| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 17 天前 | ||
| 17 天前 | ||
| 17 天前 | ||
| 17 天前 | ||
| 17 天前 | ||
| 17 天前 | ||
| 17 天前 |
SortedNMS
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | × |
| Kirin X90 处理器系列产品 | × |
| Kirin 9030 处理器系列产品 | × |
功能说明
-
算子功能:在已按分数降序排列的候选框序列上,按照交并比(IoU)阈值贪心选择非抑制框,输出被选中框在原始boxes中的索引。
-
计算公式:
IoU=AreainterAreacurrent+Areanext−AreainterIoU = \frac {Area_{inter}} {Area_{current} + Area_{next} - Area_{inter}}
其中,Area_current为当前选中框的面积,Area_next为候选框的面积,Area_inter为两个框的重叠面积,offset为坐标计算偏移量。
Areai=max(X2i−X1i+offset,0)∗max(Y2i−Y1i+offset,0)Areainter=max(min(X2c,X2n)−max(X1c,X1n)+offset,0)∗max(min(Y2c,Y2n)−max(Y1c,Y1n)+offset,0)Area_i = max(X_{2i} - X_{1i} + offset, 0) * max(Y_{2i} - Y_{1i} + offset, 0) \\ Area_{inter} = max(min(X_{2c}, X_{2n}) - max(X_{1c}, X_{1n}) + offset, 0) * max(min(Y_{2c}, Y_{2n}) - max(Y_{1c}, Y_{1n}) + offset, 0)
算子按照sorted_scores的非递增顺序遍历候选框。当候选框的分数大于score_threshold且未被抑制时,将input_indices中对应的索引加入输出;当候选框与当前选中框的IoU大于iou_threshold时,抑制该候选框。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| boxes | 输入 | 候选矩形框,shape为(N, 4),坐标格式为(X1, Y1, X2, Y2)。 | FLOAT32、FLOAT16 | ND |
| sorted_scores | 输入 | 候选矩形框的分数,shape为(N,),需要按非递增顺序排列。 | FLOAT32、FLOAT16 | ND |
| input_indices | 输入 | sorted_scores对应的候选框索引,shape为(N),取值范围为[0, N)。 | INT32 | ND |
| max_output_size | 输入 | 最多输出的候选框数量,输入为标量或shape为(1,)的张量。 | INT32 | ND |
| iou_threshold | 输入 | 判断候选框是否需要抑制的IoU阈值,输入为标量或shape为(1,)的张量。 | FLOAT32、FLOAT16 | ND |
| score_threshold | 输入 | 过滤候选框的分数阈值,输入为标量或shape为(1,)的张量。 | FLOAT32、FLOAT16 | ND |
| offset | 属性 | 计算坐标差值时使用的偏移量,取值为0或1,默认值为0。 | INT | - |
| selected_indices | 输出 | 被选中候选框在原始boxes中的索引,shape为(M),M为运行时计算结果且M不大于min(max_output_size, N)。 | INT32 | ND |
- boxes与iou_threshold的数据类型需要保持一致;sorted_scores与score_threshold的数据类型需要保持一致,两组数据类型可以不同。
约束说明
-
输入shape限制:boxes为(N, 4)的二维张量,sorted_scores和input_indices为(N,)的一维张量,max_output_size、iou_threshold和score_threshold为标量或shape为(1,)的张量。
-
sorted_scores需要按照非递增顺序排列,input_indices需要为合法的候选框索引。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| 图模式调用 | test_geir_sorted_nms | 通过算子IR构图方式调用SortedNMS算子。 |