2D/3D bounding box计算方式详解

2D bounding box

最大包围矩形计算方式:

代码:

python 复制代码
import numpy as np

points = np.array([
    [2, 3],
    [5, 7],
    [4, 1],
    [6, 4]
])

x_min = np.min(points[:, 0])
y_min = np.min(points[:, 1])
x_max = np.max(points[:, 0])
y_max = np.max(points[:, 1])

bbox = (x_min, y_min, x_max, y_max)
print("Bounding box:", bbox)

两个bounding box的交集计算方式:

1,计算x坐标重叠的范围:左区间x_int_min是bbox的x_min的最大值。右区间x_int_max是bbox的x_max的最小值

对y坐标同理

只有当x_int_min<x_int_max且y_int_min<y_int_max时才会有交集的bbox

一个不存在交集bbox的实例如下:

代码实现:

python 复制代码
bbox1 = (2, 1, 6, 7)
bbox2 = (4, 3, 8, 6)

x_int_min = max(bbox1[0], bbox2[0])
y_int_min = max(bbox1[1], bbox2[1])
x_int_max = min(bbox1[2], bbox2[2])
y_int_max = min(bbox1[3], bbox2[3])

if x_int_min < x_int_max and y_int_min < y_int_max:
    intersection_bbox = (x_int_min, y_int_min, x_int_max, y_int_max)
    print("Intersection bbox:", intersection_bbox)
else:
    print("No intersection")

3D bounding box

2D的bbox计算方法可以轻易扩展到3D,只需对三个平面做投影即可变为2d的问题。

代码实现:

python 复制代码
bbox1 = (1, 2, 3, 5, 6, 7)
bbox2 = (4, 3, 5, 8, 7, 9)

x_int_min = max(bbox1[0], bbox2[0])
y_int_min = max(bbox1[1], bbox2[1])
z_int_min = max(bbox1[2], bbox2[2])

x_int_max = min(bbox1[3], bbox2[3])
y_int_max = min(bbox1[4], bbox2[4])
z_int_max = min(bbox1[5], bbox2[5])

if x_int_min < x_int_max and y_int_min < y_int_max and z_int_min < z_int_max:
    intersection_bbox = (x_int_min, y_int_min, z_int_min,
                         x_int_max, y_int_max, z_int_max)
    print("Intersection 3D bbox:", intersection_bbox)
else:
    print("No intersection")
相关推荐
CoovallyAIHub2 天前
仿生学突破:SILD模型如何让无人机在电力线迷宫中发现“隐形威胁”
深度学习·算法·计算机视觉
CoovallyAIHub2 天前
从春晚机器人到零样本革命:YOLO26-Pose姿态估计实战指南
深度学习·算法·计算机视觉
CoovallyAIHub2 天前
Le-DETR:省80%预训练数据,这个实时检测Transformer刷新SOTA|Georgia Tech & 北交大
深度学习·算法·计算机视觉
CoovallyAIHub2 天前
强化学习凭什么比监督学习更聪明?RL的“聪明”并非来自算法,而是因为它学会了“挑食”
深度学习·算法·计算机视觉
CoovallyAIHub2 天前
YOLO-IOD深度解析:打破实时增量目标检测的三重知识冲突
深度学习·算法·计算机视觉
用户1474853079742 天前
AI-动手深度学习环境搭建-d2l
深度学习
OpenBayes贝式计算3 天前
解决视频模型痛点,TurboDiffusion 高效视频扩散生成系统;Google Streetview 涵盖多个国家的街景图像数据集
人工智能·深度学习·机器学习
OpenBayes贝式计算3 天前
OCR教程汇总丨DeepSeek/百度飞桨/华中科大等开源创新技术,实现OCR高精度、本地化部署
人工智能·深度学习·机器学习
在人间耕耘3 天前
HarmonyOS Vision Kit 视觉AI实战:把官方 Demo 改造成一套能长期复用的组件库
人工智能·深度学习·harmonyos
homelook3 天前
Transformer与电池管理系统(BMS)的结合是当前 智能电池管理 的前沿研究方向
人工智能·深度学习·transformer