0%

论文记录 TextSLAM_Visual SLAM with Semantic Planar Text Features

Li, Boying, Danping Zou, Yuan Huang, Xinghan Niu, Ling Pei, and Wenxian Yu. “TextSLAM: Visual SLAM with Semantic Planar Text Features.” arXiv, July 3, 2023. http://arxiv.org/abs/2305.10029.

1 Introduction

本文的贡献:

  1. 提出一个新颖的SLAM 架构,将文本特征集成至前端位姿跟踪、后端优化、回环检测和制图中,本工作开创性地将场景中的文本信息紧耦合至视觉SLAM 中,作者同时提供了一个包含丰富文本信息环境的数据集来进行测试;
  2. 作者从几何语义表示两种层面实现对文本特征的提取、数据关联,并将其集成进SLAM 中;
  3. 提出一种使用文本特征语义信息进行回环检测的方法,可实现在挑战性环境中(如剧烈光照变化、遮挡、视角变化等)的可靠回环检测

fig1

3 Semantic Text Features

文本语义特征表示为一个平面以及带有其独特语义含义的图像块

3.1 Geometric model

3.1.1 Parameterization

对于每个文本块,被观测到的第一帧称为 host frame,如Fig. 2所示,文本块平面在该帧中的位置表示为 $n^Tp+d=0$ ,其中 $n = (n_1,n_2,n_3)^T$ 表示文本块的法向量,d 与平面和相机原点之间的距离相关,p 为平面上的3D 点。

fig2

作者不使用 $(n_1,n_2,n_3,d)^T$ 来表示该平面,而使用一个压缩参数来表示:

f1

经过推算,作者发现该参数与平面上3D 点的逆深度紧密相关:

f2

其中,$\tilde{m}$ 表示像素坐标系下的齐次坐标。上式表明,在给定像素点的坐标 $\tilde{m}$ 和文本参数 $\theta$ 后,可通过点积获取该像素点的逆深度;同样地,获取多个像素点坐标及其逆深度,即可求出文本参数 $\theta$ :

f3

由此,可通过文本的边界框(通过文本检测器获取)来对文本参数进行快速初始化

3.1.2 Observation

为了更新文本的参数,需要定义观测模型。这里,作者选择使用观测到的文本框3D 文本在图像上的投影之间的差异作为观测模型,借鉴直接法,作者以两个文本块的光度误差作为误差项,会有更高的精度和鲁棒性,特别是对于模糊图像而言。为解决直接法的光照变化问题,作者采用ZNCC 方法(zero-mean normalized cross-correlation)。

3.2 Semantic information management

由于具有外观变化不变性,场景中文本的语义信息对于场景理解数据关联至关重要。作者使用两部分来表示文本物体的语义信息:语义含义 s 和语义损失 $g^{sem}$ :

f14

其中,语义含义是一个文本字符串,语义损失 $g^{sem}$ 描述文本语义估计的质量,如Fig.3所示:

fig3

当前帧观测到的语义信息表示为 $\hat{\chi}=\{\hat{s},\hat{g}^{sem}\}$ ,$\hat{s}$ 是文本提取器获取的语义字符串,语义损失 $\hat{g}^{sem}$ 表示如下:

f15

其中,$g^{mean}$ 描述了语义含义损失,与文本提取器识别的置信度相关;$g^{geo}$ 描述了该文本是否位于良好观测状态,由两部分组成:文本物体中心与相机的距离,以及观测方向与文本法向量之间的差异。

文本块语义信息的更新规则是:选取所有观测中具有最小语义损失的一项作为该文本块的语义信息。

4 TextSLAM System

本TextSLAM 系统是基于特征点SLAM 系统构建的,采用了基于关键帧的架构来实现与文本信息的紧组合。

fig4

4.1 Initialization of text objects

作者使用AttentionOCR 作为本系统的文本提取器。为了初始化关键帧中新检测到的文本目标的参数 $\theta$ ,作者使用文本块内部的 FAST特征点进行跟踪,直到新关键帧到来。对于关键帧之间的匹配,作者使用多个匹配点对来解算 $\theta$ 。

4.2 Camera pose estimation with text objects

本系统同时使用特征点和文本物体进行位姿估计。作者使用前两个关键帧观测到的物体参与位姿估计,损失函数如下所示:

f18

其中,第一项表示特征点的重投影误差;第二项只包含文本物体的光度误差,这里并没有使用所有像素点来计算光度误差,而是使用文本块内部的FAST 特征点作为代表像素来计算光度误差。

光度误差项具有严重的非线性,优化过程中需要良好的初始位姿估计:作者首先使用一个匀速运动模型来预测相机位姿,然后使用一个由粗到细的策略进行高效优化。由粗到细的优化策略指的是:将图片进行金字塔化,在最高层的压缩图像中开始优化,由于经过下采样,待优化的参数会减少;然后用该层优化后的结果作为下一层的初始化估计进行该层的优化,最终完成所有的优化过程。

4.5 Loop closing using scene texts

4.5.1 Detection of loop candidates

进行回环检测时,作者直接将最新关键帧中的文本与地图中的3D文本进行匹配,而不是与历史关键帧进行匹配,这样可以大幅减小比较次数;然后根据匹配的3D 文本选取候选关键帧。

4.5.2 Compute the relative transformation

获取完回环候选帧之后,需建立当前帧与回环帧之间的特征点数据关联,然后才可计算两帧之间的相似转换,当光照或视角变化剧烈时,难以建立准确的数据关联,此处可以凸显出文本语义的优势:因为在进行回环候选帧筛选时是通过文本匹配获取的,可以将文本匹配作为一个先验知识,即只在文本匹配块内部搜寻特征点的数据关联。如Fig.5所示,作者发现文本物体内部对比的改变不像我们想象的那么巨大,因此,作者使用表示像素间相对差异的BRIEF 描述子来进行DA。如Fig.6所示,如果是整幅图片之间进行描述子匹配,则会出现大量的错误匹配;但只在匹配文本内进行DA,则会大幅提高准确度。

fig5

fig6

在获取了匹配文本内特征点的DA 之后,求解相似转换分为两步:

  1. 首先,作者使用RANSCA 来计算并优化相似转换
  2. 然后,利用获取的相似转换在匹配文本外部进行进一步的匹配搜寻,以获取更多的匹配特征点,并在此基础上对相似转换进行进一步的优化