基于SMPL的三维人体重建-深度学习经典方法之VIBE

本文以开源项目VIBE[1-2]为例,介绍下采用深度学习和SMPL模板的从图片进行三维人体重建算法的整体流程。如有错误,欢迎评论指正。


一.算法流程

图1.算法流程

包含生成器模块和判别器模块,核心贡献就在于引入了GRU模块,使得当前帧包含了先前帧的先验信息,从而动作更加连贯和合理(VIBE的思路其实还是很清晰的,几张图足以概况,更多的还是在于工程实现,感兴趣的话还是得去看下源码)。

注: 这里是整个训练流程,训练结束后会拿掉判别器的部分,只需要生成器部分进行推理。

二.具体步骤

数据集

  1. MPI-INF-3DHP: 8个个体,每个个体16个视频序列,大多为室内环境采集,包含3d关节点,SMPL参数
  2. Human3.6M: 使用了7个个体,每个个体15个动作序列,受控环境下采集,包含3d关节点,SMPL参数
  3. 3DPW: 60个视频序列,室内室外均有,包含3d关节点,SMPL参数
  4. PennAction: 2326个视频序列,15种不同的动作,包含2d关节点及其置信度,2d包围盒
  5. Insta Variety: 共计长达24个小时的视频序列,Instagram上收集得到,利用openpose生成伪2d关节点
  6. PoseTrack: 1337个视频序列,包含2d关节点
  7. Kinetics-400: 具体信息不清,利用openpose生成伪2d关节点
  8. AMASS: 300个个体,11000个动作种类,共计40小时的视频,包含SMPL参数

网络结构

1) 生成器模块

图2.生成器

输入图片序列,输出SMPL系数和相机参数。

2) 判别器模块

图3.判别器

输入SMPL系数,输出动作的合理概率。

注:以上两张图还是挺好理解的,可参考GRU[4],对抗学习[6],自注意力模型[5]进行理解。

  • 输入

图片序列。

注:基于单张图片进行SMPL重建的模型最大的问题在于忽视了帧间的联系,若采用这种模型应用于视频序列,其中存在的一个问题就是人体会很抖动。

  • 输出

SMPL系数(全局姿态: 3, 关节点节点姿态: 23*3,形状系数: 10),相机参数(尺度: 1,平移: 2)

注:指推理阶段的输出,也就是生成器的输出

损失函数

1)生成器损失

式1.生成器损失

式2.三维关键点损失

式3.二维关键点损失

式4.身份姿态参数损失

式5.对抗损失

式2)、式3)含义自明;

式4)中,对于形状系数 β ^ \hat{\beta} β^,是通过对每一帧的 β t \beta_t βt做average pooling得到的;

式5)中, Θ ^ = { θ ^ 1 , . . . , θ ^ , β ^ } \hat\Theta=\{\hat\theta_1,...,\hat\theta,\hat\beta\} Θ^={θ^1,...,θ^,β^} D M \mathcal{D}_M DM表示判别器,输出的是动作的合理概率。

2)判别器损失

式6.判别器损失

式6)中, Θ \Theta Θ为来自AMASS的SMPL模型的GT系数。

三.实现

注:1)目前的开源实现[2]在训练阶段,生成器开始利用CNN提取特征和最后利用回归器生成SMPL参数的步骤,是单独利用已训练好的SPIN模型实现的,而不是联合GRU模块一起训练的,训练流程如下所示(感觉一起训练的话效果应该会更好)

图4.vibe实际实现流程

2)推理流程为

图5.vibe推理流程

四.其它

除了VIBE之外,后续有一篇改进的论文TCMR[8]。简单看了下主要是对网络结构进行了改动,但重建效果要比VIBE平滑很多,代码也开源了[9],感兴趣的读者可以自行研究下。

五.参考

[1]VIBE: Video Inference for Human Body Pose and Shape Estimation

[2][GitHub - mkocabas/VIBE: Official implementation of CVPR2020 paper "VIBE: Video Inference for Human Body Pose and Shape Estimation"](https://github.com/mkocabas/VIBE)

[3][Guided lecture: VIBE: Video Inference for Human Body Pose and Shape Estimation](https://www.youtube.com/watch?v=hErK0MamTY4&list=TLPQMTIwMjIwMjLEOfLIHvqppA&index=2)

[4][阿力阿哩哩:通熟易懂RNN|RNN与RNN的变种结构 | 上](https://zhuanlan.zhihu.com/p/105383343)

[5][soccer:Attention注意力机制与self-attention自注意力机制](https://zhuanlan.zhihu.com/p/265108616?utm_source=qq)

[6][一文读懂对抗生成学习(Generative Adversarial Nets)[GAN]](https://www.cnblogs.com/Mang0/p/10129284.html)

[7][CVPR2020论文解读 | VIBE:Video Inference for Human Shape](https://cloud.tencent.com/developer/article/1645354)

[8]Beyond Static Features for Temporally Consistent 3D Human Pose and Shape from a Video

[9][GitHub - hongsukchoi/TCMR_RELEASE: Official Pytorch implementation of "Beyond Static Features for Temporally Consistent 3D Human Pose and Shape from a Video", CVPR 2021](https://github.com/hongsukchoi/TCMR_RELEASE)

[10][python中logging日志模块详解 - 咸鱼也是有梦想的 - 博客园](https://www.cnblogs.com/xianyulouie/p/11041777.html)

[11][十指透兮的阳光:yacs的使用小记](https://zhuanlan.zhihu.com/p/366289700)

[12][GitHub - mkocabas/multi-person-tracker: Simple Multi Person Tracker implementation in PyTorch](https://github.com/mkocabas/multi-person-tracker)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7368.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2.1.3 第一个工程,点灯!

新建工程 点击菜单栏左上角,新建工程或者选择“文件”-“新建工程”,选择工程类型“标准工程”选择设备类型和编程语言,并指定工程文件名及保存路径,如下图所示: 选择工程类型为“标准工程” 选择主模块机型&#x…

CVE-2025-0411 7-zip 漏洞复现

文章目录 免责申明漏洞描述影响版本漏洞poc漏洞复现修复建议 免责申明 本文章仅供学习与交流,请勿用于非法用途,均由使用者本人负责,文章作者不为此承担任何责任 漏洞描述 此漏洞 (CVSS SCORE 7.0) 允许远程攻击者绕…

mysql 学习6 DML语句,对数据库中的表进行 增 删 改 操作

添加数据 我们对 testdatabase 数据中 的 qqemp 这张表进行 增加数据,在这张表 下 打开 命令行 query console 在 软件中就是打开命令行的意思 可以先执行 desc qqemp; 查看一下当前表的结构。 插入一条数据 到qqemp 表,插入时要每个字段都有值 insert…

[特殊字符]【计算机视觉】r=2 采样滤波器全解析 ✨

Hey小伙伴们!今天来给大家分享一个在 计算机视觉 领域中非常有趣但又超级重要的概念——r2 采样滤波器(Sampling Filter with r2)。通过这种滤波器,我们可以在图像降采样的过程中有效地减少混叠效应,提升图像质量。 如…

数据库SQLite和SCADA DIAView应用教程

课程简介 此系列课程大纲主要包含七个课时。主要使用到的开发工具有:SQLite studio 和 SCADA DIAView。详细的可成内容大概如下: 1、SQLite 可视化管理工具SQLite Studio :打开数据库和查询数据;查看视频 2、创建6个变量&#x…

【开源免费】基于Vue和SpringBoot的景区民宿预约系统(附论文)

本文项目编号 T 162 ,文末自助获取源码 \color{red}{T162,文末自助获取源码} T162,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

[Spring] Gateway详解

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

Pandas基础02(DataFrame创建/索引/切片/属性/方法/层次化索引)

DataFrame数据结构 DataFrame 是一个二维表格的数据结构,类似于数据库中的表格或 Excel 工作表。它由多个 Series 组成,每个 Series 共享相同的索引。DataFrame 可以看作是具有列名和行索引的二维数组。设计初衷是将Series的使用场景从一维拓展到多维。…

矩阵快速幂

矩阵快速幂: 高效计算矩阵的幂次(如A^n)的一种算法,只适用于计算某一项,而不是全部项。 递推公式 如果 n为偶数,则: A^nA^(n/2)A^(n/2) 如果 nnn 为奇数,则: A^nA^(n-1…

复位信号的同步与释放(同步复位、异步复位、异步复位同步释放)

文章目录 背景前言一、复位信号的同步与释放1.1 同步复位1.1.1 综述1.1.2 优缺点 1.2 recovery time和removal time1.3 异步复位1.3.1 综述1.3.2 优缺点 1.4 同步复位 与 异步复位1.5 异步复位、同步释放1.5.1 总述1.5.2 机理1.5.3 复位网络 二、思考与补充2.1 复…

【Git版本控制器--3】Git的远程操作

目录 理解分布式版本控制系统 创建远程仓库 仓库被创建后的配置信息 克隆远程仓库 https克隆仓库 ssh克隆仓库 向远程仓库推送 拉取远程仓库 忽略特殊文件 为什么要忽略特殊文件? 如何配置忽略特殊文件? 配置命令别名 标签管理 理…

ios打包:uuid与udid

ios的uuid与udid混乱的网上信息 新人开发ios,发现uuid和udid在网上有很多帖子里是混淆的,比如百度下,就会说: 在iOS中使用UUID(通用唯一识别码)作为永久签名,通常是指生成一个唯一标识&#xf…

中国认知作战研究中心:从认知战角度分析2007年iPhone发布

中国认知作战研究中心:从认知战角度分析2007年iPhone发布 中国认知作战研究中心:从认知战角度分析2007年iPhone发布 关键词 认知作战,新质生产力,人类命运共同体,认知战,认知域,认知战研究中心,认知战争,认知战战术,认知战战略,认知域作战研究,认知作…

Chameleon(变色龙) 跨平台编译C文件,并一次性生成多个平台的可执行文件

地址:https://github.com/MartinxMax/Chameleon Chameleon 跨平台编译C文件,并一次性生成多个平台的可执行文件。可以通过编译Chameleon自带的.C文件反向Shell生成不同平台攻击载荷。 登录 & 代理设置 按照以下步骤设置 Docker 的代理: 创建配置目…

【机器学习】穷理至极,观微知著:微积分的哲思之旅与算法之道

文章目录 微积分基础:理解变化与累积的数学前言一、多重积分的高级应用1.1 高维概率分布的期望值计算1.1.1 多维期望值的定义1.1.2 Python代码实现1.1.3 运行结果1.1.4 结果解读 1.2 特征空间的体积计算1.2.1 单位球体的体积计算1.2.2 Python代码实现1.2.3 运行结果…

Kubernetes可视化界面

DashBoard Kubernetes Dashboard 是 Kubernetes 集群的一个开箱即用的 Web UI,提供了一种图形化的方式来管理和监视 Kubernetes 集群中的资源。它允许用户直接在浏览器中执行许多常见的 Kubernetes 管理任务,如部署应用、监控应用状态、执行故障排查以及…

【转帖】eclipse-24-09版本后,怎么还原原来版本的搜索功能

【1】原贴地址:eclipse - 怎么还原原来版本的搜索功能_eclipse打开类型搜索类功能失效-CSDN博客 https://blog.csdn.net/sinat_32238399/article/details/145113105 【2】原文如下: 更新eclipse-24-09版本后之后,新的搜索功能(CT…

常见的多媒体框架(FFmpeg GStreamer DirectShow AVFoundation OpenMax)

1.FFmpeg FFmpeg是一个非常强大的开源多媒体处理框架,它提供了一系列用于处理音频、视频和多媒体流的工具和库。它也是最流行且应用最广泛的框架! 官方网址:https://ffmpeg.org/ FFmpeg 的主要特点和功能: 编解码器支持: FFmpe…

Pyecharts之饼图与多饼图的应用

在数据可视化领域,饼图是一种常用的图表类型,特别适合展示数据的比例关系。Pyecharts 为我们提供了强大的饼图绘制功能,不仅可以轻松绘制各种饼图,还能对饼图的样式和数据标签进行深度定制,并且可以组合多个饼图以满足…

华为数据之道-读书笔记

内容简介 关键字 数字化生产 已经成为普遍的商业模式,其本质是以数据为处理对象,以ICT平台为生产工具,以软件为载体,以服务为目的的生产过程。 信息与通信技术平台(Information and Communication Technology Platf…