在 " 世界模型 " 分論壇上,浙江作用浙江大學(xué)研究員彭思達(dá)帶來了《面向具身智能的大學(xué)底層對(duì)訓(xùn)通用空間感知技術(shù)》的主題演講,介紹了其團(tuán)隊(duì)近期在賦予機(jī)器人通用感知能力方面的研究員彭有何多項(xiàng)工作。彭思達(dá)是思達(dá)浙江大學(xué)軟件學(xué)院 " 百人計(jì)劃 " 研究員、博士生導(dǎo)師,空間研究方向?yàn)槿S計(jì)算機(jī)視覺和計(jì)算機(jī)圖形學(xué)。感知
? 團(tuán)隊(duì)主要聚焦于賦予機(jī)器人三項(xiàng)基礎(chǔ)能力:一是技術(shù)相機(jī)定位(Camera Pose Estimation),即讓機(jī)器人知道自己在空間中的練機(jī)位置;二是深度估計(jì)(Depth Estimation),使機(jī)器人了解場(chǎng)景中各物體與自身的器人距離;三是物體運(yùn)動(dòng)估計(jì)(Object Motion Estimation),讓機(jī)器人感知世界的浙江作用運(yùn)動(dòng)狀態(tài)。?
? 這些底層空間感知技術(shù)有何作用?大學(xué)底層對(duì)訓(xùn)首先,它們能為機(jī)器人提供關(guān)鍵的研究員彭有何決策信息。例如,思達(dá)無人機(jī)在空間中需要先知道自身位置、空間與場(chǎng)景目標(biāo)的感知距離,才能實(shí)現(xiàn)基礎(chǔ)避障;進(jìn)而還需了解目標(biāo)物體的運(yùn)動(dòng)情況,才能進(jìn)行追蹤?;趶膱?chǎng)景中獲取的三維空間信息,機(jī)器人的行為規(guī)劃便能得到有力支持。?
? 其次,這些技術(shù)可用于生成訓(xùn)練數(shù)據(jù)。當(dāng)前具身智能領(lǐng)域的一大難題是數(shù)據(jù)匱乏。以往有人嘗試仿真或遙操獲取數(shù)據(jù),但遙操數(shù)據(jù)雖好卻難以規(guī)?;瘮U(kuò)展,而仿真技術(shù)目前仍與真實(shí)世界存在較大差距。
彭思達(dá)提出,其實(shí)可將人類視作一種特殊形態(tài)的機(jī)器人——具備完整的身體結(jié)構(gòu)與行為模式。若能發(fā)明一種數(shù)據(jù)采集設(shè)備,將人類日常行為完整記錄下來,就相當(dāng)于獲取了機(jī)器人所需的行為數(shù)據(jù),從而可用于訓(xùn)練人形機(jī)器人。這其中便涉及相機(jī)定位、深度估計(jì)與物體運(yùn)動(dòng)估計(jì)等技術(shù)。
相機(jī)定位
相機(jī)定位方面,最傳統(tǒng)經(jīng)典的方法是 Colmap。該方法從圖像中提取特征并進(jìn)行兩兩匹配,再通過增量式運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)(SfM)得到相機(jī)位置。最終每張圖像對(duì)應(yīng)一個(gè)相機(jī)位置,并共同生成三維點(diǎn)云,形成經(jīng)典的三維重建流程。
然而,該流程目前面臨的挑戰(zhàn)在于圖像匹配。團(tuán)隊(duì)發(fā)現(xiàn),傳統(tǒng)匹配方法在惡劣環(huán)境或視角差異較大的情況下效果不佳,會(huì)影響后續(xù)相機(jī)位姿估計(jì)的準(zhǔn)確性。
針對(duì)這一問題,彭思達(dá)所在實(shí)驗(yàn)室于 2021 年提出一種新方法:不再依賴傳統(tǒng)匹配方式,而是直接使用 Transformer 大模型進(jìn)行圖像匹配。具體而言,將兩張圖像輸入 LoFTR 模型以提取稠密特征,這些特征之間即使在弱紋理區(qū)域也能實(shí)現(xiàn)良好的匹配。
但這個(gè)方法的問題是,多模態(tài)匹配很難,例如現(xiàn)實(shí)環(huán)境往往是黑夜白天交替、熱傳感跟可見光同時(shí)出現(xiàn),這種情況下兩兩無法匹配。所以我們要解決跨模態(tài)的問題,
去年團(tuán)隊(duì)針對(duì)此問題提出了新的工作叫 MatchAnything,核心思路是用大量來源的數(shù)據(jù),和多模態(tài)預(yù)訓(xùn)練框架去訓(xùn)練 LoFTR 模型,成功實(shí)現(xiàn)了實(shí)現(xiàn)了紅外和可見光、事件和可見光、CT 和 MR 的匹配。這其中其實(shí)是工程數(shù)據(jù)問題,彭思達(dá)團(tuán)隊(duì)整合了多種數(shù)據(jù)來源,一種是常見的多視角圖像,一種是大量的單目視頻。單目視頻要如何匹配?團(tuán)隊(duì)使用了成熟的光流算法,將其一個(gè)個(gè)拼接起來,得到一個(gè)長時(shí)序的匹配關(guān)系。第三種數(shù)據(jù)來源是通過圖像變換,例如將單張圖片用傳統(tǒng)的圖像變換給 warp,就形成了一個(gè)稠密匹配。
前三種都是在同一個(gè)模態(tài)下,進(jìn)一步增光匹配的數(shù)據(jù)訓(xùn)練來源,還有一種是做跨模態(tài)數(shù)據(jù)生成。團(tuán)隊(duì)通過對(duì)現(xiàn)有兩兩匹配中的一張圖片做跨域生成,比如將其變成熱傳感圖像、黑夜圖像、深度圖像,發(fā)現(xiàn)只做少量的三種模態(tài)就能實(shí)現(xiàn)任意跨模態(tài)能力。如此便可以實(shí)現(xiàn)即便衛(wèi)星圖像是夏天的,無人機(jī)在冬天工作也能匹配,以前是匹配不上的。
此外,跨模態(tài)數(shù)據(jù)生成還包括可見光跟雷達(dá)圖像,可見光跟矢量地圖,紅外跟可見光,匹配的情況增多,逐漸形成一個(gè)匹配的模型后,特別是應(yīng)用于遙感領(lǐng)域的無人機(jī)性能大大增強(qiáng),同時(shí)應(yīng)用于自動(dòng)駕駛領(lǐng)域也出現(xiàn)了不錯(cuò)的效果。
但 MatchAnything 面臨一個(gè)問題,即沒法融入已有的 SfM 算法,因?yàn)?MatchAnything 或者 LoFTR 模型的輸出匹配因圖片對(duì)不同而不同,導(dǎo)致無法建立多視圖匹配,因此沒法直接用在 SfM 算法中。
彭思達(dá)表示這是一個(gè)大問題,導(dǎo)致 MatchAnything 無法直接用于相機(jī)定位,為此他們又提出一個(gè)新的解決思路 Detector-free Sf,即先基于 MatchAnything 重建一種粗糙的模型,再做模型優(yōu)化。
具體做法是給兩張圖片做無特征檢測(cè)的圖像匹配,因?yàn)闊o法很好地形成多視角匹配,首先要做量化匹配把多張圖片的匹配關(guān)系連接起來,再去跑傳統(tǒng)的 SFM 算法。但圖片匹配關(guān)系被量化后,準(zhǔn)確率降低,所以 SFM 跑出來的結(jié)果不準(zhǔn)。因此需要迭代式去優(yōu)化。
迭代式優(yōu)化的具體流程是先優(yōu)化多視角匹配,再優(yōu)化三維模型,根據(jù)下圖所示,優(yōu)化后就能看到最右邊的三維模型有一個(gè)更精密的點(diǎn)云以及更精細(xì)的三維位姿。
同時(shí),Detector-free SfM 面臨的問題跟所有傳統(tǒng)方法一樣,重建速度太慢了,一個(gè)模型迭代式優(yōu)化可能需要幾十個(gè)小時(shí)甚至一天,以至于對(duì)于那些對(duì)時(shí)間比較敏感的重建任務(wù)不太好用。
為了解決速度的問題,彭思達(dá)團(tuán)隊(duì)進(jìn)而進(jìn)行了一項(xiàng)端到端的重建工作。已有的方法像 VGGT,這是今年 CVPR 的最佳論文,最大的突破是直接使用一個(gè)大型的大模型去回歸圖片的相機(jī)位置和深度,因?yàn)槭蔷W(wǎng)絡(luò)直出所以速度很快,比如一個(gè)場(chǎng)景傳統(tǒng)的相機(jī)位置估計(jì)方法可能需要十幾個(gè)小時(shí),VGGT 只需要一兩秒,這是非常大的提升。
但 VGGT 最大的問題是沒法處理大規(guī)模場(chǎng)景,因?yàn)樗莻€(gè)大的網(wǎng)絡(luò),圖片越多網(wǎng)絡(luò)很容易就會(huì)爆顯存。處理上百張圖片勉強(qiáng)可以,但是 1000 張肯定就不行了。
一個(gè)直觀的解決辦法將大場(chǎng)景進(jìn)行分段預(yù)測(cè)。如果沒辦法一次性處理太多圖片,可以把大場(chǎng)景進(jìn)行分段預(yù)測(cè),分成很多 chunk,然后對(duì)每個(gè) chunk 去估計(jì)相機(jī)位置。但這種情況下,由于每個(gè) chunk 預(yù)測(cè)不夠精準(zhǔn),導(dǎo)致 chunk 之間難以拼接,兩兩連接效果并不好,最后會(huì)形成一個(gè)累積誤差,整個(gè)網(wǎng)絡(luò)會(huì)壞掉。
對(duì)此,彭思達(dá)團(tuán)隊(duì)提出了一個(gè)新方法 Scal3R,其相關(guān)論文已經(jīng)被 CVPR 接收。該方法受人類的全局視野啟發(fā)——人有全局視野的情況下,對(duì)局部場(chǎng)景的幾何預(yù)測(cè)也有更一致的預(yù)測(cè),所以 Scal3R 致力于賦予 VGGT 對(duì)目標(biāo)場(chǎng)景的全局視野。
構(gòu)建全局視野的具體方法是使用網(wǎng)絡(luò)權(quán)重記錄每個(gè) chunk 的內(nèi)容。具體實(shí)現(xiàn)的流程是先輸入 chunk 的一組圖片,直接更新到一個(gè)網(wǎng)絡(luò)權(quán)重里就能記錄這組 chunk 圖片內(nèi)容。在推理中如何實(shí)現(xiàn)呢?一個(gè)網(wǎng)絡(luò)模塊直接預(yù)測(cè) KB,再拿這個(gè) KB 去更新一個(gè)網(wǎng)絡(luò)權(quán)重,該網(wǎng)絡(luò)權(quán)重就記錄了該 chunk 的圖片內(nèi)容。
在線更新網(wǎng)絡(luò)權(quán)重作為場(chǎng)景的記憶,整個(gè)網(wǎng)絡(luò)就記錄了整個(gè)場(chǎng)景的記憶,有了記憶可以預(yù)測(cè)出每個(gè) chunk 的顯性位置的點(diǎn)云,該點(diǎn)云也更具有全局一致性,因此拼接起來效果更好。
深度估計(jì)
深度估計(jì)是通用空間感知的關(guān)鍵組成部分。去年,彭思達(dá)團(tuán)隊(duì)在提升深度估計(jì)能力方面取得了三項(xiàng)進(jìn)展,其中之一是 "Pixel-Perfect-Depth" 思路。
? 具身智能需要深度估計(jì),是因?yàn)闇?zhǔn)確的深度信息能提升機(jī)器人的決策性能。但現(xiàn)有方法普遍在物體邊緣存在 " 飛點(diǎn) " 問題:判別式模型(如 Depth Anything)傾向于預(yù)測(cè) " 折中值 " 以最小化損失,從而導(dǎo)致飛點(diǎn);生成式模型(如 Marigold)雖能從理論上建模多峰深度分布,但因使用 VAE 進(jìn)行壓縮,同樣會(huì)產(chǎn)生飛點(diǎn)。?
? 團(tuán)隊(duì)從生成式模型出發(fā),提出了 Pixel-Perfect-Depth 的解決思路:首先移除 VAE,直接在像素空間進(jìn)行優(yōu)化,以避免 VAE 帶來的信息損失,使得像素空間擴(kuò)散避免了邊緣飛點(diǎn)。然而,沒有 VAE 后模型需要更全局的視野,因此他們將語言特征整合到 DiT 模型中,發(fā)現(xiàn)這能顯著增強(qiáng)模型深度估計(jì)能力。
Pixel-Perfect-Depth 方法還能拓展提升視頻深度估計(jì)能力。相對(duì)于單張圖片輸入,常見的是視頻輸入,要對(duì)視頻深度估計(jì),只需要在 Pixel-Perfect-Depth 上做兩個(gè)簡單的改進(jìn),首先是提取視頻的語義特征,得到特征以后注入到多視角的估計(jì)模型里;第二,視頻深度估計(jì)重要的是保持時(shí)序的連續(xù)性,通過 target tokens 疊加 reference tokens,提升時(shí)序一致性。
Pixel-Perfect-Depth 雖然能做好單張圖片和視頻深度估計(jì),但做不好帶尺度的深度估計(jì)。而很多場(chǎng)景是帶尺度的,因?yàn)闆]有尺度機(jī)器人就不好用。為了解決該問題,彭思達(dá)團(tuán)隊(duì)從語言模型的 prompt 技術(shù)匯總獲得靈感,試圖探索為深度基礎(chǔ)模型設(shè)計(jì)提示詞機(jī)制,以提升其輸出絕對(duì)深度的準(zhǔn)確性。
他們將雷達(dá)做誒深度感知的 prompt 喂給深度估計(jì)基礎(chǔ)模型,讓其產(chǎn)生絕對(duì)深度。
該算法 Prompt Depth Anything 不僅可以提升通用機(jī)器人抓取能力,抓取成功率超越 Image 及 LiDAR 作為輸入;還能應(yīng)用于自動(dòng)駕駛重建;做三維掃描、前饋式三維高斯等等。
但 Prompt Depth Anything 仍然存在問題,要得到三維場(chǎng)景的深度估計(jì)一般通過反投影,但透視投影在相鄰視角看著還不錯(cuò),如果俯視、反投影得到的點(diǎn)云在遠(yuǎn)處會(huì)產(chǎn)生裂痕。
對(duì)此彭思達(dá)團(tuán)隊(duì)提出了一個(gè)叫 InfiniDepth 的解決思路,即不只是給每個(gè)像素估計(jì)深度值,還給每個(gè)次像素估計(jì),其論文已經(jīng)投稿在 CVPR。具體做法是將已有 DPT Head 改為 Implicit Decoder,就能得到一個(gè)完整的幾何,達(dá)到大范圍的視角渲染。這樣能提高模型精細(xì)度,例如能更好服務(wù)于機(jī)器人去抓取線纜的能力。
物體運(yùn)動(dòng)估計(jì)
將人類行為數(shù)據(jù)轉(zhuǎn)化為有效訓(xùn)練數(shù)據(jù),是當(dāng)前具身智能發(fā)展的關(guān)鍵。這需要獲取深度信息、相機(jī)運(yùn)動(dòng)以及人類行為語義軌跡,而語義軌跡的獲取又依賴于跟蹤。彭思達(dá)團(tuán)隊(duì)去年的一個(gè)工作就跟三維跟蹤有關(guān)。?
? 此前已有方法使用時(shí)序匹配進(jìn)行跟蹤,例如 Google 的 CoTracker:先初始化一組二維像素點(diǎn),再利用 Transformer 迭代優(yōu)化這些點(diǎn)的軌跡。但該方法僅在二維層面進(jìn)行跟蹤,容易因相鄰區(qū)域的干擾而丟失目標(biāo),效果受限。?
? 彭思達(dá)團(tuán)隊(duì)的思路是將二維圖像反投影至三維空間,做 3D ? tracking。具體做法是:輸入圖像并反投影至三維,獲得三維特征后,在三維空間中初始化一條三維軌跡,再利用 Transformer 對(duì)該軌跡進(jìn)行優(yōu)化,從而實(shí)現(xiàn)更魯棒的跟蹤效果。該方法被命名為 SpatialTracker?!咐追寰W(wǎng)」