基于直方图的冯・克里斯特映射白平衡校正

目录

一、颜色直方图       

二、直方图交集

三、基于直方图的冯・克里斯特映射白平衡校正

3.1、核心原理:冯・克里斯特映射与白平衡

3.2、基于直方图的光照估计步骤

3.2.1. 构建颜色直方图

3.2.2. 定义参考直方图(标准光照假设)

3.3. 优化求解缩放因子

3.3.1 最小化欧氏距离

3.3.2 最大化熵(适用于均匀光照)

3.3.3基于聚类的主色匹配

3.3.4应用变换矩阵

3.4、示例:白炽灯场景白平衡校正

        3.5、缩放因子优化求解

        3.5.1、优化目标函数定义

        3.5.1.1 欧氏距离(L2 距离)

        3.5.1.2 卡方距离(Chi-Square Distance)

        3.5.1.3 KL 散度(Kullback-Leibler Divergence)

        3.5.2、单通道优化:以红色通道为例

        3.5.2.1 离散搜索法(暴力搜索)

        3.5.2.2.梯度下降法

        3.5.2.3多通道联合优化

3.6、参考直方图的选取

3.7、边界处理与数值稳定性

四、伪代码

、效果图


一、颜色直方图       

        在摄影和图像处理领域,颜色直方图(CH)是对图像内颜色变化的一种可视化描述。数字图像的颜色直方图展示了每个已定义颜色范围区间内具有相应颜色的像素数量,这涉及图像的颜色模型以及所有可能颜色的集合。

        颜色直方图可针对任何类型的颜色模型构建,尽管该术语主要用于三维颜色空间(如 HSV 或 RGB)。强度直方图这一术语通常用于单色图像。对于多光谱图像,颜色直方图是 D 维的,其中每个像素由多个测量值表示(例如,超出 RGB 的三个测量值),D 为所采用的测量值数量。每个测量值对应其自身的光谱波长集合,其中部分波长可能超出可见光谱范围。

        如果可能的颜色值集合足够小,那么每种颜色可单独划分为一个范围区间,此时直方图即为每种可能颜色的像素计数。颜色模型通常会被划分为合理数量的范围区间,这些区间常组织成规则网格,每个网格包含若干相似的颜色值。此外,颜色直方图还可表示为一种在颜色模型上描述的平滑函数,用于近似像素数量。

        与其他类型的直方图一样,颜色直方图是一种统计量,可被理解为对底层连续颜色值范围的估计。直方图提供了图像中数据分布的紧凑概述。图像的颜色直方图对观察轴的方向和平移具有相当的不变性,仅随观察角度的变化而逐渐改变。颜色直方图特别适用于通过匹配两幅图像的直方图特征并对比颜色来识别场景中位置和方向未知的物体这一问题。具体而言,将 RGB 图像转换为光照不变的 RG 色度空间,可使直方图在不同光照水平下有效工作。

二、直方图交集

        直方图交集无需将对象与其背景进行精确分割,并且对前景中对象的遮挡具有鲁棒性。由于直方图交集能够处理两个直方图区域不相似时的部分匹配问题,因此得到了广泛应用。假设有一对分别包含 n 个 bin 的直方图 P 和 Q,直方图交集由公式 (2.1) 定义:

        若要得到归一化的直方图交集,需将其除以直方图模型中的像素数量。
此时,相似性值可通过公式 (2.2) 表示。 

        直方图交集的归一化匹配值不会因背景像素的影响而降低。如果背景中的某个像素与模型中的某一种颜色相似,并且目标中该颜色的像素数量低于模型中该颜色的像素数量,那么直方图交集匹配值会因这个背景像素而提高。
图 2.1 展示了直方图交集的概念。

x 轴表示 100 个 bins( bins 在此可理解为直方图的区间或柱形单元),y 轴表示每个 bin 内的元素数量。红色曲线与绿色曲线的交集用蓝色表示。当两种分布越接近时,交集面积越大。 

三、基于直方图的冯・克里斯特映射白平衡校正

        白平衡校正是计算机视觉和图像处理中消除图像色偏的关键技术,其目标是使图像在不同光照条件下(如日光、荧光灯、白炽灯)呈现人眼感知的 “真实” 颜色。基于冯・克里斯特映射(von Kries Map)的方法通过估计光照变换矩阵对颜色通道进行缩放,而直方图分析则为该估计提供了统计依据。以下是该技术的原理、步骤及应用细节:

