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

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

目前遇到的困难和挑战

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

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

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

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

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

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

3、算法的泛化能力:

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

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

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

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

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

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

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

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

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

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

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

让我们来看一下数据集:

数据集涵盖了自然场景和人造物体场景,是为了训练和验证机器学习算法在视觉导航(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生成的训练数据集,月球着陆器的视觉导航系统能够在各种复杂和未知的月球表面环境中稳定工作,大大提高了着陆的成功率和安全性。

相关推荐
埃菲尔铁塔_CV算法24 分钟前
人工智能图像算法:开启视觉新时代的钥匙
人工智能·算法
EasyCVR24 分钟前
EHOME视频平台EasyCVR视频融合平台使用OBS进行RTMP推流,WebRTC播放出现抖动、卡顿如何解决?
人工智能·算法·ffmpeg·音视频·webrtc·监控视频接入
MarkHD27 分钟前
第十一天 线性代数基础
线性代数·决策树·机器学习
打羽毛球吗️30 分钟前
机器学习中的两种主要思路:数据驱动与模型驱动
人工智能·机器学习
好喜欢吃红柚子1 小时前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
小馒头学python1 小时前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习
神奇夜光杯1 小时前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
正义的彬彬侠1 小时前
《XGBoost算法的原理推导》12-14决策树复杂度的正则化项 公式解析
人工智能·决策树·机器学习·集成学习·boosting·xgboost
Debroon1 小时前
RuleAlign 规则对齐框架:将医生的诊断规则形式化并注入模型,无需额外人工标注的自动对齐方法
人工智能
羊小猪~~1 小时前
神经网络基础--什么是正向传播??什么是方向传播??
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习