一种灵活的相机标定的新技术

作者:微软研究院  张正友教授

摘要

我们提出了一种相机标定的简易新技术。它很适合对三维几何学和计算机图形学不是很了解的用户。这项新技术只需要用一个相机从不同的方向观察一个平面(至少两次),相机和平面标定板都可以自由移动,而且两幅画面之间移动的关系也不必知晓。透镜的径向畸变也被考虑进模型了。我们提出的这种方法首先获得一个闭环的线性解,随后根据最大似然法则进行非线性优化,最终可以获得一个很好的结果。与传统的的标定技术相比,新方法不需要诸如两三个相互垂直的平面等昂贵的设备,因此是非常简便易用且灵活方便的。这种新技术将三维计算机视觉的应用水平从实验室环境应用阶段提高到日常应用的阶段。

关键词:相机标定、平面标定、二维模式、绝对圆锥面、射影映射、透镜畸变、闭合式解、最大似然估计、灵活设置

1、动机

相机标定是从二维图像获取三维信息的一个必要的步骤,这方面前人已经做了大量工作。从摄影测量社区到计算机视觉的团体,他们都发表了大量作品。我们可以笼统地讲这些技术分为:摄影测量标定技术和自标定技术。

 摄影测量标定:这种方法要求标定物在三维空间中的位置精确已知,标定的效率很高。标定一般需要两到三个相互垂直的平面,有时精确已知的其他面也可以用于标定。但是总的来说这种方法需要昂贵的设备和精细繁杂的设置。

自标定:这一类方法不需要标定物,只需要在一个静止的场景中旋转镜头,场景的静止特性结合相机的位置以及获得的图像可以为相机的内参数提供两个约束。因此如果我们采用同一个内参数不变的相机采集三张照片,根据这三张图片之间的联系我们便可以从中提取出相机的内外参数,这些内外参数又可以帮助我们重建图像,这个方法虽然灵活但是不太成熟。因为很多参数都要我们自己来估计,我们是很难得到可靠的结果的。

其他现有技术:直角方向消失点标定法,纯粹旋转标定法

我们目前的研究集中在桌面视觉系统(DVS)的开发,因为DVS的发展潜力很大。相机现在越来越便宜和普及,DVS系统着眼于普通大众,而非精通计算机视觉的专业人士。一个普通的计算机用户可能只是偶尔用一下视觉设备,他们不愿意为此而购买昂贵的设备,所以灵活、稳定和便宜是很重要的因素。本论文中介绍的技术就是基于这种考虑而开发的。

我们提出的这种新技术只需要用相机获得几张不同角度下的平面图案,平面图案可以采用在较硬的纸板上激光打印而成或是直接将图案贴在硬纸板上。相机和平面图案都可以用手移动,两者之间的运动关系也不必知晓。这种技术介于自标定和摄影测量标定之间,因为我们只利用了二维信息而不是三维信息,也没有用到隐含信息。我们利用计算机模拟和实际实验来检验这种新方法,都取得了不错的结果。与传统方法相比,新方法更加灵活;与自标定法相比,它的鲁棒性更优。我们相信这项新技术实现了三维计算机视觉从实验室到实际应用的跨越。

我们注意到Bill Triggs[22]最近开发了一种自标定的新技术,它需要对一个平面的五个视角的图像,这项技术比我们的更加灵活,但是缺点是很难初始化。LiebowitZisserman[14]阐释了一种利用平面透视图的尺度校正来标定的新技术,这种新技术需要一些尺度信息,如一个角度、两个相等但是不知道具体值的角度、边长的比例。他们提到只要三个这样的矫正的平面即可以标定出相机的内参数,但是并没有提供实验的结果。

这篇论文的结构如下:第二部分主要介绍了观察一个平面的基本约束;第三部分描述了标定过程:开始解一个解析解,然后做一下非线性优化,透镜径向畸变也被考虑进去了;第四部分研究了这个方法失效的情况。在实际中避免失效的方法很简单;第五部分提供了实验结果,计算机仿真数据和真实数据都被用于验证这种新技术。在附录中我们提供了很多细节,包括估计模型平面和图像的单应性矩阵的技术。

