ECCV 2026  ·  Malmö  ·  Sept 8–12   |   Spotlight Oral: 2:30 PM, MalmoMassen AB  ·  Poster #393: 4:30 PM

Off the Planckian Locus: Using 2D Chromaticity to Improve In-Camera Color

SaiKiran Tedla1,3,* Joshua Little1,* Hakki C. Karaimer2 Michael S. Brown1

1York University    2AI Center-Toronto, Samsung Electronics    3University of Toronto

*Equal contribution

Angular color reproduction error for a ColorChecker chart under illuminants on and off the Planckian locus, comparing 1D interpolation with our 2D prediction
1D Planckian interpolation vs. our 2D chromaticity-based prediction. Traditional 1D methods perform adequately for light sources whose CCTs lie close to the Planckian locus, but are less accurate for sources, namely LEDs, that lie off it. Heat maps show angular reproduction error, from 0° (dark blue) to 15° (dark red).

Abstract

Traditional in-camera colorimetric mapping relies on correlated color temperature (CCT)-based interpolation between pre-calibrated transforms optimized for Planckian illuminants such as CIE A and D65. However, modern lighting technologies such as LEDs can deviate substantially from the Planckian locus, exposing the limitations of relying on conventional one-dimensional CCT for illumination characterization. This paper demonstrates that transitioning from 1D CCT (on the Planckian locus) to a 2D chromaticity space (off the Planckian locus) improves colorimetric accuracy across various mapping approaches. In addition, we replace conventional CCT interpolation with a lightweight multi-layer perceptron (MLP) that leverages 2D chromaticity features for robust colorimetric mapping under non-Planckian illuminants. A lightbox-based calibration procedure incorporating representative LED sources is used to train our MLP. Validated across diverse LED lighting, our method reduces angular reproduction error by 22% on average in LED-lit scenes, maintains backward compatibility with traditional illuminants, accommodates multi-illuminant scenes, and supports real-time in-camera deployment with negligible additional computational cost.

Video

1D CCT vs. 2D Chromaticity

The standard procedure computes the color correction matrix by interpolating pre-calibrated matrices along the Planckian locus, characterizing the light with a single number: its correlated color temperature. Modern LEDs, however, exhibit chromaticities that deviate significantly from that locus, where a CCT no longer describes them adequately. We therefore shift from a one-dimensional CCT space to a 2D chromaticity space, and predict the matrix directly.

Our 2D chromaticity CCM-MLP approach compared with traditional 1D Planckian interpolation
2D chromaticity CCM prediction vs. 1D CCT interpolation. Interpolation approaches assume the CCM can be derived from illuminants calibrated along the Planckian locus. Our CCM-MLP instead predicts the full 3×3 matrix from 2D chromaticity coordinates.

In-Camera Pipeline

Digital cameras apply a long chain of processing routines to convert sensor-specific RGB responses into a final output image. Among these, the colorimetric mapping stage maps sensor values into a standard color space such as CIE XYZ, and its accuracy determines color reproduction quality across lighting conditions.

Digital in-camera pipeline overview showing six processing stages from sensor raw response to display-referred output
Digital in-camera pipeline overview. Our work targets the color correction stage.

Colorimetric Mapping Stage

The estimated illuminant corrects neutral colors through a diagonal white balance matrix, but non-neutral colors require a further, illumination-specific 3×3 color correction matrix (CCM) that maps white-balanced raw-RGB into CIE XYZ. It is this matrix that we predict, as a drop-in replacement for the existing stage.

Colorimetric mapping stage: raw image, white balance matrix, white balanced image, CCM, corrected output, with an illuminant estimator feeding the pipeline
Colorimetric mapping stage. White balance handles neutral colors; the CCM handles the rest. We improve the prediction of that CCM.

Method

We learn a mapping from illuminant chromaticity to a CCM. CCM-MLP is a ReLU MLP with a single hidden layer of 32 neurons and eight outputs, which are reshaped into the 3×3 matrix; it takes the illuminant's xy chromaticity as input and is trained with a cosine loss against the ground-truth XYZ patches. The resulting model occupies 1.5 KB.

CCM-MLP training: raw image and white patch to illuminant chromaticity, MLP predicts CCM, cosine loss against ground truth XYZ patches
CCM-MLP training. Raw color patches are white balanced using the estimated illuminant, whose chromaticity is then fed to the MLP to predict the CCM. Training minimizes a cosine loss between the corrected and ground-truth XYZ patches.

Multi-illuminant extension

Assuming access to per-pixel illuminant information and a blending map, we predict and apply a CCM for each illuminant to produce several corrected versions of the white-balanced image, then merge them using the blending map as weights.

Multi-illuminant input, corrected once per illuminant, blended with a mixture map into the final sRGB output
Multi-illuminant extension. The input is corrected once per illuminant, and the results are blended with a mixture map to produce the sRGB output.

Dataset

We capture a ColorChecker target under 790 illuminant spectra in a modified GTI lightbox fitted with tunable Telelumen LEDs, using two smartphones and two DSLRs. The illuminants cover the chromaticity space well beyond the Planckian locus, and are split into 395 training, 158 validation, and 237 test conditions.

A ColorChecker chart photographed under ten different LED illuminants, showing strong and varied color casts
Lightbox captures. The same ColorChecker target under ten of the 790 illuminants, many of which lie well off the Planckian locus.

In-the-wild scenes

We further evaluate on 150 photographs taken with both smartphones under challenging LED illumination, covering skin tones, posters, and craft materials.

In-the-wild dataset. Real scenes under colored LED lighting, each captured with a ColorChecker present for ground truth.

Quantitative Results

Rows using 2D chromaticity are shaded and the best result in each column is bold; Oracle denotes the upper bound given the full color chart rather than a competing method, and RP the root- polynomial variant. We find that all methods benefit from a 2D chromaticity coordinate over a 1D CCT.

MethodDim Size (KB)MACs (M) Angular error (°) ↓
Mean25%50%90%
Oracle1D0.000.012.790.952.005.94
2-CCM1D0.070.014.561.483.259.94
NN1D15.430.015.241.543.5611.73
EXPINV1D68.5313.394.311.262.859.88
CCM-MLP1D1.410.014.111.372.629.55
NN2D16.970.014.301.372.849.81
EXPINV2D69.0313.483.841.322.718.41
CCM-MLP2D1.540.013.601.222.388.18
CCM-MLP (RP)2D2.700.013.271.132.147.47
MethodDim Angular error (°) ↓
Single-illum.Multi-illum.
Oracle1D2.382.06
2-CCM1D5.003.88
NN1D4.463.23
CCM-MLP1D3.772.52
CCM-MLP (RP)1D3.602.35
NN2D3.982.83
CCM-MLP2D3.492.26
CCM-MLP (RP)2D3.372.14

Full per-camera tables (Sony, Canon, Pixel, Samsung), ΔE2000, the NUS dataset, and the white-point sensitivity study are in the paper.

Qualitative Results

Colorimetric mapping results on the laboratory dataset for green and blue LED illuminants, Canon and Pixel cameras
Lightbox dataset. Results for two non-Planckian sources, a green LED (top half) and a blue LED (bottom half), captured with Canon and Pixel. Methods, left to right: 3-CCM, 1D EXPINV, 1D CCM-MLP, 2D EXPINV, 2D CCM-MLP, and ground truth.
Colorimetric mapping results on in-the-wild captures for green and orange LED illuminants, Pixel and Samsung cameras
In-the-wild captures. Green (top half) and orange (bottom half) LED illuminants captured with Pixel and Samsung. Note the color casts introduced by EXPINV, a per-pixel method, when applied to full-size images.
Colorimetric mapping results on multi-illuminant scenes from the LSMI dataset, Galaxy camera
Multi-illuminant scenes (LSMI). Two multi-illuminant scenes from the Galaxy camera, with angular errors shown at the bottom left of each color chart. Methods, left to right: 2-CCM, 1D NN, 1D CCM-MLP, 2D NN, 2D CCM-MLP, and Oracle.

Computational Cost

Because the CCM is computed once and applied to the entire image, CCM-MLP requires only 1.5 KB and 0.01 MMACs, compared with 69 KB and 13 MMACs for methods that must evaluate an MLP at every pixel.

Multiply-accumulate operations versus input resolution, log scale, for 2-CCM, our 2D CCM-MLP, and 2D EXPINV
Computational cost comparison. Multiply–accumulate operations (log scale) at different input resolutions, for 2-CCM interpolation, EXPINV, and our 2D CCM-MLP.

Materials

BibTeX

@inproceedings{tedla2026planckian,
  title     = {Off the Planckian Locus: Using 2D Chromaticity to Improve In-Camera Color},
  author    = {Tedla, SaiKiran and Little, Joshua and Karaimer, Hakki C. and Brown, Michael S.},
  booktitle = {European Conference on Computer Vision (ECCV)},
  year      = {2026}
}

Acknowledgements

We thank Trevor Canham, Jason J. Yu, and Konstantinos Derpanis for their valuable discussions and feedback throughout this project.