文件最后提交记录最后更新时间
13 天前
13 天前
13 天前
13 天前
13 天前
13 天前
13 天前
README

BatchMultiClassNonMaxSuppression

产品支持情况

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

功能说明

  • 算子功能:对每个 batch、每个类别的候选框执行贪心非极大值抑制(NMS),再从所有类别的保留结果中按分数选择最多 max_total_size 个检测框。
  • boxes 坐标格式为 [y_min, x_min, y_max, x_max]。当 q=1 时各类别共享 boxes;当 q=C 时每个类别使用自己的 boxes。
  • 当提供 clip_window 时,算子先执行裁剪;change_coordinate_frame=true 时,再以窗口左上角为原点、窗口宽高为尺度进行归一化。

对候选框 a 和已选框 b,IoU 的计算为:

IoU(a,b)=Area(a∩b)max(Area(a)+Area(b)−Area(a∩b),1e−12)IoU(a,b)=\frac{Area(a\cap b)}{max(Area(a)+Area(b)-Area(a\cap b), 1e-12)}

分数仅在 score > score_threshold 时保留;IoU 严格大于 iou_threshold 时抑制。每个类别最多保留 max_size_per_class 个框,最终结果不足 max_total_size 时以 0 填充。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
boxes 输入 候选框,坐标格式为[y_min, x_min, y_max, x_max]。transpose_box为false时shape为[B,N,q,4],为true时shape为[B,q,4,N];q为1或C。 FLOAT16、FLOAT ND
scores 输入 每个候选框、每个类别的分数,shape为[B,N,C],数据类型必须与boxes一致。 FLOAT16、FLOAT ND
clip_window 可选输入 裁剪窗口,坐标格式为yxyx,shape为[B,4]。可传空指针,数据类型必须与boxes一致。 FLOAT16、FLOAT ND
num_valid_boxes 可选输入 每个batch的有效候选框数,shape为[B]。可传空指针。 INT32 ND
score_threshold 属性 分数阈值,仅保留严格大于该值的候选框;必须为有限值。 FLOAT -
iou_threshold 属性 IoU抑制阈值;必须为[0,1]内的有限值。 FLOAT -
max_size_per_class 属性 每个类别最多保留的候选框数量,取值范围为[1,1000]。 INT64 -
max_total_size 属性 每个batch最多保留的候选框数量,取值范围为[1,1000]。 INT64 -
change_coordinate_frame 属性 是否将裁剪后的坐标归一化到窗口坐标系,默认为false;为true时必须提供clip_window。 BOOL -
transpose_box 属性 是否按[B,q,4,N]解释boxes,默认为false。 BOOL -
nmsed_boxes 输出 NMS后的检测框,shape为[B,M,4],其中M为max_total_size。 FLOAT16、FLOAT ND
nmsed_scores 输出 NMS后的检测分数,shape为[B,M]。 FLOAT16、FLOAT ND
nmsed_classes 输出 NMS后的类别编号,shape为[B,M],以浮点类型表示。 FLOAT16、FLOAT ND
nmsed_num 输出 每个batch的有效输出数量,shape为[B]。 INT32 ND

约束说明

  • 仅支持 ND format、float16/float32 的 boxes 和 scores;三个浮点输出与 boxes dtype 保持一致。
  • boxes 为 4 维、scores 为 3 维,B、N、C、q 必须为正;q 必须为 1 或 C。
  • clip_window 的形状必须为 [B,4]num_valid_boxes 的形状必须为 [B]
  • 当前 Ascend950 tiling 只接受具体的正 shape,不支持动态 rank 和未知维度。
  • image_size 为图模式原型兼容属性,当前通用 NMS 路径不读取该属性;旧平台 norm_class 专用语义不在本实现范围内。
  • 相同分数的相对顺序不是公共接口承诺;调用方应以 nmsed_num 确定有效输出范围。

调用说明

调用方式 样例代码 说明
图模式 test_geir_batch_multi_class_non_max_suppression 通过算子IR构图方式调用BatchMultiClassNonMaxSuppression算子。