当前位置: 首页 > article >正文

【Python 深度学习】1D~3D iou计算

一维iou

二维

import numpy as npdef iou_1d(set_a, set_b):# 获得集合A和B的边界 x1, x2 = set_ay1, y2 = set_b# 计算交集的上下界low = max(x1,y1)high - min(x2, y2)# 计算交集if high - low < 0:inter = 0else:inter = high - low# 计算并集union = (x2 -x1) + (y2 - y1) - inter# 计算IoUiou = inter / unionreturn ioudef iou_2d(box1,box2):'''二维IoU的计算:注意图像坐标系的原点一般在左上角,x方向朝右,y方向朝下box的表示:[top, left, bottom, right]box的表示分别对应:[y1,x1,y2,x2]'''in_h = min(box1[2],box2[2]) - max(box1[0],box2[0])in_w = min(box1[3],box2[3]) - max(box1[1],box2[1])inter = 0 if in_h  < 0 or in_w < 0 else in_h * in_wunion = (box1[2] - box1[0]) * (box1[3] - box1[1]) +  (box2[2] - box2[0]) * (box2[3] - box2[1])  - interiou = inter / unionreturn ioudef  iou_3d(box1,box2):'''3D IoU计算box表示形式:[x1,y1,z1,x2,y2,z2] 分别是两对角点的坐标'''in_w = min(box1[3],box2[3]) - max(box1[0],box2[0])in_l = min(box1[4],box2[4]) - max(box1[1],box2[1])in_h = min(box1[5],box2[5]) - max(box1[2],box2[2])inter = 0 if in_w < 0 or in_l < 0 or in_h < 0 else in_w * in_l * in_hunion = (box1[3] - box1[0]) * (box1[4] - box1[1]) * (box1[5] - box1[2]) + (box2[3] - box2[0]) * (box2[4] - box2[1]) * (box2[5] - box2[2])  - interiou = inter / unionreturn iouif __name__ == '__main__':box1 = [0,0,0,1,1,1]box2 = [0.5,0.5,0.5,1.5,1.5,1.5]print(iou_3d(box1,box2))

http://www.lryc.cn/news/2387177.html

相关文章:

  • java23
  • 嵌入式工程师常用软件
  • LitCTF2025 WEB
  • Redisson WatchDog会一直续期吗?
  • Linux 下VS Code 的使用
  • Android开发namespace奇葩bug
  • watchEffect
  • Qt 布局管理器的层级关系
  • Android 之 kotlin 语言学习笔记一
  • maven模块化开发
  • 为什么要使用stream流
  • 语义分割的image
  • 云原生安全之网络IP协议:从基础到实践指南
  • C++——QT 文件操作类
  • 【排错】kylinLinx环境python读json文件报错UTF-8 BOM
  • [spring] spring 框架、IOC和AOP思想
  • LInux—shell编程
  • 尚硅谷redis7 37-39 redis持久化之AOF简介
  • GitLab 备份所有仓库(自动克隆)
  • [浏览器]缓存策略机制详解
  • Vue修饰符全解析
  • OpenCV CUDA 模块图像过滤-----创建一个计算图像导数的滤波器函数createDerivFilter()
  • 计算机视觉与深度学习 | Python实现CEEMDAN-ABC-VMD-DBO-CNN-LSTM时间序列预测(完整源码和数据)
  • AWS関連職種向け:日本語面接QA集
  • 【Macos】安装前端环境rust+node环境
  • (01)华为GaussDB((基于PostgreSQL))高斯数据库使用记录,dbeaver客户端配置高斯驱动,连接高斯数据库
  • ARM Linux远程调试
  • day24Node-node的Web框架Express
  • Webpack和Vite构建工具有什么区别?各自的优缺点是什么
  • 让MySQL更快:EXPLAIN语句详尽解析