摄像机标定学习笔记

      摄像机标定学习笔记,后面部分参考链接:http://www.sigvc.org/why/book/3dp/chap6.3.1.htm,如有侵权,立删。同时强烈推荐阅读该链接文章http://www.cnblogs.com/gemstone/articles/2293806.html

     利用单目视觉测量模型解算出目标距离、利用双目视觉测量模型解算出目标位置和姿态;针对对距离测量结果开展精度分析与评估,完成测量结果。通过对摄像装置标定可以获取摄像装置参数,从而建立图像中像点位置与空间中物体点位置的关系。摄像装置采集图像后经过目标提取、解算处理便可恢复出目标的真实位姿,完成飞行器位姿的图像测量工作。

      图像测量研究动态:图像测量≈图像采集+图像处理。

      相机标定研究动态:(1)传统的摄像机标定是指在一定的摄像机模型下,基于特定的实验条件如形状、尺寸已知的定标参照物,经过对其图像进行处理,利用一系列数学变换和计算方法,求取摄像机模型的内部参数和外部参数。如Tasi的方法是使用一个带有非共面专用标定标识的三维标定物来提供图像点和其对应三维空间点的对应关系并计算标定参数;使用一个平面标定团(标定板)的至少两幅不同角度视图来进行标定的方法。传统的摄像机标定算法在标定过程中始终需要标定物,且标定物的制作精度会影响标定结果,有些场合不适合放置标定物也限制了传统标定的应用。(2)摄像机自标定方法不需要标定物,而是依靠机器视觉的相关知识就可以对摄像机进行标定。如基于场景约束的自标定需要寻找特定场景;基于几何约束的自标定不需要外在的场景约束,仅依靠多视图彼此间的内在几何限制来完成标定任务。摄像机自标定方法的缺点是它需要一些约束条件,而不是无限制的应用于任意图像或视频序列,而且摄像机自标定方法是基于绝对二次曲线或曲面的方法,鲁棒性较差。

      在工程应用中,需要通过对摄像装置进行标定来简历图像与空间的关系,作为图像测量的基础。在计算机仿真研究中,可直接在仿真软件中设置摄像机装置的相关参数,从而满足图像测量的要求。

      目标提取研究动态:由于图像中包含的信息量较大,为方便计算机进行运算、处理,对图像中目标进行测量应转化为对目标的特征进行测量,其本质是对目标的特征进行提取、分析、处理的过程,最终得到预期的结果。图像分割是目标提取技术中最为基础和重要的研究领域之一,只有将目标区域从背景中分离开来,才使得对目标的特征提取、识别和定位成为可能。现有的目标分割方法可以分为基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。

      目标解算研究动态:单目视觉方面,基于模型的单目视觉定位问题所应用的几何特征可分为点、直线与高级几何特征等几类。其中点特征定位又称为PnP(perspective n-points problem)问题,它是计算机视觉、摄像测量乃至数学领域的一个经典问题;由于双目视觉需要两台摄像机同步工作,在完成同样试验目标的前提下增加了试验的成本和设置难度。因此双目视觉与单目视觉相比,相关研究较少。如赵振庆等提出在仅已知被测物体上两条相互垂直直线的信息的情况下,利用两条垂直线投影在两个摄像机图像上的四条直线图像,求解出被测物体的位姿参数。肖静文等利用视差和三角测量原理恢复真实场景物体的三维信息,从而实现测距功能。

      图像视觉测量:图像视觉测量的实质是根据被摄物体的影像反演其几何和物理属性,从几何角度讲,即根据影像空间的像点位置重建物体在目标空间的几何模型。因此必须选择适当的坐标系来定量的描述像点和相应的空间点,才能从点的图像坐标量测值出发求解相应点在目标空间坐标系下的坐标。在待测量图像上,物体的构象规律以及物体和影像之间的几何和数学关系是传统摄像测量学理论的解析基础。

      图像坐标系:包括以像素为单位的图像坐标系uO0v和以物理单位(如毫米)表示的图像坐标系XO1Y,在XO1Y坐标系中,原点O1定义在摄像机光轴与图像平面的交点,改点一般位于图像中心处。


      对于某个成像点,实际上都是这样表示的:横坐标第u个点,纵坐标第v个点(而不是横坐标x mm,纵坐标y mm)。假设Oxyuv坐标系中的坐标为(),每一个像素在x轴与y轴方向上的物理尺寸为宽dx mmdy mm,则图像中任意一个像素的索引坐标与物理坐标满足下面的换算关系:


      上面的这个方程组,分成了单独两个公式来写,让人感觉关联不够紧密(“本是一家人却说两家话”),因为实际上是要同时满足的,因此我们把两行合并成一个公式来写:

(1)

    上面的矩阵为什么有3行呢?之前的公式不是只有2个吗?把之前的坐标(u,v)(x,y)都转成齐次坐标(u,v,1)(x,y,1)了。齐次坐标(Homogeneous Coordinate的好处是:即使乘个系数k(),仍对应于原来的同一个点,也即(u,v,1)(k×u,k×v,k)对应于同一个点。同时,还便于几何变换(旋转、缩放、平移),只需用一个大一号的矩阵即可将变换矩阵的乘法(旋转、缩放)和加法(平移)合并到一块。此外,齐次坐标还可表示不同的无穷远点。

      摄像机坐标系:如下图,其中O称为摄像机光心,Xc,Yc轴与图像坐标系的x、y轴平行,Zc轴为摄像机光轴,与图像平面垂直。光轴与图像平面的交点即为图像坐标系xOxyy的原点,由点O与Xc,Yc,Zc轴组成的直角坐标系称为摄像机坐标系,OOxy为摄像机焦距。如在摄像机坐标系下坐标为P(Xc,Yc,Zc),其在图像平面上成像坐标为(X,Y),通过摄像机坐标系建立了成像点平面坐标与对应点在摄像机坐标系下的关系,作为后续求解该点在目标空间坐标系下坐标的基础。


图 1 左:针孔成像模型  右:图像坐标系

      由上图左边所示,空间上任何一点在图像上的投影位置为光心点的连线OP 与图像平面的交点,这种关系也被称为中心射影透视投影由几何比例关系可轻易得出(先看下面公式的左边):

(2)

  其中(x,y)的图像坐标,(Xc,Yc,Zc)为空间点P在摄像机坐标系下的坐标。同样,上式的箭头右边为左边的矩阵形式,左右两边是等价的。

      目标空间坐标系(发射坐标系):也即世界坐标系,由于摄像机可被安装在环境中的任意位置,因此需要在环境中选择一个基准坐标系来描述摄像机的位置,并用该坐标系描述环境中其他物体的位置,该坐标系称为目标空间坐标系。摄像机坐标系与发射坐标系(世界坐标系)之间的变换关系可通过欧拉角旋转矩阵R与平移向量t来描述,即:

(3)

      矩阵和向量用黑斜体表示,其中3×3的矩阵;3×1的向量;Mb4×4的矩阵,其也被称为摄像机外部参数矩阵。外部参数为确定摄像光束在摄像瞬间的空间位置和姿态的参数,包括6个参数,其中3个是直线元素,用于描述摄像机光心的空间坐标值;另外3个是角元素,用于描述像平面的空间姿态。摄像机内部参数描述摄像机光心与像片之间相关位置的参数,包括3个参数:f、x0、x1。其中f为摄像机光心S到像片的垂直距离,即焦距;由于设备安装误差会导致像主点o与图像中心不重合的情况,x、y方向的偏移量分别记为x0、x1。

      我们将公式(1)和公式(3)代入公式(2),就可以得到点在世界坐标系下的坐标(Xw,Yw,Zw)与其在图像平面的投影点的坐标(u,v)的关系:


      其中,M=MaMb3×4矩阵,称为投影矩阵Ma完全由决定的摄像机内部结构(如焦距、光心)有关,称为摄像机内部参数Mb完全由摄像机相对于世界坐标系的方位(如摆放位置和拍摄角度)决定,称为摄像机外部参数确定某一摄像机的内部和外部参数,就被称为摄像机定标/标定(Calibration。注意,很多情况下的摄像机定标仅指确定摄像机的内部参数。

      由上式可以看出,如果已知摄像机的内参数Ma和外参数Mb(即定标好了),两者直接一相乘就可得到投影矩阵M投影矩阵有什么作用呢?对任意空间点,如果已知它的世界坐标系坐标,根据,就可求出它的图像点的位置(u,v)

单台摄像机定标

      下面介绍一下摄像机定标的过程,如下图左边所示,我们在摄像机前放一个标定块。所谓标定块,就是每个特征点的空间位置都被事先测定的基准块,比如两个点的距离都被精确做成了1.0000 cm(精确到小数点后若干位)。用相机拍摄标定块的图像,就可以根据特征点的图像坐标(u,v)与真实三维空间坐标(Xw,Yw,Zw)之间的关系,来计算摄像机的内外参数了。我们需要6个或以上特征点,就可求解出投影矩阵M。但在实际应用中,我们通常使用了几十个特征点以减少可能的误差。此外,我们常用下图右边的平面标定块来进行标定,标定时先平放着拍一张正面照片,然后再用个小物件轮流把每边往空间上翘起来一点(即改变标定板的空间位置姿态),依次拍摄3幅以上照片即可。(不要小看了小小的标定板,比如一块选材做工精良的大理石标定板定价需要几千元,以保证工业级高精度、完全平面、不变形。选购时,比如要实现±10 mm3D重建精度,可选择mm精度的标定板。)


图2 左:三维标定块  右:二维标定板

    提示:如果在定标时,环境不允许放置标定块或标定板,或者经常需要改变摄像机的内参数(如调焦),这时就只能通过自标定(Self-Calibration技术来获取摄像机内参数,能利用到的信息只有图像的空间对应点,并用数学上的绝对二次曲线(ACAbsolute Conic作为虚拟标定物。绝对二次曲线是在射影空间中无穷远平面上、全部由虚点构成的一条二次曲线,它的重要特性是它在图像平面的成像(IAC)不随摄像机的位置姿态变化,即投影成像只与摄像机的内参数有关。自标定至少需要拍摄3幅图像。另外对于平面场景的自标定,可通过提取平行线段进行求解。由于自标定求解的非线性,所以一般适用于精度要求不高的场合。

    如果摄像机内参数Ma已知,仅需要确定外参数(),即由N3D空间点与图像点的对应关系来确定世界坐标系与摄像机坐标系之间的欧氏变换,这个问题被称为PNP问题(Perspective-N-Points)。当N6时,可线性唯一确定;但N=3,4,5时,一般情况下也可把解限定在有限的几个候选上。

    以上我们假设的都是线性摄像机模型,但如果使用广角镜头(或全向摄像机),在远离图像中心处会有较大的畸变,因此可能还需要进行非线性修正或建模,如对径向畸变、离心修正、薄棱镜畸变等非线性畸变进行修正。

两台摄像机定标

      我们刚才对一台摄像机的内外参数进行了标定,然而,对于从2D图像到3D形状的重建,一台摄像机(或仅拍一个角度的照片)是不够的。从图1中可以看出,已知图像点的位置(u,v),即使知道摄像机的内外参数,空间坐标(Xw,Yw,Zw)也不是能唯一确定的,实际上任何位于射线OP 上的空间点的图像点都是点(单台摄像标定中的空间点P坐标已知,所以与图像点结合可以求得摄像机内外参数)。怎么办?再加一台摄像机(或者用同一台摄像机拍两次),用左右两个摄像机进行立体视觉重建。

      我们分别对左右两台摄像机单独进行了定标,就得到了它们的内参数。在一般的立体视觉方法中,只需知道摄像机的内参数,以及用极线(Epipolar Line描述的双摄像机相对位置就足够了。

      下面我们对极线进行介绍。如图3所示,用两个摄像机同时获得两张图像I1I2。如果p1p2是空间同一点在两张图像上的投影点,我们称p2p1的对应点,反之亦然。我们指出,p1点的对应点p2不需要在I2整幅图像中搜索,它必然只位于I2的某一条直线上,该直线(图中的l2)称为图像I2上对应于p1点的极线


图3 用两台摄像机拍摄空间点

      那么如何找到极线呢?其实很简单,它满足一个几何约束。如图3所示,O1为左摄像机的光心,O2为右摄像机的光心,两者的连线O1O2经过左右两个图像平面时相交于两个极点e1e2。可以证明,I1(或I2)图像上的所有极线都相交于同一点e1(或e2),也即极线必然经过e1(或e2)。经推导可知,给定投影矩阵M1M2,对于左摄影机的一个图像投影点坐标p1,则它的对应点坐标p2所在的极线是完全确定的,满足如下方程:

      其中,;反对称矩阵,其秩为2。注意F是一个仅为3×3的矩阵,具有7个自由度,由投影矩阵M1M2组合运算得到,这是立体视觉很重要的一个矩阵,称为基本矩阵(Fundamental Matrix),其只与两个摄像机的内参数和空间相对位姿有关与外参数无关

      通过上式还可以看出,无须费劲地求解出两个摄像机的所有内外参数(即M1M2),很多应用场合下这是不必要的,因为只需一个基本矩阵F就可以得到立体视觉的极线几何约束关系。为了求解出基本矩阵F,我们至少需要两幅图像中的78个对应点。

      更广义地,我们介绍图像平面间的单应矩阵(Homography MatrixH的概念,具有8个自由度(实际上,前面提到的由平面单应矩阵与极点唯一确定,即)。所谓单应可理解为:空间平面在两个摄像机各自的射影变换Projective Transformation,也被称为直射变换Collineatory Transformation)下所生成的图像点具有一一对应的关系,即。单应矩阵的一个典型应用就是对射影变换导致的图像变形进行矫正:我们只需先从变形图像中指定共面的4个点,对其手工矫正后得到4个新的点,于是就可求解出单应矩阵H了,最后对变形图像的所有点应用单应变换进行自动矫正,整个过程无需求解摄像机的任何参数。

    提示:空间点P不仅可以通过在左右两张图像上的投影点p1p2来重建(这称之为双视图几何),类似地,还可通过同时拍3张图像来重建点P,这就被称为三视图几何。其中三焦张量(Trifocal Tensor)等同于双视图几何中基本矩阵的地位,类推还有四视图几何的四焦张量。3视图及以上的几何重建统称为多视图立体重建(MVSMulti-View Stereo

   空间中任意一点P只要能在摄像装置1、2的成像平面上找到对应的匹配点P1、P2,就可以通过公式(两相机投影中心连线距离、视差及一个图像坐标系下坐标)确定出该点在空间中的三维坐标(xc,yc,zc)。这种方法是点对点的运算,图像平面上所有存在相应匹配点的特征点均可参与上述运算,从而获取其对应的三维坐标。

   目标姿态解算方法:通过求解平面上三个非共线点的空间坐标,得到它们所确定平面的法向量;计算法向量与空间直角坐标系各坐标轴的夹角余弦,通过夹角表示该平面在空间直角坐标系中的姿态。

展开阅读全文

没有更多推荐了,返回首页