3.1、核心原理:冯・克里斯特映射与白平衡

        冯・克里斯特映射假设光照变化可通过颜色通道的线性缩放(对角矩阵变换)来补偿。对于 RGB 图像,其数学表达式为:

\begin{bmatrix} r{}'\\ g{}'\\ b{}'\end{bmatrix}=\begin{bmatrix} m_{r}&0 &0 \\ 0&m_{g} &0 \\ 0&0 &m_{b} \end{bmatrix}\begin{bmatrix} r\\ g\\ b \end{bmatrix}


其中:

  • (r,g,b) 是原始像素值,(r′,g′,b′) 是校正后的像素值。
  • m_{r},m_{g},m_{b}是各通道的缩放因子(即冯・克里斯特矩阵的对角线元素),用于补偿光照色偏。
  • 白平衡的目标:通过估计 m_{r},m_{g},m_{b},使校正后的图像颜色分布接近 “标准光照”(如白色物体在图像中呈现为白色)。
3.2、基于直方图的光照估计步骤

利用图像颜色直方图的统计特性推断光照变换矩阵,核心步骤如下:

3.2.1. 构建颜色直方图
  • 通道分离:将 RGB 图像分解为红(R)、绿(G)、蓝(B)三个单通道图像。
  • 直方图统计:对每个通道计算像素值的频率分布 Hr​,Hg​,Hb​,横轴为像素值(0-255),纵轴为该值出现的次数或概率。
  • 示例:在白炽灯下拍摄的图像通常偏红(R 通道直方图右移),需降低 m_{r}以校正。
3.2.2. 定义参考直方图(标准光照假设)

需要预设 “无偏色” 的参考直方图,常见假设包括:

  • 灰色世界假设:图像全局颜色均值为灰色(即 E[R]≈E[G]≈E[B])。
  • 白色参考假设:图像中某区域(如白色物体)的直方图应集中在高像素值区域。
  • 统计先验:使用自然场景的统计数据(如平均直方图)作为参考 Href​。
3.3. 优化求解缩放因子

通过最小化原始直方图与参考直方图的差异,求解 m_{r},m_{g},m_{b}。常用优化目标函数包括:

3.3.1 最小化欧氏距离

目标:使各通道直方图经缩放后与参考直方图的欧氏距离最小。

  • 对 G、B 通道同理,独立求解 m_{g},m_{b}​。
  • 实现技巧:通过线性搜索或梯度下降法优化 m_{r},m_{g},m_{b}​ 的取值(通常在 0.1-10 范围内搜索)。
3.3.2 最大化熵(适用于均匀光照)

