白平衡数学原理

文章探讨了白平衡算法在图像处理中的作用,尤其是如何将场景中的颜色映射到sRGB标准显示器的D65色温下,以实现人类视觉的颜色恒常性。白平衡涉及光源颜色估计、色适应和颜色空间变换,其中色适应矩阵的选择是关键。实践中,常使用的色适应空间包括SensorRGB、CIE-1931XYZ、BradfordRGB等。白平衡算法通常通过对传感器的RGB通道应用增益系数来实现,这些系数可以通过简化处理得到。
摘要由CSDN通过智能技术生成

转载自刘斯宁大佬的:Understanding White Balance Control

实际场景的图像最后都是在各种显示器中显示

大部分显示器都支持sRGB标准

白平衡算法将拍摄场景中的白色映射到D65色温下的白色(大部分显示器利用CIEXYZ空间转换到其他空间时都是以D65为白点参考点),相当于实现人类视觉系统的颜色恒常特性

 对于需要在sRGB标准显示器上显示的图像,白平衡算法需要将拍摄场景色温下的白色映射为D65色温下的白色。这就相当于实现了人类视觉的颜色恒常特性。白平衡的第一步也是最重要的一步是对拍摄场景进行光源颜色估计(light source color estimation),估计的结果可以用于下一步的色适应(chromatic adaptation)。色适应的作用是去除图像的偏色(color cast),使原始场景中的白色物体在D65色温下仍然是白色。

基于以上理论,ISP中关于白平衡模块的基本功能框架可以用如下图表示:

 基于以上理论,白平衡的基本功能可以用以下公式来定义:

其中,

  • RGBin 是3x1颜色矩阵,是白平衡的算法的输入。根据算法应用场景的不同,RGBin可能是CMOS sensor输出的RGB值(线性),也可能是sRGB空间的RGB值(带gamma)。
  • Fin 是固定的3x3变换矩阵,把颜色从输入空间变换到适合运算的工作空间,称为中间表示。当工作空间为XYZ空间时(假设输入为sRGB空间),

  • M 是色适应矩阵,将输入三刺激值映射为对人眼L、M、S视锥细胞的三刺激量。如何选择合适的M矩阵是一个热点问题,不同的评价标准会导致不同的答案。

  • D 是3x3对角矩阵(非对角线元素全部为0),使用场景光源下的白场响应对颜色进行归一化,并使用归一化值和目标光源下的白场响应预测(在目标光源下)激发同样的知觉所需的L、M、S三刺激值。 

 D矩阵需要依据场景光源和目标光源的色温确定,其中目标光源色温通常固定是D65,而场景色温需要通过某种技术从输入图像中估计得到。当两个色温都确定后,D矩阵可以用两个白场响应之比表示

其中,

下标wd表示目标光源(dest)即显示器(display)的白场响应,

下标ws表示输入光源(source)即场景(scene)的白场响应,

各种光源下的白场响应可用白平衡卡在实验室环境下标定得到。

  • M^-1 是M的逆矩阵

  • Fout 是固定的3x3变换矩阵,把颜色从工作空间变换到输出空间,正常也是sRGB

  • RGBout 是3x1颜色矩阵,是白平衡的算法的输出


实践中常用以下几种空间做为色适应矩阵M的工作空间

  • Sensor RGB 空间

 该矩阵的作用是将RGB值从SensorRGB空间变换到人眼的XYZ空间,这个过程可以理解为sensor颜色校正的一部分,矩阵系数需要根据sensor特性进行标定。

  • 锐响应RGB 空间

  • CIE-1931 XYZ

 

  • Bradford RGB 空间

  • Von Kries

  • CMCCAT2000

  • CAT02

 在以上空间中,sensor RGB 空间是最简单的一种选择,该方案直接使用sensor的频率响应模拟人眼的响应,Fin, M, Fout 都简化单位矩阵,因此白平衡算法退化为:

这个方案虽然精度不高,但是实现成本最低,所以被工业和消费级camera广为采用。由于D是对角阵,所以白平衡运算就是对sensor 的三个颜色通道分别乘以一个增益系数,这三个增益系数即定义为白平衡增益。对图像施加了白平衡增益后图像即获得了正常的白平衡。有些sensor 会提供专用的增益寄存器分别控制各个通道的增益,而几乎所有的ISP处理器都提供同样功能的增益寄存器。

在研究白平衡增益时,为了简化分析和计算,常用G通道的增益对三个系数进行归一化处理,

于是默认G通道增益总是1.0,而R,B通道的增益简写为R/G和B/G。

P.S. 基于Bayer CFA原理的sensor 实际上有四个独立的颜色通道(R,Gr,Gb,B),但通常取Gain_Gr=Gain_Gb 即可。尽管由于种种原因Gr/Gb通道实际上并不完全一致,但解决这种不一致的任务往往落在专用的绿平衡(Green Equalization, GE)模块上。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值