基于视觉注意力机制的人群密度估计方法

2022-06-24 10:02朱利华朱玲玲
计算机应用与软件 2022年4期
关键词:卷积密度注意力

朱利华 朱玲玲

1(常州信息职业技术学院软件与大数据学院 江苏 常州213164) 2(南通大学信息科学技术学院 江苏 南通 226200)

0 引 言

人群密度估计是关注在一定时间和空间内的人群密度分布情况,在现实生活中人群密度分析存在许多方面的应用,如公共安全、交通监控和城市规划等[1]。在人群密度估计中采用的计算方法也能够应用于其他领域,如显微图像中的细胞计数、交通控制中的车辆计算等方面。目前,人群计数仍然面临严重遮挡、透视失真、光照变化、人群分布不均匀及尺度不一等诸多方面的挑战问题[2-3]。

大多数人群密度估计方法均是先从图像中提取底层特征,然后采取不同的技术方法将这些特征映射到密度图中。现有的人群计数方法大致可以分为三类[4],分别为基于检测的方法[5]、基于回归的方法[6]及基于密度估计的方法[7]。与基于检测和回归的方法相比,基于密度估计的方法能够提供更多的人群分布空间信息,因此大多数人群计数方法采用密度估计方法。最初的人群计数工作主要采用手工特征,随着卷积神经网络的发展,由于其丰富的自动特征,在人群计数任务中取得了显著的进展。人群计数面临许多挑战,如遮挡、场景内和场景间的尺度变化及密度不均匀。Xu等[8]提出了一种基于条件生成对抗框架的人群计数方法,利用生成器和鉴别器之间的博弈,实现了人群图像到密度图的高质量转换。Wan等[9]提出了一种残差回归人群密度估计模型,通过在残差网络模型中引入样本间的相关信息学习更多的内在特征,进而有效地利用不同场景的语义信息来提高人群密度估计精度。由于上述方法对不同尺度的特征图进行,在一定程度上造成数据冗余,增加计算量。

近年来,注意力模型在各种计算机视觉任务中取得了巨大成功[10]。注意力机制不是从整个图像中提取特征,而是根据模型需求有选择地关注某些有用的视觉信息而忽略其他部分,实质上是一种加权共享的思想。Zhang等[11]利用局部和全局自注意力两个模块有效地捕获像素的长距离和短距离依赖,然后采用关系模块进行融合,解决密度图中像素间的相互依赖关系,该方法主要采用自注意力机制和关系模块来增强群组计数的特征表示。Liu等[12]提出一种注意力嵌入可变形卷积网络,首先利用注意感知网络检测图像中人群的拥挤程度,然后通过多尺度可变形网络生成高质量的密度图,该方法主要利用空间注意力机制,对特征图中的重要区域进行检测。Gao等[13]提出了一种基于空间和通道注意力的再聚集网络,利用空间注意力和通道注意力来估计密度图,但其未能很好地关联两种注意力获取的特征信息,对目标区域的分辨能力不强。

针对人群图像中尺度变化大及现有密度估计方法存在泛化性能差的问题,提出了一种基于视觉注意力机制的人群密度估计方法,通过在各个VGG-16层级采用空间注意力和通道注意力机制,达到选择性地增强网络不同层的功能,提高多尺度级联的有效性。同时,本文设计了一个弱监督学习框架,使人群密度估计模型可以适应不同的场景和数据集。

1 视觉注意力机制

视觉注意力机制是人类视觉所特有的大脑信号处理机制。人类视觉通过快速扫描全局图像,获得需要重点关注的目标区域,然后对该区域投入更多注意力资源,以获取更多所需要关注目标的细节信息,抑制其他无用信息。视觉注意机制极大地提高了信息处理的效率与准确性。

视觉注意力机制其实是从大量信息中有选择性地筛选出少量重要信息,并且聚焦这些重要信息,忽略大多不重要的信息,提高运算效率,如图1所示。

图1 视觉注意力机制示意图

