ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

SMPL三维人体模型快速上手:4个步骤跑通 NumPy、TensorFlow 和 PyTorch 三种实现

SMPL三维人体模型快速上手:4个步骤跑通 NumPy、TensorFlow 和 PyTorch 三种实现 SMPL三维人体模型快速上手4个步骤跑通 NumPy、TensorFlow 和 PyTorch 三种实现【免费下载链接】SMPLNumPy, TensorFlow and PyTorch implementation of human body SMPL model and infant body SMIL model.项目地址: https://gitcode.com/gh_mirrors/smp/SMPLSMPL 是一个从数千个真实人体扫描中学习到的三维人体模型只需几组数值参数就能控制体型和姿态。开源项目 SMPL 基于 NumPy、TensorFlow 和 PyTorch 实现了这个人体模型还附带婴儿身体模型 SMIL 的实现。看完这篇你就能在自己的机器上跑出一个人形网格并选到适合自己场景的代码版本。开始之前先核对这份清单在动手前花一分钟对照检查手头是否具备以下条件Python 版本3.6 及以上基础依赖NumPy、TensorFlow、PyTorchpip install numpy tensorflow torch即可官方模型文件SMPL 模型文件因版权原因不会随代码提供需要你自己到 SMPL 官方渠道合法申请下载这是绕不开的一步chumpy 库只在预处理阶段用到。这个库已经停止维护可能要从较老的源码编译安装GPU可选想用 TensorFlow 或 PyTorch 版本加速的话建议准备纯 CPU 也能跑 NumPy 版本确认齐了下面开始。第 1 步把代码项目拿到本地一条命令克隆项目然后进入目录git clone https://gitcode.com/gh_mirrors/smp/SMPL cd SMPL目录很小核心就几件事preprocess.py 负责模型预处理smpl_np.py、smpl_tf.py、smpl_torch.py 是三个框架的实现加示例SMIL_torch_batch.py 是婴儿模型test.py 用来交叉验证各版本输出是否一致。第 2 步拿到模型文件并完成预处理这里有个容易卡住的地方先说清楚原理官方模型文件里打包了 chumpy 对象所以预处理时必须安装 chumpy 才能把它翻译出来。而 chumpy 不再活跃开发装的时候可能要翻老源码甚至微调几行代码才能兼容 Python 3。准备工作git clone https://github.com/mikgroup/chumpy.git cd chumpy python setup.py install装不上很正常这是老库的通病。网上有不少 chumpy 的 Python 3 兼容性改造教程搜一下chumpy python3 安装就能找到。安装好后把下载到的官方模型路径传进去一条命令完成预处理python preprocess.py /path/to/downloaded/model跑完会在当前目录生成model.pkl。后面所有示例代码读的都是它这一步只做一次。第 3 步一条命令跑通首个 Demo预处理完成就可以验收了。按你想要的框架挑一个跑python smpl_np.py # NumPy 版 python smpl_tf.py # TensorFlow 版 python smpl_torch.py # PyTorch 版 python smpl_torch_batch.py # PyTorch 批量版正常情况会输出一组三维坐标这就是参数化人体模型的顶点数据。第 4 步可选用 test.py 交叉验证输出如果你装了多个框架可以跑一下 test.py它会把 PyTorch 实现和 TensorFlow 实现的输出逐点比对。项目作者正是在 Ubuntu 18.04、Python 3.6、PyTorch 1.0.0 stable 环境下用这种方式确认两个版本输出一致你也可以照做。五个版本怎么选版本对应文件特点适合谁NumPysmpl_np.py部分计算做了向量化重写速度不慢代码最好读新手入门、只想要 CPU 推理TensorFlowsmpl_tf.py支持 GPU 加速TensorFlow 技术栈用户PyTorchsmpl_torch.py由 TensorFlow 版移植支持 GPU 训练PyTorch 技术栈用户PyTorch 批量smpl_torch_batch.py支持批处理推理吞吐更高需要处理大量样本SMIL 婴儿模型SMIL_torch_batch.py速度很快支持稀疏张量以省显存研究婴儿身体建模一个简单的选择逻辑读代码、做验证选 NumPy要 GPU 和训练就按你团队的框架二选一数据量大上批量版做婴儿身体就直奔 SMIL 文件。如果你遇到这类问题Q模型文件从哪来项目里怎么没有因为版权限制模型文件不能随仓库分发也不可能有网盘链接。唯一途径是走官方渠道申请下载请确保自己合法获取。Qchumpy 装不上 / 预处理直接报错两个常见原因一是 chumpy 太老装的是 Python 2 时代的版本需要从老源码编译并做兼容修改二是你忘了先装 chumpy 就跑了 preprocess.py。先确认依赖装好再执行。Q官方原版实现为什么跑不了 GPU官方实现基于 chumpy本身不支持 GPU。这个项目的初衷就是重写一套能上 GPU 的实现你现在用的 TensorFlow / PyTorch 版本正是为此而来。Q想把我的人体扫描拟合成 SMPL 参数这个项目能做吗不能。项目明确说明它不提供从扫描拟合 SMIL/SMPL 模型的功能那是另一篇 CVPR 论文Clothed, DRAPED解决的问题建议直接查阅该论文的实现。Q我想从稀疏关键点坐标反推 SMPL 参数那也超出了本项目的范围官方建议看配套的 Minimal-IK 项目。Q批量推理时显存不够用可以试 SMIL_torch_batch.py 的思路——它支持稀疏张量能省不少显存。写在最后到这里你已经能独立跑通 SMPL 三维人体模型的三套框架实现并为自己的项目选对版本。后续遇到具体问题欢迎到项目的官方 Issue 区提问或阅读各实现文件顶部的注释深入了解参数含义比如 pose 是 24×3 的关节旋转、beta 是 10 维体型系数。【免费下载链接】SMPLNumPy, TensorFlow and PyTorch implementation of human body SMPL model and infant body SMIL model.项目地址: https://gitcode.com/gh_mirrors/smp/SMPL创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表