Skip to content

About

Selected computer vision projects covering camera calibration, image processing, segmentation and CNN-based image classification.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Computer Vision Projects

A collection of selected Computer Vision projects developed during the Computer Vision course at Warsaw University of Technology (WUT) as part of the 2025–2026 Erasmus+ academic year.

The repository includes three projects covering:

  • camera geometry and calibration
  • classical image processing and segmentation
  • convolutional neural networks for image classification

The projects were selected to show a progression from geometric computer vision and traditional image processing to deep learning.

Projects

1. Camera Geometry and Calibration

Folder:

camera-geometry/

This project focuses on the geometric foundations of computer vision, including:

  • pinhole camera geometry
  • camera calibration
  • intrinsic and extrinsic parameters
  • perspective projection
  • 3D-to-2D coordinate transformations

The project includes saved MATLAB calibration data and a complete technical report.

View project details


2. Image Processing and Segmentation

Folder:

image-processing-segmentation/

This project implements a classical computer vision pipeline for detecting and tracking a colored object across image sequences.

Main techniques include:

  • camera undistortion
  • Gaussian smoothing
  • color-based segmentation
  • binary mask refinement
  • object localization
  • 2D trajectory extraction
  • approximate 3D position estimation
  • trajectory visualization

The implementation is written in MATLAB and uses saved camera calibration parameters.

View project details


3. Convolutional Neural Networks for Image Classification

Folder:

convolutional-neural-networks/

This is the deep-learning-focused project in the repository.

It explores neural-network-based image classification using TensorFlow/Keras on:

  • MNIST
  • Google Quick, Draw!

The project compares dense and convolutional architectures and includes model adaptation, data augmentation, evaluation and feature-map visualization.

Results

The convolutional model achieved approximately:

MNIST test accuracy: 98.9%
Quick, Draw! test accuracy: 91.8%

The Quick, Draw! experiment uses 10 object classes:

pizza
cannon
ambulance
bulldozer
swing_set
baseball_bat
zebra
bridge
cactus
matches

Training Result

CNN training results

Quick, Draw! Confusion Matrix

Quick Draw confusion matrix

The confusion matrix shows strong diagonal concentration across the selected classes, indicating generally consistent classification performance.

View project details

Repository Structure

computer-vision/
├── camera-geometry/
│   ├── camera_calibration.mat
│   ├── camera_geometry_report.pdf
│   └── README.md
│
├── image-processing-segmentation/
│   ├── cameraParams.mat
│   ├── image_processing_segmentation.m
│   ├── seq_calib/
│   ├── seq_flat_many/
│   ├── seq_flat_single/
│   ├── seq_tex_many/
│   ├── seq_tex_single/
│   └── README.md
│
├── convolutional-neural-networks/
│   ├── cnn_image_classification.py
│   ├── cnn_results.png
│   ├── confusion_matrix.png
│   └── README.md
│
├── requirements.txt
├── .gitignore
└── README.md

Technologies

Python / Deep Learning

  • Python 3
  • TensorFlow
  • Keras
  • NumPy
  • Matplotlib
  • scikit-learn
  • Seaborn

MATLAB / Classical Computer Vision

  • MATLAB
  • Computer Vision Toolbox
  • Image Processing Toolbox

Topics Covered

  • camera geometry
  • perspective projection
  • camera calibration
  • intrinsic and extrinsic parameters
  • image preprocessing
  • filtering
  • image segmentation
  • morphology
  • object tracking
  • 2D and 3D geometric estimation
  • neural networks
  • convolutional neural networks
  • image classification
  • data augmentation
  • confusion matrices
  • feature-map visualization

Running the CNN Project

Create and activate a virtual environment:

python3 -m venv .venv
source .venv/bin/activate

Install dependencies:

python3 -m pip install -r requirements.txt

Run the CNN experiment:

python3 convolutional-neural-networks/cnn_image_classification.py

The Quick, Draw! data is downloaded automatically when needed and is excluded from version control.

Academic Context

Developed for the Computer Vision course at Warsaw University of Technology (WUT) during the 2025–2026 Erasmus+ academic year.

Selected projects included in this repository:

  • Task 1 — Camera Geometry
  • Task 2 — Image Processing and Segmentation
  • Task 7 — Convolutional Neural Networks

Author

Álvaro Buendía Senise

About

Selected computer vision projects covering camera calibration, image processing, segmentation and CNN-based image classification.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages