Learnable Triangulation of Human Pose 论文解读

paper title: Learnable Triangulation of Human Pose
paper link:https://arxiv.org/abs/1905.05754
oral or demo video:https://conftube.com/video/zem03fZWLrQ?tocitem=100
project: -
github: https://github.com/facebookresearch/frankmocap
conf & anthor: ICCV 19, Karim Iskakov(Samsung AI) et al;
arXiv submit v1:2019.05

主要内容

这篇文章两种多相机人体姿态估计的方法,两种方法都蕴含了“可学习的三角剖分”思想,使实现准确的人体姿态估计所需要的的相机视图的数目显著减少。这两种方案都是完全可微分的,可以实现端到端的训练。

相关工作

1.单视图3D姿态估计
(1) 先做2D姿态估计,然后通过一个网络实现2D到3D的变换;如A simple yet effective baseline for 3d human pose estimation,3D human pose estimation in video with temporal convolutions and
semi-supervised training
;
(2) 直接使用卷积网络从图像中计算出3D关节点的位置,如Integral Human Pose Regression;
(3) 基于卷积网络和模型优化方法实现3D姿态估计,如SMPL系列论文,frankmocap;
2.多视图3D姿态估计
(1) 将多个视图的2D关键点整合成一个batch,然后送到一个包含多个阶段的全连接网络中,得到3D的结果,如A generalizable approach for multi-view 3D human pose
regression

(2) 使用体积化的姿态表示方法来实现3D姿态估计,如Panoptic Studio:A Massively Multiview System for Social Interaction Capture,Harvesting Multiple Views for Marker-less 3D Human Pose Annotations;
(3) 从2D关节点位置中推算3D位置,并使用多个阶段的网络串联,3D结果反馈到2D,Rethinking Pose in 3D: Multi-stage Refinement and Recovery for Markerless
Motion Capture
;

方法流程

论文中系统的输入是来自多个已同步的相机的图像,输出是人体关节点的3D坐标。每一时刻的图像数据都是独立处理的,没有使用任何时间上的信息。对于每一帧数图像,先检测人体,然后使用“simple baseline”论文中的网络进行2D关键点检测,得到结果 g g g,然后经过一个转置卷积得到产生heatmap,得到结果 f f f,之后通过1X1的卷积得到可解释的heapmap,称之为 h h h。然后再整合多个视图的信息推断关节点的3D位置信息。

1.Algebraic triangulation方法
代数三角方法是使用三角测量的方式从多个相机视图的2D人体关键点重建人体3D关键点的坐标。
Algebraic_triangulation
对于每一个关键点 j j j都是独立处理的。从2D人体关键点检测网络,可以得到关键点的heatmap:
H c , j = h θ ( I c ) j H_{c,j} = h_{\theta}(I_{c})_{j} Hc,j=hθ(Ic)j
其中:

  • c表示第c个相机视图,一共有C个相机视图;
  • j表示第j个人体关键点,一共有J个人体关键点;
  • I c I_{c} Ic表示第c个相机视图上人体区域的裁剪图像;
  • h θ h_{\theta} hθ表示2D关键点检测网络输出的结果经过转置卷积和1x1卷积变换之后的heatmap;

下面就是计算heatmap上的关节点的2D坐标,首先计算heapmap值的softmax:
H c , j ′ = e x p ( α H c , j ) / ( ∑ r x = 1 W ∑ r y = 1 H e x p ( α H c , j ( r ) ) ) H^{'}_{c,j} = exp(\alpha H_{c,j})/(\sum^{W}_{r_{x}=1}\sum^{H}_{r_{y}=1}exp(\alpha H_{c,j}(r))) Hc,j=exp(αHc,j)/(rx=1Wry=1Hexp(αHc,j(r)))
其中:

  • r x , r y r_{x},r_{y} rx,ry表示heatmap的x,y坐标值;
  • H c , j ( r ) H_{c,j}(r) Hc,j(r)表示heatmap上坐标为 r r r处的heatmap值;
  • α \alpha α是一个heatmap值的调整参数,实验中设置为100;

做完softmax之后,获取2D关键点坐标一种简单的方法是直接取heatmap中最大值的坐标作为关键点的2D坐标。文中采用的是一种称为“soft-argmax”的方法:
x c , j = ∑ r x = 1 W ∑ r y = 1 H r ⋅ ( H c , j ′ ( r ) ) x_{c,j} = \sum^{W}_{r_{x}=1}\sum^{H}_{r_{y}=1} r·(H^{'}_{c,j}(r)) xc,j=rx=1Wry=1Hr(Hc,j(r))
实际上就是所有的坐标值乘以对应位置上的heatmap值,并加起来;经过上一步的softmax之后,所有的heatmap值都已经转换为0-1之间并且加

  • 11
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值