【YOLO v5 v7 v8 v9小目标改进】辅助超推理SAHI:分而治之,解决高分辨率图像中小物体检测的问题

辅助超推理SAHI:分而治之,解决高分辨率图像中小物体检测的问题

    • 设计思路
    • 结构
    • 小目标涨点
      • YOLO v5 魔改
      • YOLO v7 魔改
      • YOLO v8 魔改
      • YOLO v9 魔改

 


论文:https://arxiv.org/pdf/2202.06934.pdf

代码:https://github.com/obss/sahi

 

设计思路

用一个超高清的相机拍摄一片风景,而你想在这张大照片里找到一些非常小的物体,比如远处的小鸟或花朵。

因为这些物体在整张照片中占的比例非常小,所以直接找它们会很困难,而且需要非常强大的算力。

你有一张大拼图,它由成百上千的小拼图块组成。

如果你试图一次性理解整张图的内容可能会感到困难和压力,特别是如果这张图非常复杂,细节丰富。

但是,如果你将拼图分成几个部分,一块一块地完成,每一块拼好之后再把所有的小块合并起来,最终得到的将是一幅完整的图画。

这种方法不仅使任务变得更加管理和操作上可行,而且每完成一小块就能带来成就感,激励你继续前进。

在科学和工程领域,这种思路同样适用。

例如,在计算机科学中,大型软件项目往往会被分解为多个小模块或组件,每个部分由不同的团队独立开发。

只有当这些独立开发的模块都完成并通过测试后,它们才会被集成在一起,形成完整的软件系统。

这样做的优点包括提高了开发效率,降低了错误和问题的复杂性,使得更容易定位和修复问题。

 
我们提出了一个办法来解决这个问题:

  1. 把大照片切成小块:就像用剪刀把一张大照片切成很多小片一样。这样,每个小块里的小物体相对于这个小块就变得更大了,更容易被找到。

  2. 在每个小块上做“练习”:我们有一些事先训练好的模型,它们擅长找东西,但主要是在比较小的图片中找。我们用这些模型在每个小块上找我们想要的小物体。

  3. 再把找到的东西放回原位:当我们在所有小块中都找完后,就把找到的小物体的位置标记起来,再放回到原来的大照片中相应的位置。

这样做的好处是,我们既没有错过任何小物体,又没有需要非常强大的计算力去一次性处理整张大照片。

这个方法可以用在任何需要找小物体的场景中,比如用监控摄像头监视一片区域,或者用无人机拍摄的大面积地图上寻找特定的小目标。

为了解决高分辨率图像中小物体检测的问题,我们提出了一个基于切片的通用框架,在模型的微调和推理阶段使用。

结构

在这里插入图片描述
这张图是一幅流程图,展示了基于切片的模型微调(Slicing Aided Fine-tuning, SF)和基于切片的高效推理(Slicing Aided Hyper Inference, SAHI)两种方法。

