您的位置:首页 > 其它

ubuntu 16.04+kinect v1配置运行 Kintinuous

2017-02-26 13:11 363 查看

ubuntu 16.04 配置运行 Kintinuous

笔记本型号:战神Z7-KP7D1(配置:Intel core i7-7700HQ四核处理器+nvidia gtx1060 6G显卡)

笔记本系统:win10+ubuntu16.04双系统

硬件:kinect v1

配置环境参考网址:

【1】Github-Kintinuous/README.md:https://github.com/mp3guy/Kintinuous/blob/master/README.md

【2】Github-Kintinuous/build.sh:https://github.com/mp3guy/Kintinuous/blob/master/build.sh

【3】Kintinuous + Elastic Fusion 配置运行方法:http://blog.csdn.net/cattylsy/article/details/52239590

【4】NVIDIA 367.44 Officially Support for TITAN X (Pascal), GTX 1060:http://tipsonubuntu.com/2016/08/24/nvidia-367-44-support-titan-x-pascal-gtx-1060/#prettyPhoto

【5】深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0:http://www.tuicool.com/articles/JvUvQjZ

【6】[框架安装趟雷指南]Ubuntu+1060+cuda+cudnn+Keras+TH+TF+MXnet:https://zhuanlan.zhihu.com/p/23480983

【7】ubuntu16.04+gtx1060+cuda8.0+caffe安装、测试经历:http://blog.csdn.net/wopawn/article/details/52302164

【8】cuda安装包下载网址:https://developer.nvidia.com/cuda-downloads

【9】Github-Openni2:https://github.com/occipital/OpenNI2

【10】安装kinect drivers:http://www.cc.gatech.edu/grads/a/ahuaman3/docs/tutorials/software/build/perception.html

【11】opencv 2.4.13下载网址:https://github.com/opencv/opencv/archive/2.4.13.zip

【12】pcl 1.7.2 下载网址: https://github.com/PointCloudLibrary/pcl/releases/tag/pcl-1.7.2

【13】loop.klg下载网址:http://www.cs.nuim.ie/research/vision/data/loop.klg

【14】Github-Kintinuous-Problem:https://github.com/mp3guy/Kintinuous/issues/15

【15】 DLib-1.0下载网址:https://github.com/dorian3d/DLib/releases/tag/v1.0

【16】 ubuntu 1604 运行 kintinuous 出现的问题及解决方案:http://blog.csdn.net/bitsu/article/details/72149632

安装NVIDIA 驱动

换aliyun源(因为据说换了源会下的快):打开setting–Software&Updates–Ubuntu Software–Download from,选择other,选择China–mirrors.aliyun.com–Choose Server,选择Close–Reload。

命令:

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update


打开setting–Software&Updates–Additional Drivers,选择 “Using NVIDIA … 378.13 from nvidia-378(open source)”(这个根据各自的电脑配置来选),选择Apply Changes,待下载并安装后重启电脑。

查看驱动版本:
$ nvidia-smi


查询结果: “… NVIDIA-SMI 378.13 Driver Version: 378.13 …”

配置CUDA

准备安装包:进入参考网址【8】,在Select Target Platform 选择Linux–x86_64–Ubuntu–16.04–runfile(local)(这个也根据各自的电脑配置来选择),下载文件名:cuda_8.0.61_375.26_linux.run(迅雷下载速度快)

命令:
$ sudo sh cuda_8.0.61_375.26_linux.run


出现”more(0%)”,按ctrl+c继续,除了问是否安装驱动时选择不安装,其他y/n选择y,显示default的按回车键就好了,最后会显示Driver not selected, Toolkit和Samples已安装。

添加环境路径:
$ sudo gedit ~/.bashrc


在最后fi下一行添加语句:

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}


保存关闭后输入命令:
$ source ~/.bashrc


重新启动,输入命令:
$ nvcc -V


查询CUDA版本结果:”…Cuda compilation tools, release 8.0, V8.0.61”,安装成功。

安装依赖项

命令:(安装openjdk-7-jdk显示”E: Package ‘openjdk-7-jdk’ has no installation candidate”,因此换成安装openjdk-8-jdk)

$ sudo apt-get install -y cmake-qt-gui git build-essential libusb-1.0-0-dev libudev-dev openjdk-8-jdk freeglut3-dev python-vtk libvtk-java libglew-dev libsuitesparse-dev openexr


配置CMake

命令:
$ sudo apt-get install build-essential cmake


查询cmake 版本:
$ cmake -version


查询CMake结果:cmake version 3.5.1

配置OpenNI2

命令:(因为我的电脑处理器是四核,所以输入make时后面跟的是-j4)

$ sudo apt-get install git g++ python libusb-1.0-0-dev libudev-dev openjdk-8-jdk freeglut3-dev graphviz doxygen
$ git clone https://github.com/occipital/OpenNI2 $ cd OpenNI2
$ make -j4
$ sudo gedit /etc/udev/rules.d/51-kinect.rules


添加:

UBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02b0", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ad", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ae", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02c2", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02be", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02bf", MODE:="0666", OWNER:="root", GROUP:="video"


保存关闭。

配置libfreenet

命令:(下面命令中的${OPENNI2_DIR}需要改成openni2对应安装目录)

$ git clone https://github.com/OpenKinect/libfreenect.git $ cd libfreenect
$ mkdir build; cd build
$ cmake .. -DBUILD_OPENNI2_DRIVER=ON
$ make -j4
$ cp -L lib/OpenNI2-FreenectDriver/libFreenectDriver.so ${OPENNI2_DIR}/Bin/x64-Release/OpenNI2/Drivers


测试安装是否成功

– 连上kinect,输入命令:
$ lsusb


– 显示:”…Xbox NUI Camera…Xbox NUI Motor…Xbox NUI Audio…”

– 命令:
$ cd ${OPENNI2_DIR}/Bin/x64-Release/


– 命令:
$ ./NiViewer


– 正常显示深度图及彩色图。

配置OpenGL:

命令:

$ sudo apt-get install build-essential
$ sudo apt-get install libgl1-mesa-dev
$ sudo apt-get install libgl1-mesa-dev


配置OpenCV 2.4.13

参考网址【11】下载opencv-2.4.13并解压。

命令:

安装依赖项

$ sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev


编译安装opencv 2.4.13

$ cd opencv-2.4.13
$ mkdir build
$ cd build
$ cmake -D BUILD_NEW_PYTHON_SUPPORT=OFF -D WITH_OPENCL=OFF -D WITH_OPENMP=ON -D INSTALL_C_EXAMPLES=OFF -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D WITH_QT=OFF -D WITH_OPENGL=OFF -D WITH_VTK=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_TESTS=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF ..
$ make -j4
$ sudo make install


安装opencv成功后,配置DLib时出现OPENCV_DIR没有配置,需要手动设置的错误,我把opencv-2.4.13文件夹删除之后再重新编译DLib就没有这个错误了(不知道正确解决方案是不是这样)。

配置DLib

命令:

参考网址【15】下载DLib(据参考网址【16】,直接git clone的DLib是最新版本,使用最新版本的DLib的话运行Kintinuous可能会出现内存问题,所以下载低版本的DLib-1.0可能会比较靠谱)

$ git clone https://github.com/dorian3d/DLib.git[/code] 
编译DLib

$ cd DLib
$ git reset --hard 330bdc10576f6bcb55e0bd85cd5296f39ba8811a
$ mkdir build
$ cd build
$ cmake ../
$ make -j4
$ sudo make install


配置DBow2

命令:

$ git clone https://github.com/dorian3d/DBoW2.git $ cd DBoW2
$ git reset --hard 4a6eed2b3ae35ed6837c8ba226b55b30faaf419d
$ mkdir build
$ cd build
$ cmake ../
$ make -j4
$ sudo make install


配置DLoopDetector

命令:

$ git clone https://github.com/dorian3d/DLoopDetector.git $ cd DLoopDetector
$ git reset --hard 84bfc56320371bed97cab8aad3aa9561ca931d3f
$ mkdir build
$ cd build
$ cmake ../
$ make -j4
$ sudo make install


配置iSAM

命令:

$ wget http://people.csail.mit.edu/kaess/isam/isam_v1_7.tgz $ tar -xvf isam_v1_7.tgz
$ rm isam_v1_7.tgz
$ cd isam_v1_7
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
$ sudo make install


配置PCL

参考网址【12】下载pcl-1.7.2并解压。

命令:

$ cd pcl-1.7.2
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
$ sudo make install


配置Pangolin

命令:

安装依赖项

$ sudo apt-get install libglew-dev
$ sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
$ sudo apt-get install libpython2.7-dev
$ sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev
$ sudo apt-get install libdc1394-22-dev libraw1394-dev
$ sudo apt-get install libjpeg-dev libpng12-dev libtiff5-dev libopenexr-dev


配置Pangolin

$ git clone https://github.com/stevenlovegrove/Pangolin $ cd Pangolin/build
$ cmake -DCPP11_NO_BOOST=1 ..
$ make -j4


编译并运行Kintinuous

编译Kintinuous:

$ git clone https://github.com/mp3guy/Kintinuous $ cd Kintinuous
$ mkdir build
$ cd build
$ cmake ../src
$ make -j4


运行测试:

– 从参考网址【13】下载loop.klg,保存至/Kintinuous/build文件夹下,输入命令:

$ ./Kintinuous -s 7 -v ../vocab.yml.gz -l loop.klg -ri -fl -od


– 运行出现错误:”…Error: invalid device function /home/luhaiyan/share/Kintinuous/src/frontend/cuda/tsdf_volume.cu:477”。

– 解决方案:根据参考网址【14】,将/Kintinuous/src/CMakeLists.txt文件中第39行中CUDA_ARCH_BIN “20 30 35 50 52 “中52后添加一项61,即改为”20 30 35 50 52 61”,保存退出。删除/Kintinuous的/build文件夹,重新输入命令mkdir及编译运行,运行成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息