论文合集 | 3D human body reconstruction 方向论文阅读笔记整理

一 写在前面

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

最近方向从video recognition转到了3D human body reconstruction,所以刚刚开始看这方面的论文,就把简单的阅读笔记都整理在这里了~

文章应该会持续更新,大佬们见笑啦~~~

二 论文阅读笔记

1. 3D Human pose estimation: A review of the literature and analysis of covariates

  • Computer Vision and Image Understanding 152(2016)1–20

1.1 整体情况

  1. 文章对给定RGB或者video的情况下对人体姿态估计的方法做了review;
  2. 根据输入的不同将他们划分为:
    • single image or video;
    • monocular or multi-vew;
  3. 我主要关注的是single image and monnocular的情况;

1.2 主要内容

  1. 文章关注的输入类型为RGB图像;
  2. 除了RGB,还有一类很流行的RGB-D输入,文章没有涉及,但是给出了一篇2013年的paper review;
  3. 文章整理了2008-2015年间的single-view方法;
  4. 姿态估计的大概流程:


    • prior body model决定了方法是model-based还是model-free的;
    • 利用2D pose information既可以用来作为额外的信息,又可以作为3D model 映射回2D时(projection)的参考。
    • 例如一些预处理技术,例如抽离背景部分;
    • 对特征进行提取,然后输入2D pose estimation中进行评估;
    • 获取初始3D pose,然后用优化算法来评估3D姿态;
    • 对姿态进行一些constrain,丢弃一些不可能出现的姿态,最终得到估测好的3D pose;
  5. 文章根据模型方法的不同,又进行了以下分类:


    • generative model(model-based,top-down)
      1. 利用先验知识进行建模,分成建模(model)和评估(estimation) 2个阶段,会用上很多人体结构之类的信息;
      2. 在生成模型中有一类被称为part-based(bottom-up)方法,由body part的集合来表示human skeleton;
      3. 文章给出了几篇比较有名的论文:PSM, Deformable structures model, graphical model(SP);
    • discriminative model(model-free)
      1. 不需要假定特定的模型,直接学习从image到3D human body之间的映射关系;
      2. 这一类方法又可以进一步分为:learning-based和example-based;
      3. learning-based方法直接学习映射关系;
      4. example-based方法存储一系列exemplars以及对应的pose descriptors,最终测试的时候直接通过相似度检索得到几个candidates然后进行插值;
    • hybrid approaches
      1. 生成模型能够更加准确的推断出pose,具有更好的鲁棒性;
      2. 判别模型能够更加快速的训练,需要表示的信息更加低维;
      3. hybrid approaches能够结合生成模型和判别模型,从生成模型的可能性结果来验证判别模型中的姿态估计。
  6. human body model and representation
    • human body 有很多的joints和limbs,因此分析起来很复杂;

    • model-based方法采用先验知识对human body进行建模;

    • 以前用的最常见的一种方法是将skeleton结合structure和shape, 其中skeleton共15个joints,然后链接起来,右边是树状结构;


    • 不管是否用了body mode(model-based还是model-free),下一步都是特征提取;

    • 传统的特征提取方法会剔除背景后利用一些低维信息:edges, optical flow, silhouettes...

    • 经典的特征提取算法文章中提到:SIFT, SC(shape content),APC(appearance and context content ), HoG,posebits...

  7. 文章还列了一些从单张图像到3维人体估计的文章,但都是2016年以前的了。

2. End-to-end Recovery of Human Shape and Pose

  • CVPR 2018

2.1 整体情况

  1. HMR(human mesh recovery):端到端的人体姿态和形态的对抗学习网络;
  2. 实现了从single RGB image到full 3D mesh of human body的学习;
  3. HMR不需要成对的2D-to-3D监督信息,不需要借助中间的2D keypoint deection,而是直接从pixel到mesh;
  4. 给定人的bounding box的情况下,可以做到实时。
  5. 先来看一下整体实验结果:


    • 上面两行是用2D-3D监督信息训练的,下面一行是用完全弱监督的方式训练的,没有2D-3D的监督信息;

2.2 主要内容

2.2.1 background

  1. 现有方法大多数利用joint信息,但joint的位置比较稀疏,不能判断完整状态,本文用了更多的keypoints;
  2. 现有方法大多数是multi-stage的,从estimate 2D joint locations再到estimate 3D model parameters;
  3. 本文是直接从image pixel to 3D model;
  4. 但是这样会有几个挑战:
    • lack of large-scale ground-truth 3D-annoation for in-the-wild image;
      (现在有准确3D注释的都是受环境限制的)
    • inherent ambiguities in single-view 2D-to-3D mapping;
      (从2D重建回3D本身具有模糊性)
  5. keypoint(本文需要有以下数据集):
    • large-scale 2D keypoint annotations of in-the-wild dataset;
    • a separate large-scale dataset of 3D mesh of people with many poses
    • (这两个是独立的数据集,unpaired)

所以本文的key contribution:将两个unpaired的数据集,用对抗学习的方式利用起来;

2.2.2 overview of the proposed network

  1. encoder: 用来提取图像特征;
  2. regression:可迭代3D回归用来获取3D mesh的参数以及相机参数;
  3. 得到3D mesh的pose,shape,camera信息后又分成上下两个部分:
    • 下面:进入判别器D,与大规模3D human body数据集进行比较,判断生成的human body是否真实。
      (弱监督方式,使得跟wild dataset相比更合理)
    • 上面:将得到的3D mesh映射回2D,得到keypoints, 然后与原来image的ground-truth keypoints进行比较,得到一个loss。
      (强监督方式,使得跟输入image的manifold更接近)

本文还对只有弱监督方式的情况进行了实验,效果也不错。

  1. 最后文章还考虑了文章本身带有ground truth 3D information的情况,最终的整体目标函数:


    • λ:超参数
    • reproj:上面那路
    • adv:下面那路
    • 3D:有3D ground-truth的情况

2.2.3 related work

  1. two-stage estimation
    • 首先获取到2D joint locations(直接有标注或者用2D pose detector预测得到)
    • 然后预测3D joint locations(regression或者model fitting),常用的是探索learned dictionary of 3D skeletons;
    • 这个过程可能limb length是主导,也可能limb propotion,pose, angle是主导;
    • two-stage的方法更加鲁棒,但是太依赖2D joints信息,且可能丢失很多图像信息;
  2. direct estimation
    • 出现了一些带有3D joint locations的数据集:HumanEva,Human3.6M,使得直接学习有了强监督label;
    • 大多数都是用FCN来做的;
    • 很多都没有解决camera,只是估计深度,用平均长度来定义全局的scale;
    • 这类方法的问题是虽然有准确的3D annotation,但是不能适用于真实世界;

3. DensePose: Dense Human Pose Estimation In The Wild

  • CVPR2018

3.1 整体情况

  1. DensePose:实现了从simgle RGB image 到 surface-based representation of human body;
  2. DensePose-COCO:为COCO数据集中的50K perpon进行数据标注,形成新的数据集;
  3. 在DensePose-COCO数据集上用基于CNN的模型进行训练和测试,尝试了fully-conv networks 和region-based models两种方式,后者效果更好;
  4. 整体实验结果:


3.2 主要内容

3.2.1 background

  1. 大多数时候建立从image到surface-based model都需要用到深度信息(RGB-D),但本文只使用了RGB图像;
  2. 本文将重点放在human body身上,而且还支持dense场景;
  3. 本文采用完全的监督学习,为此收集images以及对应human body的详细准确的ground-truth信息;
  4. 不像其他论文一样在测试阶段使用SMPL,而是直接在训练时候作为一种定义问题的方式;
  5. 本文方法与mask-rcnn方法结合可以从复杂场景(10多个人)中有效计算出有效的区域;

3.2.2 Dense-Pose dataset

  1. 是一个large scale dataset for human pose estimation;
  2. ground-truth for 50K humans in COCO, more than 5 million manully annoated pairs;
  3. 数据集(image----> surface-based representations of human body)
    • 先将身体分成几个语义分明的部分:head,torso, lower/upper arms...
    • 获得24个UV field(如上图右边部分所示)(每个部分的获取使用了不同的方法,例如SMPL, multi-scale等)
    • 对各个部分运行k-means算法,得到各个部分的特征点;
    • 然后将对应的点标注到渲染出来的part iamge上面;
    • 然后利用渲染出来的坐标,又重新将这些2D特征点定位到3D model上面;


  4. 每个body surface都有24个part,每个part包含的标记点最多为14个;

3.2.3 model

基于DensePose-RCNN model,实现一个全监督学习模型;

本文基于DenseReg + mask-RCNN ----> DensePose-RCNN, 又在此基础上增加了级联结构。

尝试了以下两种结构:

1. fully-connected dense pose regression

  • 由于人体比较复杂,所以将其分为几个独立的part,每个part用二维坐标表示;
  • 基于这样的表示,用classification+regression这2个任务,用fully-connected network来做;
    • classification:判断a pixel是属于背景还是属于surface part中的一个;
    • regression: 预测出这个pixel相对于所在part的准确坐标位置;
  • 分类阶段总共有25个类别(24 parts + 1 background),用交叉熵损失;
  • 然后再为24个surface part分别训练回归器,用L1 loss衡量;

2. region-based dense pose regression

  • 以上基于FCN的任务比较简单,但是需要完成太多的子任务;
  • 本文又采用region-based的方法:


  1. 先用mask-rnn得到ROI区域;
  2. 再进行一次ROI区域Align;
    3.然后用FCN提取图像特征;
  3. 提取到的特征同样分为上下两个方面:一个用于分类出所属的surface part,一个用于产生对应的坐标值,可以用跟fully-conv中一样的方法进行优化,但是这里多了一个前面的proposal监督信息。

3.2.4 multi-task cascaded architectures

  1. 增加了keypoint-estimation和instance segmentation两个任务;
  2. 然后用多个任务做了一个结构上的级联:


4. Unite the People: Closing the Loop Between 3D and 2D Human Representations

  • CVPR2017

4.1 整体情况

  1. 本文扩展了SMPLify方法,提出了实用多个人体姿态数据的3D body model;
  2. 产生了UP-3D数据集,可以用来训练discriminative模型,在没有gender或者pose的先验条件下也能有较好的结果。

4.2 主要内容

4.2.1 introduction

  1. 现有用来做bounding-box detection,keypoint detection,body part segmentation的learning-based方法以及各自使用的数据集都是独立分开的。
  2. 所以本文就想overcome这些separation,然后unit the people in different datasets and multiple tasks.即希望将多个数据集和任务连接起来。

你可能感兴趣的:(论文合集 | 3D human body reconstruction 方向论文阅读笔记整理)