首页 / 专利库 / 化学元素和化合物 / 电子 / 一种全场稠密点快速匹配系统

一种全场稠密点快速匹配系统

阅读:136发布:2020-10-28

专利汇可以提供一种全场稠密点快速匹配系统专利检索,专利查询,专利分析的服务。并且一种全场稠密点快速匹配系统,通过参考图像 存储器 模 块 和目标图像存储器模块将捕获到的图像数据进行缓存,系统同时设置了搜索子区全模板平方和模块和搜索子区局部模板平方和模块,参考子区局部模板平方和模块、搜索子区局部模板平方和模块、局部模板乘积和模块的输出结果输入到局部模板相关系数计算模块得到局部模板相关系数,局部模板相关系数输入到 阈值 比较模块得出当前的匹配窗口与局部模板的相关性,局部模板匹配排除了大量的非匹配窗口,如果阈值比较后需要进行全模板计算,则采用分时复用的方法对乘法器阵列进行复用,保证在时钟周期内完成窗口的全模板计算,大大降低了 算法 硬件 实现的成本。,下面是一种全场稠密点快速匹配系统专利的具体信息内容。

1.一种全场稠密点快速匹配系统,其特征在于:包括参考图像存储器(M001)和目标图像存储器模块(M002),参考图像存储器模块(M001)在存储器控制模块(M004)的控制作用下将所存储参考图像中的参考子区数据输入到参考子区寄存器组模块(M007)以及参考子区全模板平方和模块(M011),目标图像存储器模块(M002)在存储器控制模块(M004)的控制作用下将所存储目标图像中的搜索区域数据输入到搜索区域缓存模块(M006),搜索区域缓存模块(M006)连接搜索子区寄存器组模块(M009)和搜索子区全模板平方和模块(M010),搜索子区全模板平方和模块(M010)连接搜索子区局部模板平方和模块(M015);
所述的参考子区寄存器组模块(M007)和搜索子区寄存器组模块(M009)连接乘法器阵列模块(M008),在状态机控制模块(M005)的控制下将乘法器阵列模块(M008)的输出结果分别输入到参考子区局部模板平方和模块(M013)、全模板乘积和模块(M017)以及局部模板乘积和模块(M018);所述的参考子区局部模板平方和模块(M013)、搜索子区局部模板平方和模块(M015)、局部模板乘积和模块(M018)的输出结果输入到局部模板相关系数计算模块(M014)得到局部模板相关系数,局部模板相关系数输入到阈值比较模块(M012)得出当前的匹配窗口与局部模板的相关性;阈值比较模块(M012)连接状态机控制模块(M005);
将得到的局部模板相关系数与阈值比较模块(M012)中的阈值进行比较,如果局部模板相关系数小于阈值,表明该搜索子区与参考子区的相关性较差,排除该搜索子区进行下一搜索子区的计算;如果局部模板相关系数大于等于阈值,说明该搜索子区与参考子区的相关性较好,则进一步计算全模板下的相关系数来判定该窗口是否为最佳匹配窗口;
所述的参考子区全模板平方和模块(M011)、全模板乘积和模块(M017)以及搜索子区全模板平方和模块(M010)连接全模板相关系数计算模块(M016),全模板相关系数计算模块(M016)将最佳匹配点输出;局部模板相关系数计算模块(M014)每完成一对匹配点能记录相关系数值,根据所完成匹配点记录的相关系数值更换阈值比较模块(M012)中的阈值;
通过局部模板匹配排除非匹配窗口,筛选出与匹配点相关性强的候选匹配窗口,再对候选匹配窗口用全模板进行精匹配,减少全模板参与搜索匹配计算的次数。
2.根据权利要求1所述的全场稠密点快速匹配系统,其特征在于:所述的参考图像存储器模块(M001)和目标图像存储器模块(M002)为处理器外部模块,其余为处理器内部模块;
处理器外部模块还包括能够为处理器内部模块提供初始化参数的参数配置模块(M003),当局部模板相关系数计算模块(M014)完成第一对匹配点的任务后,能够得到一个完成标志位信号,根据最佳匹配点的位移量改变参数配置模块(M003)中对搜索区域大小的配置。
3.根据权利要求1所述的全场稠密点快速匹配系统,其特征在于:所述的参考图像存储器模块(M001)和目标图像存储器模块(M002)通过独立的存储器实现。
4.根据权利要求1所述的全场稠密点快速匹配系统,其特征在于:所述的搜索区域缓存模块(M006)能够将输入的串行搜索区域数据转换成并行数据输出。
5.根据权利要求1所述的全场稠密点快速匹配系统,其特征在于:所述的乘法器阵列模块(M008)采用与局部模板像素点数量相同的乘法器构建。
6.根据权利要求1所述的全场稠密点快速匹配系统,其特征在于:搜索子区寄存器组模块(M009)采用数据缓存区对输入到寄存器组的数据缓存,当某一搜索窗口的局部模板匹配相关系数计算完成后该搜索窗口数据通过缓存区进入另一寄存器组进行全模板相关系数计算。
7.根据权利要求1所述的全场稠密点快速匹配系统,其特征在于:所述的搜索子区全模板平方和模块(M010)将搜索子区全模板区域分为若干部分进行并行计算,某部分部分结果作为搜索子区局部模板平方和模块(M015)的输入,所有结果求和为搜索子区全模板平方和。
8.根据权利要求1所述的全场稠密点快速匹配系统,其特征在于:所述的全模板乘积和模块(M017)将除去局部模板后的全模板剩余像素点分为多个部分,分时复用乘法器阵列模块(M008)对各个部分像素点进行乘积项计算,求和得到全模板乘积和。

说明书全文

一种全场稠密点快速匹配系统

技术领域

[0001] 本发明涉及数字散斑技术图像处理系统,具体涉及一种全场稠密点快速匹配系统。

背景技术

[0002] 数字散斑相关方法是物体三维信息获取过程中计算最复杂的,它通过对被测物体变形前后的位移或变形前后的两个散斑场图像进行相关性计算而得到其形变等学性能,作为视觉测量方法之一,数字散斑相关测量方法具有全场非接触、高精度、高稳定性等优点,已经成为三维形变及形貌测量领域的一种重要的测量手段,但其计算复杂度高、速度慢,如何降低其计算复杂度和提高其计算处理速度已经成为当今学者研究的重点。数字散斑相关方法的关键步骤是相关搜索匹配,虽然该方法具有诸多优点,但其自身也存在着种种弊端,其中最大的问题是搜索匹配的速度和精度。利用硬件的并行处理机制和流线计算结构,能够极大的提高算法整体的计算速度,真正做到实时图像处理,利用硬件实现可以将系统集成到很小的芯片上,从而减小系统体积,降低系统的功耗,提高系统的运行效率。
[0003] 目前,许多学者对基于硬件化系统的立体匹配算法已经进行了一系列研究。2003年,Darabiha等人采用FPGA硬件平台,设计实现了一种多分辨率、多相位下的局部权重相位相关的立体匹配算法系统,该系统计算图像的分辨率为256×360,计算率为30帧/秒,稠密视差图的视差值在0~20范围内;2007年,Kristian等人在FPGA硬件平台上完成了SAD匹配准则的算法实现,该系统输入图像的分辨率为320×240,搜索区域大小为100×100,匹配模板3×3,计算帧率为425帧/秒。尽管现在国内外对搜索匹配算法的硬件实现方法有了一定的研究,然而该方法仍然存在许多需要改进的地方。比如,大部分硬件实现为了降低资源消耗,都是采用小模板进行匹配,小模板匹配对于准确度要求较高的匹配过程并不适用,现有的匹配算法硬件实现大多数都是基于整像素搜索匹配算法。

发明内容

[0004] 本发明的目的在于针对上述现有技术中的问题,提供一种全场稠密点快速匹配系统,利用FPGA作为硬件平台的核心处理器,能够提高匹配速度,减少计算量,保证实时性。
[0005] 为了实现上述目的,本发明采用的技术方案为:包括参考图像存储器和目标图像存储器模块,参考图像存储器模块在存储器控制模块的控制作用下将所存储参考图像中的参考子区数据输入到参考子区寄存器组模块以及参考子区全模板平方和模块,目标图像存储器模块在存储器控制模块的控制作用下将所存储目标图像中的搜索区域数据输入到搜索区域缓存模块,搜索区域缓存模块连接搜索子区寄存器组模块和搜索子区全模板平方和模块,搜索子区全模板平方和模块连接搜索子区局部模板平方和模块;
[0006] 所述的参考子区寄存器组模块和搜索子区寄存器组模块连接乘法器阵列模块,在状态机控制模块的控制下将乘法器阵列模块的输出结果分别输入到参考子区局部模板平方和模块、全模板乘积和模块以及局部模板乘积和模块;所述的参考子区局部模板平方和模块、搜索子区局部模板平方和模块、局部模板乘积和模块的输出结果输入到局部模板相关系数计算模块得到局部模板相关系数,局部模板相关系数输入到阈值比较模块得出当前的匹配窗口与局部模板的相关性;阈值比较模块连接状态机控制模块;
[0007] 所述的参考子区全模板平方和模块、全模板乘积和模块以及搜索子区全模板平方和模块连接全模板相关系数计算模块,全模板相关系数计算模块将最佳匹配点输出;
[0008] 局部模板相关系数计算模块每完成一对匹配点能记录相关系数值,根据所完成匹配点记录的相关系数值更换阈值比较模块中的阈值。
[0009] 所述的参考图像存储器模块和目标图像存储器模块为处理器外部模块,其余为处理器内部模块;处理器外部模块还包括能够为处理器内部模块提供初始化参数的参数配置模块,当局部模板相关系数计算模块完成第一对匹配点的任务后,能够得到一个完成标志位信号,根据最佳匹配点的位移量改变参数配置模块中对搜索区域大小的配置。
[0010] 所述的参考图像存储器模块和目标图像存储器模块通过独立的存储器实现。
[0011] 所述的搜索区域缓存模块能够将输入的串行搜索区域数据转换成并行数据输出。
[0012] 所述的乘法器阵列模块采用与局部模板像素点数量相同的乘法器构建。
[0013] 所述的搜索子区寄存器组模块采用数据缓存区对输入到寄存器组的数据缓存,当某一搜索窗口的局部模板匹配相关系数计算完成后该搜索窗口数据通过缓存区进入另一寄存器组进行全模板相关系数计算。搜索子区全模板平方和模块将搜索子区全模板区域分为若干部分进行并行计算,某部分部分结果作为搜索子区局部模板平方和模块的输入,所有结果求和为搜索子区全模板平方和。全模板乘积和模块将除去局部模板后的全模板剩余像素点分为多个部分,分时复用乘法器阵列模块对各个部分像素点进行乘积项计算,求和得到全模板乘积和。
[0014] 与现有技术相比,本发明具有如下的有益效果:通过参考图像存储器模块和目标图像存储器模块将捕获到的图像数据进行缓存,系统同时设置了搜索子区全模板平方和模块和搜索子区局部模板平方和模块,参考子区局部模板平方和模块、搜索子区局部模板平方和模块、局部模板乘积和模块的输出结果输入到局部模板相关系数计算模块得到局部模板相关系数,局部模板相关系数输入到阈值比较模块得出当前的匹配窗口与局部模板的相关性,局部模板匹配排除了大量的非匹配窗口,筛选出与匹配点相关性强的候选匹配窗口,再对候选匹配窗口用全模板进行精匹配,能够在保证匹配精度的情况下减少全模板参与搜索匹配计算的次数,提高了匹配速度。本发明局部模板相关系数计算模块每完成一对匹配点能记录相关系数值,根据所完成匹配点记录的相关系数值更换阈值比较模块中的阈值,具有自适应性。此外,乘法器阵列模块中的每个乘法器负责一对参考子区与搜索子区像素点的乘法运算,该乘法器阵列模块保证在一个时钟周期内完成局部模板下所有像素点的互相关乘积计算,互相关乘积完成后,经过流水线加法器对所有乘积项进行求和,最终得到局部模板下的互相关乘积和,如果阈值比较后需要进行全模板计算,则采用分时复用的方法对乘法器阵列进行复用,保证在时钟周期内完成窗口的全模板计算,大大降低了算法硬件实现的成本。本发明极大地减少了乘法器阵列的使用数量,局部模板匹配能够排除大量的非匹配点,分时复用乘法器阵列,对少量的候选匹配点再进行全模板匹配计算,自适应选取阈值技术增加了算法的稳定性和灵活性,在速度损失不到15%的情况下,将处理器硬件资源的消耗能减少两倍以上,可用于航空航天、质量控制和材料科学等领域物体的三维形变及形貌的精密测量。附图说明
[0015] 图1本发明快速匹配系统的结构框图
[0016] 图2参考子区数据输出时序图;
[0017] 图3搜索子区数据输出时序图;
[0018] 图4参考子区平方和计算原理示意图;
[0019] 图5局部匹配模板区域划分示意图;
[0020] 图6滑动窗口R1R2平方和计算流程框图;
[0021] 图7互相关乘积和计算流程框图;
[0022] 图8局部模板相关系数比较原理示意图;
[0023] 图9分时计算区域划分示意图;
[0024] 附图中:M001-参考图像存储器模块;M002-目标图像存储器模块;M003-参数配置模块;M004-存储器控制模块;M005-状态机控制模块;M006-搜索区域缓存模块;M007-参考子区寄存器组模块;M008-乘法器阵列模块;M009-搜索子区寄存器组模块;M010-搜索子区全模板平方和模块;M011-参考子区全模板平方和模块;M012-阈值比较模块;M013-参考子区局部模板平方和模块;M014-局部模板相关系数计算模块;M015-搜索子区局部模板平方和模块;M016-全模板相关系数计算模块;M017-全模板乘积和模块;M018-局部模板乘积和模块。

