APP下载

基于间接—即时注意力优化模块的密集人群计数算法

2023-06-23韩素玉王国栋王永刘瑞

韩素玉 王国栋 王永 刘瑞

摘要:针对网络中注意力通常处于多通道状态,更新却依赖单通道标签导致优化困难的问题,提出了一种间接—即时注意力优化(IIAO)模块。基于SoftMax-Attention策略,将多通道注意力在数学意义上转化为单通道密度图,同时自动为特征金字塔模组提供自适应多尺度融合服务。考虑到转化方式的特殊性,设计了区域相关性损失函数(RCLoss)来检索连续易错区域,平滑空间信息。实验结果表明,所提算法有效且性能更加稳定。

关键词:人群计数;注意力优化;密度图;softmax算法;特征金字塔

中图分类号:TP391 文献标志码:A

文章编号:1006-1037(2023)02-0050-08

doi:10.3969/j.issn.1006-1037.2023.02.09

基金项目:

山东省自然科学基金(批准号:ZR2019MF050)资助;山东省高等学校优秀青年创新团队支持计划(批准号:2020KJN011)资助。

通信作者:

王国栋,男,博士,副教授,主要研究方向为变分图像科学、人脸识别、三维重建和医学图像处理和分析等。

密集人群计数定义为检索图片或者视频片段中人的数量,一般使用人头作为计数单位,广泛应用在视频监控、车流控制、细胞计数、病虫害预防等重要领域。随着卷积神经网络的发展,人群计数方法已经从检测[1]与回归[2]过渡到密度估计[3-6],即每个像素点表示此位置为人头中心的概率,以此将计数任务简化为概率的叠加。但在真实的密集场景中,一个鲁棒的人群計数模型需要对嘈杂背景、尺度多变、相互遮挡、透视畸变等诸多问题具备强大的泛化能力。注意力机制强调将计算重心偏向信号响应强烈的区域,而非无差别地处理整幅图像,被广泛应用在密集人群计数任务中。ASNet[7]算法考虑到图像不同区域的计数性能异化,提出密度注意力网络,为卷积提取单元提供多尺度的注意力掩膜。RANet[8]算法使用两个模块分别处理全局与局部注意力,根据特征间的依赖关系进行融合。由于直接生成精确的注意力图比较困难,CFANet[9]通过人群区域识别器(CRR)和密度水平估计器(DLE)实现由粗到细的渐进注意机制。现有文献大多致力于对注意力运用方式的创新,而注意力损失校验时,存在两处不足:生成注意力标签需要人工阈值参与,鲁棒性较差;目前只能制作单通道标签,而网络中等待计算损失的注意力图通常是多通道的。若采取卷积降维,损失的来源就会变成注意力图本身以及降维引入的卷积参数两部分,网络无法针对性收敛;如果基于通道平均化,高响应与低响应特征将会被中和。基于以上分析,本文提出一种间接—即时注意力优化(IIAO)模块,将损失计算的对象由多通道注意力图转化为单通道密度图,以此规避注意力优化难题;由于转化得到的特征数据可能较为粗糙,设计了区域相关性损失(RCLoss)惩罚不规则的连续易错区域。

1 密集人群计数算法

本文建立一个适用于密集场景的人群计数模型,包括一个取自VGG-16模型的特征提取器作为骨干,一层卷积用于通道调整,两个堆叠的IIAO模块,以及另一个卷积层用于最终的预测图回归,如图1所示。

1.1 基础特征提取单元

将VGG-16的前13个卷积层与4个池化层放置在编码器部分,用于提取不同层次的边缘及纹理等低层次特征。然后使用双线性插值对其输出特征图进行2倍的空间上采样,上采样图与第三次卷积得到的特征图通过通道连接的方式合并,得到的特征图经过1×1卷积滤波器得到Fin。

1.2 间接—即时注意力优化算法

如图2所示,IIAO模块包括两个主要部分:ASP子模块和SMA子模块。Fin∈RC×H×W是IIAO模块的输入,其中C表示通道数,H、W分别表示的高和宽均是原图像的0.125倍,R为实数集。Fin每次经过IIAO模块都产生两种不同类型的特征图:Fout继续向后传递,而Fwei将融合注意力直接与密度图标签进行损失计算。

