基于深度學習的特征提取和匹配(1)
作者丨黃浴@知乎
來源丨https://zhuanlan.zhihu.com/p/78053406
編輯丨計算機視覺life
計算機視覺需要圖像預處理,比如特征提取,包括特征點,邊緣和輪廓之類。以前做跟蹤和3-D重建,首先就得提取特征。特征點以前成功的就是SIFT/SURF/FAST之類,現在完全可以通過CNN模型形成的特征圖來定義。
特征提取
? Discriminative learning of deep convolutional feature point descriptors【1】
該方法通過卷積神經網絡(CNN)學習鑒別式補丁表示,特別是訓練具有成對(非)相應補丁的Siamese網絡。在訓練和測試期間它使用L2距離,提出了一種128-D描述符,其歐幾里德距離反映了補丁相似性,并且可作任何涉及SIFT的替代。
如圖所示,用一個Siamese網絡來學習這樣的描述符,其中非線性映射由CNN表示,它對對應或非對應補丁對優化。補丁通過模型提取描述符然后計算其L2范數,作為圖像描述符的標準相似性度量。而目標是學習一個描述符,在其空間中讓非對應的補丁相隔甚遠,而在對應的補丁緊密相連。

考慮每個圖像塊xi具有索引pi,該索引pi唯一地標識從給定視點大致投影到2D圖像塊的3D點,而目標函數定義如下:

其中p1,p2分別是投影到x1,x2的3D點索引。
這里下表給出的是三層網絡架構:64×64輸入在第3層中產生128維輸出。每個卷積層由四個子層組成:濾波器層,非線性層,池化層和歸一化層。

非線性層,使用雙曲線切線單元(Tanh)池化層使用L2池化,歸一化很重要,這里使用減法歸一化,在第一和二層之后用高斯核減去5×5鄰域的加權平均值。
? Learned Invariant Feature Transform【2】
LIFT是一種深度網絡架構,實現了完整的特征點檢測、朝向估計和特征描述,如圖所示。

下圖是以Siamese架構為基礎的整個特征檢測和描述流水線。為了訓練網絡,采用圖中的四分支Siamese結構。每個分支包含三個不同CNN,一個檢測器、一個朝向估計器和一個描述子。使用四聯(quadruplets)圖像補丁。每個包括:圖像塊P1和P2對應于同樣3D點的不同視圖,圖像塊P3包含不同3D點的投影,圖像塊P4不包含任何顯著特征點。在訓練期間,每個四聯第i個補丁Pi將通過第i個分支。

為了實現端到端可微分,每個分支的組件連接如下:
1) 給定輸入圖像塊P,檢測器提供得分圖S;
2) 在得分圖S上執行soft argmax 并返回單個潛在特征點位置x。
3) 用空間變換器層裁剪(Spatial Transformer layer Crop)提取一個以x為中心的較小的補丁p(如圖5-3), 作為朝向估計器的輸入。
4) 朝向估計器預測補丁方向θ。
5) 根據該方向第二個空間變換器層(圖中的Rot)旋轉p產生pθ。
6) pθ送到描述子網絡計算特征向量d。
最后的運行結構如圖所示。由于朝向估計器和描述子只在局部最大值進行評估,將檢測器解耦并在傳統NMS的尺度空間中運行,以獲得其他兩個組件的建議。

最后看LIFT和SIFT結果比較的例子,如圖所示。

特征匹配
MatchNet【3】
MatchNet由一個深度卷積網絡組成,該網絡從補丁中提取特征,并由三個全連接層組成網絡計算所提取特征之間的相似性。
如圖是MatchNet訓練時的網絡架構(圖C),聯合學習將補丁映射到特征表示的特征網絡(圖 A)和將特征對映射到相似性的測度網絡(圖 B)。輸出尺寸由(高×寬×深)給出。PS是卷積和池化層的補丁大小; S是步幅。層類型:C=卷積,MP=最大池化,FC=全連接。因為填充卷積層和池化層,故輸出高度和寬度是輸入除以步幅的值。對FC層,大小B,F選自:B∈{64,128,256,512},F∈{128,256,512,1024}。除FC3外,所有卷積層和FC層用ReLU激活,輸出用Softmax歸一化。

下圖是MatchNet預測的流水線圖,網絡拆解為并行的特征網絡和測度網絡。分兩個階段使用特征網絡和測度網絡:首先為所有補丁生成特征編碼,然后將這些特征配對并推送它們通過測度網絡獲得分數。

*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。







