摘 要: 针对白平衡算法中普遍存在的校正不足及算法复杂度过高等问题,结合灰度世界算法和完美反射算法的优点,提出了一种基于高斯分解的自动白平衡算法。该算法通过对图像灰度分布的高斯分解,得到图像的高斯分布模型,并以此计算增益曲线。实验结果表明,该算法能有效校正图像的偏色问题,适用于多种不同场景。
关键词: 白平衡;高斯分布;灰度世界算法;完美反射算法
颜色是图像的重要特征之一,也是图像处理与分析的重要依据。从物理意义上说,物体之所以呈现出某种特定的颜色,是因为光线照射物体时,物体所反射的光在人类视觉系统中呈现出这种特定的颜色。也就是说,物体被人眼观测到的颜色不仅仅是由其反射特性所决定的,同时也取决于射向物体的光线颜色。
人类的视觉系统具有颜色恒常性,能够在一定程度上消除光照条件等因素对颜色的影响,正确地感知物体的颜色。但成像设备却不具有这种“调节”功能,其采集的图像往往与物体表面的真实颜色之间存在一定程度的误差,即偏色。这种偏色的现象是由外部光源的不同色温决定的,偏色的程度与外部光源的色温变化有直接关系。在不同外部光源的照射下,物体所呈现的颜色是不同的。其中,白色物体变化最为明显,在室内钨丝灯光这样低色温的照射下,白色物体看起来会带有橘黄色的色调,而在这样的光照条件下拍摄出来的景物就会偏黄;但如果是在蔚蓝天空这样高色温的照射下,则会带有蓝色色调。
自动白平衡的目的就是尽可能地减少外部光源所造成的色彩差异影响,在不同的色温条件下均能还原出被摄目标本来的色彩,使得拍摄出的图片尽量符合人类视觉的习惯。经典的自动白平衡算法主要有灰度世界算法[1]GW(Gray World)、完美反射算法[2]PF(Perfect Reflector)、模糊神经网络算法[3]FNN(Fuzzy Neural Network)、基于边缘的白平衡算法[4]以及基于上述几种算法的改进算法[5-7]等。灰色世界算法基于Von-Kries系数理论的灰色世界假设,但是当图像的色彩并不丰富时,灰度世界算法得到的数值往往是不真实的。完美反射法的理论基础是,搜寻图像中最亮的区域作为白色区域,并将此区域视为标准白色,对图像进行偏色校正;但当所拍摄物体最亮部分并非白色时,此方法往往失效。而较新的模糊神经网络算法存在着逻辑单元消耗多、功耗高等难题;基于边缘的白平衡算法对大多数图像都能很好地进行自动白平衡,但是当图像出现大范围有色纹理时,由于该颜色纹理边缘占主导地位,导致白平衡失效。
针对以上算法的种种不足,结合灰度世界算法和白点检测算法的优点,本文提出了一种基于高斯分布的自动白平衡算法。该算法通过对图像灰度直方图的高斯分解,自适应获取白点检测条件,从而得到较准确的增益曲线,提高了算法的适应性。实验结果表明,该算法能有效校正图像的偏色问题,适用于多种不同场景。
对于色彩丰富的图像,灰色世界法的校正效果比较明显;但对颜色单调的图像,其算法效果很差,有时会出现过度校正。
1.2 完美反射算法
完美反射法又称镜面法,其基本理论为,假设图像中存在一个镜面,那么图像中镜面的亮度是最大的,且该镜面可以反射光源色彩,而其本身又不带有任何色彩。因此,该方法通过寻找图像的镜面并将这个高亮度的物体或区域视为标准白色,计算所有参考白点的平均色差,以此对图像进行偏色校正。
完美反射法的优点是计算非常简便,当图像中存在高亮度区域时还原效果很好。但是白点的检测往往缺乏通用性,当图像中不存在镜面或者图像亮度较低时表现不佳。
(2)确定高亮区域。在高亮区域的选择上,不同的方法提供了不同的依据。本文提出了一种基于RGB色彩空间的约束条件,即:在RGB色彩空间中定义一个三维结构,将落在这个区域内的像素认为是高亮区域,而区域外的像素被认为是非高亮区域。在进行色差计算时,只需计算高亮区域像素的平均色差以取代整个图像的色差,从而提高色温估计的准确度。本文提出的约束条件可以表述为:
3 实验及结果
为检验算法的有效性,本文对多幅实际自然场景图像进行了实验,并将实验结果与采用灰度世界算法和完美反射算法的结果进行了对比。
限于篇幅,这里只选取了两组白平衡的结果进行比较,如图2和图3所示。图2(a)是一幅低色温下的自然场景图像,有明显的偏红现象;图2(b)是采用本文算法的校正结果,图像的色彩、亮度都很均匀,非常接近人眼的视觉效果;图2(c)是采用灰度世界算法的校正结果,图像偏蓝,有较严重的过度校正情况出现;图2(d)是采用完美反射算法的校正结果,效果稍好于灰度世界算法,但仍有过度校正现象。图3(a)是一幅高色温下的自然场景图像,有明显的偏蓝现象;图3(b)是采用本文算法的校正结果,天空和绿地的色彩很纯正,符合人眼的视觉效果;图3(c)是采用灰度世界算法的校正结果,图像有些偏蓝,显示出算法的白平衡校正不足;图3(d)是采用完美反射算法的校正结果,效果稍好于灰度世界算法,基本符合人眼的视觉效果。从多幅实际自然场景图像的实验结果来看,本算法改进了自动白平衡的效果,在不同色温条件下都能很好地进行白平衡处理,显示了该算法的广泛适用性。
针对白平衡算法中普遍存在的校正不足及算法复杂度过高等问题,结合灰度世界算法和完美反射算法的优点,提出了一种基于高斯分解的自动白平衡算法。该算法通过对图像灰度分布的高斯分解,得到图像的高斯分布模型,并以此参数计算增益曲线。实验结果表明,该算法能有效校正图像的偏色问题,适用于多种不同场景。
参考文献
[1] BARNARD K. Practical color constancy[D]. Bumaby Canada: School of Computing Science, Simon Fraser University, 1999.
[2] GASPARINI F, SCHETTINI R. Color balancing of digital photos using simple image statistics[J]. Pattern Recognition,2004, 37(6):1201-1217.
[3] Cheng Y C, Chen W H, Chen Y Q. Automatic white balance for digital still camera [J]. IEEE Transaction on Consumer Electronics, 1995,41(3): 460-466.
[4] Lin Jinlong. An automatic white balance method based on edge detection[C]. IEEE Tenth International Symposium on Consumer Electronics, St. Petersburg, 2006: 1-4.
[5] 严世珺.数字图像白平衡处理算法研究与改进[D].上海:上海交通大学,2007.
[6] 赵全友,潘保昌.改进的LoG边缘自动白平衡算法[J].计算机应用研究,2009,26(2):775-778.
[7] 金黄斌,秦兴,郭斌林.基于灰度世界和白点检测的自动白平衡算法[J].电子器件,2011,34(2):226-231.