基于区域卷积网络的行驶车辆检测算法
2019-09-02曹长玉郑佳春黄一琦
曹长玉,郑佳春,黄一琦
(1.集美大学航海学院,福建 厦门 361021;2.集美大学信息工程学院,福建 厦门 361021)
0 引言
在智能交通管理系统[1]、智能视频监控系统[2]、高级驾驶辅助系统( ADAS)[3]等系统中车辆检测是必不可少的关键技术[4-5]。目前国内外关于车辆检测的研究主要有:文献[6-7]提出背景建模法,检测速度较快且具有一定的适应性,但检测时易产生黏连现象,一般只适用于固定场景;Lienhart等[8]提出帧间差分法和光流法,可用于行驶车辆检测,前者检测速度较快但准确率较低,而后者反之;文献[9-12]提出滑动窗口分类法,使用分类器对感兴趣区域的特征进行分类,其稳定性与准确率均较高,但仍存在提取特征难度大、区域选择易冗余、计算复杂、速度较慢等不足;Girshick等[13]提出R-CNN算法,采用选择性搜索法(selective search,SS)[14]选取感兴趣区域,检测识别率有所提高,但重复计算导致耗时较长。采取SPPnet[15]思路对R-CNN进行改进,进一步提出Fast R-CNN[16]算法,缩短重复计算时间,但感兴趣区域选择耗时问题仍未解决;Ren等[17]通过引入region proposal networks(RPN)网络,进而提出Faster R-CNN算法,极大缩短检测时间;Redmon等[18]提出基于回归思想的YOLO算法,检测速度快,但易出现定位问题;后来Redmon等[19]又提出YOLOv2算法,虽速度快、准确率高,但定位准确率低于Faster R-CNN。
针对多种天气与多种场景下主干道行驶车辆的实时、准确、全面检测问题,本文在对深度卷积神经网络Faster R-CNN算法研究基础之上,提出一种新的解决算法。
1 Faster R-CNN算法及优化
1.1 Faster R-CNN算法
Faster R-CNN(faster region-based convolutional neural networks)算法引入RPN网络提取目标候选区域框,该网络与检测器共享图片卷积特征。Faster R-CNN通过将特征提取、候选区域框选择、边界框回归与分类,综合在单个网络中并采用交替训练方式,提升网络的准确率与速度。
该算法通过ZF网络模型提取任意输入尺寸图片的特征,而后用于RPN网络和ROI pooling网络。RPN网络使用3×3的滑动窗口在图片特征上进行滑动,每个位置可产生由3种面积3种比例(1∶1,1∶2,2∶1)组成的9个候选区域框(anchor框)。其1×1的卷积层预测每个anchor框的偏移缩放量及目标类别概率。ROI pooling层综合利用特征图与候选区域框,产生固定大小为7×7的ROI特征,将该特征送入全连接网络进行分类与回归,输出候选区域框中的目标类别概率及对应目标精确的偏移与缩放量。
1.2 算法优化
为了提高算法的性能,本研究对算法做了以下三方面的优化(流程图见图1):
1)提取更深层次的特征。Shared Convolutionval layer层引入VGG16网络模型,将卷积层由5层扩展至13层,激活函数relu扩展至13个。
2)缩短候选区域选择时间。计算特征图尺寸(P,Q),利用网络总池化倍数将原图划分为P×Q网格,网格点用左上角及右下角坐标形式表示。根据总池化倍数,初始一组3种面积3种比例组成的anchor框,与每个网格点坐标相加,得P×Q×9个anchor框。训练过程中,为简化采样与缩短时间,从单张图片中采样256个anchor框,用于训练网络。由3×3卷积核与并列的1×1卷积核组成区域平移网络,预测anchor框的偏移、缩放、类别概率。对anchor框进行回归修正的计算公式为:rx=xa+pxwa,rw=waepw,ry=ya+pyha,rh=haeph,其中,(px,py,pw,ph)为预测anchor框的偏移与缩放量,(xa,ya,wa,ha)为anchor框的中心点、宽高坐标。限定超越图像边界的回归修正建议框,使用非极大值抑制( non-maximum suppression,NMS)算法[20]提取得分最高的2000个回归修正建议框。
3)固定回归修正建议框特征。用crop_and_resize方法代替ROI Pooling Layer层,根据图像大小对选取的回归修正建议框做归一化处理,通过裁剪调整特征大小使其为14×14。采用池化层进行降维处理,输出[128,7,7,512]形式,用于后续全连接层的输入。为防止过拟合,fully connected layer使用dropout函数。本文研究真实场景行驶车辆检测问题,自制UA_CAR数据集,避开公开数据集,优化后记为vFaster R-CNN。
2 网络训练
此外,回归损失由区域平移网络回归损失和预测网络回归损失两部分组成。文献[17]使用λ/Nreg对函数值做归一化处理,本文则使用1/Mcla方式,如:
3 仿真实验及结果分析
3.1 实验平台
本实验均在ubuntu1 6.04系统进行,处理器为lntel(R)Core i7-7700 CPU @3.60GHz×8,显卡为英伟达GeForce GTX1080,软件编程语言为python 3.5,使用TensorFlow深度学习框架进行训练。
3.2 数据集处理
本文图片采集于DETRAC数据集,该数据集场景丰富且背景复杂,图片分辨率为960×540像素。从DETRAC数据集中采集白天、黄昏、晚上和雨天图片,将采集的6203张图片与VOC_2007数据集制成VOC_UA数据集,26 820张图片制成UA_CAR数据集,使用LabelImg对图片中主干道车辆进行标注。UA_CAR数据集分为测试集、训练验证集、训练集和验证集四个子集,训练验证集占UA_CAR数据集的70%,训练集占训练验证集的70%。VOC_UA数据集的处理同UA_CAR数据集。为增强网络的鲁棒性,使用水平翻转实现数据增强,通过召回率和准确率对网络性能进行评价。
回归修正建议框的标签初始化为0,若与真实目标框的最大交并比(IOU)大于等于0.5,则将回归修正建议框定为目标框,对应类别标签置1;若IOU介于0.1与0.5之间,则将回归修正建议框定为背景框,其标签保持不变。目标框与背景框之和为128,目标框个数不高于32,余下则填充背景框。
3.3 实验结果分析
3.3.1 最优阈值
网络使用VOC_UA数据集训练模型,对11张图片进行测试,平均每张图片中主干道6.54个“car”。对NMS阈值与目标阈值进行控制变量,寻找最优参数,计算每张图平均预测个数、平均检测时间、最快检测时间(如表1所示)。
通过观察测试图片:若NMS阈值设置过大,无法过滤重叠区域较小的框,同辆车易出现复检问题;若目标阈值设置较大,则易遗漏类别概率较小且正确的预测框,引发漏检问题。经观察类别概率推理验证,当NMS阈值大于等于0.5且目标阈值小于0.7时,复检问题较多;当NMS阈值小于0.4且目标阈值大于0.7时,漏检问题突出;当NMS阈值等于0.4且目标阈值等于0.7时,检测效果较优。故在后续实验中,将NMS阈值设为0.4,目标阈值设为0.7。
3.3.2 不同数据集测试结果比较
目标框与背景框统称为回归训练框。使用VOC_2007数据集、VOC_UA数据集、UA_CAR数据集训练模型,计算预测准确率。优化后,使用UA_CAR数据集训练模型预测准确率高至98.7%,MAP最高可达90.8,且用时较少。实验结果如表2所示。
表2 不同数据集训练模型对测试影响
3.3.3 优化前后比较
为证实优化后vFaster R-CNN的有效性,使用测试集对模型进行评价。优化前Faster R-CNN平均精度均值为83.5,用时69 ms,优化后vFaster R-CNN平均精度均值达90.8,耗时85 ms,即优化后平均精度较优化前提高了7.3个百分点,证实了优化的有效性(见图2、图3)。主干道行驶车辆检测时,优化前出现定位不准确与漏检现象,而使用本文优化后的方法vFaster R-CNN,提取更为深入抽象的特征,抗干扰性强,在一定程度上解决了错检、漏检、定位不准确等问题,但随着网络层数的增加,必导致计算量的增大,增加运行时间负担。
3.3.4 不同算法比较
进一步与R-CNN,SPPnet,Fast R-CNN等算法进行车辆检测准确率、召回率的对比,结果如图4所示。随着R-CNN算法的不断改进,提取区域建议框用时逐渐减少,检测速度、准确率与召回率得以逐步提升,从而实现对多种场景与环境下主干道行驶车辆的实时检测。本文将优化后算法与其他算法[21]的车辆检测平均精度均值进行比较,结果如表3所示。
表3 不同算法的MAPTab.3 MAP of different algorithms算法Algorithm平均精度均值MAPYOLO83.2SSD85.8vFaster R-CNN90.8
4 结束语
采用本文优化方法可提取更为抽象的特征,改善了多场景与多天气条件下车辆定位、漏检、错位等问题,提高了网络的泛化性及对环境的适应性。通过对比其他目标检测算法,本vFaster R-CNN有着较高的平均精度均值(MAP)。优化后基于本研究实验平台最快检测时间为0.085s,准确率达98.7%。网络训练过程中由于目标尺寸不统一,为获得更佳效果需训练更长时间。因此,在接下来的研究中,将以图片目标尺寸为着入点,对区域平移网络再度优化处理。