法律状态公告日
法律状态信息
法律状态
2015-05-20
未缴年费专利权终止 IPC(主分类):G06T7/00 授权公告日:20130109 终止日期:20140401 申请日:20110401
专利权的终止
2013-01-09
授权
授权
2011-11-23
实质审查的生效 IPC(主分类):G06T7/00 申请日:20110401
实质审查的生效
2011-10-05
公开
公开
技术领域
本发明涉及视觉测量中的一种摄像机标定方法。
背景技术
摄像机标定是视觉测量系统研制中的关键技术之一,摄像机的标定精度直接决定了系统的性能。当前,高精度摄像机标定几乎都依赖于高精度靶标,而且为了获得较高的标定精度,要求靶标能够充满整个视场。但当视场较大时这些条件很难满足,因为此时所需高精度靶标的尺寸非常大,其不但研制成本高而且难以维护和运输。另外,摄像机尤其是非量测摄像机的参数在测量过程中会随着使用环境变化等原因而改变,所以当测量精度需求较高时,摄像机的标定通常是待其安装到现场后在测量的同时进行,即常说的现场标定。此时标定参数计算耗时大的问题是制约许多标定算法应用的一个重要因素,尤其是在那些需要进行实时测量的场合。
发明内容
本发明为了解决大视场标定过程中使用大型高精度靶标成本高,难以维护且运输困难的问题和摄像机参数在测量过程中发生变化对测量结果的影响及现场标定参数计算耗时过大的问题,而提出了摄像机大视场高精度快速现场全局标定方法。
本发明摄像机大视场高精度快速现场全局标定方法的步骤如下:
A、高精度全局预先标定:
步骤一:基于控制线的摄像机畸变参数的标定:
建立二维图像平面上被弯曲直线的直线度误差函数χ2;假设被弯曲的直线li上有n个点,其上第j个点的图像坐标记为[xij,yij]T,那么被弯曲的直线li的直线度误差函数χ2表示为:
x2(li)=a sin2φ-2|b||sinφ|cosφ+c cos2φ
式中
再用直线度误差函数χ2建立关于畸变参数优化的目标函数Fd,目标函数Fd为:
其中,luj表示利用摄像机畸变模型校正后的曲线或直线;
L表示空间直线的根数;
i表示直线的序号,第i条直线表示为li;
Cd表示摄像机畸变参数;
l表示直线集合,即{li:i=1...L};
建立了目标函数Fd后,使用非线性优化算法求得摄像机畸变参数;
步骤二:基于控制点的摄像机非畸变参数的全局标定:
步骤1:使用激光跟踪仪对实际平面上的点的位置进行测量;
步骤2:利用实际平面上测量得到的点的位置数据建立表示控制点位置的世界坐标系,并建立实际平面模型,所述实际平面模型描述了实际平面上每个点在世界坐标系中的三维坐标间的函数;
步骤3:在世界坐标系中按照标定需求构造一个点,并控制激光跟踪仪的激光光束指向该构造点;光束在实际平面上将形成一个光点;
步骤4:根据构造点和激光光束发射点在世界坐标系中的坐标计算激光光束在世界坐标系中的方向和位置;
步骤5:利用实际平面模型,求取所述激光光束与实际平面上的光点在世界坐标系中的坐标;
步骤6:使用摄像机采集所述光点的图像;如果光点数量满足标定精度的需求,则所述的光点即为控制点,控制点生成结束;否则返回步骤3,重新生成构造点;
步骤7:求取控制点在图像中的位置数据后,把相应的位置数据代入下式所示的优化函数,就实现大视场摄像机的高精度预先标定;
其中,u为特征点的图像坐标;
Xw为特征点的三维世界坐标;
Cp为摄像机参数;
C表示世界坐标系到图像坐标系的映射关系;
B、快速现场校正:
步骤三:在测量现场预先设置若干个特征点Pti(i=1,2,...,n),使用预先标定的参数求取特征点在世界坐标系下的坐标Xtwi,特征点在相应的摄像机坐标系下的坐标Xtci,特征点在图像坐标为Xti,其中Xtci≡[xtci,ytci,ztci]T,Xti≡[xti,yti]T;
步骤四:实时检测步骤三中所述的若干个特征点Pti(i=1,2,...,n)在测量过程中特征点在图像坐标的变化ΔXti≡(Δxti,Δyti)T,i=1,2...n;
步骤五:测量过程中摄像机非畸变参数的变化量Δc的最小二乘解,如下式所示;
Δc=(ETE)-1ETΔxtc
其中:矩阵;T为转置符号,为数学运算符,
f0表示预先标定出来的摄像机焦距;
R′γi表示矩阵R′γ的第i行元素组成的行向量,下脚标x,y,z表示x,y,z的分量,其它变量符号的定义类推,
测量过程中特征点摄像机坐标系下的坐标变化量;
Δc≡[Δf Δγx Δγy Δγz Δtx Δty Δtz]T
步骤六:根据求得的Δc进行校正,完成标定。
本发明提出的一种“高精度全局预先标定+快速现场校正”模式的大视场摄像机高精度快速现场标定方法,首先在测量开始前通过预先标定保证了标定的精确性和全局性;接着在测量过程中对校正点进行摄像机参数快速现场校正减小了标定参数变化对测量精度的影响,并降低了测量过程中标定参数求取的计算耗时,满足了系统进行实时测量的需求。实际应用表明,本发明可以满足视场达8 000mm×8 000mm的摄像机的高精度现场标定需求,相对误差小于1/10 000。
附图说明
图1是本发明方法预先标定中不同噪声等级下畸变参数的标定精度仿真实验曲线图;图2是不同噪声等级下常规摄像机标定算法及本发明方法标定误差仿真实验比较的曲线图;图3是使用常规校正算法及本发明方法标定误差仿真实验比较的曲线图。
具体实施方式
具体实施方式一:本实施方式的方法由高精度全局预先标定和快速参数现场校正两部分完成;
A、高精度全局预先标定:
步骤一:基于控制线的摄像机畸变参数的标定:
建立二维图像平面上被弯曲直线的直线度误差函数χ2;假设被弯曲的直线li上有n个点,其上第j个点的图像坐标记为[xij,yij]T,那么被弯曲的直线li的直线度误差函数χ2表示为:
x2(li)=a sin2φ-2|b||sinφ|cosφ+c cos2φ
式中
再用直线度误差函数χ2建立关于畸变参数优化的目标函数Fd,目标函数Fd为:
其中,luj表示利用摄像机畸变模型校正后的曲线或直线;
L表示空间直线的根数;
i表示直线的序号,第i条直线表示为li;
Cd表示摄像机畸变参数;
l表示直线集合,即{li:i=1...L};
优化目的就是使目标函数Fd的值(即所有直线的直线度误差函数χ2值)之和最小,建立了目标函数Fd后,使用非线性优化算法求得摄像机畸变参数;非线性算法是一类通用的优化算法,可采用最小二乘法、爬山法或LM算法;
步骤二:基于控制点的摄像机非畸变参数的全局标定:
步骤1:使用激光跟踪仪对实际平面上的点的位置进行测量;
步骤2:利用实际平面上测量得到的点的位置数据建立表示控制点位置的世界坐标系,并建立实际平面模型,所述实际平面模型描述了实际平面上每个点在世界坐标系中的三维坐标间的函数;
步骤3:在世界坐标系中按照标定需求构造一个点,并控制激光跟踪仪的激光光束指向该构造点;光束在实际平面上将形成一个光点;
步骤4:根据构造点和激光光束发射点在世界坐标系中的坐标计算激光光束在世界坐标系中的方向和位置;激光光束发射点与激光跟踪仪设备坐标系原点相重合;
步骤5:利用实际平面模型,求取所述激光光束与实际平面上的光点在世界坐标系中的坐标;
步骤6:使用摄像机采集所述光点的图像;如果光点数量满足标定精度的需求,则所述的光点即为控制点,控制点生成结束;否则返回步骤3,重新生成构造点;满足标定精度的需求其体视使用环境和要求的达到的标定精度而定,要求高的地方要求坐标精度高,数量多些,反之少些,光点数量应至少大于等于3个。
步骤7:求取控制点在图像中的位置数据后,把相应的位置数据代入下式所示的优化函数,就实现大视场摄像机的高精度预先标定;
其中,u为特征点的图像坐标;
Xw为特征点的三维世界坐标;
Cp为摄像机参数;
C表示世界坐标系到图像坐标系的映射关系;
B、快速现场校正:
步骤三:在测量现场预先设置若干个特征点Pti(i=1,2,...,n),使用预先标定的参数求取特征点在世界坐标系下的坐标Xtwi,特征点在相应的摄像机坐标系下的坐标Xtci,特征点在图像坐标为Xti,其中Xtci≡[xtci,ytci,ztci]T,Xti≡[xti,yti]T;
步骤四:实时检测步骤三中所述的若干个特征点Pti(i=1,2,...,n)在测量过程中特征点在图像坐标的变化ΔXti≡(Δxti,Δyti)T,i=1,2...n;
步骤五:测量过程中摄像机非畸变参数的变化量Δc的最小二乘解,如下式所示;
Δc=(ETE)-1ETΔxtc
其中:矩阵;T为转置符号,为数学运算符,
f0表示预先标定出来的摄像机焦距;
R′γi表示矩阵R′γ的第i行元素组成的行向量,下脚标x,y,z表示x,y,z的分量,其它变量符号的定义类推,
测量过程中特征点摄像机坐标系下的坐标变化量;
Δc≡[Δf Δγx Δγy Δγz Δtx Δty Δtz]T
步骤六:根据求得的Δc进行校正,完成标定。
对于本发明所提的基于透视投影误差模型的摄像机参数的现场校正算法,现场校正点的3D世界坐标系坐标可以由摄像机预先标定参数计算获得,无需测量;主要计算量仅为一个7×7维矩阵的求逆,计算耗时少。
图1~图3及表1~表2给出了仿真验证结果。表1是常规摄像机标定方法及本发明方法的标定精度及迭代次数仿真实验比较;
表1
图1为不同噪声条件下畸变参数的标定精度曲线,图1中可知当直线上控制点的图像坐标的检测噪声小于2pixel时,摄像机畸变参数均可以求取,这表明算法具有较好的鲁棒性;表1为各种摄像机标定方法标定精度和迭代次数的比较;图2为不同噪声等级下个摄像机标定算法标定误差曲线;表2是几种常规标定算法及本发明方法标定参数计算结果仿真实验比较;
表2
由表1~表2及图2可知:1)相对于直接线性法和“两步法”,本发明所提基于控制线和控制点的摄像机标定方法具有更高的标定精度;2)相对于非线性法,基于控制线和控制点的摄像机标定方法计算耗时少;当控制点分布无法满足满视场标定需求时,后者具有更高的精度。图3给出了不同校正算法下的标定误差,图3可知:1)随着校正点数量的增加,两种方法的校正误差均变小。这与期望的一致,因为测试点位置的求取可以理解为多项式内插,内插步长(控制点间距)越小,精度越高。2)在校正点数量较少时,本发明所提透视投影误差模型的现场校正方法具有更高的精度。
表3~表4给出了实际数据实验结果;表3是摄像机参数及其变化量;表4是使用常规方法和使用本发明方法进行实际数据比较实验获得的实验结果
表3
表4
(mm)
本发明所提方法已成功应用于某视觉测量系统的摄像机标定中,系统所使用的相机为CMOS摄像机,其分辨率为1280×1024,黑白图像,像元深度为8bit,摄像机镜头焦距约为30mm。实际平面为一测量现场厂房的墙面,其平面度误差为3mm,墙面长和高均约为8 000mm。摄像机安装于一混凝土基座上,与墙面间的距离约为13 500mm。光点在图像上占5~7个像素。所使用激光跟踪仪的静态测量精度为5/1000 000(2σ)。
从表3~表4实验数据可以看出,使用本发明提出的“预先标定+现场校正”的摄像机标定误差小于0.8mm,满足相对误差小于1/10 000的设计指标。实验数据也表明,如果不进行摄像机参数的校正,标定误差将明显增大,甚至超过20mm,这也说明了摄像机现场标定的重要性。
机译: 用于车载摄像机标定的标定指示器,使用标定指示器标定的车载摄像机的方法以及使用标定指示器标定车载摄像机的标定装置的程序
机译: 车载摄像机标定装置,车载摄像机标定方法和标定装置车载摄像机的程序
机译: 可变椭圆模式用于车载摄像机标定的标定指标及使用标定指标的车载摄像机标定方法