张洁 陈莉 李铮 王森 陈昃
摘要:针对复杂环境中由于行人间相互遮挡导致检测准确率低的问题,考虑到行人头部与行人是一一对应关系,且头部在行人运动过程中不易被遮挡,提出了一种基于聚类与Faster RCNN的行人头部检测算法。设计一种新的距离度量方法,并结合k-means++算法对已标注人头检测框进行聚类,以确定anchor大小与长宽比;优化NMS算法惩罚函数剔除无效人头预测框,改善行人之间由于遮挡导致的召回率低的问题。仿真实验表明,该算法相比其他方法可有效提升行人头部检测精度,在Brainwash和SCUT-HEAD两个人头检测数据集上的最高AP值分别为90.2%和87.7%。
关键词:行人检测;聚类;Faster RCNN;非极大值抑制
中图分类号:TP391
DOI:10.16152/j.cnki.xdxbzr.2020-06-013
Pedestrian head detection algorithm basedon clustering and Faster RCNN
ZHANG Jie, CHEN Li, LI Zheng, WANG Sen, CHEN Ze
(School of Information Science and Technology, Northwest University, Xi′an 710127, China)
Abstract: Aiming at the problem that the pedestrian detection accuracy is low due to the pedestrian occlusion in a complex environment, considering that there is a one-to-one correspondence between the head and the person, and the head is not easily occluded during pedestrian movement, a pedestrian head detection algorithm based on clustering and Faster RCNN is proposed. The k-means++algorithm used the newly designed distance measurement method to cluster all labeled head detection boxes and determine the anchor size and aspect ratio. The penalty function of the NMS algorithm is optimized to remove invalid head prediction boxes, which can alleviate the problem of low recall due to pedestrian occlusion. The experiments show that compared with other methods, the proposed algorithm effectively improves the detection accuracy of pedestrian head. The highest AP on Brainwash and SCUT-HEAD datasets reached 90.2% and 87.7% respectively.
Key words: pedestrian detection; clustering; Faster RCNN; non-maximum suppression
行人检测是计算机视觉处理领域的一个重要研究分支,可应用于智能视频监控、人体行为分析、汽车无人驾驶和智能交通等领域,因而,对行人检测问题的研究具有重要的理论意义和广阔的应用前景。由于人体姿态复杂,易变形,且有附着物和遮挡等问题,在不同场景下能否准确检测到行人的理论和技术研究仍具有很大挑战。
行人检测可分为传统的行人检测方法和基于深度学习技术的检测方法两大类。传统的行人检测方法重点是将特征提取算法和特征分类器结合以完成检测,目前通过提取图像特征的方法来衡量两幅图片相似性的算法均取得了不错的效果[1-2],代表性的特征提取算法有尺度不变特征变换(scale invariant feature transform, SIFT)[3]、哈尔特征(Haar-like features, Haar)[4]、方向梯度直方图(histogram of oriented gradient, HOG)[5]等;代表性的分類器有自适应级联分类器(adaptive boosting, AdaBoost)[6]、支持向量机(support vector machine, SVM)[7]、可变型部件模型(deformable parts model, DPM)[8]等。但传统的行人检测方法使用人工设计的底层特征实现对行人的表达,易造成分类错误率高,行人检测效果不佳的问题。
自2006年深度学习被Hinton等人[9]提出以来,使用卷积神经网络学习目标特征的方法便成为学术界的研究热点。Girshick等人提出两阶段的RCNN[10]是基于深度学习目标检测算法的开山之作,该算法用卷积神经网络提取图像特征,并采用选择性搜索(selective search)[11]方法进行候选区域提取,取得了不错的检测效果,但RCNN网络整体设计复杂,图片处理速度慢;Redmon等人提出一阶段的YOLO算法[12],从输入图像中直接回归目标所在位置,检测速度可达45 f/s,大幅提高了目标检测速度,但检测精度不理想。针对以上两类算法的不足,相继涌现出一系列改进算法,如两阶段的改进算法SPP-Net[13]、Fast RCNN[14]、Faster RCNN[15]等和一阶段的改进算法YOLO9000[16]、SSD[17]等。文献[18-19]都是基于以上两类目标检测框架实现的行人检测算法。Mao等人以Faster RCNN为主体框架,对其进行改进并提出一个新的网络框架HyperLearner,通过学习额外特征来提升行人检测性能,然而该算法在行人被遮挡时容易出现漏检[20];García J等人[21]将行人检测转换成对行人头部的检测以改善行人遮挡导致的检测精度低问题,但使用手工设计的特征对人头进行检测时特征的表达能力不足,检测效果不佳,易造成漏检问题;文献[22-23]利用卷积神经网络提取行人头部特征,有效提升了行人头部检测精度,然而在行人遮挡时仍然会出现漏检问题。
虽然现有的行人头部检测算法已取得了可观的检测结果,但由于行人姿态复杂、遮挡等造成的检测效果不佳问题仍然存在。针对此类问题,本文以Faster RCNN网络为检测基准,提出一种基于聚类与Faster RCNN的行人头部检测算法(简记为CFR-PHD)。CFR-PHD算法主要有两个方面的改进:①设计一种新的距离度量方法,同时将聚类算法引入到Faster RCNN网络中以自适应设置anchor参数,使模型训练过程更容易学习;②在检测阶段,对传统NMS算法的惩罚函数进行优化,避免由于行人头部被遮挡导致的有效预测框被误删,提升人头检测算法召回率。在Brainwash[22]和SCUT-HEAD[23]两个大型人头数据集上的实验结果表明,CFR-PHD算法体现了更优的人头检测性能。
1 相关知识
1.1 Faster RCNN算法
Faster RCNN是在RCNN和Fast RCNN等算法基础上的一个改进,其网络结构如图1所示。Faster RCNN主要创新点有两个:①提出RPN(region proposal networks)网络,用来提取候选区域;② RPN网络与ROI Pooling层共享卷积层参数,使网络训练更高效。在Faster RCNN之前的RCNN算法系列中,均通过Selective Search算法抽取候选区域,而候选区域的提取包含大量计算,实验结果表明,通过Selective Search算法获取一张图片的候选区域平均需要2 s,而Faster RCNN中使用RPN网络提取候选区域平均仅需10 ms,大幅提升了检测速度。
1.2 Anchor机制
在RPN中anchor机制是核心。RPN网络的本质是通过滑动窗口的方式生成候选区域,但它不是直接在输入的原始图像上进行操作,而是与卷积神经网络的最后一个卷积层共享卷积特征,即把卷积层提取的特征作为RPN网络的输入,采用滑动窗口的方式直接生成候选区域。
具体做法为:把Faster RCNN网络卷积层最后一层产生的特征图作为RPN网络的输入,用窗口大小为3*3,步长(padding)为1的卷积核在特征图上执行卷积操作。当3*3的卷积核滑动到特征图的每一个位置时,当前滑动窗口中心在原图中的映射点称为锚点,以锚点为中心生成不同大小和长宽比的anchor,在Faster RCNN中,为了满足目标的多尺度特性,使用3种大小(1282,2562,5122)和3种长宽比(1∶1,1∶2,2∶1),则RPN进行卷积操作时每滑动一次就对应于原图上3*3=9个anchor,如图2所示。假设特征图的通道数是256,则RPN每进行一次3*3卷积操作后产生1*256的特征被9个anchor共同使用,进行位置回归和类别判断,对所有的输出框进行类别置信度排序后,选择top-N个输出框作为候选框。
1.3 非极大值抑制
非极大值抑制(non-maximum suppression,NMS)是目标检测后处理中的一个经典算法,最早由Neubeck A提出[24],用来对两阶段目标检测算法的重复预测框进行去重并保存最佳预测框。NMS算法首先过滤置信度小于阈值St的预测框,然后不断以拥有最大分类置信度的预测框与其他预测框做交并比(intersection over union, IOU)操作,并过滤IOU值大于预设交并比阈值的预测框,通过迭代的形式寻找局部最优预测框。
2 基于聚类与Faster RCNN的行人头部检测算法
为了改善行人检测中由于行人遮挡导致的检测效果不佳的问题,本文拟从行人头部检测角度出发,将聚类算法引入到Faster RCNN中,并对传统NMS算法的惩罚函数进行优化,以获得更高的检测准确率。
2.1 聚类算法自适应生成anchor
不同检测数据集中所标注的检测框大小和长宽比差异较大,若依然使用Faster RCNN模型中设置的9种大小和长宽比的anchor,不仅会增加网络训练时间,甚至难以得到较好的检测效果。若能根据不同的数据集自适应选择合适的anchor大小和长宽比,则有望提高目标检测的性能。基于这一思路,本文将k-means++聚类算法和Faster RCNN算法结合,以自适应设置anchor参数。传统的k-means算法通常随机选取k个样本点作为初始的聚类中心,若聚类中心选择不当,噪声点和孤立点将使算法迭代次数增多,时间复杂度增大。k-means++算法中为了避免随机选择初始聚类中心点导致的不足,使用下述方法选择初始聚类中心点:假设已经选取了n个初始聚类中心点(1≤n 在聚类算法中,选取合适的距离度量方法是确定合适anchor的关键。本文融合k-means++聚类算法的目的是确保每个anchor与其邻近的真实检测框有较大的IOU值。anchor大小的确定与标注框的长和宽尺寸没有直接关系,而欧氏距离度量方法对标注框的长和宽的取值敏感,尺寸較大的边界框容易出错,聚类结果更加偏向尺寸较小的标注框,对此,本节设计一种新的距离度量公式,如式(1)。 d12=e-α·IOU-C(b,clusteri),α>0(1) 其中,b和clusteri分别为标注框和第i个聚类中心,IOU-C(b,clusteri)实质是b和clusteri的交并比值,但与传统交并比计算不同的是需要将b和clusteri两个边界框中心点重合之后再计算交并比;α是可调因子,实验中α取2;由式(1)可知,本文设计的距离度量公式可以保证距离越小,标注框与聚类中心的面积越接近,IOU值越大,改善了欧氏距离度量方法对标注框长和宽尺寸敏感的现象。 2.2 改进的NMS算法 经典的非极大值抑制算法虽然可以有效地剔除重复的预测框,挑选出某一目标的最佳预测框,但对于图3所示的目标,由于目标之间存在遮挡,两个目标的预测框IOU大于交并比阈值Nt时,仅仅保留置信度高的预测框,而拥有较低置信度的预测框会被抑制,降低了算法的召回率。 对于预测框bi与分类置信度最高的预测框M,NMS算法对bi的惩罚函数如式(2)。 si=si,iou(M,bi) 0,iou(M,bi)≥Nt(2) 由式(2)可知,NMS算法的不足在于将IOU值大于Nt的预测框bi分类置信度置零,这样虽可有效剔除无效预测框,但遇到目标遮挡时容易误删有效预测框。针对NMS算法的不足,本节将NMS算法中的惩罚函数进行优化,优化后的惩罚函数见式(3)。 si=si,iou(M,bi) sif(iou(M,bi)),iou(M,bi)≥Nt (3) 其中,f(iou(M,bi))=e-iou(M,bi)。(4) 通常预测框bi与局部最优框M的交并比越大,表明两个预测框越接近,预测框bi是假正例的可能性越大,对其的抑制理应也越大。从式(3)可看出优化后的惩罚函数对距离最优框M越近的预测框bi惩罚越严重,si降低地越小;距离最优框M越远的预测框bi基本不受惩罚。 惩罚函数优化后的NMS算法对于IOU值大于阈值Nt的预测框bi,不再像NMS算法一样直接删除,而是将其置信度降低,可一定程度避免目标遮挡时拥有较低置信度的预测框被误删,导致检测召回率降低。 2.3 CFR-PHD算法描述 综合以上分析,CFR-PHD算法结合式(1)设计的距离度量公式,利用k-means++算法对所用数据集中已标注的边界框进行聚类,自适应设置anchor大小和长宽比,使模型训练过程更容易学习;在模型检测时,利用式(3)对传统NMS算法的惩罚函数进行优化,将检测出的所有候选框进行去重操作之后作为最终的预测框。算法具体实现步骤如下: 算法:基于聚类与Faster RCNN的行人头部检测算法 输入:训练数据集 输出:用于行人头部检测的神经网络 step 1 结合式(1)利用k-means++算法对不同数据集自适应生成anchor大小和长宽比,确定anchor的个数k配置Faster RCNN; step 2 将训练集输入到Faster RCNN网络,由VGG16中的卷积层提取每张图片特征得到大小为(W/16)*(H/16)的Feature Map; step 3 将Feature Map中的每一个点映射到原图上的一个区域,并以该区域中心在原图生成k个anchor,总共生成k*(W/16)*(H/16)个anchor; step 4 RPN网络对第3步生成的anchor进行分类,并对存在人头目标的anchor进行位置回归,选择top-N作为候选框; step 5 RoI pooling层将每个候选框在Feature Map上映射的特征转换为固定尺寸的特征向量; step 6 全连接层利用转换成的固定尺寸特征向量判别候选框有无人头,并进行位置回归生成最终预测框; step 7 结合式(3)用改进的NMS算法对上一步预测框执行去重操作,保证每一个目标最终只输出一个置信度最大的边界框。 3 实验结果及分析 本文算法实验环境见表1。 3.1 实验数据集 实验中使用的两个数据集为Brainwash和SCUT-HEAD。 Brainwash数据集数据标注信息保存在一个txt文档中,需先将标注方式转换成标准Pascal VOC格式。该数据集图片均来自一个咖啡馆的监控视频,其标注情况为:训练集10 769张图像,共标注81 975个人头; 验证集500张图像, 共标注3 318个人头; 测试集500张图像, 共标注5 007个人头。 SCUT-HEAD数据集是华南理工大学2018年发布的一个大规模人头检测数据集, 总共有4 405张图片,标注了111 251个人头坐标,数据集标注遵循Pascal VOC标准。该数据集由partA和partB两部分组成,partA中图片均从教室监控中采集,共2 000张,其中67 321个人头被标注,训练集1 500张,测试集500张。partB中图片均从互联网中爬取,共2 405张,其中43 930个人头被标注,训练集1 905张,测试集500张。 3.2 评估指标 目标检测主要度量方法包括准确率(precision)、召回率(recall)和平均精度(mean average precision,mAP)。 Precision指检测器检测正确的目标占检测的目标的比例,其计算公式如下: precision=TP/(TP+FP)。(4) recall指測试集中的目标被正确检测出的比例,其计算公式如下: recall=TP(TP+FN)。(5) 其中: TP表示与真实标注框的IOU大于所设阈值的检测框; FP表示与真实标注框的IOU小于所设阈值检测框; FN表示没有被检测出的真实标注框。 平均精度(average precision,AP)指某一类别目标precision-recall曲线下的面积,AP值越高,表明检测器对该类别的检测性能越好;而mAP是对多个类别的AP再求平均值,mAP值越大,表明检测器整体检测性能越好,mAP指标是目标检测算法中最重要的一个。 3.3 对比算法及参数设置 为了验证本文算法(CFR-PHD)的有效性,将本文算法与端对端的行人检测算法(ReInspect)[22]和基于特征细化网络与级联多尺度结构的头部检测算法(FRN-CMA)[23]进行对比,所有算法均采取同样的评估指标。 本文实验所用两个数据集的anchor参数设置由k-means++聚类算法产生, 考虑到设置过多数量的anchor会使模型时间复杂度增高, 所以聚类中心的个数k仅取2和3两个值。 Faster RCNN网络中用来进行特征提取的网络选用VGG16,训练过程中其他关键参数设置如表2。 表2中迭代次数的设置很大程度影响模型的性能,设置过小,会出现欠拟合问题;设置过大,又容易出现过拟合问题,在进行大量实验的基础上,本文实验的迭代次数最终选择60 000。 3.4 结果分析 对Brainwash和SCUT-HEAD两个大型人头数据集聚类中心个数取k=2和k=3时,生成的anchor大小和长宽比如表3。 从表3可以看出,不管k取何值,对于两个数据集而言,其长宽比均接近于1,所以后续实验中长宽比统一按1处理。为了便于网络后续训练,将自适应得到的anchor大小都调整至2的整数次幂,对于Brainwash数据集k=2和3时,其大小均可以调整成(162, 322);SCUT-HEAD数据集k=2时,大小调整为(162, 322),k=3时,大小调整为(162, 322, 642)。 分别用聚类算法为两个数据集自适应产生的anchor配置Faster RCNN网络的anchor参数值,其中,anchor的长宽比均为1,并根据式(3)提出的优化惩罚函数对传统NMS后处理算法改进(记为Better-NMS)之后,在两个数据集上的实验结果如表4和表5所示。 表4中的第1行以及表5中的第1和第4行的anchor大小通过聚类算法自适应产生,其他anchor大小为手工设计。从两个数据集的实验结果可看出通过聚类算法生成的自适应anchor大小对应的AP值均高于其他anchor对应的AP值。若再用Brtter-NMS进行后处理,SCUT-HEAD数据集上AP值会进一步大幅提升,而Brainwash数据集上的AP值提升较小,原因之一为Brainwash数据集中头部之间的遮挡较少。以上实验结果表明利用聚类算法自适应的anchor参数,并结合Brtter-NMS后处理算法可一定程度上缓解由于行人遮挡导致的召回率低问题,提高检测精度,充分体现了CFR-PHD算法的可行性。 为了进一步验证CFR-PHD算法的性能,在Brainwash和SCUT-HEAD数据集上与ReInspect和FRN-CMA两个算法进行对比。 Brainwash数据集对比实验中,anchor大小为(16*16,32*32),长宽比为1,其对比实验结果如图4和表6所示。 SCUT-HEAD数据集中,anchor大小为(16*16,32*32,64*64),长宽比为1,其对比实验结果如图5和表7所示。 Brainwash和SCUT-HEAD數据集上的实验结果表明,本文所提CFR-PHD算法相比于其他两个对比算法,检测性能均有所提升。在Brainwash数据集上CFR-PHD算法的检测结果相对于ReInspect和FRN-CMA算法AP值分别提升了12.1%和2.1%;在SCUT-HEAD数据集上CFR-PHD算法的检测结果相对于ReInspect和FRN-CMA算法AP值分别提升了10.2%和1.4%。两个数据集上AP值的提升进一步验证了CFR-PHD算法的有效性。 4 结语 针对行人运动过程中姿态复杂、遮挡等导致的检测精度低的问题,本文提出一种结合聚类与Faster RCNN的行人头部检测CFR-PHD算法。通过为聚类算法设计一种新的距离度量方法以自适应设置anchor大小和长宽比,使模型训练过程更容易学习;同时,改进传统NMS算法的惩罚函数以改善目标之间由于遮挡导致的召回率低的问题。在SCUT-HEAD和Brainwash数据集的实验结果表明本文所提CFR-PHD算法可以有效提升人头检测的AP值。考虑到Faster RCNN网络复杂,检测时间复杂度较大,如何在保证检测精度的同时提高检测速度是后续研究的主要方向。 参考文献: [1] 李鸣,张鸿.基于深度特征分析的双线性图像相似度匹配算法[J].计算机应用,2016,36(10):2822-2825,2831. LI M,ZHANG H.Bilinear image similarity matching algorithm based on deep feature analysis[J]. Journal of Computer Applications, 2016,36(10):2822-2825,2831. [2] 邹承明,薛栋,郭双双,等.一种改进的图像相似度算法[J].计算机科学,2016,43(6):72-76. ZOU C M,XUE D,GUO S S,et al.Improved image similarity algorithm[J].Computer Science,2016,43(6):72-76. [3] LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110. [4] VIOLA P A, JONES M. Rapid object detection using a boosted cascade of simple features [C]∥IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2001. [5] DALAL N, TRIGGGS B. Histograms of oriented gradients for human detection [C]∥IEEE Computer Society Conference on Computer Vision and Pattern Recognition.IEEE, 2005. [6] FERREIRA A J, FIGUEIREDO M A T. Boosting algorithms: A review of methods, theory, and applications[M]∥Ensemble Machine Learning. Boston, MA: Springer, 2012: 35-85. [7] VAPNIK V N. The Nature of Statistical Learning Theory[M].New York:Springer Science and Business Media, 2000. [8] FELZENSZWALB P F, GIRSHICK R B, MCALLESTER D, et al. Object detection with discriminatively trained part-based models[J]. IEEE Trans actions on Pattern Analysis and Machine Intelligence, 2010, 32(9): 1627-1645. [9] HINTON G E, SALAKHUTDINOV R R. Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507. [10]GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation [C]∥IEEE Conference on Computer Vision and Pattern Recognition.IEEE, 2014. [11]VAN DE SANDE K E A, UIJLINGS J R R, GEVERS T, et al. Segmentation as selective search for object recognition [C]∥IEEE International Conference on Computer Vision.IEEE, 2011. [12]REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: Unified, real-time object detection[EB/OL].2015: arXiv:1506.02640[cs.CV]. https:∥arxiv.org/abs/1506.02640 . [13]HE K M, ZHANG X Y, REN S Q, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916. [14]GIRSHICK R. Fast R-CNN [C]∥2015 International Conference on Computer Vision.ICCV, 2015: 1440-1448. [15]REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[EB/OL].2015: arXiv:1506.01497[cs.CV]. https:∥arxiv.org/abs/1506.01497. [16]REDMON J, FARHADI A. YOLO9000: Better, faster, stronger [C]∥IEEE Conference on Computer Vision and Pattern Recognition.IEEE, 2017. [17]LIU W, ANGUELOV D, ERHAN D, et al. SSD:Single Shot MultiBox Detector [M]∥Comuter Vision-ECCV 2016. Cham:Springer International Publishing, 2016:21-37. [18]李偉山,卫晨,王琳.改进的Faster RCNN煤矿井下行人检测算法[J].计算机工程与应用,2019,55(4):200-207. LI W S,WEI C,WANG L.Improved Faster RCNN approach for pedestrian detection in underground coal mine[J].Computer Engineering and Applications,2019,55(4):200-207. [19]高宗,李少波,陈济楠,等.基于YOLO网络的行人检测方法[J].计算机工程,2018,44(5):215-219,226. GAO Z,LI S B,CHEN J N,et al.Pedestrian detection method based on YOLO network[J]. Computer Engineering, 2018,44(5):215-219,226. [20]MAO J Y, XIAO T, JIANG Y N, et al. What can help pedestrian detection? [C]∥IEEE Conference on Computer Vision and Pattern Recognition.IEEE, 2017. [21]GARCA J, GARDEL A, BRAVO I, et al. Directional people counter based on head tracking[J]. IEEE Transactions on Industrial Electronics, 2013, 60(9): 3991-4000. [22]STEWART R, ANDRILUKA M, NG A Y, et al. End-to-end people detection in crowded scenes [C]∥IEEE Conference on Computer Vision and Pattern Recognition.IEEE,2016. [23]PENG D Z, SUN Z K, CHEN Z R, et al. Detecting heads using feature refine net and cascaded multi-scale architecture[EB/OL].2018: arXiv:1803.09256[cs.CV]. https:∥arxiv.org/abs/1803.09256. [24]NEUBECK A, VAN G L. Efficient non-maximum suppression [C]∥The 18th International Conference on Pattern Recognition.IEEE, 2006. (编 辑 李 静)