江 炯,汪從敏,何玉濤,黎天祥,徐 杰
(國網(wǎng)浙江省電力公司寧波供電公司,浙江 寧波 315010)
LiDAR作為一種快速、全天候、精確獲取地面三維數(shù)據(jù)的技術(shù),在現(xiàn)階段LiDAR技術(shù)隨著軟硬件的發(fā)展也取得了全面的發(fā)展并受到了極大的重視。LiDAR(Light Detection And Ranging)集中體現(xiàn)了激光技術(shù)、計算機(jī)技術(shù)、全球定位系統(tǒng)(GPS)和慣性導(dǎo)航系統(tǒng)(INS)三種技術(shù)的結(jié)合。LiDAR以其快速、全天候、精確、直接獲取地面二維數(shù)據(jù)信息的特點(diǎn),在城市三維建模中扮演著越來越重要的角色[1]。
由于現(xiàn)實(shí)場景的復(fù)雜性以及LiDAR點(diǎn)云數(shù)據(jù)存在噪聲點(diǎn)等原因,導(dǎo)致目前點(diǎn)云后處理中識別和分類的效率較低。多年來諸多學(xué)者致力于點(diǎn)云場景的分類和識別,提出了多種高效地用于描述點(diǎn)云場景的特征并應(yīng)用于場景的解譯中,如基于特征向量的特征[2-16]可以用來描述一個點(diǎn)周圍小范圍內(nèi)的幾何形狀特征,廣泛應(yīng)用于激光雷達(dá)點(diǎn)云分類中。文獻(xiàn)提出的旋轉(zhuǎn)圖像(spin image)[17]特征在記錄當(dāng)前點(diǎn)特征的同時也記錄了其周圍點(diǎn)的一些特征以此來提高特征算子的魯棒性,在點(diǎn)云分類和識別中也有著廣泛的應(yīng)用。此外,高度[3,9,-,11,18,-,26]、點(diǎn)表面曲率、法向量[18]、點(diǎn)強(qiáng)度信息[2-3,9-10,18]、點(diǎn)特征直方圖[21](Point Feature Histogram, PFH)、快速點(diǎn)特征直方圖[22](Fast Point Feature Histogram, FPFH)等特征。
對于點(diǎn)云分類而言,目前主流的分類單元包括基于單點(diǎn)[23]、基于分割對象[24]和基于體素[25]。Niemeyer[26]通過構(gòu)建兩層的條件隨機(jī)場,第一層是以單點(diǎn)為圖模型的節(jié)點(diǎn),第二層是以分割對象為圖模型的節(jié)點(diǎn)。然后兩層之間實(shí)現(xiàn)類別信息的傳遞來改善分類質(zhì)量。Dittrich[27]對在點(diǎn)云分類識別中常用的3D結(jié)構(gòu)張量的特征值特征做了定性和定量的分析。趙剛[28]基于GradientBoosting方法對車載點(diǎn)云數(shù)據(jù)進(jìn)行自動化識別。其中基于單點(diǎn)的方法容易受到噪點(diǎn)的影響,而且盡管目前存在多種點(diǎn)云分割算法,但是考慮到計算效率問題,本文采用體素化點(diǎn)云的方式分割點(diǎn)云數(shù)據(jù)。Lim[29]對點(diǎn)云實(shí)驗(yàn)場景構(gòu)建超體素,基于超體素利用條件隨機(jī)場進(jìn)行點(diǎn)云場景的分類。Ramiya[30]首先根據(jù)點(diǎn)云的幾何和光譜相似性生成超體素,進(jìn)而基于超體素聚類成不同大小的分割對象,然后不同的分類器分類得到點(diǎn)云分割對象。Babahajiani[31]通過將體素化的點(diǎn)云轉(zhuǎn)換為超體素,通過訓(xùn)練增強(qiáng)型決策樹完成場景的分類。Huang[32]構(gòu)建了一種3D卷積神經(jīng)網(wǎng)絡(luò)框架用于分類點(diǎn)云數(shù)據(jù),文中首先將原始點(diǎn)云體素化,體素應(yīng)用三維的卷積操作,然后用體素的類別標(biāo)記體素內(nèi)的點(diǎn),完成點(diǎn)云場景的分類。為了能有效地描述體素的特征,將詞袋模型[33]引入點(diǎn)云分類中。詞袋模型能有效地綜合體素中每個點(diǎn)的特征,從含有不同點(diǎn)數(shù)的體素中提煉出相同長度的特征向量,這樣便于特征向量作為分類器的輸入以及對體素進(jìn)行分類。
考慮到點(diǎn)云數(shù)據(jù)只具有精確的平面位置信息和高度信息,然而卻不能獲取地表物體的紋理信息,而高分辨率的遙感衛(wèi)星圖像卻能獲取物體的光譜、紋理、幾何形狀等信息,本文結(jié)合這兩種數(shù)據(jù)的特征,提出了融合影像信息的城區(qū)機(jī)載LiDAR點(diǎn)云數(shù)據(jù)的自動化分類方法,具體流程如圖1所示。首先將原始點(diǎn)云數(shù)據(jù)體素化,并基于單點(diǎn)計算點(diǎn)云的幾何特征和對應(yīng)的影像特征,然后基于k-means算法計算訓(xùn)練數(shù)據(jù)特征向量的 k個聚類中心,視為視覺單詞詞典。接著基于視覺單詞詞典統(tǒng)計每個體素內(nèi)視覺單詞的詞頻,構(gòu)建視覺單詞詞頻直方圖即為詞袋模型。最后基于詞袋模型訓(xùn)練隨機(jī)森林分類器,識別未知類別的體素,以此完成點(diǎn)云的分類。
圖1 基于詞袋模型的點(diǎn)云分類流程圖Fig.1 Flow chart of classification of point cloud based on bag of words
考慮到點(diǎn)云在空間中的散亂分布,將點(diǎn)云所在的三維空間的外包圍盒驗(yàn)三個空間坐標(biāo)軸方向以一定步長劃分為一系列可以索引的立方體柵格,這個過程稱為點(diǎn)云的體素化。點(diǎn)云體素化的建立依賴于體素的各邊長的設(shè)置,體素的形狀和大小由長、寬和高來確定。根據(jù)體素的三條邊長l,w,h和公式(1)將點(diǎn)云范圍沿X、Y、Z坐標(biāo)分別劃分為m、n、g份。
根據(jù)點(diǎn)云的坐標(biāo)最小值Xmin、Ymin、Zmin和體素的三條邊長l、w、h通過公式(2)計算點(diǎn)云中任一點(diǎn)(X、Y、Z)所在體素的索引號(i、g、k)。
圖2是將實(shí)驗(yàn)數(shù)據(jù)進(jìn)行體素化之后,同一體素內(nèi)的點(diǎn)被賦為相同的顏色,不同體素被隨機(jī)賦色得到的點(diǎn)云渲染圖。
圖2 體素化結(jié)果Fig.2 Voxelization
點(diǎn)云的法線能夠很好地反映建筑物和植被的表面變化狀況。求解表面上某點(diǎn)的法線的問題可以通過求取表面某點(diǎn)正切平面的法線來解決,那么可以轉(zhuǎn)化為最小二乘平面估計問題。計算待定點(diǎn)及其鄰域內(nèi)點(diǎn)到擬合平面的距離,利用下式計算平面殘差和,作為分類特征。
式中,di是指點(diǎn)i到平面的距離,l=1.2。
由于基于特征值的特征能良好地表征3D場景中物體的幾何形態(tài),近些年被諸多學(xué)者廣泛地應(yīng)用于三維場景中物體的分類和識別中,也從定量和定性的角度分析了基于特征值的特征的精度和穩(wěn)健性。因此,本文在建立點(diǎn)鄰域系統(tǒng)之后,通過定義當(dāng)前的鄰域協(xié)方差矩陣求解當(dāng)前點(diǎn)的特征值特征。假設(shè)CP表示當(dāng)前點(diǎn)P的鄰域協(xié)方差矩陣,那么CP可以通過公式(4)進(jìn)行計算:
在求解特征值基礎(chǔ)上,計算在特征值基礎(chǔ)上的衍生特征用于區(qū)分平面、邊緣以及線性結(jié)構(gòu),提取的這些特征在不同的幾何結(jié)構(gòu)上的取值不同,其中,λ3在平面區(qū)域值較低,非平面區(qū)域值較高,建筑物屋頂處λ3值較低,高植被處λ3值較高。各向異性:Aλ=(λ1-λ3)/λ1;平面性:Pλ=(λ2-λ3)/λ1;球面性:Sλ=λ3/λ1;線性:Lλ=(λ1-λ2)/λ1,這些特征可以輔助區(qū)分平面、邊緣、角點(diǎn)和線等結(jié)構(gòu)。
為了能有效地利用同機(jī)獲取影像的光譜信息,在構(gòu)建點(diǎn)特征向量時考慮了影像所包含的光譜信息,主要提取影像像素的RGB信息。
在綜合分析點(diǎn)云數(shù)據(jù)及其對應(yīng)影像數(shù)據(jù)基礎(chǔ)上,實(shí)現(xiàn)影像和點(diǎn)云的配準(zhǔn),并構(gòu)建如公式(6)所示的描述點(diǎn)的特征向量。
式中,RZ表示平面殘差,λ1、λ2、λ3分別是鄰域協(xié)方差矩陣的特征向量,Aλ表示各向異性,Pλ表示平面性,Sλ表示球面性,Lλ表示線性,R、G、B分別表示當(dāng)前點(diǎn)的RGB信息。
最初的Bag of words,也叫做“詞袋”,在信息檢索中,Bag of words model假定對于一個文本,忽略其詞序和語法,句法,將其僅僅看做是一個詞集合,或者說是詞的一個組合,文本中每個詞的出現(xiàn)都是獨(dú)立的,不依賴于其他詞是否出現(xiàn),或者說當(dāng)這篇文章的作者在任意一個位置選擇一個詞匯都不受前面句子的影響而獨(dú)立選擇的。目前詞袋模型在計算機(jī)視覺領(lǐng)域得到了廣泛應(yīng)用。文中將原始點(diǎn)云體素化后,基于詞袋模型來描述和表示體素內(nèi)容,基本原理是統(tǒng)計點(diǎn)云體素中重要內(nèi)容出現(xiàn)的頻次,如基于單點(diǎn)構(gòu)建點(diǎn)的特征向量,將其類比為文檔中的單詞(文中稱之為視覺單詞),隨后將體素內(nèi)每個點(diǎn)的特征向量映射為(最近的)的視覺單詞,從而將每個體素轉(zhuǎn)換為多個視覺單詞的組合形式。
基于體素的詞袋模型構(gòu)建主要包括以下部分:①將原始點(diǎn)云體素化;②基于單點(diǎn)計算點(diǎn)的特征向量;③基于k-means聚類算法求得特征向量的聚類中心,生成視覺單詞表;④將體素內(nèi)的所有點(diǎn)的特征向量映射為最相似的視覺單詞,統(tǒng)計每個體素內(nèi)各個視覺單詞出現(xiàn)的頻次,構(gòu)建該體素的詞袋模型表示,即各個視覺單詞的直方圖表示。
隨機(jī)森林(Random Trees)是一種由多棵決策樹組合而成的聯(lián)合預(yù)測模型,自然可以作為快速且有效的多類分類模型。當(dāng)輸入待分類樣本時,隨機(jī)森林輸出的分類結(jié)果由每個決策樹的分類結(jié)果簡單投票決定。通過分類器聯(lián)合,總體上得到比單一分類器分類結(jié)果更穩(wěn)定、魯棒性更好的分類性能,發(fā)掘了各個分類器的優(yōu)點(diǎn),并避開了分類效果不好的分類器。
根據(jù)Breiman的隨機(jī)森林理論,在一個隨機(jī)森林分類器中,要建立多棵決策樹,這些樹的建立方式相同,但是由于構(gòu)建每個決策樹時,隨機(jī)抽取訓(xùn)練樣本集和屬性子集的過程都是獨(dú)立的,這一點(diǎn)決定了每棵樹的分類結(jié)果都是不一樣的。以同樣的方式訓(xùn)練得到 個決策樹將其組合起來,就可以得到一個隨機(jī)森林。當(dāng)輸入待分類的樣本時,隨機(jī)森林輸出的分類結(jié)果由每個決策樹的輸出結(jié)果進(jìn)行簡單投票(即取眾數(shù))決定。隨機(jī)森林中第 個決策樹的訓(xùn)練過程如圖3所示。
一旦隨機(jī)森林建立起來,所有的樹Tree1,...,Treem都會對預(yù)測樣本有一個預(yù)測標(biāo)簽。通過隨機(jī)森林中的M棵樹,得到了M個對樣本的分類標(biāo)簽Li(1≤i≤M),然后從這M個標(biāo)簽中選擇所得投票數(shù)多的那個標(biāo)簽作為隨機(jī)森林分類器的預(yù)測結(jié)果,預(yù)測結(jié)果由下式給出:
圖3 隨機(jī)森林中單個決策樹訓(xùn)練過程Fig.3 A single decision tree training process in random forest
為了驗(yàn)證本文提出方法的有效性,文中選取了兩個實(shí)驗(yàn)區(qū)來驗(yàn)證。場景I為Terrasolid官網(wǎng)提供的數(shù)據(jù),數(shù)據(jù)范圍是Jyv?skyl?市的點(diǎn)云數(shù)據(jù),實(shí)驗(yàn)數(shù)據(jù)中點(diǎn)云密度為15.4點(diǎn)/m2,該場景的影像分辨率為0.4 m。場景II的實(shí)驗(yàn)數(shù)據(jù)的覆蓋區(qū)域?yàn)楹諣栃粱I(yè)大學(xué)校區(qū),實(shí)驗(yàn)數(shù)據(jù)中點(diǎn)云密度為4點(diǎn)/m2,該場景的影像分辨率為0.4 m。相關(guān)場景的部分區(qū)域影像如圖4a和圖4b所示,對應(yīng)點(diǎn)云數(shù)據(jù)的人工分類結(jié)果如圖4b和圖4d所示,圖中紅色點(diǎn)表示建筑物點(diǎn),淺綠色點(diǎn)表示低植被點(diǎn),深綠色點(diǎn)表示高植被點(diǎn),橘黃色點(diǎn)表示地面點(diǎn),以此作為點(diǎn)云自動分類結(jié)果評定的標(biāo)準(zhǔn)。同時統(tǒng)計了相關(guān)實(shí)驗(yàn)數(shù)據(jù)信息,統(tǒng)計結(jié)果見表1。
圖4 實(shí)驗(yàn)數(shù)據(jù)Fig.4 Experimental data
表中分別統(tǒng)計了兩個實(shí)驗(yàn)場景中不同地物的LiDAR點(diǎn)個數(shù)以及場景點(diǎn)云的總個數(shù)。
表1 訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)統(tǒng)計結(jié)果Tab.1 Training and test data
本文采用召回率(Recall)、精確率(Precision)、準(zhǔn)確率(OverallAccuracy)對于分類器的性能進(jìn)行評價。假設(shè)原始樣本中有兩類,其中有P個類別為1的樣本,且假設(shè)類別1為正例,有N個類別為0的樣本,且假設(shè)類別0為負(fù)例,則
式中,TP個類別為1的樣本被系統(tǒng)正確判定為類別1,F(xiàn)N個類別為1的樣本被系統(tǒng)誤判定為類別0,F(xiàn)P個類別為0的樣本被系統(tǒng)誤判斷定為類別1,TN個類別為0的樣本被系統(tǒng)正確判為類別0。
2.2.1 影像光譜信息對分類結(jié)果的影響
文中為了改善點(diǎn)云分類質(zhì)量,將同機(jī)獲取的影像用于點(diǎn)云分類過程中以期望改善分類效率。為了驗(yàn)證這個策略的有效性,文中以場景I和場景II為研究對象進(jìn)行了對比實(shí)驗(yàn),實(shí)驗(yàn)中分別統(tǒng)計了在添加影像光譜信息和沒有添加光譜信息情況下點(diǎn)云的分類質(zhì)量,統(tǒng)計分類結(jié)果見表2,可以得出影像光譜信息的融入,使分類總正確率提高了4%以上。同時文中列舉了點(diǎn)云中道路點(diǎn)的分類質(zhì)量,如圖5所示,圖中橘黃色的點(diǎn)為道路點(diǎn)。由圖中可以得出通過加入影像光譜信息,能改善分類過程中可能存在的“椒鹽”現(xiàn)象,同時對于識別植被等地物具有重要意義。
表2 影像光譜信息對分類結(jié)果的影響Tab.2 Influence of the spectral information on classification result
圖5 影像光譜信息對分類結(jié)果的影響對比圖Fig.5 Comparison with and without spectral information
2.2.2 體素的大小對分類結(jié)果的影響
本文中是以體素為單位分類點(diǎn)云的,為了探求體素的大小對分類精度的影響。文中以場景I的實(shí)驗(yàn)做了參數(shù)敏感性分析。文中對該實(shí)驗(yàn)區(qū)進(jìn)行分類,通過改變體素的邊長來探求實(shí)驗(yàn)精度受體素大小的影響,并統(tǒng)計實(shí)驗(yàn)結(jié)果如圖6所示,圖中柱狀圖描述的是不同地物的分類精確率受體素大小變化的影響,折線圖表述的是分類總正確率受體素大小變化的影響。實(shí)驗(yàn)結(jié)果表明,隨著體素大小的不同,不同地物的分類結(jié)果也不相同,其中建筑物的分類結(jié)果隨體素大小變化波動最大,精確率取值波動范圍大于8%。
圖6 體素的大小對分類結(jié)果的影響Fig.6 Influence of the size of voxel on the classification result
2.2.3 視覺單詞個數(shù)對分類結(jié)果的影響
在描述和表達(dá)體素的特征時,文中將詞袋模型引入到體素的分類過程中。實(shí)驗(yàn)中所用的視覺單詞表中單詞實(shí)際上是由k-means聚類算法得到的聚類中心。為了探求實(shí)驗(yàn)中視覺單詞表中單詞數(shù)目對實(shí)驗(yàn)結(jié)果的影響,文中以實(shí)驗(yàn)場景I為研究對象,分別選取不同的視覺單詞個數(shù)也即設(shè)置不同的特征向量的聚類中心的個數(shù),以此來探求視覺單詞對分類結(jié)果的影響,并將實(shí)驗(yàn)結(jié)果統(tǒng)計如圖7所示,圖中柱狀圖描述的是不同地物的分類精確率受視覺單詞個數(shù)變化的影響,折線圖表述的是分類總正確率受視覺單詞個數(shù)變化的影響。實(shí)驗(yàn)結(jié)果表明,視覺單詞的個數(shù)對分類結(jié)果產(chǎn)生較大影響,隨著單詞個數(shù)的變化,分類總正確率波動大于3%。在單詞個數(shù)變化的過程中,建筑物受其影響最為顯著,建筑物的分類精確率波動超過6%。
2.2.4 基于單點(diǎn)與基于體素的分類結(jié)果對比
考慮到點(diǎn)云數(shù)據(jù)存在大量噪點(diǎn),同時抑制分類過程中可能存在的“椒鹽”現(xiàn)象,文中以體素的形式組織原始點(diǎn)云。為了驗(yàn)證這種策略的有效性,文中以場景I和場景II的實(shí)驗(yàn)數(shù)據(jù)作為研究對象,與基于單點(diǎn)的策略進(jìn)行分類結(jié)果對比,統(tǒng)計結(jié)果如下圖8所示,圖中橘黃色點(diǎn)表示地面點(diǎn)。實(shí)驗(yàn)結(jié)果表明,基于體素方式分割原始點(diǎn)云,并基于體素進(jìn)行對象化的分類,對于改善點(diǎn)云分類的質(zhì)量和效率效果顯著。表3中列舉了基于單點(diǎn)的方法與基于體素的方法的分類結(jié)果對比,從對比結(jié)果中可以得出,基于體素分割原始點(diǎn)云可以有效地抑制噪點(diǎn)在分類過程中的影響,分類結(jié)果提高了7%。
圖7 視覺單詞個數(shù)對分類結(jié)果的影響Fig.7 Influence of the number of visual words on the classification result
圖8 基于單點(diǎn)與基于體素的分類結(jié)果對比圖Fig.8 Comparison of point-based and voxel-based classification result
表3 基于單點(diǎn)與基于體素的分類結(jié)果對比Tab.3 Comparison of point-based and voxel-based classification result
在進(jìn)行了相關(guān)參數(shù)的敏感性分析之后,為了進(jìn)一步驗(yàn)證本文提出模型的有效性和穩(wěn)定性,將此模型應(yīng)用于不同的實(shí)驗(yàn)場景,實(shí)驗(yàn)結(jié)果統(tǒng)計見表4和表5。表4和表5中分別列舉了不同地物的分類結(jié)果。同時由于場景I和場景II獲取的點(diǎn)云密度也是不一樣的,也驗(yàn)證了本文模型對點(diǎn)云密度具有一定的抗干擾性。
表4 分類混淆矩陣(場景I,總正確率:93.35%)Tab.4 Confusion matrix of classification ( Scene I, overall accuracy:93.35%)
表5 分類混淆矩陣(場景II,總正確率:94.25%)Tab.5 Confusion matrix of classification ( Scene II, overall accuracy:94.25%)
對LiDAR數(shù)據(jù)進(jìn)行分類、提取、建立三維城市模型具有重要的現(xiàn)實(shí)意義。為了提高從LiDAR點(diǎn)云數(shù)據(jù)中提取地物的效率與精確度,降低提取成本,本文在綜合分析點(diǎn)云和影像數(shù)據(jù)特點(diǎn)的基礎(chǔ)上,提出了融合影像信息的城區(qū)機(jī)載LiDAR點(diǎn)云自動化分類方法。考慮到點(diǎn)云數(shù)據(jù)存在大量的噪聲點(diǎn),因此,文中引入詞袋模型用于描述和表達(dá)體素化的點(diǎn)云數(shù)據(jù),這個過程能夠有效地抑制點(diǎn)云中存在的噪聲點(diǎn),同時改善了分類過程中可能存在的“椒鹽”現(xiàn)象。后期將繼續(xù)基于詞袋模型進(jìn)一步挖掘點(diǎn)云體素的中層甚至是高層語義信息,提高點(diǎn)云分類的質(zhì)量和效率。