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