何可丁,王 庆
齐鲁工业大学制浆造纸科学与技术教育部/山东省重点实验室,齐鲁工业大学(山东省科学院) 轻工科学与工程学院,济南 250353
目前对于自动白平衡(AWB)己经提出了多种经典算法,这些算法可以通过多种方式进行分类,其中包括1)静态方法:灰度世界法[1]、完美反射法[2]等;2)动态方法:动态阈值算法,色温估计算法、白点检测算法等;3)基于学习的方法:该方法通过学习训练集,以建立模型的方式来估计光源,校正效果较好但实现过程复杂。
灰度世界法,完美反射法等是目前公认最基础的两种白平衡方法。其中灰度世界法算法简单,假设条件宽泛,所以得到了广泛的应用,但对含有单一大色块图像的白平衡校正会失效。完美反射法其原理是假设图像上最亮点为白点,并以此白点为参考对图像进行自动白平衡校正。该算法的优势在于计算量少,实现方式简单,但当图像色彩绚丽或亮度整体偏暗时,经过该算法处理的图像仍然存在色偏。2005年Lam提出了一种灰度世界法和完美反射法的正交组合算法(Quadratic Combining GW&PR,QCGP)[3]。该方法可以很好地对图像的色彩进行调整,并且保留上面提到两种算法的优点。但有两种缺陷,其一,对色彩丰富度低且某一颜色为主导时的图像会失效;其二,会使图像亮度被削弱。针对第一种缺陷有学者提出了加权标准差的灰度世界算法[4],该方法将图像分块,并舍弃掉颜色相关性较小的宏块,对严重偏色的图像校正效果较好,但当颜色相关性较小的区块过多时,图像白平衡效果依旧很差。针对第二种缺陷有学者提出了使用亮度恢复的QCGP算法[5],它能解决QCGP算法亮度被削弱的缺陷,但仍然无法解决低色彩丰富度图像的白平衡问题。图像熵值加权的AWB方法[6]便是针对颜色块较少的图像校正结果不理想的问题,对白平衡算法中增益因子的计算进行改进,改进算法颜色还原准确度较高,但仍然存在一定的校正误差。由上可知不同特征的图像的白平衡效果会有不同,还有学者通过将图像分类选择相应的静态类白平衡算法进行校正[7]。
近年来AWB算法的研究以根据特定场景的设定,直方图的运用和多种算法的融合为主。如2016年Yu等提出了一种结合GW和色度直方图重合的自动白平衡方法[8]。该方法能分别满足GW理论和色度直方图重合的要求,并能在更多的场景中获得比这两种方法更好的效果,计算复杂成为该方法最大缺点。Huang等提出了一种基于直方图偏移补偿的白平衡算法[9]便是为了解决一些白平衡方法计算复杂的缺点,它是结合了简单功率约束方法和良好的色差校正能力的AWB算法。该算法以加法运算为主,因此计算复杂度低。2017年张朵朵等提出基于海思平台的自动白平衡算法[10],该算法虽然可解决单色场景严重偏色的缺陷,但其因为在实现过程中用到线性拟合、线性映射等操作,会给算法本身引入一定的误差。2019年戴爱霞将白点检测算法、灰度世界算法以及色温估计算法相融合,并且通过增益多边形对增益值进行调整[11]。但其色温估计采用的是单色光估计,而实际生活中大多数光源是混合光,因此校正效果存在欠缺。2020年M Iqbal等为了解决微光下图像过暗的原因,提出了一种在保持输入图像对比度的同时去除颜色饱和度的白平衡技术[12],从微光图像中提取低频和高频。使用Sigmoid函数在低频上进行颜色平衡。然后在YCbCr颜色空间中用约束线性最小二乘极小化来实现白平衡。该方法对于微光下的图像处理效果较好,但没有考虑其它光源下的效果。
尽管目前已经研究出了大量的AWB算法,还没有一种算法能够适用于所有的图像,并且对于低色彩丰富度图像的AWB校正算法较少。本文提出了一种适用于低色彩丰富度且没有某一颜色为主导的图像的白平衡算法。在此基础上,建立了一种自适应的白平衡解决方案。根据图像的色彩丰富度判定原则,自适应选取最合适的白平衡算法。在大量自然图像上的实验表明,该方法计算简单,且适用于满足条件的大部分图像。
利用图像处理中常用DCT[13-14]对图像进行变换。DCT作为图像处理的一种手段,其应用特点为:对于色彩艳丽的图像在DCT变换后,由于滤掉了高频部分,从而会导致图像不同程度的失真;反之低色彩丰富度图像因包含较大的冗余信息,且图像的主要信息为低频分量,因此DCT变换后图像基本无失真情况。因此利用该特点,可在白平衡校正之前将低色彩丰富度图像,先进行DCT变换,过滤掉图像中的高频部分,从而降低了由于图像高频像素值参与白平衡算法而导致失效的风险。该算法适用于色彩丰富度低、单色面积不大的图像。
其具体步骤如下所示:首先将图像的R,G,B三通道进行DCT变换。然后根据灰度世界思想,取图像平均值,并进行不同颜色通道之间的比较。这里可得:
(X=R,G,B)
(1)
然后根据颜色通道平均值大小比较的结果进行增益系数计算。当R通道的值居中时,增益过程如下:
KR=1,
(2)
G,B通道居中时亦同理,最后对图像通道进行增益计算并输出结果。
在CVonline图库中选取了22张图像,图像主要包含山,水,建筑物等结构,因此大部分图像色彩丰富度不高。首先调节图像颜色通道大小使其偏色,再将偏色图像经过QCGP算法和GW-DCT算法处理。将颜色丰富度低的图像经两种算法处理比较后得到的结果如图1所示。
注:a)原图;b)偏色图像;c)GW-DCT;d)QCGP
图1为低色彩丰富度图像的校正结果,其中图b)是色彩丰富度低且偏色的图像。图d)为QCGP算法处理后的图像,经该算法校正后的图像仍有红色,存在校正效果不足的现象。图c)是本文改进算法处理的图像,校正效果较好。
将图库中色彩丰富度高的图像进行了测试,如图2所示。
注:a)原图;b)色偏图像;c)GW-DCT
由仿真结果可知,色彩丰富度较低的图像经过GW-DCT算法处理白平衡校正效果较好。但图库中色彩丰富度较高的图像经过该算法处理会存在校正过度的现象。因此该算法存在一定的局限性,仅适用于低色彩丰富度的图像。
通过图像的色彩丰富度、熵、颜色占比和亮度占比四参数将图像进行分类,然后对分类好的图像利用QCGP、PR和GW-DCT算法对分类图像进行白平衡校正。如图3所示,该解决方案的关键在于两次对于图像的判定,首先通过计算图像颜色占比来判定图像是否以某一颜色为主导,然后将区分出来的两类图像分别进行图像色彩丰富度的判定以及图像亮度占比的判定,最后综合以上参数自适应选择白平衡算法对图像进行白平衡校正。
图3 自适应解决方案
首先通过计算图像颜色占比来判断图像是否以某一颜色为主导。本文采用量化后的HSV颜色直方图方法[15],首先将所有颜色量化成64种颜色分类,然后统计64种颜色分类的像素数,得到直方图。以64种颜色中像素最多的颜色与图像总像素之间的比例记为最多颜色占比M。根据颜色占比将图像分为两类:图像是否以单一色主导。本文在CVonline图库与柯达真实彩色图库中选取了101幅图片进行了验证,当M<0.2时,图像不存在某一颜色为主导;反之说明图像存在某一颜色为主导。经过首次分类判断后,将无单一色主导图像进行颜色丰富度的判定。该判定需要包含图像信息熵H以及图像色度标准差K两个图像参数。其中,彩色图像求图像信息熵H[6]:通过计算R、G、B三通道离散熵的平均值获取。以阈值T1区分图像信息熵将图像分为高、低两种色彩丰富度的图像。图像信息熵H计算公式如下:
(3)
(4)
其中,p(ki)表示R,G,B三个分量的灰度值i的像素在图像中所占的比例。
对于图像色度标准差的测量:将YCbCr空间中的Cb,Cr分量的标准差作为图像色度标准差能有效评判图像颜色丰富度信息,这是因为不同颜色物体边沿的变化会导致样本标准差的增大[16]。因此本文首先将图像的RGB三通道驱动值转换为YCbCr空间,然后分别计算Cb,Cr的标准差,若同时满足Cb标准差Kb大于阈值T2,Cr标准差Kr大于阈值T3,则判定图像整体颜色丰富[17]。
(5)
经过多次测试验证,当T1=0.38,T2=1.5,T3=1.5时,可以判定图像的丰富程度。图像信息熵H与色度标准差K的皮尔斯相关系数[18]为0.47,为弱相关。因此,双参数联合判定,弥补了但单参数判定的可靠性不足,保证了色彩丰富度的色彩判断准确性。
单一色主导的图像利用亮度占比判定可将图像分类为高、低亮度图像进行亮度占比的判定,由此决定是否采用PR白平衡校正算法[7]。首先需要计算在图像中满足一定阈值的G分量像素的比例:
0.7Gmax≤G(i,j)≤Gmax,
(6)
然后计算符合条件的图像像素的个数占图像像素的百分比。
(7)
为了验证有效性,在CVonline图像库以及柯达真实彩色图库中的101幅图像采用偏色因子来衡量图像的偏色程度[19],共找出未偏色图像78幅,为了能够主观感知图像经过本文白平衡方法后的处理效果,通过将未偏色图像的RGB三通道分别扩大1.2倍,缩小0.8倍来模拟偏色图,共得到468幅偏色图像。最后经过本文自适应白平衡解决方案处理。
通过第二节的解决方案处理,468幅偏色图像被分类成246幅色彩绚丽图像,168幅色彩丰富度低的图像,54幅存在单一色主导的图像,其中54幅存在单一色主导的图像中,有6幅图像由于亮度不符合条件,故本文所用的三种算法的校正也不理想,其他图像的白平衡校正方法较好。该自适应白平衡解决方案能够正确地选择合适的算法,得到图像的最佳处理效果。
注:a)原图;b)3.1节处理后的偏色图像;c)经过自适应解决方案处理的图像;d)GW处理的图像;e)GW-DCT算法处理的图像;f)PR算法处理的图像
图4为丰富度较高的图像白平衡校正效果。从图4可以看出,GW算法亮度被削弱,GW-DCT校正过度,PR算法校正不足。自适应解决方案正确地选择了QCGP算法,得到了图像最佳的处理效果。
注:a)原图;b)3.1节处理后的偏色图像;c)经过自适应解决方案处理的图像;d)GW算法处理的图像;e)GW-DCT算法处理的图像;f)QCGP算法处理的图像
图5是图像存在单一大色块情况的图像的白平衡校正效果。从这组图像的天空可以看出,GW与GW-DCT算法都存在过校正现象,天空都存在偏红现象,QCGP算法校正效果不足,自适应解决方案正确地选择了PR算法,得到了最佳的白平衡处理效果。
(8)
表1 评价函数结果
由表1可知,通过自适应算法处理得到图4 c)与图5 c)无论是平均色度法还是白点色差法,校正图像与原图之间的色差都为三种算法最小。证明了本文提出的自适应白平衡的解决方案能够正确的选择合适的算法。通过对图3的评价结果可知,QCGP更适合色彩丰富度高的图像。将图4 c)与图4 e)的评价结果比较可以看出经过QCGP算法处理的白平衡效果明显好于DCT算法,与本文第二章的提出的内容相符。而图4 f)的白点色差值与图4 a)接近是因为经过PR算法处理的图像白点色差较低。通过对图4的评价结果可知,PR算法更适合存在单一色主导的图像。图5 c)与图5 e)的评价结果较为接近是因为部分色彩丰富度低的图像也会存在单一色主导的现象。
本文对图像进行色彩统计特性分析,根据图像色度标准差,信息熵,亮度占比和颜色占比对图像归类后选择合适的校正算法从而实现自适应的白平衡解决方案,包含QCGP,GW-DCT和PR算法。方法简单并且适应性广。经过多幅图像仿真验证,GW-DCT算法适用于色彩丰富低的图像;如果图像的颜色层次丰富,QCGP算法仍然是首选的算法之一;如果图像以某一颜色为主导且亮度值符合要求,PR算法更为合适。