- 2D 计算机视觉:原理、算法及应用
- 章毓晋编著
- 3483字
- 2021-10-29 23:40:35
2.3 图像空间成像模型
构建空间成像模型是为确定图像的(x, y),即3D客观物体投影到图像上的2D位置。
2.3.1 投影成像几何
投影成像涉及在不同坐标系之间的转换,利用齐次坐标可将这些转换线性化。
1. 坐标系
图像采集过程可看作将客观世界的场景进行投影转化的过程,这个投影可用成像变换(也称为“几何透视变换”)描述。成像变换涉及不同坐标系之间的转换,包括以下几类。
(1)世界坐标系:也称为真实或现实世界坐标系,它是客观世界的绝对坐标(所以也称为客观坐标系)。一般的3D场景都是用世界坐标系XYZ来表示的。
(2)摄像机坐标系:以摄像机为中心的坐标系xyz,一般取摄像机的光轴为z轴。
(3)图像坐标系:也称为像平面坐标系,是摄像机内成像平面上的坐标系x'y'。
在实际应用中,常取像平面与摄像机坐标系的xy平面平行,并且x轴与x'轴、y轴与y'轴分别重合,这样像平面原点就在摄像机的光轴上。
图像采集的过程是将世界坐标系中的客观物体先转换到摄像机坐标系中,再转换到图像坐标系中。根据以上几个坐标系之间的关系,可以得到不同类型的成像模型,这些成像模型也称为“摄像机模型”(描述三个坐标系相互关系的模型)。
2. 齐次坐标
在讨论不同坐标系之间的转换时,如果能将坐标系用齐次坐标的形式表达,就可将坐标系之间的转换表示成线性矩阵形式。
例2-7 直线和点的齐次表达
平面上的一条直线可用直线方程ax+by+c=0表示,选用不同的a、b、c,可表示不同的直线,所以一条直线也可用矢量l=[a, b, c]T表示。因为当k不为0时,直线ax+by+c=0和直线(ka)x+(kb)y+kc=0是相同的,所以当k不为0时,矢量[a, b, c]T和矢量k[a, b, c]T表示同一条直线。事实上,仅相差一个尺度的这些矢量可认为是等价的。满足这种等价关系的矢量集合称为齐次矢量,任何一个特定的矢量[a, b, c]T都是该矢量集合的代表。
对于一条直线l=[a, b, c]T,当且仅当ax+by+c=0时,点x=[x, y]T在这条直线上。这可用对应点的矢量[x, y, 1]与对应直线的矢量[a, b, c]T的内积来表示,即[x, y, 1]·[a, b, c]T=[x, y, 1]·l=0。这里,点矢量[x, y]T用一个以增加的1为最后一项的3D矢量来表示。注意,对于任意的非零常数k和任意的直线l,当且仅当[x, y, 1]·l=0时,有[kx, ky, k]·l=0。因此,可以认为所有矢量[kx, ky, k]T(由k变化得到)是点[x, y]T的表达。这样,如直线一样,点也可用齐次矢量来表示。
在一般情况下,空间中一个点对应的笛卡尔坐标的齐次坐标定义为(kX, kY, kZ, k),其中,k是一个任意的非零常数。很明显,要从齐次坐标变换回笛卡尔坐标,可用第4个坐标量除前3个坐标量得到。这样,一个笛卡尔世界坐标系中的点可用矢量形式表示为
它对应的齐次坐标可表示为(用h指示“齐次”)
2.3.2 基本成像模型
先来看基本的投影成像模型。图2-7给出投影成像(将3D客观场景投影到2D像平面上)的基本几何模型示意。在图2-7里,假设世界坐标系与摄像机坐标系重合,图像坐标系x'y'与摄像机坐标系的xy平面重合(并且x轴与x'轴、y轴与y'轴分别重合,所以这里用xy表示x'y'),光轴(过镜头中心)沿着z轴。这样像平面的中心处于原点(在摄像机的光轴上),镜头中心的坐标是(0, 0, λ),λ是镜头的焦距(一个镜头可能包含多个透镜,此时λ代表总的综合焦距)。
图2-7 投影成像的基本几何模型示意
1. 投影和投影矩阵
设(X, Y, Z)是3D空间中任意点W的世界坐标。在以下的讨论中,假设所有客观场景中感兴趣的点都在镜头的前面,并且Z>λ。借助相似三角形关系,有以下两式成立:
在式(2-9)和式(2-10)中,X和Y前的负号代表图像点与W点反号。由式(2-9)和式(2-10)可以得到一个3D空间点投影后的像平面坐标:
注意,式(2-11)和式(2-12)都是非线性的,因为它们分母中含变量Z。下面借助齐次坐标将它们表示成线性矩阵形式。
例2-7提到,一个笛卡尔世界坐标系中的点可用矢量形式表示为
它对应的齐次坐标可表示为(k为任意的非零常数)
如果定义透视投影成像的投影矩阵为
利用P与Wh的乘积PWh ,给出矢量Ch:
其中,Ch的元素是齐次形式的摄像机坐标,这些坐标可用Ch的第4项分别除前3项,转换成笛卡尔形式。所以,摄像机坐标系中任意一点的笛卡尔坐标可表示为矢量形式:
2. 逆投影和逆投影矩阵
逆投影是指从2D平面到3D空间的投影。根据逆投影矩阵,可由2D图像坐标确定3D客观物体的坐标,或者说用逆投影矩阵可以将一个2D图像点反过来映射回3D空间。利用矩阵运算规则,由式(2-16)可得
其中,逆投影矩阵P-1为
利用P-1能够根据2D图像坐标确定对应的3D客观物体的坐标吗?设一个图像点的坐标为(x, y, 0),其中的0仅表示像平面位于z=0处。这个点可用齐次矢量形式表示为
代入式(2-18),得到齐次形式的世界坐标矢量:
相应的笛卡尔坐标系中的世界坐标矢量是
式(2-22)表明,由图像点(x, y)并不能唯一确定3D空间点的Z坐标(因为对于任何一个3D空间点都给出Z=0),这是因为将3D客观场景映射到像平面上是多对一的变换。图像点(x, y)现在对应过点(x, y, 0)和点(0, 0, λ)的直线上的所有共线3D空间点的集合(参见图2-7中图像点和空间点之间的连线)。这条直线的方程在世界坐标系中可由式(2-11)和式(2-12)表示,从中反解出X和Y,得到
式(2-23)和式(2-24)表明,除非对投影到图像点处的3D空间点有一些先验知识(如知道它的Z坐标),否则不可能将一个3D空间点从图像中完全恢复。事实上,空间场景经过投影会损失一部分信息,仅利用逆投影不可能恢复这些信息。要利用逆投影恢复3D空间点,需要知道该点的至少一个世界坐标。
2.3.3 一般成像模型
下面考虑摄像机坐标系与世界坐标系不重合,但摄像机坐标系与图像坐标系重合的情况,如图2-8所示。像平面中心(原点)与世界坐标系的位置偏差记为矢量D,其分量分别为Dx、Dy、Dz。这里假设摄像机分别以γ角(γ角是x轴和X轴间的夹角)扫视和以α角(α角是z轴和Z轴间的夹角)倾斜。形象地说,如果取XY平面为地球的赤道面,Z轴指向地球北极,则扫视角对应经度而倾斜角对应纬度。
图2-8 世界坐标系与摄像机坐标系不重合时的投影成像示意
上述模型可通过以下一系列步骤由如图2-7所示的世界坐标系与摄像机坐标系重合的摄像机模型转换而来。
(1)将像平面原点按矢量D移出世界坐标系的原点。
(2)以γ角(绕z轴)扫视x轴。
(3)以α角将z轴倾斜(绕x轴旋转)。
摄像机相对世界坐标系的运动等价于世界坐标系相对于摄像机的逆运动。具体来说,可对每个世界坐标系中的点分别进行上述几何关系转换。平移世界坐标系的原点到像平面原点可用如下平移矩阵完成:
换句话说,坐标为(Dx, Dy, Dz)的齐次坐标点Dh在经过变换(TDh)后,将位于变换后新坐标系的原点处。
进一步考虑坐标轴重合的问题。扫视角γ是x轴和X轴间的夹角,在正常(标称)位置,这两个轴是平行的。为了以需要的γ角扫视x轴,只需将摄像机逆时针(以从旋转轴正向看原点来定义)绕z轴旋转γ角,即
没有旋转(γ=0)的情况对应x轴和X轴平行。
类似地,倾斜角α是z轴和Z轴间的夹角,可以将摄像机逆时针绕x轴旋转α角以达到倾斜摄像机α角的效果,即
没有倾斜(α=0)的情况对应z轴和Z轴平行。
以上两个旋转变换矩阵可以级联起来成为一个单独的旋转矩阵:
其中,R代表摄像机在空间旋转所带来的影响。
如果对空间点的齐次坐标Wh进行上述一系列变换(RTWh),就可使世界坐标系与摄像机坐标系重合。利用一个满足如图2-8所示几何关系的摄像机观察到的齐次世界坐标点,在摄像机坐标系中具有如下齐次表达(其中P为投影矩阵):
用Ch的第四项除它的第一项和第二项,可以得到世界坐标点成像后的笛卡尔坐标(x, y)。展开式(2-29)并将它转为笛卡尔坐标可得
它们给出世界坐标系中点W(X, Y, Z)在像平面中的坐标。
例2-8 一般成像模型中的像平面坐标计算
假设将一摄像机以如图2-9所示的方式安置以观察场景。设摄像机中心位置为(0, 0, 1),摄像机的焦距为0.05m,扫视角为135,倾斜角为135,现需要确定此时空间点W(1, 1, 0)的像平面坐标。
图2-9 摄像机观察三维场景示意
为此可考虑将摄像机由如图2-10(a)所示的正常方位移动到如图2-9所示的方位所需的步骤。
(1)移出原点,结果如图2-10(b)所示。注意在此步骤后,世界坐标系只用作角度参考,即所有旋转都是绕新(摄像机)坐标轴进行的。
(2)绕z轴旋转扫视,沿摄像机z轴扫视的观察面如图2-10(c)所示,其中z轴的指向为从纸中出来。注意,这里摄像机绕z轴的旋转是逆时针的,所以γ为正。
(3)绕x轴旋转倾斜,摄像机绕x轴旋转并相对z轴倾斜的观察面如图2-10(d)所示,其中x轴的指向为从纸中出来。摄像机绕x轴的旋转也是逆时针的,所以α为正。
在图2-10(c)和图2-10(d)中,世界坐标轴用虚线表示,强调它们只用来帮助建立角α和角γ的原始参考。
图2-10 对摄像机进行平移和旋转以确定像平面坐标
将给出的各参数值代入式(2-30)和式(2-31),可算得W(1, 1, 0)点的像坐标为x=0(m)和y=-0.008837488(m)。
对空间成像模型更多的介绍可见《3D计算机视觉:原理、算法及应用》。