修改软件源,选择下载自阿里云镜像;然后更新软件系统
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git cmake shutter unrar vim
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应用:
github快速下载方案:
利用码云:https://gitee.com/,链接自己的github账号,将目标fork进自己的仓库,然后迁移至码云上下载。
详见之前写的博客:https://blog.csdn.net/ns2942826077/article/details/89716538
2. 附上ORB-SLAM2注释:https://gitee.com/atery/ORB-SLAM2
下载安装: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
环境配置版本:参考博客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。
总体流程参考:
问题索引:
编译该部分之前需要调整ROS中的rviz配置.
实测:440.82驱动+CUDA9.0+cudnn7.0.5版本能够使用,当CUDA或者cudnn版本过高容易出现错误.
该部分利用git上传至码云(仓库私有),已开启SSH链接
git学习:https://www.shiyanlou.com/courses/,推荐国内用户选择码云。
每当修改文件后,使用
git add . //提交暂存区
git commit -m "修改内容注释:修改人/版本" //提交版本区
git push //上传同步
在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
安装依赖:
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 build
cd build
cmake ..
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