基于深度学习的无人机在室内走廊环境中的视觉导航

2023-11-20

与激光雷达和雷达不同,使用单目摄像头作为无人机传感器的优势之一是它能够检测各种视觉特征,例如颜色、纹理和形状。这种适应性使其能够在各种室内和室外环境中表现良好。将单目摄像头用于无人机的另一个好处是,它允许更轻巧和灵活的设计。该摄像机不需要额外的硬件或复杂的信号处理系统,使其成为具有成本效益的选择。此外,单目摄像头可以灵活部署并集成到无人机中,从而实现各种应用,例如搜索和救援行动、监视和检查。我们提出了一个混合模型,该模型由残差神经网络(ResNet)和密集连接卷积网络(DenseNet)的组合组成,使配备单目摄像头的无人机(UAV)能够在室内走廊环境中自主导航,而无需使用其他计算繁重的方法,如SLAM。(见图1)我们提出的方法是在 nitrUAVCorridorV1 数据集上测试的,该数据集包含无人机在走廊内的不同位置。

图1 自主导航的无人机

我们的研究目标是开发一种方法,通过使用简单的摄像头实现自主无人机在走廊中导航。为了确保模型在实时场景中高效运行,我们引入了一种称为Res-Dense-Net的新方法。该方法结合了两种高性能模型,ResNet-50和DenseNet-161,在以前的研究中已被证明在时间和性能方面都是有效的。

ResNet-50

图2 所示的ResNet 架构是一种被广泛认可且有影响力的卷积神经网络 (CNN) 架构,在计算机视觉任务中打破了无数记录。它于2015年由Microsoft研究首次推出,由何等的原始论文引起了人们对残差网络(ResNet)独特设计的关注,该设计允许更高效的训练和更深入的网络架构。ResNet架构包括跳过连接,允许梯度在反向传播期间更好地传播并减少梯度消失,这在深度神经网络中一直是一个重大问题。ResNet 架构由几层组成,可以分为四个块。第一个块包含三个残差单元,带有64个过滤器,第二个块包含四个残差单元,带有128个过滤器,第三个块包含六个残差单元,带有256个过滤器,最后一个块包含三个残差单元,包含512个过滤器。在这些块之后,有一个全局平均池化层,它将特征映射的空间维度减少到单个值。最后,有一个具有1000个输出节点的全连接层,通常用于图像分类任务。

 

图2 ResNet 50架构

 DenseNet

DenseNet161是一种卷积神经网络 (CNN)架构,由Huang 等人于2017年推出。它是DenseNet系列模型的变体,该系列模型以其层之间的密集连接模式而闻名。DenseNet161架构由161层组成,因此得名。它具有与其他CNN相似的整体结构,具有一系列卷积,池化和全连接层。然而,DenseNet161与其他CNN的不同之处在于它使用密集连接。

 

DenseNet161的具体架构可以分为几个主要组件。(见图3)网络从单个卷积层开始,该卷积层接收输入图像并生成一组特征图。网络的主要构建块是密集块。每个密集块由几个卷积层组成,然后是批量归一化和 ReLU 激活函数。每层生成的特征图被连接起来,并作为输入传递给块中的所有后续层。为了降低密集块之间特征图的维数,网络包括过渡层。每个过渡层由一个卷积层组成,然后是批量归一化、ReLU 激活和池化操作。最后一个密集块之后是全局平均池化层,该层对所有空间维度的特征映射进行平均,以生成单个特征向量。全局平均池化层通过softmax激活连接到全连接层,从而产生最终输出概率。

 Res-Dense-Net

我们提出了一种用于室内走廊环境中无人机(UAV)视觉导航的新型架构,称为Res-Dense-Net。该架构由两个分支组成:ResNet-50 和DenseNet-161,它们是计算机视觉任务中广泛使用的卷积神经网络 (CNN) 架构。ResNet-50分支旨在通过使用残差单元捕获高级特征,而DenseNet-161分支旨在通过密集连接所有层来学习数据中更复杂的特征。

 

图4 Res-Dense-Net架构

如图4所示,两个分支的输出使用加权层组合。该加权层使Res-Dense-Net能够受益于ResNet-50和DenseNet-161的优势,因为它利用了它们的互补特性。ResNet-50分支通过使用跳过连接来帮助减少梯度消失问题,而DenseNet-161分支使网络能够学习数据中更复杂的特征。将两个分支的输出组合在一起后,Res-Dense-Net有一个由平均池化层、全连接(FC)层和softmax函数组成的公共分支。平均池化层将特征图的空间维度减少到单个值,而FC层输出无人机相对于环境的预测位置和方向。softmax函数用于规范化输出值,以便它们可以解释为概率。

NitrUAVCorridorV1数据集包含35,000个用于翻译的训练图像和600个测试图像,以及用于旋转的21,000个训练图像和300个测试图像。这些图像是在印度鲁尔克拉国家理工学院的80个不同的走廊拍摄的,分别有59个和21个走廊入口用于训练和测试。它包含3个类:“右”,“左”和“前进”。做出该决定的目的是避免无人机撞到障碍物。如果无人机位于CBL的左侧,系统将输出类“right”以启动右滚动命令(见图5)。

 

图5 无人机在垂直于 CBL 的水平线上的不同位置

我们的方法成功地实现了比其他模型更好的性能,这是意料之中的。这是通过结合两种流行的架构来实现的,这使我们能够利用两者的优势在各种任务中实现最先进的结果。这种方法还促进了跨多个密集块的特征重用,从而改善了梯度在网络中的流动。

然而,我们的方法比其他模型稍慢,因为在Res-Dense-Net中添加密集连接增加了参数的数量和计算复杂性。尽管这会导致计算速度变慢,但对于通过使用密集连接实现的性能显著提高,这是必要的权衡。总体而言,我们的方法通过展示结合不同架构以实现卓越结果的潜力,为机器学习领域做出了宝贵的贡献。

源自:2023 Integrated Communication, Navigation and Surveillance Conference (ICNS) | 979-8-3503-3362-6/23/$31.00 ©2023 IEEE | DOI: 10.1109/ICNS58246.2023.10124261

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于深度学习的无人机在室内走廊环境中的视觉导航 的相关文章

