陳奕州,韋春桃*
(1. 重慶交通大學(xué)重慶智慧城市學(xué)院,重慶 400014)
路是人類活動中的關(guān)鍵基礎(chǔ)設(shè)施之一,無論是在日常生活中的駕車導(dǎo)航,還是在地學(xué)研究中作為關(guān)鍵地物數(shù)據(jù),均需要準(zhǔn)確完善的數(shù)字化道路成果作為數(shù)據(jù)支撐。而衛(wèi)星遙感影像因其可視范圍廣、重訪周期短,能夠快速獲取大范圍區(qū)域的信息,因此常通過遙感影像的解譯獲取區(qū)域內(nèi)的道路信息。
隨著計算機(jī)視覺技術(shù)和深度學(xué)習(xí)技術(shù)的快速發(fā)展,遙感也從人工解譯逐步走向了智能解譯。因此在遙感影像提取道路方面,也經(jīng)歷了從手工勾畫道路,到采取機(jī)器學(xué)習(xí)或深度學(xué)習(xí)的方法自動獲取道路。但由于建筑物陰影或樹木遮擋等原因,自動獲取的道路數(shù)據(jù)通常存在或多或少的不連續(xù),即一條道路被分成了若干段,稱為道路斷線。在模型層面,Zhou[1]等提出可以通過顧及圖譜表征道路上下文信息的潛在能力,通過構(gòu)建一個分層可分離卷積圖神經(jīng)網(wǎng)絡(luò)提高被遮擋的道路提取精度;Mei[2]等根據(jù)相鄰像素之間的關(guān)系提出了一種連接性的注意模塊,該模塊通過利用成對相鄰像素之間的依賴關(guān)系并結(jié)合圖形信息來提高道路的連通性,而更加通用的做法則是通過后處理的方法對模型提取的道路斷線進(jìn)行修復(fù)。關(guān)于道路斷線的修復(fù)方法主要分為三類,即人工修復(fù)、半自動修復(fù)和全自動修復(fù)。本文主要探討全自動修復(fù),潘勵[3]等提出了一種基于概率松弛法的道路拐點(diǎn)自動連接算法,通過考慮周圍點(diǎn)的影響來過濾不符合常理的連接現(xiàn)象,提高了圖像連接的可靠性,主要應(yīng)用于多岔路口的斷線修復(fù);于艷超[4]等直接采用遍歷最小距離點(diǎn)進(jìn)行連接的方式,主要針對于CAD數(shù)據(jù)轉(zhuǎn)為Shapefile時候的斷線問題;陽春花[5]等通過位置相關(guān)性選擇出備選道路,然后根據(jù)光譜、形狀、位置等關(guān)系選擇最終道路,該方法主要在模板道路識別后進(jìn)行連接。上述3 種方法都對應(yīng)著特定的情況,而對于機(jī)器學(xué)習(xí)或深度學(xué)習(xí)方法所得的結(jié)果,王超[6-7]等提出的修復(fù)方法更加通用,即首先尋找道路斷點(diǎn),然后根據(jù)道路斷點(diǎn)的坐標(biāo)進(jìn)行k-means聚類[8],最后將聚類得到的符合要求的點(diǎn)兩兩之間進(jìn)行三次曲線擬合。該方法得到的結(jié)果相比原始結(jié)果具有一定優(yōu)勢。但僅使用斷點(diǎn)的坐標(biāo)值進(jìn)行聚類,其效果與尋找距離最近的2 點(diǎn)相似,使用中仍然存在以下問題:
1)易將被另一條道路分開的道路斷點(diǎn)或平行道路斷點(diǎn)聚為一類從而進(jìn)行錯誤連接,如圖1a與1b所示。

