李秀娟,李軍懷,喬路琪
(1.西安理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院, 陜西 西安 710048;2.西安財(cái)經(jīng)大學(xué) 信息學(xué)院,陜西 西安 710100)
中國大陸海岸線漫長,海域遼闊,穩(wěn)定的海面秩序不僅對于發(fā)展海運(yùn)、開發(fā)資源意義重大,而且對于抵御外敵、鞏固海防也有長遠(yuǎn)的影響。如今,在民用方面,現(xiàn)代化的輪船如客輪、貨輪等促進(jìn)了旅游業(yè)的發(fā)展或推動(dòng)了國際貿(mào)易;在軍用領(lǐng)域,艦艇是海軍力量至關(guān)重要的組成部分。因此,艦船目標(biāo)檢測與識別技術(shù)在掌握海面信息、海事監(jiān)測捕撈、海上搜救以及海上權(quán)益維護(hù)等方面都發(fā)揮著重要作用,是非常有意義的研究課題。
艦船目標(biāo)檢測的傳統(tǒng)方法采用手工提取特征,如李毅等[1]對艦船圖像進(jìn)行不變矩特征提取后利用傳統(tǒng)的支持向量機(jī)(Support Vector Machines,SVM)進(jìn)行分類;張宇[2]采用HOG特征提取,通過線性分類器分類,實(shí)現(xiàn)了瀕海紅外目標(biāo)的檢測;Wijnhoven R等[3]利用HOG實(shí)現(xiàn)特征提取,再利用SVM進(jìn)行分類。以上傳統(tǒng)方法存在時(shí)間復(fù)雜度高、效率低和分類精度低的問題,很難滿足艦船目標(biāo)檢測實(shí)現(xiàn)與部署要求。
隨著深度學(xué)習(xí)目標(biāo)檢測技術(shù)的發(fā)展,為艦船目標(biāo)的自動(dòng)化、智能化識別提供了新的手段。Wang等[4]通過對YOLOv3的改進(jìn)實(shí)現(xiàn)了對可見光圖像艦船目標(biāo)的檢測,主要改進(jìn)在于引入CFENet[5]中的CFE(Comprehensive Feature Enhancement)模塊,以此提高艦船小目標(biāo)的檢測效果;Yang等[6]提出了一種基于旋轉(zhuǎn)包圍盒的無錨艦船檢測方法;顧佼佼等[7]通過對Faster R-CNN引入多尺度特征融合方法實(shí)現(xiàn)了對紅外圖像艦船目標(biāo)的檢測;MA Z F[8]基于對YOLOv4的改進(jìn),提出了多通道融合SAR圖像目標(biāo)檢測處理方法,在船舶數(shù)據(jù)集SSDD上實(shí)驗(yàn),提高了檢測精度。
本文以Faster R-CNN為檢測框架,對其利用特征金字塔網(wǎng)絡(luò)實(shí)現(xiàn)多尺度特征融合進(jìn)行改進(jìn),在可見光圖像艦船數(shù)據(jù)集上完成檢測,實(shí)驗(yàn)表明分割精度有明顯的改進(jìn)。具體工作如下:
(1) 建立了可見光圖像艦船數(shù)據(jù)集。通過旋轉(zhuǎn)、翻轉(zhuǎn)和裁剪等數(shù)據(jù)增強(qiáng)方法解決數(shù)據(jù)集有限的問題,最終可見光數(shù)據(jù)集包括22 260張圖片,以“jpg”格式保存,真值(Ground Truth)標(biāo)簽以“xml”格式保存。
(2) 對Faster R-CNN進(jìn)行改進(jìn)。通過增加特征金字塔網(wǎng)絡(luò)引入了多尺度特征的方法,并改進(jìn)了ROI池化(ROI Pooling)方法,選用ROI對齊(ROI Align)更優(yōu)化的策略。
傳統(tǒng)目標(biāo)檢測方法主要包括區(qū)域選擇、特征提取和分類3個(gè)環(huán)節(jié)。一般首先采用滑動(dòng)窗口進(jìn)行區(qū)域選擇,然后利用方向梯度直方圖(HOG)[9]和尺度不變特征變換(SIFT)[10]等方法對目標(biāo)區(qū)域進(jìn)行特征提取,最后使用機(jī)器學(xué)習(xí)方法分類。這種滑動(dòng)窗口的區(qū)域選擇方法,根本思想是采用不同長寬比尺度對圖像進(jìn)行窮舉遍歷,產(chǎn)生大量冗余窗口,時(shí)間復(fù)雜度高。手工設(shè)計(jì)的特征提取方法對于多樣性的變化并沒有很好的魯棒性。
自2012年AlexNet[11]在ILSVRC中奪冠,圖像的識別與檢測等任務(wù)的處理逐漸轉(zhuǎn)向使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)。利用CNN實(shí)現(xiàn)圖像的特征提取優(yōu)勢明顯[12-13],其對于目標(biāo)在圖像中位置的變換縮放等信息具有較強(qiáng)的魯棒性,而在層數(shù)構(gòu)建較深時(shí),能夠同時(shí)利用淺層卷積提取圖像中的細(xì)節(jié)與紋理信息、深層卷積提取圖像中的抽象與語義信息,從而較完整地獲取圖像的各種特征。
在幾乎統(tǒng)一使用CNN作為特征提取方法的情況下,對于目標(biāo)檢測算法,主要基于是否進(jìn)行候選區(qū)域的選擇而分為2種:一種保留傳統(tǒng)方法中區(qū)域選擇,稱為雙階段(Two-Stage)算法;另一種則拋棄區(qū)域選擇的步驟,直接對目標(biāo)進(jìn)行預(yù)測,稱為單階段(One-Stage)算法。
R-CNN[14]是最早的雙階段算法,使用窮舉思想的選擇性搜索(Selective Search,SS)策略確定1 000~2 000個(gè)候選區(qū)域,利用CNN提取圖像特征,在得到的特征圖上進(jìn)行SVM分類與回歸定位。Fast R-CNN[15]的改進(jìn)在于先利用CNN進(jìn)行特征提取,在特征圖上利用SS方法提取候選區(qū)域,避免了提取候選區(qū)域時(shí)大量重疊部分的冗余計(jì)算,加快了檢測速度。Faster R-CNN[16-19]最大的創(chuàng)新在于用候選區(qū)域網(wǎng)絡(luò)(Region Proposal Network,RPN)取代了SS方法,大大加快了檢測速度,成為經(jīng)典的檢測框架?;贔aster R-CNN出現(xiàn)了許多檢測算法,如Mask R-CNN[20]通過增加一個(gè)掩模分支以更好地完成實(shí)例分割任務(wù)。
單階段算法中最經(jīng)典的是YOLO系列算法[21-22],直接在特征圖上進(jìn)行目標(biāo)檢測。這其中應(yīng)用最為廣泛的是YOLOv3[23],后續(xù)的YOLOv4[24]等則是更加工程化的實(shí)現(xiàn)算法。單階段算法還有SSD[25],不同于YOLOv3的特征圖融合預(yù)測,SSD在不同尺度上直接進(jìn)行分類預(yù)測和定位回歸,提升檢測效果。
綜上所述,雙階段算法發(fā)展到Faster R-CNN基本成熟,而單階段算法又以YOLO系列為代表。近來的研究工作大都在此2種算法的基礎(chǔ)上增加了額外的網(wǎng)絡(luò)與技巧,得到了不錯(cuò)的效果提升,推動(dòng)了基于深度學(xué)習(xí)的艦船目標(biāo)檢測方面的研究。不論是從維護(hù)各種海事活動(dòng)正常開展的民用角度,還是維護(hù)國家海域安全的軍事角度,對艦船檢測都有極高的精度要求。在水面正常情況下,以上研究檢測效果沒有問題,但是當(dāng)受到距離、天氣以及圖像模糊、識別區(qū)域分辨率下降等因素的影響,容易產(chǎn)生虛警問題,小目標(biāo)對象也容易漏檢。分類和定位同時(shí)完成,單階段算法需要綜合考慮算法的精確性和處理速度,當(dāng)檢測距離太近或面對小目標(biāo)時(shí),單階段算法準(zhǔn)確性會(huì)下降。基于以上問題考慮,在對可見光艦船目標(biāo)檢測時(shí),為保證檢測精度,本文選取了雙階段的檢測框架,而舍棄了YOLO等單階段的算法,通過對Faster R-CNN模型的改進(jìn),進(jìn)一步提高艦船目標(biāo)檢測精度,以期滿足民用和軍用對艦船檢測的要求。
Faster R-CNN是應(yīng)用十分廣泛的雙階段目標(biāo)檢測算法,在保證精度較高的條件下,能夠有較快的檢測速度,其算法框架結(jié)構(gòu)如圖1所示,主要由4部分組成:主干網(wǎng)絡(luò)(CNN)、RPN、ROI池化模塊和分類模塊。
圖1 Faster R-CNN整體框架Fig.1 Overall framework of Faster R-CNN
2.1.1 主干網(wǎng)絡(luò)
對圖像進(jìn)行特征的提取通過CNN來實(shí)現(xiàn),本文采用了VGGNet[26]與ResNet[27]中的卷積部分。在去除最后的3層全連接層后,VGGNet-16的結(jié)構(gòu)主要包括13個(gè)卷積層、13個(gè)ReLU激活函數(shù)層與4個(gè)最大池化層,如圖2所示。
圖2 VGGNet-16結(jié)構(gòu)示意Fig.2 Schematic diagram of VGGNet-16 architecture
ResNet-101構(gòu)建原理與VGGNet-16差別不大,從一層7×7的卷積層和3×3的最大池化層開始,之后包括66層的1×1卷積層和33層的3×3卷積層,如圖3所示。
與VGGNet-16相比,引入許多卷積核尺寸為1×1的卷積操作,實(shí)際上沒有改變特征圖的大小,但引入更多的非線性因素,增強(qiáng)了網(wǎng)絡(luò)的決策判別能力。1×1的卷積操作的另一個(gè)作用是將高維的特征圖做降維處理,以降低計(jì)算量。ResNet-101的網(wǎng)絡(luò)結(jié)構(gòu)深,隨著網(wǎng)絡(luò)層次的增加往往會(huì)出現(xiàn)難以收斂、訓(xùn)練誤差增大等問題。為此,ResNet構(gòu)建了殘差結(jié)構(gòu)。殘差結(jié)構(gòu)由捷徑連接(Shortcut Connections)和卷積層2部分構(gòu)成。其中卷積層是CNN中的常規(guī)操作,而通過捷徑連接的跳躍結(jié)構(gòu),將淺層特征直接傳入深層,從而在2個(gè)過程中實(shí)現(xiàn)了構(gòu)建深層網(wǎng)絡(luò)的條件。
圖3 ResNet-101結(jié)構(gòu)Fig.3 Illustration of ResNet-101 architecture
深層D特征與淺層S特征關(guān)系可以表示為:
xD=xS+F(xS,WS),
(1)
式中,WS為淺層網(wǎng)絡(luò)的權(quán)重;F(·)為卷積映射;xD和xS分別為深層和淺層特征。
2.1.2 候選區(qū)域網(wǎng)絡(luò)
Faster R-CNN的第二部分是RPN,作用是提取候選區(qū)域,以作為后續(xù)檢測框回歸和分類的依據(jù)。RPN的實(shí)現(xiàn)建立在錨框上。在特征圖的每個(gè)點(diǎn)上以{1∶2,1∶1,2∶1}3種寬高比例設(shè)置了3種尺寸,共9種矩形框。
對于每個(gè)像素點(diǎn),都存在2組參數(shù):(positive,negative)與(x,y,w,h),前者表示錨框的正負(fù),即錨框中是否包含目標(biāo);后者表示錨框中心點(diǎn)坐標(biāo)、錨框的寬高分別與真值的偏移量,這2組參數(shù)的學(xué)習(xí)由2條不同的路徑完成,如圖4所示。
圖4 RPN結(jié)構(gòu)Fig.4 Schematic diagram of RPN architecture
RPN在接收主干網(wǎng)絡(luò)提取的特征圖之后,首先進(jìn)行一次3×3的卷積操作,在不改變特征圖大小的情況下,再次融合每個(gè)點(diǎn)周圍一定范圍內(nèi)的特征信息,再分為2條路徑。上面一條路徑通過1×1卷積輸出18張?zhí)卣鲌D,對應(yīng)的是每個(gè)特征圖上的9個(gè)錨框的(positive,negative)正負(fù)2個(gè)參數(shù),這2個(gè)參數(shù)通過Softmax函數(shù)進(jìn)行分類,得到具體的錨框的正負(fù)信息。同理,下面一條路徑通過1×1卷積輸出36張?zhí)卣鲌D,對應(yīng)的是9個(gè)錨框的(x,y,w,h)中心點(diǎn)坐標(biāo)、寬、高的偏移量4個(gè)參數(shù)。上下2條路徑包含的信息,包括主干網(wǎng)絡(luò)所提取的特征圖,一并被候選層收集,得到檢測目標(biāo)可能的候選框。
候選層首先對所有的錨框做檢測框回歸,得出所有錨框的偏移量。然后對前述分類得分進(jìn)行排序,選取前N(在實(shí)驗(yàn)中具體設(shè)置,默認(rèn)設(shè)置為6 000)個(gè)得分最高的錨框,采用非極大值抑制(Non-Maximum Suppression,NMS)的方法獲得最終的候選區(qū)域。
2.1.3 ROI池化結(jié)構(gòu)
ROI池化有2個(gè)主要作用:一是通過最大池化,將輸入的候選區(qū)域轉(zhuǎn)化為較小的特征圖,顯著提升了檢測速度;二是能夠輸出固定大小的特征圖,便于進(jìn)行端到端的訓(xùn)練,ROI池化操作如圖5所示。
圖5 ROI池化Fig.5 ROI pooling
如果候選區(qū)域的輸出大小為3×5,而分類網(wǎng)絡(luò)需要得到的輸入尺寸為2×2,則盡量將候選區(qū)域劃分,但不必取整,因此可以劃分為第2個(gè)特征圖中的4個(gè)紅色區(qū)域。之后對每個(gè)區(qū)域進(jìn)行最大池化,將最大值復(fù)制后最終得到2×2的特征圖。
2.1.4 分類網(wǎng)絡(luò)
對于檢測出的較為精確的候選框的分類,F(xiàn)aster R-CNN采用了全連接層與Softmax函數(shù)來實(shí)現(xiàn)。由于權(quán)重與偏差是在訓(xùn)練時(shí)已經(jīng)學(xué)習(xí)好的參數(shù),因此在做測試或推斷時(shí)全連接層只能接收相同大小的圖像,這也印證了ROI池化層存在的必要性。得到全連接層的輸出后,利用Softmax函數(shù)求得分類得分最大的類即為具體檢測得到的類別。
2.2.1 引入特征金字塔網(wǎng)絡(luò)
特征金字塔網(wǎng)絡(luò)[28]一經(jīng)提出便有了廣泛的應(yīng)用,如Wu等人[29]提出的結(jié)構(gòu)引入了多尺度方法,對檢測結(jié)果有不錯(cuò)的提升。因此本文引入特征金字塔網(wǎng)絡(luò),將特征提取階段的多個(gè)特征圖作為RPN的輸入,從而實(shí)現(xiàn)多尺度預(yù)測方法,增強(qiáng)小目標(biāo)艦船的檢測能力,特征金字塔網(wǎng)絡(luò)的結(jié)構(gòu)如圖6所示。
圖6 特征金字塔網(wǎng)絡(luò)Fig.6 Feature pyramid network
特征金字塔網(wǎng)絡(luò)的結(jié)構(gòu)包括2個(gè)部分,一是通過卷積或者池化對圖像進(jìn)行下采樣,得到不同層的特征圖,如圖6中的特征圖1、特征圖2和特征圖3,其特征圖尺寸分別為原圖1/2,1/8,1/16下采樣所得。特征圖3進(jìn)行1×1的卷積,改變其維度,使之與后續(xù)RPN的輸入維度匹配,得到特征圖4,由于進(jìn)行了1×1的卷積,特征圖4與特征圖3的大小相同。
二是通過雙線性插值法或最近鄰插值法等對特征圖上采樣。上采樣后要保證特征圖大小相同才能進(jìn)行特征融合,將特征圖3~特征圖1分別2倍上采樣。最后,需要將融合后的特征圖4,5,6送入RPN中,在輸入的每個(gè)尺度的特征圖上設(shè)置對應(yīng)錨框,錨框仍然保持3種寬高比例,從而能夠在不同尺度下獲取候選區(qū)域。為了減少計(jì)算量,在不同尺度的特征圖之間,選擇共享RPN的參數(shù)。
2.2.2 將ROI池化改進(jìn)為ROI對齊
Faster R-CNN檢測網(wǎng)絡(luò)中,采用了ROI池化的方法進(jìn)行降采樣。以VGGNet-16為主干網(wǎng)絡(luò)進(jìn)行特征提取為例,原圖到ROI池化的過程需要1/16下采樣,在獲取候選區(qū)域之后,將候選區(qū)域映射到輸入特征圖時(shí),需要進(jìn)行取整量化;在特征圖上候選區(qū)域池化時(shí),并不一定精確位于像素點(diǎn)上,因此需要二次取整量化,得到的候選框與實(shí)際物體位置有微小偏差,對候選區(qū)域精度有一定的損失。
本文引入Mask R-CNN對ROI池化的改進(jìn)方法,采用ROI對齊方法。ROI對齊實(shí)現(xiàn)過程是首先遍歷每一個(gè)候選區(qū)域,對浮點(diǎn)數(shù)邊界不做量化;其次將候選區(qū)域分割為k×k個(gè)單元,每個(gè)單元的邊界也不做量化;在每個(gè)單元中計(jì)算4個(gè)固定坐標(biāo)位置,用雙線性插值的方法計(jì)算這4個(gè)位置的值,然后再進(jìn)行最大池化,以解決特征圖預(yù)測框取整操作造成的精度損失問題。綜上所述,改進(jìn)后的Faster R-CNN結(jié)構(gòu)如圖7所示。
圖7 改進(jìn)后的Faster R-CNN結(jié)構(gòu)Fig.7 Schematic diagram of improved Faster R-CNN architecture
可見光艦船目標(biāo)數(shù)據(jù)集包括22 260張包含艦船目標(biāo)的圖片,圖片格式為“jpg”,部分圖片如圖8所示,真值標(biāo)簽以“xml”存儲(chǔ),包含了圖片大小、通道數(shù)、目標(biāo)類別(軍艦和民船)、真值框左上右下2個(gè)點(diǎn)的4個(gè)坐標(biāo)值。圖片與真值標(biāo)簽命名相同,以便實(shí)現(xiàn)對應(yīng)關(guān)系。訓(xùn)練集與測試集采用隨機(jī)采樣的方式進(jìn)行劃分,比例大約為4∶1。
(a) 軍艦
(b) 民船圖8 可見光數(shù)據(jù)集Fig.8 Visible light data set
3.2.1 實(shí)驗(yàn)設(shè)置與過程
實(shí)驗(yàn)環(huán)境基于Ubuntu 16.04,CUDA 10.2,Pytorch 1.0.0,訓(xùn)練在4張NVIDIA RTX 2080ti顯卡上完成。
實(shí)驗(yàn)中采用了小批量梯度下降法作為優(yōu)化方法,表示為:
(2)
式中,m為每次更新參數(shù)時(shí)樣本數(shù)量;f(xi,θ)為假設(shè)函數(shù),為了解決下降路徑的震蕩問題,實(shí)驗(yàn)使用動(dòng)量(Momentum)學(xué)習(xí)法對于小批量梯度下降法的優(yōu)化,其動(dòng)量參數(shù)設(shè)置為0.9。
BatchSize設(shè)置為16,即一次性對網(wǎng)絡(luò)輸入16張圖片,以充分利用每張顯卡的內(nèi)存;Epoch設(shè)為20,即將整個(gè)數(shù)據(jù)集數(shù)據(jù)在網(wǎng)絡(luò)中循環(huán)20次,在每100次迭代(Iteration)時(shí)顯示一次損失,利用Tensorboard顯示模型訓(xùn)練收斂過程。
Faster R-CNN的訓(xùn)練過程可以拆分為2步:首先訓(xùn)練RPN;其次訓(xùn)練整個(gè)網(wǎng)絡(luò),將2個(gè)階段循環(huán)2次(實(shí)驗(yàn)表明,更多次沒有明顯提升)。循環(huán)第一次時(shí),加載數(shù)據(jù)集上預(yù)訓(xùn)練的VGGNet-16與ResNet-101對RPN進(jìn)行訓(xùn)練,將其輸出作為后續(xù)網(wǎng)絡(luò)訓(xùn)練的權(quán)重。
2個(gè)階段網(wǎng)絡(luò)的損失函數(shù)都設(shè)置為:
(3)
在訓(xùn)練不同網(wǎng)絡(luò)時(shí),對于上述損失函數(shù)有不同的意義:訓(xùn)練RPN時(shí),損失函數(shù)的兩部分包括其分類損失和回歸損失,分別使用了交叉熵?fù)p失函數(shù)和SmoothL1損失函數(shù)。此時(shí),網(wǎng)絡(luò)僅更新RPN的權(quán)重,而中止了共享卷積層權(quán)重的更新。
學(xué)習(xí)率設(shè)置為0.001,同時(shí)設(shè)置每5次數(shù)據(jù)集循環(huán)進(jìn)行一次學(xué)習(xí)率衰減(Learning Rate Decay),具體為:
(4)
式中,α0為初始學(xué)習(xí)率;α為衰減后學(xué)習(xí)率;衰減因子γ設(shè)置為0.1;num_of_step設(shè)為每5個(gè)數(shù)據(jù)集循環(huán)為一次衰減周期。設(shè)置一個(gè)相對較大的學(xué)習(xí)率有利于模型的快速收斂,然而學(xué)習(xí)率過大將導(dǎo)致網(wǎng)絡(luò)在一個(gè)局部最優(yōu)點(diǎn)附近擺動(dòng)而沒有真正收斂,因此需要慢慢降低學(xué)習(xí)率以使模型向最優(yōu)點(diǎn)收斂。
3.2.2 實(shí)驗(yàn)結(jié)果與分析
(1) 評價(jià)指標(biāo)
實(shí)驗(yàn)的結(jié)果用類平均精度(Mean Average Precision,MAP)來表示:
(5)
即對所有類的精度APi求平均值,而APi的計(jì)算由4個(gè)步驟得出:
第1步,給定預(yù)測框與真值框的交并比,由此統(tǒng)計(jì)出混淆矩陣的各個(gè)值,如表1所示。
表1 混淆矩陣
第2步,計(jì)算準(zhǔn)確率,即在所有檢測為正樣本目標(biāo)中為真實(shí)目標(biāo)所占的比例:
(6)
第3步,計(jì)算召回率,即在所有真實(shí)目標(biāo)中被實(shí)際檢測出的目標(biāo)所占的比例:
(7)
第4步,綜合考量準(zhǔn)確率與召回率,以二者為橫縱坐標(biāo)做出曲線,對曲線求積分可得平均精度的值:
(8)
得到每個(gè)類精度之后,再計(jì)算出MAP的值。
(2) 實(shí)驗(yàn)結(jié)果
在實(shí)驗(yàn)劃分出的測試集上,利用應(yīng)用較廣泛的交并比為0.5時(shí)的MAP進(jìn)行評估,分別利用VGGNET-16與ResNet-101作為主干網(wǎng)絡(luò)進(jìn)行特征提取,得到結(jié)果如表2所示。
表2 Faster R-CNN檢測精度
在檢測速度方面,網(wǎng)絡(luò)對于單張圖像的平均檢測時(shí)間達(dá)到了45 ms,即平均能達(dá)到22幀/秒的檢測速度。
(3) 結(jié)果分析
在量化分析方面,基于VGGNET-16進(jìn)行特征提取的檢測網(wǎng)絡(luò)平均精度能達(dá)到84.6%;采用ResNet-101進(jìn)行特征提取,檢測精度達(dá)到85.3%,比前者精度稍高,也印證了殘差網(wǎng)絡(luò)的有效性。然而,對于一個(gè)規(guī)模不算小的數(shù)據(jù)集來說,在測試集上的結(jié)果仍有一定提高的空間,其中比較重要的2個(gè)方面是基礎(chǔ)Faster R-CNN檢測網(wǎng)絡(luò)所欠缺的多尺度檢測方法,以及最初的ROI池化存在的精度問題。因此,考慮利用較為先進(jìn)的方式對Faster R-CNN的固有模塊進(jìn)行改進(jìn),以期望達(dá)到更高的結(jié)果。
3.3.1 改進(jìn)網(wǎng)絡(luò)實(shí)驗(yàn)
在經(jīng)過2個(gè)方面的改進(jìn)之后,使用改進(jìn)Faster R-CNN對可見光數(shù)據(jù)集再次進(jìn)行了訓(xùn)練和測試實(shí)驗(yàn),為了做出較為明顯的對比,實(shí)驗(yàn)參數(shù)設(shè)置與初始實(shí)驗(yàn)保持一致,即:批量大小設(shè)置為16,數(shù)據(jù)集循環(huán)輸入20次,學(xué)習(xí)率設(shè)為0.001,每5次數(shù)據(jù)集循環(huán)進(jìn)行一次學(xué)習(xí)率衰減,衰減因子為0.1,得到結(jié)果如表3所示。
表3 實(shí)驗(yàn)精度對比
在檢測速度方面,由于引入了特征金字塔網(wǎng)絡(luò),對于單張圖片的平均檢測時(shí)間為58 ms,略有增加,檢測速度為17 幀/秒。
利用改進(jìn)的Faster R-CNN模型對艦船可見光圖片進(jìn)行檢驗(yàn),可得到檢測效果如圖9所示。
圖9 可見光圖片檢測結(jié)果Fig.9 Detection results of visible light images
3.3.2 結(jié)果分析
由實(shí)驗(yàn)結(jié)果對比可知,優(yōu)化后的網(wǎng)絡(luò)結(jié)構(gòu)引入了多尺度特征金字塔方法并將ROI池化改為ROI對齊模塊,VGGNet-16和ResNet-101作為特征提取的主干網(wǎng)絡(luò),精度分別達(dá)到了89.6%和90.7%,與傳統(tǒng)的Faster R-CNN結(jié)構(gòu)相比精度均有提升。尤其基于ResNet-101進(jìn)行特征提取的檢測網(wǎng)絡(luò)精度提升更大,與傳統(tǒng)Faster R-CNN網(wǎng)絡(luò)相比精度提升了5.4%,而比同級YOLO的精度提升更多,證明了本文改進(jìn)的網(wǎng)絡(luò)模型在檢測精度方面的良好效果。
本文基于Faster R-CNN檢測網(wǎng)絡(luò)引入了特征金字塔網(wǎng)絡(luò),對不同層次網(wǎng)絡(luò)得到的特征圖進(jìn)行融合,通過對不同尺度的融合特征圖提取候選區(qū)域,達(dá)到檢測不同大小目標(biāo)的目的。同時(shí),由于ROI池化本身對精度有一定的局限性,于是將ROI池化改進(jìn)為ROI對齊,實(shí)現(xiàn)了對網(wǎng)絡(luò)參數(shù)精度的提升。利用改進(jìn)Faster R-CNN得到了比Faster R-CNN更好的實(shí)驗(yàn)結(jié)果。然而如何對檢測網(wǎng)絡(luò)添加優(yōu)化分支對損失進(jìn)行補(bǔ)償,級聯(lián)優(yōu)化網(wǎng)絡(luò)進(jìn)行優(yōu)化預(yù)處理等方式提升網(wǎng)絡(luò)的精度,可以在之后的工作中進(jìn)一步考慮和研究。