Key Projects
Image-to-Image Translation
- Implemented CycleGAN in tensorflow for an image to image translation with a U-Net based architecture with additional residual layers as a generator, and a PatchGAN discriminator to generate Monet-esque style
- Trained the model using a custom TPU strategy with MSE loss along with gradient penalty for the discriminator, while the generator is optimized with the Adversarial Loss, Cyclic Consistency Loss and Identity Loss
Wasserstein GAN
- Trained a Convolutional Generative Adversarial Network on the simple MNIST dataset to generate hand-written images of digits with improved stability by implementing Gradient Penalty on Wasserstein Loss for the critic to avoid modal collapses
- Updated the critic multiple times for every update to the generator to prevent the generator from overpowering the critic
Automatic Image Colorization
- Trained a Deep Neural Network with CNNs and Inception-ResNet-v2 using the luminate component of an image by first extracting the mid and high-level features from the encoder and inceptionnet (trained on ImageNet dataset) and merging them before passing to the decoder to estimate the ab components as described in Baldassarre et.al's Deep Koalarization paper
- Colored the image using this model by converting the predicted ab channels combined with input l channel to RGB space
Neural Style Transfer
- Implemented a Neural Style Transfer Algorithm to generate artificial images by manipulating the content image using the appearance or visual style of the style image as described in Gatys et al
- Minimized cost with the content image (as the distance between activations) and the style image (as the distance between the gram matrices) on multiple layers using a pre-trained VGG-19 CNN on ImageNet dataset
Image Segmentation
- Implemented the U-Net architecture of the encoder, decoder blocks with convolutional layers in tensorflow and trained on the CARLA self-driving car dataset with sparse categorical crossentropy for pixelwise prediction
Real Time Face Mask Detection
- Trained a CNN model using sample data from a Kaggle dataset with Convolution and Max Pooling layers to extract features, and finally classify using dense layers with softmax activation function with an accuracy of 97\%
- Classified images by detecting faces using Haar Cascade Frontal Face classifier and predict whether mask is present or not
Image Matching
- Used Scale Invariant Feature Transform (SIFT) technique to generate keypoints that are scale-invariant and rotation invariant and used these as features to match images in OpenCV
Invisibility Cloak
- Developed an invisibility cloak application using simple vision techniques in OpenCV
- Transformed the image from RGB space to Hue-Saturation-Value (HSV) space accounting for different shades and intensities of a specific shades to detect the red color cloth, and replaced the segmented red cloth with initial background
Keyframe Animation
Guide : Prof. Parag Chaudhuri, IIT Bombay
- Designed an interactive modeling tool in C++ OpenGL to create 3D models from triangle meshes
- Implemented modeling-viewing pipeline to convert the scene from 3D perspective to 2D planar view along with clipping
- Created 3D models using hierarchical modeling from scratch and animated them using Keyframe Interpolation
Regret Minimisation Algorithms
Guide : Prof. Shivaram Kalyanakrishnan, IIT Bombay
- Implemented various Upper Confidence Bound (UCB) algorithms namely UCB, $\beta$-UCB, Adaptive $\beta$-UCB, UCB-tuned for a Stochastic Multi Arm Bandit setting to analyze the regret and cumulative regret and compare performance of algorithms which take empirical variance of arms also into account to those which only consider mean
Similar Language Detection
Guide : Prof. Ganesh Ramkrishnan, IIT Bombay
- Followed a hierarchial way by dividing languages into groups using cosine similarity for feature vector with frequencies of words in training set
- Trained different Support Vector Machines (SVM) for each language group with features engineered from character n-grams and word n-grams
- Used tf-idf-qf scoring for assigning weights to elements in feature vector and used ensemble methods with mean confidence to combine the different classifiers
Optical Character Recognition & The Pac-Man Projects
Guide : Prof. Shivaram Kalyanakrishnan, IIT Bombay
- Implemented various classifiers like Perceptron, MIRA, neural networks for extracting text from scanned handwritten images
- Implemented various search algorithms for pacman agent to find paths namely DFS, BFS, Uniform Cost Search, A* Search, Minimax Search, Expectimax Search
- Implemented particle filter algorithm that tracks individual and multiple ghost agents simultaneously in Dynamic Bayes Net
Compiler for C-like Language
Guide : Prof. Uday Khedkher, IIT Bombay
- Developed a compiler for fundamental C constructs along with live variable analysis for dead code elimination
- Incorporated features like lexical analysis, parsing, symbol table creation, intermediate code generation and assembly level code generation using FlexC++ and BisonC++
Project Database Management
Guide : Prof. S. Sudarshan, IIT Bombay
- Built a java based web portal that assists in searching and applying for projects in certain area of interest using servlets, PostgreSql, Ajax in JavaScript queries
- Implemented professor and student portals where in professor can add new projects along with descriptions and accept the requests from students, student can review the projects based on his experience with the professor
SAT Solver
Guide : Prof. Supratik Chakraborthy and Prof. Ashwin Gumaste, IIT Bombay
- Developed a VHDL based module for checking the satisfiability of 64 bit clauses
- Implemented Davis–Putnam–Logemann–Loveland (DPLL) algorithm along with Maximum Occurrences in clauses of Minimum Size (MOM's) Heuristic for checking the satisfiability of a formula
Distributed Password Cracker
Guide: Prof. Kameswari Chebrolu, IIT Bombay
- Created a module that cracks password using the processing power of multiple machines working simultaneously using Socket Programming in C++
- Handled multiple client requests across different machines to a single server with multiple worker machines reliably using TCP while maintaining fairness by preventing clients from hogging resources
Branch Change Allocation
Guide : Prof. Sharat Chandran, IIT Bombay
- Implemented modified Gale Shapley algorithm for college admissions in Python
- Constraints like limits on branch-strength and reservations simultaneously maintaining fairness were handled efficiently
- Developed a Django based web application that incuded a portal for users to fill their institute preferences
PinBall Simulation
Guide : Prof. Sharat Chandran, IIT Bombay
- Designed a Rube Goldberg Machine that served the purpose for the simulation of the game by using multiple physics situations like spring forces, collisions
- Programmed in Box2D, a physics simulation engine using C++ platform
- Generated the same in a compiler independent way using cmake, a cross platform make system
Tic-Tac-Toe & Quantum-Tic-Tac-Toe
Guide : Prof. Supratik Chakraborthy and Prof. Deepak B Phatak, IIT Bombay
- Designed the popular game using Simple Cpp library by Prof. Abhiram Ranade (A C++ version by IIT-Bombay)
- Implemented multiplayer mode in Tic-Tac-Toe, Quantum-Tic-Tac-Toe and also implemented one player mode in Tic-Tac-Toe with different difficulty levels
- Used an algorithm which recursively backtracks to check the collapse of an entity in the game
Technical Proficiency
- Proficient: Python, TensorFlow, Keras, PyTorch, C/C++, Java, Slang, Bash, SQL, MS Excel
- Reasonably Experienced: OpenCV, OpenGL, MATLAB, Octave, \LaTeX, JavaScript, React
Achievements
- All India Rank 18 in JEE Advanced among 150,000 candidates2014
- Awarded AP grade* for outstanding performance in Principles of Data and System Security, Engineering Drawing and Geodesy courses2014-18
- 100 percentile in JEE Mains in B.Tech and 99.98 percentile in B.Arch among 1.4 million candidates2014
- State Rank 2 in Andhra Pradesh EAMCET, among 400,000 candidates2014
- All India Rank 64 in VITEEE out of 190,000 candidates2014
- Scored 422/450 in BITSAT Examination held by Birla Institute of Technology2014
- Among the top 300 in Indian National Astronomy Olympiad (INAO)2014
- Awarded certificate of merit for top 1% in National Standard Examination in Physics (NSEP)2014
- Attended Vigyan Jyoti Shivir (Vijyoshi Camp) at Indian Institute of Science, Bangalore (IISc)2013
- Among the top 35 and qualified to India finals in Indian National Junior Science Olympiad (INJSO)2012
- State Rank 3 in Maths Olympiad by Andhra Prasedh Association of Mathematical Teachers (APAMT)2011
*An AP grade is given to at most 1% of total students in a batch for excellent performance in the course
Specializations & Courses on Coursera
Courses at IIT Bombay
Spring 2017-18
- Biomedical Microsystems
- Geodesy
- Human Cognitive Processes
- Principles of Data and System Security
Autumn 2017-18
- Computer Graphics
- Environmental Studies
- Environmental Studies: Science and Engineering
- Foundations of Intelligent Agents
- Introduction to the Study of Language
- Philosophy of Religion
- Prof. Parag Kumar Chaudhuri
- Prof. Parameshwar B., Prof. Krishnan N., Prof. Neha Gupta
- Prof. Anurag Garg, Prof. Harish Phuleria, Prof. Sanjeev C.
- Prof. Shivaram Kalyankrishnan
- Prof. Vaijayanthi M. Sarma
- Prof. Parameshwar B., Prof. Pravesh J. Golay
Spring 2016-17
- Artificial Intelligence ( + lab)
- Automata Theory
- Foundations of Machine Learning
- General Topology
- Implementation of Programming Languages ( + lab)
- Introduction to Numerical Analysis
Autumn 2016-17
- Basic Algebra
- Computer Architecture ( + lab)
- Databases and Information Systems ( + lab)
- Operating Systems ( + lab)
- Psychology
Spring 2015-16
- Complex Analysis
- Computer Networks ( + lab)
- Design and Analysis of Algorithms
- Digital Logic Design ( + lab)
- Economics
- Logic For Computer Science
- Prof. Sandip Singh
- Prof. Kameswari Chebrolu
- Prof. Abhiram G. Ranade
- Prof. Supratik Chakraborthy, Prof. Ashwin Gumaste
- Prof. Pushpa L. Trivedi, Prof. Puja Padhi
- Prof. Krishna S.
Autumn 2015-16
- Algorithms and Data Structures ( + lab)
- Data Analysis and Interpretation
- Discrete Structures
- Introduction to Electrical and Electronics Circuits
- Real Analysis
- Software Systems Lab
Spring 2014-15
- Abstraction and Paradigm in Computer Programming (+ lab)
- Basics of Electricity and Magnetism
- Biology
- Differential Equations
- Linear Algebra
- Mechanical Workshop
- Physics Lab
Autumn 2014-15
- Chemistry Lab
- Computer Programming and Utilization
- Engineering Graphics & Drawing
- Introduction to Calculus
- Organic and Inorganic Chemistry
- Physical Chemistry
- Quantum Physics and Applications
