# zju3dv/easymocap

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/zju3dv-easymocap).**

4,483 stars · 545 forks · Python · other

## Links

- GitHub: https://github.com/zju3dv/EasyMocap
- awesome-repositories: https://awesome-repositories.com/repository/zju3dv-easymocap.md

## Topics

`motion-capture`

## Description

EasyMocap is a markerless 3D human motion capture system that recovers body, hand, and face poses from single or multi-view video without physical markers or suits. It uses parametric body models like SMPL, SMPL-X, and MANO, and leverages mirror reflections to resolve depth ambiguity in single-view pose estimation, improving accuracy by computing mirror surface normals from vanishing points.

The system distinguishes itself through mirror-assisted depth disambiguation, enabling accurate 3D pose reconstruction from a single RGB image or video that includes a mirror reflection. It also supports multi-view triangulation and bundle adjustment calibration for synchronized camera setups, and can fit parametric models to 2D keypoints and silhouettes for robust 3D pose recovery. Reconstructed motion data can be exported to standard animation formats such as BVH and ASF/AMC.

Additional capabilities include CNN-based pose initialization, deformable mesh tracking, and a real-time visualization pipeline for immediate feedback during capture. The project also provides a manual annotation tool for labeling bounding boxes, keypoints, and segmentation masks to create ground-truth data.

## Tags

### Artificial Intelligence & ML

- [Markerless Motion Capture](https://awesome-repositories.com/f/artificial-intelligence-ml/3d-pose-estimation/markerless-motion-capture.md) — Recovering 3D body, hand, and face poses from single or multi-view video without physical markers or suits.
- [3D Pose Estimation](https://awesome-repositories.com/f/artificial-intelligence-ml/3d-pose-estimation.md) — Uses a convolutional neural network to produce an initial 3D pose estimate from a single RGB image.
- [Mirror-Assisted Depth Disambiguations](https://awesome-repositories.com/f/artificial-intelligence-ml/3d-pose-estimation/mirror-assisted-depth-disambiguations.md) — Estimating 3D human pose from a single RGB image or video, using mirror reflections to resolve depth ambiguity.
- [Mirror-Assisted Reconstructions](https://awesome-repositories.com/f/artificial-intelligence-ml/3d-pose-reconstruction/mirror-assisted-reconstructions.md) — Recovers accurate 3D human pose from a single image by leveraging the mirror view to resolve depth ambiguity. ([source](https://zju3dv.github.io/Mirrored-Human/))
- [Multi-View Reconstructions](https://awesome-repositories.com/f/artificial-intelligence-ml/3d-pose-reconstruction/multi-view-reconstructions.md) — Reconstructing 3D poses of one or more people from synchronized multi-camera footage using parametric body models.
- [Body-Hand-Face Reconstructions](https://awesome-repositories.com/f/artificial-intelligence-ml/3d-pose-reconstruction/multi-view-reconstructions/body-hand-face-reconstructions.md) — Fits parametric body models (SMPL/SMPL-X/MANO) to synchronized multi-camera footage to extract 3D body, hand, and face poses. ([source](https://cdn.jsdelivr.net/gh/zju3dv/easymocap@master/README.md))
- [Mirror-Reflection Depth Resolution](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/computer-vision/object-pose-estimations/monocular-depth-estimators/mirror-reflection-depth-resolution.md) — Computes mirror plane normals from vanishing points to resolve depth ambiguity in single-view images.
- [Parametric Human Model Fitting](https://awesome-repositories.com/f/artificial-intelligence-ml/parametric-human-model-fitting.md) — Fits SMPL/SMPL-X/MANO parametric body models to 2D keypoints and silhouettes for 3D pose recovery.

### Game Development

- [Multi-View Body-Hand-Face Captures](https://awesome-repositories.com/f/game-development/tooling-asset-pipeline/motion-capture/markerless-single-camera-capture/multi-view-body-hand-face-captures.md) — Recovers body, hand, and face poses from video using parametric models and deformable mesh tracking without physical markers.
- [Markerless Reconstructions](https://awesome-repositories.com/f/game-development/tooling-asset-pipeline/motion-capture/video-based-reconstructions/markerless-reconstructions.md) — Recovers body, hand, and face poses from monocular or multi-view RGB video without markers. ([source](https://github.com/zju3dv/EasyMocap/tree/master/doc/neuralbody))
- [Format Exporters](https://awesome-repositories.com/f/game-development/tooling-asset-pipeline/motion-capture/format-exporters.md) — Converts reconstructed 3D human motion data into standard animation formats like BVH and ASF/AMC.
- [Motion Data Export Tools](https://awesome-repositories.com/f/game-development/tooling-asset-pipeline/motion-capture/motion-data-export-tools.md) — Converts captured motion data into common animation formats such as BVH and ASF/AMC. ([source](https://cdn.jsdelivr.net/gh/zju3dv/easymocap@master/README.md))

### Part of an Awesome List

- [Stereo Triangulation](https://awesome-repositories.com/f/awesome-lists/ai/3d-reconstruction/stereo-triangulation.md) — Reconstructs 3D joint positions by triangulating 2D detections across synchronized camera views.
- [Silhouette and Keypoint Constrained Deformations](https://awesome-repositories.com/f/awesome-lists/ai/human-reconstruction/mesh-tracking/silhouette-and-keypoint-constrained-deformations.md) — Aligns a template mesh to image observations frame-by-frame using silhouette and keypoint constraints.
- [Multi-View](https://awesome-repositories.com/f/awesome-lists/ai/pose-estimation-frameworks/multi-view.md) — Fits SMPL/SMPL-X/MANO body models to synchronized multi-camera footage for 3D human pose reconstruction.
- [Camera Calibration](https://awesome-repositories.com/f/awesome-lists/ai/pose-estimation/camera-calibration.md) — Computes internal camera parameters and the spatial relationship between cameras for multi-view setups. ([source](https://cdn.jsdelivr.net/gh/zju3dv/easymocap@master/README.md))
- [Multi-Camera Calibration Systems](https://awesome-repositories.com/f/awesome-lists/ai/pose-estimation/camera-calibration/multi-camera-calibration-systems.md) — Aligns camera perspectives in shared 3D space through intrinsic and extrinsic parameter computation.
- [Mirror Surface Normal Estimations](https://awesome-repositories.com/f/awesome-lists/ai/vanishing-point-detection/surface-normal-estimation/mirror-surface-normal-estimations.md) — Computes the orientation of a mirror plane from vanishing points detected in a single image. ([source](https://zju3dv.github.io/Mirrored-Human/))
- [3D Skeleton and Mesh Overlays](https://awesome-repositories.com/f/awesome-lists/ai/video-annotation/real-time-video-overlayers/3d-skeleton-and-mesh-overlays.md) — Renders 3D skeleton and mesh overlays on video frames for immediate feedback during capture.

### Content Management & Publishing

- [Animation Data Formats](https://awesome-repositories.com/f/content-management-publishing/content-formats-exporting/export-formats/animation-data-formats.md) — Exports reconstructed motion data to BVH and ASF/AMC file formats for animation software compatibility.
- [Motion Capture Export Formats](https://awesome-repositories.com/f/content-management-publishing/content-formats-exporting/export-formats/animation-data-formats/motion-capture-export-formats.md) — Converting captured 3D human motion into standard animation file formats like BVH and ASF/AMC for digital content creation.
