經(jīng)卓勛,劉建明
(江西師范大學(xué)計(jì)算機(jī)信息工程學(xué)院,江西 南昌 330022)
細(xì)粒度識(shí)別分類是計(jì)算機(jī)視覺領(lǐng)域熱門的研究問題,其主要是對(duì)數(shù)據(jù)中在粗粒度的大類下的細(xì)粒度子類進(jìn)行分類.在細(xì)粒度圖像分類任務(wù)中,不同子類別間存在較高相似度,這種高相似度往往只存在局部的且細(xì)微的差異,如不同鳥類間鳥喙的色塊差異或羽毛花紋的不同等,這也使得相對(duì)于一般的圖像分類算法,細(xì)粒度圖像分類更困難且更具挑戰(zhàn)性.因此,在細(xì)粒度識(shí)別任務(wù)中,通常采用引入注意力機(jī)制的方法探索目標(biāo)圖像中細(xì)微的、最具有判別力的部位,但此類方法通常只考慮圖像樣本所提供的特征,從而發(fā)掘更多的目標(biāo)部件,并在單模態(tài)場(chǎng)景下做識(shí)別,最終忽略了其他模態(tài)的信息來源.
最近,基于多模態(tài)信息融合的細(xì)粒度識(shí)別方法引起了越來越多學(xué)者的關(guān)注,因?yàn)槿祟愒趯W(xué)習(xí)認(rèn)識(shí)事物的過程中,不僅從圖像樣本得到知識(shí),還從文本、口頭描述中認(rèn)識(shí)事物,所以該類方法就基于這種思路,將高層次的語義信息(如人工標(biāo)簽、屬性注釋等)作為輔助,結(jié)合圖像數(shù)據(jù)建立聯(lián)合模型.如雙模態(tài)漸進(jìn)式掩模注意力模型(Bi-modal PMA)[1]通過CNN(convolutional neural network)[2]和LSTM(long short-term memory)[3]分別將圖像和文本數(shù)據(jù)編碼,通過自注意力模塊分別從上述2個(gè)單一模態(tài)收集信息,并通過一個(gè)查詢-關(guān)系模塊建立雙模態(tài)信息之間的關(guān)系;CVL[4]方法則是采取視覺流和語言流同時(shí)編碼的雙分支模型,但這類方法需要構(gòu)建雙分支模型結(jié)構(gòu),且不易改動(dòng),在訓(xùn)練和測(cè)試階段需要雙模態(tài)數(shù)據(jù)同時(shí)參與,復(fù)雜度較高.
為解決上述問題,本文提出了一種可隨意插入任何卷積神經(jīng)網(wǎng)絡(luò)的、融合預(yù)測(cè)屬性的注意力算法,該算法主要由2個(gè)部分組成:(a)屬性預(yù)測(cè)模塊APM(attribute-predicted module),該模塊通過已知屬性語義向量信息構(gòu)建類別屬性向量矩陣,用于預(yù)測(cè)所有輸入圖像樣本在屬性語義空間上的屬性語義向量;(b)基于預(yù)測(cè)屬性引導(dǎo)的通道注意力模塊PACAM(predicted-attribute-guided channel attention module),該模塊以上一層特征圖和屬性預(yù)測(cè)模塊APM的預(yù)測(cè)屬性語義向量作為輔助輸入,挖掘出特征圖潛在的特征語義表示,且測(cè)試階段不需要屬性語義數(shù)據(jù).
細(xì)粒度圖像分類是在計(jì)算機(jī)視覺領(lǐng)域中十分具有挑戰(zhàn)性的問題,在現(xiàn)實(shí)場(chǎng)景中有著廣泛的應(yīng)用前景.目前主流的細(xì)粒度圖像分類方法可以分為3類:(a)端到端的特征學(xué)習(xí)方法;(b)先檢測(cè)對(duì)象的多個(gè)部件,再?gòu)囊讯ㄎ坏牟考^(qū)域中提取圖像特征的方法;(c)基于多模態(tài)信息融合的方法.
第1種方法是構(gòu)建端到端的深度學(xué)習(xí)框架進(jìn)行特征編碼,在訓(xùn)練中只使用圖像級(jí)標(biāo)簽構(gòu)建模型學(xué)習(xí)更有判別力的特征.如Gao Yu等[5]提出的通道交互網(wǎng)絡(luò),可通過圖像的特征圖得到通道間的差距信息,再與原始特征圖的特征結(jié)合,從而增強(qiáng)通道所學(xué)習(xí)到的判別特征.Zhuang Peiqin等[6]提出了一種注意力成對(duì)交互網(wǎng)絡(luò),通過對(duì)輸入的2張圖像得到一個(gè)共同特征向量,查找特征通道中包含的對(duì)比線索.
第2種方法是先檢測(cè)對(duì)象的某些部位,從部位檢測(cè)特征來識(shí)別對(duì)象.早期工作需要數(shù)據(jù)庫(kù)的外部標(biāo)注信息,最近的方法只需提供分類標(biāo)簽,不需要額外標(biāo)注.如Hu Tao等[7]提出的WS-DAN(weakly supervised data augmentation network)網(wǎng)絡(luò),采用雙線性注意力池化機(jī)制生成注意力圖,并使用生成的注意力圖來生成Mask掩碼遮罩,再應(yīng)用到原圖像上實(shí)現(xiàn)數(shù)據(jù)增強(qiáng).Zheng Heliang等[8]提出了三線性注意力采樣網(wǎng)絡(luò)TASN(tri-linear attention sampling network),在其之前的細(xì)粒度識(shí)別的方法中,提取的對(duì)象部位的數(shù)量是預(yù)定義的,缺乏靈活性,且計(jì)算成本較高,而TASN通過一個(gè)三線注意力機(jī)制模塊做細(xì)節(jié)定位,通過知識(shí)蒸餾的方式來優(yōu)化主網(wǎng)絡(luò).Du Ruoyi等[9]則致力于將多粒度的圖像特征融合,用一個(gè)拼圖生成器生成不同粒度級(jí)別的圖像,提出了一個(gè)新的漸進(jìn)式訓(xùn)練策略,在每個(gè)訓(xùn)練步驟中融合來自先前粒度級(jí)別的數(shù)據(jù).Ding Yifeng等[10]同時(shí)運(yùn)用高層和低層的特征信息,建立了注意力金字塔卷積神經(jīng)網(wǎng)絡(luò),該模型具有自上而下的特征金字塔結(jié)構(gòu)和自下而上的注意力金字塔結(jié)構(gòu).A. Behera等[11]提出了一種上下文感知注意力池,使模型更好地學(xué)習(xí)物體各部位特征.Ji Ruyi等[12]將決策樹和神經(jīng)網(wǎng)絡(luò)相結(jié)合,提出了一種注意力卷積二叉神經(jīng)樹結(jié)構(gòu)做分類,在樹結(jié)構(gòu)的邊緣加入卷積計(jì)算,使用Attention Transformer模塊讓模型捕捉具有判別力的特征,從而讓分支路由模塊來決定樣本送往左子樹還是右子樹.而He Ju等[13]基于Vision-Transformer結(jié)構(gòu)設(shè)計(jì)了TransFG模型,考慮到圖像空間上的相鄰結(jié)構(gòu),在將圖像序列化時(shí)采用重疊的patch方法,整合注意力權(quán)重至注意力映射,保留全局信息,計(jì)算區(qū)域的對(duì)比損失從而定位圖像的差異性局部區(qū)域,以此進(jìn)行細(xì)粒度分類.
第3種方法是基于多模態(tài)信息融合建立模型.人類不僅從物體對(duì)象的外觀上認(rèn)識(shí)對(duì)象,也可從多種渠道獲取對(duì)象的相關(guān)知識(shí).因此,在擁有圖像數(shù)據(jù)的基礎(chǔ)上,將多模態(tài)信息數(shù)據(jù)作為輔助,提高網(wǎng)絡(luò)的特征表達(dá)性能.在細(xì)粒度分類領(lǐng)域中,目前主要使用的輔助分類信息為文本和數(shù)據(jù)屬性.Chen Tianshui等[14]提出了知識(shí)嵌入式表示學(xué)習(xí)(knowledge-embedded representation learning,KERL)的框架,通過引入屬性和知識(shí)圖來處理細(xì)粒度圖像識(shí)別的任務(wù).Sun Liang等[15]通過一個(gè)文本嵌入網(wǎng)絡(luò)將圖像的文本描述編碼為向量表示,并與圖像編碼網(wǎng)絡(luò)的向量連接輸入雙線性網(wǎng)絡(luò),得到了較高的準(zhǔn)確率.還有使用更多模態(tài)的方法,如Zhu Linchao等[16]利用視頻和文字,設(shè)計(jì)了全局動(dòng)作、局部區(qū)域以及語言描述3種模態(tài)的輸入進(jìn)行多模態(tài)特征學(xué)習(xí),提高了人體細(xì)粒度動(dòng)作圖像識(shí)別的準(zhǔn)確率.
但是以上結(jié)合多模態(tài)信息的方法,通常有著比較復(fù)雜的結(jié)構(gòu),或者在訓(xùn)練與測(cè)試階段都需要額外的屬性或者文本信息作為輔助,模型的靈活度較差,適用范圍小.因此,本文提出了基于預(yù)測(cè)屬性引導(dǎo)的注意力機(jī)制的細(xì)粒度分類方法.
人類在對(duì)接收的視覺信息進(jìn)行處理時(shí),會(huì)選擇性地關(guān)注某些關(guān)鍵性的細(xì)節(jié),而忽略其他信息.注意力模塊將人類認(rèn)識(shí)圖像信息的注意力機(jī)制應(yīng)用到計(jì)算機(jī)視覺領(lǐng)域,讓計(jì)算機(jī)學(xué)習(xí)人類視覺認(rèn)知的思維方式處理視覺信息,使模型在處理信息的過程中更多地關(guān)注關(guān)鍵部分的特征.
V. Mnih等[17]在傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)中應(yīng)用了注意力機(jī)制,通過注意力機(jī)制來學(xué)習(xí)一幅圖像中需要關(guān)注的部分,而不是直接處理整幅圖像的像素,同時(shí)也降低了任務(wù)的復(fù)雜度.
Woo Sanghyun等[18]提出了一種卷積注意力模塊(convolutional block attention module,CBAM),該模塊分為通道注意力模塊與空間注意力模塊,先后在通道與空間維度上尋找圖像與最終輸出結(jié)果相關(guān)聯(lián)的區(qū)域.
同樣,還有受基于CBAM的工作啟發(fā)后的延伸方法:BAM(bottleneck attention module)[19],該模塊的構(gòu)思是將CBAM中通道與空間注意力模塊的連接方式從串聯(lián)改為并聯(lián),但同時(shí)CBAM需要通過通道間的池化處理,而BAM則全部通過卷積或空洞卷積完成,融合了多感受野的信息,比CBAM計(jì)算量更大,但是包含更多的信息.
本文提出注意力引導(dǎo)的通道注意力模塊(PACAM),通過屬性預(yù)測(cè)模塊(APM)將圖像特征圖數(shù)據(jù)映射到一個(gè)屬性向量語義空間,并對(duì)輸入的每個(gè)樣本做屬性預(yù)測(cè),得到一個(gè)屬性語義向量(以下簡(jiǎn)稱屬性向量)作為注意力機(jī)制的輔助特征,在特征圖的通道維度上應(yīng)用注意力機(jī)制.在應(yīng)用到細(xì)粒度分類任務(wù)常用的骨干網(wǎng)絡(luò)框架下,其準(zhǔn)確率得到了明顯提升.
本文提出的基于預(yù)測(cè)屬性引導(dǎo)的通道注意力算法是通過屬性信息來引導(dǎo)通道注意力,模塊結(jié)構(gòu)由屬性預(yù)測(cè)模塊(APM)與預(yù)測(cè)屬性引導(dǎo)的通道注意力模塊(PACAM)組成.
本文算法使用VGG-19、Resnet-50、Bilinear-CNN 3種在圖像細(xì)粒度識(shí)別領(lǐng)域中常用的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)作為骨干(Backbone)網(wǎng)絡(luò),可以在任意的CNN網(wǎng)絡(luò)結(jié)構(gòu)后添加本文提出的PACAM與APM進(jìn)行端到端的訓(xùn)練.在通道維度上使用屬性語義向量作為輔助引導(dǎo)注意力模塊學(xué)習(xí),從而增強(qiáng)網(wǎng)絡(luò)的表達(dá)能力.
算法整體結(jié)構(gòu)圖如圖1所示,上一層特征圖作為模塊輸入,C、H、W分別為特征圖通道數(shù)、特征圖高度、寬度,Dattr為預(yù)測(cè)屬性向量維度,K為總類別數(shù).其中APM用于學(xué)習(xí)一個(gè)屬性語義空間,將類別和樣本映射到語義空間中,讓視覺分類器學(xué)習(xí)一個(gè)特征圖到屬性向量的映射.以圖像的特征圖作為輸入,得到預(yù)測(cè)的樣本的屬性向量.
PACAM以輸入特征圖以及從APM的輸出屬性向量作為輸入,用于將預(yù)測(cè)的屬性向量與圖像特征圖的向量表示連接,尋找圖像特征中更具有判別力的部分,得到加權(quán)后的特征圖作為下一層輸入.
圖1 算法總體結(jié)構(gòu)示意圖
屬性預(yù)測(cè)模塊將學(xué)習(xí)一個(gè)屬性語義空間,將樣本特征圖映射到這個(gè)空間中,得到特征圖在屬性語義空間中的屬性語義表示.屬性預(yù)測(cè)方法使用卷積神經(jīng)網(wǎng)絡(luò)作為骨干網(wǎng)絡(luò),網(wǎng)絡(luò)輸出的特征圖作為輸入.本文的屬性預(yù)測(cè)模塊的主要結(jié)構(gòu)圖如圖2所示.
圖2 屬性預(yù)測(cè)模塊結(jié)構(gòu)示意圖
假設(shè)輸入的某一層特征圖為FIn,其維度為C×H×W.屬性預(yù)測(cè)模塊的類別屬性向量矩陣由所有類別的屬性向量按序排列得到,類別的屬性向量維度為1×1×Dattr,而類別屬性向量矩陣Mattr的維度為1×K×Dattr,即每個(gè)類別存在一個(gè)1×Dattr維度的向量表示,Dattr為屬性向量維度,大小和所使用數(shù)據(jù)集中樣本提供屬性數(shù)目相等.
在APM模塊中,在構(gòu)建類的全部類別屬性向量矩陣(以下簡(jiǎn)稱為類別屬性矩陣)時(shí),若數(shù)據(jù)庫(kù)沒有給出每個(gè)類的屬性向量,則取該類所有樣本實(shí)數(shù)值向量的平均值.考慮到每個(gè)屬性對(duì)于類別目標(biāo)的重要程度不同,將每個(gè)類的屬性向量歸一化到0~1之間,每個(gè)屬性向量為連續(xù)性實(shí)值向量,則重要的屬性能夠獲得更大的權(quán)值,不重要的屬性的權(quán)值較小.相比于不重要的屬性,重要的屬性在訓(xùn)練中能發(fā)揮更大的影響.
在本模塊中,獲得預(yù)測(cè)的屬性向量的公式為
attr(FIn;θ)=σ(fc(avg(FIn;θ)),
其中avg(·)為特征圖FIn經(jīng)過的全局平均池化層,fc為全連接層函數(shù),θ為全連接層可學(xué)習(xí)參數(shù),最終結(jié)果將向量映射到1×1×Dattr維度,σ為Sigmoid激活函數(shù),attr(FIn;θ)為預(yù)測(cè)出的屬性向量,其將作為PACAM的輸入,記為Vp.
在訓(xùn)練階段,最終預(yù)測(cè)結(jié)果的向量表示為
(1)
其中P(FIn;θ)為最后輸出的每個(gè)類別的概率分布.APM在模型訓(xùn)練階段最小化P(FIn;θ)與真實(shí)類別的One-Hot標(biāo)簽向量的交叉熵?fù)p失,而在訓(xùn)練階段優(yōu)化APM,該交叉熵?fù)p失函數(shù)可表示為
其中n為樣本數(shù),j表示第j個(gè)樣本,yjc為符號(hào)函數(shù),若樣本j真實(shí)類別為c則yjc取1,否則yjc取0,pjc樣本j屬于c類別的概率,即式(1)中得到的P(FIn;θ).而在測(cè)試階段,只輸出預(yù)測(cè)出的屬性向量作為通道注意力模塊的輸入.
屬性預(yù)測(cè)模塊使用對(duì)比損失函數(shù)來縮短當(dāng)前樣本屬性向量與同一類樣本屬性向量之間的距離,遠(yuǎn)離其他類別的樣本屬性向量.該對(duì)比損失函數(shù)可以表示為
其中2N表示在一個(gè)Batch中所有的樣本數(shù)量,z為當(dāng)前樣本編號(hào),a表示當(dāng)前預(yù)測(cè)屬性樣本的類別,vb,i表示在一個(gè)epoch中編號(hào)為i的屬于b類別的樣本,b∈K,cos〈·,·〉表示計(jì)算2個(gè)預(yù)測(cè)出的屬性向量之間的余弦相似度.
對(duì)比損失函數(shù)Lcons采用余弦相似度來計(jì)算2個(gè)向量之間的相似度,從而縮小同一類預(yù)測(cè)屬性向量的距離,遠(yuǎn)離其他類別的預(yù)測(cè)向量.
APM的總體損失函數(shù)為對(duì)比損失函數(shù)加上交叉熵?fù)p失函數(shù)Lce,即Lapm=Lce+αLcons,其中α為根據(jù)經(jīng)驗(yàn)設(shè)定的超參數(shù).
本文的算法是在CBAM的基礎(chǔ)上提出改進(jìn)的PACAM,改進(jìn)自CBAM在通道維度上的注意力模塊,并將由APM預(yù)測(cè)的屬性向量Vp作為引導(dǎo)輸入,通過屬性向量讓神經(jīng)網(wǎng)絡(luò)模型關(guān)注圖像信息中更具有判別力的部分.PACAM的算法流程如圖3所示.
圖3 屬性引導(dǎo)的通道注意力模塊結(jié)構(gòu)示意圖
此時(shí)輸入的特征圖FIn∈RC×H×W,記輸出的特征圖FOut∈RC×H×W,PACAM對(duì)輸入的特征圖FIn分別做全局最大池化與全局平均池化,得到2個(gè)維度相同的向量Vmax和Vavg,向量維數(shù)均為1×1×C.
將這2個(gè)向量和得到的預(yù)測(cè)屬性向量拼接,得到總維數(shù)為1×1×(C+Dattr)的2個(gè)維度相同的向量,再將這2個(gè)向量通過一個(gè)共享權(quán)值的多重感知機(jī)得到2個(gè)屬性向量V1和V2,它們的維數(shù)均為1×1×C.按元素求和并通過sigmoid函數(shù)后,輸出壓縮維數(shù)為1×1×C的通道注意力向量Va,將其與FIn做乘法,得到重組后的下一層特征圖FOut.
通道注意力向量Va的計(jì)算公式為
Va(FIn)=σ(MLP([avg(FIn);Vp])+MLP([max(FIn);
Vp])),
其中MLP為共享權(quán)重的多重感知機(jī),有一個(gè)隱藏層.進(jìn)一步可得
Va(FIn)=σ(W1(W0([avg(FIn);Vp]))+W1(W0·([max(FIn);Vp]))),
其中W0、W1分別為多重感知機(jī)中的可學(xué)習(xí)的權(quán)重參數(shù).W0∈R(C/r)×C),W1∈RC×C/r,r是可設(shè)定的系數(shù)且為削減參數(shù)開銷的比率.最后得到的通道注意力向量Va(FIn).
將向量Va(FIn)廣播到和特征圖相同的維度C×H×W,得到通道注意力圖Ma.
最后得到的下一層特征圖FOut的公式為
FOut=Ma?FIn.
APM的總損失函數(shù)是由APM的損失函數(shù)Lapm和主干網(wǎng)絡(luò)的交叉熵?fù)p失函數(shù)Lce之和,即
Lall=Lce+Lapm.
本文采用鳥類細(xì)粒度圖像數(shù)據(jù)集CUB-200-2011[20]作為實(shí)驗(yàn)數(shù)據(jù)集,因?yàn)楹袑傩孕畔⒌募?xì)粒度數(shù)據(jù)集較少,所以在細(xì)粒度圖像數(shù)據(jù)集中只有CUB鳥類數(shù)據(jù)集具有可靠清晰的屬性語義數(shù)據(jù).
該數(shù)據(jù)集包含200種鳥類,共有11 788幅圖,5 994幅訓(xùn)練圖,5 794幅測(cè)試圖,共設(shè)有羽毛顏色、背上顏色等312種屬性.在數(shù)據(jù)集中,每種鳥類具有連續(xù)的實(shí)數(shù)的312維屬性向量,某些種類的鳥類間的差異可能非常微小,如大天鵝和小天鵝,它們只有鳥喙的圖案判斷差異,觀察者很難準(zhǔn)確判斷圖像中鳥的類別,因此十分具有挑戰(zhàn)性.
本文的實(shí)驗(yàn)用的GPU為NVIDIA GTX 1080Ti,顯存為11 GB,CPU為Inter i7-7700,所用的實(shí)驗(yàn)系統(tǒng)為Ubuntu 16.04 LTS,CUDA 10.1,深度學(xué)習(xí)框架為Pytorch-1.6.0.
本文提出的預(yù)測(cè)屬性引導(dǎo)的注意力模塊能插入任意CNN網(wǎng)絡(luò)實(shí)現(xiàn)端到端的訓(xùn)練.在訓(xùn)練中,Batch Size設(shè)為16(即2N),α采用人工設(shè)置為0.1,采用SGD優(yōu)化器,初始學(xué)習(xí)率為0.001,每訓(xùn)練40個(gè)epoch將學(xué)習(xí)率乘以0.1衰減,因此在進(jìn)行至40個(gè)epoch以后總損失不再變化,判斷學(xué)習(xí)率過大,故將學(xué)習(xí)率乘以0.1并使得總損失函數(shù)值繼續(xù)收斂,共訓(xùn)練了130個(gè)epoch.
為了測(cè)試本文所提出的PACAM的性能,選擇了在細(xì)粒度識(shí)別領(lǐng)域比較常用的3種骨干網(wǎng)絡(luò)(VGG-19、Resnet-50、Bilinear-CNN)作為實(shí)驗(yàn)對(duì)象.
表1顯示了在使用不同的骨干網(wǎng)絡(luò)時(shí)設(shè)置的圖像大小以及模塊插入位置,考慮到本文提出的模塊加在不同網(wǎng)絡(luò)層數(shù)上會(huì)得到不同結(jié)果,因此在使用Resnet-50作為骨干網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)時(shí)考慮了多種情況.
表1 模塊性能測(cè)試實(shí)驗(yàn)設(shè)置
實(shí)驗(yàn)圖像的輸入分辨率統(tǒng)一變換至448×448,在實(shí)驗(yàn)中采用了左右隨機(jī)翻轉(zhuǎn)、隨機(jī)裁剪2種圖像增廣操作.使用了3種不同骨干網(wǎng)絡(luò),Resnet-50-b4/5表示將PACAM和APM添加到第4或第5組的Block的最后一個(gè)Bottleneck結(jié)構(gòu)之后(如conv5_3表示Block中第3個(gè)Bottleneck結(jié)構(gòu)位置),VGG-19網(wǎng)絡(luò)則加在第16個(gè)卷積層之后,其中conv5_4表示在第16個(gè)卷積層之后的位置.
B-CNN意為雙線性池化卷積神經(jīng)網(wǎng)絡(luò)(bilinear-CNN),采用Resnet-34網(wǎng)絡(luò)結(jié)構(gòu)作為其分支網(wǎng)絡(luò)的骨干網(wǎng)絡(luò),在表1中conv_fusion意味著將PACAM加在B-CNN雙分支的特征融合層之后.其在CUB數(shù)據(jù)集上的表現(xiàn)如表2所示.
表2 在CUB-200-2011數(shù)據(jù)庫(kù)上各算法性能比較
只使用Resnet-50網(wǎng)絡(luò)在CUB數(shù)據(jù)集上分類的結(jié)果為84.5%,在第5個(gè)block之后加入了本文所述的PACAM和APM以后,其鳥類分類的準(zhǔn)確率提高了2.6%.而VGG-19網(wǎng)絡(luò)使用PACANM比不使用PACAM僅提高了0.5%,雙線性網(wǎng)絡(luò)B-CNN在使用Resnet-34作為骨干網(wǎng)絡(luò)后提高了2.4%的準(zhǔn)確率.
在使用VGG-19的情況下提升情況較小,推測(cè)原因是通道維數(shù)的差異產(chǎn)生的影響,如在Resnet-50網(wǎng)絡(luò)的b4和b5這2種設(shè)置下b5的通道維數(shù)更大,也得到了更高的準(zhǔn)確率.且在實(shí)驗(yàn)中的Resnet-50骨干網(wǎng)絡(luò)輸入PACAM的特征圖通道維數(shù)比VGG-19網(wǎng)絡(luò)的特征圖通道維數(shù)更大,能夠在更多的通道中更好地尋找到其中應(yīng)當(dāng)?shù)玫疥P(guān)注的部分.
為了驗(yàn)證本文提出的通過預(yù)測(cè)屬性引導(dǎo)注意力的方法有效性,在性能測(cè)試的基礎(chǔ)上設(shè)計(jì)了消融實(shí)驗(yàn)(見表3).
表3 采用Resnet-50作為骨干網(wǎng)絡(luò)的消融實(shí)驗(yàn)結(jié)果
在表3中的消融實(shí)驗(yàn)是將3種模塊設(shè)計(jì)加入Resnet-50的conv5_3位置得到的實(shí)驗(yàn)結(jié)果,其中CBAM是使用沒有加入屬性語義信息的CBAM插入Resnet-50進(jìn)行的網(wǎng)絡(luò)實(shí)驗(yàn),準(zhǔn)確率僅有85.5%.
MAP是不使用預(yù)測(cè)屬性模塊,僅僅通過一個(gè)多重感知機(jī)模塊將圖像直接映射到屬性相同維度的向量,且未使用類屬性矩陣引導(dǎo)直接產(chǎn)生預(yù)測(cè)結(jié)果的方法.在PACAM+MAP的組合中,使用MAP替換本文的APM,將MAP方法得到的向量輸入PACAM得到的結(jié)果顯示:其在測(cè)試集上的準(zhǔn)確率比只使用CBAM的方法的準(zhǔn)確率更低,僅有84.9%,而在使用了本文提出的PACAM和APM的組合后,其測(cè)試集上的準(zhǔn)確率有了明顯提高.這說明加入屬性向量引導(dǎo)注意力的方法是有效的.
在實(shí)驗(yàn)中直接將圖像映射到向量維度造成識(shí)別精度的下降,以上結(jié)果說明:類別的屬性編碼確實(shí)能夠成為輔助信息做注意力引導(dǎo),關(guān)注重要的特征通道.而在進(jìn)行細(xì)粒度識(shí)別分割任務(wù)中,為了準(zhǔn)確分類差異小的子類對(duì)象,通常需要大量而準(zhǔn)確的各類標(biāo)簽,但讓模型學(xué)習(xí)這類信息較為困難.由于屬性信息帶有精確的類別差異知識(shí),所以本文實(shí)驗(yàn)將其編碼的實(shí)值屬性語義向量和圖像特征結(jié)合,提高了模型分類的性能和準(zhǔn)確率.
本文提出了一種基于預(yù)測(cè)屬性引導(dǎo)的通道注意力算法,該算法包含PACAM和APM,可以插入任意一種CNN網(wǎng)絡(luò).一方面,利用已有的類屬性向量構(gòu)成類屬性向量矩陣,通過APM建立屬性語義向量的預(yù)測(cè)模型,輸出預(yù)測(cè)屬性向量引導(dǎo)主干網(wǎng)絡(luò)的訓(xùn)練和測(cè)試;另一方面,通過PACAM模塊連接屬性向量和通道注意力向量,引導(dǎo)通道注意力算法尋找更具有判別力區(qū)域的特征通道.本文最后通過實(shí)驗(yàn)驗(yàn)證了該模塊的性能.
最后,本文算法未來考慮從如下一些方面改進(jìn):考慮屬性語義信息與圖像特征在空間方面的聯(lián)系,將空間信息結(jié)合語義向量進(jìn)一步做出研究和改進(jìn);考慮更多形式的語義信息,而屬性信息通常需要人工標(biāo)注,代價(jià)較高,可以考慮結(jié)合其他更易取得的數(shù)據(jù),如數(shù)據(jù)集的文本描述,將其與屬性結(jié)合、與圖像數(shù)據(jù)建立聯(lián)合判斷模型.