李厚君,韋柏全
1.廣西科技大學(xué)計算機科學(xué)與技術(shù)學(xué)院(軟件學(xué)院),廣西 柳州 545006
2.廣西科技大學(xué)智能信息處理與圖計算重點實驗室,廣西 柳州 545006
在計算機視覺領(lǐng)域,目前取得最佳分類效果的方法,都是有監(jiān)督的學(xué)習(xí)方法[1-3]。將這些方法直接用到零樣本情景下,其分類效果下降明顯。以動物為例,自然界中的動物種類繁多,且分布呈現(xiàn)長尾效應(yīng)[4],要收集完所有動物的數(shù)據(jù),是極其困難甚至不可能完成的,尤其是一些珍稀動物。因此零樣本或少樣本分類問題一直是計算機視覺領(lǐng)域的研究熱點。
零樣本學(xué)習(xí)(zero-shot learning,ZSL)的提出就是為了解決模型訓(xùn)練數(shù)據(jù)不足時,如何準(zhǔn)確識別未見事物的問題。借鑒于人類學(xué)習(xí)新事物的過程,即人類在發(fā)現(xiàn)一個新物體時,會通過已學(xué)習(xí)到的知識來輔助認(rèn)識新的物體,例如將黑白條紋和馬的形狀組合起來認(rèn)識斑馬。這是一個知識遷移的過程。ZSL在遇到未見物體時,同樣通過物體的語義描述來輔助識別新物體。在足夠細(xì)的粒度下,不同物體之間常常擁有相似的語義描述,如毛發(fā)的顏色、蹄爪的形狀等。所以理論上,只要擁有足夠多語義描述,并知道新事物的這些特征分布,即使沒有任何學(xué)習(xí)樣本,也是可以通過對語義描述的組合,實現(xiàn)對新事物的識別[5-7]。
ZSL 最早由Larochelle 等人[8]于2008 年提出,其研究的零樣本字符識別準(zhǔn)確率達到了60%,從而受到廣泛的關(guān)注。2009 年,Palatucci 等人[9]將該問題引入神經(jīng)信息處理系統(tǒng)領(lǐng)域;同年,Lampert等人[10]提出了一種基于屬性間類遷移學(xué)習(xí)機制,利用物體的屬性,如顏色、輪廓等,以及所處地理位置等語義屬性來輔助識別未見類。這些研究奠定了ZSL 的基礎(chǔ)。其后,Lampert 等人在文獻[11]中提出了基于支持向量機的直接屬性預(yù)測模型DAP(direct attribute prediction)和間接屬性預(yù)測模型IAP(indirect attribute prediction)。雖然這兩類模型的識別效果較差,因為它們訓(xùn)練時沒有考慮到特征與特征之間的聯(lián)系。但是,基于DAP和IAP思路的零樣本學(xué)習(xí)研究,至今仍然是一個主要方向。延續(xù)這些思想,研究者們提出了許多改進的方法,例如Akata等人提出的屬性標(biāo)簽嵌入方法ALE(attribute label embedding)[12]和聯(lián)合結(jié)構(gòu)通用嵌入方法SJE(structured joint embedding)[7],Xian 等人提出的潛在屬性嵌入方法LATEM(latent embeddings)[13],Romera-Paredes 等人[14]提出的基于線性網(wǎng)絡(luò)的方法ESZSL(embarrassingly simple approach to ZSL),Verma 等人[15]提出的生成框架GFZSL(generative framework for ZSL),以及Zhang 等人[16]提出的深度嵌入空間方法TEDE(towards effective deep embedding)。然而這些方法并沒有取得理想的結(jié)果,主要是它們并沒有有效地區(qū)分物體之間的細(xì)微差別。
基于注意力機制的零樣本識別方法也是近年來研究的主流,如Xie 等人[17-18]提出的注意區(qū)域嵌入網(wǎng)絡(luò)AREN(attentive region embedding network)和區(qū)域圖嵌入網(wǎng)絡(luò)RGEN(region graph embedding network),Zhu等人[19]提出的語義引導(dǎo)多注意力定位方法SGMAL(semantic-guided multi-attention localization),以及Liu等人[20]提出的針對零樣本學(xué)習(xí)的目標(biāo)導(dǎo)向凝視估計方法GOGE(goal-oriented gaze estimation)等。然而這些方法只是簡單地關(guān)注了圖像的某些區(qū)域嵌入,并沒有真正意義上區(qū)分屬性之間的差異。因此仍未能解決零樣本識別所面臨的領(lǐng)域偏移和圖像空間到屬性空間的語義鴻溝問題。
Transformer 是一種以多頭注意力機制為核心的模型[21],在自然語言處理任務(wù)上獲得了良好的性能,并被廣泛應(yīng)用到計算機視覺任務(wù)。如果將零樣本識別看成是從視覺圖像到屬性語義的翻譯。Transformer 的自監(jiān)督學(xué)習(xí)特性正好可以解決標(biāo)記樣本缺少的難題,而其自注意力層可以廣泛地考慮上下文元素之間的關(guān)系。這對緩解圖像空間到屬性空間的語義鴻溝有天然的優(yōu)勢;且能學(xué)習(xí)到更有區(qū)分性的圖像特征,減少領(lǐng)域偏移的發(fā)生?;诖耍珻hen等人[22]提出了屬性引導(dǎo)的零樣本識別方法TransZero,該方法在傳統(tǒng)的CNN骨干網(wǎng)絡(luò)基礎(chǔ)上,進一步使用Transformer 引導(dǎo)產(chǎn)生屬性特征,并取得了較好的效果。但是它的模型結(jié)構(gòu)相對復(fù)雜,不利于部署實時應(yīng)用。同時,TransZero 在訓(xùn)練過程中需要加入未見類的信息,不利于模型的擴展。Transformer在計算機視覺領(lǐng)域的變形vision Transformer(VIT)[23],它僅保留了Transformer 的編碼模塊,但延續(xù)了Transformer 的諸多優(yōu)點,具有很大的潛力[24-25]。為此,本文利用知識蒸餾的思想,將零樣本直接屬性預(yù)測模型的基本架構(gòu)與VIT相結(jié)合,提出一種簡單有效的零樣本圖像分類方法。該方法在一些公開數(shù)據(jù)集中取得了較好的分類效果,并擁有較快的處理速度,具體見2.2節(jié)的對比實驗結(jié)果。
本文的主要貢獻包括以下三點:
(1)本文給出了零樣本識別數(shù)學(xué)描述,以及網(wǎng)絡(luò)架構(gòu)的詳細(xì)數(shù)學(xué)模型。
(2)利用知識蒸餾的思想,設(shè)計了一個簡單有效的分類模型,從VIT大模型中進一步蒸餾出圖像的細(xì)節(jié)屬性特征,并以此進行類別預(yù)測。
(3)以最終分類結(jié)果構(gòu)造損失函數(shù),并在零樣本直接屬性預(yù)測模型的框架下進行訓(xùn)練,有效提高了零樣本識別的準(zhǔn)確率。
在模型設(shè)計方面,本文遵循VIT 模型的架構(gòu),融入知識蒸餾的思想。從預(yù)訓(xùn)練大模型中蒸餾出視覺特征到語義特征的知識表示,進而實現(xiàn)對未見類物體的識別。
在基于圖像的零樣本識別任務(wù)中,數(shù)據(jù)集可以由一個三元組(X,Y,E)表示,其中X是原始圖像數(shù)據(jù)集,它通常分為已見類數(shù)據(jù)和未見類數(shù)據(jù)兩部分,且互不相交;Y是類標(biāo)簽,E是類語義屬性描述集,|Y|=|E|。進一步地,已見類數(shù)據(jù)集S和未見類數(shù)據(jù)集U可以記為:
其中,i=1,2…,N,j=1,2…,M;S∩U=?,且YS∩YU=?,即在零樣本識別任務(wù)中,已見類與未見類是不重疊的。因此,零樣本識別的目標(biāo)是學(xué)習(xí)未見類數(shù)據(jù)的分類器,即fZSL:xU→yU。
為減少圖像空間到屬性空間之間的語義鴻溝,基于屬性嵌入的零樣本識別方法總是首先將類別的語義屬性描述映射到一個可測量的向量空間,即φ:E→A。因此,得到了零樣本識別任務(wù)的目標(biāo)函數(shù)式:
其中,F(xiàn)是基于屬性特征評估輸入數(shù)據(jù)與類別標(biāo)簽相容性的函數(shù)。在訓(xùn)練階段,零樣本識別方法總需要利用已見類數(shù)據(jù)學(xué)習(xí)圖像空間到屬性空間之間的映射關(guān)系,即ftrain:xS→A;并在測試階段進一步使得ftest(xU)→y。基于此,本文利用VIT模型構(gòu)造具有競爭力的圖像分類框架,并實現(xiàn)了零樣本識別任務(wù)。
VIT作為本文的骨干網(wǎng)絡(luò),使用到它的兩個主要模塊:塊嵌入(embedding patches)和Transformer 編碼器(Transformer encoder),如圖1 所示。塊嵌入將輸入的圖像數(shù)據(jù)進行序列化,并最終擴展成由D個向量組成的編碼器輸入序列;Transformer編碼器則利用數(shù)個多頭注意力模塊的疊加,對輸入序列進行編碼,并獲取圖像的全局特征。
圖1 本文算法的網(wǎng)絡(luò)架構(gòu)Fig.1 Network architecture of proposed method
對于大小為H×W×C的圖像數(shù)據(jù)x,塊嵌入模塊首先需要將輸入圖像劃分為p×p大小的不重疊塊,因此可以得到P個圖像塊,P=HW/p2。然后將每個塊線性變換為D維的特征。這個過程,事實上可以使用一個卷積層和一個Flatten層來實現(xiàn),即
式(3)中,wT*x是步長為p的圖像卷積運算,參數(shù)w由D個p×p大小的卷積核構(gòu)成,即w=(w1,w2,…,wD),且wd∈Rp×p,d=1,2,…,D。因此,圖像序列化后的特征。借鑒于自然語言處理的方法,在將?輸入到編碼器之前,給它拼接上一個D維圖像特征序列,即。xclass作為一個可學(xué)習(xí)的參數(shù),在VIT中其對應(yīng)的最終輸出將被作為圖像的全局特征序列,并用于分類任務(wù)。
為保持特征序列間的位置信息,模型對特征序列添加了一個標(biāo)準(zhǔn)的1 維位置嵌入,即z0=x?*+Epos。Epos是與?同維度的可學(xué)習(xí)參數(shù),而得益于將輸入圖像劃分為一系列小尺寸圖像塊的操作,其維度較小,學(xué)習(xí)這種表示空間關(guān)系的位置嵌入相對較容易。位置嵌入后的結(jié)果,將作為Transformer編碼器的輸入序列。
Transformer編碼器則由L個編碼塊疊加組成,每個編碼塊包含一個多頭注意力模塊(multi-head attention,MHA)和一個多層感知機(multi-layer perceptron,MLP)模塊。如圖1 所示,在進入每個模塊之前,均加入了一個層歸一化(layer norm,LN)操作來加速模型收斂速度,且模塊之間使用殘差的方式進行連接。
在Transformer中使用的多頭注意力模塊是擁有H個頭的自注意力(self-attention,SA),其定義如下式:
式(5)中,LN表示對輸入序列進行層歸一化操作;WQ、WK和WV均是上的系數(shù)矩陣。然后,SAh(z)的計算式如下:
圖2 多頭注意力機制Fig.2 Multi-head attention mechanism
多頭注意力模塊的輸出加上殘差值,再經(jīng)過層歸一化和MLP 處理,便得到了Transformer 編碼器一個編碼塊的編碼結(jié)果。通過L個編碼塊的疊加,最終獲得Transformer編碼器的輸出,即:
其中,l=1,2,…,L,z0表示塊嵌入模塊的輸出。在經(jīng)典的VIT 模型中,Transformer 編碼器的輸出zL將被分離出圖像的全局特征序列(class token),然后再疊加上一個MLP Head 結(jié)構(gòu)以實現(xiàn)圖像分類任務(wù)。本文針對零樣本識別,精心設(shè)計了一個DNN網(wǎng)絡(luò)結(jié)構(gòu),以從VIT大模型中蒸餾出物體的細(xì)致屬性知識,并結(jié)合物體的語義屬性描述集,識別出未見類物體。
如圖1 中所示,本文的分類器包括三個結(jié)構(gòu),分別是:基于DNN 的知識蒸餾模型、語義屬性描述集的量化,以及類別判斷。
基于DNN 的知識蒸餾模型結(jié)構(gòu)如圖3 所示。圖3是基于Li等人[26]提出的膠囊統(tǒng)一框架,繪制得到的網(wǎng)絡(luò)結(jié)構(gòu)圖。它表示具有2 個隱層結(jié)構(gòu)的全連接網(wǎng)絡(luò)。其中XFeature是網(wǎng)絡(luò)的輸入,它是一個D維的圖像特征向量,對應(yīng)了VIT 學(xué)習(xí)過程中得到的圖像全局特征序列。網(wǎng)絡(luò)的輸出zout被定義為:
圖3 DNN網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 DNN network architecture
為克服圖像空間到語義空間之間的鴻溝,本文首先將類別的語義屬性描述映射到一個q維的向量空間,然后再與DNN網(wǎng)絡(luò)的輸出聯(lián)合預(yù)測類別結(jié)果。假設(shè)語義屬性描述詞集所包含的q維詞空間中有基向量e1,e2,…,eq,則第i個類別的語義屬性描述可以被描述為表示了屬于第i個類別第q個屬性的強弱系數(shù)。在公開的屬性數(shù)據(jù)集中,這一系數(shù)均能從數(shù)據(jù)中直接獲取。因此第i個類別的屬性有唯一的表述,記為。將c個類別的屬性向量組合,便得到了它們的語義屬性量化矩陣A=[a1,a2,…,ac]。語義屬性描述的量化過程,在本文方法中只需要進行一次,且固定不變,因此使用向量的點積作為相似度評價指標(biāo)。如果zout與第i類物體越相近,則希望的值越大,即:
經(jīng)過softmax函數(shù)后得到的,事實上得到一個軟分類結(jié)果,它的每個分量值表示了輸入屬于某類的概率。
進一步地,在分類器訓(xùn)練過程中,可以使用多分類的CrossEntropyLoss損失函數(shù),將DNN和softmax判別式聯(lián)合起來進行端到端的訓(xùn)練。損失函數(shù)表示為:
分類器的最終訓(xùn)練目標(biāo)是:使可見類的預(yù)測向量與真實的獨熱標(biāo)簽之間的誤差盡可能的小。屬性蒸餾的模型訓(xùn)練過程見算法1描述。
算法1屬性蒸餾訓(xùn)練過程偽代碼
輸入:可見類樣本集(XS,YS)和可見類語義屬性量化矩陣AS,以及最大迭代次數(shù)EPOCH;
而在測試階段,首先利用分類器獲得未見類圖像的預(yù)測結(jié)果,它是一個由概率值組成的M維向量,且每個維度上的值表示待預(yù)測圖像屬于該類的概率;然后,根據(jù)下式確定出top-1分類結(jié)果:
本文在CUB-200-2011[27]和AWA2[28]兩個公開屬性數(shù)據(jù)集上進行實驗。CUB200-2011 是由加州理工學(xué)院于2011年發(fā)布的一個鳥類細(xì)粒度數(shù)據(jù)集,共包含有200種鳥類的11 788 幅圖像。數(shù)據(jù)集提供了312 個序列化的屬性描述詞,包括鳥類頭部、翅膀、尾部等明顯特征的描述,用于區(qū)分不同鳥類。AWA2是一個公開的動物屬性數(shù)據(jù)集,共有50 種不同動物類別,30 475 幅圖像。AWA2包含了水中、洞穴中、森林和草原中的動物,是一個生活環(huán)境較為全面,且具有較大的樣本數(shù)量的動物數(shù)據(jù)集。而且它為每個類別提供了85個序列化的屬性描述詞,包括動物的型體、顏色、運動等特征。本文將兩個數(shù)據(jù)視為兩個獨立的零樣本識別任務(wù),并基于文獻[28]提出的可見類和未見類劃分建議,將數(shù)據(jù)集劃分為不交叉的兩類,其中CUB200-2011包含150個可見類和50個未見類,AWA2包含40個可見類和10個未見類。
本文的代碼基于Pytorch 實現(xiàn),模型訓(xùn)練在Kaggle上進行,它提供了雙核2.00 GHz CPU 和2 塊Tesla T4 GPU的免費算力。實驗使用ImageNet-21K上預(yù)訓(xùn)練的Vit_large_patch16網(wǎng)絡(luò)作為骨干網(wǎng)絡(luò)。首先將圖像預(yù)處理為224×224 大小,并取p=16 和D=1 024,旨在將圖像分割為16×16 大小的不重疊塊,每個圖像塊生成1 024維特征序列;然后,Transformer編碼器由L=24 個編碼模塊串聯(lián)而成,多頭注意力取H=16,因此每個頭的維度dk=64;最終提取的圖像全局特征序列XFeature也是一個1 024維的特征向量;最后,利用數(shù)據(jù)集提供的類屬性描述,結(jié)合圖像的全局特征序列XFeature進行知識蒸餾學(xué)習(xí),以獲得可遷移的從視覺特征到語義屬性特征的知識。訓(xùn)練過程中使用Adam優(yōu)化方法,并設(shè)置學(xué)習(xí)率為0.000 1,以256的批大小進行參數(shù)更新。
本文采用的是每個測試類別的平均top-1準(zhǔn)確率作為識別評價標(biāo)準(zhǔn),其計算公式如下:
為了驗證本文方法的有效性,在CUB-200-2011 和AWA2兩個數(shù)據(jù)集上進行實驗。選擇如下9種相關(guān)的方法進行對比:DAP[11]、IAP[11]、LATEM[13]、ALE[12]、SJE[7]、ESZSL[14]、GFZSL[15]、TEDE[16]、TransZero[22]。各種方法的識別準(zhǔn)確率如表1所示。
表1 不同方法的準(zhǔn)確率對比Table 1 Accuracy comparison of different methods單位:%
由表1 可以看出,在CUB-200-2011 數(shù)據(jù)集上,本文方法獲得了第二高的準(zhǔn)確率,達到71.2%,比TransZero的76.8%略低,但比第三位TEDE的67.8%提升了3.39%;其余方法的準(zhǔn)確率均在55%以下。在AWA2數(shù)據(jù)集上,TEDE取得了77.5%的最高識別準(zhǔn)確率;TransZero次之,為70.1%;本文方法排在第三位,為69.8%,略低于TransZero;其余方法的準(zhǔn)確率均在64%以下。經(jīng)典的IAP 在兩個數(shù)據(jù)集中的準(zhǔn)確率均最低,分別為24.0%和35.9%。多頭注意力機制使得提取的圖像特征更加專注于物體的最可區(qū)分區(qū)域,而這些區(qū)域貼近于人類用于描述事物的關(guān)鍵語義描述。因此本文方法的設(shè)計雖然也使用了直接屬性嵌入的思想,但相比于DAP,在兩個數(shù)據(jù)集中都獲得了較大幅度的提升,分別提升31.2%和23.7%。
進一步分析可知,本文方法的識別結(jié)果之所以低于TransZero,是因為本文方法訓(xùn)練時僅使用交叉熵?fù)p失函數(shù)(CrossEntropyLoss損失函數(shù))。這雖然可以使得圖像與其相應(yīng)類語義向量在計算時獲得更高的值,但無法避免模型對已見類的過擬合。而TransZero在交叉熵?fù)p失函數(shù)基礎(chǔ)之上增加了一個自校準(zhǔn)損失(self-calibration loss),它顯性地增加了未見類的預(yù)測概率。這事實上是在鼓勵模型向未見類偏移[22]。但在訓(xùn)練過程中需要未見類語義向量的參與,使模型提前接觸到了未見類信息。事實上,在AWA2 數(shù)據(jù)集上,TransZero 需要給予自校準(zhǔn)損失3倍于交叉熵?fù)p失的權(quán)重,才能獲得更好的結(jié)果。TEDE雖然構(gòu)造了一個可區(qū)分的類嵌入空間,但這個空間并沒有有效的區(qū)分物體之間的細(xì)微差別。因此它在細(xì)粒度鳥類數(shù)據(jù)庫CUB200-2011 上的實驗結(jié)果并不理想。相比之下,本文方法保證了未見類所有信息在訓(xùn)練階段對模型是完全未知的,并在兩個數(shù)據(jù)庫上取得了比較穩(wěn)定的識別正確率。
此外,本文方法在運行效率上要優(yōu)于TransZero,如表2 所示。在表2 中,運行速度使用FPS(frames per second)進行評價,Size表示數(shù)據(jù)集中平均每幅圖像的像素點個數(shù)。在相同硬件條件下的測試結(jié)果表明,本文方法的處理速度超過TransZero的2倍。雖然TransZero只使用1層屬性引導(dǎo)的Transformer網(wǎng)絡(luò),從圖像特征中分離出局部細(xì)節(jié)特征,這一過程非常迅速;但是,TransZero在提取圖像特征時,使用了ResNet101 作為骨干網(wǎng)絡(luò),這個步驟非常耗時。相比之下,本文方法將圖像特征提取與零樣本分類融合為一個統(tǒng)一過程,在處理相同圖像數(shù)據(jù)時比TransZero更快速。在模型參數(shù)量方面,TransZero的參數(shù)約在8.5×107數(shù)量級上,而本文方法的參數(shù)量更少,約在4.3×106數(shù)量級上。因此,本文方法的網(wǎng)絡(luò)架構(gòu)更簡單,擁有更少的參數(shù),這將更有利于實際部署應(yīng)用。
表2 處理速度對比Table 2 Speed comparison of processing
2.3.1 收斂性分析
本文方法采用交叉熵?fù)p失函數(shù)進行分類器的訓(xùn)練,目標(biāo)是使計算出的類別預(yù)測向量與真實類別的獨熱向量之間的損失盡可能的小。事實上,這種損失函數(shù)計算方法有別于DAP的語義屬性映射。DAP首先從視覺特征映射到屬性空間,再根據(jù)映射的屬性特征判別類別。而本文方法直接從視覺特征到未見類判斷,構(gòu)建了零樣本識別的端到端網(wǎng)絡(luò)模型。模型的訓(xùn)練曲線如圖4所示。
圖4 模型訓(xùn)練曲線Fig.4 Training curve of model
由圖4 可見,本文方法不僅可以達到收斂,而且具有較快的收斂速度。開始訓(xùn)練時,模型損失率極速下降,第20 次迭代后下降了約80%;繼續(xù)迭代,模型損失率繼續(xù)緩慢下降,直至進行了約120 次迭代后,模型損失率收斂到一個較低的水平。這也進一步證明了本文方法的有效性。
2.3.2 屬性稀疏性對識別結(jié)果的影響
為說明屬性稀疏性對識別結(jié)果的影響,實驗首先人為地使原始數(shù)據(jù)語義屬性量化矩陣稀疏化,再對模型進行重新的訓(xùn)練和測試。稀疏化的過程是使用數(shù)據(jù)集的語義屬性量化矩陣均值作為閾值二值化,即:
處理前后每個未見類的非零分量統(tǒng)計如圖5所示。圖5 中,實線為原始數(shù)據(jù)的非零分量分布情況,虛線為二值化后的非零分量分布情況??梢姡瑢UB200-2011的312個屬性和AWA2的85個屬性,有部分未見類的原始屬性數(shù)據(jù)就非常稀疏,其非零分量與總體屬性個數(shù)之比甚至低于50%;而二值化后的非零分量就更少,其數(shù)量約是原始屬性數(shù)據(jù)量的一半。
圖5 未見類非零屬性分量統(tǒng)計結(jié)果Fig.5 Statistical results of non-zero attribute component of unsee class
實驗中,使用二值化后的語義屬性量化矩陣進行訓(xùn)練和識別,結(jié)果如表3 所示。顯然,語義屬性量化矩陣二值化后獲得的識別正確率均要低于表1中的結(jié)果;其中CUB200-2011 數(shù)據(jù)集上識別正確率從71.2%下降至52.15%,AWA2數(shù)據(jù)集上則從69.8%下降至55.74%。因此,減少屬性描述的稀疏性,將有利于提高零樣本識別的準(zhǔn)確率。
表3 使用二值屬性向量的準(zhǔn)確率結(jié)果Table 3 Accuracy result using binary attribute vector
2.3.3 CUB-200-2011數(shù)據(jù)集上的實驗結(jié)果分析
進一步分析CUB-200-2011 上的實驗結(jié)果發(fā)現(xiàn),在50 個測試類里,有32 個類別的識別準(zhǔn)確率超過70%,其中第6、7、21、22 和30 類(Evening Grosbeak、Green Violetear、Caspian Tern、Green Tailed Towhee 和Red Cockaded Woodpecker)的識別準(zhǔn)確率最高,接近100%;有8個類別的識別準(zhǔn)確率在50%到70%之間;有10個類別的識別準(zhǔn)確率低于50%,其中第2類Bronzed Cowbird和第15 類Henslow Sparrow 的識別準(zhǔn)確率最低,只有5%左右,如圖6所示。
圖6 CUB-200-2011測試集準(zhǔn)確率Fig.6 Test set accuracy on CUB-200-2011
通過分析發(fā)現(xiàn),第2 類Bronzed Cowbird 常被預(yù)測為第33類的Groove Billed Ani或第38類的Boat Tailed Grackle,而第33類的識別準(zhǔn)確率為64%,第38類的識別正確率為84.4%;第15 類Henslow Sparrow 常被預(yù)測為第14 類的Baird Sparrow,而第14 類的識別準(zhǔn)確率高達92%。出現(xiàn)這種現(xiàn)象的主要原因是被誤識別的兩類鳥類樣本之間,有著較為相似的顯著性特征,如Bronzed Cowbird、Groove Billed Ani和Boat Tailed Grackle都有渾身黑色羽毛,且生活場景相近,只有喙的形狀和眼睛的顏色有區(qū)別;但這些有區(qū)分度的部分在圖片中僅占極小的區(qū)域,且在光照和拍攝角度的影響下,會使這些有區(qū)分度區(qū)域變得模糊,增加了識別的難度。對于Henslow Sparrow 和Baird Sparrow,它們本身屬于同一類鳥,即使普通人也較難把它們區(qū)分開來,如圖7所示。這就造成了這幾類樣本圖像的特征序列極為相近,從而產(chǎn)生識別偏差。進一步的,如果在將第33、38和14類從屬性知識庫中去除之后,效果極差的第2和15類的識別準(zhǔn)確率都可以達到90%以上。
圖7 CUB-200-2011上相似類別圖像示例Fig.7 Examples of images from related categories on CUB-200-2011
此外,通過圖7 的觀察可以看出,有些鳥類站在草叢或樹枝上,草地或樹葉都會遮住它們的部分特征,尤其是爪子和尾部特征;同時由于拍攝角度的原因,也同樣會造成鳥類的部分特征缺失。這就造成了部分語義描述詞與實際觀察無法一一匹配的情況。例如,Henslow Sparrow 和Baird Sparrow 對尾部的描述分別是“純色(solid)”和“具有多種顏色(multi-colored)”,這本應(yīng)是兩者的顯著區(qū)別。然而在圖7的示例圖像中,卻難以觀察到這一區(qū)別。同樣的,圖7 第二排的Bronzed Cowbird,其眼睛的顏色也偏向于黑色,這就難以與另外兩類識別錯誤的鳥類進行區(qū)分。
2.3.4 AWA2數(shù)據(jù)集上的實驗結(jié)果分析
在AWA2 上的實驗,有4 個類別的識別準(zhǔn)確率較高,分別是Blue Whale、Giraffe、Rat和Bobcat,都達到了95%以上;Bat的識別準(zhǔn)確率最低,Dolphin次之,兩者的識別準(zhǔn)確率均低于25%,如圖8所示。
圖8 AWA2測試集準(zhǔn)確率Fig.8 Test set accuracy on AWA2
進一步分析發(fā)現(xiàn),實驗中Bat常被識別為Rat,Dolphin常被識別為Blue Whale。從圖9的對比圖像可以看出,靜止的Bat 與Rat 在外形和皮毛顏色上都較為相似,而且它們都常出現(xiàn)在相似的場景下:室內(nèi)或者草坪。再者由于它們的體型比較嬌小,經(jīng)常會被周圍的一些物品遮掩部分特征,這都使得獲取它們的全面特征較為困難。雖然數(shù)據(jù)集中有提供對背景的語義描述詞,如bush、plains、forest、water、cave 等,但是這些詞描述的粒度較大,且很多無法從圖像中觀察到。Bat 的屬性描述詞就有一項cave,但是卻無法從絕大多數(shù)Bat 圖像學(xué)習(xí)到這一特征。其他類別的屬性描述詞也同樣遇到這樣的情況。這就使得區(qū)分一些相似動物變得較為困難。
圖9 AWA2上相似類別圖像示例Fig.9 Examples of images from related categories on AWA2
對于Dolphin 和Blue Whale,它們都是生活在海洋中的群居動物,雖然Dolphin 的個體比Blue Whale 小,但是在缺乏參照的情況下,這一特征很難得到體現(xiàn)。通過分析這兩個類別的語義描述詞可知,Dolphin 有73%的語義描述詞是與Blue Whale相似的。這使得它們更難以區(qū)分。而相比于Dolphin,Blue Whale 有著更多的語義描述詞,因此Blue Whale的識別準(zhǔn)確率更高。
事實上,在AWA2 數(shù)據(jù)集中能直接被觀測到的屬性,僅占它所提供的85個屬性中的一半,其余均是描述動物的生活習(xí)性及生活環(huán)境。例如meet、faster、inactive等,這些屬性無法通過靜態(tài)圖像進行觀察得到;另一些屬性詞,如chewteeth、meatteeth、buckteeth、strainteeth等,受限與圖像的清晰度和拍攝的角度,大多情況也較難直接觀測到。這些都會加大圖像空間到屬性語義描述詞之間的鴻溝,從而導(dǎo)致模型難以學(xué)習(xí)到更準(zhǔn)確的知識。
本文提出了基于屬性蒸餾的零樣本識別方法,它使用Vision Transformer 作為骨干網(wǎng)絡(luò),并利用知識蒸餾的思想設(shè)計了基于DNN的語義嵌入分類器。該分類器首先將視覺特征映射到屬性語義向量空間,然后再根據(jù)類別屬性語義量化矩陣,識別出未見類。與現(xiàn)有的零樣本識別方法對比,本文算法一定程度上緩解了零樣本識別的領(lǐng)域偏移和語義鴻溝問題,在CUB200-2011數(shù)據(jù)集上取得了71.2%的高識別正確率,在AWA2 數(shù)據(jù)集上也取得了69.8%的識別正確率。并且,進一步分析也表明了,本文方法擁有更少的參數(shù)和更快的處理速度,有利于實現(xiàn)實際部署應(yīng)用。
通過對識別錯誤數(shù)據(jù)的分析,本文發(fā)現(xiàn)影響零樣本識別準(zhǔn)確率提升的一個關(guān)鍵因素在于類屬性描述詞。CUB200-2011和AWA2給出的屬性均具有二值性,因此會使用多個屬性描述詞來描述同一部位的特征,這造成了屬性向量的稀疏化,容易降低類別間的可區(qū)分性。此外,一些無法通過觀察獲得的描述詞,或者由于拍攝角度的原因而無法觀察到的特征,都會造成零樣本識別的偏差。因此,構(gòu)建更緊湊和合理的語義描述,以及采用多角度的清晰圖像,都是基于圖像的零樣本識別可以嘗試的研究方向。