欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

深度理解CVPR2020年的进化训练数据驱动的级联单目3D人体姿态估计研究论文

最编程 2024-02-06 14:08:37
...

一 写在前面

未经允许,不得转载,谢谢~~~

这篇文章主要做的是3D human pose estimation,从单图中恢复3D的人体skeleton信息。

主要信息:

  • 文章出处:CVPR2020
  • 文章代码:https://github.com/Nicholasli1995/EvoSkeleton
  • 原文链接:http://openaccess.thecvf.com/content_CVPR_2020/html/Li_Cascaded_Deep_Monocular_3D_Human_Pose_Estimation_With_Evolutionary_Training_CVPR_2020_paper.html

二 主要内容

2.1 相关背景

尽管现有的3D human body estimation方法比较成功,但是仍然需要面临以下2个问题:

  • 对于RGB图像的3D标注工作非常耗费人力/时间/资金;
  • 现有的数据集非常的biased,大多数是室内的数据集,而且包含的动作也是少数被选择的日常行为。

这就导致现有方法仍然是data-hungry以及不能很好的恢复novel pose。

而现有的很多方法是基于two-stage模式的:

  1. locates 2D human keypoints;
  2. lifts the 2D joints into 3D skeleton;(using geometric info)

其中stage1比较方便,且可以利用很多wild的数据集,所以训练数据不会很受限,但是stage2能用的training data就很少。

2.2 本文工作

针对这些现象,文章提出了2个问题:

  1. are 2D-to-3D networks influenced by data bias;
  2. if yes,how can we improve network generalization when the training data is limited in scale or variation?

本文的工作可以说都针对以上2个问题进行展开:

  1. 首先提出用层次化的人体模型来表示training data,将human pose表示为local bone orientation的集合;
  2. 然后提出dataset evolution framework来处理数据集受限的问题。(可以理解为数据增强算法)。利用一些简单的先验知识,在不用任何标注的情况下,通过crossover(交叉),mutation(变换)等操作实现3D空间中新3D skeletons的生成;
  3. 在增强好的数据上,提出一个级联网络cascaded network(TAGNet),用来预测最后的3D skeleton。TAGNet主要包含1)2D joint detector 2) a novel cascaded 2D-to-3D network;
  4. 把他们增强好的数据集release出来了。(目前暂时没有找到)

经过对dataset进行增强后,其效果比之前的方法都好,能解决dataset biased的问题,且能较好的处理novel pose。


三 具体方法

3.1 Hierarchical Human Representation

首先是3D skeleton的表示:


如图,从整体上看是一个tree(注意不是graph),而是有方向的树,从parent节点指向child节点。然后对于每个parent,都有一个以当前parent为坐标中心的local坐标系。其中local 坐标系是由三个基向量[i,j,k]定义的旋转矩阵定义的。

这样将全局的向量表示转换到local的向量表示:


最后为了便于计算,还将其转换到椭圆坐标系上:


3.2 Synthesizing New 2D-3D Pairs

主要想法:主要是3D data比较少,所以对现有的3D skeleton进行新数据的生成,再利用相机参数将其映射回去,得到对应的2D keypoints就得到了新的数据。

主要的操作包括以下两种:


1) crossover(左边)
随机选择一个顶点,图中为左手臂靠近脖子的第一个,然后将pose A和pose B这个点以下的部分全部交换。

2)mutation(右边)
对旋转角度加一些高斯变换,改变其方向。

此外,也包括对整个人进行角度的转换,以及bone的长度的改变,以更好的增加数据集多样性。

3.3 Model Architecture

网络部分比较简单。

第一个阶段是获取热力图以及对应的2D keypoints,文章的重点是在从2D keypoints到3D keypoints的转换过程,也就是第二个阶段。

这里是直接针对坐标进行学习的网络,了解这个就比较清楚了,也就是输入输出都是坐标的数值。具体的网络模型的设计(第2排)用级联的方式达到一个循序渐进的效果。

四 实验结果

4.1 与弱监督的方法比(H3.6M for training and testing)

4.2 与SOTA比 (H3.6M for training and testing)

4.3 跨数据集的生成能力 (H3.6M for training,3DHP for testing)

4.4 数据增强算法可视化

left:before augmentation
right:after augmentation


五 写在最后

感谢阅读~

以及关注下,点个赞再走么~(´∀`)ノ