CN104035750A - 一种基于fpga的实时模板卷积实现方法 - Google Patents

一种基于fpga的实时模板卷积实现方法 Download PDF

Info

Publication number
CN104035750A
CN104035750A CN201410258255.8A CN201410258255A CN104035750A CN 104035750 A CN104035750 A CN 104035750A CN 201410258255 A CN201410258255 A CN 201410258255A CN 104035750 A CN104035750 A CN 104035750A
Authority
CN
China
Prior art keywords
template
fpga
data
row
register
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.)
Pending
Application number
CN201410258255.8A
Other languages
English (en)
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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201410258255.8A priority Critical patent/CN104035750A/zh
Publication of CN104035750A publication Critical patent/CN104035750A/zh
Pending legal-status Critical Current

Links

Abstract

本发明提供了一种基于FPGA的实时模板卷积实现方法,实现平台为FPGA,在FPGA中构建n组模板卷积运算单元进行并行计算,模板大小为mxm,每组模板卷积运算单元由m个乘法器和m-1个加法器组成;运算过程中,m个乘法器的图像数据和模板数据利用FPGA内部m+1个寄存器给出,通过水平方向并行计算和垂直方向流水计算,实现模板卷积运算;提高了模板卷积的运算速度,能够更好地满足实时性的要求,同时增大了卷积模板的大小,从而改善了模板卷积的处理结果,可应用于图像增强、边缘检测以及目标识别等数字图像处理技术领域,尤其用于对实时性要求较高的系统。

Description

一种基于FPGA的实时模板卷积实现方法
技术领域
本发明属于图像处理技术领域,涉及一种高速实时数字图像处理技术的实现方法,特别涉及一种基于FPGA的实时模板卷积实现方法。
背景技术
目前,模板卷积运算被广泛应用于图像增强、边缘检测以及目标识别等数字图像处理领域。模板卷积运算虽然操作简单,但运算量巨大且非常耗时。对于一个N×N的模板来说,每个输出点的运算量为N2次乘法,N2-1次加法,1次除法;对于一帧大小为M×M的图像来说,输出点的数量为(M-N+1)2,总的乘法运算量将是(M-N+1)2×N2
传统的实现方法是采用通用CPU或DSP做处理机,通过流水线方式进行模板卷积运算。由于CPU或DSP速度的限制,对于高速实时的设计,传统方法不再能满足要求。同时,因为模板越大,运算量越大,所以传统方法所使用的模板都相对较小,进而影响处理结果。
发明内容
本发明的目的在于克服现有技术缺陷,提供一种基于FPGA的实时模板卷积实现方法,能够在实现模板卷积的同时提高其运算速度,以满足高速系统的实时性要求。
为达到上述目的,本发明采用的技术方案是:
一种基于FPGA的实时模板卷积实现方法,实现平台为FPGA,在FPGA中构建n组模板卷积运算单元进行并行计算,模板大小为mxm,每组模板卷积运算单元由m个乘法器和m-1个加法器组成;运算过程中,m个乘法器的图像数据和模板数据利用FPGA内部的m+1个寄存器给出,通过水平方向并行计算和垂直方向流水计算,实现模板卷积运算。
所述的模板卷积实现方法,n组模板运算单元的并行和流水运算步骤如下:
(1)将一帧MxN图像的第1行第1到第m个图像数据存放到FPGA内部的第1到第m个寄存器,同时将模板的第1行数据提供给模板卷积运算单元的m个乘法器;
(2)将步骤(1)中第1个到第m个寄存器中存放的m个图像数据提供给m个乘法器进行乘法运算,这相当于第1组数据;
(3)在进行步骤(2)的同时,将图像该行的第m+1个图像数据更新至第m+1个寄存器;
(4)步骤(2)、(3)结束后,保持模板数据不变,将FPGA内部第2到第m+1个寄存器中的m个图像数据提供给模板卷积运算单元的m个乘法器,进行乘法运算,这相当于第2组数据;
(5)在进行步骤(4)的同时,将图像该行第m+2个图像数据更新至m+1个寄存器中闲置的一个寄存器中;
(6)重复步骤(1)至(5),直到第1行图像数据运算结束;
(7)重复步骤(1)至(6),直到第m行图像数据运算结束;
(8)将第1行至第m行所有对应组数据运算结果相加,得到完整的模板处理结果,到此完成了模板在原始输入图像上扫描1行的运算;
(9)将一帧图像的第2行到M-m+1行重复步骤(1)至(8),直到完成整帧图像的模板卷积运算。
在FPGA中构建4组模板卷积运算单元进行并行计算,模板尺寸为15x15,小尺寸模板通过将15x15模板边缘置0实现。
本发明与现有技术相比具有如下优点:
本发明提出了一种基于FPGA的实时模板卷积实现方法,通过在FPGA中构建n个独立的卷积运算单元并行计算和垂直方向流水计算,实现模板卷积运算,提高了模板卷积的运算速度,能够更好地满足实时性的要求。同时由于能够在FPGA中建立多个运算单元,而且运算能力相比传统的CPU或DSP大大提高,增大了卷积模板的大小,从而改善了模板卷积的处理结果,可应用于图像增强、边缘检测以及目标识别等数字图像处理技术领域,尤其用于对实时性要求较高的系统。
附图说明
图1为模板卷积运算单元结构图;
图2为模板卷积运算流程图。
具体实施方式
下面结合附图对本发明做进一步说明。
本发明基于FPGA的实时模板卷积实现方法,其实现平台为FPGA,全部由硬件描述语言Verilog HDL实现。
如图1所示,本发明采用4组模板卷积运算单元进行并行计算,模板大小为15x15。每组模板卷积运算单元由15个乘法器和14个加法器组成。在运算过程中,15个乘法器的图像数据和模板数据利用FPGA内部16个寄存器给出,通过水平方向并行计算和垂直方向流水计算,实现模板卷积运算。
如图2所示,基于FPGA的实时模板卷积实现方法,模板运算单元的并行和流水运算步骤如下:
(1a)将一阵图像的第1行第1到第15个图像数据存放到第1到第15个寄存器,同时将模板的第1行数据提供给模板卷积运算单元的15个乘法器;
(1b)将步骤(1a)中第1个到第15个寄存器中存放的15个图像数据提供给15个乘法器进行乘法运算,这相当于第1组数据;
(1c)在进行步骤(1b)的同时,将该行第16个图像数据更新至第16个寄存器;
(1d)步骤(1b)(1c)结束后,保持模板数据不变,将第2到第16个寄存器中的15个图像数据提供给模板卷积运算单元的15个乘法器,进行乘法运算,这相当于第2组数据;
(1e)在进行步骤(1d)的同时,将该行第17个图像数据更新至16个寄存器中闲置的一个寄存器中,此时为第1个寄存器;
(1f)重复步骤(1a)至(1e),直到第1行图像数据运算结束;
(1g)重复步骤(1a)至(1f),直到第15行图像数据运算结束;
(1h)将第1行至第15行所有对应组数据运算结果相加,得到一个完整的模板处理结果,到此完成了模板在原始输入图像上扫描1行的运算;
(1i)重复步骤(1a)至(1i),直到完成整帧图像的模板卷积运算。
上述模板尺寸为15x15,对于小尺寸模板的运算,可以通过将15x15模板边缘置0实现。上述模板卷积运算单元由15个乘法器和14个加法器组成,15个乘法器进行并行乘法运算。上述寄存器共使用31个,其中15个寄存器存放卷积模板数据,16个寄存器存放图像数据。上述模板运算过程采用4个独立模板卷积运算单元,即可同时并行计算4行图像数据。
以上所述,仅是本发明的较佳实施案例而已,并非对本发明做任何形式上的限制,虽然本发明已以较佳实施方法揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的方法及技术内容作出些许的更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,仍属于本发明技术方案的范围内。

Claims (3)

1.一种基于FPGA的实时模板卷积实现方法,其特征在于:实现平台为FPGA,在FPGA中构建n组模板卷积运算单元进行并行计算,模板大小为mxm,每组模板卷积运算单元由m个乘法器和m-1个加法器组成;运算过程中,m个乘法器的图像数据和模板数据利用FPGA内部的m+1个寄存器给出,通过水平方向并行计算和垂直方向流水计算,实现模板卷积运算。
2.根据权利要求1所述的模板卷积实现方法,其特征在于n组模板运算单元的并行和流水运算步骤如下:
(1)将一帧MxN图像的第1行第1到第m个图像数据存放到FPGA内部的第1到第m个寄存器,同时将模板的第1行数据提供给模板卷积运算单元的m个乘法器;
(2)将步骤(1)中第1个到第m个寄存器中存放的m个图像数据提供给m个乘法器进行乘法运算,这相当于第1组数据;
(3)在进行步骤(2)的同时,将图像该行的第m+1个图像数据更新至第m+1个寄存器;
(4)步骤(2)、(3)结束后,保持模板数据不变,将FPGA内部第2到第m+1个寄存器中的m个图像数据提供给模板卷积运算单元的m个乘法器,进行乘法运算,这相当于第2组数据;
(5)在进行步骤(4)的同时,将图像该行第m+2个图像数据更新至m+1个寄存器中闲置的一个寄存器中;
(6)重复步骤(1)至(5),直到第1行图像数据运算结束;
(7)重复步骤(1)至(6),直到第m行图像数据运算结束;
(8)将第1行至第m行所有对应组数据运算结果相加,得到模板运算处理结果,到此完成了模板在原始输入图像上扫描1行的运算;
(9)将一帧图像的第2行到M-m+1行重复步骤(1)至(8),直到完成整帧图像的模板卷积运算。
3.根据权利要求1所述的模板卷积实现方法,其特征在于:在FPGA中构建4组模板卷积运算单元进行并行计算,模板尺寸为15x15,小尺寸模板通过将15x15模板边缘置0实现。
CN201410258255.8A 2014-06-11 2014-06-11 一种基于fpga的实时模板卷积实现方法 Pending CN104035750A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410258255.8A CN104035750A (zh) 2014-06-11 2014-06-11 一种基于fpga的实时模板卷积实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410258255.8A CN104035750A (zh) 2014-06-11 2014-06-11 一种基于fpga的实时模板卷积实现方法

Publications (1)

Publication Number Publication Date
CN104035750A true CN104035750A (zh) 2014-09-10

Family

ID=51466526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410258255.8A Pending CN104035750A (zh) 2014-06-11 2014-06-11 一种基于fpga的实时模板卷积实现方法

Country Status (1)

Country Link
CN (1) CN104035750A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228240A (zh) * 2016-07-30 2016-12-14 复旦大学 基于fpga的深度卷积神经网络实现方法
CN108491929A (zh) * 2018-03-20 2018-09-04 南开大学 一种基于fpga的可配置并行快速卷积核的结构
CN109447085A (zh) * 2018-09-07 2019-03-08 西安电子科技大学 一种模板卷积运算方法
CN109472734A (zh) * 2018-10-18 2019-03-15 江苏第二师范学院(江苏省教育科学研究院) 一种基于fpga的目标检测网络及其实现方法
CN109635929A (zh) * 2018-12-07 2019-04-16 锐捷网络股份有限公司 基于fpga的卷积实现方法及卷积器
CN110399976A (zh) * 2018-04-25 2019-11-01 华为技术有限公司 计算装置和计算方法
WO2020042771A1 (zh) * 2018-08-31 2020-03-05 北京嘉楠捷思信息技术有限公司 图像识别处理方法和装置
CN111260536A (zh) * 2018-12-03 2020-06-09 中国科学院沈阳自动化研究所 可变参数的数字图像多尺度卷积处理器及其实现方法
CN112330524A (zh) * 2020-10-26 2021-02-05 沈阳上博智像科技有限公司 一种在图像跟踪系统中快速实现卷积的装置和方法
CN114862654A (zh) * 2022-04-15 2022-08-05 山东浪潮科学研究院有限公司 一种实时模板卷积在fpga上的实现方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1916959A (zh) * 2006-08-29 2007-02-21 中国航天时代电子公司第七七一研究所 可缩放大规模二维卷积电路
CN1987928A (zh) * 2005-12-21 2007-06-27 北京航空航天大学 一种实时快速实现高斯模板卷积的装置
CN101949768A (zh) * 2010-08-20 2011-01-19 中国科学院光电技术研究所 点源目标相关哈特曼-夏克波前斜率处理器及制造方法
CN102208005A (zh) * 2011-05-30 2011-10-05 华中科技大学 一种2-d卷积器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1987928A (zh) * 2005-12-21 2007-06-27 北京航空航天大学 一种实时快速实现高斯模板卷积的装置
CN1916959A (zh) * 2006-08-29 2007-02-21 中国航天时代电子公司第七七一研究所 可缩放大规模二维卷积电路
CN101949768A (zh) * 2010-08-20 2011-01-19 中国科学院光电技术研究所 点源目标相关哈特曼-夏克波前斜率处理器及制造方法
CN102208005A (zh) * 2011-05-30 2011-10-05 华中科技大学 一种2-d卷积器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
万海军: "实时图像处理算法研究及FPGA 实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
朱学亮等: "基于FPGA的图像卷积IP核的设计与实现", 《微电子学与计算机》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228240A (zh) * 2016-07-30 2016-12-14 复旦大学 基于fpga的深度卷积神经网络实现方法
CN106228240B (zh) * 2016-07-30 2020-09-01 复旦大学 基于fpga的深度卷积神经网络实现方法
CN108491929A (zh) * 2018-03-20 2018-09-04 南开大学 一种基于fpga的可配置并行快速卷积核的结构
CN110399976A (zh) * 2018-04-25 2019-11-01 华为技术有限公司 计算装置和计算方法
WO2020042771A1 (zh) * 2018-08-31 2020-03-05 北京嘉楠捷思信息技术有限公司 图像识别处理方法和装置
CN109447085A (zh) * 2018-09-07 2019-03-08 西安电子科技大学 一种模板卷积运算方法
CN109472734A (zh) * 2018-10-18 2019-03-15 江苏第二师范学院(江苏省教育科学研究院) 一种基于fpga的目标检测网络及其实现方法
CN109472734B (zh) * 2018-10-18 2022-12-27 江苏第二师范学院(江苏省教育科学研究院) 一种基于fpga的目标检测网络及其实现方法
CN111260536A (zh) * 2018-12-03 2020-06-09 中国科学院沈阳自动化研究所 可变参数的数字图像多尺度卷积处理器及其实现方法
CN111260536B (zh) * 2018-12-03 2022-03-08 中国科学院沈阳自动化研究所 可变参数的数字图像多尺度卷积处理器及其实现方法
CN109635929A (zh) * 2018-12-07 2019-04-16 锐捷网络股份有限公司 基于fpga的卷积实现方法及卷积器
CN112330524A (zh) * 2020-10-26 2021-02-05 沈阳上博智像科技有限公司 一种在图像跟踪系统中快速实现卷积的装置和方法
CN114862654A (zh) * 2022-04-15 2022-08-05 山东浪潮科学研究院有限公司 一种实时模板卷积在fpga上的实现方法及系统

Similar Documents

Publication Publication Date Title
CN104035750A (zh) 一种基于fpga的实时模板卷积实现方法
KR102476343B1 (ko) 자리수가 비교적 적은 고정 소수점 수치의 신경망 연산에 대한 지원 장치와 방법
CN103970720A (zh) 基于大规模粗粒度嵌入式可重构系统及其处理方法
Li et al. A multistage dataflow implementation of a deep convolutional neural network based on FPGA for high-speed object recognition
KR20180125843A (ko) (국문)다양한 cnn 모델에 적용 가능한 하드웨어 분류기
Nosrat et al. Hardware description of multidirectional fast sobel edge detection processor by VHDL for implementing on FPGA
CN104765713A (zh) 基于分段查表三角函数实现fpga数字信号处理的方法
CN103985083A (zh) 一种可重构的一维卷积处理器
CN104504205A (zh) 一种对称fir算法的并行化二维分割方法及其硬件结构
CN104182411A (zh) 基于Map-Reduce的高维数据相似性连接方法和装置
Wei et al. Fast median filtering algorithm based on FPGA
CN111788567B (zh) 一种数据处理设备以及一种数据处理方法
Daud et al. Hybrid modified booth encoded algorithm-carry save adder fast multiplier
Tang et al. FPGA implementation of RANSAC algorithm for real-time image geometry estimation
Amanatiadis et al. Accelerating image super-resolution regression by a hybrid implementation in mobile devices
Chen et al. Hardware Resource and Computational Density Efficient CNN Accelerator Design Based on FPGA
CN105809663A (zh) 一种获取图像局部区域的方法、装置和电子设备
CN109800793A (zh) 一种基于深度学习的目标检测方法和系统
Soloviev et al. Hardware implementation of convolutional neural networks based on residue number system
Jeon et al. The parallelization of convolution on a CNN using a SIMT based GPGPU
Liu et al. Objects detection deep learning system based on 2-D winograd convolutional neural network
Dighorikar et al. Area Efficient Architecture for Convolution Using Vedic Mathematics
CN107480102B (zh) 一种基于并行lu分解的psf反变换方法
WO2016119397A1 (zh) 一种实现信道估计的方法、装置及计算机存储介质
Lai et al. High-efficient semantic segmentation for Internet-of-Things-enabled smart cameras

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140910

WD01 Invention patent application deemed withdrawn after publication