APP下载

基于机器视觉的齿轮图像特征匹配优化*

2022-03-04任永强陈康琛张闻箫

组合机床与自动化加工技术 2022年2期
关键词:图像匹配金字塔齿轮

任永强,陈康琛,张闻箫

(合肥工业大学机械工程学院,合肥 230009)

0 引言

图像特征匹配是机器视觉系统中的重要技术之一,其在同时定位与地图构建[1]、三维重建[2]、目标检测[3]等方面均有重要应用。在工业应用上,机器人检测齿轮进或抓取齿轮时需要对其进行图像匹配识别,要求机器人视觉系统快速准确地对齿轮特征进行匹配。目前特征匹配算法受到许多学者深入研究,特征检测的算法有不少,常用的有SIFT(scale invariant feature transform)、SURF(speeded up robust features)和ORB(oriented fast and rotated brief)等算法。SIFT匹配准确率好,但是速度慢。SURF是对SIFT的改进,速度进一步提升,但是还是难以满足实时性高的应用场合。王博等[4]优化了SIFT算法中构建高斯金字塔的流程,并用性能更好的特征描述子。张明路等[5]在SURF中加入聚类算法和机器学习中文本检索方法,提高速度。但是二者实时性不如ORB,不能满足有较高实时性要求的工业场景。而ORB受噪声影响小,可实时性满足工业要求,但匹配精度较前面二者差,需要优化匹配,减少误匹配。杨昊瑜等[6]将ORB算法提取出的特征向量进行归类及筛选,减少噪点及特征冗余点数量,从而提高匹配效率。周光宇等[7]提出的改进方法是通过交叉验证ORB对应特征点对的准确率,在简单筛选特征点后,通过一致空间映射对经过筛选的特征点集进行稳健的非线性匹配。虽然这两种ORB改进算法提高匹配效率,但误匹配率还须进一步减少。

为了有效解决在齿轮图像匹配时的误匹配问题,本文提出联合金字塔光流法和ORB算法的齿轮图像匹配优化,在ORB算法提取特征后,用金字塔光流法追踪两齿轮图像间的点,暴力匹配后进行简单的特征点过滤,最后再用改进的RANSAC(random sample consensus)算法进行优化匹配。实验结果表明,该方法能够提高齿轮图像匹配准确率。

1 预处理

进行ORB特征提取前,需要对齿轮图像进行预处理,其主要目的是减少图像噪声,主要是进行灰度化和高斯模糊。高斯模糊具有线性平滑的特点,对于去除噪声十分有效。其本质是高斯滤波器,即使用高斯分布函数得到高斯核,再将核与图像作卷积相加。鉴于高斯滤波器能够降低像素在空间上的变化,而随机噪声变化幅度大,所以该滤波器能够在保留小信号同时实现降噪。齿轮原图与预处理图的对比结果如图1所示。

图1 齿轮原图(左)与预处理图(右)的对比图

2 ORB算法

ORB算法可以快速生成齿轮图像的特征点,该算法主要分为两个步骤。其中,oFAST(oriented features from accelerated segment test)和rBRIEF(rotation-aware brief)分别是特征检测的算法和生成特征描述符的算法。

oFAST算法是任选图像中一点P为圆心,以3个像素为半径,如果圆边上存在相邻9个点的灰度值都比P点大或小,可以初步确定P点为特征点。判断公式如下:

(1)

之后根据Harris[8]角点从大到小排序进行选取。为实现特征点的尺度不变性和旋转不变性,还须分别使用图像金字塔法和灰度质心方法。

rBRIEF算法是以任一角点为中心,在一定大小的邻域窗口后任选2个一定大小的子窗口,根据一定阈值的灰度值,重复选取n次形成n维的由0和1组成的特征描述符。将点集合转换为2×n矩阵A,其中A为:

(2)

并将矩阵A旋转角度θ,其中旋转矩阵R为:

(3)

再用贪婪搜索算法进行剔除,就得到具有高方差和高不相关的rBRIEF描述符。

ORB算法的具体流程如图2所示。可以看出,它实时性好,可加速齿轮图像匹配过程,但是存在误匹配问题,需要进一步优化匹配过程。

图2 ORB算法流程图

3 金字塔光流法

为有效减少误匹配,本文实行一种基于金字塔光流方法的特征匹配算法。利用金字塔光流法对两幅齿轮图像进行特征点跟踪,求出两幅齿轮特征点的位置和运动向量,可得到对应的光流点,并通过RANSAC算法来优化匹配结果。

金字塔光流法[9-10]对两幅齿轮图像进行光流跟踪,特征点要满足光流法的三大假设:亮度恒定、时间持续、空间一致。由于存在目标对象可能会出现迅速移动的情况,若使用传统光流算法,在齿轮图像处理过程中打破连续时间内的小移动的假设,可能带来较大的误差。由于利用图像金字塔的特点,自上而下纠正运动量,从而遵循光流法的假设,所以采用金字塔光流法,其大致过程:首先形成图像的金字塔,再从顶层按照传统光流法计算;然后由该值拟定下层的拟定值,并据此计算真实值;最后不断迭代直至计算出最下层的值。所以最终的光流值其实是每层光流值迭代累加的结果。设图像层数为L,总底层数为n,光流值为d,则光流值公式为:

