当前位置: 首页 > news >正文

密度估计与人群计数的深度学习方法综述

论文信息

论文标题: A survey of deep learning methods for density estimation and crowd counting (密度估计与人群计数的深度学习方法综述)
关键词: 物体计数,人群计数,密度估计,卷积神经网络

核心要点:

  • 本综述专注于现代基于CNN的密度估计方法。
  • 提供了详尽的算法分类(单列/多列网络、单任务/多任务学习、全监督/弱监督/无监督等)。
  • 详细列出了代表性数据集和评估指标。
  • 对SOTA方法进行了性能基准测试和属性分析。
  • 深入探讨了模型设计、数据集构建、领域泛化等关键问题,并指出了未来的研究趋势。

论文链接:https://link.springer.com/article/10.1007/s44336-024-00011-8

摘要

准确估计单张图像中的物体数量是一项具有挑战性但有意义的任务,并已应用于许多应用中,例如城市规划与公共安全。在各种物体计数任务中,人群计数由于其对社会安全与发展的特定意义而尤为突出。幸运的是,人群计数技术的发展可以推广到其他相关领域,例如车辆计数和环境调查,如果不考虑其特性的话。因此,许多研究人员致力于人群计数,并涌现出许多优秀的工作,极大地推动了人群计数的发展。然而,我们需要考虑的一个问题是,我们距离解决计数问题还有多远?受限于时间和精力成本,我们无法分析所有算法。在本文中,我们调研了 300 多篇论文,以全面、系统地研究人群计数模型,主要涉及基于 CNN 的密度图估计方法。最后,根据评估指标,我们在各自的人群计数数据集上选择了表现最好的前三名模型,并分析了它们的优缺点。通过我们的分析,我们期望能对人群计数的未来发展做出合理的推断和预测,同时,它也可以为其他领域的物体计数问题提供可行的解决方案。我们提供了部分主流算法在 NWPU 数据集验证集上的密度图和预测结果,以供比较和测试。同时,也提供了密度图生成和评估工具。所有代码和评估结果均已公开在 https://github.com/gaoguangshuai/survey-for-crowd-counting。

关键词 物体计数,人群计数,密度估计,CNNs

1 引言

在过去的几十年里,越来越多的研究将物体计数问题作为其研究兴趣,因此,许多工作被发表以尝试解决图像或视频中的物体计数问题,涵盖广泛的领域,例如人群计数 [1-13]、细胞显微 [14-16]、动物 [17]、车辆 [2, 18-20]、树叶 [21, 22]、环境调查 [23, 24] 和邻近地球安全 [25-27]。在所有领域中,人群计数吸引了学术界的大部分关注。在一些人群场景(如游行、音乐会、体育场)中,建立高级认知能力至关重要。在这些场景中,人群计数对于社会安全和控制管理起着不可或缺的作用。

鉴于人群计数的重要性,人们付出了巨大努力来解决这个问题。特别是在最近的五年里,随着深度学习的出现,卷积神经网络 (CNNs) 已经在各种计算机视觉任务中占据主导地位,包括人群计数。

这些基于 CNN 的模型可能具有不同的设计直觉,但它们具有相似的网络结构。并且得益于强大的表示能力,为人群计数设计的网络可以以较小的成本扩展到相关的计数领域。

因此,在本文中,我们主要关注人群计数任务,特别是基于 CNN 的密度估计和人群计数模型,并讨论这些模型如何解决其他领域的计数任务。本综述关注算法分类法以及一些有趣的、未充分探索的研究方向。此外,还研究了代表性的数据集和评估指标,以及影响计数任务性能的关键因素。我们提供了部分主流算法在 NWPU 数据集 [28] 验证集上的密度图和预测结果以供比较。同时,也提供了密度图生成和评估工具。所有代码和评估结果均已公开在 https://github.com/gaoguangshuai/survey-for-crowd-counting。

2 相关工作与范围

人群计数模型主要可以分为四类:基于检测的、基于回归的、密度估计的,以及最近出现的基于 CNN 的密度估计方法。本综述主要关注基于 CNN 的密度估计和人群计数模型。为了完整性,有必要在本小节回顾一些其他相关工作。

人群计量的早期工作 [29-32] 使用基于检测的方法。这些方法通常对图像应用人体或头部检测器,并通过计算检测到的实例数量来完成计数任务。最近,许多卓越的物体检测器如 R-CNN [33-35]、YOLO [36] 和 SSD [37] 已被开发出来,并在稀疏场景中取得了显著性能。然而,当遇到极其密集的人群时,它们仍然难以获得令人满意的结果。

基于回归的方法 [38-40] 直接学习从图像空间到计数空间的映射。第一步是提取图像的全局表示 [41](纹理、梯度、边缘特征)或局部特征 [42](SIFT [43]、LBP [44]、HOG [45]、GLCM [46])。然后使用一些回归技术,如线性回归 [47] 和高斯混合回归 [48],来学习到人群计数的映射函数。

这些映射具有高度非线性,使得它们非常难以学习。为了缓解这个问题,Lemptisky 等人 [16] 将计数视为密度图估计,并通过积分密度图获得计数值。这项开创性工作为计数问题打开了一扇新的窗口。几乎所有后续的研究,无论是使用手工特征还是 CNN 架构,都在密度图估计框架下研究计数问题。

图 1 展示了人群计量的简要编年史,其中列出了一些主要的进展和里程碑技术。本综述的目标聚焦于现代的基于 CNN 的密度估计和人群计数方法,图 2 描绘了本综述将要涵盖的关键方法的分类法。

综述范围。考虑到回顾所有最先进的方法是不切实际的(并且幸运的是也是不必要的),本文梳理了一些主流算法,这些都是在权威期刊和会议上发表的有影响力或必不可少的论文(但不限于此)。本综述聚焦于近年来发展的现代基于 CNN 的密度估计方法,并且为了完整性,也包含了一些早期工作。我们根据网络架构、监督形式、跨场景或多领域的影响等方面,将现有方法分为几类。这样全面和系统的分类法可以帮助读者更深入地理解过去几年人群计数的发展。

2.1 相关的先前综述和调研

表 1 列出了与我们论文相关的现有综述或调研。值得注意的是,Zhan 等人 [24] 和 Junior 等人 [68] 是首批关于人群分析的综述之一。Li 等人 [72] 回顾了使用不同方法进行拥挤场景分析的任务,而 Zitouni 等人 [75] 使用不同标准评估了不同方法。Loy 等人 [70] 基于视频图像,使用相同协议对最先进的人群计数方法进行了详细比较。Ryan 等人 [73] 提出了跨多个数据集的评估,以比较各种图像特征和回归模型。Saleh 等人 [74] 调研了直接和间接两种主要方法。Grant 等人 [76] 探索了两种人群分析。虽然这些综述对人群计数和场景分析进行了详细分析,但它们仅针对使用手工特征的传统方法。在最近的工作中,Sindagi 等人 [77] 提供了一篇关于基于 CNN 的单张图像人群计数和密度估计的最先进方法的综述。然而,它只是粗略地介绍了截至 2017 年的基于 CNN 方法的最新进展。Tripathi 等人 [78] 提出了使用 CNN 进行人群分析的综述,这不仅仅是针对人群计数,因此不够全面和深入。据我们所知,技术是逐月递增的,我们迫切需要在过去五年中记录人群计数的发展。Li 等人 [79] 系统地回顾了近 20 年来人群计数和人群密度估计中几乎所有流行的方法,并为基于 CNN 的人群计数方法提供了新的分类标准。Bai 等人 [80] 回顾了自 2015 年以来的相关工作,并关注人群计数的三个主要模块:深度神经网络设计、损失函数和监督信号。Khan 等人 [81] 通过模型架构、学习方法和评估方法对最重要的贡献进行了有意义的分类。

与先前关注手工特征或原始 CNN 的综述不同,我们的工作系统且全面地回顾了基于 CNN 的密度估计人群计数方法。具体来说,我们从各个方面总结了现有的人群计数模型,并根据评估指标在几个典型基准人群计数数据集上列出了一些代表性主流算法的结果。最后,我们选择了表现最好的前三名模型,并仔细、彻底地分析了这些模型的特性。我们还对关键的开放性问题、挑战和未来方向提供了见解。通过本综述,我们期望能对人群计数的未来发展做出合理的推断和预测,同时,它也可以为其他领域的物体计数问题提供可行的解决方案和指导。

2.2 本文的贡献

总之,本文的贡献主要体现在以下几个方面:

全面系统的概述。我们从各个方面对基于 CNN 的模型进行了分类,包括网络架构、监督形式、学习范式等。这种分类法可以激励研究人员深入理解基于 CNN 方法的关键技术。

基于属性的性能分析。基于 SOTA 方法的性能,我们分析了它们表现良好的原因、它们所采用的技术。此外,我们还讨论了各种挑战因素,这些因素促使研究人员设计更有效的算法。

开放性问题和未来方向。我们审视了模型设计、数据集收集以及通过领域自适应或迁移学习推广到其他领域的一些重要问题,并探索了未来一些有前途的研究方向。

这些贡献提供了详细而深入的回顾,在很大程度上区别于先前的综述或调研工作。

本文的其余部分组织如下。第 3 节根据提出的分类法,对主流的基于 CNN 的密度估计和人群计数模型进行了全面的文献回顾。第 4 节考察了用于人群计数最著名的数据集以及一些用于其他物体计数任务的数据集,而第 5 节描述了几种广泛使用的评估指标。第 6 节对一些代表性模型进行了基准测试并进行了深入分析。第 7 节进行了讨论,并提出了一些开放性问题和可能的未来方向。最后,结论在第 8 节给出。

3 人群计数的分类法

在本节中,我们按以下分类法回顾基于 CNN 的人群计数算法。主要讨论了人群计数的代表性网络架构(第 3.1 节)。接下来是学习范式(第 3.2 节)和网络的推理方式(第 3.3 节)。此外,还介绍了网络的监督形式(第 3.4 节)。同时,为了评估算法的泛化能力,我们将现有工作分为特定领域和多领域的工作(第 3.5 节)。最后,基于监督级别,我们将基于 CNN 的模型分为实例级和图像级(第 3.6 节)。我们按大致的时间顺序对重要模型进行了分组和描述。表 2 总结了最先进的方法。

3.1 代表性网络架构

鉴于不同类型的网络架构,我们将人群计数模型分为三类:基于基础 CNN 的方法、基于多列的方法和基于单列的方法。网络架构的类别如图 3 所示。

3.1.1 基础 CNN

这种网络架构采用基本的 CNN 层,即卷积层、池化层,通常是全连接层,不需要额外的特征信息。它们通常出现在使用 CNN 进行密度估计和人群计数的初始工作中。

Fu 等人 [54] 提出了第一个基于 CNN 的人群计数模型,通过移除特征图中存在的一些相似网络连接并级联两个 ConvNet 分类器,加速了模型的速度和准确性。

Wang 等人 [53] 提出了一种基于 Alexnet 架构 [118] 的深度网络,用于极端密集人群计数,采用扩展的负样本(其真实计数为零)来减少干扰。

CNN-boosting [15] 以分层方式采用基础 CNN,并利用分层提升和选择性采样来提高计数精度并减少训练时间。

由于没有提供额外的特征信息,基础 CNN 简单且易于实现,但通常精度较低。

3.1.2 多列

这些网络架构采用具有不同感受野的并行子网络来捕获多尺度信息。这种多列设计理念为人群计数带来了卓越的性能。

MCNN [1] 是这一类别中明确关注多尺度问题的开创性工作。MCNN 具有三个具有不同核大小(大、中、小)的分支。这三个分支共享相似的结构且深度相同。每个分支作为一个回归器负责一个尺度,该模型是多个简单回归器的组合。

Hydra-CNN [2] 使用对应于不同尺度的图像块金字塔来学习最终密度图的多尺度非线性回归模型。

CrowdNet [3] 在不同列中结合了浅层和深层网络,其中浅层网络捕获对应于大尺度变化的低层特征,深层网络捕获高层语义信息。

Switching CNN [5] 在图像块上训练几个独立的 CNN 模型,每个模型的结构与 MCNN [1] 相同。此外,还交替地在回归器上训练一个切换分类器,以选择最适合密度估计的回归器。

CP-CNN [6] 是一个上下文金字塔 CNN,它结合了全局和局部上下文信息来生成高质量的密度图。此外,利用对抗学习 [119] 来融合来自不同层次的特征。

TDF-CNN [120] 将自上而下的信息传递给自下而上的网络,以修正密度估计。

DRSAN [84] 引入了空间变换网络 (STN) [121] 来处理尺度变化和旋转变化问题。

SAAN [8] 类似于 MoC-CNN [122] 和 CP-CNN [6] 的思想,但利用视觉注意力机制自动为全局图像和局部图像块选择特定尺度。

RANet [112] 利用局部自注意力 (LSA) 和全局自注意力 (GSA) 分别捕获短程和长程相互依赖信息。此外,引入了一个关系模块来合并 LSA 和 GSA,以获得更具信息量的聚合特征表示。

McML [113] 将一个统计网络整合到多列网络中,以估计不同列之间的互信息,所提出的相互学习方案可以交替优化每一列,同时在每个小批量训练数据上保持其他列固定。

DADNet [123] 采用具有不同膨胀率的膨胀 CNN 作为前端来捕获更多上下文信息,并采用自适应可变形卷积作为后端来准确定位物体的位置。

尽管这些多列网络取得了巨大进展,但它们仍然存在几个显著的缺点,Li 等人 [12] 通过实验证明了这一点。首先,由于多列网络具有更臃肿和复杂的结构,因此难以训练,从而需要更多时间。其次,模型中的分支具有相似甚至相同的结构,这不可避免地导致冗余。此外,诸如 [5, 6] 之类的多列网络在将图像送入网络之前总是需要密度级别分类器。然而,由于现实世界拥挤场景中人群数量变化很大,很难定义密度级别的粒度。同时,更细粒度的分类器也意味着需要设计更多的列和更复杂的结构,从而导致更多的冗余。最后,这些网络为密度级别分类器消耗了大量参数,而不是为最终密度图的生成做准备。因此,用于密度图生成的参数缺乏将降低质量。

鉴于上述所有缺点,多列网络架构在某种意义上可能是低效的。因此,它激励了许多研究人员开发更简单但有效和高效的网络。因此,单列网络架构应运而生,以满足人群计数中更具挑战性情况的需求。

3.1.3 单列

单列网络架构通常部署单一且更深的 CNN,而不是多列网络架构的臃肿结构,前提是不增加网络的复杂性。

W-VLAD [124] 考虑了语义特征和空间线索。此外,引入了一种新颖的局部感知特征 (LAF) 来表示空间信息。

SaCNN [9] 是一个尺度自适应的 CNN,它以一个具有固定小感受野的 FCN 作为主干,并将从多个层提取的特征图调整到相同大小,然后将它们组合以生成最终的密度图。

D-ConvNet [83] 是去相关卷积网络的缩写。它利用负相关学习 (NCL) 来提高集成模型的泛化能力,并使用卷积特征图学习一组弱回归器。

CSRNet [12] 采用膨胀卷积层作为后端网络,以扩大感受野同时保持分辨率。

SANet [11] 由一个编码器和一个解码器组成。编码器用于提取多尺度特征,并建立在 Inception 架构 [125] 的基础上。解码器使用转置卷积层对提取的特征图进行上采样。

SPN [94] 利用共享的深度单列结构,并通过尺度金字塔模块 (SPM) 在高层提取多尺度特征,该模块部署了四个具有不同膨胀率的并行膨胀卷积。

ADCrowdNet [96] 将视觉注意力机制和多尺度可变形卷积方案结合到一个级联框架中。

SAA-Net [13] 通过在中间特征图中学习一组软门注意力掩码来模拟多分支,该网络利用了 CNN 的层次结构。其背后的思想类似于 SaCNN [9],但在相应的特征上添加了注意力掩码。

W-Net [103] 受 U-Net [126] 启发。它添加了一个辅助强化分支以加速收敛并保持局部模式一致性,并使用结构相似性指数 (SSIM) 来估计最终的密度图。

TEDnet [105] 具有一个网格编码器-解码器网络架构,它集成了多个解码路径以捕获多尺度特征,并利用密集跳跃连接来获取监督信息。此外,为了缓解梯度消失问题并提高反向传播能力,还提出了一个包含局部一致性和空间相关性损失的组合损失。

由于其架构简单性和训练效率,单列网络架构近年来受到越来越多的关注。

3.2 学习范式

从学习范式的角度来看,人群计数网络可以分为基于单任务和基于多任务的方法。

3.2.1 单任务学习

经典的方法是一次学习一个任务,即单任务学习 [127]。大多数基于 CNN 的人群计数方法属于此范式,它们生成密度图,然后对所有像素求和以获得总计数。

3.2.2 多任务学习

最近,受多任务学习在各种计算机视觉任务中成功的启发,多任务范式已被引入计数社区,并通过将密度估计任务与分类、检测、分割等其他任务相结合,从而提高了性能。基于多任务的方法通常设计有多个子网;此外,与纯粹的单列架构相比,可能还有其他对应于不同任务的分支。总之,多任务架构可以被视为多列和单列的交叉融合,但又不同于其中任何一种。

CMTL [56] 将人群计数分类和密度图估计结合到一个端到端的级联框架中。它将人群分组,并将其作为高级先验整合到密度图估计网络中。

Decidenet [7] 通过分别生成基于检测和基于回归的密度图来预测人群计数。为了自适应地决定哪种估计适合当前计数,采用了一个注意力模块来指导网络分配相对权重并进一步选择合适的模式。它可以自动在检测和回归模式之间切换。然而,由于使用多列结构,它可能面临大量参数的问题。

IG-CNN [85] 是一个分层聚类模型,它可以在数据集中生成图像组,并生成一组专门针对各自组的特定网络。它可以适应数据集的复杂性并随之增长。

ic-CNN [86] 提出了一个双分支网络,其中一个分支生成低分辨率密度图,另一个分支细化低分辨率图以及从前几层提取的特征图,以产生更高分辨率的密度图。

ACSCP [87] 引入了一个对抗损失以使模糊的密度图变得清晰。此外,设计了一个尺度一致性正则化器,以保证跨尺度模型的校准以及不同尺度路径之间的协作。

CL [89] 同时解决了三个任务,包括人群计数、密度图估计和密集人群中的定位,根据它们彼此相关的事实,使得深度 CNN 优化中的损失函数可分解。

CFF [100] 假设点注释不仅用于构建密度图,还可以通过两种方式免费重新利用点注释。一种是来自分割的监督焦点,另一种是来自全局密度。免费的焦点可以被视为其他优秀方法的补充,如果忽略基础网络,则有益于计数。

PCC Net [101] 考虑了视角变化,它由三个组件组成:用于学习局部特征的密度图估计,用于预测图像块密度标签的随机高级密度分类,以及用于分割前景和背景的前/背景分割 (FBS)。

RAZ-Net [107] 观察到密度图与正确的人员密度不一致,这意味着人群定位不能依赖于密度图。提出了一个循环注意力缩放网络来提高定位的分辨率,以及一种自适应融合策略来增强计数和定位之间的相互能力。

ATCNN [108] 融合了三个异构属性,即几何、语义和数值属性,将它们作为辅助任务来辅助人群计数任务。

CDT [128] 不仅对密度图在计数方面进行了全面比较,还扩展到检测和跟踪。

NetVLAD [88, 129] 是一个多尺度和多任务框架,它通过“局部聚合描述符向量”(VLAD) 的方式将输入图像捕获的多尺度特征组装成一个紧凑的特征向量。此外,在底层利用“深度监督”操作,以提供额外信息来提升性能。

3.3 推理方式

基于不同的训练方式,基于 CNN 的人群计数方法可以分为基于块的推理和基于整图的推理。

3.3.1 基于块的方法

这种推理方式需要使用从图像中随机裁剪的块进行训练。在测试阶段,使用滑动窗口遍历整个测试图像,获取每个窗口的估计值,然后将它们组装起来以获得图像的最终总计数。

Cross-scene [55] 从训练图像中随机选择重叠的块作为训练样本,并将相应图像块的密度图视为真实值。所选训练块的总计数通过对密度图积分计算。计数值是小数,而不是整数。

Hydra-CNN [2] 主要学习一个回归函数,将图像块的外观映射到它们对应的物体密度图。该模型对所有块采用相同的大小,并在真实密度图生成过程中使用高斯函数的相同协方差值,这在遇到大尺度变化场景时限制了准确性。

DML [130] 将度量学习集成到深度回归网络中,可以同时提取密度级别特征并学习更好的距离度量。

PaDNet [92] 提出了一种新颖的密度感知网络 (DAN) 模块来区分人群的可变密度,以及特征增强层 (FEL) 模块来提升全局和局部识别性能。

L2SM [60, 111] 试图解决密度模式偏移问题,该问题是由稀疏和密集区域之间的不均匀密度引起的,通过提供两个模块来实现,即尺度保持网络 (SPN) 以获取块级密度图,以及一个学习缩放模块 (L2SM) 来计算密集区域的缩放比例。

GSP [131] 设计了一个全局求和池化操作来替代全局平均池化 (GAP) 或全连接层 (FC),将计数任务视为一个简单的线性映射问题,并避免在小数据集大图像的训练阶段出现逐块抵消和过拟合。

LibraNet [117] 将计数公式化为尺度加权,并首次尝试利用强化学习 (RL) 进行人群计数任务。

3.3.2 基于整图的方法

基于块的方法总是忽略全局信息,并且由于滑动窗口操作而带来大量计算成本。因此,基于整图的方法通常将整个图像作为输入,并输出相应的密度图或人群的总数,这样更收敛,但有时可能会丢失局部信息。

JLLG [82] 将整个图像输入预训练的 CNN 以获取高层特征,然后将这些特征映射到局部计数数字。它利用了全局和局部计数中的上下文信息。

Weighted VLAD [124] 将语义信息整合到学习局部感知特征 (LAF) 集中以进行人群计数。首先,将原始像素空间映射到密集属性特征图,然后利用 LAF 捕获更多空间上下文和局部信息。

3.4 监督形式

根据训练是否使用人工标注的注释,人群计数方法可以分为两类:全监督方法和无/自/半监督方法。

3.4.1 全监督方法

绝大多数基于 CNN 的人群计数方法依赖于大规模、准确手工标注且多样化的数据。然而,获取这些数据是耗时的,并且比通常的标注负担更重。除此之外,由于标注数据很少,这些方法可能会面临过拟合问题,当将它们迁移到野外或其他领域时,会导致性能显著下降。因此,使用较少甚至没有标注注释的训练数据是未来一个有前途的研究课题。

3.4.2 无/半/弱/自监督方法

无/半监督学习表示在没有或只有少量真实标签的情况下进行学习,而自监督学习表示添加一个与监督任务不同但相关的辅助任务。一些利用未标注数据进行训练的方法已经取得了与监督方法相媲美的性能。

GWTA-CCNN [109] 提出了一种基于 Grid Winner-Take-All [132] 范式的堆叠卷积自编码器用于无监督特征学习,其中 99% 的参数可以在没有任何标注数据的情况下进行训练。

SR-GAN [95] 通过引入特征对比损失函数,将半监督 GAN 从分类问题推广到回归问题。

GAN-MTR [91] 将半监督学习 GAN 目标应用于多物体回归问题,该问题训练一个与 [55] 相同的基础网络,并使用未标注数据。

DG-GAN [133] 提出了一种半监督双目标 GAN 框架,旨在同时寻求人群场景中的个体数量并区分真实或伪造的图像。

CCLL [134] 提出了一种半监督方法,利用子模函数从序列中选择最具代表性的帧以避免冗余并保留密度,图中拉普拉斯正则化和时空约束也被整合到模型中。

L2R [90, 104] 利用未标注的人群数据在多任务框架中预训练 CNN,这受到自监督学习的启发,并基于这样的观察:块的 crowd count 数量必须少于或等于包含它们的较大块。该方法本质上是全监督的,但有一个额外的自监督计数排序任务。

HA-CNN [110] 首次尝试以弱监督方式将网络微调到新场景,通过将人群图像的图像级标签转化为密度级别。

CCWld [97] 提供了一个用于人群计数的数据收集器和标注器,其中数据来自电子游戏。通过收集器和标注器,可以自动收集和标注数据,并构建了第一个大规模合成人群计数数据集。

T CODA [135] 提出了一种新颖的尺度感知对抗密度自适应方法用于物体计数,该方法可用于以无监督方式将训练好的模型泛化到未见过的场景。

OSSS [136] 通过利用微调设计了一种一次性场景特定人群计数模型。

FSSA [137] 通过应用元学习 [138] 技术,使用少样本学习学习场景自适应人群计数。

GPIL [115] 提供了一种半监督方案,具有基于高斯过程的迭代学习机制,为未标注数据生成伪真实值。

IRAST [116] 通过一组代理任务学习特征提取器,并通过一种新颖的自训练策略利用这些任务之间的相互关系。

UAC [139] 提出了一种空间不确定性感知的半监督方法,通过正则化代理任务(二值分割)进行人群计数。与现有的基于半监督学习的方法不同,该方法利用空间不确定性感知的教师-学生框架来关注高置信度区域的信息,同时以端到端的方式处理来自未标注数据的噪声监督。

URC [140] 提供了一种新颖的部分标注学习范式,该范式仅标注每个图像的一个块,在半监督或主动学习设置下以较少的标注成本获得有竞争力的计数性能。

CSS-CCNN [63] 提出了一个完全自监督的人群计数框架,该框架基于自然人群遵循幂律分布的观点,从而可以为反向传播产生误差信号。

CrowdCLIP [141] 是第一个研究利用视觉-语言知识解决计数问题的工作,通过多模态排序损失微调图像编码器,并使用渐进式过滤策略。

AdaSEEM [142] 引入了一种无监督方法,该方法利用分割任何模型 (SAM) 生成伪标签,并利用自适应分辨率分割任何地方模型 (AdaSEEM) 来预测人物掩码。

3.5 领域自适应

几乎所有现有的计数方法都是针对特定领域设计的;因此,设计一个能够计数任何物体领域的计数模型是一项具有挑战性但有意义的任务。领域自适应技术可能是解决这个问题的有力工具。

CAC [143] 将计数公式化为一个匹配问题,提出了一种类别无关的通用匹配网络 (GMN)。由于计数被视为匹配问题,GMN 可以通过大量为跟踪标注的视频数据进行训练。以少样本学习的方式,它可以使用一个适配器模块应用于不同的领域。

PPPD [144] 提供了一个基于块的、多领域物体计数网络,通过利用一组领域特定的缩放和归一化层,这些层仅使用少量参数。它还可以扩展到执行视觉领域分类,即使在未见过的观察领域也是如此。

SE CycleGAN [97] 利用领域自适应技术,将结构相似性指数 (SSIM) [145] 整合到传统的 CycleGAN 框架中,以弥补合成数据与真实世界数据之间的领域差距。

MFA+SDA [146] 借鉴了 SE Cycle GAN 的思想,也是一个基于 GAN 的自适应模型。作者提出了一种多级特征感知自适应来减少领域差距,并提出了一种结构化密度图对齐来处理未见过的 crowd scenes。

DACC [147] 由两个模块组成:领域间特征分离 (IFS) 和高斯先验重建 (GPR)。IFS 旨在将合成数据转换为真实感图像,GPR 用于生成具有伪标签的更高保真度的密度图。

FSC [148] 通过预训练的人群分割模型生成的人群掩码提取语义领域不变特征。背景区域的错误估计显著减少。

DCANet [149] 采用通道注意力来指导领域特定特征表示的提取,因此它可以自适应地处理来自多个领域的图像。

DKPNet [150] 无偏地学习来自多个不同数据领域的知识,这主要通过提出变分注意力 (VA) 技术来显式建模不同领域的注意力分布来实现。并且作为 VA 的扩展,提出了内在变分注意力 (InVA) 来处理重叠领域和子领域的问题。

BLA [151] 设计了一个双层对齐框架,包括任务驱动的数据对齐和细粒度特征对齐,以减少合成数据和真实数据之间的领域差距。

CDCC [152] 考虑了合成图像和真实图像之间的领域偏移,它利用合成图像(及其相关标签)和未标注的真实图像进行训练。该模型强制网络在真实图像上学习视角感知特征,并将其构建为使用这些特征来预测自身不确定性的能力,以有效地使用伪标签进行微调。

ABC123 [153] 提出了一种多类别、无需示例的类别无关计数器,在训练或推理期间无需人工标注。它引入了示例查找的思想到无需示例的计数中,并在帮助用户理解已计数内容方面具有普遍性。

3.6 基于实例/图像的监督

物体计数的目标是估计物体的数量。如果真实值用点或边界框标注,则该方法属于实例级监督。相反,图像级监督只需要计算不同物体实例的数量,而不需要位置信息。

3.6.1 实例级监督

大多数人群密度估计方法基于实例级(点级或边界框)监督,这需要为每个实例位置进行手工标注。

3.6.2 图像级监督

基于图像级监督的方法需要计算在或超出 subitizing 范围内的实例数量,这些方法不需要位置信息。它可以被视为一次或一瞥估计计数 [154]。

ILC [114] 生成物体类别的密度图,同时获得物体总计数估计和物体实例的空间分布。

4 数据集

随着人群计数的蓬勃发展,已经引入了许多数据集,这些数据集可以激励更多算法来应对各种挑战,例如监控视频中的尺度变化、背景杂乱以及多变环境、野外变化的光照条件。在本节中,我们回顾了从开始到现在几乎所有的人群计数数据集。表 3 总结了一些代表性数据集,包括具有真实世界数据的人群计数数据集和一个具有合成数据的数据集,为了完整性,我们还调研了应用于其他领域的几个数据集,以评估所设计算法的泛化能力。这些数据集按时间顺序排序,其具体统计数据列于表 3 中。图 4 描绘了来自代表性数据集的一些样本。

4.1 最常用的数据集

在本小节中,我们介绍一些最常用的人群计数数据集,即 UCSD [39]、Mall [41]、UCF_CC_50 [38]、WorldExpo’10 [55]、Shanghai Tech [1],按时间顺序列出。

UCSD [39]1 是第一个用于人群计数的数据集,从人行道上的摄像机收集。它由 2000 帧组成,大小为 238x158,每五帧标注每个行人的真实值。对于其余帧,使用线性插值创建标签。由于它从单一位置收集,因此不同帧的视角没有变化。

Mall [41]2 是从购物中心监控视频收集的数据集。数据集中的视频序列由 2000 帧组成,大小为 320x240,总共包含 62,325 个行人。与 UCSD [39] 相比,Mall 涵盖了更多样化的密度以及更显著光照条件下的不同活动模式(静态和移动的人)。此外,存在更严重的透视失真,导致物体尺寸变化更大和外观变化,并且由于场景物体而存在严重遮挡。

UCF_CC_50 [38]3 是第一个真正具有挑战性的数据集,从公开可用的网络图像创建。它包括各种密度和不同场景的透视失真,例如音乐会、抗议、体育场和马拉松。考虑到该数据集中只有 50 张图像,对其进行了 5 折交叉验证协议。由于数据量小,即使是最先进的基于 CNN 的方法,其结果也远未达到最优。

WorldExpo’10 [55]4 是一个大型数据驱动的跨场景人群计数数据集,从上海 2010 年世博会收集,包括 1132 个带注释的视频序列,由 108 个监控摄像机捕获。它包含总共 3920 帧,大小为 576x720,其中标注了 199,923 个人。

Shanghai Tech [1]5 是前几年最大的大规模人群计数数据集之一,由 1198 张图像和 330,165 个标注组成。根据不同的密度分布,数据集分为两部分:Part_A (SHT_A) 和 Part_B (SHT_B)。SHT_A 包含从互联网随机选择的图像,而 Part_B 包括从上海大都市区繁忙街道拍摄的图像。Part_A 中的密度远大于 Part_B。该数据集成功地创建了一个跨不同场景类型和密度的具有挑战性的数据集。然而,不同密度集中的图像数量不均匀,这使得训练集和测试集倾向于低密度集。尽管如此,该数据集呈现的尺度变化和透视失真为许多基于 CNN 的网络设计提供了新的挑战和机遇。

4.2 更新的数据集

Smartcity [9] 由腾讯优图创建,包含 10 个场景的 50 张图像,例如人行道、办公室入口、购物中心。所有这些都是用于视频监控的高角度拍摄。该数据集包括室内和室外场景,主要用于验证模型在非常稀疏场景上的泛化能力。

UCF-QNRF [89]7 从 Flickr、网络搜索和 Hajj 镜头收集,包含 1,535 张具有挑战性的图像,约有 125 万个标注。该数据集中的图像具有更广泛的场景多样性,并包含最多样化的视点、密度和光照变化。然而,其中一些分辨率非常高,以至于在训练整个场景时可能导致 GPU 内存问题。

City Street [155] 是一个多视图视频数据集,其数据是通过使用五个同步摄像机从繁忙的城市街道收集的,总共由 500 张多视图图像组成,其中前 300 张用于训练,其余 200 张用于测试。

ShanghaiTechRGBD [156] 是一个大规模 RGB-D 数据集,由 2,193 张图像和 144,512 个标注的头部计数组成。具有人群场景和各种光照条件,使得该数据集在头部计数方面是最具挑战性的 RGB-D 人群计数数据集。

ShanghaiTechRGBD-Syn [157] 是一个使用 GTA-V 游戏合成的数据集,由 863 个场景和 16,911 张图像组成。该数据集按 6:1:3 的比例分为训练集、验证集和测试集,结果在测试集上报告。

FDST [158]8 是一个新的大规模视频人群计数数据集,由从 13 个不同场景(包括购物中心、广场、医院等)捕获的 100 个视频组成,包含 15,000 帧和 394,081 个标注的头部,全部带有逐帧标注。

Crowd Surveillance [159]9 包含 13,945 张高分辨率图像,总共 386,513 人,是迄今为止最大且平均分辨率最高的人群计数数据集。此外,还提供了感兴趣区域 (ROI) 标注,以过滤掉对于训练和测试过于模糊或模糊的区域。

JHU-CROWD [160] 是一个在图像数量和几个特定属性方面更大的数据集,例如不利条件(基于天气的退化)、缓解学习偏差(包括干扰图像)、更丰富的标注(除了点级标注外,还有图像级和头部级标注)。

DLR-ACD [161]10 包含 33 张大型航空图像,平均分辨率为 3619×5226,这些图像由安装在直升机机载平台上的标准 DSLR 摄像机捕获。图像来自 16 次飞行活动,数据集总共包含 226,291 个人物标注。

GCC [97]11 从电子游戏 Grand Theft Auto V (GTA5) 收集,命名为“GTA5 Crowd Counting”(简称 GCC),由 15,212 张图像组成,分辨率为 1080x1920,包含 7,625,843 人。与现有数据集相比,GCC 有四个优点:1) 免费收集和标注;2) 更大的数据量和更高的分辨率;3) 更多样化的场景;4) 更准确的标注。

JHU-CROWD++ [59] 是 JHU-CROWD [160] 数据集的扩展,在三个方面提供了改进:1) 更多的图像数量(从 4,250 增加到 4,372);2) 更多的标注数量(从 115 万增加到 151 万);3) 更好的尺度标注(包括每个头部的近似宽度和高度)。

NWPU-Crowd [28]12 包含 5,109 张图像,总共 2,133,238 个标注实例。与真实世界中的先前数据集相比,除了数据量之外,还有其他一些优势,包括负样本、公平评估、更高分辨率和大的外观变化。

DISCO [162]13 是为极端条件下的视听人群计数而构建的。在该数据集中,提供了音频和视觉信号,包括不同的光照和跨各种场景。

MSCC [163] 由 15 个不同类别组成,包括 Marble、Biscuit、两种类型的 Candies(即 Candy1 和 Candy2)、三种类型的 Capacitors(即 Cap1、Cap2 和 Cap3)、Capsule、M&M beans(即 MM)、Go、Cherry Tomato(即 Tomato)、Longan、Pin-Header 和两种类型的 Resistances(即 Res1 和 Res2)。构建该数据集是为了验证计数级别弱监督学习的好处。

RGBT-CC [164] 包括 2,030 对具有代表性的人工标注的 RGB-热图像。在这些样本中,1,013 对是在光线充足时捕获的,1,017 对是在黑暗环境中捕获的。总共标记了 138,389 个行人,带有点标注。与那些基于互联网的、存在严重偏差的数据集 [28, 59, 89] 相比,该数据集的 crowd density 分布更接近现实城市,因为图像是在具有不同密度的城市场景中捕获的。

DroneCrowd [165] 是一个基于无人机的同时用于密度图估计、人群定位和跟踪的数据集。该数据集由 112 个视频序列组成,总共 33,600 帧。帧的平均分辨率为 1920x1080,收集自中国的多个无人机设备、跨越四个不同城市的 70 个不同场景。在 20,800 个人物轨迹上有超过 480 万个头部标注。

Synthetic [166] 是一个多视图 (MV) 人群计数数据集,总共包含 31 个场景。对于每个场景,设置了大约 100 个摄像机视图用于多视图记录。多视图记录执行了 100 次,场景中具有不同的 crowd distributions,即每个场景包含 100 个多视图帧,每个帧包含 60 到 120 个摄像机视图。与其他 MV 计数数据集(如 PETS2009 [167]、DukeMTMC [168] 和 CityStreet [155, 169])相比,该数据集包含更多场景、更多摄像机视图变化和更多的总图像。

VSCrowd [166] 是一个大规模视频数据集,全面覆盖了各种人群场景,例如广场、购物中心、十字路口和校园。该数据集与 DroneCrowd [165] 的区别在于,DroneCrowd 中的视频是由无人机视角摄像机记录的,而 VSCrowd 侧重于监控视角。

4.3 一些特殊的人群计数数据集

在本小节中,我们简要介绍一些特殊的人群计数数据集,这些数据集仅用于某些特定场景。这些数据集包含线性人群计数 (LHI [170, 174])、人群序列 (PETS [167]、Venice [99])、多源 (AHU-Crowd [171, 175]、C1SR [182]、Venice [99])、室内 (MICC [172]、Indoor1 [173]、Indoor² [183])、火车站 (TS [176]、STF [176])、地铁站 (Shanghai Subway Station [177])、BRT (Beijing BRT [178])14、桥梁 (EBP [179])、机场 (ZhengzhouAirport [184])、分类 [185]。这些数据集的具体统计数据列于表 3 中。

为了完整性,我们介绍了其他领域中一些代表性的物体计数数据集,以进一步验证所设计模型的泛化能力。

Caltech [188]15 是一个用于行人检测的数据集,有 2000 张图像和总共 15043 个行人。该数据集可用于验证算法在稀疏场景中的性能。

TRANCOS [20]16 是一个用于交通拥堵图像中车辆计数的数据集。该数据集通常用于评估人群计数方法的泛化能力。

企鹅数据集 [17]17 是一个正在进行的监测南极企鹅种群项目的产物。该数据集可用于研究气候变化等。

WIDER FACE [189]18 是一个大规模人脸检测基准,总共由 32,203 张图像和 393,703 个带边界框标注的人脸组成。

DukeMTMC [168] 是一个用于多视图跟踪、人体检测和重识别 (ReID) 的多视图视频数据集,包含超过 200 万帧和 2700 多个身份。

WebCamT [190] 是迄今为止第一个最大的标注网络摄像头交通数据集,由来自 212 个不同位置、摄像机视角和交通状态的网络摄像头的 6000 万帧组成。

CARPK [191] 是一个从无人机视角从 4 个不同停车场收集的数据集,总共包含近 90,000 辆汽车,所有图像都带有边界框标注。

MTC [192] 包括 361 张野外玉米雄穗的高分辨率图像。与其他具有相似物理尺寸的物体相比,玉米雄穗具有异质的物理尺寸并随时间自我变化。因此,它更适合评估所设计模型对物体尺寸变化的鲁棒性。

DCC [144] 是一个细胞显微数据集,包含 177 张具有各种组织和物种的图像。在这些图像中,平均计数为 34.1,标准差为 21.8。

Wheat-Spike [193] 是一个具有挑战性的数据集,因为小麦穗的不规则放置或收集,总共包含 20 张图像,其中数据分为 8、2 和 10 分别用于训练、验证和测试。

VisDrone2019 [194] 源自一个带有边界框标注的物体检测数据集,Bai 等人 [202] 将边界框的中心作为物体的位置,选择行人和人员构成 VisDrone2019 People 数据集,并将汽车、货车、卡车和公共汽车组合构建 VisDrone2019 Vehicle 数据集。

Sonar Fish [195]19 从一些在线声纳鱼视频序列收集。根据帧间运动对鱼进行点状标注。该数据集具有高噪声水平、不稳定的视觉特征和不均匀分布的特点,因此具有挑战性。

UAVVC [196]20 是一个基于 UAV 的车辆计数数据集,用于处理不同视角和天气条件下的剧烈尺度变化,使其更接近真实的交通环境。

DVSet [197] 是一个从高速公路监控视频收集的密集车辆检测数据集,涵盖不同的交通场景,包括高速公路主干道、服务区、立交桥和收费广场。该数据集在多样的尺度、视点和方向方面具有挑战性。

FSC-147 [198] 和 FSCD-LVIS [199] 是为少样本物体计数构建的两个数据集。前者包含 6135 张图像,涵盖 147 个物体类别的多样化集合,带有点标注,尽管每张图像中的物体数量很大,但每张图像的场景相当简单。相比之下,后者更复杂,具有多个物体类别和多个物体实例,适用于现实世界部署。

DroneVehile [200] 是一个大规模 RGB-红外跨模态车辆检测数据集,包含 28,439 对 RGB-红外图像对,涵盖从白天到夜晚的城市道路、住宅区、停车场和其他场景。

IOCfish5K [201] 包含水下场景中大量难以辨别的物体(主要是鱼),包含 5,637 张图像和 659,024 个精确的点标签。

MCAC [153] 是第一个多类别类别无关计数数据集,包含具有 1 和 4 类物体的图像,每个类别有 1 到 300 个实例。图像中的所有实例都有相关的类别标签、模型标签、中心坐标、边界框坐标、分割图、未遮挡分割图和遮挡百分比。

5 评估指标

有几种方法可以评估预测估计值与真实值之间的性能。在本节中,我们回顾了一些普遍认同和广泛采用的人群计数模型评估指标。

根据不同的评估标准,我们将评估指标分为三类:用于评估计数性能的图像级指标、用于衡量密度图质量的像素级指标和用于评估定位精度的点级指标。

5.1 图像级指标

两个最常用的指标是平均绝对误差 (MAE) 和均方根误差 (RMSE),定义如下:

MAE=1N∑i=1N∣CIipred−CIigt∣,MAE=\frac{1}{N}\sum_{i=1}^{N}{\left|C_{I_{i}}^{pred}-C_{I_{i}}^{gt}\right|},MAE=N1i=1NCIipredCIigt,

RMSE=1N∑i=1N∣CIipred−CIigt∣2,RMSE=\sqrt{\frac{1}{N}\sum_{i=1}^{N}\left|C_{I_{i}}^{pred}-C_{I_{i}}^{gt}\right|^{2}},RMSE=N1i=1NCIipredCIigt2,

其中 NNN 是测试图像的数量,CIipredC_{I_{i}}^{pred}CIipredCIigtC_{I_{i}}^{gt}CIigt 分别表示预测结果和真实值。粗略地说,MAE 决定了估计的准确性,而 RMSE 表示估计的鲁棒性。

与 MAE 和 RMSE 不同,[199] 中采用了归一化相对误差 (NAE) 和平方相对误差 (SRE) 来反映视觉计数的实际用途,即,在错误计数的物体数量相同的情况下,对于物体数量较少的图像比物体数量较多的图像更严重。NAE 和 SRE 定义如下。

NAE=1N∑i=1N∣CIipred−CIigt∣CIigt,NAE=\frac{1}{N}\sum_{i=1}^{N}\frac{\left|C_{I_{i}}^{pred}-C_{I_{i}}^{gt}\right|}{C_{I_{i}}^{gt}},NAE=N1i=1NCIigtCIipredCIigt,

SRE=1N∑i=1N(CIipred−CIigt)2CIigtSRE=\sqrt{\frac{1}{N}\sum_{i=1}^{N}\frac{\left(C_{I_{i}}^{pred}-C_{I_{i}}^{gt}\right)^{2}}{C_{I_{i}}^{gt}}}SRE=N1i=1NCIigt(CIipredCIigt)2

考虑到上述 MAE 可能会丢失位置信息,为了提供更准确的评估,Guerrero 等人 [20] 提出了一种新的指标,即网格平均平均绝对误差 (GAME),定义如下:

GAME(L)=1N∑n=1N(∑l=14L∣CIipred−CIigt∣),GAME(L)=\frac{1}{N}\sum_{n=1}^{N}\left(\sum_{l=1}^{4^{L}}\left|C_{I_{i}}^{pred}-C_{I_{i}}^{gt}\right|\right),GAME(L)=N1n=1Nl=14LCIipredCIigt,

其中 4L4^L4L 表示将图像划分为一些不重叠的区域。LLL 越高,GAME 指标的约束性就越强。注意,当 L=0L=0L=0 时,GAME 将退化为 MAE。

类似地,考虑到定位误差,[203] 提出了平均像素级绝对误差 (MPAE),如下所示:

MPAE=∑i=1N∑j=1H∑k=1W∣Di,j,k−D^i,j,k∣×1{Di,j,k∈Ri}N,MPAE=\frac{\sum_{i=1}^{N}\sum_{j=1}^{H}\sum_{k=1}^{W}\left|D_{i,j,k}-\hat{D}_{i,j,k}\right|\times1_{\left\{D_{i,j,k}\in R_{i}\right\}}}{N},MPAE=Ni=1Nj=1Hk=1WDi,j,kD^i,j,k×1{Di,j,kRi},

其中 Di,j,kD_{i,j,k}Di,j,k 表示第 i 张图像在像素 (j,k)(j,k)(j,k) 处的真实密度图,D^i,j,k\hat{D}_{i,j,k}D^i,j,k 表示相应的估计密度图,RiR_{i}Ri 表示第 i 张图像的 ROI,1{⋅}1_{\{\cdot\}}1{} 表示指示函数,W、H 和 N 分别是测试样本的宽度、高度和数量。MPAE 衡量错误定位密度的程度。

鉴于 MAE 和 RMSE 都是全局准确性和鲁棒性的度量指标,无法评估局部区域,因此 Tian 等人 [92] 将 MAE 和 RMSE 扩展为块平均绝对误差 (PMAE) 和块均方误差 (PMSE),定义如下:

PMAE=1m×N∑i=1m×N∣CIipred−CIigt∣,PMAE=\frac{1}{m\times N}\sum_{i=1}^{m\times N}{\left|C_{I_{i}}^{pred}-C_{I_{i}}^{gt}\right|},PMAE=m×N1i=1m×NCIipredCIigt,

PMSE=1m×N∑i=1m×N(CIipred−CIigt)2,PMSE=\sqrt{\frac{1}{m\times N}\sum_{i=1}^{m\times N}\left(C_{I_{i}}^{pred}-C_{I_{i}}^{gt}\right)^{2}},PMSE=m×N1i=1m×N(CIipredCIigt)2,

其中 mmm 是分割的非重叠块的数量。注意,当 mmm 等于 1 时,PMAE 和 PMSE 分别退化为 MAE 和 RMSE。

5.2 像素级指标

两个名为峰值信噪比 (PSNR) 和结构相似性指数 (SSIM) [145] 的指标通常用于衡量生成密度图的质量。具体来说,PSNR 是图像最常用和最广泛使用的评估指标,它本质上是基于对应像素之间的误差,换句话说,是误差敏感性。一般来说,高值代表较小的误差。然而,它没有考虑人类视觉特征,例如,人类对较低空间频率的对比度差异更敏感,对亮度比对色调更敏感,一个区域的感知结果受周围相邻区域的影响等。因此,评估结果往往与人的主观感受不一致。

此外,SSIM [145] 从亮度、对比度和结构三个方面衡量图像相似性,可以看作是这三个部分的乘积。SSIM 的值在 [0,1] 范围内,值越大,图像失真越小。

5.3 点级指标

为了评估模型的定位性能,平均精度 (AP) 和平均召回率 (AR) 是两个最常用的指标。一般来说,当 AP 的值增加时,AR 会减少。因此,如何在它们之间进行权衡是一个值得考虑的问题。此外,Song 等人 [204] 提出了一种新的度量标准,称为密度归一化平均精度 (nAP),作为定位误差和错误检测的综合评估指标。

6 基准测试与分析

6.1 整体基准测试结果评估

表 4 展示了 53 种最先进的基于 CNN 的方法和 7 种代表性传统方法在人群计数任务中六个主流基准数据集上的结果。两个广泛使用的评估指标,即 MAE 和 RMSE,用于衡量模型的准确性和鲁棒性。所有模型都是代表性的,表 4 中列出的结果是其论文中发表的。

  • 基于 CNN 的方法 vs. 传统模型。如表 4 所示,将传统模型与基于 CNN 的模型进行比较,正如预期的那样,我们观察到基于 CNN 的方法在性能上取得了巨大进步。这也证明了基于大规模标注数据的深度卷积神经网络强大的特征学习能力。

基于 CNN 模型的性能比较。自 2015 年第一个基于 CNN 的密度图估计模型被提出用于人群计数以来,性能随着时间的推移逐渐提高,这见证了人群计数模型的显著进步。在深度模型中,Cross scene [55] 表现最差,作为将 CNN 应用于人群计数的首批模型之一,它采用了基本的网络结构并处理了将预训练的 CNN 迁移到未见过的场景的跨场景问题。因此,与单场景和特定领域的模型相比,该模型性能较低。然而,这项工作为将训练好的模型泛化到未见过的场景提供了一个很好的解决方案。

6.2 基于属性的评估

我们根据 MAE 和 RMSE 在六个常用数据集上选择了三个表现最佳的模型,最终收集了 19 个模型,包括两个启发式模型,即 MCNN [1] 和 CSRNet [12],这些最先进方法的主要属性列于表 5。这些属性涵盖了可以用来解释它们表现良好的原因的主要技术。

从表 5 中我们可以发现,在这些最先进的方法中,有三分之二采用单列网络架构。对于这种现象,我们或许可以得出以下结论:与其使网络更宽,更深的网络可能更好。此外,超过三分之一的方法将视觉注意力机制 [7, 8, 13, 84, 96, 100, 102, 110] 和膨胀卷积层 [12, 93, 94, 96, 97, 99, 205] 整合到它们的框架中。与许多基于 CNN 的方法使用输入图像的所有可用信息不同,视觉注意力机制是利用相关信息来计算神经响应,它可以学习对特征图的每个像素的重要性进行加权。由于突出的能力,视觉注意力机制已被应用于许多计算机视觉任务,例如图像分类 [206]、语义分割 [207]、图像去模糊 [208] 和视觉姿态估计 [209],它也适用于人群计数问题,突出显示包含人群的感兴趣区域并过滤掉背景杂乱情况下的噪声。膨胀卷积层是池化层的一个很好的替代品,已被证明在分割任务中显著提高了准确性 [210-212]。膨胀卷积层的优点是在不增加参数数量和计算量(例如 FCN [213] 中反卷积层的上采样操作)的情况下扩大感受野,而不会导致池化操作(最大和平均池化等)造成的信息丢失。因此,膨胀卷积层可以集成到人群计数框架中,以捕获更多多尺度特征并保留更详细的信息。

空间变换网络 (STN) [121] 和可变形卷积 [214] 在解决标准 CNN 特征不变性能力受限的旋转、缩放或扭曲问题方面具有类似的效果。具体来说,STN 是一个次微分采样模块,不需要额外的标注,并且具有自适应学习不同数据之间空间变换的能力。它不仅可以对输入图像进行空间变换,还可以对卷积层的任何层进行空间变换,以实现不同特征图的空间变换。由于卓越的性能,STN 已被应用于许多社区,例如多标签图像识别 [215] 和显著性检测 [216]。因此,Liu 等人 [84] 也采用它来解决人群计数中的尺度和旋转变化。

条件随机场 (CRFs) [217] 或马尔可夫随机场 (MRFs) [218] 通常被用作后处理操作,通过消息传递机制 [219] 来细化 CNN 的特征和输出。在 [220] 的工作中,首次利用 CRFs 来细化不同尺度的特征用于人群计数任务,并在基准数据集上证明了其有效性。Zhang 等人 [221] 提出了一种注意力神经场 (ANF) 框架,该框架将 CRFs 和非局部操作 [222](类似于自注意力)集成用于人群计数。

透视失真是人群计数中的一个主要挑战,而透视信息可以通过两种方式提供:一种与摄像机的 6 自由度 (DOF) [223] 相关,另一种是在计数任务中识别与摄像机距离的尺度变化。它可以提供关于尺度变化和透视几何的额外信息,许多传统的人群计数方法 [39, 224] 利用它来归一化可变尺度的回归特征或检测特征。一些现代基于 CNN 的方法也使用透视信息来推断真实密度 [1, 55] 或身体部位图 [225]。这些方法使用透视信息但没有使用透视地图。相反,一些工作 [98, 99, 226] 利用它在网络中编码全局或局部尺度。考虑到透视地图可能噪声很大,因此提出了一种反向透视网络 [196],以无监督的方式减少输入图像的尺度变化。

空间金字塔池化 (SPP) [227] 最初是为视觉识别提出的,与传统网络相比有几个优点,首先它适应任意大小的输入图像;此外,由于从特征图中提取不同大小的池化层,然后将它们聚合成长度固定的向量,因此提高了鲁棒性和准确性。此外,它可以加速收敛速度。因此,它被用于在 SCNet [228]、PaDNet [92] 和 CAN [99] 中捕获和融合多尺度特征以进行人群计数。

全密度人群计数旨在处理人群场景中的两种现象:不同场景中不同的密度和分布,以及同一场景中局部区域不一致的密度。大多数当前方法都是为特定密度或场景设计的,因此难以充分利用全密度信息。尽管设计了许多多列架构来处理这个问题,例如 MCNN [1]、Switch-CNN [5] 和 CP-CNN [6],但它们总是面临效率低、计算复杂度高和局部估计有偏差的问题。然而,PaDNet [92] 被提出,通过密度感知网络 (DAN) 中的子网络有效识别特定人群,并通过特征增强层 (FEL) 为每个特征图学习一个增强率,从而为有效识别特定人群提供了合理的解决方案。最后,融合这些特征图以获得更好的计数。

综合考虑表 5 的统计结果和各种方法的分析,我们得出以下观察结果:

  1. 在 CNN 方法中,大多数网络基于单列网络架构,这比高复杂度和结构臃肿的多列架构更简单且有效,如 [12] 所证明。
  2. 视觉注意力机制、膨胀卷积和空间金字塔池化 (SPP) 技术可以显著提高最终估计的性能和密度图的质量。
  3. 将透视信息 [1, 55, 98, 99] 整合到网络中可以为多尺度特征的提取提供额外的支持和指导。
  4. 空间变换网络 [84, 121] 和可变形卷积 [96, 214] 可以帮助解决人群的旋转和均匀分布问题,这更适合拥挤嘈杂场景中的人群理解问题。
  5. 全密度学习 [92] 不仅可以充分利用全局特征,还可以弥补有偏差的局部估计。
  6. 多路径或多任务框架 [7, 93, 102] 以及联合损失函数可以提高估计性能并加速训练。

6.3 基于属性的分析

尽管通过将 CNN 应用于密度图估计人群计数模型,性能在很大程度上取得了显著提高,但仍然存在一些需要克服的挑战。一个鲁棒的网络应该具有处理各种复杂场景的能力。挑战的存在总是给模型带来许多困难,例如遮挡、尺度变化、透视失真、旋转、光照变化和天气变化。一些样本如图 5 所示。此外,图像的场景来自室内、室外和野外。值得注意的是,这些属性并不是互斥的。换句话说,一张图像中可能存在多个属性。我们还以表 5 中前述方法为例,详细分析这些属性。

遮挡 随着人群密度的增加,人群会部分相互遮挡,这限制了传统检测算法的能力,并促进了密度估计模型的出现。

复杂背景。背景区域(没有人实例)包括混淆的物体或与前景具有相似外观或颜色,这可以通过语义分割或视觉注意力操作来抑制,例如 [7, 8, 13, 84, 96, 102, 240]。

尺度变化。密度估计模型中应该解决的最主要问题,因为物体(例如人的头部)的尺度随着与摄像机的距离而变化。因此,几乎所有的密度估计模型都是首先为解决尺度变化问题而设计的。

非均匀分布。为了直观理解图 5 中的示例,我们可以观察到不同场景中不同的密度和分布,甚至在同一场景中局部区域的不一致分布。这个问题在 [241] 的工作中得到了有效解决,该工作提出了第一个使用不同回归器估计不同密度的模型。Jiang 等人 [184] 通过提出一个多级卷积神经网络 (MLCNN) 来解决这个问题,该网络融合了由多级特征生成的多个密度图。Jiang 等人 [242] 提出了一个注意力缩放网络 (ASNet),它首先生成缩放因子来调整相应的中间密度图。然后,对于某个密度级别的区域,输出几个基于注意力的密度图。最后,通过求和这些基于注意力的密度图来生成最终的密度图。这个问题也可以被视为全密度计数,相关的解决方案可以参考 PaDNet [92]。

透视失真。透视失真会 drastically 导致拥挤计数场景中的人物尺度变化,这与估计摄像机 6 自由度 (DOF) 的摄像机标定有关。

旋转。由于摄像机视点(例如不同姿势和拍摄角度)导致旋转变化问题 drastically,[84] 的工作通过将空间变换网络 (STN) 整合到 LSTM 框架中来解决这个问题。

光照变化。一天中不同时间的光照会变化,通常从暗到亮再到暗,从黎明到黄昏。

天气变化。野外的场景通常处于各种类型的天气条件下,例如晴朗、多云、下雨、有雾、雷雨、阴天等。

上述挑战促使我们设计更有效和鲁棒的框架来解决这些问题,这也表明在人群计数方向上仍然有很大的研究空间。

7 讨论

在本节中,我们讨论一些将直接影响人群计数模型设计性能的重要因素以及一些有前途的研究方向。

7.1 模型设计

真实密度图生成。作为基于 CNN 的密度估计和人群计数模型的基石,生成高保真度的真实密度图对于训练数据准备至关重要。为了将具有原始标签(通常指头部位置)的图像转换为密度图,Lempitsky 等人 [16] 首先提出并将其定义为以物体位置为中心的高斯核之和。这种策略对于像细胞和细菌这样的物体效果很好。为了解决尺度变化问题,Zhang 等人 [55] 提出了一种利用透视信息的解决方案:密度图头部部分和双变量正态分布。然而,这种策略引入了获取透视地图的新问题。幸运的是,Zhang 等人 [1] 发现头部大小与两个相邻人之间的距离有关。基于此,创建了一种几何自适应核的密度图生成方法,这启发了很多工作采用这种策略。它在密集人群场景中效果很好,但在稀疏场景中会失败。一种深度自适应核的密度图生成方法 [156] 被提出,其前提是假设所有头部在现实世界中的大小相同。此外,这种策略可能会将交通标志和广告牌误认为是行人的头部,因为缺乏上下文感知的特征信息。为此,利用了一种新颖的基于 Voronoi 的方法 [243] 结合几何自适应核来提高有效性和鲁棒性。然而,上述所有方法都不是内容感知的。因此,Oghaz 等人 [244] 提出了一种暴力最近邻搜索技术,尽管点分布如何,都能提供绝对的最近邻,通过整合 Chan-Vese 分割算法、二维高斯滤波器和暴力最近邻搜索技术。最近,Xu 等人 [60] 声称目标密度图生成方式可能在密集区域失败,因为密度图是由严重重叠的高斯斑点的总和给出的,这导致与稀疏区域不同的密度模式。因此,应用了一个学习缩放模块 (L2SM) 将密集区域重新缩放到相似的尺度水平,以改善模式偏移并提高计数精度。另一种方式,Ma 等人 [234] 提出了一个贝叶斯损失,以从点注释中强制执行更可靠的密度贡献概率模型。Olmschenk 等人 [245] 提出了一种逆 k 近邻 (ikNN) 图来取代密度图,它可以同时提供平滑的训练梯度和准确定位,这也打破了常规,为我们开辟了新的路径。Wan 等人 [246] 提出了一种自适应密度图生成器,从真实点标签生成可学习的密度图表示。Gu 等人 [247] 提出了一种参数化视角感知密度图生成方法,该方法基于图像同一水平线(或同一行)上的个体来自与摄像机相似距离的假设。无论如何,正确选择密度图生成将为人群计数奠定坚实的基础。

损失函数。定制损失函数的设计也是训练有效模型的关键步骤。基于密度图估计的 CNN 人群计数方法大多是一个回归任务,通常采用欧几里得距离作为损失函数来衡量估计密度图与真实值之间的差异。尽管广泛使用,但仅使用欧几里得损失可能有一些缺点,例如对异常值和图像模糊敏感、像素独立假设忽略了密度图中的局部一致性和空间相关性。因此,可以采用对异常值更鲁棒的 SmoothL1 损失 [33] 和 Tukey 损失 [248],如 [129] 中所述。此外,还集成了对抗损失 [119] 来解决该问题并提高密度图的质量 [6, 87, 249]。然而,密度图可能包含很少的高层语义信息,因此采用了轻量级的 SSIM 局部模式一致性损失与欧几里得损失相结合,以强制执行估计密度图与真实值之间的局部结构相似性 [11],但它只能处理固定大小区域的局部一致性。因此,进一步利用了扩张多尺度结构相似性 (DMS-SSIM) 损失 [220, 250],使网络学习不同大小区域内的局部相似性,并生成具有局部一致性的密度图。此外,还提出了一种新颖的尺度感知损失函数,专门用于特定尺度的人物头部 [13]。另外,在 [105] 中提供了空间抽象损失 (SAL) 和空间相关性损失 (SCL) 的组合,以提高密度图质量。另一种方式,考虑到密度的空间变化,提出了最大像素超额 (MEP) 损失 [235] 来优化与真实密度图具有高差异的像素级子区域。此外,引入了一种新颖的尺度金字塔池化损失 (SPPLoss) [251],以金字塔架构扩展了普通的 MSELoss,用于在多个尺度上实现结构监督。此外,为了解决人群计数数据集中大密度偏移和小训练样本的巨大影响,Wang 等人 [252] 引入了一种新颖的随机集成损失。而且,Liu 等人 [253] 观察到训练过程和测试阶段之间的不一致问题,具体来说,它在训练过程中最小化估计密度图与真实密度图之间的距离,这实际上是一个逐点损失。然而,在测试阶段,它评估真实计数与密度图像素和的差异。因此,在训练优化和测试评估之间存在差距。为了解决这个问题,一个新的学习目标,称为局部计数图 (LCM),被作为流行的密度回归范式的替代方案。类似地,引入了自适应金字塔损失 (APLoss) [242] 来缓解训练偏差并提高网络的泛化能力。另一种方式,考虑到标注偏差,提出了一种新颖的自校正 (SC) 损失 [254] 来同时对整体和个体进行优化。对于整体,生成一个具有重新估计参数的新密度图作为 GT。对于个体,引入了对每个高斯混合系数的监督。GL [61] 将密度图表示视为不平衡的最优传输问题,并提出了一种广义损失函数来学习用于人群计数和定位的密度图。它证明了相对于逐像素 L2 损失和贝叶斯损失 [234] 的优越性。ChfL [255] 提到 GL [61] 中的最优传输 (OT) 损失需要多次迭代并在每个训练步骤中执行,这使得训练效率较低。该模型将密度图从空间域转换到频域,并提供了一个 chf 损失来加速训练。总的来说,设计合适的损失函数有助于提升模型的性能。

