首页> 中国专利> 一种基于直线基元的几何哈希法实时定位与匹配方法

一种基于直线基元的几何哈希法实时定位与匹配方法

摘要

本发明是一种基于直线基元的几何哈希法实时定位与匹配方法,通过几何基元之间的相对关系来实现匹配定位。离线模板制作过程中,采用迭代多边形逼近的方法将边缘轮廓图像快速分割成直线段的形式,通过拟合算法得到基元的几何参数,并合并过度分割的基元。坐标表示几何基元向量,通过构建基元基底,量化表示剩余基元向量,建立几何哈希表。在线模板匹配过程中,在实测图像中任意构建一组基底,量化剩余基元的坐标,然后通过坐标在几何哈希表中查询对应的基底,来实现匹配定位。本发明对于具有简单几何形状的工件,在部分遮挡情况下,能快速、准确的完成实时匹配定位。

著录项

  • 公开/公告号CN103871048A

    专利类型发明专利

  • 公开/公告日2014-06-18

    原文格式PDF

  • 申请/专利号CN201310754571.X

  • 发明设计人 白瑞林;周晴;李新;

    申请日2013-12-31

  • 分类号G06T7/00(20060101);

  • 代理机构

  • 代理人

  • 地址 214122 江苏省无锡市蠡湖大道1800号江南大学

  • 入库时间 2023-12-17 00:01:10

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-01-11

    授权

    授权

  • 2014-07-16

    实质审查的生效 IPC(主分类):G06T7/00 申请日:20131231

    实质审查的生效

  • 2014-06-18

    公开

    公开

说明书

技术领域

本发明涉及机器视觉检测中的识别定位领域,具体是指基于边缘轮廓的多边形近似,提取明显的直线基元,并坐标化直线基元,通过几何哈希法实现对现场工件的一种快速识别定位方法。 

背景技术

近些年,机器视觉技术发展迅速,逐渐成为在线产品检测与监控的重要手段。机器视觉定位技术具有非接触,稳定性好,精度高,抗干扰能力强等突出优点,广泛应用在工业缺陷检测、产品分拣、机器人视觉引导技术等领域中。 

在机器视觉基元定位技术中,HAIMJ.W.OLSFSON提出了一种图像匹配算法,该算法将坐标的几何特征与哈希表结合使用,基于结构信息进行模板匹配。Albert T提出了一种将图像角点作为图像的稳定特征,将特征点用两个基点来坐标表示,然后采用几何哈希法来实现匹配定位。本发明在这些研究基础上,根据工业现场实时、准确的要求,提出了一种基于直线基元的几何哈希法实时定位与匹配方法。 

发明内容

本发明的目的在于基于模板匹配技术,设计一种直接针对图像中直线基元之间相互关系的准确、实时的识别定位方法。 

在工业上,很多工件具有规则的几何形状,本发明能够快速、准确的定位与识别工业流水线上的工件。 

本发明基于边缘轮廓的多边形描述得到几何基元,并将其向量表示,采用几何哈希法实时匹配定位的技术步骤如下: 

离线过程: 

(1)采用背光照射,使用相机采集图像,选择完整的工件作为模板图像并手动选取工件的区域,即ROI区域。 

(2)对获取的模板图像的ROI区域预处理,使用Otsu法阈值分割得到目标和背景。通过sobel算子提取目标的边缘轮廓,并以8邻域逐像素跟踪轮廓。 

(3)使用迭代算法对轮廓迭进行递归细分,以多边形直线表示,并去除可能构成圆弧的部分(直线长度小于一定的阈值,一股设为10个像素)。 

(4)最小二乘法拟合直线基元,得到几何参数,通过斜率判断相邻的直线基元是否可以合并。 

(5)将直线基元坐标表示,任取两个不共线的基元作为基底,并将剩余的基元用此基底坐标表示。 

(6)建立哈希表,并选择其余的基底组合重复第(5)步,直到所有的直线基元都做过基底为止。 

在线过程: 

(1)获取流水线上工件的图像,按离线过程的方法,预处理图像,提取边缘轮廓,并跟踪轮廓,若轮廓的长度小于一定的阈值(20个像素),则认为是噪声引起的细小轮廓,去除掉。 

(2)对满足条件的轮廓,同离线过程第(3)(4)步,得到直线基元。 

(3)坐标表示基元,任取两个不共线的直线基元作为基底,将剩余基元用此基底坐标表示,在几何哈希表中查询对应的基底,并对该基底投票。 

(4)得票最多的一组基底作为匹配点,计算模板与实测图中的工件之间的相对关系。 

本发明的有益效果:本发明通过离线训练学习模板,将模板中的直线基元用坐标表示,选择直线基元构建基底,量化剩余基元并建立几何哈希表;在线实测图像中,选择一组主直线基元构成基底,量化剩余基元,通过坐标在几何哈希表中查询对应的基底并投票,来实现实时定位与匹配。本发明通过几何基元之间的关系匹配定位模板实例,避免了以全部边缘轮廓特征点作为特征匹配的计算复杂性。 

附图说明

图1本发明整体示意图。 

图2本发明具体匹配过程示意图。 

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合具体实施例,并参照附图,对本发明作进一步详细说明。 

如图1所示,为本发明的算法整体流程图。 

算法分为离线模板制作过程和在线实测过程,具体步骤如下: 

离线模板制作过程 

第一步: 

(1.1)使用背光照射,采集完整工件图像作为模板图像,并选取工件所在的区域为ROI区域。 

第二步: 

(2.1)对ROI区域进行高斯滤波去噪,其模板如下: 

A=116121242121

(2.2)对高斯滤波去噪后的图像采用Otsu阈值分割,分割出目标与背景。 

(2.3)通过sobel边缘检测算子计算得到轮廓区域,将轮廓边界逐像素依次检测记录下来,存入边界像素序列数组P(p0p1,...pn)。 

第三步: 

将轮廓的所有边缘点表示为:pi=(ri,ci),i=1,2,...,n。算法将轮廓用一个多边形近似等价,在边缘轮廓上的所有点,定位一个相应的控制点集 j=1,2...,m,m≤n。此子集可以非常好的描述该轮廓。一旦找到了这个合适的近似多边形,则该多边形的每条线段就是轮廓中可以用直线很好地近似的一部分。 

(3.1)开始时,本发明在轮廓的起点和终点(P1(x1,y1),P2(x2,y2))建立一条直线,如果轮廓是闭合的,则加入轮廓索引的中点,分别建立两条线段。 

(3.2)计算所有轮廓点P3(x3,y3)到线段(y1-y2)x-(x1-x2)y+x1y2-x2y1=0的距离,计算公式为:其中A=(y1-y2),B=(x2-x1),C=x1y2-x2y1。找到与线段距离最大的轮廓点,并且这个距离大于阈值T(手动设置为2个像素,),则它作为轮廓控制点。 

(3.3)在最大距离位置的轮廓点处,将当前线段分为两条线段。重复(3.2),直到所有线段满足最大距离约束条件。 

(3.4)在轮廓的多边形描述中,去除可能构成圆弧的部分,减少算法的复杂性和计算量,去除规则为,若该多边形的一条边长小于一个阈值(人工设定,一般为10个像素)则去除该边,不进行下一步的处理。 

第四步: 

对轮廓多变形描述中,剩余的主直线基元进行第四步合并过度分割的直线基元的处理。 

(4.1)采用最小二乘法拟合直线基元,设直线函数y=kx+b,其中k,b是直线参数。设反应计算值与实际值的误差,计算误差最小时的参数k,b。 

k=nΣi=1nxiyi-Σi=1nxiΣi=1nyinΣi=1nxi-(Σi=1nxi)2

b=1nΣi=1nyi-anΣi=1nxi

(4.2)通过直线基元的几何参数(k,b),若相邻的两个直线基元,它们的斜率在一定的阈值(人工设置,斜率之差小于0.3)范围内,则认为它们属于同一条直线基元,将它们合并,并采用最小二乘直线拟合法计算它的几何参数。 

第五步: 

坐标化基元向量,选择基底,量化剩余基元。 

(5.1)将几何基元用坐标表示,根据拟合得到的斜率信息k,在直角坐标 系中,基元的起点p1(x1,y1)、终点p2(x2,y2),则基元向量的坐标为λ(1,k),其中λ=|x1-x2|。 

(5.2)取两个不共线的基元primitive1、primitive2作为基底,对于剩余基元primitive3,根据基底表示为坐标(α,β)。 

αxa+βxb=xcαya+βyb=yc---(1)

解得:α=xcyb-xbycxayb-xbyaβ=xayc-xcybxayb-xbya

其中,(xa,ya)为primitive1的坐标表示,(xb,yb)为primitive2的坐标表示,(xc·yc)为primitive3的坐标表示。 

则基底primitive1、primitive2的组合表示为(basic_x,basic_y)。 

第六步: 

将基底组合(basic_x,basic_y),量化剩余基元。根据坐标与基底信息构建哈希表。 

(6.1)对剩余基元的向量坐标(α,β),即关键码,建立一个映射地址index,并在地址index中存入相应坐标的基底信息,计算方法映射地址,即将坐标(α,β)的第一坐标α作为映射地址的整数部分,第二坐标β作为映射地址的小数部分,即index=α.β。 

(6.2)在构建哈希表时,将哈希表内容(即坐标,映射地址,基底)按index的大小顺序排列。 

(6.3)选择另外的基底组合,重复上述步骤,建立哈希表,直到所有组合都计算完毕。 

在线模板匹配过程 

第一步: 

(1.1)使用背光照射,通过相机在线采集实测图像。 

(1.2)对在线实测图像进行数字滤波处理,采用高斯滤波器,滤波器模板如下: 

A=116121242121

(1.3)对处理后的图像进行阈值分割,分割出目标与背景。 

(1.4)通过边缘检测得到的轮廓区域,将轮廓边界逐像素依次检测记录下来,存入边界像素序列数组P(p0,p1,...pn)。并通过轮廓的长度(一般轮廓长度小于20个像素),去除噪声引起的细小轮廓。 

第二步: 

(2.1)对边缘轮廓进行多边形描述并去除可能构成圆弧的直线基元,如离线过程第三步,并合并过度分割的直线基元,如离线过程第四步。 

第三步: 

将基元坐标表示,任取两个不共线的基元作为基底,将剩余基元用此基底坐标表示,在儿何哈希表中查询对应的基底,并对该基底投票。 

(3.1)将几何基元用坐标表示,根据拟合得到的斜率信息k,在直角坐标系中,基元的起点p1(x1,y1)、终点p2(x2,y2),则基元向量的坐标为λ(1,k),其中λ=|x1-x2|。 

(3.2)任取两个不共线的基元作为基底,将剩余基元中的第一个基元在当前基底下,坐标表示为(μ,σ);方法如离线过程(5.2)。 

(3.3)搜索哈希表(α,β),考虑坐标的计算误差,计算|α-μ|<Δ1且|β-σ|<Δ2其中Δ1,Δ2为人工设定阈值。 

在实测图中,计算主直线基元下(即直线基元长大于一定的阈值,一般取20个像素)的各基元坐标(μ,σ),计算映射地址index=μ.σ,本发明在搜索哈希表(α,β)时,考虑坐标的计算误差,满足|α-μ|<Δ1且|β-σ|<Δ2(其中Δ1,Δ2为人工设定阈值)的映射地址即为搜到地址。 

(3.4)若不存在对应映射地址,则取下一个基元。 

(3.5)若存在对应的映射地址,查询到对应基底信息(basic_x,basic_y),本发明的投票方法为:对存储空间vote(basic_x,basic_y)中的数据累加1。 

第四步: 

得票最多的一组基底作为匹配点,在实则图像中标出其位置。 

(4.1)找出得票(vote)最多的一组基底,这组模板基底,即为实测图像中选择的基底。通过对应关系标出模板在实测图像中的位置。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号