多源传感器融合与ORB特征提取加速的一体化智能导航平台设计

郭迟 ,  蔡子腾

武汉大学学报(理学版) ›› 2026, Vol. 72 ›› Issue (1) : 113 -124.

PDF (3440KB)
武汉大学学报(理学版) ›› 2026, Vol. 72 ›› Issue (1) : 113 -124. DOI: 10.14188/j.1671-8836.2024.0118
智能计算与机器学习

多源传感器融合与ORB特征提取加速的一体化智能导航平台设计

作者信息 +

Design of an Integrated Intelligent Navigation Platform with Multi-Source Sensor Fusion and ORB Feature Extraction Acceleration

Author information +
文章历史 +
PDF (3522K)

摘要

导航系统依赖传感器感知周围环境。当前,基于单一传感器的导航系统已难以满足各类复杂场景下的导航需求,导航系统正朝传感器多源化方向发展。在多源传感器数据融合过程中,图像数据的处理最消耗时间和资源,对系统性能影响最大。为解决这些问题,设计智能导航平台的硬件控制终端,利用基于全球卫星导航系统(Global Navigation Satellite System, GNSS)秒脉冲(Pulse Per Second, PPS)的时间同步,实现多源传感器数据融合;设计用于同步定位与地图构建(Simultaneous Localization And Mapping, SLAM)前端ORB(Oriented FAST and Rotated BRIEF)特征提取加速器,加速图像处理过程,提高SLAM系统的实时性。实验结果表明,硬件平台不仅支持GNSS、惯性测量单元(Inertial Measurement Unit, IMU)、视觉和激光雷达的数据采集和融合,还能加速图像ORB特征点提取。在执行图像ORB特征提取任务时,与CPU和GPU平台上的实现相比,该加速器的帧率分别达到了它们的2.7倍和1.8倍,而功耗仅为它们的5.1%和2.9%。

Abstract

The navigation system relies on sensors to perceive the surroundings. Currently, navigation systems based on a single sensor are struggling to meet the demands of complex scenarios, leading to a shift towards multi-source sensor integration. In the process of fusing data from multiple sensors, image data processing is the most time and resource-intensive, imposing the greatest impacting on system performance. To address the issues of single-sensor navigation systems and the time and resource consumption of image processing, a hardware control terminal for an intelligent navigation platform is designed, utilizing Global Navigation Satellite System (GNSS) Pulse Per Second (PPS) for time synchronization to achieve data fusion from multiple sensors. Additionally, an ORB (Oriented FAST and Rotated BRIEF) feature extraction accelerator is designed for the frontend of Simultaneous Localization And Mapping (SLAM) to accelerate the image processing process and improve the real-time performance of the SLAM system. Experimental results show that the hardware platform not only supports data acquisition and fusion from GNSS, Inertial Measurement Units (IMU), vision, and LiDAR but also accelerates the extraction of ORB feature points. When performing ORB feature extraction tasks, the accelerator achieves frame rates 2.7 times that of the CPU implementation and 1.8 times that of the GPU implementation, while the power consumption is only 5.1% and 2.9% of theirs respectively.

Graphical abstract

关键词

智能导航 / 多源传感器 / 时间同步 / ORB特征提取 / 硬件加速器

Key words

intelligent navigation / multi-source sensor / time synchronization / ORB(Oriented FAST and Rotated BRIEF) feature extraction / hardware accelerator

引用本文

引用格式 ▾
郭迟,蔡子腾. 多源传感器融合与ORB特征提取加速的一体化智能导航平台设计[J]. 武汉大学学报(理学版), 2026, 72(1): 113-124 DOI:10.14188/j.1671-8836.2024.0118

登录浏览全文

4963

注册一个新账户 忘记密码

0  引 言

近年来,随着无人机、移动机器人和自动驾驶汽车的广泛应用,智能导航技术引起了人们的高度关注。智能导航系统不仅具备高精度定位和实时导航能力,还能够在无图、陌生以及卫星拒止环境中实现自主导航,执行包括目标寻找、对话导航、避障和环境建图在内的多种任务[1-3]。然而,由于嵌入式环境中功耗和存储等资源的限制,智能导航系统往往无法充分发挥性能,在实际应用中仍然面临诸多挑战。如何实现高实时性、低功耗、低成本的智能导航,已成为当前自主导航领域的研究热点。

现有的导航系统主要依赖全球导航卫星系统(Global Navigation Satellite System, GNSS)作为主要定位方式。为了实现更高的定位精度并满足各种复杂场景中的导航需求,这些系统通常还会配备惯性测量单元(Inertial Measurement Unit, IMU)、视觉相机和雷达等传感器,从多维度、多视角感知环境。文献[4]基于图优化算法将GNSS精密单点定位(Precise Point Positioning, PPP)和视觉相机、IMU、激光雷达4种传感器在原始观测值层面组合,显著提升了位姿估计精度、连续性和可靠性;文献[5]基于矩阵李群滤波算法实现GNSS和IMU松组合,有效提高了低精度IMU场景中的定位精度;文献[6]提出基于抗差因子图的多源信息融合定位方法,进一步降低了定位解算的平面位置误差,提升了系统的鲁棒性。以上分析表明,基于多源传感器的定位导航系统拥有更强大的环境感知能力,在复杂环境中的定位精度、可靠性都有显著提升。

多源传感器数据只在同一时间节点融合,因此,获取同一时刻的数据至关重要[7]。然而,不同传感器的时钟源各异,且各自在其时间域内运行,再加上时钟漂移的影响,即使各传感器的时间戳在初始时刻对齐,运行一段时间后,对齐的结果也会偏移。此外,不同传感器的采样频率不同,使得同步采集数据变得更加困难。因此,多源传感器系统的搭建往往离不开时间同步机制[8]。目前,多源传感器时间同步技术的主要有精确时间协议(Precision Time Protocol, PTP)、网络时间协议(Network Time Protocol, NTP)和GNSS秒脉冲(Pulse Per Second, PPS)时间同步[9]。其中,NTP是在软件层面实现同步,该技术受网络链路影响,同步精度只能达到微秒级,而PTP和GNSS秒脉冲则在硬件层面进行时间同步,两者精度均可达到纳秒级[10]

视觉同步定位与地图构建(Visual Simultaneous Localization And Mapping, VSLAM)技术是视觉导航系统的主要组成部分之一,用于构建未知环境的地图,并利用视觉传感器在该地图中进行定位[11]。在VSLAM的解决方案中,基于特征点的SLAM对大运动和光照变化不敏感,算法占用资源也较少,相较于光流、深度学习等其他方法具有明显优势[12]。目前广泛应用的SLAM算法——ORB(Oriented FAST and Rotated BRIEF)-SLAM[1314]利用了oriented FAST特征和rotated BRIEF(下文简写成rBRIEF)描述子。oriented FAST是在FAST特征点的基础上进行改进,它使用图像金字塔对原始图像进行处理,并用灰度质心法计算特征点的方向。BRIEF描述子是一串描述特征点的二进制向量,反映特征点邻域内像素对间的关系。rBRIEF在BRIEF基础上增加了邻域窗口的旋转模块,使其具备旋转不变性。文献[15]基于FPGA设计了图像FAST角点检测、BRIEF描述子生成和匹配的加速器架构,该架构在识别高分辨率卫星图像时的匹配率接近桌面端,但处理速度显著提升;文献[16]提出用于SLAM后端优化的列文伯格-马夸尔特(Levenberg-Marquardt, LM)算法加速器,可高效地在功耗受限的嵌入式设备上完成IMU观测信息的优化求解。因此,智能导航系统可以充分利用FPGA芯片,将计算密集的模块部署到FPGA中,提高智能导航系统的处理效率。

当前,基于单一传感器的导航系统已难以满足各类复杂场景下的导航需求,导航系统正朝传感器多源化方向发展。在多源传感器数据融合过程中,图像数据的处理最消耗时间和资源,对系统性能影响最大。为解决这些问题,本文构建了多源传感器融合与ORB特征提取加速的一体化智能导航平台,主要有以下两方面的贡献:

1) 设计了智能导航平台的硬件控制终端,采用基于GNSS秒脉冲的时间同步,将GNSS时钟作为多源传感器统一时钟源,由现场可编程逻辑门阵列(Field Programmable Gate Array, FPGA)产生不同频率的触发信号,将传感器的时间校准到GPS时刻,实现GNSS、IMU、相机和雷达的多源传感器数据融合;

2) 针对SLAM前端中ORB特征点提取模块存在高耗时、高资源消耗的问题[17],设计了基于FPGA的ORB特征提取加速器,显著提升了图像处理帧率并降低了功耗。

1  ORB特征提取算法概述

经典的ORB特征提取流程如图1所示,它主要包括三个部分:图像金字塔、FAST角点检测与非极大值抑制(Non-Maximum Suppression, NMS)、rBRIFE描述子生成。

1.1 图像金字塔

图像金字塔主要用来解决图像尺度不变问题[18]。使用双线性插值以2∶1和1.25∶1两种比例因子进行下采样,后者近似于OpenCV库中的默认值1.2。如图2所示,每一级金字塔由上一级的图像按2∶1下采样得到,级间的图像则由上一层图像按1.25∶1下采样得到[19]图3展示了1.25∶1下采样的具体操作,每5个像素点会被下采样到4个像素点,下采样的第1个像素值等于原始像素值,而剩下的3个可由原始像素经过移位和加法运算得到,(1)式为1.25∶1下采样的实现方法。

Id1=Is1Id2=((Is2<<1)+Is2+Is3)>>2Id3=(Is3+Is4)>>1Id4=(Is4+(Is5<<1)+Is5)>>2

其中,Is1~Is5Id1~Id4分别为原图像的像素值和下采样图像的像素值,“<<”和“>>”分别表示左移和右移运算。下采样过程分为行下采样和列下采样,行下采样的结果作为列下采样的输入,得到最终的下采样图像。

1.2 FAST角点检测和NMS

