李梟,王雙亭,王春陽,都偉冰,趙利霞
(河南理工大學 測繪與國土信息工程學院,河南 焦作 454000)
隨著多視影像密集匹配技術的發展[1],可以較為容易地獲取到類比于激光點云精度和密度的傾斜攝影測量點云。該點云主要用于后續的三維建模,基于傾斜影像所構建的三維模型僅是一個單一的表面模型,缺乏語義信息,所以如何在點云層面自動判別場景內的地物并完成建模,實現地物的單體化有著重要的研究意義。
點云分類是三維建模的第一步也是非常重要的一步[2]。目前,點云分類的研究主要集中在激光點云,主要通過有監督的機器學習來進行。Zhang等[3]采用支持向量機(support vector machine,SVM)對3個不同密度的激光點云數據集進行分類處理,并利用連通域分析進行后處理優化。Ni等[4]利用隨機森林(random forest,RF)對聚類后的點云數據進行分類,并設置一定的語義規則對錯分現象進行修正。Xu等[5]結合機載掃描點云對5種常見的分類器的分類效果進行了系統性的分析。而針對傾斜攝影測量點云的分類研究相對較少,比較代表性的有何雪等[6]將點云與影像進行結合,構建超體素,并采用上下文關系進行優化處理,收到了較好的分類效果;趙利霞等[7]利用隨機森林對幾何和光譜特征進行優選,減少了特征冗余現象,有效地提高了分類的效率。
上述分類方法均通過監督分類的方式進行。有監督的機器學習通常利用全部訓練集進行一次分類,這會導致分類的效率和精度很大程度上都受到訓練集的影響。人為選取的訓練樣本存在較大的主觀性,不可避免地存在一些冗余甚至“負作用”的數據。此外,上述文獻中所利用的后處理優化方式,需要大量參數、閾值以及規則的設置,優化過程的自動化程度較低。
為了解決上述問題,本文利用信息熵改進隨機森林,利用小樣本不斷迭代的方式,逐步抽取“信息含量”高的訓練數據參與分類,充分挖掘訓練集的分類能力。針對優化過程自動化程度不高的現象,本文構建了循環置信傳播網絡(loopy belief propagation,LBP)[8]。該方法通過鄰域內信息傳遞的方式,使鄰近的點云類別趨近相同從而達到優化分類結果的目的。
本文的分類框架由三部分組成:數據預處理;利用信息熵改進的隨機森林初次分類;利用LBP算法對初步分類結果進行優化。詳細的技術流程如圖1所示。

