APP下载

基于Faster R-CNN 和增量学习的车辆目标检测①

2020-03-23张子颖

计算机系统应用 2020年2期
关键词:增量卷积车辆

张子颖, 王 敏

(河海大学 计算机与信息学院, 南京 210098)

1 引言

随着科学技术的发展, 智能交通系统应运而生.智能车辆作为智能交通系统的重要组成部分, 成为了研究人员研究的热点问题.智能车辆包括车辆自动驾驶技术和车辆目标检测技术, 其中车辆目标检测技术是智能车辆领域和智能交通系统的重要应用, 它在提高车辆自动驾驶技术安全性方面起着关键的作用.国内外研究人员对车辆目标检测提出许多不同的算法, 这些算法主要分为机器学习和深度学习两类.张全发等使用梯度方向直方图(HOG)结合支持向量机(SVM)分类器进行训练, 实现了工程车辆图像检测.但是该方法对于车辆边缘的定位不太理想[1].Zhang YZ 等改进了多维Haar 特征和Adaboost 算法, 实现了级联分类器训练, 从而实现了可靠的车辆检测.与传统的算法相比,它可以有效提高车辆检测的准确率和检测效率[2].Qiu QJ 等利用Adaboost 分类器对车辆类别进行分类[3].上述机器学习算法, 大多都是基于人工设计的特征, 这些特征都有自己应用的局限性, 算法泛化能力和鲁棒性不太理想[4], 为改善这些算法的弊端, 基于深度学习的卷积神经网络应运而生.如今, 卷积神经网络已广泛应用于目标检测.其中, 基于区域的卷积神经网络发展非常迅速, 包括R-CNN、Fast R-CNN、Faster R-CNN、MS-CNN.R-CNN 采用Selective Search 方法得到物体候选框, 然后送入卷积神经网络提取特征, 最后通过SVM 分类器获得最终的检测结果, 该方法效率低, 计算复杂.Fast R-CNN[5]采用兴趣区域(ROI)池化层得到候选框, 大大提升了检测效率.但提取候选框需要大量时间, 因此降低了整体的检测效率.Faster R-CNN[6]设计了一个区域建议网络(RPN)来生成区域建议框, 采用共享卷积层特性来提高速度和性能, 但它对小目标的检测效果不太理想[7].MS-CNN[8]由提议子网和检测子网组成, 该算法精度明显提高, 大大节省了内存和计算量, 但它需要高设备性能的支持.

目前, 国内外研究人员对车辆目标检测已有不错的研究成果.曹诗雨等使用Fast R-CNN 算法对公交车和小汽车两类图像进行训练和测试, 证明了测试样本场景与视觉任务的相关度, 以及车辆形变的程度决定了车辆检测的最终效果[9].桑军等使用Faster R-CNN目标检测模型与ZF、VGG16、ResNet101 3 种卷积神经网络分别结合的策略, 验证了该方案在BIT-Vehicle和CompCars 两个数据集上的泛化能力[10].陈超时等提出一种新的车脸定位的方法, 该方法通过修改卷积神经网络结构来解决车脸识别在无车牌情况下无法定位的问题, 取得良好的检测精度和较快的实时处理效率[11].Zhang YJ 等提出使用多线程技术通过并行计算来检测和跟踪车辆[12].徐乐先等结合过融合数据分层法和Timsort 算法实现对停车场停车位的检测[13].

本文主要提出一种基于增量学习的车辆目标检测方法, 结合国内外目前的研究近况和现有的设备支持,选用Faster R-CNN 算法与VGG16[14]、ResNet101 两种卷积神经网络分别结合的策略, 多次测试数据集, 最后对比测试结果.实验结果表明, 与未使用增量学习方法的车辆目标检测方法相比, 识别精度得到了显著提高.

2 基于Faster R-CNN 和增量学习的车辆目标检测算法

对交通道路上的车辆目标分类检测的困难在于图像中总会存在不完整的待检目标.监控视频和人为拍摄图像中的车辆在大小、姿态上都会有很多的变化.本文使用Faster R-CNN 网络对车辆进行提取特征并检测目标.

2.1 网络结构

基于Faster R-CNN 的车辆目标检测网络结构主要由3 部分构成: 卷积层、RPN 层和坐标回归层.其中卷积层用来提取图像特征, 特征提取部分与普通CNN 网络特征提取结构相似, 用一串卷积层和pooling 从原图像中提取feature map.本文使用VGG16 和ResNet101分别实现车辆目标的特征提取.RPN 层是Faster R-CNN提出的全新结构, 作用是通过网络训练的方式从feature map 中获取目标的大致位置, 在下一小节中, 将对RPN结构做详细地介绍.全连接层将接受特征提取所产生的特征向量, 所有特征向量将输入全连接层最终将结果共享, 产生两个支路, 进入两个不同的层中.一个层负责利用Softmax 回归计算图像中目标类别的概率估算值, 另一个层负责输出用来表征每个图像上目标类别检测框坐标的4 个值(检测框左上角坐标(x, y)和右下角坐标(w, h)).该网络结构图如图1 所示.

2.2 RPN 网络

区域建议网络RPN 与传统的Selective Search 方法的作用相似, 都是输出一批矩形候选框, 但RPN 网络更高效[15].RPN 的主要功能是根据特征图和输入图像生成候选窗口.整个过程分为两个步骤: (1)将特征图上的每个特征点映射到输入图像的相应位置, 以输入图像中的位置为中心绘制一个区域建议框.(2)通过计算候选区域和原标记框之间的IoU 来获得候选窗口的样本, 将候选窗口的样本和特征点用于监督训练.回归层用于确定候选窗口的位置和大小, 分类层用于确定候选窗口的前景和背景置信得分.具体过程如图2 所示.

图1 基于Faster R-CNN 的车辆目标检测网络结构图

图2 RoI 的生成过程

感兴趣区域(RoI)生成过程中, 输入的是图像, 输出是候选区域.如果IoU>0.7, 候选区域被视为正样本,IoU<0.3, 候选区域被视为负样本, 当0.3<IoU<0.7 时,候选区域视为放弃.

监督训练过程输入是图像和标签, 输出是候选区域的置信度得分和坐标.回归层用于微调候选区域的位置.候选区域可以通过分类层获得置信得分, 通过回归层和分类层获取对象和对象的位置, 通过候选区域的置信得分和坐标来获得候选窗口.具体过程如图3所示.

图3 监督训练过程

2.3 增量学习

随着人工智能和机器学习的发展, 出现了很多机器学习算法, 这些算法大都是批量学习模式, 即假设在训练前可一次性获取所有训练样本, 学习已知样本后,学习过程即终止.对已学习到的模型, 存在各种缺陷,若只使用同一样本反复训练, 机器学习到的特征有限,会限制模型的有效性.增量学习算法可以渐进地更新知识, 对机器学习增加新的样本知识, 可修正和加强以前的知识, 使更新后的模型更完善.

在本文中, 对VOC2007 数据集中车辆目标的检测存在两个问题: (1)车辆目标形变较大, 小目标车辆较多, 使用VOC2007 数据集训练所得的模型对小目标车辆的检测效果不太理想; (2) VOC2007 数据集中图像背景比较复杂, 机器学习不能更为准确地提取单一车辆目标的特征, 导致待检图像中一些截断式车辆目标被漏检.为解决这两个问题, 选用了MIO-TCD 数据集作为增量数据集对原模型进行重新训练测试, 选择理由主要有两个: (1)该数据集中小目标车辆较多, 可以很好地学习小目标车辆的形态特征; (2)该数据集的图像背景较为单一, 可以更加精准地学习车辆目标的特征,减少了很多区域框内的背景干扰因素.

2.4 算法描述

对道路上车辆目标的检测存在很多问题影响检测效果, 本文以VOC2007 数据集的检测结果为例, 直观分析在VOC2007 数据集上进行的车辆目标检测效果,可以发现: (1)图像中远处小目标出现错检漏检的情况;(2)对图像边缘截断式待检目标出现漏检; (3)对待检目标重叠遮盖区域部分出现错检漏检.为解决这些问题, 本文提出一种基于增量学习的车辆检测方法, 该方法分为两个阶段, 即训练阶段和测试阶段.在训练阶段,重新训练在ImageNet 上预训练后的初始参数的卷积神经网络, 以获得车辆检测模型; 在测试阶段, 将测试样品输入检测模型以获得测试结果.

为证明本文方法的有效性, 在训练阶段首先使用VOC2007 数据集训练网络得到车辆检测模型A, 并使用VOC2007 数据集测试模型A, 得出测试结果; 其次,选用MIO-TCD 数据集作为增量学习的数据集, 将MIO-TCD 数据集加入到VOC2007 数据集中重新训练网络, 得到车辆检测模型B, 使用原测试集加MIOTCD 数据集中分配出的测试集测试模型B; 最后, 对比模型A 和模型B 的测试结果.整个方法流程如图4 所示.

3 实验分析

3.1 实验环境与数据集

实验选取了Faster R-CNN+VGG16、Faster RCNN+ResNet101 对使用增量学习数据集和原数据集进行对比, 实验环境: 操作系统为Ubuntu18.04, 训练GPU 为2 块1080Ti, 内存为448 GB.

实验所用数据集包括原数据集与增量学习数据集,原数据集使用的是来自VOC2007 数据集中bus、bicycle、car、motorbike 等4 类车辆图像, 共计3599 张带标签图像; 增量学习数据集为MIO-TCD 数据集中随机挑选出1000 张包含bus、bicycle、car、motorbike 等4 类车辆图像, 4 类图像平均分布, 使用labelImg 标注工具, 将1000 张车辆图像按照VOC2007格式进行标注.

3.2 实验结果及分析

实验首先对原数据集按照训练集与测试集8:2 的比例随机分配, 将训练集输入到网络中通过训练迭代得到车辆目标分类模型, 再将测试集输入到训练好的模型进行测试, 测试结果如图5 所示.

图4 基于增量学习的车辆目标检测方法流程图

图5 使用模型A 测试结果示例图

由图5 可以看出, 使用Faster R-CNN 网络训练出的车辆分类检测模型去检测车辆目标, 检测能力方面体现出非常优秀的效果.对背景清晰单一并且重叠遮盖较少的待检目标, 检测区域置信度高达0.98 以上, 但是, 在复杂的背景下, 如背景干扰目标较多、待检目标互相遮挡重叠、待检目标车体大部分超出图片区域等,此时容易出现漏检错检或检测框置信度较低的情况.

为解决这些问题, 我们将增量学习数据集按照训练集与测试集8:2 的比例随机分配, 再将增量学习数据集与原数据集合并, 将新的训练集输入到卷积神经网络中重新训练车辆目标分类模型, 最后将测试集输入到新的模型进行测试.为直观的区别使用增量学习数据集为车辆目标分类任务带来的改进, 我们在原测试结果与新的测试结果中分别挑选出4 组相同的图像进行对比, 对比图如图6.

由图6 可以看出, 图6(a)虽检测到汽车遮挡截断的左前方车辆, 但区域建议置信度只有0.946, 且对右前方截断式的car 目标完全漏检, 而使用增量学习数据集重新训练并测试后, 图6(e)不仅对左前方遮挡截断式的car 目标提高了置信度到0.990, 并且也检测到了右前方car 目标.同样, 图6(b)中, 对远处小目标有良好的检测效果, 但对图片左右边缘处的截断式car 目标漏检, 而图6(f)对图6(b)中漏检的目标做了很好的修正.对重叠严重的bicycle 目标图6(c), 区域建议框标注并不十分准确, 置信度相对较低, 且对远处模糊的目标出现漏检错检情况, 在图6(g)中, bicycle 目标检测框明显变得更为准确, 置信度比原图像的置信度要高, 对远处目标检测也给出了修正结果.更为明显的图6(d)与图6(h)对比, 可以明显看出使用增量学习数据集方法对重叠的待检目标有良好的检测效果.

图6 对截断式和重叠区待检目标测试结果对比图

在主观评价后, 表1 中使用具体数据对实验结果进行了客观展示.由于召回率准确率存在单点值局限性的问题, 所以本文采用AP 值来反映检测结果.AP 值为平均准确率, 是一个能够反应全局性能的指标, 准确率召回率曲线下的面积即为AP 值.mAP 值为所有不同类AP 值的平均值, mAP 值越大, 检测效果越好.

表1 实验结果

4 结论与展望

本文提出一种增量学习和Faster R-CNN 的车辆分类识别的方法.该方法有效地利用了Faster R-CNN 算法端到端的网络结构, 能够快速、鲁棒地检测车辆目标.实验结果表明, 使用Faster R-CNN 卷积神经网络结构结合增量学习数据集创新性地训练图像, 能够从图像中提取更加全面丰富的目标特征, 使用所得车辆目标分类检测模型测试数据集, 从主观和客观两个角度来分析, 能够明显看出本文方法存在的优势.然而, 我们从结果中也发现很多不足的地方, 包括: (1)对远处的小目标仍会出现漏检错检情况; (2)在昏暗背景下对目标的检测, 给出的区域建议框置信度较低; (3)在更为复杂的背景下, 如闹市背景目标重叠度太大、背景干扰目标较多等, 检测效果仍需改进.因此, 在接下来的研究中, 解决上述问题是未来研究的关键.

猜你喜欢

增量卷积车辆
基于全卷积神经网络的猪背膘厚快速准确测定
导弹增量式自适应容错控制系统设计
研发信息的增量披露能促进企业创新投入吗
提质和增量之间的“辩证”
德国车辆来波兰加油
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
特大城市快递垃圾增量占垃圾增量93%
车辆