吳亦奇,韓 放,張德軍,何發(fā)智,陳壹林
(1.中國地質(zhì)大學(武漢)計算機學院,湖北 武漢 430078; 2.智能地學信息處理湖北省重點實驗室(中國地質(zhì)大學(武漢)),湖北 武漢 430078; 3.武漢大學計算機學院,湖北 武漢 430072;4.武漢工程大學計算機科學與工程學院,湖北 武漢 430205)
點云數(shù)據(jù)易于獲取,可以充分表示物體的表面、結構及形狀等信息,基于點云數(shù)據(jù)構建的點云模型是目前被廣泛應用的一種三維模型表示方法[1]。點云模型由物體表面采樣得到的離散點集構成,通常由點云中各點的三維坐標表示,部分點云數(shù)據(jù)還包含法向量、顏色等其他信息。
與傳統(tǒng)圖像處理方法類似,傳統(tǒng)的點云模型處理方法一般需要從點云中提取適應不同任務的點云特征[2]。獲得有效的點云特征往往需要研究人員具備相當程度的領域知識并加以精心的設計。隨著深度學習技術的興起,除傳統(tǒng)特征工程方法外,構建針對特定任務的深度神經(jīng)網(wǎng)絡也成為當前圖形與圖像處理領域的研究熱點,并取得了出色的成果[3 - 6]。
與規(guī)則的圖像數(shù)據(jù)不同,點云數(shù)據(jù)是一種無序的、不規(guī)則的三維數(shù)據(jù)。這種表現(xiàn)形式使得圖像處理中經(jīng)典的卷積神經(jīng)網(wǎng)絡無法直接用于處理點云數(shù)據(jù)。早期研究嘗試將點云數(shù)據(jù)轉(zhuǎn)換為可被卷積神經(jīng)網(wǎng)絡直接處理的形式,如多視圖方法[7 - 11]、點云體素化[12 - 15]等方法,但此類方法難以避免地存在丟失空間信息、增加冗余計算量等問題。
Qi等[16]開創(chuàng)性地提出了端到端直接處理點云數(shù)據(jù)的深度網(wǎng)絡模型PointNet,在點云分類和分割任務上取得了很好的效果。PointNet的基本思想是通過多層感知機逐點獲取各點的高維特征,再通過池化操作得到點云模型的全局特征。由于該網(wǎng)絡模型可得到具有對稱性的函數(shù),能夠?qū)W習到具有置換不變性的點云特征,使得網(wǎng)絡輸出與點云中各點的輸入順序無關,很好地適應了點云數(shù)據(jù)的特點。在此基礎上,PointNet++網(wǎng)絡[17]采用多層次提取特征的方式,將三維形狀局部信息包含在采樣點特征中,增強了點云特征的表達能力。此外,更多的研究工作致力于使用多層感知機[18 - 21]、卷積網(wǎng)絡[22 - 26]和圖神經(jīng)網(wǎng)絡[27 - 29]等多種方法,通過深度神經(jīng)網(wǎng)絡直接利用三維點云中各點的空間信息獲取點云模型的特征,進一步完善點云數(shù)據(jù)處理的方法。
使用深度學習方法處理點云數(shù)據(jù)的關鍵在于提取點云的特征。一種常用的點云特征提取方法是首先獲得點云中各點的特征,在此基礎上獲得點云形狀的全局性特征。一方面,在獲取到逐點的高維特征后,可以推斷特征中某些通道的信息對具體的點云處理任務起到更關鍵的作用;另一方面,盡管點云數(shù)據(jù)表現(xiàn)為無序的離散點集,但與規(guī)則的圖像數(shù)據(jù)類似,關鍵區(qū)域的信息對于特定任務有更重要的影響。因此,需要增強網(wǎng)絡模型對關鍵的特征通道及關鍵區(qū)域的關注程度,從而更好地獲取點云形狀的特征。
注意力機制[30]是一種通過分析輸入數(shù)據(jù)各個部分間的關聯(lián),確定高關注度部分,提升關鍵部分表示的方法。其基本實現(xiàn)方式是通過網(wǎng)絡學習得到各部分的注意力權重,通過注意力權重的控制,增強重要信息,抑制非重要信息。目前注意力機制已在文本、語音和視覺等諸多研究領域中得到了有效的應用[31 - 35]。
綜上,本文提出一種三維點云數(shù)據(jù)處理網(wǎng)絡,考慮點云特征各通道間及點云中各點間的關聯(lián),在多層特征提取的基礎上引入2種注意力機制,增強點云特征的表達能力。所提網(wǎng)絡首先將點云的位置信息映射至高維特征空間,進而通過特征通道注意力機制和空間位置注意力機制,從點云特征通道和點云空間位置2個維度獲取注意力權重,最終獲得基于2種注意力的點云特征,并使用該特征實現(xiàn)點云模型的高精度分類與部件分割。
(1)
(2)
隨后對點云進行下采樣,并對下采樣后的點云繼續(xù)進行上述點特征提取過程。該過程進行M次,實現(xiàn)了一種基于特征通道注意力和空間位置注意力的多層次點云特征提取。最后通過分類及分割網(wǎng)絡,實現(xiàn)形狀分類與部件分割任務。
Figure 1 Feature learning network of point cloud based on channel attention and spatial attention圖1 基于特征通道和空間位置注意力的 點云模型特征學習網(wǎng)絡
點云中各點的三維坐標信息不足以為后續(xù)任務提供豐富的信息。在基于深度學習的點云處理方法中,通常需要將點云中各點的三維坐標信息映射至更高維度的特征空間,獲取點云中各點的高維特征。
此外,由于點云數(shù)據(jù)中往往包含大量的點,對每一個點展開計算不僅消耗大量的計算資源,而且往往會產(chǎn)生冗余信息,并非高效的做法。因此,出于均衡效率和性能的考慮,研究人員在處理點云數(shù)據(jù)時,通常會對原始的點云數(shù)據(jù)進行下采樣后,再在較小規(guī)模的子云上進行處理。
本文采用最遠點采樣方法對點云進行下采樣。使用最遠點采樣方法可以獲取在點云形狀上分布更為均勻的點,采樣得到的點集能更好地表示出三維形狀的輪廓。在得到下采樣的點云后,將其輸入網(wǎng)絡,學習逐點的高維特征。本文采用基于多層感知機的方法,使用PointNet++中多尺度特征提取方法得到逐點特征,其基本思路如圖2所示,對于輸入點云中的某一點pi,選擇其在下采樣前周圍不同規(guī)模相鄰點集,構造若干個不同的分組。將每個分組輸入共享權重的多層感知機及池化層,得到每個分組的特征。將這些特征拼接起來,即可得到pi的多尺度特征Fi。更多方法細節(jié)可參考文獻[16,17]。
Figure 2 Point-wise feature extraction圖2 逐點特征提取
本文采用3層逐點特征提取方法。首先將原始點云通過下采樣獲得包含1 024個點的點云作為初始輸入,第1個特征提取層從輸入的1 024個點中采樣512個點并提取各點的多尺度特征;第2個特征提取層從512個點中采樣128個點并提取各點的多尺度特征;第3個特征提取層利用128個點獲取點云的全局特征。
對于多尺度的特征提取的具體實現(xiàn)細節(jié),第1個和第2個特征提取層分別使用3個尺度的分組提取特征。第1個特征提取層采樣最鄰近的16,32,128個點作為該點的鄰域,構成多尺度;第2個特征提取采樣最鄰近的32,64,128個點作為鄰域,構成多尺度;第3層把128個點整體作為一個分組進行特征提取,沒有繼續(xù)使用多尺度。
在獲取到各點的高維特征后,關注每個特征通道上的信息對整個點云信息的影響,通過獲取特征各通道上信息之間的關聯(lián)實現(xiàn)點云數(shù)據(jù)通道注意力機制,突出各點特征中更加關鍵的通道上的信息。首先獲取一種反映點云全局的特征,在此基礎上學習得到點云特征上各通道的注意力權重,從而得到經(jīng)過特征通道注意力模塊處理后的點云特征。
Figure 3 Channel attention mechanism圖3 特征通道注意力機制
點云模型中特定區(qū)域的形狀對判定點云所屬類別具有顯著作用,因此除了需要關注點云特征重要通道上的信息外,還應從空間位置的維度上關注模型中的重要區(qū)域。在經(jīng)過特征通道注意力對點云中各點的特征進行處理后,本文進一步使用空間位置注意力機制獲取各點之間的關聯(lián),確定感興趣的區(qū)域,即關注更能為下游任務(如分類、分割等)提供有用信息的點。
本節(jié)對所提出的基于特征通道和空間位置注意力的點云特征學習網(wǎng)絡在形狀分類、模型部件分割等任務上的表現(xiàn)進行驗證,并對注意力模塊的性能進行評估與分析。實驗硬件配置為:CPU:Intel i5,GPU:NVIDIA-Geforce 2080Ti,16 GB內(nèi)存。開發(fā)環(huán)境為:Ubuntu 18.04,CUDA 10.1,cudnn7,PyTorch 1.8.0。
ModelNet40[36]數(shù)據(jù)集包含約1.3萬個CAD模型,分為40個不同物體類別,其中約1萬個模型組成訓練集,其余模型組成測試集,是當前用于三維形狀分類的常用公共數(shù)據(jù)集。
在ModelNet40數(shù)據(jù)集上測試本文所提網(wǎng)絡在形狀分類任務上的效果,并與近年來主要相關研究工作進行對比。實驗結果及對比如表1所示。
從表1可以看出,在分類任務常用的2種評價指標上(平均類精度和整體精度),本文網(wǎng)絡分別達到90.29%的平均精度和93.2%的整體精度,達到或優(yōu)于近年在點云形狀分類上一些有代表性的網(wǎng)絡模型的水平。本文網(wǎng)絡的主干網(wǎng)絡結構基于PointNet++網(wǎng)絡,可以看出,在引入空間-通道注意力層對點云特征進行處理后,點云分類效果得到了較大提升,相關分析將在后面消融實驗中進行詳細介紹。
ShapeNet[42]數(shù)據(jù)集是目前常用三維模型部件
Table 1 Classification experiment results and comparison表1 分類實驗結果及對比
分割數(shù)據(jù)集。數(shù)據(jù)集內(nèi)含有16個類別共約1.7萬個模型,其中,1.4萬個模型組成訓練集,3千個模型組成測試集。每個模型由2到6種不同部件組成,共有50個不同的部件類別。
在ShapeNet數(shù)據(jù)集上測試本文網(wǎng)絡在模型部件分割任務上的效果,采用平均交并比及在各類上的交并比作為評價指標。實驗結果及與近年來其他研究工作的結果對比如表2所示。
由表2可以看出,與近期相關研究相比,本文方法達到了較高的水平。為了進一步展示本文網(wǎng)絡在部件分割上的有效性,對分割的結果進行可視化展示,效果如圖5所示,可以看出使用本文網(wǎng)絡能夠清晰、準確地分割出模型的各個部件。
Figure 5 Visualization of part segmentation on ShapeNet圖5 ShapeNet模型部件分割效果
本文在PointNet++的網(wǎng)絡結構基礎上,引入了通道-空間注意力模塊,對點云特征進行處理。因此,本節(jié)設計消融實驗,分別對通道注意力模塊和空間注意力模塊在形狀分類與部件分割任務中產(chǎn)生的效果進行測試分析。分類和分割任務的消融實驗結果分別如表3和表4所示。表中方法A為不含注意力模塊的網(wǎng)絡模型,即原始PointNet++模型;方法B僅采用特征通道注意力模塊;方法C僅采用空間注意力模塊;方法D代表同時采用2種注意力模塊的方法,即本文網(wǎng)絡??梢钥闯觯槍Ψ诸惾蝿?,通道注意力模塊與空間注意力模塊均對原始網(wǎng)絡的性能有明顯提升。
Table 2 Part segmentation experiment results and comparison 表2 部件分割實驗結果和對比
Table 3 Ablation experiment results of classification 表3 分類任務消融實驗結果
Table 4 Ablation experiment results of part segmentation 表4 分割任務消融實驗結果
而對于分割任務,本文網(wǎng)絡相較于原始網(wǎng)絡效果有一定提升,但每種注意力模塊對效果的提升有限。這可能是因為在本文注意力機制下,關注的重點是各點或各通道對點云全局的影響,而最終用于分割的逐點特征又包含跳躍拼接的信息,從而使得注意力機制對逐點特征的影響較小。因此,本文網(wǎng)絡對分類任務的效果更加明顯。
實際應用中采樣得到的點云數(shù)據(jù)可能存在采樣點缺失、稀疏或分布不均勻等問題,影響對三維形狀的表達。為模擬現(xiàn)實場景,本節(jié)采用在原始點云數(shù)據(jù)上隨機舍棄部分點云的方法來測試本文網(wǎng)絡對分類任務的魯棒性。實驗中,原始點云中的點個數(shù)為1 024,分別對保留512個點、256個點和128個點時的情況進行分類測試,實驗結果如圖6所示。
Figure 6 Experiments of robustness圖6 魯棒性實驗
由實驗結果可以看出,當舍棄原始點云中75%的點時,使用本文網(wǎng)絡的分類精度仍然能夠保持在90%左右的較高水平。一方面,PointNet++中多尺度、多層次提取點云特征的架構本身具有很強的魯棒性,本文網(wǎng)絡保持了這一特性;另一方面,引入通道-空間注意力機制,增強了關鍵通道和關鍵點的表達能力,保證了本文網(wǎng)絡的魯棒性。
本文提出了一個針對形狀分類與部件分割任務的點云數(shù)據(jù)特征學習網(wǎng)絡,基于多層特征提取方法提取點云特征,在特征提取過程中,使用注意力機制提升點云特征的表達能力。本文采用的注意力機制可部署于各種基于逐點特征的三維點云處理網(wǎng)絡中。本文選用了基于PointNet++網(wǎng)絡的多層次特征提取結構,在提取點云特征的過程中引入特征通道注意力和空間位置注意力機制,關注重要的特征通道和點云區(qū)域,增強關鍵點和關鍵通道上信息的表達。通過在ModelNet40和ShapeNet數(shù)據(jù)集上的實驗及結果對比,驗證了本文網(wǎng)絡的有效性,消融實驗也驗證了各注意力模塊對提升點云特征的效果。在未來工作中,可將通道-空間注意力模塊引入至其他點云特征提取方法中[44,45],以及將本文提取特征的方法應用到其他任務中[46 - 48]。