秦鑫宇,韓 帥,沈?qū)W利,楊 瑩
1.遼寧工程技術(shù)大學(xué) 軟件學(xué)院,遼寧 葫蘆島 125105
2.中國(guó)科學(xué)院 海西研究院 泉州裝備制造研究所,福建 泉州 362216
近年來,隨著虛擬/現(xiàn)實(shí)、機(jī)器人技術(shù)、自動(dòng)駕駛等領(lǐng)域的快速發(fā)展以及各種直接獲取3D數(shù)據(jù)的掃描設(shè)備(如:深度相機(jī)、LiDAR掃描儀、雷達(dá)等)的普及,3D點(diǎn)云的應(yīng)用已越來越廣泛。3D 幾何數(shù)據(jù)可以提供3D 空間信息,并且受照明強(qiáng)度的影響較小,比RGB(紅色、綠色、藍(lán)色)圖像信息更魯棒。點(diǎn)云通常代表3D空間(R3)中的一組無序的3D 點(diǎn),每個(gè)點(diǎn)都有x、y、z三個(gè)坐標(biāo),并且可能具有其他特征(如:RGB信息、法向信息等),它是3D 幾何數(shù)據(jù)最常見的表示形式。深度相機(jī)、LiDAR掃描儀和雷達(dá)的原始數(shù)據(jù)通常是點(diǎn)云,此外,幾何數(shù)據(jù)的其他3D 表示(例如網(wǎng)格、體素和深度圖像)也可以很容易地被轉(zhuǎn)換為點(diǎn)云[1]。因此,對(duì)點(diǎn)云數(shù)據(jù)的識(shí)別具有重要的意義。
在2D圖像領(lǐng)域,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)取得了重大突破,極大地改善了大多數(shù)視覺任務(wù)的結(jié)果。在點(diǎn)云的深度學(xué)習(xí)中,希望將CNN在常規(guī)柵格數(shù)據(jù)(例如圖像)分析上的非凡成功應(yīng)用到不規(guī)則3D點(diǎn)云的處理上。然而與具有規(guī)則像素排列的2D 圖像不同,通常點(diǎn)云數(shù)據(jù)的幾何形狀是由一組稀疏且無序的3D 點(diǎn)表示的,這樣的數(shù)據(jù)格式使得點(diǎn)云難以應(yīng)用常規(guī)的CNN 進(jìn)行卷積,因此對(duì)具有不規(guī)則結(jié)構(gòu)的3D點(diǎn)云的分析更具有挑戰(zhàn)性[2]。
對(duì)此有不少學(xué)者針對(duì)點(diǎn)云數(shù)據(jù)的識(shí)別與分類提出了自己的改進(jìn)方法,大致分為基于體素的方法、基于視圖的方法和基于幾何的方法。文獻(xiàn)[3]提出VoxNet,以實(shí)現(xiàn)對(duì)3D 對(duì)象可靠的識(shí)別??紤]到體素?cái)?shù)據(jù)的高存儲(chǔ)、高計(jì)算成本和3D網(wǎng)格的分辨率通常較低等因素,利用體素網(wǎng)格的方法來處理大規(guī)模點(diǎn)云存在一定的問題。文獻(xiàn)[4]提出MVCNN,首次提出了基于視圖的方法,將多個(gè)視圖的特征最大池化為一個(gè)全局特征。文獻(xiàn)[5]首先獲得3D 形狀在不同尺度及視點(diǎn)下的深度圖和陰影圖,然后使用全卷積網(wǎng)絡(luò)對(duì)其進(jìn)行特征學(xué)習(xí)。二維投影可能會(huì)由于自我遮擋而導(dǎo)致形狀信息丟失,并且通常需要大量視圖才能獲得良好的性能。文獻(xiàn)[6-7]采取手工提取特征并采用傳統(tǒng)機(jī)器學(xué)習(xí)的方法實(shí)現(xiàn)點(diǎn)云分類,此類方法未能獲取全部點(diǎn)云信息且特征的提取需要耗費(fèi)較長(zhǎng)時(shí)間[8]。文獻(xiàn)[9]提出了PointNet 網(wǎng)絡(luò),可以直接對(duì)原始點(diǎn)云進(jìn)行分類和分割,但由于PointNet無法獲取局部信息的缺點(diǎn)使它難以應(yīng)對(duì)復(fù)雜場(chǎng)景的分析。文獻(xiàn)[10]對(duì)原始點(diǎn)云數(shù)據(jù)進(jìn)行預(yù)處理和k-means聚類分析,并對(duì)處理后的數(shù)據(jù)通過PointNet網(wǎng)絡(luò)進(jìn)行并行特征提取,以減少冗余的點(diǎn)云數(shù)據(jù),提高訓(xùn)練效率,但該方法的最終分類精度受k-means算法的k值影響較大。文獻(xiàn)[11-13]將PointNet作為特征提取器,遞歸地應(yīng)用到多尺度的嵌套分區(qū)上以提取局部特征,并組合來自不同比例尺度的學(xué)習(xí)到的特征。該方法雖然可以對(duì)提取到的局部特征進(jìn)行整合,但仍然僅會(huì)分別處理局域點(diǎn)集中的每個(gè)點(diǎn),并且不會(huì)提取該點(diǎn)及其鄰居之間的關(guān)系,例如距離和邊緣向量。
為此,本文提出一種針對(duì)原始3D 點(diǎn)云進(jìn)行卷積的新的卷積方式。在3D 空間中,可將此卷積運(yùn)算符的權(quán)重視為相對(duì)于3D 參考點(diǎn)的局域3D 點(diǎn)坐標(biāo)的連續(xù)函數(shù),可以通過多層感知器(multi-layer perceptron,MLP)進(jìn)行近似[14-16]??紤]到點(diǎn)云的非均勻采樣,本文使用高斯核函數(shù)進(jìn)行核密度估計(jì)(kernel density estimation,KDE)[17],經(jīng)過由MLP 近似的密度函數(shù)以學(xué)習(xí)密度尺度,并結(jié)合點(diǎn)云中點(diǎn)的相對(duì)位置進(jìn)行加權(quán)。此外,使用多尺度采樣分組方法對(duì)不同尺度范圍內(nèi)的樣本進(jìn)行細(xì)粒度識(shí)別,并在原始點(diǎn)集中引入了法向特征作為方向信息,以實(shí)現(xiàn)網(wǎng)絡(luò)性能的進(jìn)一步提升。
卷積是分析數(shù)學(xué)中一種重要的運(yùn)算,有著廣泛的運(yùn)用。在2D圖像的處理中,常用的是2D卷積。對(duì)于函數(shù)f、g在(x,y)位置處的卷積的定義,通常如等式(1)、(2)所示[18]。
對(duì)2D 圖像的卷積過程可以解釋為等式(2)中的離散函數(shù),整個(gè)卷積過程就是使用濾波器在2D 圖像表示的網(wǎng)格狀矩陣中滑動(dòng)的過程。由于圖像的不同像素之間的相對(duì)位置始終是固定的,使得對(duì)于局部區(qū)域內(nèi)的每個(gè)位置,濾波器都可以很容易地對(duì)圖像中每個(gè)像素的鄰域進(jìn)行加權(quán)求和,進(jìn)而得到該像素點(diǎn)的輸出值。
與圖像不同的是,點(diǎn)云具有更靈活的形狀。點(diǎn)云中點(diǎn)的位置坐標(biāo)不在固定網(wǎng)格上,而是可以取任意連續(xù)值,因此每個(gè)局域內(nèi)的不同點(diǎn)的相對(duì)位置是不同的,這時(shí)無法將傳統(tǒng)2D 圖像的離散卷積濾波器直接應(yīng)用于點(diǎn)云。
圖1 顯示了圖像和點(diǎn)云之間的差異,如圖1(a)所示,在一個(gè)7×7 的圖像的局域范圍內(nèi),點(diǎn)之間是呈規(guī)則排列分布的,點(diǎn)與點(diǎn)間的距離只能獲得非常小的離散值,而如圖1(b)所示,在整個(gè)點(diǎn)云中不同的局部區(qū)域內(nèi),點(diǎn)云順序和相對(duì)位置可能有很大的不同。
圖1 柵格圖像與點(diǎn)云的對(duì)比Fig.1 Comparison between raster images and point clouds
為了使卷積與3D 點(diǎn)集兼容,本文提出了一種排列不變的卷積運(yùn)算,首先將2D 離散卷積擴(kuò)展至3D 空間,可以寫為如下形式:
圖2 局域內(nèi)點(diǎn)云2D分布及對(duì)應(yīng)權(quán)重Fig.2 2D point cloud distribution and corresponding weights in local region
如圖3 展示了局域內(nèi)K個(gè)點(diǎn)的點(diǎn)云卷積操作,其中,Cin、Cout、Cmid分別代表輸入、輸出和中間層通道的尺寸,k代表第k(1 ≤k≤K)個(gè)鄰近點(diǎn)的索引。P∈RK×3,Plocal∈RK×3分別代表局域內(nèi)點(diǎn)的相對(duì)位置和局域位置,其中,Plocal可以通過點(diǎn)的位置坐標(biāo)減去局域中點(diǎn)的質(zhì)心坐標(biāo)來計(jì)算。使用到的MLP 網(wǎng)絡(luò)(包括密度網(wǎng)絡(luò)、權(quán)重網(wǎng)絡(luò))均由1×1 的卷積實(shí)現(xiàn)。F∈RK×Cin、F?∈RK×Cout代表局域中點(diǎn)的輸入特征和經(jīng)過MLP 網(wǎng)絡(luò)
圖3 局域內(nèi)K 個(gè)點(diǎn)的點(diǎn)云卷積操作Fig.3 Point cloud convolution operation of K points in local region
最遠(yuǎn)點(diǎn)采樣(farthest point sampling,F(xiàn)PS)在點(diǎn)云研究中有著很關(guān)鍵的作用,在很多流行的點(diǎn)云模型中,都用到了該算法[20]。假設(shè)有n個(gè)點(diǎn),從中按照FPS算法采樣出S個(gè)點(diǎn)(S 算法假設(shè)點(diǎn)pB是集合B里面的一個(gè)點(diǎn),分別計(jì)算出pB到集合A中當(dāng)前所有點(diǎn)的距離值,從計(jì)算出的距離值中選取最小值作為點(diǎn)pB到A的最短距離值。對(duì)于集合B里面的每個(gè)點(diǎn)piB{1 ≤i≤n?len(A)},都可以計(jì)算一個(gè)最短距離值,從中選出最大的最短距離值對(duì)應(yīng)的點(diǎn)作為新選中的點(diǎn),移動(dòng)到集合A中。按此方式,直到選出S個(gè)點(diǎn)為止。 步驟6 重復(fù)步驟5的流程,從集合B中依次采樣出所有滿足步驟5 條件的點(diǎn),將其加入集合A中,直到集合A中包含S個(gè)點(diǎn)為止。 復(fù)雜度分析: 時(shí)間復(fù)雜度。每次選一個(gè)點(diǎn),需要計(jì)算n個(gè)距離,選k個(gè)點(diǎn),時(shí)間復(fù)雜度可以認(rèn)為是O(kn),由于k和n有一個(gè)常數(shù)比例關(guān)系,所以也可以認(rèn)為是O(n2)。 空間復(fù)雜度。需要一個(gè)長(zhǎng)度為n的數(shù)組,來記錄、更新每個(gè)點(diǎn)的距離值,所以復(fù)雜度為O(n)。 通過改進(jìn)的FPS 算法求得要采樣的S個(gè)中心點(diǎn)之后,需要對(duì)所有中心點(diǎn)周圍給定半徑所形成的球域內(nèi)的K個(gè)最近鄰點(diǎn)(以及它們的特征)進(jìn)行搜索并分組,文獻(xiàn)[21]提出一種query_ball_point方法,用于尋找二維局域內(nèi)待查找點(diǎn)在給定半徑內(nèi)的所有點(diǎn)。本文將其搜索空間維度由二維擴(kuò)展至三維,即允許在S個(gè)中心點(diǎn)周圍給定半徑R的三維球域空間內(nèi)對(duì)滿足條件的點(diǎn)云進(jìn)行采樣并分組,此外,對(duì)給定半徑R內(nèi)不足K個(gè)近鄰點(diǎn)的樣本點(diǎn)進(jìn)行補(bǔ)齊,具體過程如下: 步驟1 計(jì)算每個(gè)采樣中心點(diǎn)與所有點(diǎn)的歐式距離dij(0 步驟2 將上一步中計(jì)算所得的dij分別與給定局域半徑R的平方進(jìn)行比較,若dij小于等于R2,則搜索并返回每個(gè)采樣中心點(diǎn)周圍滿足條件的前K個(gè)最鄰近點(diǎn)所在的索引。特別地,假如出現(xiàn)不足K個(gè)最鄰近點(diǎn)的情況,則將不足的部分用第一個(gè)最鄰近點(diǎn)所在索引補(bǔ)齊。 步驟3 根據(jù)步驟2 所得的索引從原始點(diǎn)中分別采樣出S個(gè)采樣中心點(diǎn)周圍給定半徑R的局域內(nèi)對(duì)應(yīng)的K個(gè)最鄰近點(diǎn)(如圖4)。 圖4 采樣中心點(diǎn)周圍給定半徑局域內(nèi)的K 個(gè)最鄰近點(diǎn)Fig.4 K nearest points within given radius of sampling center 通常,不同半徑區(qū)域中點(diǎn)集的密度可能不均勻,這種不均勻性為點(diǎn)云的特征學(xué)習(xí)帶來了重大挑戰(zhàn),從密集區(qū)域中學(xué)到的特征可能無法推廣到稀疏采樣的區(qū)域,進(jìn)而導(dǎo)致在稀疏點(diǎn)云數(shù)據(jù)訓(xùn)練好的模型可能無法識(shí)別細(xì)粒度的局部結(jié)構(gòu)。因此,為了捕獲密集采樣區(qū)域中的最佳細(xì)節(jié),防止因局部區(qū)域采樣不足而造成模型性能的下降,在采樣分組的過程中,本文采用了多尺度方法[22],以實(shí)現(xiàn)在更大的范圍內(nèi)尋找更大的比例模式。 如圖5(b)所示,在訓(xùn)練網(wǎng)絡(luò)時(shí)結(jié)合多尺度采樣分組的優(yōu)化策略,具體過程如下: 圖5 兩種不同尺度的采樣分組方式Fig.5 Two grouping sampling methods with different scales 首先將降采樣后的點(diǎn)云數(shù)據(jù)劃分為具有不同尺度的分組層,分別為:低尺度s1、中等尺度s2和高尺度s3;然后分別使用其對(duì)應(yīng)的點(diǎn)云卷積網(wǎng)絡(luò)(圖3)提取不同尺度下輸入的點(diǎn)云數(shù)據(jù)對(duì)應(yīng)的深層抽象特征表示形式,提取到的s1、s2和s3對(duì)應(yīng)深層抽象特征分別為Fs1、Fs2和Fs3;最后將不同尺度下學(xué)習(xí)到的特征Fs1、Fs2和Fs3進(jìn)行特征拼接,以形成多尺度特征。 另外,對(duì)于訓(xùn)練點(diǎn)集中的每個(gè)點(diǎn),均以概率θ∈[0,0.95]隨機(jī)刪除,以保證用于訓(xùn)練網(wǎng)絡(luò)的訓(xùn)練集具有不同稀疏性(由θ確定)和不同均勻性(由dropout 的隨機(jī)性確定),以避免模型過擬合。在測(cè)試期間,均保留所有可用點(diǎn)。 由于PointNet[9]使用單個(gè)最大池化操作來聚合點(diǎn)云的全局特征,不能捕獲度量空間中點(diǎn)云的局部結(jié)構(gòu)特征,限制了該網(wǎng)絡(luò)對(duì)細(xì)粒度點(diǎn)云的識(shí)別和泛化到復(fù)雜場(chǎng)景的能力,因此本文借鑒了PointNet++[13]的思路,設(shè)計(jì)了多尺度分層學(xué)習(xí)的網(wǎng)絡(luò)結(jié)構(gòu)。如圖6所示,多尺度分層學(xué)習(xí)網(wǎng)絡(luò)主要由不同尺度下的多層抽象的3D點(diǎn)云卷積層構(gòu)成,對(duì)于單尺度下單層抽象層來說,主要由采樣、分組、點(diǎn)云卷積3個(gè)操作組成,具體如下: 圖6 網(wǎng)絡(luò)的整體結(jié)構(gòu)Fig.6 Overall network structure 輸入 點(diǎn)云集合P={xi,i=1,2,…,S},其中,S為P中所包含的點(diǎn)云數(shù)目,xi={x1i,x2i,…,xC+D i}為P中第i個(gè)點(diǎn)對(duì)應(yīng)的特征向量,其中,C+D為特征數(shù)目,C為點(diǎn)的坐標(biāo)維度,D為點(diǎn)的特征維度;采樣中心點(diǎn)數(shù)S′;局域半徑R;每個(gè)子采樣中心點(diǎn)所形成的局域內(nèi)包含的點(diǎn)數(shù)K。 輸出 具有S′個(gè)C維點(diǎn)的坐標(biāo)和新的D′維點(diǎn)的特征維度的特征向量的點(diǎn)構(gòu)成的一組子采樣點(diǎn)集P′={x′i,i=1,2,…,S′},x′i={x1i,x2i,…,xC+D′i}為P′中第i個(gè)點(diǎn)對(duì)應(yīng)的特征向量。 步驟1 采樣操作。對(duì)于給定大小為S×(C+D)的點(diǎn)集P,使用改進(jìn)的FPS算法(1.2節(jié))進(jìn)行降采樣,采樣出S′個(gè)采樣點(diǎn)的集合{xi1,xi2,…,xiS′}作為采樣中心點(diǎn)集,其中xir是相對(duì)于其余點(diǎn)集{xi1,xi2,…,xir-1}而言在度量距離中最遠(yuǎn)的點(diǎn)。 步驟2 分組操作。將大小為S×C的點(diǎn)集P的位置、大小為S′×C的采樣中心點(diǎn)集的位置、K值和R值作為輸入,在采樣中心點(diǎn)附近使用球域搜索算法(1.3節(jié))給定半徑R的球域內(nèi)進(jìn)行搜索,找到與采樣中心點(diǎn)距離最近的前K個(gè)點(diǎn)的索引,并按其索引在點(diǎn)集P內(nèi)進(jìn)行劃分,找到每個(gè)采樣中心點(diǎn)所在局域內(nèi)的K個(gè)點(diǎn),輸出是大小為S′×K×(C+D)的分組后點(diǎn)集。 需要注意的是,每個(gè)組中采樣中心點(diǎn)對(duì)應(yīng)局域內(nèi)的點(diǎn)數(shù)K的密度是不同的,但是后續(xù)的3D點(diǎn)云卷積操作能夠?qū)㈧`活數(shù)量的點(diǎn)轉(zhuǎn)換為固定長(zhǎng)度的局域特征向量。 步驟3 點(diǎn)云卷積操作。使用3D點(diǎn)云卷積操作(1.1節(jié))對(duì)每個(gè)局域內(nèi)的點(diǎn)集進(jìn)行精細(xì)特征提取,產(chǎn)生更高層次的抽象特征。具體來說,將分組后大小為S′×K×(C+D)的S′個(gè)局部區(qū)域的點(diǎn)集輸入到點(diǎn)云卷積網(wǎng)絡(luò)(圖3)之中進(jìn)行細(xì)粒度特征提取,輸出大小為S′×(C+D′)的新的特征點(diǎn)集P′。 以上描述了單尺度下單層抽象層下特征提取的過程。在實(shí)驗(yàn)過程中,對(duì)每層抽象層使用多尺度方法對(duì)降采樣后不同尺度的組內(nèi)學(xué)習(xí)到的特征進(jìn)行特征融合(1.4 節(jié)),以減少不同半徑局域內(nèi)由點(diǎn)密度的不均勻性可能造成的模型性能下降。并采用分層學(xué)習(xí)架構(gòu),隨著局域尺度的逐層增大,每個(gè)點(diǎn)對(duì)應(yīng)的特征越來越抽象,所對(duì)應(yīng)的感受野也將越來越大。這個(gè)過程被重復(fù),直到獲得整個(gè)點(diǎn)集的特征。 此外,加入法向特征作為方向信息,以進(jìn)一步提高網(wǎng)絡(luò)性能。 實(shí)驗(yàn)環(huán)境如下:操作系統(tǒng)為CentOS 7,CPU 為i7-6850K CPU @ 3.60 GHz,GPU為帶有cuDNN庫的GTX 1080Ti,開發(fā)工具為Pycharm,編程語言為Python,在Pytorch(神經(jīng)網(wǎng)絡(luò)庫,版本為1.3.1)和Open3D(3D 數(shù)據(jù)處理庫,版本為0.7.0)上執(zhí)行,優(yōu)化器為Adam。 本節(jié)分別在ModelNet40和ModelNet10兩個(gè)形狀分類基準(zhǔn)庫上評(píng)估了本文提出的網(wǎng)絡(luò)模型。ModelNet40包含了40 個(gè)類別,12 311 個(gè)CAD 模型,其中9 843 個(gè)用于訓(xùn)練,2 468 個(gè)用于測(cè)試[23]。而ModelNet10 僅有其中的10個(gè)類別,是一個(gè)小型數(shù)據(jù)集,數(shù)據(jù)集中部分CAD模型效果如圖7所示。 圖7 ModelNet數(shù)據(jù)集中部分CAD模型的效果圖Fig.7 Renderings of some CAD models in ModelNet dataset 表1 展示了本文提出的網(wǎng)絡(luò)模型與其他網(wǎng)絡(luò)模型在ModelNet40 和ModelNet10 數(shù)據(jù)集上的分類準(zhǔn)確率對(duì)比。如表1 所示,在同為1 024 點(diǎn)的情況下,網(wǎng)絡(luò)在ModelNet40 上的整體分類準(zhǔn)確率達(dá)到了92.8%,在ModelNet10上的整體分類準(zhǔn)確率達(dá)到了94.7%,在以上兩個(gè)數(shù)據(jù)集上分類性能均優(yōu)于先前研究人員提出的網(wǎng)絡(luò)模型。 表1 ModelNet10/40數(shù)據(jù)集上分類準(zhǔn)確率的比較Table 1 Comparison of classification accuracy on ModelNet10/40 dataset 為了證明網(wǎng)絡(luò)中所提到的針對(duì)3D原始點(diǎn)云的卷積操作(1.1 節(jié))等效于傳統(tǒng)的2D 卷積操作,在本節(jié)中,分別使用MNIST 和CIFAR-10 兩個(gè)圖像數(shù)據(jù)集為比較基準(zhǔn),與其他2D 和3D 網(wǎng)絡(luò)模型進(jìn)行比較。對(duì)于MNIST圖像,首先將所有像素歸一化到[0,1]范圍內(nèi),選擇強(qiáng)度大于0.5 的所有像素作為有效像素,然后將圖像中的數(shù)字像素轉(zhuǎn)換為以圖像中心作為原點(diǎn),坐標(biāo)在[?1,1]范圍內(nèi)的具有x、y坐標(biāo)和灰度值特征的2D點(diǎn),圖8描述了以MNIST 數(shù)據(jù)集上的數(shù)字“7”為例的圖像與點(diǎn)云數(shù)據(jù)間的格式轉(zhuǎn)換。對(duì)于CIFAR-10 圖像,將每張圖片的像素轉(zhuǎn)換為具有x、y坐標(biāo)和RGB 特征的2D 點(diǎn)。最后,對(duì)經(jīng)過處理后的點(diǎn)輸入到網(wǎng)絡(luò)之中,進(jìn)行特征提取與模型預(yù)測(cè)。 圖8 圖像與點(diǎn)云數(shù)據(jù)間的格式轉(zhuǎn)換Fig.8 Format conversion between image and point cloud 表2、表3 分別展示了模型在CIFAR-10 和MNIST數(shù)據(jù)集上的分類結(jié)果,如表2、表3所示,對(duì)于CIFAR-10數(shù)據(jù)集,本文提出的網(wǎng)絡(luò)模型具有與其他網(wǎng)絡(luò)模型相媲美的性能,且精度遠(yuǎn)高于PointCNN等3D網(wǎng)絡(luò)模型給出的結(jié)果。對(duì)于MNIST 數(shù)據(jù)集,雖然網(wǎng)絡(luò)模型與主流的網(wǎng)絡(luò)模型間僅存在有些許差距,但仍具有較高的識(shí)別精度。因此,通過本節(jié)實(shí)驗(yàn)可以看出,網(wǎng)絡(luò)中所用到的卷積操作在圖像上的性能可以基本等效于傳統(tǒng)的2D卷積網(wǎng)絡(luò)。 表2 在MNIST數(shù)據(jù)集上的分類準(zhǔn)確率Table 2 Classification accuracy on MNIST dataset 表3 在CIFAR-10數(shù)據(jù)集上的分類準(zhǔn)確率Table 3 Classification accuracy on CIFAR-10 dataset 在本節(jié)中,主要通過消融研究的方式對(duì)網(wǎng)絡(luò)結(jié)構(gòu)中使用到的不同模塊進(jìn)行分析,以驗(yàn)證本文所提出的方法的有效性。 首先,為了驗(yàn)證改進(jìn)的FPS 算法的有效性,將隨機(jī)采樣算法和改進(jìn)的FPS采樣算法進(jìn)行對(duì)比,分別使用隨機(jī)采樣算法和改進(jìn)的FPS 采樣算法對(duì)原始點(diǎn)集進(jìn)行采樣,采樣效果如圖9 所示,通過圖9(b)和圖9(c)的比較可以發(fā)現(xiàn),F(xiàn)PS 采樣相對(duì)隨機(jī)采樣來說更加均勻,采樣范圍可以更好地覆蓋整個(gè)點(diǎn)集。 圖9 隨機(jī)采樣與FPS采樣的比較Fig.9 Comparison of random sampling and FPS sampling 改進(jìn)的FPS算法用在點(diǎn)云的采樣中,可以更好地對(duì)CAD 物體模型的輪廓進(jìn)行捕獲,進(jìn)而學(xué)習(xí)到更好的特征(如圖10)。 圖10 改進(jìn)的FPS算法在不同點(diǎn)的采樣效果Fig.10 Sampling effect of improved FPS algorithm at different points 除此之外,本節(jié)對(duì)法向特征和多尺度采樣分組方法的有效性進(jìn)行驗(yàn)證,通過采用法向特征和多尺度采樣分組前后對(duì)最終分類準(zhǔn)確率的影響來衡量模塊的有效性,如表4所示。 表4 加入不同模塊前后的分類準(zhǔn)確率對(duì)比Table 4 Comparison of classification accuracy before and after adding different modules 從表4可以看出,采用多尺度采樣分組相比于單尺度采樣分組而言,分類準(zhǔn)確率提高了0.26個(gè)百分點(diǎn)。另外,采用法向特征特征比不采用法向特征提高了0.57個(gè)百分點(diǎn),可以證明,引入多尺度采樣分組方法和法向特征可以進(jìn)一步提升網(wǎng)絡(luò)的性能。 表5 展示了在ModelNet40 訓(xùn)練集上訓(xùn)練好的模型對(duì)測(cè)試集中每個(gè)物體類別進(jìn)行分類測(cè)試的準(zhǔn)確率結(jié)果。從表5可以看出,分類準(zhǔn)確率在90%~99%這個(gè)區(qū)間的物體類別較多,80%~89%這個(gè)區(qū)間的物體類別次之。飛機(jī)(airplane)、床(bed)、碗(bowl)、筆記本電腦(laptop)、顯示屏(monitor)這5個(gè)類別在測(cè)試集上的分類準(zhǔn)確率最高,達(dá)到了100%?;ㄅ瑁╢lower_pot)、床頭柜(night_stand)、衣柜(wardrobe)這3個(gè)類別在測(cè)試集上的分類準(zhǔn)確率均低于80%,其中花盆的分類準(zhǔn)確率最低,僅有25%,誤分率最高。 表5 ModelNet40數(shù)據(jù)集上每個(gè)類別的分類準(zhǔn)確率Table 5 Classification accuracy for each category on ModelNet40 dataset 如圖11展示了部分被誤分類的物體的三視圖。圖11(a)中花盆和花瓶(vase)在形狀上相似,容易將花盆誤分類為花瓶。圖11(b)中某些種有植物的花盆由于植物的特征更為明顯,會(huì)將其誤分類植物(plant)。圖11(c)中瓶子的外形與花瓶也較為相似,在分類的過程中同樣會(huì)造成一定程度的誤分類??梢钥闯?,物體形狀上的相似是造成誤分類的關(guān)鍵因素。 圖11 部分被誤分類的物體的三視圖Fig.11 Three views of partially misclassified object 本文提出一種融合多尺度與法向特征的3D點(diǎn)云卷積網(wǎng)絡(luò),將傳統(tǒng)的2D卷積方法擴(kuò)展到3D點(diǎn)云的卷積上來。通過使用MLP 來近似權(quán)重函數(shù),使用高斯核密度估計(jì)和MLP來近似密度函數(shù),使得3D點(diǎn)云在局域范圍內(nèi)能夠保持其排列不變性和平移不變性,可以直接構(gòu)建針對(duì)原始3D點(diǎn)云的深度卷積網(wǎng)絡(luò)。并融合多尺度方法和法向特征,使用分層學(xué)習(xí)架構(gòu)進(jìn)行點(diǎn)云的采樣、分組與特征提取,使得網(wǎng)絡(luò)能夠進(jìn)行更細(xì)粒度的點(diǎn)云識(shí)別。本文提出的網(wǎng)絡(luò)模型在ModelNet40和ModelNet10點(diǎn)云數(shù)據(jù)集上分別取得了92.8%和94.7%的準(zhǔn)確率,較之前的網(wǎng)絡(luò)模型在點(diǎn)云識(shí)別精度上有了一定的提升。此外,將MNIST、CIFAR-10 數(shù)據(jù)集中的圖像數(shù)據(jù)轉(zhuǎn)為點(diǎn)云數(shù)據(jù)并進(jìn)行測(cè)試的實(shí)驗(yàn)也證明了本文提出的網(wǎng)絡(luò)的性能能夠基本等效于傳統(tǒng)的2D卷積網(wǎng)絡(luò)。 考慮到當(dāng)前網(wǎng)絡(luò)在運(yùn)行時(shí)會(huì)消耗較多的GPU 資源,在以后的工作中,希望可以將網(wǎng)絡(luò)設(shè)計(jì)的更加輕量化,在保持精度變化不大的情況下,能夠在3D點(diǎn)云上實(shí)現(xiàn)較為高效的卷積。1.3 球域內(nèi)點(diǎn)云的搜索與分組
1.4 非均勻采樣密度下的多尺度學(xué)習(xí)
2 基于點(diǎn)密度加權(quán)的多尺度分層點(diǎn)云識(shí)別網(wǎng)絡(luò)
3 實(shí)驗(yàn)及結(jié)果分析
3.1 在ModelNet10/40上的分類
3.2 在Mnist和Cifar10上的分類
3.3 不同模塊的有效性
3.4 單個(gè)類別的分類準(zhǔn)確率測(cè)試
4 結(jié)束語