黄奕秋,胡 晓,杨佳信,欧嘉敏
(1.广州大学 电子与通信工程学院,广州 510006;2.广州大学 机械与电气工程学院,广州 510006)
近年来,随着城市居住人口的不断增加,人口密集程度不断上升,导致拥挤踩踏风险也随之增加。为实时检测人群数量变化,避免拥挤踩踏对公共安全、交通控制、智能交通等造成破坏,精确地监测人群的数量变化成为一个十分重要的课题。
基于计数方式的不同,人群计数算法可以分为传统的人群计数算法和基于深度学习的人群计数算法。传统的人群计数算法首先提取图像中行人特征,然后通过检测或回归的方法确定人群数量。其中,基于检测的方法[1]是通过检测图像中人的头部信息计算出人数,这种方法随着目标分布密集程度的增加,检测难度也随之增加。而基于回归的方法[2-3]则是利用图像的纹理特征与人数的映射关系估计出人群数量,能够减小人群拥挤情况下的估计误差。然而由于回归方法无法从图像中提取有助于完成人群计数任务的语义信息,导致当存在严重的遮挡问题和背景干扰时,算法性能难以提升。随着深度学习的发展,卷积神经网络(Convolution Neural Network,CNN)在许多计算机视觉任务中都取得了良好的效果[4-5],在一定程度上突破了传统网络的限制,显著提升了计数性能。但图像存在的透视畸变问题和背景噪声不仅影响了网络的计算精度,而且约束了网络的泛化能力和鲁棒性。
为减少图像中多尺度问题对计数任务的影响,ZHANG 等[6]利用端到端的深度卷积神经网络实现不同场景的人群计数,此网络虽然提高了计数的精确性,但网络的跨场景计数能力较差。文献[7]提出多列卷积神经网络(Multi-Column CNN,MCNN),通过不同尺度的卷积核提取不同尺度大小的头部特征,提高网络跨场景计数的能力,但该网络的结构复杂,泛化能力有待提高。SAM 等[8]提出切换卷积神经网络(Switching CNN,SwitchCNN),该网络虽然提高了泛化能力,但冗余结构较多,计算量较大。为解决MCNN 这一类多列结构网络存在的网络冗余问题,LI 等[9]提出基于扩展卷积的密集场景识别网络(Congested Scene Recognition Network,CSRNet),通过去除冗余的多列卷积层,采用7 层空洞卷积构成一个单通道端到端的人群计数网络,在减少网络冗余的情况下提高了模型对透视畸变的抗干扰能力。与CSRNet 类似,LIU 等[10]设计了一个上下文感知网络(Context-Aware Network,CAN)以自适应预测人群密度所需的上下文信息,进而减小图像多尺度问题造成的干扰。值得注意的是,虽然CSRNet 和CAN 均减少了此问题造成的影响,但图像本身存在的背景噪声对人群计数的精度仍然造成影响,并未得到改善。
为抑制图像背景对人群计数网络性能的干扰,文献[11]提出注意力尺度网络(Attention Scaling Network,ASNet),并利用二进制掩码对背景和人群进行分割,但该网络并不能实现端到端的计算,网络计算量较大。ZHU 等[12]通过对称双路径多尺度融合网络(Dual Path Multi-scale Fusion Network,SFANet),利用空间注意力图过滤密度图的噪声以提高计数准确度,但其生成的空间注意力图精度有待提高,无法对噪声进行充分抑制,网络的泛化能力和鲁棒性有待增强。
本文对SFANet 进行改进,提出基于背景抑制与上下文感知的人群计数网络。通过构建背景噪声抑制(Background Noise Suppression,BNS)模块提高网络对图像背景噪声的抑制能力,并设计上下文感知增强网络结构,减少图像透视畸变对计数任务的干扰。
本文网络由VGG-16 网络、密度图生成(Density Map Generation,DMG)模块、BNS 模块以及上下文感知增强网络(Weight Enhancement-Context Aware Network,WE-CAN)4 个部分组成,具体结构如图1所示。
图1 本文网络结构Fig.1 Structure of network in this paper
由图1 可知,该网络首先利用特征提取网络VGG-16 提取输入图像不同层次的特征并分别输入DMG 模块和BNS 模块中进行处理,生成密度特征图和空间注意力图。然后,将生成的密度特征图和空间注意力图相乘,得到能有效抑制噪声的初级密度图。最后,利用WE-CAN 模块提取初级密度图上下文信息并进行优化处理,减少透视畸变引起的问题,进而获得高质量的预测密度图。
DMG 模块的作用是生成高分辨率的初级密度图,其结构如图1 中DMG 模块所示。由于低层特征包含更多的纹理信息,高层特征包含头部等位置信息[13],因此DMG 模块采用特征金字塔的结构[14]能使输入的低层特征图和高层特征图的信息有效互补,从而得到高分辨率的初级密度图。
在DMG 模块中,首先提取VGG-16 网络中4 个池化层的中间特征图,分别记为F1、F2、F3、F4;然后依次对F1、F2、F3、F4进行特征融合。DMG 模块首先利用特征融合策略对F4进行两倍上采样,并与F3级联,利用T 操作处理得到通道数为256 的中间特征图FC1;然后,使用T 操作将FC1和F2进行特征融合并进行降维操作,生成通道数为128 的特征图FC2;最后,利用H 操作对FC2与F1级联后的特征进行融合,在经过特征通道降维后得到通道数为32 的高分辨率的密度特征图Fden,其大小为原始输入的1/2。
生成高分辨率的密度特征图Fden后,为了减少图像背景对计数结果的干扰,将Fden与BNS 模块生成的空间注意力图Matt进行相乘操作,实现对噪声的抑制,最后生成初级密度图Frefine。此过程的表达式如式(1)所示:
其中:⊗表示逐点相乘操作。
BNS 模块旨在生成对图像背景噪声起抑制作用的空间注意力图Matt,其结构如图1 中BNS 模块所示。由式(1)可知,空间注意力图Matt对噪声的抑制能力越强,其与Fden相乘后生成初级密度图Frefine的精确度越高。因此,为增强空间注意力图抑制噪声的能力,本文设计了基于通道域注意力ECA 模块[15]和多层次信息融合的BNS 模块。由于低层特征包含细节边缘的信息,且高层特征图具有区分头部区域与噪声的有效语义信息,因此BNS 模块使用ECA 模块充分提取不同层次的有效信息,提高头部特征信息表达能力,从而生成高质量的空间注意力图。通道域注意力模块ECA 的结构如图2 所示,其中,K为卷积核,GAP 为全局平均池化。
图2 ECA 模块结构Fig.2 Structure of ECA module
由图2 可知,ECA 模块的引入不仅能增强低层特征图中细节边缘信息的表达,而且能提高高层特征图中用于区分头部和背景的语义信息权重。具体而言,ECA 模块首先利用卷积核大小为K的一维卷积获取特征图中每个通道以及K个相邻通道之间的交互信息,从而计算出不同通道的权重,此过程用C1DK(·)表示。然后,将计算得到的权重与原始特征图相乘,以增强不同特征中有效信息的表达[15],此过程如式(2)所示:
其中:x表示输入特征;y表示输出结果;sigmoid 表示sigmoid 激活函数;在网络中K值设为3。
为进一步突出空间注意力图中前景和后景差异[12],BNS 模块在输出空间注意力图前使用1×1×1 卷积对特征图进行降维,并使用sigmoid 函数将空间注意力图像素点的值映射为(0,1),从而区分图像中头部区域与背景区域,此过程的表达式如式(3)所示:
其中:Matt表示最终生成的空间注意力图;fatt表示经过3 个通道域注意力模块优化后的中间特征图;*表示卷积操作;W和b分别表示一维卷积的权重和偏置。
为增强特征图中上下文信息的表达,减少图像透视畸变造成的影响,本文在CAN[10]模块的基础上结合特征权重增强模块(Feature Weight Enhance Module,WE)进行改进,提出WE-CAN 模块。其中WE 模块用于增强特征图中多尺度上下文信息的表达,其结构如图3 所示。由图3 可知,WE 模块的功能是提取DMG 模块所生成初级密度图Frefine中的多尺度特征并增强其中有效信息的表达。WE 模块首先对Frefine进行平均池化[16-17],并使用一个1×1 卷积和2 个3×3 卷积以不同的感受野提取Frefine的多尺度信息。为有效提取不同尺度的头部特征,本文首先根据文献[16]中提出的空洞空间卷积池化金字塔中对卷积核的设置,将1×1 卷积的空洞率设为1,2 个3×3卷积的空洞率分别设为6 和12。然后,对提取到的头部特征与池化后的Frefine进行级联后降维输出,记为FA。其次,利用通道域注意力模块(Squeeze and Excitation Module,SE)[18]强化Frefine中有效的多尺度信息表达,生成具有显著信息的特征,记为FS。最后,对FA和FS进行相乘操作,生成多尺度特征密度图Fm,该过程可以表述为:
图3 WE-CAN 模块结构Fig.3 Structure of WE-CAN module
其中:Fm表示WE 模块生成的多尺度特征密度图。
结合WE 模块对CAN[10]模块进行改进,本文提出的WE-CAN 模块能提取特征中更详细的空间信息和全局信息,增强网络自适应优化多级上下文信息的能力,其结构如图3(a)所示。由图3(a)可知,WE-CAN 模块分为4 个步骤:首先使用4 个不同核大小的平均池化层对初级密度图Frefine进行多尺度特征提取,生成4 个不同尺寸的感受野,以感知上下文特征Sj,比例分别为1、2、3、6[10];其次,将Sj与WE 模块生成的Fm相减,从而提取出目标特征与相邻特征的特征差异Cj,实现WE-CAN 模块中的特征差异提取,其定量表述为式(5);然后,WE-CAN 模块将计算出的Cj输入到权重计算网络中,利用一维卷积计算不同尺度在输入特征图中的尺度权重ωj,此过程可表述为式(6);最后,利用尺度权重ωj对初级密度图Frefine进行透视矫正并降维输出,使网络生成高质量的预测密度图Dpre,该过程可表述为式(7):
其中:[·|·]表示级联操作。
ShanghaiTech、UCF-CC-50 以 及UCF-QNRF 数据集是目前人群计数研究中的主流数据集详情如下:
1)ShanghaiTech 数据集是由ZHANG[8]等提出的大型开源数据集,该数据集由Part A 和Part B 2 个部分组成。Part A 包含从互联网中随机收集的482 张图片,其中300 张用于训练,182 张用于测试。Part B则包含716 张拍摄于上海繁华街道的图片,其中400 张用于训练,316 张用于测试。
2)UCF-CC-50 数据集[19]是一个包含拥挤人群图片的开源数据集,一共包括50 张不同分辨率的人群图片。该数据集图片人数变化大,人群范围跨度大,从94 人到4 543 人,平均每张图片1 280 人。为更好地验证模型的准确性,在实验过程中使用与文献[20]相同的5 折交叉验证法:首先在不重复的前提下将数据集平均划分为5 份,每份10 张图像。然后每次选择不同的一份作为测试集,将余下的4 份作为训练集进行训练,分别获得5 组测试结果,最后取5 组测试结果的平均值作为模型的性能指标,并与其他网络进行比较。
3)UCF-QNRF 数据集[20]是一个复杂且拥挤的人群数据集,共包含1 251 642 处人体标注。该数据集共有1 535 张图像,训练集由1 201 张图像组成,其余334 张作为测试集。UCF-QNRF 数据集不仅包含多种多样的环境背景,而且数据集中图像的分辨率差异较大,具有一定的挑战性。
本文采用的3 个数据集对比结果如表1 所示。
表1 本文数据集信息Table 1 Information of datasets in this paper
2.2.1 真实人群密度图生成
由于现有的人群计数数据集只标注了图像中人头的位置,因此需要将人头位置转化为真实人群密度图以提供更多的监督信息。本文按照文献[8]中生成密度图的方法,对所有的目标均采用内核大小相同的高斯滤波器进行处理。首先使用δ(x-xi)表示图像在像素点xi上的头部标注,然后利用标准差为σi的高斯核滤波器Gσi对每个头部标注进行高斯模糊处理,进而得到相应的真实人群密度图DGT,该过程可定量描述为:
其中:标准差σi由K最近邻算法计算得出;表示xi和k个相邻点之间的距离,k设为3;β为超参数,根据文献[7]将其设为0.3。
2.2.2 真实空间注意力图生成
为使网络生成预测空间注意力图,实现对预测密度图的权重分配,本文根据文献[12]设定阈值的方式对真实人群密度图DGT进行二值化处理,将人群区域和背景区域进行分割,从而获得真实空间注意力图ΑGT,该过程可定量描述为:
其中:x表示DGT中不同位置像素点的值;t表示阈值,在本文实验中将其设为0.001。
本文基于Pytorch框架,在Ubuntu18.04系统和RTX 2080Ti GPU 条件下进行实验。为提高训练速度和计数精度,本文导入VGG-16 预训练模型并将其作为前端特征提取器,其余网络参数初始值由均值为0、标准差为0.01 的高斯分布随机生成。同时,采用Adam 优化器训练,学习率设为1×10-4,权重衰减设为5×10-3,迭代次数设为800 次,批量化大小设为8。
为获得精确的人群估计结果,本文根据文献[12]的方法,将多任务联合损失函数分别用于训练网络生成有效的预测空间注意力图和精准的预测密度图。此外,基于现有的研究,本文利用欧氏几何距离测量预测人群密度图和真实人群密度图之间的差值并将其作为损失函数,以用于训练网络模型生成预测密度图。损失函数的表达式如式(11)所示:
其中:F(Xi;Θ)表示预测的人群密度图;Θ表示网络学习参量;xi和DGT分别表示输入图像和真实人群密度图。
为得到有效的空间注意力图,本文在训练过程中采用二进制交叉熵损失(Binary Cross Entropy Loss,BCELoss)作为损失函数,计算人群空间注意力图与真实人群空间注意力图之间的差值。损失函数的表达式如式(12)所示:
其中:表示真实人群空间注意力图;Pi是经过sigmoid 函数处理后预测空间注意力图中每个像素的概率值。
在训练过程中使用多任务结合损失函数实现端到端的训练,多任务联合损失函数表达式如式(13)所示:
其中:α为超参数,设其为0.1。
现有的研究主要使用平均绝对误差(Mean Absolute Error,MAE)和均方误差(Mean Square Error,MSE)对模型进行评估,MAE 反映了网络的准确性,而MSE 体现了网络的泛化能力。其计算过程分别如式(14)和式(15)所示:
其中:N表示测试集中测试图像的数量;分别表示网络预测的人群总数和真实人群密度图中的人群总数。
为验证本文网络的有效性,在人群计数任务数据 集ShanghaiTech、UCF-CC-50 以 及UCF-QNRF 数据集上分别进行实验,并与现有的其他网络包括MCNN[7],SwitchCNN[8],CSRNet[9],多尺度聚合网络(Multi-Scale Aggregation Network,SANet)[21],CAN[10],关系注意力神经网络(Relational Attention Network,RANet)[22],SFANet[12],泛密度神经网络(Pan-Density Neural Network,PaDNet)[23],密度感知卷积神经网络(Density-Aware CNN,DensityCNN)[24]以及多尺度感知人群计数神经网络(Scale-Aware Crowd Counting Network,SACCN)[25]进行对比分析,实验结果如表2 所示。
表2 不同网络在公开数据集上的MAE 与MSE 结果比较Table 2 Comparison on MAE and MSE of different networks on public datasets
由表2 可知,对于ShanghaiTech 数据集,本文网络模型在密集程度较高的Part A 子集上的MAE 和MSE 分别为56.6 和97.6,均达到了先进水平。同时在人群密度较低的Part B 子集中,本文网络也取得了所有对比网络中最佳的MAE 和MSE,分别为6.3和10.2,相比SFANet 分别下降了8.7%和6.4%。在样本量较少,但视角丰富的UCF-CC-50 数据集中,本文网络取得了对比网络中最低的MAE 和MSE,分别为160.6 和224.7,与SFANet 相比分别下降了26.9%和28.9%。在场景丰富、图像视角多样的UCF-QNRF 数据集中,本文网络的MAE 和MSE 分别为85.8 和146.0,取得了对比网络中的最佳结果,与SFANet 相比MAE 下降了14.9%,MSE 下降了16.3%。
表2 的实验数据说明本文网络在拥挤人群和稀疏人群场景中均具有较高的准确性,而且在图像畸变较为严重、背景环境复杂多样的拥挤人群场景中具有良好性能,体现了该网络良好的泛化能力和较强的鲁棒性。
为验证BNS 模块和WE-CAN 模块的有效性,在ShanghaiTech 数据集上进行实验,分析不同模块对网络性能的影响。
消融实验结果如表3 所示。首先以SFANet 作为基线网络,并在其基础上增加BNS 模块进行实验,从而验证BNS 模块的有效性。此外,为验证WE-CAN模块的有效性,在基线网络添加了BNS 模块的基础上分别添加CAN 模块和WE-CAN 模块进行对比实验。由表3 可知,SFANet 增加BNS 模块后在Part A数据集上的MAE 下降1.5%,在Part B 数据集的MAE下 降2.9%,MSE 下 降4.6%。当SFANet 依次增加BNS 模块和CAN 模块后,Part A 数据集的MAE 相比SFANet 下降3.5%,Part B 数据集的MAE 下降4.3%,MSE 下降4.6%。当网络增加了WE-CAN 模块后,在Part A 数据集的MAE 下 降5.3%,Part B 数据集的MAE 和MSE 分别下降了8.7%和6.4%。上述消融性实验验证了本文设计的BNS 模块和WE-CAN 模块在人群计数任务中的有效性和合理性。
表3 消融实验结果Table 3 Results of ablation experiment
将本文网络和SFANet 生成的密度图进行对比,结果如图4 所示(彩色效果见《计算机工程》官网HTML 版)。
图4 本文网络与SFANet 的预测密度图比较Fig.4 Comparison of predict density map between SFANet and network in this paper
由图4 可知,当拥挤人群存在旗帜等遮挡物的时候,SFANet 无法很好区分人群和背景区域,容易将旗帜上的图案判定为人体特征,导致最终预测结果误差较大。而本文网络能有效抑制噪声,使生成的预测密度图能准确突出人群区域,提高人群计数任务的计算精度。
此外,本文网络能生成较精确的预测空间注意力图和预测密度图,且能进行可视化,可视化结果如图5所示(彩色效果见《计算机工程》官网HTML 版)。
图5 本文网络的实验效果展示Fig.5 Experimental effect display of network in this paper
由图5 左数第1 列、第2 列图可知,针对存在背景干扰较严重的拥挤人群场景的图像,本文网络能将图像中存在的汽车、树木等遮挡物识别为背景元素,减少遮挡物对预测结果的干扰。由图5 左数第3 列图可知,针对目标尺度变化较大的图像,本文网络生成的预测空间注意力图和预测密度图均能较好地对图像中的多尺度目标进行检测。由图5 左数第4 列图可知,针对稀疏人群场景的图像,本文网络也能生成精确的预测空间注意力图和预测密度图,体现了该网络良好的跨场景计数能力。
综上所述,本文网络能生成高质量的预测密度图,在有效抑制图像噪声干扰的同时,也能有效减少透视畸变引起的估计误差,展示了该网络在人群计数领域中优越的性能。
本文提出基于背景抑制与上下文感知的人群计数网络,通过引入DMG 模块有效提取不同层次特征的有效信息,生成高分辨率的特征图,并利用BNS 模块充分抑制图像噪声干扰,提高模型的人群计数精度。此外,采用WE-CAN 模块解决图像存在的透视畸变问题,在对网络模型进行训练时采用多任务的联合损失函数,以提高模型的计数精度。实验结果表明,本文网络在UCF-QNRF 数据集上的平均绝对误差和均方误差分别为85.8、146.0,相较于MCNN、SwitchCNN、CSRNet 等网络最高分别下降69.0%和67.2%,具有良好的泛化能力和较强的鲁棒性。下一步将引入雾霾、暴雨等复杂天气变化的数据样本和存在低光照、过曝等光照变化的数据样本对模型进行训练,提高网络在复杂环境下的计算精度。