申志軍,穆麗娜,高 靜,史遠(yuǎn)航,劉志強(qiáng)
(1.阜陽(yáng)師范大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,安徽 阜陽(yáng) 236037;2.內(nèi)蒙古農(nóng)業(yè)大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,呼和浩特 010011)
細(xì)粒度圖像分類(Fine-Grained Image Categorization,F(xiàn)GIC)在學(xué)術(shù)研究和應(yīng)用實(shí)踐中都較為活躍。常見的學(xué)術(shù)研究課題主要包括識(shí)別不同種類的鳥、狗、車、飛機(jī)、花、魚等。以清華狗數(shù)據(jù)集[1]為例,如圖1 所示:圖(a)中所有的狗都屬于大丹犬,但毛色不同;圖(b)是諾里奇更犬,毛色極其相似。實(shí)踐中細(xì)粒度分類的實(shí)例更為普遍,如病蟲害檢測(cè)[2]、社交娛樂網(wǎng)站中個(gè)人相冊(cè)的自標(biāo)注管理、電子商務(wù)中購(gòu)物平臺(tái)商品識(shí)別推薦系統(tǒng)中的商品檢索[3]以及在交通信息中的車型識(shí)別[4]等。
圖1 清華狗數(shù)據(jù)集Fig.1 Tsinghua dogs dataset
圖像分類任務(wù)可分為跨物種語(yǔ)義級(jí)分類、細(xì)粒度圖像分類和實(shí)例級(jí)圖像分類。跨物種語(yǔ)義級(jí)圖像分類[5-6]是在類別層次上對(duì)圖像進(jìn)行分類,存在類間方差大、類內(nèi)方差小的特點(diǎn),常用于場(chǎng)景識(shí)別[7-9]和對(duì)象識(shí)別[10]等任務(wù)。
實(shí)例級(jí)圖像分類[11-12]是在個(gè)體層次上對(duì)圖像進(jìn)行分類,其要求更加嚴(yán)格,如人臉識(shí)別[13-14]等。影響實(shí)例級(jí)圖像分類效果的關(guān)鍵因素是圖像預(yù)處理算法和個(gè)體比對(duì)算法,其中圖像預(yù)處理算法主要解決復(fù)雜光線環(huán)境和有限遮擋等問題。細(xì)粒度圖像分類是對(duì)同一類別圖像進(jìn)行更細(xì)致的子類劃分,也稱子類別圖像分類,例如判斷圖像中的狗是哈士奇還是阿拉斯加。
與傳統(tǒng)的分類問題[15-17]不同,細(xì)粒度圖像具有類內(nèi)方差大、類間方差小的特點(diǎn):類內(nèi)方差大通常表現(xiàn)為同一子類的物體外觀顯著不同,造成這種現(xiàn)象的主要影響因素有光照、視角、雜波背景和物體遮擋等;類間方差小通常表現(xiàn)為不同子類的物體具有相似的外觀。不僅如此,細(xì)粒度圖像分類還存在類別細(xì)分所引起的分類混淆問題,以及圖像背景信息冗余對(duì)分類結(jié)果產(chǎn)生干擾的問題。這一特點(diǎn)使得細(xì)粒度圖像分類的難度遠(yuǎn)高于傳統(tǒng)的圖像分類任務(wù)。
以深度學(xué)習(xí)方法為分水嶺,細(xì)粒度圖像分類算法發(fā)展歷程大致可分為傳統(tǒng)的基于人工特征的分類方法和基于深度學(xué)習(xí)的分類方法。
基于人工特征的分類方法[18-20]主要基于人工特征實(shí)現(xiàn),應(yīng)用較多的人工特征如尺度不變特征變換(Scale-Invariant Feature Transform,SIFT)[21]、加速穩(wěn)健特征(Speeded Up Robust Feature,SURF)[22]、方向梯度直方圖(Histogram of Oriented Gradient,HOG)[23]、局部二值模式(Local Binary Pattern,LBP)[24]、POOF(Part-based One-vs-One Features)[25]、Fisher-encoder[26]等,特征描述能力越強(qiáng),分類準(zhǔn)確率越高。但通常最優(yōu)特征與所識(shí)別物種有密切關(guān)系,如鳥類的最佳特征是頭部和身體,而狗類的最佳特征是鼻子和耳朵,顯然人工特征的表達(dá)能力有限,不具有足夠的可判別性,固有特征無法解決所有的分類問題,因此此類方法僅適用于小樣本規(guī)模問題和具有領(lǐng)域?qū)I(yè)知識(shí)的用戶。早期的研究工作表明,強(qiáng)大的特征表示對(duì)分類準(zhǔn)確度有顯著的影響[27-31],但嚴(yán)重依賴人工標(biāo)注信息的缺陷使其實(shí)踐可行性較低。據(jù)此,構(gòu)建更具判別性的特征表示和更準(zhǔn)確的局部定位是提高細(xì)粒度分類準(zhǔn)確率的有效途徑。
基于深度學(xué)習(xí)的分類方法又可進(jìn)一步分為基于局部檢測(cè)的分類方法、基于端到端的分類方法和基于注意力機(jī)制的分類方法三個(gè)發(fā)展階段。這三個(gè)階段分類方法的創(chuàng)新思路有四個(gè)方向,如通過強(qiáng)大的深度模型學(xué)習(xí)更多有判別性的表示、采用姿態(tài)對(duì)齊操作消除姿態(tài)偏差和拍攝角度等影響、構(gòu)建局部區(qū)域特征表示,進(jìn)行基于分割的目標(biāo)對(duì)象定位:
1)基于局部檢測(cè)的分類算法的基本流程為:先檢測(cè)與定位局部區(qū)域,然后提取代表性的特征,從而提高細(xì)粒度分類的精度。此類兩段式算法主要采用若干階段交替或級(jí)聯(lián)的結(jié)構(gòu),這樣的結(jié)構(gòu)導(dǎo)致訓(xùn)練過程復(fù)雜。此外,算法利用標(biāo)注信息[32-33]濾除背景噪聲,減少干擾,但獲取標(biāo)注信息的代價(jià)過大,制約了算法的實(shí)用性。
2)針對(duì)訓(xùn)練過程復(fù)雜的問題,研究人員提出了一系列雙線性特征學(xué)習(xí)算法[34-35]避免使用額外的標(biāo)注信息,同時(shí)可以直接學(xué)習(xí)更具辨別性的特征,如僅依靠圖像標(biāo)簽完成分類任務(wù)[36]。雖然該類算法能夠簡(jiǎn)化訓(xùn)練過程,但會(huì)產(chǎn)生特征維度過高的問題。使用聚合低緯特征或設(shè)計(jì)損失函數(shù)的方法可有效緩解特征維度過高的問題。
3)圖像領(lǐng)域中,注意力機(jī)制主要依靠掩碼操作實(shí)現(xiàn),即使用新的權(quán)重標(biāo)識(shí)圖像的關(guān)鍵區(qū)域,訓(xùn)練的深度學(xué)習(xí)模型用于學(xué)習(xí)輸入的新圖像中所需關(guān)注的區(qū)域。因此,基于注意力機(jī)制的分類算法[37-42]能夠自主學(xué)習(xí)和理解圖像中的潛在信息。不僅如此,單個(gè)卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)模型很難描述從屬類之間的差異,對(duì)于細(xì)粒度分類存在一定的困難,研究人員嘗試聯(lián)合對(duì)象級(jí)卷積網(wǎng)絡(luò)和部件級(jí)卷積網(wǎng)絡(luò)進(jìn)行多尺度的特征學(xué)習(xí),并設(shè)置約束條件篩選具有代表性的特征。
在細(xì)粒度圖像分類中,數(shù)據(jù)集的質(zhì)量對(duì)模型分類效果的影響非常明顯。細(xì)粒度圖像分類適用的數(shù)據(jù)集主要有8 種,分別是:加州理工學(xué)院的鳥類數(shù)據(jù)集(CUB200-2011)[43]、斯坦福狗數(shù)據(jù)集(Stanford Dogs)[44]、斯坦福汽車數(shù)據(jù)集(Stanford Cars)[45]、FGVC 飛機(jī)數(shù)據(jù)集(FGVC-Aircraft)[46]、牛津大學(xué)的花類數(shù)據(jù)集(Oxford Flowers)[47]、水下魚類數(shù)據(jù)集(Fish4Knowledge)[48]、野外魚類數(shù)據(jù)集(WildFish)[49]和清華狗數(shù)據(jù)集(Tsinghua Dogs)。其中,CUB200-2011 是細(xì)粒度圖像分類最經(jīng)典和常用的數(shù)據(jù)集,具體信息如下:
1)CUB200-2011 數(shù)據(jù)集共有11 788 張圖像,包含200 種鳥類,其中5 994 張用于訓(xùn)練,5 794 張用于測(cè)試。相關(guān)標(biāo)注信息包含15 個(gè)局部區(qū)域位置、312 個(gè)二值屬性、1 個(gè)標(biāo)注框和語(yǔ)義分割圖像。具體見http://www.vision.caltech.edu/visipedia/ CUB-200-2011.html。
2)Stanford Dogs 數(shù)據(jù)集共有20 580 張圖像,包含120 種狗類,其中12 000 張用于訓(xùn)練,8 580 張用于測(cè)試,該數(shù)據(jù)集僅提供標(biāo)注框注釋信息。具體見http://vision.stanford.edu/aditya86/ ImageNetDogs/main.html。
3)Stanford Cars 數(shù)據(jù)集共有16 185 張圖像,包含196 類車,其中8 144 張用于訓(xùn)練,8 041 張用于測(cè)試,只提供標(biāo)注框信息。該數(shù)據(jù)集中的圖像源于不同品牌、不同年份和不同車型。具體見http://ai.stanford.edu/~jkrause/cars/car_dataset.html。
4)FGVC-Aircraft 數(shù)據(jù)集共有10 200 張圖像,包含100 類飛機(jī),每類有100 張圖像,其中6 667 張用于訓(xùn)練,3 333 張用于測(cè)試,該數(shù)據(jù)集同樣僅提供標(biāo)注框信息。具體見https://www.robots.ox.ac.uk/~vgg/data/fgvc-aircraft。
5)Oxford Flowers 數(shù)據(jù)集有兩種規(guī)模,最為常用的規(guī)模有8 189 張圖像,包含102 種花類,每種花包含40 到258 張圖像,其中6 149 張用于訓(xùn)練,1 020 張用于測(cè)試。該數(shù)據(jù)集只提供語(yǔ)義分割圖像,但不提供額外標(biāo)注信息。具體見https://tensorflow.google.cn/datasets/catalog/oxford_flowers102?hl=zh-cn。
6)Fish4Knowledge 數(shù)據(jù)集共22 370 張圖像,包含23 種魚類,每類含有16~12 000 張不同的圖像,其中19 159 張用于訓(xùn)練,8 211 張用于測(cè)試。具體見https://groups.inf.ed.ac.uk/f4k/ GROUNDTRUTH/RECOG/。
7)WildFish 數(shù)據(jù)集共54 459 張圖像,包含1 000 種魚類,其中38 121 張用于訓(xùn)練,16 338 張用于測(cè)試。具體見https://www.heywhale.com/mw/dataset/5e68b523cdf64e002c97a478。
8)Tsinghua Dogs 數(shù)據(jù)集共70 428 張圖像,包含130 種狗類,每類含有200 到7 449 張圖像,提供頭部和身體兩個(gè)部位的標(biāo)注框信息。其中65%的圖像屬于生活場(chǎng)景類圖片。具體見https://cg.cs.tsinghua.edu.cn/ThuDogs/。
CNN 表現(xiàn)出優(yōu)異的分類性能,研究人員開始嘗試將通用分類任務(wù)中所學(xué)的知識(shí)遷移到細(xì)粒度圖像分類領(lǐng)域。
Donahue 等[50]提出一種半監(jiān)督的遷移學(xué)習(xí)深度架構(gòu),其核心是一種深度卷積特征DeCAF(Deep Convolutional Activation Feature,DeCAF),該方法首先利用標(biāo)注框提取前景對(duì)象,利用預(yù)訓(xùn)練卷積網(wǎng)絡(luò)提取前景對(duì)象的DeCAF 特征,再在此基礎(chǔ)上通過多類別邏輯回歸模型進(jìn)行分類。DeCAF在Caltech-UCSD 數(shù)據(jù)集上取得了58.75%的準(zhǔn)確率,表明卷積特征擁有強(qiáng)大的泛化和領(lǐng)域自適應(yīng)能力。DeCAF 開啟了利用卷積特征進(jìn)行細(xì)粒度圖像分類的新時(shí)代。
對(duì)局部目標(biāo)對(duì)象進(jìn)行定位和描述是細(xì)粒度圖像分類的關(guān)鍵,為此業(yè)界首先針對(duì)這一問題開展了研究工作,F(xiàn)arrell等[51]提出用于細(xì)粒度分類的姿態(tài)歸一化表示法,該方法通過定位包含語(yǔ)義特征的局部區(qū)域和提取這些區(qū)域的外觀特征來消除姿態(tài)、清晰度和攝像機(jī)視角變化帶來的問題,不足之處在于局部區(qū)域定位需要人工獲得目標(biāo)的體積特征[52-53]。為減少人工干預(yù),F(xiàn)elzenszwalb 等[54]提出利用可變部件模型(Deformable Part Model,DPM)以獲取整個(gè)對(duì)象的方法。DPM 在貓狗等動(dòng)物檢測(cè)領(lǐng)域比較有效,但對(duì)于姿態(tài)特征變化較大的檢測(cè)目標(biāo)(如鳥、人)而言效果較差[55]。為此,Zhang等[56]提出可變部件描述子,該方法由基于HOG 的DPM 和支持向量機(jī)(Support Vector Machine,SVM)構(gòu)成,其中基于HOG 的DPM 用于局部區(qū)域定位,SVM 用于分類。
此外,部分研究人員嘗試將CNN 融合到細(xì)粒度分類算法以提高特征所包含的信息量,Zhang 等[57]提出一種結(jié)合CNN 和局部區(qū)域的分類算法,該方法使用基于HOG 的Poselet 將圖像劃分為多個(gè)局部區(qū)域,利用CNN 提取各個(gè)局部區(qū)域的卷積特征,將局部區(qū)域卷積特征進(jìn)行拼接形成描述整張圖像的卷積特征,最后輸入到線性SVM 中分類。
這類方法表明可通過準(zhǔn)確提取特定對(duì)象之間細(xì)微的外觀差異進(jìn)行局部區(qū)域定位,以此提高細(xì)粒度圖像的分類精確度;但在測(cè)試時(shí)都需要利用邊界框進(jìn)行局部區(qū)域定位和關(guān)鍵點(diǎn)檢測(cè),且均需使用類似HOG 的弱特征模型。
Girshick 等[58]提 出R-CNN(Regions with CNN features,R-CNN)算法將圖像檢測(cè)分為局部檢測(cè)和對(duì)象檢測(cè),并使用幾何約束來提升定位精度。該方法采用自底向上的區(qū)域算法產(chǎn)生大量候選區(qū)域,對(duì)候選區(qū)域逐一進(jìn)行特征提取,同時(shí)使用預(yù)訓(xùn)練的SVM 模型尋找包含目標(biāo)對(duì)象的候選區(qū)域,最終使用非極大抑制策略篩選定位檢測(cè)結(jié)果。然而,R-CNN 的結(jié)果并不能反映每個(gè)局部區(qū)域的好壞,類似檢測(cè)結(jié)果發(fā)生重疊的候選區(qū)域、局部區(qū)域檢測(cè)結(jié)果不在對(duì)象檢測(cè)結(jié)果內(nèi)等情況都會(huì)不同程度地影響最終的分類性能。
針對(duì)R-CNN 的檢測(cè)結(jié)果問題,Zhang 等[59]提 出Part R-CNN 算法,該算法檢測(cè)流程與R-CNN 基本相同,不同之處在于Part R-CNN 使用幾何約束和邊界約束對(duì)檢測(cè)結(jié)果進(jìn)行優(yōu)化,在CUB200-2011 數(shù)據(jù)集上的分類準(zhǔn)確率為73.89%,幾何約束能將分類精度提高約1%。相對(duì)于DeCAF 算法,Part R-CNN 算法在局部檢測(cè)定位和特征提取兩方面均采用基于CNN 的方法,并且針對(duì)細(xì)粒度圖像的特征對(duì)R-CNN 算法做了改進(jìn)和優(yōu)化。此外,該算法測(cè)試時(shí)不需要任何標(biāo)記信息,提高了算法的實(shí)用性。但R-CNN 和Part R-CNN 所采用的自底向上的方法會(huì)產(chǎn)生很多無關(guān)區(qū)域,一定程度上會(huì)降低算法速度。
Branson 等[60]提出了姿態(tài)歸一化卷積神經(jīng)網(wǎng)絡(luò)(Pose Normalized CNN,PN-CNN),該方法包含姿態(tài)原型的學(xué)習(xí)、姿態(tài)對(duì)齊和分類三個(gè)步驟,如圖2 所示。其中,姿態(tài)原型的學(xué)習(xí)可通過預(yù)訓(xùn)練DPM 算法獲得目標(biāo)對(duì)象的2D 位置和局部區(qū)域關(guān)鍵點(diǎn),也可直接使用標(biāo)注框和局部區(qū)域注釋信息。在此基礎(chǔ)上將學(xué)習(xí)得到的姿態(tài)原型進(jìn)行姿態(tài)對(duì)齊,然后將各個(gè)區(qū)域的卷積特征連接成一個(gè)整體并用SVM 進(jìn)行分類。
圖2 姿態(tài)歸一化卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Structure of pose normalized CNN
由于深度卷積特征具有更強(qiáng)的區(qū)分度,使用深層卷積特征表示淺層圖像能夠?qū)崿F(xiàn)更高的準(zhǔn)確度;同時(shí),針對(duì)不同的局部區(qū)域提取不同深度的特征更有利于對(duì)細(xì)粒度圖像的分類。
Lin 等[61]提出包含深度定位、對(duì)齊和分類三個(gè)子網(wǎng)絡(luò)的細(xì)粒度圖像分類模型(Deep localization,alignment and classification,Deep LAC)。定位子網(wǎng)絡(luò)包含5 個(gè)卷積層、3 個(gè)全連接層,全連接層用于調(diào)整定位邊框的對(duì)角信息;對(duì)齊子網(wǎng)絡(luò)接收邊框信息進(jìn)行模板對(duì)齊操作,其閥門連接函數(shù)(Valve Linkage Function,VLF)用于優(yōu)化兩個(gè)子網(wǎng)絡(luò)之間的連接,協(xié)調(diào)定位結(jié)果和分類結(jié)果,有助于更新定位子網(wǎng)絡(luò)的參數(shù),使模型易于收斂。
基于全卷積網(wǎng)絡(luò)(Fully Convolutional Network,F(xiàn)CN)[62],Wei 等[63]提出了Mask CNN 模型,該模型僅包含卷積層、激活層和池化層,使模型的參數(shù)量、特征維數(shù)較少,模型規(guī)模較小,如圖3 所示。其中FCN 用于定位關(guān)鍵局部區(qū)域(目標(biāo)對(duì)象的部件)和生成帶權(quán)重的候選區(qū)域的掩碼,通過局部區(qū)域定位分割得到邊界框,建立Mask CNN 分支用于聚合目標(biāo)對(duì)象的卷積特征。FCN 將局部區(qū)域定位轉(zhuǎn)化為三分類分割問題,分割結(jié)果為局部區(qū)域掩碼。
圖3 Mask CNN結(jié)構(gòu)Fig.3 Structure of Mask CNN
深度學(xué)習(xí)可以通過層級(jí)連接對(duì)輸入進(jìn)行復(fù)雜的非線性運(yùn)算,提取到更豐富、更深層次的圖像特征信息,其中CNN所具有的局部感知、權(quán)值共享等特點(diǎn)可有效降低計(jì)算量[64]。
綜上所述,以上方法在早期工作[51-53]的基礎(chǔ)上將卷積特征引入細(xì)粒度圖像分類模型,在分類精度和泛化能力上取得了一定的進(jìn)展,但這類方法大多采用交替或級(jí)聯(lián)結(jié)構(gòu),模型訓(xùn)練較為復(fù)雜;同時(shí)對(duì)目標(biāo)對(duì)象標(biāo)注框和局部區(qū)域標(biāo)注點(diǎn)等額外注釋信息的依賴限制了它們?cè)趯?shí)際場(chǎng)景中的應(yīng)用;此外,這些方法還存在對(duì)顯著區(qū)域關(guān)注過多、對(duì)其他微小分類線索丟失過多等問題。
對(duì)于圖像的不同特征,前期常用的方法是連接、求和及池化等操作,但是人類視覺處理主要有兩個(gè)神經(jīng)通路,分別用于物體識(shí)別和物體定位。因此,Lin 等[34]提出雙線性卷積神經(jīng)網(wǎng)絡(luò)(Bilinear Convolutional Neural Network,B-CNN)模型,結(jié)構(gòu)如圖4 所示,由兩個(gè)不同的CNN 協(xié)同完成細(xì)粒度圖像的類別檢測(cè)和特征提取,通過雙線性操作和特征歸一化處理得到最終的雙線性特征作為分類依據(jù)。該方法在CUB200-2011 數(shù)據(jù)集上取得了84.1%的準(zhǔn)確率。
圖4 B-CNN結(jié)構(gòu)Fig.4 Structure of B-CNN
雙線性操作通過外積相乘的運(yùn)算實(shí)現(xiàn)不同特征的融合,運(yùn)算得到的雙線性特征向量是一種高維的二次擴(kuò)展特征,雖然能夠提高分類準(zhǔn)確率,但同時(shí)也使它無法應(yīng)用于大規(guī)模真實(shí)場(chǎng)景。此外,CNN 用相同的卷積核尺度進(jìn)行特征提取,導(dǎo)致卷積特征單一化,不利于細(xì)粒度分類中局部微小區(qū)域的信息捕獲,特征提取能力稍顯不足。
針對(duì)B-CNN 模型參數(shù)過多、計(jì)算量和存儲(chǔ)開銷過大等問題,Gao 等[65]提出緊湊雙線性池化方法(Compact Bilinear Pooling,CBP),該方法通過隨機(jī)麥克勞林(Random MacLaurin)[66]和張量草圖(TensorSketch)[67]兩種多項(xiàng)式核函數(shù)逼近二階統(tǒng)計(jì)量,以較小的性能損失有效降低了雙線性特征維度。Kong 等[68]提出了一種低秩雙線性池化模型LRBP(Low-Rank Bilinear Pooling,LRBP),該方法用雙線性分類器代替了雙線性特征,減少了需要學(xué)習(xí)的參數(shù),提高了計(jì)算效率。Li 等[69]提出一種基于矩陣低秩分解的因式分解雙線性網(wǎng)絡(luò)(Factorized Bilinear Network,F(xiàn)BN),該方法通過分解全連接層的卷積核,減少了模型的參數(shù)量。
B-CNN 不能捕獲特征圖通道之間的非線性關(guān)系,無法充分利用通道之間所蘊(yùn)含的信息,使卷積網(wǎng)絡(luò)的表達(dá)能力得不到充分利用,針對(duì)這一問題,葛疏雨等[70]提出一種核化雙線性卷積網(wǎng)絡(luò)模型(Kernelized Bilinear Convolutional Neural Network,KB-CNN),該方法由卷積層、核化雙線性聚合塊、softmax 分類器三部分組成。其中,核化雙線性聚合塊對(duì)卷積層輸出的特征進(jìn)行歸一化,并對(duì)特征圖進(jìn)行雙線性聚合以建模特征圖通道間的非線性關(guān)系,提高了模型的表達(dá)能力。
B-CNN 模型聚合兩個(gè)雙線性特征會(huì)產(chǎn)生一個(gè)包含兩個(gè)特征之間相互作用的協(xié)方差矩陣,但B-CNN 模型產(chǎn)生的兩個(gè)特征相同時(shí),其結(jié)果是一個(gè)對(duì)稱的半正定矩陣,這將會(huì)影響模型訓(xùn)練。為此,Lin 等[71]分析了兩個(gè)特征相同的情況,提出一種改進(jìn)的雙線性網(wǎng)絡(luò)模型(Improved B-CNN),如圖5 所示。該方法在二階特征的對(duì)角線添加一個(gè)小的正值得到一個(gè)新的矩陣,在此基礎(chǔ)上壓縮矩陣特征值的動(dòng)態(tài)范圍和歸一化,使模型性能提升2%~3%。
圖5 Improved B-CNN結(jié)構(gòu)Fig.5 Structure of Improved B-CNN
鑒于雙線性模型的成功,Cui 等[72]提出一種更通用的核池化方法(Kernel Pooling,KP),該方法以核函數(shù)的形式捕捉特征之間的高階信息。圖像輸入到全卷積層中,輸出特征映射,對(duì)每個(gè)空間位置上的特征向量進(jìn)行核池化,對(duì)所有位置的特征使用平均池化獲得最終的特征,以此進(jìn)行分類。
為進(jìn)一步提升模型性能,Moghimi 等[73]提出一種增強(qiáng)深度卷積網(wǎng)絡(luò)BoostCNN(Boosting Deep Convolutional Neural Network,BoostCNN),該方法利用boosting 算法集成多個(gè)不同尺度的雙線性卷積網(wǎng)絡(luò)提升模型性能,該模型能夠在每次迭代中找到最佳網(wǎng)絡(luò),且在訓(xùn)練時(shí)不需要額外的注釋,有效降低了人工操作開銷。其不足之處在于最小二乘法學(xué)習(xí)boosting 權(quán)重使模型訓(xùn)練顯著變慢。
為解決分類過程中存在無關(guān)背景的干擾以及個(gè)別可判別特征難以提取的問題,閆子旭等[74]提出一種將目標(biāo)檢測(cè)模型YOLOv3 和雙線性融合網(wǎng)絡(luò)相結(jié)合的優(yōu)化算法,該方法使用YOLOv3 檢測(cè)和定位目標(biāo)對(duì)象在圖像上的大致位置,通過背景抑制方法遮擋目標(biāo)以外的背景,避免背景無關(guān)信息的干擾,將處理后的圖像輸入到包含特征融合功能的BCNN 中進(jìn)行分類。該方法將網(wǎng)絡(luò)不同卷積層的優(yōu)勢(shì)進(jìn)行互補(bǔ),在一定程度上解決了BCNN 對(duì)圖像中的目標(biāo)位置不敏感和卷積特征包含的信息不充分等問題,提高了細(xì)粒度分類的準(zhǔn)確率。
同樣,為充分利用不同卷積層的優(yōu)勢(shì),Yu 等[75]提出一種跨層的雙線性池化(Cross-Layer Bilinear Pooling,CL-BP)方法來捕獲卷積層之間的特征關(guān)系,并以一種相互增強(qiáng)的方式學(xué)習(xí)圖像特征表示。同時(shí),在此基礎(chǔ)上提出一種分層雙線性池化集成(Hierarchical Bilinear Pooling,HBP)框架,該框架通過對(duì)多個(gè)跨層雙線性模塊進(jìn)行集成,從中間卷積層獲取互補(bǔ)信息,提高模型性能。
基于雙線性池化的模型在細(xì)粒度分類任務(wù)中的有效性已被證實(shí),但大多數(shù)方法只將最后一個(gè)卷積層的激活作為圖像的表示,這種方法不足以描述對(duì)象的全部語(yǔ)義。
注意力機(jī)制的本質(zhì)與人類觀察外界事物的機(jī)制相似,人類觀察事物時(shí)通常會(huì)迅速掃描全景,然后根據(jù)大腦信號(hào)快速鎖定需要重點(diǎn)關(guān)注的局部區(qū)域,最終形成注意力焦點(diǎn)。在細(xì)粒度分類任務(wù)中,應(yīng)用注意力機(jī)制可檢測(cè)到均勻分布的多個(gè)局部區(qū)域,其對(duì)應(yīng)的特征可用于區(qū)分不同類別的目標(biāo)對(duì)象。
Itti 等率先提出視覺注意力模型,該模型可將多尺度的圖像特征組合成單一的顯著性圖,并利用動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)(Dynamical Neural Network,DNN)[76]按序選擇重點(diǎn)關(guān)注區(qū)域。Mnih 等首次在循環(huán)神經(jīng)網(wǎng)絡(luò)上應(yīng)用注意力機(jī)制進(jìn)行圖像分類[77],該模型能夠以自適應(yīng)方式選擇一系列區(qū)域,將這些區(qū)域處理成為高分辨率圖像,然后提取圖像特征信息。該模型在一定程度上具有平移不變性,同時(shí)可對(duì)其計(jì)算量進(jìn)行控制以減少計(jì)算開銷。
特征提取效果對(duì)細(xì)粒度分類效果影響較大,但現(xiàn)有方法存在標(biāo)簽依賴、檢測(cè)準(zhǔn)確率偏低等問題。
為檢測(cè)對(duì)分類結(jié)果更有利的可判別區(qū)域,Xiao 等提出一種包含對(duì)象級(jí)(object-level)和局部級(jí)(part-level)兩個(gè)層次特征的兩級(jí)注意力模型(Two-level Attention Model,T-L Attention)[37],該模型包含兩個(gè)子網(wǎng)絡(luò)FilterNet 和DomainNet。該模型整合了生成候選區(qū)域、選擇與目標(biāo)對(duì)象相關(guān)區(qū)域和定位可判別區(qū)域三種注意力機(jī)制進(jìn)行訓(xùn)練,提取圖像的前景對(duì)象和特征明顯的局部區(qū)域,首次實(shí)現(xiàn)僅使用類別標(biāo)簽完成細(xì)粒度圖像分類任務(wù)。
Liu 等[38]提出一種基于強(qiáng)化學(xué)習(xí)的全卷積注意力定位網(wǎng)絡(luò)(Fully Convolutional Attention Localization Networks,F(xiàn)CANs),其結(jié)構(gòu)主要包含特征提取、全卷積局部區(qū)域注意力網(wǎng)絡(luò)、細(xì)粒度分類三部分。其中,全卷積注意力網(wǎng)絡(luò)首先定位圖像的多個(gè)局部區(qū)域,并利用卷積特征對(duì)每個(gè)局部區(qū)域生成分?jǐn)?shù)映射(Score Map)。采用全卷積網(wǎng)絡(luò)架構(gòu)可以避免全連接層帶來的超大計(jì)算量,但局部區(qū)域的高分辨率處理會(huì)導(dǎo)致在多步前向和后向傳播過程中很耗時(shí)。
Zheng 等[78]提出一種多注意力卷積神經(jīng)網(wǎng)絡(luò)(Multi-Attention Convolutional Neural Network,MA-CNN)。MA-CNN 由卷積、通道分組和局部分類三部分組成,輸入圖像經(jīng)卷積層提取基于區(qū)域的卷積特征,利用特征圖的峰值響應(yīng)區(qū)域特征聚類響應(yīng)區(qū)域相近的通道,得到具有判別力的局部區(qū)域,同時(shí)利用通道分組損失函數(shù)增大類間區(qū)分度,減小類內(nèi)區(qū)分度。
Chang 等[79]提出一種輕量級(jí)互通道損失模塊(Mutual-Channel loss,MC-Loss),不需要復(fù)雜的網(wǎng)絡(luò)設(shè)計(jì)或訓(xùn)練機(jī)制,即可獲得具有可判別性的細(xì)節(jié)信息。該模塊由判別性組件和差異性組件構(gòu)成,有助于從圖像中不同顯著區(qū)域捕獲細(xì)節(jié)信息。
Fu 等[39]提出循環(huán)注意力卷積神經(jīng)網(wǎng)絡(luò)RA-CNN(Recurrent Attention Convolutional Neural Network,RA-CNN),如圖6 所示。該網(wǎng)絡(luò)在多個(gè)尺度上學(xué)習(xí)可判別區(qū)域注意力(Discriminative Region Attention)和局部區(qū)域特征表示(Region-based Feature Representation)。每個(gè)尺度都包含分類子網(wǎng)絡(luò)和注意力生成子網(wǎng)絡(luò)(Attention Proposal Sub-network,APN)。APN 以迭代的方式從完整的圖像開始產(chǎn)生由粗粒度到細(xì)粒度的注意力區(qū)域,前一個(gè)網(wǎng)絡(luò)的輸出結(jié)果作為后一個(gè)網(wǎng)絡(luò)的輸入。該方法能夠使網(wǎng)絡(luò)逐步定位到可判別區(qū)域以產(chǎn)生更高置信度的預(yù)測(cè)結(jié)果。在CUB200-2011,Stanford Dogs 和Stanford Cars 三個(gè)數(shù)據(jù)集上分別取得85.3%、87.3%、92.5%的準(zhǔn)確率。
圖6 循環(huán)注意力卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 Structure of RA-CNN
借鑒人類通過對(duì)比兩張圖像獲得有效的比對(duì)線索進(jìn)而識(shí)別圖像的思想,Zhuang 等[80]提出了一種簡(jiǎn)單而有效的注意力成對(duì)交互網(wǎng)絡(luò)(Attentive Pairwise Interaction Network,API-Net),核心模塊是注意力成對(duì)交互模塊API,包含互向量學(xué)習(xí)(Mutual Vector Learning)、門向量生成(Gate Vector Generation)和成對(duì)交互(Pairwise Interaction)三個(gè)子模塊。在互向量學(xué)習(xí)模塊中,一對(duì)圖像經(jīng)骨干網(wǎng)絡(luò)獲得各自的卷積特征,通過多層感知機(jī)將兩張圖像中的可判別信息提取成為一個(gè)互向量,互向量的特征通道中包含兩張圖像的高度對(duì)比線索,以輔助捕捉輸入圖像中的語(yǔ)義差別。在此基礎(chǔ)上,門向量生成模塊將互向量和各圖像的卷積特征進(jìn)行通道積(channel-wise)和sigmoid 激活,產(chǎn)生兩個(gè)圖像之間注意力顯著不同區(qū)域的門向量,最后通過residual attention 引入觀察兩張圖像之間不同之處的交互機(jī)制。
此外,Zhang 等提出一種漸進(jìn)式共同注意力網(wǎng)絡(luò)(Progressive Co-Attention network,PCA-Net)[81],PCA-Net 包含兩個(gè)核心模塊:共同注意力模塊(Co-Attention Module,CA)和注意力消除模塊(Attention Erase Module,AE),如圖7 所示。CA 模塊通過對(duì)同類圖像卷積特征中特征通道的交互來捕獲共同的可判別特征,形成交互特征圖。AE 模塊通過全局平均池化、上采樣和閾值設(shè)定獲得和原始圖像尺寸一致的0-1擦除掩碼(Drop Mask),經(jīng)原圖像和擦除掩碼進(jìn)行逐元素乘積運(yùn)算消除通道交互增強(qiáng)的突出區(qū)域,迫使網(wǎng)絡(luò)將注意力集中在其他判別區(qū)域,使模型學(xué)習(xí)的區(qū)域多樣化,同時(shí)減少對(duì)訓(xùn)練樣本的依賴,降低過擬合,提高模型的魯棒性。該方法可將注意力分散到每個(gè)區(qū)域,從而使預(yù)測(cè)更加全面。
圖7 漸進(jìn)式共同注意力網(wǎng)絡(luò)結(jié)構(gòu)Fig.7 Structure of PCA-Net
Ji 等提出一種結(jié)合注意力卷積的二叉神經(jīng)樹模型(Attention Convolutional Binary Neural Tree Architecture,ACNet)[82]。該模型將注意力卷積網(wǎng)絡(luò)加在二叉樹的邊緣,用于獲取目標(biāo)對(duì)象的特征表示,不同分支的注意力卷積專注于不同的局部區(qū)域。每個(gè)節(jié)點(diǎn)間的路由函數(shù)用于計(jì)算樹結(jié)構(gòu)中根到葉子節(jié)點(diǎn)的路徑,以此作為決策依據(jù)。完整的樹結(jié)構(gòu)表示由粗到細(xì)的層次特征學(xué)習(xí)過程。該網(wǎng)絡(luò)將傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)和神經(jīng)網(wǎng)絡(luò)進(jìn)行融合,同時(shí)加入注意力機(jī)制,最終的分類效果較優(yōu)。在CUB-200-2011、Stanford cars 和FGVCAircraft 數(shù)據(jù)集上取得88.1%、94.6%、92.4%的準(zhǔn)確率。
此外,Sun 等[83]提出一種基于注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)能夠在輸入的不同圖像之間調(diào)節(jié)多個(gè)目標(biāo)區(qū)域。該方案首先通過壓縮多擴(kuò)展模塊(One-Squeeze Multi-Excitation,OSME)提取每個(gè)輸入圖像的多注意力特征區(qū)域,然后使用多注意力多類別約束模塊(Multi-Attention Multi-class Constraint,MAMC)加強(qiáng)注意力特征的相關(guān)性。
隨著深度學(xué)習(xí)的發(fā)展、遷移學(xué)習(xí)的引入、注意力機(jī)制的出現(xiàn),細(xì)粒度圖像分類任務(wù)取得很大的進(jìn)展?,F(xiàn)有研究表明,使用卷積特征替代早期人工設(shè)計(jì)特征描述子,節(jié)省了時(shí)間的同時(shí)提高了準(zhǔn)確率;但基于局部檢測(cè)交替或級(jí)聯(lián)的模型結(jié)構(gòu)注定其訓(xùn)練過程復(fù)雜,對(duì)注釋信息的依賴也限制了它在實(shí)際場(chǎng)景中的應(yīng)用,還存在過分關(guān)注顯著區(qū)域和丟失微小分類線索等問題?;陔p線性特征的方法存在高維特征導(dǎo)致模型參數(shù)過多、計(jì)算量大等問題,后續(xù)方法的改進(jìn)思路是降維特征、減少模型參數(shù)量等。借鑒人類觀察事物時(shí)注意力分布的方式,將注意力機(jī)制引入細(xì)粒度分類模型可以更好地尋找細(xì)微的差異。
本文對(duì)未來研究方向作出以下梳理:
1)構(gòu)建更高質(zhì)量更完善的細(xì)粒度數(shù)據(jù)集。近年,由于深度學(xué)習(xí)的發(fā)展和算力的提高,各種分類任務(wù)利用深度學(xué)習(xí)獲得了前所未有的進(jìn)展,一個(gè)高質(zhì)量的數(shù)據(jù)集往往能夠提高模型訓(xùn)練的質(zhì)量和預(yù)測(cè)的準(zhǔn)確率。如何構(gòu)建更高質(zhì)量更全面的數(shù)據(jù)集仍是需要研究的問題。此外,使用圖像增強(qiáng)方法豐富訓(xùn)練數(shù)據(jù)集,讓模型盡可能地學(xué)習(xí)更多的特征,以增強(qiáng)其泛化能力,也是后續(xù)需要研究的內(nèi)容。
2)在更自然的環(huán)境中進(jìn)行細(xì)粒度分類。科研的目的是更好地實(shí)踐,之前的研究多數(shù)無法滿足現(xiàn)實(shí)的需求。所以,后續(xù)研究中仍需考慮自然場(chǎng)景中圖像光照、遮擋、其他物體干擾等情況下的圖像分類,新穎的模型應(yīng)該具有自適應(yīng)性,且能夠更好地泛化,能夠探索異構(gòu)圖像之間的關(guān)聯(lián),結(jié)合目標(biāo)檢測(cè)進(jìn)一步挖掘圖像特征。
3)與其他領(lǐng)域進(jìn)行結(jié)合。細(xì)粒度圖像分類是一個(gè)綜合性研究課題,將細(xì)粒度圖像分類與圖像檢索、圖像生成、對(duì)象檢測(cè)等領(lǐng)域結(jié)合還有待進(jìn)一步探索。
4)支持大規(guī)模數(shù)據(jù)的細(xì)粒度分類。Transformer 模型[84]在一系列廣泛的語(yǔ)言任務(wù)表現(xiàn)出色,如文本分類、機(jī)器翻譯[85]和問答。已有研究表明,Transformer 在計(jì)算機(jī)視覺領(lǐng)域不僅適用于高級(jí)任務(wù)如圖像分類[86]、目標(biāo)檢測(cè)[87-88]等,在低級(jí)任務(wù)如圖像增強(qiáng)中也取得了突破性進(jìn)展,因此,Transformer 和細(xì)粒度圖像分類任務(wù)的結(jié)合也是值得關(guān)注的方向之一。