Обнаружение объектов YOLO: как алгоритм предсказывает ограничивающие прямоугольники больше, чем ячейка сетки? - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь лучше понять, как работают алгоритмы YOLO2 & 3.Алгоритм обрабатывает ряд сверток, пока не достигнет сетки 13x13.Затем он может классифицировать объекты в каждой ячейке сетки, а также ограничивающие рамки для этих объектов.

enter image description here

Если вы посмотрите на это изображение, вы увидите, что ограничивающий прямоугольник красного цвета больше, чем любая отдельная ячейка сетки.Также ограничивающий прямоугольник центрируется в центре объекта.

Мои вопросы касаются того, как предсказанные ограничивающие рамки превышают размер ячейки сетки, когда активации сети основаны на отдельной ячейке сетки.Я имею в виду, что все, что находится вне ячейки сетки, должно быть неизвестно нейронам, предсказывающим ограничивающие рамки для объекта, обнаруженного в этой ячейке справа.

Точнее, вот мои вопросы:

1,Как алгоритм предсказывает ограничивающие прямоугольники, которые больше, чем ячейка сетки?

2.Как алгоритм узнает, в какой ячейке находится центр объекта?

Ответы [ 2 ]

0 голосов
/ 16 августа 2019

YOLO предсказывает смещения для якорей.Якоря инициализируются так, что есть 13x13 наборов якорей.(В Yolov3 каждый набор имеет k = 5 якорей, разные версии yolo имеют разные k.) Якоря распределены по изображению, чтобы обеспечить обнаружение объектов во всех частях.

Якоря могут иметь произвольный размери пропорции, не связанные с размером сетки.Если в вашем наборе данных в основном большие объекты переднего плана, то вы должны инициализировать свои якоря большими.YOLO учится лучше, если ему нужно только внести небольшие изменения в привязки.

В каждом прогнозе фактически используется информация из всего изображения.Часто контекст из остальной части изображения помогает предсказанию.например, черные пиксели под транспортным средством могут быть либо шинами, либо тенью.

Алгоритм действительно «не знает», в какой ячейке находится центр объекта.Но во время обучения у нас есть эта информация от истины, и мы можем научить ее угадывать.При достаточном обучении получается довольно хорошо угадывать.Способ, который работает, состоит в том, что ближайший якорь к наземной истине назначается объекту.Другие привязки назначаются другим объектам или фону.Предполагается, что привязки, назначенные фону, имеют низкую достоверность, тогда как привязки, назначенные объекту, оцениваются по IoU их ограничивающих рамок.Таким образом, обучение укрепляет один якорь, чтобы дать высокую уверенность и точную ограничивающую рамку, в то время как другие якоря дают низкую уверенность.Приведенный в вашем вопросе пример не включает в себя какие-либо прогнозы с низкой достоверностью (вероятно, для упрощения), но на самом деле будет гораздо больше прогнозов с низкой достоверностью, чем с высокой достоверностью.

0 голосов
/ 29 мая 2018

все, что находится вне ячейки сетки, должно быть неизвестно нейронам, предсказывающим ограничивающие рамки для объекта, обнаруженного в этой ячейке справа.

Это не совсем верно.Ячейки соответствуют разделу изображения, где нейрон научился реагировать, если центр объекта расположен внутри.

Однако, восприимчивое поле этих выходных нейронов намного большечем ячейка и на самом деле покрывают все изображение.Поэтому он способен распознавать и рисовать ограничивающую рамку вокруг объекта, намного большего, чем назначенная ему «центральная клетка».

Таким образом, клетка центрируется в центре рецептивного поля выходного нейрона, но являетсяменьшая часть.Это также несколько произвольно, и можно представить, например, наличие перекрывающихся ячеек - в этом случае можно ожидать, что соседние нейроны будут срабатывать одновременно, когда объект центрирован в перекрывающейся зоне их ячеек.

...