FAST角点检测器由Rosten等[20]提出,该算法根据像素点的结构特性判断它们是否是图像特征。如图4所示,检测器基于以候选点P为中心的7×7像素邻域,对其周围半径为3的布雷森汉姆(Bresenham)圆上的像素执行暗点和亮点测试。以暗点为例,如果圆上存在9个连续像素值比中心像素值小,且它们的差值大于阈值,则该中心点通过测试。

在检测角点的同时,还会计算出每个角点的得分score,将其作为NMS的依据,其计算方法如(2)式所示。

score=(Ix-Ip-Ith)

式中,Ix表示圆上各个像素的值,Ip表示中心点像素值,Ith表示阈值。通常情况下,FAST角点在图像中会有聚集的趋势,这会降低SLAM系统的鲁棒性[21]。因此,在角点检测之后往往会进行NMS,过滤掉分数较低的角点。

1.3 rBRIEF算法

描述子的计算基于图像块,图像块以FAST角点为中心,大小为31×31。rBRIEF算法通过比较图像块中成对的像素值得到一串256 bit的二进制向量,其计算方法为:

τ(x,y)=0,I(x1,y1)<I(x2,y2)1, I(x1,y1)I(x2,y2)
f(x,y)=1i2562i-1τ(x,y)

其中,I(x,y)为坐标(x,y)处的像素值;τ(x,y)为两点像素值比较的结果;f(x,y)为256 bit的描述子。rBRIEF描述子对图像旋转敏感[22]。为了实现旋转不变性,图像块中的像素需要旋转一定的角度,该角度由图像块的质心位置决定,其计算如下:

mpq=x,y=-rrxpyqI(x,y)
C=(m10m00,m01m00)
θ=arctan(m01m10)

其中,pq取值0或1;m10m01分别为图像水平和竖直方向上的矩;m00为图像所有像素灰度值的总和;r为图像块尺寸的一半;C为图像块质心;θ为角点P的方向角,是射线PC与图像水平方向的夹角。图像块中的采样点需要根据方向角θ进行旋转:

xr=xcosθ-ysinθyr=xsinθ+ycosθ

(x,y)(xr,yr)分别为旋转前和旋转后的采样点。对于一个特定的角点与图像块,在后续的处理中,其方向角是保持不变的,方向角的正余弦也是不变的,使用移位寄存器和加法器计算方向角正余弦的倍数(1~15),再利用采样点坐标作为索引,就可以得到坐标与方向角正余弦相乘的结果。

2  硬件部署

本节介绍以FPGA为核心处理模块的智能导航硬件框架,主要包括多源传感器时间同步模块和视觉导航中ORB特征提取加速器设计模块。时间同步是智能导航平台实现的基础功能,它确保了来自多个传感器的数据能够融合在一起。这一功能对于提升平台的整体性能至关重要,因为它消除了时间延迟带来的数据不一致问题,使得多源传感器数据能够被有效整合和准确分析,从而增强了平台对环境的理解和响应能力。同时,特征提取模块通过加速视觉导航过程,进一步提升了平台的整体性能。特征提取是处理视觉传感器数据的关键步骤,它通过从图像中提取特征点和描述子,为后续的目标识别、环境建模和导航决策提供了基础信息。加速器的引入显著提高了特征提取的效率和速度,减少了处理延迟,从而增强了平台的实时处理能力。综上所述,时间同步模块确保了数据的有效融合,而特征提取加速器设计模块则提升了处理速度和性能,这两个模块协同工作,优化了智能导航平台的整体功能,实现了更高效、更精确的导航和决策能力。平台的硬件架构如图5所示。

2.1 多源传感器时间同步

多源传感器时间同步技术旨在将所有传感器整合到同一个时间系统中。它是实现多源传感器数据融合的先决条件,确保各传感器数据的时序一致性[23]。同步模块根据时间戳信息,将各传感器的数据在同一时间基准下进行有效整合,避免因时间差异导致的数据失配问题。在多源传感器时间同步的配置中,GNSS接收机是必不可少的设备之一。GNSS导航卫星内置高精度原子钟,接收机通过解算导航卫星信号得到PPS。FPGA检测PPS的上升沿,并将各传感器触发脉冲整秒时刻的上升沿与之对齐,实现传感器的时间同步。

图6所示,当检测到PPS上升沿时,内置计数器会清零并开始计数,产生不同频率的触发脉冲。FPGA输出触发脉冲时会一并输出计数器的计数值,表示触发脉冲的秒内时标。FPGA的灵活性和并行处理能力使得触发脉冲的频率可被任意设置,同时保证脉冲之间的同步。触发脉冲来源于时钟信号的分频,晶振输出的时钟质量会影响触发脉冲的时标精度。因此,在硬件设计上使用了恒温晶振,并利用锁相环(Phase Locked Loop, PLL)产生高稳定度、高纯度的输入时钟,减小因时钟抖动造成的精度损失。

2.2 ORB特征提取加速器

文献[24]和[25]的研究显示,ORB-SLAM中超过60%的时间被用于提取ORB特征点,其中,rBRIEF模块在硬件资源需求上至少是FAST模块的2倍,但其处理速度却显著低于FAST模块。本文设计了图像特征提取加速器用于ORB-SLAM前端,下面介绍该加速器的主要功能单元以及硬件层面上的优化。

1) 滑动窗口结构

图像传感器以每时钟周期一个像素的速率向加速器输入图像像素,使用一组行缓存器对输入像素进行片上缓存[26]。移位寄存器可以很方便地实现像素缓存,每个数据位对应一个寄存器,但在FPGA中,每个逻辑单元都只有一个寄存器,因此这种方式会占用大量的逻辑资源。本文采用基于FPGA片内RAM的行缓存,通过控制数据写入和读出的地址实现图像像素的缓存与读取。行缓存结构如图7所示,每个行缓存的长度(R)等于图像的水平分辨率,输入像素被延迟R个时钟周期,行缓存末端的像素会被移位到一组寄存器中,形成一个像素列。这些像素列不断更新像素窗口中的像素值,使像素窗口沿着图像行的方向滑动,直到覆盖整个图像。

滑动窗口模块最初需要填充像素数据,对于每个图像金字塔层,滑动窗口只需进行一次填充,该过程约占整个图像窗口处理时间的9%。在所有缓存都被填满后,输出图像列也刚好对齐,此时缓存内部的数据流入流出速率达到平衡,形成流水线结构。

2) FAST角点检测

每个图像金字塔层会生成7×7的滑动窗口,用于FAST角点检测和高斯平滑。文献[2728]中提出了基于字符串的FAST角点检测(String-based FAST-9 Detection),文献[22]受其启发,同样使用了该结构。不过,他们都是使用纯组合逻辑进行电路设计,虽然实现起来较为简单,但这种结构的电路容易受到毛刺的影响,也不利于时序收敛。本文将该结构优化为流水线处理形式,使其匹配滑动窗口每周期输出一个处理窗口的速率,硬件结构如图8所示。

对于一个待检测的像素点,将圆上的16个像值Ixx=1,2,…,16)与中心像素值Ip并行比较。以“暗点”为例,如果Ix的值小于Ip-Ith,则比较器输出“1”,否则输出“0”。这16个比较器的结果组成了16比特的字符串——“暗”字符串,表示16个像素的状态。将“暗”字符串通过与运算检测其中9个比特,即检索字符串中是否有9个连续的“1”,若结果为“1”,则表示待测像素点是一个“暗”角点。

另一方面,待测像素会与其圆周上16个像素并行比较,通过计算这些像素之间的差值来判断该像素是否为角点。如果待测像素被判定为角点,这些差值将被输入到加法树中进行累加,以计算该角点的得分。得分高的角点通常具有更强的特征表达能力,因此在后续角点筛选过程中被优先保留。

NMS单元根据角点的分数筛选,过滤分数较低的角点。具体来说,当检测到一个新的角点时,其坐标和得分会被暂存到缓存器中。缓存器的作用是保存一段时间内检测到的角点坐标和得分信息,以便在后续的处理步骤中进行比对和筛选。如图9所示,Pn(n=1,2,3,,N)为在原始图像中检测到的不同的角点;(xn,yn)scoren为该角点的坐标和分数。每当检测到一个新角点,坐标比对模块会检查缓存中是否存在与该角点坐标相邻的其他角点。如果存在,则会比较两者的得分,并舍弃得分较低的角点,确保最终保留的是得分较高的角点;如果不存在,则将新检测到的角点的坐标和得分存入缓存中。缓存的深度设置是根据原始图像的水平分辨率R确定的,以适应不同分辨率下的角点存储需求。例如,对于典型的640×480分辨率的图像,缓存深度可以设置为20,而对于1 920×1 080分辨率的图像,缓存深度则可以设置为60。这样可以保证在高分辨率图像中,同样能够有效存储和管理大量角点。当缓存达到其最大深度时,会采用先入先出的处理策略,即将最早进入缓存的角点移除,并将新检测到的角点的坐标和得分填入缓存中。通过这种方法,缓存器能够在有限的存储资源内有效地管理和处理大量角点,同时确保保留图像中最具代表性的角点,用于后续的图像处理和分析。

3) rBRIEF单元

rBRIEF单元由3个基本模块组成——质心计算模块、方向角计算模块和rBRIEF描述子生成器,其电路结构如图10所示。rBRIEF单元中的乘法器结构如图11所示,该结构仅使用移位和加法运算,在3个时钟周期内即可得到输入与整数1~15相乘的结果。

在质心计算模块中,分别并行计算图像块在水平和竖直方向的图像矩,以m10为例来说明。按照(5)式的描述,计算水平方向的图像矩需要遍历从-rr的区间,为了完成这一过程,需要进行2r次乘法和2r-1次加法。这一过程的计算量较大,也会引入较高的延迟。

图像块以角点为中心左右对称,可据此优化算法。具体如(9)式所示,首先合并对称的列;然后提取列数为公因子,利用减法器计算对称列的差值;最后,利用乘法器计算这些差值与列数的乘积。这种方法的核心在于通过合并对称列减少乘法和加法的次数,从而优化计算效率。化简后仅需进行r次乘法和r-1次加法即可得到图像矩,显著降低了计算复杂度,提升了计算效率。

m10=x=-rryxI(x,y)=x=1ry-xI(-x,y)+xI(x,y)=x=1ryxI(x,y)-I(-x,y)

方向角的计算过程包括除法和反正切。Xilinx系列产品中有坐标旋转数字计算机算法(Coordinate Rotation Digital Computer, CORDIC)IP核和数字信号处理模块(Digital Signal Processing, DSP)可以精确计算反正切,但CORDIC模块对输入位宽有限制,无法计算图像矩。因此,本研究采用基于查找表(Look-Up Table, LUT)的方法近似计算方向角。首先,将圆周划分为64个扇区,每个扇区的角度θ为其角平分线对应的角度。其次,根据图像矩的符号确定质心所处的象限,通过取绝对值将其转换到第一象限,对应第一象限的16个角度。最后,使用4个并行的比较器比较abs(m10)×tan(θ)abs(m01)的值并使用优先编码器将比较的结果匹配到相应的角度θ。一旦确定角度,模块将象限以及θ输出到rBRIEF描述子生成器。

在rBRIEF描述子生成器中,采样坐标点集会旋转θ度,根据旋转后的点集在图像块中采样像素对。与文献[25]的方法不同,本研究采用了一种基于像素窗口的结构来执行质心计算和像素采样。在本文的rBRIEF单元中,输入的是整个像素窗口,而非传统rBRIEF单元中的单列像素数据。这种改进使得质心计算能够在并行模式下进行,同时计算窗口中行和列的像素总和。由于直接处理整个像素窗口,避免了引入额外的数据延时模块,从而简化了硬件设计并减少了潜在的处理延迟。此外,本设计不再需要4个窗口缓存存储输入列像素,而是直接在像素窗口中采样像素点。使用64个比较器并行比较像素对,经过4个时钟周期的运算,生成256比特的rBRIEF描述子。最终,模块会将角点坐标及其描述子一同输出到先入先出缓存器(First In First Out, FIFO)中,以供上位机读取。

3  实验部分

3.1 实验平台与场景

本文使用自主搭建的数据采集平台。如图12(a)所示,平台以导航小车为载体,搭载GNSS天线、机械臂、双目相机、Blackfly S USB3单目相机和Robosense 16线激光雷达。图12(b)为自主研发的硬件终端,负责导航小车的运动控制、传感器数据接收和处理。控制终端搭载u-blox F9P GNSS接收机、ADIS16470 IMU、JETSON ORIN NX计算板卡以及Xilinx Zynq XC7Z020芯片。u-blox F9P模块支持多频段实时动态定位(Real Time Kinematic, RTK)技术,具备快速收敛时间和高可靠性能,可提供厘米级定位精度。IMU采用ADIS16470模块,其性能如表1所示。JETSON ORIN NX模块是NVIDIA公司研发的用于嵌入式系统的计算板卡,它集成了8核ARM CPU和32个Tensor核心,可高效运行视觉SLAM后端计算。FPGA资源使用Zynq XC7Z020芯片的可编程逻辑(Programmable Logic, PL)端,该芯片有触发器(Flip-Flop, FF)106 400个,查找表53 200个,DSP单元220个,块内存(Block Random Access Memory, BRAM)为4.9 MB。

本文的实验场景设在城市峡谷和操场环境,在城市峡谷环境中,导航小车使用相机和IMU数据进行定位,而在操场环境则使用GNSS、IMU和雷达数据进行定位。如图13所示,一些场景存在光照明暗变化、反光等情况(图13(a)),部分路段还存在行人、车辆等动态物体(图13(b))。在实验中,导航小车沿着设定的路径行驶多个圈次,最终回到起点位置。行驶过程中,小车的终端会输出时间同步脉冲,采集多源传感器数据,并实时运行ORB特征提取加速算法。每次实验都会进行详细记录和分析所得数据,以验证数据的有效性和系统的稳定性。

3.2 实验结果

GNSS接收机模块接收卫星PPS,为系统提供高精度时钟源,GNSS数据的采样频率为1 Hz。传感器触发信号由FPGA计数并分频得到,其中,IMU触发频率为100 Hz,相机触发频率为40 Hz,雷达的触发频率为1 Hz。FPGA对IMU输出触发脉冲信号,并通过SPI总线读取IMU数据。在启动过程中,IMU首先进行初始化,配置为采用外部触发同步,并设置输出数据的更新速率。当IMU数据读取完成后,FPGA会读取时间戳,并将IMU数据与时间戳组合后输出。另一方面,相机接收来自FPGA的触发脉冲,在触发脉冲的上升沿曝光,输出分辨率为640×480的灰度图像。

