My goal is to develop and deploy AI systems to improve human life.
In 2014, I finished a PhD in Computer Science at UC Berkeley, advised by Trevor Darrell, and co-founded Gradescope, where we develop AI to transform grading into learning. In 2018, Gradescope was acquired as a standalone product by Turnitin, a leading ed tech provider.
I was fortunate to be selected for the UW Engineering Early Career Award.
Gradescope enables instructors to grade all of their assessment on one platform, with AI assistance. While we focus on shipping features, we try to publish reports along the way.
Recognizing Image Style
Image style is integral to visual communication. We gather datasets of photo and painting style, and use convolutional neural nets to classify different styles.
Caffe Deep Learning Framework
The deep learning paradigm shift was enabled by open source software, including Caffe from our Berkeley research lab.
Anytime Visual Recognition
Features have different costs and different classes benefit from different features. A multi-class recognition system should dynamically select them to maximize performance under a cost budget. This line of work constitutes my PhD Thesis. Sources for all of the writeups below are open-source.
Depth-informed Object Detection
Using the Microsoft Kinect, we gather a large dataset of indoor crowded scenes. We investigate ways to unify state-of-the-art object detection systems and improve them with depth information.
Probabilistic Local Image Features
Our method for additively decomposing local image patches shows best performance on a novel transparent object recognition dataset. We extend the model to multiple layers and apply it to general object classification.
We present an open-source system for quickly searching large image collections by multiple colors given as a palette, or by color similarity to a query image.
A cloud-based mobile web application to match up users who request similar trips and would like to share a cab. The application is hosted on EC2 and combines several open-source frameworks with social networking and location-awareness APIs.
Summing over image pixels: numba is fast.
31 Jul 2013
A silly little comparison of a few different methods for computing the average pixel color of a masked image.
Storing numpy data in mongodb
09 Jul 2013
Showing that cPickle protocol=2 is fastest for storing numpy arrays into mongodb.
Setting up a development environment on Mac OS X 10.8 Mountain Lion
08 Aug 2012
Concise notes on setting up a development environment on OS X 10.8 for statistical computing and web development.
Attentional Object Detection: introductory slides
24 Mar 2011
Motivation for and some lit review related to the idea of attentional object detection–not looking for everything everywhere.
Self-organizing sparse codes: VS 265 course project - [pdf]
12 Dec 2010
The biological motivation for sparse coding also suggests that the learned receptive field elements should be organized spatially. We investigate ways of enforcing a topography over the learned codes in a locally self-organizing map approach.
Jupiter album art recreation
16 Aug 2010
Recreation of a cool album cover image (Jupiter by Starfucker) using Processing.