工件圆弧边缘特征点检测与匹配方法*

2018-08-03 03:14化春键熊雪梅
传感器与微系统 2018年8期
关键词:极线内点圆弧

化春键, 熊雪梅, 陈 莹

(1.江南大学 机械工程学院,江苏 无锡 214122; 2.江苏省食品先进制造装备技术重点实验室,江苏 无锡 214122;3.江南大学 物联网工程学院,江苏 无锡 214122)

0 引 言

在工件圆弧半径测量的过程中圆弧的边缘匹配存在着许多困难,例如,由于几何不变性的缺失,对边缘很难进行一些相关的空间约束;预处理后的左右两图中连接的边缘可能并不一致。可通过2方面降低边缘匹配的难度:对现有的SIFT匹配算法进行改进[1],但对边缘匹配的效果不佳;利用极线约束、惟一性约束、顺序约束等来限制匹配过程中的搜索范围。文献[2]通过2个摄像机光轴平行时获取图像,进而利用视差方向梯度实现快速边缘匹配,但该算法的使用条件受限。文献[3]利用匹配的角点引导边缘匹配,该方法误匹配率较高。文献[4]提出通过计算图像中极线与直线交点的亚像素匹配方法来匹配圆弧边缘像素点,但该算法过程繁琐,准确率不高。

针对工件圆弧边缘特征点的检测,本文首先通过改进的随机抽样一致性(random sample consensus,RANSAC)算法拟合椭圆,在求得内点中筛选出边缘特征点;针对工件圆弧边缘特征点的匹配,通过极线约束使得两幅图像对应的极线平行从而满足扫描线特性,在此基础上,以确定的椭圆中心为匹配参考点,进而对圆弧边缘特征点进行逐行匹配。在得出匹配点对后,利用改进的RANSAC算法排除误匹配对。

1 双目视觉模型与极线校正

如图1所示,对于空间中的一点A,采用光心为O1的摄像机C1与光心为O2的摄像机C2,同时对A点进行拍摄。如果能够确定由C1摄像机拍摄的图像中一点A1与由C2摄像机拍摄的图像中一点A2,都是空间中同一点A,通过O1A1和O2A2两直线相交即可确定A的位置,进而A点在三维空间中的位置是唯一确定的。

图1 双目立体视觉原理

对图像进行极线校正的实质即为对两幅图像各进行一次投影变换,使得两幅图像对应的极线平行从而满足扫描线特性。受摄像机制造精度及定位精度影响,仅从硬件方面无法达到平视要求,这使得降维的思想无法应用到双目视觉中。因此,本文采用分步旋转法[5]对左右图像进行校正。分步旋转法即为对图像空间进行一定的旋转,使得左右两图达到平视要求。

2 圆弧边缘特征点检测

2.1 基于改进RANSAC变换的椭圆拟合

空间圆的形状在单个相机的拍摄下,投影到一个平面会形成椭圆。拍摄过程中光照及周围环境的影响、工件边缘本身的缺陷等,都会形成噪声点。若利用现有RANSAC算法拟合椭圆,则错误率较高。本文在RANSAC算法寻找样本点的过程中进行改进,具体的流程如下:

1)在利用Sobel算子进行边缘检测后,将像素点的坐标记录在Data中。

2)设定RANSAC算法最大循环次数m和残差阈值θ。

3)对Data数据点进行扫描抽样的过程中,横坐标相同的数据点只能筛选2个及以下。选取6个不同的点(5个数据点得到一个椭圆较为困难)。

4)用基于代数距离最小二乘法拟合一个椭圆,测量所有样本点到该椭圆的距离,距离小于残差阈值θ的点称为内点;否则,称为外点,内点数最多时的模型即为最佳椭圆模型。统计内点的总数,记作S。

5)重复步骤(3),直至达到最大循环次数m。该过程可以得到多个S值,找出其中最大的S值,记作Smax。

6)将Smax对应的内点存储在Datem中,利用椭圆一般方程Ax2+Bxy+Cy2+Dx+Ey+F=0和内点进行系数拟合。得到椭圆方程以及椭圆中心点的坐标。

由文献[7]可知,在置信度为η0的条件下,在循环过程中,至少有一次采样,使得采样出的b个点均为内点,才能保证在循环的过程中,至少有一次采样能取得目标函数的最大值。因此,最大循环次数m应该满足以下条件

(1)

式中η0一般设置在[0.95,0.99]的范围内;ε为内点在Data中的比例,一般未知,可以取最坏条件下内点的比例。

假定外点是高斯白噪声,其均值为0,方差为σ,误差的残差符合r维的卡方分布。θ选取公式[8]计算为

(2)

式中α为置信概率。

2.2 边缘特征点检测

由于圆弧边缘一般为单像素的边缘点,本文在上述求得的内点S中,进一步设定残差阈值θ,使得边缘点成为单像素点。实验结果表明θ/2较为合适。最终求得的较为稀疏的单像素点即为所求的边缘特征点。

