Contents

ISP论文解读 | 中科大 & DJI: FFCC-based Local AWB(CVPR 2025)

💡 微信公众号「ColorWorld花花世界」排版更佳,欢迎关注获取更好阅读体验

📖 阅读提示

  • 潜在读者:ISP/AWB算法工程师
  • 前置知识:知道FFCC是啥更好,不知道也没关系,下面会讲

📄 论文信息

  • 论文全称: Integral Fast Fourier Color Constancy
  • 会议: CVPR 2025
  • 作者团队: 中科大 & DJI

前言

多光源白平衡,目前主流思路就三条:

  1. 前后景分离:借助人脸检测等语义信息,分区域估计光源再融合。
  2. Patch-based:把图切块,每块当单光源场景独立估计,最后拼成光照图。好处是可以直接复用全局AWB算法,挑战在于融合,以及如何在小patch上估计准确。
  3. Pixel-wise:用神经网络逐像素预测光照。理论最优,但pixel-level的运算量很难部署。

本文属于patch-based方案,核心思路是用FFCC做每个patch的光照估计,然后平滑融合。但带来的问题是:每个patch都要提取UV直方图再跑FFCC,速度太慢。

https://mmbiz.qpic.cn/mmbiz_jpg/mBFkcDJ9a7F0ficKnic6dWjTHexmpdTpbOfftfn8ib1O4hIOwZGGNrb2iaaSBdleGcFk9d0uMgJ2Qtur3CxAU77bblAcNR8rJhJudSViciayZEuu8/640?wx_fmt=jpeg&from=appmsg

▲ 图 | 左:FFCC只能输出全局光照;右:IFFCC为每个局部区域独立估光照

所以本文真正的贡献是提出了一个加速的数据结构——积分UV直方图,把局部直方图的提取从重复计算变成O(1)查表。整个流程参数量仅1.2万,在CPU上处理256×256图像只需0.03秒。

本文团队来自中科大和DJI,发表在2025 CVPR上。

https://mmbiz.qpic.cn/mmbiz_png/mBFkcDJ9a7HAzNVs4Wia7XA1Xk1FtGq1zvRS1ds3Hiau5TvUVldicZ7dcfsZIn70VO91KeibRSSbzw5hXibBhibwZohM4n3iceV53z14S7x32humKY/640?wx_fmt=png&from=appmsg


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基础上做的事情:

  1. 对整张图的UV直方图做积分图,预计算一次
  2. 之后任意矩形区域的局部UV直方图,只需四个角做加减法,复杂度 O(1)
  3. 所有区域并行送入FFCC的傅里叶卷积,批量预测光照
  4. 线性插值 + 引导滤波,平滑拼接为像素级光照图

https://mmbiz.qpic.cn/sz_mmbiz_jpg/mBFkcDJ9a7E30lnFibmkJfYEwYYfBVUevzKehzjRDoyAFbEJHgv0qZlOx0NaNaO4smJK3OibibEXfcjmqyD356N9sVhkQWcuN7UnKrgtXWypibc/640?wx_fmt=jpeg&from=appmsg

▲ 图 | IFFCC流程

02 结果

在LSMI多光源数据集上(Multi子集,Galaxy相机):

方法类型Mean / Median参数量速度
IFFCCPatch2.48° / 1.90°1.2万0.03s
AIDPixel2.03° / 1.43°640万>1s
LSMI-UPixel2.85° / 2.55°570万0.51s
BiancoPatch5.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

https://mmbiz.qpic.cn/mmbiz_png/mBFkcDJ9a7HmWXDYurPjV4J52RCWdRObiatfibjeuY6JSlobs0MFIOVPicSzUd2Yc37KKxQaibUkt9WZ7dcM1CVyWFK1NknTiajNsItwd3VVKdQk/640?wx_fmt=png&from=appmsg


03 评价

Pros

算是一个比较fancy的工程优化。

但我更关注它的局限性,这对工业界比较重要。

Cons

  1. FFCC本质是灰点/白点假设。图中灰色区域不够就会failure。IFFCC全盘继承了这个问题,论文没给failure case,但我相信它在这种场景上表现一定会不好。

  2. 超参数难选——窗口大小两难:大窗口统计稳定但模糊边界,小窗口精细但统计不可靠。

https://mmbiz.qpic.cn/mmbiz_jpg/mBFkcDJ9a7EKqd694FDvR6ee09lNKELQDj6YAIf9hicddKAQWs78UEKvBy4MERN8BICMkQjFpZtYu3vvn34IA7qVian7FXia0JGpwiayk50YXbA/640?wx_fmt=jpeg&from=appmsg

▲ 图 | 窗口从[32,16]到[192,128],细节与稳定性不可兼得

不同场景最优窗口大小不同,论文没给自适应方案。

  1. 不开源。影响力从70分降到10分。

都什么年代了,竟然还不开源——特别是在这么工程化的论文中,你的卖点其实就是这个工程化的细节啊!气!


04 发散

Local AWB作为AWB Task的最后一公里,我在这里做一个未来方向的论述,不带证明:

  1. 高质量数据集是核心瓶颈

目前的LSMI很有局限性,为了构造多光源场景使用了很多极端光源,不符合实际场景分布。

如何收集或生成高质量的,符合工业真实场景的multi-illu数据集(当然with GT),是重点。

当然,这里的数据集不限于传统,也可以是时序,包含metadata的等。

  1. 面阵多光谱非常promising

这点在物理上无可辩驳。但同样需要配套的数据集,以及工程化的经验。

  1. 个性化AWB是趋势

Personalized-AWB,或者说Personalized-tone/color/style是未来方向,端侧模型结合强化学习大有用途。

最后,以上是Local-AWB的第一篇,我们后面会逐步介绍更多。


END


本文首发于微信公众号「ColorWorld花花世界」,更好的排版体验欢迎关注。 Contact WeChat: vividway