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