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