Attention SLAM:一種從人類(lèi)注意中學(xué)習(xí)的視覺(jué)單目SLAM
0. 引言
當(dāng)人們?cè)谝粋€(gè)環(huán)境中四處走動(dòng)時(shí),他們通常會(huì)移動(dòng)眼睛來(lái)聚焦并記住顯而易見(jiàn)的地標(biāo),這些地標(biāo)通常包含最有價(jià)值的語(yǔ)義信息?;谶@種人類(lèi)本能,"Attention-SLAM: A Visual Monocular SLAM Learning from Human Gaze"的作者提出了一種新的方法來(lái)幫助SLAM系統(tǒng)模擬人類(lèi)導(dǎo)航時(shí)的行為模式。該論文為語(yǔ)義SLAM和計(jì)算機(jī)視覺(jué)任務(wù)提出了一種全新的模式。此外,作者公開(kāi)了他們標(biāo)注了顯著性EuRoc數(shù)據(jù)集。
1. 論文信息
標(biāo)題:Attention-SLAM: A Visual Monocular SLAM Learning from Human Gaze
作者:Jinquan Li, Ling Pei, Danping Zou, Songpengcheng Xia, Qi Wu, Tao Li, Zhen Sun, Wenxian Yu
來(lái)源:2020 Computer Vision and Pattern Recognition (CVPR)
原文鏈接:https://arxiv.org/abs/2009.06886v1
代碼鏈接:https://github.com/Li-Jinquan/Salient-Euroc
2. 摘要
本文提出了一種新穎的同步定位與建圖(SLAM)方法,即Attention-SLAM,它通過(guò)結(jié)合視覺(jué)顯著性模型(SalNavNet)和傳統(tǒng)的單目視覺(jué)SLAM來(lái)模擬人類(lèi)的導(dǎo)航模式。大多數(shù)SLAM方法在優(yōu)化過(guò)程中將從圖像中提取的所有特征視為同等重要。然而,場(chǎng)景中的顯著特征點(diǎn)在人類(lèi)導(dǎo)航過(guò)程中具有更顯著的影響。因此,我們首先提出了一個(gè)稱(chēng)為SalVavNet的視覺(jué)顯著性模型,其中我們引入了一個(gè)相關(guān)性模塊,并提出了一個(gè)自適應(yīng)指數(shù)移動(dòng)平均(EMA)模塊。這些模塊減輕了中心偏差,以使SalNavNet生成的顯著圖能夠更多地關(guān)注同一顯著對(duì)象。此外,顯著圖模擬了人的行為,用于改進(jìn)SLAM結(jié)果。從顯著區(qū)域提取的特征點(diǎn)在優(yōu)化過(guò)程中具有更大的權(quán)重。我們將語(yǔ)義顯著性信息添加到Euroc數(shù)據(jù)集,以生成開(kāi)源顯著性SLAM數(shù)據(jù)集。綜合測(cè)試結(jié)果證明,在大多數(shù)測(cè)試案例中,Attention-SLAM在效率、準(zhǔn)確性和魯棒性方面優(yōu)于Direct Sparse Odometry (DSO)、ORB-SLAM和Salient DSO等基準(zhǔn)。
3. 算法分析
如圖1所示是作者提出的Attention-SLAM架構(gòu),在架構(gòu)主要是在基于特征點(diǎn)的視覺(jué)單目SLAM中加入顯著性語(yǔ)義信息。首先,作者利用顯著性模型來(lái)生成Euroc數(shù)據(jù)集的相應(yīng)顯著性圖。這些圖顯示了圖像序列中每一幀的重要區(qū)域。其次,作者采用它們作為權(quán)值,使特征點(diǎn)在BA過(guò)程中具有不同的權(quán)重。它幫助系統(tǒng)保持語(yǔ)義的一致性。當(dāng)圖像序列中存在相似紋理時(shí),傳統(tǒng)的基于特征點(diǎn)的SLAM方法可能會(huì)出現(xiàn)誤匹配。這些失配點(diǎn)可能會(huì)降低SLAM系統(tǒng)的精度。因此,這種方法確保系統(tǒng)聚焦在最重要區(qū)域的特征點(diǎn)上,提高了準(zhǔn)確性和效率。此外,作者還利用信息論來(lái)選擇關(guān)鍵幀和估計(jì)姿態(tài)估計(jì)的不確定性。

圖1 Attention-SLAM架構(gòu)總覽
作者的主要貢獻(xiàn)如下:
(1) 作者提出了一種新穎的SLAM架構(gòu),即Attention-SLAM。該架構(gòu)使用一種加權(quán)BA方法來(lái)代替SLAM中的傳統(tǒng)BA。它能更有效地減小軌跡誤差。通過(guò)在導(dǎo)航期間學(xué)習(xí)人類(lèi)的注意,顯著特征被用于具有高權(quán)重的SLAM后端。與基準(zhǔn)相比,Attention-SLAM可以用更少的關(guān)鍵幀減少姿態(tài)估計(jì)的不確定性,并獲得更高的精度。
(2) 作者提出了一個(gè)名為SalNavNet的視覺(jué)顯著性模型來(lái)預(yù)測(cè)幀中的顯著區(qū)域。主要在SalNavNet中引入了一個(gè)關(guān)聯(lián)模塊,并提出了一個(gè)自適應(yīng)EMA模塊。這些模塊可以減輕顯著性模型的中心偏差,并學(xué)習(xí)幀之間的相關(guān)性信息。通過(guò)減輕大多數(shù)視覺(jué)顯著性模型所具有的中心偏差,SalNavNet提取的視覺(jué)顯著性語(yǔ)義信息可以幫助Attention-SLAM一致地聚焦于相同顯著對(duì)象的特征點(diǎn)。
(3) 通過(guò)應(yīng)用SalNavNet,作者生成了一個(gè)基于EuRoc的開(kāi)源顯著數(shù)據(jù)集。使用顯著性Euroc數(shù)據(jù)集的評(píng)估證明,Attention-SLAM在效率、準(zhǔn)確性和魯棒性方面優(yōu)于各項(xiàng)基準(zhǔn)。
3.1 SalNavNet網(wǎng)絡(luò)架構(gòu)
Attention-SLAM由兩部分組成,第一部分是輸入數(shù)據(jù)的預(yù)處理,第二部分是視覺(jué)SLAM系統(tǒng)。在第一部分,作者使用提出的SalNavNet生成對(duì)應(yīng)于SLAM數(shù)據(jù)集的顯著圖。這些顯著圖被用作輸入來(lái)幫助SLAM系統(tǒng)找到顯著的關(guān)鍵點(diǎn)。
在幀序列中,顯著物體的位置會(huì)隨著鏡頭移動(dòng)。由于現(xiàn)有顯著性模型的中心偏差,只有當(dāng)這些顯著對(duì)象到達(dá)圖像的中心時(shí),顯著性模型才將其標(biāo)記為顯著區(qū)域。當(dāng)這些對(duì)象移動(dòng)到圖像的邊緣時(shí),顯著性模型會(huì)忽略這些對(duì)象。注意力的轉(zhuǎn)移使得視覺(jué)SLAM系統(tǒng)不能一致地聚焦于相同的顯著特征。在Attention-SLAM中,作者希望顯著性模型能夠連續(xù)聚焦于相同的特征點(diǎn),而不管它們是否在圖像的中心。因此,作者應(yīng)用的SalNavNet的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,它采用與SalEMA和SalGAN相同的編碼器和解碼器結(jié)構(gòu),其中編碼器部分是VGG-16,解碼器使用與編碼器相反順序的網(wǎng)絡(luò)結(jié)構(gòu)。SalNavNet可以在專(zhuān)注于上下文信息的同時(shí),避免注意力的快速變化。

圖2 SalNavNet架構(gòu)
為了學(xué)習(xí)幀間的連續(xù)信息,作者首先利用圖3所示的幀相關(guān)模塊,通過(guò)編碼器輸出比較當(dāng)前幀的特征圖和通過(guò)編碼器輸出的前一幀的特征圖。最后,得到兩幀的相關(guān)系數(shù)λ,并將相關(guān)系數(shù)引入自適應(yīng)EMA模塊。當(dāng)λ接近1時(shí),表示兩個(gè)特征圖沒(méi)有變化。當(dāng)相鄰特征圖的差異較大時(shí),會(huì)使λ的值變小。因此,當(dāng)兩個(gè)相鄰特征圖之間存在巨大變化時(shí),顯著性模型生成的顯著性圖具有快速的注意力變化。

圖3 幀相關(guān)模塊架構(gòu)
此外,作者設(shè)計(jì)了一個(gè)自適應(yīng)EMA模塊,如圖4所示。一方面,自適應(yīng)EMA模塊允許模型學(xué)習(xí)幀之間的連續(xù)信息。另一方面,相似系數(shù)λ的引入減輕了顯著模型的中心偏差和注意力的快速變化。在視覺(jué)顯著性領(lǐng)域,注意力的快速變化可以更好地模仿數(shù)據(jù)集的真實(shí)數(shù)據(jù)。

