Modern cameras correct color via two or three pre-calibrated 3x3 matrices interpolated by Correlated Color Temperature (CCT). This collapses the illuminant SPD to a scalar. LEDs, fluorescents, and mixed sources sit off the Planckian locus, and metameric illuminants with the same chromaticity demand different optimal CCMs that a CCT pipeline cannot distinguish. We recover the illuminant SPD instead using non-negative least squares against a basis dictionary, conditioned on the camera white point and a multi-channel ambient-light sensor (ALS). A closed-form 3x3 CCM is then fit per shot. On a synthetic benchmark of 300 illuminants and 3,100 reflectances, mean angular error drops from 1.89 to 1.20 degrees, with a 1.7x tail reduction on the LED-like off-Planckian group (n=45) where metameric ambiguity is tangible. The gain holds under realistic ALS imperfections and observation noise, and the same off-Planckian advantage carries over to 1,684 real measured SPDs.
Figures & tables
Figure 1: The metameric problem and our fix. (a) Two real EMPIR illuminants share xy chromaticity to within Δxy=0.003 but differ in normalized SPD shape by 43∘ . A CCT-driven CCM cannot tell them apart, yet they need different optimal CCMs. (b) On the LED-like Duv group of our benchmark ( n=45 , statistically meaningful), our spectral pipeline cuts worst-25% angular error from 5.3∘ (Adobe DNG) to 2.8∘ — a 1.9× reduction. A more extreme group ( ∣Duv∣≥0.03 , n=5 ) shows a larger directional gain that we report only for context.
Figure 2: Nikon D40 spectral sensitivity (filled bands) overlaid with the 14 -channel ALS filter bank used in our experiments.
Figure 3: EMPIR test illuminants on CIE 1931 xy , color-coded by signed Duv. The dataset spans Planckian sources, daylight phases, and significantly off-locus LEDs.
CCT-driven
xy -conditioned
Spectral (ours)
∣Duv∣ group
Oracle
DNG [ 1 ]
SELF
2D-NN
3×3 [ 2 ]
3×6
WP-only
WP + ALS
Mean angular error
Planckian <0.003 ( n=156 )
0.95
2.45
3.18
1.75
1.79
1.33
1.55
1.05
Mild 0.003−0.01 ( n=94 )
0.87
2.73
3.44
2.01
1.99
2.21
1.82
1.21
LED-like 0.01−0.03 ( n=45 )
0.81
3.09
4.26
2.78
2.41
2.27
2.18
1.31
Extreme ≥0.03 ( n=5 )
2.36
11.08
26.75
6.60
14.31
10.11
9.23
4.49
Table 1: Mean and worst-25% angular error (degrees) per Duv group on 300×3,100 (illuminant, reflectance) pairs after Bradford CAT to D65. 3×3 and 3×6 are the linear and root-polynomial heads of Tedla et al. ’s CST-MLP [ 2 ] ( 3×6 uses Finlayson root-polynomial features [ 8 ] ). Best non-Oracle entry per row in bold . The Extreme group has only n=5 illuminants; its worst-25% averages 1–2 samples and is reported for completeness, not statistical inference. Statistical weight rests on the LED-like group ( n=45 ). Paired bootstrap on the WP + ALS vs CST-MLP 3×6 mean gap (illuminant-level resampling, B=1000 ): overall Δ=+0.70∘ , 95% CI [+0.40,+1.19]∘ ; LED-like Δ=+0.97∘ , 95% CI [+0.67,+1.37]∘ ; Extreme Δ=+5.62∘ , 95% CI [+0.01,+14.56]∘ (the wide CI is the n=5 caveat made explicit).
Axis / condition
mean / worst-25 ( ∘ )
Baseline (ideal K=14 , no noise)
1.20/2.74
AS7341-like filters ( K=8 )
1.32/3.25
5% observation noise
1.23/2.83
OOD, EMPIR-only basis
2.75/5.40
OOD, basis +7 CIE refs
2.00/4.21
Table 2: Robustness of WP + ALS along four axes. Numbers are mean / worst-25% angular error in degrees on the relevant test set; for reference, DNG is 2.77/5.29 on the same scale (Table 1 ). Cross-DB OOD test set: 23 hold-out CIE reference illuminants (FL/HP/LED), with the bottom row using a basis pool augmented by 7 CIE reference SPDs.
Figure 4: Four real Nikon D40 captures. Top two rows near-Planckian (tungsten museum, daylight outdoor). Bottom two rows off the locus (LED hallway ∣Duv∣=0.012 , mall LED ∣Duv∣=0.021 ). Left column shows the scene with the chart highlighted. The four right columns show the 24-patch chart as-shot (raw camera response, before any white-balance, so each row shows its own illuminant cast), corrected by 2-CST DNG, by our spectral white-point pipeline, and the D65 ground truth. Per-shot mean angular error Δ relative to the D65 GT is annotated on the two corrected columns; the as-shot column is shown for context only. Spectral-WP edges out or matches DNG, with the largest gain on the most distant illuminant (tungsten, 1.46∘ vs. 2.36∘ ).
Method
Plk
Mild
LED
Ext
Mean angular error
DNG
2.12
1.91
2.51
6.97
CST-MLP 3×6
1.72
1.67
2.13
9.50
WP-only
2.67
2.31
3.16
5.76
WP + ALS
2.17
1.83
1.89
5.14
Worst-25% angular error
Table 3: Beyond RGB [ 18 ] mean and worst-25% angular error (degrees) by Duv group on 1,684 measured-SPD scenes. Groups: Plk = Planckian ( n=868 ), Mild ( n=473 ), LED = LED-like ( n=276 ), Ext = Extreme ( n=67 ). Best per row in bold . WP + ALS leads on LED and Ext in both metrics; the worst-25% advantage on LED is smaller than the mean advantage ( 0.17∘ vs 0.24∘ over CST-MLP 3×6 ), reflecting the broader-distribution test illuminants compared to the synthetic benchmark.