国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

深度優(yōu)先局部聚合哈希

2021-07-03 07:04龍顯忠程成李云
關(guān)鍵詞:漢明哈希編碼

龍顯忠,程成,李云

(1.南京郵電大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 南京 210023;2.江蘇省大數(shù)據(jù)安全與智能處理重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210023)

隨著信息檢索技術(shù)的不斷發(fā)展和完善,如今人們可以利用互聯(lián)網(wǎng)輕易獲取感興趣的數(shù)據(jù)內(nèi)容,然而,信息技術(shù)的發(fā)展同時(shí)導(dǎo)致了數(shù)據(jù)規(guī)模的迅猛增長.面對(duì)海量的數(shù)據(jù)以及超大規(guī)模的數(shù)據(jù)集,利用最近鄰搜索[1](Nearest Neighbor Search,NN)的檢索技術(shù)已經(jīng)無法獲得理想的檢索效果與可接受的檢索時(shí)間.因此,近年來,近似最近鄰搜索[2](Approximate Nearest Neighbor Search,ANN)變得越來越流行,它通過搜索可能相似的幾個(gè)數(shù)據(jù)而不再局限于返回最相似的數(shù)據(jù),在犧牲可接受范圍的精度下提高了檢索效率.作為一種廣泛使用的ANN 搜索技術(shù),哈希方法(Hashing)[3]將數(shù)據(jù)轉(zhuǎn)換為緊湊的二進(jìn)制編碼(哈希編碼)表示,同時(shí)保證相似的數(shù)據(jù)對(duì)生成相似的二進(jìn)制編碼.利用哈希編碼來表示原始數(shù)據(jù),顯著減少了數(shù)據(jù)的存儲(chǔ)和查詢開銷,從而可以應(yīng)對(duì)大規(guī)模數(shù)據(jù)中的檢索問題.因此,哈希方法吸引了越來越多學(xué)者的關(guān)注.

當(dāng)前哈希方法主要分為兩類:數(shù)據(jù)獨(dú)立的哈希方法和數(shù)據(jù)依賴的哈希方法,這兩類哈希方法的區(qū)別在于哈希函數(shù)是否需要訓(xùn)練數(shù)據(jù)來定義.局部敏感哈希(Locality Sensitive Hashing,LSH)[4]作為數(shù)據(jù)獨(dú)立的哈希代表,它利用獨(dú)立于訓(xùn)練數(shù)據(jù)的隨機(jī)投影作為哈希函數(shù).相反,數(shù)據(jù)依賴哈希的哈希函數(shù)需要通過訓(xùn)練數(shù)據(jù)學(xué)習(xí)出來,因此,數(shù)據(jù)依賴的哈希也被稱為哈希學(xué)習(xí),數(shù)據(jù)依賴的哈希通常具有更好的性能.近年來,哈希方法的研究主要側(cè)重于哈希學(xué)習(xí)方面.

根據(jù)哈希學(xué)習(xí)過程中是否使用標(biāo)簽,哈希學(xué)習(xí)方法可以進(jìn)一步分為:監(jiān)督哈希學(xué)習(xí)和無監(jiān)督哈希學(xué)習(xí).典型的無監(jiān)督哈希學(xué)習(xí)包括:譜哈希[5](Spectral Hashing,SH);迭代量化哈希[6](Iterative Quantization,ITQ);離散圖哈希[7](Discrete Graph Hashing,DGH);有序嵌入哈希[8](Ordinal Embedding Hashing,OEH)等.無監(jiān)督哈希學(xué)習(xí)方法僅使用無標(biāo)簽的數(shù)據(jù)來學(xué)習(xí)哈希函數(shù),將輸入的數(shù)據(jù)映射為哈希編碼的形式.相反,監(jiān)督哈希學(xué)習(xí)方法通過利用監(jiān)督信息來學(xué)習(xí)哈希函數(shù),由于利用了帶有標(biāo)簽的數(shù)據(jù),監(jiān)督哈希方法往往比無監(jiān)督哈希方法具有更好的準(zhǔn)確性,本文的研究主要針對(duì)監(jiān)督哈希學(xué)習(xí)方法.

傳統(tǒng)的監(jiān)督哈希方法包括:核監(jiān)督哈希[9](Supervised Hashing with Kernels,KSH);潛在因子哈希[10](Latent Factor Hashing,LFH);快速監(jiān)督哈希[11](Fast Supervised Hashing,F(xiàn)astH);監(jiān)督離散哈希[12](Supervised Discrete Hashing,SDH)等.隨著深度學(xué)習(xí)技術(shù)的發(fā)展[13],利用神經(jīng)網(wǎng)絡(luò)提取的特征已經(jīng)逐漸替代手工特征,推動(dòng)了深度監(jiān)督哈希的進(jìn)步.具有代表性的深度監(jiān)督哈希方法包括:卷積神經(jīng)網(wǎng)絡(luò)哈希[14](Convolutional Neural Networks Hashing,CNNH);深度語義排序哈希[15](Deep Semantic Ranking Based Hashing,DSRH);深度成對(duì)監(jiān)督哈希[16](Deep Pairwise-Supervised Hashing,DPSH);深度監(jiān)督離散哈希[17](Deep Supervised Discrete Hashing,DSDH);深度優(yōu)先哈希[18](Deep Priority Hashing,DPH)等.通過將特征學(xué)習(xí)和哈希編碼學(xué)習(xí)(或哈希函數(shù)學(xué)習(xí))集成到一個(gè)端到端網(wǎng)絡(luò)中,深度監(jiān)督哈希方法可以顯著優(yōu)于非深度監(jiān)督哈希方法.

到目前為止,大多數(shù)現(xiàn)有的深度哈希方法都采用對(duì)稱策略來學(xué)習(xí)查詢數(shù)據(jù)和數(shù)據(jù)集的哈希編碼以及深度哈希函數(shù).相反,非對(duì)稱深度監(jiān)督哈希[19](Asymmetric Deep Supervised Hashing,ADSH)以非對(duì)稱的方式處理查詢數(shù)據(jù)和整個(gè)數(shù)據(jù)庫數(shù)據(jù),解決了對(duì)稱方式中訓(xùn)練開銷較大的問題,僅僅通過查詢數(shù)據(jù)就可以對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練來學(xué)習(xí)哈希函數(shù),整個(gè)數(shù)據(jù)庫的哈希編碼可以通過優(yōu)化直接得到.本文的模型同樣利用了ADSH 的非對(duì)稱訓(xùn)練策略.

然而,現(xiàn)有的非對(duì)稱深度監(jiān)督哈希方法并沒有考慮到數(shù)據(jù)之間的相似性分布對(duì)于哈希網(wǎng)絡(luò)的影響,可能導(dǎo)致結(jié)果是:容易在漢明空間中保持相似關(guān)系的數(shù)據(jù)對(duì),往往會(huì)被訓(xùn)練得越來越好;相反,那些難以在漢明空間中保持相似關(guān)系的數(shù)據(jù)對(duì),往往在訓(xùn)練后得到的提升并不顯著.同時(shí)大部分現(xiàn)有的深度監(jiān)督哈希方法在哈希網(wǎng)絡(luò)中沒有充分有效利用提取到的卷積特征.

本文提出了一種新的深度監(jiān)督哈希方法,稱為深度優(yōu)先局部聚合哈希(Deep Priority Local Aggregated Hashing,DPLAH).DPLAH 的貢獻(xiàn)主要有三個(gè)方面:

1)DPLAH 采用非對(duì)稱的方式處理查詢數(shù)據(jù)和數(shù)據(jù)庫數(shù)據(jù),同時(shí)DPLAH 網(wǎng)絡(luò)會(huì)優(yōu)先學(xué)習(xí)查詢數(shù)據(jù)和數(shù)據(jù)庫數(shù)據(jù)之間困難的數(shù)據(jù)對(duì),從而減輕相似性分布傾斜對(duì)哈希網(wǎng)絡(luò)的影響.

2)DPLAH 設(shè)計(jì)了全新的深度哈希網(wǎng)絡(luò),具體來說,DPLAH 將局部聚合表示融入到哈希網(wǎng)絡(luò)中,提高了哈希網(wǎng)絡(luò)對(duì)同類數(shù)據(jù)的表達(dá)能力.同時(shí)考慮到數(shù)據(jù)的局部聚合表示對(duì)于分類任務(wù)的有效性.

