(秋招)闭环检测流程回顾

news/2024/4/16 22:18:13

vins中的闭环检测和重定位

回环检测的关键就是如何有效检测出相机曾经经过同一个地方,这样可以避免较大的累积误差,使得当前帧和之前的某一帧迅速建立约束,形成新的较小的累积误差。由于回环检测提供了当前数据与所有历史数据的关联,在跟踪算法丢失后,还可以利用重定位。

在vins中重定位模块主要包含回环检测,回环候选帧之间的特征匹配,紧耦合重定位三个部分。

A.回环检测(只对关键帧)

1、采用DBoW2词袋位置识别方法进行回环检测。经过时间空间一致性检验后,DBoW2返回回环检测候选帧。

2、除了用于单目VIO的角点特征外,还添加了500个角点并使用BRIEF描述子,描述子用作视觉词袋在数据库里进行搜索。这些额外的角点能用来实现更好的回环检测。

3、VINS只保留所有用于特征检索的BRIEF描述子,丢弃原始图像以减小内存。

4、单目VIO可以观测到滚动和俯仰角,VINS并不需要依赖旋转不变性。

这部分回环检测的内容是在进行完回环候选帧匹配之后做的事情。

B.回环候选帧之间的特征匹配

1、检测到回环时,通过BRIEF描述子匹配找到对应关系。但是直接的描述子匹配会导致很多外点。

2、本文提出两步几何剔除法:

1)2D-2D:使用RANSAC进行F矩阵测试,

2)3D-2D:使用RANSAC进行PnP,基于已知的滑动窗特征点的3D位置,和回路闭合候选处图像的2D观测(像素坐标)。

当内点超过一定阈值时,我们将该候选帧视为正确的循环检测并执行重定位。

在vins中角点使用的是harris角点,然后这个地方的创新版本是Shi-To啥啥啥的一个角点,然后这里进行了brief描述子的计算,这个地方就是为了进行回环检测才进行的描述子的相关操作。同时需要注意,在回环的时候,角点的数量是增加的,一般来说光流也就追踪100个左右角点来进行运动估计,这里的话角点的数量是需要注意的。然后这里还进行了一步外点剔除的操作。这里的使用RANSAC进行F矩阵或者pnp就是基于F矩阵或者pnp,然后首先根据它们之一的公式来计算出一个模型,把其他点带到这个模型里面,计算内点和外点的数量来对模型的参数进行调整,通过不断调整模型,使得内点的数量增加,然后模型逐渐稳健,此时便完成了外点剔除的操作。这个思想就是用RANSAC来实现的,也即叫做了使用RANSAC进行F矩阵或者PnP的外点剔除方法。

C.紧耦合重定位

1、重定位过程使单目VIO维持的当前滑动窗口与过去的位姿图对齐。

2、将所有回环帧的位姿作为常量,利用所有IMU测量值、局部视觉测量和从回环中提取特征对应值,共同优化滑动窗口。

重定位就是说当系统遇到异常的时候,然后根据当前帧与历史帧之间的关系来恢复出当前所在的位置,并继续进行建图。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

作者画的流程图,仅供参考

最后做个总结:

回环检测首先找到回环候选帧,然后针对局部地图进行回环匹配,将局部地图中的相关关键帧拉到对应的位置,最后针对全局地图进行闭环误差的传播,也即将误差加权到每个node上面,来调整全局地图的位置。这样就缓解了slam运行过程中产生的累积误差,使得建图和定位能够更加精确。针对不同的视觉slam系统,可能对闭环上面的处理多多少少有些区别,比如vins里面需要继续提取角点,并进行brief描述子匹配,同时还要引入ransac来对外点进行剔除。这都是一些提高闭环鲁棒性的做法,不同的视觉slam系统有不同的做法。(当然这些做法也是有目的性的,有的专门减少计算量,有的专门提升精度,反正各有各的目的,这个需要斟酌~)

 


http://www.ppmy.cn/news/550823.html

相关文章

Windows Server 2022打开驱动精灵

windows server打开驱动精灵等驱动软件显示程序不支持当前系统,简单解决,可以试试 A.打开安装包的属性,更改兼容性, B.勾选已兼容模式运行这个程序,选择 windows 7 C.勾选以管理员身份身份运行此程序 D.勾选注册此…

流氓软件-驱动精灵

流氓软件-驱动精灵 驱动精灵是真的很过分,各种默认勾选,各种偷偷藏在角落(估计是钻法律的空子,毕竟是提醒别人了,别人看不到那可就不怪我了呀)。 这张图是驱动精灵卸载时的界面,请睁大眼睛看看…

服务器系统怎么安全驱动精灵,服务器驱动精灵

服务器驱动精灵 内容精选 换一换 为保证MindX DL能够安装成功,软硬件环境需要满足一定的要求。安装MindX DL前,需要完成以下环境的安装,如表2所示。ARM架构和x86架构对应的依赖不一样,请根据系统架构选择。软件安装完成后请按照以…

JDBC-->java如何连接数据库(详细版小白必备)

个人名片: 🐅作者简介:一名大二在校生,热爱生活,爱好敲码! \ 💅个人主页 🥇:holy-wangle ➡系列内容: 🖼️ tkinter前端窗口界面创建与优化 &…

移动直播技术秒开优化经验

编者按:本文由徐立在高可用架构群分享,转载请注明来自高可用架构「 ArchNotes 」。 现今移动直播技术上的挑战要远远难于传统设备或电脑直播,其完整的处理环节包括但不限于:音视频采集、美颜/滤镜/特效处理、编码、封包、推流、转…

大型机是什么

大型机,或者称大型主机,英文名mainframe。大型机使用专用的处理器指令集、操作系统和应用软件。大型机一词,最初是指装在非常大的带框铁盒子里的大型计算机系统,以用来同小一些的迷你机和微型机有所区别。大多数时候它却是指syste…

ATM机

package com.lovo.bean;import java.util.Scanner;//ATM机 public class ATMMachine {private UserInfo theUser;//ATM中的用户信息private int cash;//现金public final int MAX_CASH 200000;//最大现金额//构造方法public ATMMachine(){this.theUser new UserInfo("J1…

运维之堡垒机

运维审计与风险控制系统 也叫堡垒机,或者跳板机, 是运维端接入公司服务器的一个远程电脑 ,项目部署上线和运维都需要使用到堡垒机, 可以防止公司技术人员删库跑路. 堡垒机产生背景 即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破…

MobaXterm登录堡垒机/跳板机

前言 xshell很好用,但是没找到正式版本,公司不允许使用,看了网上的一些资料,发现MobaXterm是比较好的替代产品。但是找了无数资料,发现网上的登录堡垒机的方法都无法正常登录,试了好久,气死&am…

齐治堡垒机

一、基本信息 参考:https://www.cnvd.org.cn/flaw/show/1559039 补丁信息:该漏洞的修复补丁已于2019年4月1日发布。如果客户尚未修复该补丁,可联系齐治科技的技术支持人员获得具体帮助。 二、漏洞挖掘过程 这是我第一次接触运维堡垒机&…

下载机

http://bbs.hdchina.org/viewthread.php?tid80014 [原创] 【原创.墨】下载机[重点:系统,linux,远控,稳定至上!] 本帖最后由 游子墨 于 2011-3-19 07:23 编辑 简单介绍下我折腾下载机的经历: 自从进入PT&#x…

预言机简介

1. 为什么需要预言机 区块链是一个完全封闭的环境,在智能合约执行的过程中,不能引入不确定性,也就是说不能出现网络访问,因为网络访问是不确定的。 如果智能合约的执行结果不是确定的,那么就有可能造成节点之间数据的…

DIY娃娃机

目录 前言一、硬件材料二、软件设计1.实现功能2.设计思路3.资源分配 三、总结 前言 不知道大家有没有和我一样,有时候脑子里突然冒出来一个大胆的想法,然后就立马行动,学习,努力去实现它!   这不,有一次我…

初识堡垒机

文章目录 1 堡垒机的定义2 堡垒机的作用3 堡垒机的类型(按应用场景划分)4 堡垒机工作流程5 堡垒机原理6 堡垒机的部署方式7 堡垒机的身份认证8 堡垒机的常见运维方式9 常见堡垒机的主要功能模块10 如何选择一款好的堡垒机产品 1 堡垒机的定义 以操作网关…

堡垒机、跳板机JumpServer的搭建使用

​ 一、简介 为了保证服务器安全,加个堡垒机,所有ssh连接都通过堡垒机来完成,堡垒机也需要有身份认证,授权,访问控制,审计等功能。 Jumpserver 是一款由python编写开源的跳板机(堡垒机&#…

堡垒机

一、堡垒机介绍 在一个特定网络环境下,为了保障网络和数据不受外界入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。 我们又把堡垒机叫做跳板机&…

通过Xshell连接有跳板机/堡垒机的服务器

通过Xshell连接有跳板机/堡垒机的服务器 什么是跳板机通过跳板机连接服务器添加登录脚本直接进入指定ip的服务器通过Public Key的形式连接服务器文章参考 什么是跳板机 在服务器众多的企业里,通常运维会把某台机器开放外网访问权限,其他服务器通过该机器…

前置机到底是什么?

比如银行, 银行肯定有后台核心处理系统, 该系统肯定对外提供接口服务的吧, 想直接通过外部网络来访问他们的后台系统肯定是不被允许的, 怎么办?开发一个软件,运行在他们内网上的一台计算机上, 然…

自动编码机

自动编码机(Autodencoder) 自动编码机(Autoencoder)属于非监督学习,不需要对训练样本进行标记。自动编码机(Autoencoder)由三层网络组成,其中输入层神经元数量与输出层神经元数量相等,中间层神…

堡垒机的主要功能是什么?为什么需要堡垒机?

堡垒机是一种用于管理和控制服务器的工具,其主要功能是为管理人员提供安全、便捷的远程管理和操作方式。为什么需要堡垒机呢?下面我们将详细阐述堡垒机的主要功能和必要性。 一、堡垒机的主要功能: ①、用户认证和授权管理:堡垒机…
最新文章