Instructional Team
![]() Irfan EssaCreator, Instructor |
![]() Kim SirichokeHead TA |
Overview
This class explores how computation impacts the entire workflow of photography, which is traditionally aimed at capturing light from a (3D) scene to form a (2D) image. A detailed study of the perceptual, technical and computational aspects of forming pictures, and more precisely, the capture and depiction of reality on a (mostly 2D) medium of images, is undertaken over the entire term. The scientific, perceptual, and artistic principles behind image-making will be emphasized, especially as impacted and changed by computation. Topics include the relationship between pictorial techniques and the human visual system; intrinsic limitations of 2D representations and their possible compensations; and technical issues involving capturing light to form images. Technical aspects of image capture and rendering, and exploration of how such a medium can be used to its maximum potential, will be examined. New forms of cameras and imaging paradigms will be introduced. Students will undertake a hands-on approach over the entire term using computation techniques, merged with digital imaging processes to produce photographic artifacts.
More information is available on the CS 6475 course website.
![]() |
![]() |
Course Goals
This class explores how computation impacts the entire workflow of photography, which is traditionally aimed at capturing light from a (3D) scene to form an (2D) image. Over the span of the semester, students will learn:
- To think about images as multi-dimensional arrays on which mathematical operations can be performed to generate interesting artifacts
- The technical aspects of image capture and rendering, and exploration of how such a medium can be used to its maximum potential
- To mathematically model a camera as a device that maps a 3D space onto a 2D plane
- How the traditional camera pipeline can be transformed by changing the sensor, illumination, lens, etc.
Preview
Sample Syllabi
Current syllabus
Current schedule
Note: Sample syllabi are provided for informational purposes only. For the most up-to-date information, consult the official course documentation.
Course Videos
You can view the lecture videos for this course here.
Before Taking This Class...
Suggested Background Knowledge
- Working knowledge of computer programming (preferably Python)
- College-level mathematics (knowledge of matrices, vectors, differentiation, and integration)
- Physics (vectors, optics)
- Probability (probability density functions)
- Basic knowledge about the functioning of a camera (controlling shutter speed, ISO, aperture)
- Prior experience with using OpenCV and Numpy is preferable
Technical Requirements and Software
- Internet connectivity
- Camera (preferably one with granular control over aperture, shutter speed, and ISO)
- Operating system:
- PC: Windows 8 or higher
- Mac: OS X 10.15 or higher with latest updates installed
- Linux: any recent distribution will work so long as you can install Python and OpenCV bindings
- Anaconda
Academic Integrity
All Georgia Tech students are expected to uphold the Georgia Tech Academic Honor Code. This course may impose additional academic integrity stipulations; consult the official course documentation for more information.