一种摄影机自标定方法及装置与流程

文档序号:15183024发布日期:2018-08-17 06:58阅读:150来源:国知局

本申请涉及计算机视觉技术领域,尤其涉及一种摄影机自标定方法及装置。



背景技术:

计算机视觉的基本任务之一是从摄影机获取的图像信息出发计算三维空间中物体的几何信息,并由此重建和识别物体,而空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系是由摄影机成像的几何模型决定的,这些几何模型参数就是摄影机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个过程被称为摄影机标定(或称为定标)。标定过程就是确定摄影机的几何和光学参数,即内部参数,摄影机相对于世界坐标系的方位,即外部参数。总之,摄影机标定是计算机视觉领域从二维图像提取三维空间信息必不可少的步骤,被广泛应用于三维重建、导航、视觉监控等领域。广义上摄影机标定可分为三种:传统标定方法、基于主动视觉的标定方法和自标定方法。传统标定方法需要使用经过精密加工的标定块,通过建立标定块上三维坐标已知的点与其图像点间的对应关系,来计算摄影机的内外参数;该方法的优点在于可以获得较高的精度,但标定过程费时费力,不适用于在线标定和不可能使用标定块的场合。基于主动视觉的标定方法需要控制摄影机做某些特殊运动,如绕光心旋转或纯平移等,利用这些运动的特殊性可以计算出内参数;该方法的优点是算法简单,往往能获得线性解,缺点是不能适用于摄影机运动轨迹未知或无法控制的场合。以上两种标定方法均利用到特殊场景或摄影机运动的信息,对于场景任意、摄影机运动轨迹都未知的最一般的情形,则都无能为力。

为了在场景信息和摄影机运动信息均未知的情况下获取摄影机的内参数,人们提出了自标定方法。有人从射影几何的角度出发证明了每两幅图像间存在着两个形如kruppa方程的二次非线性约束,通过直接求解kruppa方程组可以解出内参数。鉴于直接求解kruppa方程的困难,人们又提出了分层逐步标定的思想,即首先对图像序列做射影重建,在此基础上再仿射标定和欧式标定。自标定方法利用摄影机内参数自身存在的约束进行标定,这些约束与场景和摄影机的运动无关,这也是自标定方法较前两种标定方法更灵活的原因。

基于kruppa方程的自标定方法虽然通过在两两图像之间建立方程,将所有图像统一到一个一致的射景框架的场合,使摄影机的标定更加方便。但是,该方法在列方程过程中需要将支持绝对二次曲线的无穷远平面参数消去,所以当输入更多的图像时,不能保证该无穷远平面的一致性,从而当图像序列较长时,基于kruppa方程的自标定方法不稳定,精确性和鲁棒性较差。



技术实现要素:

本申请提供了一种摄影机自标定方法、装置、设备及存储介质,以解决现有基于kruppa方程的自标定方法不稳定、精确性和鲁棒性较差的问题。

为了解决上述技术问题,本申请实施例公开了如下技术方案:

第一方面,本申请实施例公开了一种摄影机自标定方法,包括:获取相邻两幅图像中的特征点匹配对。根据获取的特征点匹配对,利用本质矩阵前两个奇异值相等的性质估算内参数初值。根据kruppa方程对所述内参数初值进行校正并输出结果。

进一步地,获取相邻两幅图像中的特征点匹配对包括:采用sift算法检测相邻两幅图像,获取两幅图像中的特征点描述子。匹配获取的相邻两幅图像中的特征点描述子,得到特征点描述子匹配对。查找相邻两幅图像中分别与特征点描述子相对应的特征点,得到与特征点描述子匹配对分别对应的相邻两幅图像中的特征点,即为特征点匹配对。

匹配获取的相邻两幅图像中的特征点描述子包括:选取相邻两幅图像中欧式距离最短的特征点描述子对作为特征点描述子匹配对。

