APP下载

基于UCM算法中直方图拉伸的水下图像增强研究

2022-10-13禹志鹏白国振刘怀周

关键词:均衡化直方图校正

禹志鹏, 白国振, 刘怀周

(上海理工大学 机械工程学院,上海 200082)

0 引 言

随着当今社会科技的迅猛发展,海洋资源的观测与智慧捕捞成为目前人们研究的热点。与陆地环境不同的是,水下工况十分复杂,由于不同颜色的光在水中的衰减率不同,导致采集到的水下图像总是呈现出颜色偏蓝、偏绿的问题。并且根据Huang等[1]提出的水下光学成像模型可知在水下场景反射的光线到达相机之前,水中悬浮物吸收了大部分的光能,改变了光线的方向[2]。使得水下成像图像还存在分辨率与对比度低、模糊、颜色失真等问题[3]。摄像机在视线范围内接收3种光:从捕捉到的场景直接反射光,该过程被称为直接透射;被小颗粒散射但仍到达摄像机的场景光,该过程被称为前向散射;来自大气光并被悬浮粒子反射的光,该过程被称为背景散射[4]。退化后的图像可以表示为

Ic(x)=Jc(x)tc(x)+Ac(1-tc(x))

(1)

其中,Jc(x)为清晰的图像,tc(x)是海水的衰减率系数,Ac为后向散射分量。

目前,比较流行的水下图像增强算法分为两种:基于物理模型和基于非物理模型,其中基于非物理模型的方法都基于单一的RGB颜色模型。直方图均衡化[5]、对比度限制自适应直方图均衡化、伽马校正,UCM等算法被认为是改善图像对比度的典型增强方法。而常见的基于物理模型的算法有:Chao[6]使用暗通道先验(Dark Channel Prior,DCP)来恢复水下图像和去雾,根据这个知识可以推导出背景光和透射比,然后再运到物理模型中,但是与原图相比,算法处理过后的图片质量改善效果比较有限,甚至有些图片出现了颜色失真现象;Drews等[7]提出水下暗通道先验(Underwater Dark Channel Prior,UDCP)算法。该算法对图片的绿色和蓝色通道进行处理,实现了水下图像的色彩恢复。但由于水下图像中存在的光吸收和不同的光照条件使得这些先验值有例外,这可能导致图像恢复效果不佳,经常违背了基于DCP、UDCP的假设,所以Peng[8]提出了图像模糊和光吸收算法,以更准确地估计背景光和水下场景深度,并恢复了各种复杂场景下的水下图像,该算法在不同的水下工况下都能表现出较好的鲁棒性,并能够恢复复杂场景下的水下图像,实验表明该算法比其他基于物理模型的算法拥有更好的性能;Song等[9]提出了一种基于水下光衰减先验的快速有效的景深估计模型,该模型假设水下图像中一个像素的G-B强度最大值与R强度值之间的差值与场景深度的变化密切相关,该模型可以用来估计RGB透射图,从而恢复水下真实场景的辐射;李景明等[10]提出了基于拉普拉斯算子先验项的水下图像复原;王一斌等[11]提出了自适应背景光估计与非局部先验的水下图像复原算法。实验表明:该算法在确保运行效率的基础上,准确地估计透射率,较常用算法的复原精度提高了约18%。本文的创新性在于以往传统的UCM算法在进行颜色对比度校正的时候没有考虑图像中像素值过大或者过小的区域,所以导致处理后的图像会呈现过饱和或者欠饱和的情况,因此本文对UCM算法中的直方图拉伸进行了改进,提出使用限制对比度自适应的方法对直方图进行非线性均衡化,用非线性直方图拉伸代替传统的线性直方图拉伸,从而进一步改进了图像的色偏现象,并且区域处的过饱和和欠饱和现象得到了改善。

1 传统UCM算法增强和其局限性

1.1 传统UCM算法分析

UCM算法分为3个步骤:首先通过白平衡来均衡颜色,然后对RGB色彩模型中的R、G、B三通道的直方图进行线性拉伸来提高对比度,最后对HSI色彩模型中S、I通道的直方图进行线性拉伸来增加真实颜色和亮度。

(1) RGB色彩模型均衡化。计算图像中R、G、B通道的平均值,其中IR(i,j),IG(i,j),IB(i,j)分别为大小为M×N图像上红绿蓝3个通道的像素值,i=1,2,…,M;j=1,2,…,N。

(2)

由于水下图像存在色偏问题,在水下的衰减速度从快到慢依次为红光、绿光、蓝光,所以为了平衡G和R通道,因此引入两个增益因子:

(3)

