[英]Calculate intersection over union of two predictions
I need to calculate the intersection over union of two predictions that for example dont intersect.我需要计算例如不相交的两个预测的并集的交集。 My code is the folllowing:
我的代码如下:
yminA = max(coordenadas_A[0]*1024,coordenadas_B[0]*1024)
xminA = max(coordenadas_A[1]*1024,coordenadas_B[1]*1024)
ymaxA = max(coordenadas_A[2]*1024,coordenadas_B[2]*1024)
xmaxA = max(coordenadas_A[3]*1024,coordenadas_B[3]*1024)
interArea = max(0, ymaxA - yminA + 1) * max(0, xmaxA - xminA + 1)
boxAArea = (coordenadas_A[2]*1024 - coordenadas_A[0]*1024 + 1) * (coordenadas_A[3]*1024 - coordenadas_A[1]*1024 + 1)
boxBArea = (coordenadas_B[2]*1024 - coordenadas_B[0]*1024 + 1) * (coordenadas_B[3]*1024 - coordenadas_B[1]*1024 + 1)
iou = interArea / float(boxAArea + boxBArea - interArea)
print(iou)
but i obtain for example these results:但我得到例如这些结果:
1.7540044296738415
0.6296533530603247
0.5313443694664705
0.6413727857109087
How i know is the two roi overlap or no?我怎么知道这两个投资回报率是否重叠?
Change ymaxA
and xmaxA
variables function max
to min
. ymaxA
和xmaxA
变量 function max
更改为min
。
ymaxA = min(coordenadas_A[2]*1024,coordenadas_B[2]*1024)
xmaxA = min(coordenadas_A[3]*1024,coordenadas_B[3]*1024)
... instead of ... 代替
ymaxA = max(coordenadas_A[2]*1024,coordenadas_B[2]*1024)
xmaxA = max(coordenadas_A[3]*1024,coordenadas_B[3]*1024)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.