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