该项目基于nvidia-issac-pose-estimation改写,去除了原项目中的复杂依赖,能够使用FoundationPose的Python工程FoundationPose导出的onnx模型来做推理,部署应用十分方便。
Notes: 该项目只包含了FoundationPose部分的代码,实际上6D位姿检测的运行,还依赖于目标物的掩码,需要运行类似SAM的算法,EasyDeploy项目下提供了MobileSAM和NanoSAM的算法实现和推理优化,可供参考。
- [2025.04] 解耦
Register和Track过程; 令算法输出mesh下的位姿,提供mesh_loader相关的接口和方法供外部拓展。对应PR - [2025.03] 渲染过程与原Python工程对齐,支持无texture纹理输入渲染. 对应PR.
- [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) |
- 下载
foundationpose_cpprepo
git clone git@github.com:zz990099/foundationpose_cpp.git
cd foundationpose_cpp
git submodule init
git submodule update- 使用
docker来构建运行环境
cd ${foundationpose_cpp}
bash easy_deploy_tool/docker/easy_deploy_startup.sh
# choose `jetson` -> `trt10_u2204`/`trt8_u2204` (`trt8_u2004` will not work)
bash easy_deploy_tool/docker/into_docker.sh-
从google drive中下载onnx模型文件,放到
/workspace/models/文件夹下。 -
运行模型转换脚本
cd /workspace
bash tools/cvt_onnx2trt.bash- 编译整个工程
cd /workspace
mkdir build && cd build
cmake -DENABLE_TENSORRT=ON ..
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

