The goal of this course is to introduce you to the basics of how computation
has impacted the entire workflow of photography (i.e., from how images
are captured, manipulated and collaborated on, and shared).
The course begins with a conceptualization of photography as drawing with light and the capturing of light to form images/videos. You will learn about and understand how the optics and the sensor within a camera are generalized, as well as learn about and understand how the lighting and other aspects of the environment are also generalized through computation to capture novel images.
Pre- and post-processing techniques used to manipulate and improve images will be discussed. Activities in this course are selected to give you first hand experience with the power of the web and the Internet for both analyzing and sharing images.
This course is interdisciplinary and draws upon concepts and principles from computer vision, computer graphics, image processing, mathematics and optics.
We look forward to your engagement and participation with both the course and its discussion forums.
About the TA
Denis Lantsman is the TA for the class. Denis is a graduate of Harvey Mudd College, and is currently finishing his MS in Machine Learning at Georgia Tech. He is responsible for managing the coursera site, monitoring the forums for student feedback, creating the homework assignments and quizzes, as well as recording weekly tutorials to help students with their programming.
Week 0 (Module 0): Introductions with an overview of the course structure and content. Topics covered in this module include a description of what is Computational Photography (i.e., whereby examples of dual photography and panoramas are described) and reasons for studying this emerging interdisciplinary field .
Week 1 (Module 1): Overview of what is a digital image. Topics covered in this module are image processing and filtering, with emphases placed upon point processes, smoothing, convolution, cross-correlation, gradients and edges.
Week 2 (Module 2): Overview of cameras with emphases placed upon the pinhole camera and optics (e. g., lenses, focal length), exposure time and sensors.
Week 3 (Module 3): Feature detection, matching and correspondence. The panorama pipeline and some examples. HDR and tone mapping.
Week 4 (Module 4): Overview of light fields, texture synthesis, image retargeting, video, advanced topics.
College-level Mathematics (e.g., Linear Algebra, Calculus) is useful for
this course. You should know what are Matrices, Vectors, Differentiation,
and Integration. A working knowledge of Basic Probability (e.g.,
Probability Density Function) is needed. Also, a working knowledge
of General Physics (e.g., Vectors, Optics), Basic Photography, and Basic
Computer Programming are needed. You will need to download and install
software to do the programming assignments, which will be in the programming
language of Python.
No textbook is required for this course; however, specific textbooks, readings, and resources are identified during the on-line lecture videos.
The class will consist of on-line lecture videos, which are between 5
and 18 minutes in length. There will be a set of quizzes to complete
for every module, and a (not optional) final examination. The course
will consist of five standalone programming homework assignments that are
not part of the video lectures. In order to complete homework assignments,
there are on-line video tutorials that describe how to use the software
that you were asked to download for the course. The video tutorials are
between 4 and 15 minutes in length.