張玥焜,余文杰,趙習(xí)之,呂艷星,馮偉桓,李崢嶸,胡少軍
(1.西北農(nóng)林科技大學(xué)信息工程學(xué)院,陜西 楊凌 712100;2.北京星閃世圖科技有限公司,北京 100085)
樹木建模在計(jì)算機(jī)圖形學(xué)、虛擬現(xiàn)實(shí)、農(nóng)林業(yè)等領(lǐng)域具有廣泛地研究與應(yīng)用價值。一方面,通過樹木建模獲取其生物量、葉面積指數(shù)和產(chǎn)量等表型參數(shù),有助于掌握森林資源信息,并進(jìn)行高效管理與決策;另一方面,計(jì)算機(jī)生成的真實(shí)感樹木模型可增加虛擬現(xiàn)實(shí)場景的沉浸感,可直觀向非專業(yè)人員展示農(nóng)林業(yè)復(fù)雜模型,并為機(jī)器人噴藥等提供重要的空間信息。
樹木建模經(jīng)過近50 年的研究,目前已形成基于點(diǎn)云[1-6]、圖像[7-14]、規(guī)則或過程[15-19]及基于草圖的方法[20-23],其中最新的文獻(xiàn)為楊垠暉和王銳[24]的“樹木的真實(shí)感建模與繪制綜述”。最近,國內(nèi)學(xué)者在該領(lǐng)域的研究非?;钴S,WANG 等[25]采用變分優(yōu)化方法生成了真實(shí)感強(qiáng)的樹模型;WANG 等[26]提出的基于插值混合模型可從2 棵給定模型中構(gòu)建新的樹模型;WANG 等[27]利用樹形空間的統(tǒng)計(jì)建模方法,降低了樹木建模復(fù)雜度,隨后WANG 等[28]又提出了一種更加完善和精確的樹木建模方法,即通過樹形空間對樹木模型進(jìn)行統(tǒng)計(jì)分析,實(shí)現(xiàn)了從少量樹木生成多棵樹木的目的;張曉鵬團(tuán)隊(duì)研究了基于樹的可見點(diǎn)云合成非可見點(diǎn)云數(shù)據(jù)并生成三維模型的新方法[6],進(jìn)一步提出在多視圖像生成稠密樹點(diǎn)云后采用基于過程的方法構(gòu)建真實(shí)感植物模型的新方法[29]。
早期樹木的建模主要采用基于規(guī)則的方法,如文獻(xiàn)[15]開發(fā)的L 系統(tǒng),隨著激光雷達(dá)掃描技術(shù)的蓬勃發(fā)展,最近基于點(diǎn)云的建模方法成為了新的研究熱點(diǎn)。文獻(xiàn)[17]采用空間殖民算法從目標(biāo)樹冠體中隨機(jī)分布的點(diǎn)中構(gòu)建了真實(shí)感強(qiáng)的樹結(jié)構(gòu)模型。文獻(xiàn)[19]和文獻(xiàn)[23]拓展了文獻(xiàn)[17]的方法,提出了更加高效的方法用以生成三維樹模型。由于空間殖民算法提取的骨架點(diǎn)不是從原始點(diǎn)云中進(jìn)行選擇,難以保留樹的分枝細(xì)節(jié)。文獻(xiàn)[12]根據(jù)圖像序列重建樹點(diǎn)云,并通過復(fù)制可見分枝來生成被遮擋部分的分枝。文獻(xiàn)[1]基于地面激光掃描點(diǎn)云生成樹的分枝結(jié)構(gòu),首先利用最短路徑方法構(gòu)建子圖,通過連接相鄰簇質(zhì)心的方式提取樹的骨架結(jié)構(gòu),最后對點(diǎn)云缺失部分的分枝進(jìn)行骨架合成。文獻(xiàn)[2]提出了針對多棵樹點(diǎn)云的自動全局優(yōu)化算法,與文獻(xiàn)[1]的算法相比,重建時間由分鐘縮短至秒。隨后,文獻(xiàn)[3]又提出了一種新的基于葉簇的樹模型生成方法。
上述基于點(diǎn)云的建模方法要求點(diǎn)云中樹枝骨架清晰,因此大部分研究采用地面激光雷達(dá)獲取的高密度樹點(diǎn)云,其方法采集到的樹點(diǎn)云密度低,難以有效實(shí)現(xiàn)重建。文獻(xiàn)[4]提出了一種基于雙約束的貪婪算法實(shí)現(xiàn)了稀疏激光雷達(dá)樹點(diǎn)云的自動幾何重建,但該方法建模魯棒性較差,難以解決殘缺樹點(diǎn)云的建模問題。
在樹木點(diǎn)云分割方面,可采用基于區(qū)域增長、基于分水嶺、基于最小生成樹和基于規(guī)范的分割方法實(shí)現(xiàn)[30]。文獻(xiàn)[2]將三維點(diǎn)云投影到地面上,并將高密度點(diǎn)識別為根節(jié)點(diǎn),然后利用Dijkstra 最短路徑算法求解生成樹,最后用零權(quán)值去除根邊實(shí)現(xiàn)了單棵樹的分割,但基于最小生成樹的方法不適于樹間距小且點(diǎn)云稀疏情況下的單木分割。文獻(xiàn)[4]針對稀疏機(jī)載激光雷達(dá)(airborne lidar scanning,ALS)樹點(diǎn)云,提出了一種基于規(guī)范分割的方法自動實(shí)現(xiàn)了大規(guī)模稀疏樹點(diǎn)云的分割。但上述2 種自動分割方法難以避免過分割現(xiàn)象,無法滿足小規(guī)模樹點(diǎn)云局部分割和深度學(xué)習(xí)標(biāo)注過程中對單棵樹點(diǎn)云分割精度的要求。
本文主要針對ALS 采集的低密度樹點(diǎn)云,面向單棵樹點(diǎn)云的較高精度分割與魯棒性建模應(yīng)用領(lǐng)域,提出一種交互式分割和建模新方法,避免自動化分割和建??赡茉斐傻倪^分割及缺失點(diǎn)云建模失敗等問題。首先,基于高度圖的交互式分割方法,分層從一片稀疏點(diǎn)云中提取出單棵樹點(diǎn)云,然后基于改進(jìn)的空間殖民算法,通過交互式調(diào)節(jié)相關(guān)建模參數(shù)實(shí)現(xiàn)單棵樹的建模,使得原始點(diǎn)云細(xì)節(jié)特征得以保留,最終獲得忠實(shí)于原始點(diǎn)云的樹模型。
ALS 樹點(diǎn)云采用無人機(jī)Swiss Drones’ Dragon (載重35 kg,最大飛行高度2 000 m,滿載續(xù)航時間1 h)搭載激光雷達(dá)掃描設(shè)備Riegl Vux-Sys (激光脈沖頻率最高550 kHz,掃描速度10~200 line/s,位置精度0.05~0.30 m)獲取,采集的樹點(diǎn)云密度為40~50 點(diǎn)/m2。為便于后期交互式分割處理,首先采用lastools (https://lastools.github.io)進(jìn)行地面點(diǎn)云和樹木點(diǎn)云的提取。如圖1(a)所示,ALS 系統(tǒng)具有一次性掃描大規(guī)模點(diǎn)云的優(yōu)勢,但采集的樹點(diǎn)云內(nèi)部出現(xiàn)枝干稀疏或缺失等現(xiàn)象(圖1(b)),從而影響后期分割與重建。
圖1 機(jī)載激光雷達(dá)掃描系統(tǒng)獲取的樹點(diǎn)云((a)掃描系統(tǒng)獲取的山脈樹點(diǎn)云片斷;(b)分割出的單棵樹點(diǎn)云) Fig.1 Tree point clouds acquired by ALS system ((a) A slice of mountain point clouds with thousands of trees scanned by ALS system; (b) Segmented single tree point cloud)
由于ALS 樹點(diǎn)云具有密度低、枝葉交叉錯綜復(fù)雜等問題,采用自動分割方法會造成過分割,難以滿足未來基于深度學(xué)習(xí)樹點(diǎn)云分割研究中對人工標(biāo)注方面的精度需求。因此,本文提出一種交互式分割方法,可利用高度圖和點(diǎn)云切片技術(shù),通過交互式調(diào)整每個切片生成精度較高的單棵樹點(diǎn)云。主要包括生成高度圖、交互式粗選單棵樹區(qū)域和交互式精細(xì)調(diào)整切片凸包3 個步驟。
ALS 系統(tǒng)采集的樹點(diǎn)云中樹冠部分較多,而一般樹冠形狀呈現(xiàn)樹干中心位置高、周圍低且從中心到四周高度呈遞減趨勢,基于這一特點(diǎn),可將點(diǎn)云的最高位置投影到地平面上,顏色用對應(yīng)高度值表示形成高度圖,從而便于分辨出單棵樹點(diǎn)云。
圖2 選取一片ALS 樹林點(diǎn)云,點(diǎn)云中任意一點(diǎn)的位置和地面高度分別記為Pi=(Pix,Piy,Piz)和Gi(i=1,2,…,n),Pmin和Pmax分別為點(diǎn)云包圍盒最小和最大位置點(diǎn),Gmin和Gmax分別為所有樹木點(diǎn)云相對地面的高度最小值和最大值,Δs為分辨率,將點(diǎn)云離散化投影的二維高度圖長寬分別為W=(Pmax…x-Pmin…x)/Δs和H=(Pmax…z-Pmin…z)/Δs,則對應(yīng)高度圖生成算法為:
圖2 基于機(jī)載雷達(dá)點(diǎn)云樹點(diǎn)云生成的點(diǎn)云高度圖 Fig.2 Height map generated from ALS tree point clouds
根據(jù)算法1 生成的高度圖(圖2),可清晰發(fā)現(xiàn)每棵樹的大致中心位置和覆蓋區(qū)域,為下一步進(jìn)行單棵樹的粗選提供了依據(jù)。
在生成的高度圖中可直觀發(fā)現(xiàn)單棵樹的大致區(qū)域,基于本文開發(fā)的交互式分割系統(tǒng),鼠標(biāo)單擊高度圖區(qū)域選擇樹冠中心(a,b),然后在樹的邊緣位置再次單擊鼠標(biāo)可確定樹冠的大致區(qū)域半徑r,對應(yīng)到三維空間系統(tǒng)將聯(lián)動生成一個圓柱形區(qū)域,其中圓柱上下底中心位置為(aΔs+Pmax…x,Pmax…y,bΔs+Pmax…z)和(aΔs+Pmin…x,Pmin…y,bΔs+Pmin…z),圓柱半徑為rΔs。計(jì)算落入圓柱體內(nèi)的點(diǎn)并記為分別為圓柱體內(nèi)點(diǎn)云包圍盒最小和最大坐標(biāo)值點(diǎn)。設(shè)定Δh為高度方向切片分辨率,可將落入圓柱體內(nèi)的點(diǎn)分為個切片,落入第i個切片的點(diǎn)Qi(i=1,2,…,N)對應(yīng)高度范圍為針對切片i內(nèi)的點(diǎn)Qi,采用單調(diào)鏈凸包算法求得對應(yīng)凸包,步驟如下:
(1) 將給定Qi按x坐標(biāo)升序排序,若x坐標(biāo)值相同則按y坐標(biāo)升序排序;
(2) 創(chuàng)建凸包上部。將排序后的點(diǎn)按照x坐標(biāo)從小到大加入凸包S,若新加入點(diǎn)使得S不再是凸多邊形,則逆序刪除之前加入S的點(diǎn),直到S重新成為凸多邊形為止;
(3) 創(chuàng)建凸包下部。將排序后的點(diǎn)按照x坐標(biāo)從大到小加入凸包V,若新加入點(diǎn)使得V不再是凸多邊形,則逆序刪除之前加入V的點(diǎn),直到V重新成為凸多邊形為止;
(4) 合并集合S=S∪V形成最終Qi對應(yīng)凸包。
圖3 右上角藍(lán)色線段形成區(qū)域即為切片i中的點(diǎn)形成的凸包,觀察可見,粗選點(diǎn)云分割精度低,出現(xiàn)了不相關(guān)2 簇點(diǎn)云被分到同一切片的問題。
圖3 根據(jù)高度圖交互式粗選單棵樹點(diǎn)云柱形區(qū)域生成對應(yīng)點(diǎn)云切片與凸包 Fig.3 Corresponding 2D convex envelope and slice of a point cloud generated from a rough single tree point cloud in a cylinder space chosen from a height map
為解決圖3 中點(diǎn)云切片誤分割問題,針對凸包,系統(tǒng)增加了鼠標(biāo)交互式調(diào)整或刪除凸包多邊形頂點(diǎn)的操作,并動態(tài)判斷哪些點(diǎn)落入了新多邊形區(qū)域。設(shè)定多邊形頂點(diǎn)為Si(i=1,2,…,N),判斷點(diǎn)p是否在多邊形內(nèi)部,見算法2。
在調(diào)整凸包頂點(diǎn)的過程中,需動態(tài)判斷Qi中所有點(diǎn)是否在新的多邊形內(nèi),如圖4 所示,若在多邊形內(nèi)部,則全部選定為當(dāng)前單棵樹切片中的點(diǎn)云,至上而下依次調(diào)整所有切片如圖5(a)所示,并依次連接相鄰切片形成如圖5(b)所示的三維包絡(luò),導(dǎo)出其點(diǎn)云即形成分割后的單棵樹點(diǎn)云。
圖4 交互式調(diào)整切片凸包確定單棵樹點(diǎn)云區(qū)域 Fig.4 Refine single tree point cloud in a selected slice
圖5 連接各層調(diào)整后的切片點(diǎn)云形成單棵樹點(diǎn)云包絡(luò) ((a)調(diào)整好的所有點(diǎn)云切片多邊形區(qū)域覆蓋的點(diǎn)即為目標(biāo)點(diǎn);(b)對應(yīng)切片生成的三維包絡(luò)) Fig.5 Generate 3D hull of a single tree point cloud by connecting adjusted slices ((a) Slices of a tree point cloud; (b) 3D hull generated from the slices)
由于ALS 樹點(diǎn)云密度低、枝干結(jié)構(gòu)不清晰且常在樹干部分存在缺失信息,傳統(tǒng)的用于高密度樹點(diǎn)云的重建算法不能直接用于稀疏ALS 樹點(diǎn)云的魯棒重建,空間殖民算法具有算法簡單、魯棒性好的優(yōu)點(diǎn)[17],后面經(jīng)過改進(jìn)已成功在基于草圖的建模中得到有效應(yīng)用[19,23],因此本文采用該算法用于生成樹枝骨架結(jié)構(gòu)。
空間殖民算法基于樹木生長空間競爭的原理,能較好地提取被冠層遮擋的枝干部分骨架信息。假設(shè)p為初始骨架點(diǎn),對應(yīng)可生長空白空間點(diǎn)集合為S(p)??臻g殖民算法首先需計(jì)算骨架點(diǎn)到其受影響的每一空白空間點(diǎn)q之間的方向向量,然后對方向向量求和并標(biāo)準(zhǔn)化為向量n,向量n用于確定新樹枝的生長方向,設(shè)定骨架點(diǎn)間距為d,則新的骨架點(diǎn)位置可表示為p+dn,然后設(shè)定刪除閾值dk,若空間待搜索點(diǎn)與新骨架點(diǎn)的距離小于刪除閾值,則將待搜索點(diǎn)刪除。此外,默認(rèn)的空白空間點(diǎn)搜索區(qū)域是一個球域,容易生成角度過大的樹枝分杈且偏離點(diǎn)云位置,因此需改進(jìn)該算法[5,19],將搜索空間約束為半頂角角度θp、影響半徑為rp的錐形區(qū)域,即
其中,vp?p和vpq分別為上一級樹枝骨架和當(dāng)前骨架的生長方向。改進(jìn)的空間殖民算法3 流程如下:
空間殖民算法類只能提取生長空間點(diǎn)或樹點(diǎn)云對應(yīng)的三維骨架,為獲取骨架對應(yīng)的樹木幾何模型,本文基于異速生長模型計(jì)算樹枝粗度[1],然后采用廣義圓柱體進(jìn)行樹枝幾何重建,從而實(shí)現(xiàn)樹枝的幾何表示,樹葉根據(jù)葉序規(guī)則添加[4],最終得到樹木的三維模型。
假設(shè)樹干最大粗度為droot,當(dāng)前樹枝長度為Lp,其上第i個子樹枝長度為Lp,i,則基于異速生長模型計(jì)算的當(dāng)前樹枝粗度dp為
其中,Subtree(p)為樹枝p上的所有子樹枝集合,λ為值在1~2 之間的粗度調(diào)節(jié)因子,由樹種決定。設(shè)置樹干最大粗度后,采用深度優(yōu)先搜索算法可計(jì)算所有樹枝粗度。
自動化建模魯棒性較差,默認(rèn)的參數(shù)組合難以解決殘缺樹點(diǎn)云和自然樹木的真實(shí)感建模問題。因此本文設(shè)計(jì)了如圖6 所示的用戶界面,通過交互式調(diào)節(jié)約束角度θp、刪除閾值dk和影響半徑rp等3 個參數(shù),用戶可快速生成不同參數(shù)組合下形狀各異的重建樹幾何模型。此外用戶還可在圖6 對話框中交互式設(shè)置樹點(diǎn)云重采樣密度、樹干最大粗度droot、樹葉類型和葉序規(guī)則[7],通過少量參數(shù)設(shè)置即可實(shí)時生成不同類型的樹木模型,為建模人員提供了靈活選擇。
圖6 交互式樹木建模用戶界面(框區(qū)域內(nèi)為可交互式調(diào)節(jié)的約束角度、刪除閾值和影響半徑參數(shù)) Fig.6 User interface of interactive tree modeling (The interactively adjustable constraint angle,kill distance and influence radius are shown in the red rectangle)
本試驗(yàn)平臺為Windows 7 操作系統(tǒng),計(jì)算機(jī)配置為CPU i5-7200U 2.50 GHz,內(nèi)存8.0 G,顯卡 NVIDIA GeForce 940MX,所有實(shí)驗(yàn)樹點(diǎn)云對象均采用第2 節(jié)介紹的ALS 系統(tǒng)采集。交互式樹點(diǎn)云分割和建模軟件演示視頻參見鏈接:https://cie.nwsuaf.edu.cn/docs/2020-07/08679ab69a1d49a3aebf95a6a7f 79214.zip.
基于本文算法,測試了如圖7 所示難以自動分割、從單一角度觀察難以識別的小片ALS 樹點(diǎn)云,實(shí)驗(yàn)結(jié)果表明,交互式分割能夠有效實(shí)現(xiàn)單棵樹點(diǎn)云的分割。
圖7 交互式分割測試結(jié)果((a)調(diào)整好的點(diǎn)云切片;(b)形成的三維包絡(luò);(c)提取的分割后單棵樹點(diǎn)云) Fig.7 Result of interactive segmentation ((a) Adjusted slices of a tree point cloud;(b) 3D hull generated from the slices; (c) Extracted single tree point cloud from the 3D hull)
此外,以2 棵相鄰激光雷達(dá)樹點(diǎn)云為測試對象,與文獻(xiàn)[2]提出的最小生成樹分割(圖8(a))和文獻(xiàn)[4]提出的規(guī)范割分割(圖8(b))相比,本文交互式分割方法(圖8(c))較好地避免了誤分割。
圖8 不同方法分割結(jié)果比較((a)最小生成樹分割;(b)規(guī)范化分割;(c)交互式分割) Fig.8 Comparison of various segmentation results from different methods ((a) Minimum spanning tree segmentation; (b) Normalized-cut;(c) Interactive segmentation)
圖9(a)為一棵ALS 樹點(diǎn)云,實(shí)驗(yàn)中固定交互式調(diào)節(jié)約束角度、刪除閾值和影響半徑中2 個參數(shù),僅改變其中一個參數(shù),重建結(jié)果表明:①在刪除閾值和影響半徑不變的情況下,約束角度從整體上抑制了樹枝的走向,在無角度約束時,部分枝條會出現(xiàn)向下生長和枝條開角不合理的情況,約束角度θp越大,枝條開角隨之增大,生成的枝條數(shù)量越多(圖9(b,c)),不合理角度的枝條被修剪,但約束角度不能無限增大,當(dāng)約束角度大于其實(shí)際所有枝條中的最大角度,約束便不再有意義,故找調(diào)整樹木對應(yīng)的最佳生長約束角度對樹木的幾何重建非常重要,經(jīng)大量實(shí)驗(yàn)證明,本系統(tǒng)測試的樹點(diǎn)云最佳生長約束角度在80°~100°之間;②在約束角度和影響半徑不變的情況下,刪除閾值dk主要影響細(xì)枝的生成數(shù)量,如圖9(c,d)所示。
圖9 改進(jìn)的空間殖民算法中約束角度θp、刪除閾值dk 和影響半徑rp 對建模結(jié)果的影響((a)輸入點(diǎn)云;(b) θp=85°,dk=2d,rp=20d;(c) θp=95°,dk=2d,rp=20d;(d) θp=95°,dk=3d,rp=20d;(e) θp=85°,dk=2d,rp=10d)Fig.9 The impact of the different combinations of constraint angle,kill distance and influence radius in the improved Space Colonization Algorithm (SCA) ((a) Input point cloud;(b) θp=85°,dk=2d,rp=20d;(c) θp=95°,dk=2d,rp=20d; (d) θp=95°,dk=3d,rp=20d;(e) θp=85°,dk=2d,rp=10d)
為檢驗(yàn)采用交互式操作是否能找到較好保留原始樹枝點(diǎn)云特征的參數(shù)組合,以一棵裸眼能觀察到部分樹枝結(jié)構(gòu)的樹點(diǎn)云為例(圖10(a)~(c)),從藍(lán)色區(qū)域重建結(jié)果可知,通過設(shè)置較小的刪除閾值和影響半徑,可重建出與原始樹枝點(diǎn)云更加吻合的樹枝幾何模型。
圖10 不同參數(shù)組合下重建結(jié)果與原始樹枝點(diǎn)云對比((a)原始點(diǎn)云;(b) θp=90°,dk=2d,rp=20d;(c) θp=90°,dk=1.8d,rp=12d)Fig.10 Reconstructed results of branch details with different combinations of parameters in SCA ((a) Input point cloud; (b) θp=90°,dk=2d,rp=20d;(c) θp=90°,dk=1.8d,rp=12d)
為驗(yàn)證改進(jìn)算法的魯棒性,測試了如圖11 所示的2 組殘缺樹點(diǎn)云,重建結(jié)果表明,雖然缺失大量點(diǎn)云信息,改進(jìn)的空間殖民算法仍然能跨過缺失點(diǎn)云區(qū)域,穩(wěn)定生成較自然的樹枝形態(tài)。進(jìn)一步研究發(fā)現(xiàn),即使對于明顯無樹形特征的“Stanford Bunny”及“Happy Buddha”點(diǎn)云,通過交互式調(diào)整合適參數(shù),亦能重建出兼具點(diǎn)云特征和樹形特征的樹模型(圖12)。
圖11 殘缺點(diǎn)云重建結(jié)果 Fig.11 Reconstructed results of two incomplete point clouds with different parameters ((a) θp=90°,dk=2d,rp=17d;(b) θp=90°,dk=2d,rp=20d)
圖12 “Stanford Bunny”及“Happy Buddha”重建結(jié)果 Fig.12 Reconstructed results of“Stanford Bunny”and“Happy Buddha”point clouds with different parameters ((a) θp=90°,dk=1.2d,rp=18d;(b) θp=90°,dk=1.2d,rp=7d)
圖13(a)和(b)為航拍真實(shí)樹木照片,圖13(c)~ (f)為對應(yīng)ALS 樹木點(diǎn)云,采用本文交互式重建算法,可生成與對應(yīng)點(diǎn)云和真實(shí)照片接近的樹木幾何模型(圖13(e)和(g))。但是,樹木幾何模型重建質(zhì)量與樹點(diǎn)云的質(zhì)量緊密相關(guān),因?yàn)椴杉臉潼c(diǎn)云密度低,所以重建結(jié)果與真實(shí)照片相比在細(xì)節(jié)上依然有較大差異。
圖13 重建結(jié)果與真實(shí)航拍樹木圖片對比((a)航拍區(qū)域及對應(yīng)(b)單棵樹木照片;(c)與區(qū)域(a)對應(yīng)的機(jī)載激光雷達(dá)掃描點(diǎn)云;(d)單棵樹點(diǎn)云;(e)采用本文算法對樹點(diǎn)云(d)重建的樹枝結(jié)構(gòu)俯視圖;(f)樹點(diǎn)云(d)對應(yīng)的側(cè)視圖;(g)重建結(jié)果) Fig.13 Comparison of reconstructed tree model and aerial photograph and point cloud ((a) The area of photograph with (b) A single tree;(c) The corresponding point clouds of the area (a);(d) The top view of the single tree point cloud;(e) Top view of the reconstructed tree model;(f) Side view of the single tree point cloud (d);(g) The reconstructed tree model)
圖14(上)展示了6 棵形狀不同、點(diǎn)云數(shù)量不同(點(diǎn)云數(shù)量對應(yīng)為6 534,4 809,8 407,10 234,2 163和4 462)、密度不同的樹點(diǎn)云,設(shè)置相同的重建參數(shù)(θp=90°,dk=2d,rp=20d),采用改進(jìn)的空間殖民算法重建樹枝模型并添加樹葉后的效果如圖14(下)所示,結(jié)果表明,改進(jìn)的空間殖民算法能夠較好地重建出樹的自然形態(tài)。
圖14 6 種不同形態(tài)(上)樹點(diǎn)云對應(yīng)的(下)重建結(jié)果展示 Fig.14 (Top) Six tree point clouds with various shapes and their corresponding (Bottom) reconstructed tree models
在重建效率方面,對圖11 和圖14 中對應(yīng)的8棵樹點(diǎn)云數(shù)量及建模時間進(jìn)行統(tǒng)計(jì)(圖15),可以發(fā)現(xiàn),當(dāng)點(diǎn)云數(shù)量小于5 000 時,重建時間約在1.2 s之內(nèi),當(dāng)點(diǎn)云數(shù)量大于等于5 000 時,重建時間明顯增長,因此后期需進(jìn)一步對算法優(yōu)化,降低時間復(fù)雜度。
圖15 點(diǎn)云數(shù)量與重建時間關(guān)系 Fig.15 Relationship between the number of points and the reconstructed time
本文針對ALS 樹點(diǎn)云密度低、點(diǎn)云缺失導(dǎo)致的自動分割與建模困難等問題,提出了一種基于高度圖和切片技術(shù)相結(jié)合的交互式分割方法,與最小生成樹分割及規(guī)范自動分割方法對比發(fā)現(xiàn),手動交互式分割有效減少了樹木重疊部分對分割結(jié)果的影響,避免過分割問題,且對于單一角度難以識別的復(fù)雜點(diǎn)云,可借助多角度調(diào)整實(shí)現(xiàn)精細(xì)分割。
在完成單棵樹點(diǎn)云的分割之后,基于改進(jìn)的空間殖民算法,通過交互式調(diào)節(jié)約束角度、刪除閾值和影響半徑等3 個參數(shù)的不同組合,可實(shí)現(xiàn)樹枝茂密程度、光滑度以及和原始點(diǎn)云吻合度的調(diào)整,從而最終決定樹木的生長形態(tài),此外對于殘缺的稀疏樹點(diǎn)云,該算法亦能較好地重建出與點(diǎn)云吻合度高的自然樹模型。
由于內(nèi)在生物的多樣性和外在生長環(huán)境的差異性,自然界樹的形態(tài)千差萬別,很難找到一種通用的方法精確描述自然界中所有的樹種,本文通過實(shí)驗(yàn)發(fā)現(xiàn),幾乎沒有任何一組參數(shù),可以讓所有樹木點(diǎn)云都能得到完美重建。但對于同一樹種,其外在的差異性相對較小,今后,一方面將基于學(xué)習(xí)的方法研究不同樹種的參數(shù)取值空間,例如根據(jù)樹種的不同自動選取相應(yīng)的參數(shù)組合,提高重建自動化效果;另一方面,將結(jié)合kd樹和并行計(jì)算優(yōu)化空間殖民算法,提高重建效率。最后,交互式分割存在費(fèi)時、費(fèi)力等問題,今后擬結(jié)合基于區(qū)域增長或規(guī)范的分割方法,在二維切片上先進(jìn)行自動預(yù)分割,然后在預(yù)分割基礎(chǔ)上進(jìn)行交互式調(diào)整,實(shí)現(xiàn)半自動分割,提高操作效率。