Systems and Algorithms for Computational Photography
The first is the "Frankencamera", which is an open API and architecture for programmable cameras that makes it easy to deterministically control the various components of a camera at high frame rates. The goal of the Frankencamera is to enable research in photography, and indeed in graduate-level classes we've found that students equipped with this API are much more able to prototype their novel camera applications than with conventional camera APIs.
The second tool is the discrete Gauss transform, which represents a class of algorithms that are widely used in photographic image processing for denoising, sharpening, and controlling tone and contrast. Incarnations of the discrete Gauss transform include the bilateral filter, the joint bilateral filter, and non-local means. We'll talk about making discrete Gauss transforms fast by representing the problem as resampling in a higher-dimensional space. Finally, time permitting, I'll talk about what we need to do to get these kinds of photographic image processing algorithms to run efficiently on the agglomeration of processors found inside today's cameras.
Andrew Adams is a PhD student working with Marc Levoy at Stanford University. His research interests include computational cameras, fast image processing, and more generally languages and APIs that simplify complex domains. Andrew received a BS in Computer Science and Mathematics from the University of New South Wales in Australia in 2004, and an MS in Computer Science from Stanford in 2006. He has also worked on the Google Streetview project, and collaborates closely with Nokia Research on computational photography. Andrew also enjoys teaching, and has won several teaching awards.