摘要
论文考虑了在图像中对任意语义类别的对象进行低样本计数的问题,这包括使用少量标注样本(少样本)或没有样本(无样本)的情况。提出了一种名为LOCA(Low-shot Object Counting network with iterative prototype Adaptation)的网络。LOCA的主要贡献是一个新的对象原型提取模块,该模块通过迭代融合样本的形状和外观信息以及图像特征来提取对象原型。这个模块很容易适应于零样本场景,使LOCA能够覆盖整个低样本计数问题的范围。LOCA在FSC147基准测试上的表现超过了所有最近的最先进方法,在单样本和少样本情况下,均方根误差(RMSE)提高了20-30%,在零样本场景中达到了最先进的水平,同时展示了更好的泛化能力。
拟解决的问题
论文旨在解决低样本情况下的对象计数问题,这包括少样本计数(few-shot counting)和零样本计数(zero-shot counting)。在少样本计数中,只有少数对象通过边界框(样本)进行了标注,而在零样本计数中,考虑的是在没有标注的情况下计数最常见的类别。
创新之处
- 提出了一个新的对象原型提取模块,该模块通过迭代融合样本的形状和外观信息以及图像特征来提取对象原型。
- 该模块能够适应零样本场景,使得LOCA能够处理包括零样本在内的整个低样本计数问题的范围。
- LOCA在FSC147基准测试中取得了显著的性能提升,特别是在单样本和少样本情况下的RMSE。
方法
LOCA的架构包括四个步骤:图像特征提取(编码器)、目标原型提取、原型匹配和密度回归(解码器):
- 图像特征提取(编码器):使用预训练的ResNet-50作为编码器,提取输入图像的特征。
- 对象原型提取:通过一个新颖的对象原型提取模块(OPE),考虑标注对象的形状和外观信息,生成目标原型。OPE使用图像特征图和一组边界框来构建目标原型,并引入了迭代适应模块来逐步将样本的外观转移到最终原型中。
- 原型匹配:将提取的对象原型与图像特征进行匹配,生成相似性图。
- 密度回归(解码器):通过解码器将相似性图转换为最终的密度图,密度图的值的总和即为对象计数。
4.1 目标原型提取模块
负责从少量标注样本(在少样本计数中)或无标注样本(在零样本计数中)生成能够代表图像中所有同类对象的对象原型。这些原型能够概括图像中选定类别对象的外观,并保留良好的定位属性。原型应该能够泛化到图像中未标注的对象上,从而提高定位精度和计数估计的准确性。
(1)初始化形状查询和外观查询:
- 外观查询(Appearance Queries):通过将图像特征从每个标注的边界框中进行RoI池化,生成与边界框对应的外观查询。这些查询是形状不可知的,因为它们将不同空间形状的特征映射到相同大小的矩形查询中。
- 形状查询(Shape Queries):为了补充丢失的形状信息,使用非线性映射将每个边界框的宽度和高度特征映射到高维张量,生成形状查询。
(2)迭代适应(Iterative Adaptation):
- 形状查询和外观查询通过一个迭代适应模块进行处理,该模块使用交叉注意力机制逐步将样本的外观转移到目标原型中。
- 迭代过程包括以下步骤:
- 使用多头注意力(MHA)和层归一化(LN)对形状查询和外观查询进行迭代更新。
- 每个迭代步骤都包括两个主要操作:首先是使用注意力机制将外观查询融入到形状查询中,然后使用图像特征更新这些查询。
- 通过一个小型前馈网络(FFN)进一步调整查询,以细化原型的特征表示。
(3)输出对象原型:经过一系列迭代后,最终生成一组目标原型,这些原型能够准确地反映图像中对象的形状和外观特征。
4.2 零样本设置的适应
在没有标注样本的零样本计数场景中,OPE模块需要进行轻微的调整:
- 跳过与特定标注相关的步骤,使用可训练的目标查询来初始化迭代过程。
- 这些目标查询通过迭代适应模块进行更新,以生成能够准确计数的目标原型。
4.3 损失函数
主损失函数是用于衡量预测的密度图与真实密度图之间的差异。这个损失函数是网络训练过程中优化的主要目标,确保预测的密度图能够尽可能地接近真实值。具体定义如下:
辅助损失用于在训练过程中提供额外的监督信号,帮助网络在迭代过程中更好地学习对象原型。这是通过在OPE模块的每个迭代步骤中添加辅助损失来实现的。具体定义如下:
结论
LOCA在FSC147公共基准测试中的少样本、单样本和零样本设置中均优于现有的最先进方法。在COCO子集上的实验表明,LOCA不仅优于最新的计数方法,也优于对象检测方法。此外,LOCA在CARPK数据集上展示了出色的跨数据集泛化能力。作者认为LOCA的主要贡献是新提出的OPE模块,它通过考虑图像范围内的特征来迭代地将样本的形状和外观属性适应到对象原型中,从而提高了定位属性和计数估计的准确性。