Не может ли Yolo v3 установить количество ограничивающих рамок меньше трех?
В формуле расчета фильтра Yolo v3 номер ограничивающей рамки делится на 3 (почему?).
По этой причине число номеров ограничивающего прямоугольника может быть кратно 3.
Но я хочу установить одну ограничивающую рамку. Это возможно?
Если это возможно, сколько стоит фильтр?
Ниже я хотел бы реализовать код.
[convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=256
activation=leaky
[convolutional]
size=1
stride=1
pad=1
filters=?????????
activation=linear
[yolo]
mask = 0,1,2
anchors = 10,13
classes=20
num=1
jitter=.3
ignore_thresh = .5
truth_thresh = 1
random=1
1 ответ
Есть четыре важных переменных:
якоря: предопределенный набор ящиков с определенным соотношением высоты и ширины
маска: список идентификаторов ограничивающих рамок (якорей), которые слой отвечает за прогнозирование
num: общее количество якорей
filter = (num_classes + 5) * k, где k= количество масок в одном слое йоло
YOLOv3 прогнозирует смещения из заранее определенного набора блоков с определенными соотношениями высоты и ширины (якоря). Якоря - это начальные (ширина, высота) размеры, некоторые из которых (наиболее близкие к размеру объекта) будут изменены по размеру объекта.
каждый [yolo]
Слой должен знать обо всех якорных блоках, но отвечает только за их подмножество. Маска сообщает слою, какие из ограничивающих рамок она должна использовать для прогнозирования.
Стандартная конфигурация YOLOv3:
[convolutional]
size=1
stride=1
pad=1
filters=255
activation=linear
[yolo]
mask = 0,1,2
anchors = 10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326
classes=80
num=9
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1
Вот mask = 0,1,2
значит это [yolo]
слой (последний [yolo]
Уровень в файле конфигурации) отвечает за прогнозирование ограничивающих рамок, связанных с якорями 0 (10,13), 1 (16,30), 2 (33,23).
В общем и целом,
Первый [yolo]
Слой отвечает за 6,7,8 якоря.
второй [yolo]
Слой отвечает за 3,4,5 якоря.
В третьих [yolo]
Слой отвечает за 0,1,2 якоря.
Пример конфигурации для прогнозирования одного ограничивающего прямоугольника на каждом [yolo]
слой:
[convolutional]
size=1
stride=1
pad=1
filters=85
activation=linear
[yolo]
mask = 0
anchors = 10,13, 30,61, 116,90
classes=80
num=3
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1