23960 BPO Way,
Piscataway, NJ - 08854
A highly motivated Software Developer seeking internship as an Applied Researcher in the field of Machine Vision and Statistical learning.
Human Activity and Emotion Recognition using Graphical Models
Worked on activity recognition of human based on 2D features of silhouettes obtained from monocular video sequence. Incorporated features that could represent contextual dependencies efficiently in conditional graphical models. Worked on recognizing emotional state of an actor using hand and head movement. The state to be recognized were agitated, controlled and relaxed.
- Implemented Conditional Random Fields with contextual features for better recognition.
- Implemented Maximum Entropy Markov Model using softmax function learnt using IRLS(iterative reweighted least square).
- Implemented Multi-Level HMM to recognize emotional state. The output sequence of states from lower level HMM feed the next higher level HMM. Token passing algorithm was used to find most probable sequence of states.
- Worked with dimension reduction techniques - Laplacian Eigenmaps, Kernel PCA, Kernel Dependency Estimation and Pre-Image Learning.
- Worked with background subtraction using non-parametric kernel density to extract human silhouettes.
Learning to Reconstruct 3D motion from 2D monocular view
The project involves mapping 2D motion to 3D space using statistical learning models. We use discriminative approach to model the tracking by learning mapping from 2D features to 3D poses using multimodal probability distributions. Bayesian mixture of experts are used to learn mappings as a set of function approximators using EM algorithm. The densities are modeled as mixture of gaussians. Tracking was done by marginalizing densities over previous states. Responsibilites implemented
- Generated motion capture database for controlled testing by creating a Human model in MAYA and importing motion to it.
- Implemented Shape Context by extracting the outermost contour and tracing it using DFS and 8-connected neighbors.
- Implemented Pairwise Geometric Histogram using internal edges of the image obtained from Canny Filter.
- Implemented K-means clustering and K-nearest neighbor classifier for reducing the dimension of the shape.
- Implemented mixture models including Clusterwise Regression, Linear mixture of Experts and Bayesian Mixture of experts
- Implemented Sparse Bayesian Regression model for multi-way classification.
- Worked with regression models to compare results. Models Include Generalized Linear Models, Relevance Vector Machines and Support Vector Machines.
- Implemented Deformable models using parametric super-quadrics and using Kinematics to deform the model under constant force.
Technologies used: Maya 5.0, MFC for GUI and C++, OpenCV and OpenGL. Image processing was done in Matlab and MEX to interface with C code. Statistical Models were implemented in Matlab.
Worked on printing framework for the mentor graphics tools (front end and backend EDA Tools). Involved in high level analysis and design of the framework. The framework provided APIs to develop interface for specifying electronic design, printing to the printer, generating a preview or converting it to the PDF document. Responsibilities successfully implemented:
- Analyzed printing process on UNIX platform.
- Wrote driver routines to communicate with serial printer.
- Wrote routines to communicate with RIP (Raster Image Processor) for bidirectional PS and HP network printers using PJL and PCL.
- Installed and studied CUPS (Common Unix Printing Solution), LPD (Line Printer Daemon) and LPR as a part of project feasiblity analysis.
- Designed APIs for the Graphics Kernel System based on Windows GDI+ and WxWindows GUI framework
- Designed GUI for printing framework using windows MFC programming.
- Wrote Functional Specification of the framework
Technologies used: VC++(6.0), MFC, Socket programming (UNIX), PS2, HPGL/2, PCL, PJL, Rational Clearcase (IBM).
PREVIOUS RESEARCH (COMPILERS)
Performance Prediction and Micro-benchmarking
Developed tool to accurately predict the execution time of 'For loops' in a C program. The tool used execution times of prominent time
consuming operations and computed execution time of 'For loops'. The 'For loops' were first vectorized by finding dependences between the array references and then used in computing the number of iterations in each for loops.
- Wrote benchmarks to compute time of execution of single C instructions for arithmetic operations (add, subtract, multiply and divide) and cache operations.
- Implemented Depth First Search (DFS) to obtain Singly Connected Components (SCC) in 'For loop' statements.
- Vectorized the 'For loops' by analyzing dependences between execution statements.
- Implemented tool to compute number of cache and arithmetic operations in the 'For loop'.
- Implemented a tool to predict the execution time of 'For loops' on a local machine (Skiff workstation) and remote machine (Pentium II).
Technical report (To be submitted): PS
Technologies used: C++, SUIF2, SKIFF workstation with SA-110 StrongARM processor, LINUX OS.
User Level Thread Library
Implemented User Level thread library similar to POSIX PThreads. The interface functions were same as PThreads. The thread scheduling
was done by stride scheduling algorithm. The library functions included thread creation and killing routines, synchronizing routines -
mutex, condition variables and semaphores.
Distributed File Server
Implemented centralized and decentralized Distributed File Server. In centralized DFS, a central server takes all the request and
redirects to any backend server. In decentralized DFS the request can go to any of backend servers depending upon the load on each server. The servers were run on 4 different Sun Solaris machines. The servers communicated amongst themselves or with central server to replicate
frequently accessed files. The consistency was maintained by write through policy for every write request. All the communications were done using TCP.
Reliable Connection Over UDP
Implemented reliable connection over User Datagram Protocol which included adding features of TCP to UDP packets. The features like positive acknowledgement, timeout and retransmit, sequencing, duplicate detection and flow control were programmed using datagram packets.
File Replication and access optimization
Worked on Red Hat Linux 6.2 Kernel to modify IDE hard disk driver for file replication and file access optimization. The modified kernel
monitored the frequently accessed files and replicated these files. When file is accessed later, depending upon the current position of head, the head was moved to nearest file copy block.
Worked on data mining project to provide GUI to SQL queries using JAVA Swing and IBM Visual Age tool. Responsibilities implemented:
1. Generated Relational database for the various entities and relations.
2. Wrote perl scripts to feed data into mySQL database.
3. Developed interface using Java Swing and IBM Visual Age as front end tool to generate SQL queries and OLAP queries.
4. Executing an SQL query by connecting to the database server using JDBC driver and displaying the result set.
Law Governed Interactions
Worked on LGI(Law Governed Interaction) using moses toolkit and Java clients. Clients interacted with each other by passing messages governed by PROLOG laws through controllers assigned to each client. The controller server stored the laws which had to be downloaded by the controllers. The framework simulated buying and selling of tickets between clients and vendors by bidding. Both
automatic and manual implementation was implemented using Java Swing GUI.
Designed and Implemented Web based Library System. A database of all the books and journals in a library were created and all the transactions like issual, returns, maintaining user accounts, search, were carried out through web. Oracle database was used to store information about books and journals in a relational database. CGI programming was done using JDBC and Java Servlets.
Bachelors in Computer Science and Engineering May 2000
Indian Institute of Technology (IIT) - Bombay.
List of Publications