1)自适应尺度金字塔(ASP)子模块。ASP子模块使用多列架构获取多尺度特征,伴随着Fwei的生成自动完成通道级别的多尺度特征融合任务(细节见SMA子模块),缓解了每个分支的感受野固定在一定范围内的局限性。为减少参数开销,在ASP模块开始处设置一个1×1卷积把Fin的通道数压缩到0.25C,然后扩展为4个分支,每个分支均包含1×1,3×3,5×5等3种尺寸的卷积滤波器其中的两个。每个分支中,第一个滤波器再将通道数缩小4倍,重整信息后第二个滤波器将之复原,此时每个分支中Fin的尺寸都为[0.25C, H, W]。最终,ASP得到的Fmul将与Fin原尺寸完全一致。

2)SoftMax-Attention(SMA)子模块。SMA子模块接收残差连接而来的Fin,过渡性注意力单元(TAU)为其提供上下文注意力,得到Fatt。具体地,为了便于运算和提取不同层次的特征信息,TAU首先使用1×1卷积与ReLU激活函数来降低Fin的通道数,得到Fin∈RCr×H×W,其中r是超参数,指定缩减率。然后使用另一个1×1卷积核恢复通道数,同时使用sigmoid函数调制以获取全局上下文注意力,用Fatt∈RC×H×W表示。在此节点上,Fatt分为两路,第一通路复刻传统注意力机制,让Fatt与Fmul对位相乘,发挥其监督作用,增强Fmul中关键信息表达并抑制背景噪声。二者乘积用Fout表示,传递到后续网络

在最后一个IIAO模块后,使用1×1滤波器回归Fout,得到最终预测图Fpre。如果追求及时可靠的注意力,理应在Fatt下一步内核参数发生变化前立即对其进行梯度更新,然而此时的Fatt处于多通道状态,而相应标签只能是单通道的,因此需要降低维度。平均化意味着所有特征层赋予等同的权重,无差别对待关键信息与环境噪声;如果采用卷积降维,则会引入额外可学习参数,模糊了模型效果的参数来源。

基于此,在第二通路提出SMA策略优化注意力的损失更新流程,无需伪标签,同时没有引入额外可学习参数,可以在起到监督作用后即时修正注意力内核参数。具体地,每次Fatt经TAU生成后,都由softmax函数在通道方向将其归一化为[0,1]之间的概率分布,目的是学习Fmul中每个像素点所表达的特征信息在此位置所有通道层的动态权重。然后将Fatt与Fmul相乘,注意,此时的结果不同于Fout。将所有通道累加,得到融合注意力于特征信息的权重密度图,用Fwei∈R1×H×W表示,其中i∈1,H,j∈1,W

至此,注意力损失计算的对象就在数学意义上由多通道注意力图Fatt转化为单通道密度图Fwei,而密度图标签容易制得且相对可靠。Fmul学习了多分支中每个通道的权重,而不同分支对不同尺度的特征具备不同的感知能力,因此得到Fwei的同时,也完成了ASP模块的特征融合任务。

1.3 损失函数

大多数研究选择均方误差损失函数来校验最终预测图与标签之间的像素级误差值,用Lpre表示

其中,N代表单训练批次中图片的数量,Θ指代网络中一系列可学习参数,Xi意为当前参与训练的图片,P(Xi;Θ)表示其相应的预测结果图,GGTi是对应的标签。

1.3.1 区域相关性损失函数 现实场景中不同密集程度的人群分布不均,均方误差假设像素之间隔离且独立,无法保证空间相关性。本文提出了区域相关性损失函数(RCLoss),搭配IIAO模块可更高效的实现注意力优化,运行流程见图3。

RCLoss将Fwei与标签图做差并求绝对值,得到Error map。设置滑动窗口遍历Error map,在得到的每个子窗口中寻找预测误差较大的像素点,以其位置本身的误差值为基准施加增量性惩罚,惩罚力度与错误程度呈非线性正相关。为了确保子窗口之间信息的连续性,采用交错窗口,产生的重叠区域将被重复分析,但只有极其易错的位置会被重复惩罚,直接忽略低敏感区域。首先计算Error map,用E∈R1×W×H表示

假设滑窗的尺寸与步长分别为k、s,计算窗口在水平与垂直两个方向所能滑动的最大次数Rmax与Dmax

在每个子窗口内都有预测误差值最大的像素点,称为Hard点,误差值为MAXr,d{r∈[1,Rmax],d∈[1,Dmax]}。依次分析每个子窗口,惩罚误差值逼近MAXr,d值的像素点,惩罚的数量由常量threshold确定,惩罚的力度与自身预测的偏离程度相关。对于误差在容忍区间内的像素点,使用MSELoss作为其损失;否则基于RCLoss,算法为

其中,Lossr,d表示每个子窗口的损失值总和,i和j分别是其宽和高的迭代变量,EP和ET分别表示易错点和可容忍点。在每个子窗口内首先确定Hard点并计算MAXr,d值,然后搜寻误差值大于threshold与MAXr,d乘积值的易错点,最后与其余可容忍点一起按式(7)计算。累加一个训练批次中所有可达的子窗口损失值,得到最终的RCLoss损失值

1.3.2 统一目标损失函数 网络生成3个相同尺寸的密度图,包括2个IIAO模块输出的Fwei和1个最终的预测图Fpre。通过对不同任务的加权,训练所需的统一目标函数表述为

其中,λ和γ是两个损失函数的权重项。在所有数据集的实验中,二者都可以设置为固定值。

2 实验设置

2.1 数据集与标签

ShanghaiTech[10]数据集分为两部分:Part_A包含482张图片,训练集300张,测试集182张;Part_B包含716张图片,图片大小固定为1 024×768,训练集400张,测试集316张。UCF_CC_50[2]数据集样本数量有限,因此使用五折交叉验证作为统一的检验方式,每张图片标注的目标数量从94到4 543不等,平均为1 280。UCF-QNRF[11]数据集包含1 251 642个标注点的1 535张高清图片,训练集和测试集分别有1 201、334张图片,目标的密度范围为[49, 12 865]。

采用高斯函数模糊每个头部注释来生成密度标签,对于人群稀疏的数据集,如ShanghaiTech Part_B[10],采用固定尺寸的高斯核;对于场景较密集的其他数据集,则基于最近邻算法的几何自适应核。

2.2 实验参数

除基础特征提取单元之外,后续层的参数由高斯分布随机初始化,均值为0,标准差为0.01。过渡性注意力单元(TAU)中的缩减率r=16。对于模型训练细节,选择Adam优化器,初始学习率为0.0001,每100轮减半一次。权重项λ和γ分别设置为1.5和0.5。threshold在不同数据集中取值略有差异,将在消融实验中讨论。

2.3 评估指标

在人群计数任务中,有两种主要的网络性能评估指标:平均绝对均方误差(MAE)和均方根误差(MSE),MAE=1N∑Ni=1Pi-Gi,MSE=1N∑Ni=1Pi-Gi2,其中,N表示测试集中图片的数量,Pi和Gi分别代表第i张图片的预测数量和真实数量。

3 分析与讨论

3.1 对比实验

为验证IIAO算法的有效性,对比试验在4个官方数据集上进行,结果见表1(最佳表现用粗体表示,次之用下划线表示)。在ShanghaiTech Part_A数据集中,MAE指标领先诸多算法,比第二名DKPNet[12]结果低2.21%;对于UCF_CC_50[2]数据集,IIAO在MAE指标上领先第二名ASNet[7]13.18%,MSE领先13.41%。

3.2 消融實验

3.2.1 注意力不同降维方式对结果的影响 在对照试验中,Baseline没有对Fatt计算损失,任其在梯度反传时自学习。然后依据对Fatt降维方法的不同设置三组实验,依次为按通道方向将Fatt平均化,利用1×1卷积将Fatt通道数降至1,使用SoftMax-Attention策略。实验基于JHU-CROWD++[22]数据集的val部分,为保证无关条件统一,所有实验组均只采用均方误差损失。

