过滤掉与先前选定的框有较高重叠的“交集-并集”(IOU)框。移除得分小于score_threshold的边界框。边界框格式由属性center_point_box表示。
注意,该算法不知道原点在坐标系中的位置,更普遍地说,它对坐标系的正交变换和平移是不变的。因此,平移或反射坐标系统的结果在相同的方框被算法选择。selected_indices输出是一组整数,索引到表示所选框的边界框的输入集合中。然后可以使用Gather或gathernd操作获得与所选索引对应的边框坐标。
【输入2-5】
boxes: tensor(float)
scores: tensor(float)
max_output_boxes_per_class: 可选,数据类型:tensor(int64)
iou_threshold: 可选,数据类型:tensor(float)
score_threshold: 可选,数据类型:tensor(float)
【输出】
selected_indices: tensor(int64)
【属性】
center_point_box: int 默认值:0
【约束】
昇腾310 AI处理器、昇腾310P AI处理器和昇腾910 AI处理器对于输入boxes和scores的数据类型仅支持float16。
该算子在昇腾AI处理器上的输出Shape为[max_output_boxes_per_class * batch_size * class_num, 3],如果最终每个类筛选出的框不足max_output_boxes_per_class个,则会填充-1。例如:
batch_size = 1
class_num = 2
max_output_boxes_per_class = 5
第一个类筛选出 3 个框 第二个类帅选出 1 个框,则最终结果为:
[0, 0, 8]
[0, 0, 5]
[0, 0, 7]
[-1, -1, -1]
[-1, -1, -1]
[0, 1, 9]
[-1, -1, -1]
[-1, -1, -1]
[-1, -1, -1]
[-1, -1, -1]
Opset v10/v11/v12/v13/v14/v15/v16/v17/v18