首页 理论教育摄像机标定的透视变换法

摄像机标定的透视变换法

【摘要】:不考虑摄像机镜头的非线性畸变,那么从物体点的三维到图像点的二维变换是线性变换,透视变换中的系数为未知数。以上介绍了摄像机标定的透视变换法的计算过程,在用真实数据进行实验时,需要注意以下问题:1)矩阵M确定了空间点坐标与它的图像点坐标的关系。

不考虑摄像机镜头的非线性畸变,那么从物体点的三维到图像点的二维变换是线性变换,透视变换中的系数为未知数。如果给定足够多点的三维世界坐标及其相应的图像坐标,就可以利用线性变换矩阵中的各个元素,求得摄像机的参数,即先求透视变换矩阵,然后由求得的透视变换矩阵分解得到摄像机的内外参数。透视变换法的优点是不需非线性优化方程求解,运算速度较快,能够实现摄像机参数的实时计算。透视变换法的有以下缺点:

1)标定过程中不考虑镜头的非线性畸变,使得标定精度受到一定的影响。研究表明,在做三维测量时,忽略镜头畸变是不可取的。

2)线性方程组中未知参数的个数大于世界坐标系自由度的数目,未知数不是互相独立的。在图像含有噪声的情况下,解得线性方程中的未知数也许能够很好地符合这一线性方程,但由此分解得到的参数值却未必能与世界坐标系情况很好符合,使精度受到一定限制。

1.线性参数的最小二乘估计

(1)最小二乘法原理

当测量次数多于未知参数的数目时,即所得的误差方程式的数目多于未知数的数目,直接用一般代数方程的方法无法求解未知参数。最小二乘法则可以将误差方程转化为确定解得代数方程组(方程式的数目正好等于未知数的个数),从而可求解出这些未知参数。这个确定解得代数方程组称为最小二乘法估计的正规方程或法方程。

线性参数的最小二乘法处理程序可归结为,首先根据具体问题列出误差方程式;再根据最小二乘准则和最小二乘原理,利用求极值的方法将误差方程转化为正规方程;然后求解正规方程,得到解的估计量。对于非线性参数,可先将其线性化,然后按上述线性参数的最小二乘法处理程序处理。因此,建立正规方程是待求参数最小二乘处理的基本环节。

线性参数方程的一般形式为(n>m

其误差方程为

最小二乘估计就是求Xi的估计值978-7-111-34687-6-Chapter05-89.jpg,使得

下面讨论最小二乘法原理的矩阵形式。设列矢量为

n×m阶矩阵

式中,a11a21,…,anm为方程的n×m个系数;v1v2,…,vn为误差;978-7-111-34687-6-Chapter05-94.jpg978-7-111-34687-6-Chapter05-95.jpg,…,978-7-111-34687-6-Chapter05-96.jpg为待求的估计量。则线性参数的误差方程为

最小二乘评价准则有

(2)正规方程

线性参数的误差方程式为

应满足的最小二乘条件式为

现求式(5.77)的估计量978-7-111-34687-6-Chapter05-104.jpg978-7-111-34687-6-Chapter05-105.jpg,…,978-7-111-34687-6-Chapter05-106.jpg,可利用求极值的方法来满足式(5.77)的条件。为此,对误差二次方和978-7-111-34687-6-Chapter05-107.jpg求偏导数,并令其为零,有

同理

同理

注意到式(5.86)的二阶导数恒为正,有

由此可知,上面各方程求得的极值是最小值,满足最小二乘条件,因而也是所要求的估计量,最后把它写为

式(5.88)即为线性参数最小二乘处理算法的正规方程。这是一个m元线性方程组,当其系数行列式不为零时,有惟一确定的解,由此可以解得欲求的估计量。因而它可表示为

这就是矩阵表示的正规方程,又因为

所以正规方程又可表示为

所以

2.摄像机标定的透视变换法(www.chuimin.cn)

将透视变换矩阵和成像模型写为

式中,[XYZ 1]T是空间三维点的世界坐标矢量;[uv 1]T为相应的图像坐标矢量;mij为透视变换矩阵M的元素。式(5.95)包含如下三个方程:

在三个方程中,用第三个方程分别去除第一个方程和第二个方程,整理消去z后,得到如下关于mij的线性方程,即

式(5.97)描述了三维世界坐标点矢量[XYZ 1]T与相应图像点矢量[uv 1]T之间的关系。如果已知三维世界坐标和相应图像坐标,将变换矩阵看作未知数,则共有12个未知数。对于每一个物体点,都有上述的两个方程。因此,取6个物体点,就可以得到12个方程,表示成矩阵形式为

其中

M矩阵乘以任何不为零的数,不影响(XYZ)与(uv)的关系,一般设m34=1。标定时取样点数为n,则共有2n个方程,11个未知数,2n≥11,方程没有准确解,所以采用最小二乘估计求出11个参数。由最小二乘法可得

求出系数矩阵M后,可根据式(5.65),解得摄像机的内外参数。求矩阵M时,设m34=1,所求距阵M与实际矩阵M相差一个m34因子。因此有如下关系:

ax=f/Sxay=f/Sy,为水平方向和垂直方向的尺度因子,则有

式中,MTii=1~3)为M矩阵的第i行的前3个元素组成的行矢量;m14i=1~3)为M矩阵第i行第4列元素;RTii=1~3)为旋转矩阵R的第i行;TxTyTz分别为平移矢量T的三个分量。比较上式两边可知,m34M3=R3,由于R3是正交单位矩阵的第3行,且R3=1(矢量的模),因此可以从m34M3=1求出

