李昆侖,王怡輝,陳 棟,王 珺
(河北大學(xué) 電子信息工程學(xué)院,河北 保定 071002)
近年來,隨著人工智能的發(fā)展,深度學(xué)習(xí)在商品識別、棋類比賽、圖像分類等領(lǐng)域得到了成功應(yīng)用,尤其是在圖像識別、動作識別和細粒度圖像分類等方面有了突破性進展.細粒度圖像分類是對于某一個大類別中的子類別進行分類,如對于犬類中薩摩耶犬、阿拉斯加犬和哈士奇犬等子類別進行分類,常規(guī)的圖像分類任務(wù)是對圖像進行類間分類,也被稱為粗粒度圖像分類.細粒度圖像分類相較于粗粒度圖像分類具有更為相似的外觀和特征,因此類間差異更小,同時所采集圖像存在著姿態(tài)、視角、光照、遮擋、背景干擾等影響,使得類內(nèi)差異更大,因此細粒度圖像分類的研究更為困難[1].
早期的細粒度圖像分類研究主要集中在圖像局部特征的表述及特征提取方法等方面.例如Wah等利用訓(xùn)練好的模型獲得原始圖像的部件區(qū)域定位,對圖像提取RGB 顏色直方圖特征和SIFT特征,使用詞袋模型(Bag of Words,BoW)生成特征表示,通過SVM線性分類器進行分類[2].局部特征選擇過程繁瑣且忽略了不同局部特征間的相關(guān)性以與位置空間關(guān)系,因此有人提出對特征進行定位的方法,利用關(guān)鍵點的位置信息來獲得更有價值的圖像信息.但是獲取位置信息需要高精度的算法和精細的人工標注,增加成本.
隨著深度學(xué)習(xí)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)已成為一種提取圖像特征的常用的方法之一,基于深度學(xué)習(xí)的細粒度圖像分類算法主要分為強監(jiān)督算法和弱監(jiān)督算法.強監(jiān)督細粒度圖像分類算法,是指在模型訓(xùn)練時,除圖像的類標簽外還使用了其他標注信息的算法.Zhang等提出了Part R-CNN(Part-based R-CNN)算法,在訓(xùn)練時借助物體標注框和部位標注點,使用R-CNN算法對物體整體、頭部和身體區(qū)域進行檢測,通過CNN模型分別提取特征,最后將三種特征級聯(lián)成一個向量用于分類[1].Branson等提出姿態(tài)歸一化卷積網(wǎng)絡(luò)(Pose normalized CNN)算法,用于定位和檢測部件區(qū)域,根據(jù)檢測的結(jié)果裁剪圖像,分別提取物體區(qū)域和部件區(qū)域上不同層的卷積特征,并對多卷積特征進行分類[3].弱監(jiān)督細粒度圖像分類算法,是指在模型訓(xùn)練時只使用圖像類標簽的算法.Xiao等提出了二級注意力算法(Two-level Attention Models),利用物體注意力(Object-level Attention)和部件注意力(Part-level Attention)獲得物體圖像和部件圖像,分別提取特征并通過分類模型將其結(jié)合[4].Lin等提出了雙線性卷積神經(jīng)網(wǎng)絡(luò)(Bilinear CNN,B-CNN),利用兩個卷積神經(jīng)網(wǎng)絡(luò)提取特征,對特征圖使用外積聚合獲得特征通道間的線性關(guān)系,獲得更具表達力的雙線性特征向量[5].Lin等在B-CNN模型的基礎(chǔ)上對模型結(jié)構(gòu)進行優(yōu)化,提出了Improved B-CNN模型,對深度描述向量的協(xié)方差矩陣進行0.5次冪規(guī)范化,優(yōu)化模型特征[6].Yu等提出了可跨層的雙線性池化方法(Hierarchical Bilinear Pooling,HBP),該方法將CNN中的每個卷積層視為部件特征提取器,然后將不同卷積層的特征通過雙線性池化的方式進行集成,建立部件特征的層間交互模型,以此來捕獲更細微的部件特征[7].
如何有效地對物體及部件區(qū)域進行檢測,并從中提取重要的部件區(qū)域信息是細粒度圖像識別算法的關(guān)鍵之一[8].同一網(wǎng)絡(luò)最后提取的特征維度一定,卷積神經(jīng)網(wǎng)絡(luò)提取的差異性信息越多,最后生成的特征向量中有區(qū)分度的特征就越多,分類精度也就更高.基于此思路,本文借鑒了二級注意力模型和通道注意力模型,提出基于注意力機制的雙線性卷積神經(jīng)網(wǎng)絡(luò)(Based on Attention Mechanism in Bilinear CNN,BAM B-CNN).首先通過VGG-16網(wǎng)絡(luò)的最后一個卷積層輸出的特征圖在通道方向疊加獲得特征映射圖,選取大于特征映射圖平均值的最大聯(lián)通區(qū)域作為物體圖像;其次使用區(qū)域建議網(wǎng)絡(luò)(Region Propose Network,RPN)提取候選區(qū)域,使候選區(qū)域圖像均包含物體信息,使用部件注意力模型將候選區(qū)域分為k組,將各組評分最高的候選區(qū)域作為部件圖像;然后在雙線性卷積模型最后一個卷積層后加入通道注意力模塊,學(xué)習(xí)通道間的非線性關(guān)系,提高關(guān)鍵特征的表達力;最后將原始圖像、物體圖像和部件圖像分別輸入到改進的雙線性網(wǎng)絡(luò)中進行訓(xùn)練,通過分類模型將三個分類器獲得的特征進行結(jié)合,通過結(jié)合不同層次特征的優(yōu)點,增大差異性信息的獲取,優(yōu)化模型結(jié)構(gòu).本文方法只需圖像的類標簽,減少了繁瑣的人工標注.本文實驗部分在3個常用的細粒度數(shù)據(jù)庫上驗證了該算法的有效性.
B-CNN模型是Lin等人[5]于2015年提出的,該方法利用兩個卷積神經(jīng)網(wǎng)絡(luò)提取特征圖,通過外積聚合獲得特征通道之間的線性關(guān)系,并通過建模作為圖像的最終表達.雙線性模型不僅概括了廣泛使用的無序紋理描述符,還可以對模型進行端到端的訓(xùn)練.如圖1所示:

圖1 B-CNN結(jié)構(gòu)示意圖
雙線性卷積神經(jīng)網(wǎng)絡(luò)由四元組組成,如公式(1)所示:
B=(fA,fB,P,C)
(1)
B-CNN模型由兩個基于 CNN 的特征提取器、一個雙線性池化模塊和一個分類器組成,其中兩個特征提取器一個作為部件檢測器,另一個為部件特征提取器.其中fA,fB為兩個特征提取器得到的特征圖,且fA,fB∈RH×W×c,H,W,c分別對應(yīng)特征圖的長、寬和通道數(shù),P為池化函數(shù),C為分類函數(shù).B-CNN通過計算兩組特征圖在每個位置的外積,再對所得結(jié)果求和池化,得到整個圖像的雙線性特征,如公式(2)所示:
B(l,I,fA,fB)=fA(l,I)TfB(l,I)
(2)
其中I為輸入圖像,l為位置信息,fA(l,I),fB(l,I)為兩個特征提取器在l點的特征向量.
Xiao等[4]在不使用標注點和標注框等信息下對圖像進行分類,提出了二級注意力模型(Two-level Attention Models),該模型分為以下5個階段:1)使用Selective Search算法從輸入圖像中產(chǎn)生大量的候選區(qū)域.2)對候選區(qū)域進行過濾并保留包含物體的候選區(qū)域.3)訓(xùn)練一個卷積網(wǎng)絡(luò)對物體級圖像進行分類.4)對卷積網(wǎng)絡(luò)的中間層進行譜聚類,得到k個不同的聚類簇,每一簇作為一個部件信息檢測器,從而達到對候選區(qū)域篩選的目的.5)將候選區(qū)域通過前項傳播獲得激活分數(shù)分為k組,將每組中得分最高的候選區(qū)域作為部件圖像.
Woo等提出了CBAM(Convolutional Block Attention Module)模型,模型主要分為通道注意力模塊和空間注意力模塊[9].卷積運算是通過混合通道信息和空間信息來提取特征,CBAM模型可以強調(diào)沿著通道和空間這兩個方向的有意義特征.其中,通道注意力網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示:

圖2 通道注意力網(wǎng)絡(luò)結(jié)構(gòu)圖
首先對卷積層輸出的特征圖使用全局平均池化和全局最大池化操作來聚合特征圖的空間信息,生成兩個不同的空間描述符:平均池化特征和最大池化特征.然后將這兩組特征轉(zhuǎn)發(fā)到一個共享網(wǎng)絡(luò),生成通道注意力圖,共享網(wǎng)絡(luò)由只包含一個隱藏層的多層感知器組成.將通道注意力圖使用對應(yīng)元素求和合并,獲得特征向量,將特征向量通過Sigmoid函數(shù)激活獲得各個通道的權(quán)重值.
在細粒度圖像分類任務(wù)中,使用標記點和標記框信息可以獲得更準確的物體和部件的定位,但費時費力,因此使用注意力模型獲得物體和部件的定位是一個很好地解決方案.二級注意力模型使用Selective Search算法產(chǎn)生2000多個候選區(qū)域,這些區(qū)域包含背景信息,而且大多數(shù)重疊.因此引入?yún)^(qū)域建議網(wǎng)絡(luò)(Region Propose Network,RPN)獲得候選區(qū)域,RPN算法對特征圖使用一個卷積核進行滑動掃描,每次滑動產(chǎn)生多個候選區(qū)域,將候選區(qū)域圖像卷積后得到一個低維向量,將產(chǎn)生的向量接入到一個softmax分類器進行二分類,使得候選區(qū)域圖像均包含物體信息,去除只包含背景信息的候選區(qū)域.設(shè)定使用3個比例尺和3個縱橫比(1∶2,1∶1,2∶1),因此每次窗口滑動產(chǎn)生9個多尺度的建議區(qū)域.
原模型中的Object-level Attention模型需要對所有物體候選區(qū)域進行訓(xùn)練,計算時間較長.受到SCDA(Selective Convolutional Descriptor Aggregation)[10]的啟發(fā),本文對于物體級注意力模型進行改進.首先,將原始圖像X輸入到VGG-16中,將最后一個卷積層輸出的特征圖F=[f1,f2,…,fc]按通道方向聚合,得到激活映射圖A,如公式(3)所示:
(3)

(4)
從公式(4)得到的掩碼圖中選取最大聯(lián)通區(qū)域得到一個更精確的掩模M,將M調(diào)整為輸入圖像X的大小,將其覆蓋到輸入圖像X上.如公式(5)所示:
Xat=X⊙M(·)
(5)
其中⊙為矩陣的對應(yīng)元素相乘操作符,而M(·)表示一個掩模矩陣.將最小包圍盒作為輸出,輸出是一個長方形區(qū)域[x,y,l1,l2],其中(x,y)表示代表區(qū)域的中心坐標,l1和l2分別代表區(qū)域長度和寬度的一半.原始圖片左上角作為像素坐標系的原點,其x軸和y軸從左到右和從上到下定義.區(qū)域的左上坐標(表示為“tl”)和右下坐標(表示為“br”)如公式(6)和公式(7)所示:
x(tl)=x-l1y(tl)=y-l2
(6)
x(br)=x+l1y(br)=y+l2
(7)
原模型的部件注意力模型使用的是AlexNet模型,本文實驗中使用的是VGG-16模型.將物體圖像區(qū)域輸入到VGG-16模型中進行訓(xùn)練,在卷積網(wǎng)絡(luò)的中間層神經(jīng)元上進行譜聚類,以構(gòu)建用于對齊所選部分的部分簇.首先計算相似度矩陣S,其中S(i,j)表示兩個中間層神經(jīng)元ui和uj之間權(quán)值的余弦相似度,然后對相似度矩陣S進行譜聚類,將中間層神經(jīng)元劃分為k組.在實驗中,從倒數(shù)第2個卷積層以k設(shè)置為4選取神經(jīng)元.將候選區(qū)域調(diào)整增大小輸入到卷積網(wǎng)絡(luò)中,前項傳播以產(chǎn)生每個神經(jīng)元的激活分數(shù),根據(jù)激活分數(shù)將候選區(qū)域分為4組.將各組中得分最高的候選區(qū)域作為部件圖像.
B-CNN模型對兩組特征圖進行外積聚合捕獲特征通道之間的成對相關(guān)性,獲得更具表達力的雙線性特征向量.但是B-CNN只利用了特征圖中通道間的線性關(guān)系,沒有利用通道間的非線性關(guān)系.為了解決這一不足,本文提出了一種基于通道注意力的雙線性網(wǎng)絡(luò),通過通道注意力學(xué)習(xí)特征圖中通道間非線性關(guān)系,增強雙線性特征的表達能力.
本文所提出的模型是以VGG-16網(wǎng)絡(luò)構(gòu)建的B-CNN模型為基準進行改進,在最后一個卷積層與雙線性池化層中間添加通道注意力模型.整體架構(gòu)如圖3所示.

圖3 基于通道注意力的雙線性網(wǎng)絡(luò)
在圖3中,F(xiàn)表示為最后一個卷積層前的卷積運算和池化運算,F(xiàn)tr表示為最后一個卷積層的卷積運算.假設(shè)v=[v1,v2,…,vc]為Ftr運算的卷積核,vc是為第c個卷積核的參數(shù),F(xiàn)tr運算輸出的特征圖表示為U=[u1,u2,…,uc],則第c個通道的特征圖表示如公式(8)所示:
(8)
對特征圖uc∈RH×W進行全局平均池化操作和全局最大池化操作,來有效地學(xué)習(xí)物體的位置信息和物體特征[9].其形式化描述如公式(9)和公式(10)所示:
(9)
zc2=max(uc(i,j))(i∈[1,2,…,H],j∈[1,2,…,W])
(10)
要充分利用池化操作中聚合的信息,需要使用其他的操作來捕獲通道間的依賴關(guān)系.實現(xiàn)這一目標,該操作須滿足兩個條件:它能夠?qū)W習(xí)通道之間的非線性關(guān)系和非互斥關(guān)系.為了滿足這些條件,本文選擇采用具有一個隱藏層的多層感知器來滿足第一個條件,采用Sigmod 激活函數(shù)來滿足第2個條件[11].通道權(quán)重的計算如公式(11)所示:
s=σ(MLP(zc1)+MLP(zc2))
=σ(W1?(W0zc1)+W1?(W0zc2))
(11)
其中?(·)指ReLU激活函數(shù),s=[s1,s2,…,sc],W0∈Rc/r×c是第一個FC層的權(quán)重,W1∈Rc×c/r是第2個FC層的權(quán)重.
將獲得的通道權(quán)重與輸入的特征圖進行逐元素相乘,得到加權(quán)分布的特征圖,計算過程如公式(12)所示:
(12)

接著對得到的加權(quán)特征圖進行雙線性池化,此過程如公式(13)所示:
(13)
對所得到的加權(quán)雙線性特征表示φ進行歸一化操作如公式(14)和公式(15)所示,此歸一化操作可提高加權(quán)雙線性特征的表示能力.
(14)
(15)
最后,將歸一化后的加權(quán)雙線性特征輸入softmax層實現(xiàn)圖像分類.
為了獲得更好的分類性能,本文將原始圖像、物體圖像和部件圖像分別使用基于通道注意力機制的B-CNN模型進行訓(xùn)練,得到3個分類器,分別稱為 ClassNet,ObjectNet和PartNet.ClassNet用于原始圖像,ObjectNet用于物體圖像,PartNet用于部件圖像.他們的作用是不同的,主要是因為他們關(guān)注的對象不同,ClassNet關(guān)注的是圖像的整體特征,ObjectNet關(guān)注的是物體的整體特征,PartNet關(guān)注的是細節(jié)特征.通過分類模型將3個分類網(wǎng)絡(luò)進行結(jié)合,使原始圖像分類器結(jié)合兩個級別注意力的優(yōu)勢,增大差異性信息的獲取.在訓(xùn)練階段,本文構(gòu)建的3個網(wǎng)絡(luò)結(jié)構(gòu)都使用交叉熵損失為分類損失.交叉熵損失計算過程如公式(16)所示:
L=-log(Pc(b))
(16)
其中b是輸入圖像的標簽,Pc是最后一個softmax層輸出的類別概率.
分類模型的最終的輸出如公式(17)所示:
finalscore=α*originalscore+
β*objectscore+γ*partscore
(17)
(18)
其中originalscore、objectscore和partscore分別為3個softmax分類器的值,α,β和γ通過交叉驗證的方法獲得.
本文算法的整體設(shè)計思想如圖4所示.本文算法在訓(xùn)練階段有3個子網(wǎng)絡(luò):首先通過物體注意力模型和部件注意力模型在只使用類標簽的情況下獲取物體圖像和部件圖像.將原始圖像、物體圖像與部件圖像分別放入基于通道注意力的雙線性卷積神經(jīng)網(wǎng)絡(luò)中進行訓(xùn)練,獲得3個分類子網(wǎng)絡(luò).原始圖像分類子網(wǎng)絡(luò)學(xué)習(xí)圖像的整體特征,物體圖像分類子網(wǎng)絡(luò)學(xué)習(xí)物體的整體特征,部件圖像分類子網(wǎng)絡(luò)學(xué)習(xí)物體的部件區(qū)域特征.通過分類模型結(jié)合3個分類子網(wǎng)絡(luò)不同層次特征的優(yōu)點,增大差異性信息的獲取,獲得最終分類結(jié)果.

圖4 基于注意力機制的雙線性卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖
算法的具體步驟如下:
輸入:原始圖像
輸出:分類準確率
Step 1.將原始圖像輸入到VGG-16模型進行訓(xùn)練,將模型中的最后一個卷積層輸出的特征圖在通道方向疊加獲得特征映射圖,將大于平均值的點設(shè)為1,其余的點為0,選取最大聯(lián)通區(qū)域作為物體圖像.
Step 2.使用區(qū)域建議網(wǎng)絡(luò)(Region Propose Network,RPN)獲得部件圖像候選區(qū)域,將物體圖像輸入到VGG-16模型中進行訓(xùn)練,在卷積網(wǎng)絡(luò)的中間層神經(jīng)元上進行譜聚類,構(gòu)建用于對齊部件的部件簇.
Step 3.將候選區(qū)域輸入到卷積網(wǎng)絡(luò)中,根據(jù)激活分數(shù)將候選區(qū)域分為m組,將各組中得分最高的候選區(qū)域作為部件圖像.
Step 4.在B-CNN的最后一個卷積層后添加通道注意力模型,使得模型在學(xué)習(xí)通道間的線性關(guān)系的同時學(xué)習(xí)通道間的非線性關(guān)系,抑制背景信息的表達.
Step 5.將原始圖像、物體圖像和部件圖像分別輸入到改進的B-CNN中進行訓(xùn)練,獲得3個分類器.3個分類器分別提取3個層次的特征:圖像的整體特征、物體的整體特征和部件特征.
Step 6.通過分類模型將3個分類器獲得的特征進行結(jié)合,通過結(jié)合不同層次特征的優(yōu)點,其中α,β和γ為超參數(shù),通過交叉驗證獲得.
Step 7.獲得分類準確率final score.
本實驗在一臺GPU為GTX 1080Ti GPU,運行內(nèi)存為11GB的GPU服務(wù)器上進行.所有實驗均基于深度學(xué)習(xí)Pytorch框架完成,Pytorch版本為1.3.1,Python 版本為Python3.6.
本實驗在3個細粒度圖像識別數(shù)據(jù)庫CUB-200-2011[2]、FGVC-Aircraft[12]和 Cars[13]上進行實驗驗證.3個數(shù)據(jù)集的統(tǒng)計信息如表1所示:

表1 數(shù)據(jù)庫信息統(tǒng)計表
本文采用分類準確率來作為實驗的評估方法,如公式(19)所示:
(19)
其中R為測試集的圖片數(shù)量,Ra為測試實驗中分類正確的圖片數(shù)量.
為了評估本文算法的有效性,以分類準確率為評價指標在3個細粒度圖像數(shù)據(jù)庫上與現(xiàn)有的方法進行比較.實驗結(jié)果如表2所示:
本文模型是以B-CNN模型為基礎(chǔ)進行改進,B-CNN原模型使用的是VGG-16模型,同時本文嘗試使用ResNet34和ResNet50構(gòu)建雙線性網(wǎng)絡(luò)在CUB-200數(shù)據(jù)集上做測試,在本實驗的環(huán)境下,相同的迭代次數(shù),模型效果并沒有由VGG-16構(gòu)建的模型效果好,經(jīng)試驗驗證,本文采用了VGG-16來構(gòu)建模型.為了更好的與本文模型做對比,因此對比實驗?zāi)P蜑锽-CNN模型的改進模型或以VGG模型為基礎(chǔ)框架的模型.Improved B-CNN模型是Lin等對B-CNN模型的深度描述向量的協(xié)方差矩陣0.5次冪規(guī)范化,優(yōu)化模型特征,使得模型提高2-3%的精度.Gou等提出的MoNet模型通過子矩陣平方根層,將卷積層的輸出歸一化.LRBP模型是Kong等對B-CNN模型的參數(shù)矩陣做二次近似,降低了計算量.RA-CNN模型是Fu等提出了一種對判別區(qū)域注意力和部件特征表達互相補充的遞歸學(xué)習(xí)模型.破壞-重建學(xué)習(xí)(DCL)模型是Chen等提出的,通過仔細破壞輸入圖像以強調(diào)區(qū)別性局部細節(jié),然后重建以模擬局部區(qū)域之間的語義相關(guān)性.DCL可以自動定位判別區(qū)域,因此在訓(xùn)練時不需要額外知識.Zhang等提出了一種無監(jiān)督的部件挖掘(UPM)方法來定位部件區(qū)域,使用卷積神經(jīng)網(wǎng)絡(luò)提取特征圖,獲得顯著性區(qū)域.對區(qū)域進行聚類,得到聚類中心并生成部件圖像.OLM模型是Zhang等提出的一種定位物體區(qū)域的算法,利用了數(shù)據(jù)挖掘和預(yù)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的特征表示,獲得突出顯示的區(qū)域,得到物體區(qū)域圖像.CUB-200數(shù)據(jù)集與Aircraft和Cars數(shù)據(jù)集相比,物體的關(guān)鍵特征點數(shù)量更多,物體的姿態(tài)差異更大,OLM模型更關(guān)注提取物體的細節(jié)特征,本文模型結(jié)合了物體的整體特征和部件的細節(jié)特征,因此在CUB-200數(shù)據(jù)集上,本文算法獲得了更好的性能.如表2所示,本文算法在3個細粒度數(shù)據(jù)庫上通過對比實驗驗證了算法的有效性,且分類性能優(yōu)于基線方法(B-CNN).本文算法通過結(jié)合注意力模型獲得物體圖像和部件圖像,通過分類模型結(jié)合多個層次的信息,提升了模型的分類效果.

表2 與現(xiàn)有的算法對比實驗數(shù)據(jù)表
在所有實驗中,首先將原始圖像和物體圖像尺寸縮放為448×448,部件圖像的尺寸縮放為224×224.在訓(xùn)練和測試期間,本文只使用類別標簽.實驗使用的基礎(chǔ)框架為VGG-16網(wǎng)絡(luò).將原始圖像、物體圖像和部件圖像放入基于通道注意力的雙線性分類網(wǎng)絡(luò)中,可以獲得3個不同層次的預(yù)測結(jié)果,通過分類模型將3個層次的信息進行結(jié)合,提高分類精度.對于參數(shù)選擇(即α,β和γ),本文使每個參數(shù)的值從0增加到1,步長為0.01,以獲得更高的分類精度為標準選擇參數(shù).最后,對于CUB-200-2011,F(xiàn)GVC-Aircraft和Cars數(shù)據(jù)集,(α,β,γ)被設(shè)置為(0.93,0.87,0.31),(0.97,0.62,0.75)和(0.99,0.71,0.67).
模型訓(xùn)練的參數(shù)設(shè)置.本文模型的訓(xùn)練分為兩個階段:第1階段,訓(xùn)練全連接層參數(shù),保持其它層參數(shù)不變,第2階段,保持全連接層參數(shù)不變,訓(xùn)練其它層參數(shù).第一階段的訓(xùn)練參數(shù):動量項系數(shù)為0.9,學(xué)習(xí)率為1.0,權(quán)重衰減系數(shù)為1×10-8,迭代次數(shù)為80,批處理尺寸為16.第2階段的訓(xùn)練參數(shù):動量項系數(shù)為0.9,學(xué)習(xí)率為0.01,權(quán)重衰減系數(shù)為1×10-5,迭代次數(shù)為80,批處理尺寸為16.鳥類數(shù)據(jù)集的訓(xùn)練過程如圖5所示.