进一步地,根据获取的特征点匹配对,利用本质矩阵前两个奇异值相等的性质估算内参数初值包括:根据获取的特征点匹配对,采用ransac算法估算出相邻两幅图像的基本矩阵f。根据假设的图像主点坐标、比例因子和摄影机沿图像u轴方向的焦距、沿图像v轴方向的焦距设定内参数k。根据所述内参数k和基本矩阵f,得到本质矩阵e=ktfk,其中kt是k的转置矩阵。根据本质矩阵前两个奇异值相等的性质构造函数,并采用粒子群算法使函数趋于零,估算出内参数初值。

进一步地,根据kruppa方程对所述内参数初值进行校正并输出结果包括:根据获取的特征点匹配对,采用ransac算法估算出相邻两幅图像的图像极点e'。根据相邻两幅图像间的基本矩阵f和图像极点e'构造kruppa方程。根据kruppa方程构造目标函数。将内参数初值代入目标函数后,利用内点罚函数法结合变尺度法优化目标函数,求得优化后的内参数值作为输出结果并输出。

第二方面,本申请实施例公开了一种摄影机自标定装置,包括:获取单元,配置用于获取相邻两幅图像中的特征点匹配对。估算单元,配置用于根据获取的特征点匹配对,利用本质矩阵前两个奇异值相等的性质估算内参数初值。校正单元,配置用于根据kruppa方程对所述内参数初值进行校正并输出结果。

进一步地,获取单元包括:获取子单元,配置用于通过采用sift算法检测相邻两幅图像,获取两幅图像中的特殊点描述子。匹配子单元,配置用于匹配获取的相邻两幅图像中的特征点描述子,得到特征点描述子匹配对。查找子单元,配置用于查找相邻两幅图像中分别与所述特征点描述子相对应的特征点,得到与特征点描述子匹配对分别对应的相邻两幅图像中的特征点,即为特征点匹配对。

匹配子单元包括:匹配模块,配置用于选取相邻两幅图像中欧式距离最短的特征点描述子对作为特征点描述子匹配对。

进一步地,估算单元包括:估算子单元,配置用于根据获取的特征点匹配对,采用ransac算法估算出相邻两幅图像的基本矩阵f。设定子单元,配置用于根据假设的图像主点坐标、比例因子和摄影机沿图像u轴方向的焦距、沿图像v轴方向的焦距设定内参数k。代入子单元,配置用于根据所述内参数k和基本矩阵f,得到本质矩阵e=ktfk,其中kt是k的转置矩阵。计算子单元,配置用于根据本质矩阵前两个奇异值相等的性质构造函数,并采用粒子群算法使函数趋于零,估算出内参数初值。

进一步地,校正单元包括:估算子单元,配置用于根据获取的特征点匹配对,采用ransac算法估算出相邻两幅图像的图像极点e'。方程构造子单元,配置用于根据相邻两幅图像间的基本矩阵f和图像极点e'构造kruppa方程。函数构造子单元,配置用于根据kruppa方程构造目标函数。优化子单元,配置用于将内参数初值代入目标函数后,利用内点罚函数法结合变尺度法优化目标函数,求得优化后的内参数值作为输出结果并输出。

与现有技术相比,本申请的有益效果为:

本申请利用本质矩阵前两个奇异值相等的特性并通过粒子群算法估算出内参数初值,再将估算的内参数初值代入根据kruppa方程构造的目标函数中,通过采用内点罚函数法结合变尺度法优化目标函数,最终得到优化的内参数。该方法将基于本质矩阵的自标定技术和基于kruppa方程的自标定技术结合起来,使内参数的标定经过初值计算和校正两个步骤,有效地保证了内参数标定的准确性、稳定性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种图像采集示意图;

图2为本申请实施例提供的内参数自标定流程图;

图3为本申请实施例拍摄的电力金具图像。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

实施例1示例性地提供一种标定用于检测电力设备的x射线无损检测系统的内参数的方法。从二维x射线图像中恢复电力设备的三维信息时,由于x射线具有穿透性,传统自标定方法不适用于标定x射线无损检测系统的内参数标定。所以选用自标定方法标定该x射线无损检测系统的内参数。

请参考图2,具体标定方法包括以下步骤:

a)获取相邻两幅图像中的特征点匹配对;

b)根据获取的特征点匹配对,利用本质矩阵前两个奇异值相等的性质估算内参数初值;

c)根据kruppa方程对所述内参数初值进行校正并输出结果。

