RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation

RepNet: Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human Pose Estimation 论文赏析

  • 前言
  • 文章框架(Framework)
  • 摘要(Abstract)
  • 引言(Introduction)
  • 相关工作(Related Work)
  • 方法论(Method)
    • 整体结构图(Overview)
    • Pose and Camera Estimation
    • Reprojection Layer
    • Critic Network
  • 实验(Experiments)

前言

最近拜读了Leibniz Universitat Hannover AI发表在CVPR2019的文章《RepNet: Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human Pose Estimation》,本文的新颖之处在于通过网络estimate了相机的参数,将相机的约束引入到pose estimation中,并采用GAN去生成合理的3D Pose。

文章简介:
出处: CVPR 2019

题目: 《RepNet: Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human Pose Estimation》

作者: B a s t i a n W a n d t Bastian Wandt BastianWandt and B o d o R o s e n h a h n Bodo Rosenhahn BodoRosenhahn

单位: Leibniz Universitat Hannover

文章地址: https://arxiv.org/abs/1902.09868

文章框架(Framework)

文章的总体框架如下图所示,常规的6部分组成。
RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第1张图片

摘要(Abstract)

下图为摘要的思路框架图。具体不在细讲,下图应该能够比较清晰的展示摘要的内容。
RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第2张图片

引言(Introduction)

与常规文章不同,本文着重在第一段集中写了Motivation,大部分内容都在介绍文章所提出的方法。
RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第3张图片
下面是本文的Motivation(其中有我自己总结的)。作者从三个方面去讲。

  1. Pose Estimation是个热门的领域;
  2. 之前的方法有如下几点不足:
    • 忽略了映射的约束(比如,2D到3D),并且容易过拟合
    • 繁华能力差。因为大部分方法都是学习输入到输出的特定映射,其往往适用于处理一个或某一类问题。
    • 需要给定真是的Pose来辅助训练discriminator。
  3. 运动学约束在pose estimation中起到重要的作用。
    RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第4张图片
    针对以上的Motivations,作者总结了以下的Contribution:
  4. 提出了一种对抗训练的网络结构RepNet;
  5. RepNet是一种弱监督方式,不需要对应的3D pose做监督信号;
  6. 可以同时estimate骨架点和相机;
  7. 通过网络层编码运动链表征,从而引入了骨骼长度和运动角度信息;
  8. 泛化性好。
    RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第5张图片

相关工作(Related Work)

相关工作部分分别从三个方面进行介绍。首先是总结之前的相关工作可以分为两大类,然后分别从两方面进行方法总结介绍。
RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第6张图片

方法论(Method)

又到了本文的重头戏——方法论部分。首先我们来看一下方法论的文章结构,作者是如何组织的。如下图所示:
RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第7张图片

整体结构图(Overview)

首先,我们先来看本文方法的整体结构。如下图所示:
RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第8张图片
本文提出的方法主要包括三部分:(1)Pose和Camera Estimation网络;(2)Critic 网络(Discriminator);(3)Reprojection 网络。
其中,第一部分的Pose and Camera Estimation网络采用双分支结构,一路网络estimate pose,另一路网络estimate相机参数。
先来看一下网络的输入输出。
输入: 2n维的向量,其中n为骨架点个数。即将2D骨架(通过Hourglass获取)拉成了向量的形式;
输出: 3n维的向量,即Pose Estimation 网络生成的3D Pose。

下面,详细介绍每一部分的实现。

Pose and Camera Estimation

RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第9张图片
输入的2D骨架结构是通过Hourglass网络结构提取到的。在输入网络之前,2×n 的骨架数据被拉伸成了2n维的向量,其中n是骨架关节点数量。

本文提到的Pose Generator Network 和 Camera Network采用了Residual Block。每个Block有两个隐层,每层1000个神经元。除了最后的输出不同,两个分支采用的网络结构是一致的。其中,Pose Estimation Network输出是3n维的向量;Camera Network的输出是6维的向量(相机的内置参数有3个)。在两个分支的网络输出之后,对输出结果进行reshape操作,如上图所示。Reshape操作的目的是为后面的reprojection做铺垫。
在Camera Network输出后,计算第一个loss值,
RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第10张图片

Reprojection Layer

Reprojection Layer主要是将生成的3D Pose映射成2D的Pose,从而可以将输入和输出联系起来,辅助模型训练。
**在这里,映射层仅仅只起到映射的作用,没有任何需要训练学习的参数。**那么,它到底完成了什么样的映射呢?请看下图。RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第11张图片
红色虚线框内即映射层。它的输入分别是Pose Estimation Network 和 Camera Network 的输出。利用3D Pose 和相机内置参数映射得到2D Pose,即,
RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第12张图片

Critic Network

Critic Network实则是GAN中的Discriminator。本文所采用的是WGAN,具体的W-Loss文中没有说明。
该部分网络最大的特点就是将Kinematic Chain Space (KCS)条件引入到模型中。一方面引入了人体骨架的运动信息,另一方面建模了人体结构的对称性。具体的网络结构看下图:
RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第13张图片
该部分亦采用双分支结构。其中第一个分支引入了KCS条件,输入为3*n的3D Pose结构;第二个分支为纯全连接层,输入为3n维的矩阵。两个分支的全连接层也是采用residual block的结构(同第一部分的结构相同),每一层都有1000个神经元。经过两个分之处理之后,将两个特征concate,最后经过一个全连接层输出,最后一个全连接层的输出维度为1。

KCS 条件
KCS条件实则是根据人体每段骨骼长度进行计算的。首先,要计算出每段相连骨骼的长度,即:
RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第14张图片
写成矩阵的形式,如下:
RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第15张图片
其中的C可以理解为一个邻接矩阵,只不过每一列的非零元素包括1和-1。
然后,KCS矩阵就可以通过B的转置和B的乘积得到了:
RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第16张图片
可以清楚地看到,KCS矩阵是一个对阵矩阵,引入了人体结构的对称性特点。其对角线元素代表了每段骨骼的长度,保证了生成Pose的Size大小;除对角线以外的元素实则表示了骨骼运动的角度信息,因为它们实际上可以看作夹角的cos值。

最后,训练的loss应该是文中提到的三个loss function的综合。一个是WGAN的loss,一个是相机的loss以及Reprojection的loss。具体的loss表达式没有明确给出。

以上便是本文方法的主要思想。下面即使文章的实验组织,就不在列举实验结果,感兴趣的话可以阅读原文。

实验(Experiments)

RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation_第17张图片
以上仅是个人拙见,仅供参考。如有理解错误或者不到位的地方,欢迎大家批评指正~ 谢谢阅读~

你可能感兴趣的:(RepNet:Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human PoseEstimation)