暗通道先验结合直方图均衡的阴雾图像处理方法
2023-10-22汪昌晨
汪昌晨,刘 虹
(厦门理工学院光电与通信工程学院,福建 厦门 361024)
由于大气中含有各类气溶胶,如灰尘、烟雾、阴霾等,所以,室外场景拍摄的图像质量会因此而下降。由大量浑浊介质引起的雾霾天气会造成太阳光线被吸收与散射,进而引起光敏摄像机所拍摄的阴雾图像存在对比度与颜色保真度降低的问题[1]。在阴雾天气中拍摄的图像不利于交通监控系统与卫星监控系统的运作,不清晰的阴雾图像会降低交通安全事故的发现概率,影响卫星对自然灾害的预警,给人们的生命安全带来一定的潜在威胁[2]。因此,图像去雾具有一定的研究意义。
现有的图像去雾方法大致可分为3类,分别是基于非物理模型的去雾算法、基于物理模型的去雾算法,以及基于深度学习的去雾算法[3]。基于非物理模型的去雾算法主要是以图像增强的方法强化图像中的物体特征,从而达到去雾效果。主流的图像增强去雾算法有直方图均衡算法[4]、Retinex 去雾算法[5]、小波变换和同态滤波算法等[6]。其中,直方图均衡算法较为简单高效,可以增加图片亮度与对比度,所以得到了广泛的应用,但它易造成图片过饱和与失真,所以不适合应用于高亮度与过低像素的图像处理。基于物理模型的去雾算法是以雾图形成模型作为研究对象的去雾算法,主要有暗通道先验去雾[7]、颜色衰减先验去雾[8]、交互式去雾[9]与基于偏振特性图像去雾等[10]。其中,暗通道先验算法最为稳定与高效,故成为当前应用最广泛的基于物理模型的去雾算法。暗原色先验是对大量无雾图像的统计结果,如果图像内存在与大气光环境类似的物体如明亮雪地、洁白的背景等,则无法得到较好结果。并且,通过实验发现,暗通道先验处理低亮度阴雾图像会使图像亮度进一步降低,影响图像内物体的识别。基于深度学习的去雾算法主要是由神经网络估计大气散射模型的参数来进行图像去雾的方法,近年来,较出色的深度学习去雾算法有DehazeNet算法[11]与GCANet算法[12]。深度学习去雾算法的去雾图像细节还原好,但算法参数多,对数据集要求高,实用性低。单一算法去雾的弊端较明显,以组合方式可发挥不同算法的优势[13-16]。2017年,张宝山等[17]结合直方图均衡与暗通道先验进行图像去雾,但其方法是使用直方图均衡处理暗通道先验过程中的最小颜色分量图像,进而影响暗通道先验去雾算法的速度与效果。为此,本文以增大阴雾图像内物体识别度为目标,针对阴雾图像雾气较浓与颜色较暗的特点,先使用高效、稳定的暗通道先验对原始图像去雾,再使用简单、高效的直方图均衡将去雾后的图像亮度拉高,增强图像对比度,进而增大阴雾图像内物的体识别度。
1 去雾算法的原理
1.1 雾图像形成模型
暗通道先验算法使用的物理模型为大气散射模型[18-19],它是一种描述雾图像形成过程的物理模型,可描述为
式(1)中:x代表像素;I为未处理的含雾图像;J为无雾图像,对图像去雾就是要求解J;A为大气光线;t为透射率。已知的参数为I,要确定唯一的J,就需要确定t与A的值,暗通道先验就是一种用来确定上述参数的方法。
1.2 暗通道先验
暗通道先验的中心思想是:一幅彩色图像具有RGB 3个颜色通道,存在像素值非常小的通道,如绿油油的大草原图像中,R 通道与B通道的像素值就非常小。并且,在最小像素值通道内还存在最小单点像素值。一个局部区域内往往存在一个光强度很小的值,可表示为
式(2)中:Jdark表示无雾图像的暗通道;Jc表示无雾图像的单个颜色通道,c表示RGB 中的一个通道;Ω(x)表示以像素x的位置为几何中心的窗口;y表示窗口内的像素。He等[7]1956对大量数据进行观测得到,若J为室外不含天空的薄雾图像,Jdark的值趋近于0,这被称为观测暗通道先验,即
将式(1)两边同时除以大气光线Ac,得到
在暗通道先验理论中,大气光线Ac为可提前确定的常数,可先从暗通道图Jc中取前0.1%较高像素值的点,再在原始含雾图像Ic中找到与这些像素对应位置点的最高亮度像素值作为Ac。透射率t(x)为待求常数,假设其为~(x)。对式(4)两边求两次最小值并化简,得到
由式(2)~式(3)、式(5)可知,透射率预估值t~(x)可表示为
在实际中,晴朗的大气中依然存在微小的粉尘,这导致拍摄的远处物体依然存在一定的模糊。为了保证处理后的图像更加符合实际,故在式(6)中引入常参数ω(0 <ω<1),得到
式(7)中:ω的值常取0.95。
由上述内容,原始含雾图像I、大气光线A、透射率t都已确定,将其代入式(1)即可求得无雾图像J为
当透射率t较小时,J就会偏大,从而使得复原的无雾图像像素值过高,影响人眼的观感。故设置一个阈值t0,当透射率t小于阈值t0时,令t=t0,得到
式(9)为最终的恢复公式。
1.3 直方图均衡
一幅数字图像的直方图离散函数[20]定义为
式(10)中:rk代表其中第k级灰度级的像素;nk是图像中像素rk的个数。
为了便于运算,故将直方图归一化,具体过程为
式(11)中:p(rk)为灰度级为k的像素rk出现的频数;n为图像的像素总数。
设灰度级为归一化于[0,1]的连续量,pr(r)为图像灰度级的概率密度函数,r指输入图像的像素,对输入灰度级进行变换,得到输出灰度级s为
式(12)中:ω是积分虚设变量。
因为对灰度级进行了归一化,所以输出灰度级概率密度函数Ps(s)是均匀的,即有
因为实际像素点是离散的,故结合式(11)~式(12),并将直方图均衡化转换为
式(14)中:pr(rj)为输入图像的灰度级相关直方图;rk为输入图像像素;sk为图像做直方图均衡后由rk转换得到的输出图像像素。
因为式(14)采取了归一化,所以最终输出的灰度图像需要再乘以灰度级数L。即
1.4 暗通道先验结合直方图均衡
经暗通道先验处理后的图像为J(x),x是图像中的像素,将暗通道先验处理后的像素x作为直方图均衡中输入图像的像素r,故结合式(9)、式(15),有
图1 为各流程图像。其中:图1(a)是一幅637 px×422 px 灰度阴雾图像原图,为说明式(16)的结合方法;图1(b)是经过暗通道先验处理后的灰度图像;图1(c)是在图1(b)基础上再进行直方图均衡处理后的灰度图像。
图1 各流程图像Fig.1 Process images
图2 为结合方法示意图,其中:图2(a)为所选点的坐标,以(行,列)的格式表示,共取9 个点;图2(b)用于表示所取像素点坐标对应的像素值,其中x代表像素,xk则表示像素值为k,如x156代表像素值为156;图2(c)用于表示步骤1 中经暗通道先验处理后所取像素点坐标对应的像素值xk,即直方图均衡环节的输入像素值rk,如x16代表像素值为16,由x156经暗通道先验处理后得到;图2(d)用于表示先使用暗通道先验处理再在步骤2中使用直方图均衡处理所取像素点坐标对应的像素值sk,其含义是对应于xk经直方图均衡处理后的像素值,如s16为33是x16对应的输出值,即原像素值为16的像素都转换为33 像素值的像素。可以发现,相比于图2(b),图2(c)整体的像素值更低,即处理后的图像较暗。
图2 结合方法示意图Fig.2 Ways of combination
因为彩色图像有RGB 3通道,故将式(16)改为
式(17)中:c表示某一路通道。图3 为RGB 3 通道直方图均衡与合成,各通道单独处理后再合成为彩色图像。像素s′(R′,G′,B′)为最终处理结果。
图3 RGB 3通道直方图均衡与合成Fig.3 RGB three-channel histogram equalization and composition
图4为各流程图像展示,是先依次单独处理R、G、B通道的灰度图像,再将处理后的R、G、B 3通道的灰度图像合成得到的彩色图像,其中:图4(a)是一幅彩色阴雾图像原图;图4(b)是经过暗通道先验处理后的彩色图像;图4(c)是在图(b)基础上再进行直方图均衡处理后的彩色图像。
图4 各流程图像展示Fig.4 Images presentation of process
2 实验结果及分析
实验在Windows 10 操作系统、Intel(R)Core(TM)i5-6200U CPU@2.30 GHz、8 GB 内存的PC 单机环境中,使用Matlab 2020b 对选自O-HAZE、RESIDE 数据集与文献[7]中的部分阴雾图像进行仿真测试。实验分别测试单独利用暗通道先验、单独利用直方图均衡、暗通道先验结合直方图均衡这3种方法处理阴雾图像的效果,先展示实验效果,接着对图像进行主观分析,再以客观的评价标准对图像进行分析。
2.1 实验效果展示
图5 为实验效果图,其中:图5(a)为含雾原图,都是阴雾图像,具有雾气较浓、颜色较暗的特点;图5(b)为仅使用暗通道先验算法对阴雾图像处理的效果,其中的图像颜色较暗,图像内的物体或细节不易识别;图5(c)为仅使用直方图均衡对阴雾图像处理的效果,虽然整体亮度较高,但是与图5(b)相比,其图像还有较大面积的阴雾没有去除;图5(d)为暗通道先验结合直方图均衡对阴雾图像处理的效果,整体亮度较高,雾气较淡,图像内物体识别效果较好。
图5 实验效果图Fig.5 Experimental results
2.2 实验效果主观分析
图6是选自图5中的火车图片的实验结果主观分析图,其中:图6(a)是使用暗通道先验处理得到的图片;图6(b)是使用直方图均衡处理得到的图片;图6(c)是使用本文方法,即先使用暗通道先验处理,再使用直方图均衡处理得到的图片。通过主观分析图片中的红色框选部分可以发现,相比图6(a),图6(b)整体较亮,但依然存在白色的薄雾,未提高框选部分内目标主观识别效果,而图6(a)中框选部分内的目标则较为清晰,轮廓较为明显,提高了目标的主观识别效果。
图6 实验结果主观分析图Fig.6 Results for subjective analysis
2.3 实验效果客观分析
为客观评价去雾算法,以平均梯度、信息熵、可见边之比e和可见边的规范化均值[21]作为图像处理效果的客观评价标准,4个指标越大,代表图像的处理效果越好,即图像内物体识别度的提升效果越明显。
表1 为不同方法对图5中各处理结果图片的客观分析数据,其中黑色字样表示同一图片中取得最好效果方法的指标数据。由表1可见,本文方法的平均梯度、信息熵与规范化均值大多比单独使用暗通道先验与单独使用直方图均衡的要高,说明本文方法比另外2种方法处理的图像更加清晰,信息量更大并且色彩更加饱满。但是,本文方法的可见边之比略低于暗通道先验的,说明暗通道先验方法处理的图像细节更丰富。表1 的数据说明,本文方法的客观评价指标比另外2 种单独处理图像方法的更优。
表1 客观分析数据Table 1 Data for objective analysis
3 结论
本文提出了一种阴雾图像处理方法。该方法先使用暗通道先验处理含雾图像,再使用直方图均衡提高图像对比度,从而提高图像的清晰度,进而提高图像内的物体识别度。本文通过主客观分析,分别单独使用暗通道先验、单独使用直方图均衡、暗通道先验结合直方图均衡等3种方法对多幅阴雾图像进行处理。实验结果表明,相较于单独使用暗通道先验与直方图均衡处理的阴雾图像,本文提出的暗通道先验结合直方图均衡方法处理的阴雾图像平均梯度分别为前2 种方法的2.18 倍与1.63 倍,信息熵分别为前2 种方法的1.12 倍与0.99 倍,有利于提高阴雾图像内物体的识别度。但是,本文方法是先使用暗通道先验处理阴雾图像,再对处理的阴雾图像进行直方图均衡,所以,与其他2种单独使用的方法相比,本文方法处理图像所需时间更长。