論文筆記:(2021CVPR)PAConv: Position Adaptive Convolution with Dynamic Kernel Assembling on Point Clouds



PAConv: Position Adaptive Convolution with Dynamic Kernel Assembling on Point Clouds

PAConv:基於點雲動態核組裝的位置自適應卷積

論文地址: https://arxiv.org/abs/2103.14635
代碼: https://github.com/CVMI-Lab/PAConv

:該文章與CVPR2020Dynamic Convolution: Attention over Convolution Kernels很像,本人認為,該文章是將2D領域的動態卷積應用到3D領域的一個實踐!

摘要

  我們介紹了一個用於3D點雲處理的通用卷積操作——位置自適應卷積(PAConv)。PAConv的關鍵是通過動態組合存儲在權重庫中的基本權重矩陣來構建卷積核。其中這些權重矩陣的系數是通過ScoreNet從點位置自適應地學習的。 這樣,以數據驅動的方式構建內核,賦予PAConv比2D卷積更大的靈活性,以更好地處理不規則和無序的點雲數據。此外,通過組合權重矩陣而不是從點位置粗暴地預測內核,可以降低學習過程的復雜性。

  此外,與現有的點卷積算子的網絡體系結構經常被精心設計不同,我們將PAConv集成到基於MLP的經典點雲管道中,而無需更改網絡配置。 即使建立在簡單的網絡上,我們的方法仍然可以接近甚至超越最新模型,並且可以顯着提高分類和細分任務的基准性能,但效率卻很高。 提供了徹底的消融研究和可視化效果,以了解PAConv。代碼發布在 https://github.com/CVMI-Lab/PAConv

1、引言

  近年來,3D掃描技術的興起促進了許多依賴3D點雲數據的應用程序,例如自動駕駛,機器人操縱和虛擬現實[37,42]。 因此,迫切需要有效和高效地處理3D點雲的方法。盡管通過深度學習在3D點雲處理中取得了顯着進步[38、39、49、26],但鑒於點雲的稀疏,不規則和無序結構,這仍然是一項艱巨的任務。

  為了解決這些困難,以前的研究可以粗略地分為兩類。 第一行嘗試對3D點雲進行體素化以形成規則的網格,以便可以采用3D網格卷積[34、45、41]。但是,重要的幾何信息可能由於量化而丟失,體素通常會帶來額外的內存和計算成本[11,8]。

  另一個流向是直接處理點雲數據。首創性的工作[38]提出通過多層感知器(MLP) [14]和全局聚合來學習點的空間編碼,如圖1(a)所示。后續工作[39, 40, 50, 21, 53]利用局部聚合方案來改進網絡。盡管如此,所有點都是由同一個MLP處理的,這限制了其代表空間變化關系的能力。

  除了MLP,最近的作品大多是在點雲上設計類似卷積的操作來利用空間相關性。為了處理三維點雲的不規則性,一些作品[60, 52, 30]提出根據相對位置信息直接預測核的權重,並進一步用於轉換特征,就像二維卷積一樣。這一研究方向的一個代表性架構[54]如圖1(b)所示。雖然這些方法在概念上是有效的,但在實際應用中,空間變化的核預測導致了大量的計算和內存消耗。高效的實現方式也犧牲了其設計靈活性,導致性能下降。另一組工作將核權值與固定的核點相關聯[2,49,33],並在將核權值應用到處理點雲時使用相關(或插值)函數來調整核權值。圖1(c)說明了一個 代表性的架構[49]。然而,手工制作的的內核組合可能不是最佳的,也不足以對復雜的三維位置變化進行建模。

  本文提出了一種用於三維點雲深度表示學習的即插即用卷積算法PAConv。PAConv(如圖1(d)所示)通過在權重庫中動態組合基本權重矩陣來構造其卷積核。裝配系數由MLPs(ScoreNet)從相對點位置自適應學習。我們的PAConv可以靈活地模擬三維點雲的復雜空間變化和幾何結構,同時效率很高。具體來說,PAConv沒有用暴力的方式從點位置推斷內核[54],而是通過scornet的動態內核組裝策略繞過了巨大的內存和計算負擔。此外,與核點方法不同[49],我們的PAConv以數據驅動的方式獲得了建模空間變化的靈活性,並且更簡單,不需要對核點進行復雜的設計。

  我們在三個通用網絡主干之上的三個具有挑戰性的基准上進行了廣泛的實驗。具體來說,我們采用簡單的基於MLP的點網絡PointNet[38]、PointNet++[39]和DGCNN[53]作為主干,在不改變其他網絡配置的情況下,將它們的MLP替換為PAConv。有了這些簡單的主干,我們的方法在ModelNet40[55]上仍然達到了最先進的性能,並且在ShapeNet Part[63]和S3DIS[1]上分別將基線提高了2.3%和9.31%,並且模型效率相當高。另外值得注意的是,最近的點卷積方法經常使用復雜的體系結構和為其運算符定制的數據擴充[49,26,31]進行評估,這使得很難衡量卷積運算符所取得的進展。在這里,我們采用簡單的基線,目的是盡量減少網絡體系結構的影響,以便更好地評估來自操作符—PAConv的性能增益。

2、相關工作

將點雲映射到常規二維或三維柵格(體素)

  由於點雲數據在三維空間具有不規則的結構,早期的工作[46,22,7]將點雲投影到多視點圖像上,然后利用傳統的卷積進行特征學習。然而,這種從三維到二維的投影對遮擋表面或密度變化並不可靠。Tatarchenko等人[47]提出將局部曲面點映射到切面上,並進一步使用二維卷積算子,FPConv[26]將局部面片展平到具有軟權重的規則二維網格上。然而,它們嚴重依賴於切平面的估計,投影過程不可避免地會犧牲三維幾何信息。另一種技術是量化三維空間並將點映射為規則體素[41、34、4、35],其中可以應用三維卷積。然而,量化過程中不可避免地會丟失細粒度的幾何細節,並且體素表示受到計算量和內存開銷的限制。最近,為了解決上述問題,稀疏表示[45,11,8]被用來獲得更小的網格和更好的性能。然而,它們仍然受到量化速率和計算效率之間的折衷。

基於MLPs的點表示學習

  許多方法[38、39、19、29、15]直接用逐點MLP處理非結構化點雲。PointNet[38]是一項開創性的工作,它使用共享的MLP分別對每個點進行編碼,並使用全局池聚合所有點特征。然而,它缺乏捕捉局部三維結構的能力。一些后續工作通過采用分層多尺度或加權特征聚合方案來整合局部特征來解決這一問題[39、20、24、17、19、29、57、18、15、62、56、58]。其他方法使用圖形來表示點雲[40、44、53、51、59],並通過局部圖形操作聚合點特征,以捕獲局部點關系。然而,它們都采用共享的mlp來轉換點特征,這限制了模型獲取空間變化信息的能力。\

基於點卷積的點表示學習

  最近,許多嘗試[25,60,52,54,30,49,33,31]都集中在設計點卷積核上。PointCNN[25]學習X變換,將點與核相關聯。然而,這種操作不能滿足置換不變量的要求,這對於非有序點雲數據的建模至關重要。另外,[43,12,60,52,54,30]提出了基於點位置直接學習局部點核的方法。然而,這些方法直接預測核,在學習過程中具有更高的復雜度(記憶和計算)。

  另一種類型的點卷積將權重矩陣與三維空間中預定義的核點相關聯[2,6,49,33,27,23]。然而,內核的位置對最終性能有着至關重要的影響[49],需要針對不同的數據集或主干架構進行專門的優化。此外,上述方法[49,33,23]通過使用手工規則組合預定義的核來生成核,這限制了模型的靈活性,導致性能低下[23]。與之不同的是,該方法以可學習的方式自適應地結合權重矩陣,提高了算子對不規則點雲數據的擬合能力。

動態卷積和條件卷積

   我們的工作也與動態卷積和條件卷積有關[9,10,61,3]。Brabandere等人[9]提出在像素輸入上動態生成特定位置的濾波器。在[10]中,通過學習核坐標上的偏移量,使核空間變形以適應對象的不同尺度。最近,Bello[3]提出通過從內容和位置關系中學習lambda函數來建模查詢和上下文之間的交互。CondConv[61]通過一個輸出濾波器組合系數的路由函數來組合多個濾波器,從而生成卷積核,這與我們的動態核組裝類似。然而,CondConv[61]中的預測核不是位置自適應的,而非結構化點雲需要適應不同點位置的權值。

3、方法

  在本節中,我們首先回顧點卷積的一般公式。然后我們介紹PAConv。最后,我們將PAConv與前人的相關工作進行了比較。

3.1 回顧

  給定點雲P={pi|i=1,...,N} ∈ RN×3中的N個點,P在卷積層中的輸入和輸出特征圖可以表示為F = {fi|i = 1,...,N} ∈ RN×Cin 和 G = {gi|i = 1,...,N} ∈RN×Cout,,Cin 和 Cout分別是輸入和輸出的通道數。對於每個點 pi,可將廣義的點卷積定義為:

gi = Λ({K(pi,pj)fj|pj ∈ Ni})

  其中K(pi,pj)是一種根據中心點pi與其相鄰點pj之間的位置關系輸出卷積權重的函數。Ni表示所有鄰域點,Λ是指最大值、SUM 或 AVG的聚合函數。根據這一定義,2D卷積可視為點卷積的特殊案例。例如, 對於 3×3的2D卷積,鄰域Ni 位於一個 3 × 3 矩形補丁中心像素i,K是在固定集合3 × 3(圖2.a)上從相對位置(pi,pj)到相應的權重矩陣K(pi,pj) ∈R Cin×Cout的一對一映射。

  但是,由於點雲的不規則和無序特性,圖像上定義的簡單一對一映射內核函數不適用於 3D 點雲。具體來說,3D 點的空間位置是連續的,因此可能的相對偏移(pi,pj)的數量是無限的,無法映射成一組有限的內核權重。因此,我們重新設計了內核函數K,通過動態內核組件學習位置自適應映射。首先,我們定義了一個由幾個權重矩陣組成的權重庫。然后,ScoreNet旨在根據點位置學習系數向量來組合權重矩陣。最后,動態內核通過結合權重矩陣及其相關位置自適應系數生成。詳細信息見圖2(b)並在下面詳細說明。

3.2 動態內核組裝

Weight Bank

  我們首先定義了B = {Bm|m = 1,...,M},其中每個Bm ∈ RCin×Cout是一個權重矩陣,M控制存儲在權重矩陣B中的權重矩陣數量。

  直覺上,較大的 M 有助於內核組裝的更多樣化的權重矩陣。然而,過多的權重矩陣可能會帶來冗余,並導致沉重的記憶/計算開銷。我們發現將 M 設置為 8 或 16 是適當的,這在第 6.2 節中討論過。接下來是建立一個映射從離散內核到連續的3D空間。為此,我們提出ScoreNet 學習系數,以結合權重矩陣並生成適合點雲輸入的動態內核,詳情如下。

ScoreNet.

  ScoreNet的目標是將相對位置與權重庫B中的不同權重矩陣關聯在一起。鑒於中心點pi與其鄰點pj之間的特定位置關系,ScoreNet 預測每個權重矩陣Bm的位置適應系數 Sijm。

  ScoreNet的輸入基於位置關系。我們探索不同的輸入表示形式,如第 6.1 節所示。為了清楚起見,在這里,我們表示此輸入向量為(pi,pj) ∈ RDin。ScoreNet將規范化的分數矢量輸出為:

Sij = α(θ(pi,pj))

  其中θ是使用多層感知器(MLP)[14]實現的非線性函數,α表示Softmax規范化。輸出矢量Sij = {Sijm|m = 1,...,M},其中Sij表示 Bm 在構建內核 K(pi,pj)中的系數。M是權重矩陣的數量。Softmax 可確保輸出分數在范圍(0,1)。這種規范化保證每個權重矩陣將選擇一個概率,較高的分數意味着位置輸入和權重矩陣之間更牢固的關系,第6.1節介紹了不同規范化方案的比較。

Kernel generation

  PAConv 的內核通過將權重庫 B 中的權重矩陣與 ScoreNet 預測的相應系數組合而來:

  通過這樣做,我們的 PAConv 以動態數據驅動的方式構建卷積內核,其中分數系數是自適應地從點位置學習的。我們的位置自適應構圖在用內核組裝策略模擬 3D 點雲的不規則幾何結構方面獲得了靈活性。

3.3 權重正則化

  雖然大型的權重庫意味着有更多的權重矩陣可用,但權重矩陣的多樣性無法保證,因為它們是隨機初始化的,並且可能以相似的方式進行相互融合。為了避免這種情況,我們設計了一個權重正則化以懲罰不同權重矩陣之間的相關性,其定義如下:

這強制權重矩陣多樣化分布,進一步保證生成內核的多樣性。

3.4 與前期工作的關系

4、骨干網體系結構

  在最近的點雲網絡中,網絡配置有很大的不同[54,19,33,49,26],但其中大多數可以被視為經典的基於點MLP的網絡的不同變體[54,19,49]。為了評估PAConv的有效性和最小化復雜網絡結構的影響,我們采用了三種經典的、簡單的基於MLP的網絡主干來處理不同的3D任務,並且在不需要進一步修改網絡結構的情況下集成了PAConv。

對象級任務的網絡  對象級任務處理單個的3D對象,使用輕量級網絡可以有效地解決這個問題,而不需要下采樣層。因此,點雲的尺度/分辨率在整個網絡中是固定的。PointNet[38]和DGCNN[53]是兩個代表,它們被選為目標分類和形狀零件分割的主干。我們直接用PAConv替換DGCNN的EdgeConv[53] 和PointNet的編碼器中的mlp,而不改變原有的網絡結構。

  DGCNN[53]在特征空間中計算兩兩距離,每個點取最近的k點,這帶來了巨大的計算開銷和內存占用。相反,我們在三維坐標空間中搜索k近鄰。

場景級任務的網絡  對於大規模的場景級分割任務,需要采用帶編碼器(下采樣)和解碼器(上采樣)的網絡。這有效地擴大了網絡的接收范圍,同時實現了更快的速度和更少的內存使用。PointNet++[39]就是這樣一種開創性的體系結構。

  對於編碼器,我們遵循PointNet++使用迭代最遠點采樣(FPS)對點雲進行降采樣。在構建鄰域時,PointNet++將查找以查詢點為中心的球中的所有點。球半徑對性能至關重要,需要針對不同的點雲尺度進行調整,因此我們直接搜索k近鄰以獲得靈活性。此外,我們采用了最簡單的單尺度分組(SSG)方法,而不是復雜的MSG和MRG。因此,所學習的特征直接傳播到下一層而不需要特征融合技巧。

  與對象級任務類似,我們直接用PAConv替換PointNet++編碼層中的mlp。我們的解碼器與PointNet++相同。詳細的網絡結構見補充資料。

5、實驗

  我們將PAConv集成到第4節提到的不同點雲網絡中。在目標分類、形狀分割和室內場景分割方面進行了評價。我們實現了一個CUDA層來有效地實現PAConv,這一點在補充資料中有介紹。

5.1 物體分類

數據集

  首先,我們在ModelNet40 [55]對象分類中評估我們的模型。它包括來自 40 個類別的 3D 網格模型,訓練集9843 個,測試集2468 個。

應用

  如第4節所述,PAConv用於替換 DGCNN的EdgeConv[53] 和PointNet的編碼器中的mlp。我們抽樣1024個點,按照[38]進行培訓和測試。按照[53],通過隨機平移對象和打亂點來增強培訓數據。由於任務簡單,我們不添加 Lcorr(第 3 秒),同時仍實現高性能。

結果

  表1總結了定量比較。PAConv 顯著提高了分類精度, PointNet的分類精度提高了 4.0%,DGCNN 上的分類精度提高了1.0%。特別是DGCNN+PAConv的准確率為93.9%,與近期作品相比,效果良好。在 RS-CNN [30] 之后,我們通過隨機縮放執行投票測試,並在測試期間平均預測。未經投票,發布的RS-CNN模型的准確率下降到92.4%,而PAConv仍然得到93.6%。通過消除后處理因素,未經投票的結果更好地反映了純粹從模型設計中獲得的性能,並顯示了我們的 PAConv 的有效性。

5.2 形狀部件分割

數據集

  PAConv也在用於形狀部分分割的ShapeNet Parts上進行了評估[63]。它包含16類的16881的形狀,被標注的50個部件中,每個形狀有2-5個部件。從每個形狀中取樣2048個點,每個點用部件標簽標注。

應用

  我們用PAConv取代了DGCNN[53]中的EdgeConv,並遵循[53]的官方訓練/驗證/測試拆分。不使用數據增強。與分類任務類似,我們不使用 Lcorr,在測試期間應用相同的投票策略[30]。

結果

  表2列出了實例平均值和類平均交並比(mIoU),其中 PAConv 顯著提升了 DGCNN 在類 mIoU (2.3%+) 和實例 mIoU (0.9% +) 上的性能。PAConv在沒有投票的情況下也優於 RSCNN(沒有投票權)。此外,我們的方法優於或接近於其他方法。圖3可視化分割結果。每個類的mIoU在補充材料中顯示。

5.3 室內場景分割

數據集

  大規模場景分割是一項更具挑戰性的任務。為了進一步評估我們的方法,按照[19,33,31],我們采用斯坦福3D室內空間(S3DIS)[1],其中包括在6個區域的271個房間。從 3 個不同的建築物掃描 2.73 億個點,每個點都附有 13 個類別的一個語義標簽。

