感受野
在卷积神经网络中,感受野的定义是 卷积神经网络每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小。
有两种理解方式:
关于感受野大小的计算采用top to down的方式, 即先计算最深层在前一层上的感受野,然后逐渐传递到第一层,使用的公式可以表示如下:
RF = 1
for layer in (top layer To down layer):
RF = ((RF -1)* stride) + fsize
stride 表示卷积的步长; fsize表示卷积层滤波器的大小
IoU(交并比)
IoU 的全称为交并比(Intersection over Union),通过这个名称我们大概可以猜到 IoU 的计算方法。IoU 计算的是 “预测的边框” 和 “真实的边框” 的交集和并集的比值。
box shape(5,):x1, y1, x2, y2, score;
boxes shape(n,4):x1, y1, x2, y2
box_area = (box[2] - box[0] + 1) * (box[3] - box[1] + 1)
area = (boxes[:, 2] - boxes[:, 0] + 1) * (boxes[:, 3] - boxes[:, 1] + 1)
xx1 = np.maximum(box[0], boxes[:, 0])
yy1 = np.maximum(box[1], boxes[:, 1])
xx2 = np.minimum(box[2], boxes[:, 2])
yy2 = np.minimum(box[3], boxes[:, 3])
# 计算intersection部分的面积
w = np.maximum(0, xx2 - xx1 + 1)
h = np.maximum(0, yy2 - yy1 + 1)
inter = w * h
ovr = np.true_divide(inter,(box_area + area - inter))
NMS(极大值抑制)
该算法的主要思想是:将所有框的得分排序,选中最高分及其对应的框;遍历其余的框,如果和当前最高分框的重叠面积(IOU)大于一定阈值,我们就将框删除;从未处理的框中继续选一个得分最高的,重复上述过程。
举例说明:
比如在下图中,假设5个框是人脸的概率由高到低排序为ABCDE。对于A,检查BCDE中是否有与A的IOU(交并比)>阈值的(如BD,说明BD与A重复区域很多),那就删掉BD,A保留;继续对于C,重复上述步骤。最后留下的框就是NMS后的结果。
bounding box regression(边框回归)
bounding box回归,回归的目标是使得预测的物体窗口向groundtruth窗口相接近。并不是直接学习坐标,而是学习变形比例:包括两个部分,一个是对边框(x, y)进行移动,一个是对边框大小(w, h)进行缩放
计算:
参考:
http://www.cnblogs.com/objectDetect/p/5947169.html
https://www.cnblogs.com/coolqiyu/p/9445673.html
https://blog.csdn.net/sinat_24143931/article/details/79141695
https://blog.csdn.net/u014061630/article/details/82818112
https://www.jianshu.com/p/2f749b07e09f