熊 煒,管來福,王傳勝,童 磊,李利榮,劉 敏
(1.湖北工業大學電氣與電子工程學院,湖北 武漢 430068;2.美國南卡羅來納大學計算機科學與工程系,南卡 哥倫比亞 29201)
道路提取可以表示為一個二分類問題,類似于語義分割中的多目標分割,但道路分割減少了分割類別。由于航拍圖像或者高分辨率圖像中的道路類型多變,道路提取仍然面臨嚴峻的挑戰。經過多年研究,已有大量的算法用于從航拍圖像中提取道路。張永宏等人[1]對近年來提出的遙感圖像道路提取算法進行了總結。Wegner等人[2]提出了用于道路提取的條件隨機場CRF(Conditional Random Field)算法。梅超等人[3]結合Hough變換、噪聲分類以及道路修復等多種技術,對航拍圖像中的道路進行提取。
Mnih等人[4]將深度信念網絡DBN(Deep Belief Network)應用到航空遙感圖像道路檢測任務中。朱振文等人[5]提出了基于編碼器-解碼器結構的卷積神經網絡的道路檢測方法,編碼器結構中的卷積層和下采樣層用于提取低維的道路特征;對稱的解碼器結構可以將低維的編碼器特征映射到原始圖像尺度,實現像素級別的分類。賀浩等人[6]提出了基于編碼器-解碼器結構的語義分割的道路提取算法,設計的淺層編碼器-解碼器網絡結構提高了網絡對道路細節的分割能力,針對遙感圖像道路像素比例較小的特點,改進了二分類交叉熵損失函數,解決了網絡訓練中存在的正負樣本失衡問題。Wei等人[7]提出了道路結構細化的卷積神經網絡RSRCNN(Road Structure Refined Convolutional Neural Network),設計了一種新的損失函數,在交叉熵損失函數中引入了道路結構信息,從而解決了道路結構的丟失問題。基于卷積神經網絡CNN(Convolutional Netural Network)的語義分割方法,U-Net[8]在生物醫療圖像分割中取得了非常顯著的效果,對生物細胞邊界進行分割,有效地區分不同生物細胞。深度殘差學習[9]可以對圖像進行有效識別,在很多分類任務中有非常好的效果。Singh等人[10]提出基于U-Net的卷積神經網絡來對航拍圖像進行道路提取,遵循原始U-Net網絡的基本框架,采用2個U-Net結構組合的方式,U-Net1作為高精確度網絡,U-Net2作為高召回率網絡,其中前一個U-Net網絡的輸出結果作為后一個U-Net網絡的輸入,最終的道路預測結果是由U-Net2網絡產生。Zhong等人[11]采用全卷積網絡FCN(Fully Convolutional Network)對建筑和道路進行提取。Panboonyuen等人[12]提出了DCNN(Deep Convolutional Neural Networks)網絡模型,模型中加入了指數線性單元ELU(Exponential Linear Unit)激活函數,采用Landscape Metrics和CRF方法去除虛假的道路對象,進一步提高了結果的整體質量。Qin等人[13]提出邊界感知目標檢測BASNet(Boundary Aware Salient Network)模型,設計了2個相串聯的網絡,同時結合深監督方式,并融合多種損失函數進行顯著目標檢測。
針對道路目標的不同特征,本文設計了預測網絡和殘差細化網絡相結合的航拍圖像道路提取算法。預測網絡采用編碼器-解碼器結構,為了保留豐富的低維細節特征以及高維語義特征,增加了低維特征向高維特征的跳連接,進行多級特征融合,減少信息損失;其次,預測網絡結合了空洞卷積模塊DCM(Dilated Convolution Module)[14]和多層池化模塊MPM(Multi-kernel Pooling Module),能夠充分地獲得圖像的上下文信息和道路邊緣信息,提高道路邊緣檢測能力。殘差細化網絡將對預測網絡產生的初始道路預測結果進行細化,基于局部上下文信息,進一步細化模糊不清的預測圖,改善預測圖的邊緣細節,從而提高道路邊界的清晰度。該網絡還融合了二元交叉熵BCE(Binary Cross Entropy)[15]、結構相似性SSIM(Structural SIMilarity)[16]以及交并比IoU(Intersecion over Union)[17]損失函數進行監督訓練。最后,本文提出的算法與其他算法進行對比,在Massachusetts道路數據集[18]上的實驗結果表明,其精確率、召回率、F值以及準確率均有很大的提升。
本文采用的網絡框架如圖1所示,完整的框架結構主要分為2個部分:第1部分為預測網絡,第2部分為殘差細化網絡。預測網絡生成初始的道路預測結果,其輸出作為殘差細化網絡的輸入,殘差細化網絡將對預測網絡的輸出進一步細化,從而提高道路預測結果的清晰度。在圖1所示算法框架中,預測網絡包括空洞卷積模塊DCM和多核心池化模塊MPM。

