【图像处理】A Skinned Multi-Person Linear Model(SMPL)浅解析

2023-05-16

【图像处理】A Skinned Multi-Person Linear Model(SMPL)浅解析

  • SMPL的原理
  • 结语

SMPL的原理

在这里插入图片描述
首先,博主不做3D建模的工作(尽管这项工作真的很酷),学习blender也仅是出于兴趣,因此,这篇博文中对SMPL模型的理解会有部分不足,内容仅供参考。


《SMPL: A Skinned Multi-Person Linear Model》的作者在文章中写到,一个3D人体mesh由6890个网格顶点和23个关节点组成

  • N = 6890 N=6890 N=6890,3D人体mesh的网格顶点总数
  • K = 23 K=23 K=23,3D人体mesh的关节点总数

同时,作者指出,SMPL将3D人体mesh的状态分为shape和pose:

  • shape影响人体mesh的形状(高矮胖瘦)
  • pose影响人体mesh的姿态(动作姿势)

因为是在三维空间,一个点有三个坐标( x , y , z x,y,z x,y,z),故一个标准3D人体mesh的6890个mesh顶点可表示为:

  • T T T,一个 6890 ∗ 3 6890*3 68903的矩阵。注意,这个矩阵是常数值(对于单独一种性别的mesh来说)

同理,一个标准3D人体mesh的23个关节点可表示为:

  • J J J,一个 24 ∗ 3 24*3 243的矩阵,23个关节点+1个root orientation。注意,这个矩阵是常数值(对于单独一种性别的mesh来说)

另外,还有blend weight,也就是每一个关节点的坐标变化对每一个mesh顶点坐标变化的影响

  • W W W,一个 6890 ∗ 24 6890*24 689024的矩阵。注意,这个矩阵的值需要训练得到

接下来,文章作者定义了影响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,也就是由 T T T J J J生成,而颜色代表 W W W
左二,是改变了shape后的3D人体mesh,也就是由 T T T J J J,外加 β \beta β的影响生成
右二,是改变了shape和pose后的3D人体mesh,也就是由 T T T J J J,外加 β \beta β θ \theta θ的影响生成
右一,是在右二的基础上,加入了 W W W的影响后的结果


SMPL模型,神经网络通过学习得到的什么?

四个权重:

  • weigth:一个 6890 ∗ 24 6890*24 689024的tensor
  • J_regressor:一个 24 ∗ 6890 24*6890 246890的tensor
  • shapedirs:一个 6890 ∗ 3 ∗ 10 6890*3*10 6890310的tensor
  • posedirs:一个 6890 ∗ 3 ∗ 207 6890*3*207 68903207的tensor(207=23*9,23是关节点的个数,9是旋转矩阵的元素个数)

至于怎么通过这四个权重,联合 T T T J J J得到3D人体mesh,原文中有相关公式。感兴趣的朋友自行阅读


最后,作者给出了训练得到的权重,给出了标准3D人体mesh的 T T T J J J我们只需要改变 β \beta β θ \theta θ,就能得到不同的3D人体mesh了


