IndexError: index 1 is out of bounds for axis 0 with size 1
Пытаюсь найти площадь пересечения ограничивающих рамок
def bboxes_iou(boxes1, boxes2):
#преобразуем рамки в numpy массив
boxes1 = np.array(boxes1)
boxes2 = np.array(boxes2)
#находим площадь каждой ограничивающей рамки
boxes1_area = (boxes1[..., 2]-boxes1[..., 0])*(boxes1[..., 3]-boxes1[...,1])
boxes2_area = (boxes2[..., 2]-boxes2[..., 0])*(boxes2[..., 3]-boxes2[...,1])
#вычисляем какой ограничитильной рамки выбрать верхний левый угол
left_up = np.maximum(boxes1[..., 2], boxes2[..., 2])
#теперь такую же операцию проводим для правого нижнего угла
right_down = np.minimum(boxes1[..., 2], boxes2[..., 2])
#проверим, пересекаются ли рамки
inter_section = np.maximum(left_up - right_down, 0.0)
#расчитываем площадь пересечения
inter_area = inter_section[..., 0] * inter_section[..., 1]
#теперь рассчитываем площадь объединения
union_area = boxes1_area + boxes2_area - inter_area
#вычисляем отношение пересечения к объединению
#число может получиться очень маленькое, поэтому возьмем максимум между ним и машинным нулем(эпсилоном) для float32
ious = np.maximum(1.0 * inter_area/union_area, np.finfo(np.float32).eps)
return ious
Но вылезает ошибка:
<ipython-input-27-7b6f79c45ab6> in bboxes_iou(boxes1, boxes2)
14 inter_section = np.maximum(left_up - right_down, 0.0)
15 #расчитываем площадь пересечения
---> 16 inter_area = inter_section[..., 0] * inter_section[..., 1]
17 #теперь рассчитываем площадь объединения
18 union_area = boxes1_area + boxes2_area - inter_area
IndexError: index 1 is out of bounds for axis 0 with size 1
Подскажите что делать!