(1)P2PNet
<1>P2PNet提出
论文出处:Rethinking Counting and Localization in Crowds: A Purely Point-Based Framework
论文链接:https://arxiv.org/abs/2107.12746
开源代码:https://github.com/TencentYoutuResearch/CrowdCounting-P2PNet
1.论文创新点
一个纯粹基于点的框架,可来直接预测人群数量和人群个体的位置,并提出一个新的度量标准,称为密度归一化平均精度 (nAP)。
2.框架原理
- 论文框架与其他方法的对比
图中红色表示预测结果,绿色表示人工注释,顶端表示基于密度图的方法,可以看到无法准确预测个体的准确位置,中间表示使用锚框标注,基于检测的方法,容易导致检测目标缺失,尤其是使用NMS(非极大值抑制)的过程。底部流程表示论文方法,直接预测一组点来代表个体的位置。
- 归一化平均精度
下图表示nPA(k=3)中不同阶段的定位精度,黄色虚线圈表示从中心绿色的人工标注点(Center GT Point)pi
起dkNN(pi)像素的距离,其中dkNN(pi)表示 pi 的 k 个近邻点的平均距离,δ的典型值为0.5,如蓝色圆圈所示,这意味着该区域内大多数像素的最近GT点应该是pi。红色圆圈表示用于更严格定位精度的阈值(δ=0.25)。在实际应用中,准确定位人头点意味着:1)预测点与真实点之间的像素距离要尽可能接近;2)人群分布越密集的区域,定位精度要求越高;3)正确预测点的置信度要尽可能高;4)冗余预测点要尽可能少(置信度要尽可能低)。相应地,nAP 提供了多种不同定位精度下的细分指标,来满足实际应用对不同定位能力的要求。
最后归一化平均精度nPA定义如下:
式子中
表示欧几里得距离,表示附近的平均距离,使用阈值δ来控制所需的定位精度,如上图所示。
- 匹配方案
如下图所示,对于每个人工标注点,距离最近的建议应该产生最佳预测。然而,如果我们为每个人工标注点选择最接近的建议,则一个建议可能与多个人工标注点匹配,如图(a)所示。在这种情况下,只能正确预测一个人工标注点,导致计数估计不足,尤其是在密集区域。其次,对于每个点建议,我们可以指定最近的人工标注点作为其目标。直观地说,这种策略可能有助于减轻优化的总体开销(overall overhead),因为最近的人工标注点相对更容易预测。然而,在这样的任务中,可能存在多个同时预测相同人工标注点的建议,如图(b)所示。因为没有可用的比例注释,所以很难抑制这些重复的预测,这可能会导致估计高了。因此,关联过程应该考虑双方,并产生相互优化的一对一匹配结果,如图3(c)所示。
- 整体框架
P2PNet 整体框架如下图所示,在VGG16的基础上,首次引入上采样路径来获得细粒度的深度特征图。然后,它利用两个分支来同时预测一组点建议及其置信度得分。
<2>P2PNet-Soy
1.P2PNet-Soy流程图
图3.VGG16是提取特征的基本框架,首先融合高层次和低层次特征,并将其添加到原始图像中,以进行后续定位和计数。
2.提高模型性能的几种策略
(1)使用k-d树这一无监督聚类算法,用于找到大豆种子位置相近的预测中心,提高最终预测的准确性; (Physically based rendering: From theory to implementation, Pharr M, et al.)
图4.原始P2PNet的性能。(A) 没有k-d树后处理。(B) 用k-d树对大豆种子进行后处理,对单株进行计数。
其中1:1line代表1:1对角线,Fitting line代表最小最小二乘拟合线;
R-squared,R2 ≤1,且R2越接近1越好!
原始P2PNet无法去除这些紧密定位的预测(图5A),导致这些种子的相应真实位置周围出现密集的“crowded”。通过直接应用k-d树作为后处理过程,MAE的值急剧下降至14.40,并与它们的人工标注具有0.85的改进相关性(图4B)。然而,在这些预测中遗漏了一些尺寸较大的种子(图4)。
图5.在从测试数据集中随机选择的单个植物上预测大豆种子数量时,原始P2PNet(A)未经后处理和(B)经后处理之间的比较。虚线框中的图像在实心框内的图像部分中进行缩放。
(2)利用高级特征和低级特征的组合充分探索大豆种子计数的模型潜力;
高级特征包含全局上下文感知信息( global-context-aware information)
低级特征可以捕捉到更详细的空间结构信息(spatial structural information)
(Pyramid feature attention network for saliency detection. Zhao T, et al.)
(3)使用膨胀率为1、3、5和7的空洞卷积(atrous convolution )来覆盖不同级别特征上的不同感受野,从而获得
尺度不变特征,以应对种子大小的变化。
(4)应用空间注意力(spatial attention)来降低低层次特征的噪声水平,并采用通道注意力(channel
attention)来突出大豆种子的语义信息。利用空间和通道注意力有效地对目标种子与其背景之间的边界信息进行优先级排序,从而获得更好的计数性能。
(5)直接将原始图像作为参考,将整个框架格式化为残差学习,以提高模型性能。
图6. P2PNet-Soy大豆在预测大豆单株种子数量方面的性能。
图7.通过所提出的P2PNet-Soy模型预测大豆种子的一个例子。右侧虚线框中的图像是左侧图像的实心框内的图像的放大部分。
图8. 优化的P2PNet大豆模型(A)和原始P2PNet模型(B)与随机选择的现场图像的后处理的比较。虚线框中的图像在实心框内的图像部分中进行缩放。
3.P2PNet-Soy消融实验
尽管性能有所改善,但所提出的P2PNet-Soy模型仍然高度依赖于后处理,因此进行了消融研究,以进一步阐述每种策略的不同贡献,见下表
表中:H代表高级特征high-level features: VGG16-conv3, VGG16-conv4, and VGG16-conv5;
L代表低级特征low-level features: VGG16-conv1 and VGG16-conv2;
SAL代表低级特征空间注意力spatial attention on low-level features;
CAH代表高级特征的通道注意力channel-wise attention on high-level features;
MSMR代表多尺度多感受野特征提取
OI代表原始图original image
(2)Point DETR
论文出处:Points as Queries: Weakly Semi-supervised Object Detection by Points
论文链接:https://browse.arxiv.org/pdf/2104.07434.pdf
代码链接:https://github.com/haozheliu-st/point-beyond-class
<1>提出背景
本文为弱半监督对象检测任务提出了一种新的点注释设置,其中数据集包括小的完全注释图像和大的点弱注释图像。现有的检测器很难充分利用注释点的能力,为了解决这个问题,引入了一种新的检测器Point DETR
带点标注的弱半监督物体检测(weakly semi-supervised object detection, WSSOD): WSSOD 通常使用一小部分实例级标注图像和大量弱图像级标注图像作为训练数据(图 1c)。然而,对于物体检测来说,图像级标注图像并不适合 WSSOD,因为它无法提供实例信息。这就自然而然地提出了一个问题:是否有一种新的数据标注方法,既能为弱标签图像提供实例信息,又不会造成很大的标注负担?本文介绍了弱标签图像的点标注。
<2>点标注
将目标表示为(x, y, c),其中(x, y) 属于[0, 1]2表示点位置和并且c代表目标类型,点注释可以位于对象的任何位置。通过这种方式,我们可以减轻注释负担。
<3>总体框架
1.在可用的标签图像上训练教师模型;
2.使用经过训练的教师模型生成弱点注释图像的伪标签。
3.用完全标记的图像和伪标记的图像训练学生模型。
<4>Point DETR
图3. Point DETR将图像及其对应的对象点作为输入。对象点被规范化为[0, 1]2,并由点编码器模块编码为对象查询。转换器解码器接受对象查询,并额外处理图像特征(通过主干和编码器提取)。变换器解码器的输出被传递到头部,生成盒子预测。框预测是从边界框的四边到点位置的相对偏移。与DETR不同的组件以浅黄色突出显示。
图4. 点编码器。对于每个点(x, y, c),它分别对位置(x, y)和类别c进行编码,然后将元素相加作为点嵌入
图5. 绝对回归与相对回归:不同的颜色来区分实例,点注释的颜色与其对应的框一致。
(3) Group R-CNN
论文出处: Group R-CNN for Weakly Semi-supervised Object Detection with Points
论文链接:https://browse.arxiv.org/pdf/2205.05920.pdf
代码链接:https://github.com/jshilong/GroupRCNN
<1>提出背景
我们研究了带点的弱半监督对象检测(weakly semi-supervised object detection with points,WSSOD-P)问题,其中训练数据由一小组带边界框的全注释图像和一大组每个实例只有一个点注释的弱标记图像组合。
该任务的核心是在标记良好的图像上训练点到框回归器,该回归器可用于预测每个点注释的可信边界框。我们对现有的基于CNN的检测器与这项任务不兼容的观点提出了疑问。
基于经典的RCNN架构,我们提出了一种有效的点到框回归器:Group R-CNN。Group R-CNN首先使用实例级建议分组来为每个点注释生成一组建议,从而可以获得高的召回率。
图1. 实例级建议分组和实例级建议分配的说明。同一组中的建议(即属于同一实例)用相同的颜色表示。(a) to(b):实例级分组:不只是注释点,而是收集由足够靠近(投影的)注释点的所有点生成的建议,以形成每个实例的组。(b) to(c):实例级分配:当且仅当具有所属实例的IoU高于预定义阈值时,提案被分配为正,而不管其具有任何其他实例的IoU。
<2>框架
图2. Group R-CNN框架。初始 R-CNN(上层架构)无法利用点注释,很容易产生假阳性和假阴性边界框。相比之下,Group R-CNN(下方的架构)通过结合点到框翻译任务的相对坐标(右上角)和动态组卷积(右下角)来实现更高的召回率和精度。实例感知特征(右上角):为每个实例构建一个单独的特征图,以对其点注释的相对坐标进行编码,然后执行RoI池化过程。实例感知参数(右下):每个组的平均RoI特征与相应的类别嵌入相连接,作为线性层的输入,为动态组卷积生成参数。
(4) ICC
论文出处: Inception-Based Crowd Counting — Being Fast while Remaining Accurate
论文链接:https://arxiv.org/pdf/2210.09796.pdf
代码链接:https://github.com/Yiming-M/CrowdCounting-ICC
<1>提出背景
基于CNN的复杂算法极大地增加了计算复杂性,使得实时估计难以实现,因此,本文提出了一种基于Inception-V3的新方法来减少计算量。
图1. 图像的两个实例及其相应的点注释,通常标记在人们的头部中心。从自由视角拍摄的图像可能包含比监控摄像头拍摄的更拥挤的人群。
<2>框架
(1)编码前端:起点是由预训练的InceptionV3[18]的前12个模块组成的网络。Feature 1是第二个最大池化层的输出,类似于CAN中VGG组件提取的基本特征。不同的是,Feature1来自一个浅得多的层,容纳了更多丰富的细节。随着深入,第三个Inception-A块[18]的输出被克隆为Feature2,为了避免引入太多参数,在第一个Inception-C块[18]之后截断原始InceptionV3[18],其输出表示为Feature3。
(2)上下文信息(Contextual Information)提取:有两种不同的方法用于提取上下文信息。一种是将CAN中的上下文模块(其中使用了不同大小(1、2、3和6)的过滤器)强加在Feature 1上,以产生尺度感知特征。由于使用了1×1内核,因此可以很好地保留大量的细节。这些处理后的特征也具有上下文意识,对小尺度和大尺度头部的准确预测做出了显著贡献。另一条途径是利用前端的Inception模块。这些块还具有学习稀疏和非稀疏特征的瓶颈结构,不同之处在于它们更深,并且在Feature 2和Feature 3的提取过程中,上下文信息被反复融合。由于Feature2和Feature3已经包含上下文信息,因此不需要对它们进行进一步处理,所有这些上下文感知功能最终都会沿着通道进行组合。利用不同的策略可以增强模型的稳健性
(3)解码后端:连接的特征被输入到该组件中,以生成预测的密度图。在标准卷积之前执行1×1卷积以减少通道数量,因此可以显著减少总体计算。最后,对整个通道的张量值进行求和,以生成预测的密度图。注意,由于使用了诸如步长为2的池化之类的下采样操作,所以预测密度图的大小小8倍。要将其恢复到完整大小,可以利用上采样(如插值)。
图2. 所提出模型的结构。它使用Inception-V3的前十二层从输入图像中获得不同级别的特征,CAN的上下文模块将用于处理Feature1,然后将它们融合并传递到解码器中以生成预测的密度图
<3>可视化
图3. ShanghaiTech A[19]两张图像的人群密度估计。3(a)和3(d)是人工标注的图像,其相应的高斯平滑(σ=20)在3(b)和3(e)中。所提出的算法的预测在3(c)和3(f)中被可视化,这表明了它在看不见的数据上的良好性能。
图4. 4(a)和4(d)是来自ShanghaiTech B[19]的两个测试图像。在平滑中采用σ=20的高斯核来产生4(b)和4(e),并且4(c)和4(f)是相应预测的图。
图5. 来自Mall[6]的两张测试图像的人群密度预测。
图7. 人群监测[43]中两张测试图像的人群密度预测。所提出的模型在该数据集上取得了良好的结果,测试MAE为4.01。
(5) GauNet
论文出处: Rethinking Spatial Invariance of Convolutional Networks for Object Counting
论文链接:https://arxiv.org/pdf/2206.05253v1.pdf
代码链接:https://github.com/zhiqic/Rethinking-Counting
<1>提出背景
由于目标计数可以潜在地解决人群流量监测、交通管理等问题,因此已被广泛研究。有很多网络如dilated CNNs,dilated CNNs ,dilated CNNs 应用于目标计数,然而,这一研究方向出现了性能瓶颈。我们注意到,随着网络架构的进一步不断优化,计数精度并没有显著提高。最近的一些研究[6,10,30,60]也见证了密度生成过程中的大量噪声,并推测这可能是性能瓶颈的原因。尽管这些努力取得了一些进展,但我们仍然对以下问题一无所知。1) 盲目提高空间不变性对物体计数任务有价值吗?2) 密度噪声如何影响性能?为了解决这些问题,受先前工作[14,19,57,58]的启发,我们试图用高斯卷积取代传统的卷积运算。
图1. 左边显示了密度图生成的想法,右边是SHTech PartA数据集[78]的一个例子,其中红点是groundtruth中的注释,黑点是真实的中心位置。密度图是通过用多维高斯分布对中心点进行平滑来生成的。噪声主要有两种类型:1)真实中心点和注释之间的误差ε;2)由多个高斯核引起的重叠∑。
图2. CNNs在目标计数中的研究方向综述。1)Dilated CNNs逐渐增加卷积滤波器的步长,以适应不同的大小。2)Multi-Column CNNs 利用不同的过滤器来合并不同分支中的特征。3)Deformable CNNs优化滤波器形状以处理多尺度密度。4)空间金字塔池对输入特征执行金字塔缩放。5)注意力/视角通过特征提取使用视角/注意力图。
<2>框架
图3. 低阶高斯卷积层图解。我们提出的层主要包含两个加速模块。Lowrank approximation module有两个步骤:1-主成分分析(PCA)用于选择高斯核,2-内积和softmax用于获得融合权。Translation Invariance module 还将高斯核运算分为两个步骤:1-与零均值高斯核的卷积,2-与其他唯一均值的平移结果。我们提出的层可以取代任何标准卷积层,其中右边是残差块和金字塔池的两个应用示例。
<3>可视化
图4. 可视化对标签噪声的鲁棒性,其中红点是人工标注。在这里,我们通过将注释点随机移动{0、8、16、32}像素来生成有噪声的数据集。可视化结果显示了有/没有我们提出的高斯卷积层的两个例子的结果。
图5. 预测方差的比较分析。方差是指在不同收敛状态下结果的差异。误差指的是预测结果与实际情况之间的差异。从左到右是全图像、高密度区域和低密度区域的分析结果。结果清楚地表明,预测结果存在巨大差异。
图6. MCNN的消融研究[79]。CONV后面的数字表示我们的GauNet层的使用范围。
图7。卷积滤波器的可视化。从左至右为SHTech PartA、SHTech PartB、MTC、TRANCOS和UCF-QNRF的结果。从上到下是示例图像、我们修改的SANet和原始SANet[4]。直观地说,我们的方法可以充分理解物体的空间信息和视图的透视规律。
(6) M-SFANet
论文出处:Encoder-Decoder Based Convolutional Neural Networks with Multi-Scale-Aware Modules for Crowd Counting
论文链接:https://arxiv.org/pdf/2003.05586v5.pdf
代码链接:https://github.com/Pongpisit-Thanasutives/Variations-of-SFANet-for-Crowd-Counting
<1>提出背景
早期的一些方法[1]将人群计数视为一个检测问题。[2]中还研究了来自多个来源的手工特征,当目标对象彼此重叠并且手工特征不能正确处理输入图像中人群分布的多样性时,很多方法是不合适的。最近的方法更多地依赖于从头部人工标注自动生成的密度图。卷积神经网络(CNNs)已被用于估计精确的密度图。通过将卷积滤波器视为滑动窗口,CNN能够在输入图像的各个区域进行特征提取。[9]中的研究表明,在MCNN[5]的每个列结构中学习的特征几乎相同,并且当网络深入时,训练这种架构是无效的。[12]的作者指出,由于透视失真,整个图像的感受野大小应该改变。为了解决这个问题,[12]中提出了一种称为CAN的尺度感知上下文模块,该模块能够在多个感受野大小上进行特征提取。然而,CAN不包含减少背景噪声的机制,这可能会导致错误预测,尤其是在面对稀疏和复杂的场景时。除了人群计数,对象重叠也是图像分割的一个关键问题。
为了弥补现有方法的不足,我们提出了两种改进的人群计数网络。第一个模型被称为“M-SFANet”(Modified-SFANet),其中多尺度感知模块,其次,我们将双路径结构集成到类似ModSegNet[22]的编码器-解码器网络中,而不是Unet,并将该模型称为“M-SegNet”(Modified-SegNet)
<2>网络结构
图1. M-SFANet的体系结构。卷积层的参数被表示为Conv(卷积核大小)-(卷积核大小)-(滤波器数量)。最大池化是在2×2像素窗口上进行的,步长为2。
图2. M-SegNet的体系结构。卷积层的参数被表示为Conv(卷积核大小)-(卷积核大小)-(滤波器数量)。最大池化是在2×2像素窗口上进行的,步长为2。
<3>可视化
图3. 估计密度图的可视化。第一行是ShanghaiTech Part A的样本图像。第二行是人工标注。第3到第5行分别对应于M-SegNet、M-SFANet和M-SegNet+M-SFANet的估计密度图。
图4. 估计密度图的可视化。第一行是来自UCF_CC_50[33]、Beijing BRT[35]和TRANCOS[34]数据集的样本图像(从左到右)。第二行是人工标注。第3至第5行分别对应于来自M-SegNet、M-SFANet和M-SegNet+M-SFANet的估计密度图。
图5. 在UCF-QNRF[4]数据集的测试图像上显示M-SFANet*(第1行)和M-SegNet*(第2行)的估计密度图。