摘要
随着汽车保有量增加引起的交通问题日益凸显,自动驾驶作为解决传统汽车行业发展问题的重要技术,得到了国家和企业越来越多的重视和研究。交通环境中道路目标的准确检测是完成自动驾驶任务的前提,目前基于视觉的目标检测算法快速发展,一般交通场景下的道路目标检测已不成问题,但在复杂交通场景下,密集目标之间相互遮挡且存在一定数量小目标,目标漏检情况严重,检测精度难以满足要求。为此,本文以深度学习目标检测技术为基础展开了面向自动驾驶的复杂交通场景道路目标检测算法的研究,具体研究内容如下: (1)基于对比分析的目标检测算法框架设计 本文基于深度学习的目标检测技术,研究实现了FasterRegionswithCNNfeatures(FasterR-CNN)、SingleShotMultiBoxDetector(SSD)和YouOnlyLookOnceVersionFour(YOLOv4)三种目标检测算法,针对复杂交通场景数据集短缺问题构建了复杂交通场景数据集CTS,并使用常用的评价指标在CTS数据集上进行算法对比实验。结果表明,YOLOv4目标检测算法在精确率方面和检测速度上均优于其他两种算法,检测精度mAP为78.46%,检测速度每秒可达32.78帧,在保证检测精度的同时,能够满足自动驾驶实时性要求。因此选择YOLOv4算法作为本文研究基础框架,但对复杂交通场景下的遮挡目标和小目标存在一定程度的漏检问题,需对此进一步研究。 (2)改进非极大值抑制算法解决目标遮挡问题 针对算法对遮挡目标定位较低的问题,本文基于CIoULoss回归损失函数,结合Soft-NMS的衰减策略和DIoU-NMS的DIoU评判指标,提出了一种新的非极大值抑制算法Soft-DIoU-NMS。对比实验结果表明,改进后的YOLOv4算法在CTS上的mAP达到80.39%,检测速度每秒31.52帧,在保证实时性的情况下检测精度进一步提升;此外从不同数据集检测结果看,改进后算法在简单数据集VOC2007上检测能力提升,在复杂数据集COCO2017和KITTI上检测能力程度下降不明显,验证了改进后YOLOv4算法良好的泛化能力。 (3)引入焦点损失解决小目标检测问题 针对数据集中小目标占比较低的问题,本文首先使用Mosaic数据增强方法增加小样本数量来丰富数据集,其次改进K-means聚类算法以生成更准确的先验框;针对小目标加剧样本不均衡问题,算法使用焦点损失(FocalLoss)代替交叉熵损失参与模型损失的计算,使得模型更倾向于对正样本和难分类样本的学习,提升小目标检测精度。对比实验结果表明,改进后的YOLOv4算法不同类别的召回率和精确率均得到提高,有效缓解了小目标造成的漏检和虚检问题;改进后的YOLOv4算法在CTS、VOC2007、COCO2017和KITTI数据集上mAP均有不同程度的提升,验证了改进后的YOLOv4算法在不同数据集上均能实现稳定的目标检测功能,具备复杂交通场景下良好的道路目标综合检测能力。 围绕自动驾驶复杂交通场景下道路目标检测精度较低的问题,本文针对复杂交通场景下遮挡目标和小目标检测问题进行研究。研究工作的突破点在于:(1)针对算法遮挡目标定位精度较低的问题,提出了改进的非极大值抑制算法Soft-DIoU-NMS,实现了遮挡目标的有效检测;(2)针对单阶段算法样本不均衡问题,引入FocalLoss参与模型损失计算,有效缓解了小目标的漏检和虚检问题。