王華秋,郎 帥
(1.重慶理工大學(xué) 兩江人工智能學(xué)院, 重慶 401135;2.重慶理工大學(xué) 計算機科學(xué)與工程學(xué)院, 重慶 400054)
針對互聯(lián)網(wǎng)上圖像和視頻數(shù)據(jù)的爆炸式增長,大規(guī)模的視覺搜索已經(jīng)在人工智能[1]和計算機視覺[2]中得到廣泛應(yīng)用??紤]到用戶對快速檢索的需求,對于大規(guī)模圖像資源,有必要探索圖像檢索的方法,其目標是在查詢圖像中返回包含同一類的圖像。哈希方法作為近似最近鄰(ANN)尋找方法,對于大規(guī)模圖像檢索十分有效,本文著重研究用于大規(guī)模圖像檢索的哈希函數(shù)。
因查詢速度快和存儲成本低,目前已有各種哈希方法用于生成圖像的緊致二進制碼[3-8]。利用異或運算計算漢明距離,將高壓縮的數(shù)據(jù)加載到主存儲器,使得緊致二進制碼的相似性搜索得以快速實現(xiàn)?,F(xiàn)有的哈希方法分為數(shù)據(jù)獨立和數(shù)據(jù)相關(guān)兩類。數(shù)據(jù)獨立的哈希方法通常使用隨機映射生成二進制碼,例如位置敏感哈希(locality-sensitive hashing,LSH)[3],而數(shù)據(jù)相關(guān)的哈希方法通過從盡可能多地保留數(shù)據(jù)結(jié)構(gòu)中學(xué)習(xí)哈希函數(shù)。數(shù)據(jù)相關(guān)方法根據(jù)是否有監(jiān)督信息大致分為兩組:無監(jiān)督[3,5,9-11]和監(jiān)督[6-7,12-14]。由于二進制碼的優(yōu)質(zhì)性,本文著重研究監(jiān)督圖像的哈希方法。
大多數(shù)現(xiàn)有哈希方法的性能取決于所使用的視覺特征。傳統(tǒng)上,圖像通常由人工設(shè)計視覺特征描述,如Gist、HoG、LBP等。然而這些人工設(shè)計視覺特征有時不能很好地揭示圖像的表達信息,限制了圖像檢索的性能。因此,提出了一些基于其他特征的哈希方法[8,15-18],例如卷積神經(jīng)網(wǎng)絡(luò)(CNN)提取特征。文獻[8]首先根據(jù)訓(xùn)練圖像上的成對相似性學(xué)習(xí)二進制碼,然后根據(jù)哈希碼學(xué)習(xí)哈希函數(shù)和圖像表示。深度哈希通過最小化二進制碼與深層網(wǎng)絡(luò)的輸出特征之間的量化誤差來生成哈希碼[15]。深度監(jiān)督哈希方法學(xué)習(xí)緊湊二進制學(xué)習(xí)代碼,以便對大規(guī)模數(shù)據(jù)進行高效的圖像檢索[18]。
鑒于卷積神經(jīng)網(wǎng)絡(luò)具備良好的學(xué)習(xí)能力,本文利用神經(jīng)網(wǎng)絡(luò)提取圖像特征來提高圖像檢索的性能。
目前學(xué)習(xí)型的哈希法大致分為以下兩種:無監(jiān)督哈希和監(jiān)督哈希。
無監(jiān)督的方法是指僅利用沒有標簽的圖像來學(xué)習(xí)哈希函數(shù)。該類別的主要策略包括:隨機映射[3],量化誤差最小化[5],重建誤差最小化[9]和基于圖的哈希[10]。文獻[11]進一步探索了無監(jiān)督哈希學(xué)習(xí)的底層共享結(jié)構(gòu)。
監(jiān)督方法是指利用標簽信息學(xué)習(xí)更緊致和區(qū)分性的哈希碼。Liu等[6]提出了基于內(nèi)核的一種哈希方法(KSH),最小化類內(nèi)差距同時最大化類別間差距。Kulis等[7]提出了通過最小化輸入與其對應(yīng)的哈希碼之間的平方誤差來學(xué)習(xí)哈希函數(shù)。Heo等[12]提出了基于超球面的一種哈希方法,將原始空間分為球體內(nèi)部和外部兩部分。
上述人工設(shè)計視覺特征方法限制了圖像檢索的性能。近年來,深度視覺特征在各種視覺任務(wù)中取得了優(yōu)異的表現(xiàn),目前一些深度哈希方法[8,15-21]已被提出。特征學(xué)習(xí)對于圖像檢索十分重要,一個框架中可以同時學(xué)習(xí)特征和哈希函數(shù)。Xia等[8]建議分兩個階段學(xué)習(xí)哈希函數(shù)。首先,通過對基于圖像標簽獲得的相似性矩陣進行因式分解學(xué)習(xí)二進制碼。然后,基于二進制碼和圖像標簽學(xué)習(xí)哈希函數(shù)和神經(jīng)網(wǎng)絡(luò)。由于矩陣分解會占用大量存儲而不能處理大規(guī)模圖像,文獻[15]提出了最小化實值特征與其相應(yīng)二進制碼之間的量化誤差的方法。在文獻[19]中,保留成對相似性以同時執(zhí)行特征學(xué)習(xí)和哈希學(xué)習(xí)。Lin等[21]在CNN中引入了潛層,用于學(xué)習(xí)圖像表示和一組哈希函數(shù)。在文獻[22]中,保留成對相似性以同時執(zhí)行特征學(xué)習(xí)和哈希學(xué)習(xí)。
與上述不同,本文利用圖像的標簽信息提出了一種單階段的方法。利用深度網(wǎng)絡(luò)的模型來預(yù)測圖像標簽,同時生成二進制碼。分類誤差和量化誤差用于得到更好的特征表示。
本文提出了用于圖像檢索的方法,該方法是在統(tǒng)一的框架中最小化分類誤差和量化誤差的深度哈希。深度神經(jīng)網(wǎng)絡(luò)框架如圖1所示。本文利用深度神經(jīng)網(wǎng)絡(luò)尋求多層次非線性變換以獲得圖像的特征表示。本文中深度神經(jīng)網(wǎng)絡(luò)的最后是兩個全連接層,最后一層有k個節(jié)點,其中k是所需哈希位的長度。最后一層預(yù)測圖像的標簽并生成哈希碼。分類誤差和量化誤差共同調(diào)整神經(jīng)網(wǎng)絡(luò)。所提出的方法可以學(xué)習(xí)哈希函數(shù),該哈希函數(shù)根據(jù)標簽信息為具有相同或相似語義內(nèi)容的圖像生成相同或相似的二進制碼。在MNIST和CIFAR-10兩個圖像集上的實驗表明:本文提出的方法在圖像檢索性能上優(yōu)于其他幾種主流方法。
本文的目標是學(xué)習(xí)圖像的緊致二進制碼,學(xué)習(xí)到的深度網(wǎng)絡(luò)表示可以很好地預(yù)測圖像的標簽,還可以直接計算二進制碼。因此,所得的二進制碼能夠保持圖像的標簽語義信息,使得二進制碼在圖像檢索中具有緊致性和區(qū)分性。
圖1 深度卷積神經(jīng)網(wǎng)的框架
受深度學(xué)習(xí)在物體識別和圖像檢索等各種視覺任務(wù)中優(yōu)秀表現(xiàn)的啟發(fā),本文通過探索深層架構(gòu)提出了深度哈希學(xué)習(xí)框架。為簡便,本文直接利用具有強大特征提取能力的卷積神經(jīng)網(wǎng)絡(luò)(CNN)。如圖1所示,所利用的深層網(wǎng)絡(luò)有4個帶著最大池化的卷積層分層提取特征,然后是兩個全連接的層:深度特征層和隱層。由于第4層比第3層提取的特征更全面,深度特征層全連接到第3個卷積后的池化層和第4個卷積層以獲得多尺度特征。
考慮由N個圖像表示的訓(xùn)練集X=[x1,x2,…,xN]∈Rm×N,給定xi∈Rm是第i個訓(xùn)練圖像,m是描述特征的維度,設(shè)Y=[y1,y2,…,yN]∈RC×N表示訓(xùn)練圖像的標簽矩陣,C表示類別的數(shù)量。如果第i個圖像屬于第j個類別,則Yij=1,否則為0?;趯W(xué)習(xí)的哈希方法旨在學(xué)習(xí)哈希函數(shù)為每個圖像生成緊致的二進制向量。即學(xué)習(xí)哈希函數(shù):X→B∈{0,1}K×N,其中,K是所需二進制碼的位數(shù)。
為了學(xué)習(xí)哈希函數(shù),將隱層H的輸出特征再量化為所需的離散值。因此,隱層H上的節(jié)點數(shù)被設(shè)置為k,其中k是所需哈希位的長度。假設(shè)深度特征層得到的圖像特征pi∈R1×n表示輸出n維向量,隱層H表示為
fi(pi)=Wipi,i=1,2,…,k
(1)
其中,Wi∈Rn×k為H層的權(quán)重矩陣。
在隱層用Sigmoid激活函數(shù),將數(shù)據(jù)映射到(0,1)的范圍內(nèi),表示為
(2)
其中zi=fi(pi)。
hi=(z1,z2,…zi)T,i=1,2,…,k
(3)
預(yù)測的哈希位可以通過以下函數(shù)得到:
(4)
其中sign(*)是對向量或矩陣的逐元操作。
(5)
其中hi是所提出的深度神經(jīng)網(wǎng)絡(luò)對第i個圖像的學(xué)習(xí)表示。
分類的損失函數(shù)可表示為
(6)
(7)
其中Iij是一個指標變量,如果Yij=1則Iij=1,否則為0。
為了得到二進制碼,本文使用符號函數(shù)將實值特征量化為二進制碼。為了形式化量化誤差,用H和B表示隱層的輸出和預(yù)測的二進制矩陣。理想的二進制矩陣可以通過B=sign(H)計算。由于上述等式過于理想,一般不成立,因此本文提出通過H和B之間的差異來學(xué)習(xí)B,使學(xué)習(xí)的二進制矩陣B和實值矩陣H之間的量化損失最小:
(8)
通過對隱層的輸出加以上述約束,預(yù)期學(xué)習(xí)的實際值H能很快接近1或0。理論上,它能夠在量化之前降低那些實際值約0.5的錯誤分類率,提高圖像檢索性能。
為了學(xué)習(xí)有判別的哈希函數(shù),本文研究了上述兩個方面,并把學(xué)習(xí)特征、哈希函數(shù)及分類放入統(tǒng)一的框架中。本文的整體損失函數(shù)如下:
(9)
其中:γ是控制量化的重要參數(shù);β是控制正則化的權(quán)重。將式(9)表示如下:
(10)
為了學(xué)習(xí)所提出的模型,本文采用子梯度下降法為局部最優(yōu)解設(shè)計迭代優(yōu)化算法,給出了J關(guān)于WH的梯度公式:
(11)
(12)
其中η是學(xué)習(xí)率。神經(jīng)網(wǎng)絡(luò)的參數(shù)可以根據(jù)文獻[15]計算并更新。
在訓(xùn)練階段,不必使用其他任何預(yù)訓(xùn)練的網(wǎng)絡(luò),直接使用隨機梯度下降訓(xùn)練小批量大小為50的網(wǎng)絡(luò)。一旦學(xué)習(xí)了所提出的網(wǎng)絡(luò),就可以通過量化隱層H處特征表示得到新圖像的哈希碼。
所用網(wǎng)絡(luò)有4個卷積層和3個最大池化層及2個全連接的層(深度特征層和隱層)。為了實現(xiàn)所提出的方法,設(shè)置這些層的大小,本文所用的神經(jīng)網(wǎng)絡(luò)的設(shè)置見表1。
根據(jù)深度學(xué)習(xí)的教程對所用的網(wǎng)絡(luò)權(quán)重參數(shù)進行初始化。隱藏層權(quán)重的初值依賴于在激活函數(shù)對稱區(qū)間上的均勻采樣結(jié)果。
表1 提出的神經(jīng)網(wǎng)絡(luò)中的層的大小
為驗證所提出方法的有效性,在MNIST和CIFAR-10兩個圖像集上模擬實驗。MNIST圖像集包含了70 000張大小為28×28的灰度圖像,由0~9組成的10類手寫體數(shù)字。其中包含了60 000張手寫體訓(xùn)練圖像集和10 000張手寫體測試圖像集。CIFAR-10圖像集包含了60 000張大小為32×32的彩色圖像,由車、馬等組成的10個分類。從每個類別中隨機選取5 000張圖像作為訓(xùn)練集和1 000張圖像作為測試集。
實驗環(huán)境:64位Windows10系統(tǒng),內(nèi)存12 G,主頻2.50 GHz,Intel(R) Core(TM)i7-6500U CPU處理器,開發(fā)軟件為Matlab 2016b。
為了評估所提出方法的檢索性能,實驗對比其他幾種主流哈希方法。例如,無監(jiān)督的哈希方法:LSH[3](隨機生成位置敏感的哈希函數(shù)),SH[4](通過將原空間中的相似性保持到漢明空間中的相似性來學(xué)習(xí)哈希函數(shù)),ITQ[5](最小化數(shù)據(jù)映射到二進制值的量化誤差,生成表達能力很強的哈希碼);監(jiān)督的哈希方法:KSH[6](監(jiān)督核哈希模型,通過最小化相似對上的漢明距離,同時最大化不同對上的漢明距離來學(xué)習(xí)哈希函數(shù)),BRE[7](通過最小化輸入距離和重構(gòu)漢明距離之間的誤差的平方損失來構(gòu)造哈希),以及利用深度學(xué)習(xí)與哈希技術(shù)相結(jié)合的哈希方法CNNH[8](首先是從訓(xùn)練圖像上成對的相似性來學(xué)習(xí)哈希碼,然后根據(jù)學(xué)到的哈希碼學(xué)習(xí)哈希函數(shù))。
對于淺層學(xué)習(xí)方法LSH、SH、ITQ、KSH、BRE,在MNIST和CIFAR-10兩個圖像集上的每個圖像分別由512維GIST特征向量表示。對于深度學(xué)習(xí)的方法CNNH和所提出的方法,直接使用原始圖像像素來描述視覺內(nèi)容。
本文采用漢明排序和哈希查找。漢明排序是指計算查詢與數(shù)據(jù)庫中的圖像之間的漢明距離,然后根據(jù)漢明距離從列表的頂部返回圖像。哈希查找是指查找表在查詢圖像的小漢明半徑r內(nèi)的圖像集。依據(jù)返回圖像和查詢圖像是否有相同的標簽信息評估檢索性能結(jié)果。在漢明排序中,計算前M個返回圖像的準確率。在哈希查找中,設(shè)置r=2,假如沒有返回圖像,那么相應(yīng)的準確率為零。此外,平均查準率(MAP)用于評價檢索方法的整體性能指標。本文根據(jù)每個測試查詢圖像的漢明距離對所有圖像進行排序,從中選取前M個圖像作為檢索結(jié)果,然后計算所有測試圖像的MAP值。為了能更好地展示所提出方法在圖像檢索上是可行有效的,給出了在不同位數(shù)下top-k的檢索準確率、查準-查全率(P-R)和不同位數(shù)下漢明距離小于2的準確率上的檢索性能比較結(jié)果。常用如下公式:
(13)
(14)
(15)
所有比較方法中,有一些超參數(shù)需要提前設(shè)置。本文采用交叉驗證方法調(diào)整和選擇超參數(shù)。本文中的超參數(shù)β和γ在MNIST和CIFAR-10兩個圖像集中都設(shè)置為β=γ=10-3,學(xué)習(xí)率η設(shè)置為0.005。
首先,通過實驗從前M個圖像的MAP來評價比較方法在圖像檢索中的整體性能。對MNIST和CIFAR-10兩個圖像集,M設(shè)置為1 000,哈希碼的長度設(shè)置為12、32和48。從表2、3給出的不同方法的MAP值的結(jié)果可以看出:與其他幾種主流方法相比,本文方法具有顯著優(yōu)勢,采用標簽信息的監(jiān)督方法優(yōu)于無監(jiān)督方法。與淺層哈希方法相比,具有良好表示能力的深層架構(gòu)的CNNH和本文方法表現(xiàn)較好,顯示了深層特征的優(yōu)點,與現(xiàn)有的研究結(jié)果一致。最后,與CNNH相比,由于本文方法考慮了分類誤差和量化誤差,MAP值明顯更高。特別地,在CIFAR-10數(shù)據(jù)集中MAP比CNNH方法提高了15%左右。獨特的框架帶來了大的改進,包括特征學(xué)習(xí),哈希函數(shù)學(xué)習(xí)和分類同時進行,這3項任務(wù)可以相互促進,以改善結(jié)果。以上結(jié)果證實了所提出方法的有效性。
圖2、3分別給出了在MNIST和CIFAR-10數(shù)據(jù)集上的其他檢索性能比較曲線,得出與表2、3類似的結(jié)論。本文方法明顯優(yōu)于其他幾種主流哈希方法,這是因為所提出的方法同時考慮了最小化的分類誤差和量化誤差,學(xué)習(xí)到的哈希碼具有判別力。
表2 數(shù)據(jù)集MNIST上不同哈希碼位的MAP值
表3 數(shù)據(jù)集CIFAR-10上不同哈希碼位的MAP值
參數(shù)γ通過交叉驗證來調(diào)整分類誤差和量化誤差的相對重要性,且當(dāng)MNIST圖像集的γ=10-2,CIFAR-10數(shù)據(jù)集的γ=10-3時獲得最佳結(jié)果??梢缘贸觯簽榱税l(fā)現(xiàn)有判別力的信息,分類標準比量化損失更重要。
圖2 在數(shù)據(jù)集MNIST上的對比結(jié)果
圖3 在數(shù)據(jù)集CIFAR-10上的對比結(jié)果
根據(jù)表2、3以及圖2、3的實驗結(jié)果,可以得到以下結(jié)論:① 該方法在MNIST和CIFAR-10這兩個圖像集上實現(xiàn)了最佳性能;② 深度神經(jīng)網(wǎng)絡(luò)哈希方法的結(jié)果優(yōu)于人工設(shè)計視覺特征的淺層方法;③ 所提出的深度哈希方法優(yōu)于另外一種CNNH的深度哈希方法;④ 實驗結(jié)果顯示有監(jiān)督的哈希方法優(yōu)于無監(jiān)督方法。上述實驗結(jié)果表明:在同一個學(xué)習(xí)模型中統(tǒng)一學(xué)習(xí)哈希函數(shù)和分類是有效、合理的。由監(jiān)督信息學(xué)習(xí)的哈希碼可以更好地獲得圖像之間的語義結(jié)構(gòu),從而得到更好的檢索效果。
利用深度哈希卷積神經(jīng)網(wǎng)絡(luò)能夠較好地提取圖像的特征,實現(xiàn)圖像之間的相似度計算,進而返回與檢索圖像相似度較高的圖像。本文將該方法用于Metel多媒體教學(xué)資源平臺的圖像檢索中。
3.3.1 Metel多媒體教學(xué)資源平臺的特點分析
Metel多媒體教學(xué)資源平臺(http://www.metel.cn/)是全球最大的高校課程資料庫。在該平臺的圖像資源里,有很多專家教授的人臉圖像,他們的課程放在Metel平臺上等待學(xué)生學(xué)習(xí)。
通過調(diào)研發(fā)現(xiàn)學(xué)生們很少訪問該網(wǎng)站,老師提醒可以到某些數(shù)字資源平臺上去看英文資料,學(xué)生由于沒有發(fā)現(xiàn)感興趣的課程而逐漸淡忘了。一方面是學(xué)識淵博的教授,另一方面是知識相對貧瘠的學(xué)生,在這種情況下開發(fā)一個以人臉搜索為主的Metel多媒體教學(xué)資源圖像檢索系統(tǒng),使學(xué)生可以從海報、網(wǎng)站等渠道通過拍照、下載等方式獲得教授的照片,然后通過圖像檢索系統(tǒng)和教授的照片檢索到該教授的課程資源,從而快速認識教授,了解教授,然后順理成章地學(xué)習(xí)教授的課程。
3.3.2 圖像檢索系統(tǒng)流程
本檢索系統(tǒng)支持基于深度卷積神經(jīng)網(wǎng)絡(luò)的圖像檢索。圖像檢索流程如圖4所示。
圖4 圖像檢索流程
在圖像檢索完成后,用戶選擇任一檢索結(jié)果,可以看到該圖像鏈接的互聯(lián)網(wǎng)上的內(nèi)容。Metel多媒體教學(xué)資源平臺檢索結(jié)果及相關(guān)鏈接如圖5所示。
3.3.3 圖像檢索應(yīng)用性能評價
由于圖像檢索的匹配準則的選擇具有很強的主觀性,因而需要一個指標體系來評估圖像檢索系統(tǒng)性能的優(yōu)劣,本系統(tǒng)采用常用的查全率和查準率作為性能指標。由于一次檢索并不能反映系統(tǒng)的檢索性能,因此,根據(jù)每次的檢索結(jié)果,統(tǒng)計檢索結(jié)果和圖庫中同類圖像的數(shù)目,計算出每次檢索結(jié)果的查全率和查準率,再對多次檢索后得到的查全率和查準率進行平均化處理,得到平均檢索性能。Metel多媒體教學(xué)資源平臺的平均檢索性能如圖6所示。
圖5 檢索結(jié)果及相關(guān)鏈接
圖6 平均檢索性能
本文提出了一種基于分類誤差和量化誤差的深度哈希模型,采用共同學(xué)習(xí)判別特征表示和緊致二進制哈希碼,通過優(yōu)化定義的分類誤差和量化誤差的目標函數(shù),學(xué)習(xí)的哈希碼具有很強的判別力,提高了圖像的檢索性能。在MNIST和CIFAR-10兩個圖像集上的實驗結(jié)果表明:本文方法與其他幾種主流哈希方法相比具有更好的檢索性能。最后將本文提出的深度卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于Metel多媒體教學(xué)資源平臺的圖像檢索中,表明檢索性能較好。