論文信息
題目:LEARNING TO EXPLORE USING ACTIVE NEURAL SLAM
作者:Devendra Singh Chaplot, Dhiraj Gandhi
項(xiàng)目地址:https://devendrachaplot.github.io/projects/Neural-SLAM
代碼地址:https://github.com/devendrachaplot/Neural-SLAM
來源:LCLR
時(shí)間:2022
Abstract
這項(xiàng)工作提出了一種模塊化和分層的方法來學(xué)習(xí)探索 3D 環(huán)境的策略,稱為“Active Neural SLAM”。
我們的方法結(jié)合了經(jīng)典方法和基于學(xué)習(xí)的方法的優(yōu)勢(shì),通過使用帶有學(xué)習(xí) SLAM 模塊的分析路徑規(guī)劃器以及全局和本地策略。
學(xué)習(xí)的使用提供了輸入模式(在 SLAM 模塊中)方面的靈活性,利用了世界的結(jié)構(gòu)規(guī)律(在全局策略中),并為狀態(tài)估計(jì)中的錯(cuò)誤(在本地策略中)提供了魯棒性。
所提出的模型還可以輕松轉(zhuǎn)移到 PointGoal 任務(wù),并且是 CVPR 2019 Habitat PointGoal 導(dǎo)航挑戰(zhàn)賽的獲勝作品。
Introduction
雖然使用學(xué)習(xí)進(jìn)行探索是有充分動(dòng)機(jī)的,但將探索問題轉(zhuǎn)化為端到端學(xué)習(xí)問題有其自身的缺點(diǎn)。以端到端的方式純粹從數(shù)據(jù)中學(xué)習(xí)映射、狀態(tài)估計(jì)和路徑規(guī)劃可能會(huì)非常困難。因此,Chen 等人(2019)過去用于探索的端到端學(xué)習(xí)工作依賴于模仿學(xué)習(xí)和數(shù)百萬幀經(jīng)驗(yàn)的使用,但仍然比根本不需要任何訓(xùn)練的經(jīng)典方法表現(xiàn)更差。
在本文中,我們研究了利用學(xué)習(xí)進(jìn)行探索的替代方案,該方案保留了學(xué)習(xí)必須提供的優(yōu)勢(shì),但沒有成熟的端到端學(xué)習(xí)的缺點(diǎn)。我們的關(guān)鍵概念見解是,使用learning為了對(duì)室內(nèi)環(huán)境的結(jié)構(gòu)規(guī)律的利用、對(duì)狀態(tài)估計(jì)誤差的魯棒性、對(duì)輸入模式的靈活性。這些發(fā)生在不同的時(shí)間尺度上,因此可以被分解出來。
我們提出的探索架構(gòu)由學(xué)習(xí)神經(jīng) SLAM 模塊、全局策略和本地策略組成,它們通過地圖和分析路徑規(guī)劃器連接。
學(xué)習(xí)神經(jīng) SLAM 模塊可生成自由空間地圖,并根據(jù)輸入 RGB 圖像和運(yùn)動(dòng)傳感器估計(jì)代理姿勢(shì)。
全局策略使用代理姿勢(shì)來占據(jù)這個(gè)自由空間地圖,并利用學(xué)習(xí)來利用現(xiàn)實(shí)世界環(huán)境布局中的結(jié)構(gòu)規(guī)律來產(chǎn)生長(zhǎng)期目標(biāo)。
這些長(zhǎng)期目標(biāo)用于生成本地政策的短期目標(biāo)(使用幾何路徑規(guī)劃器)。
本地策略使用學(xué)習(xí)將原始 RGB 圖像直接映射到代理應(yīng)執(zhí)行的操作。
在 SLAM 模塊中使用學(xué)習(xí)提供了輸入模態(tài)方面的靈活性,學(xué)習(xí)的全局策略可以利用現(xiàn)實(shí)環(huán)境布局中的規(guī)律性,而學(xué)習(xí)的本地策略可以使用視覺反饋來表現(xiàn)出更穩(wěn)健的行為。
Related Work
Navigation Approaches
經(jīng)典的導(dǎo)航方法將問題分為兩部分:地圖繪制和路徑規(guī)劃。
Exploration in Navigation
雖然許多工作專注于被動(dòng)地圖構(gòu)建、路徑規(guī)劃和目標(biāo)驅(qū)動(dòng)的策略學(xué)習(xí),但一小部分工作解決了主動(dòng) SLAM 的問題,即如何主動(dòng)控制相機(jī)來構(gòu)建地圖。
Hierachical and Modular Policies(分層和策略學(xué)習(xí))
分層強(qiáng)化學(xué)習(xí)(Dayan 和 Hinton,1993;Sutton 等,1999;Barto 和 Mahadevan,2003)是一個(gè)活躍的研究領(lǐng)域,旨在自動(dòng)發(fā)現(xiàn)層次結(jié)構(gòu)以加速學(xué)習(xí)。然而,這已被證明具有挑戰(zhàn)性,因此大多數(shù)工作都訴諸于使用手動(dòng)定義層次結(jié)構(gòu)。例如,在導(dǎo)航方面,Bansal 等人(2019) 和 Kaufmann 等人 (2019) 設(shè)計(jì)了用于導(dǎo)航的模塊化策略,將學(xué)習(xí)策略與低級(jí)反饋控制器連接起來。分層和模塊化策略也已用于嵌入式問答(Das 等人,2018a;Gordon 等人,2018;Das 等人,2018b)。
Task Setup
Actuation and Noise Model(驅(qū)動(dòng)和噪聲模型)
我們用 (x, y, o) 表示代理的姿勢(shì),假設(shè)智能體從 p 0 = ( 0 , 0 , 0 ) p_0 = (0, 0, 0) p0?=(0,0,0)開始。現(xiàn)在,假設(shè)代理采取行動(dòng)。每個(gè)動(dòng)作都作為機(jī)器人的控制命令來實(shí)現(xiàn)。
設(shè)相應(yīng)的控制命令為
Δ
u
a
=
(
x
a
,
y
a
,
o
a
)
Δu_a = (x_a,y_a,o_a)
Δua?=(xa?,ya?,oa?)。讓智能體在動(dòng)作后的姿勢(shì)為
p
1
=
(
x
?
,
y
?
,
o
?
)
p_1 = (x^*, y^*, o^*)
p1?=(x?,y?,o?)。驅(qū)動(dòng)噪聲 (
?
a
c
t
\epsilon _{act}
?act?) 是動(dòng)作后的實(shí)際代理姿勢(shì) (
p
1
p_1
p1?) 與預(yù)期代理姿勢(shì) (
p
0
+
Δ
u
p_0 + Δu
p0?+Δu) 之間的差異:
?
a
c
t
=
p
1
?
(
p
0
+
Δ
u
)
=
(
x
?
?
x
a
,
y
?
?
y
a
,
o
?
?
o
a
)
\epsilon _{act} = p_1-(p_0+\Delta u)=(x^*-x_a,y^*-y_a,o^*-o_a)
?act?=p1??(p0?+Δu)=(x??xa?,y??ya?,o??oa?)
移動(dòng)機(jī)器人通常具有估計(jì)機(jī)器人移動(dòng)時(shí)的姿勢(shì)的傳感器。令傳感器在動(dòng)作后估計(jì)智能體的姿勢(shì)為
p
1
′
=
(
x
′
,
y
′
,
o
′
)
p^{\prime}_1 = (x^{\prime}, y^{\prime}, o^{\prime})
p1′?=(x′,y′,o′)。傳感器噪聲 (
?
s
e
n
\epsilon _{sen}
?sen?) 由傳感器姿態(tài)估計(jì) (
p
1
′
p^{\prime}_1
p1′?) 和實(shí)際代理姿態(tài) (
p
1
p_1
p1?) 之間的差異給出;
?
s
e
n
=
p
1
′
?
p
1
=
(
x
′
?
x
?
,
y
′
?
y
?
,
o
′
?
o
?
)
\epsilon _{sen} = p^{\prime}_1-p_1=(x^{\prime}-x^*,y^{\prime}-y^*,o^{\prime}-o^*)
?sen?=p1′??p1?=(x′?x?,y′?y?,o′?o?)
我們使用三個(gè)默認(rèn)的導(dǎo)航動(dòng)作:前進(jìn):向前移動(dòng)25厘米,右轉(zhuǎn):原地順時(shí)針旋轉(zhuǎn)10度,左轉(zhuǎn):原地逆時(shí)針旋轉(zhuǎn)10度。控制命令的實(shí)現(xiàn)為:
u
F
o
r
w
a
r
d
=
(
0.25
,
0
,
0
)
u_{Forward} = (0.25, 0, 0)
uForward?=(0.25,0,0)
u
R
i
g
h
t
:
(
0
,
0
,
?
10
?
π
/
180
)
,
u
L
e
f
t
:
(
0
,
0
,
10
?
π
/
180
)
u_{Right} : (0, 0, ?10?π/180) , u_{Left} : (0, 0, 10 ? π/180)
uRight?:(0,0,?10?π/180),uLeft?:(0,0,10?π/180)
Methods
“Active Neural SLAM”。它由三個(gè)組件組成:神經(jīng) SLAM 模塊、全局策略和局部策略,如圖 1 所示。神經(jīng) SLAM 模塊根據(jù)當(dāng)前觀察和先前的預(yù)測(cè)來預(yù)測(cè)環(huán)境地圖和代理姿勢(shì)。全局策略使用預(yù)測(cè)的地圖和代理姿勢(shì)來產(chǎn)生長(zhǎng)期目標(biāo)。使用路徑規(guī)劃將長(zhǎng)期目標(biāo)轉(zhuǎn)換為短期目標(biāo)。本地策略根據(jù)當(dāng)前觀察采取導(dǎo)航行動(dòng)以實(shí)現(xiàn)短期目標(biāo)。
Map Representation
Active Neural SLAM 模型內(nèi)部維護(hù)空間圖、 m t m_t mt? 和智能體 x t x_t xt? 的姿態(tài)??臻g地圖 m t m_t mt? 是一個(gè) 2 × M × M 矩陣,其中 M × M 表示地圖大小,該空間地圖中的每個(gè)元素對(duì)應(yīng)于物理世界中大小為 25cm2 (5cm × 5cm) 的單元。第一個(gè)通道中的每個(gè)元素表示相應(yīng)位置處存在障礙物的概率,第二個(gè)通道中的每個(gè)元素表示正在探索的該位置的概率。當(dāng)已知單元格是自由空間或障礙物時(shí),就認(rèn)為該單元格已被探索??臻g圖在步驟開始時(shí)用全零進(jìn)行初始化, m 0 = [ 0 ] 2 × M × M m_0 = [0]^{2×M×M} m0?=[0]2×M×M 。
位姿 x t ∈ R 3 x_t ∈ \mathbb{R}^3 xt?∈R3 表示智能體的 x 和 y 坐標(biāo)以及智能體在時(shí)間 t 時(shí)的方向。智能體在步驟開始時(shí)總是從地圖中心面向東開始, x 0 = ( M / 2 , M / 2 , 0.0 ) x_0 = (M/2, M/2, 0.0) x0?=(M/2,M/2,0.0)
Neural SLAM Module
Neural SLAM 模塊 ( f S L A M f_{SLAM} fSLAM? ) 接收當(dāng)前 RGB 觀測(cè)值 s t s_t st?、當(dāng)前和上一次傳感器獲取的智能體姿勢(shì) x t ? 1 : t ′ x^{\prime}_{t?1:t} xt?1:t′?、上一次智能體姿勢(shì)和地圖估計(jì) x ^ t ? 1 \hat{x}_{t?1} x^t?1?、 m t ? 1 m_{t?1} mt?1?,并輸出更新后的地圖 m t m_t mt? 和當(dāng)前代理姿態(tài)估計(jì) x ^ t \hat{x}_{t} x^t?(見圖 2): m t , x ^ t = f S L A M ( s t , x t ? 1 : t ′ , x ^ t ? 1 , m t ? 1 ∣ θ S ) m_t, \hat{x}_t = f_{SLAM}(s_t, x^{\prime}_{t?1:t}, \hat{x}_{t?1}, m_{t?1}|θ_S) mt?,x^t?=fSLAM?(st?,xt?1:t′?,x^t?1?,mt?1?∣θS?),其中 θ S θ_S θS? 表示可訓(xùn)練參數(shù)神經(jīng)SLAM模塊。
它由兩個(gè)學(xué)習(xí)組件組成:映射器和姿勢(shì)估計(jì)器。 Mapper(
f
M
a
p
f_{Map}
fMap?)輸出一個(gè)以自我為中心的自上而下的二維空間圖,
p
t
e
g
o
∈
[
0
,
1
]
2
×
V
×
V
p^{ego}_t ∈ [0, 1]^{2×V ×V}
ptego?∈[0,1]2×V×V(其中V是視野范圍),預(yù)測(cè)當(dāng)前觀察中的障礙物和探索區(qū)域。姿勢(shì)估計(jì)器 (
f
P
E
f_{PE}
fPE?) 基于過去的姿勢(shì)估計(jì) (
x
^
t
?
1
\hat{x}_{t-1}
x^t?1?) 和上一次兩個(gè)以自我為中心的地圖預(yù)測(cè) (
p
t
?
1
:
t
e
g
o
p^{ego} _{t?1:t}
pt?1:tego?) 來預(yù)測(cè)代理姿勢(shì) (
x
^
t
\hat{x}_{t}
x^t?)。它本質(zhì)上是將當(dāng)前的以自我為中心的地圖預(yù)測(cè)與變換到當(dāng)前幀的最后以自我為中心的地圖預(yù)測(cè)進(jìn)行比較,以預(yù)測(cè)兩個(gè)地圖之間的姿態(tài)變化。根據(jù)姿勢(shì)估計(jì)器給出的姿勢(shì)估計(jì),將來自映射器的自我中心地圖轉(zhuǎn)換為地心地圖,然后與先前的空間地圖(
m
t
?
1
m_{t?1}
mt?1?)聚合以獲得當(dāng)前地圖(
m
t
m_t
mt?)。
Global Policy
Global Policy以
h
t
∈
[
0
,
1
]
4
×
M
×
M
h_t ∈ [0, 1]^{4×M×M}
ht?∈[0,1]4×M×M為輸入,其中ht的前兩個(gè)通道是SLAM模塊給出的空間圖
m
t
m_t
mt?,第三個(gè)通道表示SLAM模塊估計(jì)的當(dāng)前代理的位置,第四個(gè)通道代表訪問過的位置,即
?
i
,
j
∈
1
,
2
,
.
.
.
,
m
?i, j ∈ {1, 2,...,m}
?i,j∈1,2,...,m:
在將
h
t
h_t
ht? 傳遞給全局策略模型之前,我們執(zhí)行兩次轉(zhuǎn)換。第一個(gè)變換對(duì)來自
h
t
h_t
ht? 的智能體周圍大小為 4 × G × G 的窗口進(jìn)行子采樣。第二個(gè)變換執(zhí)行最大池化操作以從
h
t
h_t
ht? 獲得大小為 4×G×G 的輸出。這兩個(gè)變換都堆疊起來形成大小為 8 × G × G 的張量,并作為輸入傳遞到全局策略模型。全局策略使用卷積神經(jīng)網(wǎng)絡(luò)來預(yù)測(cè) G × G 空間中的長(zhǎng)期目標(biāo)
g
t
l
:
g
t
l
=
π
G
(
h
t
∣
θ
G
)
g^l_t:g^l_t = πG(h_t|θ_G)
gtl?:gtl?=πG(ht?∣θG?),其中
θ
G
θ_G
θG? 是全局策略的參數(shù)。
Planner
Planner 將長(zhǎng)期目標(biāo) ( g t l g^l_t gtl?)、空間障礙圖 ( m t m_t mt?) 和 agnet 位姿估計(jì) ( x ^ t \hat{x}_t x^t?) 作為輸入,計(jì)算短期目標(biāo) g t s g^s_t gts? ,即 g t s = f P l a n ( g t l , m t , x ^ t g^s_t = f_{Plan}(g^l_t, m_t, \hat{x}_t gts?=fPlan?(gtl?,mt?,x^t?) 。它使用基于當(dāng)前空間地圖 m t m_t mt? 的快速行進(jìn)方法(Sethian,1996)計(jì)算從當(dāng)前代理位置到長(zhǎng)期目標(biāo)( g t l g^l_t gtl?)的最短路徑。未開發(fā)的區(qū)域被視為規(guī)劃的自由空間。我們計(jì)算計(jì)劃路徑上的短期目標(biāo)坐標(biāo)(距智能體 ds(= 0.25m) 內(nèi)的最遠(yuǎn)點(diǎn))。
Local Policy
本地策略將當(dāng)前 RGB 觀測(cè)值 ( s t s_t st?) 和短期目標(biāo) ( g t s g^s_t gts? ) 作為輸入,并輸出導(dǎo)航操作 a t = π L ( s t , g t s ∣ θ L ) a_t = π_L(s_t, g^s_t |θ_L) at?=πL?(st?,gts?∣θL?),其中 θ L θ_L θL? 是本地策略的參數(shù)。短期目標(biāo)坐標(biāo)在傳遞給本地策略之前會(huì)轉(zhuǎn)換為距智能體位置的相對(duì)距離和角度。本地策略是一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò),由預(yù)訓(xùn)練的 ResNet18(He 等人,2016)作為視覺編碼器組成。
Experiment
文章來源:http://www.zghlxwxcb.cn/news/detail-625620.html
擴(kuò)展
我們提出了一種模塊化導(dǎo)航模型,該模型利用了經(jīng)典和基于學(xué)習(xí)的導(dǎo)航方法的優(yōu)勢(shì)。我們表明,所提出的模型在 Exploration 和 PointGoal 任務(wù)上都優(yōu)于先前的方法,并且顯示出跨領(lǐng)域、目標(biāo)和任務(wù)的強(qiáng)大泛化能力。未來,所提出的模型可以通過使用語義神經(jīng) SLAM 模塊擴(kuò)展到復(fù)雜的語義任務(wù),例如語義目標(biāo)導(dǎo)航和Ebmbodied問答,該模塊創(chuàng)建捕獲環(huán)境中對(duì)象的語義屬性的多通道地圖。該模型還可以與之前的定位工作相結(jié)合,在之前創(chuàng)建的地圖中重新定位,以便在后續(xù)劇集中進(jìn)行高效導(dǎo)航。文章來源地址http://www.zghlxwxcb.cn/news/detail-625620.html
到了這里,關(guān)于LEARNING TO EXPLORE USING ACTIVE NEURAL SLAM 論文閱讀的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!