SLAM中各个坐标系之间的转换

在视觉SLAM中,有几个基本的坐标系

  • 世界坐标系
  • 相机坐标系
  • 成像平面坐标系
  • 图像像素坐标系

如何在各坐标系之间相互转换,把摄像头输出的2D图像和我们所在的三维世界一一对应,是SLAM技术研究的一大重点,从世界坐标系如何在各坐标系之间相互转换,把摄像头输出的2D图像和我们所在的三维世界一一对应,是SLAM技术研究的一大重点是一个小孔成像的模型,其中:

  [1]O点表示camera centre,即相机的中心点,也是相机坐标系的中心点;
  [2]z轴表示principal axis,即相机的主轴;
  [3]q点所在的平面表示image plane,即相机的像平面,也就是图片坐标系所在的二维平面;
  [4]O1点表示principal point,即主点,主轴与像平面相交的点;
  [5]O点到O1点的距离,也就是右边图中的f,即相机的焦距;
  [6]像平面上的x和y坐标轴是与相机坐标系上的X和Y坐标轴互相平行的;
  [7]相机坐标系是以X,Y,Z(大写)三个轴组成的且原点在O点,度量值为米(m);
  [8]像平面坐标系是以x,y(小写)两个轴组成的且原点在O1点,度量值为米(m);
  [9]像素坐标系一般指图片相对坐标系,在这里可以认为和像平面坐标系在一个平面上,不过原点是在图片的角上,而且度量值为像素的个数(pixel);
2、相机坐标系成像平面坐标系
[1]以O点为原点建立摄像机坐标系。点Q(X,Y,Z)为摄像机坐标系空间中的一点,该点被光线投影到图像平面上的q(x,y,f)点。
图像平面与光轴z轴垂直,和投影中心距离为(f是相机的焦距)。按照三角比例关系可以得出:
x/f = X/Z       y/f = Y/Z   ,即 x = fX/Z       y = fY/Z
以上将坐标为(X,Y,Z)的Q点映射到投影平面上坐标为(x,y)的q点的过程称作投影变换
上述Q点到q点的变换关系用3*3的矩阵可表示为:q = MQ,其中
  
    最终得出透视投影变换矩阵为:
(1)
M称为摄像机的内参数矩阵单位均为物理尺寸。

通过上面,可以把相机坐标系转换到像图像坐标系的物理单位[即(X,Y,Z)(x,y)]

3、成像平面坐标系像素坐标系

通过下面,可以把像平面坐标系物理单位到像素单位[即(u,v)]
 
以图像平面的左上角或左下角为原点建立坐标系。假设像平面坐标系原点位于图像左下角,水平向右为u轴,垂直向上为v轴,均以像素为单位。
以图像平面与光轴的交点O1 为原点建立坐标系,水平向右为x轴,垂直向上为y轴。 原点O1一般位于图像中心处,O1在以像素为单位的图像坐标系中的坐标为(u0, v0)。
像平面坐标系和像素坐标系虽然在同一个平面上,但是原点并不是同一个。
摄像机模型与标定 - 小企鹅 - 企鹅的博客

设每个像素的物理尺寸大小为 dx * dy (mm) ( 由于单个像素点投影在图像平面上是矩形而不是正方形,因此可能dx != dy)
图像平面上某点在成像平面坐标系中的坐标为(x, y),在像素坐标系中的坐标为(u, v),则二者满足如下关系:[即(x, y)(u, v)]
u = x / dx + u0            v = y / dy +  v0
用齐次坐标与矩阵形式表示为:
摄像机模型与标定 - 小企鹅 - 企鹅的博客
 将等式两边都乘以 Q(X,Y,Z)坐标中的Z可得:
摄像机模型与标定 - 小企鹅 - 企鹅的博客
  将摄像机坐标系中的(1)式代入上式可得:
  则右边第一个矩阵和第二个矩阵的乘积亦为 摄像机的内参数矩阵(单位为像素),相乘后可得:
(2)
 和(1)式相比,此 内参数矩阵中f/dx, f/dy, cx/dx+u0,cy/dy+v0  的单位均为像素。令 内参数矩阵为K,则上式可写成:
摄像机模型与标定 - 小企鹅 - 企鹅的博客 (3)

猜你喜欢

转载自blog.csdn.net/n66040927/article/details/79084808
今日推荐