自己的课题涉及到语义场景构建,最近配置运行了Suma++,结合Suma和RangeNet++,此项目基于RangeNet++代码的配置运行
Suma++源码地址:https://github.com/PRBonn/semantic_suma
论文地址:https://arxiv.org/pdf/2105.11320.pdf
此项目要在RangeNet++代码配置运行的基础上进行
RangeNet++配置请参考:https://blog.csdn.net/weixin_46118817/article/details/125155602?spm=1001.2014.3001.5501
目录
1、依赖安装
1.1 依赖库版本要求
1.2 安装命令
#Ubuntu18.04中 libqt5libqgtk2 安装会失败,但不影响后面编译
sudo apt-get install build-essential cmake libgtest-dev libeigen3-dev libboost-all-dev qtbase5-dev libglew-dev libqt5libqgtk2 catkin
#安装catkin编译工具
sudo apt install python-pip
sudo pip install catkin_tools catkin_tools_fetch empy
其余的依赖如果在编译中缺失,根据报错安装即可,注意版本要求
2、编译
2.1 确保rangenet++编译成功
2.2 在rangenet++工作空间的src目录下,克隆Suma++代码
git clone https://github.com/PRBonn/semantic_suma.git
2.3 接着克隆glow依赖库到src目录下
git clone https://github.com/jbehley/glow.git
2.4 回到工作空间进行编译
catkin build --save-config -i --cmake-args -DCMAKE_BUILD_TYPE=Release -DOPENGL_VERSION=460 -DENABLE_NVIDIA_EXT=YES
编译命令解释:
注1:必须将 OPENGL_VERSION 设置为系统支持的 OpenGL 核心配置文件版本,可以按如下方式查询:
glxinfo | grep "version"
#我的显示是4.6.0,所以命令中用460;如果不清楚可以用默认的330
注2:在此设置步骤之后,可以使用 catkin build 进行构建,因为配置已保存到您当前的 Catkin 配置文件中(因此,需要 --save-config)
注3:笔者电脑搭载GTX1060,使用 -DENABLE_NVIDIA_EXT=YES 激活 NVIDIA 扩展,以获取有关程序当前 GPU 内存使用情况的信息。
2.5 编译报错总结
(1)未安装GLEW
解决:安装即可
sudo apt install libglew-dev
(2)未配置gtsam
解决:下载安装gtsam
# 第一步:安装依赖的功能包
sudo apt-get install libboost-all-dev
sudo apt-get install libparmetis-dev
# 第二步:检查环境版本对应情况
cmake --version # 需要 CMake >= 2.6
gcc -v # 需要 gcc >= 4.7.3
# 第三步:下载gtsam
cd ~
git clone https://bitbucket.org/gtborg/gtsam.git
# 第四步:编译
cd ~/gtsam
mkdir build
cd build
cmake ..
sudo make install # 花费时间较久,无报错显示100%即为安装完成
(3)Opencv版本错误,最后链接报错
解决:我原先有Opencv3.2(anaconda中的)和Opencv4.5(另外源代码安装的)两个版本,报错是因为4.5对String定义不同于3.2,代码中是基于Opencv3写的,所以卸载或禁用Opencv4.5即可
2.6 编译完成
当显示如下界面时,编译完成
此时~/catkin_ws/src/semantic_suma/bin 目录下会有可执行程序visualizer
3、运行可视化展示
(1)通过 ./visualizer 在源码 bin 目录中运行可视化工具;
(2)从 KITTI 数据集中 打开 Velodyne 目录并选择“.bin”文件;
(3)通过 GUI 中的“播放按钮”开始处理扫描;
(4)运行效果如下:
视频展示:https://www.bilibili.com/video/BV19T411V761?spm_id_from=333.999.0.0
至此Suma++的代码配置运行就完成了,感谢阅读!
参考致谢:
https://blog.csdn.net/weixin_40247876/article/details/123735096
https://blog.csdn.net/zfjBIT/article/details/95501408