论文 | CVPR2020 《Cascaded Deep Mon
一 写在前面
未经允许,不得转载,谢谢~~~
这篇文章主要做的是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模式的:
- locates 2D human keypoints;
- lifts the 2D joints into 3D skeleton;(using geometric info)
其中stage1比较方便,且可以利用很多wild的数据集,所以训练数据不会很受限,但是stage2能用的training data就很少。
2.2 本文工作
针对这些现象,文章提出了2个问题:
- are 2D-to-3D networks influenced by data bias;
- if yes,how can we improve network generalization when the training data is limited in scale or variation?
本文的工作可以说都针对以上2个问题进行展开:
- 首先提出用层次化的人体模型来表示training data,将human pose表示为local bone orientation的集合;
- 然后提出dataset evolution framework来处理数据集受限的问题。(可以理解为数据增强算法)。利用一些简单的先验知识,在不用任何标注的情况下,通过crossover(交叉),mutation(变换)等操作实现3D空间中新3D skeletons的生成;
- 在增强好的数据上,提出一个级联网络cascaded network(TAGNet),用来预测最后的3D skeleton。TAGNet主要包含1)2D joint detector 2) a novel cascaded 2D-to-3D network;
- 把他们增强好的数据集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
五 写在最后
感谢阅读~
以及关注下,点个赞再走么~(●´∀`●)ノ