Due: March 16, 2026 (23:59)
The goal of this assignment is to get you familiarize with the standard camera pipeline of digital photography. You will build your own version of a very basic image processing pipeline (without denoising). You will use this to turn the RAW image into an image that can be displayed on a computer monitor or printed on paper.
For the detailed explanation, please read this document. You can download the data and the Jupyter notebook that you use in your assignment from here.
Due: March 30, 2026 (23:59)
The goal of this assignment is to explore high dynamic range (HDR) imaging, color calibration, and tonemapping. HDR imaging can be used to create floating-point precision images that linearly map to scene radiance values. Color calibration ensures that the colors you see in the image match some groundtruth RGB values. Tonemapping algorithms compress the dynamic range of HDR images to an 8-bit range, so that they can be shown on a display. To get full credits, you will need to apply all these steps to an exposure stack.
For the detailed explanation, please read this document. You can download the data and the Jupyter notebook that you use in your assignment from these links: data, starter code, and notebook.
Due: April 20, 2026 (23:59)
The goal of this assignment is to explore photography with flash/no-flash pairs. In general, getting the lighting in your scene right is one of the most important considerations one needs to take care of when taking a photograph. This can be particularly challenging when the scene you are trying to photograph has a large dynamic range, including both very dark and very bright objects. Previously, we discussed a passive technique for photographing such difficult scenes, using HDR imaging. Here, you will investigate an alternative active technique, where you insert new light into the scene using our camera’s flash.
For the detailed explanation, please read this document. You can download the data that you use in your assignment from here.
Due: May 11, 2026 (23:59)
The goal of this assignment is to design and implement a deep learning pipeline that predicts HDR images from LDR inputs by leveraging both image content and camera exposure metadata. Specifically, you will build a modified U-Net architecture conditioned on exposure values (EV) and investigate different conditioning strategies such as saturation masks and FiLM-based modulation. Your implementation will include data preprocessing, model design, training, and a systematic ablation study to evaluate the contribution of each component. You will also analyze the results both quantitatively and qualitatively, and discuss the limitations and failure cases of your approach.
For the detailed explanation, please read this document. You can download the starter Jupyter notebook that you use in your assignment from here.