目的:测试语义分割结果
依据官网教程即可,很详细installing voxblox++
补充:此处建议新建一个ROS工作空间,比如eth_ws,因为它使用catkin build构建工程,而且会通过.rosinstall文件下载很多该项目需要依赖的包(多达几十个)。
如果编译出错,使用如下几个手段。
import sys
sys.path.insert(0, "/home/xxx/ws/cv_bridge_python3/install/lib/python3/dist-packages")
sys.path.remove("/home/xxx/vins_ws/devel/lib/python2.7/dist-packages")
在编译过程中会报warning,但是其实不装VTK依然可行,程序可以正常跑。
Ubuntu18.04 + CUDA10.0 + CUDNN7.6.5
GPU:2060S
以下使用conda环境
python==3.6
cudatoolkit 10.0.130
cudnn 7.6.5
tensorflow-gpu 1.15.0
keras 2.2.4
pillow 8.4.0
imageio 2.15.0
opencv-python 4.5.5.64
scipy 1.2.1
matplotlib 3.1.1
torch 1.10.2
关于conda安装和卸载包,有两种方式,只是从不同的源下载,最后都会装在conda环境中。
pip3 install tensorflow-gpu==1.15.0
pip3 uninstall tensorflow-gpu==1.15.0
conda remove cudatoolkit
conda install cudatoolkit=10.0 cudnn
此处不建议使用tensorflow2.0及以上版本,程序中很多import不兼容2.0
该算法实时性不够,可能是加入了语义理解拖慢了速度,本质上,该算法使用了像素平面的MASK_RCNN来实现区域分割。
由于ETH-ASL对其ROS封装,所以MASK_RCNN更容易结合到自己的工程项目中。使用默认的mask_rcnn_coco.h5, MASK_RCNN在我RTX2060S上到达2.6fps,如果CPU跑是0.6fps。整体实时性也不佳。