圖1 技術流程
由于傾斜攝影測量點云是高密度的三維彩色點云,所以要對數據進行預處理,處理過程主要遵循以下步驟:
①保留原始特征情況下對點云進行降采樣。
②利用布料模擬濾波算法(cloth simulation filtering,CSF)[9]對點云進行濾波,將地面點作為一類納入分類結果。該算法模擬了虛擬布料覆蓋于倒置點云的簡單物理過程,通過設定布料節點和激光點的距離閾值將點云分為地面點和非地面點。
③考慮每個非地面點與鄰域內其他點的歐式距離,設定閾值進行離散噪聲點的濾除。
④選擇大約10%的點云作為訓練集,選取一定數量的點作為驗證數據。
傾斜攝影測量點云區別于激光點云,有真實的紋理信息,本文特征的計算主要從幾何特征和光譜特征2個方面進行,兩者融合有助于提高分類效果[10],鄰域大小為K(K=8)。本文采用的特征集如下:
①協方差系列特征。包括法向量nx、ny、nz,線性(linearity,Lλ),平面性(planarity,Pλ),球度性(scattering,Sλ)以及各向異性(anisotropy,Aλ),這些特征均反映了點云的鄰域內的空間分布[11]。
②高程系列特征。包括歸一化高程、鄰域高程差異以及鄰域高程標準差,這些特征能夠反映點云的高度變化,有助于區分存在高程差異的地物。
③顏色模型特征。包括HSV顏色模型和Lab顏色模型,這兩者顏色特征區別于RGB顏色,加入了感官特征,反映點云顏色的明暗和深淺。
④植被指數特征。包括差異植被指數(visible-band difference vegetation index,VDVI)、歸一化綠藍差異指數(normalized green-blue difference index,NGBDI)、紅綠藍植被指數(red-green-blue vegetation index,RGBVI)。植被指數特征的加入有助于區分植被和非植被地物。
信息熵是信息不確定性的描述[12],信息熵越大,表示信息不確定性越高,信息含量越高。本文引入二次Renyi熵作為評價信息不確定性的標準。二次Renyi熵可以通過歸一化處理后的式(1)得到
(1)
式中:R2(X)表示二次Renyi熵值;p(xi)表示某個點第i個的類別標簽的概率;n表示類別個數。
隨機森林在點云分類領域有良好的表現[13-14],所以本文將二次Renyi熵與隨機森林結合,提出一種改進的監督分類方法。具體的算法流程如下:
①對原始訓練集進行抽樣(10%)作為初始迭代的子訓練集,剩余數據作為迭代過程中更新訓練集的數據源。
②首次迭代,獲得初次的分類結果。將每個點預測類別的投票數轉化為概率值,計算所有點云的二次Renyi熵值。
③從剩余的訓練集中選取熵值較大的一定數量(初始子訓練集的1/3~1/2)的點作為下次迭代所增加的新數據,更新訓練集,并在剩余訓練集中對應剔除,保證所選取的訓練集不冗余。
④滿足迭代次數,輸出分類結果(類別標簽;類別標簽概率;優選的訓練集)。
在上述算法流程中,更新訓練集所添加的數據為本次迭代過程中熵值較大的一些點,熵值越大代表著這些點標簽不確定性和信息含量越高,但是由于其真實類別標簽已知,所以本文將這些數據作為已知信息加入下一次迭代,不斷優化分類結果。
傳統分類方法在沒有空間關系作為先驗知識的情況下進行分類過程,依據所得到的類別標簽概率去標記每個點的類別是存在一定局限性的。因此,基于單點的分類過程不可避免地會出現散亂點錯分的現象,即常見的“椒鹽”現象。
為了改善這種現象,本文引入在圖像分割領域常用的多級logistic(multi-level logistic,MLL)模型函數,它能夠促使圖像分割時鄰近像素更可能地被分為一類[15-16]。本文利用MLL模型作為描述點云類別標簽空間約束關系的先驗概率,計算方式如式(2),當點i和j的類別標簽xi和xj一致時,該函數會賦予較大的權重,促使鄰近點更可能被標記一致。在引入先驗概率的基礎上,獲取每個點的最大后驗概率(maximum a posteriori,MAP)是優化過程的核心。
(2)
式中:Z表示歸一化常數;μ表示平滑度;C表示點云的鄰域范圍;δ(xi-xj)是一個單位脈沖函數,當xi=xj時,函數值為1,反之為0。
最大后驗概率可以通過求解最大后緣概率(maximum a posteriori marginal,MPM)的方式來進行[17]。因此,本文構建了LBP網絡,通過求解置信度的方式來獲取最大后驗邊緣的概率分布,以此確定每個點的類別標簽。置信傳播是一種特殊的馬爾科夫隨機場(markov random filed,MRF),它描述了每個點的類別標簽獨立于整個點云而只依賴于鄰近其他點。其中,2個能量函數關聯勢φi(xi,yi)和交互勢ψij(xi,xj)分別利用初次分類結果的類別標簽概率和MLL模型構建的空間約束的先驗概率表示。
置信傳播通過信息傳遞的方式,將該點的信息經過加權處理傳遞到鄰域的其他節點,以影響其他節點的概率分布。經過一定次數的迭代,每個點的概率分布將會處于一個穩定的狀態[18]。每個點通過所有接收到的信息來計算置信度[8],以此確定每個點的類別標簽。本文循環置信傳播過程采用標準最大乘置信度傳播(max-product,MP),算法借鑒文獻[16]。圖2表示某次迭代過程中信息傳遞情況。

