By Ajay Bhargava
Sergei Prokudin-Gorskii was a Russian photographer who took a series of photographs across the Russian Empire in the early 1910s – prior to the existence of color photography. Using a unique three-color technique, he took images with blue, green, and red filters,
allowing future reconstruction of his images.
Provided below are a self-portrait of Prokudin-Gorskii, an example of one of his images (taken with a blue filter), and an example colorized output. The following sections will
demonstrate the process of aligning and colorizing the historic photographs.
I aligned the following low resolution images using a brute-force method. A window of possible shifts was tested, each shift being compared to the others with their structural similarity index (SSIM). The red and green channel were each aligned to the blue channel independently, and these results were combined to produce the colorized images below. I attempted to use simple Euclidean distance as the loss metric for determining the best shift, and it yielded similar results to the SSIM, though these images and the final implementation used SSIM for consistency with the following section.
The following images in .tif format are too large for an exhaustive search. Due to this, I created an
image pyramid scheme to efficiently perform alignment by
progressively refining the search at multiple scales.
Beginning with low-resolution approximations of the images, I applied an increasingly refined search window as the images got larger
and more computationally expensive. I adjusted the parameters, namely the number of
levels in the image pyramid as well as the search range, to scan over until
the results outputted the most accurate colorizations. These images use a 4 layer pyramid searching at a 25x25 range on the smallest image,
with the range diminishing as the images got larger. The image is also cropped before calculating the SSIM score for the offset, in order to avoid the rolled edges from affecting calculation.
With this setup, some images appear better colorized than others.
For instance, the Emir image's channels are slightly offset – the algorithm performs worse due to the image's channels having different brightness values.