郁 延 珍
(復旦大學計算機科學技術學院 上海 201203)
隨著大規模圖像檢索需求的日益增加,為了解決使用實值特征進行圖像檢索效率較低的問題,哈希方法開始被用來將高維的圖像數據映射到緊湊的二進制編碼空間,產生可以近似地保留圖像原始空間信息的哈希碼[3-5]。在基于哈希的圖像檢索中,圖像由二進制碼而不是實值特征表示,檢索的時間和空間開銷都大大降低,因而能夠在數據庫中更快地檢索到用戶所需要的圖像信息。
近年來,隨著深度學習理論的飛速發展,以卷積神經網絡(Convolutional Neutral Network,CNN)為代表的多種神經網絡在諸如圖像分類[6-8]、物體檢測[9]、人臉識別[10]以及其他視覺任務[11-12]領域不斷取得突破。這些任務的成功表明從CNN上學得的特征可以很好地捕捉到圖像的潛在語義結構信息。
深度學習理論的飛速發展及其在眾多領域的成功應用,向我們證明了CNN網絡的強大學習能力。然而,主流的深度學習方法往往使用較高維度的特征,這極大地增加了圖像檢索的時間和空間開銷。為了提高檢索的效率,哈希方法,如LSH[19]開始應用于圖像檢索領域,哈希特征的使用大大降低了圖像檢索在空間和時間上的開銷。然而,哈希方法的檢索準確率往往取決于它們所使用的特征,而手工編碼的特征只能編碼線性特征,無法捕捉圖像的深層語義信息。
最近,很多基于卷積神經網絡的哈希方法被提出,如文獻[1-2,14-15,23,26-27],用來解決快速圖像檢索的問題。這些方法表明:深度卷積神經網絡可以有效地編碼非線性函數,圖像特征及其對應的哈希函數都可以通過深度卷積神經網絡學習得到。
文獻[2]通過挖掘深度卷積網絡中的一個隱藏層來代表決定圖像標簽的隱藏信息,并通過哈希得到了可用于大規模圖像檢索的特征。文獻[23]通過挖掘圖像對之間的相似性矩陣來學習哈希編碼。文獻[1]利用圖像的相似信息訓練網絡并提取特征,將求特征和哈希結合在同一個網絡中,避免了二次優化的問題。文獻[14]通過將CNN卷積層的特征進行組合,將圖像的局部特征應用于尺度變化的圖像實例檢索并取得了較好的效果。在人臉識別領域中,DeepID2[13]首次將人臉的分類信息和驗證信息聯系在一起,通過擴大類間的距離并減小類內距離大大提升了人臉識別算法的準確率,但是這些方法存在以下缺點,從而限制了檢索準確率的提升:
1) 只使用了分類信息和驗證信息的一種;
2) 沒有考慮數據不平衡的問題。
本文將圖像表示和哈希方法結合起來,提出了深度多監督哈希DMSH,該方法從特征和哈希兩個角度來入手,使用多監督信息來對網絡進行調整,從而獲得更優的哈希特征。實驗表明,該方法比目前主流的方法檢索效果更好。本文工作的貢獻主要如下:
1) 提出了一個深度多監督網絡模型(DMSH)來學習哈希編碼,使樣本之間的非線性關系可以被有效編碼。
2) 采用多監督的方式,同時使用分類信息和驗證信息來學習得到可區分的哈希編碼。
3) 針對正負樣本不平衡問題,采用了合適的方式進行處理,解決了樣本不平衡的問題。
在圖像檢索領域,特征的魯棒性、可區分性以及編碼緊湊性對于提高圖像檢索的準確率和效率至關重要。為了能夠同時滿足這三個方面的要求,提高圖像檢索的表現,本文提出了一種深度多監督哈希(DMSH)方法。
我們從DenseNet[24]得到啟發,使用Block作為網絡的基礎結構,在每個Block內部,層與層之間直接連接,保證了最大信息傳輸。DMSH網絡包含38個Block結構,每個結構兩兩相連,后接兩個全連接層和一個特征層。DMSH網絡結構如圖1所示。

圖1 DMSH網絡結構
目標函數通過可區分項(分類信息、驗證信息)以及哈希項來優化網絡,從而學習到具有可區分性的哈希特征。具體來說,網絡模型通過頂層的三個約束任務學習得到:
1) 通過分類任務,增加圖像的類間距離;
2) 利用驗證任務,減小圖像的類內距離;
3) 通過哈希監督,獲得有效的哈希編碼。
訓練模型時,圖像以組為單位進入網絡,先經過一個卷積層,然后經過多個Block結構以及其后的卷積采樣層,最后經過兩個全連接層和一個特征層,分別進入分類、驗證和哈希分支。
在驗證分支中,在網絡內部組合成圖像對,并根據標簽信息來判斷兩圖像是否相似。
為了保證編碼的可區分性,學習到的特征應該能很好地預測圖像的標簽信息。因此,分類任務使用softmax層將每幅圖像分類到不同的n類中,softmax層輸出圖像在n類上的概率分布。輸入圖像i,損失函數表達式為:
(1)

圖像檢索的準確率相似圖像對的特征也盡量相似,非相似圖像對的特征也盡量不相似。在衡量特征相似程度時,一般采用三種方法,分別為:L1、L2和余弦相似性。因為網絡最終輸出結果為哈希特征,而L2在歐氏空間和漢明空間上一致,因此我們使用L2距離衡量特征之間的相似性。
驗證任務的目的是使相似的圖像映射成相似的特征,非相似圖像映射成非相似的特征。因此,相似圖像對的特征應該越近越好,而非相似的圖像對特征之間的距離應該足夠大。
在圖像配對時,非相似圖像對數要遠多于相似圖像的對數,從而造成了正負樣本不平衡問題。某些分類任務中,非平衡數據的存在,甚至造成了正樣本準確率接近100%,而負樣本的準確率卻只有0~10%。因此我們需要對這種不平衡問題進行處理。應對數據不平衡問題時常用的方法包括采樣、數據加成、加權等方法[25]。根據本文的情況,由于數據樣本足夠多且比例相差不是特別懸殊,因此本文采用加權的方法來解決數據不平衡問題,通過添加懲罰項,增加相似圖像對的權重,降低非相似圖像對的權重,使得網絡能夠取得較好的效果。
基于以上考慮,我們設計了驗證任務的損失函數:
L2(a1,a2)=αδ(y1=y2)J(a1,a2)+
βδ(y1≠y2)K(a1,a2)
(2)

對于所有的圖像對,驗證任務的損失函數為:
(3)
式中:ai∈{+1,-1},i∈{1,2,…,N}。
經過實驗我們發現,處理數據不平衡后,網絡性能會有2%~5%的提升。
為了降低圖像檢索的空間和時間開銷,本文將網絡最終的輸出為二進制哈希碼。然而,如果直接將輸出限定為二進制碼,反向傳播將變得很困難。而如果忽視這個限制,歐式空間和漢明空間會有很大的差異,從而造成檢索準確率的下降。針對這個問題,常用的方法是使用sigmoid函數或者tanh函數來近似表示閾值,但是,使用這些非線性的函數會使網絡收斂速度變慢。因此,本文在網絡輸出上直接進行正則化來輸出近似二值的特征。
網絡使用歐氏距離對輸出做一個二進制的限制,使輸出近似二值的特征。我們使用基于L2的正則化。為了使輸出接近-1或+1,通過增加限制項,使得輸出的每一維數據的絕對值與1的方差最大和最小化,即:
(4)
式中:a是一個k維的向量。
有了這個限制,網絡產生的輸出可以滿足近似二進制的要求。此外,我們也測試了L1正則化的方法,最后證明L2優于L1。
另外,對特征加入了平衡性的因素,假設網絡中每個哈希碼輸出的+1和-1的個數盡可能相同,這個要求可以通過讓每個訓練樣本輸出的每個bit有50%的概率為+1,50%的概率為-1來達到,如下式所示:
(5)
本文方法受到了文獻[15,17]的啟發,也使用類似的方法來達到平衡性的要求,提高了特征的表現。
根據上文所述,總體的損失函數如下:
(6)
式中:wi為權重系數。
對于輸入的任意圖像,都可以從特征層提取一個k維的哈希特征(k=12,24,36,48 bit)。哈希碼可以通過使用sgn()函數獲得,當ai>0時,sgn()=1; 反之sgn()=-1。
為了證明本文方法的有效性,我們在兩個廣泛使用的數據集(CIFAR-10、NUS-WIDE)上進行實驗。
在快速圖像檢索領域,CIFAR-10和NUS-WIDE是兩個常用的數據集,將本文所提到的方法與其他主流方法進行了充分的比較。
CIFAR-10:該數據集由60 000幅32×32的圖像組成,共分為10個互不相交的類,每類6 000幅圖像。圖像類別由手工標注。
NUS-WIDE:該數據集由269 648幅從Flicker上得到的圖像組成。每一幅圖像被手工標注為81個類別中的某個或某幾個用于模型評估。參考DSH的方法,使用最常用的21個類別,每個類別下至少包含5 000幅圖像,共計195 834幅。
在基于CNN的哈希方法中,直接使用圖像作為網絡的輸入,對于傳統方法,使用512維的GIST特征作為輸入。
在我們的實驗中,擁有相同標簽的圖像被歸于相似圖像,而標簽均不相同的圖像被認為是非相似圖像。對于CIFAR-10,來自相同類的圖像被認為是相似圖像,反之則認為是非相似圖像。對于NUS-WIDE,如果兩幅圖像至少共享一個標簽,則認為它們是相似的,反之認為它們是非相似的。
參照文獻[8,23,28],我們使用Mean Average Precision (MAP) 作為評價指標。將數據集隨機劃分為兩部分,分別作為訓練集與驗證集。給定一幅查詢圖像,如果查詢圖與被查詢圖共享一個標簽,那么它們是相似的;否則,它們是非相似的。實驗將數據集隨機劃分為兩部分,分別作為訓練集與驗證集。在本文中,訓練集與驗證集的比例為5∶1。
我們通過實驗結果的對比來驗證本文所提到方法的有效性。
將本文提出的DMSH模型的檢索效果與其他哈希方法進行比較,包括四個傳統網絡LSH[9]、MLH[21]、BRE[22]、KSH[5]和四個深度學習網絡CNNH[23]、DNNH[16]、DSH[1]、SDH[20]。實驗使用特征層作為輸出,特征維度分別為12 bit、24 bit、36 bit和48 bit。實驗在兩個廣泛使用的圖像檢索數據集上進行:CIFAR-10和NUS-WIDE。
表1給出了不同方法在CIFAR-10和NUS-WIDE上的MAP結果。哈希碼的長度從12 bit到48 bit。數據顯示,本文所提出的DMSH對比其他方法在檢索準確率上有較大的提升。特別地,DMSH在兩個數據集上的檢索性能比DSH分別提升了18.26%和10.26%。在CIFAR-10數據集上,在不同的編碼長度上的檢索效果,MAP在24 bit時取得最好的效果,從而表明了特征不是越長越好,緊湊的編碼由此產生。

表1 DMSH與其他方法在CIFAR-10和NUS-WIDE上的檢索MAP對比

NUS-WIDE方法12 bit24 bit36 bit48 bitLSH[19]0.332 90.339 20.345 00.347 4MLH[21]0.382 90.393 00.395 90.399 0BRE[22]0.355 60.358 10.354 90.359 2KSH[5]0.433 10.459 20.465 90.469 2CNNH[23]0.431 50.435 80.445 10.433 2DNNH[16]0.547 10.536 70.525 80.524 8DSH[1]0.548 30.551 30.558 20.562 1LEBV[30]0.588 20.592 00.599 30.597 8SHAN[29]0.566 00.577 90.580 30.582 9DMSH0.623 10.623 60.627 20.615 4
由表1可知:(1) 本文提出的方法取得了最好的效果并且相比其他哈希方法有顯著提升;(2) 通過將圖像特征和哈希特征結合到同一個模塊中,取得了較好的效果;(3) 深層哈希方法比淺層哈希方法效果好。
DMSH的優勢主要體現在下面三個方面:(1) DMSH同時使用了分類和驗證信息,而DSH只使用了驗證信息;(2) DMSH的網絡結構可以更好地挖掘圖像的深層信息,DSH使用圖的網絡略顯簡單;(3) DMSH增加了對數據不平衡問題的處理。
表2給出了多監督方法與非多監督在CIFAR-10上的MAP結果,可以看出,使用單一驗證網絡比單一分類網絡效果好,而二者結合起來能夠取得更好的效果。

表2 多監督方法與非多監督方法的MAP的比較
表3給出了真值特征、哈希特征及其之間的損失,數據表明,真值特征和哈希特征之間損失很小。

表3 NUS-WIDE哈希效果對比 %
通過實驗和分析,我們可以得出以下幾個結論:
1) 本文所使用的真值特征和哈希特征之間的損失很小;
2) 同時使用分類信息和驗證信息可以更好地保留圖像信息,提高檢索精度;
3) 深度學習網絡可以很好地編碼哈希函數,獲得優秀的哈希特征。
在實際應用中,對于一個新的圖像,應該能夠快速地提取其哈希編碼。為了比較DMSH與其他8個監督哈希方法的編碼時間,在CIFAR-10數據集上分別對24 bit和48 bit的編碼長度進行了實驗。為了全面的比較,分別在CPU和GPU上對基于卷積神經網絡的方法進行了實驗,得到傳統哈希方法的特征提取時間,實驗結果如圖2所示。

圖2 新圖像的編碼時間/μs
可以看出,基于卷積神經網絡的哈希方法對新圖像的編碼時間幾乎相同,將特征提取時間包括在內后,深度學習哈希方法的編碼速度比傳統哈希方法快10倍以上。
本文提出了一種基于深度多監督的快速圖像檢索方法,該方法通過端到端的方式同時得到圖像的真值特征和哈希特征,在此基礎上,使用多監督信息,達到同時降低類內距離,增加類間距離的目的,大大提升了圖像檢索網絡的準確率和效率。我們將DMSH的檢索效果歸功于以下三個方面:1) 使用多監督方法,在減小類內距離的同時增加類間距離;2) 采用合適的方法解決了正負樣本不平衡的問題;3) 采用端到端的方式得到圖像的哈希特征,并使用正則化的方式降低了圖像真值特征和哈希特征二者的差異。實驗表明,該方法可以快速將任意圖像編碼成緊湊的二進制哈希編碼,有效提升圖像檢索的準確率。