Advertisement

2018_Scale aggregation network for accurate and efficient crowd counting

阅读量:

Scale aggregation network for accurate and efficient crowd counting

  • 概述
  • 综述
  • 一、基于CNN方法的不足
  • 二、SANet网络
  • 三、实现细节
  • 四、实验研究
  • 参考文献列表

说明

本文是对以下这篇文章的概述及部分转译。
Cao X et al.提出了一种名为"Scale aggregation network"的方法,在Crowd counting任务中实现了准确且高效的计数。
该论文发表于2018年的《欧洲计算机视觉会议(ECCV)》 proceedings中,
具体见第734-750页的部分内容。

概括

Cao等人开发了一种新型的编码-解码器架构(SANet),该架构旨在实现准确且高效的 crowd counting(人群计数)任务。其中,在编码器部分通过多尺度特征提取模块捕获不同分辨率的信息,并通过转置卷积操作生成高分辨率的密度分布图;在解码器部分采用转置卷积操作生成高分辨率的密度分布图;此外,在现有方法中普遍存在的一个问题即仅依赖于欧几里德损失函数(Euclidean loss),这种假设忽略了 density map 中像素之间的局部依赖关系;基于此我们设计了一种改进型损失函数(improved loss function),该损失函数结合了欧几里德损失和局部模式一致性损失(local pattern consistency loss),从而显著提升了模型性能;同时为了简化复杂的训练过程我们引入了归一化层,并采用基于patch块划分测试区域的方式以减少统计偏差的影响

一、基于CNN方法的缺点

基于多通道列架构的多层次特征提取技术,在实现人群密度估计方面展现出显著的优势。该技术通过多个子网络层分别提取不同尺度的特征信息,并在此基础上完成密集区域与稀疏区域的有效识别与定位。然而,在实际应用中存在一定的局限性:受制于现有研究中所采用的不同分支数量限制(例如MCNN仅设置了三个独立分支),这使得在大规模场景下难以达到预期效果;同时,在实际应用过程中还需要注意避免因模型复杂度过高而导致计算资源消耗过大等问题

b) 在大多数作品中主要采用单像素级别的欧几里德损失度量工具,在这种假设下每个像素被视为独立个体,并已被发现存在导致图像模糊性的问题[2]。在文献[3]中对抗损失被成功应用于提升深度图质量并获得了良好的性能表现然而深度图往往仅包含有限数量的高级语义信息因此引入了鉴别子网络带来了额外的计算开销

为了有效解决上述问题,在前面提到的基础上设计了一种新型编码器与解码器网络组合方案称为规模聚合网络(SANet)如图1所示.SANet灵感来源于Inception架构[4]的设计在编码阶段加入了尺度聚合模块以增强特征表示能力并提升多尺度多样性.解码阶段采用了卷积层与转置卷积层组成的模块组用于生成高分辨率且高质量的密度图其尺寸与输入图像完全一致.在这一过程中我们参考了文献[5]中的思想将欧几里德损失以及局部模式一致性损失相结合以充分利用密度图的空间相关性.通过SSIM指数来衡量局部模式一致性损失并计算估计密度图与其真实值之间的结构相似性实验结果显示该方法能够显著提升算法性能.

在这里插入图片描述

我们采用实例归一化(IN)层以有效缓解梯度消失问题。然而,在图像级别的测试中发现基于补丁的模型因局部与全局统计差异而导致表现欠佳。因此我们提出了一种简单有效的基于补丁的统一训练与测试策略以有效降低统计偏差的影响。大量实验结果表明所提方法显著优于现有最先进的方法。

Contribution:

我们开发了一种新型网络架构并命名为规模聚集网络(SANet),专为大规模人群计数任务设计,并能够实现端到端的学习与优化。该系统能够实现端到端的学习与优化以提升密度估计性能。

b) 我们探究了由IN层导致的统计偏差现象,并发现这些层级有助于简化训练流程。随后我们设计并实施了一种基于补丁的小批量优化策略,并通过实验验证其有效性。

我们设计了一种新型的训练损失函数...以充分考虑空间邻域内的像素点间的关联性。该种损失项通过融合欧氏距离相关的项与局部模式一致性相关的项来实现对密度图细节特征的有效捕捉。其中第一种损失项通过抑制像素级误差来增强预测结果的空间平滑特性;而第二种损失项则通过强化预测输出与真实 ground truth 之间的局部结构相似性来提升模型的整体表现。

通过多组实证研究,在经过精心挑选的四个具有挑战性的基准测试中进行的系统性测试表明,在参数数量上更为简洁的情况下,我们的方法展现出比现有最佳方案更好的性能。

二、SANet

结构:

如图1所示,在多尺度特征表示和高分辨率密度图的基础上构建了SANet网络架构。该网络由特征图编码模块(FME)与密度图估计模块(DME)两大核心组件构成。FME主要负责从输入图像中提取并综合提取多尺度特征信息;DME则通过整合这些特征信息来进行高分辨率密度图的推断出。

Feature Map Encoder (FME):

为了缓解MCNN中矩阵列数量的限制问题,在本研究中我们开发了一个名为ScaleAggregationModule的新模块。该模块通过拼接操作消除了各矩阵列之间的相互影响(如图2所示)。

在这里插入图片描述

Density Map Estimator (DME):

基于人群密度估计的方法考虑了空间信息,但大多数作品的输出分辨率低,丢失了大量细节。为了生成高分辨率的密度图,我们使用了与[3]类似但更深层次的细化结构作为DME,如图1所示。我们的SANet的DME由一组卷积层和转置卷积层组成。我们使用四个卷积来逐步细化特征地图的细节,滤波器的大小从9 × 9到3 × 3。使用三个转置卷积层来恢复空间分辨率,每个卷积层都将特征地图的大小增加2倍。ReLU激活添加在每个卷积和转置卷积层之后。然后,使用1 × 1卷积层估计每个位置的密度值。由于密度映射的值总是非负的,我们在最后一个卷积层后面应用ReLU激活。最后,DME生成与输入大小相同的高分辨率密度图,为模型训练提供更精细的空间信息,便于特征学习。

Normalization Layers:

当将FME与DME相结合时,在实验中发现训练过程出现梯度消失问题。为了缓解这一问题,在实验中尝试引入批归一化(BN)以及实例归一化(IN)。然而由于所采用的批次较小导致统计量不稳定,在这种情况下使用BN反而表现得更加糟糕。随后,在每个卷积层及其转置层之后应用IN层,并对当前批次中的每个实例统计其特征映射数据来进行归一化处理。尽管如此,在使用完整图像进行测试的过程中,“小补丁训练”的模型表现依然欠佳。经过分析认为这是由于输入特征向量中的统计特性发生了变化所导致的结果。“针对最后一个1×1卷积层以及其前面所有的IN层节点而言”

在这里插入图片描述

Loss Function:

现有研究大多假设像素之间相互独立,在处理密度图时忽视了其局部相关属性,并采用基于像素级别的空间欧氏距离进行网络训练。针对这一局限性,在本研究中我们采用了单尺度SSIM评估局部分布一致性,并将其与L2损失相结合以提升模型性能

Euclidean Loss:

预测密度图与ground truth密度图的L2损失,具体看原文。

Local Pattern Consistency Loss:

除了基于像素级别的损失函数之外,在构建密度图的过程中,并非仅依赖于基于像素级别的损失函数。此外,在构建密度图的过程中,并非仅依赖于基于像素级别的损失函数。此外,在构建密度图的过程中,并非仅依赖于基于像素级别的损失函数

在这里插入图片描述

其中小p相对于中心进行了偏移,而大p则包含了核的所有位置。为了便于操作,在反向传播过程中我们设定权值为W,并且选择性地跳过了这些权值的更新步骤。针对估计的密度图F中的每个位置x及其对应的ground truth Y,则可以通过以下方式完成局部统计:

在这里插入图片描述

SSIM指数按点计算如下:

在这里插入图片描述

其中C1和C2是小常数,以避免被零除,遵循SSIM原文设置。

局部模式一致性损失(local pattern consistency loss)定义如下:

在这里插入图片描述

在密度映射中,每个像素点代表了单位面积内的点数量。LC则是一个用于评估估计结果与真实值之间局部特征一致性的损失函数,在计算时考虑了数据分布的一致性程度。

Final Objective:

通过对上述两个损失函数进行加权,我们定义最终目标函数如下:

在这里插入图片描述

在本研究中,我们提出了一种协调像素端损失与局部分区损失的新方法,并通过实验验证其有效性。具体而言,在本研究的实验设置中,我们经验性地设定参数λ为1.5,并在此基础上实现了较好的目标检测性能。

三、Implementation Details

通过使用IN层来抑制消失梯度问题后,我们的方法能够实现全连接式的训练.在本节中,我们阐述了基于块状结构的训练与测试方案,并采用该方案来降低统计偏差的影响.

Training Details:

在训练阶段,对原始图像进行四分之一尺寸的随机裁剪,并在水平方向上进行镜像翻转以实现数据增强。人群图像中的关键点用于表示行人头部中心的位置。随后需要将这些关键点转换为对应的密度图

在这里插入图片描述

其中S代表所有标注点的集合。密度图的面积分等于图像中的人群数量。我们未采用几何自适应核[6]这一方法,而是通过固定高斯核的扩展参数σ来生成真实密度图。

采用头到尾的方式对SANet进行训练。网络参数被初始化为均值为零、标准差为零点零一(即0.01)(...)高斯分布随机初始化。在实验环境中使用学习速率为1e-5(即十亿分之一)(...)Adam优化器来提升性能,并且该方法在实验中比传统的动量梯度下降算法更快地收敛。(我们的方法是基于Pytorch框架实现)。

Evaluation Details:

因IN层导致统计偏移问题在训练与测试阶段均需确保输入的一致性。
用于评估基于分块训练的方法时,我们将每个测试样本剪切成与原图尺寸相等的部分中四分之一大小,并设置50%的重叠率。
在各分块间存在重叠像素时,则仅选取距中心最近的那个分块中的密度值。
由于各个分块的核心区域含有足够的背景信息而得以精确估计。

采用MAE与MSE作为衡量指标。总体而言,在回归分析中:

  • MAE能够反映预测结果与真实值之间的平均绝对差异数值;
  • MSE则用于评估模型的稳定性与可靠性。
    值得注意的是,
    因为均方误差对异常值较为敏感,
    当模型在某些特定数据样本上表现欠佳时,
    其对应的均方误差可能会显著增大,
    从而影响整体模型性能评估结果

四、实验

Ablation Experiments:

我们开发了MCNN模型,并基于固定扩散高斯核生成的人工标注数据对其进行训练。该研究在性能方面略优于文献[6]所报道的结果。基于MCNN模型,在ShanghaiTech Part A数据集上进行了收敛性分析。实验结果可在Table 1中找到。

在这里插入图片描述

该研究深入探讨了SANet中FME与DME的作用机制。最初,在FME中引入了一个1×1卷积层用于计算密度分布图,该密度图尺寸仅为输入图像的八分之一。值得注意的是,在此过程中,MCNN与FME均生成低分辨率密度图,然而,FME借助其尺度聚合模块成功提升了特征的空间多样性,较之传统方法显著增加了多尺度特征的信息量.随后,为进一步优化密度估计效果,研究团队将DME与MCNN模型组合使用.在DME架构中,通过转置卷积层实现了精细上采样过程,最终所得密度图尺寸与原始输入图像保持一致.经过实验验证,DME相较于传统方法显著提升了估计精度.具体而言,表1a显示:相较于基线,MFE降低了MAE 19.9个点及MSE 32.4个点,DME则相应减少了MAE 26.1个点及MSE 26.9个点.实验结果表明,引入多尺度特征表示策略并采用高分辨率建模技术能够显著提升人群密度估计的准确性.

归一化层

Testing framework. 我们通过以图像和分块等不同输入样本进行评估, 以验证基于分块训练的SANet模型. 参考表1c中的数据, 从表中可以看出, 在基于分块测试中 SANet 取得了令人满意的成果, 然而在基于图像的测试中其性能显著下降. 这一结果揭示了内层归一化层(IN)导致的统计偏移现象的存在. 由此可见, 在实际应用中采用基于分块测试方案是十分必要的.

该方法采用欧几里得损失与局部模式一致性损失相结合的方式进行计算。
通过实验结果可以看出,在表1c中展示了该方法采用欧几里得损失与局部模式一致性损失相结合后的效果。
通过实验结果可以看出,在表1c中展示了该方法采用欧几里得损失与局部模式一致性损失相结合后的效果。
通过实验结果可以看出,在表1c中展示了该方法采用欧几里得损失与局部模式一致性_loss相结合后的效果。
另外一项关键指标是图像测试性能明显提升到了95.8%,这表明了该方法的有效性。
另外一项关键指标是图像测试性能明显提升到了95.8%,这表明了该方法的有效性。
另外一项关键指标是图像测试性能明显提升到了95.8%,这表明了该方法的有效性。
这一指标进一步验证了我们提出的方法能够有效增强模型对统计位移不敏感性的能力。

Qualitative analysis见原文。

参考文献

[1] Cao et al. introduced a multiscale aggregation module designed to enhance the high-efficiency of crowd counting systems.
[2] The research focuses on implementing an image-to-image translation task with conditional adversarial networks.
[3] Sindagi and Patel developed a method to generate high-resolution crowd density maps using contextual pyramid CNNs.
[4] Szegedy and colleagues explored increasing convolution layers to create deep convolutional neural networks(DCNs).
[5] Zhao et al. investigated loss functions for deep convolutional neural networks in image processing applications.
[6] Zhang et al.'s single-image crowd counting systems based on multi-column convolutional neural networks(MC-CNNs)achieve state-of-the-art performance.

全部评论 (0)

还没有任何评论哟~