Projects

nerf
Structure from Motion & Neural Radiance Fields

⇒ Reconstructed a 3D scene, while simultaneously obtaining the camera poses of a monocular camera w.r.t. the given scene. A Triangulation - PnP - Bundle Adjustment pipeline was used to accomplish the task.

⇒ Implementation of the original NeRF paper: synthesized novel views of complex scenes by optimizing an underlying continuous volumetric scene function using a sparse set of input views.

Tech stack: Python, OpenCV, Pytorch | Github link

pb-lite
Boundary Detection & Object Classification

⇒ Developed a simplified version of pb (probability of boundary) method, which finds boundaries by examining brightness, color, and texture information across multiple scales.

⇒ Investigated ResNet, ResNeXt, and DenseNet architectures on image classification. Compared the architectures on various criteria, including train and test set accuracies, and computational complexity.

Tech stack: Python, OpenCV, Pytorch | Github link

autopano
AutoPano

⇒Created panoramas by stitching images together by first creating feature descriptors and then matching the features.

⇒ Solved the problem of accumulated homography errors when stitching a lot of images by using cylindrical projections along with ordered stitching

Tech stack: Python, OpenCV, Pytorch | Github link

Lane Detection
Lane Detection & Turn Prediction

⇒ Detected lanes and estimated turn using probabilistic hough transforms and sliding window approach.

⇒ Applied histogram equalization to balance out images with high contrast, and used historical data to predict lanes in scenes with extreme contrast.

Tech stack: Python, OpenCV | Github link

A* algorithm
A* Algorithm

⇒ Implemented A* algorithm for moving a non-holonomic robot from one location to another, and simulated the planner using ROS and Gazebo.

⇒ Demonstrated the planner using Turtlebot3, optimizing the code to win ENPM661's Turtlebot competition at UMD.

Tech stack: Python, OpenCV, ROS | Github link