SimVODIS++: Neural Semantic Visual Odometry in Dynamic Environments 论文阅读
论文信息
题目: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性能的错误实验设置。
- 首先,采用VO算法的智能系统通常需要语义信息来执行高级任务,如机器人提供的家庭服务[1]。这种系统在VO线程之外运行另一个计算线程来提取语义信息,这增加了系统的复杂性和计算时间[10]。
- 其次,由于自我监督损失的静态场景假设,目前的方法很难在动态环境中学习深度和运动[11]。光度一致性损失是自监督损失的核心,需要一种合适的机制与动态对象进行学习[12]。
- 此外,目前的一组方法是在训练数据分割的部分评估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. Block 从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}}} f=2×tan2Fvh。然后,具有两个假设的相机矩阵变为

Loss Function

Evaluation


相关文章:
SimVODIS++: Neural Semantic Visual Odometry in Dynamic Environments 论文阅读
论文信息 题目: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…...
7.Xaml Image控件
1.运行图片 2.运行源码 a.xaml源码 <!--Source="/th.gif" 图像源--><!--Stretch="Fill" 填充模式--><Image x:Name...
Solidity 小白教程:11. 构造函数和修饰器
Solidity 小白教程:11. 构造函数和修饰器 这一讲,我们将用合约权限控制(Ownable)的例子介绍solidity语言中构造函数(constructor)和独有的修饰器(modifier)。 构造函数 构造函数&…...
静态工厂模式,抽象工厂模式,建造者模式
静态工厂模式 ublic class FruitFactory {public static Fruit getFruit(String name) {Fruit fnull;switch (name){case "APPLE":{fnew Apple();}case "BANANA":{fnew Banana();}default :{System.out.println("Unknown Fruit");}}return f;} …...
【动手学深度学习笔记】--门控循环单元GRU
文章目录 门控循环单元GRU1.门控隐状态1.1重置门和更新门1.2候选隐状态1.3隐状态 2.从零开始实现2.1读取数据2.2初始化模型参数2.3定义模型2.4训练与预测 3.简洁实现 门控循环单元GRU 学习视频:门控循环单元(GRU)【动手学深度学习v2】 官方…...
浅析linux异步io框架 io_uring
前言 Linux内核5.1支持了新的异步IO框架iouring,由Block IO大神也即Fio作者Jens Axboe开发,意在提供一套公用的网络和磁盘异步IO,不过io_uring目前在磁盘方面要比网络方面更加成熟。 目录 背景简介 io_uring 系统API liburing 高级特性…...
访问者模式的一个使用案例——文档格式转换
访问者模式的一个使用案例——文档格式转换 假设我们在开发一个文档编辑器,它支持多种不同的文档元素(如段落、图片、表格等),现在我们需要添加一个功能——将文档导出为 HTML 或 Markdown 格式。 这就是一个典型的访问者模式的…...
【MySql】数据库的聚合查询
写在最前面的话 哈喽,宝子们,今天给大家带来的是MySql数据库的聚合查询。在前面CRUD章节我们学习了表达式查询,表达式查询是针对列和列之间进行运算的,那么如果想在行和行之间进行运算,那么就需要用到聚合查询。聚合查…...
Linux初探 - 概念上的理解和常见指令的使用
目录 Linux背景 Linux发展史 GNU 应用场景 发行版本 从概念上认识Linux 操作系统的概念 用户的概念 路径与目录 Linux下的文件 时间戳的概念 常规权限 特殊权限 Shell的概念 常用指令 ls tree stat clear pwd echo cd touch mkdir rmdir rm cp mv …...
苹果上架Guideline 4.3 - Design
最近上架苹果商店,审核提示 Guideline 4.3 - DesignWe noticed your app shares a similar binary, metadata, and/or concept as apps previously submitted by a terminated Apple Developer Program account.Submitting similar or repackaged apps is a form o…...
【数据分析入门】【淘宝电商API接入与电商数据分析】初识Web API(一)
今天开始我们将学习如何使用Web应用变成借口(API)自动请求网站到特定信息而不是整个网站,再对这些信息进行可视化。由于这样编写到程序始终使用最新到数据来生成可视化,因此即便数据瞬息万变,它呈现到信息也都是最新的。比如,我们…...
蓝桥杯官网练习题(李白打酒)
题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: …...
聚类分析 | MATLAB实现基于SOM自组织特征映射聚类可视化
聚类分析 | MATLAB实现基于SOM自组织特征映射聚类可视化 目录 聚类分析 | MATLAB实现基于SOM自组织特征映射聚类可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 基于自组织特征映射聚类算法(SOM)的数据聚类可视化 可直接运行 注释清晰 Matlab语言 1.多特征输入&…...
Spring AOP:面向切面编程在实际项目中的应用
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...
python爬虫的反扒技术有哪些如何应对
Python爬虫常见的反扒技术主要有以下几种: IP封禁:有些网站会限制爬虫的IP访问频率,如果访问流量过大,可能会被封禁IP。可以通过使用代理IP或者轮换IP的方式规避此类反扒技术。 用户代理限制:有些网站会通过检测请求头中的用户代…...
网络原理,了解xml, json,protobuffer的特点
目录 外卖服务器场景带入 大佬们通用的规范格式 一、👦 外卖服务器场景 外面服务器沟通有很多模式——展示商家列表等等,只是其中一个,因此需要一个统一的规划了——不同应用程序,里面的自定义格式是不一样的,这样的…...
工具 | XShell的学习与使用
工具 | XShell的学习与使用 时间:2023年9月8日09:03:29 文章目录 工具 | XShell的学习与使用1.下载2.安装 1.下载 1.官网XSHELL - NetSarang Website 2.免费版下载:家庭/学校免费 - NetSarang Website (xshell.com) 3.https://cdn.netsarang.net/de06d10…...
基于微服务+Java+Spring Cloud +UniApp +MySql开发的智慧工地源码(物联网、人工智能、AI识别、危大工程)
智慧工地系统利用物联网、人工智能、云计算、大数据、移动互联网等新一代信息技术,通过工地中台、三维建模服务、视频AI分析服务等技术支撑,实现智慧工地高精度动态仿真,趋势分析、预测、模拟,建设智能化、标准化的智慧工地综合业…...
Kafka安装与使用
Kafka是一种高吞吐量的分布式发布订阅消息系统,因为其高吞吐量、分布式可扩展性等等强大功能使得在目前互联网系统中广泛使用。该篇博客入门了解一下Kafka的安装及使用。 Kafka概念 Kafk是分布式消息队列。Kafka对消息保存时根据Topic进行归类,发送消息…...
php出现SSL certificate problem: unable to get local issuer certificate的解决办法
当在本地使用curl或者一些其它封装好的http类库或组件(如php界 知名的 http客户端 Guzzle)需要访问https时,如果本地没有配置证书,会出现SSL certificate problem: unable to get local issuer certificate的报错信息。 解决办法一…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
Python网页自动化Selenium中文文档
1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...
恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
yaml读取写入常见错误 (‘cannot represent an object‘, 117)
错误一:yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因,后面把yaml.safe_dump直接替换成yaml.dump,确实能保存,但出现乱码: 放弃yaml.dump,又切…...
【深尚想】TPS54618CQRTERQ1汽车级同步降压转换器电源芯片全面解析
1. 元器件定义与技术特点 TPS54618CQRTERQ1 是德州仪器(TI)推出的一款 汽车级同步降压转换器(DC-DC开关稳压器),属于高性能电源管理芯片。核心特性包括: 输入电压范围:2.95V–6V,输…...