2、基本方程

我们总结一下观察平面对摄像机内在参数的约束,然后介绍符号系统。

2.1 符号系统

一个二维的点位置可以表示为,一个三维空间的点可以表示为。我们记mM的扩展矢量为以及。在一个通常的针孔摄相机模型中,三维点的M和它的二维投影m之间有如下关系:

   1

S是任意的尺度因子;称为外参数,它表征了摄像机坐标系与世界坐标系之间的旋转和平移的关系;A被称为内参数,它的形式如下:

是主点的坐标,是图像uv轴的尺度系数,是表征uv两个轴倾斜程度的参数。

我们采用缩写来代替

2.2模型平面(标定平面)和图像的的单应性

我们可以不失一般性地假定模型平面是在Z=0的世界坐标系,我们记矩阵的第i列为,从公式(1)可以得到:

2

通过记法的复用:我们仍用M来标记一个模型平面上的点,此时,因此模型点M和图像点m通过单应矩阵H相联系:

很明显,这个矩阵可以看成是一个比例因子。

2.3 内参数的约束

任给一个模型平面的图像,我们可以估计出单应性矩阵(见附录1),我们记作,从公式(2),我们得到:

只是个尺度系数,因为r1r2是正交的关系,所以我们得到:

                            3

                    4

一个单应性矩阵有两个对内参数的基本约束,一个单应性矩阵原有八个自由度:六个内在参数(三个旋转自由度和三个平移自由度),外加两个对内参数的约束。注意事实上是描述绝对圆锥曲线的图像。在下一个章节中我们将做几何解释。

2.4几何解释

   我们联立(3)(4)两式,得到绝对二次曲线。

   不难证明在相机坐标系下,模型平面一般服从一下公式约束:

   w=0时,所代表的点是无穷远处的点,w=1代表的点是其他的点;这个平面在无穷远处与另一个平面相交于一条线,而且很显然是这条曲线上的两个点,这条直线上的任意一个点都可以表示为上述两个点的线性组合来表示,如下所示:

接下来让我们计算上述直线与绝对二次曲线之间的交点,根据定义我们知道所谓的虚圆点满足一下方程:,例如

 或者

解的形式是,因此连两个交点的形式如下:

交点在图像平面的投影也可给出来:

  在图像平面的绝对双曲曲线上,因此又服从的约束,公式如下:

    因为实部和虚部都需要为零,由此可以推出公式(3)和(4)。

 3相机标定的求解

这一部分提供了如何高效求解相机标定问题的细节,我们刚开始计算出一个解析解,随后利用最大似然原理做一个非线性优化,最后我们考虑透镜的畸变,给出解析解和非线性解。

3.1 解析解

     5

注意B是一个对称矩阵,定义六维向量:

     6

定义矩阵H的第i列向量,我们有:

            7

同时:

 

因此,两个基本约束(3)(4),可以重新写成两个关于b的同质的方程:

    8

如果我们拍摄了n张图像,通过罗列n个这样的方程,我们可以得到:

   9

V是一个2n*6的矩阵,如果,那么我们能够获得唯一解;如果n=2,我们可以假定倾斜度参数,这样我们便多了一个方程,;如果n=1,我们只能解出两个参数,例如,这时候我们假定已知(比如位于图像中心)且(我们在头部位置姿势确定时采用的就是这种办法,这样做的理由是基于眼睛和嘴近似位于一个平面上。)。公式(9)的解是矩阵的对应于最小特征值的特征向量。

一旦获得b后,我们便可以计算所有的摄像机内参数矩阵A,细节参见附录B

一旦获得A,外参数也很容易获得,从公式(2)中我们可得:

。但是由于数据中的噪声,计算获得的所谓的旋转矩阵R可能并不符合旋转矩阵的每一项特性,关于如何从一个一般3*3矩阵中估计旋转矩阵,参见附录C

3.2最大似然估计

  上述结果是基于极小化几何距离来获得的,在物理上没有意义,在这一小节中我们通过最大似然相关重新优化了结果。

我们拥有n张模型平面的图像,每张图像上有m个点,假设每张图像上的点都被独立同分布的噪声所干扰,最大似然估计可以通过最小化下面的式子来获得:

   10

根据公式(2),这里是第i个图像的第j个点的投影点,一个旋转矩阵R由三参数矢量来构成,记作rr平行于旋转轴,它的大小反应了旋转角度。Rr通过Rodrigues方程来联系,极小化公式(10)是个非线性极小化问题,这个问题要通过Levenberg-Marquardt算法来解,它需要通过猜测来初始化矩阵A,这可以通过前面小节中的方法获得。

3.3 处理径向畸变

到目前为止我们还没有考虑相机的畸变,然而一架普通相机通常会产生严重的畸变,尤其是径向畸变。在这里我们只考虑两种径向畸变。读者可以参阅[20,2,4,26]获得精确的模型。基于文献[2,23,25]可知,畸变作用几乎都是由两种径向畸变造成的,而且两种畸变中以第一种为主。我们通过研究发现考虑过于复杂的畸变作用不但无益(因为相比于数字化造成的误差而言,可以忽略)而且会造成计算的不稳定性。

为理想的像素图像的坐标,为实际获得的对应像素点的坐标。理想坐标是通过针孔模型计算得到的。类似的分别是理想和实际的归一化图像坐标。且我们有以下关系:

= x + x[k1(x2 + y2) + k2(x2 + y2)2]

= y + y[k1(x2 + y2) + k2(x2 + y2)2] ;

是径向畸变的系数,径向畸变的中心与主点相同,由于,且假定=0,我们有:

    11,12

变量代换法估计径向畸变:因为径向畸变比较小,所以通过3.2节的方法不考虑径向畸变来估计另外的五个参数是可取的。一个策略是在得到其他参数后,再通过理想的位置来估计 ,这时候我们根据公式(11)(12)对每一个图像中的点可以得到下面两个公式:

  利用n个含m个点的图像我们可以获得2mn个方程,如果写成矩阵形式为:。最小方差解的形式是:

       13

  一旦被估计出来了,我们便可以将(11)(12)解出的参数代入公式(10),解出,我们交替进行上述过程直至收敛。

完全最大似然估计:

  实验中,我们发现上述迭代技术的收敛速度很慢。

    14

在第i个平面上的投影点,这个投影点的位置是由理想投影方程式(2)和畸变方程式(11)(12)决定的。上述问题是一个非线性最小化问题,它可以用Levenberg-Marquardt算法来解。旋转矩阵依然如3.2小节中描述的那样用3维向量来表示;A 依然用3.13.2小节中的办法,通过预先估计得到;依然可以通过最后一段的办法获得初值,也可以简单置零。

3.4 总结

我们提出的相机标定过程如下所示:

1.       打印一个图案,将它粘到平面上;

2.       要么移动相机要么移动模型平面,总之获得几张模型平面的照片;

3.       检测图像中的特征点;

4.       利用小节3.1中的技术,计算五个内参数和所有外参数的解析解;

5.       通过解线性最小方差方程(13)获得径向畸变系数的估计值;

6.       通过最小化(14)优化所有的参数;

退化构象(不能用于解方程的平面-相机位置关系)

    本章节的研究内容是退化构象——即不能为内在参数求解提供额外约束的平面-相机位置关系。

因为公式(3)(4)源于旋转矩阵的性质,所以如果,则图像2不能提供任何额外的约束。比如说一个平面只是经历了平移,没有旋转,则,所以图像2便对相机标定没有任何作用。接下来我们将要讨论更复杂的构象。

论点一:如果模型平面的第二个位置平行于第一个平面,那么第二个图像对相机标定没有任何作用。

证明:一般按我们的传统,通常可以用一个绕Z轴的旋转来联系,如下所示:

是相对旋转的角度,我们采用上标来分别标示图像1和图像2的向量,我们有以下公式:

然后公式(3)为图(2)带来的第一个约束就变成:

这是H1提供的两个约束的线性组合;同理,我们可以证明图像2的第二个约束也是H2提供的两个约束的线性组合。因此我们从H2中没有获得任何新的约束。

这个结果也是不言自明的,因为平行平面在无穷远相交于同一虚圆点,根据2.4小节的知识可知此时两个平面提供的约束相同。

在实践中,避免退化构象是很容易的:我们只需要改变在快照之间改变平面的方向即可。

尽管这种新技术在模型平面间只有平移时不能正常工作,但是如果模型位移值已知的话,这种标定方法便可行了,具体方法参加附录四。

5.实验结果

我们提出的这种新算法已经通过了了实际数据和计算机模拟数据的检验,解析解是通过解一个2n*3的矩阵的SVD(奇异值)分解获得的,n为图像的个数,L-M算法的非线性优化只用了3-5次迭代就收敛了。

5.1计算机仿真

仿真相机具有以下特性:

图像分辨率512*512。模型平面是一个棋盘平面,它上面有10*14=140个角点,平面图案的尺寸是18*25cm,平面的方向是用r来表示的,它的方向平行于旋转轴,大小等于旋转的角度,平面的位置用t来表示,t是个三维位置矢量。

***计算结果和噪声水平的关系

实验中我们试验了三组平面,

。我们向透射图像平面添加均值为零标准差为的高斯噪声,然后我们比较不同噪声水平时估计的相机各种参数和真实参数的差距,以确定噪声水平对相机标定的影响。我们测量的相对误差,测量的绝对误差。噪声水平变化范围是0.11.5个像素,对于每一个噪声水平,我们都做100次试验,求取平均误差。如图1所示,我们可以看到误差与噪声水平呈线性关系(与噪声的关系没有表示出来,应该是有同样的性质),当误差的相对误差不超过0.3%的误差不超过一个像素,,原因如前所述,方向的数据个数小于方向。

***计算结果和平面数量的关系

实验研究了平面的数量与计算结果间的关系(更准确的说是图像的数量)。最初的三个平面的位置是相同的,从第四个图像起,我们开始随机在单位球面上选择一条旋转轴,然后每次旋转30°,图像的数量从2变化到16,每个图像都是独立摄取100次,这些图像都添加进零均值标准差为0.5个像素的高斯噪声,结果见于图2,结果表明图像越多,误差率越低,而且从2个图像到3个图像误差率的下降最为明显。

 

***计算结果和模型平面方向的关系

这个实验检验了模型平面与成像平面间的夹角对实验结果的影响。首先我们选取了3个图像。平面的方向选择如下:首先选择让模板平面平行于成像平面;然后平面每次绕轴旋转角度。我们向图像加入零均值标准差为0.5个像素的高斯噪声,并重复100次,以求出误差的平均。当=5°时,40%的实验都失败了,因为这时候三个平面几乎平行(退化构象)。最佳结果出现在=45°时,因为角度进一步增大时,边长的缩短会使角点的测量变得不准确,这一点在实验中没有考虑到(因为实验是模拟实验,不存在角点估计的问题)。

误差与图像点的噪声水平

2 参数误差与图像数量

3 参数误差与成平面角度

5.2实际数据

我们提出的技术现在已经成为微软研究院视觉小组和图像小组的常规技术,这是我们利用它做得一个实验:

待标定相机是一个去盖子的PULNIX品牌的CCD相机,图像分辨率为640*480,模型平面含8*8的正方形,所以共有256个角点,平面的尺寸是17cm*17cm,它是由高品质打印机打印的,粘在玻璃的表面(言外之意非常平整)。

我们从不同方向采集了五个图像,如图4所示,在图中我们可以看到明显的镜头畸变,角点的确定是通过拟合每一个方形的四条边,然后通过四条边便可以得到四个角点。

我们利用算法逐次对前两个、前三个、前四个直至所有的图像进行标定,结果见于表1,表1含有三列,第一列是称为初始值,表示的是各个参数的解析解;第二列称为最终值,表示的是最大似然估计值;第三列是,表征的是估计值的不确定度。很显然,不同图像数量时解析解的差距很大,而最大似然估计值相差很小,并不随图像数量的增大而有较大变化。我们也注意到随着图像数量的增多,参数的不确定性也逐渐减小。

1 二到五到个图像的实际图像估计的结果

1最后一行称为RMS(平均平方根距离),这个参数以像素为单位,表征了检测到得点与理论透射点的距离。由表1可见,MLE方法很显著地改善了结果。

细心的读者可能会发现的解析解和最大似然估计值很不一致,原因在于:在求解解析解时,我们假定没有失真,所以预测的边缘点会比实际检测到的点更靠近图像中心,

细心的读者可能会发现的解析解和最大似然估计值很不一致,原因在于:在求解解析解时,我们假定没有失真,所以预测的边缘点会比实际检测到的点更靠近图像中心,接下来的畸变估计的试图扩展外边缘且增大尺度以减小实际点与期望点之间的距离,尽管畸变(k1>0称为枕形畸变,或正畸变)与实际畸变(k1>0,称为桶状畸变,或负畸变)不一致。而MLE估计方法让我们得到了真实的畸变参数,利用这些真实的畸变参数,我们可以恢复出去畸变的图像。图5显示了两个这样去除畸变的图像,这两个图像是由前两个图像得来的,有图可以很清楚的看出去畸变的图像中图案由弯曲变直了。

标定结果的方差

在表1中,我们展示了从2-5张图像的标定结果,可以看出结果非常稳定,为了进一步证实这一点,我们对五个图像中任取四个的所有组合进行计算,结果见于表2,例如第三列(1235)展示了计算含1,2,3,4等四个图像的四元组的参数结果,而最后两列展示了参数的均值和方差。样本方差很小,说明算法相当稳定。虽然γ=0.1401不显著非零,因为单位标准差=0.086/0.1401=0.6,很大。事实上,考虑到α=832.85和γ=0.1401后,我们可以得出结论:两个图像平面夹角为89.99°,约等于90°。另外我们为每一个四元组做横纵比(α/β),纵横比的均值为0.99995,方程为0.00012,因此纵横比为1,也就是像素为方形。

基于图像的应用

我们用之前的提到的相角照了两张图片,我们只能看到两个面,我们从每个面手动选择了八个匹配点,用“从运动中获取结构”软件(之前开发的)做匹配,获得了茶缸的部分模型,图7给出了这个茶缸的从三个视角的图片。分布在两边的重建得到的点事实上是共平面,我们计算了重建平面的夹角,得到夹角为94.7°,尽管实验的结果离真实还有一定距离,但至少看起来两个面看起来几乎是垂直的。

6.结论

在这篇文章中,我们提出了一种能够方便地标定相机的新技术。这项新技术只需要用一个相机从不同的方向观察一个平面(至少两次),相机和平面标定板都可以自由移动,而且两幅画面之间移动的关系也不必知晓。透镜的径向畸变也被考虑进模型了。我们提出的这种方法首先获得一个解析解,随后根据最大似然法则进行非线性优化。在实验中我们利用这个新方法不但做了计算机模拟,也做了实际实验,而且得到了很好的结果。与传统的标定技术相比,新方法不需要诸如两三个相互垂直的平面等昂贵的设备,因此比传统方法简便易用的多。

致谢:

感谢Brian Guenter提供的角点提取软件以及和我的讨论,感谢Bill Triggs,是他给了我很多很有启发意义的点评和建议;感谢Andrew Zisserman,是他将他的CVPR98论文给我看,启发了我;感谢Bill Triggs和Gideon Stein使他们建议我做不精确模型平面的实验,感谢Anandan和Charles Loop帮我做了检查论文的英文表述。

 

附录A模型平面和图像之间的单应性矩阵的估计