信息源S中的元素是由一系列的数据对构成,目标元素为Q,通过计算Q和信息源中每个元素ki的相似性,得到ki对应的权重系数Vi。然后对Vi进行加权求和,得到最终的视觉注意值Att。视觉注意力机制本质思想就是对S中元素的权值系数Vi进行加权求和,其数学公式可被定义为:

(1)

2 方法设计

2.1 人群密度估计模型

由于同一图像内不同空间位置处的人群头部尺度可能会存在较大变化,因此本文在使用VGG16网络中不同卷积层的特征映射来捕获多尺度信息,同时将空间注意力模块(SAM)和全局注意力模块(GAM)引入到密度估计网络中来提高计数性能。本文方法具体的模块如图2所示,基本网络由VGG16网络的卷积层(conv1-conv5)组成。conv3层特征由SAM进行增强,conv4层和conv5层的特征由GAM进行信道增强。conv3层的增强特征映射由3个卷积层组成的卷积模块A进行转发,均使用ReLU激活函数,转发卷积模块A定义为:Conv2d(256,64,1)、Conv2d(64,64,3)、Conv2d(64,24,1)。conv4层和conv5侧的增强特征通过由3个卷积层组成的卷积模块B和上采样层转发,从而保证将特征映射缩放到与conv3特征映射相同的尺度。卷积模块A定义为:Conv2d(512,64,1)、Conv2d(64,64,3)、Conv2d(64,24,1)。最后,利用这些融合模块将经过增强后的特征连接起来,生成最终的密度图。融合模块的卷积层定义为:Conv2d(72,64,1)、Conv2d(64,64,3)、Conv2d(64,1,1)。本文采用预测密度图和真实密度图之间的欧氏距离最小化来训练网络,数学公式定义如下:

(2)

式中:N是训练样本数;Xi表示第i个输入图像;Fd(Xi,Θ)是估计密度;Di是第i个真实值密度。Di通过将以每人的位置xg为中心的二维高斯核求和来计算:

(3)

式中:σ是二维高斯核的尺度参数;S是人群所处位置的所有点的集合。网络生成的密度图是输入图像分辨率的1/4,密度图的总和提供了输入图像中人群数量的估计。

图2 本文方法流程

2.1.1空间注意力模块

空间注意的目标是在特征图中选择注意区域,然后用于动态增强特征响应。与现有工作中采用自我监督方式学习空间注意力相比,本文使用前景背景分割方式来进行监督学习。由于空间注意力模块的关注目标是与前景区域存在关联的相关区域,因此将前景背景信息注入网络,采用标签的方式来监督学习模块,从而迫使网络关注前景中的相关区域。由于这些标签很容易获得,因此不需要额外的注释工作。

通过这种注意机制,能够将分割意识引入低级别特征图。如图3所示,通过抑制不相关区域和增强前景区域,将分割信息用于网络来丰富特征图。然后将激励的特征图转发到融合模块(FM),在融合块中,它们与来自其他层的特征融合以生成最终的密度图。

通过预测分割映射和对应的真实值之间的交叉熵误差最小化来学习SAM的权重。通常,分割任务需要逐像素注释。本文对现有的真实密度图注释进行阈值处理以真实值分割映射,然后将其用于训练空间注意模块。在注释时,包含头部区域的像素标记为1(前景),否则标记为0(背景)。因此,本文方法不需要任何额外的标记。尽管这些注释是有噪声的,但使用分割信息会产生相当大的收益。

2.1.2全局注意力模块

与参与低层特征图中的相关空间位置的空间注意力模块相比,全局注意力模块则被设计为关注信道维度中的特征图。全局注意力模块使用来自中枢网络的特征映射并学习计算沿着信道维度的注意力。计算的注意力可以捕获特征图中的重要通道,从而有助于抑制来自不必要通道的信息,该模块从空间维度方面来看是在全局范围内运行。由于通道可以捕获物体的不同部分或者不同类别物体的存在情况,因此通道注意力是增强物体和图像注释之间相关性的有效方式。

