論文筆記 — Learning to Compare Image Patches via Convolutional Neural Networks


   論文:

  引入論文中的一句話來說明對比圖像patches的重要性,“Comparing patches across images is probably one of the most fundamental tasks in computer vision and image analysis”.

  同一個patch在不同圖像中,由於光照、視角、陰影、遮擋、相機設置等因素的影響,這個patch在不同圖像中往往呈現出不同的appearance。如何在存在各種外界影響的情況下,還能夠准備判斷它們是一個patch是一個挑戰。傳統手工設計的特征,如SIFT等,難以捕獲同一個patch因各種因素導致的appearance不同。此時,考慮到CNN具有極強大表達能力(可以理解為,能夠模擬任意復雜情形),因此將其引入到patches對比是很自然的一間事情。作者在本文中追求的目標是,直接學習得到一個通用的“similarity function for image patches”,從數據中直接學習一個圖像塊相似性函數,能隱含學習去除各種圖像塊表象的變化影響,得到有利於圖像塊匹配的特征。也就是說,提取到可以適應圖像光照、角度等的變化的特征;示意圖如下:

  目標確定之后,有以下兩個問題需要解決:數據、網絡結構(采用CNN一般要解決的兩個問題)。

(1) 數據

  有標准的benchmark dataset: Yosemite、Notre Dame, and Liberty。此外,我們也可以采用軟件生成一些patch對。當然也可以采用深度學習常用的數據增強方式進行數據擴充,本文用到的數據擴充方法:水平、垂直翻轉,旋轉90、180、270度。

(2)網絡結構

  我們的輸入是兩個patch,輸出是兩個patch的匹配相似度。這是不是很像分類問題呢?作者在本文中就是將這個問題當做分類問題來理解的,他選擇Loss函數是(Hinge-based loss term and squared l2-norm regularization)。第一項為正則項,第二項yi是label(匹配為1、不匹配為-1),oi為網絡的輸出。

  

  從左到右:2-channel (因為聯合處理兩個patches,更flexible,訓練更快。但是test時間很長,brute-force manner),siamese and pseudo-siamese(孿生網絡的可以共享Siamese,也可以不共享pseudo Siamese,不共享參數的訓練參數多,訓練時間長,但是測試效果和共享參數差不多),

  還可以分別提取兩個輸入patch的中心,降采樣后的“patches”作為輸入(這樣相當於增強了patch中心對最后結果的影響)。優點:多分辨率的信息有助於幫助image matching。在兩個分流中都考慮到了patch的中間部分,將更多重心放心central part,減小周邊像素的影響,有助於image matching。同時將維度減小一般,有助於提升訓練的速度。

  兩個patch的sizes不想同怎么辦呢?別擔心,還有辦法,就是通過在cnn的最上層引入SPP(spatial pyramid pooling),SPP網絡就是在卷積層和全連接層中插入SPP層,SPP層的池化區域大小取決於輸入的大小。這樣能夠使得即使輸入patches的sizes不同,輸出的sizes是相同的,解決了深度網絡全連接層輸入維度必須固定的問題,如下圖所示

  結論:

1) 兩個patches作為網絡輸入的兩個通道,這樣能夠給網絡更大的自由度去捕獲兩個patches相似的本質因素,因此在網絡的第一層就開始聯合使用both patches的信息是有必要的。它的缺點是,在測試時,如果要判斷每一個patch與另外所有patches是否相似(假如有N個patches),則每一對patches都需要經過同樣的計算(深度網絡計算時間較長,一共要做N^2次計算)。

2)采用孿生網絡的形式,雖然網絡的靈活性降低了,但是在測試的時候,我們可以先提取所有patch的卷積層輸出,然后使用后續全連接進行對比。這樣深度網絡卷積部分只進行了N次計算。

3)2ch-2stream網絡優於2ch-deep優於2ch,因此多分辨率信息及增加網絡深度有助於匹配效果; pseudo-siamese網絡優於siamese網絡。

4)拋開image patches的概念,這篇論文概括了深度網絡多輸入的兩種形式,即輸入作為一個整體(多通道形式)、輸入分拆(每一輸入對應一個單獨的網絡)。

5)在我們選定框架之后,下面的問題就是選取具體的網絡結構、數據增強方式、網絡初始化方式以及它們對應參數的選取。

 

參考文獻:

https://www.cnblogs.com/everyday-haoguo/p/Note-PCNN.html

https://blog.csdn.net/u011937018/article/details/79679199

 


免責聲明!

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



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