融合大模板图的模板匹配并行实现方法及装置制造方法及图纸

技术编号:17098047 阅读:20 留言:0更新日期:2018-01-21 10:10
本发明专利技术公开了一种融合大模板图的模板匹配并行实现方法及装置,属于归一化相关图像模板匹配领域,其由归一化相关系数计算模块逻辑架构包括模板图灰度值求和,模板图灰度值平方求和,实时图灰度值求和、实时图灰度值平方求和模块和实时图模板图灰度值乘积求和、后续计算、实时图模板图灰度值总和缓冲、实时图灰度值总和缓冲、实时图灰度值平方总和缓冲等模块。通过增加实时图灰度值总和缓冲模块、实时图灰度值平方总和缓冲模块、实时图模板图灰度值乘积总和缓冲模块;同时控制流程中通过比较模板图大小与实现的并行通道数目,分别执行大模板图模式和小模板图模式逻辑控制,使所实现架构不再受限于并行通道数目,提高了资源利用率。

A parallel implementation method and device for template matching with large template map

The invention discloses a fusion graph template template matching method and device for realizing parallel template, belonging to the normalized correlation image matching field, module logic structure including sum value calculated by the normalized template gray correlation coefficient, the sum of the square value of the grayscale template, real time grayscale values of the sum, the real-time image gray value the sum of the square module and the real-time map template image gray value of the product sum and the subsequent calculation, real-time image template image gray value sum buffer, real-time image gray value of the sum of buffer, real-time image gray value of square sum buffer module. By increasing the real-time image gray value sum buffer module, the real-time image gray value of square sum buffer module, real-time map template image gray value of product of a total buffer module; at the same time control template map size and the realization of the parallel channel number through the process, carry out the pattern and template respectively small template mode logic control, the realization of architecture no longer limited to the number of parallel channels, improve the utilization rate of resources.

