SKEL

SKEL

生物力学驱动的精准3D人体模型

SKEL是一种创新的参数化人体模型,融合身体形状和骨骼结构,生成解剖学精确的3D人体。通过调整形状和姿势参数,SKEL能够控制身体外形和骨骼位置,输出关节位置、身体网格和骨骼网格。作为可微分模型,SKEL可适配多种数据源,如运动捕捉和SMPL序列。该项目开源了SKEL加载器和SMPL序列对齐工具,为数字人体建模领域提供了新的研究方向。

SKEL3D人体模型骨骼模型姿态参数体型参数Github开源项目

SKEL

<img src="https://yellow-cdn.veclightyear.com/ab5030c0/5a78af73-d7ac-4247-8377-0e8055395bbe.png" alt="图片描述" style="width: 200px;" />

本仓库是 Siggraph Asia 2023 论文"从皮肤到骨骼:迈向生物力学准确的3D数字人类"的代码发布的一部分。

[论文] [项目页面]

此仓库包含 PyTorch SKEL 加载器和将其对齐到 SMPL 序列的代码。

SKEL 是一个参数化的身体形状和骨骼模型。其形状参数让你可以改变身体形状,而姿势参数则让你以解剖学上合理的方式调整骨骼姿势。给定形状和姿势参数,SKEL 会返回关节位置、身体网格和骨骼网格。SKEL 是可微分的,可以拟合各种数据,如动作捕捉或 SMPL 序列。

更多详情,请查看我们的 Siggraph 2023 论文:从皮肤到骨骼:迈向生物力学准确的3D数字人类

目录

快速开始

对于最小化使用,你需要按照设置环境下载 SKEL中的安装说明进行操作。

要测试 SKEL 模型,你可以运行:

python quickstart.py

这将运行 SKEL 的前向传播,并将输出保存为分离的身体和骨骼网格。

然后你可以尝试更改 SKEL 参数,了解以下内容。SKEL 由两个参数控制:

  • betas 控制身体的形状(高、矮、瘦等)。它是一个大小为 10 的向量。值应该保持在 -2 到 2 之间。向量的第一个值大致控制身高,第二个值控制体重。

  • pose 控制身体姿势。它是一个大小为 46 的向量,大多数值是以弧度表示的角度,可以在 -3.14 到 3.14 之间变化。你可以在这里看到 46 个参数中的哪一个控制哪个身体关节。

SKEL(beta, pose) 产生:

  • 一个骨骼 3D 网格
  • 一个身体网格
  • 解剖学关节位置

本 README 的其余部分将让你设置我们的 SKEL 可视化工具并运行一些演示代码。我们希望你喜欢我们的工作!

安装

设置环境

克隆此仓库

git clone https://github.com/MarilynKeller/SKEL cd SKEL

创建虚拟环境并安装 SKEL 包

pip install -U pip python3.8 -m venv skel_venv source skel_venv/bin/activate pip install git+https://github.com/mattloper/chumpy pip install -e .

下载 SKEL

https://skel.is.tue.mpg.de/ 创建一个账户(下载必需)。

然后从下载页面使用"下载模型"按钮下载 SKEL 模型。 解压下载的文件夹,并编辑 SKEL/skel/config.py 文件,指定包含下载的 SKEL 模型文件夹的路径:skel_folder = '/path/to/skel_models_v1.0

下面,我们将解释如何为 SKEL 设置可视化工具(仅支持 Linux 和 Mac),并运行一些示例代码。

Aitviewer

如果你想运行演示,还需要我们的 aitviewer 分支用于可视化:

cd .. git clone https://github.com/MarilynKeller/aitviewer-skel.git cd aitviewer-skel pip install -e .

然后编辑 aitviewer/aitviewer/aitvconfig.yaml 文件,指向 SKEL 文件夹:

skel_models: "/path/to/skel_models_v1.0"

SMPL 和 MPI 网格包

!请注意,MPI 网格包仅支持 Linux 系统。如果你不是在 Linux 上,你需要注释掉依赖 psbody.mesh 包的代码,并编写自己的可视化代码。

如果你想运行 SMPL 对齐,你需要下载 SMPL 模型。 首先,在 https://smpl.is.tue.mpg.de/ 创建一个账户。 然后从下载页面下载这个文件:SMPL_python_v.1.1.0.zip。运行:

