SLAM及深度学习环境配置总教程
环境配置总教程
一. 装机后下载
修改软件源,选择下载自阿里云镜像;然后更新软件系统
sudo apt-get update sudo apt-get upgrade
- 依次下载常用的软件:git、cmake、截图软件、解压软件、vim编译器;
sudo apt-get install git cmake shutter unrar vim
- 下载:系统指示器SysPeek、经典菜单指示器、Markdown编辑器;
sudo add-apt-repository ppa:nilarimogard/webupd8 sudo add-apt-repository ppa:diesch/testing sudo add-apt-repository 'deb http://typora.io linux/' sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE sudo apt-get update sudo apt-get install syspeek sudo apt-get install classicmenu-indicator sudo apt-get install typora
- 下载搜狗拼音输入法:
sudo gedit /etc/apt/sources.list.d/ubuntukylin.list
在文件内写入 :
deb http://archive.ubuntukylin.com:10006/ubuntukylin trusty main
然后:
sudo apt-get update sudo apt-get install sogoupinyin
最后在系统设置界面更新语言包;
下载sublime_text_3:参考https://blog.csdn.net/alxe_made/article/details/80756040
设置管理员权限:
sudo passwd(首次进入设置密码) su root(以后要求进入管理员权限都这样输入命令)
配置驱动(drivers)、显卡工具箱(cuda)及深度学习加速库(cudnn)
下载地址:
drivers:https://www.geforce.cn/drivers;
cuda:https://developer.nvidia.com/cuda-toolkit-archive;
cudnn:https://developer.nvidia.com/rdp/form/cudnn-download-survey;教程:
(以10.2为例)
drivers:https://blog.csdn.net/lemonxiaoxiao/article/details/105688497;
cuda/cudnn:https://blog.csdn.net/lemonxiaoxiao/article/details/105693389;备注1:已预先下载好1060及1080Ti系列驱动,cuda8.0、cuda9.0、cuda10.2及对应的cudnn;
备注2:显卡驱动在“软件和更新”中“附加驱动选项卡”中默认安装并使用nvidia384.130,手动更新驱动后被标记为手动安装。
备注3:当重启后有比例显示不正确现象时,显卡驱动被自动调整到了xserver,此时重装驱动即可。
备注4:keras、tensorflow-gpu、cuda、cudnn有版本匹配要求:推荐设置cuda9.0+cudnn7.6.0+TensorFlow-gpu1.5.0+keras2.1.4
配置opencv3与opencv2
安装依赖项:
sudo apt-get install build-essential pkg-config unzip libjpeg-dev sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev sudo apt-get install libxvidcore-dev libx264-dev sudo apt-get install libatlas-base-dev gfortran libgtk-3-dev sudo apt-get install python2.7-dev python3.5-dev python-imaging-tk sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev sudo apt-get install libhdf5-serial-dev graphviz sudo apt-get install libopenblas-dev libatlas-base-dev gfortran sudo apt-get install linux-image-generic linux-image-extra-virtual sudo apt-get install linux-source linux-headers-generic sudo apt-get install libcurl4-gnutls-dev sudo apt-get install zlib1g-dev sudo apt-get install libgtk2.0-devlibavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev sudo apt-get install libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev sudo apt-get install -y python-dev python-tk python-numpy python3-dev python3-tk python3-numpy sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev sudo apt-get install libjasper-dev libopenexr-dev libdc1394-22-dev
上述依赖项有可能有重复和不必要的,不过没有关系。如果发现缺少依赖项,百度对应版本的安装说明,并重新安装一下。
opencv3.4.4为例,如果源码下载需要手动修改源文件,详见教程;但是文件夹下已经提供了修整好的版本:
教程:https://blog.csdn.net/weixin_43327725/article/details/105852173
辅助参考:https://zhuanlan.zhihu.com/p/38738976
修正后下载后在build文件夹下(如果有东西请删清重来,下同):
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.4/modules/ .. (注意这里的opencv_contrib位置需要手动修改) make -j5 (根据电脑的几核,量力而为) sudo make install
带有opencv的CMakeList.txt的简单写法详见附录。
opencv2.4.11为例,如果源码下载需要手动修改源文件,详见教程;但是文件夹下已经提供了修整好的版本:
教程:https://blog.csdn.net/ljl1015ljl/article/details/100749835
修正后下载后在build文件夹下:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv2.4.11 -D WITH_CUDA=ON -D BUILD_PYTHON_SUPPORT=ON -D WITH_FFMPEG=OFF -D BUILD_EXAMPLES=ON -D BUILD_TIFF=ON .. make -j5 sudo make install
默认安装配置为opencv3,当使用opencv2时,在CMakeList.txt中加入:
set(OpenCV_DIR /home/demo/opencv-2.4.11/build)
其中,/home/demo/opencv-2.4.11是本人安装opencv2的位置,修改对应位置即可。
opencv使用参考:http://www.opencv.org.cn/forum/
虚拟容器环境配置:该部分主要用于配置深度学习
- 更新依赖和配置
wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py sudo python3 get-pip.py sudo pip install virtualenv virtualenvwrapper sudo rm -rf ~/.cache/pip get-pip.py
配置文件:
sudo gedit ~/.bashrc
在文件结尾出写入:
export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenvwrapper.sh
更新配置:
source ~/.bashrc
+ 创建虚拟环境```shell mkvirtualenv dl4cv -p python3
当以后启用虚拟环境时,调用命令:
workon dl4cv
在虚拟容器中,可以随意更换不同版本的python、tensorflow、keras等
虚拟环境切换python版本问题:https://blog.csdn.net/be_clever/article/details/100917687
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.6 sudo apt-get install python3.6-dev python3.6 -V mkvirtualenv py36 -p python3.6 # (之后就可以用workon py36登录)
删除虚拟环境:没有使用virtualenvwrapper前,可以直接删除venv文件夹来删除环境
其他虚拟环境参考:https://zhuanlan.zhihu.com/p/60647332
更换pip国内源:
参考:https://blog.csdn.net/yuzaipiaofei/article/details/80891108,推荐清华源。
下载相关python库:
pip install numpy pip install scipy matplotlib pillow pip install imutils h5py requests progressbar2 pip install scikit-learn scikit-image pip install tensorflow==1.3.0(当安装maskrcnn时不要安装太高,其他随意) pip install tensorflow-gpu ip install keras==2.0.8(注意和tf版本保持一致)
链接opencv到虚拟环境中:
cd ~/.virtualenvs/dl4cv/lib/python3.5/site-packages/ ln -s /usr/local/lib/python3.5/site-packages/cv2.cpython-35m-x86_64-linux-gnu.so cv2.so cd ~
安装QQ,微信,迅雷等windows应用:
- 利用wine: https://blog.csdn.net/weixin_39583302/article/details/105617534
- 配置微信出现问题: https://blog.csdn.net/fuetong/article/details/105019052
github快速下载方案:
利用码云:https://gitee.com/,链接自己的github账号,将目标fork进自己的仓库,然后迁移至码云上下载。
二、ORB-SLAM2系统安装配置
详见之前写的博客:https://blog.csdn.net/ns2942826077/article/details/89716538
2. 附上ORB-SLAM2注释:https://gitee.com/atery/ORB-SLAM2
- 代码运行调试环境:CLion, 已申请教育版账户, 用户名, 邮箱, 密码;
- Clion汉化方案: https://blog.csdn.net/pingfangx/article/details/78826155
- 代码运行调试环境:CLion, 已申请教育版账户, 用户名, 邮箱, 密码;
三、ROS安装配置
下载安装:https://www.ncnynl.com/archives/201801/2273.html
上述安装时,使用 sudo rosdep init 后出现:
ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list Website may be down.
解决:https://blog.csdn.net/nanianwochengshui/article/details/105702188
安装编译环境: https://github.com/TonyRobotics/RoboWare/tree/master/Studio
四、Dynaslam安装配置
环境配置版本:参考博客https://blog.csdn.net/Mac0327/article/details/105861895 和 https://blog.csdn.net/l243225530/article/details/105900272
[libprotobuf FATAL google/protobuf/stubs/common.cc:61] This program requires version 3.7.0 of the Protocol Buffer runtime library, but the installed version is 2.6.1. Please update your library. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library. (Version verification failed in "bazel-out/k8-opt/genfiles/tensorflow/core/framework/tensor_shape.pb.cc".)
注意,一定要用opencv2,并在cmake时候确认一下,否则编译时候没有问题,但是在运行时候会报上述protobuf版本不一致的问题(我并不清楚是不是这个原因,也有可能是opencv2编译时候开启了cuda模块的原因,但是这样做的确解决了上述问题),记住,如果报错千万不要更改protobuf版本。python最好接入python2版本的。
初始化失败时在TUMX.yaml文件下的特征点提取数目修正为3000
docker镜像安装:https://github.com/yubaoliu/DynaSLAM,这位大佬在B站放了个视频,也可以参考下他的博客:https://blogger.yubaoliu.cn/2020/05/how-to-use-dynaslam-using-docker.html。
五、DS-SLAM安装配置
总体流程参考:
- https://blog.csdn.net/yinghuaxuan/article/details/89969197
- https://blog.csdn.net/weixin_42795611/article/details/93878061
问题索引:
- error while loading shared libraries: libcudart.so.8.0: cannot open shared object file: can not open:https://blog.csdn.net/qq_38451119/article/details/81126692
- 编译caffe 遇到 与c++11或gnu++11相关的问题:https://blog.csdn.net/u012505617/article/details/88532982
- makefile编译中 : Unsupported gpu architecture ‘compute_20’:https://blog.csdn.net/m0_37659647/article/details/103940041
- caffe/blob.hpp:9:34: fatal error: caffe/proto/caffe.pb.h: 没有那个文件或目录:https://www.cnblogs.com/hellowooorld/p/10675787.html
- *** No rule to make target ‘…/…/…/…/lib/libORB_SLAM2_PointMap_SegNetM.so’, needed by ‘…/TUM’。 停止:https://blog.csdn.net/qq_35590091/article/details/103762581
- warning: #warning “math_functions.h is an internal header file and must not be used directly. This file will be removed in a future CUDA release. Please use cuda_runtime_api.h or cuda_runtime.h instead.” [-Wcpp]:https://github.com/BVLC/caffe/pull/6681
编译该部分之前需要调整ROS中的rviz配置.
实测:440.82驱动+CUDA9.0+cudnn7.0.5版本能够使用,当CUDA或者cudnn版本过高容易出现错误.
六、Mask R-CNN安装配置
- 教程:https://blog.csdn.net/qq_15192373/article/details/81697753,此时tensorflow cpu版本可以为1.12.3
- 安装coco的PythonAPI后将生成的pycocotools文件夹放置于coco文件夹下
- 安装前在 ~/.bashrc文件尾部注释掉关于ROS的内容
- 使用python3来编译安装,推荐使用虚拟容器(启动workon dl4cv),但是在dynaslam中使用python2运行安装
- 已对visualize.py文件和demo.py进行了修改以适应SLAM要求,原版本文件在visualize.old.py和demo.ipynb中
七、DAT-SLAM配置(毕业设计)
该部分利用git上传至码云(仓库私有),已开启SSH链接
git学习:https://www.shiyanlou.com/courses/,推荐国内用户选择码云。
每当修改文件后,使用
git add . //提交暂存区 git commit -m "修改内容注释:修改人/版本" //提交版本区 git push //上传同步
八、DynSLAM安装配置(仅限于Demo)
在README.md文件中选择作者修改过的InfiniTAM系统下载:https://github.com/AndreiBarsan/InfiniTAM,位置在src文件下。
由于作者推荐的git命令 “git clone –recursive https://github.com/AndreiBarsan/DynSLAM” 采用 –recursive指令递归下载对应的配置库文件,在国内不是很方便,因此需要手动安装。这里推荐码云中搜索别人的镜像库文件快速下载。
检查依赖环境:
sudo apt-get install libxmu-dev libxi-dev freeglut3 freeglut3-dev libglew-dev glew-utils libpthread-stubs0-dev binutils-dev libgflags-dev libpng++-dev libeigen3-dev
编译依赖库文件:
cd src/Pangolin && mkdir build/ && cd $_ && cmake ../ && make -j$(nproc)
编译本身文件:
mkdir build && cd build && cmake .. && make -j$(nproc)
解决错误:Actually build ElasticFusion error: ‘glDrawFrustrum’ is not a member of ‘pangolin’
将报错文件夹下的glDrawFrustrum修改为glDrawFrustum
下载demo序列(400+M,Google driver):可以在淘宝转存百度网盘下载
运行demo
cd .. && ./build/DynSLAMGUI --use_dispnet --dataset_root=./data/kitti/mini-seq-06/ --dataset_type=kitti-odometry
九、Stereo DSO安装配置
安装依赖:
sudo apt-get install libsuitesparse-dev libeigen3-dev libboost-all-dev sudo apt-get install libopencv-dev 安装Pangolin(详见ORB-SLAM2安装) sudo apt-get install zlib1g-dev cd ./thirdparty tar -zxvf libzip-1.1.1.tar.gz cd libzip-1.1.1/ ./configure make sudo make install sudo cp lib/zipconf.h /usr/local/include/zipconf.h # (no idea why that is needed). git submodule update --init
编译系统
在dso目录下:mkdir buildcd buildcmake ..make -j
添加calib文件:以KITTI数据级为例
新建para文件夹及00.txt,在00.txt中添加:
Pinhole 7.188560000000e+02 7.188560000000e+02 6.071928000000e+02 1.852157000000e+02 0 1241 376 crop 1240 376 0.53717
运行测试
无光度标定(最小模式):
./bin/dso_dataset \files=/home/amax/Demo/chj/TOOLKIT/KITTI/00 \calib=/home/amax/Demo/chj/TOOLKIT/KITTI/00/para/00.txt \preset=0 \mode=1
标准流程:
bin/dso_dataset \files=XXXXX/sequence_XX \calib=XXXXX/sequence_XX/para/camera.txt \gamma=XXXXX/sequence_XX/para/pcalib.txt \vignette=XXXXX/sequence_XX/para/vignette.png \preset=0 \mode=1+ files:数据集图片压缩包calib:相机内参数文件gamma和vignette:相机的一些特性参数,光度标定文件。preset:设定DSO运行时的参数,如选取的像素点个数等等。preset=3是preset=0的5倍速运行DSO。mode:DSO模式切换,如0为包含光度标定文件,1为只包含内参数,2为没有畸变参数
List item
SLAM及深度学习环境配置总教程相关推荐
- 史上最全深度学习环境配置教程---适用于各种深度学习框架---Pytorh TensorFlow Keras-等和各种python环境
鉴于我之前学深度学习,图像处理的时候走了很多弯路踩了很多坑的情况(其实主要是最近不想学习,想水一期博客),决定出一期深度学习环境配置的教程,因为我之前配置opencv的环境,TensorFlow的环境 ...
- 保姆级教程:深度学习环境配置指南!(Windows、Mac、Ubuntu全讲解)
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 入门深度学习,很多人经历了从入门到放弃的心酸历程,且千军万马倒在了 ...
- Docker教程-深度学习环境配置
最近在知乎上刷到一篇文章,标题很有意思叫<Docker,救你于「深度学习环境配置」的苦海>,感兴趣的可以去搜一下.那篇文章主要针对的是一个目前深度学习研究者的痛点:深度学习环境的配置.我在 ...
- 深度学习环境配置超详细教程【Anaconda+PyTorch(GPU版)+CUDA+cuDNN】
深度学习环境配置 入门深度学习,首先要做的事情就是要搭建深度学习的环境.不管你是Windows用户,Mac用户还是Ubuntu用户,只要电脑配置允许,都可以做深度学习,毕竟Windows.Mac和Ub ...
- 深度学习环境配置指南!(Windows、Mac、Ubuntu全讲解)
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:伍天舟.马曾欧.陈信达 入门深度学习,很多人经历了从入门到放弃的心 ...
- 【深度学习】相当全面的深度学习环境配置指南!(Windows、Mac、Ubuntu全讲解)...
作者:伍天舟.马曾欧.陈信达 入门深度学习,很多人经历了从入门到放弃的心酸历程,且千军万马倒在了入门第一道关卡:环境配置问题.俗话说,环境配不对,学习两行泪. 如果你正在面临配置环境的痛苦,不管你是W ...
- 深度学习环境配置10——Ubuntu下的torch==1.7.1环境配置
深度学习环境配置10--Ubuntu下的torch==1.7.1环境配置 注意事项 一.2022/9/18更新 学习前言 各个版本pytorch的配置教程 环境内容 环境配置 一.Anaconda安装 ...
- 深度学习环境配置避坑-CUDA11.0+DGL1.8
深度学习环境配置避坑-CUDA11.0+DGL1.8 参考教程 坑1:CUDA版本与GPU型号不符 参考教程 之前已经写过详细的CUDA+Pytorch+DGL安装博文了,Linux系统可参考这里,W ...
- 基于Ubuntu 18.04机器人操作系统环境和深度学习环境配置
基于Ubuntu 18.04机器人操作系统环境和深度学习环境配置详解 CUDA+Cudnn+ROS+anaconda+ubuntu装机必备 笔记本双系统安装 U盘启动项安装ubuntu18.04.1 ...
最新文章
- 玩转“网上邻居”之网络配置(二)
- 关于CSW和Bitcoin SV,我们不妨看一下局外人的观点
- Python 生成 JWT(json web token) 及 解析方式
- Django 的缓存机制
- web前端技术分享:使用react实现简易路由
- vm虚拟机安装_虚拟机 --- 安装VM(一)
- 产品设计体会(6016)我是哪种用户(下)
- 文献补充材料怎么下载?
- 减小app大小的方法——iOS开发用ImageOptim压缩png图片
- [洛谷P3939]数颜色
- JavaEE_Swagger
- 在ubuntu下连接e-SATA硬盘
- 能测试护肤品成分的软件,查化妆品成分的app
- nor flash驱动
- 捷联惯导系统学习2.6(圆锥误差补偿多子样算法)
- 【001】python调用VBA方式_#py
- win10北通手柄没反应_最新北通阿修罗手柄驱动win10下载地址电脑版-CC软件
- java课程任务_修真院java后端工程师学习课程--任务1(day three)
- java程序设计汇报ppt_Java程序设计第五章.ppt
- Java毕设项目电商平台客流统计系统(java+VUE+Mybatis+Maven+Mysql)
热门文章
- 为系统添加预装软件--雨滴应用商店APP
- 无锡计算机科学与工程学院,瞩目!公办本科,无锡学院首次招生,这些优势很突出!...
- Docker 很难么?带你从头到尾捋一遍,不信你学不会(文末送书)
- 跟益达学Solr5之使用Tomcat部署Solr
- 目标检测中的知识蒸馏方法
- 通俗易懂,什么是.NET/.NET Framework/.NET Core/.Net Standard?
- Linux无界面新建Oracle数据库实例
- android蓝牙开发搜素,Android蓝牙开发(一)之打开蓝牙和设备搜索
- 华为 PIM-SM RP选举与切换
- 前腾讯员工离职三个月开发出 app store排名第一应用疯狂猎鸟的总结