浙江大学学报(工学版), 2023, 57(10): 1955-1965 doi: 10.3785/j.issn.1008-973X.2023.10.005

计算机技术、自动化技术

基于自注意力机制的双分支密集人群计数算法

杨天乐,, 李玲霞, 张为,

天津大学 微电子学院,天津 300072

Dual-branch crowd counting algorithm based on self-attention mechanism

YANG Tian-le,, LI Ling-xia, ZHANG Wei,

School of Microelectronics, Tianjin University, Tianjin 300072, China

通讯作者: 张为,男,教授,博士. orcid.org/0000-0002-2601-3198. E-mail: tjuzhangwei@tju.edu.cn

收稿日期: 2023-01-13  

基金资助: 国家重点研发计划资助项目(2020YFC1522405);省级科技重大专项与工程项目(19ZXZNGX00030)

Received: 2023-01-13  

Fund supported: 国家重点研发计划资助项目(2020YFC1522405);省级科技重大专项与工程项目(19ZXZNGX00030)

作者简介 About authors

杨天乐(1999—),男,硕士生,从事数字图像处理、模式识别研究.orcid.org/0000-0003-1162-4372.E-mail:yangtianle@tju.edu.cn , E-mail:yangtianle@tju.edu.cn

摘要

针对密集人群计数中人头尺度变化大、复杂背景干扰的问题,提出基于自注意力机制的双分支密集人群计数算法. 该算法结合卷积神经网络(CNN)和Transformer 2种网络框架,通过多尺度CNN分支和基于卷积增强自注意力模块的Transformer分支,分别获取人群局部信息和全局信息. 设计双分支注意力融合模块,以具备连续尺度的人群特征提取能力;通过基于混合注意力模块的Transformer网络提取深度特征,进一步区分复杂背景并聚焦人群区域. 采用位置级-全监督方式和计数级-弱监督方式,在ShanghaiTech Part A、ShanghaiTech Part B、UCF-QNRF、JHU-Crowd++等数据集上进行实验. 结果表明,算法在4个数据集上的性能均优于最近研究,全监督算法在上述数据集的平均绝对误差和均方根误差分别为55.3、6.7、82.9、55.7和93.1、9.8、145.1、248.0,可以实现高密集、高遮挡场景下的准确计数. 特别是在弱监督算法对比中,以低参数量实现了更佳的计数精度,并达到全监督87.9%的计数效果.

关键词: 人群计数 ; 深度学习 ; 自注意力机制 ; 双分支 ; 弱监督学习

Abstract

A dual-branch crowd counting algorithm based on self-attention mechanism was proposed to solve the problems of large variation in head scale and complex background interference in crowd counting. The algorithm combined two network frameworks, including convolutional neural network (CNN) and Transformer. The multi-scale CNN branch and Transformer branch based on convolution enhanced self-attention module were used to obtain local and global crowd information respectively. The dual-branch attention fusion module was designed to enable continuous-scale crowd feature extraction. The Transformer network with the hybrid attention module was utilized to extract deep features, which facilitated the distinction of complex backgrounds and focused on the crowd regions. The experiments were conducted on ShanghaiTech Part A, ShanghaiTech Part B, UCF-QNRF, JHU-Crowd++ and other datasets using position-level full supervision and count-level weak supervision. Results showed that the performance of the proposed algorithms was better than that of recent studies. The MAE and MSE of the fully supervised algorithm in the above datasets were 55.3, 6.7, 82.9, 55.7, and 93.1, 9.8, 145.1, 248.0, respectively, which could achieve accurate counting in high density and high occlusion scenes. Good counting precision was achieved with low parameters, and a counting accuracy of 87.9% of the full supervision was attained especially in the comparison of weakly supervised algorithms.

Keywords: crowd counting ; deep learning ; self-attention mechanism ; dual-branch ; weakly supervised learning

