few shot目标检测survey paper笔记(整体概念)

news2024/10/5 19:16:39

paper: Few-Shot Object Detection: A Comprehensive Survey (CVPR2021)

深度学习提高了目标检测的精度,但是它需要大量的训练数据。
对于训练数据集中没有见过的目标,是检测不了的,所以就限制了在实际中的应用。
如果想让模型去识别新的目标,就需要自己标注,这是既花时间又很枯燥的活,而且像医疗数据这种根本得不到大量的数据。
对比人类就不同了,小孩子看一眼一个物体就能很快认识它。
那么就引出了few shot目标检测(FSOD)。称作小样本目标检测。旨在通过少量标注的数据去训练一个已经预训练的模型,就能达到检测新目标的目的。

大致思想如下
在这里插入图片描述

小样本目标检测的一些概念:

在这里插入图片描述

先给模型训练的base数据集和新标注的小样本数据集novel是不重叠的。

K-shot目标检测: C n o v e l C_{novel} Cnovel中每个类别只有K个标注的目标instances. 并不一定是K张图片(一张图片中可有多个目标)。
难度最大的是one-shot目标检测,也就是K=1.

N-way目标检测:从N个类别中检测目标,N<=| C n o v e l C_{novel} Cnovel|

few-shot目标检测可以总结为N-way K-shot检测。

为什么要先用 D b a s e D_{base} Dbase训练然后再用 D n o v e l D_{novel} Dnovel,而不是直接用 D n o v e l D_{novel} Dnovel训练?因为只用 D n o v e l D_{novel} Dnovel训练会overfit, poor generalization.
那么把 D b a s e D_{base} Dbase D n o v e l D_{novel} Dnovel融合成一个数据集一起训练呢? D b a s e D_{base} Dbase数据集中的样本数远远多于小样本的 D n o v e l D_{novel} Dnovel,是很大程度的class imbalance, 结果就是训练时会偏向base数据集,造成小样本数据类别检测效果不好。

基本上训练是分成3步的,
第1步,用classification数据(比如imageNet)先训练backbone, 得到初步的模型 M i n i t M_{init} Minit,
第2步,用 D b a s e D_{base} Dbase训练,得到模型 M b a s e M_{base} Mbase,
最后用在这里插入图片描述训练,得到 M f i n a l M_{final} Mfinal
在这里插入图片描述

小样本数据训练的相关概念:

Few-Shot Learning and Classification:
最早用于分类任务,比目标检测任务要简单一些,它的一些ideas也可用于目标检测。

Semi-Supervised Learning:
半监督学习,只有少量有标签的数据,大量没有标签的数据可用来学习合适的representations.
可用来提高few-shot learning中学习到的representations.

Incremental Learning:
一般的深度学习会遇到严重的忘性,学习了新数据就忘了旧数据。
比如先用COCO数据集训练,再用航拍数据训练,然后就只能检测航拍数据,COCO数据竟检测不出来了。
增量学习旨在保留旧类别的performance.
当不断有新的类别进来时,一些FSOD方法会引入增量学习。

几种不同的目标检测:

一般目标检测:分类+目标框,类别有限,不在训练类别里面的就检测为背景。需要标注的数据集进行训练。

Cross-Domain目标检测:
先用大量标记数据训练,再用不同领域的少量数据训练。这乍一听不就是few-shot么。
其实不然,cross-domain前后虽然是不同的domain, 但前后类别是一样的,比如先用合成数据训练,再用真实数据训练;
few-shot是引入新的类别。

Zero-shot目标检测:
是few-shot的极端情况,标注数据为0 (K=0)。
zero-shot常和语义word embedding一起,语义上相似类别的目标在embedding空间会有相似的feature。
zero-shot对于检测常用的物体是可以的,但是如果你提供一个特殊的标签,或者想区分非常相近的目标是有问题的。

Weakly Supervised目标检测:
弱化标注,训练数据仅包含image-level的标签。
比如在图像的某个地方是不是存在某种类别的目标。这种标注比画框标注简单,常可通过关键字搜索获得。
弱监督的难点再于训练时没有任何定位信息的情况下检测到所有目标。
虽然说在标注上难度有所下降,但是仍然需要大量的图片,在很难获得图片(比如医疗图像)时仍然是有困难的。

几种Learning Techniques:

Transfer Learning(迁移学习):
和few-shot的区别是,新的类别数据不必要是小数据。
因此,如果用迁移学习做小样本训练,需要结合小样本学习。