估计模型平面和图像之间的单应性矩阵有多种方法,我们提出一种基于最大似然估计法则的新技术。令分别为模型平面和图像上的点,理想情况下,应满足公式(2)。但是事实上因为图像点有噪声,所以他们并不满足公式(2)。我们假定是被高斯白噪声所污染,且协方差矩阵为,所以H矩阵的最大方差估计值就是最小化下面的方程的解:

在这里               是H矩阵的第i行。

在实际操作中,我们假定对于所有的i都有。这是合理的因为每一点都是独立获取的。在这种情况下,事实上,问题变成了一个非线性最小二乘的问题即MIN()。这个问题是通过MinPack包里的L-M算法来解决的。这个算法需要一个初始的估计值,初始估计可以由以下方法得到:

,则公式(2)可以写成以下形式:

当我们拥有了n这样的点,我们就可以有n个像这样的方程,可以写成一个大的矩阵形式,由此可以解出各个参数,因为x定义成一个初尺度参数,解是矩阵的最小的特征值对应的特征向量L就是最小的特征值。

B 从矩阵B提取内参数

矩阵B,正如在在3.1介绍的那样,(estimated up to a scale factor)例如:只是一个尺度参数。不费吹灰之力我们就能从矩阵B中唯一地解出内参数:

用一个旋转矩阵逼近一个3*3矩阵

这一节中我们考虑这个问题,如何用一个旋转矩阵最佳地逼近一个普通3*3矩阵。这里“最好”指的是具有(R-Q)的弗罗贝尼乌斯范式最小,也就是解以下方程:

          同时旋转矩阵R满足约束  15

因为

问题(15)便转化成最大化

  令矩阵QSVD分解为,此处,如果我们定义一个正交矩阵Z,矩阵,所以:

很明显,当时,取得最大值,于是我们也得到了(15)式的解。基于纯位移的相机标定

正如在第四小节中说的,如果模型平面只有平移运动,我们推荐的方法将不再适用。但是如果平移运动如果是已知的话且设置得好的话,标定任然是有可能的。从公式(2)中,我们得到

(注意:尽管使用自己的尺度参数估计的,但是考虑到两者间只有平移运动,所以他们可以使用同一个尺度参数。)只要我们知道运动的方向,我们就获得了两个约束,如果我们还知道运动的距离,我们又获得了另一个约束,这时候我们便可以根据这两张图像做相机的完全标定了。

 

 

 

参考文献翻译二

 

 

 

 

神经网络标定:一种可以预测出相机参数的神经网络作者:T.Ahmed美国路易斯维尔大学 计算机视觉与图像处理小组

摘要:相机标定是机器视觉的基础工作,这篇文章中我们展示了一种神经网络的新方法,我们的方法可以直接给出3维世界坐标系到二维图像坐标点之间的变换矩阵。我们初始化神经网络从任意值开始,神经网络可以通过增加额外的正交性约束等最终得到相机模型的参数。我们将这种神经网络用于解决四类机器视觉中常见的问题,我们这种方法的有效性通过合成数据和真实图像数据都得到了验证。

一、   方法简介:

人工神经网络的方法可以用于解决很多计算机视觉相关的问题,如:静态三维重建、纵向运动立体测量、光流的计算、图像恢复等等。在这里,我们应用神经网络解决另一个计算机视觉的问题——相机标定。相机标定的方法包含两个领域:相机内参数的估计、相机系统相对应参考世界坐标系之间的空间位置和姿势。现有的相机标定技术可以大致分为三类:线性、非线性(或者是递归)、两步法。读者可以通过文献[2][3]对该领域有一个全面的了解。

我们将相机的标定问题映射为一个前馈多层神经网络的学习问题,受鼓舞于前人在计算机视觉领域利用神经网络的成功尝试,我们这样做的主要动机是:

① 解除非线性相机标定方法对初始估计的约束;

② 使神经网络可以适用于其它类别相机的标定,比如变焦距相机的标定;

