环境配置总教程

一. 装机后下载

  1. 修改软件源,选择下载自阿里云镜像;然后更新软件系统

    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(以后要求进入管理员权限都这样输入命令)
      
  2. 配置驱动(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

  3. 配置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/

  4. 虚拟容器环境配置:该部分主要用于配置深度学习

    • 更新依赖和配置
    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 ~
      
  5. 安装QQ,微信,迅雷等windows应用:

    • 利用wine: https://blog.csdn.net/weixin_39583302/article/details/105617534
    • 配置微信出现问题: https://blog.csdn.net/fuetong/article/details/105019052
  6. github快速下载方案:

    利用码云:https://gitee.com/,链接自己的github账号,将目标fork进自己的仓库,然后迁移至码云上下载。

二、ORB-SLAM2系统安装配置

  1. 详见之前写的博客:https://blog.csdn.net/ns2942826077/article/details/89716538

     2. 附上ORB-SLAM2注释:https://gitee.com/atery/ORB-SLAM2
    
    1. 代码运行调试环境:CLion, 已申请教育版账户, 用户名, 邮箱, 密码;

      1. Clion汉化方案: https://blog.csdn.net/pingfangx/article/details/78826155

三、ROS安装配置

  1. 下载安装:https://www.ncnynl.com/archives/201801/2273.html

  2. 上述安装时,使用 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

  3. 安装编译环境: 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

  1. docker镜像安装:https://github.com/yubaoliu/DynaSLAM,这位大佬在B站放了个视频,也可以参考下他的博客:https://blogger.yubaoliu.cn/2020/05/how-to-use-dynaslam-using-docker.html。

五、DS-SLAM安装配置

  1. 总体流程参考:

    • https://blog.csdn.net/yinghuaxuan/article/details/89969197
    • https://blog.csdn.net/weixin_42795611/article/details/93878061
  2. 问题索引:

    • 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
  3. 编译该部分之前需要调整ROS中的rviz配置.

  4. 实测:440.82驱动+CUDA9.0+cudnn7.0.5版本能够使用,当CUDA或者cudnn版本过高容易出现错误.

六、Mask R-CNN安装配置

  1. 教程:https://blog.csdn.net/qq_15192373/article/details/81697753,此时tensorflow cpu版本可以为1.12.3
  2. 安装coco的PythonAPI后将生成的pycocotools文件夹放置于coco文件夹下
  3. 安装前在 ~/.bashrc文件尾部注释掉关于ROS的内容
  4. 使用python3来编译安装,推荐使用虚拟容器(启动workon dl4cv),但是在dynaslam中使用python2运行安装
  5. 已对visualize.py文件和demo.py进行了修改以适应SLAM要求,原版本文件在visualize.old.py和demo.ipynb中

七、DAT-SLAM配置(毕业设计)

  1. 该部分利用git上传至码云(仓库私有),已开启SSH链接

  2. git学习:https://www.shiyanlou.com/courses/,推荐国内用户选择码云。

  3. 每当修改文件后,使用

    git add . //提交暂存区
    git commit -m "修改内容注释:修改人/版本" //提交版本区
    git push //上传同步
    

八、DynSLAM安装配置(仅限于Demo)

  1. 在README.md文件中选择作者修改过的InfiniTAM系统下载:https://github.com/AndreiBarsan/InfiniTAM,位置在src文件下。

  2. 由于作者推荐的git命令 “git clone –recursive https://github.com/AndreiBarsan/DynSLAM” 采用 –recursive指令递归下载对应的配置库文件,在国内不是很方便,因此需要手动安装。这里推荐码云中搜索别人的镜像库文件快速下载。

  3. 检查依赖环境:

    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
    
  4. 编译依赖库文件:

    cd src/Pangolin && mkdir build/ && cd $_ && cmake ../ && make -j$(nproc)
    
  5. 编译本身文件:

    mkdir build && cd build && cmake .. && make -j$(nproc)
    
  6. 解决错误:Actually build ElasticFusion error: ‘glDrawFrustrum’ is not a member of ‘pangolin’

    将报错文件夹下的glDrawFrustrum修改为glDrawFrustum

  7. 下载demo序列(400+M,Google driver):可以在淘宝转存百度网盘下载

  8. 运行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及深度学习环境配置总教程相关推荐

  1. 史上最全深度学习环境配置教程---适用于各种深度学习框架---Pytorh TensorFlow Keras-等和各种python环境

    鉴于我之前学深度学习,图像处理的时候走了很多弯路踩了很多坑的情况(其实主要是最近不想学习,想水一期博客),决定出一期深度学习环境配置的教程,因为我之前配置opencv的环境,TensorFlow的环境 ...

  2. 保姆级教程:深度学习环境配置指南!(Windows、Mac、Ubuntu全讲解)

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 入门深度学习,很多人经历了从入门到放弃的心酸历程,且千军万马倒在了 ...

  3. Docker教程-深度学习环境配置

    最近在知乎上刷到一篇文章,标题很有意思叫<Docker,救你于「深度学习环境配置」的苦海>,感兴趣的可以去搜一下.那篇文章主要针对的是一个目前深度学习研究者的痛点:深度学习环境的配置.我在 ...

  4. 深度学习环境配置超详细教程【Anaconda+PyTorch(GPU版)+CUDA+cuDNN】

    深度学习环境配置 入门深度学习,首先要做的事情就是要搭建深度学习的环境.不管你是Windows用户,Mac用户还是Ubuntu用户,只要电脑配置允许,都可以做深度学习,毕竟Windows.Mac和Ub ...

  5. 深度学习环境配置指南!(Windows、Mac、Ubuntu全讲解)

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:伍天舟.马曾欧.陈信达 入门深度学习,很多人经历了从入门到放弃的心 ...

  6. 【深度学习】相当全面的深度学习环境配置指南!(Windows、Mac、Ubuntu全讲解)...

    作者:伍天舟.马曾欧.陈信达 入门深度学习,很多人经历了从入门到放弃的心酸历程,且千军万马倒在了入门第一道关卡:环境配置问题.俗话说,环境配不对,学习两行泪. 如果你正在面临配置环境的痛苦,不管你是W ...

  7. 深度学习环境配置10——Ubuntu下的torch==1.7.1环境配置

    深度学习环境配置10--Ubuntu下的torch==1.7.1环境配置 注意事项 一.2022/9/18更新 学习前言 各个版本pytorch的配置教程 环境内容 环境配置 一.Anaconda安装 ...

  8. 深度学习环境配置避坑-CUDA11.0+DGL1.8

    深度学习环境配置避坑-CUDA11.0+DGL1.8 参考教程 坑1:CUDA版本与GPU型号不符 参考教程 之前已经写过详细的CUDA+Pytorch+DGL安装博文了,Linux系统可参考这里,W ...

  9. 基于Ubuntu 18.04机器人操作系统环境和深度学习环境配置

    基于Ubuntu 18.04机器人操作系统环境和深度学习环境配置详解 CUDA+Cudnn+ROS+anaconda+ubuntu装机必备 笔记本双系统安装 U盘启动项安装ubuntu18.04.1 ...

最新文章

  1. 玩转“网上邻居”之网络配置(二)
  2. 关于CSW和Bitcoin SV,我们不妨看一下局外人的观点
  3. Python 生成 JWT(json web token) 及 解析方式
  4. Django 的缓存机制
  5. web前端技术分享:使用react实现简易路由
  6. vm虚拟机安装_虚拟机 --- 安装VM(一)
  7. 产品设计体会(6016)我是哪种用户(下)
  8. 文献补充材料怎么下载?
  9. 减小app大小的方法——iOS开发用ImageOptim压缩png图片
  10. [洛谷P3939]数颜色
  11. JavaEE_Swagger
  12. 在ubuntu下连接e-SATA硬盘
  13. 能测试护肤品成分的软件,查化妆品成分的app
  14. nor flash驱动
  15. 捷联惯导系统学习2.6(圆锥误差补偿多子样算法)
  16. 【001】python调用VBA方式_#py
  17. win10北通手柄没反应_最新北通阿修罗手柄驱动win10下载地址电脑版-CC软件
  18. java课程任务_修真院java后端工程师学习课程--任务1(day three)
  19. java程序设计汇报ppt_Java程序设计第五章.ppt
  20. Java毕设项目电商平台客流统计系统(java+VUE+Mybatis+Maven+Mysql)

热门文章

  1. 为系统添加预装软件--雨滴应用商店APP
  2. 无锡计算机科学与工程学院,瞩目!公办本科,无锡学院首次招生,这些优势很突出!...
  3. Docker 很难么?带你从头到尾捋一遍,不信你学不会(文末送书)
  4. 跟益达学Solr5之使用Tomcat部署Solr
  5. 目标检测中的知识蒸馏方法
  6. 通俗易懂,什么是.NET/.NET Framework/.NET Core/.Net Standard?
  7. Linux无界面新建Oracle数据库实例
  8. android蓝牙开发搜素,Android蓝牙开发(一)之打开蓝牙和设备搜索
  9. 华为 PIM-SM RP选举与切换
  10. 前腾讯员工离职三个月开发出 app store排名第一应用疯狂猎鸟的总结