多线索信息融合。通常,多线索的信息融合可以显著提高算法的性能,例如,尺度感知和上下文感知的整合将提升性能 [6, 99],稀疏和密集场景的不同路径组合 [7, 93, 102]。同时,异构属性,例如几何/语义/数值属性被用来辅助人群计数的密度估计 [108]。另一种方式,MFCC [162] 融合了听觉和视觉信息,这在很大程度上提升了人群计数的性能,特别是在低质量场景中,例如低光照、强噪声、低分辨率和严重遮挡。总的来说,跨许多不同数据源或模态的各种格式的数据可用性非常丰富。将这些异构线索与“广泛学习”融合可能是一个可靠的研究方向。

网络拓扑。网络拓扑代表了网络内的信息流,它影响训练复杂度和所需参数。许多实验证明,编码器-解码器管道在人群计数任务中表现出 promising 的性能,例如,CSRNet [12] 采用标准的编码器-解码器结构,它以预训练的 VGG16 [256] 作为主干,并在解码器中构建膨胀卷积操作。SA-Net [11] 提出了一个类似的模型,在编码器中使用 Inception 模型 [125],在解码器中使用转置卷积层。W-Net [103] 直接利用 U-Net [126] 结构,用 VGG16 [256] 替换编码器块,并添加一个额外分支以加速收敛。TEDnet [105] 以网格方式部署了编码器-解码器层次结构。SGANet [257] 研究了 Inception-v3 [258] 对于人群计数的有效性。除了编码器-解码器管道之外,VGG16 [256] 是 VGG16bn、Resnet50 [259] 和 Inception [125] 中用于特征提取的最佳主干网络,这在 [103] 中得到了经验证明,并且对于人群分析具有很强的迁移能力。

7.2 数据集构建

根据先前的观察,我们针对场景多样性、多视图、标注准确性等方面,对人群计数数据集的构建提出一些建议。

场景多样性。一些早期的人群计数数据集是单场景的,即图像来自同一视频序列,不同图像之间的视角没有变化,例如 UCSD [39] 和 Mall [41],如图 4 所示。为了满足深度模型训练对跨场景和多样化数据的需求,提出了一些更具挑战性的数据集,包括 UCF_CC_50 [38]、SHT_A [1]、UCF_QNRF [89] 以及无数其他数据集。然而,存在一些限制其泛化能力的缺点,例如,UCF_CC_50 [38] 受限于可用高分辨率人群图像数量少,SHT_A [1] 受限于不均匀的密度级别和一些样本的不准确标注。UCF_QNRF [89] 具有最多数量的高计数人群图像和具有不同密度的标注,比 UCF_CC_50 [38] 更重要,然而,类内变化有时可能超过网络的能力。值得注意的是,当将数据迁移到野外时,它们可能会处理一些未见的极端情况,例如天气变化和光照变化。GCC [97] 可能通过构建大规模合成人群计数提供了一个合理的解决方案,该数据集包含更多样化的场景,以更好地模拟野外的挑战。尽管 GCC [97] 中有大量数据,但合成数据和真实数据之间存在很大的“领域差距”。

多视图。以前的数据集用于单视图计数,无法满足大型和广阔场景的需求,以公共公园或火车站的长队为例,场景太宽而无法被单视图完全捕获,距离摄像机太远分辨率太低,或者大部分人群被大物体遮挡。已经进行了一些尝试来解决这个缺点,例如,City street 数据集 [155] 是从一个繁忙的十字路口收集的,包含大范围的人群,具有更复杂的遮挡模式和大的尺度变化。

标注准确性。现有的密集人群计数数据集存在一个内在的缺点,即标注不是很准确,例如一些来自 UCF_CC_50 [38] 和 Shanghai Tech Part_A [1] 的样本。实际上,由于数据由不同的主体标注或遵循不同的标准,这个问题是不可避免的。

标注工具。有效的标注工具在数据集构建过程中至关重要。我们强烈推荐一个基于 HTML5 + Javascript + Python 的在线高效标注工具,它支持两种标签形式,即点和边界框。在标注过程中,图像根据不同的尺度自适应地放大/缩小以标注头部,每个图像被分成 16×1616\times1616×16 的块,为标注者提供五种尺度,具体来说是原始图像大小的 2i(i=0,1,2,3,4)2^i (i=0,1,2,3,4)2i(i=0,1,2,3,4) 倍。这种标注工具可以有效提高标注速度和质量。借助这种有效的标注工具,我们构建了一个名为 NWPU-Crowd [28] 的大规模数据集,更详细的描述见视频演示 https://www.youtube.com/watch?v=U4Vc6bOPxm0/。此外,一些主流模型在我们的 NWPU-Crowd [28] 数据集上进行了基准测试,其代码已在 https://github.com/gjy3035/NWPU-Crowd-Sample-Code 开源。更详细的结果见 https://www.crowdbenchmark.com/nwpucrowd.html。

总的来说,构建能够更真实地反映现实世界挑战的跨场景、多视图和准确标注的数据集对于提升人群计数的泛化能力至关重要。此外,有效的标注工具对于数据集的构建至关重要。

7.3 密度图的质量

大多数现有方法关注计数而不是密度图的质量,这是影响性能的关键因素。Sindagi [6] 首先观察到这个问题,并提出在训练过程中整合全局上下文,同时使用对抗损失和欧几里得损失来获得更清晰和更高质量的密度图。我们选择了几个关注密度图质量的代表性方法,根据两个度量标准,即 PSNR 和 SSIM [145],如表 6 所示。从表中,我们可以看到 SE Cycle GAN [97] 表现最差。我们怀疑这应归因于合成数据与真实世界数据之间的“领域差距”。

7.4 领域自适应或迁移学习

监督学习需要准确的标注,手动标注是繁琐的,尤其是在极其拥挤的场景中。此外,主流模型几乎都是为特定领域设计的。然而,当将训练好的模型泛化到未见过的场景时,由于不可预测的领域差距,会产生次优结果。

表 7 报告了在 Shanghai Part A [1] 上预训练的 NWPU-Crowd [28] 模型的评估结果。与 oracle 误差相比,性能明显下降:平均 MAE 增加了 44.6%,RMSE 平均增加了 47.0%。

性能下降的主要原因是上述数据集之间存在许多差异(也称为领域差距/偏移),包括密度范围、图像风格等。为了弥补领域差距,领域自适应技术派上了用场,它可以通过跨不同领域迁移有效特征来减少人力。在这个过程中,基于 GAN 的方法已经证明了在这个问题上的重要影响。例如,SSIM 嵌入 (SE) Cycle GAN [97] 利用了领域自适应技术,将结构相似性指数 (SSIM) [145] 整合到传统的 CycleGAN 框架中,以弥补合成数据与真实世界数据之间的领域差距。尽管 SE Cycle GAN [97] 在一定程度上解决了这个问题,但其估计计数仍然比其他最先进的方法相对较低。然而,它为不同领域之间的迁移铺平了道路。我们相信,未来通过改进这种基于 GAN 的方法,将对人群计数大有裨益。

7.5 对背景的鲁棒性

一个鲁棒的计数模型不仅准确估计人群密度,而且对背景区域产生零密度响应。特别是,[265] 证明了背景错误在很大程度上降低了计数性能。为了进一步评估模型对背景的鲁棒性,最近发布的大规模数据集,例如 JHU-CROWD [160] 引入了 100 个干扰项,NWPU-Crowd [28] 分别在其自己的数据集中引入了 351 个负样本。这些数据不包含人物对象或人群区域。值得一提的是,NWPU-Crowd [28] 特意收集了一些密集排列其他物体的场景以混淆计数模型。图 6 显示了一些典型的干扰项和负样本。这些标注数据可以有效地促进计数模型在现实世界中表现得更好。

表 8 列出了上述干扰项和负样本的估计误差 (MAE/RMSE)。从结果中,我们可以发现当前的模型错误地估计了这些样本的密度。对于一个轻量模型,PCC-Net 比许多 VGG 主干方法(CSRNet [12]、C3F-VGG [264] 和 SCAR [262])表现更好。主要原因可能在于 PCC-Net [101] 整合了分割信息来分类前景(即头部)和背景。因此,可能有一种替代方法,即使用多任务学习(块级计数、分割、组检测等)来提取大范围特征。

7.6 普适性或泛化性

几乎所有现有的物体计数模型都是为特定任务设计的,然而,创建一个能够适应任何类别物体的通用模型是一个有意义的挑战,它也是评估算法鲁棒性和泛化能力的最有效方法。尽管不同任务之间存在特殊性,但仍然存在许多共性,例如人群计数、车辆计数和细胞计数。例如,CAC [143] 通过挖掘图像之间的自相似性将计数公式化为匹配对象,提出了一种类别无关的通用匹配网络 (GMN)。PPPD [144] 提供了一个基于块的多领域物体计数网络,通过利用一组领域特定的缩放和归一化层,这些层仅使用少量参数。它还可以扩展到执行视觉领域分类,即使在未见过的观察领域也是如此,这突出了其多功能性和模块化性质。该方法已成功应用于人员、企鹅和细胞计数。声称现有范式可能导致噪声相似性匹配,BMNet [266] 提出了一个相似性感知的框架用于类别无关计数,其中特征表示和相似性度量以端到端的方式联合学习。

设计一个可以应用于不同任务的统一原则([16] 中使用高斯函数生成真实密度图就是一个很好的例子)和框架,看起来有点尴尬但却是未来有前途的研究方向。

7.7 轻量级网络

当前基于 CNN 的深度模型设计有复杂的结构,总是伴随着数百万参数和计算量(FLOPs)的巨大增加。尽管已经付出了巨大努力使模型高效,例如 CSRNet [12] 和 SCNet [228],但它们通常采用在 Imagenet [267] 上预训练的 VGG16 [256] 或 ResNet [259],这是一个用于分类的大型数据集,但物体计数任务属于回归任务。因此,它可能在某种程度上影响性能。此外,预训练机制是一个非常耗时的过程。综合考虑性能和计算成本,Liu 等人 [268] 提出了一种高效轻量级的结构化知识迁移框架 (SKT),它从深度网络中提取结构化知识,具有两个精心设计的模块,即层内模式迁移 (Intra-PT) 和层间关系迁移 (Inter-RT)。C-CNN [269]、ECCNAS [270]、MSQNwt [271] 和 LMCFM [272] 使用特征融合和量化来实现轻量级架构,这些是硬件相关的架构。Lw Count [273] 和 SANet [11] 提出了一种基于编码-解码的轻量级人群计数网络。MobileCount [274] 和 MobileViT [275] 基于 MobileNetV2 [276] 框架,用于移动设备,在不增加 FLOPs 数量的情况下提升计数性能。与此相反,LCDNet [277] 声称,利用最佳实践,例如精心设计模型架构、使用准确标注的训练数据和高效的学习策略,可以共同将轻量级和浅层 CNN 模型的准确性提高到更大程度。

一般来说,确定网络是否轻量级的最直接方法是参数的数量,参数数量越少,模型越轻。表 9 显示了一些代表性模型的参数数量比较。从表中,我们可以发现 LCNN [278] 的参数数量最少,比最差的 CP-CNN [6] 低了近 2138 倍。我们怀疑这应归因于 LCNN [278] 是一个没有预训练的浅层网络。更少的参数数量证明了模型的效率更高。

轻量级网络可以减少计算成本,但它们通常伴随着精度下降。因此,在不牺牲精度的前提下,设计轻量级和高效的网络来减少计数任务中的计算成本是未来一个有前途的挑战。

7.8 图像和视频的结合

现代主流的计数模型仅部署用于图像或视频 [19, 203, 278, 282-287]。当视频序列可用时,提出了一些算法来利用时间一致性对连续密度估计施加弱约束。Xiong 等人 [284] 利用 LSTM 模型从一帧到下一帧估计密度。Liu 等人 [203] 在人员移动时人数必须严格守恒的条件下明确强制执行约束。然而,这个约束很难用密度来表达。此外,Liu 等人 [286] 回归人流而不是从视频序列回归密度,这施加了强一致性约束,而不需要复杂的网络架构。因此,设计能够同时满足图像和视频的有效算法是一个有意义且有前途的方向。

7.9 更广视角的人群计数

尽管在单视图图像中的人群计数取得了 outstanding 性能,但它不适用于大型和广阔的场景,例如公共公园或长的地铁站台,因为单个视图摄像机无法捕获足够的详细信息。因此,为了解决广域计数的问题,已经进行了一些尝试从多个摄像机视图捕获信息。例如,Zhang 等人 [155] 提出了一种多视图多尺度 (MVMS) 融合模型,以在地平面上预测 2D 场景级密度图。此外,Zhang 等人 [288] 通过使用 3D 场景级密度图的 3D 特征融合来实现这一点。与 2D 融合 [155] 相比,3D 融合不仅保留了 2D 密度图的特性,而且还沿 z 维度(高度)提取了更多有用的人群密度信息。上述模型在训练和测试中都需要摄像机标定,限制了它们在现实应用场景中的能力。CF-MVCC [289] 直接根据每个摄像机视图的密度图预测获得场景级计数,在测试阶段不需要摄像机标定。M-MVOT [290] 利用一种新颖的基于马哈拉诺比斯距离的传输损失,专门为多视图人群定位设计。VCW [291] 开发了一种有监督的视图贡献加权方法,改进了多视图人员检测,以更好地融合大场景下的多摄像机信息。

上述模型基于摄像机固定且摄像机参数已知的假设,因此,为具有移动摄像机和未知摄像机参数的跨场景和多视图计数设计模型是一项有趣但具有挑战性的未来工作。

7.10 物体计数引导的定位、检测、分类和跟踪

用于人群计数的基于密度估计的 CNN 模型,实际上是基于回归的方法,虽然提供了准确的计数,但它并不指示物体的精确位置和确切大小,因此可能限制了进一步的研究和应用,例如高级理解、定位、分类和跟踪。已经进行了一些尝试,例如,DecideNet [7] 分别生成基于检测和回归的密度图来估计人群密度,并整合了一个注意力模块来指导最终计数。然而,该模型训练了一个带有边界框标注的全监督网络,需要大量的计算成本。CL [89] 通过引入组合损失同时回归密度和定位图。LCFCN [292] 通过分割图像中的物体斑块来估计人群计数,仅使用点标注。CL [89] 和 LCFCN [292] 简单地关注人群的定位,而 PSDDN [57] 不仅预测定位还估计人的大小。STANet [293] 同时解决密度估计、定位和跟踪任务,利用注意力机制聚合时空多尺度信息。LSF-CNN [58] 定位人群中每个人的位置,用边界框调整点标注头部的大小,最后对它们进行计数。Wang 等人 [294] 提出了一种用于中心点和大小估计的自训练方法,该方法基于局部均匀分布假设 (LUDA)。其他一些方法 [67, 295-297] 侧重于设计合适的地图来处理人群定位以减少语义错误,而 CLTR [62] 提出了一种用于人群定位的端到端 transformer 模型,它将提取的特征和可学习的嵌入作为 transformer-decoder 的输入。PET [65] 将人群计数公式化为一个分解点查询过程,为了实现这一点,它引入了点查询四叉树和渐进式矩形窗口注意力机制,这在许多拥挤相关任务上表现出 promising 的应用,包括全监督人群计数和定位、部分标注学习和点标注细化。APGCC [298] 引入了辅助点引导 (APG) 和隐式特征插值 (IFI) 模块,以提高基于点的人群计数和定位方法在网络匹配阶段优化过程的稳定性。

物体计数通常采用密度图估计来预测准确的计数,计数信息可能会影响一些重要下游任务的性能,例如密集人群场景中的定位、检测和跟踪。例如,物体计数可以帮助估计特定区域中物体的密度,从而指导更准确的定位。此外,它可以确定物体的分布,这有助于优化定位方法的区域划分策略。对于检测,物体计数可以提供背景信息和上下文信息,以帮助检测方法区分物体和背景,并提高检测精度。此外,物体的计数可以估计物体的大小分布,并指导检测算法选择合适的物体检测尺度。对于跟踪,物体计数可以帮助跟踪模型正确关联物体的轨迹,避免特征信息丢失和混淆。此外,它可以指导物体的移动方向和速度,这有助于跟踪模型更准确地预测物体的未来位置。

所有这些都表明,该社区有前途的方向将把当前的回归模型转向更实用的密集连接。未来的研究可能侧重于处理虚假检测和估计头部的准确大小。

7.11 小或微小物体计数

小或微小物体的问题长期以来一直是许多计算机视觉社区中的一项挑战性任务。在高度拥挤的人群场景中,人物头部的大小是微小的。此外,一些其他潜在应用可能包括在遥感图像 [272, 299-302] 中计数连续的密集建筑物、船只、小车辆和无数其他物体的数量。遥感场景中的物体计数与自然场景中的明显区别在于,由于俯视视角而不是直立视角,物体的方向是任意的。一些进一步的方向可能包括将视觉注意力机制、膨胀卷积、可变形卷积层和旋转不变性设计整合到框架中。

7.12 基于大视觉模型 (LVMs) 的人群计数

大视觉模型 (LVM) [303] 是一种新颖的序列建模方法,不使用任何语言数据,在包括人群计数在内的许多视觉任务中具有广泛的应用。凭借大量的参数和训练数据集,LVMs 可以学习更复杂的模式和特征,从而在人群计数任务中表现出更高的准确性。特别是在一些具有挑战性的情况下,例如密集人群和严重遮挡,LVMs 能够更好地区分头部特征,减少漏检和误检,并提高计数准确性。此外,通过在具有不同场景的大量数据集上进行训练,LVMs 在处理新场景和新数据时可以表现出更好的泛化能力。这意味着 LVMs 可以在不同时间、不同地点和不同场景的人群计数任务中保持高性能稳定性。此外,LVMs 可以同时处理多个任务,例如人群计数、人群密度估计和行为分析。多任务学习的能力使其在实际应用中更加灵活和高效,可以满足不同场景下的多样化需求。

尽管 LVMs 在人群计数领域显示出巨大潜力,但它们也面临一些挑战。例如,LVMs 的训练需要大量的数据和计算资源,成本高昂且耗时。同时,LVMs 的决策过程更复杂且难以解释,这在一些需要高度透明度的应用场景中可能受到限制。然而,这些挑战也为研究人员提供了更多的机会,促使他们不断探索人群计数及其他相关研究方向的新的解决方案和技术路径。我们相信,随着技术的不断进步和应用场景的扩展,LVMs 在人群计数领域的应用将更加广阔。

8 结论

在过去的几十年里,人群计数取得了显著进展。本文从多个角度对基于 CNN 的密度估计和人群计数模型进行了综述,包括网络架构、学习范式等。然后我们总结了流行的基准数据集,包括人群计数和其他领域的几个代表性数据集,以及用于评估各种方法的评估标准。此外,我们还对代表性模型进行了彻底的性能基准测试评估。尽管无法涵盖所有工作,但我们选择了表现最好的前三名模型,随后对这些代表性方法进行了全面而彻底的分析和讨论。我们总结了那些对性能提升有很大帮助的属性或技术。

接下来,我们研究了几个会影响人群计数性能的因素,最后我们审视了深度学习时代一些潜在的挑战和开放性问题,并提出了有见地的讨论和未来有前途的研究方向。

站在技术创新的立场上,我们期望这项工作能够提供一个可行的方案来理解最先进的技术,但更重要的是,为人群计数的未来探索以及与其他领域的物体计数的桥梁提供见解。

缩写 MAE 平均绝对误差 RMSE 均方根误差 GAME 网格平均平均绝对误差 MPAE 平均像素级绝对误差 PMAE 块平均绝对误差 PMSE 块均方误差 AP 平均精度 AR 平均召回率 nAP 归一化平均精度

http://www.dtcms.com/a/607057.html

相关文章:

  • 坪地网站建设游戏网页设计
  • Spring Data JAP中Pageable对象如何从1开始分页,而不是从0开始
  • 勇闯前后端:Java 基础语法 + ATM 同步实现
  • 城市建设网站鹤岗市云集网站哪个公司做的
  • 为什么用wp做网站健身会所网站模板
  • 不同架构下readdir() 返回值中 struct dirent.d_type 的取值差异与解决方法
  • 衡水做网站建设公司网站建设发展趋势
  • 2025 济南专业化科技孵化器申报攻略:中承信安专业测试服务助力企业通关
  • 浙江省建设协会网站首页济南网络推广seo
  • linux系统学习(11、shell编程)
  • SAP FICO应付暂估款账龄分析表
  • 牡丹园网站建设p2p网站开发维护
  • 做网站系统学校淮滨网站建设
  • wordpress模版做网站宁波网络营销服务
  • C语言编译器哪个好学 | 学习C语言编译器的入门指南与推荐
  • 【036】阳乐音乐厅购票平台
  • Katalon Studio 最佳实践:提升自动化测试效率的实用指南
  • Vue项目实战《尚医通》,登录模块表单自定义校验规则,笔记29
  • 数据分析笔记05:区间估计
  • sdcms网站建设模板wordpress添加新建标签页
  • 酥糖的网站建设的目的是什么样本代替做网站
  • 做外贸网站平台有哪些内容海口网微博
  • 学校网站平台建设方案138企业邮箱登录
  • 提供网站建设方案ppt263网站建设怎么样
  • 购物网站图片的放大怎么做的信宜网站建设
  • 更合网站设计动漫网站开发与建设
  • 苏州外贸企业网站建设网站标题改不了
  • 使用 Redis 实现高并发天气查询的优化方案
  • Android HWUI绘制流程
  • 企业首次建设网站的策划流程最热门的短期培训课程