ubuntu 16.04 + GTX 1660Ti + cuda 10.2
每个人可能遇见的问题有所不同,谨以此为参考xxx
易错部分标红,注意查看
参考其他的博客:
https://blog.csdn.net/lzRush/article/details/89089233
https://blog.csdn.net/ying971101/article/details/80633926
等。。。
(1)cuda安装:https://blog.csdn.net/qq_40178878/article/details/108117216
(2)依赖安装:openjdk-7-jdk 和 penjdk-7-jdk 有所不同,可能是openjdk-6-jdk 或者openjdk-8-jdk
sudo apt-get install g++ cmake cmake-gui python-vtk doxygen mpi-default-dev openmpi-bin openmpi-common libflann-dev libeigen3-dev libsuitesparse-dev libboost-all-dev libvtk5-qt4-dev libvtk6.2 libvtk5-dev libqhull* libusb-dev libgtest-dev git-core freeglut3-dev pkg-config build-essential libxmu-dev libxi-dev libusb-1.0-0-dev graphviz mono-complete qt-sdk openjdk-7-jdk openjdk-7-jre
(3)安装openNI2
参考:https://blog.csdn.net/renhaofan/article/details/80991095
(4)安装 opencv 2.4版本,3或者4版本不行,cmake时请使用下面的 -Dxxx,直接cmake .. 可能会出现问题
其他问题请参考博文最后的错误汇总
cd opencv-2.4.13
mkdir build && cd build
cmake -D BUILD_NEW_PYTHON_SUPPORT=OFF -D WITH_OPENCL=OFF -D WITH_OPENMP=ON -D INSTALL_C_EXAMPLES=OFF -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D WITH_QT=OFF -D WITH_OPENGL=OFF -D WITH_VTK=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_TESTS=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF ..
make -j8
sudo make install
sudo ldconfig
安装完成查看版本:pkg-config opencv --modversion
(5)安装DLib 1.0版本,其他版本可能会存在问题
下载:https://github.com/dorian3d/DLib/releases
cmake时可能会出现找不到 opencv 的问题,参考博文最后
mkdir build
cd build
cmake ..
make
sudo make install
(6)安装DBoW2-1 版本,https://github.com/dorian3d/DBoW2/tags
如果正常版本不行,则安装 nonfree 版本,和DLib的安装方法一样
(7)安装DLoopDetector-1.0(必须为1.0版本),https://github.com/dorian3d/DLoopDetector/tags
与上面一致,下载以后建立build,然后cmake,make等
(8)安装iSAM 1.7 版本,http://people.csail.mit.edu/kaess/isam/
安装过程与上面一致
(9)安装Pangolin最新版本
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build && cd build
cmake ..
make -j8
sudo make install
sudo ldconfig
(10)
安装PCL 1.8.0
下载好以后https://github.com/PointCloudLibrary/pcl/tags?after=pcl-1.8.1rc2
cd pcl-pcl-1.8.0
mkdir build && cd build
注意当cmake时有些东西 not found,则需要安装,浏览器搜索该问题即可,博文错误汇总最后列出了几种常见的可能
另外,出现一些warning:xxx is deprecated 是可以的
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_GPU=OFF -DBUILD_apps=OFF -DBUILD_examples=OFF ..
make -j8
sudo make install
sudo ldconfig
(11)编译 Kintinuous
下载源码:https://github.com/mp3guy/Kintinuous
git clone https://github.com/mp3guy/Kintinuous
cd Kintinuous
mkdir build
cd build
注意更改自己的cuda版本
cmake -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 -D CUDA_ARCH_BIN=6.1 -D CUDA_ARCH_PTX=6.1 ../src
make -j8
sudo ldconfig
最后运行:
数据集下载之后在http://www.cs.nuim.ie/research/vision/data/loop.klg下载loop.klg,保存至/Kintinuous/build文件夹下,输入命令:
./Kintinuous -s 7-v ../vocab.yml.gz -l loop.klg -ri -fl -od
但是现在数据集下载有问题,反正我是下不下来,那么采用ElasticFusion的数据集:dyson_lab.klg
运行:
注意删除 -od,不删除会中途退出
./Kintinuous -s 7 -v ../vocab.yml.gz -l dyson_lab.klg -ri -fl
(12) Kintinuous在kinect上运行:参见下一篇
https://blog.csdn.net/qq_40178878/article/details/109012014
最后错误汇总,仅以我遇见的错误进行汇总,其他错误请自行查阅,cmake时请注意自己的错误xxx not found,xxx not exist等
(1)安装opencv 2.4.13出现的错误,
如果第一次编译没通过,先删除build再新建进行重新编译
1:No package 'gstreamer-base-1.0' found
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
2:videodev.h - not found
下载libv4l-dev的deb文件:https://packages.ubuntu.com/xenial/amd64/libv4l-dev/download
点击安装,然后执行:sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
3:recipe for target '3rdparty/libtiff/CMakeFiles/libtiff.dir/depend' failed、
Cannot open file for write: 3rdparty/libtiff/CMakeFiles/libtiff.dir
使用下面的方法cmake即可:cmake -D BUILD_NEW_PYTHON_SUPPORT=OFF -D WITH_OPENCL=OFF -D WITH_OPENMP=ON -D INSTALL_C_EXAMPLES=OFF -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D WITH_QT=OFF -D WITH_OPENGL=OFF -D WITH_VTK=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_TESTS=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF ..
(2)安装DLib 1.0出现的错误
1:set OpenCV_FOUND to false,即找不到opencv,DBoW2,DLoopDetector等出现一样的错误修改方式一样
那么在的CMakeLists.txt的 find_pakage(OpenCV REQIRED) 前面添加几句:
(注意更改路径)
set(OpenCV_FOUND 1)
include_directories( ${OpenCV_INCLUDE_DIRS})
set(OpenCV_DIR /home/knitzj/opencv-2.4.13/build)
(3)安装PCL-1.8的错误,
注意在cmake时会出现许多not found 或者 not exist的问题,是因为缺少一些模块,都需要安装解决
1:No package ‘metslib’ found
参考:https://blog.csdn.net/yunluoxiaobin/article/details/103078386
2:The imported target "vtkWrapPython" references the file "/usr/bin/vtkWrapPython" but this file does not exist
安装python-vtk:sudo apt-get install python-vtk
3:Could NOT find PCAP
参考:https://blog.csdn.net/weixin_45617478/article/details/102876357
4:在cmake完成后,make时出现 xxxfailed的问题,一般是安装的版本不对,如:in/pcl_hdl_viewer_simple' failed
在上面的环境下,安装pcl-1.8.0就没问题,其他的有些版本测试时有问题。
(4)编译Kintinuous出现的问题,也可能找不到opencv,按上面的方法添加一下路径即可
1:Unsupported gpu architecture 'compute_20'
在大约40几行的52后面添加 61
然后使用,注意更改cuda版本对应的文件夹位置:cmake -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 -D CUDA_ARCH_BIN=6.1 -D CUDA_ARCH_PTX=6.1 ../src