郎文溪,孫 涵
(南京航空航天大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南京 211106)
圖像檢索[1]一直是計算機(jī)視覺領(lǐng)域的熱點(diǎn)問題,其基本目標(biāo)是從海量圖像數(shù)據(jù)庫中查詢和返回與檢索內(nèi)容相關(guān)的圖像。隨著深度學(xué)習(xí)的發(fā)展,圖像檢索任務(wù)的準(zhǔn)確性和速度均取得突破[2-7]。然而,隨著用戶對搜索引擎檢索結(jié)果的定制化和精細(xì)化,細(xì)粒度圖像檢索近年來逐漸受到學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。對于給定的屬于同一大類(如,狗)的圖像,細(xì)粒度圖像檢索旨在進(jìn)一步檢索屬于相同子類的圖像(如,沃克獵犬和巴塞特犬)。相較于經(jīng)典圖像檢索,細(xì)粒度圖像檢索的主要難點(diǎn)包括:(1)類間差異小。不同子類的圖像高度相似,區(qū)分性的差異信息僅體現(xiàn)細(xì)微的局部區(qū)域;(2)類內(nèi)差異大。相同子類的圖像由于姿態(tài)、光照、背景和拍攝角度的不同,差異巨大難以區(qū)分。因此,將經(jīng)典圖像檢索算法應(yīng)用在細(xì)粒度圖像數(shù)據(jù)集[8-11]上效果不佳,區(qū)分和檢索細(xì)粒度圖像仍然是目前具有挑戰(zhàn)性的研究熱點(diǎn)和難點(diǎn)。
細(xì)粒度圖像較小的類間差異使得不同子類間的差異僅體現(xiàn)在目標(biāo)局部,而這些細(xì)微差異在特征學(xué)習(xí)時易受目標(biāo)其他區(qū)域的干擾,在最終用于分類和檢索的特征圖上常被淹沒。針對這一問題,一些細(xì)粒度研究工作[12-17]致力于挖掘局部區(qū)域的判別特征。SCDA[18]使用預(yù)訓(xùn)練的CNN定位顯著前景區(qū)域和無關(guān)的背景噪聲,然后引入flood-fill算法過濾噪聲獲得更具判別性的特征編碼。ExchNet[19]和WSDAN[20]均首先基于注意力機(jī)制獲取目標(biāo)的判別性局部區(qū)域,然后分別設(shè)計通道約束和數(shù)據(jù)增強(qiáng)策略進(jìn)一步增強(qiáng)局部區(qū)域特征的判別性。雖然這些工作能夠顯著提升細(xì)粒度圖像的識別和檢索精度,但都忽略了細(xì)粒度任務(wù)中的另一個關(guān)鍵問題。如圖1所示,對于姿態(tài)、光照、成像角度等因素變化而帶來的巨大類內(nèi)差異,屬于相同子類的圖像呈現(xiàn)出截然不同的像素分布。在只有圖像類別標(biāo)簽時,卷積神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中很難捕捉到這些不同因素間等變的通用模式。因此,模型對類內(nèi)圖像的視覺變換非常敏感,相同子類圖像的識別和檢索精度在收斂趨勢差異巨大,嚴(yán)重制約了細(xì)粒度檢索在實(shí)際應(yīng)用中的性能。對于客觀存在無法消除的類內(nèi)圖像變化,基于數(shù)據(jù)驅(qū)動的策略,一個簡單的解決思路是增強(qiáng)訓(xùn)練數(shù)據(jù)中任一類別樣本的數(shù)量。然而,搜集場景豐富的足夠訓(xùn)練樣本費(fèi)時費(fèi)力,且特征學(xué)習(xí)時模型依然無法高效地動態(tài)自適應(yīng)這些類內(nèi)變換。針對上述問題,本研究基于對比學(xué)習(xí)來增強(qiáng)類內(nèi)圖像的視覺一致性,提高模型對視覺變化的容忍度來提升最終的檢索精度。具體而言,視覺一致性由兩個隱式的正則化約束實(shí)現(xiàn),其基本要求為:(1)同一子類不同圖像的局部判別區(qū)域在特征空間中應(yīng)該有相似的表示;(2)判別性特征應(yīng)該在同一圖像的不同視圖間保持語義一致。
圖1 細(xì)粒度圖像特點(diǎn)示意
該文提出了一種基于對比學(xué)習(xí)和視覺一致性增強(qiáng)的細(xì)粒度圖像檢索框架(Contrastive Visual Consistency Strengthen,CVCS-Net),主要包括判別性特征挖掘、視覺一致性增強(qiáng)和語義哈希編碼三個關(guān)鍵模塊。對于低類間差異,CVCS-Net設(shè)計判別性特征挖掘模塊,自適應(yīng)地學(xué)習(xí)空間注意力圖來定位其與類別最相關(guān)的M個判別性區(qū)域;其次,對于高類間差異,CVCS-Net受自監(jiān)督算法[21-22]的啟發(fā),設(shè)計視覺一致性增強(qiáng)模塊提升模型對差異巨大的類內(nèi)圖像的魯棒性。視覺一致性增強(qiáng)模塊由判別區(qū)域一致性增強(qiáng)和變換圖像一致性增強(qiáng)構(gòu)成,前者基于語義中心損失來為M個判別性區(qū)域構(gòu)造語義一致的通用特征表達(dá),而后者首先應(yīng)用圖像變換策略積極增強(qiáng)類內(nèi)訓(xùn)練數(shù)據(jù)的豐富度,其次設(shè)計對比度損失懲罰變換后圖像的M個判別性區(qū)域的特征與通用特征表達(dá)間的差異。語義哈希編碼模塊引入量化損失和比特平衡損失,為視覺一致性增強(qiáng)后的判別性特征學(xué)習(xí)緊湊且高語義的哈希碼,最終實(shí)現(xiàn)對細(xì)粒度圖像的準(zhǔn)確檢索。大量的實(shí)驗(yàn)結(jié)果表明,提出的CVCS-Net能夠顯著提升細(xì)粒度檢索精度。主要貢獻(xiàn)如下:
(1)提出了一種基于對比學(xué)習(xí)和視覺一致性增強(qiáng)的細(xì)粒度圖像檢索方法CVCS-Net,在挖掘判別性特征的同時通過增強(qiáng)網(wǎng)絡(luò)對細(xì)粒度圖像類內(nèi)差異的學(xué)習(xí)容忍度來提升檢索性能。
(2)分別設(shè)計語義中心損失和對比度損失來增強(qiáng)細(xì)粒度圖像的視覺一致性。前者能夠引導(dǎo)模型為同一子類的判別性區(qū)域構(gòu)造語義一致的特征中心,而后者能夠顯著提升模型在檢索同一子類差異巨大的不同圖像時的魯棒性。
(3)在三個代表性細(xì)粒度數(shù)據(jù)集上進(jìn)行了詳盡的對比和消融實(shí)驗(yàn),驗(yàn)證了CVCS-Net的有效性。
早期的細(xì)粒度圖像檢索方法依賴于人工特征的使用[23]。然而人工特征在設(shè)計時依賴于大量精確的人工標(biāo)注信息,無法滿足僅使用圖像標(biāo)簽作為監(jiān)督信息的弱監(jiān)督檢索的精度需求。得益于深度學(xué)習(xí)的迅速發(fā)展,近年來越來越多的細(xì)粒度檢索方法被提出?,F(xiàn)有的工作致力于挖掘判別性特征來解決細(xì)粒度類間圖像差異較小這一問題,主要包括有監(jiān)督方法和無監(jiān)督方法兩類。SCDA[18]提出了一種無監(jiān)督的選擇性卷積描述符聚合方法,該方法首先定位細(xì)粒度圖像中的對象,并保留有用的深度描述符以進(jìn)行細(xì)粒度圖像檢索。對于有監(jiān)督檢索方法,CRL-WSL[24]使用中心排序損失和顯著區(qū)域輪廓來學(xué)習(xí)目標(biāo)的辨別特征,提出一個統(tǒng)一的細(xì)粒度檢索框架。DCL-NC[25]進(jìn)一步添加歸一化尺度層和去相關(guān)排序損失來改進(jìn)CRL-WSL。不同于已有工作,該文在挖掘判別性特征的基礎(chǔ)上進(jìn)一步考慮視覺一致性。挖掘判別性特征有利于為不同子類間高相似性的細(xì)粒度目標(biāo)構(gòu)建判別性的特征表達(dá),從而實(shí)現(xiàn)準(zhǔn)確檢索;而視覺一致性通過增強(qiáng)網(wǎng)絡(luò)對不同視覺變換的學(xué)習(xí)耐受力來解決類內(nèi)圖像差異較大這一問題。
對比學(xué)習(xí)(Contrastive Learning,CL)[26]在無監(jiān)督表示學(xué)習(xí)領(lǐng)域表現(xiàn)出巨大的潛力,其基本動機(jī)是使用InfoNCE loss[27]來估計模型從一組無關(guān)負(fù)樣本中正確分類目標(biāo)特征表示的能力。對比學(xué)習(xí)算法設(shè)計的關(guān)鍵是高質(zhì)量正、負(fù)樣本的構(gòu)造。khoslet等[28]設(shè)計監(jiān)督對比損失(SupCon)拉近特征空間中的同類特征之間的距離,同時拉遠(yuǎn)不同類特征的距離。Li等[29]提出了ProtoNCE損失,利用基于聚類的無監(jiān)督表示方法促進(jìn)對比學(xué)習(xí)精度。最近,Wang等[30]提出了一種基于像素級的密集對比學(xué)習(xí)方法,并將其用于多個視覺任務(wù)的預(yù)訓(xùn)練中。該文將對比學(xué)習(xí)引入細(xì)粒度圖像檢索任務(wù)中,設(shè)計一種新的對比度損失來增強(qiáng)細(xì)粒度圖像的視覺一致性。
在大規(guī)模圖像檢索任務(wù)中,為判別性特征構(gòu)建哈希編碼被證明是高效的解決方案。通過哈希編碼,屬于相同或不同類別細(xì)粒度圖像的判別性特征能夠被嵌入到相同或不同的二進(jìn)制碼中,在降低存儲成本的同時提升了查詢速度?,F(xiàn)有的哈希方法主要包括data-independent哈希和data-dependent哈希兩類。前者通過隨機(jī)投影或手工構(gòu)建二進(jìn)制哈希碼,代表性工作是局部敏感的哈希函數(shù)[31](Locally Sensitive Hash,LSH)。相較于直接使用學(xué)習(xí)到的高維度判別性特征進(jìn)行檢索,LSH方法雖然提升了檢索速度,但依然需要較長的哈希編碼來保證檢索性能。不同于data-independent哈希方法,data-dependent哈希方法充分挖掘數(shù)據(jù)內(nèi)部的隱式內(nèi)在聯(lián)系自適應(yīng)的學(xué)習(xí)哈希碼。根據(jù)是否有額外的監(jiān)督信息,data-dependent哈希方法又可以分為無監(jiān)督和有監(jiān)督的兩類。盡管無監(jiān)督方法[32-34]具有更實(shí)用和更廣泛的應(yīng)用前景,但目前絕大部分工作更多的基于有監(jiān)督的框架,充分利用監(jiān)督信息來獲得更好的檢索性能。代表性的有監(jiān)督哈希算法包括卷積神經(jīng)網(wǎng)絡(luò)散列(CNNH)[35]和深度成對監(jiān)督散列(DPSH)[36]兩種。此外,最近的工作中,HashNet[37]提出用tanh激活函數(shù)不斷逼近目標(biāo),大大提高了檢索性能;DCH[38]提出了一種基于柯西分布的成對交叉熵?fù)p失,懲罰漢明距離大于給定閾值的相似圖像對來學(xué)習(xí)哈希碼。
該文提出了一種基于對比學(xué)習(xí)和視覺一致性增強(qiáng)的細(xì)粒度圖像檢索方法,能夠?qū)崿F(xiàn)端到端的模型訓(xùn)練。如圖2所示,它由三個核心模塊組成:判別性特征挖掘模塊、視覺一致性增強(qiáng)模塊和哈希編碼模塊。實(shí)現(xiàn)不同子類間圖像的準(zhǔn)確檢索是細(xì)粒度圖像檢索任務(wù)的基礎(chǔ),為此,提出的CVCS-Net首先設(shè)計判別性特征挖掘模塊,基于空間注意力機(jī)制定位目標(biāo)的關(guān)鍵局部來捕捉不同類別細(xì)粒度圖像間的差異性特征。其次,CVCS-Net設(shè)計視覺一致性增強(qiáng)模塊提升模型對同一子類不同圖像間顯著差異的容忍度。視覺一致性增強(qiáng)模塊由判別區(qū)域一致性增強(qiáng)和變換圖像一致性增強(qiáng)構(gòu)成,前者基于語義中心損失來為M個判別性區(qū)域構(gòu)造語義一致的通用特征表達(dá),而后者對輸入圖像隨機(jī)進(jìn)行顏色或空間變換,設(shè)計對比度損失來懲罰圖像變換前后的特征差異。CVCS-Net為視覺一致性增強(qiáng)后的判別性特征學(xué)習(xí)緊湊的語義哈希碼實(shí)現(xiàn)最終的檢索。
圖2 CVCS-Net算法流程
對于細(xì)粒度圖像分析,較小的類間差異使得捕捉不同類別間的判別性區(qū)域至關(guān)重要。在弱監(jiān)督細(xì)粒度圖像檢索任務(wù)中,由于模型訓(xùn)練和測試時沒有判別性區(qū)域?qū)?yīng)的標(biāo)注信息(如:bounding box),判別性特征挖掘模塊通過計算目標(biāo)不同局部的類別得分來學(xué)習(xí)判別性區(qū)域的空間注意力分布圖;通過進(jìn)一步抽取判別性區(qū)域?qū)?yīng)的局部特征,最終為類內(nèi)差異小的細(xì)粒度圖像構(gòu)造精細(xì)的特征表達(dá)。
2.1.1 判別區(qū)域定位
對于給定的任一訓(xùn)練圖像X,通過特征提取網(wǎng)絡(luò)首先生成一組特征圖F∈RH×W×N。其中,H、W和N分別為特征圖的長、寬和通道數(shù)。其次,特征圖F被輸入到一個額外的卷積模塊中生成注意力圖A∈RH×W×M,如公式(1)所示。
(1)
其中,f()表示卷積操作,由一個卷積核大小為1×1的卷積層和一個Relu激活層實(shí)現(xiàn);Ak∈RH×W表示圖像的第k個注意力圖,描述了目標(biāo)第k個局部區(qū)域的空間位置信息。
2.1.2 判別特征挖掘
進(jìn)一步使用注意力圖A計算這些局部區(qū)域?qū)?yīng)的特征,計算方法如公式(2)所示:
ck=g(Ak⊙F),k=1,2,…,M
(2)
其中,fk是第k個局部區(qū)域?qū)?yīng)的特征,⊙表示將特征圖F和第k個注意力圖對應(yīng)位置元素相乘,g()表示全局平均池化操作。為了保證局部區(qū)域的判別性,這里簡單卻有效的假設(shè)是,如果一個局部區(qū)域是判別性的,那么其對應(yīng)的特征fk在分類時一定能夠高度響應(yīng)其類別。因此,直接使用獲得的M個局部特征預(yù)測目標(biāo)的類別,計算方法如公式(3)和(4)所示:
(3)
Lcls=CE(P,Y)
(4)
P表示softmax分類器的預(yù)測結(jié)果。在類別標(biāo)簽的監(jiān)督下,使用交叉熵?fù)p失CE()來約束預(yù)測結(jié)果P與其對應(yīng)的真實(shí)類別Y趨向于一致。通過上述過程,模型不斷尋找與類別最相關(guān)的M個局部區(qū)域,最終捕捉細(xì)粒度圖像判別性特征。
2.2.1 判別區(qū)域一致性增強(qiáng)
如圖1(b)所示,受光照、姿態(tài)、成像角度等諸多因素的影響,相同子類的不同目標(biāo)差異巨大。目標(biāo)固有的這些多樣性無法消除,對細(xì)粒度圖像分析帶來了極大的挑戰(zhàn)。這里,本研究的解決思路是首先通過不同的圖像變換模擬多樣性,然后基于對比學(xué)習(xí)的思想增強(qiáng)模型對這些多樣性變化的耐受性(稱之為視覺一致性)。如圖2所示,首先對原始圖像X進(jìn)行視覺變換,如公式(5)所示:
Xt=T(X)
(5)
在增強(qiáng)視覺一致性時,首先設(shè)計語義中心損失Lctr來保證相同子類不同圖像的相似判別性區(qū)域在語義空間中有相近的特征表達(dá)(如所有沃克獵犬圖像的第k個空間注意力圖都感知其頭部)。具體而言,為每一個子類的M個判別性區(qū)域分別構(gòu)造特征中,懲罰屬于同一判別性區(qū)域的局部特征間的變化,如公式(6)所示:
(6)
其中,ck是fk所對應(yīng)的特征中心。ck初始化的值為0且在訓(xùn)練被更新,計算方法如公式(7)所示:
ck=(1-μ)ck+μfk
(7)
2.2.2 變換圖像一致性增強(qiáng)
(i,j)∈ck
(8)
(i,j)∈ck
(9)
對比度損失Lcon計算M個特征中心上的所有像素點(diǎn),如公式(10)所示:
(10)
在大多數(shù)深度哈希方法中,哈希層被設(shè)計來將目標(biāo)特征編碼為二進(jìn)制的哈希碼,其中“1”表示類別擁有某種特征,而“-1”表示它缺乏這種特征。CVCS-Net在分類層前設(shè)計并添加了一個語義哈希編碼模塊,將視覺增強(qiáng)后的特征ft映射為B位的哈希碼,其基本計算方法如公式(11)所示:
(11)
其中,Hi∈RB是ft經(jīng)過哈希層的輸出;δH∈B和WH∈RM×B分別表示哈希層的偏差和權(quán)重;tanh()為激活函數(shù),計算方法如公式(12)所示:
(12)
tanh()的取值范圍為[-1,1]。由于sign函數(shù)在非零點(diǎn)處的梯度可能為零,出現(xiàn)梯度消失的問題,因此只有在測試模型時,將實(shí)值輸出的Hi映射為二維哈希碼。若Hi≥0,則Bi=1;否則,Bi=-1。
Bi=sign(Hi)
(13)
在優(yōu)化sign函數(shù)時,為了避免梯度消失,CVCS-Net在訓(xùn)練階段松弛了二進(jìn)制哈希碼。而對于測試階段,將實(shí)值特征表示轉(zhuǎn)換為二進(jìn)制化的哈希碼可能會導(dǎo)致量化誤差。在這種情況下,添加量化損失Lq以鼓勵實(shí)值盡可能地接近所期望的哈希碼,如公式(14)所示。
(14)
其中,e是所有元素值均為1的B維向量,B為哈希碼的長度。此外,還增加額外的位平衡損失Lb,以使哈希碼的每一個比特位為1或-1的可能性相等,如公式(15)所示:
(15)
其中,mean()的計算方法如下:
(16)
其語義編碼模塊損失為:
Lhash=Lq+Lb
(17)
整體的損失函數(shù)如公式(18)所示:
(18)
為了驗(yàn)證CVCS-Net的有效性,在CUB Birds、Stanford Cars和Stanford Dogs三個細(xì)粒度數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)。CUB Birds包含11 788張圖像,共200個類別。數(shù)據(jù)集包括5 794張圖像的訓(xùn)練集和5 994張圖像的測試集。Stanford Cars數(shù)據(jù)集由8 144張訓(xùn)練圖像和8 041張測試圖像組成,屬于196個類別。Stanford Dogs數(shù)據(jù)集由120個類別的20 580張圖像組成,包括12 000張圖像的訓(xùn)練集和8 580張圖像的測試集。
使用平均檢索精度(mAP)定量評估檢索性能,計算方法如公式(19)所示:
(19)
其中,nq是需要檢索的樣本數(shù);n是每次檢索后返回的樣本數(shù),nj是返回的樣本n中的正樣本數(shù)量。如果返回的第j張是正樣本,則pos(j)值為1,否則值為0。
實(shí)驗(yàn)中,基于pytorch實(shí)現(xiàn)代碼并使用CPU Intel i5,GPU RTX 2080ti 11 GB,32 G內(nèi)存的硬件平臺訓(xùn)練模型??s放訓(xùn)練圖像的尺寸為448×448像素,并使用ResNet-50作為主干來提取特征并選擇Conv5層的輸出作為特征圖。對于注意力圖的生成,M的默認(rèn)值為32。
盡管所有數(shù)據(jù)集都標(biāo)有邊界框或零件位置,但提出的CVCS-Net僅使用類別標(biāo)簽作為監(jiān)督信息。在訓(xùn)練階段,模型使用隨機(jī)梯度下降(SGD)訓(xùn)練160個epoch,batch size為12,初始學(xué)習(xí)率設(shè)置為0.001且每2個epoch后進(jìn)行指數(shù)衰減,衰減系數(shù)為0.9。在推理階段,遵循文獻(xiàn)[39]中的設(shè)定,使用測試圖像作為查詢集,訓(xùn)練圖像作為所有實(shí)驗(yàn)的檢索數(shù)據(jù)庫。
3.3.1 與傳統(tǒng)圖像檢索方法性能比較
為了驗(yàn)證該方法的有效性,首先比較了CVCS-Net與其他傳統(tǒng)圖像檢索方法在細(xì)粒度數(shù)據(jù)集上的檢索精度。為了保證比較的公平,對所有方法均使用Resnet-50作為特征提取網(wǎng)絡(luò),并使用不同長度的哈希碼分別訓(xùn)練模型。
如表1所示,對于CUB數(shù)據(jù)集,CVCS-Net在12位、32位和48位哈希碼時的mAP分別為79.23%、84.69%和85.91%,較性能第二的FPH提升均超24%。對于Dogs和Cars數(shù)據(jù)集,CVCS-Net提升的趨勢依然明顯。上述結(jié)果一方面表明了細(xì)粒度圖像檢索任務(wù)與普通圖像檢索任務(wù)的巨大差異,另一方面也證明了判別性特征挖掘?qū)?xì)粒度圖像分析任務(wù)的重要性。此外,相較于使用全局圖像特征構(gòu)建哈希碼的經(jīng)典檢索方法,CVCS-Net對哈希碼長度的變化表現(xiàn)出更好的穩(wěn)定性。例如,當(dāng)哈希碼從48位降低到12位時,在CUB 200-2011 數(shù)據(jù)集上CVCS-Net的mAP僅下降約6%,遠(yuǎn)小于FPH的11%。這一結(jié)果充分表明CVCS-Net設(shè)計判別性特征挖掘模塊的有效性,也從側(cè)面驗(yàn)證了語義哈希編碼模塊在量化損失和位平衡損失的約束下能夠提升哈希碼的緊湊性和語義性。
表1 CVCS-Net與傳統(tǒng)圖像檢索方法在不同數(shù)據(jù)集上的mAP比較
3.3.2 與細(xì)粒度檢索方法性能比較
進(jìn)一步的,還比較了CVCS-Net與已有細(xì)粒度圖像檢索方法在CUB數(shù)據(jù)集上的檢索精度。如表2所示,CVCS-Net在不同設(shè)定下均能夠取得最佳的檢索性能。
表2 CVCS-Net與細(xì)粒度圖像檢索方法在CUB數(shù)據(jù)集上的mAP比較
相較于沒有哈希模塊的細(xì)粒度檢索方法SCDA、CRL-WSL和DCL-NS,即使其特征表示的維度遠(yuǎn)大于CVCS-Net,其精度仍然遠(yuǎn)低于提出的CVCS-Net??赡艿脑蚴羌?xì)粒度任務(wù)對特征質(zhì)量的敏感。雖然高維圖像特征包含了更多的物體信息,但在計算不同圖像的相似度時,判別性特征可能無法起主導(dǎo)作用,使得最終檢索結(jié)果更容易被相似的類間圖像干擾。相較于基于哈希的細(xì)粒度檢索方法ExchNet和FCAENet[40],在哈希碼長度為48位時,CVCS-Net的mAP為85.91%,分別提升約14%和5%。此外,ExchNet和FCAENet的性能還隨著哈希碼長度的變化波動劇烈。當(dāng)哈希碼從12位增加到32位時,這兩種方法的mAP提高約40%,而提出的CVCS-Net僅提升6%。當(dāng)哈希碼從32位增加到48位時,CVCS-Net的mAP僅增加約1%。上述的實(shí)驗(yàn)結(jié)果表明,視覺一致性增強(qiáng)能夠顯著提升模型的魯棒性。
3.4.1 不同模塊有效性驗(yàn)證
如表3所示,該實(shí)驗(yàn)進(jìn)一步驗(yàn)證了CVCS-Net每個部分的有效性。以48位哈希碼為例,CVCS-Net簡單的基線是僅使用判別性特征和語義哈希編碼模塊,其mAP為80.84%。在分別加入語義中心損失和對比度損失進(jìn)行視覺一致性增強(qiáng)后,mAP能夠提升2.05%和3.42%;而Lctr和Lcon共同作用下mAP為84.62%。上述的結(jié)果充分驗(yàn)證了語義中心損失和對比度損失的有效性。首先,通過構(gòu)建語義中心,CVCS-Net能充分挖掘類內(nèi)不同目標(biāo)的相似判別性區(qū)域;其次,對比度損失在訓(xùn)練時能夠極大地提高模型對類內(nèi)圖像變化的耐受性。類似的,當(dāng)基線加入量化損失Lq和位平衡損失Lb后,其結(jié)果能夠從80.84%分別提升到82.46%和81.58%。實(shí)驗(yàn)結(jié)果表明,量化損失和位平衡損失能夠顯著提升語義哈希編碼的質(zhì)量和檢索性能。
表3 CUB數(shù)據(jù)集上不同設(shè)置時mAP的比較
3.4.2 判別性特征數(shù)量分析
對細(xì)粒度檢索任務(wù)而言,判別性特征的數(shù)量將顯著影響模型的性能。如表4所示,本小節(jié)在不同的細(xì)粒度數(shù)據(jù)集上進(jìn)行了詳盡的消融實(shí)驗(yàn)來分析判別性特征數(shù)據(jù)對CVCS-Net的性能影響。以最具挑戰(zhàn)性的CUB 200-2011數(shù)據(jù)集為例,在簡單挖掘4個判別性特征時,CVCS-Net的mAP為84.11%。這一結(jié)果隨著特征數(shù)量的增加而不斷提升,在特征數(shù)量為32和64時mAP分別為85.91%和86.52%。類似的上升趨勢也顯示在其他兩個數(shù)據(jù)集上。在實(shí)驗(yàn)中,考慮計算開銷和檢索性能之間的平衡,最終選擇將CVCS-Net挖掘的判別特征數(shù)設(shè)置為32。
表4 不同數(shù)據(jù)集上判別性特征數(shù)量與CVCS-Net結(jié)果比較
3.5.1 檢索效果可視化
圖3顯示了CVCS-Net和HashNet在三個細(xì)粒度數(shù)據(jù)集上檢索的前10個樣本。可視化的結(jié)果表明,CVCS-Net能夠取得比目前最先進(jìn)方法更滿足用戶期望的檢索結(jié)果。
圖3 不同數(shù)據(jù)集上CSCV-Net與HashNet檢索結(jié)果對比
3.5.2 哈希碼邊界可視化
為了分析哈希碼的質(zhì)量,在Stanford Cars數(shù)據(jù)集上使用t-SNE(t-distributed stochastic neighbor embedding)將生成的哈希碼可視化。如圖4所示,隨機(jī)采樣10個類別的結(jié)果表明,CSCV-Net得益于為細(xì)粒度對象特別設(shè)計的判別性特征提取模塊和語義哈希編碼模塊,能夠?qū)⒐4a在同類中生成的更清晰和緊湊,在不同子類間生成的邊界更明顯。
圖4 Stanford Cars上CSCV-Net與HashNet哈希碼可視化對比
針對細(xì)粒度圖像類間差異小類內(nèi)差異大的特點(diǎn),在挖掘判別性特征的基礎(chǔ)上基于對比學(xué)習(xí)進(jìn)一步增強(qiáng)不同圖像間的視覺一致性,提出了一種新穎的深度哈希細(xì)粒度圖像檢索方法CSCV-Net。CSCV-Net由判別性特征挖掘模塊、視覺一致性增強(qiáng)模塊和語義哈希編碼模塊構(gòu)成。判別性特征挖掘模塊學(xué)習(xí)空間注意力圖,能夠有效挖掘圖像的判別性局部區(qū)域;而視覺一致性增強(qiáng)模塊分別引入語義中心損失和對比度損失,增強(qiáng)模型訓(xùn)練時對不同類內(nèi)圖像相似判別區(qū)域語義一致性和對同一圖像不同視覺變換的魯棒性;CSCV-Net還基于量化損失和位平衡損失設(shè)計語義哈希編碼模塊,進(jìn)一步提升檢索速度。通過大量實(shí)驗(yàn)和消融研究,在3個常用細(xì)粒度圖像數(shù)據(jù)集CUB-200-2011、Stanford Cars和Stanford Dogs驗(yàn)證了CVCS-Net的有效性。相較于當(dāng)前其他檢索方法,CVCS-Net能夠取得更好的檢索結(jié)果。