SLAM入门之视觉里程计(2):相机模型(内参数,外参数)

相机成像的过程实际是将真实的三维空间中的三维点映射到成像平面(二维空间)过程,可以简单的使用小孔成像模型来描述该过程,以了解成像过程中三维空间到二位图像空间的变换过程。
本文包含两部分内容,首先介绍小孔成像模型的各种几何关系;接着描述了成像过程中的四种坐标系(像素坐标,图像坐标,相机坐标,世界坐标)的变换关系。

小孔成像模型

相机可以抽象为最简单的形式:一个小孔和一个成像平面,小孔位于成像平面和真实的三维场景之间,任何来自真实世界的光只有通过小孔才能到达成像平面。因此,在成像平面和通过小孔看到的真实三维场景存在着一种对应关系,也就是图像中的二维像点和真实三维世界的三维点存在某种变换关系。找到了这种变换关系,就可以利用图像中的二维点信息来恢复场景的三维信息。

下图是小孔成像的模型,为了简化模型,将成像平面放在了小孔的前面,并且成的像也是正立的
小孔成像模型

在描述小孔的成像过程前,首先来定义两个坐标系:

  • 相机坐标系(三维坐标系)
    相机的中心被称为焦点或者光心,以焦点 Oc 为原点和坐标轴 Xc,Yc,Zc 组成了相机坐标系
  • 图像坐标系(二维坐标系)
    成像平面中,以成像平面的中心 O 为原点和坐标轴 x,y 组成了图像坐标系

小孔成像实际就是将相机坐标系中的三维点变换到成像平面中的图像坐标系中的二维点。

假设,三维空间中点 P ,其在相机坐标系中的坐标是 Pc=[X,Y,Z]T ;其像点 p ,在图像坐标系的中的坐标是 p=[x,y]T ,由于光轴垂直与成像平面,那么可以知道像点 p 在相机坐标系中的坐标是 p=[x,y,z]T ,其中z =f(f是焦点到成像平面之间的距离,被称为焦距)
这里写图片描述
由上图根据三角形的相似关系,可以得到如下公式:

Zf=Xx=Yy

将上面公式整理后可以得到:
x=fXZy=fYZz=f

上面的公式就是小孔相机模型的基础公式了,有了此公式可以推导出更详细的小孔相机模型的参数:

  • 内参数
  • 外参数

在推导相机的内参数和外参数前,需要先了解下齐次坐标的概念。

齐次坐标

相机的成像过程实际是将三维空间的点 P=(X,Y,Z) 变换到成像平面的过程,这个过程也可以被称为射影变换(更多关于射影变换的内容可参考《计算机视觉中的多视图几何》)。如上面描述的,设射影变换的中心 O 作为相机坐标系的原点,该点到成像平面的距离为 f P 在成像平面的投影点为 p=(x,y) ,根据相似三角形原理,可以得到公式:

x=fXZy=fYZz=f

上面的公式就描述了三位空间到二维平面的映射,但是该映射对于坐标 Z 来说却是非线性(作为分母),通过上面的公式方便的统一处理 X,Y,Z 这三个坐标轴的数据。就需要 引入新的坐标(扩展坐标的维度)将其线性化,如下:
[xy]x^y^z^=f000f0001000XYZ1

这样,可以使用矩阵的乘法统一的处理 X,Y,Z 这三个坐标。
坐标 (x^,y^,z^) 就是像点 p=(x,y) 的齐次坐标,其中
x=x^z^y=y^z^z0

通过上面的公式可以很容易的推导出,怎么通过扩展坐标维度构建齐次坐标。具体步骤就是将x和y同时除以一个不为0的z,并且将z作为其添加维度的坐标,通常可以选择 z=1
这就可以发现其次坐标的一个重要性质,齐次坐标缩放一个常量因子是不变:
s(a,b,c)T
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值