一种基于FPGA的可变膨胀卷积运算硬件系统技术方案

技术编号:30681234 阅读:20 留言:0更新日期:2021-11-06 09:11
本发明专利技术公开了一种基于FPGA的可变膨胀卷积运算硬件系统,包括数据重排列单元和卷积流水计算单元,其中,数据重排列单元用于将原始图像中随膨胀率变化的随机空域采样点整理成列向量,数据重排列单元包括多级数据选择器、读写双向移位缓存和有限状态机,有限状态机能够对限定膨胀率范围内的膨胀率进行遍历并控制多级数据选择器对随机空域采样点进行数据选择,读写双向移位缓存用于获取并存储多级数据选择器选择的数据以完成数据重排列;卷积流水计算单元用于根据重排列的数据和卷积核参数进行卷积流水计算,并获得输出数据。本发明专利技术利用基于多级MUX和读写双向移位缓存的控制逻辑实现了可变膨胀卷积硬件加速,最大程度地实现了数据高效缓存重排列与卷积并行流水计算。现了数据高效缓存重排列与卷积并行流水计算。现了数据高效缓存重排列与卷积并行流水计算。

【技术实现步骤摘要】
一种基于FPGA的可变膨胀卷积运算硬件系统


[0001]本专利技术属于数字图像处理
,具体涉及一种基于FPGA的可变膨胀卷积运算硬件系统,可用于基于可变膨胀卷积神经网络的图像处理任务中。

技术介绍

[0002]可变膨胀卷积作为一种新型的卷积模型,通过从目标任务中学习膨胀率并利用膨胀率改变空域图像采样位置,已经被证实了其可以有效的提高卷积神经网络的性能,基于可变膨胀卷积的卷积神经网络模型已经被广泛应用到了图像分类、图像分割、目标检测以及图像处理等领域。但是由于可变膨胀卷积模型的空域采样位置被膨胀率随机改变,导致可变膨胀卷积模型的硬件实现相比于传统卷积模型变得更加复杂。
[0003]当前对于传统卷积的硬件加速的主流手段有im2col方法和Line buffer方法,im2col方法把卷积输入数据转换为适用于矩阵乘法的形式,并利用矩阵乘法进行计算进而得到卷积运算结果,im2col方法要求数据排布具有一定的规律,而可变膨胀卷积的数据排布依靠学习到的膨胀率变化,没有规律性,因此利用im2col方法无法实现可变膨胀卷积;Line buffer方法预先对卷积输入数据进行行缓存,对于利用该方法实现的传统卷积仅需2行缓存即可,然而,若利用line buffer方法实现可变膨胀卷积,即便限制膨胀率为4也需要9行缓存才有可能实现,极大地浪费了硬件资源。

技术实现思路

[0004]为了解决现有技术中存在的上述问题,本专利技术提供了一种基于FPGA的可变膨胀卷积运算硬件系统。本专利技术要解决的技术问题通过以下技术方案实现:
[0005]本专利技术提供了一种基于FPGA的可变膨胀卷积运算硬件系统,包括数据重排列单元和卷积流水计算单元,其中,
[0006]所述数据重排列单元用于将原始图像中随膨胀率变化的随机空域采样点整理成列向量,所述数据重排列单元包括多级数据选择器、读写双向移位缓存和有限状态机,所述有限状态机能够对限定膨胀率范围内的膨胀率进行遍历并控制所述多级数据选择器对所述随机空域采样点进行数据选择,所述读写双向移位缓存用于获取并存储多级数据选择器选择的数据以完成数据重排列;
[0007]所述卷积流水计算单元用于根据所述重排列的数据和卷积核参数进行卷积流水计算,并获得输出数据。
[0008]在本专利技术的一个实施例中,所述多级数据选择器为n组k列多级数据选择器,用于根据所述随机空域采样点的中心点膨胀率从原始图像的一行n个像素点中选择中心点所需的k个空域采样点,其中,k为可变膨胀卷积的卷积核尺寸,n为所述卷积运算单元的列并行度;
[0009]所述n组k列多级数据选择器的选择端为中心点的膨胀率,输入端用于输入对应膨胀率范围下的空域采样点。
[0010]在本专利技术的一个实施例中,所述读写双向移位缓存包括n组k行k列个寄存器,其中,
[0011]每组寄存器之间相互独立;
[0012]在一组寄存器中,写方向由第m行中k列寄存器分别指向第m

1行中对应的k列寄存器,其中m为2~k中的任意实数,读方向由第m个寄存器指向第m

