FFB6D搭建环境

FFB6D搭建环境

本文为cvpr21-FFB6D: A Full Flow Bidirectional Fusion Network for 6D Pose Estimation的环境搭建教程,使用的服务器版本为Ubuntu16.04,Python版本为3.6,使用linemod数据集为例

源码地址

本文顺序安装源码网站需要的环境依次安装,需要搭建的环境为apex,normal speed,RandLA

搭建前的准备(根据需要选择性浏览)

  1. 使用anaconda创建虚拟环境
    conda create -n ffb6d python=3.6
    conda activate ffb6d
    
  2. 安装requirements.txt中的所需环境
    pip install -r requirements.txt
    
    requirements.txt中需要进行一些修改,yaml改为pyyaml,pytorch和torchvision版本根据显卡和cuda版本合理选择,源码需要使用cuda10.1或10.2。在最后加上以下库
    tqdm, tensorboardX,pandas,scikit-learn,termcolor,删除pprint(Python中自带)
  3. 使用源码安装cuda
    此处可参考教程,如何在服务器上安装多个版本的cuda

安装apex

直接pip安装即可

pip install apex

安装normal speed

打开normal speed的github网站,发现需要三个依赖库:opecv3,numpy,pybind11,numpy在requirements.txt中以安装,opencv3需要使用源码安装(使用pip安装在后续搭建环境会报错)

安装opencv3

安装opencv3需要一些依赖项,如果都安装的话按照下面步骤应该不会出错,如果出错应该是依赖项的问题,这个请自行百度并让服务器管理员安装(安装依赖项需要sudo权限)

本文以opencv3.4.15为例进行安装,首先进入官网下载opencv3.4.15的源码(source)

在这里插入图片描述
之后下载opencv_contrib,这是opencv的扩展项,如果不安装的话在后续编译过程会报错

opencv_contrib需要和opencv版本对应,因此需要下载3.4版本的

我直接将两个压缩包放到了服务器个人文件的根目录下(即/home/MyName/opencv-3.4.15.zip,MyName为用户名)

解压opencv

unzip opencv-3.4.15.zip

将opecv_contrib解压至opencv下

unzip opencv_contrib-3.4.zip -d opencv-3.4.15

之后执行

cd opencv-3.4.15
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/MyName/opencv34 -D WITH_TBB=ON -D WITH_V4L=ON -D BUILD_TIFF=ON -D BUILD_EXAMPLES=ON -D WITH_OPENGL=ON -D WITH_EIGEN=ON -D WITH_CUDA=ON -D WITH_CUBLAS=ON -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules/ ..

这里的CMAKE_INSTALL_PREFIX参数是opencv的安装路径,我放在/home/MyName/Opencv34中,OPENCV_EXTRA_MODULES_PATH为opencv_contrib的路径

漫长等待ing

在这里插入图片描述

之后安装

make -j16
make install

j16表示使用16线程安装,根据服务器性能决定

在这里插入图片描述
出现上图就表示安装以完成

添加环境变量

gedit ~/.bashrc

添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/MyName/opencv34/lib/pkgconfig
export PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/MyName/opencv34/lib64/

之后使环境变量生效

source ~/.bashrc

验证

pkg-config --modversion opencv
# 显示版本号表示成功

安装pybind11

直接pip安装

pip install pybind11

安装normal speed

下载源码到根目录

git clone https://github.com/hfutcgncas/normalSpeed.git

进入/home/MyName/normalSpeed/normalSpeed/中打开CMakeList.txt并添加
在这里插入图片描述

红框部分是opencv和pybind11的安装目录

切换工作目录并安装

cd /home/MyName/normalSpeed/normalSpeed/
python setup.py install

在这里插入图片描述

显示上图表示安装完成

安装RandLA

cd ffb6d/models/RandLA/
sh compile_op.sh

这里直接参考源码github即可

运行代码前的准备

将linemod数据集解压至ffb6d/datasets/linmode

修改ffb6d/train_lm.py中的代码,对于高版本pyymal,直接运行可以会出现TypeError: load() missing 1 required positional argument: 'Loader'这个错误

# 第139行
self.lm_r_lst = yaml.load(lm_r_file)
# 修改为
self.lm_r_lst = yaml.load(lm_r_file, Loader=yaml.FullLoader)

按照相同方法修改ffb6d/datasets/linmod_dataset.py中的第46行

运行代码

按照github中的说明运行即可,注意gpu数量别设置错了,理论上没啥问题了
在这里插入图片描述

有疑问多多交流,有错误请帮忙指出,共同进步

评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值