Course Information


This graduate 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 covers some fundemental 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 aim of this course is to demonstrate students variety of different computational methods to capture, manipulate and enrich visual media. The students are expected to gain a foundational understanding and knowledge of concepts related to computational photography. The students will also be expected to gain hand-on experience via a project supplied during the semester.

The course is taught by Ahmet Selman Bozkır.

Exam Dates

Midterm: 1 Dec 2022, Thursday at 13:30 (D5)

Time and Location

Lectures: Thursdays at 13:00-15:50 (D5)

Reference Books

  • Computer Vision: Algorithms and Applications, Richard Szeliski, Second Edition, 2022 (pdf available online).
  • Photography (10th edition), Barbara London, Jim Stone, and John Upton, Pearson, 2010
  • Computer Vision: A Modern Approach (2nd Edition), David Forsyth and Jean Ponce, Prentice Hall, 2012.

Policies: All work on project must be done with pairs unless stated otherwise. You are encouraged to discuss with your classmates about the given project, 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. The conducted study must be reported in a suitable format and be sent through email.


The course webpage will be updated regularly throughout the semester with lecture notes, presentations, and important deadlines.


Good math (calculus, linear algebra, statistics) and programming skills. An introductory course in image processing (BBM413), and/or computer vision (BBM416) and/or machine learning (BBM406) is highly recommended.

Course Requirements and Grading

Grading for CMP721 will be based on

  • Class participation (5%),
  • Course project (done in pairs) (40%),
  • Midterm exam (20%), and
  • Final exam (35%).


Date Topic Notes
Oct 6 Introduction, Digital photography [slides] Brian Hayes, Computational Photography, American Scientist 96, 94-99, 2008
Oct 13-20 Image Formation [slides] Camera Simulator
Oct 27 Camera Pipeline [slides] Understanding Gamma Correction
Nov 3 Noise - Color [slides]
Nov 10 Exposure - High Dynamic Range - Tonemapping [slides] High Dynamic Range Photography
Tone Mapping
Nov 17 Filtering - Bilateral and NL Means Filters [slides] Bilateral Filtering - pp(1-28)
Nov 24 Gradient Domain Image Processing - Blending - Gradient Camera [slides] Szeliski, Chapter 3.1.3, 3.5.5, 10.4.3
Pérez et al.,Poisson Image Editing,SIGGRAPH 2003
Tumblin et al.,Why I want a gradient camera?, CVPR 2005


Related Conferences

  • IEEE International Conference on Computer Vision (ICCV)
  • European Conference on Computer Vision (ECCV)
  • IEEE Conference on Computer Vision and Pattern Recognition (CVPR)
  • IEEE International Conference on Computational Photography (ICCP)
  • Advances in Neural Information Processing Systems (NeurIPS)
  • International Conference on Learning Representations (ICLR)

Reference Journals

  • ACM Transactions on Graphics (ACM TOG)
  • IEEE Transactions on Image Processing (IEEE TIP)
  • IEEE Transactions on Multimedia (IEEE TMM)
  • IEEE Transactions on Pattern Analysis and Machine Intelligence (IEEE TPAMI)
  • International Journal of Computer Vision (IJCV)
  • Computer Vision and Image Understanding (CVIU)
  • Image and Vision Computing (IMAVIS)
  • Journal of Electronic Imaging

Python Resources

Linear Algebra