CSCI1950-G Computational Photography
Spring 2010, MWF 1:00 to 1:50, CIT 367.
Instructor: James Hays
HTA: Patrick Doran
UTA: Alex Collins

Course Description
Course Catalog EntryComputational Photography describes the convergence of computer graphics, computer vision, and the Internet with photography. Its goal is to overcome the limitations of traditional photography using computational techniques to enhance the way we capture, manipulate, and interact with visual media. In this course we will study many interesting, recent image based algorithms and implement them to the degree that is possible. We will cover topics such as
- Cameras and image formation
- Human visual perception
- Image processing (filtering, pyramids)
- Image blending and compositing
- Texture synthesis, super-resolution, denoising.
- Image completion / inpainting
- Image based lighting and rendering
- High dynamic range
- Depth and defocus
- Flash / no flash photography
- Coded aperture photography
- Single / multi view reconstruction
- Photo quality assessment
- Non photorealistic rendering
- Modeling and synthesis using Internet data
- ... more interesting topics.
Prerequisites
This course requires programming experience as well as linear algebra, basic calculus, and basic probability. Previous knowledge of computer graphics or computer vision will be helpful. It is strongly recommended that students have taken one of the following courses (or equivalent courses at other institutions):- CSCI 1230, Introduction to Computer Graphics
- CSCI 1430, Introduction to Computer Vision
- CSCI 2240, Interactive Computer Graphics
- ENGN 1610, Image Understanding
Assignments | Winning projects | All Results |
Image alignment with pyramids | Evan Donahue, Evan Wallace | Proj 1 |
Gradient domain fusion using Poisson blending | Evan Wallace, Steve Gomez | Proj 2 |
Image stitching with graph cuts | Evan Wallace, Jason Pacheco | Proj 3 |
Scene Completion | Evan Wallace, Linda Fong | Proj 4 |
Face morphing | Sam Potasznik, Evan Wallace | Proj 5 |
Panorama correspondence and stitching | Steven Gomez, Evan Wallace | Proj 6 |
Your choice for final project (single view reconstruction, high dynamic range, flash / no flash, interactive cut out, matting, whatever else you want) | Your project here! |
Public Final Projects *All Final Projects *(Internally available only) |
It is strongly recommended that all projects be completed in Matlab and all starter code will be provided for Matlab. Students may implement projects through other means but it will generally be more difficult.
Textbook
We will not rely on a textbook, although I recommend the free, online "Computer Vision: Algorithms and Applications" by Richard Szeliski.Grading
Your final grade will be made up from- 60% programming projects
- 20% final project
- 20% written examination
Graduate credit is available and each project will specifiy the minimum requirements to earn such credit.
Important Links:
Contact Info and Office Hours:
You can contact the professor or TA staff with any of the following:- Professor James: hays[at]cs.brown.edu
- HTA and Professor: cs195gheadtas[at]cs.brown.edu
- TAs and Professor: cs195gtas[at]cs.brown.edu
- James Hays (hays), Monday and Friday 2:00-3:00
- Patrick Doran (pdoran), Thursday 5:30-7:30
- Alex Collins (aecollin), Wednesday 5:30-7:30
Syllabus (tentative)
Class Date | Topic | Materials | Out | Due | Results |
W, Jan 27th | Introduction to computational photography | .ppt Szeliski chapter 1 |
|||
F, Jan 29th | Cameras and optics | .ppt Szeliski chapter 2 |
Project 1 out | ||
M, Feb 1st | Capturing light, man vs machine | .ppt Szeliski chapter 2 |
|||
W, Feb 3rd | Sampling and reconstruction 1 | .ppt Szeliski chapter 3.2 |
|||
F, Feb 5th | Sampling and reconstruction 2 | .ppt | Project 1 due | ||
M, Feb 8th | Project 1 Presentations, Frequency Domain | .ppt Szeliski Chapter 3.3 |
Project 2 out | Project 1 results | |
W, Feb 10th | Frequency domain / Blending and compositing | .ppt Szeliski Chapter 9.3.3 |
|||
F, Feb 12th | In class blending demo and Morphology | .ppt Szeliski Chapter 3.2.3 |
|||
M, Feb 15th | Point Processing and DCT/JPEG | .ppt 1, .ppt 2 Szeliski Chapter 3.1 |
|||
W, Feb 17th | Image Warping | .ppt Szeliski Chapter 3.5 |
Project 3 out | Project 2 due | |
F, Feb 19th | Project 2 presentations, Project 3 intro | .pptx |
Project 2 results | ||
M, Feb 22nd | No Classes | ||||
W, Feb 24th | Graph cut image compositing | In class demos, Szeliski Chapter 9.3.2 |
|||
F, Feb 26th | Data-driven methods: video and texture | .ppt Szeliski Chapter 13.5 and 10.5 |
Project 3 due | ||
M, Mar 1st | Project 3 presentations, Project 4 intro | .pptx |
Project 4 out | Project 3 results | |
W, Mar 3rd | Data-driven methods: texture synthesis and filling | .ppt |
|||
F, Mar 5th | Data-driven methods: Scene Completion | .ppt |
|||
M, Mar 8th | Data-driven methods: leveraging the Internet | .pptx |
|||
W, Mar 10th | Data driven methods: features and image comparisons | .pptx |
|||
F, Mar 12th | Data driven methods: more features with im2gps | .pptx | Project 4 due | ||
M, Mar 15th | Project 4 presentations | Project 5 out | Project 4 results | ||
W, Mar 17th | Image morphing | .ppt | |||
F, Mar 19th | Matting and Transparancy | .ppt | |||
M, Mar 22nd | Midterm review | ||||
W, Mar 24th | Midterm Exam | ||||
F, Mar 26th | Class cancelled | Project 5 due | |||
M, Mar 29th | No Classes | ||||
W, Mar 31st | No Classes | ||||
F, Apr 2nd | No Classes | ||||
M, Apr 5th | Project 5 presentations, Midterm discussion, Project 6 intro | Project 6 out | Project 5 results | ||
W, Apr 7th | Modeling light and lightfields | .ppt Szeliski chapter 13.3 |
|||
F, Apr 9th | Homographies and mosaics | .ppt Szeliski chapter 9.1 |
|||
M, Apr 12th | Automatic image correspondence | .pptx Szeliski chapter 9.1 |
|||
W, Apr 14th | RANSAC and mosaic wrapup | .pptx Szeliski chapter 9.1.5 |
|||
F, Apr 16th | Capturing and compressing high dynamic range | .pptx Debevec and Malik, SIGGRAPH 97 Szeliski Chapter 10.2 |
Final out | Project 6 due | |
M, Apr 19th | Local tone mapping and bilateral filters | .pptx Durand and Dorsey, SIGGRAPH 2002 Szeliski Chapter 10.2 |
Project 6 results | ||
W, Apr 21st | Project 6 presentations, Novel capture methods | ||||
F, Apr 23rd | High Dynamic Range Invited Lecture by Sam Hasinoff |
||||
M, Apr 26th | Coded Aperture Photography | .ppt, Levin et al., SIGGRAPH 2007 | |||
W, Apr 28th | Image-based lighting | .ppt | |||
F, Apr 30th | Light Fields Invited Lecture by Douglas Lanman |
||||
M, May 3rd | Photo quality assessment | .ppt | |||
W, May 5th | No Classes | ||||
F, May 7th | Improving photos Invited Lecture by Vladimir Bychkovsky |
||||
Exam Period, Tuesday May 18th, 2:00pm | Final project presentations | Final results |