Vision Based Navigation :针对航天领域的基于视觉导航机器学习应用生成训练数据集

2024-09-18 由欧洲空间局主导,由空客防务与空间公司参与创建Vision Based Navigation , 为空间任务中的基于视觉导航(VBN)机器学习应用生成训练数据集。

目前遇到的困难和挑战

1、数据集的可用性和充分性:

  • 挑战:为机器学习算法提供足够的训练数据集,尤其是对于航天应用,需要确保数据集能够充分验证算法。

  • 解决方案:开发了一套方法论,生成了包括真实图像和合成图像的混合数据集,并通过地面真实性验证。

2、地面真实性(Ground Truth)的准确性:

  • 挑战:获取精确的地面真实数据以验证算法性能。

  • 解决方案:使用高精度传感器和算法(如光学激光跟踪器和Aruco标记)来获取精确的地面真实数据。

3、算法的泛化能力:

  • 挑战:确保算法能够在不同的数据集上泛化,包括真实世界的数据。

  • 解决方案:通过混合使用合成数据和实验室数据训练算法,以提高其在真实数据上的性能。

4、生成对抗网络(GAN)的稳定性和准确性:

  • 挑战:训练GAN需要大量的计算资源,并且可能会产生不准确的结果,如时间上的不连贯性。

  • 解决方案:使用CUT模型进行无配对图像到图像的转换,并添加几何约束的元数据以提高序列的连贯性。

5、模型捕获技术的局限性:

  • 挑战:从真实图像中提取纹理和光学属性并注入到模拟中,以提高模拟的真实感。

  • 解决方案:开发了一种创新方法,利用SurRender软件的新功能进行基本的模型捕获。

6、算法性能的量化和评估:

  • 挑战:如何量化和评估算法在不同数据集上的性能。

  • 解决方案:使用多种指标(如均方误差、关键点位置度量、姿态估计度量)来量化算法性能。

数据集地址:Vision Based Navigation Datasets|航天导航数据集|机器学习

让我们来看一下数据集:

数据集涵盖了自然场景和人造物体场景,是为了训练和验证机器学习算法在视觉导航(VBN)中的应用,特别是在航天领域。

一、自然场景数据集

1、嫦娥3号真实数据集:

  • 来源:嫦娥3号着陆器的导航相机图像。

  • 内容:包括从着陆器制动阶段到着陆的图像。

  • 格式:使用PDS(行星数据系统)标准格式化。

  • 处理:通过逆向工程获取视线信息,重建估计的轨迹。

2、SurRender合成数据集:

  • 工具:SurRender软件,Airbus高性能图像模拟器。

  • 内容:模拟包括数据融合、多分辨率地形模型、程序细节生成和元数据。

  • 细节:不完全复制真实图像,而是添加了合成细节如巨石、撞击坑、Perlin噪声等。

3、TRON设施数据集:

  • 地点:DLR TRON设施。

  • 内容:使用机器人控制法复现嫦娥3号轨迹。

  • 特点:使用现有的地形模型模拟目标,通过3D激光扫描测量。

二、人造物体场景数据集

1、ENVISAT实验室数据集:

  • 地点:Airbus不来梅空间机器人实验室。

  • 内容:使用KUKA工业机器人和工业相机生成数据集。

  • 特点:ENVISAT模型(1:33比例)精确制造,使用Aruco标记和光学激光跟踪器进行高精度测量。

2、SurRender合成渲染数据集:

  • 内容:使用SurRender软件渲染ENVISAT图像。

  • 特点:包括不同背景(如地球背景)的图像,使用物理渲染技术如光线追踪。

3、模型捕获:

  • 方法:从真实实验室图像中提取纹理和光学属性,并注入模拟中。

  • 工具:SurRender 9的新功能,允许基本模型捕获。

三、生成对抗网络(GAN)数据集

  • 目的:将低/中定义的SurRender模拟转换为类似真实数据集的图像。

  • 方法:开发工作流程以确保地面真实性准确性,使用图像和元数据。

  • 架构:评估不同的GAN架构,发现CUT模型表现最佳

展望一下数据集的应用:

比如,我是一名航天工程师。

我和团队正在为未来的月球着陆器或者太空船设计一个超级聪明的“大脑”——也就是基于视觉的导航系统。

这个系统就像飞船的眼睛,帮助它在太空中找到正确的方向,或者在月球表面安全着陆。但是,为了让这个“大脑”工作得像预期的那样好,它需要经过大量的训练,学习如何识别不同的地形、障碍物,甚至是其他太空船。

这时候,训练数据集就派上用场了。

就像我们教小孩子认识动物一样,我们给机器学习算法看很多图片,比如月球表面的坑坑洼洼,或者远处飘浮的太空站。这些图片就是我们的训练数据集。

我们用GAN生成了一些特别棒的图像。这些图像有的是模拟的月球表面,有的是模拟的人造卫星。这些图像非常逼真,就像是用高级相机在现场拍摄的一样。这样做的好处是,我们可以在不冒风险的情况下,让导航系统在各种复杂环境中进行“练习”。

