Tracking See merge request Percipiote/RapidPoseTriangulation!10
RapidPoseTriangulation
Fast triangulation of multiple persons from multiple camera views.
A general overview can be found in the paper RapidPoseTriangulation: Multi-view Multi-person Whole-body Human Pose Triangulation in a Millisecond.
Build
-
Clone this project with submodules:
git clone --recurse-submodules https://gitlab.com/Percipiote/RapidPoseTriangulation.git cd RapidPoseTriangulation/ -
Enable GPU-access for docker building:
-
Run
sudo nano /etc/docker/daemon.jsonand add:{ "runtimes": { "nvidia": { "args": [], "path": "nvidia-container-runtime" } }, "default-runtime": "nvidia" } -
Restart docker:
sudo systemctl restart docker
-
-
Build docker container:
docker build --progress=plain -t rapidposetriangulation . ./run_container.sh -
Build triangulator:
cd /RapidPoseTriangulation/swig/ && make all && cd ../tests/ && python3 test_interface.py && cd .. cd /RapidPoseTriangulation/scripts/ && \ g++ -std=c++2a -fPIC -O3 -march=native -Wall -Werror -flto=auto \ -I /RapidPoseTriangulation/rpt/ \ -isystem /usr/include/opencv4/ \ -isystem /onnxruntime/include/ \ -isystem /onnxruntime/include/onnxruntime/core/session/ \ -isystem /onnxruntime/include/onnxruntime/core/providers/tensorrt/ \ -L /onnxruntime/build/Linux/Release/ \ test_skelda_dataset.cpp \ /RapidPoseTriangulation/rpt/*.cpp \ -o test_skelda_dataset.bin \ -Wl,--start-group \ -lonnxruntime_providers_tensorrt \ -lonnxruntime_providers_shared \ -lonnxruntime_providers_cuda \ -lonnxruntime \ -Wl,--end-group \ $(pkg-config --libs opencv4) \ -Wl,-rpath,/onnxruntime/build/Linux/Release/ \ && cd .. -
Download ONNX models from model registry and save them to
mmdeploy/extras/exports/. Upon the first usage, they will be converted to TensorRT models, which will take a few minutes.
(Note that this conversion is not deterministic and will each time result in slightly different models and therefore also slightly different benchmark results.) -
Test with samples:
python3 /RapidPoseTriangulation/scripts/test_triangulate.py -
Test with skelda dataset:
export CUDA_VISIBLE_DEVICES=0 python3 /RapidPoseTriangulation/scripts/test_skelda_dataset.py
Extras
-
Exporting tools for 2D models are at mmdeploy directory.
-
For usage in combination with ROS2 see ros directory.
-
Running on a Nvidia Jetson is also possible following jetson directory.
Citation
Please cite RapidPoseTriangulation if you found it helpful for your research or business.
@article{
rapidtriang,
title={{RapidPoseTriangulation: Multi-view Multi-person Whole-body Human Pose Triangulation in a Millisecond}},
author={Bermuth, Daniel and Poeppel, Alexander and Reif, Wolfgang},
journal={arXiv preprint arXiv:2503.21692},
year={2025}
}


