郭延華 孫 磊 馬世超 何 宏
(天津理工大學(xué)電氣電子工程學(xué)院 天津 300384)
隨著經(jīng)濟(jì)全球化的發(fā)展,海上運(yùn)輸日益繁忙,交通事故時(shí)常發(fā)生,因此能否對(duì)船舶進(jìn)行有效識(shí)別是一個(gè)極具挑戰(zhàn)性的問題。隨著目標(biāo)檢測(cè)技術(shù)日益完善,船舶識(shí)別[1]技術(shù)領(lǐng)域得到快速發(fā)展,已然成為目標(biāo)檢測(cè)[2]方向的一個(gè)研究熱點(diǎn)。但是海上識(shí)別環(huán)境較為復(fù)雜,輸入數(shù)據(jù)前/背景可辨識(shí)度較小且含有大量極小船舶目標(biāo),導(dǎo)致目標(biāo)檢測(cè)器不能對(duì)船舶進(jìn)行有效識(shí)別,為識(shí)別任務(wù)增加了難度。
目前,基于計(jì)算機(jī)視覺的深度學(xué)習(xí)算法[3]在目標(biāo)識(shí)別領(lǐng)域取得了較好的效果。Krizhevsky等[4]首次將ReLU、Dropout和CUDA等技術(shù)應(yīng)用到卷積神經(jīng)網(wǎng)絡(luò)中,極大地提高了圖像分類的正確率,并掀起了深度學(xué)習(xí)研究的熱潮。Girshick等相繼提出基于區(qū)域問題的選擇性搜索算法[5]、感興趣池化結(jié)構(gòu)[6]以及區(qū)域候選網(wǎng)絡(luò)[7],將目標(biāo)特征與整個(gè)網(wǎng)絡(luò)進(jìn)行權(quán)值共享,減少了網(wǎng)絡(luò)計(jì)算成本,極大地提高了識(shí)別速度和精度,但是對(duì)于船舶實(shí)時(shí)檢測(cè)仍是巨大的挑戰(zhàn)。為平衡識(shí)別速率和準(zhǔn)確率的問題,Redmon等[8-10]提出基于回歸的快速檢測(cè)算法,直接回歸預(yù)測(cè)出船舶目標(biāo)的邊界框坐標(biāo)及類別,且滿足實(shí)時(shí)性的要求,但對(duì)于船舶目標(biāo)相鄰較近且目標(biāo)極小時(shí),易出現(xiàn)漏檢、錯(cuò)檢、重復(fù)識(shí)別的問題。黃于欣[11]利用OpenCV結(jié)合智能算法提取船舶運(yùn)動(dòng)軌跡,挖掘潛在特征,實(shí)現(xiàn)船舶軌跡的監(jiān)控與跟蹤。朱廣華[12]將BP神經(jīng)網(wǎng)絡(luò)與卡爾曼濾波算法結(jié)合,通過估計(jì)船舶運(yùn)動(dòng)參數(shù)來自適應(yīng)識(shí)別船舶坐標(biāo),但是由于海上環(huán)境復(fù)雜,圖像像素較低,不能夠?qū)O小船舶目標(biāo)進(jìn)行良好的識(shí)別。
針對(duì)上述問題,結(jié)合船舶識(shí)別任務(wù)的高速率和高精度的要求,本文提出一種基于極端尺度變化下的目標(biāo)識(shí)別算法——YOLO-G算法,如圖1所示。該算法采用殘差連接方式構(gòu)造深度卷積神經(jīng)網(wǎng)絡(luò),使用了65層卷積層構(gòu)建特征提取器Darknet-65網(wǎng)絡(luò),進(jìn)行二維卷積操作提取船舶特征,輸出4個(gè)不同尺度的特征圖,分別為13×13、26×26、52×52、104×104。在每個(gè)特征圖尺度內(nèi),通過卷積核的方式進(jìn)行特征圖的局部交互,構(gòu)成模型的特征交互層YOLO層,從而輸出目標(biāo)的中心坐標(biāo)及類別標(biāo)簽。網(wǎng)絡(luò)中引入先驗(yàn)框機(jī)制并對(duì)傳統(tǒng)的交叉熵函數(shù)[13]進(jìn)行改進(jìn),選用調(diào)制函數(shù)作為模型的損失函數(shù)。該損失函數(shù)不僅降低了簡(jiǎn)單負(fù)樣本在訓(xùn)練中所占的權(quán)重,完成了困難樣本的挖掘,使網(wǎng)絡(luò)收斂得更快,魯棒性更好。通過大量對(duì)比實(shí)驗(yàn)驗(yàn)證了YOLO-G網(wǎng)絡(luò)的有效性。

圖1 YOLO-G結(jié)構(gòu)示意圖
快速檢測(cè)算法將目標(biāo)識(shí)別問題轉(zhuǎn)化成回歸問題,對(duì)于輸入數(shù)據(jù)可以一次性將目標(biāo)類別和位置信息預(yù)測(cè)出來。該算法棄用候選區(qū)域操作,而是選用整幅船舶圖片進(jìn)行迭代,大幅度提升了檢測(cè)速率,滿足目標(biāo)識(shí)別的實(shí)時(shí)性。快速檢測(cè)算法YOLOv3主要由兩部分組成,分別是特征提取器Darknet-53和多尺度YOLO層。
Darknet-53網(wǎng)絡(luò)由一系列的1×1和3×3的卷積層構(gòu)成,每個(gè)卷積層后都連接著批量歸一化層(Batch Normalization,BN)和局部響應(yīng)歸一化層(Leaky ReLU)[14]兩個(gè)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)單元,其中兩個(gè)卷積層構(gòu)成一個(gè)殘差卷積組,卷積組之間采用殘差連接方式,如圖2所示,構(gòu)成殘差結(jié)構(gòu)層(Residual,res)。通過這種新型神經(jīng)結(jié)構(gòu)單元連接方式,使Darknet-53有效地減少了參數(shù)計(jì)算量和網(wǎng)絡(luò)的復(fù)雜程度,能夠有效地提取目標(biāo)的深淺層特征,并避免發(fā)生過擬合。

圖2 殘差單元結(jié)構(gòu)示意圖
多尺度YOLO層使用三個(gè)尺度的特征圖進(jìn)行高度特征融合[15],構(gòu)成特征金字塔網(wǎng)絡(luò),提取圖像深層語義信息,有效提高了對(duì)于不同尺度的目標(biāo)識(shí)別的檢測(cè)效果。在網(wǎng)絡(luò)訓(xùn)練時(shí),采用多種圖像增強(qiáng)技術(shù)[16],擴(kuò)充數(shù)據(jù)集的多樣性和豐富性,增強(qiáng)了網(wǎng)絡(luò)泛化能力及魯棒性。
為實(shí)現(xiàn)船舶實(shí)時(shí)識(shí)別分析和小目標(biāo)高識(shí)別準(zhǔn)確率的要求,本文對(duì)YOLOv3的網(wǎng)絡(luò)結(jié)構(gòu)和識(shí)別算法進(jìn)行改進(jìn),改進(jìn)后的網(wǎng)絡(luò)命名為YOLO-G。該模型結(jié)構(gòu)主要分為特征提取器Darknet-65和YOLO交互層兩部分(見圖1)。
1.2.1特征提取
Darknet-53網(wǎng)絡(luò)輸出3幅不同大小的特征圖,最大特征圖尺寸為52×52,可以完成常規(guī)尺寸船舶目標(biāo)識(shí)別任務(wù),但對(duì)于識(shí)別樣本分辨率較低,船舶目標(biāo)尺寸極小等情況時(shí),無法完成船舶目標(biāo)檢測(cè)任務(wù)。因此,本文對(duì)原始網(wǎng)絡(luò)Darknet-53的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),在深層特征圖較大的深層結(jié)構(gòu)處,加入12個(gè)卷積層和6個(gè)res層,構(gòu)建網(wǎng)絡(luò)輸出4個(gè)不同大小的特征圖,最大特征圖尺寸為104×104,進(jìn)行極小船舶目標(biāo)的識(shí)別。改進(jìn)后的基礎(chǔ)網(wǎng)絡(luò)命名為Darknet-65。
Darknet-65基礎(chǔ)網(wǎng)絡(luò)為全卷積網(wǎng)絡(luò),通過網(wǎng)絡(luò)矩陣節(jié)點(diǎn)獲取目標(biāo)的基礎(chǔ)特征和深層語義信息,具體網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)如圖3所示。輸入尺寸為416×416,通道數(shù)為3的圖片,每個(gè)卷積層都會(huì)對(duì)輸入數(shù)據(jù)進(jìn)行批量歸一化操作和激活函數(shù)計(jì)算,第一個(gè)卷積層中通過32個(gè)3×3的卷積核,對(duì)船舶輸入信息進(jìn)行提取,將其輸出作為第二層的輸入,再通過64個(gè)3×3、步長(zhǎng)為2的卷積核進(jìn)行遍歷圖像,實(shí)現(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ù),實(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大小的特征圖,并通過上采樣層進(jìn)行特征圖融合,構(gòu)建特征金字塔網(wǎng)絡(luò),實(shí)現(xiàn)極小船舶目標(biāo)識(shí)別。
1.2.2多尺度檢測(cè)
由于深層卷積神經(jīng)網(wǎng)絡(luò),其淺層結(jié)構(gòu)輸出的語義信息較少,但其目標(biāo)坐標(biāo)信息準(zhǔn)確,深層結(jié)構(gòu)輸出的語義信息較為豐富,但其坐標(biāo)信息較為粗略。YOLO-G通過多尺度預(yù)測(cè)直接在圖像上回歸出船舶邊界框和類別標(biāo)簽,如圖4所示。

圖4 多尺度檢測(cè)示意圖
YOLO交互層被分為4個(gè)獨(dú)立的檢測(cè)分支,每個(gè)分支含有6個(gè)卷積層,并進(jìn)行2倍的上采樣操作來提高特征金字塔的學(xué)習(xí)能力。將每個(gè)分支通過張量拼接(Concat)的方式與上采樣層進(jìn)行連接,實(shí)現(xiàn)各級(jí)特征圖之間的特征交互,完成船舶圖像的淺層位置信息和深層語義信息的高度融合,使網(wǎng)絡(luò)學(xué)習(xí)到更加細(xì)粒度的特征,獲得更有價(jià)值的語義信息。多尺度特征融合公式為:
Xf=θf{Ti(Xi)}
(2)
(3)
式中:Xi為需要進(jìn)行融合的特征圖;Ti為上采樣操作;θf為同尺度下的特征圖張量拼接;Xf為融合后的特征圖;θp為對(duì)得到的特征圖重構(gòu)識(shí)別。
經(jīng)過多尺度特征融合后,YOLO層最終輸出4個(gè)尺度分別為13×13、26×26、52×52、104×104的特征圖。由于特征圖越大感受野越小,故而其所對(duì)應(yīng)的識(shí)別目標(biāo)尺寸為大、中、小、極小尺寸。在檢測(cè)階段,以S×S特征圖為例,網(wǎng)絡(luò)將船舶圖像分成S×S個(gè)網(wǎng)格,若目標(biāo)中心坐標(biāo)處于某個(gè)網(wǎng)格中,則由該網(wǎng)格進(jìn)行目標(biāo)檢測(cè),其中每個(gè)網(wǎng)格會(huì)輸出4個(gè)坐標(biāo)信息和類別標(biāo)簽。
1.2.3先驗(yàn)框機(jī)制設(shè)計(jì)
為了使網(wǎng)絡(luò)快速準(zhǔn)確地預(yù)測(cè)出目標(biāo)的邊界框,本文對(duì)船舶數(shù)據(jù)集采用K-means[17]聚類算法,計(jì)算出合適的先驗(yàn)框(anchor box),其中聚類分析使用候選邊界框與真實(shí)邊界框的交并比(IOU)。聚類公式為:
d(box,centroid)=1-IOU(box,centroid)
(4)
網(wǎng)絡(luò)輸出4個(gè)特征圖,每種特征圖設(shè)定3種先驗(yàn)框,總共聚類出12種尺寸的先驗(yàn)框,經(jīng)聚類計(jì)算后,得到的先驗(yàn)框尺寸分別為(4,5)、(9,8)、(11,18)、(22,11)、(15,29)、(46,25)、(25,64)、(93,57)、(52,127)、(86,197)、(141,261)、(260,313)。為每個(gè)特征圖每個(gè)網(wǎng)格分配三個(gè)先驗(yàn)框,采用三個(gè)先驗(yàn)框中與真實(shí)邊界框(Ground True,GT)的交并比(IOU)最大的先驗(yàn)框來檢測(cè)目標(biāo)。計(jì)算流程如圖5所示。YOLO-G通過直接預(yù)測(cè)相對(duì)于網(wǎng)格的位置信息,計(jì)算目標(biāo)的邊界框坐標(biāo)信息。邊界框計(jì)算公式為:
bx=σ(tx)+Cx
(5)
by=σ(ty)+Cy
(6)
bw=pwetw
(7)
bh=pheth
(8)
式中:tx、ty、tw、th是網(wǎng)絡(luò)預(yù)測(cè)的邊界框坐標(biāo);bx、by、bw、bh是真實(shí)邊界框坐標(biāo);Cx、Cy為相對(duì)于最上角網(wǎng)格的偏移量;σ()為邏輯函數(shù),將數(shù)據(jù)歸一化為0到1之間;Pw、Ph為先驗(yàn)框的寬度和高度。

圖5 船舶坐標(biāo)計(jì)算示意圖
1.2.4損失函數(shù)設(shè)計(jì)
針對(duì)船舶小目標(biāo)識(shí)別問題分析,發(fā)現(xiàn)輸入數(shù)據(jù)的前/背景較難區(qū)分,并且目標(biāo)所占圖像比例遠(yuǎn)小于背景所占的比例,數(shù)據(jù)集以負(fù)樣本為主,使網(wǎng)絡(luò)無法學(xué)習(xí)有用信息導(dǎo)致模型功能退化。針對(duì)以上情況,本文選用調(diào)制函數(shù)來處理樣本不平衡[18]的問題。
本文從YOLOv3的交叉熵?fù)p失函數(shù)(L)引入到調(diào)制損失函數(shù)(Modulation Loss,ML)。交叉熵函數(shù)公式:
L=-[mlog(n)+(1-m)log(1-n)]
(9)
把交叉熵函數(shù)整理之后可得:

(10)
式中:n的值是+1或-1;m是標(biāo)簽(label)等于1時(shí)預(yù)測(cè)的概率,其值范圍為0到1。為方便計(jì)算用nt代替n,公式如下:
(11)
對(duì)交叉熵的改進(jìn),增加了一個(gè)系數(shù)αt,跟nt的定義類似,當(dāng)label為1時(shí),αt=α;當(dāng)label為-1時(shí),αt=1-α,α的范圍是0到1。公式如下:
L(nt)=-αtlog(nt)
(12)
在大量數(shù)據(jù)訓(xùn)練過程中,便于分類的負(fù)樣本構(gòu)成了損失值變化的主要部分,盡管αt有效地解決了樣本失衡問題,但是對(duì)于難/易樣本分類仍具有一定難度。故提出在交叉熵函數(shù)中加入調(diào)制函數(shù):(1-nt)γ,γ>0,由此可知,當(dāng)樣本類別失衡時(shí),nt是很小的,當(dāng)m=1時(shí),n小于0.5被定義為類別失衡,反之亦然,因此調(diào)制系數(shù)就趨于1,交叉熵函數(shù)沒有太大改變;當(dāng)nt無限接近1時(shí)(類別正確),調(diào)制系數(shù)接近于0對(duì)總損失值影響較小;當(dāng)γ=0時(shí),調(diào)制損失函數(shù)就是傳統(tǒng)的交叉熵,當(dāng)γ增加時(shí),調(diào)制函數(shù)也會(huì)相應(yīng)的增加,如圖6所示。調(diào)制損失函數(shù)不僅解決了樣本失衡的問題,還有效減少梯度消失的情況并加快網(wǎng)絡(luò)收斂速度。

圖6 γ參數(shù)對(duì)損失值和邊界框概率的影響曲線
調(diào)制損失函數(shù)不僅能修正樣本權(quán)重,而且能調(diào)節(jié)困難樣本和簡(jiǎn)單樣本的權(quán)重,損失函數(shù)公式如下:
ML(nt)=-αt(1-nt)γlog(nt)
(13)
本文首先通過構(gòu)建特征提取器Darknet-65及多尺度交互層完成目標(biāo)特征提取,獲得目標(biāo)的坐標(biāo)位置信息和類別標(biāo)簽。其次引入anchor機(jī)制和改良損失函數(shù),提高網(wǎng)絡(luò)模型的識(shí)別精度和識(shí)別準(zhǔn)確率,從而構(gòu)成新型單級(jí)檢測(cè)器YOLO-G。
為驗(yàn)證YOLO-G網(wǎng)絡(luò)目標(biāo)識(shí)別性能及實(shí)驗(yàn)數(shù)據(jù)對(duì)比的公正性,本文在BOAT船舶數(shù)據(jù)集和公開數(shù)據(jù)集COCO[19]上評(píng)估YOLO-G網(wǎng)絡(luò)的性能。實(shí)驗(yàn)基于Darknet[20]框架進(jìn)行識(shí)別操作。具體實(shí)驗(yàn)環(huán)境如表1所示。

表1 實(shí)驗(yàn)環(huán)境
船舶目標(biāo)大多為非合作目標(biāo),很難通過網(wǎng)上現(xiàn)有船舶圖像建立大規(guī)模船舶數(shù)據(jù)集BOAT。除了通過搜集網(wǎng)絡(luò)船舶圖片和海上實(shí)際船舶圖片外,本文通過SolidWorks 3D[21]軟件制作6類寬高比為2∶1的船舶目標(biāo)模型,并引入CST電磁仿真軟件,CST參數(shù)設(shè)置如下:位置方向角為-90°~90°,仰俯角為0°,角移動(dòng)速度為1°;雷達(dá)中心頻率為12 GHz,帶寬為200 MHz,選用垂直極化作為極化方法,采樣率為512,選用默認(rèn)網(wǎng)絡(luò)分析模型尺寸,通過射線追蹤算法進(jìn)行計(jì)算。最終仿真了6類船舶目標(biāo)的181個(gè)方向角的BOAT樣本數(shù)據(jù)。
訓(xùn)練樣本多樣性的缺失,容易導(dǎo)致模型發(fā)生過擬合。單單通過上述的數(shù)據(jù)樣本數(shù)量對(duì)于進(jìn)行小目標(biāo)的船舶識(shí)別,還未達(dá)到識(shí)別標(biāo)準(zhǔn)。因此對(duì)船舶數(shù)據(jù)集進(jìn)行擴(kuò)充,具體步驟如下:
(1) 加入噪聲。對(duì)原始船舶數(shù)據(jù)依次加入服從高斯分布的噪聲ki~K[0,θi],共進(jìn)行3次,將原本數(shù)據(jù)樣本擴(kuò)充了3倍。
(2) 數(shù)據(jù)增強(qiáng)技術(shù)。修改輸入數(shù)據(jù)的曝光度,色調(diào)和飽和度,利用數(shù)據(jù)抖動(dòng)以及隨機(jī)旋轉(zhuǎn)、翻轉(zhuǎn)、平移策略生成更多的訓(xùn)練數(shù)據(jù),在數(shù)據(jù)集中加入大量含有極小目標(biāo)的圖像以豐富數(shù)據(jù)集的多樣性,提高網(wǎng)絡(luò)模型對(duì)不同尺寸輸入樣本的魯棒性和泛化能力。通過上述2種技術(shù)手段,增強(qiáng)了BOAT數(shù)據(jù)集的多樣性。
BOAT數(shù)據(jù)集由10 000幅船舶圖片組成,船舶類別包含客船、漁船、帆船、軍艦、游輪、公務(wù)船等6類船舶。數(shù)據(jù)集將采用VOC數(shù)據(jù)集格式,在BOAT中選取70%的數(shù)據(jù)作為訓(xùn)練集,將剩余數(shù)據(jù)作為測(cè)試集來驗(yàn)證模型的識(shí)別性能。
2.3.1模型性能指標(biāo)計(jì)算
本文使用YOLO-G和YOLOv3算法對(duì)BOAT數(shù)據(jù)集進(jìn)行訓(xùn)練,根據(jù)訓(xùn)練過程中的損失值變化和P-R曲線來驗(yàn)證網(wǎng)絡(luò)性能。P-R曲線的樣本插值算法采用VOC2007標(biāo)準(zhǔn),也就是11點(diǎn)插值法(eleven-point interpolation)。其中準(zhǔn)確率(precision)為被識(shí)別出來的真實(shí)船舶目標(biāo)數(shù)量占所有被標(biāo)識(shí)的目標(biāo)數(shù)量,召回率(recall)是被識(shí)別出來的船舶目標(biāo)數(shù)量占圖像中所有目標(biāo)數(shù)的比例。先驗(yàn)框與真實(shí)框的交并比(IOU)閾值標(biāo)準(zhǔn)設(shè)置為0.6。
準(zhǔn)確率(precision)公式為:
(14)
召回率(recall)公式為:
(15)
式中:Tp為大于閾值0.5且被識(shí)別的目標(biāo)數(shù)量;Fp為小于等于閾值0.5識(shí)別的目標(biāo)數(shù)量;FN為未識(shí)別的目標(biāo)數(shù)量。
2.3.2訓(xùn)練結(jié)果分析
通過隨機(jī)梯度下降算法[22]對(duì)網(wǎng)絡(luò)進(jìn)行端到端地訓(xùn)練,整個(gè)訓(xùn)練過程進(jìn)行50 000次迭代,訓(xùn)練平均損失值趨于0時(shí)停止訓(xùn)練,得出相應(yīng)的船舶識(shí)別模型,兩者的訓(xùn)練損失變化及P-R變化分別如圖7和圖8所示。

圖7 訓(xùn)練過程損失值變化曲線

圖8 P-R函數(shù)關(guān)系曲線
可以看出,YOLO-G模型訓(xùn)練損失變化曲線和P-R曲線更加平穩(wěn),在相同訓(xùn)練迭代次數(shù)下,其平均損失值遠(yuǎn)小于YOLOv3模型,訓(xùn)練結(jié)束后,當(dāng)YOLO-G模型召回率較高時(shí),依然取得較好的平均精度均值。
YOLO-G和YOLOv3模型訓(xùn)練的參數(shù)基本一致,動(dòng)量和權(quán)重衰減系數(shù)分別配置為0.9和0.000 5,批量大小設(shè)置為32,初始學(xué)習(xí)率設(shè)置為0.001,并依次降低為 0.000 1與0.000 01。15 000次迭代后,網(wǎng)絡(luò)模型處于局部最優(yōu)化,即使通過減小學(xué)習(xí)率也無法使平均損失值顯著下降。YOLO-G和YOLOv3模型訓(xùn)練的平均損失值(avg-loss)、最大召回率(max-recall)及最高平均精度均值(max-mAP)如表2所示。

表2 YOLOv3和YOLO-G訓(xùn)練結(jié)果
由表2得知,YOLOv3網(wǎng)絡(luò)訓(xùn)練的船舶識(shí)別模型的平均損失值為15.5。本文通過重構(gòu)網(wǎng)絡(luò)架構(gòu)和改進(jìn)損失函數(shù)使平均損失值減少了12.1,最終平均損失值為3.4。模型訓(xùn)練結(jié)束之后,在測(cè)試集上對(duì)比YOLO-G和YOLOv3的平均精度均值(mAP),mAP變化曲線如圖9所示。相同訓(xùn)練迭代次數(shù)下,YOLO-G的平均精度均值會(huì)比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ù)算法進(jìn)行模型訓(xùn)練,很大程度上提升了模型的識(shí)別性能。

圖9 YOLOv3和YOLO-G的mAP變化曲線
2.3.3分類結(jié)果分析
為驗(yàn)證YOLO-G算法的有效性,將通過與常用的單級(jí)檢測(cè)器算法對(duì)BOAT數(shù)據(jù)集6類船舶進(jìn)行分類實(shí)驗(yàn)。采用SSD513、DSSD513、YOLOv2、YOLOv3等單級(jí)檢測(cè)器算法與YOLO-G算法進(jìn)行不同船舶的分類對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3所示。實(shí)驗(yàn)環(huán)境如表1所示,操作系統(tǒng)為Ubuntu 16.04,深度學(xué)習(xí)框架為Darknet,GPU為GTX 1080Ti。

表3 單級(jí)檢測(cè)器分類結(jié)果對(duì)比 %
表3給出了不同檢測(cè)算法對(duì)BOAT數(shù)據(jù)集的分類正確率。可以看出,SSD系列算法的分類正確率普遍較低,與YOLO系列算法的正確率差距較大,其中SSD513分類正確率最低,平均正確率為82.9%,其軍艦的分類正確率僅為79.6%,分類效果不好。YOLOv2算法的分類平均正確率為87.1%,軍艦的分類正確率為83.6%,與SSD系列相比具有較大的提升,可知YOLO網(wǎng)絡(luò)性能比SSD網(wǎng)絡(luò)更加優(yōu)越,具有更高的分類檢測(cè)性能。YOLOv3的平均正確率為90.6%,略高于YOLOv2的正確率。本文算法YOLO-G的平均分類正確率為96.5%,較難分類的軍艦樣本正確率也達(dá)到了95.1%。相比于其他幾種分類算法,YOLO-G船舶分類的正確率得到大幅度的提升,可知YOLO-G算法可以很好地獲取船舶的邊緣特征,進(jìn)而提取船舶的深層特征信息,可以很好地將不同類型的船舶區(qū)分出來,從而證明該算法的有效性及優(yōu)越性。
2.3.4船舶識(shí)別分析
船舶目標(biāo)占據(jù)比太低(目標(biāo)尺寸是原圖像的0.1),輸入圖片分辨率低(目標(biāo)像素小于32)、船舶目標(biāo)特征遮擋等問題,依然是目標(biāo)檢測(cè)器普遍存在的識(shí)別難題。針對(duì)以上問題,本文進(jìn)行船舶目標(biāo)識(shí)別研究,來驗(yàn)證YOLO-G模型和YOLOv3模型在實(shí)際目標(biāo)識(shí)別任務(wù)中的檢測(cè)性能,實(shí)驗(yàn)結(jié)果如圖10所示。

(a) YOLOv3識(shí)別 (b) YOLO-G識(shí)別圖10 遮擋環(huán)境下的目標(biāo)識(shí)別對(duì)比
圖10測(cè)試樣本目標(biāo)特征部分被遮擋,有效識(shí)別信息重疊。圖10(a)識(shí)別結(jié)果中,將3個(gè)船舶部分特征重疊的目標(biāo)標(biāo)識(shí)為一個(gè)邊界框,同時(shí)將識(shí)別背景易區(qū)分的3個(gè)船舶小目標(biāo)漏檢;圖10(b)中圖像特征遮擋部分,船舶目標(biāo)都被準(zhǔn)確識(shí)別,剩余較小船舶目標(biāo)全部被識(shí)別,得出YOLO-G模型具有更高的召回率。可以看出,YOLOv3和YOLO-G都能識(shí)別船舶目標(biāo),但是YOLOv3訓(xùn)練出的船舶識(shí)別模型具有較大的識(shí)別誤差和較小的召回率,可知新型單級(jí)檢測(cè)器YOLO-G具有較高的目標(biāo)識(shí)別性能。
圖11測(cè)試樣本遠(yuǎn)處目標(biāo)與背景的顏色相近,前/背景不易區(qū)分,且小目標(biāo)船舶相距較近,提升了識(shí)別難度。圖11(a)識(shí)別結(jié)果中,將背景處的高樓標(biāo)識(shí)為船舶邊界框,同時(shí)對(duì)船舶目標(biāo)產(chǎn)生重疊邊界框的情況。相反,圖11(b)中,將所有船舶目標(biāo)都正確的識(shí)別出來,不存在漏標(biāo)、錯(cuò)標(biāo)的情況。這證明了YOLO-G在圖像目標(biāo)與背景較難區(qū)分時(shí),可以良好地處理數(shù)據(jù),提取目標(biāo)特征,完成困難樣本的數(shù)據(jù)挖掘,對(duì)測(cè)試樣本的船舶目標(biāo)進(jìn)行精確定位及標(biāo)識(shí)。YOLO-G模型有效地提升了困難樣本識(shí)別率低的問題,雖然在識(shí)別精度上仍有提升空間,但是YOLO-G模型在單級(jí)檢測(cè)器中具有較高的研究意義和識(shí)別性能。

(a) YOLOv3識(shí)別 (b) YOLO-G識(shí)別圖11 前/背景難區(qū)分的小目標(biāo)識(shí)別對(duì)比
圖12測(cè)試樣本分辨率較低,且存在大量的極小船舶目標(biāo),增大了檢測(cè)器識(shí)別難度。圖12(a)識(shí)別結(jié)果中,半數(shù)以上的小目標(biāo)未被標(biāo)識(shí)邊界框,處于樣本中間區(qū)域的目標(biāo)被正確識(shí)別。相反,圖12(b)中樣本所有船舶小目標(biāo)均被正確識(shí)別出來,該模型在識(shí)別極小目標(biāo)時(shí)具有較大的優(yōu)越性。這表明YOLO-G模型的多尺度特征檢測(cè),能夠較好地處理尺度變化如此之大的樣本,且保持較高的識(shí)別準(zhǔn)確率。

(a) YOLOv3識(shí)別 (b) YOLO-G識(shí)別圖12 前/背景難區(qū)分的小目標(biāo)識(shí)別對(duì)比
圖10-圖12的實(shí)驗(yàn)結(jié)果表明,本文的YOLO-G模型能夠應(yīng)用于多種識(shí)別環(huán)境的目標(biāo)檢測(cè),證明YOLO-G模型對(duì)于目標(biāo)檢測(cè)具有極大的作用。
2.3.5先進(jìn)的單級(jí)檢測(cè)器進(jìn)行比較
為驗(yàn)證YOLO-G網(wǎng)絡(luò)在目標(biāo)識(shí)別上的性能及實(shí)驗(yàn)數(shù)據(jù)對(duì)比的公正性,本文在具有挑戰(zhàn)性的COCO數(shù)據(jù)集上對(duì)YOLO-G進(jìn)行模型定量評(píng)估,MS-COCO數(shù)據(jù)集具有類別豐富、場(chǎng)景復(fù)雜、小目標(biāo)數(shù)量多的特點(diǎn)。通過COCO的標(biāo)準(zhǔn)數(shù)據(jù)指標(biāo)AP、AP50、AP75(參數(shù)AP50, AP75代表閾值分別為0.5、0.75時(shí)進(jìn)行檢測(cè)的精度值)對(duì)各算法進(jìn)行對(duì)比實(shí)驗(yàn),并將實(shí)驗(yàn)結(jié)果與最先進(jìn)的單機(jī)檢測(cè)器算法進(jìn)行比較。
將本文算法YOLO-G與SSD513、DSSD513、YOLOv2、YOLOv3算法進(jìn)行精度比較,結(jié)果如表4所示。YOLO-G算法的平均精度值為34.9%,保持較高的識(shí)別率,與其他檢測(cè)器相比較,也占據(jù)一定的優(yōu)勢(shì),從而驗(yàn)證了YOLO-G網(wǎng)絡(luò)識(shí)別的有效性。YOLOv3算法具有較高的識(shí)別水準(zhǔn),平均精度值為33%,但是由于其自身網(wǎng)絡(luò)結(jié)構(gòu)限制,導(dǎo)致對(duì)于船舶小目標(biāo)不能有效識(shí)別。YOLOv2網(wǎng)絡(luò)層數(shù)較少,不含有特征金字塔網(wǎng)絡(luò),因而其平均精度值為21.6%。SSD513、DSSD513[18]分別取得了31.2%、33.2%在精度上表現(xiàn)良好,但是由于網(wǎng)絡(luò)層數(shù)較多,導(dǎo)致網(wǎng)絡(luò)計(jì)算量大,易出現(xiàn)收斂速度慢的情況。

表4 單級(jí)檢測(cè)器精度對(duì)比 %
本文提出一種應(yīng)用于船舶目標(biāo)識(shí)別的檢測(cè)算法YOLO-G。該算法將深度卷積神經(jīng)網(wǎng)絡(luò)和多尺度特征圖進(jìn)行特征融合,提取目標(biāo)的坐標(biāo)信息及類別,并通過先驗(yàn)框機(jī)制和調(diào)制損失函數(shù)進(jìn)一步提高模型的識(shí)別精度。將YOLO-G算法在BOAT數(shù)據(jù)集和MS-COCO數(shù)據(jù)集上與其他先進(jìn)檢測(cè)器進(jìn)行性能對(duì)比測(cè)試,證明了該模型比其他檢測(cè)器具有更高的識(shí)別精度和準(zhǔn)確率,極大地提高了單級(jí)檢測(cè)器的目標(biāo)識(shí)別性能。但是通過實(shí)驗(yàn)數(shù)據(jù)可以看出,YOLO-G模型的識(shí)別精度仍具有一定的提升空間,接下來將通過擴(kuò)充船舶數(shù)據(jù)集和“遷移學(xué)習(xí)”優(yōu)化模型性能,提升YOLO-G的目標(biāo)識(shí)別精度。