如何计算任意两个矩形的IOU值?

时间:2024-04-05 14:26:19

如何计算任意两个矩形的IOU值?

如何计算任意两个矩形的IOU值?

上图中是两个矩形,这两个矩形可以是任意的,也可以不相交。

IOU的计算公式为两个矩形交的面积与并的面积之比,即淡黄色区域面积与浅蓝色和淡黄色区域面积和的比值。

下面给出伪代码,可适用于任何情形:

xA = max(x11,x21)
yA = max(y11,y21)
xB = min(x12,x22)
yB = min(y12,y22)

# 两个框各自的面积
boxAArea=(x12-x11)*(y12-y11)
boxBArea=(x22-x21)*(y22-y21)

# 重叠面积
interArea=max(xB-xA,0)*max(yB-yA,0)

# 计算IOU
iou = interArea/(boxAArea+boxBArea-interArea)

有关更多IOU的资料,网上已经很多了,这里就不赘述了,只给出简洁、可靠的伪代码供学习使用。

[阅读原文]