一种基于Faster R-CNN的行人检测算法
2019-11-03夏金铭范伊红柳昌志段高辉
夏金铭 范伊红 柳昌志 段高辉
摘要:在校舍环境下,行人密集、遮挡、多尺度等问题比较常见,本文使用Faster R-CNN进行校舍复杂环境下的行人检测,训练样本时,引入了一种困难样本挖掘训练策略,在挑出困难样本的同时,对困难样本的权重进行调整,使训练更有侧重点;使用LabelImg对数据集进行标注,将VOC2007及标注样本进行合并得到VOC2007扩充数据集,在此数据集上进行训练及测试。实验结果显示,与Faster R-CNN常用的四步训练法相比,使用本文训练方进行训练,泛化性能得到明显的提升。
关键词 :卷积神经网络;Faster R-CNN;困难样本挖掘;行人检测;LabelImg
中图分类号:TP391 文獻标识码:A
文章编号:1009-3044(2019)24-0218-04
开放科学(资源服务)标识码(OSID):
An Algorithm based on Faster R-CNN for Pedestrian Detection
XIA Jin-ming, FAN Yi-hong*, LIU Chang-zhi, DUAN Gao-hui
(School of Software, Henan University of Science and Technology,Luoyang 471000,China)
Abstract: In the school environment, pedestrian-intensive, sheltered, multi-scale problems are common.In this paper, Faster R-CNN is used for pedestrian detection in complex environment of school buildings. When training samples, A training strategy for Difficult Sample Mining is introduced, which adjusts the weight of difficult samples while picking out difficult samples, so as to make training more focused. LabelImg is used to lable the data sampled in complex environment. Then VOC2007 and the annotated samples are merged to obtain extended VOC2007 data set. Training and testing are carried out on this basis to establish the model with good performance. The experimental results show that compared with the four-step training method commonly used in Faster R-CNN, the generalization performance is improved by using this training method.
Key words: Convolutional Neural Network;Faster R-CNN;Difficult Sample Mining;Pedestrian detection;LabelImg
校舍安保是寄宿制学校安全问题的重中之重,虽然现今学校对校舍安保极为重视,但安保人员数目毕竟有限。校舍监控辅助系统可以更好地协助安保人员的工作,因此,智能安保系统得到了广泛的关注。该系统中行人检测算法必不可少,行人检测的过程可以分为特征提取和分类两个阶段。传统行人检测常用的特征描述算子有HOG(Histogram Of Gradients)[1]、积分通道特征[2]等,其中HOG由于自身的优越性能,在行人检测特征提取方面,最为常用。分类器的选择也会直接影响检测的准确性,SVM[3]分类器由于其实现简单,效果好,也被广泛用于各种分类任务。
本文使用Faster R-CNN[5]算法进行行人识别,并且引入了困难样本挖掘训练策略提升算法泛化性能。
1 Faster R-CNN介绍
1.1 总体介绍
Faster R-CNN[5]总体可以分为三个部分:用于获取输入图片特征的卷积神经网络、用于区域建议的RPN(Region Proposal Network)、用于分类的剩余部分网络。整体结构如图1所示。
1.2 卷积层(Conv Layers)
本文算法使用VGG16[6]提取图像特征。VGG16(图2)中共有13个卷积层,13个ReLu层,4个pooling。最终输出的特征图为原始图像尺寸的1/16,输出的特征图被RPN使用进行预测。
RPN的整体架构如图3,其中最重要的处理为Proposal。
Proposal的具体过程:1.生成anchor;2.对anchor进行边框回归(Border Box Regression) ;3按照step1中预测边框的得分值,对第2步中的边框回归结果进行第一次由大到小的排序,并提取前6000个前景定位信息;4.对超出图像边界的前景定位信息进行修正,使其处于图像内;5.剔除宽高非常小的前景定位信息;6.进行非极大值抑制(Non-Maximum Suppression ,NMS);7.将NMS后的前景定位信息按照第3步中相同的方法进行排序,并取前300个前景定位信息作为下一层的输入。
anchor生成过程:把给定的初始正方形anchor的面积进行1:2:0.5的变化形成三种不同面积的anchor后|将其边长在保持面积不变的情况下进行1:1、1:2、2:1的比值变化,最终形成9种不同比例的anchor。为了使anchor更准确,可使用边框回归(Border Box Regression) [5] 提升精确度。
整体网络的函数优化目标为:
[w*=argminW*iN(ti*-WT**?(Ai))2+k|W*|2]
即对目标函数进行凸优化获得F的参数,使用梯度下降方法容易实现。
整个网络的损失函数如下:
[LossRPN=1NclsiLclspi,p*i+k1Nregip*iLregti,t*i]
其中的:
[p*i=1, IoUi>0.70, IoUi<0.3]
[Lregti,t*i=i∈(x,y,w,h)smoothL1(ti-t*i)]
[smoothL1x=0.5x2, |x|<1x-0.2, others]
上式中分類的损失值是在RPN层中计算的,是前景的softmax结果,由于[Lcls]和[Lreg]结果差距过大,引入k平衡二者的值。
1.3 Faster R-CNN的训练
Faster R-CNN的训练方式有两种,一种是联合训练;另一种是将RPN和Fast-RCNN分开训练来提高模型的泛化性能,即四部法训练。
2 困难样本挖掘训练策略
在对Faster R-CNN进行训练时,每一次的训练仅仅是对这个训练集中的每个样本进行均等可能的选择。即在一轮训练中训练样本所占的权重相等,这种训练方式最大的问题在于没有侧重点。由于训练样本规模有限,学习器想要在小规模样本下对于校舍环境下行人密集,遮挡,多尺度,模糊等样例有较好的预测结果很困难。困难样本挖掘训练策略的思想来源于Adaboost [7-8],以及难负样本挖掘[9]。本文训练策略综合以上方法优点,对于困难样本权重进行定量改变。
Adaboost的目的是将弱可学习算法转换成非常精确的强可学习算法。其算法过程是:
(1)对于给定的数据集及其分布训练出一个分类器;
(2)通过这个分类器更新样本的权值,即将分类错误的样本的权值进行增加,形成一个新的数据集;
(3)用新的数据集重复1,2过程直到所需的T次;
(4)通过加权的方式将所有的分类器结果结合起来;
文献[10]中针对难负样本挖掘方法进行了优化,其创新在于挑选出了难正样本。本文提出的训练策略进一步对困难样本的权重进行调整。
本文训练策略分多个步骤,首先使用四步训练法训练得到模型[At],然后计算此模型[At]在训练数据集[Dt]上的误差:
[?t=Px~Dt(At(x)≠F(x))]
计算此模型的权重:
[αt=12ln (1-?t?t)]
对于在这一轮学习器中挑选出的困难样本进行调整,其中[F(x)]为真实结果:
[Dt+1x=DtZteαt , At(x)≠F(x)]
最后通过加权的方式确定最后一轮使用训练集样本的权重:
[D'=αt×Dt]
然后将此过程中的模型进行性能评估后挑选最合适的模型进行使用。图5表示了训练过程。
对于[At(x)≠F(x)]的判断,本文同时考虑单个样本的漏检及错检情况。我们将每张图片中,前景区域分类得分小于0.3的归类于非人,即这些预测结果被归类于反例,若这些得分小于0.3的预测结果中有和真实情况一致的,其归类于漏检。
在分类时,送入Fast-RCNN的是RPN区域建议结果映射到卷积层输出的特征图。区域建议的结果会直接影响分类的准确率,根据这一特性,在单个样本的IoU均值小于整体样本的均值时,我们更倾向于把那些样本作为困难样本,在单个样本IoU大于整体IoU均值时,我们更倾向于把单个样本比分类平均得分低的那些作为困难样本的主要考察点。综上所述,可以得到以下筛选图像的方法:
[II11+e-θEU-ui+EP-pi>1]
由于我们仅仅取[pij>0.3]的部分([pij]是第i个样本中第j个前的分类得分值)。综合考虑,当[θ=30]时比较合适。其中[ pi]为单个样本的分类平均得分,即真正例得分的和除以正例数。E(U)为训练集整体的IoU均值,E(P)为训练集整体的预测平均得分,计算方法同[ pi]。
3 实验分析
3.1数据集
本文训练集采用了VOC2007中person分类的2095张图片,同时使用LabelImg进行校舍环境下采样,并对得到的数据集进行标注,从而得到扩充的新的数据集。详细情况如表1所示。
数据集中的样本:80%用于训练,剩余的20%用于测试。以下段落中,将此合并数据集称为VOC2007扩充数据集。
3.2 训练
本文实验在Tensorflow(GPU)上进行,操作系统使用Win10,硬件信息为:CPU为Intel i7-6700HQ,显卡是NVIDIA GTX1060(3G),内存16G。
训练共进行六轮。前五轮中,第一轮使用VOC2007扩充数据集不改变训练集样本的权重进行50000次的训练,生成的模型作为对比组。剩下的四轮,每一轮训练30000次后,使用此轮训练得到的模型对训练集样本进行预测,进而生成下一轮训练的数据集。第一次生成的训练集样本的分布情况如图7。最后一轮训练所使用的训练集是考虑前四轮训练集中训练集样本的权值而生成的。
3.3检测结果分析
由表2和表3可知,相较于四步训练法,本文训练方法查全率有1.67%的提升,并且mAP也有些许提升。在本文训练方法第四轮中,mAP有0.71%的提升,并且查全率也有1.23%的提升。
由图8可以看出,第一组对照样本人与人之间出现了遮挡且密集。相比较之下,本文训练方法在保证前景建议区域位置准确的情况下,查全性能也更好一些。
分析第二组对照图片可得出:Faster R-CNN更倾向于把密集的人群当作是单个的人,习得人的特征并不是特别好,造成这种情况的主要原因是RPN的输出不准确。相较于四步训练法,本文训练方法由于对RPN输出与GT(Ground Truth)偏差较大的样本权值进行了增大,在训练时更多次的训练了偏差较大的样本,所以RPN的输出也更加的准确,这种预测不准的情况也稍有改善。
由图9可以看出,在小尺度、密集情况下,Faster R-CNN表现情况欠佳。相比较于四步训练法,困难样本挖掘方法检测出了更多的人。即在行人小尺度的情况下,本文训练方法适性更强,泛化性能也相对更好。
4 结束语
本文使用Faster R-CNN来替代传统的行人检测算法,并且提出困难样本挖掘训练策略,改变样本权重,使训练更有侧重点。相对于四步法训练,用本文训练方法的学习器在30000iters下的查全率比普通训练法的查全率有1.67%的提升,mAP也有所提升。在mAP提升0.71%的情况下查全率有1.29%的提升。速度上,由于没有改变神经网络整体结构,仍然保持了RPN计算速度快的优点。在本文实验环境下,平均每张图片的处理速度为52ms,提升硬件性能后完全可以用于实时检测。
参考文献:
[1] Dalal N; Triggs B.Histograms of oriented gradients for human detection[C]//Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on. IEEE, 2005, 1: 886-893.
[2] P. Doll?ar, Z. Tu, P. Perona and S. Belongie.Integral Channel Features[C].BMVC 2009, London, England. 1
[3]MASSA A,BONI A,DONELLI M. A classification approach based on SVM for electromagnetic subsurface sensing[J]. IEEE Transaction on Geoscience &Remote Sensing, 2004,43(9):2084-2093.
[4] 常玲玲,马丙鹏,常虹,等.深度网络结构在行人检测任务中的性能对比[J].计算机仿真,2017,34(7):373-377+411.
[5] Shaoqing Ren; Kaiming He; Ross Girshick; Jian Sun.Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks,IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(6):1137-1149.
[6] Karen Simonyan, Andrew Zisserman. Very Deep Convolutional Networks for Large-Scale Image Recognition[C], in International Conference on Learning Representations (ICLR), 2015.
[7]Peng Wang; Chunhua Shen; Barnes, N.Fast and Robust Object Detection Using Asymmetric Totally Corrective Boosting[C], IEEE Transactions on Neural Networks and Learning Systems, 2012,23(1):33-46.
[8] Zhu Ji;Arbor Ann;Hastie Trevor. Multi-class AdaBoost[J].Statistics & Its Interface,2009,2(3):200-205
[9]SUNG K K.Learning and example selection for object and pattern detection[M].Cambridge:Massachusetts Institute of Technology,1996.
[10] 艾拓,梁亞玲,杜明辉.基于难负样本挖掘的改进Faster RCNN训练方法[J].计算机科学,2018,45(5):250-254.
【通联编辑:唐一东】