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.
This course counts towards the following specialization(s):
Computation Perception and Robotics
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.
Note: Sample syllabi are provided for informational purposes only. For the most up-to-date information, consult the official course documentation.
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.6 or higher with latest updates installed
- Linux: any recent distribution will work so long as you can install Python and OpenCV bindings; we provide instructions for recent Ubuntu distros
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.