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

文档序号:6549234阅读:474来源:国知局
一种基于fpga的实时模板卷积实现方法
【专利摘要】本发明提供了一种基于FPGA的实时模板卷积实现方法,实现平台为FPGA,在FPGA中构建n组模板卷积运算单元进行并行计算,模板大小为mxm,每组模板卷积运算单元由m个乘法器和m-1个加法器组成;运算过程中,m个乘法器的图像数据和模板数据利用FPGA内部m+1个寄存器给出,通过水平方向并行计算和垂直方向流水计算,实现模板卷积运算;提高了模板卷积的运算速度,能够更好地满足实时性的要求,同时增大了卷积模板的大小,从而改善了模板卷积的处理结果,可应用于图像增强、边缘检测以及目标识别等数字图像处理【技术领域】,尤其用于对实时性要求较高的系统。
【专利说明】—种基于FPGA的实时模板卷积实现方法
【技术领域】
[0001]本发明属于图像处理【技术领域】,涉及一种高速实时数字图像处理技术的实现方法,特别涉及一种基于FPGA的实时模板卷积实现方法。
【背景技术】
[0002]目前,模板卷积运算被广泛应用于图像增强、边缘检测以及目标识别等数字图像处理领域。模板卷积运算虽然操作简单,但运算量巨大且非常耗时。对于一个NXN的模板来说,每个输出点的运算量为N2次乘法,N2-1次加法,I次除法;对于一帧大小为MXM的图像来说,输出点的数量为(M-N+1)2,总的乘法运算量将是(M-N+1)2XN2。
[0003]传统的实现方法是采用通用CPU或DSP做处理机,通过流水线方式进行模板卷积运算。由于CPU或DSP速度的限制,对于高速实时的设计,传统方法不再能满足要求。同时,因为模板越大,运算量越大,所以传统方法所使用的模板都相对较小,进而影响处理结果。

【发明内容】

[0004]本发明的目的在于克服现有技术缺陷,提供一种基于FPGA的实时模板卷积实现方法,能够在实现模板卷积的同时提高其运算速度,以满足高速系统的实时性要求。
[0005]为达到上述目的,本发明采用的技术方案是:
[0006]一种基于FPGA的实时模板卷积实现方法,实现平台为FPGA,在FPGA中构建η组模板卷积运算单元进行并行计算,模板大小为mxm,每组模板卷积运算单元由m个乘法器和m-Ι个加法器组成;运算过程中,m个乘法器的图像数据和模板数据利用FPGA内部的m+1个寄存器给出,通过水平方向并行计算和垂直方向流水计算,实现模板卷积运算。
[0007]所述的模板卷积实现方法,η组模板运算单元的并行和流水运算步骤如下:
[0008](I)将一帧MxN图像的第I行第I到第m个图像数据存放到FPGA内部的第I到第m个寄存器,同时将模板的第I行数据提供给模板卷积运算单元的m个乘法器;
[0009](2)将步骤(I)中第I个到第m个寄存器中存放的m个图像数据提供给m个乘法器进行乘法运算,这相当于第I组数据;
[0010](3)在进行步骤(2)的同时,将图像该行的第m+1个图像数据更新至第m+1个寄存器;
[0011](4)步骤⑵、(3)结束后,保持模板数据不变,将FPGA内部第2到第m+1个寄存器中的m个图像数据提供给模板卷积运算单元的m个乘法器,进行乘法运算,这相当于第2组数据;
[0012](5)在进行步骤⑷的同时,将图像该行第m+2个图像数据更新至m+1个寄存器中闲置的一个寄存器中;
[0013](6)重复步骤⑴至(5),直到第I行图像数据运算结束;
[0014](7)重复步骤⑴至(6),直到第m行图像数据运算结束;
[0015](8)将第I行至第m行所有对应组数据运算结果相加,得到完整的模板处理结果,到此完成了模板在原始输入图像上扫描I行的运算;
[0016](9)将一帧图像的第2行到M-m+1行重复步骤⑴至(8),直到完成整帧图像的模板卷积运算。
[0017]在FPGA中构建4组模板卷积运算单元进行并行计算,模板尺寸为15x15,小尺寸模板通过将15x15模板边缘置O实现。
[0018]本发明与现有技术相比具有如下优点:
[0019]本发明提出了一种基于FPGA的实时模板卷积实现方法,通过在FPGA中构建η个独立的卷积运算单元并行计算和垂直方向流水计算,实现模板卷积运算,提高了模板卷积的运算速度,能够更好地满足实时性的要求。同时由于能够在FPGA中建立多个运算单元,而且运算能力相比传统的CPU或DSP大大提高,增大了卷积模板的大小,从而改善了模板卷积的处理结果,可应用于图像增强、边缘检测以及目标识别等数字图像处理【技术领域】,尤其用于对实时性要求较高的系统。
【专利附图】

