SimVODIS++: Neural Semantic Visual Odometry in Dynamic Environments 论文阅读

news2025/1/16 1:07:31

论文信息

题目:SimVODIS++: Neural Semantic Visual Odometry in Dynamic Environments
作者:Ue-Hwan Kim , Se-Ho Kim , and Jong-Hwan Kim , Fellow, IEEE
时间:2022
来源: IEEE ROBOTICS AND AUTOMATION LETTERS(RAL)

Abstract

语义的缺乏和动态对象导致的性能下降阻碍了其在现实场景中的应用。

为了克服这些限制,我们在Simultanerous VO、Object Detection和Instance segmentation (SimVODIS) 网络之上设计了一种新颖的神经语义视觉里程计 (VO) 架构。

接下来,我们提出了一种具有多任务学习形式的专用姿态估计架构,用于处理动态对象和 VO 性能增强。

此外,SimVODIS++ 专注于显着区域,同时排除无特征区域。

我们工作中进行的大量实验证明,所提出的 SimVODIS++ 提高了动态环境中的 VO 性能。此外,SimVODIS++ 专注于显着区域,同时排除无特征区域。通过进行实验,我们发现并解决了传统实验设置中的数据泄漏问题,随后进行了许多先前的工作,这也是我们的贡献之一。

Introduction

目前的自监督单目深度和运动学习方法存在三个局限性:缺乏语义信息,动态环境下视觉里程计(VO)性能下降,以及测量VO性能的错误实验设置。

  1. 首先,采用VO算法的智能系统通常需要语义信息来执行高级任务,如机器人提供的家庭服务[1]。这种系统在VO线程之外运行另一个计算线程来提取语义信息,这增加了系统的复杂性和计算时间[10]。
  2. 其次,由于自我监督损失的静态场景假设,目前的方法很难在动态环境中学习深度和运动[11]。光度一致性损失是自监督损失的核心,需要一种合适的机制与动态对象进行学习[12]。
  3. 此外,目前的一组方法是在训练数据分割的部分评估VO性能,而不是在不涉及训练过程的数据上,即数据泄漏问题。这种错误的实验设置已经成为一种惯例,许多先前的研究都遵循了这种惯例。

为了克服上述限制,我们提出了SimVODIS++,SimVODIS++从一组输入图像帧中估计以下信息:1)图像帧之间的相对姿态,2)密集深度图预测,3)对象类,4)对象边界框,以及5)实例分割掩码。

SimVODIS++的网络架构允许提取智能系统的五个基本信息,计算量比Mask RCNN[13]略有增加。因此,智能系统可以通过SimVODIS++从共享特征中提取几何和语义信息来提高计算效率。

此外,我们还致力于提高动态环境中自监督单目深度和运动学习的VO性能。为了实现这一目标,我们提出了一种专注的姿态估计架构,用于处理保持网络大小的移动对象。
我们使用了一个自注意模块,使SimVODIS++学会以自监督的方式排除动态对象并选择显著区域。SimVODIS++还学习在该过程中排除无特征区域。

此外,我们提出了一种学习相机校准和姿态估计的训练方法,作为多任务学习,以提高VO性能。简单地学习相机校准并不能提高VO性能,但我们的学习公式具有理论背景。

Approach

Network Architecture

在这里插入图片描述
我们基于以下推理设计了SimVODIS++网络:
(1)用于语义分支(对象检测和实例分割)的特征金字塔网络(FPN)提取能够执行语义和几何任务的一般特征;
(2)我们可以利用这些丰富的特征来执行位姿估计和深度图预测。对于SimVODIS++,与SimVODIS[10]相比,我们设计了两个新功能:姿态估计和相机校准。我们进行专注的姿态估计以去除动态对象,并进行相机校准以提高VO性能。由于所提出的姿态估计和相机校准导致的参数总量的增加是最小的。

Attentive Pose Estimation

在这里插入图片描述
图2描述了在动态环境中用于鲁棒性能的所提出的注意姿态估计的架构。

卷积(Conv.)块从FPN接收特征,调整输入特征以进行自注意,并通过自注意进行动态特征选择。对于自我注意,我们使用CBAM模块[37]。在训练过程中,CBAM模块让姿势分支学会专注于具有相关特征的区域,并尽量减少对动态对象的关注。

