文件最后提交记录最后更新时间
23 天前
23 天前
5 天前
15 天前
15 天前
23 天前
23 天前
README

Iou3D

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品
Atlas 训练系列产品

功能说明

  • 算子功能:计算两组3D旋转框(7-DoF:[x, y, z, w, h, d, theta])之间的3D IoU矩阵。

  • 计算原理:

    • BEV投影:每个框在XY平面按theta旋转,得到4个顶点:P = center ± 0.5*w*(cos, sin) ± 0.5*h*(-sin, cos)
    • 交集面积:顶点包含测试 + 边相交,收集交集多边形顶点;0/3顶点直接算三角形面积,>3顶点质心分解 + 极角排序求和。
    • Z轴重叠:real_d = max(min(z1max, z2max) - max(z1min, z2min), 0),其中z_min = z - 0.5*dz_max = z + 0.5*d
  • 计算公式:

    IoU3D=bev_area×real_dVA+VB−Vinter+ε,ε=10−6\text{IoU}_{3D} = \frac{\text{bev\_area} \times \text{real\_d}}{V_A + V_B - V_{inter} + \varepsilon}, \quad \varepsilon = 10^{-6}

    其中V = w * h * d为框体积,V_inter = bev_area * real_d为交集体积。

  • 数值稳定三守卫:分母加epsilon = 1e-6防除零;Z轴重叠clamp到非负;退化多边形(顶点 < 3)面积置0。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
bboxes 输入 预测框,shape [B, 7, N]。第二维为7-DoF [x, y, z, w, h, d, theta] FLOAT ND
gtboxes 输入 真值框,shape [B, 7, K]。第二维为7-DoF [x, y, z, w, h, d, theta] FLOAT ND
iou 输出 3D IoU矩阵,shape [B, N, K],值域 [0, 1]iou[b, n, k] = 第b批第n个预测框与第k个真值框的3D IoU。 FLOAT ND
  • 7-DoF语义:x, y, z为中心坐标,w, h, d为框在三个方向的尺寸,theta为绕Z轴的旋转角(弧度)。
  • 三个Tensor的batch维B必须一致;bboxes.shape[1] == gtboxes.shape[1] == 7

约束说明

  • 数据类型:bboxesgtboxesiou均必须为float32。
  • channel固定为7:bboxes.shape[1]gtboxes.shape[1]必须等于7(7-DoF),否则拒绝。
  • K 无上限:对标 mmcv,gtboxes.shape[2](K)不设上限;逐对计算的UB与极角排序(固定32元素)缓冲与K无耦合,任意K成立。
  • 无效框排序:同一batch内无效框(w * h * d = 0)不能排在有效框之前。

调用说明

调用方式 调用样例 说明
GE图模式 test_geir_iou3d 通过算子IR构图方式调用Iou3D算子