Elastic Fusion/Semantic Fusion运行记录

持续记录使用摄像头、数据集运行Elastic Fusion和Semantic Fusion的方法和结果。
使用的Elastic Fusion是Semantic Fusion项目下的模块,没有另行搭建。

一、 Elastic Fusion

1. TUM数据集

1.1 准备数据集

使用TUM数据集,从官网下载rgbd_dataset_freiburg1_desk.tgz,解压。

1.2 数据格式转换

Elastic Fusion可以接受klg格式的数据输入,使用png_to_klg转换。
安装依赖库

sudo apt-get install g++ cmake cmake-gui libboost-all-dev build-essential

项目要求源码编译的OPENCV 2.9,我装过opencv 3,这一步就略过了。同时还要求numpy,这个也装过。
下载源码编译:

git clone https://github.com/HTLife/png_to_klg
mkdir build
cd build
cmake ..
make

1.3 生成association文件

使用视觉SLAM十四讲slambook项目提供的associate.py。我的python 3.7版本,运行这个文件会有问题,提示dict_keys没有remove方法,在出错的地方,显示转换成list数据类型。

first_keys=list(first_keys)
second_keys=list(second_keys)

然后生成association.txt

python ./associate.py depth.txt rgb.txt  > associations.txt

1.4 生成klg文件

./pngtoklg -w '/path/to/TUM/rgbd_dataset_freiburg1_desk/' -o '/path/to/TUM/rgbd_dataset_freiburg1_desk/freiburg1.klg' -t

1.5 运行Elastic Fusion

./ElasticFusion -l /path/to/TUM/rgbd_dataset_freiburg1_desk/fr2desk.klg -f

得到结果:
Elastic Fusion/Semantic Fusion运行记录_第1张图片

2. 使用Kinect摄像头

我在elastic fusiondeps/OpenNi2文件夹里,下载libfreenect,安文档编译得到libFreenectDriver.so,挪到deps/OpenNI2/Bin/x64-Release/OpenNI2/Drivers下面,usb rules也设置了,但是找不到驱动啊QAQ
求大神指导QAQ

二、 Sementic Fusion

GTX 960,显存不够。
嘻嘻嘻嘻嘻。
之后换个模型试试⑧。

换了RTX2070,配好用数据集运行下。

cd build
./SemanticFusion ~/dataset/nyu_data_small/bathroom_0003.txt ~/dataset/nyu_data_small/output_predictions.txt

运行结果:
Elastic Fusion/Semantic Fusion运行记录_第2张图片

你可能感兴趣的:(SLAM)