计算机视觉——一种现代方法(第二版)学习笔记
第1章 摄像机的几何模型
如上左图所示,我们需要将一个空间点X映射到一个图像点x(3维->2维)上即
根据右上图我们很容易推到处下面的变换:
这个结论是将图像平面的原点设立在主轴与图像平面的交点上,而实际上我们默认的图像坐标系应该是位于图像的左上角,向下为x轴向右为y轴,因此我们这里进行一个坐标系调整(可以理解为在齐次坐标下对点进行一个平移):
可以简单的从下面的示意图中理解透视投影的基本含义,最核心的步骤就是求透视矩阵:
其中K为摄像机内参,为一个3x3的矩阵,自由度为5,s其中刻画任何可能的传感器轴间的倾斜,u0,v0是以像素坐标表达的光心C’的坐标,α,β为水平与垂直方向上的焦距;[R, t]为外参矩阵,为一个3x4的矩阵,自由度为6(三个旋转,三个平移)。此处x, X的坐标为齐次坐标。
三种常用的投影模型:
针孔成像模型:可以简称为针孔模型,其成像特点是物体成像会近大远小,平行线会相交(考虑一条延伸到地平线的马路的照片)。这个模型对应的投影过程称之为透视投影。针孔成像模型又有多个称呼例如针孔透视投影模型、中心透视投影模型,均表示相同含义。
弱透视投影模型:针对于针孔成像模型做了进一步简化,物体投影时各个点与小孔的距离都用物体的平均距离代替,即不存在近大远小了,因为都是相同距离了。这样成像的大小就是成像平面与针孔距离d,以及物体与针孔距离D之间的比例决定了。这个模型对应的投影过程就称之为弱透视投影。
正交投影成像模型:在弱透视投影上进一步简化,让弱透视投影中仅存的比例为1,其效果等同于平行光线投射到成像平面上。这个模型对应的投影过程称之为正交投影。
总体上,相机成像可以分为四个步骤:刚体变换、透视投影、畸变校正和数字化图像。
一、刚体变换(从世界坐标系到相机坐标系)
世界坐标系(world coordinate)(xw,yw,zw),也称为测量坐标系,是一个三维直角坐标系,以其为基准可以描述相机和待测物体的空间位置。世界坐标系的位置可以根据实际情况自由确定。
相机坐标系(camera coordinate)(xc,yc,zc),也是一个三维直角坐标系,原点位于镜头光心处,x、y轴分别与相面的两边平行,z轴为镜头光轴,与像平面垂直。
刚体变换只改变物体的空间位置(平移)和朝向(旋转),而不改变其形状,可用两个变量来描述:旋转矩阵R和平移向量t:
齐次坐标下可写为:
二、透视投影(从相机坐标系到图像坐标系)
我们可以将透镜的成像简单地抽象成下图所示:
设 f=OB 表示透镜的焦距,m=OC 为像距,n=AO 为物距,有:
一般地,由于物距远大于焦距,即 n>>f,所以 m≈f,此时可以用小孔模型代替透镜成像:
齐次坐标下有:
如果将成像平面移到相机光心与物体之间,则有中心透视模型:
可得:
齐次坐标下有:
总体上看,透视投影将相机坐标系中的点投影到理想图像坐标系,其变换过程只与相机焦距 f 有关。
三、畸变矫正
理想的针孔成像模型确定的坐标变换关系均为线性的,而实际上,现实中使用的相机由于镜头中镜片因为光线的通过产生的不规则的折射,镜头畸变(lens distortion)总是存在的,即根据理想针孔成像模型计算出来的像点坐标与实际坐标存在偏差。畸变的引入使得成像模型中的几何变换关系变为非线性,增加了模型的复杂度,但更接近真实情形。畸变导致的成像失真可分为径向失真和切向失真两类:
畸变类型很多,总体上可分为径向畸变和切向畸变两类,径向畸变的形成原因是镜头制造工艺不完美,使得镜头形状存在缺陷,包括枕形畸变和桶形畸变等,可以用如下表达式来描述:
切向畸变又分为薄透镜畸变和离心畸变等,薄透镜畸变则是因为透镜存在一定的细微倾斜造成的;离心畸变的形成原因是镜头是由多个透镜组合而成的,而各个透镜的光轴不在同一条中心线上。切向畸变可以用如下数学表达式来描述:
在引入镜头的畸变后,成像点从理想图像坐标系到真实图像坐标系的变换关系可以表示为: