OpenViSTAI · Agents · Blockchain · Crypto
Menu
Image & Video AI

Sam3Dbody Cpp

Sam3Dbody Cpp is a standalone C++ inference engine that estimates per-person 3D body poses and camera translation from images. It can also produce mesh vertices, 70 body-and-hand keypoints, CSV keypoint data, BVH motion-capture files and MPEG ARF avatar containers. Its runtime uses ONNX Runtime and ggml, with Python frontends available through ctypes.

Independent OpenViST project profile, based on linked sources.

Sam3Dbody Cpp — OpenViST project profile in Image & Video AI.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when a development workflow needs image-based 3D body reconstruction or when video-derived pose data must be exported as BVH or MPEG ARF. Choose CUDA for video workflows approaching real time; CPU-compatible models are available for single-image or low-frequency use.

Who it is for

  • Developers building image-based 3D pose-estimation tools in C++.
  • Motion-capture and animation workflows that need per-person BVH output from video.
  • Researchers or developers who need body-and-hand keypoints, mesh data or avatar animation exports.

Documented uses

  • Estimate 3D body pose and camera translation for people in an image.
  • Export body and hand keypoints, including CSV output.
  • Generate multi-person BVH motion-capture files from video.
  • Package skeleton, skinning, mesh and animation data in MPEG ARF output.
Before you choose

Requirements & limits

The repository is public and identified as MIT-licensed.

  • The standard BF16 backbone and decoder require a CUDA GPU; CPU use requires separate FP32 and FP16 model files.
  • The documented CPU performance makes video processing impractical, while single-image or low-frequency processing is described as feasible.
  • Windows is documented as headless-only: CLI and offline BVH extraction are supported, but the live OpenGL overlay viewer is not built.
  • The project offers distinct output choices: BVH for motion-capture skeleton data and MPEG ARF for data that also carries mesh and skinning information.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Build the engine and prepare its models

Set up the C++ binaries and model files using the documented setup script.

Before you start

  • A cloned Sam3Dbody Cpp repository
  • A CUDA-capable GPU for the standard BF16 models, or CPU-compatible models selected with the CPU setup options

Steps

  1. Clone the repository and change into its directory.

  2. Run the command below to download models, build the C++ binaries and create a Python virtual environment.

    Documented command
    bash scripts/setup.sh
  3. For a machine without a CUDA GPU, run the command below to obtain CPU-runnable backbone and decoder models.

    Documented command
    bash scripts/setup.sh --cpu-only --cpu-backbone

Expected outcome

The setup script prepares the documented binaries and model files; the CPU option selects the separate FP32 backbone and FP16 decoder.

Guide limitations

  • The standard BF16 backbone and decoder do not load with the ONNX Runtime CPU execution provider.
  • The documentation says CPU video processing is impractical because inference is slow; CUDA is required for use approaching real time.
Source-based practical guide

Export multi-person video as BVH

Use the documented video wrapper and BVH option to produce motion-capture files per detected person.

Before you start

  • A built project with the required models available
  • A video clip to process

Steps

  1. From the repository root, run ./scripts/video.sh --from clip.mp4 --bvh ./p.bvh --headless.

  2. Use the generated per-person BVH files in Blender, BVHTester or another DCC application.

Expected outcome

The documented example produces files such as `p_0.bvh` and `p_1.bvh`, with identities tracked across frames.

Guide limitations

  • The example assumes the build and model setup are already complete.
  • The live OpenGL overlay viewer is not built on Windows; the documentation identifies offline BVH output as an option there.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
13 October 2026
Original website title
AmmarkoV/SAM3DBody-cpp · Official homepage title · retained in its source language