提高非极大值抑制算法的效率
Improve efficiency of the NMS algorithm.
非极大值抑制(non-maximum suppression,NMS)算法是目标检测等任务中常用的后处理方法,能够过滤掉多余的检测边界框。本文介绍NMS算法及其计算效率较低的原因,并介绍一些能够提高NMS算法效率的算法。目录如下:
- NMS算法
- CUDA NMS
- Fast NMS
- Cluster NMS
- Matrix NMS
1. NMS算法
NMS算法的流程如下:
- 输入边界框集合$$\mathcal{B}={(B_n,c_n)}_{n=1,...,N}$$,其中$c_n$是边界框$B_n$的置信度;
- 选中集合$$\mathcal{B}$$中置信度最大的边界框$B_i$,将其从集合$$\mathcal{B}$$移动至输出边界框集合$$\mathcal{O}$$中;
- 遍历集合$$\mathcal{B}$$中的其余所有边界框$B_j$,计算边界框$B_i$和边界框$B_j$的交并比$\text{IoU}(B_i,B_j)$。若$\text{IoU}(B_i,B_j)≥\text{threshold}$,则删除边界框$B_j$;
- 重复上述步骤,直至集合$$\mathcal{B}$$为空集。