張高義,徐 楊,2,曹 斌,2,石 進(jìn)
(1.貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽 550025;2.貴陽鋁鎂設(shè)計研究院有限公司,貴州 貴陽 550009)
學(xué)習(xí)魯棒的特征是細(xì)粒度圖像識別任務(wù)的關(guān)鍵,設(shè)計識別細(xì)粒度圖像中差異性特征是提高魯棒性的核心[1]。到目前為止,出現(xiàn)了許多優(yōu)秀的方法來解決這個困難的問題:定位-識別框架[2]、端到端特征編碼[3]和外部信息輔助[4]等。盡管這些方法都取得了一定的成效,促使細(xì)粒度圖像識別也被用于生產(chǎn)實(shí)踐中,如商品識別[5]和植物病害識別[6],但是由于細(xì)粒度圖像的視覺相似性高和領(lǐng)域特異性高使得開發(fā)魯棒的分類模型仍然具有挑戰(zhàn)性。
本文通過對以往高階編碼系統(tǒng)分析,發(fā)現(xiàn)這類方法具有2 個關(guān)鍵特性:1)模型基于端到端[7]策略,且只使用容易標(biāo)注的類別標(biāo)簽(弱監(jiān)督),而不使用那些難以標(biāo)注的邊框標(biāo)簽;2)模型基于高階特征編碼,即通過端到端學(xué)習(xí)高維度向量以存儲、表示細(xì)粒度圖像特征。
Lin 等人[8]設(shè)計的雙線性卷積神經(jīng)網(wǎng)絡(luò)(Bilinear Convolutional Neural Networks,B-CNN)提出將端到端高階特征編碼應(yīng)用于FGVC 任務(wù),且由于B-CNN具有結(jié)構(gòu)簡單、性能優(yōu)異的優(yōu)點(diǎn),被更廣泛地使用和拓展。具體來說,B-CNN通過對2個獨(dú)立的卷積神經(jīng)網(wǎng)絡(luò)的最后卷積層上的特征以外積運(yùn)算相互作用,進(jìn)行成對的聚合,以發(fā)現(xiàn)細(xì)粒度圖像中不同的關(guān)鍵區(qū)域;然而,B-CNN 忽略了中間卷積層特征,容易導(dǎo)致信息丟失,并且由于B-CNN 將2 個不同視覺特征進(jìn)行聚合,導(dǎo)致學(xué)習(xí)到的圖像特征十分復(fù)雜,在分類層需要優(yōu)化大量的參數(shù),這也是模型收斂慢、且易出現(xiàn)過擬合的主要原因。綜上所述,B-CNN至少存在3個缺點(diǎn):1)關(guān)鍵信息易丟失;2)訓(xùn)練過程收斂慢;3)易過擬合。其中缺點(diǎn)2和缺點(diǎn)3可以歸結(jié)于編碼特征冗余問題。
為了解決關(guān)鍵信息易丟失問題,Yu 等人[9]提出了分層雙線性池化(Hierarchical Bilinear Pooling,HBP)框架,將額外的中間卷積層與最后一層卷積層特征通過簡單的哈達(dá)碼積計算層間特征交互。本文通過大量的實(shí)驗(yàn)發(fā)現(xiàn),HBP這種哈達(dá)碼積交互方式能夠抑制大量冗余信息,使同一張細(xì)粒度圖像特征矩陣(向量)是稀疏的,稀疏性能夠緩解過擬合、加快收斂速度[10],因此HBP 一定程度上一并解決了B-CNN 存在的過擬合和收斂慢的問題。此外,為了進(jìn)一步抑制冗余的出現(xiàn),Tan等人[11]構(gòu)建的HBPASM 通過在HBP基礎(chǔ)上構(gòu)建掩碼模型學(xué)習(xí)感興趣區(qū)域特征表示。雖然HBPASM 通過進(jìn)一步抑制干擾信息在分類精度上獲得了更好的提升,但遺憾的是HBPASM 并沒有考慮將掩碼機(jī)制應(yīng)用于B-CNN,以消除B-CNN 中的特征冗余。
盡管HBP 是有效的,但現(xiàn)有的HBP 及其變體至少還存在3 點(diǎn)局限性:1)在卷積激活上只進(jìn)行層間特征交互,這種交互方式不僅忽略了有價值的層內(nèi)特征相關(guān)性,而且還涉及不可靠的部分響應(yīng)[12];2)單一的3層中2層特征層間交互不足以最大化抑制掉冗余信息,即HBP 仍會存在很多干擾,這也是為什么HBPASM 取得更好效果的原因;3)HBP沒有考慮將這種交互與現(xiàn)有的注意力機(jī)制結(jié)合,以抑制中間卷積層的干擾信息。
最新的研究包括Tan 等人[12]提出的HQP 模型將層間特征交互,取得了一定的效果,但是由于其是基于HBP 的,冗余現(xiàn)象仍存在。為了解決這些挑戰(zhàn)性問題,本文從提高模型魯棒性、增強(qiáng)抑制背景信息的能力出發(fā),開發(fā)一個通用、端到端和僅使用類別標(biāo)簽的細(xì)粒度特征學(xué)習(xí)框架[13]用于FGVC 任務(wù)。表1 列出了與本文相關(guān)的一些池化方法之間的對比,進(jìn)一步說明本文研究的必要性。表1 中Top-1 準(zhǔn)確率一欄,除B-CNN 使用的骨干網(wǎng)絡(luò)為VGG-D 外,其余均為ResNet-34。
表1 本文相關(guān)的池化結(jié)構(gòu)對比
具體來說,本文提出一種新的分層雙三次池化(Hierarchical Bicubic Pooling,HCP)[14]方法用于FGVC 任務(wù)。該方法結(jié)合分層雙二次池化(Hierarchical Biquadratic Pooling,HQP)[15]的思想,并將HQP中的HBP 模塊用分層三線性池化(Hierarchical Trilinear Pooling,HTP)[16]模塊代替;由于HTP 在HBP的基礎(chǔ)上加了一層,使得干擾信息進(jìn)一步被抑制,定位關(guān)鍵區(qū)域的能力更強(qiáng)。但是HTP 并沒有考慮到層內(nèi)特征交互,分層雙三次池化進(jìn)一步實(shí)現(xiàn)了HTP 與層內(nèi)交互的聚合,實(shí)現(xiàn)了抑制冗余和對學(xué)習(xí)到的關(guān)鍵信息充分使用的目的。并且通過實(shí)驗(yàn)發(fā)現(xiàn),HCP能夠達(dá)到抑制背景信息的同時實(shí)現(xiàn)了稀疏編碼,解決了B-CNN存在的3個問題。另外,考慮到層間交互的有效性,本文將哈達(dá)碼積這種簡單有效的交互方法與現(xiàn)有的通道注意力機(jī)制有效結(jié)合,并嵌入到端到端殘差學(xué)習(xí)框架中,解決了2 個關(guān)鍵問題:1)粗粒度領(lǐng)域的通道注意力機(jī)制無法應(yīng)用于FGVC 任務(wù)中;2)提升特征提取能力。
由于本文研究基于HBP 和HTP,因此本章首先簡要回顧HBP 和HTP,并討論幾個與本文相關(guān)的模型,以闡明:1)如何構(gòu)建分層雙三次池化及其計算公式;2)如何將HBP 中的跨層雙線性池化融入到現(xiàn)有的注意力機(jī)制中。圖1 展示了提出的融合HCP 和將HBP 與現(xiàn)有注意力機(jī)制結(jié)合形成的全局跨層(Global Cross-layer Interaction,GCI)網(wǎng)絡(luò)結(jié)構(gòu)[17]。
圖1 提出的全局跨層交互網(wǎng)絡(luò)計算流圖
1.1.1 分層雙線性池化
HBP 由多個卷積層的激活特征相互交互構(gòu)造而成,其輸出o定義為:
式中,o表示輸出向量,P表示分類矩陣。x、y和z是從多層卷積層提取的特定空間位置定義的c維描述符。C定義為特征拼接操作。是跨層雙線性池化(Cross-layer Bilinear Pooling,CBP)[9]操作,如果x=y,定義為因子雙線性池化(Factorized Bilinear Pooling,F(xiàn)BP)[9],F(xiàn)BP輸出定義為:
式中,x?x=xxT,用F(·)表示,定義為傳統(tǒng)雙線性操作[8],由此可以推導(dǎo)出跨層雙線性池化CBP的計算公式為:
式中,⊙和?分別表示哈達(dá)碼積(Hadamard Product)和外積(Outer Product)。U∈?c×d和V∈?c×d是用于獲得d維池化特征的投影矩陣(Projection Matrix)。
HBP 的設(shè)計理念:假設(shè)使用ResNet[18]作為骨干網(wǎng)絡(luò),x和y定義為倒數(shù)第二層和最后一層的特征描述符,并且它們的維度均相等。由殘差定義y=R(x) +x,R(·)表示由卷積層、歸一化層和激活層組成的權(quán)重層(weight layer),因此,y有著比x更大的感受野,哈達(dá)碼積的計算公式為:
式中,元素yi,j是由多個xi,j計算得來的,因此計算不同層之間的哈達(dá)碼積其實(shí)是不同感受野的特征的交互;另外由式(4)可以看出,2 個矩陣中若其中一個矩陣的一個位置上的元素為0,那么交互后這個位置上的特征就為0,這種機(jī)制能夠有效抑制干擾信息。
1.1.2 分層三線性池化
HBP 效果好的原因在于:1)不同感受野信息融合;2)不同特征間計算哈達(dá)碼積抑制了冗余信息。Wang等人[16]通過對比雙線性池化和三線性池化[1]結(jié)構(gòu),提出了HTP,事實(shí)證明,HTP 對FGVC 任務(wù)更有效。分層三線性交互公式為:
式中,表示因子三線性池化(Factorized Trilinear Pooling,F(xiàn)TP),輸出定義為:
式中,x?x?x=xxTx,用T(·)表示,定義為傳統(tǒng)三線性操作[1],S∈?c×d為投影矩陣。
由公式(6)可以看出,HTP 在HBP 的基礎(chǔ)上,參照傳統(tǒng)的三線性池化,構(gòu)建一個比HBP 多一層的分層三線性交互層,進(jìn)一步將不同感受野的特征融合,在FGVC 領(lǐng)域取得了更好的分類效果。盡管HTP 是有效的,但是HTP 至少存在2 點(diǎn)局限性:1)過多抑制信息,使關(guān)鍵信息也被抑制;2)無法將同一個特征的層內(nèi)交互信息有效應(yīng)用。
本文在系統(tǒng)分析了這些交互方式后,結(jié)合HQP的思想,對不同交互模型做了一系列對比,提出一種平衡提取鑒別信息和過濾冗余信息能力交互方式,即HCP,實(shí)現(xiàn)了穩(wěn)健的交互。
1.2.1 層內(nèi)層間交互模型
分層混合池化(Hierarchical Hybrid Pooling,HHP)[12]將相同的幾層特征對應(yīng)的FBP和CBP的輸出串聯(lián),直觀地集成層內(nèi)和層間交互,HHP的輸出定義為:
盡管HHP 是有效的,但HHP 的層間交互和層內(nèi)交互是相互獨(dú)立的,不能做到相互關(guān)聯(lián)和加強(qiáng)。為此,Tan 等人[12]在HHP 的基礎(chǔ)上進(jìn)一步改進(jìn),提出分層雙二次池化HQP,合理地整合了層間交互和層內(nèi)交互,使層間交互和層內(nèi)交互強(qiáng)關(guān)聯(lián)。HQP 首先計算不同層特征的哈達(dá)碼積實(shí)現(xiàn)層間交互,接著計算層間交互輸出的外積實(shí)現(xiàn)層內(nèi)交互,其輸出表達(dá)式為:
HQP 比HBP 具有更好的分類性能,但它僅利用從高卷積層提取的多個高階單尺度特征進(jìn)行交互。但是這些單尺度特征的感受野差別不大,通常在視覺上彼此相似,包含的互補(bǔ)信息很少,仍然包含大量冗余信息。為此,本文構(gòu)建了一種能夠平衡提取鑒別信息和過濾冗余信息的交互方式。
1.2.2 HCP公式
首先考慮構(gòu)建HFP(Hierarchical Factorized Pooling),HFP將HTP和FBP的輸出串聯(lián),其輸出定義為:
雖然HFP 是高效的,但仍然存在獨(dú)立交互問題。層內(nèi)和層間特征的相互作用是相互關(guān)聯(lián)、相互加強(qiáng)的。為此,本文提出一種統(tǒng)一的特征交互方式,即分層雙三次交互池化HCP,HCP輸出定義為:
式(10)稱為分層雙三次池化操作。圖2 為不同的池化模型,與其他算法相比,本文提出的HCP 能更好地捕獲特征相關(guān)性,至少有2 個原因:1)雙三次池化從每個特征圖中提取三階交互信息,這種高階池化利用更充分、更穩(wěn)定的交互方式發(fā)現(xiàn)了更好的特征相關(guān)性;2)三階池化在二階池化的基礎(chǔ)上增加了一層,使交互包含更廣泛的感受野特征,平衡了提取鑒別信息和過濾冗余信息的能力,這對FGVC是有利的。
圖2 HCP與其他池化結(jié)構(gòu)的對比
HBP 用哈達(dá)碼積計算圖像不同特征層之間的交互,在FGVC領(lǐng)域取得了成效。1.1.1節(jié)對HBP原理及其有效性進(jìn)行了分析,本節(jié)將在此基礎(chǔ)上分析本文設(shè)計的HCP的合理性。
首先,B-CNN 及其變體將同一個或參數(shù)共享的深度卷積神經(jīng)網(wǎng)絡(luò)的輸出做外積,實(shí)現(xiàn)了層內(nèi)交互,乃至基于二階協(xié)方差的iSQRT-COV[19]工作,也是層內(nèi)交互的。HBP 認(rèn)為B-CNN 這種只使用頂層特征的方式不足以包含所有的信息,于是將同一個深度卷積神經(jīng)網(wǎng)絡(luò)的不同層的輸出之間用簡單的哈達(dá)碼計算模擬交互過程,實(shí)現(xiàn)了層間交互。HQP 認(rèn)為,單一的層間或?qū)觾?nèi)交互存在信息交互不完全的缺點(diǎn),于是將HBP 與FBP 相結(jié)合,實(shí)現(xiàn)了層間層內(nèi)交互。因此,可以得出層內(nèi)交互、層間交互、和兩者結(jié)合之間的有效性是遞增的,但是HQP、HBP 都只是在2 個層之間做交互,且都是弱交互的。原因如下:
1)表1 對比分析了不同池化結(jié)構(gòu)的抑制干擾能力,事實(shí)表明,在交互層數(shù)為1~3 層時,層數(shù)越多,抑制效果越好;但是Wang等人[16]驗(yàn)證了4層交互,發(fā)現(xiàn)效果與3層幾乎一致,這表明,3層交互已經(jīng)達(dá)到最佳抑制效果,繼續(xù)增加交互層已然無法進(jìn)一步增加效果,也即跨層交互中HTP 是上限,無法再通過增加層的方式實(shí)現(xiàn)更優(yōu)性能。
2)在圖3 中HCP-1 表示交互前的單層特征圖,HCP-2 表示2 層交互特征圖,HCP 表示3 層交互特征圖,HCP-4表示4層交互特征圖,能夠發(fā)現(xiàn):①單層特征圖(類比B-CNN、FBP)含有大量的冗余信息;②2層交互(類比HBP、HQP、CBP 等)仍然存在干擾信息,這對FGVC 往往是不利的;③3 層交互幾乎能夠完全抑制干擾信息,并保留關(guān)鍵區(qū)域;④4 層交互由于需要5 層特征之間交互,因此會帶來計算量大幅增加和過度抑制的問題,為了權(quán)衡計算量與分類精度,本文采用3層交互HTP作為交互框架。
圖3 HCP不同交互方式的特征圖可視化
在復(fù)雜的場景中,人類能夠自然而有效地找到引人注目的地方。受此觀察的啟發(fā),注意力機(jī)制被引入到計算機(jī)視覺領(lǐng)域[20]。分層雙線性池化HBP 構(gòu)造的思想是通過不同感受野的特征相互作用以抑制背景干擾。因此,本文考慮將HBP與現(xiàn)有的注意機(jī)制相結(jié)合。
在ResNet 中,前一個特征感受野較小,后一個特征感受野較大的特點(diǎn)可以通過將HBP 與注意力機(jī)制相結(jié)合并嵌入ResNet 以增強(qiáng)注意力機(jī)制定位和抑制干擾能力。圖4 展示了如何將HBP 這種交互的思想引入到通道注意力機(jī)制這一過程,右圖的特征提取網(wǎng)絡(luò)(Feature Extraction Network,F(xiàn)EN)[21]描述了如何將SENet 與交互思想結(jié)合并嵌入到ResNet-34 中,當(dāng)然注意力機(jī)制的選擇還可以包括但不限于SENet[20]、GSoP-Net[22]和ECA-Net[23]等。
圖4 提出的IAM與SENet融合結(jié)構(gòu)圖
假設(shè)使用的通道注意力機(jī)制計算過程用符號CA表示,以ResNet[18]作為骨干網(wǎng)絡(luò),由殘差對應(yīng)的輸入輸出關(guān)系定義y=R(x)+x,那么將HBP 模塊與通道注意力機(jī)制融合后輸出變?yōu)椋?/p>
本章對GCI 及其包含的2 個模塊進(jìn)行廣泛的驗(yàn)證。首先,介紹參數(shù)設(shè)置;其次,重點(diǎn)評估不同的設(shè)置對模型的影響以及幾種常見池化方式的對比,以選擇合適的模型;最后,將GCI與最先進(jìn)的方法進(jìn)行比較,并對模型可解釋性進(jìn)行分析。實(shí)驗(yàn)在配置為Intel(R) Xeon(R) Gold 6330 CPU@2.00 GHz 和單個RTX 3090 GPU 的服務(wù)器上進(jìn)行,使用的深度學(xué)習(xí)框架為Pytorch1.9.0。
2.1.1 數(shù)據(jù)集
在3 個細(xì)粒度基準(zhǔn)數(shù)據(jù)集上,即CUB-200-2011[24]、Stanford-Cars[25]和FGVC-Aircraft[26],評估本文提出的模型。表2統(tǒng)計了數(shù)據(jù)集的信息。
表2 實(shí)驗(yàn)使用的細(xì)粒度基準(zhǔn)數(shù)據(jù)集
CUB-200-2011 由加州理工學(xué)院于2010 年發(fā)布,是細(xì)粒度圖像識別研究領(lǐng)域的基準(zhǔn)數(shù)據(jù)集。數(shù)據(jù)集中有11788張鳥的圖像,包括200個子類,將其劃分為訓(xùn)練集5994張和測試集5794張。每張圖像都提供了圖像類別標(biāo)簽。另外2 個數(shù)據(jù)集由不同的機(jī)構(gòu)發(fā)布,也是細(xì)粒度基準(zhǔn)數(shù)據(jù)集。
由于數(shù)據(jù)集歸一化尺寸不同會給實(shí)驗(yàn)結(jié)果帶來不同的影響,因此本文研究與HBP[9]和HQP[12]做類似的歸一化處理,將每個數(shù)據(jù)集對應(yīng)的圖像歸一化為固定大小,即對于CUB-200-2011、Stanford-Cars 和FGVC-Aircraft 中圖像分別歸一化為600×600、500×500和500×480。
2.1.2 參數(shù)設(shè)置
本文研究使用ResNet 作為骨干網(wǎng)絡(luò),并在ImageNet上進(jìn)行預(yù)訓(xùn)練,刪除原始的全連接層,并將全局平均池化層用HCP 替代。值得注意的是,在ResNet中間加入交互注意力機(jī)制的位置與SENet[20]一致。訓(xùn)練采用先凍結(jié)骨干網(wǎng)絡(luò)參數(shù)訓(xùn)練池化層和分類層,最后微調(diào)全部參數(shù)。即:1)凍結(jié)階段,初始學(xué)習(xí)率為1.0,使用動量參數(shù)為0.9、權(quán)值衰減為1E-5 的SGD 優(yōu)化算法優(yōu)化池化層和分類層參數(shù),訓(xùn)練80 個周期,每40 個周期學(xué)習(xí)率衰減10 倍;2)微調(diào)階段,特征提取層初始學(xué)習(xí)率為0.01,池化層初始學(xué)習(xí)率為0.1,使用動量參數(shù)為0.9、權(quán)值衰減為1E-5 的SGD 優(yōu)化全部層參數(shù),訓(xùn)練160 個周期,且每40 個周期學(xué)習(xí)率衰減10 倍。使用FGVC 任務(wù)最常用的準(zhǔn)確率作為評價指標(biāo)。
為了簡單、清晰地展示HCP 池化結(jié)構(gòu)的有效性,本文研究在3 個細(xì)粒度基準(zhǔn)數(shù)據(jù)集CUB-200-2011、Stanford-Cars 和FGVC-Aircraft 上進(jìn)行對比實(shí)驗(yàn),以評估HCP 的有效性。主要從2 個角度分析HCP 的有效性:1)比較HCP和其他池化結(jié)構(gòu)在3個基準(zhǔn)數(shù)據(jù)集上的準(zhǔn)確率、在數(shù)據(jù)集FGVC-Aircraft 上單次訓(xùn)練耗費(fèi)的時間(Tr-Time);2)將本文研究衍生模型與HCP對比,一方面是為了說明HCP 的有效性,另一個方面是分析為什么選擇HCP的原因。
2.2.1 HCP和其他池化結(jié)構(gòu)對比
表3 對比不同池化結(jié)構(gòu)的結(jié)果及在FGVCAircraft 數(shù)據(jù)集上訓(xùn)練時間。其中FBP 使用conv5_3層;mFBP(m=4)將conv4_6、conv5_1、conv5_2 和conv5_3 這4 層特征的層內(nèi)交互的拼接作為細(xì)粒度圖像的特征;CBP 使用conv5_3 和conv5_2 做層間交互計算得到細(xì)粒度圖像特征;HBP 使用conv5_3、conv5_2 和conv5_1 兩兩交互后拼接作為細(xì)粒度圖像特征;HQP 使用conv5_3、conv5_2 和conv5_1,先計算HBP層間交互,再計算FBP 層內(nèi)交互;HTP 使用conv5_3、conv5_2 和conv5_1 這3 層交互作為細(xì)粒度圖像特征;mHTP 使用conv5_3、conv5_2、conv5_1 和conv4_6 每3層交互并拼接作為細(xì)粒度圖像特征;HCP使用conv5_3、conv5_2、conv5_1 和conv4_6 這4 層先計算HTP 層間交互,再分別計算輸出的FBP交互。
表3 不同池化模型的Top-1準(zhǔn)確率和模型單個訓(xùn)練周期耗費(fèi)時間對比
1)HCP性能定量分析。
表3 比較了基本的分層雙三次池化HCP 與其它池化結(jié)構(gòu)(FBP、mFBP、CBP、HBP、HQP 和HTP)的有效性和計算效率。表3 中所有池化結(jié)構(gòu)均采用ResNet-34作為骨干網(wǎng)絡(luò)。
最后,HCP 使用的計算方式為2 個特征之間的點(diǎn)乘,其輸出與輸入維度一致,均為2048,因此HCP 的維度是8192,而B-CNN 的維度是256×103,相比之下,HCP 維度更低,能夠有效避免過擬合和收斂慢的問題。
通過觀察表3 前4 列有效性對比,可以得出以下幾點(diǎn)結(jié)論:1)mFBP的性能優(yōu)于FBP,說明了中間層具有互補(bǔ)作用,互補(bǔ)功能能夠幫助模型提升分類效果;2)CBP略優(yōu)于mFBP和FBP,說明層間交互有效;3)在3 個數(shù)據(jù)集上,HQP 比FBP 和HBP 分別高出約2 和1個百分點(diǎn),這說明層間層內(nèi)交互結(jié)合優(yōu)于層內(nèi)交互和層間交互單獨(dú)使用;4)mHTP 優(yōu)于HTP,說明多層交互并拼接比單獨(dú)的3 層間交互更有效;5)mHTP 優(yōu)于HQP,但是HTP 精度略低于HQP,再結(jié)合圖3,可以發(fā)現(xiàn)聚合3 層交互抑制效果更好。另外,通過觀察HCP的3 層交互的輸出特征,發(fā)現(xiàn)輸出大多是稀疏的,在輸入到分類層時,稀疏往往能夠緩解過擬合[10]。鑒于這些結(jié)論,HCP取得最優(yōu)的效果是合理的。
通過觀察表3 最后一列的統(tǒng)計結(jié)果,說明盡管HCP 在HQP 和HBP 的基礎(chǔ)上增加了一層進(jìn)行交互,但是計算效率受影響并不是很明顯,也進(jìn)一步說明了HCP可用性。
2)可視化分析。
本文研究將HTP 和HCP 模型中外積之前的交互特征圖可視化。如圖5 所示,2 個特征差異并不是很明顯,因此,本文任務(wù)造成2 個模型效果存在差異的原因在于是否使用層內(nèi)交互。
圖5 HCP與HTP的特征圖對比
2.2.2 本文設(shè)計思路衍生模型的結(jié)果對比
在設(shè)計HCP時,本文研究分析了不同的融合方式以獲得最好的效果,圖6 描述了本文研究構(gòu)建的一個衍生模型,名為H(B+T)P,探索全層間交互是否有效。表4 列出了幾個池化結(jié)構(gòu)在數(shù)據(jù)集FGVC-Aircraft 上的分類結(jié)果。從表4 可以看出,H(B+T)P 以2 次交互獲得比HTP和HBP更好的分類效果,但是增加并不明顯,進(jìn)一步說明了在HTP 中加入層內(nèi)交互是必要的。表4中所有模型的骨干網(wǎng)絡(luò)均為ResNet-34。
圖6 HBP+HTP池化結(jié)構(gòu)圖
表4 本文研究設(shè)計的衍生模型效果對比
為評估IAM的有效性,本文進(jìn)行一系列的消融實(shí)驗(yàn),并將結(jié)果匯總至表5。由于注意力機(jī)制SENet 在常規(guī)分類任務(wù)中一般使用的是ResNet-50 作為骨干網(wǎng)絡(luò),因此,表5中所有實(shí)驗(yàn)結(jié)果均采用的是ResNet-50,數(shù)據(jù)集使用FGVC-Aircraft。其中SENet表示骨干網(wǎng)絡(luò)為SENet[20],池化層為全局平均池化;HCP 表示骨干網(wǎng)絡(luò)為ResNet-50,池化層為HCP;HSENet(HCP+SENet)表示骨干網(wǎng)絡(luò)為SENet,池化層為HCP;IAM-SE 表示骨干網(wǎng)絡(luò)為融入IAM 的SENet,池化層為全局平均池化;最后,GCI50 表示骨干網(wǎng)絡(luò)為IAM-SE,池化層為HCP。
表5 IAM效果評估對比
由表5 可以看出,SENet 應(yīng)用于FGVC 任務(wù)并不能實(shí)現(xiàn)很好的效果,將SENet 的平均池化層改為HCP,精度能夠提高7.3 個百分點(diǎn),將IAM 融入SENet能夠提高2.5 個百分點(diǎn),將2 種融合能夠?qū)崿F(xiàn)最好效果93.6%,GCI50 相比SENet、HSENet 和IAM-SE 精度分別提升了8.4、5.1 和5.9 個百分點(diǎn),效果提升顯著,說明將IAM-SE與HCP融合是有效的。
圖7 為GCI 和HCP 特征可視化對比圖,進(jìn)一步說明HCP 融入IAM-SE 后能夠識別到更多具有鑒別性的特征。
圖7 GCI和HCP特征可視化對比
2.4.1 GCI使用不同骨干網(wǎng)絡(luò)效果評估
表6 統(tǒng)計了GCI 使用不同骨干網(wǎng)絡(luò)的效果,可以看出,不同的骨干網(wǎng)絡(luò)對模型精度影響較大,在FGVC-Aircraft 數(shù)據(jù)集上,使用ResNet-34 時,GCI 較HCP 僅提升了0.2 個百分點(diǎn),提升不明顯;當(dāng)使用ResNet-50 作為骨干網(wǎng)絡(luò),由表5 可以看出,HCP 的準(zhǔn)確率為92.5%,加入IAM-SE 后,提升至93.6%,獲得了1.1 個百分點(diǎn)的改進(jìn)。造成這種差距的原因在于注意力機(jī)制在通道數(shù)較少時,效果并不顯著[20],而ResNet-101 的最大通道數(shù)與ResNet-50 一致,故將骨干網(wǎng)絡(luò)改為ResNet-101 并不會繼續(xù)獲得很大提升。鑒于計算效率考慮,使用ResNet-50 是合理的選擇。
表6 GCI使用不同骨干網(wǎng)絡(luò)效果評估
2.4.2 GCI與相關(guān)模型及最新模型結(jié)果對比
本文對比與本文研究相關(guān)的一些模型,包含:1)層內(nèi)交互的B-CNN[8]、iSQRT-COV[19];2)基于層間交互的HBP[9]、HBPASM[11]、HTP[16];3)融入層間層內(nèi)交互的HQP[12]和MSHQP[12];4)基于用于FGVC 的特定注意力機(jī)制AC-Net[27]、TASN[1]和AP-CNN[28]。注意,表7 中用Birds 表示CUB-200-2011,Cars 表示Stanford-Cars,Aircrafts 表示FGVC-Aircraft,如無特殊說明,均按此順序排列。
表7 不同方法在3個實(shí)驗(yàn)數(shù)據(jù)集上的結(jié)果對比
首先是與基于雙線性池化的方法進(jìn)行比較,這類模型是層內(nèi)交互的。GCI50 較B-CNN 在3 個數(shù)據(jù)集上分別提升了4.1、4.1 和9.5 個百分點(diǎn),提升非常明顯,較iSQRT-COV 而言,Birds 數(shù)據(jù)集上精度一致,在Cars數(shù)據(jù)集和Aircrafts數(shù)據(jù)集上分別提升了1.9和3.6個百分點(diǎn),說明GCI這種融入交互注意力機(jī)制和層間層內(nèi)交互的架構(gòu)是有效的,能夠取得比單一的層內(nèi)交互更好的效果。
其次是與基于層間交互的模型比較。GCI50在3個數(shù)據(jù)集獲得相比HBP50 分別提升了2.1、1.8 和2.5個百分點(diǎn),相比HBPASM 分別提升了0.9、0.5和1.2個百分點(diǎn),相比HTP(ResNet-34)分別提升了2.0、2.4 和2.9個百分點(diǎn)。
然后是與基于層間層內(nèi)交互的模型比較。GCI50 較雙二次池化HQP 在3 個數(shù)據(jù)集上分別提升了1.6、1.8 和2.5 個百分點(diǎn),與融入特征選擇的雙二次池化MSHQP 在Birds數(shù)據(jù)集上獲得幾乎一致的精度,在Cars 和Aircrafts 數(shù)據(jù)集上分別提升了0.4 和0.9 個百分點(diǎn),說明交互注意力機(jī)制有效。
最后是與基于注意力機(jī)制的模型比較。GCI50在Birds 和Cars 數(shù)據(jù)集上與AC-Net 實(shí)現(xiàn)了幾乎一樣的效果,但是在Aircrafts 數(shù)據(jù)集上,提升了1.2 個百分點(diǎn);較TASN在Birds和Cars上分別提升了0.2和0.9個百分點(diǎn);與AP-CNN 相比,在Birds 數(shù)據(jù)集上低了0.3個百分點(diǎn),但是在另外2 個數(shù)據(jù)集(Cars 和Aircrafts)上分別提升了1.1 和1.4 個百分點(diǎn),說明在Birds 數(shù)據(jù)集上,GCI 并不是絕對有效的,這跟Birds 這個數(shù)據(jù)集太過復(fù)雜有一定關(guān)系,但是GCI101 與AP-CNN 在Birds上結(jié)果對比,能夠?qū)崿F(xiàn)幾乎一致的精度。
綜上所述,本文提出的GCI 能夠有助于找到那些相似子類別間細(xì)微的差異區(qū)域;此外,跨層交互注意力機(jī)制能夠幫助改善常規(guī)通道注意力機(jī)制在FGVC 領(lǐng)域的全局建模能力,有利于學(xué)習(xí)到更有效的鑒別特征。
本文提出了一種新的全局跨層交互網(wǎng)絡(luò),即GCI,用于細(xì)粒度圖像分類。其中包含一個雙三次池化發(fā)現(xiàn)更好的特征相關(guān)性,一定程度上解決了雙二次池化背景復(fù)雜、尺度小的問題。交互注意力機(jī)制將SENet 這類通道注意力機(jī)制成功用于細(xì)粒度圖像分類任務(wù),并將雙三次池化與交互注意力機(jī)制有效融合,在3 個細(xì)粒度基準(zhǔn)數(shù)據(jù)集上評估了設(shè)計的網(wǎng)絡(luò),并與一些相關(guān)的池化結(jié)構(gòu)和相關(guān)的模型進(jìn)行了對比,GCI 實(shí)現(xiàn)了同類模型的最優(yōu)效果。今后,將集中分析幾個有待解決的問題:1)利用更大的數(shù)據(jù)集(如ImageNet)預(yù)訓(xùn)練本文模型,并在細(xì)粒度圖像分類任務(wù)上進(jìn)行微調(diào);2)利用多模態(tài)數(shù)據(jù)集提高性能;3)應(yīng)用于其他領(lǐng)域,如語義分割、小樣本圖像識別和對比學(xué)習(xí)等。