Skip to main content
  1. Experience/

Projects

The following are some of my selected projects.

ProjectDescriptionYearCollaboratorsLanguage
3D Global Registration Using ICP & Branch-and-Bound SearchPoint cloud registration is a staple for many different applications in robotics and graphics communities. Iterative Closest Point (ICP), which is the standard method for this task suffers from local minimas and hence is only useful given a good initial alignment. We focus on the task of global registration of 2 point clouds, without the use of a priori information with regards to alignment, using a Branch and Bound (BnB) search over the euclidean transformation space with ICP sub-routines. We explore the idea that a BnB method can help in overcoming the local minimas that ICP would succumb to by comparing multiple methods using this framework.Spring 2020Rohith Krishnan Pillai, Oscar Dadfar, Zihao YangPython
Beyond DeepJazzWe built our project on the skeleton of DeepJazz by Ji-Sung Kim and extended its capabilities from multiple aspects. First, to address its potential issue of over-fitting,we created an additional layer of pre-processing to allow generic MIDI parsing suitable for different architectures. Then to further improve its creativity and quality as a Jazz music generator, we experimented with several other architectures such as VAE-LSTM and Bi-LSTM. We also tried to incorporate expressive timing and dynamics into the post-processing as in Performance RNN. From our experimentation we find our own Bi-LSTM model was most human-like in generation, and we also provide a few recommendations for generating different styles of Jazz asper user needs. We concluded that our modified DeepJazz can accomplish much more sophisticated Jazz generation by carefully redesigning its architecture and methods.Spring 2020Yuning Wu, Rohith Krishnan Pillai, Yijie SunPython, pytorch, keras, caffe
Semantically Guided Style TransferStyle transfer is a popular technique of recreating an image but in the style of a particular type of image (usually art).Critically, one attribute not captured by these network formulations is the semantic and geometric relationship betweenen tities in the image. We attempt to address this problem by introducing semantic guidance in the form of segmentation maps, provided as an input to the style transfer pipeline.In order to incorporate these maps, we also introduce a method of computing style similarity over masked areas,termed guided style loss. Combining the aforementioned features with a Mask R-CNN segmentation model, we then form a semantically guided multi-style transfer pipeline and perform a cursory qualitative evaluation over a sequence of illuminating examples.Spring 2019William Qi, Rohith Krishnan PillaiPython, pytorch
True Neural Regression Trees (TNRTS)Neural regression trees (NRTs) is a new paradigm of tree-based machine learning algorithms for the task of regression. Unlike regression trees where the data is partitioned based on the independent variable, NRTs partition the space based on the dependent (or the response) variable. Because NRT is based on a regression via- classification framework where the regression problem is converted to a classification one, it essentially minimizes the classification error, assuming that this minimization would translate to a better regression performance. This assumption, however, does not necessarily hold. The correspondence between the original regression problem and the obtained classification problem depends on the formulation of the loss function being minimized. The most common loss functions in classification – cross-entropy loss and hinge loss – treat all class components as identical. Because NRT is based on a greedy recursive binary partitioning of the space, at each point, it minimizes the loss between the two classes. This, however, ignores the intra-class ordinal relationship by assuming that all errors are equal. A better strategy, and one that is explored in this paper, is to minimize the regression error at each node. Here, we explore a novel strategy to do that within the NRT framework. We call our framework the True Neural Regression Tree (or TNRT) as we minimize the true regression loss. We compare our model performance with the original NRT using standard regression datasets.Spring 2019Shahan Ali Memon, Rohith Krishnan Pillai, Bhiksha RajPython, sklearn
Gesture Recognizing GloveCreated a glove that could recognize gestures using flex sensors and a TM4C micro-controller. The glove provides serial data to the computer. Created a Rock Paper Scissors game to illustrate realtime gesture recognition.Spring 2018Rohith Krishnan PillaiC
Protein Back-translator using HMMsCreated a program to back-translate yeast protein sequences to DNA sequences, constructed using hidden Markov models (HMMs) on open-reading frame data. Achieved accuracy of up to 70%.Fall 2016Rohith Krishnan PillaiPython
A Comparison of K-means Clustering using Hadoop MapReduce vs MPI ImplementationsK-means is a popular and fast clustering algorithm in which the centroids of a predetermined number of clusters are assigned data points and the cluster centroids are recalculated and the whole process is iterated till convergence. However, implementations of K-means can differ in their efficiency. I discuss the implementation of and comparison between a parallel implementation using Message Passing Interface(MPI) and a Hadoop Map Reduce implementation. MPI K-means was done in C, and the Hadoop MapReduce K-means done using Java.Fall 2017Rohith Krishnan PillaiC, Java
Elemental ReversiCreated an ‘Avatar the Last Airbender’ themed Reversi game, implemented entirely in Python 2.7, and tkinter based GUI. Features included a Greedy computer opponent, two player mode, customizable pieces, save/load game.Fall 2014Rohith Krishnan PillaiPython