坐标系转换

来源:互联网 发布:李强强 linux 编辑:程序博客网 时间:2024/06/05 00:36

(一)三维空间坐标互转

1 问题背景

如图,有两个坐标系空间A和B。P为空间中一点,我们目的是:根据P在B中的坐标BP,获取P在A中的坐标AP。P在A坐标系中的坐标AP,如下图所示:

P在B中的坐标BP如下图所示:

       

2 转换原理

讨论变换前,先确定下坐标系的方向。一共只有两种:(1) x、y、z正朝向逆时针,右手坐标系(大拇指对应x轴正向,食指对应y轴正向,中指对应z轴正向);(2) x、y、z正朝向顺时针,左手坐标系(大拇指对应x轴正向,食指对应y轴正向,中指对应z轴正向),如图:

 

由于这两种坐标系中,旋转角会有差异,所以我们的公式中,统一采用(1)x、y、z正朝向逆时针的右手坐标系

(1) 平移转换

平移转换关系如上图所示,红字部分是A坐标系中坐标,蓝字是B坐标系坐标,三者关系如公式1.1所示:

(公式1.1)

(2) 旋转转换

学习旋转变换前,先了解下角度的方向。右手坐标系中角度遵循右手法则,即:右手大拇指朝向坐标轴正向,其余四指方向为旋转正方向,我们后面所说的角度都遵循这个标准。

 

 

下面,我们以绕z轴旋转为例,说明旋转转换的公式推导:

左上图是三维空间图,图中我们以z轴为轴心,右手法则正向旋转A空间,角度如图绿线部分,得到空间B。空间A和B在z轴坐标没有变化,x、y坐标发生了变化。变化后的x、y平面图如右上图所示。下图中,我们增加两条红色虚线,辅助点P在A和B两个坐标系中的坐标进行转换。

根据上图两条红色虚线,不难理解下面的转换关系公式1.2:

(公式1.2)

公式转换为矩阵表示为公式1.3:

(公式1.3)

即:

(公式1.4)

上面只是以z轴为轴心旋转的结果,同理,沿着x和y轴,也可以得到类似转换关系(以下简称cos为c,sin为s):

(公式1.5)

三个矩阵相乘,可以得到旋转变换公式:

(公式1.6)

旋转转换关系如下:


(公式1.7)

(3) 复合转换

复合变换就是综合平移变换和旋转变换,结合公式1.1、公式1.7得到公式1.8如下:

(公式1.8)

经过齐次变换之后,上公式可以转换为:

(公式1.9)

抽取转换矩阵:

(公式1.10)

最终,空间转换矩阵为:

(公式1.11)

该转换矩阵的目的,是将B坐标系中的坐标,转换为A坐标系中的坐标。perception代码中,Eigen:Matrix4d存储的,就是这个4*4矩阵,是将GPS坐标系中的坐标,转换为世界坐标。其中:

1、c和s表示cos和sin;

2、α、β、γ分别表示B空间到A空间转换,沿z、y、x轴旋转的角度;

3、第四列的x、y、z,表示B空间的原点,在A空间中的坐标;

另,该矩阵的逆矩阵,可以将A坐标系中的坐标,转换为B坐标系中的坐标。

(二)三维空间转二维图像空间

1 几种空间定义

A:三维世界坐标系,以空间中一点为原点

B:三维摄像机坐标系,以光心为原点

C:二维图像物理坐标系,以平面中心为原点

D:二维图像像素坐标系,以图像左上角为原点

本节的目的是说明如何通过三维空间坐标等参数,计算三维空间物体映射在二维图像中的位置,如下图所示:

2 三维世界坐标系(A)转三维摄像机坐标系(B)

这步中,我们的目的是将红绿灯的四个点的世界坐标系(A)坐标转换为摄像机坐标系(B)坐标,直接利用(一)中描述的三维空间坐标互转即可。

P点在A和B坐标系中的转换关系公式2.1所示:

(公式2.1)

由公式2.1推导出公式2.2:

(公式2.2)

3 三维摄像机坐标系(B)映射二维物理坐标系(C)

这步中,我们的目的是,将红绿灯顶点的摄像机坐标系(B)坐标,转换为二维物理坐标系(C)坐标。P点在B和C坐标系中的转换关系公式2.3所示:

(公式2.3)

其中的f是焦距,BZP是P点在摄像机坐标系中的z坐标,直观理解就是点P到摄像机平面的垂直距离。由公式2.3推导出公式2.4:

(公式2.4)

4 二维物理坐标系(C)映射二维像素坐标系(D)

二维物理坐标系(C)和二维像素坐标系(D)的主要区别是:1、原点不同,C的中心在摄像机中心,D的中心在图像左上角;2、转换不同,需要由C的单位毫米,转换为D的单位像素,dx和dy分别是横纵坐标的转换率(举个例子,CCD的尺寸是8mm *6mm,帧画面的分辨率设置为640X480,那么毫米与像素点之间的转换关系就是80pixel/mm。”设CCD每个像素点的物理大小为dx*dy,相应地,就有 dx=dy=1/80),转换关系如公式2.5:

(公式2.5)

由公式2.5推导出公式2.6

(公式2.6)

5 D和A的关系推导

由公式2.6、2.4、2.2推导得出:

(公式2.7)、

通过合并进一步推导:

(公式2.8)

令fx=f/dx,fy=f/dy推导得出:

(公式2.9)

上面公式就是由三维世界坐标系(A)坐标转换为二维图像坐标系(D)坐标的转换关系,其中:

D:就是BzP,直观理解是目标点P和摄像机平面的垂直距离;

M1:就是摄像机内参矩阵,主要由fx、fy、u0、v0等参数组成;

M2:是世界坐标系和摄像机坐标系的旋转矩阵,一般称为外参;

 

0 0
原创粉丝点击