针孔相机模型
针孔相机模型

针孔相机模型

将 O-x-y-z 设为 相机坐标系 z 轴指向相机前方,x轴向右, y轴向下。 O 为相机的光心,也就是针孔模型中的针孔。现实坐标系 P ,经过光心 O 的投影后,落在成像平面O`-x`-y`上,成像点为 P`。P 的坐标系为[X, Y, Z], P` 的坐标系为[X`, Y`, Z`],并且已知 焦距为 f。根据三角形相似关系可以得到。

假定在成像平面上有一个像素平面 o-u-v。我们可以得到 P` 的像素坐标为[u, v]。

像素坐标系的定义:原点 o` 位于图像的左上角,u 轴向右与 x 轴平行, v 轴向下与 y 轴平行。

像素坐标系与成像平面之间,相差了一个缩放和一个原点的平移。如下图所示。像素坐标在 u 轴上缩放了 α 倍,在 v 轴上缩放了 β 倍。同时原点平移了 [Cx, Cy]。

将相似三角形公式带入,并把 βf 合并为fy, αf 合并为fx,得

其中, f 的单位为m, α β 的单位为像素/m, 所以可得 fy fx Cx Cy 的单位为像素。

将该方程式转成矩阵形式

简化一下

将中间的量组成的矩阵称为相机的内参数 K, 通常认为相机的内参在出厂之后是固定的,不会在使用过程中发生变化。

在上面的式子中, P 代表的是在相机坐标系下的坐标,但实际上由于相机在运动,P 的相机坐标系应该是它的世界坐标系(Pw)根据相机的当前位姿变换到相机坐标系下的结果, 相机的位姿由它的先转矩阵 R 和平移向量 t 来描述。

可以得到。

相机的位姿 R t 又称为相机的外参数。相比与不变的内参, 外参会随着相机运动发生改变, 代表机器人的轨迹。

为什么单目相机无法获得像素点的深度值

在投影的过程中,可以把一个世界坐标系的点先转化到相机坐标系, 在除掉它的深度,这相当与把最后一维进行归一化处理,即堪称相机前方 z=1 处的平面上的一个点, 这个 z = 1 平面也称为归一化平面。归一化坐标系左乘内参就可以得到像素坐标。也就是说如果对相机坐标同时乘以任意非零的常数,归一化的坐标都是一样的,也就说明这个点的深度在投影过程中被丢失了。所以单目视觉中没法得到像素点的深度值。

发表回复

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