圖5 CUB-200數(shù)據(jù)集訓(xùn)練過程(迭代/準確率)圖
圖5為本文模型在CUB-200數(shù)據(jù)集上的訓(xùn)練過程的(迭代/準確率)圖,(a)、(b)和(c)分別為原始圖像分類器、物體圖像分類器和部件圖像分類器的訓(xùn)練過程.其中以三角做標記點繪制的是第1階段的訓(xùn)練過程,以圓點做標記點繪制的是第2階段的訓(xùn)練過程.
消融研究在CUB-200-2011數(shù)據(jù)集上進行,驗證3個分類網(wǎng)絡(luò)的有效性.實驗結(jié)果如表3所示,在只使用圖像級標簽的情況下,原始圖像的分類準確度為84.01%.本文分別刪除ObjectNet和PartNet進行測試.刪除ObjectNet后,β= 0,分類準確率為84.78%,下降了1.19%.刪除PartNet后,γ= 0,分類準確率為85.07%,下降0.90%.消融研究分別在FGVC-Aircraft和Cars數(shù)據(jù)集上進行驗證.刪除ObjectNet和PartNet后,都會使得最終分類精度一定程度的下降.通過實驗驗證,本文方法的3個分類子網(wǎng)絡(luò)都對最終精度有重要貢獻.
綜上所述,根據(jù)表 2所示,本文模型在3個數(shù)據(jù)集上有較好的分類性能.本文模型先采用二級注意力模型獲取物體圖像和部件圖像,使用雙線性卷積神經(jīng)網(wǎng)絡(luò)對原始圖像、物體圖像和部件圖像進行特征提取,使用通道注意力模型對雙線性卷積模型進行改進,學(xué)習(xí)通道間的非線性關(guān)系,增強特征表達.通過分類模型將3個分類子網(wǎng)絡(luò)結(jié)合,如表3所示,3個分類子網(wǎng)絡(luò)都對最終精度有重要貢獻,通過分類網(wǎng)絡(luò)可以使原始圖像分類子網(wǎng)絡(luò)結(jié)合兩個級別注意力的優(yōu)勢,增大差異性信息的獲取,提高分類準確率.

表3 消融研究實驗數(shù)據(jù)表
雙線性卷積神經(jīng)網(wǎng)絡(luò)通過學(xué)習(xí)特征通道間的線性關(guān)系,并對特征交互進行建模作為圖像的最終表達進行圖像分類.為了降低背景信息對分類的影響,本文提出了一種基于注意力的雙線性卷積神經(jīng)網(wǎng)絡(luò)分類算法,使用二級注意力網(wǎng)絡(luò)獲得物體區(qū)域和部件區(qū)域.對原始圖像、物體圖像和部件圖像使用雙線性卷積神經(jīng)網(wǎng)絡(luò)來提取特征.對雙線性網(wǎng)絡(luò)添加通道注意力模型,可以學(xué)習(xí)通道之間的非線性關(guān)系,提高物體區(qū)域的權(quán)重,抑制背景信息的表達,通過分類網(wǎng)絡(luò)將3個網(wǎng)絡(luò)進行結(jié)合獲得更高的分類準確率.經(jīng)試驗驗證,本文算法在3個細粒度圖像數(shù)據(jù)庫上均取得了良好的性能.在一定程度上克服了圖片中物體區(qū)域小、背景區(qū)域大對于分類造成的干擾,提升了模型的分類性能.
本文下一步工作計劃:首先,改進部件注意力算法獲得更有助于分類的部件圖像;其次優(yōu)化算法模型,使分類模型可以將三個層次的分類子模型更好的結(jié)合起來;并在更為廣泛的數(shù)據(jù)集上進行實驗,希望能夠得到性能更為完善和普適的算法.