PDF (2871KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

杨天乐, 李玲霞, 张为. 基于自注意力机制的双分支密集人群计数算法. 浙江大学学报(工学版)[J], 2023, 57(10): 1955-1965 doi:10.3785/j.issn.1008-973X.2023.10.005

YANG Tian-le, LI Ling-xia, ZHANG Wei. Dual-branch crowd counting algorithm based on self-attention mechanism. Journal of Zhejiang University(Engineering Science)[J], 2023, 57(10): 1955-1965 doi:10.3785/j.issn.1008-973X.2023.10.005

随着人口的快速增长,高密集的人群聚集场景时有发生. 人群计数通过估计图像中的人群总数和分布情况[1-3],可以有效规避人群密集带来的风险,目前已成为计算机视觉领域中热门的研究方向. 在体育场、地铁站和旅游景区等场所中,人群计数能及时分析人群行为信息,避免人员踩踏、非法集会等公共安全事件. 此外人群计数可以扩展到农业、生物医药和智能交通等其它领域中,如细胞计数[4]、果实计数[5]和车辆计数[6]等.

早期的人群计数算法通过手工特征分类[7]、目标检测[8]等方法实现,但是仅仅适用于稀疏场景,在高密集场景下由于严重遮挡的原因,检测效果不尽人意. 随着计算机视觉技术的发展,基于深度学习的技术方案成为主流的研究方向[9]. Lempitsky等[10]提出将逐个体计数转换为像素值积分计数,更加适用于高密集、高遮挡场景,奠定了基于密度图的检测方式. Zhang等[11]结合多个感受野不同的卷积,组成多列卷积神经网络,提取不同尺度的人头信息,优化人群计数中人群尺度跨度大的问题. 万洪林等[12]引入注意力机制到网络中,将模型更加关注人群前景,并抑制噪声背景. Liu等[13]采用双分支路径,同时实现检测和回归2种计数方式,自适应地处理密集和稀疏场景. Xie等[14]利用特征金字塔模块和涵盖通道、区域注意的特征重校准模块,实现同时解决人群尺度变化和复杂背景问题. 此外,考虑到基于密度图的方式须花费较多精力来标注人头位置,近年来基于弱监督学习方式的研究越来越火热. Lei等[15]提出多任务辅助的训练策略,构造正则化来限制生成密度图的自由度,实现从计数级标签和少量的位置级标签中学习模型. Liang等[16]将Transformer网络引入人群计数,利用Transformer网络的自注意力机制,以增加人群数目序列的方式实现语义信息的提取.

由于卷积的感受野固定且有限,卷积神经网络 (convolutional neural network, CNN)方法仅能关注离散尺度的人群特征,无法适应密集场景,尤其是远近视角中跨度较大的连续尺度变化. 上述方法仅仅利用通道或空间维度的注意力机制,对人群区域的聚焦有待进一步增强. 由于CNN网络特征的提取能力欠佳,计数级-弱监督方式多采用整体移植Transformer通用网络的方式实现,但是Transformer通用网络并非完全适配人群计数领域,存在检测精度低、模型参数量过大问题.

针对上述问题,本研究提出基于自注意力机制的双分支人群计数算法. 结合CNN和Transformer这2种网络框架,利用自注意力机制捕获的全局信息,关注并补充人群区域的局部细节信息,从而具备连续尺度的人群特征提取能力. 为了进一步聚焦人群区域并抑制背景噪声,引入混合注意力模块,使人群区域的特征更加明显,从而提高模型的计数精度. 采用基于位置级标签的全监督方式和基于计数级标签的弱监督方式分别进行实验,在几个常用的数据集上均取得了令人满意的结果.

1. 算法设计

本研究提出的基于自注意力机制的双分支密集人群计数网络(dual-branch crowd counting net,DBCC-Net)整体结构如图1所示. 网络由3部分组成:浅层特征提取网络、双分支融合网络和深层特征提取网络,最后通过一个简单的检测头输出人群密度图. 浅层特征提取网络采用VGG-16网络的前13层,提取具有位置不变性的低层次特征. 特征图分辨率依次降低,选取末端3尺度特征作为输出,记为{f1, f2, f3}.

图 1

图 1   基于自注意力机制的双分支密集人群计数算法整体结构图

Fig.1   Overall structure of dual-branch crowd counting algorithm based on self-attention mechanism


双分支融合网络采用CNN与Transformer并行的双分支结构. CNN分支通过多尺度融合模块提取{f1, f2, f3}的人群细节特征,经过合并下采样、插值上采样的操作,融合至1/8尺度,输出该分支特征FC. Transformer分支采用2组基于卷积增强自注意力模块的Transformer网络,将f2作为输入,经过降维卷积层、补丁嵌入层和Transformer网络后,输出该分支特征FT. 由双分支注意力融合模块,将FCFT融合,输出涵盖全局信息和局部信息的双分支特征FCT. 深层特征提取网络采用2组基于混合注意力模块的Transformer网络,输出人群语义信息特征FS. 最后,经空洞卷积检测头,将FS映射为通道数为1的人群密度图P,求和即为人群总数.

本研究主要内容有:1)设计了CNN和Transformer双网络框架,结合卷积的局部关注和自注意力的全局建模,在保证精度的前提下,显著降低了Transformer参数量. 2)引入多尺度融合模块,提高局部信息提取能力;引入卷积增强自注意力模块,提高全局信息提取能力;引入双分支注意力融合模块,实现连续尺度的人群特征提取能力;引入混合注意力模块,进一步聚焦人群区域,提升模型整体计数性能. 3)除位置级-全监督方式外,还关注了计数级-弱监督方式,缩小了两者之间的性能差距,为低成本人工标注提供解决方案.

1.1. 双分支融合网络

1.1.1. CNN分支

为了获取不同尺度下的人群细节信息,DBCC-Net采用多尺度融合模块将{f1, f2, f3}进行融合. 对于1/4尺度特征f1,为了防止常规下采样过程中的人头细节损失,分别以(0,0)、(0,1)、(1,0)、(1,1)为起始位置,对特征图进行步长为2的间隔取值采样,在通道维度拼接后即为1/8尺度特征,由1 $* $1卷积将通道数合并至256,过程如图2所示. 对于1/16尺度特征f3,由双线性插值上采样至1/8尺度. 最终将3种尺度特征相加,经卷积层和激活函数后输出CNN分支特征FC.

图 2

图 2   1/4尺度特征的下采样示意图

Fig.2   Down sampled diagram of 1/4 scale feature


1.1.2. Transformer分支

Transformer分支采用浅层特征提取网络的f2作为输入,并将通道数目由512降至256. 相比于原图输入,较小的特征尺度和通道数目保证了较低的模型参数量,并且CNN低层次特征可有效防止Transformer传播过程中的过拟合. DBCC-Net采用的Transformer网络由补丁嵌入层、卷积增强自注意力模块和前馈神经网络层组成. 对于输入f2RB×H×W×C(其中B为批量大小, HW 为特征映射的长度和宽度,C为特征通道数),补丁嵌入层将其重塑为f2ʹ∈RB×C×H *W/P^2(其中P为补丁大小),实现三维特征到二维特征的转换. 卷积增强自注意力模块是Transformer网络的核心,负责全局范围内的特征提取. 前馈神经网络内置激活函数和全连接层,负责增强非线性的表征能力. 经过上述2组深度为8的网络传播后,输出Transformer分支特征FT.

卷积增强自注意力模块由多头注意力模块和大感受野卷积增强模块组成,采用双分支结构连接,其结构如图3所示. 对于多头自注意力模块,首先经过线性层的转换,分别生成Q(query)、K(key)、V(value)参量. 其中,Q参量与K参量的转置相乘生成空间维度的注意力特征,增加相对位置编码后,经SoftMax归一化函数生成注意力权重. 最后,该权重与V参量做矩阵乘法,经过线性层和残差连接后输出,自注意力机制计算式为

图 3

图 3   卷积增强自注意力模块

Fig.3   Convolution enhanced self-attention module


$ {\rm{Attention}}({\boldsymbol{Q}},{\boldsymbol{K}},{\boldsymbol{V}}) = {\rm{SoftMax}}({{\boldsymbol{QK}}^{\rm{T}}}/\sqrt d +E){\boldsymbol{V}} . $

式中:d为多头自注意力的维度,可防止模型计算量过大;E为相对位置编码,可以显式地为一维特征添加二维位置信息.

DBCC-Net为有效利用CNN低层次特征并降低模型参数量,在Transformer传播时固定了特征尺度和通道数目. 然而在Transformer通用模型[17]中,常采用逐层下采样升通道的方式来增加感受野. 为了弥补感受野的部分缺失,引入了大感受野卷积增强模块. 该模块由卷积核尺寸为9 $* $9的深度可分离卷积组成,9 $* $9的卷积尺寸保证了全局层面的信息交互,深度可分离卷积可有效避免引入较高的参数量和计算量. 将以上2个分支的特征相加,即为卷积增强自注意力模块的输出.

1.1.3. 双分支注意力融合模块

CNN分支具有细节丰富、局部注意的特征,Transformer分支具有细节粗糙、全局注意的特征. 由于2种网络机制的不同,若不加区分的将两者相加或拼接,会产生次优的效果. 因此,DBCC-Net采用了双分支注意力融合模块,利用自注意力机制的基本思想,将Transformer输出特征作为一种监督信号,来选择性的增强CNN分支的细节信息,从而实现两种特征的融合,其结构如图4所示. 将FT经线性层生成Q参量,将FC经补丁嵌入层映射为一维特征并生成KV参量. Q参量与K参量的转置相乘生成空间维度的注意力特征,经SoftMax归一化函数生成注意力权重. 最后,该权重与V参量做矩阵乘法,输出CNN分支注意力特征FC′,与原始FCFT做加后,即为双分支注意力融合模块输出FCT.

图 4

图 4   双分支注意力融合模块

Fig.4   Dual-branch attention fusion module


1.2. 深层特征提取网络

深层特征提取网络由基于混合注意力模块的Transformer组成,结构同上文提到的Transformer网络结构. Transformer只能利用有限的信息范围,可以通过增加特定层面的注意力机制学习更多的特征[18]. 因此,在自注意力模块的基础上,引入空间通道注意力模块,增强Transformer的表达能力,以进一步聚焦人群区域. 混合注意力模块由多头注意力模块和空间通道注意力模块组成,采用双分支结构连接,其结构如图5所示.

图 5

图 5   混合注意力模块

Fig.5   Hybrid attention module


空间通道注意力模块由空间注意分支和通道注意分支组成,全程在一维特征层面进行,不需要多余的重塑操作. 对于输入fxRB×C×N,空间注意分支在通道维度进行平均池化,经Sigmoid函数,生成空间维度的注意力权重WsRB×1×N. 空间注意力权重Ws与输入特征fx做矩阵乘法,经加权平均处理,生成融合空间信息的通道注意力权重Wc1RB×1×C;通道注意分支在空间维度进行平均池化,直接输出通道注意力权重Wc2RB×1×C. 将两分支的输出权重拼接,经全连接层和Sigmoid函数,生成最终的注意力权重WcRB×1×C. fxWc进行Hadamard乘积,即为空间通道注意力模块的输出特征foutRB×C×N. 最后与多头注意力模块做权重为α的加权融合,即为混合注意力模块的输出.

1.3. 检测头与损失函数

检测头负责回归人群密度图,通过3个膨胀系数分别为1、2、3的3×3空洞卷积实现,并由两层1×1卷积将通道数目映射为1,输出1/8尺度的人群密度图.

位置级-全监督使用人群计数中流行的DM-Loss[19]作为损失函数,由人工标注的离散图直接作为标签,避免生成伪密度图过程中的误差影响. 全监督损失函数Lfull由3部分组成,其中,最优运输损失LOT负责度量预测图和标签之间的相似性,总变量损失LTV负责稀疏区域的回归,计数损失LC负责增加训练稳定 性,计算式为

$ {L_{{\rm{full}}}} = {L_{\rm{C}}}({\boldsymbol{G}},{\boldsymbol{P}})+{\lambda _1}{L_{{\rm{OT}}}}({\boldsymbol{G}},{\boldsymbol{P}})+{\lambda _2}{L_{{\rm{TV}}}}({\boldsymbol{G}},{\boldsymbol{P}}) . $

式中:G为标签离散图,P为预测密度图,λ1λ2分别设置为0.10和0.01.

计数级-弱监督仅使用CG(对G求和得到的真实人群数目)作为标签,无须提供涵盖人头坐标和区域的位置级信息,从而能更好地节约标注成本.该方式将模型输出的预测人群密度图P求和,得到CP(对P求和得到的预测人群数目). 利用损失函数Lweak衡量CGCP之间的差异,完成对预测人群数目的监督. 除了能够实现人群数目的预测外,通过计数级-弱监督方式获得P,仍涵盖较为精确的位置级信息.

