> ## Content Index
> Fetch the complete content index at: https://cms.yufeiran.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# 人体几何模型重建
- URL: https://cms.yufeiran.com/ren-ti-mo-xing-zhong-jian/
- Published: 2022-12-18T23:59:31.000Z
- Updated: 2026-10-05T14:57:37.000Z
- Author: Feiran Yu
- Tags: #legacy-import

# 背景

最近在做三维人体重建方向的工作,本文会试着系统的介绍使用**神经网络**从**二维图片/视频**中提取出**人体参数化模型**以及**纹理贴图**的过程。

---

# \[0\]SMPL模型学习和使用

## 背景

最近在做三维人体重建方向的工作，SMPL是基础，所以准备学习它。

## 什么是SMPL

在人体动作捕捉（motion capture）领域，SMPL 算法最为常见，它是由德国马普所提出的一种参数化的三维人体动捕模型，具有通用性、易于渲染和兼容现有商业软件（比如 UE4 和 Unity）的优点。  

![——-SMPL-A-Skinned-Multi-Person-Linear-Model-20210816165705](https://yufeiran.com/content/images/2022/12/-------SMPL-A-Skinned-Multi-Person-Linear-Model-20210816165705.png)

## 原理

它是一个使用几组参数就能生成一个人体模型和姿态模型的框架。

## 运行

1. 从官网下载SMPL模型 [https://smpl.is.tue.mpg.de/download.php](https://smpl.is.tue.mpg.de/download.php?ref=cms.yufeiran.com)
2. 需要注意需要linux或者macos才能运行，我安装了WSL2 的Ubuntu
3. 解决环境依赖，把缺少的库都用apt和pip安装了，参考这个[SMPL源码安装：安装成功并实现](https://blog.csdn.net/nbxuwentao/article/details/99708914?ref=cms.yufeiran.com)
4. 注意需要把smpl放入python的path中，放入后我这里需要将  
`import smpl_webuser.serialization` 改成 `import smpl.smpl_webuser.serialization` 才可以运行

## 效果截图

使用`python render_smpl.py` 运行生成一个随机大小姿态的人体模型的截图  

![—-_20221219163301](https://yufeiran.com/content/images/2022/12/----_20221219163301.png)

## 参考

[三维人体动捕模型 SMPL：A Skinned Multi Person Linear Model](https://yunyang1994.github.io/2021/08/21/%E4%B8%89%E7%BB%B4%E4%BA%BA%E4%BD%93%E6%A8%A1%E5%9E%8B-SMPL-A-Skinned-Multi-Person-Linear-Model/?ref=cms.yufeiran.com)  
[SMPL模型学习](https://www.cnblogs.com/sariel-sakura/p/14321818.html?ref=cms.yufeiran.com)  
[SMPL源码安装：安装成功并实现](https://blog.csdn.net/nbxuwentao/article/details/99708914?ref=cms.yufeiran.com)  
[（week 1）【经验教训】运行SMPL示例模型中遇到的坑](https://blog.csdn.net/weixin%5F36595565/article/details/88670957?ref=cms.yufeiran.com)

---

# \[1\]HMR:End-to-end Recovery of Human Shape and Pose学习与使用

## 背景

最近在做三维人体重建方向的工作，这个[HMR](https://github.com/akanazawa/hmr?ref=cms.yufeiran.com)是一个很出色的从单张RGB图片直接估计出三维人体形状和姿态的工作，所以在这里进行学习和使用。  
[https://github.com/akanazawa/hmr](https://github.com/akanazawa/hmr?ref=cms.yufeiran.com)

## 过程

它先用二维关键点检测，类似我之前用的[OpenPose 调研](https://yufeiran.com/openpose-diao-yan/?ref=cms.yufeiran.com)，先得到二维的骨架姿态预测。  
然后将二维骨架投影到三维的SMPL模型中（SMPL模型学习和使用），拟合出SMPL的那几个参数，最后使用SMPL模型生成人体形态和姿态。

## 运行结果

预测效果如下图所示：  

![—-_20221220164003](https://yufeiran.com/content/images/2022/12/----_20221220164003.png)

  
![—-_20230103223919](https://yufeiran.com/content/images/2023/01/----_20230103223919.png)

## 参考

---

# \[2\]TailorNet 学习和使用

## 背景

最近在做三维人体重建方向的事情，这个TailorNet是一个服装重建的网络，值得学习。  
[TAILORNET: PREDICTING CLOTHING IN 3D AS A FUNCTION OF HUMAN POSE, SHAPE AND GARMENT STYLE](https://virtualhumans.mpi-inf.mpg.de/tailornet/?ref=cms.yufeiran.com)  
GitHub地址为 [https://github.com/chaitanya100100/TailorNet](https://github.com/chaitanya100100/TailorNet?ref=cms.yufeiran.com)

## 原理

该网络可以输入任意的SMPL模型参数，以及衣服的种类，输出一个贴合人体模型的衣服形状  

![—-_20230103185623](https://yufeiran.com/content/images/2023/01/----_20230103185623.png)

## 过程

- 下载项目的python代码
- 下载各种衣服类型的网络数据，[https://nextcloud.mpi-klsb.mpg.de/index.php/s/LTWJPcRt7gsgoss](https://nextcloud.mpi-klsb.mpg.de/index.php/s/LTWJPcRt7gsgoss?ref=cms.yufeiran.com) 这个服务器架在德国，下载会有些慢，我这里点击全部下载时下载速度会特别慢，后面改为单独下载每个文件就能到每个文件1MB/s的速度，就可以接受了。
- 创建虚拟环境，配置好环境
- `python run_tailornet.py`直接运行

## 效果截图

![—-_20230103185314](https://yufeiran.com/content/images/2023/01/----_20230103185314.png)

## 参考

[https://github.com/zycliao/TailorNet\_dataset](https://github.com/zycliao/TailorNet%5Fdataset?ref=cms.yufeiran.com)

---

# \[3\]Part Grouping Network 的学习与使用

## 背景

Part Grouping Network可以用来进行图片的语义分割，图像的分割是CV邻域常见的问题。

## 过程

该代码需要matlab  
而matlab是gui程序，我使用的环境是WSL2 Ubuntu 22.04，需要额外配置GUI  
现在暂时使用实体ubuntu20.04来跑，跑成功了。具体是结合\[0\]它项目本身的指引以及按照\[2\]的配置方式，和它项目中的issue最后运行出来的。  

![result](https://yufeiran.com/content/images/2023/01/result.png)

## 结果

### 样例1

![0002190](https://yufeiran.com/content/images/2023/01/0002190.png)

  
它分割出的结果如下  

![0002190-1](https://yufeiran.com/content/images/2023/01/0002190-1.png)

  
![0002190_vis](https://yufeiran.com/content/images/2023/01/0002190_vis.png)

### 样例2

![0005008](https://yufeiran.com/content/images/2023/01/0005008.jpg)

  
它分割出的结果如下  

![0005008-1](https://yufeiran.com/content/images/2023/01/0005008-1.png)

  
![0005008_vis](https://yufeiran.com/content/images/2023/01/0005008_vis.png)

## 参考

0.[Part Grouping Network (PGN)](https://github.com/Engineering-Course/CIHP%5FPGN?ref=cms.yufeiran.com)  
1.[wsl安装ubuntu并设置gnome图形界面详细步骤（win11+ubuntu18）](https://blog.csdn.net/m0%5F51194302/article/details/127891929?ref=cms.yufeiran.com)  
2.[论文《Instance-level Human Parsing via Part Grouping Network》复现](https://www.cnblogs.com/Jody9123/p/13453595.html?ref=cms.yufeiran.com)  
3.[Matlab R2020a For Linux 安装教程 - 尼侬的文章 - 知乎](https://zhuanlan.zhihu.com/p/255088205?ref=cms.yufeiran.com)  
4.[WSL2 Ubuntu图形界面安装与远程桌面](https://blog.csdn.net/qq%5F43878324/article/details/113616883?ref=cms.yufeiran.com)  
5.[WSL 2 上启用微软官方支持的 systemd](https://www.cnblogs.com/wswind/p/wsl2-official-systemd.html?ref=cms.yufeiran.com)  
6.[Windows上通过ssh和VNC Viewer分别连接本地Ubuntu（WSL）的终端和图形界面](https://blog.csdn.net/weixin%5F39278265/article/details/103391805?ref=cms.yufeiran.com)

# \[4\] SMPLicit Topology-aware Generative Model for Clothed People

# 概述

该论文提出了一种基于隐函数的对人体服装重建的方法，可以同时复现包括衣服、裤子、鞋子、头发的模型

# 论文解析

[https://zhuanlan.zhihu.com/p/362132005](https://zhuanlan.zhihu.com/p/362132005?ref=cms.yufeiran.com)  
[https://zhuanlan.zhihu.com/p/102904841](https://zhuanlan.zhihu.com/p/102904841?ref=cms.yufeiran.com)

# 运行代码过程

由于是深度学习，需要安装Cuda以及CuDNN  
首先需要安装Cuda  
[https://blog.csdn.net/a563562675/article/details/119458550](https://blog.csdn.net/a563562675/article/details/119458550?ref=cms.yufeiran.com)

安装kaolin  
[https://blog.csdn.net/qq\_41071191/article/details/121365362](https://blog.csdn.net/qq%5F41071191/article/details/121365362?ref=cms.yufeiran.com)

# \[A\] python学习

## 背景

最近在跑三维人体重建论文的代码，很多都是python写的。

## 内容

下面列举一些常见的命令

### anaconda

创建虚拟环境：  
`conda create -n your_env_name python=x.x`  
切换到虚拟环境：  
`source activate your_env_name` 或  
`conda activate your_env_name`

### pip

换国内源  
`pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple`

`pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/`

`pip config set global.index-url http://pypi.douban.com/simple/`