第一章 前言
1.1 课题背景
相机内参数标定作为实现机械视觉测量的首要环节,机械视觉在各类检验、工业自动化生产线、视觉导航、3D四轮定位等多个领域得到广泛应用。高精度的相机标定能获得高精度的机器视觉测量。相机标定确定相机模型是参数的过程,参数主要是内部参数,内部参数是相机本身固有的与光、电以及几何结构有关的参数。本论文的主要目的就是对相机内参数的标定装置进行设计与计算,确定相机在不同的机构作用下所能完成的功能,同时提高相机内部参数的标定精度。相机内参数标定从视觉数目方面进行分类,主要有三种主要类型:单目视觉、双目视觉和多视角视觉,从标定方法方面进行分类,主要有传统标定法和创新标定法,不同的方法对应不同的相机模型,相机模型大多可以分为以下两中类型,线性模型和非线性模型。日常生活中所见到的针孔模型为线性模型,是研究者在基于光学成像原理上的进行抽象表达之后的成果。因为相机前镜头在生产过程和安装时,会产生一定程度的变形,这种变形被称为相机畸变。所以线性模型在没有精益的制造技术和高精密的安装技术下很难展现相机成像原理。研究者为了更进一步展现相机的成像原理过程,把相机镜头畸变纳入研究的范围中。相机镜头畸变对相机内参数标定精度有着不可轻视的影响,此外,相机内参数标定的精度还取决于标定方法、标靶的表面制造精度、提取图像特征点坐标的精度等多个因数。现在世界上对相机内参数标定的方法研究方向主要有一下几大方向, 1)标定速度 2)简单的实验环境 3)价格低廉的实验器材以及较高的标定精度。因此确定精确的相机模型以及减少各因素对标定参数精度的影响,构成了相机内参数标定研究的主要内容。
本论文主要研究内容就是采用一种简单方便的方法确定相机的位姿关系;然后对DLT标定法、Tsai两步法以及基于平面靶标标定的张正友法进行研究,再设计装置来对这些标定方法进行试验,最终确定最好的标定方法。
1.2国内外研究现状
人类大多数是通过视觉来获取外界信息,视觉信息量巨大,体现了人类视觉功能的重要性。随着信息技术发展,人们通过计算机等实验器材来实现人类的视觉功能,同时,对机器视觉的要求也越来越高。自20世纪50年代以来,虽然还未实现使相机视觉领域像人类等生物那样灵活、高效和通用的视觉,但现有的视觉理论和技术不断的得到提高和发展,这使得人类正逐步的逼近梦想,实现梦想。
20世纪50年代到60年代,机器视觉从二维图像的分析到三维场景为目的的三维视觉研究。期间,B.allertH在1966年首次将最小二乘法引用到相机标定中,并应用在立体坐标测量仪中。到70年代,出现一些视觉应用系统。1971年,delAb和raraKa提出
DLT(直接线性变换)相机标定方法。1975年,W.aigF考虑了镜头畸变因素,提出用非线性优化的方法解决相机标定精度问题。在20世纪80年代,有一种重要的理论框架被广为人知,并成为视觉研究领域的一个核心理论,该理论就是rrMa在1977年新研究出来的一种计算视觉理论,为整个计算机视觉领域做出了重大贡献。但这一理论框架也存在着大量的不足,许多学者不断的完善,并使这一框架被广泛认知。到了80年代中期,机器视觉注入了一些新方法、新理论、新概念,使整个领域得到了迅速发展。1986年,一种考虑相机畸变的新标定法出现了,是由Tsai提出。而到90年代,在工业、医疗等领域中,机器视觉得到广泛应用,同时多视几何的视觉理论也得到不断的发展。1992年,相机创新标定方法首次出现在机器视觉领域,是由tleyHar提出。1999年,由于saiT两步法要求的标定物为3D立体靶标,其加工和制造精度较难满足,张正友考虑到这一特性,提出了一种新的使用平面靶标标定的两步法。
目前很多学者和科研机构在对相机标定深入研究,例如2010年,南昌航空大学专门成立了一个研究所,该研究所专门研究视觉测量技术;北京大学也成立了主要研究视觉和听觉的国家重点实验室;浙江大学也成立了研究视觉理解与机器人视觉的实验室等。
1.2.1相机经典标定方法
标定方法通过相机标定过程中是否需要标定物可大致分为传统标定方法和创新标定方法。传统的标定方法中,常用的标定方法有DLT方法、Tsai两步法以及基于平面标靶的张正友法等。此类标定方法有一共同的局限性,标定时需要标定物,即一个二维或三维的物体,需要将此标定物放在相机前,利用靶标上一些已知的三维空间点坐标和图像点坐标来计算相机的内外参数。1971年,delAb和araraK提出DLT(直接线性变换)方法,分析了三维标定物和相机图像之间的关系,在线性模型中的成像几何问题,通过求解线性方程而得到这种线性模型的参数估计。该方法快速简单,但由于相机镜头中透镜的曲面误差、透镜组合误差以及CCD的制造误差等误差因素存在,而这种方法没有考虑这些误差问题,所以得到的标定精度不高。1975年,W.aiF考虑了镜头畸变问题,提出一种用非线性优化的方法解决相机标定的成像问题,如果有较好的初始值,可以较快的收敛,从而得到精度较高的标定参数。然而也是因为标定精度受限于给定的初始值,导致初始值的选取直接影响标定精度,计算量大。1986年,saiT在W.aigF的基础上,提出了两步标定法。第一步用DLT对相机参数求解,第二步将这些参数值作为初始值代入下一步非线性优化方法中进行精化。该方法结合了线性变换法和非线性优化法的优点,线性部分通过理想的针孔模型解出一部分外部参数,非线性部分考虑了一阶径向畸变,通过上一步解算出的参数再进行线性方程求解,得到其余参数,然后进行迭代优化。而后engW在saiT的算法上进行改进,使得算法也适合较大视场和畸变较大的情况。虽然saiT两步法简单且精度较高,但是也存在不足之处,只解决了径向畸变问题,没有涉
及切向畸变问题,这使得该模型不能解决复杂的畸变问题,且标定物为立体靶标,制作成本较高,操作不易。1999年,张正友提出了基于2D平面靶标的标定法,简单实用且精度较高,因而受到广泛使用。标定过程分为两步:首先用线性方程求出相机的内外参数初步值,再用最大似然估计法优化各参数。只需3幅在任意位姿情况下的图片即可标定出相机参数,且标定精度较高。于是该方法常被一些软件平台开发成一套标定程序,方便用户直接使用。目前,有许多软件平台可以实现对标定算法的实现,例如常用的有atlabM、CVOpen、VC等软件。其中,atlabM平台开发了一整套用于标定的程序,可以轻松实现标定物为平面靶标和立体靶标的相机标定的算法,并制作了标准界面,方便用户使用;CVOpen平台也开发了有关相机标定的程序代码,用户只需执行命令即可标定。
1.2.2 相机创新标定方法
相机创新标定方法由tleyHar、gerasFau等人在20世纪90年代提出,与传统标定方法不同,此类方法不需要标定物,只需在静态场景中移动相机,这样避免了对靶标高精度制作的要求,或避免在相机前不方便放置标定靶标的情况下应用(如对远距离作业或危险、恶劣情况下作业的机器人等)。1992年,tleyHar提出的相机创新标定方法首次出现在机器视觉领域,相关技术便成为机器视觉的研究热点。一种称为QR分解法的方法被首tleyHar次提出,并且在相机标定的过程中不需要标定物,只需要控制相机做特殊的运动,虽灵活性强,但鲁棒性不高。而后,gerasFau提出了一种基于二次曲线的创新标定技术,ggsTri提出基于二次曲面的创新标定技术、马颂德提出主动视觉的标定方法等。马颂德提出的主动视觉方法使得标定方法有了一个很高的提升,该方法是指在一个精确控制平台上固定好相机,能够从计算机中读出平台的运动参数,不需要靶标,只需控制相机做互相垂直的运动,然后在不同位置上拍摄图像,通过这些图像标定出相机模型中的参数,也就是相机坐标系与平台坐标系之间的外参数以及相机内参数。其后许多学者在此基础上做了大量工作,将算法改进。虽然主动视觉标定法可以线性求出相机参数,但是由于需要提供控制台,成本较高。目前许多学者深入研究了相机创新标定技术,例如中国自动化研究所的胡占义、孟晓桥,他们在基于平面靶标标定的张正友算法上提出了一种新了圆环点的标定方法。该方法需要相机在不同方位拍摄含有若干条直径的圆环的模板,再根据数学的线性方法求解相机的内部参数。又如吴福朝等人提出了另一种自标定方法,即通过空间平面上两个非平行矩形求取圆环点。
1.3 相机标定方法
在过去的几十年里,不管是机器视觉测量还是摄影测量,在测量领域相机标定方法得到了不断的延伸。研究者们针对零维、一维、二维、三维等标定物,不断提出了新的标定方法,并取得了成果。目前,这些研究方法都比较成熟,现在的主要工作任务是如
何用更实用、更简便、更准确快捷的标定方法来实现具体的实际应用问题。
1.3.1相机标定方法分类
根据不同的情况而言,标定方法可以分为:
(1)根据标定过程中是否需要标定物,可分为传统标定方法和创新标定方法。传统标定方法需要标定物,标定物是有形状和尺寸的物体,可以分为一维标定物、二维标定物和三维标定物等。然后再利用相机拍摄,通过图像采集后,经过线性模型或非线性模型来求解出相机的内部参数和外部参数。根据参数计算方法的不同,还可以进一步分为:最优化算法的方法、考虑畸变补偿的两步法、利用透视变换矩阵的方法。自标定则不需要标定物,利用相机运动,在运动过程中所采集的相机视场中的环境的图像信息间的对应关系而求出相机的内部参数和外部参数。可进一步分为:基于多幅图像间直线对应关系法、基于主动视觉法、基于自动视觉法(可分为基于旋转运动、基于平移运动的方法)等。该类方法优点是灵活,缺点是未知参数较多,并且技术还未成熟,很难达到稳定的结果。一般来说,在对相机参数变化不大、标定精度要求高的场合,首选传统标定方法;而应用于相机前难放标定参照物、精度要求不高的场合,一般选创新标定方法,如虚拟现实等。
(2)按采用的相机模型来分,可分为线性算法和非线性算法。 线性算法就是用理想的针孔模型,并用线性方程来求解相机参数。由于没有考虑镜头畸变问题,所以精度达不到要求。目前虽取得了很多很好的成绩,但是许多研究者还在不断努力研究中。非线性算法采用了非线性畸变模型,该算法考虑了非线性畸变参数。在线性算法的基础上,再用非线性优化算法去优化初始参数值。这种方法优点是提高了标定的精度,缺点是算法较为复杂,速度比较慢。不但对初值的选择与预值的精确度要求较高,而且对噪声的强度也比较敏感。有时非线性搜索优化算法不一定达到预期的效果,它不一定能使得相机的各个参数值收敛到全局最优解。
1)从求解参数结果来看,分为隐式标定方法和显式标定方法。隐式标定方法能直接把标定参数实现相互之间转换,通过把二维图像点与三维空间点直接转换。典型的有DLT法。隐式标定方法直接不考虑中间成像的具体过程,而是用一个简单的矩阵形式来表示二维图像点与三维空间点之间的关系。该方法的优点是简单,计算不复杂,只求解算法中的线性方程参数,从而获得较高效率,实用性强。缺点是标定精度不高,很难满足高精度要求的场合。显示标定方法考虑了具体成像过程,并对相机成像几何模型做了精密的设计。更多的考虑了二维图像点与三维空间点转换,使得各个参数都具有各自的物理意义,最后求解未知参数。其中包括有效焦距偏差、图像中心偏差、水平比例因子、镜头畸变参数等。该方法把相机成像过程中的各种因素都基本上考虑进去了,从而标定精度得到了有效的提高。
2)按解题方法来归类,有普通解析法、神经网络法和遗传算法。由于三维空间点