徐 軍,尹長林,許文強
(1.湖南省第二測繪院,湖南 長沙 410009;2.自然資源部 南方丘陵區(qū)自然資源監(jiān)測監(jiān)管重點實驗室,湖南 長沙 410009;3.長沙市規(guī)劃信息服務(wù)中心,湖南 長沙 410013)
現(xiàn)有的傾斜攝影城市三維場景僅表達了城市的表面特征,缺乏語義信息,不利于深度應(yīng)用。為此,本研究提出了一種基于深度學習神經(jīng)網(wǎng)絡(luò)的傾斜攝影三維模型的語義分割方法。針對傾斜攝影三維格網(wǎng)轉(zhuǎn)換后的點云數(shù)據(jù),首先采用最小能量計算進行幾何分區(qū)和超點圖構(gòu)建,采取一種特征融合神經(jīng)網(wǎng)絡(luò)模型FF-PointNet(feature fusion-pointNet),實現(xiàn)點云局部特征和全局特征提取和融合,并將融合后的特征嵌入超點圖,最后采用圖卷積網(wǎng)絡(luò)進行語義分割。為提高模型泛化能力,采用focal loss作為損失函數(shù),同時對點云數(shù)據(jù)進行了數(shù)據(jù)增強處理。經(jīng)過實驗驗證,并與SPG模型進行對比,結(jié)果表明本文所提出的傾斜攝影三維語義分割方法具有較好的精度和適用性。
利用傾斜攝影平臺快速獲取多角度影像,已成為當前獲取空間數(shù)據(jù)的有效方式之一,尤其是在三維城市建設(shè)等領(lǐng)域有著獨特的優(yōu)勢。傾斜攝影具有數(shù)據(jù)采集速度快、生產(chǎn)成本低、自動化程度高、成果表達豐富等特點,近年來逐漸成為城市三維建模的主流方法。
但是傾斜攝影三維數(shù)據(jù)存在的一個普遍問題是缺乏語義信息,計算機無法自動識別和區(qū)分場景中的地面、樹木、建筑、道路等不同類型的語義信息,重建后的模型往往只能用于展示和瀏覽。語義分割是提取三維數(shù)據(jù)語義信息的必要手段,其目標是對感興趣的幾何要素對象(如三維點、面片等)自動分配一個類別標簽。當前已有的三維語義分割方法可以分為兩大類:一類是基于手工特征提取的方法;另一類是基于深度學習的方法。深度學習的方法隨著人工智能的發(fā)展近年來受到了越來越多研究者的重視。但整體上看,將深度學習應(yīng)用于三維語義分割是近幾年的研究熱點,但當前主要還是在神經(jīng)網(wǎng)絡(luò)模型研究階段,且大多針對室內(nèi)或者小范圍的局部三維點云數(shù)據(jù),在具體傾斜攝影城市三維語義分割的應(yīng)用研究方面并不多見。
本研究將結(jié)合傾斜攝影三維數(shù)據(jù)成果的特點,在已有研究成果基礎(chǔ)上,探討將神經(jīng)網(wǎng)絡(luò)應(yīng)用于三維模型的語義分割,提出一種傾斜攝影三維模型語義分割的較優(yōu)處理框架和方法。
傾斜攝影三維建模的最終數(shù)據(jù)成果為帶紋理的三維表面模型,如圖1(a)所示。該成果的幾何模型通常采用不規(guī)則格網(wǎng)表達,如圖1(b)所示。本研究基于傾斜攝影的三維表面模型進行語義分割,先重點考慮深度學習建模和大規(guī)模數(shù)據(jù)簡化處理的需要,提出數(shù)據(jù)模型處理的方法。
三維表面格網(wǎng)數(shù)據(jù)保留了數(shù)據(jù)尺度特征,而且具有空間拓撲關(guān)系。在連續(xù)三維空間中三角格網(wǎng)頂點的空間位置確定了每一個三角面片的幾何信息。為便于計算,本文選擇三角面片的頂點為計算單元對象[如圖1(c)所示],將三角格網(wǎng)的語義分割問題轉(zhuǎn)換為點云語義分割的問題。

