前幾天,,國內(nèi)一家名叫進化動力的公司在網(wǎng)上展示了一段視頻,,在這段視頻里,他們展示了通過單目攝像頭進行三維地圖的重建,。 在視頻中,,我們能夠看到佩戴者通過搭載一個魚眼攝像頭的 Oculus DK2 進行了 3D 圖像的重現(xiàn)。其延時,,和景深效果表現(xiàn)很流暢,沒有卡頓感,。由于是通過 PC 處理器,,我們并不能夠確定這套單目 SLAM 方案在移動端的負載需求和精度,,但根據(jù)進化動力的官方人員表示它是為移動 VR 設(shè)備量身定做的產(chǎn)品,在對抗外界干擾和應(yīng)對復雜環(huán)境上,,均有一定的應(yīng)對能力,。 /p> 這套視頻所展示的最核心技術(shù)點是通過計算機視覺進行同步定位與地圖構(gòu)建(SLAM)。但 SLAM 是什么,室內(nèi)定位為什么不用其他設(shè)備進行掃描構(gòu)圖?這要從移動端進行空間定位開始說起,。 對于空間定位,,我們可以通過藍牙,路由器等建立標準點,,或者通過紅外線進行室內(nèi)掃描來進行判定。但是一旦將室內(nèi)定位與 VR 聯(lián)系起來,,就無法通過其它設(shè)備進行輔助了,。目前我們已經(jīng)能通過 Oculus 和 HTC Vive 的攝像頭和「base station」做到進行小范圍內(nèi)的室內(nèi)定位,,但在移動 VR 領(lǐng)域里,,空間定位一直是難題,,目前還沒有任何一個消費者級移動 VR 設(shè)備能夠做到空間移動,,哪怕是 Gear VR,。 如果要讓移動 VR 產(chǎn)品具有室內(nèi)定位功能,我們要么需要在外部環(huán)境架設(shè)識別設(shè)備進行捕捉,,要么則賦予產(chǎn)品本身判斷環(huán)境的能力,。由此,,我們就衍生出了兩大場景識別機制:Inside-Out 與 Outside-In,。 由內(nèi)至外與由外向內(nèi) 顧名思義,Inside-Out 是從發(fā)射端發(fā)射場景識別信號,,經(jīng)過外部環(huán)境后再傳送到發(fā)射端進行數(shù)據(jù)處理,,也就是說設(shè)備本身即是發(fā)射端也是接收端。Inside-Out 因為涉及到復雜的計算機視覺算法和需要與強大的硬件支持限制,,一直無法普及到小型設(shè)備中,。 /p> (Google 的 Project Tango 就是一款通過 Inside-Out 進行室內(nèi)重建的典型案例) 而 Outside-In 則是在外部建立信號發(fā)射設(shè)備,,信號經(jīng)過外部環(huán)境之后再傳輸?shù)疆a(chǎn)品自身的接收端中,,從而實現(xiàn)位置,場景的判斷,。目前來說,,Outside-In 的技術(shù)因為實現(xiàn)簡單,效果好而被廣泛普及,。 /p> 在 Inside-Out 中有一個非常重要而領(lǐng)域——SLAM(Simultaneous Localization And Mapping),即同步定位與地圖構(gòu)建,。利用計算機視覺算法和多種傳感器融合實現(xiàn)移動機器人的定位,、追蹤和導航,原理上大致是計算不同時間/位置捕捉的 兩張圖片間深度信息差異和物體形變來計算機器人移動的路線和距離,。 在用途上,,傳統(tǒng)的軍工、工業(yè)領(lǐng)域巡航導 彈,、采礦自動化,、水下勘探應(yīng)用,到近年來熱門的智能機器人,、自動駕駛汽車,,再到正在成為大公司研究方向的 AR/VR 都會用到 SLAM 技術(shù)。 /p> 什么是SLAM,? 機器人在未知環(huán)境中,要實現(xiàn)智能化需要完成三個任務(wù),,第一個是定位(Localization),,第二個是建圖(Mapping),第三個則是隨后的路徑規(guī)劃(Navigation)。 之 前地平線的高翔博士用這樣一句話概括SLAM的釋義,。不過實際生活中的SLAM都是和激光雷達或者單目/雙目攝像頭結(jié)合的形式出現(xiàn)在我們面前的,,有時甚至 跟更多的傳感器融合,這讓很多人覺得這個技術(shù)不是一兩句話能概括清楚的,,但當我們熟悉完它在每一個領(lǐng)域的應(yīng)用啊,,就會明白,它,,SLAM,,原來是這樣一個東西,而且會比我們所想象的要重要的多,。 若是兩年前有人跟我們提SLAM技術(shù)的話,,很多人的印象是那個是用在室內(nèi)移動機器人上的技術(shù),如果非要找個剛需場景的話,,掃地機那邊畫圖邊掃地的樣子簡直是最好像向陌生人解釋這東西有多牛掰的神器,。 但是,誰也沒料到,,兩年后,,因為計算機視覺技術(shù)的快速發(fā)展,攝像頭和激光雷達成本的降低,,SLAM正在AR,、機器人、無人機,、無人駕駛等領(lǐng)域火速入侵,,用夸張點的說法,就像移動互聯(lián)網(wǎng)時代的手機地圖定位一樣,,只要是跟位置相關(guān)的生意,,誰拋棄了這張地圖,誰將拋棄了自己的未來,。 SLAM的世紀意義 至于SLAM技術(shù)為什么這么重要,,用SLAM技術(shù)發(fā)燒友Guang Ling的話說。 一 個機器人也好,,無人汽車也好,,其中最核心,最根本的問題有四個,,定位技術(shù)(Localization), 跟蹤技術(shù)(Tracking), 路徑規(guī)劃技術(shù)(Path Planning), 還有就是控制技術(shù)(Controlling),。 而這四個問題中的前三個,SLAM都扮演了最核心的功能,, 其意義,,打個比方,,就像移動互聯(lián)網(wǎng)時代中,wifi和3/4G數(shù)據(jù)傳輸技術(shù)對手機的意義,,是一樣的,。扮演一個最核心,也是最不可或缺的角色,。 若是手機離開了WIFI和數(shù)據(jù)網(wǎng)絡(luò),,就像無人車和機器人,離開了SLAM一樣,。但對于AR和AI來說,,因為這兩個品類非常寬泛,,所以,,SLAM對其影響,就相對比較有限,。 SLAM 分為幾大類,? 目前來看,基于 SLAM 的解決方案普遍分為雙目,、RGB-D 和 RGB 三類,。 雙目視覺 SLAM 方案即是使用雙攝像頭進行場景判定:經(jīng)過對比二者攝像頭所產(chǎn)生的差異后可以產(chǎn)生深度環(huán)境信息,從而構(gòu)建場景,。由于攝像頭設(shè)定的角度和硬件本身存在的差異性,,雙目視覺 SLAM 構(gòu)建出來的場景會有些許偏差。 /p> (雙攝像頭采集圖像后形成的深度視差,,圖片來源于 itisar.com) 基于深度攝像頭(RGB-D)構(gòu)建 SLAM 是比較普遍的應(yīng)用,其中最被人熟知的則是 Kinect Fusion 的動作捕捉方案(這套 SDK 是開源的,,感興趣的話不妨在網(wǎng)上搜一搜),。Kinect 通過搭載的紅外線發(fā)射器和 CMOS 攝像機構(gòu)成深度攝像器,通過捕捉多自由度的運動軌跡加以進行 3D 建模,,判斷深度信息,。 /p> (通過 Kinect 深度攝像頭捕捉到的深度圖像,,經(jīng)過一系列濾波和樂高圖拆分融合形成的 3D 圖像) 最后的單目 SLAM(RGM)是最復雜也是最難實現(xiàn)的解決方案:即使用單個不帶深度傳感的攝像頭進行環(huán)境重建和定位,,這就更多地依靠計算機視覺和一系列濾波算法與設(shè)備自身搭配的其他硬件(陀螺儀等姿態(tài)傳感器)。而且,,一般采用單目 SLAM 的產(chǎn)品一定會搭配深度攝像頭實現(xiàn)更多元的圖像信息,。 這種技術(shù)大多對硬件性能要求很高,如果無法跟傳感器進行良好的配合,,則在結(jié)果上就會有較大的偏差,。無論是 Google 的 Project Tango 計劃,,還是 Oculus 的 John Carmark,都在討論利用單目 SLAM 進行空間定位的解決方案,。 總得來講,,通過攝像頭進行室內(nèi)空間定位正在從理論研究逐漸落地,滲透到各個領(lǐng)域,,我們已經(jīng)能從無人駕駛汽車,,機器人上看到 SLAM 的應(yīng)用場景了。隨著小型芯片性能的提高和算法研究的優(yōu)化,,以移動設(shè)備為主的小型設(shè)備也初露鋒芒,。移動 VR/AR 作為新興的領(lǐng)域,恰好給了 SLAM 一個施展拳腳的空間,。 SLAM技術(shù)在AR上的應(yīng)用,,跟機器人不一樣嗎? 既然SLAM技術(shù)如文章SLAM的世紀意義所說,,它對于機器人是個通用技術(shù),,要更深入的了解它,你只能通過它在不同領(lǐng)域應(yīng)用的異同來比較,,你才會知道它到底是個什么東西,。 * 關(guān)于SLAM技術(shù)在AR行業(yè)的應(yīng)用,跟在機器人上使用時有什么不同的地方,。Watchhhh Slam創(chuàng)始人劉博士在接受arinchina采訪的時候曾給出了很好的答案,,雷鋒網(wǎng)這里就不重復了: 1) 精度上,AR一般更關(guān)注于局部精度,,要求恢復的相機運動避免出現(xiàn)漂移,、抖動,這樣疊加的虛擬物體才能看起來與現(xiàn)實場景真實地融合在一起;機器人一般更關(guān)注 全局精度,,需要恢復的整條運動軌跡誤差累積不能太大,,循環(huán)回路要能閉合,而在某個局部的漂移,、 抖動等問題往往對機器人應(yīng)用來說影響不大,。 2)效率上,AR需要在有限的計算資源下實時求解,,人眼的刷新率為24幀,,所以AR的計算效率通常需要到達30幀以上; 機器人本身運動就很慢,可以把幀率降低,,所以對算法效率的要求相對較低,。 3)配置上,AR對硬件的體積,、功率,、成本等問題比機器人更敏感,,比如機器人上可以配置魚眼、雙目或深度攝像頭,、高性能CPU等硬件來降低SLAM的難度,,而AR應(yīng)用更傾向于采用更為高效、魯邦的算法達到需求,。 * 關(guān)于SLAM技術(shù)在AR行業(yè)的應(yīng)用,,跟在無人機行業(yè)的應(yīng)用有什么不同的地方。易瞳CTO艾韜表示 無人機范圍大,,精度要求沒那么高,,有其他的光流、超聲波傳感器的輔助,;而應(yīng)用在AR的話,,AR的幀率要求高,定位要求更高,,對體驗也要求更高,。 * 關(guān)于SLAM技術(shù)在機器人行業(yè)的應(yīng)用,,跟在無人車行業(yè)的應(yīng)用有什么不同的地方,。Velodyne激光雷達的老翁表示 SLAM在無人駕駛中的應(yīng)用和移動機器人中的應(yīng)用,從原理上講,,沒有任何區(qū)別,,無人駕駛汽車,就是移動機器人中的一種,。sabastian教授的《Aritificial Inteligence for Robot》教程中,,直接把無人駕駛汽車,叫做移動機器人,。 但實際應(yīng)用場景的差別,,會讓傳感器和所用激光雷達的成本很不一樣。 * 關(guān)于SLAM技術(shù)在無人機行業(yè)的應(yīng)用,,跟在無人車行業(yè)的應(yīng)用有什么不同的地方,。Velodyne激光雷達的老翁接著表示 關(guān) 于無人車和無人機中,Slam的區(qū)別,,最大的區(qū)別是二維和三維,。無人車是二維,無人機是三維,。SLAM在二維世界中,,有三個量,x軸,,y軸,,和方向角,。三 維世界中,會復雜很多,,有6個量,,x,y,,z,,roll,yaw,,pitch,。就是說,在確定位置時,,無人機要多確定三個量,,相應(yīng)的計算量會大很多。但是 原理仍然是一樣的,。 它正在入侵這些領(lǐng)域 一個技術(shù)重要的最好證據(jù),,就是看見它正在在各個領(lǐng)域深入應(yīng)用,并且各個領(lǐng)域都視它為未來,,下面我們從這四個時下最熱的領(lǐng)域一窺它的火爆,。 1)室內(nèi)機器人 掃地機要算機器人里最早用到SLAM技術(shù)這一批了,國內(nèi)的科沃斯,、塔米掃地機通過用SLAM算法結(jié)合激光雷達或者攝像頭的方法,,讓掃地機可以高效繪制室內(nèi)陸圖,智能分析和規(guī)劃掃地環(huán)境,,從而成功讓自己步入了智能導航的陣列,。 不過有意思的是,科沃斯引領(lǐng)時尚還沒多久,,一大幫懂Slam算法的掃地機廠商就開始陸陸續(xù)續(xù)地推出自己的智能導航,,直到昨天筆者還看到一款智能掃地機新鮮出爐,而這追逐背后的核心,,大家都知道就是SLAM技術(shù)的應(yīng)用,。 /p> 而 另一個跟SLAM息息相關(guān)的室內(nèi)移動機器人,,因為目前市場定位和需求并不明確,,我們目前只能在商場導購室內(nèi)機器人和Buddy那樣的demo視頻里才能看 到,國內(nèi)Watchhhh Slam和Slam Tech兩家公司都是做這方面方案提供的,,以現(xiàn)實的觀點看,,現(xiàn)在室內(nèi)移動機器人市場定位和需求沒落地的時候,由方案商公司推動,,商用室內(nèi)移動機器人先行,, 這反而是一種曲線救國的發(fā)展方式,。 2)AR 目前基于SLAM技術(shù)開發(fā)的代表性產(chǎn)品有微軟的Hololens,谷歌的 Project Tango以及同樣有名的Magic Leap,,后者4月20號公布它的新一代水母版demo后,,國內(nèi)的AR公司更加看到了這個趨勢,比如進化動力近期就公布了他們的SLAM demo, 用一個小攝像頭實現(xiàn)VR頭顯空間定位,,而易瞳去年10月雷鋒網(wǎng)去試用新品的時候,,就發(fā)現(xiàn)已經(jīng)整合SLAM技術(shù)了,國內(nèi)其他公司雖然沒有正式公布,,但我們可 以肯定,,他們都在暗暗研發(fā)這項技術(shù),只等一個成熟的時機就會展現(xiàn)給大家,。 /p> 進化動力CTO聶崇嶺向雷鋒網(wǎng)表示,如果用一個準確的說法,,很多VR應(yīng)用需要用到SLAM技術(shù),,定位只是一個feature,路徑記錄,、3D重構(gòu),、地圖構(gòu)建都可以是SLAM技術(shù)的輸出。 3)無人機 國 外的話,,原來做 Google X Project Wing 無人機的創(chuàng)始人 MIT 機器人大牛 Nicholas Roy 的學生 Adam Bry 創(chuàng)辦的 Skydio,,挖來了 Georgia Tech 的 Slam 大牛教授 Frank Dellaert 做他們的首席科學家。 國內(nèi)大家非常熟悉的大疆精靈四避障用的雙目視覺+超聲波,,一位大疆工程師徐梟涵在百度百家的撰文里坦率承認 “P4 里面呈現(xiàn)的主動避障功能就是一種非常非常典型的Slam的弱應(yīng)用,無人機只需要知道障礙物在哪,,就可以進行 Planning,,并且繞開障礙物。當然Slam能做的事情遠遠不止這些,,包括災(zāi)區(qū)救援,,包括探洞,包括人機配合甚至集群,,所有的關(guān)于無人機的夢想都建立 在Slam之上,,這是無人機能飛(具有定位,姿態(tài)確定以后)的時代以后,,無人機最核心的技術(shù),。” /p> 而近期另一個號稱刷爆美國朋友圈的hover camera無人機,,因為其創(chuàng)始人的的計算機視覺背景,,正式把SLAM技術(shù)應(yīng)用進來了,在介紹他們無人機的主要產(chǎn)品技術(shù)時,,提到了 ●SLAM(即時定位與地圖構(gòu)建):通過感知自身周圍環(huán)境來構(gòu)建3D增量式地圖,,從而實現(xiàn)自主定位和導航。 4)無人駕駛 因為Google無人駕駛車的科普,,很多人都知道了基于激光雷達技術(shù)的Lidar Slam,。Lidar Slam是指利用激光雷達作為外部傳感器,獲取地圖數(shù)據(jù),,使機器人實現(xiàn)同步定位與地圖構(gòu)建,。雖然成本高昂,但目前為止是最穩(wěn)定,、最可靠,、高性能的SLAM方式。 SLAM在同一個行業(yè)的應(yīng)用,,用攝像頭和激光雷達的區(qū)別在哪里 很多人注意到,,同一個行業(yè)的SLAM應(yīng)用,有人用相對傳統(tǒng)的激光雷達技術(shù),,有人用號稱必定是未來趨勢的計算機視覺技術(shù)(單目+雙目攝像頭),,以室內(nèi)機器人為例,它們的區(qū)別在哪里呢,? 速騰聚創(chuàng)CEO邱純鑫表示,,區(qū)別應(yīng)該從傳感器分,再從算法上分,,他們精度上目前能做到差不多,,激光相對要穩(wěn)定一些,而幀數(shù),,視覺要快很多,,比如比30針(人眼上限)要快很多,畢竟每秒出數(shù)不同,,配置的話,,現(xiàn)在激光雷達也有平價華的方案了,配置要求都不是那么高,。 而以無人機為例,,不管精靈四還是Hover camera的SLAM,各家都要在SLAM技術(shù)上結(jié)合額外的超聲波或者光流技術(shù)定位,,雷鋒網(wǎng)問邱純鑫這是不是表明純SLAM技術(shù)有硬傷,,邱純鑫表示 純SLAM算法是有些問題的,比如基于已經(jīng)地圖的SLAM還是基于未知環(huán)境的SLAM,后者就有難度,。 小結(jié): 從上面SLAM在各大領(lǐng)域的小荷才露尖尖角,,我們已經(jīng)嗅到了SLAM將在各個領(lǐng)域全面入侵的苗頭。 有了它,,將讓真正的智能機器人觸手可及,。 有了它,無人機將不再依賴于雞肋的色塊識別,。 有了它,,Magic Leap 這樣的AR神話將變成現(xiàn)實。 …… 如果僅僅是一個無人機行業(yè),,借用大疆那位工程師的經(jīng)典點評“所有的關(guān)于無人機的夢想都建立在SLAM之上”,,那其它行業(yè)SLAM將帶給我們怎樣的震撼,你能預(yù)見嗎,? |
|