首页 > 编程知识 正文

世界坐标系,相机坐标系,像坐标系,像素坐标系转换,像坐标系和像素坐标系

时间:2023-05-04 08:24:31 阅读:205523 作者:1879

利用图像序列进行三维重建的过程,相当于把一张张由很多像素组成的二维图像还原到三维空间中的一个过程。通过了解整个投影的过程,就可以很容易理解如何利用图像进行三维重建,以及三维重建中的关键步骤是什么。该小节主要讲述单目相机的投影过程。

 A. 小孔成像模型与坐标系

相机拍摄图像的过程可以简化成小孔成像的一种形式,利用这种形式可以很容易得到相机模型的数学表达式。通过相机的成像方式及其数学表达式,可以看出三维场景和图像中每一个像素之间的映射关系。通过这种映射关系,就可以将图像中的像素还原到三维空间中。若把一系列图像的所有像素全部还原到整个三维空间中,就可以将整个场景的表面进行还原。相机的小孔成像模型结构如图2-1所示,为了使其简单化,把成像的平面置于小孔前面,并且拍摄出来的图像也应该是正立的。

图1 小孔成像模型图

 在小孔成像模型中,场景从三维空间投影到图片上的整个过程大致可以分解成三个步骤和四个坐标系。具体的流程为:从世界坐标系转换到相机坐标系,再从相机坐标系转换图像坐标系,最后从图像坐标系转换到像素坐标系。将相机镜头前方的场景投影至三维图像的过程,可以被看作是三维场景从世界坐标系到像素坐标系中的一个转化过程,四个坐标系的定义如下。

世界坐标系是一个客观的绝对存在。世界坐标系都需要预先确定,指定其原点与方向。在已经定义好的世界坐标系中,可以放置任意物体。在三维重建或计算机视觉中,通常把摄影相机打开的第一帧图像的相机坐标系预定义为世界坐标系。然后根据定义好的世界坐标系计算相机接下来的移动路径及姿态。世界坐标系下的坐标通常使用(Xw,Yw,Zw) 来进行表示。

相机的坐标系目前通用定义方法是以一台相机的光心或者主点作为坐标系的原点。X轴和Y轴在拍摄画面时分别平行于图像的横轴和纵轴。Z 轴为相机的焦距所指方向。相机坐标系下的坐标通常使用符号(Xc,Yc,Zc) 进行表示。

图像坐标系根据图像进行定义,以图像的中心作为原点,X 轴和Y 轴与相机坐标系的X 轴和Y 轴的方向一致。图像坐标系是使用米、厘米等物理学单位来表示的坐标系。图像坐标系只有两个维度,没有Z 轴。图像坐标系下的坐标通常使用符号(x, y) 来表示。

像素坐标系是以像素为单位的坐标系。像素坐标系也是二维坐标系,其X 轴和Y 轴的方向与图像坐标系一致,坐标系的原点位于二维图像的左上角。像素通用的表示形式为一个方块或者矩形,每个像素里面存放的信息为像素的强度或灰度值。

B. 坐标系转换

在A小节中,已经定义了各个坐标系以及坐标系中点的表示形式,在该小节,通过数学模型的形式,推导小孔成像的整个过程。整个过程分为三个步骤,其中世界坐标系到相机坐标系的变化过程涉及相机的外参,从相机的坐标系转换到图像坐标系再转换到像素坐标系的过程中都涉及到了相机的内参的使用。该小节通过相机内参以及外参的形式推导相机的投影过程。

(1) 相机外参

世界坐标系(Xw,Yw,Zw) 与相机坐标系(Xc,Yc,Zc) 的转换:相机坐标系是一个不稳定的坐标系,因为随着相机的移动会改变原点的位置以及各个坐标轴的方向。在三维重建或者相机定位的过程中需要一个稳定不变的世界坐标系。在世界坐标系中,可以将所有的坐标进行统一。

假设点P是一个三维空间中的点,其在相机坐标系下的位置为Pc ,在世界坐标系下的位置为PwPwPc 可以通过一个变换矩阵相互转换,该变换矩阵可以细分为旋转矩阵(R) 和平移矩阵(t) 。其数学表达形式为:

​                                                                                                    (1)

其中R有三个自由度,是一个3×3的矩阵,表示相机在世界坐标系下的旋转。t​ 表示相机的原点相对于世界坐标系或者说相机开始时的坐标系的原点变化,是一个3×1的矩阵。将上式展开为具体的形式为:

​                                                                               (2)

其齐次坐标的形式可以表示为:

​                                                                              (3)

可以将其简化为:

​                                                                                         (4)

其中​ 称为相机的外参矩阵,用T 来表示。

(2) 相机内参

相机坐标系(Xc,Yc,Zc) 与图像坐标系(x, y) 的转换:相机坐标系是一个三维坐标系,图像坐标系是二维坐标系,三维到二维有一个降维的过程,主要是丢掉了深度这一维度,坐标向量由三维转为二维。

如图2所示,相机坐标系下存在任意一点​ ,该点是任意的,图像上的坐标点​ 与该三维点对应。在A小节中可知,两个坐标系的X​ 轴、Y​ 轴一致,因此图像点p​ 可以增加一个维度f​ ,形成在相机坐标系的坐标​ ,其中f​ 是相机的焦距。

图2 相机坐标系与图像坐标系转换示意图

由三角形的相似关系,可以得到如下公式:

​                                                                                                  (5)

将上面公式整理后可以得到:

   ​                                                                                                (6)

将其转为齐次坐标系下为:

​                                                                               (7)

至此推导出了相机坐标系​ 与图像坐标系​ 的转换数学模型。

图像坐标系​ 与像素坐标系​ 的转换:这两个坐标系最核心的区别在于其单位不一致。图像坐标系和像素坐标系均为二维坐标系,其表示单位分别为以厘米、米等为代表物理单位以及以像素为基础的像素单位。如图3所示,根据A小节的定义,图像的中心​ 为图像坐标系的坐标原点,图像左上角​ 为像素坐标系的坐标原点。

图3图像坐标系与像素坐标系转换示意图

假设​ 为像素坐标系的坐标,表示整个图像的中心。像素的表示形式通常为矩形或者长方形,因此像素的长宽分别表示为​ 。那么根据上述已定义好的符号,可以实现图像坐标系中任意一点​ 与像素坐标系任意一点​ 一一对应。其数学转换形式为:

​                                                                                                  (8)

这种加法的形式不利于计算机的计算,因此类似于上文使用齐次坐标系进行计算,齐次坐标在增加向量维度的同时不改变向量的自由度,上式可以转换为:

​                                                                                          (9)

式(9)将向量中的加法运算转换成乘法运算,方便计算机的运行。通过式(2-9)得到了图像坐标系​ 与像素坐标系​ 的转换的数学模型。

通过式(7)与式(9),可以得到一个三维空间中的点从相机坐标系到像素坐标系的整个投影过程,其数学形式为:

​                                                                        (10)

通过对中间变换矩阵的整合可以得到:

​                                                                              (11)

其中​ 称为相机的内参矩阵,用​ 来表示。

通过上述式子的演绎推导,就可以得到一个相机的内参数矩阵​ ,相机的内参矩阵​ 有4个未知的数据,这四个数据与相机的构造相关。​ 为​ 的简写形式,​ 表示相机的焦距,​ 是单位像素的长和宽。​ 是像素坐标系下图像中间未知的坐标。通常相机的内部参数在相机出厂的时候已经做了标定,属于已知量。

(3) 内外参数组合

通过相机的内参和外参,可以将相机模型中的四个坐标系之间的变换全部联系起来,其数学形式为:

​                                                                   (12)

由式(12)可以知道通过相机的内参以及外参可以将三维的空间点投影到图像的像素空间中。相机的内参一般是已知的,同时可以知道通过相机的外参以及像素在图像坐标系下的深度就可以将图像中的场景还原到三维空间中。求解相机外参的过程其实是对相机定位的一个过程,通常称为视觉里程计。求解图像深度的称为深度估计。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。