圖1 易錯誤匹配或無法匹配的道路情況
2)多個斷點(diǎn)距離較近,容易被聚類算法視為同一類別,此時連接方法無法正常工作,如1c所示。
3)當(dāng)僅有2個斷點(diǎn)時,距離較遠(yuǎn)的2個斷點(diǎn)會被分為兩類而無法進(jìn)行連接,如圖1d所示。
針對上述情況,對斷點(diǎn)匹配的方法進(jìn)行了改進(jìn),通過在斷點(diǎn)位置的基礎(chǔ)上引入了斷線指向、斷點(diǎn)區(qū)域光譜以及斷點(diǎn)所在聯(lián)通區(qū)是否孤立等作為道路斷點(diǎn)的附加特性,同時在兩兩斷點(diǎn)對中引入指向角度差、光譜相似度等點(diǎn)間特征,根據(jù)加權(quán)綜合得分和條件限制的方法替代k-means 聚類來得到匹配的斷點(diǎn)對。最后自動計算道路寬度后進(jìn)行3 次擬合修復(fù)道路斷線,能夠有效解決上述情況無法修復(fù)或錯誤修改的問題。
道路斷線修復(fù)可分為3 個部分,一是查找疑似道路斷線的端點(diǎn),即道路斷點(diǎn);二是篩選和匹配所有的道路斷點(diǎn),找到連接性最好的一對道路斷點(diǎn);三是遍歷匹配好的道路斷點(diǎn)進(jìn)行連接修復(fù)斷線。其流程如圖2所示。

圖2 道路斷線修復(fù)流程圖
道路斷點(diǎn)的查找方法較為成熟,可以通過結(jié)合骨架法[9]和八領(lǐng)域檢測算法[10-12]進(jìn)行查找。首先通過骨架法對道路進(jìn)行細(xì)化,提取道路中線,在保留其連通性和結(jié)構(gòu)的基礎(chǔ)上簡化形狀;再以道路骨架為基礎(chǔ),使用八領(lǐng)域檢測算法對骨架圖中的像素點(diǎn)進(jìn)行分類。類別包括孤立點(diǎn)、斷點(diǎn)以及道路內(nèi)部點(diǎn)/交叉點(diǎn)3類,其具體方法為如下。
記當(dāng)前點(diǎn)為B1,1,獲取當(dāng)前點(diǎn)周圍的8 個像素點(diǎn),記為Bi,j(i=0,1,2;j=0,1,2;i≠j≠1),有:
1)當(dāng)僅中心像素有值時,即僅有B1,1≠0,則中心點(diǎn)為孤立點(diǎn),如圖3a所示。

圖3 八領(lǐng)域檢測算法結(jié)果
2)當(dāng)除中心像素外,八領(lǐng)域內(nèi)有其他任意一個像素有值時,則表示中心點(diǎn)為斷點(diǎn),如圖3b所示,其中B1,2≠0。
3)當(dāng)除中心像素外,八領(lǐng)域內(nèi)有大于等于2個像素有值時,則表示中心點(diǎn)為道路內(nèi)部點(diǎn)或道路交叉點(diǎn),如圖3c 和3d 所示,其中有B1,j≠0(j=0,2)以及額外的Bi,1≠0(i=0,2)。
需要注意的是,在進(jìn)行道路骨架提取前,通常需要設(shè)定一個聯(lián)通區(qū)面積閾值Tarea用于去除小的聯(lián)通區(qū)域,此處設(shè)置為Tarea=64。通過過濾小聯(lián)通區(qū)可以避免因為分割結(jié)果中的噪聲提取出錯誤的斷點(diǎn)參與計算和匹配,從而減少計算量和提高結(jié)果精度。
1.2.1 點(diǎn)內(nèi)特征提取
在文獻(xiàn)[6] 中,使用k-means 聚類的斷點(diǎn)特征僅有其在圖像上的像素坐標(biāo)位置,因此聚類的結(jié)果可以視為對點(diǎn)間距離閾值的判定,而忽視了其他特征。因此在像素坐標(biāo)的基礎(chǔ)上,增加了道路斷線的指向、斷點(diǎn)區(qū)域光譜和斷線所在聯(lián)通區(qū)是否孤立3 個特征來提高算法的普適性。
其中道路斷線的指向是避免同向斷線錯誤連接的關(guān)鍵,可以通過八領(lǐng)域算法向后回溯得到。其具體方法為:
1)記當(dāng)前斷點(diǎn)為B0,完成狀態(tài)為Flag=0,在B0處進(jìn)行八領(lǐng)域搜索,找到一個非零的像素點(diǎn),該點(diǎn)位置即為道路斷點(diǎn)的上一位置,記做B1。
2)移動八領(lǐng)域窗口到Bi(i=1,2,3,…),如果找到2 個有值的像素點(diǎn),則其中一個為下一位置Bi-1,另一個為上一位置Bi+1。保留Bi+1作為下一步移動的位置;如果找到3個及以上的非零像素點(diǎn),則Bi為分叉路的交點(diǎn)或道路內(nèi)部點(diǎn),此時無法繼續(xù)向上回溯,設(shè)置完成狀態(tài)Flag=1。
3)若Flag=0,則可以繼續(xù)回溯,重復(fù)2)步驟n次后停止;若Flag=1,則完成查找,跳出2)步驟。記找到的坐標(biāo)點(diǎn)的總數(shù)為m。
4)對m個點(diǎn)的坐標(biāo)進(jìn)行直線擬合,方向由Bm-1指向B0,則得到該斷點(diǎn)B0沿道路斷線指向的方向。
當(dāng)n=4 時的指向結(jié)果的查找示意如圖4所示。

