邓茂林,韩志嵘,刘力萌,韩宇飞,肖 禹,田永林
(1.贵阳学院 机械工程学院,贵州 贵阳 550005;2.南安普顿大学 社会科学学院,英国 南安普顿 SO17 1BJ;3.上海大学 通信与信息工程学院,上海 200444)
目前可见光下基于深度学习的环境感知方法都对输入图像的清晰度要求较高。[1-3]以应用最广泛的目标检测算法为例,一旦出现复杂环境的干扰(如雨幕),会极大地影响感知能力,尤其是远距离的小目标,大部分的纹理和轮廓信息会因环境因素而遮挡,导致错检或漏检。
为解决这个问题,Wang等[4]提出融合可见光摄像头和毫米波雷达的环境感知方法。Caltagirone等[5]选择激光雷达与摄像头结合的方法,这两种设备对异常环境拥有更强的适应能力,但由于其价格高昂,无法使用在广泛的环境中。在只使用摄像头的环境下,Hoang等[6]和Volk等[7]通过数据增强的方法,提出在训练的数据中引入合成的带雨数据集,从训练端改善网络的泛化能力,但这种方法需要新的数据集重新训练和移植模型参数。Zhou等在YOLOV4-Tiny的基础上将基于二次模糊的清晰度算法(ReBlur)和暗通道先验算法相结合后对图像进行处理,再将处理前后的图像用于网络的训练和测试,以克服雨雾天气造成的图像质量下降问题,但这种方法并没有将复原和检测有效结合,并且复原网络的计算量过大,无法实现实时推理[8]。Huang等在目标检测网络中引入特征选择子网络、特征吸收子网络,利用特征吸收子网络中的吸收检查器从特征选择子网络中吸收有益的特征,并将其与目标检测子网络共享,以便更好地学习目标分类和目标定位,但是此方案需要对目标检测算法进行修改,无法兼容多种目标检测网络。[9]
综上所述,基于卷积神经网络,通过引入的分类模块和可见光图像复原模块,提出一个有效、快速的多异常天气目标检测网络(Multiple anomaly weather object detection Network,MawNet)。实现在异常天气下不仅可以实时推理,且能在不修改不移植目标检测模型的条件下,提高检测的性能。另外,本文在RainDS[10]数据集基础上,提出包含矩形框标注和更多异常天气的检测数据集FRainDS,用于验证MawNet在异常天气下拥有在良好环境下相近的检测能力。
本文方案的数据集主要由3个部分组成,分别是用于检测的目标检测数据集,用于训练分类网络和图像复原网络的异常天气数据集,用于最后测试复原后检测效果的专用测试数据集。
采用BDD100k[11]数据集作为目标检测数据集,该数据集涵盖不同时间、不同天气条件(包括晴天、阴天和雨天,以及白天和晚上的不同时间)的驾驶场景。这使得训练的模型能更好地应对多种环境,能进一步验证本文提出的异常天气的环境感知方案优于数据集优化的方案。
另外,为将后文的数据集与BDD100k中的类别统一,BDD100k中的标签按照以下方法处理:公交车和卡车类别归类为大型车;自行车和摩托车归类为两轮车;行人和骑行者类保持不变;信号灯、交通标志和火车类别则被删除。
异常天气数据集本文采用扩展后的RainDS数据集FRainDS。RainDS数据集含有与清晰图像成对的玻璃表面雨滴、雨线以及二者共存的异常天气状况图像,如图1所示。本文在这三种异常天气的情况下,通过数字图像处理的方法,从ground truth上生成雾霾天气,如图1所示。
图1 FRainDS数据集
而测试数据集则不仅需要多种的异常天气,还需要有标注的矩形框标签。本文选择对FRainDS数据集中的测试集部分,使用labelimg软件人工对图像进行标注,最终得到五种不同环境下的测试图片各200张,具体的标签数量如表1所示。
表1 FrainDS数据集标签统计
MawNet网络包括用于检测YOLOv4-tiny[12]网络、图像复原模块APreNet和图像分类模块,如图2所示。
图2 MawNet网络结构
分类模块负责判断当前网络是否处于雨幕环境,若处在雨幕环境下,将输入数据传输至复原模块后再送入检测网络;若处在无干扰环境下,则跳过复原模块,直接将数据输入检测网络,这就大大加快整个网络的推理速度。图像复原模块降低异常天气对图像的干扰,使得目标检测网络能够获得噪声较少的图像。目标检测网络从获得的图像中获取目标的类别与位置,实现环境感知。
本文的分类卷积神经网络模型由3层卷积层、4层池化层、2层全连接层和一层Dropout层构成。假设输入图像为X∈R224×224×3,首先它通过三组卷积和池化结构实现特征的提取和下采样,此时可以得到张量X1∈R5×5×64。再经过一层全局池化后,得到张量X2∈R1×1×64。然后改变其维度得到张量X3∈R64×1。最后通过两个全连接层和一层Dropout层得到张量X4∈R5×1,其中每一层代表输入图像属于该类别的置信度。
图3 分类模块结构
PReNet[13]网络是基于Resnet的残差思想,将5个Resblock级联后形成Resblocks,再将多个Resblocks增加Input模块和Output模块后构成新的Concatblock模块,对该模块迭代6次,并将上一阶段的去雨图像与原始有雨图像作为下一阶段的输入,构成PReNet网络,如图4所示。其中多个Concatblock共用参数,通过多次迭代逐渐去除网络中的雨迹。
图4 PReNet网络结构
由于PReNet网络仅针对雨线网络设计,为适应本文中的多种异常天气,选择将Concatblock之间迭代的方式改为级联,使得不同Concatblock能拥有不同的参数,能适应更复杂的环境。同时将级联次数降低为3次,加快整个网络的推理速度。另外,在Resblock之前加入一个简单的空洞卷积金字塔[14](Atrous Spatial Pyramid,ASP)结构,加大网络的感受野,进一步提升网络的恢复能力。由此得到一个新的图像恢复网络APReNet,如图5所示。
图5 APReNet网络结构
假设输入一个张量X∈RH×W×3,首先会将输入图像与输入图像做拼接操作,形成张量X1∈RH×W×6的张量。经过一层卷积将深度调整为16,得到张量X2∈RH×W×16。张量经过平行的扩张率为7和13的两层空洞卷积,和一层保留原有信息的1×1卷积,得到张量X2-1,X2-2,X2-3,对以上张量拼接后得到X3∈RH×W×48。随后经过一层卷积降低通道数得到张量X4∈RH×W×32,在经过级联的Resblock和输出层后与残差相加后构成完整的ASP-Concatblock模块。对其级联3次后构成完整APReNet网络。
YOLOv4-Tiny是YOLOv4的轻量化版本,相比于YOLOv4,虽然检测精度有所下降,但Tiny网络通过模型压缩的方法大大提高了检测速度。 YOLOv4-tiny 由特征提取网络 (CSPDarknet53-Tiny)、特征金字塔[15](Feature Pyramid Network,FPN)和YOLO检测头(YOLO Head)组成,如图6所示。 CSPDarknet53-Tiny 是 CSPDarknet53 的精简版。FPN结构可以融合不同网络层之间的特征,增强特征提取能力。YOLO Head利用获得的特征信息进行最终预测,若输入尺度为416×416的图片时,检测头输出的特征尺度为13×13和26×26。
图6 YOLOv4-Tiny网络结构
3.1.1评价指标
在本文中,评价指标分为5个部分:对模型状况参数量Parma,计算量Flops和模型的推理时间;对分类网络的分类正确率Pacc;对图像复原网络的峰值信噪比PSNR和结构相似度SSIM[16];对目标检测网络的mAP等表示检测效果的指标;对目标检测能力提升的指标Rr(Recovery rate)。
指标Rr通过目标检测指标中的多个mAP计算得出。考虑到性能下降越多,性能的恢复量会更大,简单的减法并不能公平地表示不同干扰状况下的目标检测性能的恢复能力,因此本文提出了以下算法,如式(1)所示:
(1)
(2)
其中,N为有N种噪声,Rri为第i种噪声检测的恢复率。
3.1.2训练环境与参数
实验中使用的硬件和软件平台配置如表2所示。分类模块和图像复原模块使用本文扩展的FRainDS数据集训练。分类模块训练100个epoch,训练过程中初始学习率设置为0.0003,并在第60和80个epoch对学习率降低为原来的0.1倍;batch size设定为16,采用交叉熵CE作为loss函数。复原模块训练100个epoch,训练过程中初始学习率设置为0.0001,并在第60和80个epoch对学习率降低为原来的0.1倍;batch size设定为8,采用负SSIM作为loss函数。YOLOv4-tiny网络采用修改过类别的BDD100k数据集训练,一共训练200个epoch,初始学习设置为0.0007,学习率策略采用步进策略;batch size设置为24,采用IoU和BCE作为loss函数。
表2 硬件和软件平台配置
3.2.1对比实验
表3 复原模块实验结果
首先,对提出的APReNet复原模块与更改前的PReNet网络在性能和效率上进行对比,如表3所示。从PSNR和SSIM上看,在全部异常天气噪声下,APReNet模块在PSNR指标上已经获得了接近PReNet的复原效果,并且在SSIM指标上实现大幅提升。另外在网络效率上,虽然将ConcatBlock的连接方式从迭代改进为级联并增加了ASP模块,使得参数量增加了3倍,但网络的浮点计算量却从131.0 G下降为75.7 G;同样的,网络的推理时间从50.1 ms下降到34.1 ms。综上所述,本文提出的APReNet网络相较于原始的PReNet网络拥有更好的性能和效率。
表4 目标检测实验结果
其次,对目标检测能力的提升,做了详尽实验,如表4所示。通过使用经过BDD100k训练后的模型,在本文提出的FRainDS数据集上进行测试。在无干扰的情况下实现了17.0%的mAP。当引入雾、雨滴、雨线、雨滴和雨线的干扰后,mAP下降为15.1%、14.8%、11.5%和9.0%;而引入APReNet模块后,mAP分别恢复到16.5%、16.6%、15.4%、13.0%,值也分别达到了73.6%、81.8%、70.9%、50.0%。
3.2.2消融实验
表5 消融实验结果
3.2.3扩展实验
对本文提出的分类模块,也做了完整的实验,如表6所示。本文提出的分类模块极度轻便,拥有极低的参数量、计算量和极短的推理时间,且在类别识别上有94%的正确率。
表6 分类模块实验结果
对于网络整体的推理时间,也进行了测试,如表7所示。在无异常天气下,会跳过复原模块直接进行检测,只需要6.8 ms完成网络全部推理。若存在异常天气,则会增加复原模块的推理时间,总共需要40.9 ms的推理时间。
表7 推理时间
另外,为验证提出的方案不仅限于提升一种目标检测网络,本文提出了以下实验,如表8所示。在Efficientdet[17]、Yolov5-nano[18]、SSD[19]等算法上,通过提出的复原模块使得目标检测能力得到提升。
表8 其他检测算法实验结果
图7(a)为在无干扰图像上的检测结果,可明确地看到基本识别到所有目标。在图像中添加异常天气中的雾霾和玻璃表面雨迹后,会出现少量的漏识别和错识别,如图7(b)所示;随着图像的复原,检测能力基本得到恢复。而添加雨线以及雨线和雨滴混合的噪声后,识别能力大幅度下降,最易识别的正前方车辆也未能正常识别,如图7(h)所示;在经过恢复后,对近距离的大目标实现了检测,同时排除了误识别。
图7 异常天气下目标检测结果
对可见光摄像头的环境感知模块易受异常天气干扰的问题,提出FRainDS异常天气检测数据集和MawNet多异常天气检测网络。通过分类模块,区分多种异常天气状况,为后续图像复原选择不同的模型;通过APReNet,更快更好地获得原始无噪声干扰的图像;最后通过yolov4-tiny快速有效地获得周围环境信息。本文的方案在异常天气下获得69.1%的平均恢复率和24.4的fps,同时由于分类模块的存在,实现了多种不同异常天气的有效识别,以及无异常天气下147的fps。