0 概述
視覺語言導航模型旨在構建導航決策模型 π π π,在 t t t時刻,模型能夠根據指令 W W W、歷史軌跡 τ = { V 1 , V 2 , . . . , V t ? 1 } \tau=\{V_1,V_2,...,V_{t-1}\} τ={V1?,V2?,...,Vt?1?}和當前觀察 V t = { P t , R t , N ( V t ) } V_t=\{P_t,R_t,N(V_t)\} Vt?={Pt?,Rt?,N(Vt?)}來決定下一步動作 a t a_t at?: π ( a t ∣ W , V t , τ ) — > a t π(a_t|W,V_t,\tau)—>a_t π(at?∣W,Vt?,τ)—>at?。模擬器隨后執行智能體的動作并更新環境與智能體的狀態 τ ( s t , a t ) ? > s t + 1 \tau(s_t,a_t)->s_{t+1} τ(st?,at?)?>st+1?
V :節點 V:節點 V:節點
P t :姿態信息 P_t:姿態信息 Pt?:姿態信息
R t :全景 R G B 圖像 R_t:全景RGB圖像 Rt?:全景RGB圖像
N ( V t ) :可導航點 N(V_t):可導航點 N(Vt?):可導航點
任務類型:指令導向(R2R和R4R)、目標導向(REVERIR和SOON)、需求導向(DDN)
- 指令導向:指令導向的視覺語言導航任務側重于智能體嚴格遵循給定的語言指令進行導航。這種任務要求智能體能夠理解復雜的自然語言指令,并將其轉化為導航動作。
- 目標導向:目標導向的視覺語言導航任務要求智能體根據給定的目標進行導航。在這種任務中,智能體需要理解目標的語義信息,并在環境中搜索與目標相匹配的物體。
- 需求導向:需求導向的視覺語言導航任務是一種更高級的形式,它要求智能體根據用戶的抽象需求進行導航。與前兩種任務不同,需求導向導航不依賴于特定的物體或目標,而是需要智能體理解用戶的需求并找到滿足這些需求的物體或位置。
場景類型:室內、室外、空中
- 室內場景:室內視覺語言導航主要關注于家庭或辦公環境內的導航。智能體需要理解自然語言指令,并在室內環境中找到正確的路徑。室內環境通常較為復雜,包含多個房間和各種家具,因此對智能體的空間理解能力要求較高。例如,Room-to-Room數據集
- 室外場景:室外視覺語言導航涉及到更開放的環境,如街道、公園等。在這種場景下,智能體不僅需要理解指令,還需要處理更復雜的空間關系和可能的遮擋物。室外環境的動態性,如行人和車輛的移動,也會增加導航的難度
- 空中:空中視覺語言導航是一個較新的研究領域,主要針對無人機(UAV)的導航任務。與地面導航不同,空中導航需要考慮飛行高度和更復雜的空間關系。例如,AerialVLN是一個針對無人機的視覺語言導航任務,它要求智能體根據自然語言指令在三維空間中進行導航,這涉及到對城市級場景的理解和操作。
1 測試基準
1.1 模擬器與數據集
1.2 數據集簡介
VLN數據集提供了自然語言指令 W W W及其相應的真實軌跡 τ \tau τ,使其適合于監督學習和強化學習
R2R:
Anderson 等人首次提出了在離散室內環境中遵循指令進行導航的任務,即 R2R (Room-to-Room)。R2R 任務基于 Matterport3D 數據集構建,該數據集包含 90 個房屋的真實照片,共計 10,567 張全景圖。這些環境被表示為一系列通過邊連接的可導航點。在 R2R 任務中,智能體需根據描述路線的語言指令,從指定的初始位置導航至目標位置。智能體必須遵循指令,執行一系列離散動作(如轉彎、前進),以到達目標位置,并在到達后執行“停止”動作以完成任務。
R4R:
Jain 等人通過將兩個相鄰的軌跡(尾部到頭部)連接起來,擴展了 R2R 任務,從而生成更長的指令和軌跡。這些路徑更加依賴于指令的描述,因為它們往往不是起點和終點之間的最短路徑。
CVDN:
在現實世界的導航中,人們通常使用自然語言進行多輪溝通。Thomason 等人收集了 CVDN 數據集,以模擬真實家庭環境中人與人之間的對話過程,并定義了基于對話歷史進行導航并搜索目標的任務。
REVERIE:
在現實環境下,智能體的導航通常是需求驅動的,經常需要到達指定地點并找到相關物體。因此,Qi 等人和 Zhu 等人分別通過 REVERIE 和 SOON 數據集進一步提出了遠程對象定位導航任務。在 REVERIE 數據集中,每個視覺觀察的全景圖都標記有預定義的對象框,智能體必須在導航路徑的終點選擇正確的對象。
SOON:
而在實際應用中,人類通常給出高層次的目標導向指令,而非詳盡的逐步指導。基于這一特點,SOON 數據集提出了一種基于視覺的場景定位目標導航方法,智能體被指示在房屋內尋找詳細描述的目標對象。
AerialVLN:
為了解決無人機在復雜城市環境中進行導航的問題,AerialVLN 數據集被提出。該數據集包含 10 個城市的 100 個不同的飛行場景,每個場景都由無人機在飛行過程中拍攝的全景圖像組成。這些圖像被標記為包含多個對象,并且每個對象都與一個自然語言描述相關聯。智能體的任務是根據這些描述,在飛行過程中找到并識別相應的對象。
1.3 評估指標
參考文章:視覺語言導航入門必看
(1)路徑長度PL
(2)導航誤差d
(3)導航成功率SR
(4)Oracle Success Rate(OSR) :衡量導航路徑上任意點到目標點的距離是否在預定義的閾值范圍內
(5)基于路徑加權的成功率SPL
S P L = S R ? ∣ R ∣ max ? { ∣ P ∣ , ∣ R ∣ } S P L=S R \cdot \frac{|R|}{\max \{|P|,|R|\}} SPL=SR?max{∣P∣,∣R∣}∣R∣?
(6)長度加權的覆蓋分數CLS:生成路徑和參考路徑的一致性問題
P C ( P , R ) = 1 ∣ R ∣ ∑ r ∈ R exp ? ( ? d ( r , P ) d t h ) \mathrm{PC}(P, R)=\frac{1}{|R|} \sum_{r \in R} \exp \left(-\frac{d(r, P)}{d_{t h}}\right) PC(P,R)=∣R∣1?r∈R∑?exp(?dth?d(r,P)?)
路徑長度分數則是評價生成路徑和參考路徑的一致性程度,進而來約束生成路徑的長度
L S ( P , R ) = P C ( P , R ) ? P L ( R ) P C ( P , R ) ? P L ( R ) + P C ( P , R ) ? P L ( R ) ? P L ( P ) LS(P,R)=\frac{PC(P,R)*PL(R)}{PC(P,R)*PL(R)+PC(P,R)*PL(R)-PL(P)} LS(P,R)=PC(P,R)?PL(R)+PC(P,R)?PL(R)?PL(P)PC(P,R)?PL(R)?
(7)基于動態時間規整加權成功率nDTW:通過動態時間彎曲評估由成功率加權的預測路徑P和參考路徑R的時空相似性,對偏離參考路徑的行為進行軟性懲罰,并考慮路徑節點的順序
(8)遠程定位成功率RGS:智能體定位到與目標語義標簽相對應的實例時,才視為成功
(9)長度加權的遠程定位成功率RGSPL:綜合考慮遠程定位成功的效率與經歷的路徑長度
2 典型模型與開源代碼
(1)傳統Seq2seq方法
使用基于注意力機制的 LSTM 的序列到序列模型, 并結合 “學生自學”的訓練方法, 對于先前的分布采用動作輸出序列預測下一步動作,使用交叉熵損失函數, 學習標注數據的特征信息。
Following High-level Navigation Instructions on a Simulated Quadcopter with Imitation Learning (https://github.com/lil-lab/drif)
(2)基于數據增強方法
專業人員標注的指令不僅成本高, 且數量十分有限。因此, 數據稀缺是視覺語言導航中的先天問題,不僅使得學習跨模態匹配更加困難, 還在很大程度上限制了模型的性能。當前很多領域的研究已經證明了數據增強的有效性, 特別是提升模型的性能有很大幫助。
Speaker-Follower Models for Vision-and-Language Navigation (http://ronghanghu.com/speaker_follower)
(3)基于輔助目標方法
輔助推理任務對于提高視覺語言導航任務中智能體的泛化能力和魯棒性至關重要,它們通過提供額外的訓練信號來增強模型對環境的理解,使其能夠更好地利用語義信息進行決策,從而提升導航準確性和效率。
Self-Monitoring Navigation Agent via Auxiliary Progress Estimation (https://github.com/chihyaoma/selfmonitoring-agent)
(4)基于拓撲圖方法
拓撲圖在視覺語言導航中至關重要,它支持全局路徑規劃,提高探索效率,增強環境記憶,并促進自然語言指令與視覺場景的有效對接,使智能體能在復雜環境中準確導航至目標位置。
Think Global, Act Local: Dual-scale Graph Transformer for Vision-and-Language Navigation (https://cshizhe.github.io/projects/vln_duet.html)
(5)基于大模型方法
大模型能處理多模態輸入,執行零樣本學習,展現高級規劃和推理能力。這些模型通過理解復雜的導航指令和環境,提供強大的決策支持,增強任務的泛化性,并能生成高質量的導航指令,從而提升導航性能和可解釋性。
NavGPT: Explicit Reasoning in Vision-and-Language Navigation with Large Language Models (https://github.com/GengzeZhou/NavGPT)