赞
踩
大约半年前,遇到过一个需求,在一幅图像中,有多种不同类别的密集目标,要求统计每种目标的个数。很自然的,就想到了人群计数相关方法。但当前已有的方法都是默认只有一个类别,对于多种类别则难以胜任。那么,同样很自然的就想到了,在Head部分将single-channel的density map 改为multi-channel的density map是不是就可以了?由于种种原因该想法仅停留在了idea阶段,未落实行动。令人惊喜的是,偶然间看到了这篇文章,其思想与我当时的想法不谋而合,还提出了一个benchmark。那么, 没有理由不拜读一下了。
目录
目标计数是CV领域的一个热门任务,其目的在于估计给定图像中的目标个数。然而,当前大多数方法都是针对单类别的,这对于需要同时对多种类别进行计数的场景来说就不适用了,尤其在航拍图中。为了解决这个问题,本文引入了一个多类别目标计数(MOC)任务,来估计在一个航拍图中不同类别目标(如车、建筑、船等)的个数。考虑到缺乏相关数据集,同时也构造了一个包含了3416个场景、1024*1024分辨率、14个精细标注类别的大型数据集——NWPU-MOC。该数据集中,每个场景都包含了GRB图像和近红外(NIR)图像,因为相比RGB图像,NIR图像包含了丰富的特征信息。基于该数据集,本文提出了多光谱、多类别的目标计数框架,利用多重注意力模块来融合RGB和NIR特征,并回归与每个类别相对应的多通道密度图。此外,为了建模不同通道间密度图的独立性,提出了一个空间对比损失,来对同一空间位置的重叠预测进行惩罚。实验结果表明,提出的方法相比一些主流计数算法而言,能够达到SOTA。
航拍场景中的目标计数旨在估计给定图像中具有特定类别的对象数量,可应用于城市规划[1]-[3]、环境监测与测绘[4]-[6]、灾害检测[7]-[9]等实际应用[10]-[12]。在过去的几年里,得益于深度学习和神经网络的发展,已经提出了一些为遥感场景设计的目标(行人、汽车、船等)计数算法。具体来说,Bahmanyar 等人 [13] 引入了从无人机视图捕获的人群计数数据集。他们还提出了一个多分辨率网络来估计行人计数。Gao等人[14]构建了一个用于遥感对象计数的RSOC数据集,包含四个子集:建筑物、小型车辆、大型车辆和船。基于数据集,Gao 等人提出了 PGCNet [15],它通过提取和融合多尺度特征信息来解决遥感场景中尺度变化和复杂背景等挑战。
一些研究提出了计算单个图像内多个类别的对象。Go等人[16]建立了一个包含五个不同类别的起重机的对象计数数据集。Liu 等人创建的 MOCSE13 [17] 数据集包含各种蔬菜和水果,并使用 Unity 引擎构建。如图1所示,与其他场景(图1 (a)、(b))、航空和遥感图像(图1 (c)-(g)))相比,航空和遥感图像通常覆盖更广泛的空间范围,包含具有多个类别的地面对象。因此,同时计算航拍图像中多个类别的对象是一项更具挑战性和实用性的任务。
在本文中,我们的目标是朝着这个实际目标迈出一步,并引入多类别对象计数 (MOC) 任务。为了解决这个问题,构建了一个大规模数据集(NWPU-MOC),它由 3,416 个航空场景组成,并用对象实例的中心点进行注释,用于 14 个细粒度类别。表1显示了一些流行的对象计数数据集的比较。与其他数据集相比,NWPU 数据集针对多个类别进行注释,同时包含分辨率为 1024×1024 像素的 RGB 和 NIR 图像。由于植被、光照变化和天气条件等因素,RGB航拍图像中物体的可见性可能会受到影响,导致物体识别的预测不准确和困难。波长较长的近红外(NIR)光(通常在航空近红外图像中从0.76到0.90 μm)可以很容易地穿透大气。因此,在NWPU-MOC数据集中包含近红外图像有可能缓解空中场景中的遮挡问题。
与特定类别的对象计数相比,MOC 不仅涉及计算对象,还需要区分不同类别的对象。基于NWPU-MOC数据集,提出了一种基于密度图的方法多光谱、多类别对象计数框架。为了缓解空中场景中的遮挡问题,所提出的框架以 RGB 和 NIR 图像作为输入,并引入了双注意模块来融合 RGB 和 NIR 特征。在密度图预测阶段,所提出的框架回归了一个密度图,该密度图与每个对象类别对应的多通道对应,用于多类对象计数。由于共享特征空间,回归多通道密度图中的特征之间存在相互干扰,导致预测重叠。因此,为了对密度图和对象类别通道之间的映射关系进行建模,我们设计了一个空间对比度损失。它与计数损失函数联合优化,以减少预测密度图中通道之间的重叠预测。在NWPU-MOC数据集上,我们重现了一些单类别对象计数方法,并提出了一种新的评估指标来评估MOC任务的计数算法性能。
本文的主要贡献如下:
1)自然场景:自然场景中的对象计数通常侧重于人群计数。人群计数数据集[18]、[23]-[29]主要包含密集场景中行人的注释。UCSD数据集[23]由2000个图像序列组成,由加州大学圣地亚哥分校监视视图的室外人行道收集。ShanghaiTech Part B[24]是一个高质量的人群数据集,由782张代表性图像组成,由Zhang等人构建,从上海的城市拥挤场景中收集。为了避免劳动密集型的手动注释并提供不同的场景。GCC [26] 由 Wanget 等人构建,这是一个大规模的合成人群数据集,通过模拟计算机游戏中的监控摄像头视图。Sindagi等人[25]构建了一个头部标记的人群计数数据集JHU-CROWD,包含4250张图像。此外,Wang 等人。构建了一个名为 NWPUCrowd 的大规模数据集,其中也包括了从互联网上收集的部分数据。上述数据集在自然场景中标注人群,并对人群计数的进步做出了重大贡献。然而,只有少数工作集中在计算单个图像中的多个对象。如表 I 所示,Go [16]等人创建的 KR-GRUIDAE 数据集,基于生态学捕获图像,并为5类【原文说4类,应是笔误】起重机进行了注释:Red-Crown Crane (RCC)、Red-Crushed Crane Juvenile (RCCJ)、WhiteNaped Crane (WNC)、White-Napeed Crane Juvenile (WNCJ) 和 Anser Albifrons (AA),各个类别都在同一幅图像内。[17] 使用 Unity 引擎合成 MOCSE13 数据集,包括 13 个不同的水果和蔬菜的图像。MOCSE13 数据集包含四个子数据集,每个子数据集包含三种类型的水果或蔬菜,使其适用于 MOC 任务。与上述数据集相比,构建的 NWPU-MOC 数据集同时包含 RGB 和 NIR 航拍图像,以及更广泛的训练和测试数据,提供密集注释的信息。所提出的 NWPU-MOC 数据集更适合解决空中场景中的 MOC 任务。
2)遥感或空中场景:专门为自然场景中的人群计数构建了许多数据集。然而,如表1所示,只有少数数据集设计用于遥感和空中场景中的对象计数。这些数据集由有限数量的图像组成,并使用单类别对象进行注释。例如,Olive-Tree 数据集 [20] 仅包含 10 张图像,DLR-ACD 数据集 [13] 包含 33 张图像。COWC 数据集 [21] 和 CARPK 数据集 [22] 仅针对汽车进行注释。最近,构建了用于遥感对象计数的 RSOC 数据集 [14],其中包括四个子集:建筑物、小型车辆、大型车辆和船舶,每个子集都针对单个类别进行注释。现有的航空遥感场景对象计数数据集只标注单个对象类别。考虑到航拍图像通常包含具有多个类别的对象。因此,我们收集并注释多类别对象计数数据集以解决这一差距。
1)自然场景中的对象计数: 当前的对象计数方法可以分为以下三类: 基于检测的方法[30]-[34]、基于回归的方法[35]-[37]和基于密度图的方法[24]、[38]-[41]。早期的对象计数方法主要是基于检测方法[42]、[43],其先检测感兴趣的目标,然后统计其bbox的个数。由于有强大的检测器,这些方法在稀疏场景中取得了令人满意的性能。然而,在高度拥挤的场景中,这些基于检测的方法容易失败,因为对象实例的大小通常很小,容易受到背景的干扰。基于回归的方法将计数视为预测全局密度的任务,旨在直接从输入图像和相关特征估计对象计数。例如,Tanet等人[36]提出了一种半监督弹性网络。Chan等[44] 通过将近似贝叶斯泊松回归与高斯过程相结合,提出了一种人群计数回归方法。尽管如此,值得注意的是,这些基于回归的方法主要强调图像的全局特征,这可能导致模型中的错误更大,误差容忍度更低。
Lempitsky 和 Zisserman [38] 提出了一种基于密度图的方法,该方法涉及回归密度图来估计对象的数量。近年来,许多基于密度图的方法被提出用于密集场景下的人群计数任务,其计数性能显著提高。MCNN是由Zhang等人[24]提出的,它可以输入任意分辨率的图像并学习多尺度特征。Li等人[39]通过执行扩展卷积提出了一种CSRNet,它可以理解高度拥挤的场景。Ma等人[40]引入了贝叶斯损失,摒弃了基于密度图的方法,直接利用点注释来解决这个任务。基于密度图的方法在人群计数任务中表现出了出色的性能,成为主流方法。最近,刘等人。 [45] 将计数模型的输出扩展到多层,用于同时估计单个图像中的车辆和行人。他们还引入了一个类别注意模块与密度图相乘,减少了类间干扰。
2)从遥感和航空视角进行对象计数: 从更大的距离和垂直角度捕获空中或遥感图像,导致覆盖面积较广,包括复杂的场景内容,这对现有的计数模型提出了很大的挑战。Bahmanyaret等人[13]引入了一种基于无人机视图的人群计数数据集,并提出了一个多分辨率网络来估计航空图像中的行人数量。LPN[22]是利用车辆的常规空间布局进行车辆计数和定位。Stahl等人[46]提出的公差排斥原理是一种通过将图像划分为组来预测图像级计数的方法。受目标检测器的启发,Li等人[47]提出使用一个统一的框架来同时检测和计数车辆。时空邻域感知网络[19]进一步统一了单个网络中的密度图估计、定位和跟踪任务。Gao等人[14]构建了一个RSOC数据集,提出使用注意机制和变形卷积来实现更好的计数性能。丁等人[48] 提出了一种自适应密度图生成算法来解决遥感场景中的尺度变化和其他挑战。如上所述,现有的对象计数算法通常侧重于计算单个类别的对象,不能直接应用于 MOC 任务。
在本文中,我们的目标是同时对图像中多类别目标进行计数。如第2.2节所述,现有的对象计数数据集不适用于 MOC 任务。因此,我们收集了航拍图像数据集(NWPU-MOC),对航空场景中常见的 14 个类别对象进行了精细注释。在下文中,我们将详细描述所提议的数据集,包括数据收集、标注,及其特点。
具体来说,所有航拍图像都是从开源网站 1 下载的,该网站提供了飞机捕获的所有正射校正航拍图像,其空间分辨率为 0.25 m/pixel 在整个荷兰。所有图像都包含四个光谱通道:红色 (R)、绿色 (G)、蓝色 (B) 和近红外 (NIR)。我们仔细选择了一些具有代表性的稀疏场景和密集场景(如港口、停车场、街区、工业公园、机场、海滩、农田和湖泊),并将它们裁剪成分辨率为1024 × 1024像素的PNG图像。最后,我们保留3,416张航拍图像来制作我们的NWPU-MOC数据集。值得注意的是,我们将近红外波段放置在第一波段,并将其保存为伪彩色PNG图像(图4)。
在分析和讨论数据集中图像的内容后,选取14个类别进行标注,包括Airplanes、Boats、Car、Container、Farland、House、Industry、Mansion、Pool、Stadium、Tree、Truck、Vessel等。在注释图像之前,将不同的对象类别分配给 11 个注释者。在第一轮细粒度注释之后,注释成员交叉检查彼此的注释类别并再次细化注释。在标记过程中,我们标注了一些未预定义为其他类别的对象。对于集群中出现的树,可能无法识别的数量,我们使用框对其进行注释,然后使用模糊核对其进行处理(见图 3),以使对象计数算法忽略这部分数字。对图像中不同类别的物体的中心点进行注释,标注点的坐标(xi, yi)信息以JSON格式保存。为了便于后续研究人员,我们使用原始的带注释的 JSON 文件生成相应的 Numpy 文件,每个文件包含 14 个大小为 1024 × 1024 的数组,其中每个数组中相应注释点的位置为 1,反之为 0。最后,我们提供原始的带注释信息的 JSON 文件、MOC-14 和 MOC-6 的 Numpy 文件。
在表 I 中,我们将 NWPU-MOC 与航空和遥感场景中的现有对象计数数据集进行了比较。如表中所示,NWPU-MOC 提供了 3416 个空中场景。与这些数据集的主要区别在于NWPUMOC同时标记了图像中中心点的14类对象,其中标记点的总数为38,3195。此外,NWPUMOC数据集中的每个场景都包含RGB和NIR图像。在航拍场景中,由于天气和照明条件等因素,地面物体的遮挡可能(如图4所示)。近红外波段的波长较长,可以提供更丰富的鉴别特征来帮助缓解遮挡问题。图 5 通过使用直方图分析了 NWPU-MOC 中每个图像的对象类别数量分布。图 6 显示了 NWPU-MOC 中每种类型的对象中包含的样本数。由于现实世界中各种地物之间存在样本不平衡,从图中可以看出MOC数据集中样本类别之间存在长尾分布。此外,在实际应用中,我们将NWPU-MOC的14个类别大致分为6个类别(MOC-6)。如图 2 所示,农田和池实际上作为航拍图像的背景出现,因此它们的数量不会被视为 MOC-6 中的负样本。
由于航拍图像的独特性质和多类别对象计数任务的特殊性,NWPU-MOC 数据集在以下方面提出了一些挑战。
1)大尺度变化: 如图3所示,由于航拍图像独特的捕获角度和高度,同一图像中的大尺度物体(如飞机、卡车、建筑物)和小尺度物体(如汽车)。这些尺度差异不仅存在于同一个图像中,还存在于不同的图像之间。
2)复杂背景: 航拍图像中复杂背景信息的存在往往会干扰模型。图像中存在的对象的实例容易受植被、光、天气等因素遮挡的影响(如图4所示)。
3)样本的长尾分布:NWPU-MOC数据集在类别之间表现出显著的分布不平衡。例如,汽车出现在 2,140 张图像中,而只有 78 张图像包含飞机(如图 6 所示)。这种不平衡对使用不平衡数据集训练无偏模型提出了挑战。
4)密集场景: 航拍图像覆盖广域,对象实例只占图像的一小部分。在一些港口和停车场等场景中,有多个类别的拥挤物体。例如,在 NWPU-MOC 中,有 3、582 个点标记的汽车的图像。在单个图像中计算多类别密集对象会带来相当大的挑战。
在本节中,我们提出了一种用于多类对象计数任务的多通道密度图计数 (MCC) 框架。如图7所示,我们在MCC中使用了基于密度的方法。首先,将RGB和N个IR图像作为输入,利用预先训练好的权值的骨干网提取其多尺度特征。然后使用特征金字塔网络(FPN)融合多尺度特征信息。之后,将近红外和RGB特征()融合并直接投影到多通道密度图()。在模型训练阶段,通过优化计数损失 接近生成的密度图 ( )。同时,我们提出了一种空间对比度损失 作为对中每个通道的相同空间位置之间的重叠的惩罚。优化以模拟和每个类别中通道之间的映射关系。
所提出的 MCC 分为两个阶段:在密度图生成阶段,使用输入图像 I 的相应点标记图 D(包含每个对象的 N 个点标签通道)生成具有 N 通道的高斯密度图 ,通过使用高斯核进行卷积:
其中,表示方差为σ和核大小k的2D卷积核。之后,将生成的高斯密度图作为密度图预测阶段的监督信息。然后,利用backbone(这里我们使用swintransformer[49])从和中提取多尺度特征信息:
其中,Concat(·) 表示连接操作, ,, ,(C=128)。为了缓解空中场景中存在的尺度变化问题,按照[50]的做法,我们通过使用特征金字塔网络(FPN)来融合多尺度特征信息:
之后,将, , 通过上采样的方式在特征维度上拼接起来:
其中,和分别表示2倍上采样和4倍上采样。经过FPN之后,包含了RGB和NIR的特征信息。如图7所示,该方法利用两个光谱的互补特性来融合RGB光谱和近红外光谱的特征,以缓解RGB航空图像中可能存在的背景黑暗和遮挡等问题:
近红外和RGB融合后的特征图f直接投影(这里我们使用1×1卷积层)到N个通道密度图:
其中,。最后,最后,使用生成的高斯密度图作为预测密度图的监督信息计算计数损失:
继之前的工作[14]、[50]之后,MSE损失函数被用作计数损失。然而,对于MOC任务,与单类别对象计数不同,预测密度图每个通道的相同空间位置可能存在重叠。在本文中,我们提出了一种空间对比损失函数来最小化预测密度图之间空间位置的相似性。最终的损失函数如下:
其中 γ 用作超参数,用于调整的权重,使其与 联合优化。
如图8所示,RGB-NIR特征被送入位置注意模块[51]。首先,利用三个1×1卷积层,将P变换为3个不同形状的特征地图(P1,P2,P3):
其中,K代表1*1卷积,R代表reshape。之后,我们使用 P1 和 P2 的转置矩阵进行矩阵乘法,并使用 softmax 层计算空间注意力map :
之后,将 S 和 P3 的转置相乘,并将结果重塑为 ,最后与矩阵 p 相加。该过程可以表述为,:
其中 α 初始化为 0,并在训练过程中逐步学习。如图8B所示,我们使用通道注意力机制[51]来融合通道维度中的RGB-NIR特征。与位置注意力模块不同,这里我们不对 P 应用卷积操作,而是直接reshape P ,然后计算自注意力map:
我们使用矩阵 p 和 p 的转置来进行矩阵乘法,并使用 softmax 来计算通道注意力map :
其中 表示 和 在通道维度中的相关性。然后,C 与的转置相乘,计算结果重塑为与 相同的形状,最后与求和得到:
最后,将和连接起来,并使用 1 × 1 卷积层将其特征维度减少到 c,得到:
如上所述,多类别目标计数 (MOC) 涉及区分不同类别的目标并准确计算每个类别的任务。这需要回归密度图的通道和对象类别之间具有一一映射的关系。以前的监督范式只是单独优化了计数损失函数,这不足以捕获预测密度图和对象类别之间的一对一映射关系。为了解决这个问题,我们提出了一个空间对比度损失L_s,其和计数损失L_c联合优化。
对预测的density map 中的每个通道,将其拉伸为1-D向量,长度为hw:
其中,表示的空间向量。接下来,我们将定义为空间向量和的余弦相似度:
其中,<>表示和的点乘,表示向量的L2范数。该过程生成了关于每个的空间相似度矩阵M:
最终, 空间对比损失L_s通过计算M中每个元素的均值求得:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。