Metric Learning(度量学习):
学习一个embedding, 可以理解为一个特征向量。相似的目标特征会相似,有较小的距离. 不相似的目标距离就远。
为了学习到有较低类内距离和较高类间距离的L2特征,一般会用到triplet loss或者它的拓展。
这些特征的推广性还不错,模型可以encode新类别的目标,不需要重新训练。
在模型推理阶段,模型会提取新目标的embedding,然后类别会分到最相近的特征embedding类别中。
不过,上面只提到了分类,对于目标检测,还需要把目标的位置信息融合进去。

Meta Learning(元学习):
也叫“学会学习”,以推广到新的任务和新的数据。
对于小样本few-shot来说,元学习需要学会如何区分出训练时不固定的类别,
所以需要学习如何最有效地获取需要的信息,以便在只有少量样本时也能学到有效信息。

小样本目标检测方法分类

paper中将FSOD分为两类,meta learning和transfer learning.
其中meta learning又分为single-branch和dual-branch.
dual-branch: 2个input, query和support image.
single-branch: 类似于一般的检测模型,但是在训练新的类别或者用metric learning时,会压缩需要学习的参数的数量。

一些dual-branch结构和迁移学习会结合metric learning的idea,所以为了不至于混淆,paper不把metric learning单独当作一个类别。
而是通过训练策略和结构把SOTA方法进行区分。

下面的图是survey中涉及到的方法,可以看出小样本目标检测这个领域还很新,大部分方法都是近几年才提出来,
其中多数用了transfer learning和dual-branch meta learning.
在这里插入图片描述

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

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

相关文章

【SLAM】坐标系变换与外参标定

【SLAM】坐标系变换与外参标定 突然发现学习文档有下面这句话&#xff1a; 学习这件事不在乎有没有人教你&#xff0c;最重要的是在于你自己有没有觉悟和恒心。——法布尔 task02从二维坐标系开始推导坐标系变换参数&#xff0c;进而加入平移&#xff0c;加入Z轴拓展到三维坐…

论文笔记:Deep Representation Learning for Trajectory Similarity Computation

ICDE 2018 1 intro 1.1 背景 用于计算轨迹相似性的成对点匹配方法&#xff08;DTW&#xff0c;LCSS&#xff0c;EDR&#xff0c;ERP&#xff09;的问题&#xff1a; 轨迹的采样率不均匀 如果两个轨迹表示相同的基本路径&#xff0c;但是以不同的采样率生成&#xff0c;那么这…

uni-app 之 下拉刷新,上拉加载,获取网络列表数据

uni-app 之 下拉刷新&#xff0c;上拉加载&#xff0c;获取网络列表数据 image.png <template><view><!-- 车源模块 -->--- uni.request 网络请求API接口 ---<view v-for"(item) in newsArr" :key"item.id" style"display: fle…

uniapp使用Vue2框架生成二维码

1. 生成二维码插件 npm install qrcodejs2 --save 上代码&#xff1a; <template><view><view class"page" ><div id"qrCode" ref"qrCodeDiv" ></div></view><view class"page">核…

微信小程序音频后台播放功能

微信小程序在手机息屏后依旧能播放音频&#xff0c;需要使用 wx.getBackgroundAudioManager() 方法创建后台音乐播放器&#xff0c;并将音乐播放任务交给这个后台播放器。 具体实现步骤如下&#xff1a; 小程序页面中&#xff0c;使用 wx.getBackgroundAudioManager() 方法创…

springMVC1之ModelAttribute注解

什么叫先执行 只要控制器方法一过来&#xff0c; 这个控制器里面的所有方法都会比下面执行的慢一点 我们来访问一个页面 也就是说访问的是控制器里面下面这个方法 看一下控制台执行效果 还是shouUser先执行了 什么叫如果没有提交的字段使用原来的数据 比如下面这个方法 我们在调…

php高级 TP+Redis实现发布订阅和消息推送案例实战

Redis 的发布-订阅模型是一种消息通信模式&#xff0c;它允许客户端之间通过特定的频道进行通信。在这种模型中&#xff0c;有些客户端负责发布消息&#xff08;发布者&#xff09;&#xff0c;而其他客户端则订阅它们感兴趣的频道并接收这些消息&#xff08;订阅者&#xff09…

自动驾驶汽车下匝道路径优化控制策略研究

摘要 随着社会不断进步&#xff0c; 经济快速发展&#xff0c; 科学技术也在突飞猛进&#xff0c; 交通行业是典型的领域之一。现阶段的交通发展&#xff37; 实现智能交通系统为目标&#xff0c; 正逐渐从信息化步入智能化&#xff0c;朝着智慧化迈进。近年来&#xff0c;一系…

线程练习题

