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

【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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
http://www.iri.upc.edu/people/jsola/JoanSola/eng/toolbox.html EKF-SLAM TOOLBOX FOR MATLAB NEWS Upgrade 2012/04/22: Added support for Omni-directional cameras for ahmPnt and eucPnt points. From 2011/09/03 to 2011/09/08: a bug in the package released between these 5 days caused the toolbox to completely fail. Download the current version below. 2010/09/04: BUG FIX: Corrected bug in code for IDP. If you just want the bug fix, click here. Toolbox versions after 2011/09/08 are already fixed. INTRODUCTION This toolbox performs 6DOF SLAM using the classical EKF implementation. It is conceived as an "active-search" SLAM. It is provided for free under the GPL license (please read the file COPYING and make sure you agree in the terms and conditions before using it). Users employing the toolbox for scientific research should cite in their scientific communications one of the papers of the authors (especially SOLA-ETAL-IJCV-11, SOLA-ETAL-TRO-08) appearing in the References section of the documentation, and also acknowledging the use of this toolbox. • Download the 6DOF SLAM toolbox for Matlab. • Please email me with feedback, I will appreciate. • Read the pdf doc to have an idea. • Features: o Full 6DOF. o Points and lines, with many different parametrizations. Consult the IJCV'11 paper on landmark parametrization. o 3D graphics. o Works with any number of robots and sensors. o Monocular and stereo systems are treated alike. o Supports extrinsic self-calibration of multi-camera rigs as in our TRO'08 paper. • The toolbox supports undelayed initialization of the following landmark types: o ahmPnt : Anchored homogeneous points. See video. This parametrization performs equivalently to Inverse-depth points in filter consistency. o idpPnt : Inverse-Depth points, with conversion to Euclidean points (eucPnt) after confirming linearity. This follows Civera's TRO-08 paper on Inverse-depth parametrization. Seevideo. Also called Anchored Modified-polar points (AMPP) in SOLA-IJCV'11. o hmgPnt : Homogeneous points. See video. o fhmPnt : Framed Homogeneous points. We follow a work by Simone Ceriani et. al., 2011. o plkLin : Plucker lines as explained in our IROS-09 paper. See video. o aplLin : Anchored Plucker lines. See video. o idpLin : Inverse-depth points lines. See video. Also called Anchored Modified-polar points lines (AMPPL) in SOLA-IJCV'11. o hmgLin : Homogeneous-points lines. See video. o ahmLin : Anchored homogeneous-points lines. See video. o See this video that compares idpPnt against ahmPnt and hmgPnt points, showing the superior consistency of idpPnt and ahmPnt because of over-estimation of the covariance in hmgPnt.(note: in the video, hmgPnt is labeled HP, ahmPnt is AHP, and idpPnt is AMPP.) o See this video with all line parametrizations running in parallel. BUG FIXES BUG (fixed in toolbox releases after 2011/09/08): The Jacobians of the idpPnt initialization function were incorrect. This derived in a poor performance of idpPnt points. Now, idpPnt andahmPnt show equivalent performance. FIX: follow these simple steps: 1. Download this file. Unzip it. 2. Copy files idp2ahp.m and ahp2idp.m to toolbox folder %SLAMTB/Points/ 3. Copy file retroProjIdpPntFromPinHoleOnRob.m to toolbox folder %SLAMTB/Observations/ 4. Delete the obsolete bugged file %SLAMTB/Points/idpS2idpW.m from the toolbox.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值