美文网首页
论文合集 | 3D human body reconstruct

论文合集 | 3D human body reconstruct

作者: 与阳光共进早餐 | 来源:发表于2019-02-01 15:18 被阅读0次

    一 写在前面

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

    最近方向从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 reconstruct

          本文链接:https://www.haomeiwen.com/subject/akddsqtx.html