人体几何模型重建

背景

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


[0]SMPL模型学习和使用

背景

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

什么是SMPL

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

原理

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

运行

  1. 从官网下载SMPL模型 https://smpl.is.tue.mpg.de/download.php
  2. 需要注意需要linux或者macos才能运行,我安装了WSL2 的Ubuntu
  3. 解决环境依赖,把缺少的库都用apt和pip安装了,参考这个SMPL源码安装:安装成功并实现
  4. 注意需要把smpl放入python的path中,放入后我这里需要将
    import smpl_webuser.serialization 改成 import smpl.smpl_webuser.serialization 才可以运行

效果截图

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

参考

三维人体动捕模型 SMPL:A Skinned Multi Person Linear Model
SMPL模型学习
SMPL源码安装:安装成功并实现
(week 1)【经验教训】运行SMPL示例模型中遇到的坑


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

背景

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

过程

它先用二维关键点检测,类似我之前用的OpenPose 调研,先得到二维的骨架姿态预测。
然后将二维骨架投影到三维的SMPL模型中(SMPL模型学习和使用),拟合出SMPL的那几个参数,最后使用SMPL模型生成人体形态和姿态。

运行结果

预测效果如下图所示:

参考


[2]TailorNet 学习和使用

背景

最近在做三维人体重建方向的事情,这个TailorNet是一个服装重建的网络,值得学习。
TAILORNET: PREDICTING CLOTHING IN 3D AS A FUNCTION OF HUMAN POSE, SHAPE AND GARMENT STYLE
GitHub地址为 https://github.com/chaitanya100100/TailorNet

原理

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

过程

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

效果截图

参考

https://github.com/zycliao/TailorNet_dataset


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

背景

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

过程

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

结果

样例1


它分割出的结果如下

样例2


它分割出的结果如下

参考

0.Part Grouping Network (PGN)
1.wsl安装ubuntu并设置gnome图形界面详细步骤(win11+ubuntu18)
2.论文《Instance-level Human Parsing via Part Grouping Network》复现
3.Matlab R2020a For Linux 安装教程 - 尼侬的文章 - 知乎
4.WSL2 Ubuntu图形界面安装与远程桌面
5.WSL 2 上启用微软官方支持的 systemd
6.Windows上通过ssh和VNC Viewer分别连接本地Ubuntu(WSL)的终端和图形界面

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

概述

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

论文解析

https://zhuanlan.zhihu.com/p/362132005
https://zhuanlan.zhihu.com/p/102904841

运行代码过程

由于是深度学习,需要安装Cuda以及CuDNN
首先需要安装Cuda
https://blog.csdn.net/a563562675/article/details/119458550

安装kaolin
https://blog.csdn.net/qq_41071191/article/details/121365362

[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/