通过增益因子提高G和B通道的值,如下:

(4)

其中,R和G是原来的像素值,R′和G′是平衡后的像素值。

(2) RGB色彩模型对比度校正。在步骤(1)中平衡了图像的颜色后,UCM算法对模糊的水下图像进一步提高对比度。对比度的校正主要是将R、G、B 3个通道的像素值范围拉伸到期望的范围。通常情况下,8位颜色通道的值变化范围在0~255。该方法的拉伸公式为

(5)

其中,P0表示校正后的像素值,Pi表示当前的像素值,a表示期望校正的最小值,b表示期望校正的最大值,c表示当前图像中的最小值,d表示当前图像中的最大值。

对于图像中R通道来说,通道像素平均值会偏小,因此期望朝着最大像素值的方向拉伸,如图1所示。用式(5)进行拉伸时,式中(b-a)被(Upper Limit-Lower Limit)代替,其中Lower Limit表示红色通道最小的像素值,Upper Limit=255。

图1 向最大方向拉伸Fig.1 Stretch to the maximum direction

对于图像的G通道来说,通道像素值平均值介于R、B通道之间,期望朝最大最小像素值两个方向拉伸,如图2所示。利用式(5)进行拉伸时与R通道一样将(b-a)替代,其中Lower Limit值为0,Upper Limit值为255。

图2 向两边拉伸Fig.2 Stretch to both sides

对于图像中B通道来说,通道像素值平均值会偏大,因此期望朝着最小像素值的方向拉伸,如图3所示。利用式(5)进行拉伸时,其中Lower Limit值为0,Upper Limit表示B通道中最大的像素值。

图3 向最小方向拉伸Fig.3 Stretch to the minimum direction

(3) HSI色彩模型的饱和度和亮度校正。将在步骤(1)和步骤(2)中处理过的RGB色彩模型转换为HSI色彩模型,其中H表示色调,S表示饱和度,I表示亮度。将S和I通道分别向两边拉伸,这样可以扩大直方图的分布范围,进一步通过提高饱和度来增加真实颜色,并通过提高亮度来解决低光照问题,使处理后的图像更加自然。

1.2 传统UCM算法局限性

在实验室水箱内模拟了海参场景图像,并且进一步在水箱中添加氢氧化钠和甲基蓝使水下工况更浑浊和偏蓝绿色,更加接近深海真实场景,如图4所示。可以看出:预处理后的图像的对比度在一定程度上得到了提高,但增强的效果不明显,图像整体暗淡,亮度偏低。而且在图4(b)中,红色矩形框中图像的局部区域出现了欠饱和现象,而在图4(d)中,处理后的整体图像呈现一种过饱和的现象,其主要原因是由于UCM算法在线性拉伸直方图的过程中没有考虑到图像中数值太高或太低的像素值,导致灰度值低的地方和高的地方没有得到相对应的均衡化处理。

(a) 水箱内海参场景

(b) UCM算法增强后的图像

(c) 模拟偏蓝绿色的水下场景

(d) UCM算法增强后的图像图4 传统UCM算法局限性Fig.4 Limitations of traditional UCM algorithm

2 传统UCM算法直方图均衡化的改进

针对提出的传统UCM增强算法产生的过饱和和欠饱和问题,基于色彩校正模型[12],本文对UCM算法中的直方图线性拉伸进行了改进,提出使用限制对比度自适应的方法对直方图进行非线性均衡化,将传统的线性直方图拉伸改进为非线性直方图拉伸,使得改进后的图像进一步提高了对比度,解决偏色问题,增加图像的亮度,改善图像质量,使其更符合人类视觉感知,本文算法流程图如图5所示。

图5 改进UCM图像增强算法图Fig.5 Improved UCM image enhancement algorithm

直方图均衡化(Histogram Equalization,HE)就是把原图像直方图集中的灰度区间变成全灰度区间范围的均匀分布[13]。如图6所示(图6(b)为均衡化后的直方图)。

图6 直方图均衡化Fig.6 Histogram equalization

假设以r和s分别表示为归一化处理后的原始图像的灰度和经过HE算法处理后的灰度,即0≤r≤1,0≤s≤1。并且在区间[0,1]内,所有的r都可以经过变换函数T(r)处理以后映射出一个s,如下:

s=T(r)

(6)

然后根据概率论的理论可以得到:假设已知随机变量r的概率密度为Pr(r),因为由式(6)可知r和s存在映射关系,则s的概率密度为Ps(s)可以根据Pr(r)求得,假设s的分布函数用Fs(s)表示,根据分布函数的定理得:

(7)

对两边同时求导:

