Faster R-CNN代码学习(二)——utils模块
主要学习了lib文件夹下的utils模块,这部分模块的主要作用是提供一些工具类函数,包括NMS、图片预处理以及IoU计算函数等。
NMS(非极大抑制)
NMS的原理就是在同一类的框中,根据scores来进行去除冗余框的计算。
import numpy as np
def nms(dets, thresh):
# 输入一系列具有相同类别的坐标和得分
# dets (N, 5)
x1 = dets[:, 0]
y1 = dets[:, 1]
x2 = dets[:, 2]
y2 = dets[:, 3]
scores = dets[:, 4]
order = np.argsort(scores)[::-1] # 从大到小排列的index
keep = [] # 返回的index
while order.size > 0:
i = order[0] # order剩余的里面得分最高的index
keep.append(i)
# 下面的坐标计算跟IoU计算相同,x2、y2取min,x1、y1取max
xx1 =