Ubuntu16.04配置DynaSLAM

DynaSLAM是2018年发表在IROS的一篇文章,目前代码已开源。该文章很好的去除了环境中动态物体,并将环境结构进行恢复,本文主要记录自己在配置运行该文章源码时所遇到的一些问题,希望能帮助到大家。

自己电脑使用配置为ubuntu16.04+numpy1.15.2+python2.7,下面进行详细的配置介绍。

1. 配置ORB-SLAM2

ORB-SLAM2的配置较为简单,可直接ORB-SLAM2主页介绍进行配置即可。

2. 配置Mask_RCNN

Mask_RCNN主页要求使用Python3.4+TensorFlow1.3+Keras2.0.8,但是DynaSLAM使用Python2.7(本人使用Python3.5配置后运行出现PyImport_ImportModule()函数返回为NULL,始终未能解决),因此改用Python2.7配置Mask_RCNN。

Python2.7安装

安装TensorFlow和Keras(首先安装是为了避免后续的卸载重装):

sudo pip2 install tensorflow==1.3.0
sudo pip2 install keras==2.0.8
sudo pip2 install numpy==1.15.2

安装requirements.txt中包:

git clone https://github.com/matterport/Mask_RCNN.git
cd Mask_RCNN-master
sudo pip2 install -r requirements.txt

执行setup.py文件:

sudo python2 setup.py install

安装pycocotools:

git clone https://github.com/waleedka/coco.git
cd coco-master/PythonAPI
sudo make install

Python3安装(安装后运行DynaSLAM出错)

安装TensorFlow和Keras(首先安装是为了避免后续的卸载重装):

sudo pip3 install tensorflow==1.3.0
sudo pip3 install keras==2.0.8
sudo pip3 install scipy==1.2.1

安装requirements.txt中包:

git clone https://github.com/matterport/Mask_RCNN.git
cd Mask_RCNN-master
sudo pip3 install -r requirements.txt

执行setup.py文件:

sudo python3 setup.py install

安装pycocotools:

git clone https://github.com/waleedka/coco.git
cd coco-master/PythonAPI
sudo make install

3. 运行DynaSLAM

下载预先训练好的COCO模型权重mask_rcnn_coco.h5 ,将其放到DynaSLAM/src/python目录下,编译DynaSLAM:

chmod +x build.sh
./build.sh

编译完成后按照DynaSLAM主页上指令跑相应的数据集即可.

4. 配置过程中遇到的问题

1、使用Python3配置依赖包后,运行DynaSLAM出错,PyImport_ImportModule()函数返回为NULL。使用Python2.7可以正常运行。
2、编译时遇到fatal error,则更改CMakeLists.txt:

将CMakeLists.txt中
${Pangolin_INCLUDE_DIRS}
/usr/include/python2.7/
/usr/lib/python2.7/dist-packages/numpy/core/include/numpy/
改为
${Pangolin_INCLUDE_DIRS}
/usr/include/python2.7/
/usr/local/lib/python2.7/dist-packages/numpy/core/include/numpy/

3、DynaSLAM源码中,有一些python文件中将tab与空格混用以及函数定义中出现了一些缩进不匹配,导致编译错误,需自己更改。已将修改后文件上传至CSDN中,有需要者可在此处下载
4、运行MaskRCNN时,很有可能报错提示:

ImportError: No module named _tkinter, please install the python-tk package

无论是配置python3还是配置python2都有可能遇到这个问题,安装相应的包即可

sudo apt-get install python-tk  #(python2)
sudo apt-get install python3-tk  #(python3)

你可能感兴趣的:(SLAM)