随机推荐

  • gitlab 的介绍与安装

    系统 CentOS7 5X64 下载gitlab 最新版 https packages gitlab com gitlab gitlab ce 3 2 安装环境初始化 yum install curl policycoreutils ope
  • python---js逆向-----为了理想爬到想要的数据,我们怎能放过它

    目录 这是我的gitee仓库 https gitee com qin laoda python exercises 有兴趣的小可爱们可以点进去看看 下面我们来按照爬虫思路找一下我们要爬的网页 并获取数据 下面我以https ggzyfw f
  • python3.9 安装 pyspider

    安装pyspider pip install pyspider 直接报错 Please specify curl dir path to built libcurl 于是从PythonLibs官网 中获取依赖并自行下载到本地 下载与3 9对
  • iframe设定请求类型为post

    在iframe中 引入其他页面的属性是src src请求的方式都是get get和post的对比大家都晓得 那么怎么设定呢 这就想起了js发送post请求的一些解决方案 那就是使用表单 空参数进行跳转 然后直接对通过js对表单操作即可 lo
  • 西门子S7-1200PLC脉冲控制伺服程序案例 此程序是关于西门子1200PLC以PTO脉冲方式控制伺服电机

    西门子S7 1200PLC脉冲控制伺服程序案例 此程序是关于西门子1200PLC以PTO脉冲方式控制伺服电机 步进电机的功能块程序 包含两套程序 第一套程序是用梯形图写的 第二套程序是用SCL高级编程语言写的 两套程序实现的功能一致 脉冲模
  • 第三章 时序逻辑设计基础

    第三章 时序逻辑设计基础 状态转移图 STG Mealy 状态机的顶点用状态进行标记 有向边用输入信号和输出信号来标记 Moore 状态机的顶点用状态和输出来标记 有向边用输入信号来标记 BCD 码到余3码的转换 如何画出状态图 1 状态就
  • Matlab编写带有随机缺陷的纳米颗粒生成器

    Matlab编写带有随机缺陷的纳米颗粒生成器 近年来 纳米科学与纳米技术在材料科学 生物医药 能源等领域得到广泛应用 其中 制备具有特定形状和结构的纳米颗粒对于实现特定功能至关重要 在实际应用中 许多纳米颗粒样品存在着各种缺陷 这些缺陷有时
  • Tomcat的两种安装方式(zip安装和exe安装)

    注意 安装Tomcat需要先安装jdk 一 zip解压安装 1 我们进入Tomcat官网 http tomcat apache org 此处我们选择Tomcat 9 的64位zip解压式的安装包 2 下载后解压目录如下 3 我们复制tomc
  • android:ems="10"是什么意思

    android ems 10 设置TextView或者Edittext的宽度为10个字符的宽度 当设置该属性后 控件显示的长度就为10个字符的长度 超出的部分将不显示 控件android ems属性 本文地址 http blog csdn
  • Linux系统怎么开机

    要开启 Linux 系统 您需要按一下电脑的电源开关 等待系统启动过程完成 如果您的电脑已经配置好了引导程序 系统就会自动启动到您设置的操作系统 例如 Linux 如果出现了任何问题 您可以通过查看电脑的启动屏幕上的错误信息来解决
  • 服务器安装系统时无法创建新的分区,重装系统出现“我们无法创建新的分区,也找不到现有的分区”...

    今天给朋友的电脑重装系统 本来打算是使用微PE的CGI备份还原工具来给 C 盘重装一个系统 但是装完后重启无法进入系统 不怕 以前也遇到过这种事情 根据经验我再次使用微PE 格式化 C 盘分区 找到系统镜像iso文件 使用其中的 Setup
  • mysql SHOW命令

    文章目录 mysql SHOW命令 概述 SHOW命令 sql脚本 mysql SHOW命令 数据库 表 列 用户 权限等的信息被存储在数据库和表中 MySQL使用MySQL来存储这些信息 可用MySQL的SHOW命令来显示这些信息 MyS
  • 使用 ChatGPT 从 JavaScript 代码生成 React 组件

    欢迎来到我们的教程 了解如何使用 ChatGPT 从 JavaScript 代码生成 React 组件 在本指南中 我们将探讨使用 ChatGPT 完成此任务的好处 并引导您完成分步过程 React 是一个流行的用于构建用户界面的 Java
  • python3.6+wamp配置python脚本环境(Windows)

    最近学到ajax 教程里需要用到wamp 这里就不介绍wamp了 wamp包含了apache服务器 但其默认只支持php脚本 而本人没学过php 所以希望降低学习成本 于是动手修改apache配置文件 网上有很多修改的教程 但我尝试了很多种
  • 5. handle方法详解-handler获取

    文章目录 1 概览 2 handle方法回顾 3 HandlerMappings继承关系 4 getHandlerInternal 4 1 RequestMappingInfoHandlerMapping getHandlerInterna
  • 包管理

    8 包管理 8 1 Go Modules是什么 Go语言通过包管理来封装模块和复用代码 这里我们只介绍Go Modules管理方法 Go Modules于Go语言1 11版本时引入 在1 12版本正式支持 是由Go语言官方提供的包管理解决方
  • VC从系统进程中查找并杀掉指定进程

    写程序的时候 有时候会调用别 别人写的 的程序的EXE 有的时候还会隐藏这个EXE 但是由于你的程序退出时并没有关闭这个EXE 只是隐藏了 所以在系统的进程查看窗口里面还是会看到的 这样当你下次再执行你自己的程序 还要调用这个程序的时候就会
  • [转载]解决PPPOE宽带拨号经常掉线的一种方法(适合刷了第三方固件的无线路由)

    文章作者 姜南 Slyar 文章来源 Slyar Home www slyar com 转载请注明 谢谢合作 最近在进行下载或看视频等大量占用网络带宽的行为时 宽带PPPOE连接非常不稳定 经常自动掉线 严重影响我的下载进程和看视频的乐趣
  • MariaDB数据库的主从配置

    1 前置工作 首先准备两台可以互相ping通的机器 两台机器可以互为主从 示例 10 210 23 77主服务器 10 20 84 183从服务器 2 安装 在两台机器上各自安装数据 解压MariaDB安装包 tar zxvf MariaD
  • 基于深度学习的无人机在室内走廊环境中的视觉导航

    与激光雷达和雷达不同 使用单目摄像头作为无人机传感器的优势之一是它能够检测各种视觉特征 例如颜色 纹理和形状 这种适应性使其能够在各种室内和室外环境中表现良好 将单目摄像头用于无人机的另一个好处是 它允许更轻巧和灵活的设计 该摄像机不需要额