Изменения

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

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

1736 байт добавлено, 01:47, 23 января 2021
Методы решения
|}
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
{|align="right"|-valign="top"|[[file:Deepposepcp.png|400px|thumb| Рисунок 8 [[https://arxiv.org/pdf/1312.4659.pdf x]]]]|}Оценка эффективности решения проводилась на нескольких датасетах, в частности на LSP (Leeds sports dataset)<ref name="LSP">[https://sam.johnson.io/research/lsp.html LSP dataset]</ref> и FLIC (Frames Labeled In Cinema)<ref name="FLIC">[https://bensapp.github.io/flic-dataset.html FLIC dataset]</ref>. На датасете LSP оценивался процент корректно определенных частей (англ. ''Percentage of Correct Parts'', '''''PCP'''''). Сводная таблица представлена на рисунке 8. Оценка производилась на первом, втором и третьем слоях, а также на пяти других решениях: Dantone et al.<ref name="Dantone">M. Dantone, J. Gall, C. Leistner, and L. Van Gool. Human pose estimation using body parts dependent joint regressors. In CVPR, 2013</ref>, Tian et al.<ref name="Tian">Y. Tian, C. L. Zitnick, and S. G. Narasimhan. Exploring the spatial hierarchy of mixture models for human pose estimation. In ECCV, 2012</ref>, Johnson et al.<ref name="Johnson">S. Johnson and M. Everingham. Learning effective human pose estimation from inaccurate annotation. In CVPR, 2011</ref>, Wang et al.<ref name="Wang">F. Wang and Y. Li. Beyond physical connections: Tree models in human pose estimation. In CVPR, 2013</ref>, Pishchulin<ref name="Pishchulin">L. Pishchulin, M. Andriluka, P. Gehler, and B. Schiele. Poselet conditioned pictorial structures. In CVPR, 2013</ref>.<br><br><br><br><br><br><br>
===DeepCut (2015)===
{|align="right"
|-valign="top"
|[[file:Deepcutexamle.png|400px|thumb| Рисунок 8 9 [[https://arxiv.org/pdf/1511.06645.pdf x]]]]
|}
DeepCut<ref name="DeepCut">[https://arxiv.org/pdf/1511.06645.pdf DeepCut: Joint Subset Partition and Labeling for Multi Person Pose Estimation, Leonid Pishchulin, Eldar Insafutdinov, Siyu Tang, Bjoern Andres, Mykhaylo Andriluka, Peter Gehler, and Bernt Schiele, 2016]</ref> решает задачу определения поз для нескольких людей (англ. ''Multi person Pose estimation'') и также имеет [https://github.com/eldar/deepcut открытый код].
Авторы предлагают разделение и разметку набора гипотез о частях тела, созданных с помощью детекторов частей на основе [[сверточные нейронные сети|CNN]]. Неявно выполняется не-максимальное подавление (англ. ''Non-maximum Suppression'', '''NMS'''<ref name="NMS">[https://towardsdatascience.com/non-maximum-suppression-nms-93ce178e177c Non-maximum Suppression, Sambasivarao. K, 2019]</ref>) для набора возможных частей и производится группировка, чтобы сформировать конфигурации частей тела с учетом геометрических ограничений и ограничений внешнего вида.
Пример работы алгоритма, рисунок 89: (a) начальное определение возможных частей и попарных связей между всеми обнаруженными частями, которые (b) кластеризуются по принадлежности одному человеку (один цвет - один человек) и каждая часть помечается меткой соответствующего этой части класса (разные цвета и символы относятся к разным частям тела); (c) демонстрация результата.
<br><br><br><br><br><br><br><br><br><br><br>
{|align="left"
|-valign="top"
|[[file:Openpose.jpg|300px|thumb| Рисунок 9 10 Примеры результатов работы алгоритма [[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|Рисунок 10 11 [[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|Рисунок 11 12 [[https://arxiv.org/pdf/1611.08050.pdf x]]]]
|}
Логика архитектуры OpenPose следующая: во-первых, входное RGB-изображение (рисунок 10а11а) подается как вход в многослойную CNN с двумя ветвями.
Две ветви означают, что CNN производит два разных вывода. На рисунке 11 12 верхняя ветвь, показанная бежевым цветом, предсказывает карты достоверности (англ. ''confidence map'') (рисунок 10b11b) расположения различных частей тела. Нижняя ветвь, показанная синим цветом, предсказывает поля сходства фрагментов (англ. ''affinity field'', '''''PAFs''''') (рисунок 10c11c), которые представляют степень связи между различными частями тела.
Многослойность означает следующее: на первом этапе (левая половина рисунка 1112) сеть создает начальный набор карт достоверности обнаружения S и набор полей сходства для части L. Затем на каждой последующей стадии (правая половина рисунка 1112) прогнозы из обеих ветвей на предыдущем этапе, вместе с характеристиками исходного изображения F, объединяются (обозначены знаком + на рисунке 1112) и используются для получения более точных прогнозов. В реализации OpenPose последним этапом t выбран шестой.
На рисунке 12 13 показаны преимущества многослойной архитектуры. В этом примере мы наблюдаем некоторую начальную путаницу между левой и правой частями тела на первых нескольких этапах. Но по мере того, как слой увеличивается, сеть различает их лучше.
В конце карты достоверности и поля сходства обрабатываются методом жадного вывода<ref name="GreedyInference">[https://vtechworks.lib.vt.edu/handle/10919/81860 Greedy Inference Algorithms for Structured and Neural Models, Sun, Qing, 2018]</ref> (рисунок 10d11d) для вывода двумерных ключевых точек для всех людей на изображении (рисунок 10e11e).
{|align="left"
|-valign="top"
|[[file:Openposestagebystage.png|600px|thumb|Рисунок 1213. Результаты на слоях 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>
Важной особенностью является скорость работы данного решения. На рисунке 13 14 представлено сравнение времени работы трех доступных библиотек, решающих задачу определения положения человека (в одинаковых условиях на одинаковом аппаратном обеспечении): 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| Рисунок 13 14 [[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
правок

Навигация