小样本(少样本)目标检测概述(few-shot object detection)

article/2025/10/24 19:28:21

文章目录

    • 一、小样本目标检测 vs 少样本目标检测
    • 二、小样本目标检测简介
    • 三、小样本目标检测的方法
    • 四、小样本目标检测现有的问题
    • 五、参考资料

一、小样本目标检测 vs 少样本目标检测

首先必须要分辨这两个概念。如果光看名字,我们可能会单纯的认为小样本就是代检测目标区域比较小,难以检测;少样本就是训练样本数量较少,难以训练。

上面的理解其实是错的。看网上大部分的文章、博客、论文,小样本和少样本是等价的。所谓小样本并非是目标较小,而是训练数据较少。

看英文名字就会更加直白,小样本/少样本目标检测一般翻译为 few-shot object detection,显然 few-shot 指的是数量少。同理还有 one-shot 、zero-shot 都是指样本数量,而一般目标区域较小会用 dense-detection或small 来表达。

二、小样本目标检测简介

小样本分类问题一般被定义为 C-way K-shot 问题,即有 C 种类别的数据且每类仅包含 K个已标记的样本。

小样本目标检测 FSOD(few-shot object detection),是解决训练样本少的情况下的目标检测问题。

众所周知,人类可以仅从一个动物实例中就推广到该动物其它实例,现有深度学习方法,多数仍以数据驱动,即需要成千上万的类别实例训练,使得模型能够“认识”类别的新实例。因此few shot learning ,只从少数实例训练,使得模型即可认识新实例,成为目前的一个研究热点。

通过应用较少的标注数据的半监督方法或者利用不完全匹配的标注数据的弱监督方法,利用极少的标注数据学习具有一定泛化能力的模型显得较为重要,这是小样本学习的所需要解决的问题。

小样本目标检测可以分为以下几种情况:

(1)类别数确定:给定一个现有的目标检测器,该检测器已经在某些类别的大量数据(称为基本类别)上进行了训练。我们希望仅加入少量新的类别和训练集(例如每个类别1-30个),就能够检测新类别,同时保持检测原始基本类别的性能。

(2)类别数确定:用小样本从头开始训练一个目标检测器,没有大量数据可以用于预训练。

(3)类别数不确定:在模型训练后对新的类别进行分类。这要求训练集、验证集和测试集来自于不同类别的数据集。

小样本图像目标检测是传统目标检测技术与小样本学习技术的融合。主流方法是使用一些trick对一般的目标检测网络进行修改,包括但不限于预训练–微调、数据增强、网络修改、样本匹配策略、损失函数修改等。

三、小样本目标检测的方法

这部分内容来源于论文《 张振伟,郝建国,黄健,潘崇煜.小样本图像目标检测研究综述[J].计算机工程与应用,2022,58(05):1-11. 》,知网可以下载这篇论文。

小样本目标检测方法主要基于传统的经典成熟的目标检测方法,借鉴小样本学习框架,构建针对目标检测的小样本解决方案。现有的方法主要可以分为六种:

(1)基于度量学习(metric learning)的方法
(2)基于数据增强的方法
(3)基于模型结构的方法
(4)基于微调(fine-tune)的方法
(5)基于元学习的方法
(6)基于集成的方法

不同方法的对比如下:
在这里插入图片描述
各种方法的具体介绍可以参看这篇论文。

关于元学习的介绍可见 一文入门元学习(Meta-Learning)(附代码) 现有的大多数小样本目标检测方法使用元学习的思想。首先从大量的基类数据中学习通用元特征,然后从少量的支持样本中生成特征映射,对新类的特征图进行重新加权,得到最终的检测结果。

四、小样本目标检测现有的问题

1、依赖于传统的目标检测领域中经典成熟的方法,但是后续的推理速度缓慢,不能满足实时性需求。

2、现有的方法泛化性能差强人意,随小样本类别增加,效果下降明显

五、参考资料

小样本目标检测研究现状

CVPR小样本检测:蒸馏&上下文助力小样本检测(代码已开源)


http://chatgpt.dhexx.cn/article/FdL4dHwv.shtml

相关文章