cd ../SKEL python scripts/setup_smpl.py /path/to/SMPL_python_v.1.1.0.zip

为了可视化拟合过程,你需要 MPI 网格包,可以用以下命令安装:

pip install git+https://github.com/MPI-IS/mesh.git

请注意,mesh包仅在Linux上支持,但它只在可视化拟合过程中必需。

演示

姿势参数

可视化SKEL姿势参数的效果:

python examples/skel_poses.py --gender male

<img src="https://yellow-cdn.veclightyear.com/ab5030c0/39aed9cc-eb21-4294-9410-3bce336ec20e.png" alt="图片描述" style="width: 50%;" />

形状空间

可视化形状空间:

python examples/skel_betas.py --gender female

绑定

可视化皮肤和骨骼到SKEL运动学树的蒙皮权重:

python examples/skel_rigging.py --gender female
<img src="https://yellow-cdn.veclightyear.com/ab5030c0/1490e126-e4d1-4f7d-b78f-84c559f64189.png" alt="SKEL蒙皮权重可视化" style="width: 400px;" />

可视化SKEL的运动学树和关节位置:

python examples/skel_kintree.py --gender female
<img src="https://yellow-cdn.veclightyear.com/ab5030c0/105d1b18-1da8-43c0-81bf-ae0131f8a271.png" alt="SKEL运动学树可视化" style="width: 400px;" />

你可以在这里看到关节ID的可视化,以及在这里查看它们的名称和自由度列表。

SKEL序列

可视化SKEL序列。你可以在skel_models_v1.0/sample_motion/中找到一个SKEL运动样本和相应的SMPL运动。

python examples/skel_sequence.py /path/to/skel_models_v1.x/sample_motion/01_01_poses_skel.pkl -z

要同时可视化SMPL序列:

python examples/skel_sequence.py /path/to/skel_models_v1.0/sample_motion/01_01_poses_skel.pkl -z --smpl_seq /path/to/skel_models_v1.0/sample_motion/01_01_poses.npz

将SKEL对齐到SMPL网格

SKEL可以对齐到SMPL网格:

python examples/align_to_SMPL_frame.py --smpl_data 'examples/samples/img_fit/emily-sea-coiWR0gT8Cw-unsplash_0.npz'

将SKEL对齐到SMPL序列

SKEL可以对齐到SMPL序列,以下是一个例子:

python examples/align_to_SMPL_seq.py examples/samples/amass_seq/CMU_01_01.npz -D

你可以使用以下命令可视化结果:

python examples/skel_sequence.py output/CMU_01_01/CMU_01_01_skel.pkl -z

你可以从AMASS下载页面下载更多此类SMPL序列,选择SMPL+H G序列。

致谢

这项研究部分在斯坦福大学的The Movement Lab和马克斯普朗克智能系统研究所的Perceiving Systems完成。

我们感谢Neelay Shah生成所有必要的SMPL拟合,A. A. Osman在参数化人体模型方面的专业知识,Shashank Tripathi在MOYO方面的帮助,Giorgio Becherini在AMASS和动作捕捉拟合评估方面的专业知识,Peter Kultis、Yao Feng和Yuliang Xu对论文的反馈。 我们还感谢斯坦福大学的TML实验室和NMBL实验室的富有成效的讨论,特别是Jennifer Maier在肩部方面的专业知识。

引用

如果您使用此软件,请引用以下工作和软件:

@inproceedings{keller2023skel, title = {From Skin to Skeleton: Towards Biomechanically Accurate 3D Digital Humans}, author = {Keller, Marilyn and Werling, Keenon and Shin, Soyong and Delp, Scott and Pujades, Sergi and Liu, C. Karen and Black, Michael J.}, booktitle = {ACM ToG, Proc.~SIGGRAPH Asia}, volume = {42}, number = {6}, month = dec, year = {2023}, }

许可证

此代码和模型仅供非商业科研用途使用,详见LICENSE.txt文件中的定义。

联系方式

如有任何关于SKEL加载的问题,请联系skel@tuebingen.mpg.de

商业许可请联系ps-licensing@tue.mpg.de

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多