# 15-463, 15-663, 15-862 Computational photography, Fall 2026

https://imaging.cs.cmu.edu/15-463/#syllabus

[Skip to main content](https://imaging.cs.cmu.edu/15-463/#main) [![Carnegie Mellon computational imaging](https://imaging.cs.cmu.edu/shared/imaging.svg)](https://imaging.cs.cmu.edu/) # [15-463, 15-663, 15-862 Computational photography](https://imaging.cs.cmu.edu/15-463/index.html)
Carnegie Mellon University, Fall 2026
  * Time: Mondays, Wednesdays 11:00 am–12:20 pm ET
  * Location: Wean 4625
  * Instructor: [Ioannis (Yannis) Gkioulekas](http://www.cs.cmu.edu/%7Eigkioule/)
  * Teaching assistants: [Petra Schlenker](https://peterschlenker.github.io/), [Shengxi Wu](https://kitkat-w.github.io/)
  * Platforms: [Canvas](https://canvas.cmu.edu/courses/56486), [Slack](https://join.slack.com/t/cmu15-463/shared_invite/zt-47jd9hgiv-Xqq_63vsVQMfws~zV6dblA)
  * Quick links: [description](https://imaging.cs.cmu.edu/15-463/#description), [prerequisites](https://imaging.cs.cmu.edu/15-463/#prerequisites), [textbooks](https://imaging.cs.cmu.edu/15-463/#textbooks), [evaluation](https://imaging.cs.cmu.edu/15-463/#evaluation), [cameras](https://imaging.cs.cmu.edu/15-463/#cameras), [office hours](https://imaging.cs.cmu.edu/15-463/#contact), [research](https://imaging.cs.cmu.edu/15-463/#research), [syllabus](https://imaging.cs.cmu.edu/15-463/#syllabus)

![Grid of example results from the computational photography techniques covered in the course](https://imaging.cs.cmu.edu/15-463/index_files/teaser2.png) Computational photography brings together graphics, vision, optics, and imaging. In this course you will learn all about: (top, left to right) photographic optics and image processing pipeline; exposure, high-dynamic-range imaging, and noise; color and image editing; focus, lightfields, and coded photography; (bottom, left to right) radiometry and photometric stereo; projective geometry, stereo, and structured light; time-of-flight imaging and computational light transport.
## Course description
Computational photography is the convergence of computer graphics, computer vision, optics, and imaging. Its role is to overcome the limitations of traditional cameras, by combining imaging and computation to enable new and enhanced ways of capturing, representing, and interacting with the physical world.
This course provides an overview of the state of the art in computational photography. At the start of the course, we will study modern image processing pipelines, including those encountered on mobile phone and DSLR cameras, and advanced image and video editing algorithms. Then we will continue to learn about the physical and computational aspects of tasks such as 3D scanning, coded photography, lightfield imaging, time-of-flight imaging, VR/AR displays, and computational light transport. Near the end of the course, we will discuss active research topics, such as creating cameras that capture video at the speed of light, cameras that look around walls, or cameras that can see below skin.
The course has a strong hands-on component, in the form of six homework assignments and a final project. In the homework assignments, students will implement many of the methods covered in class, both acquiring their own photographs and developing the computational tools to process them. Example homework includes building end-to-end HDR imaging pipelines and structured light scanners. For their final projects, students will have the choice to use modern sensors and other optical instrumentation provided by the instructor (lightfield cameras, time-of-flight sensors, projectors, laser sources, and so on).
**Cross-listing:** This is both an advanced undergraduate and introductory graduate course, and it is cross-listed as 15-463 (for undergraduate students), 15-663 (for Master's students), and 15-862 (for PhD students). Please make sure to register for the section of the class that matches your current enrollment status.
**Learning objectives:** At the end of this course, students will be able to:
  * Build computational imaging pipelines for camera models, 3D reconstruction (focus-based methods, structured light, photometric stereo), high-dynamic range imaging, lightfield imaging, and flash/no-flash photography.
  * Derive technical results on optics, light transport, epipolar geometry, and other technical topics relating to computational imaging and computational photography.
  * Perform several calibration tasks necessary for using modern imaging equipment (radiometric, color, geometric, noise, and aberration calibration).
  * Select application-appropriate and operate modern imaging equipment, including lightfield cameras, time-of-flight sensors, projectors, laser sources, and so on.
  * Read advanced papers on computational imaging and computational photography, implement their programming and hardware components, and develop new methods improving upon this state of the art.


## Prerequisites
This course requires familiarity with linear algebra, calculus, programming, and doing computations with images. In particular, either of the following courses can serve as proof that you satisfy these prerequisites:
  * 15-362, 15-662 Computer Graphics, OR
  * 15-468, 15-668, 15-868 Physics-based Rendering, OR
  * 16-385 Computer Vision, OR
  * 16-720 Computer Vision, OR
  * 16-820 Advanced Computer Vision, OR
  * 18-453 Introduction to XR Systems, OR
  * 18-793 Image and Video Processing.


If you want to enroll but have not taken any of the above courses, please make sure to contact the instructor! We make a lot of exceptions each year, on a case-by-case basis. The course does not require prior experience with photography or imaging.
## Textbooks
There is no required textbook. Each lecture and homework assignment includes an extensive list of references (primarily papers) that you will need to consult to successfully complete the course.
The following textbooks can also be useful references in general. All of them are available online from the CMU library:
  * _[Computer Vision: Algorithms and Applications](http://szeliski.org/Book/)_ , by Richard Szeliski.
  * _[Computational Imaging](https://imagingtext.github.io/)_ , by Ayush Bansai, Achuta Kadambi, and Ramesh Raskar.
  * _Multiple View Geometry in Computer Vision_ , by Richard Hartley and Andrew Zisserman.
  * _Computer Vision: A Modern Approach_ , by David Forsyth and Jean Ponce.
  * _Foundations of 3D Computer Graphics_ , by Steven Gortler.
  * _Digital Image Processing_ , by Rafael Gonzalez and Richard Woods.
  * _Photography_ , by Barbara London and John Upton.


## Evaluation
Your final grade will be made up of:
  * Six two-week homework assignments (80%).
  * Final project (20%).


**Homework assignments:** All homework assignments will have a programming component, where students will use Python to implement a computational photography pipeline, and a photography component, where students will use a DSLR camera to capture and process their own images.
**Late days:** For the homework assignments, students will have a total of five free late days. Any additional late days will each incur a 10% penalty. Additionally, no homework assignment may be submitted more than three days after its due date, and any such submission will not be graded. We will enforce submission deadlines **strictly** for the purposes of counting late days. We will not make any exceptions for reasons such as upload delays, submitting incorrect files, and so on.
**Collaboration policy:** We encourage students to work in groups, but each student must submit their own work. This includes: writing your own code, building your own imaging setups, taking your own photographs, and producing your own writeup. If you work as a group, include the names of your collaborators in your writeup. You absolutely must not share or copy code, data, or text from any source. Additionally, you must not use any external code or data unless explicitly permitted. These and any other forms of cheating are prohibited and will result in a failing grade for the entire course (not just the assignment you are caught on). If you are uncertain about whether some activity would be cheating, just be cautious and ask the teaching staff before proceeding. Additionally, you must not supply any code or writeups you complete during this course to other students in future instances of the course, or make this material available (e.g., on the web) for use in future instances of the course. You must make sure any online repositories you use for the course are kept private.
**Submitting homework:** We will use **Gradescope** , available through Canvas, for submitting and grading homework. When submitting homework, students must follow the **[homework submission guidelines](https://imaging.cs.cmu.edu/15-463/assignments/submission_guidelines.pdf)**.
**Final project:** Towards the end of the semester, each student will work on a project of their own choosing. Final project reports and presentations will be due during the final exam week. Details are available in the **[final project page](https://imaging.cs.cmu.edu/15-463/final_project.html)**.
**15-663, 15-862:** Students taking 15-663 or 15-862 will need to do a more substantial final project.
**Final project competition:** A panel of judges comprising computational photography faculty at CMU will select the two best projects. The winning students will receive a free **[DSLR camera](https://imaging.cs.cmu.edu/15-463/#cameras)**. The competition is separate from the grade for the final project.
## Cameras
Students do **not** need to own a digital camera for this course—though they are welcome to use it if they own one with manual controls. We will provide about [50 camera kits](https://imaging.cs.cmu.edu/15-463/index_files/cameras.jpg) (Nikon D3300/3400/3500 DSLR camera, 18-55 mm zoom lens, tripod) to students that do not have one. Students will be held financially responsible for any camera or other borrowed equipment they fail to return, or return with damaged or missing parts.
**Camera tutorial:** To make it easier for students to use the camera kits, we have put together a **[camera tutorial](https://imaging.cs.cmu.edu/15-463/assignments/camera_tutorial.pdf)**.
## Email, office hours, and discussion
**Email:** Please use [15463] in the title when emailing the teaching staff!
**Office hours:** Teaching staff will have regular office hours at the following times:
  * **Mondays 2:00–3:00 pm ET** , Petra.
  * **Wednesdays 1:00–2:00 pm ET** , Yannis.
  * **Thursdays 4:00–5:00 pm ET** , Shengxi.


All office hours will take place in person in Smith Hall (EDSH) 236 (graphics lounge).
Feel free to email us about scheduling additional office hours. Please do not email the teaching staff with questions about homework or grading. You should post those on Slack.
**Discussion:** We will use Slack for course discussion and announcements.
## Interested in research?
We are actively looking for students at all levels (undergraduate, MS, PhD) to help in projects on various aspects of computational photography, imaging, rendering, and graphics in general. If you are interested, please send Yannis an email (or talk to him in person in class).
You should also take a look at the Carnegie Mellon computational imaging **[website](http://imaging.cs.cmu.edu/)** and **[YouTube channel](https://www.youtube.com/@cmu-computational-imaging)** , to find more information about related projects active here at CMU.
Finally, you are welcome to attend the imaging group meetings during the semester. If you want to receive announcements about the group meetings, as well as other emails regarding photography and imaging research, ask Yannis to add you to the imaging group's mailing list.
## (Tentative) syllabus
Dates and topics are likely to change during the semester. Slides will be uploaded on this website before each lecture.  
| Date  | Topics  | Homework  |  
| --- | --- | --- |  
| M, Aug 24  | [Introduction](https://imaging.cs.cmu.edu/15-463/lectures/lecture_01.pdf)  |   |  
| W, Aug 26  | [Digital photography](https://imaging.cs.cmu.edu/15-463/lectures/lecture_02.pdf)  |   |  
| F, Aug 28  |   | [HW1 out](https://imaging.cs.cmu.edu/15-463/assignments/assgn1.zip)  |  
| M, Aug 31  | [Pinholes and lenses](https://imaging.cs.cmu.edu/15-463/lectures/lecture_03.pdf)  |   |  
| W, Sep 02  | [Photographic optics and aberrations](https://imaging.cs.cmu.edu/15-463/lectures/lecture_04.pdf)  |   |  
| M, Sep 07  | **No class (Labor Day)**  |   |  
| W, Sep 09  | [Exposure and high-dynamic-range imaging](https://imaging.cs.cmu.edu/15-463/lectures/lecture_05.pdf)  |   |  
| F, Sep 11  |   | HW1 due, [HW2 out](https://imaging.cs.cmu.edu/15-463/assignments/assgn2.zip)  |  
| M, Sep 14  | [Noise](https://imaging.cs.cmu.edu/15-463/lectures/lecture_06.pdf)  |   |  
| W, Sep 16  | [Color](https://imaging.cs.cmu.edu/15-463/lectures/lecture_07.pdf)  |   |  
| M, Sep 21  | [Bilateral and edge-aware filtering](https://imaging.cs.cmu.edu/15-463/lectures/lecture_08.pdf)  |   |  
| W, Sep 23  | [Gradient-domain image processing](https://imaging.cs.cmu.edu/15-463/lectures/lecture_09.pdf)  |   |  
| F, Sep 25  |   | HW2 due, [HW3 out](https://imaging.cs.cmu.edu/15-463/assignments/assgn3.zip)  |  
| M, Sep 27  | [Focal stacks and depth from (de)focus](https://imaging.cs.cmu.edu/15-463/lectures/lecture_10.pdf)  |   |  
| W, Sep 30  | [Lightfields](https://imaging.cs.cmu.edu/15-463/lectures/lecture_10.pdf)  |   |  
| M, Oct 05  | [Deconvolution](https://imaging.cs.cmu.edu/15-463/lectures/lecture_11.pdf)  |   |  
| W, Oct 07  | [Coded photography](https://imaging.cs.cmu.edu/15-463/lectures/lecture_12.pdf)  |   |  
| F, Oct 09  |   | HW3 due, [HW4 out](https://imaging.cs.cmu.edu/15-463/assignments/assgn4.zip)  |  
| M, Oct 12  | **No class (Fall break)**  |   |  
| W, Oct 14  | **No class (Fall break)**  |   |  
| M, Oct 19  | [Radiometry and reflectance](https://imaging.cs.cmu.edu/15-463/lectures/lecture_13.pdf)  |   |  
| W, Oct 21  | [Photometric stereo](https://imaging.cs.cmu.edu/15-463/lectures/lecture_14.pdf)  |   |  
| M, Oct 26  | [Geometric camera modeling and calibration](https://imaging.cs.cmu.edu/15-463/lectures/lecture_15.pdf)  |   |  
| W, Oct 28  | [Two-view geometry](https://imaging.cs.cmu.edu/15-463/lectures/lecture_16.pdf)  |   |  
| F, Oct 30  |   | HW4 due, [HW5 out](https://imaging.cs.cmu.edu/15-463/assignments/assgn5.zip)  |  
| M, Nov 02  | [Disparity and stereo](https://imaging.cs.cmu.edu/15-463/lectures/lecture_16.pdf)  |   |  
| W, Nov 04  | [Time-of-flight imaging](https://imaging.cs.cmu.edu/15-463/lectures/lecture_17.pdf)  |   |  
| M, Nov 09  | [Indirect illumination](https://imaging.cs.cmu.edu/15-463/lectures/lecture_18.pdf)  |   |  
| W, Nov 11  | [Light transport matrices](https://imaging.cs.cmu.edu/15-463/)  |   |  
| F, Nov 13  |   | HW5 due, [HW6 out](https://imaging.cs.cmu.edu/15-463/assignments/assgn6.zip)  |  
| M, Nov 16  | Advanced topics  |   |  
| W, Nov 18  | Advanced topics  |   |  
| F, Nov 20  |   | Project proposal due  |  
| M, Nov 23  | Advanced topics  |   |  
| W, Nov 25  | **No class (Thanksgiving)**  |   |  
| M, Nov 30  | Advanced topics  |   |  
| W, Dec 02  | [Wrap up](https://imaging.cs.cmu.edu/15-463/lectures/lecture_20.pdf)  |   |  
| F, Dec 04  |   | HW6 due  |  
## Previous course offerings
  * [15-463, 15-663, 15-862, Fall 2025](https://imaging.cs.cmu.edu/15-463/2025_fall/) (taught by Ioannis Gkioulekas)
  * [15-463, 15-663, 15-862, Fall 2024](https://imaging.cs.cmu.edu/15-463/2024_fall/) (taught by Ioannis Gkioulekas)
  * [15-463, 15-663, 15-862, Fall 2023](https://imaging.cs.cmu.edu/15-463/2023_fall/) (taught by Ioannis Gkioulekas)
  * [15-463, 15-663, 15-862, Fall 2022](https://imaging.cs.cmu.edu/15-463/2022_fall/) (taught by Ioannis Gkioulekas)
  * [15-463, 15-663, 15-862, Fall 2021](https://imaging.cs.cmu.edu/15-463/2021_fall/) (taught by Ioannis Gkioulekas)
  * [15-463, 15-663, 15-862, Fall 2020](https://imaging.cs.cmu.edu/15-463/2020_fall/) (taught by Ioannis Gkioulekas)
  * [15-463, 15-663, 15-862, Fall 2019](https://imaging.cs.cmu.edu/15-463/2019_fall/) (taught by Ioannis Gkioulekas)
  * [15-463, 15-663, 15-862, Fall 2018](https://imaging.cs.cmu.edu/15-463/2018_fall/) (taught by Ioannis Gkioulekas)
  * [15-463, 15-663, 15-862, Fall 2017](https://imaging.cs.cmu.edu/15-463/2017_fall/) (taught by Ioannis Gkioulekas)
  * [15-463, 15-663, 15-862, Fall 2015](http://graphics.cs.cmu.edu/courses/15-463/2015_fall/) (taught by Kris Kitani)


## Similar courses at CMU and elsewhere
  * [Computational Imaging and Display](http://stanford.edu/class/ee367/) (Gordon Wetzstein, Stanford)
  * [Computational Photography](https://courses.engr.illinois.edu/cs445/fa2015/) (Derek Hoiem, UIUC)
  * [Computational Photography](http://cs.brown.edu/courses/csci1290/) (James Hays, Brown)
  * [Computational Photography](http://web.media.mit.edu/~raskar/photo/) (Ramesh Raskar and Jack Tumblin, SIGGRAPH course)
  * [Digital and Computational Photography](http://stellar.mit.edu/S/course/6/sp12/6.815/index.html) (Fredo Durand, MIT)
  * [Introduction to Computational Photography](http://users.eecs.northwestern.edu/~ollie/eecs395/eecs395.htm) (Oliver Cossairt, Northwestern)
  * [Introduction to Visual Computing](http://www.cs.toronto.edu/~kyros/courses/320/) (Kyros Kutulakos, University of Toronto)
  * [Visual Computing Systems](http://graphics.cs.cmu.edu/courses/15769/fall2016/) (Kayvon Fatahalian, CMU)


## Acknowledgments
The materials for this course have been pieced together from many different people and places. Special thanks to the following colleagues for sharing their course materials or making them available online (in alphabetical order): Supreeth Achar, Andrew Adams, Amit Agrawal, Michael Brown, Oliver Cossairt, Fredo Durand, Alyosha Efros, Kayvon Fatahalian, Steven Gortler, Mohit Gupta, Sam Hasinoff, James Hays, Hugues Hoppe, Ivo Ihrke, Wojciech Jarosz, Kris Kitani, Kyros Kutulakos, Douglas Lanman, Jaako Lehtinen, Anat Levin, Marc Levoy, Steve Marschner, Srinivasa Narasimhan, Shree Nayar, Ren Ng, Matthew O'Toole, Sylvain Paris, Ravi Ramamoorthi, Ramesh Raskar, Aswin Sankaranarayanan, Robert Sumner, Richard Szeliski, Gavriel Taubin, James Tompkin, Gordon Wetzstein, Todd Zickler. Special thanks to Jiatian (Caroline) Sun for developing the renderer used in some of the homework assignments. Individual slides and homework assignments include their own credits.
