YOLACT
Модель YOLACT - другой известный метод сегментации объектов. Он работает менее точно, чем Mask R-CNN, но зато существенно быстрее. Это однопроходный метод без этапа генерации регионов интереса (regions of interest, RoI).
Архитктура сети показана ниже [1]:
Вначале из изображения извлекается промежуточное признаковое представление, используя архитектуру Feature Pyramid Network (FPN), позволяющую получить семантически сложные признаки в высоком разрешении.
Аналогично тому, как в модели RetinaNet, на каждом уровне декодировщика FPN (и в каждой пространственной позиции) работает одинаковый детектор. Поскольку каждый уровень имеет своё разрешение, это позволяет детектировать как большие, так и малые объекты. Детектор, в свою очередь, выдаёт для каждого из шаблонов выделяющих рамок (a штук):
-
4 регрессионных ответа (коррекции координат выделяющей рамки)
-
вероятностей классов
Дополнительно детектор в YOLACT предсказывает смешивающих коэффициентов (mask coefficients), как показано на схеме [1] справа (слева для сравнения показан детектор в RetinaNet) [1]:
Таким образом, для каждого уровня FPN декодировщика и для каждой позиции на каждом уровне предсказывается значений.
Также к самому нижнему ярусу FPN декодировщика (обладающего максимальным пространственным разрешением) применяется сеть, определяющая масок-прототипов (prototypes), из линейной комбинации которых будут составляться итоговые маски объектов. Примеры масок прототипов приведены ниже [1]:
Вычислительная ветка для их выделения состояла из операций повышения разрешения и свёрток [1]:
Каждому прогнозу детектора на каждой пространственной позиции ставилась в соответствие маска, выделяющая соответствующий объект, получаемая как линейная комбинация масок-прототипов , взвешенных с полученными ранее смешивающими коэффициентами в соответствующей позиции (шаг assembly на рисунке), после чего полученная маска обрезалась выделяющей рамкой, полученной из задачи регрессии детектора (шаг crop на рисунке).
Примеры итоговых результатов работы YOLACT приведены на рисунке [1]: