博客專欄

        EEPW首頁 > 博客 > ICLR2023 | 2D Transformer 可以幫助3D表示學習嗎?(3)

        ICLR2023 | 2D Transformer 可以幫助3D表示學習嗎?(3)

        發布人:計算機視覺工坊 時間:2023-07-04 來源:工程師 發布文章
        三、預備知識3.1 基于Transformer的3D點云表示

        與規則網格上的圖像不同,點云被認為是不規則和結構較弱的。許多工作致力于為點云數據設計深度學習架構,利用點集的排列和平移不變性進行特征學習。

        • 不僅僅依賴于這樣的專門主干,還利用Transformer主干,這樣更容易與其他模態(如圖像和語言)統一,并促進跨模態的知識傳遞。

        • 使用專門的點網絡計算局部幾何塊嵌入,并將其饋送給Transformer以輸出更有效的幾何表示。


        局部幾何塊嵌入

        假設有一個點云  ,其中N個坐標編碼在  笛卡爾空間中,

        • 按照Yu等人(2022)的方法,首先使用最遠點采樣(FPS)選擇個種子點。
        • 然后將點云 P 分組為  個鄰域 ,其中種子點集  的中心作為組的中心。每個鄰域包含 K 個點,這些點是通過搜索對應種子點的K個最近鄰點生成的。
        • 在每個種子點   周圍計算局部幾何特征  ,通過在鄰域內對每個點的特征進行最大池化得到:

        其中:

        •  是一個具有參數 θ 的點特征提取器,例如中的逐點MLP,是鄰域  中第 j 個鄰點  的特征。
        • 將鄰域特征作為標記特征,用于輸入接下來的Transformer塊。
        Transformer點特征編碼

        使用標準的Transformer塊作為編碼器,進一步轉換局部塊嵌入  ,其中C是嵌入大小。

        按照Yu等人的方法,使用一個具有可學習參數ρ的兩層MLP  作為位置嵌入,應用于每個塊以實現穩定的訓練。

        式中,MSA表示多頭自注意的交替層,LN表示分層范數,MLP為兩層,其中GELU為非線性。 是一種可學習的全局表示嵌入,以  作為其可學習的位置嵌入。

        3.2 知識蒸餾:掩碼建模的統一視角

        掩碼建模可以看作是經典自編碼器(DAE)的擴展,其中采用了掩碼損失,最近已經在語言模型和視覺領域進行了探索。

        • 形式上,給定一個由  個 token 組成的序列  ,例如RGB圖像或點云數據的標記嵌入。
        • 目標是訓練一個學生編碼器   來預測/重建來自教師編碼器   的輸出,其中教師可以是離散變分自編碼器(dVAE)或簡單的恒等映射。

        通過這種方式,學生在教師的指導下學習數據中的深層知識。

        • 為了損壞輸入數據,為每個位置生成一組掩碼  ,指示標記是否被掩碼。

        • 使用可學習的損壞嵌入  來替換被掩碼的位置,將損壞的表示  輸入到編碼器或****。這里,表示Hadamard乘積, 是指示函數。

        在某個度量空間   中定義了距離函數 ,作為****,目標是最小化以下距離:

        ****隨著建模目標的不同而變化,例如,它是BERT的非線性投影,帶有softmax ,其中度量函數變成交叉熵。可以看作是掩模建模的統一公式。

        因此,考慮如何在掩碼3D建模中建立一個知識淵博的老師是很自然的。作者的想法是利用2D或語言基礎模型中的跨模式教師。



        四、ACT: 自編碼器作為跨模態教師

        目標是通過預訓練的2D圖像或語言Transformer來促進3D表示學習,該模型具備從大規模數據中吸收的深層知識。

        然而,3D點云與2D圖像或語言具有不同的結構,這使得細粒度知識的關聯變得困難。

        為了解決這個問題,采用了一個兩階段的訓練過程。ACT框架的概述如圖1所示。

        • 階段I:調整預訓練的2D或語言Transformer作為3D自編碼器,通過自監督的提示調整來學習理解3D幾何。
        • 階段II:使用預訓練的3D自編碼器作為跨模態教師,通過掩碼建模將潛在特征蒸餾到3D點云Transformer學生中。
        4.1 3D自編碼與預訓練基礎Transformer

        Transformer是最近在各個領域中主導的架構,可以以統一的方式對任何模態的序列數據進行建模。

        • 因此,可以直接使用預訓練的Transformer塊,將順序標記與輸入點云的3D位置嵌入一起進行輸入。
        • 本文使用輕量級的DGCNN對點云進行處理,其中的邊緣卷積層通過參數 θ 表示。
        跨模態嵌入與提示
        • 首先,使用DGCNN風格的補丁嵌入網絡對點云進行編碼,產生一組標記嵌入:
        • 然后,通過提示這些標記嵌入,并將其輸入到預訓練且凍結的Transformer塊的D層中,例如2D Transformer:。在這里,使用 來表示 2DTransformer 的第  層。

        使用  個可學習的提示嵌入 ,應用于Transformer 的每一層。具體來說,Transformer的第 層  將隱含表示  從第 層轉換為  ,如下所示:

        使用這種參數高效的快速調整策略,能夠調整預訓練的基礎Transformer,同時保留盡可能多的預訓練知識

        點云自編碼

        另一個DGCNN網絡  用于從基礎Transformer嵌入的隱藏表示中提取局部幾何特征。然后,利用FoldingNet 對輸入點云進行重構。

        將以上3D自編碼器作為離散變分自編碼器(dVAE)進行訓練,以最大化對數似然 。這里 表示原始和重構的點云。

        整體優化目標是最大化證據下界(ELBO),當時成立:

        其中:

        1.  表示離散的3D dVAE tokenizer;
        2.  是給定離散點標記的dVAE****;
        3.  以自編碼方式重構輸入點云。
        4.2 掩碼點建模作為跨模態的知識蒸餾

        通過訓練3D自編碼器,預訓練Transformer的強表示被轉化為3D特征空間,使自編碼器自動成為一個跨模態教師。

        將在4.1節中介紹的預訓練點云編碼器作為教師  ,將3D Transformer  作為學生。

        通過掩碼建模作為跨模態知識蒸餾,最小化編碼后的教師特征與學生特征之間的負余弦相似度   :



        五、實驗5.1下游任務遷移學習遷移學習設置

        在分類任務中使用遷移學習的三種變體:

        (a) FULL: 通過更新所有骨干和分類頭來微調預訓練模型。

        (b) MLP- linear: 分類頭是單層線性MLP,只在微調時更新該分類頭參數。

        (c) MLP-3: 分類頭是一個三層非線性MLP(與FULL中使用的相同),只在微調時更新這個頭的參數。

        3D真實數據集分類

        首先展示了在具有挑戰性的現實數據集ScanObjectNN上對3D形狀識別的評估。結果如表2所示,其中可以觀察到:

        (i) 與FULL調優協議下從頭開始的Transformer基線相比,ACT在三個不同的ScanObjectNN基準測試上平均獲得了+10.4%的顯著改進。此外,通過簡單的點云旋轉,ACT實現了+11.9%的平均改進;

        (ii) 與明確以三維幾何理解為目的設計的方法相比,ACT`始終取得更好的結果。

        (iii) 與其他自監督學習(SSL)方法相比,在ScanObjectNN上,ACT在所有方法中實現了最好的泛化。此外,在ScanObjectNN上使用純3D Transformer架構的方法中,ACT成功地達到了最先進(SOTA)的性能,例如,在最具挑戰性的PB_T50_RS基準測試中,ACT比Point-MAE的準確率高出+3.0%。

        表2:ScanObjectNN上的分類結果。our1:沒有數據增強的訓練結果。

        Ours2:簡單點云旋轉訓練的結果。DA:在微調訓練期間使用數據增強。報告總體精度,即OA(%)。

        圖片

        3D場景分割

        大規模3D場景的語義分割具有挑戰性,需要對上下文語義和局部幾何關系的理解。在表4中,報告了S3DIS數據集的結果。可以看到:

        (i) ACT顯著提高了從零開始的基線,mAcc和mIoU分別提高了+2.5%和+1.2%。

        (ii) ACT比SSL對應的Point-MAE分別高出+1.2%和+0.4%的mAcc和mIoU,在大場景數據集上顯示出優越的傳輸能力。

        (iii) 僅使用幾何輸入xyz, ACT可以實現與使用xyz+rgb數據進行細致設計的架構相當或更好的性能,包括3d特定的Transformer架構。

        表4:S3DIS區域5上的語義分割結果。報告了所有類別的平均準確性和平均IoU,即mAcc(%)和mIoU(%)。使用Xyz:點云坐標。xyz+rgb:同時使用坐標和rgb顏色。

        圖片

        3D合成數據集分類

        展示了在合成數據集ModelNet40上對三維形狀分類的評估。為了證明在有限的訓練樣例下ACT的數據效率特性,首先遵循Sharma & Kaul(2020)來評估 few-shot 學習。

        從表5中,可以看到:

        (i) 與從頭開始的FULL轉移基線相比,ACT在四種設置下分別帶來了+9.0%,+4.7%,+8.7%,+6.2%的顯著改進。

        (ii) 與其他SSL方法相比,ACT始終實現最佳性能。

        然后,在表3中展示了完整數據集上的結果,在表3中我們觀察到,與FULL協議下的從頭基線相比,ACT實現了+2.5%的準確率提高,并且結果與所有協議中的其他自監督學習方法相當或更好。

        表3:ModelNet40數據集上的分類結果。報告總體精度,即OA(%)。[ST]:標準Transformer架構。

        圖片

        表5:在ModelNet40上的Few-shot分類,報告了總體準確率(%)。

        圖片

        5.2 消融研究****深度

        表6展示了使用不同****深度的ACT在ScanObjectNN上的平均微調準確率。可以看出,性能對****深度不敏感,我們發現具有2個塊的****取得了最高的結果。

        • 需要注意的是,當****深度為0時,我們采用了類似BERT的掩碼建模架構,其中沒有****,編碼器可以看到所有的標記,包括被掩碼的標記。

        • 我們發現這導致了較差的結果,與在2D上觀察到的數據的低語義性需要一個非平凡****的觀察一致。

        表6: 預訓練****深度的消融研究。

        圖片

        圖2: 掩碼比 消融研究和跨模 Transformer 教師選擇。

        圖片


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: AI

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 蓝山县| 常州市| 广南县| 呼图壁县| 乌拉特前旗| 楚雄市| 弋阳县| 克东县| 保康县| 彝良县| 太湖县| 平乐县| 北流市| 简阳市| 图木舒克市| 灵山县| 梓潼县| 阳原县| 德令哈市| 镶黄旗| 应用必备| 治多县| 梓潼县| 平度市| 公主岭市| 新竹市| 罗定市| 滨海县| 长海县| 通海县| 太和县| 丰宁| 海盐县| 汽车| 泰宁县| 西平县| 泽库县| 左权县| 缙云县| 孝昌县| 安乡县|