1. AWB 概述:白平衡的基本概念、色温与色度学基础、AWB 在 ISP pipeline 中的位置

1.1 白平衡的基本概念

人眼视觉系统具有色彩恒常性(Color Constancy),无论光源色温如何变化,人眼都能将白色物体感知为白色。然而,图像传感器(CMOS/CCD)不具备这种自适应能力,其记录的 RAW 数据会随光源色温变化而产生严重的色彩偏移。白平衡(White Balance, WB)的核心目标就是消除光源色温对图像色彩的影响,使白色物体在任何光源下都呈现为中性白,从而还原场景的真实色彩。

关键定义: 白平衡是 ISP(Image Signal Processor)中通过数字增益调整 R/G/B 通道比例,使图像中原本为白色的区域在输出中呈现为 R=G=B 的过程。

白平衡的数学本质可表示为:

R_out = R_in × R_gain
G_out = G_in × G_gain
B_out = B_in × B_gain

其中 R_gain、G_gain、B_gain 为各通道的增益系数,
且满足 R_gain : G_gain : B_gain 的比值由光源色温决定。

1.2 色温与色度学基础

色温(Color Temperature)是描述光源光谱特性的物理量,单位为开尔文(K)。它基于黑体辐射理论:当黑体被加热到不同温度时,会发出不同颜色的光。色温越低,光线越偏红/黄;色温越高,光线越偏蓝。

光源类型 典型色温 (K) 视觉色调 常见场景
烛光/日出日落 1800 - 2800 暖红/橙 室内烛光、黄昏
白炽灯 2800 - 3200 暖黄 家庭照明
荧光灯/日光灯 4000 - 5000 中性白 办公室、教室
正午日光 5000 - 6500 标准白 户外晴天
阴天/阴影 6500 - 8000 冷蓝 阴天、树荫下
蓝天/高海拔 8000 - 10000+ 深蓝 晴朗天空、雪地

在色度学中,白平衡的调整通常基于 CIE 1931 色度图。光源的色度坐标 (x, y) 落在普朗克轨迹(Planckian Locus)上,而白平衡的目标是将图像的白点校正到标准照明体 D65(色温 6504K)或 D50(色温 5003K)附近。

色温估计偏差: AWB 算法的核心挑战在于从图像内容中准确估计当前光源的色温。当场景中存在大面积单色物体(如蓝天、绿草)或混合光源时,色温估计极易产生偏差,导致白平衡失效。
色温与色度学关系示意图 色温与色度学关系示意图 2800K 4000K 6500K 8000K 10000K 色温与色调对应关系 低色温 → 红/黄色调(暖) | 高色温 → 蓝色调(冷)

1.3 AWB 在 ISP Pipeline 中的位置

在典型的 ISP 处理流水线中,AWB(自动白平衡)模块通常位于黑电平校正(BLC)和去马赛克(Demosaic)之间,或紧接在去马赛克之后。其位置决定了输入数据的格式和输出数据的质量要求。

以下为 ISP Pipeline 中 AWB 模块的典型位置与数据流:

ISP Pipeline 中 AWB 模块位置 ISP Pipeline 中 AWB 模块位置 RAW 输入 BLC AWB Demosaic CCM Gamma 各阶段数据格式 RAW 输入 / BLC 输出:Bayer RAW(单通道,每个像素仅 R/G/B 之一) AWB 输入:Bayer RAW(增益调整在去马赛克前完成,避免色彩混叠) Demosaic 输出:RGB 三通道全分辨率图像

1.4 AWB 模块的输入输出与关键参数

AWB 模块在 ISP 中承担着色温估计与增益计算的双重任务。其输入输出关系如下:

项目 说明
输入 Bayer RAW 数据(经 BLC 校正后)、统计信息(R/G/B 通道直方图、色块均值)
输出 R_gain、G_gain、B_gain 三通道增益系数,以及估计的色温值(K)
关键参数 色温查找表(LUT)、增益上限/下限、统计窗口配置、收敛速度
常见算法 灰度世界(Gray World)、完美反射(White Patch)、色温估计(色度空间聚类)
调试注意: AWB 模块的色温估计偏差是 ISP 调试中最常见的问题之一。当场景中存在大面积单色物体(如蓝天、绿草、红色墙面)时,灰度世界算法会错误地将该颜色视为中性灰,导致白平衡严重偏色。此时需要引入场景识别或统计窗口加权策略来修正。

1.5 AWB 色温估计的典型流程

一个完整的 AWB 色温估计与增益计算流程通常包含以下步骤:

  1. 统计信息采集: 将图像划分为 M×N 个统计块,计算每个块的 R/G/B 均值。
  2. 有效块筛选: 剔除过暗(噪声大)、过亮(饱和)、低饱和度(无色彩信息)的块。
  3. 色温初估计: 基于灰度世界或完美反射假设,计算全局 R/G 和 B/G 比值。
  4. 色温匹配: 将计算得到的 R/G、B/G 比值与预置的色温查找表(LUT)进行匹配,得到估计色温。
  5. 增益计算: 根据估计色温,从 LUT 中插值得到 R_gain、G_gain、B_gain。
  6. 时间域平滑: 对增益系数进行低通滤波,防止帧间闪烁。
AWB 色温估计与增益计算流程 AWB 色温估计与增益计算流程 统计信息采集 有效块筛选 色温初估计 色温匹配 (LUT) 增益计算 时间域平滑 关键输入 Bayer RAW 数据 统计窗口配置 色温 LUT 表 关键输出 R_gain / G_gain / B_gain 估计色温值 (K) 置信度指标

1.6 色温估计偏差的常见场景

在实际调试中,以下场景最容易引发 AWB 色温估计偏差:

  • 大面积单色物体: 如蓝天、绿草地、红色墙面,算法误将单色视为中性灰。
  • 混合光源: 室内日光灯与窗外自然光混合,色温不唯一,算法难以收敛。
  • 低照度环境: 信噪比低,统计信息受噪声干扰,色温估计抖动大。
  • 高饱和度物体: 如霓虹灯、彩色灯光,超出色温 LUT 覆盖范围。
  • 动态场景切换: 从室内到室外,色温突变,时间域平滑导致响应滞后。
调试建议: 针对上述场景,建议在 ISP 调试工具中开启 AWB 统计窗口可视化功能,观察有效块分布和色温估计曲线,结合场景识别(如人脸检测、天空检测)进行加权修正。