目标检测中计算图像的交并比(IOU)

交并比为目标检测中一个重要的概念,来进行预测框(ground truth)与标注框的重合率来对检测的正确率进行比较。图示如下:
目标检测中计算图像的交并比(IOU)_第1张图片
交并比计算公式:
I O U = C ⋂ G C ⋃ G IOU=\frac{C \bigcap G }{C \bigcup G} IOU=CGCG
代码示例:

# -*-coding:utf-8 -*- 
# 计算图像的(IOU)交并比

def Iou(box1,box2):
	xmin1, ymin1, xmax1, ymax1 = box1
	xmin2, ymin2, xmax2, ymax2 = box2
	# 求交集部分左上角的点
	xmin = max(xmin1,xmin2)
	ymin = max(ymin1,ymin2)
	# 求交集部分右下角的点
	xmax = min(xmax1,xmax2)
	ym=ax = min(ymax1,ymax2)
	# 计算输入的两个矩形的面积
	s1 = (xmax1-xmin1) * (ymax1 - ymin1)
	s2 = (xmax2-xmin2) * (ymax2 - ymin2)

	#计算总面积
	s = s1 + s2 
	# 计算交集
	inter_area = (xmax - xmin) * (ymax - ymin)

	iou = inter_area / (s - inter_area)
	return iou

if __name__ == '__main__':
	b1 = [1,1,3,3]
	b2 = [2,2,4,4]
	print(Iou(b1,b2))           # 0.14285714285714285

计算交并比的方法多种多样,在目标检测中也不止交并比一个值来计算检测的准确性,其他方法有待发现。。。

你可能感兴趣的:(机器学习,图像处理,目标检测)