Fun personal and course projects

Learning to Glimpse to Localize Little Landmarks
Inspired by Mnih et. al's work on Recurrent Models of Visual Attention, we learn to collect contextual information from an image through a sequence of glimpses in order to localize little landmarks. Localizing little landmarks like car door handles or light switches is a challenging task because these objects themselves occupy very few pixels in the image. We use reinforcement learning we learn to effectively collect, summarize and use context to predict the car door handle. In the figure below numbered glimpses are shown in yellow, prediction in red and ground truth in green.

As part of a team of early deep learning enthusiasts at UIUC, we created this Python library consisting of Tensorflow wrappers and helper functions.

SGD with Importance Sampling
We analyse and show how to apply the approach of Needel et al. that uses importance sampling to enhance the rate of convergence of SGD to the novel case of L2-normalized Logistic Regression. Through experiments we validate the effectiveness of the algorithm to reduce the number of iterations to convergence.

Adaptive Crowdsourcing via EM Algorithm
We show how to model worker assignment for crowdsourcing a task as a bipartite graph. We then present a novel algorithm for effectively making use of a given edge budget using Expectation Maximization algorithm to iteratively form a belief about worker reliability and create robust task measurements. We also study the role of prior on the worker reliability.

Heirarchical Object Segmentation with Shape Priors
We proposed and demonstrate an extension of GrabCut to RGBD images which solve two of its major limitations - requirement of manual localization and color constancy assumption. We use Edge-Boxes to automatically generate object proposals and encode various depth based shape priors that help relax the color constancy assumption (for example in a colorful cereal box). Furthermore, based on the observation that smaller object proposals are more likely to occlude larger ones, we propose a heirarchical segmentation algorithm that respects occlusions.

Catamull-Clark Subdivision Surface
Implemented the Catamull-Clark Subdivision Surface algorithm in C++ using the efficient Half-Edge datastructure. The camera is made to move on a Bezier curve defined by 4 control points. Texture mapping and lighting was done using shaders in OpenGL and GLSL.

Movie Recommendation System
Given a sparse set of movie ratings from different users, user demographics and movie genre, our system uses collaborative filtering to learn to recommend movies. Certain interesting trends immerge out of the analysis which are presented at the end.