目标检测中IoU计算

1. 含义

IoU即交并比(Intersection over Union),是真实的目标框Ground truth与算法预测出来的目标框Prediction之间差距的衡量指标。
目标检测中IoU计算_第1张图片
计算公式:
IoU = A∩B/A∪B
一般来说,IoU值越大,说明预测的越准确,通常取0.5作为阈值。

2. Python程序实现
def iou(box1, box2):
    """Implement the intersection over union (IoU) between box1 and box2
    Arguments:
    box1 -- first box, list object with coordinates (x1, y1, x2, y2)
    box2 -- second box, list object with coordinates (x1, y1, x2, y2)
    """

    # Calculate the (y1, x1, y2, x2) coordinates of the intersection of box1 and box2. Calculate its Area.
    xi1 = max(box1[0], box2[0])
    yi1 = max(box1[1], box2[1])
    xi2 = min(box1[2], box2[2])
    yi2 = min(box1[3], box2[3])
    inter_area = (yi2 - yi1) * (xi2 - xi1)

    # Calculate the Union area by using Formula: Union(A,B) = A + B - Inter(A,B)
    box1_area = (box1[2] - box1[0]) * (box1[3] - box1[1])
    box2_area = (box2[2] - box2[0]) * (box2[3] - box2[1])
    union_area = box1_area + box2_area - inter_area

    # compute the IoU
    iou = inter_area / union_area

    return iou

本文参考:

  1. https://blog.csdn.net/m0_37605642/article/details/98354790?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-13&spm=1001.2101.3001.4242
  2. https://blog.csdn.net/caokaifa/article/details/80724842

你可能感兴趣的:(深度学习与神经网络,目标检测,计算机视觉,目标检测)