南航无人机大规模户外环境视觉导航框架!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]}minT,
    约束条件为:
    • 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 xLxtxU y L ≤ y t ≤ y U y_L \leq y_t \leq y_U yLytyU,确保无人机在指定区域内飞行。

基于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} MtR2×Ng×Ng,包含两个通道:
      • 探索地图通道 M e t ∈ R 1 × N g × N g M_e^t \in \mathbb{R}^{1 \times N_g \times N_g} MetR1×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} MstR1×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=ftfG2,进而得到相似度 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,1dfmaxdft),其中 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(ϕ)=21y(df)2+21(1y)max(dmdf,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,argmaxaQ(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)[(yiQ(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.mzph.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() 方法。此时线程…