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.

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 conference-style 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 25Image carving
W, Sep 27No classHW2 due, HW3 out
TBDTexture synthesis
M, Oct 2Morphing
W, Oct 4Color
M, Oct 9High-dynamic-range imaging and tonemapping
W, Oct 11Guest lecture: Ravi Teja MullapudiHW3 due, HW4 out
M, Oct 16Camera models
W, Oct 18Lenses, exposure, and (de)focus
M, Oct 23Light fields and focal stacks
W, Oct 25Inverse filtering and deconvolutionHW4 due, HW5 out
M, Oct 30Homographies
W, Nov 1Image alignment
M, Nov 6Single and multi-view 3D
W, Nov 8Guest lecture: Suren JayasuriyaHW5 due, HW6 out
M, Nov 13Computational light transport
W, Nov 15More computational light transport
M, Nov 20No class (Thanksgiving)
W, Nov 22Imaging outside the line of sightHW6 due, HW7 out
M, Nov 27Guest lecture: Aswin Sankaranarayanan
W, Nov 29How does a Kinect work
M, Dec 4Image-based relighting
W, Dec 6Data-driven methodsHW7 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: