種改進的全卷積網路鐳射點雲分類方法
宋伯宇1,2,彭 玲1,池天河1,吳 同1,2
(1.中國科學院 空天資訊創新研究院,北京 100094;
2.中國科學院大學,北京 100094)
摘 要:針對在三維空間對點雲卷積容易產生過擬合情況,影響點雲分類精度的問題,該文提出了一種融合空洞條件隨機場的三維點雲卷積方法,基於後處理的方式,引入的空洞條件隨機場可以對點雲中的點進行近鄰相似性懲罰並且根據預測結果調整特徵權重,從而有效減小過擬合效應,提高點雲分類的預測精度。本文在國際攝影測量與遙感協會(ISPRS)帶標籤點雲資料集上進行了對比實驗,結果表明:該文提出的方法在實驗區域點雲分類結果上優於其他方法,總體精度達到83.9%。平均F1分數達到71.0%。
關鍵詞:全卷積網路;條件隨機場;後處理;鐳射點雲;分類
0 引言
機載鐳射雷達(airborne laser scan ,ALS)系統[1]為獲取3D空間資料提供了一種新的技術方法。與主要在規則空間格網中提供光譜資訊的常用衛星影象不同,ALS系統以3D點雲格式捕獲資料,這提供了可靠的深度資訊,可用於精確定位物件並展現其結構。高精度點雲資料的可用性提高,為許多應用打開了更多的可能性,例如,生成數字高程模型[2]、3D建築物重建[3]和大型動態環境中的場景理解[4]。
在計算機視覺[5]、遙感以及攝影測量學[6]領域,提高點雲分類的準確性一直是研究的熱點。研究人員已經做了很多有意義的嘗試,文獻[7]提出的基於支援向量機(support vector machine, SVM)的城市點雲分類,文獻[8]提出的基於結合條件隨機場(conditional random field, CRF)的隨機森林方法的建築物點雲提取,國內的文獻[9]提出的融合Kdtree鄰域查詢的深度學習點雲分類方法。
在過去的幾年中,由於卷積神經網路表現出了具有提高點雲自動分類效果的潛力,使用卷積神經網路進行點雲分類逐漸成為研究的熱點。在幾個點雲分類的標準資料集的定量結果中,分類精度高的方法很多采用卷積神經網路模型。
在眾多應用卷積神經網路的點雲分類方法中,俄勒岡州立大學機器人技術與智慧系統研究所的研究者提出的點雲卷積方法(point convolution,PointConv[10])可以高效地對非均勻取樣的3D點雲資料進行卷積操作,效能卓越。該方法可以使用非均勻取樣點在3D點雲上進行卷積操作,減少了資料預處理的操作。在三維空間卷積過程中,透過多層感知機(multilayer percrptron, MLP)[11]模擬連續函式計算出相應的權重函式,並由於PointConv對卷積的完全近似,因此可以很自然地將PointConv擴充套件到點雲反捲積(point deconvolution, PointDeconv),在下采樣和上取樣過程中都應用到卷積操作,從而提高點雲語義分割的準確性。
但是在點雲分類的實驗中發現,只使用PointConv進行點雲分類容易受過擬合效應的影響, 容易在不同種類的點雲銜接處出現誤分類。為了解決該問題,本文提出將PointConv結合空洞條件隨機場(atrous conditional random field, A-CRF)來引入可控噪聲克服過擬合問題,使用人工標籤資料引入可控噪聲,增加近鄰懲罰,進而最佳化模型引數。本文提出的方法在瓦和因根Vaihingen資料集進行實驗,結果顯示,本文提出的結合A-CRF的PointConv方法在點雲分類任務中總體精度達到83.9%,平均F1分數為71.0%。
1方法
1.1 Atrous CRF空洞條件隨機場模型
由於只使用PointConv卷積模型來預測點雲容易產生過擬合問題[12],本文提出利用Atrous CRF(A-CRF)空洞條件隨機場模型來克服過擬合問題,提高模型的預測精度。A-CRF空洞條件隨機場模型具有計算點的相似性並且根據預測資訊調整特徵權重的作用,可以有效減小過擬合的影響。
A-CRF中Atrous的意思是選擇間隔的點進行計算,目的是減少計算量,節約計算記憶體[13]。為了便於直觀理解,圖1是在二維平面上選擇空洞近鄰點的示意圖,K代表選擇近鄰點的個數,D代表間隔的點數,選擇的近鄰點用黑色點表示,未選擇的點用淺色點表示,中心用黃色點表示。
只選擇K個近鄰點的原因是一片點雲資料可以佔據很大一塊空間,距離太遠的點相互之間幾乎沒有影響,透過忽略掉這些距離過遠的點,可以節省模型的計算時間。空洞條件隨機場模型的演算法如表1所示。
表1 A-XCRF演算法
Bf 和Sf 能作為近鄰懲罰函式是因為它們的值會隨著對應點之間的歐氏距離降低而增加,隨著對應點之間的歐氏距離增加而降低,也就是說,對於附近和類似的點,懲罰比重大;而對於較遠或不相似的點,懲罰比重較小。在演算法的第4步中,對高斯輸出進行加權,並在完整體系結構的訓練過程中對核心Wb和Ws進行更新。在第5步中,原始一元勢函式被更新。在第6步中,將一元勢函式與相似懲罰相結合,用來在迭代中更新一元勢函式。
訓練A-CRF演算法需要兩步過程。第1步是透過交叉驗證方法[14]訓練模型來尋找PointConv框架的最佳模型引數。交叉驗證部分對防止過擬合十分重要。
第2步利用第一步中經過驗證的模型訓練A-CRF空洞條件隨機場模型引數,使用未標記的測試資料集進行訓練,這些點的標籤是透過第1步的模型預測出來的,稱為人工標籤(Artificial label),見圖2。人工標籤的標記質量取決於第1步模型的準確性。第2步的基本思想是透過人工標籤來引入噪聲,從而反向讓PointConv模型更加按照A-CRF的懲罰方向來訓練模型引數。
為了維持經過驗證模型的準確性,第2步中的訓練過程會在兩個資料集(訓練資料集和帶有人工標籤的資料集)之間連續交換。在兩個資料集上的訓練都是透過交叉熵損失函式來計算,然後透過反向傳播演算法進行引數的更新。不同的是,對於訓練資料集,使用反向傳播演算法是Pointconv核心與A-CRF核心都更新,而對於人工標籤資料集,只更新Pointconv核心。
本文提出的方法是利用帶有標籤的訓練資料集訓練PointConv+ A-CRF模型的引數,將預測的結果與資料集標籤比對計算損失函式來更新Pointconv核心與A-CRF核心,將未標記的資料集放入PointConv+ A-CRF模型計算,得出的預測結果與PointConv模型對未標記資料集的直接預測結果進行比對,這裡相當於引入了可控的噪聲,透過計算損失函式來更新PointConv核心,來強迫PointConv模型遵循A-CRF空洞條件隨機場的近鄰懲罰規則,這兩個部分迴圈進行,直到收斂。經過訓練的模型,包括Pointconv卷積計算以及A-CRF交叉驗證,共同組成了最終的點雲分類器,見圖3。
圖3 點雲分類器
2實驗分析
2.1實驗資料
為了驗證本文提出方法的分類效果,本文在公開資料集上做點雲語義分割實驗,資料集選用國際攝影測量與遙感學會(International Society for Photogrammetry and Remote Sensing,ISPRS)[15]帶標籤點雲Vaihingen資料集。這個資料集是使用Leica ALS50系統獲取的機載鐳射掃描資料集,以平均飛行高度500m在德國Vaihingen村莊上方獲得。該資料集的平均點密度為每平方米6.7個點,並具有9個類別的語義標籤(電力線、低矮植被、地表、汽車、圍欄、屋頂、外牆、灌木叢和樹木)。在每個點檔案資訊裡儲存有三維座標(XYZ)、點強度資訊、距地表高度資訊(height above ground,HaG)和語義標籤等資訊。
按照ISPRS 3D資料集競賽的標準設定,根據場景區域將資料集分為兩部分。第一個場景(圖4場景1)作為訓練資料集具有753876個點,其他兩個場景(圖6場景2和場景3)作為測試資料集具有411722個點。表2顯示了每個場景的詳細類別分佈。
圖4 ISPRS 3D帶標籤資料集
表2 每個場景的點雲種類分佈
根據ISPRS資料競賽的標準,通常使用精度(precision),召回率(recall),F1分數和總體精度(overall accuracy,OA)來評估3D點雲語義分割的結果好壞。一般而言,總體精度OA用於評估所有類別的整體分類準確性,其定義為正確分類的點在總測試點中所佔的百分比。此外,F1分數綜合考慮了分類模型的精度和召回率,通常更適合類別不是均勻分佈的情況。每個類別的精度(precision),召回率(recall)和F1得分定義如下:
式中:TP(true positive)即真正類,代表被分類器正確標記為正的正元組;FP(false positive)即假正類,代表誤報,被分類器錯誤標記為正的負元組;FN(false negative)即假負類,代表漏報,被分類器錯誤標記為負的正元組。
2.2實驗引數
首先忽略Z軸,使用100 m×100 m的方塊對訓練資料集進行切片,得到12個數據塊,每塊包含25000~120 000個點。在這些資料塊中,有80%用於訓練,其餘的用於驗證,這裡需要注意的是要確保訓練資料和驗證資料之間沒有重疊。然後,再使用25 m×25 m的方塊對每個100 m×100 m的資料塊進行切片,這裡透過將初始資料塊移動12.5 m,即資料塊邊長一半的距離,進行切片,目的是使重新切片的每個資料塊之間所有邊緣重疊,進而增加資料塊的數量和每塊中點的數量。最終為訓練資料生成286個塊,為驗證資料生成44個塊,每個方塊裡點數在1300~9 000變化。採用相同的方式也對測試資料集進行了切片,生成了119個測試資料塊。需要注意的是,這時所有點的空間座標已經轉換為了區域性座標,原點位於該點所屬塊的中心。
本實驗將提出的方法部署在Tensorflow框架上,在網路訓練過程中,設定batch size為6,採用自適應矩估計最佳化器(adam optimizer),設定初始學習率為0.01,然後每3000步將學習率減半。在TITAN RTX 2080顯示卡上將本文模型訓練1000個epoch,直到最終收斂,用時大約9 h。
在A-CRF引數設定上,先假設每個引數對最後的交叉熵損失函式貢獻相等,將權重引數初始化為1。高斯濾波器引數使用網格搜尋進行初始化[14]。
A-CRF透過5次迭代(r)既更新A-CRF本身的引數,也更新PointConv引數用於最終預測。搜尋近鄰點在6個層次上進行,間隔點數D分別設為1、2、3、4、8和16,對於每個層次,都使用K=64,即搜尋64個近鄰點,因此,對於A-CRF考慮的最遠近鄰點是第1024點(K=64,D=16)。
2.3實驗結果
本實驗將ISPRS帶標籤點雲資料集的場景一部分當作訓練集,訓練本文提出的模型,直到收斂。然後將場景二和場景三中劃分好的區塊輸入模型中,進行預測。
本實驗合併了每個區塊的預測結果,獲得最終的點雲分割結果(圖5),圖中展示的是本文提出的模型在ISPRS資料集場景二和場景三上的預測結果,黑色的框包圍的地方是挑選的對分類結果進行細節展示的區域。本實驗還製作了分類結果的誤差圖(圖6),可以比較直觀地展示分類結果情況。由圖7和圖8的分類結果以及分類誤差可以看出,本文提出的方法可以準確地分類出大部分測試資料集的標籤。
透過觀察分類結果(圖5),可以很清晰地看出本文提出的模型在地表、屋頂、樹木類別分類準確,而且準確分類出了大部分的電力線,可以清晰地看出電力線的走向,這與本文使用空洞條件隨機場做後處理有很大關係,透過引入帶人工標籤的資料集進行相似性懲罰來提高模型的分類精度,尤其是對線狀型別的分類,電力線就是很好的例子。
圖5分類結果
圖6 分類誤差
結合分類結果(圖5)和誤差分類(圖6)可以看出,錯誤分類的部分主要集中在灌木叢與低矮植被交疊的地方,而地表、屋頂等大片區域基本達到正確分類。本文認為由於房屋附近植被情況複雜,很有可能出現不同植被混雜在一起的情況,很難做到完美分類。圖7(a)是用於參考的標準分類結果,圖7(b)是本文提出的使用A-CRF處理後的PointConv分類結果,圖7(c)是隻使用PointConv的分類結果。從圖中紅色圈出部分可以看出,只使用PointConv的分類結果在房屋旁本應被分類為樹木的點有一部分被錯誤分類到屋頂的類別,而加入本文提出的使用A-CRF處理後的PointConv分類結果則沒有出現這種誤分類,和作為參考的Groundtruth分類結果接近。
圖7 分類結果細節對比
根據分類結果在細節上的對比,可以看出PointConv對點雲的分類確實容易受到過擬合的影響,進而在不同種類的點雲銜接處出現誤分類,而本文提出的使用A-CRF做後處理在很大程度上解決了這個問題。
2.4對比分析
為了證明該模型的優勢,本文將其與參加ISPRS競賽的其他模型進行了比較。在該資料集測試中表現最佳的前8種模型分別為UM、WhuY2、WhuY3、LUH、BIJ_W、RIT_1、NANJ2、WhuY4,表3列出了本文方法模型與所有比較方法模型的OA和F1分數。
表 3本文方法與其他方法在Vaihingen資料集上的定量比較
從表3可以看出,本文提出的方法在平均F1分數上比其他方法得分都要高,並且在電力線、地表以及外牆的分類精度上比其他方法的最優值分別提高了6.2%、0.8%、3.8%。本文方法是在PointConv基礎上增加了條件隨機場後處理,與單獨的PointConv方法實驗結果相比,總體精度上提高了0.6%,平均F1分數提高了0.8%。
除此之外,還將本文模型與其他近期新提出的在點雲分類上流行的方法進行了比較,比較的模型包括PointNet++[16]、PointSIFT[17]和PointCNN[18],從表4可以看出,本文提出的方法在總體精度和平均F1分數上都優於其他3種方法,在點雲分類中有更好的表現。造成這種效能差異的主要原因是本文提出的方法在PointConv基礎上增加了空洞條件隨機場後處理,解決了過擬合問題。
表4 本文方法與基於點雲分類流行方法在Vaihingen資料集上的定量比較
3 結束語
本文提出了一種解決點雲卷積過擬合的方法,主要是將空洞條件隨機場A-CRF作為PointConv的後處理,並對A-CRF訓練過程進行改進,利用資料集的未標記部分來提高模型的預測準確性。本文提出的模型不僅可以真正實現在點雲上的卷積操作,還可以透過條件隨機場引入受控噪聲,防止過擬合發生。在預處理工作中,本文將點雲切成區塊,將距離地表高度資訊HaG以及點強度資訊作為感興趣特徵進行分析,PointConv被用作分類器。在後處理步驟,A-CRF可以被看成是一個深度學習層,強迫PointConv利用人工標記的點進行相似性懲罰。
使用ISPRS 3D帶標籤基準資料集進行了實驗,將本文方法與PointNet++、PointSIFT、PointCNN進行比較,還與已在基準資料集上測試的其他技術進行比較,結果表明,本文提出的方法在平均F1分數上達到了最優(71.0%),總體精度也接近目前最好的水平。
作者簡介:宋伯宇(1995—),男,河北廊坊人,碩士研究生,研究方向為地圖學與地理資訊系統。Email:[email protected]
基金專案:北京市科技計劃課題專案(Z191100001419002)
通訊作者:彭玲 研究員 E-mail:[email protected]
引用格式:宋伯宇,彭玲,池天河,吳同.一種改進的全卷積網路鐳射點雲分類方法[J].測繪科學,2021,46(5):77-83.