NMS检测框合并策略
一.NMS
1.NMS算法过程
NMS主要就是通过迭代的形式,不断的以最大得分的框去与其他框做IoU操作,并过滤那些IoU较大(即交集较大)的框。
①根据候选框的类别分类概率做排序,假如有4个 BBox ,其置信度A>B>C>D。
②先标记最大概率矩形框A是算法要保留的BBox;
③从最大概率矩形框A开始,分别判断ABC与D的重叠度IOU(两框的交并比)是否大于某个设定的阈值(0.5),假设D与A的重叠度超过阈值,那么就舍弃D;
④从剩下的矩形框BC中,选择概率最大的B,标记为保留,然后判断C与B的重叠度,扔掉重叠度超过设定阈值的矩形框;
⑤一直重复进行,标记完所有要保留下来的矩形框。
two stage算法,通常在选出BBox有BBox位置(x,y,h,w)和是否是目标的概率,没有具体类别的概率。因为程序是生成BBox,再将选择的BBox的feature map做rescale (一般用ROI pooling),然后再用分类器分类。NMS一般只能在CPU计算,这也是two stage相对耗时的原因。
但如果是one stage做法,BBox有位置信息(x,y,h,