Projects
A collection of machine learning and data science projects spanning computer vision, NLP, geospatial analysis, and more.
Accomplished

Self-Driving Vehicle
AccomplishedA collection of self-driving car perception and control modules built on the Udacity SDC curriculum. Implements lane line detection (basic and advanced), traffic sign classification, behavioural cloning from human driving data, sensor fusion via Extended Kalman Filter (EKF) for LIDAR/RADAR, highway path planning with jerk-minimizing trajectories, and a PID controller for steering and throttle.
Tech Stack: Python, C++, OpenCV, TensorFlow, Keras, Eigen

Deep Reinforcement Learning
AccomplishedImplementation of core Deep Reinforcement Learning algorithms applied across multiple Unity ML-Agents environments. Covers DQN and Double-DQN for discrete action spaces (banana navigation), REINFORCE policy gradient for Atari Pong, Deep Deterministic Policy Gradient (DDPG) for continuous robotic arm control, and Multi-Agent DDPG (MADDPG) for a collaborative/competitive ping pong environment.
Tech Stack: Python, PyTorch, Unity ML-Agents, NumPy

Property Classification
AccomplishedThis project is aimed to classify the type of property (Land/House) given an "Address string" or a "real-estate property image". Data is collected and integrated from several sources. Building boundaries are collected from Open Street Map (OSM) and satellite, street-side images are collected from Google Maps. Different deep learning models are employed and evaluated for different image types. Techniques of semantic segmentation and model ensembles are employed to output the best prediction given available images.
Tech Stack: Python, Scikit-learn, OpenCV, GeoPandas, Shapely, TensorFlow (GPU), Keras, Azure Cloud stack

Deep Face Recognition
AccomplishedThis application leverages Transfer Learning with Google Net (NN4 small) architecture to recognize faces given an image. It employs a multi-step approach: 1) Extracting all faces from an image using Haar Cascades, and 2) Labeling the faces with person names. The application is developed from scratch using TensorFlow and implements ideas from the Facenet paper.
Tech Stack: Python, TensorFlow, OpenCV

Credit Card Fraud Detection
AccomplishedThis project is aimed to identify credit card frauds. Pattern Recognition techniques such as Bagging and Boosting with Trees, Deep Neural Nets, Autoencoders and Bayesian methods with MCMC sampling are evaluated. The dataset is collected from Kaggle. The models parameters are tuned to have high performance in identifying fraud cases.
Tech Stack: Python, R, TensorFlow, XGBoost (Python API)

CIFAR-10 Object Recognition
AccomplishedThis project evaluates a mix of Deep Learning, Image Processing and Machine Learning models to classify objects in images. The data was collected from Kaggle. For extensive evaluation of the algorithms, only two objects were used for classification.
Tech Stack: Python, Scikit-learn, OpenCV, TensorFlow

Diabetic Readmission Analysis
AccomplishedThis project analyzes the factors that led to the early re-admission of diabetic patients and trains a model to predict whether a diabetic patient would be re-admitted within the next 30 days. The dataset was collected from the UCI repository and the data analysis pipeline was built using the PySpark framework.
Tech Stack: Spark, PySpark (MLlib), Python

Crime Rate Prediction
AccomplishedThis project experiments with and evaluates several Machine Learning algorithms. The classification task determines whether a locality is a high or low crime zone. The regression task predicts the crime rate as a continuous value.
Tech Stack: Python, Scikit-learn

License Plate Extraction
AccomplishedThis project detects and extracts license plates of vehicles given an image. The model was trained on manually cropped license plates, and bootstrapping methods were used to gather more training images. A multi-step approach extracts contours from images using image processing techniques, then classifies each contour as a license plate or non-license plate.
Tech Stack: Python, Scikit-learn, OpenCV
No Longer Active

Object Detection: Semantic Segmentation
No Longer ActiveThis project is aimed to detect objects in an image. The detection process in deep learning can be achieved in several ways. Some techniques such as YOLO (You only look once) can be performed in real-time. Whereas, other techniques such as Faster-RCNN and Mask-RCNN can be performed in near real-time and can be extended to wide variety of applications such as semantic segmentation. This project implements Faster-RCNN and Mask-RCNN object detection techniques.
Tech Stack: Python, Scikit-learn, OpenCV, TensorFlow (GPU), Keras