基于上述考虑,本文给出了一组全局关注力模块,这些模块采用较高卷积层的特征图作为输入,并生成通道注意映射,然后用于激励通道维度特征图。在数学上,给定特征映射输入X∈RW×H×C,首先,GAM利用式(4)执行空间池化操作生成池化特征Y∈R1×1×C。

(4)

2.2 弱监督学习

现有方法提高跨数据集性能的解决方案通过以完全监督或半监督的方式进行微调。与这些方法相比,本文提出了一种弱监督的方法来训练新数据集上的计数网络。这样的设置将简化培训过程,不需要点式注释。群体计数是一个回归问题,执行弱监督的群组计数是将人群计数转化为人群密度分类任务,即不计算图像中的人数,而是将图像重新划分为六类标签,即标签集合C={零密度,极低密度,低密度,中等密度,高密度,极高密度}。本文利用标签将计数问题转化为弱监督学习的分类任务。

图4给出了用于适应新目标场景或者数据集所提出的弱监督方法。与使用预先训练的CNN语义分割类似,将弱监督方法引入计数网络时需要利用源数据集进行预先训练。因此,在计数网络融合模块之前增加一个类激活映射模块(CAMM),该模块由以下4个卷积层组成:Conv2d(72,64,3)、Conv2d(64,64,3)、Conv2d(64,32,3)和Conv2d(32,6,3)。

图4 弱监督学习示意图

一般来说,聚合函数可以分为全局平均池化(GAP)和全局最大池化(GMP)两类。对于GAP,分数映射中的所有像素都被赋予相同的权重,但是不属于图像的类标签也会被赋值;对于GMP则通过向得分贡献最大的像素分配权重来解决这个问题,但是训练缓慢。因此,本文选择对最大函数进行平滑和凸近似作为聚合函数:

(5)

式中:sc表示c类的聚合分数;r是控制平滑度的超参数;w、h表示分数映射的宽度和高度。然后将Soft-max函数应用于聚合的类分数,使用标准二元交叉熵损失函数训练CAMM模块。在训练期间,密度估计网络的参数保持固定。上述过程获得的类分数映射可以表示图像中属于特定密度水平的区域或像素,而这些类分数映射可以用于目标集伪真实密度图的近似:

(6)

将真实值密度图应用于监控目标数据集上的密度估计网络。在微调过程中,VGG-16网络的权重是固定的,只更新后面卷积层的权重,从而确保了所得到的估计密度图更清晰。尽管网络是使用图像级标签训练的,但是该网络也学会了为目标集生成密度图。因此,在测试过程中,目标集的测试图像通过网络转发来估计密度图。

3 实 验

本文使用Adam优化器进行端到端地网络训练,学习率为0.000 05,单个NVIDIA GPU Titan Xp的动量为0.9。预留训练集10%的图像用于测试。为了防止网络过拟合,在训练集上进行了数据增加操作:从每个训练图像中的不同区域中裁剪出9个尺寸为224×224的图像块,然后采用对裁剪图像进行随机翻转、添加随机噪声等方式来形成最终训练数据集。

3.1 评价标准

为了测试本文算法的性能表现,采用平均绝对误差(MAE)和平均平方误差(MSE)进行评估,两个评价标准的定义如下:

(7)

(8)

3.2 数据集

采用Shanghai Tech[2]数据集、UCF_CC_50数据集[14]及UCF-QNRF[7]数据集来测试本文算法的性能,同时与现在一些最新算法进行对比。实验过程中,对UCF_CC_50数据集采用5次交叉验证,Shanghai Tech和UCF-QNRF数据集使用标准训练和测试分割方式进行测试。

UCF_CC_50是一个极具挑战性的数据集,该数据集包含50个不同场景的注释图像,图像具有不同的分辨率、宽高比和透视扭曲,而且该数据集的图像中的人数从94到4 543不等。Shanghai Tech数据集包含1 198幅标记图像,数据集分为part A和part B两部分,part B部分的图片相较于part A部分的图像人群分布更为稀疏。part_A部分482幅图像中300幅用于训练,182幅用于测试;part_A部分716幅图像中400幅用于训练,316个用于测试。UCF-QNR是一个比较新的数据集,包含1 535个高质量图像,总共125万个注释,训练和测试集分别由1 201和334幅图像组成。

