楊 軍,張敏敏
(1.蘭州交通大學(xué) 測(cè)繪與地理信息學(xué)院,甘肅 蘭州730070;2.蘭州交通大學(xué) 自動(dòng)化與電氣工程學(xué)院,甘肅 蘭州730070)
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,計(jì)算機(jī)圖形處理能力已經(jīng)得到極大提升,但在處理復(fù)雜的三維模型時(shí)仍較為困難。針對(duì)該問(wèn)題,學(xué)者們提出了三維模型分割算法,旨在將給定的三維對(duì)象分割為有意義的部件,并為每個(gè)部件提供標(biāo)簽,可通過(guò)分析三維模型的局部信息來(lái)降低模型復(fù)雜度。它作為參數(shù)化、幾何變形和紋理映射等數(shù)字幾何處理工作的熱點(diǎn)研究問(wèn)題之一,具有廣闊的應(yīng)用前景[1]。
近年來(lái),點(diǎn)云作為三維數(shù)據(jù)的原始表示受到了極大的關(guān)注,并被廣泛應(yīng)用于機(jī)器人[2]、自動(dòng)駕駛[3]、機(jī)載激光雷達(dá)[4]等研究中。然而,非結(jié)構(gòu)化的三維點(diǎn)云模型分割的實(shí)現(xiàn)通常需要對(duì)點(diǎn)云進(jìn)行高層次的理解,所以準(zhǔn)確捕捉模型的高級(jí)語(yǔ)義信息從而實(shí)現(xiàn)高效的三維點(diǎn)云模型分割仍然是研究領(lǐng)域面臨的巨大挑戰(zhàn)。深度神經(jīng)網(wǎng)絡(luò)的發(fā)展為點(diǎn)云的高效分析和處理提供了新的方法和手段。為將神經(jīng)網(wǎng)絡(luò)直接應(yīng)用于三維點(diǎn)云,文獻(xiàn)[5]提出了PointNet,首先使用多層感知機(jī)(Mul?tilayer Perceptron,MLP)和最大池化(Max Pool?ing)分別處理點(diǎn)云模型特征,然后通過(guò)融合局部及全局特征實(shí)現(xiàn)了三維模型的分割及分類。該方法雖然最大程度地保留了原始點(diǎn)云的空間特征,卻忽略了模型的局部區(qū)域特征。為此,繼PointNet之后,相關(guān)研究學(xué)者提出了以分層方式學(xué) 習(xí) 模 型 深 層 特 征 的 網(wǎng) 絡(luò) 架 構(gòu),如So-net[6],PointCNN[7]和SPH 3D-GCN[8],雖然此類方法取得了階段性的研究成果,但在分割過(guò)程中無(wú)法有效捕捉三維點(diǎn)之間的語(yǔ)義關(guān)系和上下文信息,使得分割效果欠佳。
此外,由于用于三維點(diǎn)云模型分割的點(diǎn)云數(shù)據(jù)具有無(wú)序性、稀疏性等特點(diǎn),進(jìn)行三維模型分割時(shí)不僅要考慮其置換不變性,還要考慮像旋轉(zhuǎn)和平移這樣的幾何變換導(dǎo)致的分割性能下降問(wèn)題。且現(xiàn)階段獲取的點(diǎn)云數(shù)據(jù)難免會(huì)受到噪聲[9]、異常值、點(diǎn)密度分布變化、錯(cuò)位和數(shù)據(jù)丟失等問(wèn)題的影響,所以研究一種具有較強(qiáng)魯棒性的分割網(wǎng)絡(luò)對(duì)三維模型分割性能的提升至關(guān)重要。文獻(xiàn)[10]提出了用于點(diǎn)云處理的端到端網(wǎng)絡(luò)PointASNL,其主要構(gòu)件為一個(gè)自適應(yīng)采樣(Adaptive Sampling,AS)模塊和一個(gè)鄰域-非鄰域(Local-Nonlocal,L-NL)模塊,二者組合使用可高效處理帶有噪聲及異常值的點(diǎn)云數(shù)據(jù),在分類及分割任務(wù)上均表現(xiàn)出了優(yōu)異的性能。文獻(xiàn)[11]首次研究了點(diǎn)云處理算法的旋轉(zhuǎn)不變性,其通過(guò)在球體上定義多值球面函數(shù)和等變卷積神經(jīng)網(wǎng)絡(luò)來(lái)處理三維數(shù)據(jù),使得被處理過(guò)的數(shù)據(jù)可以實(shí)現(xiàn)更好的不變性。然而,與規(guī)則網(wǎng)格上的空間卷積相比,該方法的分割性能較差。文獻(xiàn)[12]基于同心殼結(jié)構(gòu)提出了置換不變卷積Shell?Conv,該方法主要通過(guò)有效解決卷積排序問(wèn)題并增大感受野來(lái)提高分類及分割準(zhǔn)確率,但其對(duì)模型邊界的分割效果不理想。
三維模型簇協(xié)同分割主要通過(guò)協(xié)同分析一組三維模型并提取其相關(guān)聯(lián)信息來(lái)實(shí)現(xiàn)分割任務(wù),其中協(xié)同分析算法是有效獲取模型間相關(guān)聯(lián)信息從而實(shí)現(xiàn)模型簇準(zhǔn)確分割的關(guān)鍵所在。傳統(tǒng)的模型簇協(xié)同分割方法往往是從表示三維模型低級(jí)特征的特征描述符中學(xué)習(xí)高級(jí)特征進(jìn)行聚類分析,或者通過(guò)計(jì)算模型間對(duì)應(yīng)關(guān)系同步模型信息來(lái)完成分割,然而前者嚴(yán)重依賴所設(shè)計(jì)的特征描述符,適用場(chǎng)景有限,后者則會(huì)耗費(fèi)較多的計(jì)算成本。隨著近年來(lái)人們對(duì)點(diǎn)云模型深入研究后發(fā)現(xiàn),對(duì)具有相似性和相關(guān)幾何信息的點(diǎn)進(jìn)行分組建模,從而對(duì)其空間分布進(jìn)行編碼和協(xié)同分析,可有效地學(xué)習(xí)具有整體上下文的點(diǎn)描述符并獲取模型間的相關(guān)聯(lián)信息,進(jìn)而實(shí)現(xiàn)三維模型簇的協(xié)同分割。
受上述研究的啟發(fā),本文提出了利用模型相似性從點(diǎn)云的幾何拓?fù)浼s束中學(xué)習(xí)模型語(yǔ)義信息的模型簇協(xié)同分割網(wǎng)絡(luò),主要?jiǎng)?chuàng)新點(diǎn)和貢獻(xiàn)有:(1)將局部點(diǎn)子集建模為球形鄰域,通過(guò)利用特征聚合算子構(gòu)建模型分割網(wǎng)絡(luò)對(duì)每個(gè)球形鄰域進(jìn)行編碼來(lái)推斷潛在特征,提高分割網(wǎng)絡(luò)對(duì)模型變換的魯棒性。(2)基于空間相似性分析局部區(qū)域間的空間關(guān)系。在相似性度量空間中對(duì)點(diǎn)的空間分布進(jìn)行編碼,并通過(guò)聯(lián)合優(yōu)化潛在空間的分布來(lái)提高網(wǎng)絡(luò)對(duì)模型上下文信息的感知能力,從而實(shí)現(xiàn)三維模型簇的協(xié)同分割。
已有的點(diǎn)云分割工作主要分為模型驅(qū)動(dòng)分割和數(shù)據(jù)驅(qū)動(dòng)分割兩類[13]。模型驅(qū)動(dòng)方法又可分為基于邊緣[14]的方法、基于區(qū)域增長(zhǎng)[15]的方法及基于模型擬合[16]的方法等,此類方法主要利用模型的先驗(yàn)幾何知識(shí)來(lái)完成分割,因此受先驗(yàn)知識(shí)的影響較大,且對(duì)噪聲較敏感。數(shù)據(jù)驅(qū)動(dòng)方法主要從帶有大量有價(jià)值信息的數(shù)據(jù)中學(xué)習(xí)模型語(yǔ)義信息來(lái)實(shí)現(xiàn)分割,例如基于深度學(xué)習(xí)的方法[17-25]。
近年來(lái),隨著深度學(xué)習(xí)技術(shù)的進(jìn)一步發(fā)展與應(yīng)用,許多深度學(xué)習(xí)網(wǎng)絡(luò)已被用于不同表示形式的三維模型分割,如體素、點(diǎn)云、多視圖和網(wǎng)格模型等,其主要思想是用數(shù)據(jù)驅(qū)動(dòng)的方法學(xué)習(xí)模型特征取代傳統(tǒng)方法中人工設(shè)計(jì)的特征來(lái)完成分割。點(diǎn)云作為一種重要的三維幾何數(shù)據(jù)類型,其不規(guī)則的數(shù)據(jù)結(jié)構(gòu)給三維模型分割方法的研究帶來(lái)了一定的挑戰(zhàn),因而許多研究人員將點(diǎn)云數(shù)據(jù)轉(zhuǎn)換為規(guī)則的三維體素網(wǎng)格形式再進(jìn)行分割,但是轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)無(wú)疑會(huì)加大計(jì)算量。文獻(xiàn)[17]借鑒二維圖像語(yǔ)義分割的經(jīng)驗(yàn),首先通過(guò)空間占用網(wǎng)格表示方法對(duì)點(diǎn)云體素化,然后利用三維卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)模型的體素級(jí)語(yǔ)義信息,從而實(shí)現(xiàn)有效的點(diǎn)云分割,但是該方法體素化效率較低,缺少細(xì)節(jié)信息。此外,由于同一體素中的所有點(diǎn)都指定了相同的語(yǔ)義標(biāo)簽,因此分割精度受到了限制。Guerry J等人[18]通過(guò)直接處理多視圖中的RGB-D快照對(duì)SnapNet網(wǎng)絡(luò)進(jìn)行了改進(jìn),實(shí)現(xiàn)了密集的三維點(diǎn)標(biāo)記,但是多視圖中二維快照破壞了三維數(shù)據(jù)中的固有關(guān)系,且網(wǎng)絡(luò)無(wú)法準(zhǔn)確地分割模型邊界。
PointNet是首個(gè)直接分析三維點(diǎn)云模型的深度網(wǎng)絡(luò)架構(gòu),一經(jīng)提出便受到了相關(guān)研究者的廣泛關(guān)注。在此基礎(chǔ)上,文獻(xiàn)[19]提出了分層學(xué)習(xí)模型特征的網(wǎng)絡(luò)PointNet++,該網(wǎng)絡(luò)遞歸地將PointNet應(yīng)用于輸入點(diǎn)集的嵌套分區(qū),并通過(guò)使用度量空間距離,使網(wǎng)絡(luò)能夠隨著上下文信息的增加學(xué)習(xí)局部特征,有效改善了PointNet無(wú)法準(zhǔn)確捕獲模型局部特征的問(wèn)題。然而,此方法與ShapeContextNet[20]方 法 類 似,在 特 征 提 取 過(guò) 程中均未有效利用點(diǎn)與點(diǎn)之間的距離、方向性等重要信息,導(dǎo)致模型整體的分割效果欠佳。為此,文獻(xiàn)[21]提出了用于三維點(diǎn)云分割及識(shí)別的深度級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)。該網(wǎng)絡(luò)通過(guò)構(gòu)建一個(gè)動(dòng)態(tài)卷積神經(jīng)網(wǎng)絡(luò)作為其子網(wǎng)絡(luò)來(lái)捕捉點(diǎn)云的語(yǔ)義特征,并針對(duì)點(diǎn)集特征學(xué)習(xí)中的點(diǎn)云采樣不均勻問(wèn)題,提出利用循環(huán)神經(jīng)網(wǎng)絡(luò)編碼每個(gè)采樣點(diǎn)的多尺度鄰域特征捕捉上下文細(xì)粒度幾何特征,在三維語(yǔ)義分割和目標(biāo)識(shí)別中均取得了較好的結(jié)果,但其不能很好地區(qū)分主要特征和次要特征。
為了更好地捕獲局部幾何特征,文獻(xiàn)[22]提出了核心點(diǎn)卷積(Kernel Point Convolution,KP?Conv)方法用于點(diǎn)云模型分類及分割。該方法首先使用卷積權(quán)值對(duì)核心點(diǎn)附近的輸入點(diǎn)進(jìn)行卷積運(yùn)算,并將KPConv擴(kuò)展為可變形卷積進(jìn)行學(xué)習(xí)使核點(diǎn)適應(yīng)局部幾何特征,進(jìn)一步提高了分割準(zhǔn)確率。文獻(xiàn)[23]提出了三維圖卷積網(wǎng)絡(luò)(Graph Convolution Networks,3D-GCN),該網(wǎng)絡(luò)通過(guò)使用可學(xué)習(xí)的三維圖卷積核和圖最大池化操作,可獲取跨尺度的幾何特征。文獻(xiàn)[24]提出了一種Edge-Conv操作,以加權(quán)和的方式動(dòng)態(tài)地從目標(biāo)點(diǎn)的鄰域中匯集點(diǎn)特征。文獻(xiàn)[25]通過(guò)矢量分解對(duì)局部鄰域中的點(diǎn)云關(guān)系進(jìn)行建模,在整個(gè)特征提取層次結(jié)構(gòu)中保留歐式空間中的幾何結(jié)構(gòu)。文獻(xiàn)[26]提出了用于點(diǎn)云處理的分層組卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)設(shè)計(jì)了兩個(gè)分層的并行組卷積捕捉點(diǎn)云的全局單點(diǎn)特征和局部幾何特征,并組合使用全局平均池化和全連接層代替了連續(xù)的全連接層,在降低算法復(fù)雜度的同時(shí)提高了模型的分割及識(shí)別準(zhǔn)確率。文獻(xiàn)[27]通過(guò)使用注意力編碼的多頭注意力卷積層(Multihead Attentional Convolution Layer,MACL)提取模型特征,提高了網(wǎng)絡(luò)對(duì)任意方向旋轉(zhuǎn)的點(diǎn)云模型的處理能力。文獻(xiàn)[28]使用稀疏的雙邊卷積層構(gòu)建了一個(gè)點(diǎn)云模型分割網(wǎng)絡(luò)SPLATNet,該網(wǎng)絡(luò)可通過(guò)聯(lián)合處理二維圖像和三維點(diǎn)云來(lái)提高分割精度。盡管這些方法在獲取局部特征方面取得了較好的進(jìn)展,但所學(xué)習(xí)的局部特征只描述目標(biāo)點(diǎn)與其鄰域之間的關(guān)系,而未考慮鄰域中所有點(diǎn)之間的相互作用。
相比于單個(gè)模型分割,模型協(xié)同分割方法可以同時(shí)分析一簇模型來(lái)提取模型間相關(guān)聯(lián)信息,而不是單獨(dú)分析每個(gè)模型,分割準(zhǔn)確率更高,受到了研究者的廣泛關(guān)注。文獻(xiàn)[29]將協(xié)同分割問(wèn)題表述為多個(gè)特征空間中的子空間聚類問(wèn)題。首先對(duì)模型進(jìn)行過(guò)分割,然后直接對(duì)模型的原始面片進(jìn)行分組來(lái)完成一致性分割,此過(guò)程還可獲得各原始面片之間的對(duì)應(yīng)關(guān)系,但此方法可能會(huì)將幾何相似性高的不同部件識(shí)別為同一個(gè)部件,也有可能無(wú)法識(shí)別幾何相似性低的對(duì)應(yīng)部件,故難以應(yīng)用于復(fù)雜場(chǎng)景中。文獻(xiàn)[30]利用三維模型上的有價(jià)值信息為每個(gè)模型生成了一個(gè)函數(shù)字典,然后通過(guò)對(duì)所生成的函數(shù)字典進(jìn)行聯(lián)合分析,可準(zhǔn)確分割同質(zhì)三維模型簇,但其對(duì)異質(zhì)三維模型簇的分割效果欠佳。文獻(xiàn)[31]提出了基于樣本聚類的相似性傳播方法。該方法可自動(dòng)選擇最具代表性的樣本,并通過(guò)將所選樣本與過(guò)分割面片之間的相似性最大化,可獲得準(zhǔn)確的一致性分割結(jié)果,但結(jié)果主要取決于建立準(zhǔn)確的稀疏對(duì)應(yīng)關(guān)系。
綜上所述,體素化方法依賴于體素劃分精度且計(jì)算量較大;多視圖方法可能會(huì)丟失三維點(diǎn)云的結(jié)構(gòu)信息并導(dǎo)致遮擋,從而加大三維模型分割的難度;直接將點(diǎn)云數(shù)據(jù)作為輸入進(jìn)行模型分割的方法雖然表現(xiàn)出了較優(yōu)異的性能,但由于點(diǎn)云數(shù)據(jù)的不規(guī)則性及掃描噪聲等問(wèn)題,三維模型分割性能的提升還面臨著巨大的挑戰(zhàn),而且大多單體分割方法并沒(méi)有將同質(zhì)模型間的潛在聯(lián)系這一有用信息充分利用起來(lái)。因此,為提高點(diǎn)云模型分割的準(zhǔn)確率及分割網(wǎng)絡(luò)的魯棒性,探究如何充分利用模型間潛在聯(lián)系捕捉足夠的上下文語(yǔ)義信息進(jìn)行三維模型簇協(xié)同分割就顯得尤為重要。
基于深度學(xué)習(xí)網(wǎng)絡(luò)的三維點(diǎn)云模型分割的本質(zhì)是通過(guò)學(xué)習(xí)三維點(diǎn)之間的局部鄰域關(guān)系并對(duì)其進(jìn)行推理分析來(lái)完成分割操作。因此,準(zhǔn)確高效的鄰域特征學(xué)習(xí)對(duì)于后續(xù)的分割極其重要。然而,它在很大程度上依賴于對(duì)不規(guī)則點(diǎn)子集的形狀感知和歸納學(xué)習(xí),這仍然是一個(gè)相當(dāng)棘手的問(wèn)題。
現(xiàn)有的點(diǎn)采樣方法大致可分為啟發(fā)式方法和基于學(xué)習(xí)的方法兩種,然而目前為止還沒(méi)有適用于大規(guī)模點(diǎn)云的標(biāo)準(zhǔn)采樣策略[32],所以相關(guān)研究人員都是根據(jù)實(shí)際所需選擇合適的采樣策略進(jìn)行采樣。三維點(diǎn)云模型常用的采樣方法為最遠(yuǎn)點(diǎn)采樣法(Farthest Point Sampling,F(xiàn)PS)和隨機(jī)采樣法(Random Sampling,RS),此二者均屬于啟發(fā)式方法。
為了使得到的采樣點(diǎn)更均勻地覆蓋整個(gè)模型,本文采用FPS算法從輸入點(diǎn)集中選擇質(zhì)心點(diǎn),并進(jìn)行球形鄰域的建模。具體來(lái)說(shuō),對(duì)一組給定的三維點(diǎn)P={x i|i=1,2,…,n},首先以采樣點(diǎn)x i為球心,然后以其周圍的點(diǎn)x j?N(x i)為鄰域點(diǎn)將局部點(diǎn)子集Ps?R3建模為一個(gè)半徑為r的球形鄰域,圖1為所構(gòu)建的球形鄰域示意圖,圓圈表示兩種采樣方法的合成。鄰域點(diǎn)的選擇對(duì)于高效學(xué)習(xí)模型局部特征至關(guān)重要,球查詢(Ball Query)算 法 和k近 鄰(k-Nearest Neighbors,kNN)算法作為鄰域點(diǎn)搜索策略的兩種常用方法,前者以查詢點(diǎn)為中心,查找指定半徑范圍內(nèi)的所有點(diǎn);后者則查找與查詢點(diǎn)歐氏距離最小的k個(gè)點(diǎn)。考慮到球查詢算法將指定半徑范圍內(nèi)的所有點(diǎn)作為鄰域點(diǎn)會(huì)造成信息冗余進(jìn)而加大計(jì)算量,而k NN查詢算法在不均勻的點(diǎn)集中,泛化能力差等問(wèn)題,本文受隨機(jī)采樣及球查詢思想的啟發(fā),提出使用球內(nèi)隨機(jī)選?。≧andomly Pick in Sphere,Random-PiS)的方式確定鄰域點(diǎn),以完成球形鄰域的建模,該方法與隨機(jī)采樣法的不同在于其限定了每次隨機(jī)選取采樣點(diǎn)的區(qū)域,通過(guò)在所構(gòu)建的球形鄰域內(nèi)隨機(jī)選取采樣點(diǎn)完成采樣,其使用有助于網(wǎng)絡(luò)捕捉到更豐富的局部特征,從而提高三維點(diǎn)云模型的分割準(zhǔn)確率。
圖1 球形鄰域的構(gòu)建Fig.1 Construction of spherical neighborhood
高效的鄰域特征提取是完成三維點(diǎn)云模型分割任務(wù)的關(guān)鍵步驟之一,而經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)不具備置換不變性,且其所學(xué)習(xí)的權(quán)值w j的梯度在反向傳播中僅與孤立的三維點(diǎn)x j相關(guān),難以捕捉同質(zhì)模型間潛在信息并進(jìn)行歸納推理,對(duì)網(wǎng)絡(luò)分割性能的提升有一定的局限性。為有效學(xué)習(xí)各個(gè)球形鄰域的特征表示fPs,本文提出了一種從三維點(diǎn)云的幾何拓?fù)潢P(guān)系中學(xué)習(xí)局部鄰域特征的方法,該方法通過(guò)引入一個(gè)特征聚合(Feature Aggrega?tion,F(xiàn)A)算子分別對(duì)每個(gè)局部鄰域進(jìn)行卷積運(yùn)算來(lái)推斷模型的潛在特征,從而有序地編碼潛在的形狀信息(即編碼點(diǎn)的幾何關(guān)系),以提高分割網(wǎng)絡(luò)對(duì)模型變換的魯棒性。
在三維空間的鄰域中,x i及其鄰域點(diǎn)N(x i)之間的幾何關(guān)系是關(guān)于點(diǎn)的空間布局的顯式表達(dá),高效的三維點(diǎn)云幾何拓?fù)潢P(guān)系編碼與特征學(xué)習(xí)對(duì)模型分割準(zhǔn)確率的提升至關(guān)重要。為了準(zhǔn)確捕捉三維模型點(diǎn)云之間的幾何拓?fù)潢P(guān)系,首先設(shè)計(jì)一個(gè)映射函數(shù)M,該函數(shù)從中心點(diǎn)x i和鄰域點(diǎn)x j之間預(yù)定義的幾何先驗(yàn)關(guān)系向量hij中學(xué)習(xí)高級(jí)關(guān)系表達(dá)式,進(jìn)而得到共享的卷積權(quán)重w ij,其表達(dá)式為式(1)。由于M可以將hij映射到與鄰域點(diǎn)特征fxj進(jìn)行通道對(duì)齊的高維關(guān)系向量,所以幾何先驗(yàn)關(guān)系向量hij的定義比較靈活。為了提高網(wǎng)絡(luò)對(duì)三維模型剛性變換的魯棒性,本文除了使用最基本的可表征模型間關(guān)系的三維點(diǎn)坐標(biāo)信息,還引入了三維歐式距離(Euclidean dis?tance,Ed)作 為 對(duì)hij的 直 觀 描 述,其 表 達(dá) 式為式(2)。
其中:Ed表示三維歐幾里得距離,x i-x j表示球形鄰域質(zhì)心點(diǎn)和鄰域點(diǎn)坐標(biāo)之間的差值。
為實(shí)現(xiàn)三維點(diǎn)云的置換不變性,本文所采用的映射函數(shù)M是多個(gè)共享權(quán)值的MLP,且所用的聚合函數(shù)A也是具有對(duì)稱性的Max Pooling函數(shù)。各球形鄰域的特征表示fPs是首先通過(guò)使用共享權(quán)重w ij對(duì)N(x i)中所有的點(diǎn)特征執(zhí)行變換操作,然后用函數(shù)A和非線性激活函數(shù)σ對(duì)其進(jìn)行聚合得到的。
其中:d ij為x i和x j之間的歐氏距離,r為球面半徑。
上述運(yùn)算可將x i和N(x i)之間的幾何拓?fù)潢P(guān)系匯總在一起,再加入共享MLP進(jìn)行通道提升操作可進(jìn)一步加強(qiáng)網(wǎng)絡(luò)對(duì)模型的表示能力,故將其稱之為FA算子。圖2為FA算子對(duì)局部鄰域進(jìn)行卷積運(yùn)算的示意圖,其首先使用共享的MLP對(duì)輸入的球形鄰域進(jìn)行卷積運(yùn)算得到與點(diǎn)云特征具有相同通道數(shù)的共享卷積權(quán)重w ij,然后由w ij對(duì)N(x i)中所有點(diǎn)的特征進(jìn)行變換操作,并使用函數(shù)A聚合三維點(diǎn)云特征得到各球形鄰域的特征表示,最后使用共享MLP進(jìn)行通道提升以實(shí)現(xiàn)相關(guān)點(diǎn)空間布局的顯式推理,并提高網(wǎng)絡(luò)對(duì)模型的感知能力。
圖2 FA算子卷積過(guò)程Fig.2 Convolution process of feature aggregation opera?tor
基于深度學(xué)習(xí)的三維點(diǎn)云模型簇協(xié)同分割的首要任務(wù)是捕捉模型間的共同特征,并對(duì)其進(jìn)行分析,以構(gòu)建可準(zhǔn)確計(jì)算各模型部件之間幾何相關(guān)性的三維模型簇協(xié)同分割網(wǎng)絡(luò)。因此,本文提出利用模型相似性進(jìn)行三維模型簇協(xié)同分割的方法。
為實(shí)現(xiàn)三維模型簇的協(xié)同分割,本文構(gòu)建了一個(gè)分層協(xié)同分割網(wǎng)絡(luò),主要由編碼器網(wǎng)絡(luò)和解碼器網(wǎng)絡(luò)級(jí)聯(lián)組成。編碼階段包括三維點(diǎn)云幾何拓?fù)潢P(guān)系的捕捉和模型空間相似性計(jì)算兩部分。對(duì)于從一組三維模型中采樣得到的三維點(diǎn)所構(gòu)建的球形鄰域,第一部分通過(guò)高效編碼三維點(diǎn)云的幾何拓?fù)潢P(guān)系學(xué)習(xí)相應(yīng)的共享權(quán)重,進(jìn)而對(duì)模型的鄰域點(diǎn)特征進(jìn)行變換操作,并通過(guò)對(duì)點(diǎn)的空間布局進(jìn)行顯式推理可得到各個(gè)模型的高維關(guān)系向量。第二部分通過(guò)對(duì)基于距離矩陣的球形鄰域關(guān)系進(jìn)行編碼,來(lái)構(gòu)建相似性度量矩陣進(jìn)一步增強(qiáng)各鄰域特征之間的聯(lián)系,從而完成各同質(zhì)模型間的協(xié)同分析。解碼階段主要通過(guò)對(duì)編碼得到的特征向量進(jìn)行上采樣操作,以獲取分割結(jié)果。
網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,為一個(gè)三層的編解碼網(wǎng)絡(luò)。首先使用FA算子對(duì)一簇三維點(diǎn)云模型進(jìn)行卷積運(yùn)算,得到高維關(guān)系向量;然后將距離矩陣轉(zhuǎn)換為空間相似性矩陣,并使用空間相似矩陣的分量對(duì)FA算子卷積得到的高維關(guān)系向量并進(jìn)行加權(quán)求和,來(lái)增強(qiáng)各球形鄰域之間的相關(guān)性,進(jìn)而增強(qiáng)各模型間的潛在聯(lián)系;最后對(duì)加權(quán)后的特征向量進(jìn)行解碼操作,獲得逐點(diǎn)預(yù)測(cè)結(jié)果。圖中虛線框中的內(nèi)容是對(duì)分割網(wǎng)絡(luò)中部分重要操作的注解,紅色方塊指的是上采樣操作和FA算子的卷積運(yùn)算過(guò)程,帶箭頭的虛折線表示跳躍連接。式(4)為FA算子在網(wǎng)絡(luò)的l-1層和l層進(jìn)行卷積運(yùn)算的表達(dá)式。
圖3 分層協(xié)同分割網(wǎng)絡(luò)Fig.3 Hierarchical co-segmentation network
為了獲取三維點(diǎn)云模型的全局特征,現(xiàn)有方法多采用池化層來(lái)聚合局部區(qū)域特征。然而,在此過(guò)程中易造成鄰域間上下文信息的丟失,特別是局部區(qū)域之間的空間分布信息。本文為捕捉局部鄰域間的空間上下文關(guān)系,實(shí)現(xiàn)三維模型協(xié)同分析,提出了一種利用各球形鄰域的球心坐標(biāo)來(lái)計(jì)算模型空間相似性的策略,該策略可顯式地編碼各鄰域之間的空間分布信息,進(jìn)一步提高分割準(zhǔn)確率。對(duì)于一組給定的球心點(diǎn){x i,i=1,2,…,M},首先利用各個(gè)點(diǎn)的坐標(biāo)計(jì)算距離矩陣D;然后將距離矩陣轉(zhuǎn)換到相似性空間,由此可獲得空間相似性矩陣S。距離矩陣D和相似性矩陣S的計(jì)算表達(dá)式為式(5)和式(6),其中λ是空間相似性調(diào)節(jié)參數(shù)。
為了準(zhǔn)確度量一組同質(zhì)三維模型之間的空間相似性,進(jìn)一步增強(qiáng)同質(zhì)三維模型之間的聯(lián)系,并減弱異質(zhì)模型之間的關(guān)聯(lián)性,本文采用貪婪加權(quán)策略對(duì)FA算子進(jìn)行卷積運(yùn)算學(xué)習(xí)到的局部鄰域特征進(jìn)行加權(quán)求和,通過(guò)式(7)和式(8)增強(qiáng)各球形鄰域之間的相關(guān)性來(lái)促進(jìn)全局特征的學(xué)習(xí),進(jìn)而提高三維模型簇一致性分割的準(zhǔn)確率。
其中:f’i為fi的增強(qiáng)特征向量,c是高維特征向量組f的列的索引,i表示球形鄰域序數(shù)。式(8)通過(guò)對(duì)增強(qiáng)特征進(jìn)行正則化操作,可獲得最終的局部鄰域特征f′′i,進(jìn)而由MLP進(jìn)行特征提取,即可得到全局特征。
點(diǎn)云模型分割的目標(biāo)是通過(guò)預(yù)測(cè)點(diǎn)云中每個(gè)點(diǎn)的語(yǔ)義標(biāo)簽來(lái)實(shí)現(xiàn)分割。對(duì)于已經(jīng)獲得的全局特征,現(xiàn)有的逐個(gè)獲取原始點(diǎn)特征的常見解決方案有兩種,一種通過(guò)N次復(fù)制全局特征獲取對(duì)應(yīng)的原始點(diǎn)特征,另一種引入插值層進(jìn)行上采樣操作獲取。受文獻(xiàn)[17]啟發(fā),本文分割網(wǎng)絡(luò)基于距離的插值和跳躍連接進(jìn)行解碼操作將全局特征傳播到原始的點(diǎn)云集合,具體來(lái)說(shuō),從上一層的點(diǎn)中為當(dāng)前插值層的每個(gè)點(diǎn)搜索k個(gè)最近點(diǎn),進(jìn)而通過(guò)對(duì)兩層之間的點(diǎn)位置關(guān)系進(jìn)行插值學(xué)習(xí)得到當(dāng)前層的點(diǎn)特征ψ(p)。
其中:ω(pi)=1/(p-pi)2是兩點(diǎn)間歐幾里得距離的平方倒數(shù),ψ(pi)為當(dāng)前層中p的k個(gè)近鄰點(diǎn){pi,i=1,2,…,k}的點(diǎn)特征。
本實(shí)驗(yàn)硬件環(huán)境為Intel Core i9-9900k+NVIDIA RTX2080Ti 64GB內(nèi)存+11GB顯存,軟件環(huán)境為L(zhǎng)inux Ubuntu 16.04+CUDA 10.0+cudnn7.6+Python3.6+Pytorch深度學(xué)習(xí)框架。
為與其他算法進(jìn)行比較,在數(shù)據(jù)集Shap?eNetPart上進(jìn)行訓(xùn)練和評(píng)估。該數(shù)據(jù)集包含來(lái)自16個(gè)類別的16 880個(gè)模型,其中包括14 006個(gè)訓(xùn)練模型和2 874個(gè)測(cè)試模型,多數(shù)模型有2到6個(gè)注釋部件,16個(gè)類別共計(jì)有50個(gè)不同的部件,每個(gè)部件的點(diǎn)標(biāo)簽均已被注釋。
本文采用自適應(yīng)矩估計(jì)優(yōu)化器(Adaptive Moment Estimation,ADAM)優(yōu)化網(wǎng)絡(luò)模型,訓(xùn)練批尺寸設(shè)置為16,批歸一化層(Batch Normal?ization,BN)的動(dòng)量設(shè)置為0.9,每20個(gè)epoch以0.5的速率衰減,可使網(wǎng)絡(luò)較快地收斂;初始學(xué)習(xí)率設(shè)置為0.001,每20個(gè)epoch衰減0.7,可快速地獲得最優(yōu)解。
針對(duì)不同的分割任務(wù)選擇相對(duì)應(yīng)的評(píng)價(jià)指標(biāo)是至關(guān)重要的。通常情況下,以COSEG和PSB為目標(biāo)數(shù)據(jù)集的三維模型分割方法一般選用蘭德指數(shù)(Rand Index)、漢明距離(Hamming Distance)、分割差異(Cut Discrepancy)和一致性誤差(Consistency Error)等作為其評(píng)價(jià)指標(biāo),而對(duì)應(yīng)PartNet、S3DIS、KITTI和ShapeNet Part等數(shù)據(jù)集的評(píng)估指標(biāo)通常是平均交并比(mean In?tersection over Union,mIoU)、平 均 準(zhǔn) 確 率(mAcc)、整體準(zhǔn)確度(OA)等。本文選用IoU、mIoU及pIoU作為分割結(jié)果的主要評(píng)價(jià)指標(biāo),IoU是訓(xùn)練模型對(duì)某一類別的預(yù)測(cè)分割和真實(shí)分割的交集與并集之比,其值越大,表示測(cè)試值和預(yù)測(cè)值越接近,即對(duì)應(yīng)類別的模型分割效果越理想,表達(dá)式見式(10)。式(11)為mIoU的表達(dá)式,它表示數(shù)據(jù)集中多類模型IoU的平均值,其值越大表示分割效果越好。
其中:z為類別數(shù),TP:預(yù)測(cè)正確,表示預(yù)測(cè)結(jié)果是正類,真實(shí)是正類的樣本數(shù);FP:預(yù)測(cè)錯(cuò)誤,表示預(yù)測(cè)結(jié)果是正類,真實(shí)是負(fù)類的樣本數(shù);FN:預(yù)測(cè)錯(cuò)誤,表示預(yù)測(cè)結(jié)果是負(fù)類,真實(shí)是正類的樣本數(shù)。
另外,由于ShapeNet Part數(shù)據(jù)集中各類模型的數(shù)量不均衡,為進(jìn)一步提高對(duì)模型分割準(zhǔn)確率的判別,還引入了部件平均交并比(part averaged IoU,pIoU)來(lái)評(píng)判本文的分割效果,其主要根據(jù)每類模型出現(xiàn)的頻率設(shè)置權(quán)重,表達(dá)式為式(12)。其值越大表示分割效果越好。
其中,TN:預(yù)測(cè)正確,表示預(yù)測(cè)結(jié)果是負(fù)類,真實(shí)是負(fù)類的樣本數(shù)。
本文利用模型相似性在ShapeNet Part數(shù)據(jù)集上的模型簇協(xié)同分割的可視化結(jié)果如圖4所示。
圖4 點(diǎn)云模型分割結(jié)果Fig.4 Segmentation results of point cloud shapes
從圖中六類模型的分割結(jié)果可以看出,不論是簡(jiǎn)單模型還是復(fù)雜模型,本算法均能得到協(xié)同一致的分割部件,如飛機(jī)模型被分割為機(jī)翼、機(jī)身、尾翼和動(dòng)力裝置等部件。
表1給出了在點(diǎn)云模型數(shù)據(jù)集ShapeNet Part上,本文算法與其他幾種基于深度學(xué)習(xí)的經(jīng)典點(diǎn)云分割算法的分割準(zhǔn)確率對(duì)比結(jié)果??梢钥闯?,本文通過(guò)有效捕捉三維點(diǎn)云的幾何拓?fù)潢P(guān)系實(shí)現(xiàn)點(diǎn)云置換不變性的策略,相比于文獻(xiàn)[5]使用STN對(duì)原始點(diǎn)云進(jìn)行規(guī)范化處理的方法,本算法的mIoU提高了2.9%,pIoU提高了2.4%,這主要是因?yàn)镾TN會(huì)引入不必要的剪切和縮放,使得分割準(zhǔn)確率有所下降。相比于文獻(xiàn)[10]使用AS模塊和L-NL模塊提取模型特征進(jìn)行分割的方法,本算法的mIoU與其持平,而p I?oU降低了0.1%,這主要是因?yàn)槲墨I(xiàn)[10]的AS模塊可自適應(yīng)地選擇采樣點(diǎn),而本算法在此方面略顯不足,且其輸入點(diǎn)為本算法的一倍。相比于文獻(xiàn)[19]使用Max Pooling聚合三維模型信息并進(jìn)行逐點(diǎn)分類預(yù)測(cè)的方法,本算法通過(guò)結(jié)合模型相似性來(lái)實(shí)現(xiàn)模型的一致性分割,使mIoU和p I?oU分別提高了1.4%和0.9%,這是因?yàn)槲墨I(xiàn)[17]無(wú)法準(zhǔn)確捕捉模型間的上下文語(yǔ)義信息,所以限制了模型分割準(zhǔn)確率的提升。文獻(xiàn)[27]將注意力機(jī)制引入卷積網(wǎng)絡(luò)中對(duì)輸入模型進(jìn)行編碼,但由于其網(wǎng)絡(luò)架構(gòu)主要針對(duì)旋轉(zhuǎn)模型進(jìn)行設(shè)計(jì),魯棒性較強(qiáng),但其對(duì)點(diǎn)云模型整體結(jié)構(gòu)的感知較差,故本算法的mIoU和pIoU與其相比分別提升了11.8%和10.8%。文獻(xiàn)[28]利用稀疏的雙邊卷積層來(lái)學(xué)習(xí)模型的空間感知特征進(jìn)行三維模型分割,本算法與之相比p IoU提升了0.6%,但由于其附加了二維信息,提高了其在背包(Bag)、車(Car)、吉他(Guitar)和杯子(Mug)等模型上的分割準(zhǔn)確率,而本算法為在訓(xùn)練速度和訓(xùn)練精度之間取得平衡,犧牲了在部分模型上的分割精度,使得本算法的mIoU降低了0.4%。
表1 本文算法與其他算法分割結(jié)果比較Tab.1 Comparison of segmentation results between our algorithm and other algorithms
表2為本文算法與其他幾種算法在不同模型上的分割準(zhǔn)確率對(duì)比結(jié)果,模型名稱下方括號(hào)中的數(shù)字表示各類模型所對(duì)應(yīng)的三維對(duì)象個(gè)數(shù)。本算法與文獻(xiàn)[5]相比,在大多模型上的分割準(zhǔn)確率都得到了提升,尤其在耳機(jī)(Ear.)、摩托(Motor.)等帶有細(xì)小部件的模型上的分割準(zhǔn)確率的提升尤為明顯,IoU值分別提升了5.5%和8.5%,這主要是因?yàn)槲墨I(xiàn)[5]對(duì)模型局部特征的學(xué)習(xí)具有一定的局限性。文獻(xiàn)[10]使用自適應(yīng)采樣的策略和文獻(xiàn)[19]加入密度自適應(yīng)層進(jìn)行分層特征提取的方法,對(duì)采樣點(diǎn)密度變化較明顯的模型分割魯棒性較強(qiáng),而在密度分布較均勻的模型上分割效果一般,如二者在帽子模型上的分割I(lǐng)oU值分別較本算法高2.2%和2.0%,而在耳機(jī)模型上的分割準(zhǔn)確率分別低于本算法4.8%和6.7%。文獻(xiàn)[27]中全局特征的獲取依賴于關(guān)鍵點(diǎn)描述符,雖提高了魯棒性能,但一定程度上限制了其分割精度的提升。文獻(xiàn)[28]通過(guò)聯(lián)合處理點(diǎn)云和多視圖圖像進(jìn)行模型分割的方法在帽子(Cap)和火箭(Rocket)模型上的分割準(zhǔn)確率較本文算法分別高出3.4%和4.0%,而本算法在耳機(jī)(Ear.)和臺(tái)燈(Lamp)模型上的分割準(zhǔn)確率分別高于文獻(xiàn)[28]3.0%和1.8%,且本算法僅以三維點(diǎn)坐標(biāo)為輸入所得的分割結(jié)果仍然可與其相媲美,進(jìn)一步證明了本文協(xié)同分析策略對(duì)三維模型分割的有效性。
表2 不同算法在各類模型上的IoU比較Tab.2 Comparison of IoU of different algorithms on various shapes
為驗(yàn)證本算法的效率,分別對(duì)各類分割算法的訓(xùn)練時(shí)間及測(cè)試時(shí)間作了對(duì)比分析,對(duì)比結(jié)果如表3所示。可以看出,本算法所用的分割時(shí)間高于文獻(xiàn)[5],而低于文獻(xiàn)[19]和文獻(xiàn)[28]。雖然本算法和文獻(xiàn)[5]均以三維點(diǎn)坐標(biāo)為輸入,但由于本文球形鄰域的構(gòu)建及模型的協(xié)同分析會(huì)額外耗費(fèi)部分計(jì)算成本,使得分割效率略低于文獻(xiàn)[5]。文獻(xiàn)[19]為解決采樣點(diǎn)密度不均勻問(wèn)題引入了密度自適應(yīng)層,該方法雖提高了分割準(zhǔn)確率但增加了網(wǎng)絡(luò)訓(xùn)練時(shí)間。文獻(xiàn)[10]和文獻(xiàn)[27]的輸入點(diǎn)數(shù)均為2048,是本文算法的一倍,除輸入點(diǎn)集的差異,文獻(xiàn)[27]還需耗費(fèi)部分的計(jì)算成本實(shí)現(xiàn)旋轉(zhuǎn)不變性,故其時(shí)間復(fù)雜度明顯高于本文算法。文獻(xiàn)[28]使用索引結(jié)構(gòu)僅在網(wǎng)格占用部分上應(yīng)用卷積來(lái)提高效率,但其聯(lián)合處理數(shù)據(jù)的操作會(huì)加大網(wǎng)絡(luò)的運(yùn)算量。
表3 本文算法與其他算法分割時(shí)間比較Tab.3 Comparison of segmentation time between our algorithm and other algorithms
為驗(yàn)證本文鄰域點(diǎn)采樣策略及特征聚合算子對(duì)三維模型簇協(xié)同分割的有效性,進(jìn)行了消融實(shí)驗(yàn),對(duì)比結(jié)果如表4所示??梢钥闯?,以k NN為鄰域點(diǎn)采樣方法,使用共享MLP和FA算子進(jìn)行特征提取所得的p IoU分別為67.5%和85.2%,前者低于后者17.7%;而以Random-PiS為鄰域點(diǎn)采樣方法時(shí),所得的pIoU值分別為73.1%和86.0%,后者較前者提高了12.9%。經(jīng)消融實(shí)驗(yàn)結(jié)果表明,利用Random-PiS進(jìn)行鄰域點(diǎn)采樣、使用FA算子進(jìn)行卷積運(yùn)算可以更準(zhǔn)確地捕捉三維模型特征,即本文所使用的各個(gè)組件可有效提高模型的分割精度。
表4 不同組件對(duì)三維模型簇協(xié)同分割的有效性驗(yàn)證Tab.4 Effectiveness verification of different components for co-segmentation of 3D shape clusters
為有效提高三維模型的分割準(zhǔn)確率,本文提出利用模型相似性進(jìn)行三維模型簇協(xié)同分割。首先,使用不同的采樣方法采樣質(zhì)心點(diǎn)及鄰域點(diǎn)構(gòu)建球形鄰域;然后,應(yīng)用特征聚合算子進(jìn)行卷積運(yùn)算,通過(guò)編碼三維點(diǎn)云的幾何拓?fù)潢P(guān)系來(lái)推斷模型潛在特征;最后,構(gòu)建空間相似性矩陣對(duì)模型潛在特征進(jìn)行加權(quán)求和,完成同質(zhì)三維模型間的協(xié)同分析,進(jìn)而使用分層結(jié)構(gòu)對(duì)得到的聯(lián)合特征向量進(jìn)行解碼操作,實(shí)現(xiàn)三維模型簇的協(xié)同分割。本文算法在ShapeNet Parts數(shù)據(jù)集上的pIoU達(dá)到了86%、mIoU達(dá)到了83.3%,與其他算法的實(shí)驗(yàn)對(duì)比結(jié)果表明,本文的協(xié)同分割方法可有效提取三維模型的局部及全局特征,協(xié)同分割的準(zhǔn)確率較高。然而,實(shí)驗(yàn)發(fā)現(xiàn)本算法還存在較大的改進(jìn)空間,未來(lái)可考慮附加一些有價(jià)值的輸入特征(如模型紋理和多視圖圖像),進(jìn)一步提高網(wǎng)絡(luò)的分割性能。此外,由于目前還沒(méi)有標(biāo)準(zhǔn)的殘缺模型數(shù)據(jù)集,所以對(duì)于殘缺三維模型分割方法的研究還有待進(jìn)一步探索。