Skip to main content
SAM 3D Body 是一个开源模型,可以从单个视频中恢复全身 3D 人体网格。它结合了视频追踪、人物检测和网格预测来重建人体,包括姿态、形状和面部表情,然后将恢复的绑定渲染回视频中。 该工作流可用于动作捕捉原型设计、生物力学分析和角色动画预可视化。

SAM 3D Body:从视频中提取 3D 人体网格

加载一个人的视频。提取包含姿态、形状和面部表情的全身 3D 人体网格,并将其渲染为叠加视频。 SAM 3D Body 工作流预览
请确保你的 ComfyUI 已经更新。本指南里的工作流可以在工作流模板中找到。如果找不到,可能是 ComfyUI 没有更新。如果加载工作流时有节点缺失,可能原因有:
  1. 你用的不是最新版(每夜版)。
  2. 启动时有些节点导入失败。

在 Comfy Cloud 上运行

在 Comfy Cloud 上立即运行此工作流

下载工作流

下载 JSON,或在模板库中搜索“SAM 3D Body: 3D Human Mesh Extraction From Video”
输入素材 将以下文件上传到 LoadVideo 节点:

woman_holding_water_glass.mp4

LoadVideo 节点 85 · woman_holding_water_glass.mp4

工作原理

  1. 视频跟踪:SAM3 会在视频帧之间跟踪人物。当片段中出现多个人物时,跟踪实际上是必需的,并且总体上能提高检测精度。
  2. 人物检测:RT-DETR 根据文本提示(person)检测人物边界框。
  3. 网格预测:SAM 3D Body 根据跟踪帧预测全身 3D 网格,并可选使用 MoGe 相机视场,以便与来源视频更精确地对齐。
  4. 面部表情:基于 MediaPipe 的步骤会添加面部表情,而基础模型无法检测到这些表情。
  5. 平滑处理:网格序列会随时间进行平滑处理。
  6. 渲染:构建姿态文件(GLB),将网格渲染回视频中,然后保存为输出视频。

运行步骤

  1. 加载视频:使用 LoadVideo 节点加载包含人物的视频
  2. 将工作流加入队列:按 Ctrl(macOS 上为 Cmd)+ Enter 键
  3. 等待流水线处理:跟踪、检测、网格预测和渲染依次运行
  4. 查看结果:在 Preview3D 节点中检查网格。叠加视频保存到 ComfyUI/output/video/SAM3D_body/

模型下载

下载 SAM 3D Body 模型和所需文件,放到对应的 models/ 子目录中。

SAM3 multiplex checkpoint

sam3.1_multiplex_fp16.safetensors: 用于视频追踪的 SAM3 multiplex 检查点

SAM 3D Body 检测模型

sam_3d_body_dinov3_bf16.safetensors: SAM 3D Body 检测模型(DINOv3 主干)

MoGe 几何估计

moge_2_vitl_normal_fp16.safetensors: 可选,用于对齐的相机 FOV 估计

RT-DETR 人体检测器

rt_detr_v4-x-hgnet_fp32.safetensors: RT-DETR 人体检测模型

模型存储位置