【图像处理】A Skinned Multi-Person Linear Model(SMPL)浅解析
【图像处理】A Skinned Multi-Person Linear Model(SMPL)浅解析
- SMPL的原理
- 结语
SMPL的原理
首先,博主不做3D建模的工作(尽管这项工作真的很酷),学习blender也仅是出于兴趣,因此,这篇博文中对SMPL模型的理解会有部分不足,内容仅供参考。
《SMPL: A Skinned Multi-Person Linear Model》的作者在文章中写到,一个3D人体mesh由6890个网格顶点和23个关节点组成:
- N=6890N=6890N=6890,3D人体mesh的网格顶点总数
- K=23K=23K=23,3D人体mesh的关节点总数
同时,作者指出,SMPL将3D人体mesh的状态分为shape和pose:
- shape影响人体mesh的形状(高矮胖瘦)
- pose影响人体mesh的姿态(动作姿势)
因为是在三维空间,一个点有三个坐标(x,y,zx,y,zx,y,z),故一个标准3D人体mesh的6890个mesh顶点可表示为:
- TTT,一个6890∗36890*36890∗3的矩阵。注意,这个矩阵是常数值(对于单独一种性别的mesh来说)
同理,一个标准3D人体mesh的23个关节点可表示为:
- JJJ,一个24∗324*324∗3的矩阵,23个关节点+1个root orientation。注意,这个矩阵是常数值(对于单独一种性别的mesh来说)
另外,还有blend weight,也就是每一个关节点的坐标变化对每一个mesh顶点坐标变化的影响:
- WWW,一个6890∗246890*246890∗24的矩阵。注意,这个矩阵的值需要训练得到
接下来,文章作者定义了影响shape和 pose的两组参数:
- shape,影响高矮胖瘦:β\betaβ,10个参数,值在-1到1之间
- pose,影响动作姿势:θ\thetaθ,72个参数,后69个值在-1到1之间,3*23 + 3,影响23个关节点+1个root orientation的旋转。前三个控制root orientation,后面每连续三个控制一个关节点
这10+72个参数,便是以一个标准3D人体mesh为基础,生成不同shape、不同pose的3D人体mesh所需要的参数
如上图,左一是一个标准3D人体mesh,也就是由TTT、JJJ生成,而颜色代表WWW
左二,是改变了shape后的3D人体mesh,也就是由TTT、JJJ,外加β\betaβ的影响生成
右二,是改变了shape和pose后的3D人体mesh,也就是由TTT、JJJ,外加β\betaβ、θ\thetaθ的影响生成
右一,是在右二的基础上,加入了WWW的影响后的结果
SMPL模型,神经网络通过学习得到的什么?
四个权重:
- weigth:一个6890∗246890*246890∗24的tensor
- J_regressor:一个24∗689024*689024∗6890的tensor
- shapedirs:一个6890∗3∗106890*3*106890∗3∗10的tensor
- posedirs:一个6890∗3∗2076890*3*2076890∗3∗207的tensor(207=23*9,23是关节点的个数,9是旋转矩阵的元素个数)
至于怎么通过这四个权重,联合TTT和JJJ得到3D人体mesh,原文中有相关公式。感兴趣的朋友自行阅读
最后,作者给出了训练得到的权重,给出了标准3D人体mesh的TTT和JJJ,我们只需要改变β\betaβ和θ\thetaθ,就能得到不同的3D人体mesh了
改变β\betaβ对3D人体mesh的影响:(shape,影响高矮胖瘦,10个参数)
β\betaβ值:[1. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
β\betaβ值:[0. 1. 0. 0. 0. 0. 0. 0. 0. 0.]
β\betaβ值:[0. 0. 0. 0. 0. 0.5 0. 0. 0. 0.5]
改变θ\thetaθ对3D人体mesh的影响:(pose,影响动作姿势,72个参数)
- 第1个参数是π\piπ,第2个参数是1,其他参数是0
- 第1个参数是π\piπ,第4个参数是1,其他参数是0
- 第1个参数是π\piπ,第72个参数是1,其他参数是0
结语
如果您有修改意见或问题,欢迎留言或者通过邮箱和我联系。
手打很辛苦,如果我的文章对您有帮助,转载请注明出处。
【图像处理】A Skinned Multi-Person Linear Model(SMPL)浅解析相关推荐
- 混合线性模型+mixed linear model+GEEs+GLMM+LMM
混合线性模型+mixed linear model+GEEs+GLMM+LMM 线性回归 广义线性回归 混合线性模型/线性混合模型 的区别是什么? spss中遇见线性混合模型 价值,意义,目的是什么? ...
- voom: precision weights unlock linear model analysis tools for RNA-seq read counts
voom: precision weights unlock linear model analysis tools for RNA-seq read counts 标准化方式 首先在定义cpm的时候 ...
- Google 深度学习笔记 - Limit of Linear Model
https://www.toutiao.com/a6679981747167298051/ 实际要调整的参数很多 如果有N个Class,K个Label,需要调整的参数就有(N+1)K个 Linear ...
- R语言对数线性模型loglm函数_使用R语言进行混合线性模型(mixed linear model) 分析代码及详解...
1.混合线性模型简介 混合线性模型,又名多层线性模型(Hierarchical linear model).它比较适合处理嵌套设计(nested)的实验和调查研究数据.此外,它还特别适合处理带有被试内 ...
- 【李宏毅2020 ML/DL】补充:Structured Learning: Introduction Structured Linear Model
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本次笔记补充视频 BV1JE411g7XF 的缺失部分.在另一个UP主上传的2017课程BV13x411v7U ...
- Machine Learning——Linear Model
本系列博客是我学习周志华的<机器学习(西瓜书)>的自学笔记. 我是零基础学习,因此所写只是书上的知识,肯定不全面,以后随着学习的深入,慢慢补充吧. 基本形式 给定由ddd个属性描述的示例x ...
- 线性模型(Linear Model)
线性模型(Linear Model) 对于给定样本x⃗ \mathbf{\vec{x}},假定其有n维特征,则,x⃗ =(x1,x2,x3,-,xn)T\mathbf{\vec{x}}=(x_1, x ...
- 广义线性模型(Generalized Linear Model)之二:Logistic回归
广义线性模型(Generalized Linear Model)之二:Logistic回归 一.引入:多元线性回归模型 二.Logistic回归模型 三.非条件logistic回归模型 (一)介绍 ( ...
- [Watermelon_book] Chapter 3 Linear Model
Linear Model 基本定义 线性模型简单形式的实际编码 Task Generate data Cost function Gradient descent Training Model eva ...
最新文章
- Googlequot;员工quot;曝内幕:Google员工的17个秘密
- 计算机组成原理试卷五套,计算机组成原理(五套试题)
- Getting Installation aborted (Status 7) ApplyParsePerms: lsetfilecon of /syst...【转】
- JQuery:deferred对象的方法
- asterisk libxml2
- [Hands On ML] 3. 分类(MNIST手写数字预测)
- Qt文档阅读笔记-Image QML官方解析与实例
- python 单一继承定义_Python学习之单继承与多继承
- linux命名管道进程间通信,《Linux 进程间通信》命名管道:FIFO
- 微信小程序自动定位城市
- 常见debug指令和使用
- 【模型理解】KANO模型
- windows 7 如何调出快速启动栏
- MetaSploit攻击实例讲解------终端下PostgreSQL数据库的使用(包括kali linux 2016.2(rolling) 和 BT5)...
- 猜数游戏(实现) 后附源码
- 几款漂亮的Eclipse编辑器皮肤 .
- TMC4671基于硬件FOC伺服电机控制芯片适应BLDC/PMSM、两相步进、直流有刷、音圈电机
- html转pdf 图片跨域问题解决
- CTFHub技能树 Web-SSRF 302跳转 Bypass
- openid和unionid的区别
热门文章
- Fastlane 一键打包/发布APP - 使用记录及踩坑
- IE 插件 Trixie 介绍
- MATLAB用GARCH模型对股票市场收益率时间序列波动的拟合与预测
- 戴尔R620安装server2008 R2系统操作说明
- 计算机应用专业总结报告,大专计算机应用专业个人总结报告
- Vue-Router 路由重复点击时报错 Uncaught (in promise) NavigationDuplicated:Avoided redundant navigation to curr
- FL Studio多少钱,2023年最新FL Studio选购指南
- 戴尔dell的R 720服务器设置u盘启动
- Vue基础--Vue中的双向绑定v-model指令
- SpringBoot集成mybatis拦截器的实现