圖1 傾斜攝影三維數(shù)據(jù)成果及轉(zhuǎn)換Fig.1 3D Data production and transformation of oblique photography
經(jīng)過表面格網(wǎng)轉(zhuǎn)換的點云,除了具有空間幾何信息、紋理顏色信息,同時還具備點與點之間的拓撲連接關(guān)系,它對描述局部特征具有重要價值。
為了減小后續(xù)深度學習的計算量,本研究采用全局能量最小化計算的方法對點云進行粗分割處理[1],將點云分割為不同的幾何區(qū)域。
借鑒Landrieu L提出的思想,將每個幾何分區(qū)稱為一個超點。同時,為了充分考慮局部和全局特征,基于圖理論構(gòu)建超點圖,用來實現(xiàn)超點之間鄰接關(guān)系的結(jié)構(gòu)化表達。具體思路和步驟如下:
1.2.1 點云幾何分區(qū)
假設(shè)輸入的點云集合為P,有n個三維點。每個點Pi∈S由其三維空間坐標和顏色屬性Pi={xi,yi,zi,ri,gi,bi}定義其特征,先對點云P進行粗分割,實現(xiàn)幾何分區(qū)和超點圖的構(gòu)建。
首先,采用空間鄰域幾何特征分析計算每個點的局部鄰域特征,包括局部線性、局部平面性、局部分散性、局部垂直度、高程值5個特征,特征值的計算方法基于點的局部協(xié)方差理論來計算。對于局部鄰域定義,采用K-鄰近方法。本文借鑒經(jīng)驗做法K值取20。不同于一般的K-鄰近在空間距離度量上采用歐氏距離,本研究充分考慮頂點之間的拓撲關(guān)系,采用基于Dijkstra最短路徑算法的表面格網(wǎng)模型的測地距離作為K-鄰近算法的距離度量。在計算局部特征的基礎(chǔ)上,構(gòu)建點云的隨機條件場模型,通過對模型中無向連通圖計算能量函數(shù),并采用圖割理論進行全局最優(yōu)求解。經(jīng)過計算后,每個超點的特征包含三維位置x、y、z、r、g、b、局部線性度、局部平面度、局部散度、局部垂直度、相對高程屬性,相比于原始的三維點,超點的特征維度從6維增加到了11維。
經(jīng)過幾何分區(qū)后,三維模型得到了有效切割,如圖2(b)所示每一個色塊表示一個分區(qū)結(jié)果。

圖2 幾何分區(qū)與超點圖構(gòu)建Fig.2 Geometric partition and super point graph construction
1.2.2 超點圖構(gòu)建
為了使得語義分割充分考慮局部和全局特征,需要構(gòu)建超點之間的關(guān)系圖,簡稱為超點圖。超點圖表達為 G={ζ,ε,η},其中ζ為超點集合,ε為超點之間的鄰接關(guān)系(稱之為“超邊”),η為鄰接關(guān)系特征。η通過比較相鄰的超點之間的空間形狀、位置等關(guān)系來確定。假設(shè)有相超點ζi,根據(jù)其位置計算得出,局部鄰域協(xié)方差矩陣對應(yīng)的特征向量值λ2≥λ1≥λ0≥0,定義超點的三個幾何特征:長度特征length、面積特征surface、體積特征volume三個特征,計算式為:length(ζi)=λ2, surface(ζi)=λ1λ2, volume(ζi)=λ0λ1λ2,則連接關(guān)系特征η用一個13維的特征向量來表達,如表1所示。通過計算各相鄰超點之間的鄰接關(guān)系特征,從而可以構(gòu)建一個具有13維特征信息的超點圖,如圖2(c)所示為超點圖的空間化表達,每一條連接邊包含了一個特征向量。
通過前述的點云幾何分區(qū)、超點圖構(gòu)建等一系列處理,每個超點具備了豐富的特征信息,并建立了超點之間的鄰接關(guān)系。本文設(shè)計了一個深度神經(jīng)網(wǎng)絡(luò)FF-PointNet(Feature Fusion PointNet),對超點進行進一步的特征融合,再對超點圖使用圖卷積網(wǎng)絡(luò)進行分割,總體語義分割流程如圖3所示。

圖3 三維深度學習語義分割流程Fig.3 semantic segmentation framework of 3d deep learning
FF-PointNet的模型結(jié)構(gòu)如圖4所示,它是一種基于多層感知機(MLP,Multilayer Perceptron)的前饋人工神經(jīng)網(wǎng)絡(luò)模型。
FF-PointNet網(wǎng)絡(luò)以具有11維特征的超點集為輸入。如圖4所示,n為超點集的點數(shù)。該網(wǎng)絡(luò)經(jīng)過兩個多層感知器(MLP)的特征進行串聯(lián),再進行最大池化處理,最后接入一個MLP對處理后的特征進行分類。該網(wǎng)絡(luò)的前兩個多層感知 機 分別 為 (64,128)的 MLP和 (128,128,256)的MLP,用于特征提取,提取后將第一個MLP輸入前后11維、128維的特征,以及第二個MLP輸入前后128維、256維的特征串聯(lián)在一起,最后進行最大池化處理,得到具有523維特征的點集,從而使得提取的局部特征與更為全局的特征進行了串聯(lián)融合。點云數(shù)據(jù)在空間上具有離散性和無序性,對分割結(jié)果會產(chǎn)生影響。本文借鑒PointNet的處理,先使用一個輸入11×11維的輸入變換網(wǎng)絡(luò),解決了點云空間信息輸入無序性的問題。相比較于PointNet,本文的神經(jīng)網(wǎng)絡(luò)模型不只是對空間坐標x、y、z三個維度特征進行融合,而且是對11維的空間進行了融合,具有更多的特征信息。

