孫廣偉,李博,陳嘉浩,張大富,范俊甫
(山東理工大學(xué) 建筑工程學(xué)院,山東 淄博 255049)
高分辨率遙感影像能夠精細(xì)地表達(dá)豐富的地表信息,在自然資源普查、農(nóng)作物估產(chǎn)、生態(tài)環(huán)境評價(jià)、氣候變化分析、人類活動(dòng)監(jiān)測等領(lǐng)域具有巨大的應(yīng)用潛力和發(fā)展前景,被廣泛應(yīng)用于國民經(jīng)濟(jì)建設(shè)的各個(gè)行業(yè)[1]。高分辨率遙感影像包含多種多樣的復(fù)雜地物信息,傳統(tǒng)的地物信息提取往往依靠大量的人工參與實(shí)現(xiàn),費(fèi)時(shí)費(fèi)力且效率低下,成本昂貴。2006年,多倫多大學(xué)的Hinton等[2]提出了深度學(xué)習(xí)的概念。隨著相關(guān)理論與模型的深入發(fā)展,基于深度學(xué)習(xí)的人工智能技術(shù)逐漸在機(jī)器人、語音識別、圖像識別、自然語言處理和專家系統(tǒng)等領(lǐng)域得到了深入研究和廣泛應(yīng)用[3-4]。
深度學(xué)習(xí)模型需要建立包含大量樣本的訓(xùn)練數(shù)據(jù)才能獲得更好的計(jì)算效果。高分辨率遙感影像不僅具有龐大的數(shù)據(jù)量,同時(shí)也蘊(yùn)含著豐富的地物信息,能夠滿足建立深度學(xué)習(xí)訓(xùn)練數(shù)據(jù)集的需要。2010年,Mnih等[5]首次將深度學(xué)習(xí)技術(shù)應(yīng)用于道路信息提取。此后,深度學(xué)習(xí)技術(shù)在高分辨率遙感影像的地物識別、各類信息的提取、變化檢測等方面得到了深入研究。近年來,基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的深度學(xué)習(xí)技術(shù)廣泛應(yīng)用于自動(dòng)化遙感信息提取與地物識別,已成為高分辨率遙感影像處理領(lǐng)域的前沿與熱點(diǎn)之一[6]。
隨著計(jì)算機(jī)軟硬件技術(shù)的發(fā)展,出現(xiàn)了一些經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)模型與算法[7]。2014年以來,基于卷積神經(jīng)網(wǎng)絡(luò)的圖像目標(biāo)檢測算法,包括R-CNN[8], Fast R-CNN[9], Faster R-CNN[10]等的two stage算法,以及YOLO[11]、SSD[12]等的one stage算法,在通用圖像識別領(lǐng)域已經(jīng)得到了較為廣泛的應(yīng)用。R-CNN、Fast R-CNN、Faster R-CNN等算法先生成許多默認(rèn)的先驗(yàn)框,再使用卷積神經(jīng)網(wǎng)絡(luò)對目標(biāo)進(jìn)行分類。此類算法精度較高,速度較慢,其中Faster R-CNN算法精度最高[10]。YOLO是最早出現(xiàn)的單階段目標(biāo)檢測方法,速度較快,但檢測精度較低。SSD算法在保持YOLO算法的速度優(yōu)勢的同時(shí),在目標(biāo)類別的確定、位置信息獲取等方面表現(xiàn)出與Faster R-CNN算法相當(dāng)?shù)木葍?yōu)勢[12]。相比之前的卷積神經(jīng)網(wǎng)絡(luò)的工作方式,單次檢測器SSD提高速度的根本原因是消除了先驗(yàn)框的推薦以及后續(xù)的像素或特征重采樣階段,并且這種改進(jìn)措施不會(huì)使得識別精度下降。在高分影像目標(biāo)檢測領(lǐng)域,對上述經(jīng)典模型在面向多種地物時(shí)的計(jì)算速度與檢測精度的綜合比較尚不多見。
國內(nèi)學(xué)者在基于深度學(xué)習(xí)的遙感數(shù)據(jù)處理領(lǐng)域進(jìn)行了較為廣泛和深入的研究。劉大偉等[13]利用深度學(xué)習(xí)技術(shù)實(shí)現(xiàn)了基于高分辨率遙感影像的地物分類,并與SVM等一些經(jīng)典方法進(jìn)行了對比,發(fā)現(xiàn)深度學(xué)習(xí)技術(shù)可以更準(zhǔn)確地揭示地理對象的空間分布規(guī)律。高常鑫等[14]使用分層的方法建立深度學(xué)習(xí)模型,完成了對高分辨率遙感影像的高精度分類。郝曉慧等[15]、王卓等[16]采用深度學(xué)習(xí)技術(shù)實(shí)現(xiàn)了基于高分辨率遙感影像的道路網(wǎng)提取。因此,應(yīng)用深度學(xué)習(xí)模型與方法解決高分影像中典型地物的自動(dòng)檢測問題,對充分挖掘高分辨率遙感影像的應(yīng)用價(jià)值,提升高分辨率遙感影像處理的智能化水平具有重要意義。
為對經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)模型在高分辨率遙感影像的多種典型地物檢測過程中的特征表現(xiàn)進(jìn)行對比,本文基于Python語言和TensorFlow深度學(xué)習(xí)框架[17],采用Faster R-CNN、YOLOv3和SSD三種基于CNN的目標(biāo)檢測算法,實(shí)現(xiàn)了模型訓(xùn)練和對典型地物信息的自動(dòng)檢測。對上述三種網(wǎng)絡(luò)模型的性能表現(xiàn)進(jìn)行了比較和分析,相關(guān)結(jié)論能夠?yàn)榛诰矸e神經(jīng)網(wǎng)絡(luò)的高分辨率遙感影像目標(biāo)檢測應(yīng)用提供一定的參考。
本文選用RSOD-Dataset數(shù)據(jù)集[18-19],該數(shù)據(jù)集由武漢大學(xué)團(tuán)隊(duì)于2017年發(fā)布,包括含有儲(chǔ)油罐、飛機(jī)、體育場和立交橋四類地物的高分辨率遙感影像,空間分辨率為1.7 m;其中446張影像中包含4 993架各類飛機(jī),189張影像中包含191個(gè)體育場,176張影像中包含180座立交橋,165張影像中包含1586個(gè)儲(chǔ)油罐目標(biāo)。將該數(shù)據(jù)集按照4∶1的比例生成模型訓(xùn)練集與測試集,RSOD-Dataset數(shù)據(jù)集中四種地物如圖1所示。
圖1 四種地物的示例
本文實(shí)驗(yàn)是在Windows10操作系統(tǒng)上進(jìn)行,編程語言及版本為Python3.7,編程環(huán)境為PyCharm2019.3,使用TensorFlow深度學(xué)習(xí)框架搭建地物檢測模型并對數(shù)據(jù)集進(jìn)行訓(xùn)練,所選深度學(xué)習(xí)框架版本為TensorFlow-GPU 1.14.0。使用CUDA加速模型訓(xùn)練,顯卡為NVIDIA GeForce GTX 1080 Ti,顯存為11GB。
使用沒有先驗(yàn)知識的空模型,通過數(shù)據(jù)訓(xùn)練,機(jī)器進(jìn)行自主學(xué)習(xí),生成檢測相關(guān)典型地物的最佳參數(shù)配置模型。
每一行命令代表訓(xùn)練中的一次迭代,每一次迭代包含已經(jīng)迭代的次數(shù)(Step)、損失值(loss,即預(yù)測值與真實(shí)值之間的誤差)和每次訓(xùn)練所用時(shí)長。在訓(xùn)練過程中,會(huì)根據(jù)迭代次數(shù)自動(dòng)生成日志文件,根據(jù)生成的日志文件,可以選擇某個(gè)迭代次數(shù)生成的日志文件導(dǎo)出所需模型,訓(xùn)練過程中,使用TensorBoard對loss值進(jìn)行可視化。
將建立的模型應(yīng)用到高分辨率遙感影像典型地物的檢測中,并分別對四種典型地物進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)時(shí)將Faster R-CNN和YOLOv3兩個(gè)算法的IOU閾值設(shè)置為0.7,SSD的IOU閾值設(shè)置為0.5。模型訓(xùn)練的初始學(xué)習(xí)率[20](Initial_learning_rate)設(shè)置為0.000 1;批大小(Batch Size,即每次輸入到神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練的樣本數(shù)量)設(shè)置為5,最大迭代次數(shù)設(shè)置為200 00次,迭代過程中可手動(dòng)停止,下次可以根據(jù)日志文件繼續(xù)進(jìn)行訓(xùn)練。實(shí)驗(yàn)的地物檢測結(jié)果如圖2至圖5所示,分別表示飛機(jī)、立交橋、體育場和儲(chǔ)油罐。三種算法的訓(xùn)練損失值如圖6所示。
圖2飛機(jī)的檢測結(jié)果顯示,F(xiàn)aster R-CNN和SSD算法均準(zhǔn)確地檢測出了飛機(jī)的位置,且精度均在90%以上,YOLOv3算法存在誤檢測的情況,且有一處飛機(jī)檢測精度較低。圖3立交橋的檢測結(jié)果顯示,SSD算法檢測精度最高,F(xiàn)aster R-CNN算法檢測精度其次,YOLOv3檢測精度最低,且Faster R-CNN和YOLOv3都錯(cuò)誤地將一個(gè)目標(biāo)檢測成了多個(gè)目標(biāo)。圖4體育場檢測結(jié)果顯示,三種算法均準(zhǔn)確地檢測出了體育場的位置,F(xiàn)aster R-CNN和SSD算法的精度高于YOLOv3。圖5儲(chǔ)油罐的檢測結(jié)果顯示,三種算法均準(zhǔn)確檢測出了儲(chǔ)油罐的位置,YOLOv3的檢測精度略低于其他兩種算法,F(xiàn)aster R-CNN算法存在誤檢測現(xiàn)象。圖6中,SSD算法和YOLOv3算法收斂效果最好,F(xiàn)aster R-CNN收斂效果較差。
圖2 飛機(jī)的檢測結(jié)果
圖3 立交橋的檢測結(jié)果
圖4 體育場的檢測結(jié)果
圖5 儲(chǔ)油罐的檢測結(jié)果
圖6 三種算法的訓(xùn)練損失
三種模型在自行劃分的RSOD-Dataset測試數(shù)據(jù)集上的表現(xiàn)結(jié)果見表1,測試硬件環(huán)境為NVIDIA GeForce GTX 1080 Ti。
表1中Batch Size(批大小)表示每次訓(xùn)練時(shí)輸入神經(jīng)網(wǎng)絡(luò)中樣本的數(shù)量;Step 表示訓(xùn)練迭代次數(shù);mAP表示均值平均精度,即各類別AP的平均值;FPS表示每秒幀數(shù),數(shù)值越大代表處理速度越快。從表中數(shù)據(jù)結(jié)合四種地物檢測結(jié)果圖可以看出,當(dāng)批大小和訓(xùn)練次數(shù)都相同時(shí),SSD算法的檢測精度最高,達(dá)到了86.62%,均高于Faster R-CNN算法的78.52%和YOLOv3算法的66.81%;且SSD算法在提升精度的同時(shí),也提高了檢測速度,F(xiàn)PS達(dá)到了60.26,是Faster R-CNN算法檢測速度的11.18倍,是YOLOv3算法的2.35倍,使用SSD圖像檢測算法進(jìn)行典型地物檢測有更高的應(yīng)用價(jià)值。
表1 SSD算法與Faster R-CNN算法和YOLOv3算法的比較
1)多目標(biāo)以及小目標(biāo)對典型地物識別的影響。由于高分辨率遙感影像包含豐富的數(shù)據(jù)、復(fù)雜的場景,在檢測目標(biāo)過多以及目標(biāo)較小的環(huán)境中使用SSD圖像檢測算法進(jìn)行典型地物檢測會(huì)導(dǎo)致檢測精度下降,易產(chǎn)生目標(biāo)遺漏的情況,如圖7所示。圖7中大部分飛機(jī)和儲(chǔ)油罐被準(zhǔn)確識別標(biāo)注,但是因?yàn)樾∧繕?biāo)過多,造成典型地物識別精度下降,遺漏了幾個(gè)正確目標(biāo),因此需要優(yōu)化初始學(xué)習(xí)率等參數(shù)進(jìn)行改善。
圖7 模型漏檢示例
2)訓(xùn)練數(shù)據(jù)的數(shù)量對典型地物識別的影響。依據(jù)卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型的基本原理,訓(xùn)練的數(shù)據(jù)集足夠大,模型的泛化能力將會(huì)得到較大提升,對未知數(shù)據(jù)的預(yù)測效果更好[21]。
3)參數(shù)優(yōu)化對典型地物識別的影響。通過調(diào)整訓(xùn)練迭代的次數(shù),修改初始學(xué)習(xí)率和批大小等參數(shù),逐漸優(yōu)化模型,可降低模型的損失值。
目前用于遙感影像典型地物檢測的算法,難以兼顧處理速度和檢測精度。針對這一問題,本文提出基于高分辨率遙感影像和深度學(xué)習(xí)的目標(biāo)檢測算法技術(shù),將高分辨率遙感影像的典型地物檢測與卷積神經(jīng)網(wǎng)絡(luò)技術(shù)相結(jié)合,實(shí)現(xiàn)了對遙感影像中典型地物信息的自動(dòng)提取,實(shí)驗(yàn)結(jié)果表明本方法有效的提高了高分辨率遙感影像中典型地物檢測的處理速度和檢測精度。將SSD算法、YOLOv3算法與Faster R-CNN算法進(jìn)行對比,實(shí)驗(yàn)證明SSD算法在地物檢測上的表現(xiàn)優(yōu)于其他兩種檢測算法,在mAP指標(biāo)上比Faster R-CNN算法和YOLOv3算法分別高出了8.1%和19.81%,檢測速度分別是Faster R-CNN算法和YOLOv3算法的11.18倍和2.35倍。本方法只在光學(xué)遙感影像上進(jìn)行實(shí)驗(yàn),未考慮其他類型的影像數(shù)據(jù),未來將考慮多源數(shù)據(jù)融合進(jìn)行相關(guān)實(shí)驗(yàn)。