Изменения

Перейти к: навигация, поиск

Определение положения человека

Нет изменений в размере, 02:51, 23 января 2021
Методы решения
{|align="left"
|-valign="top"
|[[file:Openpose.jpg|300px|thumb| Рисунок 10 12 Примеры результатов работы алгоритма [[https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/README.md x]]]]
|}
OpenPose<ref name="OpenPose">[https://arxiv.org/pdf/1812.08008.pdf OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields, Zhe Cao, Gines Hidalgo, Tomas Simon, Shih-En Wei, and Yaser Sheikh, 2019]</ref> {{---}} первая система, решающая задачу определения поз для нескольких людей (англ. ''Multi person Pose estimation'') в режиме реального времени c открытым [https://github.com/CMU-Perceptual-Computing-Lab/openpose исходным кодом].
{|align="left"
|-valign="top"
|[[file:Openpose example.png|800px|thumb|Рисунок 11 13 [[https://arxiv.org/pdf/1611.08050.pdf x]]]]
|}
<br><br><br><br><br><br><br><br><br><br>
{|align="right"
|-valign="top"
|[[file:Openposeschema.png|500px|thumb|Рисунок 12 14 [[https://arxiv.org/pdf/1611.08050.pdf x]]]]
|}
Логика архитектуры OpenPose следующая: во-первых, входное RGB-изображение (рисунок 11а13а) подается как вход в многослойную CNN с двумя ветвями.
Две ветви означают, что CNN производит два разных вывода. На рисунке 12 14 верхняя ветвь, показанная бежевым цветом, предсказывает карты достоверности (англ. ''confidence map'') (рисунок 11b13b) расположения различных частей тела. Нижняя ветвь, показанная синим цветом, предсказывает поля сходства фрагментов (англ. ''affinity field'', '''''PAFs''''') (рисунок 11c13c), которые представляют степень связи между различными частями тела.
Многослойность означает следующее: на первом этапе (левая половина рисунка 1214) сеть создает начальный набор карт достоверности обнаружения S и набор полей сходства для части L. Затем на каждой последующей стадии (правая половина рисунка 1214) прогнозы из обеих ветвей на предыдущем этапе, вместе с характеристиками исходного изображения F, объединяются (обозначены знаком + на рисунке 1214) и используются для получения более точных прогнозов. В реализации OpenPose последним этапом t выбран шестой.
На рисунке 13 15 показаны преимущества многослойной архитектуры. В этом примере мы наблюдаем некоторую начальную путаницу между левой и правой частями тела на первых нескольких этапах. Но по мере того, как слой увеличивается, сеть различает их лучше.
В конце карты достоверности и поля сходства обрабатываются методом жадного вывода<ref name="GreedyInference">[https://vtechworks.lib.vt.edu/handle/10919/81860 Greedy Inference Algorithms for Structured and Neural Models, Sun, Qing, 2018]</ref> (рисунок 11d13d) для вывода двумерных ключевых точек для всех людей на изображении (рисунок 11e13e).
{|align="left"
|-valign="top"
|[[file:Openposestagebystage.png|600px|thumb|Рисунок 1315. Результаты на слоях 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>
Важной особенностью является скорость работы данного решения. На рисунке 14 16 представлено сравнение времени работы трех доступных библиотек, решающих задачу определения положения человека (в одинаковых условиях на одинаковом аппаратном обеспечении): OpenPose, Alpha-Pose<ref name="Alpha-Pose">[https://github.com/MVIG-SJTU/AlphaPose AlphaPose, Hao-Shu Fang, Shuqin Xie, Yu-Wing Tai and Cewu Lu, 2018]</ref> (fast Pytorch version), и Mask R-CNN<ref name="MaskR-CNN">[https://arxiv.org/abs/1703.06870 Mask R-CNN, Kaiming He, Georgia Gkioxari, Piotr Dollár, Ross Girshick, 2018]</ref>. Время исполнения OpenPose является константным, в то время как у Alpha-Pose и Mask R-CNN линейно растет с числом людей на исходных данных.
{|align="left"
|-valign="top"
|[[file:Openpose vs competition.png|300px|thumb| Рисунок 14 16 [[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>
125
правок

Навигация