IoU、NMS、bounding box regression、

  1. 感受野
  2. IoU
  3. NMS
  4. bounding box regression

感受野

在卷积神经网络中,感受野的定义是 卷积神经网络每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小。
有两种理解方式:
IoU、NMS、bounding box regression、
关于感受野大小的计算采用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 计算的是 “预测的边框” 和 “真实的边框” 的交集和并集的比值。
IoU、NMS、bounding box regression、
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后的结果。
IoU、NMS、bounding box regression、

bounding box regression(边框回归)

bounding box回归,回归的目标是使得预测的物体窗口向groundtruth窗口相接近。并不是直接学习坐标,而是学习变形比例:包括两个部分,一个是对边框(x, y)进行移动,一个是对边框大小(w, h)进行缩放
IoU、NMS、bounding box regression、
计算:
IoU、NMS、bounding box regression、


参考:

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

上一篇:目标检测-斜框IOU,nms计算


下一篇:Qt Examples - Boxes (在Qt场景视图中结合渲染GL)