【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.rhkb.cn/news/270512.html

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

相关文章

文件MD5校验码的安全性及重要性

title: 文件MD5校验码的安全性及重要性 date: 2024/3/6 18:13:20 updated: 2024/3/6 18:13:20 tags: MD5原理文件校验下载验证数据库一致性安全性保障计算方法MD5安全防护 文件MD5(Message Digest Algorithm 5)是一种常用的哈希算法,用于验证…

基于OpenCV的图形分析辨认04

目录 一、前言 二、实验目的 三、实验内容 四、实验过程 一、前言 编程语言:Python,编程软件:vscode或pycharm,必备的第三方库:OpenCV,numpy,matplotlib,os等等。 关于OpenCV&…

SqlServer中连续号及断号查询—附源码

效果如下图所示: SqlServer中连续号及断号查询SQL如下: --1.定义临时表 DECLARE TestTemp TABLE(TestCode NVARCHAR(50),TestNum INT )DECLARE DataTemp TABLE(TestCode NVARCHAR(50),TestNumStr NVARCHAR(100) )--2.插入测试数据 INSERT INTO TestT…

C及C++每日练习(1)

一.选择&#xff1a; 1.以下for循环的执行次数是&#xff08;&#xff09; for(int x 0, y 0; (y 123) && (x < 4); x); A.是无限循环 B.循环次数不定 C.4次 D.3次 对于循环&#xff0c;其组成部分可以四个部分&#xff1a; for(初始化;循环进行条件;调整) …

基于Java的校园失物招领管理系统(Vue.js+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 招领管理模块2.2 寻物管理模块2.3 系统公告模块2.4 感谢留言模块 三、界面展示3.1 登录注册3.2 招领模块3.3 寻物模块3.4 公告模块3.5 感谢留言模块3.6 系统基础模块 四、免责说明 一、摘要 1.1 项目介绍 校园失物招领…

Cyber RT 开发工具

在Cyber RT中还提供了一些工具&#xff0c;这些工具可以拓展Cyber RT功能、提高开发调试效率&#xff0c;本章主要介绍这些工具的使用。 本章内容: 1.cyber record工具的应用&#xff1b; 2.常用命令工具的使用&#xff1b; 学习收获: 1.可以通过cyber record将发布的话题消息…

因果学习篇(2)-Causal Attention for Vision-Language Tasks(文献阅读)

Causal Attention for Vision-Language Tasks 引言 这篇论文是南洋理工大学和澳大利亚莫纳什大学联合发表自2021年的CVPR顶会上的一篇文献&#xff0c;在当前流行的注意力机制中增加了因果推理算法&#xff0c;提出了一种新的注意力机制&#xff1a;因果注意力(CATT)&#xff…

AI智商排名:Claude-3首次突破100

用挪威门萨&#xff08;智商测试题&#xff09;中 35 个问题对chatGPT等人工智能进行了测试&#xff1a; ChatGPT 对ChatGPT进行了两次挪威门萨测试&#xff0c;在 35 个问题中&#xff0c;它平均答对了 13 个&#xff0c;智商估计为 85。 测试方法 每个人工智能都接受了两次…

2023第十届GIAC全球互联网架构大会:洞察未来互联网架构的革新与突破(附大会核心PPT下载)

随着互联网的迅猛发展&#xff0c;其底层架构的演进与革新成为了推动全球数字化进程的关键力量。2023年第十届GIAC全球互联网架构大会如期而至&#xff0c;汇聚了全球互联网架构领域的顶尖专家、学者、企业领袖和创新者&#xff0c;共同探讨和展望互联网架构的未来发展趋势。本…

RabbitMQ 基本介绍

RabbitMQ 基本介绍 消息模型 所有 MQ 产品从模型抽象上来说都是一样的过程&#xff1a; 消费者&#xff08;consumer&#xff09;订阅某个队列。生产者&#xff08;producer&#xff09;创建消息&#xff0c;然后发布到队列&#xff08;queue&#xff09;中&#xff0c;最后…

centos7安装maven离线安装

1、从官方网站下载maven文件包 官方下载网站&#xff1a;https://maven.apache.org/download.cgi 2、创建文件夹解压文件 将下载好的安装包&#xff0c;放到创建的目录下&#xff0c;并解压 a、创建/app/maven文件 mkdir /app/mavenb、解压文件 tar -zxvf apache-maven-…

C#使用whisper.net实现语音识别(语音转文本)

目录 介绍 效果 输出信息 项目 代码 下载 介绍 github地址&#xff1a;https://github.com/sandrohanea/whisper.net Whisper.net. Speech to text made simple using Whisper Models 模型下载地址&#xff1a;https://huggingface.co/sandrohanea/whisper.net/tree…

32、Redis 7系列:Spring Boot集成Redis

32、Redis 7系列&#xff1a;Spring Boot集成Redis 一、前言二、集成 RedisTemplate1、单机&#xff08;1&#xff09;新建项目&#xff08;2&#xff09;修改pom文件&#xff08;3&#xff09;修改yml文件&#xff08;4&#xff09;启动类&#xff08;5&#xff09;配置类&…

1.初识python

1.初识python 编程语言是用来定义计算机程序的语言&#xff0c;用来向计算机发出指令。 1.python语言是一种面向对象的解释型高级编程语言。 解释型语言&#xff1a;使用专门的解释器对源码程序逐行解释成特定平台的机器并立即执行&#xff0c;是代码在执行时才被解释器一行行…

centos7 部署kibana

先决条件参考 虚拟机部署elasticsearch集群-CSDN博客 这里使用elk101服务器安装kibana 下载rpm包(这里添加了-c参数用到wget的断点续传功能) #下载kibana-rpm包以及校验文件 wget -c https://artifacts.elastic.co/downloads/kibana/kibana-7.17.18-x86_64.rpm wget -c htt…

尤雨溪:Vue 未来展望新的一轮

十年&#xff0c;一个既漫长又短暂的时光跨度&#xff0c;对于技术世界来说&#xff0c;更是沧海桑田的瞬间。在这十年里&#xff0c;Vue.js 从无到有&#xff0c;从默默无闻到蜚声全球&#xff0c;不仅改变了前端开发的面貌&#xff0c;更成为了无数开发者手中的得力工具。 在…

设计模式之策略模式实践

设计模式之策略模式实践 先了解一下策略模式的定义是什么&#xff1f;解决什么问题 策略模式是一种行为设计模式&#xff0c;它定义了一系列算法&#xff0c;将每个算法封装成一个类&#xff0c;并使它们可以互相替换。策略模式允许客户端在运行时从可互换的算法中选择一个&a…

【论文精读】TextDiffuser-2:释放语言模型用于文本渲染的力量

文章目录 一、前言二、摘要三、方法&#xff08;一&#xff09;TextDiffuser-2模型的整体架构&#xff08;二&#xff09;语言模型M1将用户提示转换为语言格式的布局&#xff08;三&#xff09;将提示和布局结合到扩散模型内的可训练语言模型M2中进行编码以生成图像 四、实验&a…

基于单片机的数字温度计设计

目 录 摘 要 I Abstract II 引 言 1 1 整体方案设计 3 1.1 主控芯片类型选择 3 1.2 测温电路选择 3 1.3 系统总体方案 4 2 系统的硬件电路设计 5 2.1 单片机系统设计 5 2.2 显示模块设计 8 2.3 温度读取电路的设计 10 3 系统软件设计 13 3.1 软件开发环境的介绍 13 3.2 系统重…

ubuntu_定制文件系统[2]-清理日志log

1.问题现象 系统长时间运行, 产生大量的系统日志 ubuntu/debian 系统日志如下 /var/log$ du -sh * 31M syslog # syslog日志 61M syslog.1 2.5G journal/ # systemd service日志 当日志文件过大, 硬盘空间占用100%时, 导致各种异常 命令按tab补全无响应服务/进程启动异常服务…