小样本目标检测(Few-Shot Object Detection)综述

news2025/1/12 16:03:28

背景

  1. 前言:我的未来研究方向就是这个,所以会更新一系列的文章,就关于FSOD,如果有相同研究方向的同学欢迎沟通交流,我目前研一,希望能在研一发文,目前也有一些想法,但是具体能不能实现还要在做的过程中慢慢评估和实现.写文的主要目的还是记录,避免重复劳动,我想用尽量简洁的语言把问题的关键描述出来,这样在我需要复习的时候也能快速回忆工作

小样本目标检测 - Few-Shot Object Detection - FSOD

  1. 小样本目标检测,英文名Few-Shot Object Detection,简称FSOD,论文里面一般都这么写,只有标题会规规矩矩的写全称,其他时候一般都是简写
  2. 注意:在搜索小样本目标检测时候,往往会给到一些关于小目标目标检测的文章,这两就不是一回事,小样本目标检测的小样本不是值样本的size小,而是指样本数量少;小目标目标检测才是真正意义上的目标size小,要精准的对目标进行分类和定位,感兴趣的搜一搜,我看到一篇基于yolo做的小目标目标检测,写的挺好的.
  3. 长尾效应:小样本目标检测的来由 - 数据的分布具有长尾效应,少部分类别大量的数据,而很多类别只有少量数据,如何正确的对这些数据做目标检测就是小样本要考虑的问题.
  4. 目前研究方向:小样本目标检测,未来可能的研究方向:开放世界的目标检测、增量小样本目标检测、广义小样本目标检测 - 总结就是希望以后能实时监测动态的不断出现的新类同时保留对基类的检测能力(基类就是有大量样本的类,新类就是样本数量少的亟待预测的类)

FSOD的两种学习策略

  1. 基于任务驱动的episode策略:基于元学习的方法、基于度量学习的方法
  2. 基于数据驱动的策略:基于迁移学习的方法,基于数据增强的方法在这里插入图片描述
  3. 基于任务驱动的episode指的是小样本任务分成N-way K-shot的任务(N个类,每个类K个样本),任务包含支持集和查询集,代表就是元学习(分为元训练阶段和元测试阶段),希望能够在元训练阶段学得一组泛化能力极强的参数,最终快速适应至新的元测试阶段,掌握学会学习的能力 - 后面会纤细介绍到元学习 - 目前FSOD的主流学习方法之一
  4. 基于数据驱动的学习方法:代表就是迁移学习,通过大量的数据训练好一个模型,然后在回归和分类的层进行微调,使得模型适应新类的检测

FSOD四种学习策略

元学习

  1. 基础方法:两段检测模型Fast RCNN - 通过候选区域生成网络(Region Proposal Network, RPN)生成感兴趣区域边界框(Region of Interests, RoIs),判断是前景还是背景,然后采用RoI池化将大小不同的感兴趣区域边界框处理为相同大小,最后将获得的RoIs进行边界框的分类和回归.
  2. 元训练:模型在一系列不同的任务上进行训练,这些任务被称为元任务。在元训练过程中,模型不是为了在单个任务上表现最佳,而是为了学习一种策略或知识,使其能够在遇到新任务时快速适应。这通常涉及到优化模型的参数,使其能够在新任务上仅通过少量的训练样本进行有效的学习。
  3. 元测试:元测试是元学习过程的评估阶段,模型在这个阶段被测试在新的、未见过的任务上的性能。这些新任务被设计为与元训练阶段中的任务相似,但不完全相同,以此来评估模型的泛化能力和快速适应新任务的能力。元测试的结果可以提供关于模型在实际应用中遇到新问题时可能表现如何的重要信息。

迁移学习

  1. 这个比较好理解 - 在大量数据上训练出一个模型,然后微调分类层和输出层.比如用yolo冻住前面的层然后微调后面的层即可.感觉新手入门用这个比较好,我也是这么打算的

数据增强

  1. 小样本问题就在于样本数量少,通过数据增强的方式扩充数据量,提升模型预测性能

度量学习

  1. 这个是我比较感兴趣的,和transformer有共同知识,可以一起学,把图像映射到嵌入空间,然后根据在嵌入空间的距离判断类别.

