SLAM基础知识总结

1. 视差与深度信息

  • 根据双目成像原理,两幅图像摄像机光心位置不同,而且可以看到场景中同一个场景点,则根据此场景点在两幅图像中的#F00图像坐标(Film Coords/Image Plane)之差(Disparity/Parallax)及两摄像机光心之间的距离(Baseline)算出场景点的深度信息
  • 获取视差图:双目或运动(Stereo or Motion)
  • 基本原理:三角形相似原理
    SLAM基础知识总结_第1张图片

2. 3D世界坐标点->2D像素坐标(正向投影)

  • 为了进行计算,必须把3D世界坐标点变换到2D像素坐标的过程使用一个数学模型进行描述,最好的描述方式当然是矩阵,它具有平移、旋转、绽放、投影等功能。
  • 整个正向投影变换过程如下图所示:
    SLAM基础知识总结_第2张图片
  • 整个变换使用 Mext Mint 可以表示为:
    uvw=fx000fy0oxoy1000r11r21r310r12r22r320r13r23r330txtxtx1UVW1

    fx=f/sxfy=f/sy
  • 采有分块矩阵,其表示如下:
    uvw=[K3x303x1][R3x301x3T3x111x1][Pw3x11]

    uvw=[K3x303x1][RPw+T1]=K(RPw+T)

2.1 世界坐标 摄像机坐标( Mext

  • 在实际问题中, 场景点使用世界坐标进行描述,这样符合我们对环境的认知,因为环境是相对不变,而摄像机总是不停地运动。
  • 基本原理:刚体变换=平移(T)+旋转(R)
  • T: 此T不等于摄像机光心在世界坐标系中的位置,具体值见下面的公式
    SLAM基础知识总结_第3张图片
    SLAM基础知识总结_第4张图片

2.2 摄像机坐标 图像坐标( Mproj

  • 摄像机坐标 图像坐标是3D到2D的透视投影变换
    SLAM基础知识总结_第5张图片

2.3 图像坐标 像素坐标( Maff )

2.3.1 内部参数-偏移量(Intrinsic Parameters-Offsets)

  • 坐标变换:描述图像坐标像素坐标间的坐标变换
  • 数字图像:把图像坐标系中的图像经过扫描、数字化、重采样便生成了像素坐标图像
  • 内部参数: 偏移量(Offset)
    SLAM基础知识总结_第6张图片

2.3.2 内部参数-尺度变换(Intrinsic parameters -scales)

  • 内部参数:尺度变换(Scale: 即宽高比被改变了)
  • 数字图像行/列数:由采样决定
    SLAM基础知识总结_第7张图片

2.3.3 仿射变换 (Affine Transformation)

  • 仿射变换:内部参数-偏移量与内部参数尺度变换的统称,它是由6个参数定义的2D 2D的变换,其变换矩阵如下图所示
    Maff=1/sx0001/sy0oxoy1

2.4 内部参数变换 (M_{int})

  • M_{ext}: 是由摄像机外部参数(R & T)决定的变换矩阵,所以称为外部参数变换矩阵
  • M_{int}: 是由摄像机内部参数【f( fx=f/sx,fy=f/sy ), Offsets( ox,oy ), Scales( sx,sy ) 】决定的,所以称为内部参数变换矩阵
  • 内部参数变换矩阵:是透视投影变换与仿射变换的组合
    SLAM基础知识总结_第8张图片

2.5 3D世界到2D图像的总结

  • x=PX x 为2D数字图像点(2D image point), P 为摄像机矩阵(Camera Matrix), X 为3D世界场景点(3D World Point)
  • 没有平移和旋转的情况, 如下图所示:
    SLAM基础知识总结_第9张图片
  • 有平移和旋转的情况,如下图所示:
    SLAM基础知识总结_第10张图片

3. 共面点成像(单应性矩阵:Homography)

3.1 单应矩阵定义

  • x=Hx

3.2 目的

  • 研究共面点成像的目的:为了研究两幅图之间的关系,其关系为: x=Hx
  • 在知道了A、B图像之间的单应矩阵之后,就可以根据A中一点计算出在B中对应的点
  • 共面点成像:即所有的场景点都处在同一个平面上,这是通用透视投影成像的特殊情况
  • 可以3D 2D的变换简化为2D 2D的变换,且此变换是可逆的,这对求场景点的3D坐标非常方便

3.3 场景点共面的成像矩阵

SLAM基础知识总结_第11张图片
SLAM基础知识总结_第12张图片

3.4共面点组成的平面垂直光轴(摄像机坐标Z轴)

  • 当共面点组成的平面垂直光轴时,此变换可以进一步简化
    SLAM基础知识总结_第13张图片

3.5 单应矩阵的用途

SLAM基础知识总结_第14张图片
- 如果x和x’分别是场景点 Pw 在image1和image2上的像素点,则可以得知x’与x的变换关系
- 在下面的计算中, H1H2 可逆是关键,非共面点的投影可没有这种特殊待遇

x=uv1x=uv1Pw=pq1x=H1PwH11x=Pwx=H2PwH12x=PwH11x=H12xx=H2H11xx=Hx

  • 根据Image1(x)Image2(x’)图像对应点对(可通过ORB匹配求出),则可以求出H
  • 求出H之后,就可以求出 Pw ??

4. 对极几何(Epipolar Geometry)

4.1 目标

  • 描述两张照片间的对应关系:用两个相机在不同的位置拍摄同一物体,如果两张照片中的景物有重叠的部分, 则这两张照片之间存在一定的对应关系
  • 描述工具:对极几何(Epipolar Geometry),它是美丽的对极几何,可用于描述多视图间的几何关系
  • 对何几何的用途: 寻找两幅图像之间的对应关系,最直接的方法就是逐点匹配,如果加以一定的约束条件对极约束(epipolar constraint),搜索的范围可以大大减小,且减少到一条线
  • 通用的双目成像:本文前面描述的双目成像和共面点成像,对摄像机位姿和内部参数都有要求,研究起来相对简单,现在开始研究通用双目成像,需要使用对极矩阵和基本矩阵来描述:
    • 对极矩阵:两个摄像机的位姿无任何约束关系(即任意R & T),需要使用对极矩阵(Epipolar Matrix)来描述
    • 基本矩阵:两个摄像机内部参数不同或未,需要使用基本矩阵(Fundamental Matrix)来描述

4.2 对极几何关键概念

  • 极点Epipoles

    • 极点 el :右相机光心 Or 在左像平面上的像
    • 极点 er :左相机光心 Ol 在右像平面上的像
      SLAM基础知识总结_第15张图片
  • 极平面(Epipolar Plane):由左右光心 Ol,Or , 场景点P三点确定的平面

  • 极线(Epipolar Line):极平面与左右像平面的交线,如 plel prer
  • 极线约束(Epipolar Constraint):对应点在共轭极线上(如 plel prer
    极线约束的用途:已知场景点P在左图的像点 pl ,则其在右图的像点一定在对应的极线 prer 上,这大大减少了 pl 在右图中寻找匹配点的搜索范围,减少为区区一条线

5. 本质矩阵(Essential Matrix)摄像机坐标# 

  • 本质矩阵定义:在摄像机坐标系中,描述两幅视图(为了方便, 经常描述为左右图,其实只要是任意两幅有重叠部分的图像即可)中的物点矢量间的约束关系
  • 本质矩阵的用途:大大减少匹配搜索空间,即缩减为在一条线上进行搜索
  • 摄像机 摄像机的变换类似世界坐标 摄像机坐标的变换
    SLAM基础知识总结_第16张图片

5.1 物点矢量( Pl,Pr )间的本质矩阵(E)-摄像机坐标

  • 根据向量的减法:
    Pr = Pl -T
  • 把向量 Pr 进行旋转,可得:
    Pr=RPr=R(PlT)  
  • R是正交矩阵,则R可逆:
    PlT=R1Pr=RTPr   
  • 三向量( Pl,T,PlT )共面,它们的混合积为零(混合积对应于有向体积):
    SLAM基础知识总结_第17张图片
    (PlT)TT×Pl=0(RTPr)TT×Pl=0
    PTrRT×Pl=0
  • 把向量表示为把对称矩阵的形式,从而把叉乘可以写为矩阵的形式:
    SLAM基础知识总结_第18张图片
  • 本质矩阵的由来
    SLAM基础知识总结_第19张图片
    PTrRT×Pl=0
    PTrRSPl=0
    PTrRSPl=0
    PTrEPl=0
    上式中的E即为本质矩阵,它等于RS(S是向量T的对称矩阵表示形式),即E只依赖摄像机外部参数(R & T)
  • 本质矩阵的属性
    • 它的秩为2
    • 它只依赖摄像机外部参数(R & T)
    • 它定义了在摄像机坐标系中,左右视图之间物点矢量( Pl,Pr )之间的约束关系,以及像点矢量( pl,pr )间的约束关系
    • 本质矩阵(E)定义的左右图约束关系是什么
      - Pr 位于 EPl 定义的在右图的极线上,左视图上的一点( Pl )乘本质矩阵( E )的结果为 Pl 在右图上对应的极线
      - Pl 位于 ETPr 定义的在左图的极线上,本质矩阵( ET )乘右视图上的一点( Pr )的结果为 Pr 在左图上对应的极线
      -现在明白极线的用途了吧!知道左图上的一点,就可以找到其在右图上对应的极线,如果要搜索左图上此点在右图上的匹配点,则在此对应的极线上搜索即可

5.2 像点矢量( pl,pr )间的本质矩阵(E)-摄像机坐标

  • 在摄像机坐标系中,描述像点矢量 pl,pr 间的约束关系 (下面的等式中, Zr,fr,Zl,fl 均为常数)
    SLAM基础知识总结_第20张图片
  • 在图像平面中的点可以被看作为观察射线,下面的描述是等价的:
    • (u,v) 2D film point (图像平面上的2D点)
    • (u,v,f) 3D point on film plane (图像平面上的3D点)
    • k(u,v,f) viewing ray into the scene (看场景的观察射线)
    • k(X, Y, Z) ray through point P in the scene [设: k=f/Z, 则:u=fX/Z, v=fY/Z]. (在场景中通过点P的射线)
  • 极线方程
    SLAM基础知识总结_第21张图片
  • 总结:物点矢量间的本质矩阵与像点矢量间的本质矩阵相等 ,即摄像机坐标系下的本质矩阵(E)只有一个。

5.3 本质矩阵-对极几何描述

  • 基本原理:三个矢量(x, x’, T)共面
    SLAM基础知识总结_第22张图片
  • 点x和x’位于归一化图像坐标:归一化图像坐标的原点在图像的光心,x轴被 fx 归一化,y轴被 fy 归一化,因此它是没有尺寸概念的
    SLAM基础知识总结_第23张图片
  • 本质矩阵(E)的属性
    SLAM基础知识总结_第24张图片

6. 基本矩阵 (Fundamental Matrix)像素坐标

  • 由于本质矩阵只能描述摄像机坐标系下两个视图间的约束关系,所以它只依赖摄像机的外部参数(R & T)
  • 如果需要描述像素坐标系下两个图像间的约束关系,它必须在基本矩阵的基础上再进行仿射变换,即依赖内部参数( fx=f/sx,fy=f/sy,ox,oy )和外部参数(R & T)
    SLAM基础知识总结_第25张图片
  • 基本矩阵定义: F=MTrEM1l
  • 基本矩阵的特性:
    • 它的秩为2
    • 它依赖内部参数( fx=f/sx,fy=f/sy,ox,oy )和外部参数 (R & T)

6.1 基本矩阵-对极几何描述

  • Camera resectioning:是估计一个针孔相机模型的参数的过程,针孔相机参数为3x4的矩阵,叫做Camera Matrix。这个过程叫做Camera Calibration。
    SLAM基础知识总结_第26张图片
  • RT (摄像机外部参数): 表示从3D世界坐标系到3D摄像机坐标系的坐标系统变换,同时,它也定义了在世界坐标系中,摄像机光心的位置和摄像机的方向
  • T (世界坐标系原点的位置):它表示世界坐标系原点在摄像机坐标系中的位置;它经常被误认为是摄像机的位置
  • C (摄像机位置):它表示摄像机光心在世界坐标系中的位置。
    T=RCC=R1T=RTT (R是旋转矩阵,即行列式为+1的正交矩阵)
  • 公式推导过程:
    x¯=Kxx¯=Kx
    x=K1x¯x=K1x¯

    xTEx=0

    x¯TKTEK1x¯=0

    x¯TFx¯=0

    F=KTEK1

    E=KTFK

  • 基本矩阵(F)的属性
    SLAM基础知识总结_第27张图片

7. 三个矩阵对比分析(单应+本质+基本)

  • F是E的推广:把假设”校准的摄像机”去掉了
  • x :图像坐标系中的点
  • x¯ :像素坐标系中的点
  • 本质矩阵(E)+基本矩阵(F):用于描述2个视图间的对极几何关系
  • 变换种类:(1)透视变换:world camera (2) 射影变换:image image
  • points aligned to camera coordinate axis
    SLAM基础知识总结_第28张图片
矩阵属性 本质矩阵 (Essential) 基础矩阵 (Fundamental) 单应矩阵 (Homography)
用途 图像点映射到极线 像素点映射到极线) 像素点映射到像素点
矩阵定义 E=RS=R[t×] F=KTEK1
相互关系 E=KTFK F=KTEK1
映射方程 l=Ex l¯=Fx¯ x¯=Hx¯
映射关系 xTEx=0 x¯TFx¯=0 x¯=Hx¯
坐标系 图像坐标系(归一化的) 像素坐标系 像素坐标系
摄像机 校准摄像机 未校准摄像机 未校准摄像机
矩阵维数 3×3 3×3 3×3
矩阵的秩 2(不可逆) 2(不可逆) 3(可逆)
矩阵自由度 5 7 8
依赖参数 外参(R&T) 内参( fx,fy,cx,cy )和外参(R&T) ?
场景结构 独立于场景结构(即任意场景) 独立于场景结构(即任意场景) 场景点在同一平面或离相机很远,是基本矩阵的特殊情况
计算方法1 仅由两幅图的匹配点计算(5点算法) 仅由两幅图的匹配点计算(8点算法) 仅由两幅图的匹配点计算
用途 可求出R & T 可求出E,但必须已知内参K

参考:
1) CSE/EE 486: Computer Vision I Fall 2007 Course Overview
2) 16-385 Computer Vision Carnegie Mellon University (Kris Kitani)

你可能感兴趣的:(SLAM,Computer,Vision)