AI学习者 · 2023年12月19日

狂风暴雨依旧YOLO | 全新数据集,全新任务,促进极端降雨条件下目标检测的优化和发展

image.png

最近,随着自动驾驶车辆 Level 4和5的许多研究已经实现,对感知、决策和控制技术的进步也越来越感兴趣,这是自动驾驶车辆的三个主要方面。关于感知技术实现自动驾驶车辆的可靠转向,使用各种传感器(如LiDAR、雷达和相机)进行目标检测应予以优先考虑。这些传感器需要在不同天气条件下准确、快速地检测物体,但在雨、雪或雾等恶劣天气条件下持续检测物体的能力存在挑战。

因此,在本研究中,基于降水条件实验获得的雨滴数据,作者构建了一个新颖的数据集,该数据集可以通过CARLA模拟器在各种降水条件下测试各种网络模型。因此,基于新数据集,YOLO系列被用于定量验证在各种降水条件下,从正常到极端大雨情况,目标检测性能可能降低的程度。

I Introduction

近年来,得益于各种深度学习技术和传感器的开发,自动驾驶等级可以快速提升到4或5级。 随着自动驾驶技术等级的显著提高,自动驾驶在大多数道路上成为可能,尤其是在复杂的城市、弯道和巷道,使应对意外情况变得更加容易。

然而,尽管自动驾驶技术向等级4或更高水平发展,在恶劣天气条件如雨、雪和雾下,仍需要驾驶员的干预才能实现自动驾驶。

image.png

具体来说,为了在恶劣天气条件下(如雨、雪、雾等)成功执行自主驾驶中的路径规划和跟踪控制,通过各种传感器(如激光雷达、雷达和相机)准确识别周围环境至关重要。然而,如图1所示,在恶劣天气条件下的基于相机的目标检测性能(如大雨)可能比正常条件下的性能更加恶化。与雷达和激光雷达分别使用超声波和激光不同,相机传感器通过可见光接收数据,雨水、雪花和雾气会间接遮挡相机传感器。

此外,靠近相机的小雨滴或雪花可能会因焦距问题使图像背景模糊,而不仅仅是遮蔽物体。尽管与激光雷达和雷达等其他传感器相比,相机传感器的价格低廉且易于使用,但它在面对恶劣天气条件时具有至关的缺点。

为了解决这些问题,许多研究行人通过使用深度学习网络在恶劣天气条件下提高相机目标检测性能。因此,基于深度学习的方法已经进行了两项重大研究来解决这些问题。

首先,他们投入大量精力开发一个能够在恶劣天气条件下从视频中和图像中去除噪声的模型。然后,这个能够从噪声图像中获取清晰图像的模型在雨条件下的目标检测性能方面取得了良好的效果。例如,DerainNet 通过在图像细节层训练网络,有效地在单张图像上进行了去雨处理。在其他国家的研究中,RESCAN被提出,并在本研究中,根据强度和透明度使用不同alpha值仔细分析噪声图像,以从原始图像中去除雨。此外,PreNet设计了一个逐步的ResNet,并多次部署通用ResNet,在合成和真实雨天图像上都表现良好。

此外,Restormer通过多头自注意力机制和生成前向网络,提出了一个高效的Transformer模型,并因此在Test1200数据集上达到了最先进的状态,在雨条件下的去雨和去雾图像中达到了33.19 PSNR的高精度。然而,这种方法在实际环境中的关键缺点是,由于模型非常庞大且使用速度慢,在需要实时检测目标的自动驾驶汽车中难以使用。

第二,研究行人已经进行了针对实时目标检测器(如YOLO和Faster-RCNN)在合成图像上进行训练的研究,以便它们能够在嘈杂的环境中快速检测物体。然而,这些方法严重依赖于用于学习的数据集,使其难以应用于未在数据集中看到的新环境,而且在收集适当的数据集方面也面临着成本和时间的困难。例如,从10mm/h降水情况下的图像或合成图像学习的模型,在面临大于10mm/h降水情况的模型时,能够揭示低精度。因此,它们也面临着数据密集的问题,因为它们没有太多访问超过10mm/h的降水情况。

