基于一维物体的摄像机定标
作者:张正友 IEEE 高级会员
翻译:西北工业大学 戴玉超
关键词:摄像机定标 定标分类法 定标设备 一维物体 奇异性 退化结构
1.引言
摄像机定标是计算机视觉中为了从二维图像中得到变换信息必须的步骤。从照相测量法(1,3)到计算机视觉(8,7,20,6,22,21,15,5)已经做了很多研究工作。根据定标参照物维数,我们将这些标定方法费为三类:
基于三维参照物的摄像机定标:通过观察一个三维几何尺寸精度很高的物体进行定标。定标非常有效(4)。定标参照物通常包括两个或三个相互垂直的平面。有时,可以使用进行精确已知运动的平面(20),这相当于提供三维参考点。这种方法要求一个昂贵的标定设备和一个精心制作的设置。
基于二维平面模板的定标:这类方法要求从多个不同角度观察一个平面模板(23,18)。与Tsai的方法不同,这种方法并不需要知道平面的运动。由于几乎任何人都可以制作这样的定标模板,摄像机定标的设置相当容易。
自定标:这类方法不使用任何定标参照物被认为是0维定标技术,因为只需要图像点对应信息。仅仅通过在静态场景中移动摄像机,考虑到场景的刚性,一般而言,两个约束[15][14]在摄像机的内部参数上通过使用图像信息。因此,如果由固定内部参数的同一摄像机获取图像,三副图像之间的对应足以恢复内部和外部参数这将使我们可以在一定相似度上重建三维结构(13,10)。尽管不需要定标参照物,仍需要估计大量的参数,这导致更加复杂的鼠须问题。文献11种对这一领域进行了回顾。
其他的技术包括:垂直方向消阴点[2][12]和根据纯转动定标[9][17]。
使用一维物体进行摄像机定标除了理论意义,实践中尤其是涉及多摄像机时具有实用价值。为了标定多摄像机之间的相对几何关系,需要所有的摄像机可以同时观察大一定数量的点。这对于三维或二维参照物来讲基本是不可能的,尤其是当一个摄像机位于房间前面而另一个位于后面时。而这对于一维物体不是一个问题。例如,我们可以使用从天花板上掉下来的球。
本文结构安排如下:第二部分检验使用一维物体进行摄像机定标的设置。第三部分详细描述如何求解使用一维物体进行摄像机定标。文中得到了封闭形式的解和基于最大似然估计的非线性最小化方法。第四部分提供了计算机仿真数据和实际图像数据的试验结果。最后,第五部分总结全文并指出以后的工作。
2.预备知识
我们检查使用一维物体进行摄像机定标的可能的设置。我们首先介绍本文使用的一些符号表示。
2.1符号
一个二维点表示为 。一个三维点表示为 。我们实用 表示对向量增加1作为最后一项。这样 。使用针孔模型的摄像机模型为:一个三维点 与图像投影点 之间的关系为:
,其中 , (1)
其中 是一个尺度因子, 称为摄像机的外部参数,分别是摄像机坐标系相对于世界坐标系的旋转和平移关系。 称为摄像机的内部参数,具体定义如下: 是图像坐标系的中心点, 和 是图像中 和 方向的尺度因子,参数 描述了两个图像轴之间的歪斜程度。摄像机定标的目的就是确定这五个内部参数。
我们使用 表示 和 。
2.2使用自由运动一维定标物体时的设置
我们现在检查使用一维物体进行摄像机定标的设置。正如第一部分已经提到的,我们需要得到一维物体的多个观察图像。不失一般性,我们选择摄像机坐标系定义一维物体;这样(1)式中 。
已知距离的两点。这可能是一个木棒的两个端点,挥动木棒我们得到一系列的图像。令 为三维端点, 为观察到的图像点。因为A点与B点之间的距离是已知的,我们只需要五个参数定义A和B。例如,我们需要三个参数定义A在摄像机坐标系中的坐标,两个参数定义直线Ab的方向。另一方面,根据公式(1)每一个图像点提供两个方程,总共四个方程。给定木棒的N副图像,我们需要估计5个内部参数和5N个点的位置参数,举个例子,总的未知参数共5+5N个。然而,我们只有4N个方程,这样的摄像机定标是不可能的。
已知距离的三个共线点。通过增加一个额外点,比如C,点未知信息的数量仍然保持不变,5+5N,因为C与A,B之间的距离已知。对于每一次观测,我们得到3个图像点,得到总共6N个方程。标定看上去可行,然而事实上是不行的。这是因为每一次观测3个图像点一定共线。共线性在透视投影时得到保持。我们因此只有五个独立方程对于每一次观测。总的独立方程个数为5N,仍然少于未知数的个数。摄像机定标仍旧不可能。
四个已知距离的共线点。正如上面,当点的数量从两个增加到三个时,独立方程(约束)的数量每一观测增加一个。如果我们有第四个点,是否我们会有6N个独立方程?如果这样的话,因为未知数的个数不变仍为5+5N,如果N〉5我们就可以得到足够多的约束从而可以解决问题。事实是增加的第四个点或更多的点并不能增加独立方程的个数。对于4个或更多的点独立方程的个数都是5N。这是由于透视投影变换时交叉比例(cross ratio)保持不变。已知交叉比例和三个共线点,无论它们是在空间中还是在图像中,其他的点可以精确得到。
2.3一维物体绕一固定点进行摄像机定标时的设置
从上面的讨论,无论知道物体上的多少点通过移动一维定标物体进行摄像机定标是不可能的。现在,让我们考虑一点固定时的情形。不失一般性,点A是固定点而a是相应得图像点。我们需要三个参数,这是未知的,以确定A在摄像机坐标系中的坐标,而根据方程(1)图像点a提供了两个标量方程。
已知距离的两点。它们可能是木棍的两个端点,我们绕固定的一个端点移动木棍。令B为自由端点,b为对应得图像点。对于每一次观测,我们需要两个参数以确定直线AB的方向,因此由于B点和A点之间的距离已知B的位置可以确定。给定木棍的N次观测图像,我们有5个内部参数,对A有3个参数,需要估计自由端点的2N个参数,总的未知数个数为8+2N。然而,每一次对于b的观测每一次提供了两个方程,我们只有2+2N个方程。摄像机定标是不可能的。
已知距离的三个共线点。正如上一部分所讨论的,通过增加一个点,比如C,未知点位置的总个数仍然为8+2N。对于每一次观测,b提供两个方程,但是c只提供一个额外的方程这是由于a,b,c共线。这样,N次观测的总方程个数为2+3N。通过计算点的个数,我们看到如果我们有6次或更多的观测,我们可以求解摄像机定标问题,在下面我们将仔细讨论。
已知距离的共线4点。正如上一部分所讨论的,未知量的数目和独立方程的个数由于交比的不变性而保持不变。这就是说,我们获得更多的共线点后,摄像机定标的精度将会提高这是由于数据冗余可以抵抗图像数据中的噪声。
3.基于一维物体摄像机定标的求解
在这一部分,我们将详细描述如何通过对于包含三个共线点而绕其中一个转动得的一维物体的多次观测求解摄像机定标问题。我们只考虑最小配置的情况,但是很容易扩展到包含四个或更多共线点的定标物体的情况。
3.1基本方程
根据图1点A是空间中的固定点,木棍AB绕点A转动。木棍AB的长度为L。
(2)
点C的位置可以根据点A和B确定,因此
(3)
其中 是已知的。如果C是AB的中点,则 。点a,b,c分别是空间点A,B,C的投影。
不失一般性,我们选择摄像机定标系统以定义一维物体;因此,在(1)中 。令A,B,C的深度分别为 。根据方程(1),我们得到
(4)
(5)
(6)
将这些式子代入(3)式从方程两边消去 得到
(7)
通过在上述方程两边进行叉积运算叉乘 ,我们得到
进而我们得到
(8)
从(2),我们得到
将 代入(8)得到
这等价于
(9)
其中
(10)
方程(9)包含未知的内部参数A和固定点A的未知高度 。这是对于使用一维物体进行摄像机定标的基本约束。由(10)给定的向量h可以由图像点计算而 已知。由于总的未知数个数为6个,我们需要最少六个方程。注意到 描述了图像中的二次曲线[13]。
3.2封闭形式的解
令
(11)
(12)
由此可见注意到矩阵 是对称的,定义如下六维向量
(13)
令 ,而 ,此时(9)变成
(14)
其中
当观测到一维物体的N幅图像时,积累n个如(14)这样的方程我们得到
(15)
其中 , 。最小二乘解是
(16)
一旦 计算得到,我们可以根据 计算所有的未知数。令 。从而可以得到内部参数和 为
这样,我们可以根据(8)计算 ,这样点A和B可以从(4)和(5)中计算出来,点C可以根据(3)计算。
3.3非线性最优化
以上的求解过程是通过最小化一个物理意义并不明确的代数距离得到的。我们可以通过最大似然估计改进结果。
我们得到了一维定标参照物的N幅图像,定标物体上由3个点。点A是固定的,点B和C可以绕A转动。假设图像点中存在独立同分布的噪声。最大似然估计可以通过最小化以下函数得到:
(17)
其中 是M根据(4)(5)(6)在图像平面上的投影点。更加精确, ,其中 是点M的z分量。
需要估计的未知数是:
内参数矩阵A的5个参数 ;
固定点A的三个未知坐标参数;
确定点 的2N个额外参数(详见下面)
因此,我们总共有8+2N个未知数。为了江B,C参数化,我们使用球坐标系 确定一维定标物体的方向,B点由下式给定
其中L是A和B之间已知的距离。点C可以由(3)式确定。因此我们每次观测只需要两个额外的参数。
使(17)式最小化是一个非线性最小化问题,这可以使用Levenberg-Marquardt算法求解(Minpack在[16]中这样做)。这样需要 的初值,这些初值可以使用上一部分的方法得到。
3.4估计固定点
在上面的讨论中,我们假设固定点A的图像坐标a是已知的。我们现在描述如何通过考虑固定点A在图像中是否可见来进行检验。
固定点不可见。固定点在图像中不一定可见。没有可见性要求的摄像机定标技术变得更加通用。在这种情形下,例如可以从天花板上掉一串小球标定房间里的多个摄像机。固定点可以通过多幅图像中的相交线得到求解。
每一次对一维物体的观测定义了一条直线。一条图像直线可以用一个三维向量 ,这样直线上的一个点 满足 。在下面,我们使用 代表直线 ,其中 , 。为了移出尺度不确定性,我们将 标准化,这样 。进而,每一个 伴随着由 协方差矩阵 表示的不确定性测度。
给定一维物体的N幅图像,我们得到N条直线: 。令图像中的固定点为a.明显的,如果不存在噪声,我们有 ,或 。因此,我们可以通过最小化下式进行估计
(18)
其中 是权重因子。通过令F的微分为零,我们得到结果
式(18)中的最优权值因子 是变量 的逆,即 。注意到权值 中包含未知量a。为了克服这个困难,我们可以在第一次叠代时将 近似为 ,在下面的叠代中使用前面计算的a重新计算 。通常两三次叠代就可以了。
固定点可见。因为固定点是可见的,我们有N次观测 。我们可以通过最小化 估计a,假设获取得到的图象点准确度相同。解为 。
以上估计并没有利用固定点也是对于一维物体N次观测图像线的交点的事实。因此,估计 的更好的方法是最小化下列方程:
(19)
其中 是检测到点 的协方差矩阵。上述方程对于 的偏导数是
令上式为零,得到
如果每幅图像中的可见点多于3个,已知的交比提供了对于固定点的另一个约束。
为了更加精确的研究不确定性,读者可以参考[25,第2章]。
3.5奇异性
像大多数算法一样,定标算法也存在奇异性问题。为了得到更加可信的结果,实践中必须注意奇异性问题并加以避免。