EECS 395/495: Introduction to Computational Photography

Fall 2014 Tu-Thu 3:30-4:50pm - Professor Oliver (Ollie) Cossairt

Location: Tech M128

 

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 Nvidia Tegra Shield is an Android-based tablet that features a 5-megapixel camera with an easy to use camera API.

 

 

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 Nvidia Tegra tablet 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: Hello World Application (15 points)

HW2: Measuring Sensor Noise (15 points)

HW3: Flash/No Flash Photography (15 points)

HW4: HDR Imaging (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 by 11:59pm on the due date. Each student will be permitted ONE late submission for partial credit. Two points shall be docked from the submission for each 24-hour period. For instance, if the homework is due Tuesday at 11:59pm and it is submitted Wednesday between 12:00am and 11:59pm, 2 points will be docked. If the assignment is submitted on Thursday between 12:00am and 11:59pm, 4 points will be docked, and so on. Only ONE late assignment per student will be awarded partial credit. Any additional late assignments will receive no credit.

 

Course Syllabus

 

Tuesday 9/23/14

Introduction

 

Thursday 9/25/14

Image Formation

 

Tuesday 9/30/14

Image Sensing

 

Thursday 10/2/14

Image Processing I

 

Tuesday 10/7/14

Image Processing II

HW1 Due

Thursday 10/9/14

Edge Detection

 

Tuesday 10/14/14

Flash and Lighting

 

Thursday 10/16/14

Radiometry

HW2 Due

Tuesday 10/21/14

HDR Imaging

 

Thursday 10/23/14

Shape from Shading

 

Tuesday 10/28/14

Photometric Stereo

HW3 Due

Thursday 10/30/14

Structured Light

 

Tuesday 11/4/14

Depth from Defocus

Thursday 11/6/14

SIFT

HW4 Due

Tuesday 11/11/14

Camera Calibration

 

Thursday 11/13/14

Stereo

Tuesday 11/18/14

Optical Flow

 

Thursday 11/23/14

Light Fields

HW5 Due

Tuesday 11/25/14

No Class

 

Thursday 11/27/14

Thanksgiving

 

Tuesday 12/2/14

Light Transport

 

Thursday 12/4/14

Selected Topics

HW6 Due

 

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: Monday 2:00-3:00pm

 

Teaching Assistant

Nathan Matsuda

Email: nathanmatsuda@u.northwestern.edu

Office: Ford 3-230

Office Hours: Tuesday 1:30-3:30pm

 

Liu Liu

Email: liuliu2015@u.northwestern.edu

Office: Ford 3-230

Office Hours: Friday 2:00-4:00pm

 

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.