各传感器数据依据其时间戳进行融合。带时间戳的IMU数据如图14所示,数据格式为:数据头,GPS周数,GPS周内秒.计数值,数据有效位,惯导z轴速度变化,惯导y轴速度变化,惯导x轴速度变化,惯导z轴角度变化,惯导y轴角度变化,惯导x轴角度变化。计数值的前两位表示数据的秒内时标,对应传感器的触发频率。例如,IMU触发频率为100 Hz,则秒内时标从00依次递增至99,随后清零并开始下一个GPS周内秒的计数。

对采集到的GNSS、IMU、图像和雷达数据进行处理,得到如图15所示的实验结果。在操场环境下,使用GNSS和IMU数据融合定位的结果如图15(a)所示,由于在进入操场环境前存在较多树木和高楼造成的遮挡,定位结果有少数几处“漂移”,而除此之外,定位轨迹与小车实际行驶的轨迹基本重合,定位精度在厘米级;同样在此场景下,使用雷达和IMU数据进行建图和定位的结果如图15(c)所示。在城市峡谷环境下,使用相机和IMU数据融合定位的轨迹如图15(b)所示,小车轨迹没有出现发散的情况,且与实际行驶轨迹基本重合。

FPGA读取图像像素并提取ORB特征点,处理结果如图16所示。其中,图像帧1和图像帧2之间相隔20帧,每张图像中能提取到约1 600个ORB特征点,在相机移动过程中,如图16(e)所示,仍然有13%的特征点能被匹配到,表明ORB特征点具有尺度和旋转不变性。表2展示了FPGA(Zynq XC7Z020)资源占用情况。可以看出资源消耗最多的是BRAM,约为98%,这是因为加速器在构建滑动窗口时使用了大量行缓存。其次是FF,百分比为70%。由表2可知,加速器占用的资源都小于FPGA(Zynq XC7Z020)的资源,因此,研究所选的FPGA满足加速器所需的硬件资源。

为了评估加速器性能,选取Intel i5-8300H CPU平台、NVIDIA GTX 1050 GPU平台,以及基于FPGA的文献[17]、文献[26]和文献[29]作为对比对象,开展对比实验。i5-8300H具有4核/8线程,基本频率2.3 GHz;GTX 1050则拥有640个CUDA核心,4 GB GDDR5显存。在Windows 10上基于OpenCV运行图像ORB特征提取算法,CPU和GPU的对比实验提供了有效的性能基准,帮助更准确地评估加速器的性能提升。文献[17]与本文都采取流水线处理方法,且都是部署在Xilinx的FPGA中。文献[26]与ORB2算法同年发表,其设计的加速器架构具有代表性,且后续研究中也有类似架构的应用。文献[26]中提出的质心比特位数优化策略在文献[17]和文献[25]中也被采用,使其成为理解和比较加速器设计的重要参考。文献[29]因调整加速器架构,将计算描述子模块置于NMS模块之前,并优化了像素采样过程,有效减少了LUT资源的使用,与本文策略有较高的相关性。实验结果如表3所示。

表3可以得出,对比CPU、GPU平台以及文献[17]和文献[26]的工作,本文设计的加速器在帧率和功耗方面展现出显著优势。首先,加速器通过无乘法器电路实现乘法计算,利用图像块对称性对质心计算过程进行优化,同时利用比较器和优先编码电路计算方向角,降低了电路的复杂性和计算延迟。其次,加速器的各个模块采用流水线处理方式,例如滑动窗口模块、FAST角点检测模块和rBRIEF单元,并通过缓存平衡它们之间的处理速率,使得最终的像素吞吐量达到150 MPix·s-1。本文设计的加速器帧率是CPU和GPU平台的2.7倍和1.8倍,而功耗仅为它们的5.1%和2.9%。与文献[17]和文献[26]的方法相比,本文的加速器帧率达到80.0 FPS,比两者的62.0 FPS和67.0 FPS分别提升了29%和19%;功耗则从两者的4.6 W降低至2.3 W,降低了50%。与文献[29]相比,虽然本文设计的加速器的功耗比其高0.4 W,但吞吐量和帧率分别提高了50%和43.1%,体现了良好的综合性能。

4  结 语

本文搭建了一个集多源传感器时间同步和视觉导航加速器于一体的数据采集平台,该平台基于GNSS秒脉冲的高精度时间同步,支持GNSS、IMU、相机、激光雷达的数据采集和融合。此外,本文提出的ORB特征提取加速器能极大降低SLAM前端的处理延时,吞吐量达到150 MPix·s-1。实验表明,在执行ORB特征提取任务时,对比CPU和GPU平台,加速器的帧率分别是它们的2.7倍和1.8倍,而功耗仅为它们的5.1%和2.9%。本文搭建的平台具有良好的拓展性和兼容性,可在其他Zynq系列芯片中部署,也可针对本文未研究的传感器进行后续开发。

未来的工作包含如下3个方面:1) 优化缓存结构,把分辨率提升到1 920×1 080;2) 考虑将后端光束平差算法部署到FPGA中;3) 考虑在更多复杂环境下进行测试。

参考文献

[1]

刘经南, 罗亚荣, 郭迟, . PNT智能与智能PNT[J]. 测绘学报202251(6): 811-828.

[2]

