郭延華 孫 磊 馬世超 何 宏
(天津理工大學電氣電子工程學院 天津 300384)
隨著經(jīng)濟全球化的發(fā)展,海上運輸日益繁忙,交通事故時常發(fā)生,因此能否對船舶進行有效識別是一個極具挑戰(zhàn)性的問題。隨著目標檢測技術(shù)日益完善,船舶識別[1]技術(shù)領(lǐng)域得到快速發(fā)展,已然成為目標檢測[2]方向的一個研究熱點。但是海上識別環(huán)境較為復(fù)雜,輸入數(shù)據(jù)前/背景可辨識度較小且含有大量極小船舶目標,導致目標檢測器不能對船舶進行有效識別,為識別任務(wù)增加了難度。
目前,基于計算機視覺的深度學習算法[3]在目標識別領(lǐng)域取得了較好的效果。Krizhevsky等[4]首次將ReLU、Dropout和CUDA等技術(shù)應(yīng)用到卷積神經(jīng)網(wǎng)絡(luò)中,極大地提高了圖像分類的正確率,并掀起了深度學習研究的熱潮。Girshick等相繼提出基于區(qū)域問題的選擇性搜索算法[5]、感興趣池化結(jié)構(gòu)[6]以及區(qū)域候選網(wǎng)絡(luò)[7],將目標特征與整個網(wǎng)絡(luò)進行權(quán)值共享,減少了網(wǎng)絡(luò)計算成本,極大地提高了識別速度和精度,但是對于船舶實時檢測仍是巨大的挑戰(zhàn)。為平衡識別速率和準確率的問題,Redmon等[8-10]提出基于回歸的快速檢測算法,直接回歸預(yù)測出船舶目標的邊界框坐標及類別,且滿足實時性的要求,但對于船舶目標相鄰較近且目標極小時,易出現(xiàn)漏檢、錯檢、重復(fù)識別的問題。黃于欣[11]利用OpenCV結(jié)合智能算法提取船舶運動軌跡,挖掘潛在特征,實現(xiàn)船舶軌跡的監(jiān)控與跟蹤。朱廣華[12]將BP神經(jīng)網(wǎng)絡(luò)與卡爾曼濾波算法結(jié)合,通過估計船舶運動參數(shù)來自適應(yīng)識別船舶坐標,但是由于海上環(huán)境復(fù)雜,圖像像素較低,不能夠?qū)O小船舶目標進行良好的識別。
針對上述問題,結(jié)合船舶識別任務(wù)的高速率和高精度的要求,本文提出一種基于極端尺度變化下的目標識別算法——YOLO-G算法,如圖1所示。該算法采用殘差連接方式構(gòu)造深度卷積神經(jīng)網(wǎng)絡(luò),使用了65層卷積層構(gòu)建特征提取器Darknet-65網(wǎng)絡(luò),進行二維卷積操作提取船舶特征,輸出4個不同尺度的特征圖,分別為13×13、26×26、52×52、104×104。在每個特征圖尺度內(nèi),通過卷積核的方式進行特征圖的局部交互,構(gòu)成模型的特征交互層YOLO層,從而輸出目標的中心坐標及類別標簽。網(wǎng)絡(luò)中引入先驗框機制并對傳統(tǒng)的交叉熵函數(shù)[13]進行改進,選用調(diào)制函數(shù)作為模型的損失函數(shù)。該損失函數(shù)不僅降低了簡單負樣本在訓練中所占的權(quán)重,完成了困難樣本的挖掘,使網(wǎng)絡(luò)收斂得更快,魯棒性更好。通過大量對比實驗驗證了YOLO-G網(wǎng)絡(luò)的有效性。
圖1 YOLO-G結(jié)構(gòu)示意圖
快速檢測算法將目標識別問題轉(zhuǎn)化成回歸問題,對于輸入數(shù)據(jù)可以一次性將目標類別和位置信息預(yù)測出來。該算法棄用候選區(qū)域操作,而是選用整幅船舶圖片進行迭代,大幅度提升了檢測速率,滿足目標識別的實時性。快速檢測算法YOLOv3主要由兩部分組成,分別是特征提取器Darknet-53和多尺度YOLO層。
Darknet-53網(wǎng)絡(luò)由一系列的1×1和3×3的卷積層構(gòu)成,每個卷積層后都連接著批量歸一化層(Batch Normalization,BN)和局部響應(yīng)歸一化層(Leaky ReLU)[14]兩個神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)單元,其中兩個卷積層構(gòu)成一個殘差卷積組,卷積組之間采用殘差連接方式,如圖2所示,構(gòu)成殘差結(jié)構(gòu)層(Residual,res)。通過這種新型神經(jīng)結(jié)構(gòu)單元連接方式,使Darknet-53有效地減少了參數(shù)計算量和網(wǎng)絡(luò)的復(fù)雜程度,能夠有效地提取目標的深淺層特征,并避免發(fā)生過擬合。
圖2 殘差單元結(jié)構(gòu)示意圖
多尺度YOLO層使用三個尺度的特征圖進行高度特征融合[15],構(gòu)成特征金字塔網(wǎng)絡(luò),提取圖像深層語義信息,有效提高了對于不同尺度的目標識別的檢測效果。在網(wǎng)絡(luò)訓練時,采用多種圖像增強技術(shù)[16],擴充數(shù)據(jù)集的多樣性和豐富性,增強了網(wǎng)絡(luò)泛化能力及魯棒性。
為實現(xiàn)船舶實時識別分析和小目標高識別準確率的要求,本文對YOLOv3的網(wǎng)絡(luò)結(jié)構(gòu)和識別算法進行改進,改進后的網(wǎng)絡(luò)命名為YOLO-G。該模型結(jié)構(gòu)主要分為特征提取器Darknet-65和YOLO交互層兩部分(見圖1)。
1.2.1特征提取
Darknet-53網(wǎng)絡(luò)輸出3幅不同大小的特征圖,最大特征圖尺寸為52×52,可以完成常規(guī)尺寸船舶目標識別任務(wù),但對于識別樣本分辨率較低,船舶目標尺寸極小等情況時,無法完成船舶目標檢測任務(wù)。因此,本文對原始網(wǎng)絡(luò)Darknet-53的網(wǎng)絡(luò)結(jié)構(gòu)進行改進,在深層特征圖較大的深層結(jié)構(gòu)處,加入12個卷積層和6個res層,構(gòu)建網(wǎng)絡(luò)輸出4個不同大小的特征圖,最大特征圖尺寸為104×104,進行極小船舶目標的識別。改進后的基礎(chǔ)網(wǎng)絡(luò)命名為Darknet-65。
Darknet-65基礎(chǔ)網(wǎng)絡(luò)為全卷積網(wǎng)絡(luò),通過網(wǎng)絡(luò)矩陣節(jié)點獲取目標的基礎(chǔ)特征和深層語義信息,具體網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)如圖3所示。輸入尺寸為416×416,通道數(shù)為3的圖片,每個卷積層都會對輸入數(shù)據(jù)進行批量歸一化操作和激活函數(shù)計算,第一個卷積層中通過32個3×3的卷積核,對船舶輸入信息進行提取,將其輸出作為第二層的輸入,再通過64個3×3、步長為2的卷積核進行遍歷圖像,實現(xiàn)下采樣操作,其后采用YOLOv3的殘差連接方式。
圖3 特征提取網(wǎng)絡(luò)結(jié)構(gòu)圖
將3×3,1×1的卷積層構(gòu)成殘差卷積組,輸出208×208大小的特征圖。在殘差卷積組中:
Si=Gi([S0,S1,…,Si-1])
(1)
式中:S0為網(wǎng)絡(luò)輸入的特征圖;Si為第i層的網(wǎng)絡(luò)輸出,[S0,S1,…,Si-1]表示特征圖間的拼接;Gi()為批量歸一化、激活函數(shù)及卷積操作的組合函數(shù),實現(xiàn)第i層的非線性變換,Gi()操作為Conv(1,1)-BN-ReLU-Conv(3,3)-BN-ReLU。
接下來采用上述結(jié)構(gòu)組成方法及下采樣操作,構(gòu)建8×、8×、8×、4×的4組殘差卷積組,在該網(wǎng)絡(luò)的4倍、8倍、16倍、32倍降采樣處,分別輸出104×104,52×52,26×26,13×13大小的特征圖,并通過上采樣層進行特征圖融合,構(gòu)建特征金字塔網(wǎng)絡(luò),實現(xiàn)極小船舶目標識別。
1.2.2多尺度檢測
由于深層卷積神經(jīng)網(wǎng)絡(luò),其淺層結(jié)構(gòu)輸出的語義信息較少,但其目標坐標信息準確,深層結(jié)構(gòu)輸出的語義信息較為豐富,但其坐標信息較為粗略。YOLO-G通過多尺度預(yù)測直接在圖像上回歸出船舶邊界框和類別標簽,如圖4所示。
圖4 多尺度檢測示意圖
YOLO交互層被分為4個獨立的檢測分支,每個分支含有6個卷積層,并進行2倍的上采樣操作來提高特征金字塔的學習能力。將每個分支通過張量拼接(Concat)的方式與上采樣層進行連接,實現(xiàn)各級特征圖之間的特征交互,完成船舶圖像的淺層位置信息和深層語義信息的高度融合,使網(wǎng)絡(luò)學習到更加細粒度的特征,獲得更有價值的語義信息。多尺度特征融合公式為:
Xf=θf{Ti(Xi)}
(2)
(3)
式中:Xi為需要進行融合的特征圖;Ti為上采樣操作;θf為同尺度下的特征圖張量拼接;Xf為融合后的特征圖;θp為對得到的特征圖重構(gòu)識別。
經(jīng)過多尺度特征融合后,YOLO層最終輸出4個尺度分別為13×13、26×26、52×52、104×104的特征圖。由于特征圖越大感受野越小,故而其所對應(yīng)的識別目標尺寸為大、中、小、極小尺寸。在檢測階段,以S×S特征圖為例,網(wǎng)絡(luò)將船舶圖像分成S×S個網(wǎng)格,若目標中心坐標處于某個網(wǎng)格中,則由該網(wǎng)格進行目標檢測,其中每個網(wǎng)格會輸出4個坐標信息和類別標簽。
1.2.3先驗框機制設(shè)計
為了使網(wǎng)絡(luò)快速準確地預(yù)測出目標的邊界框,本文對船舶數(shù)據(jù)集采用K-means[17]聚類算法,計算出合適的先驗框(anchor box),其中聚類分析使用候選邊界框與真實邊界框的交并比(IOU)。聚類公式為:
d(box,centroid)=1-IOU(box,centroid)
(4)
網(wǎng)絡(luò)輸出4個特征圖,每種特征圖設(shè)定3種先驗框,總共聚類出12種尺寸的先驗框,經(jīng)聚類計算后,得到的先驗框尺寸分別為(4,5)、(9,8)、(11,18)、(22,11)、(15,29)、(46,25)、(25,64)、(93,57)、(52,127)、(86,197)、(141,261)、(260,313)。為每個特征圖每個網(wǎng)格分配三個先驗框,采用三個先驗框中與真實邊界框(Ground True,GT)的交并比(IOU)最大的先驗框來檢測目標。計算流程如圖5所示。YOLO-G通過直接預(yù)測相對于網(wǎng)格的位置信息,計算目標的邊界框坐標信息。邊界框計算公式為:
bx=σ(tx)+Cx
(5)
by=σ(ty)+Cy
(6)
bw=pwetw
(7)
bh=pheth
(8)
式中:tx、ty、tw、th是網(wǎng)絡(luò)預(yù)測的邊界框坐標;bx、by、bw、bh是真實邊界框坐標;Cx、Cy為相對于最上角網(wǎng)格的偏移量;σ()為邏輯函數(shù),將數(shù)據(jù)歸一化為0到1之間;Pw、Ph為先驗框的寬度和高度。
圖5 船舶坐標計算示意圖
1.2.4損失函數(shù)設(shè)計
針對船舶小目標識別問題分析,發(fā)現(xiàn)輸入數(shù)據(jù)的前/背景較難區(qū)分,并且目標所占圖像比例遠小于背景所占的比例,數(shù)據(jù)集以負樣本為主,使網(wǎng)絡(luò)無法學習有用信息導致模型功能退化。針對以上情況,本文選用調(diào)制函數(shù)來處理樣本不平衡[18]的問題。
本文從YOLOv3的交叉熵損失函數(shù)(L)引入到調(diào)制損失函數(shù)(Modulation Loss,ML)。交叉熵函數(shù)公式:
L=-[mlog(n)+(1-m)log(1-n)]
(9)
把交叉熵函數(shù)整理之后可得:
(10)
式中:n的值是+1或-1;m是標簽(label)等于1時預(yù)測的概率,其值范圍為0到1。為方便計算用nt代替n,公式如下:
(11)
對交叉熵的改進,增加了一個系數(shù)αt,跟nt的定義類似,當label為1時,αt=α;當label為-1時,αt=1-α,α的范圍是0到1。公式如下:
L(nt)=-αtlog(nt)
(12)
在大量數(shù)據(jù)訓練過程中,便于分類的負樣本構(gòu)成了損失值變化的主要部分,盡管αt有效地解決了樣本失衡問題,但是對于難/易樣本分類仍具有一定難度。故提出在交叉熵函數(shù)中加入調(diào)制函數(shù):(1-nt)γ,γ>0,由此可知,當樣本類別失衡時,nt是很小的,當m=1時,n小于0.5被定義為類別失衡,反之亦然,因此調(diào)制系數(shù)就趨于1,交叉熵函數(shù)沒有太大改變;當nt無限接近1時(類別正確),調(diào)制系數(shù)接近于0對總損失值影響較小;當γ=0時,調(diào)制損失函數(shù)就是傳統(tǒng)的交叉熵,當γ增加時,調(diào)制函數(shù)也會相應(yīng)的增加,如圖6所示。調(diào)制損失函數(shù)不僅解決了樣本失衡的問題,還有效減少梯度消失的情況并加快網(wǎng)絡(luò)收斂速度。
圖6 γ參數(shù)對損失值和邊界框概率的影響曲線
調(diào)制損失函數(shù)不僅能修正樣本權(quán)重,而且能調(diào)節(jié)困難樣本和簡單樣本的權(quán)重,損失函數(shù)公式如下:
ML(nt)=-αt(1-nt)γlog(nt)
(13)
本文首先通過構(gòu)建特征提取器Darknet-65及多尺度交互層完成目標特征提取,獲得目標的坐標位置信息和類別標簽。其次引入anchor機制和改良損失函數(shù),提高網(wǎng)絡(luò)模型的識別精度和識別準確率,從而構(gòu)成新型單級檢測器YOLO-G。
為驗證YOLO-G網(wǎng)絡(luò)目標識別性能及實驗數(shù)據(jù)對比的公正性,本文在BOAT船舶數(shù)據(jù)集和公開數(shù)據(jù)集COCO[19]上評估YOLO-G網(wǎng)絡(luò)的性能。實驗基于Darknet[20]框架進行識別操作。具體實驗環(huán)境如表1所示。
表1 實驗環(huán)境
船舶目標大多為非合作目標,很難通過網(wǎng)上現(xiàn)有船舶圖像建立大規(guī)模船舶數(shù)據(jù)集BOAT。除了通過搜集網(wǎng)絡(luò)船舶圖片和海上實際船舶圖片外,本文通過SolidWorks 3D[21]軟件制作6類寬高比為2∶1的船舶目標模型,并引入CST電磁仿真軟件,CST參數(shù)設(shè)置如下:位置方向角為-90°~90°,仰俯角為0°,角移動速度為1°;雷達中心頻率為12 GHz,帶寬為200 MHz,選用垂直極化作為極化方法,采樣率為512,選用默認網(wǎng)絡(luò)分析模型尺寸,通過射線追蹤算法進行計算。最終仿真了6類船舶目標的181個方向角的BOAT樣本數(shù)據(jù)。
訓練樣本多樣性的缺失,容易導致模型發(fā)生過擬合。單單通過上述的數(shù)據(jù)樣本數(shù)量對于進行小目標的船舶識別,還未達到識別標準。因此對船舶數(shù)據(jù)集進行擴充,具體步驟如下:
(1) 加入噪聲。對原始船舶數(shù)據(jù)依次加入服從高斯分布的噪聲ki~K[0,θi],共進行3次,將原本數(shù)據(jù)樣本擴充了3倍。
(2) 數(shù)據(jù)增強技術(shù)。修改輸入數(shù)據(jù)的曝光度,色調(diào)和飽和度,利用數(shù)據(jù)抖動以及隨機旋轉(zhuǎn)、翻轉(zhuǎn)、平移策略生成更多的訓練數(shù)據(jù),在數(shù)據(jù)集中加入大量含有極小目標的圖像以豐富數(shù)據(jù)集的多樣性,提高網(wǎng)絡(luò)模型對不同尺寸輸入樣本的魯棒性和泛化能力。通過上述2種技術(shù)手段,增強了BOAT數(shù)據(jù)集的多樣性。
BOAT數(shù)據(jù)集由10 000幅船舶圖片組成,船舶類別包含客船、漁船、帆船、軍艦、游輪、公務(wù)船等6類船舶。數(shù)據(jù)集將采用VOC數(shù)據(jù)集格式,在BOAT中選取70%的數(shù)據(jù)作為訓練集,將剩余數(shù)據(jù)作為測試集來驗證模型的識別性能。
2.3.1模型性能指標計算
本文使用YOLO-G和YOLOv3算法對BOAT數(shù)據(jù)集進行訓練,根據(jù)訓練過程中的損失值變化和P-R曲線來驗證網(wǎng)絡(luò)性能。P-R曲線的樣本插值算法采用VOC2007標準,也就是11點插值法(eleven-point interpolation)。其中準確率(precision)為被識別出來的真實船舶目標數(shù)量占所有被標識的目標數(shù)量,召回率(recall)是被識別出來的船舶目標數(shù)量占圖像中所有目標數(shù)的比例。先驗框與真實框的交并比(IOU)閾值標準設(shè)置為0.6。
準確率(precision)公式為:
(14)
召回率(recall)公式為:
(15)
式中:Tp為大于閾值0.5且被識別的目標數(shù)量;Fp為小于等于閾值0.5識別的目標數(shù)量;FN為未識別的目標數(shù)量。
2.3.2訓練結(jié)果分析
通過隨機梯度下降算法[22]對網(wǎng)絡(luò)進行端到端地訓練,整個訓練過程進行50 000次迭代,訓練平均損失值趨于0時停止訓練,得出相應(yīng)的船舶識別模型,兩者的訓練損失變化及P-R變化分別如圖7和圖8所示。
圖7 訓練過程損失值變化曲線
圖8 P-R函數(shù)關(guān)系曲線
可以看出,YOLO-G模型訓練損失變化曲線和P-R曲線更加平穩(wěn),在相同訓練迭代次數(shù)下,其平均損失值遠小于YOLOv3模型,訓練結(jié)束后,當YOLO-G模型召回率較高時,依然取得較好的平均精度均值。
YOLO-G和YOLOv3模型訓練的參數(shù)基本一致,動量和權(quán)重衰減系數(shù)分別配置為0.9和0.000 5,批量大小設(shè)置為32,初始學習率設(shè)置為0.001,并依次降低為 0.000 1與0.000 01。15 000次迭代后,網(wǎng)絡(luò)模型處于局部最優(yōu)化,即使通過減小學習率也無法使平均損失值顯著下降。YOLO-G和YOLOv3模型訓練的平均損失值(avg-loss)、最大召回率(max-recall)及最高平均精度均值(max-mAP)如表2所示。
表2 YOLOv3和YOLO-G訓練結(jié)果
由表2得知,YOLOv3網(wǎng)絡(luò)訓練的船舶識別模型的平均損失值為15.5。本文通過重構(gòu)網(wǎng)絡(luò)架構(gòu)和改進損失函數(shù)使平均損失值減少了12.1,最終平均損失值為3.4。模型訓練結(jié)束之后,在測試集上對比YOLO-G和YOLOv3的平均精度均值(mAP),mAP變化曲線如圖9所示。相同訓練迭代次數(shù)下,YOLO-G的平均精度均值會比YOLOv3高很多,YOLO-G模型的最高精度值出現(xiàn)在16 000迭代處,mAP值為85.6%(YOLOv3為80.3%),相比于YOLOv3模型增加了6.6%,且精度曲線更加平穩(wěn)。這證明本文提出的網(wǎng)絡(luò)結(jié)構(gòu)和損失函數(shù)算法進行模型訓練,很大程度上提升了模型的識別性能。
圖9 YOLOv3和YOLO-G的mAP變化曲線
2.3.3分類結(jié)果分析
為驗證YOLO-G算法的有效性,將通過與常用的單級檢測器算法對BOAT數(shù)據(jù)集6類船舶進行分類實驗。采用SSD513、DSSD513、YOLOv2、YOLOv3等單級檢測器算法與YOLO-G算法進行不同船舶的分類對比實驗,實驗結(jié)果如表3所示。實驗環(huán)境如表1所示,操作系統(tǒng)為Ubuntu 16.04,深度學習框架為Darknet,GPU為GTX 1080Ti。
表3 單級檢測器分類結(jié)果對比 %
表3給出了不同檢測算法對BOAT數(shù)據(jù)集的分類正確率??梢钥闯觯琒SD系列算法的分類正確率普遍較低,與YOLO系列算法的正確率差距較大,其中SSD513分類正確率最低,平均正確率為82.9%,其軍艦的分類正確率僅為79.6%,分類效果不好。YOLOv2算法的分類平均正確率為87.1%,軍艦的分類正確率為83.6%,與SSD系列相比具有較大的提升,可知YOLO網(wǎng)絡(luò)性能比SSD網(wǎng)絡(luò)更加優(yōu)越,具有更高的分類檢測性能。YOLOv3的平均正確率為90.6%,略高于YOLOv2的正確率。本文算法YOLO-G的平均分類正確率為96.5%,較難分類的軍艦樣本正確率也達到了95.1%。相比于其他幾種分類算法,YOLO-G船舶分類的正確率得到大幅度的提升,可知YOLO-G算法可以很好地獲取船舶的邊緣特征,進而提取船舶的深層特征信息,可以很好地將不同類型的船舶區(qū)分出來,從而證明該算法的有效性及優(yōu)越性。
2.3.4船舶識別分析
船舶目標占據(jù)比太低(目標尺寸是原圖像的0.1),輸入圖片分辨率低(目標像素小于32)、船舶目標特征遮擋等問題,依然是目標檢測器普遍存在的識別難題。針對以上問題,本文進行船舶目標識別研究,來驗證YOLO-G模型和YOLOv3模型在實際目標識別任務(wù)中的檢測性能,實驗結(jié)果如圖10所示。
(a) YOLOv3識別 (b) YOLO-G識別圖10 遮擋環(huán)境下的目標識別對比
圖10測試樣本目標特征部分被遮擋,有效識別信息重疊。圖10(a)識別結(jié)果中,將3個船舶部分特征重疊的目標標識為一個邊界框,同時將識別背景易區(qū)分的3個船舶小目標漏檢;圖10(b)中圖像特征遮擋部分,船舶目標都被準確識別,剩余較小船舶目標全部被識別,得出YOLO-G模型具有更高的召回率。可以看出,YOLOv3和YOLO-G都能識別船舶目標,但是YOLOv3訓練出的船舶識別模型具有較大的識別誤差和較小的召回率,可知新型單級檢測器YOLO-G具有較高的目標識別性能。
圖11測試樣本遠處目標與背景的顏色相近,前/背景不易區(qū)分,且小目標船舶相距較近,提升了識別難度。圖11(a)識別結(jié)果中,將背景處的高樓標識為船舶邊界框,同時對船舶目標產(chǎn)生重疊邊界框的情況。相反,圖11(b)中,將所有船舶目標都正確的識別出來,不存在漏標、錯標的情況。這證明了YOLO-G在圖像目標與背景較難區(qū)分時,可以良好地處理數(shù)據(jù),提取目標特征,完成困難樣本的數(shù)據(jù)挖掘,對測試樣本的船舶目標進行精確定位及標識。YOLO-G模型有效地提升了困難樣本識別率低的問題,雖然在識別精度上仍有提升空間,但是YOLO-G模型在單級檢測器中具有較高的研究意義和識別性能。
(a) YOLOv3識別 (b) YOLO-G識別圖11 前/背景難區(qū)分的小目標識別對比
圖12測試樣本分辨率較低,且存在大量的極小船舶目標,增大了檢測器識別難度。圖12(a)識別結(jié)果中,半數(shù)以上的小目標未被標識邊界框,處于樣本中間區(qū)域的目標被正確識別。相反,圖12(b)中樣本所有船舶小目標均被正確識別出來,該模型在識別極小目標時具有較大的優(yōu)越性。這表明YOLO-G模型的多尺度特征檢測,能夠較好地處理尺度變化如此之大的樣本,且保持較高的識別準確率。
(a) YOLOv3識別 (b) YOLO-G識別圖12 前/背景難區(qū)分的小目標識別對比
圖10-圖12的實驗結(jié)果表明,本文的YOLO-G模型能夠應(yīng)用于多種識別環(huán)境的目標檢測,證明YOLO-G模型對于目標檢測具有極大的作用。
2.3.5先進的單級檢測器進行比較
為驗證YOLO-G網(wǎng)絡(luò)在目標識別上的性能及實驗數(shù)據(jù)對比的公正性,本文在具有挑戰(zhàn)性的COCO數(shù)據(jù)集上對YOLO-G進行模型定量評估,MS-COCO數(shù)據(jù)集具有類別豐富、場景復(fù)雜、小目標數(shù)量多的特點。通過COCO的標準數(shù)據(jù)指標AP、AP50、AP75(參數(shù)AP50, AP75代表閾值分別為0.5、0.75時進行檢測的精度值)對各算法進行對比實驗,并將實驗結(jié)果與最先進的單機檢測器算法進行比較。
將本文算法YOLO-G與SSD513、DSSD513、YOLOv2、YOLOv3算法進行精度比較,結(jié)果如表4所示。YOLO-G算法的平均精度值為34.9%,保持較高的識別率,與其他檢測器相比較,也占據(jù)一定的優(yōu)勢,從而驗證了YOLO-G網(wǎng)絡(luò)識別的有效性。YOLOv3算法具有較高的識別水準,平均精度值為33%,但是由于其自身網(wǎng)絡(luò)結(jié)構(gòu)限制,導致對于船舶小目標不能有效識別。YOLOv2網(wǎng)絡(luò)層數(shù)較少,不含有特征金字塔網(wǎng)絡(luò),因而其平均精度值為21.6%。SSD513、DSSD513[18]分別取得了31.2%、33.2%在精度上表現(xiàn)良好,但是由于網(wǎng)絡(luò)層數(shù)較多,導致網(wǎng)絡(luò)計算量大,易出現(xiàn)收斂速度慢的情況。
表4 單級檢測器精度對比 %
本文提出一種應(yīng)用于船舶目標識別的檢測算法YOLO-G。該算法將深度卷積神經(jīng)網(wǎng)絡(luò)和多尺度特征圖進行特征融合,提取目標的坐標信息及類別,并通過先驗框機制和調(diào)制損失函數(shù)進一步提高模型的識別精度。將YOLO-G算法在BOAT數(shù)據(jù)集和MS-COCO數(shù)據(jù)集上與其他先進檢測器進行性能對比測試,證明了該模型比其他檢測器具有更高的識別精度和準確率,極大地提高了單級檢測器的目標識別性能。但是通過實驗數(shù)據(jù)可以看出,YOLO-G模型的識別精度仍具有一定的提升空間,接下來將通過擴充船舶數(shù)據(jù)集和“遷移學習”優(yōu)化模型性能,提升YOLO-G的目標識別精度。