从零实战SLAM-第十课(回环检测与建图)(完)

在七月算法报的班,老师讲的蛮好。好记性不如烂笔头,关键内容还是记录一下吧,课程入口,感兴趣的同学可以学习一下。


SLAM的前段和后端都存在误差,因为建图与定位是耦合的,所以整个误差会积累。

回环检测是通过检测出之前去过的地点,对预测的轨迹进行修正。

回环检测的步骤:

❑ 检测到回环的发生

❑ 计算回环修选帧与当前帧的运动

❑ 验证回环是否成立

❑ 闭环

验证两帧之间的相似度,有以下几种常用的策略,其中基于外观的方法是主流,核心在于衡量两帧图像之间的相似度。

基于外观的主要方法:词袋BoW,词袋是对特征的聚类

➢ 特征聚类形成了 Word

➢ 许多 Word 组成了 Dictionary

➢ 只看 Word 的有无,无视 Word 的顺序

➢ 图像的相似性 = Word 的相似性

其中会对各word用one-hot模式进行编码

再通过词的相似度,推算出图像的相似度。

聚类: 无监督机器学习(Unsupervised ML)中一个特别常见的问题;

❖ 用于让机器自行寻找数据中的规律的问题。

BoW的字典生成问题亦属于其中之一,N个特征点,归为k个单词。

K-Means 的算法流程

当我们有N个数据,想要归为k各类:

➢ 随机选取k个中心点:𝑐1, 𝑐2 ... 𝑐𝑘;

➢ 对每一个样本,计算与每个中心点之间的距离,取最小的作为它的归类;

➢ 重新计算每个类的中心点。

➢ 如果每个中心点都变化很小,则算法收敛,退出;否则重复进行。

字典的结构

➢ 当实际拿到一个特征时,需要查询它对应的Word是什么

➢ 遍历比较: 𝑂(𝑛)

➢ 建立字典结构可以加速比较,比如KD Tree

word 的相似度测量

用到了TF-IDF,本质上是信息论的那一套

两个词之间的相似度测量

找到相似帧之后的处理方式。

SLAM 中的回环检测

➢ 使用相对的评分而非绝对的评分

➢ 思路:相邻关键帧是相似的,而回环的相似度应该约等于相邻关键帧

检测成功以后:

➢ 根据 PnP 等算法计算运动关系

➢ 根据重投影关系验证回环是否成立

➢ 利用全局 BA 或 Pose Graph 进行优化

建图,实际当中地图往往有不同形式,对应不同需求。

➢ 定位仅需匹配特征点

➢ 导航和避障需要稠密障碍物信息

➢ 交互需要稠密的物体表面信息

➢ 高层任务需要语义信息

单目的稠密建图

构建的一般为点云数据类型的地图

后续包括泊松重建和Surfel重建等

还有Octomap等,可以降低点云的数据量

重要的开源SLAM,很好的学习材料。

GitHub - raulmur/ORB_SLAM2: Real-Time SLAM for Monocular, Stereo and RGB-D Cameras, with Loop Detection and Relocalization Capabilities

相关推荐
hans汉斯7 小时前
采煤工作面隐患目标检测中YOLO11与Faster R-CNN的对比研究
人工智能·目标检测·计算机视觉·cnn·信息与通信·信号处理
W_326009 小时前
Python-OpenCV 轮廓进阶:旋转最小外接矩形、图像矩求质心、嵌套层级 hierarchy、轮廓形状匹配
图像处理·python·opencv·机器学习·计算机视觉
阿瑞斯官方账号10 小时前
多台 CIS 拼接检测现场售后实录:条纹、暗带、拼接错位怎么处理
数码相机·计算机视觉·视觉检测
vivo互联网技术11 小时前
Octopus:基于无历史数据的梯度正交化的学习框架|CVPR 2026
深度学习·计算机视觉·llm
牧羊人.33311 小时前
计算机视觉基础 第 9 章|实战:银行卡号识别
图像处理·人工智能·opencv·计算机视觉·图搜索算法
欧特克_Glodon13 小时前
OpenCV计算机视觉开发入门与实践<十三>:图像转换之灰度图、二值图
c++·人工智能·opencv·计算机视觉
AndrewHZ13 小时前
图像处理入门010 | Pillow 与 OpenCV 对比:双库图像读写实战
图像处理·opencv·计算机视觉·pillow
欧特克_Glodon13 小时前
OpenCV计算机视觉开发入门与实践<十二>:XML 和 YAML 文件读写
xml·c++·opencv·计算机视觉
TAN-90°-14 小时前
Deep Learning for Computer Vision——Training CNNs and CNN Architectures
人工智能·深度学习·神经网络·算法·机器学习·计算机视觉·cnn
小玮看世界1 天前
从“画图”到“Mermaid”:AI语义理解与架构绘制的演进之路
人工智能·深度学习·计算机视觉