Wayve:從源頭講起,如何實現(xiàn)以對象為中心的自監(jiān)督感知方法?
1. 摘要
以對象中心的表示使自主駕駛算法能夠推理大量獨立智能體和場景特征之間的交互。傳統(tǒng)上,這些表示是通過監(jiān)督學習獲得的,但會使感知與下游駕駛任務分離,可能會降低模型的泛化能力。在這項工作中,我們設計了一個以對象為中心的自監(jiān)督視覺模型,僅使用RGB視頻和車輛姿態(tài)作為輸入來實現(xiàn)進行對象分割。我們在Waymo公開感知數(shù)據(jù)集上證明了我們的方法取得了令人滿意的結果。我們發(fā)現(xiàn)我們的模型能夠學習一種隨時間推移融合多個相機姿勢的表示,并在數(shù)據(jù)集中成功跟蹤大量車輛和行人。我們介紹了該方法的起源和具體實現(xiàn)方法,并指明了未來的發(fā)展方向,為了幫助大家更好地復現(xiàn)代碼,我們將詳細地參數(shù)列入附表。
論文地址:https://arxiv.org/abs/2307.07147
模型代碼:https://github.com/wayveai/SOCS。
2. 方法起源
人類和機器人有一種傾向,即認為對象的行為是單一連貫的,這是一種與生俱來的感知法則。對象在人類視覺中發(fā)揮著核心作用。我們根據(jù)特征將對象分組,用它們來描述我們周圍的環(huán)境,同時,為我們不熟悉的對象尋找語義標簽。當使用視覺表示進行下游任務時,如機器人技術等,對象中心模型是令人滿意的:因為它們比端到端模型更容易被人類理解——這對驗證安全性和贏得人類對視覺系統(tǒng)的信任非常重要。除此之外,以對象為中心的表示還提供了一套多樣而強大的推理真實世界的工具,如物理理解模型、多智能體預測和規(guī)劃模型以及因果推理模型。支持這類模型的表示可能對自動駕駛至關重要,因為在自動駕駛中,使用這些表示對大量相互作用的智能體和物理因素進行推理,可以獲得車輛的最佳運動軌跡。
傳統(tǒng)上,以對象中心的表示是通過訓練監(jiān)督對象檢測模型,并從中提取對象屬性(如位置和速度)來實現(xiàn)的。這種方法有兩大缺點。首先,它需要與檢測對象相匹配的帶標簽數(shù)據(jù)集,而大規(guī)模獲取帶標簽數(shù)據(jù)集的成本很高,而且可能會引入不必要的偏差。另外,為了使系統(tǒng)能夠處理新的對象或新的環(huán)境,必須收集新的帶標簽的數(shù)據(jù)。沒有足夠正確標注的數(shù)據(jù)會影響這類方法的泛化能力,但這正是以對象為中心的自監(jiān)督模型的關鍵優(yōu)勢之一。
其次,根據(jù)有監(jiān)督的視覺模型預測創(chuàng)建的對象表示,會使感知和決策組件之間脫節(jié)。例如,騎自行車的人應該被視為一個對象還是兩個對象?兩人乘雙人自行車又如何?他們在向人行道上的行人揮手重要嗎?如果他們正在打轉向手勢呢?這些問題的正確答案取決于如何使用信息做出決策。理想情況下,感知行為的結果應該反饋并改善感知本身,利用端到端學習,可以找到比手工設計更好的以對象為中心的表示。
這些考慮激發(fā)了以對象為中心的自監(jiān)督感知模型的設計,這種模型將圖像編碼到一個將相關信息劃分為多個“槽”的潛在空間中,然后這些槽中的信息被解碼為自監(jiān)督目標,如例如重建原始RGB輸入,以及用于下游任務。已經(jīng)有不少論文提出了各種方法,來鼓勵模型在單個槽中編碼關于不同對象的信息,例如通過使用使槽在像素上競爭注意力的編碼器,或者通過不同的自動編碼器損失來鼓勵槽解碼。然而,這些方法在復雜的現(xiàn)實世界數(shù)據(jù)中難以獲得良好的結果。最近,SAVi++算法在Waymo真實世界駕駛視頻公開數(shù)據(jù)集上顯示了其分割能力。然而,這些結果需要額外的深度監(jiān)督,而且需要初始對象與周圍環(huán)境邊界的槽,才能夠獲得最佳性能。
基于上述考慮,我們提出了一種僅使用RGB視頻和相機運動信息進行自監(jiān)督分割的模型,并在真實駕駛視頻上獲得了良好的的結果。相機運動信息在自動駕駛車輛中容易獲得(例如來自同時定位與建圖(SLAM)或輪組測距),而且不需要專用激光雷達等傳感器,因此是一種特別經(jīng)濟的方法。
3. 方法實現(xiàn)
我們的模型架構建立在SIMONe的視圖監(jiān)督變體上。該模型的目標是將場景分割為一組K個對象槽,對場景中每個對象的信息進行編碼。通過以下步驟可以獲得這些槽。首先,輸入X(F幀圖像序列,可選擇從多相機視點)由標準卷積神經(jīng)網(wǎng)絡(CNN)并行處理,得到一組特征補丁。補丁與位置嵌入連接,位置嵌入在每個補丁源圖像內(nèi)的位置,以及與源圖像相關的時間和視點變換矩陣進行編碼。然后,它們作為僅解碼transformer的輸入信號。輸出標記在整個圖像維度上的平均值。在原始SIMONe模型中,這個維度對應于單個相機在幾個時間點上拍攝的圖像;但在這項工作中,我們使用了三個不同的姿勢的相機,在時間和視點上進行取平均值。最后,通過MLP將每個信號解碼為m維向量和,這兩個向量分別包含單個槽中潛預測平均值和方差。如果輸入信號的數(shù)量與所需的槽的數(shù)量不同,則在transformer層的中途可選地進行跨信號特征的空間池化操作。具體模型如下圖所示。
3.1. 訓練和損失
為了鼓勵模型在不同的槽中存儲不同對象的信息,在訓練期間我們應用三個互補的損失。第一項是每個槽潛在向量與單位正態(tài)分布之間的KL散度之和,對所有槽求和:
其中是輸入幀,是槽 的m維正態(tài)分布,均值和方差由模型預測,先驗分布是一個單位球面正態(tài)分布。直觀地,這個損失鼓勵模型避免使用多個槽表示同一對象,因為與使用單個槽表示對象并讓其他槽保持接近單位正態(tài)分布相比,這樣做會導致更大的懲罰。這個損失還鼓勵潛在向量的每個維度之間解耦。
第二個損失基于模型執(zhí)行對象級重建任務的能力。首先,根據(jù)每個槽 的潛在分布獲取對象的潛在向量。然后,每個被獨立解碼到空間廣播解碼器進行逐像素預測。為了滿足模型計算要求和內(nèi)存需求,在訓練期間每個輸入序列中僅對N個隨機像素進行解碼。每個槽 對每個像素的預測結果用RGB分布表示。和邏輯單元 (經(jīng)過槽歸一化)表示槽 表示像素的可能性。為了獲得每個像素的最終預測,我們?nèi)∶總€槽預測的加權混合:
其中針對像素的每槽分布經(jīng)softmax后的值加權:
的分布在第3.3節(jié)中進行了更詳細的討論。
最后,重建損失是每個像素在混合分布下的真實RGB值的對數(shù)概率:
由于每個槽的對象潛變量被獨立解碼,模型被迫在預測每個像素的RGB值時一次只使用單個槽中編碼的信息。因此,直觀地,這個損失鼓勵模型將預測像素的顏色所需的所有信息存儲在單個槽中。
另外,學習到的槽表示還可以用于各種輔助任務。在本文中,受到對象與自動駕駛環(huán)境中相關的表示與用于預測良好駕駛動作的表示之間的密切聯(lián)系的啟發(fā),我們實驗使用預測車輛自身的未來路徑作為輔助任務。在圖像池化步驟之后,槽信息經(jīng)過兩個Transformer 解碼器層,求平均值,并通過單層MLP解碼成一系列預測偏移量,在自我參考幀的xy平面上。然后我們應用以下任務損失:
其中匯總是對每個未來時間點。我們使用以10Hz頻率開始于最后圖像幀之后0.1秒的自我參考幀中的16個未來路徑。
最終訓練損失與負ELBO損失類似,增加了輔助任務損失:
其中和超參數(shù)平衡不同的損失項。
3.2. 附加的模型輸出
除了參數(shù)化加權混合像素分布,權重還作為每一個槽 的α 掩碼,使我們可以非常直觀地看到每個槽關注場景的哪些像素。為每個槽取最大值可以得到場景的預測分割。這種分割可以幫助模型調(diào)試和解釋。例如,如果無法用掩碼跟蹤特定車輛,表明模型沒有從場景的其他特征中區(qū)分出該對象的特征,因此沒有獨立表示其運動狀態(tài)。
對象的槽或潛在向量也可以解碼為圖像重建或軌跡預測以外的其他輸出。其他潛在下游任務可能包括視頻預測、生產(chǎn)系統(tǒng)模型或有運動條件世界模型。在端到端機器學習中,哪些輔助任務可以協(xié)同提升性能,是一個激動人心的開放問題。
3.3. 對象槽解碼分布
原始SIMONe模型采用正態(tài)分布預測的像素RGB值。(注意,在本節(jié)中,我們將RGB元組稱為正態(tài),但在現(xiàn)實中,R、G和B通道是獨立對待的。)我們發(fā)現(xiàn),在進行場景中分割時,這個分布會導致模型過度依賴顏色差異。這會導致一些失敗的案例,如無法分割車身和擋風玻璃、無法識別出與背景顏色相似的對象等。我們猜測這是因為在兩個不同顏色的區(qū)域邊界附近,模型不確定為給定像素分配什么顏色。為了用正態(tài)分布表示這種不確定性,模型被迫將不同顏色的區(qū)域分配給不同的槽,并使用每個槽的權重給出每種顏色的可能性 。
對于我們的體系結構,我們使用多頭正態(tài)分布替換SIMONe中的正態(tài)分布,來減輕這個問題。定性的說,我們發(fā)現(xiàn)這能夠更好地反映對象運動的分割。對于每個像素和每個槽 k,解碼器輸出H個模式,其中預測平均RGB元組和邏輯單元 決定每個模式的權重。(注意,此外還有一個單獨的“全局” 回歸,它控制第k個槽對總混合分布的貢獻,如方程2所示。) 因此,每個槽的分布是:
其中正常分布的方差是一個超參數(shù)。當時,這簡化為SIMONe中的解碼分布:
在我們的實驗中,我們使用和。
最后,模型的分割結果和軌跡預測如下圖所示:
4. 結論
最近,以對象為中心的自我監(jiān)督表示學習方法,在具有明確定義對象的人工數(shù)據(jù)集上表現(xiàn)出了很強的性能,但在具有復雜紋理和模糊對象的復雜真實世界數(shù)據(jù)上仍然舉步維艱。在本文中,我們已展示的結果表明,通過使用相機姿態(tài)作為附加輸入,有可能在RGB駕駛視頻中獲得合理的動態(tài)、以對象中心的表示。與3D深度傳感器不同,姿態(tài)估計是自動駕駛汽車的一個普遍特征,因此我們認為我們的方法是在自動駕駛領域實現(xiàn)可擴展的、實用的,以對象中心的表示學習的一個很有前途的途徑。此外,我們的研究結果表明,預測車輛自身的未來姿態(tài)是一項協(xié)同任務,它不會阻礙學習表達的質量。這對端到端駕駛模型來說尤其令人興奮,因為它打開了駕駛性能和表示學習共同建立良性循環(huán)的可能性,同時保留了以對象為中心的表示的關鍵優(yōu)勢,如可解釋性。
我們認為仍有可能進一步提高對象分割質量,例如,通過擴大模型規(guī)模和采取數(shù)據(jù)增強策略(這兩點對SAVi++的性能非常重要)。我們還注意到,Waymo 公開感知數(shù)據(jù)集包含三個前向攝像頭的480,000幀圖像,對于理想的表示學習而言相比,該數(shù)據(jù)集的規(guī)模與其復雜性可能不夠大。相比之下,最近的對象場景表示transformer模型是在1000萬幀合成數(shù)據(jù)集上訓練的。
最后,我們注意到,我們模型中的KL-發(fā)散損失鼓勵學習理順的對象潛在特征。更詳細地研究這些特征是未來工作的一個令人興奮的方向。
5. 論文中的超參數(shù)
參數(shù) | 值 |
---|---|
權重, β (帶路徑預報任務) | 5e-7 |
β (無路徑預報任務) | 4.5e-7 |
權重, | 1e-4 |
對象槽的方差, | 0.08 |
對象槽數(shù)量 | 21 |
對象潛在維度 | 32 |
Transformer 層數(shù) | 6 |
Transformer 頭數(shù) | 4 |
Transformer 特征維度 | 512 |
Transformer 前饋維度 | 1024 |
重建 MLP 層數(shù) | 3 |
重構MLP的隱藏維度 | 1536 |
圖像序列長度 | 8 |
圖像尺寸(高、寬) | (96, 224) |
每個訓練序列解碼的像素數(shù)量,N | 2016 |
批大小 | 8 |
學習率 | 1e-4 |
-
編碼器
+關注
關注
45文章
3573瀏覽量
133980 -
算法
+關注
關注
23文章
4587瀏覽量
92501 -
數(shù)據(jù)集
+關注
關注
4文章
1200瀏覽量
24619
原文標題:Wayve:從源頭講起,如何實現(xiàn)以對象為中心的自監(jiān)督感知方法?(附代碼)
文章出處:【微信號:GiantPandaCV,微信公眾號:GiantPandaCV】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論