論SLAM技術發展趨勢
來自專欄 SLAM學習71 人贊了文章
2018年7月底,深藍學院發起並承辦了「第一屆全國SLAM技術論壇」。浙江大學章國鋒老師、香港科技大學沈劭劼老師、上海交通大學鄒丹平老師、中科院自動化所申抒含老師在「圓桌論壇:SLAM技術發展趨勢」上分享了SLAM技術的趨勢,現將內容整理公布,希望更多SLAMer受益。
章國鋒:由於我的研究方向更偏向於視覺SLAM,所以我會從我的角度來講一講SLAM技術的發展趨勢。
首先,我認為無論是視覺SLAM、視覺慣導SLAM、還是其他多感測信息融合SLAM,相關理論目前都已經發展到了一定的成熟度。之所以近年來SLAM被廣泛關注,也是因為它已經在某些領域得到了應用。比如AR領域,Google和蘋果分別推出的ARCore和ARKit。另外,SLAM技術也被應用於自動駕駛領域。因此,我認為SLAM的相關理論已經發展得比較成熟。但是,在實際應用中,問題還相當複雜。因此,我們做了很多工程實際中的系統優化和打磨的相關工作。
另外,從做研究角度來講,很多老師和同學比較關心的是:「我做SLAM,那麼論文該怎麼發?」我認為目前有兩個趨勢可以把握,一個趨勢是將SLAM與深度學習相結合。而且,我也認為將SLAM與深度學習結合更容易有創新性,同時也符合現在的發展趨勢。因此,我認為結合深度學習和SLAM可以發表一些論文。另一個趨勢是,要使用新的感測器,比如最近新出現的Event Camera。使用Event Camera做SLAM近年來也取得了很多成果。因此,我認為使用新型感測器或者是研究原來沒有被用於SLAM的多感測器的融合,是一個很好的研究方向,也相對容易發論文。
最後,從產業應用的角度來講,我認為還是存在很多問題的。因為,目前很多結合深度學習的SLAM系統仍然處於研究階段,距離工程實際應用還有一定的距離,需要我們做更多的研究。
申抒含:我從我的角度出發來講一講SLAM技術的發展趨勢。
首先,從做研究的角度出發,我認為做SLAM和三維重建這些幾何視覺方向的研究是非常難入門的。相對於研究deep learning,研究幾何視覺會比較難發論文。例如我們課題組的學生,一般要到博士三年級或四年級才能開始寫論文,前面幾年都是在打基礎。從發表論文的角度來說,做三維視覺相對來說確實難一些、慢一些。但是,我認為這也是一個機遇。這意味著在這個領域,想要很深入的理解SLAM是有一定的門檻的,而一旦你通過了這個門檻,你就達到了一定的認知高度,你就擁有了自己的獨門絕技,未來無論是就業還是做研究,都有比較強的競爭力。因此,既然大家今天來參加這個論壇,那麼一定是對三維幾何視覺這個論題感興趣的,我建議大家執著地堅持下去,會有好的結果的。
其次,從應用角度出發,我們當然希望基於視覺的SLAM和三維重建可以儘快落地、儘快產品化。但是,基於視覺感測器的SLAM和三維重建有一個很大的問題,那就是視覺感測器相對於高精度IMU、差分GPS和高解析度的激光雷達等感測器來說精度不夠高。同時,隨著無人駕駛汽車、智能機器人等應用的不斷推進,使得高精度的IMU、差分GPS和高解析度的激光雷達等以前價格昂貴、產量很小、很難商用推廣的感測器,正逐漸變得越來越便宜、越來越容易獲取。在這種情況下,視覺感測器所能起到的作用會被一定程度的壓制。比如做無人車,用激光雷達加高精度的差分GPS來做構圖和定位是最傳統、最有效的方式,而基於視覺的方式只能作為一個補充。但是,反過來想,這也會促進視覺演算法的發展,不斷提高視覺演算法的魯棒性,例如運用deep learning來解決傳統視覺上的一些瓶頸的問題。目前來講,基於視覺感測器的SLAM,最大的特點是價格便宜。圖像感測器相對於其他感測器來說,它的價格永遠是最低的,因為相機是我們最常見的設備。在這個前提下,如果我們能夠讓圖像感測器在某種程度上替代其它的昂貴設備或者是輔助昂貴的設備來完成工作,那麼對於視覺來說也是在未來應用中值得突破的地方。當然,我們還是希望視覺感測器的性能最終能夠接近昂貴的激光雷達或者是差分GPS的性能,從而使它能夠商用推廣。目前來看,這還是有一定距離的,還有很多本質的問題需要我們去努力克服。
沈劭劼:我非常同意申老師所說的做SLAM是非常苦的這個觀點。大家可能也都是花了兩三年時間來打基礎。但是,我認為這是非常值得的。在我自己的研究組裡面,每個新進來的學生,我都會讓他先手寫Bundle Adjustment,最多只能用Eigen庫,其它的庫都不能用。寫了BA之後,再開始看其它的研究內容。總體來說,我認為這個鍛煉對他們來說收穫還是比較大的。因為在寫Bundle Adjustment的過程中,像非線性優化、各種調參技巧、可觀測性問題、前端後端的連接問題、工程實踐技巧、多感測器同步標定等問題,他們都親自解決過一遍。在此之後,當他們遇到真實的工程問題時才會比較遊刃有餘。但是,有這麼多知識需要學習,不花這麼多時間也比較難實現,所以基本上就是目前這種狀態。
首先,關於技術方面,因為我是機器人背景,所以我更傾向於研究如何真實解決工程問題,而不是一定要用某一種感測器、研究某一個問題、或者是一定要基於某一種概念去解決問題。因此,從解決工程問題的角度出發,我更願意把SLAM問題看作是一個多感測器融合的問題。本質上,我們需要做的就是把多種感測器的model寫清楚,然後選用某種類型的最小二乘去求解。至於是用單目相機還是雙目相機、還是加GPS、加輪子里程計、加IMU其實並沒有問題,因為那些感測器的model都做出來了。
其次,我會傾向於跳出純SLAM這種比較狹窄的定義,而把SLAM問題當成是一個機器人的環境感知問題。這個問題包括真正意義上的建圖,並不是指稀疏建圖,也包括對多種不同天氣以及動態環境建立真實的model,也就是simulative model方面的問題,而不能直接去掉動態環境這個因素。
最後,在SLAM工程的實際應用中。我認為需要區分清楚我們需要的到底是SLAM,還是L+M。我們需要Localization和Mapping,很多地方都需要這兩個內容,但是在很多情況下我們並不需要Simultaneous Localization and Mapping。特別是在自動駕駛領域,絕大多數情況下,我們不需要做到simultaneous。但是在某些應用中,比如在VIO中,我們做的是simultaneous localization and mapping in the local environment。但是,環境的scale的大小需要根據我們的實際應用來確定。總的來說,SLAM是一個跟實際應用連接非常緊密的一個領域。希望大家能夠修鍊好基本功,在能手寫Bundle Adjustment之後,當真正遇到一些特別的問題時,見招拆招去解決問題,不要拘泥於用某種特定形式的方法或者用某種特定的感測器。
鄒丹平:我從沈老師這裡學到很好的一點,那就是讓學生手寫Bundle Adjustment。以前我都是讓學生調用Ceres,以後我也要讓他們手寫一個Bundle Adjustment。
關於SLAM,我跟各位老師的觀點也是一樣的。正如沈老師所說,SLAM要跟實際應用相結合。因為SLAM本身只是一個方法,也是一種技術,雖然它現在可以被應用到各個領域,但是它必須跟具體的應用場景結合才能發揮它的價值。當我與一些同學和朋友討論時,有些同學提出,當他把一套開源的SLAM代碼下載下來後,他發現有的代碼在無人機數據集上面表現得很好,但是在小車上面表現得就不好。出現這個問題,就是因為每一套SLAM系統都與它的應用場景特性有關。無人機的VIO演算法非常適合無人機這樣的應用場景,因為無人機的機動性強,在飛行中加速度變化較大,所以運用了這一特性的無人機VIO演算法在這種場景下的表現非常好。但是,如果把這套VIO演算法應用到運行非常緩慢、平穩的小車上面,你會面臨一個問題,車子在勻速運動下的加速度為零,這就造成了它的尺度的不可觀測性,也意味著它失去了加速計的支持。沒了加速計的支持,這個SLAM也就只相當於一個純粹的Visual SLAM。因此,它的性能表現就會很差。
舉這樣的一個例子,是想說明在具體應用場景裡面,我們要先把目標應用搞清楚,然後把後面的問題挖掘好,再去研究如何改進這個SLAM系統,如何把挖掘到的問題解決好。以問題為導向,可以更好地解決工程實際的問題。
vSLAM在線課程
深藍學院第四期『視覺SLAM理論與實踐』課程正在報名中,課程由高翔博士主講,優秀學員頒發證書,並評選5位優秀學員獲得小覓智能設立的10000元獎學金。
註:文章由深藍學院第二期視覺SLAM課程優秀學員鄭浩整理,未經允許,禁止以任何形式轉載。
推薦閱讀:
TAG:同時定位和地圖構建SLAM | 機器人 | 三維視覺 |