进一步地,参考图1,步骤a)获取相邻两幅图像中的特征点匹配对,步骤如下:

1)利用sift算法检测相邻两幅视图中的图像特征点,并得到特征点的特征点描述子(128维特征点描述符)。

2)匹配获取的相邻两幅图像中的特征点描述子,得到特征点描述子匹配对。

3)查找相邻两幅图像中分别与特征点描述子相对应的特征点,得到与特征点描述子匹配对分别对应的相邻两幅图像中的特征点,即为特征点匹配对。

进一步地,根据特征点匹配对一对一的关系,采用ransac算法计算两相邻图像间的基本矩阵f,可以得到3个基本矩阵,并根据基本矩阵计算图像极点e'。

采用ransac算法计算两相邻图像间的基本矩阵f和图像极点e'的具体方法为:

①从图像所有的匹配点对中随机地取出8对,用8点法求解基础矩阵f。8点法具体步骤为:

(1)设其中一对匹配点对用齐次坐标形式记为:x=(u,v,1)t和x'=(u',v',1)t,则两点存在以下关系:xtfx'=0,f即为基础矩阵,具体方程为将公式展开后再将f矩阵的各个元素提出来有:(u'uu'vu'v'uv'vv'uv1)(f11f12f13f21f22f23f31f32f33)=0设向量f=(f11f12f13f21f22f23f31f32f33),则给定8组点的集合,我们有如下方程:

对a进行奇异值分解(svd),有a=udvt,其中v的向量形式为:

v=(v1v2v3v4v5v6v7v8v9),而f=v9,如此求出基础矩阵f。但是由于基础矩阵秩为2,按照上面所述方法解出的f矩阵通常不满足这个约束,这里我们通过svd分解来强制加入秩为2约束。设f=udvt,对角矩阵d=diag(r,s,t),满足r≥s≥t,则f=udiag(r,s,0)vt,即为基础矩阵的解。

②利用对极几何约束关系对所有的匹配点进行判断,看它是否属于内点(也就是正确的匹配点对)。具体为:由对极几何关系知第一幅图像上的点x的匹配点x'一定在x所对应的第二幅图像上的极线lx上。但是由于噪声的干扰,往往点x'会偏离这条极线,也就是xtfx'不再等于0。设匹配点xi和xi'所对应极线分别为则点xi'和点xi到两条极线的距离分别为:

再计算这两个偏差之和di=di'+di,如果这个偏差之和小于事先预定的阈值t(t=0.1),则这个匹配点xi和xi'称为内点,否则为外点,即为错误的匹配点。

在判断完所有匹配点对之后,统计在该基础矩阵f下的内点个数。

③再重新随机抽取8对匹配点对,重复步骤①和②,随机抽取样本20次后,比较各个样本中的内点个数,其中内点最多的那个矩阵就是鲁棒的基础矩阵f。

以利用图1所示x射线检测系统拍摄的图3所示图像为例,表1为采用本申请提供的自标定方法得到的图3所示图像的基本矩阵和图像极点。

表1根据x射线检测系统拍摄的图3得出的基本矩阵和图像极点

进一步地,步骤b)根据获取的特征点匹配对,利用本质矩阵前两个奇异值相等的性质估算内参数初值的具体方法为:

1)设x射线无损检测系统内参数fu为x射线无损检测系统沿图像u轴方向的焦距,fv为x射线无损检测系统沿图像v轴方向的焦距,(u0,v0)为图像的主点,s为比例因子。从而可求得本质矩阵为e=ktfk,进一步采用ransac算法求解得到3个本质矩阵。

2)通过粒子群算法来优化目标函数使其接近于零从而估计内参数初值。其中,n表示n对图像对,且n≥3;1σij和2σij表示本质矩阵的前两个奇异值,理论上,本质矩阵前两个奇异值应该相等。wij表示相邻两图像匹配的特征点数目,表示所有相邻图像对中匹配点数目之和,求得内参数初值为

进一步地,步骤c)根据kruppa方程对所述内参数初值进行校正并输出结果的具体方法为:

1)根据相邻图像间的基本矩阵f及图像极点e’构造kruppa方程其中,λ为非零常数,[e']×为极点e’定义的反对称矩阵,为对称矩阵,故令则kruppa方程两边fcft都可表示为向量c=(c1,c2,c3,c4,c5)的线性函数,c1,c2,c3,c4,c5为矩阵c的元素,所以kruppa方程可转化为

2)构造目标函数其中n表示n对图像对,n≥3。目标函数存在以下约束条件根据步骤b)求得的内参数初值计算矩阵c的初值通过内点罚函数法结合变尺度法优化目标函数可估计最优化矩阵c,具体方法为:

(1)定义障碍函数将目标函数转化为无约束规划问题。其中rk为惩罚因子,为递减数列,rk+1=rk/10,取r1=1。

(2)以为初始点,给定误差ε1=10-4,ε2=10-4采用变尺度法求解无约束优化问题。具体步骤为:

1)给定正定矩阵h0=e,其中e为5阶单位矩阵。

2)计算搜索方向表示障碍函数g(ck,rk)在ck处的梯度。

3)令ck+1=ckkpk,通过求解可解得λk

4)如果g(ck+1)≤ε1,则最优解c*(rk)=ck+1。否则继续进行步骤5)。

5)令δck=ck+1-ck。按照校正公式计算hk+1,重新从步骤2)开始计算。最终可求得在惩罚因子为rk时的最优解c*(rk)=ck+1

(3)如果rkq(ck+1)≤ε2,则ck+1就是目标函数的最优解,否则将障碍函数中的rk替换为rk+1,重新从步骤2开始计算,直到满足精度要求。

最终可求得最优解求得组合成后,再通过cholesky分解即可求得内参数为

与本申请提供的摄影机内参数自标定方法相对应,本申请还提供了一种摄影机内参数自标定装置,包括:获取单元,配置用于获取相邻两幅图像中的特征点匹配对。估算单元,配置用于根据获取的特征点匹配对,利用本质矩阵前两个奇异值相等的性质估算内参数初值。校正单元,配置用于根据kruppa方程对所述内参数初值进行校正并输出结果。

进一步地,获取单元包括:获取子单元,配置用于通过采用sift算法检测相邻两幅图像,获取两幅图像中的特殊点描述子。匹配子单元,配置用于匹配获取的相邻两幅图像中的特征点描述子,得到特征点描述子匹配对。查找子单元,配置用于查找相邻两幅图像中分别与所述特征点描述子相对应的特征点,得到与特征点描述子匹配对分别对应的相邻两幅图像中的特征点,即为特征点匹配对。

匹配子单元包括:匹配模块,配置用于选取相邻两幅图像中欧式距离最短的特征点描述子对作为特征点描述子匹配对。

估算单元包括:估算子单元,配置用于根据获取的特征点匹配对,采用ransac算法估算出相邻两幅图像的基本矩阵f。设定子单元,配置用于根据假设的图像主点坐标、比例因子和摄影机沿图像u轴方向的焦距、沿图像v轴方向的焦距设定内参数k。代入子单元,配置用于根据所述内参数k和基本矩阵f,得到本质矩阵e=ktfk,其中kt是k的转置矩阵。计算子单元,配置用于根据本质矩阵前两个奇异值相等的性质构造函数,并采用粒子群算法使函数趋于零,估算出内参数初值。

校正单元包括:估算子单元,配置用于根据获取的特征点匹配对,采用ransac算法估算出相邻两幅图像的图像极点e'。方程构造子单元,配置用于根据相邻两幅图像间的基本矩阵f和图像极点e'构造kruppa方程。函数构造子单元,配置用于根据kruppa方程构造目标函数。优化子单元,配置用于将内参数初值代入目标函数后,利用内点罚函数法结合变尺度法优化目标函数,求得优化后的内参数值作为输出结果并输出。

由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。

需要说明的是,在本说明书中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或暗示这些实体或操作之间存在任何这种实际的关系或顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的电路结构、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种电路结构、物品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个……”限定的要素,并不排除在包括所述要素的电路结构、物品或者设备中还存在另外的相同要素。

本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本申请的其他实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求的内容指出。

以上所述的本申请实施方式并不构成对本申请保护范围的限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1