如何计算旋转框的IOU

news2024/11/14 0:14:00

一、先将两个框转换为角点形式

 一般我们得到的是中心点,宽高,和旋转角度。通过矢量旋转公式得到角点形式。

 二、判断四个角点是否在对方的框里,并保存在里面的角点

A的角点向B的相邻的两条边投影(任意的B的两条边),使用向量点积得到, 点积的值必须大于0且小于所投向的边的长度。否则就不在里面。如果都不在对方的里面的iou为0,不用进行下面的了

三、求两个边框的交点,既然有角点在里面,肯定有线段相交点。

遍历四个边和另外四个边求交点。我们设A线段有两个点a1和a2,B线段有两个点b1和b2,如果两个线段相交,则a1b1向量和a1b2向量的叉乘与a2b1和a2b2的叉乘符号肯定相反,同时b1a1和b1a2的叉乘与b2a1和b2a2的叉乘符号肯定也相反,其实也就是角度问题,大家可以画图验证。

如果线段有交点,那我们就求出交点,和第二步保存的角点放一起。

四、对保存的点进行顺时针排序(为了求相交面积) 

排序的流程,先求所有保存点的平均值作为向量起始点M,求M指向所有保存点的归一化向量。每个向量都有个x,y,如果y小于0,那么他的x就等于-2-x,最终根据修改后的x对所有保存点进行排序。 

五、根据排序点使用三角剖分求相交面积

 选取第一个排序点作为出发点,往后再取两个点求三角形面积(叉乘),第一个点不变,往后推一位再取两个点求三角形面积。举个例子  有点[1,2,3,4]先选中1,取23求面积,再选1,往后推一位ie,取两个为34求面积,这时求和就得到了四边形的面积。

六、代码以及参考文章(他讲的更细致)

(84条消息) Rotated IoU 计算_旋转iou_THE@JOKER的博客-CSDN博客 

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

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

相关文章

微信开发者工具实现代码加固

一:下载安装node.js node.js下载地址:下载 | Node.js 二:微信开发者工具安装代码加固拓展 1:开发者工具选择设置-》拓展设置 2:安装代码加固拓展 三:使用代码加固拓展实现核心密码加密 1:安装devtool-cod…

makefile 变量赋值方式

文章目录 前言一、变量的定义和使用二、变量的赋值方式1,简单赋值 ( : )2,递归赋值 ( )3,条件赋值 ( ? )4,追加赋值 ( ) 三、预定义…

Django框架003:orm与MySQL数据库的连接及踩坑记录

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…

FFCNet:基于傅立叶变换的频率学习和复杂卷积网络用于结肠疾病分类

文章目录 FFCNet: Fourier Transform-Based Frequency Learning and Complex Convolutional Network for Colon Disease Classification摘要方法Patch Shuffling Module (PSM)Frequency-Domain Complex NetworkComplex ConvolutionComplex ReLUComplex BN 实验结果 FFCNet: Fou…

1— .Net MVC之控制器

在上下文中使用的控制器 问题 答案 什么是控制器? 控制器包含用于接收请求、更新应用程序状态或模型以及选择将发送给客户端的响应的逻辑 控制器有什么用? 控制器是MVC项目的核心,并包含Web应用程序的逻辑 如何使用控制器? …

第五讲:设计库的管理和使用

第五讲:设计库的管理和使用 概述: 课程内容简介: 1、 下载Design kit 2、 安装 Design kit 3、 Design kit的使用 4、 如何进行优化设计 Design Kit – 由元件厂商所提供设计元件库, PDK – Process Design Kit (IC的…

智能改写工具免费-智能改写工具

中文改写软件 您好,中文改写软件是使用人工智能技术改写中文文本的工具。它可以自动识别并改写文本中的某些词语、短语或句子,以使它们在语意上更为准确、清晰或通顺。 中文改写软件的工作原理基于自然语言处理技术。它使用预先训练好的模型&#xff0…

Windows Server 2016安装Mysql 5.6

🎈 作者:互联网-小啊宇 🎈 简介: CSDN 运维领域创作者、阿里云专家博主。目前从事 Kubernetes运维相关工作,擅长Linux系统运维、开源监控软件维护、Kubernetes容器技术、CI/CD持续集成、自动化运维、开源软件部署维护…

软考——软件工程,面向对象,数据流图,数据库设计,UML建模,数据结构及算法应用,面向对象程序设计

软件工程 开发模型 瀑布模型 其他模型 增量模型和螺旋模型 V模型 瀑布模型是结构化模型,喷泉模型是面向对象模型 构件组装模型(CBSD) 统一过程 敏捷开发方法 信息系统开发方法 需求 结构化设计 基本原则 内聚与耦合 软件测试 测试原则与类…

Nmap服务版本探测研究

文件nmap-services 作用:预定义服务和端口映射表,该文件原则上不允许修改 nmap-services未定义33890端口映射,扫描结果: PORT STATE SERVICE REASON 33890/tcp open unknown syn-ack nmap-services定义33890端口映射&#x…

从环形图出发,打造高效数据分析流程

什么是环形图? 环形图是一种数据可视化的图表类型,它通常用于显示数据的比例关系和占比情况。环形图与饼图类似,都是由一个圆形或圆环和若干个扇形组成,每个扇形的面积大小表示该数据所占比例的大小。与饼图不同的是,…

强化学习p4-Actor-Critic

策略网络和价值网络的架构 我们知道状态价值函数 V π ( s ) ∑ a π ( a ∣ s ) ⋅ Q π ( s , a ) V_\pi(s)\sum_a\pi(a|s)\cdot Q_\pi(s,a) Vπ​(s)∑a​π(a∣s)⋅Qπ​(s,a),在策略学习中,我们用神经网络去近似 π \pi π函数,得到策…

模糊PID(重心法解模糊梯形图FC)

模糊PID的模糊化请参看下面的博客文章: 博途PLC模糊PID三角隶属度函数指令(含Matlab仿真)_plc 模糊pid_RXXW_Dor的博客-CSDN博客三角隶属度函数FC,我们采用兼容C99标准的函数返回值写法,在FB里调用会更加直观,下面给大家具体讲解代码。常规写法的隶属度函数FC可以参看下…

分享一个提高运维效率的 Python 脚本

哈喽大家好我是咸鱼,今天给大家分享一个能够提升运维效率的 python 脚本 咸鱼平常在工作当中通常会接触到下面类似的场景: 容灾切换的时候批量对机器上的配置文件内容进行修改替换对机器批量替换某个文件中的字段 对于 Linux 机器,咸鱼可以…

Fiddler 抓包工具使用 - 手摸手教你

Fiddler简介 Fiddler 是一款免费、灵活、操作简单、功能强大的 HTTP 代理工具,是目前最常用的 HTTP 抓包工具之一。可以抓取所有的 HTTP/HTTPS 包、过滤会话、分析请求详细内容、伪造客户端请求、篡改服务器响应、重定向、网络限速、断点调试等功能。 Fiddler工作…

2023什么蓝牙耳机好?经销商盘点新手必入蓝牙耳机品牌

蓝牙耳机是除手机外我们使用频率最高的数码产品,我做蓝牙耳机经销商五年来,对各个品牌都有深入了解。近期看到很多新手们咨询什么蓝牙耳机好,我给大家盘点一下新手必看的五大蓝牙耳机品牌。 1.JEET Air 2蓝牙耳机 推荐理由:专为舒…

和AI聊天

AI产品工具目录:AI产品目录 Prompt 在和AI聊天时,你得表明你需要啥,并且描述的越精确,AI回答的就越贴近你的预期,简单的对话,可以自己尝试,但是如果想做应用级别的就得学习这种聊天技术&#…

Guitar Pro8.1最新中文版自动扒谱编写吉他谱 新功能讲解

Guitar Pro8是一款非常受欢迎的音乐制作软件,它可以帮助用户创建和编辑各种音乐曲谱。从其诞生以来就送专门为了编写吉他谱而研发迭代的。 尽管这款软件可能已经成为全球最受欢迎的吉他打谱软件,在编写吉他六线谱和乐队总谱中始终处于行业领先地位&…

测试人的内卷,性能测试入门到实践该如何做?突破内卷...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 性能测试如何入门…

什么是边缘计算盒子?要看哪些参数

一、什么是边缘计算盒子 边缘计算盒子(Edge Computing Box)是一种用于边缘计算的设备,通常包括计算、存储、网络和安全等功能。它通常是一台小型的计算机,可以放置在物联网设备、传感器或其他边缘设备附近,用于处理和…