【技术实现步骤摘要】
融合大模板图的模板匹配并行实现方法及装置
本专利技术涉及归一化相关图像模板匹配领域,特别涉及一种融合大模板图的匹配并行实现方法及装置。
技术介绍
模板匹配通过计算表征目标的模板图与实时图中搜索区域内所有位置的相似性测度来进行目标定位,该目标同模板图有类似的尺寸和图像。由于归一化相关系数对亮度和对比度变化具有不变性,因此它是模板匹配广泛采用的一种测度。假定实时图和模板图分别由A、B表示,其尺寸分别为K×L和M×N个像素。在任一搜索位置(u,v),0≤u≤K-M,0≤v≤L-N,归一化相关系数(NCC-NormalizedCross-Correlation)定义为:其中∑∑表示为模板图像的均值,为在当前搜索位置实时图与模板图重叠部分的均值。可以看出,该运算就是在实时图中平移模板图,对实时图和模板图重叠点进行归一化相乘,然后进行累加操作。已经提出许多技术来加速模板匹配过程,由于这些技术不需要对所有位置进行匹配,因此大幅度的降低了计算量,但是这些技术通常由于局部的极值点干扰导致错误的匹配。实际上,由于模板匹配计算是针对图像各个像素进行相关运算,因此该算法本身能够通过并行的方法来加速。此外已经提出了一些多处理器并行计算方法来加速模板匹配。但是对于很多小型化、微功耗需求的嵌入式应用,多处理器并行计算方法仍无法满足实际应用要求。近年来,随着电子技术和制造工艺的快速发展,现场可编程门阵列(FPGA)的容量越来越大、速度越来越快,这使得FPGA具有了一般微处理器所无法比拟的强大并行计算,因此FPGA特别适用于实现模板匹配计算。很多自动目标识别任务为了提高精度,在与目标接近的最终任务阶段,往往采用较大的模板图,如一些任务中实时图往往只比模板图略大。对于大小为512*512的实时图,一个典型模板图大小可能大于400*400。一般并行模板匹配实现方法直接采用模板图行数个并行通道,一般FPGA无法同时满足如此多的资源、体积、精度及功耗需求;即使能够利用具有更多资源的芯片采用多通道方式实现,而任务早期和中期只需要小模板图,如80*80,导致整个芯片资源利用率不高。
技术实现思路
本专利技术所要解决的技术问题是针对
技术介绍
的缺陷,提出一种融合大模板图的匹配并行实现方法及装置,实现如何提供一种小模板图实现同时适应大模板图的归一化相关系数计算方法,从而可以解决上述任务不同阶段大小模板图匹配的问题。本专利技术的上述技术问题是通过以下技术方案得以实现的:一种融合大模板图的模板匹配并行实现方法,包括以下步骤:A、在外部微处理器输入参数和启动命令系统启动以后进行初始化,并且设置u=0,v=0,c=0,其中u代表当前行,v代表当前列,c代表当前块;判断模板图是否大于所实现的并行处理通道数P,当模板图不大于P时,执行步骤C1~C6小模板图模式工作流程,否则执行步骤B1~B7大模板图模式工作流程;小模板图模式工作流程如下:C1、从外部存储器中读取每一行模板图数据存储到对应的内部模板图数据RAM缓冲块中同时进行模板图灰度值总和模板图灰度值平方总和计算;读取模板图相同行数的实时图数据分别到对应的内部实时图数据RAM缓冲块中,同时计算第0行第0列搜索位置处实时图灰度值总和实时图灰度值平方总和同时分别存储到Acc缓冲、A2cc缓冲中,其中当前行、当前列初始化为u=0,v=0,M、N分别代表模块图中的行数和列数;C2、计算当前行第0列模板图实时图灰度值乘积总和同时存储到ABcc缓冲中;从Acc缓冲、A2cc缓冲、ABcc缓冲中同时输出当前行当前列实时图灰度值总和、实时图灰度值平方总和、模板图实时图灰度值乘积总和,同时计算当前行当前列归一化互相关结果;C3、由实时图数据RAM缓冲块数据及当前行第0列搜索位置处实时图灰度值总和、实时图灰度值平方总和,采用一加一减两步操作计算搜索位置当前行第1列的实时图灰度值总和及实时图灰度值平方总和同时存储到Acc缓冲、A2cc缓冲中;C4、由步骤C2到步骤C3相同的方式,依次计算当前行后续各列v归一化相关系数直到所有列计算完成;C5、读入下一行实时图数据存储到数据已经无效的内部实时图RAM缓冲块中,同时计算当前行第0列的实时图灰度值总和实时图灰度值平方总和同时存储到Acc缓冲、A2cc缓冲中;C6、采用步骤C2到步骤C5相同的方式,依次计算出后续各行各列归一化相关系数;大模板图模式工作流程如下:B1、从外部存储器中读取第u+P*c到u+P*c+P-1行实时图数据到对应的内部RAM缓冲块中,计算第u行第0列搜索处第c块实时图灰度值总和实时图灰度值平方总和同时从Acc(v=0)、A2cc(v=0)缓冲当前列位置v读取已经存储起来的前c-1块的累加值和当前第c块的Acc(u,v,c)、A2cc(u,v,c)相加后存储到Acc、A2cc在V=0的缓冲对应位置;从外部存储器中读取第P*c到P*c+P-1行模板图数据到对应的内部RAM缓冲块中,同时利用累加运算进行前c块模板图灰度值总和模板图灰度值平方总和计算;B2、计算当前行第0列第c块模板图实时图灰度值乘积总和从ABcc缓冲当前列位置v读取已经存储起来的前c-1块的累加值和当前第c块的ABcc(u,v,c)相加后存储到ABcc缓冲对应位置;B3、由实时图数据RAM缓冲块数据及当前行第0列搜索位置处第c块实时图灰度值总和、实时图灰度值平方总和,采用一加一减两步操作计算搜索位置当前行第1列第c块的实时图灰度值总和及实时图灰度值平方总和从Acc缓冲、A2cc缓冲当前列位置v读取已经存储起来的前c-1块的累加值和当前第c块的Acc(u,v,c)、A2cc(u,v,c)相加后存储到Acc缓冲、A2cc缓冲对应位置;B4、由步骤B2到步骤B3相同的方式,依次计算当前行后续各列v第c块实时图灰度值总和、实时图灰度值平方总和、模板图实时图灰度值乘积总和,从缓冲中读取此前所有块的累加值与新计算结果相加,并且存储到相应的Acc缓冲、A2cc缓冲、ABcc缓冲对应列v位置中;B5、v重新初始化为0,由步骤B2到步骤B4相同的方式,依次计算当前行各列v各块实时图灰度值总和、实时图灰度值平方总和、模板图实时图灰度值乘积总和,从缓冲相应位置读取此前所有块的累加值与新计算结果相加,并且存储到相应的Acc缓冲、A2cc缓冲、ABcc缓冲中,由此得到当前行各列实时图灰度值总和、实时图灰度值平方总和、模板图实时图灰度值乘积总和;B6、由Acc缓冲、A2cc缓冲、ABcc缓冲中依次输出当前行各列实时图灰度值总和、实时图灰度值平方总和、模板图实时图灰度值乘积总和,同时计算当前行各列归一化互相关结果;B7、块序c重新初始化为0,采用步骤B1到步骤B6,依次计算出后续各行各列归一化相关系数。进一步的,所述归一化相关系数公式如下:其中,A、B分别表示实时图和模板图,其尺寸分别为K×L、M×N个像素,其中K代表是实时图的行数,L代表实时图的列数,M代表模块图的行数,N代表模块图的列数;(u,v)为任一搜索位置,0≤u≤K-M,0≤v≤L-N;∑∑表示为模板图像的灰度平均值,为当前搜索位置(u,v)处实时图与模板图重叠区域的灰度平均值,行列的序号都是从0开始的。进一步的,步骤A中并行处理通道数P由较小模板图行数决定,大模板图中,c是每一本文档来自技高网
...
融合大模板图的模板匹配并行实现方法及装置

【技术保护点】
一种融合大模板图的模板匹配并行实现方法,其特征是:包括以下步骤:A、在外部微处理器输入参数和启动命令系统启动以后进行初始化,并且设置u=0,v=0,c=0,其中u代表当前行,v代表当前列,c代表当前块;判断模板图是否大于所实现的并行处理通道数P,当模板图不大于P时,执行步骤C1~C6小模板图模式工作流程,否则执行步骤B1~B7大模板图模式工作流程;小模板图模式工作流程如下:C1、从外部存储器中读取每一行模板图数据存储到对应的内部模板图数据RAM缓冲块中同时进行模板图灰度值总和

【技术特征摘要】
1.一种融合大模板图的模板匹配并行实现方法,其特征是:包括以下步骤:A、在外部微处理器输入参数和启动命令系统启动以后进行初始化,并且设置u=0,v=0,c=0,其中u代表当前行,v代表当前列,c代表当前块;判断模板图是否大于所实现的并行处理通道数P,当模板图不大于P时,执行步骤C1~C6小模板图模式工作流程,否则执行步骤B1~B7大模板图模式工作流程;小模板图模式工作流程如下:C1、从外部存储器中读取每一行模板图数据存储到对应的内部模板图数据RAM缓冲块中同时进行模板图灰度值总和模板图灰度值平方总和计算;读取模板图相同行数的实时图数据分别到对应的内部实时图数据RAM缓冲块中,同时计算第0行第0列搜索位置处实时图灰度值总和实时图灰度值平方总和同时分别存储到Acc缓冲、A2cc缓冲中,其中当前行、当前列初始化为u=0,v=0,M、N分别代表模块图中的行数和列数;C2、计算当前行第0列模板图实时图灰度值乘积总和同时存储到ABcc缓冲中;从Acc缓冲、A2cc缓冲、ABcc缓冲中同时输出当前行当前列实时图灰度值总和、实时图灰度值平方总和、模板图实时图灰度值乘积总和,同时计算当前行当前列归一化互相关结果;C3、由实时图数据RAM缓冲块数据及当前行第0列搜索位置处实时图灰度值总和、实时图灰度值平方总和,采用一加一减两步操作计算搜索位置当前行第1列的实时图灰度值总和及实时图灰度值平方总和同时存储到Acc缓冲、A2cc缓冲中;C4、由步骤C2到步骤C3相同的方式,依次计算当前行后续各列v归一化相关系数直到所有列计算完成;C5、读入下一行实时图数据存储到数据已经无效的内部实时图RAM缓冲块中,同时计算当前行第0列的实时图灰度值总和实时图灰度值平方总和同时存储到Acc缓冲、A2cc缓冲中;C6、采用步骤C2到步骤C5相同的方式,依次计算出后续各行各列归一化相关系数;大模板图模式工作流程如下:B1、从外部存储器中读取第u+P*c到u+P*c+P-1行实时图数据到对应的内部RAM缓冲块中,计算第u行第0列搜索处第c块实时图灰度值总和实时图灰度值平方总和同时从Acc(v=0)、A2cc(v=0)缓冲当前列位置v读取已经存储起来的前c-1块的累加值和当前第c块的Acc(u,v,c)、A2cc(u,v,c)相加后存储到Acc、A2cc在V=0的缓冲对应位置;从外部存储器中读取第P*c到P*c+P-1行模板图数据到对应的内部RAM缓冲块中,同时利用累加运算进行前c块模板图灰度值总和模板图灰度值平方总和计算;B2、计算当前行第0列第c块模板图实时图灰度值乘积总和从ABcc缓冲当前列位置v读取已经存储起来的前c-1块的累加值和当前第c块的ABcc(u,v,c)相加后存储到ABcc缓冲对应位置;B3、由实时图数据RAM缓冲块数据及当前行第0列搜索位置处第c块实时图灰度值总和、实时图灰度值平方总和,采用一加一减两步操作计算搜索位置当前行第1列第c块的实时图灰度值总和及实时图灰度值平方总和从Acc缓冲、A2cc缓冲当前列位置v读取已经存储起来的前c-1块的累加值和当前第c块的Acc(u,v,c)、A2cc(u,v,c)相加后存储到Acc缓冲、A2cc缓冲对应位置;B4、由步骤B2到步骤B3相同的方式,依次计算当前行后续各列v第c块实时图灰度值总和、实时图灰度值平方总和、模板图实时图灰度值乘积总和,从缓冲中读取此前所有块的累加值与新计算结果相加,并且存储到相应的Acc缓冲、A2cc缓冲、ABcc缓冲对应列v位置中;B5、v重新初始化为0,由步骤B2到步骤B4相同的方式,依次计算当前行各列v各块实时图灰度值总和、实时图灰度值平方总和、模板图实时图灰度值乘积总和,从缓冲相应位置读取此前所有块的累加值与新计算结果相加,并且存储到相应的Acc缓冲、A2cc缓冲、ABcc缓冲中,由此得到当前行各列实时图灰度值总和、实时图灰度值平方总和、模板图实时图灰度值乘积总和;B6、由Acc缓冲、A2cc缓冲、ABcc缓冲中依次输出当前行各列实时图灰度值总和、实时图灰度值平方总和、模板图实时图灰度值乘积总和,同时计算当前行各列归一化互相关结果;B7、块序c重新初始化为0,采用步骤B1到步骤B6,依次计算出后续各行各列归一化相关系数。2.根据权利要求1所述的方法,其特征是:所述归一化相关系数公式如下:其中,A、B分别表示实时图和模板图,其尺寸分别为K×L、M×N个像素,其中K代表是实时图的行数,L代表实时图的列数,M代表模块图的行数,N代表模块图的列数;(u,v)为任一搜索位置,0≤u≤K‐M,0≤v≤L‐N;∑∑表示为模板图像的灰度平均值,为当前搜索位置(u,v)处实时图与模板图重叠区域的灰度平均值,行列的序号都是从0开始的。3.根据权利要求1述的方法,其特征是:步骤A中并行处理通道数P由较小模板图行数决定,大模板图中,c是每一搜索位置处分块数目C的序号。4.根据权利要求1所述的方法,其特征是:步骤C1所述的模板图数据读入到对应的内部RAM缓冲块,是将每一行N列的灰度值存储到一个RAM块中,共存入M行,即占用了M个RAM块,每个RAM块占用其中的N个存储单元;实时图数据读入到对应的内部RAM缓冲块,是将每一行L列的灰度值存储到一个RAM块中,共存入M行,同样占用了M个RAM块,每个RAM块占用其中的L个存储单元;步骤C1所述的模板图灰度值总和的计算是在读入模板图数据时,通过时序控制模块控制一个累加器实现,累加器的输入端连接到模板图数据输入端,其输出即为模板图灰度值总和;步骤C1所述的模板图灰度值平方总和的计算是在读入模板图数据时,通过时序控制模块控制一个平方运算模块和一个累加器实现,平方运算模块的输入端连接到模板图数据输入端,平方运算模块的输出连接到累加器的输入端,累加器输出即为模板图灰度值平方总和;步骤C1中所述的第0行第0列搜索位置处的实时图灰度值总和的计算,是通过时序控制模块控制一个行数据累加模块在每一行实时图数据读入时,对实时图第0行第0列搜索位置处每一行数据进行累加,然后通过一个列累加器对这些行数据累加模块输出结果逐行进行累加,并且和该列累加器累加结果经过M步延迟后结果相减获得,同时结果存储到Acc缓冲中;步骤C1中所述的第0行第0列搜索位置处的实时图灰度值平方总和的计算,是通过时序控制模块控制一个行数据累加模块在每一行实时图数据读入时,对实时图第0行第0列搜索位置处每一行数据逐个平方后进行累加,然后通过一个列累加器对这些行数据平方累加模块输出结果逐行进行累加,并且和该列累加器累加结果经过M步延迟后结果相减获得,同时结果存储到A2cc缓冲中;步骤C2和步骤C4中的模板图与实时图当前搜索位置的灰度值乘积总和的计算,实现如下:模板图像RAM缓冲块的所有输出端连接到一个多路选通开关,多路选通开关的输出连接到乘法模块中的一个乘法器的一端,乘法器的另一端对应连接到实时图像RAM缓冲块的输出端;采用模板图最大行数M个这样的并行通道进行并行运算,然后各个通道输出端连接到一个并加模块的输入端,并加模块的输出端连接到一个累加模块,在计算时,时序控制模块控制选通开关使得对应的模板图数据与实时图数据进行乘积运算,改变模板图像和实时图像RAM缓冲块的地址,逐列输出模板图和实时图的对应数据进行乘积运算,然后经过并加模块对当前列各行数据进行求和,而后由累加模块对并加模块输出的结果逐列求和后,获得当前列各个搜索位置的同时结果存储到ABcc缓冲中;步骤C2和步骤C4所述计算归一化相关系数是在由Acc缓冲、A2cc缓冲、ABcc缓冲中同时输出当前行当前列实时图灰度值总和、实时图灰度值平方总和、模板图实时图灰度值乘积总和以后,相应的可以由乘法器、平方运算、加、减法器计算出来,归一化相关系数计算公式中的分母由两个求根模块进行求根运算,然后再对两者进行相乘获得,然后归一化相关系数计算公式中的分子和分母由除法运算得到归一化相关系数;步骤C2和步骤C4所述的搜索位置当前行归一化相关系数的计算,是模板图像第0到M‐1行与实时图第0到M‐1行数据对应计算,搜索位置第0列归一化相关系数的计算为模板图像第0到N‐1列与实时图像第0到N‐1列数据对应计算;搜索位置第1列归一化相关系数的计算为模板图像第0到N‐1列与实时图像第1到N列数据对应计算;此时后续的求平方根、浮点除法等后续运算同步流水进行,以此重复,直到当前行归一化相关系数计算完成为止;步骤C3和步骤C6中当前行第1列开始后续各列v,v≥1,每一个实时图灰度值总和计算,是从搜索位置第1列开始,通过时序控制模块同时控制所有实时图数据缓冲RAM块依次输出实时图中模板图重叠区域相对于前一列搜索位置新进的一列数据和刚移出的一列数据,经过并加器后,由累加器在当前输出值的基础上,累加新进的一列数据并加结果减去刚移出一列数据并加结果,然后累加器输出结果与已经计算出的当前行第0列的实时图灰度值总和相加得到同时结果存储到Acc缓冲中,此时,该累加器在第0列搜索位置处的值初始化为0,当前操作主要为一加一减两步操作,累加器加上相对于前一个搜索位置新进的一列数据的并加结果,减去相对于前一个搜索位置刚移出的一列数据的并加结果,其它运算...

【专利技术属性】
技术研发人员:王邢波王小涛聂宏刘烨
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1