董昱程
(昆明能訊科技有限責(zé)任公司,云南 昆明 650217)
電力建設(shè)是國(guó)民經(jīng)濟(jì)建設(shè)的重要組成部分,其中輸電線路和電力桿塔是電力系統(tǒng)的重中之重,是發(fā)電廠、變電站、配電設(shè)備和電力用戶的紐帶,電力桿塔又是連接輸電線路的重要組成部分。隨著國(guó)民經(jīng)濟(jì)的飛速發(fā)展,電網(wǎng)規(guī)模日益龐大,電網(wǎng)結(jié)構(gòu)日趨復(fù)雜,對(duì)電力設(shè)施安全性、可靠性及其運(yùn)行狀態(tài)的實(shí)時(shí)性監(jiān)測(cè)要求越來越高。由于輸電線路往往距離長(zhǎng)、覆蓋范圍廣,因此電力桿塔巡檢就成為電網(wǎng)運(yùn)營(yíng)維護(hù)、確保電力安全可靠運(yùn)行的一項(xiàng)重要內(nèi)容。
激光雷達(dá)技術(shù)(LiDAR)是近20年來發(fā)展非常迅速的遙感技術(shù),它通過發(fā)射激光脈沖、接收返回的脈沖信號(hào),經(jīng)過系統(tǒng)處理來獲取目標(biāo)的三維空間信息。機(jī)載LiDAR即將LiDAR 系統(tǒng)安置于機(jī)載平臺(tái)(包括飛機(jī)、直升機(jī)和無人機(jī)等)對(duì)地物進(jìn)行掃描來獲取地物空間信息,在不需要大量地面控制點(diǎn)的情況下即可快速獲取地表各種地物高密度、高精度的三維空間信息,并且能部分地穿透植被獲取林下地形信息,因此逐漸被引入到輸電線路巡線中,當(dāng)前的應(yīng)用主要涉及輸電線走廊的激光點(diǎn)云處理。
點(diǎn)云是目前攝影測(cè)量、遙感、計(jì)算機(jī)視覺等多個(gè)領(lǐng)域廣泛應(yīng)用的數(shù)據(jù)源之一,而信息提取是點(diǎn)云處理、分析和應(yīng)用的必經(jīng)環(huán)節(jié)。點(diǎn)云分類又是點(diǎn)云數(shù)據(jù)處理的重要環(huán)節(jié),快速高精度的點(diǎn)云分類有助于后續(xù)工作的展開。點(diǎn)云分類的目的是將獲取的原始激光點(diǎn)云標(biāo)記為地面點(diǎn)、植被點(diǎn)、建筑點(diǎn)、輸電線路點(diǎn)、桿塔點(diǎn)等,這是生產(chǎn)DEM和分析輸電線路安全以及建模的基礎(chǔ)。地面點(diǎn)和導(dǎo)線點(diǎn)分類一般可以基于高程特征自動(dòng)識(shí)別;植被點(diǎn)、建筑點(diǎn)、道路點(diǎn)、桿塔點(diǎn)云和絕緣子等精細(xì)電力設(shè)施往往需要結(jié)合相關(guān)算法和手動(dòng)標(biāo)注。
近年來,深度學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò)的方法由于強(qiáng)大的表達(dá)能力和特征抽象能力,在許多領(lǐng)域取得了突破性的成功,利用深度學(xué)習(xí)來對(duì)三維點(diǎn)云進(jìn)行分類,也成為一個(gè)越來越受重視的研究方向。PointNet是其中具有代表性的研究成果,該模型開創(chuàng)性地利用深度學(xué)習(xí)模型對(duì)點(diǎn)云進(jìn)行分類,取得了較好的效果,可以運(yùn)用與桿塔點(diǎn)云的精細(xì)分類。
點(diǎn)云分類是點(diǎn)云處理領(lǐng)域中十分重要的一項(xiàng)任務(wù)。傳統(tǒng)的點(diǎn)云分類方法是通過手工提取的特征來捕捉點(diǎn)云的幾何屬性,由于手工提取無法完全利用三維點(diǎn)云的全部信息,因而該方法的分類精度存在瓶頸。深度學(xué)習(xí)興起之后,研究者開始探索利用深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)點(diǎn)云特征。典型的處理方法是將點(diǎn)云數(shù)據(jù)轉(zhuǎn)換為體素表示,進(jìn)而在三維深度學(xué)習(xí)模型上進(jìn)行特征提取,完成分類任務(wù)。三維體素的表示形式完整地保留了原始三維形狀信息,因而具有較好的特征鑒別力。但是該方法對(duì)內(nèi)存的開銷很大,導(dǎo)致在實(shí)際情況下無法使用分辨率高的體素網(wǎng)絡(luò)。斯坦福大學(xué)的Qi[1]等人提出了PointNet模型,開創(chuàng)性地利用深度網(wǎng)絡(luò)直接處理不規(guī)則的三維點(diǎn)云數(shù)據(jù),模型以原始的點(diǎn)云作為輸入,是一個(gè)可以同時(shí)進(jìn)行分類和分割的聯(lián)合結(jié)構(gòu),在分類任務(wù)上取得了較好的效果。但該模型仍存在一個(gè)明顯的不足,即沒有考慮到點(diǎn)云的局部結(jié)構(gòu),這也導(dǎo)致其識(shí)別細(xì)粒度模式的能力以及對(duì)復(fù)雜場(chǎng)景的泛化能力較差。本文針對(duì)此問題,設(shè)計(jì)了一個(gè)基于圖卷積網(wǎng)絡(luò)的分類模型,提出了一個(gè)kNN graph 層,通過在點(diǎn)云空間構(gòu)造k近鄰圖,利用圖結(jié)構(gòu)獲取局部信息,進(jìn)而提高分類準(zhǔn)確率。
LiDAR作為一種快速、全天候、精確獲取地面三維數(shù)據(jù)的技術(shù),在現(xiàn)階段LiDAR技術(shù)隨著軟硬件的發(fā)展也取得了全面的發(fā)展并受到了極大的重視。LiDAR(Light Detection And Ranging)集中體現(xiàn)了激光技術(shù)、計(jì)算機(jī)技術(shù)、全球定位系統(tǒng)(GPS)和慣性導(dǎo)航系統(tǒng)(INS)3種技術(shù)的結(jié)合。LiDAR以其快速、全天候、精確、直接獲取地面二維數(shù)據(jù)信息的特點(diǎn),在城市三維建模中扮演著越來越重要的角色。
隨著機(jī)載激光雷達(dá)傳感器的發(fā)展,機(jī)載LiDAR點(diǎn)云數(shù)據(jù)的可獲得性在不斷提高,其自動(dòng)處理與分類也已成為攝影測(cè)量與遙感、計(jì)算機(jī)視覺等諸多領(lǐng)域的研究重點(diǎn)與熱點(diǎn)。盡管機(jī)載LiDAR點(diǎn)云數(shù)據(jù)在如建筑物檢測(cè)與重建、電力線的識(shí)別與建模、植被分類與提取、道路、路邊石以及道路標(biāo)志的提取等方面都有著廣泛的應(yīng)用,但由于點(diǎn)云密度不均、分布離散以及場(chǎng)景復(fù)雜等多方面因素的影響,使得機(jī)載LiDAR點(diǎn)云的動(dòng)高精度分類仍存在較大挑戰(zhàn)。
雖然機(jī)載LiDAR點(diǎn)云數(shù)據(jù)具有場(chǎng)景復(fù)雜、目標(biāo)豐富、密度不均勻以及含有噪聲等特點(diǎn),使得現(xiàn)有三維場(chǎng)景目標(biāo)提取識(shí)別方法自動(dòng)化程度不高、識(shí)別準(zhǔn)確率不高。且由于現(xiàn)實(shí)場(chǎng)景的復(fù)雜性以及LiDAR點(diǎn)云數(shù)據(jù)存在噪聲點(diǎn)等原因,導(dǎo)致目前點(diǎn)云后處理中識(shí)別和分類的效率較低。電力鐵塔的空間結(jié)構(gòu)十分復(fù)雜,模型結(jié)構(gòu)多,桿塔形狀多。激光雷達(dá)采集的電力桿塔點(diǎn)云,很難用傳統(tǒng)方法快速準(zhǔn)確分類。
2.3.1 點(diǎn)云具有無序性
受采集設(shè)施以及空間坐標(biāo)系的影響,物體運(yùn)用不同的設(shè)施掃描或者在不同的地點(diǎn)掃描,點(diǎn)云數(shù)據(jù)的次序都會(huì)大不相同,所以不容易直接經(jīng)過模型對(duì)其進(jìn)行相關(guān)的處理。
2.3.2 點(diǎn)云具有稀疏性
在自動(dòng)駕駛和機(jī)器人的場(chǎng)景當(dāng)中,雷達(dá)激光的采樣點(diǎn)的覆蓋尺度相對(duì)于場(chǎng)景的所有尺度來說,具有非常大的稀疏性。在KITTI數(shù)據(jù)集中,如果把未經(jīng)過加工處理的雷達(dá)激光點(diǎn)云映射到相應(yīng)的彩色圖片上,大約只有4%的像素才能有相對(duì)應(yīng)的雷達(dá)點(diǎn)。因此,讓基于點(diǎn)云數(shù)據(jù)的分類和語義感知成為了難題。
2.3.3 點(diǎn)云信息量有限
點(diǎn)云的數(shù)據(jù)結(jié)構(gòu)是由一些三維空間的點(diǎn)的坐標(biāo)構(gòu)成的點(diǎn)集,實(shí)質(zhì)上是對(duì)世界三維幾何形態(tài)的弱分辨率的重采樣,所以只能得到比較少的幾何信息。
在深度學(xué)習(xí)中,為了充分利用點(diǎn)云數(shù)據(jù)的特性,降低網(wǎng)絡(luò)的計(jì)算復(fù)雜度,基于原始點(diǎn)云的網(wǎng)絡(luò)模型逐漸被提出。PointNet是直接對(duì)無結(jié)構(gòu)的點(diǎn)云應(yīng)用深度學(xué)習(xí)的網(wǎng)絡(luò)架構(gòu)來處理點(diǎn)云的分類及分割任務(wù)。該框架主要解決點(diǎn)云稀疏性、置換不變性和轉(zhuǎn)換不變性問題??紤]到點(diǎn)云的稀疏性,PointNet的研究人員并未將點(diǎn)云轉(zhuǎn)換為多視圖或是體素網(wǎng)格,而是對(duì)點(diǎn)直接進(jìn)行處理。針對(duì)置換不變性,采用多層感知機(jī)(MLP)對(duì)每個(gè)點(diǎn)獨(dú)立的提取特征,進(jìn)而使用最大池化層將所有點(diǎn)的信息聚合得到全局特征。此外,該框架還引入了轉(zhuǎn)換網(wǎng)絡(luò),通過構(gòu)造轉(zhuǎn)換矩陣對(duì)輸入點(diǎn)云和特征進(jìn)行空間對(duì)齊以解決轉(zhuǎn)換不變性問題。雖然PointNet對(duì)點(diǎn)云分類及分割取得的效果良好,但并未考慮點(diǎn)與點(diǎn)之間的關(guān)系及局部鄰域信息,因此,在處理大場(chǎng)景點(diǎn)云時(shí),會(huì)導(dǎo)致細(xì)節(jié)信息的丟失。
PointNet是一種直接消耗原始點(diǎn)云的新型深度神經(jīng)網(wǎng)絡(luò),很好地處理了輸入點(diǎn)集的無序性。PointNet運(yùn)用深度神經(jīng)網(wǎng)絡(luò)中的最大池函數(shù)來解決點(diǎn)云的無序性難題,運(yùn)用共享網(wǎng)絡(luò)參數(shù)的形式來解決維度的改變問題,并且都取得了不錯(cuò)的成績(jī)。
3.1.1 PointNet體系結(jié)構(gòu)
如圖1所示為PointNet的網(wǎng)絡(luò)結(jié)構(gòu),分類網(wǎng)絡(luò)N個(gè)點(diǎn)作為輸入,輸入的點(diǎn)和特征經(jīng)過轉(zhuǎn)化,然后用max pooling聚合點(diǎn)的特征。最后分別輸出K個(gè)類的分類分?jǐn)?shù)。分割網(wǎng)絡(luò)是對(duì)分類網(wǎng)絡(luò)的擴(kuò)充,它可以聚合全局特征和局部特征然后輸出每個(gè)點(diǎn)的分?jǐn)?shù)?!癕LP”代表多層感知器,括號(hào)內(nèi)的數(shù)字是每層的大小。所有層的Batchnorm用的是Relu函數(shù)。分類網(wǎng)絡(luò)中的最后一個(gè)MLP使用的是Dropout層。
圖1 PointNet網(wǎng)絡(luò)結(jié)構(gòu)示意圖
PointNet的網(wǎng)絡(luò)有3個(gè)關(guān)鍵模塊:解決無序性問題的對(duì)稱函數(shù)、聚合局部和全局的信息和共享對(duì)齊網(wǎng)絡(luò)。
3.1.2 解決無序性問題的對(duì)稱函數(shù)
為了實(shí)現(xiàn)一個(gè)不受輸入順序影響的網(wǎng)絡(luò)模塊,PointNet運(yùn)用一個(gè)對(duì)稱函數(shù)來聚合每個(gè)點(diǎn)的信息。這里對(duì)稱函數(shù)將n個(gè)向量作為輸入,并輸出一個(gè)與輸入順序無關(guān)的新向量。對(duì)稱函數(shù)近似定義一個(gè)在點(diǎn)集上的一般函數(shù):
當(dāng)f:2RN→R,h:RN→Rk,是對(duì)稱函數(shù)。
這個(gè)基本模塊用多層感知器網(wǎng)絡(luò)來近似h,g由單個(gè)變量函數(shù)和最大池函數(shù)組成。實(shí)驗(yàn)發(fā)現(xiàn),經(jīng)過h集合,網(wǎng)絡(luò)能夠?qū)W習(xí)一些f來捕捉集合的差異特性。雖然模塊看起來簡(jiǎn)單,但它實(shí)現(xiàn)效果好。
3.1.3 聚合局部和全局的信息
上一節(jié)的輸出形成一個(gè)向量[f1,...fk]它是輸入點(diǎn)集的全局標(biāo)簽。PointNet能夠很容易的在全局特征上訓(xùn)練SVM或者多層感知機(jī)來進(jìn)行形狀分類。然而點(diǎn)的分割需要局部和全局特征的結(jié)合。其實(shí)可以用一種簡(jiǎn)單而高效的方式來實(shí)現(xiàn)這一點(diǎn)。解決方案可以在圖1中的分割網(wǎng)絡(luò)部分看到。在計(jì)算好全局點(diǎn)云特征向量之后,將全局特征與每個(gè)點(diǎn)的特征串聯(lián)起來,將其反饋到每個(gè)點(diǎn)的特征。而后基于組合點(diǎn)的特征提取新的點(diǎn)的特征,此時(shí)每點(diǎn)特征都包含部分和全局的特征信息。
3.1.4 共享對(duì)齊網(wǎng)絡(luò)參數(shù)
當(dāng)點(diǎn)云經(jīng)歷某些幾何變換(如剛性變換)時(shí),點(diǎn)云的語義標(biāo)簽是不變的。因此,我們期望我們的點(diǎn)集可以通過學(xué)習(xí)使得網(wǎng)絡(luò)對(duì)這些轉(zhuǎn)換不改變點(diǎn)云的語義標(biāo)簽。一種處理方法是在特征提取之前將全部輸入點(diǎn)集與標(biāo)準(zhǔn)空間對(duì)齊。關(guān)于此方法Jaderberg等人引入了空間變換的思想,在GPU上通過采樣和插值在一個(gè)特定的定制層來實(shí)現(xiàn)2D圖像的對(duì)齊。而PointNet的點(diǎn)云輸入形式使我們能夠以更簡(jiǎn)單的方式實(shí)現(xiàn)這一目標(biāo)。PointNet由一個(gè)迷你網(wǎng)絡(luò)(圖1中的T-net)來預(yù)測(cè)仿射變換矩陣,從而直接將此轉(zhuǎn)換矩陣應(yīng)用于原始點(diǎn)的坐標(biāo)。這個(gè)迷你網(wǎng)絡(luò)自身接近于一個(gè)大型網(wǎng)絡(luò),由點(diǎn)的獨(dú)立特征提取、最大池層和全連層這些基本模塊組成。這個(gè)方法能夠進(jìn)一步的擴(kuò)展到特征空間的對(duì)齊。PointNet能夠預(yù)測(cè)特征轉(zhuǎn)換矩陣,并在點(diǎn)的特征上插入另一個(gè)對(duì)齊網(wǎng)絡(luò),以便實(shí)現(xiàn)來自不同輸入點(diǎn)的特征對(duì)齊。但是,特征空間中的變換矩陣比空間變換矩陣具有更高的維數(shù),極大的提高了優(yōu)化的難度。因此,PointNet增加了softmax函數(shù)來計(jì)算與標(biāo)注樣本間的損失。PointNet將特征變換矩陣近似為正交矩陣:
式中:I為;A為
結(jié)果發(fā)現(xiàn)通過增加函數(shù)softmax,優(yōu)化變得比之前穩(wěn)定,而且使模型實(shí)現(xiàn)了更好的功能。
如圖2所示這部分展示的是PointNet的應(yīng)用。從左到右依次是點(diǎn)云的物體分類,部分分割和場(chǎng)景語義分割。點(diǎn)云分類是將輸入的點(diǎn)云數(shù)據(jù)給出類別名稱(比如:杯子、桌子、汽車);部分分割是將物體的部分類標(biāo)簽給出并用不同顏色表示(比如機(jī)身、機(jī)翼、機(jī)尾);場(chǎng)景語義分割是將一個(gè)場(chǎng)景中同一類的物體用相同的顏色表示(比如:人、椅子、桌子、墻)。
圖2 PointNet功能示意圖
PointNet通過學(xué)習(xí)全局點(diǎn)云的特征來實(shí)現(xiàn)對(duì)物體的分類。對(duì)于電力桿塔的點(diǎn)云有很好的效果,并且PointNet的網(wǎng)絡(luò)獲得了強(qiáng)大的推理速度,也可以很容易實(shí)現(xiàn)CPU的并行,容易推廣使用。
激光雷達(dá)掃描后的點(diǎn)云是連續(xù)一片的,我們所做的是對(duì)桿塔部分點(diǎn)云進(jìn)行分類,先手動(dòng)摳出桿塔部分,并將桿塔部分的點(diǎn)云分成7類,如表1所示。
表1 桿塔點(diǎn)云分類類別
之后對(duì)桿塔點(diǎn)云進(jìn)行人工標(biāo)記構(gòu)建桿塔點(diǎn)云數(shù)據(jù)集,再利用PointNet進(jìn)行訓(xùn)練,得到桿塔點(diǎn)云分類模型,就可以利用該模型對(duì)其他桿塔點(diǎn)云進(jìn)行分類,如圖3。
圖3 桿塔點(diǎn)云分類流程圖
我們只對(duì)桿塔部分的點(diǎn)云進(jìn)行分類,先對(duì)整體的點(diǎn)云扣取桿塔,如圖4,并對(duì)每一個(gè)桿塔的坐標(biāo)點(diǎn)進(jìn)行歸一化:
圖4 單個(gè)桿塔示意圖
對(duì)坐標(biāo)的y和z做相同的操作。
然后人工標(biāo)記桿塔數(shù)據(jù),為每一個(gè)點(diǎn)打上標(biāo)簽。因?yàn)榧す饫走_(dá)采集的點(diǎn)云非常密集,通常一個(gè)桿塔部分的點(diǎn)數(shù)量在十萬以上,所以采取隨機(jī)采樣的方法來來構(gòu)建桿塔數(shù)據(jù)集,隨機(jī)抽取桿塔中的2048個(gè)點(diǎn)作為一個(gè)樣本,因?yàn)槿斯?biāo)記成本較高,可對(duì)一個(gè)桿塔多次隨機(jī)采樣,我們對(duì)每個(gè)桿塔點(diǎn)云隨機(jī)采樣50~80次,一共得到10萬組樣本作為原始數(shù)據(jù)訓(xùn)練樣本,作為桿塔點(diǎn)云數(shù)據(jù)集。
將桿塔點(diǎn)云數(shù)據(jù)集分出的90%作為訓(xùn)練集,剩下10%作為測(cè)試集。在訓(xùn)練時(shí)使用NVIIDA GTX 1080TI GPU進(jìn)行加速,訓(xùn)練30Epoch,batch_size設(shè)為32,訓(xùn)練用時(shí)20 h。
用桿塔數(shù)據(jù)集的剩余10%進(jìn)行測(cè)試,準(zhǔn)確率為0.912。如果預(yù)測(cè)的點(diǎn)標(biāo)簽與原始數(shù)據(jù)集中的標(biāo)簽相同,則認(rèn)為這個(gè)點(diǎn)預(yù)測(cè)正確。
在GPU模式下預(yù)測(cè)10萬點(diǎn)的桿塔平均用時(shí)6 s,在CPU模式下預(yù)測(cè)10萬點(diǎn)的桿塔平均用時(shí)9 s。
現(xiàn)在我們已經(jīng)有了已經(jīng)分類的桿塔區(qū)域,如圖5,通過空間幾何關(guān)系和聚類的方法,可以單獨(dú)提取桿塔部件,絕緣子,跳線等,如圖6~7所示。
圖5 PointNet分類桿塔示意圖
圖6 分離出的絕緣子示意圖
圖7 分離出的跳線示意圖
實(shí)驗(yàn)證明PointNet已經(jīng)實(shí)現(xiàn)了非常好的性能并且大大簡(jiǎn)化了點(diǎn)云數(shù)據(jù)的目標(biāo)分類任務(wù)。但是關(guān)于抽稀點(diǎn)云數(shù)據(jù)的目標(biāo)分類和語義分割還有待研究。因此,為了驗(yàn)證PointNet在數(shù)據(jù)抽稀情況下的效果,我們先對(duì)點(diǎn)云進(jìn)行隨機(jī)抽稀,做了如下實(shí)驗(yàn),測(cè)試數(shù)據(jù)在抽稀情況下的準(zhǔn)確率。
對(duì)數(shù)據(jù)抽稀,然后將其抽稀數(shù)據(jù)的測(cè)試結(jié)果與原始數(shù)據(jù)測(cè)試結(jié)果進(jìn)行對(duì)比。實(shí)驗(yàn)過程與結(jié)果如表2所示。
表2 抽稀后點(diǎn)云準(zhǔn)確率
測(cè)試結(jié)果如圖8展示了PointNet雖然簡(jiǎn)單但是有效,當(dāng)點(diǎn)云數(shù)據(jù)輸入超過原始數(shù)據(jù)的2/3時(shí)對(duì)各種損壞輸入都具有很好的魯棒性,但是當(dāng)數(shù)據(jù)抽稀超過1/2時(shí)精度下降嚴(yán)重,需要進(jìn)一步的研究和攻克。
圖8 抽稀點(diǎn)云準(zhǔn)確率示意圖
PointNet對(duì)無序點(diǎn)云特征的優(yōu)異學(xué)習(xí)能力,在訓(xùn)練時(shí)間和識(shí)別時(shí)間上都很有優(yōu)勢(shì),對(duì)點(diǎn)云分類的精度很高。將PointNet運(yùn)用在電力桿塔分類中也取得了較好的效果,相信該工作在未來的電力使用場(chǎng)景中能發(fā)揮更大作用。另外PointNet還有很大的改良空間,比如解決點(diǎn)云的密度不均勻問題、抽稀數(shù)據(jù)識(shí)別率下降問題等等,值得進(jìn)一步的學(xué)習(xí)和研究。