一种基于圆投影的快速图像匹配方法与流程

文档序号:18454673发布日期:2019-08-17 01:30阅读:365来源:国知局
本发明属于计算机机器视觉
技术领域
:,用于对图像中的物体进行匹配,具体为一种快速的基于圆投影的图像匹配方法。
背景技术
::模板匹配是基于已知的模板在待匹配图中找到最佳匹配位置的过程,是数字图像处理中一个重要内容,已广泛应用于工业对位、目标检测识别、跟踪等。近年来模板匹配研究已经有一些有效的算法(如文献[1])。但现有的模板匹配过程大多将模板与场景图像进行卷积,计算模板与场景图像之间的相似度以确定位置(如文献[2])。由于相关性的计算量很大,因此需要低成本的相关性算法进行实时处理,文献[3]中提出了大量相关类型的算法。这些方法大多分为两类:1)对模板和场景图像都使用图像金字塔,并通过自顶向下搜索来执行匹配(如文献[4]);2)采用两次搜索算法,在第一次搜索过程中使用亚模板在粗网格中搜索,第二次在先前发现的候选点附近搜索更好的匹配(如文献[5])。但是,当检测目标发生旋转时,以上算法将不再有效。近年来国内外学者相继提出了一些可以任意旋转的方法。lowe(文献[6])提出了一种尺度不变特征变换(sift),它利用检测区域的梯度分布,具有缩放和旋转不变性,但是当图像特征点过少或出现重复结构时,基于sift的匹配容易失败,且运算量大。文献[7]提出一种将sift和旋转不变lbp结合的图像匹配方法,提高了运算速度,但是当图像细节纹理过多时,该算法匹配性能将显著降低。基于圆投影的旋转不变性,tang(文献[8])提出了用圆的各向同性和投影特征进行任何角度匹配,但原始的圆投影匹配计算量较大。后续不断有学者对圆投影算法改进。tsai(文献[9])使用环形投影技术表示多通道图像中的模板,通过计算彩色环形投影信息之间的ncc来快速选择候选模板,然后通过旋转模板来估计旋转。为了减少计算复杂度,文献[10]使用了一种快速检测到相似候选项的消除策略。文献[11]将原始圆投影向量改进,使得改进后的圆投影匹配算法对光照、噪声、对比度变化有更好的鲁棒性。文献[12]提出了两阶段匹配方法,利用第一阶段环形投影的矢量和选择候选点,然后对第一阶段存留的候选点使用旋转不变属性进行zernike矩模板匹配。文献[14]将圆投影和序贯相似性检测结合起来,通过跳跃大量匹配点,减少非匹配点的计算量。文献[15]提出了一种扩展的圆投影算法(extendedrpt,e-rpt),通过添加辅助点约束的方法来有效提高匹配精度。但是上述算法忽略了圆投影向量本身对于同质区域无法识别的问题,同时具有计算复杂度较高、识别率较低等缺点。参考文献[1]zitová,b.;flusser,j.imageregistrationmethods:asurvey.imagevis.comput.2003,21,977–1000.[2]j.k.aggarwal,l.s.davis,w.n.martin,correspondenceprocessindynamicsceneanalysis,procieee69(5)(1981)562}572.[3]j.p.secilla,n.garcia,templatelocationinnoisypictures,signalprocess.14(1987)347}361.[4]tanimoto,s.l.templatematchinginpyramids.comput.graph.imageprocess.1981,16,356–369.[5]a.rosenfeld,a.kak,digitalimageprocessing,2ndedition,vol.2,academicpress,orlando,1982.[6]lowe,d.g.distinctiveimagefeaturesfromscale-invariantkeypoints.int.j.comput.vis.2004,60,91–110.[7]郑永斌,黄新生,丰松江.sift和旋转不变lbp相结合的图像匹配算法[j].计算机辅助设计与图形学学报,2010,22(2):286-292.[8]tang,y.y.;cheng,h.d.;suen,c.y.transformation-ring-projection(trp)algorithmanditsvlsiimplementation.int.j.patternrecogn.artif.intell.1991,5,25–56.[9]tsai,d.-m.;tsai,y.-h.rotation-invariantpatternmatchingwithcolorring-projection.patternrecogn.2002,35,131–141.[10]lee,w.-c.;chen,c.-h.afasttemplatematchingmethodwithrotationinvariancebycombiningthecircularprojectiontransformprocessandboundedpartialcorrelation.ieeesignalprocess.lett.2012,19,737–740.[11]徐亦斌,王敬东,李鹏.基于圆投影向量的景象匹配方法研究[j].系统工程与电子技术,2005,27(10).[12]m.s.choiandw.y.kim,“anoveltwostagetemplatematchingmethodforrotationandilluminationinvariance,”patternrecognit.,vol.35,pp.119–129,2002.[13]sassanapitak,s.;kaewtrakulpong,p.anefficienttranslation-rotationtemplatematchingusingpre-computedscoresofrotatedtemplates.inproceedingsofthe6thinternationalconferenceonelectricalengineering/electronics,computer,telecommunicationsandinformationtechnology(ecti-con2009),pattaya,chonburi,thailand,6–9may2009;pp.1040–1043.[14]贾晓芬,赵佰亭,周孟然,etal.采用圆投影和序贯相似检测的图像匹配技术[j].哈尔滨商业大学学报(自然科学版),2015(2).[15]于辉,张忠秋,何周灿.用于任意旋转角度景象匹配的圆投影算法[j].计算机工程与应用,2011,47(5):172-174.技术实现要素:本发明要解决的问题是:传统基于灰度的图像匹配算法计算量大、不抗旋转;现有基于圆投影的匹配方法抗旋转,但是计算量大、匹配精度不高、对同质区域无法识别,在机器视觉领域需要做到实时性和效率的兼容,同时需要识别旋转目标。本发明的技术方案为:一种基于圆投影的快速图像匹配方法,对任意大小样本图像,提取圆形模板,利用混合圆投影算法将二维图像转换到一维向量,以快速提取图像特征用于图像匹配,具体为:对选定的圆形模板图像,首先进行金字塔分解,将其降采样到指定层,然后使用混合圆投影变换计算出每一层模板的混合圆投影向量,并确定每一层的得分阈值;对待检测图像,首先进行金字塔分解,降采样到指定层,并从图上依次选择搜索子图,搜索子图为圆形,和降采样后的模板尺寸一致,并计算搜索子图的混合圆投影向量,然后对降采样后的模板和搜索子图的混合圆投影向量使用ncc算法计算相似度得分,得到某点所在子图对应的得分,结合阈值的局部聚类算法对得到的点过滤,逐层扩大搜索,使用非极大值抑制算法得到目标匹配位置,最后使用角度直方图估计策略得到目标的旋转角度,完成旋转目标的匹配。进一步的,原始圆投影向量p(r)如下式所示:其中,n(r)为半径为r的圆周上的像素个数,t(r,θ)为模板图上对应半径和旋转角度点的灰度值。方差投影σ(r)定义为:其中,t(r,θ)为模板图上对应点的灰度值;n(r)为半径为r上的圆周上的像素个数。结合均值投影(1)和方差投影(2),用于模板图和待搜索子图的混合投影hp(r)、hs(r)分别定义为:hp(r)=ωm×pp(r)+ωσ×σp(r)(3)hs(r)=ωm×ps(r)+ωσ×σs(r)(4)其中,ωm、ωσ分别为均值投影和方差投影的权重因子。进一步的,相似度函数计算具体为:其中,hp(r)和hs(r)分别是模板图和搜索子图的混合圆投影向量,分别是模板图和搜索子图rmax~rmin范围内混合圆投影的平均值;rmax、rmin分别是计算相似度时选择的外环和内环大小;得到的相似度f在-1到1之间。图像金字塔分解具体为:3.1)将图像降采样到给定层,使用缩小后的待检测图像和缩小后的模板进行顶层局部聚类算法,得到若干个候选点,其基本思想是:将候选点按照位置分成若干个团簇,每个团簇内的候选点拥有同一个簇编号,不同簇彼此不相邻,具体流程为:3.1.1)构建一个和待检测图像大小相同的掩码图mask,mask用于存储候选点所在团簇编号,以及团簇相关信息的hash_table,hash_table用于存储簇内最相似点的位置和相应的相似度,最相似度点即簇心;3.1.2)计算某点p所在子图与模板的相似度t,如果t大于相似度阈值tn-1,则计算该点上方和左边点对应的mask值m_up和m_left:c)如果m_up和m_left不都为零,说明这是已经存在的某个簇的一部分,将p点加入到该簇,即将该点对应mask值设置为m_up和m_left的较大值,如果p点对应相似度大于簇中最相似点的相似度,则更新簇中最相似点的位置和相似度,否则不更新hash_table;d)反之,如果m_up和m_left都为零,说明p是新的点,将p对应位置和相似度放入hash_table中,将对应mask点的值设置为hash_table的大小,以此建立新的簇种子点;3.1.3)计算下一个点,重复步骤3.1.2),直到图像的所有的点遍历完,计算结束;3.1.4)最终将hash_table中的点位置保存下来,得到候选点位置和对应相似度信息;3.2)逐层对候选点过滤,直到选出最匹配的点,具体的候选点筛选措施为:3.2.1)将候选点集合b根据hash_table中的相似度得分进行降序排列;3.2.2)选择具有最大相似度的点q,将其从b集合中移除并加入到最终的候选点集合d中;3.2.3)计算b中剩余候选点中与q距离dis,将dis小于阈值d的点从b中移除,阈值d选择为模板的内切圆半径;3.2.4)重复步骤3.2.1)~3.2.3),直到b为空或d中候选点数已超过设定的数量,此时d中保留的候选点,作为本层最终的候选点集,此时的候选点位置即为目标匹配后的位置。进一步的,在待检测图像上确定匹配位置后,目标相对模板的旋转角度估计策略具体为:在半径为r的环上,旋转角度θr通过以下式子得到:其中,kr为偏移量,为步进角度,nr为半径为r的环上像素数量偏移量kr使用环形移动估计得到,具体为:kr=argmax(δr(k)),k∈[0,nr](7)其中,δr(k)为偏移k像素之后和模板中环的归一化互相关系数,由于待搜索子图是模板旋转某一角度后得到的,环上像素发生环形移动,定义δr(k)如下:其中,pr(n)和pr'(n)分别为模板图和待搜索子图对应半径圆上像素灰度值,和分别为模板图和待搜索子图对应半径圆上像素灰度平均值;根据环上像素移动确定出的旋转角度,由于选择半径不同会发生变化且鲁棒性不高,这里使用角度直方图估计角度,具体为:(1)构建一个维数为360的数组a[360],存放旋转角度对应的环的数量;(2)计算半径为r处的旋转角度,四舍五入后angle放入直方图,即a[angle]加一;(3)对所有半径进行(3)操作,最终构建角度分布的直方图;(4)检查步骤(3)得到的角度直方图中的众数,即为最终角度。本发明提出了一种改进的圆投影匹配算法,在确保匹配速度的同时具有较高的匹配精度,其主要创新点为:(1)提出了混合圆投影向量,将图像从二维变换到一维向量,减少了计算复杂度,对于同质区域也能提供稳定、独特的特征;(2)使用图像金字塔,结合顶层局部聚类和逐层金字塔筛选,显著提升运算速度;(3)基于旋转目标像素的环形移位,构建角度直方图对角度进行估计,提高了角度计算的鲁棒性和准确性。附图说明图1为本发明方法的流程图。图2为圆投影模板示意图。图3为简单图和其对应的圆投影向量。图4为基于图3的方差投影向量示意图。图5为本发明改进的混合投影向量示意图。图6为本发明中的逐层金字塔策略示意图。图7为本发明中的顶层局部聚类流程图。图8为本发明中的顶层局部聚类效果图。图9为使用非极大值抑制过滤候选点的示意图。图10为目标旋转时环上像素分布图。图11为本发明中,使用角度直方图对图10进行环上角度统计的示意图。图12为本发明在光照变化下的匹配效果。图13为本发明中用到的旋转测试图片。图14为本发明中用到的性能测试图片。具体实施方式针对
背景技术
:中所提到的现有技术的问题,本发明设计了一种新的改进的圆投影匹配算法,主要贡献为:(1)提出了混合圆投影向量,提供稳定和独特的特征;(2)使用图像金字塔,结合顶层局部聚类和逐层金字塔筛选,提升运算速度;(3)构建角度直方图,估计精确的旋转角度。实验结果表明该发明对任意旋转的物体能精确地定位并估计角度,计算速度也有了明显提升。如图1所示,本发明通过圆投影变换对图像进行匹配。首先对模板和搜索图像进行金字塔分解,降采样到指定层,计算降采样后的模板和搜索图像的混合圆投影向量,并计算其相似度,根据聚类和筛选策略,结合图像金字塔加速,定位候选点位置。最后,使用角度直方图策略(ahe),估计旋转角度。至此完成了旋转目标的匹配。下面具体说明本发明的实施。1、圆投影向量的改进圆投影匹配以模板中心为圆心,模板图片最大内切圆的半径r为半径创建圆型模板。如图2所示,采用极坐标系表示图像t,以图像中心“o”为圆心建立极坐标系,定义半径为r上的圆投影向量p(r)为其中t(r,θ)为模板图上对应半径r和旋转角度θ的点的灰度值。当图像旋转时,图上的像素会随着图像的旋转而旋转,p(r)为固定量,因此圆投影算法抗旋转。当半径r不同时,所对应图像圆投影向量为:p=(p(0),p(1),,p(r))(2)为了方便计算,此处我们定义圆投影向量p(r)为:其中,n(r)为半径为r上的圆周上的像素个数。然而,标准圆投影向量对于相近灰度值(同质)的区域是无法识别的。如图3所示,(a)为半径为r的圆,圆上所有像素点灰度值都为100,(b)为等半径圆上,一半像素点值为50另一半为150,计算圆投影向量如图3(e)所示,可以看到原始圆投影向量对于(a)(b)这种同质区域是无法区别的。圆投影变换得到图像特征,是为了降低计算复杂度,而且这些特征必须是稳定而且独特的。而原始圆投影向量对于图3(a)(b)这种相近灰度值(同质)的区域无法区分,我们必须找到这些图片的独特之处来加以区分。为解决这个问题,本发明引入了对应半径r上的方差投影σ(r),定义如下:其中,t(r,θ)为模板图上对应点的灰度值;为半径为r的圆上灰度平均值;n(r)为半径为r上的圆周上的像素个数。如图4所示,方差投影向量表明图3(b)图片和其他三种图片图3(a)、(c)、(d)有显著区别。图3(a)(c)(d)这三类图片无法用方差投影区分,但是可以用式(3)中的圆投影向量区分出来,如图3(e)所示。为了兼顾稳定性和独特性,本发明结合均值投影(3)和方差投影(4),得到了混合投影,用于模板图和待搜索子图的混合投影hp(r)、hs(r)分别定义如下:hp(r)=ωm×pp(r)+ωσ×σp(r)(5a)hs(r)=ωm×ps(r)+ωσ×σs(r)(5b)其中,ωm、ωσ分别为均值投影和方差投影的权重因子,一般是经验值设定,如ωm=0.6、ωσ=0.4。如图5所示,为图3(a)~(d)图对应的混合投影向量的分布图。此处使用ωm=0.6,ωσ=0.4.可以看到,通过混合圆投影变换,四幅图片有较好的区分度。2、相似度函数使用归一化互相关(normalizedcrosscorrelation,ncc)计算匹配的相似度,具体计算如下:hp(r)、hs(r)分别是模板图和搜索子图的混合圆投影向量,分别是模板图和搜索子图rmax~rmin范围内混合圆投影的平均值;rmax、rmin分别是计算相似度时选择的外环和内环大小;得到的相似度f在-1到1之间。待搜索子图和模板完全匹配时,f=1。3、图像金字塔加速为了提高匹配效率,使用图像金字塔进行加速。这里分两个步骤:第一步,将图像降采样到给定层,使用缩小后的图像和缩小后的模板进行粗搜索,给出若干个候选点;第二步,逐层对候选点过滤,直到选出最匹配的点。假设取样层数为n-1层,设置每一层的相似性阈值thresh[n]={t0,t1,…,tn-1},只有大于阈值的匹配点才能够被保留下来。图6表示了金字塔层数为3时的搜索示例,最佳匹配结果用红色块表示。(1)顶层局部聚类在最顶层使用对应层数模板和待匹配子图的圆投影向量匹配。为了提高效率,这里引入了局部聚类算法,基本思想是将候选点按照位置分成若干个团簇,每个团簇内的候选点拥有同一个簇编号,不同簇彼此不相邻。如图7所示的流程图,算法流程表述如下:a.构建一个和待匹配图相同大小的掩码图mask(里面存储候选点所在团簇编号),以及团簇相关信息的hash_table(里面存储簇内最相似点位置和相应的相似度)。b.计算某点p所在子图与模板的相似度t,如果t大于相似度阈值tn-1,则计算该点上方和左边点对应的mask值m_up和m_left。a)如果m_up和m_left不都为零,说明这是已经存在的某个簇的一部分,将p点加入到该簇,即将该点对应mask值设置为m_up和m_left的较大值,如果p点对应相似度大于簇中最相似点的相似度,则更新簇中最相似点的位置和相似度,否则不更新hash_table;b)反之,如果m_up和m_left都为零,说明p是新的点,将p对应位置和相似度放入hash_table中,将对应mask点的值设置为hash_table的大小,以此建立新的簇种子点。c.计算下一个点,重复步骤b,直到所有的点遍历完,计算结束。d.最终将hash_table中的点位置保存下来。以lena图像为例,使用局部聚类之后的mask图像如图8所示,(a)为匹配之后的效果,(b)为模板,(c)为mask图。可以看到,使用局部聚类,可以在线性时间内快速滤除干扰点,将相邻候选点聚集成簇,减少后续候选点数,减少了计算量。(2)逐层金字塔筛选在最顶层使用对应层数模板和上一层得到若干候选点之后,传入本层,对候选点相应位置进行扩大区域方法搜索,如果计算相似度大于阈值,将其传入到本层候选点集合中。但是在本层候选集合中有很多候选点,全都传入下一层进行扩散搜索是非常耗时的。为了减少运算量,这里引入非极大值抑制(non-maximumsuppression,nms),选取本层最终候选点。nms的基本思想是,保留局部最大值,抑制非极大值。计算流程如下:对于候选点列表b及其对应的相似度s,结果候选点集合为d,采用下面的计算方式:a.将候选点集合b根据相似度得分进行降序排列;b.选择具有最大相似度的点q,将其从b集合中移除并加入到最终的候选点集合d中;c.计算b中剩余候选点中与q距离dis,将dis小于阈值d的点从b中移除,此处阈值一般选择为模板的内切圆半径;d.重复这个过程,直到b为空或d中候选点数已超过一定数量。此时d中保留的候选点,作为本层最终的候选点集。nms流程示意图如图9所示,(a)为刚开始候选点集合b;(b)为处理的结果d。刚开始o1~4计算得到的相似度分别为0.9、0.7、0.6、0.8;通过选择最大得分o1加入候选集d并在b中删除,删除b中与o1距离在r以内的点(o2、o3),在b中选择最大得分的点(仅有o4),加入到d中并将其从b中删除,得到d{o1、o4}。使用nms减少了相邻候选点的出现,避免结果的重叠,同时可以根据输入目标点数的要求,得到最终指定数量的匹配目标。4、角度估计策略由于我们保存了所在圆环上像素的灰度,就可以比较容易的计算出旋转角度了。图10为环上像素值分布示意图(r=100),其中(a)为原图,(b)为旋转110度图,(c)为原图(pr)和旋转后(pr′)环上像素值分布图。可以看到,旋转之后,环上所有像素的灰度值发生了循环移位(简称环移)。由此,在半径为r的环上,旋转角度θr可以定义为:其中,kr为偏移量,为步进角度,其中nr为半径为r的环上像素数量。偏移量kr定义为:kr=argmax(δr(k)),k∈[0,nr](8)nr为半径为r的环上像素数量。θr(k)为偏移k像素之后和模板中环的归一化互相关系数,定义如下:其中,pr(n)和pr′(n)分别为模板图和待搜索子图对应半径圆上像素灰度值。采用(7)~(9)的式子,就可以计算出半径为r处候选点的旋转角度。为了提升角度估计的准确性,我们提出了一种用角度直方图(anglehistogramestimation,ahe)估计角度的方法。详细表述为:(1)构建一个维数为360的数组a[360],存放旋转角度对应的环的数量。(2)计算半径为r处的旋转角度θr,四舍五入后angle放入直方图,即a[angle]加一;(3)对所有半径进行步骤(2),最终构建角度分布的直方图;(4)检查步骤(3)得到的角度直方图中的众数,即为最终角度。图11是图10(b)以图10(a)为模板,计算旋转角度之后的角度统计图,图11(a)为环上的角度统计,图11(b)是角度对应的环数分布直方图。可以看到,通过ahe,计算得到最终角度,为直方图中的众数(即尖峰),即110°,和理论旋转角度相符合。使用ahe可以对角度有较好的估计,避免r过小时计算角度误差较大,另外,对于环上存在同质区域(灰度值分布一致)时角度计算不正确的情况,也具有一定的抗干扰能力,提高了角度估计的鲁棒性。5、具体实施及效果分析。使用上述方法,本发明试验了多组同一目标在发生不同变化下的匹配效果。为了验证该方法的有效性,将结果与原始圆投影方法[8](transformation-ring-projection,简写为trp)和文献[13](pre-computedscoresofrotatedtemplates,简写为pcs)中的方法进行了比较。所有实验均在一台使用vs2013/opencv3.0.0,intelcorei51.6hzcpu和8gb内存的电脑上进行。(1)光照变化如图12所示,是不同光照下使用工业相机拍摄的槟榔图片,(a)为模板图片,(b)~(f)为光照变化时匹配图片,红色圆圈内为匹配出来的结果。可以看到,本发明方法针对过曝、欠曝的图片都可以很好的识别出来,具有很强的光照不变性。(2)角度估计结果图13是旋转测试图片,用于估计所提出算法的角度精度,(a)为旋转基准图(1296*972),(b)为模板(180*180)。将原始图像在0°~360°范围内每间隔10°做一次旋转,一共得到36张图片,然后使用本发明方法,对旋转后的36幅图片和原始基准图进行匹配。角度误差为匹配出来的角度和真实旋转角度之差的绝对值。为了提供一个全面的精度评价,使用误差er的三个性能指标来定量地展示性能:误差的均值er_m、误差的标准差er_std和最大误差er_max。匹配结果如表1所示。表1旋转角度匹配结果从表1可以看出,本发明方法误差均值、标准差、最大值分别为0.0988、0.1836、1.107。原始的圆投影算法(trp)只使用圆投影向量进行目标的定位,并没有计算旋转角度,这里不便进行比较。在文献[13]中,角度精度严重依赖于预先建立的旋转模板(pcs)和使用归一化互相关系数(ncc)估计出来的位置。如果没有精确定位将无法准确估算出角度,文献[13]使用9个预先建立的旋转模板。可以看到,本发明方法能进行较好的角度估计,且适用于任意旋转的物体。(3)运行速度测试使用工业相机捕获的pcb图像进行了运行速度的测试。所用测试和相应的模板图像如图14所示。测试图像(a)的大小1920*1080,模板图像(b)为283*283。本实验根据匹配结果对计算性能进行了评估。此外,为了保证比较的公平性,本文还利用图像金字塔搜索框架对比较方法进行了优化。效率和金字塔层数的统计结果如表2所示。表2运行时间(s)由表2可以看出,本发明方法相对其他方法在运行效率上有明显的优势,在金字塔层数为3时,相对于trp和pcs,分别提升了12.5%、900%。另外可看到,金字塔搜索策略可以显著提高匹配效率。针对原始圆投影匹配算法存在的对于同质区域无法识别、计算复杂度高、计算慢的缺点,本发明提出了一种基于圆投影的快速图像匹配方法。结合混合圆投影向量和图像金字塔搜索策略,可以减少计算量,提升匹配效率。另外结合环移和角度直方图统计,可以精确的估计出旋转角度。结果表明,该方法的旋转估计优于其他同类方法。此外,本发明方法可以在旋转、偏移、光照变化场景图像中获得准确、鲁棒的结果。各种实验结果表明,本发明方法适用于工业场景中的图像匹配。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1