У меня есть две группы ящиков, как показано на рисунке и в коде ниже:
from shapely.geometry import box
p1 = box(0.6,0.3,1.2,1.3)
p2 = box(0.5,0.5,1.8,1.9)
p3 = box(2,2,3,3)
p4 = box(1.4,1.4,2.6,3)
p5 = box(1,1,2.6,2.5)
plt.plot(*p1.exterior.xy, color="r")
plt.plot(*p3.exterior.xy, color="r")
plt.plot(*p5.exterior.xy, color="r")
plt.plot(*p2.exterior.xy, color="b")
plt.plot(*p4.exterior.xy, color="b")
Как мне получить IoU (пересечение над объединением) между этими двумя группами?
Я знаю, что это способ получить IoU для двух ящиков:
p1.intersection(p2).area/ p1.union(p2).area
Я понятия не имею, как это сделать для двух групп ящиков, таких как следующие: