《Few-shot Object Counting and Detection》CVPR2022

news2025/5/15 6:36:46

概述

摘要: 论文提出了一个新的任务——少量样本目标计数和检测(Few-shot Object Counting and Detection, FSCD)。在这项任务中,研究者们旨在通过给定少量目标类别的示例边界框来计数和检测图像中所有目标对象。这项任务与少量样本目标计数(Few-Shot Object Counting, FSC)共享相同的监督,但除了总数之外,还需要输出对象的边界框。为了解决这一挑战,作者引入了一个新颖的两阶段训练策略和一个新颖的不确定性感知的少量样本目标检测器:Counting-DETR。前者旨在生成用于训练后者的伪Ground-Truth边界框。后者利用前者提供的伪Ground-Truth数据,但采取了必要的步骤来考虑伪Ground-Truth的不完美性。为了验证所提方法在新任务上的性能,作者引入了两个新数据集:FSCD-147和FSCD-LVIS。这些数据集包含具有复杂场景、每张图像中多个对象类别以及对象形状、大小和外观的巨大变化的图像。所提出的方法在计数和检测指标上都大幅超越了从少量样本目标计数和少量样本目标检测中适应过来的非常强的基线。

拟解决的问题: 论文解决的问题是,在少量样本的情况下,如何同时进行目标计数和边界框检测。这与以往的任务不同,因为通常目标检测和计数是分开处理的,而FSCD需要同时完成这两项任务,并且只有少量的标注样本可用。

回归函数扩展FamNet用于目标检测的FSCD的局限性。(a)该方法的处理流程:回归器以样本盒及其特征作为输入,以峰值密度位置的特征预测峰值位置的边界盒。(b)限制1:当样本与背景或密集区域外观相似时,FamNet预测的密度图质量较差。第一行是输入图像,每个图像都有几个样本,第二行是FamNet预测的相应密度图。(c)限制2:非判别峰值特征不能表示形状和大小有显著差异的物体。绿色框是根据在标注点处提取的特征进行预测的。

创新之处

  1. 提出了一个新的任务定义,即FSCD,它要求同时进行目标计数和边界框检测。
  2. 引入了两个新的数据集FSCD-147和FSCD-LVIS,这些数据集具有复杂场景和多样的对象类别。
  3. 提出了一个两阶段训练策略,首先生成伪Ground-Truth边界框,然后使用这些框训练检测器。
  4. 开发了一个新的不确定性感知的少量样本目标检测器Counting-DETR,它考虑了伪Ground-Truth的不完美性。

方法

  • 两阶段训练策略:第一阶段,Counting-DETR被训练以生成训练图像的伪Ground-Truth边界框;第二阶段,使用生成的伪Ground-Truth边界框对Counting-DETR进行微调,以在测试图像上检测对象。
  • Counting-DETR:这是一个基于对象检测器Anchor DETR的改进模型,它使用点特征直接预测对象边界框,并引入了不确定性估计来调节训练过程。

(1)Counting-DETR首先在几对点和边界框上进行训练,然后用于预测带注释的点的伪 GT 框; (2) Counting-DETR 被训练来预测对象边界框,预测目标是来自第一阶段的伪 GT 框。具体来说,输入图像首先通过 CNN+FPN 主干网络以提取其特征图。样本特征从它们的框中提取,并与特征图集成,生成样本集成的特征图。然后将该特征图作为编码器-解码器转换器的输入,以及第一阶段的注释点或第二阶段的锚点,用于前景/背景分类和边界框回归。在第二阶段,估计的不确定性被用来用新的不确定性损失来规范训练,以解释伪GT包围盒的不完善。 

2.1 Encoder-Decoder

采用示例集成的特征图和一组查询点作为输入,预测每个查询点的边界框。

编码器:主要目的是处理输入的图像特征图,通过自注意力(Self-Attention)机制来增强特征。自注意力机制允许模型在处理图像的不同区域时能够相互参考,从而更好地理解图像内容和上下文信息。

解码器:使用编码器输出的增强特征图,并结合查询点(Query Points)来预测每个查询点对应的对象的边界框和类别。

  • 输入:解码器接收来自编码器的增强特征图和一组查询点。这些查询点是2D点,代表图像中潜在对象位置的初始猜测。
  • 交叉注意力层:解码器中的交叉注意力层允许查询点与编码器的输出特征进行交互,这样每个查询点都可以获取到全局的上下文信息。
  • 输出:解码器输出每个查询点的预测结果,包括对象的类别得分和边界框坐标。类别得分用于判断查询点位置是否存在目标对象,边界框坐标则用于精确定位对象的位置和大小。

 在训练过程中,使用焦点损失(Focal Loss)和边界框回归损失(如L1损失和GIoU损失)来优化模型的预测。这些损失函数帮助模型更准确地预测对象的类别和位置。

