范新南,嚴(yán)煒,史朋飛,張學(xué)武
河海大學(xué)物聯(lián)網(wǎng)工程學(xué)院,常州 213022
遙感圖像目標(biāo)檢測旨在確定遙感圖像中是否存在感興趣的地物對象,同時對地物對象進行分類和確定其在圖像中的位置(劉小波等,2021;姚艷清等,2021;周培誠 等,2021),如在遙感圖像中檢測船只(姚紅革等,2020;于野等,2020);現(xiàn)如今,遙感圖像目標(biāo)檢測被應(yīng)用于諸多領(lǐng)域,在軍事安全、交通安全、應(yīng)急救援等方面都具有重要作用(姚群力等,2019)。
傳統(tǒng)遙感圖像目標(biāo)檢測算法可分為基于模板匹配的算法和基于傳統(tǒng)機器學(xué)習(xí)的算法(Cheng 和Han,2016)。基于模板匹配的算法主要包括模板生成和相似性度量兩個步驟,例如Weber和Lefèvre(2008)用多元圖像分析方法作為海岸線模板以檢測石油罐。該類算法簡單易行,但魯棒性差,無法適應(yīng)目標(biāo)的多變性?;趥鹘y(tǒng)機器學(xué)習(xí)的算法是近年來的研究熱點。其主體思想是先通過滑動窗口的方法獲取圖像中感興趣的區(qū)域,然后對區(qū)域提取底層特征,再通過統(tǒng)計分析等手段得到如局部二值模式LBP(Local Binary Pattern)(郭少軍 等,2017)、尺度不變特征變換SIFT(Scale?Invariant Feature Transform)(周德云等,2015)、奇異值分解SVD(Singular Value Decomposition)(Zou 等,2016)等中層特征,接著用中層特征訓(xùn)練出支持向量機SVM(Support Vector Machine)等分類器,最后利用分類器判斷感興趣區(qū)域中是否含有待檢測目標(biāo)。例如Cheng等(2013)利用滑動窗口和方向梯度直方圖HOG(Histogram of Oriented Gradient)特征進行遙感圖像目標(biāo)檢測;Zhang 等(2015)、Sun 等(2012)利用滑動窗口和詞袋BOW(Bag of Words)特征對地物進行檢測?;趥鹘y(tǒng)機器學(xué)習(xí)的算法雖然在準(zhǔn)確性和魯棒性上優(yōu)于基于模板匹配的算法,但是該類算法在獲取感興趣區(qū)域步驟上過于繁瑣,而且只能提取淺層特征,因而在復(fù)雜遙感圖像中的描述能力較差。而近年來迅猛發(fā)展的深度學(xué)習(xí)技術(shù)正好能解決這一問題。深度學(xué)習(xí)技術(shù)通過深層網(wǎng)絡(luò)訓(xùn)練可獲得更深層特征,進而實現(xiàn)更加準(zhǔn)確的目標(biāo)檢測,例如張磊等(2019)在Faster R?CNN 網(wǎng)絡(luò)的基礎(chǔ)上通過數(shù)據(jù)增廣的方法提升了遙感圖像目標(biāo)檢測的性能;李紅艷等(2019)在Faster R?CNN 網(wǎng)絡(luò)的基礎(chǔ)上加入注意力機制模塊以獲得更多需要關(guān)注的信息,并使用弱化的非極大值抑制方法Soft?NMS(Soft Non?Maximum Suppression)抑制目標(biāo)的旋轉(zhuǎn)來提升遙感圖像目標(biāo)檢測的性能;Cheng 等(2016)提出了旋轉(zhuǎn)不變的卷積神經(jīng)網(wǎng)絡(luò)RICNN(Rotation Invariant Convolutional Neural Networks),該算法在卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Networks)基礎(chǔ)上加入旋轉(zhuǎn)不變層來提升遙感圖像目標(biāo)檢測性能;王生生等(2019)提出給深度神經(jīng)網(wǎng)絡(luò)剪枝的兩階段目標(biāo)檢測網(wǎng)絡(luò)ODDP (Object Detection Based on Deep Pruning),該方法在平均準(zhǔn)確率上有所提升;Xu和Wu(2020) 將YOLOv3 算法應(yīng)用于遙感圖像目標(biāo)檢測中,并通過在原始YOLOv3 算法中加入DenseNet 特征提取網(wǎng)絡(luò)來提升目標(biāo)檢測性能。上述方法在一定程度上提升了遙感圖像目標(biāo)檢測的性能,但是依然存在對遙感圖像中的特征提取不夠充分的問題,因而無法應(yīng)對目標(biāo)尺度的大差異性問題,尤其對于小目標(biāo)的檢測性能很差,導(dǎo)致最后得到的多類平均準(zhǔn)確率較低。
本文針對上述方法的不足提出一種基于多尺度深度特征融合網(wǎng)絡(luò)的遙感圖像目標(biāo)檢測算法。本文的主要改進之處在于:首先,提出把原算法中的VGG16 特征提取網(wǎng)絡(luò)替換為ResNet50 特征提取網(wǎng)絡(luò)以更加充分地提取圖像中的深層特征;其次,為了解決遙感圖像目標(biāo)檢測中目標(biāo)尺度差異大的難點問題,提出在算法中加入特征金字塔網(wǎng)絡(luò),即用高層語義信息和低層細(xì)節(jié)信息相加的方式得到多尺度特征圖,這有助于提升小目標(biāo)的檢測準(zhǔn)確率;然后,提出將原算法中的交叉熵?fù)p失函數(shù)替換為焦點損失函數(shù)以減小易分類樣本在總損失中所占權(quán)重,讓網(wǎng)絡(luò)更加關(guān)注難分類樣本以進一步提升準(zhǔn)確率;最后對NWPU VHR?10 數(shù)據(jù)集和RSOD數(shù)據(jù)集進行數(shù)據(jù)增廣以克服數(shù)據(jù)集樣本少的缺點并提升算法的泛化性能。本文起本質(zhì)性作用的改進點在于加入特征金字塔網(wǎng)絡(luò),這一改進有效地解決了遙感圖像目標(biāo)檢測中目標(biāo)尺度差異大的難點問題,對提升小目標(biāo)的檢測準(zhǔn)確率至關(guān)重要。而替換特征提取網(wǎng)絡(luò)和損失函數(shù)作為輔助改進點能進一步提升檢測準(zhǔn)確率。
Girshick Ross團隊在2015年提出Faster R?CNN算法(Ren 等,2017);該算法在快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)Fast R?CNN(Fast Region Convolutional Neural Networks)(Girshick,2015)的基礎(chǔ)上用區(qū)域提議網(wǎng)絡(luò)替代選擇性搜索方法,有效地改善了選擇性搜索方法生成候選框過慢的缺點。本文在Faster R?CNN 算法的基礎(chǔ)上對其進行改進,首先替換其特征提取網(wǎng)絡(luò),再加入特征金字塔網(wǎng)絡(luò),接著替換其損失函數(shù),最后應(yīng)用于經(jīng)數(shù)據(jù)增廣的數(shù)據(jù)集上驗證本文算法的性能。
Faster R?CNN 算 法 應(yīng) 用VGG16 基 礎(chǔ) 網(wǎng) 絡(luò)(Simonyan 和Zisserman,2014)對輸入圖像提取特征得到特征圖,該網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖1所示。
圖1 VGG16的網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.1 VGG16 network structure chart
VGG16 網(wǎng)絡(luò)可以認(rèn)為是AlexNet 和ZF?Net 的改進,改進之處在于用多個3×3的卷積核堆疊的方式替代以往用大核卷積堆疊的方式提取特征,這種方式能獲取更細(xì)節(jié)且更深層次的特征;另外,VGG16 網(wǎng)絡(luò)進一步加深了網(wǎng)絡(luò)的深度。在當(dāng)時,許多研究工作都把該網(wǎng)絡(luò)當(dāng)成基礎(chǔ)網(wǎng)絡(luò),這讓研究人員認(rèn)為卷積神經(jīng)網(wǎng)絡(luò)的深度越深,精度就越高。但后來發(fā)現(xiàn)當(dāng)網(wǎng)絡(luò)達(dá)到一定深度之后,精度不升反降。經(jīng)研究發(fā)現(xiàn),這種現(xiàn)象的原因在于網(wǎng)絡(luò)過深導(dǎo)致反向傳播時梯度逐漸消失,無法調(diào)整前面網(wǎng)絡(luò)層的權(quán)重(He 和Sun,2015;Srivastava 等,2015)。為了解決該問題,He 等(2016) 提出ResNet,該網(wǎng)絡(luò)在2015 年的ImageNet 競賽中獲得冠軍。ResNet 主要由兩種學(xué)習(xí)單元組成:兩層殘差學(xué)習(xí)單元和3層殘差學(xué)習(xí)單元,而兩種學(xué)習(xí)單元又是由1×1 和3×3 的卷積核堆疊而成。兩種學(xué)習(xí)單元的結(jié)構(gòu)示意圖如圖2所示。
圖2 兩種典型殘差學(xué)習(xí)單元結(jié)構(gòu)示意圖Fig.2 Structure charts of two typical residual learning units
由圖2 中可以看出,當(dāng)學(xué)習(xí)單元沒有學(xué)習(xí)到任何新特征時,學(xué)習(xí)單元的輸入不經(jīng)過中間的卷積層而直接輸出,即輸出等于輸入。通過這種恒等映射方式保證網(wǎng)絡(luò)的性能不會隨著網(wǎng)絡(luò)的加深而退化的同時還能提取到更深層次的特征(He等,2016)。常用的ResNet 系列包括ResNet18、ResNet34、ResNet50、ResNet101、ResNet152 等,這些網(wǎng)絡(luò)都是由上述殘差學(xué)習(xí)單元以不同方式堆疊而成。在ResNet 網(wǎng)絡(luò)之后,雖然有其他卷積神經(jīng)網(wǎng)絡(luò)被提出,但由于VGG 系列和ResNet 系列具有結(jié)構(gòu)簡單且性能較好的優(yōu)點,所以,研究人員往往還是選取這兩類網(wǎng)絡(luò)作為基礎(chǔ)網(wǎng)絡(luò)。本文通過對比實驗發(fā)現(xiàn),在遙感圖像目標(biāo)檢測中把ResNet50當(dāng)成Faster R?CNN 算法的基礎(chǔ)網(wǎng)絡(luò)能夠取得最佳效果。
區(qū)域提議網(wǎng)絡(luò)是Faster R?CNN 算法中的核心部分,這一網(wǎng)絡(luò)使得Faster R?CNN算法相較于Fast R?CNN 算法有更快的速度和更高的精度(Ren 等,2017;Girshick,2015)。區(qū)域提議網(wǎng)絡(luò)首先將輸入的特征圖利用錨機制和回歸框機制進行訓(xùn)練得到候選框。然后將候選框輸出給區(qū)域卷積神經(jīng)網(wǎng)絡(luò)RCNN(Region Convolutional Neural Networks)做進一步的分類與定位。但是原Faster R?CNN 算法中是將單一尺度特征圖輸入?yún)^(qū)域提議網(wǎng)絡(luò),如圖3(a)為獲得單一尺度特征圖的方式,該方式通過不斷下采樣獲得高層語義信息。這種方式存在明顯缺陷,即小物體本身具有的像素信息較少,在下采樣的過程中極易被丟失,導(dǎo)致網(wǎng)絡(luò)對大目標(biāo)物體的檢測準(zhǔn)確率較高,而對小目標(biāo)的檢測準(zhǔn)確率很低,而特征金字塔網(wǎng)絡(luò)(Lin 等,2017a)恰能彌補這一缺點。因此本文采用特征金字塔網(wǎng)絡(luò)獲取多尺度特征圖,如圖3(b)所示,先用ResNet50 網(wǎng)絡(luò)對輸入圖像提取特征并對特征圖下采樣得到第1、2、3 層,然后將第3 層采用上采樣操作得到第4 層,再將第2 層與第4 層相加得到第5 層,接著將第1 層與第5 層相加得到第6 層,最終得到第4、5、6 層;之后將第4、5、6 層作為特征圖輸入到區(qū)域提議網(wǎng)絡(luò)中,由區(qū)域提議網(wǎng)絡(luò)得到候選框。通過將高層語義信息和低層細(xì)節(jié)信息相加的方式得到的多尺度特征圖可兼顧類別信息和位置信息,這種方式能有效解決遙感圖像目標(biāo)檢測中目標(biāo)尺度差異大的難點問題,尤其對提升小目標(biāo)的檢測準(zhǔn)確率至關(guān)重要。
圖3 兩種提取特征圖的網(wǎng)絡(luò)Fig.3 Two kinds of networks for extracting feature maps
迄今為止,精度較高的目標(biāo)檢測算法是類似于Faster R?CNN 的雙階段檢測算法,而導(dǎo)致SSD(Liu 等,2016)之類的單階段檢測算法檢測精度不高的主要原因在于該類檢測器不具有初步篩選候選框的區(qū)域提議網(wǎng)絡(luò),而是將所有候選框一起送入分類器中,這樣會使得正負(fù)樣本比例嚴(yán)重失衡,即負(fù)樣本比例遠(yuǎn)遠(yuǎn)超過正樣本;而絕大多數(shù)負(fù)樣本都是易分類的背景樣本,易分類樣本比例過高導(dǎo)致在優(yōu)化損失函數(shù)時無法收斂到最優(yōu)結(jié)果。因為雙階段檢測算法中有區(qū)域提議網(wǎng)絡(luò),所以不存在正負(fù)樣本比例嚴(yán)重失衡的問題。但原Faster R?CNN 算法依然沒有考慮難分類樣本和易分類樣本的權(quán)重(Shrivastava 等,2016)。為了減小易分類樣本在總損失中所占權(quán)重,本文將Faster R?CNN算法中的交叉熵?fù)p失函數(shù)替換為焦點損失函數(shù)(Lin 等,2017b),讓網(wǎng)絡(luò)更加關(guān)注難分類樣本以進一步提升準(zhǔn)確率。原Faster R?CNN 算法采用交叉熵?fù)p失函數(shù),交叉熵?fù)p失函數(shù)定義式如式(1)所示:
式中,y∈{0,1}代表真實值,p∈[0,1]代表預(yù)測概率,為了方便表示式(1),定義p'如式(2)所示:
式中,y和p的含義與式(1)中相同,y∈{0,1}代表真實值,p∈[0,1]代表預(yù)測概率,p'是為了方便表示式(1)而定義的新變量,那么式(1)可重新表示為式(3):
交叉熵?fù)p失函數(shù)的代價函數(shù)如圖4中藍(lán)色曲線所示:由藍(lán)色曲線中可以看出,即使是易分類樣本的損失依然較大,大量易分類樣本的損失相加占據(jù)總損失的比重則很大,這將導(dǎo)致易分類樣本的損失主導(dǎo)梯度,最終導(dǎo)致優(yōu)化損失函數(shù)時無法收斂到最優(yōu)結(jié)果。本文引入的焦點損失函數(shù)的定義如式(4)所示:
式中,p'的定義如式(2)所示,γ為指數(shù)。不同γ值下焦點損失函數(shù)的可視化效果如圖4 所示。由圖4中可以看出,在一定范圍內(nèi),易分類樣本的損失值隨著γ值的增大而變小,雖然在易分類樣本的損失值減小的同時難分類樣本的損失值也在減小,但是運用焦點損失函數(shù)的本質(zhì)作用在于:相較于交叉熵?fù)p失函數(shù)而言,易分類樣本的總損失占全部損失的比重將減小,難分類樣本的總損失占全部損失的比重將增大,這使得網(wǎng)絡(luò)更加關(guān)注于難分類樣本以提高檢測準(zhǔn)確率。
圖4 針對多種γ值下?lián)p失函數(shù)的代價對比示意圖Fig.4 The cost of loss functions on multi γ settings
充足的訓(xùn)練樣本是保證深度學(xué)習(xí)方法性能的前提。現(xiàn)有的大多數(shù)遙感圖像數(shù)據(jù)集中的樣本數(shù)量都較少,普遍只有幾百張,遠(yuǎn)未達(dá)到深度學(xué)習(xí)方法對訓(xùn)練樣本數(shù)量的要求。采用數(shù)據(jù)增廣的方法能最大限度地利用小樣本數(shù)據(jù)集中的數(shù)據(jù),增強模型的泛化性能(Liu 等,2016)。常用的數(shù)據(jù)增廣方法有調(diào)整顏色、翻轉(zhuǎn)、加噪聲、仿射變換等。本文采取水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、調(diào)整亮度和加高斯噪聲這4種方式隨機組合的方式進行數(shù)據(jù)增廣,并對圖片標(biāo)簽用同等方式映射。原始NWPU VHR?10 數(shù)據(jù)集包含650 張圖像,數(shù)據(jù)增廣后的NWPU VHR?10數(shù)據(jù)集包含3550張圖像;原始RSOD數(shù)據(jù)集包含936 張圖像,數(shù)據(jù)增廣后的RSOD 數(shù)據(jù)集包含4122 張圖像。以NWPU VHR?10 數(shù)據(jù)集和RSOD 數(shù)據(jù)集為例,經(jīng)數(shù)據(jù)增廣后的圖像如圖5所示。
圖5 NWPU VHR?10和RSOD數(shù)據(jù)集部分?jǐn)?shù)據(jù)增廣結(jié)果圖Fig.5 Partial data augmentation result images of NWPU VHR?10 dataset and RSOD dataset
實驗所用計算機處理器為Intel Core i7?7700,內(nèi)存為128 GB,顯存為11G,GPU 為NVIDIA TITAN V?;趐ython3.6編程實現(xiàn),深度學(xué)習(xí)框架為pytorch0.4.0。
本文選用西北工業(yè)大學(xué)團隊標(biāo)注的NWPU VHR?10數(shù)據(jù)集(Cheng和Han,2016)和武漢大學(xué)團隊標(biāo)注的RSOD數(shù)據(jù)集(Long等,2017;Xiao等,2015)作為實驗所用數(shù)據(jù)集。其中NWPU VHR?10數(shù)據(jù)集共有650 張包含目標(biāo)的圖像,涵蓋10 類目標(biāo),分別是:飛機、船只、油罐、棒球場、網(wǎng)球場、籃球場、田徑場、港口、橋梁和車輛。RSOD數(shù)據(jù)集共有936 張包含目標(biāo)的圖像,涵蓋4 類目標(biāo),分別是:飛機、油罐、立交橋和操場。但由于兩個數(shù)據(jù)集的樣本較少,所以分別對兩個數(shù)據(jù)集采取水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、調(diào)整亮度和加高斯噪聲4種方式隨機組合的方法進行數(shù)據(jù)增廣;數(shù)據(jù)增廣后的NWPU VHR?10 數(shù)據(jù)集包含3550 張包含目標(biāo)的圖像,RSOD 數(shù)據(jù)集包含4122 張包含目標(biāo)的圖像。
本實驗采用單類平均準(zhǔn)確率AP(Average Precision)、多類平均準(zhǔn)確率mAP(mean Average Precision)、P?R(Precision?Recall)曲線等目標(biāo)檢測常用評價指標(biāo)對本文算法進行性能評估。在目標(biāo)檢測中,查準(zhǔn)率precision和查全率recall如式(5)、式(6)所示:
式中,TP(True Positive)為真正例,即被預(yù)測為正例的正樣本,F(xiàn)P(False Positive)為假正例,即被預(yù)測為正例的負(fù)樣本,F(xiàn)N(False Negative)為假反例,即被預(yù)測為負(fù)例的正樣本。根據(jù)查準(zhǔn)率和查全率可畫出P?R曲線,而P?R曲線下的面積即為單類平均準(zhǔn)確率AP,如式(7)所示:
式中,p代表查準(zhǔn)率precision,r代表查全率recall。多類平均準(zhǔn)確率mAP如式(8)所示,其中C為類別數(shù)。
本文重要的實驗參數(shù)如下:初始學(xué)習(xí)率(Initial learning rate) 設(shè)為0.001,衰減率(Learning rate decay)設(shè)為0.1,學(xué)習(xí)率衰減步數(shù)(Learning rate decay step)設(shè)為5,即每訓(xùn)練5 輪學(xué)習(xí)率變?yōu)樵瓉淼?.1 倍;批處理大小(Batch size)設(shè)為1,即每次只訓(xùn)練1張圖片,輪次(Epoch)設(shè)為20,動量(Momentum)設(shè)為0.9,優(yōu)化方法(Optimizer)為隨機梯度下降算法SGD (Stochastic Gradient Descent)。
本實驗首先通過對比實驗選取合適的特征提取網(wǎng)絡(luò),結(jié)果見表1。由表1 可以看出,原Faster R?CNN 算法采用VGG16 網(wǎng)絡(luò)進行特征提取,在NWPU VHR?10 數(shù)據(jù)集和RSOD 數(shù)據(jù)集中的多類平均準(zhǔn)確率mAP分別為82.8%和85.2%;而本文改用ResNet50 網(wǎng)絡(luò)進行特征提取,在NWPU VHR?10數(shù)據(jù)集和RSOD數(shù)據(jù)集中能取得最佳效果,mAP分別為85.2%和89.9%,相比原算法分別提高2.4%和4.7%。由此可見,采用深度殘差網(wǎng)絡(luò)并適當(dāng)加深網(wǎng)絡(luò)深度可提升檢測準(zhǔn)確率。分析其原因在于,ResNet50 深度殘差網(wǎng)絡(luò)通過恒等映射的方式來提取特征,相比于VGG16 特征提取網(wǎng)絡(luò)能提取到更深層次的特征,而且網(wǎng)絡(luò)深度適中,可兼顧精度與速度。因此本文采用ResNet50 作為算法的特征提取網(wǎng)絡(luò)。
各模塊間的消融實驗結(jié)果如表2 所示。由表2中的消融實驗結(jié)果可以看出,本文提出的每一個改進模塊對提升多類平均準(zhǔn)確率mAP都有一定的作用。對于NWPU VHR?10 數(shù)據(jù)集,在加入特征金字塔網(wǎng)絡(luò)、焦點損失函數(shù)和數(shù)據(jù)增廣策略后,mAP分別提升2.6%、4.8%和0.8%;而在RSOD 數(shù)據(jù)集上分別加入特征金字塔網(wǎng)絡(luò)、焦點損失函數(shù)和數(shù)據(jù)增廣策略后,mAP分別提升0.6%、1.6%和0.9%,這一結(jié)果證明了改進模塊的有效性。
表2 針對各模塊mAP的消融實驗對比Table 2 mAP ablation comparisons on the different modules
原算法與改進之后的算法在NWPU VHR?10數(shù)據(jù)集和RSOD 數(shù)據(jù)集上的P?R 曲線見圖6。由圖6可以看出,相較于原算法而言,本文改進之后的算法在船、儲油罐、網(wǎng)球場、車輛等尺寸較小物體的單類平均準(zhǔn)確率AP得到明顯提高,并且本文算法對應(yīng)的P?R 曲線總面積,即多類平均準(zhǔn)確率mAP明顯大于原Faster R?CNN 算法。從原因上分析:首先,本文用特征提取能力更為強大的ResNet50特征提取網(wǎng)絡(luò)替換VGG16特征提取網(wǎng)絡(luò)。ResNet50 深度殘差網(wǎng)絡(luò)通過恒等映射的方式保證網(wǎng)絡(luò)的性能不會隨著網(wǎng)絡(luò)的加深而退化的同時還能提取到更深層次的特征(Lin 等,2017b),其中也包括小目標(biāo)的特征;另外本文加入了特征金字塔網(wǎng)絡(luò),該網(wǎng)絡(luò)通過將高層語義信息和低層細(xì)節(jié)信息相加的方式得到的多尺度特征圖可兼顧類別信息和位置信息,這種方式能有效解決遙感圖像目標(biāo)檢測中目標(biāo)尺度差異大的難點問題,尤其對提升小目標(biāo)的檢測準(zhǔn)確率至關(guān)重要(Lin 等,2017a);而且本文用的是焦點損失函數(shù),這使得網(wǎng)絡(luò)更加關(guān)注難分類樣本,其中也包括小目標(biāo)樣本。以上這3個方面的改進使得本文的算法對于待檢測目標(biāo),特別是小目標(biāo)的檢測準(zhǔn)確率得到較大幅度的提升,最終提升了mAP。而數(shù)據(jù)增廣的目的在于增強網(wǎng)絡(luò)的泛化性能,改進后的網(wǎng)絡(luò)在兩個不同數(shù)據(jù)集上的mAP都得到提升也證明了該網(wǎng)絡(luò)的泛化性能較好。
圖6 P?R曲線對比圖Fig.6 P?R curve comparisons
為了驗證算法改進后確實提升了遙感目標(biāo)的檢測準(zhǔn)確率,圖7(a)是本文從NWPU VHR?10和RSOD 數(shù)據(jù)集中選取的部分圖像,包含了儲油罐、網(wǎng)球場、車輛等小目標(biāo),分別對其用改進前后的算法進行檢測,結(jié)果如圖7(b)和7(c)所示。由圖7(b)組圖像可以看出,原算法對于諸如儲油罐、網(wǎng)球場、車輛等小目標(biāo)的檢測能力較差,經(jīng)常性的出現(xiàn)漏檢或錯檢等情況,而且檢測框重疊現(xiàn)象嚴(yán)重,造成這些問題的主要原因有:原算法對小目標(biāo)特征提取不足;獲得的單一尺度特征圖無法解決遙感圖像目標(biāo)尺度差異大的難題,尤其在小目標(biāo)檢測的性能上較差;對難分類目標(biāo)關(guān)注不夠。而本文通過加入ResNet50 特征提取網(wǎng)絡(luò)、特征金字塔網(wǎng)絡(luò)和焦點損失函數(shù)等策略使得上述問題得到明顯改善,如圖7(c)組圖像可以看出,本文算法檢測到的物體更加全面,不再出現(xiàn)漏檢的情況,而且檢測框更加準(zhǔn)確。
圖7 算法改進前后目標(biāo)檢測效果對比圖Fig.7 Images of target detection before and after algorithm improvement
為進一步驗證本文算法的有效性,在NWPU VHR?10 數(shù)據(jù)集上,將本文算法與BOW(Xu 等,2010)、部分檢測器集合的方法COPD(Collection of Part Detectors)(Cheng 等,2014)、RICNN(Cheng 等,2016)、Faster R?CNN(Ren 等,2017)、ODDP(王生生 等,2019)、Mask R?CNN(He 等,2017)等算法進行對比實驗,實驗結(jié)果見表3和表4。
表3 為7 個算法在NWPU VHR?10 數(shù)據(jù)集上的多類平均準(zhǔn)確率mAP對比表。由表3 可以看出,傳統(tǒng)算法BOW 的檢測效果最差,mAP僅為24.6%;原Faster R?CNN 算法雖然在檢測效果上有很大的提升,但在檢測船、儲油罐、網(wǎng)球場、車輛等小目標(biāo)時,漏檢、錯檢情況嚴(yán)重,單類平均準(zhǔn)確率AP分別只有80.8%、49.1%、79.2%、85.5%;本文算法通過加入ResNet50 特征提取網(wǎng)絡(luò),特征金字塔網(wǎng)絡(luò)和焦點損失函數(shù)之后,很好地優(yōu)化了該問題,使得船、儲油罐、網(wǎng)球場、車輛等小目標(biāo)的AP高于原Faster R?CNN算法和其他幾種對比算法,分別達(dá)到90.7%、89.5%、99.2%、90.3%。最終,本文算法在mAP上相較于BOW、COPD、RICNN、原Faster R?CNN、ODDP、Mask R?CNN 分別提升68.8%、12.7%、20.8%、10.6%、6.7%、9.5%。表4為7 個算法在NWPU VHR?10 數(shù)據(jù)集上的平均測試時間對比表,從中可以看出,本文算法相較于原算法而言,測試時間增加了0.02 s,對比精度的提升,這細(xì)微時間的增加可以接受。而相較于其他算法而言,本文算法的測試時間相對較少,原因在于Faster R?CNN 算法中有區(qū)域提議網(wǎng)絡(luò),能生成更少的候選框,并且網(wǎng)絡(luò)結(jié)構(gòu)較簡單。
表3 7個算法在NWPU VHR-10數(shù)據(jù)集上的mAP對比Table 3 mAP comparisons on the NWPU VHR-10 dataset for 7 algorithms/%
表4 7個算法在NWPU VHR-10數(shù)據(jù)集上的平均測試時間對比Table 4 Testing time comparisons on the NWPU VHR-10 dataset for 7 algorithms
現(xiàn)有的一些遙感圖像目標(biāo)檢測算法對遙感圖像中的特征提取不足且無法很好地解決遙感圖像中目標(biāo)尺度差異大的問題,這將導(dǎo)致圖像中錯檢漏檢問題嚴(yán)重,進而影響目標(biāo)檢測精度。針對以上問題,本文在Faster R?CNN 算法的基礎(chǔ)上對其做出改進,提出了一種新的遙感圖像目標(biāo)檢測算法。具體來說,先把VGG16 特征提取網(wǎng)絡(luò)替換為ResNet50 特征提取網(wǎng)絡(luò)以提取更深層次的特征;接著引入特征金字塔網(wǎng)絡(luò),通過將高層語義信息和低層細(xì)節(jié)信息相加的方式得到的多尺度特征圖可兼顧類別信息和位置信息,這種方式能有效解決遙感圖像中目標(biāo)尺度差異大的問題,進而有效提升小目標(biāo)的檢測準(zhǔn)確率;然后把交叉熵?fù)p失函數(shù)替換為焦點損失函數(shù)以使得難分類樣本得到更多關(guān)注。為了驗證所提算法的有效性,本文做了兩組實驗,包括所提算法中各模塊間的消融實驗以及所提算法與其他算法間的對比實驗。其中,消融實驗結(jié)果表明,對于NWPU VHR?10 數(shù)據(jù)集,在加入特征金字塔網(wǎng)絡(luò)、焦點損失函數(shù)和數(shù)據(jù)增廣策略后,mAP分別提升2.6%、4.8%和0.8%;而在RSOD 數(shù)據(jù)集上分別加入特征金字塔網(wǎng)絡(luò)、焦點損失函數(shù)和數(shù)據(jù)增廣策略后,mAP分別提升0.6%、1.6%和0.9%,證明了采用深度殘差網(wǎng)絡(luò)能夠提取到更深層次的特征而提升目標(biāo)檢測準(zhǔn)確率,采用特征金字塔網(wǎng)絡(luò)能夠在一定程度上解決遙感圖像中目標(biāo)尺度差異大的問題以提升目標(biāo)檢測準(zhǔn)確率。而對比實驗結(jié)果表明,本文算法在NWPU VHR?10數(shù)據(jù)集和RSOD 數(shù)據(jù)集上的多類平均準(zhǔn)確率分別達(dá)到93.4%和93.0%,比Faster R?CNN 算法提高了10.6%和7.8%。說明所提算法相較于對比算法在遙感圖像中具有較好的目標(biāo)檢測性能??傮w來說,本文提出的算法在一定程度上解決了遙感圖像中存在的目標(biāo)尺度差異大的難點問題,在實際的遙感圖像目標(biāo)檢測中具有較高的檢測準(zhǔn)確率。盡管如此,由于本文使用水平檢測框來檢測目標(biāo),該方式使得部分檢測框之間將出現(xiàn)重疊現(xiàn)象,這將在一定程度上影響目標(biāo)的分類準(zhǔn)確性。因此,下一步將進一步研究把目標(biāo)方向考慮在內(nèi)的遙感圖像目標(biāo)檢測問題。