0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种新的单目视觉里程计深度学习系统

3D视觉工坊 来源:泡泡机器人SLAM 作者:泡泡机器人 2022-10-20 09:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

摘要

大家好,今天为大家带来的文章:Deep Patch VisualOdometry 我们提出了一种新的单目视觉里程计深度学习系统(Deep Patch Visual Odometry, DPVO)。DPVO在一个RTX-3090 GPU上仅使用4GB内存,以2 -5倍的实时速度运行时是准确和健壮的。我们在标准基准上进行评估,并在准确性和速度上超越所有之前的工作(经典的或学习过的)。



poYBAGNQonaAGGYxAAE_41hGFyA111.jpg
图1 深度斑块视觉里程计(DPVO)。相机姿态和稀疏三维重建(上)是通过迭代修正补丁轨迹随着时间

主要工作与贡献

与之前的深度学习系统相比,我们的方法的新颖之处在于在单一体系结构中紧密集成了三个关键成分:(1)基于补丁关联,(2)循环迭代更新,(3)可微束调整。基于补丁的关联提高了密集流的效率和鲁棒性。循环迭代更新和可区分的bundle调整允许端到端学习可靠的特征匹配。 DPVO准确、高效、实现简单。

在显卡(RTX-3090)上,它只需要4GB内存就能运行2倍实时。我们还提供了一个在EuRoC数据集[2]上以100fps运行的模型,同时仍然优于之前的工作。对于每一帧,运行时间是恒定的,不依赖于相机运动的程度。该系统的实现非常简单,代码量非常少。无需对底层VO实现或逻辑进行任何必要的更改,就可以轻松地交换新的网络架构。我们希望DPVO可以作为未来深度VO和SLAM系统发展的试验台。

算法流程

我们的网络是在线训练和评估的。一个接一个地添加新的帧,并在关键帧的局部窗口中进行优化。我们的方法有两个主要模块:patch提取器(3.1)和更新模块(3.2)。补丁提取器从传入帧中提取稀疏的图像补丁集合。更新模块试图通过使用循环神经网络跟踪这些补丁与包调整交替迭代更新。

3772bf04-5003-11ed-a3b6-dac502259ad0.png

图2 更新操作符的原理图。从补丁图的边缘提取相关特征,并与上下文特征一起注入到隐藏状态中。我们应用了卷积、消息传递和转换块。因子头产生轨迹修正,由束调整层用于更新相机姿势和补丁深度。

2. 方法

我们介绍了DPVO,一种新的基于补丁的深度VO系统,它克服了这些限制。我们方法的核心部分是深度补丁表示(图1)。我们使用神经网络从传入帧中提取补丁集合。然后使用循环神经网络跟踪每个补丁通过时间交替补丁轨迹更新与可微束调整层。我们在合成数据上对整个系统进行端到端训练,但在真实视频上表现出很强的泛化能力。

2.1 特征和补丁提取

我们使用一对残差网络从输入图像中提取特征。一个网络提取匹配特征,另一个网络提取上下文特征。每个网络的第一层是一个跨步2的7 × 7卷积,后面是两个1/2分辨率的剩余块(维64)和两个1/4分辨率的剩余块(维128),这样最终的特征映射是输入分辨率的1/4。匹配网络和上下文网络的结构是相同的,除了匹配网络使用实例规格化,而上下文网络不使用规格化。

我们用一个四乘四步滤波器对匹配特征进行平均池化,构建了一个两级特征金字塔。我们为每一帧存储匹配的特征。此外,我们还从匹配和上下文特征映射中提取补丁。在随机抽取斑块质心的基础上,采用双线性插值方法进行特征提取。 与DROID-SLAM不同的是,我们从未显式地构建相关卷。相反,我们同时存储帧和补丁特征映射,这样相关特征就可以实时计算

2.2 更新操作

更新操作符的目的是更新姿势和补丁。这是通过修改patch轨迹来实现的,如图1所示。我们在图2中提供了操作符的概览示意图,并详细介绍了下面的各个组件。图中的每个“+”操作都是一个残留连接,然后是层归一化。更新操作符作用于补丁图,补丁图中的每条边都用一个隐藏状态(维度为384)进行扩充。当添加一条新边时,隐藏状态初始化为0。

2.2.1 关联操作

对于补丁图中的每条边(i, j),我们计算相关特征。我们首先使用Eqn. 2对帧j中的patch i进行重投影:xij = ωij(T, P)。给定patch特征g∈Rp×p×D,帧特征f∈RH×W ×D,对于patch i中的每个像素(u, v),我们计算其与帧j中像素(u, v)重投影为中心的像素网格的相关性,使用内积:

37915f72-5003-11ed-a3b6-dac502259ad0.png

2.2.2 可微的束调整

图2中的这一层在补丁图上全局运行,并输出深度和相机姿势的更新。预测因子(δ, Σ)用于定义优化目标 379ede40-5003-11ed-a3b6-dac502259ad0.png

2.2 训练与监督

DPVO是使用PyTorch实现的。我们用TartanAir数据集训练我们的网络。在每个训练序列上,我们使用地面真值姿态和深度来预计算所有帧对之间的光流大小。在训练过程中,我们对帧对帧光流大小在16px到72px之间的轨迹进行采样。这确保了训练实例通常是困难的,但不是不可能的。 我们对姿态和光流(即轨迹更新)进行监督,监督更新操作符的每个中间输出,并在每次更新之前从梯度带中分离姿态和补丁。

2.2.2 pose监督

我们使用Umeyama对齐算法[30]缩放预测轨迹以匹配地面真相。然后对每一对姿态(i, j)进行误差监督


37b181e4-5003-11ed-a3b6-dac502259ad0.png

2.2.3 Flow监督

此外,我们还监测了每个补丁和帧之间的诱导光流和地真光流之间的距离,从每个补丁被提取的帧的两个时间戳。每个补丁诱导一个p×p流场。我们取所有p × p误差中的最小值。

2.2.4训练

我们训练长度为15的序列。前8帧用于初始化,后7帧每次添加一帧。我们在训练期间展开更新操作符的18次迭代。对于前1k的训练步骤,我们用地面真相固定姿势,只要求网络估计补丁的深度。然后,该网络被要求估计姿势和深度。 37e0a438-5003-11ed-a3b6-dac502259ad0.png

图3 VO系统概述。

2.3 VO System

在本节中,我们将介绍将我们的网络变成一个完整的可视化里程表系统所必需的几个关键实现细节。系统的逻辑主要用Python实现,瓶颈操作如包调整和可视化用c++和CUDA实现。与其他VO系统相比,DPVO非常简单,需要最少的设计选择

初始化:我们使用8帧进行初始化。我们添加新的补丁和帧,直到累积了8帧,然后运行更新操作符的12次迭代。需要一些相机运动进行初始化;因此,我们只在前一帧中积累平均流量大小至少为8像素的帧。

扩展:当添加一个新框架时,我们提取特征和补丁。新框架的姿态初始化使用恒速运动模型。补丁的深度初始化为从前3帧中提取的所有补丁的中值深度。

优化:在添加边缘之后,我们运行更新操作符的一次迭代,然后是两次包调整迭代。除了最后10个关键帧,我们修复了所有的姿势。所有补丁的逆深度都是自由参数。一旦补丁落在优化窗口之外,将从优化中删除。

关键帧:最近的3帧总是被作为关键帧。在每次更新之后,我们计算关键帧t−5和t−3之间的光流大小。如果小于64px,我们删除t−4处的关键帧。当一个关键帧被移除时,我们在它的邻居之间存储相对的姿态,这样完整的姿态轨迹可以被恢复以进行评估

可视化:使用单独的可视化线程交互式地可视化重构。我们的可视化工具是使用穿山甲库实现的。它直接从PyTorch张量中读取,避免了所有不必要的内存拷贝从CPU到GPU。这意味着可视化工具的开销非常小——仅仅使整个系统的速度降低了大约10%。

实验结果

3716aa0c-5003-11ed-a3b6-dac502259ad0.png   38071b18-5003-11ed-a3b6-dac502259ad0.png

图4 示例重建:TartanAir(左)和ETH3D(右)

38340150-5003-11ed-a3b6-dac502259ad0.png

图5 TartanAir[34]验证分离的结果。我们的方法的AUC为0.80,而DROID-SLAM的AUC为0.71,运行速度是DROID-SLAM的4倍

384feb68-5003-11ed-a3b6-dac502259ad0.png38a6abe2-5003-11ed-a3b6-dac502259ad0.png38d20cec-5003-11ed-a3b6-dac502259ad0.png 





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 滤波器
    +关注

    关注

    162

    文章

    8362

    浏览量

    184863
  • 神经网络
    +关注

    关注

    42

    文章

    4829

    浏览量

    106898
  • gpu
    gpu
    +关注

    关注

    28

    文章

    5112

    浏览量

    134518
  • SLAM
    +关注

    关注

    24

    文章

    456

    浏览量

    33195

原文标题:DPVO:深度patch视觉里程计(arXiv 2022)

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战课(11大系列课程,共5000+分钟)

    行业市场具备深度学习能力的视觉系统占比已突破40%,催生大量复合型技术岗位需求: • 岗位缺口:视觉算法工程师全国缺口15万+,缺陷检测专项人才招聘响应率仅32% • 薪资水平:掌握L
    发表于 12-04 09:28

    【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战可(11大系列课程,共5000+分钟)

    \"),通过后解锁下阶段内容 2. 老手(包含资深工程师) 1)技术盲区突破 传统视觉进阶:九点标定误差补偿、手眼协调动态精度优化等高级技巧,提升系统稳定性 深度
    发表于 12-03 13:50

    从0到1,10+年资深LabVIEW专家,手把手教你攻克机器视觉+深度学习(5000分钟实战课)

    “告别检测系统能力缺陷!10+年LabVIEW视觉资深专家手把手教你:5000+分钟高清教程(含工具、算法原理、实战操作、项目优化全流程讲解)”——从传统视觉算法→深度
    的头像 发表于 12-02 08:07 173次阅读
    从0到1,10+年资深LabVIEW专家,手把手教你攻克机器<b class='flag-5'>视觉</b>+<b class='flag-5'>深度</b><b class='flag-5'>学习</b>(5000分钟实战课)

    如何深度学习机器视觉的应用场景

    深度学习视觉应用场景大全 工业制造领域 复杂缺陷检测:处理传统算法难以描述的非标准化缺陷模式 非标产品分类:对形状、颜色、纹理多变的产品进行智能分类 外观质量评估:基于学习的外观质量标
    的头像 发表于 11-27 10:19 76次阅读

    【CIE全国RISC-V创新应用大赛】+基于MUSE Pi Pro的3d激光里程计实现

    基于MUSE Pi Pro的3D激光里程计实现技术文档 内容摘要 本文档详细介绍了基于MUSE Pi Pro开发板和速腾聚创Airy 96线激光雷达实现3D激光里程计系统的完整技术方案。重点阐述了
    发表于 10-24 17:02

    如何在机器视觉中部署深度学习神经网络

    人士而言往往难以理解,人们也常常误以为需要扎实的编程技能才能真正掌握并合理使用这项技术。事实上,这种印象忽视了该技术为机器视觉(乃至生产自动化)带来的潜力,因为深度学习并非只属于计算机科学家或程序员。 从头开始:什么
    的头像 发表于 09-10 17:38 723次阅读
    如何在机器<b class='flag-5'>视觉</b>中部署<b class='flag-5'>深度</b><b class='flag-5'>学习</b>神经网络

    地铁隧道病害智能巡检系统——机器视觉技术的深度应用

    地铁隧道渗漏水病害检测智能系统通过分辨率视觉模组对地铁隧道进行高精度成像,并通过国际先进的深度学习算法能够在采集的图像中自动识别出渗漏水区域。
    的头像 发表于 08-29 15:50 354次阅读
    地铁隧道病害智能巡检<b class='flag-5'>系统</b>——机器<b class='flag-5'>视觉</b>技术的<b class='flag-5'>深度</b>应用

    基于凌智视觉识别模块的基于目视觉的目标物测量装置

    1.视觉测量整体方案本视觉测量系统采用目视觉技术实现目标物距离
    的头像 发表于 07-31 15:35 761次阅读
    基于凌智<b class='flag-5'>视觉</b>识别模块的基于<b class='flag-5'>单</b><b class='flag-5'>目视觉</b>的目标物测量装置

    目视觉在智能驾驶领域的应用

    围绕“双目智驾应用”,我们将推出系列文章深入解析双目视觉如何跨越技术鸿沟,在中国智驾的沃土上生根发芽,探索其赋能未来出行的无限可能。
    的头像 发表于 07-09 16:21 1044次阅读

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    结合IMU(惯性测量单元)进行多传感器融合。 三、总结与展望 技术融合趋势 机器人视觉与SLAM的结合(如视觉惯性里程计VIO)是当前研究热点,未来可能进步结合语义SLAM,让机
    发表于 05-03 19:41

    一种新型激光雷达惯性视觉里程计系统介绍

    针对具有挑战性的光照条件和恶劣环境,本文提出了LIR-LIVO,这是一种轻量级且稳健的激光雷达-惯性-视觉里程计系统。通过采用诸如利用深度
    的头像 发表于 04-28 11:18 820次阅读
    <b class='flag-5'>一种</b>新型激光雷达惯性<b class='flag-5'>视觉</b><b class='flag-5'>里程计</b><b class='flag-5'>系统</b>介绍

    一种基于点、线和消失点特征的目SLAM系统设计

    本文提出了一种稳健的目视觉SLAM系统,该系统同时利用点、线和消失点特征来进行精确的相机位姿估计和地图构建,有效解决了传统基于点特征的SL
    的头像 发表于 03-21 17:07 868次阅读
    <b class='flag-5'>一种</b>基于点、线和消失点特征的<b class='flag-5'>单</b>目SLAM<b class='flag-5'>系统</b>设计

    【AIBOX 应用案例】深度估计

    ‌Firefly所推出的NVIDIA系列的AIBOX可实现深度估计,该技术是一种从单张或者多张图像预测场景深度信息的技术,广泛应用于计算机视觉领域,尤其是在三维重建、场景理解和环境感知
    的头像 发表于 03-19 16:33 910次阅读
    【AIBOX 应用案例】<b class='flag-5'>单</b>目<b class='flag-5'>深度</b>估计

    BP神经网络与深度学习的关系

    ),是一种多层前馈神经网络,它通过反向传播算法进行训练。BP神经网络由输入层、个或多个隐藏层和输出层组成,通过逐层递减的方式调整网络权重,目的是最小化网络的输出误差。 二、深度学习
    的头像 发表于 02-12 15:15 1385次阅读

    一种基于MASt3R的实时稠密SLAM系统

    本文提出了一种即插即用的目SLAM系统,能够在15FPS的帧率下生成全局致的位姿和稠密几何图形。 01   本文核心内容 视觉SLAM乃
    的头像 发表于 12-27 15:25 2324次阅读