天天看點

【論文閱讀】Point Transformer解讀前言

文章目錄

  • 前言
    • 摘要
    • 1.介紹
    • 2.相關工作
    • 3.Point Transformer
      • 3.1.Background
      • 3.2. Point Transformer Layer
      • 3.3. Position Encoding
      • 3.4. Point Transformer Block
      • 3.5. Network Architecture
    • 4. Experiments
    • 5.總結

前言

1. 為什麼要做這個研究?

探究Transformer在點雲進行中的應用。

2. 實驗方法是什麼樣的?

在場景分割中采用了U-net結構,包含5個編碼器和5個解碼器,編碼器通過Transition Down + Point Transformer Block來降采樣和提取特征,解碼器通過Transition Up+ Point Transformer Block來上采樣映射特征。

Point Transformer Block:基于vector self-attention,使用減法關系,并将位置編碼 δ \delta δ加到注意向量 γ \gamma γ和變換特征 α \alpha α上。

3. 得到了什麼結果?

在場景分割、目标分類和語義分割中都取得了很不錯的效果,或許使用Transformer來作為提取點雲特征的操作是很有效果的。

摘要

本文研究了self-attention網絡在三維點雲進行中的應用。作者為點雲設計了self-attention層,并使用這些層來建構用于語義場景分割、語義分割和目标分類等任務的self-attention網絡。在大規模語義場景分割的S3DIS資料集上,Point Transformer表現SOTA。

1.介紹

Transformer的核心self-attention操作本質上是集合操作:它對輸入元素的排列和基數不變。是以,将self-attention應用于三維點雲是非常自然的,因為點雲本質上就是嵌入在三維空間中的集合。

作者研究了self-attention算子的形式,self-attention在每個點周圍的局部鄰域中的應用,以及網絡中位置資訊的編碼。由此産生的網絡完全基于self-attention和逐點操作。結果表明Point Transformer在3D深度學習任務中非常有效。

作者貢獻:

  • 為點雲處理設計了一個高表現力的Point Transformer層。該層對于排列和基數是不變的,是以本質上适合于點雲處理。
  • 基于Point Transformer層,建構了高性能的Point Transformer網絡,用于點雲的分類和密集預測。這些網絡可以作為三維場景了解的通用主幹。
  • 作者報告了在多個領域和資料集上的大量實驗,進行了對照研究,以檢查Point Transformer設計中的具體選擇,并在多個高度競争的基準上設定了新的技術水準,優于之前的工作。

2.相關工作

此前三維點雲處理方法:基于投影的、基于體素的和基于點的網絡。

3.Point Transformer

首先回顧一下 Transformer和self-attention的一般公式,然後給出用于3D點雲處理的Point Transformer層,最後作者提出了3D場景了解網絡結構。

3.1.Background

self-attention算子分為兩種類型:scalar attention和vector attention。

X = { x i } i \mathcal{X} = \{x_i\}_i X={xi​}i​為一組特征向量,标準scalar attention點積注意層可以表示如下:

【論文閱讀】Point Transformer解讀前言

其中 y i y_i yi​是輸出特征。 ϕ , ψ , α \phi,\psi,\alpha ϕ,ψ,α是逐點transformer特征,類似先行投影或MLPs。 δ \delta δ是位置編碼函數, ρ \rho ρ是歸一化函數,如softmax。scalar attention計算通過 ϕ \phi ϕ變換特征和 ψ \psi ψ變換特征之間的标量積,并将輸出作為關注權重,來聚集 α \alpha α變換特征。

在vector attention中,注意力權重的計算是不同的,特别是注意力權重可以調節單個特征通道的向量。

【論文閱讀】Point Transformer解讀前言

其中 β \beta β是關系函數,例如減法, γ \gamma γ是産生用于特征聚集的注意向量的映射函數,例如MLP。

3.2. Point Transformer Layer

Point Transformer層是基于vector self-attention的,使用減法關系,并将位置編碼 δ \delta δ加到注意向量 γ \gamma γ和變換特征 α \alpha α上:

【論文閱讀】Point Transformer解讀前言

這裡,子集 X ( i ) ⊆ X \mathcal{X}(i) ⊆ X X(i)⊆X是 x i x_i xi​的局部鄰域(k近鄰,k=16)中的一組點。是以,作者采用最近的self-attention網絡的實踐進行圖像分析,在每個資料點周圍的局部鄰域内局部應用self-attention。映射函數 γ \gamma γ是具有兩個線性層和一個非線性層的MLP。Point Transformer層如圖2所示。

【論文閱讀】Point Transformer解讀前言

3.3. Position Encoding

在3D點雲進行中,3D點坐标本身是位置編碼的自然候選。除此之外,作者還引入了可訓練的參數化位置編碼 δ \delta δ,定義如下:

【論文閱讀】Point Transformer解讀前言

這裡 p i p_i pi​和 p j p_j pj​是兩個3D點坐标。編碼函數 θ \theta θ是具有兩個線性層和一個非線性層的MLP。值得注意的是,作者發現位置編碼對于注意力生成分支和特征變換分支都很重要。是以Eq.3在兩個分支中增加了可訓練的位置編碼。位置編碼 θ \theta θ與其他子網端到端訓練

【論文閱讀】Point Transformer解讀前言

3.4. Point Transformer Block

我們建構了一個以Point Transformer層為核心的殘差Point Transformer塊,如圖4(a)所示。transformer塊內建了self-attention層,可以降維和加速處理的線性投影以及殘差連接配接。輸入是一組具有相關3D坐标 p 的特征向量 x。Point Transformer塊便于這些局部特征向量之間的資訊交換,為所有資料點産生新的特征向量作為其輸出。資訊聚合既适應特征向量的内容,也适應它們在3D中的布局。

3.5. Network Architecture

作者基于Point Transformer塊建構了完整的3D點雲了解網絡。Point Transformer是網絡中主要的特征聚合操作。作者不使用卷積進行預處理或者輔助分支:網絡完全基于Point Transformer層、逐點變換和池化。網絡架構如圖3所示。

Backbone structure. 用于語義分割和分類的Point Transformer網絡中的特征編碼器具有五個對點集進行下采樣的階段。每個階段的下采樣速率是[1,4,4,4,4],是以每個階段後點集中點的數量為[N,N/4,N/16,N/64,N/256],其中N是輸入點數。注意,級數和下采樣速率可以根據應用而變化,例如建構用于快速處理的輕量主幹。連續的階段由轉換子產品連接配接:向下轉換用于特征編碼,向上轉換用于特征解碼。

Transition down. 關鍵功能在于減少點的數量。将輸入的點集表示為 P 1 P_1 P1​,輸出點集為 P 2 P_2 P2​。作者在 P 1 P_1 P1​中執行最遠點采樣,來獲得分布良好的子集 P 2 ⊂ P 1 P_2 \subset P_1 P2​⊂P1​。使用 P 1 P_1 P1​的kNN圖(k=16)将特征向量從 P 1 P_1 P1​彙集到 P 2 P_2 P2​。每一個輸入特征都經過一個線性變換,随後是batch歸一化和ReLU,接着是将 P 2 P_2 P2​在 P 1 P_1 P1​的 k 個鄰居最大池化到 P 2 P_2 P2​的每個點。Transition down子產品如圖4(b)所示。

Transition up. 對于密集的預測任務,例如語義分割,作者采用了一種U-net設計,其中上述編碼器與對稱解碼器耦合。解碼器中的連續級由Transition up子產品連接配接,主要功能是将來自下采樣的輸入點集 P 2 P_2 P2​的特征映射到其超集 P 1 ⊃ P 2 P_1 \supset P_2 P1​⊃P2​上。為此,每個輸入點都要經過一個線性圖層處理,然後進行批量歸一化和ReLU,再通過三線性插值将 P 2 P_2 P2​特征映射到更高分辨率的點集 P 1 P_1 P1​上。來自前一解碼器級的這些内插特征通過跳躍連接配接與來自相應編碼器級的特征相結合。Transition up子產品的結構如圖4©所示。

Output head. 對于語義分割,最終的解碼器階段為輸入點集中的每個點生成一個特征向量。再應用MLP将這個特征映射到最終的邏輯。對于分類,我們對逐點特征執行全局平均彙集,以獲得整個點集的全局特征向量。這個全局特征通過一個MLP得到全局分類邏輯。

4. Experiments

作者在多個領域和任務中評估了所提出的Point Transformer設計的有效性。對于三維語義分割,使用了具有挑戰性的斯坦福大規模三維室内空間資料集(S3DIS) 。對于目标分類,使用廣泛采用的ModelNet40資料集。對于語義分割,使用ShapeNetPart。

OA:所有類别的總體準确度。

mAcc:每個類别準确度的平均值。

mIoU:計算所有類别交集和并集之比的平均值.

【論文閱讀】Point Transformer解讀前言
【論文閱讀】Point Transformer解讀前言

效果都不錯。

【論文閱讀】Point Transformer解讀前言
【論文閱讀】Point Transformer解讀前言

消融實驗

【論文閱讀】Point Transformer解讀前言

鄰居點選擇數量:k=16最好,k<16,則鄰域較小,環境資訊少;k >16,每個自關注層都有大量資料點,引入過多噪聲。

Softmax正則化:也就是Eq. 3中的 ρ \rho ρ的必要性,使用Softmax正則化後性能提升顯著。

位置編碼:使用相對位置編碼得到最高的性能,當相對位置編碼僅被添加到注意力生成分支時(Eq. 3中的第一項)或僅到特征變換分支(Eq. 3中的第二項),性能再次下降,表明向兩個分支添加相對位置編碼很重要。

Attention類型:矢量注意力更具表現力,因為它支援單個特征通道的自适應調制,而不僅僅是整個特征向量。這種可表達性在三維資料進行中似乎非常有益。

5.總結

與語言或圖像處理相比,Transformer可能更适合點雲處理,因為點雲本質上是嵌入在度量空間中的集合,Transformer網絡核心的self-attention算子基本上是集合算子。除了這種概念相容性之外,Transformer在點雲處理方面非常有效,優于各種的最先進設計:基于圖的模型、稀疏卷積網絡、連續卷積網絡等。Transformer在3D物體檢測領域或許也可以有所應用。

繼續閱讀