姜金岑,李聯(lián)隊,王美麗,3,4*
(1.西北農(nóng)林科技大學(xué)信息工程學(xué)院,陜西 楊凌 712100;2.陜西省林業(yè)科學(xué)院,陜西 西安 710082;3.農(nóng)業(yè)農(nóng)村部農(nóng)業(yè)物聯(lián)網(wǎng)重點實驗室,陜西 楊凌 712100;4.陜西省農(nóng)業(yè)信息與智能服務(wù)重點實驗室,陜西 楊凌 712100)
植物的數(shù)字化與可視化技術(shù)是實現(xiàn)數(shù)字林業(yè)的重要途徑,對植物進(jìn)行可視化建模能夠?qū)χ参锏纳L過程和形態(tài)結(jié)構(gòu)進(jìn)行定量化研究和智能化處理。隨著三維掃描設(shè)備的普及與技術(shù)的發(fā)展,基于植物點云數(shù)據(jù)的三維模型重建越來越受到研究者的重視,且具有精度高、真實感強以及細(xì)節(jié)特征顯著等優(yōu)點[1]。在對植物進(jìn)行三維掃描過程中,由于外界環(huán)境的干擾、視點選擇的不同,掃描得到的三維點云通常存在一定的噪聲,噪聲會使得模型失真,同時也會產(chǎn)生被測物體部分缺失的現(xiàn)象,直接對其進(jìn)行重建將無法得到一個完整的模型。因此植物點云數(shù)據(jù)的處理及補全是植物三維建模中的重點和難點問題。
通過三維激光掃描技術(shù)對植物進(jìn)行建模的研究一直都是計算機圖形學(xué)的研究重點[2-7]。此外,點云分割是三維點云重建中的關(guān)鍵技術(shù)之一,也是三維重建的前提[8-13]。但重建過程中會發(fā)現(xiàn)掃描得到的三維點云模型常缺失部分細(xì)節(jié)信息,若需進(jìn)行點云修補往往需要提取其骨架[14-19]。其中,Huang等[15]提出了基于 L1 中值的點云骨架提取方法和局部密度權(quán)重來解決點云密度不均勻的問題,但該方法需要調(diào)試大量參數(shù)來獲取精確的骨架,實用性不高;Zhang等[17]使用概率圖模型基于最小距離對骨架節(jié)點間邊的權(quán)重進(jìn)行計算,通過最小生成樹判斷每個節(jié)點間的拓?fù)溥B接情況。但通常這些方法僅適用于人體或其他簡單物體點云數(shù)據(jù),無法對植物點云數(shù)據(jù)的骨架進(jìn)行拓?fù)溥B接。
近年來,Charles等[20]提出了可以直接處理原始三維點云數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)PointNet,能完成高層次的點云分類和語義分割任務(wù)。在此基礎(chǔ)上許多研究者通過深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)對點云進(jìn)行修補[21-26],但通過深度學(xué)習(xí)的方法往往是數(shù)據(jù)驅(qū)動的,需要對大量的數(shù)據(jù)進(jìn)行訓(xùn)練,無法廣泛應(yīng)用到植物建模等領(lǐng)域中。針對上述研究現(xiàn)狀,本研究擬解決的關(guān)鍵問題是:①構(gòu)造植物點云的拓?fù)溥B接情況,判斷缺失部位連接點;②確定待擬合點的點集,并保證斷連部分銜接平滑且具有真實性;③對缺失部分進(jìn)行擬合并調(diào)整點云密度,使補全結(jié)果與原始點云渾然一體。通過解決這些問題,以期能夠在一定程度上彌補掃描時外界因素所帶來的缺陷,使植物模型更為生動形象且有效地應(yīng)用于教學(xué)、科研等方面,也更為直觀地展現(xiàn)植物的真實形態(tài),為數(shù)字林業(yè)提供依據(jù),助力林業(yè)在信息化時代的發(fā)展。
使用三維掃描儀對植物進(jìn)行掃描,受植物形態(tài)結(jié)構(gòu)、遮擋問題和掃描精度的影響,掃描時往往會丟失部分點云數(shù)據(jù),其中植物的葉片與其莖干的連接處通常較細(xì)容易出現(xiàn)缺失情況,如圖1A所示。為了進(jìn)行定量指標(biāo)驗證,本研究使用一些完整的植物CAD模型,通過虛擬掃描技術(shù)獲取其三維點云,去除莖干連接處部分點云后進(jìn)行模擬,如圖1B所示。
1.2.1 確定缺失部位連接點
不同植物經(jīng)過掃描后其缺失的點云部分不盡相同,因此需要先定位出缺失的點云部分。對于輸入的植物點云,首先對其坐標(biāo)進(jìn)行歸一化,即將點云坐標(biāo)映射到(-1,1)區(qū)間內(nèi)。然后使用K近鄰算法得到點云中每個點的最近鄰點,計算兩點間的距離,最終可由所有點與其最近鄰點間距離的平均值,得到點云密度。點云密度計算公式:
(1)
其中:Dplant表示點云密度,Cplant為點云集合,‖·‖2表示任意兩點間歐氏距離,NCplant表示點云集合中點的數(shù)量。得到點云密度后,可根據(jù)點云密度判斷點云中任意兩點間的距離并對點云進(jìn)行聚類,聚類標(biāo)準(zhǔn)為:
(2)
δ=σ·Dplant。
(3)
其中:dP,Q為P、Q兩點間距離,δ表示用于聚類分類的距離標(biāo)準(zhǔn),σ表示閾值(默認(rèn)為3.0)。若dP,Q≤δ,則P、Q兩點屬于同一簇;若dP,Q>δ,則P、Q兩點不屬于同一簇。
使用概率圖模型確定每個點云簇間的拓?fù)溥B接情況,同時確定每個點云簇的連接點。將每個點云簇都視為一個圖結(jié)構(gòu)中的節(jié)點,每兩個節(jié)點之間邊的權(quán)重定義為:
(4)
其中:C1、C2是兩個點云簇,WC1,C2為兩個節(jié)點間邊的權(quán)重,P1是集合C1中的點,P2是集合C2中的點,NC1、NC2分別是集合C1、C2中點的數(shù)量。
如果兩節(jié)點間邊的權(quán)重越小,那么這兩個節(jié)點越有可能相連接;反之,如果兩節(jié)點間邊的權(quán)重越大,那么這兩個節(jié)點越不可能相連接。通常而言,每兩個節(jié)點間邊權(quán)重的定義應(yīng)當(dāng)僅與這兩個節(jié)點對應(yīng)的點云簇中點的最近距離有關(guān)[17],即:
(5)
然而植物的葉片、花朵等部位不一定與莖干距離最近,存在葉片與葉片距離最近或葉片與花朵距離最近等情況,故本研究采取最近距離與點的數(shù)量相結(jié)合的權(quán)重定義方式。在概率圖模型中使用Prim算法構(gòu)建最小生成樹,使得生成的樹形結(jié)構(gòu)邊的權(quán)重和最小,即得到概率圖中最大概率的拓?fù)溥B接情況。
構(gòu)建最小生成樹后,可依據(jù)最小生成樹中節(jié)點的度判定莖干點云。Huang等[15]對點云使用基于L1中值的局部迭代方法,可得到鄰域內(nèi)點的局部中心,并逐漸擴大鄰域范圍,最終獲得點云大致的骨架。然而該方法中需要調(diào)節(jié)的參數(shù)較多,整體流程上不夠魯棒,故本研究僅對莖干點云使用L1中值局部迭代方法提取莖干部分的骨架。對于提取出的莖干骨架點集,整體連線近似于莖干的軸線,點集中的每個點則近似于莖干的中心點,為后續(xù)確定莖干上的連接點及使用Bezier曲線對缺失部分進(jìn)行擬合等步驟奠定基礎(chǔ)。使用該方法提取得到的莖干點云的骨架點集如圖2所示。
由于點云具有無序性,對后續(xù)步驟的實施造成影響,因此需要對莖干骨架點集進(jìn)行排序。本研究提出一種基于最近鄰點距離的搜索算法,首先迭代最近鄰點判斷輸入點集的端點,進(jìn)而從端點出發(fā)尋找當(dāng)前點的最近鄰點即可對莖干骨架點集進(jìn)行排序,且能滿足旋轉(zhuǎn)不變性。該算法具有較高的魯棒性,能夠應(yīng)對不同順序、不同稀疏程度的骨架點集。通過該算法尋找點集端點并對點集進(jìn)行排序的流程圖如圖3所示。
對任意輸入點集隨機選取其中一點尋找點集端點的過程如圖4B所示,圖中點顏色的漸變(從紅色到白色)為搜索算法尋找過程,最終對點集排序的結(jié)果如圖4C所示,圖中顏色的漸變?yōu)辄c排序順序的結(jié)果。
本研究需要對葉片點云及莖干點云間缺失的部分進(jìn)行補全,找到葉片點云及莖干點云中的連接點。莖干的擬合及連接應(yīng)當(dāng)從莖干中心出發(fā),即莖干部分的連接點應(yīng)當(dāng)在莖干骨架點集上。本研究利用葉片點云重心與葉片連接點的連線同莖干軸線的交點作為連接點。對于植物葉片而言,讓連接莖干指向葉片重心在現(xiàn)實中能起到對葉片的支撐作用,因此按該方法定義的莖干骨架連接點在物理層面更具有實際意義。對葉片點云重心的求取是計算葉片點云中所有點坐標(biāo)的平均值。
但實際上三維空間中兩條直線不一定存在交點,因此對于葉片重心P與葉片連接點Q的連線PQ與莖干軸線不一定存在交點。故在實際算法執(zhí)行中要遍歷莖干骨架點集,尋找點集中距離連線PQ最近的點R,則點R為莖干骨架點集連接點。本研究使用海倫公式計算三維空間中點到直線的距離(d):
(6)
(7)
(8)
式中,p為半周長。對莖干骨架點集中的每個點R,計算其到連線PQ的距離d,在莖干骨架點集中到連線距離最小的點即為莖干骨架點集連接點。
1.2.2 確定待擬合點的點集
確定缺失部位連接點后可得到莖干骨架連接點,但仍需確定莖干骨架點集上參與擬合的待擬合點。根據(jù)植物的生長特征,莖干是由底部向上生長,因此需在莖干連接點下方的點中選取待擬合點。對于已經(jīng)過排序的莖干骨架點集,仍無法確定其順序的方向,在保證旋轉(zhuǎn)不變性的前提下,仍需對莖干骨架的排序順序進(jìn)行調(diào)整,確保其在莖干軸線上從下到上排序的順序。通常對于植物的形態(tài)而言,植物的上半部分存在葉片、花朵等部位較為豐富而下半部分僅存在莖干較為稀疏的現(xiàn)象,因此可通過植物點云中點的密集程度來判斷植物在形態(tài)意義上的上下位置關(guān)系。
為了近似將植物點云從中線劃分成上下兩個部分,取莖干骨架點集的中點,及當(dāng)前點集順序下一點,以這兩點連線的方向向量(指向莖干骨架點集的中點)表示莖干軸線方向向量,過莖干骨架點集的中點作莖干的橫截面,以該截面為界分為兩個部分的點集,如圖5所示。通過兩部分點集內(nèi)點的數(shù)量來確定上半部分點集與下半部分點集,若上半部分點集內(nèi)的點與莖干的中點連線的方向向量(指向莖干骨架點集的中點)與莖干軸線方向向量相同,則表明當(dāng)前莖干軸線方向與植物形態(tài)方向相同;反之若兩向量方向相反,則表明當(dāng)前莖干軸線方向與植物形態(tài)方向相反,則需將莖干骨架點集順序反轉(zhuǎn),從而將莖干骨架點集的方向與植物形態(tài)意義上的方向調(diào)整一致。
本研究使用球鄰域搜索選取待擬合點,保證擬合時莖干骨架上參與擬合的點與缺失部分需要擬合生成的點所占比例的權(quán)重近似相等。以莖干骨架點集連接點為球心,以該點與葉片點云連接點間的距離為半徑,該球范圍內(nèi)在莖干骨架點集中的點都將參與擬合。通過這種方法對缺失部分?jǐn)M合得到的莖干半徑與莖干軸線將更為平滑,具有較強的真實感。
接著,需要確定缺失部分待擬合點,即葉片點云與莖干骨架間的待擬合點。為保證擬合效果更為平滑,葉片點云連接點到莖干骨架點集連接點的距離與莖干骨架點集連接點到上述選擇的待擬合點點集中最下方點的距離應(yīng)相當(dāng)。故依據(jù)莖干骨架點集上的待擬合點的數(shù)量,在葉片點云連接點與莖干骨架點集連接點的連線段上均勻取點,這些點將作為缺失部分的待擬合點參與莖干半徑的擬合。
1.3.1 擬合缺失莖干半徑
缺失莖干往往在現(xiàn)實植物中較細(xì),在掃描結(jié)果中是需要補全的部分。對于該部分莖干,靠近葉片處莖的半徑應(yīng)當(dāng)較小、較貼合葉片的厚度,靠近主軸莖干部分莖半徑應(yīng)當(dāng)較大并且較貼合主軸莖干的粗細(xì)。首先定義葉片點云連接處莖干半徑,從植物主軸莖干連向葉片部分莖干的粗細(xì)應(yīng)當(dāng)是逐漸減小的,對于該部分半徑的擬合應(yīng)由主軸莖干上的半徑(即莖干骨架點集對應(yīng)橫截面擬合圓的半徑)與葉片點云連接處半徑共同決定。
對于主軸莖干上的半徑,要得到莖干橫截面上近似的輪廓線,而輪廓線則是由莖干點云在莖干橫截面上投影得到的一系列點。在植物原始點云中,以莖干骨架點集中每個點為中心,使用K近鄰(默認(rèn)K為30,即周圍30個點參與擬合)算法計算得到與之相距最近的K個點。以莖干骨架點集中的點P0(x0,y0,z0)及在該點處的方向向量n0(a0,b0,c0)為橫截面的法向量,由三維空間平面點法式得到該橫截面S的方程為:
a0(x-x0)+b0(y-y0)+c0(z-z0)=0。
(9)
由K近鄰算法得到的每個點Pk(xk,yk,zk),過該點且垂直于橫截面直線的方向向量即為橫截面法向量n0,故該直線L的方程為:
(10)
由式(9)與式(10)可得K近鄰點集中每個點在莖干橫截面上的投影點P′k的坐標(biāo)為:
(11)
由式(11)可以看出,對于投影點P′k(x′k,y′k,z′k)的坐標(biāo)公式具有相似性,且該公式對于三維空間內(nèi)任意一點同樣適用,因此對于點在莖干橫截面上投影的求取算法具有旋轉(zhuǎn)不變性的特征。
根據(jù)植物的特征,植物的莖干在局部范圍內(nèi)大多呈圓柱體狀,因此以莖干軸線作莖的橫截面,截得植物莖干點云形成的輪廓線近似可看作圓,故需要在橫截面內(nèi)以上述K近鄰點的投影點擬合圓。在三維空間內(nèi)對圓的擬合,需滿足待擬合點點集中所有點在同一平面內(nèi),先擬合球體,再聯(lián)合球與平面的方程得到三維空間內(nèi)圓的方程。使用最小二乘法對點擬合三維空間內(nèi)球體:
(12)
其中:Pb(xb,yb,zb)為擬合球體的球心,Q為點P在K近鄰范圍內(nèi)點集中的點,rb為擬合球體的半徑。由式(11)可得點Pb在莖干橫截面上的投影點P′(x′0,y′0,z′0),該點將作為迭代更新優(yōu)化后新的莖干骨架點集中的點,由此可計算擬合球體與莖干橫截面所在平面相交圓,即莖干在點P處擬合圓的半徑rP:
(13)
式中,h為擬合球心到莖干橫截面的距離。
根據(jù)最小二乘法擬合得到的圓如圖6所示。
對于葉片點云連接處莖干的直徑,應(yīng)當(dāng)近似為葉片點云的厚度。由于點云的無序性且葉片存在彎折情況,因此無法根據(jù)葉片點云的邊界來判定葉片的厚度??紤]到葉片點云與葉片點云連接處周圍莖干部分點云的密度應(yīng)當(dāng)近似,即兩部分在連接處應(yīng)當(dāng)分布均勻且較為平滑,故求取葉片點云中所有點K近鄰(經(jīng)過實驗分析設(shè)定K為3)范圍內(nèi)點間距離平均值的平均值,此距離長度則近似為葉片點云連接處莖干的直徑。葉片點云連接處莖干的半徑(rleaf)為:
(14)
其中:Cleaf為葉片點云,P為葉片點云中的點,CKNN(P,K)為點P在葉片點云中K近鄰范圍內(nèi)的點集,Q為該點集中的點,NCleaf為葉片點云中點的數(shù)量。
由于莖干缺失部分的半徑應(yīng)當(dāng)是逐漸減小的,對于缺失部分的起始部位,即靠近主軸莖干部分的莖干半徑應(yīng)當(dāng)貼合于主軸莖干半徑;對于缺失部分的終止部位,即靠近葉片點云連接處部分的莖干半徑應(yīng)當(dāng)貼合于葉片厚度。故對于待擬合半徑集合:
R={rt|rt∈Rstem,t∈[0,t0]}∩{rt|rt=rleaf,t=1};
(15)
(16)
其中:Rstem為莖干骨架點集中待擬合點對應(yīng)的莖干半徑集合,即Rstem={rP|P∈Cstem_fit};t為Bezier曲線的參數(shù),t0為莖干骨架點集中最后一個待擬合點對應(yīng)的Bezier曲線參數(shù),NCstem_fit為莖干骨架上待擬合點點集的數(shù)量,NCleaf_fit為缺失部分待擬合點點集的數(shù)量。
進(jìn)而對待擬合半徑集合R與Bezier曲線參數(shù)t使用最小二乘法擬合二次曲線R′(t),根據(jù)待生成點集中點的數(shù)量計算出待生成的Bezier曲線參數(shù)t′,從而計算出待補全部分的莖干半徑集合R′。
1.3.2 擬合密度均勻的缺失莖干
參與Bezier曲線擬合的控制點數(shù)越多,即Bezier曲線的次數(shù)越高,擬合生成的曲線段越貼近控制點,且在空間內(nèi)彎折較多。若將待擬合點點集中所有點均作為控制點參與擬合,得到的缺失部分莖干軸線將過于彎曲,真實感欠佳,如圖7A所示。因此,將擬合二次Bezier曲線作為缺失部分莖干的軸線,該曲線為拋物線,得到的擬合軸線將更為平滑,真實感較強。二次Bezier曲線的3個控制點分別為葉片點云連接點、莖干骨架點集連接點和莖干骨架點集中最下方點。由Bezier曲線鎖定端點控制點性質(zhì),Bezier曲線擬合生成的曲線段必過葉片點云連接點,故莖干在缺失部分與葉片部分的銜接較完整且平滑。最終使用二次Bezier曲線擬合生成的缺失部分莖干軸線段如圖7B所示。
由二次Bezier曲線擬合生成的曲線段作為缺失部分莖干的軸線,以曲線上的點作關(guān)于該曲線的切線為法向量,在三維空間中做一系列圓,在圓周上均勻取點,所有點構(gòu)成的點集即為補全缺失部分莖干所生成的點集。在三維空間直角坐標(biāo)系中圓的參數(shù)方程為:
(17)
其中:圓心為C(x0,y0,z0),圓的半徑為r,向量n1=(a,b1,c1)與向量n2=(a2,b2,c2)為圓面上的兩個單位向量,θ為參數(shù),指圓上某點所對應(yīng)的弧度。
二次Bezier曲線方程為:
B(t)=(1-t)2P0+2t(1-t)P1+t2P2。
(18)
其導(dǎo)數(shù)為:
B′(t)=-2(1-t)P0+2(1-2t)P1+2tP2。
(19)
擬合缺失部分莖干的生成點集的密度應(yīng)當(dāng)與植物點云密度近似,因此需根據(jù)點云密度確定生成點集中點的密度。生成點集的密度由兩部分組成:
1)Bezier曲線擬合生成曲線段中點的數(shù)量。計算生成曲線段中點的間隔(d=1/N),其將影響生成點集中點在莖干軸線上的橫向距離。由植物點云密度可得植物點云中最近鄰點的平均距離,而此距離應(yīng)當(dāng)與曲線段中點的間隔相同。由式(19)可得B′(t):
t∈[0,1]。
(20)
其中曲線段的長度為:
t∈[0,1]。
(21)
因此,曲線段中點的間隔為:
(22)
由此即可確定Bezier曲線擬合時參數(shù)t′的集合,進(jìn)而確定生成點集中莖干軸線上點的間隔。
2)圓參數(shù)方程得到圓周上點的數(shù)量。圓周上點的數(shù)量將影響生成點集中在莖干軸線上的縱向間隔,根據(jù)點云密度確定圓周上點間距離:
(23)
基于上述點間距離可確定生成點集密度,使生成的缺失部分莖干點云能夠與原始植物點云相匹配。
本研究采用的方法僅需補全缺失部分點集,而使用Bezier曲線擬合得到的曲線段中既包含缺失部分曲線段也包含莖干內(nèi)部曲線段,因此使用上述方法生成的部分圓周上的點會與原始植物點云中莖干部分的點重合,甚至存在于莖干點云內(nèi)部,故需刪除莖干點云上或其內(nèi)部的生成點。
通過判斷生成點集中每個點到莖干的距離,若該距離小于該處莖干半徑則將該點刪除;反之,則保留。對于求取某個生成點P到莖干的距離,需先得到莖干骨架點集中到點P距離最近的點Q,及莖干骨架點集中下一點R。根據(jù)海倫公式求得點P到莖干線段QR的距離d。
遍歷所有生成點集,若d≤Rstem(P)則將當(dāng)前點從生成點集中刪去。
在輸入植物點云并經(jīng)過預(yù)處理后,對點云進(jìn)行聚類,確定點云在植物中所屬的不同部位。對不同點云的分類結(jié)果如圖9所示,其中σ表示閾值,用來調(diào)節(jié)點云聚類的精密程度。σ越小說明兩點間的距離較小才能屬于同一簇;反之,σ越大說明兩點間距離較大也能屬于同一簇。本研究設(shè)定σ的默認(rèn)值為3.0。
隨后使用最小生成樹判斷點云間的拓?fù)溥B接情況,僅基于最近距離和將最近距離與點的數(shù)量相結(jié)合的結(jié)果如圖10所示。
將葉片點云與莖干點云進(jìn)行連接,需要先找到相連的葉片點云及莖干點云中的連接點。依據(jù)植物的生長特性,葉片往往是以距離莖干最近的部位與莖干相連接。因此,對于葉片點云連接點而言,該連接點應(yīng)當(dāng)是當(dāng)前集合中與相連集合中所有點的最小距離中最小的點。
在得到葉片部位的連接點后,根據(jù)本文所述方法確定的莖干骨架點集連接點及其對應(yīng)的最終補全后的莖干效果如圖11所示。
待擬合點點集由莖干骨架上的待擬合點及缺失部分的待擬合點構(gòu)成。兩部分待擬合點如圖12所示,其中:紅點表示缺失部分待擬合點與莖干骨架上待擬合點,這些點都將參與缺失部分莖干半徑的擬合;黃點表示葉片點云連接點、莖干骨架點集連接點和莖干骨架上待擬合點中最下方點,這些點將作為Bezier曲線擬合的控制點參與缺失部分莖干軸線的擬合。
獲得待擬合點點集后,通過Bezier曲線對該點集進(jìn)行擬合,并基于曲線方程用在其切線方向上作圓擬合缺失部分莖干點云。根據(jù)本研究所述方法,對擬合的生成點集的密度進(jìn)行調(diào)整,結(jié)果如圖13所示。
最后,刪去原始莖干點云上或其內(nèi)部的生成點,結(jié)果如圖14所示。
2.4.1 補全效果分析
為了能對實驗結(jié)果進(jìn)行可視化比較和定量指標(biāo)驗證,使用一些完整的植物CAD模型,去除其莖干連接處部分點云后進(jìn)行模擬,得到的實驗結(jié)果如圖15所示。其中圖15A為輸入的莖干與葉片連接處缺失的待補全點云,圖15B為通過本文方法擬合的結(jié)果,圖15C為用于參照的真實值點云。
對于補全后的缺失部分莖干,半徑由莖干至葉片銜接平滑,補全的點云與原始點云密度分布均勻,且補全的莖干整體上彎曲自然,具有一定的物理意義與美觀效用。缺失部分補全的莖干與原始點云渾然一體,具有較強的真實感。
2.4.2 定量指標(biāo)分析
采用倒角距離和均方誤差兩種定量指標(biāo)對實驗結(jié)果進(jìn)行分析。
倒角距離(chamfer distance,CD)用來評估兩個點集S1和S2之間距離(其中S1表示點云真實值數(shù)據(jù),S2表示本實驗的結(jié)果)。eCD表示倒角距離誤差,具體評價公式如下:
(24)
式中:|S1|、|S2|分別表示S1、S2點集中元素的數(shù)量。采用均方誤差(mean square error,MSE,式中記為eMSE)來評估實驗結(jié)果,公式如下:
(25)
式中,CNN(x)表示S1中的點x在S2中的最近鄰點點集,在此使用K=10的最近鄰搜索,即|CNN(x)|=10。
在兩種評價指標(biāo)中,本實驗的結(jié)果都取得了較好的結(jié)果,如表1所示(數(shù)值越低表示誤差越小)。
表1 實驗結(jié)果誤差分析表
2.4.3 魯棒性分析
本研究方法適用于大多數(shù)存在莖干與葉片斷連情況的植物點云,提出的算法具有旋轉(zhuǎn)不變性,具有較高的魯棒性。
為了驗證該方法的魯棒性,對輸入點云進(jìn)行隨機角度的旋轉(zhuǎn),實驗結(jié)果如圖16所示,發(fā)現(xiàn)對于旋轉(zhuǎn)過后的點云進(jìn)行補全仍能達(dá)到預(yù)期效果。
本研究以莖葉體植物為研究對象,通過三維掃描設(shè)備得到植物點云數(shù)據(jù)。首先基于點云密度使用并查集對點云進(jìn)行聚類,通過概率圖模型計算點云簇間邊的權(quán)重,使用最小生成樹確定點云的拓?fù)溥B接情況;然后對于已聚類的點云簇,針對莖干部分點云使用基于L1中值的局部迭代方法提取其骨架,提出一種基于最近鄰點距離的搜索算法對莖干骨架點集進(jìn)行排序,進(jìn)而根據(jù)球鄰域搜索確定待擬合點集;最后使用最小二乘法擬合莖干半徑,基于Bezier缺陷擬合缺失部分莖干軸線,以莖干切線方向使用三維參數(shù)方程生成補全點集,對點云進(jìn)行補全,為后續(xù)的三維建模提供數(shù)據(jù)基礎(chǔ)和技術(shù)支撐?;贚1中值骨架提取的對植物莖干缺失部分進(jìn)行擬合補全的方法,具有旋轉(zhuǎn)不變性及較高的魯棒性。實驗結(jié)果在保證莖干骨架點集提取的真實性及莖干半徑計算的準(zhǔn)確性的前提下,完成了對缺失部位的補全,并基于點云密度對生成點的點集進(jìn)行調(diào)整,使得補全莖干與植物整體連接恰當(dāng),渾然一體,可為后續(xù)植物的三維重建與植物的可視化奠定基礎(chǔ)。
在補全植物點云的過程中,提取植物的骨架是關(guān)鍵步驟之一。由于植物的復(fù)雜性和點云掃描的不完整性,直接使用L1中值局部迭代方法提取的植物骨架會出現(xiàn)骨架不完整、偏移過大等問題。筆者先基于點云密度對點云聚類,得到植物葉片、植物莖干等點云簇,然后僅提取植物莖干點云骨架。但對植物完整骨架的提取仍是一個亟待研究的問題,提取植物點云的骨架將會是對植物點云重建、植物點云分類分割等工作的基礎(chǔ),也是植物可視化領(lǐng)域研究的重難點之一。
深度學(xué)習(xí)相關(guān)方法具有較高的魯棒性及泛化能力,但多數(shù)方法是數(shù)據(jù)驅(qū)動的,需要大量的相關(guān)數(shù)據(jù)進(jìn)行訓(xùn)練。通過本研究提出的方法可簡單、直接地獲得完整且效果良好的植物點云模型,進(jìn)而構(gòu)建植物模型數(shù)據(jù)集。進(jìn)一步可考慮在植物模型數(shù)據(jù)集中,使用深度學(xué)習(xí)相關(guān)方法進(jìn)行訓(xùn)練,對點云的分類及點云間拓?fù)溥B接情況的判斷。如可使用PointNet等深度學(xué)習(xí)網(wǎng)絡(luò),直接對點云進(jìn)行語義分割,將點云進(jìn)行分類的同時判斷該部分點云的種類,同時基于分割的點云種類及點云的空間集合結(jié)構(gòu)可推導(dǎo)出點云間的拓?fù)滏溄忧闆r,此類方法將具有更高的魯棒性。
此外,由于植物本身結(jié)構(gòu)較為復(fù)雜,且現(xiàn)實生活中的植物種類繁多,筆者僅針對莖葉體植物完成對其葉片和莖干連接處的補全,在今后將考慮實現(xiàn)對更多類型植物點云的補全工作,增加本算法的泛化能力,實現(xiàn)對多樣性植物點云的處理及建模,從而促進(jìn)林業(yè)信息化的發(fā)展。