SKIM
收藏资源简介:
SKIM是一个主题特定的软组织变形数据集,用于从多视角RGB数据中恢复肌肉变形,支持SOMA方法进行解剖学基础动画生成。
SKIM is a topic-specific soft tissue deformation dataset dedicated to recovering muscle deformations from multi-view RGB data, and it supports the SOMA method for anatomy-based animation generation.
SOMA 数据集概述
SOMA (From Surface Observations to Muscle Anatomy) 是一个从可见皮肤表面观测推断肌肉变形的个体化模型,发表于 ECCV 2026。它旨在解决传统体感模拟(如 FEM)计算成本高且不具扩展性,以及现有生物力学工具无法建模外部形状变化的问题。SOMA 通过 RGB 相机获取的表面信号,推断出时空肌肉行为,并提供名为 SKIM 的个体化软组织变形数据集。
核心方法
SOMA 基于姿势依赖的校正形状,并将其从单一皮肤表面扩展到体积化、多层解剖结构。其核心是两个级联的非线性 U-Net:
- 肌肉位移场 (D_musc):驱动肌肉层膨胀;
- 残差偏移 (D_res):让皮肤在组织上滑动和压缩,而非刚性跟随肌肉。
网络使用 SKIM 数据集中的标记残差进行监督,并采用一组生物力学启发先验(如拉普拉斯平滑、双调和弯曲阻力、边拉伸和切向滑动约束、棱镜体积保持项)进行正则化。学习得到的边界变形通过预计算的重心绑定传播到高分辨率个体肌肉网格,实现直接由姿势驱动的解剖学时空肌肉动画。
SKIM 数据集 (Skin-to-Internal Muscle)
SKIM 数据集是 SOMA 的核心,用于解决从 RGB 视频推断肌肉变形的病态问题。其关键特征如下:
- 数据采集:5名受试者穿着嵌入 ArUco 标记的定制紧身衣,在 120 台相机的无标记动捕工作室中录制;同时使用 140 台相机扫描仪重建皮肤、肌肉和骨骼的高分辨率静态模板,以及个体肌肉网格。
- 数据处理:检测到的标记被展开为标准点云,绑定到肌肉,跟踪运动,并转换为姿势归一化的残差变形场,以捕捉受试者特定的软组织动力学。
- 数据规模:总计提供 45 分钟 的多视角录制,包含地面真实骨骼姿势、标记轨迹、可见性掩码以及每位受试者的完整多层解剖结构。
数据集内容(每位受试者):
canonical.npz:标准标记、绑定标记、标记-LBS 权重、关节名称shot_XXX.npz:每镜头的残差(residual_m/residual_scaled)、可见性掩码、姿势及每镜头刚性对齐preprocessed_vFinal_clean/<shot>.npz:打包好的、可直接训练使用的帧(姿势(F, J*6)、残差(F, M, 3)、掩码(F, M))layers/{tpose,apose}/:标准皮肤/肌肉/骨骼网格
该数据集是自包含的,无需额外预处理即可直接用于训练。
代码仓库结构
仓库包含完整管线的源代码,按顺序分为多个阶段:
| 阶段 | 目录 | 功能 |
|---|---|---|
| 1 | 01-Suit-Processing/ |
标记的2D检测、三角化和3D跟踪;服装制造工具包 |
| 2 | 02-Canonical-Model/ |
构建标准(休息姿势)标记模型;UV 标记检测与标注 |
| 3 | 03-Registration/ |
计算标记相对于标准模型的线性混合蒙皮 (LBS) 权重 |
| 4 | 04-Blender/ |
Blender 工具:标记、残差、拉普拉斯/密集变形、重建 |
| 5 | 05-Training/ |
在 SKIM 数据上训练变形网络,进行验证、评估和可视化 |
| 6 | 06-Evaluation/ |
生物力学评估(肌肉/皮肤交叉、体积稳定性),SMPL 对齐 |
此外,Residuals-Python/ 目录包含独立的残差处理管线,用于生成 SKIM 数据集。
快速开始与安装
- 环境要求:Python 3.9+,PyTorch(需匹配 CUDA 工具包),Blender(用于
04-Blender/阶段)。 - 安装步骤:克隆仓库 → 创建虚拟环境 → 安装
requirements.txt依赖 → 安装 PyTorch。 - 数据准备:从指定链接下载 SKIM 数据集(受试者 S1-S5),然后在训练脚本中通过
PROCESSED_ROOT指向数据集路径即可。
训练与评估
- 训练:在
05-Training/目录下运行01_end_to_end_training.py,可通过ARCH变量选择架构(linear、mlp、unet),并通过LAMBDAS字典调整损失权重。 - 损失项:包括数据项、拉普拉斯平滑、双调和能量、弹簧能量、切向能量和体积保持。
- 评估与可视化:使用
02_validate_training.py、03_evaluate_metrics.py和06-Evaluation/中的脚本评估肌肉/皮肤交叉比例、体积变异系数和 SMPL 对齐。
引用
bibtex @inproceedings{alvaradosoma2026, author = {Alvarado, Eduardo and Kim, Emily and Nolte, Gerrit and Runte, Friedemann and Botsch, Mario and Habermann, Marc and Theobalt, Christian}, title = {SOMA: From Surface Observations to Muscle Anatomy}, booktitle = {European Conference on Computer Vision (ECCV)}, year = {2026}, }
许可证
本项目采用 MIT 许可证。




