本发明涉及一种空间圆弧的位姿检测方法,尤其涉及一种在空间圆弧半径为已知量的情况下圆弧空间位姿的视觉检测方法。
背景技术:
孔、平面为机械零部件的基本特征,孔与平面正交形成空间几何圆,而空间几何圆是一种特征明显且容易识别的形状,在图像处理中有着其他几何形状如直线等无法比拟的优点。通过对机械零部件某平面上空间几何圆的视觉位姿检测,间接获取机械零部件的空间位置和姿态,在机器人视觉定位、目标跟踪、视觉避障中具有广泛的应用。针对空间几何圆的视觉位姿检测,不少学者提出了许多行之有效的方法,如文献1【heikkilaj,silveno.afour-stepcameracalibrationprocedurewithimplicitimagecorrection[c].ieeecomputersocietyconferenceoncomputervisionandpatternrecognition,1997:1106-1112】提出了通过设置空间中多个点阵分布的圆形且多个摄像机参数耦合在一起求解空间圆位姿信息,该方法计算量大,难以快速获得单个圆形圆心点的准确位置;文献2【周富强,张广军,江洁等.空间圆几何参数的非接触高精度测量方法[j].仪器仪表学报2004,25(5):604-607】提出了一种根据极线约束求出空间圆在双目立体视觉中的对应匹配点后投影到三维空间求出边缘的实际坐标。尽管立体匹配算法得到了许多学者的广泛研究并提出了许多有效措施,但立体匹配算法本身是一个病态算法,一般需要通过建立能量函数,利用最小化能量和函数和一些约束条件,采用最优化理论方法进行求解方程,计算过程比较复杂;文献3【kimjs,gurdjosp.geometricandalgebraicconstraintsofprojectedconcentriccirclesandtheirapplicationstocameracalibration[j].ieeetranspatternanalysisandmachineintelligence,2005,27(4):637-642.】提出以同心圆为目标,利用同心圆求解无穷远直线,进而求解精确圆心位置,但联立两个不相交的二次曲线来求解无穷远直线,增加了求解的复杂性及计算量;文献4【邢德奎,达飞鹏,张虎.圆形目标精密定位方法的研究与应用[j].仪器仪表学报.2009,30(12):2593-2598】针对同心圆目标,提出了利用交比不变性快速准确地获取图像中圆形目标圆心真实投影点的方法。
对于机械零部件而言,其特征平面与特征孔正交所形成的大多数为单一的空间圆,而非同心圆,且在机器人的作业任务中,作为作业对象的机械零部件,其形状、尺寸往往是已知的,即空间圆的半径也为确定值。因此对半径已知的单一空间圆或圆弧进行视觉位姿测量具有很强的实用价值。
技术实现要素:
针对上述问题,本发明提出了一种具有很强的收敛性,能对图像中特征采样点进行映射前采用径向畸变矫正,减小了映射变换的误差,提高了检测精度,省去立体匹配环节,测量方法简单、合理且所需硬件成本较低的空间圆弧位姿的视觉检测方法。
本发明是通过以下技术方案实现的:
上述的空间圆弧位姿的视觉检测方法,其是将空间圆弧arc映射到虚拟摄像机{c1}的虚拟成像平面γ1,构建空间圆弧arc在实际摄像机坐标系{c}中的实际图像ima与虚拟摄像机{c1}中所映射的虚拟图像i'ma之间的数学转换模型。
所述空间圆弧位姿的视觉检测方法,其中,所述数学转换模型是建立在实际图像ima中空间圆弧特征采样点pi(i=1,2,3...l;l为特征点采样数)与虚拟成像i'ma中对应映射点
上式(1)中,α、β为坐标系{c1}相对于坐标系{c}的姿态参数;
所述实际成像ima到虚拟成像i'ma的数学转换模型的转换过程包括:
1)将实际图像ima中的圆弧特征采样点pi的图像坐标
上式(2)中,(u0,v0)为摄像机光轴中心线与成像平面交点a的图像坐标,sx、sy分别为ccd单元沿横向、纵向的长度,k、f分别为摄像机径向畸变系数和焦距,上述参数均为摄像机内参;(ui,vi,f)t、(xci,yci,f)t分别为圆弧特征采样点pi、矫正点p′i在坐标系{c}中的位置描述;
2)将畸变校正后的圆弧特征矫正点p′i进一步经小孔线性成像模型映射到虚拟成像i'ma中的虚拟映射点
上式(4)中,f为摄像机焦距,α、β为坐标系{c1}相对于坐标系{c}的姿态参数。
所述空间圆弧位姿的视觉检测方法,其中:采用基于圆度最大的α、β交叉迭代分层搜索算法获取最佳姿态参数αb、βb,所述基于圆度最大的α、β交叉迭代分层搜索算法包括α、β的有效搜索范围的确定方法;
所述α、β的有效搜索范围是指为确保圆弧特征矫正点p′i(i=1,2,3...l;l为特征点采样数)在虚拟摄像机的成像平面γ1中都能有效成像所确定的范围,其α、β的最大值、最小值αmax、αmin、βmax、βmin的计算由公式(5)所确定;
上式(5)中,xcmax、xcmax、ycmax、ycmin分别为圆弧特征矫正点p′i(i=1,2,3...l,l为特征点采样数)在坐标系{c}中的坐标极限值。
所述空间圆弧位姿的视觉检测方法,其中,在参数α、β的有效范围内采用交叉迭代分层搜索算法,对虚拟映射点
①首先初始化,将交叉迭代次数n1、当前分层搜索次数m的值清零;令βb=βmax;给初始步距s0、等比系数q(0<q<1)赋初值;
②根据公式(2)计算矫正点p′i(i=1,2,3...l;l为特征点采样数)在坐标系{c}中的位置描述,及根据公式(5)计算姿态参数α、β的搜索范围(αmin,αmax)、(βmin,βmax);
③根据所需要的测量精度acc,取不小于
④令β=βb,当α在(αmin,αmax)范围内以s0为步距进行等间距取样的过程中,根据公式(4)依次求取虚拟映射点
⑤令α=αb,当β在(βmin,βmax)范围内以初始步距s0进行等间距取样的过程中,重复上述步骤④,并将系列拟合圆中圆度极大值e2所对应的β值设为βb;
⑥当|e2-e1|>ε(ε为某一极小值)时返回上述步骤④;
⑦分层搜索次数m++;当m>n2时,跳到步骤⑧,否则取步距sm=qm·s0,搜索范围αmin=αb-s0*q(m-1),αmax=αb+s0*q(m-1),βmin=βb-s0*q(m-1),βmax=βb+s0*q(m-1),返回上述步骤④;
⑧获取最佳姿态参数αb、βb,并将该姿态下所对应的拟合圆半径设置为rb、圆心坐标设置为(c1xob,c1yob,f)t。
所述空间圆弧位姿的视觉检测方法,其中:所述空间圆弧arc的姿态由空间圆弧arc所在平面γ法线上的单位主矢量l在摄像机坐标系{c}的姿态描述cl所确定;
所述空间圆弧arc相对于摄像机坐标系{c}的姿态描述cl由公式(7)确定;
cl=(sinβb-sinαb·cosβbcosαb·cosβb)t(7);
上式(7)中,αb、βb为经过α、β交叉迭代分层搜索求取的空间圆弧arc的最佳姿态参数,cl为空间圆弧arc所在平面γ法线上的单位主矢量在坐标系{c}中的姿态描述。
所述空间圆弧位姿的视觉检测方法,其中:所述空间圆弧arc的圆心o的位置检测建立在空间圆弧的半径r为已知量前提下,当空间圆弧arc的半径r为已知量时,所述空间圆弧arc的圆心o在坐标系{c}中坐标位置(cxo,cyo,czo)t由公式(9)给出;
上式(9)中,αb、βb为空间圆弧的姿态参数,
有益效果:
本发明空间圆弧位姿的视觉检测方法,其基于半径约束的空间圆弧视觉位姿测量方法,在搜索空间圆弧arc的最佳姿态参数αb、βb时,由于采用交叉迭代分层搜索算法且搜索区域呈等比序列缩小,该算法具有很强的收敛性,即经过有限次迭代搜索即可获得较高的测量精度;同时,该算法中对图像中特征采样点进行映射前采用径向畸变矫正,减小了映射变换的误差,提高了检测精度;另外由于是从单一摄像机采集的单一图像中获取空间圆弧的三维位姿,省去立体匹配环节,测量方法简单、合理且所需硬件成本较低。
附图说明
图1为本发明空间圆弧位姿的视觉检测方法中空间圆弧在虚拟像机中成像数学模型图。
具体实施方式
如图1所示,本发明空间圆弧位姿的视觉检测方法,是将空间圆弧arc映射到虚拟摄像机{c1}的虚拟成像平面γ1,构建空间圆弧arc在实际摄像机坐标系{c}中的实际图像ima与虚拟摄像机{c1}中所映射的虚拟图像i'ma之间的数学转换模型。
所建立的虚拟摄像机坐标系{c1}的坐标原点与实际摄像机坐标系{c}的坐标原点重合,坐标系{c1}相对于坐标系{c}的位姿变换矩阵
上述公式(1)中,α、β为坐标系{c1}相对于坐标系{c}的姿态参数。
上述的实际成像ima到虚拟成像i'ma的数学转换模型包括建立实际成像ima中圆弧特征采样点pi(下标i=1,2,3...l;l为特征点采样数)的径向畸变矫正映射数学模型;
上式(2)中,(u0,v0)为摄像机光轴中心线在成像平面的交点a的图像坐标,sx、sy分别为ccd单元沿横向、纵向的长度,k、f分别为摄像机径向畸变系数和焦距,上述参数均为摄像机内参;(ui,vi,f)t、(xci,yci,f)t分别为圆弧特征采样点pi、矫正点p′i在坐标系{c}中的位置描述。
上述的实际成像ima到虚拟成像i'ma的数学转换模型还包括将畸变校正后的圆弧特征矫正点p′i进一步经小孔线性成像模型映射到虚拟成像i'ma中的虚拟映射点
对公式(3)进行简化得到如公式(4)所示:
上述公式(3)、(4)中,f为摄像机焦距,α、β为坐标系{c1}相对于坐标系{c}的姿态参数;
采用基于圆度最大的α、β交叉迭代分层搜索算法获取最佳姿态参数αb、βb,基于圆度最大的α、β交叉迭代分层搜索算法包括α、β的有效搜索范围的确定方法;其中,α、β的有效搜索范围是指为确保圆弧特征矫正点p′i(其中i=1,2,3...l;l为特征点采样数)在虚拟摄像机的虚拟成像平面γ1中都能有效映射所确定的范围,α、β的最大值、最小值αmax、αmin、βmax、βmin由公式(5)所确定。
上述公式(5)中,xcmax、xcmax、ycmax、ycmin分别为圆弧特征矫正点p′i(下标i=1,2,3...l,l为特征点采样数)在坐标系{c}中的坐标极限值。
上述的基于圆度最大的α、β交叉迭代分层搜索算法是建立在对虚拟映射点
①首先初始化,将交叉迭代次数n1、当前分层搜索次数m的值清零;令βb=βmax;给初始步距s0、等比系数q(其中:0<q<1)赋初值;
②根据公式(2)计算矫正点p′i(其中下标i=1,2,3...l;l为特征点采样数)在坐标系{c}中的位置描述,及根据公式(5)计算姿态参数α、β的搜索范围(αmin,αmax)、(βmin,βmax);
③根据所需要的测量精度acc,取不小于
④令β=βb,当α在(αmin,αmax)范围内以s0为步距进行等间距取样的过程中,根据公式(4)依次求取虚拟映射点
⑤令α=αb,当β在(βmin,βmax)范围内以初始步距s0进行等间距取样的过程中,重复步骤④,并将系列拟合圆中圆度极大值e2所对应的β值设为βb;
⑥当|e2-e1|>ε(ε为某一极小值)时返回步骤④;
⑦分层搜索次数m++;当m>n2时,跳到步骤⑧,否则取步距sm=qm·s0,搜索范围αmin=αb-s0*q(m-1),αmax=αb+s0*q(m-1),βmin=βb-s0*q(m-1),βmax=βb+s0*q(m-1),返回步骤④;
⑧获取最佳姿态参数αb、βb,并将该姿态下所对应的拟合圆半径设置为rb、圆心坐标设置为(c1xob,c1yob,f)t。
上述的空间圆弧arc的姿态由空间圆弧arc所在平面γ法线上的单位主矢量l在摄像机坐标系{c}的姿态描述cl所确定。
当α、β姿态参数分别取最佳姿态参数αb、βb时,由公式(1)可知,虚拟摄像机坐标系{c1}相对于实际成像摄像机坐标系{c}的位姿变换矩阵
又由空间几何关系可知,当α、β姿态参数分别取最佳姿态参数αb、βb时,空间圆弧arc所在平面γ与虚拟成像平面γ1处于平行状态,即空间圆弧arc的姿态描述可以由虚拟成像平面γ1的单位主矢量在摄像机坐标系{c}中的描述来比表示,即由公式(6)中的第三列所确定,如公式(7)所示。
cl=(sinβb-sinαb·cosβbcosαb·cosβb)t(7);
上式(7)中,cl为平面γ法线上的单位主矢量在坐标系{c}上的投影。
上述的空间圆弧arc的圆心o的位置检测是建立在空间圆弧的半径r为已知量的前提下的。
首先由三角形相似原理,将α、β交叉迭代分层搜索算法中获得的虚拟拟合圆的最佳半径rb和圆心坐标(c1xob,c1yob,f)t可求取空间圆弧arc圆心o在坐标系{c1}中的坐标表示
对公式(8)进行简化,得到空间圆弧arc圆心o在坐标系{c}中的坐标表示(cxo,cyo,czo)t如公式(9)所示:
上述公式(8)、(9)中,αb、βb为空间圆弧arc的最佳姿态参数;
本发明具有很强的收敛性,能对图像中特征采样点进行映射前采用径向畸变矫正,减小了映射变换的误差,提高了检测精度,省去立体匹配环节,测量方法简单、合理且所需硬件成本较低。