根据式(8)、式(9)可以知道通过改变两个图像之间的变换函数T(r)来控制图像的概率密度函数,从而进一步改变图像的灰度区间,变换处理过程如图7所示。

图7 HE算法变换过程Fig.7 HE algorithm transformation process

但是虽然HE可以在一定程度上提高图像的对比度,但是该算法对全局图像进行均衡化的时候会产生过度增强效果,同时也放大了噪声,因此有学者提出自适应直方图均衡化(Adaptive Histogram Equalization,AHE)[14],该算法虽然有利于减少图像细节的损失,但也增加了噪声。Zuiderveld等[15]在AHE的基础上提出了(Contrast Limited Adaptive Histogram Equalization,CLAHE)[16],如图8所示。

图8 CLAHE算法直方图Fig.8 CLAHE algorithm histogram

算法通过限制对比度来达到防止过度增强和抑制噪声的目的,其在计算非线性函数f之前,设定一个阈值,将超过阈值的灰度直方图裁剪,并将阈值裁掉的像素点数目平均分配到各个灰度级中,这样就会平缓灰度级之间的剧烈变化,起到抑制过度增强噪声点的作用。

3 实验结果与分析

伽马校正[17](Gamma Correction,GC)和相对全局直方图拉伸(Relative Global Histogram Streching,RGHS)算法是提高图像对比度、改善图像质量的典型增强方法[18]。本文分别将改进的UCM算法与GC、RGHS、UCM 3种算法进行对比,定性、定量地分析本文算法的可行性。

3.1 定性分析

图9为GC、RGHS 、UCM和本文算法对原始图像处理的效果图,其中原始图像来自实验室水箱模拟的海参场景,GC算法不仅没有提高图像的对比度,反而变得更加模糊,看上去有一层薄雾,整体画面呈现一种偏白的现象。RGHS和UCM虽然在一定程度上提高了对比度,但对比度增强没有那么明显,并且UCM算法使图像变得暗淡,部分区域表现出了欠饱和的问题。改进的UCM算法明显提高了图像的对比度,使图像变得更加清晰,更符合人类的视觉感知。

图9 4种增强算法处理后的比较图Fig.9 Comparison diagrams after processing by four enhancement algorithms

3.2 定量分析

如表1所示,用UIConM[19]、UIQM[19]和NIQE[20]指标对图9增强后的图像进行定量的分析。UIQM是Panetta等提出来的水下图像质量度量指标,该指标是由水下图像色度测量(UICM)、水下图像清晰度测量(UISM)和水下图像对比度测量(UIConM)线性组成的,其值分别为fUICM、fUISM、fUIConM,UIQM的值fUIQM越大,说明水下图像的质量就越好,反之就越差。

表1 不同图像增强算法指标对比Table 1 Comparison of different image enhancement algorithms

fUIQM=c1×fUICM+c2×fUISM+c3×fUIConM

其中,c1、c2、c3分别为这个线性组合的权重值。

自然图像质量评估器NIQE是基于简单的空间域自然场景统计模型,将拍摄图像中的特征与统计模型进行度量,从而得到评价分数,fNIQE的得分越小说明图像质量越高。

从表1可以看出GC算法的fUIConM和fUIQM较小,在IM1中仅分别为0.25和3.03,说明了对比度较低并且图像质量不高,而fNIQE又是4种算法中最大的,为4.69,说明了该图像与自然场景下的图像相似度较小,质量也不高。而改进后的UCM在UIConM、UIQM和NIQE指标下都是最优的,说明改进后的UCM算法进一步提高了图像对比度,改善了图像质量。RGHS和UCM算法的性能介于GC与改进的UCM之间。

4 结束语

本文以水下海参图像为研究目标,针对水下图像存在的偏色、低对比度、噪声影响等问题,通过提出改进传统的UCM算法,使用CLAHE对RGB模型中的R、G、B通道以及HSI模型中的S、I通道的直方图进行均衡化。较好地提高了图像质量,并且通过实验后的定性和定量分析,验证了本文算法更加符合人类视觉感知,表明了该算法有很好的鲁棒性,且在同类图像处理方面有更好的表现性。

猜你喜欢

均衡化直方图校正
符合差分隐私的流数据统计直方图发布
劉光第《南旋記》校正
用直方图控制画面影调
基于数字图像直方图均衡化改进算法的设计研究①
基于MR衰减校正出现的PET/MR常见伪影类型
在Lightroom中校正镜头与透视畸变
机内校正
中考频数分布直方图题型展示
PSO约束优化耦合直方图均衡化的图像增强算法
圆投影及直方图不变矩在多视角产品检测中的应用