圖2 信息傳遞
置信傳播過程中信息傳遞和置信度的計算公式如式(3)、式(4)所示:
(3)

(4)

迭代結束后,選擇置信度高的類別標簽對所有點云進行重新標記,如式(5)所示,得到優化后的分類結果。
xi=argmaxbi(xi)
(5)
本文使用的數據為鶴壁市某區域的傾斜攝影測量點云,研究區域占地0.51 km2,點云數量為1 430 003個,如圖3所示。我們利用Matlab 2016a和開源軟件Cloud Compare平臺驗證本文提出的分類框架。本次分類只針對非地面點,所以使用布料模擬濾波算法對地面點進行濾除,濾波結果如圖4所示,其中,圖4(a)為濾波后的地面點數據,將其納為單獨的地物類別,圖4(b)為后續待分類的點云數據集。

圖3 研究區域圖示

圖4 布料模擬濾波結果
針對濾波后的非地面點進行去噪處理。得到參與分類的點云數據集如表1所示。

表1 實驗數據集 /個
本文改進的隨機森林算法是利用小樣本迭代的方式進行的,所以對原始訓練集抽樣方式的研究也是一個值得討論的問題??紤]到不平衡數據的存在,為了使每一類的點云都會被抽取到,本小節主要對等概率和等數量2種抽樣方式進行簡單分析。前者在抽樣過程中保留了原始訓練集不同類別點云數量的比例,后者保證每類點云都能抽到相同數量。圖5表示2種抽樣方式的迭代過程。從圖5(a)、圖5(b)可以發現2種抽樣方式進行的迭代分類,分類精度曲線均呈現一種先上升后穩定的趨勢,但是,相對于等數量抽樣,等概率抽樣最大限度地模擬了原始訓練集,該抽樣方法能夠獲得較高的初次分類的精度,而且變化曲線相對比較平穩,可以提高算法運行的穩定性,所以本文的研究也將延用該種抽樣方式。

圖5 不同抽樣方式迭代過程
圖6表示算法改進前后分類結果的對比情況。從圖中可以看出,當迭代進行到第三次時,改進后算法的分類結果中總體精度和Kappa系數都已經超過傳統算法,隨著迭代的進行,分類精度還有一定的提高。此外,迭代到第三次所耗費的總時間僅為149.14 s,而利用全部訓練集進行傳統隨機森林分類則會消耗333.54 s。本文的方法雖然分類精度并沒有較大的提升,但是算法的運行效率卻有了很大的提高。其次,從圖6中可以發現隨著訓練集的不斷增加,分類的精度趨于穩定甚至略有下降,說明新添加的訓練集對整體的分類效果并沒有產生促進作用,這些數據的加入反而使得訓練樣本冗余,甚至會出現一些“負作用”的數據。所以訓練集的優選對提高分類的精度和效率有十分重要的意義。

圖6 算法改進前后分類結果的對比情況
此外,針對不同點云數據集進行了大量的實驗發現,本文提出的改進算法均能在較短的迭代次數內使分類精度達到峰值(一般為3~5次),隨著迭代的進行分類精度將會保持穩定狀態。
為了驗證優選的訓練集能否達到預期的分類效果,選擇第三次迭代過程的訓練集參與隨機森林分類,從表2可以看出,利用優選出的訓練集進行實驗,能夠在保證分類精度的前提下,將運行時間縮短80.15%,運行效率大大提高。所以,信息熵改進的隨機森林方法能夠優選出一組適合于該分類模型且分類能力較強的子訓練集,同時能夠為該數據集后續的二次使用節約運行成本。