3.3 实验结果分析

首先给出了在不同数据集中测试的视觉效果,如图5-图7所示。一般来说,采用的三个数据集具有不同的特点:Shanghai Tech A的场景是拥挤和嘈杂的,Shanghai Tech B的样本噪音很大,但并不拥挤;UCF-CC 50数据集由非常拥挤的场景组成,这些场景几乎没有任何背景噪声;UCF-QNRF数据集则具有人群分布不均,闭塞阻挡较多的场景。从测试密度图中可以看出,本文算法不仅在人群密集中等场景的Shanghai Tech数据集上有效,而且在人群密度较大场景的UCF_CC_50数据集上及人群密度较小但尺度变化很大的场景UCF-QNRF数据集上依然表现良好,从而充分说明提出算法的适用性。而且本文算法中采用的空间注意力和全局通道注意力模块在细粒度特征提取方面的表现更好,能够生成高质量的人群密度图,有效降低计数误差并提高基准数据集的准确性。

图5 ShanghaiTech数据集的预测和真实密度图对比

图6 UCF_CC_50数据集的预测和真实密度图对比

图7 UCF-QNRF数据集的预测和真实密度图对比

为了进一步验证算法的有效性,对提出的方法进行了定量评估,并将其测试结果与深度尺度净化网络模型(DSPNet)[2]、自适应密度图生成器模型(ADMG)[7]、群体注意卷积神经网络模型(CAT-CNN)[10]、注意力嵌入可变形卷积网络模型(ADCrowdNet)[12]、混合空间-通道注意力回归网络模型(SCAR)和尺度保留网络模型(SPN)等先进人群计数方法进行对比。

表1给出了不同算法在Shanghai Tech数据集A和B部分的实验结果。可以看出,与其他几种算法相比,本文算法在四个结果中有三个达到了最好的性能,在Shanghai Tech B的MSE测试指标上比SPN模型稍低,这表示本文算法的稳健性在Shanghai Tech B数据集中表现稍弱。

表1 不同算法在Shanghai Tech数据集的测试结果

表2给出了不同算法在UCF_CC_50数据集的实验结果。可以看出,本文算法在MAE和MSE指标上取得较好的结果,只在MAE稍低于SPN模型,取得次优值。

表2 不同算法在UCF_CC_50数据集的测试结果

表3给出了不同算法在UCF-QNRF数据集的实验结果。通过对比每个数据集上不同算法的测试结果,发现在该数据集上,提出的模型在MAE和MSE方面明显优于其他方法。

表3 不同算法在UCF-QNRF数据集的测试结果

4 结 语

为了解决人群图像尺度变化剧烈及现有密度估计网络泛化性能差的问题,本文提出一种基于视觉注意力机制的人群密度估计方法。该方法在VGG16网络的conv3层特征引入空间注意机制动态增强特征图中的关注区域,在conv4、conv5层引入全局注意机制进行信道维度中的特征图增强,从而提高多尺度级联的有效性。而且,为了提高本文方法在不同场景和数据集的适应性,设计了一个弱监督学习来扩展提出的密度估计网络。实验结果表明,提出的方法在不同尺度、不同场景下的人群密度图像都有很好性能表现,相对于现有的人群密度估计算法也具有极大的优势。

猜你喜欢
卷积密度注意力
基于全卷积神经网络的猪背膘厚快速准确测定
基于FPGA的卷积神经网络加速优化方法
基于图像处理与卷积神经网络的零件识别
让注意力“飞”回来
基于深度卷积网络与空洞卷积融合的人群计数
A Beautiful Way Of Looking At Things
“密度”练习
密度的应用趣谈
密度的不变性与可变性
阅读理解两则