3)在兩個(gè)大型數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,DPLAH 在實(shí)際應(yīng)用中性能優(yōu)越.

1 相關(guān)工作

本節(jié)分別對(duì)哈希學(xué)習(xí)[3]、NetVLAD[20]和Focal Loss[21]進(jìn)行介紹.DPLAH 分別利用NetVLAD 和Focal Loss 提高哈希網(wǎng)絡(luò)對(duì)同類數(shù)據(jù)的表達(dá)能力及減輕數(shù)據(jù)之間相似性分布傾斜對(duì)于哈希網(wǎng)絡(luò)的影響.

1.1 哈希學(xué)習(xí)

哈希學(xué)習(xí)[3]的任務(wù)是學(xué)習(xí)查詢數(shù)據(jù)和數(shù)據(jù)庫數(shù)據(jù)的哈希編碼表示,同時(shí)要滿足原始數(shù)據(jù)之間的近鄰關(guān)系與數(shù)據(jù)哈希編碼之間的近鄰關(guān)系相一致的條件.具體來說,利用機(jī)器學(xué)習(xí)方法將所有數(shù)據(jù)映射成{0,1}r形式的二進(jìn)制編碼(r 表示哈希編碼長度),在原空間中不相似的數(shù)據(jù)點(diǎn)將被映射成不相似(即漢明距離較大)的兩個(gè)二進(jìn)制編碼,而原空間中相似的兩個(gè)數(shù)據(jù)點(diǎn)將被映射成相似(即漢明距離較?。┑膬蓚€(gè)二進(jìn)制編碼.

為了便于計(jì)算,大部分哈希方法學(xué)習(xí){-1,1}r形式的哈希編碼,這是因?yàn)閧-1,1}r形式的哈希編碼對(duì)之間的內(nèi)積等于哈希編碼的長度減去漢明距離的兩倍,同時(shí){-1,1}r形式的哈希編碼可以容易轉(zhuǎn)化為{0,1}r形式的二進(jìn)制編碼.

圖1 是哈希學(xué)習(xí)的示意圖.經(jīng)過特征提取后的高維向量被用來表示原始圖像,哈希函數(shù)h 將每張圖像映射成8 bits 的哈希編碼,使原來相似的數(shù)據(jù)對(duì)(圖中老虎1 和老虎2)之間的哈希編碼漢明距離盡可能小,原來不相似的數(shù)據(jù)對(duì)(圖中大象和老虎1)之間的哈希編碼漢明距離盡可能大.

圖1 哈希學(xué)習(xí)示意圖Fig.1 Hashing learning diagram

1.2 NetVLAD

NetVLAD 的提出是用于解決端到端的場景識(shí)別問題[20](場景識(shí)別被當(dāng)作一個(gè)實(shí)例檢索任務(wù)),它將傳統(tǒng)的局部聚合描述子向量(Vector of Locally Aggregated Descriptors,VLAD[22])結(jié)構(gòu)嵌入到CNN 網(wǎng)絡(luò)中,得到了一個(gè)新的VLAD 層.可以容易地將NetVLAD使用在任意CNN 結(jié)構(gòu)中,利用反向傳播算法進(jìn)行優(yōu)化,它能夠有效地提高對(duì)同類別圖像的表達(dá)能力,并提高分類的性能.

NetVLAD 的編碼步驟為:利用卷積神經(jīng)網(wǎng)絡(luò)提取圖像的卷積特征;利用NetVLAD 層對(duì)卷積特征進(jìn)行聚合操作.圖2 為NetVLAD 層的示意圖.在特征提取階段,NetVLAD 會(huì)在最后一個(gè)卷積層上裁剪卷積特征,并將其視為密集的描述符提取器,最后一個(gè)卷積層的輸出是H×W×D 映射,可以將其視為在H×W 空間位置提取的一組D 維特征,該方法在實(shí)例檢索和紋理識(shí)別任務(wù)[23-24]中都表現(xiàn)出了很好的效果.

