VIOBOT種子用戶有了一定的數量,日常大家也會進行交流,整理總結一下近期的交流與答疑。
VIO-SLAM(作為三維SLAM,相對于Lidar-SLAM和LIO-SLAM)在工程上落地的長期障礙,不僅在算法精度本身,還有相對嚴重的魯棒性問題,尺度問題,世界觀問題和沉重的開銷/成本問題。
這些我在過往的文章中已經提過了多次,我們組的核心工作也是一步步去解決這些通用性問題,工作已經持續(xù)了21個月,絕大部分問題也close掉了;剩下的少量遺留問題是極難解決的部分還在持續(xù)努力中。這些工程問題的本質是一些解決起來非常麻煩,看起來難以通用,同時在不同場景中還能跳出各種不同幺蛾子的狀態(tài)估計問題。它們嚴重和直接地影響了VIO的工程化。
1.首先講一下精度問題:
(1)大部分paper的RMSE和ATE指標是衡量精度的重要標準,但是大家要牢記,很多時候論文的指標是建立在理想狀態(tài)上(如幾個主要的數據集,其傳感器指標和調校的精度都是非常嚴謹的),如果是建立在傳感器組實際運行上,這個傳感器組的標定和優(yōu)化往往也是由數位強悍的科研人員完成,其組合本身的精度和指標都非常高。
(2)精度并不是玄學,綜合精度取決于一系列的東西(而并不僅僅是優(yōu)化方法):包括傳感器組合類型,快門類型,內參,外參標定,imu的bias,傳感器之間的對時,單目還是雙目,前端所使用的方法,優(yōu)化的具體類型(比如大家通常的理解都是BA會比KF強,實際也未必,并不是說你花了更多的算力開銷,就一定會取得更好的優(yōu)化結果,比如在算力有限的時候,KF更優(yōu)),尤其是運行的場景(室內還是室外?光度的變化是比較穩(wěn)定還是更為激烈)。任何的非線性優(yōu)化都會有長期的誤差積累,在長期重復運行中回環(huán)會變得尤其重要(因此一般沒有回環(huán),不能算是一個完整的SLAM,只是一個里程計)。長期運行在三旋轉和三平移的誤差控制當中,旋轉的控制會更加的重要,因為輕微的旋轉誤差會帶來更大的偏移量。其實關于這個部分的詳解,在過去的文章中都大致提過了,主體內容太長這邊就只概要了。
2.其次講一下融合前端:
從VINS-FUSION開始,大家越來越重視在VIO系統中多傳感器間融合融態(tài)的重要性,VIO本身就是相機與IMU的融合。GNSS/RTK也是非常常見的融合系統(工程中部分情況下松耦合做先驗或相對信標,也不排除做得很好的緊耦合如GVINS)。
那VIO前端呢? 其實前端未來的主流就是融合前端(但得建立在足夠的開銷控制能力上)。2016年的SVO以及后續(xù)的SVO2是典型的融合前端,半直接法+特征點法。紫川目前的設計是直接法+ORB特征點法,徐浩博士使用Super point+LK光流。這幾個方法里SVO很令人佩服,一個是古早(雖然開源得比較晚),第二個是考慮得全面(包括開銷),缺點就是開源中缺失了真實傳感器優(yōu)化部分,還有世界觀相對稀疏。
Super point的問題在于相當重(VGA分辨率在Titan X卡上70幀),導致在端側做的話點數少幀率低,還有在開源框架下調試和優(yōu)化麻煩一些。在徐浩博士的分享和交流后,我總隱約有個感覺,未來的主流方法也許是直接法+Superpoint,不分主輔(回環(huán)以superpoint來做)。從科學和工程的邏輯來說,這是一種很好的組合。
大家通過細心的觀察,也會發(fā)現,融合前端的組合往往都是互補的,ORB和Superpoint強于處理明顯的特征點,ORB增加質心與描述子,SuperPoint雖重但非常魯棒可適應不同的光度條件。而LK光流和直接法都更擅長解決圖像梯度本身并形成更連續(xù)的物體輪廓。
VIOBOT目前如果僅僅作為一個里程計來使用,從三相性及世界觀來說可以說相當完美,除了一些極端光度變化/或極低照度場景。作為里程計使用的話可以通過一系列方式給其進行絕對/相對信標的輸入,如RTK/輪速計以及其他定位裝置等。
3.主流深度相機說明:
主流深度相機有2類:
(1)主動投射積分類:i-TOF/結構光
(2)雙目視差運算類:雙目深度相機
兩類都有一個優(yōu)點:稠密
都有一個很大的缺點:稠密點云開銷極重,稠密SLAM以及點云處理在端側可用性很低,高度依賴PCL/PCA/ICP,開銷沉重。降采樣本身又會失去稠密本身的意義,比較適配于避障和尾段作業(yè)的修偏,不適合作為完整SLAM前端使用。
第一類技術含量較高,具體原理就不多說了資料很多,多了2個缺點:距離很短,室外受干擾很多,還需要ISP的強力支持(積分和濾波開銷都不小)
第二類比較暴力,標準的視差運算(重復且簡單,調整雙目基線即可),可以用GPU/NPU強算,目前原廠也有不少ASIC上的支撐(目前如Movidus/海思DV500等),明年會更多。同時第二類除核心缺點外,還有一個缺點:孔洞效應。當然目前VIOBOT的點云也同樣存在這個缺點,這些就是工程和科學結合到一定程度后難以避免的一些原理性問題了。
另外第二類目前有很少數優(yōu)秀廠家結合了可見光部分的紋理特征進行實時同步,通過目標檢測進行雙光融合,這類效果部分解決了孔洞效應問題,但實現難度較大,同時仍然存在無法完整端側SLAM的問題。
4.VIOBOT近期工程匯總:
(1)進一步增強通用性
(2)完善全局一致性模塊與先驗建圖
未進行全局一致性收斂的運行/點云優(yōu)化狀態(tài)(全程約600米戶外運行):
完整的SLAM系統,最終都需要此模塊,基于回環(huán)地圖,規(guī)整軌跡與所有半稠密點云,整體完成如下所示的半稠密綜合點云狀態(tài)效果:
在這種基礎框架上接入底圖(如Googlemap,無人機航拍圖),或再進一步進行線性插值,完整的先驗地圖就進入了可用狀態(tài)。加入路徑規(guī)劃與動態(tài)避障,便成為了完整的自感知定位建圖系統
(3)半稠密點云的避障測試
工作4其實與2/3緊密相關,傳統特征點法點云,作為機器語言難以直接使用的核心原因就在于有點無邊,往往需要大量的補全工作-如MESH/LIMAP/CANNY等,但這類補全工作往往都開銷甚高,需要離線運行。VIOBOT目前融合前端的最大優(yōu)勢就在于邊廓清晰,從本質上相對稠密深度相機其實只是稀疏化了。
(4)點云濾波相關工作文章來源:http://www.zghlxwxcb.cn/news/detail-576741.html
這塊工作即難且煩,以后真正實際做好了再詳細分解。文章來源地址http://www.zghlxwxcb.cn/news/detail-576741.html
到了這里,關于關于機器人狀態(tài)估計(15)-VIO與VSLAM精度答疑、融合前端、主流深度相機說明與近期工程匯總的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!