一种基于二维标定物的相机标定方法与流程

文档序号:11387678阅读:206来源:国知局
一种基于二维标定物的相机标定方法与流程
本发明涉及相机标定
技术领域
,尤其涉及基于二维标定物的相机标定技术,具体涉及基于标定图像优选的相机标定方法。
背景技术
:相机标定技术指的是找到相机模型的参数。参数一般包含从场景到图像的参数(内参),以及从参考坐标系到相机坐标系的参数(外参)。另外还包含相机镜头由于制造误差而产生的非线性畸变参数。相机标定的精确性直接影响着三维重建、视觉检测和视觉导航的精度。有许多的学者对相机标定进行了研究,主要分为自标定和基于标定物的标定。自标定不用标定物,直接根据采集静态场景的图像上的对应点来标定相机,但它的对应点的提取精度有限,且有的场景没有对应点,并且它没有考虑镜头的畸变[2],因此它的标定精度受限[1]。在精度要求高的场合常采用基于标定物的标定方法。基于标定物的标定方法主要分为基于三维标定物和基于二维标定物的方法,基于三维标定物的方法需要坐标精确已知的三维标定物,它需要的设备很昂贵。应用最广泛的是基于二维标定物的标定方法,最经典的是张正友的二维平面模板标定方法[3]。张正友的二维平面标定方法中需要采集多张不同视角的图像来进行标定,标定的精度依赖于合适的视角[3](当标定板的角度和相机的成像平面的角度为45度时,标定精度会较高)、角点提取的精确性等。不同的图像集会导致不同的标定精度。为了处理这个问题,[2]提出了用随机抽取一致性[4](ransac)来剔除不可靠的图像来达到更好的标定效果,但是由于标准的ransac有些缺点如下:(1)标准的ransac运行时间比理论上预测的更长[5],(2)它假设从内点里面得到的模型是与所有内点一致的,这个假设通常不成立,因为内点有时候也会受噪声的影响。因此ransac得到的内点数具有一定的随机性,与理论上的内点不相同,所得到的模型当然也不和理论相同。相关参考文献:[1]s.bougnoux,“fromprojectivetoeuclideanspaceunderanypracticalsituation,acriticismofself-calibration,”proc.ieee.internationalconferenceoncomputervision(iccv98),ieee.cspess.dec.1998,pp.790–796,doi:10.1109/iccv.1998.710808.[2]y.lv,j.feng,z.li,w.liandj.cao.“anewrobust2dcameracalibrationmethodusingransac,”optik-internationaljournalforlightandelectronoptics,vol.126,dec.2015,pp.4910–4915.[3]z.zhang,“aflexiblenewtechniqueforcameracalibration,”ieeetransactionsonpatternanalysisandmachineintelligence,vol.22,dec.2000,pp.1330–1334,doi:10.1109/34.888718.[4]m.a.fischlerandr.c.bolles,“randomsampleconsensus:aparadigmformodelfittingwithapplicationstoimageanalysisandautomatedcartography,”communicationsoftheacm,vol.24,dec.1981,pp.381–395.[5]b.tordoffandd.w.murray,“guidedsamplingandconsensusformotionestimation,”proc.europeanconferenceoncomputervision(eccv02),springer-verlagpress,dec.2002,pp.82–96.doi:10.1007/3-540-47969-4_6.[6]o.chum,j.matasandj.kittler,“locallyoptimizedransac,”lecturenotesincomputerscience,vol.2781,dec.2003,pp.236–243.[7]d.c.brown,“close-rangecameracalibration,”photogrammeng,vol.37,dec.2002,pp.855–866.[8]j.salvi,x.armangueandj.batlle,“acomparativereviewofcam-eracalibratingmethodswithaccuracyevaluation,”patternrecognition,vol.35,dec.2002,pp.1617–1635.[9]r.hartleyanda.zisserman,multipleviewgeometryincomputervision,2nded.,vol.30.cambridgeuniversitypress,2003,pp.1865–1872.[10]http://www.vision.caltech.edu/bouguetj/calib_doc/.技术实现要素:针对传统的基于二维模型的标定方法需要从不同的角度采取图像,标定的精度受采集角度,采集距离,特征点的定位的影响,本发明提供了一种用局部优化的随机抽取一致性来提高张正友相机标定法准确性的方法。本发明技术方案提出一种基于二维标定物的相机标定方法,进行标定图像优选的基础上实现相机标定,包括以下步骤,步骤1,准备平面标定板;步骤2,用相机采集平面标定板每个角度的图像,设得到j幅图像;步骤3,对每幅图像进行角点提取,计算每幅图像对应的单应性矩阵,记为hj,其中j为图像序号,取值为1,2,3,…,j;步骤4,初始化随机抽取一致性的参数,包括取理论迭代次数k为∞,初始的实际迭代次数为i=0,最好的内点集为bestsub=[],最好的内点数为bestnin=0;[]表示空集;步骤5,从步骤3所得所有的单应性矩阵hj中随机选取s个单应性矩阵,计算iac,并判断每幅图像对应的单应性矩阵hj与iac之间的距离dj,根据预设的相应阈值thr判断是否dj<thr,是则认为hj为内点,否则认为hj为外点,得到内点集sub和内点数的总和nin;其中s为最小采样点数;所述iac代表k-tk-1,k是内参数;i=i+1;步骤6,判断是否nin>bestnin,如果是,进入步骤7进行局部优化,否则返回步骤5;步骤7,进行局部优化,包括以下子步骤,步骤7.1,初始化局部优化的次数d=10,初始化当前迭代中的局部最多内点数lobestnin=0,局部最好内点集lobestsub=[];步骤7.2,令n=4,nin=0,sub=[],从当前的内点集sub中随机选取slo个内点计算iac,slo大于最小采样点数s,判断每幅图像对应的单应性矩阵hj与iac之间的距离dj;步骤7.3,根据给定的阈值thr的n倍进行iac内点数的判断,包括判断是否dj<n*thr,如果则这认为hj为内点,否则认为hj为外点,对每幅图像判断完成后,得到当前的内点集sub和内点数的总和nin,令n=n-1;步骤7.4,判断是否n>1,如果否则进入步骤7.5,如果是则由当前的内点集sub计算iac,返回步骤7.3;步骤7.5,判断nin>lobestnin,若是,lobestnin=nin,lobestsub=sub,进入步骤7.6,若否则进入步骤7.6;步骤7.6,d=d-1,判断是否d<1,如果否则返回步骤7.2,如果是则返回最终结果lobestsub,lobestnin;步骤8,根据步骤7返回的结果,令bestnin=lobestnin,betsub=lobestsub,i=i+1;根据bestnin得出内点比ε=bestnin/j,更新理论迭代次数k,判断是否i>k,如果否则返回到步骤5,是则进入步骤9;步骤9,根据bestsub中的所有内点估计iac,去除外点对应的图像集,完成标定图像优选;根据标定图像优选结果进一步得到标定结果。而且,所述计算iac按照下式进行,h1tk-tk-1h2=0h1tk-tk-1h1=h2tk-tk-1h2其中,h1,h2是单应性矩阵h的列向量。而且,所述判断每幅图像对应的单应性矩阵hj与iac之间的距离dj按照下式进行,其中,d为距离,b=k-tk-1,h30=h1-h2,h40=h1+h2,bhi是b与hi的积,i=1,2,30,40,bhi(1)代表bh的第一个元素,bhi(2)代表bh的第二个元素。而且,所述更新理论迭代次数k按照下式进行,其中,ε是内点的比例,η是给定的相应阈值。而且,thr优选为2*10-5。而且,j为20。而且,s为2,slo=min(4,nin)。本发明提出,在相机标定之前首先进行标定图像优选,包括提出定义一个在单应性矩阵和绝对二次曲线的图像之间的距离,然后用局部优化的随机采样一致性(lo-ransac)来剔除不可靠的图像,消除ransac的随机性,从而可以获取稳定可靠的图像集,实现提升张正友二维平面的标定方法,获得更稳定可靠的标定精度,避免受采集角度、采集距离、特征点定位等因素的影响。从仿真实验和真实实验数据来看,应用本发明技术方案可以得到更好的标定结果,由于在标定之前就对不可靠图像进行准确筛选,使得张正友的二维平面标定方法执行精度和效率提高,系统资源消耗低,具有重要的市场价值。附图说明图1为本发明实施例的流程原理图。图2为本发明实施例的局部优化随机抽取一致性流程原理图。具体实施方式以下结合附图和实施例详细说明本发明的具体实施方式。相机的模型分为线性的模型和非线性的模型,基于二维标定板的线性的模型表示如下:其中m是比例因子,这里k是内参数,其中,fx,fy表示相机的焦距,为像素单位;(u0,v0)是图像中心的像素坐标;r1,r2是旋转矩阵的列向量且t是从参考坐标系到相机的坐标系的平移向量;(x,y)是标定板的世界坐标;(u,v)是标定板对应的成像点的像素坐标.假设(x,y)和(u,v)是已知的,本发明很容易得到标定板的世界坐标和像素坐标之间的单应性矩阵h,它为一个3*3的矩阵,其中h11,h12...,h33分别为h的元素。每幅图像都可以得到一个单应性矩阵。相机的镜头畸变可以被分为以下三类:径向畸变,偏心畸变和薄棱镜畸变,其中径向畸变占比最大,并且主要被径向畸变的第一项所影响[7],因此本发明只考虑径向畸变的第一项,对于其它畸变也同样适用。并且更多的畸变考虑也不会提高畸变的精度[8]。畸变模型如下:这里r=(x+y)2,(x,y)是理想的图像坐标,(ud,vd)是畸变了的像素坐标。k1是径向畸变的系数,非线性模型是为了剔除相机的镜头畸变得到正确的线性模型,然后使用线性模型来恢复相机的参数。在机器视觉,ransac广泛应用于从受粗大误差污染的数据集中来估计一个模型.首先随机选取一个最小子集的数据集来估计模型参数,然后计算数据点到模型的距离,那些离模型距离小于给定阈值的点认为是内点,内点越多的模型认为它越好。随机抽取的过程一直重复,直到比当前最好的模型找到更多内点的概率小于给定的阈值。即在k次采样中丢失一个内点集为s的样本的概率低于给定的相应阈值η。其中ε是内点的比例。需要注意的是ransac方法假设从内点里面得到的模型是与所有的内点是一致的,这个假设不正确的,因为内点也会被噪声影响,所以,ransac找到正确模型的时间要大于k次[5]。而且,ransac选择最小的样本来计算模型,因此噪声的影响对计算的模型的精确性影响会更大,这导致ransac找到的内点数比理论值更小,并且不稳定。为了处理ransac的这个问题,文献[6]提出了lo-ransac,它通过局部优化ransac每步中达到的最好模型,可以消除内点的噪声影响,可以获得稳定的,更精确的模型。因此本发明提出采用lo-ransac来剔除相机采集的不可靠的图像,从而获得稳定的,高精度的标定效果。在本发明中,当ransac到达每个当前最好的模型时,进行一次局部优化操作。局部优化使用一个内部ransac,加一个迭代,这在下面的两个段落里面进行解释。内部ransac:当ransac在第kth次迭代中到达了最好的模型,采样从最好的模型的内点集中选取,因此,这个采样的样本大小可以不为最小,实验显示越大的采样样本来估计模型,模型的精度越高[6]。在内部ransac后,为了得到更可靠的结果,再使用一个迭代框架:使用所有的比一个更大的阈值n*thr小的点进行最小二乘法来估计模型,n为整数,再依次减小n并且迭代直到阈值为thr。这个迭代是因为使用最小二乘法时,一个误差粗大的数据点将会导致估计的模型的错误,在迭代中,每个采样点的距离都小于给定的阈值,因此没有误差很粗大的数据点。内部ransac加上最小二乘法的迭代会减少内点的噪声的影响,因此可以得到更加精确和稳定的模型。在张正友的基于平面标定的方法中,标定结果受限于采集的图像的质量,在[3]中显示,最好的标定结果是在图像与标定板平面的角度为45度的时候,当角度增加时,透视畸变会让角点提取更不精确,不同的距离,也会导致角点提取的精确性。所有这些可以影响采样的图像的质量,不同的采样图像集将导致标定的精确性不一致。为了剔除这些不可靠的图像,得到最优的图像集,本发明使用lo-ransac来除去不可靠的图像。正如前面所说,lo-ransac可以减少ransac的随机性,可以得到更多的,更可靠的图像集,进而得到更加准确的标定参数。在张正友的标定中,2个约束条件如下:其中h1,h2是单应性矩阵h的列向量,即h1=(h11h21h31)t,h2=(h12h22h32)t因此,至少需要两个方程(5)来计算k-tk-1,在文献[9],k-tk-1被称作绝对二次曲线的像(iac,imageoftheabsoluteconic),本发明不需要知道iac的具体含义,本发明只需要知道它代表k-tk-1,在解出它后,方程(1)的封闭解可以得到。最终,这个封闭解作为初值,并考虑镜头畸变,用列温伯格算法进行非线性优化.因此,这个iac的求解对初值的影响很大,不合理的初值容易导致非限制性优化陷入局部最优解。文献[2]定义了一个iac和单应性矩阵之间距离如下:其中,d为距离,b=k-tk-1,h30=h1-h2,h40=h1+h2,bhi是b与hi的积,i=1,2,30,40。并且bhi(1)代表bh的第一个元素,bhi(2)代表bh的第二个元素,具体实施时阈值是可根据仿真给定的,在本发明实施例中thr优选为2*10-5。为了剔除不可靠的图像,本发明提出利用此距离进行筛选。本发明进一步进行设计,提出的实现方案原理如下:1.从不同的角度采集标定板的足够的照片,优选采用20幅以上;2.对每个图像提取角点,并且计算每幅图像的单应性矩阵;3.设置参数:s=2,ε=0,k=∞,thr=2*10-5,i=1;4.随机抽取s张图像并计算iac:k-tk-1;5.根据给定的阈值thr根据式(6)计算判断每幅图像对应的单应性矩阵与iac之间的距离,确定iac的内点数nin,即与iac一致的图像集,更新内点比例ε。6.,如果更大的内点数发现了,进行局部优化。7.通过式(4)更新所需的采样次数如果i>k,转到第8步;否则i=i+1,转到第4步;8.ransac结束后,用来标定的图像的子集就确定了。然后用张正友的方法来标定相机的参数。参见图1,实施例的具体流程实现说明如下:1.首先准备平面标定板,实施例采用12*13个棋盘格,每个棋盘格的尺寸为30mm,那么每个棋盘格的世界坐标(x,y)即相应已知。2.将棋盘格放在不同的角度,用相机采集每个角度的图像。设得到j幅图像,实施例中,采集得到20幅图像。3.对每幅图像进行角点提取,得出棋盘格角点的像素坐标(u,v),根据每幅图像的棋盘格对应的像素坐标(u,v)和世界坐标(x,y),根据式(2)计算每幅图像对应的单应性矩阵,记为hj(j=1,2,3,…,20),其中j为图像序号,取值为1,2,3,…,j。4.初始化随机抽取一致性的参数,包括取理论迭代次数k为∞,初始的实际迭代次数为i=0,最好的内点集为bestsub=[],最好的内点数为bestnin=0。[]表示空集。5.进行随机抽取一致性的迭代,从所有的图像集对应的单应性矩阵hj(j=1,2,3,…,20)中随机选取s=2个单应性矩阵hj(s为最小采样点数,实施例中记此处j=r1,r2,1<=r1<=20,1<=r2<=20,r1!=r2),根据式(5)计算iac,并根据式(6)判断每幅图像对应的单应性矩阵hj与iac之间的距离dj(j=1,2,3,…,20),根据预定的相应阈值thr判断是否dj<thr。如果是,认为hj为内点,否则认为hj为外点。内点集为sub=(hj|hj是内点),计算内点数的总和nin。并且i=i+1。本流程中所述iac代表k-tk-1,k是内参数。具体判断流程可设计为,初始化j=1,sub=[],然后判断是否dj<thr,若否则hj为外点,j=j+1,若是则nin=nin+1,sub=(sub+hj),hj为内点,j=j+1,然后判断是否j>20,若否则返回至针对当前j判断是否dj<thr,若是则进入步骤6。6.判断是否nin>bestnin,如果是,进入步骤7进行局部优化,否则返回步骤5,重新进行随机抽取等处理。7.局部优化采用lo-ransac方式实现,包括以下子步骤,参见图2:7.1,初始化局部优化的次数d=10,初始化当前迭代中的局部最多内点数lobestnin=0,局部最好内点集lobestsub=[];7.2,令n=4,nin=0,sub=[],n为阈值的倍数;从当前的内点集sub中随机选取大于最小采样点数s的内点集slo个内点来估计iac,本实施例选择slo=min(4,nin)幅图像对应的hj,根据式(5)计算iac,并根据式(6)判断每幅图像对应的单应性矩阵hj与iac之间的距离dj,j=1,2,3,…,20。7.3,根据给定的阈值thr的n倍来进行iac内点数的判断,包括判断是否dj<n*thr,*表示乘以,如果是,认为hj为内点,否则认为hj为外点。其中n的初始值为预设的倍数,随后迭代中逐步减小。对每幅图像判断完成后,得到当前的内点集sub,实现计算内点数的总和nin,令n=n-1,进入下一步骤7.4。流程可设计为,初始化j=1,判断是否dj<n*thr,如否则hj为外点,j=j+1,若是则nin=nin+1,hj为内点,然后令j=j+1,sub=sub+hj;然后判断是否j>20,是则n=n-1,进入下一步骤7.4,否则返回针对当前j继续判断是否dj<n*thr。7.4,判断是否n>1,如果否,进入步骤7.5,如果是,由当前的内点集根据式(5)来计算iac,返回步骤7.3;7.5,判断是否nin>lobestnin,若是,lobestnin=nin,lobestsub=sub,进入步骤7.6,若否进入步骤7.6。7.6,d=d-1,判断是否d<1,如果否则返回步骤7.2,如果是则返回最终结果lobestsub,lobestnin。8.根据步骤7返回的结果,令bestnin=lobestnin,betsub=lobestsub,根据bestnin得出内点比εbestnin/20,根据式(4)更新理论迭代次数k,判断是否i>k,如果否,则返回到步骤5,是则进入步骤9。9.将bestsub中的所有内点,用来估计iac,去除外点对应的图像集,完成标定图像优选。根据标定图像优选结果进一步得到标定结果,包括进一步得到线性解,将线性解作为相机模型的初值,考虑一阶径向畸变,用最大似然进行优化得到最终的相机模型标定参数。流程结束,返回标定结果,及反投影误差。具体实施时,以上技术方案可采用计算机软件技术实现自动运行流程。为验证本发明实施例技术效果,进行了仿真实验:如果随机选取相机参数来进行仿真实验,噪声的影响很大,可能会导致非实数的参数解,因此本发明实验采用从文献[10]里面的实际实验数据得到的标定结果作为相机的参数,选取的内参数如下:fx=657.384416175761;fy=658.058046335663;u0=303.625818604402;v0=244.843359357986.外参数是旋转矩阵r和平移向量t,在这里旋转矩阵r是用罗德里格斯矩阵表示,为3维的向量。20副不同的旋转矩阵和平移向量用表1和表2代表。本发明实验把镜头畸变设为0,合成的象棋标定板有12×13=144个角点,棋盘格大小为30mm×30mm。使用这些参数,本发明实验可以产生合成的标定板角点的图像坐标。最后本发明实验合成的图像坐标和世界坐标用来仿真标定算法。表1旋转向量r角点的图像坐标加入了均值为0,方差为以每步0.1的像素值增长的从0到1的像素噪声。计算了iac与单应性矩阵之间的距离。实际中的噪声为0.2像素,所以本发明实验把thr设为2*10-5。接下来,本发明实验以方差为以每步0.2像素,从0到4像素增长的噪声加入图像坐标中。在每个噪声水平,ransac和本发明方法各执行100次。标定结果的平均误差中,包括fx和fy的平均相对误差,u0和v0的绝对误差。通过实验可以看到平均误差中,本发明方法所得结果是小于ransac,特别是u0,v0。这说明本发明的方法可以得到更精确的标定效果。标定结果的标准差中,包括包括fx和fy的相对误差的标准差,u0和v0的误差的标准差。通过实验可以看到标准差中,本发明方法所得结果是小于ransac,特别是u0,v0。这说明本发明的方法可以得到更稳定的标定效果。表2平移向量t为验证本发明实施例技术效果,进行了真实实验:在这部分,本发明使用来自[10]的20幅图像来标定。由于不知道真实的实验数据,本发明使用平均反投影误差(将世界坐标点用标定得到的相机参数反投影到图像的像素坐标,并计算其与提取到的角点之间的误差)来代表标定的精度。ransac和本发明方法所得结果运行了100次。平均反投影误差和误差的方差显示在表3。可以从表3看到,lo-ransac的平均误差和方差都比ransac小,所以本发明方法可以得到一个比ransac更精确和更稳定的标定结果。表3真实实验结果calibrationmethodmeanreprojectionerrorstandarddeviationoftheerrorransac0.1596792525195790.004770649100921本发明方法0.1565984569681031.952678215459548*10-16相机标定是计算机视觉中的基础问题,特别是在视觉测量中。测量的精确性很大程度上依赖于标定的精度,标定的精度是被实验条件和标定方法所限制的。在这里,本发明使用了局部优化的ransac来剔除不可靠的图像。本发明方法所得结果通过定义一个iac和单应性矩阵之间的距离,在ransac达到最好的模型的时候进行局部优化,局部优化可以消除ransac受内点噪声影响的随机性,继而可以得到最优的图像集,得到最优的标定结果。仿真实验和真实实验证明本发明的方法是比传统的方法更精确,更稳定的。以上所述均为本发明的较佳实施例,并不限于本实施例,凡在本实施例的精神和原则之内所做的修改、替换、改进等,均应包含在本专利的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1