李文書,王志驍,李紳皓,趙 朋
(浙江理工大學(xué) 信息學(xué)院,杭州 310018)
近些年來圖像分類技術(shù)通過對(duì)深度卷積神經(jīng)網(wǎng)絡(luò)的運(yùn)用取得了長足的發(fā)展,然而其不足也依然存在.在當(dāng)下這個(gè)智能化要求又不斷提高的大環(huán)境下,簡(jiǎn)單的“語義級(jí)”的圖片分類已經(jīng)不足以滿足用戶的需求,因而更加精細(xì)化的細(xì)粒度圖像分類更加值得關(guān)注,例如在生態(tài)保護(hù)場(chǎng)景中識(shí)別不同種類的珍稀鳥類,水稻種植生產(chǎn)中識(shí)別不同種類的蟲害,新零售場(chǎng)景下對(duì)同類食品的細(xì)分類等等.利用計(jì)算機(jī)視覺方法識(shí)別細(xì)粒度類別(如鳥類[1,2]、花卉[3,4]、狗類[5,6]、車型[7]等)的技術(shù)已引起研究者們的廣泛關(guān)注[8-10].其中能夠準(zhǔn)確定位和表示類別中細(xì)微視覺差異的細(xì)粒度圖像識(shí)別技術(shù)是非常具有挑戰(zhàn)性的.
隨著計(jì)算機(jī)硬件算力的提升,深度學(xué)習(xí)技術(shù)被廣泛用于解決復(fù)雜圖像分類的問題.其中,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是深度學(xué)習(xí)解決分類問題的代表性網(wǎng)絡(luò)之一.2015年,何愷明等提出的殘差神經(jīng)網(wǎng)絡(luò)(Residual Network,ResNet)[11]采用了更深的網(wǎng)絡(luò)層數(shù),并且引入了殘差處理單元解決網(wǎng)絡(luò)退化的問題,取得了極佳的效果.2017年,Google團(tuán)隊(duì)設(shè)計(jì)一種具有優(yōu)良局部拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)Inception-V3[12],即對(duì)輸入圖像并行地執(zhí)行多個(gè)卷積運(yùn)算及池化操作,并將所有輸出結(jié)果拼接為一個(gè)非常深的特征圖,取得了優(yōu)異的效果.但是經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)聚焦于類間分類的問題,并不能有效解決細(xì)粒度圖像分類(類內(nèi)分類)的分類問題.細(xì)粒度圖像的類別精度更加細(xì)致,類間差異更加細(xì)微,往往只能借助于微小的局部差異才能區(qū)分出不同的類別.
細(xì)粒度圖像分類發(fā)展初期仍依靠人工注釋的邊界框/部件注釋.大量的人工參與使得部分定義和注釋變得昂貴且主觀,這對(duì)于細(xì)粒度的識(shí)別任務(wù)都不是最優(yōu)的(文獻(xiàn)[13,14]表明邊界框/部件注釋依賴于人的注釋,由此帶來主觀性強(qiáng)和成本昂貴等問題).越來越多的算法傾向于不再依賴人工標(biāo)注信息,而使用類別標(biāo)簽來完成分類任務(wù).
Lin等提出了一種端到端的雙線性網(wǎng)絡(luò)[15],通過對(duì)卷積層輸出的特征進(jìn)行外積操作,能夠建模不同通道之間的線性相關(guān),從而增強(qiáng)了卷積網(wǎng)絡(luò)的表達(dá)能力.Ge等基于雙線性網(wǎng)絡(luò)提出一種核化的雙線性卷積網(wǎng)絡(luò)[16],通過使用核函數(shù)的方式有效地建模特征圖中通道之間的非線性關(guān)系,進(jìn)一步增強(qiáng)卷積網(wǎng)絡(luò)的表達(dá)能力.此模型能夠融合不同通道的信息,但是并沒有有效地提取出具有鑒別性的局部特征.
一種采用錨框的機(jī)制[17,18]可以有效地定位信息區(qū)域而無須邊界框并挖掘概率較高的含更多的對(duì)象特征語義的區(qū)域,從而增強(qiáng)整個(gè)圖像的分類性能,但是對(duì)特征全局定位有所欠缺.除了使用錨框定位局部特征,注意力機(jī)制也被應(yīng)用于細(xì)粒度圖像分類,Fu等[19]提出了一種注意力網(wǎng)絡(luò),利用兩個(gè)任務(wù)之間的聯(lián)系,相互增益彼此的精度,在多尺度上遞歸地學(xué)習(xí)區(qū)分度大的區(qū)域以及多尺度下的特征表達(dá).該方法較好地提取了局部的特征信息,但是對(duì)全局信息捕捉較弱.為了進(jìn)一步在圖像中同時(shí)產(chǎn)生多個(gè)注意位置,基于提取多個(gè)局部特征的注意力方法[20,21]相繼提出,但有限的注意力個(gè)數(shù)并不能充分表達(dá)圖像的特征.
人類視覺系統(tǒng)中存在一種現(xiàn)象,當(dāng)人眼在接受外部信息時(shí)對(duì)每個(gè)區(qū)域的關(guān)注度存在差異,例如人眼在看一幅圖像時(shí)會(huì)聚焦在感興趣的目標(biāo)身上而忽略背景圖像,這就是人類視覺系統(tǒng)中的注意力機(jī)制,這一機(jī)制也被應(yīng)用于計(jì)算機(jī)視覺中.近幾年,計(jì)算機(jī)視覺中注意力機(jī)制發(fā)展迅速[22],出現(xiàn)了很多基于注意力機(jī)制提出的深度學(xué)習(xí)網(wǎng)絡(luò),其主要實(shí)現(xiàn)方式是通過為特征圖添加掩碼(mask)的形式,即通過為特征圖添加權(quán)重,將有用的特征標(biāo)識(shí)出來.從注意力域的角度可以將注意力實(shí)現(xiàn)方式分為空間域和通道域.
空間域是從特征圖的空間位置關(guān)系出發(fā),不區(qū)分通道帶來對(duì)分類性能的影響.其中,細(xì)粒度圖像分類任務(wù)中,2020年Yan等[23]提出的網(wǎng)絡(luò)模型,在細(xì)粒度圖像分類中,不同空間位置能夠獲得不同的關(guān)注點(diǎn),不同大小的空間特征圖能夠獲得遞進(jìn)的特征信息,所以作者提出了一種空間轉(zhuǎn)換器,對(duì)圖像做空間變換將關(guān)鍵信息提取出來.
通道域是對(duì)不同通道的加權(quán),不考慮通道中每個(gè)像素點(diǎn)的位置差異.在卷積神經(jīng)網(wǎng)絡(luò)中,每張圖像初始都有RGB 三個(gè)通道.卷積層的卷積操作變換圖像的通道,其等價(jià)于對(duì)原圖像進(jìn)行了分解.每個(gè)通道都是原圖在不同卷積核上的分量.雖然每個(gè)通道都是原圖的分量,但在具體任務(wù)中并不是每個(gè)通道都發(fā)揮著相同的作用.基于此,Li等[24,25]提出了SKnet網(wǎng)絡(luò)模型,SKnet通過對(duì)每個(gè)通道加權(quán)的方式標(biāo)注出對(duì)結(jié)果貢獻(xiàn)較大的通道,具體做法是通過對(duì)每個(gè)特征圖做全局平均池化將H×W×C的特征圖擠壓到長度為C的一維向量,然后通過激勵(lì)函數(shù)以獲得每個(gè)通道的權(quán)重,最后對(duì)原始特征圖上的每個(gè)像素點(diǎn)加權(quán).
現(xiàn)有的方法著重挖掘圖像的細(xì)節(jié)特征,但是沒有將細(xì)節(jié)特征更好地融合到全局特征.另一方面,如何將注意力網(wǎng)絡(luò)和雙線性網(wǎng)絡(luò)融合值得關(guān)注.本文的貢獻(xiàn)如下:
1)通過線性融合不同通道的特征來建模不同通道之間的線性相關(guān),從而增強(qiáng)了卷積網(wǎng)絡(luò)的表達(dá)能力;
2)通過注意力機(jī)制提取顯著特征中具有鑒別性的細(xì)節(jié)部分放入網(wǎng)絡(luò)中訓(xùn)練,進(jìn)一步挖掘具有鑒別性的特征,以提升細(xì)粒度圖像的識(shí)別能力;
3)通過主網(wǎng)絡(luò)和注意力網(wǎng)絡(luò)分合作訓(xùn)練及共享訓(xùn)練參數(shù),在挖掘表征細(xì)粒度圖像視覺差異的細(xì)節(jié)特征的同時(shí),兼顧全局特征的學(xué)習(xí).
在圖像細(xì)粒度分類中,如何獲取物體整體與局部信息是一個(gè)難點(diǎn).針對(duì)這一難點(diǎn),本文提出了一種基于注意力機(jī)制的弱監(jiān)督細(xì)粒度圖像分類(ATtention mechanism Convolutional Neural Networks,AT-CNN)的學(xué)習(xí)方法用以自動(dòng)定位和學(xué)習(xí)細(xì)粒度圖像中語義敏感對(duì)象.該方法首先采用經(jīng)典的卷積網(wǎng)絡(luò)方法(ResNet[11],Inception-Net[12]等)提取圖像的特征圖.主網(wǎng)絡(luò)通過雙通道融合網(wǎng)絡(luò)表達(dá)細(xì)粒度特征的整體信息; 然后通過弱監(jiān)督學(xué)習(xí)的方式,將特征圖通道進(jìn)行排序并篩選顯著的特征放入注意力網(wǎng)絡(luò)中獲取對(duì)細(xì)節(jié)特征的表征能力; 最后通過主網(wǎng)絡(luò)和注意力網(wǎng)絡(luò)共享網(wǎng)絡(luò)參數(shù),共同訓(xùn)練,增強(qiáng)網(wǎng)絡(luò)對(duì)細(xì)粒度圖像中具有代表性特征的表達(dá)能力.本文方法不依賴于邊界框/零件標(biāo)注,可以實(shí)現(xiàn)對(duì)細(xì)粒度圖像物體位置的追蹤及分類,實(shí)現(xiàn)了細(xì)粒度端到端的弱監(jiān)督分類任務(wù),總體分類網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.
圖1 總體分類網(wǎng)絡(luò)結(jié)構(gòu)
圖2 主網(wǎng)絡(luò)結(jié)構(gòu)
設(shè)I表示為輸入的訓(xùn)練圖片,X表示為卷積網(wǎng)絡(luò)提取的特征圖.則有:
Conv1和Conv2卷積層設(shè)計(jì)在3.1節(jié)詳細(xì)闡述.通過對(duì)f和f′進(jìn)行外積聚合得到圖像的表達(dá),公式如下:
為了使特征矩陣具有較好的分布,需要對(duì)特征進(jìn)行歸一化.首先將得到的聚合矩陣展開成向量g,再進(jìn)行帶符號(hào)的平方根正則化和歸一化,具體公式如下:
最后將特征cmain作為圖像的最終表達(dá),送至Softmax中進(jìn)行端到端的聯(lián)合訓(xùn)練.
經(jīng)典的注意力網(wǎng)絡(luò)[23,26]可以有效提取圖像中關(guān)注物體的空間位置,但是細(xì)粒度圖像分類任務(wù)需要定位到具有鑒別性特征的空間位置.為此,本文注意力機(jī)制分為注意力特征提取和注意力網(wǎng)絡(luò)兩個(gè)步驟.注意力特征提取通過對(duì)通道的篩選,提取出關(guān)注物體中最顯著的局部特征.注意力網(wǎng)絡(luò)將提取出的局部特征,放入網(wǎng)絡(luò)中繼續(xù)訓(xùn)練,提高網(wǎng)絡(luò)對(duì)細(xì)粒度對(duì)象具有鑒別性特征的表達(dá)能力.
2.2.1 注意力特征提取
隨著訓(xùn)練次數(shù)的增加,輸入圖像通過卷積得到特征的感受野隨網(wǎng)絡(luò)深度變化而變化,網(wǎng)絡(luò)可以逐步定位到關(guān)注區(qū)域的位置.
假設(shè)輸入圖像通過一系列的卷積層及池化層得到大小為C×H×W的特征圖,然后特征圖上每個(gè)C×1×1的跨通道的向量,隨著訓(xùn)練次數(shù)的增加,能在固定的空間位置上表示原始圖像中的對(duì)應(yīng)位置.對(duì)應(yīng)的熱力圖,如圖3所示.基于分類神經(jīng)網(wǎng)絡(luò)能夠?qū)D像中關(guān)注對(duì)象的自動(dòng)聚焦的特性,本文設(shè)計(jì)的注意力機(jī)制網(wǎng)絡(luò)可以將聚焦的位置信息反饋到最初的圖像上.通過類別信息學(xué)習(xí)到顯著特征的位置信息以實(shí)現(xiàn)網(wǎng)絡(luò)的弱監(jiān)督學(xué)習(xí).
圖3 訓(xùn)練后卷積網(wǎng)絡(luò)得到的熱力圖
特征圖的熱力圖可以隨著訓(xùn)練或者物體的整體空間位置.為得到物體細(xì)粒度對(duì)象的空間位置,需要通過計(jì)算特征圖不同通道的掩碼,對(duì)圖像通道進(jìn)一步篩選提取.
首先通過主網(wǎng)絡(luò)分支可以得到n個(gè)特征圖p1,p2,···,pn(即n個(gè)通道):
權(quán)重wi越大意味著該通道的特征越顯著.通過取前m個(gè)權(quán)重作和得到注意力掩碼(mask),從而在顯著物體中得到更細(xì)粒度的顯著特征.特征進(jìn)一步提取示意圖見圖4.
圖4 特征圖通過篩選通道的前后對(duì)比圖
2.2.2 注意力網(wǎng)絡(luò)
從特征圖中提取到多個(gè)最顯著特征的位置信息后,通過掩碼(mask)操作將前景的物體(較顯著特征)在原圖中提取出來,記為Iattention.
再將提取到的較顯著特征放入網(wǎng)絡(luò)訓(xùn)練,可以得到顯著圖的特征圖cattention,增強(qiáng)神經(jīng)網(wǎng)絡(luò)對(duì)顯著特征的表達(dá)能力.注意力網(wǎng)絡(luò)與主網(wǎng)絡(luò)共用網(wǎng)絡(luò)結(jié)構(gòu),通過共同訓(xùn)練參數(shù),實(shí)現(xiàn)網(wǎng)絡(luò)對(duì)整體圖像類別和鑒別性的特征都有較好的表達(dá)能力.注意力網(wǎng)絡(luò)如圖5所示.
圖5 基于注意力機(jī)制提取的特征
2.2.3 損失函數(shù)
總損失函數(shù)結(jié)合主網(wǎng)絡(luò)的損失函數(shù)和注意力網(wǎng)絡(luò)的損失函數(shù),達(dá)到合作訓(xùn)練、共同優(yōu)化.
其中,x表示圖像類別信息,cmain、cattention分別表示主網(wǎng)絡(luò)分支,注意力網(wǎng)絡(luò)分支預(yù)測(cè)的類型信息.
分類損失使用的是Softmax函數(shù),Loss的計(jì)算公式如下:
其中,p(xi)為xi的目標(biāo)值.
模型在梯度下降方法上采用Adam和SGD聯(lián)合訓(xùn)練的方式.Adam與AdaDelta方法收斂速度更快,但是由于細(xì)粒度圖像的特征較難學(xué)習(xí),導(dǎo)致模型的準(zhǔn)確率往往達(dá)不到最優(yōu)解,而SGD的收斂速度較慢,但最終得到的預(yù)測(cè)效果要優(yōu)于Adam.因此為了較快收斂同時(shí)避免出現(xiàn)局部最優(yōu)的現(xiàn)象,最終選定先用Adam訓(xùn)練,等準(zhǔn)確率不再繼續(xù)提高的時(shí)候,保存網(wǎng)絡(luò)權(quán)重,再采用SGD方法微調(diào).
整體算法總結(jié)如算法1.
本文主要通過3個(gè)典型細(xì)粒度圖像數(shù)據(jù)集(包括CUB-200-2011鳥類數(shù)據(jù)集,FGVC飛機(jī)數(shù)據(jù)集,斯坦福狗數(shù)據(jù)集)進(jìn)行驗(yàn)證,如表1所示.
表1 3種常用細(xì)粒度分類數(shù)據(jù)集介紹
實(shí)驗(yàn)是在Linux下的Python 3.6.6、TensorFlow 1.12.0和2塊16 GB NVIDIA Tesla GPU下進(jìn)行的.使用Inception-V3預(yù)訓(xùn)練模型,訓(xùn)練時(shí)batchsize為16,weight decay為0.0001,初始的學(xué)習(xí)率為0.001,后續(xù)采用指數(shù)型衰減法,逐步計(jì)算學(xué)習(xí)率.
圖6 不同的特征融合網(wǎng)絡(luò)結(jié)構(gòu)
通過當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)只有主網(wǎng)絡(luò)分支,分別采用4種不同卷積核在數(shù)據(jù)集CUB-200-2011上的分類實(shí)驗(yàn),以驗(yàn)證不同卷積核對(duì)分類結(jié)果的影響.實(shí)驗(yàn)結(jié)果如表2所示.
表2 不同特征融合網(wǎng)絡(luò)對(duì)分類結(jié)果的影響
比較這3種方案對(duì)分類結(jié)果的影響,可以得出以圖6(c)方式在單主網(wǎng)絡(luò)分支中進(jìn)行特征融合取得最高的準(zhǔn)確率,其能更好地計(jì)算特征圖在某一區(qū)域的響應(yīng).
如上所述分類算法由基礎(chǔ)網(wǎng)絡(luò)、線性融合、注意力網(wǎng)絡(luò)3部分組成.通過在CUB-200-2011數(shù)據(jù)集中進(jìn)行實(shí)驗(yàn)探索每個(gè)組件可以做出的貢獻(xiàn),如表3所示.
表3 不同組件組合對(duì)分類結(jié)果的影響
通過BaseNet選用Inception-V3作為基線方法,在CUB-200-2011數(shù)據(jù)集中網(wǎng)絡(luò)的預(yù)測(cè)準(zhǔn)確率如圖7所示.
圖7展示了訓(xùn)練次數(shù)(epoches)對(duì)分類精準(zhǔn)度的影響.可以發(fā)現(xiàn)隨著迭代次數(shù)的增加,混合模型準(zhǔn)確度有所提高,但當(dāng)訓(xùn)練次數(shù)達(dá)到一定值(4萬次左右),準(zhǔn)確度會(huì)保持穩(wěn)定.
圖7 模型在數(shù)據(jù)集CUB-200-2011的準(zhǔn)確率圖
為了驗(yàn)證模型的有效性,我們分別在CUB-200-2011、FGVC-Aircraft和Stanford-Dogs三個(gè)細(xì)粒度經(jīng)典數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果如表4、表5和表6所示.
表4 相關(guān)分類方法在CUB 200-2011的準(zhǔn)確度
表5 相關(guān)分類方法在FGVC-Aircraft的準(zhǔn)確度
表6 相關(guān)分類方法在Stanford Dogs的準(zhǔn)確度
由實(shí)驗(yàn)結(jié)果可知,本文方法在3個(gè)細(xì)粒度圖像識(shí)別數(shù)據(jù)庫上均優(yōu)于基線方法(BCNN,Inception),如在CUB-200-2011數(shù)據(jù)上比Inception-V3高出4%,比BCNN高出3.7%.并在3個(gè)細(xì)粒度數(shù)據(jù)庫上與先進(jìn)分類方法相比,均取得了領(lǐng)先的水平.
本文提出了一種基于注意力機(jī)制的弱監(jiān)督細(xì)粒度圖像分類.該算法針對(duì)細(xì)粒度圖像類別中細(xì)微的視覺差異,設(shè)計(jì)了基于線性融合網(wǎng)絡(luò)、注意力網(wǎng)絡(luò)同步訓(xùn)練的網(wǎng)絡(luò)模型用于提取細(xì)粒度圖像中鑒別性強(qiáng)的特征.經(jīng)實(shí)驗(yàn)論證,所提方案可行且有效,進(jìn)一步提升了細(xì)粒度分類的準(zhǔn)確性.
細(xì)粒度圖像分類任務(wù)為了識(shí)別圖中具有鑒別性的對(duì)象并對(duì)其進(jìn)行有效的學(xué)習(xí),往往模塊較多且網(wǎng)絡(luò)層次較深,這導(dǎo)致模型較大難以部署.下一步,我們關(guān)注如何在保證精準(zhǔn)度的情況下壓縮網(wǎng)絡(luò)模型,滿足移動(dòng)端的性能要求.