基于ORB-SLAM2算法的优化工作

REF:基于视觉 SLAM 的移动机器人路径规划研究REF:室内移动机器人视觉SLAM与路径规划方法研究

1. 基础模型

  • 红外结构光深度测量:由红外激光发射器和图像传感器组成核心组件,发射器向目标场景投射经过空间调制的激光散斑图案,图像传感器同步采集经物体表面形变后的反射图案,计算原始编码图案与变形图案之间的特征位移量,基于光学三角测量原理实现深度信息的精确计算。

  • 飞行时间深度测量:通过发射调制光信号(近红外波段),精确测量光脉冲从发射到经目标反射后返回的时间延迟,基于光速恒定原理,通过往返时间差,实现毫米级测距精度,且不受环境纹理特征影响

  • ORB特征点检测算法:通过特征点提取和特征点描述分层架构,实现图像信息点采集并记录:

    1. 图像特征点提取:采用优化后的 Oriented FAST 算子,分析局部像素间的灰度差异定位角点,通过非极大值抑制策略对初始角点进行筛选(先获取各角点Harris 的响应值,再根据预设数量保留响应值较高的角点),为进一步增强特征鲁棒性,构建高斯金字塔并对每一层级进行降采样与模糊处理,在不同分辨率图片上独立验算 FAST 角点值,并融合各层结果以获得尺度不变性特征。

    2. 特征点描述:采用超快速 BRIEF 二值描述符,在特征点附近随机对比 K 组像素点对的灰度值变化,把对比结果转换为二进制编码串,最终得到一个长度为 k 的二进制编码串作为该特征点的 BRIEF 描述子,并采用汉明距离作为特征匹配度量

  • ORB特征点匹配算法:图像间及图像与地图间的描述子编码匹配后,才能进行后续姿态估计、二维建图或目标跟踪的需求,在视觉 SLAM 系统中,误匹配剔除是数据关联环节的核心技术,主流方法包括:暴力匹配和 RANSAC算法

    • 暴力匹配法:穷举搜索第一组中每个描述子与第二组中哪个描述子最接近,浮点型的特征描述采用欧氏距离,二值的描述子采用汉明距离表示

    • 随机抽样一致性匹配(RANSAC)法:在一个给定的数据集中,随机选取一组数据点模型拟合,把与模型的拟合程度在阈值内的点归到一组,再用这组数据拟合,直至找出最优的模型参数

  • ORB-SLAM2算法:使用 DBOW2 词袋方法建图,对场景中的特征点进行识别与分类,并在此基础上对全局图进行优化,具有线程追踪、地图重构和回环探测等多种功能