圖2 NetVLAD 層示意圖[20]Fig.2 NetVLAD layer diagram[20]

NetVLAD 在特征聚合階段,利用一個(gè)新的池化層對(duì)裁剪的CNN 特征進(jìn)行聚合,這個(gè)新的池化層被稱為NetVLAD 層.NetVLAD 的聚合操作公式如下:

式中:xi(j)和ck(j)分別表示第i 個(gè)特征的第j 維和第k 個(gè)聚類中心的第j 維;ak(xi)表示特征xi與第k 個(gè)視覺單詞之間的權(quán).NetVLAD 特征聚合的輸入為:NetVLAD 裁剪得到的N 個(gè)D 維的卷積特征,K 個(gè)聚類中心.

VLAD 的特征分配方式是硬分配,即每個(gè)特征只和對(duì)應(yīng)的最近鄰聚類中心相關(guān)聯(lián),這種分配方式會(huì)造成較大的量化誤差,并且,這種分配方式嵌入到卷積神經(jīng)網(wǎng)絡(luò)中無法進(jìn)行反向傳播更新參數(shù).因此,NetVLAD 采用軟分配的方式進(jìn)行特征分配,軟分配對(duì)應(yīng)的公式如下:

如果α→+∞,那么對(duì)于最接近的聚類中心,ak(xi)的值為1,其他為0.ak(xi)可以進(jìn)一步重寫為:

式中:wk=2αck;bk=-α‖ck‖2.最終的NetVLAD 的聚合表示可以寫為:

1.3 Focal Loss

對(duì)于目標(biāo)檢測方法,一般可以分為兩種類型:單階段目標(biāo)檢測和兩階段目標(biāo)檢測,通常情況下,兩階段的目標(biāo)檢測效果要優(yōu)于單階段的目標(biāo)檢測.Lin 等人[21]揭示了前景和背景的極度不平衡導(dǎo)致了單階段目標(biāo)檢測的效果無法令人滿意,具體而言,容易被分類的背景雖然對(duì)應(yīng)的損失很低,但由于圖像中背景的比重很大,對(duì)于損失依舊有很大的貢獻(xiàn),從而導(dǎo)致收斂到不夠好的一個(gè)結(jié)果.Lin 等人[21]提出了Focal Loss 應(yīng)對(duì)這一問題,圖3 是對(duì)應(yīng)的示意圖.使用交叉熵作為目標(biāo)檢測中的分類損失,對(duì)于易分類的樣本,它的損失雖然很低,但數(shù)據(jù)的不平衡導(dǎo)致大量易分類的損失之和壓倒了難分類的樣本損失,最終難分類的樣本不能在神經(jīng)網(wǎng)絡(luò)中得到有效的訓(xùn)練.Focal Loss 的本質(zhì)是一種加權(quán)思想,權(quán)重可根據(jù)分類正確的概率pt得到,利用γ 可以對(duì)該權(quán)重的強(qiáng)度進(jìn)行調(diào)整.

圖3 Focal Loss 示意圖[21]Fig.3 Focal Loss diagram[21]

針對(duì)非對(duì)稱深度哈希方法,希望難以在漢明空間中保持相似關(guān)系的數(shù)據(jù)對(duì)優(yōu)先訓(xùn)練,具體來說,對(duì)于DPLAH 的整體訓(xùn)練損失,通過施加權(quán)重的方式,相對(duì)提高難以在漢明空間中保持相似關(guān)系的數(shù)據(jù)對(duì)之間的訓(xùn)練損失.然而深度哈希學(xué)習(xí)并不是一個(gè)分類任務(wù),因此無法像Focal Loss 一樣根據(jù)分類正確的概率設(shè)計(jì)權(quán)重,哈希學(xué)習(xí)的目的是學(xué)到保相似性的哈希編碼,本文最終利用數(shù)據(jù)對(duì)哈希編碼的相似度作為權(quán)重的設(shè)計(jì)依據(jù),具體的權(quán)重形式將在模型部分詳細(xì)介紹.

2 深度優(yōu)先局部聚合哈希

2.1 基本定義

對(duì)于DPLAH 模型,它在特征提取部分采用預(yù)訓(xùn)練好的Resnet18 網(wǎng)絡(luò)[25].圖4 為DPLAH 網(wǎng)絡(luò)的結(jié)構(gòu)示意圖,利用NetVLAD 層聚合Resnet18 網(wǎng)絡(luò)提取到的卷積特征,哈希編碼通過VLAD 編碼得到,由于VLAD 編碼在分類任務(wù)中被廣泛使用,于是本文將NetVLAD 層的輸出作為分類任務(wù)的輸入,利用圖像的標(biāo)簽信息監(jiān)督NetVLAD 層對(duì)卷積特征的利用.事實(shí)上,任何一種CNN 模型都能實(shí)現(xiàn)圖像特征提取的功能,所以對(duì)于選用哪種網(wǎng)絡(luò)進(jìn)行特征學(xué)習(xí)并不是本文的重點(diǎn).

圖4 DPLAH 結(jié)構(gòu)Fig.4 DPLAH structure

2.2 DPLAH 模型的目標(biāo)函數(shù)

為了學(xué)習(xí)可以保留查詢圖像與數(shù)據(jù)庫圖像之間相似性的哈希編碼,一種常見的方法是利用相似性的監(jiān)督信息S∈{-1,1}n×m、生成的哈希編碼長度r,以及查詢圖像的哈希編碼ui和數(shù)據(jù)庫中圖像的哈希編碼bj三者之間的關(guān)系[9],即最小化相似性的監(jiān)督信息與哈希編碼對(duì)(ui,bj)內(nèi)積之間的L2損失.考慮到相似性分布的傾斜問題,本文通過施加權(quán)重來調(diào)節(jié)查詢圖像和數(shù)據(jù)庫圖像之間的損失,其公式可以表示為:

受Focal Loss 啟發(fā),希望深度哈希網(wǎng)絡(luò)優(yōu)先訓(xùn)練相似性不容易保留圖像對(duì),然而Focal Loss 利用圖像的分類結(jié)果對(duì)損失進(jìn)行調(diào)整,因此,需要重新進(jìn)行設(shè)計(jì),由于哈希學(xué)習(xí)的目的是為了保留圖像在漢明空間中的相似性關(guān)系,本文利用哈希編碼的余弦相似度來設(shè)計(jì)權(quán)重,其表達(dá)式為:

式中:ui和bj分別表示查詢圖像i 和數(shù)據(jù)庫圖像j 的哈希編碼;sij=1 表示圖像i 和j 語義相似,sij=-1 表示圖像i 和j 語義不相似.從公式(6)中可以發(fā)現(xiàn),若ui和bj越相似,且圖像i 和j 語義相似,則wij的值接近1,這就表示哈希編碼ui和bj相似的難度低;反之ui和bj不相似,而圖像i 和j 語義相似,則wij的值接近0,這就表示哈希編碼ui和bj相似的難度高.本文希望深度哈希網(wǎng)絡(luò)優(yōu)先關(guān)注相似難度高的圖像對(duì),因此對(duì)查詢圖像和數(shù)據(jù)庫圖像之間施加權(quán)重(1-wij)α,α是一個(gè)超參數(shù).

使用Ψ={1,2,…,m}表示數(shù)據(jù)庫中所有圖像的索引,隨機(jī)地從數(shù)據(jù)庫中選擇nΨΥ 張圖像創(chuàng)建查詢集,并用Υ={i1,i2,…,in}?Ψ 表示查詢集的索引.此時(shí),公式(7)可以表示為:

創(chuàng)建的查詢集通過深度哈希網(wǎng)絡(luò)生成哈希編碼,同樣它們?cè)谡麄€(gè)數(shù)據(jù)集中的哈希編碼也可以通過優(yōu)化直接得到,因此,還需要保證查詢集在哈希網(wǎng)絡(luò)中學(xué)習(xí)到的哈希編碼要與數(shù)據(jù)集中的哈希編碼盡可能相同.對(duì)應(yīng)的優(yōu)化問題可進(jìn)一步表示為:

由于VLAD 對(duì)于圖像具有較好的表示性能,并且VLAD 同樣被廣泛運(yùn)用于圖像分類任務(wù)中,因此,NetVLAD 層的輸出對(duì)于分類任務(wù)也依然有效,并將NetVLAD 層的輸出pi作為分類網(wǎng)絡(luò)的輸入.利用NetVLAD 在分類網(wǎng)絡(luò)中的預(yù)測標(biāo)簽和圖像的真實(shí)標(biāo)簽之間的損失更新網(wǎng)絡(luò)參數(shù),希望圖像哈希網(wǎng)絡(luò)能夠提取到更具有判別力的特征.最終,DPLAH 的目標(biāo)函數(shù)可寫為:

2.3 學(xué)習(xí)過程

本文采用迭代優(yōu)化的方式來學(xué)習(xí)DPLAH 網(wǎng)絡(luò)的參數(shù)Θ 和數(shù)據(jù)庫圖像的哈希編碼B.算法1 是整個(gè)DPLAH 算法的學(xué)習(xí)過程.

固定B,學(xué)習(xí)參數(shù)Θ.當(dāng)B 被固定,直接使用反向傳播算法(BP)來更新參數(shù)Θ,具體來說,從查詢集中采樣一個(gè)批次的圖像來更新深度哈希網(wǎng)絡(luò)的參數(shù).

固定參數(shù)Θ,學(xué)習(xí)B.當(dāng)深度哈希網(wǎng)絡(luò)的參數(shù)Θ被固定時(shí),使用與非對(duì)稱深度哈希[19]相同的優(yōu)化策略來更新數(shù)據(jù)庫中的哈希編碼B,公式如下所示:

式中:B*k表示B 的第k 列;是矩陣B 除了第k 列的矩陣;U*k表示U 的第k 列;是矩陣U 除了第k列的矩陣;S 為相似性矩陣.

3 實(shí)驗(yàn)設(shè)計(jì)與分析

3.1 實(shí)驗(yàn)設(shè)計(jì)

3.1.1 數(shù)據(jù)集

為了驗(yàn)證DPLAH 算法的有效性,在CIFAR-10[26]和NUS-WIDE[27]數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn).

CIFAR-10 數(shù)據(jù)集由60 000 張32×32 的RGB彩色圖像構(gòu)成,它是一個(gè)用于識(shí)別普適物體的數(shù)據(jù)集.這些圖像被手動(dòng)標(biāo)記為10 個(gè)類別,分別是飛機(jī)、汽車、鳥、貓、鹿、狗、青蛙、馬、船和卡車.

NUS-WIDE 是一個(gè)真實(shí)的網(wǎng)絡(luò)數(shù)據(jù)集,一共包含269 648 張圖像,每張圖像都與來自81 個(gè)語義類別中的一個(gè)或多個(gè)類別相關(guān)聯(lián).本文遵循與ADSH類似的實(shí)驗(yàn)方案,使用最常見的21 個(gè)類別中的圖像,其中每個(gè)類別中至少包含了5 000 張圖像,從而總共使用了195 834 張圖像.

3.1.2 實(shí)驗(yàn)運(yùn)行環(huán)境及超參數(shù)配置

所有關(guān)于DPLAH 的實(shí)驗(yàn)都是利用Pytorch 深度框架完成的,利用預(yù)訓(xùn)練好的Resnet18 網(wǎng)絡(luò)[25]提取圖像的特征,NetVLAD 層對(duì)Resnet18 模型輸出的卷積特征進(jìn)行聚合,最后,利用聚合得到的特征進(jìn)行哈希編碼的學(xué)習(xí).

對(duì)CIFAR-10 和NUS-WIDE 數(shù)據(jù)集,NetVLAD的聚類中心個(gè)數(shù)設(shè)置為64.超參數(shù)β、μ 和Υ 分別設(shè)置為200、200 和2 000,DPLAH 網(wǎng)絡(luò)的學(xué)習(xí)率在10-7~10-3區(qū)間進(jìn)行調(diào)整,tl和ts分別為60 和3,超參數(shù)α 為0.2.