弱监督采用Smooth L1[20]作为损失函数,相比于L1损失或者L2损失,Smooth L1损失更易收敛,可以避免L1损失的原点不可导问题.

$ {L}_{{\rm{weak}}}=\left\{\begin{array}{l} 0.5({C}^{{\boldsymbol{G}}}-{C}^{{\boldsymbol{P}}}),\left|{C}^{{\boldsymbol{G}}}-{C}^{{\boldsymbol{P}}}\right| < 1.0\text{;}\\ \left|{C}^{{\boldsymbol{G}}}-{C}^{{\boldsymbol{P}}}\right|-0.5,\;\;\;\qquad\quad 其他.\end{array} \right.$

2. 人群计数实验及分析

2.1. 实验细节与评价指标

实验的硬件配置为Intel Xeon 4310处理器和NVIDIA A40显卡;软件环境使用Ubuntu 18.04操作系统、Python 3.8编程语言、PyTorch 1.12.1深度学习框架和CUDA 11.7并行计算架构.

浅层特征提取网络VGG-16采用ImageNet-1k预训练权重,剩余卷积层和全连接层采用均值为0、方差为0.02的随机权重. 对于模型的超参数,混合注意力模块相加权重α设为0.01,Transformer模块深度设为8,多头注意力模块head数设为8. 在训练过程中,采用AdamW优化器进行优化,其中学习率设为0.000 01、权值衰减设为0.000 1、批量大小根据图片裁剪尺寸设为4或16. 根据不同数据集的特点,采用固定尺寸Patch进行训练. 为避免数据冗余,从训练图片中随机裁剪出所需尺寸的Patch,并使用随机率为0.5的水平翻转进行数据增强.

DBCC-Net在Part A数据集上的训练曲线如图6所示,其中圆圈为损失值,三角为平均绝对误差,方块为均方误差,横坐标E为迭代次数,纵坐标LOSS、MAE、MSE为结果数值. 从图中可以看出,随着训练的进行,损失值能够快速下降并完成收敛,在440轮次获得最佳计数性能,即MAE为55.3、MSE为93.1. 由此可以说明损失函数的选择和训练参数的设置较为合理,达到预期结果.

图 6

图 6   DBCC-Net模型的训练曲线

Fig.6   Training curve of DBCC-Net


实验使用人群计数领域中常用的平均绝对误差(mean absolute error,MAE)和均方误差(mean squared error,MSE)用于性能评估,2个指标的定义为

$ {\rm{MAE}} = \frac{1}{N}\sum\nolimits_{i = 1}^N {|C_i^{\boldsymbol{P}} - C_i^{\boldsymbol{G}}|} \text{,} $

$ {\rm{MSE}} = \sqrt {\frac{1}{N}\sum\nolimits_{i = 1}^N {|C_i^{\boldsymbol{P}} - C_i^{\boldsymbol{G}}{|^2}} } {\text{ }}. $

式中:N为测试数据集的图片总数,CiG为测试集中第i张图片的真实人群数目,CiP为测试集中第i张图片的预测人群数目. 评价指标MAE和MSE越小,表示模型的误差越低,计数性能越好.

2.2. 数据集

ShanghaiTech: ShanghaiTech数据集[11]包含了1 195张标注图片和330 165个标注人数,数据集由Part A和Part B这2个部分组成. Part A由482张从互联网收集的高密集场景下的图片组成,训练集与测试集的数量比例为300∶182. Part A中单张图片人数在33~3 139,是一个高度密集的数据集. Part B由716张上海街道图片组成,训练集与测试集的数量比例为400∶316. Part B中单张图片人数为9~578,是相对稀疏的数据集. 在训练过程中,对于Part A数据集,Patch大小设置为256×256;对于Part B数据集,由于人群较稀疏且分辨率较差,裁剪大小设置为512×512.

UCF-QNRF: UCF-QNRF数据集[21]包含1 535张标记图片和1 251 642个标注人数,是一个大型且具有挑战性的人群数据集. 该数据集中单张图片人数为49~12 865,训练集与测试集的数量比例为1201∶334. 相比于其他数据集,该数据集中场景更加拥挤,更接近真实情况. 由于分辨率较大,考虑到训练速度和内存占用,对于全监督部分,将最小边重塑为不超过2 048,裁剪大小为512×512. 对于弱监督学习部分,将最小边重塑为不超过1024,裁剪大小为256×256.

UCF_CC_50: UCF_CC_50数据集[22]包含50张标记图片和63 075个标记人数,是极密集的小型人群数据集,单张图片人数为94~4543. 由于数据集的数量仅为50张,采用5折交叉验证的方式进行训练,裁剪大小为512×512.

JHU-Crowd++: JHU-Crowd++数据集[23]包含4 372张标记图片和151万余个标注人数,是在各种不同场景下收集的超大型人群数据集. 该数据集中单张图片人数为0~25 000,训练集与测试集的数量比例为2772∶1600. 由于分辨率较大,同样考虑到训练速度和内存占用,对于全监督部分,将最小边重塑为2 048以下,裁剪大小为512×512. 对于弱监督学习部分,将最小边重塑为不超过1 024,裁剪大小为256×256.

2.3. 实验结果

采用全监督和弱监督2种方式,评估模型在4个常用数据集上的检测效果,并与其他人群计数模型进行对比. 从结果可以看出,所提模型在ShanghaiTech、UCF-QNRF、UCF_CC_50和JHU-Crowd++数据集上均获得令人满意的成绩.

2.3.1. 定量结果

采用基于位置级标签的全监督方式,结果表1所示,对于Part A数据集,所提模型在所有比较的方法中取得了最好的成绩. 与采用CNN与Transformer结合的CLTR算法相比,DBCC-Net将Part A的MAE和MSE分别降低了2.8%和2.2%;在Part B数据集中,DBCC-Net以9.8的MSE取得最优效果,MAE也十分接近最优成绩. 与其他数据集相比,Part B数据集更加稀疏和简单,复杂背景噪声和连续尺度人头变化问题不突出,因此本模型在MAE上取得与其他模型相似的性能. 对于QNRF数据集,DBCC-Net以82.9的MAE达到优秀的计数水平,验证了算法在拥挤场景、复杂背景干扰下的计数性能. 对于UCF_CC_50数据集,取得最低的误差结果,证明算法可以很好地适用于小型数据集. 对于JHU-Crowd++大型数据集,该算法展现了良好的计数性能. 与采用相同损失函数的DM-Count模型相比,在4个数据集上,DBCC-Net的MAE分别降低了4.4、0.7、2.1、63.5,MSE分别降低了2.6、2.0、2.3、86.4.

表 1   位置级-全监督对比实验的结果

Tab.1  Results of position-level full supervision comparison experiment

算法 SHT Part A SHT Part B UCF_QNRF UCF_CC_50 JHU-Crowd++
MAE MSE MAE MSE MAE MSE MAE MSE MAE MSE
MCNN[11] 110.2 173.2 26.4 41.3 277 426 377.6 509.1 188.9 483.4
CSRNet[24] 68.2 115.0 10.6 16.0 266.1 397.5 85.9 309.2
BL[25] 62.8 101.8 7.7 12.7 88.7 154.8 229.3 308.2 75.0 299.9
DM-Count[19] 59.7 95.7 7.4 11.8 85.0 148.0 211.0 291.5
GL[26] 61.3 95.4 7.3 11.7 84.3 147.5 59.9 259.5
FIDT[27] 57.0 103.4 6.9 11.8 89.0 153.5 171.4 233.1 66.6 253.6
CLTR[28] 56.9 95.2 6.5 10.6 85.8 141.3 59.5 240.6
NDConv[29] 61.4 104.18 7.8 13.8 91.2 165.6 167.2 240.6
DFRNet[30] 59.6 100.9 6.9 12.1 80.2 145.5
SGANet[31] 57.6 101.1 6.6 10.2 87.6 152.5 224.6 314.6
RAN[32] 57.9 99.2 7.2 11.9 83.4 141.8 155.0 219.5 59.4 257.6
CTrans-MISN[33] 55.8 95.9 7.3 11.4 95.2 180.1 71.5 280.1
DBCC-Net 55.3 93.1 6.7 9.8 82.9 145.1 147.5 205.1 55.7 248.0

新窗口打开| 下载CSV


采用基于计数级标签的弱监督方式,结果如表2所示. 可以看出,DBCC-Net在4个数据集上均取得了最好的成绩,进一步表明算法的有效性. 相比于采用Transformer网络的TransCrowd算法,DBCC-Net在4个数据集上的MAE分别降低了9.1%、19.4%、6.5%和18.2%. DBCC-Net极大地缩小了全监督和弱监督算法之间的性能差距,达到全监督算法87.9%的计数性能,为降低人工标注成本提供了解决方案.

表 2   计数级-弱监督对比实验的结果

Tab.2  Results of count-level weakly supervision comparison experiment

算法 SHT Part A SHT Part B UCF_QNRF UCF_CC_50 JHU-Crowd++
MAE MSE MAE MSE MAE MSE MAE MSE MAE MSE
Yang[34] 104.6 145.2 12.3 21.2
MATT[15] 80.1 129.4 11.7 17.5 355.0 550.2
TDCrowd[35] 67.9 108.3
TransCrowd[16] 66.1 105.1 9.3 16.1 97.2 168.5 74.9 595.6
CCST[36] 62.8 94.1 8.3 13.4 93.7 166.9 190.7 289.0 61.4 239.3
DBCC-Net 60.1 94.0 7.5 12.5 90.9 156.3 177.1 237.9 61.3 241.8

新窗口打开| 下载CSV


2.3.2. 可视化结果

将模型输出进行可视化展示,图7展示全监督下的模型在4个数据集上的预测密度图. 其中,SHT Part B和UCF_CC_50图片分别为稀疏场景和全密集场景下的检测效果,SHT Part A和QNRF图片为复杂场景、多尺度人头大小和遮挡下的检测效果. 由图7可以看出,预测密度图接近真实值,计数结果较为准确.

图 7

图 7   位置级-全监督人群密度图

Fig.7   Position-level full supervision crowd density map


为了进一步分析本研究模型优于其他方法的原因,图8展示DBCC-Net与DM-Count[19]、CFANet[37]的可视化对比图. 从第1行标记可以看出,本研究模型在准确计数稀疏场景的基础上,在高密集、高遮挡场景下更具优势,能够清晰地定位出人头位置,证明了采用双分支融合模块能够较好地融合细节特征和全局特征;从第2行标记可以看出,本研究模型能够有效识别大、中、小尺寸的人头目标,说明DBCC-Net具备连续的尺度特征提取能力. 从第3行标记可以看出,与其他方法相比,本研究模型能准确区分前景和背景,有效排除复杂环境下的干扰.

图 8

图 8   不同方法的可视化对比图

Fig.8   Visual comparison of different methods


图9展示弱监督下的模型在QNRF数据集上的人群关注图,图中138、198、398、652的人群数量对应从稀疏到密集的不同场景. 从预测结果可以看出,DBCC-Net仅以人群数目作为学习对象,即可准确地定位到人头位置,实现人群数目估计和人群分布估计2种任务需求.

图 9

图 9   计数级-弱监督人群关注图

Fig.9   Count-level weakly supervision crowd density map


2.4. 实验分析
2.4.1. 框架与模型复杂度分析

为了评估模型的空间和时间复杂度,本研究根据参数量Np和每秒浮点运算次数GFLOPs对模型进行对比分析,如表3所示. 在空间复杂度方面,DBCC-Net以38.0×106的参数量处于Transformer框架模型中的较低水平,接近CNN框架模型的参数量. 在时间复杂度方面,由于结合了2种网络的运行机制,本研究算法在运算次数方面没有明显优势,但仍优于RAN[32]、CCST[36]近期研究,并且在计数性能方面取得更好的表现. 经本实验硬件平台验证,DBCC-Net能将1 024×768大小的图片以单张0.368 6 s的推理速度实现人群计数,满足实时性要求.

表 3   时间及空间复杂度对比的实验结果

Tab.3  Experimental results of time and space complexity comparison

类型 算法 框架方式 MAE MSE Np/106 GFLOPs/109
全监督 CAN[38] CNN 62.3 100.0 18.1 64.6
FIDT[27] CNN 57.0 103.4 66.6 80.1
RAN[32] CNN 57.9 99.2 22.9 115.9
DBCC-Net CNN+Transformer 55.3 93.1 38.0 98.5
弱监督 TransCrowd[16] Transformer 66.1 95.4 86.0 49.3
CCTrans[39] Transformer 64.4 95.4 104.0 57.6
CCST[36] Transformer 62.8 94.1 294.7 323.6
DBCC-Net CNN+Transformer 60.1 94.0 38.0 98.5

新窗口打开| 下载CSV


为了验证算法框架的有效性,使用相同的损失函数和训练方法,对不同框架的算法进行对比实验,结果如表4所示. 基于CNN的算法拥有较小的模型尺寸,但其精度有待进一步提高. 基于Transformer的算法精度较高,但其模型参数量较大. 采用CNN与Transformer直接串联的方式,效果提升有限. 采用DBCC-Net的双分支融合框架,较好地结合了2种网络的优势,相比CNN框架绝对误差降低了6.9%,相比Transformer框架模型参数量降低了64%.

表 4   网络模型框架的对比实验结果

Tab.4  Comparison of experimental results with network model framework

算法 框架方式 MAE MSE 参量大小/M
VGG CNN 59.7 95.7 29.0
Swin Transformer 55.5 92.7 104.0
VGG-Swin CNN+Trans
(单分支)
58.6 97.1 33.5
DBCC-Net CNN+Trans
(双分支)
55.3 93.1 38.0

新窗口打开| 下载CSV


2.4.2. 消融实验

为了验证DBCC-Net各个组成的有效性,将串行连接的VGG和Swin Transformer作为基本模型进行消融实验,结果如表5所示. 结合CNN与Transformer这2种网络的基本模型即具备较高的计数精度,展示良好的人群特征提取能力. 在串行连接的基础上引入CNN分支并进行双分支融合后,MAE和MSE分别降低了0.9和0.7,表明融合局部信息和全局信息可以有效提升模型性能. 在引入卷积增强自注意力模块后,误差进一步降低. 最后在此基础上,引入混合注意力模块,MAE和MSE相较于基本模型分别降低了3.3和4.0.以上实验证明,各组成有效提升了模型计数性能.

表 5   DBCC-Net模型消融实验结果

Tab.5  Results of ablation experiments for DBCC-Net

算法 双分支注意力融合 卷积增强自注意力模块 混合注意力模块 MAE MSE
基本模型 58.6 97.1
本研究模型 57.7 96.4
56.5 96.2
55.3 93.1

新窗口打开| 下载CSV


为了验证全监督损失函数DM-Loss的有效性,与基于传统高斯密度图的MSE-Loss和基于离散点标注图的Bayesian-Loss进行定量对比实验,如表6所示. 相比于前两者,DM-Loss能将MAE降低1.9和5.3,MSE降低2.5和8.1,表明DM-Loss能更好地适用于DBCC-Net网络模型. 为了确定全监督损失函数中最优运输损失LOT的权重λ1和总变量损失LTV的权重λ2,类比于DM-Count[19],本研究将λ1固定0.1,设置λ2分别为0.01、0.05和0.10,输出误差结果55.3、56.8和57.3,从而确定λ2为0.01. 设置λ1分别为0.01、0.05和0.10,输出误差结果57.9、56.4和55.3,从而确定了λ1λ2的最优权重为0.10和0.01.

表 6   损失函数的对比实验结果

Tab.6  Comparison experiment results of loss function

损失函数 MAE MSE
MSE-Loss 60.6 101.2
Bayesian-Loss 57.2 95.6
DM-Loss 55.3 93.1

新窗口打开| 下载CSV


为了进一步分析各模块对计数性能的影响,本研究采用弱监督学习的方式进行对比实验. 分别在多尺度选择和注意力增强方面进行探究. 对于多尺度融合模块,结果如表7所示. 采用1/4、1/8或1/16单个尺寸的卷积特征,仅能补充单一尺度的细节信息,模型效果相似. 利用多尺度融合模块,可以充分提取不同尺度下的细节信息,从而有效降低模型误差. 对于混合注意力模块,结果如表8所示. 相比于仅使用单一维度的注意力增强,同时关注通道和空间维度的注意力增强,有助于进一步提升模型效果. 相较于传统CBAM模块,本研究提出的空间通道注意力模块获得最优的结果,且仅在一维特征层面实现,有利于Transformer网络中一维序列的传播,无需空间注意力分支中一维特征到二维特征之间的转换.

表 7   多尺度融合模块的对比实验结果

Tab.7  Comparative experiment results of multiple fusion modules

融合尺度 MAE MSE
1/4尺度 60.8 98.0
1/8尺度 60.8 95.6
1/16尺度 60.6 96.5
多尺度融合模块 60.1 94.0

新窗口打开| 下载CSV


表 8   混合注意力模块的对比实验结果

Tab.8  Comparative experimental results of hybrid attention modules

模块 MAE MSE
传统CBAM模块 60.8 95.4
仅本文空间注意分支 61.2 100.7
仅本文通道注意分支 61.5 98.1
混合注意力模块 60.1 94.0

新窗口打开| 下载CSV


3. 结 语

本研究提出基于自注意力机制的双分支密集人群计数算法,有效解决了当前人群计数算法面临的主要问题. 通过引入多尺度融合模块提高局部信息提取能力,通过引入基于卷积增强的自注意力模块提高全局信息提取能力. 通过采用双分支融合模块,实现连续尺度的人群检测能力. 通过增加混合注意力模块,进一步聚焦人群区域,提升模型的整体计数性能. 本研究分别采用全监督学习和弱监督学习进行实验,两者在多个数据集上取得满意的性能表现. 在弱监督学习中,以较低的参数量实现更佳的计数效果,并缩小与全监督算法之间的性能差距. 实验结果表明,该算法具备良好的人群计数性能,可以实现高密集、高遮挡场景下的准确计数,具有较高的应用价值.

参考文献

MA Y, SHUAI H, CHENG W

Spatiotemporal dilated convolution with uncertain matching for video-based crowd estimation

[J]. IEEE Transactions on Multimedia, 2022, 24: 261- 273

DOI:10.1109/TMM.2021.3050059      [本文引用: 1]

李萌, 孙艳歌, 郭华平, 等

多层次融合与注意力机制的人群计数算法

[J]. 吉林大学学报: 信息科学版, 2022, 40 (6): 1009- 1016

LI Meng, SUN Yan-ge, GUO Hua-ping, et al

Multi-level fusion and attention mechanism based crowd counting algorithm

[J]. Journal of Jilin University: Information Science Edition, 2022, 40 (6): 1009- 1016

LIAN D, CHEN X, LI J, et al

Locating and counting heads in crowds with a depth prior

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2022, 44 (12): 9056- 9072

DOI:10.1109/TPAMI.2021.3124956      [本文引用: 1]

LU H, CAO Z, XIAO Y, et al

TasselNet: counting maize tassels in the wild via local counts regression network

[J]. Plant Methods, 2017, 13 (1): 1- 17

DOI:10.1186/s13007-016-0152-4      [本文引用: 1]

XIE W, NOBLE J A, ZISSERMAN A

Microscopy cell counting and detection with fully convolutional regression networks

[J]. Computer Methods in Biomechanics and Biomedical Engineering: Imaging and Visualization, 2018, 6 (3): 283- 292

DOI:10.1080/21681163.2016.1149104      [本文引用: 1]

LIANG M, HUANG X, CHEN C, et al

Counting and classification of highway vehicles by regression analysis

[J]. IEEE Transactions on Intelligent Transportation Systems, 2015, 16: 2878- 2888

DOI:10.1109/TITS.2015.2424917      [本文引用: 1]

ZENG C, MA H. Robust Head-shoulder detection by PCA-based multilevel HOG-LBP detector for people counting [C]// 20th International Conference on Pattern Recognition. Istanbul: IEEE, 2010: 2069-2072.

[本文引用: 1]

LI M, ZHANG Z, HUANG K, et al. Estimating the number of people in crowded scenes by MID based foreground segmentation and head-shoulder detection [C]// 19th International Conference on Pattern Recognition. Tampa: IEEE, 2008: 1-4.

[本文引用: 1]

刘迪, 郭继昌, 汪昱东, 等

融合注意力机制的多尺度显著性目标检测网络

[J]. 西安电子科技大学学报: 自然科学版, 2022, 49 (4): 118- 126

[本文引用: 1]

LIU Di, GUO Ji-chang, WANG Yu-dong, et al

Multi-scale salient object detection network combining an attention mechanism

[J]. Journal of Xidian University: Natural Science, 2022, 49 (4): 118- 126

[本文引用: 1]

LEMPITSKY V, ZISSERMAN A

Learning to count objects in images

[J]. Advances in Neural Information Processing Systems, 2010, 23: 1324- 1332

[本文引用: 1]

ZHANG Y, ZHOU D, CHEN S, et al. Single-image crowd counting via multi-column convolutional neural network [C]// Proceedings of the lEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 589-597.

[本文引用: 3]

万洪林, 王晓敏, 彭振伟, 等

基于新型多尺度注意力机制的密集人群计数算法

[J]. 电子与信息学报, 2022, 44 (3): 1129- 1136

DOI:10.11999/JEIT210163      [本文引用: 1]

WAN Hong-lin, WANG Xiao-min, PENG Zhen-wei, et al

Dense crowd counting algorithm based on new multi-scale attention mechanism

[J]. Journal of Electronics and Information Technology, 2022, 44 (3): 1129- 1136

DOI:10.11999/JEIT210163      [本文引用: 1]

LIU J, GAO C, MENG D, et al. DecideNet: counting varying density crowds through attention guided detection and density estimation [C]// IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 5197-5206.

[本文引用: 1]

XIE J, PANG C, ZHENG Y, et al

Multi-scale attention Recalibration Network for crowd counting

[J]. Applied Soft Computing, 2022, 117: 108457

DOI:10.1016/j.asoc.2022.108457      [本文引用: 1]

LEI Y, LIU Y, ZHANG P, et al

Towards using count-level weak supervision for crowd counting

[J]. Pattern Recognition, 2021, 109: 107616

DOI:10.1016/j.patcog.2020.107616      [本文引用: 2]

LIANG D, CHEN X, XU W, et al

TransCrowd: weakly-supervised crowd counting with transformer

[J]. Science China: Information Sciences, 2022, 65 (6): 48- 61

[本文引用: 3]

LIU Z, LIN Y, CAO Y, et al. Swin transformer: hierarchical vision transformer using shifted windows[C]// Proceedings of the IEEE/CVF International Conference on Computer Vision. Montreal: IEEE, 2021: 10012-10022.

[本文引用: 1]

CHEN X, WANG X, ZHOU J, et al. Activating more pixels in image super-resolution transformer [EB/OL]. [2022-05-09]. https://arxiv.org/abs/2205.04437.pdf.

[本文引用: 1]

WANG B, LIU H, SAMARAS D, et al. Distribution matching for crowd counting [C]// Proceedings of the Advances in Neural Information Processing Systems. Vancouver: CA, 2020: 1595-1607.

[本文引用: 4]

CHAO X, SHANG W, ZHANG F

Information-guided flame detection based on faster R-CNN

[J]. IEEE Access, 2020, 8: 58923- 58932

DOI:10.1109/ACCESS.2020.2982994      [本文引用: 1]

IDRESS H, TAYYAB M, ATHREY K, et al. Composition loss for counting, density map estimation and localization in dense crowds [C]// Proceedings of the European Conference on Computer Vision. Munich: Springer, 2018: 532-546.

[本文引用: 1]

IDRESS H, SALEEMI I, SEIBERT C, et al. Multi-source multi-scale counting in extremely dense crowd images [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Portland: IEEE, 2013: 2547-2554.

[本文引用: 1]

SINDAGI V A, YASARLA R, PATEL V M

Jhu-crowd++: large-scale crowd counting dataset and a benchmark method

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020, (4): 653- 671

[本文引用: 1]

LI Y, ZHANG X, CHEN D. Csrnet: dilated convolutional neural networks for understanding the highly congested scenes [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Salt lake city: IEEE, 2018: 1091-1100.

[本文引用: 1]

MA Z, WEI X, HONG X, et al. Bayesian loss for crowd count estimation with point supervision [C]// IEEE/CVF International Conference on Computer Vision. Seoul: IEEE, 2019: 6141-6150.

[本文引用: 1]

WAN J, LIU Z, CHAN A. A generalized loss function for crowd counting and localization [C]// IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 1974-1983.

[本文引用: 1]

LIANG D, XU W, ZHU Y, et al. Focal inverse distance transform maps for crowd localization [EB/OL]. [2021-10-20]. https://arxiv.org/pdf/2102.07925.pdf.

[本文引用: 2]

LIANG D, XU W, BAI X. An end-to-end transformer model for crowd localization [C]// Proceedings of the European Conference on Computer Vision. Cham: Springer, 2022: 38-54.

[本文引用: 1]

ZHONG X, YAN Z, QIN J, et al

An improved normed-deformable convolution for crowd counting

[J]. IEEE Signal Process Letters, 2022, 29: 1794- 1798

DOI:10.1109/LSP.2022.3198371      [本文引用: 1]

GAO X, XIE J, CHEN Z, et al

Dilated convolution based feature refinement network for crowd localization

[J]. ACM Transactions on Multimedia Computing, Communications and Applications, 2023, 19 (6): 1- 16

[本文引用: 1]

WANG Q, BRECKON T

Crowd counting via segmentation guided attention networks and curriculum loss

[J]. IEEE Transactions on Intelligent Transportation Systems, 2022, 23 (9): 15233- 43

DOI:10.1109/TITS.2021.3138896      [本文引用: 1]

CHEN Y, YANG J, ZHANG D, et al

Region-aware network: model human’s top-down visual perception mechanism for crowd counting

[J]. Neural Networks, 2022, 148: 219- 231

DOI:10.1016/j.neunet.2022.01.015      [本文引用: 3]

ZENG X, HU S, WANG H, et al. Joint contextual transformer and multi-scale information shared network for crowd counting [C]// 5th International Conference on Pattern Recognition and Artificial Intelligence. Chengdu: IEEE, 2022: 412-417.

[本文引用: 1]

YANG Y, WU Z, SU L, et al. Weakly-supervised crowd counting learns from sorting rather than locations [C]// Proceedings of European Conference on Computer Vision. Newcastle: Springer, 2020: 1-17.

[本文引用: 1]

PHUCT P. Attention in crowd counting using the transformer and density map to improve counting result [C]// 8th Nafosted Conference on Information and Computer Science. Hanoi: IEEE, 2021: 65-70.

[本文引用: 1]

LI B, ZHANG Y, XU H, et al

CCST: crowd counting with swin transformer

[J]. The Visual Computer, 2023, 39 (7): 2671- 2682

DOI:10.1007/s00371-022-02485-3      [本文引用: 3]

RONG L, LI C. Coarse and fine-grained attention network with background-aware loss for crowd density map estimation [C]// Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision. Waikoloa: IEEE, 2021: 3675-3684.

[本文引用: 1]

LIU W, SALZMANN M, FUA P. Context-aware crowd counting [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 5094-5103.

[本文引用: 1]

TIAN Y, CHU X, WANG H. CCTrans: simplifying and improving crowd counting with transformer [EB/OL]. [2021-09-29]. https://arxiv.org/abs/2109.14483v1.pdf.

[本文引用: 1]

/