物点与像点间的坐标变换

首先直观感受:

  1. 我们当前所处的世界是三维的空间
  2. 图像是三维世界的场景在相机成像平面的投影

然后定量建立如下坐标系:

  • 世界坐标系(三维): x_W, y_W, z_W; 单位是毫米
  • 相机坐标系(三维): x_C, y_C, z_C, 原点与相机光学中心重合, z 轴与光轴重合; 单位是毫米
  • 图像坐标系(二维): x,y, 原点为相机光轴与成像平面的交点,是图像的中心点; 单位是毫米
  • 像素坐标系(二维): u,v, 原点在左上角, 单位为像素

世界坐标系到相机坐标系的转换

世界坐标系 通过 Rigid Transform (刚体变换: 旋转和平移) 得到 相机坐标系

\begin{bmatrix} x_C \\ y_C \\ z_C \end{bmatrix}_{3\times 1} = R_{3\times 3} \begin{bmatrix} x_W \\ y_W \\ z_W \end{bmatrix}_{3\times 1} + T_{3\times 1}

\begin{bmatrix} x_C \\ y_C \\ z_C \end{bmatrix}_{3\times 1} = \begin{bmatrix} R_{3\times 3} | T_{3\times 1} \end{bmatrix}_{3\times 4} \begin{bmatrix} x_W \\ y_W \\ z_W \\ 1 \end{bmatrix}_{4\times 1}

\begin{bmatrix} x_C \\ y_C \\ z_C \\ 1 \end{bmatrix} = \begin{bmatrix} R_{11} & R_{12} & R_{13} & T_x \\ R_{21} & R_{22} & R_{23} & T_y \\ R_{31} & R_{32} & R_{33} & T_z \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x_W \\ y_W \\ z_W \\ 1 \end{bmatrix}

\begin{bmatrix} x_C \\ y_C \\ z_C \\ 1 \end{bmatrix} = \begin{bmatrix} R_{3\times 3} & T_{3\times 1} \\ 0_{1\times 3} & 1 \end{bmatrix} \begin{bmatrix} x_W \\ y_W \\ z_W \\ 1 \end{bmatrix}

其中 R 为三维旋转矩阵, T 为 三维平移向量

Camera Calibration 中所说的外参,也即此处的 RT

此转换所描述的即为相机在三维空间的运动

相机坐标系到图像坐标系的转换

相机坐标系通过 Perspective Transform (成像模型中的相似三角形原理) 得到图像坐标系

\left\{\begin{aligned} x &= \frac{f\cdot x_C}{z_C} \\ y &= \frac{f\cdot y_C}{z_C} \end{aligned}\right.

z_C \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} = \begin{bmatrix} f & 0 & 0 & 0 \\ 0 & f & 0 & 0 \\ 0 & 0 & 1 & 0 \end{bmatrix} \begin{bmatrix} x_C \\ y_C \\ z_C \\ 1 \end{bmatrix}

f 为相机焦距

值得注意的是,当前成像系统往往是透镜成像而非小孔成像,透镜的形状很难完全规则,因而成像效果可能存在不同程度的畸变

图像坐标系到像素坐标系的转换

图像坐标系通过Affine Transform (缩放和平移) 得到像素坐标系

\left\{\begin{aligned} u &= \frac{1}{\text{d}x}x+ u_0 \\ v &= \frac{1}{\text{d}y} y+v_0 \end{aligned}\right.

\begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = \begin{bmatrix} \frac{1}{\mathrm{d}x} & 0 & u_0 \\ 0 & \frac{1}{\mathrm{d}y} & v_0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix}

其中 u_0,v_0 表示 图像中心像素坐标,\text{d}x,\text{d}y 表示水平和垂直方向每个像素分别对应多少毫米

总结:世界坐标系到像素坐标系

z_C \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = \begin{bmatrix} \frac{1}{\mathrm{d}x} & 0 & u_0 \\ 0 & \frac{1}{\mathrm{d}y} & v_0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} f & 0 & 0 & 0 \\ 0 & f & 0 & 0 \\ 0 & 0 & 1 & 0 \end{bmatrix} \begin{bmatrix} R_{11} & R_{12} & R_{13} & \mathbf{T}_x \\ R_{21} & R_{22} & R_{23} & \mathbf{T}_y \\ R_{31} & R_{32} & R_{33} & \mathbf{T}_z \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x_W \\ y_W \\ z_W \\ 1 \end{bmatrix}

z_C \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = \begin{bmatrix} \frac{f}{\mathrm{d}x} & 0 & u_0 & 0 \\ 0 & \frac{f}{\mathrm{d}y} & v_0 & 0 \\ 0 & 0 & 1 & 0 \end{bmatrix} \begin{bmatrix} R_{11} & R_{12} & R_{13} & \mathbf{T}_x \\ R_{21} & R_{22} & R_{23} & \mathbf{T}_y \\ R_{31} & R_{32} & R_{33} & \mathbf{T}_z \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x_W \\ y_W \\ z_W \\ 1 \end{bmatrix}

z_C \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = \begin{bmatrix}\frac{R_{11} f}{dx} + R_{31} u_{0} & \frac{R_{12} f}{dx} + R_{32} u_{0} & \frac{R_{13} f}{dx} + R_{33} u_{0} & \frac{Tx f}{dx} + Tz u_{0}\\\frac{R_{21} f}{dy} + R_{31} v_{0} & \frac{R_{22} f}{dy} + R_{32} v_{0} & \frac{R_{23} f}{dy} + R_{33} v_{0} & \frac{Ty f}{dy} + Tz v_{0}\\R_{31} & R_{32} & R_{33} & Tz\end{bmatrix} \begin{bmatrix} x_W \\ y_W \\ z_W \\ 1 \end{bmatrix}

z_C \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = M_{3\times 4} \begin{bmatrix} x_W \\ y_W \\ z_W \\ 1 \end{bmatrix} = \begin{bmatrix} M_{11} & M_{12} & M_{13} & M_{14} \\ M_{21} & M_{22} & M_{23} & M_{24} \\ M_{31} & M_{32} & M_{33} & M_{34} \end{bmatrix} \begin{bmatrix} x_W \\ y_W \\ z_W \\ 1 \end{bmatrix}

当 世界坐标 和 像素坐标 都已确定,可以求解 M 矩阵

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容