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》
作者: BastianWandtBastian WandtBastianWandt and BodoRosenhahnBodo RosenhahnBodoRosenhahn
单位: Leibniz Universitat Hannover
文章地址: https://arxiv.org/abs/1902.09868
文章框架(Framework)
文章的总体框架如下图所示,常规的6部分组成。
摘要(Abstract)
下图为摘要的思路框架图。具体不在细讲,下图应该能够比较清晰的展示摘要的内容。
引言(Introduction)
与常规文章不同,本文着重在第一段集中写了Motivation,大部分内容都在介绍文章所提出的方法。
下面是本文的Motivation(其中有我自己总结的)。作者从三个方面去讲。
- Pose Estimation是个热门的领域;
- 之前的方法有如下几点不足:
- 忽略了映射的约束(比如,2D到3D),并且容易过拟合
- 泛化能力差。因为大部分方法都是学习输入到输出的特定映射,其往往适用于处理一个或某一类问题。
- 需要给定真是的Pose来辅助训练discriminator。
- 运动学约束在pose estimation中起到重要的作用。
针对以上的Motivations,作者总结了以下的Contribution:
- 提出了一种对抗训练的网络结构RepNet;
- RepNet是一种弱监督方式,不需要对应的3D pose做监督信号;
- 可以同时estimate骨架点和相机;
- 通过网络层编码运动链表征,从而引入了骨骼长度和运动角度信息;
- 泛化性好。
相关工作(Related Work)
相关工作部分分别从三个方面进行介绍。首先是总结之前的相关工作可以分为两大类,然后分别从两方面进行方法总结介绍。
方法论(Method)
又到了本文的重头戏——方法论部分。首先我们来看一下方法论的文章结构,作者是如何组织的。如下图所示:
整体结构图(Overview)
首先,我们先来看本文方法的整体结构。如下图所示:
本文提出的方法主要包括三部分:(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
输入的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值,
Reprojection Layer
Reprojection Layer主要是将生成的3D Pose映射成2D的Pose,从而可以将输入和输出联系起来,辅助模型训练。
**在这里,映射层仅仅只起到映射的作用,没有任何需要训练学习的参数。**那么,它到底完成了什么样的映射呢?请看下图。
红色虚线框内即映射层。它的输入分别是Pose Estimation Network 和 Camera Network 的输出。利用3D Pose 和相机内置参数映射得到2D Pose,即,
Critic Network
Critic Network实则是GAN中的Discriminator。本文所采用的是WGAN,具体的W-Loss文中没有说明。
该部分网络最大的特点就是将Kinematic Chain Space (KCS)条件引入到模型中。一方面引入了人体骨架的运动信息,另一方面建模了人体结构的对称性。具体的网络结构看下图:
该部分亦采用双分支结构。其中第一个分支引入了KCS条件,输入为3*n的3D Pose结构;第二个分支为纯全连接层,输入为3n维的矩阵。两个分支的全连接层也是采用residual block的结构(同第一部分的结构相同),每一层都有1000个神经元。经过两个分之处理之后,将两个特征concate,最后经过一个全连接层输出,最后一个全连接层的输出维度为1。
KCS 条件
KCS条件实则是根据人体每段骨骼长度进行计算的。首先,要计算出每段相连骨骼的长度,即:
写成矩阵的形式,如下:
其中的C可以理解为一个邻接矩阵,只不过每一列的非零元素包括1和-1。
然后,KCS矩阵就可以通过B的转置和B的乘积得到了:
可以清楚地看到,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相关推荐
- 【2019-CVPR-3D人体姿态估计】RepNet: Weakly Supervised Training of an Adversarial Reprojection Network for ..
RepNet: Weakly Supervised Training of an Adversarial Reprojection Network for 3D Human Pose Estimati ...
- Weakly Supervised Semantic Segmentation list
Weakly Supervised Semantic Segmentation list 文章转自Github:https://github.com/JackieZhangdx/WeakSupervi ...
- Generative Adversarial Learning Towards Fast Weakly Supervised Detection
Generative Adversarial Learning Towards Fast Weakly Supervised Detection Abstract 近年来,弱监督对象检测已经吸引了广泛 ...
- 目标定位--Deep Self-Taught Learning for Weakly Supervised Object Localization
Deep Self-Taught Learning for Weakly Supervised Object Localization CVPR 2017 https://arxiv.org/abs/ ...
- [CVPR 2016] Weakly Supervised Deep Detection Networks论文笔记
Weakly Supervised Deep Detection Networks,Hakan Bilen,Andrea Vedaldi https://www.cv-foundation.org/o ...
- Weakly Supervised Semantic Segmentation with Boundary Exploration
Weakly Supervised Semantic Segmentation with Boundary Exploration 摘要 1 Introduction 2 Related Work 3 ...
- 【论文阅读】UntrimmedNets for Weakly Supervised Action Recognition and Detection
Abstract 提出 UntrimmedNet ,从Untrimmed视频的视频级标签中直接学习动作识别和检测模型,分为 classification 和 selection 两个模块,可端到端训练 ...
- 论文笔记 Weakly Supervised Deep Detection Networks - CVPR 2016
Weakly Supervised Deep Detection Networks Hakan Bilen, Andrea Vedaldi CVPR, 2016 (PDF) (Citations 58 ...
- 【预训练语言模型】WKLM: Pretrained Encyclopedia: Weakly Supervised Knowledge-Pretrained Language Model
[预训练语言模型]WKLM:Pretrained Encyclopedia: Weakly Supervised Knowledge-Pretrained Language Model 知识增强的 ...
最新文章
- Visual Studio开发必备:扩展工具应用
- vue实现两个数组的合并
- 乐高机器人教室布置图片大全_圣诞节手抄报内容简单图片漂亮
- 微博持续开展不友善言论治理专项 重点整治网络暴力行为
- pku 1463 Strategic game 树形DP
- python的前端开发_python开发 - 包子博客 _ 关注互联网前端、开发、SEO、移动互联网应用技术...
- HTML5游戏开发(三):使用webpack构建TypeScript应用
- 不用找了,基于 Redis 的分布式锁实战来了
- linux设置library path,如何在linux中设置环境变量LD_LIBRARY_PATH
- 实现 ASP.NET Core WebApi 的版本化
- 【wangeditor富文本编辑器v4版自定义功能】格式刷
- python利用selenium和safari浏览器驱动实现新浪微博自动点赞 Demo
- 最新款iPad,真香!!
- 纯JAVA实现雷电飞机大战<可本地联机>
- 4 个分析 GameFi 项目的工具
- 【转】性能测试中如何定位性能瓶颈
- LinuxMint安装后的简单配置
- Linux虚拟机命令行联网
- QT QColor颜色选择器并获取rgb值
- C/C++去小数位取整、向下取整、向上取整与四舍五入
热门文章
- VBA 工程代码加密混淆器,保护你的宏作品
- python3使用pdfminer读取pdf文件
- Latex工具(texlive+texstudio)的详细安装及基本使用
- Epic推出免费3D扫描应用《RealityScan》
- SNV标准正交变换 原理 matlab代码说明
- 全国计算机信息检索报告作业答案,计算机信息检索报告
- 计算机类扬大好还是苏州科技大学好,扬州大学和苏州科技大学哪个好?各自的优势有什么不同?...
- 26488-24-4,Cyclo(D-Phe-L-Pro),cyclo-L-Phe-L-Pro,环(D-苯丙氨酸-L-脯氨酸)
- 双语话健康:躲开护肤的七个误区
- 线上问题定位------网络瓶颈