These are some Jupyter Notebooks of the things I did in my Computer Vision Class (CSE327).
Homework 1 deals with basic concepts of low-level Computer Vision, like Gaussian Filters, Sobel Edge Detectors and Canny Edge Detectors.
Homework 2 deals with using SIFT features to detect keypoints between 2 images and warp one of them to align with the other one. It also deals with stiching images using SIFT features to create something like a panaroma. Lastly, we use Histogram of Gradients feature representation for object recognition using Support Vector Machines (SVMs).
Homework 3 deals with understanding the point of having different feature representations and different classifiers and how different combinations result in different accuracy for Scene Recognition.
Homework 4 deals with getting myself accustomed to using Neural Networks as a part of high level vision either by making a model from scratch or by finetuning an existing Neural Network or by changing an existing network to use as a Feature Extractor/ Feature Representation for an SVM classifier.
Here, we are take 25 frames from a video and try to identify what action is happening in the video. We change an existing network to take out features from the frames, save them and later classify them using an SVM as well as using an LSTM-based RNN and see the differences.