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.