Course Information

About

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

The course is taught by Erkut Erdem, and the teaching assistant is Orhan Demirci.

        

Time and Location

Lectures: Mondays at 09:40-12:30 (D9)
Practicum: Mondays at 16:40-17:30 (D8)

Reference Books

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.

Communication

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/aQPP8t.

Pre-requisites

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.

Course Requirements and Grading

Grading for BBM444/AIN434 will be based on

Grading for AIN435/BBM446 will be based on

Schedule

Date Topic Notes
Feb 17 Introduction, Digital photography [slides] Brian Hayes, Computational Photography, American Scientist 96, 94-99, 2008
Feb 24 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 3 Noise and Color Assg1 out
Mar 10 Exposure and high-dynamic-range imaging
Mar 17 Edge-aware filtering Assg1 due, Assg2 out
Mar 24 Gradient-domain image processing Course project proposal due
Mar 31 No class - National Holiday Assg2 due
Apr 7 Focal stacks and lightfields Assg 3 out
Apr 14 Midterm Exam
Apr 21 Deconvolution, Coded photography Assg3 due
Apr 28 Convolutional Neural Networks Project progress reports due
Assg4 out
May 5 Deep Generative Models and their applications
May 12 Visual quality assessment
May 19 No class - National Holiday
TBA Project presentations, Course wrap-up Final project reports due

Resources

Related Conferences

  • IEEE International Conference on Computer Vision (ICCV)
  • European Conference on Computer Vision (ECCV)
  • IEEE Conference on Computer Vision and Pattern Recognition (CVPR)
  • SIGGRAPH
  • SIGGRAPH Asia
  • 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)

Python Resources

Linear Algebra

Resources for scientific writing and talks