衛(wèi) 剛,趙安銘,王志成
(同濟(jì)大學(xué)電子與信息工程學(xué)院,上海201804)
近年來(lái),隨著三維掃描技術(shù)的快速發(fā)展,三維點(diǎn)云廣泛應(yīng)用于無(wú)人駕駛、建筑設(shè)計(jì)、遙感測(cè)繪及虛擬現(xiàn)實(shí)等計(jì)算機(jī)視覺(jué)領(lǐng)域。作為三維場(chǎng)景和分析的重要課題之一,點(diǎn)云語(yǔ)義分割一直是三維視覺(jué)和計(jì)算機(jī)圖形學(xué)范疇的重要研究問(wèn)題,也是目標(biāo)識(shí)別、場(chǎng)景理解和三維重建等任務(wù)的基礎(chǔ)。由于采集過(guò)程中的傳感器噪聲干擾、點(diǎn)云密度不均勻、場(chǎng)景復(fù)雜多樣以及物體之間存在遮擋現(xiàn)象等問(wèn)題,三維點(diǎn)云場(chǎng)景語(yǔ)義分割問(wèn)題研究工作極具挑戰(zhàn)性。現(xiàn)有傳統(tǒng)的點(diǎn)云分割方法的識(shí)別準(zhǔn)確率還存在較大提升空間。目前,深度學(xué)習(xí)方法已廣泛應(yīng)用于二維圖像數(shù)據(jù),但將深度學(xué)習(xí)方法應(yīng)用于三維場(chǎng)景仍面臨巨大的挑戰(zhàn),有大量的基礎(chǔ)性工作需要完成。由于深度學(xué)習(xí)方法表現(xiàn)出較好的高層語(yǔ)言理解能力,基于深度學(xué)習(xí)的點(diǎn)云語(yǔ)義分割已成為當(dāng)前研究的熱點(diǎn)。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)成功應(yīng)用的一個(gè)關(guān)鍵因素是能夠訓(xùn)練和應(yīng)用深層神經(jīng)網(wǎng)絡(luò)。但是,最近的工作[1-3]表明,圖卷積神經(jīng)網(wǎng)絡(luò)(graph convolutional network,GCN)很難擴(kuò)展到深層網(wǎng)絡(luò)。原因是疊加多個(gè)圖卷積層會(huì)提高反向傳播的復(fù)雜性和出現(xiàn)常見(jiàn)的梯度消失問(wèn)題。由于上述限制,大多數(shù)最先進(jìn)的GCN不超過(guò)4層。ResNet[4]的提出有效地改善了CNN上的梯度消失問(wèn)題。ResNet通過(guò)在輸入層和輸出層之間引入殘差連接,大大減輕了梯度消失問(wèn)題。Yu等[5]提出空洞卷積(Dilated convolutions),在不增加更多計(jì)算量的同時(shí)能夠增大感受野。受上述關(guān)鍵概念的巨大成功所啟發(fā),將上述想法應(yīng)用到GCN中,使得更深層次的GCN能夠很好地聚合并獲得優(yōu)異的性能。
為了成功訓(xùn)練更深層的GCN、減輕梯度消失問(wèn)題,借鑒了訓(xùn)練深層卷積神經(jīng)網(wǎng)絡(luò)的相關(guān)概念,引入殘差連接、空洞卷積等結(jié)構(gòu),訓(xùn)練更深層的點(diǎn)云分割網(wǎng)絡(luò)。同時(shí),由于上述工作的貢獻(xiàn)未考慮到三維點(diǎn)云數(shù)據(jù)無(wú)序性、稀疏性和不規(guī)則性的特點(diǎn),傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)因其計(jì)算卷積時(shí)需要規(guī)則輸入和輸出,其不適合直接處理點(diǎn)云數(shù)據(jù)。為了對(duì)非均勻采樣的點(diǎn)云數(shù)據(jù)進(jìn)行卷積操作,提出了一種密度自適應(yīng)方法。
深度學(xué)習(xí)的發(fā)展推動(dòng)了計(jì)算機(jī)視覺(jué)的進(jìn)步。目前,深度學(xué)習(xí)已廣泛應(yīng)用于二維圖像的處理[4,6-7],但是將其運(yùn)用到三維數(shù)據(jù)仍面臨巨大的挑戰(zhàn)。由于點(diǎn)云具有不規(guī)則且無(wú)序性的問(wèn)題,為了使得點(diǎn)云適用于卷積神經(jīng)網(wǎng)絡(luò),研究者們將其轉(zhuǎn)換成規(guī)則的結(jié)構(gòu),再輸入到網(wǎng)絡(luò)中進(jìn)行處理。目前,根據(jù)輸入到網(wǎng)絡(luò)中的數(shù)據(jù)格式,基于深度學(xué)習(xí)的點(diǎn)云分割算法主要分為以下幾類(lèi)。
受深度學(xué)習(xí)在二維圖像上取得較好效果的啟發(fā),基于多視圖的方法將3D點(diǎn)云轉(zhuǎn)化為一系列的多視角拍攝的2D渲染圖,將這些產(chǎn)生的二維圖像作為訓(xùn)練數(shù)據(jù),然后用成熟的2D卷積神經(jīng)網(wǎng)絡(luò)來(lái)提取特征,從而進(jìn)行識(shí)別或分割任務(wù)。在這方面比較具有代表性的方法就是Multi-view CNN[8]。Multi-view CNN使用ImageNet預(yù)訓(xùn)練好的視覺(jué)幾何組(visual geometry group,VGG)網(wǎng)絡(luò)來(lái)提取特征,將這些特征組合在一起,再進(jìn)一步輸入到可訓(xùn)練的CNN網(wǎng)絡(luò)中進(jìn)一步進(jìn)行特征學(xué)習(xí),然后輸出分類(lèi)結(jié)果。Qi等[9]研究了基于視圖和體積方法的三維形狀分類(lèi)組合。2017年,Boulch等提出SnapNet[10],其思想是使用2D神經(jīng)網(wǎng)絡(luò)分別對(duì)一系列成對(duì)的RGB圖和深度圖進(jìn)行處理以生成3D場(chǎng)景的圖像。為了改善分割效 果,在SnapNet的 基 礎(chǔ) 上,Guerry等[11]提 出SnapNet-R對(duì)多個(gè)視圖直接處理以獲取密集的3D點(diǎn)標(biāo)記。但是SnapNet-R對(duì)物體邊界的分割精度仍有待加強(qiáng)。由此可見(jiàn),基于多視圖的點(diǎn)云分割方法沒(méi)有充分利用點(diǎn)云數(shù)據(jù)的空間信息,同時(shí)對(duì)于物體的不同投影角度也會(huì)對(duì)結(jié)果產(chǎn)生影響。雖然這種方法取得了非常好的分類(lèi)識(shí)別結(jié)果,但是這類(lèi)方法容易造成三維結(jié)構(gòu)信息的丟失。另一方面,投影角度的選取與同一角度的投影對(duì)物體的表征能力也不同,對(duì)網(wǎng)絡(luò)的泛化能力有一定的影響。
基于體素的方法,通過(guò)把不規(guī)則和無(wú)序的點(diǎn)云數(shù)據(jù)進(jìn)行體素化操作,使點(diǎn)云數(shù)據(jù)變成規(guī)則化的三維柵格結(jié)構(gòu),然后使用三維的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)進(jìn)行訓(xùn)練。Wu等[12]于2015年提出一種基于體素的三維深度信念網(wǎng)絡(luò)3D ShapeNets。該算法將點(diǎn)云數(shù)據(jù)表示為一系列的三維柵格,然后用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。Maturana等提出一種面向三維體素的三維卷積神經(jīng)網(wǎng)絡(luò)VoxNet[13]。基于體素的方法通過(guò)網(wǎng)格化點(diǎn)云數(shù)據(jù)提供了點(diǎn)云結(jié)構(gòu)信息。但是這種方法只使用了點(diǎn)云結(jié)構(gòu)信息,丟失了點(diǎn)云的顏色信息、法向量信息等其他重要特征。而且,三維卷積運(yùn)算的計(jì)算時(shí)間復(fù)雜度高,造成網(wǎng)絡(luò)效率低下。因此,為了減小網(wǎng)絡(luò)的計(jì)算量,通常會(huì)減小體素的分辨率,如同圖像中減小圖像輸入尺寸,但是這樣操作會(huì)造成量化誤差的問(wèn)題。針對(duì)上述問(wèn)題,一些研究人員提出了改進(jìn)的方案。Klokov等[14]提出采用KD樹(shù)(kdimensional tree)來(lái)規(guī)則化點(diǎn)云數(shù)據(jù)的深度網(wǎng)絡(luò)模型,稱(chēng)為Kd-Net。Gernot等[15]利用非平衡八叉樹(shù)來(lái)表征點(diǎn)云結(jié)構(gòu),提出OctNet網(wǎng)絡(luò)模型。Tchapmi等提出一個(gè)3D點(diǎn)級(jí)分割的端到端框架SEGCloud[16],該框架將點(diǎn)云細(xì)分為體素網(wǎng)格,結(jié)合了卷積神經(jīng)網(wǎng)絡(luò)、三線性插值和全連接條件隨機(jī)場(chǎng)的優(yōu)點(diǎn)。這些方法雖然對(duì)基于體素的方法做了不同方面的改進(jìn),但是對(duì)于體素化造成的量化誤差沒(méi)能解決。
點(diǎn)云數(shù)據(jù)本身具有很多特征信息,如果能直接利用這些信息,不僅能減少預(yù)處理的過(guò)程,而且能更充分地挖掘點(diǎn)云特征信息。因此,近幾年基于原始點(diǎn)云的深度網(wǎng)絡(luò)模型逐漸被提出。Qi等在2017年提出第一個(gè)直接對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行處理而不做預(yù)處理的深度學(xué)習(xí)網(wǎng)絡(luò)架構(gòu)PointNet[17]。PointNet通過(guò)對(duì)稱(chēng)函數(shù)來(lái)處理點(diǎn)云的無(wú)序性,使用空間變換網(wǎng)絡(luò)解決物體姿態(tài)變換不變性。雖然PointNet在點(diǎn)云特征提取方面取得了突破性的進(jìn)展,但是PointNet沒(méi)有充分利用點(diǎn)云數(shù)據(jù)的局部特征。為了解決上述問(wèn)題,PointNet++[18]提出一種局部特征提取方案。它根據(jù)距離度量將點(diǎn)集劃分為重疊的局部區(qū)域,然后利用PointNet網(wǎng)絡(luò)結(jié)構(gòu)提取局部區(qū)域的點(diǎn)云特征,然后把局部區(qū)域進(jìn)一步分組為更大的單元,并進(jìn)行處理以生成更高級(jí)別的特征。雖然該模型改善了局部特征提取的問(wèn)題,但是點(diǎn)特征是以獨(dú)立和孤立的方式學(xué)習(xí)的,忽略了與相鄰點(diǎn)及其特征的相對(duì)關(guān)系。Engelmann等[19]在PointNet的基礎(chǔ)上,為了合并更大范圍的空間上下文信息,提出了輸入級(jí)上下文和輸出級(jí)上下文2個(gè)擴(kuò)展,成功應(yīng)用于室內(nèi)和室外點(diǎn)云語(yǔ)義分割任務(wù)當(dāng)中。為了使CNN更好地處理無(wú)序的點(diǎn)云數(shù)據(jù),PointCNN[20]提出學(xué)習(xí)一種X變換算子,即通過(guò)深度網(wǎng)絡(luò)學(xué)習(xí)一個(gè)置換矩陣,對(duì)輸入數(shù)據(jù)進(jìn)行排序和加權(quán)。針對(duì)處理大場(chǎng)景三維點(diǎn)云語(yǔ)義 分 割 的 需 求,Landrieu等[21]提 出 超 點(diǎn) 圖(superpoint graph,SPG),具有豐富的邊緣特征,可對(duì)3D點(diǎn)云中對(duì)象部分之間的上下文關(guān)系進(jìn)行編碼,可以處理大規(guī)模的點(diǎn)云場(chǎng)景。Wang等[23]提出動(dòng)態(tài)圖卷積神經(jīng)網(wǎng)絡(luò)(dynamic graph CNN,DGCNN),首次使用了圖卷積神經(jīng)網(wǎng)絡(luò)來(lái)改進(jìn)點(diǎn)云中的特征提取工作。該算法構(gòu)建了EdgeConv算子,用于提取中心點(diǎn)的特征和中心點(diǎn)與K近鄰域點(diǎn)的邊緣向量。Su等[24]于2018年提出針對(duì)點(diǎn)云處理的稀疏點(diǎn)陣網(wǎng)絡(luò)SPLATNet(SParse LATtice Networks)。SPLATNet直接將點(diǎn)云數(shù)據(jù)作為輸入,并使用稀疏而高效的點(diǎn)陣濾波器來(lái)計(jì)算分層和空間感知的特征。此外,SPLATNet允許將2D信息輕松映射到3D,用于點(diǎn)云和多視圖圖像的聯(lián)合處理。Jiang等[25]受到傳統(tǒng)圖像中的尺度不變特征變換(SIFT)的啟發(fā),設(shè)計(jì)了一種可用于點(diǎn)云特征提取的模塊PointSIFT。該模塊用于對(duì)三維點(diǎn)云在不同方向上的信息進(jìn)行編碼,具有尺度不變性。
設(shè)圖G=(V,E)表示點(diǎn)云的局部結(jié)構(gòu),其中V是無(wú)序頂點(diǎn)的集合,E是表示頂點(diǎn)v∈V之間的連通性的邊的集合。如果ei,j∈E,則頂點(diǎn)vi和vj通過(guò)邊ei,j彼此連接。
PointNet網(wǎng)絡(luò)[17]僅對(duì)點(diǎn)進(jìn)行孤立的特征提取,從而缺乏對(duì)局部點(diǎn)云特征的學(xué)習(xí)。PointNet++[18]在PointNet基礎(chǔ)上對(duì)點(diǎn)云進(jìn)行區(qū)域采樣,并使用PointNet作為區(qū)域特征提取器,逐層提取并整合局部特征至全局特征。然而PointNet++中仍然用到了PointNet,意味著在采樣的區(qū)域內(nèi),點(diǎn)的特征是單獨(dú)提取的,對(duì)于局部特征的學(xué)習(xí)仍然不夠充分。
EdgeConv[23]提出獲取點(diǎn)云局部特征的一種方法。不是直接聚合鄰域特征,而是建議首先通過(guò)從中心特征中減去中心頂點(diǎn)的特征來(lái)獲取每個(gè)鄰域的局部鄰域信息。然而網(wǎng)絡(luò)的深度限制了對(duì)于更細(xì)粒度特征的提取。為了訓(xùn)練更深的GCN,向EdgeConv添加殘差連接和膨脹圖卷積。將中心點(diǎn)的特征與兩點(diǎn)的特征差串聯(lián)后輸入多層感知機(jī)(multi-layer perception,MLP),這樣邊特征就融合了點(diǎn)之間的局部關(guān)系與點(diǎn)的全局信息。
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)存在致梯度消失問(wèn)題,導(dǎo)致無(wú)法訓(xùn)練很深的神經(jīng)網(wǎng)絡(luò)。He等[4]提出的ResNet在一定程度上解決了上述問(wèn)題,它設(shè)計(jì)了一種跳躍連接(skip connection)結(jié)構(gòu),使得網(wǎng)絡(luò)具有更強(qiáng)的恒等映射(identity mapping)的能力,從而拓展了網(wǎng)絡(luò)的深度,同時(shí)也提升了網(wǎng)絡(luò)的性能。借鑒殘差學(xué)習(xí)在CNN的成功應(yīng)用,將該結(jié)構(gòu)用于圖卷積網(wǎng)絡(luò)當(dāng)中,解決圖卷積網(wǎng)絡(luò)層數(shù)不能過(guò)深、梯度消失的問(wèn)題。
考慮通過(guò)卷積網(wǎng)絡(luò)由L層組成,每層實(shí)現(xiàn)一個(gè)非線性變換Hl(·),其中l(wèi)表示網(wǎng)絡(luò)第l層。定義Hl(·)可以是諸如卷積(Conv)、池化(Pooling)、校正線性單元(ReLU)[26]或批處理規(guī)范化(BN)[27]等操作 的 函 數(shù)。分 別 用Gl=(Vl,El)和Gl+1=(Vl+1,El+1)表示網(wǎng)絡(luò)第l層的輸入和輸出。網(wǎng)絡(luò)第l層的輸出作為第l+1層的輸入,然后經(jīng)過(guò)第l+1層得到Gl+1=Hl(Gl,Wl),其中Wl是第l層可學(xué)習(xí)的權(quán)重參數(shù)集合。在這里,提出了一種圖殘差學(xué)習(xí)框架,該框架通過(guò)擬合另一個(gè)殘差映射F來(lái)學(xué)習(xí)所需的底層映射H。在Gl通過(guò)殘差映射F轉(zhuǎn)換后,執(zhí)行逐點(diǎn)加法得到Gl+1。
如圖1所示,殘差映射F學(xué)習(xí)將圖作為輸入,并為下一層輸出殘差圖形。
圖1 殘差連接示意Fig.1 Residual connection
傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)通過(guò)池化層進(jìn)行下采樣來(lái)減少圖像大小,同時(shí)增大感受野,然后再通過(guò)上采樣操作將圖像恢復(fù)成原大小。但是,下采樣會(huì)降低圖像分辨率,造成空間信息損失。Yu等[5]提出的空洞卷積(dilated convolutions)可以在一定程度上避免這個(gè)問(wèn)題。空洞卷積是在普通的卷積核內(nèi)加入空洞,相當(dāng)于在卷積核相鄰2個(gè)元素直接加入零元素??斩淳矸e網(wǎng)絡(luò)本質(zhì)上實(shí)現(xiàn)了去掉下采樣操作的同時(shí)不降低網(wǎng)絡(luò)的感受野。將空洞卷積的思想應(yīng)用于圖卷積神經(jīng)網(wǎng)絡(luò)當(dāng)中,以減輕由池化聚集操作造成的空間信息損失。
首先需要構(gòu)建一個(gè)擴(kuò)張領(lǐng)域,在每一個(gè)GCN層后使用擴(kuò)張K近鄰(dilated K-NN)去尋找擴(kuò)張領(lǐng)域,并構(gòu)建了一個(gè)擴(kuò)張圖(dilated graph)。具體來(lái)說(shuō),對(duì)于一個(gè)擴(kuò)張K近鄰的輸入圖,用d表示擴(kuò)張率,擴(kuò)張K近鄰?fù)ㄟ^(guò)跳過(guò)每一個(gè)d鄰域,返回k×d鄰域內(nèi)k個(gè)最近鄰居。最近鄰是根據(jù)預(yù)先定義的距離度量確定的,在實(shí)驗(yàn)中,使用L2距離,即歐幾里得距離(Euclidean Distance)。
讓N(v)定義為頂點(diǎn)v的d-dilated的鄰居,如果(u1,u2,…,uk×d)是排序了的前k×d近的鄰居,那么頂點(diǎn)是頂點(diǎn)v的d-dilated的鄰居。因此,輸出圖的邊定義在一組d-dilated頂點(diǎn)鄰域上,如圖2a所示。具體地說(shuō),存在一個(gè)從頂點(diǎn)v到每個(gè)頂點(diǎn)的有向邊,其中GCN聚合和更新函數(shù)是基于Dilated k-NN創(chuàng)建的,應(yīng)用于獲得所有頂點(diǎn)的輸出頂點(diǎn)的特征,如圖2b所示。將更新后的頂點(diǎn)表示為v′,然后由具有擴(kuò)張率為d的擴(kuò)張圖卷積(dilated graph convolution)生成的輸出圖中均勻抽樣鄰域以很小的概率執(zhí)行擴(kuò)張聚合,從而進(jìn)行隨機(jī)聚合。
圖2 圖像中的空洞卷積和GCN中的空洞卷積Fig.2 Dilated convolutions of image and dilated convolutions of GCN
當(dāng)前傳感器采集到的點(diǎn)云密度分布差異非常大??紤]到傳感器采集到的3D點(diǎn)云的不均勻性,提出使用密度函數(shù)對(duì)學(xué)到的權(quán)重進(jìn)行加權(quán)。點(diǎn)云表示為一組3D點(diǎn),其中每個(gè)點(diǎn)Pi是其(x,y,z)坐標(biāo)加上額外特征通道(例如顏色、法線等)的向量。為簡(jiǎn)單起見(jiàn),除非另有說(shuō)明,這里僅使用(x,y,z)坐標(biāo)作為點(diǎn)的通道。在鄰域G中,3D點(diǎn)的 相 對(duì) 坐 標(biāo) 表 示 為(xμ,yμ,zμ)。函 數(shù)F(x+xμ,y+yμ,z+zμ)是以點(diǎn)p=(x,y,z)為中心的局部區(qū)域G中一個(gè)點(diǎn)的特征。在每個(gè)局部區(qū)域,(xμ,yμ,zμ)可以是局部區(qū)域中的任意一點(diǎn)位置。連續(xù)函數(shù)W(xμ,yμ,zμ)表示每個(gè)點(diǎn)對(duì)應(yīng)的特征F的權(quán)重,其輸入是以(x,y,z)為中心的鄰域內(nèi)的點(diǎn)的相對(duì)坐標(biāo)。函數(shù)W可以使用多層感知器(MLP)來(lái)近似。定義密度系數(shù)函數(shù)D(xμ,yμ,zμ),它的輸入是點(diǎn)的密度,它的輸出是每個(gè)點(diǎn)對(duì)應(yīng)的密度系數(shù)。
文獻(xiàn)[28]考慮了權(quán)重函數(shù)的近似,但沒(méi)有考慮對(duì)采樣密度的近似,因此不是連續(xù)卷積算子的完全近似。本文提出的權(quán)重函數(shù)通過(guò)多層感知機(jī)從三維坐標(biāo)中近似,密度函數(shù)利用一個(gè)核密度估計(jì)[29]以及一個(gè)非線性變換(MLP)近似實(shí)現(xiàn)。MLP在所有點(diǎn)之間共享權(quán)重,可以保持排列不變性。為了計(jì)算密度尺度估計(jì)函數(shù)D(xμ,yμ,zμ),首先使用核密度估計(jì)離線估計(jì)點(diǎn)云中每個(gè)點(diǎn)的密度,然后將密度輸入MLP以進(jìn)行一維非線性變換。
提出的網(wǎng)絡(luò)模型(如圖3所示)由GCN模塊、融合模塊和MLP預(yù)測(cè)模塊組成。GCN主干塊將具有4 096個(gè)點(diǎn)的點(diǎn)云作為輸入,堆疊28個(gè)具有動(dòng)態(tài)k-NN的EdgeConv層,每個(gè)層都與DGCNN[22]中使用的層相似。通過(guò)應(yīng)用連續(xù)的GCN層以聚合局部信息來(lái)提取特征,并輸出具有4 096個(gè)頂點(diǎn)的學(xué)習(xí)圖形表示。然后,在每一個(gè)GCN塊中添加動(dòng)態(tài)膨脹k-NN和殘差圖連接。融合和MLP預(yù)測(cè)塊遵循與PointNet++[18]和DGCNN[23]類(lèi)似的架構(gòu)。融合塊用于融合全局和多尺度局部特征。它從每個(gè)GCN層的GCN主干塊中提取出的頂點(diǎn)特征作為輸入,并將這些特征連接起來(lái),然后將它們傳遞給1×1卷積層,然后進(jìn)行最大池化。后一層將整個(gè)圖形的頂點(diǎn)特征聚合到單個(gè)全局特征向量中,而后者又與來(lái)自所有先前GCN層的每個(gè)頂點(diǎn)的特征(全局信息和局部信息的融合)串聯(lián)在一起。MLP預(yù)測(cè)塊將3個(gè)MLP層應(yīng)用于每個(gè)點(diǎn)的融合特征,以預(yù)測(cè)其類(lèi)別。實(shí)際上,這些層是1×1卷積。
圖3 網(wǎng)絡(luò)架構(gòu)Fig.3 Network architecture
為了評(píng)估本文提出的網(wǎng)絡(luò)結(jié)構(gòu)的有效性,對(duì)點(diǎn)云分割任務(wù)進(jìn)行了廣泛的實(shí)驗(yàn)。從實(shí)驗(yàn)結(jié)果可知,本文方法可以顯著提高分割準(zhǔn)確度。此外,還進(jìn)行了全面的消融研究,以顯示框架中不同結(jié)構(gòu)的效果。
零件分割是一項(xiàng)具有挑戰(zhàn)性的點(diǎn)云識(shí)別和分割任務(wù)。同樣在ShapeNet數(shù)據(jù)集上進(jìn)行零件分割實(shí)驗(yàn)。ShapeNet數(shù)據(jù)集包含來(lái)自16個(gè)類(lèi)別的50個(gè)零件的16 881個(gè)形狀。該任務(wù)的輸入是點(diǎn)云數(shù)據(jù),任務(wù)的目標(biāo)是為點(diǎn)云中的每個(gè)點(diǎn)分配一個(gè)零件類(lèi)別標(biāo)簽。給出了每種形狀的類(lèi)別標(biāo)簽。通常,通過(guò)使用已知的輸入3D對(duì)象類(lèi)別,將可能的零件標(biāo)簽縮小到特定于給定對(duì)象類(lèi)別的部分標(biāo)簽。而且,還將每個(gè)點(diǎn)的法線方向計(jì)算為輸入特征,以更好地描述基礎(chǔ)形狀。
使用點(diǎn)“交并比(IoU)”來(lái)評(píng)估的網(wǎng)絡(luò),與PointNet[18]、PointNet++[19]和其他一些點(diǎn)云分割算法相同。結(jié)果顯示在表1中。從表格數(shù)據(jù)可以看出,網(wǎng)絡(luò)架構(gòu)獲得的實(shí)例平均交并比為86.0%;最差的結(jié)果出現(xiàn)在對(duì)“火箭”的分割結(jié)果上,為60.2%;最好的結(jié)果出現(xiàn)在“筆記本電腦”,為95.8%。若以單獨(dú)某個(gè)分類(lèi)的零件分割結(jié)果的IoU作為評(píng)判標(biāo)準(zhǔn),表1中列出的分隔結(jié)果中,16個(gè)分類(lèi)中有5個(gè)分類(lèi)取得了最好的效果。在其他未取得最好效果的分類(lèi)中,其分割結(jié)果與最佳結(jié)果的差距小于3個(gè)百分點(diǎn)。網(wǎng)絡(luò)架構(gòu)在ShapeNet零件分割任務(wù)中取得了較好的結(jié)果。
表1 ShapeNet零件數(shù)據(jù)集[30]上的零件分割結(jié)果Tab.1 Result of part segmentation in ShapeNet dataset[30]
將ShapeNet數(shù)據(jù)集上零件分割的部分結(jié)果可視化,如圖4所示。從可視化結(jié)果可以看出,模型的分割結(jié)果與真實(shí)標(biāo)注接近,對(duì)于零件分割的任務(wù)表現(xiàn)得較好。
圖4 ShapeNet零件分割結(jié)果Fig.4 Result of part segmentation in ShapeNet dataset
斯坦福大學(xué)大型3D室內(nèi)空間S3DIS數(shù)據(jù)集[31]從3個(gè)不同的建筑物(包括271個(gè)房間)中提取了6個(gè)文件夾的RGB-D點(diǎn)云數(shù)據(jù)。每個(gè)點(diǎn)都有來(lái)自13個(gè)類(lèi)別的標(biāo)簽注釋。按照文獻(xiàn)[17]的k折策略將其分為訓(xùn)練和測(cè)試集。表2中顯示了總體精度和平均交并比??梢钥吹剑疚姆椒ǐ@得了64.6%的平均交并比、75.7%的平均準(zhǔn)確率。實(shí)驗(yàn)效果比PointAGCN效果更好。使用本文方法得出的預(yù)測(cè)值與真實(shí)值對(duì)比如圖5所示。
圖5 S3DIS數(shù)據(jù)集[31]上語(yǔ)義分割的可視化結(jié)果Fig.5 Visual result of semantic segmentation in S3DIS dataset[31]
表2 S3DIS數(shù)據(jù)集[31]上的三維語(yǔ)義分割結(jié)果Tab.2 Result of 3D-semantic segmentation in S3DIS dataset[31]
調(diào)查了不同的結(jié)構(gòu)的性能,例如殘差連接、空洞卷積、密度自適應(yīng);研究了不同參數(shù)的影響,例如k-NN鄰居數(shù)(4、8、16),濾波器數(shù)(16、32、64)和網(wǎng)絡(luò)層數(shù)(7、14、28、56);進(jìn)行了20個(gè)實(shí)驗(yàn),并將其結(jié)果顯示在表3中。其中,模型1是基準(zhǔn)模型,沒(méi)有添加殘差圖連接和空洞卷積,k-NN鄰居數(shù)為16,濾波器值為64,網(wǎng)絡(luò)層數(shù)為28,作為對(duì)比實(shí)驗(yàn)的基線。
表3 S3DIS斯坦福數(shù)據(jù)集[31]上不同變量的對(duì)比實(shí)驗(yàn)Tab.3 Comparison of different variables in S3DIS dataset[31]
(1)殘差連接:從表3中的實(shí)驗(yàn)1和2可以看到,在添加殘差連接之后,平均IoU提升了5.49%。實(shí)驗(yàn)表明,殘差圖連接在訓(xùn)練更深的網(wǎng)絡(luò)方面起著至關(guān)重要的作用,因?yàn)樗鼈兺鶗?huì)導(dǎo)致更穩(wěn)定的梯度。
(2)空洞卷積:表3中的實(shí)驗(yàn)1和3結(jié)果表明,加入空洞卷積之后,平均IoU中占比提高了6.37%,這主要是由網(wǎng)絡(luò)感受野的擴(kuò)展引起的。當(dāng)同時(shí)添加殘差連接和空洞卷積時(shí),性能會(huì)進(jìn)一步得到提高。
(3)K值:表3(K值)中的結(jié)果表明,更多的鄰居通常對(duì)網(wǎng)絡(luò)有幫助。隨著鄰居數(shù)量減少到原來(lái)的1/2或1/4,性能分別下降2.15%和3.79%。
(4)網(wǎng)絡(luò)層數(shù):按照表3的網(wǎng)絡(luò)層數(shù)一欄所示,將網(wǎng)絡(luò)層數(shù)設(shè)為7、14和56進(jìn)行對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,增加網(wǎng)絡(luò)層數(shù)可以提高網(wǎng)絡(luò)性能,網(wǎng)絡(luò)層數(shù)越大意味著網(wǎng)絡(luò)深度增大。當(dāng)網(wǎng)絡(luò)層數(shù)減小時(shí),實(shí)驗(yàn)結(jié)果會(huì)受到影響。
(5)濾波器數(shù):表3中的結(jié)果表明,濾波器數(shù)量增多會(huì)獲得與增加層數(shù)類(lèi)似的性能提升。通常,較高的網(wǎng)絡(luò)容量可以讓網(wǎng)絡(luò)學(xué)習(xí)到更深層次的特征。
為了成功訓(xùn)練更深層的GCN網(wǎng)絡(luò),減輕梯度消失問(wèn)題,借用了成功訓(xùn)練深層CNN的相關(guān)概念,引入殘差連接、空洞卷積等結(jié)構(gòu),訓(xùn)練更深層的點(diǎn)云分割網(wǎng)絡(luò)。同時(shí),由于3D點(diǎn)云是一種不規(guī)則且無(wú)序的數(shù)據(jù)類(lèi)型,傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)難以處理點(diǎn)云數(shù)據(jù)。提出一種密度自適應(yīng)的方法,可以高效地對(duì)非均勻采樣的3D點(diǎn)云數(shù)據(jù)進(jìn)行卷積操作,該方法在多個(gè)數(shù)據(jù)集上實(shí)現(xiàn)了優(yōu)秀的性能。
作者貢獻(xiàn)說(shuō)明:
衛(wèi)剛:論文撰寫(xiě),深度神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)。
趙安銘:論文撰寫(xiě),深度神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)與程序設(shè)計(jì)。
王志成:深度神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)與數(shù)據(jù)分析。