天天看點

【動态SLAM】經典開源論文(更新中)

【動态SLAM】經典開源論文(更新中)

    • 0 簡介
    • 1.DynaSLAM(IROS 2018)
    • 2.DS-SLAM(IROS 2018, 清華大學)
    • 3.Detect-SLAM(2018 IEEE WCACV, 北京大學)
    • 4.VDO-SLAM(arXiv 2020)
    • 5.Co-Fusion(ICRA 2017)
    • 6.Learning Rigidity in Dynamic Scenes with a Moving Camera for 3D Motion Field Estimation(2018,ECCV,NVIDIA)
    • 7.ReFusion(2019 IROS)
    • 8.RGB_D-SLAM-with-SWIAICP(2017)
    • 9.RDS-SLAM(2021,Access)

0 簡介

  本文首發自我的古月居社群部落格https://www.guyuehome.com/34287,總結了一些經典開源的動态slam論文,後續會更新TUM資料集的介紹、經典論文的彙總、Dyna-SLAM源碼講解等内容。

1.DynaSLAM(IROS 2018)

論文:DynaSLAM: Tracking, Mapping and Inpainting in Dynamic Scenes

代碼:https://github.com/BertaBescos/DynaSLAM

主要思想:(語義+幾何)

1.使用Mask-CNN進行語義分割;

2.在low-cost Tracking階段将動态區域(人)剔除,得到初始位姿;

3.多視圖幾何方法判斷外點,通過區域增長法生成動态區域;

4.代碼中将多視圖幾何的動态區域與語義分割人的區域全都去除,将mask傳給orbslam進行跟蹤;

5.背景修複,包括RGB圖和深度圖。

**創新點:**語義分割無法識别移動的椅子,需要多視圖幾何的方法進行補充

**讨論:**DynaSLAM與下面的DS-SLAM是經典的動态slam系統,代碼實作都很簡潔。Dyna-SLAM的缺點在于:1.多視圖幾何方法得到的外點,在深度圖上通過區域增長得到動态區域,隻要物體上存在一個動态點,整個物體都會被“增長”成為動态 2.其将人的區域以及多視圖幾何方法得到的區域都直接去掉,與論文不符。

【動态SLAM】經典開源論文(更新中)
【動态SLAM】經典開源論文(更新中)

2.DS-SLAM(IROS 2018, 清華大學)

論文:DS-SLAM: A Semantic Visual SLAM towards Dynamic Environments

代碼:https://github.com/ivipsourcecode/DS-SLAM

主要思想:(語義+幾何)

1.SegNet進行語義分割(單獨一個線程);

2.對于前後兩幀圖像,通過極線幾何檢測外點;

3.如果某一物體外點數量過多,則認為是動态,剔除;

4.建立了語義八叉樹地圖。

**讨論:**這種四線程的結構以及極線限制的外點檢測方法得到了很多論文的采納,其缺點在于:1.極線限制的外點檢測方法并不能找到所有外點,當物體沿極線方向運動時這種方法會失效 2.用特征點中的外點的比例來判斷該物體是否運動,這用方法存在局限性,特征點的數量受物體紋理的影響較大 3.SegNet是2016年剔除的語義分割網絡,分割效果有很大提升空間,實驗效果不如Dyna-SLAM

【動态SLAM】經典開源論文(更新中)

3.Detect-SLAM(2018 IEEE WCACV, 北京大學)

論文:Detect-SLAM: Making Object Detection and SLAM Mutually Beneficial

代碼:https://github.com/liadbiz/detect-slam

主要思想:

目标檢測的網絡并不能實時運作,是以隻在關鍵幀中進行目标檢測,然後通過特征點的傳播将其結果傳播到普通幀中

1.隻在關鍵幀中用SSD網絡進行目标檢測(得到的是矩形區域及其置信度),圖割法剔除背景,得到更加精細的動态區域;

2.在普通幀中,利用feature matching + matching point expansion兩種機制,對每個特征點動态機率傳播,至此得到每個特征點的動态機率;

3.object map幫助提取候選區域。

【動态SLAM】經典開源論文(更新中)

4.VDO-SLAM(arXiv 2020)

論文:VDO-SLAM: A Visual Dynamic Object-aware SLAM System

代碼: https://github.com/halajun/vdo_slam

主要思想:

1.運動物體跟蹤,比較全的slam+運動跟蹤的系統;

2.光流+語義分割。

【動态SLAM】經典開源論文(更新中)

5.Co-Fusion(ICRA 2017)

論文:Co-Fusion: Real-time Segmentation, Tracking and Fusion of Multiple Objects

代碼:https://github.com/martinruenz/co-fusion

**主要思想:**學習和維護每個物體的3D模型,并通過随時間的融合提高模型結果。這是一個經典的系統,很多論文都拿它進行對比

【動态SLAM】經典開源論文(更新中)

6.Learning Rigidity in Dynamic Scenes with a Moving Camera for 3D Motion Field Estimation(2018,ECCV,NVIDIA)

論文:Learning Rigidity in Dynamic Scenes with a Moving Camera for 3D Motion Field Estimation

代碼:https://github.com/NVlabs/learningrigidity.git

主要思想:

1.RTN網絡用于計算位姿以及剛體區域,PWC網絡用于計算稠密光流;

2.基于以上結果,估計剛體區域的相對位姿;

3.計算剛體的3D場景流;

此外還開發了一套用于生成半人工動态場景的工具REFRESH。

【動态SLAM】經典開源論文(更新中)

7.ReFusion(2019 IROS)

論文:ReFusion: 3D Reconstruction in Dynamic Environments for RGB-D Cameras Exploiting Residuals

代碼:https://github.com/PRBonn/refusion

主要思想:

主流的動态slam方法需要用神經網絡進行分執行個體分割,此過程需要預先定義可能動态的對象并在資料集上進行大量的訓練,使用場景受到很大的限制。而ReFusion則使用純幾何的方法分割動态區域,具體的:在KinectFusion稠密slam系統的基礎上,計算每個像素點的殘差,通過自适應門檻值分割得到大緻動态區域,形态學處理得到最終動态區域,與此同時,可得到靜态背景的TSDF地圖。

讨論:為數不多的不使用神經網絡的動态slam系統

【動态SLAM】經典開源論文(更新中)

8.RGB_D-SLAM-with-SWIAICP(2017)

論文:RGB-D SLAM in Dynamic Environments Using Static Point Weighting

代碼:https://github.com/VitoLing/RGB_D-SLAM-with-SWIAICP

主要思想:

1.僅使用前景的邊緣點進行跟蹤( Foreground Depth Edge Extraction);

2.每隔n幀插入關鍵幀,通過目前幀與關鍵幀計算位姿;

3.通過投影誤差計算每個點雲的靜态-動态品質,為下面的IAICP提供每個點雲的權重;

4.提出了融合灰階資訊的ICP算法–IAICP,用于計算幀與幀之間的位姿。

**讨論:**前景物體的邊緣點能夠很好地表征整個物體,實驗效果令人耳目一新。但是文中所用的ICP算法這并不是邊緣slam常用的算法,邊緣slam一般使用距離變換(DT)描述邊緣點的誤差,其可以避免點與點之間的比對。論文Robust RGB-D visual odometry based on edges and points提出了一種很有意思的方案,用特征點計算位姿,用邊緣點描述動态區域,很好地汲取了二者的優勢。

【動态SLAM】經典開源論文(更新中)

9.RDS-SLAM(2021,Access)

論文:RDS-SLAM: Real-Time Dynamic SLAM Using Semantic Segmentation Methods

代碼:https://github.com/yubaoliu/RDS-SLAM.git

主要思想:克服不能實時進行語義分割的問題

1.選擇最近的關鍵幀進行語義分割;

2.基于貝葉斯的機率傳播;

3.通過上一幀和局部地圖得到目前幀的外點;

4.根據運動機率權重計算位姿。

【動态SLAM】經典開源論文(更新中)

繼續閱讀