Пересечение над объединением (IoU)
Метрика, измеряющая, насколько сильно две ограничивающие рамки пересекаются друг с другом
Пересечение над объединением (англ. Intersection over Union — IoU) — это метрика, измеряющая, насколько сильно две ограничивающие рамки (Bounding Box) пересекаются друг с другом.
IoU — одна из базовых метрик в задачах:
- Object Detection
- Instance Segmentation
- Semantic Segmentation
- Pose Estimation
Как работает IoU
Есть два прямоугольника:
- Ground Truth — правильная разметка
- Prediction — предсказание модели
IoU сравнивает площадь пересечения, площадь объединения.
Если:
- IoU = 1.0, то боксы полностью наложились.
- IoU = 0, то боксы вообще не пересекаются.
- IoU = 0.5, то пересечение есть, но совпадение среднее.
Почему IoU важен
Object Detection — это не только найти объект и определить класс. Важно ещё точно локализовать объект. Модель может правильно угадать класс, но плохо определить координаты. IoU позволяет это измерить.
IoU и mAP
mAP (англ. mean Average Precision — средняя точность) — основная метрика качества моделей Детекции объектов (Object Detection). Она оценивает:
- насколько хорошо модель находит объекты
- насколько точно локализует их
IoU используется для определения: считать предсказание правильным или нет.
Пример. Допустим:
- модель нашла объект
- класс совпал
- IoU = 0.72
Если порог IoU threshold = 0.5, то это True Positive.
Если бы IoU был 0.3, то это False Positive.
mAP@0.5 (mAP@50) — очень популярная метрика, означает: объект считается найденным, если IoU ≥ 0.5.
mAP@0.5:0.95 (mAP@50:95) — более строгая метрика, означает: объект считается найденным, если IoU ≥ 0.5 и IoU ≤ 0.95.
Считается среднее качество по нескольким порогам IoU:
- 0.50
- 0.55
- 0.60
- …
- 0.95
Это проверяет:
- умеет ли модель очень точно локализовать объекты
Почему высокая IoU важна
Представьте: модель нашла человека, но рамка покрывает только половину тела. Класс угадан правильно, но локализация плохая. IoU помогает учитывать именно качество позиционирования объекта.
Ограничения IoU
- Чувствительность к маленьким объектам: даже небольшая ошибка координат может резко снизить IoU
- Не учитывает расстояние между боксами: если боксы рядом, но не пересекаются: IoU = 0. Хотя визуально ошибка может быть маленькой.
Из-за этого появились:
- GIoU
- DIoU
- CIoU.