楊亞?wèn)|,王曉峰,潘靜靜,2
(1.上海海事大學(xué) 信息工程學(xué)院,上海 201306;2.福建農(nóng)林大學(xué) 交通與土木工程學(xué)院,福建 福州 350002)
近年來(lái),隨著船舶識(shí)別研究的不斷深入,船舶識(shí)別技術(shù)朝著多樣化、精準(zhǔn)化方向發(fā)展。梁錦雄等[1]利用BP神經(jīng)網(wǎng)絡(luò)對(duì)包括航空母艦、客船、集裝箱在內(nèi)的6種船舶進(jìn)行分類識(shí)別;殷雄等[2]提出一種基于結(jié)構(gòu)特征的兩階段船舶識(shí)別方法,該方法能根據(jù)船舶圖像有效地識(shí)別出油船和貨船;趙亮等[3]提出一種改進(jìn)深度卷積神經(jīng)網(wǎng)絡(luò)算法,并將卷積神經(jīng)網(wǎng)絡(luò)和SVM分類器相結(jié)合有效地對(duì)船舶圖像進(jìn)行分類識(shí)別;Nina ?degaard等[4]針對(duì)真實(shí)船舶SAR圖像不足情況,結(jié)合生成的模擬船舶SAR圖像構(gòu)成訓(xùn)練集,進(jìn)而通過(guò)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)對(duì)船舶圖像進(jìn)行分類;Quentin Oliveau等[5]通過(guò)極坐標(biāo)變換域產(chǎn)生船頭特征,進(jìn)而基于船體對(duì)稱的方向梯度顯著性確定船舶邊緣,并通過(guò)SVM進(jìn)行船舶檢測(cè);XGLeng等[6]通過(guò)學(xué)習(xí)輸入圖像特征和屬性空間之間的非線性映射來(lái)構(gòu)建具有鑒別性質(zhì)的屬性,對(duì)SAR船舶圖像進(jìn)行二元分類并對(duì)光學(xué)船舶圖像進(jìn)行多元識(shí)別。
卷積神經(jīng)網(wǎng)絡(luò)通過(guò)逐步壓縮數(shù)據(jù)的長(zhǎng)度和寬度、擴(kuò)展數(shù)據(jù)的厚度(通道數(shù)),從而很好地適用于二維圖像數(shù)據(jù)處理。但是在復(fù)雜環(huán)境中,卷積神經(jīng)網(wǎng)絡(luò)很難既快速又準(zhǔn)確地對(duì)目標(biāo)進(jìn)行識(shí)別。圖像目標(biāo)檢測(cè)算法能很好地定位圖像中的前景部分,并從復(fù)雜背景中分離出前景圖像。因此本文將探索結(jié)合卷積神經(jīng)網(wǎng)絡(luò)和圖像目標(biāo)檢測(cè)算法對(duì)船舶圖像進(jìn)行分類識(shí)別。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)是一種深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其“局部權(quán)值共享”和“下采樣”的設(shè)計(jì)在一定程度上保證了平移、縮放等形式的扭曲不變性。LeCun等[7]提出的LeNet-5在手寫字符識(shí)別中取得很好的效果。CNN一般由卷積層、下采樣層和全連接層構(gòu)成。
卷積層接收輸入層輸入圖像或其上一層輸入的特征圖,通過(guò)N個(gè)卷積核進(jìn)行卷積操作,然后使用激活函數(shù)進(jìn)行激活操作,并將得到N個(gè)新特征圖輸入到鄰接的下采樣層
(1)

下采樣層對(duì)輸入特征圖進(jìn)行下采樣操作,其可以有效地抽取出代表性的局部特征并降低計(jì)算復(fù)雜度
(2)
全連接層包括輸入層、隱含層和輸出層,將上層的特征圖拼接成一維輸入,通過(guò)加權(quán)求和并激活得到最終的輸出結(jié)果
xl=f(lxl-1+bl)
(3)
CNN通過(guò)反向傳播誤差進(jìn)行網(wǎng)絡(luò)訓(xùn)練,在減小誤差的訓(xùn)練中不斷進(jìn)行卷積核的自適應(yīng)調(diào)整。隨著卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,誕生了AlexNet[8],VGG[9],GoogLeNet[10]等不同結(jié)構(gòu)的網(wǎng)絡(luò)模型,在加深網(wǎng)絡(luò)層次的同時(shí)提出了Dro-pout、ReLU激活函數(shù)、互熵?fù)p失等技術(shù),不斷地優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)的性能。OberwegerM等[11]提出了多尺度卷積操作,例如分別對(duì)特征圖進(jìn)行基于3×3和5×5的卷積核的卷積操作,在進(jìn)行特征圖的融合;Chen-Yu Lee等[12]提出來(lái)多尺度池化操作,組合使用不同尺度或不同方法的池化。它們都在一定程度上提高了卷積神經(jīng)網(wǎng)絡(luò)的性能。
卷積神經(jīng)網(wǎng)絡(luò)常用的池化操作包括平均池化、最大池化和多尺度混合池化,它們都是在圖像局部區(qū)域進(jìn)行特征值的抽取,并沒(méi)有考慮到圖像前景對(duì)整體特征提取的影響。
1.2.1 中心-擴(kuò)散池化卷積神經(jīng)網(wǎng)絡(luò)
“中心-擴(kuò)散池化(center-diffusion pooling,CDP)”卷積神經(jīng)網(wǎng)絡(luò),綜合考慮了局部特征和整體前景特征對(duì)圖像處理的影響。CDP思想是基于圖像的前景通常位于圖像靠中間位置的先驗(yàn)條件(實(shí)驗(yàn)時(shí),結(jié)合顯著性檢測(cè)算法裁剪出以前景為中心的圖像),讓圖像中間位置的特征均值按一定比例參與到圖像各個(gè)部分的池化過(guò)程中,越靠近中間位置其參與的比例越高,達(dá)到強(qiáng)調(diào)前景的效果,進(jìn)而得到更穩(wěn)定的特征表征。假設(shè)由特征矩陣為A的m×m的特征圖經(jīng)過(guò)池化得到特征矩陣為B的n×n的特征圖,算法步驟如下:
(1)采用平均池方法進(jìn)行特征抽取,由特征矩陣Am×m得到特征矩陣Bn×n;
(2)以矩陣A的中心為坐標(biāo)原點(diǎn),畫(huà)如圖1所示坐標(biāo)軸。以第二象限為例,計(jì)算式(4)的值
(4)
式中:a=m-n,b=m+n,avgc2表示特征矩陣中心位置第二象限的均值,其余3個(gè)象限均值計(jì)算方法類似,mean(·)表示取算術(shù)平均值。

圖1 CDP方法
(4)分別計(jì)算完全包含在不同圓中的像素的值,公式如下
(5)
(6)
其中,avgch中h按在不同象限取{1,2,3,4}值,avg(i,j)即為最終求得的特征矩陣B第i行第j列的值。
如圖1所示,經(jīng)過(guò)CDP操作后的特征圖中每個(gè)像素都均化了上一層特征圖的中心區(qū)域值,這里相當(dāng)于在一步操作中對(duì)同一幅特征圖做了不同尺度的池化操作,得到的特征圖不需要再進(jìn)行數(shù)據(jù)融合操作。也因此,在進(jìn)行下一層卷積的時(shí)候,相當(dāng)于隱式地進(jìn)行了不同尺度的卷積。
1.2.2 前景-擴(kuò)散池化卷積神經(jīng)網(wǎng)絡(luò)
CDP將特征圖像中心位置的特征不同程度地?cái)U(kuò)散到整體圖像中,它是根據(jù)池化后的特征圖的尺寸來(lái)選擇上述的“中心位置”,其界定相對(duì)簡(jiǎn)單粗糙。前景-擴(kuò)散池化(foreground-diffusion pooling,F(xiàn)DP)卷積神經(jīng)網(wǎng)絡(luò)的提出可以解決這個(gè)問(wèn)題。FDP區(qū)別于CDP之處在于:avgch替換為avgfh,即通過(guò)顯著性檢測(cè)(saliency region detection,SRD)算法得到對(duì)象顯著圖,在顯著圖矩陣中,計(jì)算大于給定閾值b(實(shí)驗(yàn)中b取值為10)的像素值的平均值avgfh,其中h按在不同象限取{1,2,3,4}值。然后讓其按一定比例參與到圖像各個(gè)部分的池化過(guò)程中,越靠近前景位置其參與的比例越高。其在強(qiáng)調(diào)前景的同時(shí),也進(jìn)一步將前景的特征擴(kuò)散到整個(gè)圖像中。
這里所有大于給定閾值b的像素所組成的像素集即為前景特征圖像。由于使用SRD方法得到的顯著圖存在邊界模糊的特性,這里采用FDP方法不同程度地吸收均值avgfh,從而最小化模糊邊界帶來(lái)的影響,如圖2所示。

圖2 FDP方法
由于MNIST數(shù)據(jù)特征相對(duì)簡(jiǎn)單,且其測(cè)試準(zhǔn)確率已經(jīng)相當(dāng)高,這里隨機(jī)將MNIST測(cè)試集分成6個(gè)部分,分別對(duì)每個(gè)部分圖像的前景做不同尺度的縮放或旋轉(zhuǎn)處理,MNIST訓(xùn)練集保持不變,得到“新MNIST”集,如圖3所示。

圖3 新MNIST測(cè)試集示例
實(shí)驗(yàn)選用Tensorflow框架,網(wǎng)絡(luò)采用稍作修改的類LeNet-5模型,其中每次卷積后進(jìn)行ReLU激勵(lì)操作,第一個(gè)池化層分別進(jìn)行平均池化、最大池化、CDP、FDP操作,全連接層進(jìn)行dropout處理,最后一層采用softmax輸出。分別對(duì)MNIST集和“新MNIST”集進(jìn)行實(shí)驗(yàn)。
表1和圖4結(jié)果顯示,4種方法訓(xùn)練誤差和預(yù)測(cè)誤差相差不大,這是因?yàn)镸NIST數(shù)據(jù)特征簡(jiǎn)單,而且無(wú)需進(jìn)行SRD操作。其中,CDP和FDP操作的預(yù)測(cè)誤差高于最大池化方法卻略低于平均池化方法,是因?yàn)樗鼈冃枰獙W(xué)習(xí)的特征模板更為復(fù)雜,也因此,前幾輪訓(xùn)練CDP和FDP方法得到的正確率更低。

表1 4種方法在MNIST集上的訓(xùn)練誤差和測(cè)試誤差

圖4 4種方法在MNIST集上的預(yù)測(cè)正確率
表2和圖5顯示,隨著訓(xùn)練輪數(shù)的增加,CDP和FDP方法的預(yù)測(cè)誤差要優(yōu)于平均池化和最大池化方法,說(shuō)明改進(jìn)的CNN有助于提高分類準(zhǔn)確率,其具有更好的尺寸、旋轉(zhuǎn)等扭曲不變性。

表2 4種方法在“新MNIST”集上的訓(xùn)練誤差和測(cè)試誤差

圖5 4種方法在“新MNIST”集上的預(yù)測(cè)正確率
SRD階段,本文選用“基于馬爾可夫吸收概率的顯著性檢測(cè)[13]”方法對(duì)CIFAR-10集圖像進(jìn)行前景和背景分離。基于馬爾可夫吸收概率的顯著性檢測(cè)方法的基本思想是:首先,將圖像左側(cè)和上側(cè)邊界分別作為背景先驗(yàn),在其加權(quán)圖上計(jì)算馬爾科夫吸收概率得到初始顯著圖;然后對(duì)圖像元素與前景線索相關(guān)性排序來(lái)強(qiáng)調(diào)對(duì)象;最后,利用基于內(nèi)容擴(kuò)散機(jī)制等方法進(jìn)一步完善顯著圖。
CNN階段,針對(duì)SRD階段得到的顯著圖進(jìn)行的處理,本階段采用的CNN算法流程如圖6所示。

圖6 測(cè)試CIFAR-10集CNN算法流程
上述操作中,卷積核大小均為5×5,池化的尺寸均為2×2,3個(gè)卷積層卷積核個(gè)數(shù)依次為16、32和64,訓(xùn)練時(shí):dropout取值0.5,batch_size取值50,初始學(xué)習(xí)率取值0.1,每訓(xùn)練20輪學(xué)習(xí)率下降到原來(lái)的0.1倍。同等實(shí)驗(yàn)條件下,第一個(gè)池化層分別進(jìn)行平均池化、CDP、FDP操作。表3和圖7展示了使用不同方法得到的訓(xùn)練誤差、預(yù)測(cè)誤差和預(yù)測(cè)正確率。
其中,CNN方法表示未進(jìn)行SRD操作且使用平均池化方法,CNN+方法表示結(jié)合使用CNN和SRD且使用平均池化方法,同理,CDP+方法表示結(jié)合使用CDP和SRD方法,F(xiàn)DP+方法表示結(jié)合使用FDP和SRD方法。下文均作相同處理。

表3 4種方法在CIFAR-10集上的訓(xùn)練誤差和測(cè)試誤差

圖7 4種方法在CIFAR-10集上的預(yù)測(cè)正確率
結(jié)合表3和圖7可以看出,對(duì)CIFAR-10數(shù)據(jù)集識(shí)別處理,結(jié)合SRD方法能減少訓(xùn)練誤差和預(yù)測(cè)誤差,CDP+方法表現(xiàn)出了比CNN+方法具有更好的識(shí)別效果,而FDP+方法的識(shí)別能力要好于前兩者的原因有兩點(diǎn):①使用SRD算法得到的顯著圖很大程度上避免了圖像復(fù)雜背景對(duì)識(shí)別結(jié)果的干擾;②采用FDP方法可以有效彌補(bǔ)顯著圖邊界損失,從而提高識(shí)別效果。
本文搜集用于船舶識(shí)別的圖像集包括帆船、摩托艇、集裝箱船、軍艦和客船共5類圖像(見(jiàn)表4),每類均包含300張160×160像素的實(shí)景圖像共1500張圖像。隨機(jī)選取1200張為訓(xùn)練圖像,剩余300張作為測(cè)試圖像。為了提高系統(tǒng)的識(shí)別能力,這里分別對(duì)圖像訓(xùn)練集和測(cè)試集進(jìn)行擴(kuò)充,首先對(duì)船舶前景做兩個(gè)尺度的縮放處理,然后分別對(duì)其順時(shí)針、逆時(shí)針旋轉(zhuǎn)15°和30°,得到18 000張訓(xùn)練圖像和4500張測(cè)試圖像。
船舶識(shí)別的SRD階段和CNN階段所選用的模型和參數(shù)與測(cè)試CIFAR-10數(shù)據(jù)集使用的模型和參數(shù)相同。進(jìn)行SRD操作可以有效地減小包括海水顏色、天氣狀況、浪花等背景對(duì)識(shí)別結(jié)果造成的影響。采用CNN和SRD算法相結(jié)合的方法進(jìn)行船舶分類識(shí)別的算法框架如圖8所示。
同等實(shí)驗(yàn)條件下,第一個(gè)池化層分別進(jìn)行平均池化、CDP、FDP操作。實(shí)驗(yàn)參數(shù)和方法同2.2節(jié),實(shí)驗(yàn)結(jié)果見(jiàn)表5、表6。

表4 船舶識(shí)別數(shù)據(jù)集

圖8 船舶識(shí)別系統(tǒng)框架

表5 4種方法用于船舶識(shí)別的訓(xùn)練誤差和預(yù)測(cè)誤差
從表5可以看出,單獨(dú)使用CNN方法很難正確識(shí)別出背景復(fù)雜的船舶圖像的類型,經(jīng)過(guò)訓(xùn)練學(xué)習(xí),其識(shí)別正確率保持在68%左右;CNN結(jié)合SRD方法則大大提高了船舶識(shí)別正確率,但是其正確率仍未達(dá)到90%,這是因?yàn)榇皥D像集中存在著大量具有復(fù)雜背景的圖像;為了解決由SRD在復(fù)雜背景圖像中獲取的顯著圖存在邊界模糊的問(wèn)題,CDP和FDP分別從不同層面去彌補(bǔ)邊界損失。相比較CDP方法,F(xiàn)DP方法更是依據(jù)SRD獲得的顯著圖的本身屬性進(jìn)一步地降低了邊界損失,其識(shí)別正確率高達(dá)92.8%。表6則顯示出不同類別的船舶最終的預(yù)測(cè)誤差,摩托艇和帆船的誤差率最小,集裝箱船和客船的誤差率次之,軍艦的誤差率最大。這是因?yàn)榍皟烧叩奶卣鞲黠@,區(qū)分度最大,而數(shù)據(jù)集中的軍艦包括了不同類型的軍用船舶,特征最為復(fù)雜。
為了改善卷積神經(jīng)網(wǎng)絡(luò)在實(shí)際場(chǎng)景的圖像識(shí)別中易于受到圖像背景干擾的問(wèn)題,文中提出了CDP和FDP兩種改進(jìn)方法,并在分別在MNIST數(shù)據(jù)集、調(diào)整了測(cè)試集的新MNIST數(shù)據(jù)集以及CIFAR-10數(shù)據(jù)集上證明了其比傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)具有更加穩(wěn)定的表征能力和更好的泛化能力。通過(guò)將顯著性檢測(cè)算法和改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合應(yīng)用于船舶識(shí)別中,大大提高了船舶識(shí)別的準(zhǔn)確率。同時(shí),從實(shí)驗(yàn)結(jié)果可以看出系統(tǒng)的識(shí)別性能仍有提升空間,這主要局限于有限的船舶數(shù)據(jù)集上,下一步研究可擴(kuò)展數(shù)據(jù)集和通過(guò)引入“遷移學(xué)習(xí)”來(lái)優(yōu)化網(wǎng)絡(luò)性能,從而進(jìn)一步提升網(wǎng)絡(luò)的識(shí)別能力。