(4)

通过程序得到的齿轮光流特征图如图3所示。

图3 齿轮的光流特征图

4 优化匹配

经过前面的步骤得到两幅图像的特征点后,需要对它们进行匹配,若直接匹配,齿轮图像上特征点过于密集,因此需要分为2次筛选。第1次筛选是为了去除初始匹配结果中位置错误较大的误匹配,为第2次匹配提供优化的匹配结果,第2次过滤则是利用优化匹配对进行几何校验。

4.1 粗匹配

第一次筛选特征点为粗匹配。首先用暴力匹配法求出初始匹配对,接着通过汉明距离,过滤小部分特征点。对于ORB特征点,此处汉明距离是指两个rBRIEF描述符的对应位置上不同字符的个数,过滤特征点的公式为:

DH

(5)

再利用哈曼顿距离过滤掉大于经验值距离的点,根据多组齿轮图像匹配效果,取这个经验值为10。其中哈曼顿距离计算公式为:

D=|x1-x2|+|y1-y2|

(6)

4.2 精匹配

第二次筛选特征点是在第一次基础上进行优化,为细匹配。粗匹配后的点仅进行距离约束,还存在误匹配的情况,需要通过改进的RANSAC算法进行特征匹配优化。RANSAC算法[11-13]是常用的图像匹配算法,其目的是计算出一个3×3的最优解的单应性矩阵H,使尽可能多的匹配特征点满足它。通过归一化H后,H还有8个参数需要求解,一对特征点提供2个方程求解2个参数,所以至少提供4对特征匹配点对,矩阵H才会存在解。设(x,y)为参考图像的特征点位置,(x′,y′)为待匹配图像的特征点位置,s表示尺度参数,则有:

(7)

由于是线性方程,必须保证4对特征点对不能在同一直线上,才能求解H。有矩阵H确定模型,之后其余数据验证它,不断迭代求解出最优模型,而此时它的代价函数Cost最小,代价函数Cost的计算公式如下:

(8)

RANSAC算法的主要步骤如下:

步骤1:从特征匹配点对的中随机选取4对点对,通过计算单应性矩阵得到模型;

步骤2:计算数据与模型的投影误差,当小于预定阈值时,加入内点集;

步骤3:不断迭代,求解最优的内点集和计算迭代次数k,迭代终止条件为当前迭代次数大于计算迭代次数k。设p为置信度,其经验值为0.995,w为内点在点集中的占比,m为最少计算点对数目,则k的计算公式如下:

(9)

但是RANSAC算法是随机获取不同样本数据,并且算法在设立估算正确内点阈值时无固定值,选取的模型参数有时并非数据集内的最佳参数,这样会导致算法的性能在某些工作场景的匹配结果不理想。对此本文提出一种改进的 RANSAC算法,先选取金字塔光流法得到的点集进行拟合,这样就会提前获取到最优参数。因为金字塔光流法能够预估特征点在待匹配图像中所在的位置范围,待匹配点须满足该位置的几何约束。并且将模型的假设设置为模型内正确匹配点的数大于噪声点的数目,之后对模型中参数逐个进行验证。这样的选取排序方法会使RANSAC算法有效获取到正确预估模型参数,并且可以减少模型迭代的计算次数,这样可以缩短算法整体的计算时间。

5 实验结果分析

本文算法是基于Ubuntu18系统下的Opencv4.4的环境下开发,实验的图片来自实验使用工业生产线上采集的齿轮图像。选择多组图片分别用本文算法与结合RANSAC算法的原始ORB算法进行特征点匹配实验。其中一组实验的匹配结果分别如图4和图5所示。

图4 本文算法匹配结果 图5 传统ORB算法匹配结果

对比图4和图5,可明显看出改进后的算法对特征点匹配优化效果更好,能够筛选出较好的匹配点。传统ORB算法与本文算法匹配的实验结果数据如表1所示。从表中数据可以看出, 本文算法在优化匹配效果和减少误匹配率这两方面都体现出显著的效果,由于加入了金字塔光流法,使得匹配结果进一步优化,并且从图4与图5对比中发现,本文算法比ORB算法特征点散落的位置更广,避免特征点过于集中,如齿轮左上角处。此外,本文算法误匹配率比传统ORB算法误匹配率约减少30%。所以经过多次实验的证明,本文算法较传统ORB算法在齿轮图像匹配过程中匹配效果更优。

表1 匹配结果

6 结论

本文提出一种联合金字塔光流法与ORB算法的算法来实现齿轮图像特征匹配优化。通过ORB算法获得特征点后,利用金字塔光流法约束匹配点对,再通过改进的RANSAC算法进一步优化匹配结果。实验表明,本文算法能够很好地降低齿轮特征匹配的误匹配率。本文算法除了适用齿轮匹配,在一定程度上也适合其他工件应用。对于算法是否适用于复杂的工况,还须进一步改进。

猜你喜欢

图像匹配金字塔齿轮
“金字塔”
基于多特征融合的图像匹配研究
东升齿轮
Great Vacation Places
图像匹配及其应用
你找到齿轮了吗?
异性齿轮大赏
骑车上班日
金字塔是用金子造的吗
正态分布转换算法在声纳图像处理中的应用