李慶忠,徐相玉
(中國海洋大學(xué) 工程學(xué)院,山東 青島 266100)
海事智能監(jiān)測是維護(hù)海洋權(quán)益、加強(qiáng)海域監(jiān)管、減少海事糾紛等的重要技術(shù)手段,在軍用和民用方面都具有重要的研究與應(yīng)用價值。當(dāng)攝像機(jī)安裝在海洋浮標(biāo)或無人海事執(zhí)法船上時,研究基于動態(tài)視頻圖像的海面船艦?zāi)繕?biāo)快速檢測方法是實(shí)現(xiàn)大面積海域智能視頻監(jiān)測的關(guān)鍵技術(shù)之一[1]。
在基于動態(tài)視頻圖像的海面目標(biāo)自動檢測方面,目前常用的檢測方法可分為3 類。
第1 類方法是基于邊緣、紋理等特征的海面目標(biāo)的檢測方法。代表性研究包括:黎經(jīng)元等[2]提出的基于邊緣梯度特征的船艦檢測方法,適合于港口船艦的快速檢測;李浩誼等[3]提出一種基于改進(jìn)Scharr 邊緣檢測算子的船艦?zāi)繕?biāo)檢測算法,具有較好的抗噪聲能力;YANG 等[4]利用圖像子塊的DCT域能量特征實(shí)現(xiàn)海天線的快速提取,根據(jù)DCT 紋理特征建立海面混合紋理模型,并實(shí)現(xiàn)了海面背景與船艦?zāi)繕?biāo)快速分割。這類方法雖然具有較好的實(shí)時性,但當(dāng)海況變化劇烈時適應(yīng)性下降。
第2 類方法是模仿人眼視覺注意力選擇機(jī)制,根據(jù)建立的視覺注意力模型求取感興趣目標(biāo)的顯著圖并實(shí)現(xiàn)船艦?zāi)繕?biāo)的檢測。代表性研究包括:丁鵬等[5]提出一種基于多特征、多尺度視覺顯著性的海面船艦檢測方法,在多海況下的實(shí)驗(yàn)結(jié)果表明該算法具有較高的檢測精度和魯棒性;SHI 等[6]在小波域分別提取圖像的低頻和高頻特征,利用改進(jìn)的Gabor 濾波器提取方向特征,并在HIS 空間提取顏色和矩特征,融合以上各種特征得到顯著圖并實(shí)現(xiàn)船艦?zāi)繕?biāo)的分割;SHAO 等[7]提出一種基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的船艦?zāi)繕?biāo)檢測算法,利用CNN 預(yù)測目標(biāo)的類型和位置,并輔助利用顯著圖校正目標(biāo)的定位,該方法具有較高的檢測精度和速度。該類方法的優(yōu)點(diǎn)是充分利用多種特征產(chǎn)生感興趣目標(biāo)的顯著圖,但具有較高的計(jì)算復(fù)雜度。
第3 類方法是基于深度學(xué)習(xí)的海面船艦?zāi)繕?biāo)檢測算法。這是近年來國內(nèi)外學(xué)者的研究熱點(diǎn),具有特征提取能力強(qiáng)、識別精度高、實(shí)時性好等優(yōu)點(diǎn)。代表性研究包括:ZHANG 等[8]提出的基于干擾因素判別器和船艦?zāi)繕?biāo)提取器集成目標(biāo)分割方法,利用SqueezeNet 網(wǎng)絡(luò)作為干擾因素判別器以判定輸入圖像中包含什么類型的干擾,用改進(jìn)的DeepLabv3+深度網(wǎng)絡(luò)進(jìn)行船艦?zāi)繕?biāo)的分割,該方法具有較高的分割精度及較好的抗霧能力;WANG 等[9]利用改進(jìn)的YOLOV3(You Only Look Once)實(shí)現(xiàn)了端對端的船艦?zāi)繕?biāo)快速檢測,在GPU 1080Ti 硬件環(huán)境下,檢測精度達(dá)到74.8%,檢測速度達(dá)到29.8 frame/s;馬嘯等[10]通過精簡YOLO 模型,設(shè)計(jì)一個復(fù)雜度較小的10 層卷積神經(jīng)網(wǎng)絡(luò)用于船艦?zāi)繕?biāo)的自動特征提取和分類識別,改進(jìn)后的網(wǎng)絡(luò)雖然具有較高的檢測精度,但只適合大小為112 像素×112 像素的輸入圖像,在CPU 硬件環(huán)境下,識別一張船艦?zāi)繕?biāo)圖像所用的平均時間為0.265 s;趙春暉等[11]提出基于改進(jìn)Fast-RCNN 算法的船艦?zāi)繕?biāo)檢測與識別算法,雖然檢測精度較高,但實(shí)時性較差。
總之,基于深度學(xué)習(xí)的海面船艦?zāi)繕?biāo)檢測方法具有很好的應(yīng)用前景,但目前該類算法仍然存在以下2 個方面的問題:一是存在小目標(biāo)檢測準(zhǔn)確性低的問題;二是目前的算法大都適合于GPU 服務(wù)器硬件運(yùn)行環(huán)境,對于安裝在無人船或浮標(biāo)上的嵌入式視頻監(jiān)控系統(tǒng),其實(shí)時性仍然無法滿足實(shí)際應(yīng)用需求。
為克服上述問題,本文提出基于改進(jìn)YOLOV3-Tiny的船艦?zāi)繕?biāo)檢測方法。根據(jù)艦船目標(biāo)的特點(diǎn)利用淺層感受野對淺層信息進(jìn)行強(qiáng)化重構(gòu),增加I-ResNet網(wǎng)絡(luò)以及特征金字塔網(wǎng)絡(luò)FPN,進(jìn)行多尺寸特征融合以平衡船艦大小目標(biāo)的檢測能力。利用圖像結(jié)構(gòu)相似度進(jìn)行視頻關(guān)鍵幀選擇性檢測以提高視頻檢測的速度,運(yùn)用遷移學(xué)習(xí)方法進(jìn)行網(wǎng)絡(luò)模型的訓(xùn)練學(xué)習(xí),克服艦船訓(xùn)練樣本集有限的問題,最終在視頻測試集上進(jìn)行性能測試。
YOLO 是一種采用卷積神經(jīng)網(wǎng)絡(luò)(CNN)實(shí)現(xiàn)端到端目標(biāo)檢測的算法,其主要有以下特點(diǎn):1)運(yùn)用回歸的思想,將目標(biāo)檢測看成是一個回歸的問題,能夠?qū)崟r預(yù)測多個目標(biāo)的類別和目標(biāo)邊框的位置;2)YOLO采用滑動窗口的方式尋找目標(biāo),與傳統(tǒng)的基于候選區(qū)域方式不同,其直接利用整幅圖片訓(xùn)練網(wǎng)絡(luò)模型[12]。
目前YOLO 最常見的網(wǎng)絡(luò)框架有YOLOV1、YOLOV2、YOLOV3[13]3 種。YOLOV3-Tiny 網(wǎng)絡(luò)是YOLOV3 網(wǎng)絡(luò)的簡化,網(wǎng)絡(luò)模型相對簡單,降低了對硬件的要求,雖然提高了檢測速度,但檢測精度有所下降。YOLOV3-Tiny 網(wǎng)絡(luò)模型是由13 個卷積層和6 個最大池化層組成,只使用了2 個不同尺度的YOLO 輸出層,分別是YOLO16 和YOLO23,由1×1和3×3 的卷積核提取特征,輸出層有2 個預(yù)測尺度,其大小分別為13×13 和26×26。YOLOV3-Tiny 網(wǎng)絡(luò)模型的組成如圖1 所示。
圖1 YOLOV3-Tiny 網(wǎng)絡(luò)模型框架Fig.1 Framework of YOLOV3-Tiny network model
YOLOV3-Tiny 網(wǎng)絡(luò)可以檢測80 多種不同對象,雖然具有較快的檢測速度,但其目標(biāo)檢測精度不高,且對復(fù)雜場景的適應(yīng)能力較低。
為了實(shí)現(xiàn)安裝在無人船或海洋浮標(biāo)上的嵌入式智能視頻監(jiān)控系統(tǒng)的海面船艦?zāi)繕?biāo)快速檢測,根據(jù)船艦?zāi)繕?biāo)的特點(diǎn),在YOLOV3-Tiny 的基礎(chǔ)上,本文提出適合海面船艦?zāi)繕?biāo)檢測的改進(jìn)型網(wǎng)絡(luò)模型——I-YOLOV3-Tiny,其結(jié)構(gòu)組成如圖2 所示。
圖2 I-YOLOV3-Tiny 網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Structure of I-YOLOV3-Tiny network
由圖2 可見,改進(jìn)的網(wǎng)絡(luò)模型主要分為特征提取和回歸預(yù)測2 個部分。特征提取主要由卷積層和池化層完成,回歸預(yù)測主要用于預(yù)測目標(biāo)的類別概率和目標(biāo)邊界框坐標(biāo)。網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn)主要體現(xiàn)在3 個方面:根據(jù)船艦?zāi)繕?biāo)的特點(diǎn)對淺層特征信息進(jìn)行強(qiáng)化重構(gòu),以降低小目標(biāo)的漏檢率;增加改進(jìn)殘差網(wǎng)絡(luò)(I-ResNet),既能增加網(wǎng)絡(luò)的深度,又能減少網(wǎng)絡(luò)參數(shù)的計(jì)算量;采用金字塔網(wǎng)絡(luò)多尺度特征融合,可實(shí)現(xiàn)不同分辨率特征圖的融合,以提高對大小船艦?zāi)繕?biāo)的綜合檢測性能。
船艦?zāi)繕?biāo)視頻檢測面臨的問題是在保證大目標(biāo)高精度檢測的同時,易出現(xiàn)小目標(biāo)具有較高的漏檢率。為此,本文對船艦?zāi)繕?biāo)在YOLO 網(wǎng)絡(luò)下提取的特征進(jìn)行了可視化研究,發(fā)現(xiàn)其特征提取部分會產(chǎn)生很多冗余的特征信息,并且隨著網(wǎng)絡(luò)層數(shù)的逐漸加深,小目標(biāo)特征不再存在。顯然,對于船艦小目標(biāo)的檢測,既需要足夠多的淺層特征圖以提高其檢測精度,又需要足夠多的語義信息來區(qū)分目標(biāo)和背景特征。
本文利用重構(gòu)方法在網(wǎng)絡(luò)的特征提取部分加強(qiáng)了對輸入圖像淺層特征信息的提取與重構(gòu)利用。以分辨率為416 像素×416 像素大小的輸入圖片為例,在Darknet 平臺下,利用YOLOV3-Tiny 網(wǎng)絡(luò)模型,用已訓(xùn)練好的權(quán)重對船艦測試集進(jìn)行測試,對卷積網(wǎng)絡(luò)逐層提取特征圖,分別將Conv2、Conv3、Conv4 層的感受野進(jìn)行可視化,如圖3 所示。
圖3 YOLOV3-Tiny 部分卷積層可視化特征圖Fig.3 Feature maps of partial convolutional layers of YOLOV3-Tiny
由圖3 可知,Conv2 層包含了更多的船艦小目標(biāo)特征信息,如較多的邊緣和紋理信息,Conv3 層包含的小目標(biāo)特征較少,而Conv4 包含了太多復(fù)雜背景特征,對目標(biāo)檢測會產(chǎn)生較大的干擾,且其感受野最大??梢?,淺的卷積層對小目標(biāo)比較敏感,更能提取小目標(biāo)的形狀、紋理等特征,故適當(dāng)增加淺層網(wǎng)絡(luò)能更好地保留小目標(biāo)的有效信息。
為了更有效地提取淺層特征,且充分利用上下層之間的語義信息,增強(qiáng)對Conv2 層語義信息的提取效果,在圖2 中將YOLOV3-Tiny 的Maxpooling2層改為Con-v3 層,增加卷積層Conv4 層,卷積步長為1,不改變特征圖尺寸,以便更好地提取Conv4 層特征,增加特征通道維度,在Conv4 層后增加最大池化層,用以改變特征圖的尺寸。
為實(shí)現(xiàn)在減少卷積層計(jì)算量的同時,增加網(wǎng)絡(luò)深度以提高檢測精度,本文借鑒Resnet 提出的殘差單元思想[14],在網(wǎng)絡(luò)結(jié)構(gòu)中增加了3×3 卷積層、1×1卷積層和3×3 卷積層網(wǎng)絡(luò)塊,改進(jìn)的部分網(wǎng)絡(luò)結(jié)構(gòu)塊如圖4 所示。
圖4 改進(jìn)的殘差層網(wǎng)絡(luò)塊Fig.4 Network block of improved residual layer
從圖4 可以看出,第1 個3×3 卷積層的作用是提取特征,1×1 卷積層是一個映射層,可以將輸入的特征圖映射到較低維度的張量,因?yàn)楫?dāng)輸入和輸出的通道數(shù)很大時,卷積核參數(shù)會增加很多,而加入1×1 卷積層后可以降低輸入通道數(shù),由此卷積核參數(shù)以及運(yùn)算復(fù)雜度即降底。第2 個3×3 卷積層的步長為1,并增加了卷積核,故能夠提取更多的特征??傊摼W(wǎng)絡(luò)塊結(jié)構(gòu)不僅能增加網(wǎng)絡(luò)的深度,提高檢測精度,還能使網(wǎng)絡(luò)計(jì)算參數(shù)減少,網(wǎng)絡(luò)也更加輕量化,有利于實(shí)時性實(shí)現(xiàn)。圖5所示為改進(jìn)的網(wǎng)絡(luò)框架。
圖5 改進(jìn)的殘差層網(wǎng)絡(luò)框架Fig.5 Network framework of improved residual layer
圖5中的I-Resnet(Improved-Resnet)即改進(jìn)的殘差網(wǎng)絡(luò),即圖2 中的Conv5、Conv6。在圖5 中,網(wǎng)絡(luò)框架中的BN(Batch Normalization)層,即批量標(biāo)準(zhǔn)化處理。如果樣本不進(jìn)行BN 處理,每一層經(jīng)過訓(xùn)練后,數(shù)據(jù)分布會不均勻,網(wǎng)絡(luò)就需要重新學(xué)習(xí)新的數(shù)據(jù)分布規(guī)律,會造成網(wǎng)絡(luò)計(jì)算量增大[15]。故增加BN 層可以在一定程度上解決梯度消失和梯度爆炸問題,防止出現(xiàn)過擬合的情況,同時可以增加訓(xùn)練速度。
BN 層之后增加激勵函數(shù),本文引入的激勵函數(shù)是Leaky Relu,其表達(dá)式為:
其中:α為系數(shù),該值是很小的常數(shù)。當(dāng)神經(jīng)元處于激活狀態(tài)時,允許非0 的梯度存在,這樣不會出現(xiàn)梯度消失問題,從而加快收斂速度。
網(wǎng)絡(luò)低層的目標(biāo)語義信息比較少,但是目標(biāo)位置信息準(zhǔn)確;而網(wǎng)絡(luò)高層的目標(biāo)語義信息豐富,但是目標(biāo)位置信息粗略。為了在船艦?zāi)繕?biāo)檢測中能同時以較高精度檢測大目標(biāo)和小目標(biāo),本文采用構(gòu)造多尺度特征金字塔(FPN)的策略,通過網(wǎng)絡(luò)連接的簡單改變,在基本不增加原有模型計(jì)算量下,可大幅提升目標(biāo)檢測的性能[16]。圖6 是特征金字塔的原理圖,左側(cè)表示下采樣,右側(cè)表示上采樣2 倍,先進(jìn)行降維處理,然后與上采樣2 倍后的卷積層相加,經(jīng)過卷積操作,分別輸出13×13 和26×26 的2 個預(yù)測尺度特征。
圖6 特征金字塔原理示意圖Fig.6 Schematic diagram of feature pyramid principle
可見,多尺度特征金字塔可以將高層的語義信息與淺層的細(xì)節(jié)信息相結(jié)合,分別在不同層進(jìn)行預(yù)測,由此在一定程度上可以平衡不同尺寸的目標(biāo),而且可以在不同層上輸出對應(yīng)的目標(biāo),不需要經(jīng)過所有的層運(yùn)算才輸出對應(yīng)的目標(biāo),起到一定的加速作用。因此,本文在圖2 所示的改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)中,利用FPN 設(shè)置了3 個yolo 層進(jìn)行預(yù)測,分別輸出12×12、24×24、48×48 3 個預(yù)測尺度的特征,用于船艦?zāi)繕?biāo)的回歸檢測。并且在每個預(yù)測尺度上設(shè)有3 個預(yù)設(shè)邊界框,即每個網(wǎng)格預(yù)先定義3 個不同尺寸、不同形狀的邊界框,然后從這些預(yù)先設(shè)定的邊界框中找到與真實(shí)邊界框誤差最小的框,這樣不僅能提高檢測速率,而且還可以處理2 個對象出現(xiàn)在同一個網(wǎng)格中的問題。Anchor box 的大小和形狀可以通過K 均值聚類(K-Means)[17]方式得到,即對目標(biāo)框的寬和高進(jìn)行聚類。把最靠近它們的對象進(jìn)行分類,通過不斷學(xué)習(xí)和迭代,逐漸地更新各聚類中心的值,直至聚類中心不再變化,即準(zhǔn)則函數(shù)值很小。K-Means 算法步驟如下:
步驟1根據(jù)所選樣本y,初始時隨機(jī)劃分k個聚類中心。
步驟2根據(jù)歐式距離公式,計(jì)算所有樣本與k個聚類中心的距離,樣本對象與聚類中心歐式距離d計(jì)算公式如下:
其中:mi是第i個聚類中心;n為樣本對象的維度,yi、mij是y和mi的 第j個屬性值。
步驟3根據(jù)距離將樣本分配到與其相距最近的聚類中心所在的簇中。
步驟4更新k個聚類中心,計(jì)算準(zhǔn)則函數(shù)。準(zhǔn)則函數(shù)的公式如下:
其中:Γi是第i個聚類,i=1,2,…,k;Je反映了用k個聚類中心代表k樣本子集所帶來的總的誤差平方和。
步驟5判斷準(zhǔn)則函數(shù)是否最小,若準(zhǔn)則函數(shù)值小,則聚類結(jié)束,輸出聚類結(jié)果;否則,則返回步驟2繼續(xù)循環(huán),直至準(zhǔn)則函數(shù)值最小。
為了實(shí)現(xiàn)海面船艦?zāi)繕?biāo)的快速檢測,首先需要構(gòu)建網(wǎng)絡(luò)學(xué)習(xí)的數(shù)據(jù)集。本文通過采集、拍攝、網(wǎng)上搜索等方式建立了船艦圖像數(shù)據(jù)集,共有2 000 多幅圖像,并將數(shù)據(jù)集分為訓(xùn)練集和測試集,其中75%作為訓(xùn)練圖片,25%作為測試圖片,并通過翻轉(zhuǎn)、旋轉(zhuǎn)、裁剪、對比度、色彩變換、高斯噪聲等方法對數(shù)據(jù)集擴(kuò)充。此外,為了降低誤檢測率和誤識別率,在測試集中加入大量負(fù)樣本,然后利用標(biāo)注工具LableImg 手工標(biāo)注數(shù)據(jù)集目標(biāo),并生成學(xué)習(xí)文件。數(shù)據(jù)集的構(gòu)成如表1 所示。
表1 船艦?zāi)繕?biāo)圖像數(shù)據(jù)集Table 1 Image dataset of ship targets
本文基于深度學(xué)習(xí)框架Darknet 訓(xùn)練深度學(xué)習(xí)模型,在64 位的UBUNTU16.04 計(jì)算機(jī)上進(jìn)行評估,該計(jì)算機(jī)具有CPU Intel?i5 的處理器,并在GPU 服務(wù)器的CUDA9.0 環(huán)境中進(jìn)行GPU 并行加速計(jì)算。
對于構(gòu)建的I-YOLOV3-Tiny 網(wǎng)絡(luò)模型的學(xué)習(xí)訓(xùn)練,由于手動標(biāo)注的船艦數(shù)據(jù)集規(guī)模較小,直接用來訓(xùn)練I-YOLOV3-Tiny 難以得到很好的訓(xùn)練效果,因此本文選用VOC 數(shù)據(jù)集[18],這 是PASCAL Visual Object Classes 挑戰(zhàn)賽公開的數(shù)據(jù)集,有20 類標(biāo)注目標(biāo),共16 000 張圖像。采用遷移學(xué)習(xí)方法對模型進(jìn)行預(yù)訓(xùn)練,然后把遷移學(xué)習(xí)得到的模型參數(shù)遷移到船艦檢測模型的二次訓(xùn)練中,具體的學(xué)習(xí)過程如圖7所示。
圖7 基于遷移學(xué)習(xí)的I-YOLOV3-Tiny 訓(xùn)練過程Fig.7 Training process of I-YOLOV3-Tiny based on transfer learning
從圖7 可以看出,左側(cè)為利用VOC 數(shù)據(jù)集進(jìn)行網(wǎng)絡(luò)預(yù)訓(xùn)練的過程,右側(cè)為利用遷移學(xué)習(xí)方法和小規(guī)模船艦圖像訓(xùn)練集進(jìn)行網(wǎng)絡(luò)參數(shù)微調(diào)訓(xùn)練的過程。在網(wǎng)絡(luò)參數(shù)微調(diào)的過程中,采用遷移學(xué)習(xí)和多尺寸訓(xùn)練2 種方法,直至訓(xùn)練網(wǎng)絡(luò)達(dá)到理想狀態(tài)。
在實(shí)際的海面視頻檢測中,由于視頻幀之間背景單一,視頻中存在大量的冗余信息,若每幀圖像都重復(fù)調(diào)用網(wǎng)絡(luò)模型進(jìn)行檢測識別,則難以實(shí)現(xiàn)實(shí)時性檢測。為了提高視頻檢測的速率,本文采用圖像結(jié)構(gòu)相似性(SSIM)指標(biāo)來衡量相鄰2 幀圖像的相似程度。當(dāng)相鄰圖像幀結(jié)構(gòu)相似性時,可以減少對網(wǎng)絡(luò)模型的調(diào)用次數(shù),從而提高視頻幀檢測的速率。SSIM 主要從亮度、對比度、結(jié)構(gòu)3 個方面度量圖像的相似性,SSIM 算法的計(jì)算公式如下:
其中:x、y代表2 幅對比圖像;l(x,y)是亮度比較;c(x,y)是對比度比較;s(x,y)是結(jié)構(gòu)比較;α,β,γ>0 用來調(diào)整亮度、對比度、結(jié)構(gòu)失真度的相對重要性;μx、μy分別為x、y的均值;σx、σy分別為x、y的標(biāo)準(zhǔn)差;σxy為x、y的協(xié)方差;c1、c2、c3是不為0 的常數(shù)。一般設(shè)定α=β=γ=1,c3=c2/2[19]。SSIM 公式可以簡化為:
SSIM 值的范圍為[0,1],值越大說明2幅圖像相似性越大。利用SSIM 進(jìn)行視頻目標(biāo)檢測的流程為:以視頻的第1 幀圖像作為參考幀,并進(jìn)行網(wǎng)絡(luò)模型的前向運(yùn)算,并與視頻的下一幀進(jìn)行對比,計(jì)算2 幀之間的結(jié)構(gòu)相似度。設(shè)定結(jié)構(gòu)相似度閾值,若2 幀結(jié)構(gòu)相似度大于規(guī)定閾值,則不進(jìn)行前向推理計(jì)算,直接輸出圖像并且附加前一幀的檢測結(jié)果;若2 幀的結(jié)構(gòu)相似度小于等于規(guī)定的閾值,則對當(dāng)前幀利用網(wǎng)絡(luò)模型進(jìn)行前向目標(biāo)檢測,并且將當(dāng)前幀更新為新的參考幀。
在測試集中,目標(biāo)檢測被分為正樣本和負(fù)樣本2 類。精確度P(Precision)用來衡量目標(biāo)檢測的精度;召回率R(Recall)是檢測到的真實(shí)目標(biāo)個數(shù)與檢測到所有目標(biāo)個數(shù)的比值[20];交并比IoU(Intersectionover-Union)表示產(chǎn)生的候選框與真實(shí)框的重疊率,相關(guān)度越高則值越大,完全重疊時值為1[21]。檢測速率(FPS)是指每秒處理幀數(shù),F(xiàn)PS 越大則實(shí)時性越高。各指標(biāo)定義如下:
其中:Ntp是實(shí)際為正樣本被判定為正樣本的個數(shù);Nfp是實(shí)際為負(fù)樣本被判定為正樣本的個數(shù);Nfn是實(shí)際為正樣本被判定為負(fù)樣本的個數(shù)。
表2 是I-YOLOV3-Tiny 是否使用遷移學(xué)習(xí)和多尺寸訓(xùn)練方法的評價結(jié)果。由表2 可以看出,使用遷移學(xué)習(xí)和多尺寸訓(xùn)練方法能使目標(biāo)檢測效果更好,并且訓(xùn)練達(dá)到收斂的時間也大大縮短。表3 是本文算法I-YOLOV3-Tiny 與另外4 種代表算法檢測性能的對比實(shí)驗(yàn)結(jié)果。
表2 訓(xùn)練結(jié)果對比Table 2 Comparison of training results
表3 5 種算法性能對比Table 3 Performance comparison of five algorithms %
由表3 可見,F(xiàn)ast-R-CNN[22]是使用卷積神經(jīng)網(wǎng)絡(luò)直接產(chǎn)生候選框,其實(shí)時性和檢測精度都低于YOLO網(wǎng)絡(luò)模型。與YOLOV3-Tiny 相比,本文算法的精確度提高7%,交并比IoU 值提高3%左右,主要原因是網(wǎng)絡(luò)特征提取部分加強(qiáng)了對淺層信息的提取,采取的改進(jìn)殘差網(wǎng)絡(luò)加深了網(wǎng)絡(luò),提高了對深層卷積特征的提取。此外,以上檢測指標(biāo)的提高,也與采用的遷移學(xué)習(xí)策略有關(guān)。
圖8 給出了3 組代表性檢測結(jié)果,每一排為一組。由圖8(c)可見,本文算法提高了對小目標(biāo)的檢測能力,在不同背景下,對于大小船艦?zāi)繕?biāo)都具有較高的檢測性能。由圖8(a)、圖8(b)可見,YOLOV3、YOLOV3-Tiny容易出現(xiàn)船艦大目標(biāo)或小目標(biāo)的漏檢問題,且IoU較低。
圖8 船艦?zāi)繕?biāo)檢測性能對比Fig.8 Performance comparison of ship target detection
在GPU 平臺上,網(wǎng)絡(luò)模型對船艦?zāi)繕?biāo)的檢測速度可達(dá)每秒幾十幀,但是對于海面移動平臺的視頻處理識別系統(tǒng),只能采用輕量型設(shè)備,不方便配置高耗能的GPU。因此,本文在Intel i5 CPU 平臺上,分別統(tǒng)計(jì)了各種網(wǎng)絡(luò)模型對船艦視頻的處理速度。表4 顯示的是未采用SSIM 與采用SSIM 進(jìn)行視頻檢測的FPS 對比結(jié)果。
表4 CPU 平臺船艦視頻平均檢測速率Table 4 Average detection rate of ship video on CPU platform(frame·s?1)
從表4 可以看出,在CPU 平臺下采用SSIM 進(jìn)行選擇性計(jì)算檢測,本文提出的I-YOLOv3-Tiny 其檢測速率可以達(dá)到12 frame/s,基本滿足快速視頻檢測的需求。其平均檢測速率速比傳統(tǒng)的YOLOV3 要高,而比YOLOV3-Tiny 稍低,主要原因是改進(jìn)的網(wǎng)絡(luò)比YOLOV3-Tiny 網(wǎng)絡(luò)結(jié)構(gòu)稍深??傊?,基于SSIM 視頻檢測算法明顯提高了視頻檢測的速率。
本文基于DarkNet 平臺,利用深度學(xué)習(xí)的方法,提出一種基于改進(jìn)YOLOV3-Tiny 網(wǎng)絡(luò)模型的海面船艦?zāi)繕?biāo)檢測算法。利用淺層感受野對淺層信息進(jìn)行強(qiáng)化重構(gòu),根據(jù)淺層信息提取目標(biāo)特征,提高對小目標(biāo)的檢測精度。通過增加I-ResNet 網(wǎng)絡(luò),不僅能增加網(wǎng)絡(luò)的深度,而且減少網(wǎng)絡(luò)參數(shù)的計(jì)算量,提高檢測的速率。采用的金字塔網(wǎng)絡(luò)多尺度特征融合,提高對大小船艦?zāi)繕?biāo)的檢測性能,利用幀間圖像結(jié)構(gòu)相似度進(jìn)行選擇性網(wǎng)絡(luò)前向計(jì)算,以顯著提高視頻幀檢測速率,并運(yùn)用遷移學(xué)習(xí)方法和多尺寸訓(xùn)練模式,提高網(wǎng)絡(luò)的學(xué)習(xí)能力與對不同尺寸目標(biāo)檢測的泛化能力。實(shí)驗(yàn)結(jié)果表明,該算法可以快速有效地檢測海面船艦?zāi)繕?biāo)。下一步將研究深度卷積網(wǎng)絡(luò)結(jié)構(gòu)的精簡方法,在滿足檢測精度的前提下提高算法的實(shí)時性。