YOLOv8_obb训练流程-原理解析[旋转目标检测理论篇]

        在旋转目标检测网络中,换了个顺序,先把训练流程捋一遍,然后再取捋一下测试的流程。由下图的YOLOv8l_obb网络结构图可以看到相对于目标检测网络,旋转目标检测网络只是在Head层不相同,在每个尺度特征层中增加了Angle分支(浅蓝色),通过两个卷积组和一个Conv卷积得到得到通道数为1的特征图,1表示的就是每个Grid cell预测的角度。

 1.YOLOv8_obb标签转换

         首先来认识一下v8中的标签格式,如下图所示,标注完经过转换后得到的标签一共有9列,其中第一列是类别,后面八列表示四个角点的X、Y坐标,这四个点不用按照顺序排列。然后对这四个点使用插值来补点,和实例分割标签处理的方法一样,只不过实例分割标签会把点补到1000个,旋转目标检测只需要补充到100个点;最后使用cv2.minAreaRect()对这100个轮廓点进行处理,得到旋转的中心点、宽高以及旋转角度。

        这里要注意一下使用cv2.minAreaRect()生成的中心点、宽高、角度的规律:(1)首先生成的角度范围是[0,90];(2)由下图可知,角度由两种表示方式:其一是在图像坐标系中(原点在左上角),角度是指平行于x轴的直线顺时针旋转直到碰到第一条边得到的度数,W即为碰到的第一条边的长度,H为另一条

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

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

相关文章

jupyter之plt 画图弹出窗口展示图片以及静态图片切换方法

1. jupyter出图的三种方式 在python的Jupyter Notebook中,使用matplotlib绘制动态图形时,可能出现只显示一张静态图像。 这是因为在notebook中使用plt绘图共有三种模式: %matplotlib inline:这是默认的模式,输出的图片…

C语言Prim算法和Prim-Alternat找最小生成树

文章目录 1、用prim算法求最小生成树C语言Prim算法实现 2、用Prim-Alternate算法求最小生成树3、C语言Prim-Alternate算法实现 1、用prim算法求最小生成树 绿色线会标记选过的边 从v1当作起始点开始,可选择: (v1,v2)权值为6 (v1,v3)权值为3 &…

经济学SSCI期刊,中科院1区,领域内顶刊,影响力高

一、期刊名称 World Development 二、期刊简介概况 期刊类型:SSCI 学科领域:经济学 影响因子:6.9 中科院分区:1区 三、期刊征稿范围 《世界发展》是一本多学科的发展研究月刊。它力求探讨如何改善生活水平和一般人类状况&am…

AIGC绘画基础——Midjourney关键词大全+万能公式

距发布MJ初级注册入门教程已有时日,很多粉丝表示很有用,但关键词有很多人不知如何组合使用,那今天再给大家更新一期,主要是教大家如何用关键词、把控关键词描述,除此之外在文末更新了一大堆关键词给大家使用~ 一、Midj…

合并两个有序链表和合并 K 个升序链表

