姿态估计模型及开源框架
Posted henry-zhao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了姿态估计模型及开源框架相关的知识,希望对你有一定的参考价值。
人体姿态估计是MSCOCO数据集(http://cocodataset.org/)上面的一项比赛,人体关键点检测,目前主流的做法都是深度学习来做。
可以分为两个大的方向:
(1)top-down方向:自顶向下的方法
目前的主流,像cpn,hourglass,cpm,alpha pose等都是top-down。
主要分为两个阶段,行人检测和单人姿态估计,行人检测对后面的单人姿态估计影响很大,通常会使用性能较好的检测器(比如faster rcnn,fpn之类的),然后把检测到的行人框(bbox)作为单人姿态估计的输入,所以把行人准确无误的检测出来非常重要。
(2)bottom-up方向:自底向上的方法
典型就是COCO2016年人体关键点检测冠军open pose。
主要分为两个阶段:检测出输入图片中左右的人体关键点,根据某种策略对关键点之间进行连线,这时候就容易出现把a的关键点和b的关键点连接起来,open pose里面的策略是提出PAFs---关联密切度,让网络学习人体关节的矢量场信息,相当于得到了一个方向信息,结合前面的坐标点,可以确定连线。(比如肩膀关键点可以连接肘部关键点和脖子关键点,把图中所有存在连接逻辑的关节点先连起来,然后计算PAFs,设定阈值去掉不合理连接)
AlphaPose(自上而下)---2018开源
71mAP,20fps
AlphaPose是一款精准的多人姿态评估工具,并声称是第一款开源系统。AlphaPose既可以在图片、视频或多图中进行姿态估计,也能在画面中对动作进行追踪。它的输出形式非常广泛,包括PNG、JPG和AVI等具有关键点的图片形式,也有JSON格式的输出,这一特点也使其成为众多应用受欢迎的工具。
目前,这一工具支持TensorFlow和PyTorch两种实现。AlphaPose利用一种区域性的多人动作估计框架将不精准的人类边界框该进程精确的动作估计。这里有三种元素:对称空间转换网络(SSTN)、参数化姿态非极大抑制(NMS)以及姿态导向的生成器(PGPG)。更多技术细节请查看原论文。
论文地址:arxiv.org/abs/1612.00137
GitHub地址:github.com/MVIG-SJTU/AlphaPose
Realtime Multi-Person Pose Estimation
这一模型和上面的OpenPose高度相关,同时特征模型能与多种框架相关联。论文的作者提供了一种自下而上的方法,对多人的姿态进行实时估计,不需要用任何人物探测器。
这种方法运用了一种非参数表示,我们称为Part Affinity Fields(PAFs),用它可以学习将图中人物和其身体部位联系到一起。有关该技术的具体细节和理论,可以阅读原文。
另外,这一方法最棒的特征之一就是它可以在多种不同的框架中实现,针对不同框架,已经公开了相关代码和模型:
TensorFlow:github.com/ZheC/Realtime_Multi-Person_Pose_Estimation
Keras(1):modelzoo.co/model/keras-realtime-multi-person-pose-estimation
Keras(2):github.com/michalfaber/keras_Realtime_Multi-Person_Pose_Estimation
PyTorch(1):github.com/tensorboy/pytorch_Realtime_Multi-Person_Pose_Estimation
PyTorch(2):github.com/DavexPro/pytorch-pose-estimation
PyTorch(3):github.com/MVIG-SJTU/AlphaPose/tree/pytorch
MXNet:github.com/dragonfly90/mxnet_Realtime_Multi-Person_Pose_Estimation
论文地址:arxiv.org/abs/1611.08050
GitHub地址:github.com/ZheC/Realtime_Multi-Person_Pose_Estimation
OpenPose(自下而上)---2016
62mAP,10fps
OpenPose是由卡内基梅隆大学认知计算研究室提出的一种对多人身体、面部和手部形态进行实时估计的框架。
OpenPose同时提供2D和3D的多人关键点检测,同时还有针对估计具体区域参数的校准工具箱。OpenPose可接受的输入有很多种,可以是图片、视频、网络摄像头等。同样,它的输出也是多种多样,可以是PNG、JPG、AVI,也可以是JSON、XML和YML。输入和输出的参数同样可以针对不同需要进行调整。
OpenPose提供C++API,以及可以在CPU和GPU上工作(包括可与AMD显卡兼容的版本)。
GitHub地址:github.com/CMU-Perceptual-Computing-Lab/openpose
OpenPose C++:github.com/CMU-Perceptual-Computing-Lab/openpose
中文文档:https://zhuanlan.zhihu.com/p/49302970
数据集地址:domedb.perception.cs.cmu.edu/
COCO姿态估计中著名的模型
16冠军 openpose
17年冠军 CPN:https://blog.csdn.net/baolinq/article/details/83993442
18年亚军 simple baselines for Human Pose Estimation https://blog.csdn.net/baolinq/article/details/84075352
19年冠军,HRnet:https://blog.csdn.net/u011681952/article/details/88035348?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare
以上是关于姿态估计模型及开源框架的主要内容,如果未能解决你的问题,请参考以下文章