南航無人機大規模戶外環境視覺導航框架!SM-CERL:基于語義地圖與認知逃逸強化學習的無人機戶外視覺導航

  • 作者: Shijin Zhao, Fuhui Zhou, Qihui Wu
  • 單位:南京航空航天大學電子信息工程學院
  • 論文標題: UAV Visual Navigation in the Large-Scale Outdoor Environment: A Semantic Map-Based Cognitive Escape Reinforcement Learning Method
  • 論文鏈接:https://ieeexplore.ieee.org/abstract/document/10847926
  • 出版信息:IEEE Internet of Things Journal (IOT) 20 January 2025

主要貢獻

  • 提出SM-CERL框架:針對無人機視覺導航中的部分可觀察性和局部最優陷阱問題,提出了語義地圖基礎的認知逃逸強化學習(SM-CERL)框架。
  • 知識驅動的導航性能提升:在SM-CERL框架中引入導航先驗知識和規則知識,幫助無人機更高效地推斷目標位置并逃逸局部最優,顯著提升導航性能。
  • 卓越的實驗性能:通過大量實驗驗證,SM-CERL在導航準確性和效率方面均優于經典和現有的先進方法,展現出高效的導航能力和對新場景的良好泛化能力。

研究背景

  • 無人機技術的快速發展
    • 無人機技術在物聯網(IoT)生態系統中的應用日益廣泛,如應急救援、農作物保護和交通監控等。
    • 無人機視覺導航技術作為關鍵支撐,能夠利用機載相機獲取的第一人稱視覺輸入(實時視頻或圖像)精準導航至用戶指定目標,助力無人機在復雜IoT生態系統中成為智能自主節點,推動智慧城市建設。
  • 傳統導航方法的局限性
    • 傳統的無人機導航方法主要依賴于同時定位與建圖(SLAM)技術,通過構建環境地圖實現路徑規劃導航。
    • 然而,在大規模戶外環境中,SLAM技術因主動構建地圖計算效率低,且目標驅動視覺導航更關注達到視覺定義的目標而非構建詳細環境地圖,導致SLAM難以直接應用。
  • 深度強化學習(DRL)的挑戰
    • DRL作為一種新興的導航方法,將導航決策問題建模為馬爾可夫決策過程(MDP),利用深度神經網絡直接基于輸入圖像做出導航決策,無需詳細環境地圖。
    • 但DRL在復雜環境中學習有效導航策略面臨兩大挑戰,即部分可觀察性和局部最優陷阱。部分可觀察性導致無人機難以全面理解環境,局部最優陷阱則使無人機在訓練過程中因稀疏或欺騙性獎勵而陷入局部最優解,難以找到全局最優策略。

問題描述與馬爾可夫決策過程

問題表述

  • 任務描述:研究目標驅動的無人機視覺導航任務,無人機在指定空域內導航至未知目標位置。導航過程中,無人機利用機載相機獲取的實時觀測圖像和目標圖像(均來自衛星地圖)進行導航。
  • 飛行環境:假設無人機在高度為 H H H 的水平面上飛行,飛行區域為 [ 0 , D ] × [ 0 , D ] [0, D] \times [0, D] [0,D]×[0,D]。導航任務包含 T T T 個時間步,無人機從隨機起點 p S = ( x S , y S ) p_S = (x_S, y_S) pS?=(xS?,yS?) 飛往目標點 p G = ( x G , y G ) p_G = (x_G, y_G) pG?=(xG?,yG?)
  • 動作空間:無人機的飛行方向被離散化為八個選項,分別以北方向為基準,按順時針方向每隔45°劃分。
  • 目標函數:最小化飛行時間 T T T,即
    min ? { p t , ? t ∈ [ 0 , T ] } T , \min_{\{p_t, \forall t \in [0, T]\}} T, {pt?,?t[0,T]}min?T,
    約束條件為:
    • p 0 = p S p_0 = p_S p0?=pS? p T = p G p_T = p_G pT?=pG?
    • x L ≤ x t ≤ x U x_L \leq x_t \leq x_U xL?xt?xU? y L ≤ y t ≤ y U y_L \leq y_t \leq y_U yL?yt?yU?,確保無人機在指定區域內飛行。

基于MDP的無人機導航建模

  • MDP定義:將無人機視覺導航問題建模為馬爾可夫決策過程(MDP),其中無人機作為智能體(agent)與環境進行交互。
    • 狀態(State):定義為基于觀測的語義地圖 M t ∈ R 2 × N g × N g M_t \in \mathbb{R}^{2 \times N_g \times N_g} Mt?R2×Ng?×Ng?,包含兩個通道:
      • 探索地圖通道 M e t ∈ R 1 × N g × N g M_e^t \in \mathbb{R}^{1 \times N_g \times N_g} Met?R1×Ng?×Ng?,存儲已探索、未探索和當前位置的信息(分別用0、-1和1表示)。
      • 相似度地圖通道 M s t ∈ R 1 × N g × N g M_s^t \in \mathbb{R}^{1 \times N_g \times N_g} Mst?R1×Ng?×Ng?,存儲與目標圖像相似度值(已探索區域的相似度值為 v s t ∈ { 0 , 1 } v_s^t \in \{0, 1\} vst?{0,1},未探索區域為-1)。
    • 動作(Action):無人機的飛行方向,動作空間為 A = { α 1 , α 2 , … , α 8 } A = \{\alpha_1, \alpha_2, \dots, \alpha_8\} A={α1?,α2?,,α8?}
    • 獎勵函數(Reward Function)
      r t = { r g , if? p t = p G , r b , if? x t ? [ 0 , D ] or? y t ? [ 0 , D ] , r p , else . r_t = \begin{cases} r_g, & \text{if } p_t = p_G, \\ r_b, & \text{if } x_t \notin [0, D] \text{ or } y_t \notin [0, D], \\ r_p, & \text{else}. \end{cases} rt?=? ? ??rg?,rb?,rp?,?if?pt?=pG?,if?xt?/[0,D]?or?yt?/[0,D],else.?
      其中, r g r_g rg? 為目標獎勵, r b r_b rb? 為越界懲罰, r p r_p rp? 為時間懲罰,激勵無人機快速到達目標。

SM-CERL框架

框架概述

  • 框架組成:SM-CERL框架包含三個模塊:
    • 語義映射模塊(SMM):替代傳統DRL模型中的感知層,從原始圖像中提取語義信息并構建語義地圖。
    • 認知逃逸模塊(CEM):主動識別局部最優并制定逃逸策略。
    • 導航策略網絡(NPN):基于語義地圖生成導航動作,相當于傳統DRL模型中的決策層。

語義映射模塊(SMM)

  • 語義認知子模塊
    • 使用預訓練的孿生網絡(每個分支為ResNet-18)提取當前觀測圖像 o t o_t ot? 和目標圖像 o G o_G oG? 的特征向量 f t f_t ft? f G f_G fG?
    • 通過相似性計算組件(SCC)計算特征距離 d f t = ∥ f t ? f G ∥ 2 d_f^t = \|f_t - f_G\|_2 dft?=ft??fG?2?,進而得到相似度 v s t = max ? ( 0 , 1 ? d f t d f max ) v_s^t = \max(0, 1 - \frac{d_f^t}{d_f^{\text{max}}}) vst?=max(0,1?dfmax?dft??),其中 d f max d_f^{\text{max}} dfmax? 為最大閾值。
  • 語義地圖子模塊
    • 根據相似度 v s t v_s^t vst? 和當前位置 p t p_t pt? 更新探索地圖和相似度地圖,構建語義地圖 M t M_t Mt?,為無人機提供環境語義信息和導航先驗知識。

認知逃逸模塊(CEM)

  • 局部最優認知(LOC)
    • 通過跟蹤語義地圖中已探索位置的數量,判斷無人機是否陷入局部最優。若連續多個時間步中探索位置數量未增加,則認定無人機陷入局部最優。
  • 逃逸策略(EP)
    • 將語義地圖劃分為多個子區域,計算各子區域的最大相似度值和探索網格數量。
    • 根據規則選擇目標子區域(優先選擇相似度高且未充分探索的區域),并在其中隨機選取未訪問位置作為子目標,生成逃逸動作序列,直至到達子目標完成逃逸。

導航策略網絡(NPN)

  • 網絡結構:采用Dueling Double Deep Q Network(D3QN)算法作為基礎算法。
    • 輸入語義地圖 M t M_t Mt?,通過兩個卷積層提取特征(第一個卷積層有16個4×4濾波器,步長為2;第二個卷積層有32個2×2濾波器,步長為2),每個卷積層后接ReLU激活函數。
    • 提取的特征輸入到Dueling網絡中,分別估計價值函數和優勢函數,最終輸出8維Q值向量,依據貪婪策略選擇動作。

SM-CERL的訓練

訓練過程概述

  • 獨立訓練:SM-CERL的訓練分為兩個獨立階段,即語義認知網絡的訓練和導航策略網絡的訓練,兩個網絡可以獨立訓練。

語義認知網絡訓練

  • 孿生網絡訓練目標:學習參數 ? \phi ?,使網絡能夠將高維圖像空間轉換為低維特征空間,特征向量的歐幾里得距離與原始圖像空間中的相似度呈負相關。
  • 訓練數據:從不同城市的衛星地圖中創建數據對 ( o p 1 , o p 2 , y ) (o_{p1}, o_{p2}, y) (op1?,op2?,y),根據圖像中心點距離判斷相似性(距離小于 k k k 為正樣本,大于 λ k \lambda k λk 為負樣本)。
  • 對比損失函數
    L c ( ? ) = 1 2 y ( d f ) 2 + 1 2 ( 1 ? y ) max ? ( d m ? d f , 0 ) 2 , L_c(\phi) = \frac{1}{2} y (d_f)^2 + \frac{1}{2} (1 - y) \max(d_m - d_f, 0)^2, Lc?(?)=21?y(df?)2+21?(1?y)max(dm??df?,0)2,
    其中 d m d_m dm? 為安全閾值,通過梯度優化方法最小化損失函數,使網絡能夠有效捕捉圖像的相似性結構。

導航策略網絡訓練

  • 訓練算法:基于SM-CERL的導航策略網絡訓練過程如算法1所示。
    • 初始化地圖、起點和目標點,構建語義地圖 M t M_t Mt? 作為狀態 s t s_t st?
    • 若無人機未陷入局部最優,則利用NPN選擇動作并執行,存儲訓練經驗 ( s t , a t , r t , s t + 1 ) (s_t, a_t, r_t, s_{t+1}) (st?,at?,rt?,st+1?) 到回放緩沖區 D D D,隨機采樣進行網絡訓練。
    • 若無人機陷入局部最優,則利用CEM生成逃逸策略并執行逃逸動作,直至逃逸完成,隨后繼續利用NPN進行導航和訓練。
  • 目標Q值計算
    y i = { r i , if?done r i + γ ? Q ( s i + 1 , arg ? max ? a Q ( s i + 1 , a ; θ ) ; θ ? ) , otherwise y_i = \begin{cases} r_i, & \text{if done} \\ r_i + \gamma \cdot Q(s_{i+1}, \arg\max_a Q(s_{i+1}, a; \theta); \theta^-), & \text{otherwise} \end{cases} yi?={ri?,ri?+γ?Q(si+1?,argmaxa?Q(si+1?,a;θ);θ?),?if?doneotherwise?
    其中 θ ? \theta^- θ? 為目標網絡參數,每 N u N_u Nu? 步更新一次。
  • 損失函數
    L Q ( θ ) = E ( s i , a i , r i , s i + 1 ) [ ( y i ? Q ( s i , a i ; θ ) ) 2 ] , L_Q(\theta) = \mathbb{E}_{(s_i, a_i, r_i, s_{i+1})} \left[ (y_i - Q(s_i, a_i; \theta))^2 \right], LQ?(θ)=E(si?,ai?,ri?,si+1?)?[(yi??Q(si?,ai?;θ))2],
    通過梯度下降法更新網絡參數 θ \theta θ

實驗

  • 實驗設置:選擇六個不同區域的衛星地圖,大小為3km×3km,均勻劃分為30×30網格作為導航地圖,每個網格單元對應100m×100m的物理區域。在訓練過程中,為D3QN的訓練策略添加隨機性,使無人機有一定概率選擇隨機動作,而在評估時,無人機始終使用測試策略貪婪地選擇最優行為。
  • 對比方法
    • 隨機動作(RA):無人機在每個時間步從動作空間中隨機選擇動作。
    • CRL:與SM-CERL相比,CRL去除了SMM和CEM組件,僅使用語義認知網絡生成的相似性信息作為狀態,其策略網絡訓練過程如算法2所示,作為基線方法比較記憶增強和局部最優逃逸機制的效果。
    • SM-CRL:保留SM-CERL的狀態,但去除了CEM,在訓練中不包含識別和逃逸局部最優的步驟,用于評估CEM對導航性能的貢獻。
    • LSTM-CRL:在CRL基礎上引入LSTM網絡,增強無人機的記憶能力,其訓練過程與算法2相同,作為對比基線評估不同記憶增強機制(LSTM與SMM)對導航性能的影響。
    • CERL-old:采用早期的CERL框架,基于已探索區域的信息隨機逃逸至未訪問區域,未利用探索相似性信息,用于評估增強型認知逃逸機制在逃逸局部最優方面的優勢。
    • CERL:與SM-CERL相比,CERL去除了SMM,使用與CRL相同的狀態,在訓練中不包含語義映射過程,用于評估語義地圖對導航性能的影響。

  • 訓練性能評估
    • 通過在訓練過程中定期評估測試策略來衡量不同方法的訓練性能,以平均到達次數作為評估指標。
    • SM-CERL方法在訓練過程中平均到達次數最高,表明其學習到了更有效的導航策略,能夠更頻繁地在規定時間步內到達目標。
  • 導航性能比較
    • 在訓練五百萬步后,對各模型進行1000次導航測試,以成功率(SR)和平均路徑長度比(APLR)衡量導航性能。
    • SM-CERL方法在所有測試方法中均實現了最高的成功率和最短的平均路徑長度比,證明了其在導航準確性和效率方面的優越性。
    • 此外,通過對比CRL、LSTM-CRL和SM-CRL方法,驗證了SMM在記憶增強方面的優勢;通過對比CRL、CERL-old和CERL方法,證明了增強型CEM在逃逸局部最優方面的有效性。

  • 導航行為分析

    • SM-CERL方法的軌跡更高效,避免了重復探索,并能有效逃逸局部最優。
    • 下圖進一步展示了SM-CERL方法在無局部最優陷阱時的導航軌跡以及相似度和狀態值的變化,表明無人機學習到了基于相似度的導航策略,傾向于向相似度更高的區域移動。

  • 泛化能力分析
    • 在訓練地圖上設置新目標以及在未見過的地圖上設置新目標兩種測試場景下,評估不同方法的泛化性能。
    • 下表顯示,SM-CERL方法在兩種場景下均實現了最高的成功率和最短的平均路徑長度比,證明了其在新場景下的良好泛化能力。

結論與未來工作

  • 結論
    • 本文提出的SM-CERL導航框架通過構建語義地圖作為無人機的記憶,并開發針對性的逃逸策略,有效解決了DRL在大規模戶外環境中無人機視覺導航所面臨的部分可觀察性和局部最優陷阱兩大挑戰。
    • 實驗結果表明,SM-CERL方法在導航成功率和效率方面優于現有的經典和先進方法,能夠使無人機學習到令人滿意的導航能力,朝著尚未探索但相似度高的區域飛行,并有效逃逸局部最優,在新場景下也展現出良好的泛化能力,為無人機在各種實際應用中的大規模戶外導航提供了有力支持。
  • 未來工作
    • 未來的發展可以聚焦于兩個主要方面,即跨平臺適應性和任務場景多樣化。對于跨平臺適應性,可以將框架擴展以支持不同類型的無人機(如旋翼和固定翼平臺)、實現多無人機協作以及整合額外的傳感器(如雷達、激光雷達和熱像儀)。
    • 對于任務場景多樣化,可以將框架擴展以支持各種任務,包括搜索與救援、環境監測和基礎設施檢查等。此外,還可以通過充分利用集成環境傳感器的全面數據、為動態環境開發自適應導航策略以及為各種天氣和光照條件建立穩健解決方案來增強框架性能。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/80649.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/80649.shtml
英文地址,請注明出處:http://en.pswp.cn/web/80649.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux-進程間通信

1.進程間通信介紹 1.1通信目的 數據傳輸:?個進程需要將它的數據發送給另?個進程 資源共享:多個進程之間共享同樣的資源。 通知事件:?個進程需要向另?個或?組進程發送消息,通知它(它們)發?了某種事…

精益數據分析(69/126):最小可行化產品(MVP)的設計、驗證與數據驅動迭代

精益數據分析(69/126):最小可行化產品(MVP)的設計、驗證與數據驅動迭代 在創業旅程中,從需求洞察到產品落地的關鍵一躍是打造最小可行化產品(MVP)。今天,我們結合《精益…

從JavaScript快速上手Python:關鍵差異與核心技巧

引言 如果你是JavaScript開發者,可能會對Python的簡潔語法和豐富的生態感興趣。但兩種語言的設計哲學和實現細節存在顯著差異。本文將通過對比JS與Python的核心概念,幫助你快速過渡,避免“踩坑”。 一、語法差異:告別大括號&#…

TransmittableThreadLocal實現上下文傳遞-筆記

1.TransmittableThreadLocal簡介 com.alibaba.ttl.TransmittableThreadLocal(簡稱 TTL)是阿里巴巴開源的一個工具類,旨在解決 ThreadLocal 在線程池中無法傳遞上下文變量 的問題。它是對 InheritableThreadLocal 的增強,尤其適用…

TDengine 安全部署配置建議

背景 TDengine 的分布式、多組件特性導致 TDengine 的安全配置是生產系統中比較關注的問題。本文檔旨在對 TDengine 各組件及在不同部署方式下的安全問題進行說明,并提供部署和配置建議,為用戶的數據安全提供支持。 安全配置涉及組件 TDengine 包含多…

在Cursor中啟用WebStorm/IntelliJ風格快捷鍵

在Cursor中啟用WebStorm/IntelliJ風格快捷鍵 方法一:使用預置快捷鍵方案 打開快捷鍵設置 Windows/Linux: Ctrl K → Ctrl SmacOS: ? K → ? S 搜索預設方案 在搜索框中輸入keyboard shortcuts,選擇Preferences: Open Keyboard Shortcuts (JSON) …

python打卡day30@浙大疏錦行

知識點回顧: 導入官方庫的三種手段導入自定義庫/模塊的方式導入庫/模塊的核心邏輯:找到根目錄(python解釋器的目錄和終端的目錄不一致) 作業:自己新建幾個不同路徑文件嘗試下如何導入 具體操作步驟: 在桌面…

【kafka】基本命令

創建 Kafka Topic 的命令 以下是創建 Kafka Topic 的幾種常用方法&#xff1a; 1. 使用 kafka-topics.sh 基礎命令&#xff08;Kafka 自帶工具&#xff09; bin/kafka-topics.sh --create \--bootstrap-server <broker地址:端口> \--topic <topic名稱> \--parti…

編程速遞:適用于 Delphi 12.3 的 FMX Linux 現已推出

Embarcadero非常高興地宣布&#xff0c;用于使用Delphi構建Linux客戶端應用程序的FMX Linux UI庫再次在RAD Studio 12.3版本以及RAD Studio 12.2版本中提供支持&#xff0c;同時也適用于更早的版本。 作為RAD Studio的一個附加庫&#xff0c;FMX Linux為開發面向Linux的圖形用…

通過實例講解螺旋模型

目錄 一、螺旋模型的核心概念 二、螺旋模型在電子商城系統開發中的應用示例 第 1 次螺旋:項目啟動與風險初探

vue3 vite 路由

如路由是這種格式 http://localhost:7058/admin/product/brand路由配置如下 import { createRouter, createWebHistory } from vue-router import HomeView from ../views/HomeView.vue import NProgress from nprogress; import nprogress/nprogress.css; import {errorRour…

【Redis】Hash 存儲相比 String 存儲的優勢

在 Redis 中&#xff0c;Hash 存儲相比 String 存儲具有以下 優勢&#xff0c;特別適用于某些特定場景&#xff1a; ? 1. 更節省內存&#xff08;尤其適合存儲對象&#xff09; Hash 內部使用壓縮列表&#xff08;ziplist&#xff09;或哈希表實現&#xff0c;在數據量較小時…

CSS詳解:特性、選擇器與優先級

CSS詳解&#xff1a;特性、選擇器與優先級 目錄 CSS詳解&#xff1a;特性、選擇器與優先級一、CSS的核心特性1. 層疊性&#xff08;Cascading&#xff09;2. 繼承性&#xff08;Inheritance&#xff09;3. 優先級&#xff08;Specificity&#xff09;4. 響應式設計5. 動畫與過渡…

《算法導論(第4版)》閱讀筆記:p86-p90

《算法導論(第4版)》學習第 19 天&#xff0c;p83-p85 總結&#xff0c;總計 3 頁。 一、技術總結 無。 二、英語總結(生詞&#xff1a;2) 1. inkling (1)inkling: inclen(“utter in an undertone&#xff0c;低聲說話”) c. a hint(提示)&#xff1b;a slight knowledg…

nginx概念及使用

一、Nginx 核心概念 Nginx&#xff08;發音為 "engine-x"&#xff09;是一個高性能、開源的 Web 服務器和反向代理服務器&#xff0c;由俄羅斯工程師伊戈爾?賽索耶夫&#xff08;Igor Sysoev&#xff09;于 2004 年開發&#xff0c;最初用于解決當時高并發場景下 Ap…

2025藍橋杯JAVA編程題練習Day8

1. 路徑 題目描述 小藍學習了最短路徑之后特別高興&#xff0c;他定義了一個特別的圖&#xff0c;希望找到圖 中的最短路徑。 小藍的圖由 2021 個結點組成&#xff0c;依次編號 1 至 2021。 對于兩個不同的結點 a, b&#xff0c;如果 a 和 b 的差的絕對值大于 21&#xff0…

【趙渝強老師】Memcached的路由算法

Memcached支持兩種不同方式的客戶端路由算法&#xff0c;即&#xff1a;求余數Hash算法和一致性Hash算法。下面分別進行介紹。 一、 求余數的路由算法 求余數Hash算法的客戶端路由是對插入數據的鍵進行求余數&#xff0c;根據余數來決定存儲到哪個Memcached實例。 視頻講解如…

NLP學習路線圖(一): 線性代數(矩陣運算、特征值分解等)

引言&#xff1a;語言與矩陣的奇妙邂逅 在自然語言處理&#xff08;NLP&#xff09;的魔法世界里&#xff0c;每個詞語都像被施了變形術的精靈&#xff0c;在數學的殿堂中翩翩起舞。當我們用"king - man woman queen"這樣的向量魔法破解語義密碼時&#xff0c;線性…

BUUCTF PWN刷題筆記(持續更新!!)

ciscn_2019_c_1 64位&#xff0c;沒有開啟保護。點進去沒發現明顯的漏洞函數&#xff0c;考慮泄露libc基地址的rop構造。先看看有多少gadget 估計也夠用了。puts函數只接受一個參數&#xff0c;觀看匯編看看用的哪個寄存器傳輸的參數。 用的是edi。但是我們怎么找到so的版本呢…

Java EE初階——線程安全

1. 線程的狀態 1. 線程狀態分類&#xff08;Thread.State 枚舉&#xff09; Java 定義了 6 種線程狀態&#xff0c;這些狀態均由 java.lang.Thread.State 枚舉表示&#xff1a; NEW&#xff08;新建&#xff09; 線程對象已創建&#xff0c;但尚未調用 start() 方法。此時線程…