戚瀚文花向紅吳 沖,3李琪琪
1武漢大學(xué)測繪學(xué)院,湖北 武漢,430079
2武漢大學(xué)災(zāi)害監(jiān)測與防治研究中心,湖北 武漢,430079
3武漢融云科技有限責(zé)任公司,湖北 武漢,430079
近年來,我國相繼發(fā)生了汶川地震和玉樹地震等特大地質(zhì)災(zāi)害,這些特大地質(zhì)災(zāi)害給國家和人民帶來了巨大的損失。遙感作為及時(shí)獲取災(zāi)害信息的有效手段,在搶險(xiǎn)救災(zāi)中發(fā)揮了極大的作用[1]。利用遙感衛(wèi)星影像進(jìn)行坍塌房屋檢測,可以有效評(píng)估地震災(zāi)害,并實(shí)施搶險(xiǎn)救援工作[2]。傳統(tǒng)的房屋坍塌檢測方法主要依賴于人工設(shè)計(jì)的特征表達(dá)[3],難以適應(yīng)海量高分辨率影像數(shù)據(jù)[4],極大降低了檢測的準(zhǔn)確率,既耽誤了時(shí)間又無法得出高質(zhì)量的檢測結(jié)果,因而無法滿足“應(yīng)急測繪”的要求。因此,尋找新的震害房屋坍塌檢測算法成為當(dāng)務(wù)之急。
傳統(tǒng)檢測方法利用光學(xué)遙感影像、SAR、Li-DAR數(shù)據(jù)可以對(duì)震害坍塌房屋進(jìn)行有效檢測[5]。主要有以下兩種:一是僅基于事后數(shù)據(jù)(post-event data)的檢測方法;一是基于事前數(shù)據(jù)(pre-event data)和事后數(shù)據(jù)的檢測方法[6]?;谑虑昂褪潞髷?shù)據(jù)的檢測方法具有較高的檢測精度,但種方法也存在不足之處,許多城市,尤其發(fā)展中國家的城市無法獲得事前參考數(shù)據(jù),或者不能獲取到相同區(qū)域的事后數(shù)據(jù)[7]。即使能夠獲得相同區(qū)域的事前和事后數(shù)據(jù),檢測精度也會(huì)因?yàn)轭伾凸庾V的差異而下降[8]?;谑潞髷?shù)據(jù)的檢測方法指在利用震后的災(zāi)區(qū)影像,借助紋理、內(nèi)容、邊界、陰影、光譜信息進(jìn)行房屋坍塌檢測,超高分辨率影像的出現(xiàn)使得這種方法變得可行[9],但這種方法需要巨大的人力成本和時(shí)間成本,需要實(shí)地踏勘才能最終確認(rèn)檢測結(jié)果[10],不利于震后的快速檢測和評(píng)估,并且僅基于事后數(shù)據(jù)的檢測方法并不能取得很高的檢測精度[11]。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)已經(jīng)成為影像地物提取的主流方法,并且廣泛應(yīng)用于遙感圖像的分類、識(shí)別、檢索和提取,在語義上基本全面碾壓了傳統(tǒng)的方法。文獻(xiàn)[12]利用CNN實(shí)現(xiàn)了高分衛(wèi)星影像的房屋信息提取。目前將深度學(xué)習(xí)應(yīng)用于坍塌房屋提取雖然已經(jīng)初步取得成效[13],但仍然存在著速度慢、精度差、魯棒性弱等問題。本文通過制作震后坍塌房屋數(shù)據(jù)集,并經(jīng)過數(shù)據(jù)增強(qiáng)之后,訓(xùn)練得到了一個(gè)適用于快速檢測震害坍塌房屋的模型,在檢測速率上相比較傳統(tǒng)方法取得了較大提高。
本文方法利用fast region-CNN(Fast RCNN)算法實(shí)現(xiàn)坍塌房屋檢測,其基本原理是通過將經(jīng)過處理(如數(shù)據(jù)增強(qiáng)等)后的影像數(shù)據(jù)直接輸入共享卷積層獲取特征圖,然后將特征圖輸入?yún)^(qū)域提案網(wǎng)絡(luò)(regional proposal network,RPN)得到候選區(qū)域以及候選區(qū)域的特征信息,接著將這些特征信息與之前的特征圖一同進(jìn)行興趣區(qū)池化獲取固定維度的特征信息[14,15],最后利用分類器來判別是否屬于坍塌房屋,對(duì)于屬于坍塌房屋的候選框,用回歸器進(jìn)一步調(diào)整其位置,其流程如圖1所示。圖1中,輸入訓(xùn)練集則表示模型訓(xùn)練過程,輸入原始影像則表示坍塌房屋檢測過程。
圖1 算法流程Fig.1 Flow Chart of Algorithm
將原始影像輸入到一個(gè)由13個(gè)卷積層、13個(gè)ReLU層和4個(gè)池化層組成的網(wǎng)絡(luò)中,生成影像的特征圖,對(duì)于一個(gè)尺寸為H×W的原始影像,通過共享卷積層可以得到維度為H/16×W/16的特征圖,本算法采用了VGG16模型,共得到512個(gè)特征圖。
將生成的特征圖輸入?yún)^(qū)域提案網(wǎng)絡(luò)中,首先經(jīng)過一次3×3的卷積計(jì)算以進(jìn)一步集中特征信息[15],然后分別進(jìn)行兩次全卷積,其中第一次為對(duì)各區(qū)域可能存在坍塌房屋進(jìn)行評(píng)分,第二次為確定可能存在坍塌房屋的區(qū)域。經(jīng)過兩次全卷積計(jì)算,每個(gè)候選區(qū)域得到兩組信息,一組是長度為18的特征信息,另一組是長度為36的候選框調(diào)整信息。其中特征信息主要用于后續(xù)目標(biāo)識(shí)別,候選框調(diào)整信息主要用于候選區(qū)域框的修正。RPN的結(jié)構(gòu)如圖2所示。
圖2 RPN結(jié)構(gòu)示意圖Fig.2 Structure of RPN
提取到特征信息和坐標(biāo)信息后還需要進(jìn)行識(shí)別分類和定位,將這些信息和之前共享卷積層生成的特征圖一同提交到RoI Pooling層來獲取固定維度的 特 征 圖[16,17],RoI Pooling的 實(shí) 現(xiàn) 主 要 分 為3步 完成:首先將區(qū)域提案分成H×W個(gè)網(wǎng)格,然后對(duì)每一個(gè)網(wǎng)格進(jìn)行最大值池化,最終將全部輸出值進(jìn)行組合,輸出一個(gè)固定大小為H×W的特征圖,這樣,對(duì)于任意維度的輸入圖片都可以得到一個(gè)固定大小的特征圖。
將經(jīng)過ROI Pooling得到的特征圖輸入到一個(gè)全連接層中,對(duì)全連接層的輸出值進(jìn)行Softmax分類,Softmax值的計(jì)算公式為:
對(duì)于Softmax值大于0.8的則確定為坍塌房屋,并且用回歸器進(jìn)一步調(diào)整預(yù)測框的位置,使得標(biāo)注盡量準(zhǔn)確。
為了考察本文提出的方法可行性,采用實(shí)驗(yàn)方法加以分析。通過編程,實(shí)現(xiàn)本文的算法,實(shí)驗(yàn)環(huán)境為Linux 16.04平臺(tái),采用GTX 1080Ti GPU加速,python 3.6,TensorFlow 1.12.0。所采用的實(shí)驗(yàn)數(shù)據(jù)為2008年汶川地震和2010年玉樹地震的部分災(zāi)后影像數(shù)據(jù),該影像數(shù)據(jù)為無人機(jī)拍攝,飛行高度在300~500 m之間,地面分辨率為10~15 cm,格式均為RGB(red-green-blue)影像。實(shí)驗(yàn)主要分為4個(gè)部分:數(shù)據(jù)集制作、訓(xùn)練、測試、預(yù)測。其中訓(xùn)練是為了得到一組可以用于檢測目標(biāo)的模型,測試是將得到的模型應(yīng)用在測試集上來檢驗(yàn)?zāi)P偷淖R(shí)別精度,最后預(yù)測就是將模型應(yīng)用在原始的圖片上來測試模型真實(shí)的識(shí)別精度。
在對(duì)影像數(shù)據(jù)進(jìn)行處理,去除了模糊、噪聲較多、曝光過多的圖像后,從600多張照片中挑選了240張作為數(shù)據(jù)集。圖3給出了部分所采集到的樣本照片。
從圖3中可以看出,不論是汶川還是玉樹的坍塌房屋樣本,坍塌的房屋已經(jīng)失去了坍塌前矩形獨(dú)立的特征,變成了分帶形分布的碎屑狀,因此在本文中坍塌房屋檢測指檢測坍塌房屋的區(qū)域,并非檢測單獨(dú)一棟坍塌的房屋。
圖3 坍塌房屋無人機(jī)影像Fig.3 UVA Image of Collapsed Building
為了解決深度學(xué)習(xí)中過擬合問題,對(duì)影像數(shù)據(jù)進(jìn)行數(shù)據(jù)增強(qiáng)處理。數(shù)據(jù)增強(qiáng)有很多種方式,本文對(duì)圖像進(jìn)行旋轉(zhuǎn)、剪切、平移、拉伸的幾何變換以及通過調(diào)節(jié)RGB通道、對(duì)比度和亮度、增加噪聲對(duì)圖像像素進(jìn)行處理,擴(kuò)大了訓(xùn)練集的規(guī)模。
為了得到一組精度高、魯棒性強(qiáng)的模型,首先將學(xué)習(xí)率調(diào)整為0.001,然后把訓(xùn)練次數(shù)設(shè)置為30 000次,并用Tensorboad記錄下訓(xùn)練中參數(shù)的變化。訓(xùn)練過程中l(wèi)oss的下降曲線如圖4所示。
由圖4可視化結(jié)果可以看出,模型經(jīng)過訓(xùn)練,loss值逐步下降,并逐漸收斂到0,這說明神經(jīng)網(wǎng)絡(luò)已經(jīng)學(xué)習(xí)到了坍塌房屋的特征。
圖4 loss下降曲線Fig.4 loss Decline Curve
對(duì)模型進(jìn)行精度評(píng)定,精度評(píng)定的指標(biāo)為AP值,其計(jì)算公式為:
數(shù)據(jù)增強(qiáng)前后訓(xùn)練30 000次的模型測試精度如表1所示。
由表1結(jié)果可以看出,數(shù)據(jù)增強(qiáng)之前AP值僅有0.202 7,這一精度較低,其中可能的原因就是訓(xùn)練集規(guī)模太小,與其他檢測任務(wù)所采用的的數(shù)十萬張訓(xùn)練樣本相比,本次實(shí)驗(yàn)所用的訓(xùn)練集規(guī)模過小,也就是說神經(jīng)網(wǎng)絡(luò)能學(xué)習(xí)到坍塌房屋的特征比較有限,所以導(dǎo)致精度較低。
表1 數(shù)據(jù)增強(qiáng)前后模型測試精度Tab.1 Model Accuracy Before and After Data Augmentation
數(shù)據(jù)增強(qiáng)后訓(xùn)練集中數(shù)據(jù)達(dá)到600幅,測試精度達(dá)到了0.272 3,相比較數(shù)據(jù)增強(qiáng)之前,提高了35%,這說明經(jīng)過數(shù)據(jù)增強(qiáng),模型的檢測精度的確得到了一定的提高。
將得到的模型用于震后坍塌房屋的檢測,圖5~圖8給出了部分不同區(qū)域的檢測結(jié)果。
圖5 區(qū)域1檢測結(jié)果Fig.5 Detection Result of Region 1
由圖5、圖6可以看出:數(shù)據(jù)增強(qiáng)前的模型只能識(shí)別圖中很少一部分的坍塌房屋,存在許多漏檢的情況,甚至還會(huì)有錯(cuò)檢的情況發(fā)生,其檢測出來的坍塌房屋得分普遍比較偏低。數(shù)據(jù)增強(qiáng)后的模型不論是在檢測數(shù)量還是平均得分都比數(shù)據(jù)增強(qiáng)前的模型要好很多,基本上可以將圖中的主要坍塌區(qū)域全部提取出來,這說明數(shù)據(jù)增強(qiáng)確實(shí)起到了提高模型精度的作用。
圖6 區(qū)域2檢測結(jié)果Fig.6 Detection Result of Region 4
從檢測的細(xì)節(jié)效果圖7和圖8中可以看出,汶川數(shù)據(jù)樣本中,大片連成帶狀的粉碎狀坍塌房屋區(qū)域都被正確地檢測出來,且置信度得分都很高。在玉樹數(shù)據(jù)樣本中,坍塌的房屋也都被正確地檢測出來,并且沒有錯(cuò)檢周圍并未倒塌的房屋,體現(xiàn)出本文算法具有很好的魯棒性。
圖7 檢測效果細(xì)節(jié)Fig.7 Detail of Detection Result
將相同的數(shù)據(jù)集用不同算法進(jìn)行坍塌房屋檢測,訓(xùn)練及預(yù)測速率結(jié)果如表2所示。
由表2可以看出,在訓(xùn)練效率上,本文算法相比較Fast RCNN算法提高了將近1.5倍,相比較RCNN算法,訓(xùn)練效率得到了顯著提升。在檢測速率上,本文算法僅使用0.2 s就完成了單幅影像的坍塌房屋檢測,相比較其他基于人工神經(jīng)網(wǎng)絡(luò)的方法效率提升至少在10倍以上,更是完全超越了需要30 min的人工方法。
表2 不同方法對(duì)比Tab.2 Comparison of Different Methods
本文旨在解決地震發(fā)生后無法及時(shí)獲取坍塌房屋分布的問題,借助人工神經(jīng)網(wǎng)絡(luò)的強(qiáng)大計(jì)算力,得到了一組可以快速較準(zhǔn)確識(shí)別震害坍塌房屋的模型,這一模型相比較傳統(tǒng)方法檢測速率提升至少在10倍以上,但在精度上還有提升空間。未來通過不斷積累數(shù)據(jù)集,優(yōu)化模型參數(shù),必將可以得到更加合適的模型,將會(huì)在快速檢測坍塌房屋領(lǐng)域發(fā)揮舉足輕重的作用。