論文:https://github.com/ei1994/my_reference_library/tree/master/papers
本文的貢獻點如下:
1. 提出了一個新的利用深度網絡架構基於patch的匹配來明顯的改善了效果;
2. 利用更少的描述符,得到了比state-of-the-art更好的結果;
3. 實驗研究了該系統的各個成分的有效作用,表明,MatchNet改善了手工設計 和 學習到的描述符加上對比函數;
4. 最后,作者 release 了訓練的 MatchNet模型。
網絡框架:
主要有如下幾個成分:
A:Feature Network.
主要用於提取輸入patch的特征,主要根據AlexNet改變而來,有些許變化。主要的卷積和pool層的兩段分別有 preprocess layer 和 bottleneck layer,各自起到歸一化數據和降維,防止過擬合的作用。激活函數:ReLU.
B:Metric Network.
主要用於feature Comparison,3層fc 加上 softmax,輸出得到圖像塊相似度概率。
C:Two-tower structure with tied parameters
在訓練階段,特征網絡用作“雙塔”,共享參數。雙塔的輸出串聯在一起作為度量網絡的輸入。The entire network is trained on labeled patch-pairs generated from the sampler to minimize the cross-entropy loss. 在預測的時候,這兩個子網絡A 和 B 方便的用在 two-stage pipeline. 如下圖所示:
D:The bottleneck layer
用來減少特征表示向量的維度,盡量避免過擬合。在特征提取網絡和全連接層之間,控制輸入到全連接層的特征向量的維度。
E:The preprocessing layer
輸入圖像塊預處理,歸一化到(-1,1)之間。
MatchNet 的具體參數如下表所示,注意Bottleneck 和 FC 中參數的選擇。
訓練和預測:
交叉熵損失,SGD優化,由於數據正負樣本的不平衡性,會導致實驗精度的降低,本文采用采樣的訓練方法,在一個batchsize中,選擇一半正樣本,一半負樣本進行訓練。
特征網絡和度量網絡是聯合訓練的,使用交叉熵損失函數。在測試階段,可以分開進行,先將圖像塊經過特征提取網絡得到特征編碼並保存,然后組合這些特征,輸入到度量網絡中得到N1*N2的得分矩陣。
總結:
1、MatchNet網絡就是 siamese的雙分支權重共享網絡,與論文Learning to Compare Image Patches via Convolutional Neural Networks有共通之處。CNN提取圖像塊特征,FC學習度量特征的相似度。
2、本文指出,在測試階段,可以將特征網絡和度量網絡分開進行,避免匹配圖像時特征提取的重復計算。首先得到圖像塊的特征編碼保存,之后輸入度量網絡中,計算得到N1*N2的得分矩陣。
參考文獻:
https://www.cnblogs.com/wangxiaocvpr/p/5515181.html