在参考文献[7][5][3]中有一些基于神经网络的相机标定方法。这些技术要么是没有特定的相机模型,只是学习3维空间到二维空间的映射关系[5];要么是现有方法的一个补充,用于改善现有方法的效果[7][4]。因为相机模型参数对三维重建至关重要,所以我们的方法超越了现有方法直接可以获得相机的内外参数。我们还证明了我们的方法可以解决下面四种在机器视觉中常见的:

1.  同时估计相机所有内外参数;

2.  给定图像中心,估计其他所有参数;

3.  给定内参数,估计所有外参数;

4.  给定外参数,估计内参数;

在下一节中,我们展示了相机模型和标定问题。第三节中我们介绍了我们的标定神经网络。在第四节中,我们展示了我们的方法如何用于解决四类问题,以及可变焦距相机的标定。方法的有效性在第五节中利用虚拟和实际的数据都做了验证。第六节中,我们给出最后结论。

二、   相机模型

{此处不翻译}

三、   神经网络标定

我们的神经网络的用途不仅仅是学习三维到二维的映射关系,我们希望它能给出我们相机的内外参数。因此网络结构需要相应的构建,神经网络是一个双层前馈神经网络,输入层有四个输入,X、Y、Z以及一个辅助的常量1。X、Y、Z代表空间中点的3维位置。输出层的节点个数为3个,隐层节点为四个(3个外加一个哑节点)。隐层和输出层的函数都是线性函数,输入层到隐层的权值矩阵为V,与外参数矩阵相对应;隐层到输出层的权值矩阵为W,与内参数相对应。对于每一个输入模式,输入向量的形式是:。误差的形式如下所示:

                     4

但是这个方程的形式不是一个便于误差反向传递的形式,我们的解决方案是给出对每一个训练样本给出一个参数γi,这个参数用于使到达1;其他也都必须乘上这个参数,由此我们便可以给出误差的形式如下:   

基于以上所述,我们的期望输出为:,令,网络的动态输出特性遵从以下方程(678),给定一个输入模式,隐层的输出为:

            6

输出层的输出为:

           7

i个输入模式的误差为:

       8

网络的权值初始化为-1~1之间,除了个别点根据需要固定为10。该多层前向神经网络采用BP算法进行训练,算法按照以下式子更新

             9

       10

      11

是两个正的学习速率常数,为了神经网络能够较好地学习,我们应该对神经网络的输入模式和预期进行归一化处理。两个集合的归一化参数分别为s1s2s1是二维输出的归一化参数,s2是三维输入的归一化参数。透射矩阵最终应该表示为分别为

四、   神经网络标定的更多的方面

4.1 四类标定问题

考虑到尺度因子s1和s2,矩阵A就是矩阵VS2,矩阵D就是S1W。如果R再满足正交性约束的话,我们的计算方法就完全正确了。R作为一个旋转矩阵应该满足一下约束:

          13

是旋转矩阵R的第j行, 是一般的克罗内克函数,13式中的关系对旋转矩阵R构成了6个独立的二次约束,它要求R中的元素满足正交性的约束。神经网络可以很灵活地把这种约束加入网络中,只需要将正交性误差加入到最终的误差中即可,这是新的误差:

                 (14)

跟(8)中的是一样的,另外加上正交性误差。 是个很小的正参数,a则代表了V矩阵的归一化参数。更新准则根据方程(9)(10)(11),对于所有的神经网络权值矩阵都是相同的,除了权值矩阵V中的3*4的部分,它的更新按照下面的式子进行。

此外,A矩阵的一些元素的取值是固定的,1或0,所以权值矩阵中相应的元素的值也是固定的。现在我们可以用这种方法求解四种不同的相机标定的问题了。第一类问题中相机所有的内外参数都需要估计,这正是我们在第三节所做的工作。透射矩阵P可以通过式(12)计算出来,随后我们可以从矩阵P中求解出内外参数。第四类型的问题,因为我们已知外参数,所以我们便按照归一化的原理求出第一层权值矩阵的值,并固定,只对第二层权值矩阵的值按照上述方程进行误差反传。

标定相机时,相机的内参数有的时候我们也可以用其他独立的办法预先得到,比如相机成像的主点我们可以用激光自准直技术得到,然后我们再标定其他参数,这就是第二类标定问题。第三类标定问题是内参数已知且保持不变,但相机在空间中运动,所以我们只需要对外参数进行标定。对于第二类标定问题,我们只需要将W13和W23提前固定为即可。同理,对于第三类问题我们也只需将W固定为,其他矩阵参数根据各种更新准则进行更新。

五、   实验结果

相机模型参数的估计方法我们在前面的章节中已经陈述了,在这一节中我们利用合成数据和实际图片都对我们的相机做了一下标定,由于空间所限,我们只介绍类型一问题的解决,更详细的结果可以参见文献[12].

表1 真实值和无噪声标定值

5.1 合成数据的模拟

在选定相机参数后,我们便进行模拟过程,这些参数对于后者来说是绝对正确的:给定440个三维坐标点,随后采用设定的相机参数计算出2维图像平面投影点的位置。随后一些服从高斯分布的伪随机噪声被加入到图像平面投影点中,以模拟角点测量的不准确性。利用这些二维的图像平面点我们可以标定相机,我们做了一系列实验,对于每一个噪声水平我们都做重复50次。训练完神经网络后我们便得到了透射矩阵,对于射影矩阵P,然后我们像文献[1]中那样将P分解为11个参数。上表显示了相机的真实参数和无噪声情况下经过标定得到的相机参数。为了便于比较起见,我们同时利用线性方法和非线性方法

 

图1 三种方法的部分标定参数计算的RMS随角点噪声增大而增大的图,三种方法依次为线性方法、LM非线性方法、神经网络方法

以上各个算法计算出的部分参数的平方根平均平方误差都显示在图1中,图1显示了个算法的误差随噪声水平sigma增大的变化趋势。正如我们所预料的那样:线性方法是鲁棒性最差的方法。而另外两种方法的变化趋势基本一致,这一点也在情理之中,因为这两种方法都具有抵抗噪声最小化平方误差的作用,所以他们有着相似的健壮性。然而上述神经网络的方法具有不依赖于初始值的优点,这一点是LM方法所不及的。

5.2 实际图像的实验

  在利用实际图像的相机标定中,标定的精度是通过三角学重建3维点的误差来衡量的。因此我们需要对两架相机进行标,首先我们用一对CCD相机获取了两张棋盘样的模板平面的图像,用于标定的点是黑白方格的顶点,这些点的空间位置已知,他们的图像坐标通过文献[2][3]介绍的边界提取和拟合的办法得到。这样我们就得到了两个数据集,一个立体位置的,一个是图像点位置的,这些数据可以用来解决1类型的问题。

  为了合理的平均标定的精确性,我们采用了两种标准:第一种是通常的平方根平均标定误差;另一种是Weng等人提出的归一化立体相机误差(NSCE)。Weng等人称通过这个误差标准不同标定方法之间的优劣可以定量的得到比较和衡量。我们对神经网络标定法和Tsai的RAC方法都计算了上述两种误差。之所以要计算Tsai氏方法是因为Tsai的标定法是一种很流行的的方法,世界上很多计算机视觉实验都在用这种方法,很明显,最终的结果是神经网络标定法更胜一筹。

6总结和结论:

   本文中我们展示了一种神经网络方式的相机标定。我们展示了该方法如何解决四类相机标定的问题。我们用合成数据和真实图像的实验都显示了神经网络技术在相机标定方面的优越性。我们认为我们的方法有以下优点:

1.  不同于[7][5][4],我们的神经网络可以给出相机模型的参数,而非只是学习映射关系。

2.  相比于非线性的相机标定方法,神经网络标定法的优点是它放松了对初始估计值的要求。

3.  我们的方法中得到的相机外参数自动满足正交性约束,不需要像文献[2]中单独做一步得到正交性的数据。

4.  最重的是:我们的方法是全神经网络标定可变焦距相机,在这个方法中,我们利用多个多层前馈神经网络同时根据相机光学设置的改变而学习,可以实时地得到最新的标定参数。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值