ElasticFusion在ubuntu16.04+cuda8.0上的实现

一、驱动与cuda安装

#安装驱动与cuda8.0
参考这篇:https://blog.csdn.net/ffcjjhv/article/details/89151382

二、配置

1、依赖包

sudo apt-get install cmake cmake-qt-gui git build-essential libusb-1.0-0-dev libudev-dev 
sudo apt-get install freeglut3-dev libglew-dev libsuitesparse-dev libeigen3-dev 
sudo apt-get install zlib1g-dev libjpeg-dev doxygen graphviz

如果安装出错,先更新下

sudo apt-get update  
sudo apt-get upgrade

再重新安装依赖包

2、openjdk-7-jdk

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-7-jdk

3、OpenGL

sudo apt-get install build-essential libgl1-mesa-dev
sudo apt-get install freeglut3-dev
sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev

三、代码编译

#download ElasticFusion
GitHub地址:https://github.com/mp3guy/ElasticFusion ,解压到ElasticFusion/ElasticFusion-master

cd ElasticFusion

1、安装 Pangolin

git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build && cd build
cmake ../ -DAVFORMAT_INCLUDE_DIR="" -DCPP11_NO_BOOST=ON
make -j4
cd ../..

2、安装 OpenNI2

git clone https://github.com/occipital/OpenNI2.git
cd OpenNI2
make -j4
cd ..

3、配置 ElasticFusion

(1)build Core

cd ElasticFusion-master/Core
mkdir build && cd build
cmake ../src
make -j4
cd ../../

(2)build GPUTest

cd GPUTest
mkdir build && cd build
cmake ../src
make -j4
cd ../../

(3)build GUI

cd GUI
mkdir build && cd build
cmake ../src
make -j4
cd ../../

四、 运行

1、数据集离线运行

下载数据集: http://www.doc.ic.ac.uk/~sleutene/datasets/elasticfusion/dyson_lab.klg ,放到ElasticFusion/ElasticFusion-master/GUI/build,并运行

./ElasticFusion -l dyson_lab.klg

#运行结果
在这里插入图片描述

2、在Kinect v1上实时运行

(1)build libFreenect

cd ElasticFusion
git clone https://github.com/OpenKinect/libfreenect
cd libfreenect  

打开libfreenect/CMakeLists.txt,在33行cmake_minimum_required(VERSION 2.8.12)下一行添加

add_definitions(-std=c++11)

保存后关闭,命令行继续执行

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   #OPENNI2_DIR需要修改

注:${OPENNI2_DIR}是OpenNI2的解压文件夹,比如我的在ElasticFusion文件夹,则
在这里插入图片描述

(2)Kinect v1接入

打开libfreenect文件夹,运行

sudo cp platform/linux/udev/51-kinect.rules /etc/udev/rules.d

重启后,插上kinect后,命令行运行lsusb,查看是否包含:Xbox camera,Xbox motor,Xbox audio
在这里插入图片描述

(3)修改GPUConfig.h

如果代码运行很慢且出现如下提示,需要修改修改GPUConfig.h
在这里插入图片描述
ElasticFusion/ElasticFusion-master/GPUtest/build文件夹运行

./GPUTest ../

在这里插入图片描述
将最后4行添加到/ElasticFusion/ElasticFusion-master/Core/src/Utils/GPUConfig.h
在这里插入图片描述

(4)运行

打开ElasticFusion/ElasticFusion-master/GUI/build,运行

./ElasticFusion

#运行结果
在这里插入图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值