陳守剛,張偉偉,趙 波
(上海工程技術(shù)大學 機械與汽車工程學院,上海 201620)
尋找圖像局部特征穩(wěn)定且高效的對應關(guān)系,是計算機視覺任務(wù)的基本組成部分。例如,基于多視圖幾何三維重建(Structure from motion,SFM)和同步 定 位 與 建 圖(Simultaneous Localization and Mapping,SLAM)都需要穩(wěn)定且區(qū)分度高的特征描述子。目前,基于深度學習的圖像特征描述子(如:SuperPoint、LF-Net),展現(xiàn)出比人工設(shè)計的特征描述子具有更好的性能。然而,一些研究表明,當把SuperPoint等特征描述子應用于有遮擋的現(xiàn)實世界時,存在泛化能力弱的問題。存在這種局限性的一個重要原因,就是無法獲取圖像對之間特征點真實的對應關(guān)系。之前,許多方法都采用SFM數(shù)據(jù)集作為替代方案,但這些數(shù)據(jù)集提供的匹配特征點并不是真實的對應關(guān)系。
針對上述問題,本文方法不要求特征點之間具有嚴格的對應關(guān)系,僅從圖像對之間的相對相機位姿中學習特征描述子,就可以通過各種基于非視覺的傳感器,例如慣性測量單元(Inertial Measurement Unit,IMU)獲得相機姿態(tài);通過減少特征點之間嚴格匹配的要求,可以在多樣化的數(shù)據(jù)集上學習更好的特征描述子,解決了特征點學習獲取訓練數(shù)據(jù)的困難。
然而,由于不能基于相機姿勢來構(gòu)造損失函數(shù),現(xiàn)有的深度學習方法不能直接利用相機位姿作為約束。本文的主要貢獻:提出了一種新的框架,將圖像對之間的IMU位姿轉(zhuǎn)換為對匹配點之間的像素位置的對極約束作為監(jiān)督約束條件(如圖1所示);匹配點的位置相對于用于訓練的特征描述子是可區(qū)分的;為了進一步降低計算成本并加快訓練速度,使用了從粗到精的匹配方案,以較低的分辨率計算對應關(guān)系,以更精細的比例進行局部優(yōu)化。
圖1 位姿一和位姿二圖像匹配對之間的查詢點和預測點之間的對應關(guān)系Fig.1 Correspondence between query points and prediction points between pose-1 and pose-2 image matching pairs
陀螺儀的測量模型為:
其中,b是隨時間緩慢變化的偏差,η是白噪聲。模型利用了靜態(tài)世界假設(shè),即重力加速度不發(fā)生變化。
加速度計的測量模型為:
其中,b是隨著時間緩慢變化的偏差,η是白噪聲。
運動模型的微分方程形式為:
使用歐拉積分、即三角積分可以得到運動方程的離散形式:
為了使符號簡明,對符號進行重新定義為:
將測量模型代入運動方程:
其中,噪聲項采用η和η(表示discrete),故與連續(xù)噪聲項η和η是不同的。離散噪聲與連續(xù)噪聲的協(xié)方差有如下關(guān)系:
進一步假設(shè)恒定、即采樣頻率不變,每個離散時刻由0,1,2,…表示,上述的3個離散運動方程可進一步簡化為:
隨著網(wǎng)絡(luò)的加深,神經(jīng)網(wǎng)絡(luò)梯度消失,出現(xiàn)了訓練集準確率下降的現(xiàn)象。為了解決上述問題,He等人在2016年提出ResNet深度學習模型,該模型的最大特性就是網(wǎng)絡(luò)層深度可以無限疊加,而不會出現(xiàn)梯度消失的問題。該網(wǎng)絡(luò)的提出,說明網(wǎng)絡(luò)的深度對許多計算機視覺識別任務(wù)至關(guān)重要,在ImageNet數(shù)據(jù)集上的錯誤率僅為3.57%,獲得ILSVRC 2015中圖像分類任務(wù)的第一名。ResNet在COCO目標檢測數(shù)據(jù)集上獲得了28%的相對改進。
ResNet的殘差模型如圖2所示。圖2中,表示輸入的feature mapping,()為殘差,()表示下一層網(wǎng)絡(luò)的輸入,該網(wǎng)絡(luò)特征可以有效確保梯度不會消失。
圖2 ResNet的殘差模型Fig.2 Residual model of ResNet
雖然ResNet網(wǎng)絡(luò)的層數(shù)可以無限疊加,但是更深的網(wǎng)絡(luò)會導致訓練的復雜度變大。綜合現(xiàn)有研究結(jié)果可知,ResNet采用18、34、50、101、152這5種深度的網(wǎng)絡(luò)結(jié)構(gòu)較為普遍。本文所提出的方法就是基于ResNet50網(wǎng)絡(luò)結(jié)構(gòu),如圖3所示。
圖3 ResNet50的殘差模型Fig.3 Residual model of ResNet50
由于ResNet可以重復疊加深度網(wǎng)絡(luò),因此可以提取更多的網(wǎng)絡(luò)特征。本文提出的方法只采用ResNet50網(wǎng)絡(luò)模型中的第3個block單元塊之前的網(wǎng)絡(luò)架構(gòu)作為主干網(wǎng)絡(luò),第3個block單元塊輸出的feature mapping大小為40×30×1 024。本文網(wǎng)絡(luò)架構(gòu)詳見表1。
表1 本文方法網(wǎng)絡(luò)架構(gòu)Tab.1 The network architecture of the method proposed in this paper
由表1可見,第3個Block單元塊之后,在輸出40×30×1 024的feature mapping的基礎(chǔ)上,依次進行1×1的卷積、上采樣3×3卷積、3×3卷積、上采樣3×3卷積、3×3卷積、1×1卷積等操作,從而獲得不同粒度的特征圖。
通過附加的卷積層,獲得了粗糙級特征圖。精細級特征圖是通過進一步的卷積層以及上采樣和跳過連接獲得的。粗略特征圖和精細特征圖的大小分別是原始圖像的1/16和1/4,且都具有128維的向量。精細級別的局部窗口的大小是精細級別特征圖大小的1/8。
如果只給出具有相機位姿的圖像對,則不適用于標準深度度量學習方法。因此,本文設(shè)計了一種利用IMU數(shù)據(jù)進行特征描述子的學習方法。該方法中將相對相機位姿轉(zhuǎn)換成圖像對之間的對極約束,確保預測的匹配關(guān)系服從對極約束??紤]到該約束是實施在像素坐標上的,因此必須使對應的坐標相對于特征描述符是可微的,為了實現(xiàn)該目的,本文提出了可區(qū)分的匹配層方法。
本文訓練數(shù)據(jù)由含有位姿信息的圖像對組成。為了利用這些數(shù)據(jù)訓練特征描述子的關(guān)聯(lián)匹配,使用2個互補的損失函數(shù)項:對極損失項和循環(huán)一致?lián)p失項。
圖1中,是查詢點、是預測的對應關(guān)系;對極損失函數(shù)L是和真實對極線之間的距離;循環(huán)一致性損失L是與其前后對應點(綠色)之間的距離。
給定一對圖像和的相對位姿和相機內(nèi)參,就可以計算基本矩陣。極線約束指出,如果和是真實匹配,則0成立,其中0可以解釋為對應于中的對極線。本文將視為查詢點,然后根據(jù)預測的對應位置與真實的對極線之間的距離,將此約束重新化為對極損失:
其中,()是中點在中的預測對應關(guān)系,而(·,·)是點與線之間的距離。
單獨的對極損失函數(shù),預測的匹配點位于對極線上,而不是真實的對應匹配關(guān)系(該位置在該線上的未知位置)。為了提供額外的約束,本文還引入了循環(huán)一致性損失,確保該點在空間上接近其自身:
對于每個圖像對,總目標是對極損失函數(shù)項和循環(huán)一致性損失項的加權(quán)總和,共計個采樣查詢點,可以表示為:
對極約束實際上為特征描述子學習提供了足夠的監(jiān)督。其關(guān)鍵原因是,對極約束抑制了許多不正確的對應關(guān)系。而且,在滿足對極約束的所有有效預測中,鑒于其局部外觀相似性,真正的對應關(guān)系最有可能具有相似的特征編碼。因此,通過在所有訓練數(shù)據(jù)上聚合這樣的幾何約束,使網(wǎng)絡(luò)學會對真實對應之間的相似性進行編碼,從而產(chǎn)生有效的特征描述子。
盡管本文的重點是僅從相機的位姿中學習,但當有真實匹配關(guān)系可用時,也可以使用真實的對應關(guān)系進行訓練。在這種情況下,可以將損失函數(shù)替換為預測和真實對應關(guān)系的像素位置之間的距離。通過真實匹配關(guān)系訓練的方法,比通過照相機姿勢訓練的方法會獲得更好的性能,兩者均優(yōu)于先前的完全監(jiān)督方法。
損失函數(shù)是預測對應像素位置的函數(shù),但若使用梯度下降法,則像素位置相對于網(wǎng)絡(luò)參數(shù)是可區(qū)分的。傳統(tǒng)方法是通過識別最近鄰匹配來建立對應關(guān)系,但這是一種不可微分的操作。
針對上述問題,本文提出了可區(qū)分的匹配層方法。對于給定的圖像對,首先使用卷積神經(jīng)網(wǎng)絡(luò)提取特征描述子、,為了計算中查詢點的對應關(guān)系,將處的特征描述子(用()表示)與相關(guān)聯(lián)。接下來進行2D softmax操作,可以得到在中的二維概率分布(,,):
其中,變量表示在的像素坐標上變化。
計算單個2D匹配作為此分布的期望:
使用可區(qū)分的匹配層,使整個網(wǎng)絡(luò)系統(tǒng)可以進行端到端訓練。由于對應位置是根據(jù)特征描述子之間相關(guān)性計算的,因此將有助于特征描述子的訓練學習。
本文提出的方法使用MegaDepth數(shù)據(jù)集對網(wǎng)絡(luò)進行訓練。該數(shù)據(jù)集由196個不同場景組成。其中130個場景用于訓練,其余場景用于驗證和測試。數(shù)據(jù)集提供了數(shù)百萬個具有已知相機位姿的圖像訓練匹配對,在此僅使用所提供的相機位姿和相機內(nèi)參在這些圖像匹配對上進行訓練。
本文使用Adam訓練網(wǎng)絡(luò),其基本學習率為1×10,循環(huán)一致性項的權(quán)重設(shè)置為0.1。由于內(nèi)存所限,在每個訓練圖像對中使用400個查詢點。這些查詢點由80%SIFT關(guān)鍵點和20%隨機點組成。
訓練所使用的設(shè)備為:RTX3060 GPU,Ubuntu 18.04操作系統(tǒng)與Intel i7第十代CPU。
本文在MegaDepth數(shù)據(jù)集上對POSE特征描述子進行測試。給定一對圖像后,在2個圖像中提取關(guān)鍵點,并使用特征描述子進行描述。對每個圖像匹配對之間的匹配數(shù)進行統(tǒng)計(僅考慮最近鄰匹配),并將SIFT、LF-Net與POSE測試結(jié)果進行對比。
去除異常點之后的匹配結(jié)果如圖4~圖6所示。其中,圖4的SIFT特征描述子代表傳統(tǒng)人工設(shè)計方法;圖5代表LF-Net深度學習方法;圖6為采用本文提出的方法。根據(jù)對比的結(jié)果可以看出,本文方法得到的結(jié)果使精度得到了提高。
圖4 SIFT描述子Fig.4 SIFT descriptor
圖5 LF-Net描述子Fig.5 LF-Net descriptor
圖6 POSE描述子Fig.6 POSE descriptor
實驗不僅給出可視化的結(jié)果,并對幾種方法進行了量化處理。3種特征描述子對比結(jié)果見表2。
表2 POSE特征描述子與其它模型的對比Tab.2 Comparison of POSE feature descriptor with other models
從表2中可以看出,POSE特征描述子不僅可以從圖像中提取到更多的特征點,同時也提高了特征描述子的匹配度。
文中提出了一種新穎的特征描述子學習框架,該框架僅使用IMU獲取的相機位姿監(jiān)督進行訓練,利用對極幾何約束構(gòu)造損失函數(shù)。實驗表明,在不使用任何特征點對應匹配關(guān)系進行訓練的情況下,其性能優(yōu)于受到完全監(jiān)督的其它算法。接下來的工作中,將進一步研究如何提高學習到的特征描述子對圖像旋轉(zhuǎn)的不變性、基于位姿監(jiān)督的方法和傳統(tǒng)度量學習方法是否有相互補充的可能性,以及相應的組合是否可以帶來更好的性能。