SpinePose is an inference library for spine-aware 2D human pose estimation in the wild. It provides a simple CLI and Python API for running inference on images and videos. Our models predict the SpineTrack skeleton hierarchy comprising 37 keypoints, including 9 directly along the spine chain in addition to the standard body joints.
For installation instructions and complete API documentation, see the SpinePose GitHub repository.
SpinePose can robustly estimate spine-aware full-body 2D poses for multiple people in unconstrained images and videos.
In addition to body and feet keypoints, we track 9 points along the spine chain, which roughly coincide with the centroids of S1, L1, L3, L5, T8, T3, C7, C4, and C1 vertebral bodies1.
Spine-aware pose estimation provides additional keypoints along the spine chain, enabling better analysis of torso and spine motion. This is particularly beneficial for applications in fitness, sports, and ergonomics.
Our models are specifically designed to work in unconstrained settings, including challenging poses and occlusions. They can be used for real-time applications on consumer-grade hardware.
You can either track the whole body or only spine keypoints, with robust performance during dynamic movements.
Our monocular 3D pose estimation model can predict 3D spine-aware poses in either camera coordinates or automatically estimated metric world coordinates, without requiring any additional sensors or multi-view setups.
SpinePose is also robust to lighting changes and challenging scenarios, and works well in low-light conditions and high motion blur, making it suitable for a wide range of real-world applications.
Model Zoo
2D Pose Estimation
| Method | Training Data | SpineTrack | SIMSPINE | Usage | |||
|---|---|---|---|---|---|---|---|
| APB | ARB | APS | ARS | AUC | |||
| spinepose_v2_small | SpineTrack + SIMSPINE | 0.788 | 0.815 | 0.920 | 0.929 | 0.790 | --mode small --model-version v2 |
| spinepose_v2_medium | 0.821 | 0.846 | 0.928 | 0.937 | 0.798 | --mode medium --model-version v2 | |
| spinepose_v2_large | 0.840 | 0.862 | 0.917 | 0.927 | 0.803 | --mode large --model-version v2 | |
| spinepose_v1_small | SpineTrack | 0.792 | 0.821 | 0.896 | 0.908 | 0.611 | --mode small --model-version v1 |
| spinepose_v1_medium | 0.840 | 0.864 | 0.914 | 0.926 | 0.633 | --mode medium --model-version v1 | |
| spinepose_v1_large | 0.854 | 0.877 | 0.910 | 0.922 | 0.633 | --mode large --model-version v1 | |
| spinepose_v1_xlarge | 0.759 | 0.801 | 0.893 | 0.910 | - | --mode xlarge --model-version v1 | |
Citation
If you use SpinePose in your research, please consider citing the following papers:
- Towards Unconstrained 2D Pose Estimation of the Human Spine
- SIMSPINE: A Biomechanics-Aware Simulation Framework for 3D Spine Motion Annotation and Benchmarking
Preferred citations can be found on the respective paper pages.
Maintained by saifkhichi96 on GitHub.
The website is distributed under different open-source licenses. For more details, see the notice at the bottom of the page.