1. 什么是DBoW2词袋模型?

基本概念

词袋模型(Bag of Words, BoW) 最初源于自然语言处理(NLP),用于将文本表示为单词的集合(忽略语法和顺序)。在计算机视觉中,视觉词袋模型 将图像抽象为“视觉单词”的集合,用于图像分类、检索和场景识别。
DBoW2(Database Bag of Words 2) 是视觉词袋模型的一种高效实现,专为SLAM(同步定位与建图)中的回环检测设计。


核心原理

  1. 特征提取
    • 对图像提取局部特征(如SIFT、ORB、BRIEF等),例如论文中使用BRIEF特征描述子。
    • 每个特征点被表示为一个高维向量。

  2. 构建视觉词典
    • 通过聚类算法(如k-means)将大量特征向量聚类为若干“视觉单词”,形成一棵分层词汇树(Vocabulary Tree)。
    • 例如,将10万个特征聚类为1000个单词,每个单词代表一类相似的特征。

  3. 生成词袋向量
    • 对每张图像统计其包含的视觉单词频率,生成一个稀疏向量(词袋向量)。
    • 例如,图像A的词袋向量为 [单词1: 5次, 单词2: 3次, … 单词1000: 0次]。

  4. 快速匹配与回环检测
    • 通过比较词袋向量的相似度(如余弦相似度或L1范数),快速判断两幅图像是否来自同一场景。
    • 在SLAM中,DBoW2用于识别当前场景是否曾在历史中出现(即回环),触发全局优化。


在论文中的作用

快速场景识别:在复杂水下环境中,DBoW2通过词袋模型快速匹配历史关键帧,减少回环检测的计算量。
提升鲁棒性:即使部分特征因光照或模糊失效,词袋模型仍能通过剩余特征判断场景相似性。


2. 什么是位姿(Pose)?

基本定义

位姿(Pose) 是机器人或物体在空间中的 位置(Position)姿态(Orientation) 的组合,用于完整描述其三维空间状态。
位置:物体在参考坐标系中的坐标(如 )。
姿态:物体绕坐标轴的旋转角度,通常用旋转矩阵、欧拉角或四元数表示。


数学表示

  1. 平移向量(Position)

    表示物体在参考坐标系中的位置。

  2. 旋转表示(Orientation)
    旋转矩阵:3×3正交矩阵 ,满足
    四元数:紧凑表示法 ,避免欧拉角的万向节锁问题。

  3. 完整位姿
    通常用齐次坐标矩阵表示:


在SLAM中的作用

  1. 定位(Localization)
    • 通过传感器(如相机、IMU)估计机器人自身的位姿。
    • 例如,视觉SLAM通过特征匹配计算相机的运动(即位姿变化)。

  2. 建图(Mapping)
    • 将感知的环境特征(如点云、路标)与位姿关联,构建全局一致的地图。

  3. 位姿图优化(Pose Graph Optimization)
    • 在SLAM后端,通过图优化算法(如g2o、GTSAM)联合优化所有历史位姿和约束(如IMU、回环),减少累积误差。
    • 论文中提到的 4自由度位姿图优化 即固定横滚(Roll)和俯仰(Pitch),仅优化X、Y、Z和偏航角(Yaw)。


3. DBoW2与位姿的关系

回环检测触发位姿优化
DBoW2通过词袋模型识别回环后,会将当前位姿与历史位姿建立约束,触发位姿图优化,修正累积误差。
提升全局一致性
位姿优化依赖回环检测提供的强约束,确保地图和轨迹的全局准确性。


总结

DBoW2词袋模型 是高效场景识别工具,通过视觉单词匹配实现快速回环检测。
位姿 是SLAM的核心输出,表示机器人的空间状态,其优化依赖多传感器融合和回环约束。
两者协同:DBoW2提供回环信息,位姿优化利用此信息提升定位精度,形成闭环的SLAM系统。