因此,为了解决难以获取真实世界数据的数据不足问题,可以使用深度学习技术(如GAN)在真实图像中创建真实数据。一些研究通过数学计算雨滴数量和Gaussian滤波器来创建合成图像上的雨。此外,通过在真实图像中合成雨滴,模拟到实际的研究正在开展,以通过创建数据集或使用模拟环境模型的数据学习深度学习模型,将其应用于真实世界。

此外,根据本研究,通过获取CARLA的动态图像进行车道识别的模拟到实际域适应成功地完成。因此,像CARLA这样的虚拟环境已经被一些研究行人使用,并在恶劣天气条件下获得了高可靠性。

image.png

以前的研究中存在的一个关键问题是,观察到的或合成的降水量被固定为特定值,或者没有充分解释。因此,由于雨,物体的检测性能会降低,但降水量降低性能的程度还没有被定量研究。针对当前物体的检测问题和虚拟模拟的因素,本文旨在根据不同的降水量对现有基于深度学习的实时目标检测器(即Yolo-series)进行评估,使用CARLA环境和如图2所示的公路驾驶情况下的合成雨图像。

因此,本文有以下原始贡献。

  1. 基于预训练的深度学习模型(如YOLOv4、YOLOv5和YOLOv7)通过coco数据集,作者建议通过使用无降水条件的KITTI数据集来比较测试结果,以确保本研究中构建的新虚拟数据集的可靠性。
  2. 使用各种降水量,基于降水实验数据,作者详细比较并验证了在CARLA环境下的虚拟降水条件下,深度学习实时目标检测算法(YOLOv4、YOLOv5、YOLOv7)对于自动驾驶的性能降低了多少。
  3. 此外,还讨论并提出了各种网络模型开发方法,以提高在各种降水条件下基于深度学习的目标检测性能。

II Related Work

Real Time Object Detect Model

YOLO和Faster-RCNN已被研究作为实时目标检测模型。Faster-RCNN是一种两阶段检测器模型,具有良好的速度和性能,而YOLO是一种一阶段检测器模型,速度比性能更好。因此,YOLO在提高准确性方向上发展,而Faster-RCNN在提高推理速度方向上发展。然后,在YOLO的情况下,使用可训练的袋子无用,YOLOv7-E6E记录了56.8个BoxAP和36 FPS,YOLOv7x出色地实现了53.1个BoxAP和114 FPS。因此,这些模型成功地实现了当前实时目标检测技术的最先进水平。然而,在以前的工作中,YOLOv4达到了43个BoxAP和31 FPS,YOLOv5x实现了47.3个BoxAP和153 FPS。

Object Detection in Bad Weather Conditions

自动驾驶车辆在恶劣天气条件下的目标检测方法也在各种方式下进行研究。例如,Hnewa等人测试了Bdd100k数据集中现有目标检测模型的性能,以及DerainNet和PreNet等去雨技术。然而,当这些去雨方法应用于实际驾驶环境时,它们的表现是不够的。因此,已经进行了通过新的域适应模型来提高恶劣天气环境下目标检测性能的研究,或者通过使推理图像更清晰、更锐利来改进图像,或者通过数据增强和集成方法来提高目标检测性能的研究。

一些研究行人通过比较清晰的天气和下雨天气,使用通用YOLO模型进行了研究。Abdulghani等人使用原本是两阶段检测器的Fast-RCNN,在恶劣天气条件下进行了一阶段检测器性能的比较研究。根据这项研究,与Faster-RCNN相比,YOLOv4在目标检测性能方面有显著的提升。

Rain Synthetic Dataset Obtained from Real World

对于本研究中在恶劣天气条件下的目标检测性能非常高保真度,CARLA模拟器中默认天气的测试精度应与现实世界的精度相似,模拟中的雨的条件也应与现实世界的具体降水量相似。为此,根据以前的研究[30],对于来自真实实验的实时降水图像,使用四种实际降水情况(例如10mm/h、15mm/h、25mm/h、30mm/h)来验证模拟降水 Level 。此外,使用结构相似性指数测量(SSIM)和峰值信噪比(PSNR)(如方程(1)和(2)所示)来调查合成降水 Level 数据的保真度。

