一种基于二进制描述子的工件识别方法及装置与流程

文档序号:11216952阅读:530来源:国知局
一种基于二进制描述子的工件识别方法及装置与流程
本发明涉及一种工件识别装置及方法,具体说是一种基于二进制描述子的工件识别方法及装置。
背景技术
:工件识别是计算机视觉技术在工业生产领域的典型应用,是生产自动化和智能化的重要组成部分。目前针对工件识别领域的研究,有基于图像轮廓的方法、基于图像不变矩的方法、基于图像局部特征的方法和基于二进制特征的工件识别方法。袁安富等提出了一种基于surf(加速鲁棒性特征)特征的零件识别算法。该方案首先用工业ccd(电荷耦合元件)相机获取工件图像,然后对工件图像进行预处理操作,主要包括图像增强、中值滤波和孤立点除噪。之后,采用surf技术对工件图像进行检测,surf算法主要包括特征点检测、主方向确定和描述子生成这三部分。其中特征点检测基于尺度空间理论,将hessian矩阵和积分图像结合以定位图像中的特征点;主方向确定则采用主方向技术来实现描述子的旋转不变性,它通过计算特征点在圆形区域内不同方向的加权harr小波响应和,其模值最大方向作为特征点的主方向;描述子生成通过在特征点主方向上计算以特征点为中心的16个子区域内加权harr小波响应矢量和,得到64维浮点型描述子,然后用欧式距离计算相似度并通过近似最近邻算法进行特征向量的匹配。上述方法采用的surf描述子是64维的浮点型描述子,在生成描述子过程中计算很耗时且描述子占用内存较多。此外,surf描述子通过主方向技术来实现描述子的旋转不变性,一旦主方向计算错误或是有一定计算偏差,将会导致特征向量有较大变化,从而使得误匹配率显著增加。ortiz在“freak:fastretinakeypoint”论文中提出了freak算法。该方案首先用agast(自适应通用加速分割检测算法)特征检测子进行特征点提取。freak建立了中间密集,周边稀疏的类似人类视网膜结构的采样模式,freak一共选取了43个采样点。freak选取的采样点,一共能形成个采样点对,为了减小计算量,对采样点对进行训练学习,选取方差大、相关性低的512对采样点。为了保证描述子的旋转不变性,freak选取了45对长距离的采样点对的梯度方向作为freak主方向。freak选取采样点的一个局部邻域,对采样点进行高斯平滑滤波较小噪声的影响,之后比较经过高斯平滑的采样点对的灰度值,然后生成二进制串,构成二进制描述子,用汉明距离计算相似度进行特征向量的匹配。上述方法采用freak描述子其采样点平滑范围重叠度较高,存在过多的冗余信息,且其尺度不变性较差;freak描述子仅利用采样点的单一邻域对比结果构成二进制描述子,缺乏层次信息;另外,freak依赖主方向技术实现其旋转不变性,鲁棒性较低。现有方法虽然能够完成基本的工件识别,但存在过于依赖特征点主方向实现旋转不变的问题,导致算法对旋转的鲁棒性比较差。为此,本专利应用改进的二进制特征描述算法,提出改进的freak描述子和fasthessian特征检测算法相结合的工件识别方法。技术实现要素:鉴于已有技术存在的不足,本发明的目的是要提供一种应用freak描述子和fasthessian特征检测算法相结合的二进制特征描述算法,以实现工件识别的方法。为了实现上述目的,本发明技术方案如下:一种基于二进制描述子的工件识别方法,其特征在于,其步骤包括:步骤1)采用中值滤波方法对输入的灰度工件图像进行平滑去噪,并利用fasthessian特征检测算子提取特征点;步骤2)将原图按照像素点灰度值排序划分为m个子区域,分别将利用fasthessian特征检测算子提取到的特征点信息以及各子区域内像素点灰度信息映射到圆形采样模式下,以构建工件特征描述子;步骤3)对所得工件特征描述子及模板库内的模板特征描述子采用级联型匹配算法以最近邻比的方式进行汉明距离匹配,得到初始匹配对并统计初始匹配对数量;步骤4)采用随机抽样一致性算法,剔除初始匹配对中的错误匹配对,得到正确匹配对数;步骤5)根据匹配对数计算匹配分数,从而得到工件识别结果。本发明另一目的是要提供一种基于上述工件识别方法的工件识别装置,其特征在于,其包括:特征点检测和描述子构造单元、模板库、特征匹配单元和剔除误匹配单元,其中特征点检测和描述子构造单元将原图按照像素点灰度值排序划分为m个子区域,利用fasthessian特征检测算子提取特征点,并并将利用fasthessian特征检测算子提取到的特征点信息以及原图各子区域内像素点灰度信息映射到圆形采样模式下,以构建工件特征描述子;所述模板库用以存储模板特征描述子;所述特征匹配单元对工件特征描述子及模板库内的模板特征描述子采用级联型匹配算法以最近邻比的方式进行汉明距离匹配,得到初始匹配对并统计初始匹配对数量;所述剔除误匹配单元采用随机抽样一致性算法,剔除初始匹配对中的错误匹配对,以得到正确匹配对数,并根据匹配对数计算匹配分数,从而得到工件识别结果。与现有技术相比,本发明的有益效果:(1)本发明将改进的freak描述子与fasthessian特征检测子相结合,增强了freak算法的尺度不变性。(2)本发明提出一种新的圆形采样模式,减小了采样点平滑范围重叠度,提高了描述子构造速度。(3)本发明提出用相似灰度值排序的方法,实现描述子的旋转不变性,并利用灰度信息对图像进行区域划分,以增加描述子层次信息。(4)本发明提出一种通过设定灰度阈值的方法对子区域内的采样点进行筛选,减少了背景像素对描述子的影响,提高了描述子的区分性能。(5)本发明采用一种子区域依次判断的级联型匹配算法,用ransac算法进行误匹配的剔除,大幅度高了匹配速度,提高了匹配准确率。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明工件识别方法流程图;图2为本发明工件特征描述子构建流程;图3为本发明圆形采样模式示意图;图4为本发明工件图像灰度值统计直方图;图5-1为本发明原图像灰度值范围0-63的提取实例图;图5-2为本发明原图像灰度值范围63-127的提取实例图;图5-3为本发明原图像灰度值范围128-191的提取实例图;图5-4为本发明原图像灰度值范围192-255的提取实例图;图6为本发明与其他方法工件识别率对比图;图7为本发明与其他方法工件识别查全率-查错率曲线;图8为本发明工件识别装置功能框图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。针对现有技术中描述子对旋转鲁棒性差和描述子在尺度和角度变化下区分能力差的问题,本发明将改进的freak描述子与fasthessian特征检测算子相结合进行工件识别。下面结合附图以及具体实施例进一步说明本发明的技术方案:如图1所示为一种基于二进制描述子的工件识别方法,其步骤包括:步骤1)采用中值滤波方法对输入的灰度工件图像进行平滑去噪,并利用fasthessian特征检测算子提取特征点,其具体步骤包括:①在灰度工件图像像素邻域内选定一个5×5的线性观察窗口,设观察窗口内的像素灰度值序列为{a1,a2…an},则像素点中值滤波输出结果为②定义中值滤波后得到的图像为c,对于图像c中的一个像素点x(i,j),计算候选特征响应值det(happrox)=dxxdyy-(kdxy)2(2)且其中,作为本发明的较佳实施方式,优选权值k=0.9,将式(2)求得的候选特征响应值det(happrox)与预先设定的阈值进行比较,若大于阈值,则判断为候选特征点,若该候选特征点响应值大于其相邻的所有像素点响应值,则判断该候选特征点为特征点。步骤2)将原图按照像素点灰度值排序划分为m个子区域,分别将利用fasthessian特征检测算子提取到的特征点信息以及各子区域内像素点灰度信息映射到圆形采样模式下,以构建工件特征描述子。图2给出了工件特征描述子的提取过程。作为本发明的较佳实施方式,m优选为4,即通过灰度排序思想对像素点进行排序,如图4所示为对工件图像的灰度值进行统计的直方图,然后根据排序结果将将图像划分成4个子区域,具体的划分步骤包括:①将所有像素点按灰度值进行排序,将排序后的灰度值划分为4份;②根据m个灰度值范围将像素点进行分类,则图像上属于某个灰度范围内的像素点都保留下来,不属于该类的像素点则全部舍弃,即将原图像分解为m个子区域,并把每个子区域内的像素点作为一个分类。如图5-1至图5-4所示即为工件基于灰度值排序划分结果,其中为了直观显示,将属于该子区域的像素灰度值置为白色255,不属于该子区域的像素灰度值置为黑色0。本发明提出了一种新的采样模式——圆形采样模式,如图3所示,采样模式需要满足以下几个条件:以检测到的特征点作为采样模式的中心;同一层同心圆上子圆面积相同,不同层子圆面积不同;每一层采样点同心圆有6个采样点,共选取31个采样点,每相隔的两层子圆相切。本发明提到的采样模式分别映射到这4个子区域内,采用随机测试的方式,产生二进制串,将4个子区域内的二进制串顺序连接,即得到了图像的不依赖于主方向的且包含一定空间信息的鲁棒性较强的二进制描述子。其具体步骤包括:①将4个子区域内像素点的灰度信息映射到圆形采样模式下;②将fasthessian特征检测算子检测到的特征点映射到圆形采样模式下;③依照圆形采样模式下采样点的位置和高斯平滑范围,将子区域内的灰度信息映射为采样点的值;④在采样模式映射的任意子区域内,随机选取两个采样点的值与设定的阈值比较,若等于设定的阈值,则判断该采样点为背景点,舍弃该采样点;若采样点的值与设定的阈值不相等,则根据公式(6)比较它们的灰度值:其中,pi(0≤i<4)表示第i个子区域映射的采样模式,m与n是pi映射的子区域内随机选取的两个采样点,i(pi,m)是采样模式pi对应的第i个子区域内采样点m的灰度值,i(pi,n)是采样模式pi对应的第i个子区域内采样点n的灰度值;⑤在每个子区域内选取n个采样点对,根据公式(6)得到n个比较结果,于是得到n维子区域描述子si如式(7)。将所有子区域的描述子si依次串联起来,构成n×m维工件特征描述子,以式(8)的方式来描述,其中m=4,所以描述子维度取决于n,在本发明中取n=128,这样构造的描述子维度是512。步骤3)对所得工件特征描述子及模板库内的模板特征描述子采用级联型匹配算法以最近邻比的方式进行汉明距离匹配,得到初始匹配对并统计初始匹配对数量。本发明采用汉明距离作为两个描述子之间的相似度量度,采用子区域的级联型匹配算法。对模板库模内的模板特征描述子和工件特征描述子按照式(9)采用异或的方式进行子区域汉明距离的匹配。其中,表示子区域内描述子的汉明距离,表示子区域汉明距离的阈值。先计算第一个子区域内描述子的128位的汉明距离,如果大于选定的阈值,则舍弃该匹配点,小于选定的阈值则进行第二个子区域内的距离比较,依此类推,逐个比较。采用最近邻比的方式进行匹配判定,即只有当待匹配点的最近汉明距离与次最近汉明距离的比值小于设定的阈值,才将其判断为正确的匹配对,则初始匹配对对数q增加1,否则q不变。其具体步骤包括:①计算第一个子区域内工件特征描述子与模板特征描述子之间汉明距离;②将此汉明距离与预先设定阈值进行比较,如果该距离大于设定的距离阈值,则舍弃该匹配点,反之则进行第二个子区域内的距离比较;③采用最近邻比的方式进行匹配判定,即只有当待匹配点的最近汉明距离与次最近汉明距离的比值小于设定的比例阈值,才将其判断为正确的匹配对,则初始匹配对对数q增加1,否则q不变;④依此类推,重复上述步骤直至遍历所有子区域。步骤4)采用随机抽样一致性算法,剔除初始匹配对中的错误匹配对,得到正确匹配对数。图像的初始匹配会存在一定的误匹配对,因此需要采取措施消除错误匹配对。采用随机抽样一致性(randomsampleconsensus,ransac)算法,剔除初始匹配对中的错误匹配对。其基本原理是,选用一小部分数据作为内点得到初始参数模型,利用初始参数将数据分为“外点”和“内点”,最后用所有内点重新计算函数的参数模型。其具体步骤包括:①设模板图像的初始匹配点集合为a,待匹配图像上的初始匹配点集合为b,在集合a和b中随机选取4个初始匹配对,并通过这4个点对得到一个投影变换矩阵h,h11和h12等分别代表了物体的平移和旋转等运动,h33通常归一化为1。其中,h33为1,其余位置数据随机对应4个初始匹配对的8个数据;②将集合点a中所有特征点根据投影变换矩阵h进行变换,得到集合b'。对集合b和b'内所有对应点的坐标进行比较,即:ei=||bi-b′i||,如果ei<ht,则判断此点对为内点,其中ht为预先设定的判定阈值,否则判断为外点,并统计本次变换得到的内点个数;③重复步骤(1)到(2),选择内点个数最多的变换,然后将通过该次变换得到的集合作为新的集合a和b,继续进行迭代运算;④直至当前迭代的内点数与前一次迭代的内点数相同,则终止迭代,将最后一次迭代得到的集合a和b作为剔除错误匹配特征点对的集合,其对应的投影变换矩阵即为最终投影变换矩阵。步骤5)根据匹配对数计算匹配分数,从而得到工件识别结果。具体的,记录下剔除错误匹配对后的正确匹配对数q1,计算匹配分数η,式中,的q是根据特征匹配后获得的特征点的初始匹配对数。当匹配分数η大于设定的阈值th时,判定待识别工件和模板工件属于同一类别,否则属于不同类别,得到工件识别的结果。进一步地,如果从摄像头获取的图像是彩色图像进行工件识别前,采用加权平均法对彩色图像进行灰度化处理,处理过程如下g(x,y)=w1r(x,y)+w2g(x,y)+w3b(x,y)(11)其中,r(x,y)、g(x,y)和b(x,y)分别是原彩色图像在图像坐标(x,y)处的分量值,g(x,y)是变换后坐标(x,y)处图像的灰度值,wi(i=1,2,3)为rgb分量的权值。本发明还公开了一种基于上述工件识别方法的工件识别装置,其包括:特征点检测和描述子构造单元20、模板库30、特征匹配单元40和剔除误匹配单元50;特征点检测和描述子构造单元将原图按照像素点灰度值排序划分为m个子区域,利用fasthessian特征检测算子提取特征点,并将利用fasthessian特征检测算子提取到的特征点信息以及原图各子区域内像素点灰度信息映射到圆形采样模式下,以构建工件特征描述子;模板库用以存储模板特征描述子;特征匹配单元对工件特征描述子及模板库内的模板特征描述子采用级联型匹配算法以最近邻比的方式进行汉明距离匹配,得到初始匹配对并统计初始匹配对数量;剔除误匹配单元采用随机抽样一致性算法,剔除初始匹配对中的错误匹配对,以得到正确匹配对数,并根据匹配对数计算匹配分数,从而得到工件识别结果,如图8所示为本装置的功能流程示意图。装置的输入是待匹配工件的灰度图像,输出为工件识别的结果。如果对不在当前模板库中的工件进行识别,可以通过剔除误匹配模块得到判断结果,并更新当前模板库。为了验证本发明的有效性,挑选了螺母、双耳垫圈、螺钉、一字型螺钉、十字型螺钉5种工件进行测试,每种工件选取120张工件图像作为测试集,120张工件图像包含图像的平移、旋转、尺度变换、光照变化和噪声影响等。本发明的实验环境为,window7旗舰版操作系统的pc机,配置为intel(r)core(tm)i3-370mcpu@2.40ghz,内存为2gb,编译环境为vs2010,opencv2.4.9。将本发明与改进前的freak和brisk进行比较,三种方法的工件识别率统计结果如图6所示。从图6可见,本发明提出的改进方法对实验所用的5种工件的识别率均高于传统的brisk算法和freak算法。本发明针对freak算法尺度变化性能差的问题,采用尺度变换性能更好的fasthessian特征检测算子代替agast特征检测算法。在采样时,通过设定灰度阈值减小了背景像素对工件的干扰,提高了描述子的区分性能。图7所示为三种描述子的查全率-查错率曲线,其验证了本发明方法的有效性。本发明改进的freak描述子的性能在旋转缩放的条件下要好于改进之前的freak描述子,主要是本发明通过灰度排序进行子区域的划分,实现了不依赖主方向的旋转不变,并增加了描述子内的局部灰度信息和灰度对比信息,提高了描述子区分性能的同时也提高了对旋转的鲁棒性。另外,表1展示了brisk、freak和本发明方法的描述子构造时间,由表1可见,本发明的方法描述子构建时间要小于brisk和freak,主要是因为本发明提出新的采样模式,采样点内冗余信息少,不需要freak算法对采样点对进行筛选,因此降低了时间复杂度。本发明所提出的方案有更好的实时性。表1不同描述子构造时间描述子种类构造时间(ms)brisk方法285.16freak方法204.23本发明方法180.54上述结果表明,用本发明提出的方法进行工件识别有更高的识别率和更好的实时性和鲁棒性。本发明利用fasthessian特征检测算子代替freak原来的特征检测算子agast,增强freak描述子在尺度变换下的区分能力;且在本发明提出的圆形采样模式下,对特征点进行采样,减少描述子内的冗余信息;最后,采用不依赖主方向技术的多区域二进制描述子,以提高二进制描述子的鲁棒性和区分性,实现工件图像在旋转缩放情况下的有效识别。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1