Time and location: TR 9:35 - 10:50 pm in ZACH 590
Office hours: TR 2:00 - 3:00 pm
Office location: 406 PETR
Email: nimak@tamu.edu
Campuswire: link on Canvas
TA: Qihao He
Email: phyqh@tamu.edu
Office hours: MW 4:00 - 6:00 pm
Location: Peterson 411
Computational photography is a collection of computational algorithms and system designs (e.g., sensors, optics) to avoid the limitations of standard cameras and enable novel applications. In recent years, there has been increasing interest in computational photography because of the widespread use of the cameras by the general public through smartphones and other cheap imaging devices. In this course, we first discuss the cameras and the image formation process. We then study basic image and video processing tools like sampling, filtering, and pyramids. Finally, we discuss several image-based algorithms, such as image retargeting, high dynamic range imaging, and texture synthesis.
Undergraduate: (CSCE 315 or CSCE 331) and (MATH 304 or MATH 311)
Graduate: Graduate students are expected to have similar background.
The primary reference of the course is the following book, which covers most of the topics related to computational photography:
Computer Vision: Algorithms and Applications, by Richard Szeliski, 2010
You will lose 20% from each assignment for each day that it is late. However, there will be 5 granted late days for the entire course. You are free to use it for any of the assignments (note that, you CANNOT use it for the final project!). You will not get any bonuses for any of the unused late days. All the assignments are due at 11:59 pm on Canvas unless otherwise stated. Note that, one minute over and 23 hours over both count as one full day.
The assignments in this class are individual unless otherwise stated. For the individual assignments, all code must be written by the student. If specified in the assignment instructions, the use of external libraries for performing basic operations is allowed. However, using any external source code is NOT permitted. Collaborating with other students beyond general discussion is also NOT allowed. In particular, viewing other students’ code and/or written answers is strictly prohibited. Posting your code on publicly accessible websites (e.g., GitHub), even after the assignment deadline, is also NOT allowed.
Generative AI: The use of large language models such as ChatGPT, Copilot, or Claude is not strictly prohibited. However, these tools may be used only for debugging or clarification purposes, not for generating code. You are expected to write all code yourself, and copying or modifying AI-generated code is not permitted. If you use any AI tool in any capacity while completing an assignment, even to ask a conceptual question, you must submit a transcript of the full interaction along with your work.
The instructor may request a meeting with any student to discuss their code and assess their understanding. If a student is unable to adequately explain their own code, it will be considered an honor code violation and reported to the honor council.
If you have any questions about these policies, please contact the instructor.
| Date | Topic | Slides | Reading | Assignments |
|---|---|---|---|---|
| Jan 13 | Introduction and Overview | pptx | Szeliski Ch. 1 | |
| Jan 15 | Camera and Image Formation | pptx | Szeliski Ch. 2 | |
| Jan 20 | Camera and Image Formation | See Above | Szeliski Ch. 2 | |
| Jan 22 | ||||
| Jan 27 | Color | Szeliski Ch. 2.3.2 | ||
| Jan 29 | Sampling, Frequency, and Filtering | Szeliski Ch. 2.3.1 & 3.2 & 3.4 | ||
| Feb 3 | Sampling, Frequency, and Filtering | Szeliski Ch. 2.3.1 & 3.2 & 3.4 | ||
| Feb 5 | Sampling, Frequency, and Filtering | |||
| Feb 10 | Pyramids | Szeliski Ch. 3.5 | ||
| Feb 12 | Image Blending | Szeliski Ch. 9.3 | ||
| Feb 17 | Image Blending | Szeliski Ch. 9.3 | ||
| Feb 19 | Point processing and Image Warping | Szeliski Ch. 3.1 & 3.6.1 | ||
| Feb 24 | Homographies and Mosaics | Szeliski Ch. 9.1 | ||
| Feb 26 | Automatic Image Alignment and RANSAC | Szeliski Ch. 4.1 & 6.1.4 | ||
| Mar 3 | Automatic Image Alignment and RANSAC | Szeliski Ch. 4.1 & 6.1.4 | ||
| Mar 5 | Stereo | Szeliski Ch. 11 | ||
| Mar 10 | Spring Break -- No Class | |||
| Mar 12 | Spring Break -- No Class | |||
| Mar 17 | Stereo | Szeliski Ch. 11 | ||
| Mar 19 | Midterm | |||
| Mar 24 | Modeling Light and Lightfields | Szeliski Ch. 13.3 | ||
| Mar 26 | Image Retargeting | Avidan | ||
| Mar 31 | Image Morphing | Szeliski Ch. 3.6.2 & 3.6.3 | ||
| Apr 2 | HDR & Tonemapping | Szeliski Ch. 10.2 & Debevec | ||
| Apr 7 | HDR & Tonemapping | Szeliski Ch. 10.2 & Debevec | ||
| Apr 9 | Midterm Solution | |||
| Apr 14 | Video Textures | Szeliski Ch. 13.5.2 & Schodl | ||
| Apr 16 | Texture Synthesis and Filling | Szeliski Ch. 10.5 | ||
| Apr 21 | Coded Photography | |||
| Apr 23 | Coded Photography | |||
| Apr 28 | Redefined Day -- No Class |
*Schedule might change during the semester.
The slides in this class are heavily based on the slides from other instructors. Specifically, many slides are the exact or modified version of the slides by Alexei A. Efros, James Hays, and Rob Fergus, who in turn have used materials from Steve Seitz, Rick Szeliski, Paul Debevec, Stephen Palmer, Paul Heckbert, David Forsyth, Steve Marschner, Fredo Durand, Bill Freeman, and others, as noted in the slides. The instructor gives full permission to use these slides for academic and research purposes, but please maintain all the acknowlegements.