15-463 (15-663, 15-862)
Computational Photography, Fall 2017
|Time:||Mondays, Wednesdays 12:00 PM - 1:20 PM|
|Instructor:||Ioannis (Yannis) Gkioulekas|
|Teaching Assistant:||Tiancheng Zhi|
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: Please use  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.
Slides will be updated on this website after each lecture.
|M, Aug 28||Introduction||pdf, pptx|
|W, Aug 30||Digital photography||pdf, pptx||HW1 out|
|M, Sep 4||No class (Labor Day)|
|W, Sep 6||Image filtering and template matching||pdf, pptx|
|M, Sep 11||More image filtering||pdf, pptx|
|W, Sep 13||Subsampling and image pyramids||pdf, pptx||HW1 due, HW2 out|
|M, Sep 18||Frequency-domain filtering||pdf, pptx|
|W, Sep 20||Image compositing||pdf, pptx|
|M, Sep 25||Image carving|
|W, Sep 27||No class||HW2 due, HW3 out|
|M, Oct 2||Morphing|
|W, Oct 4||Color|
|M, Oct 9||High-dynamic-range imaging and tonemapping|
|W, Oct 11||Guest lecture: Ravi Teja Mullapudi||HW3 due, HW4 out|
|M, Oct 16||Camera models|
|W, Oct 18||Lenses, exposure, and (de)focus|
|M, Oct 23||Light fields and focal stacks|
|W, Oct 25||Inverse filtering and deconvolution||HW4 due, HW5 out|
|M, Oct 30||Homographies|
|W, Nov 1||Image alignment|
|M, Nov 6||Single and multi-view 3D|
|W, Nov 8||Guest lecture: Suren Jayasuriya||HW5 due, HW6 out|
|M, Nov 13||Computational light transport|
|W, Nov 15||More computational light transport|
|M, Nov 20||No class (Thanksgiving)|
|W, Nov 22||Imaging outside the line of sight||HW6 due, HW7 out|
|M, Nov 27||Guest lecture: Aswin Sankaranarayanan|
|W, Nov 29||How does a Kinect work|
|M, Dec 4||Image-based relighting|
|W, Dec 6||Data-driven methods||HW7 due|
These lecture notes have been pieced together from many different people and places. Special thanks to: