世界坐标系、相机坐标系、图像坐标系、像素坐标系都是什么?

四个坐标系都是什么?

图像处理、立体视觉等等方向常常涉及到四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系

构建世界坐标系只是为了更好的描述相机的位置在哪里,在双目视觉中一般将世界坐标系原点定在左相机或者右相机或者二者X轴方向的中点。
接下来的重点,就是关于这几个坐标系的转换。也就是说,一个现实中的物体是如何在图像中成像的。

四个坐标系之间的相互转换

  • 从世界坐标系到相机坐标系

    这里写图片描述

    其中 [ x ′ , y ′ ] [x^{'},y^{'}] [x,y]为世界坐标系下的坐标,将世界坐标系顺时针旋转 θ \theta θ得到相机坐标系,将 [ x ′ , y ′ ] [x^{'},y^{'}] [x,y]在相机坐标系下的坐标记为 [ x , y ] [x,y] [x,y]。z轴坐标不发生改变。相当于我们沿z轴做旋转
    [ x y z ] = [ cos ⁡ θ − sin ⁡ θ 0 sin ⁡ θ cos ⁡ θ 0 0 0 1 ] [ x ′ y ′ z ′ ] = R 1 [ x ′ y ′ z ′ ] \left[\begin{array}{l} x \\ y \\ z \end{array}\right]=\left[\begin{array}{ccc} \cos \theta & -\sin \theta & 0 \\ \sin \theta & \cos \theta & 0 \\ 0 & 0 & 1 \end{array}\right]\left[\begin{array}{l} x^{\prime} \\ y^{\prime } \\ z^{\prime} \end{array}\right]=R_{1}\left[\begin{array}{l} x^{\prime} \\ y^{\prime} \\ z^{\prime} \end{array}\right] xyz=cosθsinθ0sinθcosθ0001xyz=R1xyz
    如果将世界坐标系逆时针旋转 θ \theta θ得到相机坐标系,此时得到坐标变换过程为:

    image-20201112103748950

    此时,我们
    [ x y z ] = [ cos ⁡ θ sin ⁡ θ 0 − sin ⁡ θ cos ⁡ θ 0 0 0 1 ] [ x ′ y ′ z ′ ] = R 1 [ x ′ y ′ z ′ ] \left[\begin{array}{l}x \\y \\z\end{array}\right]=\left[\begin{array}{ccc}\cos \theta & \sin \theta & 0 \\-\sin \theta & \cos \theta & 0 \\0 & 0 & 1\end{array}\right]\left[\begin{array}{l}x^{\prime} \\y^{\prime } \\z^{\prime}\end{array}\right]=R_{1}\left[\begin{array}{l}x^{\prime} \\y^{\prime} \\z^{\prime}\end{array}\right] xyz=cosθsinθ0sinθcosθ0001xyz=R1xyz

    同理我们沿着剩下的两个坐标轴 x x x y y y进行旋转得到可以有剩下的两个变换矩阵 R 2 R_2 R2 R 3 R_3 R3,那么我们从世界坐标系变换到相机坐标系所需要进行的变换是 R = R 1 R 2 R 3 R=R_1R_2R_3 R=R1R2R3

    接着进行平移变换得到的结果为:

    这里写图片描述
  • 从相机坐标系变换到图像坐标系,属于透视投影关系,从3D转换到2D。

在这里插入图片描述

​ 此时投影点p的单位还是mm,并不是pixel,需要进一步转换到像素坐标系。

  • 从图像坐标系到像素坐标系

    像素坐标系和图像坐标系都在成像平面上,只是各自的原点和度量单位不一样。图像坐标系的原点为相机光轴与成像平面的交点,通常情况下是成像平面的中点或者叫principal point。图像坐标系的单位是mm,属于物理单位,而像素坐标系的单位是pixel,我们平常描述一个像素点都是几行几列。所以这二者之间的转换如下:其中dx和dy表示每一列和每一行分别代表多少mm,即1pixel=dx mm
    在这里插入图片描述
    那么通过上面四个坐标系的转换就可以得到一个点从世界坐标系如何转换到像素坐标系的。
    在这里插入图片描述

其中相机的内参和外参可以通过张正友标定获取,通过最终的转换关系来看,一个三维中的坐标点,的确可以在图像中找到一个对应的像素点,但是反过来,通过图像中的一个点找到它在三维中对应的点就很成了一个问题,因为我们并不知道等式左边的Zc的值。

参考:

你可能感兴趣的:(鱼眼行人检测,图像中的各种坐标系)