基于深度學(xué)習(xí)和哈希的圖像檢索方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及圖像檢索領(lǐng)域,特別涉及一種基于深度學(xué)習(xí)和哈希的圖像檢索方法。
【背景技術(shù)】
[0002] 隨著大數(shù)據(jù)時(shí)代的到來,互聯(lián)網(wǎng)圖像資源迅猛增長,如何對(duì)大規(guī)模圖像資源進(jìn)行 快速有效地檢索以滿足用戶需求亟待解決。為了在大規(guī)模圖像集中進(jìn)行快速有效地檢索, 哈希技術(shù)將原始圖像保持相似性地映射為二進(jìn)制哈希碼。由于二進(jìn)制哈希碼在漢明距離計(jì) 算上的高效性和存儲(chǔ)空間上的優(yōu)勢(shì),哈希碼在大規(guī)模圖像檢索非常地高效。基于內(nèi)容的圖 像檢索通過提取圖像視覺底層特征來實(shí)現(xiàn)圖像的內(nèi)容表達(dá)。與這些底層特征相比,深度卷 積神經(jīng)網(wǎng)絡(luò)更能夠獲得圖像的內(nèi)在特征,利用深度卷積神經(jīng)網(wǎng)絡(luò)提取的特征在目標(biāo)檢測(cè)、 圖像分類和圖像分割等方面都表現(xiàn)出了良好的性能。中國專利(申請(qǐng)?zhí)? 201010196539.0,[0003] 現(xiàn)有的基于哈希的圖像檢索技術(shù)基本上都是首先提取圖像底層特征,然后構(gòu)造保 持圖像特征相似性的哈希函數(shù);最后,利用哈希函數(shù)將底層特征圖像特征映射為哈希碼,用 哈希碼表示圖像用于大規(guī)模的圖像檢索,以發(fā)揮哈希碼在存儲(chǔ)空間少和漢明距離計(jì)算速度 快的優(yōu)勢(shì),將圖像特征提取和哈希函數(shù)的構(gòu)造過程分為完全獨(dú)立的兩個(gè)過程,不能構(gòu)造出 表達(dá)能力強(qiáng)哈希碼表示圖像,使得檢索準(zhǔn)確率低。
【發(fā)明內(nèi)容】
[0004] 針對(duì)現(xiàn)有技術(shù)中的不足,本發(fā)明提供一種基于深度學(xué)習(xí)和哈希的圖像檢索方法, 同時(shí)學(xué)習(xí)圖像特征和哈希編碼的深度卷積網(wǎng)絡(luò)架構(gòu),在該架構(gòu)中加入哈希層和將連續(xù)值量 化為二進(jìn)制編碼所引起的量化誤差損失,利用該架構(gòu)生成表達(dá)能力非常強(qiáng)的哈希碼,大大 提高圖像檢索的準(zhǔn)確率,解決現(xiàn)有技術(shù)中因生成的哈希碼表達(dá)能力不強(qiáng)而引起檢索準(zhǔn)確率 較低的問題。
[0005] 按照本發(fā)明所提供的設(shè)計(jì)方案,一種基于深度學(xué)習(xí)和哈希的圖像檢索方法,具體 包含如下步驟:
[0006] 步驟1.將圖像數(shù)據(jù)集及其對(duì)應(yīng)的類別標(biāo)簽信息分別對(duì)應(yīng)分成兩部分,一部分作為 訓(xùn)練樣本集,另一部分作為測(cè)試樣本集,其中,訓(xùn)練樣本集和測(cè)試樣本集中每個(gè)樣本均包括 一張圖像及對(duì)應(yīng)的類別標(biāo)簽;
[0007] 步驟2.構(gòu)建深度卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),深度卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)包含卷積子網(wǎng)絡(luò)、哈 希層、損失層,卷積子網(wǎng)絡(luò)用于學(xué)習(xí)圖像特征,哈希層包括全連接層、激活層和閾值化層,用 于學(xué)習(xí)哈希函數(shù)的構(gòu)建并得到輸入圖像的哈希碼,損失層包括Softmax分類器損失模塊和 量化誤差損失模塊;
[0008] 步驟3.利用訓(xùn)練樣本集,依據(jù)深度卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),得到深度卷積神經(jīng)網(wǎng)絡(luò)模 型;
[0009] 步驟4.根據(jù)深度卷積神經(jīng)網(wǎng)絡(luò)模型,將訓(xùn)練樣本集和測(cè)試樣本集中的每張圖像作 為輸入,得到訓(xùn)練樣本集的哈希碼Htrain和測(cè)試樣本集的哈希碼H test;
[0010] 步驟5.從Htest取一個(gè)測(cè)試圖像的哈希碼Ht,計(jì)算該哈希碼Ht與訓(xùn)練樣本集哈希碼 Htrain之間的漢明距離,得到漢明距離向量;
[0011] 步驟6.漢明距離向量中的數(shù)值按從小到大的順序進(jìn)行排序,按順序輸出對(duì)應(yīng)的原 始圖像,得到圖像檢索結(jié)果。
[0012] 上述的,步驟2中卷積子網(wǎng)絡(luò)包括多個(gè)卷積層,池化層和全連接層。
[0013] 上述的,步驟2中,輸入圖像通過卷積子網(wǎng)絡(luò)得到圖像特征x(1),進(jìn)入哈希層,假設(shè) 需要生成哈希碼的長度為q,全連接層將圖像特征x (1)映射為q維向量,即f(x(1))=fc(1),其 中,W表示全連接層的參數(shù)矩陣;激活成使用雙正切激活函數(shù)將q維向量映射為值域在[-1, 1]之間的q維向量,SI
,其中,v = f(x(1)),參數(shù)β用于控制平滑度;閾值化層 將激活層的值進(jìn)行量化沖,s = tanh(f(x(1))),閾值化層的輸 出為二進(jìn)制哈希碼。
[0014] 上述的,步驟2中的量化誤差損失模塊,用于獲得激活層輸出的連續(xù)值與閾值化層 輸出的哈希碼之間誤差損失其中,h = g(tanh(f(x(1))))為閾值化層輸出 的哈希碼,X = tanh (f (x(1)))為激活層輸出的連續(xù)值。
[0015] 優(yōu)選的,損失層損失函數(shù)為1^1。33 = 1^。;^11^。33+入1^,其中,1^。;^11^。^為3〇:^11^分類 器損失模塊的誤差損失,即
[0016]
[0017] ,其中1{.}為示性函數(shù),1{值為真的表達(dá)式} = 1,參數(shù)θ」(j = l,2,. . .k)是softmax 回歸的參數(shù),y(1)是圖像的類別標(biāo)簽;Lq為量化誤差損失模塊的誤差損失,λ為權(quán)重因子。
[0018] 本發(fā)明的有益效果:
[0019] 1.本發(fā)明針對(duì)現(xiàn)有圖像檢索技術(shù)圖像檢索準(zhǔn)確率低的問題,利用深度卷積網(wǎng)絡(luò)同 時(shí)學(xué)習(xí)圖像的特征和哈希編碼,考慮將連續(xù)值量化為二進(jìn)制編碼所引起的量化誤差,在整 個(gè)學(xué)習(xí)框架中加入量化誤差最小的目標(biāo)約束,在深度卷積網(wǎng)絡(luò)架構(gòu)中加入哈希層和將連續(xù) 值量化為二進(jìn)制編碼所引起的量化誤差的損失,挖掘了圖像特征與哈希函數(shù)內(nèi)在關(guān)系,并 利用深度卷積網(wǎng)絡(luò)架構(gòu)生成表達(dá)能力非常強(qiáng)的哈希碼,大大提高了圖像檢索的準(zhǔn)確率。
[0020] 2.本發(fā)明利用深度卷積神經(jīng)網(wǎng)絡(luò)強(qiáng)大的學(xué)習(xí)能力,提取圖像深層特征,克服現(xiàn)有 技術(shù)中利用圖像底層特征而導(dǎo)致特征表達(dá)能力不強(qiáng)、檢索精度低的問題;并引入哈希層構(gòu) 造哈希函數(shù),將圖像深度特征的學(xué)習(xí)和哈希函數(shù)的構(gòu)造在同一過程中完成,挖掘圖像特征 與哈希函數(shù)內(nèi)在關(guān)系,大大提高圖像檢索準(zhǔn)確率;將量化誤差的損失加入到深度卷積神經(jīng) 網(wǎng)絡(luò)的損失層,增強(qiáng)了哈希碼的表達(dá)能力,通過Softmax分類器損失模塊和量化誤差損失模 塊,有效降低哈希函數(shù)中的二值化造成的量化誤差,進(jìn)一步提高圖像檢索的準(zhǔn)確率。
【附圖說明】:
[0021] 圖1為本發(fā)明的流程示意圖。
【具體實(shí)施方式】:
[0022] 下面結(jié)合附圖和技術(shù)方案對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明,并通過優(yōu)選的實(shí)施例詳 細(xì)說明本發(fā)明的實(shí)施方式,但本發(fā)明的實(shí)施方式并不限于此。
[0023] 實(shí)施例一,參見圖1所示,一種基于深度學(xué)習(xí)和哈希的圖像檢索方法,具體包含如 下步驟:
[0024] 步驟1.將圖像數(shù)據(jù)集及其對(duì)應(yīng)的類別標(biāo)簽信息分別對(duì)應(yīng)分成兩部分,一部分作為 訓(xùn)練樣本集,另一部分作為測(cè)試樣本集,其中,訓(xùn)練樣本集和測(cè)試樣本集中每個(gè)樣本均包括 一張圖像及對(duì)應(yīng)的類別標(biāo)簽;
[0025] 步驟2.構(gòu)建深度卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),深度卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)包含卷積子網(wǎng)絡(luò)、哈 希層、損失層,卷積子網(wǎng)絡(luò)用于學(xué)習(xí)圖像特征,哈希層包括全連接層、激活層和閾值化層,用 于學(xué)習(xí)哈希函數(shù)的構(gòu)建并得到輸入圖像的哈希碼,損失層包括Softmax分類器損失模塊和 量化誤差損失模塊;
[0026] 步驟3.利用訓(xùn)練樣本集,依據(jù)深度卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),得到深度卷積神經(jīng)網(wǎng)絡(luò)模 型;
[0027] 步驟4.根據(jù)深度卷積神經(jīng)網(wǎng)絡(luò)模型,將訓(xùn)練樣本集和測(cè)試樣本集中的每張圖像作 為輸入,得到訓(xùn)練樣本集的哈希碼Htrain和測(cè)試樣本集的哈希碼H test;
[0028] 步驟5.從Htest取一個(gè)測(cè)試圖像的哈希碼Ht,計(jì)算該哈希碼Ht與訓(xùn)練樣本集哈希碼 Htrain之間的漢明距離,得到漢明距離向量;
[0029]步驟6.漢明