基于改进Faster R-CNN的复杂环境车辆检测

基于改进Faster R-CNN 的复杂环境车辆检测
李品伟,  代冀阳,  应    进
(南昌航空大学 信息工程学院,南昌 330063)
[摘 要]针对复杂环境下的车辆检测,提出了一种改进的更快速区域卷积神经网络(Faster R-CNN )算法。对于传统Faster R-CNN 算法应用于车辆检测时具有漏检、错检以及运行速度慢等问题,本研究通过添加更多复杂环境下的车辆数据集,改进原有模型的非极大值抑制(NMS )算法以及融合批量规范(batch normalization, BN )算法对其进行优化。试验证明,改进后的Faster R-CNN 相较于Faster R-CNN 在数据集上的综合平均识别率提升了4.86%,提升效果较为明显。[关键词]车辆检测; Faster R-CNN ; 批量规范化; 目标检测
[中图分类号] TP 391.4       [文献标志码] A      doi :10.3969/j.issn.2096-8566.2020.03.011[文章编号]2096-8566(2020)03-0073-07
Vehicle Detection Method Based on Improved Faster R-CNN
LI Pin-wei , DAI Ji-yang , YING Jin
(School of Information Engineering, Nanchang Hangkong University, Nanchang 330063, China )
Abstract : For  vehicle  detection  in  complex  environments, an  improved  Faster  R-CNN  algorithm  is  proposed. For  the  traditional Faster  R-CNN  algorithm  that  has  problems  such  as  missed  detection, false  detection, and  slow  running  speed  when  applied  to vehicle  detection, this  study  adds  more  vehicle  data  sets  in  complex  environments, improves  the  non-maximum  suppression algorithm  of  the  original  model, and  integrate  batch  norm  algorithm  to  optimize  it. Experiments  have  proved  that  the  improved Faster R-CNN has a 4.86% increase in the comprehensive average recognition rate on the data set compared to Faster R-CNN, and the improvement effect is more obvious.
Key words: vehicle detection ; faster R-CNN ; batch normalization algorithm ; target detection
引 言
在传统车辆检测模型过程中,通常是在待检测图片中通过对检测目标的一些先验知识来设计特征提取算子,然后将感兴趣的区域送入训练好的分类器。如Tsai 等
[1]
单向排水阀利用正则化彩边缘信息设计颜特征,快速到车辆颜并定位成感兴趣的区域,再通过边缘地图的小波变换系数来构建多分类器对感兴趣的区域进行验证。Jazayeri 等[2]
韩先良
在研究视频流中的车辆检测及跟踪任务中,利用底层几何特征信息与车辆动态信息结合,并利用隐马尔科夫模型将目标车辆从背景中区分出来。Kenan 等
[3]
提出了一种基于多尺度边缘融合的车辆检测方法,该方法改进了在车辆检测结果容易受背景和噪声
[收稿日期]2020-07-10   [修回日期]2020-08-13[基金项目]国家自然科学基金(61663032)
[通讯作者]代冀阳(1966— ),男,博士,教授。主要研究方向:飞行器飞行控制、多智能体控制及智能控制等。
第 34 卷 第 3 期南昌航空大学学报:自然科学版
Vol. 34    No. 32020 年 9 月Journal  of  Nanchang  Hangkong  University: Social  Sciences Sept.    2020
干扰的问题。这些传统的目标检测存在2个主要问题:1)手工设计的特征提取只针对某种特定的场合,缺乏泛化能力;2)需要对特征进行融合,再通过分类器进行训练,过程复杂。
2013年,Sermanet 等
[4]
提出的Over Feat 算法
首次在目标检测任务中使用卷积神经网络来进行特征提取。之后,目标检测出现了2种不同的研究方向,一个是基于候选区域(region proposal )的方法,一个是基于回归的方法。其中基于候选区域建议的方法有:Girshick 等
[5]
提出的R-CNN 算法,通
过Selective Search 代替传统的滑窗操作来提取感兴趣的候选区域,不过该方法的缺点是耗时长;He 等
[6]
提出的空间金字塔池化网络(SPPNet )可以
对任意尺度的图像进行处理同时速度也较R-CNN 快很多;Girshick 等
胶囊模具
[7]
针对R-CNN 重复卷积的问题并借鉴了SPPNet 的ROI pooling ,提出了Fast R-CNN 网络;Ren 等
[8]
针对Fast R-CNN 使用
第三方Selective Search 提取region proposals 的问题,采用RPN 代替,提出了Faster R-CNN 网络,并且首次实现了检测网络的端到端(end to end );文献[9-11]为对Faster R-CNN 的相关改进应用;Dai
奶啤酒[12]
针对分类的平移不变性和检测的平移敏感性
提出了R-FCN 网络。
受上述文献启发,本研究利用改进的Faster R-CNN 算法对复杂环境下的车辆进行检测。针对恶劣环
境,如大雾、大雪环境下车辆检测准确度低问题,对训练数据集进行均值模糊以及添加椒盐噪声等数据增强处理,以提高模型在恶劣环境下的检测效果;针对上下班等车流高峰时段存在大量的车辆漏检问题,将传统的非极大值抑制(NMS )算法替换成Soft-NMS 算法,可大大减少车辆漏检情况;针对网络训练调参过程的复杂和耗时问题,融合了批量规范化(batch normalization ,BN )算法,使网络训练能够使用较大的学习率并加快网络的训练速度。
1    Faster R-CNN 目标检测
采用的车辆检测模型为Faster R-CNN ,该模型主要是通过区域建议策略,提取拍摄的道路视频流中的每一帧图像作为检测输入,然后在将得分高的目标框进行车辆检测。图1为车辆目标检测Faster R-CNN 模型。
原始检测图像
标记检测图像中的车辆
RPN
前/背景检测
候选区域调整
特征映射图
CNN 模型
特征提取
RoI 池化层目标分类候选区域调整
候选区域
...
图 1  车辆目标检测Faster R-CNN 模型
对于任意1张/帧待检测图像,先输入到卷积神经网络(CNN )中进行目标特征提取,我们这里采用的VGG-16网络,进而得到特征映射图。将特征映射图送入区域建议网络(RPN )并对图中每个特征点利用softmax 激活函数得出其为前景也就是
目标的概率值,若结果为前景则在特征点对应于检测图像的位置处生成若干候选区域。接着将候选区域送入RoI 池化层生成4 × 4维度的特征图,对每个小框又进行softmax 函数计算内部物体的具体分类。
• 74 •南昌航空大学学报:自然科学版第 34 卷
1.1  卷积神经网络的特征提取
选用VGG-16型卷积神经网络(CNN )对复杂环境下的道路车辆检测图像进行特征提取。VGG-16网络总共包含有13个Conv 卷积层,13个函数激活层以及4个Maxpool 最大池化层,网络结构参数见表1。
表 1  VGG-16网络结构表
类型/层数卷积核数量
卷积核大小 /步长
输出特征尺寸
Conv1_x/264
3 × 3/122
4 × 224
Maxpool    2 × 2/2
Conv2_x/2128  3 × 3/1112 × 112
Maxpool    2 × 2/2
Conv3_x/3256  3 × 3/156 × 56
Maxpool    2 × 2/2
Conv4_x/3512  3 × 3/128 × 28
Maxpool    2 × 2/2
Conv5_x/3512  3 × 3/114 × 14
l 三通道彩道路车辆检测图片作为原始输入,假如第层为卷积层,则卷积后的输出为:
x l j =f
(∑
i ∈M j
x l −1
i ∗k l i j +b l j
)
(1)
x l j i k l i j i b l j 其中:f (•)为ReLu 激活函数;为该卷积层的第个输出;*表示卷积操作;为第个输入的卷积核;
为该卷积层的偏置。
m 假设第层是RoI 池化层,则池化后的输出为:
x m j
=
f (b m j +βm j down (x m −1
j
))(2)
βm j b m j x m −1j 其中:f (•)表示softmax 激活函数;down (•)表示对输
入矩阵求和;表示连接权重;表示该池化层的偏置;表示该池化层的输入。
1.2  RPN 候选区域生成区域建议策略网络(RPN )模型如图2所示。区域建议网络的作用有2个:第一个是利用分类层判断候选区是否存在目标车辆,并输出检测点分别是背景和前景的概率;第二个是利用回归层来标定目标候选框。
2    改进Faster R-CNN
为了提高复杂环境下的道路车辆检测的准确率,针对传统算法的不足,本研究做出了3点改进:针对恶劣天气(如暴雨,大雾,大雪等)对检测模型的影响,建立了复杂环境检测图像样本库以提高特征提取的强鲁棒性和候选区域生成的准确性;针对上下班等车流高峰时段存在大量的车辆漏检问题,将传统的非极大值抑制(NMS )算法替换成Soft-NMS 算法;针对网络训练调参过程的复杂和耗时问题,融合了批量规范化(batch normalization ,BN )
算法,使网络训练能够使用较大的学习率并加快网络的训练速度。
2.1  自制复杂环境车辆检测数据集
目前车辆检测中采用VOC2012数据集训练出来的模型对于单个车辆的识别准确率比较高,但是当出现多辆车堆叠或者图像模糊等情况则检测效果很差。通过分析数据集发现,VOC2012数据集中车(car ,bus )类数据并不包含复杂环境中的车辆数据图片,因此模型在训练的过程中无法学习到复杂环境下的车辆特征,进而难以达到理想的检测效果。
因此,本研究采用选择性搜索SS (
Selected Search )算法
[13]
辅助判别和标记样本中的目标类别
和位置,并对含目标的图片进行均值模糊处理及添加椒盐噪声,见图3,以此构建复杂环境车辆数据集,并将该数据集添加到原有数据集中供模型训练。2.2  批量规范处理
[14]
(BN 算法)
BN (batch normalization )层的基本思路:将每
256维特征向量
...
回归层
2k  个判别集合4k  个边框坐标集合k  个特征探测器
分类层
图 2  区域建议网络(RPN)模型
第 3 期李品伟 ,代冀阳 ,应    进 :基于改进Faster R-CNN 的复杂环境车辆检测
• 75 •
层神经网络的输入分布通过一定的规范化处理,使得该输入值的分布被强行限制在均值为0,方差为1的标准分布内。使用BN 算法可以让训练过程速度大大加快并且可以避免在训练过程中可能出现的梯度消失问题。
纸张打孔机
z l 本研究在VGG-16网络的卷积层输出后加入BN 算法,对卷积后的输出数据分布进行规范化处理,于是处理后的数据分布被强行限制在均值为0,方差为1的标准分布内,再送入Relu 激活函数。假设为网络的第层输入数据,于是有
µ=1m ∑i z i σ2=1m ∑i (z i −µ)2z i norm =z i −u √σ2
(3)
m εε其中,为一个batchsize 包含的数据量,的作用是为了防止分母为0且取值为10−8
。2.3  Soft-NMS 算法
[15]
M M 非目标检测任务中非极大值抑制(NMS )发挥着关键作用。该算法通过到得分最大的检测框
低频振荡并将其余检测框与得分最大检测框计算交并
比(IoU ),也称作重叠度;最后,抑制交并比大于程序设计的阈值的检测框。本研究采用的Faster R-CNN 由于候选区域网络将生成大量的检测框并且
重叠度非常高,因此在原始算法中同样采用了非极大值抑制来减少检测框过度重叠导致同一目标多个检测框的问题。交并比(IoU )计算公式如下所示:
IoU =(A ∩B )/(A ∪B )
(4)
A B 其中,和为2个候选区域面积。交并比,即检测框A 、B 重叠的面积占A 、B 面积之和的比例:
IoU =S I /(S A +S B −S I )
(5)
S I S A S B 其中,表示检测框A 、B 重叠区域所占的面积,
表示检测框A 所占的面积,表示检测框B 所
占的面积。传统的非极大值抑制算法计算公式如式(6)的分数重置函数:
S i =
{
S i IoU (M ,b i )<N t 0IoU (M ,b i )⩾N t
(6)
S i
i N
t b
M b
i b i b i M N t 其中,表示第个检测框的得分分数;表示预先设定的一个判断阈值;表示其他说有检测框集合;
表示得分最大的检测框;表示集合中的第个
检测框。在式(10)中,算法采用了固定阈值对是否保留相邻检测框进行判别。需要注意的是这种方法存在一点不足,就是当检测框检测到的物体包含在最大检测框当中时,如果设置的值比较低,那么此目标有可能会被漏检。不同于传统NMS ,Soft-NMS 并不会直接将大于阈值的检测框抑制,而是对其进行一定程度的削弱。
Soft-NMS 分数重置函数表示为:
(a) 未处理汽车(b) 模糊处理的汽车(c) 添加噪声的汽车
(d) 未处理公交(e) 模糊处理的公交(f) 添加噪声的公交
图 3  自制复杂环境数据集
• 76 •南昌航空大学学报:自然科学版第 34 卷
S i={
S i IoU(M,b i)<N t
S i(1−IoU(M,b i))IoU(M,b i)⩾N t
(7)
3    试验结果与分析
3.1  数据集及试验环境
试验数据集选自VOC2012数据集,该数据集总共含有17 125张图片,总共包含20种类别,并且通过脚本搜索出1284张包含对象car和对象bus的图片,对其随机抽取350张进行复杂环境车辆检测数据集制作。试验采用tensorflow( github/tensorflow)作为深度学习框架使用
GPU对训练过程进行加速,使用的硬件配置为Intel i7处理器、16 G内存、NVIDIA GeForce GTX 1080显卡、显存8 G;软件环境是Ubuntu14.04系统,python3.7,GPU加速库采用的CUDA8.0.44和CUDNN6.0.21。
3.2  识别结果
在Faster R-CNN目标检测的基础上,主要进行了3方面的改进:1)添加了自制的复杂车辆检测数据集;2)使用了批量规范化处理(BN)算法改进网络;3)使用Soft-NMS算法代替传统的NMS算法,并分别做了对比试验。本试验将原始Faster R-CNN原有模型分别与改进后的模型进行对比分析。评价指标选用平均识别率(Average Precision,AP)见式(8),模型检测结果见表2。
AP=
1
P(R)d R(8)由表2可见,通过添加自制复杂车辆检测数据集,综合平均识别率提高了4.36%,提升幅度最大;通过对网络添加BN算法,综合平均识别率提高了0.74%,进一步加入自制数据集,综合平均识别率又提高了4.02%;采用Soft-NMS代替原有的NMS算法,模型的综合平均识别率提高了2.13%;最后,改进后的Faster R-CNN模型的综合平均识别率由原始的86.32%提升到91.18%,提升幅度为4.86%效果显著。改进前后道路车辆检测对比图见图4,可以看出,未改进的Faster R-CNN对于复杂环境中的车辆存在很多漏检的现象,而改进后的Faster R-CNN则效果要好很多。
表 2    模型测试结果对比%
模型
目标检测
AP
mAP
car
bus
Faster R-CNN84.13
88.5086.32
Faster R-CNN+BN85.4188.7387.06
Faster R-CNN+BN+Soft-NMS86.8790.0288.45
*Faster R-CNN89.1692.2090.68
*Faster R-CNN+BN89.8892.2991.08
*Faster R-CNN+BN+Soft-NMS90.0492.3391.18
注:其中*表示训练数据集中加入了自制的复杂环境车辆检测
数据。
第 3 期李品伟,代冀阳,应进:基于改进Faster R-CNN的复杂环境车辆检测• 77 •

本文发布于:2024-09-22 13:36:18,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/140551.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:检测   车辆   进行   数据   区域   目标   环境
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议