I am a PhD candidate in the department of computer science and engineering at the University of California, San Diego, advised by Serge Belongie.
My research interests include computer vision and machine learning.
I also have a fatal attraction to sparse methods and functional programming languages.
Update: I'll be joining Google Research on March 31, 2014 as a software engineer.
Education
While an undergrad at Swarthmore College, I worked in the summers with Gary Cottrell on a variety of cognitive science topics, thanks to whom I have an interest in machine vision and biologically inspired models.
In 2008 I graduated with honors with a BA in math and a minor in computer science.
I began at UCSD in 2008, where my first focus was machine learning, working with Charles Elkan.
During this time, I attended the Machine Learning Summer School at Cambridge University, where I presented a paper on theoretical machine learning.
In 2009, I switched my focus to computer vision with Serge Belongie, with whom I have since remained.
Work experience
To date, I have been in the PhD program for months, and 16 of those have been spent in internships.
I find industry to be a refreshing change of pace.
2012 - 2013: Willow Garage
In June 2012 I started as a 3-month research intern at Willow Garage, working in robot perception.
I liked it so much that I twice extended the internship, finally ending in March 2013.
While there, I:
Developed a similarity-invariant version of the LUCID descriptor.
This new descriptor, eLUCID, is especially fast on mobile devices.
While at Willow, I also organized two programs for the wider benefit of the company.
First, I taught a twice-weekly CrossFit class, using equipment Willow purchased for the purpose.
Second, when Willow had to lay off its kitchen staff, I organized company-wide catering, paid for by the employees.
This inspired me to create Food for Thought at UCSD.
Summers of 2011 and 2010: Google
I had two 3-month internships at Google in the summers of 2011 and 2010.
In 2011, I was at the LA and NYC offices, working on Google Goggles research and backend infrastructure.
In 2010, I was at the Mountain View office, helping the webcrawler to detect and appropriately handle duplicate websites.
My primary area of research is in local descriptor methods, e.g. SIFT, which are used in computer vision to compare local regions of images.
They are building blocks for many computer vision applications, including structure-from-motion and object detection and recognition.
From an internship I did at Google, I have an abiding interest in fast and/or approximate methods for nearest neighbor (NN) search.
NN search is a fundamental technology underlying many machine learning techniques.
In particular, I'm interested in the non-vector-space case, where methods such as projection-based locality sensitive hashing cannot be applied.
I am also strongly interested in sparse methods for image representation, including dictionary learning and compressive sensing.
Such methods can be used to capture the relevant signal in images, without requiring human-designed features.
In particular, I am interested in how such methods may be sped up, as it appears computational efficiency is the main blocker to wider adoption.
Publications, talks, and research code
2013
PUBLICATION:
Eric M. Christiansen, Vincent Rabaud, Andrew Ziegler, Irfan Essa, David Kriegman, Serge Belongie,
"Match-time covariance for descriptors",
British Machine Vision Conference (BMVC), 2013.
(poster)
[pdf]
PUBLICATION:
Arturo Flores, Eric M. Christiansen, David Kriegman, Serge Belongie,
"Camera distance from face images",
International Symposium on Visual Computing (ISVC), 2013.
(poster)
[pdf]
PUBLICATION and TALK:
Eric M. Christiansen, Iljung Sam Kwak, Serge Belongie, David Kriegman,
"Face box shape and verification",
International Symposium on Visual Computing (ISVC), 2013.
(oral)
[pdf]
2012
PUBLICATION:
Andrew Ziegler, Eric Christiansen, David Kriegman, Serge Belongie,
"Locally Uniform Comparison Image Descriptor",
Advances in Neural Information Processing Systems (NIPS), 2012.
(poster)
[pdf]
CODE:
Andrew Ziegler, Eric Christiansen, Vincent Rabaud,
"Elucidating comparison-based descriptors".
A built-for-mobile local descriptor, developed at Willow Garage, in C++.
[code]
CODE:
Eric Christiansen,
"CharikarLSH".
An implementation of Moses Charikar's method for approximate nearest neighbor retrieval, in C++.
[code]
2011
CODE:
Eric Christiansen,
"GPU Acceleration of Source Inference in Shift Invariant Sparse Coding".
A class project, using OpenCL to accelerate sparse coding inference.
[report,
code]
CODE:
Eric Christiansen,
"mbtree".
An implementation of metric-ball trees for nearest neighbor search, in Scala.
[code]
CODE:
Eric Christiansen,
"DistanceLSH".
An implementation of a metric hashing for nearest neighbor search, in Haskell.
[code]
2010
PUBLICATION and TALK:
Tess Winlock, Eric M. Christiansen, Serge Belongie,
"Toward real-time grocery detection for the visually impaired",
Workshop for Computer Vision Applications for the Visually Impaired (CVAVI), 2010.
(oral)
[pdf]
2009
TALK:
Eric M. Christiansen,
"An upper bound on prototype set size for condensed nearest neighbor",
presented at the 2009 Machine Learning Summer School, Cambridge University, UK.
(poster)
[arxiv]
2008
PUBLICATION:
Joseph P. McCleery, Lingyun Zhang, Liezhong Ge, Zhe Wang, Eric M. Christiansen, Kang Lee, Garrison W. Cottrell,
"The roles of visual expertise and visual input in the face inversion effect: Behavioral and neurocomputational evidence",
Vision Research, 2008.
(journal)
[pdf]
2007
PUBLICATION:
Matthew H. Tong, Adam D. Bickett, Eric M. Christiansen, Garrison W. Cottrell,
"Learning grammatical structure with Echo State Networks",
Neural Networks, 2007.
(journal)
[pdf]
Projects
Throughout my PhD, I've kept sane by working on a number of side-projects.
The coding projects often involve my interest in functional programming, and the non-coding projects often concern human empowerment.
Here are a few from 2013:
2013
CODE:
Eric Christiansen,
"PersistentMap".
A type-safe, boilerplate-free, key-value store for Scala.
[code]
NOT CODE:
Eric Christiansen,
"Food for Thought".
Food for Thought (FFT) is a program I developed with the support of my advisor, in which we provide Google-style free food to all members of our lab at UCSD.
I believe it significantly increases lab morale and productivity, and I think academia badly needs to adapt to the times and widely adopt programs such as this.
[FFT website]
CODE:
Eric Christiansen, Andrey Pavlenko, and Andrey Kamaev,
"OpenCV Java".
I added an automatically-generated Java interface to OpenCV, with the help of employees at Itseez.
I did it so I could use Scala for research ;).
[code,
Willow Garage announcement,
Itseez announcement]
CODE:
Eric Christiansen,
"Billy Pilgrim".
Billy Pilgrim is an evaluation framework for local descriptors, intended to replace VLBenchmarks.
It is broken into a backend (Billy) and a frontend (Pilgrim), and is in Scala.
[Billy,
Pilgrim]
CODE:
Eric Christiansen,
"salve".
Salve is a macro and template library for adding some functional programming ideas to C++.
[code]
CODE:
Eric Christiansen,
"sbt-latex".
sbt-latex is a build management tool for LaTeX.
[code]
Miscellaneous
Professional
Volunteer: CVPR 2012
Reviewer: Data Mining and Knowledge Discovery, Computer Vision and Image Understanding (CVIU), International Conference on Computer Vision (ICCV)
Teaching
2014: TA for CSE 202, graduate algorithms (UCSD)
2013: Google Summer of Code mentor for OpenCV
2013: TA for CSE 255, data mining (UCSD)
2010: TA for CSE 252B, graduate computer vision (UCSD)
2010: TA for CSE 202, graduate algorithms (UCSD)
2009: TA for CSE 105, undergraduate computability (UCSD)