行人检测属于计算机视觉领域一个重要的基础研究课题,对于行人重识别、自动驾驶、视频监控、机器人等领域有重要的意义[1-3]。而行人检测领域在实际场景下面临着行人交叠、遮挡等问题,此类问题依然困扰很多研究者,也是目前行人检测面临的巨大挑战。
在现有的目标检测算法[4]中,两阶段目标检测器(如Faster R-CNN[5]、R-FCN[6]、Mask R-CNN[7]、RetinaNet[8]、Cascade R-CNN[9])精度高但速度稍慢,单阶段目标检测器(如YOLOv2[10]、SSD[11])速度快但精度稍低。Zhi等[12]认为锚框(anchor)的纵横比和数量对检测性能影响较大,在需要预设候选框的检测算法中,这些anchor相关参数需要进行精准的调整。而在多数的两阶段算法中,由于anchor的纵横比不变,模型检测anchor变化较大的候选目标时会遇到麻烦,特别是对于小目标的物体。多数检测模型需要在不同的检测任务场景下重新定义不同的目标尺寸的anchor,这是因为模型预定义的anchor对模型性能影响较大。在训练过程中,大多数的anchor被标记为负样本,而负样本的数量过多会加剧训练中正样本与负样本之间的不平衡。基于无预设候选框(anchor-free)的检测算法容易造成极大的正负样本之间不平衡,检测的精度也不如anchor-base算法。而近年来的全卷积网络(fully convolutional network,FCN[13])在众多计算机视觉的密集预测任务中取得了好的效果,例如语义分割、深度估计[14]、关键点检测[15]和人群计数[16]等。由于预设候选框的使用,两阶段检测算法取得了好的效果,这也间接导致了检测任务中没有采用全卷积逐像素预测的算法框架。而FCOS[12]首次证明,基于FCN的检测算法的检测性能比基于预设候选框的检测算法更好。FCOS结合two-stage和one-stage算法的一些特点逐像素检测目标,实现了在提高检测精度的同时,加快了检测速度。
由于拥挤场景下行人目标会出现交叠、遮挡和行人目标偏小等问题,本文提出新的特征提取网络提取更具判别性行人特征。对于FCOS检测算法,行人检测中行人尺度问题对模型性能的影响较大,针对该问题,本文改进多尺度预测用于检测小目标行人,有效地解决了行人目标偏小、拥挤等场景下行人检测精度不高的问题。
1 相关工作 1.1 FCOS框架FCOS首先以逐像素预测的方式对目标进行检测,无需设置anchor的纵横比,然后利用多级预测来提高召回率并解决训练中重叠预测框导致的歧义,这种方法可以有效提高拥挤场景下行人检测精度,缓解行人拥挤而导致的检测困难的问题。实际上,诸如Unitbox[17]之类基于DenseBox[18]的anchor-free检测算法,难以处理重叠的预测框而导致召回率低的问题,该系列的检测算法不适合用于一般物体检测,FCOS的出现打破这一局面。FCOS表明,使用多级特征金字塔网络(feature pyramid networks, FPN[19])预测可以提高召回率,提高检测精度。
FCOS在训练中损失定义如下:
$\begin{aligned} {\rm{Loss}} = \dfrac{1}{{{N_{{\rm{pos}}}}}}\displaystyle\sum\limits_{x,y} {{L_{\rm{cls}}}({p_{x,y}},c_{x,y}^*)} +\\ \dfrac{1}{{{N_{\rm{pos}}}}}\displaystyle\sum\limits_{x,y} {{I_{\{ c_{x,y}^* > 0\} }}{L_{\rm{reg}}}({t_{x,y}},t_{x,y}^*)} \quad \end{aligned}$ | (1) |
式中:x、y表示特征图上的某一位置;
此外,FCOS还具有独特的中心度分支预测,可以抑制低质量框的比例。由于逐像素预测,很多像素点虽然处于真值框内,但是越接近真值框中心的像素点预测出高质量预测框的概率也越大,因此提出预测中心度损失函数,如式(2)所示:
${\rm{centerness}}^* = \sqrt {\frac{{\min ({l^*},{r^*})}}{{\max ({l^*},{r^*})}} \times \frac{{\min ({t^*},{b^*})}}{{\max ({t^*},{b^*})}}} $ | (2) |
式中:
如图1所示,FCOS算法的特征提取网络采用主干网络(Backbone)加上FPN,Backbone选用ResNet[21]提取特征,在FPN中,P3、P4、P5分别由C3、C4、C5横向连接产生,P6、P7由P5、P6通过步长为2的卷积产生。每层检测不同尺度大小的目标,
${\rm{max}} \left( {{l^*},{r^*},{t^*},{b^*}} \right) \in \left[ {{m_{i - 1}},{m_i}} \right]$ | (3) |
式中:
Download:
|
|
深度学习中,特征提取网络对于模型有着非常大的影响,针对不同的数据集可以直接影响其检测性能。针对ResNet不足,本文运用VoVNet作为行人特征的提取网络。
DenseNet[22]在目标检测任务上展示出了较好的效果,特别是基于anchor-free的目标检测模型,这是因为相比于ResNet,DenseNet通过特征不断叠加达到好的效果,其缺点是在后续特征叠加时,通道数线性增加,参数也越来越多,模型花费时间增加,影响模型速度。
VoVNet认为在特征提取方面,中间层的聚集强度与最终层的聚集强度之间存在负相关,并且密集连接是冗余的,即靠前层的特征表示能力越强,靠后层的特征表示能力则会被弱化。VoVNet[23]针对DenseNet做出改进,提出一种新的模块,即一次性聚合(one-shot aggregation, OSA)模块。OSA模块将当前层的特征聚合至最后一层,每一卷积层有两种连接方式,一种方式是连接至下一层,用于产生更大感受野的特征,另一种方式是连接一次至最终输出的特征图上,与DenseNet不同,每一层的输出不会连接至后续的中间层,这样的设计使得中间层的通道数保持不变。VoVNet采用更加优化的特征连接方式,通过增强特征的表示能力,提高特征的提取能力,进而提高模型的检测性能。
2.2 SE模块本文为了更好地契合复杂的行人特征,在VoVNet上使用SE模块[24]加强特征表示能力,并且在特征图上使用SE模块进行权重分配,使得深度特征更加多样化。
SE模块首先依照空间维度来进行特征压缩,将每个二维的特征通道变成一个实数,输出一个二维空间,它的维度与特征通道数相等,即二维空间表示对应特征通道上的分布结果。之后生成一个具有权重的二维空间,表示特征通道间的相关性。最后将对应的特征图乘上权重特征,实现一个特征的权重分配,突出重要的特征,完成在通道维度上对原始特征通道上重要性的重标定。
SE模块类似于注意力机制,本文将其使用在VoVNet上,如图2所示,在每层特征下采样时,将特征进行SE权重分配。根据VoVNet的特征连接方式添加SE模块权重机制,本文方法可以提供更加多元化的特征,使得行人特征更好地表达,提高行人检测的精度。并且SE模块可以在几乎不增加模型时间复杂度的情况下提升模型的检测性能。
Download:
|
|
原始模型FPN采用5层不同尺度回归目标,这5层尺度回归的目标大小分别为[0,64]、[64,128]、[128,256]、[256,512]和[512,
如图2所示,减小P3层的回归尺度,设置P3层回归尺度为[32,64],减少P3层的检测任务量;增加P2层,P2层由C2层横向连接和P3层向下连接组成,P2层回归尺度为[0,32]的目标,这样的网络设计既能减少P3层的回归目标数,也能更好地利用特征检测小目标行人,提高行人检测精度。在最终的FPN上,本文的方法在FPN上拥有6层特征图以检测6个不同尺度范围的目标。
总体网络框架如图3所示,相较于未改进FCOS算法,预测特征图由5个增加到6个,而后对特征图上每个点进行逐像素预测,每个点均需预测目标回归框、目标类别、目标中心度,以上3种预测结果对应图3中3个预测分支,假设当前特征图大小为
Download:
|
|
本文实验主要使用CrowdHuman[25]和Caltech行人数据集。行人数量多、场景拥挤是行人检测中一个巨大的挑战,针对这一问题,旷视发布CrowdHuman数据集,用于验证检测算法在密集人群行人检测任务中的性能。CrowdHuman数据集中15 000、4 370和5 000个图片,分别用于训练、验证和测试。针对CrowdHuman数据集,本文只使用全身区域标注用于训练和评估,由于还未公布测试集,参考相关文献[25-26]后,实验结果在验证集上进行测试。Caltech行人数据集时长约为10 h城市道路环境拍摄视频,数据集中随机分配训练集、测试集、验证集,其对应比例为0.75∶0.2∶0.05,3个集相互独立,测试集图片约为24 438张。
本文采用
${\rm{FPPI}}{\rm{ = }}\frac{{\rm{FP}}}{N}$ | (4) |
式中:N表示图片的数量;FP表示未击中任意一个真值框的预测框数量。
AP表示平均精度,PR(Precision-Recall)曲线所围成的面积即为AP值大小,AP值越大检测精度越高,其中AP、Recall、Precision计算公式如下:
${\rm{Precision}} = \frac{{\rm{TP}}}{{\rm{TP }+ {\rm{FP}}}}$ | (5) |
$\rm{Recall } = \frac{{TP}}{{TP + FN}}$ | (6) |
${\rm{AP}} = \int_0^1 {P\left( R \right){\rm{d}}R} $ | (7) |
式中:TP是检测出正样本的概率;FN是正样本检测出错误样本的概率;FP是负样本检测出正样本的概率。
4 实验本文实验环境为Ubuntu18.04、Cuda10和Cudnn7.6,使用4块2080Ti的GPU,每个GPU有11G内存,由于FCOS算法要求较高,存在内存不够的问题,实验通过线性策略[27]调整了batch_size大小和IMS_PER_BATCH的数量。其余参数沿用FCOS在COCO数据集上基础参数配置,算法基于detectron框架。
4.1 CrowdHuman数据集实验结果如表1消融实验所示,其中6stage表示多尺度检测方法,SE表示SE模块。在FCOS上采用VoVNet作为Backbone起到了极大的提升作用,相较于主干网络为ResNet,AP50提升11.2%。在FPN中多添加一个尺度的回归层,对于行人检测的效果有极大的提升,这是因为密集的行人检测受尺度变化影响较大。相较于原始FCOS方法,本文方法在指标AP50上提升了15.0%。针对于不同主干网络,SE模块在指标AP50上有0.2%~0.3%的提升,说明SE模块能增强行人特征提取能力。模型由5个尺度增加到6个尺度,指标AP50 提升3.5%,并且对于模型检测小目标行人有着极大的提升,可以看到指标APS 提升8.5%,实验结果也印证多尺度改进能有效地提升模型检测小目标行人的性能。
CrowdHuman[25]数据集中采用指标
如表3所示,针对CrowdHuman数据集,NMS的IOU阈值设定也是不同的,原始FCOS算法在COCO数据集上IOU阈值设置为0.7,而针对拥挤行人场景,本文发现IOU阈值设置为0.5时,模型整体性能较好。图4(a)表示PR曲线图,图4(b)表示MR-FPPI曲线,可以清晰地看到本文方法总体上提升较大。在采用了VoVNet后,对模型性能有了极大的提升,说明VoVNet更加适合于FCOS在拥挤场景下提取行人特征。多尺度检测方法在拥挤场景下的行人检测也是有效的,提升效果明显。
如表4所示,在车载摄像头的行人数据集Caltech上本文提出的方法也有一定提升,相较于原始YOLOv2方法,AP实现了2%的提升。在Caltech数据集上的提升,说明本文模型的鲁棒性较好。
Download:
|
|
本文的模型使用CrowdHuman训练集进行训练,在实际场景下的检测也有不错的效果,本文挑选出实际场景下一张室内行人和一张室外行人进行检测。因为本文算法无需设置anchor的尺寸和纵横比,所以在实际场景中的行人检测鲁棒性较好。如图5所示,图5(a)、(c)表示原始FCOS方法在拥挤行人中的效果,图5(b)、图5(d)表示本文方法的最终效果,可以看到,原始FCOS可以较好地检测出图片中的行人,漏检率较低,但是仍存在伪正例,相比于图5(b),可以看到图5(a)右上角小目标行人未检测出来,远处的行人检测效果也不如图5(b)的检测效果,而相比于图5(d),可以看到图5(b)右边出现置信度为0.64的错误预测框。本文提出的方法可以较好地检测行人,减少FP出现的情况,在实际拥挤场景下能较好地检测目标行人。但当行人目标交叠时,或者对于有遮挡的行人,检测的效果大部分仅能检测出可视的部分,无法将全身区域标注出来,导致与真值框交并比的值较低,被视为负类。这也是目前本文方法面临的主要问题之一。
Download:
|
|
针对行人目标检测中行人拥挤、目标偏小等问题,本文提出一种基于FCOS框架的行人检测算法。通过融入新的 Backbone 并且在 FPN 中添加一层 P2 层,实现行人目标的多尺度检测。通过融入SE模块进行特征的权重分配,更好地提取行人特征,提高行人检测精度。本模型方法无需设置anchor纵横比等参数,参数设置少。相较于目前先进方法,可以达到有较强竞争力的检测效果。在实验中也发现,本文提出的方法受行人深度特征影响较大,如何在拥挤遮挡等实际场景下进行更高精度行人检测是我们进一步要研究的内容。
[1] | NI Tongguang, DING Zongyuan, CHEN Fuhua, et al. Relative distance metric leaning based on clustering centralization and projection vectors learning for person re-identification[J]. IEEE access, 2018, 6: 11405-11411. DOI:10.1109/ACCESS.2018.2795020 (0) |
[2] | WANG Hongyuan, DING Zongyuan, ZHANG Ji, et al. Person reidentification by semisupervised dictionary rectification learning with retraining module[J]. Journal of electronic imaging, 2018, 27(4): 043043. (0) |
[3] |
戴臣超, 王洪元, 倪彤光, 等. 基于深度卷积生成对抗网络和拓展近邻重排序的行人重识别[J]. 计算机研究与发展, 2019, 56(8): 1632-1641. DAI Chenchao, WANG Hongyuan, NI Tongguang, et al. Person re-identification based on deep convolutional generative adversarial network and expanded neighbor reranking[J]. Journal of computer research and development, 2019, 56(8): 1632-1641. (0) |
[4] | JIAO Licheng, ZHANG Fan, LIU Fang, et al. A survey of deep learning-based object detection[J]. IEEE access, 2019, 7: 128837-128868. DOI:10.1109/ACCESS.2019.2939201 (0) |
[5] | REN Shaoqing, HE Kaiming, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE transactions on pattern analysis and machine intelligence, 2017, 39(6): 1137-1149. DOI:10.1109/TPAMI.2016.2577031 (0) |
[6] | DAI Jifeng, LI Yi, HE Kaiming, et al. R-FCN: object detection via region-based fully convolutional networks[C]//Proceedings of the 30th International Conference on Neural Information Processing Systems. Barcelona, Spain, 2016: 379−387. (0) |
[7] | HE Kaiming, GKIOXARI G, DOLLÁR P, et al. Mask R-CNN[C]//Proceedings of 2017 IEEE International Conference on Computer Vision. Venice, Italy, 2017: 2961−2969. (0) |
[8] | LIN T Y, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection[C]//Proceedings of 2017 IEEE International Conference on Computer Vision. Venice, Italy, 2017: 2980−2988. (0) |
[9] | CAI Zhaowei, VASCONCELOS N. Cascade R-CNN: delving into high quality object detection[C]//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, USA, 2018: 6154−6162. (0) |
[10] | REDMON J, FARHADI A. YOLO9000: better, faster, stronger[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA, 2017: 7263−7271. (0) |
[11] | LIU Wei, ANGUELOV D, ERHAN D, et al. SSD: single shot MultiBox detector[C]//Proceedings of the 14th European Conference on Computer Vision. Amsterdam, The Netherlands, 2016: 21−37. (0) |
[12] | TIAN Zhi, SHEN Chunhua, CHEN Hao, et al. FCOS: fully convolutional one-stage object detection[C]//Proceedings of 2019 IEEE/CVF International Conference on Computer Vision and Pattern Recognition. Long Beach, USA, 2019: 9627−9636. (0) |
[13] | LONG J, SHELHAMER E, DARRELL T. Fully convolutional networks for semantic segmentation[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA, 2017: 4438−4446. (0) |
[14] | LIU Fayao, SHEN Chunhua, LIN Guosheng, et al. Learning depth from single monocular images using deep convolutional neural fields[J]. IEEE transactions on pattern analysis and machine intelligence, 2016, 38(10): 2024-2039. DOI:10.1109/TPAMI.2015.2505283 (0) |
[15] | CHEN Yu, SHEN Chunhua, WEI Xiushen, et al. Adversarial PoseNet: a structure-aware convolutional network for human pose estimation[C]//Proceedings of 2017 IEEE International Conference on Computer Vision. Venice, Italy, 2017: 1212−1221. (0) |
[16] | BOOMINATHAN L, KRUTHIVENTI S S S, BABU R V. CrowdNet: a deep convolutional network for dense crowd counting[C]//Proceedings of the 24th ACM International Conference on Multimedia. Amsterdam, The Netherlands, 2016: 640−644. (0) |
[17] | YU Jiahui, JIANG Yuning, WANG Zhangyang, et al. UnitBox: an advanced object detection network[C]//Proceedings of the 24th ACM International Conference on Multimedia. Amsterdam, The Netherlands, 2016: 516−520. (0) |
[18] | HUANG Lichao, YANG Yi, DENG Yafeng, et al. DenseBox: unifying landmark localization with end to end object detection[EB/OL]. (2015−09-19)[2021−05-07] https://arxiv.org/abs/1509.04874. (0) |
[19] | LIN T Y, DOLLÁR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA, 2017: 2117−2125. (0) |
[20] | REZATOFIGHI H, TSOI N, GWAK J Y, et al. Generalized intersection over union: a metric and a loss for bounding box regression[C]//Proceedings of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach, USA, 2019: 658−666. (0) |
[21] | HE Kaiming, ZHANG Xiangyu, REN Shaoqing, et al. Deep residual learning for image recognition[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, USA, 2016: 770−778. (0) |
[22] | HUANG Gao, LIU Zhuang, VAN DER MAATEN L, et al. Densely connected convolutional networks[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA, 2017: 4700−4708. (0) |
[23] | LEE Y, HWANG J W, LEE S, et al. An energy and GPU-computation efficient backbone network for real-time object detection[C]//Proceedings of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. Long Beach, USA, 2019: 752−760. (0) |
[24] | HU Jie, SHEN Li, SUN Gang. Squeeze-and-excitation networks[C]//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, USA, 2018: 7132−7141. (0) |
[25] | SHAO Shuai, ZHAO Zijian, LI Boxun, et al. CrowdHuman: a benchmark for detecting human in a crowd[EB/OL]. (2018−04-30)[2021−05-07] https://arxiv.org/pdf/1805.00123.pdf. (0) |
[26] | LIU Songtao, HUANG Di, WANG Yunhong. Adaptive NMS: refining pedestrian detection in a crowd[C]//Proceedings of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach, USA, 2019: 6459−6468. (0) |
[27] | GOYAL P, DOLLÁR P, GIRSHICK R, et al. Accurate, large minibatch SGD: training ImageNet in 1 hour[EB/OL]. (2018−04-30)[2021−05-07] https://arxiv.org/pdf/1706.02677.pdf. (0) |