场景感知:CNN方法对三维重建/slam/实时定位的一些Base改进
?????? Slam發展多年,終于有了真正有意義的發展。Base改進主要有:特征點檢測.特征點描述.全局特征描述。
-0-.SLAM的視覺前端
?????? SLAM:同時空間定位與構建地圖。對于重建與定位,雙目視覺傾向于使用稠密的方法,對已生成或者直接獲得的稠密點云進行重建,有一系列方法。機器人行業最常用的slam是單目實時的空間稀疏重建與定位,雙目的可以看做兩個單目加一個固定的基線。
?????? 稀疏方法與VO。視覺里程Visual Odometry,對于移動Agent所搭載的單目相機,相機獲取兩幀圖像在世界坐標系中的位姿發生變化位移t(xyz)和三軸旋轉R()。1.對兩幅圖像進行特征點檢測KPs和計算描述子Fs,搜索特征點對應關系M(p1,p2);2.得知相機內參K,通過極線約束,解算出位姿轉換的基礎矩陣F(或本質矩陣E),同時可得到對應點的深度信息z;3.通過QR分解,計算Agent的位姿變化RT。即為Agent在獲取兩幀圖像間隔的視覺里程VO。也就是所謂的視覺前端。
?????? 初始化問題。視覺盲區,匹配失效,或者機器人綁架問題等等。
?????? 漂移與優化。因各種硬件誤差、延時誤差、Global Shutter與Rolling Shutter、亞像素誤差、計算誤差等,兩幀VO的誤差在時間累積之后產生漂移,就需要進行全局優化。全局優化的一些方法有,三維重建方法中的BA方法,或者工程中使用回環檢測之后使用BA或者其他方法糾正偏移,減少漂移。也就是所謂的后端優化。
????? 稀疏重建與定位的發展歷程:十幾年來,SLAM的發展框架趨近于成熟,從可應用于室內的EKFMono方法,到結合了BA方法之后各種工程上的擴充。EKFMono方法在小空間內取得成功,慣性導航IMU對視覺盲區和初始化問題有了很好的補充,并在一定角度內獲得超過視覺VO的R計算準確度。ORBSlam是一個較為成熟的slam框架,其工程化的優良性能為業界做出巨大貢獻,模塊化的功能和可擴充性能良好,并覆蓋了SLAM所需要的多個方面。
?????? 無數的博客和書籍圍繞著幾個公式,闡述機器人SLAM中的整體方法,稀疏的、稠密的、半直接的等等。視覺前端框架基本沒有多大改變,雙目的、單目的,基本上圖像處理方法的跟隨。更多的是對后端優化進行系統的闡述,比如FK等濾波方法以及其他非線性優化方法。此處闡述基于深度學習視覺方面的基礎改進。一、單目稀疏重建與定位
?
一、視覺檢測和描述中的CNN方法
?????? 單目稀疏重建與定位的視覺改進,硬件是一個最基礎的方向。從軟件和算法的角度,視覺前端的改進方法,有提升圖像的分辨率、提升顯著點/關鍵點的檢測性能、以及提升關鍵點的局部描述子性能。
?????? 傳統的檢測方法和描述子方法,請參考:圖像局部顯著性—點特征(SIFT為例)。大量的特征檢測子比(如harris、fast等)和描述子(SIft、PCA-SIft、Surf、GLOH、Brief、Brisk、ORB、Freak等)有嚴格的理論證明,并且有完整的哈希性能分析。分類:基于顯著性的檢測,基于特征的檢測、基于能量的檢測等。
????? 基于深度學習CNN方法的特征檢測和特征描述:以學習方法(ML)替代經驗設計(handCrafted)特征。在此方面有兩個基礎方向:學習檢測子和學習描述子。或者同時學習。
????? 描述子學習: LIFT特征是一種使用CNN來提取特征點(feature points / interests)的方法, 發表在ECCV 2016.眾所周知, 盡管在2004年就已經發表出來, 但是SIFT(Scale Invariant Feature Transform)在三維重建中一直至今都無可替代. 隨著學習的火熱, 研究人員開始將目光更多轉向于尋求一種基于學習的方法來提取特征點, 從而代替人工設計的特征點.
????? 檢測點學習:SuperPoint 是基于自監督訓練的特征點檢測和描述符提取方法,是2018年MagicLeap發表的一篇文章中提出的(https://blog.csdn.net/honyniu/article/details/87483613 )。通過卷積的方法對提取的Map進行顯著性分析,獲取區域極值點,即為關鍵點位置。同時特征描述子可以在原特征Map上獲得,也可以使用新的方法生成描述子。
??? ? 轉向CNN-DL火熱的CVPR2019,視覺特征點的檢測和描述有了大量的改進。應用在場景重建和定位方面的論文又有....
????? LIFT使用了經驗指導結構設計,使用數據訓練優化的方法,旨在得到一個表達能力更強的特征。SP方法使用了指導學習的思想,使用數據增強方法,有時可以對網絡不加詳細的訓練,得到端到端的檢測網絡。
?
二、回環檢測與場景識別
??????? 在后端優化過程中,回環檢測是一個重要的部分,另一種描述為場景識別或者圖像檢索。圖像檢索方法的發展由來已久,百度Google阿里騰訊都有成熟的圖片檢索應用,以圖搜圖,或者搜圖購物等。
?????? BOW方法與稀疏編碼方法,獲取圖像全局特征。BOW在ANN下的解釋。Bow與一般SparseCoding或LSH方法不同在于其典型的應用場景,LSH方法可以通過學習得到局部敏感hash函數族,SP使用學習方法尋找高維空間的一組稀疏完備基,可用于廣泛的ANN查找。BOW方法源于文檔檢測,并在圖像檢索中廣泛應用。BOW的方法依然性能基于Word的性能,在圖像中為局部描述子,是一種圖像稀疏描述的檢索方法,只記載圖像中的關鍵信息。
??????? BOW方法具有稀疏性,可以使用倒排索引提高檢索性能,并具有在線擴展性,可以在查找時更新/更新葉子葉子節點,因此在SLAM方法中應用于基于局部特征描述圖像的場景匹配-閉環檢測。
??????? 全局特征性能提升:為提升BOW方法的性能,FidherVector和VLAD方法得以應用。FidherVector方法使用局部特征點的線性組合,強化了全局性能,并丟失了一部分擴展性。VLAD方法收集了局部特征點和全部的距離信息,可看作對BOW全局特征的無損提升。
????? ? VLAD-Net,使VLAD特征可學習。對VLAD的損失函數,進行指數平滑,使其變得可微可學習,稱為VLAD層,并可以無縫嵌入任意CNN網絡,獲取全局特征,即為VLAD-Net。
??? ? ? 基于CNN的方法是一個離線的檢索方法,只在特定的場景上得到更好的全局檢索性能。
??????? BOW-VLAD-VLADNet-HFnet,CVPR2019的論文HFnet,使用MobileNetSSD-V2網絡,借鑒SuperPoint網絡思想和特征給你強化思想以及VLAD網絡思想,使用指導學習同時實現了局部特征點檢測.局部特征點描述.全局特征描述的功能。
??????? HfNet也 成為一個為三維重建/SLAM方法量身定制的一個CNN方法。其專門優化的網絡結構,并使基于深度學習的實時定位方法成為一個可靠的途徑。
???????? 1.空間定位的傳統方法,廣泛使用Align匹配的方法,使用RANSAC方法選取模型,而后使用PNP方法,計算匹配/觀測點集合和點集模型的剛性位姿變化R和t。2.實時定位基于CNN端到端的方法典型有MapNet系列,直接從圖像回歸出剛性位姿變化R和t,理論和實際性能遠未達到可用性能。3.使用檢索的方法,使用檢索代替RANSAC方法,尋找最近鄰圖像,通過兩幀VO,計算出R和t。3.1基于快速檢索的方法有分為傳統編碼方法和CNN方法,典型方法分別為LSH和 VLADnet。
??????? RANSAC方法1在點集較大時候出現明顯的性能下降,現階段的實現證明,第三種方法是一種在大場景中合適的進行實時空間定位的方法。HfNet的優良性能為Agent實時視覺空間定位提供了很好的途徑。
?
三. HfNet的網絡結構
????????SLAM發展多年,優化理論并未有有意義的創新,只是總結的更加系統,形式更加優美,并未能對SLAM性能有本質的提升。HfNet的網絡結構基于MobileNetSSD-V2網絡。融合了近年來,三維重建/SLAM方法的改進的最基礎最重要的幾個關鍵點:關鍵點檢測性能 .描述子描述性能. 全局特征表達性能。
? ? ? ? ?
?????? HfNet網絡是深度學習對SLAM方法改進的集大成者。論文:*From Coarse to Fine: Robust Hierarchical Localization at Large Scale。? GitHub地址:https://github.com/ethz-asl/hfnet。Python 3.6?is required,By default,?TensorFlow 1.12 GPU?will be installed.PyTorch 0.4.1?is also required to run the original SuperPoint and perform GPU-accelerated feature matching.
??????? 至于把基于CNN方法的應用于SLAM/三維重建/實時空間定位,是一個工程問題。
??????? 使用教師網絡比如SuprtPoint網絡進行指導訓練MobileNet-SSD.V2的局部特征網絡,使用VLADNet等指導訓練MobileNet-SSD的全局特征網絡,并優化模型,通過減枝/壓縮/量化等把模型移植到設備中。
總結
以上是生活随笔為你收集整理的场景感知:CNN方法对三维重建/slam/实时定位的一些Base改进的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 塞尔达传说耐热服在哪买
- 下一篇: 人工机器:jetbot小车密码