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

Localization

img_0f50593c446b4a646bff527374680479.png
Fig2

Fig2 一个单目VO系统的例子,通过匹配2D图像中的对应点来计算在空间中观测相同3D点的相机之间的相对姿态Tnm。如果点的3D位置的已知,就可以通过3D to 2D或者3D to 3D的方法进行计算了。通过关联(concatenating)相对于参考帧(可以设置为初始帧)的相对变换,计算全局姿态Cn。

Visual Odometry

VO 是通过分析一系列相机图像来估计相机运动的过程,与wheel odometry类似,VO获得的估计值与随时间累积的误差相关[39]。然而与wheel odometry相比,VO在更长时间的工作下,可以产生更精确,可靠的定位估计[54]。VO也不会受到类似于由于地面不平坦而车轮打滑的影响。

Motion Estimation

通常有三种VO运动估计手段:3D to 3D, 3D to 2D2D to 2D方法。Fig2,演示了一个VO问题的例子。这里我们将概述运动估计的技术。

  • 3D to 3D Motion Estimation

在这种情况下,通过对一系列图像中观察到的三维特征点进行三角测量来估计运动,然后通过最小化相应3D点之间的3D欧几里德距离来估计相机帧之间的变换,如下所示。

img_7353bc3cacf41e455c9406a0165eee0c.png
公式一

在上面的等式中,T是两个连续帧之间估计的变换,X是当前帧Fk观察到的3D特征点,X‘是前一帧F_k-1中对应的3D特征点,i是约束转换(constrain the transformation)所需要的最小的特征对数(feature pairs)。所需要的点的最小数量取决于系统的DOF和使用的建模类型。即使使用更多的点意味着更多的计算量,但是包括更多的点(比最小数量多)可以实现更好的准确性。f(T,Xi´)

  • 3D to 2D Motion Estimation

该方法类似于先前的方法,但是这里2D重新投影误差被最小化以找到所需的变换,下面是它的cost function:

img_d5401458bde4860304fb5f8c3b2289f2.png
公式二

其中 T 是连续帧之间的估计的变换,Z 是当前帧 Fk中观察到的特征点,f(T,Xi')是在应用变换T之后其在前一帧 Fk-1 中的相应3D特征点的重新投影函数,并且 i 是特征对的数量。同样的,所需的最小点数根据系统中的约束数量而变化。

  • 2D to 2D Motion Estimation

只有在3D数据可用时,才能实现3D到3D和3D到2D的方法。实际的情况并不总是这样的。例如,在估计最开始两个校准了的单目相机的帧之间的相对变换的时候,其中的点,并没有经过三角测量。这种情况下,应该使用epipolar geometry(对极几何)的方法对这种变换进行估计,epipolar geometry的一个例子如图三所示。该图显示了两个相机,由旋转和平移分开,观测的是相同的3D点。每个相机捕获3D世界的2D图像,从3D到2D的转换被称为epipolar geometry(透视投影),我们会在‘Camera Modeling and Calibration’章节中介绍。此方法的epipolar constraint对极约束写为:

img_cd630c9680d722592f2f80a68e86b1f7.png
公式二

其中的 qq'是两个连续帧中的齐次图像点,E是由下式给出的基本矩阵:

img_8afd45c629b69e581b2757061607b91e.png
公式三

其中 R 是旋转矩阵,t 是由下式给出的平移矩阵:

img_071e0d0cd668927827e24d0efedda475.png
公式四

[t]x是由下式给出的反对称矩阵(skew symmetric matrix):

img_3f9fee2b7063122e2217a6d4b3d7e5f7.png
公式五
img_1cd3a32baa3db10379ca532d52290d9f.png
Fig3

Fig3 对极几何的例证。两个摄像机由它们的中心OL和OR以及图像平面表示。摄像机居中,3D点及其在图像上的重新投影位于共同的平面中。图像点反投影到3D空间中的光线在第二个图像中被投射回一条线,称为极线(以红色显示)。3D点位于此光线上,因此第二个视图中3D点的图像必须位于极线上。OL和OR之间的姿态可以使用基本矩阵E获得,基本矩阵E是已知校准的极线几何的代数表示。

[75,86,119]提供了使用上述方法解决运动估计的完整描述。

参考文献

[39].Dutton, B., Maloney, E.: Dutton’s navigation & piloting. Naval Institute Press, Annapolis (1978). http://books.google.com.au/books?id=-A5UAAAAMAAJ

[54].Helmick, D., Cheng, Y., Clouse, D., Matthies, L., Roumeliotis, S.: Path following using visual odometry for a Mars Rover in high-slip environments. In: Proceedings of 2004 IEEE Aerospace Conference, vol. 2, pp. 772–789 (2004). doi: 10.1109/AERO.2004.1367679

[78].Longuet-Higgins, H.: A computer algorithm for reconstructing a scene from two projections. In: Fischler, M.A., Fischler, O. (eds.) Readings in Computer Vision: Issues, Problems, Principles, and Paradigms, pp. 61–62. Morgan Kaufmann, San Francisco (1987)

[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

[119].Zhang, Z.: Determining the epipolar geometry and its uncertainty: a review. Int. J. Comput. Vis. 27(2), 161–195 (1998)

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

相关推荐

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

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

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

下次讨论 Stereo Vision Versus Monocular Vision, 敬请期待。。。

  • 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、付费专栏及课程。

余额充值