基於哈希的圖像檢索技術


為什么在圖像檢索里面使用到哈希(hashing)算法?

基於哈希算法的圖像檢索方法將圖片的高維內容特征映射到漢明空間(二值空間)中,生成一個低維的哈希序列來表示一幅圖片,降低了圖像檢索系統對計算機內存空間的要求,提高了檢索速度,能更好的適應海量圖片檢索的要求。

最近或者最近鄰問題在大規模的數據查詢中用得非常多。但是他們都會遇到一個問題,就是“維數災難”。也就是說當數據的維數太大的時候,之前的那些索引方法(如KD樹)就不能起到作用,這時候新的方法就很有必要,哈希算法滿足了這個要求。

 

相似性搜索算法的評價標准

為了解決相似性搜索問題,人們提出了很多相似性搜索的算法實現,而為了衡量這些算法的優劣,需要引入相似性搜索算法的評價機制。一般來講,一個相似性搜索算法可以從以下幾個方面進行評價

這個性質描述的是相似性搜索算法的查詢質量。對於給定的查詢請求,算法必須返回符合條件的查詢結果,而且查詢結果最好能和通過線性查找得到的結果一致。文本檢索領域的兩個著名指標可以用在此處來衡量查詢質量,它們分別是召回率(recall)和精度(precision)

召回率和精度的定義如下:

 

 

CBIR中的Hashing算法有哪些?

要解決這個問題,首先我們得用數學的方法將這個問題描述一下:

我們有一個包含個點的集合,,這樣矩陣的形式就是。我們的目標是尋找到一個二元編碼的集合,c表示編碼的長度。對於每一個位我們使用,是超平面的系數。

 

從訓練數據是否有Label(標記)上來分,CBIR中的hashing算法分為三類,監督學習,無監督學習,半監督學習。

 

監督學習

Semantic hashing (RBMs)

受限玻爾茲曼機是一個深度學習模型,每一層都表示一個受限玻爾茲曼機,最底層受限玻爾茲曼機的輸入是原始高維數據,通過該受限玻爾茲曼機計算得到一個中間值,然后將這個中間值作為下一個受限玻爾茲曼機的輸入,繼續計算得到新的中間值,重復此過程,直到從頂層的受限玻爾茲曼機計算得到最終的編碼結果。這個過程被稱作預訓練。而圖的右半部分表示將這個深度學習模型展開之后,通過調整這個深度學習模型中每層之間的參數和權重,進而得到一個深度自動編碼機的過程。這個過程被稱作微調。

RBMs包括兩個重要的步驟:無監督的訓練和監督的調整。無監督訓練階段,利用

貪心訓練算法逐步逐層的計算輸入與輸出之間的關系。通過對比度使得每一層的參數收斂。每一層的參數都作為計算下一層參數的輸入。在調整階段,加標簽的數據被用來調整無監督訓練階段學習到的神經網絡。

缺點:

實驗證明,受限玻爾茲曼機索引算法可以得到較好的索引結果。但由於其自身模型的復雜性,導致其運行效率低下,需要花費較長時間來得到訓練結果。

 

非監督學習

位置敏感哈希(Locality Sensitive Hashing LSH,1999)

LSH是最近比較流行的一種相似性搜索算法,它的基本思想是通過k個串聯的具有位置敏感性的哈希函數將原始的數據空間映射到二維的數據空間,然后在查詢時計算查詢點的K維哈希值,根據該哈希值取得候選數據集,最后通過計算候選數據集中每個點與查詢點的距離得到符合查詢條件的結果。LSH具有較好的時間效率,而且在高維數據空間依然能夠保持良好的性能,因此被廣泛應用在很多領域。

 

這個方法其實是最簡單的一種hash方法,只要產生k個哈希函數hx),對於每一個數據點x,進行計算,就能得到hash值。

 

缺點:

位置敏感哈希索引算法極大地提高了高維數據索引的效率,解決了樹形結構索引算法無法克服的效率問題,但是由於位置敏感哈希索引算法中采用了隨機映射算法,使得索引結果不可控,在實際應用中結果不穩定,並且實驗表明,隨着索引編碼位數的上升,索引結果提升緩慢。與其他語義哈希索引算法相比,位置

敏感哈希索引算法的索引結果准確率較低。

 

譜哈希(NIPS 08

方法:

譜哈希索引算法根據索引編碼應該滿足的條件,對原始高維數據集進行譜分析,再通過放松限制條件,將該問題轉換成拉普拉斯特征圖的降維問題從而求解。然后譜哈希索引算法引入了特征函數的概念來處理訓練集外數據的問題。整個算法流程如下:首先利用主成分分析法對原始高維數據進行降維處理,然后計算得到所有的解析特征函數(analytical eigenfunction), 最后將這些解析特征函數二值化從而得到最終的二元索引編碼。

但是由於譜哈希索引算法在其索引編碼過程中,直接應用了主成分分析法來

對高維特征進行降維處理,從而使得原始特征的每一維(例如視覺單詞)都參與

到后續編碼過程中,但是一般而言,給定一幅圖像,其所蘊含的語義只需有限視

覺單詞就能表達,而不用所有視覺單詞來參與表達。由於沒有處理冗余高維

特征的問題,譜哈希索引算法的結果受到一定影響。並且譜哈希索引算法假設了

原始高維數據均勻分布,從而選擇了理論最優值0作為閾值。但是在實際應用中

數據並不能總是滿足均勻分布這個條件,因此選擇0作為閾值不適合所有的數據

集。

譜哈希的目標函數如下:

 

 

 

 

 

 

其中是相關性矩陣,;保證了索引編碼是二進制結果,保證了所有編碼結果的每位為-11的概率是相等的,即為50%;保證了索引編碼結果每一位是互不相關的。

為了求解該公式譜哈希引入拉普拉斯矩陣L並且松弛的二元限制條件,於是公式求解轉換成求解的特征值問題,即拉普拉斯特征圖的降維。最后公式的解就是– W的前k個最小特征值(0以外)對應的特征向量。其中D是一個的對角矩陣,並且。為了解決訓練集外圖像索引編碼的問題,可將特征向量轉化為特征方程,通過有權重的拉普拉斯—貝特拉米算子的特征方程來實現。所求得的特征方程和特征解如下:

 

 

ITQ算法(2013

這個方法是同學極力向我推薦的一個方法,主要原因就是方法簡單,好理解,同時效果又很好。

該算法分為兩部分,第一部分是PCA,第二部分是旋轉迭代。

第一步是PCA

根據半監督學習,我們的目標是使得每一位比特的方差最大,並且各自無關。這樣我們就可以寫出目標函數:

 

 

下面就是簡單的將sgn去掉,也就是{-1,1}空間轉化為連續空間,就能得到

 

 

 是對 的松弛,我們可以理解為超平面互相垂直。同時,這跟PCA的目標函數相同,所以,可以使用PCA的方法。

第二步:迭代量化

假設是映射空間的一個向量,那么sgn(v)就是超方體(hypercube)的最近的頂點,那么損失函數越小,結果就越能保留數據的位置結構(locality structure)。回到第一步我們會發現,如果W是最優解,那么也是最優解,前提是R是一個的正交矩陣。因此,我們可以對映射數據進行正交變換,從而使得

這樣,這個方程就變為通過旋轉V來使得損失函數最小,解決這個問題的方法是一種類似於K均值的迭代量化方法。

固定R更新B展開一下上式,就會變為以下形式:

 

所以,我們可以得到

其中。這樣就能夠得到。

固定B更新R對於固定了B來求解R,這就是一個正交P問題(Orthogonal Procrustes problem),直接通過一下方式來求得:首先用SVD分解的矩陣,,使得然后得到。

作者使用了50次的迭代,就能收斂了。

這樣,這個簡單的方法就結束了。

 

半監督學習

Semi-Supervised Hashing for Scalable Image Retrieval(2010 CVPR

方法:

 

利用半監督哈希算法來進行圖像檢索是王駿等人2010年在CVPR上提出的,前面介紹的監督哈希算法和無監督哈希算法都有其明顯的優缺點。無監督哈希算法

的速度相對於監督哈希算法來說要快,且不需要圖庫中的圖片有任何標簽,完全利用圖片的內容特征來學習哈希函數,但這樣也會失去圖片標簽帶有的豐富的語義信息。監督哈希算法要求訓練圖片帶有標簽,利用了圖片標簽帶有的豐富語義信息來學習哈希函數,但監督哈希算法的速度較慢。王駿提出一種半監督哈希算法,充分融合了無監督哈希和監督哈希算法的優點。

巨量的圖片中有一小部分是帶有標簽的,剩余部分不帶有標簽,這是與現實情況相符的。半監督哈希要求訓練庫中有一小部分圖片帶有標簽,這些標簽信息提供監督信息。圖片的內容特征提供非監督信息。結合監督信息和非監督信息來學習哈希函數。這一思想與現實情況完全相符。

半監督哈希的算法過程如下:

定義如下目標函數:

 

 

上式中,表示圖片的哈希碼序列的第k,值為1-1。為所要學習的向量。因為X是以0對稱的,所以。表示圖片ij的標簽一樣或者說圖片i和圖片j相似表示圖片i和圖片j的標簽不同或者說圖片i和圖片j不相似。

我們可以使用矩陣形式來表示上述式子,首先定義一個矩陣和帶有成對標簽信息的,我們對S進行如下定義:

 

最大化上述目標函數的意義是使得相似的圖片或者標簽相同的圖片的哈希碼的對應位均為1-1,而標簽不相同的圖片的哈希碼的對應位一個為1,令一個為-1,也就是說能保證相似圖片的哈希碼理論上一樣,而不相似的圖片哈希碼相差大。目標函數寫成矩陣形式如下:

另外假設,將XL映射到K位比特的哈希代碼,這樣目標函數J(W)就可以被表示成這樣:

 

sgn()函數取代一下就能夠得到

 

函數的意思是對矩陣里面每個元素使用sign函數 

上式中只有監督信息成分,在實際的使用過程之中,尤其是當有標簽的數量相對於整體數據庫比較小的時候()有過擬合的情況(overfitting),所以就需要加上“規則(regularization)”。根據譜哈希,希望產生的哈希編碼能夠獨立,並且通過平衡切割數據,使得每一位多包含的信息量最大。能夠滿足平衡條件的 會將X分成相等的大小的兩部分。

松弛目標函數:

上面式子提出的問題本身是一個NP問題,為了解決這個問題,我們要使用松弛技術。首先我們使用“signed magnitude”技術,這個技術在譜哈希中也是用到了,就是講{-1,1}的哈希空間直接變換到實數R空間,這樣目標函數就變為了:

 

之后松弛平衡分割,作者推導出這個式子,意味着平衡分割跟使得k位的方差最大是等價的:

 

之后目標函數又可以改寫成為

 

令,這樣我們就能得到

 

而正交的關系可以通過來松弛。這樣一個最優化為題就被成功地轉化為一個求解矩陣M的特征的問題:

 

 

這里是矩陣M最大的特征值,而是相應的特征向量。這樣我們就成功地求取了W

本身能達到這樣已經不錯了,但是作者在這個方法上面還更近了一步,作者認為還可以松弛正交限制。因為正交限制的作用是使得各個比特位不相關,但是這會導致問題。在大多數實際的數據庫中,大方差只出現在很少的幾個方向上,正交限制強迫我們去選擇方差小的比特位,這樣會導致低位的比特的質量不高,不能夠包含足夠的信息。這樣,作者為了替代原來的hard constrains,而使用了懲罰項,這樣的話目標函數就可以改寫為:

 

 

這樣就可以同歸對W進行微分,來求解了:

 

然后拆開,就能夠得到:

 

假如是正定的,那么這個方程將很好解,正定的條件也很簡單,就是

我們假設,如果Q是正定的,那么Q可以改寫為(Cholesky decomposition)。而,我們就能夠得到。是矩陣M的最大的k個特征向量。

轉自http://www.cnblogs.com/tendence/p/3798952.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM