李仕佳
摘要:遙感影像目標(biāo)檢測與識別是近些年來國內(nèi)外研究的難點,利用深度學(xué)習(xí)的目標(biāo)識別技術(shù),直接從遙感圖像中學(xué)習(xí)符合數(shù)據(jù)分布的模型,能夠滿足對高維、海量大數(shù)據(jù)的處理需求。該文用SSD作為目標(biāo)識別的模型,首先根據(jù)要識別的目標(biāo)物體和其對應(yīng)的環(huán)境特征,利用Google Earth影像等構(gòu)建多尺度、多類別的樣本數(shù)據(jù)庫;其次結(jié)合Tensorflow深度學(xué)習(xí)環(huán)境,在VOC2012預(yù)訓(xùn)練的權(quán)重文件基礎(chǔ)上,用SSD模型對樣本庫進行優(yōu)化訓(xùn)練,獲取可供用于目標(biāo)識別的檢測模型;最后基于FLASK搭建目標(biāo)識別處理頁面,可根據(jù)需求輸入影像,通過按鈕進行目標(biāo)識別處理,最終保存目標(biāo)檢測的后影像。利用深度學(xué)習(xí)進行遙感影像的目標(biāo)識別,可主動學(xué)習(xí)目標(biāo)的特征,具有較好的檢測效果,同時基于FLASK將目標(biāo)識別過程可視化,有助于方法的拓展應(yīng)用。
關(guān)鍵字:遙感影像 深度學(xué)習(xí)SSD 目標(biāo)識別 FLASK
Research on Remote Sensing Image Target Detection Based on Deep Learning
LI Shijia
(Stargis (Tianjin) Technology Development Co., Ltd., Tianjin, 300384 China)
Abstract: Remote sensing image target detection and recognition is a research difficulty at home and abroad in recent years.It uses the target recognition technology of deep learning to directly learn the model in line with the data distribution from remote sensing images, which can meet the processing needs of high-dimensional and massive big data. In this paper, SSD is used as the model of target recognition. Firstly, according to the target detection and its corresponding environmental characteristics to be identified, using Google Earth images constructs multi-scale and multi-class sample database. Then, based on the Tensorflow deep-learning environment, using SSD optimizes sample database with the weight files of VOC2012 pre-training to obtain the detection model for target recognition. Finally, the target recognition processing page is built based on FLASK, and the image can be input according to demand with button for target recognition processing to save the final image of the target detection. Using deep-learn for target recognition of remote sensing images can learn the features of the target actively and effectively. At the same time, it is useful for expanding the application with visualization of target recognition process based on FLASK.
Key Words: Remote sensing image; Deep learning; SSD;Target detection; FLASK
精準(zhǔn)識別遙感影像中的目標(biāo)物體,定位目標(biāo)的空間位置,長期以來受到國內(nèi)外學(xué)者的廣泛關(guān)注。隨著高分辨率衛(wèi)星的迅猛發(fā)展,高分辨率遙感影像數(shù)據(jù)急劇增加,分辨率亦可達亞米級,從而為利用遙感數(shù)據(jù)精確分析地物目標(biāo)提供了可能。通過人工解譯的手段識別遙感影像中的目標(biāo),工作量大、效率低,難以滿足日常工作的需求,因此研究基于大數(shù)據(jù)遙感影像的目標(biāo)識別算法已成為當(dāng)前的迫切需求。目前,目標(biāo)檢測主要分為基于特征的機器學(xué)習(xí)的傳統(tǒng)檢測算法以及基于深度學(xué)習(xí)的檢測算法[1]。
基于回歸方法的目標(biāo)檢測算法,最為著名的是YOLO和SSD,與基于候選區(qū)域的目標(biāo)檢測算法不同,這類算法直接從圖像中回歸出目標(biāo)的位置和類別,檢測速度較前者顯著提升,其中YOLO(Redmon等,2016)網(wǎng)絡(luò)結(jié)構(gòu)簡單,但存在網(wǎng)絡(luò)檢測易遺漏、定位不準(zhǔn)確的問題,SSD(Liu等,2016)結(jié)合Faster R-CNN和YOLO的優(yōu)點,檢測速度較Faster R-CNN快,定位準(zhǔn)確度較YOLO有所提升[2]。本文在分析現(xiàn)有的主流目標(biāo)檢測框架的基礎(chǔ)上,綜合考慮遙感影像中目標(biāo)物體的特征,最終選取SSD作為遙感影像的目標(biāo)檢測框架,對遙感影像進行目標(biāo)識別,并利用FLASK編寫目標(biāo)檢測可視化頁面,便于算法的拓展應(yīng)用。
1方法原理
基于深度學(xué)習(xí)進行遙感影像目標(biāo)識別,關(guān)鍵在于檢測模型的確定,需在確定訓(xùn)練模型框架的基礎(chǔ)上利用大量樣本數(shù)據(jù)進行遷移訓(xùn)練獲取最終可用于檢測的模型。
1.1 ?樣本制作
利用Google Earth影像、國產(chǎn)高分影像等數(shù)據(jù)渠道可收集大量圖像,各類影像分辨率從亞米級到米級不等,成像質(zhì)量等級不一,采集時段不同,天氣狀況多樣,為了提高訓(xùn)練樣本的質(zhì)量,需進行一系列預(yù)處理操作,從而更好地獲取各類復(fù)雜情況下的目標(biāo)特征。在此基礎(chǔ)上即可制作樣本數(shù)據(jù)集。
由于遙感影像中的目標(biāo)對象的尺度多樣,占有的像素點個數(shù)較少,因此,選取不同空間尺度的目標(biāo)對象制作樣本數(shù)據(jù)集。之后,為緩解人工收集樣本個數(shù)有限、效率低等問題,本文對樣本進行了鏡像翻轉(zhuǎn)、和 旋轉(zhuǎn)等操作。通過上述操作,擴充了樣本數(shù)據(jù)集,增加了樣本的多樣性,有助于學(xué)習(xí)到目標(biāo)對象更多的特征。樣本參考VOC標(biāo)準(zhǔn)格式,大小統(tǒng)一,方便后期圖像放縮操作和圖像放縮過程中對應(yīng)的目標(biāo)邊框放縮運算[3]。VOC標(biāo)準(zhǔn)樣本格式中的XML文件記錄了樣本影像的基本信息和目標(biāo)對象名稱和目標(biāo)對象在應(yīng)樣本中的具體位置。之后,用Python編寫腳本,按照設(shè)定的訓(xùn)練樣本占總樣本的比例,將制作好的樣本分為訓(xùn)練樣本和測試樣本。
1.2 SSD目標(biāo)檢測網(wǎng)絡(luò)
SSD通過回歸的方法直接從圖像中回歸出目標(biāo)的位置和類別,本質(zhì)上一個前向傳播的卷積神經(jīng)網(wǎng)絡(luò),SSD結(jié)合Faster-RCNN算法中的anchor機制和YOLO算法中使用回歸方法進行目標(biāo)類別和位置預(yù)測的機制,檢測速度較Faster-RCNN快,定位準(zhǔn)確度較YOLO有所提升[4]。
圖1為SSD的網(wǎng)絡(luò)結(jié)構(gòu)圖,SSD在前向傳播過程中,生成一系列固定大小邊框及邊框內(nèi)是否含有物體的可能性概率,之后,利用非極大值抑制獲取最終的預(yù)測結(jié)果。由SSD模型結(jié)構(gòu)知,SSD可分為基礎(chǔ)網(wǎng)絡(luò)和輔助結(jié)構(gòu)組成,基礎(chǔ)網(wǎng)絡(luò)采用VGG-16網(wǎng)絡(luò)(Simonyan and Zisserman,2015)。在基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)后,添加了額外的卷積層作為輔助結(jié)構(gòu),這些輔助的卷積層大小逐層遞減,可以生成多種尺度的特征圖。輔助結(jié)構(gòu)中前兩層為VGG-16網(wǎng)絡(luò)中的兩個全連接層轉(zhuǎn)換后的卷積層conv4-3、conv-7,后四層為遞減的卷積層con6-2、con7-2、con8-2、conv9-2。在這些不同尺度的特征圖上同時進行分類和位置回歸保證了預(yù)測的準(zhǔn)確度。輔助結(jié)構(gòu)中每一個特征層,需使用一系列卷積濾波器產(chǎn)生相應(yīng)的固定大小的預(yù)測結(jié)果,假設(shè)特征層的大小為 ,通道數(shù)為 ,物體種類個數(shù)為 ,特征層上每個特征點對應(yīng)k個默認邊框,那么對于一個 的特征層,則可得到 個輸出值。每一個邊框與其對應(yīng)的特征圖中特征點的位置是固定的。對于特征圖上每一個特征點,需預(yù)測得到的邊框和真實邊框直接的偏差,以及每一個邊框中包含物體的概率。SSD框架中預(yù)測的是邊框相對于真實邊框的相對位置,因此SSD在不同尺度的特征層上進行預(yù)測的精度較高[5]。
在卷積神經(jīng)網(wǎng)絡(luò)中越是靠前的特征層包含的圖像細節(jié)信息就越多,因此不能只使用尺寸較小的特征層做檢測,否則會丟失圖像中的大量細節(jié)信息。
1.3 模型訓(xùn)練與預(yù)測
SSD通過回歸的方法直接從圖像中回歸出目標(biāo)的位置和類別,是一種端到端的訓(xùn)練方法。首先將訓(xùn)練圖像中的真實邊框通過匹配策略對應(yīng)到固定的輸出邊框上,這些邊框是事先定義好的一系列固定大小的輸出邊框。將訓(xùn)練圖像中的真實邊框與固定輸出的邊框?qū)?yīng)之后,就可以端對端的進行損失函數(shù)的計算及反向傳播的計算更新了,這種端到端的訓(xùn)練模式更易于調(diào)整網(wǎng)絡(luò)[6]。
本文采用SSD作為目標(biāo)檢測訓(xùn)練網(wǎng)絡(luò),完整的訓(xùn)練流程如圖2所示。對原始樣本圖像進行預(yù)處理后,手工標(biāo)注訓(xùn)練樣本對象,并對樣本圖像進行鏡像、旋轉(zhuǎn)處理以擴充樣本數(shù)據(jù)制作多尺度樣本數(shù)據(jù)集;基于SSD模型進行遷移學(xué)習(xí),訓(xùn)練樣本數(shù)據(jù)集,根據(jù)需求設(shè)置訓(xùn)練次數(shù)和存儲訓(xùn)練過程權(quán)重的步長。結(jié)合訓(xùn)練結(jié)果,修改參數(shù),判斷是否還需繼續(xù)訓(xùn)練樣本,結(jié)束訓(xùn)練,輸出最終的用于識別目標(biāo)的模型。
通過訓(xùn)練可獲取用于目標(biāo)識別的檢測模型,在此基礎(chǔ)上,利用FLASK開發(fā)便于普通用戶使用的可視化平臺??筛鶕?jù)需求選擇輸入影像,利用訓(xùn)練獲取的目標(biāo)檢測模型對輸入影像進行目標(biāo)識別,并將檢測后的結(jié)果輸出保存,利用可視化界面,用戶無需查看源碼結(jié)構(gòu)即可輕松操作,提高用戶使用效率。
2 實驗結(jié)果及評估
本文在獲取VOC數(shù)據(jù)集權(quán)重的基礎(chǔ)上,利用SSD進行遷移學(xué)習(xí),訓(xùn)練此處的目標(biāo)檢測網(wǎng)絡(luò),將測試樣本集輸入訓(xùn)練好的網(wǎng)絡(luò),當(dāng)模型預(yù)測的目標(biāo)對象邊界框與前期人工標(biāo)注的邊界框的IOU(交并比=交集/并集)不小于0.7時,認為檢測正確,否則檢測錯誤,進一步計算模型的準(zhǔn)確率、召回率等作為模型評價準(zhǔn)則。圖3為對不同場所飛機、船只檢測的效果圖,可以看出該方法對飛機、船舶小目標(biāo)檢測準(zhǔn)確度較高。
3 結(jié)語
本文主要研究了深度學(xué)習(xí)技術(shù)在遙感圖像目標(biāo)檢測中的應(yīng)用。采用鏡像、旋轉(zhuǎn)等手段構(gòu)建多尺度樣本,能夠擴充樣本數(shù)據(jù)集,增強多尺度目標(biāo)預(yù)測的魯棒性;基于SSD訓(xùn)練目標(biāo)檢測模型,以遙感影像飛機、船只目標(biāo)識別為例,制作目標(biāo)樣本庫,訓(xùn)練模型并進行目標(biāo)檢測實驗,目標(biāo)檢測召回率為91.35%,目標(biāo)檢測準(zhǔn)確率為93.95%,具有較高的準(zhǔn)確率和召回率,能夠應(yīng)用于遙感圖像目標(biāo)檢測工作中。用FLASK將目標(biāo)檢測過程進行可視化顯示,便于算法推廣應(yīng)用。
參考文獻
[1]葉秀芬,于淼,郭書祥,梁洪.遙感圖像中細弱目標(biāo)分割方法[J].哈爾濱工程大學(xué)學(xué)報,2020,41(11):1689-1694.
[2]楊戩峰.單景多光譜影像云檢測技術(shù)研究[D].鄭州:戰(zhàn)略支援部隊信息工程大學(xué),2020.
[3]魏瑋,楊茹,朱葉.改進CenterNet的遙感圖像目標(biāo)檢測[J].計算機工程與應(yīng)用,2021,57(6):191-199.
[4]趙偉偉.基于遙感圖像的變化檢測方法與應(yīng)用研究[D].西安:西京學(xué)院,2020.
[5]柯青青,李潤生,胡慶,等.基于YOLOv3深度卷積神經(jīng)網(wǎng)絡(luò)的遙感圖像飛機目標(biāo)識別[J].信息工程大學(xué)學(xué)報,2020,21(5):526-533.
[6]安冉.基于卷積神經(jīng)網(wǎng)絡(luò)的遙感圖像變化檢測[D].石家莊:河北地質(zhì)大學(xué),2020.