IOU(交并比)
交并比(loU)函数做的是计算两个边界框交集和并集之比。可以用来判断定位算法的好坏。
一般来说,IoU大于等于0.5,那么结果是可以接受的,就说检测正确。如果预测器和实际边界框完美重叠,loU就是1,因为交集就等于并集。一般约定,0.5是阈值(threshold),用来判断预测的边界框是否正确。loU越高,边界框越精确。
import cv2
import numpy as np
def CountIOU(RecA, RecB):
xA = max(RecA[0], RecB[0])
yA = max(RecA[1], RecB[1])
xB = min(RecA[2], RecB[2])
yB = min(RecA[3], RecB[3])
# 计算交集部分面积
interArea = max(0, xB - xA + 1) * max(0, yB - yA + 1)
# 计算预测值和真实值的面积
RecA_Area = (RecA[2] - RecA[0] + 1) * (RecA[3] - RecA[1] + 1)
RecB_Area = (RecB[2] - RecB[0] + 1) * (RecB[3] - RecB[1] + 1)
# 计算IOU
iou = interArea / float(RecA_Area + RecB_Area - interArea)
return iou
img = n
文章链接
发表评论