SMPL简析

article/2025/9/28 7:06:57

       SMPL模型是一种参数化人体模型,是马普所提出的一种人体建模方法。这种方法可以模拟人的肌肉在肢体运动过程中的凸起和凹陷。因此可以避免人体在运动过程中的表面失真,可以精准的刻画人的肌肉拉伸以及收缩运动的形貌。

       该模型可以通过身体形状参数和姿势参数驱动人体模型。人体模型内部包括6890个顶点(皮肤)以及23个关节点:

                                     

       模型可以简单表示为:,其中β和θ是输入参数,代表身体形状参数和姿势参数。身体形状参数是个人体高矮胖瘦、头身比等比例的10个参数,姿势参数是代表人体整体运动位姿和24个关节相对角度的3 * 23 + 3 = 72个参数。是模型学习到的5个内在参数。

        其中5个参数具体为:

                              

        (1) S是由形状引起的位移的标准正交主成分

        (2)P是由姿势引起的位移的正交主成分

        (3)W是权重,即第几个顶点受哪些关节的影响且权重分别为多少

       (4)J是完成顶点到关节转化的矩阵

       (5)T是模型初始的平均形状

      

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

模型主线如下图:

              (a)为模板网络(平均顶点集),颜色表示混合权重,白色表示关节点

              (b)中模板网络在体态的影响下发生了位移(T+Bs(β)),体态对关节也产生了影响J(β)

                (c)中表示模板网络在体态与姿态的双重影响下发生的位移(休息状态下)

                (d)驱动的SMPL模型:,共四项:体态与姿态的双重影响下的模板网络、体态影响下的关节、姿态、权重。

            由于模型构成如d, 所以上述简化模型就可以扩展为:

                    

其中:

      (1),Tp表示shape(体态)和pose(姿势)参数对模板网络的双重影响

代表模板下的顶点位置,代表顶点相对于模板的偏移量。

                  又::体型带来的形状位移正交分解计算

                       :姿势带来的形状位移

所以带入上式得:

     (2)扩展得:

                    T+Bs代表体态对模板网络影响后的顶点, J是由休息状态下(Tpose)的顶点转为为关节的矩阵.
联立上述(1)(2)得:
   
       模型最终定义为:   

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

顶点主线:

                                                 (ti转化为齐次坐标)

                                其中具体为    

                                  其中  

 

 由上述得知顶点ti同时受到shape和pose的影响,所以将(1)中式带入上述公式得:

                     

 其中:

        于是得到论文最终的结论。

 

 

 

 

  

 

 

 

 


http://chatgpt.dhexx.cn/article/ukt0xcgj.shtml

相关文章

SMPL学习笔记

文章目录 前言一、SMPL概述1.形状参数( β \beta β)2.姿态参数( θ \theta θ) 二、体姿转换过程原理1.基于形状的混合成形(Shape Blend Shapes)2.基于姿态的混合成形 (Pose Blend Shapes)3.蒙皮 (Skinning) 三、具体过程分析1.基于形状的混合成形2.基于姿态的混合成形3.骨骼点…

Java的生产者消费者模型

前言 学完了线程后,我又去找了一些线程相关的练习题来练手,其中印象最深的就是生产者消费者模型这一块,为什么呢,因为它每一篇练习题里都有,开始没看懂,后面就去仔细研究了一下,哦,…

多线程之生产者消费者模型

生产者消费者模型 1.为什么要使用生产者和消费者模式2.案例 1.为什么要使用生产者和消费者模式 在线程开发中,生产者就是生产线程的线程,消费者就是消费线程的线程。在多线程开发中,如果生产者如理数据很快,消费者处理数据很慢&am…

生产者消费者模型(多线程工作)

目录 1.模型前提 2.阻塞队列(消费场所) 3. 实验 4.有关效率 1.模型前提 以单生产者对单消费者为例子: 前提一:有一个缓冲区作为消费场所。 前提二:有两种功能不同的线程分别具有消费与生产的能力。 前提三&…

生产者消费者模型的实现(线程通信)

✅作者简介:我是18shou,一名即将秋招的java实习生 🔥系列专栏:牛客刷题专栏 📃推荐一款模拟面试、刷题神器👉 [在线刷题面经模拟面试](在线面试刷题) 目录 实现一: 实现二: 实现一…

生产者消费者模型【新版】

目录 啥是生产者消费者模型? 生产者消费者模型存在问题??如何进行解决呢?? 生产者消费者模型导致的问题 什么是阻塞队列 生产者消费者模型优点 生产者消费者模型实现 Message MessageQueue 获取消息get方法 生产消息take方法 测试生产者消费者模型 啥是生产者消…

【Linux】生产者消费者模型

文章目录 一. 什么是生产者消费者模型1. 基本概念2. 三种关系3. 再次理解生产者消费者模型 二. 生产者消费者模型的优点三. 基于BlockingQueue的生产者消费者模型1. 准备工作2. 阻塞队列实现3. 测试阻塞队列4. 阻塞队列完整代码5. 关于改进阻塞队列的几点补充5.1 多生产者多消费…

生产者与消费者模型

1、【什么是生产者与消费者模型呢?】 一种重要的模型,基于等待/通知机制。生产者/消费者模型描述的是有一块缓冲区作为仓库,生产者可将产品放入仓库,消费者可以从仓库中取出产品,生产者/消费者模型关注的是以下几个点&…

生产者消费者模型——C语言代码详解

概念 生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据…

【Java总结】生产者消费者模型

生产者消费者模型主要结构如下,是一个典型的线程同步的案例。下面就来使用java做几种线程同步的方式来实现以下该模型 确保一个生产者消费者模型的稳定运行的前提有以下几个 生成者应该具备持续生成的能力消费者应该具备持续消费的能力生产者的生成和消费消费有一定…

【设计模式】生产者消费者模型

带你轻松理解生产者消费者模型!生产者消费者模型可以说是同步与互斥最典型的应用场景了!文末附有模型简单实现的代码,若有疑问可私信一起讨论。 文章目录 一:为什么要使用生产者消费者模型?二:生产者消费者…

模拟生产者消费者模型

生产者消费者是多线程很经典的一个模型 牵涉三个对象:仓库、生产者、消费者 仓库代表共享变量 生产者表示在仓库生产货物 消费者表示从仓库拿出货物 实现思路:利用synchronizedwait()notify() 对生产者消费者对应的操作用synchronized关键字保证线程安全…

生产者消费者模型java实现

做题的时候遇到了生产者消费者问题,这个问题可以说是线程学习的经典题目了,就忍不住研究了一波。它描述是有一块缓冲区(队列实现)作为仓库,生产者可以将产品放入仓库,消费者则可以从仓库中取走产品。在Java…

生产者消费者模型详解以及实现

生产者消费者模式 我们先来看看什么是生产者消费者模式,生产者消费者模式是程序设计中非常常见的一种设计模式,被广泛运用在解耦、消息队列等场景。在现实世界中,我们把生产商品的一方称为生产者,把消费商品的一方称为消费者&…

Java生产者消费者模型的五种实现方式

转自:https://juejin.im/entry/596343686fb9a06bbd6f888c 前言 生产者和消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一个存储空间,生产者往存储空间中添加产品,消费者从存储空间中取走产品&#xff0c…

生产者消费者模型---详解及代码实现

概念 生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据…

生产消费者模型

生产消费者模型中包含三个部分,生产者、消费者和交易场所。其中涉及如下的关系: (1)生产者和生产者之间的关系:由于生产者的生产面向的都是交易场所,所以生产者之间是存在竞争关系的,就像一家超…

生产者-消费者模型

什么是生产者消费者模型 生产者 - 消费者模型( Producer-consumer problem) 是一个非常经典的多线程并发协作的模型,在分布式系统里非常常见。 这个模型由两类线程和一个缓冲区组成来组成 生产者线程:生产数据,并把…

最长上升子序列和最长公共子序列

文章目录 文章目录 文章目录一、基本知识二、最长上升子序列1.朴素版2.二分版 三、最长公共子序列 一、基本知识 1.子串和子序列的区别: 子串必须连续,子序列可以不连续。 2.最长上升子序列(LIS): 是指一个序列中最长的单调递增的子序列。 3.最长公共…

求最长子序列及回溯

D - 最长公共子序列问题 Description 给定两个序列 X{x1,x2,…,xm} 和 Y{y1,y2,…,yn},找出X和Y的最长公共子序列。 Input 输入数据有多组,每组有两行 ,每行为一个长度不超过500的字符串(输入全是大写英文字母(A,Z…