圖4 n=4 時道路斷點(diǎn)指向示意圖
其中關(guān)于n大小的確定可通過實驗對比確認(rèn)。過大的n值會導(dǎo)致過于平滑方向,而過小的n值則可能會使道路斷線指向受到端點(diǎn)形狀對骨架法簡化的影響。通過實驗后發(fā)現(xiàn)取n=5 可以取得較好的效果。
影像光譜的相似可以表示出2 個區(qū)域的相似性,而特征相似的2 個區(qū)域通常在圖中距離較近且關(guān)系密切,因此可以用于提高道路斷點(diǎn)匹配的準(zhǔn)確性。道路斷點(diǎn)區(qū)域的光譜以該斷點(diǎn)坐標(biāo)為中點(diǎn),以d為邊長,構(gòu)建矩形,通過該矩形的范圍裁剪原始遙感影像從而得到斷點(diǎn)處周圍的影像光譜信息,其中默認(rèn)d=49。
而最后的聯(lián)通區(qū)是否孤立的特征可以用于離體道路與主體道路的連接關(guān)系修復(fù)。由于一條道路必定與其他某條道路相連,因此孤立的道路則需要考慮修復(fù)其連通性。而道路斷線所在聯(lián)通區(qū)是否孤立則可通過以下方式進(jìn)行判別:
1)對原始道路提取結(jié)果進(jìn)行聯(lián)通區(qū)劃分,找到所有與圖像邊緣相接的聯(lián)通區(qū),記為Si,新建與結(jié)果等大的空圖像qimg,將Si對應(yīng)的區(qū)域賦值為1。
2)通過斷點(diǎn)的坐標(biāo)反查qimg中對應(yīng)像素的值,若值為1,則表明該斷點(diǎn)在主要道路聯(lián)通區(qū)中;反之則表示該斷點(diǎn)所在的道路斷線沒有與主要道路聯(lián)通區(qū)相連,為孤立道路。
1.2.2 點(diǎn)間特征組合
當(dāng)?shù)玫矫總€斷點(diǎn)的特征后,需要將兩兩斷點(diǎn)之間組成點(diǎn)對,并通過計算點(diǎn)對的特征判斷點(diǎn)對是否匹配。有關(guān)點(diǎn)對間的特征有距離、指向角度差和光譜相似度,可通過下列方法計算得到:
首先是兩斷點(diǎn)之間距離。當(dāng)兩斷點(diǎn)的距離越小,兩斷點(diǎn)是匹配斷點(diǎn)的可能性越大。記2 個斷點(diǎn)分別為A和B,則兩點(diǎn)之間的距離可用公式(1)進(jìn)行計算。
其次是2 條道路斷線的指向角度差。當(dāng)指向角度差等于180°,則表明2 條斷線互相指向?qū)Ψ綌嗑€的內(nèi)部方向,相連可能性最大;而當(dāng)指向角度差等于0°,則表明2 條斷線指向同一方向,相連可能最低。兩斷線之間的指向角度差指標(biāo)可用公式(2)計算,其中sgn 表示符號函數(shù),而angAB越趨近1 表示2 條斷線的指向角度差越接近180°。
最后是2 個斷點(diǎn)的區(qū)域光譜相似度。當(dāng)2 個斷點(diǎn)周圍的光譜相似性高時,則表明2 個斷點(diǎn)處于同一種環(huán)境中,則匹配概率較大。通過從訓(xùn)練數(shù)據(jù)集中截取固定大小的道路區(qū)域圖像塊,使用自監(jiān)督對比學(xué)習(xí)網(wǎng)絡(luò)SimCLR[13]訓(xùn)練了一個判斷相似性的網(wǎng)絡(luò),將2個斷點(diǎn)的區(qū)域影像對輸入網(wǎng)絡(luò),從而得到2 個圖像的光譜相似程度,即下列公式(3)所示。其中f表示訓(xùn)練好的SimCLR模型。
1.2.3 斷點(diǎn)匹配
最后的匹配則是根據(jù)上述3 條點(diǎn)間特征綜合得分進(jìn)行篩選,對所有點(diǎn)對的點(diǎn)間特征按公式(4)進(jìn)行線性歸一化,然后根據(jù)公式(5)計算結(jié)果,所得的scoreAB值在0 到1 之間。其中a、b和c為權(quán)重系數(shù),此處分別取值為2、2和1。
同時在距離和指向角度差上進(jìn)行限制,具體規(guī)則如下:
1) 設(shè)定分?jǐn)?shù)閾值Tscore,對于任意scoreAB>Tscore的點(diǎn)對AB加入備選點(diǎn)對,此處Tscore=0.5。
2) 設(shè)定距離閾值Tdis,對備選點(diǎn)對中任意disAB>Tdis的點(diǎn)對AB進(jìn)行排除,此處Tdis=256。
3)設(shè)定角度差閾值Tang,對備選點(diǎn)對中任意angAB 4)若點(diǎn)對AB間的連線與另一條道路相交,則對該點(diǎn)對進(jìn)行排除。 對找到的所有匹配斷點(diǎn)對,按1.2.1中尋找道路斷線指向的方法向后回溯t次,每次步長為s,則可找到包括2 個斷點(diǎn)在內(nèi)的2(t+1) 個點(diǎn),此處取值為t=1,s=max(1,dis/4)。按照公式(6)對上述點(diǎn)進(jìn)行3 次擬合,得到擬合函數(shù)g(x)。并在上述點(diǎn)范圍內(nèi)密集采樣,使用g(x)計算擬合結(jié)果,并將所有結(jié)果點(diǎn)進(jìn)行連接,得到修復(fù)完成的道路結(jié)果。 式中,ki(i=1,2,3)為多項式系數(shù);b為偏置。 而對于孤立的聯(lián)通區(qū),若該區(qū)域的所有斷點(diǎn)都未能匹配到其他位于主要聯(lián)通區(qū)上的斷點(diǎn),則循環(huán)該聯(lián)通區(qū)所有斷點(diǎn)向其斷線指向方向查找最近的交點(diǎn)。并在所有的交點(diǎn)中找到距離最低的交點(diǎn)進(jìn)行連接。 修復(fù)繪制中的道路寬度問題,按斷點(diǎn)在與其對應(yīng)的斷線指向的垂直方法的直線與原始道路邊緣的2 個交點(diǎn)之間的距離計算,若為點(diǎn)對間的道路寬度,則將2個結(jié)果進(jìn)行平均取值。 以文獻(xiàn)[6] 中示例的Massachusetts Roads 數(shù)據(jù)集[14]圖像為例,執(zhí)行完成上述全部算法后,得到的結(jié)果及其處理的中間過程可視化如圖5所示。其中Massachusetts Roads 數(shù)據(jù)集包含馬薩諸塞州1171 張航拍影像,每張影像的長寬均為1500 像素,道路掩碼來自對OpenStreetMap 的道路中心線柵格化生成,并擴(kuò)展為7像素線寬。 圖5 可視化結(jié)果 圖5d為該圖像斷點(diǎn)位置、斷線指向、區(qū)域光譜和聯(lián)通區(qū)情況可視化。圖上T表示該斷點(diǎn)所在的聯(lián)通區(qū)與圖像邊界相接,反之F表示該斷點(diǎn)所在的聯(lián)通區(qū)為孤立聯(lián)通區(qū)。后方所接的數(shù)字為該聯(lián)通區(qū)內(nèi)共有斷點(diǎn)的個數(shù)。 為了定量評估道路斷線修復(fù)結(jié)果的效果,使用PP-LiteSeg網(wǎng)絡(luò)[15]在DeepGlobe Road數(shù)據(jù)集[16]上進(jìn)行了道路提取的訓(xùn)練,該數(shù)據(jù)集的訓(xùn)練集包含803 個遙感圖像,圖像長寬均為1024 像素,包含了來自全球不同地區(qū)的道路圖像,該數(shù)據(jù)集提供了精確標(biāo)注的道路掩碼。通過將預(yù)測結(jié)果與經(jīng)過k-means 聚類修復(fù)后和經(jīng)過本文方法修復(fù)后的結(jié)果進(jìn)行對比,分別在查準(zhǔn)率P,查全率R和平衡F分?jǐn)?shù)F1-Score上進(jìn)行計算。其中上述評價指標(biāo)的表達(dá)式如下公式(7-9)所示。 式中,TP為正樣本被正確識別的數(shù)量;FP為誤報的負(fù)樣本數(shù)量;FN為漏報的正樣本數(shù)量。 數(shù)據(jù)、標(biāo)簽及最終結(jié)果如圖6所示。 圖6 道路斷線修復(fù)結(jié)果對比 由圖6 可知,對于第一行數(shù)據(jù),當(dāng)斷點(diǎn)間的位置分布有明顯聚類中點(diǎn)時,K-means 可以比較好的匹配效果。而第二行數(shù)據(jù)中斷點(diǎn)僅有2 個且距離較遠(yuǎn),因此在聚類中被分為了2 個類別從而無法修復(fù);而指向和光譜的協(xié)同克服了距離的阻礙,使得本文方法可以對該類型的道路斷線進(jìn)行修復(fù)。最后在第3 行的數(shù)據(jù)中,左下方的區(qū)域內(nèi)點(diǎn)數(shù)較多,聚類時聚為一類,因此對于該區(qū)域的斷點(diǎn)匹配無法提供指導(dǎo);而同樣基于有指向性的匹配可以較好地發(fā)現(xiàn)需要連接的斷點(diǎn);左上方由于2 點(diǎn)距離較近,因此容易聚類為一類,而相互的指向也趨近相反,容易識別為一對斷點(diǎn)從而進(jìn)行錯誤的連接修復(fù)。但由于本文方法還限制了2 點(diǎn)間的連線不能切割任意其他道路路線,因為能夠正確的避免此類情況。 在40張圖像的測試基準(zhǔn)中,3種情況的定量統(tǒng)計結(jié)果如下表1所示。 表1 指標(biāo)統(tǒng)計表/(%) 由表1 所示,由于斷線連接的方法不可避免地都會出現(xiàn)錯誤連接,且修復(fù)部分不是按照真實影像上的道路提取要素而是生成的,因此檢測的準(zhǔn)確度有所下降。但查全率上升明顯,表明最終的道路提取結(jié)果的漏檢情況減少。且從F1-Score來看,綜合查準(zhǔn)率和查全率的結(jié)果均優(yōu)于模型直接預(yù)測的結(jié)果,表明了修復(fù)后處理的有效性。而本文方法由于使用了更多的斷點(diǎn)特征及點(diǎn)間特征來匹配斷點(diǎn),相比僅依靠距離進(jìn)行聚類的方法能夠有效減少錯誤連接,但由于未像K-means 聚類一樣對斷點(diǎn)間的距離進(jìn)行限制,一些錯誤的連接造成了較高的FP,因此在查準(zhǔn)率上可能反而有所下降;而正確連接和修復(fù)的結(jié)果又較多,因此在查全率上取得了較好結(jié)果。綜合F1-Score來看,本文方法相比直接預(yù)測和K-means聚類修復(fù)的結(jié)果能夠在道路的斷線修復(fù)中起到更好的效果。 深度學(xué)習(xí)在計算機(jī)視覺領(lǐng)域的興起使得遙感影像的智能解譯也進(jìn)入了快速發(fā)展,但由于遙感影像相比自然圖像更加復(fù)雜,因此僅使用神經(jīng)網(wǎng)絡(luò)對遙感影像進(jìn)行處理還達(dá)不到應(yīng)用標(biāo)準(zhǔn)。針對在遙感道路檢測中因為陰影等原因存在的道路斷線問題,提出了一種綜合多種道路斷線端點(diǎn)特征和點(diǎn)間特征的道路斷線修復(fù)方法,通過綜合道路斷線的指向、位置以及光譜等信息匹配近似的另一條斷線,并使用三次曲線擬合的方法進(jìn)行等寬度修復(fù)。通過實驗,該方法將原始結(jié)果的F1-Score 提高了1.27%,達(dá)到了77.04%。表明該方法具有一定的有效性和魯棒性,并對其他線性地物的斷裂修復(fù)有一定參考價值。但當(dāng)圖上斷點(diǎn)數(shù)量急劇增加時,該方法的運(yùn)算時間也會增加較多。因此后續(xù)需要優(yōu)化計算性能,以及將更多情況的道路斷線納入考慮,進(jìn)一步提高算法的實用性和泛化能力。1.3 斷線修復(fù)

2 實驗結(jié)果與分析


3 結(jié)語