每个人遇见的情况各有不同,谨以此本文为后者做一个参考

红字部分注意看,有可能会出现问题,建议多参考几篇博客

其他写的好的博客:

https://blog.csdn.net/qq_34622997/article/details/85262344

https://www.it610.com/article/1294694792403427328.htm

https://blog.csdn.net/weixin_38437404/article/details/86661545

首先需要搭建环境:

安装cuda:

cuda版本一般要求大于等于7.5,安装cuda时注意内核版本,不能过高(下面文章有详细说明)

https://blog.csdn.net/qq_40178878/article/details/108117216

 

安装依赖项:

openjdk-8-jdk有可能自己的电脑存在不同的版本,比如openjdk-6-jdk,openjdk-7-jdk等,能装哪个就装哪个

sudo apt-get install -y cmake-qt-gui git build-essential libusb-1.0-0-dev libudev-dev openjdk-8-jdk freeglut3-dev libglew-dev libsuitesparse-dev libeigen3-dev zlib1g-dev libjpeg-dev python-vtk libvtk-java

 

安装OpenNI2:

git clone https://github.com/occipital/OpenNI2
cd OpenNI2
make -j8
sudo make install
sudo ldconfig

sudo ldconfig出现xxx不是符号链接的问题

可参考:https://blog.csdn.net/hjxu2016/article/details/69389597?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~first_rank_v2~rank_v25-1-69389597.nonecase&utm_term=%E4%B8%8D%E6%98%AF%E7%AC%A6%E5%8F%B7%E9%93%BE%E6%8E%A5

命令:sudo ln -sf /usr/local/cuda-8.0/lib64/libcudnn.so.5.0.5  /usr/local/cuda-8.0/lib64/libcudnn.so.5

注意检查自己是否安装成功:pkg-config --modversion libopenni2

(3)ElasticFusion的编译

 

查询并安装对应的gcc、g++版本,两个版本一定要一致,不然后面会报错:

gcc与g++版本推荐 4.9x 版本,4.9x测试成功

查询版本:gcc -v   或者   gcc  --version      、g++ -v  或者  g++  --version

降低升级版本可参考:https://blog.csdn.net/u014696921/article/details/73770887

(3)ElasticFusion的编译(3)ElasticFusion的编译

 

安装Pangolin
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build && cd build
cmake ..
make -j8
sudo make install
sudo ldconfig

 

安装cmake,参考别人的说是需要3.2版本的,至于是3.2以上都行还是只是3.2我也不知道,你自己看着办(滑稽)

先看看自己的版本:cmake --version

sudo apt-get install build-essential

wget http://www.cmake.org/files/v3.2/cmake-3.2.2.tar.gz

tar xf cmake-3.2.2.tar.gz

cd cmake-3.2.2

./configure

make

sudo make install

再查询是否安装成功:cmake --version   -------很好,出问题了

在执行下面的upgrade时注意别把内核升级了,在看见update-initramfs: Generating /boot/initrd.img-4.15.0-115-generic
赶快 CTRL+C ,有可能升级后会出现问题,因为之前安装cuda时是4.10版本

解决报错   sudo apt-get upgrade

(3)ElasticFusion的编译

 

最后编译ElasticFusion:这里对错误不进行说明,文章最后对错误进行汇总,出现错误到最后进行查询

下载:git clone https://github.com/mp3guy/ElasticFusion.git

Core编译:

进入Core目录:cd ElasticFusion/Core

创建并进入build:mkdir build && cd build

编译与安装:cmake ../src

                      make

                      sudo make install  

创建动态文件链接:sudo ldconfig

GPUTest编译:

cd ../../GPUTest

mkdir build && cd build

cmake ../src

make

sudo ldconfig

测试自己的GPU:

./GPUTest ../

输出:

(3)ElasticFusion的编译

将icpStepMap xxx、rgbStepMapxxx、rgbResMapxxx、so3StepMapxxx对应的四行复制到/Core/src/Utils/GPUConfig.h

(3)ElasticFusion的编译

复制完成后按照上面的语句重新编译Core和GPUTest

GUI编译:

cd ../../GUI

mkdir build && cd build

cmake ../src

make

sudo make install

sudo ldconfig

 

运行数据集:

进入~/GUI/build,会出现一个ElasticFusion,将下载好的数据集放在相同目录下面

数据下载链接:http://www.doc.ic.ac.uk/~sleutene/datasets/elasticfusion/dyson_lab.klg

直接运行 ./ElasticFusion  -l dyson_lab.klg

(3)ElasticFusion的编译

 

最后错误汇总,请自行查询,每个人的问题可能不一样,解决方式也不相同,谨以此作为参考:

(1)sudo ldconfig 出现不是符号连接问题

可参考:https://blog.csdn.net/hjxu2016/article/details/69389597?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~first_rank_v2~rank_v25-1-69389597.nonecase&utm_term=%E4%B8%8D%E6%98%AF%E7%AC%A6%E5%8F%B7%E9%93%BE%E6%8E%A5

(2)编译ElasticFusion出现 Makefile:127: recipe for target 'all' failed

可能是gcc与g++版本不一样的问题,安装一样的版本就好(参考上面的安装)

(3)编译GPUTest出现 No rule to make target install

这个问题可忽略,这个只是测试你的GPU的,没有实质的东西

(4)最后运行数据集出现问题:Error: invalid texture reference: /home/nvidia/ElasticFusion/Core/src/Cuda/convenience.cuh:68

这个问题应该跟cuda有关,

解决方式1:在 cmake 编译的时候在 Core/build 目录下,而不是在 Core/src/build 下编译好再把 build 复制过去,

利用 cmake ../src 即可,GPUTest和GUI同理

解决方式2:参考https://blog.csdn.net/qq_27057925/article/details/105418594

解决方式3:动态连接文件的问题,每一步编译都需运行:

sudo make install

sudo ldconfig

(5)运行ElasticFusion时出现警告:Your GPU ‘’ ‘’ isn't in the ICP Step performance database, please add it

因为GPUConfig.h没有包含你的GPU配置,需要测试你的GPU并添加进去,见上面的GPUTest部分

 

 

相关文章:

  • 2021-07-30
  • 2021-11-28
  • 2021-06-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-17
猜你喜欢
  • 2022-01-18
  • 2022-12-23
  • 2021-08-25
  • 2022-01-24
  • 2022-02-08
  • 2021-10-11
  • 2022-12-23
相关资源
相似解决方案