Color constancy

Color constancy is an example of subjective constancy and a feature of the human color-perception system which ensures that the perceived color of objects remains relatively constant under varying illumination conditions. An apple for instance looks green to us at midday, when the main illumination is white sunlight, and also at sunset, when the main illumination is red. This helps us identify objects. Some nonhuman species, such as monkeys and goldfish have also been shown to have color constancy. It is likely that all animals with color vision have color constancy.

Color constancy works only if the incident illumination contains a range of wavelengths. The different cone cells of the eye register different ranges of wavelengths of the light reflected by every object in the scene. From this information, the visual system attempts to determine the approximate composition of the illuminating light. This illumination is then discounted in order to obtain the object's "true color" or reflectance: the wavelengths of light the object reflects. This reflectance then largely determines the perceived color. The precise algorithm used for this process is not known.

The effect was described in 1971 by Edwin Land, who formulated retinex theory to explain it. The word "retinex" is formed from "retina" and "cortex", suggesting that both the eye and the brain are involved in the processing.

The effect can be experimentally demonstrated as follows. A display, called a "Mondrian" (after the Piet Mondrian whose paintings are similar) consisting of numerous colored patches is shown to a person. The display is illuminated by three white lights, one projected through a red filter, one projected through a green filter, and one projected through a blue filter. The person is asked to adjust the intensity of the lights so that a particular patch in the display appears white. The experimenter then measures the intensities of red, green, and blue light reflected from this white-appearing patch. Then the experimenter asks the person to identify the color of a neighboring patch, which, for example, appears green. Then the experimenter adjusts the lights so that the intensities of red, blue, and green light reflected from the green patch are the same as were originally measured from the white patch. The person shows color constancy in that the green patch continues to appear green, the white patch continues to appear white, and all the remaining patches continue to have their original colors.

Color constancy is a desirable feature of robotic color vision, or computer vision, and several algorithms have been developed. These are known as retinex algorithms. These algorithms receive as input the red/green/blue values of each pixel of the image and attempt to estimate the reflectances of each point. One such algorithm operates as follows: the maximal red value rmax of all pixels is determined, and also the maximal green value gmax and the maximal blue value bmax. Assuming that the scene contains objects which reflect all red light, and (other) objects which reflect all green light and still others which reflect all blue light, one can then deduce that the illuminating light source is described by (rmax, gmax, bmax). For each pixel with values (r, g, b) its reflectance is estimated as (r/rmax, g/gmax, b/bmax).