趙艷明,林美秀,曾姝瑤
(中國(guó)傳媒大學(xué)信息與通信工程學(xué)院,北京 100024)
圖像匹配在40 年前由David Marr[1]教授首次提出,旨在探索不同視覺(jué)對(duì)象之間的差異性和共同性,并且作為計(jì)算機(jī)視覺(jué)的底層任務(wù)連接著兩個(gè)具有相同或相似屬性的圖像目標(biāo),是計(jì)算機(jī)視覺(jué)中最為重要的研究領(lǐng)域之一。
相機(jī)位姿估計(jì)任務(wù)作為圖像匹配的一個(gè)基礎(chǔ)下游任務(wù),需要匹配網(wǎng)絡(luò)提供對(duì)應(yīng)的點(diǎn)對(duì)匹配信息從而還原出相機(jī)的旋轉(zhuǎn)平移運(yùn)動(dòng),如圖 1所示,它作為低層視覺(jué)通往高層視覺(jué)的紐帶,不但承接著三維重建、同步定位與地圖構(gòu)建(Simultaneous Localization and Mapping,SLAM)等大型任務(wù),同時(shí)也是實(shí)現(xiàn)信息識(shí)別與整合[2-4]以及從低維圖像恢復(fù)高維結(jié)構(gòu)[5-6]的重要途徑。
目前大多數(shù)圖像匹配算法通常包括三個(gè)獨(dú)立的步驟:特征檢測(cè)、特征描述和特征匹配。近年來(lái)隨著深度學(xué)習(xí)的迅速發(fā)展,這三個(gè)步驟逐漸被整合到一個(gè)端到端網(wǎng)絡(luò)當(dāng)中,利用深度神經(jīng)網(wǎng)絡(luò)根據(jù)不同圖像集特點(diǎn)在特征檢測(cè)階段學(xué)習(xí)到特征點(diǎn)之間的關(guān)系并進(jìn)行匹配。然而由于很多室內(nèi)數(shù)據(jù)集圖像中的弱紋理區(qū)域或者重復(fù)區(qū)域往往會(huì)占據(jù)圖像的大部分空間,并且相機(jī)運(yùn)動(dòng)和光照條件會(huì)帶來(lái)強(qiáng)視點(diǎn)變化和強(qiáng)光線變化,這使得特征檢測(cè)器很難提取到可重復(fù)的特征點(diǎn),從而無(wú)法找到正確的特征點(diǎn)對(duì)應(yīng)關(guān)系。最近的一些研究工作直接通過(guò)建立像素級(jí)的密集匹配并在其中選擇置信度高的匹配對(duì),避免了特征檢測(cè)器無(wú)法提取到足夠多的特征點(diǎn)進(jìn)行后續(xù)匹配的問(wèn)題。
針對(duì)原始Transformer結(jié)構(gòu)處理長(zhǎng)序列時(shí)帶來(lái)的顯存爆炸問(wèn)題,雖然已經(jīng)有很多研究提出了高效的Transformer 變體,但其中絕大多數(shù)研究集中于自然語(yǔ)言處理的稀疏方法,在計(jì)算機(jī)視覺(jué)領(lǐng)域則通常直接引用前者思路,缺少針對(duì)性面向圖像處理的注意力稀疏算法。
圍繞上述問(wèn)題,本文展開(kāi)研究工作,通過(guò)梳理自-互注意力機(jī)制在提取得到的密集局部特征中進(jìn)行信息交互的過(guò)程,提出了基于排名優(yōu)化的自-互注意力方法-AttentionRanker。該算法創(chuàng)新性地通過(guò)對(duì)位置編碼后的一維輸入特征圖進(jìn)行重塑形,然后利用類空間注意力機(jī)制挑選少量活躍像素點(diǎn),成功地將每層注意力的時(shí)間復(fù)雜度降為O(N· lnN) ,對(duì)于不同圖像生成不同的權(quán)值從而實(shí)現(xiàn)自適應(yīng)優(yōu)化。
密集特征匹配思想可以追溯到2010 年的Liu 等人[7]提出的基于光流法的SIFT Flow。2018 年Ignacio等人[8]針對(duì)弱紋理區(qū)域和圖案重復(fù)區(qū)域用最近鄰方法容易產(chǎn)生錯(cuò)誤匹配的問(wèn)題,提出鄰域共識(shí)網(wǎng)絡(luò)(Neighbourhood Consensus Network, NC-Net),它通過(guò)構(gòu)造4D 代價(jià)容量函數(shù)來(lái)枚舉圖像之間所有可能的匹配點(diǎn)對(duì),然后利用4D 卷積對(duì)代價(jià)容量進(jìn)行正則化,以鄰域共識(shí)思想約束所有的匹配點(diǎn)對(duì)。然而NC-Net 中的4D 卷積神經(jīng)網(wǎng)絡(luò)也帶來(lái)了巨大的內(nèi)存消耗和時(shí)間復(fù)雜度問(wèn)題,2020年,Li等人[9]提出的雙分辨率對(duì)應(yīng)網(wǎng)絡(luò)(Dual-Resolution Correspondence Networks, DRCNet)同樣通過(guò)構(gòu)造四維卷積神經(jīng)網(wǎng)絡(luò)獲取密集匹配,通過(guò)這種由粗到細(xì)的方式極大地提高了匹配的可靠性并且避免了整個(gè)網(wǎng)絡(luò)都進(jìn)行4D 卷積運(yùn)算所帶來(lái)的巨大計(jì)算代價(jià)。
2021 年CVPR 挑戰(zhàn)賽中Sun 等人[10]提出了在SuperGlue[11]的匹配思路下設(shè)計(jì)的基于Transformer 的圖像匹配網(wǎng)絡(luò)LoFTR[10]。其整體可分為四個(gè)組成部分:特征金字塔、自-互注意力信息傳遞、粗匹配預(yù)測(cè)、多尺度特征融合匹配。
首先輸入兩張圖片IA、IB∈?h×w,然后構(gòu)建一個(gè)具有三層結(jié)構(gòu)的ResNet-FPN 網(wǎng)絡(luò),輸出粗精度特征圖和細(xì)精度特征圖F^。然后將得到的一對(duì)粗精度特征圖分別展平為一維向量A、B∈?N×d,融合位置編碼后送入自-互注意力模塊,得到圖像內(nèi)部的關(guān)鍵點(diǎn)信息以及圖像之間的關(guān)鍵點(diǎn)信息。然后利用Sinkhorn 算法[12-13]或雙Softmax(Dual-softmax)法得到粗精度匹配預(yù)測(cè)。最后是進(jìn)行多尺度特征融合匹配,對(duì)于每一對(duì)粗匹配(i,j),在細(xì)精度特征圖F^ 上定位其位置,然后裁剪兩組大小為w×w的網(wǎng)格窗口并展平,通過(guò)自-互注意力信息傳遞后,得到兩個(gè)以粗匹配預(yù)測(cè)的定位點(diǎn)i和j分別作為F^A和F^B中心的細(xì)精度局部特征表示。通過(guò)計(jì)算概率分布的期望,收集F^A中所有特征點(diǎn)的對(duì)應(yīng)匹配后,最終得到細(xì)精度特征圖上的亞像素級(jí)匹配(i,j′) ∈Mf。
為了降低注意力模型的時(shí)間復(fù)雜度,Zaheer 等人[14]提出了兩個(gè)假設(shè)的注意力模型,分別是空洞注意力模型(圖2)和局部注意力模型(圖3),這兩種模型在計(jì)算上都有所簡(jiǎn)化。
與這兩種算法有相似之處,Sparse Transformer[15]在注意力的計(jì)算上直接將兩個(gè)假設(shè)合并起來(lái),也就是對(duì)于每一個(gè)元素來(lái)說(shuō),都只和與它距離不超過(guò)k,以及距離為mk(k> 1) 的元素相關(guān)聯(lián),這樣不僅可以學(xué)習(xí)緊密相關(guān)的局部信息,并且在全局關(guān)聯(lián)性的計(jì)算中稀疏了一些注意力,降低計(jì)算復(fù)雜度。具體算法如下:
定義一個(gè)集合S=S1,…SN,N 為向量長(zhǎng)度。Si表示第i個(gè)輸出向量對(duì)應(yīng)于輸入向量中的索引集合,即第i個(gè)元素可以關(guān)聯(lián)到的元素集合,輸入向量X通過(guò)S與輸出向量關(guān)聯(lián)起來(lái)(公式(1)、(2)):
其中KSi=Wkxj,VSi=Wvxj(j∈Si),Wq、Wk、Wv分別表示將給定輸入元素xi轉(zhuǎn)換為query、key 和value的權(quán)重矩陣,attention(xi,Si) 表示xi和可以關(guān)注的元素之間的注意力。
當(dāng)使用兩個(gè)注意力頭時(shí),讓每個(gè)注意力關(guān)注不同的位置,文中選取讓其中一個(gè)注意力頭只關(guān)注當(dāng)前位置的距離為以內(nèi)的元素,讓另一個(gè)注意力頭只關(guān)注距離當(dāng)前位置為的元素。這樣就將計(jì)算復(fù)雜度由O(N2·d)降低為
圖像匹配任務(wù)的傳統(tǒng)方法是在獲取特征點(diǎn)后計(jì)算其視覺(jué)描述符信息,然后通過(guò)暴力匹配計(jì)算描述符歐氏距離獲得匹配點(diǎn)對(duì)。近年來(lái)的匹配算法受Transformer[16]的啟發(fā),在圖神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,利用注意力機(jī)制整合其他的上下文線索,從而給特征點(diǎn)或者特征圖賦予更多的全局信息。
使用卷積神經(jīng)網(wǎng)絡(luò)提取兩張?jiān)紙D像IA、IB∈?h×w的局部特征圖FA和FB,自-互注意力模塊提取密集匹配過(guò)程如下:
(1)使用絕對(duì)正弦-余弦位置編碼為FA和FB中的每個(gè)元素添加特定的位置信息,使得圖像上的特征與其所在的位置相關(guān)聯(lián),提高在弱紋理區(qū)域找到對(duì)應(yīng)匹配區(qū)域的能力。參考Carion 等人[17]的位置編碼方法,將第i個(gè)特征通道中(x,y)位置的正弦-余弦位置編碼的二維擴(kuò)展定義為式(3):
(2)將特征圖FA和FB展平為一維向量,分別與位置編碼融合相加得到和后輸入自-互注意力模塊。
(3)對(duì)兩個(gè)序列計(jì)算圖注意力:對(duì)于自注意力層,輸入特征fi和fj相同,來(lái)自于或;對(duì)于互注意力層,輸入特征fi和fj則分別來(lái)自于和或者和具體情況視互注意力方向而定)。
(4)將自-互注意力模塊中的自注意力層和互注意力層交替Nc次,對(duì)輸入特征進(jìn)行變換,最終輸出融合本張圖片鄰域信息與待匹配圖像信息的特征和
圖4給出了基于Transformer 的自-互注意力流程。自注意力層使得每個(gè)點(diǎn)關(guān)注其周圍所有點(diǎn)以及關(guān)聯(lián)性,互注意力層使得每個(gè)點(diǎn)關(guān)注另一幅圖上的所有點(diǎn)及其關(guān)聯(lián)性。
因?yàn)橹苯邮褂闷胀ǖ腡ransformer 編碼器結(jié)構(gòu)對(duì)算力要求過(guò)高,為了能夠輕量化使用Transformer,本小節(jié)根據(jù)輸入圖像的不同特點(diǎn)進(jìn)行針對(duì)性處理,結(jié)合活躍像素點(diǎn)的注意力挑選策略,提出基于排名優(yōu)化的自-互注意力機(jī)制。
3.2.1活躍像素點(diǎn)的挑選策略
針對(duì)普通注意力機(jī)制中忽略稀疏性,對(duì)所有的query 和key 進(jìn)行點(diǎn)積運(yùn)算從而造成時(shí)間復(fù)雜度高的問(wèn)題,一方面需要考慮不遺漏計(jì)算重要的注意力,另一方面需要考慮如何有效地減少計(jì)算量。對(duì)于每一個(gè)一維向量Fpe∈?N×d,通過(guò)線性映射后得到查詢向量q∈?d、值向量k∈?d和鍵向量v∈?d。如圖5 所示,本節(jié)跟隨Informer[18]的實(shí)驗(yàn)結(jié)論定義兩種查詢類型,活躍查詢qa(active query)和非活躍查詢ql(lazy query):
(1)qa是能在key 中查詢出更關(guān)鍵的信息的query,即qa-key 點(diǎn)積對(duì)對(duì)于注意力有貢獻(xiàn),這種query在注意力中有一個(gè)或多個(gè)注意力分?jǐn)?shù)的峰值,其他地方的分?jǐn)?shù)則比較低。
(2)ql是使key 起平均值作用的query,即ql-key點(diǎn)積對(duì)對(duì)于注意力僅僅起很微弱的貢獻(xiàn)。這種query在注意力中注意力分?jǐn)?shù)沒(méi)有太大的起伏,整體分布比較平均。
為了從所有query中量化區(qū)分“活躍性”,在每次進(jìn)入自注意力層和互注意力層之前首先將一維向量進(jìn)行重新整合,轉(zhuǎn)換為特征圖大小的向量x∈?(h × w)×d,此時(shí)的隱藏維度d可以看作是通道數(shù),圖像上的每個(gè)像素點(diǎn)經(jīng)過(guò)特征提取和位置編碼融合后,使得x不但帶有豐富的位置信息,且攜帶了特征的抽象表達(dá),而這種抽象表達(dá)的信息更多體現(xiàn)在“通道維度”上。
如圖6 所示,利用Woo 等人[19-20]提出的空間注意力思想,對(duì)通道進(jìn)行降維操作,將隱藏維度帶有的信息壓縮后送入類空間注意力模塊,實(shí)現(xiàn)對(duì)特征圖x的重構(gòu)。特征圖x同時(shí)經(jīng)過(guò)全局平均池化[21]和全局最大池化,得到兩種不同的通道特征描述算子后將其進(jìn)行拼接:
其中特征圖x′∈?(h×w)×2。將拼接得到特征圖x′經(jīng)過(guò)輸出通道數(shù)out_channels=1、卷積核大小為7×7的卷積層實(shí)現(xiàn)降維和增大感受野后,使用Sigmoid 激活函數(shù)得到通道信息的注意力權(quán)重矩陣MSA。
如果某個(gè)像素位置的通道信息權(quán)重MSA越大,則表明此像素點(diǎn)在線性映射為query后,與key的點(diǎn)積結(jié)合越有可能查詢出信息。
基于此,將通道信息的注意力權(quán)重MSA作為qa的度量方法。對(duì)于自注意力層,對(duì)輸入的每張圖像分別進(jìn)行同樣的操作:將重構(gòu)后的特征圖X∈?(h × w× )d再次展開(kāi)為一維向量后,通過(guò)不同的參數(shù)矩陣Wq∈?d×d、Wk∈?d×d、Wv∈?d×d線性映射為查詢矩陣Q∈?N×d、鍵矩陣K∈?N×d、值矩陣V∈?N×d,將得到的注意力權(quán)重MSA從大到小進(jìn)行排序,在Q中挑選出其中占主導(dǎo)地位的Top-m 個(gè)qa(圖7(a)),從而實(shí)現(xiàn)對(duì)所有query 的稀疏度評(píng)估。根據(jù)Zhou 等人[22]提出的策略對(duì)m進(jìn)行定義(式(5)):
其中c為可調(diào)超參數(shù)。非活躍像素點(diǎn)形成空洞直接由value 的平均值填充,最終得到與原始查詢矩陣Q大小相同的稀疏矩陣Qˉ,此時(shí)式(5)變?yōu)槭?6):
對(duì)于互注意力層,將得到的兩個(gè)輸入向量進(jìn)行特征重構(gòu)后,其中一個(gè)輸出向量X1線性映射為K和V,另一個(gè)輸出向量X2線性映射為Q,同樣使用注意力權(quán)重進(jìn)行qa的挑選。其過(guò)程由圖7(b)所示。
因?yàn)橹挥?jì)算了稀疏度度量下的Top-m 個(gè)query,理論上每層注意力的時(shí)間復(fù)雜度降為O(N· lnN)。
3.2.2AttentionRanker——基于排名優(yōu)化的自-互注意力機(jī)制
上文活躍像素點(diǎn)的挑選策略已經(jīng)確定了每層自注意力和互注意力的運(yùn)行機(jī)制,其流程示意圖如圖8所示。
對(duì)于每一張圖像,與Sparse Transformer等啟發(fā)式稀疏注意力方法不同,AttentionRanker 會(huì)根據(jù)圖像的特征自適應(yīng)地生成不同的空間注意力權(quán)重值,每層自注意力和互注意力的輸入都會(huì)用Top-m 思想評(píng)估出不同的qa,計(jì)算生成不同的矩陣,從而使得在計(jì)算多頭注意力時(shí),每張圖像上的重要像素點(diǎn)既不會(huì)因?yàn)樽⒁饬︻^不同而改變,對(duì)于每一層的輸入又可以自適應(yīng)選擇活躍query從而采取不同的優(yōu)化策略。
在自注意力層中,其Qs、Ks、Vs的輸入都來(lái)自于同一特征向量。在將重構(gòu)后的特征向量展平并經(jīng)過(guò)不同的線性層轉(zhuǎn)換成表征長(zhǎng)度相同的向量后,通過(guò)隱藏維度的信息壓縮選出空間注意力權(quán)重最高的Top-m個(gè)qa,只計(jì)算這些qa和所有key的點(diǎn)積結(jié)果,其余的ql不再進(jìn)行計(jì)算(即不再為value計(jì)算權(quán)重),而是直接對(duì)value取均值作為輸出,從而保證輸入輸出的長(zhǎng)度統(tǒng)一。并行計(jì)算每個(gè)特征圖的自注意力,得到帶有自身特征關(guān)聯(lián)信息的和,將其進(jìn)行特征重構(gòu)后分別作為互注意力層Qc和Kc、Vc的輸入特征向量,同樣進(jìn)行上述步驟后輸出帶有相互特征關(guān)聯(lián)信息的和。將上一層的輸出向量作為下一層自-互注意力的輸入向量,在Nc次信息傳遞之后,最終得到融合本張圖片鄰域信息與待匹配圖像信息的輸出特征和
3.3.1強(qiáng)紋理增強(qiáng)模塊
本節(jié)介紹在特征金字塔ResNet18-FPN 的基礎(chǔ)上加入強(qiáng)紋理特征增強(qiáng)模塊(Strong Texture Feature Enhancement Module,ST-FEM)后的網(wǎng)絡(luò)結(jié)構(gòu)。
如圖9 所示,將ResNet 每層特征圖的輸出表示為{C1,C2,C3},自頂向下過(guò)程中的每層特征圖的輸出表示為{P1,P2,P3}。圖9(a)給出了FPN 自頂向下過(guò)程中P2級(jí)別到P1級(jí)別的融合路徑示意圖,通過(guò)1×1卷積核對(duì)C1進(jìn)行通道降維,橫向連接來(lái)自空間域2 倍最近鄰上采樣的特征圖P2和自底向上特征提取過(guò)程中相同空間大小的特征圖C1。下文所述的網(wǎng)絡(luò)結(jié)構(gòu)均為將ST-FEM模塊置于1×1卷積前的情況。
2018 年P(guān)ark 等人提出的BAM[19-20]中指出在神經(jīng)網(wǎng)絡(luò)中,不同的維度所代表的意義不同:對(duì)于通道維度而言,其包含的信息更多為特征的抽象表達(dá),而對(duì)于空間維度,則擁有更為豐富的特征位置信息。為了使得特征提取網(wǎng)絡(luò)更加關(guān)注于強(qiáng)紋理區(qū)域特征,本章將來(lái)自于自底向上過(guò)程中的除最高層語(yǔ)義的其他尺度特征圖(以C1、C2為例)進(jìn)行如下處理:
(1)經(jīng)過(guò)全局最大池化MaxPool和全局平均池化AvgPool得到不同的語(yǔ)義描述符M∈?h×w×1(式(7))和A∈?h×w×1(式(8)),即將每個(gè)像素點(diǎn)在不同通道上的最大值和平均值表示在空間維度的每個(gè)位置中:
(2)將每個(gè)像素點(diǎn)在空間維度上進(jìn)行全局低維嵌入{(h×w) →(1 × 1) },即將M和A經(jīng)過(guò)全局平均得到整張圖的最大值A(chǔ)vg(M)和平均值A(chǔ)vg(A)。
(3)將M和Avg(M)相減得到每個(gè)像素點(diǎn)與整張圖像的差異絕對(duì)值描述符M′(式(9)),同理得到A和Avg(A)的差異絕對(duì)值描述符A′(式(10)),絕對(duì)值越大則代表這個(gè)像素點(diǎn)與周圍、與整張圖像越不同,即本節(jié)所述的強(qiáng)紋理特征區(qū):
(4)將帶有強(qiáng)紋理特征相對(duì)位置的M′和A′進(jìn)行拼接,經(jīng)過(guò)卷積核大小為7×7的卷積層f(·)和Sigmoid激活函數(shù)σ(·)后,與自底向上過(guò)程中提取的特征圖C1、C2進(jìn)行融合得到強(qiáng)紋理特征增強(qiáng)的特征圖C′1和(式(11)):
最后經(jīng)過(guò)1×1 卷積形成一個(gè)完整的橫向連接。整體結(jié)構(gòu)如圖10所示。
圖1 位姿估計(jì)任務(wù)示意圖
圖2 空洞注意力的注意力矩陣及其關(guān)聯(lián)關(guān)系示意圖
圖3 局部注意力的注意力矩陣及其關(guān)聯(lián)關(guān)系示意圖
圖4 特征圖FA、FB的自-互注意力流程
圖5 活躍查詢和非活躍查詢的注意力分布示意圖
圖6 利用類空間注意力算法挑選活躍像素點(diǎn)
圖7 自-互注意力層挑選活躍像素點(diǎn)
圖8 基于排名優(yōu)化的自-互注意力機(jī)制
圖9 特征金字塔中的ST-FEM 模塊示意圖
圖10 強(qiáng)紋理特征增強(qiáng)模塊ST-FEM 示意圖
3.3.2多尺度自-互注意力融合機(jī)制
針對(duì)特征金字塔提取的多尺度特征圖,采用兩種不同的自-互注意力融合設(shè)計(jì):
圖11 Linear Transformer的注意力機(jī)制
對(duì)于粗精度的自-互注意力特征融合步驟,在非稀疏方法下需要進(jìn)行近五千個(gè)點(diǎn)積計(jì)算的查詢向量中挑選幾十個(gè)活躍查詢可以很大程度上降低計(jì)算量,但如果對(duì)細(xì)精度匹配步驟采用同樣的Attention-Ranker稀疏方法,在非常少量的查詢向量中挑選活躍像素點(diǎn)意義不大。故本文針對(duì)不同尺度的特征圖選用了“AttentionRanker +Linear”兩種不同的稀疏注意力方法。
3.3.3損失函數(shù)設(shè)計(jì)
整體算法的搭建包含“由粗到細(xì)”的多尺度遞進(jìn)匹配思路,遵循文獻(xiàn)[10-11,24]的損失函數(shù)設(shè)計(jì)方案,本文算法最終損失L包括粗精度損失Lc和細(xì)精度損失Lf(如式(12)):
(1)粗精度損失Lc
每個(gè)特征都代表原圖上的一個(gè)像素網(wǎng)格,由于粗精度特征圖和細(xì)精度特征圖是多尺度的,在由粗到細(xì)的匹配過(guò)程中很可能會(huì)存在一對(duì)多的匹配結(jié)果,因此也難以準(zhǔn)確獲得粗精度匹配的真值標(biāo)簽。
ScanNet 數(shù)據(jù)集[25]提供相機(jī)位姿和深度圖,本文采用在訓(xùn)練過(guò)程中實(shí)時(shí)計(jì)算出置信矩陣Pc作為真值標(biāo)簽的方法:通過(guò)衡量?jī)山M低分辨率網(wǎng)格中心位置的重投影距離,從而確定互最近鄰,即取A中網(wǎng)格的中心位置,將其投影到與深度圖相同的比例,并在數(shù)據(jù)集中對(duì)其深度信息進(jìn)行索引,基于深度值和已知的相機(jī)位姿,將網(wǎng)格中心扭曲到另一張?zhí)卣鲌DB上,并將其最近鄰作為匹配候選,從B到A重復(fù)同樣的過(guò)程。最后基于兩組不同方向的最近鄰匹配,保留互最近鄰的值作為最終粗匹配的真值
當(dāng)使用雙Softmax 方法進(jìn)行匹配時(shí),將返回的置信矩陣Pc上的負(fù)對(duì)數(shù)似然損失作為L(zhǎng)c(式(13)):
(2)細(xì)精度損失Lf
細(xì)精度級(jí)別的自-互注意力融合是在以粗匹配預(yù)測(cè)為中心的5×5 小窗口中進(jìn)行的。對(duì)于每一組粗精度匹配(i,j),本文將F^A網(wǎng)格的中心位置扭曲到上,計(jì)算其與最近鄰之間的距離,并對(duì)對(duì)應(yīng)匹配點(diǎn)j′是否位于細(xì)精度特征圖網(wǎng)格的對(duì)應(yīng)5×5窗口進(jìn)行檢查,過(guò)濾無(wú)法找到對(duì)應(yīng)匹配點(diǎn)的粗匹配預(yù)測(cè)對(duì),最終獲得真值對(duì)于細(xì)精度特征圖的每個(gè)網(wǎng)格中心點(diǎn),通過(guò)計(jì)算相應(yīng)熱力圖的總方差σ2(i) 來(lái)衡量其不確定性。為了優(yōu)化具有低不確定性的亞像素級(jí)別匹配位置,使用L2損失設(shè)計(jì)加權(quán)細(xì)精度損失Lf(式(14)):
4.1.1數(shù)據(jù)集
整體模型基于ScanNet 數(shù)據(jù)集[25]進(jìn)行了訓(xùn)練、驗(yàn)證和測(cè)試。ScanNet數(shù)據(jù)集是目前室內(nèi)相機(jī)位姿估計(jì)任務(wù)中使用最廣泛且規(guī)模最大的室內(nèi)圖像數(shù)據(jù)集,包含了707 個(gè)不同大小的真實(shí)室內(nèi)空間類型,根據(jù)不同場(chǎng)景的多次RGB-D 掃描組成了1513 個(gè)單目序列,每一個(gè)序列都提供了相應(yīng)的相機(jī)內(nèi)外參數(shù)、真實(shí)位姿和深度圖像。
考慮實(shí)驗(yàn)條件,本文在ScanNet數(shù)據(jù)集的1513個(gè)單目序列中使用隨機(jī)函數(shù)Random獲得200個(gè)編號(hào)數(shù)。該數(shù)據(jù)集每一個(gè)場(chǎng)景命名方式為其場(chǎng)景編號(hào)(0~706)與掃描次數(shù)編號(hào)(0~3)組成,其中編號(hào)為scene0307_00、scene0366_00、scene0412_00、scene0645_00的場(chǎng)景由于解析錯(cuò)誤造成數(shù)據(jù)損壞(其余使用該數(shù)據(jù)集的算法[25]同樣將其做刪除處理),故最終構(gòu)成包含約30 萬(wàn)個(gè)視圖的子數(shù)據(jù)集ScanNet196。
為保證實(shí)驗(yàn)結(jié)果的公平性與有效性,本文的所有實(shí)驗(yàn)包括其它算法的復(fù)現(xiàn)均在ScanNet196 上進(jìn)行。
4.1.2評(píng)價(jià)指標(biāo)
根據(jù)本文的算法結(jié)構(gòu),STEM 屬于無(wú)特征檢測(cè)器的圖像匹配算法,對(duì)于此類匹配網(wǎng)絡(luò),暫時(shí)沒(méi)有明確的類似匹配分?jǐn)?shù)MS 等衡量匹配精度的度量方法,因此本文沿用SuperGlue[11]算法在ScanNet 數(shù)據(jù)集[25]中針對(duì)相機(jī)位姿估計(jì)任務(wù)的Pose eatimation AUC 評(píng)估標(biāo)準(zhǔn),以旋轉(zhuǎn)和平移的最大角度誤差的累積誤差曲線的曲線下面積作為評(píng)價(jià)指標(biāo)。本文分別取AUC@5°、AUC@10°和AUC@20°的指標(biāo)進(jìn)行實(shí)驗(yàn)結(jié)果分析。
4.2.1實(shí)驗(yàn)環(huán)境
實(shí)驗(yàn)采用PyTorch 深度學(xué)習(xí)框架下的Python 3.8語(yǔ)言進(jìn)行編程,在Ubuntu18.04 操作系統(tǒng)下使用3 塊GPUs (NVIDIA RTX A5000) 對(duì)模型進(jìn)行訓(xùn)練。實(shí)驗(yàn)環(huán)境具體配置如表1所示。
表1 實(shí)驗(yàn)環(huán)境配置
4.2.2訓(xùn)練細(xì)節(jié)
使用初始學(xué)習(xí)率為6 × 10-3,批量大?。˙atch size)為64 的Adam 優(yōu)化器[26]對(duì)模型進(jìn)行70 個(gè)周期的訓(xùn)練。學(xué)習(xí)率的調(diào)整策略為線性縮放規(guī)則(Linear Scaling Rule):先線性預(yù)熱4800 次迭代(iteration),從第3 個(gè)周期開(kāi)始,每3 個(gè)周期學(xué)習(xí)率衰減0.5。每個(gè)周期訓(xùn)練結(jié)束后,自動(dòng)保存驗(yàn)證結(jié)果,最終保存各項(xiàng)指標(biāo)最優(yōu)的5個(gè)結(jié)果。
整個(gè)模型采用隨機(jī)初始化權(quán)值進(jìn)行端到端訓(xùn)練?;谂琶麅?yōu)化的自-互注意力方法在粗精度階段循環(huán)4次,其中采樣超參數(shù)c設(shè)置為5,即每次挑選Top-45個(gè)活躍query;細(xì)精度階段使用基準(zhǔn)網(wǎng)絡(luò)LoFTR 的Linear Transformer方法循環(huán)1次,即Nc= 4,Nf= 1。設(shè)置置信度閾值θc為0.2,窗口大小5×5。粗精度特征圖和細(xì)精度特征圖的大小分別是原圖的1 8和1 2。
本節(jié)以2021 年圖像匹配任務(wù)榜首的LoFTR[10]作為基準(zhǔn)網(wǎng)絡(luò)進(jìn)行對(duì)比試驗(yàn),由于實(shí)驗(yàn)環(huán)境及配置等因素限制,僅在ScanNet 數(shù)據(jù)集中隨機(jī)挑選196 個(gè)場(chǎng)景進(jìn)行訓(xùn)練,并在1500對(duì)圖像上進(jìn)行驗(yàn)證與測(cè)試。
(1)消融實(shí)驗(yàn)
上文提到的方法是將輸入特征圖x通過(guò)類空間注意力機(jī)制進(jìn)行重構(gòu)后,通過(guò)不同的參數(shù)矩陣將其線性映射為查詢矩陣Q、鍵矩陣K和值矩陣V,然后利用注意力權(quán)重MSA對(duì)查詢向量query 進(jìn)行稀疏度評(píng)估。為了探究此處特征重構(gòu)對(duì)key-value鍵值對(duì)在進(jìn)行自-互注意力信息融合是否也有一定的積極作用,故設(shè)計(jì)三個(gè)消融實(shí)驗(yàn),并以實(shí)驗(yàn)1、2、3來(lái)代指。
實(shí)驗(yàn)1為不進(jìn)行類空間注意力挑選活躍像素點(diǎn)的實(shí)驗(yàn)情況。實(shí)驗(yàn)2 直接將輸入特征圖x進(jìn)行線性映射得到key-value鍵值對(duì),特征重構(gòu)后的輸出向量X映射為query 并進(jìn)行后續(xù)活躍像素點(diǎn)的挑選。實(shí)驗(yàn)3 則是query和key-value都經(jīng)過(guò)特征重構(gòu)的實(shí)驗(yàn)情況。以自注意力層為例,實(shí)驗(yàn)2、3 的處理方式分別如圖12 (a)、(b)所示。
圖12 兩種不同的特征映射方式
從表2 的結(jié)果可以看出,同時(shí)對(duì)比實(shí)驗(yàn)1、2、3,僅對(duì)query 進(jìn)行特征重構(gòu)和活躍像素點(diǎn)挑選,位姿估計(jì)精確度在各閾值下僅有少量的提升,而如果在線性映射為key-value之前也進(jìn)行了隱藏維度的信息壓縮,其Pose estimation AUC 則會(huì)在5°、10°、20°閾值下在前者(實(shí)驗(yàn)2)的基礎(chǔ)上再提升0.47%,1.75%和1.06%,說(shuō)明輸入特征x的特征重構(gòu)可以加強(qiáng)整體自-互注意力信息融合階段的特征信息表達(dá)。
(2)注意力方法的對(duì)比實(shí)驗(yàn)
在驗(yàn)證集上的進(jìn)行自-互注意力模塊的對(duì)比實(shí)驗(yàn),由于普通Transformer 空間復(fù)雜度過(guò)高,表3 中第一行數(shù)據(jù)為使用6 塊GPU 進(jìn)行訓(xùn)練、驗(yàn)證得到的結(jié)果。為保證結(jié)果精確性,計(jì)算最優(yōu)本地結(jié)果的平均值并保留兩位小數(shù)。實(shí)驗(yàn)主要對(duì)比普通Transformer 方法以及兩種不同的稀疏注意力算法在LoFTR 基準(zhǔn)網(wǎng)絡(luò)上的室內(nèi)位姿估計(jì)精度。
表3 自-互注意力模塊的對(duì)比實(shí)驗(yàn)
在特征向量長(zhǎng)度N= 4800,表征維度d= 256 的情況下,AttentionRanker 方法在位姿估計(jì)精度(AUC@5°、10°、20°)上比普通Transformer 算法分別高0.89%、2.87%、2.37%。同時(shí)對(duì)比LoFTR 文章中提到的線性稀疏注意力算法Linear Transformer,在輸入兩張圖片進(jìn)行位姿估計(jì)的整體耗時(shí)上也比前者快18ms。這說(shuō)明AttentionRanker 算法不僅在理論層面降低了時(shí)間復(fù)雜度,在執(zhí)行實(shí)際的室內(nèi)姿態(tài)估計(jì)任務(wù)時(shí),也能消耗更少的時(shí)間。
(3)整體結(jié)果分析
根據(jù)表4 結(jié)果顯示,在ScanNet196 數(shù)據(jù)集下,將AttentionRanker 應(yīng)用到室內(nèi)位姿估計(jì)任務(wù)后在閾值為10°和20°的情況下表現(xiàn)出了最好的效果,分別達(dá)到了34.95%和51.75%。與曾經(jīng)基于特征檢測(cè)器的圖像匹配最優(yōu)算法SuperPoint和SuperGlue相比,本文算法能夠很大程度提高位姿估計(jì)精度,并且僅在閾值為5°時(shí)略遜色于2022 年的四叉樹(shù)注意力算法(LoFTRQuadTreeB)。本文的方法在進(jìn)一步降低計(jì)算復(fù)雜度的同時(shí),可以維持甚至優(yōu)于當(dāng)前室內(nèi)位姿估計(jì)的最優(yōu)算法,這說(shuō)明自適應(yīng)稀疏自-互注意力機(jī)制在輕量化Transformer類室內(nèi)位姿估計(jì)任務(wù)的同時(shí),也能更好地感知圖像中的相關(guān)信息。
表4 在ScanNet196數(shù)據(jù)集上的室內(nèi)位姿估計(jì)結(jié)果
本文對(duì)現(xiàn)有的圖像匹配算法展開(kāi)了研究,針對(duì)在匹配融合階段引入Transformer 帶來(lái)的計(jì)算復(fù)雜度高這一問(wèn)題,設(shè)計(jì)了面向計(jì)算機(jī)視覺(jué)任務(wù)的基于排名優(yōu)化的自-互注意力機(jī)制AttentionRanker。該算法通過(guò)對(duì)位置編碼后的一維輸入特征圖進(jìn)行重塑形,利用類空間注意力機(jī)制挑選少量活躍像素點(diǎn),成功地將點(diǎn)積注意力的時(shí)間復(fù)雜度從二次降為近線性。實(shí)驗(yàn)結(jié)果表明,采用了AttentionRanker 稀疏方法的網(wǎng)絡(luò)在前向推理時(shí)耗時(shí)比基準(zhǔn)網(wǎng)絡(luò)快18ms,且其Pose estimation AUC@5°/10°/20°相較于Linear Transformer 方法分別提升了0.72%、2.42%、1.39%。