ElasticFusion简介: 略
硬件配置:
笔记本 i7-7700, 显卡 英伟达 1050TI Ubuntu16.04 ,摄像头 kinect2 , cuda9.0
一、下载源码,安装基本依赖,编译跑通数据集
编译准备:下载官方给出的的依赖如下
sudo apt-get install -y cmake-qt-gui git build-essential libusb-1.0-0-dev libudev-dev openjdk-7-jdk freeglut3-dev libglew-dev cuda-7-5 libsuitesparse-dev libeigen3-dev zlib1g-dev libjpeg-dev
以上一些库的科普如下(了解的跳过):
build-essential —— Linux下的C/C++编译环境及依赖,如gcc和g++
libudev-dev —— 用户空间的设备文件管理库
openjdk-7-jdk —— 开源的Java开发环境
freeglut3-dev —— 开源的OpenGL库
libglew-dev —— OpenGL库
libsuitesparse-dev —— 稀疏矩阵运算库
zlib1g-dev —— 数据压缩库
libjpeg-dev —— JPEG图像压缩库
以上的很多依赖,在我之前跑MaskFusion(刚开源)时已经大多已安装,可能与ElasticFusion作者要求的不同,毕竟ElasticFusion在前,时隔多年后的MaskFusion在后。好了,言归正传,如openjdk-8-jdk,cuda9.0,不同于作者的版本,我已经安装,也是可以用的。
首先通过git下载源码,命令如下:
git clone https://github.com/mp3guy/ElasticFusion.git
下载后解压,进入ElasticFusion 新建deps ,在deps下安装相关依赖
指令如下:
unzip ElasticFusion.zip
cd ElasticFusion
mkdir deps
cd deps
下载编译安装Pangolin,Pangolin是对OpenGL进行封装的轻量级的OpenGL输入/输出和视频显示的库。可以用于3D视觉和3D导航的视觉图,可以输入各种类型的视频、并且可以保留视频和输入数据用于debug。编译命令如下:
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ../ -DAVFORMAT_INCLUDE_DIR="" -DCPP11_NO_BOOST=ON
make -j8
sudo make install (这句尽量加上,作者没有加,我一开始没有make install 导致后面编译ElasticFusion时提示为定义的相关Pangolin之类的函数。一直觉得明明安装了Pangolin为何找说有些函数没定