优化动态直方图均衡的水下图像增强方法

2022-11-29 13:23杨嘉能
计算机仿真 2022年10期
关键词:均衡化直方图区间

王 潇,于 炯,2,杨嘉能,马 雯

(1. 新疆大学软件学院,新疆 乌鲁木齐 830004;2. 新疆大学信息科学与工程学院,新疆 乌鲁木齐 830004)

1 引言

近年来,随着地球表面资源的日益短缺以及全球经济和科学技术的不断发展,水下的生物资源和物理能源吸引着各国的目光[1]。高质量的水下图像可以帮助开发人员更好地探索水下环境,因此水下图像处理成为了一个具有巨大潜力的研究领域。由于光在水下的折射,光的吸收,漂浮物,以及水下朦胧等诸多因素导致了通过水下相机和水下机器人等方式采集到的水下图像与普通图像相比,往往图像质量退化严重。如对比度低、纹理模糊、颜色失真和可视范围有限等问题[2]。这些问题都使得水下图像在实际的应用中存在许多弊端。因此,水下图像增强就显得尤为重要。

针对上述提到的水下图像质量退化以及视觉效果不佳等问题,本文提出了一种优化动态直方图均衡的水下图像增强方法,使得水下图像画质清晰明亮且包含更丰富的语义信息。实验结果证明了该方法在保留图像细节信息的同时抑制了色彩过增强的现象,与其它优秀的算法对比可发现,本文算法在各项评价指标处于领先,并且通过该方法增强后的图像具有十分良好的视觉效果,一定程度上提高了水下图像的可读性。

2 相关工作

水下图像的视觉质量,近年来吸引了很多国内外学者的关注,并且提出了一系列方法来加强水下图像的人眼识别率。Li等[3]提出了一个基于GB通道去雾和R通道色彩校正(基于Gray-World假设)的算法,然后采用自适应曝光图来平衡恢复图像的整体颜色。Kashif Iqbal等[4]利用RGB色彩模型和对比度拉伸来均衡图像中的颜色对比度,然后利用HSI的饱和度和强度拉伸来增加真实色彩。其结果表明,该算法能有效地去除蓝色调,但同时会出现颜色失真的问题。Ancuti等[5]提出了一种基于融合(Fusion-Based,FB)的方法。该方法首先在输入图像数据中产生两张待融合图像,其次使用白平衡方法对第一张图像进行颜色校正。通过局部自适应直方图均衡化算法对第二张图像进行对比度增强。然后根据两张融合图像的对比度值、突出特征和曝光值生成四个融合权重,最后通过多尺度融合策略将融合图像与融合权重综合,提升了图像的对比度,但是同时也出现了图像增强过饱和的现象。Zhang等[6]和在对低照度图像先进行光照补偿,增加红绿通道的灰度值,然后使用灰度世界算法去除色偏,利用引导滤波算法增加图像边缘信息得到优化的水下图像。Huang等[7]采用相对全局直方图拉伸(relative global histogram stretching,RGHS)来增强水下图像。首先采用基于灰度世界理论预处理图像,然后利用CIE-Lab颜色模型中的拉伸范围参数自动确定拉伸范围,最后在RGB颜色模型中采用自适应直方图拉伸。RGHS在一定程度上避免了图像的过增强,提高了图像的视觉效果,保留了可用信息。

虽然这些方法在不同程度上提高了水下图像的质量,但是都是从不同的角度调整水下图像的画质,常常出现顾此失彼的现象。因此本文提出了一种较为平衡的增强算法,从图像的清晰度、亮度、细节信息、人眼视觉效果和色彩饱和度等多个角度综合考虑,有效的改善了现如今水下图像增强存在的不足。

3 动态直方图均衡算法原理

动态直方图均衡化是在直方图均衡化的基础上发展而来,其均衡化思想都是通过原始直方图的概率密度函数(probability density function,PDF)构造一个累积分布函数(cumulative distribution function,CDF),然后利用累积分布函数和映射区间计算输出图像的强度值,最后对原始图像的像素值进行重映射。两者的区别在于动态直方图均衡化把整体直方图划分成了多个子直方图,并为每个子直方图分配了新的映射区间。对于区间为[X0,XL-1]的某个子直方图,其PDF和CDF分别对应式(1)和式(2)

(1)

(2)

其中k指该区间内的某个灰度级,nk指k灰度级出现的频率即像素个数,M指该区间内的像素总量。由式(2)得出均衡化计算公式定义为式(3):

G(k)=X0′+(XL-1′-X0′)×CDF(k)

(3)

动态直方图均衡化过程大致分为四个步骤,分别为:直方图分割、直方图裁剪构造CDF、子直方图区间重分配和每个子直方图的均衡化。该算法的处理结果取决于重分配的映射区间和构造的CDF。合理的映射区间和恰当的CDF能使获得的输出图像具有良好的增强效果和丰富的细节信息。因此,如何自适应的选取映射区间和构造CDF是该算法的难点所在。

4 水下图像增强算法设计

本文结合水下图像直方图的分布特性对动态直方图均衡算法的优化工作包含如下三个部分,首先通过引入直方图分布范围弥补了基于曝光值(exposure)[8]的直方图分割方法的不足。其次通过设置重建参数调整子直方图,优化CDF构造过程。最后根据重建后子直方图的像素占比来平衡每个子直方图的映射区间。

4.1 直方图分割优化方法

直方图分割是依据输入图像原始直方图的特性将其划分成多个子直方图,方便后续对子直方图进行独立的操作处理。直方图分割在一定程度上改善了过增强和细节信息丢失的问题。本文采用改进的基于曝光值(exposure)的分割方法。曝光值是指图像曝光强度的度量,根据曝光值可对图像进行低曝光或高曝光的分类。基于曝光值的分割方法可将原始图像的直方图分割成低曝光和过曝光两个部分。对于分布区间为[0,L-1]的图像其曝光值的计算公式如式(4)所示

(4)

分割点的计算公式定义为式(5)

MI=L(1-exposure)

(5)

基于曝光值的分割方法在处理原始直方图分布较窄的情况下,会产生分割失败的情况,即所得到的MI值不属于直方图中统计量不为零的分布范围,所以无法得到两个子直方图。因此该分割方法在处理水下图像,尤其是衰弱较为严重的红色通道时,会存在一定缺陷。因此,本文提出一种改进的基于曝光值的分割方法。式(4)和(5)可以看作是当直方图分布在区间[0,L-1]上的简写公式。在这里定义更一般的直方图分布范围[MIN,MAX],如图1(a)所示,计算公式如式(6),(7)所示

MIN=min(nk≥1)k∈[0,L-1]

(6)

MAX=max(nk≥1)k∈[0,L-1]

(7)

其中min()和max()分别是求取nk>0中k的最小值和最大值的函数。由分布范围[MIN,MAX]可得,改进的曝光值和分割点的计算公式如式(8),(9)所示

(8)

MI=(MAX-MIN)(1-exposure)+MIN

(9)

由式(9)产生的分割点不仅可以依据曝光度来分割直方图,也克服了式(5)存在的缺陷(计算所得的MI值不属于区间[MIN,MAX])。本文通过分别计算子区间[MIN,MI-1]和[MI,MAX]的分割点MIL和MIU将原始直方图分割成四个子直方图,如图1(a)所示。

图1 直方图处理过程

4.2 自适应的构造累积分布函数

传统的直方图均衡化在处理水下图像时容易出现过增强和信息丢失现象,导致处理后的图像出现颜色失真等问题。这是因为水下图像每个通道的直方图都在不同程度上被压缩了,即分布范围变窄,这类直方图经过均衡化处理后容易出现某些灰度级的过度拉伸和灰度级的合并现象。进一步分析,直方图的均衡化计算公式是由CDF和映射区间构成,对其求导可得灰度级的变化率也可理解成对比度的增强率,其导函数为PDF,想要控制增强率,就必须对PDF进行校正,或者直接校正直方图本身。本文参考文献[9]的直方图裁剪和像素重分配方法,提出了一种自适应的CDF构造方法。通过引入重建参数y对每个子直方图进行重建,限制直方图中统计量较大的值,提升统计量较小的值,从而达到自适应构建CDF的目的,在避免过增强的同时,减少细节信息的丢失。通过直方图分割,已将区间[0,L-1]划分成四个子区间,每个子区间对应一个子直方图,对于第i个子直方图的具体处理过程如下:

1)计算第i个子直方图的裁剪阈值定义为式(10)

(10)

