Human Pose Estimation 入门

人体姿态估计有不同的分类,比如:

  • 2D/3D/mesh
  • 单人/多人
  • 自顶向下(top-down)/自底向上(bottom-up)--多人姿态估计,分为自顶向下和自底向上,代表作分别是AlphaPose和OpenPose。
  • 图像(image)/视频(video)
  • 坐标/热图(heatmap)
  • 检测(detection-based)/回归(regression-based)
  • 单阶段(single-stage)/多阶段(multi-stage)

其中:

  • 自顶向下的多人姿态估计=检测网络+单人姿态估计网络(SPPE, Signle Pensor Pose Estimation)
  • 3D姿态估计=2D姿态估计+refineNet(2D->3D)
  • 基于视频的姿态估计=基于图像的姿态估计+时序网络
  • 基于热图的姿态估计=坐标回归+高斯核转换 (其中热图方法大多即基于检测的)


目录

3D姿态估计

问题本质:

3D形态重建(SMPL)

开山之作:《Smpl: A skinned multi-person linear model》

SMPL模型学习,可参考:

Parameters:

SMPLify (Optimization-based method)

HMR  (Regression-based method)

SPIN (both optimization & regression)

Others

References 


3D姿态估计

问题本质:

3D人体姿态估计是从图片或视频中估计出关节点的三维坐标 (x, y,z),它本质上是一个回归问题。

摘自Reference的推文(真的总结地很好!)


3D形态重建

旨在恢复人体的三维网格

摘自TIAN Y, ZHANG H, LIU Y, et al. Recovering 3D Human Mesh from Monocular Images: A Survey[J]. -- TPAMI 2023

一般分为三类

  • Optimization-based Paradigm  【根据2D检测结果,优化生成3D mesh】

代表作:SMPLify(ECCV' 2016) Smplify

  • Regression-based Paradigm 【直接处理图像像素-->生成3D mesh】

代表作:HMR(CVPR' 2018) Human Mesh Recovery

  • 两者结合的 代表作:SPIN(ICCV'2019)(相当于HMR+SMPLify)

开山之作:《Smpl: A skinned multi-person linear model》

Michael J Black 实验室的工作一 

SMPL模型学习,可参考:

https://www.cnblogs.com/sariel-sakura/p/14321818.htmlicon-default.png?t=N7T8https://www.cnblogs.com/sariel-sakura/p/14321818.html

SMPL(Skinned Multi-Person Linear Model)是一种裸体的(skinned),基于顶点(vertex-based)的人体三维模型,能够精确地表示人体的不同形状(shape)和姿态(pose)。

SMPL适用于动画领域,可以随姿态变化自然的变形,并伴随软组织的自然运动。SMPL与现有的许多图形渲染管线都是兼容的。

SMPL是一种可学习的模型,通过训练可以更好地拟合人体的形状和不同姿态下的形变

它将身体形状分为identity-dependent shape和non-rigid pose-dependent shape。

人体可以理解为是一个基础模型和在该模型基础上进行形变的总和,在形变基础上进行PCA,得到刻画形状的低维参数——形状参数(shape);同时,使用运动树表示人体的姿势,即运动树每个关节点和父节点的旋转关系,该关系可以表示为三维向量,最终每个关节点的局部旋转向量构成了SPML模型的姿势参数(pose)

这种方法与传统的LBS的最大的不同在于其提出的人体姿态影像体表形貌的方法,这种方法可以模拟人的肌肉在肢体运动过程中的凸起和凹陷。因此可以避免人体在运动过程中的表面失真,可以精准的刻画人的肌肉拉伸以及收缩运动的形貌。

Parameters:

在SMPL文章中介绍了SMPL的总体模型,这个模型是通过训练得到,就是一些参数, 该模型中β和θ是其中的输入参数,其中β代表人体高矮胖瘦、头身比等比例的10个参数,是一个10-D的vectorθ是代表人体整体运动位姿和24个关节相对角度的75(24*3+3;每个关节点3个自由度,再加上3个根节点)个参数,是一个3K-D的vector(代表pose,其中K为骨架节点数,3是每个关节具有的3个自由度)。                                                                                   

  • β参数是Shape Blend Pose参数,可以通过10个增量模板控制人体形状变化: 具体而言:每个参数控制人体形态的变化可以通过动图来刻画。

  • 核心思想就是将通过网络回归输出的姿态参数θ(_∈24×3_)和形态参数β(_∈10×1_)送入一个基础人体模板(Template mesh)T(_∈6480×3_)然后形成各种姿态和体型的人体姿态。

  • 姿态参数控制(23+1)个关节点。与之前的3D关节点坐标回归不同,每个关节点由3个旋转参数控制,一共有23个,还有一个控制全局旋转,相当于根关节点(root),所以姿态参数θ共有[(23+1)×3]=72个参数;

  • 形态参数控制人的体型,每个参数分别控制包括高矮、胖瘦、身体的局部比例等。1.0版本共有10个参数,后来的1.1版本拓展到300个参数,但是影响明显的仍然是前10个;

  • 基本模板是个固定姿态的人体mesh,也就是[θ=0 和β=0]的情况,因此这个姿态也被称为“zero pose”[零姿态]。

  • SMPL还训练了一个关节矩阵J ,可以从生成的人体mesh映射得到23个人体关节点坐标(x,y,z),所以基于SMPL的方法通过J 得到关节点坐标和3Dpose的方法对比,例如评价指标MPJPE。

  • 后续论文方法均是致力于恢复更准确的3D Human mesh.

SMPLify (Optimization-based method)

Michael J Black 实验室工作二 【ECCV' 2016】

  • SMPLify https://smplify.is.tue.mpg.de/基于优化的方法。给定一个图像,使用基于 CNN 的方法来预测 2D 关节位置。然后将 3D 身体模型拟合到此,以估计 3D 身体形状和姿势。

  • SMPLify奠定了SMPL重建算法的基石,它从单张图像中重建人体的SMPL姿态

  • 流程分为两步:1)单张图像经过DeepCutc恢复人体的2D关键点,2)然后利用2D关键点恢复SMPL姿态(这有点类似于2D->3D的提升)

提出了SMPL重建的损失函数(objective function),由5部分组成,包括:1)a joint-based data term and 2)several regularization terms including an interpenetration error term(这个互穿项在SPIN中舍弃了,因为它使得拟合变慢,而且性能并没有提高多少), 3)two pose priors, and 4)a shape prior。后续的方法基本都使用该损失函数或对其进行改进。