在本文實(shí)驗(yàn)中,使用到的NetVLAD 層去掉了規(guī)范化操作,由于整個(gè)數(shù)據(jù)集的哈希編碼是通過優(yōu)化算法直接得到,因此在訓(xùn)練初期并不使用權(quán)重.具體來說,當(dāng)超參數(shù)tl的值小于10 時(shí),都不施加優(yōu)先權(quán)重;當(dāng)tl的值大于10 時(shí),施加權(quán)重進(jìn)行訓(xùn)練的同時(shí),會(huì)對(duì)學(xué)習(xí)率進(jìn)行調(diào)整.

3.1.3 實(shí)驗(yàn)對(duì)比

按照現(xiàn)有的深度哈希方法中的評(píng)估指標(biāo),使用平均準(zhǔn)確率均值(MAP)和Top-5K 精度來評(píng)估DPLAH 算法的性能.對(duì)于NUS-WIDE 數(shù)據(jù)集,計(jì)算前5 000 張返回圖像的MAP.對(duì)于CIFAR-10 數(shù)據(jù)集,在每個(gè)類別中選取100 張圖像作為測試圖像,對(duì)于NUS-WIDE 數(shù)據(jù)集,同樣在每個(gè)類別中選取100張圖像作為測試圖像,因此這兩個(gè)數(shù)據(jù)集的測試圖像數(shù)量分別為1 000 和2 100 張,剩余圖像作為數(shù)據(jù)庫圖像.遵循非對(duì)稱深度哈希等方法[19]在圖像相似性上的構(gòu)造方法,利用圖像標(biāo)簽構(gòu)造用于深度哈希函數(shù)學(xué)習(xí)的相似性矩陣.具體來說:若兩張圖像共享至少一個(gè)標(biāo)簽,則它們被視為語義相似對(duì),否則,它們是語義不相似的圖像對(duì).

多種哈希學(xué)習(xí)方法被用來與DPLAH 進(jìn)行比較,如SH、ITQ 等無監(jiān)督的哈希方法(包括SH+CNN、ITQ+CNN),SDH、FastH 和LFH 等有監(jiān)督的哈希方法(包括SDH+CNN、FastH+CNN 和LFH+CNN),CNNH、DPSH 和ADSH 等深度哈希方法(其中CNNH 是兩階段的深度哈希學(xué)習(xí)方法,其他都是端到端的深度哈希學(xué)習(xí)方法).

3.2 實(shí)驗(yàn)結(jié)果和分析

在兩個(gè)數(shù)據(jù)集上的MAP 對(duì)比結(jié)果如表1 所示.由于ADSH 算法的優(yōu)越性能,它成為本文重點(diǎn)比較的方法.為了進(jìn)行公平的比較,此處利用Pytorch 版本的ADSH 來進(jìn)行實(shí)驗(yàn)對(duì)比,預(yù)訓(xùn)練好的Resnet18模型同樣會(huì)被用來提取圖像的卷積特征,其他哈希算法的實(shí)驗(yàn)結(jié)果來源于DPSH[16]和ADSH[19].

表1 中的非深度哈希學(xué)習(xí)算法使用圖像的手工特征,同時(shí)也比較了使用CNN 特征的非深度哈希學(xué)習(xí)算法,可以發(fā)現(xiàn)端到端的深度哈希方法優(yōu)于傳統(tǒng)的哈希學(xué)習(xí)方法,非對(duì)稱的深度哈希方法優(yōu)于對(duì)稱的深度哈希方法.與LFH+CNN 的最好結(jié)果0.814 相比,DPLAH 的平均準(zhǔn)確率均值要高出11%,同時(shí),DPLAH 的平均準(zhǔn)確率均值最多比非對(duì)稱深度監(jiān)督哈希方法ADSH 高出2%.

由于非對(duì)稱深度監(jiān)督哈希方法(ADSH)的性能遠(yuǎn)優(yōu)于其他哈希學(xué)習(xí)方法,因此,比較DPLAH 和ADSH 在不同比特長度下的Top-5K 精度,結(jié)果如圖5 所示.由表1 和圖5 可知,DPLAH 無論在MAP 還是Top-5K 精度的衡量下,其性能都優(yōu)于現(xiàn)有的深度監(jiān)督哈希方法.

