嚴(yán)超華,李 斌,龔小謹(jǐn)
(浙江大學(xué)信電學(xué)院,杭州 310027)
我國嫦娥工程已經(jīng)圓滿完成繞月探測和落月探測,實現(xiàn)了對月球全球性、整體性的綜合探測[1]。之后,載人登月將成為我國未來月球探測工程的主要發(fā)展目標(biāo),這一任務(wù)在科學(xué)上和工程上都有了更高層次的需求,包括在具有更大科學(xué)意義更具挑戰(zhàn)性的區(qū)域登陸以及月面行走探測更大的范圍等,也因此對月面巡視器的導(dǎo)航定位的精度和穩(wěn)定性提出了更高的要求[2]。
月面巡視器在執(zhí)行上述任務(wù)的過程中必然需要進(jìn)行路徑規(guī)劃,而高精度導(dǎo)航定位與地圖構(gòu)建則是月面巡視器實現(xiàn)路徑規(guī)劃和運動控制的基礎(chǔ)[3]。由于月巖、環(huán)形坑及月壤的存在,月面巡視器運動時會產(chǎn)生滑移,導(dǎo)致依賴輪式里程計的定位方法存在較大的誤差[4]?;谝曈X的即時定位與建圖(Simultaneous Localization and Mapping,SLAM)不僅能提供準(zhǔn)確的定位信息,且能提供環(huán)境的結(jié)構(gòu)信息,是巡視器進(jìn)行導(dǎo)航定位的主要方案之一。
在計算機(jī)視覺領(lǐng)域,SLAM算法從提出至今已近30年[5]。傳統(tǒng)的基于視覺的SLAM算法按照是否提取特征點可以分為兩大類:特征法和直接法。特征法首先在圖像中提取稀疏特征點并計算特征點描述子,然后利用匹配的特征點在不同圖像中的投影結(jié)果最小化重投影誤差來估計相機(jī)的運動。代表性算法包括Klein等于2007年提出的PTAM[6]、Mur-Artal等提出的ORB-SLAM[7]等。與特征法不同,直接法不需要進(jìn)行特征提取,而是通過最小化兩幀圖像之間的光度誤差來估計圖像之間的運動。代表性算法包括Newcombe等提出的利用直接法的DTAM算法[8]、以及Engel等提出的同樣基于直接法的LSD-SLAM[9]等。在上述傳統(tǒng)SLAM方法中,特征的提取與描述依賴于人工設(shè)計,模型的參數(shù)需要手工調(diào)試,限制了模型的性能[5]。
近年來,隨著深度學(xué)習(xí)技術(shù)在目標(biāo)檢測、目標(biāo)識別和場景理解等問題上的成功應(yīng)用,學(xué)術(shù)界開始了將深度學(xué)習(xí)應(yīng)用在SLAM上的嘗試。這些方法可大體分為兩類,即深度學(xué)習(xí)與傳統(tǒng)方法結(jié)合的SLAM模型,以及端到端的SLAM模型。
1)深度學(xué)習(xí)與傳統(tǒng)方法結(jié)合的SLAM模型:2017年,Tateno等[10]提出了CNN-SLAM算法,利用深度網(wǎng)絡(luò)實現(xiàn)實時的單目SLAM。CNN-SLAM在直接法的單目SLAM算法中,加入通過卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)預(yù)測的深度信息來取代SLAM算法本身對深度的假設(shè)和估計,取得了與傳統(tǒng)SLAM算法相當(dāng)?shù)奈蛔斯烙嬓Ч?/p>
2)端到端的SLAM模型:2017年,Vijayanarasimhan等提出了SfM-Net[11],通過CNN學(xué)習(xí)圖像對應(yīng)的深度圖、圖像幀之間的位姿變換和光流、圖像中物體的運動信息等。SfM-Net由運動網(wǎng)絡(luò)和結(jié)構(gòu)網(wǎng)絡(luò)兩部分構(gòu)成,其中運動網(wǎng)絡(luò)預(yù)測圖像幀的運動信息,結(jié)構(gòu)網(wǎng)絡(luò)預(yù)測圖像的深度信息。SfM-Net取得不錯的深度預(yù)測結(jié)果和光流結(jié)果,卻沒有對比位姿估計的結(jié)果。同年,Zhou等提出利用CNN從視頻中無監(jiān)督地學(xué)習(xí)圖像對應(yīng)的深度圖和相機(jī)的自身運動[12]。他們提出的網(wǎng)絡(luò)結(jié)構(gòu)和SfM-Net類似,同樣由兩部分子網(wǎng)絡(luò)組成,一部分DepthCNN用來預(yù)測深度圖,另一部分PoseCNN預(yù)測圖像幀與幀之間的位姿變換。該模型最大的亮點是完全仿照傳統(tǒng)方法中的直接法用無監(jiān)督的方式直接從圖像序列中得到深度和位姿信息。從結(jié)果對比來看,此網(wǎng)絡(luò)的結(jié)果比缺少閉環(huán)檢測和重定位模塊的ORB-SLAM效果好,稍差于全模塊的ORB-SLAM。但由于完全是無監(jiān)督的方式,相當(dāng)于傳統(tǒng)方法中的單目SLAM算法,在實際運行中會出現(xiàn)與真實世界之間的尺度缺失,從軌跡的可視化中可以看到明顯的差異。
傳統(tǒng)SLAM算法中的特征點提取易受場景因素尤其是光照強(qiáng)度和場景內(nèi)容的影響,而深度網(wǎng)絡(luò)所提取的特征則具有較好的泛化性能,由此,本文提出利用深度學(xué)習(xí)對月面巡視器進(jìn)行即時定位與建圖。
在導(dǎo)航定位應(yīng)用中,最常用相機(jī)、激光雷達(dá)與GPS/IMU這三類傳感器,如百度的Apollo,谷歌的waymo等無人車項目,以及KITTI等導(dǎo)航定位相關(guān)數(shù)據(jù)集的采集用車。對于月球上的應(yīng)用,GPS將會失效,而月球的重力環(huán)境不同于地球,會導(dǎo)致IMU的加速度感知并不可靠,因此本文假設(shè)月面巡視器導(dǎo)航所使用的傳感器是單目相機(jī)和激光雷達(dá)。由此,本文設(shè)計如圖1所示的包含兩個網(wǎng)絡(luò)分支的即時定位與建圖深度學(xué)習(xí)網(wǎng)絡(luò):一個分支用于從圖像序列中學(xué)習(xí)幀間的位姿變換(PoseNet),另一個分支用于學(xué)習(xí)圖像的深度信息(DepthNet)。這兩個子網(wǎng)絡(luò)結(jié)構(gòu)主要參考Tinghui Zhou所提出的基于無監(jiān)督學(xué)習(xí)估計深度和位姿的方法(具體可參考文獻(xiàn)[12])。
圖1 基于深度學(xué)習(xí)的SLAM網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure of SLAM based on deep learning
位姿變換網(wǎng)絡(luò)PoseNet的輸入為連續(xù)5幀三通道彩色圖像,以通道數(shù)為軸將5張圖像堆疊起來,構(gòu)成一個高×寬×(通道數(shù)×5)的張量作為輸入。輸出結(jié)果是其余相鄰4幀與中間幀之間的相對位姿變換,包括平移量和旋轉(zhuǎn)量共6個自由度。PoseNet由卷積層和全局平均池化層(Global Average Pooling,GAP)構(gòu)成,具體網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計見表1。前7個卷積層為常見的卷積層,除了前兩層的卷積核(Kernel)大小為7×7和5×5,其余每層的局部感受野范圍都是3×3。前7個卷積層的步幅(Stride)為2,因此每層提取到的特征圖尺寸都是輸入的1/2。在特征圖尺寸縮小的同時,特征圖的通道數(shù)每層倍增至256。每個卷積層后連接ReLU作為激活函數(shù),其在增加網(wǎng)絡(luò)非線性的同時比使用sigmoid、tanh等激活函數(shù)有更快的計算速度[13]。經(jīng)過7個卷積層的特征提取后,這里用1×1的卷積層和GAP取代以往深度網(wǎng)絡(luò)中常用的全連接層,1×1的卷積層將256通道的特征圖降維至所需的輸出維度,最后由GAP對每個通道進(jìn)行全尺寸的平均將每個特征圖聚合成一個值。
深度估計網(wǎng)絡(luò)DepthNet的輸入是中間幀彩色圖像,輸出結(jié)果是彩色圖像對應(yīng)的深度圖。其網(wǎng)絡(luò)結(jié)構(gòu)如表2所示,由7組卷積和對應(yīng)的7組反卷積組成。每組卷積由兩個Kernel大小相同的卷積層組成,共同進(jìn)行特征提取,且對應(yīng)一組同樣大小的反卷積。反卷積層由Zeiler等在2010年提出,在正向和反向傳播中執(zhí)行著和卷積相反的運算[14]。反卷積和卷積一樣會通過網(wǎng)絡(luò)反向傳播來優(yōu)化濾波器參數(shù),可以達(dá)到較好的效果,因此被廣泛應(yīng)用在需要輸出像素級結(jié)果的網(wǎng)絡(luò)。由于DepthNet估計的深度信息也是像素級別的,所以利用卷積層提取特征后需要用對應(yīng)的反卷積層將大小還原到原圖。
本文所提出的深度網(wǎng)絡(luò)是基于全監(jiān)督的,采用已知的幀間旋轉(zhuǎn)、平移以及激光雷達(dá)采集并與圖像配準(zhǔn)的稀疏深度圖作為監(jiān)督信息。因此,設(shè)計的網(wǎng)絡(luò)損失函數(shù)主要包含位姿誤差、深度誤差、深度平滑誤差、光度誤差四個部分。
位姿誤差(Pose Loss)如公式(1)所示,位姿估計的監(jiān)督項是由網(wǎng)絡(luò)預(yù)測的位姿變換量和真實值之間的L2范數(shù)計算得到。
Lpose=‖tpred-tgt‖_2+‖rpred-rgt‖_2
(1)
式中,[tpred,rpred]代表網(wǎng)絡(luò)預(yù)測的位姿變換,[tgt,rgt]代表數(shù)據(jù)集提供的真實位姿變換。其中,t=[txtytz]T為三個相互正交坐標(biāo)軸的平移分量,r=[rxryrz]T代表繞各個軸旋轉(zhuǎn)的角度。
表 1 PoseNet的網(wǎng)絡(luò)結(jié)構(gòu)
表2 DepthNet的網(wǎng)絡(luò)結(jié)構(gòu)
注:其中Convib表示該卷積層以Convi層的輸出為輸入,且該層的輸入輸出尺寸相同;Upconv層表示反卷積層,Iconv層表示該卷積層的輸入來自多個網(wǎng)絡(luò)層跨接。
深度誤差(Depth Loss)為深度圖的監(jiān)督項設(shè)置成網(wǎng)絡(luò)預(yù)測的深度圖與真實值之間的絕對值差值的平均,如式(2)所示。如果深度圖真值是致密的,可以直接計算每個像素的預(yù)測結(jié)果和真值之間的誤差;如果深度圖真值是稀疏的,需要增加一個掩圖M(p)來過濾沒有真值影響結(jié)果的像素。掩圖是一張二值圖,有稀疏深度的像素位置M(p)為1,否則為0。
(2)
式中,Dpred為網(wǎng)絡(luò)預(yù)測的深度圖,Dgt為數(shù)據(jù)集提供的真實深度圖,p為圖像I中的一個像素坐標(biāo),N為所有像素總量。
(3)
在直接法SLAM中,假設(shè)同一個空間點在相鄰幀之間的圖像得到的灰度值基本一致可以構(gòu)造用于優(yōu)化的光度誤差(Photometric Loss)[8]。圖2展示了計算單個像素對應(yīng)光度誤差的方式,通過位姿變換將相鄰幀的像素點投影到當(dāng)前幀的對應(yīng)位置,并計算該位置上兩個像素點的灰度差,具體的推導(dǎo)過程如下:假設(shè)空間點P在相鄰兩幀圖像上的成像像素坐標(biāo)分別為p1,p2,則對于該像素點而言,直接法的光度誤差e計算如式(4):
e=Ic(p1)-Ir(p2)
(4)
圖2 光度誤差示意圖Fig.2 Schematic of photometric error
式中,I(p)為像素位置p的灰度值,Ic代表當(dāng)前幀,Ir代表相鄰幀。p1、p2兩個像素坐標(biāo)之間存在如式(5)所示的投影關(guān)系:
(5)
式中K為相機(jī)內(nèi)參矩陣,d1為該相機(jī)坐標(biāo)系下像素p1對應(yīng)的空間點P的深度(由深度圖提供),d2為該相機(jī)坐標(biāo)系下像素p2對應(yīng)的空間點P的深度(由空間點P通過變換矩陣計算得到)。由于p1通過兩重投影到得到的p2坐標(biāo)不一定是整數(shù),本文通過雙線性插值以相鄰的四個像素值獲得該像素對應(yīng)的像素值,這一系列計算記作ω(*),單個像素點的光度誤差可以寫作式(6):
e=Ic(p1)-Ir(ω(p1,D(p1),Tcr))
(6)
其中,D為當(dāng)前幀對應(yīng)的深度圖,Tcr為當(dāng)前幀和相鄰幀之間的位姿變換估計。作用于整張圖像的可視化效果如圖3所示。
圖3 光度誤差計算過程Fig.3 Calculation process of photometric error
將光度誤差應(yīng)用在網(wǎng)絡(luò)的損失函數(shù)構(gòu)造中可以得到式(7):
(7)
以上各誤差項通過不同的權(quán)重參數(shù)構(gòu)成網(wǎng)絡(luò)最終的損失函數(shù),如式(8)所示。
L=Lpose+λpLphotometric+λdLdepth+λsLsmooth
(8)
傳統(tǒng)的SLAM算法沒有學(xué)習(xí)的過程,而深度學(xué)習(xí)以數(shù)據(jù)驅(qū)動進(jìn)行學(xué)習(xí),需要大量的數(shù)據(jù)來訓(xùn)練模型。本文的實驗主要在地面真實道路場景的KITTI數(shù)據(jù)集以及仿月表環(huán)境數(shù)據(jù)集中進(jìn)行。
其中,KITTI數(shù)據(jù)集是目前國際上最大的自動駕駛場景下的計算機(jī)視覺算法評測數(shù)據(jù)集,數(shù)據(jù)集中的Odometry模塊包含了11個圖像和三維點云序列,提供了行駛軌跡的真值用作訓(xùn)練和調(diào)試算法。這里將00-08序列作為訓(xùn)練序列,09和10兩個序列用作測試[15]。由于KITTI數(shù)據(jù)集只提供了激光雷達(dá)的三維點云,需要事先配準(zhǔn)到圖像上得到稀疏的深度圖用于網(wǎng)絡(luò)預(yù)測深度的監(jiān)督。
仿月表環(huán)境數(shù)據(jù)集由項目組的實驗車在仿月表環(huán)境采集,包含用ZED相機(jī)采集的雙目圖像及Velodyne 16E激光雷達(dá)采集的三維點云序列,整個數(shù)據(jù)集共有9個序列,這里將05、06序列用于測試,剩余序列作為訓(xùn)練序列。與KITTI數(shù)據(jù)集類似,激光雷達(dá)三維點云數(shù)據(jù)需要預(yù)先配準(zhǔn)到圖像上得到稀疏的深度圖。
網(wǎng)絡(luò)的具體實現(xiàn)使用TensorFlow框架(該框架詳見文獻(xiàn)[16])。參考文獻(xiàn)[12]中網(wǎng)絡(luò)訓(xùn)練的設(shè)置,我們網(wǎng)絡(luò)訓(xùn)練過程中的基本參數(shù)設(shè)置如下:圖像大小為(128,416), 圖像序列長度為5(中間一幀為當(dāng)前幀,余下幀作為相鄰幀),學(xué)習(xí)率為0.0001,批量大小為4,優(yōu)化器為Adam[17],其中β1=0.9,β2=0.999,損失函數(shù)的各項參數(shù)設(shè)置為λp=1,λd=1,和λs=0.5,訓(xùn)練約210000次迭代時網(wǎng)絡(luò)基本收斂。網(wǎng)絡(luò)的訓(xùn)練和測試都在實驗室的GPU服務(wù)器上進(jìn)行,服務(wù)器配備了2個XEON E5-2620V4 2.1 GHz的處理器、64 G內(nèi)存和4塊11 GB GDDR5X顯存的NVIDIA 1080TI顯卡,訓(xùn)練時長約為20 h,測試階段每個樣本所需時間平均約為95 ms。
本文的實驗結(jié)果主要從定量和定性兩個方面進(jìn)行分析,對比的方法包括在傳統(tǒng)SLAM算法中效果較好且開源的ORB-SLAM[7]和Zhou提出的一種基于無監(jiān)督深度學(xué)習(xí)的SLAM方法[12],下文將其統(tǒng)一稱為Unsupervised模型。
定性分析主要是通過序列恢復(fù)的運動軌跡圖對比此方法和已有方法的效果。主要從軌跡圖來直觀地比較各個算法的效果,通過每個短序列預(yù)測的位姿結(jié)果將整個測試序列的行駛軌跡恢復(fù),其中選擇第一幀的相機(jī)坐標(biāo)系作為全局坐標(biāo)系,隨后將每一幀的位姿從局部位姿轉(zhuǎn)換為全局位姿,再投影至垂直相機(jī)的平面。
定量分析將使用已有公認(rèn)的評價標(biāo)準(zhǔn)對此方法預(yù)測得到的結(jié)果和已有的方法進(jìn)行對比。本文計算預(yù)測的位姿結(jié)果和真值之間的誤差所用的評價標(biāo)準(zhǔn)是2012年Sturm等提出的絕對軌跡誤差(Absolute trajectory error,ATE)[18]。由于預(yù)測的位姿和真值可能不在同一個參考系下,需要先對兩者進(jìn)行對齊,即通過剛體變換將兩個不同來源的位姿變換到同一個參考系下。參考Horn提出的方法[19],兩者的剛體變換存在閉式解S。通過變換后,兩者在第i時刻的絕對軌跡誤差的計算如式(9)所示:
(9)
式中,Pi為估計的位姿變換矩陣,Gi為對應(yīng)的真值。對于一條完整軌跡,可用式(9)計算軌跡上各個時刻的絕對軌跡誤差,并用其均方根誤差來表示整個序列的誤差,如式(10)所示。
(10)
其中trans(·)表示位姿變換矩陣中的平移向量部分。
在KITTI數(shù)據(jù)集上,用于對比的算法包括開源的傳統(tǒng)算法ORB-SLAM、Unsupervised模型和本文的算法。其中,Unsupervised模型有在KITTI上訓(xùn)練好的網(wǎng)絡(luò)參數(shù)可以直接復(fù)現(xiàn)其論文的結(jié)果。對于ORB-SLAM算法,這里使用了兩種輸入方式來得到位姿估計的結(jié)果:第一種是整個序列作為輸入(ORB-SLAM-long),這樣算法的閉環(huán)檢測和重定位功能可以發(fā)揮作用;第二種是為了保持實驗的對照性,采用和網(wǎng)絡(luò)同樣的5幀的短序列作為輸入(ORB-SLAM-short)。從表3可以看到,同樣是深度學(xué)習(xí)的方法,本文的位姿預(yù)測誤差較Unsupervised模型小。和ORB-SLAM比較,本文的預(yù)測結(jié)果誤差遠(yuǎn)小于同樣輸入方式的ORB-SLAM(short),精度稍遜于整個序列作為輸入的ORB-SLAM(long),原因在于對整個序列ORB-SLAM可以進(jìn)行全局優(yōu)化。
表3 在KITTI測試序列上的誤差對比
在KITTI數(shù)據(jù)集的測試序列上的軌跡結(jié)果如圖4所示,由于ORB-SLAM(short)用單目短序列作為輸入,導(dǎo)致算法經(jīng)常初始化不成功而使得算法跟蹤失敗,序列預(yù)測結(jié)果不連續(xù),所以軌跡圖中只使用ORB-SLAM(long)的結(jié)果作為對比。同樣由于單目視覺定位算法尺度缺失導(dǎo)致ORB-SLAM和Unsupervised模型的結(jié)果與原序列的軌跡差異較大。而本文的算法由于有位姿真值作為監(jiān)督,在尺度上與原序列差異不大,但預(yù)測結(jié)果仍存在明顯偏移。
圖4 在KITTI上的軌跡圖(單位:m)Fig.4 Trajectory of KITTI test sequences (unit: m)
KITTI數(shù)據(jù)集測試序列上的深度預(yù)測結(jié)果比較如圖5。因為有稀疏的深度圖真值監(jiān)督,本文算法得到的深度圖結(jié)果比Unsupervised模型的細(xì)節(jié)更為豐富,在第三列開闊的場景下仍有合理的深度圖結(jié)果。
圖5 在KITTI上的深度圖結(jié)果Fig.5 Depth Map of KITTI Test Sequences
在仿月表面數(shù)據(jù)集上,我們由于沒有手段獲取精度足夠的位姿真值,最后以雙目版本ORB-SLAM在數(shù)據(jù)集上的定位結(jié)果作為訓(xùn)練的偽真值,因此在最后的實驗結(jié)果中,我們只將本網(wǎng)絡(luò)的輸出結(jié)果與ORB-SLAM的結(jié)果進(jìn)行對比。
根據(jù)表4的結(jié)果,我們的網(wǎng)絡(luò)在仿月表面數(shù)據(jù)集上的誤差與在KITTI數(shù)據(jù)集上的誤差近似。而從圖6中可以看到,我們的方法在仿月表面數(shù)據(jù)集上的定位性能相比于KITTI數(shù)據(jù)集有一定程度地下降,且預(yù)測的軌跡尺度明顯偏小。
性能下降的一個原因在于仿月表面數(shù)據(jù)集與KITTI數(shù)據(jù)集有兩點較為明顯的差異,導(dǎo)致網(wǎng)絡(luò)的性能不同:
1)KITTI和仿月表面兩個數(shù)據(jù)集中采集圖像所使用的相機(jī)內(nèi)部參數(shù)并不相同,而我們的網(wǎng)絡(luò)是隱式地學(xué)習(xí)相機(jī)內(nèi)部參數(shù),因此在不同的相機(jī)參數(shù)圖像上效果會受到影響。
2)仿月表面數(shù)據(jù)集的深度真值來自于16線的激光雷達(dá),而KITTI數(shù)據(jù)集則是使用64線激光雷達(dá),在深度指導(dǎo)信息上,KITTI數(shù)據(jù)集更加豐富,因此對于尺度信息的恢復(fù)效果也優(yōu)于仿月表面數(shù)據(jù)集。
另外仿月表面數(shù)據(jù)集相比于KITTI數(shù)據(jù)集而言數(shù)據(jù)的數(shù)量較少,因此我們測試時使用的模型是在KITTI數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練后,用仿月表面數(shù)據(jù)集進(jìn)行微調(diào)得到的,因此網(wǎng)絡(luò)在仿月表面數(shù)據(jù)集上有性能下降符合我們的預(yù)期。
表4 在仿月表面數(shù)據(jù)集測試序列上的誤差對比
受限于本數(shù)據(jù)集中位姿真值的精度,我們無法做進(jìn)一步的定量分析來評判網(wǎng)絡(luò)性能,但我們依舊可以認(rèn)為我們的網(wǎng)絡(luò)對于仿月表面這種場景特征相對較少的環(huán)境依舊有一定的適應(yīng)能力。而要進(jìn)一步提升該算法在仿月表面環(huán)境中的性能,首先需要進(jìn)一步擴(kuò)充仿月表面數(shù)據(jù)集,另外對于網(wǎng)絡(luò)模型則要進(jìn)一步考慮相機(jī)的內(nèi)部參數(shù),使其能夠適用與不同的相機(jī)。
圖6 在仿月表面數(shù)據(jù)集測試序列上的軌跡圖(單位:m)Fig.6 Trajectory of sim-moonscape dataset test sequences (unit: m)
本文設(shè)計的一個全監(jiān)督的卷積神經(jīng)網(wǎng)絡(luò)對單目SLAM建模,從圖像序列中直接估計平移量和旋轉(zhuǎn)量,減少了傳統(tǒng)方法中人工設(shè)計特征和根據(jù)場景設(shè)置各種參數(shù)閾值的局限性,增加算法對環(huán)境的適應(yīng)性和魯棒性。另外,本文引入三維點云構(gòu)成的稀疏深度圖作為監(jiān)督,采用光度誤差構(gòu)造的損失函數(shù)將深度信息和位姿信息結(jié)合,帶來了豐富的場景深度信息,克服了不同場景深度預(yù)測的難點,同時為地圖構(gòu)建提供了三維信息。
本文的方法在沒有閉環(huán)檢測的情況下在KITTI數(shù)據(jù)上取得了與ORB-SLAM算法相近的性能,同時對自行采集的仿月表面數(shù)據(jù)集中的場景也有一定的適應(yīng)能力。
在實際應(yīng)用中,目前的工作還有進(jìn)一步提升的空間:當(dāng)前的網(wǎng)絡(luò)只以5幀連續(xù)圖像序列為輸入,無法考慮閉環(huán)信息,這樣在全局性能上顯著弱于傳統(tǒng)SLAM算法;網(wǎng)絡(luò)只是隱式地學(xué)習(xí)相機(jī)內(nèi)部參數(shù),因此只適用于訓(xùn)練數(shù)據(jù)對應(yīng)的相機(jī),需要提升其對不同相機(jī)的適應(yīng)能力。