List of Projects:
Project 0: Becoming Friends with Your Camera
Exploring the subtle relationship between perspective, focal length/zoom, and the center of projection through some sample photos and visual results.
Project 1: Colorizing the Prokudin-Gorskii Photo Collection
Reconstructing color images by aligning RGB channels from glass plate negatives. Includes exhaustive search and image pyramid alignment, plus automatic cropping, white balance, color remapping, and contrast.
Project 2: Fun with Filters and Frequencies!
Implementing 2D convolution from scratch and explore various filters and the mathematical properties of convolution operation. Then applying the convolution and filtering techniques, together with knowledge of frequencies, to achieve and visualize various interesting image processing tasks.
Project 3: [Auto] Stitching and Photo Mosaics
Exploring image transformation and warping techniques, recovering homographies from hand-crafted correspondences, and using them to warp and blend images into a seamless mosaic, which is further automated through feature-based methods.
Project 4: Neural Radiance Field (NeRF)
Implementing a 2D neural field as a warm-up to understand the foundamentals, then moving on to implementing a Neural Radiance Field (NeRF) for 3D scene reconstruction from multi-view images, and rendering both novel views and depth maps.
Project 5: Fun with Diffusion Models!
Exploring diffusion models for generative image tasks and implementing our own flow matching model trained on MNIST dataset to generate handwritten digits.