Learning To Count Everything(论文阅读笔记)

Learning To Count Everything

在这里插入图片描述
论文地址:https://arxiv.org/abs/2104.08391
源码:https://github.com/cvlab-stonybrook/LearningToCountEverything
出处:CVPR 2021
作者单位:石溪大学, VinAI研究院

一、摘要

目前的计数工作主要集中于某种特定的类别,例如人、动物或者细胞。在这篇文章中,作者将计数任务当做一个少样本(few-shot)回归任务,通过少数带注释的实例来计数一切

作者设计了一个新的方法,将查询图像与来自查询图像的一些范例对象结合在一起,并为查询图像中所有感兴趣的对象预测一个密度图,并提出了一种新的适应策略,使网络在测试时适应任何新的视觉类别。

数据方面,作者提供了一个包含147个类别,超过6000张图像的数据集( Few-Shot Counting-147,FSC-147)。数据集的标注采用了全部的点标注和3个矩形框标注两种格式。

实验结果表明,文中提出的方法在该数据集上优于几种最先进的目标检测和少量样本计数的方法。

二、介绍

目前,有两个主要的挑战阻碍计算机视觉领域设计出能够计算大量视觉类别的系统。

  1. 当前的计数方法将计数当做一个监督回归任务,这就导致了需要大量被标注的图片,而且很难处理大量的视觉类别;
  2. 没有任何足够大的无约束计数数据集,具有许多可视化的类别,以开发一种通用的计数方法。

为了解决上述两个挑战,作者在将计数定位为少样本回归任务,如图1所示。在这里插入图片描述

文章的主要贡献:

  1. 将计数任务定位为少样本回归任务;
  2. 提出了一个新的网络结构:Few Shot Adaptation and Matching Network (FamNet),包含两个主要的模块:特征提取模块(采用了resnet50)和密度预测模块,同时为了能在测试阶段适应新的类别,作者提出了一种少样本自适应方案来提高性能;
  3. 提出了一个数据集FSC-147。

二、相关工作

  1. 目前少样本学习的研究主要集中在图像分类任务上;
  2. 少样本检测任务与少样本计数的区别:
    少样本计数需要点标准,而少样本检测需要框标注
    少样本检测方法可能会受到严重遮挡的影响,而少样本计数是通过密度估计方法解决的,它对遮挡的鲁棒性比检测然后计数方法更强。
  3. 2018年提出的GMN模型,用于类无关计数。采用跟踪视频数据进行预训练,并具有显式自适应模块,使网络适应感兴趣的图像域。但GMN在测试时,需要较多标注样本来进行微调。

三、 Few-Shot Adaptation & Matching Network

3.1 Network architecture

在这里插入图片描述
4. 网络的输入:训练时输入密度图真值以及原图、3个标注框的位置;测试时输入图片+少量选取的样本框
5. feature extraction module:利用resnet 50的前面4个blocks(扔掉了全连接层),但冻结了这4个blocks的参数,不可改变,同时还用了FPN的多尺度来强化特征。
6. ROI pooling:将标注框所框的特征抠出来,池化成统一的大小。
7. feature correlation layer:ROI pooling取得的特征和特征提取器获得的特征做相关计算,得到的张量输入到下一层预测密度图。
8. density prediction module:预测密度图
9. 网络的输出:预测的密度图,目标的数量值(通过对所有的密度值求和得到)

FamNet由两个关键模块组成:

  1. 多尺度特征提取模块
    使用ImageNet预训练的网络进行特征提取,可以处理广泛的视觉类别。多尺度特征提取模块由来自预训练ResNet-50骨干网络的前四个块组成(这些块的参数在训练期间被冻结)。利用第三和第四个块处的卷积特征映射来表示图像。通过对第三和第四个Resnet-50块卷积特征映射执行ROI池化获得一个示例的多尺度特征。
  2. 密度预测模块
    为了使密度预测模块不受视觉类别的影响,不直接使用从特征提取模块获得的特征进行密度预测。相反,只使用范例特征和图像特征之间的相关映射作为密度预测模块的输入。
    为了解释在不同尺度下感兴趣的对象,将样本特征缩放到不同尺度,并将缩放后的样本特征与图像特征关联,从而获得多个相关map,每个尺度一个。在实验中,使用0.9和1.1的scales,以及原始的scales。将相关图串联并送入密度预测模块。
    密度预测模块由5个卷积块和3个上采样层组成,分别位于第一、第二和第三个卷积层之后。最后一层是1*1的卷积层预测2维密度图,其大小与输入图像一致。

