基于椭圆对偶二次曲线的迭代相机标定方法及装置

文档序号:30838254发布日期:2022-07-22 23:40阅读:125来源:国知局
基于椭圆对偶二次曲线的迭代相机标定方法及装置

1.本发明涉及机器视觉技术领域,尤其是指一种基于椭圆对偶二次曲线的迭代相机标定方法及装置。


背景技术:

2.在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,因此必须建立相机成像的几何模型,这些几何模型参数就是相机参数,在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程被称之为相机标定,因此在机器视觉应用中,相机参数的标定是非常关键的环节,然而在机器视觉中,由于棋盘格角点对噪声和图像质量比较敏感,导致其角点坐标检测精度较低,圆形特征对噪声的抑制性比较强,检测精度高,因此圆模式的平面标定板在高精度的相机标定中被广泛应用。
3.然而圆模式的平面标定板在相机标定时,其主要依赖于一组事先提取的轮廓点,由于其不能够进行多组标定,导致其对光源、反射等非均匀照明非常敏感,被投影椭圆的圆心并不一定是正圆圆心的投影,同时圆环还会受到畸变的影响,继而产生偏心误差,影响相机标定精度。


技术实现要素:

4.为此,本发明所要解决的技术问题在于克服现有技术存在的问题,提出一种基于椭圆对偶二次曲线的迭代相机标定方法及装置,其能够使得重投影误差降低了92.4%,极大地提高了相机的标定精度。
5.为解决上述技术问题,本发明提供一种基于椭圆对偶二次曲线的迭代相机标定方法,包括以下步骤:
6.s1:使用相机对标定板进行多次拍摄,获得标定板图像,对所述标定板图像进行预处理;
7.s2:利用椭圆对偶二次曲线提取标定板图像上的椭圆圆心坐标;
8.s3:根据椭圆圆心坐标对应的二维像素坐标和三维空间坐标对相机进行标定,求解得到相机参数的初始值和第一重投影误差;
9.s4:根据相机参数的初始值校正标定板图像中的透视投影与镜头畸变,将标定板图像转换到正向视图,使被投影椭圆校正为近似的正圆,得到校正后的标定板图像;
10.s5:利用椭圆对偶二次曲线提取校正后的标定板图像上的正圆圆心坐标;
11.s6:根据相机参数的初始值,将正圆圆心坐标重投影回原始的相机坐标系,根据正圆圆心坐标在相机坐标系下的坐标重新对相机进行标定,并求解得到第二重投影误差;
12.s7:根据第一重投影误差和第二重投影误差进行收敛性判断,若第二重投影误差小于第一重投影误差,则重复s4到s7的操作,若第二重投影误差大于等于第一重投影误差,则结束操作。
13.在本发明的一个实施例中,在s2中,对所述标定板图像进行预处理的方法包括:
14.s2.1:定义高斯函数,将标定板图像中包含椭圆的区域利用高斯滤波器计算出图像梯度,该图像梯度定义了通过像素中心的法线方向,其中高斯函数定义为式中,σ为标准方差,u为均值;
15.s2.2:将高斯函数转化为5
×
5的滤波模板,卷积核比例系数设置为1,计算出标定板图像中每个像素的横向和纵向的梯度记为g(x)和g(y),将梯度方向即法线方向定义为
16.s2.3:定义与法线方向垂直的每条切线的权重,获取切线集合,其中权重公式定义为
17.s2.4:利用切线集合获取椭圆对偶二次曲线参数,并根据椭圆对偶二次曲线参数求解得到椭圆圆心坐标标。
18.在本发明的一个实施例中在s2.4中,利用切线集合获取椭圆对偶二次曲线参数,并根据椭圆对偶二次曲线参数求解得到椭圆圆心坐标的方法包括:
19.s2.41:空间圆透视投影到成像平面上是一条二次曲线,设其圆心在原点的方程为ax2+bxy+cy2+dx+ey+f=0(4),式中,a,b,c,d,e,f为二次曲线的系数,切线集合中的切线被称为对偶二次曲线,其参数q
*
定义为式中,a',b',c',d',e',f'为对偶二次曲线的系数:
20.s2.42:给定一组切线集合li,对偶二次曲线q
*
的参数向量设置为ψ={a',b',c',d',e',f'},q
*
通过线性最小二乘估算使近似拟合函数φ(ψ)达到最小值,求得对偶二次曲线的各个参数,其中式中,li为一组切线集合,l
it
为切线集合矩阵的转置,ω为每条切线的权重,ψ为对偶二次曲线q
*
的参数向量;
21.s2.43:将对偶二次曲线系数矩阵求逆得到椭圆曲线系数矩阵,通过式(7)和式(8)获取椭圆圆心坐标和式中,x0,y0分别为椭圆圆心在x与y轴上的坐标,a,b,c,d,e,f为二次曲线的系数。
22.在本发明的一个实施例中,在s3中,求解得到相机参数和第一重投影误差的方法包括:
23.s3.1:在理想无畸变情况下计算相机参数的初始值,同时考虑镜头畸变,利用最小二乘法计算非线性畸变参数;
24.s3.2:根据相机内外参数和非线性畸变参数计算得到第一重投影误差式中,n为标定板图像中椭圆圆心点的个数,mj为第j个椭圆圆心点在标定板图像中的真实坐标,为第j个椭圆圆心点在标定板图像中的重投影坐标,(u0,v0)为平移后的原点坐标,f
x
和fy分别表示图像水平方向和垂直方向的尺度因子,k1,k2,k3,k4为相机的径向畸变系数,p1,p2为相机的切向畸变系数,rms为第一重投影误差。
25.在本发明的一个实施例中,在步骤s3.1中,理想无畸变情况下,相机模型是一个小孔成像模型,设圆环圆心的空间坐标为p(xw,yw,zw),该点投影到二维像素坐标系上一点p(u,v)之间的过程如下:
[0026][0027]
式中,(u0,v0)为原点坐标,f
x
、fy分别为相机在x、y方向的焦距,a为内参矩阵,(r t)为外参矩阵。
[0028]
在本发明的一个实施例中,在步骤s3.1中,非线性的相机模型涉及相机的径向畸变如下:
[0029][0030]
式中,(xu,yu)为畸变后的图像坐标,(x,y)为理想的无畸变的图像坐标,k1、k2、k3、k4、p1和p2均为畸变系数,为径向畸变,为切向畸变。
[0031]
在本发明的一个实施例中,在s4中,将标定板图像转换到正向视图的方法包括:
[0032]
通过反透视变换将标定板图像由有倾斜角度的视平面转换到正向的视平面上,令矩阵h作为式(10)中内外参矩阵的积,矩阵h为该矩阵h为透视变换矩阵将式(12)带入式(10)中得到利用式(14)消去尺度因子zc,得到被透视投影的坐标点与二
位像素坐标点之间的转换关系和对矩阵h求逆得从而得到正向视图下各点坐标(u’,v’),即和
[0033]
在本发明的一个实施例中,在s6中,将正圆圆心坐标重投影回原始的相机坐标系的方法包括:
[0034]
通过以下转换公式将正圆圆心坐标重投影回相机坐标系:
[0035][0036][0037]
式中,(u’,v’)为正向视图下各像素点在二维像素坐标系下的无畸变坐标,h
11’,h
12’,h
13’,h
21’,h
22’,h
23’,h
31’,h
32’,h
33’为反透视投影矩阵的各项参数。
[0038]
此外,本发明还提供一种计算机装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述所述方法的步骤。
[0039]
并且,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述方法的步骤。
[0040]
本发明的上述技术方案相比现有技术具有以下优点:
[0041]
本发明提出的基于椭圆对偶二次曲线的迭代相机标定方法,其通过把传统标定方法得到的参数作为初始化参数,将标定图像重投影到正向视图进行校正,然后获取正向视图上的近似标准圆的标定点坐标,利用正圆的标定点坐标进行重新标定,并通过多次迭代减少偏心误差,获取更高精度的标定点,能够使得重投影误差降低了92.4%,极大地提高了相机的标定精度。
附图说明
[0042]
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明。
[0043]
图1为本发明中相机标定方法的流程图;
[0044]
图2为本发明中图像采集所用的圆环标定板;
[0045]
图3为本发明中基于对偶二次曲线提取圆心后的结果;
[0046]
图4为本发明中经过预处理与反透视变换后的标定板;
[0047]
图5为传统标定方法的重投影误差分布图;
[0048]
图6为本发明所提标定方法的重投影误差分布图;
[0049]
图7为本发明所提标定方法的重投影误差迭代图。
具体实施方式
[0050]
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0051]
请参阅图1至图4所示,本发明实施例提供一种基于椭圆对偶二次曲线的迭代相机标定方法,包括以下步骤:
[0052]
s1:使用相机对标定板进行多次拍摄,获得标定板图像,对所述标定板图像进行预处理;
[0053]
s2:利用椭圆对偶二次曲线提取标定板图像上的椭圆圆心坐标;
[0054]
s3:根据椭圆圆心坐标对应的二维像素坐标和三维空间坐标对相机进行标定,求解得到相机参数的初始值和第一重投影误差;
[0055]
s4:根据相机参数的初始值校正标定板图像中的透视投影与镜头畸变,将标定板图像转换到正向视图,使被投影椭圆校正为近似的正圆,得到校正后的标定板图像;
[0056]
s5:利用椭圆对偶二次曲线提取校正后的标定板图像上的正圆圆心坐标;
[0057]
s6:根据相机参数的初始值,将正圆圆心坐标重投影回原始的相机坐标系,根据正圆圆心坐标在相机坐标系下的坐标重新对相机进行标定,并求解得到第二重投影误差;
[0058]
s7:根据第一重投影误差和第二重投影误差进行收敛性判断,若第二重投影误差小于第一重投影误差,则重复s4到s7的操作,若第二重投影误差大于等于第一重投影误差,则结束操作。
[0059]
作为本技术的具体实施例,步骤s2对所述标定板图像进行预处理的具体操作包括以下步骤:
[0060]
s2.1:定义高斯函数,将标定板图像中包含椭圆的区域利用高斯滤波器计算出图像梯度,该图像梯度定义了通过像素中心的法线方向,其中高斯函数定义为:
[0061][0062]
式中,σ为标准方差,u为均值,将高斯函数均值设置为0;
[0063]
s2.2:将高斯函数转化为5
×
5的滤波模板,卷积核比例系数设置为1,计算出标定板图像中每个像素的横向和纵向的梯度记为g(x)和g(y),则梯度方向即法线的方向可定义为;
[0064][0065]
s2.3:定义与法线方向垂直的每条切线的权重,将重点放在梯度的活动区域,在梯度大小较强的地方给予更高的关注,由此获取切线集合,其中权重公式定义为:
[0066][0067]
s2.4:利用切线集合获取椭圆对偶二次曲线参数,并根据椭圆对偶二次曲线参数求解得到椭圆圆心坐标。
[0068]
在上述步骤s2.4中,空间圆透视投影到成像平面上是一条二次曲线,假设其圆心在原点的方程为:
[0069]
ax2+bxy+cy2+dx+ey+f=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0070]
式中,a,b,c,d,e,f为二次曲线的系数。使用一系列与二次曲线相切的直线来表示平面与二次曲线的关系,这些切线被称为对偶二次曲线,其参数q
*
定义为:
[0071][0072]
给定一组切线集合li,对偶二次曲线q
*
的参数向量设置为ψ={a',b',c',d',e',f'},q
*
可通过线性最小二乘估算,使近似拟合函数φ(ψ)得达到最小值,即可求得对偶二次曲线的各个参数;
[0073][0074]
式中,li为切线集合,l
it
为切线集合矩阵的转置,ω为每条切线的权重,ψ为对偶二次曲线q
*
的参数向量;
[0075]
将对偶二次曲线系数矩阵求逆得到椭圆曲线系数矩阵,通过下式获取椭圆圆心坐标:
[0076][0077][0078]
式中,x0,y0分别为椭圆圆心在x与y轴上的坐标,a,b,c,d,e,f为二次曲线的系数。
[0079]
作为本技术的具体实施例,在步骤s2.1之前,首先将标定板图像转换为灰度图像;然后利用最大类间差法对灰度图像进行二值化处理;最后利用膨胀腐蚀剔除掉灰度图像中的无关的信息,只保留最本质的椭圆信息。
[0080]
作为本技术的具体实施例,步骤s3的具体操作包括以下步骤:
[0081]
s3.1:在理想无畸变情况下计算相机参数的初始值,同时考虑镜头畸变,利用最小二乘法计算非线性畸变参数;
[0082]
s3.2:根据相机内外参数和非线性畸变参数计算得到第一重投影误差如下:
[0083][0084]
式中,n为标定板图像中椭圆圆心点的个数,mj为第j个椭圆圆心点在标定板图像中的真实坐标,为第j个椭圆圆心点在标定板图像中的重投影坐标,(u0,v0)为平移后的原点坐标,f
x
和fy分别表示图像水平方向和垂直方向的尺度因子,k1,k2,k3,k4为相机的径向畸变系数,p1,p2为相机的切向畸变系数,rms为第一重投影误差,其是评价相机标定精度的指标;
[0085]
s3.3:将s3.2得到的重投影误差作为目标函数,使用极大似然估计方法对相机参数的初始值进行优化。
[0086]
作为本技术的具体实施例,在步骤s3.1中,理想无畸变情况下,相机模型是一个小
孔成像模型,设圆环圆心的空间坐标为p(xw,yw,zw),该点投影到到二维像素坐标系上一点p(u,v)之间的过程如下:
[0087][0088]
式中,(u0,v0)为原点坐标;f
x
、fy分别为相机在x、y方向的焦距,其单位为pixel;a为内参矩阵;(r t)为外参矩阵。
[0089]
作为本技术的具体实施例,在步骤s3.1中,非线性的相机模型涉及相机的径向畸变如下:
[0090][0091]
式中,(xu,yu)为畸变后的图像坐标,(x,y)为理想的无畸变的图像坐标,k1,k2,k3,k4,p1和p2均为畸变系数,为径向畸变,为切向畸变。
[0092]
作为本技术的具体实施例,在步骤s4中,将原始的标定板图像转换到正向视图的本质是通过反透视变换将图像由一个有倾斜角度的视平面转换到一个正向的视平面上。为了简化计算,将世界坐标系固定于标靶平面上,则标靶平面上任一点的物理坐标zw=0,将三维世界坐标和每幅图像的二维像素坐标进行归一化处理,具体如下:
[0093]
令矩阵h作为式(10)中内外参矩阵的积:
[0094][0095]
矩阵h为单应性矩阵即透视变换矩阵:
[0096][0097]
将式(12)带入式(10)中可得:
[0098][0099]
利用式(14)消去尺度因子zc,可得:
[0100]
[0101][0102]
至此已得到被透视投影的坐标点与二位像素坐标点之间的转换关系,对矩阵h求逆可得:
[0103][0104]
可以得到正向视图下各点坐标(u’,v’);
[0105][0106][0107]
作为本技术的具体实施例,在步骤s6中,由于已知相机的透视投影矩阵即式(13),(u’,v’)为正向视图下各点坐标,(x’,y’)为(u’,v’)在原始相机坐标系下的各点坐标,通过以下转换公式可将正圆圆心坐标重投影回相机坐标系。
[0108][0109][0110]
作为本技术的具体实施例,在步骤s7中,将迭代次数是否超过10次或者式(9)中的重投影误差是否逐代减小作为收敛性判断依据。
[0111]
本发明提出的基于椭圆对偶二次曲线的迭代相机标定方法,其通过把传统标定方法得到的参数作为初始化参数,将标定图像重投影到正向视图进行校正,然后获取正向视图上的近似标准圆的标定点坐标,利用正圆的标定点坐标进行重新标定,并通过多次迭代减少偏心误差,获取更高精度的标定点,能够使得重投影误差降低了92.4%,极大地提高了相机的标定精度。
[0112]
为了验证本发明的性能,利用本发明中的方法和传统方法对相机进行标定作为对比。具体的,对拍摄的13幅图像,通过本发明方法和传统方法分别对相机进行标定,得到的结果如下表1所示。
[0113]
表1相机标定结果对比
[0114][0115]
在相机标定研究中,通常采用重投影误差来判断相机标定精度。重投影误差是指利用标定得到相机内外参数和畸变参数面对空间的三维点重新进行投影,得到空间三维点在图像上新的投影点坐标与原成像点坐标之间的偏差。一般,重投影误差越小,相机标定的精度越高。本发明方法和传统方法对于所有图像的投影误差如下表2所示。由表2可知,本发明方法的总体平均误差为0.0671,比传统方法降低了92.4%。传统方法对于每幅图像中所有特征点的重投影误差分布如附图5所示,误差点扩散严重。本发明方法对于每幅图像中所有特征点的重投影误差分布如附图6所示,误差点基本集中在0.2以内。综合表2,附图5与附图6,说明了本文方法极大地提高了相机标定精度,同时也验证了本发明方法的可行性与有效性。值得一提的是,本发明方法收敛速度很快,经过3次左右迭代就能达到收敛目标,如附图7所示。
[0116]
表2相机标定的总体平均重投影误差对比单位:像素
[0117][0118]
相应于上面的方法实施例,本发明实施例还提供了一种计算机装置,包括:
[0119]
存储器,其用于存储计算机程序;
[0120]
处理器,其用于执行计算机程序时实现上述基于椭圆对偶二次曲线的迭代相机标定方法的步骤。
[0121]
在本发明实施例中,处理器可以为中央处理器(central processing unit,cpu)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
[0122]
处理器可以调用存储器中存储的程序,具体的,处理器可以执行快速计算三维偏振维度的方法的实施例中的操作。
[0123]
存储器中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令。
[0124]
此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
[0125]
相应于上面的方法实施例,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述基于椭圆对偶二次曲线的迭代相机标定方法的步骤。
[0126]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0127]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0128]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0129]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0130]
显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1