钟魁松,冯治国
(550025 贵州省 贵阳市 贵州大学 机械工程学院)
自动驾驶的智能汽车将是21 世纪汽车技术实现新飞跃的重点,作为其重要组成部分的智能传感系统是行驶信息的输入模块,在系统决策过程中扮演着不可或缺的角色,其中基于视觉的传感系统是SLAM、车道线和道路交通标示识别等功能的基础。受环境影响,相机采集到的视觉信息经常出现视野受阻、模糊、暗淡等质量问题,对于后续的信息提取不利,因此对于视觉的信息增强技术也在不断发展。常见的图像质量问题有雨雾天气、低照度和强光等环境因素引起的不清晰。本文将从以上几点对产生原因、解决方法现状展开叙述。单幅图像增强的研究已有众多成果,由于车辆行驶过程中需要考虑所增强视频的实时可见性,因此本文对视频增强也进行了调研。
目前国内外针对单图像去雾的算法可分为3类:(1)基于图像增强的方法;(2)基于图像复原的方法;(3)基于机器学习的方法。
1.1.1 图像增强方法
这类方法是直接在有雾图像基础上进行空域或者频域的变换,增强感兴趣的信息,其核心是尽量去除图像噪声、增强图像的对比度,以恢复出无雾图像[1]。经典算法有直方图均衡化(HLE)、自适应直方图均衡化(AHE)、限制对比度自适应直方图均衡化(CLAHE)、Retinex 算法、小波变换、同态滤波等。
1.1.2 基于图像恢复的方法
这类方法基于如式(1)所示的大气散射模型,利用一定的先验来估计模型中未知参数,将图像恢复成无雾场景下的形状。
式中:I(x)——输入的有雾图像;J(x)——去雾后的输出图像;A——大气光值;t(x)——透射率。其中A 和t(x)即为需要估计的参数。
Tan[2]等提出了一种单幅图像去雾算法,通过最大化恢复图像的局部对比度估计大气光,该算法可自动增强有雾图像的可见性。但是简单的由输入图像最高亮度来估计大气光,会造成严重的颜色失真和一些光晕现象。针对上述问题,He Kaiming[3]等提出了一种基于暗通道先验的方法,利用最小滤波求出暗通道图,按亮度取前0.1%的像素估计光值A。该方法是最经典去雾算法之一,但图像有较大的天空区域、较大的白色区域或浓雾和非均匀雾,该理论将失效。很多学者对此方法进行了改进。Zhu Qingsong[4]等提出了一种基于颜色衰减先验的去雾方法,创建了雾图景深线性模型,可较好恢复深度信息,并通过大气散射模型估算传输率来恢复场景辐射度,实现单图像去雾,但其大气消光系数β的选择,对近远景去雾差异太大,自适应、泛化不足;Ju Mingye[5]等提出了一种基于伽马校正先验(GCP)的去雾方法——IDGCP。基于“全局”策略,获取一个未知常量即可还原图像,较好地减小了处理时间和计算成本。对于道路图像去雾有较好应用前景。实验表明,基于大气散射模型的去雾效果普遍好于基于图像增强的去雾算法。
1.1.3 基于机器学习的方法
近年发展良好的CNN,也被应用到了图像去雾领域。Li B[6]等在2017 年提出了一种一体化去雾网络(AOD-Net),这是一种可以训练的端到端的去雾模型,在一个统一模型中进行计算,省去了中间的参数估计,可直接从有雾图像复原清晰图;Mei K[7]等提出了一种基于渐进特征融合的U-Net编码器/解码器深度学习网络,在合成数据集上,可恢复超高清模糊图像;Cai Bolun[8]等提出了可训练的端到端系统(DehazeNet),采用卷积神经网络深层架构,得到中间透射图,利用大气散射模型复原无雾图像。其双边整流线性单元的激活函数,一定程度提高了复原图像的精确性。基于学习的去雾具有效率高的特点,但由于缺乏真实的训练数据或者先验参数,一定程度限制了其去雾性能。道路环境复杂多变,不同于静止的房屋或其他参照物,无法获得准确且通用的训练集,因此基于学习的去雾对智能驾驶目前尚不够成熟。
国内外学者对视频图像去雾算法研究可分为3类[9]:第1 类基于逐帧处理,对视频的每个帧执行单个图像去雾,属于图像自增强,可最大程度恢复图像细节;第2 类是基于融合的方法,依靠每个视频帧的增强背景图像和前景图像的融合。此类方法可以提高效率,但是雾天条件下,目标前景的提取极易不准确,这会导致邻帧图像色彩或亮度突变,不利道路信息获取;第3 类利用通用分量。它基于对可应用于所有视频帧的通用分量的估计,常见的通用分量有基于背景图像的透射。此法对于目标较多的道路图像,易出现边缘退化和伪影,不利于交通信息提取。
总体看,对每帧执行单图像去雾效果最好,如Retinex 算法和基于暗通道先验的去雾方法,但这些算法耗时较大,如何加快视频实时去雾速度是智能车雾天信息增强的研究重点。
低照度图像增强问题一直是数字图像处理领域的一个热门问题,在光线较弱的的情况下,目标物体表面反射不足,采集到的图像往往存在大量噪声而失真,带来质量下降。智能汽车在一些环境,如光照不足的地下车库、夜间照明较弱和多云天气等不利的条件下。相机获取的图像信息不足,严重影响视觉系统实现算法处理的效果,因此需要对低照度图像进行增强。目前单幅图像低光照增强的算法主要可分为4 类:(1)基于视网膜理论即Retinex;(2)直方图均衡方法;(3)基于伪去雾原理;(4)利用神经网络学习并增强的方法。
2.1.1 Retinex 方法
Retinex 由Edwin H Land 于1963 年提出,基础理论是物体的颜色由物体对光线的反射能力决定,而不由反射光强绝对值来决定,物体的色彩不受光照非均匀性的影响,具有一致性,可消除光照的影响来增强低光照图像,原理见式(1)。
式中:L——入射光;R——反射率;S——接收图像。
在Retinex 的基础上,很多改进算法被提出来,如单尺度Retinex(SSR)、多尺度Retinex(MSR)、多尺度颜色恢复Retinex(MSRCR)和LIME 等经典算法。近期进展有,Li Peng[10]等提出了一种新的基于不同颜色空间中多算法融合的图像增强算法,该算法使用Retinex 模型修改近似的反射率和照度,并考虑给定图像的噪声映射以获得增强图像。此类方法增强了边缘和角点等高频信息,并且可以增强图像的细节。在动态范围压缩、颜色恒定和边缘增强等3 个方面做到平衡,可以对不同类型的图像进行自适应的增强。这类算法不仅能够增强图像的亮度信息,同时可以去除图片中的部分阴影信息,但缺点是容易出现颜色失真和对比度不均匀,且该算法的运算速度太慢,目前不能应用到实时智能汽车驾驶场景中。
2.1.2 直方图均衡化方法
直方图均衡化(HE)变换因其操作简单、易于实现而受到研究者的广泛关注,属于全局增强方法。它重新映射图像的灰度值,使处理图像直方图上的灰度信息均匀分布。如果直方图中出现高峰,图像将过度增强,无法达到预期效果。为了克服这一限制,Dale Jones[11]等提出了局部直方图均衡化(LHE)算法,该算法可以更有效地增强图像的整体对比度。然而,LHE 通常会导致图像的某些部分过度增强,导致不自然的外观。许多研究人员提出了局部增强方法,如Pizer[12]等提出的自适应直方图均衡化(AHE)。在图像增强过程中考虑了局部信息,可以突出细节和纹理,但是AHE 会产生很多噪音。后来,Zuiderveld 提出了一种CLAHE算法[13],基于AHE,CLAHE 对每个子块的直方图进行了限制,很好地控制了AHE 带来的噪声,使图像对比度更加自然。此外,为了克服亮度问题,还有一些基于直方图的改进方法,如保亮度双直方图均衡化(BBHE)和保亮度动态直方图均衡化(BPDHE)。2013 年,Raju A[14]提出了一种改进的双直方图均衡化方法。与传统的直方图均衡化方法相比,该算法能更好地保持图像的亮度。尽管这些方法在输出图像上保留了输入图像的亮度,但它们可能无法生成具有自然外观的图像,常常出现颜色失真和丢失细节等问题。
2.1.3 基于伪去雾原理
基于图像去雾原理,此类方法将低照度图像进行反转,然后通过去雾算法进行增强,其中图像反转即对灰度矩阵进行式(2)操作:
式中:R——反转图像;I——输入图像。
此方法主要是Xuan[15]等于2011 年提出的一种基于低照度视频增强方法,对反转图像进行基于暗原色的去雾操作。该方法在照度方面取得了不错的增强效果,但在复杂场景条件下,很容易出现噪声和块效应,增强效果较差。
2.1.4 基于学习的增强方法
近年,深度学习在图像增强中应用逐渐广泛。与传统的单一图像增强方法不同,深度学习采用数据驱动的方法训练大量不同类型的图像输入模型,使模型具有增强某一类型图像的能力。Lee[16]等使用卷积神经网络对热图像进行增强,并取得了良好的效果;Li T[17]等提出了LLCNN 模型,表明使用深度学习技术进行图像增强是可行的;Wei C[18]等在Retinex 理论基础上,提出了RetinexNet 卷积神经网络模型。该模型分为分解网络和增强网络,前述可知任何图像可分解为反射图和光照图,且反射图由物体本身性质决定,因此图像质量取决于光照图。该模型通过分解网络将图像分解为光照图和反射图,对反射图进行降噪处理,通过一个9 层的神经网络对光照图进行亮度增强,然后重新合成图片。该模型很好地解决了传统Retinex 方法处理时间过长的缺点,可以批量增强低照度图像。然而单分支或简单神经网络无法满足亮度、对比度同时增强和伪影去除、降噪等多功能需求。对此,Lv F[19]等提出一种多分支弱光增强网络模型—MBLLEN,通过CNN 卷积网络将图像丰富的特征提取到不同的层次,使用多个子网进行同时增强,最后将多分支输出结果融合成最终增强图像,实现从多方面提高图像质量的效果,这一点优于很多传统算法。
为了提高图像的视觉效果,不同的学者使用不同的算法进行模型训练,因此经常需要大量的训练模型进行实验,情况多变的驾驶环境需要更大的训练样本,且模型的训练条件仅由损失值来判断,不能保证模型参数得到最佳调整以获得更好的处理结果,因此基于深度学习的低照度图像增强方法仍有很大的改进空间。
低照度视频增强可分为机器学习和非机器学习。在大型的数据集下机器学习方法增强效果很好且处理速度快,但是当缺乏足够训练数据时则表现很差。道路情况多变,常常缺乏足够训练样本。传统的非机器学习方法则不需要训练,小样本的情况下依然增强效果很好,因此很多学者在传统视频增强领域做了大量工作。Soumya[20]等通过融合白天背景图像的信息来进行夜间周围场景的恢复,但视频的视觉效果较差。很多学者提出改进,陆健强[21]等提出了一种改进的暗通道先验模型,并将其与局部平滑和图像高斯金字塔算子相结合。它不仅增强了低照度视频图像的视觉效果,而且有效地增强了图像的边缘。然而基于暗通道的增强,耗时非常大,无法做到车载视频实时增强。李腾飞[22]等提出了一种基于照度调整的自适应低照度视频增强算法,基于Retinex 理论设计了一种新的全变分方程求解照度图,并采用自适应伽马校正调整照度图L 的亮度,得到增强单幅图像,并通过将图像颜色空间由RGB 转换到HSV 后仅处理亮度分量(V)和同一视频参数共享的方式,对视频处理进行加速。虽然能较好地增强和去噪,但处理时间单帧在3 s 以上,计算时间过长。Xuan[15]等提出了一种基于去雾的低光照视频增强方法。在反转图像基础上,利用后续帧之间的时间相关性加快关键参数透射率t(x)的计算,大大提升了视频增强速度。
本文就智能车在不利天气条件下无法准确提取道路信息的问题,研究了现有的解决方法。针对雾天道道路,将图像去雾方法归纳为3 类:图像复原、图像增强和机器学习的方法。其机器学习的方法,处理最快,但对训练集要求较高,因此还有很大上升空间。视频去雾可分为3 类:逐帧处理、基于融合和基于通用分量。逐帧处理效果最好,但是耗时较大。低照度图像增强基于4 类:基于Retinex 理论、直方图均衡、基于伪去雾原理、利用神经网络。基于神经网络的普遍耗时小,但受限于训练样本。传统的增强算法泛华性更强,但耗时大。未来的智能车图像增强,需要基于硬件和算法两方面来改进,提升图像质量的同时,保证实时性。