A curated list of some research and projects that I've worked or am working on.

Rolodex Planes

Plane based frame-to-frame registration [2013 - now]

Finding Planes in LiDAR Point Clouds for Real-Time Registration, published in IROS 2013.

A robust plane finding algorithm that can be used in conjunction with plane based frame-to-frame registration to give accurate real-time pose estimation. This was born out of short-lived support through the DARPA Robotics Challenge. The ultimate goal of this project is to perform real-time simultaneous localization and mapping (SLAM) using planes extracted from spinning laser sensors such as the Velodyne HDL-32E, which provide 360° point clouds at a high rate. Many traditional algorithms for plane finding don't work well on this kind of data due ot the structure of the Velodyne data. The first set of results from this will be presented at IROS 2013.
[back to top]


A C++11 library for serialization [2013 - now]

cereal homepage

cereal is a new C++11 serialization library that Randolph Voorhies and I developed. It is a header only library designed to be easily embedded in a project and was born out of frustrations with the Boost serialization library. It supports almost the entire standard library, is space and time efficient, and can serialize to binary, JSON, and XML out of the box. It was written to be easily extensible and has great documentation at its website.
[back to top]

Salient Green

Using symmetry to enhance bottom-up saliency [2009, 2012]

Saliency Mapping Enhanced by Symmetry from Local Phase, published in ICIP 2012.
Source code (requires C++11 compiler)

Salient green started as a group project I did with Kevin Heins while an undergraduate at UCSD taking CSE 190A with Serge Belongie in 2009. The idea was to extend the basic Itti et al. model by introducing symmetry and manipulating the color space. We performed a simple experiment having humans judge masked images created using the algorithm and found that it outperformed the basic model. When I came to USC, I re-implemented the model and performed objective testing against other saliency models, including another by Kootstra that is symmetry based.
[back to top]

iLab Neuromorphic Robotics Toolkit

A C++11 library for modular robotics [2011 - now]

NRT Homepage

Along with several other people at iLab, I contribute towards NRT - a neuromorphic robotics toolkit. My work on NRT is mostly concerned with developing point cloud functionality.
[back to top]


An unmanned aerial system (UAS) [2006 - 2010]

Technical Reports: 2007, 2008, 2009, 2010
Videos: 2009, 2010

While an undergraduate at UCSD, I participated in the UCSD AUVSI UAS team all four years I was there. The team competed in the annual international AUVSI UAS competition held in Maryland, placing as high as 2nd place in 2009 and having a 1st place journal in 2010. The competition consited of flying a UAV while searching for alpha-numeric targets on the ground, all autonomously. I was responsible for most of the software and imaging systems while on the team, designing an autonomous recognition system powered by the saliency algorithm described in Salient Green. Salient regions were segmented and then processed autonomously to identify the character, colors, and orientation of alpha-numeric targets.
[back to top]


A stack based instruction set architecture [2010]

Video demonstration

Stacked is an instruction set architecture developed out of a group project at UCSD for CSE 141/141L. The ISA is stack based with no registers available to the programmer - all data is manipulated on local data stacks, a global data stack, or an address stack. The ISA and its simulator (developed in Java) was a finalist in the 2010 IEEE Computer Society competition. During CSE 141L, the entire ISA was also prototyped and demonstrated to work in Verilog.
[back to top]