在WSL2 Ubuntu22.04 下 FoundationPose 复现踩坑日记

1 简介

  由于最近在学习6D位姿估计算法了解到了许多相关的算法,如PVNET、Gen6D、FoundationPose等等,其中我主要学习的是FoundationPose,并对其进行了复现,但是踩坑比较多,所以记录一下。

  下面是 FoundationPose 相关信息:

 

  测试环境:

  • Windows11 + WSL2 + Ubuntu22.04
  • cuda12.6
  • miniconda
  • RTX4060
  • GCC and G++ version : 11.4.0

 

2 代码复现

2.1  下载相关资产

2.1.1  下载仓库

git clone https://github.com/NVlabs/FoundationPose.git

2.1.2 下载权重

  前往此处下载权重,放在weights/目录下。

2.1.3 下载测试数据

  前往此处下载测试数据,解压到demo_data/目录下。

2.1.4 下载训练数据(可选)

  如果要自己train的话,前往此处下载大规模训练数据

2.1.5 下载经过预处理的参考视图(可选)

  如果要跑model-free的少样本学习版本, 前往此处下载,解压到demo_data/目录下。

2.1.6 下载YCB-Video数据集(可选)

  如果需要YCB-Video数据集,这是一个200G+的数据集,BOP版做了筛选,在100G左右,前往此处下载,解压到demo_data/目录下。

其他细节看这篇:FoundationPose复现及Realsense应用-阿里云开发者社区

2.2 环境配置

2.2.1 eigen3安装(这里使用手动安装 apt安装有问题)

cd $HOME && wget -q https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz && \
tar -xzf eigen-3.4.0.tar.gz && \
cd eigen-3.4.0 && mkdir build && cd build
cmake .. -Wno-dev -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=-std=c++14 ..
sudo make install
cd $HOME && rm -rf eigen-3.4.0 eigen-3.4.0.tar.gz

2.2.2  创建conda环境

2.2.2.1 安装conda 和 cuda 在wsl上

  具体安装 Windows下安装WSL2并配置Cuda、Miniconda和 Torch - 知乎 

2.2.2.2 创建Conda环境 

conda create -n foundationpose python=3.9

2.2.2.3 安装依赖

# 激活环境
conda activate foundationpose

在执行下面命令之前先进行对应pytorch的版本匹配,具体看这个:Previous PyTorch Versions 

由于我的cuda版本是12.6 所以最大支持到cuda12.6,但是这里我安装了12.4的pytorch,因为后面的kaolin和pytorch3d目前还没有到那么高的。

并且先把requirements.txt 文件原来的 torch 、torchvision、torchaudio先注释一下

# 先执行这个命令
pip install torch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cu124
# 再执行下面这个命令
python -m pip install -r requirements.txt

  安装 NVDiffRast

# Install NVDiffRast
python -m pip install --quiet --no-cache-dir git+https://github.com/NVlabs/nvdiffrast.git

  安装 Kaolin 安装和torch一样的版本

# Install Kaolin (Optional, needed if running model-free setup)
python -m pip install --quiet --no-cache-dir kaolin==0.16.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-2.4.0_cu124.html

  安装PyTorch3D 这里也是安装和pytorch对应的具体看这个PyTorch3D 安装-CSDN博客  pytorch3d官网地址install pytorch3d version: pytorch3d

# pytorch3d
conda install https://anaconda.org/pytorch3d/pytorch3d/0.7.8/download/linux-64/pytorch3d-0.7.8-py39_cu121_pyt241.tar.bz2

  最后测试是否安装成功

import torch, torch.version
import pytorch3d
print(torch.__version__)

print(torch.cuda.is_available())

print(torch.version.cuda)

print(torch.backends.cudnn.version())

print(pytorch3d.__version__)
2.4.0+cu124
True
12.4
90100
0.7.8

  成功之后,执行最后一个命令

# Build and install extensions in repo
CMAKE_PREFIX_PATH=$CONDA_PREFIX/lib/python3.9/site-packages/pybind11/share/cmake/pybind11 bash build_all_conda.sh

如果没有任何报错就可以了。

(1)如果出现 coomon.cu出错,具体就是最新的cudaAPI 发生了变化:

Error while running CMAKE_PREFIX_PATH=$CONDA_PREFIX/lib/python3.9/site-packages/pybind11/share/cmake/pybind11 bash build_all_conda.sh · Issue #348 · NVlabs/FoundationPose 

具体可以看看github源码上,我之前出现的错误。其他的错误可以看看Issues · NVlabs/FoundationPose

(2)如果boost库有错误,是使用apt-get安装的,先卸载了然后自己编译,具体看这两篇:

如何在 Ubuntu 22.04 上安装 Boost C++  

Ubuntu两种方式安装与卸载boost_ubuntu卸载boost-CSDN博客

2.3 如果上面执行都没错就能运行

运行测试

python run_demo.py

如果路径正确会输出以下结果:

 其他的可以下载数据集测试按照官方给的命令测试即可。

posted @ 2025-06-04 17:06  小王1024  阅读(1151)  评论(0)    收藏  举报