Skip to main content
QUICK REVIEW

[论文解读] FPGA-based ORB Feature Extraction for Real-Time Visual SLAM

Weikang Fang, Yanjun Zhang|arXiv (Cornell University)|Oct 18, 2017
Robotics and Sensor-Based Localization参考文献 5被引用 3
一句话总结

本文提出了一种基于FPGA的硬件加速器,用于实时视觉SLAM中的ORB特征提取,通过将方向计算单元的字长优化为8位并采用流水线处理,实现了67 FPS的性能,相比Intel Core i5能效降低83%,相比ARM Krait延迟降低51%,显著提升了移动设备和物联网设备的性能与能效。

ABSTRACT

Simultaneous Localization And Mapping (SLAM) is the problem of constructing or updating a map of an unknown environment while simultaneously keeping track of an agent's location within it. How to enable SLAM robustly and durably on mobile, or even IoT grade devices, is the main challenge faced by the industry today. The main problems we need to address are: 1.) how to accelerate the SLAM pipeline to meet real-time requirements; and 2.) how to reduce SLAM energy consumption to extend battery life. After delving into the problem, we found out that feature extraction is indeed the bottleneck of performance and energy consumption. Hence, in this paper, we design, implement, and evaluate a hardware ORB feature extractor and prove that our design is a great balance between performance and energy consumption compared with ARM Krait and Intel Core i5.

研究动机与目标

  • 解决移动和物联网设备上视觉SLAM的高计算与高能耗挑战。
  • 识别特征提取是SLAM流水线中的主要瓶颈,占CPU资源和能耗的50%以上。
  • 设计ORB特征提取的硬件加速器,以降低延迟和能耗。
  • 通过将字长从21位减少到8位,优化方向计算单元,同时保持可接受的精度。
  • 在性能、吞吐量和能效方面,将基于FPGA的ORB加速器与ARM Krait和Intel Core i5进行对比评估。

提出的方法

  • 使用流水线架构和专用模块(数据访问、控制、特征提取)在FPGA上实现ORB特征提取器。
  • 通过两步法将21位定点值截断为8位字长,优化方向计算单元:去除重叠的前导零,并截断至N位。
  • 应用字长缩减以最小化LUT和寄存器使用量——LUT减少65%,寄存器减少82%。
  • 采用定向BRIEF描述子计算方法,通过高斯分布选择旋转不变的点对,并利用计算出的方向进行旋转。
  • 将加速器集成到基于AXI的FPGA系统架构中,使用DMA实现摄像头与处理单元之间的高效数据传输。
  • 采用指标量化字长截断带来的误差:$ \text{Error} = \sqrt{(x' - x'_N)^2 + (y' - y'_N)^2} $,确保对特征点坐标影响最小。

实验结果

研究问题

  • RQ1与通用CPU和移动处理器实现相比,硬件加速的ORB特征提取器是否能降低实时视觉SLAM中的延迟和能耗?
  • RQ2将方向计算单元的字长从21位减少到8位,对精度和硬件资源使用有何影响?
  • RQ3在ORB特征提取的方向计算单元中,精度与资源效率之间的权衡如何?
  • RQ4FPGA硬件加速在多大程度上能提升视觉SLAM系统的吞吐量和能效?
  • RQ5尽管角度计算精度降低,所提出的ORB加速器是否仍能保持足够的精度以实现鲁棒的SLAM性能?

主要发现

  • 基于FPGA的ORB特征提取器在Stratix V FPGA上实现67 FPS的吞吐量,显著优于ARM Krait(33 FPS)和Intel Core i5(40 FPS)。
  • 每帧延迟降低至14.8ms,相比ARM Krait提升51%,相比Intel Core i5提升41%。
  • 能耗降低至68 mJ/帧,相比ARM Krait低9%,相比Intel Core i5低83%。
  • 将字长从21位优化至8位,使LUT使用量减少65%,寄存器使用量减少82%,误差分析表明对精度影响极小。
  • 8位字长截断引入的最大误差可接受,仅在最远的补丁点(±15, ±15)附近呈指数增长,且始终处于可容忍范围内。
  • 硬件设计消耗25,648个ALUT、21,791个寄存器、1.18 MB BRAM和8个DSP模块,展示了面向实时SLAM加速的高效资源利用。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。