圖4 特征融合網(wǎng)絡(luò)FF-PointNetFig.4 Feature fusion network FF-PointNet
考慮到超點圖結(jié)構(gòu)的特殊性,每個超點的相鄰節(jié)點是不固定的,在深度學習上不適合用傳統(tǒng)的卷積方式,而適合使用圖卷積網(wǎng)絡(luò)來進行特征抽取。
本文所采用的圖卷積方法是建立在門控圖 神 經(jīng) 網(wǎng) 絡(luò)[2](Gated Graph Neural Networks,GGNN)和邊緣條件卷積[3,4](Edge-Conditioned Convolutions,ECC)的基礎(chǔ)上。本研究通過基于圖的邊緣卷積網(wǎng)絡(luò)方式學習超點與超邊的依賴關(guān)系 ,采用ECC完成最后的語義分類。
(1)損失函數(shù)選擇:考慮到點云不同類別樣本比例相差懸殊的問題,如城市場景建筑物點云與地面點云數(shù)量相差較大。為了緩解這種類別不均衡問題,本模型采用focal loss作為損失函數(shù)[5],具體計算如下:

式中,N表示點云數(shù)目,αfalse表示平衡因子,Pi, j表示點j屬于第i類的概率,γ false用來調(diào)節(jié)簡單樣本權(quán)重的系數(shù)。
(2)數(shù)據(jù)增強處理:為增加數(shù)據(jù)的多樣性,提高神經(jīng)網(wǎng)絡(luò)的泛化性能,本文對訓練與測試數(shù)據(jù)集采用3種數(shù)據(jù)增強策略:一是對位置x、y繞z旋轉(zhuǎn)一定角度,二是將x、y、z標準化投影到一個單位球中,即將變換到[-0.5,0.5];三是對三維位置x、y、z值加入擾動即高斯噪聲。
實驗數(shù)據(jù)來源無人機拍攝長沙某區(qū)域,搭載5個相機用于傾斜攝影,使用Smart 3D capture生產(chǎn)以osgb格式保存的三維傾斜攝影模型,其中訓練集包含30個模型數(shù)據(jù)集,測試集包含10個模型數(shù)據(jù)集。
本研究將同樣的數(shù)據(jù)使用SPG模型進行了分割對比,并采用分類精準率Precision、交并比IoU作為衡量分類結(jié)果的評價指標。其中,分類精準率Precision是分類正確的樣本數(shù)與預(yù)測為正的樣本總數(shù)的比值;交并比IoU表示的含義是模型對某一類別預(yù)測結(jié)果和真實值的交集與并集的比值。該兩個指標的計算公式分別如下:

圖5 傾斜攝影分割區(qū)域的實景三維圖Fig.5 Real 3D Map of Segmented Area in Oblique Photography

式中,TP、FP、FN分別為分類混淆矩陣中的真正例、假正例和假反例。本文根據(jù)該衡量指標,進行實驗得出的結(jié)果為:本文所提出方法的總體分類精準率為87.1%,總體交并比75.2%。SPG模型總體分類精準率為85.8%,總體交并比55.1%。語義分割的可視化結(jié)果如圖6所示:圖6(a)為原始實景圖數(shù)據(jù);圖6(b)為轉(zhuǎn)換成點云的數(shù)據(jù);圖6(c)為真值數(shù)據(jù);圖6(d)為SPG分割結(jié)果;圖6(e)為本文方法分割結(jié)果。各目標類型的分類精度和交并比結(jié)果如表2所示。對比圖中的提取結(jié)果,可以看出相比較于SPG分割,在建筑物上部分錯分類的點云得到改善。

圖6 分割結(jié)果可視化Fig.6 Visualization of Segmentation Results
本文針對傾斜攝影三維重建語義缺失的問題,提出了一種神經(jīng)網(wǎng)絡(luò)支持下的語義分割方法。該方法以傾斜攝影的三角格網(wǎng)的頂點數(shù)據(jù)為分割對象,構(gòu)建超點和超點圖,提出一種基于多層感知機的網(wǎng)絡(luò)模型進行特征提取和融合,再借助圖卷積神經(jīng)網(wǎng)絡(luò)進行語義分割,最后驗證了本文模型的有效性。
現(xiàn)實中點云往往疏密不均勻,而本文采用網(wǎng)絡(luò)FF-PointNet基于均勻采樣模式,在處理疏密相差很大的點云上還需要改進。此外,為擴展對三維應(yīng)用場景的支持,可增加對水域、道路和耕地等更多類別的語義分割。