用于计算二维卷积滤波器的高吞吐量存储器优化数字电路

《Microprocessors and Microsystems》:High-throughput memory-optimized digital circuits to calculate 2D convolutional filters

【字体: 大 中 小 】 时间:2026年09月02日 来源:Microprocessors and Microsystems 2.5

编辑推荐:

   摘要本文提出了一种用于图像处理应用中计算二维卷积滤波器的新型数字电路。这些电路针对不同的数据速率设计,并并行处理多个到达的样本,使其适用于高吞吐量实时应用。所提电路的关键优势在于优化了内存使用,使其不会随并行化而增加。这比文献中常用的多个串行架构并行工作更高效。为了设计所提电

  

摘要

本文提出了一种用于图像处理应用中计算二维卷积滤波器的新型数字电路。这些电路针对不同的数据速率设计,并并行处理多个到达的样本,使其适用于高吞吐量实时应用。所提电路的关键优势在于优化了内存使用,使其不会随并行化而增加。这比文献中常用的多个串行架构并行工作更高效。为了设计所提电路,我们分析了计算中涉及的数学运算,并优化了吞吐量与面积使用之间的权衡。为了评估所提设计的性能,分析了电路的吞吐量、功耗和面积利用率。鉴于达到的吞吐量,与文献中报告的最新方法相比,这些架构在在现场可编程门阵列(FPGAs)和专用集成电路(ASICs)上大幅降低了硬件资源使用和功耗。

引言

卷积滤波器常用于许多与图像处理、实时视频分析和人工智能相关的应用中。例如,卷积滤波器通常用于生物医学图像分析 [1], [2] 中的样本预处理,或在卷积神经网络(CNNs)[3], [4], [5], [6], [7], [8], [9], [10], [11] 的前几层提取基本特征。流行的卷积滤波器示例包括边缘检测 [12], [13], [14]、高斯 [15], [16], [17], [18], [19]、双边 [20] 或锐化 [21] 滤波器。边缘检测滤波器突出输入图像的边缘。高斯和双边滤波器软化输入图像的纹理并减少噪声。最后,锐化滤波器增强图像像素之间的对比度。这些滤波器中的卷积运算消耗了图像处理系统的大部分计算能力 [22]。因此,开发计算卷积滤波器的新方法是提高其效率的关键。
许多技术已被提出以高效计算卷积。在文献的 previous works 中,许多作者专注于固定权重滤波器的实现,允许使用移位相加技术消除乘法器 [23], [24], [25]。另一个热门话题是减少卷积的操作次数。许多工作使用快速傅里叶变换等算法来实现这一点 [26], [27], [28], [29], [30]。也有专注于降低功耗的工作示例 [31], [32]。其他文章讨论了创新的卷积算法,例如用于高光谱图像超分辨率的三维卷积核心 [33]。其他示例包括用于减少高斯滤波器操作次数的近似卷积算法 [34],或自定义浮点卷积滤波器的生成器 [35]。此外,在 [36] 中提出了一种事件驱动的卷积核心。另一项创新工作是 [37],其中作者开发了一种与模数转换器集成的卷积滤波器。
为了加速卷积,一种常见的选择是将电路实现于现场可编程门阵列(FPGAs)[7], [8], [9], [10] 上。FPGA 支持在触发器和逻辑门级别进行电路设计。我们可以设计实现特定电路以满足给定系统要求同时优化资源使用的架构。使用 FPGA,也很容易设计高度可并行化的操作,如卷积,这受益于并行计算技术的使用 [38]。因此,FPGA 是卷积滤波器的一个伟大、高效且灵活的平台。其他设备,如专用集成电路(ASICs),可用于实现更高的数字电路优化。ASIC 支持更高效的低级实现,减少面积、功耗和延迟。这类设备在卷积实现中也广受欢迎 [39], [40], [41], [42]。
当需要高吞吐量卷积时,卷积电路中增加并行化的一种常见趋势是复制串行架构 [7] 或使用多个加法器树 [8], [10]。这导致架构使用的加法器、乘法器、寄存器和内存数量增加,且随并行化而扩展。然而,我们发现可以在不增加使用内存位置数量的情况下并行处理许多样本。与以前工作中并行处理多个串行卷积不同,我们并行处理同一卷积的多个样本。因此,总内存使用量是恒定的且与并行化无关,从而实现高吞吐量和面积高效的实现。
在本文中,我们专注于设计和实现并行高吞吐量架构,这些架构计算接收每个时钟周期多个样本流的二维(2D)卷积滤波器,使其适用于实时图像和视频处理系统。通过所提方法,我们旨在开发能够管理每个输入数据率同时保持硬件资源和功耗高效使用的结构。为了实现这一点,我们研究卷积中涉及的数学运算,设计并实现满足高吞吐量目标同时优化资源利用率的架构,并将现有架构与所提架构进行比较。此外,本文采用了一种新符号,有助于理解通过滤波器的数据流。这项工作的另一个重要方面是,所提架构适用于任何卷积滤波器,如边缘检测、高斯、双边或锐化,以及 CNNs,因为它们都使用相同的结构,仅在于权重的值不同,而在所提方法中这些值被视为通用的。
总之,这项工作的主要贡献如下:
  • •
    我们设计了计算 2D 卷积的电路,每个时钟周期接收输入图像的多个样本。与以前的方法不同,所提结构在不增加内存使用的情况下增加并行化。这显著减少了高吞吐量卷积滤波器的面积。
  • •
    我们详细分析了所提结构如何工作,并提出了一种新符号来帮助理解通过电路的数据流。这种符号建立了一个模型,供未来研究用来描述卷积滤波器中的数据流。
  • •
    当在 FPGA 和 ASIC 上实现时,所提架构不仅减少内存,而且与以前的工作相比改善了功耗效率并减少了逻辑使用。
