論文地址:chrome-extension://ikhdkkncnoglghljlkmcimlnlhkeamad/pdf-viewer/web/viewer.html?file=http%3A%2F%2Fjiaya.me%2Fpapers%2Fpointweb_cvpr19.pdf
代碼:https://github.com/hszhao/PointWeb
摘要
提出了一種從點雲的局部鄰域中提取上下文特征的新方法——PointWeb。與以往的工作不同,我們將局部鄰域內的每個點緊密地連接起來,目的是根據局部區域特征來指定每個點的特征,以便更好地代表該區域。提出了一種新的特征自適應調整(AFA)模塊,用於尋找點間的相互作用。對於每個局部區域,點對之間的元素間的影響映射應用於特征差異映射。然后根據自適應學習的影響指標,將每個特征由同一區域的其他特征拉動或推動。調整后的特征通過區域信息進行了很好的編碼,有利於點雲分割和分類等點雲識別任務。實驗結果表明,我們的模型在語義分割和形狀分類數據集上都優於最新的技術。
一、引言
我們看到了圖像識別任務的巨大進步,如圖像分類[11,22,26,7,9,8]和語義分割[14,3,35],這主要是由於具有海量模型容量的深度學習技術的發展。除了2D圖像識別,人們對3D視覺也越來越感興趣[18, 36, 6, 34, 4]用於自動駕駛,增強現實,機器人等應用。大規模高分辨率3D數據集的出現[1,5]也帶來了使用深度神經網絡來推理3D數據的環境。
直接擴展二維圖像的深度學習方法3D識別任務並不總是可行的,因為3D場景通常是由一組無序分散的點來描述的。簡單地應用二維特征聚合操作也是不合理的,如對不規則點雲的卷積,因為這些操作通常在規則網格上。方法[16,23,21]通過對點雲進行體素化和使用3D CNN進行特征學習來解決這個問題,這是一種很自然的想法。這些方法運行緩慢,在體素化過程中可能會造成信息丟失。另外,PointNet[18]體系結構用共享的多層感知機(MLP)直接處理原始點雲。下面的pointnet++[20]通過引入層次結構來提取全局和局部特征,進一步提高了性能。不像二維卷積,將一個像素的特征與其局部鄰域進行整合,將一個局部區域的特征聚合pointnet++由最大池實現,如圖1 (a)所示。

