4. AWB 经典算法:灰度世界、完美反射、色温估计与色域映射

自动白平衡(AWB)是 ISP 流程中决定色彩还原准确性的核心模块。本章深入剖析四种经典 AWB 算法:灰度世界、完美反射、色温估计与色域映射。理解这些算法的原理、适用场景与工程局限,是进行 AWB 校准与 HDR 融合调优的基础。

工程提示: 实际 ISP 产品中,通常采用“多算法融合 + 场景分类器”的策略,而非单一算法。灰度世界与完美反射常作为基础校正层,色温估计用于粗调,色域映射用于最终色彩空间转换。

4.1 灰度世界算法(Gray World)

核心假设: 一幅色彩丰富的自然图像,其 R、G、B 三个通道的平均值应趋于相等(即平均灰度)。任何通道均值偏差均被视为由光源色温引起,需通过增益补偿。

计算步骤:

  1. 计算全图 R、G、B 通道的像素均值:R_avg、G_avg、B_avg。
  2. 计算理想灰度值:Gray = (R_avg + G_avg + B_avg) / 3。
  3. 计算各通道增益:R_gain = Gray / R_avg,G_gain = Gray / G_avg,B_gain = Gray / B_avg。
  4. 对每个像素应用增益:R_out = R_in * R_gain,以此类推。
局限性: 当场景中存在大面积单色物体(如蓝天、绿草、红墙)时,灰度世界假设失效,会导致严重的色彩偏色。工程中常加入“饱和度权重”或“边缘区域掩码”来抑制大色块的影响。
灰度世界算法流程图 输入 RAW / RGB 图像 计算 R_avg, G_avg, B_avg 计算 R_gain, G_gain, B_gain 输出校正后图像

4.2 完美反射算法(Perfect Reflector / White Patch)

核心假设: 场景中存在纯白或高反射区域(R=G=B=255 或接近最大值)。该区域的颜色偏差直接反映光源色温,通过将其映射为白色来校正全图。

工程实现变体:

方法描述适用场景
最大值法取全图 R、G、B 各自的最大值作为参考白点高光丰富场景,易受噪点干扰
百分比法取亮度前 1%~5% 的像素,计算其平均 R、G、B 作为参考白点更鲁棒,避免单像素噪点误导
亮度阈值法仅对亮度 > 200 的像素进行白点统计夜景或低光场景需配合降噪
避坑指南: 完美反射算法在无高光区域(如阴天室内、暗光环境)会完全失效。工程中常与灰度世界算法加权融合,或使用“色温先验”来兜底。
完美反射算法结构图 输入 RGB 图像 白点检测 (亮度阈值 / 百分比) 计算通道增益 输出校正图像 无白点时 回退到灰度世界

4.3 色温估计算法(Color Temperature Estimation)

色温估计不直接计算增益,而是先估算当前光源的色温值(单位:K),再根据预标定的色温-增益映射表(Look-Up Table, LUT)查表得到增益。

常用色温估计方法:

  • R/G 与 B/G 比值法: 计算全图或感兴趣区域的 R/G 和 B/G 比值,在普朗克轨迹(Planckian Locus)上寻找最接近的色温点。
  • 色度直方图峰值法: 在 Cb-Cr 或 u-v 色度空间统计直方图,取峰值对应的色度作为光源色度。
  • 神经网络法: 使用轻量级 CNN 直接回归色温值,适用于复杂混合光源场景。
方法精度计算量鲁棒性
R/G-B/G 比值法中等低受大色块影响
色度直方图峰值法较高中对噪声敏感
神经网络法高高(需 NPU 加速)强
工程经验: 在嵌入式 ISP 中,R/G-B/G 比值法 + 低通滤波(时间域平滑)是最常见的组合。色温估计值每帧变化不宜超过 50K,否则会引起闪烁。
色温估计与增益映射流程 RGB 图像 计算 R/G, B/G 或色度直方图 普朗克轨迹匹配 输出色温值 (K) 查 LUT 表 输出 R_gain, B_gain LUT 表需在产线标定: D50 / D65 / A 光源下分别采集增益

4.4 色域映射(Gamut Mapping)

色域映射是 AWB 的最后一步,将校正后的 RGB 值从传感器色域(Camera Color Space)转换到标准色域(如 sRGB、BT.2020、DCI-P3)。

核心步骤:

  1. 白平衡增益应用: 将 R、B 通道乘以增益值,G 通道通常保持不变或微调。
  2. 颜色校正矩阵(CCM): 通过 3x3 矩阵将传感器 RGB 转换到 XYZ 或线性 sRGB。
  3. 伽马校正: 应用非线性伽马曲线,适配显示设备。
色域标准白点覆盖范围典型应用
sRGBD65约 35% CIE 1931网页、显示器
DCI-P3D65约 45% CIE 1931数字电影、HDR 显示
BT.2020D65约 75% CIE 1931UHD HDR 广播
关键约束: CCM 矩阵的精度直接影响肤色还原。在 HDR 融合场景中,线性域下的 CCM 与伽马后的 CCM 效果差异显著,建议在融合前(线性域)完成色域映射。
色域映射架构图 传感器 RGB AWB 增益 R_gain, B_gain CCM 矩阵 3x3 线性变换 伽马校正 sRGB / PQ / HLG 输出 HDR 融合建议:在线性域完成 CCM 映射 伽马校正放在融合之后,避免精度损失

4.5 算法对比与工程选型建议

算法假设条件计算复杂度鲁棒性典型场景
灰度世界场景色彩丰富低中户外风景、混合场景
完美反射存在高光白点低低(无高光时失效)强光、闪光灯场景
色温估计光源为黑体辐射中较高室内、混合光源
色域映射CCM 已标定低(查表)高所有场景(最终输出)
工程选型策略:
  • 入门级摄像头: 灰度世界 + 固定 CCM,成本最低。
  • 手机 / 消费级 ISP: 灰度世界 + 完美反射加权融合 + 色温估计 LUT。
  • 车载 / 工业 ISP: 色温估计 + 神经网络白点检测 + 动态 CCM 切换。
  • HDR 融合场景: 务必在线性域完成 AWB 增益与 CCM 映射,伽马校正放在 Tone Mapping 之后。