張 杰,王佳旭,史路冰,高海悅
(遼寧師范大學(xué) 數(shù)學(xué)學(xué)院, 遼寧 大連 116029)
隨著自主導(dǎo)航、機(jī)器人和虛擬現(xiàn)實(shí)等三維深度傳感器應(yīng)用的不斷增多[1-2],需要處理的點(diǎn)云數(shù)據(jù)也日益增加,因此,對(duì)三維點(diǎn)云數(shù)據(jù)分析算法的需求也日益增多.近幾年來,深度學(xué)習(xí)方法開始在圖像分割和分類等方面得以成功應(yīng)用[3].但是由于點(diǎn)云數(shù)據(jù)往往是不規(guī)則的,因此無法像圖像一樣直接作為深度學(xué)習(xí)的輸入.如何使用深度網(wǎng)絡(luò)對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行分析處理已經(jīng)成為近些年的熱點(diǎn)問題之一[3-4].
為了能在點(diǎn)云上使用深度網(wǎng)絡(luò), 一種常見的方法是將點(diǎn)云轉(zhuǎn)化為規(guī)則的圖像(基于圖像的方法)或體素(基于體素的方法).基于圖像的方法[2,5], 是從不同的角度將三維點(diǎn)云形狀投影到若干個(gè)二維視圖上, 然后在二維視圖上進(jìn)行卷積操作, 最后將卷積得到的視圖特征聚合成低維的全局特征.但對(duì)于點(diǎn)云的分割問題, 將三維形狀投影到二維圖像, 可能會(huì)因?yàn)檎趽鯁栴}導(dǎo)致形狀信息的損失, 因此需要大量的圖像以提升分割的結(jié)果, 計(jì)算量較大.基于體素的方法[1,6], 是將輸入的三維點(diǎn)云轉(zhuǎn)換為規(guī)則的三維體素后, 直接在體素上進(jìn)行三維卷積操作提取特征.此類方法雖然可以在一定程度上保留幾何結(jié)構(gòu), 但體素化卷積操作內(nèi)部存儲(chǔ)成本消耗嚴(yán)重, 這使得捕獲高分辨率信息和細(xì)粒度特征變得困難[1-2,5].近幾年也不乏有一些解決方法[7-8], 但大都依賴于邊界體積的劃分, 而不是局部幾何形狀.
近年來, 基于點(diǎn)云表示的方法得到廣泛關(guān)注, 該類方法嘗試直接以三維點(diǎn)云數(shù)據(jù)作為輸入.PointNet[3]是用深度神經(jīng)網(wǎng)絡(luò)直接處理點(diǎn)云的先驅(qū)者, 該方法首先通過共享的多層感知器(Multi-layer Perceptron, MLP)對(duì)每個(gè)點(diǎn)進(jìn)行單獨(dú)學(xué)習(xí)實(shí)現(xiàn)點(diǎn)特征的提取, 再對(duì)點(diǎn)特征運(yùn)用最大池化(Max Pooling)操作得到點(diǎn)云的整體特征.但PointNet在點(diǎn)特征的提取中忽略了局部結(jié)構(gòu).針對(duì)此問題, PointNet的作者對(duì)其進(jìn)行了改進(jìn), 提出了一種新的深度神經(jīng)網(wǎng)絡(luò)框架(PointNet++[4])實(shí)現(xiàn)局部結(jié)構(gòu)的捕獲.其先將點(diǎn)云劃分為多個(gè)重疊的局部鄰域, 再利用PointNet對(duì)每一個(gè)小鄰域提取局部特征, 這些局部特征進(jìn)一步組成更大的單位, 并被處理得到更高級(jí)的語義特征, 重復(fù)此過程直至得到整個(gè)點(diǎn)云的特征描述.PointNet++的這種分層神經(jīng)網(wǎng)絡(luò)框架體現(xiàn)了卷積網(wǎng)絡(luò)從局部鄰域提取特征的思想, 受到眾多研究者的認(rèn)可.但PointNet++在對(duì)局部鄰域提取特征時(shí), 仍采用PointNet網(wǎng)絡(luò), 沒有考慮點(diǎn)的鄰接信息.諸多后續(xù)工作針對(duì)如何在提取局部特征時(shí)加入鄰接信息展開討論.
為了在對(duì)局部鄰域進(jìn)行特征提取時(shí)加入點(diǎn)的鄰接信息, 目前主流的方法是通過預(yù)測卷積算子的連續(xù)權(quán)重或特征函數(shù)來定義一個(gè)可學(xué)習(xí)的連續(xù)卷積層.對(duì)于連續(xù)函數(shù), 卷積操作的定義如下:
(1)
其中,f是被卷積的特征函數(shù),g是卷積核函數(shù), 其可以用來計(jì)算每一點(diǎn)的卷積權(quán)重.點(diǎn)云可以看作是連續(xù)空間的非均勻采樣, 點(diǎn)云上每點(diǎn)的特征可以理解為三維空間連續(xù)函數(shù)的一個(gè)離散采樣.因此點(diǎn)云上的卷積運(yùn)算一方面可以通過將散亂無序的采樣點(diǎn)規(guī)則化獲得; 另一方面可以通過估計(jì)散亂無序采樣點(diǎn)上的卷積權(quán)重獲得.
PointCNN[9]提出了一種χ-卷積, 該卷積先通過MLP從輸入點(diǎn)中學(xué)習(xí)一個(gè)χ-變換, 通過該變換對(duì)局部點(diǎn)云進(jìn)行加權(quán)和排序, 然后對(duì)“重排”后的點(diǎn)特征進(jìn)行卷積.理想情況下, χ-卷積的結(jié)果與鄰域點(diǎn)的順序無關(guān), 但實(shí)際求得的χ-變換很難做到這一點(diǎn).SPLATNet[10]和PCNN[11]都是將點(diǎn)特征插值到規(guī)則網(wǎng)格上,在網(wǎng)格上應(yīng)用三維卷積,最后將特征再投影到原始點(diǎn)云上.然而插值函數(shù)和原始的特征函數(shù)之間存在誤差, 這使得卷積結(jié)果可能會(huì)偏離期望值.特別在采樣誤差較大的情況下, 插值函數(shù)很難恢復(fù)原始特征函數(shù)的細(xì)節(jié), 影響卷積結(jié)果的性能.
另一類方法嘗試通過插值函數(shù)[12]、多層感知器(MLP)[13]或多項(xiàng)式函數(shù)[14]來估計(jì)連續(xù)的核函數(shù)g, 然后利用核函數(shù)直接預(yù)測散亂無序采樣點(diǎn)上的卷積權(quán)重, 再將權(quán)重和采樣點(diǎn)特征對(duì)應(yīng)相乘求和, 實(shí)現(xiàn)局部鄰域的特征提取.然而, 由于這一類方法并沒有對(duì)采樣點(diǎn)的位置進(jìn)行優(yōu)化, 在非均勻采樣情況下, 卷積結(jié)果可能會(huì)偏離期望值.因此,這類方法需要引進(jìn)其他技術(shù)對(duì)非均勻采樣進(jìn)行補(bǔ)償, 如:蒙特卡羅卷積[15]以及一般化地離散卷積[12]使用密度函數(shù)來消減采樣密度的影響, 但這一類方法在學(xué)習(xí)位置與權(quán)重的關(guān)系時(shí), 并沒有考慮點(diǎn)集的幾何形狀信息.為了解決該問題, Liu等人提出了形狀感知卷積神經(jīng)網(wǎng)絡(luò)(RS-CNN[16]), 在局部鄰域的特征提取時(shí)考慮局部幾何形狀信息.與以往方法不同, RS-CNN不是以局部點(diǎn)集的位置坐標(biāo)作為輸入, 而是設(shè)計(jì)了一個(gè)低維的幾何特征對(duì)采樣點(diǎn)的幾何形狀進(jìn)行描述.然后通過MLP從低維的幾何特征中學(xué)習(xí)出對(duì)應(yīng)權(quán)重對(duì)特征進(jìn)行加權(quán), 再對(duì)加權(quán)后的特征進(jìn)行最大池化操作獲得鄰域的局部特征.RS-CNN在卷積操作時(shí)不僅可以很好地解決點(diǎn)云的無序問題, 而且對(duì)剛性變換魯棒, 在局部鄰域特征提取的同時(shí)考慮了每個(gè)點(diǎn)的自身位置和幾何屬性, 在點(diǎn)云聚類和分割中, RS-CNN取得目前領(lǐng)先的結(jié)果.然而, RS-CNN在權(quán)重的學(xué)習(xí)過程中沒有考慮局部鄰域的整體分布, 在構(gòu)造鄰域點(diǎn)的低維幾何特征時(shí)只用到了當(dāng)前點(diǎn)與鄰域點(diǎn)的位置關(guān)系; 在利用深度網(wǎng)絡(luò)學(xué)習(xí)權(quán)重的過程中亦是通過對(duì)每個(gè)點(diǎn)進(jìn)行單獨(dú)學(xué)習(xí)實(shí)現(xiàn)的.
本文在RS-CNN的框架下提出一種新的深度點(diǎn)云卷積形式——鄰域參與的形狀感知卷積, 在權(quán)重的學(xué)習(xí)過程中不僅利用了每一點(diǎn)的位置和幾何屬性, 同時(shí)還考慮了局部點(diǎn)集的整體分布.該網(wǎng)絡(luò)采用了類似于PointNet分割網(wǎng)絡(luò)的框架對(duì)權(quán)重進(jìn)行學(xué)習(xí)(權(quán)重學(xué)習(xí)網(wǎng)絡(luò), WL-Net), 通過將鄰域點(diǎn)的局部編碼與鄰域的全局編碼串聯(lián)實(shí)現(xiàn)利用局部點(diǎn)集的整體分布對(duì)權(quán)重進(jìn)行學(xué)習(xí).具體來說, 對(duì)于輸入的局部鄰域, 首先通過MLP提取出點(diǎn)特征, 利用平均池(Average Pooling)獲得鄰域的全局特征, 然后再將全局特征和點(diǎn)特征進(jìn)行串聯(lián), 并利用MLP學(xué)習(xí)出每點(diǎn)的權(quán)重.通過權(quán)重與對(duì)應(yīng)特征相乘, 獲得每一點(diǎn)的加權(quán)特征, 再對(duì)得到的加權(quán)特征采取最大池得到鄰域的局部特征.
本文采用類似PointNet++的分層結(jié)構(gòu).輸入為F1=(v1i,fv1i),i=1,2,…,N1, 即對(duì)于點(diǎn)集V1={v1i|v1i∈3}中的每一點(diǎn)v1i都對(duì)應(yīng)一輸入特征fv1i∈C1, 其中,C1為輸入特征維度,N1為采樣點(diǎn)個(gè)數(shù).在此基礎(chǔ)上構(gòu)造其代表點(diǎn)集V2={v2i|v2i∈3},i=1,2,…,N2.V2中的點(diǎn)可以位于任意位置, 常用的構(gòu)造方法是對(duì)V1進(jìn)行隨機(jī)下采樣或最遠(yuǎn)點(diǎn)采樣.接下來利用V2中的點(diǎn)將V1分割為N2個(gè)重疊的子點(diǎn)云, 每一子點(diǎn)云是以v2i為中心的局部鄰域Ni, 然后對(duì)每一子點(diǎn)云提取局部特征fv2i作為代表點(diǎn)v2i的提取特征, 集合F2=(v2i,fv2i),i=1,2,…,N2可以看成點(diǎn)云的更高級(jí)表示.對(duì)得到的F2重復(fù)上述過程, 直至得到整個(gè)點(diǎn)云的特征.
為方便敘述, 取V2中的一個(gè)代表點(diǎn)記為v, 并將其在V1中的鄰域記為N.其中,N是代表點(diǎn)v的K個(gè)近鄰點(diǎn)vi組成的鄰域, 鄰域中每個(gè)點(diǎn)對(duì)應(yīng)特征向量fvi.受到RS-CNN啟發(fā), 為了考慮每一點(diǎn)的形狀信息, 對(duì)每一鄰域點(diǎn)vi根據(jù)其與當(dāng)前點(diǎn)v之間的位置關(guān)系定義一個(gè)10個(gè)通道的低維局部形狀向量hvi=(|v-vi|,v-vi,v,vi), 其中,|·|表示F范數(shù), 該向量可以看成是vi的一個(gè)低級(jí)的形狀特征.對(duì)于鄰域N, 其輸入為F={(hvi,fvi)|vi∈N}, 本文通過WL-Net學(xué)習(xí)特征fvi的對(duì)應(yīng)權(quán)重wvi, 然后對(duì)加權(quán)后的特征進(jìn)行聚合, 并對(duì)聚合后的特征運(yùn)用MLP進(jìn)行升維, 對(duì)鄰域N提取更高維的特征向量.其具體過程如圖1所示, 以鄰域點(diǎn)對(duì)應(yīng)的特征向量fvi和低維局部形狀向量hvi作為輸入, 先利用WL-Net學(xué)習(xí)每一特征向量fvi的權(quán)重.具體來說, 首先通過MLP對(duì)hvi進(jìn)行拉伸, 提取每一點(diǎn)的C2維點(diǎn)特征, 然后利用平均池獲得鄰域的特征描述, 再將全局特征和點(diǎn)特征進(jìn)行串聯(lián), 實(shí)現(xiàn)將鄰域的整體形狀用于權(quán)重學(xué)習(xí)的目的.利用串聯(lián)特征經(jīng)過MLP學(xué)習(xí)出與輸入特征具有相同維度的權(quán)重wvi.得到權(quán)重wvi后, 利用wvi對(duì)fvi進(jìn)行加權(quán), 然后對(duì)加權(quán)后的特征進(jìn)行聚合, 并對(duì)聚合后的特征運(yùn)用MLP進(jìn)行升維, 進(jìn)而得到鄰域的局部特征fsub.該過程可用公式表示如下:
圖1 算法流程圖
fsub=M(σ(A({wvi·fvi,?vi∈N}))),
(2)
其中,wvi是通過hvi利用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)出的fvi對(duì)應(yīng)的權(quán)重,·表示對(duì)應(yīng)元素相乘, 函數(shù)A表示利用聚合函數(shù)對(duì)得到的加權(quán)特征進(jìn)行聚合, 函數(shù)σ表示用非線性函數(shù)對(duì)加權(quán)后的特征進(jìn)行激活,M表示利用MLP對(duì)激活后的特征進(jìn)行升維, 得到鄰域的局部特征fsub.在上述步驟中, 當(dāng)聚合函數(shù)A是對(duì)稱的, 才能實(shí)現(xiàn)點(diǎn)集的置換不變性.一般常用的操作有最大池化和平均池化.與RS-CNN和傳統(tǒng)的CNN類似, 本文選用最大池化實(shí)現(xiàn)加權(quán)特征集的聚合操作.權(quán)重wvi的學(xué)習(xí)是本文的關(guān)鍵步驟.為了可以在權(quán)重的學(xué)習(xí)過程中加入點(diǎn)集的整體分布, 本文提出了一個(gè)以局部點(diǎn)集整體為輸入的權(quán)重學(xué)習(xí)網(wǎng)絡(luò)(Weight-Learning Net, WL-Net).
RS-CNN在構(gòu)造低維局部形狀向量hvi時(shí), 僅考慮了鄰域點(diǎn)和當(dāng)前點(diǎn)的位置信息, 并沒有加入局部鄰域的整體形狀描述; 在利用hvi學(xué)習(xí)權(quán)重wvi的過程中, 亦是通過對(duì)hvi的獨(dú)立學(xué)習(xí)完成的, 沒有考慮vi的鄰接信息, 如圖1中的虛線所示.因此, RS-CNN在wvi的學(xué)習(xí)過程中沒有考慮點(diǎn)集的整體分布.事實(shí)上, 點(diǎn)集中每一點(diǎn)的權(quán)重不僅與其自身的位置和幾何屬性有關(guān), 還應(yīng)與點(diǎn)集的整體分布有關(guān), 如圖2所示.圖中星形點(diǎn)為當(dāng)前點(diǎn), 方形點(diǎn)和三角形點(diǎn)為鄰域點(diǎn),(a)和(b)具有不同分布, 方形點(diǎn)在(a)中為描述形狀的關(guān)鍵點(diǎn), 但在(b)中為噪聲點(diǎn).因此, 在(a)和(b)中學(xué)習(xí)到的權(quán)重應(yīng)該不同.但由于RS-CNN在權(quán)重學(xué)習(xí)的過程中僅考慮了鄰域點(diǎn)和當(dāng)前點(diǎn)的關(guān)系, 所以方形點(diǎn)在(a)與(b)中學(xué)習(xí)到的權(quán)重是一樣的.為克服這一問題, 本文加入了全局鄰域結(jié)構(gòu), 由于(a)與(b)的形狀分布不同, 所以二者的全局特征也不相同, 進(jìn)而使得方形點(diǎn)在(a)與(b)中學(xué)習(xí)到的權(quán)重亦不同.
圖2 權(quán)重學(xué)習(xí)應(yīng)考慮鄰域的整體形狀
為了能在權(quán)重學(xué)習(xí)過程中考慮鄰域的整體特征, 本文采用了類似于PointNet分割網(wǎng)絡(luò)的框架來構(gòu)建WL-Net, 通過將鄰域點(diǎn)的點(diǎn)特征與鄰域的全局特征串聯(lián), 實(shí)現(xiàn)利用局部點(diǎn)集的整體分布對(duì)權(quán)重進(jìn)行學(xué)習(xí), 如圖1中的上方深色陰影框所示.具體來說, 首先以鄰域內(nèi)每一點(diǎn)的低維局部形狀向量hvi作為輸入, 通過MLP對(duì)每一點(diǎn)提取C2維度的點(diǎn)特征, 利用平均池化操作獲得鄰域的全局特征1×C2, 為了在權(quán)重學(xué)習(xí)過程中能夠考慮局部點(diǎn)集的整體分布, 將C2維度的全局特征與C2維度的點(diǎn)特征串聯(lián), 每點(diǎn)得到一個(gè)(C2+C2)維度的特征向量, 最終通過MLP學(xué)習(xí)出與輸入特征具有相同維度的權(quán)重wvi.對(duì)輸入鄰域N, 用WL-Net進(jìn)行權(quán)重學(xué)習(xí)時(shí), 通過聚合函數(shù)的使用, 可以在理論上保證權(quán)重學(xué)習(xí)的結(jié)果對(duì)點(diǎn)排列順序不變.本文使用WL-Net來替代RS-CNN中的權(quán)重學(xué)習(xí)過程, 結(jié)果表明WL-Net有效地提高了RS-CNN網(wǎng)絡(luò)的性能, 并且在具有挑戰(zhàn)性的基準(zhǔn)數(shù)據(jù)集和任務(wù)上均達(dá)到了與現(xiàn)有方法相同或更好的性能.
為了對(duì)本文算法的有效性進(jìn)行評(píng)估, 本節(jié)在不同任務(wù)和數(shù)據(jù)集上進(jìn)行了測試.實(shí)驗(yàn)分為3部分: 基于ModelNet40數(shù)據(jù)集的三維形狀識(shí)別(3.1節(jié)); 基于ShapeNet Parts數(shù)據(jù)集的三維模型語義分割(3.2節(jié)); 輸入數(shù)據(jù)及聚合函數(shù)對(duì)模型性能的影響(3.3節(jié)).算法在PyTorch下實(shí)現(xiàn), 并在單個(gè)Nvidia GTX 1080Ti上進(jìn)行訓(xùn)練.
3.1.1 數(shù)據(jù)集
對(duì)于三維形狀分類任務(wù), 選擇ModelNet40數(shù)據(jù)集[7]對(duì)算法性能進(jìn)行評(píng)估.該數(shù)據(jù)集包括40個(gè)類別共12 311個(gè)模型, 其中9 843個(gè)模型用于訓(xùn)練, 2 468個(gè)模型用于測試.本文訓(xùn)練了以1 024個(gè)點(diǎn)為輸入的測試模型, 采樣數(shù)據(jù)是在文獻(xiàn)[3]提供的數(shù)據(jù)集上進(jìn)行的, 該數(shù)據(jù)集將ModelNet40中的每一個(gè)模型轉(zhuǎn)化為包含2 048個(gè)點(diǎn)的點(diǎn)云模型.在訓(xùn)練過程中, 本文采用了文獻(xiàn)[3]的方法對(duì)數(shù)據(jù)進(jìn)行擴(kuò)充, 一方面對(duì)輸入數(shù)據(jù)進(jìn)行了拉伸, 尺度控制在[-0.66, 1.5]范圍內(nèi); 另一方面對(duì)數(shù)據(jù)進(jìn)行平移, 控制在[-0.2, 0.2]范圍內(nèi).為了解決數(shù)據(jù)的過擬合問題, 在網(wǎng)格訓(xùn)練過程中, 對(duì)于神經(jīng)網(wǎng)絡(luò)單元執(zhí)行50%比例的Drop out[17]技術(shù).在測試過程中, 類似于文獻(xiàn)[3-4,16],對(duì)每個(gè)模型進(jìn)行了10次隨機(jī)采樣, 并對(duì)預(yù)測結(jié)果取平均值.
3.1.2 實(shí)驗(yàn)細(xì)節(jié)
對(duì)于RS-CNN, 本文使用作者文章中給出的2層單尺度鄰域架構(gòu).雖然RS-CNN作者指出, 在3層多尺度鄰域架構(gòu)下可以得到更好的結(jié)果, 但是在網(wǎng)絡(luò)上僅提供了2層單尺度鄰域架構(gòu), 故使用此架構(gòu).為了能更好的對(duì)RS-CNN和RS-CNN+WL-Net的性能進(jìn)行比較, 本文使用和RS-CNN相同的框架, 只是將RS-CNN中的權(quán)重的學(xué)習(xí)過程替換為本文提出的WL-Net.而且對(duì)于參數(shù)C,C1,C2及Cout的選取, 使用了和RS-CNN一樣的原則.
3.1.3 結(jié)果與討論
為了驗(yàn)證本文算法的優(yōu)越性, 本節(jié)就ModelNet40數(shù)據(jù)集上的分類結(jié)果,與其他先進(jìn)方法進(jìn)行了比較, 結(jié)果如表1所示.可以看出, 本文算法的分類準(zhǔn)確率優(yōu)于其他主流算法.RS-CNN+WL-Net在僅以1 024個(gè)點(diǎn)的坐標(biāo)作為輸入的條件下,其準(zhǔn)確率可以達(dá)到93.2%,優(yōu)于PointConv[13]以5 000個(gè)點(diǎn)的坐標(biāo)和法向作為輸入的結(jié)果.此外,可以觀察到,用本文提出的WL-Net替換RS-CNN中的權(quán)重學(xué)習(xí)過程,可以有效提高算法的性能(RS-CNN+WL-Net比RS-CNN高出0.3%).實(shí)驗(yàn)結(jié)果表明了在權(quán)重學(xué)習(xí)過程中考慮鄰域整體分布的優(yōu)越性.
表1 在ModelNet40上的分類準(zhǔn)確率的比較
3.2.1 數(shù)據(jù)集
對(duì)于三維模型語義分割任務(wù),選擇ShapeNet Parts數(shù)據(jù)集對(duì)本文算法進(jìn)行評(píng)估.ShapeNet Parts是一個(gè)由三維CAD模型對(duì)象表示的豐富的大型形狀數(shù)據(jù)集,包括了16個(gè)類別的16 880個(gè)模型,其中,14 006個(gè)模型用于訓(xùn)練,2 874個(gè)模型用于測試.模型中的每一點(diǎn)對(duì)應(yīng)一個(gè)部件標(biāo)簽(這個(gè)數(shù)據(jù)集總共50個(gè)部件),平均每個(gè)模型由少于6個(gè)部分組成.每個(gè)模型采2 048個(gè)點(diǎn)用于訓(xùn)練和測試.與RS-CNN類似,將模型的類別標(biāo)簽對(duì)應(yīng)的向量作為特征,與網(wǎng)絡(luò)的最后一個(gè)特征層輸出的特征串聯(lián),用于預(yù)測每個(gè)采樣點(diǎn)的標(biāo)簽.在測試過程中,對(duì)每個(gè)模型進(jìn)行了10次隨機(jī)拉伸,并對(duì)預(yù)測結(jié)果取平均值.
3.2.2 實(shí)驗(yàn)細(xì)節(jié)
對(duì)于RS-CNN深層網(wǎng)絡(luò)框架, 本文使用作者給出的4層多尺度鄰域架構(gòu).RS-CNN+WL-Net 仍使用和RS-CNN相同的框架和參數(shù)設(shè)計(jì).
3.2.3 結(jié)果與討論
與三維形狀識(shí)別實(shí)驗(yàn)相比, 三維模型語義分割需要更精細(xì)地識(shí)別每個(gè)點(diǎn), 所以更加具有挑戰(zhàn)性.本節(jié)就ShapeNet Parts數(shù)據(jù)集上的語義分割結(jié)果, 與其他先進(jìn)方法進(jìn)行了比較.本文采用交并比(Intersection-over-Union, IoU)對(duì)分割結(jié)果實(shí)現(xiàn)定量的比較, 展示兩種平均的IoU(mIoU), 它們分別是在所有類別和所有實(shí)例中進(jìn)行平均.表2總結(jié)了與現(xiàn)階段方法的定量比較.RS-CNN+WL-Net以86.4%的類別mIoU和84.2%的實(shí)例mIoU獲得了最好的語義分割性能.而且, 基于相同的網(wǎng)絡(luò)框架和參數(shù)設(shè)計(jì), RS-CNN+WL-Net的類別mIoU和實(shí)例mIoU分別略高于RS-CNN.這些改進(jìn)證明了本文提出的權(quán)重學(xué)習(xí)網(wǎng)絡(luò)的有效性.
表2 在ShapeNet Parts上的分割結(jié)果的比較
3.3.1 稀疏數(shù)據(jù)上的分類結(jié)果分析
本節(jié)以ModelNet40數(shù)據(jù)集上的形狀分類任務(wù)為基礎(chǔ), 對(duì)RS-CNN和RS-CNN+WL-Net在不同數(shù)量的輸入點(diǎn)下的性能進(jìn)行了評(píng)估.本文在不同數(shù)量的采樣點(diǎn)下對(duì)模型進(jìn)行訓(xùn)練, 并利用訓(xùn)練后的模型進(jìn)行測試, 結(jié)果展示在圖3 中.實(shí)驗(yàn)結(jié)果表明, RS-CNN+WL-Net在每個(gè)密度上都比RS-CNN精度要高.而且, 當(dāng)輸入點(diǎn)數(shù)減少到128或64時(shí), RS-CNN+WL-Net的性能可以達(dá)到90.6%和89.3%, 與PointNet++和PointNet在1 024個(gè)輸入點(diǎn)下的結(jié)果持平.但是, 當(dāng)采樣點(diǎn)數(shù)量降低到128或64時(shí), 在TITAN RTX GPU上, 每個(gè)樣本的推斷速度為1.4~0.7 ms, 這使得在實(shí)際應(yīng)用中, 例如:自動(dòng)駕駛、機(jī)器人交互, 實(shí)現(xiàn)低分辨率點(diǎn)云輸入的實(shí)時(shí)分類成為可能.
圖3 輸入點(diǎn)數(shù)量對(duì)網(wǎng)絡(luò)性能的影響
3.3.2 聚合函數(shù)的選擇
本節(jié)討論了不同聚合函數(shù)對(duì)網(wǎng)絡(luò)性能的影響, 本文算法在兩個(gè)位置使用了聚合函數(shù): 一是在WL-Net中為了將鄰域的整體分布加入到權(quán)重學(xué)習(xí)中, 使用聚合函數(shù)獲得鄰域的整體編碼并與點(diǎn)特征相串聯(lián); 另一個(gè)是對(duì)加權(quán)后的特征使用聚合函數(shù), 即式(2)中的A.表3比較了RS-CNN+WL-Net在平均池化和最大池化下, 在Model-Net40數(shù)據(jù)集上的識(shí)別準(zhǔn)確率.實(shí)驗(yàn)結(jié)果表明, 所有構(gòu)造方法的性能都優(yōu)于原始RS-CNN算法的結(jié)果(92.9%).這有效的證明了, 權(quán)重學(xué)習(xí)過程中考慮鄰域整體分布的優(yōu)越性.此外, 還可以看到, WL-Net中的聚合函數(shù)選擇平均池要優(yōu)于最大池, 本文在WL-Net中使用平均池作為聚合函數(shù), 而對(duì)加權(quán)后的特征使用最大池.
表3 聚合函數(shù)A的選取對(duì)網(wǎng)絡(luò)性能的影響
本文提出了一種在三維點(diǎn)云上直接進(jìn)行卷積運(yùn)算的新方法—鄰域參與的形狀感知卷積.該方法以RS-CNN框架為基礎(chǔ), 先利用MLP學(xué)習(xí)每點(diǎn)的權(quán)重, 然后利用權(quán)重對(duì)輸入特征進(jìn)行加權(quán), 再通過聚合函數(shù)和MLP提取鄰域的整體特征描述.通過在權(quán)重的學(xué)習(xí)過程中引入鄰域的整體分布, 有效的提高了算法的準(zhǔn)確度, 在多個(gè)具有挑戰(zhàn)性的基準(zhǔn)數(shù)據(jù)集和任務(wù)上都取得了良好的性能.
通過估計(jì)連續(xù)的核函數(shù), 然后通過核函數(shù)直接預(yù)測散亂無序采樣點(diǎn)上的卷積權(quán)重, 實(shí)現(xiàn)局部鄰域的特征提取, 是目前一種流行的卷積定義方式.但是, 現(xiàn)有的權(quán)重學(xué)習(xí)方法, 都是從點(diǎn)到點(diǎn)對(duì)應(yīng)學(xué)習(xí)出權(quán)重, 無法體現(xiàn)從鄰域到每個(gè)點(diǎn)的權(quán)重學(xué)習(xí)過程.如何將鄰域支持的權(quán)重學(xué)習(xí)的思想應(yīng)用到更多的前沿算法中, 如:PointConv[13]、SPLAT-Net[10]、GDCNN[12], 將是未來的一個(gè)重要工作.