基于加权最小二乘法的细节增强去雾方法

2023-08-21 04:15陈星余杭杨林郑讯佳郑水利
北京理工大学学报 2023年8期
关键词:光晕透射率大气

陈星,余杭,杨林,郑讯佳,郑水利

(1.重庆文理学院 智能制造工程学院,重庆 402160;2.重庆交通大学 机电与汽车工程学院,重庆 400074;3.重庆长安工业(集团)有限责任公司 特种车辆研究所,重庆 400023)

雾天影响了图片成像精度,并且对交通监控、自动驾驶车辆目标检测等任务有极大的影响.因此图像去雾算法提升成像精度,有着重要的研究价值.

目前,现有的去雾方法可以分为两大类:基于图像增强方法和基于图像复原方法。基于图像增强的方法使用简单且适用性广,但是没有考虑退化模型,理论支持不严谨.基于图像复原的方法,由于其使用了大气散射模型,被广泛用于机器视觉和图像处理领域.

为了获得无雾图像,需要求取大气散射模型中的两个重要参数:透射率和大气光照值.HE 等[1]的方法首先获得暗通道图,然后选择最亮的前0.1%像素,将最亮强度的像素点的值作为大气光.但当图像中出现大部分亮白色和天空区域时,这些方法可能会失效.为了避免上述问题,KIM 等[2]首先使用四叉树分解法估计大气光,该方法以递归法为基本运算,先设定阈值,将输入图像分为4 个象限,然后计算每个象限的比重,再将比重最高的象限进一步划分为4 个子象限,重复运算,直到象限的最终划分小于阈值,划分停止,然而,该算法得到的大气光照值精确度不高;透射率是大气散射模型重的另外一个重要参数,HE 等[3]等首先用最小滤波用于估计粗糙传输图,然后软抠图用于细化粗糙传输图以产生更好的性能,最终为了提升透射图的求取速度,提出了引导滤波细化透射率.孙抗等[4]提出了一种基于双边滤波器的实时图像去雾方法.依据暗通道先验模型来估计大气散射模型,使用快速双边滤波器估计大气光幕,通过求解带雾图像成像物理方程恢复理想光照条件下的大气辐射强度,实现图像去雾;神和龙等[5]建立雾天退化物理模型,采用数学中不等式缩放理论估计出每帧有雾图像的透射率和全局大气光,然后根据雾天成像的物理模型恢复出每帧去雾图像.王建中等[6]提出了一种基于残差密集块的端到端自编码图像融合网络结构,基于残差块思想,将图像分为背景特征和细节特征,然后基于融合算法将不同的特征图融合,最后利用解码器还原出无雾图像.然而,上述技术仍存在着部分缺陷,获取透射率时会产生伪影,使得去雾图像效果差.

综上所述,求取透射率和大气光照值时,主要存在由于透射率求取算法设计缺陷使得恢复的无雾图像易产生光晕、伪影等现象以及大气光照估计精确度不高的问题.由此本文提出了级联最小-最大值算法求取透射率,并用加权最小二乘法来细化透射率来减少光晕、伪影等现象;本文采用改进的四叉树法来精确求解大气光照值.研究结果表明,通过与不同去雾算法定性和定量分析,所提出的方法在保留深度边缘、颜色质量及细节方面具有良好的有效性和鲁棒性.

1 透射率估计

1.1 大气散射模型设计

雾霾形成的物理机制较为复杂,但当只考虑单次散射时,雾霾成像模型就可以表示为

式中:I(x) 为雾霾图像;J(x) 为要复原的无雾图像;x代表二维空间的坐标;A代表大气光照;t(x)为未散射的透射率.当大气均匀时,它沿着射线到达照相机并随着场景和摄像机之间距离的增加而减小,用以下公式表示

式中:β为大气的散射系数;d(x)表示场景点到摄像机的距离.由此可见,单幅图像的去雾算法需要在雾霾图像形成模式下估计透射率和大气光参数.

1.2 暗通道先验和透射率

针对于图像中非天空区域,总会存在部分颜色通道值较低.对于图像J(x),其暗通道定义如下:

式中:Ω(x)是以x为中心的局部区域;c为RGB 通道.

暗通道先验原理基于这么一个事实,即在无雾的室外天气图像下,绝大多数的非天空区域至少存在一个颜色通道的像素值是无限靠近于零的.对式(1)稍作变形有

假设每一个窗口内t(x)为定常值,且A已知的情况下,对式(4)两边连续求两次最小值将得到

HE 等提出的暗通道先验原理是基于统计观察的,即在无雾的室外图像中,大多数图像非天空区域至少有一个颜色通道趋向于0.基于上述观察,对于任意无雾图像J,假设在每一个窗口内透射率t(x)为常数,也就是假设在同一窗口上的透射率是相同的,且A已经给定,由暗通道原理可以推出

其中Jdark(x)趋近于0,把式(4)(5)(6)合并可得

式中:c为图像BGR 通道;Ω 为补丁区域.

1.3 改进的透射率算法

1.3.1 形态学级联算法

选择合适的补丁大小(Patch_size)是暗通道先验原理方法中的关键参数.如果补丁尺寸太大,透射率图深度边缘附近的光晕会变强,而对于较小的补丁尺寸,恢复的场景透射率会变得过饱和.针对暗通道先验方法中最小值算法操作会产生光晕以及使得透射率图不具边缘保持性.采取类似形态学开运算,在求取透射率最小值算法后采取最大化操作来减少光晕以及保持轮廓边缘.在这种级联算法下,输出图像中大于补丁大小的区域保持完整,而精细的结构、纹理细节被过滤掉,并且可以减少光晕现象在复原图像重影的产生.

形态学开运算用来消除小物体、在纤细点处分离物体、平滑较大物体的细节边界的同时并不明显改变其面积.由此想到把它应用到优化透射率提取过程中,以此来减少最小值操作使得补丁边界估算不准确带来的光晕,并且可以增加细节信息.为了说明最小−最大值级联算法的有效性,进行以下操作.图1(a)经过‘腐蚀’运算操作,得到图1(b),可见最小值运算符侵蚀纹理和对象边界区域像素,头发、嘴巴等细节被模糊并使得边界不明显.随后在其基础之上采取‘膨胀’运算来增强原图像的细节边缘信息,图1(c)呈现了级联操作结果,头发、眼睛等细节大致恢复且保留粗的轮廓细节.在此种方法下,图2 呈现了雾天图像和暗通道图与形态学级联算法下的暗通道图,并且图2(b)框中的亮度更低,会减少复原图像光晕伪影的出现,具体实现方法如下.

图1 形态学算法图Fig.1 Morphological algorithm graph

图2 不同算法暗通道对比图Fig.2 Comparison of dark channels of different algorithms

假设局部补丁透射率为定常值,把上述算法应用到大气散射模型得

式中:Jdark趋近于0,那么在其基础之上取一个补丁来寻找最大值它也是必然趋近于0 的.

注意到式(8) 的最小值运算会使得恢复的无雾图像产生光晕,因此在式(9)与式(10)之间采用局部平均值平滑最小值运算的结果为

式中:r为补丁半径.

最后在uwindow窗口基础之上采用式(10),最终得到透射率为

即使是晴天白云,空气中也存在着一些颗粒,因此,看远处的物体还是能感觉到雾的影响,因此,有必要在去雾的时候保留一定程度的雾度此时ω=A/255.

1.3.2 加权最小二乘法(WLS)

虽然上述方法可以使得恢复的图像减少光晕、呈现较好的轮廓信息,但是易产生重影、细节界限不明显且复原图像的亮度较暗、颜色质量较差的去雾图像.鉴于上述问题,本节涉及进一步的细化,包括局部对比度增强和增加恢复图像上的精细细节.本文引入既可以平滑透射率又可以保留细节信息的带权重的最小二乘法来进行透射率的优化.

加权最小二乘滤波目的即使得结果图像u与原始图像t经过平滑后尽可能相似,但在边缘部分尽量保持原状,让两个矛盾体达到制衡,用数学表达出来即为

式中:下标代表像素点空间位置,其中p表示像素的位置,ax,ay为权重系数.目标函数第一项代表输入图像和输出图像越相似越好;第二项是正则项,通过最小化的偏导,使得输出图像越平滑越好.

上式写成矩阵形式为

式中:Ax,Ay为以ax,ay为对角元素的对角矩阵,Dx,Dy为前相差分矩阵,和是后向差分算子,要使得上式为最小值,u需满足如下:

由此可求出同时保持良好边缘细节和平滑的透射图u:

上式可以得到优化的透射率,为了直观证明所提算法优化透射率的优越性,图3 和图4 对比了相同大气光照值下的暗通道引导滤波与带权重的最小二乘滤波算法优化透射率的结果图,直观来看,提出的级联求得的透射率经过加权最小二乘算法进一步细化后更加平滑,减少了红色框局部像素过大引起的过亮现象,并且经过最小二乘算法得到的去雾图保持了良好的深度细节的同时减少了光晕现象.进一步的,图5 呈现了一组粗透射率与加权最小二乘法滤波细化透射率的去雾效果对比.其中图5(a)为雾天图像,图5(b)为粗透射率图,经过粗透射图恢复的无雾图像图6(c) 中红色框位置产生了光晕伪影.而经过带权重的最小二乘法优化的透射图5(d)得到的去雾图5(e)去除了光晕伪影,且图像无论深度边缘还是细节信息皆保持良好,复原图像更加自然.

图3 引导滤波图Fig.3 Guided filtering diagram

图4 带权重的最小二乘法滤波图Fig.4 Weighted least squares filtering diagram

图5 透射率细化前后对比图Fig.5 Comparison of transmittance before and after refinement

图6 四叉树求取结果对比图Fig.6 Comparison of the results obtained by the quadtree

2 大气光照估计

大气光照A是大气散射模型的另外一个重要参数,该参数对去雾图像恢复的质量有较深的影响.大量的雾霾会导致明亮的颜色,比大气光更亮的物体可能导致对大气光不期望的选取.四叉树法利用了这样一个事实,即在模糊区域,例如天空,像素值的方差通常较低.然而,该算法求取速度较慢,为了提高其求取速度本文提出了改进的四叉树法来求取该参数.

根据对大量雾霾图像大气光A参数的求取发现,绝大多数图像得到大气光照值位于图片上半部分,基于这个先验可以提高对该参数求取的速度.首先,将整个雾霾图像分成4 个矩形区域.其次,将每个矩形区域的分数定义为平均像素值减去该区域内像素值的标准偏差.然后,选择得分最高的区域,如果得分最高的区域位于图片上半部分,将其进一步分成4 个较小的区域.重复这个过程,直到达到迭代次数,最终得到的选定区域每个像素点RGB 值与空间最大像素点做差即||(PB,PG,PR) − (255,255,255)||,得到的最小值点即为选取的全局大气光照值;如果得分最高的区域位于图片下半部分,则取该候选区域R上半部分分别为Rtop_left、Rtop_right,下半部分分别为Rbottom_left、Rbottom_right.上半部分进行得分求取时会加入一个大的权重来矫正一次,尽量使其在图像上半部分.其后根据真实得分情况进行上述迭代.迭代次数i根据输入图片面积选取,这里默认i=5.图6 呈现了本文的算法与Kim 算法求取A的结果.当湖面大量亮白色时,Kim 算法失效,本文提出的算法得到了更精确的结果.

3 仿真结果与分析

本节通过在Pycharm 平台上对各种雾天图像进行去雾处理,所提出的算法在合成数据集和真实世界的雾图像上进行了定量和定性的评估,所有结果图像均采用统一参数.首先,为了证明所提方法的有效性,将本文所提出的方法与7 种最先进的方法:PCG[3]、DCP[7]、ACE[8]、Fattal[9]、EPDN[10]、GridDehaze-Net(Grid-Net)[11]、FFA-Net[12]进行对比.数据集主要采用去雾常用对比图Train、Dolls、Red bricks House、Road、Swan 图进行展示比较.特别地,科学界仍然缺乏一个参考数据集来客观和定量地评估所提出的除雾方法的性能.目前在评估和训练基于学习的去雾技术时所考虑的数据集,都完全依赖于合成的雾图像,并且当只有包含单一真实雾天图像时,进行参数计算时会仅仅选择去雾前后的结果图进行比对,评价起来不是很合理.为了解决这个限制,本文引入了第一个室外场景数据库O-HAZE[13],它由一对真实的雾霾图像和相应的无雾图像组成.O-HAZE 包含了45 个不同的室外场景,描述了无雾和有雾条件下,在相同的照明参数下记录的相同的视觉内容,这样就可以更好地用去雾结果图与真实无雾进行比对.其次,本文将去雾前后图输入开源目标检测模型YOLO-V3,进行有效性和实用性的证明.在去雾结果中,复原的图像往往较暗,因此在结果中均采用标准的伽马矫正,并且在采取同样伽马因子下对比.

3.1 定性分析

图7 展示各种算法的结果图,每一种对比方法都在合理的程度上恢复了远处物体的可见度.在图7中, 总的来说对比算法在图像红框中会产生光晕伪影以及会出现暗黑、不清晰、失真现象,具体的ACE、EPDN、GridDehaze-Net(Grid-Net)、FFA-Net 算法在对Train 图像以及Swan 图像出现了明显的暗斑和光晕.Dolls 图中,本文的结果图细节更加清晰,颜色更加鲜明.对于House 图,DCP、PCG、Fattal 和EPDN 的去雾方法导致了产生图像过饱和以及使得红框产生暗黑现象,本文所提算法的结果图呈现明亮自然状态,且叶片细节轮廓更加透明清晰.针对Road 图本文所提出的方法在细节恢复方面较之前算法得到很大提升,树干、道路标识信息更加显目.在Swan 图中红框中景深处细节也明显凸现出来,而DCP、PCG、ACE、Fattal、EPDN、GridDehaze-Net 和FFA-Net 算 法 则 出现失真、伪影现象.

图7 各算法去雾结果对比图Fig.7 Comparison of defogging results with various algorithms

3.2 定量比较

为了客观地说明恢复图像的质量,将提出的方法与经典算法进行定量比较,采取常用图像质量评价指标均方差(MSE)、峰值信噪比(PSNR)、结构相似性(SSIM)、颜色信息熵(CIE)来进行参数比对.均方误差值越小,表明在图像内容方面,去雾图像越接近原始图像,畸变差越小;PSNR 值越大,灰度值差异越大,去雾效果越好;就图像纹理和结构而言,SSIM值越大,去雾结果越接近原始图像;颜色信息熵(CIE)可以表示彩色图像中的信息量,CIE 可以从所有灰度级的图像的直方图中确定,当图像不均匀时,CIE 达到最大值,但对于雾天,图像中包含的区域具有最小的CIE.CIE 在数学上定义为

式中:L为灰度等级;Hi为i灰度级直方图统计概率.表1 可以看出本文所提算法的均方误差值最低,表明该算法失真小,图像内容更接近原始图像;总体上,本文所提出算法的PSNR 指数更大,表明所提算法的去雾结果受噪声影响较小,结果较为清晰,部分参数略低于对比结果.猜想是所提算法特别适合处理深度的急剧变化的场景,在后续可以对透射图方面进行改进提升.同时,在结构相似性指数中,本文算法总体上高于对比算法,表明本文方法在边缘细节上表现更好.CIE 指数均大于对比算法,具有较高的信息量.总的来说,本文所提出的方法在细节恢复、颜色质量、总体效果方面具有优越性,在图像评价指标均方差中最高降低7%.信噪比、结构相似性、颜色信息熵方面最高提升3.1%,2.4%,1%.

表1 图像质量评价指标对比Tab.1 Index comparison of image quality evaluation

考虑O-Haze 数据集的独特性,比对了SSIM 和PSNR 这两个图像质量评价参数,由图8 可以看出,本文所提算法仍然具有相对较高的指标值,在数据集下平均结构相似性和平均峰值信噪比最高可提升32% 和21%,由此可以看出本文所提算法的可行性.

图8 O-haze 数据集下不同算法的平均SSIM 和PSNRFig.8 Average SSIM and PSNR of different algorithms under the O-haze dataset

3.3 有效性证明

为了说明所提算法的有效性和应用价值,本文将所提算法去雾前后结果图输入到当下采用最多的开源目标检测模型(YOLO-V3)中进行实测比对.图9展示了对比图,第一行为雾霾原图,第二行为没有采取去雾算法的目标检测图,第三行为本文所提算法的结果图.在马路上进行目标检测,将会识别出道路上的行人、车辆、红绿灯等.矩形框代表识别检测到的物体,左上角英文代表检测到的物体种类,数字代表是该种类的概率.从第二行与第三行的结果图对比中易看出,图像去雾结果后,第三行的结果图中出现了更多的矩形框,说明去雾后的目标检测模型可以识别到更多的物体,并且相应的概率值也在提高,说明去雾处理一定程度提高了目标检测精度,虽然有的识别成错误的类型,但这不是去雾算法的问题.总的来说所提算法提高了图像中的局部细节,可以让目标检测更好的进行特征提取,去雾结果对目标检测、识别等领域可以做出良好支持.

图9 去雾前后目标检测对比图Fig.9 Comparison of target detection before and after defogging

3.4 应用及发展

社会的发展导致生活环境的变化,雾霾天气产生得越来越频繁,在一定程度上影响了人们的生活.大气中的烟尘等颗粒是形成雾霾的主要原因,这些颗粒会吸收和散射光线,降低了图像拍摄的质量,基于此类原因使得检测和识别任务难以达到令人满意的效果.图像去雾算法是计算机视觉的一个重要研究方向,其在许多工程中广泛应用:①无人驾驶技术,针对于道路环境,大雾天气会影响无人驾驶车辆的识别能力,去雾算法可以有效的提高图片生成质量,从而提高目标检测能力使车辆行驶更加安全;②视频监控,去雾技术可以提高视频监控的可靠性,使其能够更准确地识别犯罪嫌疑人和其他目标,从而提高安全性和效率;③机器人视觉:去雾技术可以提高机器人视觉系统的可靠性和精度,从而帮助机器人更准确地感知环境和执行任务;④智能交通:去雾技术可以提高智能交通系统的可靠性,使其能够更准确地识别车辆和行人等目标,从而提高交通安全性和效率.

总之,图像去雾算法在许多工程应用中都有广泛的应用,可以帮助提高系统的可靠性、效率和安全性.

4 结 论

本文针对暗通道算法复原图像时易产生光晕现象,提出了一种有效的单幅图像去雾方法.首先呈现了形态学开运算在保持边缘过程中的有效性,在暗通道先验基础之上对透射率图进行形态学级联运算来改善了透射图并且减少光晕现象,为了使得到的复原图具有更清晰的细节边缘和更好的对比度,采用了带权重的最小二乘法来滤波来细化透射率;同时为了更精确的求取大气光照这个重要参数,采取了改进的四叉树法;最后把透射率与大气光照值代入大气散射模型获得无雾图像.定性和定量与当下主流方法进行对比表明,本文所提出的方法在细节恢复、颜色质量、总体效果方面具有优越性,O-Haze数据集中,图像评价指标信噪比、结构相似性最高可提升21%、32%.并且去雾结果可以提升目标检测算法的精确性.

猜你喜欢
光晕透射率大气
卢美涵:夕阳
大气的呵护
纯色太阳镜镜片耐日光辐照性能试验研究
大气古朴挥洒自如
大气、水之后,土十条来了
微软大作《光晕》首现iOS射击视角变了
石墨烯光栅太赫兹透射特性的研究
玻璃长波透射率对普通双层中空玻璃热特性的影响
晶格常数对左手材料的能量透射率及负折射率的影响
大气的小“壮壮”