2.2. 代码实现

论文的作者提供R-FCN和Faster-RCNN集成soft-NMS的代码。

代码传送门:soft-NMS

其实最重要的改变在soft-nms/lib/nms/cpu_nms.pyx 79行到92行

ov = iw * ih / ua #iou between max box and detection box
if method == 1: # linear
    if ov > Nt: 
        weight = 1 - ov
    else:
        weight = 1
elif method == 2: # gaussian
    weight = np.exp(-(ov * ov)/sigma)
else: # original NMS
    if ov > Nt: 
        weight = 0
    else:
        weight = 1

可以明显看到soft-NMS最重要是更新weight变量的值。采用线性加权时,更新为1-ov,高斯加权时引入sigma参数,而原始NMS算法时,直接取0或1。

results matching ""

    No results matching ""