在这里插入图片描述
此外,动态选择的特征要经过一系列Conv.层。除了Conv.块中的一个之外,Conv.层具有3×3个内核。Conv.块中Conv.层的核大小是3×3或7×7;我们在消融研究中研究了核大小的影响。之后,平均层紧随其后,并在空间上对输入特征进行平均。最后,我们缩放平均姿势以生成输出姿势值。

Camera Calibration

我们将相机参数的学习和姿态估计作为多任务学习,以提高姿态估计的性能。在这个过程中,我们做出了两个适用于大多数现代相机的假设:
(1)焦距在垂直和水平方向上是相同的;
(2)主点在中心。接下来,我们选择相机参数的监督学习,因为光度一致性损失容忍相机参数的无监督学习,如下[11]:
在这里插入图片描述
此外,我们用垂直视场(Fv)而不是焦距(f)来参数化相机参数的学习。垂直视场可以从单个图像中直接观察到,而焦距则不然[38]。这个特性使得学习垂直视场的过程是稳定的。

我们从垂直视场中恢复焦距如下: f = h 2 × t a n F v 2 f=\frac{h}{2×tan {\frac{F_v}{2}}} f2×tan2Fvh。然后,具有两个假设的相机矩阵变为
在这里插入图片描述

Loss Function

在这里插入图片描述

Evaluation

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

⛳ MVCC 原理详解

🎍目录 ⛳ MVCC 原理详解🐾 一、事务回顾📐 1.1、什么是数据库事务,为什么要有事务🎉 1.2、事务包括哪几个特性?🎍 1.3、事务并发存在的问题1.3.1、脏读1.3.2、不可重复读1.3.3、幻读 &#x1f…

【Spring Boot】SpringBoot 2.6.6 集成 SpringDoc 1.6.9 生成swagger接口文档

文章目录 前言一、SpringDoc是什么?二、使用步骤1.引入库2.配置类3.访问测试 总结其他配置立个Flag 前言 之前常用的SpringFox在2020年停止更新了,新项目集成SpringFox出来一堆问题,所以打算使用更活跃的SpringDoc,这里简单介绍一…

【双向传输ConvLSTM网络:Pan-Sharpening】

D2TNet: A ConvLSTM Network With Dual-Direction Transfer for Pan-Sharpening (D2TNet:用于泛锐化的双向传输ConvLSTM网络) 在本文中,我们提出了一种有效的卷积长短期记忆(ConvLSTM)网络,具有双向传输的泛锐化,称为D2TNet。我们设计了一个…

【ARM CoreLink 系列 3 -- CCI-550 控制器介绍 】

文章目录 CCI FamilyCCI-550 简介CCI-550 功能CCI-550 Interfaces Snoop filter 使用背景CCI-550 Snoop filter 上篇文章:ARM CoreLink 系列 2 – CCI-400 控制器简介 CCI Family CCI-550 简介 Arm CoreLink CCI-550 Cache Coherent Interconnect 扩展了 CoreLink…

sentinel加密狗使用及规则配置

Sentinel加密狗是一种硬件加密设备,用于保护软件应用程序免受未经授权的访问和复制。它可以提供软件许可管理、访问控制和数据保护等功能。下面是Sentinel加密狗的使用及规则配置的相关介绍。 Sentinel加密狗的使用 插入加密狗:将Sentinel加密狗插入计算…

用滑动条做调色板---cv2.getTrackbarPos(),cv2.creatTrackbar()

滑动轨迹栏作调色板 cv.createTrackbar(‘R’, ‘image’, 0, 255, nothing) 参数:哪个滑动轨迹栏,哪个窗口,最小值,最大值,回调函数 cv.getTrackbarPos(‘R’, ‘image’) 参数:轨迹栏名,窗口…

IMAU鸿蒙北向开发-2023年9月5日学习日志

1. 5种调试方式 1.1 Previewer 在侧边 Previewer 选项卡内可以预览Entry。 如果要单独预览组件,可以在给组件加Preview 装饰器 1.2 Local Emulator(本地模拟) 1.3 Remote Emulator(远程模拟) 使用时需要登录华为开发…

FSK解调技术的FPGA实现

本原创文章由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处 一、FSK信号的解调原理 FSK信号的解调也有非相干和相干两种,FSK信号可以看作是用两个频率源交替传输得到的,所以FSK的接收机由…

[构建 Vue 组件库] 小尾巴 UI 组件库 —— 横向商品卡片(仿淘宝)

文章归档于:https://www.yuque.com/u27599042/row3c6 组件库地址 npm:https://www.npmjs.com/package/xwb-ui?activeTabreadmegitee:https://gitee.com/tongchaowei/xwb-ui 下载 npm i xwb-ui配置 按需导入 import {组件名 } from xwb-…

css中flex和flex-grow的区别

设置了1个class为parent且宽度为700px的div父级元素&#xff1b; 它有3个子元素&#xff0c;分别宽高为100px&#xff1b; 其中item2的元素flex值为1&#xff0c;item3的元素flex值为2 <!DOCTYPE html> <html lang"en"> <head><style>.pare…

车船边缘网关是如何给车辆船只定位的?

随着智能交通系统的不断发展&#xff0c;车路协同成为了重要的研究方向之一。而AI边缘计算网关在这个领域中发挥着至关重要的作用。本文将重点介绍AI边缘计算网关在车路协同中的应用&#xff0c;并强调其中的重点词汇或短语。 首先&#xff0c;什么是AI边缘计算网关&#xff1…

华为数据管理——《华为数据之道》

数据分析与开发 元数据是描述数据的数据&#xff0c;用于打破业务和IT之间的语言障碍&#xff0c;帮助业务更好地理解数据。 元数据是数据中台的重要的基础设施&#xff0c;元数据治理贯彻数据产生、加工、消费的全过程&#xff0c;沉淀了数据资产&#xff0c;搭建了技术和业务…

Python实现猎人猎物优化算法(HPO)优化卷积神经网络分类模型(CNN分类算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 猎人猎物优化搜索算法(Hunter–prey optimizer, HPO)是由Naruei& Keynia于2022年提出的一种最新的…

ps显示msvcp140.dll丢失的解决方法,四个解决方法分享

我想和大家分享一个关于ps显示msvcp140.dll丢失的问题以及解决方法。这个问题可能会困扰很多使用Photoshop软件的朋友&#xff0c;特别是在运行某些特定功能时&#xff0c;会出现“无法运行此程序&#xff0c;因为找不到”的错误提示。那么&#xff0c;如何解决这个问题呢&…

现在嵌入式行业工作起薪是多少呢?发展怎么样?

今天闲逛看到有位毕业大学生询问的问题&#xff0c;我就来客观讨论一下&#xff0c;其实工作方面都是起薪多少取决于你个人的学历&#xff0c;能力等背景。嵌入式岗位的就业比起其他很多工程师岗位算还不错的&#xff0c;但是不如互联网&#xff0c;这一点不用质疑。起薪多少这…

element-plus中更改分页器的文字

实现&#xff1a; main.ts 文件中增加如下代码&#xff1a; import zhCn from element-plus/es/locale/lang/zh-cn // 自定义文字&#xff08;使用默认文字不用设置&#xff09; zhCn.el.pagination.goto 跳转到 zhCn.el.pagination.pageClassifier 页 // 创建应用实例对象 c…

学校宿舍智能水电表管理系统:为节约资源保驾护航

随着科技的不断发展&#xff0c;越来越多的学校开始重视宿舍管理的智能化。其中&#xff0c;智能水电表管理系统作为一项重要的基础设施&#xff0c;已经逐渐被各大高校引入。本文将围绕学校宿舍智能水电表管理系统展开详细介绍&#xff0c;让我们一起来了解一下这个节约资源、…

[machineLearning]非监督学习unsupervised learning

1.什么是非监督学习 常见的神经网络是一种监督学习,监督学习的主要特征即为根据输入来对输出进行预测,最终会得到一个输出数值.而非监督学习的目的不在于输出,而是在于对读入的数据进行归类,选取特征,打标签,通过对于数据结构的分析来完成这些操作, 很少有最后的输出操作. 从…

搭建STM32F407的SPI-Flash(基于STM32CubeMX)

网上有不少例子&#xff0c;都对&#xff0c;但对我来说碰到几个坑&#xff0c;避免以后再犯错&#xff0c;mark下。 目标&#xff1a;通过SPI接口&#xff0c;对Nor Flash进行读写 开发板上Nor Flash 是W25Q128&#xff0c; 128Mbit&#xff0c;也就是16MB样子 CubeMx端配置…

WebClient vs HttpClient:异同对比

在 Java 开发中&#xff0c;进行网络通信是常见的需求。WebClient 和 HttpClient 是两种常用的用于发送 HTTP 请求的工具。它们都具有相似的功能&#xff0c;但在实现细节和用法上存在一些差异。本文将详细介绍 WebClient 和 HttpClient 的异同&#xff0c;帮助您选择适合您项目…