Autumn 2016
CS 663: Digital Image Processing
Fisherfaces vs Other Face Recognition Algorithms
- Implemented Fisherfaces (Fisher Linear Discriminant) Algorithm for face recognition.
- Compared it with other algorithms like Eigenfaces, Normalized Correlation, 3D linear Subspaces
- Used Fisherfaces for classifying face images based on various characteristics such as the gender, accessories on face, expressions
- Link to Project page
CS 485: Research and Development Project
Motion Synthesis and Editing Using Recurrent Neural Networks
- Implemented Model for synthesizing new motion using existing motion data using deep learning techniques.
- Represented the learned motion data in form of recurrent neural network with encoder and decoder.
- The model is successfully able to learn hand-leg synchronization and many other important aspects of human dynamics.
- Used this network to generate aesthetically pleasing motion for a good duration of time.
- The above model has huge application in cleaning the recorded motion data and gap filling and in designing controller for human motion.
CS 492: B.Tech. Project
Probabilistic Model of Skeletal Structure
- Devised a compact representation of mammalian skeletons using a probabilistic grammar based model.
- The model is generative and can be used for a veriety of applications, such as inferring skeletal structure for mammals.
- Designed a grammar representation for the skeletal set, which is anatomically consistent.
- The model can also be used for generating 3d skeletal models from 2d images of skeleton.
CS 747: Foundations of Intelligent and Learning Agents
- Implemented a learning based model for an agent playing a game of carrom.
- The model is primarily based on a physics based approach collision dynamics.
- Since the environment adds error to agents decision, a parameter learning approach is implemented on top of this physics model to choose the decision least affected by error.
- Hill Climbing method is implemented to learn the optimal model parameters which gets rewards reinforced from the win of agent.
- Link to Project page
Summer 2016
Goldman Sachs Group Inc.
Rule Based System Health Monitoring
- Designed and Implemented a Rule Engine, allowing monitoring of hosts and applications running.
- Rule engine sends alerts based on the rules matching with incoming telemetry data.
- Build REST endpoints and designed User Interface on top of it, allowing users to manage rules.
Spring 2016
CS775- Advance Computer Graphics
Position Based Dynamics
- Presented the algorithm, constraints, and applications of position based dynamics used for rendering real time physics based simulations.
- Implemented and presented a real time simulation of a soft rubber like solid body using PBD solver.
- Find the project page here.
CS316- Implementation of Programming Languages
C Like Compiler
- Built a Compiler for a C like language, translating a high level language to MIPS instruction set.
- Compiler supports basic C constructs like loops, conditional statements, functions, structs, pointer.
- Used Short-circuit boolean evaluation to improve code efficiency.
- Implemented Sethi Ullman Register Allocation Scheme to make cimpiled code more efficient by minimizing memory access.
Autumn 2015
CS490- Research and Development Project
Batch-Switching Policy Iteration(IJCAI '16)
- Developed Trajectory Bounding Trees algorithm as an alternative to Hollander's Order Regular Matrices to bound the number of iterations over MDP.
- Proved the equivalency of the above two ways and that recursive tree search is more broader compared to Order Regularity.
- Formulated and implemented Order Regularity as a satisfiability problem, and found the solutions using minisat(SAT solver).
- Used the TBT algorithm over other non howard policy iterations such as simple PI etc. to get their upper bounds.
- Implemented the tree search algorithm to get upper bounds of randomized(over choosing states to be improved) policy iteration algorithm.
- Find the implementations here.
CS475- Computer Graphics
Modelling, Viewing and Animations of Objects in OpenGL.
- Developed algorithms to generate primitive shapes(and their normals) such as spheres, sectors of circles, conical frustums, cylinders using only triangle as primitive.
- Implemented Hierarchy tree to generate hierarchial models of Star wars droids.
- Used Phong shading model by interpolating normals to fragment shader.
- Implemented functionality to get linearly interpolated animation of a scene given keyframes.
- More information Modelling Viewing, Animation.
- Please, email for source codes.
CS317- Database and Information Systems
Resume Generator Application
- Designed and developed a fully functioning resume creator database application using JDBC and java backend with jsp/html frontend.
- Used normalization and indexing concepts to optimize the data access efficiency during runtime.
- The application also allowed placement coordinators to verify the resume created by the users.
- Visit project's page or read project's report
CS317- Database and Information Systems
Performance analysis of B+ trees and Buffer Replacement Schemes and Interrelations
- Experimentally studied the changes in various metrics such as time taken, L1/TLB cache misses with changes in record amount, node size, key size or orderliness of data insertion in B+ tree.
- Implemented LRU(Least Recently Used), MRU(Most Recently Used) and random buffer replacement schemes, to study their affect on database operations such as Block nested joins etc.
- Experimented for dependence of B+ tree metrics over the Buffer replacement Schemes.
- The final report and source code found here.
CS344- Artificial Intelligence
Planet Wars AI bot
- Developed an intelligent bot to play a 2-player zero sum game called PlanetWars
- Used a heuristic search to get the best next move for the bot.
- Implemented Gradient Descent Algorithm over the parameters of the heuristics to get best values of these parameters.
- Project related material can be found here.
CS344- Artificial Intelligence
Digit Recognition Algorithms
- Compared k-nearest neighbour, support vector machine, neural network algorithms for digit recognition.
- Used least training error, k value for nearest neighbor algorithm.
- Used RBF kernel for implementing SVM algorithm.
- Designed (784-30-10) layered network for the neural net algorithm.
- The final report and source code found here.
Summer 2015
Summer Research Project
Parity Games and Algorithm
- Worked over the fundamentals of parity games and exponential algorithms for solving parity and similar games. Especially Zielonka's Recursive Algorithm and Strategy Improvement Algorithm
- Worked with randomization and other techniques for improving the algorithm's complexity to subexponential expected/upper bounds
- Find the project report here.
Spring 2014
CS254- Digital Logic Design
Universal Asynchronous Receiver/Transmitter (UART)
- Designed and simulated Universal Asynchronous Receiver/Transmitter circuit(UART) in Xilinx ISE.
- Implement the simulated design on ATLYS board.
- Used Finite State Machines while implementing UART.
- Visit project's page or read project's report
Simulations of Kinesin and Dyenin Motors Over Microtubule(IJMPC '16')
- Using computer simulations to study the movement of Kinesin and Dyenin motors over Microtubule.
- Working on simulations under different cellular conditions (Viscous drag, weight of cargo etc.).
Winter 2014
Data Visualization Web Applications
- Developed web services to generate dynamic visualizations from diabetes diagnosis data.
- Used google maps API and data driven documents script to create data visualization application in a flask (python) backend.
- Worked in development of a bioinformatics tool using linear modelling over data to find useful results.
Autumn 2014
Data Analysis and Interpretation
Country-Attribute Pair Identification Using Supervised Learning
- Used statistical data of various countries as training data to extract relations expressed in random sentences.
- Assigned confidence values to these extracted data of country-value pair.
- Project's webpage
CS251-Software System Labs
Physics Simulation(Rube Goldberg Machine)
- Implemented a Rube Goldberg Machine Simulation using Box2D physics engine in C++.
- Created a GUI interface for visualization of the simulation and a non-GUI version for analysis of code statistics.
- For source code and documentation visit this project's team page.
Summer 2014
IIT Bombay
WiFiChat(Wireless Chatting Application)
- An app based on WiFi direct which allows public group chat.
- The range of the networking is not limited by WiFi range as rather than having permanent WiFi connection.
- The application dynamically create them for sending messages(creating a hopping network).
- Used Network Service Discovery to identify unsynced neighbours.
Spring 2013
CS 152-Abstraction and Paradigm in Computer Programming
Tetris
Autumn 2013
CS 101-Computer programming and Utilization
Carrom ( Physical Collision Simulation )
- Designed a GUI for a Carrom game using simplecpp library in C++, by implementing linked list
data structure.
- Implemented a Priori Collision detection method using a iterative root finding algorithm.
- Project's webpage