再由以下式子可得出R3u0v0axay,有

式中,符号×表示矢量积运算符。由以上求出的参数可进一步求出以下参数:

下面介绍上述参数的具体计算过程。

(1)u0v0的可得计算过程由式(5.102)

所以

由于R是单位正交矩阵,所以RT1R3=0(正交矢量的数量积)。RT3R3=1(模为1的矢量自身的数量积),则

同理可求得

(2)αxαy的计算过程

978-7-111-34687-6-Chapter05-144.jpg可得

因此解得

同理可求得

(3)R1R2的计算过程

978-7-111-34687-6-Chapter05-148.jpg可得

同理可求得

(4)TxTyTz的计算过程

由式(5.102)可得

978-7-111-34687-6-Chapter05-154.jpg可得到

同理可求得

综上所述,由空间6个以上的已知点及它们的图像点坐标就能够求出矩阵M,并求出全部内外参数。

以上介绍了摄像机标定的透视变换法的计算过程,在用真实数据进行实验时,需要注意以下问题:

1)矩阵M确定了空间点坐标与它的图像点坐标的关系。在许多应用场合,如立体视觉系统,计算矩阵M后,不必再分解出摄像机内外参数。也就是说,矩阵M本身代表了摄像机参数。但这些参数没有具体的物理意义,在有些文献资料中称为隐参数。一般情况下,投影变换矩阵确定后,不进行内外参数的分解,称为隐式标定。而在有些应用场合,如运动分析,则需要将矩阵M分解,从而求出摄像机的内外参数。相应的标定过程称为显式标定。

2)矩阵M由4个摄像机内部参数及RT所确定。由矩阵R是正交单位矩阵可知,RT的独立变量数为6,因此矩阵M由10个独立变量所确定。但矩阵M为3×4矩阵,有12个参数。由于在求矩阵Mm34可指定为任意不为零的常数,故矩阵M由11个参数决定。可见这11个参数并非互相独立,存在着变量之间的约束关系。但由线性方法求解这些参数时,并没有考虑这些变量之间的约束关系,因此当数据有误差的情况下,计算结果是有误差的,而且误差在各参数间的分配也没有按它们之间的约束关系考虑。实验表明,用上述方法求解的矩阵M在分解内外参数时,有较大的误差。为此在用线性求解矩阵M时。需考虑变量之间的约束关系。