雾天道路下智能车视觉图像实时快速去雾研究*
2022-05-21钟魁松冯治国张振博袁森
钟魁松 冯治国 张振博 袁森
(1.贵州大学,贵阳 550025;2.贵州省特色装备制造技术重点实验室,贵阳 550025;3.贵州理工学院,贵阳 550003)
主题词:视频处理 雾天道路 图像去雾 暗通道 大气散射模型 直方图均衡
1 前言
视觉感知已成为智能驾驶领域研究的热点方向,其与激光雷达相结合在车辆识别与跟踪领域应用广泛。道路环境易受雾的影响,导致车辆视觉感知信息不完整,影响依赖视觉的智能车运行。因此,雾天环境下图像的快速增强算法具有重要研究意义。
目前,针对单图像去雾的算法可分为3类。第1类是图像增强,核心是尽量去除图像噪声、增强图像的对比度。第2 类是基于物理模型的恢复算法,基于一定的先验知识,通过大气散射模型恢复无雾图像。He 等人提出了暗通道先验去雾算法,但会造成去雾后的图像天空区域色彩失真。He等人后续改进,使用引导滤波器提升了算法速度,但易出现去雾不彻底的情况。Zhu 等人提出了一种基于颜色衰减先验的去雾方法,创建雾图景深线性模型,可较好地恢复深度信息,但其大气消光系数的选择对近、远景去雾存在差异,因此自适应性和泛化性不足。Ju 等人提出一种基于伽马校正先验(Gamma Correction Prior,GCP)的去雾方法,基于“全局”策略,获取一个未知常量即可还原图像,减小了计算成本。刘海波等人结合这2类方法提出了一种暗通道先验和Retinex 算法的结合方法。第3类是基于学习的去雾算法,卷积神经网络(Convolutional Neural Networks,CNN)被应用于图像去雾领域。Li 等人于2017年提出了一种一体化去雾网络(All-in-One Dehazing Network,AOD-Net),这是一种端到端的去雾模型,在统一模型中进行计算,省去了中间的参数估计,可直接从有雾图像复原清晰图。Cai 等人提出了可训练的端到端系统(Dehaze-Net)。基于学习的去雾算法具有效率高的特点,但由于缺乏真实的训练数据或者先验参数,一定程度上限制了其去雾性能。不同于静止的房屋或其他参照物,道路环境复杂多变,无法获得准确且通用的训练集,因此,基于学习的去雾算法还有很大发展空间。
对比验证结果表明,基于大气散射模型的去雾算法在道路环境去雾方面表现最好。因此,本文基于大气散射模型和暗通道先验方法,优化大气散射模型参数计算,并结合限制对比度自适应直方图均衡(Contrast Limited Adaptive Histogram Equalization,CLAHE)提高图像去雾质量,缩短算法处理时间,实现视频图像快速实时去雾。
2 动态大气光视频去雾算法
2.1 动态大气光去雾算法
本文将基于大气散射模型的最小滤波技术与CLAHE 相结合,对密集视频帧进行除雾。考虑到车辆行驶过程中,大气光照在短时间内不会明显变化,设定基于大气散射模型的连续图像去雾算法,可在一定帧数间隔内动态估计大气光值,从而大幅缩短处理时间,且不影响无雾图像的合成。本文设置大气光值的估计间隔为每600 帧一次,即在30 帧/s 的条件下,每20 s 计算一次,可根据不同环境条件调整计算间隔。再依次进行透射图估计和无雾场景的恢复,然后对所有帧进行CLAHE 去雾,提高图像的对比度和亮度,改善图像质量。算法流程如图1所示。
图1 动态大气光去雾算法流程
根据我国对雾的等级划分标准,道路雾等级能见度如表1所示。
表1 道路雾等级能见度
本文针对轻雾、雾、大雾天气道路的图像进行去雾处理,对于浓雾和强浓雾道路,车辆应该尽量避免在此条件下行驶。为了实现对帧的增强,需要对视频帧进行提取。实时采集的视频帧速率为30 帧/s,实时的帧提取过程使所有帧处于待处理状态。此过程连续进行,当前提取的帧立即发送处理,1/30 s 后提取下一帧,并输出已处理帧,以此类推。
2.2 去雾先验理论
He 等通过对大量图片进行观察,发现在绝大多数非天空的局部区域里,某些像素总在至少1个RGB颜色通道具有很低的值,即该区域光强度的最小值接近于0,此即暗原色先验理论。求得每个像素RGB分量的最小值,将该值存入一幅与原始图像()大小相同的灰度图中,再对该灰度图进行最小值滤波:
本文设置()根据图像像素总和的大小取值,设图像分辨率为×,则()为:
2.3 动态的大气光估计
在计算机视觉和计算机图形中,大气散射模型被广泛应用于定义有雾图像帧()的基本结构:
式中,()为去雾后的输出图像;为大气光值;()为透射率;()()为直接衰减项;[1-()]为大气光照强度值,代表自然光在空气介质的作用下所受到的光强影响。
空气介质相同且均布的情况下,()可定义为:
式中,为大气散射系数,天空绝对清晰时,=0,否则>0;()为摄像机与被拍摄物体间的距离,即图像深度。
根据式(3)可得:
在暗通道图中取最亮的前0.1%像素,于这些像素位置处,在原始有雾图像()中找到相应位置具有最高亮度点的值,作为大气光值:
2.4 基于引导滤波的透射图估计
大气光值已知时,对式(3)进行变换可得:
式中,J为所求的无雾图像。
根据前文暗原色先验理论,有:
由此可以推导出:
式中,为手动设置的去雾系数。
2.5 无雾图像复原
利用计算出的大气光值和透射率()便可以进行无雾图像的恢复,由式(3)可得所求的无雾图像为:
试验结果表明,使用暗通道先验100%去雾后,天空区域往往会出现较大面积的纹理、分块以及光晕等问题。对此,本文优化了式(10)中去雾系数的取值范围(=0.55~0.85,本文经过对200 余幅图像试验对比所得),保留一定的雾。经验证,在所取范围时能有效规避上述问题,同时也有利于感受景深存在,避免图像失真,以便下一步增强处理。
2.6 CLAHE进一步去雾增强
虽然经过复原后的图像已经变得相对清晰,但是仍保留了一定的雾,且图像还存在对比度不足、暗淡等缺点,因此本文对图像进行进一步去雾增强,突出其特征和细节。直方图均衡化(Histogram Equalization,HE)是一种根据色彩通道的值对像素进行分散以获得更好的图像对比度的处理技术,可以进行图像薄雾的去除并提升图像的对比度和亮度。本文为了突出道路特征,提高图像的局部对比度,采用自适应直方图均衡,即将图像分成若干块,分块进行HE处理。同时,为防止对比度调整过大造成图像失真,对局部对比度进行限制,设置ClipLimit颜色对比度阈值,即限制对比度自适应直方图均衡(CLAHE)。直方图表示帧中每个不同色调值的所有像素的分布,图2所示为图片经直方图均衡化前、后的对比结果。
图2 直方图均衡化前、后对比
3 结果验证与分析
驾驶系统需要实时了解路况,因此必须同时控制去雾质量和运行时间。本文算法集成了暗通道先验和直方图均衡去雾,对拍摄的雾天道路视频进行试验,并将去雾增强效果和平均运行时间与其他算法进行对比。试验均在CPU为Intel(R)Core i5-10210U@1.60 GHz,运行内存8 GB的计算机上完成,运行系统为Windows 10,开发语言为Python,开发平台为Pycharm。试验参数设置:最小值滤波器半径为7;引导滤波器的窗口大小为81;对比多幅图像处理结果后,选择去雾系数=0.75;CLAHE颜色对比度阈值为2.0,像素均衡化网格大小为(8,8);除外其余参数均根据已有经验取值。另外,本文在验证去雾算法时采用的图片均为实际雾天道路图片。
3.1 去雾增强效果对比
为验证本文算法对图像的去雾和特征增强效果,选用带色彩恢复的多尺度Retinex(Multi-Scale Retinex with Color Restoration,MSRCR)算法、暗原 色先验(Dark Channel Prior,DCP)算法、颜色衰减先验(Color Attenuation Prior,CAP)算法、进行对比。图3和图4所示为分别为雾天道路1和道路2图像的去雾对比效果。所列算法结果均在相同硬件条件下运行所得,仅进行算法比较。
图3 道路1不同算法去雾效果对比
图4 道路2不同算法去雾效果对比
由图3 和图4 对比可知:MSRCR 算法色彩恢复过度,导致物体失去原本色彩,且去雾效果较差,道路特征不突出;DCP 算法去雾后图像整体较暗,细节纹理不够清晰,且存在大片天空区域时会出现光晕;CAP 算法虽然能快速去雾,但去雾效果不够明显,无法凸显道路信息;本文算法综合去雾、图像亮度和对比度效果最优,不仅能很好地恢复图像色彩,还突出了道路特征。
3.2 去雾增强结果客观评价
由于道路环境复杂多变,无法获取无雾条件下某位置的标准图像,因此图像评价的全参考(如峰值信噪比)指标不适用。本文采用无参考的客观评价指标进行验证,表2所示为本文算法与其他几种常见算法的对比结果。
表2 图像去雾后客观评价指标对比
相关研究发现,图像灰度均值在120~200 范围内、灰度标准差在35~80范围内视觉效果最佳。灰度均值可以表征图像的亮度,其值越大,亮度越高,反之越小。标准差可以表示图像像素值与均值的离散程度,标准差越大说明图像的质量越好。平均梯度反映了图像的清晰度和纹理变化,平均梯度越大说明图像越清晰,提供的信息也更多。彩色图像信息熵用来表示图像包含信息量大小,其值越大,表明图像细节越丰富,质量越好,信息熵越高,图像能提供的道路信息越丰富。
由表2可知,本文算法相较原图和DCP算法处理结果,图像均值处在更优区间。标准差、信息熵、平均梯度均高于原图和其他3 种算法处理结果。这些客观评价指标结果表明,本文算法具有明显优势。
3.3 视频去雾增强时间对比
对于实时去雾,单帧图像的处理在保证一定质量的同时,处理时间应尽量缩短。本算法以600帧的间隔估算大气光值,可节省大量处理时间。针对不同分辨率大小的图像构成的视频,平均每帧的处理时间对比如图5所示。
由图5 可知,在已有的试验条件下,不同分辨率大小图像每帧的处理时间主要集中在25~300 ms范围内,随着试验设备优化,图像处理时间将进一步减小。与其他几种常见单图像去雾算法在2 种分辨率下处理视频的平均耗时如表3所示,可以发现本文算法具有较明显的优势。DCP 和CAP 方法与本文算法时间较接近,但仍需多耗费2~4倍的时间。
表3 不同算法运行时间对比
图5 不同分辨率大小图像每帧的处理时间
3.4 能见度提升效果
对雾天道路视频进行实时去雾处理,视觉对比效果如图6所示。图像边缘强度能够反映能见度大小,因此在对图像基于暗通道先验半去雾和CLAHE进一步去雾增强后进行边缘强度的对比,验证去雾效果。
图6 去雾前、后边缘强度对比
利用Canny 边缘检测算子检测得到去雾前、后道路图像的边缘图。边缘是图像最基本的特征,是图像不同属性区域的交界处,即区域属性发生突变处,也是图像信息最集中的位置。边缘强度特征是进行目标检测或者图像分类的基本特征。图6 中去雾前的道路图像边缘信息仅包含视野前方的斑马线,处理后的图像则包含了路口对面的斑马线,且房屋树木都更加显现。计算Sobel 算子边缘检测的幅值,去雾前为15.582 2,半去雾后为31.690 7,CLAHE 进一步去雾后为49.656 5,总体效果边缘强度提升2倍以上。结果表明,暗通道先验去雾后边缘强度已较大幅度提高,增加CLAHE 处理后效果更好。由对比结果可知,本文算法去雾后的图像能够提供更多的边缘信息,大幅提升能见度,为车道线和其他道路信息提取创造可能。
4 结束语
本文将基于暗通道先验的去雾方法应用到道路视频去雾,通过改变大气光值的计算方法优化去雾系数,同时结合限制对比度自适应直方图均衡算法,进一步去雾并突出道路特征。经试验验证,在保证去雾质量的同时,去雾速度对比传统算法有较大优势。结果表明:
a.本文算法在亮度、对比度、清晰程度和色彩还原方面相较传统去雾算法有一定提升。
b.无参考客观评价指标图像均值、标准差、信息熵,尤其是平均梯度等方面较所列传统算法无劣势。
c.平均每帧去雾时间相对不同算法均有较大优势,处理速度提升了2~10倍。
d.在现有硬件下,对像素较小图像可以实现30帧/s的最佳视觉处理。
e.边缘强度提升近2 倍,有效提升了雾天道路能见度。
相比很多去雾方法只针对合成雾图,本文试验均使用真实的雾天图片,具有很好的实际意义。所提出的方法可以在最短的时间内提供清晰的实时无雾图像输出,但同时存在一定的问题,如进出隧道时场景频繁转换,大气光值并不会较为理想地无明显变化,因此后续还需要针对这一问题进行优化。