本工作的组织如下:在第 2 节中,我们提供了本工作的背景,并总结了与我们方法相关的最 relevant previous works。在第 3 节中,我们讨论了取决于并行输入样本数量的卷积滤波器实现。我们还详细解释了所提架构,并提供了带有时序图的示例。在第 4 节中,我们总结了设计电路的特征,将其资源使用和性能与文献中的 previous works 进行比较。作为结论,在第 5 节中,我们提供了本文贡献和成就的摘要。

章节摘要

背景

本文提出的电路基于图 1 中的串行卷积架构,这是文献中众所周知的结构 [5], [6], [7]。在图中,矩形代表长度等于内部写值的缓冲区。每个时钟周期,一个新样本乘以权重 wj,其中 j=0,1,…,8,并且结果被加到相应窗口中前一个乘积的中和。该电路使用 8 个加法器,9 个乘法器和 2(M+1) 内存

卷积滤波器的并行架构

在本节中,我们提出用于计算 2D 卷积的并行数字电路。我们首先在第 3.1 节解释一种描述 2D 卷积中数据流的新符号。随后,我们在第 3.2、3.3 和 3.4 节中分别针对每个时钟周期 2、4 和一整行样本的情况提供设计。由于可能存在许多配置,我们将解释重点放在图像大小是一个

实验设置与测试

所提架构已使用 Vivado 设计套件在 Virtex UltraScale+ (VU+) XCVU37P-L2FSVH2892E FPGA 上实现。然后,对于每个设计,使用测试台将不同滤波器应用于给定输入图像。这允许我们测试架构以验证所有计算是否执行正确。算法模块具有图像像素值和核系数端口,允许我们用不同图像和滤波器测试架构。
使用 MATLAB

结论

这项工作的目标是设计优化资源使用的新高吞吐量卷积滤波器电路。通常,在通用卷积加速器中,吞吐量和资源使用是直接相关的。然而,我们发现这只适用于加法器和乘法器,而内存可以保持不变。所提结构在不增加内存使用的情况下实现了更高的并行化,这与该领域 earlier works 不同。我们考虑了不同的

CRediT 作者贡献声明

Francisco Albertuz: 设计,测试,写作 - 原始草案准备。 Mario Garrido: 概念化,方法论,监督,手稿修订。 álvaro Navarro-Tobar: 技术评估,写作评估,手稿修订。

竞争利益声明

作者声明,他们没有已知的竞争经济利益或个人关系,可能看起来影响了本论文中报告的工作。
Francisco Albertuz 于 2022 年从西班牙 Vigo 大学(UVigo)工业电子与自动控制工程系毕业,是该年度最佳学术记录获得者。他获得了加利西亚自治区学术卓越奖和 UVigo 的学位结束奖。此后,他移居马德里,在马德里的理工科大学(UPM)攻读电子系统工程硕士学位,并于 2023 年以荣誉完成其硕士论文。那
Francisco Albertuz|Mario Garrido|álvaro Navarro-Tobar
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号