多光谱传感器越来越便宜,「用更多波段做白平衡」几乎成了默认答案。但很少有人问下一个问题:到底需要几维? EPFL IVRL 的这篇 arXiv:2605.13306(Vidarsson、Lu、Süsstrunk)有意思的地方在于,它没有再训一个更大的网络,而是把「光谱维度」和「用什么基去降维」两件事拎出来当自变量,扫成了一条曲线。

问题在哪
光源估计的根本困难是二义性:传感器读到的是「反射率 × 光源」的乘积,一个偏黄的读数既可能是白墙配暖光,也可能是米黄墙配中性光。RGB 只有三个数,把整段可见光压成三个积分,这个二义性被压得更死。高光谱理论上能松绑,可它带来新麻烦——31 个波段意味着统计上要估的东西暴涨,直方图类方法直接爆炸。
方法上的转折
作者选了一个很克制的骨干:Color-by-Correlation(CbC)——把图像的色度直方图和候选光源下的预期分布做相关,选最像的那个。这是九十年代的经典方法,好处是没有网络容量这个混淆变量,性能差异只能来自表征本身。
然后他们比了六种把 31 维压到 d′ 维的方式:相机 RGB 投影(基线)、随机投影、PCA、从光源 SPD 学的 Ill-PCA、非负矩阵分解、以及有监督的 LDA。d′ 从 1 扫到 5,直方图每维分箱数 B 取 5/10/20/30。数据是 KAUST-MIE 的 409 张高光谱图(512×512,400–700nm 每 10nm 一个波段),用 28 个 CIE 标准光源合成重打光,得到一万多张重光照图像。
结果里有两个点值得记住。同样是三维、同样 B=30 时,相机 RGB 投影是 7.78° 平均角度误差,而 Ill-PCA 是 5.87°——差了约 25%。也就是说,「三个数」这件事本身不是瓶颈,哪三个数才是。升到 d′=5,Ill-PCA 能到 2.65°。另一个反直觉的点:有监督的 LDA 在所有配置里表现最差,比随机投影还糟——判别式降维追的是类间可分,但 CbC 需要的是保住色度分布的形状,两个目标不是一回事。
能往哪里走
对做光谱传感硬件的人,最直接的启发不是那几个数字,而是基的形状可以读成滤光片的设计指引。论文里画出的 Ill-PCA 分量在某些波长上有明显尖峰(对应荧光灯的特征谱线),这实际上是在说「把窄带通道放在这些位置,对区分光源信息量最大」——比按等间距铺 8/12/16 个通道更有依据。对手机上那种辅助多光谱 sensor 同理:不必追通道数,追的是这几个方向在光源判别上张成的子空间。
对大模型这条线的迁移要说明白:现在用扩散模型或 VLM 做色恒常的工作(在画面里「画」出色卡、把白平衡改写成生成问题、用 VLM 评估残余色偏),输入表征这一维几乎没人动过,默认就是喂 sRGB 缩略图或相机 RGB。这篇给的信号是——在骨干完全固定的前提下,光换个投影基就能拿到 25% 的增益。那么对生成式方法而言,「喂进去的是哪几维」很可能是一个比换骨干更划算、却长期空着的旋钮。
该存疑的地方
第一,光照是合成重打光,而且用的是 28 个 CIE 标准光源。Ill-PCA 的基恰恰是从这批光源的 SPD 学出来的——某种意义上它提前知道了考题范围。真实场景里的混合光、消费级 LED、窗光加室内灯,都不在这个集合里,泛化性没有被检验。
第二,7.78° 这个 RGB 基线是 CbC 框架内的数,不是现代学习型 AWB 的水平。不要把「降低 66%」读成多光谱把 SOTA 打掉了三分之二——这篇比的是同一骨干下的表征差异,不是方法排行榜。
第三,增益和代价同向。CbC 的直方图规模大致按 B^d′ 涨,d′=5、B=30 意味着两千多万个格子;hero 图横轴是对数计算量,跨了五个数量级。真要落到 ISP 上,得先回答「这条曲线上哪个点是可实现的」。
第四,单数据集单场景类型,结论能否出 KAUST 这批室内场景,尚无证据。