法律状态公告日
法律状态信息
法律状态
2023-01-06
未缴年费专利权终止 IPC(主分类):G06K 9/62 专利号:ZL2016100650884 申请日:20160129 授权公告日:20190823
专利权的终止
2019-08-23
授权
授权
2017-01-04
实质审查的生效 IPC(主分类):G06K9/62 申请日:20160129
实质审查的生效
2016-07-06
公开
公开
技术领域
本发明属于机器视觉检测领域,特别涉及一种机器视觉图像特征点检测与匹配复合的优化方法。
背景技术
将机器视觉技术应用于工业机器人的生产装配环节,提高了工业机器人对复杂环境的感知和适应能力,同时也提高了生产制造的柔性化和自动化,机器视觉系统将图像处理信息传递给工业机器人控制器,继而控制器驱动工业机械手对目标工件进行抓取,而在图像处理中,由于成像距离、方向、位置等因素的影响,会使得图像产生旋转、平移以及尺度变化,而图像点特征能较好的避免上述问题,所以特征点的检测和匹配是图像处理的关键,快速检测出大量特征点并准确快速的进行有效匹配为接下来进行工件识别与定位抓取打下了良好的基础。
图像特征点提取方法主要有基于图像边缘检测方法和基于图像灰度检测方法两大类,边缘检测方法计算量大,基于灰度检测方法通过计算图像中点的曲率和梯度的方法大大减少了计算量,这类算法常见的有:哈里斯(Harris)算子、最小核值相似区算子(SUSAN)以及加速区域特征点检测(FAST)角点检测等,然而这些算法的角点都不具有尺度不变性,基于尺度不变性加速区域特征点检测(FAST)角点的二进制鲁棒尺度不变性特征点(BRISK)特征点提取算法和加速鲁棒特征(SURF)特征点提取算法应运而生。
在对图像进行特征点的检测之后还要对这些特征点进行描述以构建特征向量从而进行立体匹配,目前主要有两大类局部描述算法:一种是基于梯度直方图局部描述方法,常见方法有尺度不变特征变换(SIFT)、加速鲁棒特征(SURF)特征点提取算法以及各自的优化方法;另一种是基于二进制位串局部描述方法,而后者的计算速度要远比前者的计算速度快,常见的有二进制鲁棒尺度不变性特征点(BRISK)特征点提取算法、快速视网膜关键点(FREAK)算法。
加速鲁棒特征(SURF)特征点提取算法能够保持尺度不变性,同时检测到的特征点比较多,速度比较快,但是它匹配时随机性也比较强,容易产生较多的错误匹配点对,而二进制鲁棒尺度不变性特征点(BRISK)特征点提取算法虽然匹配比较准确但是它的匹配率低,即匹配所需要的时间长,匹配的特征点对也比较少。
发明内容
针对上述现有技术存在的问题,本发明的目的在于提出一种机器视觉图像特征点检测与匹配复合的优化方法,该方法针对SURF算法检测时产生的特征点较多而BRISK算法计算速度快的特点,提出的一种SURF-BRISK复合检测方法,并采用所述SURF-BRISK复合检测方法能够在特征点检测提取部分获得图像上更多的特征点,从而进行特征匹配,运算速度快而且匹配效率高。
为达到上述技术目的,本发明采用如下技术方案予以实现。
一种机器视觉图像特征点检测与匹配复合的优化方法,包括以下步骤:
步骤1,首先获取模板图像和搜索图像,所述模板图像包含目标工件,所述搜索图像包含目标工件和非目标工件,并将模板图像和搜索图像拼接为工件图像,然后对所述工件图像进行极值点检测,得到P个极值点,所述P个极值点分别为极大值点或极小值点,然后将所述P个极值点分别作为特征点;其中,P表示自然数;
步骤2,选取P个特征点中的第k个特征点,并以第k个特征点为中心、构建第k个特征点对应的N×N像素块图像,所述第k个特征点对应的N×N像素块图像为工件图像的子图像,并且所述第k个特征点对应的N×N像素块图像包含Qk个采样点,每个采样点具有对应的灰度值和距离,所述Qk个采样点分布在第k个特征点周围的预设范围内,再将所述Qk个采样点中的每一个采样点作为中心、以设定的δ值作为方差分别进行高斯滤波处理,得到高斯滤波处理后的Qk个采样点,其中每一个高斯滤波半径对应方差δ的取值,然后将高斯滤波处理后的Qk个采样点采用设定组合数方式获取Hk个采样点对,并获取Hk个采样点对各自的对应距离,k∈{1,2,…,P};
步骤3,重复执行步骤2,直到得到H1、H2、…、Hk、…HP个采样点对各自的对应距离,然后根据所述H1、H2、…、Hk、…HP个采样点对各自的对应距离计算得到长距离采样点对的对应总体模式方向g和短距离采样点对的对应二进制描述符b;其中,k∈{1,2,…,P},P表示工件图像中包含的特征点个数;
步骤4,分别获取模板图像和搜索图像之间的仿射变换参数,以及模板图像的形心坐标,并根据所述长距离采样点对的对应总体模式方向g和所述短距离采样点对的对应二进制描述符b,对P个特征点分别进行匹配识别,获取搜索图像中目标工件的形心坐标,进而获取搜索图像中目标工件的三维坐标,最终对搜索图像中的目标工件进行准确抓取。
本发明的有益效果:本发明方法综合SURF算法和BRISK算法的各自优点提出的一种机器视觉图像特征点检测与匹配复合的优化方法,使用本发明方法能够检测到更多地特征点数目,并且特征点匹配亦变得更快、更多,同时该机器视觉图像特征点检测与匹配复合的优化方法在视觉工业机器人中能够更好地进行目标工件的识别与定位,不仅具有重要的理论意义,而且具有重要的实际应用价值。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细说明。
图1为本发明的一种机器视觉图像特征点检测与匹配复合的优化方法实现流程图;
图2为BRISK算法进行特征点描述的方法示意图;
图3(a)为使用SURF算法对模板图像和搜索图像特征点进行初次匹配得到的结果示意图;
图3(b)为使用BRISK算法对模板图像和搜索图像特征点进行初次匹配得到的结果示意图;
图3(c)为使用SURF-BRISK算法对模板图像和搜索图像特征点进行初次匹配得到的结果示意图。
具体实施方式
参照图1,为本发明的一种机器视觉图像特征点检测与匹配复合的优化方法实现流程图,该种机器视觉图像特征点检测与匹配复合的优化方法,包括以下步骤:
步骤1,首先获取模板图像和搜索图像,所述模板图像包含目标工件,所述搜索图像包含目标工件和非目标工件,并将模板图像和搜索图像拼接为工件图像,然后对所述工件图像进行极值点检测,得到P个极值点,所述P个极值点分别为极大值点或极小值点,然后将所述P个极值点分别作为特征点;其中,P表示自然数。
具体地,首先利用摄像机分别采集模板图像和搜索图像,并将模板图像和搜索图像拼接为工件图像,其中,模板图像对应于工件图像的左半部分,搜索图像对应于工件图像的右半部分;然后利用SURF算法分别获取工件图像的积分图像和大小可变的盒式滤波器,并据此建立图像金字塔模型,再利用所述图像金字塔模型对工件图像进行特征点检测,得到P个极值点,同时也得到P个特征点各自对应的位置和尺度,所述P个极值点分别为极大值点或极小值点,然后将所述P个极值点分别作为特征点;其中,P表示自然数,所述积分图像,是指工件图像中任意一个像素点左上角的灰度值总和。
步骤2,根据BRISK算法对P个特征点中第k个特征点进行特征点描述,即选取P个特征点中的第k个特征点,并以第k个特征点为中心、构建第k个特征点对应的N×N像素块图像,所述第k个特征点对应的N×N像素块图像为工件图像的子图像,并且所述第k个特征点对应的N×N像素块图像包含Qk个采样点,每个采样点具有对应的灰度值和距离,所述Qk个采样点分布在第k个特征点周围的预设范围内,再将所述Qk个采样点中的每一个采样点作为中心、以设定的δ值作为方差分别进行高斯滤波处理,得到高斯滤波处理后的Qk个采样点,其中每一个高斯滤波半径对应方差δ的取值,然后将高斯滤波处理后的Qk个采样点采用设定组合数方式获取Hk个采样点对,并获取Hk个采样点对各自的对应距离,k∈{1,2,…,P}。
具体地,参照图2,为BRISK算法进行特征点描述的方法示意图;利用BRISK算法对P个特征点中第k个特征点进行特征点描述,即选取P个特征点中的第k个特征点,并以第k个特征点为中心、构建第k个特征点对应的N×N像素块图像,所述第k个特征点对应的N×N像素块图像为工件图像的子图像,并且所述第k个特征点对应的N×N像素块图像包含Qk个采样点,每个采样点具有对应的灰度值和距离,所述Qk个采样点分布在第k个特征点周围的预设范围内,再将所述Qk个采样点中的每一个采样点作为中心、以设定的δ值作为方差分别进行高斯滤波处理,得到高斯滤波处理后的Qk个采样点,其中每一个高斯滤波半径对应方差δ的取值,然后将高斯滤波处理后的Qk个采样点采用设定组合数方式获取Hk个采样点对,并获取Hk个采样点对各自的对应距离,k∈{1,2,…,P};其中,图2中的小圆表示采样点位置,大的虚线圆半径是对应采样点的平滑高斯函数标准差。
其中,所述第k个特征点对应的N×N像素块图像包含Qk个采样点,具体为:以第k个特征点为中心、在第k个特征点对应的N×N像素块图像中绘制多个Bresenham同心圆,然后在多个Bresenham同心圆的圆周上等间距获得Qk个采样点;其中,所述Qk个采样点中包含第k个特征点。
为降低采样时图像灰度混叠带来的影响,此处采用高斯函数对工件图像上的特征点分别进行平滑滤波,其中每一个高斯滤波半径对应方差δ的取值,然后将高斯滤波处理后的Qk个采样点采用设定组合数方式获取Hk个采样点对,并获取Hk个采样点对各自的对应距离,作为第k个特征点对应的Hk个采样点对距离;其中,所述设定组合数方式为:>!表示阶乘。
步骤3,重复执行步骤2,直到得到H1、H2、…、Hk、…HP个采样点对各自的对应距离,然后根据所述H1、H2、…、Hk、…HP个采样点对各自的对应距离计算得到长距离采样点对的对应总体模式方向g和短距离采样点对的对应二进制描述符b;其中,k∈{1,2,…,P},P表示工件图像中包含的特征点个数。
具体地,当得到H1、H2、…、Hk、…HP个采样点对各自的对应距离时,也分别对应得到H1、H2、…、Hk、…HP个采样点对,以及P个特征点对应的所有采样点,即+Q2+…+Qk+…+QP个采样点;选取P个特征点对应的所有采样点中任意两个采样点组成的一个采样点对(i,j),该个采样点对(i,j)位置分别为i时和j时的高斯平滑后的灰度值分别为I(Qi,σi)和I(Qj,σj),故采样点位置为i时的坐标值Qi和采样点位置为j时的坐标值Qj组成的坐标值对(Qi,Qj)进行高斯平滑处理后的梯度值g(Qi,Qj)为:
>
其中,σi为采样点对位置为i时的高斯函数标准差,σj为采样点位置为j时的高斯函数标准差,Qi为采样点位置为i时的坐标值,Qj为采样点位置为j时的坐标值,I(Qj,σj)为采样点位置为j时的高斯平滑处理后的灰度值,I(Qi,σi)为采样点位置为i时的高斯平滑处理后的灰度值,j<i,(i,j)为P个特征点对应的所有采样点中任意两个采样点组成的一个采样点对,||·||为求取绝对值运算符。
分别设A为P个特征点对应的所有采样点组成的集合,S为所述H1、H2、…、Hk、…HP个采样点对各自的对应距离中短距离采样点对的集合,L为所述H1、H2、…、Hk、…HP个采样点对各自的对应距离中长距离采样点对的集合,其表达式分别为:
A={(Qi,Qj)∈R2×R2}(2)
>
>
其中,j<i,(i,j)为P个特征点对应的所有采样点中任意两个采样点组成的一个采样点对,||·||为求取绝对值运算符,Qi为采样点位置为i时的坐标值,Qj为采样点位置为j时的坐标值,R为实数,
通常,P个特征点各自对应的位置、方向、尺度都包含在所述H1、H2、…、Hk、…HP个采样点对各自的对应距离中长距离采样点对内,利用L1个长距离采样点对各自对应的梯度,计算得到L1个长距离采样点对的对应总体模式方向g,其表达式为:
>
其中,L1为所述H1、H2、…、Hk、…HP个采样点对各自的对应距离中长距离采样点对个数;L为所述H1、H2、…、Hk、…HP个采样点对各自的对应距离中长距离采样点对的集合;gx为L1个长距离采样点对的对应总体模式方向g在x方向的偏导数,gy为L1个长距离采样点对的对应总体模式方向g在y方向的偏导数,g(Qi,Qj)为采样点位置为i时的坐标值Qi和采样点位置为j时的坐标值Qj组成的坐标值对(Qi,Qj)进行高斯平滑处理后的梯度值,j<i,(i,j)为P个特征点对应的所有采样点中任意两个采样点组成的一个采样点对。
将得到的L1个长距离采样点对的对应总体模式方向g对P个特征点分别进行旋转θ后,就可以实现工件图像的旋转不变性和尺度不变性,并得到旋转后的所述H1,H2,…,Hk,…HP个采样点对距离中的短距离采样点对集合S,即
然后,将所述H1,H2,…,Hk,…HP个采样点对距离中的短距离采样点对集合S通过以下运算得到所述短距离采样点对的对应二进制描述符b,其表达式为:
>
其中,
步骤4,获取模板图像和搜索图像之间的仿射变换参数,然后根据图像形态学和贴标签处理方法计算模板图像的形心坐标,并根据所述长距离采样点对的对应总体模式方向g和所述短距离采样点对的对应二进制描述符b,采用SURF-BRISK算法对P个特征点分别进行匹配识别,获取搜索图像中目标工件的形心坐标,进而结合双目立体视觉标定技术获取搜索图像中目标工件的三维坐标,最后利用运动控制器驱动机械臂对搜索图像中的目标工件进行准确抓取。
具体地,获取模板图像和搜索图像之间的仿射变换参数,然后根据图像形态学和贴标签处理方法计算模板图像的形心坐标,并根据所述长距离采样点对的对应总体模式方向g和所述短距离采样点对的对应二进制描述符b,采用SURF-BRISK算法对P个特征点分别进行匹配识别,所述SURF-BRISK算法是一个依次通过SURF检测极值点、BRISK计算描述子、利用汉明距离进行相似性度量的算法,并应用仿射变换模型计算出模板图像和搜索图像之间的仿射变换参数,然后再利用图像形态学或贴标签处理方法计算得到模板图像的形心坐标,然后结合所述仿射变换参数获取搜索图像中目标工件的形心坐标,最后结合双目立体视觉标定技术获取搜索图像中目标工件的三维坐标,进而利用运动控制器驱动机械臂对搜索图像中的目标工件进行准确抓取。
其中,结合所述仿射变换参数获取搜索图像中目标工件的形心坐标,首先利用BRISK算法对工件图像中的P个特征点进行描述,提取得到F个特征描述子,再利用相似性度量函数-汉明距离方法和所述短距离采样点对的对应二进制描述符b,对所述F个特征描述子中每两个特征描述子进行相似性度量,从而得到匹配点对,然后利用SURF-BRISK算法对所述匹配点对进行目标工件的识别,获取搜索图像中目标工件的形心坐标,进而获取搜索图像中目标工件的三维坐标,最终对搜索图像中的目标工件进行准确抓取。
所述特征描述子是描述特征点位置和方向信息的一串二进制描述符,所述一串二进制描述符为0和1组成的512位二进制比特串。采用相似性度量函数-汉明距离方法对所述F个特征描述子中任意两个特征描述子进行相似性度量的过程为:
假设在所述F个特征描述子中任意选取两个特征描述子,记为
>
其中,>l∈{1,2,…,512},xl为在模板图像中任意选取的一个特征点的二进制描述符序列的第l位数字,且xl等于0或1;yl为在搜索图像中任意选取的一个特征点的二进制描述符序列的第l位数字,且yl等于0或1。
由于根据模板图像的一个目标工件在搜索图像中寻找与之相同的目标工件时,会得到若干个与所述模板图像的一个目标工件相同或相似的目标工件,所以必须运用特征点检测匹配算法进行匹配识别。匹配识别就是利用模板图像和搜索图像的共有特征方法来度量模板图像和搜索图像各自存在的目标工件之间的相似性;本实施例是采用SURF-BRISK特征集对模板图像和搜索图像进行特征点检测及目标工件的匹配识别,目标工件识别后再运用三维重建技术获取目标工件的形心坐标,就可以实现目标工件地准确抓取,以此提高目标识别的速度和准确度。
以下通过仿真实验数据进一步验证本发明的有效性。
(一)仿真条件
本仿真分别通过SURF算法、BRISK算法和SURF-BRISK算法进行仿真分析,从而得到SURF-BRISK算法的优越性;仿真实验环境:WindowsXP32位操作系统,CPU是Intel(R)Core(TM)2Quad,2.66GMZ,2.98GB内存,所用到的软件:OpenCV2.4.6、VS2010和MATLAB2014,所采用型号为CS5260BDP东芝TELI工业摄像头采集图像。
(二)仿真内容
为了去除初次匹配中一些不正确的特征点对,本仿真还采用了图像几何的健壮估计抽样一致性(MSAC)算法去除初次误匹配点对,去除初次误匹配后再分别使用SURF算法、BRISK算法和SURF-BRISK算法得到的实验匹配对比效果如图3(a)~图3(c)所示;其中,图3(a)为使用SURF算法对模板图像和搜索图像特征点进行初次匹配得到的结果示意图;图3(b)为使用BRISK算法对模板图像和搜索图像特征点进行初次匹配得到的结果示意图;图3(c)为使用SURF-BRISK算法对模板图像和搜索图像特征点进行初次匹配得到的结果示意图。
(二)结果分析
通过仿真结果可以比较SURF算法、BRISK算法和SURF-BRISK算法三种描述子方法的实时性以及匹配率,如表1所示。从表1中可以看出,SURF算法的匹配点对最多,BRISK算法的匹配速度最快,SURF-BRISK算法结合了SURF算法和BRISK算法的优点,使得SURF-BRISK算法的匹配速度比SURF更快、比BRISK算法能得到更多更准确的匹配点对。
表1
综上所述,仿真实验验证了本发明的正确性,有效性和可靠性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围;这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
机译: 用于机器视觉模板匹配的图像和主要具有大致对角和细长特征的图像的方法和设备
机译: 用于快速匹配应用于矿山机器视觉的图像特征的方法和系统
机译: 一种图像匹配方法,以及用于执行图像匹配处理的算术系统