开放科学(资源服务)标志码(OSID):
人群计数的主要任务是统计指定区域内的人数,其广泛应用在公共安全管理、商业信息采集、服务资源调度等领域。目前,人群计数主流方法是通过运用计算机视觉相关知识来统计一张图片中的人数。与传统的人力计数方法相比,该方法在节省人力物力资源方面成效显著。人群计数作为计算机视觉领域的研究热点,仍然面临着目标遮挡、尺度变化、分布不均、背景复杂、视角透视等难题。
基于计算机视觉的人群计数方法可以分为基于检测、基于回归、基于密度图的人群计数方法。基于检测的人群计数方法通过累加检测出的单个个体,以得到图片的最终人数。该方法[1-3]适用于低密度场景,但是难以解决中高密度或者目标遮挡场景下的人群计数问题。基于回归的人群计数方法[4-6]将图像模块内的人群作为一个整体,通过特征回归算法直接得到图像模块的对应人数,然后将包含人数信息的所有图像模块结果累计加和得到图片整体人数。此类方法能够解决背景部分遮挡的问题,提高适用场景的人群密度上限,但是受视角、背景等因素的制约,在高密度场景下的准确性较低。基于密度图[7]的人群计数方法是通过生成相应的人群密度图,进而将密度图中的像素密度值累加,累加值即为最终图片人数。此类方法能够充分利用像素级别的信息,普适性较强,广泛应用于各种密度场景,是当前人群计数领域的主流方法。
随着图像处理器(Graphics Processing Unit,GPU)计算能力的不断提高,基于深度学习的密度图人群计数方法应运而生。该方法充分利用计算机储存和算力,极大地提高了人群计数的准确性,同时提升了人群计数的实时性,在一定程度上解决了传统人群计数方法需要人工手动选取特征的难题,从而扩大适用场景的范围。文献[8]通过3列包含不同尺寸卷积核的神经网络来提取多尺度特征,以融合提取到的多尺寸特征,从而获得最终的人群密度图。在此方法提出之后,一系列基于多列卷积神经网络的人群计数方法层出不穷。基于文献[9]在网络前端增加一个图片人群密度等级分类器,将分类成不同密度等级的图片输入到不同的列,以得到相应人群密度图。文献[10]在文献[8]方法的基础上,利用跳接操作将各列网络的特征图相融合,得到最终人群密度图。文献[11]在微调文献[8]方法的基础上,通过加入两列网络分别获取全局和局部上下文信息,从而有策略地融合多列网络特征,得到最终的人群密度图。以上所述的基于多列卷积神经网络的方法在一定程度上提高了人群计数的准确率,文献[12]提出密集场景识别网络(Congested Scene Recognition Network,CSRNet),并指出多列卷积神经网络存在一定的不足。虽然多列网络使用不同尺寸的卷积核来提取多尺寸特征,但是得到的特征图存在信息冗余,并且网络结构复杂,训练耗时久。同时包含膨胀卷积的CSRNet因使用相同的膨胀率,导致不能充分利用前端网络得到的特征图。
本文提出一种基于注意力机制与上下文密度图融合的人群计数网络CADMFNet。采用前端网络实现逐级特征融合[13],即使用上采样融合模块(Up-sampling Fusion Module,UFM)实现高层特征和低层特征的融合,得到不同层级的多尺寸特征,将互质膨胀率[14]交替使用的膨胀卷积作为后端网络,利用上下文注意力模块(Contextual Attention Module,CAM)融合不同层级的中间人群密度图,以充分利用上下文信息,从而提升最终生成人群密度图的质量。
1 本文网络本文提出一种基于注意力机制与上下文密度图融合的人群计数网络CADMFNet。该网络结构如图 1所示。
![]() |
Download:
|
图 1 本文网络结构 Fig. 1 Structure of the proposed network |
前端网络包含VGG16的前13层卷积层,将其按照2、2、3、3、3的层数分成5个阶段,池化层连接于下一个阶段的开头。将5个阶段的特征图依次输入到上采样融合模块(UFM)中进行上下文特征融合。其中,
低层特征信息的感受野比较小,其包含小尺寸图像信息,即离摄像头位置较远的人群信息。高层特征信息的感受野较大,其包含大尺寸图像信息,即离摄像头位置较近的人群信息。上下文融合模块利用高层语义信息和低层轮廓信息,得到较精细的人群密度图,从而获得较准确的人群计数结果。为得到包含高层语义信息和低层轮廓信息的上下文多尺寸特征,本文通过UFM得到融合后的上下文特征,并将这些不同的多尺寸上下文特征输入到后端网络,以减少特征图之间的冗余,从而更充分地利用网络提取的特征,提高计数的准确性。
在经过上采样融合模块处理之后,网络可以获得含有上下文信息的特征图
![]() |
下载CSV 表 1 上采样融合模块配置信息 Table 1 Configurations information of up-sampling fusion module |
膨胀卷积能够增大感受野,且提升计数准确率。膨胀卷积通过修改卷积核结构来扩大感受野,无需进行下采样操作,不会丢失空间信息,因此其效果要优于卷积+池化+反卷积的方法。二维膨胀卷积的计算如式(1)所示:
$ y(m, n)=\sum\limits_{i=1}^{M}\sum\limits_{j=1}^{N}x(m+d\times i, n+d\times j)\times w(i, j) $ | (1) |
其中:
不同膨胀率的膨胀卷积感受野效果图如图 2所示。图 2中由内而外依次包含
![]() |
Download:
|
图 2 不同膨胀率的膨胀卷积感受野效果图 Fig. 2 Effect images of dilated convolution receptive field with different dilation rates |
上下文注意力模块(CAM)主要包括系数分支以及密度图分支2个部分,如图 1所示。其中,密度图分支利用不同的上下文特征信息
在密度图分支中,通过将不同的上下文信息输入到相应层级的多列后端网络,得到中间人群密度图。后端网络和系数网络的配置信息如表 2所示。
![]() |
下载CSV 表 2 后端网络和系数网络配置信息 Table 2 Configurations information of back-end networks and coefficient-end network |
在表 2中,卷积层参数表示为“(卷积核大小)-(输出通道数)-(膨胀率)”,up_2表示通过上采样操作将边长变为原来2倍,up_4表示通过上采样操作将边长变为原来4倍。后端网络包含逐级上采样操作和互质膨胀率的膨胀卷积操作,能够充分利用特征图像素级别的信息,在一定程度上提高网络的准确率。网络将每列后端网络得到的中间人群密度图在通道维度进行堆叠,从而得到最终的中间人群密度图
系数分支通过将具有不同层级上下文信息的特征图
人群密度图代表人在图像中出现的概率,既包含空间分布特征信息,又包含人数特征信息,通过对人群密度图中的像素密度值积分进行累加,获得对应图像或图像模块的人数。与基于回归的人群计数方法相比,基于密度图的人群计数方法优势在于能够更好地使用图像特征,进而提升计数准确度。此外,学习人头区域信息比学习人头中心点信息更容易,高斯核函数能够近似拟合不同尺寸的人头,在一定程度上模拟人群遮挡等现实场景可能出现的情况,从而解决目标遮挡等难题。因此,人群计数主流方法采用高斯核函数与冲激函数卷积生成真实人群密度图,并将其作为预处理准备工作。
假设人群标注的人头标签坐标为xi,则整幅图像所包含的人头位置如式(2)所示:
$ H\left(x\right)=\sum\limits_{i=1}^{N}\delta (x-{x}_{i}) $ | (2) |
其中:
$ D\left(x\right)=H\left(x\right)\mathrm{*}{G}_{{\sigma }_{i}}\left(x\right) $ | (3) |
高斯核函数
$ {G}_{{\sigma }_{i}}\left(x\right)=\frac{1}{2\mathrm{\pi }{\sigma }_{i}^{2}}{\mathrm{e}}^{-\frac{(x-{x}_{i}{)}^{2}}{2{\sigma }_{i}^{2}}} $ | (4) |
其中:
由高斯核函数性质可得:对应的标准差
$ {\sigma }_{i}=\beta {\stackrel{-}{d}}_{k}^{i} $ | (5) |
其中:
网络模型训练使用均方误差来衡量估计密度图与真实密度图之间的差异,因此,将均方误差作为损失函数来调整估计密度图的生成,如式(6)所示:
$ {L}_{\mathrm{L}\mathrm{o}\mathrm{s}\mathrm{s}}\left(\theta \right)=\frac{1}{N}\sum\limits_{i=1}^{N}\left({D}_{p}\right({I}_{i}, \theta )-{D}_{gi}{)}^{2} $ | (6) |
其中:
由于目前公开的公共数据集中图片数量不是特别多,为防止产生过拟合现象,因此本文使用数据增强技术来扩充数据集中的图片数量。在网络训练阶段,本文对数据集图片用0.5的概率进行左右翻转,并从每张数据集图片中随机裁减出一个
本文实验环境为Windows 10操作系统,配备16 GB NVIDIA Quadro RTX 5000 GPU显卡。采用CUDA 11.0版本的Pytorch深度学习框架,分别在UCF_CC_50、ShanghaiTech及Mall数据集上进行实验,初步验证了本文网络在高、中、低各类密度场景下的计数效果。
2.2.1 评价指标本文网络模型采用平均绝对误差(MAE)和均方根误差(RMSE)作为实验结果的性能指标,反映网络计数的准确性及稳定性。
1)平均绝对误差(MAE)。计算对象为测试集图片的估计人数和标签真实人数,如式(7)所示:
$ {M}_{\mathrm{M}\mathrm{A}\mathrm{E}}=\frac{1}{N}\sum\limits_{i=1}^{N}|{\widehat{C}}_{i}-{C}_{i}| $ | (7) |
其中:
2)均方根误差(RMSE)。计算对象为测试集图片的估计人数和标签真实人数,如式(8)所示:
$ {R}_{\mathrm{R}\mathrm{M}\mathrm{S}\mathrm{E}}=\sqrt{\frac{1}{N}\sum\limits_{i=1}^{N}({\widehat{C}}_{i}-{C}_{i}{)}^{2}} $ | (8) |
其中:
UCF_CC_50数据集[15]的图片来源于互联网,总共有50张图片,每张图片中的人数为94~4 543个人,共计63 974个人。该数据集包含的场景人群密集程度高且图片数量稀少,是目前最具挑战性的人群数据集之一。本文采用五折交叉验证[15]方法进行实验:将数据集包含的50张图片随机等分为5个图片集,依次采用一个图片集作为测试集,剩余图片集打通合并后作为训练集,最终实验结果为5次实验结果的平均值。该数据集的平均人数为1 279.5个人,属于高密度场景,因此使用MCNN方法[8]生成人群密度图。在UCF_CC_50数据集上,本文对MCNN、MSCNN[16]、ResNeXtFP[17]、PACNN[18]、CSRNet[12]等网络的评价指标进行对比,结果如表 3所示。
![]() |
下载CSV 表 3 在UCF_CC_50数据集上不同网络的评价指标对比 Table 3 Evaluation indexs comparison among different networks on UCF_CC_50 dataset |
从表 3可以看出,在UCF_CC_50数据集上,虽然本文网络CADMFNet未取得最优的指标,但是相比CSRNet方法,其MAE下降了10.4%,RMSE下降了8.7%,说明本文网络在一定程度上可以提高人群计数的准确度。此外,由于UCF_CC_50数据集的划分方法具有一定的随机性,因此该数据集得到的计数结果虽然具备一定的参考意义,但是不具有绝对性的判断作用。
2.2.3 ShanghaiTech数据集ShanghaiTech数据集[8]分为2个部分,共有1 198张图片,包含330 165个人。Part A中包含的图片主要来源于互联网,该部分共有482张人数范围为33~3 193个人的图片,其中,300张为训练集,182张为测试集。Part B人群密度比Part A稀疏,是上海市区繁华街道的图片,该部分包含716张人数范围为9~578个人的图片,其中,400张为训练集,316张为测试集。Part A部分平均人数为501.4个人,Part B部分平均人数为123.6个人,均属中密度场景。因此,采用文献[8]网络生成人群密度图,在ShanghaiTech数据集上不同网络的评价指标如表 4所示。
![]() |
下载CSV 表 4 在ShanghaiTech数据集上不同网络的评价指标对比 Table 4 Evaluation indexs comparison among different networks on ShanghaiTech dataset |
从表 4可以看出,在ShanghaiTech数据集上,相比CSRNet网络的结果,本文网络在ShanghaiTech Part A的MAE下降了8.8%,RMSE下降了12.5%;在ShanghaiTech Part B上的MAE下降了25.5%,RMSE下降了24.4%。
2.2.4 Mall数据集Mall数据集[5]来源于安装在购物中心的监控摄像头拍摄得到的图片,总共包含2 000张图片,共有62 325个人。在这2 000张图片中,前800张划分到训练集,后1 200张划分到测试集。该数据集包含人数为13~53个人的图片,平均人数为31.2个人,属于低密度场景。此外,该数据集包含遮挡、光照、镜子成像等干扰。本文根据透视图生成真实密度图,透视图包含人群远近信息权重,主要采用式(9)的方法来生成二维高斯分布的标准差(
$ {\sigma }_{i, j}=\frac{25}{\sqrt{{x}_{i, j}}}, {x}_{i, j} > 0 $ | (9) |
其中:
![]() |
下载CSV 表 5 在Mall数据集上不同网络的评价指标对比 Table 5 Evaluation indexs comparison among different networks on Mall dataset |
从表 5可以看出,在Mall数据集上本文网络的评价指标基本取得了最优的结果。测试集平均每张图片对应的人数绝对误差为1.31,对应的人数均方根误差为1.59。
由以上结果分析可知,本文网络适用于高密度场景、中密度场景和低密度场景的人群计数。
2.3 实验结果在不同数据集上本文网络的可视化结果如图 3所示。图 3中第1列为每个数据集中的原图,第2列为真实人群密度图,包含真实人数,第3列为本文网络的估计人群密度图,包含估计人数。在UCF_CC_50数据集上本文网络的真实人数为1 037个,估计人数为1 372.6个。在ShanghaiTech Part A数据集上本文网络的真实人数为502个,估计人数为432.6个。在ShanghaiTech Part B数据集上本文网络的真实人数为181个,估计人数为166.2个。在Mall数据集上本文网络的真实人数为33个,估计人数为32.5个。
![]() |
Download:
|
图 3 本文网络的可视化结果 Fig. 3 Visualization results of the proposed network |
不同列密度图的可视化结果如图 4所示,网络输入为ShanghaiTech Part A数据集中的图片,经过CADMFNet后,不同列对应的密度图输出为密度图_
![]() |
Download:
|
图 4 不同列密度图的可视化结果 Fig. 4 Visualization results of different column density maps |
CADMFNet网络取得较优的准确性与鲁棒性的同时,也存在一定的不足,比如参数量过大、运行速度较慢。CSRNet方法的参数量为62 MB,CADMFNet方法的参数量达到了145 MB。因此,CADMFNet网络适用于对准确率要求比较高但对实时性相对较低的场景,如学校、商场和景区的人流统计等。
2.4 消融实验本文在ShanghaiTech Part A数据集上进行消融实验,验证互质膨胀率交替使用(Alternating Dilation Rate,ADR)、上采样融合模块(UFM)、注意力模块(Attention Module,AM)和后端网络中逐级上采样(Step by step Up-sampling,SU)的有效性。其中,AM和SU包含上下文注意力模块(CAM),验证其有效性相当于验证了上下文注意力模块的有效性。注意力模块主要表现为图 1中Coefficient-end所在的那一列。Baseline为CADMFNet去掉ADR、UFM、AM、SU之后的网络(dilation rate=2)。在ShanghaiTech Part A数据集上的消融实验结果如表 6所示。
![]() |
下载CSV 表 6 在ShanghaiTech Part A数据集上的消融实验结果 Table 6 Ablation experimental results on ShanghaiTech Part A dataset |
从表 6可以看出,本文提出的ADR、UFM、AM和SU使得人群计数的MAE下降,具有提升计数准确性的效果。在Baseline基础上增加相关模块后,虽然人群计数的RMSE产生一定的波动,但是其相差不大且都比Baseline的RMSE小。因此,上述模块能够有效增强人群计数的稳定性。CADMFNet同时使用以上4个模块,能够提高网络的准确性和稳定性,使整体效果达到最优。相比Baseline网络,CADMFNet的MAE降低了10.8%,RMSE降低了13.3%。
3 结束语本文提出一种基于注意力机制与上下文密度图融合的人群计数网络CADMFNet。采用上采样融合模块、上下文注意力模块来减少多列网络中不同列之间的冗余信息,通过不同膨胀率的膨胀卷积生成高质量的中间密度图,以提高人群计数的准确度。在此基础上,将上述互补密度图相加得到最终的人群密度图。实验结果表明,相比CSRNet网络,本文网络能够提高人群计数的准确性与稳定性,其在Mall数据集上的平均绝对误差和均方根误差分别为1.31和1.59。后续将从同比例减少网络通道数角度优化人群计数方法,以提高网络的运行效率。
[1] |
ZOU L H, LIU Y C. A new algorithm of counting human based on segmentation of human faces in color image[C]//Proceedings of International Conference on Computational Intelligence and Security. Washington D. C., USA: IEEE Press, 2009: 505-509.
|
[2] |
HOU Y L, PANG G K H. People counting and human detection in a challenging situation[J]. IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans, 2011, 41(1): 24-33. DOI:10.1109/TSMCA.2010.2064299 |
[3] |
IDREES H, SOOMRO K, SHAH M. Detecting humans in dense crowds using locally-consistent scale prior and global occlusion reasoning[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(10): 1986-1998. DOI:10.1109/TPAMI.2015.2396051 |
[4] |
RYAN D, DENMAN S, FOOKES C, et al. Crowd counting using multiple local features[C]//Proceedings of Digital Image Computing: Techniques and Applications. Washington D. C., USA: IEEE Press, 2009: 81-88.
|
[5] |
CHEN K, LOY C C, GONG S G, et al. Feature mining for localised crowd counting[EB/OL]. [2021-09-22]. http://www.eecs.qmul.ac.uk/~sgg/papers/ChenEtAl_BMVC2012.pdf.
|
[6] |
CHAN A B, VASCONCELOS N. Bayesian poisson regression for crowd counting[C]//Proceedings of the 12th International Conference on Computer Vision. Washington D. C., USA: IEEE Press, 2009: 545-551.
|
[7] |
LEMPITSKY V, ZISSERMAN A. Learning to count objects in images[C]//Proceedings of the 23rd International Conference on Neural Information Processing Systems. Cambridge, USA: MIT Press, 2010: 1324-1332.
|
[8] |
ZHANG Y Y, ZHOU D S, CHEN S Q, et al. Single-image crowd counting via multi-column convolutional neural network[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2016: 589-597.
|
[9] |
SAM D B, SURYA S, BABU R V. Switching convolutional neural network for crowd counting[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2017: 4031-4039.
|
[10] |
陆金刚, 张莉. 基于多尺度多列卷积神经网络的密集人群计数模型[J]. 计算机应用, 2019, 39(12): 3445-3449. LU J G, ZHANG L. Crowd counting model based on multi-scale multi-column convolutional neural network[J]. Journal of Computer Applications, 2019, 39(12): 3445-3449. (in Chinese) |
[11] |
SINDAGI V A, PATEL V M. Generating high-quality crowd density maps using contextual pyramid CNNs[C]//Proceedings of IEEE International Conference on Computer Vision. Washington D. C., USA: IEEE Press, 2017: 1879-1888.
|
[12] |
LI Y H, ZHANG X F, CHEN D M. CSRNet: dilated convolutional neural networks for understanding the highly congested scenes[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2018: 1091-1100.
|
[13] |
SONG Q Y, WANG C G, WANG Y B, et al. To choose or to fuse?scale selection for crowd counting[C]//Proceedings of the 35th AAAI Conference on Artificial Intelligence. [S. l. ]: AAAI Press, 2021: 2576-2583.
|
[14] |
李佳倩, 严华. 基于跨列特征融合的人群计数方法[J]. 计算机科学, 2021, 48(6): 118-124. LI J Q, YAN H. Crowd counting method based on cross-column features fusion[J]. Computer Science, 2021, 48(6): 118-124. (in Chinese) |
[15] |
IDREES H, SALEEMI I, SEIBERT C, et al. Multi-source multi-scale counting in extremely dense crowd images[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2013: 2547-2554.
|
[16] |
ZENG L K, XU X M, CAI B L, et al. Multi-scale convolutional neural networks for crowd counting[C]//Proceedings of IEEE International Conference on Image Processing. Washington D. C., USA: IEEE Press, 2017: 465-469.
|
[17] |
KALYANI G, JANAKIRAMAIAH B, PRASAD L V N, et al. Efficient crowd counting model using feature pyramid network and ResNeXt[J]. Soft Computing, 2021, 25(15): 10497-10507. DOI:10.1007/s00500-021-05993-x |
[18] |
SHI M J, YANG Z H, XU C, et al. Revisiting perspective information for efficient crowd counting[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2019: 7271-7280.
|
[19] |
ZHUGE J C, DING N N, XING S J, et al. An improved deep multiscale crowd counting network with perspective awareness[J]. Optoelectronics Letters, 2021, 17(6): 367-372. DOI:10.1007/s11801-021-0184-5 |
[20] |
ZHANG Y M, ZHOU C L, CHANG F L, et al. Multi-resolution attention convolutional neural network for crowd counting[J]. Neurocomputing, 2019, 329: 144-152. DOI:10.1016/j.neucom.2018.10.058 |
[21] |
CHEN J W, SU W, WANG Z F. Crowd counting with crowd attention convolutional neural network[J]. Neurocomputing, 2020, 382: 210-220. DOI:10.1016/j.neucom.2019.11.064 |
[22] |
翟强, 王陆洋, 殷保群, 等. 基于尺度自适应卷积神经网络的人群计数算法[J]. 计算机工程, 2020, 46(2): 250-254, 261. ZHAI Q, WANG L Y, YIN B Q, et al. Crowd counting algorithm based on scale adaptive convolutional neural network[J]. Computer Engineering, 2020, 46(2): 250-254, 261. (in Chinese) |
[23] |
JIANG M Y, LIN J Z, WANG Z J. A smartly simple way for joint crowd counting and localization[J]. Neurocomputing, 2021, 459: 35-43. DOI:10.1016/j.neucom.2021.06.055 |
[24] |
袁健, 王姗姗, 罗英伟. 基于图像视野划分的公共场所人群计数模型[J]. 计算机应用研究, 2021, 38(4): 1256-1260, 1280. YUAN J, WANG S S, LUO Y W. Public place crowd counting model based on image field division[J]. Application Research of Computers, 2021, 38(4): 1256-1260, 1280. (in Chinese) |
[25] |
WALACH E, WOLF L. Learning to count with CNN boosting[C]//Proceedings of European Conference on Computer Vision. Berlin: Springer, 2016: 660-676.
|
[26] |
LIU L B, WANG H J, LI G B, et al. Crowd counting using deep recurrent spatial-aware network[C]//Proceedings of the 27th International Joint Conference on Artificial Intelligence. New York, USA: ACM Press, 2018: 849-855.
|
[27] |
ZOU Z K, SHAO H L, QU X Y, et al. Enhanced 3D convolutional networks for crowd counting[EB/OL]. [2021-09-22]. https://arxiv.org/abs/1908.04121.
|
[28] |
LIU J, GAO C Q, MENG D Y, et al. DecideNet: counting varying density crowds through attention guided detection and density estimation[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2018: 5197-5206.
|
[29] |
ZHOU J T, ZHANG L, DU J W, et al. Locality-aware crowd counting[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2021, 65: 99-103. |
[30] |
HOSSAIN M, HOSSEINZADEH M, CHANDA O, et al. Crowd counting using scale-aware attention networks[C]//Proceedings of IEEE Winter Conference on Applications of Computer Vision. Washington D. C., USA: IEEE Press, 2019: 1280-1288.
|