d

Progressive Color Transfer


by Tianyuan Zheng, Tianshu Shen

Github Page

Background

Color transfer is a profoundly explored topic in the computer vision field. It alters the colors in a content image corresponding to the color style in some reference images. Using color transfer, we are able to change the time setting of images, such as from day to night and from summer to winter, as it mimics different illumination and scene materials.

There are various methods to realize color transfer, including global color transfer methods, local color transfer methods, and learning-based algorithms. Here is one example we made using global statistical analysis to transfer the color style of source images:

color transfer example
Left: source image, Middle: reference image, Right: output image

This example transforms the color of the source image in a spatially invariant method, which means it cannot achieve a precise correspondence between the two inputs considering the content structures.

Out of this consideration, we find the algorithm progressive color transfer with dense semantic correspondences, which is published by He, M. et al. in 2017, a decent option to implement color transfer based on semantic similarities. Based on this algorithm, we implemented our simplified version of it using Matlab. One example result using this method is shown as below:

color transfer example2
Left: source image, Middle: reference image, Right: output image

Algorithm

The original algorithm introduced in the paper takes images with similar semantics as inputs. We will introduce the algorithm for the paper in the following three parts:


Due to implementation difficulty, we didn't fully realize the original algorithm. We will show the modifications we made to it in the next section.

Implmentation & Modifications

We tried to implement the full algorithm using Matlab. However, due to the difficulty of the original algorithm and the limitation of our equipment, we simplified it to reduce the running time and get some results. This algorithm could be better implemented on other platforms using multithreading or run with GPU support.

Results

Given the multiple modifications we made to the original algorithm, we are not able to get meaningful results through the whole process. We then show some partial results for Nearest-Neighbor Field Computation and Local Color Transfer separately. For Local Color Transfer, we generate our own guidance image for testing.

Some Explorations

Our first idea about this project is style transfer, which not only alters the color of the image but also distorts its content structures. We notice that style transfer may work better for adding the artistic effect of some artworks onto a photo, whereas our current topic color transfer provides decent results for transferring the lightning and colorization of objects of one photo to another. Out of curiosity, we make a style transfer on the images in the Background section using Neural Style Transfer with Matlab. Here is the result:

color transfer example
Left: source image, Middle: reference image, Right: output image

The results show that even given two photos, style transfer may render the color and content and make the combined version looks like an artwork. There are some methods to achieve style transfer between two photos while maintaining its photorealism.

References