Engineering/Research Projects
Here are a range of selective projects done during my undergraduate years and while in the industry.
-
Multi-Agent Framework for Advanced Data Analysis
[Slides]Developed a chat assistant which interacts with the user and performs Advanced Data Analysis (ADA) tasks for a given query and data file. Our approach uses multiple agents interacting with one another in a Finite State Machine network. We use OpenAI's Assistants API with custom external function calls (PROSE tools) as agents. We also implement a versatile File Management System which allows plugging in custom functions easily that cannot access the remotely edited file. With our design, the model achieves better accuracy, engages in useful conversations, and improved file ingestion and wrangling.
-
Graph-based Policy Network for Pseudo-Relevance Feedback
[Report]Improved upon the work of Montazeralghaem et. al., by replacing the DNN-based policy network design with a Graph Neural Network (variations of GAT and EGNN) on a relevant document retrieval task. The GNN architecture exploits pre-trained embeddings to establish semantic relations between the retrieved document and the user query. The policy network was trained using REINFORCE algorithm. Our design performed better by ~5.10% MAP (Mean Average Precision) on TREC678 dataset over the baseline referred above.
-
Explainable Bayesian Machine Learning
[Report]Performed a comparison of explainability offered by a Vanilla CNN model by keeping the model parameters either fixed or probabilistic. Used Lime library to obtain heat maps for image explanation. For probabilistic technique, we used Bayesian Inferential techniques to obtain a distribution on the model parameters. We trained such that the model parameters achieved maximum a posteriori. The weighted average of all models are taken and compared with the maximum-likelihood (deterministic) model. Through the probablistic results, we were able to identify areas of doubts better than deterministic (which were stringent), allowing future research on how to better tune the models in adversity.
-
Cheque Classification using OCR
[Work done in Piramal Finance (confidential)]Used an Optical Character Recognition technology to extract texts, structures and bounding boxes from cheque images. This information was assimilated and heursitics were designed which helped identify Balance Transfer cheques and their destination bank of transfer. This exercise introduced an automated way to store cheque information in the company's database, having an accuracy of ~87%.
-
Automated Customer Call service through TTS and RVC
[Work done in Piramal Finance (confidential)]Implemented an automated call service for large scale information distribution to customers/employees in the voice of important designation holders. Used a standard Text-To-Speech (TTS) model for obtaining an audio sample for a dynamic text. This mp3 audio sample is channeled through a trained Retrieval-based Voice Conversion (RVC) model to get a voice mimic version. This message was relayed through voice calls to individuals containing important announcements or messages. This effort mitigated the need for the actual speaker recording the voice, and was also put into practice by the cutomer service team.
Android Games
I enjoyed my time developing games and applications during my undergradute years. Among many interesting projects, here are two which made it to the Google Play Store for people to enjoy and play.
-
Ricksy Run
[Link] [Code]A platformer game where the player has to overcome challenges by making use of two portals to travel. The blue portal is for entry, which transports the player to the position of the exit portal. A mind teaser, this game is the highest grossing app ever released by Computer Graphics Society, IIT Kharagpur. The character and enemy motion is controlled through C# script. The character was rigged with bones for animation. Inverse Kinematics was applied to give a realism to the motion of the limbs. The game UI/UX was coordinated (ordering of levels based on their difficulty) using simple C# script.
-
Bubble Meow't
[Link] [Code]The player has to drag the character in the game across the screen in such a manner that it remains inside a special bubble. The blue bubble has oxygen and increases the character's health. But it decreases the survival time which is a portrayal of score. The green and purple bubbles reduce the health as they contain poisonous gas. Used C# script to code the characters motion and the automated instantiation of bubbles. Animated the motion of the character using skeletal animation. Used Adobe illustrator to design the sprite images of the game. Used code to manage scene transitions and designed game UI. Incorporated Interstitial and Reward based ads by using the Google Ad manager plugin. Added firebase feature of Authentication and Realtime Database for maintaining an online global leaderboard.