SemanticFusion: Dense 3D Semantic Mapping with Convolutional Neural Networks
语义融合:使用CNN的稠密3D语义建图
搭建semanticFusion开源代码环境学习
配置:
+ NVIDIA® GeForce® GTX 1060
+ 第八代i5
搭建之前我们需要确认ElastifFusion和caffe可以搭建成功,确保一些库安装正确,所以我们先搭建这两个,最后再去编译SemanticFusion.
1.搭建ElasticFusion(semantic以此为基础,先搭建这个)
(a)参照这两篇文章搭建:
https://blog.csdn.net/jthree2012/article/details/80837661
https://blog.csdn.net/dongzid/article/details/85906109
不同的地方:
(1)openjdk-7-jdk没有,经测试可以选择其他版本(双击TAB),或者可在这里搜索适用版本:https://packages.ubuntu.com/
(2)CUDA选择了8.0
(3)在配置过程中遇到不少问题(致命错误/找不到XXX),一路坑,步步碰,大概解决是添加路径等,还好通过各类文章和谷歌解决了,过程也是一种学习。以后记录下来,主要是回头写都忘记了。(openi2安装)
(4)编译过程中,需要最先运行GPUTest,将产生的代码粘贴在Core中的GPUConfig.h中,然后再编译安装Core。
2.搭建Caffe
(a)参照这篇文章:这个 和 这个
(b) 参照官方:http://caffe.berkeleyvision.org/installation.html
(c)comment the *_20 and *_21 lines for compatibility. Makefile.config里面还需要注释掉
(d) .build_release/tools/caffe: error while loading shared libraries: libcudart.so.8.0 (1) (2) 去掉sudo
(d)cuda 9.0遇到了这样问题:error: token ""__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."" is not valid in preprocessor expressions
github 相关
查了一些说法是eigen与cuda9.0的冲突,升级eigen3后但仍未解决,希望有人遇到后可以告知一下,我只能掩耳盗铃,注释了这一句在相关头文件中,最后也是成功安装,先这样,希望有大佬解决的可以告知一下。(cuda9.0)
后来在一次重装中用了cuda8.0没有此问题了
不同的地方:也遇到了各种问题,一个个解决就好了,GET:看官方介绍安装,遇到问题找谷歌和百度
3.搭建semanticFusion
(a)参照GitHub:https://github.com/zbqlalala/semanticfusion
(b)分别编译caffe_semanticfusion和semanticfusion
(c)在caffe_semanticfusion/model里添加下载的rgb,rgbd模型文件就可以了。(github中download Models中有下载链接)
CSDN文章:https://blog.csdn.net/xingzhou1212/article/details/80039575
不同的地方:本以为安装好上边1,2这两个就没问题了,没想到3遇到无法编译Core,好像是GCC-5找不到,降级解决。
注意自己的路径(数据集):
./SemanticFusion /home/zebrajiahao/Documents/Dataset/nyu_data_small/bedroom_0012.txt /home/zebrajiahao/Documents/Dataset/nyu_data_small/output_predictions.txt
一路过来就像迷步于沼泽雾障中的马孔多,我终于跑通了,接下来的路更要脚踏实地: