CN112330524A - 一种在图像跟踪系统中快速实现卷积的装置和方法 - Google Patents
一种在图像跟踪系统中快速实现卷积的装置和方法 Download PDFInfo
- Publication number
- CN112330524A CN112330524A CN202011153379.1A CN202011153379A CN112330524A CN 112330524 A CN112330524 A CN 112330524A CN 202011153379 A CN202011153379 A CN 202011153379A CN 112330524 A CN112330524 A CN 112330524A
- Authority
- CN
- China
- Prior art keywords
- image data
- image
- convolution
- module
- search area
- 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
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000007781 pre-processing Methods 0.000 claims abstract description 53
- 230000005540 biological transmission Effects 0.000 claims abstract description 8
- 238000004364 calculation method Methods 0.000 claims description 33
- 238000009825 accumulation Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 8
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 230000010354 integration Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明属于图像跟踪和识别技术领域,具体涉及一种在图像跟踪系统中快速实现卷积的装置和方法,采用ZYNQ‑7010异构计算平台,包括图像数据预处理模块、ZYNQ SOC控制模块、DDR存储模块和卷积计算模块,ZYNQ SOC控制模块分别与图像数据预处理模块和DDR存储模块连接,图像数据预处理模块的输出端与DDR存储模块连接,DDR存储模块通过搜索区图像数据传输线和模板图像数据传输线与卷积计算模块的输入端连接,卷积计算模块的输出端又与DDR存储模块连接。采用本装置和方法,卷积运算快,装置体积小,集成度高。
Description
技术领域
本发明属于图像跟踪和识别技术领域,具体涉及一种在图像跟踪系统中快速实现卷积的装置和方法。
背景技术
图像卷积运算被广泛运用于图像增强、图像边缘检测、图像跟踪、以及目标识别等数字图像处理算法中,一般计算的模板大小较小,例如3*3,5*5,7*7,9*9等,而在图像跟踪算法中模板的大小直接决定对于大目标和小目标进行跟踪的鲁棒性。图像卷积运算虽然原理简单,但运算量巨大,这种嵌套式循环在DSP和CPU中会相当耗时。对于视频图像卷积运算不能实时计算出结果。随着集成电路设计和制造工艺的进步,具有大量高速可编程逻辑资源的现场可编程门阵列(FPGA)得到了快速发展,为了进一步提高FPGA的性能,主流的芯片厂商在芯片内集成了FPGA和ARM核,使实时实现一些复杂的图像处理算法成为可能,另外FPGA内部集成了高速数字信号处理能力的数字信号处理单元(DSP),能够高速、低功耗的实现定点运算,完成大量复杂的运算。
由于在实现计算目标跟踪过程中需要大量的算法计算和视频的解码、编码以及图像的预处理,所以一般跟踪器的架构为逻辑控制单元+算法处理单元,例如FPGA+DSP,这两种芯片的结合实现的跟踪器体积一般偏大,且FPGA与DSP衔接复杂,增加了PCB硬件设计的难度,在进行大模板计算时,CPU或者DSP对于这种嵌套式循环计算耗时较大,因此不能在视频图像系统实现实时完成计算,此外CPU或者DSP容易被其他优先级高的函数打断,导致计算时间不固定,不能为后续算法提供稳定时间余量。
并且现有FPGA实现卷积的方法对于实现较小的模板有很好的效果,采用的是罗列所有的数据,比如模板大小为M*M,那么需要数据寄存器为M*M个,如果取值M=32,那么需要罗列1024个数据寄存器,这样对于编程人员需要大量的代码输入且不容易维护。现有FPGA实现卷积的方法在计算时需要视频图像时序完成后,再经过反复的读取存储图像才能计算完成图像卷积。
发明内容
为了解决上述技术问题,本发明提供一种在图像跟踪系统中快速实现卷积的装置和方法。
本发明是这样实现的,提供一种在图像跟踪系统中快速实现卷积的装置,采用ZYNQ-7010异构计算平台,包括图像数据预处理模块、ZYNQ SOC控制模块、DDR存储模块和卷积计算模块,ZYNQ SOC控制模块分别与图像数据预处理模块和DDR存储模块连接,图像数据预处理模块的输出端与DDR存储模块连接,DDR存储模块通过搜索区图像数据传输线和模板图像数据传输线与卷积计算模块的输入端连接,卷积计算模块的输出端又与DDR存储模块连接。
优选地,在所述ZYNQ SOC控制模块中,设置的图像卷积计算的模板大小为32*32,进行匹配的搜索区图像大小为128*128,所述卷积计算模块最后计算的结果大小为97*97。
进一步优选,在所述ZYNQ SOC控制模块中,设置图像数据预处理的5种模式,分别为:
模式1:将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取128*128大小的搜索区图像;
模式2:首先将输入到图像数据预处理模块中的视频图像从起始的行和列的位置开始截取256*256大小的图像,然后根据时序将相邻2列图像数据求和,然后将求和结果存储到所述ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻下一行求和图像数据时读取RAM数据进行求和,最后再除以4得到128*128搜索区图像;
模式3:首先将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取512*512大小的图像,然后根据时序将相邻4列图像数据求和,然后将求和结果存储到ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻四行求和图像数据时读取RAM数据进行求和,最后再除以16得到128*128搜索区图像;
模式4:首先将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取1024*1024大小的图像,然后根据时序将相邻8列图像数据求和,然后将求和结果存储到ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻8行求和图像数据时读取RAM数据进行求和,最后再除以64得到128*128搜索区图像;
模式5:首先将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取2048*2048大小的图像,然后根据时序将相邻16列图像数据求和,然后将求和结果存储到ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻16行求和图像数据时读取RAM数据进行求和,最后再除以256得到128*128搜索区图像。
进一步优选,所述卷积计算模块中,对搜索区图像和模板图像按照如下方法进行卷积运算:
1)根据地址同时读取T个搜索区图像数据和T个模板图像数据,地址分别为0,1,2...T-1;0,1,2...T-1,读取第一个地址数据后对T个搜索区图像数据和T个模板图像数据进行乘积运算,得到T个乘积,再利用5个周期进行流水线累加求和,同时依次读取T个地址进行累加求和,并将相邻结果进行求和,最后得到一个图像卷积结果;改变地址读取方式,地址分别为1,2,3...T;0,1,2...T-1,重复上面计算步骤并按要求切换地址,可得到一行(S-T+1)图像卷积结果;
2)再从所述DDR存储模块读取搜索区图像数据,读取的第T+1行数据存储在FPGA的第1个分布式RAM中,在重复步骤1前,读取的T个搜索区数据需要进行重新排序,例如第T+1行搜索区图像数据存储到第1个分布式RAM中,读取数据则第1个分布式RAM输出数据为第T个图像数据,第2个分布式RAM输出数据为第1个图像数据,依次类推获得新的T个图像数据,重复步骤1可得新的一行(S-T+1)图像卷积结果;
3)重复1、2步骤可获得(S-T+1)*(S-T+1)图像卷积结果,在输入视频图像获取搜索区图像完成后的第T*(S-T-1)个主时钟周期即可获得图像卷积结果,存储在DDR存储模块中。
本发明还提供一种利用上的装置在图像跟踪系统中快速实现卷积的方法,包括如下步骤:
1)向所述图像输入视频图像,按照行顺序时序输入;
2)在图像数据预处理模块中根据所述ZYNQ SOC控制模块中设置的模式对视频图像进行预处理,将其最终均处理为128*128大小的搜索区图像,将搜索区图像发送到所述DDR存储模块中存储;
3)ZYNQ SOC控制模块按照32*32的大小,从图像数据预处理模块中读取模板数据,然后存储在ZYNQ SOC控制模块的FPGA中32个32大小的分布式RAM;
4)所述卷积运算模块通过所述DDR存储模块分别读取搜索区数据和模板数据,进行卷积运算,将卷积结果存储在DDR存储模块中。
优选地,在所述ZYNQ SOC控制模块中,设置图像数据预处理的5种模式,分别为:
模式1:将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取128*128大小的搜索区图像;
模式2:首先将输入到图像数据预处理模块中的视频图像从起始的行和列的位置开始截取256*256大小的图像,然后根据时序将相邻2列图像数据求和,然后将求和结果存储到所述ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻下一行求和图像数据时读取RAM数据进行求和,最后再除以4得到128*128搜索区图像;
模式3:首先将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取512*512大小的图像,然后根据时序将相邻4列图像数据求和,然后将求和结果存储到ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻四行求和图像数据时读取RAM数据进行求和,最后再除以16得到128*128搜索区图像;
模式4:首先将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取1024*1024大小的图像,然后根据时序将相邻8列图像数据求和,然后将求和结果存储到ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻8行求和图像数据时读取RAM数据进行求和,最后再除以64得到128*128搜索区图像;
模式5:首先将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取2048*2048大小的图像,然后根据时序将相邻16列图像数据求和,然后将求和结果存储到ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻16行求和图像数据时读取RAM数据进行求和,最后再除以256得到128*128搜索区图像。
进一步优选,所述卷积计算模块中,对搜索区图像和模板图像按照如下方法进行卷积运算:
1)根据地址同时读取T个搜索区图像数据和T个模板图像数据,地址分别为0,1,2...T-1;0,1,2...T-1,读取第一个地址数据后对T个搜索区图像数据和T个模板图像数据进行乘积运算,得到T个乘积,再利用5个周期进行流水线累加求和,同时依次读取T个地址进行累加求和,并将相邻结果进行求和,最后得到一个图像卷积结果;改变地址读取方式,地址分别为1,2,3...T;0,1,2...T-1,重复上面计算步骤并按要求切换地址,可得到一行(S-T+1)图像卷积结果;
2)再从所述DDR存储模块读取搜索区图像数据,读取的第T+1行数据存储在FPGA的第1个分布式RAM中,在重复步骤1前,读取的T个搜索区数据需要进行重新排序,例如第T+1行搜索区图像数据存储到第1个分布式RAM中,读取数据则第1个分布式RAM输出数据为第T个图像数据,第2个分布式RAM输出数据为第1个图像数据,依次类推获得新的T个图像数据,重复步骤1可得新的一行(S-T+1)图像卷积结果;
3)重复1、2步骤可获得(S-T+1)*(S-T+1)图像卷积结果,在输入视频图像获取搜索区图像完成后的第T*(S-T-1)个主时钟周期即可获得图像卷积结果,存储在DDR存储模块中。
与现有技术相比,本发明的优点在于:
图像卷积计算在搜索区完成后在32*(128-31)/clk(主时钟)内完成最后的卷积计算,系统实时性强;搜索区图像和卷积计算结果存储在DDR存储模块中,节省了FPGA内部的资源消耗,使大模板计算卷积能在较少资源的芯片中运行,可以减小图像跟踪系统的体积和成本。
附图说明
图1为本发明提供的装置结构图;
图2为五种预处理模式示意图;
图3为卷积运算过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
参考图1,本发明提供了一种在图像跟踪系统中快速实现卷积的装置,其特征在于,采用ZYNQ-7010异构计算平台,包括图像数据预处理模块、ZYNQ SOC控制模块、DDR存储模块和卷积计算模块,ZYNQ SOC控制模块分别与图像数据预处理模块和DDR存储模块连接,图像数据预处理模块的输出端与DDR存储模块连接,DDR存储模块通过搜索区图像数据传输线和模板图像数据传输线与卷积计算模块的输入端连接,卷积计算模块的输出端又与DDR存储模块连接。在所述ZYNQ SOC控制模块中,设置的图像卷积计算的模板大小为32*32,进行匹配的搜索区图像大小为128*128,所述卷积计算模块最后计算的结果大小为97*97。
利用上述的装置在图像跟踪系统中快速实现卷积的方法包括如下步骤:
1)向所述图像输入视频图像,按照行顺序时序输入;
2)在图像数据预处理模块中根据所述ZYNQ SOC控制模块中设置的模式对视频图像进行预处理,将其最终均处理为128*128大小的搜索区图像,将搜索区图像发送到所述DDR存储模块中存储;
参考图2,在所述ZYNQ SOC控制模块中,设置图像数据预处理的5种模式,分别为:
模式1:将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取128*128大小的搜索区图像;
模式2:首先将输入到图像数据预处理模块中的视频图像从起始的行和列的位置开始截取256*256大小的图像,然后根据时序将相邻2列图像数据求和,然后将求和结果存储到所述ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻下一行求和图像数据时读取RAM数据进行求和,最后再除以4得到128*128搜索区图像;
模式3:首先将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取512*512大小的图像,然后根据时序将相邻4列图像数据求和,然后将求和结果存储到ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻四行求和图像数据时读取RAM数据进行求和,最后再除以16得到128*128搜索区图像;
模式4:首先将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取1024*1024大小的图像,然后根据时序将相邻8列图像数据求和,然后将求和结果存储到ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻8行求和图像数据时读取RAM数据进行求和,最后再除以64得到128*128搜索区图像;
模式5:首先将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取2048*2048大小的图像,然后根据时序将相邻16列图像数据求和,然后将求和结果存储到ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻16行求和图像数据时读取RAM数据进行求和,最后再除以256得到128*128搜索区图像。
这种预处理的方式是为了得到搜索区的图像,对于不同的场景或者算法采用不同模式,尤其在图像跟踪系统中,随着目标在整场图像中占的比例增大或减小而切换不同的模式,此方式有效的增加了大目标和小目标跟踪的鲁棒性。
3)ZYNQ SOC控制模块按照32*32的大小,从图像数据预处理模块中读取模板数据,然后存储在ZYNQ SOC控制模块的FPGA中32个32大小的分布式RAM;
4)所述卷积运算模块通过所述DDR存储模块分别读取搜索区数据和模板数据,进行卷积运算,将卷积结果存储在DDR存储模块中:
在搜索图像区写入第T-1行图像数据时,卷积运算模块开始从DDR存储模块中读取T-1搜索区相应行的图像数据存储在FPGA的T-1个分布式RAM中,同时读取T模板图像存储在FPGA的T个分布式RAM中,再在写入一行搜索区图像数据同时读取一行搜索区图像数据存储在FPGA的第T个分布式RAM中。
计算过程如图3所示;首先同时读取32个搜索区图像,地址由0,1,2...31,同时获取32个模板图像,将搜索区图像数据和模板图像数据利用32个DSP乘法单元进行并行计算乘积,并在下一个周期进行累加求和计算,依次进行5次累加后得到求和结果,由于计算过程采用流水线计算,在进行累加求和的同时也在进行搜索区图像数据和模板图像数据的乘积。依次计算完成32次乘积和累加求和,再将结果进行求和,得到搜索区图像与模板图像的卷积结果;再依次改变读取地址,如1,2,3...32;2,3,4...33等,进行97次运算后得到97个图像卷积结果;然后再从DDR存储区读取搜索区图像数据,将新读取的第33行图像数据存储到FPGA的第1个分布式RAM中,然后在进行同时读取32个搜索区图像数据后进行一个排序,例如第1个分布式RAM输出数据为第32个图像数据,第2个分布式RAM输出数据为第1个图像数据,一次类推得到新排序的32个图像数据,然后按照上面的卷积计算方式可得到第2行的图像卷积结果,再重复上面两个步骤,即可得到97*97的图像卷积结果。每行计算结果的时间可以根据实际需要增加或者减小运行主时钟,以保证搜索区完成后快速输出卷积结果,本方法实现的效果为搜索区完成后的一行时间内完成卷积计算,不需要额外的等待时间,为后续算法提供了充足的计算时间。
Claims (7)
1.一种在图像跟踪系统中快速实现卷积的装置,其特征在于,采用ZYNQ-7010异构计算平台,包括图像数据预处理模块、ZYNQ SOC控制模块、DDR存储模块和卷积计算模块,ZYNQSOC控制模块分别与图像数据预处理模块和DDR存储模块连接,图像数据预处理模块的输出端与DDR存储模块连接,DDR存储模块通过搜索区图像数据传输线和模板图像数据传输线与卷积计算模块的输入端连接,卷积计算模块的输出端又与DDR存储模块连接。
2.如权利要求1所述的在图像跟踪系统中快速实现卷积的装置,其特征在于,在所述ZYNQ SOC控制模块中,设置的图像卷积计算的模板大小为32*32,进行匹配的搜索区图像大小为128*128,所述卷积计算模块最后计算的结果大小为97*97。
3.如权利要求1所述的在图像跟踪系统中快速实现卷积的装置,其特征在于,在所述ZYNQ SOC控制模块中,设置图像数据预处理的5种模式,分别为:
模式1:将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取128*128大小的搜索区图像;
模式2:首先将输入到图像数据预处理模块中的视频图像从起始的行和列的位置开始截取256*256大小的图像,然后根据时序将相邻2列图像数据求和,然后将求和结果存储到所述ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻下一行求和图像数据时读取RAM数据进行求和,最后再除以4得到128*128搜索区图像;
模式3:首先将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取512*512大小的图像,然后根据时序将相邻4列图像数据求和,然后将求和结果存储到ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻四行求和图像数据时读取RAM数据进行求和,最后再除以16得到128*128搜索区图像;
模式4:首先将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取1024*1024大小的图像,然后根据时序将相邻8列图像数据求和,然后将求和结果存储到ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻8行求和图像数据时读取RAM数据进行求和,最后再除以64得到128*128搜索区图像;
模式5:首先将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取2048*2048大小的图像,然后根据时序将相邻16列图像数据求和,然后将求和结果存储到ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻16行求和图像数据时读取RAM数据进行求和,最后再除以256得到128*128搜索区图像。
4.如权利要求1所述的在图像跟踪系统中快速实现卷积的装置,其特征在于,所述卷积计算模块中,对搜索区图像和模板图像按照如下方法进行卷积运算:
1)根据地址同时读取T个搜索区图像数据和T个模板图像数据,地址分别为0,1,2...T-1;0,1,2...T-1,读取第一个地址数据后对T个搜索区图像数据和T个模板图像数据进行乘积运算,得到T个乘积,再利用5个周期进行流水线累加求和,同时依次读取T个地址进行累加求和,并将相邻结果进行求和,最后得到一个图像卷积结果;改变地址读取方式,地址分别为1,2,3...T;0,1,2...T-1,重复上面计算步骤并按要求切换地址,可得到一行(S-T+1)图像卷积结果;
2)再从所述DDR存储模块读取搜索区图像数据,读取的第T+1行数据存储在FPGA的第1个分布式RAM中,在重复步骤1前,读取的T个搜索区数据需要进行重新排序,例如第T+1行搜索区图像数据存储到第1个分布式RAM中,读取数据则第1个分布式RAM输出数据为第T个图像数据,第2个分布式RAM输出数据为第1个图像数据,依次类推获得新的T个图像数据,重复步骤1可得新的一行(S-T+1)图像卷积结果;
3)重复1、2步骤可获得(S-T+1)*(S-T+1)图像卷积结果,在输入视频图像获取搜索区图像完成后的第T*(S-T-1)个主时钟周期即可获得图像卷积结果,存储在DDR存储模块中。
5.一种利用权利要求2所述的装置在图像跟踪系统中快速实现卷积的方法,其特征在于,包括如下步骤:
1)向所述图像输入视频图像,按照行顺序时序输入;
2)在图像数据预处理模块中根据所述ZYNQ SOC控制模块中设置的模式对视频图像进行预处理,将其最终均处理为128*128大小的搜索区图像,将搜索区图像发送到所述DDR存储模块中存储;
3)ZYNQ SOC控制模块按照32*32的大小,从图像数据预处理模块中读取模板数据,然后存储在ZYNQ SOC控制模块的FPGA中32个32大小的分布式RAM;
4)所述卷积运算模块通过所述DDR存储模块分别读取搜索区数据和模板数据,进行卷积运算,将卷积结果存储在DDR存储模块中。
6.如权利要求5所述的在图像跟踪系统中快速实现卷积的方法,其特征在于,在所述ZYNQ SOC控制模块中,设置图像数据预处理的5种模式,分别为:
模式1:将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取128*128大小的搜索区图像;
模式2:首先将输入到图像数据预处理模块中的视频图像从起始的行和列的位置开始截取256*256大小的图像,然后根据时序将相邻2列图像数据求和,然后将求和结果存储到所述ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻下一行求和图像数据时读取RAM数据进行求和,最后再除以4得到128*128搜索区图像;
模式3:首先将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取512*512大小的图像,然后根据时序将相邻4列图像数据求和,然后将求和结果存储到ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻四行求和图像数据时读取RAM数据进行求和,最后再除以16得到128*128搜索区图像;
模式4:首先将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取1024*1024大小的图像,然后根据时序将相邻8列图像数据求和,然后将求和结果存储到ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻8行求和图像数据时读取RAM数据进行求和,最后再除以64得到128*128搜索区图像;
模式5:首先将输入到所述图像数据预处理模块中的视频图像从起始的行和列的位置开始截取2048*2048大小的图像,然后根据时序将相邻16列图像数据求和,然后将求和结果存储到ZYNQ SOC控制模块中的FPGA内部分布式RAM,并在相邻16行求和图像数据时读取RAM数据进行求和,最后再除以256得到128*128搜索区图像。
7.如权利要求5所述的在图像跟踪系统中快速实现卷积的装置,其特征在于,所述卷积计算模块中,对搜索区图像和模板图像按照如下方法进行卷积运算:
1)根据地址同时读取T个搜索区图像数据和T个模板图像数据,地址分别为0,1,2...T-1;0,1,2...T-1,读取第一个地址数据后对T个搜索区图像数据和T个模板图像数据进行乘积运算,得到T个乘积,再利用5个周期进行流水线累加求和,同时依次读取T个地址进行累加求和,并将相邻结果进行求和,最后得到一个图像卷积结果;改变地址读取方式,地址分别为1,2,3...T;0,1,2...T-1,重复上面计算步骤并按要求切换地址,可得到一行(S-T+1)图像卷积结果;
2)再从所述DDR存储模块读取搜索区图像数据,读取的第T+1行数据存储在FPGA的第1个分布式RAM中,在重复步骤1前,读取的T个搜索区数据需要进行重新排序,例如第T+1行搜索区图像数据存储到第1个分布式RAM中,读取数据则第1个分布式RAM输出数据为第T个图像数据,第2个分布式RAM输出数据为第1个图像数据,依次类推获得新的T个图像数据,重复步骤1可得新的一行(S-T+1)图像卷积结果;
3)重复1、2步骤可获得(S-T+1)*(S-T+1)图像卷积结果,在输入视频图像获取搜索区图像完成后的第T*(S-T-1)个主时钟周期即可获得图像卷积结果,存储在DDR存储模块中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011153379.1A CN112330524B (zh) | 2020-10-26 | 2020-10-26 | 一种在图像跟踪系统中快速实现卷积的装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011153379.1A CN112330524B (zh) | 2020-10-26 | 2020-10-26 | 一种在图像跟踪系统中快速实现卷积的装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112330524A true CN112330524A (zh) | 2021-02-05 |
CN112330524B CN112330524B (zh) | 2024-06-18 |
Family
ID=74311662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011153379.1A Active CN112330524B (zh) | 2020-10-26 | 2020-10-26 | 一种在图像跟踪系统中快速实现卷积的装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112330524B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7882164B1 (en) * | 2004-09-24 | 2011-02-01 | University Of Southern California | Image convolution engine optimized for use in programmable gate arrays |
CN104035750A (zh) * | 2014-06-11 | 2014-09-10 | 西安电子科技大学 | 一种基于fpga的实时模板卷积实现方法 |
CN107403117A (zh) * | 2017-07-28 | 2017-11-28 | 西安电子科技大学 | 基于fpga的三维卷积器 |
WO2018120446A1 (zh) * | 2016-12-31 | 2018-07-05 | 华中科技大学 | 一种面向实时目标识别的异构处理机并行协调处理方法 |
CN108921182A (zh) * | 2018-09-26 | 2018-11-30 | 苏州米特希赛尔人工智能有限公司 | Fpga实现的特征提取图像传感器 |
CN109034025A (zh) * | 2018-07-16 | 2018-12-18 | 东南大学 | 一种基于zynq的人脸关键点检测系统 |
CN109389120A (zh) * | 2018-10-29 | 2019-02-26 | 济南浪潮高新科技投资发展有限公司 | 一种基于zynqMP的目标检测装置 |
CN109859178A (zh) * | 2019-01-18 | 2019-06-07 | 北京航空航天大学 | 一种基于fpga的红外遥感图像实时目标检测方法 |
CN109871813A (zh) * | 2019-02-25 | 2019-06-11 | 沈阳上博智像科技有限公司 | 一种实时图像跟踪方法及系统 |
CN110097174A (zh) * | 2019-04-22 | 2019-08-06 | 西安交通大学 | 基于fpga和行输出优先的卷积神经网络实现方法、系统及装置 |
US20200012881A1 (en) * | 2018-07-03 | 2020-01-09 | Irvine Sensors Corporation | Methods and Devices for Cognitive-based Image Data Analytics in Real Time Comprising Saliency-based Training on Specific Objects |
US20200074288A1 (en) * | 2017-12-06 | 2020-03-05 | Tencent Technology (Shenzhen) Company Limited | Convolution operation processing method and related product |
WO2020119188A1 (zh) * | 2018-12-10 | 2020-06-18 | 广东浪潮大数据研究有限公司 | 一种程序检测方法、装置、设备及可读存储介质 |
CN111460999A (zh) * | 2020-03-31 | 2020-07-28 | 北京工业大学 | 一种基于fpga的低空航拍影像目标跟踪的方法 |
CN111459877A (zh) * | 2020-04-02 | 2020-07-28 | 北京工商大学 | 基于FPGA加速的Winograd YOLOv2目标检测模型方法 |
-
2020
- 2020-10-26 CN CN202011153379.1A patent/CN112330524B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7882164B1 (en) * | 2004-09-24 | 2011-02-01 | University Of Southern California | Image convolution engine optimized for use in programmable gate arrays |
CN104035750A (zh) * | 2014-06-11 | 2014-09-10 | 西安电子科技大学 | 一种基于fpga的实时模板卷积实现方法 |
WO2018120446A1 (zh) * | 2016-12-31 | 2018-07-05 | 华中科技大学 | 一种面向实时目标识别的异构处理机并行协调处理方法 |
CN107403117A (zh) * | 2017-07-28 | 2017-11-28 | 西安电子科技大学 | 基于fpga的三维卷积器 |
US20200074288A1 (en) * | 2017-12-06 | 2020-03-05 | Tencent Technology (Shenzhen) Company Limited | Convolution operation processing method and related product |
US20200012881A1 (en) * | 2018-07-03 | 2020-01-09 | Irvine Sensors Corporation | Methods and Devices for Cognitive-based Image Data Analytics in Real Time Comprising Saliency-based Training on Specific Objects |
CN109034025A (zh) * | 2018-07-16 | 2018-12-18 | 东南大学 | 一种基于zynq的人脸关键点检测系统 |
CN108921182A (zh) * | 2018-09-26 | 2018-11-30 | 苏州米特希赛尔人工智能有限公司 | Fpga实现的特征提取图像传感器 |
CN109389120A (zh) * | 2018-10-29 | 2019-02-26 | 济南浪潮高新科技投资发展有限公司 | 一种基于zynqMP的目标检测装置 |
WO2020119188A1 (zh) * | 2018-12-10 | 2020-06-18 | 广东浪潮大数据研究有限公司 | 一种程序检测方法、装置、设备及可读存储介质 |
CN109859178A (zh) * | 2019-01-18 | 2019-06-07 | 北京航空航天大学 | 一种基于fpga的红外遥感图像实时目标检测方法 |
CN109871813A (zh) * | 2019-02-25 | 2019-06-11 | 沈阳上博智像科技有限公司 | 一种实时图像跟踪方法及系统 |
CN110097174A (zh) * | 2019-04-22 | 2019-08-06 | 西安交通大学 | 基于fpga和行输出优先的卷积神经网络实现方法、系统及装置 |
CN111460999A (zh) * | 2020-03-31 | 2020-07-28 | 北京工业大学 | 一种基于fpga的低空航拍影像目标跟踪的方法 |
CN111459877A (zh) * | 2020-04-02 | 2020-07-28 | 北京工商大学 | 基于FPGA加速的Winograd YOLOv2目标检测模型方法 |
Non-Patent Citations (4)
Title |
---|
ALOK PRAKASH 等: "Accelerating computer vision algorithms on heterogeneous edge computing platforms", 《2020 IEEE WORKSHOP ON SIGNAL PROCESSING SYSTEM(SIPS)》, 23 September 2020 (2020-09-23), pages 1 - 6 * |
冯坤: "多任务级联卷积的ZYNQ人脸跟踪设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, vol. 2020, no. 02, 15 February 2020 (2020-02-15), pages 138 - 1142 * |
周政: "基于FPGA的智能目标跟踪系统设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, vol. 2020, no. 02, 15 February 2020 (2020-02-15), pages 135 - 747 * |
李炳奇: "基于FPGA的目标检测与跟踪", 《中国优秀硕士学位论文全文数据库 信息科技辑》, vol. 2019, no. 08, 15 August 2019 (2019-08-15), pages 138 - 863 * |
Also Published As
Publication number | Publication date |
---|---|
CN112330524B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110458279B (zh) | 一种基于fpga的二值神经网络加速方法及系统 | |
US20230026006A1 (en) | Convolution computation engine, artificial intelligence chip, and data processing method | |
CN112487750B (zh) | 一种基于存内计算的卷积加速计算系统及方法 | |
CN111583093B (zh) | 一种实时性好的orb特征点提取的硬件实现方法 | |
CN111210019B (zh) | 一种基于软硬件协同加速的神经网络推断方法 | |
Ngo et al. | Resource-aware architecture design and implementation of Hough transform for a real-time iris boundary detection system | |
CN111582465B (zh) | 基于fpga的卷积神经网络加速处理系统、方法以及终端 | |
CN117217274B (zh) | 向量处理器、神经网络加速器、芯片及电子设备 | |
CN110738317A (zh) | 基于fpga的可变形卷积网络运算方法、装置和系统 | |
CN109472734B (zh) | 一种基于fpga的目标检测网络及其实现方法 | |
CN112307421A (zh) | 一种基4频率抽取快速傅里叶变换处理器 | |
Xiao et al. | FPGA-based scalable and highly concurrent convolutional neural network acceleration | |
US20220253668A1 (en) | Data processing method and device, storage medium and electronic device | |
Gong et al. | Research and implementation of multi-object tracking based on vision DSP | |
Shan et al. | A CNN Accelerator on FPGA with a Flexible Structure | |
CN112163612B (zh) | 基于fpga的大模板卷积图像匹配方法、装置及系统 | |
CN109446478A (zh) | 一种基于迭代和可重构方式的复协方差矩阵计算系统 | |
CN112330524B (zh) | 一种在图像跟踪系统中快速实现卷积的装置和方法 | |
CN113158132A (zh) | 一种基于非结构化稀疏的卷积神经网络加速系统 | |
CN108920097B (zh) | 一种基于交织存储的三维数据处理方法 | |
CN112508174B (zh) | 面向权重二值型神经网络的预计算逐列卷积计算单元 | |
Kim et al. | A configurable heterogeneous multicore architecture with cellular neural network for real-time object recognition | |
Park et al. | ShortcutFusion++: optimizing an end-to-end CNN accelerator for high PE utilization | |
CN113095024A (zh) | 一种张量数据的区域化并行载入装置及方法 | |
Li et al. | FPGA Accelerated Real-time Recurrent All-Pairs Field Transforms for Optical Flow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |