江滿星,趙彤洲,吳澤俊
武漢工程大學計算機科學與工程學院,湖北 武漢 430205
近年來數(shù)據(jù)的爆炸性增長,計算機顯卡性能的不斷提高,卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)已經(jīng)成為完成圖像識別的首選方法[1]。CNN 中卷積核通過一組濾波器在輸入圖像數(shù)據(jù)的各個通道上進行卷積運算提取特征圖的特征,激活函數(shù)通過引入非線性映射使網(wǎng)絡具有非線性表達能力,池化層通過下采樣方式減小特征圖的大小使數(shù)據(jù)量減少。多種結構相互交錯疊加,使得CNN 能夠完成目標特征提取任務,通過融合特征分類器完成圖像識別任務。與傳統(tǒng)的圖像處理算法相比,CNN 具有準確率高、泛化能力強、魯棒性好、不需要人工設計的特點。CNN 也有其弊端,在進行特征提取時,只是簡單地堆疊大小相同的卷積核進行大量計算,每個卷積核只能提取到當前感受野內(nèi)的局部特征,導致融合局部特征需要后續(xù)更多的卷積核通過增大感受野的范圍來提取全局特征。本文根據(jù)艦船目標固定的幾何形狀特征,設計出適應目標形狀的卷積核和特定的卷積結構,能更加有效地提取出艦船目標特征,減少目標特征提取過程中的盲目性,縮小特征提取過程的時間和空間開銷。
AlexNet 中使用5 層的卷積網(wǎng)絡完成目標識別任務,其中卷積核的形狀為7×7 和5×5,能達到比傳統(tǒng)圖片處理方法高出10.9%的分類準確率[2]。牛津大學設計出更深的卷積模型來提取目標特征,將AlexNet 中原有的7×7 的卷積核替換成3 個3×3 的疊加卷積層,5×5 的卷積層替換成2 個3×3的疊加卷積層,減少了參數(shù)的個數(shù),同時達到了更高的分類準確率。視覺幾何組(visual geometry group,VGG)將網(wǎng)絡深度由AlexNet 的5 層提高到16、19 層,在ImageNet 數(shù)據(jù)集上達到了93.34%的分類準確率[3-5]。當網(wǎng)絡的深度繼續(xù)增加時,網(wǎng)絡中神經(jīng)元已經(jīng)達到飽和,準確率無法繼續(xù)提高,反而網(wǎng)絡中參數(shù)的個數(shù)增多使訓練難度更大,網(wǎng)絡難以收斂。殘差網(wǎng)絡(residual network,ResNet)通過引入殘差模塊很好地解決了網(wǎng)絡層數(shù)增加導致的準確率下降問題[6]。當網(wǎng)絡前些層訓練達到飽和時,后續(xù)層中的神經(jīng)元不能起到提高網(wǎng)絡識別準確率的作用,殘差模塊能跳過這些不起作用的神經(jīng)元,簡單地執(zhí)行恒等映射,減少了需要訓練的神經(jīng)元個數(shù),提高了網(wǎng)絡訓練效率。目前卷積神經(jīng)網(wǎng)絡已經(jīng)在發(fā)票檢測[7]、人臉檢測[8-9]、火焰煙霧檢測[10]等方面展現(xiàn)出了顯著作用,將其應用于艦船檢測[11-13]領域中也取得了很大進展。
岳丹丹等[14]通過融合多個二分類器對航空母艦、驅(qū)逐艦、護衛(wèi)艦、客船、集裝箱、民用貨船6 種船只類型進行識別,達到了89%的平均分類準確率;趙亮等[15]將卷積神經(jīng)網(wǎng)絡結合方向梯度直方圖,顏色空間特性完成對艦船目標的特征提取任務,使用支持向量機[16-17]對集裝箱船、客船、漁船、帆船和艦船5 類船只進行識別,達到了93.6%的平均分類準確率;劉峰等[18]通過對串聯(lián)的三波段數(shù)據(jù)進行排序,同時提取三波段信息對6 類艦船目標進行識別,達到了84.5%的平均分類準確率;吳建寶等[19]通過改進GoogleNet 模型[20],在對艦船、民船、非船類目標3 種類型目標識別任務中達到了99.0%的平均分類準確率,在對集裝船、潛艇、貨船等43 種艦船目標的識別任務中達到了90.21%的平均分類準確率。這些方法都取得了良好效果,識別準確率較傳統(tǒng)識別方法有了較大程度的提升,但是識別任務中忽略了艦船固定的幾何形狀。艦船的形狀在識別任務中不會發(fā)生改變,本文使用適應艦船形狀的卷積核來提取艦船目標特征,使單個積卷積核盡可能多地提取出更多目標特征,減少網(wǎng)絡提取目標特征過程中的時間和空間開銷,達到更高的識別準確率。由于網(wǎng)絡卷積結構的特殊性,本網(wǎng)絡取名為適應幾何特征的卷積網(wǎng)絡(ShapeConv)。
由于艦船目標特定的形狀結構,采用3×5,5×3,3×1,1×3 的卷積核堆疊形成一層卷積結構用于提取艦船特征,在每層卷積結構后加一層最大池化層將特征圖大小減半,卷積模型共四層卷積結構和四層最大池化層,最后一層的全連接層使用卷積結構提取到的特征對艦船目標進行分類。訓練過程采用交叉熵函數(shù)作為損失函數(shù),使用隨機梯度下降算法對網(wǎng)絡模型進行訓練。
整個網(wǎng)絡模型由4 個特定卷積結構疊加而來,在每個卷積結構后面有一個最大池化層用于減小特征圖大小。網(wǎng)絡最后一層為全連接層,輸入為卷積結構提取的目標特征,輸出為目標類別數(shù)目。網(wǎng)絡模型的結構如圖1 所示。
圖1 網(wǎng)絡模型結構Fig.1 Network model structure
網(wǎng)絡采用5×3,3×5,3×1,1×3 的卷積核用來提取目標的特征。艦船的長寬比率為5∶3 或者3∶1,所以采用此形狀的卷積核來提取目標特征得到特征圖。在卷積過程中,當卷積核進行卷積運算的區(qū)域?qū)母惺芤芭c原輸入圖像中的目標方向大小一致時,單個卷積核能最大程度的提取出單個目標特征,此卷積核中所提取到的特征含有大量的目標信息,僅有極少的非目標特征。
在卷積過程中,特征圖在每層卷積結構中由于未進行池化操作,特征圖大小不會發(fā)生變化。在經(jīng)過最大池化層后特征圖的大小會縮小為原來的一半。在前幾層的特征圖中,卷積計算的區(qū)域所對應的感受野在原圖中的大小可能與目標物的大小不匹配,經(jīng)過最大池化層后,在特征圖上的卷積區(qū)域?qū)母惺芤半S著池化次數(shù)的增加而變大,進而與輸入圖片中的目標大小相適應,單個卷積核就能提取到目標整體特征。此卷積結構也能很好地提取到小目標的特征。
在卷積過程中一個卷積層結構由4 個5×3,3×5,3×1,1×3 的卷積核堆疊而成,每個卷積核后以relu 函數(shù)作為激活函數(shù),relu 函數(shù)如公式(1)所示。
單個網(wǎng)絡結構圖如圖2 所示。
圖2 ConvNet結構Fig.2 ConvNet structure
每層卷積結構中特征圖數(shù)量不變。從輸入的3 個通道,到經(jīng)過第一個卷積結構后,特征圖的數(shù)量變?yōu)?6,在后續(xù)的卷積結構中,特征圖數(shù)量翻倍。
在網(wǎng)絡訓練過程中設置批次大小為32,采用softmax 函數(shù)完成艦船的分類任務,交叉熵代價函數(shù)作為網(wǎng)絡的損失函數(shù)。反向傳播過程中,使用隨機梯度下降法對網(wǎng)絡模型進行訓練。
在網(wǎng)絡結構中,使用與VGG16 網(wǎng)絡相同的損失函數(shù)(交叉熵代價函數(shù)),如公式(2)所示。
式(2)中L 表示一個批次樣本總的損失,x 表示樣本,n 表示樣本的總數(shù),a 表示網(wǎng)絡的期望輸出,y表示樣本的實際輸出。
實驗平臺。本網(wǎng)絡基于tensorfolw 框架進行開發(fā),采用tensorboard 進行可視化。實驗所用設備為cpu i7、nvidia GTX 1070Ti 顯 卡、16 GB 內(nèi) 存 電腦。電腦系統(tǒng)為linux 的Ubuntu16.04 版本,使用cuda8.0,cudnn9.1 進行顯卡加速計算。
目前雖然存在大量的公開數(shù)據(jù)集,但沒有專門用于艦船分類的訓練數(shù)據(jù)集。在本次實驗中使用的訓練數(shù)據(jù)由各種軍事網(wǎng)站和各大網(wǎng)站中的視頻截取而來的可見光圖片數(shù)據(jù)組成,總的樣本個數(shù)為4 201,總共包含30 類艦船類型,每個類別平均127 張圖片,最少的類別的圖片數(shù)目為53 張,雖然存在樣本數(shù)目分布不均衡的情況,但并未對實驗的結果產(chǎn)生影響。本文所用部分數(shù)據(jù)樣本縮略圖如圖3 所示。
圖3 部分數(shù)據(jù)樣本縮略圖Fig.3 Thumbnail of partial data sample
本網(wǎng)絡先對輸入的圖片進行縮放操作,將輸入圖片大小固定為224×224×3。訓練的樣本以圖片幾何中心為中心點進行30°、60°旋轉(zhuǎn),超出原始圖像的部分進行裁剪,空缺部分進行零填充。同時對原圖和旋轉(zhuǎn)后的2 張圖片進行灰度化處理,并將3 張進行灰度處理后的圖片進行疊加,最終形成224×224×3 的輸入。
在VGG16 網(wǎng)絡中輸入圖片是224×224×3 的三通道彩色圖片,在本文的識別任務中,雖然輸入到網(wǎng)絡中的輸入圖片也是224×224×3,但是包含了3張不同角度的灰度圖。在傳統(tǒng)的目標識別中,顏色這一特征是圖片的一個重要特征,但是在人識別物體時,即使是1 張灰度圖片,視覺系統(tǒng)也能辨認出物體所屬的類別,所以顏色特征在此類目標識別任務中并不能起到太大的作用。為了減少計算所花費的時間,將3 張圖片進行了灰度處理,減少不必要的計算所用時間。
在預處理過程中,對圖片進行30°、60°的旋轉(zhuǎn)使圖片中的目標與卷積核的方向一致。為了使目標方向與卷積核方向相同,可以對輸入圖片進行0°~90°的旋轉(zhuǎn),實驗表明30°、60°旋轉(zhuǎn)已經(jīng)可以讓識別任務達到99.9%的準確率。對圖片進行旋轉(zhuǎn)操作時,圖片的部分區(qū)域相對于原始圖片會超出顯示范圍,將超出原圖顯示的部分進行裁剪。裁剪的部分可能包含目標信息,由于原始灰度圖仍保留有目標信息,裁剪不會導致目標信息丟失。在旋轉(zhuǎn)的同時,圖像的部分區(qū)域會出現(xiàn)像素值缺失,缺失的像素值進行零填充。未處理的圖片與預處理后的圖片對比如圖4 所示。
圖4 未處理的圖片和預處理后的圖片對比:(a)未處理,(b)預處理后Fig.4 Comparison of unprocessed and pre-processed pictures:(a)unprocessed,(b)pre-processed
由圖4 中2 張圖片的對比能發(fā)現(xiàn)未處理的圖片與處理后的圖片的區(qū)別,肉眼已經(jīng)無法分辨出預處理后的圖片中目標物所屬的類別,這樣的輸入對神經(jīng)網(wǎng)絡來說是有意義的,神經(jīng)網(wǎng)絡對目標的識別并不依賴于目標的整體外觀而是依賴于圖片中像素以及像素之間的相互關系。
使用VGG16,ResNet_v2_101,inception_v2,inception_resnet_v2 這幾種分類網(wǎng)絡進行對比實驗,批次均設為32。準確率、準確率方差、損失、損失方差均采用網(wǎng)絡收斂后10 000 步的實驗數(shù)據(jù)進行對比,結果如表1 所示。
從表1 結果可以看出,ShapeConv 所需的訓練次數(shù)為5.24 萬次,訓練時間為136 min,準確率為99.7%,損失為0.033。與其他4 個分類網(wǎng)絡相比,具有更少的訓練次數(shù)和訓練時間,更高的準確率和穩(wěn)定性。各個網(wǎng)絡的準確率變化情況如圖5 所示。
表1 其他網(wǎng)絡與ShapeConv 網(wǎng)絡訓練結果對比Tab.1 Comparison of training results of other networks and ShapeConv
圖5 其他網(wǎng)絡與ShapeConv 網(wǎng)絡準確率變化Fig.5 Accuracy variation curves of other networks and ShapeConv
由圖5 可以看出ShapeConv 以最快的速度達到收斂。當訓練到5.24 萬次后網(wǎng)絡完全收斂,準確率穩(wěn)定在99.5%~100%,當網(wǎng)絡收斂后,Shape-Conv 具有更高的穩(wěn)定性和準確率。由于網(wǎng)絡參數(shù)的個數(shù)少,且卷積核的形狀與目標物的形狀相同,卷積核能更好地提取出目標特征,取得最快的訓練速度和最高的訓練準確率。
為了得到更好的實驗結果,在使用本網(wǎng)絡進行訓練時,由原來4 層卷積網(wǎng)絡提高至5 層。實驗結果顯示,5 層的卷積網(wǎng)絡的識別準確率也是99.7%,網(wǎng)絡層數(shù)的增加并未提高網(wǎng)絡識別目標的的準確率。
在VGG16 中使用與ShapeConv 相同的圖片預處理,實驗結果顯示未進行預處理的圖片與預處理后的圖片輸入到VGG16 網(wǎng)絡中得到的準確率相差0.5%以內(nèi)。證明了圖片的旋轉(zhuǎn)在采用3×3 形狀卷積核的網(wǎng)絡上并不能起到任何作用,相反增加了操作的復雜度。在進行艦船目標識別時,對輸入數(shù)據(jù)進行旋轉(zhuǎn)操作時只有卷積核的形狀和目標形狀相適應時才能起到作用。
以上闡述了與目標物形狀相適應的卷積網(wǎng)絡對艦船目標進行識別的方法。利用適應艦船形狀的卷積核疊加形成一個特殊的卷積結構來提取艦船目標特征,在對30 類艦船目標進行分類的實驗中取得了99.7%的分類準確率,比通用的分類網(wǎng)絡VGG16,ResNet_v2_101,inception_v2,inception_renet_v2 均高出超過1%的準確率,并且訓練時間只有上述網(wǎng)絡中訓練花費時間最短的網(wǎng)絡的1/3。在網(wǎng)絡收斂后,具有最高的穩(wěn)定性。同時本實驗證明了將采用與ShapeConv 相同方式預處理后的圖片輸入到VGG16 的網(wǎng)絡中,由于卷積核大小與目標形狀不匹配并不能起到任何的效果,只有使用適應艦船形狀的卷積核才能最大程度地提取目標的特征,減少卷積層的層數(shù),節(jié)約訓練時間。本網(wǎng)絡適用于目標形狀特征明顯的目標識別任務。