3 圆弧边缘特征点匹配

3.1 圆弧中心点匹配

由于投影变化,投影出的椭圆中心即为空间圆弧的中心,因此,左右两图椭圆中心点相互对应。匹配左右两图椭圆中心点如图2所示。

图2 左右两图圆弧中心点

3.2 圆弧边缘匹配

以圆弧匹配的中心点为基准点,利用顺序一致性展开对圆弧边缘的匹配。算法具体流程如下:

1)将左右两图的中心点坐标分别储存在O1和O2中。

2)筛选出左右两图中的正确特征点待匹配,并将数据点分别存入Date1和Date2中。

3)利用外极线约束和顺序一致性约束,对左右两图逐行扫描,第n行中分别存在2个或2个以下特征点,依次将左图图像中第n行的特征点分别记为Ln1和Ln2,将右图图像中第n行的特征点分别记为Rn1和Rn2。

3.3 检测并排除误匹配对

两幅图像的投影变换可以由以下齐次坐标表示

(3)

式中 (xi,yi)为参考图像上的点;(xb,yb)为待匹配图像上与(xi,yi)对应的点;3×3矩阵为变换矩阵H。H有8个自由度,理论上至少选择4对特征点计算出变换矩阵

(4)

由于误匹配点的存在,随机选取4对特征点计算所得的变换矩阵H存在出错的可能。

本文提出了一种改进的RNASAC算法,用于减少程序的计算量。针对原算法进行如下的改进:随机选择8对匹配点,并用其中4对计算变换矩阵H;检测余下4对是否在变换矩阵H上,如果这4对匹配点都不在变换矩阵H上,则重新选择样本点,直至余下4对中至少有1对在变换矩阵H上,程序才继续往下执行。改进的RANSAC算法直接排除大概率不符合要求的模型,节省计算量。采用式(6)估算成功排除不符合要求模型的概率

(5)

式中p为成功排除不符合要求模型的概率;q为误匹配点的对数;m为总的匹配点的对数。本文中,总的匹配点对数为852对,误匹配点的对数为47对,则根据式(5),成功排除不符合要求模型的概率p=94.5 %,成功率较高,说明该方法具有很好的可操作性。

4 实验对比验证

为了验证该方法的可行性,在MATLAB环境下对所提出的方法进行了大量实验。以如图3所示为极线校正后的圆弧工件,按照本文方法对圆弧边缘特征点进行提取和匹配,其中左图提取点数为1 021,右图提取点数为1 011。对圆弧中心点进行匹配。最终边缘匹配结果如图4所示,匹配对数为852对,通过分析排出误匹配后,最终正确匹配对为805对。

图3 极线校正后的圆弧工件

图4 本文方法匹配结果

4.1 本文匹配方法与加速稳健特性方法对比实验

用加速稳健特性(speed-up robust features,SURF)方法对圆弧边缘点的匹配进行了初步的实验。如图5所示为SURF方法匹配的结果。可以发现,SURF方法用于边缘点的匹配时,匹配成功的对数较少,同时准确率不高。

图5 SURF匹配结果

4.2 本文匹配方法与边缘匹配方法对比实验

本文所提出的方法与文献[2]中所提到的方法进行对比实验,分别对圆柱工件和齿轮工件圆弧轮廓边缘点进行了匹配(匹配对分别为335和852对),本文所提出的方法相对简单,用时较少(分别为0.974 s和1.203 s),正确匹配率高(分别为92.8 %和94.5 %),鲁棒性较强,优于对比文献方法(两工件用时分别为1.233 s和1.545 s,正确匹配率分别为80.7 %和80.4 %)

4.3 改进的RANSAC算法拟合椭圆实验

采用均方误差(mean square error,MSE)描述预测模型实验数据的精确度,MSE越小,模型精度超高

(6)

式中εj为第j个拟合椭圆θ值与所对应的标准椭圆的θ值之差;a为拟合椭圆数量。

综上所述,本文提出的改进的RANSAC算法具有更高的精度。

5 结 论

本文从鲁棒性、实用性以及准确性出发,提出了一种圆弧边缘特征点检测与匹配方法。实验结果证明了该算法的可靠性和鲁棒性。在不降低速度的情况下,对于工业中工件圆弧边缘特征点的检测与匹配体现了良好的适用价值。

猜你喜欢
极线内点圆弧
浅析圆弧段高大模板支撑体系设计与应用
破解定值有妙法,极点极线显神威
外圆弧面铣削刀具
一道高考试题的背景简介
六圆弧齿廓螺旋齿轮及其啮合特性
基于罚函数内点法的泄露积分型回声状态网的参数优化
基于内点方法的DSD算法与列生成算法
等截面圆弧无铰板拱技术状况评价
一个新的求解半正定规划问题的原始对偶内点算法
基于内点法和离散粒子群算法的输电网参数辨识