该项目基于nvidia-issac-pose-estimation改写,去除了原项目中的复杂依赖,能够使用FoundationPose的Python工程FoundationPose导出的onnx模型来做推理,部署应用十分方便。
Notes: 该项目只包含了FoundationPose部分的代码,实际上6D位姿检测的运行,还依赖于目标物的掩码,需要运行类似SAM的算法,EasyDeploy项目下提供了MobileSAM和NanoSAM的算法实现和推理优化,可供参考。
- [2025.03] 添加对Jetson Orin平台支持,一键配置docker环境
- 去除了原工程的复杂环境构建过程,以及各种依赖项问题,能够轻松适配到其他项目工程中。
- 对
FoundationPose算法本身做了封装,支持动态尺寸图像输入,简单灵活。 - 提供了基于
BundleSDF生成目标物三维模型的脚本教程。 - 🔥 支持Orin开发板(Orin-NX-16GB)
运行公开数据mustard模型检测结果:
![]() |
|---|
| foundationpose(fp16) Register test result |
![]() |
|---|
| foundationpose(fp16) Track test result |
以下是在nvidia-4060-8G, i5-12600kf硬件上执行结果
| nvidia-4060-8G | fps | cpu | gpu |
|---|---|---|---|
| foundationpose(fp16)-Register | 2.8 | 100% | 6.5GB |
| foundationpose(fp16)-Track | 220 | 100% | 5.8GB |
以下是在jetson-orin-nx-16GB硬件上执行结果
| jetson-orin-nx-16GB | fps | cpu | mem_total |
|---|---|---|---|
| foundationpose(fp16)-Register | 0.6 | 15% | 5.6GB(5.5GB on gpu) |
| foundationpose(fp16)-Track | 100 | 60% | 5.1GB(5.0GB on gpu) |
- 使用
docker来构建运行环境
cd ${foundationpose_cpp}/docker
bash build_docker.sh --container_type=trt8 # trt10, jetson_trt8, jetson_trt10
bash into_docker.sh-
从google drive中下载onnx模型文件,放到
/workspace/models/文件夹下。 -
运行模型转换脚本
cd /workspace
bash tools/cvt_onnx2trt.bash- 编译整个工程
cd /workspace
mkdir build && cd build
cmake ..
make -j-
下载数据集,放到
/workspace/test_data/下,并解压,下载地址 -
直接运行测试用例即可
cd /workspace/build
./bin/simple_tests --gtest_filter=foundationpose_test.test-
根据您的自定义数据,修改
/workspace/simple_tests/src/test_foundationpose.cpp下的路径,重新编译。 -
运行测试用例
cd /workspace/build
./bin/simple_tests --gtest_filter=foundationpose_test.test在/workspace/test_data/下,可以看到Register和Track两个过程的结果。
有任何问题,欢迎联系771647586@qq.com

