Понимание пересечения союза для обнаружения объектов (код)

Изучение взаимосвязи союза для обнаружения объектов (код)

Оценка моделей обнаружения объектов сводится к одному аспекту: определение, является ли обнаружение достоверным или нет

Определение достоверности обнаружения требует понимания показателя Intersection over Union (IoU).

В этой статье рассматриваются следующие аспекты:

  • Основы IoU — Что такое IoU?
  • Как вычислить (теоретически и в коде Python) IoU для одной пары обнаружения и истинной охватывающей рамки
  • Вычисление IoU для нескольких наборов предсказанных и истинных охватывающих рамок.
  • Как интерпретировать значение IoU?

Что такое Intersection over Union (IoU)?

IoU – это ключевой показатель для оценки моделей обнаружения объектов. Он измеряет точность детектора объектов, оценивая степень перекрытия между обнаруженной рамкой и истинной рамкой.

  • Истинная рамка или метка – это аннотированная рамка, показывающая местоположение объекта (аннотация часто выполняется вручную, и истинная рамка считается фактическим положением объекта).
  • Предсказанная рамка или граница предсказания – это предсказание от детектора объектов.

Формально, IoU – это площадь пересечения между истинной (gt) и предсказанной (pd) рамками, деленная на объединение этих рамок.

Определение IoU (Изображение от автора).

Пример 1: Вычисление IoU для одной пары обнаружения и истинной охватывающей рамки

Давайте начнем с простого примера. Вычисление IoU для одного обнаружения и истинной охватывающей рамки.

Для этого нам понадобятся координаты верхнего левого (x1, y1) и нижнего правого (x2, y2) углов двух рамок.

На рисунке ниже (справа) у нас есть две охватывающие рамки:

Предсказанная охватывающая рамка (p-box): (px1, py1, px2, py2) = (859, 31, 1002, 176)Истинная охватывающая рамка (t-box): (tx1, ty1, tx2, ty2) = (860, 68, 976, 184)