基于标准差加权的色偏图像校正方法
2021-12-06吴俊峰李冰睿沈如松苏艳琴寇昆湖
吴俊峰,李冰睿,沈如松,苏艳琴,寇昆湖
(海军航空大学,山东烟台 264001)
随着技术的不断发展,图像已经成为人们记录、观察物体信息的重要手段。在观察物体时,人类视觉神经对颜色信息、形状信息、表面质感等特征的反应逐渐减弱,因此,物体的颜色信息在很大程度上影响了对其自身的认知[1-2]。然而,受光照、物体反射特性、感光元件质量等客观因素的影响,拍摄到的图像与原始物体相比可能存在一定颜色偏差[3]。这种颜色的偏差被称为色偏[4],它会严重影响图像的视觉效果和后续分析的准确度和鲁棒性。因此,色偏图像校正已经成为数字图像处理领域的重点研究方向之一,具有较高的现实应用价值。
针对色偏图像校正问题,国内外学者进行了广泛的研究,提出了一系列较为有效的方法,例如灰度世界算法(Gray World,GW)[5-7]、完美反射算法(Perfect Reflector,PR)[5]和动态阈值算法(Dynamic Threshold,DT)[6,8]。灰度世界算法较为经典,是应用最为广泛的色偏图像校正算法。灰度世界算法以灰度世界假设为基础[7],认为1 幅色彩丰富的图像的R、G、B 通道的平均值趋于同一值。灰度世界算法简单易实现,当图像色彩丰富时,其具有很好的色偏校正能力。但当图像色彩不丰富时,例如图像出现较大单一色块,灰度世界假设失效,此时灰度世界算法的处理效果较差,并可能引入新的颜色失真。完美反射算法[5]认为,1幅图像的白点代表了当前环境的光源信息,该点反射出的颜色即为物体本身的颜色。因此,完美反射算法定义图像最亮点为白点,并以此白点为参考进行自动白平衡调整,从而实现色偏图像校正。通常,完美反射算法能够得到较好的校正效果,但其校正图像存在整体变亮现象,尤其在色偏图像整体较暗的情况下,这一现象便更加明显。动态阈值算法的原理与完美反射算法类似[8],但为了更加准确地检测白点,动态阈值算法将色偏图像从RGB 空间变换到YCbCr 空间,然后通过分块处理寻找白点。动态阈值的色偏校正效果通常较好,但该算法在YCbCr量化过程中可能会出现所有像素被判断为白点的情况,进而影响色偏校正效果[9]。
为更好地进行色偏图像校正,解决单一色块、校正后图像变亮等问题,本文提出了1 种基于标准差加权的色偏图像校正方法。首先,利用灰度世界算法计算色偏图像红、绿、蓝各通道的校正系数;其次,利用超像素分割算法[10],将色偏图像分割成不同超像素,利用超像素的像素平均值与方差计算其颜色一致性,并进一步计算校正系数权重;最后,利用校正系数权重对灰度世界算法的校正系数进行加权处理,并进一步实现对色偏图像的校正。实验表现,本文算法能够对色偏图像进行有效校正,且能够克服单一色块影响,校正后图像亮度正常。相比于灰度世界、完美反射和动态阈值3 种经典算法,本文算法所获校正图像更加符合人的视觉感受,峰值信噪比(Peak Signal to Noise Ratio,PSNR)[11]平均提升为36.46%,色差均值[12]平均降低3.12%。
1 灰度世界算法
灰度世界算法[5-6]是较为经典且得到广泛应用的算法。灰度世界算法中,色偏图像R、G、B各通道校正系数计算方法如式(1)所示。
式(1)中:VR、VG和VB分别表示色偏图像R、G、B通道的像素平均值;kR、kG、kB分别表示色偏图像R、G、B通道的校正系数。
获得通道校正系数后,可根据式(2)实现色偏图像校正。
式(2)中:R(i,j)、G(i,j)和B(i,j)分别为色偏图像R、G、B 通道中位置(i,j)的像素值,R′(i,j)、G′(i,j)和B′(i,j)分别表示校正后图像R、G、B通道中位置(i,j)的像素值;i∈[1,H],j∈[1,L],且i和j均为正整数,H和L分别表示色偏图像像素的行数和列数;[∗]为不超过∗的最大整数。
2 本文算法
本文所提基于标准差加权的色偏图像校正方法,流程图如图1所示,可以分为3个步骤:
图1 基于标准差加权的色偏图像校正算法流程图Fig.1 Flowchart of color cast correction method based on weighted standard deviation
(1)利用灰度世界算法计算色偏图像R、G、B 各通道的校正系数;
(2)利用超像素分割算法对图像进行区域分割,获得不同大小超像素。对每1个超像素计算像素平均值和方差,判断其颜色一致性,并进一步计算各通道的校正系数权重;
(3)对通道校正系数进行加权处理,并进行色偏图像校正,获得校正后图像。
2.1 校正系数权重计算
2.1.1 超像素分割
超像素是指图像中局部的、具有连续性且能够保持图像局部特征的子区域。相较于单一像素点,超像素具有更好的区域特征表达能力[10]。在本文中,简单线性迭代聚类(Simple Linear Iterative Clustering,SLIC)算法[10]被用于进行色偏图像进行超像素分割,效果如图2 所示。给定1 张色偏图像1,其经过SLIC算法后被分割成n个超像素,记做s1、s2、…、sn。从图2 可以看出,属于同一物体的且具有相同颜色特性的像素被分割到同一超像素内。
图2 不同色偏图像超像素分割结果Fig.2 Superpixel segmentation results of different color cast images
2.1.2 超像素像素平均值和标准差计算
2.1.3 超像素颜色一致性计算
在灰度世界算法中,色偏图像中的每1 个像素都被用于计算通道校正系数。如果色偏图像存在大面积单一颜色,极有可能使得校正后图像引入新的色偏[13]。在本文算法中,利用某超像素与其他超像素之间R、G、B 通道上的颜色差异来衡量二者的颜色一致性,并进一步通过超像素颜色一致性选择具有颜色代表性的超像素,降低大面积单一颜色的干扰,其计算伪代码如图3所示。图3中:abs(∗)表示对∗取绝对值;τ为阈值,通常设置为τ=20。Mi表示与超像素si相邻的超像素的编号集合。gi为超像素si的颜色一致性标识,如果gi=1,表示超像素si和其他超像素不具备颜色一致性,即该超像素与其他超像素颜色差异较大,具有颜色代表性;如果gi=0,表示超像素si和其他超像素具备颜色一致性,即该超像素与其他超像素颜色差异较小,不具备颜色代表性。
图3 超像素颜色一致性计算伪代码Fig.3 Pseudo-code for superpixel color consistency calculation
2.1.4 计算校正系数权重
校正系数权重wR、wG、wB如式(5)。在该表达式中,Rd、Gd和Bd分别表示所有不具备颜色一致性的超像素的3通道像素标准差之和,如式(6)所示。dˉ为Rd、Gd和Bd的平均值。
2.2 加权校正系数计算和色偏校正
根据式(5)得到的校正系数权重,计算加权校正系数KR、KG和KB,如式(7)所示。
3 实验结果与分析
为验证所提算法的有效性,本文选取了4 张具有真值图的经典色偏图像[14-16]进行测试,结果如表1 所示。同时,本文将所提算法同灰度世界算法[7]、完美反射 算 法[5]和 动 态 阈 值 算 法[8]进 行 比 较,并 选 用PSNR[11,17]和色差均值[12]作为客观评价指标。
表1 色偏图像校正结果图1Tab.1 Results of color cast correction 1
从表1 可以看出:本文方法的视觉表现要明显优于其他方法,色偏现象基本消除;完美反射算法获得校正图像出现明显偏亮现象;灰度世界算法呈现蓝色过饱和现象。2种算法在一定程度上都出现了颜色二次失真问题。通过动态阈值获得的色偏校正图像虽然和真值图像存在一定的相似性,但和本文算法依然存在较大差距。色偏校正图像2存在明显的大面积单一色块,在一定程度上削弱了灰度世界假设的合理性,进而导致灰度世界算法的校正结果与真值图差异较大。而本文算法的结果与真值图差异较小,校正效果较好,说明本文算法在一定程度上克服了单一色块的影响。
为进一步验证该算法有效性,本文选择了一些没有真值图的色偏图像进行实验,结果如表2所示。
从表2 可以看出,本文算法所获校正图像更加符合人眼的视觉感受。例如,对色偏图像5校正后,灰度世界算法、完美发射算法和动态阈值算法都明显引入了新的蓝色色偏,视觉效果变差,而本文算法不仅没有引入新的色偏,而且对原始色偏进行了消除。对色偏图像6进行校正后,完美反射算法整体偏亮,明显不符合夜晚场景自然规律。灰度世界算法和动态阈值算法都引入了新的微量蓝色色偏。而本文算法则较好地抑制了原始色偏图像的红色色偏,并且没有增加图像亮度,保持了良好的视觉特性。
表2 色偏图像校正结果图2Tab.2 Results of color cast correction 2
表3 列出了不同算法的PSNR 对比结果。因PSNR 衡量校正后色偏图像和真值图像之间的差异[18],故本文只统计色偏图像1~4的结果,PSNR计算结果如式(9)所示:
式(9)中:MSE 是原始图像与已处理后图像之间的均方误差;n为色偏图像像素数。PSNR值越大,说明校正后色偏图像和真值图像间差异越小,反之差异越大[19]。
从表3 可以得出,本文算法在4 张测试色偏图像的PSNR 值均为最高,平均提升36.46%,说明本文算法获得的校正图像与真值图像差异明显小于其他算法,所获得校正图像更接近真实图像。具体来说,如针对测试图像1,本文算法表现最好,PSNR 达到28.37,平均提升52.82%,动态阈值算法次之(最小提升比为23.78%),而完美反射算法最差(最大提升比为72.46%)。针对测试图像3,本文算法表现依然最好,PSNR 达到28.02,平均提升31.93%,动态阈值算法次之(最小提升比为1.99%),而完美反射算法最差(最大提升比为49.65%)。
表3 不同色偏校正算法的PSNR对比Tab.3 Comparison results on PSNR for different color cast correction methods
图4展示了不同算法的色差均值对比结果。色差均值Cawb衡量了校正后图像的白平衡效果[20],计算方法如式(10)所示:
图4 不同色偏校正算法的色差均值对比Fig.4 Comparison results on color difference average value for different color cast correction methods
式(10)中,Cbawb和Crawb为校正后图像在YCrCb 空间下各像素Cb 通道和Cr 通道的像素平均值。色差均值越小,说明白平衡效果越好,反之白平衡效果越差。
从图4 可以看出,对10 张色偏图像数据,本文算法的平均色差均值为174.23,低于灰度世界算法(180.24)、完美反射算法(178.17)和动态阈值算法(181.15),分别降低了3.33%、2.21%和3.82%,平均降低3.12%。对10张色偏图像数据,本文算法在色偏图像1、3、5、6、7、8 均表现最优,色差均值明显低于其他算法;在色偏图像2、4、9表现次优,但与最优算法的差距较小。本文算法在色偏图像10上表现较差,主要原因是色偏图像10的颜色特别单一,色彩丰富程度严重不足,导致造成基于灰度世界的假设条件不成立,进而造成基于灰度世界的本文算法色偏校正效果较差。但是,同为基于灰度世界假设的本文算法和灰度世界算法相比,本文算法的色差均值要低于灰度世界算法,说明本文算法的色偏校正能力要强于灰度世界算法。
4 结论
为更好地解决色偏图像校正问题,本文提出了1种基于标准差加权的色偏图像校正方法。实验表明,本文算法能够对色偏图像进行有效校正,校正后图像的色偏现象明显消除。同时,本文算法能够克服单一色块影响,且校正后图像亮度正常。相比于灰度世界、完美反射和动态阈值3种经典算法,本文算法得到校正图像的视觉效果更优,PSNR平均提升36.46%,色差均值平均降低3.12%。