如何计算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)