什么是IOU
神经网络的应用还有许多,目标检测就是其中之一,目标检测中有一个很重要的概念便是IOU。
IOU是一种评价目标检测器的一种指标。
下图是一个示例:图中绿色框为实际框(好像不是很绿……),红色框为预测框,当我们需要判断两个框之间的关系时,需要用什么指标呢?此时便需要用到IOU。
计算IOU的公式为:
可以看到IOU是一个比值,即交并比。
在分子部分,值为预测框和实际框之间的重叠区域;
在分母部分,值为预测框和实际框所占有的总区域。
IOU的特点
与分类任务不同,我们的预测框的坐标需要去匹配实际框的坐标,而坐标的完全匹配是不现实的。因此,我们需要定义一个评估指标,奖励那些与匹配框匹配较好的预测框。
全部实现
画出两个矩形框,并计算他们的IOU。
效果如下:
import cv2
import numpy as np
def CountIOU(RecA, RecB):
xA = max(RecA[0], RecB[0])
yA = max(RecA[1], RecB