李仕佳



摘要:遙感影像目標檢測與識別是近些年來國內外研究的難點,利用深度學習的目標識別技術,直接從遙感圖像中學習符合數據分布的模型,能夠滿足對高維、海量大數據的處理需求。該文用SSD作為目標識別的模型,首先根據要識別的目標物體和其對應的環境特征,利用Google Earth影像等構建多尺度、多類別的樣本數據庫;其次結合Tensorflow深度學習環境,在VOC2012預訓練的權重文件基礎上,用SSD模型對樣本庫進行優化訓練,獲取可供用于目標識別的檢測模型;最后基于FLASK搭建目標識別處理頁面,可根據需求輸入影像,通過按鈕進行目標識別處理,最終保存目標檢測的后影像。利用深度學習進行遙感影像的目標識別,可主動學習目標的特征,具有較好的檢測效果,同時基于FLASK將目標識別過程可視化,有助于方法的拓展應用。
關鍵字:遙感影像 深度學習SSD 目標識別 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
精準識別遙感影像中的目標物體,定位目標的空間位置,長期以來受到國內外學者的廣泛關注。隨著高分辨率衛星的迅猛發展,高分辨率遙感影像數據急劇增加,分辨率亦可達亞米級,從而為利用遙感數據精確分析地物目標提供了可能。通過人工解譯的手段識別遙感影像中的目標,工作量大、效率低,難以滿足日常工作的需求,因此研究基于大數據遙感影像的目標識別算法已成為當前的迫切需求。目前,目標檢測主要分為基于特征的機器學習的傳統檢測算法以及基于深度學習的檢測算法[1]。
基于回歸方法的目標檢測算法,最為著名的是YOLO和SSD,與基于候選區域的目標檢測算法不同,這類算法直接從圖像中回歸出目標的位置和類別,檢測速度較前者顯著提升,其中YOLO(Redmon等,2016)網絡結構簡單,但存在網絡檢測易遺漏、定位不準確的問題,SSD(Liu等,2016)結合Faster R-CNN和YOLO的優點,檢測速度較Faster R-CNN快,定位準確度較YOLO有所提升[2]。本文在分析現有的主流目標檢測框架的基礎上,綜合考慮遙感影像中目標物體的特征,最終選取SSD作為遙感影像的目標檢測框架,對遙感影像進行目標識別,并利用FLASK編寫目標檢測可視化頁面,便于算法的拓展應用。
1方法原理
基于深度學習進行遙感影像目標識別,關鍵在于檢測模型的確定,需在確定訓練模型框架的基礎上利用大量樣本數據進行遷移訓練獲取最終可用于檢測的模型。
1.1 ?樣本制作
利用Google Earth影像、國產高分影像等數據渠道可收集大量圖像,各類影像分辨率從亞米級到米級不等,成像質量等級不一,采集時段不同,天氣狀況多樣,為了提高訓練樣本的質量,需進行一系列預處理操作,從而更好地獲取各類復雜情況下的目標特征。在此基礎上即可制作樣本數據集。
由于遙感影像中的目標對象的尺度多樣,占有的像素點個數較少,因此,選取不同空間尺度的目標對象制作樣本數據集。之后,為緩解人工收集樣本個數有限、效率低等問題,本文對樣本進行了鏡像翻轉、和 旋轉等操作。通過上述操作,擴充了樣本數據集,增加了樣本的多樣性,有助于學習到目標對象更多的特征。樣本參考VOC標準格式,大小統一,方便后期圖像放縮操作和圖像放縮過程中對應的目標邊框放縮運算[3]。VOC標準樣本格式中的XML文件記錄了樣本影像的基本信息和目標對象名稱和目標對象在應樣本中的具體位置。之后,用Python編寫腳本,按照設定的訓練樣本占總樣本的比例,將制作好的樣本分為訓練樣本和測試樣本。
1.2 SSD目標檢測網絡
SSD通過回歸的方法直接從圖像中回歸出目標的位置和類別,本質上一個前向傳播的卷積神經網絡,SSD結合Faster-RCNN算法中的anchor機制和YOLO算法中使用回歸方法進行目標類別和位置預測的機制,檢測速度較Faster-RCNN快,定位準確度較YOLO有所提升[4]。
圖1為SSD的網絡結構圖,SSD在前向傳播過程中,生成一系列固定大小邊框及邊框內是否含有物體的可能性概率,之后,利用非極大值抑制獲取最終的預測結果。由SSD模型結構知,SSD可分為基礎網絡和輔助結構組成,基礎網絡采用VGG-16網絡(Simonyan and Zisserman,2015)。在基礎網絡結構后,添加了額外的卷積層作為輔助結構,這些輔助的卷積層大小逐層遞減,可以生成多種尺度的特征圖。輔助結構中前兩層為VGG-16網絡中的兩個全連接層轉換后的卷積層conv4-3、conv-7,后四層為遞減的卷積層con6-2、con7-2、con8-2、conv9-2。在這些不同尺度的特征圖上同時進行分類和位置回歸保證了預測的準確度。輔助結構中每一個特征層,需使用一系列卷積濾波器產生相應的固定大小的預測結果,假設特征層的大小為 ,通道數為 ,物體種類個數為 ,特征層上每個特征點對應k個默認邊框,那么對于一個 的特征層,則可得到 個輸出值。每一個邊框與其對應的特征圖中特征點的位置是固定的。對于特征圖上每一個特征點,需預測得到的邊框和真實邊框直接的偏差,以及每一個邊框中包含物體的概率。SSD框架中預測的是邊框相對于真實邊框的相對位置,因此SSD在不同尺度的特征層上進行預測的精度較高[5]。
在卷積神經網絡中越是靠前的特征層包含的圖像細節信息就越多,因此不能只使用尺寸較小的特征層做檢測,否則會丟失圖像中的大量細節信息。
1.3 模型訓練與預測
SSD通過回歸的方法直接從圖像中回歸出目標的位置和類別,是一種端到端的訓練方法。首先將訓練圖像中的真實邊框通過匹配策略對應到固定的輸出邊框上,這些邊框是事先定義好的一系列固定大小的輸出邊框。將訓練圖像中的真實邊框與固定輸出的邊框對應之后,就可以端對端的進行損失函數的計算及反向傳播的計算更新了,這種端到端的訓練模式更易于調整網絡[6]。
本文采用SSD作為目標檢測訓練網絡,完整的訓練流程如圖2所示。對原始樣本圖像進行預處理后,手工標注訓練樣本對象,并對樣本圖像進行鏡像、旋轉處理以擴充樣本數據制作多尺度樣本數據集;基于SSD模型進行遷移學習,訓練樣本數據集,根據需求設置訓練次數和存儲訓練過程權重的步長。結合訓練結果,修改參數,判斷是否還需繼續訓練樣本,結束訓練,輸出最終的用于識別目標的模型。
通過訓練可獲取用于目標識別的檢測模型,在此基礎上,利用FLASK開發便于普通用戶使用的可視化平臺??筛鶕枨筮x擇輸入影像,利用訓練獲取的目標檢測模型對輸入影像進行目標識別,并將檢測后的結果輸出保存,利用可視化界面,用戶無需查看源碼結構即可輕松操作,提高用戶使用效率。
2 實驗結果及評估
本文在獲取VOC數據集權重的基礎上,利用SSD進行遷移學習,訓練此處的目標檢測網絡,將測試樣本集輸入訓練好的網絡,當模型預測的目標對象邊界框與前期人工標注的邊界框的IOU(交并比=交集/并集)不小于0.7時,認為檢測正確,否則檢測錯誤,進一步計算模型的準確率、召回率等作為模型評價準則。圖3為對不同場所飛機、船只檢測的效果圖,可以看出該方法對飛機、船舶小目標檢測準確度較高。
3 結語
本文主要研究了深度學習技術在遙感圖像目標檢測中的應用。采用鏡像、旋轉等手段構建多尺度樣本,能夠擴充樣本數據集,增強多尺度目標預測的魯棒性;基于SSD訓練目標檢測模型,以遙感影像飛機、船只目標識別為例,制作目標樣本庫,訓練模型并進行目標檢測實驗,目標檢測召回率為91.35%,目標檢測準確率為93.95%,具有較高的準確率和召回率,能夠應用于遙感圖像目標檢測工作中。用FLASK將目標檢測過程進行可視化顯示,便于算法推廣應用。
參考文獻
[1]葉秀芬,于淼,郭書祥,梁洪.遙感圖像中細弱目標分割方法[J].哈爾濱工程大學學報,2020,41(11):1689-1694.
[2]楊戩峰.單景多光譜影像云檢測技術研究[D].鄭州:戰略支援部隊信息工程大學,2020.
[3]魏瑋,楊茹,朱葉.改進CenterNet的遙感圖像目標檢測[J].計算機工程與應用,2021,57(6):191-199.
[4]趙偉偉.基于遙感圖像的變化檢測方法與應用研究[D].西安:西京學院,2020.
[5]柯青青,李潤生,胡慶,等.基于YOLOv3深度卷積神經網絡的遙感圖像飛機目標識別[J].信息工程大學學報,2020,21(5):526-533.
[6]安冉.基于卷積神經網絡的遙感圖像變化檢測[D].石家莊:河北地質大學,2020.