不确定性损失:考虑到伪地面真实边界框的不完美性,引入不确定性损失来调节模型的训练,使得模型在预测不确定性较高的边界框时受到较小的损失惩罚。

2.2 两阶段训练策略

提出的Few-Shot目标检测器Counting-DETR只能对所有对象的bounding box监督进行训练。但是,我们只对几个示例进行边界框注释,所有对象的点注释作为 FSCD 的设置。因此,我们提出了一种两阶段训练策略

  • 第一阶段,使用示例集成的特征图和示例边界框的中心作为查询点,训练编码器-解码器模型。在这个阶段,模型被训练来预测与查询点相关的边界框。
  • 第二阶段,使用第一阶段生成的伪地面真实边界框来微调模型,以提高在实际测试图像中检测和计数目标对象的性能。

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

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

相关文章

Your connection to this site is not secure

chrome 打开某一个网站的网页地址栏提示Your connection to this site is not secure,同一个网站的其它地址栏打开不会 无效的方案 浏览器地址栏输入: chrome://flags 找到下边的选项,从Default改为Disabled即可成功解决 亲测这个方法不行 解决方案 点击右上角的3个…

力扣每日一题 一个小组的最大实力值 线性DP

Problem: 2708. 一个小组的最大实力值 &#x1f468;‍&#x1f3eb; 灵神题解 class Solution {public long maxStrength(int[] nums) {// 初始化mn和mx为第一个元素的值long mn nums[0];long mx nums[0];// 从第二个元素开始遍历数组for (int i 1; i < nums.length; i…

vue项目生成插件的LICENSE文件

一、安装license-webpack-plugin npm install --save-dev license-webpack-plugin 二、添加webpack配置 const {LicenseWebpackPlugin} require(license-webpack-plugin)module.exports {configureWebpack: {plugins: [new LicenseWebpackPlugin()]} }三、执行npm run buil…

jpg图片怎么转换成png?值得推荐给大家的几种转换方法

jpg图片怎么转换成png&#xff1f;将jpg图像转换为png格式可以显著提升图像的质量和清晰度&#xff0c;并满足一些特殊需求&#xff0c;例如透明背景。png格式采用无损压缩&#xff0c;这意味着图像在转换过程中不会丢失任何细节或质量&#xff0c;相比于jpg的有损压缩&#xf…

day06 1.继承和多态

#include "work.h"Stack:: Stack():size(10) {data new char[size];top -1;cout <<"无参构造"<<endl; }Stack:: Stack(const char* s) {size strlen(s);data new char[size];strcpy(data,s);top size-1;cout <<"有参构造"…

Android之Handler的post方法和sendMessage的区别

目录 post 方法方法特点 sendMessage 方法方法特点 使用场景区别总结 Handler 类在 Android 中用于在不同线程之间传递消息和执行代码。它提供了两种主要的方式来执行任务&#xff1a;通过 post 方法和通过 sendMessage 方法。这两种方法有不同的使用场景和特点。 post 方法 方…

【系统架构设计】嵌入式系统设计(2)

【系统架构设计】嵌入式系统设计&#xff08;2&#xff09; 嵌入式网络系统嵌入式 Internet 的接入方式嵌入式 TCP/IP 协议栈 嵌入式数据库管理系统数据的一致性高效的事务处理数据的安全性 实时系统与嵌入式操作系统对实时系统划分根据实时性的强弱根据对错失时限的容忍程度或…

Android Google Maps

Android 谷歌地图 前言正文一、设置Google Cloud 项目二、项目配置① 设置SDK② 配置API密钥③ 配置AndroidManifest.xml 三、添加地图四、定位当前① 请求定位权限② 我的位置控件③ 获取当前位置 五、配置地图① xml配置地图② 代码配置地图③ 地图点击事件④ 管理Marker 六、…

达梦SQL 优化简介

目录 一、定位慢 SQL &#xff08;一&#xff09;开启跟踪日志记录 1.跟踪日志记录配置 &#xff08;二&#xff09;通过系统视图查看 1.SQL 记录配置 2.查询方式 二、SQL分析方法 &#xff08;一&#xff09;执行计划 1.概述 2.查看执行计划 &#xff08;二&#x…

使用LLaMA-Factory快速训练自己的专用大模型

