嵌入中心点预测模块的Yolov3遮挡人员检测网络
2021-01-09李佳豪孙琦龙
梁 煜,李佳豪,张 为,孙琦龙
嵌入中心点预测模块的Yolov3遮挡人员检测网络
梁 煜1,李佳豪1,张 为1,孙琦龙2
(1. 天津大学微电子学院,天津 300072;2. 青海民族大学计算机学院,西宁 810007)
为解决目前实际监控场景下人员检测任务中存在的遮挡问题,提出了一种改进的Yolov3检测网络.首先,针对现有人员检测算法的被检测目标姿态单一且大多是室外直立行人的问题,自建了一个包含16832张样本的多场景人员检测数据集用于对检测网络进行训练和测试,其中包含训练集样本12090张,测试集样本4742张.随后,为了提升网络在遮挡情况下的检测效果,设计了中心点预测模块(CPM)并将其嵌入到原Yolov3网络中3个尺度的输出特征图上,通过该模块首先确定目标的中心位置作为预提取的中心点,随后在此预提取的中心点上对目标的位置和尺寸进行精确的回归.最后,候选框的精确回归中采用广义的交并比指标来构造损失函数进行优化,通过准确地构造候选框和真实目标框的位置关系来提高其回归精度,同时降低损失函数在不同尺度目标下的波动.实验结果表明:优化网络结构和损失函数后的检测网络在测试集上的检测精度提高了2.92%,漏检率下降2.94%,针对实际监控场景下的遮挡情形取得了很好的检测效果,而且对多姿态人员目标的检测结果具有很好的鲁棒性;同时检测速度达到了28帧/s,保证了检测的实时性.另外,在Caltech行人数据库上该网络的漏检率为6.02%,相对于传统的检测网络同样达到了最优的效果,进一步印证了网络在行人检测任务上的优越性.
计算机视觉;视频监控;卷积神经网络;人员检测;人员遮挡
随着近年来计算机视觉领域的飞速发展,依附于现有监控平台的智能视频监控技术逐渐成为一个活跃的研究方向,通过监控系统进行人员检测是其中一个重要的分支,应用场景也较为广泛.在安防领域,可以通过对可疑人员的检测进行及时的安全预警;在安全调度方面,对人流密度较大的区域可以通过人数的统计来优化人力和物力的分配调度;在人员管理方面,可以对值班室、消防控制室等重要场所工作人员是否在岗做出判断以便消除潜在的安全隐患[1].
基于此,学者们不断对人员检测相关领域做着深入的研究,检测手段主要包括早期的基于机器学习的方法和近年来基于深度学习的方法.基于机器学习的方法主要通过构造人工特征和分类器判别相结合的方式[2-4].近年来,随着计算机计算能力的提升,研究人员们开始探索利用深度学习网络对人员进行检测的新手段,一些典型的目标检测网络被应用到行人检测任务上来.例如Faster R-CNN[5]检测网络通过预设锚点(anchor)生成候选框后进一步分类判别的手段对目标进行检测,取得了较高的检测率.Redmon等[6-8]提出的YOLO系列网络致力于缩短单张图片的检测时间,对于行人检测能够满足实时性.一些行人检测的专用算法也不断出现,Ouyang等[9]提出Joint Deep Learning策略,文中将特征提取、形变处理、遮挡处理和分类过程相互结合进行人员检测.Liu等[10]应用无锚点框(anchor-free)思想通过对行人的中心点和尺寸预测来进行人员检测.
在实际监控条件下,图像所呈现的场景会相对复杂,多人员目标共存时的互相遮挡会在很大程度上影响检测精度.近年来,一些学者也在人员检测的基础上针对遮挡问题提出了自己的解决办法.Zhou等[11]从网络本身出发,通过搭建两个分支分别对人体的全身和可见部分进行检测,最后再进行融合.Zhang 等[12]从损失函数的优化入手,结合改进的ROI Pooling[5]改善了遮挡问题.
上述网络及处理方法虽然取得了不错的检测精度,但是检测目标大多是针对户外的直立行人,并且数据集样本多为水平拍摄.而对于实际监控场景,摄像头与人员之间会存在一定的倾角,不同监控场景下的人员姿态也是多变的,这些因素会对现有网络的检测效果带来一定的影响;另外,传统的目标边界框回归所用到的损失函数无法准确表征真实目标框和预测框之间的关系,而且对不同尺度的目标损失函数值波动较大,导致最终的优化效果不佳.需要设置更为精确的边界框损失函数来引导其回归过程;最后,实际监控下的人员检测任务中重要的一点是能够达到实时检测,而YOLO系列网络在检测速度上能够保证实时性,其中第3代版本Yolov3则兼顾了检测时间和检测精度,达到了不错的效果.但是针对遮挡问题,网络仍然沿用传统的特征金字塔网络(feature pyramid networks,FPN)[13]+anchor的检测方式,特征图上所有像素点覆盖anchor进行回归筛选,最后通过非极大值抑制(non maximum suppression,NMS)筛选预测框.一方面,在处理时间上无法达到最优;另一方面,过多的距离较近的候选框在筛选时很容易造成漏检或者误检,从而降低了网络的检测性能.
基于以上问题的分析,本文做出了如下贡献:
(1) 建立了专用的多场景人员检测数据集(MHDD),数据集样本的采集兼顾了室内和室外2种大环境,并且包含多种姿态的人员目标;
(3) 针对人员检测中可能出现的遮挡问题,设计了中心点预测模块(center prediction module,CPM)并将其嵌入到原网络的3个输出特征层上,首先预测出目标的中心点,在此基础上对目标的精确位置和尺寸进行预测,有效地提升了遮挡情况下的检测效果.
1 本文算法
1.1 Yolov3网络简介
图1 Yolov3检测网络
Yolov3网络同样引入了anchor机制,通过anchor的设置引导网络的训练.通过维度聚类算法,对数据集所有样本中真实目标框(ground-truth boxes)的尺寸进行聚类分析,得出9组不同的宽高组合,进一步将9组数据分为3个大组,分别分配给3个不同的尺度,每个尺度包含3个不同的宽高组合.通过不同尺寸anchor的设置来实现对不同尺度目标的检测.
1.2 GIoU Loss
在目标检测领域,目标边界框的回归是很重要的一个步骤,早期的研究中主要采用L1Loss或者L2Loss构造损失函数来优化边界框的回归.但是,基于L1或L2距离的损失函数对真实目标框和预测框尺度的变化比较敏感,即框的尺寸发生不断变化时,损失函数会不断波动.为了优化这个问题,文献[14]首先提出可以通过IoU构造损失函数的方式对边界框进行回归,能够从一定程度上解决尺度变化带来的问题.
但是,IoULoss同样存在一些问题,主要表现在以下两个方面:首先是真实目标框和预测框没有重叠时,IoU的值始终为0,无法表征2个框的距离,导致无法进行优化;其次是IoU无法区分2个框不同的位置关系,如图2所示.图中2个框在3种情况下具有相同的IoU,但位置关系却差异巨大.
图2 两个矩形框的不同位置关系
其中,
1.3 中心点预测模块
1.3.1 遮挡问题分析
遮挡问题是制约人员检测精确度提升的主要因素之一,遮挡情况下的检测结果如图3所示.从图中可以看出,因待检测目标之间的距离较近,容易导致漏检或者误检的现象发生.
图3 遮挡下的人员检测
Yolov3网络同传统的基于锚点框(anchor-based)的目标检测算法流程类似,如图4所示.
图4 Yolov3预测流程
测试过程中检测算法会在每一个疑似目标的周围生成一组候选框,如果不存在遮挡现象,针对这一组候选框进行NMS操作,即可以有效地滤除多余的候选框,从而筛选出最终得分最高的预测框.但是当2个或者多个目标相互遮挡时,目标距离过近会导致最终的几组候选框融合为一组,此时再进行NMS操作时,算法无法分辨此时的候选框是来自于同一目标还是几个不同的目标,从而会导致漏检或者误检现象地发生.所以想要提高遮挡环境下人员检测的精度,就应该设法让不同目标所产生的候选框区分开来,单独进行筛选.
1.3.2 中心点预测
近年来,随着anchor-free概念的提出,目标检测逐渐摆脱了anchor的束缚,极大地简化了网络结构,并且提高了检测精度.该检测算法的核心思路是首先进行关键点的预测,比如目标的中心点、左上或者右下角点等等,接下来在中心点的基础上进行目标尺寸的回归.
接下来是训练过程,其损失函数表达式如下
1.3.3 嵌入CPM的Yolov3网络
通过以上的分析,为了提升网络在遮挡情况的检测性能,应该设法减少过多候选框的相互干扰,而第1.3.2节提到的中心点检测思想可以很好地解决这个问题,但是其检测网络在面对多尺度目标检测时仍存在一些问题,以CenterNet[17]为例,其只是将输入图像通过卷积运算进行了4倍的下采样,随后进行中心点的预测及边界框的回归,并不包含多尺度信息.于是本文借鉴anchor-free思想中的关键点检测方法,设计了CPM并将其与 Yolov3网络结合,即先确定目标的中心点,接下来只在预提取的中心点上进行目标边界框的回归,而不再回归所有的像素点.本文所提出的检测网络一方面保留了FPN结构在应对多尺度目标检测时的优越性,另一方面通过中心点检测分支减少候选框的数量,从而提高遮挡情况下的检测精度.本文最终的网络结构如图5所示.
图5 嵌入中心点预测模块的Yolov3
在原网络的3个预测层分别增加一个中心点预测分支,通过该分支生成对应尺度的Heatmap,随后进行中心点的筛选,具体方法是从Heatmap中筛选出比周围8个临近点都要大(或者相等)的点,再从这些点中最多选出100个数值较大的点作为最终预提取的中心点;接下来,将预测出的中心点覆盖到原来的输出分支上;最后,anchor的设置不再是分配在所有的像素点上,而只是为所预测出的中心点分配对应尺度的anchor,进一步对目标的精确位置和尺寸进行回归.特别的,预测完成后,因为此时不再像传统方法一样存在许多候选框,所以这里直接从3个anchor所预测的结果中选取最优的一个作为最终的预测框,不再加入NMS操作.
嵌入CPM的Yolov3网络一方面能够很好地应对遮挡问题,另一方面该网络结构使得算法的计算复杂度更低.传统的anchor-based检测网络包括原Yolov3网络的逐像素点覆盖anchor的方式会造成大量的计算,而只在确定的中心点上设置anchor能够极大地减小计算量.另外,传统目标检测算法中的NMS操作同样会带来很大的计算量,本文则直接舍弃了NMS操作,进一步提升了算法的计算效率.
最终网络的损失函数如下
2 实验数据集
本文采用公开的Caltech行人数据库[19]及自建的多场景人员检测数据集(MHDD)对算法的可靠性进行测试.
2.1 Caltech行人数据库
表1 Caltech数据库行人尺度分布
Tab.1 Pedestrian scale distribution of Caltech
2.2 MHDD
对于实际监控场景,样本并不像Caltech数据库的水平拍摄一样,监控探头与人员之间会存在一定的倾角;另外Caltech数据库拍摄场景多为街景,人员大多是直立状态,而实际监控场景下人员姿态是多变的,这些因素会对实际的检测效果带来一定的影响,为了更好地契合实际监控场景下的人员检测任务,本文建立了专用的MHDD.
数据采集自实际的高清监控探头,总共涉及13个监控场景,部分监控视频图像如图6所示.
图6 MHDD样本
监控视频来源主要包括学校教学楼内部及外部的人员,值班室或者办公室的人员,以及室外开放空间下的人员.其中室外的人员多为直立行走姿态,室内人员多为坐姿,保证了数据集目标的多姿态性.并且室外的开放空间包含较多的中距离及远景人员目标,保证了目标的多尺度性,数据集中目标的尺寸具体如表2所示,不同于Caltech的划分方式,MHDD通过标注框总体所占的像素对人员尺度进行划分.另外,针对本文的研究方向,样本的选取注重了遮挡环境下的情形.
表2 MHDD行人尺度分布
Tab.2 Pedestrian scale distribution of MHDD
运用第1.1节提到的维度聚类算法对MHDD所有样本进行聚类分析得出如下9组宽高组合:(8,29)、(12,43)、(20,72)、(32,142)、(45,86)、(47,205)、(69,130)、(75,230)、(195,327),进一步得出样本中目标人员比例大致为1∶2、1∶3、1∶4以及3∶5几种,不同比例的人员目标使得最终的模型在面对实际监控下的多姿态人员检测任务时鲁棒性更强.
3 实验分析
3.1 网络训练及模型评价指标
本实验平台基于64位的Ubuntu16.04操作系统和NVIDIA TITAN Xp GPU,运用Tensorflow框架搭建神经网络进行训练和测试过程.通过在COCO数据集上训练得到预训练权重做为初始权重,网络的训练过程迭代30轮(epoch),训练过程动量大小为0.9,采用自适应优化算法(AdamOptimizer)来优化网络,学习率处于动态变化中.训练过程采用多尺度输入,保证所有的真实目标(尤其是小尺度目标)能够做到充分训练.
本文对检测模型的评价采用目标检测中常用的AP(average precision)和行人检测领域专用的FPPI-MR(false positives per image-miss rate)两个指标.
AP值的计算涉及到精确率(precision)和召回率(recall)两个指标,其二者计算方式如下
3.2 实验结果及分析
如式(5)所示,网络训练的损失函数由两部分组成,即中心点损失和边界框回归损失,笔者通过实验分别验证二者的功效.
首先笔者通过实验分析中心点损失,为了能够直观地呈现训练的过程,笔者对训练过程中不同epoch处的Heatmap进行了提取,部分实验结果如图7所示.
实验分别对epoch在1、10、20及30处的Heatmap进行了提取,从图7可以看出,随着训练迭代轮数的增加,目标的中心点逐渐独立出来,而且中心点的比重不断增大(图中目标中心位置颜色的深浅代表其所占比重,颜色越深,比重越大,也越接近中心点),另外,对于可能存在的遮挡问题,两个距离较近的目标中心点同样能够很好地分离,也印证了该损失项的有效性.另外,从实验结果可以看出算法对于小尺度目标同样能够精确地预测出其中心点的位置.
图7 不同epoch下中心点提取效果
表3 不同损失函数下模型的检测效果对比
Tab.3 Comparison of the model detection effects under different loss functions
表4 嵌入CPM与否对模型的检测效果对比
Tab.4 Comparison of the model detection effects with and without CPM
嵌入CPM的Yolov3网络在两个评价指标上均取得了更好的结果,其中AP值提高了1.25%,漏检率MR下降了1.31%.图8展示了部分含遮挡情况样本的检测结果.从图中的对比可以看出,嵌入CPM的Yolov3网络在处理实际监控场景下的遮挡情形时表现出了更为优异的性能,有效地降低了漏检或者误检现象的发生.另外,优化后的网络因为并未对所有的像素点覆盖anchor进行边界框回归,而仅用了预提取的中心点,且省去了NMS过程,所以最终网络的检测时间略快于原网络,能够保证实时检测,故算法对实际监控场景下的人员检测任务具有一定的应用意义.
为了进一步证明算法的通用性,本文另在Caltech行人数据库上进行了模型的训练和测试工作,并与文献[5, 8, 17, 20]的测试结果进行对比,实验结果如表5所示.表中分别列出了不同检测网络所采用的主干网络(backbone)和测试图片的尺寸(scale). 其中Faster R-CNN算法的训练和测试图像尺寸分别为原图宽高的1.3倍;Yolov3算法在训练时采用多尺度输入,将图像的宽高放缩到同一长度,宽高值涉及320、352、384、416、448、480、512、544、576、608几个不同的尺度,测试时统一宽高的长度为544;CenterNet算法采用单尺度输入,训练和测试图像尺寸均为512×512;本文所提出的算法与Yolov3算法相同,同样采用多尺度训练.
实验结果表明,相对于早期的行人检测算法(文献[20])以及传统的目标检测算法(文献[5,8]),本文所提出的嵌入CPM的Yolov3网络获得了更低的漏检率.与典型的关键点检测网络(文献[17])相比,测试结果近似处于同一水平.由此可以证明本文所提出的检测算法对于行人检测任务同样具有一定的优越性.
图8 Yolov3嵌入CPM与否的检测效果对比
表5 不同算法在Caltech上的检测效果
Tab.5 Detection effect of different algorithms on Caltech
4 结 语
由于实际监控场景的复杂性,算法在人员检测的过程中不可避免地会存在一些误报,以后可以从主干网络入手,对于人员的特征进行更加精准的提取,从而进一步提升算法的检测性能.
[1] 王 霞,张 为. 基于联合学习的多视角室内人员检测网络[J]. 光学学报,2019,39(2):78-88.
Wang Xia,Zhang Wei. Multi-view indoor human detection neural network based on joint learning[J]. Acta Optica Sinica,2019,39(2):78-88(in Chinese).
[2] Dalal N,Triggs B. Histograms of oriented gradients for human detection[C]//2005 IEEE Conference on Computer Vision and Pattern Recognition. San Diego,USA,2005:886-893.
[3] Lowe D G. Distinctive image features from scale-Invariant keypoints[J]. International Journal of Computer Vision,2004,60(2):91-110.
[4] Piotr D,Zhuowen T,Pietro P,et al. Integral channel features[C]// 2009 British Machine Vision Conference. London,UK,2009:1-11.
[5] Ren S,He K,Girshick R,et al. Faster R-CNN:Towards real-time object detection with region proposal networks[J]. IEEE Transactions Pattern Analysis and Machine Intelligence,2015,39(6):1137-1149.
[6] Redmon J,Divvala S,Girshick R,et al. You only look once:Unified,real-time object detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas,NV,USA,2016:779-788.
[7] Redmon J,Farhadi A. YOLO9000:Better,faster,stronger[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu,HI,USA,2017:7263-7271.
[8] Redmon J,Farhadi A. YOLOv3:An Incremental Improvement[EB/OL]. https://arxiv.org/abs/1804.02767,2018-04-08.
[9] Ouyang W,Wang X. Joint deep learning for pedestrian detection[C]//2013 IEEE International Conference on Computer Vision. Sydney,NSW,Australia,2013:2056-2063.
[10] Liu W,Liao S,Ren W,et al. High-level semantic feature detection:A new perspective for pedestrian detection[C]//2019 IEEE Conference on Computer Vision and Pattern Recognition. Long Beach,CA,2019:5187-5196.
[11] Zhou C,Yuan J. Bi-box regression for pedestrian detection and occlusion estimation[C]//2018 European Conference on Computer Vision. Munich,Germany,2018:135-151.
[12] Zhang S,Wen L,Bian X,et al. Occlusion-aware R-CNN:Detecting pedestrians in a crowd[C]//2018 European Conference on Computer Vision. Munich,Germany,2018:637-653.
[13] Lin T Y,Dollar P,Girshick R,et al. Feature pyramid networks for object detection[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu,HI,USA,2017:2117-2125.
[14] Rezatofighi H,Tsoi N,Gwak J Y,et al. Generalized intersection over union:A metric and a loss for bounding box regression[C]//2019 IEEE Conference on Computer Vision and Pattern Recognition. Long Beach,CA,2019:658-666.
[15] He K,Zhang X,Ren S,et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas,NV,USA,2016:770-778.
[16] Lin T,Goyal P,Girshick R,et al. Focal loss for dense object detection[J]. IEEE Transactions Pattern Analysis and Machine Intelligence,2018,42(2):318-327.
[17] Zhou X,Wang D,Krahenbuhl P. Objects as Points [EB/OL]. https://arxiv.org/abs/1904.07850v1,2019-04-16.
[18] Law H,Deng J. CornerNet:Detecting objects as paired keypoints[C]//2018 European Conference on Computer Vision. Munich,Germany,2018:734-750.
[19] Piotr D,Christian W,Pietro P,et al. Pedestrian detection:A benchmark[C]//2009 IEEE Conference on Computer Vision and Pattern Recognition. Miami,FL,USA,2009:304-311.
[20] Cai Z,Saberian M,Vasconcelos N. Learning complexity-aware cascades for deep pedestrian detection[C]//2015 IEEE International Conference on Computer Vision. Santiago,Chile,2015:3361-3369.
Embedded Center Prediction Module of Yolov3 Occlusion Human Detection Network
Liang Yu1,Li Jiahao1,Zhang Wei1,Sun Qilong2
(1. School of Microelectronics,Tianjin University,Tianjin 300072,China;2. School of Computer Science,Qinghai Nationalities University,Xining 810007,China)
To solve the occlusion problem in the current human detection task in actual monitoring scenarios,an improved Yolov3 detection network was proposed. First,in view of the problem that the detected target posture of the existing human detection algorithms is that of single,mostly outdoor,upright pedestrians,a multi-scene human detection dataset(MHDD)containing 16832 samples was self-built for training and testing the network,which included 12090 samples in the training set and 4742 samples in the test set. Then,to improve the detection effect of the network in the case of occlusion,the center prediction module(CPM)was designed and embedded into the three-scale output feature map of the original Yolov3 network. This module first determined the center position of the target as the pre-extracted center point,and then the location and size of the target were accurately regressed on it. Finally,in the accurate regression of the candidate boxes,the GIoU(generalized intersection over union)was used to construct the loss function for optimization,and the regression accuracy was improved by accurately constructing the position relationship between the candidate boxes and real target boxes,which also reduced the fluctuation of the loss function under different scale targets. The experimental results show that the detection accuracy of the detection network on the test set after optimizing the network structure and the loss function is increased by 2.92%,and the missed detection rate is decreased by 2.94%. The network achieves a good detection effect for the occlusion situation in actual monitoring scenarios,and it has good robustness for the detection results of multi-pose human targets. At the same time,the detection speed reaches 28 frames per second,ensuring real-time detection. In addition,the missed detection rate of the network on the Caltech pedestrian database is 6.02%,which also achieves better results than those of the traditional detection networks,further confirming the superiority of the network in pedestrian detection tasks.
computer vision;video surveillance;convolutional neural network;human detection;human occlusion
TP391.4
A
0493-2137(2021)05-0517-09
10.11784/tdxbz202003010
2020-03-07;
2020-04-29.
梁 煜(1975— ),男,博士,副教授,liangyu@tju.edu.cn.
张 为,tjuzhangwei@tju.edu.cn.
公安部技术研究计划资助项目(2017JSYJC35);青海民族大学理工自然科学重大项目(2019xjz003);新一代人工智能科技重大专项(19ZXNGX0030).
Supported by the Technology Research Program of MinistryofPublicSecurity(No.2017JSYJC35),the Major Program of the Science and Technology of Qinghai Nationalities University(No.2019xjz003),the Major Project of New Generation of Artificial Intelligence Technology(No.19ZXNGX0030).
(责任编辑:王晓燕)