SSIM和PSNR分别如下(1)和(2)。

image.png

在这里,和方向上的平均强度分别记作和,这对于亮度比较是必需的。同时,和方向上的标准差分别记作和,这对于对比度比较是必需的。是相关系数。MAXI是图像的最大可能值。MSE是均方误差。

根据[31],PSNR和SSIM为人们判断具有实际物理意义的图像相似结构提供了基础。因此,每个值越高,与原始图像的相似度越高。

根据研究[30],图像以每单位10增加的方式随机喷洒了10到5000个雨滴,并确认了在公式(3)和(4)中满足以下条件的雨滴数量,以便与实际雨图像进行PSNR和SSIM比较。在本研究中,通过这个实验,得到了实际降水率下,雨滴数量与降水量之间的线性关系。

image.png

因此,为了创建一个类似于实际降水环境的合成图像,应该喷洒图3中显示的雨滴数量,并且雨滴数量和降水率之间的相关性可以表示为图4所示。

image.png

此外,当得到满足公式(3)和(4)的雨滴数量的范围时,它可以表示为以下方程(5)。

image.png

其中,表示降雨率,单位为毫米/小时,表示图像中的雨滴数量。

III Data Preparation and Detection via CARLA

CARLA Rain Synthetic Image Preparation

可以从KITTI或Bdd100k等数据集中获取一般无雨的数据集。在Bdd100k的情况下,除了一般情况外,还记录了多云天气、雨天和雾天等各种天气条件。

在本研究中,作者试图通过CARLA模拟来收集评估数据,因为使用现有数据集或从10mm/h到100mm/h的降水情况中收集数据具有困难。为了获得测试数据,作者使用了CARLA默认地图Town04,如图5所示。

image.png

并且,作者在图6中展示了收集到的目标,如车辆、自行车、行人和摩托车等。

image.png

在CARLA环境中,自动驾驶车辆以直线行驶20秒,并在行驶过程中通过提出的情境记录图像。地图上的总目标数量显示在表I中。从CARLA自动驾驶车辆上安装的RGB相机传感器获得的RGB图像(800,600,3)被传输到Rviz,然后通过CARLA-ros-bridge合成雨图像。

最后,得到了两个视频文件:一个是作为比较组的通用驾驶视频,另一个是作为实验组的合成雨视频。合成雨图像使用的公式见方程(5)。同时,通过将降雨率从0 mm/h变化到100 mm/h,以10 mm/h为单位记录驾驶场景。最后,通过使用11个视频,作者得到了不同降雨率下合成雨图像的结果,如图7所示。

image.png

Object Detection

在将视频按照降雨率切割成帧后,作者最终得到了每个视频200张图像。对于用于测试数据集的这些图像,作者进行了实例的 GT 标记。此时,表I中显示了整个目标实例的数量。

image.png

根据这项研究,YOLO被选择为在各种降水条件下进行目标检测的模型,因为在恶劣天气条件下,与两阶段检测器Faster-RCNN相比,YOLO模型在单阶段检测器YOLOv4和YOLOv3上的性能记录很高。YOLOv7x、YOLOv5x和YOLOv4被用于评估,并通过COCO数据集预训练了YOLO系列的所有权重。测试采用32批大小。

此外,为了获得虚拟数据集的可靠性,作者还测试了KITTI数据集,该数据集用于与Car和Person进行比较。对于准备好的测试数据集,作者试图根据不同的降雨率比较F1分数和AP分数,并预计随着降雨率的增加,分数会逐渐降低。

IV Experiment Results

Comparison KITTI and CARLA Dataset

20秒的驾驶视频被切分为总共200张图像,包括838辆汽车,350人,67辆自行车和10辆摩托车实例。KITTI数据集包括7483张图像,包括4493名行人,2874辆汽车实例。

使用CARLA默认地图的常规天气和从10mm/h到100mm/h的降雨率图像,测试了YOLOv7x、YOLOv5x和YOLOv4在11种天气环境下的表现。

为了评估虚拟环境中实验的可靠性,作者将每个目标检测模型在KITTI道路驾驶数据集上进行测试。表II显示了KITTI的AP分数,F1分数和CARLA默认天气的比较结果。

image.png

