基于色彩校正与暗通道先验算法的水下图像增强方法
2021-12-20刘宇涵冯兴华张江梅
陈 浩 刘宇涵 冯兴华 张江梅
(1. 西南科技大学信息工程学院 四川绵阳 621010; 2. 北京化工大学国际教育学院 北京 100029)
由于缺乏光照,水下图像与普通图像相比主要存在色偏、模糊和曝光不足等问题。另外,由于光能量的消耗、水下介质对相机光的吸收等,水下图像更易于出现曝光不足、模糊等问题。而低质量的水下图像会给水下机器人目标检测、水下目标识别、水下环境探测带来极大的困难。何凯明[1]在2009年提出了一种利用暗通道先验的方法进行图像去雾(Dark Chennel Prior, DCP),通过最暗通道来估计图像的其他通道强度,进行了简单有效的单一图像预处理去雾。由于图像去雾算法的广泛研究,越来越多的研究者开始通过去雾算法的原理来进行水下图像的增强,Paulo Drews等[2]基于DCP算法,提出了利用水下图像的蓝绿色通道作为信息源的水下图像暗通道先验(Underwater Dark Chennel Prior, UDCP)算法,提升了水下图像对比度。Hummel[3]提出了一种利用直方图进行图像增强的方法,简称为HE算法。Iqbal等[4]在2010年提出通过一种采用无监督的色彩校正方法增强图像质量,简称为UCM算法。文献[5]基于水下光衰减先验的水下图像场景深度估计模型,并利用有监督线性回归对模型系数估计了水下图像的场景深度,简称为ULAP算法。Peng[6]基于图像模糊和光吸收的水下场景深度估计方法,采用图像形成模型(IFM)对水下图像进行恢复和增强,简称为IBLA算法。Lee等[7]通过一种连续色彩校正与基于超像素的图像分割方法实现了水下图像的质量提升。基于图像融合的思想,Ancuti[8]用两种色彩补偿以及白平衡的方法处理得到两张图像,用多尺度融合的办法提高了图像恢复的准确性,此方法称为UWB方法。然而,上述算法用于水下图像增强会存在自适应性差、增强效果单一等问题,不能全面增强水下图像效果。
如上所述,这些算法在颜色校正时自适应性较差,会造成水下图像偏红且对于水下图像对比度提升时会造成图像过暗的问题。针对以上问题,本文提出一种改进的水下图像白平衡(Underwater White Blance, UWB)近浅海水下图像增强方法,以有效避免图像校正过程中的红色伪影问题,并通过应用基于简单超像素分割的雾霾去除方案来改善水下图像对比度,即一种基于色彩校正与暗通道先验的水下图像增强方法。
1 改进的UWB近浅海水下图像增强算法原理
Paulo Drews等[2]研究发现水下粒子散射与雾天大气粒子散射对图像造成雾化效果特性是一致的,并利用DCP算法处理水下图像对比度低的问题。然而,与雾天大气粒子散射造成的图像雾化不同的是,水下图像经过水的吸收效果后图像通道相比于原图像通道值有所衰减,用DCP算法增强水下图像的对比度会造成图像整体偏暗且容易产生不正常的伪影。因此,针对近浅海获取的水下蓝绿图像,本文在应用改进的DCP算法之前首先对图像进行了改进的UWB颜色修正,以保证图像的增强效果。本文算法流程如图1所示。
图1 本文算法流程Fig.1 Algorithm process
1.1 UWB算法原理
Ancuti等[8]在2017年提出了一种水下图像白平衡(UWB)方法来处理水下图像的颜色失真问题。此算法基于红绿通道的均值差对图像红通道进行补偿,当蓝色通道强烈衰减时,可以选择性地对蓝色通道进行补偿。当水下图像红绿通道差值较大时,使用该方法对图像进行颜色校正会导致校正后的图像出现偏红失真现象。因此,提出了一种改进的UWB方法,对水下图像进行颜色校正。
假设Ic,c∈{r,g,b}为给定水下图像的颜色通道,Ic(A)为图像内A=(x,y)处c通道的像素值。UWB算法对水下图像的颜色补偿过程如下:
首先对图像进行红通道补偿:
(1)
在蓝通道衰减严重时,按如下方式对蓝通道进行补偿:
(2)
仅仅采用颜色补偿对于水下图像颜色的校正是不够的,通常还要对图像进行白平衡处理,UWB算法采用灰度世界算法来校正图像的色偏问题[9]。
对水下图像进行颜色通道补偿后,补偿后图像的平均灰度值计算如式(3)所示:
(3)
1.2 基于UWB的水下图像色彩校正
UWB方法在进行通道补偿时,将各个通道的均值作为补偿的主要依据,并没有考虑图像中同一位置处不同通道值之间的差异,且水下图像存在色彩单一的问题,原UWB算法采用简单的灰度世界算法处理水下图像会给图像带来更加严重的色偏。另外,原UWB算法以绿色通道为基准对红色通道和蓝色通道进行补偿,由于水下图像的绿色色偏特性,常常使得红色通道被过补偿,图像在白平衡后会出现严重的红色。基于此,本文提出了一种改进的UWB算法,以蓝色通道为补偿基准,同时综合各通道全局信息与各通道像素点信息进行颜色补偿,之后采用基于白色块的灰度世界算法对图像进行白平衡处理。
在水下图像处理领域中,蓝绿色通道的衰减是相近的。在近浅海(20 m)采集的海水水下图像,蓝色光的衰减最小,因此利用蓝色通道进行补偿的效果会更好,所以本文以蓝色通道为标准,改进UWB算法得到下式:
(4)
(5)
(6)
其中Kr,Kg,Kb分别是补偿后图像红、绿、蓝通道的增益系数,此时利用各通道增益系数,对每个通道进行变换修正,如式(7)所示:
(7)
其中,A是图像的某一像素点,Irc(A),Igc(A),Ibc(A)分别是补偿后图像3个通道变化前的像素值,Irm(A),Igm(A),Ibm(A)分别是变化后的R,G,B通道像素值。
基于此补偿算法,可以有效去除原算法带来的图像呈现红色伪影的问题。
1.3 基于暗通道先验的水下图像对比度增强
(8)
式中,Jc(x)是未经模糊图像,Ac是后向散射光,c∈(r,g,b),t(x)是描述不散射部分光的透射率,常用DCP[1]来估计Ac和t(x)。暗通道先验算法(DCP)是基于给定小区域中至少一个颜色通道的值接近于零的假设。这个假设可以表述如下:
Jdark(x)=min(minJc(y))≈0
(9)
式中,Jdark(x)是此区域全局通道最小值即暗通道,y∈Ω(x)是一个从原图分割的局部色块,原DCP算法从图像中心均匀划分为子区域,求得每个区域的暗通道从而估计图像透射率。然而,在水下图像中,暗通道的分布十分不均匀,对于均匀划分的色块来说,这将导致Jdark(x)并不接近为零,而且在局部色块中透射率也不是一个常数。这使得使用DCP增强的图像中产生了伪影。基于超像素的方法[10]是将DCP应用于图像时减少负伪影的一种替代方法。
本文将彩色校正后的水下图像IP分割为超像素块,并对原图像超像素分割后的图像进行后向散射光和透射图估计。利用一种基于模糊简单线性迭代聚类(fuzzy SLIC)算法将图像分解为N个超像素。设Mi为第i个超像素,根据DCP,可以得到超像素分割图像的暗图像最小通道值如式(10):
(10)
(11)
(12)
图2为固定权值与本文采用自适应估计的方法处理水下图像时的对比图。
图2 固定权值与自适应权值对比图Fig.2 Comparison of fixed weights and adaptive weights
如图2所示,采用自适应的权值估计方法可以有效提升水下图像的去雾效果,使图像呈现效果较为清晰,而采用估计权值的方式在处理水下图像时有时会使图像呈现失真。
根据以上思想,改进的DCP算法总体恢复图像公式如式(13)所示:
(13)
其中,Jc(x)为通过本文算法得到的最终结果图像,t(0)是一个很小的常数阈值。计算过程中,如果该值越来越小直至趋近于零时,那么图像的输出J就会变得无穷大而引起图像失真。因为暗通道先验算法假设在无雾图像中也是存在雾的,为了防止tsp(x)的估计值过小,本文根据文献[1]设置t(0)为0.1。
2 实验结果
为了说明本算法的有效性,与传统的几种图像增强效果较好的水下图像处理方法DCP算法[1]、HE算法[3]、UDCP算法[2]、UCM算法[4]、ULAP算法[5]、IBLA算法[6]进行对比(后4种算法是在近5年内提出的)。实验时采用用于水下海珍品目标检测与图像分割的原始水下图像进行测试,此数据集包括水下图像目标抓取大赛数据集以及网络上获取的水下图像。由于近浅海水下环境(20 m),此类图像存在着对比度低、呈现蓝绿色等典型特性。本文算法在windos 10,python 3.6,Open CV2以及处理器4核i5-7400环境下运行。实验进行了定性和定量比较。为了进行定量比较,采用了水下图像增强领域中常用的非参考水下图像质量评价指标(UIQM)[11]对水下增强后图像进行客观评价,此指标包括:色彩度量指标(UICM)、清晰度度量指标(UISM)、对比度度量指标(UIConM)。UIQM由3个指标线性组合而来,计算公式如式(14):
UIQM=c1UICM×c2UISM×c3UIConM
(14)
其中,c1,c2,c3是权重参数,根据文献[11]分别设置为:c1=0.0282,c2=0.2953,c3=3.5753。较高的UIQM分数被认为可以产生较高的视觉质量。从水下图像数据集中挑选不同场景、不同光照、不同大小的100张典型的水下图像,分别采用6种传统算法以及本文算法进行实验对比。挑选其中5张场景不同的图像进行展示,效果如图3所示。
从图3可以看出,采用HE算法、UCM算法对水下图像清晰度恢复较为良好,并能够较好解决水下图像呈现蓝绿色问题,但是在颜色处理方面,过于增强色彩使得图像的颜色失真并且过于鲜艳,呈现不正常的红色或者黄色。DCP与UDCP算法可以有效提升图像的清晰度,然而却会令图像存在过于暗、产生伪影、色彩处理效果不佳等问题。ULAP与IBLA算法对于图像的蓝绿色偏处理效果不好,仅能提升图像对比度,因此不适用于本文的真实近浅海水下图像。相比之下,本文方法能有效恢复图像细节,增强图像对比度,平衡色偏,且不会存在颜色过于鲜艳的问题。
图3 各方法对比结果图Fig.3 Comparison of the results of each method
为了进行客观的定量对比,实验过程中对于100张水下图像处理之后得到的水下图像质量评价指标求均值,对比结果如表1所示。
表1 水下图像客观指标评价结果Table 1 Evaluation results of objective indicators of underwater images
从表1可以看出,与上文的主观分析一致,实验时HE与UCM算法的UIQM分数仅次于本文算法,对于水下图像增强有着不错的效果。本文算法的UISM与UIConM均有比较高的分数,说明了本文算法有效提升了水下图像的对比度与图像清晰度。本文算法在UICM指标上得分很低,说明图像的色彩丰富度较低,然而并不是越高的UICM分数就能有更好的颜色呈现效果,太高的UICM分数可能是颜色过于饱和引起,比如此项得分最高的HE算法,此算法强化后的图像呈现不正常的红色,且颜色过于鲜艳从而失真。在综合指标UIQM上,本文算法得到了最高分数,说明在水下图像质量的综合提升方面,本文算法领先于上述算法。
3 结论
采用本文提出的基于色彩校正与暗通道先验算法的水下图像增强方法在对 100 张不同水下图像进行增强时均能达到1 s内输出结果,相比于原DCP算法有约0.1 s的提升。在真实近浅海采集的海珍品图像数据集上的实验表明,本文算法在色彩校正与对比度提升的综合效果上优于其他增强算法且拥有更好的视觉效果。