其中Mi指第i个子直方图的像素总量,li指该区间的长度,y为重建参数,其取值范围为(0,1),max(hi)是求取第i个子直方图峰值的函数。因此裁剪阈值的调节范围是平均值与峰值之间。裁剪阈值计算如图1(b)所示。

2)通过裁剪掉的像素量计算像素重分配的值定义为式(11)

(11)

其中CMi指第i个子直方图被裁剪掉的像素总量。在这里同样采用重建参数y,使裁剪阈值与重分配值相关联,即裁剪掉的像素越多,重分配的值就越大。图1(c)给出了其中一次像素重分配的例子。

3)通过式(9)和(10)计算出来的值重建每个子直方图,如式(12)所示

(12)

其中R(hi)指重建后的子直方图,nki指第i个子直方图中某个灰度级上的像素数量。最后由重建后的子直方图的PDF计算其对应的CDF。

4.3 映射区间重分配

每个子直方图都有其独立的均衡化区间,其均衡化过程不能超过指定的范围。当子直方图的映射区间范围较窄时,由于缺乏足够的增强区域而没有得到显著增强。反之,则会出现过增强问题,导致图像细节的损失。为了平衡每个子直方图的映射区间,本文根据重建后每个子直方图的总像素占比来分配映射区间,公式如(13)所示

(13)

其中ni是第i个子直方图映射区间的分割点,mq是重建后第q个子直方图的像素总量。图1(d)给出了其中一次映射区间重分配的例子。

4.4 本文算法流程

前三小节介绍了本文对动态直方图均衡算法的优化工作,本小节将介绍整个算法的流程。

本文算法流程

输入:水下图像

输出:水下图像的增强结果

1) Begin

2) 分别获得水下图像R、G、B三个通道的直方图hR、hG和hB

3) 计算每个通道直方图的分布范围[MINi,MAXi]

4) 依据分布范围,用改进的基于曝光值的分割方法迭代的计算分割点,将每个直方图分成四个子直方图

5) 用设定的重建参数y为每个子直方图计算裁剪阈值Ti

6) 统计各个子直方图中超出裁剪阈值的像素总量CMi,并计算其像素重分配值AIi

7) 重建每个子直方图,并构造其对应的CDF

8) 根据重建后每个子直方图的总像素占比来分配新的映射区间

9) 独立的均衡化每个子直方图,做每个通道的重映射

10) 融合重映射后的三个通道,得到增强结果

11) End

5 实验结果与分析

本文采用的数据集分为两部分,其一从海洋生物农场收集的包括扇贝、海参、珊瑚、岩石、海胆等场景的水下真实图像,包含绿色调和蓝绿色调的图像共4200张(DataA)。另一部分是Li[10]等人2019年建立的水下图像基准数据集UIEDB,该数据集提供了原始水下图像860张以及对应的高质量参考图像,此外还有60张未提供参考图像的原始图像,种类多样,场景丰富,非常具有代表性。

为了验证本文算法的有效性,分别将本文提出的方法(其中重建参数y为0.7)与CLAHE[11]、ICM[12]、UCM[13]、FB、RGHS、以及 RD[14]做对比实验,并进行主观评价、客观分析和应用对比,最后在数据集上进行了算法平均性能的比较,且对重建参数y的取值做了讨论与分析。

5.1 主观评价

从真实水下图像数据集中选取不同场景的代表性图像,处理结果如图2所示。

图2 水下图像主观结果对比

由图2中的(a)-(g)可以看出,CLAHE和ICM算法虽然提升了图像的清晰度,但是对于水下图像的颜色校正、亮度提升的效果有限。UCM算法出现了图像过饱和的现象,图片偏黄。FB算法处理过的图像在一定程度上改善了细节纹理,增强了图像色彩,但是图像饱和度低,图像色彩整体偏白。RGHS算法较好的增强了图像的亮度,但是对图像绿色色偏恢复效果不明显。RD算法处理过的图像有较好的颜色对比度和清晰化效果,但是存在图像细节纹理不清晰、部分区域颜色过饱和增强的问题。通过对比试验可以看出本文的处理结果在不同水下场景中均表现良好,不但可以较好的校正水下图像的色偏,增强图像亮度,提升图像的清晰度,而且改善图像边缘特征模糊的问题,整体提高了图像的主观视觉效果。

5.2 客观评价

为了能客观评价各个算法对图像的增强效果,定量评估真实水下图像质量,本文首先采用信息熵、UIQM两种无参考评价指标对水下图像进行评价。除此之外,本文还采用SSIM和PSNR两种全参评价指标,用于评估拥有高质量参考图像的UIEDB数据集的增强结果。

表1和表2分别展示了图2中所有例图的客观评价指标结果。由表1可知,本文算法处理过的图像的信息熵均高于其它算法,表明本文提出的算法保留了有更多的细节信息,提升了图像的清晰度。由表2可知,本文算法的UIQM值均好于其它对比算法,说明本文算法处理过的图像综合性能表现更加卓越,拥有更加自然的人眼视觉感知色彩和更出色的清晰度。

表1 基于评价指标信息熵结果

表2 基于评价指标UIQM结果

由于UIEBD提供参考图像,因此分别将上述所有算法的处理后结果与高质量参考图进行SSIM和PSNR的计算。表3为860张图像的平均实验结果,可见本文算法的PSNR均值优于其它算法,SSIM值也更接近于1,由此可得与主观评价相一致的结论。通过以上主观和客观评价,本文提出的算法具有更出色的增强效果,更贴近人眼的视觉感受,相比其它经典算法清晰度高,图像细节信息丰富,同时色彩自然。

表3 基于评价指标PSNR及SSIM结果

5.3 算法平均性能与参数讨论

为了验证本文算法的鲁棒性,在两个数据集上进行了算法平均性能的测试,并用四个客观评价指标的平均值来度量。由于篇幅有限,表4给出了部分重建参数值下的实验结果。

表4 平均性能对比实验结果

从表4可以看出,除对比算法RD之外,本文所提算法的平均性能在不同的重建参数下都明显优于其它对比算法。并且当重建参数y大于等于0.3时,本文算法在平均性能上全面优于其它对比算法,并且随着y的增大,优势会愈加明显。当y等于0.7时,平均性能较优。从对比度可以得到,随着y的增大,对比度会随之增大(重建公式用于控制对比度增强率),但随之出现的过增强现象会导致细节信息丢失(信息熵减小)和色彩失真(UCIQE减小)。为了进一步验证重建参数y的取值范围,图3给出了两张图像在不同y值下的增强结果对比图,其中Picture1为客观评价中Example7,Picture2为客观评价中Example3。从图3可以得出与表5相一致的结论。

图3 不同参数值的增强结果对比图

5.4 应用实验

为了进一步验证本文算法的应用效果,采用SURF方法进行特征点匹配来验证这一点。选取了其中两组图像,结果如图4和图5所示。

在图4(a)-(h)中特征点匹配的数目分别为5、64、21、71、39、34、54、77,在图5(a)-(h)中特征点匹配的数目分别为46、183、161、119、171、181、165、221。经比较,原图匹配的正确特征点较少,而经过增强后的图像正确匹配的特征点明显增多。相比于其它算法,本文算法匹配的特征点数量最多。因此,本文提出的算法对水下图像的增强效果突出,有一定的应用价值。

图4 基于SURF应用的特征匹配结果一

图5 基于SURF应用的特征匹配结果二

6 结束语

本文通过研究水下图像各个通道的直方图分布特性和动态直方图均衡技术的缺陷后,提出了一种优化动态直方图均衡的水下图像增强方法。在直方图分割阶段,通过考虑直方图的分布范围,改进了基于曝光值的分割方法,避免了分割失败的情况。在构造CDF时,引入重建参数对子直方图进行重建,达到自适应构造CDF的目的,在保留增强图像细节信息的同时抑制了过增强现象,并通过重建后的子直方图分配合理的重映射区间。实验部分通过主、客观两方面的评价,验证了本文方法在增强水下图像的对比度、细节、色彩等方面都优于其它对比方法,并用特征点匹配实验证明了图像质量的提升。未来研究方向是结合机器学习算法重建子直方图,采用自学习的方式构造累计分布函数。

猜你喜欢
均衡化直方图区间
你学会“区间测速”了吗
符合差分隐私的流数据统计直方图发布
基于FPGA的直方图均衡图像增强算法设计及实现
全球经济将继续处于低速增长区间
用直方图控制画面影调
中考频数分布直方图题型展示
基础教育均衡化的实施对于现阶段教育发展的重要性
区间对象族的可镇定性分析
EDIUS 5.1音量均衡化
单调区间能否求“并”