具体实施方式

[0025] 下面结合附图对本发明做进一步的详细说明。
[0026] 参见图1,参考图像存储器模块M001和目标图像存储器模块M002作为图像数据缓存模块将捕获到的图像数据进行缓存。参考图像存储器模块M001和目标图像存储器模块M002采用两片存储器分别进行存储,处理器内部的存储器控制模块M004与它们连接,对两个图像存储模块进行读写控制,实现存储器控制模块主要分为以下三个部分:
[0027] 1)相环。存储器芯片本身需要一个驱动时钟外加一个存储器的控制时钟,总共需要两个时钟信号。为了保证存储器的读/写操作在控制器输出数据的稳定期,驱动时钟与控制时钟之间需要保持一个固定的相位差,才能最大限度的保证稳定的读/写数据。因此,在设计中加入锁相环,锁相环保证相位抖动较小,外部时钟经过锁相环输出两个同频率不同相位的时钟。
[0028] 2)存储器的控制时序。时序主要由内部的命令接口模块和控制接口模块组成。存储器的所有时序都是通过命令来响应和处理,该模块主要包括预充电、刷新、突发读/写操作等命令的控制。控制接口模块则直接通过相关命令实现对存储器的操作控制,该模块在上电初期,首先进行存储器的初始化,初始化完成后对存储器开始正常的读/写操作,每隔一段时间对所有Bank的行和列进行一次预刷新操作,从而保证数据不丢失。
[0029] 3)双端口读/写接口。双端口就是两个读/写端口,由于存储器的读/写公用一组数据I/O口,因此存储器在同一时间只能进行读操作或者写操作。存储器数据端口处的读/写通过异步FIFO实现跨时钟域数据交互以及保证数据的连续性。如果写入或者读取速度过快,而存储器来不及响应写或者读操作,会造成数据的丢失或者错误。另外,由于存储器固有的自刷新操作使得存储器在刷新操作时需要占据一定的时间。因此,如果数据输入速度过快,还来不及写入存储器,则会造成写入FIFO的数据溢出。
[0030] 参考子区寄存器组模块和搜索区域缓存模块主要是对参考子区和搜索区域的数据进行读取,同时搜索区域缓存模块M006对搜索区域的数据进行串转并处理。图2是参考子区数据输出时序,首先对存储器发送命令,以突发模式开始读取参考子区的数据,Ref_Data_En为参考子区的行使能信号,每一个行使能信号下包含多个有效数据,然后间隔一定的时间后读取参考子区下一行数据。由于参考子区的数据明显少于搜索区域的数据,相对于搜索区域数据的读取时间,参考子区数据的读取时间较短,即使参考子区数据采取串行的方式输出也不会影响整个系统的速度,因此对参考子区的数据输出采取串行的输出方式,相比参考子区的输出时间,搜索区域大量数据的读取消耗时间较多,需要对对搜索区域的数据进行串转并处理。
[0031] 搜索区域大小初始设定为256×256,在第一个匹配点搜索完成后,系统会根据第一个匹配点得到的位移自适应调整搜索区域的位置和大小,将调整后的搜索区域大小限定为128×128。搜索区域缓存模块并行输出数据,首先确定搜索区域的起始地址,并向目标图像存储器模块发送命令和地址读取搜索区域中第一行数据并缓存,其数据输出时序如图3所示。当接收到匹配模块发送的允许读信号后,开始从缓存区中读出数据,当第一行数据读取完成后,继续向目标图像存储器模块发送命令读取搜索区域中下一行数据,这样搜索区域的数据伴随着使能信号串行的从目标图像存储器模块中输出。对输入到搜索区域缓存模块的数据进行串转并处理,该缓存单元采用31组数据深度为256,数据位宽为8位的双端口存储器,该31组双端口存储器采用串行的方式首尾连接,所有双端口存储器的读/写地址均采用同一条地址线。
[0032] 大多数数字图像处理过程都是基于滑动窗口来实现的,为了保证更好地匹配精度,本发明选用大小为31×31的正方形区域作为匹配滑动窗口。在匹配点搜索计算时,参考子区作为模板数据在整个搜索过程中是保持不变的,并且其数据量较小。因此参考子区位置一旦确定,立即将参考子区数据从参考图像存储器模块中读出,寄存到参考子区寄存器组模块中,参考子区寄存器组由31×31个寄存器构成,每个寄存器可以寄存一个8位的灰度图像数据,采用首尾串行连接的方式进行连接,这样就可以在若干个时钟周期内将参考子区31×31个数据串行移位到31×31寄存器组内进行模板寄存。
[0033] 搜索子区寄存器组模块M009采用31路并行移位寄存器组构成。每路移位寄存器组包含31个寄存器,每个寄存器可以寄存8位灰度图像数据。该并行移位寄存器组的并行输入信号来自搜索区域缓存模块的31路8位并行输出信号,搜索区域缓存模块的数据并行输出有效使能信号作为寄存器的移位使能信号,当数据使能信号为高时,将有效数据移入寄存器组;当数据使能为低时,不进行移位操作,保持寄存器内原有的值不变。该31×31并行移位寄存器组后面连接了一个数据FIFO缓存区和另外一组31×31并行移位寄存器。由于局部匹配模板计算相关系数的结果需要经过几十个时钟周期的流水延时,在这几十个时钟周期后,前面31×31并行移位寄存器组的数据会源源不断的后续数据更新。一旦判断该窗口内的数据需要进行全模板匹配时,当前窗口的数据早就被更新而无法进行全模板计算。因此,该单元采用数据FIFO对并行移位寄存器组的数据进行缓存,方便进行全模板相关系数的计算。
[0034] 归一化互相关系数计算单元是通过设计一些数学运算逻辑电路对归一化互相关公式进行相关系数的求解,可以将它分别计算:参考子区全模板平方和模块M011、搜索子区全模板平方和模块M010、参考子区局部模板平方和模块M013、搜索子区局部模板平方和模块M015、全模板乘积和模块M017和局部模板乘积和模块M018。为了保持一致的数据吞吐量,本发明需要保证每个时钟周期完成一个窗口的相关系数计算。其中,参考子区全模板和局部模板平方和,搜索子区全模板和局部模板平方和的计算较容易实现,所消耗的资源也相对较少;然而,对于全模板乘积和与局部模板乘积和的计算,若想在一个时钟周期内完成一次计算,则需要大量的乘法器资源。本发明通过对搜索匹配算法的改进,提出的快速匹配算法能更好的适合硬件实现,该算法的实现首先采用相应数量的乘法器完成局部匹配模板相关系数的计算,如果阈值比较后需要进行全模板计算,则采用分时复用的方法对乘法器阵列进行复用,保证在三个时钟周期内完成该窗口的全模板计算,大大降低了算法硬件实现的成本。
[0035] 下面将详细介绍该计算模块的硬件实现过程。
[0036] 1)参考子区全模板平方和模块M011。某个匹配点的参考子区的数据在整个搜索过程中是固定不变的,因此,参考子区内所有像素点的平方和在整个搜索过程中也是固定不变的,这样每个匹配点只需要进行一次参考子区平方和的计算。如图4所示的电路结构是参考子区全模板平方和计算单元,该单元采用累加的方式对参考子区平方和进行计算,其由乘法器、加法器和寄存器构成。该计算单元在参考子区数据进入串行移位寄存器组的同时逐个对搜索子区数据进行累加计算,计算得到的平方和是全模板下的参考子区平方和。
[0037] 2)参考子区局部模板平方和模块M013。由于参考子区数据量较小且固定不变,在其完全串行移位进入寄存器组时,搜索子区的数据还在准备,此时乘法器阵列处于闲置状态。因此,可以在该空闲时间内利用乘法器阵列完成对参考子区局部模板平方和的计算。
[0038] 3)搜索子区全模板平方和模块M010与搜索子区局部模板平方和模块M015。本发明匹配全模板采用的是31×31的区域,相应的局部匹配模板区域划分如图5所示,局部匹配模板由R0、R1、R2、R3和R4构成,其中R0、R1、R2、R3、R4均为7×7的区域。随着搜索区域数据一拍一拍的并行进入搜索子区寄存器组模块M009,相当于滑动窗口在搜索区域内从左向右、从上向下逐点移动。搜索子区寄存器组内的数据是动态变化的,因此,对于如此大的数据吞吐量,搜索子区寄存器组内的数据的平方和不能采用串行累加的方式进行计算。本发明采用并行流水线结构对搜索子区内像素点的平方和进行计算,将全模板分四部分进行并行计算,即区域R1R2平方和、区域R0平方和、区域R3R4平方和以及剩下10行数据的平方和。其中计算R1R2平方和的实现电路如图6所示,该电路实现了在单个时钟周期内完成模板前7行数据的平方和计算以及区域R1R2数据的平方和计算。首先将七路并行数据经过一个8位乘法器完成每个数据的平方计算,然后通过流水线加法器完成七路并行数据的列平方和的计算,计算结果串行移入31个20位移位寄存器进行寄存。
[0039] 利用类似的电路结构分别求得区域R0的平方和及其所占据的7行数据平方和、区域R3R4的平方和及其所占据的7行数据平方和、剩下10行数据的平方和。
[0040] 然后,对计算所得的平方和Sum_R1R2、Sum_R0以及Sum_R3R4进行求和运算即可得到某个搜索子区局部模板下的平方和;对计算所得的平方和Sum1、Sum2、Sum3以及Sum4进行求和运算即可得到该搜索子区全模板下的平方和。
[0041] 4)局部模板乘积和模块M018。需要消耗大量DSP Slice资源,才能保证在单个时钟周期内完成窗口内大量数据的吞吐量。本发明通过对算法的优化,采用局部模板匹配的策略大大减少了乘法器阵列的DSP Slice资源消耗。在硬件实现中,采用多周期分时计算的方法,显著降低DSP Slice的资源消耗,大大节省了硬件实现的成本。
[0042] 如图7所示,本发明硬件结构采用与局部模板像素点数量相同的乘法器构建乘法器阵列,即局部模板中每个像素点对应一个乘法器,这样该乘法器阵列总共需要245个DSP Slice来搭建。将参考子区和搜索子区寄存器组作为乘法器阵列的数据输入,乘法器阵列中的每个乘法器负责一对参考子区与搜索子区像素点的乘法运算,该乘法器阵列可以保证在一个时钟周期内完成局部模板下所有像素点的互相关乘积计算,互相关乘积完成后,经过流水线加法器对所有乘积项进行求和,最终可以得到局部模板下互相关乘积和。
[0043] 5)全模板乘积和模块M017。对于全模板下的相关系数的计算,目前已经完成全模板下的参考子区全模板平方和、搜索子区全模板平方和、参考子区局部模板平方和、搜索子区局部模板平方的计算,下面只需要计算全模板下的互相关乘积和即可得到全模板下的相关系数。然而,利用现有的乘法器阵列无法在一个时钟周期内完成全模板下所有互相关乘积项的计算。因此,本发明采用多时钟周期策略对全模板下互相关乘积和进行计算,将全模板剩余的像素点分为三部分,如图9所示,每部分包含相等的像素点,利用乘法器阵列分时对该三部分像素点进行乘积项计算,结果求和即为全模板乘积和。
[0044] 6)全模板相关系数计算模块M016。经过上述计算,可以得到参考子区全模板平方和、搜索子区全模板平方和、参考子区局部模板平方和、搜索子区局部模板平方和、全模板乘积和与局部模板乘积和。当需要计算全模板相关系数时,系统会产生一个全模板计算标志位,该信号会中止搜索区域缓存模块输出数据,使得搜索子区寄存器组模块的数据保持不变,此时滑动窗口位置保持不变,等待三个时钟周期的时间,状态机控制模块控制乘法器阵列去处理全模板数据的乘积运算,输入参考子区全模板平方和、搜索子区全模板平方和以及全模板乘积和计算出全模板下的相关系数。状态机控制模块在不同状态控制不同的数据在乘法器阵列模块中进行计算,计算完成后,并行移位寄存器组继续移位更新下一窗口数据。
[0045] 7)局部模板相关系数计算模块M014。经过上述计算,可以得到参考子区全模板平方和、搜索子区全模板平方和、参考子区局部模板平方和、搜索子区局部模板平方和、全模板乘积和与局部模板乘积和。通过简单的乘除运算单元,如图8所示,输入参考子区局部模板平方和、搜索子区局部模板平方和以及局部模板乘积和计算出局部模板下的相关系数。
[0046] 利用比较器将得到的相关系数值与阈值进行比较,如果相关系数值小于阈值,说明该搜索子区与参考子区相关性较差,排除该搜索子区进行下一搜索子区的计算;如果相关系数值大于等于阈值,说明该搜索子区与参考子区的相关性较好,需进一步计算全模板下的相关系数值来判定该窗口是否为最佳匹配窗口。
[0047] 8)状态机控制模块M005。状态机共分为5个状态,S0状态为计算局部模板下搜索子区与参考子区的乘积,若参考子区模板输入完成,则跳转到S1状态;若全模板计算标志位为0,则继续当前状态;若为1,则跳转到S2状态;S1状态为计算参考子区局部模板下的平方,若局部模板下的平方计算完成,则跳转到S0状态,该状态在每个匹配点只需执行一次;S2状态为计算全模板下参考子区与搜索子区第一部分乘积,第一部分计算完成后跳转到S3状态,该状态为单向顺序执行状态;S3状态为计算全模板下参考子区与搜索子区第二部分乘积,第二部分计算完成后跳转到S4状态,该状态为单向顺序执行状态;S4状态为计算全模板下参考子区与搜索子区第三部分乘积,第三部分计算完成后跳转到S0状态,该状态为单向顺序执行状态。局部模板相关系数计算模块M014的相关系数输出到阈值比较模块M012,通过与阈值进行比较来排除一些非匹配点,阈值大小的选择决定了排除非匹配点的数量,如果阈值选取过大,则可能排除最佳匹配点,导致匹配失败;如果阈值选取过小,则会增加参与全模板计算的候选匹配点数量,降低匹配效率。本发明采用自适应选取阈值。
[0048] 采用直方图统计模块对局部模板下的相关系数进行统计,在局部模板相关系数计算模块中用存储器对不同区间内的相关系数的个数进行统计,其数据深度为100,数据位宽为15位,存储器的1~100地址值分别代表相关系数值0.01~1。将计算得到的局部模板下的相关系数通过浮点乘法器乘以固定值100,将其结果作为存储器的读地址,取出存储器中该地址对应的数值,并进行加1操作后继续存回该地址,从而完成对该相关系数的统计。当局部模板完成整个搜索区域的计算后,该单元也就完成了相关系数的统计。统计完成后,从最大地址向最小地址逐个取出所在的值进行求和,当求和结果达到总数的1%~10%时停止统计,并将此时的地址值对应的相关系数作为下一个匹配点的阈值。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