CN104820652A - 一种使用axi总线的图像模板匹配装置 - Google Patents
一种使用axi总线的图像模板匹配装置 Download PDFInfo
- Publication number
- CN104820652A CN104820652A CN201510205896.1A CN201510205896A CN104820652A CN 104820652 A CN104820652 A CN 104820652A CN 201510205896 A CN201510205896 A CN 201510205896A CN 104820652 A CN104820652 A CN 104820652A
- Authority
- CN
- China
- Prior art keywords
- bus
- data
- image
- template
- module
- 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.)
- Granted
Links
Landscapes
- Complex Calculations (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种使用AXI总线的图像模板匹配装置。该装置从AXI4-Stream总线数据流中得到待匹配字符图像以及模板图像数据,将图像分别存入字符图像FIFO缓存器和模板图像FIFO缓存器中,然后分别使用平均数模块计算字符图像和模板图像的平均值,同时将得到的平均值与各像素值利用减法器作差,使用乘法器、累加器和平方器对得到的差值分别做运算,最后使用比较器和输出控制模块对计算结果进行输出控制,采用AXI4-Lite总线输出,由此得到模板匹配归一化相关系数。本发明中所有计算过程均采用硬件实现,在计算过程中大量采用触发器对数据流做流水线处理,并对运算过程做了大量优化,能有效提高并行性和计算速率,降低资源消耗。
Description
技术领域
本发明属于图像处理领域,特别是图像模式识别领域。
背景技术
模板匹配方法目前被广泛使用与模式识别、图像处理、目标跟踪、人脸识别、线缆表观检测等领域。传统模板匹配方法具有计算量大,计算速度慢,数据量大的特点,随着上述各领域的不断发展,如何提高模板匹配算法的运算速率已经成为研究的热点。目前大量的模板匹配算法均采用软件实现,近年来出现了使用DSP、FPGA实现的方案,其中又以FPGA的硬件实现方案速率最高。但是现有FPGA实现方案存在接口时序不规范、采用浮点运算,消耗资源多、并行度不高等缺点。
AXI4总线是AMBA 4.0总线的一部分,主要包括用于高性能内存映射的AXI4标准总线、低速低性能内存映射的AXI4-Lite总线以及高速流数据的AXI4-tream总线。AXI4-Lite总线主要用于控制信号和低速数据的传输,AXI4-Stream主要用于图像、视频流等数据的传输。同时,随着今年SoC技术的发展,AXI4总线被广泛地应用于IP互联和软硬核间数据交换,因此,采用AXI4作为模块接口总线具有较高的实用性和通用性。
发明内容
本发明针对背景技术的不足,设计一种运算功耗小、速度快、效率高、稳定性好、准确性高、通用性强的使用AXI总线的图像模板匹配装置。
本发明一种使用AXI总线的图像模板匹配装置,该装置从AXI4-Stream总线数据流中得到待匹配字符图像以及模板图像数据,将图像分别存入字符图像FIFO缓存器和模板图像FIFO缓存器中,然后分别使用平均数模块计算字符图像和模板图像的平均值,同时将得到的平均值与各像素值利用减法器作差,使用乘法器、累加器和平方器对得到的差值分别做运算,最后使用比较器和输出控制模块对计算结果进行输出控制,采用AXI4-Lite总线输出,由此得到模板匹配归一化相关系数。因而本发明一种使用AXI总线的图像模板匹配装置,包括:输入总线、字符图像缓存器、模板图像缓存器、第一平均数模块、第二平均数模块、运算模块、寄存器片、输出控制模块、输出总线;其中字符图像缓存器从输入总线数据流中得到待匹配字符图像,模板图像缓存器从输入总线数据流中得到模板图像数据,第一平均数模块从字符图像缓存器获得字符图像,并计算获得的字符图像的平均值,第二平均数模块从模板图像缓存器获得模板图像,并计算获得的模版图像的平均值;运算模块分别从字符图像缓存器、模板图像缓存器、第一平 均数模块、第二平均数模块中获取数据并运算,获得运算结果后由输出控制模块控制从输出总线输出运算结果;寄存器片用于寄存运算模块在运算过程中产生的中间数据;
所述运算模块包括:运算控制单元、计算单元,其中计算单元包括:2个减法器、2个乘法器、3个平方器、3个累加器,第一减法器从字符图像缓存器和第一平均数模块获取同一幅图像的相关数据,并进行运算;第二减法器从模板图像缓存器和第二平均数模块中获取同一幅图像的相关数据,并进行运算;第一乘法器分别从第一减法器和第二减法器获得两者的输出数据,并对获得的数据进行运算,第一乘法器的输出数据再依次经过第一累加器、第三平方器;第一减法器的输出数据还要依次通过第一平方器、第二累加器,第二减法器的输出数据还要依次通过第二平方器、第三累加器;第二累加器与第三累加器的输出数据都输入第二乘法器进行运算;第三平方器与第二乘法器的输出数据同时输入除法器,并运算,第三平方器与第二乘法器的输出数据还要同时输入第三减法器,第三减法器的输出数据再输入比较器;除法器与比较器的输出数据为运算模块的输出结果。
其中所述输入总线采用AXI4-Stream总线。
所述输出总线采用AXI4-Lite总线。
本发明采用AXI4-Stream作为数据输入总线,采用AXI4-Lite作为数据输出总线,具有较高的通用性,能被作为单独IP适用于不同应用场合;采用硬件实现模板匹配算法,运算速度快,效率高;本发明中所有运算均采用定点运算,在消耗较少逻辑资源情况下,可实现归一化相关系数的准确运算,另外,本发明中所有运算过程均插入流水线缓冲单元,可以有效提高并行性。
附图说明
图1为本发明一种使用AXI总线的图像模板匹配装置的结构示意图。
具体实施方式
下面结合附图对本发明进行进一步的说明。
字符图像FIFO缓存模块,缓存模块负责将AXI4-Stream总线上的图像数据搬运至FIFO缓存,以供后续计算平均数使用。缓存器采用FPGA内置FIFO,图像为灰度图像,因此缓存数据宽度为8bit,缓存深度根据图像大小而定;缓存模块中还包含AXI4-Stream数据接收控制器和FIFO写控制器;
模板图像FIFO缓存模块,该模块功能与上述模块类似,只是传输的具体数据有所区别,本模块主要负责将AXI4-Stream总线上的模板图像搬运至FIFO缓存,值得注意的是,本模块 中的FIFO容量应与上述模块中的FIFO容量保持一致;
平均数模块,平均数模块用于分别计算字符图像和模板图像的灰度平均值。平均值计算公式对于上述公式中的累加计算,如果采用4输入LUT,则采用2输入加法器进行计算,如果采用6输入LUT,则采用3输入加法器进行计算,由此可以提高硬件使用效率,提高计算速率。另外,考虑到模板大小固定,在计算平均数用到除法运算时,采用移位相加的办法实现除法,从而避免除法器的采用,降低资源消耗率,提高计算效率。
计算单元,计算单元用于完成模板匹配中归一化相关系数计算的核心任务。计算单元主要包含定点减法器、累加器、乘法器、平方器、除法器、比较器等基本数学运算单元以及控制运算顺序的运算控制单元。计算单元包含两个步骤,计算步骤一和计算步骤二。模板匹配中归一化相关系数计算公式如下
其中r越接近1,匹配程度越高。在FPGA中实现开根号运算和浮点数除法运算需要大量的逻辑资源,且运算效率低下,为了避免开根号运算的使用,将归一化系数进行平方,由此得到
这样避免了开根号运算的使用,虽然增加了一个平方运算单元的使用,但是平方运算的复杂度和资源使用远小于开根号运算。计算步骤一主要完成分子和分母的并行运算过程。
另外,为了提高计算单元的运算效率,在上述运算过程中,每一级运算之间均采用了流水线Slices进行打拍,这样在后级运算完成之前,前级运算仍然能够继续进行,以此提高运算效率。同时流水线Slices将数学运算中大量存在的逻辑延时隔断成为很多小的延时,这样也可以降低关键路径延时,提高系统运行频率。
得到计算归一化相关系数所需的分子和分母后,如果直接使用除法只能进行浮点数除法,将消耗大量的逻辑资源。本发明考虑采用定点运算进行计算,因此必须对计算过程进行调整和优化。计算步骤二用于实现浮点除法的调整和优化。令R=r2,分子为a,分母为b,则有显然b>a,令则,当b-a≠0时,T≥1,a,b均为定点数。在实际使用中, r越接近1(T越大),则匹配程度越高,若直接采用进行定点运算,截断误差较大,只能使用浮点运算;若采用当时,T>>1,使用定点运算虽然也存在截断误差,但截断误差主要存在于小数部分,因此对结果影响可以忽略不计。
在计算步骤二中,虽然增加了一个减法器和一个比较器,但是避免了一个浮点除法器的使用,进一步降低了逻辑资源的消耗。
输出控制模块,输出控制模块负责将得到的模板匹配计算结果输出。输出采用AXI4-Lite总线,因此输出控制模块中也包含AXI4-Lite总线控制逻辑。
Claims (3)
1.一种使用AXI总线的图像模板匹配装置,包括:输入总线、字符图像缓存器、模板图像缓存器、第一平均数模块、第二平均数模块、运算模块、寄存器片、输出控制模块、输出总线;其中字符图像缓存器从输入总线数据流中得到待匹配字符图像,模板图像缓存器从输入总线数据流中得到模板图像数据,第一平均数模块从字符图像缓存器获得字符图像,并计算获得的字符图像的平均值,第二平均数模块从模板图像缓存器获得模板图像,并计算获得的模版图像的平均值;运算模块分别从字符图像缓存器、模板图像缓存器、第一平均数模块、第二平均数模块中获取数据并运算,获得运算结果后由输出控制模块控制从输出总线输出运算结果;寄存器片用于寄存运算模块在运算过程中产生的中间数据;
所述运算模块包括:运算控制单元、计算单元,其中计算单元包括:2个减法器、2个乘法器、3个平方器、3个累加器,第一减法器从字符图像缓存器和第一平均数模块获取同一幅图像的相关数据,并进行运算;第二减法器从模板图像缓存器和第二平均数模块中获取同一幅图像的相关数据,并进行运算;第一乘法器分别从第一减法器和第二减法器获得两者的输出数据,并对获得的数据进行运算,第一乘法器的输出数据再依次经过第一累加器、第三平方器;第一减法器的输出数据还要依次通过第一平方器、第二累加器,第二减法器的输出数据还要依次通过第二平方器、第三累加器;第二累加器与第三累加器的输出数据都输入第二乘法器进行运算;第三平方器与第二乘法器的输出数据同时输入除法器,并运算,第三平方器与第二乘法器的输出数据还要同时输入第三减法器,第三减法器的输出数据再输入比较器;除法器与比较器的输出数据为运算模块的输出结果。
2.如权利要求1所述的一种使用AXI总线的图像模板匹配装置,其特征在于所述输入总线采用AXI4-Stream总线。
3.如权利要求1所述的一种使用AXI总线的图像模板匹配装置,其特征在于所述输出总线采用AXI4-Lite总线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510205896.1A CN104820652B (zh) | 2015-04-28 | 2015-04-28 | 一种使用axi总线的图像模板匹配装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510205896.1A CN104820652B (zh) | 2015-04-28 | 2015-04-28 | 一种使用axi总线的图像模板匹配装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104820652A true CN104820652A (zh) | 2015-08-05 |
CN104820652B CN104820652B (zh) | 2018-02-13 |
Family
ID=53730952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510205896.1A Expired - Fee Related CN104820652B (zh) | 2015-04-28 | 2015-04-28 | 一种使用axi总线的图像模板匹配装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104820652B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407522A (zh) * | 2016-08-31 | 2017-02-15 | 德为显示科技股份有限公司 | 基于fpga的逻辑ip总线互联实现装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1168504A (zh) * | 1996-04-27 | 1997-12-24 | Lg产电株式会社 | 图像识别装置 |
CN103345461A (zh) * | 2013-04-27 | 2013-10-09 | 电子科技大学 | 基于fpga的带有加速器的多核处理器片上网络系统 |
-
2015
- 2015-04-28 CN CN201510205896.1A patent/CN104820652B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1168504A (zh) * | 1996-04-27 | 1997-12-24 | Lg产电株式会社 | 图像识别装置 |
CN103345461A (zh) * | 2013-04-27 | 2013-10-09 | 电子科技大学 | 基于fpga的带有加速器的多核处理器片上网络系统 |
Non-Patent Citations (4)
Title |
---|
孙雪: ""基于提升算法的9/7整数小波变换的研究及硬件实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
李琪: "基于小波变换的图像匹配算法硬件设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
董圣男: ""基于双目立体视觉的空间非合作目标的位姿测量"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
陆丽华: ""图像匹配算法及其高速并行实现方法研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407522A (zh) * | 2016-08-31 | 2017-02-15 | 德为显示科技股份有限公司 | 基于fpga的逻辑ip总线互联实现装置 |
CN106407522B (zh) * | 2016-08-31 | 2019-09-10 | 德为显示科技股份有限公司 | 基于fpga的逻辑ip总线互联实现装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104820652B (zh) | 2018-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | An improved sobel edge algorithm and FPGA implementation | |
CN102722352B (zh) | 一种Booth乘法器 | |
CN109146067B (zh) | 一种基于FPGA的Policy卷积神经网络加速器 | |
CN102680945B (zh) | 基于fpga的多普勒调频率估计方法 | |
CN113051216A (zh) | 一种基于FPGA加速的MobileNet-SSD目标检测装置及方法 | |
CN110361691B (zh) | 基于非均匀阵列的相干信源doa估计fpga实现方法 | |
CN104978749A (zh) | 一种基于fpga的sift图像特征提取系统 | |
CN105701068A (zh) | 基于分时复用技术的cholesky矩阵求逆系统 | |
He et al. | Accelerating seismic migration using FPGA-based coprocessor platform | |
WO2021143217A1 (zh) | 一种处理部件、数据处理的方法以及相关装置 | |
CN103559019A (zh) | 一种通用浮点全流水fft运算ip核 | |
CN105261036A (zh) | 基于匹配的目标跟踪方法 | |
CN114757347A (zh) | 低比特量化神经网络加速器实现方法和系统 | |
CN100409259C (zh) | 可缩放大规模二维卷积电路 | |
CN102129419B (zh) | 基于快速傅立叶变换的处理器 | |
Zong-ling et al. | The design of lightweight and multi parallel CNN accelerator based on FPGA | |
CN110320501A (zh) | 一种基于gpu的雷达信号脉冲压缩方法 | |
CN104820652A (zh) | 一种使用axi总线的图像模板匹配装置 | |
CN104616304A (zh) | 一种基于fpga的自适应支撑权重的立体匹配方法 | |
CN103838704A (zh) | 一种高吞吐率的fft加速器 | |
CN102109973A (zh) | 包含超越函数计算的处理器实现装置 | |
CN107657078B (zh) | 基于fpga的超声相控阵浮点聚焦发射实现方法 | |
Song et al. | Bsc: Block-based stochastic computing to enable accurate and efficient tinyml | |
CN104320106A (zh) | 基于fpga的高斯粒子滤波硬件实现方法 | |
CN105785348A (zh) | 一种基于zynq-7000平台的声纳信号处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180213 |