目录
背景
基本概念
色温的定义
白平衡概念(WB)
如何将让camera sensor拍摄的图片和人眼看到的一致呢?
如何计算RGB gain
自动白平衡算法(AWB)
灰度世界法
基于白点的算法
基于色温的方法
色温曲线
色温 R/G、B/G 分布
在不同光源下人眼看到的颜色是不变的,不论在阳光、室内、阴影、或荧光下,人们所看到的白色物体仍旧为白色。
原因:人眼具有颜色恒常性,可以避免光源变化带来的颜色变化。
颜色恒常性:在照度发生变化的条件下人们对物体表面颜色的知觉趋于稳定的心理倾向;(也就是说,人根据记忆会对颜色进行一个矫正,光源发生变化时从神经上对其感知还原的)。
白平衡的作用就是在这些场景下恢复图像的正常颜色。
图像传感器不具备颜色恒常性这种特性,从而造成色偏,那么是如何处理颜色白平衡的作用就是在这些场景下恢复图像的正常颜色。的偏差呢?
色温描述的是具有一定表面温度的“黑体”(blackbody)的辐射光的光谱特性。绝对黑体从绝对零度(-273℃)开始加温后,黑体的颜色会逐渐由黑变红,转黄,发白,最后发出蓝色光,这种随温度而产生的颜色变化就光谱特性。当加热到一定温度,黑体发出的光所含的光谱成分,就成为这一温度下的色温。
色温用“K”(开尔文)表示。(理解:如果某光源发出的光,与某一温度下黑体发出的光所包含的光谱成分相同,就称为某K色温。如100W灯泡发出的光的颜色,与绝对黑体在2527℃时的颜色相同,那么这个灯泡发出的光的色温就是:(2527+273)K=2800K)
人类视觉系统具有颜色恒常性特点,人类对物体观察不受光源影响。 如下图白色在人眼中的表现:
Sensor在不同光线下,感知到的物体呈现的颜色不同,在晴朗天空下会偏冷色调,在烛光下会偏暖色调。camera sensor在不同光源下对颜色的响应,如下图所示:
上图有两个趋势:高色温区B成分越来越高,R越来越低。低色温区R成分越来越高,B成分越来越低。5000K 光源本身是白色的 RGB是接近的
把sensor的R,G,B分量各自乘上一个系数,使RGB三个能量保持相同即可。
白平衡就是:不管在任何光源下,都能将拍摄的白色物体的图像还原为白色。把sensor 的R、G、B相应各自乘以一个系数使得R、G、B相等的过程就叫白平衡。所有白平衡的算法就是计算RGB gain
在实验室中:白平衡的算法就是计算R、G、B的gain值。一般在实验室中用18%灰卡或者色卡取第22个灰色方块,用软件测出R, G, B的均值,人眼一般对G分量比较敏感,所以以G作为目标进行补偿。
比如原始R=15,G=40,B=30,采用如下的方法计算出白平衡的gain值。
看起来很简单,可是,这是因为我们的大脑知道哪是白/灰色,对于相机或者计算机来说,这个问题真的好难。所以需要一些算法计算RGB的gain.
需要找到白吗??
自动白平衡算法分为两类,一类是不需要找到白,如灰世界、完美反射等。一类需要找到白,如白点法、白快法、灰边法等。
灰度世界算法基于一个假说:任一幅图像,当它有足够的色彩变化,则它的RGB分量的均值会趋于相等。这是一个在自动白平衡方面应用极为广泛的理论。如下图一个颜色足够充足的画面里,假说RGB三个通道的均值是相同的。
对此算法的流程如下:
2.通过限定YUV的区域来判断是否为白点,如下论文通过四个限制条件俩限制白点,满足条件的点就是白点,参与后续的计算,否则不是点直接舍弃。
3.通过以上四个限制条件找到白点集合后,就可以对白点集合运用GW算法或者其他算法计算gain值从而进行后续的校正;
对于特定光源其色温是确定的,且随着色温变化而变化,如下图:
对于某种色温来说,它的 R/G、B/G 的值有着什么样的关系呢?
同一个色温 灰色的色调的 R/G、B/G 基本上都在一个比较确定的范围内。因此,只要可以确定当前图像中的 R/G、B/G 的值,就可以通过查表法来得到当前光源的色温值,并进行相应的白平衡调整。并且从图中还可以看出,6500K 色温和 7500K 色温的 R/G,/B/G 的分布非常靠近,因此在算法过程中将两种色温合并为同一种来进行处理。
可以根据图像中像素点的 R / G 、B / G 的值对像素进行分类统计, 以此判断图像光源的色温,得到采样灰色像素点,计算出相应的增益值,实现图像的白平衡调整。
通过一定的技术手段获取色温即可,一种方法就是通过加一个色温传感器获取环境色温。另一种就是通过计算求出T,下面的论文就提供了一种方式该算法通过以下步骤迭代获取色温:
定义Tmin=2000K,Tmax=15000K;
判断Tmax-Tmin是否大于10,
如果小如或等于10,那么就可以直接返回T,T可以去min,man或者二者的均值。
如果满足大于10的条件,则T=(Tmin+Tmax)/2;
通过图中一些列的公式,通过T就可以计算出一个R’G’B’。这些公式都是通过实验拟合总结的;
对于原始图像可以求出各个通道的均值RGB,如果B’/R’>B/R那么Tmax=T,否则Tmin=T;重复上述