基于多尺度特征融合与注意力机制的人群计数算法
2022-03-16刘东华魏宾王国栋
刘东华 魏宾 王国栋
摘要:针对特征提取过程中缺乏对人群区域的针对性,不同大小人头目标不能同时检测以及特征融合时多尺度特征信息丢失问题,提出多尺度注意力模块,增强特征对高密度人群区域的关注。采用多尺度空洞卷积,结合提出的多通道特征融合模块,提取更完善的多尺度特征,提高对不同尺寸人头计数能力;利用密度图回归模块,融合多尺度特征,减少了多尺度信息的损耗。实验结果表明,本算法的计数结果更精确稳定。
关键词:图像处理;卷积神经网络;特征融合;注意力机制
中图分类号:STP291 文献标志码:A
近年来,城市化进程不断推进,城市人口日益增多,各种公共场所人群聚集现象更加频繁,这使得高密度人群情况下的安全问题亟待解决。为减少意外事故,需要对聚集的人数进行估计。此外,人群计数还可以迁移到其他计数任务,如细胞计数、鱼群计数等。随着深度学习的快速发展,提出了很多卷积神经网络(Convolutional neural network)[1-6],并应用于人群计数。当前人群计数面临的主要问题为人头尺寸的多变性、复杂背景干扰以及透视失真。针对透视失真问题。有如下解决方法,如利用自适应空洞卷积和自纠正监督网络,解决透视失真造成的尺度变化问题,纠正点标注位置[7];采用多分支金字塔网络,提取上下文多尺度特征向量[8];将透视分析方法与计数网络相结合,挖掘透视信息,促进计数网络进行场景分析[9];将金字塔池模块进行特征聚合,修复池化层导致的像素失真[10];利用反透视网络,显式地评估透视失真,均匀地扭曲输入图像校正畸变[11]。这些算法虽然在一定程度上解决了透视失真问题,但其效果提升并不明显,且极大增加了网络复杂度。针对人头尺寸变化,学者们尝试使用多通道或者多任务的卷积神经网络提取多尺度特征。Zhang等[12]采用三列不同大小卷积核的卷积神经网络提取不同尺度的特征。Liu等[13]设计了一个由两部分组成的网络:检测网络(DNet)和编解码网络(ENet)。DNet在图像中检测清晰的人,并覆盖这些人所在区域,ENet评估剩余区域的密度图。Shi等[14]使用了四个通道的组合提取特征,Zhang等[15]利用多个通道提取不同角度的特征图。这些网络虽然注意到多尺度特征的提取,但其获取多尺度特征信息时,仅采用多通道的结构,多尺度信息提取不完全,且特征融合时,采用简单的相加或串联操作,导致多尺度信息损耗。前期研究中,针对透视失真、尺度变化问题,提出了不同的解决方法,虽不同程度提高了计数精确度,仍存在一定缺陷。一方面,仅在网络中嵌入多列卷积结构,将多列卷积提取的特征相加或合并,提取的多尺度特征不完善,无法获取到足够的多尺度特征信息,不能有效检测不同大小目标。另一方面,数据集背景复杂,且有时背景信息与头部区域特征相似,导致误判。为此,本文采用多尺度空洞卷积网络,提出多列特征融合模块(MsFF),在特征提取时将多尺度特征信息相互融合,促进特征信息的互补和完善;提出密度图回归模块,采用逐步融合策略,减少有用特征信息消损;提出多尺度注意力机制,减小复杂背景对计数任务的影响,增强对目标的激活响应。
1 算法分析
1.1 基于检测与基于回归的算法
人群计数算法有两类:基于检测的算法和基于回归的算法。其中,基于检测的方法是早期研究的重点,主要思想是使用滑动检测窗遍历整个图像,定位和统计滑动窗口中的人数[16]。检测器主要通过支持向量机(Support vector machine)、随机森林、Boosting等方法训练得到,提取低层特征,如哈尔小波(Haar wavelet)[17]或方向梯度直方图(Histogram of oriented gradient)[18]检测行人。由于图像中人的互相遮挡和模糊,检测整体行人具有很大的挑战性。后续研究通过检测身体的一部分定位目标,如肩膀和头部,与检测整体相比,只检测部分人体的方法取得更高的精度。这种基于检测的方法在稀疏人群图像上表现良好,然而,随着人群密度增加,人与人之间的相互遮挡越来越严重,给检测精度带来巨大挑战。因此,基于检测的方法不适用于高密度人群场景。而基于回归的算法是通过学习特征得到人数的映射,完成人群计数任务。该类算法一般由特征提取和回归模型两部分构成:提取低层特征,如边缘特征、纹理特征等;利用线性回归或岭回归等回归模型得到特征与人数的映射关系。这种使用可学习的参数估计人数的方法明显优于检测方法。
针对检测方法无法充分检测的问题,Zhang等[12]提出基于密度图回归的算法。密度图回归是指根据图像中人头的坐标,估计人头的大小并得到人头区域,进而使用高斯核模糊该人头区域得到区域内可能是人头的概率,每个人头模糊后概率总和为1,区域内概率总和即为该区域内的人数。假设人头部的中心在像素xi
(a) (b)
图1 原始图像及對应的密度图
(a)原始图像;(b)密度图
处,使用δ函数δx-xi表示。一张有N个人头标注的人群图像可表示为
H(x)=∑Ni=1δx-xi (1)
对于高人群密度的数据集,如ShanghaiTech数据集的A部分和UCF_CC_50数据集,用几何自适应高斯核模糊处理每个头部注释,生成密度图
F(x)=∑Ni=1δx-xi*Gσix(2)
其中,Gσi是几何自适应高斯核,σi=βi,i表示人头xi与其最近的3个头部注释点之间距离的平均值, 在本文中,β设为0.3。对于人群稀疏的ShanghaiTech数据集的B部分,本文使用固定标准差15的高斯核成密度图。原始图像及对应的密度图如图1所示。
1.2 注意力机制
注意力机制是人类视觉系统的特有机制,人类大脑在处理获取的视觉信号时,会筛选出最值得关注的信息,过滤部分无用信息。计算机视觉模仿人的视觉特性,将注意力机制应用到深度学习中,为特征分配重要权重,促使特征提取过程倾向于注意有用信息,忽略冗余和噪声。在人群计数任务中,错综复杂的背景会被误认为人头,影响计数结果的准确性,这是因为在编码过程中,部分背景特征可能与人头相似,回归模型解码时,将部分背景判断为人。因此,引入多尺度注意力机制,在前期特征编码时,有效区分背景和人群并兼顾多尺度特征的提取,减少错误计数。
2 算法实现
2.1 总体结构
本文算法的具体步骤为:图像首先进入主干网络提取浅层特征,主干网络由VGG16前10层和多尺度注意力模块构成,VGG16具有优秀的特征提取能力且结构简单,仅由3×3卷积层(conv)和最大池化层(Max Pooling Layer)构成,VGG16使用3×3串联卷积,参数比单独使用大卷积核少。同时,比单个卷积层包含更多非线性变换。VGG16提取的特征接着输送到多尺度注意力模块中,提取全局注意力和局部注意力权重,与输入特征融合。主干网络的输出是输入图像的1/8,因为VGG16前10层中包括3个最大池化层。
图2(a)多列特征融合模块以主干网络输出的浅层特征为输入,使用空洞率分别为1,2,3的3列空洞卷积提取多尺度特征,并在特征提取后将不同尺度特征相互融合,彼此完善、互补特征信息。提取到的多尺度特征图{M1,M2,M3},被输入到图2(b)密度图回归模块,进行两步融合,回归输出预测密度图。
(a)多列特征融合网络;(b)密度图回归模块
图3 MSA模块结构
2.2 多尺度注意力机制
VGG16前10层提取的特征图不包含注意力信息,不能有效区分前景和背景,为防止背景对计数精度的干扰,引入多尺度注意力机制,并命名为MSA。MSA模块提取两种尺度的注意力权重:局部注意力权重和全局注意力权重,具体结构如图3所示。
MSA模块有3个分支,上分支提取全局注意力,首先使用全局平均池化处理输入特征,得到一个C×1×1的向量(C为输入特征通道数),然后使用1×1卷积加权,加权后的向量使用ReLU激活函数激活后再用 1×1卷积加权,输出全局注意力向量;中间分支提取局部注意力,其输出是一个与输入特征尺寸相同的特征图。将输入特征用1×1卷积加权后,经ReLU激活函数激活特征,再用1×1卷积加权,得到最终输出。全局注意力和局部注意力相加后,经Sigmoid激活函数激活,与残差分支相加。多尺度注意力机制可有效强化不同尺寸的头部区域特征,抑制背景区域特征。
2.3 多尺度特征融合网络
传统算法中,只通过一个多列卷积神经网络提取多尺度特征,然后将不同列的特征串联,这种方式所提取的多尺度特征不够完善。为解决这一问题,本文设计了多尺度特征融合网络,并命名为MsFF,核心思想是基于每一列独立的特征提取过程,实现特征信息互通共享,3个独立的通道,分别使用空洞率为1,2,3的空洞卷积提取特征。空洞卷积首次提出于图像分割领域,在语义切分上取得很好的效果,得到广泛应用。空洞卷积的引入可以在不增加参数量的情况下,有效增加感受野,灵活地聚合多尺度信息,同时保持相同的分辨率。空洞率为r的空洞卷积的感受野尺寸为k+(k-1)(r-1)。例如,空洞率为3的3×3空洞卷积的感受野为49。普通3×3卷积的感受野仅为9。不同空洞率的卷积有不同大小的感受野,可以感知不同尺寸的目标,每一阶段特征提取后,每一列利用其他列的特征信息完善自身提取的特征。
1)多尺度特征融合网络以主干网络提取的浅层特征为输入,进行三阶段特征融合。第一阶段,分别使用空洞率为1,2,3的3×3空洞卷积处理输入特征,得到特征图{F1,F2,F3},将一,二通道(空洞率为1和2的通道)的特征相互融合,融合后的特征图与第三通道的特征继续用空洞卷积处理,得到特征图{Q1,Q2,Q3}
Qi=conv_iF1+convF2+convcatF1,F2,i=1conv_iF2+convF1+convcatF1,F2,i=2conv_iF3,i=3(3)
其中,conv_i代表空洞率为i的3×3空洞卷积,conv表示1×1的普通卷积操作,cat是串联操作。
2)第二阶段为三个通道特征的相互融合,输入特征为{Q1,Q2,Q3},输出特征图是{D1,D2,D3}
Di=conv_i∑j≠iconvQj+convcatQ1,Q2,Q3,i=1,2,3(4)
3)第三阶段重复了第二阶段的所有操作。将特征相互融合后,各个通道的特征都得到完善,包含的多尺度特征信息更丰富。
2.4 密度图回归
密度图回归模块的提出旨在减少密度图回归过程中多尺度特征的丢失。如图2(b)所示,多尺度特征融合网络有3个输出{M1,M2,M3}。分别将M1,M2和M2,M3串聯(concatenation),然后使用1×1卷积和3×3卷积将通道数减少到1,得到初步密度图d1和d2。最后,使用3×3卷积将d1加权处理,并融合到d2中,最终生成的密度图包含了所有列的多尺度特征
d=α1γ1catM2,M3+ωα2γ2catM1,M2(5)
其中,d为最终预测密度图,cat是串联操作,{w,α1,α2,γ1,γ2}为卷积学习的参数。
2.5 损失函数
为了度量真值密度图与该方法生成的密度图之间的相似性,本文使用欧氏距离作为损失函数。欧氏距离能有效衡量真值图与预测密度图的差距,监督参数往缩小差距方向学习[5,12]。损失函数
Lθ=12N∑Ni=1GiIi;θ-Pi22(6)
其中,θ是卷积神经网络学习的参数,N是训练图像的总数,Gi(Ii,θ)和Pi分别代表第i张训练图像的真实密度图和预测密度图,Ii表示第i张训练图像。
3 实验结果与分析
3.1 数据集
ShanghaiTech数据集包括1 198张图像,共330 165个头部标注点,头部标注的数量是最大的数据集[12]。ShanghaiTech数据集分为A、B两部分。A部分是互联网上收集的高密度人群图像,共有241 677个头部注释,单张图像中头部注释的数量范围从33到3 139,图像的分辨率不固定,A部分共有482张图像,其中300张用于训练,182张用于测试。B部分取自上海街道的监控摄像头,人群密度低。每幅图像的分辨率为768×1 024。B部分共有716张图像,其中400张用于训练,316张用于测试。
UCF_CC_50数据集[19]共包含50张图像,每张图像平均有1 280个头部注释。由于该数据集中图像数量相对较少,且人群密度高,具有很大挑战性。此数据集共有63 705个头部标注。每张图像中头部标注数量范围为94到4 543。UCF_CC_50数据集的50幅图像均为互联网上的公共图像,具有不同的场景和密度,以及不同角度的扭曲。图像中的场景包括抗議、马拉松、体育场、音乐会和朝圣。在UCF_CC_50数据集上训练和测试时,本文将数据集分成10组,进行5次交叉验证,计算5次测试的平均MAE和MSE评价本算法。
3.2 实验参数
实验使用NVIDIA Tesla K80显卡,在Pytorch框架上训练网络参数,采用随机梯度下降(SGD)优化算法优化参数[20]。网络输出的密度图的大小是输入的1/8,因为网络中使用的预训练VGG16包括3个最大池化层。为增强数据集,将训练集的图像复制为原始图像的4倍,将图像顺序洗牌,作为新训练集。在训练过程中,从训练集的原始图像中随机选取1/4的裁剪图像块,按一定几率翻转处理作为网络输入。经过反复实验,翻转的概率设为0.2。这种数据增强方法可以保证每次训练的数据不同,有效防止过拟合。
3.3 评估指标
用平均绝对误差(MAE)和均方误差(MSE)评测算法的计数能力
MAE=1M∑Mi=1Ri-RGTi(7)
MSE= 1M∑Mi=1Ri-RGTi2(8)
其中,M表示测试集中图像总数,Ri和RGTi分别表示第i张图像的预测人数和真实人数。MAE和MSE的值越低,算法的性能越好。
3.4 对比实验
为证明算法的有效性,在ShanghaiTech数据集和UCF_CC_50数据集上进行充分实验,结果见表1。
本方法在ShanghaiTech的A部分的MAE和MSE分别达到63.8和99.3,均优于其他对比算法,与深度卷积神经网络(D-ConvNet)相比,MAE降低了12.1%;在B部分中,本文的MAE和MSE分别为8.5和14.4。这是因为本文提出的算法引入多尺度注意力机制抑制了背景信息的影响,同时设计多尺度特征融合网络,提取了更丰富的多尺度特征信息。在UCF_CC_50数据集上,平均绝对误差和均方误差分别为207.1和273.3,远远领先其他对比算法,相比于检测评估网络(DENet),本算法的平均绝对误差降低了34.8,均方误差降低了72.1。这表明本算法在不同数据集上具有良好的泛化能力,部分预测结果如图4所示。
3.5 消融实验
为了测试不同主干网络对实验效果的影响,本文分别使用几何组网络(VGG)的前13层,残差网络(ResNet),谷歌网络(GoogLeNet)替换算法主干网络中VGG前10层,在上海科技数据集的A部分上测试;为验证多尺度注意力机制(MSA)和多尺度特征融合模块(MsFF)的有效性,分别将网络中的多尺度注意力机制和多尺度特征融合模块删除,对比实验结果见表2。可以看出,以VGG前10层作为主干网络效果最好,在此基础上去掉MSA和MsFF模块,效果均下降。
4 结论
本文提出一种新的基于密度图回归的卷积神经网络解决人群计数问题,引入多尺度注意力机制,学习特征图不同区域的重要程度;采用多尺度空洞卷积网络和多列交叉特征融合提取多尺度特征,获取包含完整的多尺度信息的特征。融合后的多尺度特征对尺度变化具有良好鲁棒性;设计了密度图回归模块,防止多尺度信息弱化,充分解决了图像中相互遮挡和尺寸多样性问题。实验结果表明,该方法生成的密度图较对比算法更为精确,充分证明了本算法的鲁棒性。但本算法无法有效解决透视失真问题,在下一步的研究中,将设计高效的失真处理模块,消除图像透视造成的畸变。
参考文献
[1]SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions[C]// IEEE Conference on Computer Vision and Pattern Recognition, Boston, 2015: 1-9.
[2]SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[DB/OL]. [2021-04-29]. https://arxiv.org/abs/1409.1556.
[3]HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]// IEEE Conference on Computer Vision and Pattern Recognition, Las Vegas, 2016: 770-778.
[4]ZHU X Z, HU H, LIN S, et al. Deformable ConvNets V2: More deformable better results[C]// IEEE/CVF Conference on Computer Vision and Pattern Recognition, Long Beach, 2019: 9308-9316.
[5]陈磊,王国栋.用于人群密度估计的多级融合卷积神经网络[J].青岛大学学报(自然科学版),2020,33(4):31-36.
[6]鞠成国,王国栋.用于人体实例分割的卷积神经网络[J].青岛大学学报(自然科学版),2021,34(1):34-39.
[7]BAI S, HE Z Q, QIAO Y, et al. Adaptive dilated network with self-correction supervision for counting[C]// IEEE/CVF Conference on Computer Vision and Pattern Recognition, Seattle, 2020: 4593-4602.
[8]YANG Y F, LI G R, WU Z, et al. Weakly-supervised crowd counting learns from sorting rather than locations[C]// European Conference on Computer Vision, Online, 2020: 1-17.
[9]YANG Y F, LI G R, DU D W, et al. Embedding perspective analysis into multi-column convolutional neural network for crowd counting[J]. IEEE Transactions on Image Processing, 2020, 30: 1395-1407.
[10] WANG Z, XIAO Z H, XIE K, et al. In Defense of single-column networks for crowd counting[DB/OL]. [2021-04-10]. https://arxiv.org/abs/1808.06133.
[11] YANG Y F, LI G R, WU Z, et al. Reverse perspective network for perspective-aware object counting[C]//IEEE/CVF Conference on Computer Vision and Pattern Recognition, Electr Network, 2020: 4373-4382.
[12] ZHANG Y Y, ZHOU D S, CHEN S Q, et al. Single-image crowd counting via multi-column convolutional neural network[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition, Seatlle, 2016: 589-597.
[13] LIU L, JIANG W, JIA W J, et al. Denet: A universal network for counting crowd with varying densities and scales[J]. IEEE Transactions on Multimedia, 2021, 23: 1060-1068.
[14] SHI M J, YANG Z H, XU C, et al. Revisiting perspective information for efficient crowd counting[C]// 32nd IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Long Beach, 2019: 7271-7280.
[15] ZHANG Q, CHAN A B. Wide-area crowd counting via ground-plane density maps and multi-view fusion CNNs[C]// 32nd IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Long Beach, 2019: 8289-8298.
[16] 王亮亮,王國栋,赵毅,等.基于车窗特征的快速车辆检测算法[J].青岛大学学报(自然科学版),2019,32(3):1-7.
[17] VIOLA P, JONES M J. Robust real-time face detection[J]. International Journal of Computer Vision, 2004, 57(2): 137-154.
[18] DALAL N, TRIGGS B. Histograms of oriented gradients for human detection[C]//Conference on Computer Vision and Pattern Recognition, San Diego, 2005: 886-893.
[19] IDREES H, SALEEMI I, SEIBERT C, et al. Multi-source multi-scale counting in extremely dense crowd images[C]// 26th IEEE Conference on Computer Vision and Pattern Recognition, Portland, 2013: 2547-2554.
[20] PASZKE A, GROSS S, MASSA F, et al. Pytorch: An imperative style, high-performance deep learning library[C]//33 rd Conference on Neural Information Processing Systems,Vancouver,2019.
[21] SAM D B, SURYA S, BABU R V. Switching convolutional neural network for crowd counting[C]// 30th IEEE Conference on Computer Vision and Pattern Recognition, Honolulu, 2017: 4031-4039.
[22] SINDAGI V A, PATEL V M. Generating high-quality crowd density maps using contextual pyramid CNNs[C]// 16th IEEE International Conference on Computer Vision, Venice, 2017: 1879-1888.
[23] SAM D B, SAJJAN N N, BABU R V, et al. Divide and grow: Capturing huge diversity in crowd images with incrementally growing CNN[C]// 31st IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, 2018: 3618-3626.
[24] LI Y H, ZHANG X F, CHEN D M. Csrnet: Dilated convolutional neural networks for understanding the highly congested scenes[C]// 31st IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, 2018: 1091-1100.
[25] RANJAN V, LE H, HOAI M. Iterative crowd counting[C]// 15th Proceedings of the European Conference on Computer Vision (ECCV), Munich, 2018: 270-285.
[26] ZHANG L, SHI Z L, CHENG M M, et al. Nonlinear regression via deep negative correlation learning[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2021, 43(3): 982-998.
[27] LIU Y T, SHI M J, ZHAO Q J, et al. Point in, box out: Beyond counting persons in crowds[C]// 32nd IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Long Beach, 2019: 6462-6471.
[28] DING X H, HE F J, LIN Z R, et al. Crowd density estimation using fusion of multi-layer features[J]. IEEE Transactions on Intelligent Transportation Systems, 2020,99(8): 4776-4787.
[29] 杜培德,嚴华.基于多尺度空间注意力特征融合的人群计数网络[J].计算机应用,2021,41(2) :537-543.
Crowd Counting Algorithm Based on Multi Scale Feature
Fusion and Attention Mechanism
LIU Dong-huaa, WEI Binb, WANG Guo-donga
(a. College of Computer Science and Technology, b. Key Laboratory of Digital Medicine and
Computer Aid, Affiliated Hospital, Qingdao University, Qingdao 266071, China)
Abstract:
Due to the lack of pertinence to the crowd area in the process of feature extraction, human heads of different sizes cannot be detected at the same time. And multi-scale feature information is lost during feature fusion. A multi-scale attention module was proposed to enhance the attention of features to high-density crowd areas. Multi-scale dilated convolution was used to extract more perfect multi-scale features and improve the counting ability of heads of different sizes by combining with the proposed multi-channel feature fusion module. Density map regression module was proposed to gradually integrate multi-scale features and reduce the loss of multi-scale information. Experimental results show that the counting results of this algorithm are more accurate and stable.
Keywords:
image processing; convolutional neural network; feature fusion; attention mechanism
收稿日期:2021-05-11
基金项目:
山东省自然科学基金(批准号:ZR2019MF050)资助。
通信作者:王国栋,男,博士,副教授,主要研究方向为变分图像科学、人脸识别、三维重建和医学图像处理和分析等。E-mail:doctorwgd@gmail.com
1837501186290