SuperGlue: Learning Feature Matching with Graph Neural Networks
發(fā)表時(shí)間:2020
論文地址:https://arxiv.org/abs/1911.11763
項(xiàng)目地址:http://github.com/magicleap/SuperGluePretrainedNetwork。
本文介紹了一種通過聯(lián)合尋找對(duì)應(yīng)和拒絕非匹配點(diǎn)來匹配兩組局部特征的神經(jīng)網(wǎng)絡(luò)。通過求解一個(gè)可微最優(yōu)傳輸問題來估計(jì)分配,該問題的代價(jià)由圖神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)。我們引入了一種基于注意力的靈活的上下文聚合機(jī)制,使SuperGlue能夠共同推理底層的三維場(chǎng)景和特征分配。與傳統(tǒng)的、手工設(shè)計(jì)的啟發(fā)式方法相比,我們的技術(shù)通過對(duì)Image pair進(jìn)行端到端訓(xùn)練,來學(xué)習(xí)三維世界的幾何變換和規(guī)律。在挑戰(zhàn)現(xiàn)實(shí)世界的室內(nèi)外環(huán)境中,SuperGlue于其他學(xué)習(xí)方法,并在姿態(tài)估計(jì)任務(wù)中取得了最先進(jìn)的結(jié)果。該方法在現(xiàn)代GPU上進(jìn)行實(shí)時(shí)匹配,并可以很容易地集成到現(xiàn)代SfM或SLAM系統(tǒng)中。
關(guān)鍵點(diǎn)
1、將兩個(gè)圖之間的特征點(diǎn)匹配問題松弛為兩個(gè)特征點(diǎn)圖的最優(yōu)傳輸問題,可以快速的處理遮擋點(diǎn)、不可重復(fù)點(diǎn)的問題;
2、以圖像對(duì)的形式進(jìn)行端到端的訓(xùn)練,預(yù)先在大型數(shù)據(jù)集學(xué)習(xí)姿態(tài)估計(jì)的先驗(yàn),使其能推理三維場(chǎng)景;
3、將自然先驗(yàn)應(yīng)用到模型結(jié)構(gòu)設(shè)計(jì)中(可以見章節(jié)三),設(shè)計(jì)了點(diǎn)最多是一對(duì)一、有些點(diǎn)缺少匹配點(diǎn);
4、將特征點(diǎn)之間的關(guān)系定義為內(nèi)點(diǎn)(一個(gè)圖像內(nèi))和外點(diǎn)(兩個(gè)圖像間),分別使用self-attention和cross-attenion提前特征;
5、使用神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)兩個(gè)圖之間的傳輸成本,然后使用辛克霍恩迭代來計(jì)算兩個(gè)圖之間的傳輸問題(特征點(diǎn)之間的分配問題);
其更為詳細(xì)的解讀可以查閱:https://cloud.tencent.com/developer/article/1855000
其中關(guān)于Cross-Attention的設(shè)計(jì)可以查閱:https://vaclavkosar.com/ml/cross-attention-in-transformer-architecture
1. Introduction
在幾何計(jì)算機(jī)視覺任務(wù)中,如同步定位和映射(SLAM)和結(jié)構(gòu)運(yùn)動(dòng)(SfM),圖像中點(diǎn)之間的對(duì)應(yīng)關(guān)系對(duì)于估計(jì)三維結(jié)構(gòu)和攝像機(jī)姿態(tài)是至關(guān)重要的。這種對(duì)應(yīng)通常是通過匹配局部特征來估計(jì)的,這一過程被稱為數(shù)據(jù)關(guān)聯(lián)。較大的視點(diǎn)、照明變化、遮擋、模糊和缺乏紋理是2d到2d數(shù)據(jù)關(guān)聯(lián)問題變難得主要因素。
本文提出了一種思考特征匹配問題的新方法。我們使用一種叫做SuperGlue的新神經(jīng)架構(gòu),從預(yù)先存在的局部特征中學(xué)習(xí)匹配過程,而不是學(xué)習(xí)更好的與任務(wù)無關(guān)的局部特征,然后是簡(jiǎn)單的匹配啟發(fā)式和技巧。在SLAM的背景下,通常會(huì)將問題分解為視覺特征提取前端和束調(diào)整或姿態(tài)估計(jì)后端,我們的網(wǎng)絡(luò)直接位于中間——SuperGlue是一個(gè)可學(xué)習(xí)的中間端(見圖1)。
在本工作中,學(xué)習(xí)特征匹配被看作是尋找兩組局部特征之間的部分分配。通過解決一個(gè)線性分配問題,我們重新討論了經(jīng)典的基于圖的匹配策略,當(dāng)該問題松弛到一個(gè)最優(yōu)傳輸問題時(shí),可以分步驟求解。利用圖神經(jīng)網(wǎng)絡(luò)(GNN)預(yù)測(cè)該優(yōu)化的代價(jià)函數(shù)。受Transformer[61]成功的啟發(fā),它使用self(圖像內(nèi))和cross(圖像間)注意力來利用關(guān)鍵點(diǎn)的空間關(guān)系[self-attention
]和它們的視覺外觀[cross-attention
]。這個(gè)公式加強(qiáng)了預(yù)測(cè)的分配結(jié)構(gòu),同時(shí)能低成本能夠?qū)W習(xí)復(fù)雜的先驗(yàn),優(yōu)雅地處理遮擋和不可重復(fù)的關(guān)鍵點(diǎn)。我們的方法是從圖像對(duì),端到端訓(xùn)練的。我們從一個(gè)大型數(shù)據(jù)集學(xué)習(xí)姿態(tài)估計(jì)的先驗(yàn),使SuperGlue能夠推理三維場(chǎng)景和分配。我們的工作可以應(yīng)用于各種需要高質(zhì)量的特征對(duì)應(yīng)的多視圖幾何問題(見圖2)。
與手工匹配器和其他深度學(xué)習(xí)分類器相比,我們展示了SuperGlue的優(yōu)越性。當(dāng)與深度前端SuperPoint[18]結(jié)合時(shí),SuperGlue在室內(nèi)和室外姿態(tài)估計(jì)任務(wù)上取得了最先進(jìn)的技術(shù),并為端到端深度SLAM鋪平了道路。
2. Related work
Local feature matching 通常通過 i)檢測(cè)興趣點(diǎn)=》計(jì)算視覺描述符=》用最近鄰(NN)搜索匹配這些興趣點(diǎn)=》過濾不正確的匹配=》估計(jì)一個(gè)幾何變換。2000年代開發(fā)的經(jīng)典pipeline通?;赟IFT=》特征粗匹配=》基于RANSAC計(jì)算變化矩陣。
最近關(guān)于匹配的深度學(xué)習(xí)的工作通常集中在使用卷積神經(jīng)網(wǎng)絡(luò)(CNNs)從數(shù)據(jù)中學(xué)習(xí)更好的稀疏檢測(cè)器和局部描述符。為了提高它們的鑒別能力,一些工作明確地使用區(qū)域特征[32]或log-polar[20]來研究更廣泛的應(yīng)用場(chǎng)景。其他方法通過將匹配分類為inliers和outliers[33,44,7,71]來學(xué)習(xí)過濾匹配。這些操作的匹配集,仍然由神經(jīng)網(wǎng)絡(luò)搜索估計(jì),因此忽略分配結(jié)構(gòu),丟棄視覺信息。迄今為止,研究匹配的工作都集中在密集匹配的[46]或3D點(diǎn)云[65]上,并且仍然表現(xiàn)出同樣的限制。相比之下,我們的可學(xué)習(xí)的單個(gè)端到端架構(gòu)中可以同時(shí)執(zhí)行上下文聚合、匹配和過濾。
現(xiàn)有方法對(duì)特征點(diǎn)間的空間結(jié)構(gòu)有所忽略
Graph matching 問題通常被表述為二次賦值問題,其是一個(gè)困難的np問題,求解代價(jià)是昂貴和復(fù)雜的。對(duì)于局部特性,21世紀(jì)初[5,27,57]的計(jì)算機(jī)視覺文獻(xiàn)使用了手工制作的成本和許多啟發(fā)式方法,使其復(fù)雜而又不夠魯棒。Caetano等人[9]學(xué)習(xí)更簡(jiǎn)單的線性分配的優(yōu)化成本,但只使用淺層模型,而我們的SuperGlue使用深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)靈活的成本。與圖匹配相關(guān)的是最優(yōu)傳輸[63]的問題——它是一個(gè)廣義的線性分配,具有一個(gè)有效而簡(jiǎn)單的近似解,即Sinkhorn算法(在目標(biāo)檢測(cè)錨框分配的最優(yōu)傳輸OTA中也用到了該算法)
Sinkhorn算法可以應(yīng)用到特征點(diǎn)圖的匹配問題上(將特征點(diǎn)圖的匹配問題視為最優(yōu)傳輸問題)
Deep learning for sets 例如,點(diǎn)云旨在通過聚合跨元素的信息來設(shè)計(jì)排列等量或不變函數(shù)。有些工作通過全局池化[70,40,15]或?qū)嵗?guī)范化[60,33,32]來平等地對(duì)待所有元素,而另一些工作則關(guān)注坐標(biāo)或特征空間[41,66]中的局部鄰域。注意,[61,64,62,26]可以通過關(guān)注特定的元素和屬性來執(zhí)行全局和數(shù)據(jù)端端的局部聚合,因此更加靈活。通過觀察self-attention可以被看作是一個(gè)消息傳遞圖神經(jīng)網(wǎng)絡(luò)[23,4]的一個(gè)實(shí)例,我們將注意力應(yīng)用于具有多種邊的圖,類似于[28,72],并使SuperGlue能夠?qū)W習(xí)關(guān)于兩組局部特征的復(fù)雜推理。
將self-attention應(yīng)用到圖數(shù)據(jù)上
3. The SuperGlue Architecture
Motivation: 在圖像匹配問題中,可以利用一些世界的規(guī)律:三維世界大部分是平滑的,有時(shí)是平面的,如果場(chǎng)景是靜態(tài)的,那么給定圖像對(duì)的所有對(duì)應(yīng)都來自一個(gè)單一的外極變換,而且一些姿態(tài)比其他姿態(tài)更有可能。此外,二維關(guān)鍵點(diǎn)通常是突出的三維點(diǎn)的投影,如角或斑點(diǎn),因此圖像之間的對(duì)應(yīng)關(guān)系必須遵循一定的物理約束:
- i)一個(gè)關(guān)鍵點(diǎn)在另一幅圖像中最多可以有一個(gè)對(duì)應(yīng)關(guān)系;
- ii)一些關(guān)鍵點(diǎn)由于探測(cè)器的遮擋和故障而不匹配。
一個(gè)有效的特征匹配模型應(yīng)該是尋找相同三維點(diǎn)的重投影之間的所有對(duì)應(yīng),并識(shí)別沒有匹配的關(guān)鍵點(diǎn)。我們用SuperGlue(見圖3)來解決一個(gè)優(yōu)化問題,其成本由深度神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)。這減輕了對(duì)領(lǐng)域?qū)I(yè)知識(shí)和啟發(fā)式的需求——我們直接從數(shù)據(jù)中學(xué)習(xí)相關(guān)的先驗(yàn)。
Formulation 考慮兩個(gè)圖像A和圖像B,每一個(gè)圖像都有一組關(guān)鍵點(diǎn)位置P和相關(guān)的視覺描述符D,我們將它們聯(lián)合使用(P,D)稱為局部特征。關(guān)鍵點(diǎn)P由pi :=(x,y,c)組成(x,y為坐標(biāo),c為置信度),視覺描述符D可以是由CNN提?。ㄈ鐂uperpoint)或者傳統(tǒng)的描述符(如SIFT)。圖像A和B具有M和N個(gè)局部特征,分別由A := {1,…,M}和B := {1,…,N}進(jìn)行索引。
Partial Assignment 約束i)和約束ii)意味著對(duì)應(yīng)關(guān)系來自于兩組關(guān)鍵點(diǎn)之間的部分賦值。為了集成到下游任務(wù)中和更好的可解釋性,每個(gè)可能的對(duì)應(yīng)關(guān)系都應(yīng)該有一個(gè)置信值。因此,我們將部分軟分配矩陣
P
∈
[
0
,
1
]
M
×
N
P∈[0,1]^{M×N}
P∈[0,1]M×N定義為:
實(shí)驗(yàn)?zāi)繕?biāo)是設(shè)計(jì)一個(gè)神經(jīng)網(wǎng)絡(luò),從兩組局部特征中預(yù)測(cè)分配P。
3.1. Attentional Graph Neural Network
除了關(guān)鍵點(diǎn)的位置和視覺外觀外,整合其他上下文線索還可以直觀地提高其獨(dú)特性。例如,我們可以考慮它與其他共可見關(guān)鍵點(diǎn)的空間和視覺關(guān)系,如aslient顯著性[32]、self-similar自相似[54]、co-occurring 共生[73]或adjacent 相鄰[58]。另一方面,了解第二幅圖像中的關(guān)鍵點(diǎn)可以通過比較候選匹配或從全局和明確的線索估計(jì)相對(duì)光度或幾何變換來幫助解決歧義。
當(dāng)被要求匹配一個(gè)給定的模糊關(guān)鍵點(diǎn)時(shí),人類會(huì)來回看這兩幅圖像:他們篩選初步匹配的關(guān)鍵點(diǎn),檢查每個(gè)關(guān)鍵點(diǎn),并尋找上下文線索,以幫助消除真實(shí)匹配與其他自相似性[11]中的歧義。這暗示了一個(gè)可以將其注意力集中在特定位置上的迭代過程。
因此,我們將SuperGlue的第一個(gè)主要塊設(shè)計(jì)為一個(gè)注意圖神經(jīng)網(wǎng)絡(luò)(見圖3)。給定初始局部特征,它通過讓特征相互通信來計(jì)算匹配的描述符。正如我們將展示的,圖像內(nèi)和跨圖像的遠(yuǎn)程特征聚合對(duì)于魯棒匹配至關(guān)重要。
Keypoint Encoder 每個(gè)關(guān)鍵點(diǎn)i的初始表示
x
i
x_i
xi?結(jié)合了它的視覺特征描述符和位置,我們將關(guān)鍵點(diǎn)位置由MLP嵌入到一個(gè)高維向量中,
x
i
x_i
xi?的具體計(jì)算形式如下:
該編碼器使圖網(wǎng)絡(luò)能夠共同推理外觀和位置,特別是當(dāng)與注意力結(jié)合時(shí),是語(yǔ)言處理中流行的“位置編碼器”的一個(gè)實(shí)例
Multiplex Graph Neural Network 我們構(gòu)造由兩幅圖像的相同關(guān)鍵點(diǎn)組成的一個(gè)單一完整的圖,該圖有兩種類型的無向邊-它是一個(gè)多路圖[34,36]。
圖像內(nèi)邊,或自身邊,即圖像本身,將關(guān)鍵點(diǎn)i連接到同一圖像中的所有其他關(guān)鍵點(diǎn)。
圖像間邊,或交叉邊,Ecross,將關(guān)鍵點(diǎn)i連接到其他圖像中的所有關(guān)鍵點(diǎn)。
我們使用消息傳遞公式[23,4]來沿著這兩種類型的邊傳播信息。由此得到的多路圖神經(jīng)網(wǎng)絡(luò)從每個(gè)節(jié)點(diǎn)的高維狀態(tài)開始,并通過同時(shí)聚合所有節(jié)點(diǎn)的所有給定邊上的消息,在每一層計(jì)算一個(gè)更新的表示。
其中,[·||·]表示連接。對(duì)于圖像b中的所有關(guān)鍵點(diǎn),可以同時(shí)進(jìn)行類似的更新。具有不同參數(shù)的固定數(shù)量的層L被鏈接,或者沿著自邊和交叉邊聚合。
Attentional Aggregation 一個(gè)注意機(jī)制執(zhí)行聚合并計(jì)算消息
m
E
→
i
m_{E→i}
mE→i?。內(nèi)部edges基于自注意[61],交叉edges基于cross-attention。類似于數(shù)據(jù)庫(kù)檢索,用i來表示元素,qi,vj,kj。該消息被計(jì)算為以下值的加權(quán)平均值:
key, query和 value被計(jì)算為圖神經(jīng)網(wǎng)絡(luò)的深度特征的線性投影??紤]到查詢關(guān)鍵點(diǎn)i在圖像Q中,而所有的源關(guān)鍵點(diǎn)都在圖像S中,
(
Q
,
S
)
∈
{
A
,
B
}
2
(Q,S)∈\{A,B\}^2
(Q,S)∈{A,B}2中,我們可以定義以下公式:
每一層l都有自己的投影參數(shù),學(xué)習(xí)并共享兩個(gè)圖像的所有關(guān)鍵點(diǎn)。在實(shí)踐中,我們通過多頭注意力來提高表達(dá)性。
我們的公式提供了最大的靈活性,因?yàn)榫W(wǎng)絡(luò)可以學(xué)習(xí)基于特定屬性專注于關(guān)鍵點(diǎn)的子集(見圖4)。
SuperGlue可以根據(jù)外觀和關(guān)鍵點(diǎn)位置來檢索或參加,因?yàn)樗鼈儽痪幋a在表示xi中。這包括注意附近的關(guān)鍵點(diǎn)和檢索相似或顯著關(guān)鍵點(diǎn)的相對(duì)位置。這就可以表示幾何變換和賦值。最終匹配的描述符是線性投影:
3.2. Optimal matching layer
SuperGlue的第二個(gè)主要部分(見圖3)是最優(yōu)匹配層,它產(chǎn)生一個(gè)部分分配矩陣。在標(biāo)準(zhǔn)圖匹配公式中,賦值P通過在所有可能的匹配下計(jì)算分?jǐn)?shù)矩陣
S
∈
R
M
×
N
S∈R^{M×N}
S∈RM×N,并在公式1的約束下最大化總分。這等價(jià)于解決一個(gè)線性分配問題。
Score Prediction: 為所有的M×N潛在匹配建立一個(gè)單獨(dú)的表示將是禁止的。相反,我們用匹配描述符的相似度來表示成對(duì)的分?jǐn)?shù):
其中,<·,·>是內(nèi)積。與學(xué)習(xí)到的視覺描述符不同,匹配的描述符沒有被歸一化,它們的大小可以在每個(gè)特征和訓(xùn)練過程中發(fā)生變化,以反映預(yù)測(cè)的置信度。
Occlusion and Visibility: 為了讓網(wǎng)絡(luò)抑制一些關(guān)鍵點(diǎn),我們用一個(gè)垃圾箱來增加每個(gè)集合,以便顯式地分配不匹配的關(guān)鍵點(diǎn)給它。這種技術(shù)在圖匹配中很常見,垃圾箱也被SuperPoint[18]使用來解釋可能沒有檢測(cè)到的圖像單元。我們通過添加一個(gè)新的行和列,點(diǎn)到箱和箱到箱的分?jǐn)?shù),填充一個(gè)可學(xué)習(xí)的參數(shù)來增加分?jǐn)?shù)S到ˉS:
A中的關(guān)鍵點(diǎn)將被分配給B中的一個(gè)關(guān)鍵點(diǎn)或垃圾箱,而每個(gè)垃圾箱的匹配項(xiàng)和另一組中的關(guān)鍵點(diǎn)一樣多:N、M分別為A、B中的垃圾箱。我們將和
表示為a和b中每個(gè)關(guān)鍵點(diǎn)和垃圾箱的期望匹配的數(shù)量。增強(qiáng)賦值ˉP現(xiàn)在有以下約束條件:
Sinkhorn Algorithm: 上述優(yōu)化問題的解對(duì)應(yīng)于離散分布a和b之間的最優(yōu)傳輸[39],分?jǐn)?shù)為ˉS。它的熵正則化公式自然地產(chǎn)生了期望的軟分配,并可以在GPU上使用Sinkhorn Algorithm(辛克霍恩算法)有效地求解。它是Hungarian(匈牙利)算法[35]的一個(gè)可微版本,經(jīng)典地用于二部匹配,它包括沿著行和列迭代地歸一化exp(ˉS),類似于行和列的Softmax。經(jīng)過T次迭代后,我們放下垃圾箱并恢復(fù)P=ˉP1:M,1:N。
3.3. Loss
通過設(shè)計(jì),圖神經(jīng)網(wǎng)絡(luò)和最優(yōu)匹配層都是可微的,這使得從匹配到視覺描述符的反向傳播成為可能。SuperGlue是以監(jiān)督的方式從地面真實(shí)匹配
M
=
{
(
i
,
j
)
}
?
A
×
B
M = \{(i,j)\}?A×B
M={(i,j)}?A×B。這些是從地面真實(shí)相對(duì)變換估計(jì)的-使用姿態(tài)和深度映射或同態(tài)。這也允許我們將一些關(guān)鍵點(diǎn)I?A和J?B標(biāo)記為不匹配的,如果它們?cè)谄涓浇鼪]有任何重投影。給定這些標(biāo)簽,我們最小化分配ˉP的負(fù)對(duì)數(shù)可能性:
這種監(jiān)督的目的是同時(shí)最大化匹配的精度和召回率。
3.4. Comparisons to related work
SuperGlue膠體系結(jié)構(gòu)與圖像中關(guān)鍵點(diǎn)的排列是對(duì)稱變化的。與其他手工制作或?qū)W習(xí)的方法不同,它也與圖像的排列是對(duì)稱變化的,這更好地反映了問題的對(duì)稱性,并提供了一個(gè)有益的歸納偏差。此外,最優(yōu)傳輸公式加強(qiáng)了匹配的互惠性,如相互檢查,但以一種柔軟的方式,類似于[46],從而將其嵌入到訓(xùn)練過程中。
SuperGlue vs. Instance Normalization SuperGlue所使用的注意力機(jī)制是一種比實(shí)例規(guī)范化更靈活和更強(qiáng)大的上下文聚合機(jī)制,它平等地對(duì)待所有關(guān)鍵點(diǎn),就像之前的特征匹配工作所使用的那樣。
SuperGlue vs. ContextDesc SuperGlue可以聯(lián)合推理外觀和位置,而上下文描述可以分別處理它們。此外,上下文描述是一個(gè)前端(特征點(diǎn)和特征位置提取器),另外需要一個(gè)更大的區(qū)域提取器,并有一個(gè)丟失的關(guān)鍵點(diǎn)得分。SuperGlue只需要本地功能,學(xué)習(xí)或手工制作,因此可以是一個(gè)簡(jiǎn)單的臨時(shí)替代現(xiàn)有的匹配器。
SuperGlue vs. Transformer SuperGlue借鑒了Transformer的self-attention,但將其嵌入到圖神經(jīng)網(wǎng)絡(luò)中,并另外引入了對(duì)稱的交叉注意。這簡(jiǎn)化了體系結(jié)構(gòu),并導(dǎo)致了更好地跨層進(jìn)行特性重用。
4. Implementation details
SuperGlue可以與任何局部特征檢測(cè)器和描述符結(jié)合,但與superpoint[18]特別有效,它產(chǎn)生可重復(fù)和稀疏的關(guān)鍵點(diǎn)——實(shí)現(xiàn)非常有效的匹配。視覺描述符是從半密集的特征圖中進(jìn)行雙早期采樣的。為了與其他匹配器進(jìn)行公平的比較,除非明確提到,否則我們?cè)谟?xùn)練SuperGlue時(shí)不訓(xùn)練視覺描述符網(wǎng)絡(luò)。在測(cè)試時(shí),可以使用置信閾值(我們選擇0.2)來從軟分配中保留一些匹配,或者在后續(xù)步驟中使用所有它們和它們的置信度,比如加權(quán)姿態(tài)估計(jì)。
Architecture details: 所有中間表示(key, query value, descriptors)與SuperPoint描述符具有相同的維度D = 256。我們使用L = 9層交替的多頭自注意和交叉注意,每個(gè)層有4個(gè)頭,并執(zhí)行T = 100的Sinkhorn迭代。該模型在PyTorch [38]中實(shí)現(xiàn),包含12M參數(shù),并在NVIDIA GTX 1080 GPU上實(shí)時(shí)運(yùn)行:對(duì)于室內(nèi)圖像對(duì),一次forward平均需要69 ms(15FPS)(見附錄C)。
Training details: 為了允許數(shù)據(jù)增強(qiáng),SuperPoint檢測(cè)和描述步驟在訓(xùn)練期間作為批量動(dòng)態(tài)執(zhí)行。為了有效的批處理和提高魯棒性,進(jìn)一步增加了一些隨機(jī)關(guān)鍵點(diǎn)。更多細(xì)節(jié)見附錄E。
5. Experiments
5.1. Homography estimation
我們使用具有魯棒(RANSAC)估計(jì)和非魯棒(DLT)估計(jì)的真實(shí)圖像和合成同域性進(jìn)行了一個(gè)大規(guī)模的同調(diào)性估計(jì)實(shí)驗(yàn)。
Dataset 通過對(duì)隨機(jī)同形性進(jìn)行采樣,并將隨機(jī)光照失真應(yīng)用于真實(shí)圖像,并遵循類似于[16,18,45,44]的方法來生成圖像對(duì)。底層圖像來自于Oxford and Paris數(shù)據(jù)集[42]中的1M干擾物圖像集,可分為訓(xùn)練、驗(yàn)證和測(cè)試集。
Baselines: 我們將SuperGlue與應(yīng)用于SuperPoint局部特征的幾種匹配器進(jìn)行了比較——最近鄰(NN)匹配器和各種異常排斥器:Nearest Neighbor (NN) matcher、PointCN [33]和Order-Aware Network(OANet)[71]。所有學(xué)習(xí)的方法,包括SuperGlue,都是在對(duì)應(yīng)GT上訓(xùn)練的,這是通過將關(guān)鍵點(diǎn)從一幅圖像投影到另一幅圖像來找到的。我們動(dòng)態(tài)地生成同形性和光度失真,使一個(gè)圖像對(duì)在訓(xùn)練過程中從未見過兩次。
Metrics 匹配精度§和召回率?是根據(jù)地面真實(shí)值的對(duì)應(yīng)關(guān)系計(jì)算出來的。同源估計(jì)采用RANSAC和直接線性變換[24](DLT),它有一個(gè)直接平方乘解。我們計(jì)算圖像的四個(gè)角的平均重投影誤差,并報(bào)告累積誤差曲線(AUC)下的面積為10像素。
Results SuperGlue足以掌握同質(zhì)變化,達(dá)到98%的查全率和高精度(見表1)。估計(jì)的對(duì)應(yīng)關(guān)系是如此之好,因此不需要一個(gè)魯棒的估計(jì)器。SuperGlue在DLT上比在RANSAC上工作得更好。像PointCN和OANet這樣的拒絕離群值方法不能預(yù)測(cè)比NN匹配器本身更正確的匹配,因?yàn)樗^度依賴于初始描述符(見圖6和附錄A)
5.2. Indoor pose estimation
室內(nèi)圖像匹配由于缺乏紋理、豐富的自相似性、復(fù)雜的三維幾何場(chǎng)景和較大的視角變化,因此非常具有挑戰(zhàn)性。正如我們?cè)谙旅嫠故镜?,超?jí)膠可以有效地學(xué)習(xí)之前克服這些挑戰(zhàn)。
Dataset 我們使用ScanNet [13],這是一個(gè)大型室內(nèi)數(shù)據(jù)集,由具有地面真實(shí)姿態(tài)和深度圖像的單眼序列組成,以及與不同場(chǎng)景對(duì)應(yīng)的、定義良好的訓(xùn)練、驗(yàn)證和測(cè)試分割。以往的工作基于時(shí)間差[37,17]或SfM可可見性[33,71,7]選擇訓(xùn)練和評(píng)估對(duì),通常使用SIFT計(jì)算。我們認(rèn)為,這限制了對(duì)的難度,而不是選擇這些基于重疊分?jǐn)?shù)計(jì)算在給定序列中所有可能的圖像對(duì)只使用地面真實(shí)姿態(tài)和深度。這導(dǎo)致了明顯更寬的基線對(duì),這對(duì)應(yīng)于當(dāng)前的真實(shí)世界室內(nèi)圖像匹配的邊界。丟棄重疊太小或太大的對(duì),我們選擇230M訓(xùn)練對(duì)和1500個(gè)測(cè)試對(duì)。
Metrics 與之前的工作[33,71,7]一樣,我們報(bào)告了在閾值(5?,10?,20?)處的姿態(tài)誤差的AUC,其中姿態(tài)誤差是旋轉(zhuǎn)和平移中角度誤差的最大值。利用RANSAC進(jìn)行基本矩陣估計(jì),得到了相對(duì)姿態(tài)。我們還報(bào)告了匹配精度和匹配分?jǐn)?shù)[18,69],其中一個(gè)匹配被認(rèn)為是基于它的外極距離是正確的。
Baselines 我們使用根歸一化的SIFT [31,2]和SuperPoint[18]特征來評(píng)估SuperGlue和各種基線匹配器。SuperGlue是訓(xùn)練對(duì)應(yīng)和不匹配的關(guān)鍵點(diǎn)從GT姿態(tài)和深度。所有的基線都是基于最近鄰(NN)匹配器和一個(gè)潛在的離群值拒絕方法。在“Handcrafted”類別中,我們考慮相互檢查、比率檢驗(yàn)[31]、描述符距離閾值,以及更復(fù)雜的GMS [6]?!皩W(xué)習(xí)”類別的方法是PointCN [33]及其后續(xù)的OANet [71]和NG-RANSAC [7]。我們?cè)赑ointCN和OANet對(duì)punnet和SIFT進(jìn)行再訓(xùn)練,使用分類損失。對(duì)于NG-RANSAC,我們使用原始的訓(xùn)練模型。我們不包括任何圖匹配方法,因?yàn)樗鼈儗?duì)于我們所考慮的關(guān)鍵點(diǎn)(>500)的數(shù)量太慢了一個(gè)數(shù)量級(jí)。其他局部特性作為參考進(jìn)行評(píng)估:使用GMS的ORB [47]、D2-Net [19]和使用公開使用的訓(xùn)練模型的上下文Desc[32]
Results 與手工制作和學(xué)習(xí)的匹配器相比,SuperGlue具有顯著更高的姿態(tài)精度(見表2和圖5),并且在SIFT和SuperPoint上都能很好地工作。它的精度明顯高于其他學(xué)習(xí)的匹配器,顯示了其更高的表示能力。它還會(huì)產(chǎn)生更多的正確匹配——當(dāng)應(yīng)用于SIFT時(shí),比比率測(cè)試多10倍,因?yàn)樗僮鞯氖峭暾目赡芷ヅ浼皇怯邢薜淖罱徏?。SuperGlue與SuperPoint取得了最先進(jìn)的結(jié)果,在室內(nèi)姿態(tài)估計(jì)。它們可以很好地相互補(bǔ)充,因?yàn)榭芍貜?fù)的關(guān)鍵點(diǎn)使得即使在非常具有挑戰(zhàn)性的情況下也可以估計(jì)更多的正確匹配(參見圖2、圖6和附錄A)。
5.3. Outdoor pose estimation
由于戶外圖像序列呈現(xiàn)出自己的一系列挑戰(zhàn)(例如,照明變化和遮擋),我們訓(xùn)練和評(píng)估supergule在戶外環(huán)境中的姿態(tài)估計(jì)。我們使用與室內(nèi)姿態(tài)估計(jì)任務(wù)相同的評(píng)價(jià)度量和基線方法。
Dataset 我們對(duì)光旅游數(shù)據(jù)集進(jìn)行了評(píng)估,這是CVPR‘19圖像匹配挑戰(zhàn)[1]的一部分。它是YFCC100M數(shù)據(jù)集[56]的一個(gè)子集,具有從一個(gè)直升機(jī)場(chǎng)外的SfM工具[37,52,53]獲得的地面真實(shí)姿態(tài)和稀疏三維模型。所有學(xué)習(xí)到的方法都是在較大的元深度數(shù)據(jù)集[29]上進(jìn)行訓(xùn)練的,該數(shù)據(jù)集也有用多視圖立體聲計(jì)算的深度圖。在攝影旅游測(cè)試集中的場(chǎng)景將從訓(xùn)練集中刪除。與室內(nèi)情況類似,我們選擇具有挑戰(zhàn)性的圖像對(duì)進(jìn)行訓(xùn)練和評(píng)估,使用從SfM可可見性計(jì)算出的重疊分?jǐn)?shù),如在[19,37]中。
Results 如表3所示,當(dāng)同時(shí)應(yīng)用于SuperPoint和SIFT時(shí),膠水在所有相對(duì)姿態(tài)閾值下都優(yōu)于所有基線。最值得注意的是,該結(jié)果匹配的精度非常高(84.9%),這加強(qiáng)了超級(jí)膠“粘”將局部特征結(jié)合在一起的類比。
5.4. Understanding SuperGlue
Ablation study 為了評(píng)估我們的設(shè)計(jì)決策,我們重復(fù)了具有SuperPoint特征的室內(nèi)實(shí)驗(yàn),但這次關(guān)注的是不同的超級(jí)膠變體。如表4所示的消融研究表明,所有的SuperGlue塊都是有用的,并帶來了實(shí)質(zhì)性的性能提高。當(dāng)我們?cè)谟?xùn)練SuperGlue時(shí)通過SuperPoint描述符網(wǎng)絡(luò)反向傳播時(shí),我們觀察到20?的AUC從51.84提高到53.38。這證實(shí)了SuperGlue除了匹配之外還適用于端到端學(xué)習(xí)。
Visualizing Attention: self-attention模式圖7顯示了self-attention和交叉注意模式的廣泛多樣性,反映了學(xué)習(xí)行為的復(fù)雜性。附錄D對(duì)其發(fā)展趨勢(shì)和內(nèi)部工作進(jìn)行了詳細(xì)的分析。
6. Conclusion
本文證明了基于注意的圖神經(jīng)網(wǎng)絡(luò)在局部特征匹配中的強(qiáng)大能力。SuperGlue的架構(gòu)使用了兩種注意力: (i)self-attention,它增強(qiáng)了局部描述符的接受域;(ii)交叉注意,它支持交叉圖像通信,并受到人類在匹配圖像時(shí)來回觀察的方式的啟發(fā)。我們的方法通過解決一個(gè)最優(yōu)傳輸問題來優(yōu)雅地處理部分分配和遮擋點(diǎn)。我們的實(shí)驗(yàn)表明,與現(xiàn)有的方法相比,SuperGlue取得了顯著的改進(jìn),能夠?qū)O寬基線的室內(nèi)和室外圖像對(duì)進(jìn)行高度精確的相對(duì)姿態(tài)估計(jì)。此外,superglue能保證實(shí)時(shí)運(yùn)行,并與經(jīng)典特征提取算法相互結(jié)合。文章來源:http://www.zghlxwxcb.cn/news/detail-477916.html
總之,我們?cè)谥虚g件用一個(gè)強(qiáng)大的神經(jīng)模型取代了手工制作的啟發(fā)式方法,該模型在一個(gè)統(tǒng)一的體系結(jié)構(gòu)中同時(shí)執(zhí)行上下文聚合、匹配和過濾。我們相信,當(dāng)與深前端結(jié)合時(shí),SuperGlue是邁向端到端深SLAM的一個(gè)重要里程碑。文章來源地址http://www.zghlxwxcb.cn/news/detail-477916.html
到了這里,關(guān)于論文解讀:SuperGlue: Learning Feature Matching with Graph Neural Networks的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!