• 工作总结
  • 工作计划
  • 读后感
  • 发言稿
  • 心得体会
  • 思想汇报
  • 述职报告
  • 作文大全
  • 教学设计
  • 不忘初心
  • 打黑除恶
  • 党课下载
  • 主题教育
  • 谈话记录
  • 申请书
  • 对照材料
  • 自查报告
  • 整改报告
  • 脱贫攻坚
  • 党建材料
  • 观后感
  • 评语
  • 口号
  • 规章制度
  • 事迹材料
  • 策划方案
  • 工作汇报
  • 讲话稿
  • 公文范文
  • 致辞稿
  • 调查报告
  • 学习强国
  • 疫情防控
  • 振兴乡镇
  • 工作要点
  • 治国理政
  • 十九届五中全会
  • 教育整顿
  • 党史学习
  • 建党100周
  • 当前位置: 蜗牛文摘网 > 实用文档 > 公文范文 > 复杂交通场景下自动驾驶道路目标检测

    复杂交通场景下自动驾驶道路目标检测

    时间:2023-02-26 19:05:07 来源:千叶帆 本文已影响

    赵一兵,邢淑勇,刘昌华,李宾,王威淇,王海玮

    1.大连理工大学 汽车学院,辽宁 大连116204

    2.广东交通职业技术学院 运输与经济管理学院,广东 广州 510650

    对于自动驾驶而言,随着目标检测算法研究的不断深入,通用的目标检测算法已经基本能够满足一般交通场景下的目标检测问题。但在复杂交通场景下,存在大量的目标遮挡和小目标检测问题,检测精度难以满足要求。因此解决密集目标遮挡以及小目标检测问题是复杂交通场景下目标检测算法的关键,近年来也成为目标检测领域的研究热点。

    李松江等[1]和Cai等[2]提出了Cascade R-CNN算法,通过4 个阶段的级联分类器调整交并比(intersection overunion,IoU)阈值,减少了检测框的噪声干扰,对遮挡目标和小目标的检测精度有一定的提高;
    陈幻杰等[3]把目标进行分类处理,对于小占比目标,利用反卷积和区域映射操作,在高分辨率特征图上进行特征提取,实现了对小目标的检测;
    李轩等[4]针对遮挡问题提出了一种回归损失函数Occlusion Loss,可以使训练得到的预测框与真实框的匹配程度更高,从而获得更为准确的位置信息,有效解决了目标漏检的情况;
    采用基于回归YOLO 系列算法处理速度快,正确率高,在实际工业部署中得到了广泛应用[5];
    YOLOv2[6-9]、YOLOv3[10]在YOLO 算法的基础上进一步改进,使得检测效果进一步加强。但速度较快的基于回归的检测算法网络结构仍然较大。BOCHKOVSKIY等[11]对近几年来目标检测领域内比较优秀的算法进行移植和对比试验,提出了YOLOv4,对各种目标的检测效果大幅提升。

    本文根据以往研究成果提出改进的YOLOv4目标检测算法,解决复杂交通场景下的常见道路目标检测问题。主要进行了3 个方面的改进:改进非极大值抑制算法,提出Soft-DIoU-NMS,能够返回更准确的目标边界框;
    改进K-means 聚类算法,生成更加准确的候选框;
    改进损失函数,引入焦点损失(focal loss),缓解样本之间的不平衡问题。改进后的YOLOv4 算法能够在保证实时性的情况下,较为准确地检测出复杂交通场景下的遮挡目标和小目标,检测能力较为突出。

    YOLOv4 网络结构主要由主干网络层、特征增强层和分类回归层组成。以输入图像分辨率416×416 为例,首先将图像经过CSPDarknet53 主干网络进行特征提取,然后先后通过SPP[12]和PANet[13]特征金字塔结构进行特征增强和融合处理,最终得到52×52、26×26 和13×13 这3 种不同分辨率的特征图,最后通过分类回归层得到最终的检测结果。

    YOLOv4 的主干网络是Darknet53,其在YOLOv3[14]主干网络Darknet53 的基础上添加了跨阶段初等网络(cross stage paritial network,CSPNet)[15]。CSPNet 主要解决的是网络在优化过程中梯度信息重复引起的计算量过大的问题。CSPNet 先将基础层的特征映射划分为2 部分:一部分进行残差连接缓解梯度爆炸和过拟合问题,另一部分跳跃连接减少计算;
    然后通过跨阶段层次结构将它们合并,在保证准确率的同时减少了计算量,加快了训练速度。

    在目标检测领域,为了更好地提取融合特征,通常在主干网络和输出层之间插入特征增强层,主要用于特征提取增强以及不同特征层之间的融合。YOLOv4 的特征增强层主要采用了SPP 模块和PANet 模块。在SPP 模块中,主干网络的输出经过4 种不同尺度的最大池化(max pooling)操作,然后再将不同尺度的特征图进行拼接。SPP模块可以将不同分辨率的图像生成固定尺寸的图像,很大程度上增加感受野,分离出最显著的上下文特征,起到特征增强的作用;
    PANet 模块对特征反复提取与融合,主要包含FPN 和PAN 这2 个子模块。PANet 通过2 次特征金字塔操作,将FPN 传达的强语义信息与PAN 传达的强定位特征在对应的检测层上进行特征融合,可以在浅层网络和深层网络同时获取精准的定位信息和丰富的语义信息,提高小目标的检测能力和目标定位精度。

    2.1 非极大值抑制算法改进

    非极大值抑制(non-maximum suppression,NMS)算法是一种广泛应用于计算机视觉领域的后处理算法,其本质思想是搜索局部最大值,抑制非极大值[16]。传统NMS 算法核心的思想是通过迭代的方式,每当置信度得分最高的基准框M与预测框bi的IoU 值大于或等于阈值Nt时,直接将bi的置信度si置0,即直接过滤掉这些预测框。传统NMS 的置信度重置公式为

    传统NMS 在一般情况下效果良好,但难以解决遮挡较为严重的问题。由于目标之间互相遮挡,检测器产生的预测框排列十分紧密,传统NMS 无法区分某个预测框隶属于哪个目标,使得本应属于另一个目标的预测框在算法中超过阈值而被抑制掉,最终导致漏检的情况。为此本文提出一种新的非极大值抑制算法Soft-DIoU-NMS,使用DIoU[17]作为距离的评判指标,并采用高斯衰减策略,其置信度重置公式为

    2.2 K-means 聚类算法改进

    K-means 聚类作为生成先验框的重要算法对于先验框的准确性产生了重要的影响,距离度量作为数据之间的聚类依据,直接决定着最终的聚类结果。适当增大距离值可以缓解局部最优解的问题,提高生成先验框的准确率。本文为缓解局部最优问题,对聚类距离度量进行修改。修改前的距离度量公式为

    式中:b为聚类的样本框,c为聚类中心。

    修改后的距离度量公式为

    K-means 聚类改变前后距离度量随IoU 值改变的对比图如图1 所示。由图1 可知,实线为修改后的曲线,修改之后的距离度量函数值在IoU 值域内总大于改变之前,这表明优化之后的距离度量的确可以放大IoU 对距离的影响,提高聚类准确率。

    图1 改变前后距离度量函数曲线对比

    2.3 损失函数改进

    在训练目标检测模型的时候,损失函数作为样本评判的重要依据,很大程度上决定了模型最终收敛的效果。在YOLOv4 算法中,损失函数由回归损失函数、分类损失函数以及置信度损失函数组成。其中回归损失采用CIoU Loss 函数,分类损失函数和置信度损失函数均采用交叉熵损失函数,具体表示为

    目前基于anchor 的目标检测算法在检测过程中产生大量的预测框样本,但其中只有小部分包含目标正样本,绝大多数预测框只包含背景负样本,正负样本数量相差悬殊。正样本一般情况下是易分类样本,这直接导致了容易分类的正样本占据了样本中的绝大多数,造成了严重的样本不均衡问题。

    为解决复杂交通场景下目标相互遮挡且存在大量小目标,一定程度上会加剧样本不均衡的问题,本文引入焦点损失函数[18]代替交叉熵损失函数,焦点损失函数的表达式为

    式中:a为类别权重因子,γ为调制因子。

    改进后的YOLOv4 损失函数为

    3.1 实验环境及数据集处理

    本文在训练过程中涉及到大量的图片处理和计算过程,需要一定的软硬件要求,具体的软硬件环境如下。操作系统:Windows10 专业版;
    CPU:Inter i7-8 700 3.20GHz;
    GPU:NVIDIA GTX 1080Ti;
    内存:32GB 内存,16GB 显存;
    编程语言:Python3.6;
    CUDA:Cuda10.0;
    Cudnn:Cudnn7.4;
    深度学习框架:tensorflow、keras。

    本次实验选取的通用数据集包括PASCAL VOC2007、MS COCO2017 和KITTI 自动驾驶数据集,为适应本文对复杂交通场景下常见道路目标的检测,需对这3 种数据集标注信息进行处理,去除多余的标注信息并将剩下的数据集标签改为“vehicle”、“person”、“bicycle”、“motorbike”。此外,针对复杂交通场景,本文手动标注了复杂交通场景(complex traffic scene,CTS)数据集,CTS数据集含有更多的遮挡目标和小目标,可以提高模型对复杂交通场景下目标的检测能力。实验选用的训练集是本文提出的CTS 数据集和KITTI 目标检测数据集,各交通场景下每张图片最多包含40 个目标,包含较多的遮挡目标和小目标。实验数据集共包含14 797 张图片,按8∶1∶1 的比例将数据集分为训练集、测试集和验证集,得到训练集图片11 839 张,测试集和验证集图片各1 479 张。

    3.2 训练策略

    本文实验使用深度学习框架tensorflow-gpu 1.13.1 和Keras 2.1.5 对改进前后的YOLOv4 算法进行训练。训练时,初始阶段图片批量大小设置为32,即一次性加载32 张图片进入内存,初始学习率设为0.001,采用自适应矩估计(Adam)优化器优化模型,迭代5 000 次之后,图片批量大小改为8,使用keras 中的“ReduceLROnPlateau”函数对学习率进行衰减。关注模型的性能,当迭代3 次而模型性能不提升时,后一次训练的学习率变为原来的0.9,同时使用“EarlyStopping”函数对验证集损失进行监控,当迭代3 次而模型性能不提升时,停止训练,加快训练速度。

    3.3 实验结果与分析

    3.3.1 遮挡目标检测实例

    复杂交通场景之下目标之间相互遮挡,原始算法存在漏检问题。如图2 近处较为密集致使目标之间存在一定的遮挡,原始YOLOv4 算法结果如图2(a)所示,近处5 辆汽车仅仅检测出了3 辆,对于后面遮挡较为严重的2 辆汽车出现了目标漏检问题,严重影响检测结果。改进后的YOLOv4算法检测结果如图2(b)所示,算法可以返回更为准确的目标边界框,能够很好地检测出被遮挡的汽车目标,检测更为准确。

    图2 算法改进前后遮挡目标检测实例

    3.3.2 小目标检测实例

    为了比较直观地显示算法对小目标的检测能力,实验选取汽车行车记录仪摄像头视频,分别使用修改前后的YOLOv4 算法进行复杂交通目标检测,该视频共456 帧,每隔150 帧记录一次检测结果。图3 展示了YOLOv4 改进前后对该视频流的部分检测效果对比图。

    图3 改进前后YOLOv4 算法对视频流的检测效果

    由图3 可以看出,在第151 帧图像中,图像右侧区域存在多个小目标和密集目标,改进之前的YOLOv4 算法对此区域出现了大量的漏检情况,改进之后的YOLOv4 算法就不会出现目标漏检的问题。在第301 帧图像中,目标受遮挡程度不大且较为明显,改进前后的算法均能够成功检测出所有目标,但改进之后的YOLOv4 算法的检测置信度明显更高,检测性能更好。以图中局部放大行人目标和汽车目标为例,改进后的行人目标置信度提升到0.85,汽车目标置信度提升到0.99,与改进前相比分别提升了0.44 和0.09。在第451 帧图像中,图像左侧存在3 个小目标且较为模糊,改进之前的YOLOv4 算法漏检了这些目标,而改进之后的YOLOv4 算法则有效地将这些小目标检测出来。由检测结果可知,改进之后的YOLOv4 算法不仅提升了检测目标的置信度,也检测出了之前漏检的目标,检测能力明显提升。

    3.3.3 算法综合检测能力对比实验

    为了实验改进前后YOLOv4 算法对于多类别的综合检测能力,本小节分别在CTS、VOC2007、COCO2017 以及KITTI 数据集中通过各类别的平均精度均值(mean average precision,mAP)对算法进行评估。实验过程中,置信度阈值取0.5,非极大值抑制阈值取0.3。

    图4 给出了YOLOv4 算法改进前后不同数据集上对于常见道路目标检测的平均精度变化情况。在本文提出的CTS 数据集上,mAP 值从改进前的85.15%提升到89.91%;
    在较为简单的VOC-2007 数据集上,检测精确率能够达到更高的水平,YOLOv4 算法在改进前mAP 值为88.90%,改进后达到了91.16%;
    在较为复杂的COCO2017 数据集上,检测精确率与CTS 数据集相比下降不多,YOLOv4 改进前的mAP 值为81.50%,改进后提升到84.16%;
    在自动驾驶交通场景数据集KITTI 上,检测能力也较为突出,YOLOv4 改进前后mAP 值从86.17%提升到88.53%。这些实验结果表明,改进后的YOLOv4 算法对小目标和遮挡目标检测效果不佳、漏检率较高的问题具有一定的解决能力,使得算法在复杂交通场景中依然具有很高的综合检测能力,且适合不同交通场景,能够满足自动驾驶汽车的实际要求。

    图4 YOLOv4 改进前后不同数据集上的mAP 曲线

    3.3.4 本文算法与其他算法结果对比

    本小节将改进后的YOLOv4 算法与Faster RCNN、SSD、YOLO、YOLOv4 等目标检测算法在CTS 数据集上进行对比实验,选取的评价指标为mAP 以及帧率。

    表1 给出了不同算法的目标检测评估结果。从评价结果分析可知,改进后的YOLOv4 目标检测算法在精确率方面远远领先于其他算法,达到了89.91%;
    在检测速度方面,检测速度达到35.52 f/s,虽然与YOLO 和YOLOv4 相比有所下降,但仍能满足自动驾驶30 f/s 的实时性要求,充分说明本文提出的YOLOv4 改进算法的有效性。

    表1 不同目标检测算法结果对比

    1)针对复杂交通场景下目标遮挡问题,基于CIoU Loss 回归损失函数,本文提出了Soft-1DIoUNMS 非极大值抑制算法作为后处理算法,使得改进后的YOLOv4 算法能够提高目标定位精度。实验结果表明,改进后的YOLOv4 算法能够有效解决目标遮挡问题,在各种数据集上均能发挥突出的检测性能,具有良好的泛化能力。虽然检测速度略有下降,但依然能够满足自动驾驶汽车实时性要求。

    2)对复杂交通场景下小目标检测问题,提出改进的K-means 方法,获得更加准确的先验框,为解决样本不均衡的问题,引入焦点损失修改损失函数,同时训练时使用Mosaic 数据增强方法增加小样本以丰富数据集。实验结果表明,改进后的YOLOv4 算法能够提升召回率和精确率,对小目标漏检和虚检问题解决能力突出,同时算法在各种数据集上检测精度均有不同程度的提升,具备复杂交通场景下良好的道路目标综合检测能力。

    3)本文使用的YOLOv4 是一种基于anchor的目标检测算法,此类方法先在特征图上生成大量的anchor 后进行分类和位置精修,但是大量冗余的anchor 造成正负样本不均衡的问题,并且需要额外的非极大值抑制后处理算法,损害了算法的实时性。因此基于anchor-fre 的目标检测算法将会是一个比较重要的突破点,值得继续开发研究。

    猜你喜欢 置信度聚类损失 置信度辅助特征增强的视差估计网络计算机工程与应用(2022年15期)2022-08-09一种基于定位置信度预测的二阶段目标检测方法小型微型计算机系统(2022年4期)2022-05-09硼铝复合材料硼含量置信度临界安全分析研究核科学与工程(2021年4期)2022-01-12胖胖损失了多少元数学小灵通·3-4年级(2021年5期)2021-07-16基于K-means聚类的车-地无线通信场强研究铁道通信信号(2019年6期)2019-10-08玉米抽穗前倒伏怎么办?怎么减少损失?今日农业(2019年15期)2019-01-03正负关联规则两级置信度阈值设置方法计算机应用(2018年5期)2018-07-25基于高斯混合聚类的阵列干涉SAR三维成像雷达学报(2017年6期)2017-03-26基于Spark平台的K-means聚类算法改进及并行化实现互联网天地(2016年1期)2016-05-04基于加权模糊聚类的不平衡数据分类方法现代计算机(2016年17期)2016-02-28
    相关热词搜索:驾驶场景道路

    • 名人名言
    • 伤感文章
    • 短文摘抄
    • 散文
    • 亲情
    • 感悟
    • 心灵鸡汤