閆冰琦,田愛奎,吳楠楠,孫 妍,王 振
(山東理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 山東 淄博 255049)
大規(guī)模圖像檢索發(fā)展經(jīng)歷了2個(gè)階段,即基于文本和內(nèi)容的圖像檢索。基于文本的圖像檢索需要大量帶有文本標(biāo)簽的圖像作為數(shù)據(jù)庫,在查詢時(shí)利用輸入的文本內(nèi)容匹配圖像的標(biāo)簽,將匹配程度高的圖像作為結(jié)果輸出。因?yàn)閹?biāo)簽的圖像難以獲取,部署難度大,所以基于內(nèi)容的圖像檢索深受關(guān)注?;趦?nèi)容的圖像檢索不再依賴于文本標(biāo)簽,一般方式是直接使用圖像的高維原始特征進(jìn)行匹配,輸出相似度高的圖像;但是隨著數(shù)據(jù)量增加,高維特征存儲(chǔ)代價(jià)昂貴,相似度匹配計(jì)算量大,因此這類檢索算法的應(yīng)用受到限制。
基于內(nèi)容的近鄰查找在解決實(shí)際圖像檢索問題中得到廣泛研究和應(yīng)用,而哈希算法是近鄰查找中比較流行的算法,與直接使用圖像的高維特征進(jìn)行相似性比較的方法相比,哈希算法具有哈希碼存儲(chǔ)空間小、漢明距離計(jì)算快的優(yōu)點(diǎn)。哈希算法將高維的圖像映射成低維的哈希碼,在漢明空間中通過計(jì)算漢明距離作為圖像相似程度的依據(jù)。查詢時(shí),將輸入圖像映射到漢明空間中,返回漢明距離小的圖像作為查詢結(jié)果。
許多傳統(tǒng)的學(xué)習(xí)框架[1-4]很早就被提出。局部敏感哈希(locality-sensitive hashing, LSH)[1]首先設(shè)置哈希桶,然后設(shè)計(jì)哈希映射函數(shù)將原始數(shù)據(jù)映射到哈希桶中,原始空間距離相近的圖像映射后在同一桶內(nèi)的概率較大,反之則較小。在映射過程中不斷調(diào)整映射函數(shù),最后查詢時(shí)使用映射函數(shù)將查詢圖像映射到哈希桶內(nèi),桶內(nèi)所有圖像即為相似圖像。譜哈希(spectral hashing, SH)[2]的編碼過程可以看作圖像分割問題,使用主成分分析法得到低維向量,將其作為連續(xù)碼,因?yàn)橄蛄康姆秶⒉皇?0,1),所以使用閾值控制得到哈希碼。迭代量化哈希(iterative quantization, ITQ)[3]首先使用主成分分析法進(jìn)行降維得到數(shù)據(jù)集合,然后使用隨機(jī)矩陣對(duì)數(shù)據(jù)旋轉(zhuǎn)得到哈希碼,最后使用量化誤差更新矩陣,重復(fù)多次后得到最優(yōu)矩陣。K均值哈希(K-means hashing,K-means)[4]使用哈希碼代表聚類中心,在檢索時(shí)利用聚類中心的距離衡量2個(gè)向量的相似度,提高檢索速度。
隨著深度學(xué)習(xí)的發(fā)展,神經(jīng)網(wǎng)絡(luò)擬合數(shù)據(jù)分布的能力逐漸得到提高,使用訓(xùn)練完成的網(wǎng)絡(luò)可以將圖像的語義信息保存到哈希碼中。卷積網(wǎng)絡(luò)哈希(convolutional neural network hashing, CNNH)[5]輸入相似矩陣的近似分解向量,并訓(xùn)練神經(jīng)網(wǎng)絡(luò)進(jìn)行擬合,圖像檢索時(shí)可以使用訓(xùn)練完成的神經(jīng)網(wǎng)絡(luò)生成圖像的哈希碼,然而這個(gè)模型并不是端到端的網(wǎng)絡(luò)。深度神經(jīng)網(wǎng)絡(luò)哈希(deep neural network hashing, DNNH)[6]使用三元損失函數(shù)作為網(wǎng)絡(luò)的目標(biāo)函數(shù),輸入圖像是三元組圖像{x1,x2,x3},x1與x2為相似圖像,與x3為非相似圖像,DNNH的目標(biāo)是訓(xùn)練網(wǎng)絡(luò)生成哈希碼,使x1與x2的漢明距離小于x1與x3的。深度語義排序哈希(deep semantic ranking based hashing, DSRH)[7]直接使用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)排序后的圖像順序。深度監(jiān)督哈希(deep supervised hashing, DSH)[8]將Sigmoid/Tanh正則項(xiàng)替換成范圍是(-1,1)的分段線性正則項(xiàng),解決網(wǎng)絡(luò)在接近-1或1時(shí)訓(xùn)練速度慢的問題。
許多更復(fù)雜的框架[9-16]在最近的研究中被提出。根據(jù)是否需要監(jiān)督信息參與,框架可以分為監(jiān)督學(xué)習(xí)[9-11]和無監(jiān)督學(xué)習(xí)[12-16]。監(jiān)督學(xué)習(xí)要求每個(gè)圖像帶1個(gè)或多個(gè)文本標(biāo)簽,一般認(rèn)為只要有1個(gè)標(biāo)簽相同,圖像即為相似圖像。監(jiān)督學(xué)習(xí)的目標(biāo)為:當(dāng)輸入圖像是相似圖像時(shí),神經(jīng)網(wǎng)絡(luò)生成的哈希碼漢明距離較近;當(dāng)輸入圖像為非相似圖像時(shí),神經(jīng)網(wǎng)絡(luò)生成的哈希碼漢明距離較遠(yuǎn)。大部分監(jiān)督框架的限制在于標(biāo)簽數(shù)據(jù)的難以獲取,哈希對(duì)抗網(wǎng)絡(luò)(HashGAN)[17]的解決方法是增加1個(gè)對(duì)抗網(wǎng)絡(luò)來生成帶標(biāo)簽的假圖像,利用真實(shí)圖像與假圖像作為數(shù)據(jù)集訓(xùn)練編碼器生成哈希碼。編碼器的目標(biāo)函數(shù)是基于貝葉斯框架下的指數(shù)分布距離哈希,在哈希碼中可以保留語義信息。深度柯西哈希(deep Cauchy hashing, DCH)[18]的框架為貝葉斯框架,目標(biāo)函數(shù)使用柯西距離生成哈希碼。深度成對(duì)監(jiān)督哈希(deep pairwise-supervised hashing, DPSH)[19]使用卷積神經(jīng)網(wǎng)絡(luò)提取圖像的特征,然后利用損失函數(shù)約束全連接層生成哈希碼。深度哈希網(wǎng)絡(luò)(deep hashing network, DHN)[20]目標(biāo)函數(shù)是最小化交叉熵?fù)p失,使原始空間相似的圖像生成的哈希碼在漢明空間中的漢明距離相近。
一般無監(jiān)督學(xué)習(xí)沒有利用監(jiān)督標(biāo)簽,所以生成的哈希碼保留的語義信息較少。雙瓶頸哈希(twin-bottleneck hashing, TBH)[21]使用第1個(gè)分支提取圖像的特征并生成哈希碼,并在每批次訓(xùn)練中使用哈希碼生成1個(gè)相似圖。在第2個(gè)分支使用全連接提取圖像的特征,生成潛在特征向量。為了保留語義信息,圖神經(jīng)網(wǎng)絡(luò)使用第2分支的特征向量影響第1分支的相似圖,最后通過解碼器控制哈希碼的質(zhì)量。數(shù)據(jù)蒸餾哈希(DistillHash)[13]研究貝葉斯最優(yōu)分類器的標(biāo)簽和深度特征作為有噪相似度標(biāo)簽的關(guān)系,并設(shè)計(jì)策略來蒸餾數(shù)據(jù)對(duì),利用貝葉斯框架進(jìn)行哈希學(xué)習(xí)。
訓(xùn)練神經(jīng)網(wǎng)絡(luò)需要大量的數(shù)據(jù),并且?guī)?biāo)簽的數(shù)據(jù)難以獲取,所以大部分監(jiān)督學(xué)習(xí)難以在實(shí)際圖像檢索任務(wù)中部署。由于沒有使用監(jiān)督信息,部分無監(jiān)督學(xué)習(xí)保留的語義信息較少,因此這些無監(jiān)督學(xué)習(xí)效果并沒有監(jiān)督學(xué)習(xí)效果好。
本文中提出基于正態(tài)分布的距離保持哈??蚣?簡稱本文模型),原始特征的距離關(guān)系可以近似地代表語義信息,通過訓(xùn)練網(wǎng)絡(luò)使輸出的哈希碼保持原始特征的距離關(guān)系,即利用漢明距離代替原始圖像的歐氏距離,在圖像檢索時(shí)返回相似結(jié)果。
假設(shè)數(shù)據(jù)集X={x1,x2…,xN}的圖像數(shù)量為N,其中xi為數(shù)據(jù)集中第i幅圖像,哈希函數(shù)的目標(biāo)是將高維圖像映射成低維的哈希碼,并在哈希碼中盡可能保留圖像的語義信息,即f∶S→{-1,1}K,其中S為原始圖像的維度,K為生成哈希碼的長度。如果原始圖像是相似的(指原始特征的距離關(guān)系較近),那么生成的哈希碼的漢明距離小,反之漢明距離大。
如圖1所示,本文模型的輸入是原始圖像,首先利用神經(jīng)網(wǎng)絡(luò)得到圖像的4 096維DeCAF7特征H={hi},其中hi為數(shù)據(jù)庫中第i個(gè)圖像的特征。近似替代圖像的語義信息,然后通過全連接層輸出連續(xù)碼Z∈(0,1)K,最后經(jīng)過符號(hào)函數(shù)sign進(jìn)行正則化才能得到哈希碼。因?yàn)榉?hào)函數(shù)是不可導(dǎo)的,難以更新網(wǎng)絡(luò),所以目標(biāo)函數(shù)的計(jì)算、神經(jīng)網(wǎng)絡(luò)的梯度下降使用的都是連續(xù)碼。
框架第1部分由Alexnet網(wǎng)絡(luò)的5個(gè)卷積層(Conv1, Conv2, …, Conv5)與前2個(gè)全連接層(FC6、FC7)構(gòu)成,輸入原始圖像提取圖像的特征??蚣艿?部分將Alexnet網(wǎng)絡(luò)的第8個(gè)全連接層替換成2個(gè)新全連接層(NFC8、NFC9),輸入第1部分生成的特征,經(jīng)過目標(biāo)函數(shù)的約束,并通過符號(hào)函數(shù)計(jì)算得到哈希碼。
學(xué)習(xí)框架由2個(gè)部分構(gòu)成:1)使用預(yù)訓(xùn)練的Alexnet網(wǎng)絡(luò)獲取圖像的高維特征;2)首先使用2層全連接層獲取連續(xù)碼,然后使用符號(hào)函數(shù)得到哈希碼,最后利用正態(tài)分布框架作為目標(biāo)函數(shù)訓(xùn)練網(wǎng)絡(luò)。圖1中的Alexnet網(wǎng)絡(luò)包含5個(gè)卷積層(Conv1, Conv2, …, Conv5)和3個(gè)全連接層(FC6、FC7、FC8),編碼器使用FC7輸出的4 096維特征代表圖像的語義信息,將FC8替換成2個(gè)全連接層(NFC8、NFC9),最后1層全連接層的隱藏單元的數(shù)量與哈希碼的長度相同。神經(jīng)網(wǎng)絡(luò)的輸出為連續(xù)碼,連續(xù)碼的范圍為(-∞,+∞),而哈希碼的范圍是{-1,1}K,為了減少連續(xù)碼和哈希碼的量化誤差,增加Sigmoid函數(shù)約束連續(xù)碼的范圍。
1.2.1 傳統(tǒng)歐氏距離
在許多距離保持哈希中,漢明距離逼近圖像原始距離的方法一般是使用減法計(jì)算兩者的差值作為損失。假設(shè)原始特征的距離為D(hi,hj),hj為數(shù)據(jù)庫中第j個(gè)圖像的特征,神經(jīng)網(wǎng)絡(luò)生成連續(xù)碼的距離為d(zi,zj),其中zi、zj分別為第i、j個(gè)圖像的連續(xù)碼,大多數(shù)傳統(tǒng)的相關(guān)度距離保持哈希的形式為
(1)
以式(1)為目標(biāo)函數(shù)會(huì)產(chǎn)生如下問題:1)如果原始特征距離和漢明距離差值非常大,則計(jì)算的損失就會(huì)非常大,產(chǎn)生非常大的梯度則導(dǎo)致網(wǎng)絡(luò)震蕩。2)連續(xù)碼距離和原始特征距離的量化范圍問題,通常來說,原始特征是高維特征,會(huì)導(dǎo)致D的量化范圍大,所以D很難與d進(jìn)行相似性比較。
1.2.2 目標(biāo)函數(shù)
基于正態(tài)分布框架的目標(biāo)函數(shù)為
(2)
式中:P為連續(xù)碼與原始特征的相似概率;D*為D(hi,hj)與d(zi,zj)的比值。
基于正態(tài)分布框架的目標(biāo)函數(shù)圖像如圖2所示。由圖可知,目標(biāo)函數(shù)的最大值為1,即損失最大值為1,有效地解決網(wǎng)絡(luò)震蕩問題。本文模型的目標(biāo)是增加D*=1的概率,即目標(biāo)函數(shù)需要最大化P值。在梯度下降時(shí),最大化目標(biāo)函數(shù)比較困難,因此將式(2)目標(biāo)函數(shù)轉(zhuǎn)化為最小化目標(biāo)函數(shù),即
圖2 基于正態(tài)分布框架的目標(biāo)函數(shù)圖像
(3)
最小化目標(biāo)函數(shù)圖像見圖3。由圖可以看出,當(dāng)D*>3時(shí),目標(biāo)函數(shù)值逐漸趨近于1,梯度幾乎不再更新,不利于神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)。
圖3 最小化目標(biāo)函數(shù)圖像
為了解決上述梯度問題,將式(3)中的目標(biāo)函數(shù)變更為
(4)
式(4)化簡得
(5)
式中α為解決梯度消失問題的參數(shù),當(dāng)D*<1時(shí),α=0;當(dāng)D*≥1時(shí),α=1。
當(dāng)D/d>1時(shí),編碼器會(huì)使用d/D作為距離關(guān)系,目標(biāo)函數(shù)圖像見圖4,這樣梯度就不會(huì)一直趨近于1,神經(jīng)網(wǎng)絡(luò)進(jìn)行更新時(shí)可以得到梯度值。
圖4 控制損失范圍的參數(shù)λ為1時(shí)的最小化目標(biāo)函數(shù)圖像
圖4中目標(biāo)函數(shù)圖像過于平緩,為了加速神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí),需要增加參數(shù)來松弛目標(biāo)函數(shù),即
(6)
式中γ為增加的參數(shù)。參數(shù)取值不同,目標(biāo)函數(shù)的圖像不同,如圖5所示。由圖可知,當(dāng)λ=K/2、γ=0.1時(shí),神經(jīng)網(wǎng)絡(luò)的損失既不會(huì)因過大而出現(xiàn)網(wǎng)絡(luò)梯度波動(dòng)問題,也不會(huì)因過小而導(dǎo)致訓(xùn)練緩慢。
λ—控制損失范圍的參數(shù);γ—松弛目標(biāo)函數(shù)的參數(shù)。
1.2.3 標(biāo)準(zhǔn)化歐氏距離
對(duì)于特征的距離關(guān)系的衡量,許多距離保持哈希選擇的是傳統(tǒng)歐氏距離。傳統(tǒng)歐氏距離計(jì)算特征中真實(shí)數(shù)值間的差值,如果特征維度大,則量化范圍大概率會(huì)比較大。本文中設(shè)計(jì)標(biāo)準(zhǔn)化歐氏距離如式(7)、(8),根據(jù)哈希碼的不同改變距離的量化范圍。
(7)
(8)
式中:D′(hi,hj)、d′(zi,zj)分別為D(hi,hj)、d(zi,zj)的標(biāo)準(zhǔn)化歐氏距離;k=4 096,為高維特征的長度;him、hjm分別為hi、hj的第m個(gè)浮點(diǎn)數(shù);zim、zjm分別為zi、zj的第m個(gè)浮點(diǎn)數(shù)。
1.2.4 量化損失
實(shí)驗(yàn)中,網(wǎng)絡(luò)開始訓(xùn)練時(shí)可能會(huì)向目標(biāo)相反的方向?qū)W習(xí),難以找到正確的梯度,增加量化損失Q后可以幫助網(wǎng)絡(luò)進(jìn)行正確的梯度下降學(xué)習(xí),如式(9),增加連續(xù)碼的交叉熵?fù)p失,使連續(xù)碼內(nèi)每個(gè)元素逼近0或1。
(9)
式中β為參數(shù),在訓(xùn)練中,設(shè)置β=10-32,防止log函數(shù)輸入為0。
本文模型的目標(biāo)函數(shù)記為
min(l+Q),
(10)
式中:
(11)
1.2.5 符號(hào)函數(shù)
通過符號(hào)函數(shù)g(a)獲得哈希碼b,
(12)
b=g(Z-0.5)∈{-1,1}k。
(13)
1.2.6 訓(xùn)練步驟
通過目標(biāo)函數(shù)的約束,模型可以有效地將原始圖像的語義信息保留在哈希碼中,在漢明空間進(jìn)行查找時(shí)能夠返回相似程度高的圖像。根據(jù)上述研究,模型訓(xùn)練步驟見算法1。
算法1本文模型訓(xùn)練階段
輸入訓(xùn)練集X={xi}N,參數(shù)γ、β以及哈希碼的長度K。
輸出神經(jīng)網(wǎng)絡(luò)的參數(shù)及連續(xù)碼Z。
步驟1初始化Alexnet網(wǎng)絡(luò)參數(shù),并加載預(yù)訓(xùn)練網(wǎng)絡(luò)參數(shù),將FC8替換成2個(gè)全連接層,使用前饋算法獲取輸入圖像的DeCAF7特征,并得到連續(xù)碼Z。
步驟2隨機(jī)選擇1個(gè)訓(xùn)練批次的數(shù)據(jù),根據(jù)式(8)計(jì)算高維特征與連續(xù)碼特征的距離關(guān)系。
步驟3在第1個(gè)訓(xùn)練批次中的目標(biāo)函數(shù)上增加量化損失Q。
步驟4反向傳播計(jì)算2個(gè)全連接層的梯度,并更新參數(shù)。
步驟5重復(fù)步驟2—4,直到網(wǎng)絡(luò)輸出達(dá)到預(yù)期。
本文模型在Pytorch框架下進(jìn)行訓(xùn)練,梯度下降由Pytorch框架進(jìn)行計(jì)算。優(yōu)化器選擇Adam,除了學(xué)習(xí)率為10-4,其他參數(shù)均為框架的默認(rèn)參數(shù)。實(shí)驗(yàn)的訓(xùn)練批數(shù)設(shè)置為64。
在大型數(shù)據(jù)集Cifar10、NUS-WIDE和MS COCO上測試本文模型的性能,數(shù)據(jù)集設(shè)置如下:
1)Cifar10數(shù)據(jù)集由60 000幅圖像構(gòu)成,共分10類。實(shí)驗(yàn)從中選取5 000幅(每類500幅)圖像作為訓(xùn)練集,選取10 000幅(每類1 000幅)作為測試集,剩余的圖像作為查詢數(shù)據(jù)庫。
2)NUS-WIDE數(shù)據(jù)集由約270 000幅圖像構(gòu)成,共分81類,實(shí)驗(yàn)選擇最常用的21類195 834幅圖像作為數(shù)據(jù)集。從每一類中選擇500幅作為訓(xùn)練集,每一類選擇100幅作為測試集,剩余圖像作為查詢數(shù)據(jù)庫。
3)MS COCO數(shù)據(jù)集的設(shè)置與哈希網(wǎng)絡(luò)(HashNet)[22]中的設(shè)置一樣,實(shí)驗(yàn)隨機(jī)選擇80類中的122 218幅圖像作為數(shù)據(jù)庫,隨機(jī)選擇5 000幅作為測試集,10 000幅作為訓(xùn)練集。
使用通用的評(píng)價(jià)標(biāo)準(zhǔn)平均精度均值(mAP)、精度-召回率曲線(PRC)和精度(P)來評(píng)價(jià)本文模型的性能。在Cifar10數(shù)據(jù)集上使用mAP@1000,即輸出前1 000個(gè)檢索結(jié)果并計(jì)算平均精度均值,在NUS-WIDE、MS COCO數(shù)據(jù)集使用mAP@5000。在Cifar10數(shù)據(jù)集上測試P@1000,即輸出前1 000個(gè)檢索結(jié)果并計(jì)算精度值。
平均精度均值是指所有類別平均精度的平均值。假設(shè)檢索結(jié)果中為真正相似的記作y1,y2, …,yt,平均精度A的計(jì)算公式為
(13)
假設(shè)一共測試了M次,平均精度均值m的計(jì)算公式為
(14)
為了更好的檢驗(yàn)本文模型的性能,實(shí)驗(yàn)對(duì)比了LSH[1]、SH[2]、K-means[4]、ITQ[3]、隨機(jī)生成哈希(stochastic generative hashing, SGH)[14]、編碼生成對(duì)抗網(wǎng)絡(luò)(binary generative adversarial networks, BGAN)[23]、生成式哈希(BinGAN)[15]、哈希對(duì)抗網(wǎng)絡(luò)[12]、DistillHash[13]、深度變分哈希(deep variational networks, DVB)[16]、TBH[21]等11個(gè)無監(jiān)督學(xué)習(xí)模型,結(jié)果如表1所示。為了公平,本文中使用的數(shù)據(jù)集和訓(xùn)練集與TBH相同,評(píng)價(jià)標(biāo)準(zhǔn)也相同。
表1 不同模型在Cifar 10數(shù)據(jù)集、NUS-WIDE數(shù)據(jù)集以及MS COCO數(shù)據(jù)集上的平均精度均值
本文模型在3個(gè)不同的哈希碼長度下與11個(gè)無監(jiān)督學(xué)習(xí)模型對(duì)比來看,效果更好,說明圖像的高維特征作為語義信息保存到哈希碼中是可行的。LSH設(shè)計(jì)的映射函數(shù)是隨機(jī)生成的,與原始數(shù)據(jù)分布無關(guān),所以檢索效果比較差。SH要求數(shù)據(jù)服從均勻分布,但是測試集的數(shù)據(jù)分布不符合要求。K-means使用聚類中心的距離近似漢明距離,對(duì)于數(shù)據(jù)的分布要求不大,檢索效果比SH好;但是它的效果取決于聚類中心的選擇,在圖像檢索任務(wù)中,聚類中心選取比較難,所以檢索效果并不理想。ITQ通過尋找最優(yōu)旋轉(zhuǎn)矩陣提高檢索性能,但是其對(duì)數(shù)據(jù)的適應(yīng)性較差。3個(gè)基于對(duì)抗網(wǎng)絡(luò)[12、15、23]的模型在圖像檢索的性能上有大幅度的提高,得益于對(duì)抗網(wǎng)絡(luò)對(duì)原始數(shù)據(jù)分布的學(xué)習(xí)能力較強(qiáng),可以使生成的哈希碼在漢明空間中保留原始圖像的分布關(guān)系。由于對(duì)抗網(wǎng)絡(luò)難以訓(xùn)練,相對(duì)熵(KL散度)難以衡量高維特征與低維哈希碼之間的相似度,因此這3個(gè)網(wǎng)絡(luò)的性能不如本文模型的。TBH是性能最接近本文模型的,原因是它沒有原始距離關(guān)系的約束,檢索性能略差于本文模型。
本文模型在3個(gè)數(shù)據(jù)集上的檢索效果比較好,但隨著哈希碼長度的縮短,性能也在下降,原因是哈希碼長度越短,能夠保留下來的語義信息就會(huì)越少。在Cifar10數(shù)據(jù)集上的檢索效果更好是因?yàn)樵摂?shù)據(jù)集的數(shù)據(jù)語義信息少,數(shù)據(jù)庫小,更容易訓(xùn)練。
將不同模型在Cifar10數(shù)據(jù)庫中進(jìn)行測試,設(shè)置哈希碼長度為64 bits,不同模型的的PRC曲線如圖6所示。從圖中可以看到,隨著召回率的增大,所有模型的精度都在減小,當(dāng)召回率超過0.6以后,模型的精度下降很快,這是由召回率增大時(shí)需要擴(kuò)大搜索范圍導(dǎo)致的。
KDHash—距離保持哈希(本文模型);TBH—雙瓶頸哈希;K-means—K均值哈希;SGH—隨機(jī)生成哈希;ITQ—迭代量化哈希;SH—譜哈希。
采用不同模型在Cifar10數(shù)據(jù)庫中查詢圖像,返回前1 000幅圖像的精度結(jié)果如表2所示。從表中可以看出,本文模型的檢索精度明顯高于所有對(duì)比模型的。
表2 不同模型在CIFAR-10數(shù)據(jù)集上的精度
針對(duì)監(jiān)督學(xué)習(xí)模型難以獲取帶標(biāo)簽訓(xùn)練數(shù)據(jù)以及部分無監(jiān)督學(xué)習(xí)模型保留圖像的語義信息較少的問題,本文中提出了基于正態(tài)分布的距離保持哈希圖像檢索模型。該模型一方面使用Alexnet捕捉圖像的高維特征替代手工標(biāo)簽,成功地解決了監(jiān)督學(xué)習(xí)模型缺少訓(xùn)練數(shù)據(jù)導(dǎo)致模型難以部署問題;另一方面,設(shè)計(jì)目標(biāo)函數(shù)擬合原始特征的距離關(guān)系,使哈希碼能夠保留原始圖像的語義信息,提高無監(jiān)督學(xué)習(xí)模型的檢索性能。通過實(shí)驗(yàn)對(duì)比,基于正態(tài)分布的距離保持哈希圖像檢索模型在圖像檢索任務(wù)中性能得到提升,適用于大規(guī)模的圖像檢索。
為了進(jìn)一步提高框架的性能,下一步工作需要解決哈希碼長度變短時(shí)模型檢索性能下降的問題,可以使用長哈希碼去指導(dǎo)短哈希碼的生成,提高較短哈希碼的檢索性能。