A comprehensive system for multi-camera video acquisition, pose estimation, 3D reconstruction, and SMPL body model fitting. Designed for clinical movement analysis and biomechanics research using multi-view synchronous recording.
This library provides an end-to-end processing pipeline from multi-camera video acquisition through to 3D skeletal reconstruction and body model fitting:
- Acquisition: Multi-camera video recording with hardware synchronization (FLIR cameras with IEEE1588 support)
- 2D Pose Estimation: Per-view pose detection using PosePipeline (state-of-the-art models)
- 3D Reconstruction: Multi-view triangulation and temporal tracking of skeletal keypoints
- Data Management: Structured database pipeline via DataJoint for organizing recordings, calibrations, and results
multi_camera.acquisition- Recording softwaremulti_camera.acquisition.diagnostics- Debugging tools for the recording systemmulti_camera.analysis- Core 3D reconstruction and analysis algorithmsmulti_camera.datajoint- Database schema and computational pipelinesmulti_camera.utils- Miscellaneous utilities
This tool is under active development and used by multiple research labs. The infrastructure is technical to set up and primarily supports internal use and collaborators. We have limited bandwidth to support special or custom use cases beyond the current core functionality.
Breaking changes may be introduced during development. Issues and pull requests are welcome (CONTRIBUTING).
This software is designed and tested on Linux. While it has been used on Windows previously, we only guarantee functionality on Linux, and we will not provide support for cross-platform issues.
To set up the acquisition system, follow the comprehensive setup docs:
- Hardware Setup - Required camera equipment
- System Setup - Network and OS configuration
- Docker Setup - Build the acquisition system
- Acquisition Software Setup - Configure the recording application
- Calibration Procedure - Camera calibration
- Annotation Setup - Annotation system configuration
To install the multi_camera package:
pip install -e .NOTE: This pip install does not install the acquisition system, just the code required for the analysis pipeline
See the Processing Pipeline documentation for detailed instructions on the complete workflow from acquisition through final 3D reconstruction, including:
- Automated pipeline script:
session_pipeline.py - Information about each pipeline stage
See the SMPL Model Setup documentation for details on:
- Obtaining SMPL model files
- Directory structure and file placement
- Configuration and custom paths
- Optional extended models (SMPLx, SMPLh)
- PosePipeline - 2D pose detection
- EasyMocap - SMPL model fitting
- DataJoint - Database management and pipeline orchestration
- Aniposelib - Camera calibration and triangulation