江 濤,彭太樂(lè),胡曉斌,朱仕寧,郭 嘉,朱曉彤
(淮北師范大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽淮北 235000)
人工智能技術(shù)的迅猛發(fā)展,使得子類別圖像分類的需求越來(lái)越多,例如物種種類識(shí)別、零售場(chǎng)景下商品識(shí)別等. 細(xì)粒度視覺(jué)識(shí)別[1]是計(jì)算機(jī)視覺(jué)領(lǐng)域中的一個(gè)研究熱點(diǎn),近年來(lái)已取得了很大的進(jìn)展,并已廣泛應(yīng)用于專家級(jí)圖像識(shí)別、自動(dòng)駕駛等諸多應(yīng)用中. 與區(qū)分基本類別的圖像分類(如ImageNet 分類)不同的是,細(xì)粒度圖像在對(duì)象外觀上具有較小的差異[2],因此只能通過(guò)一些細(xì)微或局部的差異來(lái)識(shí)別,例如根據(jù)鳥的背部顏色或喙的形狀來(lái)區(qū)分鳥的品種.
對(duì)象的部件級(jí)特征通常在細(xì)粒度圖像分類任務(wù)中起著重要的作用,受此啟發(fā),許多用于實(shí)現(xiàn)細(xì)粒度分類的算法都是基于目標(biāo)塊檢測(cè)的[3-6]. 這些算法都遵循如下流程:首先找到前景對(duì)象及其局部區(qū)域,之后對(duì)這些區(qū)域進(jìn)行特征提取,適當(dāng)處理所得的特征后,最終完成分類器的訓(xùn)練和預(yù)測(cè). 這些方法有兩個(gè)基本限制:第一,嚴(yán)重依賴于人工標(biāo)注信息,但是人工標(biāo)注信息的獲取代價(jià)十分昂貴,這在一定程度上制約了算法的實(shí)用性;第二,很難確保手動(dòng)定義的部分是最佳的或者適合最終的細(xì)粒度分類任務(wù). 因此,一些學(xué)者開始尋求使用無(wú)監(jiān)督或者弱監(jiān)督的算法來(lái)檢測(cè)差異性信息. Xiao 等[7]最先提出了不使用標(biāo)注信息的兩級(jí)注意力模型,分別關(guān)注對(duì)象級(jí)別和部件級(jí)別信息,將獲取到的兩部分信息相結(jié)合作為模型的輸出從而提高分類準(zhǔn)確率,但是利用聚類算法得到的局部信息準(zhǔn)確度十分有限. Wang 等[8]提出在卷積神經(jīng)網(wǎng)絡(luò)中加入非對(duì)稱多流網(wǎng)絡(luò),可有區(qū)別地學(xué)習(xí)特征,以此提高細(xì)粒度圖像分類任務(wù)的精度. Yang 等[9]提出NTS 網(wǎng)絡(luò),通過(guò)自監(jiān)督有效地定位信息區(qū)域. Chen 等[10]提出一種新的“破壞和構(gòu)造學(xué)習(xí)”,除了標(biāo)準(zhǔn)的分類主干網(wǎng)絡(luò),另一網(wǎng)絡(luò)被引入“破壞”圖像后“重建”圖像,對(duì)圖像各部分之間的語(yǔ)義進(jìn)行關(guān)聯(lián)建模,通過(guò)各部件的交互達(dá)到增強(qiáng)網(wǎng)絡(luò)識(shí)別效果. Zheng 等[11]提出TASN 模型,使用三線性注意抽樣網(wǎng)絡(luò),有效地減少了計(jì)算成本,同時(shí)還能提高一定準(zhǔn)確率,但是該方法僅僅對(duì)圖像進(jìn)行了采樣,并未對(duì)卷積特征進(jìn)行基于注意力的采樣.
細(xì)粒度圖像中對(duì)分類有影響的差異性信息往往存在于較小的部件級(jí)區(qū)域中,而且背景信息對(duì)前景對(duì)象有較大干擾,特征向量中差異性信息提取的越多則分類精度則越高. 因此如何使特征向量中包含更多區(qū)分度的特征信息是提高細(xì)粒度圖像分類精度關(guān)鍵問(wèn)題之一.本文在B-CNN模型的基礎(chǔ)之上,構(gòu)建結(jié)合注意力機(jī)制的跨層雙線性網(wǎng)絡(luò)模型,使用跨層雙線性網(wǎng)絡(luò)能夠有效利用中間層特征信息,減少中間層特征信息損失,通過(guò)融合注意力機(jī)制避免圖片中的冗余信息影響,以此提升分類精度,并在鳥類數(shù)據(jù)集上進(jìn)行分類效果驗(yàn)證.
B-CNN 模型[12]是Lin 等人于2015 年提出的,其架構(gòu)如圖1 所示. 一個(gè)雙線性網(wǎng)絡(luò)模型β由一個(gè)四元組組成:β=(fa,fb,p,c),其中fa、fb代表特征提取函數(shù),即圖1中的網(wǎng)絡(luò)A 和網(wǎng)絡(luò)B,p為池化函數(shù),c是分類函數(shù). 一幅圖像經(jīng)過(guò)兩個(gè)并列的卷積神經(jīng)網(wǎng)絡(luò)完成特征提取,然后使用外積運(yùn)算對(duì)特征相乘,獲得雙線性向量,最后通過(guò)一個(gè)分類層進(jìn)行分類. 在只有圖像類別標(biāo)簽的情況下,該模型實(shí)現(xiàn)了較好的弱監(jiān)督分類效果.
圖1 B-CNN模型
B-CNN 類模型存在兩個(gè)缺陷[13]:第一,現(xiàn)有的基于雙線性網(wǎng)絡(luò)的模型僅將最后一個(gè)卷積層提取到的特征圖作為圖像的表示,這不足以對(duì)圖像的各個(gè)語(yǔ)義部分進(jìn)行描述;第二,忽略了中間卷積激活,導(dǎo)致細(xì)粒度類別區(qū)別信息的丟失,從而影響細(xì)粒度類別分類的準(zhǔn)確率.
計(jì)算機(jī)視覺(jué)中的注意力機(jī)制旨在讓系統(tǒng)忽略圖像中的背景等干擾信息,而將更多的關(guān)注重點(diǎn)放在有效信息上,它經(jīng)常被使用在深度學(xué)習(xí)模型中以提升模型的分類、識(shí)別以及預(yù)測(cè)精度上. 本文算法根據(jù)細(xì)粒度圖像類間差距小而類內(nèi)差異大的特點(diǎn),在算法模型中融入注意力機(jī)制,以獲取圖片中的細(xì)微特征,從而提高算法的分類準(zhǔn)確率.
混合域注意力機(jī)制CBAM 結(jié)構(gòu)[14]如圖2 所示.其中通道注意力[15](Channel Attention)關(guān)注“什么是有意義的”,空間注意力[16](Spatial Attention)側(cè)重“何處是有效信息”. 混合域注意力機(jī)制經(jīng)過(guò)測(cè)試,采用串聯(lián)結(jié)構(gòu),且通道注意力在前、空間注意力在后能夠得到最大程度提高分類準(zhǔn)確率的效果.
圖2 CBAM結(jié)構(gòu)
CBAM模塊過(guò)程如下:
式中:Mc(F)表示F經(jīng)過(guò)通道注意力的輸出權(quán)值,Ms(F′)表示F′′經(jīng)過(guò)空間注意力的輸出權(quán)值,F(xiàn)′′表示最終的注意力模型的輸出,?表示特征圖加權(quán)乘法運(yùn)算符號(hào).
雙線性網(wǎng)絡(luò)忽略中間層特征,會(huì)導(dǎo)致重要的判別信息丟失. 對(duì)此,本文構(gòu)建一種跨層雙線性網(wǎng)絡(luò)(cross layer bilinear pooling,CL-BCNN)用于細(xì)粒度圖像分類,而不是僅使用最后一層卷積層的激活特征作為圖像的表達(dá). 為了更好地利用層間交互以捕獲區(qū)分信息,本文提出一種跨層特征融合方法(如圖3),將Conv_i, Conv_j … Conv_n 提取到的特征定義為Fi,F(xiàn)j…Fn,融合后的特征表示為:
圖3 跨層特征融合
其中?表示雙線性運(yùn)算.該方法充分考慮多層卷積層之間的特征交互,在最終分類之前,將多個(gè)卷積層提取到的特征進(jìn)行級(jí)聯(lián),通過(guò)提高特征提取器的表達(dá)能力從而提高細(xì)粒度分類任務(wù)的準(zhǔn)確率.
算法選擇以ResNet-50[17]作為雙線性網(wǎng)絡(luò)模型的特征提取器,去掉ResNet-50網(wǎng)絡(luò)的全連接層,選取最后一個(gè)殘差單元進(jìn)行跨層雙線性池化操作,相較于其他層,該層最能捕獲圖像語(yǔ)義級(jí)信息. 將最后三個(gè)卷積層定義為Conv5_1,Conv5_2,Conv5_3,進(jìn)行跨層特征融合,從而得到三組特征向量,再將其級(jí)聯(lián)后送入softmax分類器得到最終的分類效果.
為了避免圖片中冗余信息對(duì)測(cè)試精度的影響,引入注意力機(jī)制對(duì)圖片中的細(xì)微區(qū)域進(jìn)行提取,從而使網(wǎng)絡(luò)能夠更好的利用圖片中的局部信息. 本文使用融入混合域注意力機(jī)制的CBAM-ResNet-50,其網(wǎng)絡(luò)結(jié)構(gòu)如圖4 所示,Conv Block 表示多個(gè)卷積組合而成的卷積塊,ID Block 表示Identity 塊. 在第一階段的Conv 層和后四個(gè)階段的Conv Block 層后加入混合域注意力機(jī)制,圖中表示為CA(Channel Attention)+SA(Spatial Attention),在跨層雙線性網(wǎng)絡(luò)中將骨干網(wǎng)絡(luò)替換為加上注意力機(jī)制的ResNet-50網(wǎng)絡(luò).
圖4 CBAM-ResNet-50
本文以CUB200-2011[18]為數(shù)據(jù)集,它是目前細(xì)粒度圖像分類識(shí)別研究的基準(zhǔn)數(shù)據(jù)集,包含200 種鳥類子類,共11 788 張鳥類圖像數(shù)據(jù). 其中訓(xùn)練數(shù)據(jù)集5 994 張圖片,測(cè)試集5 794 張圖片. 該數(shù)據(jù)集包含了多種部件級(jí)標(biāo)注信息,本文僅采用類別標(biāo)簽.
對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,將圖片按比例縮放為600×600,對(duì)圖片進(jìn)行打亂和隨機(jī)裁切,輸入網(wǎng)絡(luò)的圖片尺寸為448×448,batch size 為32. 因CUB200-2011 是小型數(shù)據(jù)集,樣本過(guò)少,為了避免過(guò)擬合,實(shí)驗(yàn)經(jīng)過(guò)如下兩步進(jìn)行:
步驟1:加載在ImageNet 上的預(yù)訓(xùn)練模型初始化ResNet-50 權(quán)重參數(shù),將訓(xùn)練集輸入進(jìn)網(wǎng)絡(luò). 各參數(shù)設(shè)置為:初始學(xué)習(xí)率設(shè)為1.0,學(xué)習(xí)率衰減為0.001,動(dòng)量設(shè)置為0.9,權(quán)重衰減為1E-5,迭代次數(shù)為200 次. 采用SGD 優(yōu)化器,每隔40 次調(diào)整迭代調(diào)整一次學(xué)習(xí)率.訓(xùn)練損失收斂后,保存模型參數(shù).
步驟2:加載步驟1中保存的模型初始化整個(gè)網(wǎng)絡(luò),再將測(cè)試集輸入進(jìn)網(wǎng)絡(luò). 各參數(shù)設(shè)置為:初始學(xué)習(xí)率設(shè)置為0.01,學(xué)習(xí)率衰減為0.001,動(dòng)量設(shè)置為0.9,權(quán)重衰減為1E-5,迭代次數(shù)為200 次. 采用SGD優(yōu)化器,損失收斂后,得到最終的測(cè)試準(zhǔn)確率.
為了驗(yàn)證本文算法的有效性,以分類準(zhǔn)確率(Accuracy,%)作為實(shí)驗(yàn)結(jié)果評(píng)價(jià)指標(biāo),其定義如下:
式中,R為測(cè)試集的圖片數(shù)量,Ra為測(cè)試實(shí)驗(yàn)中分類正確的圖片數(shù)量.
將分類準(zhǔn)確率為評(píng)價(jià)指標(biāo)在CUB200-2011 數(shù)據(jù)集上與典型算法進(jìn)行比較. 實(shí)驗(yàn)中使用相同的訓(xùn)練集和測(cè)試集、相同的骨干網(wǎng)絡(luò)、相同的圖像分辨率,得到的結(jié)果如表1所示(Ours為本文算法).
表1 不同算法在CUB200-2011數(shù)據(jù)集上的分類精度
從表1 可知,本文提出的算法在CUB200-2011數(shù)據(jù)集上的精度達(dá)到了88.2%,相比僅使用最后一層激活作為特征的BCNN 模型提升了4.1%,與表1中其他算法相比,也有一定程度的提升. 由此可見,融入注意力模塊的卷積神經(jīng)網(wǎng)絡(luò)能夠最大限度地學(xué)習(xí)到圖像的特征信息,使用不同層之間的層間特征交互有利于捕捉子類別之間的區(qū)別,進(jìn)一步增強(qiáng)了特征的表示能力,有效提升細(xì)粒度圖像分類精度.
為了驗(yàn)證跨層特征融合以及注意力機(jī)制的有效性,對(duì)文中設(shè)計(jì)的算法模型進(jìn)行消融實(shí)驗(yàn),各組實(shí)驗(yàn)的測(cè)試精度如表2 所示. 表中第一組實(shí)驗(yàn)為基礎(chǔ)雙線性網(wǎng)絡(luò),骨干網(wǎng)絡(luò)為VGGD+VGGM;表中第二組實(shí)驗(yàn)為基礎(chǔ)雙線性網(wǎng)絡(luò)模型,骨干網(wǎng)路換為ResNet-50,并將第二組的網(wǎng)絡(luò)模型定為base model;第三組實(shí)驗(yàn)在base model的基礎(chǔ)加上CBAM 注意力機(jī)制;第四組實(shí)驗(yàn)為3.1 節(jié)提出的跨層雙線性網(wǎng)絡(luò);第四組實(shí)驗(yàn)為本文最終的模型.
從表2 可以得出:(1)在基礎(chǔ)雙線性網(wǎng)絡(luò)基礎(chǔ)上,將骨干網(wǎng)絡(luò)換位ResNet-50,準(zhǔn)確率提升了0.2%,表明隨著網(wǎng)絡(luò)的加深,提取到的深層特征能夠?qū)y(cè)試精度有一定效果的提升.(2)在雙線性網(wǎng)絡(luò)的基礎(chǔ)上,加入注意力機(jī)制,測(cè)試精度有1.2%的提升;在跨層雙線性網(wǎng)絡(luò)的基礎(chǔ)上加入注意力機(jī)制,測(cè)試精度得到1.3%的提升,可以看出對(duì)于細(xì)粒度圖像分類任務(wù),注意力機(jī)制對(duì)于網(wǎng)絡(luò)提取到更細(xì)節(jié)的特征有一定的作用.(3)在使用跨層雙線性網(wǎng)絡(luò)后,相較于基礎(chǔ)的雙線性網(wǎng)絡(luò),測(cè)試精度提升了2.6%,可以看出在加入了中間卷積層的特征激活后,可以對(duì)分類精度有較大程度的提升,證明了中間層存在能夠區(qū)分細(xì)粒度任務(wù)的特征,利用好中間層特征,能夠有效提升細(xì)粒度任務(wù)分類精度.
表2 消融實(shí)驗(yàn)驗(yàn)證
為了提升鳥類數(shù)據(jù)集的分類精度,本文提出了一種結(jié)合注意力機(jī)制與跨層雙線性網(wǎng)絡(luò)的模型. 模型融合了通道注意力以及空間注意力,同時(shí)使用了跨層特征融合考慮到中間卷積層的特征,充分利用了圖像中可以區(qū)分類別的細(xì)微特征.
雖然準(zhǔn)確率得到提升,但是加入混合注意力機(jī)制,同時(shí)由于跨層特征的融合,網(wǎng)絡(luò)訓(xùn)練過(guò)程中參數(shù)也隨之增加,因此會(huì)導(dǎo)致訓(xùn)練時(shí)間增加. 未來(lái)的研究工作中將討論如何降低網(wǎng)絡(luò)模型參數(shù),同時(shí)不影響網(wǎng)絡(luò)性能.