SLAM中的基础数学3:相机与图像

所谓模型(指数学模型),就是对一个系统中各个变量、参量等等各种量之间的作用关系的一种描述,很多时候这种描述是通过方程组的形式给出的。我们这里的相机模型是指从一个三维空间坐标(实物)投影到二维平面坐标(相片)的变换关系。

相机的模型

最常用的相机模型是针孔模型:

我们很容易的从图中得出以下关系式:

$$\frac{Z}{f}=- \frac{X}{X’}=- \frac{Y}{Y’}$$

考虑到方便性,我们去掉式子中的负号,这并你影响我们后面的结果。经过整理后,我们有:t)=\frac{1}{Z} \left

$$X’=f \frac{x}{z}\\Y’=f \frac{Y}{z}$$right

在实践中,图像会在X、Y两个方向的坐标有一定的缩放,并且我们将图像的坐标平移到图像的左上角,则结果就是

$$X’=f_x \frac{x}{z}+c_x\\Y’=f_y \frac{Y}{z}+c_y$$

整理成矩阵的形式:

\begin{equation} \left( \begin{matrix}u\\v\\1 \end{matrix} \right) = \frac{1}{Z} \left(\begin{matrix}f_x & 0& c_x\\ 0&f_y&c_y\\0&0&1\end{matrix} \right)\left( \begin{matrix}X\\Y\\Z \end{matrix} \right) = \frac{1}{Z}KP\end{equation}

其中P就是点的三维空间坐标,K我们吧它叫做相机的内参矩阵。需要说明的是,这里的P坐标是相机坐标下的坐标,如果是世界坐标系下的坐标,我们需要乘以外参,也就是变换矩阵\(T_{cw}\)将其变换到相机坐标下。即

$$Z \left( \begin{matrix}u\\v\\1 \end{matrix} \right) = KT_{cw}P_w$$

因为是其次坐标,我们可以简单的将上式中的Z去掉。我们需要说的是世界坐标转化到相机坐标下的点,我们可以再进一步将其转化到相机的归一化平面,只需要简单的除以Z就可以了,我们然后再对归一化平面做相机投影,是一样的效果.归一化坐标:

$$p_c =\left( \begin{matrix}X/Z \\ Y/Z \\1 \end{matrix} \right) $$

双目相机模型

我们有了一个相机的模型,我们可以描述一个空间点是如何变换到图像平面的。在变换中我们丢失了空间点深度信息,为了得到三维空间点的深度信息,我们可以建立一个双目相机的模型。

双目模型基本远离很简单,从上图的集合关系,我们可以看出,对于同一空间点在不同相机中的成像坐标分别是\((x_L)和(x_R)’\),我们有:

$$\frac{z-f}{z}=\frac{b-x_L+x_R}{b}.$$

稍加整理,我们们有:

$$z=\frac{fb}{d},      d=x_L-x_R.$$

我们将这里的d称之为视差。越远的物体在图像上的视差越小,这符合我们的生活实践。另外,我们有两张图像,如何确定其中的像素是由同一个点所形成的,这个问题就是我们后续要讨论的哦图像匹配问题了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注