本文主要是介绍《Learning To Count Everything》CVPR2021,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
摘要
论文提出了一种新的方法来解决视觉计数问题,即在给定类别中仅有少量标注实例的情况下,对任何类别的对象进行计数。将计数问题视为一个少样本回归任务,并提出了一种新颖的方法,该方法通过查询图像和查询图像中的少量示例对象来预测图像中所有感兴趣对象的存在密度图。此外,还提出了一种新颖的适应策略,使网络能够在测试时仅使用新类别中的少量示例对象来适应任何新的视觉类别。为了支持这一任务,作者还引入了一个包含147个对象类别、超过6000张图像的数据集,并在该数据集上进行了实验,证明了他们的方法优于现有的一些最先进的对象检测器和少样本计数方法。
概述
拟解决的问题:现有的视觉计数研究主要集中在单一特定类别上,如人、动物和细胞。而本文的目标是能够对任何类别的对象进行计数,即使只有该类别的少量标注实例。这包括处理大规模视觉类别的计数系统设计难题,以及缺乏足够大的、包含多个视觉类别的无约束计数数据集的问题。
创新之处:
- 问题重新定义:将计数问题重新定义为少样本回归任务。
- FamNet架构:提出了一个名为Few Shot Adaptation and Matching Network (FamNet)的新架构,用于处理少样本计数任务。
- 少样本适应策略:开发了一种新颖的少样本适应方案,在测试时使用梯度下降更新来适应新类别。
- FSC-147数据集:引入了一个包含147个视觉类别、超过6000张图像的中等规模数据集,适合少样本计数任务。
方法
FamNet包括两个关键组件:
- 特征提取模块:使用预训练的网络来处理大量视觉类别。
- 密度预测模块:设计为与视觉类别无关,通过相关性图作为输入来预测密度图。
训练时,使用带有边界框和点注释的训练图像,通过最小化预测密度图和真实密度图之间的均方误差来进行。测试时,使用提出的少样本适应方案来进一步提高计数精度。
2.1 方法部分
特征提取:多尺度特征提取模块由预训练的 ResNet-50 主干的前四个块组成(这些块的参数在训练期间被冻结)。我们通过第三个和第四个块的卷积特征图来表示图像。我们还通过对来自第三个和第四个Resnet-50块的卷积特征映射执行ROI池来获得样本的多尺度特征。
密度预测:为了使密度预测模块与视觉类别无关,不使用直接从特征提取模块获得的特征进行密度预测。相反,我们只使用样本特征和图像特征之间的相关性图作为密度预测模块的输入。为了解决不同尺度的感兴趣的对象,我们将样本特征缩放到不同的尺度,并将缩放的样本特征与图像特征相关联,以获得多个相关图,每个尺度一个。对于我们所有的实验,我们使用 0.9 和 1.1 的尺度以及原始尺度。相关图被连接起来并输入到密度预测模块中。密度预测模块由五个卷积块和三个上采样层组成,放置在第一个、第二个和第三个卷积层之后。最后一层是一个 1×1 卷积层,用于预测 2D 密度图。预测密度图的大小与输入图像的大小相同。
2.2 适应策略
在少样本学习场景中,模型需要能够快速适应新的视觉类别,即使这些类别在训练阶段未曾见过。适应策略的目的是利用测试时提供的少量示例对象,通过快速的梯度下降过程调整模型参数,以提高对新类别的计数精度。
Min-Count Loss:这个损失函数确保每个示例对象的边界框内的预测密度值之和至少为1。这是基于每个边界框至少包含一个对象的假设。
- 其中 B 是所有示例对象的边界框集合, 是在边界框 b 内从预测密度图中裁剪出的部分, 是 中所有值的总和。
Perturbation Loss:这个损失函数受到基于相关滤波的跟踪算法的启发,旨在使预测密度图在示例对象位置附近的值呈高斯分布,从而更好地模拟对象的存在。
- 其中 是一个高斯窗口,大小为 h×w,模拟理想中的密度分布。
联合适应损失(Adaptation Loss):这是Min-Count Loss和Perturbation Loss的加权组合,用于测试时的参数更新。
适应过程:
- 在测试阶段,对于每张测试图像,使用提供的少量示例对象的边界框,计算上述适应损失。
- 通过梯度下降法更新FamNet的密度预测模块的参数。这个过程通常涉及少量(如100步)的迭代更新,使用一个较小的学习率。
- 这种适应过程仅在测试时进行,不涉及训练数据,目的是在面对新类别时快速调整模型以提高计数精度。
这篇关于《Learning To Count Everything》CVPR2021的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!