Computational Photography
Spring 2024
Instructor: Nima Kalantari

Course information

Time and location: MWF 3:00 - 3:50 pm in CHEN 102
Office hours: MW 4:10 - 5:10 pm
Office location: 406 PETR
Email: nimak@tamu.edu
Campuswire: link on Canvas

TA: Libing Zeng
Email: libingzeng@tamu.edu
Office hours: TR 2:00 - 4:00 pm
Location: Peterson 402

Overview

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.

Prerequisites

Undergraduate: (CSCE 315 or CSCE 331) and (MATH 304 or MATH 311)
Graduate: Graduate students are expected to have similar background.

Textbook

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

Grading

Late Submissions

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.

Academic Integrity

The assignments in this class are individual unless otherwise stated. For the individual assignments, all the codes need to be written by the student. If indicated in the assignment’s instruction, the use of external libraries for performing basic operations is allowed. However, using an outside source code is NOT permitted. Note that the use of large language models like ChatGPT is considered an outside source and is NOT allowed. Moreover, collaborating with other students on assignments beyond general discussions is NOT allowed. In general, looking at other students’ code and/or written answers is NOT allowed. Posting the code on publicly available websites (e.g., GitHub), even after the assignment deadline, is NOT allowed. If the students have any questions regarding this issue, they should contact the instructor. The students should not post their code online even after the deadline for the assignment has passed.

Schedule*

Date Topic Slides Reading Assignments
Jan 17 Introduction and Overview pptx Szeliski Ch. 1
Jan 19 Camera and Image Formation pptx Szeliski Ch. 2.2.3 HW 1 Out
Jan 22 Camera and Image Formation See Above Szeliski Ch. 2.2.3
Jan 24 SIGGRAPH Deadline -- No Class
Jan 26 Camera and Image Formation See Above Szeliski Ch. 2.2.3
Jan 29 Camera and Image Formation See Above Szeliski Ch. 2.2.3 HW 1 Due
Jan 31 Color pptx Szeliski Ch. 2.3.2
Feb 2 Color See Above Szeliski Ch. 2.3.2
Feb 5 Color See Above Szeliski Ch. 2.3.2 HW 2 Out
Feb 7 Sampling, Frequency, and Filtering pptx Szeliski Ch. 3.2 & 3.4
Feb 9 Sampling, Frequency, and Filtering See Above Szeliski Ch. 3.2 & 3.4
Feb 12 Sampling, Frequency, and Filtering See Above Szeliski Ch. 3.2 & 3.4
Feb 14 Pyramids pptx Szeliski Ch. 3.5 HW 2 Due
Feb 16 Pyramids See Above Szeliski Ch. 3.5
Feb 19 Image Blending pptx Szeliski Ch. 8.4.4 HW 3 Out
Feb 21 Image Blending See Above Szeliski Ch. 8.4.4
Feb 23 Image Blending See Above Szeliski Ch. 8.4.4
Feb 26 Point processing and Image Warping pptx Szeliski Ch. 3.1 & 3.6 HW 3 Due & HW 4 Out
Feb 28 Point processing and Image Warping See Above Szeliski Ch. 3.1 & 3.6
Mar 1 Point processing and Image Warping See Above Szeliski Ch. 3.1 & 3.6
Mar 4 Homographies and Mosaics pptx Szeliski Ch. 8.2
Mar 6 Automatic Image Alignment and RANSAC pptx Szeliski Ch. 7.1 & 8.1
Mar 8 Automatic Image Alignment and RANSAC See Above Szeliski Ch. 7.1 & 8.1 HW 4 Due
Mar 11 Spring Break -- No Class
Mar 13 Spring Break -- No Class
Mar 15 Spring Break -- No Class
Mar 18 Stereo pptx Szeliski Ch. 12.1 & 12.2
Mar 20 Stereo See Above Szeliski Ch. 12.1 & 12.2 Final Project Out
Mar 22 Stereo See Above Szeliski Ch. 12.1 & 12.2
Mar 25 Midterm
Mar 27 Modeling Light and Light fields pptx Szeliski Ch. 14.3
Mar 29 Reading Day -- No Class
Apr 1 Image Retargeting pptx Avidan Proposal Due
Apr 3 Image Retargeting See Above Avidan HW 5 Out
Apr 5 Image Morphing pptx Szeliski Ch. 3.6.2 & 3.6.3
Apr 8 Image Morphing See Above Szeliski Ch. 3.6.2 & 3.6.3
Apr 10 HDR & Tonemapping pptx Szeliski Ch. 10.2
Apr 12 HDR & Tonemapping See Above Szeliski Ch. 10.2 HW 5 Due
Apr 15 HDR & Tonemapping See Above Szeliski Ch. 10.2 HW 6 Out
Apr 17 Midterm Solution
Apr 19 Video Textures pptx Schodl
Apr 22 Texture Synthesis and Filling pptx Szeliski Ch. 10.5
Apr 24 Image Analogies and Scene Completion pptx Szeliski Ch. 10.5.1 & 10.5.2 HW 6 Due
Apr 26 Image Analogies and Scene Completion See Above Szeliski Ch. 10.5.1 & 10.5.2
Apr 29

*Schedule might change during the semester.

Acknowledgments

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 acknowledgments.