有三个线程&#xff0c;分别只能打印A&#xff0c;B和C&#xff0c;要求按顺序打印ABC&#xff0c;打印10次 输出示例&#xff1a; ABC ABC ABC ABC ABC ABC ABC ABC ABC ABC &#xff08;1&#xff09;、这种方法并不能达到题目要求&#xff0c;因为无法确认当线程…

ChatGPT AIGC 实现Excel行列多条件交叉查找

查找函数在Excel中一直是非常重要的知识点,我们让ChatGPT AIGC来总结一下关于查找函数的优点与了处。 Excel中的查找函数是一种非常强大且多用途的工具,具有以下优点和作用: 1. 数据定位:查找函数可以帮助我们在大量数据中快速定位某个特定的数据或信息。 2. 数据整理:如…

sql注入之高权限注入和文件读写

死在山野的风里&#xff0c;活在自由的梦里 sql注入之高权限注入 高权限注入1.多个网站共享mysql服务器2.MySQL 权限介绍3.注入流程查询所有数据库名称查询表名对应的字段名查询数据 文件读写1.文件读写注入的原理2.文件读写注入的条件3.读取文件4.写入文件 高权限注入 在数据…

linux jenkins2.414.1-1.1版本安装

文章目录 前言一、rpm文件下载二、安装jenkins2.1.升级jdk1.82.2安装jenkins2.3 启动服务2.4 使用密码登录2.5 修改插件源2.6 汉化插件安装演示 总结 前言 之前也安装过jenkins&#xff0c;但是那个版本是2.1的&#xff0c;太老了很多插件都不支持&#xff0c;现在安装目前为止…

2022年全国研究生数学建模竞赛华为杯D题PISA架构芯片资源排布问题求解全过程文档及程序

2022年全国研究生数学建模竞赛华为杯 D题 PISA架构芯片资源排布问题 原题再现&#xff1a; 一、背景介绍 芯片是电子行业的基础&#xff0c;在当前日益复杂的国际形势下&#xff0c;芯片成了各个大国必争的高科技技术。本课题关注网络通信领域的交换芯片&#xff0c;传统的交…

5.5G的技术原理和应用场景

引言 5.5G即5G-Advanced&#xff0c;是一种移动通信技术。 这个解释显然十分的boring&#xff0c;但是在5.5G还未正式进入大家生活的今天&#xff0c;这是百度词条给出为数不多的解释。 当今社会&#xff0c;移动通讯已成为人们生活中不可缺少的一部分。2G打开了文本时代&…

C/C++ 代码中使用 CMake 工程目录

C/C 代码中使用 CMake 工程目录 文章目录 C/C 代码中使用 CMake 工程目录使用原因如何使用参考链接 使用原因 在 C 代码中获取工程路径有点麻烦&#xff0c;因为如果生成的可执行文件(.exe) 位置与工程目录不同&#xff0c;则当前的路径为运行时的路径&#xff0c;可能需要通过…

H.265 视频在浏览器中的播放问题探究

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f405;&#x1f43e;猫头虎建议程序员必备技术栈一览表&#x1f4d6;&#xff1a; &#x1f6e0;️ 全栈技术 Full Stack: &#x1f4da…

华为OD机考算法题:MVP争夺战

目录 题目部分 解读与分析 代码实现 题目部分 题目MVP争夺战难度易题目说明在星球争霸篮球赛对抗赛中&#xff0c;强大的宇宙战队&#xff0c;希望每个人都能拿到MVP。 MVP的条件是&#xff0c;单场最高分得分获得者&#xff0c;可以并列&#xff0c;所以宇宙战队决定在比赛…

【Axure高保真原型】桥梁监控大屏可视化案例

今天和大家分享桥梁监控大屏可视化案例的原型模板&#xff0c;包括桥梁预警次数统计、预警类型分析、实时预警分析、通行趋势分析、通行类型分析、热门桥梁分析&#xff0c;里面包含多个高保真的图表模板&#xff08;多柱状图组、滚动列表、多面积图、排名图、玫瑰图&#xff0…

(未完成)【Redis专题】一线大厂Redis高并发缓存架构实战与性能优化

前言 在本章内容里&#xff0c;我希望大家还是要先看看【前置知识】的内容。按照我的大纲设计&#xff0c;我是想先给大家抛出一些大家比较陌生的&#xff0c;关于【Redis缓存问题以及缓存方案】的一些名词概念&#xff0c;再然后在正文【课程内容】里面给大家使用源码案例&am…

SQL9 查找除复旦大学的用户信息

描述 题目&#xff1a;现在运营想要查看除复旦大学以外的所有用户明细&#xff0c;请你取出相应数据 示例&#xff1a;user_profile iddevice_idgenderageuniversityprovince12138male21北京大学Beijing23214male复旦大学Shanghai36543female20北京大学Beijing42315female23浙…