机器视觉 之 三个坐标系

时间:2024-01-23 19:22:06

  机器视觉中,有三个常用的坐标系:图像坐标系、相机坐标系和世界坐标系。它们之间的转换关系,是三维重构几何框架的基础。

  本文主要介绍,这三个坐标系的定义和转换关系,最后,通过这些转换关系,将三维空间中的点坐标 (Xw, Yw, Zw),与二维图像中的像素坐标 (u, v) 对应起来。

1  图像坐标系

  图像坐标系,是以二维图像为基准所建立的坐标系。根据单位的不同,可分为 像素坐标 (单位 = 像素个数) 和 物理尺寸坐标 (单位 = mm)

1.1  分类

  像素坐标 (u, v) 中,原点 为图像左上角点,坐标轴 为 u 轴 和 v 轴,表示物体所在的行数和列数

  物理尺寸坐标 (x, y) 中,原点 为图像的主点,也即光轴与像平面的交点,坐标轴 为 x 轴 (平行 u 轴) 和 y 轴 (平行 v 轴),表示物体的尺寸大小

     

1.2  转换关系

 假设每一个像素,在 x 轴和 y 轴 方向上的物理尺寸为 dx 和 dy,则在忽略相机成像畸变的情况下,像素坐标物理尺寸坐标转换关系如下:

 $\begin{cases} u = \dfrac{x}{d_{x}} + u_{0} \\ v = \dfrac{y}{d_{y}} + v_{0} \end{cases} $ 

 两者的齐次坐标转换关系为:

   $\begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = \begin{bmatrix} \dfrac{1}{d_{x}} & 0 & u_{0} \\ 0 & \dfrac{1}{d_{y}} & v_{0} \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x\\ y \\ 1 \end{bmatrix} $

 

2  相机坐标系

 相机坐标系 $(Xc, Yc, Zc)$中,原点 为相机透镜的中心,坐标轴 Xc 轴与 x 轴平行,Yc 轴与 y 轴平行,Zc 轴与相机光轴重合

    

    设相机的焦距为 f,则根据小孔成像模型,可知相机坐标系下空间点 $(Xc, Yc, Zc)$,与物理尺寸坐标 $(x, y)$ 的关系如下:

    $\begin{cases} \dfrac{x}{f} = \dfrac{X_{c}}{Z_{c}} \\ \dfrac{y}{f} = \dfrac{Y_{c}}{Z_{c}} \end{cases} $  =>  $\begin{cases} Z_{c} \cdot x = f \cdot {X_{c}} \\ Z_{c} \cdot y = f \cdot {Y_{c}} \end{cases} $    =>    $ 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} $

   像素坐标 $(u, v)$ 与相机坐标点 $(Xc, Yc, Zc)$ 的关系为:

    $ Z_{c} \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = \begin{bmatrix} \dfrac{1}{d_{x}} & 0 & u_{0} \\ 0 & \dfrac{1}{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} X_{c} \\ Y_{c} \\ Z_{c} \\ 1 \end{bmatrix} = \begin{bmatrix} \dfrac{f}{d_{x}} & 0 & u_{0} \\ 0 & \dfrac{f}{d_{y}} & v_{0} \\ 0 & 0 & 1 \end{bmatrix}  \begin{bmatrix} X_{c} \\ Y_{c} \\ Z_{c} \\ 1 \end{bmatrix}$

 

3  世界坐标系

  世界坐标系,是实际物体位置的参考系,世界坐标系 转换为 相机坐标系 的过程,可视为刚体变换,具体机器视觉 之 刚体变换

   $ \begin{bmatrix} X_{c} \\ Y_{c} \\ Z_{c} \\  1 \end{bmatrix} = \begin{bmatrix} R & T \\ 0^{T} & 1 \end{bmatrix} \begin{bmatrix} X_{w} \\ Y_{w} \\ Z_{w} \\ 1 \end{bmatrix}$

  这样,就建立了图像中的 像素点 (u, v) 和 世界坐标中的 空间点 (Xw, Yw, Zw) 之间的对应关系。

  世界坐标系,可根据运算的方便*放置。若世界坐标系和相机坐标系重合,则 $R$ 为单位矩阵,$T$ 为零矩阵,即:

   $ \begin{bmatrix} X_{c} \\ Y_{c} \\ Z_{c} \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \end{bmatrix} \begin{bmatrix} X_{w} \\ Y_{w} \\ Z_{w} \end{bmatrix}$

 

4 后记

  表面上看,像素点 (u, v), 通过相机内参 A,转换为相机坐标下的 (Xc, Yc, Zc),再经过 $RT$ 变换,便可得到世界坐标下的 (Xw, Yw, Zw)

   $ Z_{c} \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = \begin{bmatrix} \dfrac{f}{d_{x}} & 0 & u_{0} \\ 0 & \dfrac{f}{d_{y}} & v_{0} \\ 0 & 0 & 1 \end{bmatrix}  \begin{bmatrix} R & T \\ 0^{T} & 1 \end{bmatrix} \begin{bmatrix} X_{w} \\ Y_{w} \\ Z_{w} \\ 1 \end{bmatrix}$

  实际上,这还留有两个问题:  一是,决定远近的 Zc 未知; 二是,成像物体的特征未知。

  工程中,解决这两个问题的一个方法是:加光学投射器,组成结构光

  光学投射器,投射出具有固定特征的光模式 (例如光线、光平面、光栅或光网格等);当打在物体表面上,可对物体在空间的位置进行约束;

  之后,再经过上述的坐标变换,便可得到物体对应点的唯一坐标值。

 

 参考资料

     <视觉测量> 张广军,第2章,第 7章