基于网格运动统计的工件识别改进算法*

2022-06-08 06:46:54刘慧芳甄国涌储成群
组合机床与自动化加工技术 2022年5期
关键词:图像匹配邻域尺度

刘慧芳,甄国涌,储成群

(中北大学仪器与电子学院,太原 030051)

0 引言

随着我国工业自动化与信息化程度的提高,对工业生产中工件识别的准确性与实时性也提出了更高要求。传统的工件识别方法多为模板匹配技术,其中基于特征点检测与描述的图像匹配[1-3]方法由于其良好的旋转不变性、尺度不变性、抗噪不变性等特性成为了图像识别与匹配领域研究的热点。但是在工业零件分拣生产线上,工件图像往往会因为受到旋转、平移、噪声、尺度以及亮度等变化及影响导致识别效率不高,识别精度极差。

近年来,许多学者对基于局部特征与描述的图像识别与匹配算法做出了研究与改进。钟鹏程等[4]结合快速特征点提取和描述(ORB)算法[5-6]与快速鲁棒特征(SURF)算法[7]的优点,先利用ORB算法进行角点检测,然后为角点添加SURF特征描述符,最后用快速近似最近邻搜索算法进行特征点相似性度量完成工件图像匹配,对发生尺度、旋转变化的工作图像识别准确性有一定程度提高,但是当图像视角尺度发生极大变化时,匹配难度增长,误匹配对增多,降低了匹配精度;席剑辉等[8]为提高工件识别效率,在用SURF算法完成特征点检测与描述后,用欧氏距离进行了特征点匹配,并用随机抽样一致性(RANSAC)算法[9-10]找到满足局部最优模型的“内点”,提高了匹配的精度,但是当样本数据极多且外点比例所占过高时,会导致RANSAC算法计算局部最优模型时间呈指数增长,即使算法完成后可能还会有大量误匹配点存在;张明路等[11]在工件匹配阶段,构建了基于K-Means聚类的词袋模型,并生成描述向量模型以此来改进SURF算法的特征匹配阶段,最终实现工件识别速度的提高;刘敬华等[12]提出一种改进的SURF_FREAK算法,在特征描述阶段对FREAK算法[13]进行中距离点对的添加,之后对添加极线约束的工件图像进行汉明距离相似性度量以实现工件图像的识别与匹配;BIAN等[14]提出一种基于网格运动估计(GMS)的特征匹配算法,该算法将运动平滑性转化为统计问题以判别是否有误配,可以快速区分出正确的匹配和错误的匹配,即将较高的特征点匹配数量转化为较高质量的匹配,使得算法更加快速和鲁棒,在低纹理、模糊和旋转位移较大的等情况下具有很强的鲁棒性。

结合多位学者在特征点检测与描述、特征匹配以及误匹配去除阶段的改进与优化以及多种算法的优缺点,本文提出了一种基于网格运动估计的改进工件识别算法:首先对SURF算法进行改进,将特征点提取阶段改用FAST算法,加快提取速度;然后用SURF描述符进行特征描述,并用FLANN算法进行预匹配得到初始匹配集;最后采用改进GMS算法进行误匹配点的去除,实现工件图像的准确匹配。

1 改进算法研究

1.1 GMS算法

传统图像匹配算法常采用RANSAC算法去除误匹配,但是当样本集中数据量大、误匹配点对较多、图像变换不符合参数模型时,RANSAC算法的计算代价会急剧增加,算法的运行时间也将增长。GMS[14]的主要思想为对图像进行网格划分作为特征点邻域对算法进行加速,依据运动的平滑性约束了正确匹配的特点邻域内也会有较多的匹配支持点,以此通过统计匹配点邻域支持点的数量来达到区分真实匹配与错误匹配的目的。假设Ia为匹配图,Ib为待匹配图,两幅图检测到的特征点个数分别为M、N,特征点匹配集合表示为{M,N},粗匹配完成后,图像Ia到Ib的最近邻特征点匹配集合为{x1,x2,…,xn},其中xi=(Mi,Ni)表示一对匹配特征点对,a、b为两幅图的匹配区域。正确匹配的特征点邻域内会存在若干个支持它的匹配点对,相反错误匹配的特征点邻域内很少甚至几乎没有对其支持的匹配点对。设Si为正确匹配对xi的邻域特征点支持量,则:

Si=xi)|-1

(1)

式中,xi)|为邻域内正确匹配对的数目;-1表示减去原始的匹配正确项。

(2)

(3)

(4)

根据式(3)和式(4),Si和xi的二项式分布如下:

(5)

为了加快去除误匹配的速度,对匹配图与待匹配图进行网格划分,每个单元网格代表邻域支持统计量,通过计算单元格支持统计量代替计算每个特征点支持统计量来加快对正确匹配与错误匹配的区分速度,则式(5)变成:

(6)

式中,K为与xi所在网格区域相连但不相交的网格数量,由式(6)可得Si的均值与标准差可表示为:

(7)

最后通过标准差与均值来确定一个阈值τ以区分正确匹配与错误匹配,τ可近似表达为:

(8)

式中,α为权重值,通过式(8)将邻域特征点支持量Si大于τ的网格区域内的匹配对保留下来,不满足条件的予以剔除,最终实现GMS算法的鲁棒匹配。

1.2 SURF算法

SURF算法是尺度不变特征变换(SIFT)算法[15-16]的优化,比SIFT算法运行速度快,同时也具有很好的旋转尺度稳健性。SURF算法使用积分图像加速算法并用近似的Hessian矩阵行列式的最大值来定位特征点的位置,同时采用Haar小波变换增加算法的鲁棒性,其主要算法步骤如下:

如今中国的中职语文教育缺乏应有的应用性和科学性,没有形成最适合中职语文教育的自己的道路,而是延用以往中学语文的教学方法,甚至是模仿本科语文课堂的教学。这样的中职语文教育根本不符合中职培养的人才目标,严重偏离了实用性和应用性,大部分中职学生是希望来学校获得未来工作和个人发展所需的资本和能力的,他们渴望的是可以满足以后就业需求点的知识,这就造成了有限的教学收获和教学目标之间形成了强烈反差。职业教育的实用性在教学资源投入和团队建设中往往起关键性作用,语文教育的脱离实践和定位不清晰导致在学校教学资源中陷入占比越来越少的窘境。

(1)计算积分图像,利用Hessian矩阵提取特征点;

(2)构建尺度空间与高斯金字塔;

(3)进行特征点主方向确定;

(4)构建64维特征描述符;

(5)利用特征点描述符进行特征匹配。

1.3 FAST算法

FAST是一种快速的角点检测算法,主要通过比较候选点与周围邻域像素点的灰度值差来进行检测,算法主要步骤如下:

(1)如图1所示,在图像上选择一个像素p,其像素值为Ip,以p为中心建立半径为3的圆,可见在圆的最外层有16个像素点(p1、p2、…、p16);

图1 FAST算法

(2)选择一个阈值t,判断16个像素点是否有n个连续的像素点的灰度值与Ip差的绝对值大于t,如果有的话,则认为p是特征点,否则,排除p点。一般n取9或12;

(3)计算由(2)选出的特征点的响应大小,响应值为中心点与16个点灰度值差值的绝对值总和,通过比较相邻特征点的响应值大小,将响应值偏低的特征点去掉。

1.4 改进的工件识别算法

本文基于网格运动统计(GMS)算法,对基于特征点检测与匹配的工件识别算法进行了如下改进:

(1)为了加快SURF算法特征点提取速度,改用FAST算法进行特征点检测,提取特征点时间短,简单快速;

(2)因为FAST角点不具有特征点方向信息,因此在特征点检测完成后,用SURF描述符为特征点建立方向描述信息,使特征点具有旋转尺度不变性;

(3)在用FLANN进行最近邻点与次近邻点距离比值与设定阈值的比较后,得到粗匹配结果;

(4)得到粗匹配对后,求解单应性变换矩阵,可保证图片发生投影畸变后仍能正常匹配,最后用GMS算法保留正确匹配对,完成工件图像的识别。

改进算法流程如图2所示。

图2 改进工件识别算法流程图

