“”"
NMS算法步骤:
根据候选框的类别分类概率做小到大大排序:A<B<C<D<E<F
- 先标记最大概率矩形框F是我们需要保留下来的
- 从最大概率矩形框F开始,分布判断A~E与F的重叠度iou(两框的交并比)是否大于某个设定的阈值,假设B、D与F的重叠度超过阈值,那么就扔掉B、D;
- 从剩余的矩形框A、C、E中,选择概率最大的E, 标记为要保留下来的,然后判读E与A、C的重叠度,扔掉重叠度超过设定阈值的矩形框
就这样一直while循环下去,直至剩下的矩形框没有了,标记完所有要保留下来的矩形框
“”"
import numpy as np
“”"
Function: NMS algorithm
功 能:NMS算法(非极大值抑制算法)
input parameter: input_data + threshold value
输入参数:矩形框坐标数据 + 阈值
output value: the index of the datas which need to be remained
输出参数:输出需要保留的矩形框
部分资料来源于:https://blog.csdn.net/Blateyang/article/details/79113030
“”"
def py_nms(input_data, threshold):
x1 = input_data[:, 0]
y1 = input_data[:, 1