15-463 (15-663, 15-862)
Computational Photography, Fall 2017
Time: Mondays, Wednesdays 12:00 PM - 1:20 PM
Location: GHC 4102
Instructor: Ioannis (Yannis) Gkioulekas
Teaching Assistant: Tiancheng Zhi
Course Description

Computational Photography is the convergence of computer graphics, computer vision and photography. Its role is to overcome the limitations of the traditional camera by using computational techniques to enable new and enhanced ways of capturing, representing, and interacting with visual stimuli.

In this advanced undergraduate course, we will study ways in which samples from the real world (images and video) can be used to generate compelling imagery. We will learn how to acquire, represent, and render scenes from digitized photographs. Several popular image-based algorithms will be presented, with an emphasis on using these techniques to build practical systems. This hands-on emphasis will be reflected in the programming assignments, in which students will have the opportunity to acquire their own images of indoor and outdoor scenes and develop the image analysis and synthesis tools needed to extract information from them.


This course requires programming experience (especially Matlab), and familiarity with linear algebra, basic calculus, and probability. Background in computer graphics, computer vision, or image processing will be helpful. This course does not significantly overlap with 15-462, and can be taken concurrently.


Readings will be assigned from the following textbook (available online for free):

Additional readings will be assigned from relevant papers. Readings will be posted at the last slide of each lecture.

The following textbooks can also be useful references but are not required:


Your final grade will be made up from:

Homework assignments: All homework assignments will have a programming component, and some of them will also include a photography component where students will capture and process their own images. The programming component of all assignments be done in Matlab. The first assignment will serve as a short Matlab tutorial. We have collected a few useful Matlab resources here.

Late days: For the homework assignments, students will be allowed a total of five free late days. Any additional late days will each incur a 10% penalty. No more than three late days may be used per each assignment.

Final project: Details about the final project are available here.

15-663, 15-862: Students taking 15-663 or 15-862 will be required to do a more substantial final project, as well as submit a longer paper describing their project.

Submitting homeworks: We use Canvas for submitting and grading homeworks.


Students are highly encouraged to obtain a digital camera for use in the course. Any digital camera with manual controls should work. A few cameras will be provided by the instructors.

Email, Office Hours, and Discussion

Email: Please use [15463] in the title when emailing the teaching staff!

Office hours: Regular office hours will be as shown below.

Feel free to email us about scheduling additional office hours.

Discussion: We use Piazza for class discussion and announcements.

(Tentative) Syllabus

Slides will be updated on this website after each lecture.

M, Aug 28Introductionpdf, pptx
W, Aug 30Digital photographypdf, pptxHW1 out
M, Sep 4No class (Labor Day)
W, Sep 6Image filtering and template matchingpdf, pptx
M, Sep 11More image filteringpdf, pptx
W, Sep 13Subsampling and image pyramidspdf, pptxHW1 due, HW2 out
M, Sep 18Frequency-domain filteringpdf, pptx
W, Sep 20Image compositingpdf, pptx
M, Sep 25No class
W, Sep 27No classHW2 due, HW3 out
F, Sep 29Looking for seamspdf, pptx
M, Oct 2Texture synthesis and image analogiespdf, pptx
W, Oct 4Image warpingpdf, pptx
F, Oct 6Colorpdf, pptx
M, Oct 9High-dynamic-range imaging and tonemappingpdf, pptx
W, Oct 11Guest lecture: Ravi Teja MullapudipdfHW3 due, HW4 out
M, Oct 16Pinhole cameraspdf, pptx
W, Oct 18Lenses, exposure, and (de)focuspdf, pptx
M, Oct 23Focal stacks and lightfieldpdf, pptx
W, Oct 25Deconvolutionpdf, pptxHW4 due
M, Oct 30Coded photographypdf, pptxproject proposals due
W, Nov 1Homographies and image correspondencespdf, pptxHW5 out
M, Nov 6Structure from motionpdf, pptx
W, Nov 8Guest lecture: Suren Jayasuriyapdf, pptx
M, Nov 13Computational light transportpdf, pptx
W, Nov 15More computational light transportpdf, pptx
M, Nov 20Time-of-flight imagingpdf, pptxHW5 due
W, Nov 22No class (Thanksgiving)
M, Nov 27Guest lecture: Aswin Sankaranarayananpdf, pptx
W, Nov 29Imaging outside the line of sightpdf, pptxHW6 out
M, Dec 4Structured lightpdf, pptx
W, Dec 6Fourier opticspdf, pptxHW6 due
Previous Course Offerings
Similar Courses at CMU and Elsewhere
Special Thanks

These lecture notes have been pieced together from many different people and places. Special thanks to: