This repository contains the code for the projects of the Computer Vision course at ETH Zurich. I received full grades for all my submissions.
Implementation of the Harris Corner Detector, to find unique, descriptive points in images. The following images show the detected positions in red.
We can use the detected patches to match features between images. The following image shows the matches between two images using the Harris Corner Detector.
Simple machine learning classifiers for the MNIST dataset.
Training a Bag of Words model to classify images, if they contain a car (positive sample) or not (negative sample). The following are examples of images, which the algorithm is able to differentiate between.
Implemented the VGG16 model to classify images of the CIFAR-10 dataset.
Using the Mean-shift algorithm applied to the RGB space, we can segment an image into different regions. The following images show the input and output of the algorithm. The algorithm was applied to the image of the ETH building.
Implementation of a lite version of SegNet. The images below show the input and output of the network. The network was trained on a modified version of the MNIST dataset. The model is supposed to detect each digit in an image, label it accordingly, and color code all the pixels of the image according to the label.
Input:
Output:Using the Conditional Density Propagation (Condensation) algorithm to track an object in a video. The following GIF shows the tracking of a persons hands, where the blue box represents the prior belief of the position of the object, and the red box the updated posterior belief. The blue dots, represents samples from the prior belief.
Given a set of images and correspondences between them, we can reconstruct the 3D structure of the scene, by estimating the relative camera poses and triangulating the 3D points. The following images show the reconstruction of a scene using the SfM algorithm.
Example of the input images:
Resulting 3D reconstruction and camera poses:
Each camera is depicted as a blue box, and each 3D point as a black dot.