HMR  (Regression-based method)

Michael J Black 实验室工作三 【CVPR' 2018】

基于回归的方法。Backbone model: GAN

图像 I 通过卷积编码器传递。输入到迭代 3D 回归模块,该模块推断人类的潜在 3D 表示,以最小化联合重投影误差。

3D 参数也被发送到鉴别器 D,其目标是判断这些参数是来自真实的人类形状和姿势。

SPIN (both optimization & regression)

  • SPIN:基于优化+回归的方法。这篇文章主要是将基于迭代优化的方法(SMPLify)基于网络回归的方法(HMR)进行结合。

网络预测的结果作为优化方法的初始值,加快迭代优化的速度和准确性;迭代优化的结果可以作为网络的一个强先验。两种方法相互辅助,使整个方法有一种自我提升的能力,称之为SPIN(SPML Optimization IN the loop)。

  • SPIN算是HMR和SMPLify的结合,分别作为回归网络和优化网络,与SMPLify的区别(改进)如下:

  1. SPIN舍弃了损失函数中的互穿项;

  2. SPIN使用HMR的回归结果作为初始化结果,然后迭代优化一次;SMPLif使用0姿态初始化,迭代优化了4次;

  3. SPIN使用HMR回归的相机参数,SMPLify使用了三角形相似

  4. SPIN的2D关节点使用了OpenPose, SMPLify使用了DeepCut;

  5. SPIN提供了GPU并行处理图片,SMPLify延时较高不适合处理单张图像。


Others

科研方法论:从一篇文献中追根溯源,并总结流派和方法,然后再继续关注当前的最新进展,逐步完善自己的领域。(按照时间线整理)

References 

万字长文!人体姿态估计(HPE)入门教程icon-default.png?t=N7T8https://mp.weixin.qq.com/s/PorJ2qv4vN_dnNtQ33W3_Q (主要对这篇文章根据个人兴趣进行了摘记!全文链接如上☝🏻  感谢这篇文章,总结地很全面👍🏻)


[1] SMPLify(ECCV'2016):《Keep it SMPL: Automatic Estimation of 3D Human Pose and Shape from a Single Image》https://smplify.is.tue.mpg.de/

[2]SMPLify-X (CVPR'2019):《Expressive Body Capture: 3D Hands, Face, and Body from a Single Image》https://smpl-x.is.tue.mpg.de/

[3]HMR(CVPR'2018) :《End-to-end Recovery of Human Shape and Pose》
https://link.zhihu.com/?target=https%3A//akanazawa.github.io/hmr/

[4] SPIN(ICCV'2019):《 Learning to Reconstruct 3D Human Pose and Shapevia Model-fitting in the Loop 》https://www.seas.upenn.edu/~nkolot/projects/spin/

[5] VIBE(CVPR'2020):《 Video lnference for Human Body Pose and Shape Estimation》
https://github.com/mkocabas/VIBE

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值