Figure 1 Algorithm framework圖1 算法框架
最近,U-Net模型在細胞分割領域取得了非常不錯的效果,受啟發于U-Net語義分割框架,道路預測網絡也采用編碼器-解碼器網絡架構,它對獲取高維全局紋理和低維細節信息有著非常好的效果。為了減輕過擬合帶來的影響,每一級編碼器的最后一層將采用Ground Truth進行監督訓練。
編碼器包含1個輸入卷積層和6層下采樣卷積層,每層卷積層是由殘差網絡塊(ResNet-block)組成的。輸入卷積層由64個卷積核大小為3×3、步長為1的濾波器組成,輸入層之后不進行池化操作。進入預測網絡的圖像尺寸為500×500×3,進行1次隨機裁剪,將圖像尺寸調整為448×448×3,經過輸入卷積層處理,輸出的特征圖尺寸為448×448×64。對于設計的6層下采樣卷積層,前4層采用的是ResNet-34[9],采用3×3卷積核,步長為1,前4層下采樣卷積層輸出的特征圖尺寸分別為448×448×64,224×224×128,112×112×256,56×56×512。為使網絡獲得更高維度的特征圖,得到完整的特征信息,本文在第4層下采樣卷積層后面增加了2層。增加的2層下采樣卷積層主要由3個殘差塊組成,每個殘差塊包括512個卷積核大小為3×3的濾波器、批量歸一化(Batch Normalization)[19]和修正線性單元ReLU(Rectified Linear Unit)[20]激活函數。隨后緊接1個卷積核大小為2×2、步長為2的最大池化層。最后,第5層和第6層下采樣卷積層輸出的特征圖尺寸分別為28×28×512和14×14×512。
為了進一步提取全局特征信息,本文在預測網絡的第6層下采樣卷積層之后加入了空洞卷積[14]模塊,其后的橋接層是連接編碼器和解碼器并進行特征傳遞的橋梁。為了進一步研究空洞卷積對道路分割性能的影響,本文設計了2種空洞卷積模型,通過調整空洞卷積率來驗證分割性能的差異,如圖2所示。

Figure 2 Dilated convolution module圖2 空洞卷積模塊
圖2a模型采用空洞卷積率rate分別為1,3,5的串并聯方式,圖2b模型則采用空洞卷積率rate分別為1,2,4的串并聯方式。
空洞卷積可以采用級聯方式,通過調整空洞卷積率改變每層感受野的大小。本文設計的DCM包含5個并聯分支,伴隨著空洞卷積率的改變,每一分支的感受野將會發生改變。感受野的計算公式如式(1)和式(2)所示:
棉花糖實驗也說明了這點,研究員們發現那些等更久的孩子并不都是天生自控力強,很多是用了方法,比如轉身不看棉花糖或者把手坐在屁股下,讓手不能去拿。這些方法可以通過后天訓練習得。
R1=d×(k-1)+1
(1)
Rn=d×(k-1)+Rn-1
(2)
其中,k表示卷積核大小,d表示空洞卷積率,Rn為第n層卷積的感受野。因此,對于圖2a所示模型,由于中間分支沒有卷積操作,不涉及感受野,所以剩下4個分支從左到右感受野大小分別為3,7,9,19。同理,對于圖2b所示模型,從左到右每一分支感受野分別為3,5,7,15。
編碼器-解碼器結構具有對稱的特點,圖1中DCM模塊和MPM模塊中間為橋接層,橋接層主要由3個卷積層組成,每個卷積都采用3×3的卷積核,為了增大感受野,學習更多的道路特征信息,3個卷積層中也加入了空洞卷積,空洞卷積率按順序分別為1,2,3,同時每個卷積層都會串聯1個BN和1個ReLU激活函數,此時對應橋接層的輸出為14×14×512。為了獲得多1層的特征信息,在橋接層輸出中,將采用Skip-Connection方式與第6層下采樣卷積層輸出進行特征融合,并傳遞到第6層下采樣卷積層相對應的上采樣解碼器中。與此同時,橋接層的輸出除了與第6層的下采樣卷積層輸出進行特征融合外,還將直接作為多核池化模塊的輸入,隨后進行多層池化操作。
本文設計的多核池化模塊如圖3所示,包括4層池化分支,每一分支的池化卷積核大小分別為2×2,3×3,4×4,5×5,對應的步長分別為2,3,4,5,這4個分支經過1個1×1卷積和上采樣串聯連接輸入到第1層解碼器中。

Figure 3 Multi-kernel pooling module圖3 多核池化模塊
對于預測網絡的解碼器部分,如圖1所示,解碼器共有6層,這6層將進行上采樣操作恢復特征圖尺寸,設計的每一層解碼器都是由3個卷積核組成,卷積核尺寸為3×3,每個卷積都串聯1個BN和1個ReLU激活函數,然后再使用雙線性插值進行上采樣操作恢復特征圖尺寸。每一層解碼器的輸入包括2個部分,其一來自于前一層解碼器經過上采樣的輸出,其二來自于編碼器相對應層的特征映射輸出和前一層解碼器經過上采樣恢復后的尺寸進行融合后的輸出,具體的連接如圖1所示。為了實現多邊監督,橋接層、前5層解碼器、預測網絡的輸出層以及殘差細化網絡的輸出層加入了邊輸出。每個邊輸出通道將通過3×3卷積核,經過上采樣和1個Sigmoid函數,融合SSIM、IoU以及BCE損失函數,在訓練中實時檢測這8條邊的訓練損失。最后,預測網絡的輸出將預測出道路的大致輪廓,并輸入到殘差細化網絡中。
由于殘差細化網絡RRN(Residual Refinement Network)預測的輸出結果與真實標簽會存在一定的誤差,為了得到較準確的道路預測結果,就需要使其誤差值盡可能小。假設殘差細化網絡產生的預測圖為Pcoarse,通過學習預測圖Pcoarse和Ground Truth之間的差異Dresidual,網絡細化之后的結果為Rrefined,定義三者之間的損失關系如式(3)所示:
Rrefined=Pcoarse+Dresidual
(3)
預測網絡生成的預測圖產生模糊不清的結果,主要是預測出的結果存在失真和噪聲。殘差細化網絡遵循編碼器-解碼器結構,包含有輸入層、編碼器、橋接層、解碼器以及輸出層。與預測網絡不同的是,不考慮中間的橋接層,殘差細化網絡中的編碼器和解碼器采用5層對稱的編碼器-解碼器結構。每一層都僅有1個卷積層,采用64個卷積核大小為3×3的濾波器,串聯1個BN和1個ReLU激活函數。編碼器和解碼器之間的橋接層也采用相同的設計方式。不同層之間的編碼器采用最大池化進行下采樣操作,不同層之間的解碼器采用雙線性插值進行上采樣。最后,殘差細化網絡將生成高準確率的道路預測結果。
本文采用的損失函數分為3個部分,分別為BCE損失、SSIM損失以及IoU損失。總訓練損失定義為所有輸出的總和,如式(4)所示:
(4)
其中,lk表示第k條邊的輸出損失,K表示總的輸出層數,這里設置K=8,βk表示第k條邊的損失權重。本文設計的道路提取網絡模型將對8個輸出進行深監督,7個輸出來自預測網絡,1個輸出來自殘差細化網絡。
為了獲得高質量的道路分割結果和清晰的道路邊界,定義lk如式(5)所示:
(5)

