ISP论文解读 | 中科大 & DJI: FFCC-based Local AWB(CVPR 2025)
💡 微信公众号「ColorWorld花花世界」排版更佳,欢迎关注获取更好阅读体验
📖 阅读提示
- 潜在读者:ISP/AWB算法工程师
- 前置知识:知道FFCC是啥更好,不知道也没关系,下面会讲
📄 论文信息
- 论文全称: Integral Fast Fourier Color Constancy
- 会议: CVPR 2025
- 作者团队: 中科大 & DJI
前言
多光源白平衡,目前主流思路就三条:
- 前后景分离:借助人脸检测等语义信息,分区域估计光源再融合。
- Patch-based:把图切块,每块当单光源场景独立估计,最后拼成光照图。好处是可以直接复用全局AWB算法,挑战在于融合,以及如何在小patch上估计准确。
- Pixel-wise:用神经网络逐像素预测光照。理论最优,但pixel-level的运算量很难部署。
本文属于patch-based方案,核心思路是用FFCC做每个patch的光照估计,然后平滑融合。但带来的问题是:每个patch都要提取UV直方图再跑FFCC,速度太慢。
所以本文真正的贡献是提出了一个加速的数据结构——积分UV直方图,把局部直方图的提取从重复计算变成O(1)查表。整个流程参数量仅1.2万,在CPU上处理256×256图像只需0.03秒。
本文团队来自中科大和DJI,发表在2025 CVPR上。
01 方法
先回顾FFCC。
FFCC思想全来自CCC,本质上是把光源估计问题变成了一个分类问题,核心trick是使用了uv变换。而FFCC是在CCC基础上进行了加速,但牺牲了部分精度,表现不如CCC。
FFCC, Fast fourier color constancy;CCC, Convolutional color constancy
但CCC/FFCC的核心缺陷在于,它假设光源信息存在于图像本身——也就是认为图中必然有灰点或白点。
这就回到了我们之前很多次说到的干扰色场景问题—他们不能解决。
另外,它的超参数(比如bin size)很关键,需要手调。
关于CCC的本质原理,可以参考我几年前在知乎上的文章:知乎搜索:Convolutional Color Constancy(https://zhuanlan.zhihu.com/p/568017934)
说回到本文,IFFCC在FFCC基础上做的事情:
- 对整张图的UV直方图做积分图,预计算一次
- 之后任意矩形区域的局部UV直方图,只需四个角做加减法,复杂度 O(1)
- 所有区域并行送入FFCC的傅里叶卷积,批量预测光照
- 线性插值 + 引导滤波,平滑拼接为像素级光照图
02 结果
在LSMI多光源数据集上(Multi子集,Galaxy相机):
| 方法 | 类型 | Mean / Median | 参数量 | 速度 |
|---|---|---|---|---|
| IFFCC | Patch | 2.48° / 1.90° | 1.2万 | 0.03s |
| AID | Pixel | 2.03° / 1.43° | 640万 | >1s |
| LSMI-U | Pixel | 2.85° / 2.55° | 570万 | 0.51s |
| Bianco | Patch | 5.56° / 4.34° | 16万 | — |
精度比AID稍差(mean error高0.45°),但参数量少500倍,速度快30倍。
顺便说一句,我的论文(Optics Express 2024: Robust pixel-wise illuminant estimation algorithm for images with a low bit-depth),仅仅是在LSMI-U上做了个简单后处理,就实现了SoTA(1.87/1.57)
03 评价
Pros
算是一个比较fancy的工程优化。
但我更关注它的局限性,这对工业界比较重要。
Cons
FFCC本质是灰点/白点假设。图中灰色区域不够就会failure。IFFCC全盘继承了这个问题,论文没给failure case,但我相信它在这种场景上表现一定会不好。
超参数难选——窗口大小两难:大窗口统计稳定但模糊边界,小窗口精细但统计不可靠。
不同场景最优窗口大小不同,论文没给自适应方案。
- 不开源。影响力从70分降到10分。
都什么年代了,竟然还不开源——特别是在这么工程化的论文中,你的卖点其实就是这个工程化的细节啊!气!
04 发散
Local AWB作为AWB Task的最后一公里,我在这里做一个未来方向的论述,不带证明:
- 高质量数据集是核心瓶颈。
目前的LSMI很有局限性,为了构造多光源场景使用了很多极端光源,不符合实际场景分布。
如何收集或生成高质量的,符合工业真实场景的multi-illu数据集(当然with GT),是重点。
当然,这里的数据集不限于传统,也可以是时序,包含metadata的等。
- 面阵多光谱非常promising
这点在物理上无可辩驳。但同样需要配套的数据集,以及工程化的经验。
- 个性化AWB是趋势
Personalized-AWB,或者说Personalized-tone/color/style是未来方向,端侧模型结合强化学习大有用途。
最后,以上是Local-AWB的第一篇,我们后面会逐步介绍更多。
END
本文首发于微信公众号「ColorWorld花花世界」,更好的排版体验欢迎关注。 Contact WeChat: vividway