作者丨Moonkissu@知乎
来源丨https://zhuanlan.zhihu.com/p/64825421
编辑丨3D视觉工坊
之前做的深度学习闭环检测 这方面,最近想了解下语义这方面,于是总结了一些开源的语义SLAM代码共后面研究:
参考:https://github.com/Ewenwan/MVision/blob/master/vSLAM/VS_SLAM/readme.md
1.CNN (PSPNet) + ORB_SLAM2 语义SLAM Real time semantic slam in ROS with a hand held RGB-D camera
源码:https://github.com/Ewenwan/semantic_slam
2.DynaSLAM:
https://github.com/Ewenwan/semantic_slam
3.动态语义SLAM 目标检测+VSLAM+光流/多视角几何动态物体检测+octomap地图+目标数据库
源码:https://github.com/Ewenwan/ORB_SLAM2_SSD_Semantic
【这个很全做得很好】
4.ORB-SLAM-RGBD-with-Octomap
https://github.com/Ewenwan/ORB-SLAM-RGBD-with-Octomap
5.利用光流和语义分割来进行 动态环境建模
https://github.com/Ewenwan/DynSLAM
6.DynaSLAM:基于ORB-SLAM2修改 动态环境建模
dynamic environments for monocular, stereo and RGB-D setups
源码:https://github.com/Ewenwan/DynaSLAM
主要思想
利用 语义分割信息 和 几何信息得到的 动/静分割信息,剔除部分不可靠的 关键点来使得 跟踪 变得更可靠
使用mask-rcnn获取 语义分割信息
使用 运动点 判断准则 获取 动/静 mask
结合 语义mask 和 动/静 mask 生成 需要剔除的 mask
在构造帧 的时候 对 提取的关键点 进行滤波,删除 不可靠的 关键点,使得 跟踪更可靠
思考
1. 是否可以 结合 光流 来生成 动/静 mask ,不过要考虑相机自身的运动引起的光流
2. 如果用于导航,仅仅依靠orb关键点,数量不够,是否可以 添加 边缘 关键点检测算法
7.Co-Fusion CRF图像分割 + ElasticFusion(RGBD-SLAM)
https://github.com/Ewenwan/co-fusion
8.rgb-slam + 语义分割mask-rcnn
https://github.com/Ewenwan/maskfusion
9.卷积-反卷积语义分割cnn(基于caffe) + ElasticFusion(稠密SLAM) + CRF融合
https://github.com/Ewenwan/semanticfusion
10.ORB SLAM2 + 拓扑地图 路径规划导航
https://github.com/Ewenwan/Active-ORB-SLAM2
11.RNN语义分割+KinectFusion=3 d Semantic Scene
https://github.com/Ewenwan/DA-RNN
12.semanticfusion
https://github.com/zbqlalala/semanticfusion
13.SIVO - Semantically Informed Visual Odometry and Mapping.
Integrated Bayesian semantic segmentation with ORBSLAM_2 to select better features for Visual SLAM.
https://github.com/navganti/SIVO
本文仅做学术分享,如有侵权,请联系删文。