改变 β \beta β对3D人体mesh的影响:(shape,影响高矮胖瘦,10个参数)

  1. β \beta β值:[1. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
    在这里插入图片描述

  2. β \beta β值:[0. 1. 0. 0. 0. 0. 0. 0. 0. 0.]
    在这里插入图片描述

  3. β \beta β值:[0. 0. 0. 0. 0. 0.5 0. 0. 0. 0.5]
    在这里插入图片描述


改变 θ \theta θ对3D人体mesh的影响:(pose,影响动作姿势,72个参数)

  1. 第1个参数是 π \pi π,第2个参数是1,其他参数是0
    在这里插入图片描述
  2. 第1个参数是 π \pi π,第4个参数是1,其他参数是0
    在这里插入图片描述
  3. 第1个参数是 π \pi π,第72个参数是1,其他参数是0

在这里插入图片描述

结语

如果您有修改意见或问题,欢迎留言或者通过邮箱和我联系。
手打很辛苦,如果我的文章对您有帮助,转载请注明出处。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【图像处理】A Skinned Multi-Person Linear Model(SMPL)浅解析 的相关文章

随机推荐

  • vue tree select 组件 7个

  • LXC介绍

    LXC LXC又名Linux container xff0c 是一种虚拟化的解决方案 xff0c 这种是内核级的虚拟化 主流的解决方案Xen KVM LXC 介绍 通过namespace进行资源的隔离 Gust1下的进程与Guset2下的进
  • js中 offsetLeft图解

    1假设本图有三层div盒子 外 中 内 2最外层和页面的距离就是offsetLeft 元素与页面之间的左边的距离 3外层包含着中 和内 4外层和中层的距离是不变的 外层包含中层 xff0c 中层的offsetLeft是相对于外层的距离 5若
  • LAMP源码安装图文详解(超详细)

    文章目录 一 LAMP架构概述1 各组件的主要作用2 各组件安装顺序 二 编译安装Apache httpd服务1 关闭防火墙 xff0c 将安装Apache所需软件包传到 opt目录下2 安装环境依赖包3 配置软件模块4 编译及安装5 优化
  • c++学习总结(多态性)

    在学习c 43 43 的过程中 xff0c 根据自己的见解 xff0c 把一些自己认为重要的 容易混淆的知识点记录下来 xff0c 为了以后能够复习 今天主要总结多态性 主要从以下三个方面来讨论 xff1a what why how 什么是
  • [分享]分享一个多旋翼开源飞控项目

    https github com golaced Oldx fly controller tree rmd OLDX多旋翼开发平台 xff08 OLDX FC xff09 是由北京理工大学自动化学院所属 北理云逸科技 团队开发的一个目前国内
  • gitkraken安装教程

    版本gitkraken6 5 1 双击安装文件后 xff0c 安装成功后 xff0c 关掉软件 xff0c 删掉安装包 第一步 xff1a 修改hosts xff0c 路径为C Windows System32 drivers etc ho
  • 入手新单片机流程&提高可移植性的编程技巧

    现在单片机种类众多 xff0c 各有各的优势与不足 体现在价格 速度 外设 功耗 封装等许多方面 xff0c 这些单片机不可能一一去学习 xff0c 因此今后有很大可能需要应用到自己不熟的单片机 xff0c 对此 xff0c 我总结了一些经
  • ssh连接失败,但能ping通服务器

    ssh连接失败 xff0c 但能ping通服务器 问题描述问题排查1 判断是否客户端本身问题2 服务器端排查3 配置完服务器报错 问题描述 能ping通 xff0c ssh报错 Connection reset by peer span c
  • opencv库的功能

    OpenCV Open Source Computer Vision 是一个开源的计算机视觉库 xff0c 提供了很多用于图像处理 计算机视觉 机器学习等方面的函数和工具 以下是一些 OpenCV 库的功能 xff1a 图像和视频 I O
  • 深度学习模型列举

    深度学习是一种人工神经网络算法的实现方式 xff0c 主要用于处理大规模复杂数据集 xff0c 如图像 语音 文本等数据 以下是一些常见的深度学习模型 xff1a 卷积神经网络 xff08 Convolutional Neural Netw
  • CentOS8.3.2011无法联网解决方案

    1 切换到ifcfg ensXX目录下 cd etc sysconfig network scripts 2 编辑ifcfg ensXX文件 vim ifcfg ens33 3 修改 BOOTPROTO 61 dhcp 并且修改 ONBOO
  • Run Windows in Ubuntu with VMware Player 使用 VMware Player 在 Ubuntu 下运行 Win

    Are you an enthusiast who loves their Ubuntu Linux experience but still needs to use Windows programs Here s how you can
  • Ardupilot固定翼无人机L1制导律原理及代码解读

    L1制导律是固定翼无人机飞行路径跟踪的重要算法之一 xff0c 这个算法由MIT的研究人员提出 在这之前 xff0c 无人机进行路径跟踪一般采用基于侧偏距的PD控制器方法 至于为什么使用PD而不使用PID xff0c 那是因为位置环响应慢
  • sumo交通流仿真软件的使用说明

    1 安装流程 xff1a 1 xff09 mis文件安装 xff1a 官网下载下来一键安装 xff1b 2 xff09 tar利用压缩安装 xff1a 官网下载安装包 xff0c 解压后 xff0c 在系统变量变量中定义sumo的路径和bi
  • 搭建PX4开发环境

    PX4是著名的开源无人机开发平台 xff0c 它提供了一个虚拟环境 xff0c 可以用来验证无人机的飞控算法 xff0c 也可以连接开源硬件 xff0c 为无人机的开发提供了极大便利 目前PX4支持的操作系统是ubuntu 18 04LTS
  • 进程间通信IPC——命名管道

    命名管道 1 基本概念2 创建1 xff09 命令行2 xff09 函数 3 示例 1 基本概念 命名管道是一种特殊的文件类型 xff0c 其存在于磁盘上 xff0c 但是大小永远是0 不同于匿名管道的是 xff1a 可在同一台计算机的不同
  • docker学习内容(1)-介绍与安装

    docker是什么 Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案 Docker 的基础是 Linux 容器 xff08 LXC xff09 等技术 docker干什么 更快速的交付和部署 高效虚拟化 docker的出现 xf
  • 2014百度校园招聘笔试题(长春站)

    一 xff0c 简答题 30分 1 xff0c 当前计算机系统一般会采用层次结构存储数据 xff0c 请介绍下典型计算机存储系统一般分为哪几个层次 xff0c 为什么采用分层存储数据能有效提高程序的执行效率 xff1f 10分 2 xff0
  • 【图像处理】A Skinned Multi-Person Linear Model(SMPL)浅解析

    图像处理 A Skinned Multi Person Linear Model xff08 SMPL xff09 浅解析 SMPL的原理结语 SMPL的原理 首先 xff0c 博主不做3D建模的工作 xff08 尽管这项工作真的很酷 xf