Generic placeholder thumbnail


Research

Guide : Dr. Eric Eaton, Faculty, Computing and Information Systems Dept., University of Pennsylvania

Duration : Sept 2013 - Feb 2014

Publication : Vishnu Purushothaman Sreenivasan, Haitham Bou Ammar, and Eric Eaton. Online Multi-Task Gradient Temporal-Difference Learning. In Proceedings of the 28th AAAI Conference on Artificial Intelligence (AAAI-14), July 2014. [Student Abstract]

I worked on incorporating Lifelong Learning in a Reinforcement Learning (RL) framework. The idea is an agent maybe required to learn several RL tasks in order to perform the overall task. Each of these task could be learnt by a standard RL learning algorithm but all these different sub agents do not transfer knowledge between them (Transfer Learning). A recent algorithm proposed by Paul Ruvolo and Eric Eaton, "Efficient Lifelong Learning Algorithm" presents an efficient methodology for transfer of knowledge between several similar tasks by learning a set of shared basis vectors which form a knowledge base.

Details are present in this 2 page abstract paper accepted in AAAI-14 conference.



Software Internship - KeyMe Inc., NY

Guide : Ms. Paige Pruitt, Senior Embedded Engineer, KeyMe Inc.

KeyMe is a New York City-based startup that is revolutionizing the locksmith industry. KeyMe allows users to store, share, and duplicate their physical keys using a digital scan that is securely stored in the cloud. The KeyMe kiosks allow customers to instantly make copies of their keys. It also allows them to securely store digital copies of their keys so that if they ever get locked out, they can make a spare key at the kiosk. There were two main projects I was working on
  1. Automating the calibration routine for the kiosk during installation using computer vision and machine learning.
  2. Checking the post cut key for errors using computer vision.

Generic placeholder thumbnail


Methodology

  • I initially tried to perform background subtraction to extract the key image by modelling the background using GMM and performing grabcut to extract the foreground. But finally I just used simple thresholding in different color spaces to obtain the foreground. I used the extracted foreground image to extract information about the key and used this information, along with certain motion run tests on the kiosk to obtain the calibration parameters.
  • For the postcut key bit depth extraction, I used standard vision techniques to find the bit tip positions. I tested the heights obtained from vision against a standard code book to check for errors in the cutting process.