总结

  1. 写到这显得优点虎头蛇尾,但是想要毕其功于一役是不太现实的,那这篇文章就聚焦于简单的介绍一下小样本目标检测的四种方法吧,后面随着学习的深入进行肯定会展开细说的,感觉没写什么就快2000字了,写不动了就先这样吧,后面在学习的过程中慢慢展开
  2. 读完之后只要知道,FSOD - 元学习、迁移学习、数据增强、度量学习就ok,根据自己的方向再去衍生
  3. 新手上路,欢迎交流讨论
  4. 这个事情一定要坚持写下去,半途而废好多专题,回想起来挺后悔的

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

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

相关文章

141.环形链表(LeetCode)

想法一 快慢指针,设置slow和fast指针,slow一次走一步,fast一次走两步,如果链表有环,它们最终会相遇,相遇时返回true;如果链表无环,它们最终走到空,跳出循环,…

计算机视觉中目标检测的数据预处理

本文涵盖了在解决计算机视觉中的目标检测问题时,对图像数据执行的预处理步骤。 首先,让我们从计算机视觉中为目标检测选择正确的数据开始。在选择计算机视觉中的目标检测最佳图像时,您需要选择那些在训练强大且准确的模型方面提供最大价值的图…

自动化测试 —— requests和selenium模块!

一、requests基于POST请求 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #1.requests的GET与POST用法的区别: GET请求: (HTTP默认的请求方法就是GET) * 没有请求体 * 数据必须在1K之内! * GET请求数据会暴露在浏览器…

YOLOv5算法进阶改进(1)— 改进数据增强方式 + 添加CBAM注意力机制

前言:Hello大家好,我是小哥谈。本节课设计了一种基于改进YOLOv5的目标检测算法。首先在数据增强方面使用Mosaic-9方法来对训练集进行数据增强,使得网络具有更好的泛化能力,从而更好适用于应用场景。而后,为了更进一步提升检测精度,在backbone中嵌入了CBAM注意力机制模块,…

uniapp中在组件中使用被遮挡或层级显示问题

uniapp中在组件中使用或croll-view标签内使用uni-popup在真机环境下会被scroll-view兄弟元素遮挡,在开发环境下和安卓系统中可以正常显示,但在ios中出现了问题 看了许多文章都没有找到问题的原因,最后看到这一个文章http://t.csdnimg.cn/pvQ…

21.合并两个有序链表(LeetCode)

合并两个有序链表,是链表的经典题之一 ,这里给出一种经典解法 想法一 创建head和tail两个指针,从头比较两个链表,取小的尾插,注意一开始指针的初始化,接着就是不断利用tail指针,链接比较之中较…

C语言----静态链接库和动态链接库

在前面的文章中讲到可执行程序的生成需要经过预处理,编译,汇编和链接四个步骤,链接阶段是链接器将该目标文件与其他目标文件、库文件、启动文件等链接起来生成可执行文件。 需要解读一下库文件,我们可以将库文件等价为压缩包文件&…

AIGC ChatGPT 4 轻松实现小游戏开发制作

贪吃蛇的小游戏相信大家都玩儿过,我们让ChatGPT4来帮我们制作一个贪吃蛇的小游戏。 在ChatGPT中发送Prompt如下图: 完整代码如下: <!DOCTYPE html> <html> <head> <title>贪吃蛇游戏</title> <style type="text/css"> #can…

电脑小Tip---外接键盘F1-F12快捷键与笔记本不同步

当笔记本外接一款非常好用的静音键盘后&#xff0c;会出现一些问题。例如&#xff1a;外接键盘F1-F12与笔记本不同步。具体一个例子就是&#xff0c;在运行matlab程序时&#xff0c;需要点编辑器—运行&#xff0c;这样就很麻烦&#xff0c;直接运行的快捷键是笔记本键盘上的F5…

推荐 8 款OCR工具(二)完结篇