1个寄存器,其中m为2~k
×
k中的任意实数;
[0013]所述读写双向移位缓存第k行的n组k列寄存器的输入与所述n组k列多级数据选择器的输出连接,并由所述有限状态机控制传输通路是否开启。
[0014]在本专利技术的一个实施例中,所述有限状态机包括IDLE状态、RD_DILATION状态、DILATION状态和CONV_CALCU状态,其中,
[0015]IDLE状态为初始状态,等待数据重排列开始信号;RD_DILATION状态用于读取一行n个中心点的膨胀率;DILATION状态用于依次完成限定膨胀率范围内所有膨胀率下空域采样点数据的选择并将选择后的数据传入读写双向移位缓存中以完成数据重排列;CONV_CALCU状态用于读取所述读写双向移位缓存中的数据以进行卷积计算。
[0016]在本专利技术的一个实施例中,所述卷积流水计算单元包括n
×
m个数字信号处理子单元,所述n
×
m个数字信号处理子单元均连接所述读写双向移位缓存和权重缓存,能够同时获取存放在所述读写双向移位缓存中列并行度为n的特征图像数据的对应值以及存放在权重缓存中输出并行度为m的卷积核参数的对应值,以进行并行度为n
×
m的数据乘加运算。
[0017]在本专利技术的一个实施例中,所述数字信号处理子单元执行数据乘加运算的运算公式为A*B+C,其中,A为像素点,B为对应的卷积核参数,C为前一次A*B+C的计算结果,且第一次计算时C取0。
[0018]在本专利技术的一个实施例中,所述读写双向移位缓存包括第一读写双向移位缓存单元和第二读写双向移位缓存单元,所述第一读写双向移位缓存单元和所述第二读写双向移位缓存单元基于乒乓缓存的机制运行。
[0019]在本专利技术的一个实施例中,基于乒乓缓存的机制具体包括:
[0020]对所述第一读写双向移位缓存单元进行写入,完成后所述有限状态机通知所述卷积流水计算单元读取所述第一读写双向移位缓存单元中的数据,并向所述第二读写双向移位缓存单元写入数据,完成后等待所述卷积流水计算单元读完所述第一读写双向移位缓存单元中的数据再向所述第一读写双向移位缓存单元中写入数据,同时卷积流水计算单元读取所述第二读写双向移位缓存单元中的数据,直至输入数据完全重排列完成。
[0021]与现有技术相比,本专利技术的有益效果在于:
[0022]1、本专利技术基于FPGA提出了一种高效处理可变膨胀卷积运算的硬件系统,包含基于多级MUX选择和读写双向移位缓存的数据重排列单元和高并行卷积流水计算单元。相较于其他硬件系统,本实施例的系统能够更高效快速的实现可变膨胀卷积,可以根据不同的输入膨胀率实现传统卷积、膨胀卷积以及多尺度卷积等多种卷积,适用性更广,本实施例还基于乒乓缓存的机制,使得数据重排列单元和卷积流水计算单元同时工作,充分隐藏数据重排列时间,大幅度提高了DSP资源的使用效率,进一步提升了可变膨胀卷积处理性能。
[0023]2、本专利技术的可变膨胀卷积运算硬件系统利用基于多级MUX和读写双向移位缓存的控制逻辑实现了可变膨胀卷积硬件加速,可以以较少的资源和较快的速度依据图像中各个
像素点的膨胀率对数据进行重排列,最大程度地实现数据高效缓存重排列与卷积并行流水计算。
[0024]3、本专利技术提出的可变膨胀卷积运算系统能够通过改变膨胀率兼容传统卷积、膨胀卷积以及多尺度卷积等多种卷积运算,并通过读写双向移位缓存的方式减少逻辑资源的使用并充分提高缓存资源的利用效率。
[0025]以下将结合附图及实施例对本专利技术做进一步详细说明。
附图说明
[0026]图1是本专利技术实施例提供的一种基于FPGA的可变膨胀卷积运算硬件系统的模块图;
[0027]图2是本专利技术实施例提供的一种可变膨胀卷积计算所需的空域采样点的示意图;
[0028]图3是本专利技术实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA的可变膨胀卷积运算硬件系统,其特征在于,包括数据重排列单元(1)和卷积流水计算单元(2),其中,所述数据重排列单元(1)用于将原始图像中随膨胀率变化的随机空域采样点整理成列向量,所述数据重排列单元(1)包括多级数据选择器(11)、读写双向移位缓存(12)和有限状态机(13),所述有限状态机(13)能够对限定膨胀率范围内的膨胀率进行遍历并控制所述多级数据选择器(11)对所述随机空域采样点进行数据选择,所述读写双向移位缓存(12)用于获取并存储多级数据选择的数据以完成数据重排列;所述卷积流水计算单元(2)用于根据所述重排列的数据和卷积核参数进行卷积流水计算,并获得输出数据。2.根据权利要求1所述的基于FPGA的可变膨胀卷积运算硬件系统,其特征在于,所述多级数据选择器(11)为n组k列多级数据选择器,用于根据所述随机空域采样点的中心点膨胀率从原始图像的一行n个像素点中选择中心点所需的k个空域采样点,其中,k为可变膨胀卷积的卷积核尺寸,n为所述卷积运算单元的列并行度;所述n组k列多级数据选择器的选择端为中心点的膨胀率,输入端用于输入对应膨胀率范围下的空域采样点。3.根据权利要求2所述的基于FPGA的可变膨胀卷积运算硬件系统,其特征在于,所述读写双向移位缓存(12)包括n组k行k列个寄存器,其中,每组寄存器之间相互独立;在一组寄存器中,写方向由第m行中k列寄存器分别指向第m

1行中对应的k列寄存器,其中m为2~k中的任意实数,读方向由第m个寄存器指向第m

1个寄存器,其中m为2~k
×
k中的任意实数;所述读写双向移位缓存(12)第k行的n组k列寄存器的输入与所述n组k列多级数据选择器的输出连接,并由所述有限状态机(13)控制传输通路是否开启。4.根据权利要求1所述的基于FPGA的可变膨胀卷积运算硬件系统,其特征在于,所述有限状态机(13)包括IDLE状态、RD_DILATION状态、DILATION状态和CONV_CALCU状态,其中,IDLE状...

【专利技术属性】
技术研发人员:赖睿卢阳官俊涛袁野常可铮徐昆然李奕诗
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1