從星際之旅到空間計(jì)算:我們發(fā)現(xiàn)計(jì)算機(jī)正通過SLAM重構(gòu)世界

?? 由 文心大模型 生成的文章摘要

在過去幾十年的科技發(fā)展史上,科學(xué)家們一直在探索如何讓計(jì)算機(jī)更精準(zhǔn)地理解和重構(gòu)人類所處的空間。

無論是火星車在遙遠(yuǎn)星球上的孤獨(dú)旅程,還是手中智能設(shè)備在密閉空間中的精確定位,無論是無人駕駛汽車在路面飛馳,還是智能機(jī)器人自主探索世界,SLAM技術(shù)都扮演著至關(guān)重要的角色。先進(jìn)技術(shù)的不斷涌現(xiàn),使得計(jì)算機(jī)不僅能“看到”世界,還能在更復(fù)雜的環(huán)境中“理解”和“導(dǎo)航”,并對(duì)空間計(jì)算的未來產(chǎn)生潛在的影響,擴(kuò)展人類對(duì)物理和數(shù)字世界的認(rèn)知邊界。

01

2003年7月7日美國(guó)卡納維拉爾角(Cape Canaveral),一架Delta 2火箭發(fā)射升空,攜帶著機(jī)遇號(hào)(Oppertunity)火星探測(cè)車飛向遙遠(yuǎn)的火星。

在經(jīng)歷了200余天的漫長(zhǎng)飛行后,機(jī)遇號(hào)于2004年1月25日降落在了火星的子午線高原,開始了對(duì)這顆陌生星球的探索,通過尋找地質(zhì)線索,確定火星的部分地區(qū)過去是否存在適合生命生存的潮濕環(huán)境。

火星與地球間的距離即使在近點(diǎn)也超過5000萬千米,這意味著將近6分鐘的往返通訊延遲,而且二者的自轉(zhuǎn)還會(huì)造成信號(hào)的遮擋,因此在整個(gè)火星探測(cè)的過程中,機(jī)遇號(hào)在接收到遙遠(yuǎn)地球發(fā)來的任務(wù)目標(biāo)后,大部分時(shí)間必須自主的執(zhí)行任務(wù)。

一個(gè)首要的問題,就是如何在沒有GPS網(wǎng)絡(luò)覆蓋的火星上確定自己的位置和行駛軌跡,以保證向目標(biāo)地點(diǎn)的移動(dòng)不會(huì)偏離預(yù)定的路線。

相比它的前輩索杰納號(hào),機(jī)遇號(hào)在外觀上有著明顯大的差異——一根高高豎起的桅桿上,安裝了一對(duì)navcams(導(dǎo)航相機(jī))。這兩個(gè)攝像頭擁有1024×1024像素的CCD陣列,F(xiàn)OV為45度,基線為20厘米,可以生成12位的灰度圖像,用于幫助機(jī)遇號(hào)進(jìn)行導(dǎo)航并避開路途中的障礙。

▲左:機(jī)遇號(hào)同型探測(cè)車MER,右:索杰納號(hào)探測(cè)車
▲左:機(jī)遇號(hào)同型探測(cè)車MER,右:索杰納號(hào)探測(cè)車

過去,科學(xué)家們?yōu)榛鹦翘綔y(cè)車設(shè)定的定位方式,是在火星車靜止時(shí)使用太陽傳感和加速度計(jì)來初始化自身的姿態(tài),隨后在火星探測(cè)車行駛的過程中,不斷通過陀螺儀和車輪上的里程記來計(jì)算自身的運(yùn)動(dòng)矢量。

用這種方式來追蹤火星探測(cè)車的行駛軌跡有很大的局限性——一旦碰到斜坡或者沙地這樣的路況造成車輪打滑,就會(huì)導(dǎo)致定位偏離了探測(cè)車實(shí)際所在的位置,通俗來說,就是定位漂移了。機(jī)遇號(hào)在火星上就曾經(jīng)發(fā)生過一次嚴(yán)重的事故,陷入沙堆中車輪原地旋轉(zhuǎn)了相當(dāng)于50米的行駛距離,如果僅僅依賴于車輪里程記,機(jī)遇號(hào)的位置將發(fā)生50米的漂移,大幅度影響到探測(cè)任務(wù)的執(zhí)行。

這時(shí)候,機(jī)遇號(hào)的navcams就能夠發(fā)揮出重要的作用——它們可以通過視覺特征跟蹤的算法(現(xiàn)在通常被稱為視覺里程記,縮寫為VO,代表Visual Odometry),來不斷估算兩次拍攝之間火星車的運(yùn)動(dòng)矢量。這也是在不增加額外硬件的情況下,火星探測(cè)車解決定位漂移的唯一方案。

▲機(jī)遇號(hào)拍下的火星照片
▲機(jī)遇號(hào)拍下的火星照片

視覺里程記能夠從兩個(gè)navcams拍攝的畫面中尋找出特征點(diǎn)并建立3D坐標(biāo),隨后在多個(gè)分辨率的立體畫面中對(duì)這些特征點(diǎn)進(jìn)行匹配,從而計(jì)算出兩幀畫面之間火星車的方向變化和位移距離。這一算法在1980年由Moravec提出,并在后續(xù)經(jīng)歷了多次改良。

受限于研發(fā)時(shí)間,機(jī)遇號(hào)的導(dǎo)航系統(tǒng)并沒有使用相關(guān)算法將視覺里程記得出的運(yùn)動(dòng)信息與IMU(慣性計(jì)量單元,通常包含陀螺儀和加速度計(jì))以及車輪里程記的數(shù)據(jù)做結(jié)合,而是直接替代IMU+車輪里程記的運(yùn)動(dòng)估算數(shù)據(jù),或者至少替代其中的位置變化數(shù)據(jù)(姿態(tài)變化的數(shù)據(jù)由陀螺儀得出,通常不會(huì)有大幅度的漂移)。

這幅圖片記錄了機(jī)遇號(hào)在Wopmay巖石附近的行駛軌道。黑色的橢圓大致代表巖石的位置。左側(cè)的圖片為IMU+車輪里程記記錄的位置,右側(cè)的圖片為相同路線經(jīng)過VO修正后接近真實(shí)行駛路徑的數(shù)據(jù)。

機(jī)遇號(hào)從左上角的位置出發(fā),先駛向巖石,然后試圖繞行。在1點(diǎn)鐘左右的方向,機(jī)遇號(hào)經(jīng)歷了一次下坡的過程,從圖片可以看出,下坡過程中車輪里程記顯示的位置會(huì)比火星車實(shí)際的位置要更靠上。

受限于機(jī)遇號(hào)火星探測(cè)車的芯片性能——車體電腦使用的是一塊主頻僅有20MHz的RAD6000中央處理器,通過視覺里程記來獲取和處理一次立體畫面并更新機(jī)遇號(hào)的位置和姿態(tài)需要花費(fèi)接近3分鐘的時(shí)間,還要求相鄰兩次拍攝的間距不超過75cm,攝影方位角的變化不超過18度,因此視覺里程記并無法用于機(jī)遇號(hào)的全行程,而是用于短距離關(guān)鍵路徑上的局部定位,例如車輪打滑或者接近指定的科研目標(biāo)時(shí)。

但視覺里程記已經(jīng)在這項(xiàng)任務(wù)中展現(xiàn)出了較高精度和高自主性的優(yōu)勢(shì),并展現(xiàn)了計(jì)算機(jī)通過視覺方式處理定位問題的巨大潛力。

02

在計(jì)算機(jī)領(lǐng)域,如何在陌生的環(huán)境中實(shí)現(xiàn)更精準(zhǔn)的定位,是許多科學(xué)家們孜孜不倦長(zhǎng)期研究的方向。人們將這種定位技術(shù)稱為Simultaneous Localization and Mapping(同時(shí)定位和地圖構(gòu)建),縮寫正是大家經(jīng)常提起的SLAM。

顧名思義,SLAM技術(shù)能夠幫助設(shè)備在環(huán)境中確定其精確的位置,創(chuàng)建環(huán)境的詳細(xì)地圖幫助計(jì)算機(jī)理解周圍環(huán)境結(jié)構(gòu),還能夠結(jié)合定位和地圖構(gòu)建功能實(shí)現(xiàn)復(fù)雜的路徑規(guī)劃和避障任務(wù)。

這項(xiàng)技術(shù)對(duì)于導(dǎo)彈精確制導(dǎo)、智能機(jī)器人、自動(dòng)駕駛汽車、虛擬/增強(qiáng)現(xiàn)實(shí)設(shè)備等諸多領(lǐng)域,都具備著十分重要的意義。

有人將SLAM技術(shù)的發(fā)展分為三個(gè)階段:1960~2003年被稱為“古典時(shí)代(Classical Age)”,2003年~2013年被稱為“vSLAM黃金時(shí)代”,2013年至今則被稱為“提升健壯性(robustness)的第三時(shí)代”。

▲vSLAM發(fā)展歷史一覽
▲vSLAM發(fā)展歷史一覽

在古典時(shí)代,科學(xué)家們主要的研究方向,是驗(yàn)證SLAM問題是否有解。

1960年,匈牙利數(shù)學(xué)家Rudolf E. Kalman提出了一種遞推濾波算法,成功的將狀態(tài)變量引入了濾波理論。在NASA埃姆斯研究中心訪問時(shí),他發(fā)現(xiàn)這種算法對(duì)于解決阿波羅計(jì)劃的軌道預(yù)測(cè)很有用。后來阿波羅飛船的導(dǎo)航電腦使用了這種濾波器,因此這種算法也被命名為卡爾曼濾波(Kalman Filter),主要用于結(jié)合雷達(dá)系統(tǒng)實(shí)現(xiàn)定位功能。

1979年,Maybeck將卡爾曼濾波算法拓展到了非線性系,實(shí)現(xiàn)了Extended Kalman Filter(EKF),常用于目標(biāo)跟蹤系統(tǒng)。

1986年R.C. Smith和P. Cheeseman對(duì)于空間不確定性表示和估算的研究,以及1991年Hugh F. Durrant-Whyte對(duì)于《針對(duì)自動(dòng)行動(dòng)機(jī)器人同時(shí)建筑地圖構(gòu)建和定位(Simultaneous map building and localization for an autonomous mobile robot)》的研究,證明了在無限數(shù)據(jù)限制的情況下,該問題有解。

在這些研究成果的激勵(lì)下,科學(xué)家們開始尋找易于計(jì)算的近似解決方案。

1988年,Smith et al.率先提出了EKF-SLAM算法,可以結(jié)合激光遙測(cè)或是多種測(cè)量方式的里程記,在機(jī)器人上實(shí)現(xiàn)SLAM功能。

但直到2003年,才有一種直接使用單個(gè)網(wǎng)絡(luò)攝像頭、不依賴于其他里程記的SLAM算法被Davision et al. 提出,稱為MonoSLAM。MonoSLAM是首個(gè)基于單個(gè)低成本視覺傳感器的實(shí)時(shí)SLAM算法,能夠以三維的方式進(jìn)行定位和地圖重建。

自此SLAM技術(shù)的發(fā)展進(jìn)入了vSLAM(純視覺SLAM,即只依賴視覺傳感器進(jìn)行SLAM的方式)的黃金時(shí)代,越來越多的vSLAM算法被提出,人們也在嘗試通過不同的視覺傳感器來實(shí)現(xiàn)更精準(zhǔn)高效的vSLAM功能。

▲圖源:Visual-SLAM Classical Framework and Key Techniques: A Review
▲圖源:Visual-SLAM Classical Framework and Key Techniques: A Review

vSLAM技術(shù)框架可以分為四個(gè)部分,分別是前端(包括視覺傳感器、視覺里程記)、后端(基于濾波算法或者基于優(yōu)化算法)、建圖和回環(huán)檢測(cè)。機(jī)遇號(hào)火星探測(cè)車上的視覺里程記,正是vSLAM框架里的前端部分,主要用于確定位置。

不過,純視覺SLAM方案還存在著一些限制,例如環(huán)境變化大或者環(huán)境光較弱的情況可能帶來定位與建圖精準(zhǔn)度和效率的下降,攝像頭本身刷新率的限制(通常只有30/60Hz)帶來的定位延遲等等。

因此,自2013年以來,SLAM技術(shù)開始走向視覺與多傳感器融合的方向發(fā)展,以提升自身在不同環(huán)境下工作的健壯性(魯棒性)。Kinect Fusion正是其中的代表算法之一,這是微軟為Kinect這臺(tái)具備深度傳感器的設(shè)備(即RGB-D)量身打造的SLAM算法。另一種方向則是將視覺傳感器與IMU相結(jié)合的算法,通常被稱為vi-SLAM算法。

▲vSLAM以及vi-SLAM算法年表
▲vSLAM以及vi-SLAM算法年表

我們?cè)谝粡埡?jiǎn)單的表格中列舉了目前三種主流的SLAM方案——單目、雙目、RGB-D。從下列表格中,可以快速了解三種方案各自的優(yōu)缺點(diǎn)。

簡(jiǎn)單來說,單目SLAM方案優(yōu)點(diǎn)是成本低、性能開銷小、功耗低,缺點(diǎn)在于初始化速度、尺度信息缺失無法得出真實(shí)大小以及累積誤差大;

一個(gè)最直觀的案例,是如果用戶在不帶有LiDAR功能的iPhone或iPad上使用測(cè)距功能,該功能會(huì)要求用戶移動(dòng)攝像頭,以完成SLAM的初始化然后開始測(cè)量,期間或許還使用到了iPhone和iPad上的IMU數(shù)據(jù),以解決尺度缺失的問題。

反之擁有LiDAR功能的iPhone和iPad在使用測(cè)距功能時(shí)就能夠跳過移動(dòng)攝像頭的步驟,直接進(jìn)入使用環(huán)節(jié)。測(cè)距功能的背后,正是視覺與IMU或者LiDAR數(shù)據(jù)融合實(shí)現(xiàn)的SLAM算法。

雙目SLAM方案的優(yōu)點(diǎn)是單幀畫面即可完成初始化、深度信息精準(zhǔn)、累積誤差較小且符合人類通過視覺認(rèn)知世界的方式,缺點(diǎn)在于算法性能開銷大、雙攝標(biāo)定復(fù)雜對(duì)誤差敏感;

RGB-D SLAM方案的優(yōu)點(diǎn)是深度信息直接通過傳感器得出降低了性能開銷,室內(nèi)效果好能夠有效處理近距離場(chǎng)景重建和導(dǎo)航任務(wù),缺點(diǎn)在于成本和功耗較高,且不適用于室外環(huán)境。

值得一提的是,單目和雙目SLAM方案都有結(jié)合了IMU的版本,在定位方面可以實(shí)現(xiàn)更小的累積誤差,常見于VR頭顯和AR眼鏡的Inside-out追蹤方案中。通常情況下,單目vi-SLAM方案是雙目vi-SLAM方案的下位替代,僅在極端苛求功耗和算力的情況下被使用。

03

蘋果為Vision Pro提出了空間計(jì)算概念,旨在利用先進(jìn)的傳感器和圖形處理技術(shù),將現(xiàn)實(shí)世界大的信息整合到數(shù)字環(huán)境中,強(qiáng)調(diào)虛擬與現(xiàn)實(shí)的無縫融合。

在這一概念下,空間計(jì)算硬件相較以往的VR頭顯或是AR眼鏡,對(duì)自身的SLAM能力提出了更高的要求——不僅要追求“Localization(定位)”精準(zhǔn),還要追求“Mapping(建圖)”精細(xì)。

換句話說,高精度的重構(gòu)建圖,是目前讓計(jì)算機(jī)認(rèn)知現(xiàn)實(shí)空間的最佳途徑。問題在于,如何才能實(shí)現(xiàn)高精度的三維建圖呢?

或許聰明的讀者已經(jīng)想到了答案——拋開缺乏真實(shí)尺度且累積誤差較大的單目SLAM,能不能將雙目和RGB-D的優(yōu)點(diǎn)結(jié)合起來,再加上IMU高刷新率的特點(diǎn),打造一套“地表最強(qiáng)”的SLAM系統(tǒng)?

微軟、Meta和蘋果,也是這么想的。

微軟于2015年1月22日發(fā)布的第一代HoloLens,配備了四顆環(huán)境感知攝像頭、一顆深度攝像頭以及一個(gè)IMU單元。微軟官方將HoloLens SLAM功能中的地圖重建功能稱為Spatial Mapping,HoloLens會(huì)以每秒5幀的速率拍攝周圍空間然后重建為網(wǎng)格模型,并通過SDK開放給開發(fā)者使用。

▲HoloLens Spatial Mapping
▲HoloLens Spatial Mapping

在Spatial Mapping的基礎(chǔ)上,HoloLens還能通過三維語意神經(jīng)網(wǎng)絡(luò)對(duì)重建地圖進(jìn)行語意分割,識(shí)別屋頂、地板、桌子等常見室內(nèi)元素,進(jìn)一步加強(qiáng)設(shè)備的MR體驗(yàn)。

相比HoloLens,蘋果Vision Pro更是“大力出奇跡”的代表,通過2個(gè)紅外攝像頭、1個(gè)TrueDepth深度攝像頭、1個(gè)LiDAR掃描儀以及4個(gè)IMU單元來實(shí)現(xiàn)SLAM功能。

通常情況下,Vision Pro優(yōu)先依賴IMU單元進(jìn)行定位,其他傳感器數(shù)據(jù)作為輔助。僅當(dāng)旅行模式被打開時(shí),Vision Pro會(huì)停止利用IMU加速度計(jì)數(shù)據(jù)來計(jì)算位置變化,轉(zhuǎn)而依賴于攝像頭和陀螺儀。而TrueDepth深度攝像頭和LiDAR的數(shù)據(jù)則主要用于針對(duì)近處環(huán)境進(jìn)行稠密的三維重建。

此外,Vision Pro還有一個(gè)專門的攝像頭用來采集周圍的光線情況,用于逼真的還原虛擬物體在現(xiàn)實(shí)照明環(huán)境中應(yīng)當(dāng)呈現(xiàn)的光影。不僅重建了三維地圖,甚至還重建了光照,凸顯了蘋果的技術(shù)能力和對(duì)細(xì)節(jié)的追求。

在使用Vision Pro的過程中,如果你太靠近一個(gè)物體或者墻壁,系統(tǒng)就會(huì)彈出提示進(jìn)行提醒,這也依賴于Vision Pro強(qiáng)大的實(shí)時(shí)三維重建能力。作為對(duì)比,類似HTC Vive這樣采用Outside-In式追蹤的設(shè)備,需要事先由用戶劃出一片無障礙物的使用區(qū)域,并不具備對(duì)周圍環(huán)境的實(shí)時(shí)建圖能力。

▲Vision Pro三維地圖重建
▲Vision Pro三維地圖重建

Meta在其Quest 2 VR一體機(jī)上已經(jīng)通過雙目攝像頭和IMU單元實(shí)現(xiàn)了對(duì)周圍環(huán)境的重建。但僅僅通過雙目攝像頭和IMU的方式來進(jìn)行SLAM,仍會(huì)存在著一定的累積誤差,導(dǎo)致建圖精度不足,難以支撐高質(zhì)量MR應(yīng)用的需求。

因此,Meta在其最新一代的Quest 3 VR一體機(jī)上新加入了深度傳感器,進(jìn)一步提升了SLAM能力。其中最直觀的,是Meta于去年11月份開放的實(shí)驗(yàn)性Depth API。該API可以向開發(fā)者提供從頭顯視角生成的每幀粗略深度圖,以用于遮擋,例如可以讓手臂動(dòng)態(tài)遮擋住虛擬的物體,此前虛擬物體只能與掃描房間生成的粗糙場(chǎng)景網(wǎng)格形成遮擋。

▲手臂遮擋了虛擬的吉他,圖源:uploadvr
▲手臂遮擋了虛擬的吉他,圖源:uploadvr

從實(shí)際效果來看,受限于深度傳感器的分辨率,Meta Quest 3對(duì)遮擋物體邊緣的處理依然顯得十分粗糙,但相比僅使用雙目攝像頭+IMU的方案,依然實(shí)現(xiàn)了功能和精度的躍升。隨著后續(xù)傳感器分辨率與芯片性能的提升,這種實(shí)時(shí)的遮擋將能夠以更逼真的方式呈現(xiàn)在用戶眼前,實(shí)現(xiàn)更好的虛實(shí)融合效果。

從火星探測(cè)車的視覺里程記,到蘋果的空間計(jì)算設(shè)備Vision Pro,我們見證了SLAM技術(shù)的誕生和進(jìn)化。這項(xiàng)技術(shù)成為了計(jì)算機(jī)與現(xiàn)實(shí)世界的橋梁,彌合了物理和數(shù)字世界的邊界。

可以預(yù)見的是,在SLAM體系中定位技術(shù)較為成熟的當(dāng)下,三維建圖能力將成為空間計(jì)算的必修課,能否更好的通過SLAM能力融合數(shù)字和現(xiàn)實(shí),或許將成為評(píng)判空間計(jì)算產(chǎn)品優(yōu)劣的重要維度,鞭策著廠商們不斷前行。

我們也有理由相信,未來隨著傳感器技術(shù)的進(jìn)一步成熟、SLAM算法的不斷優(yōu)化、以及引入AI幫助形成更強(qiáng)大的場(chǎng)景理解能力,SLAM技術(shù)將會(huì)和空間計(jì)算一同,用數(shù)字的方式重構(gòu)世界,帶來更廣泛的應(yīng)用場(chǎng)景,和更豐富真實(shí)的虛實(shí)結(jié)合體驗(yàn)。

「93913原創(chuàng)內(nèi)容,轉(zhuǎn)載請(qǐng)注明出處」