基于全局和局部卷积特征融合的车辆目标检测

2018-12-26 07:34黄俊洁陈念年
西南科技大学学报 2018年4期
关键词:尺度卷积车辆

黄俊洁 陈念年 范 勇

(西南科技大学计算机科学与技术学院 四川绵阳 621010)

近几年,随着我国交通逐渐发达,交通车辆种类繁多,其数量也在高速增长,对智能交通系统建设的需求日益增多。车辆目标检测是智能交通系统中的关键技术,也是计算机视觉领域的热点之一。由于在实际场景中车辆通常处于复杂环境里,如背景变化、目标遮挡、阴影以及拍摄角度和高度不同导致的车辆自身形变和尺度变化等问题,都是目前车辆目标检测技术面临的主要难题。

车辆目标检测技术是先通过特征提取方法获得图像中的特征,然后利用分类器对特征进行分类,从而实现图像中车辆的定位与识别。经典的特征提取算法有HOG(Histrogram of Gradient)和SIFT(Scale-invariant Feature Transform)等,这些手工定义的特征被提取后,输入到分类器进行识别,常用的分类器有支持向量机(Support Vector Machine,SVM)和迭代器(AdaBoost)等。基于多尺度变形部件模型算法(Deformable Part Model,DPM)[1]是传统检测算法的代表,该算法将物体划分成多部件,利用部件之间的联系来描述物体,在目标检测上取得了良好的效果。康珮珮等[2]对可变性部件模型进行了改进,减少模型参数,提升了检测速度,但是在遮挡情况下效果较差。传统检测算法主要是适应某种特定的识别任务,需要研究人员具有丰富的经验,进行特征的筛选,其泛化性、鲁棒性较差,难以有效解决实际的车辆检测问题。

随着深度学习技术的快速发展,引入深度学习方法的目标检测技术在精度和速度上得到了突破性的进展。与传统的手工特征相比,利用深度学习技术提取的特征具有更丰富的语义信息,对实际场景的干扰因素具有更好的鲁棒性。目前基于深度学习的目标检测技术大致分为两类,第一类为两阶段(two-stage)检测方式,其代表算法为RCNN[3],Fast RCNN[4],Faster RCNN[5]等系列算法,该类算法需要先提取候选区域框,然后对候选区域的特征进行分类,定位目标的位置;第二类为一阶段(single-stage)检测方式,其代表算法为YOLO[6-8],SSD[9]等算法,该类算法将检测任务简化为回归问题,即在输入图像中多个位置上回归出目标的位置和类别,大大加快了检测速度,增加了实时性。相对第二类算法,第一类算法具有精度上的优势,但是只使用主干网络的最后一层的单尺度特征图进行分类与定位,单一的感受野不能很好地适应多尺度的目标,容易忽略小目标,造成小目标漏检。随后出现的目标检测技术解决了遗留的问题。FPN[10](Feature Pyramid Network)算法通过引入特征金字塔,将不同层的特征组合成不同尺度的语义特征,以解决多个尺度上的检测问题。MS-CNN[11]算法利用卷积神经网络每层具有不同感受野的特征图的特性,对于不同的输出层设计不同尺度的目标检测器,完成多尺度下的检测问题。Florian等[12]提出了一种基于单目图像检测车辆并预测3D信息的框架Deep MANTA,能克服大的物体的大小变化,提供更高的准确度,并保持高分辨率。深度学习的方法应用于车辆检测有诸多的优势和实际的应用价值[13]。

大多数基于深度学习的车辆检测算法都是通过图像的全局特征进行检测识别,但在车辆种类繁多且其外观极其相似的情况下,容易造成误检现象,而且随着卷积层的不断加深,算法对目标的平移可变性逐渐减弱。本文针对处于复杂环境的多类车辆,提出一种融合全局特征和局部特征的检测方法。通过特征金字塔构建多尺度特征,进而生成不同尺度的候选目标区域;引入全局特征和局部特征,增加检测网络模型的平移可变性,使得算法对目标尺度、遮挡等影响因素更具有适应性。在UA-DETRAC数据集以及构建的施工场景数据集上,与多种主流方法分别进行对比实验,从达到的各项性能指标来看,本文方法具有更优的检测性能。

1 车辆目标检测算法

本文算法采用与Faster RCNN类似的两阶段(two-stage)检测算法,主要由区域建议网络RPN(Region Proposal Networks)生成候选区域框和Fast RCNN检测器两部分组成。整个处理网络结构如图1所示。为了避免单尺度特征图造成的漏检现象,采用FPN算法提取的多尺度特征金字塔作为RPN的输入,提高候选区域框的质量。通过融合全局特征和局部特征进行检测任务,其中全局特征包含图像的上下文信息和整体结构信息,而局部特征主要是提取目标部件特征,并在特征图中植入空间位置信息,增加目标内部的部件变化敏感性,可以解决出目标的形变问题。最后使用加权融合的方式将两部分特征结合,输入到分类器中实现定位识别。

1.1 全局特征提取

1.1.1 多尺度候选区域生成

卷积神经网络从低级层到高级层具有逐渐增强的语义信息,利用这种层级结构可以构建高语义的特征金字塔网络FPN。FPN算法的网络由全卷积构成,输入一张任意的图像,在各个特征层分别输出不同尺度的特征图。该网络有3个传播方向:自底向上、自顶向下以及横向连接。网络结构如图2所示。

图1 本文车辆目标检测算法框架模型Fig.1 The framework model of vehicle target detection algorithm

图2 特征金字塔网络Fig.2 Feature pyramid network

自底向上方向是指传统卷积神经网络前馈传播方向,逐层计算出不同尺度以及语义递增的特征图,包含的定位信息较多,如图2所示,由基础网路ResNet-50中的5个卷积层(Conv2,Conv3,Conv4,Conv5,Conv6)分别输出的特征图{C2,C3,C4,C5,C6},与原输入图像的缩放比例为{4,8,16,32,64}。自顶向下方向是通过上采样逐层恢复出较高分辨率的特征图。虽然上采样的特征图较为粗糙,缺乏细节信息,损失了目标的空间信息,但是具有更强的语义信息。因此,通过横向连接将两种特征图按照相同尺度进行结合,生成对应空间分辨率的特征图{P2,P3,P4,P5,P6},实现特征互补。

本文算法在Faster RCNN的基础上将FPN算法生成的特征金字塔取代单一特征层作为RPN的输入,实现在不同大小感受野上检测多尺度目标,以提高目标检测精度。算法中特征金字塔每层对应的RPN网络生成不同尺度的锚框,如特征图{P2,P3,P4,P5,P6}分别对应生成尺度为{322,642,1282,2562,5122}的锚框。如果一个锚框的重叠度(IOU,Intersection over Union)大于设定的阈值threshold,则给这个锚框标记成1,表示正样本,反之将其标记为0,表示负样本。根据锚框的预测得分从大到小排序,选择前N个锚框映射回原图像,如有超出图像边界的锚框,需进行裁剪超出部分。最后使用非极大值抑制算法对这些锚框进行筛选,选择得分靠前的Ns个锚框作为候选目标区域框传给检测部分。

1.1.2 上下文信息

在实际场景中目标总是处于某种环境中,环境会对目标产生影响,目标与环境之间的相互作用信息即为上下文信息。通常捕捉目标与场景之间的上下文信息对目标进行识别、处理,有助于将目标从复杂的环境中区分出来,提高识别的精确度。在本文算法中,从基于多尺度特征图生成的候选目标区域周围选取特定区域,提取上下文信息。如图3所示。红色框表示候选目标特征块,蓝色框表示包含了目标和周围背景的特征块,上下文信息将在候选目标周围的背景中提取。经过ROI池化层提取对应区域的特征后,采用一个1×1的卷积层进行归一化,然后由全连接层进行处理,最后进行特征融合。

图3 上下文信息提取框架图Fig.3 Context information extraction framework

在生成的候选区域框的基础上将背景区域包含进来,扩大特征图的感知区域,使得网络模型学习到更多的环境信息,能更好地从复杂背景中将目标区别出来。

1.2 局部特征提取

当卷积神经网络变深后经最后一层卷积层输出的特征图变得很小,但感受野变得很大,所以目标在输入的图像上发生小偏移,在最后得到的特征图中将会感知不到,平移可变性变得很差,识别出来的位置准确度也会很差。采用位置敏感感兴趣区域池化层(Position-Sensitive ROI Pooling)提取局部特征,通过在特征聚集时人工地引入空间位置信息和部件特征,增加网络对目标位置和部件变化的敏感程度。

图4 局部特征提取框架图Fig.4 Local feature extraction framework

如图4所示,由最后一个1×1的卷积层生成n×k×k个位置敏感得分图,经过位置敏感感兴趣区域池化层将结果聚集起来,处理生成n个k×k大小的位置敏感得分图,为了降低后续层的计算量,实验中设定n=10。k×k大小的特征图表示把感兴趣区域划分成k×k的网格,其中每个颜色的立方块表示目标不同部件存在的概率值,对应感兴趣区域的上左、上中、上右、中左等不同位置。得到位置敏感得分图之后,因局部特征和全局特征维度上存在不一致的情况,采用一个1×1的卷积层进行归一化。

1.3 损失函数

本文的整个网络模型能够实现端到端的训练,为了达到车辆的检测与类型识别的同时实现效果,利用多任务损失函数对网络参数进行学习,损失函数定义为:

(1)

2 实验与分析

2.1 实验数据

本文分别对两套数据集进行了实验验证,一个源自于公共数据集UA-DETRAC(简称UA数据集),另一个是本文构建的数据集(简称SC数据集)。UA数据集是车辆检测和车辆跟踪的大规模数据集,拍摄于北京和天津的道路过街天桥,包含不同天气、不同尺度、不同遮挡度的图像共82 085张,实验中选取55 817张图像为训练数据,其余部分作为测试数据。SC数据集是本文搜集的工程车目标数据集,主要是从工程施工场景采集获得,车辆类型包括吊车(Crane)和挖掘机(Digger),共有1 924张图像。为避免由于训练数据较少造成的卷积网络模型过拟合问题,对SC数据集进行了数据增强,通过翻转、平移、灰度变换等操作,将数据集扩大至原来的2倍。经过手工标注车辆类型和位置信息后,选取其中的3 078张图像作为训练数据,770张图像作为测试数据。

2.2 训练步骤及参数配置

在训练本文算法模型时,需先对模型参数进行初始化,算法使用ResNet-50网络作为基础网络,使用在ImageNet数据集训练得到的参数作为初始值,其他部分的参数则是随机初始化。训练步骤如下:

(1)将所有图像数据按照PASCAL VOC 2007数据集格式进行转换;

(2)根据训练样本数量,对小样本数据集进行数据增强;

(3)采用随机梯度下降法对公式(1)的损失函数进行优化,获得最优的网络模型参数。

训练过程中,学习率设为0.001,UA数据集训练迭代次数为70 000次,SC数据集训练迭代次数为40 000次,分别经过约20 h的训练,获得最终的模型参数。

实验使用的软硬件平台为:Linux操作系统 Ubuntu 16.04,Intel Xeon E5-1630 v3@3.7 GHz 四核处理器,16 GB内存,Nvidia GTX 1080Ti 11 GB 显卡。实验程序在Caffe框架[14]下使用Python语言编程实现。

2.3 实验结果及讨论

为了验证本文算法模型的有效性,将本文算法与多种当前主流算法的性能进行实验对比,对比的算法包括YOLOV2,YOLOV3,SSD,R-FCN[15]。采用平均精度(Average Precision)和平均精度均值(mean Average Precision)作为定量评估指标,并绘制出PR(Precision-Recall)曲线,直观地显示出样本总体上的查全率和查准率。

表1给出的是UA数据集上训练得到的检测结果。实验中,根据检测定位框和人工标注定位框之间的IOU值来确定是否检测到了目标,在实验中设置IOU的阈值为0.5,只有当大于阈值时将检测结果视为正确目标。从表1的对比数据可得,本文算法的AP次于YOLOV3算法,但其他几种算法的性能指标则明显低于本文算法。YOLOV3算法是YOLO,YOLOV2算法的改进版本,与本文算法类似,其通过多尺度预测的方式提高对小目标的检测精度。在Car目标上,YOLOV3的AP值比本文算法高1%,其原因主要是普通车辆形变简单,YOLOV3的主干网络提取的特征能更好拟合目标。

表1 不同算法在UA数据集下的检测性能Table 1 Detection performance of different algorithms under UA data set

图5和图6为UA数据集中典型的场景,在目标重叠情况下,本文算法能更准确地检测出目标,这一点优于其他算法。

图5 5种算法在场景一的检测效果对比图Fig.5 Comparison of the detection effects of the five algorithms in the first scene

图6 5种算法在场景二的检测效果对比图Fig. 6 Comparison of the detection effects of the five algorithms in the second scene

表2显示的是SC数据集的检测性能结果。SC数据集较于UA数据集更难,原因是施工场景的背景更为复杂、多样,并且作为检测目标的工程车辆与普通车辆相比,在形态、尺度上变化更大。图7和图8显示了不同算法在典型的施工场景下的检测效果。

表2 不同算法在SC数据集下的检测性能Table 2 Detection performance of different algorithms under SC data set

图7 5种算法在场景一的检测效果对比图Fig.7 Comparison of the detection effects of the five algorithms in the first scene

图8 5种算法在场景二的检测效果对比图Fig.8 Comparison of the detection effects of the five algorithms in the second scene

从表2的结果可得,本文算法的mAP值和AP值均高于其他算法。从图7和图8中可以看出,在复杂的野外施工场景中,本文算法能够准确地检测到目标,而其他算法均存在明显的漏检现象,且R-FCN算法在图7(d)和图8(d)中都出现了误检。

在图9的PR曲线中采用平衡点(查准率=查全率,BEP)作为度量方式,算法曲线与虚线部分相交处为平衡点,点值越大,说明该算法的性能越好。如图9所示,本文算法性能优于其他算法。实验表明本文结合全局特征和局部特征进行目标检测任务,可以有效地提高算法模型的检测精度和召回率,更好地用于各种复杂场景的车辆检测。

图9 不同算法在工程车数据集上的PR曲线Fig.9 PR curves of different algorithms on the engineering vehicle dataset

3 结束语

本文将全局特征和局部特征融合实现车辆检测任务,并在工程车数据集和公共车辆数据集UA-DETRAC上训练测试,证明了本文算法对不同清晰度、不同遮挡程度、不同尺度大小和不同形变程度的场景均有良好的鲁棒性,运行效率上每幅图像处理速度在0.3 s左右,能很好地处理实际场景中的实时性问题。本文算法在夜间弱光照条件下检测效果不是很理想,需进一步提高检测精度。

猜你喜欢
尺度卷积车辆
基于3D-Winograd的快速卷积算法设计及FPGA实现
财产的五大尺度和五重应对
卷积神经网络的分析与设计
从滤波器理解卷积
车辆
基于傅里叶域卷积表示的目标跟踪算法
冬天路滑 远离车辆
宇宙的尺度
提高车辆响应的转向辅助控制系统
9