ubuntu16.04中运行orb-slam2_with_semantic_labelling-master
GTX 1080t 8GB
Ubuntu16.04
vtk7.1.1
pcl1.8
opencv3.4.1
cmake3.18
cuda8.0
cudnn6.0.21
**
orb-slam2_with_semantic_labelling-master是在orb_slam2基础上进行的,所以先安装好orb_slam2的运行环境
参考博客:https://blog.csdn.net/qq_36318986/article/details/100733741
源码: https://github.com/qixuxiang/orb-slam2_with_semantic_labelling
我的电脑安装了ros,有自带的pcl1.7,但这个会运行报错,(因为这是我在运行成功之后突然想记录一下,所以一些过程没有截图)
系统是可以共存1.7和1.8的,我就直接安装pcl1.8 。
pcl1.8链接
https://github.com/PointCloudLibrary/pcl/releases
1.安装一些依赖项
sudo apt-get update
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common
sudo apt-get install libflann1.8 libflann-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk5.10-qt4 libvtk5.10 libvtk5-dev//安装vtk7.1.1 这句不用执行
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre
sudo apt-get install libopenni-dev
sudo apt-get install libopenni2-dev
在usr/local下新建文件
sudo mkdir pcl1.8.1
解压下载的pcl1.8压缩包,新建build文件夹进行编译
https://github.com/PointCloudLibrary/pcl/releases
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/pcl1.8.1 -D CUDA_GENERATION=Kepler -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=OFF -D WITH_OPENGL=ON -D BUILD_TIFF=ON ..
make -j8
sudo make install
在orb-slam2_with_semantic_labelling-master目录下的CMakelist.txt中设置pcl1.8路径
set(PCL_INCLUDE_DIRS /usr/local/pcl1.8.1/include/pcl-1.8)
之后可以进行测试是否安装成功,网上很多,这里就不细说了,测试结果如下
2.pcl与vtk之间有对应的版本 我安装的是pcl1.8.1+vtk7.1.1
vtk的官网
vtk下载完解压、安装、编译:在build目录下,
cmake ..
sudo make
sudo make install
**
cmake1.18链接:
https://github.com/Kitware/CMake/releases/
下载cmake1.18解压,文件下有四个文件
bin doc man share
把这4个文件夹放在usr/local/cmake下
sudo mkdir cmake
先复制要移动的文件夹,打开终端,输入:sudo nautilus;然后选定位置,进行粘贴就行
sudo nautilus
之后更新配置文件
sudo gedit ~/.bashrc
//末尾添加
export PATH="/usr/local/cmake/bin:$PATH"
//保存退出
source ~/.bashrc
//查看版本
cmake --version
显示
cmake version 3.18.0
CMake suite maintained and supported by Kitware (kitware.com/cmake).
安装成功
首先分别编译thirdparty下的darknet、g2o、DBoW2
mkdir build && cd build
cmake ..
make -j8
**问题:**在编译darknet时报错,删除build文件,在建立新Build文件在编译报错,再次删除build,新建build,编译,成功
不知道问题在哪,总之问题解决,成功编译
再次编译整个项目
在orb-slam2_with_semantic_labelling-master下新建build文件,
cmake ..
make -j8
最后运行在orb-slam2_with_semantic_labelling-master下运行build.sh
./build.sh
在darknet中找到yolov3.weights和yolov3.cfg替换bin文件下的yolov3.weights和yolov3.cfg,并在bin文件下创建img文件
mkdir img
在bin文件下运行
cd orb-slam2_with_semantic_labelling-master/bin
./rgbd_tum ../Vocabulary/ORBvoc.txt ../Examples/RGB-D/TUM2.yaml ../data/rgbd_dataset_freiburg2_rpy/ ../data/rgbd_dataset_freiburg2_rpy/associations.txt
1.出现如下问题,我的是因为显存太小,换了个8GB的显存可以成功运行
2.运行之后,还有个问题
[pcl::VoxelGrid::applyFilter] Leaf size is too small for the input dataset. Integer indices would overflow.
好像是因为点云数量过大,待解决…