Software Engineering Intern @ From June 2014 to September 2014 (4 months) SURF Fellowship @ An essential function of computer vision algorithms is to perform object classification within images. A specific problem within the field of object classification is bird species classification, a task which is difficult even for humans. The goal is not to just develop an algorithm in order to solve this specific problem, but rather to extend the techniques used and to apply the knowledge acquired from performing bird species classification to other super categories of problems. An algorithm to solve the problem of bird species classification has already been developed as part of the Visipedia project in Dr. Perona’s lab, but the process to generalize these techniques to other super categories has yet to be determined. To solve the problem of human attribute recognition, first different parts detection models were compared on preexisting benchmark databases. This was done to determine which model would be used to perform parts detection before attribute recognition algorithms could be run on a new dataset. Then, a JavaScript interface was developed to aid in attribute classification for two different datasets – one was a set of fashion-based images and the other was a set of images of pedestrians collected in the Pasadena area. Then, this interface was deployed and attribute annotations were collected for each dataset. The final part of the project was to try training attribute recognition algorithms on the completed Pasadena dataset, but there was not quite enough time to fully test many algorithms, so only popular algorithms such as VLFeat were tested. From July 2013 to October 2013 (4 months) Summer Research Intern @ Pulse-coupled neural networks (PCNNs) are a specific kind of neural network that are meant to emulate the function of a cat's visual cortex. The network model underneath PCNNs is a linking-field model that allows the network to sustain pulse bursts. In the context of an object recognition application, given that a neuron corresponds to a pixel in the image, a single burst would correspond to a set of neurons firing. As the PCNN continues to progress in time, a different set of neurons fire each time. Thus, a time profile of an object is produced, where at each time step, a set of neurons corresponds to a different outline of the object. If the object were a sun, the first set of neurons would be the innermost outline of the sun - the stark yellow close to the center of the sun. Each successive set of neurons would correspond to a different outline of the sun.
Once this time profile or time signature of an object is generated, a similar analysis can be run on another object a in different image and see if the two time signatures are related. The goal of the project is to first perform the time signature analysis on an object and then find a way to compare the two time signatures that are produced. An algorithm to run PCNNs on an image and generate a time signature for an object was created, written in python. Unfortunately, there was not enough time to find a mathematical way to compare the time signatures of two different objects. From June 2012 to August 2012 (3 months) Summer Research Intern @ Neural networks are a well-known machine learning technique. Machine learning through neural networks is the process of teaching a network to recognize a set of training vectors and training outputs by producing the correct output for each vector. This produces generalized behavior, so the network can recognize similar vectors that it has never been shown before. This project deals with the case where a conflict exists in the training vectors. A conflict necessitates a higher order network with another neuron, a hidden neuron, added to resolve the conflict. The goal is to identify these conflicts to gain more information about the system, rather than simply resolving them. The algorithm used to find these conflicts involved a removal of training vectors and components of these vectors through an iterative process. The advantage of finding conflicts rather than only resolving them is a greater knowledge about the system and the complexity inherent in the training data.
Though machine learning has manifold applications, an application to text mining in particular was considered. Given two topics and a set of documents related to each topic, the goal was to find combinations of words, rather than just single keywords, that related two or more different documents. By pruning the documents and giving each word a ranking based on the tf-idf (term frequency, inverse document frequency) algorithm, a set of vectors was created. The vectors and components of vectors that participate in a conflict would then correspond to the combinations of words that uniquely identify multiple documents. From June 2011 to August 2011 (3 months)
California Institute of TechnologyThomas Jefferson High School for Science and Technology From 2008 to 2012 Vansh Kumar is skilled in: Python, Java, Mathematica, C, Matlab, C++, Machine Learning, Programming, Physics, Linux, Windows, Mac OS X, JavaScript
Websites:
http://vanshkumar.com