BCE損失函數定義如式(6)所示:
(1-G(r,c))log(1-P(r,c))]
(6)
其中,G(r,c)∈{0,1},指的是像素(r,c)的Ground Truth標簽值,P(r,c)指的是道路目標預測的概率。
SSIM最初是用來評估圖像質量的性能指標,它可以獲取圖像的結構信息,將其整合到訓練損失中可以學習道路目標Ground Truth的結構化信息。本文利用滑動窗將圖像分為N個圖像塊,x={xi:i=1,22,…,N2}和y={yi:i=1,22,…,N2}分別表示道路預測概率圖(Predicted Probability Map)和二值標簽(Binary Ground Truth Mask)對應塊的像素值,SSIM對于x和y的損失定義如式(7)所示:
(7)
其中,C1=0.012,C2=0.032,φx和φy分別表示x和y的平均值,σx和σy分別表示x和y的標準差,σxy表示x和y的協方差。
IoU的提出是為了度量2幅圖像的相似性,對于目標檢測和分割任務是一個標準的評估度量,IoU損失定義如式(8)所示:
(8)
其中,H表示圖像的高度,W表示圖像的寬度。
實驗采用Massachusetts道路數據集[18],總共包含1 171幅圖像,圖像尺寸為1500×1500,每幅圖像都有相對應的標簽(Ground Truth)。該數據集覆蓋面積超過26 000 km2,包括城市、郊區以及農村地區,涉及道路、河流、海洋、建筑和港口等。由于這個數據集中存在大量的白背景圖像,為了提高訓練準確率,學習更多有用的道路信息,需要對含有白背景的圖像進行剔除。本文挑選789幅合格的圖像,隨機分709幅為訓練集,80幅為測試集。為了不丟失原數據集中的道路信息,對每幅圖像進行倍數裁剪,選擇將圖像裁剪為500×500。
本文采用Pytorch深度學習框架,操作系統為Ubuntu16.04,使用Intel i5-9400F CPU(16 GB內存),NVIDIA RTX 2070 GPU(8 GB顯存)。初始輸入到網絡的圖像大小為500×500×3,經過1次尺寸調整,大小變為448×448×3。網絡采用Adam[21]優化器,Epoch設置為35次,學習率設置為1E-3。由于訓練圖像尺寸過大,本文設計的網絡具有較多的參數,消耗大量的顯卡內存,在訓練中批處理大小(Batch Size)設置為1。
3.3.1 評價指標
道路提取是一個二分類問題,可以看作語義分割[8,14,22,23]任務,道路提取分割出的結果通常采用語義分割的評價方法。精確率(Precision)、召回率(Recall)、F值(F1-score)以及準確率(Accuracy)這4個評價指標在航拍圖像和遙感圖像的道路提取任務中普遍采用。精確率是正確分類的道路像素占所有預測像素的比值;召回率是正確分類的道路像素占所有正確道路像素的比值;F值是精確度和召回率的調和平均;準確率是對分類器性能的整體評估。另外,為了更進一步顯示預測結果與Ground Truth的接近程度,將交并比IoU和平均結構相似性M-SSIM(Mean Structural SIMilarity)也作為評價指標。其中,IoU是Ground Truth和預測值的交集與并集之比;M-SSIM是一種衡量2幅圖像相似程度的指標。
3.3.2 算法比較
表1列出了不同算法在Massachusetts道路數據集[18]上進行比較的實驗結果。其中,DCM-124和DCM-135分別表示空洞卷積模塊中空洞卷積率1,2,4和1,3,5串并聯結合的方式,RRN-5和RRN-6分別表示殘差細化網絡為5層和6層的網絡結構。

Table 1 Performance comparison of different models表1 不同模型的性能比較 %

Figure 4 Visualization result圖4 可視化結果
表1顯示了10種模型的評價結果,其中后4種模型是本文提出的。從表1的實驗結果可以看出,本文設計的DCM-135_RRN-6模型的Precision指標達到了最高(99.3%),與此同時,Recall、F值以及Accuracy指標也分別達到了95.4%,97.3%和95.1%,與基準BASNet模型相比較,分別提升了9.2%,6.4%和9%。文獻[10]提出的Two-Step-DCNN模型與DCM-135_RRN-6模型比較,Accuracy較高,達到了98.1%,但是Precision、Recall、F值這3個指標均低于DCM-135_RRN-6模型的,后者分別提升了11.4%,6.1%和8.7%。這表明通過串聯和并聯帶有不同空洞卷積率的空洞卷積,提取不同感受野的道路特征對于道路提取是有效的,同時多核池化模塊對不同尺度的特征進行融合,也有助于減少道路特征信息的丟失,提高道路預測的準確性。此外,本文設計的DCM-135_RRN-5、DCM-124_RRN-6以及DCM-135_RRN-6模型的Accuracy指標都為95.1%,略低于Two-Step-DCNN模型的98.1%,但相比于其他模型也獲得了比較高的準確率。分析其原因可能是訓練過程中丟失了過多的道路信息,設計的分類模型產生了錯誤的分類,導致學習到了錯誤的道路特征,丟失了關鍵的道路特征,造成道路預測準確率偏低。另外,圖像中的道路具有復雜的拓撲結構特性,這也無疑增加了道路預測以及分割的難度。
為了更進一步對比模型的性能,本文增加了IoU和M-SSIM指標作進一步的評價。如表2所示,以BASNet[13]算法為基準,BASNet模型在IoU和M-SSIM指標上分別達到了85.2%和75.9%。本文設計的4種不同模型,從圖4所示的可視化效果上可以發現,DCM-135_RRN-5優于DCM-124_RRN-5、DCM-124_RRN-6和DCM-135_RRN-6,在IoU和M-SSIM指標上也分別達到了94.8%和84.3%,與基準BASNet模型相比較,分別高出9.6%和8.4%。這2個指標顯示本文設計的模型預測的道路提取結果更加接近Ground Truth,相比于BASNet模型道路提取更加準確。
本文復現了BASNet[13]模型,同時設計了4種不同的模型,并對這5種模型進行了可視化比較,可視化結果如圖4所示。

Table 2 Test results of IoU and M-SSIM表2 IoU和M-SSIM的測試結果 %
以BASNet模型為基準,DCM-124_RRN-5、DCM-135_RRN-5、DCM-124_RRN-6和DCM-135_RRN-6為本文設計的具有不同結構的模型。如圖4所示,對于Image1測試圖像,BASNet模型產生的預測結果出現了模糊不清的道路,分析其原因是預測結果出現了噪聲;道路邊界不能被很好地區分出來,同時也預測出了錯誤的道路,產生這種結果的原因是設計的分類模型不夠準確,對道路目標和其他目標進行了錯誤的歸類,導致學習了錯誤的道路特征,產生了錯誤的預測結果。本文設計的4種模型,在可視化效果上優于BASNet模型,顯示出空洞卷積模塊和多核池化模塊對于道路分割有著非常好的效果。模型的不足之處是對具有復雜連通特性的道路,容易丟失道路結構。從圖4中對Image2測試圖像預測結果可知,DCM-135_RNN-5和DCM-124_RNN-6預測結果中,道路結構存在局部丟失的現象。原因是采用的ResNet-34分類模型對于道路分類精度不夠,產生了錯誤的分類。所以,本文設計的模型還是需要采用更加精確的分類模型進行準確的分類,同時不斷地學習更多的道路特征,以減少信息的丟失,才能得到更加完整的道路分割結果。
本文提出了一種新穎的道路提取算法,通過預測網絡和殘差細化網絡分割出完整且準確的道路,其中預測網絡中加入了不同組合的空洞卷積模塊,同時結合多核池化模塊,充分利用了圖像的上下文信息,提高了對道路特征的學習能力。殘差細化網絡對預測網絡輸出進一步細化,改善道路預測結果中由于噪聲造成的道路邊界模糊的情況。不同于以往的算法,本文提出的算法同時結合BCE、IoU以及SSIM 3種損失函數,對訓練進行實時監督。最后,本文提出的算法是通過端到端的方式進行訓練,在Massachusetts道路數據集[18]上的實驗結果表明,在精確率、召回率、F值和準確率指標上分別達到了99.3%,95.7%,97.3%和95.1%,同時在IoU和M-SSIM指標也分別達到了94.8%和84.3%,高于BASNet模型的85.2%和75.9%,分別提高了9.6%和7.9%。所以,本文設計的算法在道路提取任務中具有一定的應用效果。