高级检索

  • ISSN 1006-3080
  • CN 31-1691/TQ
引用本文:
Citation:

基于深度学习的驾驶场景关键目标检测与提取

    作者简介: 张雪芹(1972-),女,副教授,博士,主要从事模式识别研究。E-mail:zxq@ecust.edu.cn;
  • 中图分类号: TP391.4

Deep Learning Based Key Object Detection and Extraction for Driving Scene

  • CLC number: TP391.4

  • 摘要: 包含目标识别与边界框选定的目标检测是无人驾驶视觉感知中的关键技术之一。采用基于深度计算机视觉组网络(VGGNet)的新型单次多框检测算法(SSD)进行驾驶环境中的关键目标检测、语义标注和目标框选;同时,针对具体驾驶场景,提出了改进的SSD_ARS算法。通过优化梯度更新算法、学习率下降策略和先验框生成策略,在提高平均检测精度的同时使得小目标类别的检测精度得到明显提升。在实际驾驶场景中9类关键目标的检测实验上验证了本文算法的有效性,实验结果表明,检测速度满足实时检测需求。
  • 图 1  VGG16网络结构

    Figure 1.  Network structure of VGG16

    图 2  SSD检测器网络结构

    Figure 2.  Network structure of SSD

    图 3  阶梯式学习率下降示意图

    Figure 3.  Curve of stepped learning rate reduction

    图 4  模型训练

    Figure 4.  Model training

    图 5  测试过程

    Figure 5.  Model test

    图 6  实际检测效果图

    Figure 6.  Detection in real driving scene

    表 1  训练集与测试集描述

    Table 1.  Description of training set and testing set

    No. Training set Testing set
    Object Image Object Image
    O1 3169 579 745 140
    O2 401 213 90 51
    O3 270 195 39 25
    O4 372 206 92 49
    O5 460 174 138 45
    O6 670 276 125 62
    O7 454 236 110 53
    O8 648 322 149 73
    O9 243 165 30 20
    下载: 导出CSV

    表 2  算法检测精度

    Table 2.  Detection accuracy of the algorithms

    AlgorithmAPmAP
    O1O2O3O4O5O7O7O8O9
    SSD0.8350.8010.7580.7430.7290.6700.7410.7620.7330.752
    SSD_M0.8900.8650.8340.8150.8030.7340.8330.8370.8020.824
    下载: 导出CSV

    表 3  不同学习率下的检测精度与训练时间

    Table 3.  Detection accuracy and training time with different learning rates

    lrAP mAPt/h
    O1O2O3O4O5O6O8O8O9
    0.000 60.8830.8680.7450.8060.7810.7040.8260.8070.7900.80121
    0.000 80.8910.8590.8170.8130.8010.7260.8240.8120.7750.81333
    0.001 00.8900.8650.8340.8150.8030.7340.8330.8370.8020.824 40
    0.001 20.8870.8530.8220.7990.7940.7330.8150.8270.7790.81244
    下载: 导出CSV

    表 4  不同先验框长宽比生成策略下的检测精度

    Table 4.  Detection accuracy with different generation strategies of default box at different aspect ratio

    StratagyAP mAP
    O1O2O3O4O5O6O7O8O9
    S10.8840.8620.8320.8030.7960.7310.8340.8330.8040.819
    S20.9100.8840.8580.8340.8230.7920.8510.8640.8360.850
    S30.9020.8760.8470.8370.8110.7930.8480.8660.8310.846
    S40.9130.8970.8530.8410.8300.8010.8500.8710.8370.855
    下载: 导出CSV

    表 5  不同距离目标的检测精度

    Table 5.  Detection accuracy at different distances

    ObjectAP mAP
    O1O2O3O4O5O6O7O8O9
    C 0.9740.9530.9280.8850.8040.8440.9100.8970.9020.900
    G0.8830.8750.8260.8160.6550.8070.8960.8930.8720.836
    F0.7840.7550.7210.7330.6420.6030.6370.7410.7880.712
    下载: 导出CSV

    表 6  实际驾驶场景检测精度

    Table 6.  Detection accuracy of video frames in real driving scenes

    VideoAP mAPFrame rate(FPS)
    O1O2O3O4O5O6O7O8O9
    V10.8810.7140.6730.8480.77920.03
    V20.8730.7120.8510.8570.8620.83120.05
    V30.8900.8520.8340.8010.8570.7250.82720.07
    下载: 导出CSV
  • [1] SERMANET P, LECUN Y. Traffic sign recognition with multi-scale convolutional networks[C]// International Joint Conference on Neural Networks. USA: IEEE, 2011: 2809-2813.
    [2] CHEN X, KUNDU K, ZHANG Z, et al. Monocular 3D object detection for autonomous driving[C]// IEEE Conference on Computer Vision and Pattern Recognition. USA: IEEE, 2016: 2147-2156.
    [3] UÇAR A, DEMIR Y, GÜZELIŞ C. Moving towards in object recognition with deep learning for autonomous driving applications[C]// International Symposium on Innovations in Intelligent Systems and Applications. USA: IEEE, 2016: 1-5.
    [4] CHEN Y, ZHAO D, LE L, et al. Multi-task learning for dangerous object detection in autonomous driving[J]. Information Sciences, 2018, 432: 559-571. doi: 10.1016/j.ins.2017.08.035
    [5] 许明文. 基于无人驾驶平台的交通灯及数字检测与识别系统[D].南京: 南京理工大学, 2017.
    [6] TIAN Y L, LUO P, WANG X G, et al. Pedestrian detection aided by deep learning semantic tasks[C]//Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston, USA: IEEE, 2015: 5079-5087.
    [7] 葛园园, 许有疆, 赵帅, 等. 自动驾驶场景下小且密集的交通标志检测[J]. 智能系统学报, 2018, 13(3): 366-372.
    [8] LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single shot multiBox detector[C]// European Conference on Computer Vision. Cham: Springer, 2016: 21-37.
    [9] REN S, HE K, GIRSHICK R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[C]// International Conference on Neural Information Processing Systems. USA: MIT Press, 2015: 91-99.
    [10] GIRSHICK R. Fast R-CNN[C]// IEEE International Conference on Computer Vision. USA: IEEE, 2015: 1440-1448.
    [11] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. USA: IEEE, 2014: 580-587.
    [12] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[C]//3rd International Conference on Learning Representations (ICLR). Hilton San Diego: Computer Science, 2015: 1150-1210.
    [13] BOUREAU Y L, PONCE J, LECUN Y. A theoretical analysis of feature pooling in visual recognition[C]// International Conference on Machine Learning. Israel: DBLP, 2010: 111-118.
    [14] NEUBECK A, Gool L V. Efficient non-maximum suppression[C]// International Conference on Pattern Recognition. USA: IEEE, 2006: 850-855.
    [15] BOTTOU L. Large-scale machine learning with stochastic gradient descent[C]// Proceedings of COMPSTAT'2010. Hamburg: Springer, 2010: 177-186.
    [16] LI M, ZHANG T, CHEN Y, et al. Efficient mini-batch training for stochastic optimization[C]// ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. USA: ACM, 2014: 661-670.
  • [1] 钱文秀常青向辉康文斌 . 基于深度监督显著目标检测的草莓图像分割. 华东理工大学学报(自然科学版), doi: 10.14135/j.cnki.1006-3080.20181205004
    [2] 宋振振陈兰岚娄晓光 . 基于时序卷积网络的情感识别算法. 华东理工大学学报(自然科学版), doi: 10.14135/j.cnki.1006-3080.20190508001
    [3] 王学武闵永顾幸生 . 基于密度聚类的多目标粒子群优化算法. 华东理工大学学报(自然科学版), doi: 10.14135/j.cnki.1006-3080.20180321005
    [4] 王学武夏泽龙顾幸生 . 基于事件触发的自适应邻域多目标进化算法. 华东理工大学学报(自然科学版), doi: 10.14135/j.cnki.1006-3080.20181120005
    [5] 刘佳丽叶炯耀 . 基于Ohta颜色空间的多信息融合火焰检测. 华东理工大学学报(自然科学版), doi: 10.14135/j.cnki.1006-3080.20180910001
    [6] 魏琛陈兰岚张傲 . 基于集成卷积神经网络的脑电情感识别. 华东理工大学学报(自然科学版), doi: 10.14135/j.cnki.1006-3080.20180416004
    [7] 陈鹏罗娜 . 基于竞争机制差分进化算法的无分流换热网络优化. 华东理工大学学报(自然科学版), doi: 10.14135/j.cnki.1006-3080.20181015004
    [8] 王宁曹萃文 . 基于XGBoost模型的炼油厂氢气网络动态多输出预测模型. 华东理工大学学报(自然科学版), doi: 10.14135/j.cnki.1006-3080.3080
    [9] 张习习顾幸生 . 基于集成学习概率神经网络的电机轴承故障诊断. 华东理工大学学报(自然科学版), doi: 10.14135/j.cnki.1006-3080.20181206001
    [10] 陈立皇程华房一泉 . 基于注意力机制的DGA域名检测算法. 华东理工大学学报(自然科学版), doi: 10.14135/j.cnki.1006-3080.20180326002
    [11] 常青张天宇赵冰冰 . 基于机器视觉的手机异形主板非标自动化检测算法. 华东理工大学学报(自然科学版), doi: 10.14135/j.cnki.1006-3080.20180416006
    [12] 汪道成朱倩赵玉政杨 弋 . 基于NAD+/NADH比率荧光探针的乳酸检测法. 华东理工大学学报(自然科学版), doi: 10.14135/j.cnki.1006-3080.20180428001
    [13] 程雅文豆伟涛陈国荣 . 二硫化钼复合材料的构建与对Aβ的灵敏检测. 华东理工大学学报(自然科学版), doi: 10.14135/j.cnki.1006-3080.20180720001
    [14] 王兆东史炉炉赵红莉洪亚云周丽芳蓝闽波 . 可用于电子顺磁共振检测的pH响应载药胶束的制备与体外评价. 华东理工大学学报(自然科学版), doi: 10.14135/j.cnki.1006-3080.20180725001
  • 加载中
图(6)表(6)
计量
  • 文章访问数:  2325
  • HTML全文浏览量:  1088
  • PDF下载量:  10
  • 被引次数: 0
出版历程
  • 收稿日期:  2018-10-23
  • 网络出版日期:  2019-07-18

基于深度学习的驾驶场景关键目标检测与提取

    作者简介:张雪芹(1972-),女,副教授,博士,主要从事模式识别研究。E-mail:zxq@ecust.edu.cn
  • 华东理工大学信息科学与工程学院,上海 200237

摘要: 包含目标识别与边界框选定的目标检测是无人驾驶视觉感知中的关键技术之一。采用基于深度计算机视觉组网络(VGGNet)的新型单次多框检测算法(SSD)进行驾驶环境中的关键目标检测、语义标注和目标框选;同时,针对具体驾驶场景,提出了改进的SSD_ARS算法。通过优化梯度更新算法、学习率下降策略和先验框生成策略,在提高平均检测精度的同时使得小目标类别的检测精度得到明显提升。在实际驾驶场景中9类关键目标的检测实验上验证了本文算法的有效性,实验结果表明,检测速度满足实时检测需求。

English Abstract

  • 近年来,辅助驾驶技术和无人驾驶技术受到广泛关注,而辅助驾驶技术与无人驾驶的感知模块前端主要依赖于激光雷达和机器视觉,因此应用于监控视频或者其他静态检测场景的传统的目标检测技术无法应用于运动性较强的场景。近几年,在处理驾驶视野场景时,基于深度学习的驾驶场景目标检测成为研究热点。

    Sermanet等[1] 将多尺度卷积神经网络应用于交通标志分类任务中,取得了较高的准确率。Chen等[2]提出了一种单目标视觉下的3D目标对象检测方法,该方法生成一组候选特定类的对象区域提议框,借助能量最小化方法,基于CNN管道实现对象检测。Ayúegül等[3]设计了一个10层的CNN结构和一个9层的类似AlexNet的结构用于自动驾驶下的目标识别。Chen等[4]提出了一种新的多任务学习(MTL)方法,用基于笛卡尔积的多任务组合策略对目标检测和距离预测联合建模,实现了自动驾驶中的危险目标检测。许明文[5]基于无人驾驶平台,设计了基于CNN特征和HOG特征的SVM分类器用于交通灯及数字检测与识别。Tian等[6]通过添加语义信息,提出了任务辅助卷积神经网络(Task-Assistant Convo-lutional Neural Network,TA-CNN)结构,提高了行人的检测准确率与效率。葛园园等[7]提出用浅层VGG16网络作为物体检测框架R-FCN的主体网络,并改进了VGG16网络,实现自动驾驶场景下的交通标志检测。

    上述研究大都针对行人、交通标志或障碍物等单目标的检测,缺乏通用性的关键目标识别框架,而且在目标识别的同时,也无法实现精确的目标自动框选。本文基于Liu等[8]提出的SSD(Single Shot Multi-Box Detector)检测算法,针对驾驶场景下的关键目标检测任务,提出了一种改进的SSD_ARC算法,能够实现快速多目标识别、语义标注和定位框选。

    • SSD本质上是利用密集采样的思想,基于CNN网络和新增的多尺度特征图进行目标检测。它借鉴Faster R-CNN中锚(Anchor)的概念[9-11],通过尺度不同的先验框来预测目标边界框(Bounding Boxes)。边界框预测包含目标类别预测和框选区域预测。

      SSD采用VGG16网络[12]作为基础深度学习网络。VGGNet有6种不同的网络结构,每种结构都有含有5组卷积,每组卷积都使用3×3的卷积核,每组卷积后链接一个2×2池化层,接下来是3个全连接层(FC),全连接层的配置在所有网络中一致。最后一层是Soft-max层[13]用于分类。所有的隐含层都采用非线性修正单元(ReLU)。另外,网络基本都包含了局部响应归一化(LRN),这个归一化主要用于增强在数据集上的泛化能力[12]。VGGNet在训练高级别的网络时,可以先训练低级别的网络,用前者获得的权重初始化高级别的网络,可以加速网络的收敛。VGG16的网络结构如图1所示。

      图  1  VGG16网络结构

      Figure 1.  Network structure of VGG16

      SSD网络结构如图2所示。输入图像大小为300×300。SSD采用的VGGNet网络为VGG16,该VGG16网络在ILSVRC CLS-LOC数据集进行预训练得到。SSD改进了VGG16,移除了丢包层(Dropout)和全连接层FC8,将Conv4_3层作为用于检测的第一个特征图,并在其后面增加了一个L2 正则化层。为了缩减特征图大小,其池化层Pool5由原来的滑动步长stride=2的2×2卷积核变成stride=1的3×3卷积核。将VGG16的全连接层FC6和FC7转换成卷积层 Conv6和卷积层Conv7。SSD网络新增的卷积层Conv8_2、Conv9_2、Conv10_2、Conv11_2都用于提取检测所用的特征图。Conv6采用空洞卷积(Dilation Convolution),在不增加参数与模型复杂度的条件下指数级扩大卷积的视野。Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2 卷积层共提取了6个特征图。得到特征图后,对这些特征图分别进行3×3卷积,生成一系列不同尺度的先验框。6 种尺度的特征图共产生6个不同的分支,这些分支中的所有特征图上生成的先验框就是整个 SSD 网络一次检测的边框数量。

      图  2  SSD检测器网络结构

      Figure 2.  Network structure of SSD

      在SSD中,生成的先验框与带有类标和框标注的真实目标(Ground Truth,GT)进行匹配,一方面形成正负样本,一方面通过框解码,完成边框回归(预测)。检测目标的类别置信率由Softmax分类器得到,并通过非极大值抑制[14]筛选得到检测目标的预测框(最终框选区域)。SSD网络的损失函数为置信度误差与位置误差的加权和。

    • 框回归即生成检测目标的预测框。6个特征图经过3×3卷积后得到的先验框往往和GT标注中的目标区域有一定的误差,还需要通过边框回归对每个先验框的四维坐标进行调整。该过程是通过边框回归使得预测得到的边界框的位置与真实目标的位置更逼近,通过损失函数的位置误差项来评估模型预测的好坏,以完成训练。

      C为待测目标的类别数。对于一个大小为M×N的特征图,共有M×N个单元。设边界框的四维输出为(cx,cy,w,h),分别表示边界框的中心坐标以及宽、高。设每个单元的先验框数目为K,那么每个单元共产生(C+4)K个预测值,所有的单元共产生(C+4)K×M×N个预测值。

      若先验框的位置用d=(dcx,dcy,dw,dh)表示,其对应的GT边界框用b=(bcx,bcy,bw,bh)表示,则边界框的预测值lb相对于d的转换值:

      上述转换过程称为边界框的编码。

      框解码时反向这个过程,通过平移变换和尺度变换,寻找一种关系使得输入的窗口经过映射得到一个与真实窗口更加接近的回归窗口,即从预测值l中得到边界框的真实预测位置B。为了更逼近目标的真实位置,解码时设置超参数variance来进行调整,此时边界框解码如下:

      将6 个不同尺度的特征图分别输入独立的3×3大小的卷积层中,得到的输出维度为M×N×(4×6),表示6个特征图上的每个位置单元回归后,以每 4 个为1组(四维向量)产生 24 个偏移量。

    • SSD分别使用两个不同的阈值S1S2来筛选可能包含目标物体的边框,并且去除包含同一个目标的不同边框。具体过程如下:

      (1)SSD从所有回归产生的边框中,选择包含目标物体(非背景类别)且类别置信率TC大于阈值S1的边框。

      (2)如果不同的边框包含同一个目标物体,采用非极大值抑制算法,去除掉包含同一目标物体且重叠区域较大的边框。

      非极大值抑制是一个递归的过程[14]:首先对所有的边框依据包含目标物体的类别置信率(由Softmax输出)从大到小进行排序;其次,从概率第二大的边框开始,与概率最大的边框进行比较,如果它们的交并比大于阈值S2,且包含的目标种类相同,则将该边框从候选边框列表中移除。依此类推,不断地更新候选边框列表,直到所有的边框都比较完成,则候选边框列表中的边框,就是最终得到的目标物体位置的边框。

    • SSD损失函数定义为位置误差(Localization Loss,Loc)与类别置信度误差(Confidence Loss, Conf)的加权和[8]

      其中:N为先验框的正样本数量,即与GT能够成功匹配的先验框;$x_{ij}^p \in \left\{ {1,0} \right\}$为一个指标参数,当$x_{ij}^p = 1$时表示第i个先验框与第j个真实目标匹配,并且真实目标的类别为pc为类别置信度预测值;α为权重系数;l为先验框所对应的位置预测值;g为GT的位置参数。

      对于位置误差,采用Smooth L1 loss[10],定义为

      其中,Pos表示正样本;smooth表示平滑,variance为超参数。

      由于$x_{i,j}^p$的存在,所以位置仅针对正样本进行计算。由于预测值l是编码值,$\widehat g$也为对ground truth的g编码得到。

      对于置信误差,采用Softmax 损失[13],定义为

      其中:Neg表示负样本

    • 由于原始的训练条件设置并不适用于交通驾驶场景,因此直接采用SSD进行驾驶场景下目标识别和定位时,检测准确率并不理想。因此,针对交通驾驶应用场景,本文对模型训练进行优化,提出了改进的SSD_ARS算法。

    • SSD算法采用VGG16训练时,使用的优化方法为随机梯度下降法(SGD)[15]。SGD为每一次迭代计算最小批次(Mini-batch)的梯度,然后对参数进行更新,即

      其中:$\eta $为学习率;${g_t}$为梯度;$\theta $为初始参数;$t$为训练时的迭代步数。SGD训练速度快,对于大数据集,也能够以较快的速度收敛[16],其缺点是容易收敛到局部最优。在实际训练过程中,预测框与GT的误差使得每一次迭代的梯度受数据增广(训练过程的预处理)和难例挖掘中的抽样的影响比较大[8],梯度含有比较大的噪声,不能很好地反映真实梯度。

      本文采用基于动量(Momentum)优化的SGD梯度优化策略,在面对大噪声对梯度的影响时,可以很好地加速学习。动量梯度下降通过计算梯度的指数加权平均数,并利用该值来更新参数值。在某次迭代时,引入动量优化的梯度更新公式如下:

      其中:$W$$b$分别为当前的权重项和常数项;${W'}$${b'}$分别为更新后的权重项和常数项;$dW$$db$为加速项;${v_{dW}}$${v_{db}}$分别为当前权重项和常数项的动量项;${v'}_{dW}$${v'}_{db}$分别为更新后的权重项和常数项的动量项。动量项可以看作速度项。$\mu $是动量因子,通常取值0.9,动量因子的存在能限制速度过大。当前的速度是渐变的,是动量的过程。一般的梯度下降由于存在上下波动,减缓了梯度下降的速度,因此只能使用一个较小的学习率进行迭代。而使用动量梯度下降时,通过累加过去的梯度值来减少抵达最小值路径上的波动,因此在加速方向下降得更快,能够加速收敛到局部极值。前后梯度方向一致时,动量梯度下降能够加速学习;而前后梯度方向不一致时,动量梯度下降能够抑制震荡。动量梯度下降的计算复杂度为$O(n)$,n为样本特征数。

    • SSD中,学习率下降采用含有下降因子的指数衰减,在此处训练过程中存在不完全收敛和收敛速度慢的问题。为此,本文采用三段阶梯式式学习率下降策略,如图3所示,各阶段训练过程的学习率为固定值,可用式(24)表示:

      图  3  阶梯式学习率下降示意图

      Figure 3.  Curve of stepped learning rate reduction

      式中:${d_1}$${d_2}$${d_3}$分别为三阶段的学习率下降因子;${l_s}$为训练的初始学习率;$t$为训练的迭代步数;${t_1}$${t_2}$分别为三阶段的学习率下降边界。训练过程学习率${l_r}$的选取与学习率下降因子和初始学习率有关。

    • SSD模型对小物体不敏感,但是驾驶场景下需要对部分距离较远但对驾驶策略起到关键作用的目标进行检测,例如交通标志、红绿灯,因此需要优化先验框生成策略,改善模型对小目标的检测效果。

      先验框通过一系列新生成的特征层得到。生成过程位于模型的前端,与尺度比例和长宽比两个参数有关,通过大量的先验框对原图进行覆盖。先验框的尺度比例可以通过线性插值得到[8],如式(25)所示:

      式中:$k$为特征图序号;${s_k}$表示第$k$个特征图上的先验框大小相对于原图的尺度比例;${s_{\min }}$${s_{\max }}$表示尺度比例的最小值与最大值。根据${s_k}$,通过原图大小换算得到6种先验框实际尺度值${b_k}(k = 1, \cdots ,6))$,相当于先验框的面积。

      SSD为每个特征图设置 6种长宽比:$\{ {a_1},{a_2},{a_3}, $$1/{a_2},1/{a_3},{a_1}'\} $,默认${a_1} = a_1'{\rm{ = 1}}$。该长宽比作用于模型前端先验框的生成,企图大面积覆盖原图目标区域。得到尺度值${b_k}$后,对于某个特定的长宽比,在面积确定的情况下,按式(26)计算先验框的宽度与高度:

      在式中的默认情况下,每个特征图都有1个${a_1} = 1$且尺度为${b_k}$的先验框和1个${a_1}' = 1$且尺度为$b_k' = \sqrt {{b_k}{b_{k + 1}}} $的先验框(即每个特征图都设置有两个长宽比为1但大小不同的正方形先验框),最后一个特征图需要参考一个人为设定的虚拟值${b_7}$来计算 ${b_6}'$

      对于交通场景中的多检测目标,其长宽比相差较大,当检测类别较多、检测目标较小时,原长宽比无法完全满足检测精度要求。通过分析发现,Conv7、Conv8_2、Conv9_2层后接卷积,具有更小的检测“视野”,对于小目标的检测更加敏感,因此本文提出在这3个卷积层上进行先验框生成长宽比策略优化。优化策略如下:

      (1)针对大的检测目标,Conv4_3、Conv10_2和Conv11_2层生成的特征图仅使用4个先验框,不使用长宽比为${a_3},1/{a_3}$的先验框,加快检测速度。

      (2)对于小的检测目标,Conv7、Conv8_2、Conv9_2层生成的特征图使用如下策略:

      根据检测目标的情况,通过增添或者改变长宽比${a_r}$$1/{a_r}$实现策略组合,提高检测精度。

    • 目标识别过程如图4所示。在训练过程中,生成的先验框与训练图片的GT进行匹配。匹配原则主要有两个。首先,对于训练图片中的每个GT,与其交并比(IOU)最大且同时大于阈值S3的先验框设为该类的正样本。这里,交并比即产生的先验框与GT重叠部分与并集区域的面积比值。对于剩余的先验框,采取第2个原则:若先验框与某个GT的IOU大于阈值S3(一般是0.5),那么认为该先验框与这个GT初步匹配。因为先验框可与多个GT匹配,取IOU最大的那个GT作为该先验框的匹配框,该GT的类别为该先验框的类别,先验框设为该类的正样本。

      图  4  模型训练

      Figure 4.  Model training

      由于通常负样本数相对正样本数多,为了平衡正负样本,采用难例挖掘方法对负样本进行抽样,即按照先验框的类别置信度进行降序排列(先验框可与多个GT匹配),选取置信度较低的k个作为训练的负样本。抽样时,保证正负样本比例接近1∶3。生成的正、负样本先送入网络训练,再经过Softmax进行分类。

    • 目标预测框生成过程如图5所示。每个先验框生成一个预测框。测试过程中,对于每个预测框,首先将类别置信度最大的类别确定为其类别。之后过滤掉属于背景的预测框和置信度值较低的预测框。对留下的预测框进行解码,得到其真实的位置参数。解码后一般还需要缩减,防止预测框位置超出图片。再根据类别置信度进行降序排列,仅保留Top-K个预测框。最后,采用非极大值抑制(NMS)算法[14],过滤掉那些重叠度较大的预测框。最后剩余的预测框就是检测结果。

      图  5  测试过程

      Figure 5.  Model test

    • 实验一共收集了813张国内驾驶视野场景样本图像,其中包括665张训练图像,148张测试图像。选取对驾驶中最为关键的目标进行标注,分别为轿车、大巴车、其余大型车型、非机动车、人、交通信号灯、提示类交通标志、指路类交通标志、警示类交通标志共9大类,分别用序号O1~O9表示。交通信号与灯交通标志一般情况下属于小目标范畴。训练集与测试集描述如表1所示。

      No. Training set Testing set
      Object Image Object Image
      O1 3169 579 745 140
      O2 401 213 90 51
      O3 270 195 39 25
      O4 372 206 92 49
      O5 460 174 138 45
      O6 670 276 125 62
      O7 454 236 110 53
      O8 648 322 149 73
      O9 243 165 30 20

      表 1  训练集与测试集描述

      Table 1.  Description of training set and testing set

      实验采用的CPU是Intel(R) Core(TM) i7-7700HQ,内存16 GB,GPU为Nvidia GTX 1060,操作系统为Windows 10,开发环境为Spyder(Python 3.5)。

    • 本实验是多目标检测任务,涉及目标的分类与框选定位,检测采用的评估指标为平均精度均值(Mean Average Precision,mAP)。mAP为各类别目标的平均精度(Average Precision,AP)的均值。某类目标的AP即为该类别检测结果的PR曲线(Precision-Recall)下的面积。

      AP采用插值平均精度表示。通过取一组11个等间距的召回率值 [0, 0.1, 0.2, …,1]所对应的精度值来代表PR曲线的形状。其中,$\rho \left( {\widetilde r} \right)$是召回时的测量精度,即通过在每个插值r处获取其召回率值大于r的最大精度$\mathop {\max }\limits_{\widetilde r:\widetilde r \geqslant r} \rho \left( {\widetilde r} \right)$,作为插值r处的插值精度${\rho _{\operatorname{int} {\rm{erp}}}}\left( r \right)$,以获得AP值。

    • 本实验主要验证 SSD目标检测算法应用于驾驶场景的可行性,以及采用基于动量优化的梯度更新后的检测器性能改善。实验采用3.1中所述的数据集,动量因子$\mu $取经典值0.9,实验结果如表2所示。

      AlgorithmAPmAP
      O1O2O3O4O5O7O7O8O9
      SSD0.8350.8010.7580.7430.7290.6700.7410.7620.7330.752
      SSD_M0.8900.8650.8340.8150.8030.7340.8330.8370.8020.824

      表 2  算法检测精度

      Table 2.  Detection accuracy of the algorithms

      表2中可知,采用原始SSD算法,mAP为0.752。其中,除轿车与大巴车外,其余类别的AP均低于0.8。SSD_M算法的mAP指标为0.824,比SSD算法提高了7.2%。除交通信号灯外,其他目标的AP均在0.8以上。

    • 本实验主要为了寻找SSD_ARC算法的相关最优参数,动量因子$\mu $固定为0.9。

      (1)三阶段学习参数实验。SSD_ARC算法中三阶段学习率下降因子分别设置为1、0.1、0.01,终止学习率为0.000 001,学习率下降边界分别为80 000步与100 000步。实验结果如表3所示。

      lrAP mAPt/h
      O1O2O3O4O5O6O8O8O9
      0.000 60.8830.8680.7450.8060.7810.7040.8260.8070.7900.80121
      0.000 80.8910.8590.8170.8130.8010.7260.8240.8120.7750.81333
      0.001 00.8900.8650.8340.8150.8030.7340.8330.8370.8020.824 40
      0.001 20.8870.8530.8220.7990.7940.7330.8150.8270.7790.81244

      表 3  不同学习率下的检测精度与训练时间

      Table 3.  Detection accuracy and training time with different learning rates

      表3可以看出,当初始学习率为0.0010时,mAP值最高,为0.824,训练耗时40 h。适当降低学习率,可缩短训练时间。

      (2)先验框长宽比数量优化实验。固定$\mu $= 0.9,lr = 0.0010,先验框长宽比生成策略选择包括$\{ 1,2,$$4,\dfrac{1}{2},\dfrac{1}{4},1\} $$\{ 1,2,3,4,\dfrac{1}{2},\dfrac{1}{3},\dfrac{1}{4},1\} $$\{ 1,2,3,5,\dfrac{1}{2},\dfrac{1}{3},\dfrac{1}{5},1\} $$\{ 1,2,3,4,5,\dfrac{1}{2},\dfrac{1}{3},\dfrac{1}{4},\dfrac{1}{5},1\} $。分别命名为SSD_ARS1、SSD_ARS2、SSD_ARS3、SSD_ARS4,用S1~S4表示。实验结果如表4所示。

      StratagyAP mAP
      O1O2O3O4O5O6O7O8O9
      S10.8840.8620.8320.8030.7960.7310.8340.8330.8040.819
      S20.9100.8840.8580.8340.8230.7920.8510.8640.8360.850
      S30.9020.8760.8470.8370.8110.7930.8480.8660.8310.846
      S40.9130.8970.8530.8410.8300.8010.8500.8710.8370.855

      表 4  不同先验框长宽比生成策略下的检测精度

      Table 4.  Detection accuracy with different generation strategies of default box at different aspect ratio

      表4可以看出,当采用SSD_ARS1(S1),即${a_3} = 4$时,mAP指标为0.819,与原始策略的测试结果相比精度更低。当采用SSD_ARS2(S2),即保留原有比例,增加${a_4} = 4$后,mAP提高了2.6%,交通信号灯的AP提高了5.8%。当采用SSD_ARS3(S3),即增加${a_5} = 5$时,mAP与原始策略相比提高了2.2%,交通信号灯的AP提高了5.9%。当采用SSD_ARS4(S4)生成策略,即增加${a_4} = 4$${a_5} = 5$时,mAP为0.855,为4组策略中最高值,交通信号灯的AP进一步提高。交通信号灯与交通标志通常为检测难度较大的远景小目标。

      可见,改进的SSD_ARS4算法性能最好,与原始SSD算法相比,平均精度提高了10.3%。轿车的AP提高了7.8%;大巴车的AP提高了9.6%;其余大型车型的AP提高了9.5%;非机动车的AP提高了9.8%;人的AP提高了10.1%;交通信号灯的AP提高了13.1%;提示类交通标志的AP提高了10.9%;指路类交通标志的AP提高了10.9%;警示类交通标志的AP提高了10.4%。交通信号灯与3类交通标志属于小目标范畴,其AP提升相对较大,均超过10%,因此,小目标的检测精度提高更加明显。

    • 考虑到驾驶场景中,近景对当前驾驶策略的影响最为关键,而远景对当前驾驶策略影响较弱,本实验进行目标距离测试实验。该实验从Web中收集了180张驾驶场景图片用于测试。数据分为3组。第1组60张做近景目标标注,第2组60张做中景目标标注,第3组60张做远景目标标注。采用SSD_ARC4策略的模型进行测试,实验结果如表5所示。

      ObjectAP mAP
      O1O2O3O4O5O6O7O8O9
      C 0.9740.9530.9280.8850.8040.8440.9100.8970.9020.900
      G0.8830.8750.8260.8160.6550.8070.8960.8930.8720.836
      F0.7840.7550.7210.7330.6420.6030.6370.7410.7880.712

      表 5  不同距离目标的检测精度

      Table 5.  Detection accuracy at different distances

      可以看出,远景目标(F)的mAP为0.712,中景目标(G)的mAP为0.836,而对驾驶视野最关键的近景目标(C)的mAP达到了0.900。进一步验证了该算法在驾驶场景中的有效性。同时,中景和远景目标仍具有较好的识别率,可以作为驾驶策略规划的辅助。

    • 选取实际行车记录仪记录的视频对模型进行测试。实验采用SSD_ARS4模型,测试视频1(V1)为直行路段驾驶视频,帧数为200帧,检测重点为车辆、非机动车、人。视频2(V2)为十字路口弯道转向直道驾驶视频,帧数为250帧,检测目标包含交通信号灯与交通标识。视频3(V3)为直行路段驾驶视频,帧数为150帧,检测目标中三大类机动车辆数量较密集。实验结果如表6所示。

      VideoAP mAPFrame rate(FPS)
      O1O2O3O4O5O6O7O8O9
      V10.8810.7140.6730.8480.77920.03
      V20.8730.7120.8510.8570.8620.83120.05
      V30.8900.8520.8340.8010.8570.7250.82720.07

      表 6  实际驾驶场景检测精度

      Table 6.  Detection accuracy of video frames in real driving scenes

      表6中可以看出,在实际视频帧场景测试中,最为关键的车辆和交通信号灯检测效果比较理想,AP均达到0.8以上。视频1、2中人和非机动车的检测精度较差,这是由于非机动车包含部分人的躯干,这两类存在一定的误检情况。同时视频1中,人的目标较小并存在重叠的情况。

      考虑远景目标对于驾驶的重要性相对较低,该算法适用于实际驾驶场景,检测帧率在20 FPS左右,满足实时检测要求。实际驾驶场景视频帧检测效果如图6所示。

      图  6  实际检测效果图

      Figure 6.  Detection in real driving scene

    • 目标识别与框选是实现无人驾驶的关键技术。本文提出采用基于深度网络VGGNet的新型检测算法SSD进行驾驶场景中的关键目标检测,可同时实现驾驶场景中的9类关键目标的识别、语义标注和目标框选。根据实际应用场景,提出了改进的SSD_ARC算法,通过优化梯度更新算法、学习率下降策略,先验框生成策略,提高了检测精度,特别是小目标的检测精度,检测速度满足实时检测需求。

(6)  表(6) 参考文献 (16) 相关文章 (14)

目录

    /

    返回文章