平均而言,与KITTI数据集相比,汽车AP分数降低了0.152,而人的AP分数提高了0.183。考虑到CARLA数据集的域和天气与KITTI不同,天气为多云而不是晴朗,作者确定作者的数据在评估目标检测模型方面具有足够的可靠性。

Result According to Precipitation

根据降水情况显示的RGB图像如图4所示。在标记了汽车、人、自行车和摩托车后,作者在CARLA数据集上测试了提到的模型,并显示了汽车的结果如图8和图9所示。

image.png

红色线是YOLOv7x,绿色线是YOLOv5x,蓝色线是YOLOv4。在这个图中,随着标准正常天气中降水量增加10mm/h,AP分数和F1分数逐渐降低。例如,Yolov7x在正常情况下记录了0.669的AP分数,在100mm/h情况下记录了0.46的AP分数,性能降低了约31.24%。

对于Yolov5x,性能降低了30.67%,在正常情况下记录了0.652,在100mm/h情况下记录了0.452。最后,在Yolov4的情况下,性能从正常情况的0.64降低到100mm/h情况的0.424,分别降低了33.75%。

Table III和IV详细地显示了随着降水量的增加,AP分数和F1分数逐渐降低。

image.png

具体而言,对于人,AP分数至少降低了30.23%,最高降低了42.14%,F1分数也至少降低了21.76%,最高降低了34.95%。对于自行车,AP分数从至少24.47%降低了25.96%,F1分数从至少24.08%降低了39.19%。

最后,在摩托车的情况下,AP分数和F1分数都明显降低了99%或100%。此外,展示了这些实验结果表明,随着降水量的增加,目标检测性能明显降低,如Fig.10和Fig.11所示。

image.png
image.png

尤其是在摩托车的情况下,其性能急剧下降,而其他明显区分颜色的物体相对检测良好。这个结果表明,由于背景和物体颜色非常相似,整个图像只有10个实例,导致检测过程迅速变化,因此检测更为困难。

而在其他三种物体(即汽车、人和自行车)的情况下,除了摩托车外,颜色清晰,背景良好区分,因此在重度降水条件下也能得到合理的结果。

image.png

YOLOv7x在单张图像上的检测结果,如图12所示,在正常情况下,人类和一些车辆的检测表现相当良好,但随着降水量从0mm/h增加到100mm/h,准确率从92%急剧下降到83%和84%到80%。此外,在某些降水条件下,自行车被识别为摩托车,雨滴被检测为人类。

在某些情况下,大雨阻止了先前被识别为车辆的车辆的检测。

V Conclusion

在本文中,作者基于CARLA模拟,使用合成雨图像数据集,对YOLOv7、YOLOv5和YOLOv4在降雨率方面的性能进行了彻底评估。通过比较原始无雨图像的AP分数和基于KITTI数据集的AP分数,得到了相似的性能,从而确保了模拟的可靠性。

此外,为了本研究,作者收集了一个更真实的合成图像,该图像是通过使用实验得到的降雨方程线性外推生成的。结果表明,随着降雨量的增加,目标检测模型的性能显著下降。因此,当降雨量达到100mm/h时,与正常条件相比,性能降低了30%以上。

此外,在本研究中深入调查了基于降水的目标检测性能,这在目前的其他研究中并未明显进行。然而,即使在相同的降水量下,由于风或云的影响,雨的方面也可能发生变化。因此,在未来,为了在实际恶劣天气情况下进行实际的验证,有必要实现一个真实的雨况。

此外,还需要进行各种恶劣天气情况的模拟和评估。例如,需要验证在雪、雾和尘等天气条件下的降雪量和可见距离的目标检测性能。最后,作者计划通过CARLA模拟开发一个从模拟到实际的数据集生产和目标检测网络模型,以便在恶劣天气条件下能够健壮地检测到各种物体。

参考

[1]. Challenges of YOLO-Series for Object Detection in Extremely Heavy Rain: CALRA Simulator-based Synthetic Evaluation Dataset

作者:小书童
文章来源:集智书童

推荐阅读

更多嵌入式AI干货请关注嵌入式AI专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。

推荐阅读
关注数
17744
内容数
1242
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息