ISP基础(06):AWB算法

1、AWB概述

人的视觉和神经系统具有色彩恒常性,在看到白色物体的时候基本不受环境的变化。比如阴天、晴天、室内、室外、日光灯、白炽灯等的环境下,人的视觉中白纸基本保持色彩不变,但是 image sensor 这种电子器件没有心理和神经调节作用。不同色温光源下,拍出的照片中白色会出现偏色的情况。

色温是黑体热辐射理论的概念,表征辐射谱中辐射强度最大的频率波,概念迁移到光源,表示光源中亮度最强的频率光。

AWB表示Auto White Balance,自动白平衡。首先是要及时检测出环境光色温的变化,其次对环境色温变化及时做出响应。针对这一过程可以有不同的实现方法,而评价一个方法的优劣主要是看这个方法的响应速度,以及检测色温的准确度。

2、AWB算法

2.1 基本原理——Von Kries色适应理论

Von Kries提出,可用一个对角矩阵变换来描述两种光照条件下同一物体表面颜色之间的关系[1]。该理论认为,对于同一个观察者而言,假设在光源A下面,一个物体的RGB值为RGB1=[R1,G1,B1],如果在光源B下面同一个物体的RGB值为RGB2=[R2,G2,B2],那么RGB1与RGB2之间存在这如下转换关系:

RGB2’=[kr,0,0; 0,kg,0; 0,0,kb]RGB1'

其中kr、kg和kb分别为R、G、B三个通道的校正系数。

2.2 算法类型

白平衡自动控制算法根据技术路线可以归结为几大类,分别是场景假设模型(灰度世界、完美反射)和点统计模型(白色点估计、分块权重);

  • 灰度世界算法

该理论假设:对于一副有着丰富色彩的图片,图像上R、G、B三个通道的平均值应该等于一个被称为“灰色”的值K。理论中最重要的一点就是“灰色”的定义和选择问题。有多种方法对理论中的“灰色”进行定义,在此不详细讨论这一点。至于“灰色”的选择,一种方法是将其定义为各通道最大值的一半,还可以将待处理图片三个通道均值的均值作为“灰色”值K。当确定了灰色值K之后,将待处理图片转换到经典光源下的各个校正系数分别为:kr=K/Rmean,kg=K/Gmean,kb=K/Bmean,其中Rmean,Gmean和Bmean分别为图像R、G、B通道的均值。

  • 完美反射法

算法假设:图像中的“镜面”可以完全发射光源照射在物体上面的光线。因此,如果图像中存在一个“镜面”的话,那么在特定光源下,可以将所获得的“镜面”的色彩信息认为是当前光源的信息。在进行校准的时候,我们假设图片上存在一个可以完全反射光源的“镜面”,那么在经典光源下图片中就应该存在一个三刺激值为[255,255,255]纯白色像素点(注意:有多种白色点的定义),此时的校准系数可以定义为kr=255/Rmax,kg=255/Gmax,kb=255/Bmax,其中Rmax,Gmax和Bmax分别为图像R、G、B通道的最大值。

  • 统计加权白点法

首先,光源标定阶段得到色温增益曲线

image
image

然后,矫正阶段选取图片roi. 分成N*M块. 计算每一块的r,g,b平均值,然后计算r_avr/g_avr , b_avr/g_avr。然后将可能是白点的块保留,统计到色温曲线的距离,看哪些块距离色温曲线近且这样的块多,则认为就是目前的色温。

image
image

3、AWB测试

  • 主观评测

不同色温光源下,观测24色卡,灰度块,颜色有无偏色;

  • 客观评测

测量矫正图像和标准色卡图像偏差 ΔS;

AWB收敛速度测量;

4、Reference

Understanding Color Temperature

Understanding Light and Color

Understanding White Balance Control

白平衡之灰度世界算法与镜面算法

基于白点检测的数码相机自动白平衡算法实现(Opencv+vs)

原文地址:https://www.cnblogs.com/linhaostudy/p/13967757.html