A Reconfigurable 2-D Convolver Based on Triangular Numbers Decomposition
-
摘要: 多尺寸2-D卷积通过特征提取在检测、分类等计算机视觉任务中发挥着重要作用。然而,目前缺少一种高效的可配置2-D卷积器设计方法,这限制了卷积神经网络(CNN)模型在边缘端的部署和应用。该文基于乘法管理以及奇平方数的三角数分解方法,提出一种高性能、高适应性的卷积核尺寸可配置的2-D卷积器。所提2-D卷积器包含一定数量的处理单元(PE)以及相应的控制单元,前者负责运算任务,后者负责管理乘法运算的组合,二者结合以实现不同尺寸的卷积。具体地,首先根据应用场景确定一个奇数列表,列表中为2-D卷积器所支持的尺寸,并利用三角数分解得到对应的三角数列表;其次,根据三角数列表和计算需求,确定PE的总数量;最后,基于以小凑大的方法,确定PE的互连方式,完成电路设计。该可配置2-D卷积器通过Verilog硬件描述语言(HDL)设计实现,由Vivado 2022.2在XCZU7EG板卡上进行仿真和分析。实验结果表明,相比同类方法,该文所提可配置2-D卷积器,乘法资源利用率得到显著提升,由20%~50%提升至89%,并以514个逻辑单元实现1 500 MB/s的吞吐率,具有广泛的适用性。Abstract: Two-Dimensional (2-D) convolution with different kernel sizes enriches the overall performance in computer vision tasks. Currently, there is a lack of an efficient design method of reconfigurable 2-D convolver, which limits the deployment of Convolution Neural Network (CNN) models at the edge. In this paper, a new approach based on multiplication management and triangular numbers decomposition is proposed. The proposed 2-D convolver includes a certain number of Processing Elements (PE) and corresponding control units, where the former is responsible for computing tasks and the latter manages the combination of multiplication operations to achieve different convolution sizes. Specifically, an odd number list is determined based on the application scenario, which represents the supported sizes of the 2-D convolutional kernel. The corresponding triangular number list is obtained using the triangular numbers decomposition method. Then, the total number of PEs is determined based on the triangular number list and computational requirements. Finally, the corresponding control units and the interconnection of PEs are determined by the addition combinations of triangular numbers. The proposed reconfigurable 2-D convolver is designed by Verilog Hardware Description Language (HDL) and implemented by Vivado 2022.2 software on the XCZU7EG board. Compared with similar methods, the proposed 2-D convolver significantly improves the efficiency of multiplication resources, increasing from 20%~50% to 89%, and achieves a throughput of 1 500 MB/s with 514 logic units, thereby demonstrating its wide applicability.
-
1. 引言
卷积神经网络(Convolution Neural Network, CNN)在图像分类[1,2]、目标检测[3–5]、目标识别[6,7]以及目标跟踪[8]等领域得到广泛使用。图形处理器(Graphics Processing Unit, GPU)由于其较高的功耗在移动端应用受限[9]。对处理单元(Processing Element, PE)互连方式进行研究,可有效提升2-D卷积器的性能和功耗表现[10,11]。根据片上缓冲架构的不同,2-D卷积器可分为全缓冲[12]、部分缓冲[13]以及混合缓冲方案[14–16]。由于全缓冲方案对外部存储器的带宽要求低,本文采用全缓冲方案设计可配置2-D卷积器。
在计算机视觉领域中,多尺度卷积技术如多尺度卷积块和特征金字塔网络等的提出,改善了CNN模型的特征提取能力,使多尺度特征得到融合,提高了精度[17–20]。Tan等人[21]提出的混合深度卷积摸块,在深度卷积模块中,使用多种不同尺寸的2-D卷积核,替换掉MobileNetV2中的深度卷积模块,使其分类精度得到提高。在包含不同尺寸卷积层的CNN中,可配置2-D卷积器通过复用硬件资源,可以显著提高其利用率。
为了实现低成本、高性能的可配置2-D卷积器,Bosi等人[12]将2-D卷积分解为1-D卷积,提高了资源利用率;Dehghani等人[22]提出了矩阵拼接的方法,提升了卷积器在小卷积核下的计算性能;Perri等人[23]设计了专用的单指令多数据电路,实现了卷积核尺寸和位宽的可配置性;Wang等人[24]利用DSP48E1/E2的内部结构实现可配置2-D卷积,节省了加法资源;Fons等人[25]利用了Xilinx FPGA的部分重配置特性,但会产生一定的延迟。其它工作[26–28]利用卷积核的特定性质减少乘法和加法的运算,但工作场景受限。
上述方法可配置2-D卷积器的乘法资源利用率多数仍不足50%,限制了吞吐率,且难以适应多种应用场景,部分设计复杂,时间成本较高。基于此,本文提出一个新的可配置2-D卷积器,主要贡献如下:
(1)提出一种基于乘法管理实现卷积的方法。在卷积运算中,基于单次乘法管理实现多尺寸卷积,可达到接近100%的乘法资源利用率,相较于同类方法,所提出的2-D卷积器在3*3卷积模式下吞吐率提升达50%,5*5卷积模式下吞吐率提升达100%。
(2)提出三角数分解的方法。利用三角数分解,对任意奇数尺寸的卷积核分割出其公共加法组合模式,从而节省加法器资源,提高2-D卷积器整体的资源利用率及适应性。
(3)提出一种基于三角数分解的电路设计方法。首先,通过选取三角数的最小公倍数,确定乘法器矩阵电路;其次,借鉴分解后所得的三角数列表,完成加法电路的设计;最后,根据实际场景需求以较低的复杂度完成数据访问电路或寄存器阵列及控制器设计。
本文内容将如下安排:第2节研究方法,对本文及同类方法进行理论分析;第3节硬件设计,阐述本文所提电路设计方法,并完成设计;第4节结果和分析,通过实验对比和分析本文工作与其他文献工作;第5节结束语,总结本文工作。
2. 研究方法
2.1 可配置2-D卷积器
2-D卷积运算可以由式(1)表示
F(v,u)=K∗I=k∑j=1k∑i=1K(i,j)×I(v−⌈k2⌉+i,u−⌈k2⌉+j) (1) 其中,∗表示卷积运算,k为卷积核尺寸,i为行,j为列,K(i,j)为卷积核第i行、第j列上的系数,I为输入的像素数据,F(v,u)为输入图像中第v行、第u列像素的卷积输出。
为对比和评估不同的可配置2-D卷积器设计方法,构造成本函数为
C(k)=ak2+b(k2−1)+ck2 (2) 其中,a,b,c分别代表乘法器、加法器和寄存器的成本权重,有c<<b<<a。
对具备n种卷积模式的卷积尺寸列表{k1,k2,···,kn},直接实现可配置2-D卷积器的成本为
C1=an∑m=1k2m+bn∑m=1(k2m−1)+ckmax (3) 其中,kmax为卷积尺寸列表{k1,k2,···,kn}中的最大值。
本文提出了乘法管理和三角数分解的方法,用于实现可配置2-D卷积器,技术路线如图1所示。
2.2 乘法管理
矩阵填零和矩阵拼接[22]实现的可配置2-D卷积器,成本估计为
{C_2} = ak_{\max }^2 + b(k_{\max }^2 - 1) + ck_{\max }^2 (4) 若以每个乘法器为PE,利用率可达100%。设多路选择器成本权重为d,有d≈c<<b<<a,成本估计为
{C_3} = ak_{\max }^2 + bn(k_{\max }^2 - 1) + cnk_{\max }^2 + d(n - 1)k_{{\text{max}}}^{\text{2}} (5) 找到不同卷积模式m下相同的加法组合方式,通过加法器复用,能降低C3中占主要部分的bn(k_{{\text{max}}}^{\text{2}} - 1)。
2.3 三角数分解
在矩阵拼接方法中,PE的作用近似于公因子,不准确的公因子会造成估计误差而需要填零操作补偿。用三角数分解,可求得更准确的近似公因子,其实现(2k+1)* (2k+1)卷积的伪代码描述如算法1所示。
表 1 基于三角数分解的卷积计算方法(1) 输入:input_H1[m]/ input_H2:(2k+1)* (2k+1)卷积的输入像素,由H1部分及H2部分组成 (2) kernel_H1[m]/ kernel_H2:输入像素的对应卷积核系数 (3) 输出:num_H1:H1运算的数量,每个H1包含8个元素,即8次乘法和7次加法 (4) conv_out:卷积结果,由num_H1个H1运算与一个H2运算组成,H2为单次乘法 (5) num_H1 = k* (k+1)/2; (6) for m = [1:k* (k+1)/2] (7) conv_out += kernel_H1[m] \oplus input_H1[m]; (8) conv_out += kernel_H2 * input_H2; 对任意奇数尺寸的卷积核,都可进行三角数分解,证明如下:
设T(n)为三角形数,km为奇数,则有
k_m^2 = 8{T} \left(\frac{{{k_m} - 1}}{2}\right) + 1 (6) 记
\begin{split} f(x) =\,& K \left(\left\lfloor {\frac{x}{k}} \right\rfloor ,x\text{mod} k \right) \\ & \times I \left( v - \left\lceil {\frac{k}{2}} \right\rceil + \left\lfloor {\frac{x}{k}} \right\rfloor ,u - \left\lceil {\frac{k}{2}} \right\rceil + x\text{mod} k \right) \end{split} (7) 则式(1)可重写为
\begin{split} {F} {\text{(}}v,u{\text{)=}}\,& \sum\limits_{p = 1}^{{T} {\text{(}}\frac{{k - 1}}{2}{\text{)}}} {\sum\limits_{x = 1}^8 {f{\text{(}}8{\text{(}}p - 1{\text{)}} + x{\text{)}}} } \\ & + f\left(8{T} \left(\frac{{k - 1}}{2}\right) + 1 \right) \end{split} (8) 令
{{\mathrm{H}}} 1(p) = \sum\limits_{x = 1}^8 {f(p + x)} {\text{ }}{{\mathrm{H}}} 2 = f \left(8T\left(\frac{{k - 1}}{2}\right) + 1 \right) (9) 则有
F(v,u) = \sum\limits_{p = 1}^{T(\frac{{k - 1}}{2})} {{\text{H1}}(8(p - 1))} + {\text{H2}} (10) 式(10)表明:任意奇数尺寸卷积计算可分解为三角数个函数H1以及一个函数H2的计算。
图2展示了不同场景下PE的组合方式,卷积尺寸{3,5,7,9}对应的三角数为{1,3,6,10}。其中,图2(a)中的PE不存在浪费,图2(b)中的5* 5和7* 7则存在PE浪费,在图2(c)中通过改变PE数量,避免了5* 5和7* 7卷积下的浪费,但9* 9卷积存在浪费。
在图3中,通过取PE总数为三角数{3,6,10,15}的公倍数30,避免了PE的浪费。
基于三角数分解方法的成本估计为
{C_4} \approx ak_{\max }^2 + b(k_{\max }^2 - 1) + cnk_{\max }^2 + d(n - 1)k_{\max }^2 (11) 表1对比了不同实现方法的乘法资源利用率及成本,其中Tmax=T((kmax–1)/2), Tmin= T((kmin–1)/2)。
表 1 不同实现方法的乘法资源利用率及成本对比矩阵填零 矩阵拼接 乘法管理 三角数分解 乘法资源利用率 k_{\min }^2/k_{\max }^2 k_m^2/k_{\max }^2 100% (8{T_{\max }} + 1)/({T_{\max }}/{T_{\min }} + 8{T_{\max }}) 成本 低 低 高 较高 3. 电路设计
以图2(a)中的场景,即卷积尺寸列表{3,5,7}为例,进行硬件电路设计。
3.1 PE电路设计
本设计存在两种PE,对应电路如图4所示。其中,图4(a)为含H2的PE,图4(b)为不含H2的PE,在卷积尺寸列表中不含3*3卷积时需要使用。对于场景{3,5,7},仅需使用图4(a)所表示的PE。
3.2 加法电路设计
由图2(a)可知PE输出的加法组合方式,其电路设计如图5所示。
3.3 寄存器阵列及控制电路设计
为进一步降低资源使用量,本文使用矩阵拼接的方法对寄存器阵列进行复用优化,流程如图6所示。
图7展示了寄存器阵列及控制电路的电路图。其中,为了直观,以相同的颜色表示节点的连接关系。根据S2,在图7中, 7* 7的寄存器阵列中复用了4个3* 3的寄存器阵列以及1个5* 5的寄存器阵列。根据S3,如图7(b),单独设计了1个5* 5的寄存器阵列,如图7(c),通过添加3个额外的寄存器,复用出剩下所需的2个3* 3的寄存器阵列。根据S4,在图7(a)、图7(b)、图7(c)中分别确定了3* 3, 5* 5, 7* 7卷积模式下寄存器阵列与PE的连接关系。图中无颜色填充的寄存器代表其值可随意设置,PE中无色的乘法器代表其输入为0。纵向对比颜色的变化,可得控制电路的设计。如图7(b),相对于3* 3卷积模式,在5* 5卷积模式下,寄存器阵列与PE1, PE5的连线无需更改,PE2, PE3, PE6需更改3根连线,PE4的连线需全部更改。
4. 结果和分析
本文所提可配置2-D卷积器通过Verilog HDL设计,在Vivado 2022.2平台上进行布局布线,得到仿真和分析结果。为证明本文所提乘法管理方法的有效性,以CNN中常见的卷积核尺寸列表{3,5,7,9,11}为例,对比了本文与其它工作所提2-D卷积器的乘法资源利用率,结果如表2所示。
在表2中,除了11* 11卷积模式外,本文所提可配置2-D卷积器具有最高的乘法资源利用率,随着卷积尺寸的增加,乘法资源利用率些许降低,但其它方法有强烈的变化,而乘法管理方法仍保持着一定的稳定性,一定程度上表明其具有更好的适应性,在各场景下的工作情况都较好。
为体现本文所提可配置2-D卷积器的性能和成本优势,在资源使用量、计算并行度、吞吐率等指标上与其它论文工作进行对比。其中,资源类型包含寄存器(Flip Flop, FF)、查找表(Look Up Table, LUT)、数字信号处理器 (Digital Signal Processor, DSP)以及所使用的FPGA逻辑单元数量Area;计算并行度表示2-D卷积器每周期输出的像素数量,单位为像素/每周期(Pixel Per Clock, PPC);吞吐率则表示2-D卷积器每周期的乘加计算量,单位为109次运算/s(Giga Operations Per Second, GOPS)。
由于各设计使用了不同的硬件平台,为公平对比各个可配置2-D卷积器的资源利用率以及性能,使用了以下2个衡量指标:单位资源使用量 = 资源使用量/计算并行度,吞吐率密度 = 吞吐率/DSP/时钟频率。
在表3中,首先进行计算并行度的对比,本文的可配置2-D卷积器在3* 3和5* 5卷积模式下的计算并行度高于文献[22]及文献[23]所提可配置2-D卷积器,相比于文献[22]的提升率达50%和100%。这是因为乘法管理的方法提高了乘法资源利用率,在数量相近的DSP条件下,每个周期能够输出更多的像素点。
表 3 资源使用及性能对比参数/指标 三角数分解 三角数分解(优化) 乘法管理 矩阵拼接[22]*1 文献[23] 文献[29] 文献[30] XCZU7EG XCZU7EG XCZU7EG XCZU7EG XCV2000e Z-7045 Z-7045 时钟(MHz) 250 250 250 250 28.6 140 125 FF 3980 3028 5618 2387 NR*2 NR NR LUT 1 896 1772 3520 1316 NR NR NR DSP 54 54 54 49 NR 576 855 Area 514 458 799 371 7262 NR NR 3* 3(PPC) 6 6 6 4 4 NR NR 5* 5(PPC) 2 2 2 1 1 NR NR 7* 7(PPC) 1 1 1 1 NS*2 NR NR 吞吐率(GOPS) 25.50 25.50 25.50 17.00 0.23 129.73 155.81 吞吐密度(×10–3) 1.89 1.89 1.89 1.39 NR 1.58 1.45 单位资源使用量
(3* 3)FF 663.33 504.67 936.33 596.75 NR NR NR LUT 316 295.33 586.67 329 NR NR NR DSP 9 9 9 12.25 NR NR NR Area 85.67 76.33 133.17 92.75 1815.5 NR NR 单位资源使用量
(5* 5)FF 1 990 1514 2809 2387 NR NR NR LUT 948 886 1760 1316 NR NR NR DSP 27 27 27 49 NR NR NR Area 257 229 399.5 371 7262 NR NR 单位资源使用量
(7* 7)FF 3980 3028 5618 2387 NS NR NR LUT 1 896 1772 3520 1316 NS NR NR DSP 54 54 54 49 NS NR NR Area 514 458 799 371 NS NR NR *1. 该数据由文献[22]的复现版本提供,由于本文对比时包含了更多电路模块,且受硬件平台和输入位宽不同的影响,与原文献中的数据存在差异。*2. NR:未报告, NS:不支持。 其次,对比3* 3和5* 5卷积模式下的单位资源使用量,相比于文献[22],在3* 3和5* 5模式下,乘法管理的方法显著减少了单位DSP使用量,然而其它资源的使用量明显增加,这是所需的控制逻辑资源造成的。
然后,对比三角数分解方法与乘法管理方法,在计算并行度、吞吐率、吞吐密度保持不变的同时,本文所提三角数分解方法显著减少了FF, LUT, Area等资源的使用量,特别是对寄存器阵列及控制器进行复用优化后,在3* 3和5* 5卷积模式下全面优于文献[22]所提方法。在7* 7卷积模式下,本文所提方法的单位资源使用量略高于文献[22]所提方法,这是因为最大尺寸的卷积模式决定着总资源使用量,作为基准的7* 7卷积模式不会有性能提升,而额外的控制逻辑消耗了资源。
最后,对比各2-D卷积器之间的吞吐密度,本文所提可配置2-D卷积器具有最高的吞吐密度。从吞吐密度指标的计算公式可以得出,该指标无关于DSP数量以及时钟频率,比较客观地反应了卷积器的性能。其中,文献[29]及文献[30]设计了一个完整的CNN加速器,但合理设计的CNN加速器的吞吐密度接近于其计算引擎的吞吐密度,而本文所提方法在吞吐密度上提升达30%,故此数据仍具有一定参考价值。
在表4中,对比了几种可配置2-D卷积器的设计复杂度。其中,本文的可配置2-D卷积器在仅存在2种PE,组合方式为1维方式,即三角数的加法组合;文献[22]中所提矩阵拼接的方法对于不同列表存在的PE种类数量不同,组合方式为2维方式;矩阵填零的方法则仅存在列表中最大尺寸卷积所对应的PE,设计复杂度低,组合方式固定。文献[23]所提卷积器需对不同输入位宽、卷积核尺寸进行专用的单指令多数据电路设计,复杂度较高。文献[29]所提加速器中的计算引擎,即2-D卷积器,相比于文献[23],其PE具有2种模式,设计复杂度更高。
表2中的对比表明了本文所提乘法管理方法的有效性,表3则全方面地展示了乘法管理方法、三角数分解方法对卷积器单位资源使用量的减少以及性能的提升效果,通过表4的对比,说明本文所提可配置2-D卷积器的设计复杂度较低,有效地控制了设计时间成本。
5. 结束语
针对以往卷积器资源利用率和吞吐率低的问题,本文提出一种高效的可配置2-D卷积器设计方法,可用于高斯滤波、边缘提取等图像处理算法以及CNN。本文在乘法管理方法提高了乘法资源利用率的基础上,利用三角数分解进行资源复用,进一步提高了整体的资源利用率。对于包含偶数尺寸卷积的列表,可以利用正方形数分解方法进行设计。实验结果证明,乘法管理的方法成功提高了乘法资源的利用率,最低乘法资源利用率从20%~50%提升至89.42%,从而提高了可配置2-D卷积器的吞吐率;三角数分解的方法进一步提高了整体的资源利用率,在小卷积模式下具有最低的单位成本,3*3模式下FF和LUT的单位成本为504.67和295.33,逻辑资源占用的单位面积为76.33,在相同的资源使用量下可实现更高的吞吐率,并改善了可配置2-D卷积器的适应性;同时,本文提出的具体电路设计步骤,相较于同类卷积器设计较为简单,降低了设计可配置2-D卷积器的时间成本。不足之处在于,本文的工作目前仅可用于逐深度卷积与普通卷积的加速,而不支持逐点卷积与全连接层的加速。另一方面则在于本文工作仅设计了CNN加速器中的核心计算引擎。对于前者,可以将逐点卷积与全连接层都映射为最接近的2-D卷积,再通过本文所提可配置2-D卷积器进行加速,此方法根据具体CNN模型输入输出形状可能会存在一定资源浪费,涵需深入研究。改进完善后,本文所提可配置2-D卷积器可作为常见CNN的加速器计算引擎,进一步提升现有基于FPGA的CNN加速器的性能和灵活性。
-
1 基于三角数分解的卷积计算方法
(1) 输入:input_H1[m]/ input_H2:(2k+1)* (2k+1)卷积的输入像素,由H1部分及H2部分组成 (2) kernel_H1[m]/ kernel_H2:输入像素的对应卷积核系数 (3) 输出:num_H1:H1运算的数量,每个H1包含8个元素,即8次乘法和7次加法 (4) conv_out:卷积结果,由num_H1个H1运算与一个H2运算组成,H2为单次乘法 (5) num_H1 = k* (k+1)/2; (6) for m = [1:k* (k+1)/2] (7) conv_out += kernel_H1[m] \oplus input_H1[m]; (8) conv_out += kernel_H2 * input_H2; 表 1 不同实现方法的乘法资源利用率及成本对比
矩阵填零 矩阵拼接 乘法管理 三角数分解 乘法资源利用率 k_{\min }^2/k_{\max }^2 k_m^2/k_{\max }^2 100% (8{T_{\max }} + 1)/({T_{\max }}/{T_{\min }} + 8{T_{\max }}) 成本 低 低 高 较高 表 2 乘法资源利用率对比(%)
表 3 资源使用及性能对比
参数/指标 三角数分解 三角数分解(优化) 乘法管理 矩阵拼接[22]*1 文献[23] 文献[29] 文献[30] XCZU7EG XCZU7EG XCZU7EG XCZU7EG XCV2000e Z-7045 Z-7045 时钟(MHz) 250 250 250 250 28.6 140 125 FF 3980 3028 5618 2387 NR*2 NR NR LUT 1 896 1772 3520 1316 NR NR NR DSP 54 54 54 49 NR 576 855 Area 514 458 799 371 7262 NR NR 3* 3(PPC) 6 6 6 4 4 NR NR 5* 5(PPC) 2 2 2 1 1 NR NR 7* 7(PPC) 1 1 1 1 NS*2 NR NR 吞吐率(GOPS) 25.50 25.50 25.50 17.00 0.23 129.73 155.81 吞吐密度(×10–3) 1.89 1.89 1.89 1.39 NR 1.58 1.45 单位资源使用量
(3* 3)FF 663.33 504.67 936.33 596.75 NR NR NR LUT 316 295.33 586.67 329 NR NR NR DSP 9 9 9 12.25 NR NR NR Area 85.67 76.33 133.17 92.75 1815.5 NR NR 单位资源使用量
(5* 5)FF 1 990 1514 2809 2387 NR NR NR LUT 948 886 1760 1316 NR NR NR DSP 27 27 27 49 NR NR NR Area 257 229 399.5 371 7262 NR NR 单位资源使用量
(7* 7)FF 3980 3028 5618 2387 NS NR NR LUT 1 896 1772 3520 1316 NS NR NR DSP 54 54 54 49 NS NR NR Area 514 458 799 371 NS NR NR *1. 该数据由文献[22]的复现版本提供,由于本文对比时包含了更多电路模块,且受硬件平台和输入位宽不同的影响,与原文献中的数据存在差异。*2. NR:未报告, NS:不支持。 -
[1] GUO Liang. SAR image classification based on multi-feature fusion decision convolutional neural network[J]. IET Image Processing, 2022, 16(1): 1–10. doi: 10.1049/ipr2.12323. [2] LI Guoqing, ZHANG Jingwei, ZHANG Meng, et al. Efficient depthwise separable convolution accelerator for classification and UAV object detection[J]. Neurocomputing, 2022, 490: 1–16. doi: 10.1016/j.neucom.2022.02.071. [3] ZHU Wei, ZHANG Hui, EASTWOOD J, et al. Concrete crack detection using lightweight attention feature fusion single shot multibox detector[J]. Knowledge-Based Systems, 2023, 261: 110216. doi: 10.1016/j.knosys.2022.110216. [4] DONG Zhekang, JI Xiaoyue, LAI C S, et al. Design and implementation of a flexible neuromorphic computing system for affective communication via memristive circuits[J]. IEEE Communications Magazine, 2023, 61(1): 74–80. doi: 10.1109/mcom.001.2200272. [5] GAO Mingyu, SHI Jie, DONG Zhekang, et al. A Chinese dish detector with modified YOLO v3[C]. 7th International Conference on Intelligent Equipment, Robots, and Vehicles, Hangzhou, China, 2021: 174–183. doi: 10.1007/978-981-16-7213-2_17. [6] GAO Mingyu, CHEN Chao, SHI Jie, et al. A multiscale recognition method for the optimization of traffic signs using GMM and category quality focal loss[J]. Sensors, 2020, 20(17): 4850. doi: 10.3390/s20174850. [7] GADEKALLU T R, SRIVASTAVA G, LIYANAGE M, et al. Hand gesture recognition based on a harris hawks optimized convolution neural network[J]. Computers and Electrical Engineering, 2022, 100: 107836. doi: 10.1016/j.compeleceng.2022.107836. [8] JI Xiaoyue, DONG Zhekang, HAN Yifeng, et al. A brain-inspired hierarchical interactive in-memory computing system and its application in video sentiment analysis[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2023, 33(12): 7928–7942. doi: 10.1109/tcsvt.2023.3275708. [9] COPE B. Implementation of 2D Convolution on FPGA, GPU and CPU[J]. Imperial College Report, 2006. [10] JUNG G C, PARK S M, and KIM J H. Efficient VLSI architectures for convolution and lifting based 2-D discrete wavelet transform[C]. 10th Asia-Pacific Conference on Advances in Computer Systems Architecture, Singapore, 2005: 795–804. doi: 10.1007/11572961_65. [11] MOHANTY B K and MEHER P K. New scan method and pipeline architecture for VLSI implementation of separable 2-D FIR filters without transposition[C]. TENCON 2008–2008 IEEE Region 10 Conference, Hyderabad, India, 2008: 1–5. doi: 10.1109/tencon.2008.4766758. [12] BOSI B, BOIS G, and SAVARIA Y. Reconfigurable pipelined 2-D convolvers for fast digital signal processing[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 1999, 7(3): 299–308. doi: 10.1109/92.784091. [13] ZHANG Hui, XIA Mingxin, and HU Guangshu. A multiwindow partial buffering scheme for FPGA-based 2-D convolvers[J]. IEEE Transactions on Circuits and Systems II:Express Briefs, 2007, 54(2): 200–204. doi: 10.1109/tcsii.2006.886898. [14] CARDELLS-TORMO F, MOLINET P L, SEMPERE-AGULLO J, et al. Area-efficient 2D shift-variant convolvers for FPGA-based digital image processing[C]. International Conference on Field Programmable Logic and Applications, 2005, Tampere, Finland, 2005: 578–581. doi: 10.1109/fpl.2005.1515789. [15] DI CARLO S, GAMBARDELLA G, INDACO M, et al. An area-efficient 2-D convolution implementation on FPGA for space applications[C]. 2011 IEEE 6th International Design and Test Workshop (IDT), Beirut, Lebanon, 2011: 88–92. doi: 10.1109/idt.2011.6123108. [16] KALBASI M and NIKMEHR H. A classified and comparative study of 2-D convolvers[C]. 2020 International Conference on Machine Vision and Image Processing (MVIP), Qom, Iran, 2020: 1–5. doi: 10.1109/MVIP49855.2020.9116874. [17] WANG Junfan, CHEN Yi, DONG Zhekang, et al. Improved YOLOv5 network for real-time multi-scale traffic sign detection[J]. Neural Computing and Applications, 2023, 35(10): 7853–7865. doi: 10.1007/s00521-022-08077-5. [18] MA Yuliang, ZHU Zhenbin, DONG Zhekang, et al. Multichannel retinal blood vessel segmentation based on the combination of matched filter and U-net network[J]. BioMed Research International, 2021, 2021: 5561125. doi: 10.1155/2021/5561125. [19] 董哲康, 杜晨杰, 林辉品, 等. 基于多通道忆阻脉冲耦合神经网络的多帧图像超分辨率重建算法[J]. 电子与信息学报, 2020, 42(4): 835–843. doi: 10.11999/JEIT190868.DONG Zhekang, DU Chenjie, LIN Huipin, et al. Multi-channel memristive pulse coupled neural network based multi-frame images super-resolution reconstruction algorithm[J]. Journal of Electronics & Information Technology, 2020, 42(4): 835–843. doi: 10.11999/JEIT190868. [20] SZEGEDY C, LIU Wei, JIA Yangqing, et al. Going deeper with convolutions[C]. 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Boston, USA, 2015: 1–9. doi: 10.1109/cvpr.2015.7298594. [21] TAN Mingxing and LE Q V. MixConv: Mixed depthwise convolutional kernels[C]. 30th British Machine Vision Conference, Cardiff, UK, 2019: 74. [22] DEHGHANI A, KAVARI A, KALBASI M, et al. A new approach for design of an efficient FPGA-based reconfigurable convolver for image processing[J]. The Journal of Supercomputing, 2022, 78(2): 2597–2615. doi: 10.1007/s11227-021-03963-6. [23] PERRI S, LANUZZA M, CORSONELLO P, et al. A high-performance fully reconfigurable FPGA-based 2D convolution processor[J]. Microprocessors and Microsystems, 2005, 29(8/9): 381–391. doi: 10.1016/j.micpro.2004.10.004. [24] WANG Wulun and SUN Guolin. A DSP48-based reconfigurable 2-D convolver on FPGA[C]. 2019 International Conference on Virtual Reality and Intelligent Systems (ICVRIS), Jishou, China, 2019: 342–345. doi: 10.1109/icvris.2019.00089. [25] FONS F, FONS M, and CANTÓ E. Run-time self-reconfigurable 2D convolver for adaptive image processing[J]. Microelectronics Journal, 2011, 42(1): 204–217. doi: 10.1016/j.mejo.2010.08.008. [26] MA Zhaobin, YANG Yang, LIU Yunxia, et al. Recurrently decomposable 2-D Convolvers for FPGA-based digital image processing[J]. IEEE Transactions on Circuits and Systems II:Express Briefs, 2016, 63(10): 979–983. doi: 10.1109/TCSII.2016.2536202. [27] CABELLO F, LEÓN J, IANO Y, et al. Implementation of a fixed-point 2D Gaussian filter for image processing based on FPGA[C]. 2015 Signal Processing: Algorithms, Architectures, Arrangements, and Applications (SPA), Poznan, Poland, 2015: 28–33. doi: 10.1109/SPA.2015.7365108. [28] CHEEMALAKONDA S, CHAGARLAMUDI S, DASARI B, et al. Area efficient 2D FIR filter architecture for image processing applications[C]. 2022 6th International Conference on Devices, Circuits and Systems (ICDCS), Coimbatore, India, 2022: 337–341. doi: 10.1109/ICDCS54290.2022.9780828. [29] JIA Han, REN Daming, and ZOU Xuecheng. An FPGA-based accelerator for deep neural network with novel reconfigurable architecture[J]. IEICE Electronics Express, 2021, 18(4): 20210012. doi: 10.1587/elex.18.20210012. [30] VENIERIS S I and BOUGANIS C S. fpgaConvNet: Mapping regular and irregular convolutional neural networks on FPGAs[J]. IEEE Transactions on Neural Networks and Learning Systems, 2019, 30(2): 326–342. doi: 10.1109/tnnls.2018.2844093. 期刊类型引用(0)
其他类型引用(1)
-