EECS 395/495: Computer Vision on Programmable Cameras

Winter 2013 Tu-Thu 3:30-4:50pm - Professor Oliver (Ollie) Cossairt

Location: Frances Searle Building 2407

 

The Lytro Camera captures a 4D light field of a scene, enabling photographs to be digitally refocused after images are captured.

 

Computational illumination  is used within the movie industry to render the performances of live actors into digital environments.

 

The Nokia N900 phone is a Linux-based cell phone that features a 5-megapixel camera, has a refocusable Zeiss lens, and runs FCam 2.0 Software.

 

 

Course Goals

To teach the fundamentals of modern camera architectures and give students hand-on experience acquiring, characterizing, and manipulating data captured using a modern camera platform. For example, students will learn how to estimate scene depth from a sequence of captured images.

 

Course Description

This course is the first in a two-part series that explores the emerging new field of Computational Photography. Computational photography combines ideas in computer vision, computer graphics, and image processing to overcome limitations in image quality such as resolution, dynamic range, and defocus/motion blur. This course will first cover the fundamentals of image sensing and modern cameras.  We will then continue to explore more advanced topics in computer vision. We will then use this as a basis to explore recent topics in computational photography such as motion/defocus deblurring cameras, light field cameras, and computational illumination.

 

This course will consist of six homework assignments and no midterm or final exam. We will provide a Nokia N900 cell phone camera for each student in the course. Students will write programs that run on the phone to capture photos. Enrollment is limited to 15 students.

 

Prerequisites

EECS 211 and/or 230 or permission from instructor. Students should have experience with C/C++ and MATLAB programming. If you are interested, please contact the instructor to discuss!

 

Coursework and Grading

The course will consist of 6 homework assignments. Each assignment will consist of some camera programming and some image processing. The camera programming will be done in C/C++ and the image processing will be done using MATLAB. 

 

Grading will be based on a 100 point system. The homeworks will constitute the bulk of the course grade (90 points in total). Class attendance will constitute the other 10 points. Instructions for completing each assignment can be found at the following links:

 

HW1: FCam Hello World Application (15 points)

HW2: Measuring Sensor Noise (15 points)

HW3: HDR Imaging (15 points)

HW4: Flash/No Flash Photography (15 points)

HW5: Depth From Focus (15 points)

HW6: Synthetic Aperture Imaging (15 points)

 

A discussion for each homework assignment has been created on Blackboard. Please post all of your questions on the discussion board so that others may learn from your questions as well. Do not email the professor or TA directly with homework questions.

 

All Homeworks are to be submitted via Blackboard before class (3:30pm) on the due date.

 

Course Syllabus

 

Tuesday 1/8/13

Introduction + FCam

 

Thursday 1/10/13

Image Formation

 

Tuesday 1/15/13

Image Sensing

 

Thursday 1/17/13

Image Processing I

HW1 Due

Tuesday 1/22/13

Image Processing II

 

Thursday 1/24/13

Radiometry

 

Tuesday 1/29/13

HDR Imaging

HW2 Due

Thursday 1/31/13

Flash and Lighting

 

Tuesday 2/5/13

Shape from Shading

 

Thursday 2/7/13

Photometric Stereo

HW3 Due

Tuesday 2/12/13

Structured Light

 

Thursday 2/14/13

Depth from Defocus

 

Tuesday 2/19/13

Camera Calibration

HW4 Due

Thursday 2/21/13

Stereo

 

Tuesday 2/26/13

Light Fields

 

Thursday 2/28/13

Extending DOF

HW5 Due

Tuesday 3/5/13

Light Transport

 

Thursday 3/7/13

Selected Topics

HW6 Due

Tuesday 3/12/13

No Class

 

Thursday 3/14/13

No Class

 

 

Texts

Computational photography is a new and exciting field. No standard texts on this topic are available yet. Reading material and class slides will be will be available before each class. Optional texts include:

 

Course Instructor

Oliver (Ollie) Cossairt,

Office: Rm 3-337 Ford Design Center

Email: Ollie@eecs.northwestern.edu

Office Phone: (847) 491-0895.

Office Hours: Tuesday 2:00-3:30pm

 

Teaching Assistant

Basabdutta Chakraborti

Email: basabduttachakraborty2012@u.northwestern.edu

Office: Tech M316

Office Hours: Tuesdays 2:00-3:30pm

 

Useful Links

Similar Courses in Other Universities

More Links

Acknowledgement

Many of the course materials are modified from the excellent class notes of similar courses offered in other schools by Shree Nayar, Marc Levoy, Jinwei Gu, Fredo Durand, and others. The instructor is extremely thankful to the researchers for making their notes available online.