假设:校正后图像的颜色熵应最大(颜色分布最均匀)。max_{m_{r},m_{g},m_{b}}H(R{}',G{}',B{}')
其中 H 为信息熵,通过最大化熵迫使各通道分布更均衡。

3.3.3基于聚类的主色匹配
  • 先对图像颜色聚类,提取主色(如前 10% 高频颜色)。
  • 假设主色中的 “白色” 应接近参考值(如 RGB=(200, 200, 200)),通过调整m_{r},m_{g},m_{b}使主色均值接近参考值。
3.3.4应用变换矩阵

将求解的 m_{r},m_{g},m_{b}代入冯・克里斯特矩阵,对每个像素执行通道缩放:​r{}'=r\cdot m_{r},g{}'=g\cdot m_{g},b{}'=b\cdot m_{b},

  • 边界处理:缩放后像素值可能超出 [0, 255],需截断或归一化(如除以最大值)。
3.4、示例:白炽灯场景白平衡校正
  1. 原始图像:在白炽灯下拍摄,整体偏暖(红色通道亮度偏高)。
    • R 通道直方图:峰值偏右(高像素值区域频率高)。
    • G/B 通道直方图:峰值偏左(低像素值区域频率高)。
  2. 参考假设:灰色世界假设,期望校正后 E[R′]≈E[G′]≈E[B′]。
  3. 求解缩放因子
    • 计算原始各通道均值:μr​>μg​,μr​>μb​。
    • 设定 mr​=μg​/μr​(降低 R 通道缩放因子,使 R 均值接近 G),mg​=mb​=1(若 G/B 已均衡)。
  4. 校正结果:R 通道亮度降低,图像色偏消除,整体色调趋于中性

3.5、缩放因子优化求解

        在基于直方图的白平衡校正中,核心问题是如何通过最小化原始图像直方图与参考直方图的差异,高效、准确地求解冯・克里斯特映射的缩放因子 m_{r},m_{g},m_{b}​。以下详细介绍优化目标函数、求解方法及实现细节:

3.5.1、优化目标函数定义

        假设原始图像的 R、G、B 通道直方图分别为 Hr​,Hg​,Hb​,参考直方图(代表标准光照下的分布)为 Href​。优化目标是通过调整缩放因子m_{r},m_{g},m_{b}​,使原始通道直方图经缩放后与参考直方图的差异最小。常用差异度量包括:

3.5.1.1 欧氏距离(L2 距离)

公式D_{L2}(m_{c})=\sum_{i=0}^{255}(H(\left \lfloor i*m_{c} \right \rfloor)-H_{ref}(i))^{2}

  • c∈{r,g,b} 表示颜色通道,mc​ 为对应通道的缩放因子。
  • \left \lfloor i,m_{c} \right \rfloor 为缩放后的像素值索引(需取整以匹配直方图区间)。
  • 特点:计算简单,对所有差异同等加权,适用于直方图整体形状匹配。
3.5.1.2 卡方距离(Chi-Square Distance)

公式:​D_{x^{2}}(m_{c})=\sum_{i=0}^{255}\frac{(H_{c}\left \lfloor i*m_{c} \right \rfloor-H_{ref})^{2}}{H_{ref}(i)+\varepsilon }

  • ϵ 为极小值(如 10^{-8}),避免分母为零。
  • 特点:对高频区间的差异更敏感,适合强调主要颜色的匹配。
3.5.1.3 KL 散度(Kullback-Leibler Divergence)

公式D_{KL}(m_{c})=\sum_{i=0}^{255}H_{ref}(i)\cdot log(\frac{H_{ref}(i)}{\varepsilon +H_{c}\left \lfloor i*m_{c} \right \rfloor})

  • 特点:度量两个分布的信息熵差异,偏向于惩罚参考直方图中的高频区间误差。
3.5.2、单通道优化:以红色通道为例

由于 RGB 通道通常独立优化(冯・克里斯特矩阵为对角矩阵),可先单独求解每个通道的缩放因子。以下以红色通道为例:

3.5.2.1 离散搜索法(暴力搜索)

步骤

  1. 设定搜索范围:通常 mr​∈[0.1,10](根据像素值范围调整)。
  2. 离散化步长:如以步长 0.01 遍历所有可能的 mr​ 值。
  3. 计算差异值:对每个 mr​,计算缩放后的直方图与 Href​ 的差异 D(mr​)。
  4. 选取最优解:选择使 D(mr​) 最小的 mr​。

优缺点

  • 优点:实现简单,无需梯度计算,适用于小规模问题。
  • 缺点:计算量大(步长细时需遍历数万次),可能陷入局部最优(但因目标函数单峰性,通常可找到全局最优)。
3.5.2.2.梯度下降法

步骤

优缺点

  • 优点:收敛速度快,适用于大规模数据。
  • 缺点:需计算梯度,实现较复杂;可能受初始值影响(但因目标函数凸性,通常收敛到全局最优)。
3.5.2.3多通道联合优化

若考虑通道间相关性(如 G 通道可能作为参考基准),可联合优化m_{r},m_{g},m_{b}​。例如:

  • 目标函数min_{m_{r},m_{g},m_{b}}(D_{L2}(m_{r})+D_{L2}(m_{g}+D_{L2}(m_{b})
  • 求解方法
    • 牛顿法:利用 Hessian 矩阵加速收敛,适用于二次型目标函数。
    • 粒子群优化(PSO):适用于非凸优化问题,避免局部最优(但计算成本较高)。
3.6、参考直方图的选取

优化效果高度依赖参考直方图 Href​ 的合理性,常见选取方式:

  1. 灰色世界假设
    • Href​ 为各通道均值相等的均匀分布,即 H_{ref}(i)=常数。
  2. 白色参考点
    • 手动指定白色区域(如像素值 > 200 的区域),取其直方图作为H_{ref} ​。
  3. 统计先验
    • 使用自然图像数据库的平均直方图(如微软 COCO 数据集的全局颜色分布)。
3.7、边界处理与数值稳定性

四、伪代码

四、效果图

对ISP图像处理感兴趣的小伙伴,欢迎加入我的星球共通学习探讨:https://t.zsxq.com/DHkB7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值