3.2 Train

每个训练图像包含多个感兴趣的对象,但是只有范例对象用包围框注释,而且大多数对象只有点注释。

密度图的生成:由于数据集由147个不同的类别组成,这些类别中对象的大小差异很大。因此,作者使用自适应窗口大小的高斯平滑。首先,使用点注释来估计对象的大小。在点注释地图中,每个点都位于一个物体的近似中心,计算每个点与它最近的邻居之间的距离,并对图像中所有点的这些距离进行平均。这个平均距离用作高斯窗口的大小来生成目标密度图。高斯分布的标准偏差被设置为窗口大小的四分之一。

使用Adam优化器,学习速率为10−5,批大小为1。将每个图像的高度调整为384,并相应地调整宽度以保持原始图像的长宽比。

3.3 Test-time adaptation

在这里插入图片描述

  1. Min-Count Loss:每个框对应位置的物体数量应该至少是1个,若小于1个就产生损失。大于等于1不产生损失,框可能包含超过一个物体。
    在这里插入图片描述
  2. Perturbation Loss:从目标跟踪的研究借用correlation filter而来。给定一个需要跟踪的物体以及它的标注框,当一个框位于标注框的位置有最大的响应值,当这个框偏离了标注框,它的响应值根据距离指数型下降。
    在这里插入图片描述
  3. The combined adaptation Loss 综合损失:
    在这里插入图片描述The values for λ1 and λ2 are10−9 and10−4respectively.

四、数据集 FSC-147

4.1 图像采集

文章构建数据集采用了网络抓取的方式,并手动检查筛选图片并基于以下3个准则:高质量、目标数量够多、目标外观相似。

4.2 图像标注

工具:Computer vision annotation tool
在遮挡情况下,被遮挡的实例只有在被遮挡部分小于90%时才被计数和标注。对于每个图像,任意选择三个对象作为范例,并为这些实例绘制轴对齐的边框。

4.3 数据集划分

| | 图片数量| 类别数量 |
|–|–|-|–|–|
| 训练集 |3659| 89 |
|验证集|1286| 29 |
| 测试集|1190| 29 |

4.4 数据统计

在这里插入图片描述

五、实验

5.1 评价指标

在这里插入图片描述

5.2 与少样本方法比较

在这里插入图片描述

5.2 与目标检测方法比较

在这里插入图片描述

5.3 消融实验

在这里插入图片描述
在这里插入图片描述

5.4 对特定的类别计数

在这里插入图片描述

5.5 结果展示

在这里插入图片描述
第四张图的目标因为与背景相似所以估计的效果不理想。
在这里插入图片描述

六 总结

第一篇关注利用小样本实现新类别计数的论文。

  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Mathematica for Machine Learning机器学习的Mathematica)是一份关于使用Mathematica进行机器学习笔记。Mathematica是一种功能强大的数学软件包,在处理和分析数据方面非常有用。使用Mathematica,我们可以使用其内置的机器学习函数和算法进行数据建模、预测和分类。 笔记中可能包含以下内容: 1. 数据准备:读取和处理数据是机器学习的第一步。Mathematica提供了各种函数和工具来读取和处理数据。这些函数可以从各种数据源中读取数据,并进行数据清洗、转换和归一化。 2. 特征工程:特征工程是机器学习中至关重要的一步,它涉及将原始数据转换为更有信息量的特征。Mathematica提供了各种函数和工具来进行特征选择、提取和变换。 3. 模型选择和训练:Mathematica提供了各种机器学习算法和函数,可以帮助我们选择适当的模型,并使用训练数据对模型进行训练。这些算法包括回归、分类、聚类和降维等。 4. 模型评估和验证:一旦模型训练完成,需要对其进行评估和验证。Mathematica提供了各种性能评估指标和图形化工具来评估和比较不同的模型。 5. 预测和推断:一旦我们有了训练好的模型,我们可以使用Mathematica进行预测和推断。该软件包提供了函数和工具,可以使用模型对新数据进行预测,并生成相关的可视化结果。 6. 高级机器学习功能:Mathematica还提供了一些高级的机器学习功能,如深度学习和强化学习。这些功能可以帮助我们解决更复杂的机器学习问题。 总之,Mathematica for Machine Learning提供了许多有用的函数和工具,可以帮助我们在机器学习中进行数据处理、模型选择和训练、模型评估和预测等任务。通过学习和使用这些笔记,我们可以更好地理解和应用机器学习算法并解决实际问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值