天天看點

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

來源:李武軍老師研究團隊在2016年發表于國際人工智能聯合會議(IJCAI 2016)。

摘要

近年來,我們目睹了哈希在大規模圖像檢索中的廣泛應用。但是,大多數現有的散列方法都是基于手工制作的功能,這些功能可能無法與散列函數最佳相容。近來,已經提出了深度哈希方法來利用深度神經網絡同時執行特征學習和哈希碼學習,與具有手工特征的傳統哈希方法相比,深度哈希方法具有更好的性能。這些深度哈希方法中的大多數都受到監督,其監督資訊由三元組标簽給出。對于另一個使用成對标簽的常見應用程式場景,還沒有同時進行特征學習和哈希碼學習的方法。在本文中,我們提出了一種新穎的深度哈希方法,稱為深度成對監督哈希(DPSH),可以對具有成對标簽的應用程式同時執行特征學習和哈希碼學習。在真實資料集上的實驗表明,我們的DPSH方法可以勝過其他方法,進而在圖像檢索應用程式中實作最新的性能。

1.介紹

随着諸如圖像檢索等實際應用中資料的爆炸性增長,近似最近鄰(ANN)搜尋成為近年來的熱門研究課題。在現有的ANN技術中,由于其快速的查詢速度和低記憶體要求,哈希已成為最流行和有效的技術之一。

現有的哈希方法可以分為與資料無關的方法和與資料相關的方法。在與資料無關的方法中,哈希函數通常是随機生成的,其獨立于任何訓練資料。代表性的與資料無關的方法包括局部敏感哈希(LSH)及其變體。依賴資料的方法嘗試從一些訓練資料中學習哈希函數,這也稱為學習哈希(L2H)方法。與獨立于資料的方法相比,L2H方法可以使用較短的哈希碼實作相當或更高的準确性。是以,在實際應用中,與資料無關的方法相比,L2H方法已變得越來越流行。

L2H方法可以進一步分為兩類:無監督方法和有監督方法。無監督方法僅使用資料點的特征(屬性)資訊,而在訓練過程中不使用任何監督(标簽)資訊。代表性的無監督方法包括疊代量化(ITQ),各向同性哈希(IsoHash),離散圖哈希(DGH)和可伸縮圖哈希(SGH)。監督方法嘗試利用監督(标簽)資訊來學習哈希碼。可以三種不同的形式提供受監管的資訊:逐點标簽,成對标簽和排名标簽。代表性的基于逐點标簽的方法包括CCA-ITQ,監督離散哈希(SDH)中的深度哈希方法。代表性的基于成對标簽的方法包括用于散列的順序投影學習(SPLH),最小損失散列,帶監督的核心散列(KSH),兩步哈希(TSH),快速監督哈希(FastH),潛在因子哈希(LFH),卷積神經網絡哈希(CNNH),以及基于列采樣的離散監督哈希(COSDISH)。代表性的基于排名标簽的方法包括基于排名的監督哈希(RSH),列生成哈希(CGHash),順序保留哈希(OPH,對保留哈希(RPH)進行排名,以及一些深度哈希方法。

盡管如上所述,已經提出了很多哈希方法,但是大多數現有的哈希方法,包括一些深度哈希方法都是基于手工特征。在這些方法中,手工制作的特征構造過程與哈希碼和哈希函數學習過程無關,是以生成的特征可能與哈希過程不是最佳相容。是以,這些現有的基于手工制作的特征的散列方法在實踐中可能無法獲得令人滿意的性能。為了克服現有基于手工特征的方法的缺點,一些基于特征學習的深度哈希方法最近被提出使用深度神經網絡同時執行特征學習和哈希碼學習,與具有手工特征的傳統哈希方法相比,它們表現出更好的性能。這些深度哈希方法中的大多數都是受監督的,其受監督資訊由三元組标簽給出,這是排序标簽的特殊情況。

對于具有成對标簽這一種常見應用場景,幾乎沒有基于特征學習的深度哈希方法。據我們所知,CNNH是唯一采用深度神經網絡(deep neural network, CNN)對成對标簽進行監督哈希的特征學習方法。CNNH是一種兩階段方法。在第一階段,從成對标簽中學習哈希碼,然後第二階段嘗試根據來自第一階段的哈希碼,從圖像像素中學習哈希函數和特征表示。在CNNH中,第二階段學習的特征表示無法提供回報,進而無法在第一階段學習更好的哈希碼。是以,CNNH無法同時執行特征學習和哈希碼學習,這仍然有局限性。

在本文中,我們針對具有成對标簽的應用提出了一種新穎的深度哈希方法,稱為深度成對監督哈希(DPSH)。 DPSH的主要貢獻概述如下:

(1)DPSH是一個包含三個關鍵元件的端到端學習架構。第一個元件是一個深度神經網絡,用于從像素學習圖像表示。第二個元件是哈希函數,用于将學習到的圖像表示映射到哈希碼。第三部分是損失函數,用于測量由成對标簽引導的哈希碼的品質。所有這三個元件都無縫內建到同一深度體系結構中,以端到端的方式将圖像從像素映射到成對的标簽。是以,不同的元件可以在DPSH中互相回報,進而比其他沒有端到端體系結構的方法更好地學習代碼。

(2)據我們所知,DPSH是第一種可以對具有成對标簽的應用程式同時執行特征學習和哈希碼學習的方法。

(3)在真實資料集上的實驗表明,DPSH可以勝過其他方法,進而在圖像檢索應用程式中達到最新的性能。

2.符号和問題定義

2.1 符号

我們使用

z

等粗體小寫字母表示向量。像

Z

這樣的粗體大寫字母用于表示矩陣。

2.2 問題定義

假設我們有n個點(圖像)

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

,其中

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

是點i的特征向量。

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

是圖像檢索應用程式中的手工功能或原始像素。可以根據上下文輕松确定

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

的具體含義。除特征向量外,帶有成對标簽的監督哈希訓練集還包含成對标簽

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

的集合,其中

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

表示

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

相似,

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

表示

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

不同。在此,成對标簽通常是指通過人工提供的語義标簽。使用成對标簽進行監督哈希的目的是為每個點

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

學習一個二進制代碼

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

,其中c是代碼長度。二進制代碼矩陣

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

應該保持S中的相似性。更具體地說,如果

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

,則二進制代碼

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

應該具有較小的漢明距離。

3.模型與學習

3.1 模型

圖1顯示了我們的DPSH模型的端到端深度學習架構,其中包含特征學習部分和目标函數部分。

特征學習部分
pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

請注意,圖1中有兩個CNN(頂部CNN和底部CNN)。這兩個CNN的結構相同,權重相同,也就是說,輸入和損失函數均基于圖像對。

目标函數部分

給定所有點的二進制代碼

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

,我們可以将成對标簽

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

的可能性定義為LFH:

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

其中

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

取S中觀察到的成對标簽的負對數似然,可得到如下優化問題:

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

容易發現上述優化問題可以使兩個相似點之間的漢明距離盡可能小,同時使兩個相異點之間的漢明距離盡可能大。上式中的問題是離散優化問題,很難解決。LFH通過将{bi}從離散松弛到連續來直接解決,這可能無法獲得令人滿意的性能。

在本文中,我們設計了一種新穎的政策,可以離散地解決上述問題。首先,我們将上式中的問題重新表述為以下等效問題:

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

為了優化(2)中的問題,我們可以通過将(2)中的等式限制移動到正則化項來優化以下正則化問題:

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希
DPSH模型

為了将上述特征學習部分和目标功能部分內建到端到端架構中,我們設定了

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

其中θ表示特征學習部分中七層的所有參數,

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

表示與點

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

相關的整層的輸出,W表示權重矩陣,v是偏差向量。這意味着我們将特征學習部分和目标函數部分通過權重矩陣W和偏差向量v通過完全連接配接層連接配接到同一架構中。在将這兩個部分連接配接之後,學習的問題變為:

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

最終,我們得到了一個稱為DPSH的端到端深度哈希模型,可以在同一架構中同時執行特征學習和哈希碼學習。

3.2 學習

在DPSH模型中,用于學習的參數包含

W

,v,θ和B。我們采用基于小批量的政策進行學習。更具體地說,在每次疊代中,我們從整個訓練集中采樣一小部分,然後根據這些采樣點進行學習。

我們設計了一種交替學習的方法。也就是說,我們在固定其他參數的同時優化了一個參數。

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

可以直接進行以下優化:

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

對于其他參數

W

,v和θ,我們使用反向傳播(BP)進行學習。特别是,我們可以計算出與

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

有關的損失函數的導數:

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

然後,我們可以利用反向傳播來更新參數

W

,v和θ:

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

算法1中簡要總結了DPSH的整個學習算法。

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

4. 實驗

4.1資料集和設定

我們在兩個廣泛使用的基準資料集(CIF AR-10和NUS-WIDE)上将我們的模型與幾個基準進行了比較。

CIFAR-10資料集由60,000張32×32彩色圖像組成,這些圖像分為10類(每類6000張圖像)。它是一個單标簽資料集,其中每個圖像都屬于十個類别之一。

NUS-WIDE資料集從網上收集了近270,000張圖像。它是一個多标簽資料集,其中每個圖像都用一個或多個81個類别的類别标簽進行注釋。

我們将我們的方法與幾種最新的哈希方法進行了比較。這些方法可以分為五類:具有手工制作特征的無監督哈希方法,包括SH和ITQ;具有手工制作特征的監督哈希方法,包括SPLH,KSH,FastH,LFH和SDH;以上非監督方法和DPSH中特征學習部分的CNN-F提取的具有較深特征的監督方法;具有成對标記的深度哈希方法,包括CNNH;具有三元組标簽的深度哈希方法,包括網絡哈希(NINH),基于深度語義排名的哈希(DSRH),深度相似性比較哈希和深度正則相似度比較哈希。

對于使用手工功能的哈希方法,我們通過512維GIST向量表示CIFAR-10中的每個圖像。我們用1134維的低級特征向量表示NUS-WIDE中的每個圖像,包括64維彩色直方圖,144維彩色相關圖,73維邊緣方向直方圖,128維小波紋理,225維逐塊顔色力矩和500-D SIFT功能。

對于深層哈希方法,我們首先将所有圖像的大小調整為224×224像素,然後直接使用原始圖像像素作為輸入。我們采用已在ImageNet資料集上進行了預訓練的CNN-F網絡來初始化DPSH架構的前七個層。其他深度哈希方法也采用了類似的初始化政策。

4.2 精度

MAP結果報告在表2中,其中DPSH,DPSH0,NINH和CNNH是深度方法,所有其他方法都是具有手工特征的非深度方法。我們可以發現,我們的方法DPSH大大優于其他基準,包括無監督方法,具有手工制作特征的有監督方法以及具有特征學習的深度哈希方法。

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

DPSH和CNNH都是具有成對标記的深度哈希方法。通過将DPSH與CNNH進行比較,我們可以發現同時進行特征學習和哈希碼學習的模型(DPSH)可以勝過沒有同時進行特征學習和哈希碼學習的其他模型(CNNH)。

NINH是基于三重标記的方法。盡管NINH可以執行同時的特征學習和哈希碼學習,但DPSH的性能仍然優于DPNH。

為了進一步驗證同時特征學習和哈希碼學習的重要性,我們設計了DPSH的一個變體,稱為DPSH0,它在學習過程中不會更新前七個層(CNN-F層)的參數。是以,DPSH0僅使用CNN-F進行特征提取,然後基于提取的特征學習哈希函數。哈希函數學習過程将不對特征提取過程提供任何回報。通過比較DPSH和DPSH0,我們發現DPSH性能可以大大勝過DPSH0。這意味着,與沒有端到端學習的解決方案相比,以端到端的方式将特征學習和哈希碼學習內建到同一架構中可以得到更好的解決方案。

4.3 與具有深度特征的非深度基線方法的比較

為了進一步驗證同時特征學習和哈希碼學習的有效性,我們将DPSH與其他非深度方法進行了比較,這些非深度方法具有通過ImageNet預先訓練的CNNF提取的深度特征。結果報告在表3中,其中“ FastH + CNN”表示具有較深特征的FastH方法,其他方法具有相似的符号。我們可以發現我們的DPSH在功能方面優于所有其他非深度基線。

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

4.4 與具有排名标簽的基線比較

大多數現有的深度監督哈希方法都基于排名标簽,尤其是三元組标簽。盡管這些方法的學習過程基于排名标簽,但是學習的模型也可以用于成對标簽的評估方案。實際上,大多數基于三重标簽的方法都采用成對标簽作為評估的基礎事實。在第4.2節中,我們證明了DPSH的性能優于NINH。在本小節中,我們将與具有排名标簽(三元組标簽)的其他深度哈希方法進行進一步的比較。這些方法包括DSRH,DSCH和DRSCH。

實驗結果顯示在表4中。請注意,表4中的DPSH結果與表2中的結果不同,因為實驗設定不同。從表4中,我們可以發現帶有成對标記的DPSH也可以大大優于其他具有三重标簽的基線。請注意,DSRH,DSCH和DRSCH也可以在端到端架構中同時執行特征學習和哈希碼學習。

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希

5. 結論

在本文中,我們提出了一種新的深度哈希方法,稱為DPSH,用于帶有成對标簽的設定。據我們所知,CNNH是第一種采用深度神經網絡(deep neural network, CNN)對成對标簽進行監督哈希的特征學習方法。由于DPSH中的不同元件可以互相回報,是以與沒有端到端體系結構的其他方法相比,DPSH可以學習更好的代碼。在真實資料集上的實驗表明,DPSH可以勝過其他方法,進而在圖像檢索應用程式中達到最新的性能。

總結與思考

這篇文章提出了DPSH的方法,對成對标簽的圖像對同時進行特征學習和哈希碼學習。與其他側重于設計損失函數的方法相比,本文方法的關注點在于量化部分,這在傳統哈希方法中也是一個重要的研究方向。

參考文獻

pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希
pcl把3dmesh 映射成2維_基于特征學習的成對标簽深度監督哈希