【ipaper】Visual Odometry 和 Visual SLAM概述:第五部分

简介: 【ipaper】 An Overview to Visual Odometry and Visual SLAM: Applications to Mobile Robotics 第五部分LocalizationStereo Vision Versus Monocular VisionStereo Visual Odometry在双目视觉中,在单个时间步长(single time-step)中通过三角测量重建3D信息,同时观察在空间上被已知基线距离分开的左右图像的特征。

【ipaper】 An Overview to Visual Odometry and Visual SLAM: Applications to Mobile Robotics 第五部分

Localization

Stereo Vision Versus Monocular Vision

Stereo Visual Odometry

在双目视觉中,在单个时间步长(single time-step)中通过三角测量重建3D信息,同时观察在空间上被已知基线距离分开的左右图像的特征。在Stereo VO中,通过观察两个连续帧(in both right and left images)中的特征来估计运动。以下步骤概述了使用3D to 2D运动估计的stereo VO的常用过程:

  • 1、在时间 I 中,提取并匹配 right frame FR(I)left frame FL(I) ,在3D中通过三角测量重构点(reconstruct points)。
  • 2、将这些功能与下一帧 FR(I + 1)FL(I + 1) 中的相应功能相匹配。
  • 3、Estimate the transformation 这个转换(transformation)给出了一个相机的图像(左或者右边)所观察到的特征与将该转换应用到了当前帧之后,前一帧重建的3D点之间的最小平方差(SSD)(见公式二):
img_d5401458bde4860304fb5f8c3b2289f2.png
公式二
  • 4、使用RANSAC优化,仅基于内部点重新计算转换。 (参见“Refining the Transformation Using ICP”部分)
  • 5、将获得的变换与先前估计的全局变换连接起来。
  • 6、在每一个迭代时间内,重复以上步骤。

Monocular Visual Odometry

对于通过三角测量在3D中重建特征点,需要在连续帧(时间分离帧)中观察它们。在monocular VO中,需要在至少三个不同的帧中观察特征点(观察第一帧中的特征,重新观察并在第二帧中三角形化为三维点,然后计算第三帧中的变换)。monocular VO的一个主要问题是尺度模糊问题。与双目视觉系统不同,双目视觉系统可以得到最开始的两个帧的变换(旋转和平移)而单目视觉中前两个连续帧之间的变换并不能完全得到(比例未知),通常情况下将它设置为一个预定值。因此,重建的3D点以及对应的变换都是相对于前两帧之间的初始预定义比例的。除非有关于3D结构或初始变换的附加信息可用,否则无法获得全局尺度。[89]讲到,可以使用其他的传感器(Imu,车轮编码器,GPS)收集那些所需要的信息。monocular VOstereo VO的流程基本相似,但是monocular VO的特征点的三角测量发生在不同的时间(连续帧)

使用3D到2D运动估计的monocular VO的可能的过程在以下步骤中描述:

  • 1、在 time step I 中提取第一帧 FI 的特征,并且指定描述符。
  • 2、提取下一帧 FI+1 的特征,并且指定描述符。
  • 4、匹配两个连续帧之间的特征,使用5点算法(5-point algorithm)[86]估计前两帧之间的变换(使用预定义比例),并使用此变换对相应点进行三角测量(3D点将达到假设的比例)。
  • 4、提取 接下来的 FI+2 帧的特征,将它与先前帧中提取的特征进行匹配。
  • 5、使用RANSAC优化匹配并估计转换,该转换给出当前帧 FI + 2 中观察到的特征与应用之后从前两帧重建的重新投影3D点之间的最小平方差之和(SSD)(见方程2)。这个过程称为透视N点(PnP)算法[74]。
  • 6、使用估计的变换将FI + 1FI + 2之间的匹配到的特征对三角化为3D点。
  • 7、设置 I = I + 1 ,每次迭代从步骤4开始重复。

Visual Odometry Based on Optical Flow Methods

光流计算用作局部图像运动的替代测量(surrogate measurement)。通过分析图像平面中的运动对象的投影时空模式来计算光流,并且其在像素处的值指定该像素在连续图像中移动了多少。
光流测量物体和观察者之间的相对运动[47],并且可用于估计移动机器人或相机相对于其环境的运动。
光流的计算基于强度一致性(Intensity Coherence assumption)的假设,该假设表明投影在两个连续图像上的点的图像亮度是(最严格的假设)常数或(最弱假设)几乎恒定[7]。这种假设产生了众所周知的光流约束:

img_b556db0a64d0b7c849028e19c5711f48.png
光流约束

其中 VxVyxy 光流分量。已经提出了许多使用运动约束方程来解决光流问题的算法(参见[115]以获得当前方法的列表)。

计算出每个像素的2D位移 (u,v) 后,可以完全恢复3D摄像机运动。Irani等人.[60]描述了用于纠正相机的6DOF运动参数的等式,其包括三个平移 (Tx,Ty,Tz) 和三个旋转分量 (Ωx,Ωy,Ωz)。他们的方法基于以下方程式:

img_2eb6d1b1ceb217212be93851360b67a6.png
公式六