【附图说明】
[0020]图1为模板卷积运算单元结构图;
[0021 ] 图2为模板卷积运算流程图。
【具体实施方式】
[0022]下面结合附图对本发明做进一步说明。
[0023]本发明基于FPGA的实时模板卷积实现方法,其实现平台为FPGA,全部由硬件描述语言Verilog HDL实现。
[0024]如图1所示,本发明采用4组模板卷积运算单元进行并行计算,模板大小为15x15。每组模板卷积运算单元由15个乘法器和14个加法器组成。在运算过程中,15个乘法器的图像数据和模板数据利用FPGA内部16个寄存器给出,通过水平方向并行计算和垂直方向流水计算,实现模板卷积运算。
[0025]如图2所示,基于FPGA的实时模板卷积实现方法,模板运算单元的并行和流水运算步骤如下:
[0026](Ia)将一阵图像的第I行第I到第15个图像数据存放到第I到第15个寄存器,同时将模板的第I行数据提供给模板卷积运算单元的15个乘法器;
[0027](Ib)将步骤(Ia)中第I个到第15个寄存器中存放的15个图像数据提供给15个乘法器进行乘法运算,这相当于第I组数据;
[0028](Ic)在进行步骤(Ib)的同时,将该行第16个图像数据更新至第16个寄存器;
[0029](Id)步骤(lb) (Ic)结束后,保持模板数据不变,将第2到第16个寄存器中的15个图像数据提供给模板卷积运算单元的15个乘法器,进行乘法运算,这相当于第2组数据;
[0030](Ie)在进行步骤(Id)的同时,将该行第17个图像数据更新至16个寄存器中闲置的一个寄存器中,此时为第I个寄存器;
[0031](If)重复步骤(Ia)至(Ie),直到第I行图像数据运算结束;
[0032](Ig)重复步骤(Ia)至(If),直到第15行图像数据运算结束;
[0033](Ih)将第I行至第15行所有对应组数据运算结果相加,得到一个完整的模板处理结果,到此完成了模板在原始输入图像上扫描I行的运算;
[0034](Ii)重复步骤(Ia)至(Ii),直到完成整帧图像的模板卷积运算。
[0035]上述模板尺寸为15x15,对于小尺寸模板的运算,可以通过将15x15模板边缘置O实现。上述模板卷积运算单元由15个乘法器和14个加法器组成,15个乘法器进行并行乘法运算。上述寄存器共使用31个,其中15个寄存器存放卷积模板数据,16个寄存器存放图像数据。上述模板运算过程采用4个独立模板卷积运算单元,即可同时并行计算4行图像数据。
[0036]以上所述,仅是本发明的较佳实施案例而已,并非对本发明做任何形式上的限制,虽然本发明已以较佳实施方法揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的方法及技术内容作出些许的更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,仍属于本发明技术方案的范围内。
【权利要求】
1.一种基于FPGA的实时模板卷积实现方法,其特征在于:实现平台为FPGA,在FPGA中构建η组模板卷积运算单元进行并行计算,模板大小为mxm,每组模板卷积运算单元由m个乘法器和m-Ι个加法器组成;运算过程中,m个乘法器的图像数据和模板数据利用FPGA内部的m+1个寄存器给出,通过水平方向并行计算和垂直方向流水计算,实现模板卷积运算。
2.根据权利要求1所述的模板卷积实现方法,其特征在于η组模板运算单元的并行和流水运算步骤如下: (1)将一帧MxN图像的第I行第I到第m个图像数据存放到FPGA内部的第I到第m个寄存器,同时将模板的第I行数据提供给模板卷积运算单元的m个乘法器; (2)将步骤(1)中第I个到第m个寄存器中存放的m个图像数据提供给m个乘法器进行乘法运算,这相当于第I组数据; (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),直到第I行图像数据运算结束; (7)重复步骤(1)至(6),直到第m行图像数据运算结束; (8)将第I行至第m行所有对应组数据运算结果相加,得到模板运算处理结果,到此完成了模板在原始输入图像上扫描I行的运算; (9)将一帧图像的第2行到M-m+1行重复步骤(1)至(8),直到完成整帧图像的模板卷积运算。
3.根据权利要求1所述的模板卷积实现方法,其特征在于:在FPGA中构建4组模板卷积运算单元进行并行计算,模板尺寸为15x15,小尺寸模板通过将15x15模板边缘置O实现。
【文档编号】G06F9/38GK104035750SQ201410258255
【公开日】2014年9月10日 申请日期:2014年6月11日 优先权日:2014年6月11日
【发明者】何国经, 张冬阳, 栗旭光, 刘鑫, 董维科, 薄振桐, 白鑫鹏, 谢世雄, 肖佳, 余坦秀, 邓启亮 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1