APP下载

基于颜色校正和引导滤波分层的水下图像增强

2022-07-12史金余郝明良邹沛煜

计算机应用与软件 2022年6期
关键词:图像增强像素点校正

史金余 郝明良 邹沛煜

(大连海事大学信息科学技术学院 辽宁 大连 116026)

0 引 言

水下图像是人类获取水下信息的主要手段,但是水下环境特殊的物理和化学特性严重影响了水下图像的质量。一方面,红、绿和蓝光的不同衰减率引起水下图像显示偏蓝绿色;另一方面,悬浮在水下的颗粒吸收了大部分光能,并且由于水下介质的散射,从而导致图像具有低对比度、边缘模糊和清晰度减弱等特征[1-2]。因此水下图像处理也成为了当前研究的难点和热点,它的实现会对后续水下目标识别、资源采集等工作提供极大的帮助。

针对水下图像处理,图像复原和图像增强是两种常用的方法。图像复原方法是依据水下散射特性建立相应模型,进而通过对水下成像模型的逆求解来实现水下图像的恢复。图像增强方法是通过调整图像的像素值来进行图像对比度和清晰度的增强。Torres-Mendez等[3]提出采用马尔可夫随机场的方法从统计先验的角度来改善水下图像质量;Iqbal等[4]提出先后在RGB和HIS两个颜色空间上分别进行滑动直方图拉伸,有效地解决了水下图像对比度低和偏色问题;Petit等[5]提出一种基于四元衰减系数反转的方法,依据衰减特性逆向计算出颜色分布,该算法可以增强水下图像整体对比度和色度,但修正后图像的背景颜色偏灰;Iqbal等[6]提出一种基于对比度增强和颜色校正的非监督水下图像增强算法,可以有效地提高图像整体亮度,但图像依然会呈现色度不均匀现象;Ancuti等[7]提出基于融合的水下图像增强方法,解决了水下图像模糊和偏色问题,但有时会出现过饱和现象;Ghani等[8]提出一种基于瑞利分布函数的对比度受限的自适应直方图均衡法,它可以在一定程度上提高水下图像的可见度、对比度,但是这种方法往往会引入多余的噪声,导致图像信噪比降低。

本文提出一种基于颜色校正和引导滤波图像分层的水下图像增强方法,首先将原始图像经过自动白平衡处理,实现颜色校正,然后为了更好地兼顾图像的全局与局部对比度,提出采用引导滤波图像分层的思想将颜色校正的图像分为基础图像和细节图像,基础图像表示图像的低频分量,细节图像表示图像的高频分量,将基础图像转换至LAB空间,继而对L通道采用CLAHE算法处理来增强对比度,减少对图像色彩分量造成的影响,对细节图像采用gamma算法进行纹理信息增强,单独对基础图像和细节图像进行处理能够更好地提升图像的高、低频分量,最后将增强后的基础图像和细节图像采用基于局部方差和全局方差的加权融合方法得到最终图像。

1 算法原理

本文基于颜色校正和引导滤波分层的图像增强方法包括两方面:一是采用自动白平衡算法对图像颜色进行校正,二是基于引导滤波分层的思想对图像进行对比度增强。

Ienhanced=D_ENHANCED(C_ENHANCED(Iinitial))

(1)

式中:Iinitial为原始水下图像;Ienhanced为通过本文算法增强后的图像;C_ENHANCED()为颜色校正函数;D_ENHANCED()为对比度增强函数。

1.1 算法流程

本文的算法流程架构如图1所示,主要分解为三个阶段:1) 对原始水下图像采用白平衡算法进行颜色失真校正;2) 对颜色校正后的图像采用引导滤波算法获得基础图像,然后将颜色校正后图像减去基础图像,则获得细节图像,同时对基础图像,先将其转换到Lab色彩空间,然后在L通道采用CLAHE算法进行对比度增强,再转换回RGB空间,对细节图像则采用Gamma变换进行图像细节增强;3)对增强后的基础图像和细节图像,通过采用线性加权融合的方法进行处理得到最终结果图像。

图1 本文算法流程

1.2 颜色校正

依据水下图像衰减模型可知,红光衰减最快,蓝绿光衰减较慢,导致大多数水下图像呈现蓝绿色。基于动态阈值的白平衡算法[9]通过白点检测和白点调整对不同色温下拍摄的图像进行校正,还原物体本来的色彩,因此可以采用基于动态阈值的自动白平衡算法对图像进行颜色校正。

算法首先是将原始水下图像从RGB空间转换到YCbCr空间,将其进行分块操作,同时计算每块区域两个色度信号Cb和Cr的均值Mb、Mr和方差Db、Dr。对于方差Db和Dr很小的块区域,则可直接舍弃掉。计算剩下块区域的平均值,得到整幅图像均值Mb,Mr以及方差Db、Dr。继而按照一定的条件确定候补白点。选取候补白点的条件如下:

|Cb(i,j)-(Mb+Db×sign(Mb))|<1.5×Db

(2)

|Cr(i,j)-(1.5×Mr+Dr×sign(Mr))|<1.5×Dr

(3)

式中:Cb(i,j)和Cr(i,j)是像素的色度值;sign(Mb)和sign(Mr)是对应Mb和Mr的符号函数。

然后从候补白点中选取亮度值处于前10%的白点作为参考白点,根据选取的参考白点进一步确定白平衡的增益值。为了让图像校正后亮度跟校正前亮度保持在同一水平,在进行增益计算时采用最大亮度值作为参考值,进而计算出R、G、B三通道的增益系数。

最后,通过增益系数得到颜色校正后的水下图像Icolor_enhanced。

Icolor_enhanced=C_ENHANCED(Iinitial)

(4)

式中:C_ENHANCED()是上面提到的颜色校正方法。

以图2(a)为例,采用该算法对其进行颜色校正,处理后的图像如图2(b)所示。可以看出,图像的色彩得到了明显改善。

(a) 原始图像 (b) 颜色校正后图像图2 图像颜色校正前后对比

1.3 引导滤波图像分层处理

水下退化图像经过白平衡处理后,颜色得到校正,但其对比度较低。引导滤波的核心思想是将图像中各个像素点与它附近的像素点表示为一种线性关系,继而图像中各个像素点的线性关系即是不同的,计算出每个像素点的线性关系,则即获取到了与原始图像梯度信息一致的基础图像[10]。因此,可以采用引导滤波算法进行图像分层,即对图像进行引导滤波处理,得到反映图像轮廓信息的基础图像,继而用原始图像减去基础图像则得到反映图像纹理的细节图像,然后对它们分别进行增强处理,最大化改善低频分量和高频分量的增强效果,兼顾增强图像的全局与局部对比度。

因此,先对颜色校正后的图像Icolor_enhanced采用引导滤波处理,同时设置图像Icolor_enhanced作为引导图像Iguide,则由引导滤波的局部线性模型得到基础图像:

Ibase=ma(Icolor_enhanced)b+nab∈ha

(5)

式中:a和b是像素索引;ha表示第a个核函数窗口;ma和na是当窗口中心处于a位置时,该线性函数的系数。ma和na的最优解是:

(6)

(7)

进而,得到细节图像Idetail:

Idetail=Icolor_enhanced-Ibase

(8)

以图2(b)为对象,采用引导滤波对图像进行处理后,得到的基础图像和细节图像如图3(a)和图3(b)所示。

(a) 基础图像 (b) 细节图像图3 引导滤波处理后的基础图像与细节图像

(1) 基础图像处理。基础图像反映图像轮廓信息,背景模糊,对比度较低,因此对基础图像的处理,通过修正灰度范围和提高对比度即可,而暂时无须过多考虑图像细节的处理问题,而且在增强对比度时,为了减少对图像色彩产成的影响,则先将图像从RGB空间转化到Lab空间,因a、b通道表示图像的色彩分量,则只需在L通道采用限制对比度的自适应直方图均衡(CLAHE)[11]方法进行增强即可,最终再把增强后图像转换回RGB空间。

算法首先将图像分割成大小相同的M×N个子区域,获取每个子区域的灰度直方图,并令每个子区域上的灰度级获得相同的像素数, 即平均像素数:

(9)

式中:Ngray表示子区域中灰度级总数量;Nx表示子区域x轴方向上的像素数;Ny表示子区域y轴方向上的像素数。

最后,对裁剪后重新分配的子区域直方图上做均衡化操作,构造子区域的灰度映射函数,采用双线性插值法,计算出各像素点的灰度值。即可获得增强后图像Ibase_enhanced。

Ibase_enhanced=toRGB(CLAHE(toLab(Ibase)))

(10)

式中:toLab()是将图像转换到LAB空间;toRGB()是将图像从LAB空间转换到RGB空间。

以图3(a)为对象,利用上述过程,对其完成对比度增强,图4(a)是将其转换到Lab空间,图4(b)是在L通道上进行CLAHE增强,图4(c)是再转回RGB空间,即最终图像对比度增强效果。

(a) Lab图像(b) L通道CLAHE增强(c) RGB图像图4 基础图像增强

(2) 细节图像处理。细节图像表示图像的高频部分,包含了图像大量细节信息。Gamma变换[12]是通过对输入图像灰度值进行非线性操作的一种图像增强方法。因此,对于细节图像,可以采用Gamma变换的方法进行纹理细节增强。同时,进行Gamma变换时,考虑到图像中由于环境因素等产生的极大、极小噪声,所以用以下方式选择拉伸区间,定义拉伸区间最小强度值为Ilow:

(11)

(12)

为了避免噪声引起的误差,使用如下的Gamma公式来进行拉伸:

(13)

式中:Ix是当前像素灰度值,T(Ix)为校正后的像素值。对于修正参数α,当α>1时,灰度值接近Ihigh的像素点强度将会被拉伸,灰度值接近Ilow的像素点强度将会被压缩,图像整体偏暗;相反,当α<1时,灰度值靠近Ihigh的像素点强度将会被压缩,灰度值靠近Ilow的像素点强度将会被拉伸,图像整体偏亮。本文选取α=0.95。

则细节增强后的图像是Idetail_enhanced:

Idetail_enhanced=gamma(Idetail)

(14)

式中:gamma()是上面提到的Gamma变换函数。

以图3(b)为对象,利用上述过程,则增强后细节图像如图5所示。

图5 细节图像增强

1.4 加权融合

对增强后的基础图像和细节图像进行加权融合[13]得到最终图像Ienhanced:

Ienhanced=Ibase_enhanced+χIdetail_enhanced

(15)

对于一幅图像来说,图像某点局部方差值越大,说明该点高频成分越多,相反,局部方差值越小,说明该点高频成分越少。将局部方差记为:

(16)

式中:|w|表示该平滑窗口w内拥有像素点的总个数。

图像的全局均方差记为:

(17)

Ienhanced(x,y)=Ibase_enhanced(x,y)+

(18)

以图4(c)和图5为对象,采用上述方法,得到融合后的结果图像如图6所示。可以看出,处理后图像的对比度和视觉效果得到有效的提升。

图6 融合图像

2 实验结果与分析

本文实验均在操作系统为Windows7_64位旗舰版,安装内存为8 GB,处理器为Intel(R) Core(TM) i7- 5600U CPU@2.60 GHz的PC机上运行,编程环境为MATLAB R2018b。

2.1 主观分析

为了验证本文算法对于水下图像增强的有效性,针对不同的场景,从主观视觉角度,本文将同原图,文献[14]中算法、文献[15]中算法、文献[6]中算法和文献[16]中算法得到的结果进行对比。首先选取后向散射程度不同的5幅水下图像,然后对其进行处理,这些水下图像的拍摄距离和状态未知,同时对其依照后向散射程度逐步减少的顺序进行排列,获取到相应的测试结果如图7所示。

(a) 原始水下图像

(b) 文献[14]算法

(c) 文献[15]算法

(d) 文献[6]算法

(e) 文献[16]算法

(f) 本文算法图7 不同方法水下图像增强效果对比

依据测试结果可知,采用文献[14]中的DCP算法处理后向散射较低的水下图像Image5后,图像的对比度、亮度在一定程度上有所提升,但对于后向散射过大的图像Image1,该算法处理效果较差,说明直接采用暗原色去雾算法应用于水下图像复原并不能达到很理想的效果;采用文献[15]中的算法处理这组图像后,相比较于文献[14]中的算法,图像的对比度进一步增强,细节更加突出,但是图像整体偏暗,且对于后向散射过大的图像Image1同样效果较差。对于文献[14]和文献[15]中的算法,总体来看,因为缺乏色彩补偿,并不能对色彩进行很好的校正,处理后图像存在色差,对颜色失真的图像处理效果不是很理想。采用文献[6]中的算法处理图像后,相对于文献[14]、文献[15]来说,这一组图像整体的对比度、颜色都有较高提升,特别是对于后向散射程度较高的图像Image1,色彩得到一定程度地还原,但是对于后向散射程度过高的图像Image5来说,颜色校正过当。采用文献[16]中的算法处理后,相比较于前几种算法来说,较好地解决了偏色问题,同时提高了图像的对比度,但是图像整体色彩都偏红和偏暗,视觉效果不是太理想。相比较而言,采用本文算法处理后图像的颜色保真度、对比度和视觉效果方面,综合考虑均优于其他算法。原因在于,本文算法先采用基于动态阈值的自动白平衡算法进行颜色校正;然后为了更好地兼顾图像的全局与局部对比度,采用引导滤波算法,将图像分解为代表低频分量的基础图层和代表高频分量的细节图层;同时为了最大化改善基础图层和细节图层的增强效果,对于基础图层,将其转换到Lab空间,在其Lab空间的L通道采用CLAHE算法进行处理,不仅可以提高图像全局对比度,而且可以减少对图像色彩分量造成的影响,对于细节图层,采用Gamma变换进行纹理细节增强,同时对增强后的基础图层和细节图层采用基于局部方差和全局方差的加权融合算法获得最终结果图像,使图像的整体视觉效果最佳。

2.2 客观分析

为了进一步说明实验效果,本文采用平均梯度[17]、信息熵[18]、PCQI[19]和UCIQE[20]四种图像质量评价指标对实验结果进行分析。评价结果如表1所示。

表1 水下图像质量评价

续表1

平均梯度反映了图像细节变化的速率,表示图像的清晰程度,其平均梯度值越大,它的层次就越多,图像的清晰度就越高。平均梯度的计算公式为:

(19)

式中:f为图像的灰度值;M、N分别为图像的高和宽。

信息熵反映了图像平均信息量的多少,表征图像灰度分布的聚集特征,其信息熵越大,则图像包含的信息就越多,进而图像也就越丰富。信息熵的计算公式为:

(20)

式中:n是图像灰度级最大值;i是像素点灰度级数;p(i)是像素点分布在i灰度级数的概率。

PCQI是局域块的对比度质量索引,代表图像的对比度变化情况。数值越大,代表图像对比度越高。

UCIQE是以图像的色度、饱和度、对比度为测量分量,将它们进行线性组合,是量化水下图像非均匀颜色偏差、模糊以及对比度的质量评价方法。数值越大,代表水下图像质量越好。

由表1可知,采用文献[14]中的算法和文献[15]中的算法处理后,图像的AG指标值较其他算法低,表明其处理后的图像清晰度较差;采用文献[6]中的算法处理后图像的PCQI值略低于文献[16]中的算法,这个结果表明其对图像对比度的提升能力弱于文献[16]中的算法;在主观评价中能够看出,采用文献[16]中的算法对图像处理后,其色彩稍微偏红,且图像整体亮度不足,因为UCIQE指标是依据图像的对比度、模糊和非均匀色差决定的,故而文献[16]中算法的UCIQE指标值略低于文献[6]中算法。最后通过本文方法处理后,图像的平均梯度、信息熵、PCQI和UCIQE等指标都有了很大的提升,优于其他方法。这些结果综合表明我们的方法对水下图像的增强效果有明显改善。

2.3 应用测试

图像增强是为了对后续的应用分析提供高质量图像。进而为了验证采用本文算法处理后图像的应用效果,设置不同图像处理方法进行应用对比实验。采用SIFT算法[21]进行特征点匹配测试,在相同阈值条件下,不同算法的应用测试效果如图8所示,原图的特征点匹配数目是3,采用文献[14]中算法处理后图像的正确特征点匹配数目是8,采用文献[15]中算法处理后图像的正确特征点匹配数目是7,采用文献[6]中算法处理后图像的正确特征点匹配数目是11,采用文献[16]中算法处理后图像的正确特征点匹配数目是43,采用本文算法处理后图像的正确特征点匹配数目是60。通过比较,本文算法匹配到的特征点数目最多。从测试结果中可以看出,采用本文算法处理后的图像在进一步的特征提取中产生了较好的效果。

(a) 原始水下图像 (b) 文献[14]算法

(c) 文献[15]算法 (d) 文献[6]算法

(e) 文献[16]算法 (f) 本文算法图8 不同方法特征点匹配对比

3 结 语

水下退化图像通常存在颜色失真、对比度低等问题。针对颜色失真问题,本文采用自动白平衡的方法实现图像颜色校正。针对对比度低的问题,同时为了更好地兼顾图像的全局与局部对比度,采用引导滤波分层的思想将图像分为基础图像和细节图像,接着单独对其进行处理来最大化改善高、低频分量的增强效果,最后再将增强后的两幅图像进行加权融合得到最终图像。实验结果表明,本文算法在处理水下图像颜色失真、整体对比度低、细节缺失方面的效果良好。

猜你喜欢

图像增强像素点校正
通过图像增强与改进Faster-RCNN网络的重叠鱼群尾数检测
一种基于轻量级深度网络的无参考光学遥感图像增强算法
再分析降水资料的适用性评估与偏差校正
一种X射线图像白点噪声去除算法
炫酷ACR
基于灰度直方图的单一图像噪声类型识别研究
基于canvas的前端数据加密
一种具有自动校正装置的陶瓷切边机
图像采集过程中基于肤色理论的采集框自动定位
基于非下采样剪切波变换与引导滤波结合的遥感图像增强