3D人体姿态估计综述 - 《3D Human pose estimation: A review of the literature and analysis of covariates》


《3D Human pose estimation: A review of the literature and analysis of covariates》
CVIU 2016 论文链接
这篇文章主要介绍了基于RGB图片进行3D人体姿态估计的方法,包括了基于单张图片、视频序列、多视角图片的。

之前写过一篇2D人体姿态估计综述笔记,2D姿态估计通过深度学习已经能达到较好的效果,但3D姿态估计更多的采用传统算法,涉及较多数学知识,笔者目前对本文具体算法的介绍部分只能略读。需要注意的是,这篇综述是16年的,至今可能也出了一些新的paper基于深度学习做3D姿态估计,有待进一步调研。



1 基本框架及方法分类

在这里插入图片描述
上图是3D人体姿态估计的通用框架,一个具体的方法可能包含部分或全部步骤。

在这里插入图片描述
方法分类如上图所示,大致可分为生成型、判别型和混合型。

  • Generative model (model-based)

    • top-down approaches:用先验信息构造一个姿态模型再拟合它,主要有以下两步 1) modeling:根据先验信息(人体结构、相机模型、图片描述符等)构建一个likelihood function 2) estimation:基于对图片的观察和likelihood function,预测出最可能的人体姿态

    • part-based (bottom-up):把人体看作是由关节点连接起来的一系列身体部件。代表模型有Pictorial Structure Model (PSM) / Deformable Structures Model / Stitched Puppet (SP)

  • Discriminative approaches (model-free)

    • learning-based:学习一种从图片空间到3D人体姿态空间的映射
    • example-based:将样例图片及其对应姿态存储下来,测试输出的姿态是相似样例姿态的插值
  • Hybrid model:融合了生成模型和判别模型。用生成模型得到的likelihood来验证判别模型提出的姿态假设。

笔者个人理解生成模型是拟合constraints,判别模型是提出hypotheses。

生成模型能够更精确地估计姿态,因为其泛化能力好,能够处理复杂的人体情况如衣服和饰品。

判别模型的鲁棒性好、速度快,因为这种模型在更低维度上进行预测,其根本原因是实际可行的人体姿态空间小于解剖学上的可能空间。


2 Body Model 和特征表达

在这里插入图片描述

最常用:人体骨架模型(上图左)。

  • structure model: tree-based (上图右)
  • shape model: 圆柱模型 / 截断圆锥模型

Contraints

  • kinematic:关节角度、肢体长度比例等
  • occlusion:部分身体被自身遮挡
  • appearance:左右对称性
  • smoothness:视频序列中相邻帧的关节点角度变化应是平滑的

特征提取

  • low-level features:边缘、颜色、光流、轮廓
  • image descriptors:SIFT、SC、HoG
  • 特殊设计的最具判别性的特征,如posebits

3 从单张图片恢复3D人体姿态

这个问题非常困难:

  • 不同的3D姿态可能表现为相似的2D投影
  • 2D关节点的细微偏差会导致3D空间的巨大偏离
  • 高维灾难

3.1 单目图片

  • 深度学习:缺乏足够多的训练数据,16年提出使用合成图片。e.g.

    • ConvNets 在目标检测任务上预训练,在姿态回归任务上微调(2014)
    • 输入一张图片和一个3D姿态,输出两者的相似度分数,joint embedding(2015)
  • 2d detector for 3D pose estimation:训练一个2D姿态检测器,测试时通过最小化投影误差来得到最可能的3D姿态

  • 相机参数估计 / 判别式方法 / 基于样本的方法 笔者没有仔细看,但大部分用到了概率分布模型、贝叶斯等知识

3.2 multi-view 多视角图片

也是采用2d detector for 3D pose estimation的方法,但在3D估计时综合考虑了各视角的信息。


4 从视频序列恢复3D人体姿态

难点:人体外形可能在连续帧中有非常剧烈的变化,比如由于背景改变或相机移动、光照改变、肢干在深度方向的旋转、宽松的衣服。

4.1 单目视频

  • 判别性方法

    ConvNets来对齐连续帧中的bbox
    encoder-decoder 架构来获得3D姿态

  • 隐变量模型:通常只是理论探讨,因为难以准确估计那些被遮挡的关节点

  • rigid constraints / particle filter alg. / action-specific

4.2 multi-view 多视角视频

这类数据较少,如视频监控。
更多的数据带来更多信息,但整合它们又是一个更具挑战性的问题。

  • 3DPS:3D pictorial structures

5 数据集

在这里插入图片描述


6 评价指标

  • 3D Error / MPJPE: mean squared distance 距离误差
    E ( x , x ^ ) = 1 M ∑ i = 1 M ∥ m i ( x ) − m i ( x ^ ) ∥ \mathcal{E}(x, \hat{x})=\frac{1}{M} \sum_{i=1}^{M}\left\|m_{i}(x)-m_{i}(\hat{x})\right\| E(x,x^)=M1i=1Mmi(x)mi(x^)
  • 3D PCP: 检测率。如果满足以下条件,认为该关节点被检测到
    ∥ s n − s ^ n ∥ + ∥ e n − e ^ n ∥ 2 ≤ α ∥ s n − e n ∥ \frac{\left\|s_{n}-\hat{s}_{n}\right\|+\left\|e_{n}-\hat{e}_{n}\right\|}{2} \leq \alpha\left\|s_{n}-e_{n}\right\| 2sns^n+ene^nαsnen
  • MJAE(Mean Joint Angle Error):衡量角度误差
    M J A E = ∑ i = 1 M ∣ ( y i − y i ′ )   m o d   ± 18 0 ∘ ∣ M M J A E=\frac{\sum_{i=1}^{M}\left|\left(y_{i}-y_{i}^{\prime}\right) \bmod \pm 180^{\circ}\right|}{M} MJAE=Mi=1M(yiyi)mod±180

7 总结

在受限场景中,表现较好;在复杂环境的实际应用中,还远不能满足目标。

key challenges

  • ill-posed. 不同的3D姿态可能表现为相似的2D投影,常伴随自遮挡 --> 可通过引入时序信息、multi-view信息来解决单目场景中的ill-posed问题。
  • 人体姿态的多变性 --> PosePrior数据集提供了对合法姿态的先验信息。
  • 人与人或环境的交互。需要解决多种遮挡问题 --> tracking by detection + multi-view的模式可以克服该困难。
  • 为了在现实应用中落地,需要构建真实场景(unconstrained)数据集 --> 目前的虚拟数据集还不能达到足够逼真的程度。
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值