HOOFR-SLAM系统:一种嵌入式视觉SLAM算法及其基于软硬件映射的智能车辆应用

HOOFR SLAM System: An Embedded Vision SLAM Algorithm and Its Hardware-Software Mapping-Based Intelligent Vehicles Applications

1. 介绍

提出一种HOOFR-SLAM系统,在计算当前图像帧到前一相邻帧的摄像机姿态后,提供一种定位估计。利用摄像机的运动特性,通过左右摄像机设置的固定基线,结合“时间多视角立体”模式,将“静态立体”模式(SS)和“时间多视角立体”模式(TMS)结合起来。在尺度估计中,不预先计算SS模式对所有关键点集的视差,而是将视差图限制在TMS模式的输入端,以降低计算成本。并提出一种基于异构CPU-GPU体系结构的视觉系统的一个硬件映射的VSLAM方法。

2. HOOFR-SLAM

2.1 系统框架

使用左图像来估计两个摄像机位置之间的相对运动。对于每个输入立体帧,在左图像中提取HOOFR特征,然后计算HOOFR描述以进行运动估计和环路检测。在这里插入图片描述

图1 系统框架

在HOOFR特征提取之后,启动循环检测和映射线程。在映射线程内部,特征匹配块查找每个PNF中当前帧的每个关键点的对应关系,并设计到GPU。然后,执行多个相对姿态计算任务,每个任务从一个PNF计算一个预测的摄像机姿态。在内环检测线程中,图像描述块通过将相关关键点的描述与词袋(BoW)进行比较来描述当前帧。然后将图像描述传递给帧检查块,以在关键帧集中找到最大似然。在高匹配度的位姿图中,将重叠帧定义为最大似然的帧。势环情况下当前帧到最大似然关键帧的特征匹配和相对位姿计算,采用比映射线程更严格的条件进行处理,保证了环路的准确闭合。“Map Processing”块收集两个主线程(循环检测和映射)的结果。如果映射成功,更新当前姿势并指向地图。
如果循环检测确定当前帧是一个新的关键帧,则更新关键帧集,或者在出现真实循环时,通过沿姿势图分布误差来校正。

2.2 HOOFR特征提取

这个笔记详细讲解了HOOFR特征提取:HOOFR- 增强型仿生特征提取器

2.3 映射线程

2.3.1 特征匹配

使用三个条件进行匹配:
1)汉明距离的Hdi-j到Hdi-j’的比值必须低于ϕ(0.85)
2)如果I和J的位置在图像中有一个小的差异(||P
I
-PJ||<2),则该点可能离相机太远,或者相机与上一个姿势相比没有显著移动。这两种情况不能提供良好的估计,因此这些匹配也应被拒绝。
3)如果I和J在位置上有太大的差异(||PI-PJ||>90),这可能是一个错误的匹配,也必须消除。
在其他一些研究中,如ORB-SLAM或LSD-SLAM,使用引导搜索来寻找对应关系,而本方法使用蛮力匹配在一大组局部特征中寻找最佳候选。

2.3.2 计算相对姿态(RPC)

RPC分块由3个主要步骤组成:从基本矩阵中提取旋转和平移、解的确定和尺度估计
\极线几何由方程描述:在这里插入图片描述
在ORB-SLAM等系统中,在RANSAC方案中使用5点算法从匹配集中提取优化模型eop。在论文方法中,为了避免计算成本高的BA,将重点放在提高估计E的精度的方法上,这使得HOOFR系统与其他最先进的系统最大的不同。在计算E之前,检查每个RPC块中的匹配对数(np)。如果np低于阈值λ,则相应的RPC块被视为无效估计,其子线程将立即停止。反之,当np大于λ时,进行E估计。
因此,为了加快处理速度,提出了估计Eop的算法1:在剔除异常值的同时标记Eop的内联。假设eop已经确定,估计旋转R、平移t和3D点三角剖分的方法是基于对E执行单值分解(SVD)。在这里插入图片描述

2.4 闭环检测

系统实现了一个基于FAB-MAP 2.0模块的包字位置识别,使用HOOFR特征点和它们的HOOFR描述符来提取大图像集中的词袋,256位二进制描述符总共包含2256个不同的单词。 发现10000个单词的词汇表在精确性和执行时间之间提供了有利的折衷。
在循环检测线程中,当检测到潜在循环时,特征匹配块位于当前帧与其最大似然帧之间。由于精确循环需要严格的检查条件,我们建议使用“**交叉蛮力”**匹配,而不是高度区分检查。

2.5 地图处理

映射处理考虑映射和循环检测线程返回的结果来做出决策,表1恢复了系统可以满足的所有可能性。如果在固定的帧数后,由于某些原因映射连续失败,系统将变为跟踪丢失状态(tracking lost=true)。在此状态下,每个帧仅由循环检测线程处理,映射线程被禁用。一旦相机在地图中重新定位,就返回到跟踪活动状态。然而,由于缺少先前的姿态,地图优化将被忽略。此外,映射将在重新定位的点处离散,并且传入的优化仅限于此点。在跟踪丢失为假的正常情况下,如果当前帧的映射无效,而循环检测提供合法结果,则缓冲循环信息。在有限的后续帧中,在映射恢复的情况下,将执行循环关闭。只有当循环线程和映射线程都返回有效的估计值时,才会调用“映射更正”。一旦它被激活,轨迹将通过沿位姿图分布环路闭合误差来优化。传播从循环点开始,沿着轨迹返回到连接循环点的点。
随着时间的推移,这个步骤变得昂贵的大循环关闭。为了保证帧速率处理,以并行线程的形式启动“映射校正”,并继续处理下一帧。但是,为了避免在地图校正期间内存访问转储,关键帧集被阻塞。因此,添加任何新的关键帧,只需更新姿态图,直到完成当前的校正线程在这里插入图片描述

3. CPU-GPU架构

使用OpenMP来实现HOOFR特征提取,算法3所示,每个OpenMP线程处理一个图像单元,并为每个单元创建单独的关键点集,以确保数据独立性。NUM_THREADS表示并行处理的单元数。我们根据处理器内使用计算资源的核心总数为NUM_线程赋值。
在这里插入图片描述
该系统在嵌入式平台使用,如TX1,TX2,文字使用的是TX1,开发了三个版本的特征匹配块:运行在GPU上的OpenCL和CUDA版本以及运行在CPU上的标准C++版本。CPU-GPU映射如图所示,GPU用于特征匹配。
在这里插入图片描述22

CPU-GPU映射

特征匹配
提出一种基于两个特征矩阵Pnf-Cels和Pnf-Dess的匹配策略,其矩阵结构分别是(Pnf-np x 1)和(Pnf-np x 32),Pnf-np是PNFs中关键点的总数。匹配算法如算法5所示。
在这里插入图片描述

4. 实验

在PC 和TX1上测试在 KITTI , Oxford , Malaga , MRT and St_Lucia 等数据集的速度和精度,与ORB_SLAM相对比有较快的速度和较高的精度

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值