Вопрос или проблема
В YOLO каждая ячейка сетки предсказывает несколько ограничивающих рамок, скажем, в YOLOv1 она предсказывает B=2. В чем преимущество, если она предсказывает классовые вероятности только один раз для каждой ячейки сетки? Если так, почему бы не использовать только одну ограничивающую рамку…
Обычно это делается в контексте “якорей”.
Идея состоит в том, чтобы дать возможность обнаруживать более 1 объекта в одной и той же ячейке:
Как вы обнаружите и человека, и машину?
Добавив предположение, что разные объекты в одной и той же ячейке должны иметь разные формы рамок.
Затем вы можете добавить априорное предположение о форме рамки, например, соотношение сторон прямоугольника, его размер и т.д…
Модель будет иметь предсказание для каждого “априорного” предположения.
В приведенном выше случае есть 2 априорных предположения.
.
Ответ или решение
Вопрос о том, почему алгоритм YOLO (You Only Look Once) предсказывает несколько ограничивающих рамок для каждой сеточной ячейки, можно рассмотреть в контексте необходимости детектирования нескольких объектов в одной ячейке. Давайте подробно разберём этот процесс.
### Почему YOLO предсказывает несколько ограничивающих рамок?
#### 1. Многообъектное детектирование в одной ячейке:
В реальных сценах объекты часто перекрываются и находятся близко друг к другу. Если бы мы использовали только одну ограничивающую рамку на сеточную ячейку, многие объекты просто не были бы распознаны. Чтобы решить эту проблему, в YOLO каждая сеточная ячейка обучается предсказывать несколько (например, B=2 в YOLOv1) ограничивающих рамок.
#### 2. Исправление ошибок несоответствия:
Каждая ограничивающая рамка оптимизирована для обнаружения конкретной формы и размера объекта. Например, одна рамка может быть более подходящей для удлинённых объектов, таких как автомобили, в то время как другая — для более квадратных объектов, таких как люди. Это позволяет алгоритму уменьшить количество ошибок, связанных с несоответствием предсказания формы объекта.
### Роль «Анкоров» (Anchors):
#### 1. Принципы работы анкоров:
Анкоры служат как ориентиры или шаблоны, которые помогают модели предсказывать размер и форму объектов. Они представляют собой заранее заданные модели формы ограничения, например, прямоугольники с определёнными соотношениями сторон.
#### 2. Применение анкоров:
За счёт использования анкоров, YOLO может разделять рамки по нескольким объектам в одной и той же ячейке, что увеличивает точность детектирования. Это особенно важно в случаях, когда разные объекты находятся близко друг к другу и могут иметь перекрывающиеся рамки.
### Преимущества подхода:
#### 1. Улучшенная точность:
Использование нескольких рамок позволяет улучшить точность детекции и уменьшить вероятность пропуска объектов.
#### 2. Гибкость и адаптивность:
Множество предсказаний на ячейку позволяет учитывать вариативность в формах и размерах объектов, которые могут быть найдены в разных сценах.
#### 3. Соответствие критериям реальных сценариев:
Этот подход особенно полезен в реалистичных сценах с плотным размещением объектов, часто встречающихся в городских условиях и других сложных обстановках.
### Заключение:
Использование нескольких ограничивающих рамок на одну сеточную ячейку в YOLO оправдано необходимостью детектировать несколько объектов, обеспечивая при этом более высокую точность и адаптивность модели. Введение анкоров эффективно улучшает качество предсказаний, адаптируя модель к многообразию объектов, которые она может встретить.
Принимая во внимание все изложенные аргументы, можно заключить, что подобный подход является обоснованным и практически значимым решением в сфере компьютерного зрения.