## Neural Nets II

In this project, we build ANNs using tensorflow library as an extension to ann-numpy repo where I build ANN architecture from scratch in numpy....

## Two View Geometry

In this project, I extend the feature matching and camera calibration methods to computing camera poses in a two view scenario. This is the first of the series where we deal with computing camera extrinsics from 2 images....

## Panorama II

This project improves on native OpenCV Stithcing pipeline for large > 10 images. Adds option of --match_type adjacent for adjacent pairwise images to avoid multiple handshakes. Some examples:...

## Motion Tracking

This project implements motion tracking with initial random features using optical flow algorithms in OpenCV python. Sparse flow using Lucas Kanade...

## Neural Nets I

This project is an exercise in building ANN architectures from scratch and writing Backpropagation in numpy. MNIST: Our numpy ANN with 1 hidden layer with only 30 nodes on 10 classes handwritten digit MNIST dataset achieves test error of 4.4% (accuracy 95.6% !!). ...

## Camera Calibration II

In my previous project, we did manual calibration assuming pinhole model. However, for real world cameras, distortions are always present to a degree. In this project we utilize OpenCV camera calibration method that deals with radial and tangential distortions. ...

## Camera Calibration

In this project, I use simple manual camera calibation method. The setup is as follows: Assuming pin hole camera, we can utilize similar triangle methods(see below), and can come up with focal lengths equation: # fx = (dx/dX) * dZ , fy = (dy/dY) * dZ where dX, dY are the physical length & width of the object in view and dZ is the distance from object to camera. dx and dy are the corresponding pixel width & height of the object...

## Hypothesis Testing III – Bayesian Methods

This project is third in the series of Hypothesis testing project whereby we use Bayesian Methods. Here we reformulate the AB testing problem into MultiArm Bandit and implement 4 widely used algorithms: Epsilon Greedy, Optimistic Initial Conditions, UCB1, and Bayesian (Thompson) Sampling for the AB testing. We then compare and contrast the performance of the algorithms wrt the Bandit problem....

## Hypothesis Testing II – Gaussian Mixtures

In this project, we observe distributions of a read world data. The data comprises of Stock prices of "Google" from year 2014-2018. We will compare normal and t-distributions to fit the observed values. Finally, we will try Mixture of Gaussians to fit the data and note scope and limitations....

## Features Matching II & Homographies

This project implements feature generation and matching using OpenCV library. We observe two classes of object types: The first is solid cube shaped object such as a cereal box that is ideal for homography transforms and post processes. The second is deformable object such as a bag of chips that can be physically distored between two images and homographies and post processing may fail on them. In this project we observe the usage of optical flow on the 2nd category to check viability of estimating such distortions....