21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2: 输入:l1 [], l2 […

NFTScan | 05.27~06.02 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期:2024.05.27~ 2024.06.02​ NFT Hot News 01/ Mint Blockchain 披露最新路线图,释放 NFT 生态重磅发展计划 5 月 28 日,Mint Blockchain 开发者团队 MintCore 更新…

Arduino 串口接收数据

1、上位机发送十六进制 AA 01 DE 下位机回复AC,上位机发送十六进制 AA 02 DE 下位机回复AB。如下图所所示。 2、Arduino 代码如下。 #define ReceiveLen 100 // 接收数据数组长度 byte ReceiveData[ReceiveLen]; // 接收数据数组void loop() {// 串口接收数…

jadx-gui-1.5 反编译工具使用教程 反混淆 Java android 查看签名

JADX:JADX是一个强大的反编译工具,它支持命令行和图形界面操作。除了基本的反编译功能外,JADX还提供了反混淆功能,有助于提高反编译后代码的可读性。 在Android开发和安全分析领域,反编译工具扮演着至关重要的角色。这…

以sqlilabs靶场为例,讲解SQL注入攻击原理【25-31关】

【Less-25】 首先分析源码 发现把 SQL语句中的 or、and 替换成了空格,这就导致无法使用之前的sql注入方式。 解决方案:用 && 代替 and , 用 || 代替 or , 而且&在url中有特殊含义,如果直接使用会有问题&a…

Vue3(Ⅱ)

Vue3(Ⅱ) 3、 进阶 —— 路由 3.1、示例 3.2、to 的两种写法 3.3、命令路由 3.4、嵌套路由 3.5、query 参数 3.6、params 参数 3.7、路由的 props 配置 3.8、replace 属性 3.9、编程式导航 3.10、重定向4、 进阶 —— Pin…

LayerSkip:加速大模型推理的端到端解决方案

大模型(LLMs)在多种应用中表现出色,但其高昂的计算和内存需求导致部署成本昂贵,尤其是在GPU服务器上。现有加速方案在部署到普通GPU时往往会导致准确性显著下降,而将大模型(LLMs)进一步加速以部…

Java邮件客户端设计实现:使用JavaMail向QQ邮箱发邮件

目录 JavaMail 用JavaMail向qq邮箱发消息 ▐ 授权码的获取 JavaMail JavaMail 是一个用于发送和接收电子邮件的 Java API。它提供了一个平台无关和协议无关的框架,允许开发人员通过标准电子邮件协议(如 SMTP、POP3 和 IMAP)来创建、发送…

网络工程师---第四十六天

1、逻辑网络结构设计阶段中,要想实现核心层与汇聚层交换机全部互相连接,组网技术有哪些? 2、工作区子系统的通信布线规范有哪些? 3、综合布线中施工规范有哪些? 4、综合布线系统中核心机房通常包括哪些设备&#xff1f…

SpringBoot——整合拦截器(Interceptor)

目录 拦截器(Interceptor) 项目总结 新建一个SpringBoot项目​编辑 MyInterceptor自定义拦截器 InterceptorConfig配置类 InterceptorController控制器 SpringbootInterceptorApplication启动类 在开发SpringBoot项目时,开发人员经常需要…

SAP-FICO总账科目案例

1、资产科目 2、负债科目

计网期末复习指南(三):数据链路层(CRC冗余校验码计算、PPP协议、CSMA/CD协议、交换机的自学习能力、VLAN)

前言:本系列文章旨在通过TCP/IP协议簇自下而上的梳理大致的知识点,从计算机网络体系结构出发到应用层,每一个协议层通过一篇文章进行总结,本系列正在持续更新中... 计网期末复习指南(一):计算…

iOS 通过PacketLogger 抓包蓝牙数据包

当使用iOS平台调试蓝牙外设时,需要抓取蓝牙数据包,那么如何获取iOS端设备与蓝牙设备之间通信的蓝牙数据包呢? 一、资料准备 1、苹果手机 2、Xcode开发工具 3、Apple开发者账户 二、环境搭建 2.1、手机环境搭建 手机浏览器访问地址&…

Meta的开源力作:Lexical框架,富文本的未来

引言 Lexical 是一个由 Facebook(现在称为 Meta)开源的可扩展 JavaScript Web 文本编辑器框架。 这个框架特别强调了三个核心特性:可靠性、可访问性以及高性能。 旨在为开发者创造最优的开发体验。 以下是 Lexical 框架的几个关键特点和能…

使用conda环境安装pythonocc-core

conda环境安装pythonocc库 基本环境 操作系统:Ubuntu 22.04 conda 23.11.0 安装pythonocc-core conda create --name pyocc python3.10 conda activate pyocc conda install -c conda-forge pythonocc-core7.8.1也可参考下面的官方地址 pythonocc-core 官方git地址 conda官…

苏宁电商数据揭秘:掌握苏宁API接口,一键解锁无限商机

苏宁API接口是一套开放的、基于HTTP协议的接口,它允许开发者通过编程方式访问苏宁平台上的商品、订单、用户等信息。这些接口支持多种数据格式,如JSON和XML,并提供了完善的错误处理和权限控制机制。 要使用苏宁API接口,首先需要在…