LiDAR 点云硬件加速范围图像生成
摘要
随着对高效 3-D 数据处理需求的增加,尤其在自动驾驶应用中,快速且资源高效的方法来结构化和表示 LiDAR 数据,例如范围图像(RIs),变得至关重要。本文提出了一种硬件加速算法,用于从 3-D LiDAR 点云生成 RIs,专为具备现场可编程门阵列(FPGAs)的嵌入式平台而定制。该方案实现了实时点云处理,性能比点云库桌面实现提升高达 605%,在 FPGA 上部署时提升高达 470%,同时保持最小的硬件资源消耗。
作者
Fábio Oliveira ALGORITMI 研究中心/LASI,Minho 大学,Guimarães,葡萄牙 ORCID: 0009-0003-6719-935X
Vitor Ferreira ALGORITMI 研究中心/LASI,Minho 大学,Guimarães,葡萄牙
Sandro Pinto ALGORITMI 研究中心/LASI,Minho 大学,Guimarães,葡萄牙 ORCID: 0000-0003-4580-7484
Tiago Gomes ALGORITMI 研究中心/LASI,Minho 大学,Guimarães,葡萄牙 ORCID: 0000-0002-4071-9015
出版信息
期刊: IEEE Sensors Letters 年份: 2025 卷: 9 期: 8 页码: 1-4 DOI: 10.1109/LSENS.2025.3584227 文章编号: 11058394 ISSN: Electronic ISSN: 2475-1472
指标
总下载量: 49
关键词
IEEE 关键词: 点云压缩, 三维显示, 激光雷达, 量化(信号), 硬件, 可编程门阵列, 随机存取存储器, 内存管理, 实时系统, 嵌入式系统
索引词: Point Cloud, Light Detection And Ranging, Hardware Resources, Point Cloud Processing, Uniform Distribution, 3D Space, Multi-core, Lookup Table, Quantization Error, Elevation Angle, Digital Signal Processing, Hardware Architecture, Embedded System, Robot Operating System, Desktop Version
作者关键词: Sensor applications, field-programmable gate array (FPGA), light detection and ranging (LiDAR) sensors, range image (RI)
未定义
第一节:引言
随着技术的不断进步,对高效三维表示的需求在各个行业中变得越来越重要,尤其是在汽车行业。自动驾驶应用依赖于对周围环境的准确三维表示,使光学测距(LiDAR)成为车辆导航和环境感知的关键传感器。尽管LiDAR系统在数据分割和目标检测等任务中发挥着关键作用,但高效管理和处理点云(PC)数据仍然面临重大挑战 1。解决这一挑战的常用方法之一是将三维PC数据转换为结构化二维格式,例如距离图(RI) 2。此转换实现了更高效的数据表示、处理和存储,同时在不牺牲环境局部几何细节的前提下降低了计算开销。
有多种方法可以将三维PC数据投影到距离图(RI)中,包括映射每个LiDAR激光通道 3、4、5 或使用俯仰角 6、7、8 将点分配到对应的图像行。后一种方法通过避免LiDAR自运动引起的帧内失真,降低了量化误差 9。然而,从高分辨率三维PC数据生成距离图需要大量计算资源,包括强大的处理系统和大容量内存。这些要求阻碍了该技术在实时嵌入式汽车系统中的应用,而这些系统往往受到硬件资源有限的限制 10、11。
此信函介绍了 HARIG,这是一种硬件加速解决方案,用于从 3‑D LiDAR 点云生成 RI,并利用嵌入式系统的可编程门阵列(FPGA)技术的加速能力。据作者所知,这是首个针对汽车 LiDAR 传感器专门定制的完整流水线硬件加速 RI 生成器的工作。该方法与嵌入式 FPGA 平台紧密集成,并针对受限环境中的实时部署进行了优化。与 Point Cloud Library(PCL)12(用于处理二维/三维点云数据的开源算法库)相比,HARIG 在桌面平台生成 RI 的性能提升近 605%,而在使用 Velodyne VLS‑128 传感器的硬件点云生成相同 RI 时,提升可达 470%。
第二节. RI 技术
RI 是 3‑D 场景的二维投影,其中每个像素值对应于传感器原点到 3‑D 空间中某点的距离(或射程)。与传统图像编码颜色或强度不同,RI 编码的是每个像素位置到物体的距离。此转换简化了 LiDAR 传感器产生的复杂且非结构化的数据,使处理更为容易,同时保留了 3‑D 空间中点之间的空间关系。该方法可用于不同的 LiDAR 应用,例如地面分割和点云数据压缩 13, 14。
LiDAR 传感器通常提供原始球面数据,其中包括方位角 \theta(水平角),仰角 \phi(垂直角),距离 \rho(射程),以及每个检测点的强度(反射强度)。这些数据随后用于创建 RI,其中像素坐标(uand v)使用公式(1)和(2)计算。列索引 u 是由方位角 \theta 和 RI 宽度 w 推导出来的。为生成更一致的几何结构、减少透视失真并创建均匀的点分布,RI 技术常常对 w 参数应用一个偏移,使传感器原点在 RI 中居中。这也通过避免负值简化了进一步计算。行索引 v 是从仰角 \phi 计算得出的,其中 \phi _{\text{up}} 和 \phi _{\text{down}} 表示垂直视场范围限制,h 是 RI 的高度。
\begin{align*} \text{u} &= \Biggl \lfloor \frac{1}{2} * \left(1 + \frac{\theta }{\pi }\right) * (w - 1) \Biggr \rceil \tag{1}\\ \text{v} &= \Biggl \lfloor \frac{\phi _{\text{up}} - \phi }{\phi _{\text{up}} - \phi _{\text{down}}} * (h - 1) \Biggr \rceil. \tag{2} \end{align*}
第三节. HARIG 算法
图 1 说明了来自 HDL-64 传感器的 3-D 点云帧 [见图 1(a)],以及使用 PCL 实现的对应 RI ([见图 1(b)]),和 HARIG 算法 [见图 1(c)]。
图 1. HARIG 与 PCL RI 的对比。 (a) 3-D 点云来自 Velodyne HDL-64。 (b) 3-D 点云通过 PCL 转换为 RI。 (c) 3-D 点云通过 HARIG 方法转换为 RI。
A. 设计考量
HARIG 被设计用于嵌入式平台,并支持硬件加速,在此基础上尽量减少执行时间和内存资源使用。与 PCL 提供的 RI 实现不同,HARIG 静态分配 RI 的大小(宽度 × 高度),该大小必须根据所使用的具体传感器来选择。这种方式可在 RI 创建过程中实现高效的内存利用,提升处理速度,消除了运行时需要动态内存管理的需求。然而,静态尺寸可能导致点被排除在 RI 之外,因此在 RI 尺寸与可准确表示的点数量之间找到最佳平衡至关重要。为评估不同 RI 尺寸配置,HARIG 在 SemanticKITTI 数据集的 Seq.00(采集自 Velodyne HDL-64 传感器)上进行了测试。对于该传感器,RI 的宽度至少需要 4500 像素,才能捕获水平平面上的每个点。然而,评估了不同配置,并将结果总结在表 1 中。
表 1
HARIG 为了实现高效处理和内存分配,会分配最近的 2 的幂宽度。因此,对于 4500 像素,最近的宽度为 4096。选择 RI 高度时,最接近传感器通道数(用于捕获点云的单个激光束数量)的值为 64。然而,HDL-64 传感器是非线性的,即其激光脉冲以不同的垂直角度发射,而不是均匀分布,这会导致点重叠并在 RI 中产生空隙。为了解决这个问题,所选的 RI 高度为 128,这既减少了量化误差,又降低了点损失。为了实现快速的 RI 生成,同时保持其大小(以 MB 为单位)较低,HARIG 在该传感器上使用 2048 像素宽度。然而,这一宽度尺寸导致当从 RI 重建点云时,有约 10.33% 的点无法恢复。相比之下,使用 PCL 实现时,重建的点云包含比原始点云更多的点(53.86%),这主要是由于点插值导致 RI 尺寸增大。根据这项初步研究,我们得出结论:在使用 HARIG 时,Velodyne HDL-64 的最优 RI 配置为 2048 × 128,既在内存大小与量化误差之间取得良好平衡,也将点损失控制在约 10.33%。
图 2 显示了 2048 × 128 和 4096 × 64 配置下,残留在 RI 之外的点的分布。虽然两种配置的点损失相似,但在 2048 × 128 配置下(见图 2(b))点损失主要出现在 PC 更密集的区域。相比之下,4096 × 64 配置(见图 2(c))可能因点重叠导致通道部分完全丢失,这可以通过连续丢失点的水平线条看到。虽然 PCL 实现获得了更低的量化误差,但在某些配置中,插值过程会为重建的 PC 添加大量点。这导致资源利用率增加,处理时间变慢,后续将进一步讨论。
图 2. 从 RI 重建的不同 PC 帧的点损失的可视化表示。(a) 原始 PC。(b) 2048×128 的点损失。(c) 4096 ×64 的点损失。
B. 实现
HARIG 在 ALFA 框架内被开发并测试为软件与硬件加速库。ALFA 是一个基于机器人操作系统(ROS)的工具,它抽象了底层硬件并与 LiDAR 传感器接口,实现了跨不同平台和多种 LiDAR 数据集的无缝集成。在此设置中,数据集坐标以 ROS 基础格式提供,因此需要额外步骤将 PC 从笛卡尔坐标转换为球坐标。
1) 硬件架构: HARIC 加速器的硬件架构如图 3 所示。传感器数据由 ALFA-Node 写入 DDR4 内存,而 ALFA-Unit 管理与 HARIC 硬件扩展的交互,控制数据从 DDR4 内存的传输方式。HARIC 加速器首先在坐标系统转换器模块中将 PC 帧从球坐标转换为笛卡尔坐标。随后计算 RI 坐标,并将范围值存储在块 RAM (BRAM) 中,内存地址由 RI 坐标计算得出。RI 完全生成后,ALFA-Unit 将其传回 DDR4 内存,使其可被 ALFA-Node 访问。整个过程完全流水化,在新数据持续从 ALFA-Node 流入的同时,实现快速 RI 生成。
图 3. HARIG 硬件架构.
第四节:评估
HARIG 算法在三种不同环境中进行了评估:台式机、仅软件实现的嵌入式系统以及带硬件加速的嵌入式系统。该框架在 Ubuntu 22.04.3 LTS Linux 发行版上运行,使用 PCL 1.12.1 版本和 ROS2 Humble 发行版。台式机配备了 Intel Core i5-8279U 处理器,拥有 4 个 CPU 核心,主频 2.4 GHz,内存 8 GB。嵌入式设置包含 ZCU104 评估套件,由 Zynq UltraScale+ MPSoC 提供动力。该 MPSoC 包含一个四核 Arm Cortex-A53 应用处理器、一个双核 Cortex-R5 实时处理器以及 FPGA 技术,具有 504K 逻辑单元和 1728 个数字信号处理器(DSP)切片,支持 2 GB DDR4 内存。
评估使用在不同环境中收集的数据集,涵盖不同的 Velodyne LiDAR 传感器,包括 VLS-16、HDL-32、HDL-64 和 VLP-128。主要目标是评估算法在不同 RI 大小下的性能,并针对每个传感器进行优化。对于 VLP-16 和 HDL-32 传感器(激光通道均匀分布),分别选择 RI 高度为 16 像素和 32 像素。对于 HDL-64 和 VLP-128 传感器,分别使用 RI 高度为 128 像素和 256 像素。量化误差使用(3)计算,代表原始点云与重构点云之间的平均差异,其中 m 为重构点云中的点数,P_{i} 为原始点,P_{i}^` 为重构点。
\begin{equation*} \text{QE} = \frac{1}{\text{m}}\cdot \sum _{i} \Vert \text{P}_{\text{i}} - \text{P}_{\text{i}}^{`} \Vert. \tag{3} \end{equation*}
A. 量化误差与点损失
表 2 总结了量化误差和点损失评估。VLP-16 在软件中实现 1.7 厘米的量化误差,点损失为 1.23%,在硬件中实现 1.6 厘米,点损失为 1.8%。HDL-32 在软件中显示 1.9 厘米的量化误差,点损失为 0.1%,在硬件中实现 1.7 厘米,点损失为 0.2%。HDL-64 在软件中显示 1.4 厘米的量化误差,点损失为 10.33%,在硬件中实现 1.8 厘米,点损失为 10.8%。VLS-128,具有最高分辨率,在软件中表现出 3.4 厘米的量化误差和 28.9% 的点损失,在硬件中表现出 3.8 厘米的量化误差和 31.2% 的点损失。
表 2
B. 执行性能
表 3 对比 HARIG 与 PCL RI 实现在 VLP-16、HDL-32、HDL-64 和 VLS-128 传感器上的执行时间(以毫秒计),包括桌面、嵌入式软件和硬件加速器版本。测量考虑了诸如加载、处理、发布以及软件与 FPGA 之间的数据传输等开销。
表 3
PCL 桌面版本分别需要 27.52 毫秒、39.23 毫秒、123.1 毫秒和 246 毫秒,而 HARIG 将这些时间缩短至 7.37 毫秒、8.96 毫秒、23.56 毫秒和 37.60 毫秒。在嵌入式系统上,PCL 需要 51.6 毫秒、79.2 毫秒、243.1 毫秒和 416.9 毫秒,而 HARIG 在相同数据下处理时间为 13.84 毫秒、23.01 毫秒、75.76 毫秒和 120.02 毫秒,分别显示出 272.8%、244.2%、220.9% 和 247.3% 的性能提升。在硬件中,HARIG 将处理时间进一步降低至 8.83 毫秒、18.12 毫秒、40.09 毫秒和 73.13 毫秒。
C. 硬件资源
硬件实现的性能提升是以 FPGA 资源成本为代价的。表 4 总结了在评估中使用的 ALFA 框架下部署 HARIG 算法所需的硬件组件。这包括触发器 (FFs)、查找表 (LUTs)、LUT 随机存取存储器 (LUTRAMs)、BRAM 和 DSP 块。最被大量使用的资源是 BRAM,其占用率超过 76%,主要由于存储 PC 框架和生成 RI 所需的内存。其他组件,如 FFs、LUTs 和 LUTRAMs 的利用率保持在 4% 以下。
表 4
第五节. 结论
本信件介绍了 HARIG,这是一种软件驱动并硬件加速的 RI 生成器,能够显著提升性能,同时最小化硬件资源使用。鉴于大多数 LiDAR 传感器的帧率为 10 Hz,在不到 100 毫秒内生成 RI 对于避免帧丢失至关重要,尤其是高分辨率传感器,如 VLS-128。与 PCL RI 实现相比,HARIG 的硬件加速版本能够在不到 75 毫秒内为 VLS-128 生成 RI,确保在处理过程中不发生帧丢失。未来工作将聚焦于探索新技术以进一步降低 HARIG 的点丢失率,并研究数据压缩方法以减小 RI 的尺寸。该设计可作为未来机器人与自动驾驶系统中实时 LiDAR 应用的基础。