高效的共近似并行压缩深度重建在 FPGA 上
摘要
从稀疏采样中进行高效深度图像重建对机器感知应用至关重要,例如机器人技术、车辆辅助与自主驾驶。它要求在保证感知质量与安全的前提下实现高速处理并低功耗,同时在边缘设备受限资源预算内降低 FPGA 与固态实现的成本。本文提出了一种基于共近似的 FPGA 并行近似压缩深度重建引擎框架,采用 ℓ1 求解器、近端梯度下降(PGD),并在迭代优化过程中对频率和电压进行监测与缩放。通过评估多种数量的并行近似处理单元用于深度图像重建引擎,最多实现 51% 的额外功耗降低,且相较基线并行处理速度提升 421 倍,因而整体效率提升超过 43 倍。
作者
Yun Wu 电气、电子与计算机工程学院,女王大学,贝尔法斯特
John McAllister 电气、电子与计算机工程学院,女王大学,贝尔法斯特
出版信息
Journal: ICASSP 2025 - 2025 IEEE 国际声学、语音与信号处理会议 (ICASSP) Year: 2025 Pages: 1-5 DOI: 10.1109/ICASSP49660.2025.10888441 Article Number: 10888441 ISSN: Electronic ISSN: 2379-190X, Print on Demand(PoD) ISSN: 1520-6149
指标
总下载量: 140
关键词
IEEE Keywords: 图像编码, 功耗需求, 仪器, 电压, 机器人感知系统, 吞吐量, 传感器, 图像重建, 现场可编程门阵列, 引擎
索引关键词: Depth Reconstruction, Instrumentation, Power Consumption, Processing Speed, Processing Unit, Depth Images, Frequency Scale, Edge Devices, Proximal Gradient, Parallel Units, Voltage Scaling, Iterative Optimization Process, Mean Square Error, Fixed Point, Light Detection And Ranging, Data Streams, Approximate Computation, Clock Rate, Phase-locked Loop, Power Scaling, Digital Circuits, Structural Similarity Index Measure, Single Precision, Pixel Block, ARM Processor, Lowest Voltage, Bit-width, Considerable Depth, Dynamic Power
作者关键词: Depth Reconstruction, Compressive Sensing, Convex Optimization, Field-Programmable Gate Array, Approximate Computing
未定义
第一节. 引言
Light detection and ranging (LiDAR) 是一种重要的感知技术用于自主系统 1,它通过发射和反射光子测量飞行时间 (ToF) 来重建周围环境的深度信息。发射和探测光子都会消耗功率,这对感知质量和安全性至关重要 2。然而,对于最新的高分辨率空间 LiDAR 深度重建,功耗限制了其在资源受限平台上的应用,尤其是电池供应和物理空间有限的边缘设备,例如使用 SLAM 的无人机场景映射 3、增强现实 4 和移动机器人 5。
Approximate computing (AC) 是一种有前途的范式,用于降低资源受限设备的功耗 6,它在信号处理 7 和机器学习 8 中有广泛应用。Reduced precision (RP),一种常见的 AC 技术,通过缩短数值表示的位宽来降低算术运算的精度,从而节省内存和逻辑单元的计算成本,以及能源消耗 9。Power scaling,另一种特定的 AC 技术,过度低压和超频数字电路,从而释放额外的处理性能并进一步降低功耗 10。
通过在 LiDAR 应用中采用 AC,它不仅提升了处理速度,还降低了靠近光子探测元件的数据处理单元的功耗,能源节约也使传感器受到更少的热噪声干扰 11。 然而,在之前的工作 12 13 中,功耗是基于仿真工具估算的,假设通过芯片上的并行处理单元实现实时性能。
在本工作中,提出了一种新的共近似压缩深度重建方法,结合使用迭代 ℓ1 求解器和近端梯度下降 (PGD) 的并行处理引擎,面向现场可编程门阵列 (FPGA)。
贡献总结如下:
一种具有不同数量并行处理单元的近似深度重建引擎
在 FPGA 上为深度重建引擎的功率缩放近似。
对共近似并行加速器在功率、性能和效率方面的主要研究。
在第二节中简要描述了压缩深度重建以及共近似方法。在第三节中,介绍了并行近似深度重建引擎的架构,并配合功率缩放仪表框架。共近似性能在第四节中给出,并评估了能效。第五节给出结论。
第二节. 背景
A. 压缩深度重建
为减轻高分辨率 LiDAR 原始直方图测量的负担,采用棋盘式压缩深度感知(CBCS)方案,将压缩感知应用于深度成像,并以并行方式独立处理深度图像的块14,其中深度通过求解两个 Lasso 问题来重建15:一个用于重建 depth-sum,{x_Q} \in {{\mathbb{R}}^{{n_B}}},其中 nB 为块 B 中像素的数量,另一个用于重建 photon count intensity,{x_I} \in {{\mathbb{R}}^{{n_B}}}。具体而言,给定 {y_Q} \in {{\mathbb{R}}^{{m_B}}}(或 {y_I} \in {{\mathbb{R}}^{{m_B}}})的深度总和(或光子计数强度)的压缩测量,xQ 和 xI 通过求解恢复
\begin{align*} & \mathop {\operatorname{minimize} }\limits_{{x_Q}} \frac{1}{2}\left\| {{y_Q} - \bar A{x_Q}} \right\|_2^2 + \lambda {\left\| {F{x_Q}} \right\|_1}\tag{1a} \\ & \mathop {\operatorname{minimize} }\limits_{{x_I}} \frac{1}{2}\left\| {{y_I} - \bar A{x_I}} \right\|_2^2 + \lambda {\left\| {F{x_I}} \right\|_1}\tag{1b}\end{align*}
其中 \bar A \in {\{ 0.1\} ^{{m_B} \times {n_B}}} 是已知的二进制矩阵,用于编码每个测量中每个块的活动像素 yQ 或 yI,而 F \in {{\mathbb{R}}^{{n_B} \times {n_B}}} 是稀疏化矩阵,例如可逆 DCT 矩阵。λ > 0 是正则化参数,∥ · ∥2 与 ∥ · ∥1 分别是 ℓ2 与 ℓ1 范数。恢复 xQ 与 xI 后,块 B 的最终深度图像通过逐点将 xQ 除以 xI 获得:{x_D} = {x_Q} \cdot /{x_I} \in {{\mathbb{R}}^{{n_B}}}。在本文中,采用 PGD 以在 (1) 16 中高效求解这两 Lasso 问题。
图 1:并行深度重建引擎与系统架构
B. 近似计算
1) 减少精度
减少精度(RP)是一种近似技术,它将二进制格式数值的位宽缩短,从而实现更低成本的硬件实现以及降低计算和数据存储的能耗 17。在本研究中,仅考虑使用定点(FXP)表示法来构建近似深度重建引擎,该表示法为整数和小数部分存储固定数量的位。定点数的值定义如下:
\begin{equation*}Int + Frac \times {2^{ - {\text{frac}\_\text{bits}}}}\tag{2}\end{equation*}
其中整数位 Int 表示整数值,分数位 Frac 表示小数值。通过缩短 Int 与 Frac 的长度,可以简化算术实现,但会导致计算不准确。
2) 功率缩放
现代数字信号处理电路的功耗是以下各项之和:
\begin{align*} & {P_{{\text{static}}}} = \mathop \sum \limits^C {I_{{\text{leakage}}}} \cdot V,\tag{3a} \\ & {P_{{\text{dynamic}}}} = \alpha \cdot C \cdot F \cdot {V^2},\tag{3b}\end{align*}
其中 α 是取决于工艺技术的常数,C 是资源利用的电容,F 是工作频率,V 是供电电压,Ileakage 是泄漏电流 18。通过降低 α, C, F 和 V 可以降低 FPGA 的总功耗,而通过提高 F 可提升吞吐量。功率缩放,使用欠压 V 19,以及超频 F 20,提升了能效,但也引入了数字电路随机位翻转错误的脆弱性。本工作提出了一种将功率缩放与低精度相结合的压缩深度重建框架,使 FPGA 上的并行处理引擎在降低功耗的同时为感知环境提供更好的性能。
第 III 节. 框架
A. 深度重建引擎
该并行近似深度重建引擎通过高级综合实现并部署在 Xilinx MPSoC 上,其中每个单元包含使用 PGD 求解器的双 Lasso 优化过程。
图 1 显示了在 Xilinx Ultrascale+ FPGA 上的处理系统 (PS) 与可编程逻辑 (PL) 的硬件架构,并在 PL 侧集成了并行深度重建引擎。
在 PS 侧,AXI 主端被配置为从 PS 向 PL 流式传输数据;AXI 从端被配置为将数据从 PL 返回。SD 外设 I/O 被配置用于 Linux 启动和数据保存,而 IIC I/O 则被配置为启用 PS PMBus 访问,以便在功率缩放近似中调整电压。
在 PL 侧,所有深度重建引擎都连接到 Direct memory access (DMA) 以形成并行处理引擎。DMA 被配置为写/读数据到/从 streaming FIFO 到深度重建单元。多个深度重建单元共享 from DMA 的 FIFP 数据路径,越多并行深度重建引擎,越多数据在 AXI bus 上一次传输。
Table I 显示了实现的并行深度重建引擎的资源利用率以及在 Xilinx Ultrascale+ ZCU106 上的系统架构,其中延迟是通过对单帧在 PL 上的数据流和执行时间进行分析得到的。
表 I:
如所示,近似加速器在资源利用率和处理性能方面都有优势。对于单个单位,Look‑Up‑Table (LUT) 的资源成本降低约 10%,DSP 超过 75%,Flip‑Flop (FF) 降低约 20%,多出一个 BRAM。处理时间加快了 3.5 倍以上,而近似引擎仅以每秒 22 帧的速度无法实现实时性能。通过使用更多单元,直到 172 倍,可以克服此问题,然而资源成本呈线性增加,导致功耗上升。通过与功率缩放技术共同近似,可以进一步提升能效。
B. 共同近似
首先,在额定电压和频率下,为了实现低精度实现,采用近似固定点算术,其中 22 位宽度被选为 10 位整数和 12 位小数。该选项的原则是基于深度重建的最小保真度损失。图 2 展示了使用单精度浮点和近似固定点重建的深度图像,以及参考深度图像。
图 2:低精度性能
均方误差(MSE)、峰值信噪比(PSNR)和结构相似性指数(SSIM)用于证明重建深度图像相对于参考的保真度。如图所示,近似深度图像在 PSNR 上损失不到 0.1 dB,在 SSIM 上损失不到 0.05,并且与单精度相比均方误差略高。虽然这里只展示了单个近似深度图像,但在使用不同数量单元的所有情况下都保持一致。
随后,功率缩放近似通过在软件应用中进行编程来实现,以调节 PL 的电压和频率。功率线由片上电源管理集成芯片(PMIC)通过 IIC 接口访问和控制。输出电压由 ARM 处理器使用 PMBus 协议命令进行修改。PL 的时钟通过与 Xilinx 设备驱动的相位锁定环(PLL)单元在 Linux 系统文件中接口进行调整。请注意,这并不会直接改变 PL 的实际频率,而是按比例调整 PL 的频率相对于默认值。例如,从系统文件读取的默认值是 1e6。将其调谐至 1.5e6 时,PS 到 PL 的输出时钟速率也会提升 1.5×。为简化起见,我们在后续语境中将此因素称为放大比率,表示频率缩放的比例。
开发了一款功率管理应用程序,用于通过 IIC 接口监控和缩放电压,并通过 PLL 单元实现时钟缩放,同时提供电压、电流和功率的实时可视化。 [^19]
第四节 评估
共近似方法在 Xilinx MPSoC 评估开发板 Zynq Ultrascale+ ZCU106 上进行评估。平行近似深度重建引擎使用 Xilinx Vivado 工具集 2019.1 版设计和部署,目标时钟频率为 250 MHz. 功率缩放应用在 ARM 处理器上运行,并通过 ssh x11 转发访问主机。电压缩放完成后,输入数据从 PS 流式传输到 PL,PL 的输出结果保存至 SD 卡,以供后续与参考深度图像数据比较。
1) 性能
首先,通过将 PL 电源线 V CCINT 从标称的 0.85 V 降至 0.65 V,评估了欠压。表 II 以保持标称放大比率为 1 的情况下,展示了电压缩放的功耗示例。正如所示,功耗随电压成比例下降,但随着单元数增长而上升。请注意,静态功耗和动态功耗可通过测量并减去在 FPGA 上未配置任何设计时的功耗来分离。我们打算在此展示总功耗,因为电压同时影响静态功耗和动态功耗。
*表 II:
接下来,通过将提升比例从 1 调整到 3,步长为 0.5,来评估超频。表 III 显示了频率缩放的功耗示例,保持最低电压 0.65 V。如图所示,功耗随提升比例成正比增加。由于频率仅影响动态功耗,整体功耗并不会线性增长。请注意,对于 64 个单元,由于设备停止运行,在提升比例 3 时没有测量数据。
*表 III:
在表 IV 中,也评估了超频的加速比。FP32 在提升比例为 1 时被视为基准。加速比通过考虑旧执行时间与新执行时间的比例,并采用第 III-A 节中描述的分析方法计算。正如所示,随着提升比例的增加,加速比几乎呈线性增长,在 64 个并行单元和 2.5 的提升比例下约为 421×。
图 3:能量效率(帧/秒/瓦)
*表 IV:
2) 准确性
考虑到共同近似,使用降低精度重建的深度图像会导致准确性损失,但显著提升了资源利用率和处理速度。通过欠压和超频的功率缩放进一步降低了功耗和加速比,但会引入新的随机位翻转错误,影响深度重建的准确性,尤其是在同时降低电压并提升频率时。
表 V 显示了在共同近似中优先选择较低电压的重建深度图像。括号中的数字分别对应电压和提升比例。
*表 V:
如图所示,单精度 FP32 在使用最低电压和最高提升比例的情况下,仍能保持与图 2b 相同的保真度。考虑到固定点精度下图 2c 的可比保真度,在采用最低电压和最高提升比例的 1 个单位时,略有降解。通过略微提高电压或降低频率,可以实现与图 2c 相似的保真度。随着单位数量的增加,保持相当深度图像保真度的趋势是降低欠压和超频。
3) 效率
通过测量不同电压、频率和单元数量下的性能与功耗,评估了协同近似并行深度重建引擎的效率,该评估考虑了并行引擎的吞吐量与每帧每瓦特功耗的关系。图 3 显示了所有可能因素组合的计算效率。使用单个单元、额定电压 0.85 V、提升比例 1 的单精度作为基准。正如所示,提升比例越高或电压越低,效率越高。此外,随着并行处理单元数量的增加,帧/Second/Watt 可达 3500,超过基准的 43×。
SECTION V. 结论
本文提出了使用协同近似、联合降精度与功率缩放的并行压缩深度重建方法。通过在运行时对 Xilinx Ultrascale+ FPGA 进行电压和频率缩放,调整功耗和处理速度以满足与基准单精度相比的深度图像保真度。结果显示,采用协同近似方法显著节省功耗并提升速度,且每瓦特吞吐量的效率提升远高于单精度实现。
脚注
. 应用可执行文件和简易用户指南现已公开于 https://github.com/wincle626/ZCU106PowerMonitor