Motion segmentation - Dec 2010 till date

Click here for detailed page and results from motion segmentation

Moving camera systems (hand-held cameras, automobile cameras)

Most existing algorithms use optical flow - the motion of pixels in the image plane, for segmenting objects in moving cameras. We use optical flow in a new algorithm that uses Dirichlet Processes to automatically estimate the number of moving objects and their motion parameters in a non-parametric model. Here is our ICCV 2013 paper describing the system.

We are investigating the integration of segmentation with the optical flow estimation process.

Stationary camera systems (Background modeling)

[code] [data set]

By separating the various components of a background modeling system which are the background likelihood, the foreground likelihood, and priors for background and foreground, we developed a very simple and intuitive probabilistic model for background modeling described in this paper. Another key feature in that we explicitly model spatially dependent priors in our model.
We describe certain strenghts of our model over earlier successful models, in particular the joint-domain range model, in our BMVC 2012 paper
Most existing methods do not adapt the variance parameter in their model for each pixel and this can cause errors. We propose a pixel-wise variance and describe an adaptive method for variance selection in our CVPR 2012 paper.
Here are some videos comparing our results to the earlier state of the art (Our results are in the last row of each video)

Face-related projects - May 2008 till May 2009

Face detection, pose estimation, alignment

UMass vision lab is known for its work in face-related research, particularly in unconstrained settings. I have investigated several aspects of face research including improving detection, estimating pose, and performing alignment.

One such project was, in collaboration with Gary Huang, a face pose estimation algorithm. Face pose is very important in identification tasks. Surprisingly good pose estimates can be obtained without any complicated detectors for face features like the nose or jawline. The algorithm consists of a CRF classifier that labels pixels in the image as hair/skin/background followed by a polynomial regression for face pose. [paper]

Plankton Analysis - Sep 2007 till May 2008

Classification of plankton images taken from the ocean

I worked on the Bigelow project that identified plakton types from images.

Planktons are the smallest living beings in the ocean and are critical for the ocean ecosystem for various reasons. An automatic system to identify and count the number of different types of zoo and phyto plankton is a powerful tool for a marine scientists. At UMass, we developed such a system and also new algorithms to achieve accurate results. Our data comes from underwater images, and from a computer vision point of view, the task is extremely challenging.

KU Video Analysis - Jan 2006 to June 2007 , University of Kansas

Efficient tracking of moving objects in surveillance video

For my Masters thesis and research, I worked on intelligent algorithms and image processing techniques for automatic video surveillance.
I developed an interesting way to roughly estimate 3-D depth in the scene with a concept called Vicinity Factor for improved tracking and segmentation. The basic idea is to use tracking to estimate the spatial smoothing threshold when merging broken regions into a larger object.
With no prior work in tracking at the University, the KUVidAnalysis work was aimed at kickstarting a surveillance and tracking research group at Kansas.

My honors thesis "Automatic Tracking of Moving Objects in Video for Surveillance Applications" can be found here. Part of the work was accepted at the Object Tracking and Classification in and Beyond the Visual Spectrum (OTCBVS) workshop at CVPR 2007 Minneapolis. Here is the paper - A Bayesian algorithm for tracking multiple objects in surveillance video.


KUBESAT Balloon Satellite - May 2005 to Dec 2005, University of Kansas

Development of a new generation balloon system to support the Honeywell corporation funded Nanosatellite called KUBESAT

  • Lead Avionics Engineer in a team of 5 members
  • Design and development of avionics, software, and structure for HABS that is responsible for the deployment and recovery of KU's Balloon Satellite
  • Led the development of the newer generation (HABS-3) system with improved power system, additional robustness to failure, better interfaces, and improved software
  • The balloon satellite system is capable of deploying a satellite upto a height of 100000 feet above the earth and is required to recover the satellite after each launch
  • The HABS-3 system was the most efficient and robust system at KU

One of the most challenging and interesting projects I have worked on. Lab work was one thing, but the launch and recovery of the balloon satellites was something else. After detailed weather analysis and predictions, we would launch the balloons and then chase the balloons in vans while locking on to the emitted radio signal from the HABS system. The chases were "twister" style (The Jodie Foster movie) and very exciting. On one such chase, one of our vans even had a road accident (no injuries)!

KU Bioinformatics

I got first interested in AI and Machine Learning by working with Dr. Xue-wen Chen in the KU Knowledge Discovery in Bioinformatics group.

I worked on Protein Sequence Alignment (SAGA, CLUSTAL, HMMer) and Feature Reduction in Breast Cancer Data using Support Vector Machines (SVMs).

Course Projects

Classification of Trading Strategies in Adaptive Markets - Machine Learning course project [report] [presentation]

Classified behavior patterns of trading agents in the CAT agents tournament enviroment by using Support Vector Machines and Hidden Markov Models

Detection of video shot transition boundaries using various algorithms

Implementation of Motion Compensated DCT compression in video frames Implemented using C++ language and KU Image Processing Libraries

Automated text categorization using Support Vector Machines

Used Support Vector Machines (LIBSVM) to categorize a two-class text corpus

Word sense disambiguation using Naive-Bayes classification

Disambiguation of word pairs, implemented using C++

Statistical analysis of corpus of words for Natural Language Processing applications

Study of statistics involved in human language for further applications like Speech generation and Machine Translation

Building a Information Retrieval engine from scratch for learning purposes

Course project for Information Retrieval class

Feature elimination in breast cancer data with Recursive Feature Elimination method using LIBSVM

A feasibility study in use of Support Vector Machine (SVM) based RFE feature elimination in breast cancer patient data

Hierarchical Neural Network for classification of rock facies data from Kansas Geological Survey department

Used a hierarchical Neural Network approach to classify rock data to identify oil bearing rocks

Classification of radar data from Boeing and Airbus airplanes using Neural Networks

Classified radar signature data obtained from airplanes using Neural Networks on MATLAB platform

Analysis of Multiple Sequence Alignment methods

A detailed study and performance comparison of various Protein Alignment algorithms Quickly learned theory and implementation of diverse algorithms: Saga, Clustal and HMMer

Programming Rugwarrior and Palm Pilot Robot Kit (PPRK) for various automated tasks

Designed and implemented various algorithms for robot competitions like Maze traversing, Robot Football, Robot Races, Robot Sumo