表2 訓練集優選前后對比結果
在以下小節中,對文中提出的分類框架和傳統單點分類的結果進行定性和定量的分析,并引入一些常用的分類算法進行對比實驗。此外,文末還對分類框架的適用性進行了簡單的實驗分析。
1)定性分析。圖7(a)、圖7(b)表示基于單點的隨機森林分類和文中提出的分類框架二者分類結果,圖7(c)至圖7(f)表示局部放大圖。圖7(c)、圖7(e)反映了基于單點的分類中出現散亂點錯分的“椒鹽”現象,其中,大量散亂的植被點云被錯分為建筑物。從圖7(d)、圖7(f)中可以看出,引入LBP算法進行優化后,錯分的植被點基本都被修正,說明文中提出的分類框架對解決基于單點分類中的“椒鹽”現象十分有效。

圖7 分類結果可視化
但是本文提出的分類框架也有著一定的局限性,對于成團簇結構錯分的點云,優化能力有限。從圖8(a)、圖8(b)的黑色框中可以發現,圖8(a)中植被錯分為建筑物的點云僅有散亂點錯分現象被修正,對于團簇結構錯分的點云,并沒有起到多大的效果,甚至將原本類別標簽正確的一些點錯誤標記。這是由于在LBP算法優化過程中,這些點局部鄰域范圍內存在大量錯誤標記的點云,信息傳遞過程中這些點被賦予了較大的權重信息,隨著迭代的進行,錯誤信息進行了放大,從而出現了原始標簽正確但優化后被標記錯誤的現象。

圖8 未修正現象
2)定量分析。本小節中對2種分類方法進行定量的分析。為了驗證算法的有效性,引入了總體精度、Kappa系數、查準率、查全率以及F分數作為評判標準。從表3、表4的結果可以看出,本文提出的方法分類的總體精度較傳統方法提高了2.15%,Kappa系數增加了4.22%。從兩表的查準率可以發現,表4中每一類地物的分類準確性較表3都有一定程度的提高,其中,車輛點的分類準確性較傳統方法提高了13.43%。相比于其他2種地物,車輛點通常情況下為獨立地物點且不與其他地物點發生“粘連”現象,這使得車輛點局部鄰域內點的類別更可能為車輛。在LBP算法信息傳遞過程中,車輛點的高權重信息影響了其鄰域內錯分點云的概率分布,錯分點云被修正,致使車輛的分類準確性大幅提高。由此可見,文中提出的分類框架的分類性能較傳統方法更優。

表3 傳統隨機森林分類結果

表4 本文提出的方法分類結果
同時,本文還引入了目前比較常用的分類器對該數據集進行分類處理。從表5中可以看出,本文傾斜攝影測量點云的分類框架相比于其他幾種分類器的分類結果有著較高的分類精度。此外,為了驗證本文分類框架的適用性,將分類框架中的隨機森林分類器替換為SVM分類器,利用二次Renyi熵改進傳統SVM,并利用LBP算法進行后處理優化。從表5中的實驗結果發現,改進后的算法較傳統SVM分類效果更好,總體精度提高了3.19%,Kappa系數提升了6.25%,說明本文分類框架具有適用于不同傳統分類器的能力。

表5 多種分類器分類結果
針對目前點云分類過程大多缺乏對訓練集的考慮,以及后處理過程自動化程度較弱的兩種現象,本文提出了一種新的分類框架,利用二次Renyi熵改進傳統的隨機森林,構建LBP網絡做優化,并對算法進行了驗證,得出了以下結論:①信息熵改進的傳統隨機森林算法能夠在很短的時間內達到傳統分類精度,效率成倍提高,優選的訓練集仍有很高的分類能力。因此在數據量較大的情況下建議使用。②通過迭代過程發現,隨著訓練集數量的增加,分類精度并不會呈現正相關趨勢,反而保持平穩甚至略有下降。③置信傳播的優化處理過程高度自動化,能夠提高分類精度,改善“椒鹽”現象。④分類框架具有較強的適用性,替換分類器依舊可以獲得很好的分類效果。⑤LBP優化算法對成簇狀錯分點云的修正能力有限,仍需改進。