《Color constancy by characterization of illumination chromaticity》之色度色域最大化算法(一)
2026/9/16 8:56:56 网站建设 项目流程

目录

色度色域最大化算法(Chromaticity Gamut Maximization)

1、算法背景与物理直觉

2、输入、输出定义

3、完整算法分步流程

步骤① 遍历全部候选白点集合(C_{CCT})

步骤② 找到基础最大色域

步骤③ 鲁棒增强(论文核心改进,处理多峰值 / 宽平顶情况)

4、在 CCIC 整体链路中的位置

5、该算法的优缺点

6、和其他同类算法的关系

7、工程复现注意点


色度色域最大化算法(Chromaticity Gamut Maximization)

出处:论文《Color constancy by characterization of illumination chromaticity》 2.2.2 节,是 CCIC 算法第一步 CCT 候选区间压缩的其中一个子模块,输出为色温估计。 作用:在不依赖图像中性灰色块的前提下,从候选色温集合里选出 “最合理的照明色温候选”,和灰度世界、照度约束一起共同收缩 CCT 搜索窗口。

1、算法背景与物理直觉

核心假设

如果选用的白平衡白点(照明色度)越接近真实场景光源,经过白平衡 + 色彩空间转换之后,图像的色度色域覆盖范围就越大;错误的白点会压缩图像色度分布。

  1. 相机原始 RAW 图像是传感器 RGB 空间,不能直接评判颜色丰富度,需要做两步操作: ① 使用待评估候选白点做冯‑克里斯对角白平衡增益校正; ② 执行「传感器 RGB → sRGB」的色彩转换矩阵运算。
  2. 若候选白点 = 真实照明:场景内物体的色彩可以被完整展开,各色物体分布散开,色度色域面积最大
  3. 若候选白点严重偏离真实照明:会引入整体偏色,色彩转换把大量像素挤压到狭小色度区域,色域面积被压缩

论文特别指出一种典型现象(针对通道光谱高度重叠、对角模型失效的廉价相机模组):

  • 评估白点 CCT过高(偏蓝):图像整体偏红,大量像素被挤压到红调区域,色域被压缩;
  • 评估白点 CCT过低(偏红):图像整体偏蓝,大量像素被挤压到蓝调区域,色域被压缩。

⚠️适用边界: ✅适合:图像内物体色彩种类丰富、多样; ❌缺陷:图像物体颜色很少(实验室纯色布景),色域面积不会出现单一尖锐峰值,会出现多个候选白点得到接近的大色域面积。论文专门针对该缺陷做了鲁棒增强处理。

2、输入、输出定义

输入

  1. 预处理后线性 RAW 图像;
  2. :28 个离散候选光源色度集合,每个元素对应一个 CCT,是标定好的传感器色度;
  3. 传感器 RGB 转 sRGB 固定色彩转换矩阵;
  4. 灰度世界输出的色温估计(用于鲁棒后处理)。

输出

:色域最大化得到的候选相关色温,用于后续压缩 CCT 搜索区间。

3、完整算法分步流程

步骤① 遍历全部候选白点集合

对集合中每一个候选照明色度点

  1. 根据候选色度,构造对角白平衡增益矩阵:
  2. 将图像全部像素做白平衡校正:
  3. 使用相机‑to‑sRGB 色彩矩阵,把白平衡之后像素转换到 sRGB 色彩空间;
  4. 提取转换后全部有效像素的二维色度(一般取 (r/g,b/g) 或者 sRGB 的 xy 色度,抛弃亮度信息);
  5. 计算这一组色度点构成的色度色域的面积

关键点:计算的是色度色域面积,不包含亮度维度,只看色彩的散布范围。

工程优化提示:不需要全分辨率图像,CCIC 整套算法都可以在低分辨率网格图像上完成该遍历计算,降低计算开销。

步骤② 找到基础最大色域

记产生对应的色温为

步骤③ 鲁棒增强(论文核心改进,处理多峰值 / 宽平顶情况)

触发条件:存在多个候选白点,色域面积都很高,没有唯一尖锐最大值。 判断条件:找出所有满足的候选点集合。 再施加约束:集合内的色温,必须落在两者之间。

  • 如果满足条件的候选集合非空:对这批候选色温取算术平均,作为最终输出。
  • 如果没有满足条件的多个候选:直接取

为什么要加 “介于之间” 这条约束? 防止一些和灰度世界估计偏离很远、但碰巧色域也很大的异常候选被纳入平均,抑制离群候选。

4、在 CCIC 整体链路中的位置

输入RAW图像 ↓ ┌───────────────────┐ │ Step1 缩小CCT候选区间 │ │ ├─灰度世界 → CCT_GW │ │ ├─【色度色域最大化 → CCT_GMAX】 ←本模块 │ └─照度估计 → [CCT_LUXLO, CCT_LUXHI] └─────────┬─────────┘ ↓ 启发式融合(以5500K为安全中心点)输出最终CCT搜索窗口 ↓ Step2 低分辨率网格检测中性块 ↓ Step3 多路加权融合,输出白平衡增益

5、该算法的优缺点

✅优点

  1. 不需要检测图像存在中性灰色物体,完全依靠色彩分布范围做光源估计;
  2. 和灰度世界属于不同的假设体系,二者互为补充;灰度世界假设 “色彩均值为灰”;色域最大化假设 “正确白点可以最大化色彩散布”;
  3. 可以在低分辨率网格运行,计算代价可控,适配嵌入式相机;
  4. 增加 95% 面积阈值 + 区间约束的鲁棒逻辑,改善多峰值失效。

❌缺点

  1. 图像色彩种类很少时效果变差:纯色布景实验室图片容易出现多个峰值,输出不可靠;
  2. 依赖传感器 RGB 到 sRGB 的色彩转换矩阵,如果矩阵标定不准,色域面积计算本身就引入偏差;
  3. 对角模型严重失效的模组下,色彩转换放大错误白点带来的偏色,虽然有效果,但噪声会增大。

6、和其他同类算法的关系

论文引用 D.Forsyth 的色域映射理论(Ref 19)。传统 GCIE(色域约束光源估计)是:已知物体全部反射色域,反向求解哪些光源可以把物体映射到观测图像,需要标定完整物体色域,标定成本高,对角模型失效时性能暴跌。

⚠️注意区分二者:

  • GCIE:标定物体反射色域,反向求解光源;
  • 本论文的「色度色域最大化」:不标定物体色域;遍历候选光源,看经过白平衡 + 色彩转换后图像本身的色度展开得有多大,是前向评估,仅使用光源候选集合\(C_{CCT}\)。

7、工程复现注意点

  1. 输入必须是线性 RAW,不能是伽马压缩后的图像;伽马非线性会扭曲色度分布,导致色域面积计算完全错误。
  2. 色域面积计算要剔除饱和像素,饱和像素色度无效;
  3. 不需要精细凸包计算,工程上可以使用二维直方图统计覆盖 bin 数量近似代表色域面积,大幅降低运算;
  4. 本模块输出只是候选色温值,不是最终白平衡结果;它仅仅用来压缩后续搜索窗口,不会直接输出白平衡增益。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询