本发明涉及传感器标定技术与视觉测量技术,具体涉及一种基于圆球透镜的立体视觉传感器标定方法。
背景技术:
基于折反射元件的立体视觉传感器具有结构紧凑、易于搭建和成本低廉等优势,且不存在同步误差,近年来引起学者的广泛的关注。基于圆球透镜的立体视觉传感器由一台摄像机结合两只至多只圆球透镜组成,具有较大视场,适合在狭窄空间内完成大视场内的测量。
基于圆球透镜的立体视觉传感器的标定包括摄像机的内部参数标定以及结构参数标定两部分。关于摄像机内部参数标定的文献很多,因此重点讨论结构参数标定方法。关于该模型结构参数标定方法主要包括以下两种。其一是kah等提出的虚拟相机法,通过将系统视为多台“虚拟相机”,对“虚拟相机”之间的结构参数进行标定,从而实现对该模型的标定;另一种是“解析法”,即通过建立折射光路的解析模型,得到结构参数的解析解,从而完成结构参数的标定。agrawal等人在这一领域做出了突出贡献,通过在圆球透镜子午面建立坐标,利用入射光线、物点与光轴共面以及不同透镜是对同一靶标进行折射作为约束,完成关于光轴方向、长度以及世界坐标系到摄像机坐标系旋转矩阵与平移矢量的标定。
但是,现有主要的基于投射阵列立体视觉传感器的标定方法或对透镜与相机之间摆放的相对位置要求较为严格,例如要求相机与透镜平行,在实际操作中难以实现;或需要人工干预,例如手动标记圆球透镜轮廓,标定过程复杂;抑或是精度不足,特别是在圆球透镜边缘处由于像差较大,景深不足导致成像质量差引起特征点提取不准确,导致标定精度较差,使用标定结果完成测量。
技术实现要素:
有鉴于此,本发明的主要目的在于提供一种基于圆球透镜的立体视觉传感器标定方法,能够实现该立体视觉传感器的高精度标定,并在此基础上完成精准测量。
为达到上述目的,本发明采用的技术方案是:
一种基于圆球透镜的立体视觉传感器标定方法,该方法包括:
a、对基于圆球的立体视觉传感器中的摄像机进行标定,将棋盘格靶标在合适的位置摆放多次,至少一次,使两透镜均能对其成像,基于圆球透镜的立体视觉传感器拍摄通过多枚透镜折射的靶标成像;提取图像中每个透镜折射的棋盘格角点;
b、利用解析法进行结构参数初值的标定;
c、通过非线性优化得到结构参数的最优解。
步骤a中拍摄通过多枚透镜折射的靶标成像的实现步骤如下:
(11)圆球透镜阵列由两只圆球透镜组成;
(12)调整圆球透镜之间的距离以及圆球透镜阵列与摄像机之间的距离,使两只透镜全部成像在视场范围内,且调焦清晰。
步骤a中提取图像中每个透镜折射的棋盘格角点的实现步骤如下:
(21)通过多尺度角点提取算法,得到角点初值;
(22)通过图像畸变矫正方法,得到无相机镜头畸变的图像特征点坐标。
步骤b中利用解析法进行结构参数的标定的实现步骤如下:
(31)标定的结构参数包括:每个圆球透镜球心与摄像机透视投影中心构成轴的方向ai(i=1,2),每个圆球透镜球心与摄像机透视投影中心的距离di(i=1,2),世界坐标系到摄像机坐标系的旋转矩阵r和平移矢量t;
(32)根据共子午面约束和透镜间约束以及解析方程分别求解ai,[rt]以及di。
步骤c中通过非线性优化获得结构参数的最优解,采用trustregionreflective方法,以重投影误差最小和重建点距误差最小作为目标函数进行非线性优化,求解ai,[rt],di的最优解。
本发明与现有技术相比的优点在于:
(1)本发明通过不确定度方法获得精确的靶标特征点坐标,以重投影误差与重建点距误差共同作为目标函数,使用多个靶标姿态进行非线性优化,得到基于圆球透镜的立体视觉传感器标定方法,精度高,重投影误差达到0.1像素级。本发明使该立体视觉传感器模型的标定精度达到可以用于重建和测量的程度,使其更具实用价值。
(2)本发明提出了基于圆球透镜的立体视觉传感器重建模型,将该模型应用在非线性优化中,使标定结果在实际测量中准确。此方法适合于基于圆球透镜的立体视觉传感器高精度标定与测量。
附图说明
图1为本发明基于圆球透镜的立体视觉传感器标定方法流程图;
图2为基于圆球透镜的立体视觉传感标定模型;
图3为折射过程中子午面上存在的共面约束;
图4为基于圆球透镜的立体视觉传感器测量模型。
具体实施方式
本发明的基本思想是:采用不确定度方法获取图像特征点坐标;利用解析法获得结构参数的初值;以重投影误差和重建误差作为目标函数,使用多张图片实现基于圆球透镜的立体视觉传感器的标定;根据对同一点各透镜出射光线交汇于一点,实现该立体视觉传感器的重建与测量。
下面结合一个摄像机和两个圆球透镜组成的基于圆球阵列的立体视觉传感器为例,对本发明作进一步详细说明。
如图1所示,本发明基于圆球透镜的立体视觉传感器标定方法,主要包括以下步骤:
步骤11:基于圆球透镜的立体视觉传感器的测量过程。
这里,对该立体视觉传感器的测量过程做说明。空间中一个物点p经两只圆球透镜折射后在图像平面上成p1,p2两个像点。提取图像特征点之后,利用畸变公式去除畸变,可以获得无畸变图像特征点坐标p1=[u1,v1]t,p2=[u2,v2]t,根据摄像机透视关系:
可以分别计算其在摄像机坐标系下的坐标pc,1=[xc,1,yc,1,zc,1]t,pc,2=[xc,2,yc,2,zc,2]t,根据agrawal等人的在“singleimagecalibrationofmulti-axialimagingsystem”一文中提到的折射光路解析模型,可以分别计算每个透镜上出射点以及出射光线的方向。
步骤12:搭建基于圆球透镜的立体视觉传感器系统。
这里,将两只圆球透镜与摄像机组成基于圆球透镜的立体视觉传感器,使得摄像机能够完整地拍摄到两只圆球透镜,且能够调焦清晰。将摄像机镜头调焦至圆球透镜上,通过圆球透镜可以观察物体清晰的成像。
步骤13:对基于圆球透镜的立体视觉传感器中的摄像机进行标定。
这里,对视觉传感器的摄像机进行标定即求解摄像机的内部参数,具体求解方法在张正友的文章“aflexiblenewtechniqueforcameracalibration[r].microsoftcorporation,nsr-tr-98-71,1998”中有详细描述。
步骤14:将一个棋盘格靶标在立体视觉传感器前摆放至少1次,使两个透镜均能对其成像。基于圆球透镜的立体视觉传感器拍摄两个透镜中的靶标图像。
这里,图2为基于圆球透镜的立体视觉传感器示意图。其中pij表示靶标第i个姿态的第j个点,pm,1ij表示第1个圆球透镜对靶标特征点所成像,pm,2ij表示第2个圆球透镜对靶标特征点所成像,p1ij和p2ij分别表示图像平面上经第1个和第2个圆球透镜折射所成像点。在靶标面上建立世界坐标系o-xy,世界坐标系与摄像机坐标系oc-xcyczc之间的旋转矩阵和平移矢量分别为r和t。从摄像机透视投影中心出发,到第1个圆球透镜球心的轴方向单位矢量为a1,到第2个圆球透镜球心的轴方向单位矢量为a2。第1个圆球透镜与第2个圆球透镜到摄像机透视投影中心的距离分别称为两个轴的轴距d1和d2。
步骤15:提取两个透镜中棋盘格角点坐标。
这里,为了克服透镜边缘点成像质量较低的问题,采用多尺度提点方法,使用m个不同尺度参数的harris角点提取模版,对一个特征点p提取得到m个坐标,得到坐标集q={p1,p2,…pm},取其平均值
步骤16:使用修正后的坐标利用解析法标定得到参数的初值。
这里,基本方法是根据agrawal在文章“singleimagecalibrationofmulti-axialimagingsystem”中提出的方法,对于使用多个姿态进行标定时,做出一定的改进,具体包括以下步骤:
步骤161:若使用一个姿态进行标定,如图3所示,对于每一个透镜,在其子午面上存在共面约束:(rp(j)+t)t(ai×v(i,j))=0,其中,对于任一摆放位置来说,设p(j)是靶标第j个特征点,r和t分别为从固连在靶标上的世界坐标系到摄像机坐标系的旋转矩阵和平移矢量,ai为第i个圆球透镜,v(i,j)是指第j个特征点经第i个透镜折射后的光线。为方便计算,在子午面以摄像机透视投影中心cop为原点,光轴为一个坐标轴建立坐标系,根据光路可逆,将cop视为所有光线的发出点,则v(i,j)为对第j个折射点经第i个透镜折射的入射光线。不同特征点对应的子午面相交于光轴,使用至少8个特征点即可标定得到轴的方向;使用多个姿态进行标定时,轴方向采用任一姿态标定得到初值。
步骤162:使用来自不同透镜的光线结合共面约束可以只使用一张图片完成外部参数的标定;使用多个姿态进行标定时,分别标定每一个姿态相对摄像机坐标系的外部参数。
步骤163:得到上述参数后,将特征点从世界坐标系转换到摄像机坐标系下,然后投影到子午面上,可以得到一个关于轴距d的12阶方程,求解方程去除虚根以及利用几何约束可以得到最终解。使用多个姿态时,每个姿态分别计算轴距,取其中位数作为轴距的初值。
步骤17:通过非线性优化获得立体视觉传感器结构参数的最优解,完成标定。
这里,将棋盘格靶标摆放多次,利用极大似然准则对立体视觉传感器结构参数进行优化,得到结构参数在最大似然准则下的最优解。
以重投影误差最小和重建点距误差最小作为目标函数,采用trustregionreflective方法进行非线性优化。
设第i个姿态中第j个特征点经第一个圆球透镜和第二个圆球透镜折射后在图像平面成像点是p1ij和p2ij,重投影公式见agrawal等“analyticalforwardprojectionforaxialnon-centraldioptricandcatadioptriccameras”,设摄像机坐标系下的物点pij的两个重投影点分别为
其中,dist(a,b)表示a、b两点之间的距离。
如基于圆球透镜的立体视觉传感器测量模型如图4所示,对于任一空间物点p,其近物点一侧的折射点分别为m2l和m2r,出射光线分别为v2l和v2r,则两出射光的交点是物点在空间中的坐标。设在摄像机坐标系下m2l=[mlx,mly,mlz]t,m2r=[mrx,mry,mrz]t,v2l=[vlx,vly,vlz]t,v2r=[vrx,vry,vrz]t,则有:
k1、k2是比例因子,
k1·v2l-k2·v2r=m2r-m2l(4)
展开为矩阵形式:
令
对于标定过程中第i个靶标姿态的第j个特征点pij,其重建坐标为
frec(a)=frec1(a)+frec2(a)(8)
总目标函数为:
f(a)=min(frep(a)+frec(a))(9)
其中a为待优化参数,a=(c1,c2,r1,r2,...rm,t1,t2,…,tm),采用非线性优化方法,可以求解a在极大似然准则下的最优解。c1=a1×d1,c2=a2×d2,描述了两个圆球透镜到摄像机透视投影中心的方向矢量,即为立体视觉传感器系统所需标定的结构参数。