應用

  我們使用PAConv來替換Pointnet++[39]編碼器中的 MLP。我們按照 [39] 來准備訓練數據,其中點被統一采樣到面積 1 米× 1 米的區域塊中,每個點由 9 維矢量(XYZ、RGB和房間中的規范化位置)表示。我們從每個塊中隨機抽取4096個點,所有點均采用進行測試。在[48]之后,我們利用第5區域作為測試,其他所有區域用於訓練。數據增強包括隨機縮放、旋轉和擾動點。在 [30] 之后采用與分類任務相同的投票測試方案。

注釋:

  與我們的塊采樣策略不同,KPConv [49] 和 PosPool [31] 將點雲轉化成網格。在訓練期間,實際實施中的輸入點數量非常大(≈ 10×我們的)。雖然這帶來了更常規的數據結構和更多的上下文信息,以獲得更好的性能,但它在訓練期間受到高內存使用的影響。

結果

  對於評價指標,我們使用類間的平均交並比(mIoU)。如表3所示,我們使用Lcorr的PAConv (w/ Lcorr)在所有使用對預處理的數據進行塊采樣的方法中獲得了最好的mIoU。PAConv還大力提升了PointNet++ 9.31%的性能。未投票的結果(無票)也列出。分割結果可視化如圖4所示。補充材料中提供了6倍交叉驗證的結果和每個類別的mIoU。

時間復雜度

  此外,我們取4096個點作為輸入,並測試變形KPConv [49]和PosPool[31]的時間復雜度(浮點操作/樣本),如表3所示。這表明我們的PAConv以較少的計算浮點操作脫穎而出(下降了38.6%)。

6、消融實驗

  為了更好地理解PAConv,在S3DIS[1]數據集上進行了消融研究。除非另有規定,否則無相關損失(第3.3節)添加到PAConv中。

6.1 ScoreNet

ScoreNet輸入

  我們首先探討了分數網的不同輸入表示。如表4所示,當ScoreNet輸入攜帶來自所有三個軸的信息時,PAConv可以有效地利用豐富的關系來學習ScoreNet並獲得最佳性能。

分數歸一化

  我們也研究了廣泛使用的歸一化函數,以調整得分分布。表5顯示Softmax規范化優於其他方案。這表明,預測所有權重矩陣的整體得分(Softmax)優於單獨考慮每個得分(Sigmoid和Tanh)。

三維空間中的分數分布

  更重要的是,圖 5 顯示了學習分數分布和不同空間平面之間的關系。值得注意的是,對於每個權重矩陣Bi、Bj、Bk,輸出分數分布不同,表明不同的權重矩陣捕獲不同的位置關系。補充材料中包括了 ScoreNet 上的更多探索。

6.2權重矩陣的個數

  我們進一步進行實驗,以找出表6中顯示的權重矩陣數量的影響。當權重矩陣數為2 時,性能為 65.05%,與16個權重矩陣相差僅 0.58%。這可以歸因於我們的內核組裝策略,因為即使只有 2 個重量矩陣,也會生成不同的內核。這無疑顯示了我們提出的方法的力量。但是,當數字變大時,由於優化問題,相對性能提升會波動。最后,當數字為 16 時,我們實現了最佳和最穩定的性能。

6.3 權重庫歸一化

  正如第3.3節所述,權重歸一化鼓勵權重矩陣彼此關聯性低,從而保證了內核組裝的多樣性。我們利用 Pearson 的 R [5] 來測量不同重量矩陣之間的相關性,並報告皮爾遜的平均 R(較低的皮爾遜 R 值意味着較低的相關性)。如表 7 所示,PAConv 的相關損失在場景分割任務中以 0.95 mIoU 優於基線,而 Pearson 的 R 權重矩陣之間的 R 顯著下降。

6.4 魯棒性分析

  PAConv使用一個對稱函數來聚合鄰居特征,使其對排列具有不變性,提升它對旋轉的魯棒性。此外,通過從可能包含不同變換的局部空間關系中學習到的分數來組裝核,進一步增強了魯棒性。我們也在這方面評估我們的模型。如表8所示,PAConv在不同的變換下運行穩定。

7、總結

  我們提出了一種基於動態核組裝的位置自適應卷積算子PAConv。PAConv結合權重庫中的基本權重矩陣構造卷積核,通過ScoreNet從點位置學習相關系數。當嵌入到簡單的基於MLP的網絡中而不修改網絡配置時,PAConv接近甚至超過了最新技術水平,並且顯著優於基線,具有良好的模型效率。大量的實驗和消融研究證實了PAConv的有效性。

附錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM