#AEAI03005. 分类检测结果去重
分类检测结果去重
题目描述
同一目标可能被检测器从多个相近位置重复报出。为了把候选结果送给机械臂执行模块,具身智能部需要先按类别做一次非极大值抑制。
给定若干带类别和置信度的检测框。先过滤掉分数低于阈值的候选,再按分数从高到低执行 NMS:只有同类别、且与已保留框 IoU 严格大于阈值的候选会被抑制。输出最终保留的候选编号。
输入格式
- 第一行输入整数
N。 - 随后
N行,每行输入id class_id score x1 y1 x2 y2。 - 最后一行输入两个浮点数
Ts Tiou。
输出格式
- 第一行输出保留数量
K。 - 若
K>0,第二行按保留顺序输出K个id。
判定规则
使用标准输出比较。
- 只有
score >= Ts的候选参与 NMS。 - 参与候选按
score降序、id升序处理。 - NMS 只在同一
class_id内生效。 - 当某候选与任一已保留同类框的
IoU > Tiou时,该候选被抑制。
样例
输入样例 1
4
1 1 0.9 0 0 10 10
2 1 0.8 1 1 9 9
3 2 0.7 1 1 9 9
4 1 0.4 20 20 30 30
0.5 0.3
输出样例 1
2
1 3
样例解释 1
候选 4 分数不足被过滤;候选 2 与同类候选 1 重叠过高被抑制;候选 3 类别不同而保留。
输入样例 2
2
1 1 0.2 0 0 1 1
2 1 0.3 2 2 3 3
0.5 0.5
输出样例 2
0
样例解释 2
所有候选分数都低于 Ts,没有保留结果。