2 实验结果与分析

本实验测试环境为:Windows10操作系统(64位),Intel Core i5-6200U CPU@2.30 GHz,8 GB内存,运行环境为PyCharm2020与OpenCv3.4.2;实验目的为验证本文算法与SIFT、SURF、ORB、文献[4]算法在工件图像受到亮度、旋转、尺度以及平移变化时识别精度与速度的优异性;测试图像为图3所示,包括一幅待识别工件图,以及一幅螺母原图和发生亮度变化、旋转尺度平移变化的螺母图;实验过程为各匹配算法对最后一幅图片与前面三幅图片依次进行匹配,并以实验序号1~3加以区分,然后比较各次实验的匹配精确度与匹配时间,记录分析测试结果,实验结果如图4和图5所示。

(a) 螺母原图 (b) 亮度变化

(c) 旋转尺度平移变化 (d) 待识别工件图图3 工件测试图

图4 匹配精度对比 图5 匹配时间对比

实验分析中采用匹配精确度(precision)与匹配时间T两个指标对各图像匹配算法进行评价与分析。precision定义为:

precision=matchescorrect/matches

(9)

式中,matchescorrect为正确匹配的特征点对数目;matches为特征匹配对总数。显然,precision值越大,代表该算法匹配精度越高;T值越小,代表该算法实时性越好。

图4和图5分别展示了本文算法与SIFT、SURF、ORB、文献[4]算法在包含不同图像变换的测试图像上经过匹配实验后得到的匹配精确度与匹配时间的对比实验结果。从图4可以看出,无论是亮度变化还是旋转尺度平移变化,本文算法与文献[4]算法的匹配精度都比另外三种算法高,并且本文算法比文献[4]算法更具有优势,因为虽然随着变换模型改变增加了匹配难度,但本文算法的匹配精度始终能达到90%以上,且比文献[4]算法匹配精度更高;同时由图5分析,本文算法与文献[4]算法、ORB算法的匹配时间终低于SIFT与SURF算法,实时性更好。所以,从匹配精确度与匹配时间T两个指标综合分析,在不同图像变换场景下,本文算法的匹配精度最好,匹配时间也具有一定优势,综合性能最优。

为了更直观展示本文算法在实际场景的优越性,选取了一组旋转尺度大的图像,分析比较了其在不同图像匹配算法下的匹配效果,结果如图6与表1所示。

(a) 匹配原图 (b) SIFT (c) SURF

(d) ORB (e) 文献[4]算法 (f) 改进算法图6 各算法匹配结果图

表1 不同算法测试结果比较

从表1分析可得,在旋转尺度较大时,本文算法的匹配时间虽然与其他算法相比没有太大优势,但是匹配精度仍能达到95%,并且从图6看到,在运用GMS算法基础上,本文算法的误匹配去除能力得到了显著提升,与其他算法相比,误匹配对大幅减少,匹配精度极好,能够准确定位到目标工件。

3 结论

本文针对复杂环境下工件图像利用SURF算法识别精度差等问题,提出一种基于网格运动统计(GMS)的改进工件识别算法。经过不同变化测试工件图像的验证,本文算法比SIFT、SURF、ORB以及文献[4]等算法在识别精度与匹配时间上都具有一定优势,能够为工业生产中工件识别的高效性工作提供支持与帮助。但是本文算法正确匹配的前提是粗匹配对足够多,所以针对一些特殊情况下的工件图像场景,比如遮挡、堆叠等情况,工件识别算法仍需进一步改进。

猜你喜欢
图像匹配邻域尺度
财产的五大尺度和五重应对
稀疏图平方图的染色数上界
基于邻域竞赛的多目标优化算法
自动化学报(2018年7期)2018-08-20 02:59:04
一种用于光照变化图像匹配的改进KAZE算法
关于-型邻域空间
宇宙的尺度
太空探索(2016年5期)2016-07-12 15:17:55
挖掘机器人图像匹配算法研究
基于SIFT和LTP的图像匹配方法
9
基于降落图像匹配的嫦娥三号着陆点位置评估
航天器工程(2014年4期)2014-03-11 16:35:37