本文为视觉 SLAM 学习总结,总结 4 个坐标系变换的关系。
在视觉 SLAM 中,我们引入了 4 个坐标系,通过不同坐标系观测到同一个点会得到不同的坐标位置,并且存在一定的关系。
- 世界坐标系 P W ( m ) P_W(m) PW(m): ( x w , y w , z w ) (x_w,y_w,z_w) (xw,yw,zw)。一般取相机的初始位置或特殊位置。
- 相机坐标系 P C ( m ) P_C(m) PC(m): ( x c , y c , z c ) (x_c,y_c,z_c) (xc,yc,zc)。以相机光心为原点,见下图
- 图像坐标系 P ( m m ) P(mm) P(mm): ( x , y ) (x,y) (x,y)。在物理成像平面上,以成像平面中心为原点
- 像素坐标系 p p p (pixel): ( u , v ) (u,v) (u,v)。在成像平面上,以成像平面左上角为原点
我们有 4 个不同的坐标系,则坐标系之间就需要 3 个变换,我们接下来一一进行讲解:
世界坐标系到相机坐标系( P W → P C P_W\to P_C PW→PC)
世界坐标系与相机坐标系之间仅相差一个旋转和一个平移,我们将图像中的坐标系旋转到与世界坐标系相同的方向,再将两个原点通过平移重合到一起即可完成变换。详细过程见【三维空间刚体运动】。
相机坐标系到图像坐标系( P C → P P_C\to P PC→P)
这部分的原理为小孔成像。
在相机坐标系中是三维坐标,投影到成像平面变为二维坐标,丢失的一个维度为焦距。其变换关系为:
z c f = x c x = y c y \frac{z_c}{f}=\frac{x_c}{x}=\fra