基于YOLO的驾驶视频目标检测方法
2019-02-25文浩彬张国辉
文浩彬 张国辉
摘 要:运用YOLO(You Only Look Once)实时目标检测算法解决了驾驶视频目标检测问题。针对目标检测算法受环境条件影响鲁棒性差、小目标识别能力不高的问题,建立了涵盖多种天气环境、包含疑难目标的驾驶视频样本数据库,提出了疑难样本训练方法,训练出可在多种天气环境中良好识别小型汽车、行人、公交车及货车的YOLO检测模型。实验结果表明,该训练方法可有效提升目标检测性能;所得检测模型具有较高的召回率和精确度,可初步应用于实时驾驶视频的目标检测。
关键词:驾驶视频;目标检测;YOLO;碰撞预警
中图分类号:TP391 文献标识码:A 文章编号:1005-2550(2019)01-0073-04
Abstract: Applying YOLO (You Only Look Once) real-time object detection network to detection tasks in vehicle camera videos. Aiming at the low robustness due to environmental impact, and low performance of small object detection of present algorithms, a dataset containing multiple weather condition samples and Difficult Samples is established. The method of training Difficult Label is proposed. A YOLO model capable of well recognizing small cars, pedestrians, buses, and trucks in complex driving environment is trained, with high Recall rate and Precision, which can effectively improve detection performance and be primarily applied to real-time detection in vehicle camera videos.
Key Words: Vehicle camera video; Object detection; YOLO; Collision Warning System
前言
在各類引起交通事故的因素中,人类因素占90%,驾驶员违法占74% [1]。交通环境复杂性是造成驾驶员疲劳、疏忽的主要原因。通过实时检测交通环境中的行人和车辆,必要时向驾驶员提供预警,可有效避免交通事故发生。
在目标检测领域中深度神经网络应用广泛。从2014年RCNN[2]提出至今,领域内涌现出SPP-NET、SSD、Fast RCNN、RFCN、Faster RCNN、YOLO(You Only Look Once)系列算法等,检测精度、速度不断提高。其中,Joseph Redmon等在2018年3月提出YOLO v3[3],因快速、准确的检测性能成为关注焦点。
本文借鉴YOLO系列算法的最新研究成果,将YOLO v3用于驾驶视频的目标检测。建立了涵盖多种天气环境的驾驶视频样本数据库;提出了疑难样本训练方法。实验获得的检测系统在文中测试数据集上的平均精确度达78.06%,目标召回率高,可初步应用于汽车前向防碰撞系统中的实时驾驶视频目标检测。
1 前向防撞预警系统技术路线
使用单目视觉方法实现汽车前向碰撞预警的研究较为成熟,常见方案由五部分组成:摄像机采集图像;目标检测;目标距离估算;形成防碰撞策略;执行预警。目标检测作为该技术的重要环节,其检测精度、检测速度对汽车行驶安全性影响大。运用YOLO检测算法对行驶环境中的目标进行识别,有助于实现实时的目标检测。图1为前向防碰撞预警系统技术路线。
2 YOLO网络模型的训练
2.1 YOLO v3检测系统
YOLO v3检测系统的预测任务主要为两部分:分类预测和位置预测。
输入图片首先经尺寸调整并被划为N×N的正方形栅格,包含目标中心的栅格单元负责检测该目标[4]。输入图片通过YOLO神经网络计算后输出含有分类信息的特征栅格图。YOLO v3的核心网络框架为具有53层卷积层的特征提取网络Darknet-53[3]。
目标位置预测运用K-means聚类方法获得锚点框(Anchor Box)尺寸,通过对锚点框尺寸进行数学变换获得预测框(Bounding Box)尺寸。YOLO v3使用跨尺度预测机制(Predictions Across Scales)——在三种尺度的特征图上执行预测,融合多尺度采样特征。
2.2 建立驾驶视频样本数据库
车辆行驶环境的开放性增加了目标检测的难度,亮度变化、天气状况(雷雨天气等)、交通路况(并道合流、转弯、上下坡等)等对检测性能影响大。通过行车记录仪获取驾驶视频样本图片,涵盖上述复杂环境及路况。
检测目标类别为4类:行人(Pedestrian)、小型汽车(Car)、公交车(Bus)和货车(Truck)。使用LabelImg工具添加样本标签,建立基础数据库。详细参数如表1所示。训练样本选取具有良好特征的目标进行标记,测试数据则需对样本图片中的所有目标进行标记。将XML标签转化为可供YOLO识别的TXT文本标签,完成基础样本数据库的建立。
2.3 网络模型训练
以Darknet53为网络框架,YOLO v3为检测模型,训练驾驶视频目标检测系统。
为提高训练效率,选择开源的预训练权重darknet53.conv.74.weights初始化卷积层。此预训练权重通过Darknet53网络模型在ImageNet数据集上训练多个循环后获得。设置冲量系数为0.9,权值衰减系数为0.0005,最大训练批次为50000步。学习率使用分步调整策略(由10-4至10-6),避免训练出现过拟合。
2.4 训练技巧
批样本数量(Batch)与样本分支数量(Subdivisions)之比为单个分支中含有的数据量(Subdivision Size),该数据量大小受到硬件计算能力的限制。适当减小批样本数量和样本分支数量可减少硬件计算负担,同时仍可获得良好的模型检测性能。
为提升模型检测精度,更改输入图像分辨率适应大尺寸图像的目标识别。驾驶视频中图像的尺寸普遍较大,将输入图像尺寸由默认的416×416像素调整为544×544像素。文献[5]指出,检测系统对大输入图片尺寸的检测速度低但精度高。执行跨尺度预测时,本文模型得到密度更高的特征栅格图。
采用疑难样本训练方法提高系统检测精确度(mAP)。本文定义下的疑难样本为小尺寸、轮廓不完整以及特征模糊的目标。样本图片添加标记时设置疑难标签(Difficult Label),获得包含疑难样本的训练数据集。根据表2试验数据,该技巧使mAP提升9%。
3 試验及结果分析
3.1 试验环境
本文试验环境如表3所示,该运行环境下的YOLO驾驶视频目标检测系统检测速度可达20FPS。
3.2 检测结果分析
网络模型训练收敛后,对模型检测性能进行测试。检测器在测试数据集上进行测试并统计给定阈值下的预测结果,计算精确度、召回率等指标。表4给出分类概率阈值(Thresh)为0.25时的各类评价指标。
其中,检测系统平均精确度(mean Average Precision, mAP)是单类目标平均精确度(Average Precision for each class, Ap)的算术平均值。目标预
.测正确与否的判断依据为IOU值——预测框与真实矩形框(Ground Truth Box)的交集与并集之比,IOU值大于50%属正确目标。
统计结果绘制成精确度召回率曲线,分析检测系统对各类目标的检测性能。X轴为召回率(Recall)、Y轴为精确度(Precision),若两者同时趋于1则表明检测系统性能越好。
根据图2分析可知,小型汽车的检测效果最优,行人最差。使用疑难样本数据库训练的YOLO v3网络模型中,小型汽车的单类目标平均精确度达87.76%,行人仅71.09%。
对比同在基础数据库上训练得到的YOLO v2与v3网络模型。(图2c)说明,YOLO v3网络的应用给行人类的平均精确度带来了17.5%的提升,其余类别精度均有提升,充分说明新网络框架优化了小尺寸目标的识别能力。
此外,疑难样本训练方法进一步提升了YOLO v3网络对各个类别的检测精度。据图2b,相比基础样本数据库的训练结果,小型汽车类AP提升约17%,召回率达90%。
3.3 驾驶视频检测结果
选取具有代表性的行驶场景图片进行测试,直观对比YOLO驾驶视频目标检测系统的性能。检测结果包含预测矩形框、目标类别和目标分类概率,如图3所示。预测矩形框上方的分类概率为后期添加。
根据图3测试结果,各种天气环境下的目标均得到了合理的分类和定位。从分类预测角度分析,大部分目标的分类概率大于80%,未出现类别误判;从定位预测角度分析,图3c右侧摩托车骑行人位置预测误差大,其余目标定位准确。
疑难目标也获得了较好的预测效果。图3a中较远处的小汽车、图b中受白色车辆遮挡的摩托车骑行人以及图d分类概率为29%的前排车辆,均属本文定义下的疑难目标,其分类概率较低,但能成功预测。
总体上,该驾驶视频检测系统在测试数据集上的平均精确度达到78.06%,各类目标召回率较高,在日间、夜间和晴天、雨天环境下保持较好的检测性能。
4 结论
将YOLO v3网络框架用于实时的驾驶视频目标检测,可作为汽车前向防碰撞预警系统技术中目标检测环节的新解决方案。提出了疑难样本训练方法,解决了YOLO系列检测算法在小尺寸目标及相邻目标检测上的不足,在检测精度上表现出优异的性能。
由于行人目标的特征分布表现为水平方向密集、竖直方向相对稀疏,与YOLO检测模型对输入图片统一划为正方形栅格的机制不符,导致对行人的检测效果不够理想,这是后续工作需要改进的重点。
参考文献:
[1]毕建彬.道路交通事故的人因分析与驾驶员可靠性研究[D].北京:北京交通大学,2012.
[2]R. Girshick, J. Donahue, and T. Darrel. Rich feature hierarchies for accurate object detection and semantic segmentation[C]. Conference on Computer Vision and Pattern Recognition (CVPR), 2014:119-135.
[3]J.Redmon, and A. Farhadi. YOLOv3: An Incremental Improvement[J]. arXiv preprint arXiv:1804.02767,2018.
[4] J.Redmon, S Divvala, and R Girshick. You only look once: unified, real-time object detection [C]. Proc of IEEE Conference on Computer Vision and Pattern Recognition. 2016:779-788.
[5]J.Redmon, and A.Farhadi. YOLO9000: better, faster, stronger[J]. arXiv preprint, arXiv:1612.08242, 2016.