圖4 EMA模塊架構(gòu)
3.2 權(quán)重BA優(yōu)化及關(guān)鍵幀選擇
Attention-SLAM系統(tǒng)的第二部分使用顯著圖來(lái)提高優(yōu)化精度和效率。作者使用視覺(jué)顯著性模型生成的模型作為權(quán)值。顯著性地圖是灰度地圖,其中白色部分的值為255,黑色部分的值為0。為了使用顯著性映射作為權(quán)重,作者將這些映射歸一化:

其中,重投影誤差計(jì)算公式為:

作者使用熵減少的概念作為選擇關(guān)鍵幀的標(biāo)準(zhǔn),以進(jìn)一步提高Attention-SLAM系統(tǒng)的性能。具體來(lái)說(shuō)有如下幾個(gè)步驟:
(1) 利用熵比選擇關(guān)鍵幀:在Attention-SLAM的運(yùn)動(dòng)估計(jì)過(guò)程中,使用如下表達(dá)式進(jìn)行熵比計(jì)算:


在原文中,作者設(shè)置α的閾值為0.9。當(dāng)一幀的熵比超過(guò)0.9時(shí),它將不會(huì)被選為關(guān)鍵幀。因?yàn)檫@意味著當(dāng)前幀不能有效地降低運(yùn)動(dòng)估計(jì)的不確定性。
(2) 熵縮減評(píng)估:顯著性模型從環(huán)境中提取語(yǔ)義顯著性信息,這可能會(huì)使Attention-SLAM估計(jì)的軌跡更接近軌跡真值。因此,作者從信息論的角度分析了Attention-SLAM對(duì)姿態(tài)估計(jì)的不確定性的影響。計(jì)算公式如下:


其中,n為關(guān)鍵幀數(shù)。作者主要計(jì)算ORB-SLAM和Attention-SLAM之間的熵縮減γ。如果Attention-SLAM在姿態(tài)估計(jì)過(guò)程中的不確定性小于ORB-SLAM,則γ將大于零。
4.實(shí)驗(yàn)
作者首先分析了不同顯著性模型生成的顯著性圖對(duì)Attention-SLAM的影響,并使用顯著性模型生成了一個(gè)新的顯著性數(shù)據(jù)集,稱(chēng)為顯著EuRoc。然后,作者在顯著的Euroc數(shù)據(jù)集上將Attention-SLAM與其他SOTA的視覺(jué)SLAM方法進(jìn)行比較。作者使用的計(jì)算設(shè)備為i5-9300H CPU (2.4 GHz)和16G RAM。
4.1 基于Attention-SLAM的圖像顯著性模型
如圖5所示是分別使用顯著性模型SalGAN和顯著性模型SalEMA生成對(duì)應(yīng)于Euroc數(shù)據(jù)集的顯著圖結(jié)果,SalEMA生成的顯著圖中的顯著區(qū)域很小,SalGAN生成的顯著圖的中心偏差較弱。表1所示是計(jì)算的絕對(duì)軌跡誤差(ate)的均方根(RMSE)。結(jié)果顯示,SalGAN生成的顯著圖有助于Attention-SLAM在大多數(shù)數(shù)據(jù)序列中表現(xiàn)更好,即弱中心偏置的顯著圖使得Attention-SLAM達(dá)到更高的精度。

圖5 顯著圖比較:(a)原始圖像序列 (b)SalEMA生成的顯著圖 (c)SalGAN生成的顯著圖
表1 使用不同顯著性模型生成的權(quán)重,計(jì)算ORB-SLAM和Attention-SLAM之間的絕對(duì)軌跡誤差的RMSE

4.2 視頻顯著性模型與SalNavNet的比較
如圖6所示是SalEMA與SalNavNet生成的顯著圖對(duì)比。結(jié)果顯示,SalEMA生成的顯著圖具有很強(qiáng)的中心偏差。雖然相鄰的三幅原始圖像變化不大,但是SalEMA生成的顯著圖發(fā)生了顯著變化。而SalNavNet生成的顯著圖減輕了中心偏差。如表2所示,SalNavNet在大多數(shù)數(shù)據(jù)序列中的表現(xiàn)優(yōu)于SalEMA。這意味著SalNavNet生成的顯著圖可以幫助Attention-SLAM比SalEMA獲得更好的性能。

圖6 顯著圖對(duì)比:(a)原始圖像序列 (b)SalEMA生成的顯著圖 (c)SalNavNet生成的顯著圖
表2 使用最先進(jìn)的顯著性模型SalEMA與使用SalNavNet的Attention-slam之間的絕對(duì)軌跡誤差的RMSE

4.3 顯著性Euroc數(shù)據(jù)集
為了驗(yàn)證Attention-SLAM的有效性,作者在EuRoc數(shù)據(jù)集的基礎(chǔ)上建立了一個(gè)新的語(yǔ)義SLAM數(shù)據(jù)集。顯著性EuRoc數(shù)據(jù)集包括原始數(shù)據(jù)集中cam0的數(shù)據(jù)、真實(shí)值和相應(yīng)的顯著性圖。圖7展示了顯著性Euroc數(shù)據(jù)集中三個(gè)連續(xù)的相框及其對(duì)應(yīng)的視覺(jué)顯著性掩碼??梢园l(fā)現(xiàn),注意力隨著相機(jī)運(yùn)動(dòng)的變化而變化,但對(duì)顯著物體的注意是連續(xù)的。

圖7 顯著性EuRoc數(shù)據(jù)集:(a)原始圖像 (b)相應(yīng)的顯著性表示,其中白色部分表示更高的關(guān)注度 (c)熱力圖表示
4.4 與其他SLAM方法的比較
圖8所示是Attention-SLAM在V101數(shù)據(jù)集上的二維軌跡。結(jié)果表明,使用Attention-SLAM估計(jì)的軌跡更接近真值。Attention-SLAM更加關(guān)注顯著的特征點(diǎn),從而使姿態(tài)估計(jì)更接近真實(shí)值。為了更好地分析姿態(tài)估計(jì)的準(zhǔn)確性,作者分別在圖9中繪制了三維姿態(tài)的估計(jì)值和真實(shí)值。并使用一個(gè)紅色的框架來(lái)擴(kuò)大軌跡的重要部分。兩種方法在前40秒內(nèi)都很好地跟蹤了軌跡,但之后基線(xiàn)方法在X軸和Z軸上的大偏移量。在50-60秒時(shí),Attention-SLAM可以更好地跟蹤Z軸。

圖8 在v101數(shù)據(jù)集上ORB-SLAM和Attention-SLAM的2D軌跡比較

圖9 ORB-SLAM和Attention-SLAM的3D軌跡對(duì)比
為了進(jìn)一步評(píng)估Attention-SLAM,作者對(duì)比了Attention-SLAM和DSO的性能,結(jié)果如表3和表4所示。結(jié)果顯示,Attention-SLAM在大多數(shù)場(chǎng)景中獲得了較高精度。
表3 相關(guān)方法和Attention-SLAM的平均絕對(duì)軌跡誤差

表4 相關(guān)方法和Attention-SLAM的RMSE絕對(duì)軌跡誤差

表5所示是ORB-SLAM和Attention-SLAM生成的關(guān)鍵幀對(duì)比。結(jié)果顯示,Attention-slam在最簡(jiǎn)單和中等難度的數(shù)據(jù)序列中表現(xiàn)良好,但在困難的序列中表現(xiàn)不佳,例如MH04、MH05、V203、V103。
表5 關(guān)鍵幀數(shù)量

但在作者將熵關(guān)鍵幀選擇策略添加到Attention-SLAM之后,這個(gè)標(biāo)準(zhǔn)使得Attention-SLAM在困難的數(shù)據(jù)序列中選擇更多的關(guān)鍵幀。如表6所示,這一標(biāo)準(zhǔn)使Attention-SLAM在困難的數(shù)據(jù)序列中表現(xiàn)更好。因此,熵比度量是Attention-SLAM的一個(gè)重要策略。當(dāng)顯著性模型向系統(tǒng)添加足夠的語(yǔ)義信息時(shí),就會(huì)使系統(tǒng)選擇更少的關(guān)鍵幀。當(dāng)顯著性模型不能降低運(yùn)動(dòng)估計(jì)的不確定性時(shí),會(huì)使系統(tǒng)選擇更多的關(guān)鍵幀以獲得更好的性能。
表6 添加熵比選擇前后Attention-SLAM的平均ATE性能比較

此外,如表7所示,Attention-SLAM降低了傳統(tǒng)方法的不確定性,熵的減少與Attention-SLAM的精度呈正相關(guān)。
表7 熵縮減的對(duì)比

5. 結(jié)論
在2020 CVPR論文"Attention-SLAM: A Visual Monocular SLAM Learning from Human Gaze"中,作者提出了一種稱(chēng)為Attention-SLAM的語(yǔ)義SLAM方法。它結(jié)合了視覺(jué)顯著性語(yǔ)義信息和視覺(jué)SLAM系統(tǒng)。作者基于EuRoc數(shù)據(jù)集建立了顯著EuRoc,這是一個(gè)標(biāo)注了顯著語(yǔ)義信息的SLAM數(shù)據(jù)集。與目前主流的單目視覺(jué)SLAM方法相比,該方法具有更高的效率和準(zhǔn)確性,同時(shí)可以降低姿態(tài)估計(jì)的不確定性。
