Paper Share_ NID-SLAM_ Robust Monocular SLAM using Normalised Information Distance

本文主要是介绍Paper Share_ NID-SLAM_ Robust Monocular SLAM using Normalised Information Distance,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【写在前面】
   一直都有写博客的意愿,但是一直都没有实际行动。尝试了几次也都没有坚持下来。这次打算逼自己一下,坚持下去。

  这次决心坚持写博客也是出于记录平时自己日常所学的考虑。平时有时间或者需要会去看论文,但是一篇论文当时看的时候似乎是懂了,但是过几天就没什么印象了。感觉这样效果很不好。所以打算写博客记录自己所看的论文。其一是加深自己的理解,其二是记录分析的内容和过程,方便日后查看与巩固。也希望能与广大博友分享知识,相互交流学习。博客小白,深感表达能力不足。如有不足之处,还望大家多多指点。


NID-SLAM: Robust Monocular SLAM using Normalised Information Distance

   熟悉视觉SLAM的朋友都知道从图像的处理方式来分,目前主流V-SLAM系统主要有两种:间接法与直接法。

  • 间接法:从图像中提取稀疏特征点,然后为每一个特征点计算一个描述子用于特征点匹配。描述子一般具有尺度、旋转不变的特性。(具体有哪些描述子可以上网搜索一下)。典型的例子是ORB-SLAM。

  • 直接法:利用图像像素的光度信息直接进行匹配,主要用到的方式是最小化光度误差的方法。一般分为稠密和半稠密法。半稠密法主要是使用图像中梯度明显的像素,而不是所有像素。典型的例子是LSD-SLAM。

   在这篇NID-SLAM中,作者分析了目前直接法与间接法的缺点和局限性,即直接法与间接法在室内这种静态场景或者室外短时间的场景下才能正常工作,而对与室外长时间的环境变化,天气变化,甚至是季节气候的变化则表现较差。而互信息(Mutual Information- MI) 是一种对环境变化具有一定鲁棒性的metric。因此本文采用与MI如出一辙的方法NID,将其应用到直接法当中替代光度信息,从而提高SLAM的鲁棒性。

   因此 【Abstract】本文提出了一种基于归一化信息距离(Normalized Infomation Distance - NID)匹配方法的直接单目slam算法。归一化信息距离的匹配方法是一种基于信息论的匹配方法(information-theoretic)(提到信息论肯定第一时间就会想到熵,没错NID就是利用信息熵来计算的, MI也是利用信息熵)。与当前最好的基于光度误差最小化的直接法相比,在面对光照变化,天气变化,环境结构变化等条件,NID匹配方式能够提供更强的鲁棒性。实验中在人工合成的有光照变化的室内场景与存在天气变化的室外真实场景下本文算法都能成功进行定位与建图。该算法使用OpenGL运行在消费级的GPU上,最终实现的定位精度与当前最好的光度误差最小化法(应该是LSD-SLAM)相当,但是面对场景变化时的鲁棒性要比直接法语基于特征的方法高很多。

本文的主要工作有以下3点:

  • 使用NID进行鲁棒的直接跟踪。
  • 采用直方图金字塔进行多分辨率的跟踪 。
  • 直接采用NID对深度图进行修正。

   先来看一下NID-SLAM的整体流程图:
The NID-SLAM pipeline

上图中粉色方块是本文采用的NID匹配跟踪算法,替代了绿色方块的光度误差跟踪方法。其他部分还是与经典框架比较类似。

   接下来介绍一下NID Tracking。 tracking的思路与SLD-SLAM中类似。利用参考帧与当前帧之间的相对pose,将参考帧上的像素点变换到当前帧下。从而计算两帧上对应点的intensity的误差。

qi=w(pi,Dr(pi),ξ) q i = w ( p i , D r ( p i ) , ξ )

上式中 pi p i 是参考帧中的像素点坐标, Dr(pi) D r ( p i ) 是像素点 pi p i 对应的逆深度, ξ ξ 是两帧之间的相对pose. ξ ξ 的求取是一个最小二乘问题:
argminξpiΩDwi(ξ)||(Ir(pi)Ic(qi))2|| a r g m i n ξ ∑ p i ∈ Ω D w i ( ξ ) | | ( I r ( p i ) − I c ( q i ) ) 2 | |

式中 采样函数 I(.) I ( . ) 返回亚像素位置的intensity的标量值。权重函数 w(i) w ( i ) 是与深度不确定性相关的一个加权系数, 鲁棒核函数 ||.||δ | | . | | δ 是降低外点的影响。(例如Huber 范数)。