由表2可知,三组对照试验的所有指标均呈现下降趋势。但是组1的效果不及Bashline,因其背离了注意力机制的思想。组2和组3都领先Baseline,后者更低的计数误差验证了本文假设,即传统注意力机制的损失计算流程确实存在可优化空间,而本文基于SoftMax-Attention策略的IIAO模块发挥了关键作用,同时针对Fwei使用RCLoss进行优化的新增实验组l取得了更好的效果。

为了直观展示SoftMax-Attention的效果,从每个数据集中选取了代表性样本做计数测试,如图4所示。其中每一横排代表一种数据集,第一列是输入原图,最后一列是其对应的标准标签数据,中间两列表示Baseline和SoftMax-Attention两个实验组的实验,可以看出后者的效果更逼近于标签,性能更好。同时为了观察细节差异,使用红框标注出了图片中的微小目标,放大可进行更好的对比。

3.2.2 分析RCLoss以及threshold波动对结果的影响 本节实验同样基于JHU-CROWD++[22]数据集,先将RCLoss更换为MSELoss视为参照基准,然后还原为RCLoss并多次调节threshold值作为对比,结果如图5所示,其中灰色虚线代表参照基准,等同于threshold=1的特殊情况。详细来看,如果threshold过小,惩罚区域会变多,相邻区域甚至联结,高频易错点难以突出;相反地,如果过大,惩罚条件会变严格,导致RCLoss无限退化为MSEloss。

由中间的两个细节放大图可以看出,在使用RCLoss同时将threshold设置为0.95时计数表现最优。需要注意的是,不同数据集的密度水平存在差异,因此增加了在不同数据集下threshold各自最优取值的实验,结果见表3。

3.2.3 RCLoss中滑动窗口的设置对结果的影响 本文使用滑动窗口将Error map(50×50)分块处理,为网络提供更多的连续性候选区域,设定滑动窗口尺寸和步长时,要求滑窗可以遍历到图中所有位置,同时保证padding=0。从满足条件的可行方案中选出3组代表性的组合,增设不使用滑动窗口策略的全窗口计算模式作為对照组,实验结果如图6所示。

可知,{尺寸=27, 步长=23}是最优组合,能够生成重叠长度为8的窗口,已知网络感受野同样为8,因此映射回原图像中是64×64大小的区域,与较大人头的尺寸接近,而大人头出现在分割线上的可能性更大,此时重叠区域就能对分割线上的特征进行跨窗口分析,从而使可能存在的正样本不被分割线所破坏。

3.2.4 IIAO模块堆叠数量对模型的影响 IIAO模块可以优化注意力,但堆叠的数量未必越多越好。为此,实验验证时除了必要的MAE与MSE预测图质量指标外,增加了对GFLOPs、Param size以及Inference time变量的监督,因其对模型的训练难度和实用性有很大参考价值,结果见表4(测试图片统一为400×400大小)。可知,IIAO模块数量为2时模型已经趋于收敛,过多的模块堆叠将导致特征的过度平滑,导致训练拟合;冗余的参数也会给计算机内存带来巨大压力,缺乏实用性。因此,本文确定两个IIAO模块叠加的方案,在此设置下,对于576×720大小的图片,推理时间为100 ms。

4 结论

本文提出的注意力优化策略,采用基于SoftMax-Attention的IIAO模块,将多通道注意力图在数学意义上转化为单通道密度图,使网络不再依赖于人工注意力标签。并提出了关注连续易错区域的RCLoss辅助IIAO发掘高潜区域,从而加速模型收敛,提高推理精度。在多个官方数据集的实验和对比证明本文提出的算法有效且性能更加稳定。下一步研究将聚焦在真实场景中的人群定位,提高算法的实用性。

参考文献

[1]TOPKAYA I S, ERDOGAN H, PORIKLI F. Counting people by clustering person detector outputs[C]// 11th IEEE International Conference on Advanced Video and Signal Based Surveillance (AVSS). Seoul, 2014: 313-318.

[2]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 (CVPR). Portland, 2013: 2547-2554.

