【Deep Hash】CNNH


[AAAI 2014] Supervised Hashing via Image Representation Learning [paper] [code]
Rongkai Xia , Yan Pan, Hanjiang Lai, Cong Liu, Shuicheng Yan.

1. Overcome

之前的哈希方法,大都使用手工的圖像特征(如GIST等)作為圖像的特征表達, 但是這些手工特征是采用無監督的方式提取的,難以很好得保存原始圖片的語義信息。而深度深度神經網絡可以很好得表達圖像特征信息,因此作者便提出了基於深度的哈希檢索方法——CNNH。

2. Contribute

  • 第一個采用深度神經網絡解決哈希檢索問題;
  • 采用coordinate descent method學習數據集的近似哈希編碼,效率高,計算速度快;
  • 在學習哈希函數的同時可以得到圖像的特征表達。

3. Algorithm

論文中,作者提出了一種監督哈希方法——CNNH,可以同時學習到圖像的特征表達以及哈希函數。

CNNH具有兩個階段,Stage 1將相似矩陣分解為低維的哈希矩陣H,得到每個樣本對應的哈希編碼。但是這個過程並沒有學習到哈希函數,因此無法對新的圖像進行哈希編碼;Stage 2利用Stage 1得到的哈希編碼,以及每個樣本對應的類別標簽作為ground-truth來訓練網絡,從而得到哈希函數。假設Stage 1的哈希編碼有r個比特位,樣本的類別數有c個,那么網絡輸出層的節點就共有(r + c)個輸出節點。

CNNH的輸入為原始的圖片信息,假設網絡已經訓練完畢后,對於一張新的測試圖片,CNNH輸出層的前r個節點就是該圖片所對應的哈希編碼,后c個節點則表示了圖片的類別信息。

Stage 1

根據類別標簽獲得相似矩陣S,根據KSH中的結論,\(H_{i·}\)\(H_{j·}\)的漢明距離與內積$H_{i·}H_{j·}^T $是一一對應的,因此可以得到如下目標優化函數:

其中,為了解決優化問題,令\(H ∈ [−1,1]^{n×q}\)>。

之后,通過coordinate descent method方法每次單獨對\(H_{i,j}\)進行更新。為了確保每次更新的\(H_{ij}\)不超過[-1, 1]的范圍,對更新步長d加入以下操作。這個操作確保了在對\(H_{ij}\)更新時,值不會超過[-1, 1],如果d小於\(H_{ij}\)與邊界的距離,則取d,如果大於則取-1或1。

算法流程如下:

Stage 2

Stage 2利用Stage 1得到的哈希編碼,以及每個樣本對應的類別標簽作為ground-truth來訓練神經網絡。

CNNH網絡具有三個卷積層,分別有32, 64, 128 filters。輸出層有(r + c)個節點,其中r為哈希編碼的比特數,c為數據集的類別數。類別標簽的引入使得網絡具有了遷移學習的能力,能夠更好得學習到圖像的特征表達。在訓練完畢后,全連接層所對應的值就是每張圖片的特征向量。


免責聲明!

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



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