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