[3]刘东华,魏宾,王国栋. 基于多尺度特征融合与注意力机制的人群计数算法[J].青岛大学学报(自然科学版),2022,35(1):40-47.

[4]陈磊,王国栋. 用于人群密度估计的多级融合卷积神经网络[J]. 青岛大学学报(自然科学版),2020,33(4):31-36.

[5]杨旭,黄进,秦泽宇,等. 基于多尺度特征融合的人群计数算法[J].计算机系统应用,2022,31(1):226-235.

[6]万洪林,王晓敏,彭振伟,等. 基于新型多尺度注意力机制的密集人群计数算法[J].电子与信息学报,2022,44(3):1129-1136.

[7]JIANG X H, ZHANG L, XU M L, et al. Attention scaling for crowd counting[C]// 33th IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Electr Network, 2020: 4706-4715.

[8]ZHANG A R, SHEN J Y, XIAO Z H, et al. Relational attention network for crowd counting[C]// 17th IEEE/CVF International Conference on Computer Vision (ICCV). Seoul, 2019: 6788-6797.

[9]RONG L Z, LI C P. Coarse-and fine-grained attention network with background-aware loss for crowd density map estimation[C]// IEEE Winter Conference on Applications of Computer Vision Workshops (WACVW). Electr Network, 2021: 3675-3684.

[10] ZHANG Y Y, ZHOU D S, CHEN S Q, et al. Single-image crowd counting via multi-column convolutional neural network[C]// 29th IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas, 2016: 589-597.

[11] IDREES H, TAYYAB M, ATHREY K, et al. Composition loss for counting, density map estimation and localization in dense crowds[C]// European Conference on Computer Vision (ECCV). Munich, 2018: 532-546.

[12] CHEN B H, YAN Z Y, LI K, et al. Variational attention: propagating domain-specific knowledge for multi-domain learning in crowd counting[C]// 18th IEEE/CVF International Conference on Computer Vision (ICCV). Electr Network, 2021: 16065-16075.

[13] MA Z H, WEI X, HONG X P, et al. Bayesian loss for crowd count estimation with point supervision[C]// 17th IEEE/CVF International Conference on Computer Vision (ICCV). Seoul, 2019: 6142-6151.

[14] LIU L, LU H, ZOU H W, et al. Weighing counts: Sequential crowd counting by reinforcement learning[C]// European Conference on Computer Vision (ECCV). Glasgow, 2020: 164-181.

[15] HU Y T, JIANG X L, LIU X H, et al. Nas-count: Counting-by-density with neural architecture search[C]// European Conference on Computer Vision (ECCV). Glasgow, 2020: 747-766.

[16] ABOUSAMRA S, HOAI M, SAMARAS D, et al. Localization in the crowd with topological constraints[C]// Association for the Advancement of Artificial Intelligence (AAAI). Electr Network, 2021, 35(2): 872-881.

[17] MA Z H, WEI X, HONG X P, et al. Learning to count via unbalanced optimal transport[C]// Association for the Advancement of Artificial Intelligence (AAAI). Electr Network, 2021, 35(3): 2319-2327.

[18] XU Y Y, ZHONG Z M, LIAN D Z, et al. Crowd counting with partial annotations in an image[C]// 18th IEEE/CVF International Conference on Computer Vision (ICCV). Electr Network, 2021: 15570-15579.

[19] CHENG J, XIONG H P, CAO Z G, et al. Decoupled two-stage crowd counting and beyond[J]. IEEE Transactions on Image Processing, 2021, 30:2862-2875.

[20] WANG Q, BRECKON T P. Crowd counting via segmentation guided attention networks and curriculum loss[J]. IEEE Transactions on Intelligent Transportation Systems, 2022, 23(9):15233-15243.

[21] LIN H, MA Z H, JI R R, et al. Boosting crowd counting via multifaceted attention[C]// 35th IEEE Conference on Computer Vision and Pattern Recognition (CVPR). New Orleans, 2022: 19628-19637.

[22] SINDAGI V A, YASARLA R, PATEL V M M. Jhu-crowd++: Large-scale crowd counting dataset and a benchmark method[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020, 44(5):2594-2609.