Пытаюсь понять, как работает YOLOv3. И эта вещь все еще меня смущает: YOLO может определять ограничивающий прямоугольник (координаты и размеры), но почему он не выводит эти значения напрямую, вместо того, чтобы использовать их для настройки якорных ящиков?
Почему YOLOv3 вычисляет значения смещения для настройки якорных рамок, а не напрямую выводит размер ограничивающей рамки?
Ответы (1)
Большинство алгоритмов обнаружения объектов вычисляют смещение (x, y, ширину, высоту) для ограничивающих рамок по сравнению с фиксированной привязкой.
Якоря обычно создаются по фиксированной сетке: для каждого места в сетке создается набор якорей с разными пропорциями и разными областями.
Алгоритму обучения намного проще вывести смещение от фиксированного якоря, из которого он может вывести общую координату, а не пытаться найти общую координату напрямую, потому что это локальная и инвариантная функция.
Это означает, что если есть собака с неправильно отцентрированной ограничивающей рамкой в верхнем левом углу изображения, алгоритму предлагается вывести смещение, как если бы собака находилась в нижнем правом углу изображения, что делает его надежным. для смещения и не требует, чтобы он узнал глобальное положение объекта на изображении.