以上公式是采用的光度残差。本文的是采用NID。所以在本文中最小二乘问题是两帧图像对应点的NID最小化。即

argminξNIDpiΩD(Ir(pi),Ic(qi))

这篇关于Paper Share_ NID-SLAM_ Robust Monocular SLAM using Normalised Information Distance的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/933874

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

12C 新特性,MOVE DATAFILE 在线移动 包括system, 附带改名 NID ,cdb_data_files视图坏了

ALTER DATABASE MOVE DATAFILE  可以改名 可以move file,全部一个命令。 resue 可以重用,keep好像不生效!!! system照移动不误-------- SQL> select file_name, status, online_status from dba_data_files where tablespace_name='SYSTEM'

MonoHuman: Animatable Human Neural Field from Monocular Video 翻译

MonoHuman:来自单目视频的可动画人类神经场 摘要。利用自由视图控制来动画化虚拟化身对于诸如虚拟现实和数字娱乐之类的各种应用来说是至关重要的。已有的研究试图利用神经辐射场(NeRF)的表征能力从单目视频中重建人体。最近的工作提出将变形网络移植到NeRF中,以进一步模拟人类神经场的动力学,从而动画化逼真的人类运动。然而,这种流水线要么依赖于姿态相关的表示,要么由于帧无关的优化而缺乏运动一致性

HumanNeRF:Free-viewpoint Rendering of Moving People from Monocular Video 翻译

HumanNeRF:单目视频中运动人物的自由视点绘制 引言。我们介绍了一种自由视点渲染方法- HumanNeRF -它适用于一个给定的单眼视频ofa人类执行复杂的身体运动,例如,从YouTube的视频。我们的方法可以在任何帧暂停视频,并从任意新的摄像机视点或甚至针对该特定帧和身体姿势的完整360度摄像机路径渲染主体。这项任务特别具有挑战性,因为它需要合成身体的照片级真实感细节,如从输入视频中可能

计算机视觉中,什么是上下文信息(contextual information)?

在计算机视觉中,上下文信息(contextual information)是指一个像素或一个小区域周围的环境或背景信息,它帮助模型理解图像中对象的相对位置、大小、形状,以及与其他对象的关系。上下文信息在图像中提供了全局的语义和结构线索,使模型不仅依赖局部细节,而且能够考虑整个场景或图像的大局。 上下文信息的具体含义 局部与全局信息的结合: 局部信息:这是指某个小区域或某个像素点的特征。通过小

激光SLAM如何动态管理关键帧和地图

0. 简介 个人在想在长期执行的SLAM程序时,当场景发生替换时,激光SLAM如何有效的更新或者替换地图是非常关键的。在看了很多Life-Long的文章后,个人觉得可以按照以下思路去做。这里可以给大家分享一下 <br/> 1. 初始化保存关键帧 首先对应的应该是初始化设置,初始化设置当中会保存关键帧数据,这里的对应的关键帧点云数据会被存放在history_kf_lidar当中,这个数据是和

用python fastapi写一个http接口,使ros2机器人开始slam toolbox建图

如果你想使用Python的FastAPI框架编写一个HTTP接口,以便通过接口启动ROS 2机器人的SLAM Toolbox建图,可以按照以下方式进行: 首先,确保你已经安装了fastapi和uvicorn库。你可以使用以下命令进行安装: pip install fastapi uvicorn 接下来,创建一个Python文件(例如app.py),并将以下代码添加到文件中: import

[LeetCode] 863. All Nodes Distance K in Binary Tree

题:https://leetcode.com/problems/all-nodes-distance-k-in-binary-tree/ 题目大意 求给树中,距给定 结点 指定长度的 所有结点的val 思路 tree -> graph 、 bfs 先遍历树,并用map记录每个结点的父结点 ,将树变为图,然后 bfs。 /*** Definition for a binary tree

Image Transformation can make Neural Networks more robust against Adversarial Examples

Image Transformation can make Neural Networks more robust against Adversarial Examples 创新点 1.旋转解决误分类 总结 可以说简单粗暴有效

Segmentation简记2-RESIDUAL PYRAMID FCN FOR ROBUST FOLLICLE SEGMENTATION

创新点 与resnet结合,五层/level的分割由此带来的梯度更新问题,设计了两种方案。 总结 有点意思。看图吧,很明了。 细节图: 全流程图: 实验 Res-Seg-Net-horz: 在UNet上堆叠5个细节图中的结构,没有上采样层。 Res-Seg-Net-non-fixed: 普通方式的更新 Res-Seg-Net-fixed: 每一层的更新,只依据距离它最近的一