【学习笔记】小样本学习(Few-shot Learning)

参考视频:https://www.youtube.com/watch?vUkQ2FVpDxHg 文章目录 基本概念孪生网络(Siamese Network)Pretraining and Fine TuningFew-shot常用数据集参考资料 基本概念 小样本学习(few-shot learning)是什么&#x…

localStorage与location的用法

1、localStorage 是h5提供的客户端存储数据的新方法: 之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。 设置存储时localStorage.s…

Locality-sensitive hashing

Locality-sensitive hashing (LSH) reduces the dimensionality of high-dimensional data. LSH hashes input items so that similar items map to the same “buckets” with high probability (the number of buckets being much smaller than the universe of possible inp…

localStorage 简介

localStorage是全局的公共对象 浏览器关闭了后不丢失,是永久存在的。(runoob.com上Window localStorage 属性里的笔记很清晰) // localStorage.user"sky"; console.log(localStorage.user);能够看出,存储过localStora…

localStroage

一、什么是localStroage、sessionStroage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的…

localstorage用法

一、什么是localStorage、sessionStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的…

Locality Sensitive Hashing

今天介绍Locality Sensitive Hashing(LSH)。不同以往,这次我先放参考文献,因为本文都是基于这些参考文献的个人理解和消化,强烈推荐先看我的再去看参考文献,以便能更好的理解参考文献。 文章目录 ReferencesIntroductionChalleng…

thread_local

一、介绍 thread_local这个关键字的是C11之后的产物,主要适用的场景是:本线程这个生命周期里面修改和读取,不会与别的线程相互影响。 在C中全局变量和static变量一般都是针对与整个进程里面共享的,一旦声明之后,所有的…

localStorage是什么???

一、什么是localStorage、sessionStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的…

什么是localStorage?

一、什么是localStorage、sessionStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的…

Locale 及Locale.getDefault()

1.什么是Locale? Locale对象表示了一个特定的地理,政治或文化区域。需要使用到Locale执行其任务的操作称为区域设置敏感,并使用Locale为用户定制信息。 例如显示一个数字就是一个区域设置敏感的操作–该数字应根据用户所在国家,…

LocalStorage

目录 1.什么是Web存储? 2.localStorage、sessionStorage、Cookie和Session 3.Storage接口 4.localStorage基本操作 5.storage事件 参考书籍:《JavaScript 权威指南----ECMAScript5HTML5DOMHTML5BOM》编著:张亚飞 1.什么是Web存储&…

在net core npoi导入excel 所遇到的问题PublicKeyToken=0df73ec7942b34e1

在vs中测试一切正常 发布到iis,是使用的是***独立发布,x64***,部署好之后,执行nopi导入读取数据功能,提示 PublicKeyToken0df73ec7942b34e1,找不到系统文件 尝试过修改nopi的版本,由2.51.变成…

.net 查看程序集(*.dll)的PublicKeyToken

1.运行>powershell ([system.reflection.assembly]::loadfile("C:\Users\wangbinbin\Desktop\bin\log4net.dll")).FullName 2.使用vs的Tools Command Prompt命令行工具,输入SN -T "path",就会显示这个dll 的PublicKeyToken SN -…

查看PublicKeyToken和生成PublicKeyToken

http://hi.baidu.com/honfei/item/7777500b20d8ff8a02ce1bd2

未能加载文件或程序集“Newtonsoft.Json,Version = 13.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed“..

未能加载文件或程序集"Newtonsoft.Json,Version 13.0.0.0,Culture neutral,PublicKeyToken 30ad4fe6b2a6aeed"或它的某一个依赖项.找到的程序集清单定义与程序集引用不匹配.(异常来自HRESULT:0x80131040) 今天把生成的exe文件&a…

WinForm转Console Message=未能从程序集“, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”中加载类型“没有 RVA

1.异常截图 2.源代码及运行结果 3.相关异常及解决办法 1.异常截图 异常具体信息如下: 未处理System.TypeLoadException HResult-2146233054 Message未能从程序集“LockTestV2, Version1.0.0.0, Cultureneutral, PublicKeyTokennull”中加载类型“LockTestV2…