双十一&#xff0c;又要剁手了&#xff0c;但我还是 推荐 8 款OCR工具&#xff01; 当你感到迷茫时&#xff0c;不妨停下来&#xff0c;深呼吸&#xff0c;重新审视自己所处的位置和你的内心。这样的简单行为可能会帮助你找到方向。 SimpleOCR 网址&#xff1a;https://simple…

时间序列预测实战(九)PyTorch实现LSTM-ARIMA融合移动平均进行长期预测

一、本文介绍 本文带来的是利用传统时间序列预测模型ARIMA(注意&#xff1a;ARIMA模型不属于机器学习)和利用PyTorch实现深度学习模型LSTM进行融合进行预测&#xff0c;主要思想是->先利用ARIMA先和移动平均结合处理数据的线性部分&#xff08;例如趋势和季节性&#xff09…

删除成绩(数组)

任务要求 设计程序&#xff0c;实现从多名学生某门课程的成绩查找到第一个不及格的成绩&#xff0c;删除其成绩&#xff0c;输出删除成绩后的多名学生这一门课程的成绩。任务保证至少存在1个学生的成绩为不及格。

短信验证码实现(阿里云)

如果实现短信验证&#xff0c;上教程&#xff0c;这里用的阿里云短信服务 短信服务 (aliyun.com) 进入短信服务后开通就行&#xff0c;可以体验100条免费&#xff0c;刚好测试用 这里由自定义和专用&#xff0c;测试的话就选择专用吧&#xff0c;自定义要审核&#xff0c; Se…

Linux-系统调优-常见命令

目录 1、uptime 2、/proc/loadavg文件&#xff1a;获取平均负载的信息 3、free 命令&#xff1a;查看内存使用的详细情况 基础信息 buffer/cache介绍 4、SWAP 交换分区 基础信息 如何定义使用SWAP 交换分区 5、vmstat&#xff1a;性能监控工具 基础信息 性能影响&am…

回调地狱 与 Promise(JavaScript)

目录捏 前言一、异步编程二、回调函数三、回调地狱四、Promise1. Promise 简介2. Promise 语法3. Promise 链式 五、总结 前言 想要学习Promise&#xff0c;我们首先要了解异步编程、回调函数、回调地狱三方面知识&#xff1a; 一、异步编程 异步编程技术使你的程序可以在执行一…

帧同步的思想与FIFO复位

02基于FDMA三缓存构架_哔哩哔哩_bilibili 图像从外部传输进来的时候&#xff0c;会产生若干延迟&#xff0c;可能会出现各种各样的问题&#xff08;断帧等&#xff09;&#xff0c;此时可以通过VS信号清空FIFO进行复位。 这个过程中的复位信号可能需要拓展&#xff0c;这是因为…

mysql 讲解(1)

文章目录 前言一、基本的命令行操作二、操作数据库语句2.1、创建数据库2.2、删除数据库2.3、使用数据库2.4 查看所有数据库 三、列的数据类型3.1 字符串3.2 数值3.3 时间日期3.4 空3.5 int 和 varchar问题总结&#xff1a; 四、字段属性4.1 UnSigned4.2 ZEROFILL4.3 Auto_InCre…

【python海洋专题四十六】研究区域示意放大图

【python海洋专题四十六】研究区域示意放大图 图片 往期推荐 图片 【python海洋专题一】查看数据nc文件的属性并输出属性到txt文件 【python海洋专题二】读取水深nc文件并水深地形图 【python海洋专题三】图像修饰之画布和坐标轴 【Python海洋专题四】之水深地图图像修饰 …

Vuex:模块化Module :VOA模式

由于使用单一状态树&#xff0c;应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时&#xff0c;store 对象就有可能变得相当臃肿。 这句话的意思是&#xff0c;如果把所有的状态都放在/src/store/index.js中&#xff0c;当项目变得越来越大的时候&#xff0c;Vue…

国际阿里云:无法访问ECS实例中的服务的排查方法!!!

操作场景 无法访问ECS实例中的服务可能有以下原因&#xff1a; 可能原因 排查方案 ECS实例的安全组未开放相应端口 检查ECS实例安全组规则 ECS实例中&#xff0c;该服务未启动/开启或服务对应端口未被监听 检查服务状态及端口监听状态 ECS实例内防火墙设置错误 检查ECS…