孫奇平
(漳州開放大學(xué) 福建省漳州市 363000)
移動互聯(lián)時代,科學(xué)技術(shù)的發(fā)展日新月異,智能手機(jī)的普及、大數(shù)據(jù)的飛速發(fā)展、直播平臺的火熱、電商APP 的智能推薦……,各種多媒體數(shù)據(jù)讓人眼花繚亂?;趦?nèi)容的圖像檢索方法自推出以來有效提高了圖像的檢索效率,但是從原始圖像中提取出來的高維特征存儲量大、索引難等問題還有待解決,把哈希算法引入圖像檢索中,能提升檢索速度。對圖像底層特征的描述不足,影響了哈希算法檢索的準(zhǔn)確率,使用深度神經(jīng)網(wǎng)絡(luò)可以同時提取到圖像的底層特征和高層語義信息[1],兩種方法結(jié)合起來,能明顯獲得圖像檢索性能的提升,適用于大批量圖像的檢索。為此,本文在研究深度卷積神經(jīng)網(wǎng)絡(luò)的同時,把哈希算法結(jié)合起來,提出了一種基于深度哈希的圖像檢索方法。
基于文本(以人工標(biāo)注圖像文本信息為主)和基于內(nèi)容(以圖像語義內(nèi)容為主)是圖像檢索技術(shù)的兩種類型[2]。在搜索引擎、內(nèi)容審核、醫(yī)療診斷、人臉識別、電子商務(wù)等諸多領(lǐng)域都能看到圖像檢索技術(shù)的運(yùn)用。
基于內(nèi)容的圖像檢索技術(shù)有兩個關(guān)鍵點(diǎn)[3]:一個是圖像特征提取技術(shù),另一個是特征數(shù)據(jù)庫索引技術(shù)。其檢索過程大致如下:一是獲取預(yù)處理過的圖像庫中的圖像特征向量,并建立向量特征庫,二是處理查詢圖像,得到該圖像特征,三是利用索引技術(shù),計算查詢圖像與向量特征庫的距離,四是根據(jù)圖像相似性大小輸出查詢結(jié)果。顏色、紋理和形狀這三大圖像底層特征提取速度快,作為傳統(tǒng)的圖像特征提取方法其檢索準(zhǔn)確率有待提高。
在圖像檢索中,把提取到的圖像高維特征利用哈希算法映射成低維的二進(jìn)制碼,其高層語義特征在漢明空間還得以保持[4],內(nèi)存占用減少了,同時檢索速度也提高了。傳統(tǒng)的哈希算法[5]可分為兩類:數(shù)據(jù)無關(guān)和數(shù)據(jù)相關(guān)。在哈希圖像檢索方法中局部敏感哈希(LSH)率先被提了出來,作為與數(shù)據(jù)無關(guān)的一種哈希算法,雖然解決了高維度的問題,但其檢索精度并不理想。為了提高圖像檢索精度,研究人員提出了與數(shù)據(jù)相關(guān)的檢索方法,并根據(jù)樣本是否存在標(biāo)注,把哈希算法分為三種:無監(jiān)督、半監(jiān)督和有監(jiān)督哈希算法[6]。
1.3.1 深度學(xué)習(xí)
深度學(xué)習(xí)又稱深度神經(jīng)網(wǎng)絡(luò),不同于人工提取圖像底層特征,深度學(xué)習(xí)通過模型自主學(xué)習(xí)圖像特征,使得圖像分類識別更加準(zhǔn)確和高效。有賴于深度學(xué)習(xí)的研究發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)在提取圖像的高層語義特征[7]才能更全面。在深度學(xué)習(xí)模型中,一批優(yōu)秀的模型例如AlexNet、VGGNet 等相繼被推出。其中,深度卷積神經(jīng)網(wǎng)絡(luò)VGGNet[8]于2014 年在ILSVRC 比賽中取得佳績,榮獲定位項目冠軍以及分類項目亞軍。在六種VGGNet結(jié)構(gòu)中,VGG16經(jīng)常被使用,其包含16個具有權(quán)重的層,即卷積層13 層(conv1_1—conv5_3),全連接3 層(FC6—FC8)。
1.3.2 深度學(xué)習(xí)哈希
傳統(tǒng)的哈希算法以檢索精度換取檢索速度,因其表達(dá)的圖像內(nèi)容和語義信息不完整,以致檢索的準(zhǔn)確率不高。在連續(xù)多年的PASCAL、VOC、ILSVRC 等國際計算機(jī)視覺大賽中,利用卷積神經(jīng)網(wǎng)絡(luò)提取圖像特征都獲得巨大成功。最先提出結(jié)合哈希技術(shù)和深度學(xué)習(xí)的Salakhutdinov R 等人[9]采用的學(xué)習(xí)方法是無監(jiān)督的,樣本圖像的特征提取使用了多個受限玻爾茲曼機(jī)RBM。利用哈希技術(shù)和卷積神經(jīng)網(wǎng)絡(luò)的功能,深度哈希算法[10]表達(dá)圖像特征時,通常先將圖像轉(zhuǎn)化為可編碼的二進(jìn)制,再通過有效的漢明距離來計算。
本文在研究深度卷積神經(jīng)網(wǎng)絡(luò)VGG16 的同時,把有監(jiān)督哈希算法結(jié)合起來,提出了一種基于深度哈希的圖像檢索方法。
本文方法在VGG16 模型的基礎(chǔ)上進(jìn)行相應(yīng)調(diào)整:模型中全連接層保留FC6 和FC7,去掉的FC8 用一個添加的哈希層替換,構(gòu)建哈希函數(shù)獲得哈希編碼,并對損失函數(shù)進(jìn)行優(yōu)化,以便得到更好的訓(xùn)練效果,圖像檢索框架如圖1 所示。
圖1: 基于深度哈希的圖像檢索框架
檢索過程主要包括模型訓(xùn)練和檢索圖像兩個階段:
(1)模型訓(xùn)練階段:首先把輸入的圖像對特征向量使用VGG16 網(wǎng)絡(luò)模型提取出來,并進(jìn)行Dropout 操作,以避免過擬合。其次在添加的哈希層把提取到的圖像對特征向量映射成二進(jìn)制哈希編碼。然后在損失層對損失函數(shù)做優(yōu)化計算,保持哈希編碼相似性學(xué)習(xí)。最后網(wǎng)絡(luò)訓(xùn)練使用反向傳播算法,更新權(quán)值,微調(diào)模型初始化參數(shù)。
(2)檢索圖像階段:首先在訓(xùn)練好的模型中輸入查詢圖像,獲得對應(yīng)哈希編碼,然后進(jìn)行哈希編碼相似性度量,最后再輸出檢索結(jié)果。
本文利用成對標(biāo)簽信息作為監(jiān)督,對哈希學(xué)習(xí)過程產(chǎn)生的誤差進(jìn)行約束,在損失層對損失函數(shù)做了優(yōu)化計算。給定一對哈希編碼hi和hj,可用公式
在深度學(xué)習(xí)中,使用的訓(xùn)練樣本需要足夠多才能保證參數(shù)的可用性。利用遷移學(xué)習(xí)[12]的方法,本文選擇的VGG16 模型已經(jīng)在大規(guī)模的ImageNet 圖像數(shù)據(jù)集上預(yù)訓(xùn)練過,其泛化能力已滿足要求,在提取數(shù)據(jù)集圖像特征時,對模型初始化參數(shù)進(jìn)行微調(diào)能更好地適應(yīng)本實(shí)驗(yàn)。綜合考慮實(shí)驗(yàn)條件,本文學(xué)習(xí)率的調(diào)整使用指數(shù)衰減法,其中指數(shù)衰減率設(shè)為0.9,經(jīng)過交叉驗(yàn)證,學(xué)習(xí)率調(diào)整為0.0001。因本實(shí)驗(yàn)用的兩個數(shù)據(jù)集規(guī)模相對較小,為減少過擬合風(fēng)險,迭代次數(shù)設(shè)為2000,批次大小設(shè)為128。經(jīng)過交叉驗(yàn)證,動量設(shè)為0.9,偏置參數(shù)設(shè)為0.1,全連接層Dropout 率設(shè)為0.5 效果最好。
綜合考慮實(shí)驗(yàn)條件,CIFAR-10 數(shù)據(jù)集和NUSWIDE 數(shù)據(jù)集作為本文實(shí)驗(yàn)使用的圖像數(shù)據(jù)集。其中,包含60000 幅圖像的數(shù)據(jù)集CIFAR-10 是單標(biāo)簽的,分為10 個類別,每個類別各包含6000 幅圖像。NUSWIDE 是一個多標(biāo)簽網(wǎng)絡(luò)圖像數(shù)據(jù)集,包含來自網(wǎng)站的269648 幅圖像,本文使用21 個最常見標(biāo)簽的195834 幅圖像,每個類別不少于5000 幅圖像。在兩個數(shù)據(jù)集中,測試集由每個類別中隨機(jī)選取的100 幅圖組成,剩下的圖像組成檢索集,訓(xùn)練集再由檢索集中隨機(jī)選取的500幅圖組成。
本文采用在哈希算法性能評價中常用的三個指標(biāo):平均檢索精度(mAP)、漢明半徑為2 的精度曲線(P@H=2)以及精度—召回率曲線(P-R)作為實(shí)驗(yàn)評價標(biāo)準(zhǔn)。
與本文方法進(jìn)行實(shí)驗(yàn)對比的是四種不同的哈希算法,其中傳統(tǒng)的哈希算法有兩種:局部敏感哈希(LSH)[13]和基于核的監(jiān)督哈希(KSH)[14],另外深度哈希算法也有兩種:卷積神經(jīng)網(wǎng)絡(luò)哈希(CNNH)[15]和深度神經(jīng)網(wǎng)絡(luò)哈希(DNNH)[16]。實(shí)驗(yàn)采用Tensorflow 框架[17],分別在12位、24 位、32 位和48 位哈希編碼長度下進(jìn)行。表1 給出了在四種不同哈希編碼長度下,五種不同哈希算法在數(shù)據(jù)集CIFAR-10 和NUS-WIDE 上的總體mAP 實(shí)驗(yàn)結(jié)果。其中,在CIFAR-10 上根據(jù)整個檢索集計算mAP,在NUS-WIDE 上根據(jù)返回的前5000 幅圖像計算mAP。
作為多標(biāo)簽數(shù)據(jù)集,NUS-WIDE 中的每幅圖像使用的類標(biāo)簽信息至少一個以上,因此從表1 中可見,該數(shù)據(jù)集mAP 檢索結(jié)果總體上都高于使用單標(biāo)簽信息的數(shù)據(jù)集CIFAR-10。
表1: 不同哈希算法在CIFAR-10 和NUS-WIDE 上不同哈希碼長度下的mAP
為了進(jìn)一步驗(yàn)證本文算法的檢索性能,圖2 給出了在NUS-WIDE 上不同哈希碼長度下的精度曲線(P@H=2),圖3 給出了在NUS-WIDE 上哈希碼長度為48位時的精度—召回率(P-R)曲線。
圖2: 在NUS-WIDE 上不同哈希碼長度下的精度曲線(P@H=2)
圖3: 在NUS-WIDE 上哈希碼長度為48 位時的P-R 曲線
對比實(shí)驗(yàn)結(jié)果表明,本文提出的檢索方法,無論是跟傳統(tǒng)的哈希算法:LSH、KSH 相比,還是跟深度哈希算法:CNNH、DNNH 相比,其檢索性能明顯優(yōu)于其他四種,檢索精度更高。
當(dāng)前大數(shù)據(jù)技術(shù)的發(fā)展方興未艾,在圖像檢索技術(shù)中,反映圖像高層語義的深度特征被廣泛運(yùn)用,利用深度學(xué)習(xí)技術(shù)和哈希算法的研究方法,能進(jìn)一步提高圖像的檢索效果。本文在VGG16 模型的基礎(chǔ)上,先進(jìn)行了改進(jìn)和微調(diào),再結(jié)合有監(jiān)督的哈希算法,提出了一種基于深度哈希的圖像檢索方法。在跟文中其他四種典型哈希算法進(jìn)行實(shí)驗(yàn)對比后,結(jié)果表明,本文所提方法檢索精度更高、總體性能更佳,具備一定的實(shí)用性。