具体来说,这些数据集的应用可以包括:

  1. 训练姿态估计算法:就像你用手机拍照时,手机能自动识别照片中的物体和场景一样,我们训练算法去识别太空船在太空中的位置和方向。这需要大量的图像数据来训练,而GAN可以帮助我们生成这些数据。

  2. 优化光学流算法:光学流算法可以帮助太空船理解它在太空中是如何移动的,比如它正在靠近月球表面,或者正在远离某个太空站。通过训练数据集,我们可以优化这个算法,让它在实际任务中更加准确。

  3. 模拟和测试:在真实的太空任务之前,我们可以用这些数据集来模拟不同的着陆场景,测试导航系统的反应。这就像是在电子游戏中进行“演练”,确保在真实情况下一切顺利。

  4. 提高鲁棒性:太空环境是多变的,我们的导航系统需要能够应对各种意外情况。通过使用GAN生成的多样化数据集,我们可以训练系统识别和适应不同的光照条件、地形变化等。

  5. 节省成本和时间:收集真实的太空图像可能既昂贵又耗时,而使用GAN生成的数据集则可以快速、低成本地获得大量训练材料。

总的来说,这些训练数据集就像是给太空船的“大脑”提供了一个虚拟的“训练场”,让它在真正踏上太空之旅之前,能够做好充分的准备。

让我们一起具体来看一个场景:月球着陆器的视觉导航系统

我负责开发一个月球着陆器,它需要在月球表面安全着陆。月球表面布满了陨石坑和不规则的地形,这就需要一个非常精确的视觉导航系统来引导着陆器避开障碍,找到最佳的着陆地点。

挑战:

  1. 环境复杂性:月球表面环境复杂,变化多端,难以预测。

  2. 数据稀缺:真实的月球图像数据有限,难以获取大量的训练数据。

  3. 系统可靠性:着陆器的导航系统必须非常可靠,任何小错误都可能导致任务失败。

解决方案: 使用GAN生成的训练数据集来训练视觉导航系统。

应用步骤:

1、数据集生成:

  • 使用GAN,基于少量的真实月球表面图像,生成大量的合成图像。这些图像模拟了不同的月球地形、光照条件和可能遇到的障碍物。

  • 这些合成图像在视觉上与真实图像非常相似,但可以包含更多极端或特殊情况,以增强系统的鲁棒性。

2、算法训练:

  • 利用这些合成图像训练一个深度学习模型,如卷积神经网络(CNN),使其能够识别月球表面的地形特征和障碍物。

  • 同时,训练一个姿态估计算法,使着陆器能够根据图像数据确定自己的位置和姿态。

3、模拟测试:

  • 在虚拟环境中模拟月球着陆过程,使用生成的数据集来测试导航系统的性能。

  • 通过模拟不同的着陆场景,如不同的地形、光照条件和突发状况,来验证系统的可靠性和准确性。

4、性能优化:

  • 根据模拟测试的结果,进一步调整和优化算法,提高其在真实环境中的性能。

  • 使用生成对抗网络(GAN)不断生成新的、更复杂的数据集,以应对不断变化的月球表面环境。

5、实际应用:

  • 将训练好的模型部署到月球着陆器上,使其能够在实际着陆过程中自主导航,避开障碍,找到安全的着陆地点。

成果: 通过使用GAN生成的训练数据集,月球着陆器的视觉导航系统能够在各种复杂和未知的月球表面环境中稳定工作,大大提高了着陆的成功率和安全性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1541749.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

BFS 解决多源最短路问题

文章目录 多源BFS542. 01 矩阵题目解析算法原理代码实现 1020. 飞地的数量题目解析算法原理 1765. 地图中的最高点题目解析算法原理代码实现 1162. 地图分析题目解析算法原理代码实现 多源BFS 单源最短路: 一个起点、一个终点 多源最短路: 可以多个起点…

9.安卓逆向-安卓开发基础-安卓四大组件2

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:图灵Python学院 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。 工…

[云服务器13] 如何正确选择云服务器?

【非广告,仅提供建议,没有强制消费引导】 这期我们不讲搭建教程了,因为我想到前面12篇的教程,有关套餐配置的教程好像都有点敷衍…… 所以这期我们主要来说一说服务器的配置选择和不同配置的应用场景。 网站: 雨云 打开后&…

基于ZigBee的农业大棚信息采集系统设计

过去的农业大棚种植中大多需要依靠经验来实现浇水施肥等工作,无法根据天气的变化做出顺应的改变,也就造成了大棚内种植农作物的产量和质量很难得到保证。伴随着物联网与农业种植的结合,基于ZigBee通信和传感器等技术开发一款能监测大棚内环境…

Linux:路径末尾加/和不加/的区别

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 普通文件操作 首先说明这个问题只会出现在目录和符号链接中,因为如果想要索引普通文件但却在路径末尾加/则会出现错误,如例1所示。 # 例1 zhang…

free源码

文章目录 free源码调试main_arena结构:free_hooktcachetcache的结构free_chunk进入tcache: fastbinunlink 合并top free源码调试 main_arena结构: 整体看一下main_arena的结构: free_hook free_hook,在glibc-2.3…

在 Windows 11 中,可以通过修改注册表来更改系统的自动更新时间设置

regedit 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings FlightSettingsMaxPauseDays 36524

AI少女/HS2甜心选择2 仿崩铁人物卡全合集打包

内含AI少女/甜心选择2 仿崩铁【崩坏 星穹铁道 】角色卡全合集打包共6张 内含:布洛妮娅镜流卡芙卡希儿停云银狼 下载地址: https://www.51888w.com/375.html 部分演示图:

项目第六弹:虚拟机管理模块、路由匹配模块

项目第六弹:虚拟机管理模块、路由匹配模块 一、虚拟机管理模块的设计1.什么是虚拟机?2.借助MySQL来理解一下3.如何整合?【埋下伏笔】 二、RabbitMQ为何要有虚拟机1.从业务角度来讲2.步步探索1.优点2.结合业务适用场景和需求3.发掘真正的原因4…

NoSql数据库Redis知识点

数据库的分类 关系型数据库 ,是建立在关系模型基础上的数据库,其借助于集合代数等数学概念和方法来处理数据库 中的数据主流的 MySQL 、 Oracle 、 MS SQL Server 和 DB2 都属于这类传统数据库。 NoSQL 数据库 ,全称为 Not Only SQL &a…

Python学习——【4.1】数据容器:list列表

文章目录 【4.1】数据容器:list列表一、数据容器入门二、数据容器:list 列表(一)列表的定义(二)列表的下标索引(三)列表的常用操作(1)列表的查询功能&#xf…

RAG+Agent人工智能平台:RAGflow实现GraphRA知识库问答,打造极致多模态问答与AI编排流体验

1.RAGflow简介 全面优化的 RAG 工作流可以支持从个人应用乃至超大型企业的各类生态系统。大语言模型 LLM 以及向量模型均支持配置。基于多路召回、融合重排序。提供易用的 API,可以轻松集成到各类企业系统。支持丰富的文件类型,包括 Word 文档、PPT、exc…

Vue3入门 - ElementPlus中左侧菜单和Tabs菜单组合联动效果

在Vue3中,ElementPlus是使用比较广泛的UI组件库,提供了丰富的界面元素支持项目开发需求。在后台管理系统中,左侧或顶部的菜单栏通常包含多个子菜单项,通过菜单的展开和收缩功能,用户可以方便地查看或隐藏不需要的菜单项…

数字世界中的浪漫:揭秘会跳动的爱心

在编程的世界里,复杂的技术可以与艺术产生美妙的碰撞。无论是通过代码实现动态效果,还是用算法绘制图案,程序员都可以成为数字艺术的创作者。而今天,我们将通过 Python 的强大 GUI 工具库 Tkinter,用简单的代码生成一颗…

U-Boot顶层Makefile详解

直接参考【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.81 本文仅作为个人笔记使用,方便进一步记录自己的实践总结。 上一章我们详细的讲解了 uboot 的使用方法,其实就是各种命令的使用,学会 uboot 使用以后就可以尝试移植 uboot 到自己的开发…

linux操作系统的基本命令

1.linux下的文件系统 在linux操作目录下没有像window操作系统下盘符的概念,只有一个根目录/,所有文件目录都在它的下面 linux的目录结构: 在Linux系统中: 文件都从跟目录开始的,用/表示文件名称区分大小写路径都是以/俩进行分隔(windown用\分隔)以.开头的文件为隐藏文件 Li…

鸿蒙开发之ArkUI 界面篇 十七 购物综合案例

layoutWeight:子元素与兄弟元素主轴方向按照权重进行分配,参数是联合类型,数字或者是字符串,在指定的空间占多少份额,数字越大,表示在空间中占用的份额越多,如果父容器的子组件没有别的指定,剩下的空间全部…

10分钟一条童装走秀爆款Ai视频,小白轻松上手,新蓝海赛道,竞争小机会多!

今天我要给大家带来一个超级有趣的项目——童装走秀AI视频制作。 这不仅是一个充满创意的项目,而且操作简单,即使是视频制作的新手也能轻松上手。 更重要的是,这个项目竞争小,变现机会多,是进入新蓝海赛道的绝佳机会…

C++类之set与get理解

在类中,我们尝尝将一些变量设置为private或者protect里面,而我们经常会遇到在主函数(main.cpp)使用到这些private变量,而往往我们会下意识地在主函数直接调用在private里面的变量,但现实比较残酷&#xff0…

【linux】nice命令

Linux中的nice命令是一个强大的工具,用于调整进程的优先级,进而影响它们在CPU上的资源分配和执行顺序。以下是关于nice命令的详细解释,包括其用途、语法、参数、示例以及使用建议。 一、用途 nice命令主要用于控制进程在CPU上的调度优先级&…