潘麗麗 馬俊勇 熊思宇 鄧智茂 胡清華
近年來,隨著互聯(lián)網(wǎng)與多媒體技術(shù)的飛速發(fā)展,每秒都有龐大的圖像數(shù)據(jù)在互聯(lián)網(wǎng)上產(chǎn)生和傳輸.如何從大規(guī)模的圖像數(shù)據(jù)中快捷、準(zhǔn)確地查詢檢索用戶所需的數(shù)據(jù),成為圖像檢索技術(shù)領(lǐng)域研究的熱點之一.
一幅圖像蘊含的信息需要高維度特征矢量才能有效表達(dá),而處理高維度特征矢量需要消耗大量的存儲空間和計算資源.哈希技術(shù)能將圖像的高維特征信息映射到低維漢明空間的二進(jìn)制編碼,節(jié)省存儲空間并降低計算復(fù)雜度,同時保證圖像檢索質(zhì)量和計算效率[1-2].圖像哈希是將圖像編碼成緊湊的二進(jìn)制代碼,同時保留它們彼此的相似性.由于二進(jìn)制碼具有高存儲效率和低計算成本,哈希技術(shù)現(xiàn)已成為圖像檢索中應(yīng)用最廣泛的技術(shù)之一.
現(xiàn)有的哈希方法可以分為兩類:傳統(tǒng)哈希方法和深度哈希方法.
傳統(tǒng)哈希方法[3-6]使用手工特征.例如:SIFT(Scale Invariant Feature Transform)[7]將圖像映射為哈希碼,再根據(jù)數(shù)據(jù)的相似性優(yōu)化哈希碼.然而,傳統(tǒng)哈希方法未考慮圖像特征的高級語義等信息,只是簡單地對數(shù)據(jù)進(jìn)行散列或取模等操作,導(dǎo)致丟失數(shù)據(jù)的重要信息,無法反映數(shù)據(jù)間的語義相似性,降低檢索精度.
相比傳統(tǒng)哈希方法,基于深度學(xué)習(xí)的哈希方法取得顯著的性能提升[8-9].現(xiàn)有的深度哈希模型通常由兩部分組成.1)通過卷積神經(jīng)網(wǎng)絡(luò)(Convolu-tional Neural Networks, CNN)等提取圖像判別特征表示,如AlexNet、ResNet[10]等.2)通過各種非線性函數(shù),將圖像的連續(xù)特征壓縮成二進(jìn)制碼.
深度哈希方法是一種利用深度神經(jīng)網(wǎng)絡(luò)生成哈希碼的方法,通過計算漢明距離以衡量圖像之間的相似性.近年來,學(xué)者們已提出許多深度哈希方法,在幾個基準(zhǔn)數(shù)據(jù)集上表現(xiàn)出優(yōu)秀的檢索性能.Zhu等[11]提出DHV(Deep Hashing Network),用于監(jiān)督哈希,同時優(yōu)化語義相似對的交叉熵?fù)p失和緊湊哈希碼的量化損失.Cao等[12]提出HashNet,利用具有收斂保證的連續(xù)方法解決深度哈希網(wǎng)絡(luò)優(yōu)化中的梯度問題,可以從不平衡的相似數(shù)據(jù)中準(zhǔn)確學(xué)習(xí)二進(jìn)制哈希碼.Su等[13]提出Greedy Hash,采用貪心算法解決離散哈希優(yōu)化問題.林計文等[14]提出面向圖像檢索的深度漢明嵌入哈希(Deep Hamming Embe-dding Based Hashing, DHEH),用于圖像檢索,根據(jù)哈希編碼特征引入漢明嵌入學(xué)習(xí),控制相似性信息的保留.受Fisher LDA(Fisher′s Linear Discriminant Analysis)的啟發(fā),Li等[15]提出Deep Fisher Hashing,優(yōu)化二值空間中的最大類可分性.馮浩等[16]提出深度多尺度注意力哈希(DMAH),通過多尺度注意力定位和顯著性區(qū)域提取模塊,捕捉圖像判別性區(qū)域,并引入三元組量化損失,降低量化過程中的信息損失.張志升等[17]提出融合稀疏差分網(wǎng)絡(luò)和多監(jiān)督哈希的方法(Sparse Difference Networks and Multi-super-vised Hashing, SDNMSH),解決基于深度哈希的CNN特征提取效率較低和特征利用不充分的問題.
隨著CNN的發(fā)展,基于深度哈希的方法利用CNN將圖像編碼為保持相似性的哈希碼,顯著提升圖像檢索任務(wù)的性能[18].基于成對的方法和基于三元組的方法是兩種具有代表性的深度哈希方法.在基于成對的方法中,成對標(biāo)簽被用作監(jiān)督信息以指示一對圖像相似或不相似.在基于三元組的方法中,三元組的形式為(A,P,N),其中,A與P為同一類別,A與N為不同類別,這表明A更接近P而不是N.相比基于成對的方法,三元組還捕獲相對相似度信息,即三元組(A,P,N)中(A,P)和(A,N)之間的相對關(guān)系.近期工作[19-21]表明,基于三元組的方法性能通常優(yōu)于基于成對的方法.
由于Softmax交叉熵?fù)p失無法處理可變數(shù)量的類,Schroff等[22]提出三元組損失函數(shù),構(gòu)建Face- Net,并將三元組損失應(yīng)用于人臉檢索任務(wù),實驗表明,通過三元組損失訓(xùn)練的模型具有優(yōu)越的識別率和檢索精度.為了進(jìn)一步挖掘三元組之間的潛在關(guān)系,Lu等[23]提出平衡三元組損失,用于全面的特征學(xué)習(xí)和穩(wěn)定的模型收斂.平衡三元組損失僅在小批量中挖掘每個類別中最難的負(fù)樣本.鄭大剛等[24]提出基于三元組損失的深度人臉哈希方法,并用于人臉檢索任務(wù).不同于基于余量的三元組損失,Zhao等[25]提出HCTL(Hard Mining Center-Triplet Loss),降低計算和挖掘困難訓(xùn)練樣本的成本,同時有效優(yōu)化類內(nèi)距離和類間距離,從而增強特征的學(xué)習(xí)和優(yōu)化.
基于三元組損失的深度哈希方法通過從三元組數(shù)據(jù)中捕獲相對相似性以學(xué)習(xí)哈希函數(shù).Liang等[19]使用三元組損失同時進(jìn)行特征學(xué)習(xí)和哈希編碼.Zhuang等[26]提出將基于三元組的學(xué)習(xí)任務(wù)轉(zhuǎn)換為多標(biāo)簽分類任務(wù),以此加快訓(xùn)練速度.
還有一些研究工作致力于為成對或三元組分配不同權(quán)重.Lai等[27]利用平均精度作為邊信息以加權(quán)三元組損失.Cao等[28]提出DCH(Deep Cauchy Hashing),設(shè)計基于柯西分布的成對損失,懲罰漢明距離大于漢明半徑閾值的相似圖像對.Wang等[29]提出MS Loss(Multi-similarity Loss),在樣本加權(quán)過程中涉及多個相似點的損失.
但是,上述方法在小批量數(shù)據(jù)集中構(gòu)建的三元組樣本較少,樣本數(shù)據(jù)分布缺少全局性,網(wǎng)絡(luò)在訓(xùn)練時仍然難以收斂.
注意力機制[30]現(xiàn)已大幅推進(jìn)機器學(xué)習(xí)的發(fā)展,一種為計算機視覺任務(wù)量身定制的視覺轉(zhuǎn)換器(Vision Transformer, ViT)[31]在圖像分類、物體檢測、語義分割任務(wù)中取得優(yōu)于CNN的性能[32-33].ViT利用自注意力機制(Self-Attention, SA)及強大的全局建模能力處理計算機視覺任務(wù),在傳統(tǒng)的視覺分類任務(wù)中取得較大成功.相比受卷積核大小限制難以捕捉遠(yuǎn)距離像素關(guān)系的CNN,ViT能夠通過自注意力機制學(xué)習(xí)圖像的長程空間關(guān)系,在提取圖像的全局視覺表征上表現(xiàn)優(yōu)異.
Transformer首先應(yīng)用于自然語言處理(Natural Language Processing, NLP)領(lǐng)域中的順序數(shù)據(jù)[30].最近,受NLP領(lǐng)域中Transformer架構(gòu)成功的啟發(fā),研究人員將Transformer應(yīng)用于計算機視覺(Com-puter Vision, CV)任務(wù).在視覺應(yīng)用中通常使用CNN作為特征提取的基礎(chǔ)模塊[10,34],但Transformer展示的性能顯示它是CNN的潛在替代品.Chen等[35]訓(xùn)練Sequence Transformer以回歸預(yù)測圖像,實現(xiàn)與CNN在圖像分類任務(wù)上相當(dāng)?shù)慕Y(jié)果.Dosovi-tskiy等[31]提出的Vision Transformer在多個圖像識別基準(zhǔn)任務(wù)上實現(xiàn)最優(yōu)性能.
ViT將一個原始Transformer直接應(yīng)用于圖像補丁序列,對完整圖像進(jìn)行分類,各種擴展應(yīng)用已經(jīng)取得一定成功.薛峰等[36]提出基于Vision Transformer的端到端中文句子級唇語識別模型.Chen等[37]提出TransHash,使用ViT作為深度哈希任務(wù)的主干,用于特征提取,并利用成對損失作為監(jiān)督任務(wù).Li等[38]提出HashFormer,同樣使用ViT作為主干網(wǎng)絡(luò),并提出一種平均精度損失,直接優(yōu)化檢索精度.
雖然ViT仍處于萌芽階段,但由于其出色的性能,越來越多的研究人員提出基于Transformer的模型以改善大量的視覺任務(wù)[39].
現(xiàn)有的深度哈希圖像檢索方法主要采用CNN,提取的深度特征相似性表征能力不足,檢索精度受限.此外,基于三元組的深度哈希網(wǎng)絡(luò)在訓(xùn)練過程中從小批量數(shù)據(jù)中構(gòu)建局部三元組樣本,這些三元組樣本不僅數(shù)量較少,而且不具有數(shù)據(jù)分布的全局性,使網(wǎng)絡(luò)訓(xùn)練不夠充分且收斂困難,影響圖像檢索的性能.
針對上述問題,本文提出基于類相似特征擴充與中心三元組損失的哈希圖像檢索模型(Hash Image Retrieval Based on Category Similarity Feature Expansion and Center Triplet Loss, HRFT-Net).針對CNN提取的深度特征相似性表征能力不足的問題,使用ViT和哈希層構(gòu)建基于ViT的哈希特征提取模塊(Hash Feature Extraction Module Based on ViT, HViT),提取相似性表征能力更強的全局性深度哈希特征,提高圖像檢索的精度.針對端到端的訓(xùn)練中從小批量數(shù)據(jù)中構(gòu)建局部三元組樣本數(shù)量較少的問題,提出基于類約束的相似特征擴充模塊(Similar Feature Expansion Based on Category Constraint, SFEC),通過已提取特征合成新的特征,將每個小批量的訓(xùn)練特征樣本擴充為原來的2倍,從而豐富三元組樣本,有利于網(wǎng)絡(luò)模型更加充分地訓(xùn)練.針對局部三元組不具有全局性,導(dǎo)致網(wǎng)絡(luò)的訓(xùn)練收斂困難、檢索性能較低的問題,提出基于Hadamard的中心三元組損失函數(shù)(Center Triplet Loss Function Based on Hadamard, CTLH),利用Hadamard為每個類別建立全局哈希中心約束,加速網(wǎng)絡(luò)的收斂,同時使優(yōu)化生成的哈希碼更好地分布在漢明空間中,提高檢索性能.
現(xiàn)有的深度哈希圖像檢索方法主要采用CNN提取深度特征,相似性表征能力不足,同時在三元組深度哈希網(wǎng)絡(luò)訓(xùn)練過程中,從小批量數(shù)據(jù)中構(gòu)建局部三元組樣本數(shù)量較少,不具有數(shù)據(jù)分布的全局性,使網(wǎng)絡(luò)訓(xùn)練不夠充分且收斂困難等.由此本文提出基于類相似特征擴充與中心三元組損失的哈希圖像檢索模型(HRFT-Net),模型結(jié)構(gòu)如圖1所示.
HRFT-Net主要由基于ViT的哈希特征提取模塊(HViT)、基于類約束的相似特征擴充模塊(SFEC)和基于Hadamard的中心三元組損失函數(shù)(CTLH)組成.
首先對輸入圖像進(jìn)行預(yù)處理,包括縮放、剪裁等,將圖像處理至統(tǒng)一尺寸,在大型數(shù)據(jù)集ImageNet上預(yù)訓(xùn)練的ViT與哈希層構(gòu)建的HViT中輸入圖像,對圖像進(jìn)行特征映射,生成緊湊的深度哈希特征.然后,使用SFEC擴充HViT提取的特征,將擴充后的樣本輸入CTLH,進(jìn)行損失計算,通過反向傳播更新網(wǎng)絡(luò)參數(shù).本文模型通過上述步驟實現(xiàn)高效率和高精度的圖像檢索.
圖1 HRFT-Net結(jié)構(gòu)圖
基于ViT的哈希特征提取模塊(HViT)用于提取相似性表征能力更強的全局性深度哈希特征,流程如圖2所示.ViT只使用Transformer的編碼器部分,通過自注意力機制捕獲圖像的局部信息和全局信息.
首先,圖像通過線性投影和位置編碼,使后續(xù)Transformer編碼器可處理一維序列和感知位置信息.然后,輸入Transformer編碼器中,對圖像特征進(jìn)行編碼,每個編碼器包含一個多頭自注意力(Multi-head Self-Attention, MSA)層和一個多層感知機(Multi-layer Perceptron, MLP)層.MSA能捕捉序列中的全局信息,增強模型的表達(dá)能力.MLP通過非線性變換增強模型的復(fù)雜度和擬合能力.每個編碼器后面均設(shè)置有殘差連接和層歸一化,采用ViT的ViT-B_16預(yù)訓(xùn)練模型.最后,將編碼后的圖像特征輸入哈希層,生成哈希特征.
哈希層包括隨機失活層、激活層和全連接層.隨機失活層防止特征過擬合;激活層ReLU對特征激活;全連接層將特征進(jìn)行線性映射轉(zhuǎn)換,生成深度哈希碼.
圖2 HViT流程圖
HViT將輸入圖像分割成固定尺寸的塊,假設(shè)輸入圖像x大小為H×W×C,先將輸入圖像x分割為H×W/P2個非重疊分辨率的圖像塊,P2為每塊的大小是16×16,將二維圖像轉(zhuǎn)化為一維序列,H、W分別為圖像的高和寬,C為通道數(shù).分割后得到的序列x′長度為H×W/P2.ViT由于注意力機制無法區(qū)分位置差異,需要將位置信息嵌入序列x′,得到位置增強特征:
F=[x′0,x′1,…,x′L]+EP,
其中,EP表示在截斷高斯分布下隨機初始化的位置編碼信息,+表示加法操作.
位置嵌入表示圖像塊在圖像中的相對位置且是可學(xué)習(xí)的參數(shù).
Transformer編碼器包含12層,每層包含MSA和MLP.MSA是自注意力的延伸.首先自注意力計算公式如下:
其中,F為自注意力的輸入特征,Wq、Wk和WV為具有可訓(xùn)練參數(shù)的權(quán)重,d為Q、K、V的維數(shù),φ(·)為Softmax激活函數(shù).
為了并行應(yīng)用多個自注意力,MSA具有m個獨立的SA,則
MSA(F)=SA1(F)⊕SA2(F)⊕…SAm(F),
其中⊕表示concat操作.
綜上所述,在第i個Transformer層中,輸出特征
其中LN(·)為層歸一化.
通過結(jié)合查詢結(jié)果和特征組合擴充等額外相關(guān)信息,圖像檢索中的查詢擴充和數(shù)據(jù)庫擴充技術(shù)可提高圖像檢索性能[40-42].
受這些技術(shù)的啟發(fā),為了在小批量訓(xùn)練中增加更多的特征樣本,豐富參與訓(xùn)練的三元組樣本,本文提出基于類約束的相似特征擴充模塊(SFEC),結(jié)構(gòu)如圖3所示.
SFEC的輸入為HViT從小批量中提取的原始特征,數(shù)量為N.SFEC的輸出為擴充特征,數(shù)量為原始特征的2倍,即2N.SFEC首先搜索原始特征中同類別特征,并進(jìn)行相似性約束判斷.然后,針對類相似性約束特征進(jìn)行相加融合.最后,對相加融合的特征進(jìn)行均值與正則化,輸出基于類約束相似性擴充特征.原始特征和新生成的特征共同參與訓(xùn)練,為后續(xù)基于Hadamard的中心三元組損失函數(shù)(CTLH)損失計算增加更多的三元組樣本,使模型可以進(jìn)行更充分的訓(xùn)練.
假設(shè)HViT提取一個小批量訓(xùn)練數(shù)據(jù)中的N幅圖像,得到原始圖像特征集合:
SN={x1,x2,…,xn},
其中,xi為SN中的一個樣本圖像特征向量,
xi=[xi,1,xi,2,…,xi,k].
圖3 SFEC結(jié)構(gòu)圖
SFEC對SN中基于類約束的相似特征進(jìn)行相加運算,融合同一類別圖像之間的特征,擴充該類別樣本的特征表示.
每次在SN尋找與xi同類別的特征,并且在第i個位置之后,歐氏距離小于β的相似樣本特征進(jìn)行相加后取均值,得
k為特征維度大小,Ti為第i幅圖像后與xi之間的距離小于β的圖像數(shù)量,β為超參數(shù),DE(·,·)為歐氏距離.
最終擴充后的特征為
三元組損失廣泛應(yīng)用于圖像檢索領(lǐng)域,由于深度學(xué)習(xí)方法使用端到端的訓(xùn)練方法,三元組選取一般從一個批次中構(gòu)建的相似矩陣選取(A,P,N),其中,A為錨樣本,P為正樣本,N為負(fù)樣本.A與P為同類,A與N為不同類別,通過不斷拉近A與P之間的距離D1的同時拉遠(yuǎn)A與N之間的距離D2,造成局部三元組缺失數(shù)據(jù)分布的全局性,導(dǎo)致網(wǎng)絡(luò)學(xué)習(xí)效率降低、收斂困難.
為了增強三元組的全局性,本文提出基于Hadamard的中心三元組損失(CTLH),在構(gòu)建三元組損失時,利用Hadamard矩陣為每個類別建立一個全局哈希中心,增強局部三元組的全局性,加快網(wǎng)絡(luò)訓(xùn)練的收斂.
CTLH示例如圖4所示.在圖中,v1為A與P的全局哈希中心,v2為P的哈希中心,通過CTLH的局部三元組約束和全局哈希中心約束,A與P的距離D1縮小,同時A與v1的距離D3靠近,P與v1距離靠近.A與N之間的距離D2增大,同時N與v2的距離D5縮小,得到類內(nèi)樣本的緊湊性和類間樣本的可分離性分布,提高圖像哈希碼的表征能力.
相似圖像的哈希特征在漢明空間中具有較小的距離,不相似的圖像哈希特征具有較大的距離,有利于圖像間的相似性表達(dá).
為了讓哈希特征更好地分布在漢明空間,每個類別的哈希中心與其它類別中心之間的距離應(yīng)比與它相關(guān)類別的哈希碼之間的距離更遠(yuǎn),本文使用Hadamard矩陣構(gòu)建哈希中心,Hadamard矩陣表示為
HK=[v1,v2,…,vk],
其中,K為矩陣維度,k為特征維度.由于Hadamard矩陣的任意兩個行向量v的點乘為0,任意兩個行向量的漢明距離為DH(·,·),滿足每個類別的哈希中心與其它中心之間的距離分布均勻的要求,即
通過Hadamard矩陣可以得到預(yù)定義好的每個類別的全局哈希中心.由于全局哈希中心是二進(jìn)制向量,所以本文使用二進(jìn)制交叉熵度量全局哈希中心損失:
由于每個全局哈希中心都是二進(jìn)制的,而現(xiàn)有的優(yōu)化方法不能保證生成的哈希碼完全收斂到哈希中心,因此加入量化損失LQ以細(xì)化網(wǎng)絡(luò)生成的哈希碼,減少二值哈希碼與實數(shù)特征之間的誤差,從而提升哈希編碼的質(zhì)量.LQ具體計算公式如下:
將每個類別樣本約束到該類別的全局哈希中心,同時利用局部三元組學(xué)習(xí)圖像之間的相似性,從小批量訓(xùn)練數(shù)據(jù)中選出hA、hP和hN,分別表示錨樣本、正樣本和負(fù)樣本,將局部三元組損失定義為LT,則
LT=max(‖hA-hP‖2-‖hA-hN‖2+?,0),
其中?為余量.
最后,基于Hadamard的中心三元組損失函數(shù)為:
LCTLH=LC+LT+λLQ,
其中λ為平衡系數(shù).
CLTH訓(xùn)練得到的深度哈希特征既保持同類樣本的局部緊湊性,同時具有不同類樣本的全局可分離性,有利于網(wǎng)絡(luò)的訓(xùn)練和收斂.
圖4 CTLH示例
為了驗證HRFT-Net的有效性,在公開的圖像檢索數(shù)據(jù)集CIFAR10[43]和NUS-WIDE[44]上進(jìn)行實驗.
CIFAR10數(shù)據(jù)集是來自10個類別的60 000幅圖像的集合,每個類別有6 000幅圖像,隨機抽取5 000幅圖像用于訓(xùn)練集,每個類別有500幅圖像.然后,對查詢集中1 000幅圖像進(jìn)行隨機采樣,每個類別100幅圖像,其余圖像作為查詢數(shù)據(jù)庫,稱為CIFAR10@54000.
此外,按照文獻(xiàn)[45]中的設(shè)置,將訓(xùn)練集也劃分到查詢數(shù)據(jù)庫上,計算CIFAR10數(shù)據(jù)集上的檢索結(jié)果,即CIFAR10@All.
NUS-WIDE數(shù)據(jù)集是目前應(yīng)用最廣泛的圖像檢索數(shù)據(jù)集之一,包含從Flick收集的近27萬幅圖像.按照文獻(xiàn)[45]中使用的數(shù)據(jù)集劃分方法,選用其中21個最常見的類,訓(xùn)練集由每類隨機采樣500幅圖像組成,查詢集由每個類別隨機采樣100幅圖像組成,剩余的圖像當(dāng)作數(shù)據(jù)庫進(jìn)行檢索,稱為NUS- WIDE@5000.
實驗環(huán)境設(shè)備采用Windows10操作系統(tǒng),配備高性能GPU RTX 2070顯卡,帶有8 GB顯存,搭載PyTorch1.7.0深度學(xué)習(xí)開發(fā)環(huán)境.
在訓(xùn)練和測試中,所有圖像調(diào)整為256×256,中心裁剪為224×224,每一批次大小設(shè)置為32,學(xué)習(xí)率初始化為1e-4,采用權(quán)重衰減為1e-5的RMSprop優(yōu)化器,訓(xùn)練輪次設(shè)置為120.使用ViT[31]提供的預(yù)訓(xùn)練權(quán)重初始化模型ViT-B_16,隱藏層大小為768,多頭注意力個數(shù)為12,HRFT-Net由12個Transformer塊組成.
本文采用圖像檢索中常用的評價指標(biāo)——平均精度均值(Mean Average Precision, mAP)評估模型的性能.假設(shè)在查詢數(shù)據(jù)集中有查詢圖像xi的yk個相似圖像,可以在查詢結(jié)果中得到y(tǒng)k幅圖像的位置序號分別為
P={p1,p2,…,pyk},
則xi的平均準(zhǔn)確率為
那么對于整個查詢圖像數(shù)據(jù)集,所有類別的平均檢索精度為
本文選擇如下對比方法.
1)DPN(Deep Polarized Network)[45].基于成對標(biāo)簽的深度哈希檢索模型,通過成對損失保持相似圖像之間的漢明距離小、不相似圖像之間的漢明距離大.同時通過量化損失,減少CNN輸出和二進(jìn)制編碼之間的誤差.
2)DSH(Deep Supervised Hashing)[46].通過類別敏感的哈希目標(biāo),保持同類圖像之間的漢明距離小、異類圖像之間的漢明距離大,優(yōu)化深度哈希網(wǎng)絡(luò).
3)IDHN[47].在哈希層使用符號函數(shù),而不是連續(xù)的激活函數(shù),從而避免量化誤差.
4)CSQ(Central Similarity Quantization)[48].鼓勵相似的數(shù)據(jù)對的哈希碼趨近于一個共同中心,可以提高哈希網(wǎng)絡(luò)學(xué)習(xí)效率.
5)HashFormer[38].采用基于Transformer的框架解決深度哈希任務(wù),使用平均精度損失直接優(yōu)化檢索精度.
6)TransHash[37].設(shè)計雙流多粒度視覺Trans-former模塊,并采用動態(tài)構(gòu)造相似矩陣的方法學(xué)習(xí)緊湊的哈希碼,提高圖像檢索性能.
本節(jié)在CIFAR10、NUS-WIDE圖像檢索數(shù)據(jù)集上進(jìn)行實驗,采用16 bits、32 bits、64 bits、128 bits這4種不同長度比特位哈希碼,計算平均檢索精度,評估不同模型.為了實現(xiàn)不同方法的公平對比并驗證HRFT-Net的泛化性和優(yōu)越性,本文設(shè)計如下3種不同的深度哈希特征提取模塊.
1)HAN(Hash Feature Extraction Based on Alex-Net).表示使用AlexNet與哈希層構(gòu)建的基于AlexNet的哈希特征提取模塊.
2)HRN(Hash Feature Extraction Based on Res-Net50).表示使用ResNet50與哈希層構(gòu)建的基于ResNet50的哈希特征提取模塊.
3)HViT.本文提出的基于Vision Transformer的哈希特征提取模塊.
各模塊具體信息如表1所示.
表1 特征提取模塊信息
首先,在不同檢索方法均以HAN作為特征提取模塊的情況下進(jìn)行實驗,具體mAP值如表2所示,表中黑體數(shù)字表示最優(yōu)值.HAN由AlexNet和哈希層構(gòu)成,其中AlexNet由5層卷積層和3層全連接層構(gòu)成,整體網(wǎng)絡(luò)深度較淺.從表中結(jié)果可知,在CIFAR10、NUS-WIDE數(shù)據(jù)集上,HRFT-Net的128 bits哈希碼檢索mAP值最高,分別達(dá)到78.5%和84.0%.
表2 基于HAN的不同檢索方法mAP值對比
使用基于ResNet50的卷積層數(shù)更深的HRN作為特征提取模塊,不同方法的mAP值如表3所示,表中黑體數(shù)字表示最優(yōu)值.HRN由預(yù)訓(xùn)練的ResNet50與哈希層構(gòu)建而成,ResNet50由50層深度卷積組成,使用更深的網(wǎng)絡(luò),同時使用殘差連接,可以有效解決深度網(wǎng)絡(luò)的梯度消失和退化問題.相比HAN,HRN更深,有更多的參數(shù)和計算量.
由表3結(jié)果可看出,在CIFAR10數(shù)據(jù)集上,HRFT-Net的16bits哈希碼檢索mAP值為84.9%,對比次優(yōu)的CSQ,提高1.8%.
表3 基于HRN的不同檢索方法mAP對比
HAN和HRN主要由CNN構(gòu)成,而CNN受卷積核大小限制,提取的特征相似性表征能力不足.因此,下面使用HViT驗證HRFT-Net的檢索性能.與HAN和HRN不同,HViT利用Transformer的自注意力機制捕捉圖像中的全局依賴關(guān)系,用于提取特征,能更好地捕獲圖像的全局相似性.
以HViT作為特征提取模塊,不同檢索方法的mAP值如表4所示,表中黑體數(shù)字表示最優(yōu)值.由表可以看出,在NUS-WIDE數(shù)據(jù)集上,HRFT-Net的64 bits哈希碼檢索mAP值達(dá)到87.9%,比效果次優(yōu)的CSQ提高2.0%.值得注意的是,在CIFAR10數(shù)據(jù)集上,使用128 bits哈希碼時, HRFT-Net的檢索精度略有降低,比最優(yōu)的IDHN降低0.9%.這是由于網(wǎng)絡(luò)將連續(xù)碼轉(zhuǎn)換為二進(jìn)制碼時存在量化誤差,在哈希碼較長或較短時,量化誤差對檢索精度的影響增大.
對比表2~表4中的mAP值發(fā)現(xiàn),在CIFAR10、NUS-WIDE數(shù)據(jù)集上,采用相同的特征提取模塊時,使用4種不同長度的哈希碼進(jìn)行圖像檢索,HRFT-Net的檢索精度都取得最優(yōu)值,相比次優(yōu)方法可提高0.2%~2.0%,這充分說明HRFT-Net圖像檢索的卓越性能.
綜合表2~表4的實驗結(jié)果還可發(fā)現(xiàn),相比DPN、DSH、IDHN和CSQ,在不同比特位長度的哈希碼和不同數(shù)據(jù)集上,HRFT-Net的mAP值波動較小,且檢索精度最高,這表明HRFT-Net檢索的穩(wěn)定性和優(yōu)越性.HRFT-Net通過基于類約束的相似特征擴充模塊(SFEC)擴充提取的特征,增加更多的三元組樣本進(jìn)行訓(xùn)練,有利于網(wǎng)絡(luò)更充分地學(xué)習(xí)和優(yōu)化,從而提高模型檢索的性能和穩(wěn)定性.同時,HRFT-Net通過基于Hadamard的中心三元組損失函數(shù)(CTLH),利用局部三元組約束和全局哈希中心約束, 加快網(wǎng)絡(luò)學(xué)習(xí)的收斂速度,并優(yōu)化生成的哈希碼特征空間的分布,使其具有更好的圖像深度語義表征能力,有利于不同類別樣本之間在漢明空間中更好地分布,從而提高圖像的檢索精度.
為了分析HViT中輸入圖像的特征提取機制,隨機選取3幅原始圖像和其生成的HViT注意力圖進(jìn)行可視化對比,具體如圖5所示.注意力圖是對HViT中的自注意力權(quán)重進(jìn)行可視化生成的,其中較亮區(qū)域表示HViT在該位置具有較高的關(guān)注度,而較暗區(qū)域表示關(guān)注度較低.
(a)原始圖像
(b)注意力圖
從圖5中可以看出,注意力圖中的顯著性區(qū)域與原始圖像中的關(guān)鍵特征區(qū)域基本保持一致.HViT通過自注意機制對圖像整體計算權(quán)重,可捕獲到具有判別性的深度特征,有助于后續(xù)圖像檢索任務(wù).
本文不僅進(jìn)行檢索性能的實驗,還對比各方法的檢索時間.所有檢索實驗在同一高性能服務(wù)器上進(jìn)行.
服務(wù)器配置如下:NVIDIA GeForce RTX 2070、Intel(R) Core(TM) i5-9400F CPU@2.90 GHz、16 GB內(nèi)存.
不同檢索方法的平均計算時間如表5所示,均采用HViT作為特征提取模塊.由表可以看出,HRFT-Net在檢索時間上無明顯優(yōu)勢,與其它方法的時間開銷是相近的.綜合檢索精度和檢索時間可知,相比其他方法,HRFT-Net在時間開銷相仿的情況下可有效提升檢索精度,由此表明HRFT-Net具有高效的檢索性能.
表5 基于HViT的不同檢索方法的檢索時間對比
為了進(jìn)一步驗證HRFT-Net的檢索性能,在CIFAR10、NUS-WIDE數(shù)據(jù)集上,采用64 bits哈希碼,分析使用HAN、HRN、HViT這3種特征提取模塊的HRFT-Net.在CIFAR10、NUS-WID數(shù)據(jù)集上提供HRFT-Net的精度-召回率曲線、召回率曲線和精度曲線,如圖6和圖7所示.
在圖6中,基于HViT的HRFT-Net的精度-召回率曲線在最外圍,接近1.0,召回率曲線和精度曲線同樣處于最頂端,表示其檢索效果最優(yōu).
在圖7中,基于HViT的精度-召回率曲線、召回率曲線和精度曲線同樣處于其它曲線的上方,表明HRFT-Net使用HViT的性能優(yōu)于采用HAN和HRN模塊.這是因為HAN與HRN分別由AlexNet和ResNet50構(gòu)成,兩者均為CNN,而HViT是由Transformer構(gòu)成,相比CNN,Transformer具有更好的全局感受野.因此,相比HAN和HRN, HViT能更好地捕獲圖像的整體內(nèi)容和細(xì)節(jié)特征信息,從而提高圖像檢索的精度.
(a)精度-召回率 (b)召回率 (c)精度
(a)精度-召回率 (b)召回率 (c)精度
精度-召回率曲線反映HRFT-Net檢索結(jié)果的準(zhǔn)確性,曲線和軸圍成的面積越大,檢索性能越優(yōu).對比圖6(a)和圖7(a)可以看出,HRFT-Net在CIFAR10數(shù)據(jù)集上的精度-召回率曲線圍成的面積遠(yuǎn)大于NUS-WIDE數(shù)據(jù)集,同時在CIFAR10數(shù)據(jù)集上整體檢索準(zhǔn)確率也遠(yuǎn)高于NUS-WIDE數(shù)據(jù)集.這是因為相比NUS-WIDE數(shù)據(jù)集,CIFAR10數(shù)據(jù)集上圖像內(nèi)容復(fù)雜度相對較低,更容易提取圖像判別性特征,同時CIFAR10數(shù)據(jù)集在查詢集數(shù)量上少于NUS-WIDE數(shù)據(jù)集.
從圖6和圖7中召回率曲線和精度曲線可以看出,召回率整體呈上升趨勢,精度整體呈下降趨勢.隨著檢索到的樣本圖像越來越多,查詢數(shù)據(jù)庫上檢索到同類別圖像越來越全面,召回率呈上升趨勢.同樣,相似同類別圖像檢索越全面,后續(xù)檢索結(jié)果中不相似的非同類別負(fù)樣本圖像也越多,檢索圖像越多則檢索到同類別的精度越小,精度整體呈下降趨勢.
為了深入探究SFEC擴充訓(xùn)練特征樣本對HRFT-Net檢索性能的影響,在HAN、HRN和HViT三種特征提取模塊下分別進(jìn)行SFEC的消融實驗,并通過mAP值驗證其有效性.
在CIFAR10、NUS-WIDE數(shù)據(jù)集上的消融實驗結(jié)果如表6所示,表中黑體數(shù)字表示最優(yōu)值.
表6 是否加入SFEC的消融實驗結(jié)果
由表6可以看出,在CIFAR10數(shù)據(jù)集上,HRFT-Net在加入SFEC和不加入SFEC的情況下,分別使用HAN、HRN和HViT進(jìn)行不同比特位長度的哈希碼檢索,mAP值平均提升約0.6%、0.9%和0.5%.在NUS-WIDE數(shù)據(jù)集上,HRFT-Net在加入SFEC和不加入SFEC的情況下,分別使用HAN、HRN和HViT進(jìn)行不同比特位長度的哈希碼檢索,mAP值平均提升約0.3%和0.4%.這說明HRFT-Net在每個小批量訓(xùn)練中,通過SFEC對提取的圖像特征進(jìn)行組合,生成新的合成圖像特征,增加訓(xùn)練特征樣本的多樣性,豐富可訓(xùn)練的三元組樣本,有利于網(wǎng)絡(luò)更充分地學(xué)習(xí),優(yōu)化網(wǎng)絡(luò)提取的圖像特征,提高圖像檢索精度.
為了驗證CLTH的有效性,使用文獻(xiàn)[48]的中心量化損失和文獻(xiàn)[49]的三元組哈希損失依次替換HRFT-Net中的CLTH,在CFIFAR10、NUS-WIDE數(shù)據(jù)集上進(jìn)行檢索精度對比,結(jié)果如表7所示,表中黑體數(shù)字表示最優(yōu)值.由表7可知,在CIFAR10、NUS-WIDE數(shù)據(jù)集上,CLTH在檢索精度方面均優(yōu)于中心量化損失和三元組哈希損失.中心量化損失將相似類別數(shù)據(jù)對收斂到同一哈希中心,不同類別數(shù)據(jù)收斂到不同哈希中心.而三元組哈希損失構(gòu)建三元組樣本,通過拉近正樣本與錨樣本之間的距離、推遠(yuǎn)負(fù)樣本與錨樣本之間的距離,進(jìn)行圖像的相似性學(xué)習(xí).從表7結(jié)果可以看出,中心量化損失和三元組哈希損失在不同長度哈希碼上的檢索精度相似,整體上都低于CLTH.本文提出的CLTH不僅構(gòu)建三元組,還利用Hadamard矩陣為每個類別構(gòu)建全局哈希中心,同時進(jìn)行局部三元組約束和全局哈希中心約束,使模型得到的深度哈希特征不僅保持同類樣本的局部緊湊性,而且具有不同類樣本的全局可分離性,從而有效提升圖像檢索精度.
表7 CLTH的消融實驗結(jié)果
本節(jié)選擇如下一些目前先進(jìn)的深度哈希圖像檢索方法進(jìn)行對比實驗.對比方法如下:DHN[11],Hash-Net[12],Greedy Hash[13],Deep Fisher Hashing[15],DMAH[16],SDNMSH[17],DCH[28],TransHash[37]和Ha-shFormer[38].
各方法在CIFAR10、NUS-WIDE數(shù)據(jù)集上的mAP值如表8所示,表中黑體數(shù)字表示最優(yōu)值,-表示該方法未進(jìn)行實驗測試.由表可見,HashFormer、TransHash和HRFT-Net均采用Transformer提取圖像特征,檢索性能遠(yuǎn)高于DHN、HashNet等方法.這是因為DHN、HashNet等深度哈希檢索方法主要使用CNN,提取的特征相似性表征能力不足,而HashFormer和TransHash均采用Transformer提取圖像特征,能更好地捕獲圖像的全局特性,保持圖像間的相似性表達(dá)能力.
表8 各方法在2個數(shù)據(jù)集上的mAP值對比
此外,在同樣使用Transformer的情況下,相比HashFormer和TransHash,HRFT-Net仍具有較大優(yōu)勢.在CIFAR10數(shù)據(jù)集上,HRFT-Net的不同比特位哈希碼檢索mAP值比HashFormer和TransHash分別提高約4%和5%;在NUS-WIDE數(shù)據(jù)集上,HRFT-Net的不同比特位哈希碼檢索mAP值比HashFormer和TransHash分別提高約9%和10%.這些實驗結(jié)果都顯示HRFT-Net的卓越性能.在16bits,32bits和64bits長度的哈希碼檢索的mAP中,HRFT-Net的檢索精度均優(yōu)于其它方法,再一次表明HRFT-Net的優(yōu)越性.
在CIFAR10、NUS-WIDE數(shù)據(jù)集上分別選取1幅查詢圖像,使用HRFT-Net和DCH分別返回前10張檢索圖像,具體可視化結(jié)果如表9所示.由表可見,HRFT-Net可以檢索到更多與用戶期望相關(guān)的檢索結(jié)果.
表9 HRFT-Net和DCH的前10張檢索圖像
為了驗證HRFT-Net的魯棒性和泛化性,在大型數(shù)據(jù)集ImageNet[50]和MS COCO[51]上進(jìn)行模型訓(xùn)練和mAP值對比.
ImageNet數(shù)據(jù)集是大規(guī)模視覺識別挑戰(zhàn)賽(ISLVRC 2015)的基準(zhǔn)數(shù)據(jù)集,實驗中遵循與文獻(xiàn)[37]相同的設(shè)置,隨機選取100類,將訓(xùn)練集上這些類別的所有圖像作為數(shù)據(jù)庫,并使用驗證集上這些類的所有圖像作為查詢集.MS COCO數(shù)據(jù)集包含82 783幅訓(xùn)練圖像和40 504幅驗證圖像,隨機選取5 000幅圖像作為查詢集,其余圖像作為數(shù)據(jù)庫,并從數(shù)據(jù)庫上隨機選取10 000幅圖像進(jìn)行訓(xùn)練.
HRFT-Net和其它8種深度哈希圖像檢索方法在ImageNet、MS COCO數(shù)據(jù)集上的mAP值對比如表10所示,表中黑體數(shù)字表示最優(yōu)值.
由表10可以看出,在ImageNet數(shù)據(jù)集上,HRFT-Net比HashFormer的mAP值平均提高約4.2%;在MS COCO數(shù)據(jù)集上, HRFT-Net比CSQ的mAP值平均提高約2.1%.HRFT-Net在使用不同長度哈希碼時的mAP值均優(yōu)于其它對比方法,表明HRFT-Net的有效性.
表10 不同檢索方法在2個大型數(shù)據(jù)集上的mAP值對比
本文提出基于類相似特征擴充與中心三元組損失的哈希圖像檢索模型(HRFT-Net),針對CNN提取的圖像特征相似性表征能力不足的問題,HRFT-Net使用預(yù)訓(xùn)練的ViT和哈希層,構(gòu)建基于ViT的哈希特征提取模塊(HViT),使用ViT提取表征能力更強的全局特征信息.由于從小批量數(shù)據(jù)中構(gòu)建有限的局部三元組樣本,導(dǎo)致網(wǎng)絡(luò)訓(xùn)練不夠充分,因此提出基于類約束的相似特征擴充模塊(SFEC),通過小批量訓(xùn)練中已提取特征,合成新的訓(xùn)練特征樣本,擴充三元組訓(xùn)練.針對局部三元組約束無法保證全局三元組同時滿足約束,樣本數(shù)據(jù)分布缺失全局性,網(wǎng)絡(luò)訓(xùn)練難于收斂的問題,提出基于Hadamard的中心三元組損失函數(shù)(CTLH),利用Hadamard為每類建立全局哈希中心約束,通過局部三元組與全局哈希中心約束加速網(wǎng)絡(luò)的學(xué)習(xí)和收斂,提高圖像檢索精度.大量實驗表明,無論在CIFAR10、NUS-WIDE這種常規(guī)數(shù)據(jù)集上,還是在ImageNet、MS COCO這種大型數(shù)據(jù)集上,HRFT-Net在不同長度比特位下的哈希碼圖像檢索中,整體上具有較強的競爭力和較優(yōu)的檢索效果.
盡管HRFT-Net獲得較優(yōu)的檢索精度,但三元組的選取依賴標(biāo)簽,現(xiàn)實應(yīng)用中標(biāo)簽獲取昂貴且可能存在錯誤.今后將深入探索圖像類內(nèi)的相似性和圖像類間的關(guān)聯(lián)性,引入自監(jiān)督的學(xué)習(xí)方法,增強HRFT-Net的特征表達(dá)能力,降低對標(biāo)簽的依賴,并進(jìn)一步提升圖像檢索性能.