LIU J NLUO Y RGUO Cet al. PNT intelligence and intelligent PNT[J]. Acta Geodaetica et Cartographica Sinica202251(6): 811-828 (Ch).

[3]

郭迟, 罗宾汉, 李飞, . 类脑导航算法: 综述与验证[J]. 武汉大学学报(信息科学版)202146(12): 1819-1831. DOI: 10.13203/j.whugis20210469 .

[4]

GUO CLUO B HLI Fet al. Review and verification for brain-like navigation algorithm[J]. Geomatics and Information Science of Wuhan University202146(12): 1819-1831. DOI: 10.13203/j.whugis20210469(Ch ).

[5]

李卫斌, 秦晨浩, 张天一, . 综述: 类脑智能导航建模技术及其应用[J]. 系统工程与电子技术202446(11): 3844-3861.

[6]

LI W BQIN C HZHANG T Yet al. Review: Brain-inspired intelligent navigation modeling technology and its application[J]. Systems Engineering and Electronics202446(11): 3844-3861 (Ch).

[7]

廖健驰, 李星星, 冯绍权. GVIL: 基于图优化的GNSS PPP/视觉/惯性/激光雷达紧组合算法[J]. 武汉大学学报(信息科学版)202348(7): 1204-1215. DOI: 10.13203/j.whugis20230119 .

[8]

LIAO J CLI X XFENG S Q. GVIL: Tightly-coupled GNSS PPP/Visual/INS/LiDAR slam based on graph optimization[J]. Geomatics and Information Science of Wuhan University202348(7): 1204-1215. DOI: 10.13203/j.whugis20230119(Ch ).

[9]

郭迟, 陈毅超, 罗亚荣. 一种世界坐标系下的GNSS/SINS松组合导航矩阵李群滤波算法[J]. 中国惯性技术学报202432(3): 242-249. DOI: 10.13695/j.cnki.12-1222/o3.2024.03.005 .

[10]

GUO CCHEN Y CLUO Y R. Matrix Lie group filtering algorithm for GNSS/SINS loosely integrated navigation in the world frame[J]. Journal of Chinese Inertial Technology202432(3): 242-249. DOI: 10.13695/j.cnki.12-1222/o3.2024.03.005(Ch ).

[11]

黄紫如, 柴洪洲, 向民志, . 基于抗差因子图的AUV多源信息融合定位方法[J]. 测绘学报202352(8): 1278-1285. DOI: 10.11947/j.AGCS.2023.20210735 .

[12]

HUANG Z RCHAI H ZXIANG M Zet al. AUV multi-source information fusion localization method based on robust factor graph[J]. Acta Geodaetica et Cartographica Sinica202352(8): 1278-1285. DOI: 10.11947/j.AGCS.2023.20210735(Ch ).

[13]

XIA K QXING MLI S Met al. Research on time synchronization technique of multi-source composite guidance data fusion[C]//2020 IEEE 9th Joint International Information Technology and Artificial Intelligence Conference (ITAIC). New York: IEEE Press, 2020: 1368-1373. DOI: 10.1109/ITAIC49862.2020.9338920 .

[14]

付凤杰, 李辰懋, 吴丽, . 视觉传感器和惯性传感器的时间标定方法[J]. 光学学报202141(24):200-209. DOI:10.3788/AOS202141.2415002 .

[15]

FU F JLI C MWU Let al. Time calibration method for vision sensor and inertial sensor[J]. Acta Optica Sinica202141(24):200-209. DOI:10.3788/AOS202141.2415002(Ch ).

[16]

NEELAM, RATHORE HSHARMA Let al. Clock Comparison with an ultra-stable optical fibre link utilizing White Rabbit Network[C]//2020 XXXIIIrd General Assembly and Scientific Symposium of the International Union of Radio Science. New York: IEEE Press, 2020: 1-4. DOI: 10.23919/ursigass49373.2020.9232324 .

[17]

王亮懿. 基于ZYNQ的时钟同步平台的设计[D]. 西安: 陕西科技大学, 2023. DOI: 10.27290/d.cnki.gxbqc.2023.000185 .

[18]

WANG L Y. Design of clock synchronization platform based on ZYNQ[D]. Xi’an: Shaanxi University of Science & Technology, 2023. DOI: 10.27290/d.cnki.gxbqc.2023.000185(Ch ).

[19]

RAMOS F TNIETO JDURRANT-WHYTE H F. Recognising and modelling landmarks to close loops in outdoor SLAM[C]//Proceedings 2007 IEEE International Conference on Robotics and Automation. New York: IEEE Press, 2007: 2036-2041. DOI: 10.1109/ROBOT.2007.363621 .

[20]

邹雄, 肖长诗, 文元桥, . 基于特征点法和直接法VSLAM的研究[J]. 计算机应用研究202037(5): 1281-1291. DOI: 10.19734/j.issn.1001-3695.2018.11.0789 .

[21]

ZOU XXIAO C SWEN Y Qet al. Research of feature-based and direct methods VSLAM[J]. Application Research of Computers202037(5): 1281-1291. DOI: 10.19734/j.issn.1001-3695.2018.11.0789(Ch ).