對於動態圖CNN (DGCNN)[32],它通過連接中心點的特征來聚合每個局部區域的信息。中心點的特征是通過將中心點與其k個最近鄰之間的特征差異連接起來得到的,緊接着是MLP和max pooling (圖1 (b))。這里只考慮中心點的成對關系,區域信息的整合仍然有限,因為實際的區域聚合操作也是通過簡單的max pooling來實現的。PointCNN[13]解決了這個問題,它將這些點排序成一個可能的規范順序,並對這些點應用卷積。點通過x變換[13]被置換和加權后是否處於規范順序還需要進一步研究。
與上述方法不同的是,我們通過連接和探索區域內所有的點對來獲取局部區域內的上下文信息。為此,我們制定了一個新的模塊,即自適應特征調整(AFA),將局部區域內的所有對點連接起來,最終形成一個局部全鏈接的網絡。然后從圖1 (c)所示的點對差異中學習對點特征的調整,該策略豐富了局部區域的點特征,形成聚合特征,更好地描述局部區域,便於三維識別。
我們的網絡從點對差異中學習影響指標,以確定特征調整,從而允許適當的適應,以獲得更好的通用性。圖2給出了特征調整的過程。進一步,我們提出了帶有AFA模塊的PointWeb框架用於三維場景識別,如圖4所示,在點雲場景理解任務上取得了最先進的結果,包括點雲語義分割和形狀分類。在三個最具競爭力的數據集上,即Stanford large 3D Indoor Space (S3DIS)[1]用於語義分割,ScanNet[5]用於語義體素標記,ModelNet40[33]用於形狀分類,實驗結果排名最高。我們相信這種有效的自適應特性調整模塊可以使其他點雲理解任務受益。我們給出了所有的實現細節,並使我們的代碼和訓練過的模型公開可用。
我們的主要貢獻是雙重的。
- 我們通過自適應特征調整,使成對的每個3D點之間的信息交換成為可能(AFA)。該模塊極大地提高了學習到的點特征的表示能力。
- 提出了以AFA為核心模塊的PointWeb框架。該算法在各種競爭性點雲數據集上都取得了最佳性能,證明了該算法的有效性和通用性。
二、相關工作
3D數據表示
真實的掃描數據是一個三維點坐標的集合。為了使數據進行卷積,一種直接的方法是在三維網格結構中對其進行體素化[16,23]。然而,這種表示顯然是低效的,因為大多數體素通常是空的。后來,OctNet[21]探索了體素數據的稀疏性並緩解了這個問題。然而,當涉及到更深層次的神經網絡時,內存占用率仍然很高。此外,由於體素是空間的離散表示,這種方法仍然需要高分辨率網格和大量內存消耗作為交換,以保持一定的表示質量水平。
另一種常見的3D表示是多視圖[19,24,25],其中點數據被投影到三維空間中各個特定的圖像平面上,形成二維圖像。通過這種方法,可以對二維圖像上的點數據進行常規的卷積處理。但是這種方法忽略了三維點的內在幾何關系,圖像平面的選擇會嚴重影響結果。由於投影造成3D數據中的遮擋部分不能被處理。
點雲深度學習
PointNet [18]首先討論了點集的不規則格式和置換不變性,提出了一種直接處理點雲的網絡。PointNet ++[20]對PointNet進行了擴展,不僅考慮了全局信息,還考慮了局部細節,采用了最遠處采樣層和分組層。盡管在PointNet++利用了局部上下文,但是僅僅使用max pooling可能不能很好地聚合局部區域的信息。因此,DGCNN[32]通過將每個中心點與其k個最近鄰相連,來聚合局部上下文信息。成對的特征然后被一個MLP獨立編碼。局部區域上的聚合操作仍然是一個簡單的max pooling。
最近的方法通過將卷積算子擴展到規則網格結構來處理無序點來改進上下文集成。PCNN[31]有參數化的連續卷積運算,它定義了連續支持域上的核函數。PointCNN[13]通過使用X-Conv算子對輸入點和特征進行置換和加權來探索點的標准順序,然后對重組后的點進行常規卷積處理。另外,Superpoint Graph (SPG)[12]側重於處理大點雲。這些點被自適應地分割成幾何齊次的元素,建立一個超點圖,然后送入圖神經網絡生成語義標簽。
我們的工作也集中在局部特征的聚集上。與以往在點雲中適應卷積的方法不同,我們將注意力放在每個局部鄰域內點之間的相互作用上。通過挖掘所有點對之間的上下文信息,我們的網絡模塊細化了特征,使它們更能描述局部鄰域。
三、我們的方法
探討局部區域內各點之間的關系是本文的重點。特別是利用神經網絡提取點對特征后,進一步聚合這些局部特征有助於提高語義分割和分類任務的點雲識別質量。
對於一個三維點雲,PointNet++[20]使用最遠點采樣選取點作為質心,然后應用kNN找到每個質心周圍的鄰近點,很好地定義了點雲中的局部區域。對於m個點的局部區域(或局部鄰域)R,用F表示R中的點的特征集合,令F ={ F1, F2,…,Fm},其中Fi∈R^C。C表示每個點特征中的通道數。
在這里,最終的目標是獲得一個代表性的區域R的特征Fout ∈R^Cout,其中Cout為輸出特征中的通道數。pointnet++使用MLP和最大池獲得代表性特征。然而,該過程不涉及局部鄰域點之間的區域信息交換。

3.1 自適應特征調整(AFA)模塊
給定區域R及其特征集F ={ F1, F2,…,Fm},我們首先制定了自適應特征調整(AFA)模塊,通過學習局部鄰域的上下文信息來增強F中的點特征:

下一個挑戰是制定特征調制器來有效地交換和進一步聚集F中信息。直觀上,局部區域的不同特征對每個Fi的提升產生不同的影響。我們的特征調制器通過自適應地學習F中每個特征對每個Fi的影響量來解決這個問題。它被表示為

3.1.1 影響函數fimp
多層感知(MLP)網絡在[18,20]中提出,它近似於點集上的一般函數。我們使用MLP來計算影響函數fimp,如圖3所示。它被表述為


考慮到這些因素,我們因此建立了g(Fi,Fj) =Fi-Fj,計算兩個特征向量之間的差異。稍后我們將在表3中顯示從使用三種不同形式g的實驗中得到的統計數據。注意,這里i = j是一種特殊情況,我們設g(Fi,Fi)作為Fi。因此,利用自身的特征Fi來估計Fi對自身的影響。
3.1.2 關系函數frel
另一方面,關系函數frel旨在確定影響指標wij對Fi的作用。一種簡單的方法是直接將wij與Fj相乘



現在,對於局部區域R中的每個特征Fi,特征調整的總輸出為

3.1.3 逐元素影響圖
除fimp和frel兩個關鍵函數外,影響因素wij = fimp(Fi,Fj) (j = 1,…,M)以逐元素的方式操作特征差異圖。每個因子的長度等於特征中通道的數量。考慮到兩個點特征之間的相互作用在整個通道中可能不同,我們不需要計算逐點影響因子,而是對局部區域的每個特征得到覆蓋整個區域和所有通道的的元素影響圖。Fi的影響圖公式為



3.2帶有局部特征調制的PointWeb
我們的框架是建立在pointnet++體系結構上的,這是一個由多個子集抽象級別組成的層次網絡。在抽象模塊的每個局部區域內,結合全局特征和局部特征進行點集識別。然而,在pointnet++中,在每個局部區域聚合信息的唯一操作是最大池化,而我們的PointWeb框架在每個局部區域的點特征之間構建一個完全鏈接的點網絡,然后通過學習確定它們之間的相互影響來整合該區域的信息。語義分割的PointWeb總體框架如圖4所示。提高性能的主要因素是自適應特征調整(AFA)模塊,即圖中突出顯示的框。

不改變特征的數量和大小,我們的AFA模塊可以看作是一個特征轉換模塊,通過每個局部區域的空間和通道用於交換和聚合上下文信息。然后將調整后的特征賦給MLP和最大池化,以便在不同的通道進行進一步的信息集成。
四、實驗評估
我們提出的PointWeb框架對於理解點雲場景是有效的。為了驗證該算法的有效性,我們在點雲語義分割和分類任務上進行了實驗。兩個大型三維點雲分割數據集,包括斯坦福采用大尺度3D室內空間(S3DIS)[1]和ScanNet[5]。另一種形狀分類數據集ModelNet[33]用於分類評價。
4.1 應用細節
我們在PyTorch[17]平台上進行了實驗。在培訓過程中,我們使用了基礎學習率為0.05的SGD求解器,mini-batch為16。動量衰減和權重衰減分別設置為0.9和0.0001。對於S3DIS數據集,我們訓練100個epoch,並且每25個epoch將學習速率降低0.1。在ScanNet和ModelNet40數據集上,我們訓練200個epoch和為每50個epoch,學習率衰減0.1。
4.2 S3DIS語義分割
數據和度量
S3DIS[1]數據集包含6個區域的3D掃描,包括271個房間。掃描中的每個點都用13個類別(椅子、桌子、天花板、地板、雜物等)語義標簽的一個進行標注。為了准備訓練數據,我們遵循[20],其中點被均勻采樣到面積為1m*1m的塊中。每個點都用一個9D向量(XY Z、RGB和房間里的標准化位置)表示。
在訓練過程中,我們從每個塊隨機抽取4,096個點。在測試過程中,我們采用了所有的點進行評估。按照[20,28,12,13],我們報告了兩種設置的結果,即面積測試5(房間不在其他折頁中)和6折頁交叉驗證(合並不同折頁的結果來計算指標)。對於評價指標,我們使用了類間交並集的均值(mIoU)、類間精度的均值(mAcc)和整體點間精度(OA)。
性能比較
表1和表2給出了上述兩種設置下不同方法的定量結果。在這個高度競爭性的數據集中,我們的PointWeb在5區域評估的mIoU和OA方面取得了最高的性能,並在6倍設置中產生了最高的mIoU和mAcc。PointWeb的mIoU在5區達到60.28%,比目前最先進的PCCN高出2.01%。同時,PointWeb在6次交叉評價中的mIoU達到66.73%,比之前最好的方法高出1.34。


消融研究
為了更好的理解我們設計邏輯的影響,我們采用Area 5對S3DIS數據集進行了消融實驗。我們首先考察fimp中的組合函數g在每個局部組內的四種不同的類型,即每對點之間不組合,通過特征求和、特征減法和特征連接進行組合。定量結果如表3所示。我們選擇局部特征上的減法操作進行調整,比其他方法更具鑒別性和代表性。

並與為圖問題設計的[29]圖注意網絡進行了比較(GANN)。GANN通過串聯建立連接。注意系數采用Softmax運算,AFA運算則不采用。因此,AFA的影響可以是積極的,也可以是消極的,起到推或拉的作用。此外,正如Eq.(9)所示,我們的影響指標隨着通道的變化而變化,這比GANN中跨通道共享權重的尺度系數具有更高的靈活性。比較如表4所示,我們的PointWeb得分最高。
最后,對於減法操作,我們研究了直接在特征本身操作的自適應學習影響指標,而不是在特征差圖上操作。對特征的直接影響因素(frel(Fi,Fj) = Fj),測試結果為59.79%/66.63%/86.51% (mIoU/mAcc/OA)。它不如對差異圖操作的影響特征 (frel(Fi,Fj) = Fi-Fj), 對差異圖操作的影響特征的最高性能為60.28 / 66.64/86.97(%)。
特征可視化
以充分了解提出的AFA模塊,我們產生了有和無調整模塊的T-SNE[15]可視化的輸入和輸出特征。使用了13個類別的S3DIS上的特征。對於每個類別,我們從整個區域中隨機抽取100個點,繪制特征分布如圖7所示。從左到右分別是沒有AFA的基線網絡產生的輸入特征和輸出特征,以及帶有AFA模塊的PointWeb架構產生的輸出特征,AFA模塊能夠加強局部區域內的信息交換和連接配對點。

4.3 ScanNet語義體素標記
ScanNet[5]數據集包含1513個掃描重建的室內場景,分為1201 /312個進行訓練和測試。對於語義體素標記任務,使用了20個類別進行評價,1個類別用於自由空間。我們遵循之前的數據處理流程[5,20],從場景中均勻采樣點,將點划分為塊,每個塊的大小為1.5m*1.5m。在訓練期間,選取了8,192個點樣本,其中不少於2%的體素被占據,至少70%的表面體素具有有效注釋。點是實時采樣的。測試集中的所有點都進行評估,測試時采用較小的采樣步長,每對相鄰塊之間采樣步長為0.5。在評價中,采用整體語義體素標記精度。為了與前面的方法進行比較,我們在訓練和測試時不使用RGB顏色信息。
圖6為語義體素標記結果。我們的方法到達這個數據集中的第一個位置。可視化結果如圖8所示,其中PointWeb很好地分類了不同房間中周圍的物體和東西。


4.4 ModelNet40 分類
ModelNet40[33]數據集包含來自40個對象類別的12311個CAD模型。它們是分開的用於訓練的有9843個,用於測試的有2468個。遵循[20],我們統一地從每個點采樣CAD模型與從對象網格計算法向量。在分類框架中,我們將特征傳播層替換為全局最大池和完全連接(FC)層。對每個形狀模型中的點進行隨機打亂,以擴充訓練集。在最后兩個FC層中加入了下降率為0.5的兩個dropout層,以減少過擬合。
表5顯示了不同方法對每個類別的總體准確率和平均准確率的評價結果。我們的方法是這個數據集中排名最高的解決方案之一。為提高基於點策略的點雲理解的適用性提供了一種有效的方法。
五、結束語
我們提出了自適應特征調整(AFA)模塊和PointWeb架構用於三維點雲處理和識別。它在局部區域內設置密集的點對連接,從而使每個點都能從所有其他點收集特征。與不知道局部上下文和與其他組件的信息交換的傳統方法相比,我們的框架能夠更好地學習用於點雲處理的特征表示。廣泛的實驗與我們的最新結果在三個競爭數據集證明了我們的方法的有效性和一般性。我們相信所提出的模塊在原則上可以推進社區中對3D場景理解的研究。