李秋潔,袁鵬成,劉旭,周宏平
(南京林業(yè)大學(xué)機(jī)械電子工程學(xué)院,南京 210037)
行道樹資源調(diào)查是城市森林資源調(diào)查的重要工作,是開展城市森林生態(tài)研究的前提條件。目前,行道樹資源調(diào)查主要采用人工實(shí)測和抽樣調(diào)查等方法,工作量大、效率低下,不能及時(shí)準(zhǔn)確地反映行道樹動(dòng)態(tài)變化狀況。移動(dòng)激光掃描(mobile laser scanning,MLS)測量技術(shù)能夠快速獲取高分辨率、高精度的樹木垂直結(jié)構(gòu)數(shù)據(jù),改善難度大、周期長的傳統(tǒng)行道樹資源調(diào)查作業(yè)模式,實(shí)現(xiàn)大范圍、全面快速地獲取單木尺度的行道樹參數(shù)信息[1-2]。
行道樹點(diǎn)云分割是基于MLS的行道樹參數(shù)提取的首要步驟[3],目前,主要通過樹干檢測獲取行道樹位置,以樹干為種子點(diǎn)區(qū)域增長分割出完整行道樹[4]。具體過程如下:1)體素化[5],將空間劃分為立方體素,點(diǎn)云根據(jù)空間坐標(biāo)歸入相應(yīng)體素,以體素作為數(shù)據(jù)處理基本單元;2)地面濾除,利用平面擬合等方法濾除地面點(diǎn)云,保留地上目標(biāo)點(diǎn)云數(shù)據(jù);3)桿狀物檢測,提取較低高度范圍的點(diǎn)云數(shù)據(jù)進(jìn)行地面投影,根據(jù)投影面積、形狀、密度分布等特征識(shí)別桿狀物;4)桿狀物提取,以桿狀物底部點(diǎn)云數(shù)據(jù)為種子點(diǎn)進(jìn)行點(diǎn)云分割,提取完整桿狀物;5)行道樹識(shí)別,利用點(diǎn)云分布、尺寸等特征濾除路燈、電線桿等桿狀目標(biāo),識(shí)別行道樹。
Zhong等[6]利用點(diǎn)云法向量進(jìn)行平面擬合去除地面點(diǎn)。吳賓等[7]和Wu等[8]提取距地面高度1.2~1.4 m的格網(wǎng)進(jìn)行連通域分析,將大小和緊湊度指數(shù)符合條件的區(qū)域作為樹干,使用三維區(qū)域競爭生長算法提取行道樹候選區(qū)域。張恒等[9]分析行道樹在多層格網(wǎng)中的分布形態(tài),在空間區(qū)域生長過程中結(jié)合點(diǎn)云投影密度和高程分布等特征有效排除其他地物。楊莎莎[10]根據(jù)高程差從候選區(qū)域中去除車輛、行人、花壇、灌木等低矮地物,根據(jù)水平投影形狀及面積濾除建筑物與路燈。董亞涵等[11]根據(jù)候選區(qū)域投影跨度去除路燈、低矮建筑物、路標(biāo)及廣告牌,根據(jù)上、下部投影面積比值去除電線桿。
樹干檢測是行道樹定位與分割的核心步驟,已有方法由知識(shí)驅(qū)動(dòng),人工設(shè)計(jì)檢測規(guī)則,難以跨越低層點(diǎn)云數(shù)據(jù)到高層地物目標(biāo)的語義鴻溝,前期無法區(qū)分樹干與其他桿狀目標(biāo),需要在桿狀目標(biāo)提取過程中或結(jié)束后進(jìn)一步設(shè)計(jì)識(shí)別規(guī)則濾除非行道樹桿狀目標(biāo)。
本研究將樹干提取分為樹干點(diǎn)云識(shí)別與樹干點(diǎn)云分割2個(gè)步驟:首先,通過監(jiān)督學(xué)習(xí)算法從城市街道點(diǎn)云標(biāo)注數(shù)據(jù)集中自動(dòng)學(xué)習(xí)樹干點(diǎn)云與非樹干點(diǎn)云的差異性,獲取高精度樹干點(diǎn)云檢測器;然后,基于樹干點(diǎn)云識(shí)別結(jié)果,分割、標(biāo)識(shí)出每一根樹干。行道樹樹干提取流程如圖1所示。
圖1 行道樹樹干提取流程Fig. 1 Trunk extraction progress of street tree
本研究采用基于二維激光雷達(dá)的MLS系統(tǒng),如圖2所示。隨著車輛的移動(dòng),二維激光雷達(dá)不斷返回與車輛移動(dòng)方向垂直的扇形平面內(nèi)不同角度測量點(diǎn)的距離r及激光反射強(qiáng)度I。與基于三維激光雷達(dá)的MLS系統(tǒng)相比,二維激光雷達(dá)成本較低,數(shù)據(jù)冗余度小,在林木參數(shù)實(shí)時(shí)提取、植物三維重建、表型測量等領(lǐng)域[12-15]得到廣泛應(yīng)用。
圖2 MLS系統(tǒng)數(shù)據(jù)采集方式Fig. 2 Data acquisition mode of MLS system
建立MLS坐標(biāo)系統(tǒng),求取點(diǎn)云三維空間坐標(biāo),如圖3所示。x軸為車輛移動(dòng)方向,y軸為深度方向,z軸垂直地面向上。MLS測量數(shù)據(jù)可以用測量點(diǎn)幀序號(hào)i和幀內(nèi)編號(hào)j進(jìn)行索引,第i幀第j個(gè)測量點(diǎn)的三維空間坐標(biāo)為:
(1)
式中:v為車速,假設(shè)車輛勻速行駛;Δt為二維激光雷達(dá)掃描周期;r(i,j)為第i幀第j個(gè)測量點(diǎn)的距離;θ(j)為每幀第j個(gè)測量點(diǎn)的掃描角度;x(i,j)、y(i,j)和z(i,j)分別為第i幀第j個(gè)測量點(diǎn)的x、y、z坐標(biāo)。
圖3 MLS坐標(biāo)系統(tǒng)Fig. 3 Coordinate system of MLS
后續(xù)處理的點(diǎn)云數(shù)據(jù)擁有5個(gè)屬性值,包括三維空間坐標(biāo)[x(i,j),y(i,j),z(i,j)]、測量點(diǎn)的距離r(i,j)及激光反射強(qiáng)度I(i,j)。
為計(jì)算點(diǎn)云局部特征,需首先查詢點(diǎn)云鄰域。對于離散、非結(jié)構(gòu)化的點(diǎn)云數(shù)據(jù),主要采用體素、八叉樹、k-d樹等方法索引點(diǎn)云數(shù)據(jù),由于本研究采用的MLS系統(tǒng)直接生成結(jié)構(gòu)化點(diǎn)云數(shù)據(jù),可省去建立索引的時(shí)間和空間開銷。
假設(shè)第i幀第j個(gè)測量點(diǎn)為P,采用兩步法[16]計(jì)算以P為球心,δ為半徑的球域。首先,求取P球域的幀序號(hào)及幀內(nèi)編號(hào)范圍,根據(jù)車輛速度和二維激光雷達(dá)掃描周期可計(jì)算幀間分辨率(Δi),即車輛行駛方向上相鄰幀測量點(diǎn)的最小距離:
Δi=vΔt
(2)
根據(jù)測量距離和弧度分辨率可計(jì)算幀內(nèi)分辨率(Δj),即二維激光雷達(dá)掃描方向上相鄰測量點(diǎn)的最小距離:
Δj=r(i,j)Δα
(3)
式中:Δα為二維激光雷達(dá)弧度分辨率。假設(shè)P球域的幀序號(hào)范圍為[i-δi,i+δi],幀內(nèi)序號(hào)范圍為[j-δj,j+δj],根據(jù)球域半徑和幀間、幀內(nèi)分辨率計(jì)算δi、δj:
(4)
表1 點(diǎn)云局部特征Table 1 Local features of point cloud
圖4 MLS點(diǎn)云數(shù)據(jù)非均勻性Fig. 4 Non-uniformity of MLS point cloud data
Boosting系列算法是一類提高弱學(xué)習(xí)算法性能的強(qiáng)學(xué)習(xí)算法,與支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)等算法相比,具有參數(shù)少、低泛化誤差、容易實(shí)現(xiàn)等優(yōu)勢,在模式識(shí)別的各個(gè)領(lǐng)域取得成功應(yīng)用[19-20]。本研究采用Discrete AdaBoost[21]訓(xùn)練樹干檢測器。
fort=1 toT:
(1)學(xué)習(xí)弱分類器:ft=L(S,Dt);
(2)計(jì)算分類錯(cuò)誤率:et=∑m,ft(xm)≠cmDt(m);
(4)更新樣本權(quán)重:
(5)
式中,γt=0.5-et??芍?,Discrete AdaBoost的訓(xùn)練誤差隨迭代次數(shù)指數(shù)下降,只要弱學(xué)習(xí)算法優(yōu)于隨機(jī)猜想,算法可通過足夠多次迭代達(dá)到任意精度。
與其他機(jī)器學(xué)習(xí)算法相比,Boosting的優(yōu)勢如下:1)采用集成(ensemble)機(jī)制降低了算法復(fù)雜度,提高了算法效率;2)無需知道弱學(xué)習(xí)算法的任何先驗(yàn)知識(shí),只需其性能比隨機(jī)猜測稍好即可,弱學(xué)習(xí)算法可以是神經(jīng)網(wǎng)絡(luò)、SVM、決策樹、k-近鄰分類器、經(jīng)驗(yàn)規(guī)則等各種機(jī)器學(xué)習(xí)算法;3)訓(xùn)練過程采用線性規(guī)劃(linear programming)方法,算法簡單,容易工程實(shí)現(xiàn);4)確定弱學(xué)習(xí)算法后,除迭代次數(shù),無需調(diào)節(jié)任何參數(shù)。
對樹干檢測結(jié)果進(jìn)行幀投影,得到每幀的樹干點(diǎn)數(shù),之后通過檢測樹干起始幀定位樹干。
1)若某幀樹干點(diǎn)個(gè)數(shù)大于一定閾值Ntrunk,則識(shí)別為樹干幀:
(6)
式中:Lmin為樹干最小長度;rmin為樹干測量點(diǎn)最小距離。
2)若樹干幀與當(dāng)前樹干起始幀的間距大于一定閾值Dtrunk,則識(shí)別為新的樹干起始幀:
(7)
式中,Dmin為兩棵樹干的最小距離。最后,將各個(gè)樹干點(diǎn)聚類到最鄰近樹干起始幀,分割提取出各個(gè)樹干的點(diǎn)云數(shù)據(jù)。
試驗(yàn)采用日本Hokuyo公司生產(chǎn)的UTM-30LX型2D LiDAR。該款LiDAR采用波長905 nm的紅外線,通過電機(jī)擺動(dòng)獲取不同角度的測量值,測量距離0.1~30 m,測量精度±30 mm,掃描范圍270°,角度分辨率0.25°,掃描周期25 ms。每次掃描獲取1幀數(shù)據(jù),包含1 081個(gè)不同角度的距離和激光反射強(qiáng)度,分別用4字節(jié)、2字節(jié)表示。
1. 數(shù)據(jù)采集計(jì)算機(jī);2. 2D LiDAR;3. 小車供電模塊; 4. 主動(dòng)輪;5. 小車控制器;6. 遙控器。圖5 MLS系統(tǒng)Fig. 5 MLS system
試驗(yàn)采用遙控MLS測量系統(tǒng)(圖5),以包含2個(gè)主動(dòng)輪、18個(gè)從動(dòng)輪的履帶底盤小車作為移動(dòng)平臺(tái),以STM32F103ZET6作為小車控制器,通過測速編碼器獲得小車速度,根據(jù)比例-微分-積分(proportion-integral-differential,PID)算法控制主動(dòng)輪轉(zhuǎn)速,實(shí)現(xiàn)小車行駛方向和速度的精確控制。
數(shù)據(jù)采集地點(diǎn)為南京林業(yè)大學(xué)校園內(nèi)長度50 m的路段,包含建筑物、行道樹、行人、車道、人行道、路牙、路燈、草皮等地物目標(biāo),如圖6所示。采用MLS系統(tǒng)對街道進(jìn)行單側(cè)掃描,2D LiDAR掃描角度范圍為-135°~135°,車輛速度0.2 m/s,采集時(shí)長250 s,獲取10 000幀數(shù)據(jù),包含10 810 000個(gè)點(diǎn)云數(shù)據(jù)。
圖6 數(shù)據(jù)采集地點(diǎn)Fig. 6 Data collection area
為獲取帶標(biāo)注的點(diǎn)云數(shù)據(jù),采用MATLAB編程,利用長方體框選的方法為點(diǎn)云數(shù)據(jù)添加類別標(biāo)簽,形成標(biāo)注文件。由于y軸負(fù)半軸街道信息采集不全,僅處理y≥0的點(diǎn)云數(shù)據(jù)。標(biāo)注后的數(shù)據(jù)集描述如表2所示,部分標(biāo)注點(diǎn)云數(shù)據(jù)如圖7所示。
表2 數(shù)據(jù)集描述Table 2 Description of data set
圖7 部分標(biāo)注點(diǎn)云數(shù)據(jù)Fig. 7 Some labelled point cloud data
3.2.1 球域半徑選擇
球域半徑不宜過小,應(yīng)大于MLS系統(tǒng)測量分辨率;同時(shí),球域半徑也不宜過大,否則無法表征點(diǎn)云局部特性。根據(jù)式(2)計(jì)算系統(tǒng)幀間分辨率為0.005 m,選取數(shù)據(jù)集最遠(yuǎn)測量點(diǎn)距離rmax=17.204 m,根據(jù)式(3)計(jì)算幀內(nèi)分辨率為0.075 m。因此,δ需不小于0.075 m。為選取合適的球域半徑,令δ在0.10~0.40 m時(shí)以0.05 m為間隔取值,開展試驗(yàn)。
3.2.2 單個(gè)特征鑒別力分析
為評(píng)估單個(gè)特征對樹干點(diǎn)云識(shí)別的貢獻(xiàn),分析其在Bayes決策下的錯(cuò)誤率。Bayes決策是使錯(cuò)誤率最小的分類決策規(guī)則,具體如下:
如果P(c=1|x)>P(c=-1|x),則判定為樹干,否則判定為非樹干。
式中:x為點(diǎn)云特征;P(c=1|x)為樹干的后驗(yàn)概率;P(c=-1|x)為非樹干的后驗(yàn)概率。假設(shè)樹干和非樹干的先驗(yàn)概率相等,根據(jù)Bayes公式,可得到Bayes決策的等價(jià)形式:
如果p(x|c=1)>p(x|c=-1),則判定為樹干,否則判定為非樹干。
式中:p(x|c=1)為樹干的類條件概率密度;p(x|c=-1)為非樹干的類條件概率密度。
利用樹干及非樹干的單個(gè)特征直方圖估計(jì)其類條件概率密度,獲取Bayes錯(cuò)誤率近似值。首先采用最大、最小歸一化方法將特征變換到[0,1]范圍內(nèi);然后以0.05為間隔計(jì)算樹干和樹冠的直方圖分布,則Bayes錯(cuò)誤率近似為:
(8)
式中:h1(i)為直方圖第i個(gè)區(qū)間范圍的樹干點(diǎn)個(gè)數(shù);h-1(i)為直方圖第i個(gè)區(qū)間范圍的非樹干點(diǎn)個(gè)數(shù)。
不同球域半徑下單個(gè)特征的Bayes錯(cuò)誤率及最小錯(cuò)誤率(表中加粗?jǐn)?shù)據(jù))如表3所示。從表3中可看出:1)球域半徑對單個(gè)特征鑒別力有所影響;2)特征的最優(yōu)球域半徑各不相同,如強(qiáng)度均值在δ=0.10 m時(shí)鑒別力最強(qiáng),而線性特征在δ=0.40 m時(shí)鑒別力最強(qiáng);3)所有球域半徑下鑒別力最強(qiáng)的3個(gè)特征均為高程方差、強(qiáng)度范圍以及強(qiáng)度方差。
表3 不同球域半徑下單個(gè)特征的Bayes錯(cuò)誤率Table 3 Bayes error of single feature in different sphere radiuses
3.2.3 多個(gè)特征樹干點(diǎn)云識(shí)別
樹干檢測器訓(xùn)練時(shí),采用分類決策樹作為弱學(xué)習(xí)算法,迭代次數(shù)T=300。從點(diǎn)云數(shù)據(jù)集中隨機(jī)抽取5%用于訓(xùn)練,其余95%用于測試。用查準(zhǔn)率(precision)和查全率(recall)評(píng)估樹干點(diǎn)云檢測器性能:
(9)
測試集上不同球域半徑下的樹干點(diǎn)云識(shí)別結(jié)果見表4。對于所有球域半徑,測試集查準(zhǔn)率均高于93%,查全率均高于94%,表明Boosting算法通過強(qiáng)學(xué)習(xí)顯著提高了單個(gè)特征的分類性能。
表4 不同球域半徑下的樹干點(diǎn)云識(shí)別結(jié)果Table 4 Point cloud recognition results of trunk in different sphere radiuses
為盡可能識(shí)別所有樹干點(diǎn)云,球域半徑選取δ=0.25 m,此時(shí)樹干點(diǎn)云查全率最高。經(jīng)統(tǒng)計(jì)共有556個(gè)漏檢點(diǎn)與212個(gè)虛警點(diǎn),虛警點(diǎn)包括169個(gè)樹冠點(diǎn)、1個(gè)人行道點(diǎn)和42個(gè)草皮點(diǎn)。樹干點(diǎn)云識(shí)別結(jié)果見圖8,可以看出,虛警和漏檢主要集中在樹干首末兩端,分析原因如下:樹干與樹冠、草皮交界處的點(diǎn)云可能產(chǎn)生錯(cuò)誤標(biāo)注;此部分點(diǎn)云的球域與樹冠、草皮重合度高,不易識(shí)別。
圖8 樹干點(diǎn)云識(shí)別結(jié)果(δ=0.25 m)Fig. 8 Point cloud recognition result of trunk (δ=0.25 m)
δ=0.25 m時(shí),Boosting與SVM、神經(jīng)網(wǎng)絡(luò)的比較結(jié)果見表5。其中,神經(jīng)網(wǎng)絡(luò)對類別不平衡最為敏感,為最小化整體錯(cuò)誤率,將所有樹干樣本都識(shí)別為非樹干樣本。SVM能獲得較高的查準(zhǔn)率,但查全率低于Boosting,表明有更多的樹干點(diǎn)被誤識(shí)別為非樹干點(diǎn)。
表5 不同學(xué)習(xí)算法的樹干點(diǎn)云識(shí)別結(jié)果Table 5 Point cloud recognition results of trunk using different learning algorithms %
以橫軸為測量點(diǎn)幀序號(hào)i,縱軸為測量點(diǎn)幀內(nèi)編號(hào)j,得到樹干點(diǎn)云標(biāo)注和識(shí)別二值圖像,如圖9所示。為便于觀察,僅截取標(biāo)注/識(shí)別為樹干的點(diǎn)云數(shù)據(jù)。從圖9中可看出,由于車道不平坦且存在減速帶等障礙物,會(huì)導(dǎo)致部分幀樹干缺失。
圖9 樹干點(diǎn)云識(shí)別二值圖Fig. 9 Binary images of trunk point cloud recognition
為進(jìn)行樹干分割,首先統(tǒng)計(jì)各幀樹干點(diǎn)個(gè)數(shù),如圖10所示,樹干所在幀有明顯的波峰;然后檢測樹干起始幀,將樹干點(diǎn)歸類到最近的樹干起始幀,分割出各個(gè)樹干的點(diǎn)云數(shù)據(jù),如圖11所示。
圖10 各幀樹干點(diǎn)個(gè)數(shù)Fig. 10 Number of trunk point cloud in each frame
圖11 樹干點(diǎn)云分割結(jié)果Fig. 11 Segmentation result of trunk point cloud
1)從點(diǎn)云球域提取深度、高程、維度、密度、強(qiáng)度等14個(gè)特征,基于標(biāo)注數(shù)據(jù)集,采用Boosting算法學(xué)習(xí)樹干點(diǎn)云檢測器。試驗(yàn)結(jié)果表明,上述方法能實(shí)現(xiàn)行道樹樹干精準(zhǔn)識(shí)別,濾除路燈、行人、鐵樁等桿狀地物點(diǎn)云。
2)分析不同球域半徑下的特征鑒別力,各個(gè)特征的最優(yōu)球域半徑各不相同,鑒別力最強(qiáng)的3個(gè)特征是高程方差、強(qiáng)度范圍及強(qiáng)度方差。通過特征融合,樹干點(diǎn)云檢測器能顯著提高單個(gè)特征的分類性能。
3)通過樹干起始幀可檢測定位樹干,通過樹干點(diǎn)云聚類可提取出每一根樹干。
后續(xù)研究將改進(jìn)MLS測量系統(tǒng),提高點(diǎn)云精度,同時(shí)結(jié)合樹冠點(diǎn)云識(shí)別方法提取完整行道樹點(diǎn)云。