This repository contains a collection of computer vision projects that I have implemented. Each project is designed to showcase various computer vision techniques and algorithms.
- Autoencoders
In the Autoencoders project, you will find implementations of various types of autoencoders. I used four variations of simple convolutional autoencoders (leading to different latent space sizes) to train them on MNIST digits classification dataset and generate new data samples. I then add some noise by implementing a variational autoencoder (VAE). I compared them with their theoretical equivalents PCA and Kernel PCA. These models can used for various other tasks like image denoising, and dimensionality reduction.
- Image Blending
The Image Blending project focuses on techniques for seamlessly blending two or more images together. You can find the implementation of the popular Gaussian and Laplacian pyramid methods. I then used this technique to create a composite image.
- Image Transformations
The Image Transformations project explores various image transformations and geometric operations. You can discover implementations of operations like image rotation, scaling, translation, and perspective transformation. These transformations are essential for tasks like image registration and augmentation.
- Shift Algorithm
The Shift Algorithm project introduces a technique used in computer vision to register or align images that may have undergone shifts, rotations, or other transformations. This project provides an implementation of the shift algorithm.