I am a final year Undergraduate student of Computer Science and Engineering at Indian Institute of Technology, Delhi. Life here is really exciting- working on new things, exploring new topics, and hearing new ideas every day.
On the whole, I love to code and am an enthusiastic coder. In general, I am highly enthusiastic about learning new things and trying out new ideas. My hobbies include robotics, competitive coding and chess. I am also an avid reader. I actively participate in sports, and run and swim to keep fit. I love to listen to western classical music . I also enjoy watching movies and TV series. I absolutely adore good food (which is sadly not very abundant here at IITD).
I am interested in artificial intelligence and machine learning in general, and deep learning in particular. I am currently working with Prof. Mausam as part of the Data Analytics and Research Group (DAIR), IIT Delhi, on developing deep algorithms for planning. As of now, I am excited about deep reinforcement learning, meta learning, few shot learning, concept learning and lifelong learning. I am also greatly interested on the application side of AI, specifically in robotics and automation. The projects I have undertaken and the activities I have participated in reflect my varied interests.
University of Southern California - Prof. Joseph Lim 's Lab
- Developed a semi-supervised GAN architecture for action recognition in incomplete videos
- In unsupervised setting, embeddings were trained on the task of input reconstruction and future prediction.
- In supervised setting, embeddings were used for action classification.
- Used a deep autoencoder network to obtain a condensed representation of face images (obtained from video)
- Implemented agglomerative clustering with hybrid parameters on feature vectors to separate individual faces.
This was able to predict person from a new face irrespective of scale, intensity and orientation.
- Indexed labeled faces found in videos to make them search-able by name.
- Implemented and deployed an identity verification, background check, and forgery detection system as part of a team at Signzy Technologies. (This product was awarded the 'most innovative solution' award by the Reserve Bank of India)
- Preprocessed identity card images to correct intensity variation and orientation, and used machine learning together with a rule based expert system to extract specific fields from a generic id card.
- Extracted face from id card and returned match confidence with live image for identity verification.
- Trained a machine learning model to detect image splicing and other forgery techniques in identity cards.
Deep Reinforcement Learning for Planning
- Developed a deep RL architecture which leverages information about planning domain (MDP problems in RDDL representation) ( report )
- Both graph structure and transition model are leveraged to learn better embedding for state.
- Model incorporates ideas from classical planning, A3C, model-based RL, auxiliary tasks, exploration, multi-task learning and transfer learning
- Devloped another deep RL architecture to transfer easily to different instances of the same domain. ( report )
Semi-Supervised Drone Swarm for Disaster Management
- Developed autonomous navigation capabilities in drone in outside aerial environment.
- Developed low-memory footprint deep learning based onboard vision system for human identification in drone.
- Developed algorithms for efficient searching using drone swarms.
- Developed an interface for a human supervisor to control a drone swarm remotely using VR.
- Project was one of the few projects selected as part of the Discover-and-Learn program at IIT Delhi
Complete system for autonomous driving for IITD campus
- Developed modules for free space modeling, local path planning, and localization.
- Developed and implemented real-time algorithms for road and lane detection, obstacle/ pedestrian/ road sign detection, localization, and planning for successful fully autonomous navigation in IITD campus
- Team was among the final 12 (out of 260) selected for the Mahindra RISE Driverless Car Challenge
Autonomous navigation in indoor environments
- Improved and calibrated distance and angle measurements for precise control of bot movement.
- Performed free space modelling for detection of empty area and obstacles.
- Developed an algorithm for local path planning given high confidence free space and obstacles.
Video Search Framework
- Developed an LSTM encoder-decoder network to learn video embeddings for action recognition.
- The network consisted of an LSTM encoder, two LSTM decoders for input reconstruction and future prediction, and one LSTM classifier network. The loss was a sum of the reconstruction loss, future prediction loss, and classifier loss.
- The search engine indexed the database videos as a sequence of embeddings by performing shot detection on the videos, and constructing an embedding for each shot (using trained LSTM network). For an input video, an embedding was constructed using the network, and its nearest neighbours were found among the embeddings of the database videos.
Bot for playing TAK game
- Developed a bot to play the TAK board game on boards of size 5, 6, and 7.
- Implemented several search techniques such as alpha-beta search, MTDF, etc. and improved search efficiency and pruning using iterative deepening, selective extension, null move pruning, probabilistic cuts etc. to search the game tree. Transposition tables were also used for efficient implementation of search.
- Implemented a comprehensive evaluation function to evaluate board position by taking into account stacks, groups, threats, influence etc. Weights of each component were tuned to improve evaluation. A bitboard representation of the game state was used to improve efficiency of evaluation function.
Language Correction using Recurrent Neural Networks
- Used a sequence to sequence RNN to perform language corection on data from CoNLL-2013 challenge.
- Problem was modelled by both considering a sequence of characters and sequence of word embeddings.
- Final model used a sequence to sequence model with an attention mechanism on embeddings obtained from word2vec.
Classification of fashion dataset
- Trained a deep network (variation of caffenet) in caffe to categorize a dataset (catalogue of online fashion site) into 16 categories, as well as to learn pose invariance between categories.
- Trained a siamese network as well as an autoencoder to learn similarity between products(invariant to pose and scale) in both a supervised and unsupervised environment.
- The dataset was augmented to increase training accuracy, and then balanced by sampling equal data from all classes.
- Accuracy was increased while keeping overfitting in check using regularization, dropout, pretrained networks, fine-tuning learning rate, momentum etc.
Resource allocation system
- Developed a program to allocate regions to companies based on bid amounts and regions, such that revenue collection from region allocation was maximized.
- Modeled problem as a local search as well as a constraint satisfaction problem. Used techniques such as stochastic gradient descent, beam search, randomized greedy climbing, ant colony optimization, genetic algorithms etc. to find global maxima.
- Used several methods such as shoulder handling, randomization, etc. to escape local maxima during search.
Virtual assistant for mobile
- Used natural language processing to classify messages sent by user into one of 128 categories.
- Generated FSMs for each category to send messages to user to get remaining details and take actions (as part of automating operations).
Cloud based backend for IoT applications
- Developed a home automation system using openhab. Mqtt was used as a lightweight protocol to communicate between nodes. (Raspberry pi was used as a server to control communication between nodes)
- Developed an app to control devices at different levels in the system. The app also received notfications on particular ouputs of sensors. (Eg. to detect fire, excess electricity usage, gas leak, dog barking etc.)
- Extended openhab to develop a flexible and scalable cloud-based service backend for IoT applications.
Compiler for imperative language
- Implemented a compiler for a simple imperative programming language in Haskell.
- The compiler had a lexer, parser, AST generator, code generator. Basic library functions were also implemented which could be used by the program and would be used for code generation by the compiler.
- The compiler also had a framework for determining error at each stage in compilation.
IITD complaints management app
- Worked in a team of 3 to develop an android application for managing complaints at IIT Delhi.
- The backend was developed using the Codeigniter framework and was exposed to the app via RESTful APIs.
- The app had separate complaint submission and resolution systems for personal, hostel and institute level all provided inside a single application, as well as features such as discussion threads, commenting, notifcations etc.
App to aid visually challenged people
- Used preprocessing techniques such as local adaptive thresholding to convert image (taken programmatically from mobile camera) into a suitably clear binary image so that OCR can be applied.
- De-skewing of image (in 3D) and noise filtering was done to increase the accuracy of the OCR.
- Tesseract open source library was used to perform OCR on preprocessed image.
- Google text to speech API was used to convert the obtained text to audio. Google translate API was also used to provide a choice of language to user.
- This application is being developed as a product in a contest organized by Goldman Sachs to aid visually challenged people. The app can be used to read any label, title newspaper, book etc. in real time.
Web service to connect lawyers to clients
- Worked in a team of 3 in developing a web-based application to reduce the communication gap that exists between lawyers and clients. (hosted on local server).
- Developed secure backend using codeigniter3 framework to protect against SQLi and xss attacks.
- Used Google Maps API to paste new labels on the map, display places in search results on map, find shortest paths, etc.
Autonomous Robot for playing brick breaker game in virtual arena
- Worked in a team of 4 to develop a bot to compete in event Aughit in Kshitij, 2015 (technological fest of IIT Kharagpur) according to pre-determined problem statement. The team reached the final round and also won the best algorithm award.
- The bot had to play the brick breaker game in a virtual arena. Image processing (template matching) using matlab was used to detect the position of bricks, paddle and ball. Matlab was also used to predict the final position of ball.
- A GUI for the game on windows was later built and the bot was used to play it. (demonstrated in open House IITD)
SD-09, Girnar House,
Or reach me via