[22]

MUR-ARTAL RMONTIEL J M MTARDÓS J D. ORB-SLAM: A versatile and accurate monocular SLAM system[J]. IEEE Transactions on Robotics201531(5): 1147-1163. DOI: 10.1109/TRO.2015.2463671 .

[23]

MUR-ARTAL RTARDÓS J D. ORB-SLAM2: An open-source SLAM system for monocular, stereo, and RGB-D cameras[J]. IEEE Transactions on Robotics201733(5): 1255-1262. DOI: 10.1109/TRO.2017.2705103 .

[24]

HUANG J JZHOU G QZHOU Xet al. A new FPGA architecture of FAST and BRIEF algorithm for on-board corner detection and matching[J]. Sensors201818(4): 1014. DOI: 10.3390/s18041014 .

[25]

刘强, 刘威壮, 俞波, . 一种用于SLAM的IMU状态优化加速器设计[J]. 北京航空航天大学学报202349(5): 1027-1035. DOI: 10.13700/j.bh.1001-5965.2021.0382 .

[26]

LIU QLIU W ZYU Bet al. An IMU state optimization accelerator for SLAM[J]. Journal of Beijing University of Aeronautics and Astronautics202349(5): 1027-1035. DOI: 10.13700/j.bh.1001-5965.2021.0382(Ch ).

[27]

VEMULAPATI VCHEN D M. FSLAM: An efficient and accurate SLAM accelerator on SoC FPGAs[C]//2022 International Conference on Field-Programmable Technology (ICFPT). New York: IEEE Press, 2022: 1-9. DOI: 10.1109/ICFPT56656.2022.9974562 .

[28]

HE K MZHANG X YREN S Qet al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence201537(9): 1904-1916. DOI: 10.1109/TPAMI.2015.2389824 .

[29]

WEBERRUSS JKLEEMAN LBOLAND Det al. FPGA acceleration of multilevel ORB feature extraction for computer vision[C]//2017 27th International Conference on Field Programmable Logic and Applications (FPL). New York: IEEE Press, 2017: 1-8. DOI: 10.23919/fpl.2017.8056856 .

[30]

ROSTEN EPORTER RDRUMMOND T. Faster and better: A machine learning approach to corner detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence201032(1): 105-119. DOI: 10.1109/TPAMI.2008.275 .

[31]

SUN R DLIU P LWANG Jet al. A 42 fps full-HD ORB feature extraction accelerator with reduced memory overhead[C]//2017 International Conference on Field Programmable Technology (ICFPT). New York: IEEE Press, 2017: 183-190. DOI: 10.1109/FPT.2017.8280137 .

[32]

CALONDER MLEPETIT VSTRECHA Cet al. BRIEF: Binary robust independent elementary features[C]//2010 European Conference on Computer Vision (ECCV). Berlin: Springer, 2010: 778-792. DOI: 10.1007/978-3-642-15561-1_56 .

[33]

KRAWINKEL TSCHÖN S. Benefits of receiver clock modeling in code-based GNSS navigation[J]. GPS Solutions201620(4): 687-701. DOI: 10.1007/s10291-015-0480-2 .

[34]

TARANCO RARNAU J MGONZÁLEZ A. A low-power hardware accelerator for ORB feature extraction in self-driving cars[C]//2021 IEEE 33rd International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD). New York: IEEE Press, 2021: 11-21. DOI: 10.1109/SBAC-PAD53543.2021.00013 .

[35]

PHAM T HTRAN PLAM S K. High-throughput and area-optimized architecture for rBRIEF feature extraction[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems201927(4): 747-756. DOI: 10.1109/TVLSI.2018.2881105 .

[36]

FANG W KZHANG Y JYU Bet al. FPGA-based ORB feature extraction for real-time visual SLAM[C]//2017 International Conference on Field Programmable Technology (ICFPT). New York: IEEE Press, 2017: 275-278. DOI: 10.1109/FPT.2017.8280159 .

[37]

PARK J SKIM H EKIM L S. A 182 mW 94.3 f/s in full HD pattern-matching based image recognition accelerator for an embedded vision system in 0.13-μm CMOS technology[J]. IEEE Transactions on Circuits and Systems for Video Technology201323(5): 832-845. DOI: 10.1109/TCSVT.2012.2223873 .

[38]

ZHU W PLIU L BJIANG G Let al. A 135-frames/s 1080p 87.5-mW binary-descriptor-based image feature extraction accelerator[J]. IEEE Transactions on Circuits and Systems for Video Technology201626(8): 1532-1543. DOI: 10.1109/TCSVT.2015.2469116 .

[39]

JOHARI M MCARTA CFLEURET F. ESLAM: Efficient dense SLAM system based on hybrid representation of signed distance fields[C]//2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). New York: IEEE Press, 2023: 17408-17419. DOI: 10.1109/CVPR52729.2023.01670 .

基金资助

湖北省重大科技专项(2022AAA009)

AI Summary AI Mindmap
PDF (3440KB)

0

访问

0

被引

详细

导航
相关文章

AI思维导图

/