王 雪,黃建華,蒙鈺天,孫希延
1. 桂林電子科技大學 廣西精密導航技術與應用重點實驗室,廣西 桂林 541004;
2. 桂林電子科技大學 衛(wèi)星導航與位置服務國家與地方聯(lián)合工程研究中心,廣西 桂林 541004;
3. 桂林市國土資源研究中心,廣西 桂林 541004
自然資源執(zhí)法監(jiān)督監(jiān)管工作的一項重要任務是及時發(fā)現(xiàn)在城鄉(xiāng)建設過程中,不經審批改建、擴建或者違規(guī)占用農田等違規(guī)建房現(xiàn)象。傳統(tǒng)監(jiān)控“兩違”建房,主要是利用衛(wèi)星遙感數據變化檢測技術,結合人工舉報、人工實地調查等方法對建筑物進行調查和篩選,需要大量的人力、物力和財力[1]。但衛(wèi)星遙感變化檢測通常利用的是正射影像數據,不容易發(fā)現(xiàn)高度上的變化,同時衛(wèi)星回返周期長,導致發(fā)現(xiàn)違法建筑物變化周期長,拆除經濟損失大。與衛(wèi)星遙感變化檢測相比較,城市周邊建設的長焦距攝像頭可以從建筑物側面更清晰地觀測到建筑物高度的變化。長焦距監(jiān)控攝像頭監(jiān)控距離可達5 km 以上,通常用于海域監(jiān)控、森林防火、自然保護區(qū)保護等領域。在城鄉(xiāng)結合部部署或利用已有的帶云臺控制的長焦距攝像頭,結合人工智能圖像分析技術,可實現(xiàn)實時、較大范圍的違規(guī)建房的早期發(fā)現(xiàn),是一種成本較低、發(fā)現(xiàn)變化快的自然資源監(jiān)測管理技術。
目前,建筑物變化檢測方法可分為兩類:非深度學習變化檢測方法和深度學習變化檢測方法[2]。深度學習方法先利用語義分割網絡模型精確檢測圖像中的建筑物,再將檢測結果進行像元差值從而得到建筑物變化檢測區(qū)域。王明常等[3]提出用FPN Res-Unet 語義分割網絡對建筑物進行變化檢測。王民水等[4]提出用DeepLabv3+語義分割網絡對建筑物進行變化檢測。余曉娜等[5]基于Segnet 網絡對街區(qū)影像進行變化檢測。但是城市景觀下建筑物密集,遮擋嚴重,不能精確檢測出各個建筑物。非深度學習變化檢測方法一般先提取變化區(qū)域,然后利用建筑物的陰影特性提取變化圖像中的建筑物。盧麗琛等[6]提出將BMI 和CVA 算法結合的方法對建筑物進行變化檢測。王慧賢[7]提出顧及多特征的建筑物變化檢測方法。劉升龍等[8]提出用影像差值法和主成分分析法融合對變化區(qū)域進行提取。利用長焦距攝像頭開展建筑物變化檢測,通常是采集相同地理位置不同時相的兩幅影像進行利用上述算法進行分析,但由于變化受到光照、攝像頭抖動等環(huán)境影響,導致攝像頭不同時相的兩幅影像不能精確配準,難以實現(xiàn)建筑物的變化檢測。
為解決上述問題,提出一種基于深度學習的監(jiān)控建筑變化影像的識別算法。本文從亮度、對比度和結構性3 個方面對攝像頭采集的每個圖像子塊的結構相似度進行計算,結合像元之間的紋理聯(lián)系,采用自適應閾值方法對變化進行篩選,弱化城市景觀下建筑物密集、遮擋嚴重的影響,得到粗略變化區(qū)域影像。然后再利用Faster R-CNN 目標檢測網絡對上述的粗略變化區(qū)域影像進行建筑物的識別與提取,從而分析提取出長焦距監(jiān)控攝像頭下的建筑物變化情況。
本文的數據分為訓練數據和測試數據。測試數據所用的監(jiān)控建筑物影像,由架設在桂林西站的長焦攝像頭獲得,能夠清晰觀測到桂林西站半徑5 km 范圍內的建筑物及周圍自然資源變化情況。訓練數據以桂林市監(jiān)控建筑影像為主,公開建筑數據為輔,共1200 張監(jiān)控建筑物影像,每幅影像大小為1000×1500 像素,用于目標檢測網絡的訓練。圖1 顯示了3 組6 幅長焦監(jiān)控下建筑物有變化的實驗數據,用于測試變化檢測的有效性。實驗數據以在建區(qū)域為主,有以下特點:相同地理位置不同時相的兩幅影像光照條件有差別;背景環(huán)境存在像素點抖動現(xiàn)象,如風吹動樹葉導致樹木背景的變化。
圖1 研究區(qū)建筑物前時相與后時相數據樣例Fig.1 Examples of pre-and post-temporal image in study area
圖2 顯示了變化區(qū)域的提取流程。首先將輸入的兩幅前、后時相影像分別裁為N×N 個圖像子塊,然后將對應位置的圖像子塊采用高斯加權方法計算每一窗口的均值、方差以及協(xié)方差,從而計算對應圖像子塊的結構相似度[9]。結構相似度SSIM 可表示為:
圖2 變化區(qū)域影像提取Fig.2 Image extraction of changing regions
上3 式中,? ,β,γ>0;l(x,y)為亮度比較;c(x,y)為對比度比較;s(x,y)為結構比較;μx、μy分別為x、y的平均值;σx、σy分別為x、y的標準差;σxy為x、y的協(xié)方差;c 為常數,避免分母為0。
由于每幅影像中變化區(qū)域尺寸不同,從而導致每幅影像的圖像子塊的結構相似度大小不同。為了提高模型的泛化能力,利用自適應閾值方法對變化的圖像子塊進行篩選,提取變化區(qū)域,將所有圖像子塊結構相似度的均值作為閾值。同時為了避免環(huán)境因素對變化區(qū)域提取的影響,將每行圖像所保留的圖像子塊個數進行統(tǒng)計,若圖像子塊個數大于等于N/2,則保留整行的圖像子塊,否則舍去整行影像。
2.2.1 Faster R-CNN模型
與RCNN 和Fast RCNN 算法相比,F(xiàn)aster R-CNN[10]算法創(chuàng)造性地使用RPN(特征提取網絡)代替原來的Selective Search 方法產生建議窗口,通過共享特征層大大減少了計算量[11],從而提高了算法的檢測速度。Faster R-CNN 算法原理圖如圖3 所示。
圖3 Faster R-CNN 算法原理圖Fig.3 Algorithm structure of Faster R-CNN
Faster R-CNN 算法對輸入進來的粗略變化區(qū)域影像在保持原有縱橫比的前提下重新調整為固定尺寸大小,然后通過主干網絡進行特征提取得到特征圖,將特征層輸入到卷積層,再分別對每個先驗框進行分類和計算對應先驗框的偏移量,然后計算出proposals,Roi Pooling 層利用proposals 從特征層中提取的proposal feature 送入后續(xù)全連接層和Softmax 網絡進行分類[12],從而得到粗略變化區(qū)域影像的建筑物部分,實現(xiàn)建筑物的變化檢測。
2.2.2 主干特征提取網絡
模型訓練是在Telsa P100 GPU,以及CUDA、Python、Tensorflow 等環(huán)境下進行的。Faster R-CNN 主干特征提取網絡[13]采用殘差網絡Resnet50,每個殘差網絡包括兩條路徑,一條路徑是輸入特征的直通路徑,另一條路徑是對該路徑進行卷積操作得到的該路徑的殘差,最后將兩條路徑上的特征相加[14]。如圖4 所示,假設輸入的特征為x,經卷積操作得到的殘差為F(x),最終學習到的特征為H(x)=F(x)+x[15]。
圖4 殘差網絡架構Fig.4 Residual network architecture
模型訓練等流程如圖5 所示。數據預處理后得到粗略變化區(qū)域影像,同時對Faster R-CNN 進行參數設置及模型訓練,然后調用最優(yōu)模型對粗略變化區(qū)域影像進行目標地物信息的提取。
圖5 Faster R-CNN 模型應用流程圖Fig.5 Application flow chart of Faster R-CNN model
本文將epoch 訓練周期設置為200,訓練樣本個數設置為960,測試樣本個數設置為240,RPN 批處理數量設置為128 進行模型訓練。通過對訓練得到的模型進行測試,得到目標地物信息。研究結果表明通過訓練,模型訓練中損失函數輸出結果隨著epoch 的增加,損失函數越來越小,表明了整個模型的收斂狀態(tài)。PR 曲線反映了對正例的識別準確度,PR 曲線越靠近右上方時,PR 曲線所包圍的面積越大,表明模型性能越好。其中,Precision 指的是查準率,Recall 指的是召回率,將Precision 作為PR 曲線的縱坐標,當Precision=1.0 時表示查準率為100%,Recall 作為PR1 曲線的橫坐標,當Recall=1.0 時代表召回率為100%(圖6)。
圖6 訓練周期至200 次時的PR 曲線Fig.6 PR curve when training cycle reaches 200 times
本文對桂林市西站的建筑物進行建筑物變化檢測。為了定量進行精度評價,以正確率、虛檢率、漏檢率、完整率和檢測質量來衡量檢測結果,具體計算方法如下:
式中,Ctd為檢測出的真實變化建筑物像元總數;Ct為研究區(qū)域中真實變化建筑物的像元總數;Ptd為變化檢測正確率,表示建筑物變化檢測結果的可靠程度,越大表明建筑物變化結果越可靠;Cfd為實際沒有發(fā)生變化卻被檢測為變化的虛檢建筑物的像元數量;Cd為實驗檢測出的變化建筑物的像元總數;Pfd為虛檢率,表示非建筑物變化像元被檢測到的概率,越小表明建筑物變化結果錯誤越低;Cod為漏檢的真實變化建筑物像元數量;Pod為漏檢率,表示建筑物變化像元被漏檢的概率,概率越低建筑物變化結果越準確;Pcd為完整率,表示變化建筑物像元被實際檢出的概率,完整率越大表明檢測效果越好;Q為檢測質量,表示實際檢測出的像元占真實變化像元的比率,是建筑物變化檢測精度的總體度量,檢測質量越大,變化檢測的效果越好。
影像的分割尺度對建筑物變化檢測結果具有重要影響。以桂林西站采集的變化區(qū)域數據為例,為了得到最佳的分割閾值,將分割尺度N 分別設為1 到20 的整數,分別計算正確率、完整率、檢測質量、虛檢率、漏檢率。圖7為不同分割尺度下對應的正確率、完整率、檢測質量、虛檢率、漏檢率的折線圖及其平均值。從圖中綜合5 個指標進行分析,可以得出當分割尺度N 為2、4、5、7、16 時,各個指標均大于平均值,建筑物變化檢測結果較為理想。表1 為分割尺度N 為2、4、5、7、16 時的具體評價數值,當分割尺度為7,建筑物變化檢測精度最佳。圖8 為分割尺度為7 時建筑物變化檢測得到的檢測結果,圖中紅框標定部分“build 1.00”表示檢測到的變化區(qū)域為建筑物的概率為1.00(100%)。
圖7 不同分割尺度的指標Fig.7 Indicators of different segmentation scales
表1 不同分割尺度檢測精度比較Tab.1 Comparison of detection accuracies of different segmentation scales
圖8 分割尺度為7 的檢測結果Fig.8 Building change detection when the segmentation scale is 7
由于長焦監(jiān)控易受到風等環(huán)境的影響,使得攝像頭抖動,導致相同地理位置不同時相的兩幅影像對應像元不能精確配準,利用差值法[16]提取變化區(qū)域時,對建筑物變化檢測結果產生嚴重干擾。利用圖像的亮度、對比度和結構相似度分析影像的變化區(qū)域,對配準精度要求不高,以桂林西站的影像為例,圖9a 為本文方法可視化結果,其中變化部分為建筑的概率為1.0,圖9b 為差值法可視化結果,變化部分為建筑的概率為0.99。不同方法的檢測精度見表2,從中可以看出本文方法的各項精度指標都優(yōu)于差值法。
圖9 不同方法檢測結果Fig.9 Detection results of different methods
表2 不同方法檢測精度比較Tab.2 Comparison of detection accuracy of different methods
本文結合圖像結構相似性和深度學習算法對長焦距攝像頭相同地理位置不同時相的兩幅影像進行分析比較,弱化了光照強度變化、攝像頭抖動等復雜環(huán)境對像素灰度值的影響,實現(xiàn)了兩幅前、后時相監(jiān)控影像的變化區(qū)域提取以及建筑物變化檢測。實驗表明,本文方法比差值法提取得到的變化區(qū)域圖像質量更高,輪廓效果更好,且受環(huán)境因素影響較小,實現(xiàn)了對建筑物的變化檢測,為自然資源違法監(jiān)督提供了新方法。