ICLR2023 | 2D Transformer 可以幫助3D表示學習嗎?(3)
與規(guī)則網(wǎng)格上的圖像不同,點云被認為是不規(guī)則和結構較弱的。許多工作致力于為點云數(shù)據(jù)設計深度學習架構,利用點集的排列和平移不變性進行特征學習。
不僅僅依賴于這樣的專門主干,還利用Transformer主干,這樣更容易與其他模態(tài)(如圖像和語言)統(tǒng)一,并促進跨模態(tài)的知識傳遞。
使用專門的點網(wǎng)絡計算局部幾何塊嵌入,并將其饋送給Transformer以輸出更有效的幾何表示。
假設有一個點云 ,其中N個坐標編碼在 笛卡爾空間中,
- 按照Yu等人(2022)的方法,首先使用最遠點采樣(FPS)選擇個種子點。
- 然后將點云 P 分組為 個鄰域 ,其中種子點集 的中心作為組的中心。每個鄰域包含 K 個點,這些點是通過搜索對應種子點的K個最近鄰點生成的。
- 在每個種子點 周圍計算局部幾何特征 ,通過在鄰域內(nèi)對每個點的特征進行最大池化得到:
其中:
- 是一個具有參數(shù) θ 的點特征提取器,例如中的逐點MLP,是鄰域 中第 j 個鄰點 的特征。
- 將鄰域特征作為標記特征,用于輸入接下來的Transformer塊。
使用標準的Transformer塊作為編碼器,進一步轉換局部塊嵌入 ,其中C是嵌入大小。
按照Yu等人的方法,使用一個具有可學習參數(shù)ρ的兩層MLP 作為位置嵌入,應用于每個塊以實現(xiàn)穩(wěn)定的訓練。
式中,MSA表示多頭自注意的交替層,LN表示分層范數(shù),MLP為兩層,其中GELU為非線性。 是一種可學習的全局表示嵌入,以 作為其可學習的位置嵌入。
3.2 知識蒸餾:掩碼建模的統(tǒng)一視角掩碼建模可以看作是經(jīng)典自編碼器(DAE)的擴展,其中采用了掩碼損失,最近已經(jīng)在語言模型和視覺領域進行了探索。
- 形式上,給定一個由 個 token 組成的序列 ,例如RGB圖像或點云數(shù)據(jù)的標記嵌入。
- 目標是訓練一個學生編碼器 來預測/重建來自教師編碼器 的輸出,其中教師可以是離散變分自編碼器(dVAE)或簡單的恒等映射。
通過這種方式,學生在教師的指導下學習數(shù)據(jù)中的深層知識。
為了損壞輸入數(shù)據(jù),為每個位置生成一組掩碼 ,指示標記是否被掩碼。
使用可學習的損壞嵌入 來替換被掩碼的位置,將損壞的表示 輸入到編碼器或****。這里,表示Hadamard乘積, 是指示函數(shù)。
在某個度量空間 中定義了距離函數(shù) ,作為****,目標是最小化以下距離:
****隨著建模目標的不同而變化,例如,它是BERT的非線性投影,帶有softmax ,其中度量函數(shù)變成交叉熵。可以看作是掩模建模的統(tǒng)一公式。
因此,考慮如何在掩碼3D建模中建立一個知識淵博的老師是很自然的。作者的想法是利用2D或語言基礎模型中的跨模式教師。
四、ACT: 自編碼器作為跨模態(tài)教師
目標是通過預訓練的2D圖像或語言Transformer來促進3D表示學習,該模型具備從大規(guī)模數(shù)據(jù)中吸收的深層知識。
然而,3D點云與2D圖像或語言具有不同的結構,這使得細粒度知識的關聯(lián)變得困難。
為了解決這個問題,采用了一個兩階段的訓練過程。ACT框架的概述如圖1所示。
- 階段I:調整預訓練的2D或語言Transformer作為3D自編碼器,通過自監(jiān)督的提示調整來學習理解3D幾何。
- 階段II:使用預訓練的3D自編碼器作為跨模態(tài)教師,通過掩碼建模將潛在特征蒸餾到3D點云Transformer學生中。
Transformer是最近在各個領域中主導的架構,可以以統(tǒng)一的方式對任何模態(tài)的序列數(shù)據(jù)進行建模。
- 因此,可以直接使用預訓練的Transformer塊,將順序標記與輸入點云的3D位置嵌入一起進行輸入。
- 本文使用輕量級的DGCNN對點云進行處理,其中的邊緣卷積層通過參數(shù) θ 表示。
- 首先,使用DGCNN風格的補丁嵌入網(wǎng)絡對點云進行編碼,產(chǎn)生一組標記嵌入:。
- 然后,通過提示這些標記嵌入,并將其輸入到預訓練且凍結的Transformer塊的D層中,例如2D Transformer:。在這里,使用 來表示 2DTransformer 的第 層。
使用 個可學習的提示嵌入 ,應用于Transformer 的每一層。具體來說,Transformer的第 層 將隱含表示 從第 層轉換為 ,如下所示:
使用這種參數(shù)高效的快速調整策略,能夠調整預訓練的基礎Transformer,同時保留盡可能多的預訓練知識。
點云自編碼另一個DGCNN網(wǎng)絡 用于從基礎Transformer嵌入的隱藏表示中提取局部幾何特征。然后,利用FoldingNet 對輸入點云進行重構。
將以上3D自編碼器作為離散變分自編碼器(dVAE)進行訓練,以最大化對數(shù)似然 。這里 表示原始和重構的點云。
整體優(yōu)化目標是最大化證據(jù)下界(ELBO),當時成立:
其中:
- 表示離散的3D dVAE tokenizer;
- 是給定離散點標記的dVAE****;
- 以自編碼方式重構輸入點云。
通過訓練3D自編碼器,預訓練Transformer的強表示被轉化為3D特征空間,使自編碼器自動成為一個跨模態(tài)教師。
將在4.1節(jié)中介紹的預訓練點云編碼器作為教師 ,將3D Transformer 作為學生。
通過掩碼建模作為跨模態(tài)知識蒸餾,最小化編碼后的教師特征與學生特征之間的負余弦相似度 :
五、實驗5.1下游任務遷移學習遷移學習設置
在分類任務中使用遷移學習的三種變體:
(a) FULL: 通過更新所有骨干和分類頭來微調預訓練模型。
(b) MLP- linear: 分類頭是單層線性MLP,只在微調時更新該分類頭參數(shù)。
(c) MLP-3: 分類頭是一個三層非線性MLP(與FULL中使用的相同),只在微調時更新這個頭的參數(shù)。
3D真實數(shù)據(jù)集分類首先展示了在具有挑戰(zhàn)性的現(xiàn)實數(shù)據(jù)集ScanObjectNN上對3D形狀識別的評估。結果如表2所示,其中可以觀察到:
(i) 與FULL調優(yōu)協(xié)議下從頭開始的Transformer基線相比,ACT在三個不同的ScanObjectNN基準測試上平均獲得了+10.4%的顯著改進。此外,通過簡單的點云旋轉,ACT實現(xiàn)了+11.9%的平均改進;
(ii) 與明確以三維幾何理解為目的設計的方法相比,ACT`始終取得更好的結果。
(iii) 與其他自監(jiān)督學習(SSL)方法相比,在ScanObjectNN上,ACT在所有方法中實現(xiàn)了最好的泛化。此外,在ScanObjectNN上使用純3D Transformer架構的方法中,ACT成功地達到了最先進(SOTA)的性能,例如,在最具挑戰(zhàn)性的PB_T50_RS基準測試中,ACT比Point-MAE的準確率高出+3.0%。
3D場景分割表2:ScanObjectNN上的分類結果。our1:沒有數(shù)據(jù)增強的訓練結果。
Ours2:簡單點云旋轉訓練的結果。DA:在微調訓練期間使用數(shù)據(jù)增強。報告總體精度,即OA(%)。
大規(guī)模3D場景的語義分割具有挑戰(zhàn)性,需要對上下文語義和局部幾何關系的理解。在表4中,報告了S3DIS數(shù)據(jù)集的結果。可以看到:
(i) ACT顯著提高了從零開始的基線,mAcc和mIoU分別提高了+2.5%和+1.2%。
(ii) ACT比SSL對應的Point-MAE分別高出+1.2%和+0.4%的mAcc和mIoU,在大場景數(shù)據(jù)集上顯示出優(yōu)越的傳輸能力。
(iii) 僅使用幾何輸入xyz, ACT可以實現(xiàn)與使用xyz+rgb數(shù)據(jù)進行細致設計的架構相當或更好的性能,包括3d特定的Transformer架構。
3D合成數(shù)據(jù)集分類表4:S3DIS區(qū)域5上的語義分割結果。報告了所有類別的平均準確性和平均IoU,即mAcc(%)和mIoU(%)。使用Xyz:點云坐標。xyz+rgb:同時使用坐標和rgb顏色。
展示了在合成數(shù)據(jù)集ModelNet40上對三維形狀分類的評估。為了證明在有限的訓練樣例下ACT的數(shù)據(jù)效率特性,首先遵循Sharma & Kaul(2020)來評估 few-shot 學習。
從表5中,可以看到:
(i) 與從頭開始的FULL轉移基線相比,ACT在四種設置下分別帶來了+9.0%,+4.7%,+8.7%,+6.2%的顯著改進。
(ii) 與其他SSL方法相比,ACT始終實現(xiàn)最佳性能。
然后,在表3中展示了完整數(shù)據(jù)集上的結果,在表3中我們觀察到,與FULL協(xié)議下的從頭基線相比,ACT實現(xiàn)了+2.5%的準確率提高,并且結果與所有協(xié)議中的其他自監(jiān)督學習方法相當或更好。
表3:ModelNet40數(shù)據(jù)集上的分類結果。報告總體精度,即OA(%)。[ST]:標準Transformer架構。
5.2 消融研究****深度表5:在ModelNet40上的Few-shot分類,報告了總體準確率(%)。
表6展示了使用不同****深度的ACT在ScanObjectNN上的平均微調準確率??梢钥闯?,性能對****深度不敏感,我們發(fā)現(xiàn)具有2個塊的****取得了最高的結果。
需要注意的是,當****深度為0時,我們采用了類似BERT的掩碼建模架構,其中沒有****,編碼器可以看到所有的標記,包括被掩碼的標記。
我們發(fā)現(xiàn)這導致了較差的結果,與在2D上觀察到的數(shù)據(jù)的低語義性需要一個非平凡****的觀察一致。
表6: 預訓練****深度的消融研究。
圖2: 掩碼比 消融研究和跨模 Transformer 教師選擇。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。