Palette-based Photo Recoloring: Color Transfer

Design Discourse Two

Whilst reading through the various sections of the article I came across a series of terms and values that initially made understanding the article quite difficult, below are these terms and values defined through external research, so that I may have a better understanding of what the article is explaining.

F- transfer function

L-Ordering of luminance 

FLluminance Transfer function

CSingle Colour

RBFRadial basis function

Transfer functionA mathematical function relating the output or response of a system such as a filter circuit to the input or stimulus.

Gamut: The range of colors that a color device can display or print. A color that may be displayed on your monitor in RGB may not be printable in the gamut of your CMYK printer.

Interpolation- a method of constructing new data points within the range of a discrete set of known data points.

The section indicated as color Transfer, introduces a more complex method of color transfer as seen in the previous section.

The function is know as ‘Faband plays an analogous role in the ‘ab’ channels.

The function (F1) is devised for a situation where the original palette contains a single color. and the user modifies it to be color C1. (As shown below)


Using this method it is desirable to translate colors in the same direction, and its suggests that a naive strategy might simply add exactly the same offset vector.

In contrast, it would be easy to go out of gamut, and simply clamping to the nearest in-gamut value would violate the one-to-one and dynamic range goals. (as seen below)


A naive transfer function that copies the color offset from the palette to every color in the image, even if clamped to remain in gamut, reduces dynamic range in the image (middle). Our transfer function (right) is able to make better use of the dynamic range. Photo courtesy of the MIT-Adobe FiveK Dataset [2011].

Alternatively a scheme is devised that translates colors that are far away from the boundary of the gamut, but squeezes values nearer to the boundary towards the single color.

Below is the equational representation of the scheme mentioned above:


The article continue’s to describe a different scheme, a RBF interpolation scheme.

Equational representation below:


This approach leads to smooth interpolation of the individual transfer functions at color 1,unfortunately solving the system of equations set up by the RBFs can lead to negative weights, with two potential hazards. 

  1. It will add some component of the opposite behavior of some palette changes.
  2. More dangerously, it can throw the result out of gamut.

Simple fix to the problem, clamp any negative weights to zero and renormalize the non-zero weights.

However, this RBF interpolation scheme’s naive application to the image would require making this computation for every unique color in the image, despite being fast.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s