2. ORB-SLAM2优化

  • 线特征提取模型优化:在数据预处理阶段,分别使用 ORB和 LSD 提取点、线特征后,对于线特征,提取二进制描述子后,根据外观一致性和几何一致性校验对线特征进行匹配,参考点特征的重投影误差,构建基于点线特征最小化重投影误差模型,对估计的位姿进行优化。

  • LSD 线特征提取算法优化:边缘绘制算法一般基于最小二乘线拟合原理检测直线,而线特征检测器 (LSD) 算法合并相似梯度的像素点为线段,然后对所有线段选检测直线。

    • 先使用降采样和高斯滤波处理图像,根据像素点的梯度相似性合并成支持域,计算出最小的外接矩阵,并确定其主导方向

    • 考察支持域内的每个像素点,如果像素点的梯度方向与主导方向的夹角小于阈值,视为支持点

    • 统计支持域内支持点的数量,如果比例达到阈值,区域则被认定为一条线段

  • 短线抑制优化:在某些情况下,一条完整的线段可能会被误检为多条较短的线段,使用最小长度阈值来限制提取到的线特征的最短长度

    其中,𝜂 为长度系数,可以通过调整系数筛选掉 LSD 算法提取到的长度过短的线特征

  • 线特征的描述子格式优化:默认情况下,描述子数据类型为浮点或二进制时分别采用欧几里得或汉明距离,因此,将原始线特征(LBD) 描述子数据类型,由浮点型向量转化为二进制特征向量,汉明距离提升在线特征匹配的计算速度

  • 线特征的匹配策略:先通过外观和位置两步来判断匹配,然后引入 RANSAC 算法消除特征匹配中的错误匹配:

    • 外观特征:计算汉明距离对比,当汉明距离小于 30且最小距离低于次小距离的 60% 时认为外观一致

    • 相对位置:像素坐标系中,当两条线段长度比超过 75% 和夹角小于 50 度认为位置一致

  • 剔除动态移动物体优化:用YOLOV8 识别图象的运动目标,将运动特征点剔除,然后采用LK光流法进一步检测动态特征,仅采用最后剩下的静态特征集进行位姿估计:

    • 通过首帧特征滤波获取初始静态特征集

    • 使用基于 LK 光流法实现帧间动态特征检测

    • 通过极线几何约束验证特征静态性

  • 轻量化动态目标检测:采用 SORT 多目标追踪方法,用EKF对随后几帧运动目标框进行预测,以 SORT 预测的靶框替代 YOLOV8 检测到的对象框,最后用 YOLOV8 每10 个帧对目标进行一次探测来校正 Sort 预测靶盒的位置。

  • 多动态目标跟踪(MOT)优化:先在视频帧中识别出目标,利用先前的信息预测目标在下一帧中的位置,然后匹配预测位置与检测的目标,最后根据匹配结果更新目标的状态,实现了对多个目标的准确、连续追踪。

  • 动态目标判断(匈牙利算法)优化:YOLO V8 检测到的目标框与 EKF 预测的目标框之间,以两个框的交并比 IoU 作为权重因子,来确立两者的关联关系, IoU 低于此阈值(0.25)视为不匹配,根据匹配结果分为以下三种情况:

    1. 跟踪失配:目标的跟踪轨迹没有可以匹配的检测结果,通常因为轨迹预测错误或者的目标已经离开画面, 将目标 ID 从跟踪器中删除。

    2. 检测失配:表示检测结果与当前的所有跟踪目标都不匹配,通常因为出现了新目标,跟踪器对新目标分配 ID,创建新的跟踪目标。

    3. 成功匹配:表示跟踪器的跟踪目标与检测器的检测目标全部成功匹配,表示跟踪器对各个目标跟踪状态良好,这种情况继续跟踪。

  • 丰富场景细节优化:筛选关键帧后,通过增加密集点云线程,实现对目标场景的描述;引入八叉树方法,通过设定占据概率阈值,实现对地图信息的定向生成,从而实现对目标场景的有效压缩

  • 激光雷达融合:二维雷达探测距离是一个270 度的范围平面,摄像机的探测距离有限且对光线的变化比较敏感,生成的图中含有大量的噪音。

相关推荐
暴躁小师兄数据学院3 分钟前
【AI大数据工程师特训笔记】第14讲:Linux操作系统与shell脚本
大数据·人工智能·笔记
8Qi88 分钟前
LeetCode 23. 合并 K 个升序链表 —— 小顶堆(PriorityQueue)
数据结构·算法·leetcode·链表·
tedcloud12311 分钟前
cc-switch评测:多AI Coding Agent管理工具详解
数据库·人工智能·sql·学习·自动化
高洁0119 分钟前
大模型落地行业第一线
人工智能·数据挖掘·transformer·virtualenv·知识图谱
QiLinkOS27 分钟前
《打破“用爱发电”:一种基于 Gitee 与时间戳的开源权益分配机制探索》
c语言·数据结构·c++·科技·算法·gitee·开源
weixin_3975740930 分钟前
AI Agent三层架构设计原理
人工智能·dubbo
机 _ 长33 分钟前
YOLO12-Mamba:融合MambaVision思想的目标检测创新实践
人工智能·目标检测·计算机视觉
阿里云大数据AI技术36 分钟前
阿里云 ES AI 多模态搜索(百炼)
人工智能
活跃的煤矿打工人41 分钟前
【星海出品】大模型微调-Part-One
人工智能·语言模型·gpu算力
coldstarry43 分钟前
sheng的学习笔记-AI-xgboost
人工智能·机器学习·boosting