本文聊聊 LLama-Factory&#xff0c;它是一个开源框架&#xff0c;这里头可以找到一系列预制的组件和模板&#xff0c;让你不用从零开始&#xff0c;就能训练出自己的语言模型&#xff08;微调&#xff09;。不管是聊天机器人&#xff0c;还是文章生成器&#xff0c;甚至是问答…

物联网能源管理平台

能源管理平台可以对接各种物联网设备&#xff0c;感兴趣的朋友可根据下方方式联系获取演示账号 1.介绍 2.智慧照明接入 设备远程控制&#xff0c;灯光亮度感应等模式设置&#xff0c;用电耗能分析 3.温控器接入 温控器&#xff08;空调面板&#xff09;接入&#xff0c;实现…

GB/T28181规范和JT1078交通部标差异

技术背景 好多开发者区分不太清楚GB/T28181和JT1078规范&#xff0c;实际上&#xff0c;二者在规范定义、技术特点、过检认证以及应用场景等方面均存在显著差异。两者各有其适用领域和优势&#xff0c;但在某些特定场景下也可能需要相互协作以实现更全面的监控和管理。 规范定…

C#复习之封装_静态成员

知识点一 静态成员的基本概念 知识点二 早已出现的静态成员 知识点四 静态成员的使用 知识点五 为什么可以直接点出来 //记住&#xff01; //程序中是不能无中生有的 //我们要使用的对象&#xff0c;变量&#xff0c;函数都是要在内存中分配内存空间的 //之所以要实例化对象…

TWS蓝牙耳机发展历史以及涉及的相关技术知识

TWS(True Wireless Stereo)蓝牙耳机是近年来迅速发展的消费电子产品之一。它们的诞生和发展经历了多个阶段,并涉及到多项关键技术。以下是 TWS 蓝牙耳机的发展历史及相关技术知识的详细解析。 1. TWS 蓝牙耳机的发展历史 1.1 初期阶段(2014年之前) 在 TWS 蓝牙耳机出现之…

老师怎样用微信发布月考成绩?

每当月考结束&#xff0c;老师们就开始了一项繁琐的任务——将成绩单一一私信给每位学生的家长。这不仅耗时耗力&#xff0c;还容易出错。家长们焦急等待&#xff0c;老师们则在电脑前忙碌着&#xff0c;一张张成绩单&#xff0c;一条条信息&#xff0c;重复的工作让人疲惫不堪…

Unity(2022.3.41LTS) - UI详细介绍-Scrollbar(滚动条)

目录 零.简介 一、基本功能与用途 二、组件介绍 三、使用方法 四、优化和注意事项 五.和滑动条的区别 零.简介 在 Unity 中&#xff0c;滚动条&#xff08;Scrollbar&#xff09;是一种用于实现滚动功能的 UI 组件。 一、基本功能与用途 滚动内容&#xff1a;主要用于…

【重学 MySQL】五、MySQL 的卸载

【重学 MySQL】五、MySQL 的卸载 停止MySQL服务卸载MySQL程序删除残余文件清理注册表删除环境变量配置重启电脑 MySQL的卸载过程需要仔细操作&#xff0c;以确保彻底卸载并清理所有相关文件和配置。 停止MySQL服务 打开任务管理器&#xff1a;右键点击任务栏空白处&#xff0…

模组级存储与嵌入式存储的千差万别

雷龙在多年销售CS创世 SD NAND&#xff08;也称&#xff1a;迷你型eMMC&#xff0c;小尺寸/小容量eMMC&#xff0c;贴片式T卡&#xff0c;贴片式TF卡&#xff0c;贴片式SD卡等&#xff09;的过程中&#xff0c;经常有被用户问到&#xff1a;SD NAND 与 TF卡 到底有哪些区别呢&a…

动态路由和路由导航守卫及其案例分析

为什么需要动态路由&#xff1f; 动态路由其实用的不多&#xff0c;在实际开发中&#xff0c;如果遇到权限分配问题&#xff0c;比如对于一个公司人员的后台管理系统&#xff0c;那对不同成员的权限肯定不同&#xff0c;对于人事部&#xff0c;他们有权限进入成员表对人员的流…

【网络安全】XSS漏洞挖掘Tip

未经许可&#xff0c;不得转载。 某网页存在错误信息&#xff0c;包含在div标签内&#xff1a; 检查此页面的源代码以获取id属性&#xff1a; 将id属性作为 GET 参数进行测试&#xff0c;例如在 URL 中添加error_messagehelloworld&#xff1a; 可以看到&#xff0c;参数被接受…