马铭志,黄丽姝
(四川大学计算机学院,成都610065)
由于光在水下环境传播过程中,会受到水介质的吸收和水中颗粒物的散射,进而导致水下图像退化,出现对比度下降、细节信息缺失、颜色失真等现象。如今,水下图像处理技术已经应用到海洋研究的诸多领域,因此水下图像复原具有重要的现实意义。
基于水下成像的模型,水下图像处理方法主要划分为两类:一类为图像增强方法,利用一定的技术手段,来提高对比度低的图像清晰度,增加图像细节信息,另一类为图像复原方法,对图像退化模型进行分析,通过逆求解成像模型对图像进行复原。He 等对大量室外无雾图像进行统计总结出暗通道先验理论,并提出相应的单幅图像去雾算法,对该算法进行改进并应用到水下图像复原中,也取得了很好的效果。
由于水下图像的特殊性,不同波长的光在水下的传输过程中衰减比例不同,He 算法所达到的效果并不理想,出现了严重的颜色失真、图像边缘处“光晕效应”等现象。总结以上方法,本文提出了一些改进措施:通过采用四叉树的分层搜索方法估计大气光值;提出基于小波分解的多尺度融合方法计算暗通道图,减少边缘外溢现象;采用梯度域导向滤波算法细化透射率图,降低算法复杂度;复原图像时,采用三颜色通道分别复原策略,补偿不同波长光在水中衰减损失。实验结果表明,本文方法具有很好的效果和执行效率。
假参考雾天图像形成模型,由于水下图像与大气图像不同,光在水下传播时,不同波长的光在水中的衰减程度不同,所以R、G、B 三通道中的透射率是有区别的,应分别处理。即水下成像模型可表示为:
式中λ 为R、G、B 某一通道,Iλ(x )为某一通道的水下图像,Jλ(x )为某一通道无污染图像,Bλ,∞为背景光,tλ(x )为某一通道透射率。
He 等对大量的室外无雾图像进行统计,发现除天空区域外,其他部分的每个局部小区域中,R、G、B 通道至少有一个颜色通道的像素值很低或接近于零。求取暗通道的数学表达式为:
式中Jc为彩色图像的每个通道,Jdark为彩色图像的暗通道图,Ω(x )为以像素为中心的小窗口,c 为三个颜色通道其中之一。根据暗原色先验理论可以得到Jdark(x)→0,在水下环境中,红光的波长最大,在水中的衰减程度最大,所以R 通道的透射率最小。根据水下成像模型,可以得到R 通道的粗透射率公式为:
式中tr(x )为R 通道粗透射率,Bλ,∞为背景光。
He 算法中,大气光值是通过暗通道图从有雾图像中获得的。在暗通道图中将像素点按照亮度值进行从大到小的排列,提取前0.1%像素点,找到原始图像中的对应位置,在相应位置上寻找亮度最大的像素值,将该值作为背景光。该方法在估计背景光时,先要估计暗通道图,并从中根据亮度值找到背景光,与直接采用图像相比,提高了一定的鲁棒性。但在估计过程中,会受到局部块尺寸的影响,如果图像中有强光源或白色噪声点,且其面积大于局部块尺寸时,易将其错误的估计为背景光值,导致背景光值偏高。
由于光在水中传播时不同波长衰减比例不同,红光与蓝光或绿光的差值会越来越大,从而本文提出了一种基于四叉树剖分和最大色差的自适应背景光估计方法,步骤如下:
(1)对水下图像进行四等分,分别计算每个子块的分值,计算公式为:
式中c 为四等分后四子块中任意一块,uc为子块c的像素平均值,uc为子块c 的方差。分值越大,说明存在环境光的机率越高。
(2)对分值最高的子块进一步划分,重复(1)步骤,直到面积小于设定的阈值,表达式为:
式中Sc为划分的子块面积,Ts为提前设定的阈值,width 和height 分别为输入图像的宽和高。
(3)计算候选区域暗通道图并将像素点按照亮度值进行排序,提取前10%像素点并在原始图像中找到对应位置。
(4)在选取的像素点中,计算并选取具有最大R-G差值或R-B 差值的像素点值作为估计的背景光值。
不同尺寸的局部块所得到的暗通道图,对图像的复原效果是不同的,小尺寸局部块可较好的保留图像的边缘细节信息,大尺寸的则可平滑掉景物本身的纹理等细节信息。结合以上问题,本文提出了一种多尺度融合的方法来计算暗通道图,具体操作如下:
(1)计算图像的最小颜色分量:
(4)二值图像Ibin中,白色区域对应的像素位置采用3×3 的尺寸,而其他区域采用ω×ω 进行处理便可得到暗通道图
其中,α 为参数,通常设置为0.95,B 为所求得的背景光的值。
经研究表明,光在水中的吸收系数与波长有关,但变化规律并不明显,很难直接用关系式进行表示。由于在一类和二类海水中,水的散射系数受波长影响较小,与波长近似成线性关系,所以通过在不同水域中采集9 组不同波长及对应的散射系数数据做最小二乘回归分析可得到相应关系式。本文选取文献中的一个线性表达式来描述水下环境中光的散射系数与波长的关系:
式中选定555nm 为参考波长,选定R、G、B 三颜色通道所对应的标准波长为640nm、540nm、450nm。进而得到不同颜色通道之间光的衰减系数比为:
式中tr(x)、tg(x)、tb(x )分别为R、G、B 三通道的透射率图。
估计出三通道透射率图后,结合背景光值,通过水下成像模型复原降质图像,计算公式为:
式中Jλ(x )为复原后的λ 通道图像,Iλ(x )为彩色水下图像在λ 通道的图像。
为验证本文改进算法的可行性和有效性,利用多幅水下含质图像进行测试,并与Fattal、Tarel、Fu 和导向滤波细化透射率图的He 算法进行对比,分别从主观视觉效果、客观指标和算法的运行效率来分析算法的优劣。所有算法均采用MATLAB R2011a 实现,运行环境为Windows 7,计算机配置为Intel Core i5 3.2GHz 和4GB RAM。
为进一步验证算法的有效性,新增可见边e 以及信息熵entropy 作为辅助评价指标。e 值越大,表明复原图像清晰度越高,细节信息越丰富;entropy 值越大,说明图像中包含更多的信息。但在复原过程中出现过处理现象时,可能会出现视觉效果较差,但e 值较高的情况,此时不作为判别条件。不同算法对应结果图的评价指标如表1 所示。从表中可知,(a)、(b)、(e)实例的处理结果,在本文改进算法中e 和entropy 两项指标上数值都是最高,与主观视觉效果一致,图像的清晰度和细节信息都要优于其他算法。(c)、(d)实例的处理中,Fattal 算法e 值最高,但视觉效果较差,此时不能作为评判指标,但本文算法与He 算法相比,两项指标都有显著提升,恢复效果更好。此外,我们还测试了不同算法的处理时间如表2 所示。可以看出,基于导向滤波细化透射率图的He 算法处理速度更快,这是由于本文算法在求取暗通道图的步骤中采用基于多尺度融合的方法,图像会经历小波分解和重构的过程,会造成一定的耗时,但是比较显著地提升了图像的整体视觉效果,并且执行效率处于理想范围。
表1
通过标准的24 色卡来验证复原后的颜色标准度,如图1 所示(从左到右依次为标准24 色板、输入图像、Fattal、Tarel、Fu、He 以及本文改进算法)。越接近标准颜色卡说明复原图像的颜色准确性越好。从图中可以看出,本文算法较其他四种,左下角白色块没有像其他算法一样被处理成灰色,复原图像中的24 色卡更接近标准。
图1
本文以单幅水下图像复原技术为重点展开研究,在现有算法的基础上提出了若干改进。首先提出了基于四叉树剖分和最大色差的方法估计背景光值,提高了算法的鲁棒性;然后针对求取暗通道图的边缘外溢现象,采用一种基于多尺度融合的方法,分别对两种不同尺寸局部块计算暗通道图,进行小波分解得到高频和低频分量,并按照特定的规则进行融合,有效抑制了颜色失真和边缘的“光晕效应”;最后,在细化透射率图时,利用梯度域导向滤波代替软扣图和导向滤波,执行效率更高,保持边缘性更好,并且在复原图像时,根据R、G、B 通道分别进行,有效恢复了退化图像的颜色信息。实验结果表明,本文算法不仅具有很好的水下图像复原效果,且执行效率也达到了理想状态。