This advanced undergraduate course is about the fundamentals of computational photography, an emerging new research area which brings together the advancements in computer graphics, computer vision and image processing to overcome the limitations of conventional photography. The course is structured around basic topics such as cameras and image formation, high dynamic range imaging, edge-aware filtering, gradient-domain processing, deconvolution, blending and compositing, visual quality assessment, deep image enhancement, neural rendering.
The main goal of this course is to introduce students a number of different computational techniques to capture, manipulate and enrich visual media. The students are expected to develop a foundational understanding and knowledge of concepts that underly computational photography. The students will also be expected to gain hand-on experience via a set of programming assignments supplied in the complementary BBM 446 Computational Photography Practicum.
The course is taught by Erkut Erdem, the teaching assistants are Ali Baran Tasdemir and Orhan Demirci, and the student assistant is Ahmet Arda Celik.
Lectures: Mondays at 12:40-15:30 (D3)
Practicum: Mondays at 15:40-17:30 (D1)
Policies: All work on assignments must be done individually unless stated otherwise. You are encouraged to discuss with your classmates about the given assignments, but these discussions should be carried out in an abstract way. That is, discussions related to a particular solution to a specific problem (either in actual code or in the pseudocode) will not be tolerated.
In short, turning in someone else’s work, in whole or in part, as your own will be considered as a violation of academic integrity. Please note that the former condition also holds for the material found on the web as everything on the web has been written by someone else.
The course webpage will be updated regularly throughout the semester with lecture notes, presentations, assignments and important deadlines. All other course related communications will be carried out through ed. Please enroll it by following the link https://edstem.org/eu/join/WPjgMn.
Good math (calculus, linear algebra, statistics) and programming skills. An introductory course in image processing (BBM413/AIN430), and/or computer vision (BBM416/AIN431) and/or machine learning (BBM406/AIN311) is highly recommended.
Grading for BBM444/AIN434 will be based on
Grading for BBM446 will be based on
| Date | Topic | Notes |
| Feb 16 | Introduction, Digital photography [slides] | Brian Hayes, Computational Photography, American Scientist 96, 94-99, 2008 |
| Feb 23 | Image formation [slides] | Szeliski, Chapter 2 Forsyth and Ponce, Chapter 1.1 Antonio Torralba and William T. Freeman, Accidental pinhole and pinspeck cameras, CVPR 2012 |
| Mar 2 | Noise and Color [slides] | Assg1 out Szeliski, Chapter 2.3, 3.1.2, 10.1 Forsyth and Ponce, Chapter 3 Michael S. Brown, Understanding the In-Camera Image Processing Pipeline for Computer Visions, CVPR 2016 Tutorial S.J. Gortler, Chapter 19 (Color) of Foundations of 3D Computer Graphics, MIT Press, 2012 |
| Mar 9 | Exposure and high-dynamic-range imaging [slides] | Szeliski, Chapter 10.1, 10.2 Paul E. Debevec and Jitendra Malik, Recovering High Dynamic Range Radiance Maps from Photographs, SIGGRAPH 1997 Tomoo Mitsunaga and Shree K. Nayar, Radiometric Self Calibration, CVPR 1999 Erik Reinhard et al., Photographic tone reproduction for digital images, CVPR 1999 |
| Mar 16 | Edge-aware filtering [slides] | Assg1 due, Assg2 out Szeliski, Chapter 3.2, 3.3 Carlo Tomasi and Roberto Manduchi, Bilateral Filtering for Gray and Color Images, ICCV 1998 Sylvain Paris et al., A Gentle Introduction to the Bilateral Filter and Its Applications, SIGGRAPH 2008 class Georg Petschnigg et al., Digital photography with flash and no-flash image pairs, SIGGRAPH 2004 Kaiming He et al., Guided image filtering, ECCV 2010 Antoni Buades et al., A non-local algorithm for image denoising, CVPR 2005 Levent Karacan et al., Structure Preserving Image Smoothing via Region Covariances, SIGGRAPH Asia 2013 Qi Zhang et al., Rolling Guidance Filter, ECCV 2014 |
| Mar 23 | Gradient-domain image processing [slides] | Course project proposal due Szeliski, Chapter 3.1.3, 3.5.5, 10.4.3 Pérez et al., Poisson Image Editing, SIGGRAPH 2003 Agrawal et al., Removing Photography Artifacts Using Gradient Projection and Flash-Exposure Sampling, SIGGRAPH 2005 Agrawal and Raskar, Gradient Domain Manipulation Techniques in Vision and Graphics, ICCV 2007 tutorial Bhat et al., GradientShop: A Gradient-Domain Optimization Framework for Image and Video Filtering, ACM Trans. Graphics, 2010 Tumblin et al., Why I want a gradient camera?, CVPR 2005 Hua et al., A Survey on Gradient-Domain Rendering, Eurographics 2019 State of the Art Reports (STAR) Gallego et al., Event-based Vision: A Survey, IEEE TPAMI, 2020 |
| Mar 30 | Focal stacks and lightfields | Assg2 due Szeliski, Chapter 12.1.3, 14.3 |
| Apr 6 | Feedback session on projects | Assg 3 out |
| Apr 13 | Midterm Exam | |
| Apr 20 | Deconvolution, Coded photography | Assg3 due Szeliski, Chapter 3.4.3, 3.4.4, 10.1.4, 10.3 |
| Apr 27 | Deep Learning Basics for Computational Photography | Project progress reports due Assg4 out Szeliski, Chapter 5.1,5.3,5.4 |
| May 4 | Deep Generative Models and their applications | Szeliski, Chapter 5.5.4 |
| May 11 | Visual quality assessment | Assg4 due |
| May 18 | Project presentations, Course wrap-up | Final project reports due |