流程图的上半部分(Slicing Aided Fine-tuning, SF)说明了以下步骤:

  1. 从预训练数据集中,选取图片(例如 I F 1 I_{F1} IF1 I F 2 I_{F2} IF2)进行微调。
  2. 图片被切割成较小的重叠片段或补丁(例如 P F 1 P_{F1} PF1 P F 2 P_{F2} PF2),然后这些片段被调整大小到一个更大的尺寸。
  3. 这些增强后的图片片段(例如 I 0 ′ I'_{0} I0)被用于微调预训练好的模型,生成了微调后的模型。

流程图的下半部分(Slicing Aided Hyper Inference, SAHI)描述了推理阶段的以下步骤:

  1. 原始查询图像(例如 ( I ))被切割成多个重叠的小片段(例如 P I 1 P_{I1} PI1 P I l P_{Il} PIl)。
  2. 每个小片段大小调整后,单独进行物体检测推理,并生成预测。
  3. 接着,所有小片段的预测结果通过非极大值抑制(NMS)转换回原始图像的坐标尺度。
  4. 可选地,可以加入从原始图像的全尺寸推理中得到的预测结果。

 

这个框架包含以下两个主要部分:

  1. 切片辅助微调 (SF):使用流行的物体检测框架(如Detectron2、MMDetection和YOLOv5)的预训练权重,我们通过将高分辨率图像切割成重叠的小块(称为切片)来增强数据集。

    这些切片相对于原图中的小物体具有更大的像素面积,使得小物体在网络训练时变得更明显,从而提高了模型对小物体的检测性能。

    • 子特征:选择切片尺寸作为超参数,然后在微调过程中将切片调整大小以保持宽度在800到1333像素之间,从而相对于原始图像扩大了物体的相对尺寸。

     
    之所以采用这种方法,是因为预训练的模型通常在低分辨率图像上表现良好,但对高分辨率图像中的小物体检测效果不佳。

  2. 切片辅助高效推理 (SAHI):在推理步骤中,也采用了切片方法。

    首先,将原始查询图像切割成多个重叠的M×N尺寸的切片,每个切片在保持宽高比的情况下调整大小。

    然后,独立地对每个切片进行物体检测推理。

    此外,可以选择使用原始图像进行完整推理以检测较大的物体。

    最后,将所有重叠切片的检测结果(如果使用了完整推理,还包括完整推理的结果)通过非极大抑制(NMS)合并回原始图像大小。

    在NMS过程中,删除那些IoU比预定义匹配阈值低的检测框。

    • 子特征:通过这种方法,可以优化小物体的检测效率和准确性,同时保留了对大物体检测的能力。
       

    之所以使用切片辅助推理,是因为直接对高分辨率图像进行全图推理对于小物体而言效果不佳,而且计算成本高。

小目标涨点

更新中…

YOLO v5 魔改

YOLO v7 魔改

YOLO v8 魔改

YOLO v9 魔改

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

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

相关文章

C++内存泄漏检测

C进阶专栏:http://t.csdnimg.cn/aTncz 相关系列文章 C技术要点总结, 面试必备, 收藏起来慢慢看 C惯用法之RAII思想: 资源管理 C智能指针的自定义销毁器(销毁策略) 目录 1.内存泄漏概述 1.1.内存泄漏产生原因 1.2 内存泄漏导致的后果 1.3 内存泄漏解决思路 2.宏…

基于Springboot免费搭载轻量级阿里云OSS数据存储库(将本地文本、照片、视频、音频等上传云服务保存)

一、注册阿里云账户 打开https://www.aliyun.com/,申请阿里云账户并完成实名认证(个人)。这种情况就是完成了: 二、开通OSS服务 点击立即开通即可。 三、创建Bucket 申请id和secert: 进去创建一个Accesskey就会出现以…

【Qt学习】QProgressBar的使用(进度条的实现)

文章目录 1. 介绍2. 实例2.1 按钮启动进度条2.2 更改进度条样式2.3 资源文件 1. 介绍 详细的 QProgressBar 内容可以通过 查阅Qt官方文档 ,这里进行简要的总结: QProgressBar 是Qt框架中的一个控件,用于显示进度条: QProgressBar…

wordpress免费主题下载

免费wordpress模板下载 简洁大气的文化艺术类wordpress模板,可以免费下载,实用易上手,新手也适合。 https://www.wpniu.com/themes/304.html 免费wordpress主题下载 高端大气上档次的wordpress主题,也可以是免费的,…

修改MonkeyDev默认配置适配Xcode15

上一篇文章介绍了升级Xcode15后,适配MonkeyDev的一些操作,具体操作可以查看:Xcode 15 适配 MonkeyDev。 但是每次新建项目都要去修改那些配置,浪费时间和精力,这篇文章主要介绍如何修改MonkeyDev的默认配置,做到一次修改永久生效。 MonkeyDev的默认安装路径是在/opt/Mo…

iclone更奇怪了用自动对齐才搞得定

1前一个clip的位置 2选root的话就跑到这里了,跟前一个clip差很多 3换了left foot对齐之后才正常 4这时候开不开自动对齐不影响 5奇怪医生的中心似乎是途中的花坐标轴偏离人体好多呀不知何时跑这里的难道前面是应为这个?中心跑了我还不知道 6动画交叉的时…

【常见索引使用】⭐️Mysql中索引的类型以及使用方式和失效场景

目录 一、前言 二、数据准备 三、索引的分类 四、索引示例 示例1、主键索引(Primary Key Index)与 唯一索引(Unique Index) 示例2、前缀索引(Prefix Index) 示例3、联合索引(复合索引&am…

GWO-RF|灰狼算法优化随机森林 分类预测|多变量分类预测

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、算法介绍: 灰狼优化算法: 随机森林: 四、完整程序下载: 一、程序及算法内容介绍: …

如何规划应用商店优化策略

应用商店是拥挤的地方。拥有超过 600 万个应用程序,制定应用程序商店优化 (ASO) 策略比以往任何时候都更加重要。ASO 有助于确保您的应用在搜索结果中排名更高,以便潜在用户可以轻松找到它。通过针对App Store和 Google Play优化App,能够吸引…

使用ES检索PDF或Word等格式文件方案

#大数据/ES #经验 #方案架构 ES检索PDF/Word等格式文件方案 插件安装 ES有文档预处理插件,但是7.x版本默认发版包不包含这个ingest attachment plugin 。 通过摄取附件插件,Elasticsearch 可以使用 Apache 文本提取库 Tika 提取常见格式的文件附件&a…

Tomcat介绍在IDEA中创建JavaWeb工程

文章目录 一、WEB服务器服务器概述使用Java代码手写web服务器 二、服务器软件Web服务器服务器软件的使用步骤 三、TomcatTomcat的下载Tomcat的安装与卸载Tomcat的启动与关闭常见问题 四、新建Java Web项目并将项目部署到tomcat中新建Java Web项目将项目部署到Tomcat中出现的问题…

[晓理紫]每日论文分享(有中文摘要,源码或项目地址)--大模型

专属领域论文订阅 VX关注{晓理紫},每日更新论文,如感兴趣,请转发给有需要的同学,谢谢支持 如果你感觉对你有所帮助,请关注我,每日准时为你推送最新论文。 》》 由于精力有限,今后就不在CSDN上更…

去除PDF论文行号的完美解决方案

去除PDF论文行号的完美解决方案 1. 遇到的问题 我想去除论文的行号,但是使用网上的Adobe Acrobat裁剪保存后 如何去掉pdf的行编号? - 知乎 (zhihu.com) 翻译时依然会出现行号,或者是转成word,这样就大大损失了格式,…

第十五届蓝桥杯青少组STEMA测评SPIKE初级真题试卷 2024年1月

第十五届蓝桥杯青少组STEMA测评SPIKE初级真题试卷 2024年1月 ​​​​​​​ 来自:6547网 http://www.6547.cn/doc/vywur8eics

SOC设计:关于时钟门控的细节

有如下几个信号 输入信号 1、同步后的rstnsync_clk 2、时钟:clk 3、test_mode 4、软件控制信号:clk_sub_en 输出信号 1、clk_sub 功能:软件配置的使能信号clk_sub_en经过时钟clk 2拍同步处理后产生clk 域下的enable信号,然…

常用MII接口详解

开放式系统互连 (OSI) 模型 七层开放系统互连 (OSI) 模型中,以太网层 位于最底部两层 - 物理层和数据链路层。 从百兆以太网接口开始 首先是百兆以太网规定的两种接口 介质无关接口 (MII) Media Independent Interface 介质相关接口 (MDI) Medium Depen…

深入探讨javascript的流程控制与分支结构,以及js的函数

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 所属的专栏:前端泛海 景天的主页:景天科技苑 文章目录 1.流程控制与分支结构1.if分支结构2.switch case 分支结构3.循环结…

九型人格测试,7号活跃型人格的职业分析

九型人格中的7号人格,也叫活跃型人格,正如名字所形容的那样,一个活跃型人格的人,会让你体会到生活的乐趣。跟他们在一起的时候,永远不会感到无聊,即便是在停电的下午,也能在屋子里愉快的折腾。活…

【RK3288 Android6, T8PRO 快捷按键 gpio 配置上拉输入】

文章目录 【RK3288 Android6, T8PRO 快捷按键 gpio 配置上拉输入】需求开发过程尝试找到没有用的上拉gpio尝试修改pwm1的gpio的默认上拉模式 改动 【RK3288 Android6, T8PRO 快捷按键 gpio 配置上拉输入】 需求 T8pro想要模仿T10 的 快捷按键&#xff…

MyBatisPlus(SpringBoot版)的分页插件

目录 一、前置工作: 1.整体项目目录结构 2.创建普通javamaven项目。 3.导入依赖,改造成springboot项目 4.配置启动类 5.创建service接口及其实现类 6.创建接口Mapper 7.配置数据源 8.创建数据库表 二、使用MP(mybatisplus)的分页插件 二、使…