圖5 兩個(gè)數(shù)據(jù)集下的Top-5K 精度Fig.5 Top-5K precision under two data sets

表1 兩個(gè)基準(zhǔn)數(shù)據(jù)集上的MAP 對(duì)比Tab.1 The MAP comparison on two benchmark datasets

根據(jù)實(shí)驗(yàn)結(jié)果,發(fā)現(xiàn)DPLAH 方法在NUS-WIDE數(shù)據(jù)集上性能較好.這可能由于NUS-WIDE 數(shù)據(jù)集中的圖像來自于真實(shí)世界,圖像中包含的內(nèi)容非常豐富;而NetVLAD 的提出就是為了解決現(xiàn)實(shí)中的場景識(shí)別問題,在面對(duì)圖像中的光線變化、視角變化等情況,具備一定的魯棒性,從而使得DPLAH 方法在NUS-WIDE 數(shù)據(jù)集上的性能較好.

為了驗(yàn)證NetVLAD 層確實(shí)能學(xué)習(xí)到具有區(qū)分力的哈希編碼,本文在NUS-WIDE 數(shù)據(jù)集不使用優(yōu)先權(quán)重的條件下,僅僅將NetVLAD 層加入哈希網(wǎng)絡(luò)中,對(duì)比不同比特長度下的MAP.實(shí)驗(yàn)結(jié)果如圖6 所示.

圖6 在NUS-WIDE 數(shù)據(jù)集上的NetVLAD 實(shí)驗(yàn)結(jié)果Fig.6 NetVLAD experiment result on NUS-WIDE dataset

圖7 為DPLAH 算法基于漢明距離排序的搜索結(jié)果.結(jié)果是基于32 bits 的哈希編碼長度給出的幾個(gè)示例.在圖7 中,每行圖片中的第1 張代表查詢圖像,后面10 張圖像表示與查詢圖像的漢明距離最近的10 張圖像.由圖7 可知,DPLAH 算法具有優(yōu)越的性能,盡管還存在一些錯(cuò)誤的搜索結(jié)果(示例中最后一行的查詢圖像是飛機(jī),然而檢索出的圖像是輪船),但這在接受的范圍內(nèi).

圖7 在CIFAR-10 數(shù)據(jù)集上的檢索示例Fig.7 Retrieval example on CIFAR-10 dataset

4 結(jié)論

本文提出了一種基于局部聚合的深度優(yōu)先哈希方法,在應(yīng)對(duì)相似性分布傾斜方面,受到了Focal Loss 的啟發(fā),利用查詢圖像在哈希網(wǎng)絡(luò)中學(xué)習(xí)的哈希編碼和整個(gè)數(shù)據(jù)庫圖像的哈希編碼之間的余弦相似度,設(shè)計(jì)了損失函數(shù)的優(yōu)先權(quán)重,使得深度哈希網(wǎng)絡(luò)優(yōu)先關(guān)注相似難度高的圖像,從而保證難以在漢明空間中保持相似關(guān)系的圖像對(duì)得到充分訓(xùn)練.在哈希特征提取方面,由于NetVLAD 層能夠有效地提高對(duì)同類別圖像的表達(dá)能力,因此利用NetVLAD 層將卷積得到的特征進(jìn)行聚合,從而使學(xué)到的哈希編碼更具有區(qū)分性.在CIFAR-10 和NUS-WIDE 兩個(gè)數(shù)據(jù)集下進(jìn)行了實(shí)驗(yàn),將DPLAH 與多種哈希學(xué)習(xí)方法進(jìn)行比較,通過實(shí)驗(yàn)分析,表明了DPLAH 算法的優(yōu)越性能.

猜你喜歡
漢明哈希編碼
生活中的編碼
基于特征選擇的局部敏感哈希位選擇算法
有限域上一類極小線性碼的構(gòu)造
哈希值處理 功能全面更易用
文件哈希值處理一條龍
《全元詩》未編碼疑難字考辨十五則
子帶編碼在圖像壓縮編碼中的應(yīng)用
Genome and healthcare
媳婦管錢
巧用哈希數(shù)值傳遞文件