其中 fc 是相机的焦距,(x,y) 是3D点 (X,Y,Z) 的图像坐标。

假设深度Z是已知的,则存在六个未知数,并且至少需要三个点来完全约束变换。但是在许多情况下会添加额外的限制,例如在平面上移动,这样会减少 DOF 和所需要的最少点数。

参考文献

[7].Bab-Hadiashar, A., Suter, D.: Robust optic flow computation. Int. J. Comput. Vis. 29(1), 59–77 (1998)

[47].Gibson, J.: The Senses Considered as Perceptual Systems. Houghton Mifflin Co, Boston (1966)

[74].Lepetit, V., Moreno-Noguer, F., Fua, P.: EPNP: an accurate O(n) solution to the PnP problem. Int. J. Comput. Vis. 81(2), 155–166 (2009)

[86].Nister, D.: An efficient solution to the five-point relative pose problem. In: Proceedings of 2003 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, vol. 2, Part II, p. 195

[89].Nützi, G., Weiss, S., Scaramuzza, D., Siegwart, R.: Fusion of IMU and vision for absolute scale estimation in monocular slam. J. Intell. Robot. Syst. 61(1), 287–299 (2011)

[115].Xu, L., Jia, J., Matsushita, Y.: Motion detail preserving optical flow estimation. IEEE Trans. Pattern Anal. Mach. Intell. 34(9), 1744–1757 (2012)

[60]Irani, M., Rousso, B., Peleg, S.: Recovery of ego-motion using region alignment. IEEE Trans. Pattern Anal. Mach. Intell. 19(3), 268–272 (1997)

不足之处,敬请斧正; 若你觉得文章还不错,请关注微信公众号“SLAM 技术交流”继续支持我们,笔芯:D。

相关推荐

【ipaper】 Visual Odometry 和Visual SLAM概述: 第四部分

【ipaper】 Visual Odometry 和Visual SLAM概述: 第三部分

【ipaper】 Visual Odometry 和Visual SLAM概述: 第二部分

【ipaper】 Visual Odometry 和Visual SLAM概述: 第一部分

如前面几篇,Localization 已经讲完了,下一篇开始讲 Mapping,敬请期待吧 :D.

目录
相关文章
|
6月前
|
定位技术 计算机视觉 C++
C++计算机视觉库OpenCV在Visual Studio 2022的配置方法
C++计算机视觉库OpenCV在Visual Studio 2022的配置方法
194 1
Visual Studio(VS2017/VS2019) C++ 配置 CPLEX 教程
Visual Studio(VS2017/VS2019) C++ 配置 CPLEX 教程
Visual Studio(VS2017/VS2019) C++ 配置 CPLEX 教程
|
C++ 计算机视觉
图像处理ITK与Visual Studio2017的配置教程!
VS2017配置ITK 本次教程中的环境配置如下: Visual Studio2017,cmake 3.9.4,ITK 4.13;
|
算法 机器人 定位技术
【ipaper】Visual Odometry 和 Visual SLAM概述:第六部分
【ipaper】 Mapping | An Overview to Visual Odometry and Visual SLAM: Applications to Mobile Robotics 第六部分 Mapping 在大多数现实世界的机器人应用中,没有用于移动机器人定位和导航的地图。
1516 0
|
定位技术
【ipaper】Visual Odometry 和 Visual SLAM概述:第四部分
Localization Fig2 Fig2 一个单目VO系统的例子,通过匹配2D图像中的对应点来计算在空间中观测相同3D点的相机之间的相对姿态Tnm。
1563 0
|
传感器 算法 定位技术
【ipaper】Visual Odometry 和 Visual SLAM概述:第三部分
【ipaper】 An Overview to Visual Odometry and Visual SLAM: Applications to Mobile Robotics 第三部分 Related Work(相关工作) Visual SLAM 正如我们在介绍部分中所描述的那样,SLAM是机器人在未知环境中localize并且同步构建其周围环境的一种方式。
1475 0
|
机器人 定位技术
【ipaper】 Visual Odometry 和Visual SLAM概述: 第二部分
Related Work(相关工作) Visual Odometry (视觉里程计) VO 的定义是通过环境中的一系列图像来估计机器人的运动(相对于参考坐标系的平移和旋转)的过程。
1400 0
|
传感器 机器人 定位技术
【ipaper】Visual Odometry 和 Visual SLAM概述:第一部分
摘要(Abstract) 本文旨在为研究机器人和自动化系统特别是那些对机器人定位和建图(localization and mapping)感兴趣的研究人员铺平道路( pave the way )。
1373 0
|
Web App开发 C++
HSmartWindowControl之安装篇 (Visual Studio 2013 & Halcon 18)
原文:HSmartWindowControl之安装篇 (Visual Studio 2013 & Halcon 18) 1、环境简介 Visual Studio 2013社区版 Halcon18.05 2、使用Nuget在VS工程中安装Halcon插件 搜索栏输入关键字halcon,出现两个插件,分别是halcon语言的接口和halcon引擎,全部安装即可。
3264 0