王 波,黃 冕,劉利軍,3,黃青松,4,單文琦
(1.昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院,云南昆明 650500;2.云南國(guó)土資源職業(yè)學(xué)院信息中心,云南昆明 652501;3.云南大學(xué)信息學(xué)院,云南昆明 650091;4.云南省計(jì)算機(jī)技術(shù)應(yīng)用重點(diǎn)實(shí)驗(yàn)室,云南昆明 650500)
隨著深度學(xué)習(xí)、卷積網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,深度學(xué)習(xí)網(wǎng)絡(luò)在計(jì)算機(jī)視覺(jué)領(lǐng)域得到廣泛的應(yīng)用,如圖像檢索[1]、場(chǎng)景解析[2]和目標(biāo)跟蹤[3]等.在細(xì)粒度圖像識(shí)別領(lǐng)域,深度卷積網(wǎng)絡(luò)也得到了廣泛的研究與應(yīng)用.由于在細(xì)粒度圖像識(shí)別中,類內(nèi)差異容易受姿態(tài)、視角與位置等因素影響,類間具有相似性,且手工標(biāo)注位置不穩(wěn)定且耗費(fèi)人力,因此細(xì)粒度識(shí)別任務(wù)更具有挑戰(zhàn)性.Zhang 等人[4]提出強(qiáng)監(jiān)督細(xì)粒度圖像分類模型(Part-based Region Convolutional Neural Network,Partbased R-CNN),借助Bounding Box 和Part Annotation 標(biāo)簽進(jìn)行對(duì)象部件定位等操作得到對(duì)象與部件的圖像塊,最后將對(duì)象部件等特征級(jí)聯(lián)之后進(jìn)行分類.Partbased R-CNN 分類在準(zhǔn)確率方面取得了不錯(cuò)的效果,但存在算法速度慢、過(guò)于依賴標(biāo)簽、定位檢測(cè)不穩(wěn)定等問(wèn)題.因此Wei 等人[5]提出Mask-CNN 模型,在訓(xùn)練時(shí)僅需要part annotations 和image-level 標(biāo)簽,同時(shí)借助(Fully Convolutional Networks,F(xiàn)CN)學(xué)習(xí)Part Mask來(lái)進(jìn)行對(duì)象部件定位等操作得到對(duì)象與部件的圖像塊,最后將對(duì)象部件等特征級(jí)聯(lián)之后進(jìn)行分類.Mask-CNN 取得很好的定位效果以及分類準(zhǔn)確率,并且大大降低了對(duì)標(biāo)記的依賴性,但是仍避免不了強(qiáng)監(jiān)督標(biāo)記分類.Lin 等人提出高階特征編碼雙線性卷積網(wǎng)絡(luò)(Bilinear-CNN,B-CNN)[6]和改進(jìn)的雙線性卷積網(wǎng)絡(luò)[7],通過(guò)對(duì)特征圖進(jìn)行外積操作建立了特征圖中通道之間的線性相關(guān),并進(jìn)行端到端的聯(lián)合優(yōu)化學(xué)習(xí),在細(xì)粒度分類任務(wù)上取得了優(yōu)異的性能,但是無(wú)法捕捉特征圖中通道之間的非線性關(guān)系.于是Ge 等人[8]提出一種核化的雙線性卷積網(wǎng)絡(luò),通過(guò)使用核函數(shù)的方式有效地建模特征圖中通道之間的非線性關(guān)系,改進(jìn)了高階特征編碼方法,提升了特征的表達(dá)能力.但是該方法存在外積導(dǎo)致特征的維度增大為原來(lái)的平方等缺點(diǎn).Zheng 等人[9]提出(Multi-Attention Convolutional Neural Network,MACNN)模型,拋棄手工標(biāo)記對(duì)象部件的方法,采用弱監(jiān)督學(xué)習(xí)方法,同時(shí)定位多個(gè)對(duì)象部件,提出信道分組損耗,通過(guò)聚類產(chǎn)生多個(gè)部分,將這些部分分別與特征進(jìn)行點(diǎn)乘得到局部精細(xì)化的特征分別進(jìn)行分類,取得了很好的分類準(zhǔn)確率.但是該方法中對(duì)象的部件數(shù)量有限(2 個(gè)或4 個(gè)),因此會(huì)限制分類的準(zhǔn)確性.先前工作通常采用定位或者分割來(lái)解決類內(nèi)的差異性,但是類間相似性依然影響特征的學(xué)習(xí).針對(duì)該問(wèn)題,Dubey 等人[10]提出細(xì)粒度圖像識(shí)別(Pairwise Confusion,PC),以解決類別間相似性問(wèn)題,該研究將成對(duì)的混淆損失和交叉熵?fù)p失結(jié)合,使用交叉熵函數(shù)強(qiáng)迫神經(jīng)網(wǎng)絡(luò)挖掘較高置信度的特征,從而減少損失從而提高分類準(zhǔn)確率,提供了很好的解決方法.Yang 等人[11]提出一種新的訓(xùn)練模式,使Navigator 能夠在Teacher 的指導(dǎo)下檢測(cè)到最具判別性的區(qū)域,Scrutinizer 仔細(xì)檢查這些區(qū)域并做出預(yù)測(cè).這種多主體合作的方式相互促進(jìn)、相互收益,取得了較好的分類準(zhǔn)確率,非常值得借鑒.
針對(duì)上述分析,本文提出多層聚焦網(wǎng)絡(luò)模型.本文模型的創(chuàng)新性和貢獻(xiàn)之處如下.
(1)根據(jù)貪心算法思想設(shè)計(jì)多層聚焦網(wǎng)絡(luò)模型架構(gòu),模型能夠有效地定位識(shí)別對(duì)象位置,同時(shí)又能找出更多的識(shí)別對(duì)象位置.從而達(dá)到更好的分類效果.
(2)提出卷積塊特征注意力模塊,能在空間和通道對(duì)特征進(jìn)行注意力特征的提取,同時(shí)進(jìn)行降維處理,增強(qiáng)網(wǎng)絡(luò)對(duì)對(duì)象有效特征的提取,又降低計(jì)算的復(fù)雜度.
(3)提出定位區(qū)域選擇機(jī)制,能有效地選擇具有代表性的定位區(qū)域,同時(shí)也能提高模型的泛化能力.
(4)提出雙線性注意力最大池化,增強(qiáng)特征的表達(dá),降低維度和減少由卷積層參數(shù)誤差造成的估計(jì)均值的偏移誤差,提高模型的魯棒性.
模型架構(gòu)如圖1 所示,本模型由三層聚焦網(wǎng)絡(luò)、裁剪模塊以及遮擋模塊構(gòu)成.模型設(shè)計(jì)思想主要源于貪心算法.貪心算法(又稱貪婪算法)是指在對(duì)問(wèn)題求解時(shí),總是做出在當(dāng)前看來(lái)是最好的選擇.通過(guò)首層聚焦網(wǎng)絡(luò)(圖2)找到最優(yōu)的識(shí)別位置和特征矩陣并輸出定位區(qū)域和特征與注意力矩陣積矩陣,其余兩層聚焦網(wǎng)絡(luò)只輸出特征與注意力矩陣積矩陣.裁剪模塊根據(jù)定位區(qū)域?qū)υ瓐D像進(jìn)行裁剪得到裁剪圖像,輸入下一層聚焦網(wǎng)絡(luò)進(jìn)行訓(xùn)練.裁剪后的圖像能更大面積地覆蓋識(shí)別對(duì)象,能夠起到非常好的識(shí)別分類效果.但是貪心算法仍然存在問(wèn)題,它沒(méi)有從整體最優(yōu)上加以考慮,所做出的僅是在某種意義上的局部最優(yōu)解.同樣本模型也存在局部最優(yōu)、過(guò)擬合問(wèn)題.所以加入遮擋模塊與之對(duì)抗來(lái)解決局部最優(yōu)問(wèn)題,能夠促進(jìn)模型尋找更多具有識(shí)別對(duì)象的特征信息.遮擋模塊根據(jù)定位區(qū)域?qū)υ瓐D像進(jìn)行遮擋得到遮擋圖像,輸入下一層聚焦網(wǎng)絡(luò)進(jìn)行訓(xùn)練.該模型各層之間相互對(duì)抗、相互合作、相互受益、共同進(jìn)步.
圖1 多層聚焦網(wǎng)絡(luò)架構(gòu)圖
單層聚焦網(wǎng)絡(luò)流程圖如圖2 所示.本網(wǎng)絡(luò)主要由Inception-V3 網(wǎng)絡(luò)[12]、卷積塊特征注意力模塊、定位區(qū)域選擇機(jī)制、雙線性注意力最大池化構(gòu)成.本網(wǎng)絡(luò)設(shè)計(jì)思想同樣遵循貪心算法思想.使用Inception-V3作為本網(wǎng)絡(luò)的基礎(chǔ)網(wǎng)絡(luò),用來(lái)提取基礎(chǔ)特征.卷積塊特征注意力模塊借鑒卷積塊注意力模塊(Convolutional Block Attention Module)[13]方法,能在空間和通道進(jìn)行注意力特征的提取以及進(jìn)行降維處理,得到特征矩陣和注意力矩陣.降維處理一方面能夠降低計(jì)算復(fù)雜度,另外一方面是為了選擇最能代表識(shí)別對(duì)象的特征.定位區(qū)域選擇機(jī)制將從注意力矩陣中選出最佳定位區(qū)域,機(jī)制加入softmax 函數(shù)以及均方和等方式計(jì)算概率,softmax 函數(shù)使用指數(shù)函數(shù)能讓大的值更大,讓小的更小,增加區(qū)分對(duì)比度.同時(shí)本文設(shè)計(jì)了防止過(guò)擬合的策略,每次傾向隨機(jī)選擇定位區(qū)域,其中概率較大的特征矩陣被選中的優(yōu)先級(jí)相對(duì)而言會(huì)高一些.將定位區(qū)域輸入裁剪和遮擋模塊,對(duì)原圖像進(jìn)行裁剪和遮擋得到的裁剪圖像和遮擋圖像,作為下一層聚焦網(wǎng)絡(luò)的輸入.受雙線性模型的影響,本文提出雙線性注意力最大池化,對(duì)特征矩陣和注意力矩陣進(jìn)行外積相乘,再配合最大池化提取特征能保留圖像更多的紋理信息,同時(shí)提高所提取特征的魯棒性.雙線性注意力最大池化輸出特征與注意力矩陣積矩陣去做分類預(yù)測(cè).最后為了解決網(wǎng)絡(luò)中局部最優(yōu)過(guò)擬合這一問(wèn)題,并增強(qiáng)模型的泛化能力,加入注意力中心損失,對(duì)屬于同一對(duì)象特征的方差進(jìn)行懲罰.
圖2 單層聚焦網(wǎng)絡(luò)流程圖
2.1.1 卷積塊特征注意力模塊
卷積塊注意力模塊(Convolutional Block Attention Module,CBAM)是一種結(jié)合空間和通道的注意力機(jī)制.在分類和檢測(cè)模型上被廣泛使用.其優(yōu)勢(shì)不言而喻,但仍然存在以下不足:缺乏通道與通道之間的交互,無(wú)法捕捉通道之間的非線性關(guān)系,過(guò)于關(guān)注特征表達(dá)從而導(dǎo)致過(guò)擬合.為改進(jìn)CBAM 存在的這些不足,提出卷積塊特征注意力模塊(Convolutional Block Feature Attention Module,CBFAM).該模塊是在CBAM 原有的基礎(chǔ)上加入多層1*1卷積核對(duì)特征進(jìn)行降維處理,實(shí)現(xiàn)跨通道的交互和信息整合,增加網(wǎng)絡(luò)的非線性能力,提高網(wǎng)絡(luò)的表達(dá)能力并且減少計(jì)算量,進(jìn)行通道數(shù)隨機(jī)截取以此提高泛化能力,最后輸出的是特征圖F和注意力圖A.將從Inception-V3 網(wǎng)絡(luò)中提取圖像I 的特征圖F∈RC×H×W輸入CBFAM 模塊中得到特征圖Fa∈RC×H×W和注意力圖Α∈RM×H×W計(jì)算公式如式(1)所示.
其中,A表示物體的某個(gè)部分;C、H、W分別表示特征圖的通道數(shù)、高度、寬度;分別代表經(jīng)過(guò)全局平均池化層和全局最大池化層計(jì)算后的特征值;W0和W1代表的是多層感知機(jī)模型中的兩層參數(shù);σ表示的是sigmoid 激活函數(shù);f7*7表示卷積層使用7*7 的卷積核,f1*1表示卷積層使用1*1的卷積核;M是注意力圖的數(shù)量.
2.1.2 定位區(qū)域選擇機(jī)制
在注意力圖Α∈RM×H×W中有M個(gè)特征矩陣表示圖像中的不同對(duì)象部件.如何選擇其中一個(gè)特征矩陣來(lái)代表最具有判別性的對(duì)象部件尤為重要.本文希望模型在找到最佳部分特征的同時(shí)也能夠找到更多具有判別性的部分特征,從而提高模型泛化能力.使用softmax函數(shù)處理注意力圖A,將注意力圖中的值映射成為(0,1)的值,這些值的累和為1(滿足概率的性質(zhì)).softmax函數(shù)加入冪函數(shù)使這些值兩極化:正樣本的結(jié)果將趨近于1,而負(fù)樣本的結(jié)果趨近于0.根據(jù)softmax 函數(shù)的性質(zhì)進(jìn)一步去除噪音.計(jì)算M個(gè)特征矩陣被選中的概率pM,其計(jì)算公式如式(2)所示,在參考概率pM的同時(shí)采用隨機(jī)的方式從M個(gè)特征矩陣中選出一個(gè)特征矩陣Αk∈R1×H×W,其中概率大的特征矩陣優(yōu)先選中.
根據(jù)pM采用概率和隨機(jī)方式得到定位區(qū)域注意力矩陣Αk∈R1×H×W進(jìn)行標(biāo)準(zhǔn)化處理,計(jì)算公式如式(3)所示.
2.1.3 雙線性注意力最大池化
雙線性卷積網(wǎng)絡(luò)通過(guò)對(duì)卷積層輸出的特征圖進(jìn)行外積操作建模了特征圖中通道之間的線性相關(guān),在細(xì)粒度圖像識(shí)別任務(wù)上取得了優(yōu)異的性能,但是無(wú)法捕捉特征圖中通道之間的非線性關(guān)系,并且導(dǎo)致特征的維度增大為原來(lái)的平方.因而提出雙線性注意力最大池化(Bilinear Attention Max Pooling)方法,解決無(wú)法捕捉通道之間的非線性關(guān)系問(wèn)題并降低維度.將特征圖Fa∈RC×H×W與每個(gè)注意力圖Α∈RM×H×W相乘,生成M個(gè)部分的特征圖Fk∈RC×H×W,加入非線性激活函數(shù)、最大池化層,計(jì)算公式如式(4)所示.
其中,F(xiàn)k為兩個(gè)張量的元素乘.通過(guò)全局最大池層得到第k個(gè)特征與注意力矩陣積矩陣fk∈R1×C,計(jì)算公式如式(5)所示.
Pk∈RM×C表示對(duì)象不同部分特征矩陣將作為模型輸出進(jìn)行預(yù)測(cè),Pk由特征fk疊加而成.計(jì)算公式如式(6)所示.
2.1.4 注意力中心損失
Wen 等人[14]提出的中心損失問(wèn)題,在配合softmax函數(shù)使用時(shí)希望學(xué)習(xí)到的特征具有更好的泛化性和辨別能力.通過(guò)懲罰每個(gè)種類的樣本和該種類樣本中心的偏移,使得同一種類的樣本盡量聚合在一起.為了解決局部?jī)?yōu)化過(guò)擬合這一問(wèn)題,增強(qiáng)模型的泛化能力,本文中對(duì)屬于同一對(duì)象部件的特征的方差進(jìn)行懲罰,即部件特征Pk∈RM×C將趨近于全局特征中心Ck∈RM×C,在同一對(duì)象部件kth中反饋?zhàn)⒁饬DA.其中損失函數(shù)LC只在首層聚焦網(wǎng)絡(luò)和使用裁剪圖像作為輸入的聚焦網(wǎng)絡(luò)中使用,計(jì)算公式如式(7)所示.
Ck初始化為(0,0),計(jì)算公式如式(8)所示.
其中,β控制Ck的更新速度,中心更新計(jì)算只在首層聚焦網(wǎng)絡(luò)和使用裁剪圖像作為輸入的聚焦網(wǎng)絡(luò)中使用.
根據(jù)定位區(qū)域注意力矩陣對(duì)原圖像進(jìn)行裁剪,裁剪后的圖像能更大面積地覆蓋識(shí)別對(duì)象,去除無(wú)關(guān)背景,起到非常好的分類效果.通過(guò)設(shè)置大于閾值θc∈[0.4,0.6]時(shí)等于1,其他為0,得到裁剪邊框Ck,采取上采樣的方式從原圖像中放大這個(gè)區(qū)域得到裁剪圖像作為下一層聚焦網(wǎng)絡(luò)的輸入.由于對(duì)象部分的規(guī)模增加,因此能更好地對(duì)對(duì)象提取更細(xì)粒度的特性.該模塊在模型訓(xùn)練和測(cè)試中使用,計(jì)算公式如式(10)所示.
根據(jù)定位注意力矩陣對(duì)原圖像進(jìn)行局部遮擋,促進(jìn)模型找出更多具有代表性的多個(gè)有判別性對(duì)象部分的定位區(qū)域注意力矩陣以此對(duì)抗由于裁剪模塊產(chǎn)生局部最優(yōu)過(guò)擬合的負(fù)面效果,提高分類的穩(wěn)健性和定位的準(zhǔn)確性.通過(guò)設(shè)置小于或等于閾值θd∈[0.4,0.6]時(shí)為1,其他為0,得到遮擋框Dk,將遮擋框與原圖像相乘得到遮擋圖像作為下一層聚焦網(wǎng)絡(luò)的輸入.該模塊只在模型訓(xùn)練時(shí)使用,計(jì)算公式如式(10)所示.
實(shí)驗(yàn)部分在3 個(gè)細(xì)粒度圖像識(shí)別數(shù)據(jù)集CUB-200-2011[15]、FGVC-Aircraft[16]以及Stanford Cars[17]上對(duì)本文方法進(jìn)行評(píng)估.
CUB-200-2011 數(shù)據(jù)集共包含來(lái)自200 個(gè)鳥(niǎo)類物種的11788 張圖像,其中5994 張訓(xùn)練與驗(yàn)證圖像,5794 張測(cè)試圖像.FGVG-Aircraft 數(shù)據(jù)集包括1 萬(wàn)張圖像共100種飛機(jī)型號(hào),其中訓(xùn)練與驗(yàn)證圖像共6667張,測(cè)試圖像為3333 張.Stanford Cars 數(shù)據(jù)集具有196 個(gè)汽車類別共16185 張圖像,其中訓(xùn)練與驗(yàn)證圖像共8144 張,測(cè)試圖像為8041 張.本文實(shí)驗(yàn)中均未采用邊界框等額外標(biāo)記信息.數(shù)據(jù)集示例實(shí)例如圖3所示.
圖3 數(shù)據(jù)集示例圖
實(shí)驗(yàn)的環(huán)境配置如下.CPU:Intel(R)Silver;GPU:NVIDIA TITAN XP;內(nèi)存為128G;操作系統(tǒng)為Ubuntu16.04;采用Inception-V3 作為主干,輸入圖像大小為512×512.定位區(qū)域裁剪和遮擋后的圖片大小為512×512.特征圖的通道數(shù)目均為768,注意力圖通道數(shù)均為32.本文使用帶動(dòng)量的批處理隨機(jī)梯度下降算法(SGD),動(dòng)量為0.9,權(quán)重衰減為0.00001,批量大小設(shè)置為16.訓(xùn)練次數(shù)為80,初始學(xué)習(xí)率設(shè)置為0.001,每隔2 個(gè)epoch 指數(shù)衰減0.9.數(shù)據(jù)增廣方式為圖像的隨機(jī)水平翻轉(zhuǎn).
本模型主要由5個(gè)部分組成,包括卷積塊特征注意力模塊、定位區(qū)域選擇機(jī)制、雙線性注意力最大池化、裁剪模塊、遮擋模塊.本文在CUB200-2011數(shù)據(jù)集上測(cè)試每個(gè)模塊對(duì)模型的影響.
實(shí)驗(yàn)結(jié)果如表1所示.在單層聚焦模型中,相對(duì)Inception-V3 網(wǎng)絡(luò)的準(zhǔn)確率83.7%,效果提升非常顯著,模型準(zhǔn)確率提升到86.8%,證明了本文方法的有效性.在多層聚焦網(wǎng)絡(luò)中,模型在分別加入裁剪和遮擋模塊后均得到提升.使用全部模塊后,模型達(dá)到最高的準(zhǔn)確率.實(shí)驗(yàn)結(jié)果證明了該模型在多層聚焦卷積網(wǎng)絡(luò)中每個(gè)模塊的有效性.
表1 組成部分及其組合的貢獻(xiàn)
在弱監(jiān)督模型中,注意力圖是進(jìn)行對(duì)象部件定位的重要部分,在本文的M個(gè)注意力圖中每一個(gè)都代表了對(duì)象的一個(gè)部件,例如鳥(niǎo)的頭部、飛機(jī)的機(jī)翼等.本文對(duì)注意力圖M大小的設(shè)置進(jìn)行相應(yīng)的實(shí)驗(yàn).
實(shí)驗(yàn)結(jié)果如表2 所示.當(dāng)M=4 時(shí),對(duì)象部件可能分為鳥(niǎo)的頭、翅膀、尾巴和腳等4 個(gè)部分,當(dāng)M不斷增加時(shí),對(duì)象部件會(huì)定位到鳥(niǎo)喙、眼等部位.在這一過(guò)程中模型將去掉相似性區(qū)域、無(wú)關(guān)區(qū)域,找到細(xì)微的判別區(qū)域,從而使分類準(zhǔn)確率不斷提升.當(dāng)M=32 后,準(zhǔn)確率到達(dá)最高,同時(shí)意味著已經(jīng)分出最佳判別區(qū)域?qū)ο蟛考拇笮?之后M再增加時(shí),產(chǎn)生的對(duì)象部件將是最佳判別區(qū)域部件的子集,模型是通過(guò)對(duì)判別性區(qū)域的裁剪放大后的圖像再分類.因此M再增加,準(zhǔn)確率也趨于穩(wěn)定.
表2 注意力圖數(shù)量的影響
本節(jié)實(shí)驗(yàn)進(jìn)一步在三個(gè)細(xì)粒度圖像數(shù)據(jù)集上對(duì)本文方法進(jìn)行全面的評(píng)估,并與當(dāng)前主流方法進(jìn)行比較.實(shí)驗(yàn)結(jié)果如表3 所示[7~12,18~27].本模型在當(dāng)前主流細(xì)粒度圖像數(shù)據(jù)集上都達(dá)到最佳的準(zhǔn)確率.
表3 與當(dāng)前方法準(zhǔn)確率對(duì)比
本文提出一種多層Inception-V3 聚焦卷積網(wǎng)絡(luò),能夠提取更多有效的局部特征,聚焦于對(duì)象的識(shí)別位置,得到更具有判別力的圖像表達(dá).同時(shí)多層聚焦卷積網(wǎng)絡(luò)之間相互對(duì)抗、相互合作、相互受益、共同進(jìn)步,進(jìn)一步提高網(wǎng)絡(luò)的性能.實(shí)驗(yàn)表明,本文所提出的多層聚焦網(wǎng)絡(luò)在3個(gè)細(xì)粒度圖像數(shù)據(jù)集上均取得了優(yōu)異的性能.在未來(lái)的工作中,可以將本文方法應(yīng)用至更多計(jì)算機(jī)視覺(jué)任務(wù)中,同時(shí)進(jìn)一步考慮將本文提出的多層聚焦網(wǎng)絡(luò)應(yīng)用于其他卷積網(wǎng)絡(luò)架構(gòu)中.