The human visual system is said to be color constant, i.e. it sees the color of objects mostly independently of the lighting conditions. Similarly, cameras need to “guess” the color of the illuminant in order to discard its influence. Retrieving illuminant information from solely RGB triplets is a difficult problem. Pixel values depend the illuminant spectrum, but also on the object reflective properties and on the camera characteristics, which are all functions of the wavelength. Illuminant retrieval from RGB values is an undetermined problem and cannot be solved without additional information or simplification.
We propose to solve for illuminant retrieval in the case of fixed location cameras. We first reduce the dimensionality of the problem by expressing both the illuminants and reflectances spectra sums of a limited number of basis functions. Then, we use redundancy across images: In the case of fixed location cameras, there will be constant elements in the background, despite changing scene content and illumination. The reflectance properties of these elements, while unknown, remain identical across all images.
We use a set of N images of the same scene imaged under N unknown daylight illuminants, select Np redundant elements present in every scene – a total of N × Np color patches, extract and average their RGB values. For these N × Np RGB triplets, we can compute pairs of illuminant and reflectance spectra, named metameric pairs, giving rise to these RGB values. We know that each element present in the N scenes has the same reflectance spectra: The N illuminants thus minimize the distance between the reflectance of each of the redundant Np elements. This distance defines an error function that we minimize by gradient descent. Once we have matched the reflectances spectra, we can deduce the illuminants.