Назад к подготовке

IoU вместо MSE для bounding boxes

В object detection почему для box regression часто используют IoU-style loss, а не обычный MSE по координатам углов bounding box?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

MSE по координатам плохо совпадает с качеством детекции и зависит от масштаба объекта. IoU напрямую измеряет overlap predicted и ground-truth box, поэтому одна и та же ошибка в пикселях оценивается относительно размера объекта и качества локализации.

Полный разбор

Обычный MSE считает координаты углов независимыми regression targets. Сдвиг на 10 пикселей дает похожий coordinate loss для маленького и большого объекта, хотя влияние на detection quality будет разным. MSE также напрямую не измеряет overlap, containment и aspect-ratio quality.

IoU считает intersection over union, поэтому ближе к тому, как обычно оценивают object detectors. Он нормирован на размер box и показывает, насколько хорошо predicted box совпал с ground truth. Современные варианты вроде GIoU, DIoU и CIoU добавляют terms для non-overlap, расстояния между центрами и aspect ratio.

MSE не запрещен полностью: в некоторых parameterizations, например offsets относительно anchors, он может работать. Но raw corner MSE - слабый proxy для localization quality.

Теория

Хороший loss должен быть согласован с metric и не штрафовать нерелевантные scale changes; IoU напрямую оптимизирует overlap.

Типичные ошибки

  • Говорить, что MSE вообще никогда не работает.
  • Забывать пример small object vs large object.
  • Не упоминать zero-gradient/non-overlap problem, из-за которой появились GIoU-like variants.

Как отвечать на собеседовании

  • Используйте пример одного pixel shift для маленького и большого box.
  • Если интервьюер спрашивает edge cases, упомяните IoU variants.