125
правок
Изменения
→OpenPose (2018)
|}
Логика архитектуры OpenPose следующая: во-первых, входное RGB-изображение (рисунок 10а) подается как вход в многослойную CNN с двумя ветвями. Две ветви означают, что CNN производит два разных вывода. На рисунке 11 верхняя ветвь, показанная бежевым цветом, предсказывает карты достоверности (англ. ''confidence map'') (рисунок 10b) расположения различных частей тела. Нижняя ветвь, показанная синим цветом, предсказывает поля сходства фрагментов (англ. ''affinity field'', '''''PAFs''''') (рисунок 10c), которые представляют степень связи между различными частями тела.
Многоступенчатость: на первом этапе (левая половина рисунка 11) сеть создает начальный набор карт достоверности обнаружения S и набор полей сходства для части L. Затем на каждой последующей стадии (правая половина рисунка 11) прогнозы из обеих ветвей на предыдущем этапе, вместе с характеристиками исходного изображения F, объединяются (обозначены знаком + на рисунке 11) и используются для получения более точных прогнозов. В реализации OpenPose последним этапом t выбран шестой.
На рис. 3 рисунке 12 показаны положительные преимущества многослойной архитектуры. В этом примере мы наблюдаем некоторую начальную путаницу между левой и правой частями тела на первых нескольких этапах. Но по мере того, как слой увеличивается, сеть различает их лучше.
В конце карты достоверности и поля сходства обрабатываются методом жадного вывода (рисунок 10d) для вывода двумерных ключевых точек для всех людей на изображении (рисунок 10e).
{|align="left"
|-valign="top"
|[[file:Openposestagebystage.png|600px|thumb|Рисунок 12. Результаты на слоях 1, 3 и 6 [[https://arxiv.org/pdf/1611.08050.pdf x]]]]
|}
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>Важной особенностью является скорость работы данного решения. На рисунке 12 13 представлено сравнение времени работы трех доступных библиотек, решающих задачу определения положения человека (в одинаковых условиях на одинаковом аппаратном обеспечении): OpenPose, Alpha-Pose (fast Pytorch version), и Mask R-CNN. Время исполнения OpenPose является константным, в то время как у Alpha-Pose и Mask R-CNN линейно растет с числом людей на исходных данных.
{|align="left"
|-valign="top"
|[[file:Openpose vs competition.png|300px|thumb| Рисунок 12 13 [[https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/README.md x]]]]
|}
<br><br><br><br><br><br><br><br><br><br><br><br><br>