《Exemplar Free Class Agnostic Counting》CVPR2022

news2024/12/25 23:49:15

概述

摘要: 这篇论文提出了一种新颖的“无范例类别无关计数”(Exemplar Free Class Agnostic Counting)方法,旨在测试时对新类别的对象进行计数,而无需访问该类别的标记训练数据。以往的类别无关计数方法无法在完全自动化的环境中工作,且需要在测试时进行计算昂贵的适应。为了解决这些挑战,作者提出了一个视觉计数器,它可以在完全自动化的环境中运行,且不需要任何测试时的适应。该方法首先从图像中识别出重复对象的范例,然后对这些重复对象进行计数。作者提出了一种新颖的区域提议网络来识别范例,然后使用基于密度估计的视觉计数器来获得相应的计数。该方法在FSC-147数据集上进行了评估,并显示出比现有方法更优越的性能。

拟解决的问题: 传统的视觉计数器通常针对特定类别的对象进行计数,需要大量的标注训练数据,并且只能一次计数一个类别。这限制了它们在多种类别对象计数中的可扩展性。作者提出了一种类别无关的视觉计数器,能够同时对多个类别的对象进行计数,而不需要在测试时提供特定类别的范例

创新之处

  1. 提出了第一个无需范例的类别无关视觉计数器,能够对训练时未标注的新颖类别进行计数。
  2. 开发了一种新颖的卷积网络架构,称为重复区域提议网络(Repetitive Region Proposal Network, RepRPN),用于自动识别图像中最频繁类别的少量范例。
  3. 提出了一种知识转移策略,用于处理FSC-147数据集中未标注对象的问题。

方法

  • Repetitive Region Proposal Network (RepRPN):用于从图像中识别重复对象类别的范例,并预测每个提议的对象性(objectness)和重复性(repetition)得分。
  • Density Prediction Network (DPN):用于预测与RepRPN生成的每个范例对应的高分辨率密度图。
  • 知识转移策略:利用在大规模目标检测数据集上训练的RepRPN和在FSC-147上训练的密度预测网络作为教师网络,来处理FSC-147数据集中未标注对象的问题。

2.1 RepRPN 

从图像中识别出重复对象的区域,并为这些区域生成高质量的区域提议。它旨在为后续的密度预测网络(DPN)提供准确的范例,以便对图像中的重复对象进行有效的计数。

RepRPN 利用了 ResNet-50 作为其特征提取的骨干网络,并在特征图上应用了自注意力(Self-Attention)机制来捕获全局信息。它预测每个锚点位置的提议边界框以及对象性(objectness)和重复性(repetition)得分。

对象性和重复性得分:

  • 对象性得分:表示提议是否属于任何对象类别而不是背景类别的概率。
  • 重复性得分:指图像中提议内包含的对象出现的次数。例如,如果图像中有 m 只猫和 n 个橙子,RepRPN 应该为任何猫的提议预测 m 作为重复性得分,为任何橙子的提议预测 n。

2.2 RepRPN-Counter 

DPN的目的是为每个选定的范例预测一个高分辨率的密度图。密度图表示了图像中每个像素点属于某个特定范例对象的概率。DPN的工作流程如下:

  1. 特征提取:使用与RepRPN相同的ResNet-50骨干网络提取特征图。
  2. 区域感兴趣(Region of Interest, RoI)池化:对RepRPN选定的范例进行RoI池化,提取每个范例的特征。
  3. 密度图预测:将范例特征与整个图像的特征相结合,通过全卷积网络预测密度图。DPN由多个卷积层和上采样层组成,输出的密度图与输入图像具有相同的空间尺寸。
  4. 计数:通过累加密度图中所有像素的值来计算每个范例的总数量。

2.3 知识转移

知识转移策略旨在利用额外的预训练模型来弥补训练数据中的不足。通过从预训练的模型中转移知识,可以提高模型对未标注类别的识别和计数能力。

预训练的Repetitive Region Proposal Network (RepRPN)

  • 首先,在大规模目标检测数据集(如MSCOCO)上预训练RepRPN,使其能够识别各种类别的对象。
  • 使用这个预训练的RepRPN作为“教师模型”,为FSC-147数据集中未标注的对象生成对象性得分和重复性得分。

预训练的密度预测网络 (FamNet)

  • 使用在FSC-147数据集上预训练的FamNet作为教师模型,它能够预测任何单个范例的密度图。
  • 对于未标注的对象,使用FamNet生成目标密度图,作为训练RepRPN-Counter时的监督信号。

知识转移的过程

(1)生成目标标签

  • 对于FSC-147数据集中未标注的对象,利用预训练的RepRPN生成对象性得分和重复性得分。
  • 对于需要密度预测的未标注对象,利用FamNet生成目标密度图。

(2)训练RepRPN-Counter

  • 使用从教师模型转移来的目标标签来训练RepRPN-Counter。
  • 这样,即使在训练数据中未明确标注某些类别的对象,模型也能够学习如何识别和计数这些对象。

结论

作者提出的RepRPN-Counter是首个能够处理在测试时未见过的类别的视觉计数器。通过新颖的区域提议网络和密度估计网络,该计数器在FSC-147数据集上实现了优越的性能,并且优于现有的类别无关视觉计数器。此外,RepRPN还可以显著提高其他类别无关视觉计数器的性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2107780.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【刷题笔记】打家劫舍问题

欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 题目一 题目链接:打家劫舍I 思路 小偷每到一初,都可以选择对这个位置偷还是不偷,所以,这次我们需要定义两个表 小Tips:针对这种情况,一般…

OpenGL/GLUT实践:水面模拟——从单振源到 Gerstner Wave(电子科技大学信软图形与动画Ⅱ实验)

源码见GitHub:A-UESTCer-s-Code 文章目录 1 实现效果1 简单水面模拟——单振源1.1 水面高度函数1.2 水面建模1.3 openGL 渲染(1) renderSense(2) 其他 1.4 实现效果 2 添加鼠标控制3 添加纹理4 多个振源组合5 Gerstner Wave 模型5.1 原理5.2 具体实现5.2.1 全局变量…

pytest 常用的辅助函数和工具函数

pytest 常用的辅助函数和工具函数示例 # File: my_module.pydef fetch_data():return process datadef process_data():data fetch_data()return data.upper() import logging import sys import pytest#01-------------------------------pytest.fixture,sample_data 在测试…

Android 下的 XML 文件(概念理解、存储位置理解)

一、XML 1、XML 概述 XML(Extensible Markup Language,可扩展标记语言)是一种用于存储和传输数据的标记语言 类似于 HTML,但旨在传输和存储数据,而不是显示数据,且基本语法都是标签 2、XML 的特点 &am…

【2024数模国赛赛题思路公开】国赛B题思路丨附可运行代码丨无偿自提

2024年国赛B题解题思路 问题 1: 抽样检测方案设计 【题目分析】 分析: 目标是设计一个高效的抽样检测方案,在尽量少的样本数量下,确保在高信度水平下做出正确的接受或拒收决策。需要处理两个不同的信度要求,这对样本量的计算提…

解决matplotlib中文乱码最简单方案

解决matplotlib中文乱码问题方案众多,我认为如下方案是最简单的一个。 1、从电脑中搜索simhei字体,如下示意图是mac检索结果,或者直接搜索simhei.ttf下载字体 拷贝到指定路径:/path/to/mex/simhei.ttf 2、matplotlib 加载字体 …

【Git】本地仓库操作

Part1 基础概念 git作用:管理代码版本,记录,切换,合并代码 git仓库:记录文件状态内容和历史记录的地方(.git文件夹) git的三个区域:1)工作区:实际开发时的文…

针对STM32串口输出乱码错误问题

STM32在通过printf打印到串口时出现的文字乱码问题 使用printf文件中main.c文件,检查文件的编码方式是否正确,如下图所示,选择Chinese GD2编码方式:Edit--》Configuration 检查串口输出还是乱码错误 可以检测所建文件夹中main.c…

大道至简,大厂官网基本都走简洁化设计路线。

「大道至简」是一种设计理念,强调设计应该追求简洁、直观、易用,而不是过多的修饰和繁琐的细节。 对于大厂的官网来说,简洁化设计路线的选择可能有以下几个原因: 1. 更好的用户体验: 简洁的设计可以让用户更容易地理…

【Python报错已解决】`EOFError: Ran out of input`

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 引言:一、问题描述:1.1 报错示例:1.2 报错分析:1.3 解决思路&#xff…

LM Studio 本地部署大模型Qwen

本人运行环境win11 、11th Gen Intel Core™ i7-11800H 2.30GHZ、NVIDIA GeForce RTX 3060 Laptop GPU LMStudio 运行环境要求 What are the minimum hardware / software requirements? Apple Silicon Mac (M1/M2/M3) with macOS 13.6 or newerWindows / Linux PC with a…

【区块链 + 人才服务】链节区块链教学管理平台 | FISCO BCOS应用案例

当前,政策支持和行业需求为“区块链 教育”的发展提供了机遇。政策方面,教育部于 2020 年发布了《高等学 校区块链技术创新行动计划》,提出到 2025 年,在高校布局建设一批区块链技术创新基地,培养汇聚一批区块 链技术…

打卡第五十七天:prim与kruskal算法

题目 一、prim 本题是最小生成树的模板题。最小生成树 可以使用 prim算法 也可以使用 kruskal算法计算出来。 最小生成树是所有节点的最小连通子图, 即:以最小的成本(边的权值)将图中所有节点链接到一起。 图中有n个节点&…

从零到精通:用C++ STL string优化代码

目录 1:为什么要学习string类 2:标准库中的string类 2.1:string类(了解) 2.2:总结 3:string类的常用接口 3.1:string类对象的常见构造 3.1.1:代码1 3.1.2:代码2 3.2:string类对象的遍历操作 3.2.1:代码1(begin end) 3.2.2:代码2(rbegin rend) 3.3:string类对象的…

ESD防静电监控系统助力电子制造行业转型升级

在电子制造行业中,静电危害不容小觑。ESD 防静电监控系统的出现,为行业转型升级带来强大助力。电子元件对静电极为敏感,微小的静电放电都可能损坏元件,影响产品质量。ESD 防静电监控系统能够实时监测生产环境中的静电状况&#xf…

Python制作爱心跳动代码,这就是程序员的烂漫吗

最近有个剧挺火的 就是那个程序员的剧,叫什么温暖你来着 咳咳,剧我没怎么看,但是吧,里面有个爱心代码,最近可是蛮火的,今天就用Python来尝试一下吧 怎么说呢,用这个表白也可以的,万…

计算机网络(运输层)

运输层概述 概念 进程之间的通信 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。 当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时&a…

数量多怎么打印最便宜?

当您面临大量文件需要打印时,如何找到既经济又高效的打印解决方案成为关键。在众多打印服务中,琢贝云打印凭借其显著的价格优势和服务特色,成为众多用户的首选。 极致低价,成本更低 黑白打印超低价:提供的黑白打印服…

照明风暖浴霸语音控制芯片,智能声控开关芯片方案NRK3301

照明风暖浴霸通过特制的防水红外线热波管,与换气扇的巧妙组合,将浴室的取暖、红外线理疗、浴室换气、装饰等多种功能结合于一体的浴用小家电产品;为了提升产品的卖点,许多厂商都在尝试加各色各样的功能,某厂家加入了NR…

分销--分销人员管理系统架构文档

1. 概述 1.1 目的 本系统架构文档旨在描述分销人员管理系统的整体设计与结构,明确系统的功能模块、流程和技术实现,确保系统能够有效支持分销员的招募、管理及监督。 1.2 范围 本文档涵盖了分销员招募与管理。包括分销员列表、招募流程等。 2. 系统…