王培森 宋 彥 戴禮榮
(中國科學(xué)技術(shù)大學(xué)語音及語言信息處理國家工程實驗室,合肥,230027)
細粒度圖像分類(Fine-grained image classification)是近年來計算機視覺領(lǐng)域的熱點研究問題,其目的是對粗粒度大類別中更加細致的子類別進行劃分[1-2]。這些子類別通常具有較小的類間差異,往往需要依靠微小的局部差異對類別進行區(qū)分。如鳥類數(shù)據(jù)集中的環(huán)嘴鷗(Ring-billed gull)和加利福尼亞鷗(California gull)這兩種鳥類非常相似,僅喙部形態(tài)有較大不同,對于掌握相關(guān)知識的人類也有較高的辨別難度[3]。相比類間差異,細粒度圖像分類中通常存在較大的類內(nèi)差異,包括物體姿態(tài)、尺度、遮擋及背景等。特別地,在每一類別數(shù)據(jù)量較為有限,且沒有對于物體部位額外的人工標注信息的情況下,實現(xiàn)基于弱監(jiān)督信息的細粒度圖像分類,是一項極具挑戰(zhàn)性的任務(wù)。
針對細粒度圖像分類的特點和難點,引入視覺注意力[4]機制,突出圖像中具有區(qū)分性的重點部位,是近年來細粒度圖像分類研究中的常見思路。例如,Jaderberg等人[5]提出了空間變換網(wǎng)絡(luò)(Spatial transform network),利用軟性注意力(Soft attention)在特征圖上進行采樣,得到經(jīng)形態(tài)變換的特征,相比經(jīng)典卷積網(wǎng)絡(luò),能夠更有效地提取空間特征信息。Xiao等人[6]提出的兩級注意力模型(Two-level at?tention model)應(yīng)用了物體級(Object-level)和部位級(Part-level)兩種注意力,使用卷積網(wǎng)絡(luò)得到物體級信息,再使用聚類的方法得到重點局部區(qū)域,從而更為精確地利用多層次信息。Zhang等人提出的SP?DA-CNN[7]利用CUB鳥類數(shù)據(jù)集中的部位標注(Part annotation)訓(xùn)練檢測網(wǎng)絡(luò),得到對應(yīng)于數(shù)據(jù)集中鳥類7個不同部位的硬性注意力(Hard attention),將特征在相應(yīng)位置進行切割后用于圖像分類。Fu等人[8]將視覺注意力與遞歸結(jié)構(gòu)相結(jié)合,在遞歸網(wǎng)絡(luò)的每一層級對特征和注意力權(quán)重進行融合,從而在模型中結(jié)合了多個尺度的關(guān)鍵區(qū)域特征。
上文所述方法將注意力機制應(yīng)用于細粒度分類中取得了良好的效果,但其中注意力的作用仍有一定的限制:
(1)對于每次注意力與特征融合過程,注意力權(quán)重圖均為通道數(shù)為1的特征圖,沒有使用多維度的注意力特征,這限制了對于重點區(qū)域分布較為復(fù)雜的圖像特征提取能力。近年來,注意力機制在計算機視覺領(lǐng)域外的其他領(lǐng)域得到廣泛的應(yīng)用,其中,Vaswani等人提出的多端注意力(Multi-head atten?tion)機制[9]并行地產(chǎn)生多個注意力權(quán)重圖并同時與特征進行融合,使模型獲得對應(yīng)于輸入不同位置的注意力,這一方法在機器翻譯等任務(wù)上超越了此前基于復(fù)雜模型的方法,證明了多通道注意力可以提供更為有效全面的信息。
(2)注意力權(quán)重圖與圖像特征融合的方法較為簡單,一般采用的是將注意力權(quán)重圖與特征圖按位置將對應(yīng)元素相乘的方法,這樣一方面無法提取對于分類更為有效的高階信息,另一方面難以適應(yīng)形式更為復(fù)雜的多通道注意力特征。
基于上述分析,本文提出一種基于多通道注意力的細粒度圖像分類模型:提出一種基于神經(jīng)網(wǎng)絡(luò)的多通道注意力生成方法,通過提取多通道注意力權(quán)重圖,得到豐富的空間注意力信息;同時提出了一種新的注意力與特征融合方法,通過提取圖像特征對應(yīng)于注意力的高階信息,獲得對于圖像更具描述能力的高層特征。最終構(gòu)成可端對端訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)模型。在CUB-200-2011、FGVC-Aircraft和斯坦福Cars等常用細粒度圖像分類數(shù)據(jù)集上的實驗中,相比于近年主流細粒度圖像分類方法,本文模型獲得的分類精確度有顯著提升。
注意力的作用可視為從輸入信息中選擇一部分和任務(wù)相關(guān)的信息的過程,注意力權(quán)重即為這些信息 的索 引[4]。用 x1:N=[x1,…,xN]表示N個輸入信息,注意力變量z∈[1 ,N]可用于表示被選擇信息的索引位置,即z=i表示選擇了第i個輸入信息。對于使用軟性注意力的情況,可令αi表示在給定當前輸入信息x1:N情況下,選擇第i個輸入信息的概率,即需要提取的注意力權(quán)重[9],則有
式中:s(xi)為注意力打分函數(shù),可根據(jù)實際任務(wù)和情形選擇相應(yīng)的模型。例如,采用點積模型
式中 W 為可學(xué)習(xí)的網(wǎng)絡(luò)參數(shù)。
注意力權(quán)重作用于特征的方法可視為在一種信息選擇機制下對輸入信息進行編碼的過程[4],對于單一維度的軟性注意力權(quán)重圖,最為普遍的注意力與特征融合方式是將注意力權(quán)重以點積的形式將對應(yīng)位置元素相乘
本文所述深度神經(jīng)網(wǎng)絡(luò)模型可分為特征提取、注意力權(quán)重圖生成、注意力權(quán)重與特征融合、分類器等多個部分。其中,特征提取模塊利用全卷積網(wǎng)絡(luò)將輸入圖像轉(zhuǎn)化為低層特征;注意力權(quán)重圖生成模塊輸入圖像特征得到多通道注意力權(quán)重;融合模塊將注意力權(quán)重與圖像低層特征進行融合,得到特征向量作為圖像的高層表示;分類器將注意力融合后的特征向量轉(zhuǎn)化為對應(yīng)于數(shù)據(jù)集每一類別的概率,從而得到分類結(jié)果。以上各部分構(gòu)成了可端對端訓(xùn)練的圖像分類模型框架,如圖1所示。
圖1 基于多通道視覺注意力的細粒度圖像分類模型結(jié)構(gòu)圖Fig.1 Structure of multi-channel attention based fine-grained image classification model
特征提取部分包含多個卷積層,這些卷積層可由預(yù)訓(xùn)練的網(wǎng)絡(luò)轉(zhuǎn)換而來。對于輸入的二維圖像,最后的卷積層的輸出為 H×W×D的特征圖,可看作 D組特征,每一組包含 N=H×W 個信息,分別對應(yīng)于相應(yīng)的空間位置,低層特征可表示為 X∈R(N×D)={xi,d},i∈ {1,…,N};d∈ {1 ,…,D}。
在網(wǎng)絡(luò)模型中,低層特征 X如上文所示,K維度的多通道注意力對應(yīng)于 K個對輸入信息的選擇過程,對應(yīng)的注意力權(quán)重為N×K的特征圖,表示為 A∈R(N×K)={αi,k},i∈ {1,…,N};k ∈{1,…,K},其中 K為注意力權(quán)重圖的數(shù)量。
多通道注意力相當于應(yīng)用于卷積輸出的二維特征的多端注意力[9]。在多通道注意力作用于模型中時,注意力對應(yīng)于多個單獨的對輸入信息的選擇過程,它們平行地作用于輸入特征,即
式中:sk(xi)為對應(yīng)于第 k個注意力的打分函數(shù),為保證不同通道的注意力權(quán)重關(guān)注于特征圖中不同空間位置,使用softmax函數(shù)作用于注意力權(quán)重的通道數(shù) 1∶K。
對于 k通道的輸入 s,作用于其上的softmax函數(shù)表示如下
本方法采用的注意力打分函數(shù) sk(xi)基于注意力機制應(yīng)用中最為常用的點積模型,并針對輸入圖像特征的特點對其進行歸一化處理,表示如下
式中 |xi|表示對輸入的低層特征 xi對應(yīng)其維度 D進行了L 2歸一化處理,這一處理有助于產(chǎn)生更為穩(wěn)定的注意力權(quán)重;Wk∈RD,將 D維度輸入轉(zhuǎn)換為對應(yīng)于 k通道的輸出。
注意力權(quán)重 αi,k可按如下方法進一步得到
以上注意力權(quán)重的產(chǎn)生過程可利用神經(jīng)網(wǎng)絡(luò)中的卷積層和softmax層等常用操作實現(xiàn),這保證了模型整體可端對端訓(xùn)練的特性。
對于空間維度一致,通道數(shù)分別為 D和 K的低層特征和注意力權(quán)重,按照式(3)所示注意力的融合方法,兩者的作用過程可寫作
以矩陣的形式將低層特征表示為 X,注意力權(quán)重表示為 A∈R(N×K)={αi,k} ,則上述操作可表示為
在操作后得到維度為 D×K的高層特征。
進一步地,在本文模型中引入了對應(yīng)于每一組注意力權(quán)重的特征均值。注意力均值是網(wǎng)絡(luò)參數(shù),代表了所有數(shù)據(jù)對應(yīng)的低層特征對應(yīng)于每一通道注意力的均值。這一操作與圖像表示中的VLAD特征的提取過程具有相似之處,VLAD被證明是一種有效的圖像表示。特征均值的引入可以提取與類別更為相關(guān)的高階特征,提高輸出的融合結(jié)果的表達能力,提升分類效果。
對于上文中特征 xi,d與注意力權(quán)重 αi,k,注意力均值可表示為 μd,k。則上文注意力融合方法可改寫為
將注意力均值以矩陣的形式寫為 M∈R()D×K={μd,k},則注意力融合方法可表示為
式中☉代表按 K對應(yīng)的維度點積的操作。
式(11)中,注意力融合的作用過程主要由矩陣和向量的乘法構(gòu)成,可以方便地實現(xiàn)反向操作
在進行包含減去注意力均值的融合操作后,輸出的高層特征維度仍為 D×K。
上文中注意力權(quán)重的產(chǎn)生參數(shù) W={Wk}是網(wǎng)絡(luò)模型中的關(guān)鍵參數(shù),這一參數(shù)可按傳統(tǒng)方法隨機初始化,但引入與圖像類別無相關(guān)性的類別信息對于得到更具描述性的注意力權(quán)重圖具有很強的促進作用,同時,對這一參數(shù)進行初始化有助于加快網(wǎng)絡(luò)收斂,可以減少訓(xùn)練時間。因此,引入一定的外部類別信息,采用聚類的方式對參數(shù)W進行初始化。
本方法使用正交匹配追蹤(OMP-k)算法[10]對參數(shù)W進行初始化,求取如下運算的最小值
當k取為1時,OMP-1算法也被稱為增益形狀向量量化(Gain-shape vector quantization)或球形k均值算法,可看作k均值算法的一種特殊形式。這一算法起到對歸一化的特征進行聚類的作用。
在對模型參數(shù)進行初始化時,將訓(xùn)練數(shù)據(jù)輸入網(wǎng)絡(luò)卷積層,經(jīng)網(wǎng)絡(luò)前向運算收集對應(yīng)的輸出特征,再按照OMP-1算法計算得到權(quán)重。同時,數(shù)據(jù)均值M={μd,k}也可使用由初始化數(shù)據(jù)收集到的特征與注意力權(quán)重進行初始化,表達式為
本文提出模型的特征提取部分的卷積網(wǎng)絡(luò)可由預(yù)訓(xùn)練模型得到,在實驗中選擇了在ImageNet數(shù)據(jù)集中預(yù)訓(xùn)練的VGG-16網(wǎng)絡(luò)[11]作為這一部分的基礎(chǔ)網(wǎng)絡(luò)。經(jīng)預(yù)訓(xùn)練的VGG-16網(wǎng)絡(luò)可以有效地得到豐富的卷積特征,在很多深度神經(jīng)網(wǎng)絡(luò)模型中被作為基礎(chǔ)。在本文模型中,截取預(yù)訓(xùn)練網(wǎng)絡(luò)最后的卷積層輸出,即conv5_3,作為模型中的低層特征,特征維數(shù)為512。
在實驗中選取網(wǎng)絡(luò)卷積層輸入圖像尺寸為 512像素×512像素。圖像在輸入網(wǎng)絡(luò)之前經(jīng)過了幾項常用的數(shù)據(jù)增強操作,包括以 224/256的比例切取部分圖像、隨機對圖像進行鏡像、減去圖像均值等。
如上文所述,注意力權(quán)重圖生成部分可由卷積核大小為 1×1的卷積層和softmax等操作實現(xiàn),卷積層的參數(shù)由OMP-1方法初始化。在實驗中,注意力權(quán)重圖的通道數(shù) K是網(wǎng)絡(luò)模型的關(guān)鍵參數(shù),可通過實驗確定其取值和分類精度的關(guān)系。在將基本的注意力權(quán)重圖通道數(shù)設(shè)為 K=32的情況下,從卷積層輸出的低層特征的通道數(shù)為 512,在注意力與低層特征融合后輸出的高層特征為一長向量,其維數(shù)為 32×512=16 384。為增強這一高層特征作為圖像表示的穩(wěn)定性,對其進行L2歸一化處理得到最終的高層特征。
注意力與特征融合得到的高層特征輸入全連接層,輸出維度與數(shù)據(jù)集對應(yīng)的類別相對應(yīng),再經(jīng)softmax層后可得到每一類別的概率輸出。這一分類器中全連接層的輸入維度較高,為加速網(wǎng)絡(luò)訓(xùn)練速度,可收集訓(xùn)練圖像對應(yīng)高層特征向量訓(xùn)練線性SVM分類器,用SVM模型參數(shù)對全連接層的參數(shù)進行初始化。
為全面評測本文方法用于細粒度圖像分類的性能,使用了CUB-200-2011鳥類數(shù)據(jù)集[3]、FGVCAircraft飛行器數(shù)據(jù)集[12]和斯坦福Cars汽車數(shù)據(jù)集[13]等多個細粒度圖像分類中常用的數(shù)據(jù)集進行評測。
Caltech-UCSD Birds-200-2011細粒度圖像數(shù)據(jù)集,簡稱CUB-200-2011,是現(xiàn)階段細粒度圖像分類研究中最經(jīng)典也最常用的數(shù)據(jù)集。CUB-200-2011數(shù)據(jù)集包含200種北美鳥類的圖像,共計11 788張,按照數(shù)據(jù)集提供的劃分,訓(xùn)練圖像5 994張,測試圖像5 794張。這一數(shù)據(jù)集具有類別間差異小、圖像中鳥類姿態(tài)位置多樣、訓(xùn)練數(shù)據(jù)量有限等具有挑戰(zhàn)性的特點。
FGVC-Aircraft細粒度圖像分類數(shù)據(jù)集包含102種不同型號的飛行器圖像,每一種型號包含100張圖像,共計10 200張圖像,其中約三分之一作為測試。這一數(shù)據(jù)集中圖像里的主要物體是不同型號的飛機,由于數(shù)據(jù)集許多飛機型號間劃分非常詳細,部分類別間相似性非常高;而飛機涂裝和所處環(huán)境不同導(dǎo)致類別內(nèi)部有較大變化,使得FGVC-Aircraft成為具有挑戰(zhàn)性的細粒度圖像數(shù)據(jù)集。
斯坦福Cars細粒度圖像分類數(shù)據(jù)集包含196種不同型號的小汽車圖像,共計16 185張,其中8 144張圖像作為訓(xùn)練,其他作為測試。Cars數(shù)據(jù)集很多類別對應(yīng)的汽車型號具有相同的車型和制造商,而同一類別汽車的視角、涂裝又具有較大變化,具有很強的細粒度圖像分類特點。
對于這幾種細粒度圖像分類數(shù)據(jù)集,本文均按照數(shù)據(jù)集提供的標準訓(xùn)練與測試劃分使用,兩者間沒有重復(fù)的數(shù)據(jù),保證了模型的有效性,同時便于與其他方法進行對比。
實驗1CUB-200-2011數(shù)據(jù)集分類結(jié)果
按照上文所述模型配置,本文基于多通道注意力的細粒度分類模型在CUB-200-2011數(shù)據(jù)集中得到了87.5%的分類精確度,如表1所示。對照方法中一部分使用了圖像類別之外的額外監(jiān)督信息,包括數(shù)據(jù)集提供的包圍盒(Bounding box)和部位標注。在對照方法中,SPDA-CNN,Mask-CNN,CBCNN,B-CNN和RA-CNN均和本文方法一樣使用了VGG-16作為基礎(chǔ)網(wǎng)絡(luò),這更有助于比較模型在圖像低層特征的基礎(chǔ)上提取分類有效信息的能力。從表1中實驗結(jié)果可知,本方法相較于此前不使用額外標注的弱監(jiān)督分類方法,分類精確度有顯著提升;同時相較使用部位等數(shù)據(jù)集標注的方法,本方法達到了同一水平的分類精確度。這一結(jié)果證明了基于多通道注意力的模型具有有效提取分類相關(guān)特征、對細粒度圖像進行有效區(qū)分的能力。
表1 不同方法在CUB-200-2011數(shù)據(jù)集中的分類精確度Tab.1 Classification accuracies of different methods on CUB-200-2011 dataset
實驗2FGVC-Aircraft數(shù)據(jù)集和Cars數(shù)據(jù)集分類結(jié)果
按照上文所述配置,本文基于多通道注意力的細粒度分類模型在FGVC-Aircraft數(shù)據(jù)集中得到了88.4%的分類精確度;在Cars數(shù)據(jù)集中得到了92.5%的分類精確度。表2中展示了不同方法在這兩個數(shù)據(jù)集中的比較結(jié)果,其中,B-CNN[D,D]作為基于深度神經(jīng)網(wǎng)絡(luò)的方法使用了VGG-16網(wǎng)絡(luò)作為基礎(chǔ)網(wǎng)絡(luò),與本文方法相同;B-CNN[D,M]則結(jié)合了VGG-16和VGG-M[21]兩種網(wǎng)絡(luò)提取的特征。從表中結(jié)果可知,本文方法相較于此前方法,在分類精確度上有顯著提升。同時,結(jié)合網(wǎng)絡(luò)模型的復(fù)雜度進行比較,可知在使用規(guī)模相同或更小的基礎(chǔ)模型時,本文方法所采用的多通道注意力模型能夠更為有效地提取與細粒度圖像分類相關(guān)的特征。
表2 不同方法在FGVC-Aircraft數(shù)據(jù)集和Cars數(shù)據(jù)集中的分類精確度Tab.2 Classification accuracies of different methods on FGVC-Aircraft and Cars datasets
實驗3注意力權(quán)重通道數(shù)
對于本文所述多通道注意力模型,式(11)中多通道注意力權(quán)重圖 A的通道維度 K是一項關(guān)鍵參數(shù)。注意力權(quán)重通道數(shù)較低時,可能難以提供足夠的注意力信息,影響分類結(jié)果;注意力權(quán)重通道較多時,會增加模型參數(shù)進而增加模型的計算復(fù)雜度,同時增加注意力作用后輸出的圖像表示向量的維數(shù),難以獲得緊湊的圖像表示。表3展示了注意力權(quán)重圖通道數(shù)逐漸增加,分別取4,8,16,32和64等值時,按上文所述模型配置在CUB-200-2011數(shù)據(jù)集中訓(xùn)練得到的模型分類精確度。實驗結(jié)果中,注意力通道數(shù)取為4時,分類精確度與注意力通道數(shù)為8時相差較大,達7.2%,這證明此時注意力權(quán)重特征不足以提供足夠的信息,對分類精確度有較大影響。注意力權(quán)重圖通道數(shù)不小于16時,分類精確度均較為接近,此時模型包含了充分的注意力信息。由實驗結(jié)果可知,在應(yīng)用時取注意力權(quán)重圖通道數(shù)為16或32可在分類精確度和模型復(fù)雜度間取得較好的平衡。
表3 采用不同注意力權(quán)重圖通道數(shù)的模型在CUB-200-2011數(shù)據(jù)集中的分類精確度Tab.3 Classification accur acy for the proposed model with different number of channels of the attention weight on CUB-200-2011 dataset
實驗4圖像表示特征
本文所述模型中,式(11)中注意力作用后輸出的高層特征向量可作為輸入圖像的一種特征表示,此時,以模型的這一層作為輸出,得到高層向量作為圖像的特征提取器。這一向量的維度和對圖像分類的精確度是評估模型性能的關(guān)鍵因素。表4對不同的具有提取圖像特征向量能力的圖像分類模型作出了比較,以特征向量維度和CUB-200-2011數(shù)據(jù)集上的分類精確度作為評測結(jié)果。其中,本文方法使用了注意力權(quán)重通道數(shù)分別為16和32兩種配置。在對照方法中,CNN-FC使用VGG-16的fc7層4 096維輸出作為表示向量,VGG-16也是表中所有方法的基礎(chǔ)網(wǎng)絡(luò);CNN-IFV從神經(jīng)網(wǎng)絡(luò)的fc7和fc8層輸出進行降維得到Fisher vector作為圖像表示向量;B-CNN使用雙線性池化(Bilinear pooling)將兩組卷積的512維輸出融合得到維數(shù)非常高的表示向量;CB-CNN方法對FB-CNN進行改進,在保持分類精確度的同時降低了表示向量維度。從表中結(jié)果可知,本方法在保持維度較低的表示向量的同時,在細粒度圖像分類任務(wù)中取得了更佳的分類結(jié)果。這證明了模型中采用的注意力作用方法可以更為有效地提取到有助于分類的重要信息。
表4 不同圖像表示模型的特征向量維度與分類精確度Tab.4 Comparison of different models’feature vector length and classification accuracy
本文提出并驗證了一種用于細粒度圖像分類的深度神經(jīng)網(wǎng)絡(luò)模型,這一模型中應(yīng)用了多通道視覺注意力,并在注意力與圖像的融合過程中減去注意力對應(yīng)均值提取高階信息,同時提出了對注意力參數(shù)進行初始化的方法,構(gòu)成了一套可端對端訓(xùn)練的圖像分類框架,同時可用于提取緊湊的圖像表示。在CUB-200-2011等多種細粒度圖像分類數(shù)據(jù)集上的實驗證明,相比于傳統(tǒng)注意力模型和其它經(jīng)典細粒度圖像分類框架,本文基于多通道視覺注意力的細粒度圖像分類模型在分類精度上具有顯著優(yōu)勢。