CN110210565B - 归一化互相关图像模板匹配实现方法 - Google Patents

归一化互相关图像模板匹配实现方法 Download PDF

Info

Publication number
CN110210565B
CN110210565B CN201910484033.0A CN201910484033A CN110210565B CN 110210565 B CN110210565 B CN 110210565B CN 201910484033 A CN201910484033 A CN 201910484033A CN 110210565 B CN110210565 B CN 110210565B
Authority
CN
China
Prior art keywords
image
matching
template
candidate
pyramid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910484033.0A
Other languages
English (en)
Other versions
CN110210565A (zh
Inventor
杨跞
李兵
朱小生
张根雷
李法设
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siasun Co Ltd
Original Assignee
Siasun Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siasun Co Ltd filed Critical Siasun Co Ltd
Priority to CN201910484033.0A priority Critical patent/CN110210565B/zh
Publication of CN110210565A publication Critical patent/CN110210565A/zh
Application granted granted Critical
Publication of CN110210565B publication Critical patent/CN110210565B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching

Abstract

本申请提供了归一化互相关图像模板匹配实现方法,其包括:在第n层金字塔进行图像模板匹配:分别构建模板图像和待搜索图像的第n层金字塔图像;按照预设角度在待搜索图像的第n层金字塔上遍历搜索,得到NCC大于预设阈值的所有候选匹配并过滤筛选出局部同一匹配中NCC最大的候选匹配并排序;在第i层金字塔进行图像模板匹配:分别构建模板图像和待搜索图像的第i层金字塔图像;按照预设角度在待搜索图像的第i层金字塔图像上遍历搜索,得到新候选匹配;判断i是否为0并根据判断结果重复在第i层金字塔进行图像模板匹配的步骤或将按照NCC值排序且NCC大于设定阈值的候选匹配作为目标位置。本申请需要的内存少、计算量少、匹配时间短。

Description

归一化互相关图像模板匹配实现方法
技术领域
本申请属于图像处理技术领域,具体涉及一种归一化互相关图像模板匹配实现方法。
背景技术
图像模板匹配广泛用于图像配准、物体识别和导航定位中,尤其是用于机器人的视觉引导中。归一化互相关图像模板匹配具有精度高、抗全局光照变化强、相似度度量比较简单等特点。然而,由于传统归一化互相关图像模板匹配计算量大,搜索一个任意位置的旋转目标耗时长,因此这严重限制了归一化互相关图像模板匹配的应用。目前大多数研究都聚焦在通过缓存并行实现、优化搜索路径、评估提前结束单次相似度计算等方面,并没有从根本上解决计算量大的问题。
归一化互相关图像模板匹配通过构建各角度旋转模板图像,遍历计算每个模板图像与待搜索图像中所有位置图像匹配的相似性,每个位置覆盖模板图像,落入模板图像区域的待搜索图像像素参与该位置相似度计算。假设待搜索图像用I表示,模板图像用T表示,模板图像的区域为R,像素的坐标(u,v)满足(u,v)∈R,在任意搜索位置(x,y),归一化互相关系数(NCC-Normalized Cross-Correlation)计算公式如下:
Figure GDA0002948122530000011
式中,mT为模板图像像素值均值,mI(x,y)为待搜索图像中与模板图像重叠部分像素值均值。为方便计算,通常将归一化互相关系数计算公式展开合并成如下形式:
Figure GDA0002948122530000021
式中,N为模板图像像素总个数。
由上式可以看出,NCC计算主要分为以下三部分。其中,第一部分为:模板图像像素值和
Figure GDA0002948122530000022
与平方和
Figure GDA0002948122530000023
第二部分为:待搜索图像与模板图像重叠部分的像素值和
Figure GDA0002948122530000024
与平方和
Figure GDA0002948122530000025
第三部分为:模板图像像素值与待搜索图像重叠部分像素值的乘积和
Figure GDA0002948122530000026
同一角度的模板图像遍历匹配中,除第一部分不变外,第二部分和第三部分在不同搜索位置均需要重新计算,且计算量均十分庞大。第二部分可以通过构建积分图快速求和实现,第三部分一般可以通过快速傅里叶变换实现加速计算。
构建图像金字塔由粗匹配到精匹配,通过低分辨率遍历搜索到高分辨率局部搜索,能够大幅降低匹配时间。然而,对于匹配任意角度的目标,需要旋转模板图像,旋转后的模板图像在待搜索图像重叠部分为旋转矩形,利用积分图区域求和变得十分困难,同时快速傅里叶变换的加速效果显著降低甚至丧失。
发明内容
为至少在一定程度上克服相关技术中存在的问题,本申请提供了一种归一化互相关图像模板匹配实现方法。
根据本申请实施例的第一方面,本申请提供了一种归一化互相关图像模板匹配实现方法,其包括以下步骤:
在第n层金字塔进行图像模板匹配的步骤,其中,n为正整数;
在第i层金字塔进行图像模板匹配的步骤,其中,0≤i<n;
判断并输出匹配结果的步骤;
所述在第n层金字塔进行图像模板匹配的步骤的具体过程为:
分别构建模板图像和待搜索图像的第n层金字塔图像;
利用旋转后的模板图像,按照预设角度在待搜索图像的第n层金字塔图像上进行遍历搜索,得到NCC大于预设阈值的所有候选匹配;
从NCC高于设定阈值的所有候选匹配中过滤筛选出局部同一匹配中NCC最大的候选匹配,并按照匹配角度对过滤筛选出的所有候选匹配进行排序;其中,局部同一匹配指的是匹配位置的绝对差和匹配角度的绝对差均小于各自预设绝对差阈值的匹配;
所述在第i层金字塔进行图像模板匹配的步骤的具体过程为:
分别构建模板图像和待搜索图像的第i层金字塔图像;
按照预设角度在待搜索图像的第i层金字塔图像上进行遍历搜索,得到在当前遍历角度下待搜索图像的第i层金字塔图像的候选位置构建的各局部区域中NCC值最大且大于预设阈值的新候选匹配;
所述判断并输出匹配结果的步骤的具体过程为:
判断i是否为0,如果否,则按照遍历角度对得到的新候选匹配进行排序,令i=i-1,重复在第i层金字塔进行图像模板匹配的步骤,直到i=0时,将按照NCC值排序且NCC大于设定阈值的候选匹配作为找到的目标位置。
上述归一化互相关图像模板匹配实现方法中,所述在第n层金字塔进行图像模板匹配的步骤中,n通过以下计算得到:
根据原始模板图像的长w和宽h计算得到最大正整数n0使其满足
Figure GDA0002948122530000031
其中,C1表示第一预设经验参数;
计算原始模板图像的像素值方差
Figure GDA0002948122530000032
计算原始模板图像的长和宽均缩放
Figure GDA0002948122530000033
后所得图像的像素值方差
Figure GDA0002948122530000034
其中,mT表示模板图像像素值均值,T(u,v)表示模板图像像素值;
如果
Figure GDA0002948122530000041
且n0>0,则n=n0-1,否则n=n0;其中,C2表示第二预设经验参数。
上述归一化互相关图像模板匹配实现方法中,所述利用旋转后的模板图像,按照预设角度在待搜索图像的第n层金字塔图像上进行遍历搜索,得到NCC高于设定阈值的所有候选匹配的具体过程为:
按照预设角度,将模板图像的第n层金字塔图像进行旋转,得到旋转后的模板图像,并计算该旋转后的模板图像中外轮廓点的位置坐标;
利用得到的旋转后的模板图像在得到的待搜索图像的第n层金字塔图像上进行遍历搜索,得到NCC高于设定阈值的所有候选匹配,该候选匹配包括位置和对应模板图像旋转的角度。
进一步地,所述利用得到的旋转后的模板图像在得到的待搜索图像的第n层金字塔图像上进行遍历搜索,得到NCC高于设定阈值的所有候选匹配的过程为:
在待搜索图像第一个搜索位置计算与模板图像重叠部分的像素值和S(0,0)=∑I(x+u,y+v)与平方和SQ(0,0)=∑I(x+u,y+v)2
横向遍历时通过更新轮廓点增加或减去像素值与像素值平方来更新NCC计算中第二部分计算,具体为:
从第一个位置横向往右移动一个像素,对模板图像右边部分轮廓点(u′,v′)更新计算:S(1,0)=S(0,0)+I(x+u′+1,y+v′),SQ(1,0)=SQ(0,0)+I(x+u′+1,y+v′)2;对模板图像左边部分轮廓点(`u,`v)更新计算:S(1,0)=S(1,0)-I(x+`u,y+`v),SQ(1,0)=SQ(1,0)-I(x+`u,y+`v)2
单次横向遍历结束时采用类似轮廓更新计算方法对该次横向遍历的第一个搜索位置进行竖向更新,具体为:从第一位置竖向往下移动一个像素,对模板图像下部分轮廓点
Figure GDA0002948122530000042
更新计算:
Figure GDA0002948122530000043
Figure GDA0002948122530000051
对模板图像上部分轮廓点
Figure GDA0002948122530000052
更新计算:
Figure GDA0002948122530000053
以此类推遍历整个待搜索图像的所有位置,得到NCC高于设定阈值的所有候选匹配。
上述归一化互相关图像模板匹配实现方法中,所述按照预设角度在待搜索图像的第i层金字塔图像上进行遍历搜索,得到在当前遍历角度下待搜索图像的第i层金字塔图像的候选位置构建的各局部区域中NCC值最大且大于预设阈值的新候选匹配的具体过程:
对上一次得到的候选匹配进行遍历,当遍历角度出现在候选匹配角度邻域内时,按照遍历角度对得到的模板图像的第i层金字塔图像进行旋转,得到旋转后的模板图像,并利用物体轮廓检测方法计算该旋转后的模板图像外轮廓点的位置坐标;
计算待搜索图像的第j层金字塔图像与第i层金字塔图像的缩放比例2j-i,其中,j>i,得到在当前遍历角度下待搜索图像的第i层金字塔图像的候选位置;
根据在当前遍历角度下待搜索图像的第i层金字塔图像的候选位置构建局部区域[x′-2j-i+1,x′+2j-i+1]×[y′-2j-i+1,y′+2j-i+1],并根据得到的旋转后的模板图像对各局部区域进行遍历匹配;
记录各局部区域NCC值最大且大于预设阈值的新候选匹配。
进一步地,如果i=0,则所述上一次得到的候选匹配为在第n层金字塔进行图像模板匹配时得到的候选匹配;如果i≠0,所述上一次得到的候选匹配为在第i-1层金字塔进行图像模板匹配时得到的候选匹配。
更进一步地,所述候选匹配角度邻域为[θ-2j-i+1,θ+2j-i+1],其中,θ表示候选匹配角度。
更进一步地,所述待搜索图像的第i层金字塔图像的候选位置通过下式得到:
Figure GDA0002948122530000061
式中,(x,y)表示待搜索图像的第j层金字塔图像的候选位置,(x′,y′)表示待搜索图像的第i层金字塔图像的候选位置,
Figure GDA0002948122530000062
表示向下取整。
更进一步地,所述根据得到的旋转后的模板图像对各局部区域进行遍历匹配的过程为:
在待搜索图像局部搜索区域的第一个搜索位置计算与模板图像重叠部分的像素值和S(0,0)=∑I(x+u,y+v)与平方和SQ(0,0)=∑I(x+u,y+v)2
横向遍历时,通过更新轮廓点增加或减去像素值与像素值平方来更新NCC计算中第二部分计算,其具体为:
从第一个位置横向往右移动一个像素,对模板图像右边部分轮廓点(u′,v′)进行更新计算:S(1,0)=S(0,0)+I(x+u′+1,y+v′),SQ(1,0)=SQ(0,0)+I(x+u′+1,y+v′)2;对模板图像左边部分轮廓点(`u,`v)进行更新计算:S(1,0)=S(1,0)-I(x+`u,y+`v),SQ(1,0)=SQ(1,0)-I(x+`u,y+`v)2
单次横向遍历结束时,采用类似轮廓更新计算方法对该次横向遍历的第一个搜索位置进行竖向更新,其具体为:
从第一个位置竖向往下移动一个像素,对模板图像下部分轮廓点
Figure GDA0002948122530000063
进行更新计算:
Figure GDA0002948122530000064
对模板图像上部分轮廓点
Figure GDA0002948122530000065
进行更新计算:
Figure GDA0002948122530000066
Figure GDA0002948122530000067
根据本申请实施例的第二方面,本申请还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述归一化互相关图像模板匹配实现方法的步骤。
根据本申请的上述具体实施方式可知,至少具有以下有益效果:本申请归一化互相关图像模板匹配实现方法在计算NCC中第二部分待搜索图像与模板图像重叠部分的像素值和∑I(x+u,y+v)与平方和∑I(x+u,y+v)2时,采用轮廓点更新策略,能够极大地减少重复计算,节约计算时间;本申请通过缩放图像来构建图像金字塔,由粗匹配到精匹配,在不损失精度的前提下能够节约匹配时间;本申请按照角度对候选匹配进行排序,在下一层金字塔匹配过程中采用角度遍历,能够实现旋转模板图像的复用,节约内存开销。本申请能够极大地减少重复计算量,从根本提高匹配速度,从而节约匹配时间。
应了解的是,上述一般描述及以下具体实施方式仅为示例性及阐释性的,其并不能限制本申请所欲主张的范围。
附图说明
下面的所附附图是本申请的说明书的一部分,其示出了本申请的实施例,所附附图与说明书的描述一起用来说明本申请的原理。
图1为本申请具体实施方式提供的一种归一化互相关图像模板匹配实现方法的流程图。
图2为本申请具体实施方式提供的一种归一化互相关图像模板匹配实现方法中旋转后的模板图像,中间白色区域与原始模板图像对应,周围黑色区域为0值填充边界。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚明白,下面将以附图及详细叙述清楚说明本申请所揭示内容的精神,任何所属技术领域技术人员在了解本申请内容的实施例后,当可由本申请内容所教示的技术,加以改变及修饰,其并不脱离本申请内容的精神与范围。
本申请的示意性实施例及其说明用于解释本申请,但并不作为对本申请的限定。另外,在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部分。
关于本文中所使用的“第一”、“第二”、…等,并非特别指称次序或顺位的意思,也非用以限定本申请,其仅为了区别以相同技术用语描述的元件或操作。
关于本文中所使用的方向用语,例如:上、下、左、右、前或后等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本创作。
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。
关于本文中的“多个”包括“两个”及“两个以上”;关于本文中的“多组”包括“两组”及“两组以上”。
关于本文中所使用的用语“大致”、“约”等,用以修饰任何可以细微变化的数量或误差,但这些微变化或误差并不会改变其本质。一般而言,此类用语所修饰的细微变化或误差的范围在部分实施例中可为20%,在部分实施例中可为10%,在部分实施例中可为5%或是其他数值。本领域技术人员应当了解,前述提及的数值可依实际需求而调整,并不以此为限。
某些用以描述本申请的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本申请的描述上额外的引导。
本申请的发明人在研发过程中发现:匹配搜索时,邻域位置计算NCC中第二部分的过程中,除了与模板图像重叠部分的轮廓需要更新计算外,内部区域求和与求平方和均可共享。因此本申请提出联合轮廓更新计算与金字塔式搜索的归一化互相关图像模板匹配快速实现方法。
如图1所示,本申请提供的归一化互相关图像模板匹配实现方法包括以下步骤:
S1、在第n层金字塔进行图像模板匹配,其中,n为正整数。
n可以预先指定,也可以计算得到。
计算得到n的过程为:
根据原始模板图像的长w和宽h计算得到最大正整数n0使其满足
Figure GDA0002948122530000081
从而保证顶层金字塔图像的长和宽均大于C1。其中,C1表示第一预设经验参数。
计算原始模板图像的像素值方差
Figure GDA0002948122530000091
计算原始模板图像的长和宽均缩放
Figure GDA0002948122530000092
后所得图像的像素值方差
Figure GDA0002948122530000093
如果
Figure GDA0002948122530000094
且n0>0,则n=n0-1,否则n=n0。其中,C2表示第二预设经验参数。
在第n层金字塔进行图像模板匹配的具体过程为:
S11、分别构建模板图像和待搜索图像的第n层金字塔图像;
具体地,可以采用双线性插值算法分别将模板图像的长和宽以及待搜索图像的长和宽各缩小2n倍,得到模板图像和待搜索图像的第n层金字塔图像。
S12、利用旋转后的模板图像,按照预设角度在待搜索图像的第n层金字塔图像上进行遍历搜索,得到NCC高于设定阈值的所有候选匹配,其具体过程为:
S121、按照预设角度,将模板图像的第n层金字塔图像进行旋转,得到旋转后的模板图像,并计算该旋转后的模板图像中外轮廓点的位置坐标。
如图2所示的旋转后的模板图像中,中间白色区域为与原始模板图像对应的像素区域,黑色区域为填充边界。
轮廓跟踪就是找到中间白色区域所有轮廓点的位置坐标,并以最上第一个轮廓点为起点顺时针排序,具体可根据2004年Fu Chang等提出的A linear-time component-labeling algorithm using contour tracing technique方法实现,其具体过程为:
给定轮廓起点,以7为索引初值顺时针遍历起点的8邻域点(从左上角开始顺时针索引为5、6、7、0、1、2、3、4)找到下一个轮廓点;以找到的当前轮廓点为中心顺时针遍历搜索8邻域点,搜索索引初值根据上次查找到轮廓点时索引确定,规则为:如果上次找到轮廓点时索引为7,则该次搜索索引初值为5;如果上次找到轮廓点时索引为5,则该次搜索索引初值为3;如果上次找到轮廓点时索引为3,则该次搜索索引初值为1;如果上次找到轮廓点时索引为1,则该次搜索索引初值为7;如果上次找到轮廓点时索引为0,则该次搜索索引初值为6;如果上次找到轮廓点时索引为6,则该次搜索索引初值为4;如果上次找到轮廓点时索引为4,则该次搜索索引初值为2;如果上次找到轮廓点时索引为2,则该次搜索索引初值为0;重复搜索直至回到轮廓起点。
遍历时,计算NCC第二部分中待搜索图像与模板图像重叠部分的像素值和∑I(x+u,y+v)与平方和∑I(x+u,y+v)2,横向往右移动时,右边轮廓点需要加入到计算中,左边轮廓点需要从计算中减去;竖向往下移动时,下边轮廓点需要加入到计算中,上边轮廓点需要从计算中减去。
通过对图像轮廓点遍历,容易找到横向移动和竖向移动需要加入的像素点位置序列以及需要减去的像素点位置序列,这些序列在同一个模板图像遍历匹配中保持不变。
S122、利用步骤S121得到的旋转后的模板图像在步骤S11得到的待搜索图像的第n层金字塔图像上进行遍历搜索,其具体过程为:
遍历时首先在待搜索图像第一个搜索位置计算与模板图像重叠部分的像素值和S(0,0)=∑I(x+u,y+v)与平方和SQ(0,0)=∑I(x+u,y+v)2
横向遍历时通过更新轮廓点增加或减去像素值与像素值平方来更新NCC计算中第二部分计算。如从第一个位置横向往右移动一个像素,对模板图像右边部分轮廓点(u′,v′)更新计算:S(1,0)=S(0,0)+I(x+u′+1,y+v′),SQ(1,0)=SQ(0,0)+I(x+u′+1,y+v′)2;对模板图像左边部分轮廓点(`u,`v)更新计算:S(1,0)=S(1,0)-I(x+`u,y+`v),SQ(1,0)=SQ(1,0)-I(x+`u,y+`v)2
单次横向遍历结束时采用类似轮廓更新计算方法对该次横向遍历的第一个搜索位置进行竖向更新,如从第一位置竖向往下移动一个像素,对模板图像下部分轮廓点
Figure GDA0002948122530000101
更新计算:
Figure GDA0002948122530000102
Figure GDA0002948122530000103
对模板图像上部分轮廓点
Figure GDA0002948122530000104
更新计算:
Figure GDA0002948122530000111
以此类推遍历整个待搜索图像的所有位置,记录NCC高于设定阈值的所有候选匹配,该候选匹配包括位置和对应模板图像旋转的角度,后面简称匹配位置和匹配角度。
本步骤采用更新轮廓点位置像素方法来计算NCC中的第二部分,与遍历方向相同一侧的图像模板轮廓点位置像素增加至求和中,另一侧轮廓点位置像素从求和中移除,这样能够极大地减少重复计算,节约计算时间。
S13、从步骤S12得到的候选匹配中过滤筛选出局部同一匹配中NCC最大的候选匹配,并按照匹配角度对过滤筛选出的所有候选匹配进行排序;其中,局部同一匹配指的是匹配位置的绝对差和匹配角度的绝对差均小于各自预设绝对差阈值的匹配。
S2、在第i层金字塔进行图像模板匹配,其中,0≤i<n,其具体过程为:
S21、分别构建模板图像和待搜索图像的第i层金字塔图像;
具体地,可以采用双线性插值算法分别将模板图像的长和宽以及待搜索图像的长和宽各缩小2i倍,得到模板图像和待搜索图像的第i层金字塔图像。
当i=0时,模板图像的第0层金字塔图像直接拷贝模板图像,待搜索图像的第0层金字塔图像直接拷贝待搜索图像。
S22、按照预设角度在待搜索图像的第i层金字塔图像上进行遍历搜索,得到在当前遍历角度下待搜索图像的第i层金字塔图像的候选位置构建的各局部区域中NCC值最大且大于预设阈值的新候选匹配,其具体过程为:
S221、对上一次得到的候选匹配进行遍历,当遍历角度出现在候选匹配角度邻域内时,按照遍历角度对步骤S21的得到的模板图像的第i层金字塔图像进行旋转,得到旋转后的模板图像,并利用物体轮廓检测方法计算该旋转后的模板图像外轮廓点的位置坐标。
其中,当执行完步骤S1和步骤S2时,如果i=0,则上一次得到的候选匹配即为步骤S13得到的候选匹配。当执行完步骤S1和步骤S2时,如果i≠0,则上一次得到的候选匹配即为在第i-1层金字塔进行图像模板匹配时得到的候选匹配。
候选匹配角度θ邻域为[θ-2j-i+1,θ+2j-i+1]。
S222、计算待搜索图像的第j层金字塔图像与第i层金字塔图像的缩放比例2j-i,其中j>i,得到在当前遍历角度下待搜索图像的第i层金字塔图像的候选位置,其中,候选位置可以为多个。
根据待搜索图像的第j层金字塔图像的候选位置(x,y)计算得到待搜索图像的第i层金字塔图像的候选位置(x′,y′):
Figure GDA0002948122530000121
式中,
Figure GDA0002948122530000122
表示向下取整。
S223、根据步骤S222得到的候选位置构建局部区域[x′-2j-i+1,x′+2j-i+1]×[y′-2j -i+1,y′+2j-i+1],当有多个候选位置时可以构建多个局部区域,并根据步骤S221得到的旋转后的模板图像对各局部区域进行遍历匹配。
对各局部区域进行遍历匹配时,首先,在待搜索图像局部搜索区域的第一个搜索位置计算与模板图像重叠部分的像素值和S(0,0)=∑I(x+u,y+v)与平方和SQ(0,0)=∑I(x+u,y+v)2;横向遍历时,通过更新轮廓点增加或减去像素值与像素值平方来更新NCC计算中第二部分计算。
例如,从第一个位置横向往右移动一个像素,对模板图像右边部分轮廓点(u′,v′)进行更新计算:S(1,0)=S(0,0)+I(x+u′+1,y+v′),SQ(1,0)=SQ(0,0)+I(x+u′+1,y+v′)2;对模板图像左边部分轮廓点(`u,`v)进行更新计算:S(1,0)=S(1,0)-I(x+`u,y+`v),SQ(1,0)=SQ(1,0)-I(x+`u,y+`v)2
单次横向遍历结束时,采用类似轮廓更新计算方法对该次横向遍历的第一个搜索位置进行竖向更新。
例如,从第一个位置竖向往下移动一个像素,对模板图像下部分轮廓点
Figure GDA0002948122530000131
进行更新计算:
Figure GDA0002948122530000132
对模板图像上部分轮廓点
Figure GDA0002948122530000133
进行更新计算:
Figure GDA0002948122530000134
Figure GDA0002948122530000135
S224、记录步骤S223中各局部区域NCC值最大且大于预设阈值的新候选匹配。
S3、判断i是否为0,如果否,则按照遍历角度对步骤S22得到的新候选匹配进行排序,令i=i-1,重复执行步骤S2,直到i=0时,将按照NCC值排序且NCC大于设定阈值的候选匹配作为找到的目标位置。
为了实现本申请实施例提供的归一化互相关图像模板匹配实现方法,本申请实施例还提供了一种归一化互相关图像模板匹配实现装置,其包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器。其中,所述处理器用于运行所述计算机程序时,执行如下步骤:
在第n层金字塔进行图像模板匹配,其中,n为正整数;
在第i层金字塔进行图像模板匹配,其中,0≤i<n;
所述在第n层金字塔进行图像模板匹配的过程为:
分别构建模板图像和待搜索图像的第n层金字塔图像;
利用旋转后的模板图像,按照预设角度在待搜索图像的第n层金字塔图像上进行遍历搜索,得到NCC大于预设阈值的所有候选匹配;
从NCC高于设定阈值的所有候选匹配中过滤筛选出局部同一匹配中NCC最大的候选匹配,并按照匹配角度对过滤筛选出的所有候选匹配进行排序;其中,局部同一匹配指的是匹配位置的绝对差和匹配角度的绝对差均小于各自预设绝对差阈值的匹配。
所述在第i层金字塔进行图像模板匹配的过程为:
分别构建模板图像和待搜索图像的第i层金字塔图像;
按照预设角度在待搜索图像的第i层金字塔图像上进行遍历搜索,得到在当前遍历角度下待搜索图像的第i层金字塔图像的候选位置构建的各局部区域中NCC值最大且大于预设阈值的新候选匹配;
判断i是否为0,如果否,则按照遍历角度对得到的新候选匹配进行排序,令i=i-1,重复执行在第i层金字塔进行图像模板匹配的步骤,直到i=0时,将按照NCC值排序且NCC大于设定阈值的候选匹配作为找到的目标位置。
本申请归一化互相关图像模板匹配实现方法按照金字塔层数从高层到低层逐层或跳跃式地进行搜索匹配,直至搜索匹配到待搜索图像的第0层金字塔图像时,输出匹配结果。本申请能够在不损失精度的前提下从根本上提高匹配速度,从而节约匹配时间。
在示例性实施例中,本申请实施例还提供了一种计算机存储介质,是计算机可读存储介质,例如,包括计算机程序的存储器,上述计算机程序可由归一化互相关图像模板匹配实现装置中的处理器执行,以完成上述归一化互相关图像模板匹配实现方法中的所述步骤。
计算机可读存储介质可以是磁性随机存取存储器(FRAM,ferromagnetic randomaccess memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,ErasableProgrammable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,ElectricallyErasable Programmable Read-Only Memory)、快闪存储器(FlashMemory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-OnlyMemory)等存储器。
以上所述仅为本申请示意性的具体实施方式,在不脱离本申请的构思和原则的前提下,任何本领域的技术人员所做出的等同变化与修改,均应属于本申请保护的范围。

Claims (8)

1.一种归一化互相关图像模板匹配实现方法,其特征在于,包括以下步骤:
在第n层金字塔进行图像模板匹配的步骤,其中,n为正整数;
在第i层金字塔进行图像模板匹配的步骤,其中,0≤i<n;
判断并输出匹配结果的步骤;
所述在第n层金字塔进行图像模板匹配的步骤的具体过程为:
分别构建模板图像和待搜索图像的第n层金字塔图像;
利用旋转后的模板图像,按照预设角度在待搜索图像的第n层金字塔图像上进行遍历搜索,得到NCC大于预设阈值的所有候选匹配,其具体过程为:按照预设角度,将模板图像的第n层金字塔图像进行旋转,得到旋转后的模板图像,并计算该旋转后的模板图像中外轮廓点的位置坐标;
利用得到的旋转后的模板图像在得到的待搜索图像的第n层金字塔图像上进行遍历搜索,得到NCC高于设定阈值的所有候选匹配,该候选匹配包括位置和对应模板图像旋转的角度;其中,NCC表示归一化互相关系数;得到NCC高于设定阈值的所有候选匹配的过程为:
在待搜索图像第一个搜索位置计算与模板图像重叠部分的像素值和S(0,0)=∑I(x+u,y+v)与平方和SQ(0,0)=∑I(x+u,y+v)2;(u,v)表示像素的坐标;
横向遍历时通过更新轮廓点增加或减去像素值与像素值平方来更新NCC计算中第二部分计算,其中,NCC计算中第二部分为:待搜索图像与模板图像重叠部分的像素值和
Figure FDA0002960425780000011
与平方和
Figure FDA0002960425780000012
具体为:
从第一个位置横向往右移动一个像素,对模板图像右边部分轮廓点(u′,v′)更新计算:S(1,0)=S(0,0)+I(x+u′+1,y+v′),SQ(1,0)=SQ(0,0)+I(x+u′+1,y+v′)2;对模板图像左边部分轮廓点(`u,`v)更新计算:S(1,0)=S(1,0)-I(x+`u,y+`v),SQ(1,0)=SQ(1,0)-I(x+`u,y+`v)2
单次横向遍历结束时采用类似轮廓更新计算方法对该次横向遍历的第一个搜索位置进行竖向更新,具体为:从第一位置竖向往下移动一个像素,对模板图像下部分轮廓点
Figure FDA0002960425780000021
更新计算:
Figure FDA0002960425780000022
Figure FDA0002960425780000023
对模板图像上部分轮廓点
Figure FDA0002960425780000024
更新计算:
Figure FDA0002960425780000025
以此类推遍历整个待搜索图像的所有位置,得到NCC高于设定阈值的所有候选匹配;
从NCC高于设定阈值的所有候选匹配中过滤筛选出局部同一匹配中NCC最大的候选匹配,并按照匹配角度对过滤筛选出的所有候选匹配进行排序;其中,局部同一匹配指的是匹配位置的绝对差和匹配角度的绝对差均小于各自预设绝对差阈值的匹配;
所述在第i层金字塔进行图像模板匹配的步骤的具体过程为:
分别构建模板图像和待搜索图像的第i层金字塔图像;
按照预设角度在待搜索图像的第i层金字塔图像上进行遍历搜索,得到在当前遍历角度下待搜索图像的第i层金字塔图像的候选位置构建的各局部区域中NCC值最大且大于预设阈值的新候选匹配;
所述判断并输出匹配结果的步骤的具体过程为:
判断i是否为0,如果否,则按照遍历角度对得到的新候选匹配进行排序,令i=i-1,重复在第i层金字塔进行图像模板匹配的步骤,直到i=0时,将按照NCC值排序且NCC大于设定阈值的候选匹配作为找到的目标位置。
2.根据权利要求1所述的归一化互相关图像模板匹配实现方法,其特征在于,所述在第n层金字塔进行图像模板匹配的步骤中,n通过以下计算得到:
根据原始模板图像的长w和宽h计算得到最大正整数n0使其满足
Figure FDA0002960425780000026
其中,C1表示第一预设经验参数;
计算原始模板图像的像素值方差
Figure FDA0002960425780000027
计算原始模板图像的长和宽均缩放
Figure FDA0002960425780000031
后所得图像的像素值方差
Figure FDA0002960425780000032
其中,mT表示模板图像像素值均值,T(u,v)表示模板图像像素值;
如果
Figure FDA0002960425780000033
且n0>0,则n=n0-1,否则n=n0;其中,C2表示第二预设经验参数。
3.根据权利要求1所述的归一化互相关图像模板匹配实现方法,其特征在于,所述按照预设角度在待搜索图像的第i层金字塔图像上进行遍历搜索,得到在当前遍历角度下待搜索图像的第i层金字塔图像的候选位置构建的各局部区域中NCC值最大且大于预设阈值的新候选匹配的具体过程:
对上一次得到的候选匹配进行遍历,当遍历角度出现在候选匹配角度邻域内时,按照遍历角度对得到的模板图像的第i层金字塔图像进行旋转,得到旋转后的模板图像,并利用物体轮廓检测方法计算该旋转后的模板图像外轮廓点的位置坐标;
计算待搜索图像的第j层金字塔图像与第i层金字塔图像的缩放比例2j-i,其中,j>i,得到在当前遍历角度下待搜索图像的第i层金字塔图像的候选位置;
根据在当前遍历角度下待搜索图像的第i层金字塔图像的候选位置构建局部区域[x′-2j-i+1,x′+2j-i+1]×[y′-2j-i+1,y′+2j-i+1],并根据得到的旋转后的模板图像对各局部区域进行遍历匹配;(x′,y′)表示待搜索图像的第i层金字塔图像的候选位置;
记录各局部区域NCC值最大且大于预设阈值的新候选匹配。
4.根据权利要求3所述的归一化互相关图像模板匹配实现方法,其特征在于,如果i=0,则所述上一次得到的候选匹配为在第n层金字塔进行图像模板匹配时得到的候选匹配;如果i≠0,所述上一次得到的候选匹配为在第i-1层金字塔进行图像模板匹配时得到的候选匹配。
5.根据权利要求3所述的归一化互相关图像模板匹配实现方法,其特征在于,所述候选匹配角度邻域为[θ-2j-i+1,θ+2j-i+1],其中,θ表示候选匹配角度。
6.根据权利要求3所述的归一化互相关图像模板匹配实现方法,其特征在于,所述待搜索图像的第i层金字塔图像的候选位置通过下式得到:
Figure FDA0002960425780000041
式中,(x,y)表示待搜索图像的第j层金字塔图像的候选位置,(x′,y′)表示待搜索图像的第i层金字塔图像的候选位置,
Figure FDA0002960425780000042
表示向下取整。
7.根据权利要求3所述的归一化互相关图像模板匹配实现方法,其特征在于,所述根据得到的旋转后的模板图像对各局部区域进行遍历匹配的过程为:
在待搜索图像局部搜索区域的第一个搜索位置计算与模板图像重叠部分的像素值和S(0,0)=∑I(x+u,y+v)与平方和SQ(0,0)=∑I(x+u,y+v)2
横向遍历时,通过更新轮廓点增加或减去像素值与像素值平方来更新NCC计算中第二部分计算,其具体为:
从第一个位置横向往右移动一个像素,对模板图像右边部分轮廓点(u′,v′)进行更新计算:S(1,0)=S(0,0)+I(x+u′+1,y+v′),SQ(1,0)=SQ(0,0)+I(x+u′+1,y+v′)2;对模板图像左边部分轮廓点(`u,`v)进行更新计算:S(1,0)=S(1,0)-I(x+`u,y+`v),SQ(1,0)=SQ(1,0)-I(x+`u,y+`v)2
单次横向遍历结束时,采用类似轮廓更新计算方法对该次横向遍历的第一个搜索位置进行竖向更新,其具体为:
从第一个位置竖向往下移动一个像素,对模板图像下部分轮廓点
Figure FDA0002960425780000043
进行更新计算:
Figure FDA0002960425780000044
对模板图像上部分轮廓点
Figure FDA0002960425780000045
进行更新计算:
Figure FDA0002960425780000046
Figure FDA0002960425780000051
8.一种计算机存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一项所述归一化互相关图像模板匹配实现方法的步骤。
CN201910484033.0A 2019-06-05 2019-06-05 归一化互相关图像模板匹配实现方法 Active CN110210565B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910484033.0A CN110210565B (zh) 2019-06-05 2019-06-05 归一化互相关图像模板匹配实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910484033.0A CN110210565B (zh) 2019-06-05 2019-06-05 归一化互相关图像模板匹配实现方法

Publications (2)

Publication Number Publication Date
CN110210565A CN110210565A (zh) 2019-09-06
CN110210565B true CN110210565B (zh) 2021-04-30

Family

ID=67790789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910484033.0A Active CN110210565B (zh) 2019-06-05 2019-06-05 归一化互相关图像模板匹配实现方法

Country Status (1)

Country Link
CN (1) CN110210565B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111553425B (zh) * 2020-04-29 2023-04-25 广州大学 一种用于视觉定位的模板匹配lsp算法、介质和设备
CN112233153A (zh) * 2020-09-27 2021-01-15 北京迈格威科技有限公司 图像匹配方法、装置、电子设备及存储介质
CN112149671B (zh) * 2020-09-28 2022-09-13 天津大学 基于归一化互相关模板匹配的目标区域精准定位方法
CN112329880A (zh) * 2020-11-18 2021-02-05 德中(天津)技术发展股份有限公司 一种基于相似性度量和几何特征的模板快速匹配方法
CN112802101B (zh) * 2021-02-01 2023-04-07 上海交通大学 一种基于多维金字塔的分层模板匹配方法
CN113102297B (zh) * 2021-04-09 2022-03-08 中国大恒(集团)有限公司北京图像视觉技术分公司 一种并联机器人快速分拣瑕疵工件的方法
CN113205145B (zh) * 2021-05-18 2022-08-16 广州大学 基于归一化互相关的模板匹配方法、系统、装置及介质
CN113269743B (zh) * 2021-05-20 2022-09-30 北京理工大学重庆创新中心 一种基于迭代平移核实的芯片数量检测方法
CN113392913B (zh) * 2021-06-21 2023-09-29 常州大学 基于边界特征点集的平面图形匹配度评价方法、装置及系统
CN116543188B (zh) * 2023-07-06 2023-10-13 深圳市睿达科技有限公司 一种基于灰度匹配的机器视觉匹配方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008002271A1 (en) * 2006-06-28 2008-01-03 Hewlett-Packard Development Company, L.P. Method for fast stereo matching of images
CN103198483A (zh) * 2013-04-07 2013-07-10 西安电子科技大学 基于边缘和光谱反射率曲线的多时相遥感图像配准方法
CN103310228A (zh) * 2013-05-28 2013-09-18 南京邮电大学 基于归一化相关系数的模板匹配高速并行实现方法和装置
US8755595B1 (en) * 2011-07-19 2014-06-17 Google Inc. Automatic extraction of character ground truth data from images
CN104346788A (zh) * 2013-07-29 2015-02-11 展讯通信(上海)有限公司 一种拼接图像的方法和装置
US9430457B2 (en) * 2014-12-24 2016-08-30 Xerox Corporation Ambiguity reduction for image alignment applications
CN105930858A (zh) * 2016-04-06 2016-09-07 吴晓军 一种带旋转、缩放的快速高精度几何模板匹配方法
CN106778889A (zh) * 2016-12-28 2017-05-31 天津普达软件技术有限公司 一种基于梯度强度和方向的模板匹配方法
CN108287303A (zh) * 2017-01-09 2018-07-17 华北电力大学(保定) 一种基于ncc-p-s优化算法的断路器机械特性现场带电测试方法
CN109348731A (zh) * 2016-10-14 2019-02-15 深圳配天智能技术研究院有限公司 一种图像匹配的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017206099A1 (zh) * 2016-06-01 2017-12-07 深圳配天智能技术研究院有限公司 一种图像模式匹配的方法及装置
CN106251362B (zh) * 2016-07-15 2019-02-01 南京莱斯电子设备有限公司 一种基于快速相关邻域特征点的滑窗目标跟踪方法及系统
CN108256394B (zh) * 2016-12-28 2020-09-25 中林信达(北京)科技信息有限责任公司 一种基于轮廓梯度的目标跟踪方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008002271A1 (en) * 2006-06-28 2008-01-03 Hewlett-Packard Development Company, L.P. Method for fast stereo matching of images
US8755595B1 (en) * 2011-07-19 2014-06-17 Google Inc. Automatic extraction of character ground truth data from images
CN103198483A (zh) * 2013-04-07 2013-07-10 西安电子科技大学 基于边缘和光谱反射率曲线的多时相遥感图像配准方法
CN103310228A (zh) * 2013-05-28 2013-09-18 南京邮电大学 基于归一化相关系数的模板匹配高速并行实现方法和装置
CN104346788A (zh) * 2013-07-29 2015-02-11 展讯通信(上海)有限公司 一种拼接图像的方法和装置
US9430457B2 (en) * 2014-12-24 2016-08-30 Xerox Corporation Ambiguity reduction for image alignment applications
CN105930858A (zh) * 2016-04-06 2016-09-07 吴晓军 一种带旋转、缩放的快速高精度几何模板匹配方法
CN109348731A (zh) * 2016-10-14 2019-02-15 深圳配天智能技术研究院有限公司 一种图像匹配的方法及装置
CN106778889A (zh) * 2016-12-28 2017-05-31 天津普达软件技术有限公司 一种基于梯度强度和方向的模板匹配方法
CN108287303A (zh) * 2017-01-09 2018-07-17 华北电力大学(保定) 一种基于ncc-p-s优化算法的断路器机械特性现场带电测试方法

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
"Automatic South African Coin Recognition through Visual Template Matching";Tharish Sooruth et al.;《2018 International Conference on Advances in Big Data, Computing and Data Communication Systems (icABCD)》;20180917;第1-6页 *
"Computation of the normalized cross correlation by fast Fourier transform";Artan Kaso et al.;《PLOSE ONE》;20180920;第1-16页 *
"Fast Normalized Cross-Correlation Image Matching Based On Multiscale Edge Information";Liang Pei et al.;《2010 International Conference on Computer Application and System Modeling (ICCASM 2010)》;20101231;第V10-507-V10-511页 *
"Fast Normalized Cross-Correlation";Jae-Chern Yoo et al.;《Circuits Syst Signal Process》;20090822;第819-843页 *
"一种改进的快速归一化互相关算法";谢维达 等;《同济大学学报(自然科学版)》;20110831;第39卷(第8期);第1233-1237页 *
"基于形状模板匹配的印刷品缺陷检测";张代林 等;《自动控制与检测》;20131231;第40-43页 *
"改进的归一互相关法的灰度图像模板匹配方法";陈丽芳 等;《计算机工程与应用》;20111231;第181-183页 *
"结合小波金字塔的快速NCC图像匹配算法";吴鹏 等;《哈尔滨工程大学学报》;20170531;第38卷(第5期);第791-796页 *
"获取目标姿态的图像匹配方法研究";方志强 等;《制造业自动化》;20190430;第41卷(第4期);第51-55页 *

Also Published As

Publication number Publication date
CN110210565A (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
CN110210565B (zh) 归一化互相关图像模板匹配实现方法
JP6347827B2 (ja) 車線境界線を検出する方法、装置、およびデバイス
US7623681B2 (en) System and method for range measurement of a preceding vehicle
CN109815859B (zh) 一种低等级道路自动提取及变化分析方法
WO2022134996A1 (en) Lane line detection method based on deep learning, and apparatus
CN106558072A (zh) 一种基于改进sift特征在遥感图像上配准的方法
CN112330678B (zh) 产品边缘缺陷检测方法
CN107192716A (zh) 一种基于轮廓特征的工件缺陷快速检测方法
CN116543188B (zh) 一种基于灰度匹配的机器视觉匹配方法及系统
CN112200171B (zh) 一种基于扫描线的道路点云的提取方法
CN102298773A (zh) 一种形状自适应的非局部均值去噪方法
You et al. Lane detection algorithm for night-time digital image based on distribution feature of boundary pixels
CN114743259A (zh) 位姿估计方法、位姿估计系统、终端、存储介质及应用
CN111915657A (zh) 一种点云配准方法、装置、电子设备及存储介质
CN111415376A (zh) 汽车玻璃亚像素轮廓提取方法及汽车玻璃检测方法
CN116391204A (zh) 线宽测量方法、装置、计算处理设备、计算机程序及计算机可读介质
CN111259808A (zh) 一种基于改进ssd算法的交通标识的检测识别方法
CN115331245A (zh) 一种基于图像实例分割的表格结构识别方法
JPH07111734B2 (ja) 走行路判別方法
CN110472640A (zh) 一种目标检测模型预测框处理方法及装置
CN108416346B (zh) 车牌字符的定位方法及装置
CN104700401B (zh) 一种基于K‑Means聚类法的图像仿射变换控制点选取方法
CN111798519A (zh) 激光条纹中心的提取方法、装置、电子设备及存储介质
CN112037328A (zh) 生成地图中的道路边沿的方法、装置、设备和存储介质
CN110223283B (zh) 一种桥梁裂缝检测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant