TextPlace: Visual Place Recognition and Topological Localization Through Reading Scene Texts[2020]
本文主要是利用hight level的信息,textual进行地点识别,也可以认为是粗定位的网络
分为两个阶段:1)建图阶段,生成texture拓扑结构。2)在线query定位阶段。
整体框架结构:
3.2. Text Detection and Recognition
使用重新训练的TextBoxes++网络进行text的提取
3.3.1 Text Filtering
为了减少text检测的误差,定义了一种预处理,使用Levenshtein distance,
大致意思就是尽量相似,比如:Levenshtein distance between “sitting” and “kitten” is 3(itt相等)
3.3.2 Textual Descriptor
filter结果之后就是提取textual的feature,这里使用字符串的语义以及bounding box的位置信息
3.4. Topological Mapping
拓扑图中每个节点代表一张图(包含其textural和camera 的pose),不同节点之间的边表示relative pose(可以通过视觉里程计得到),每当一定的距离就衍生一个新的节点(可以是keyframe)
3.5. Place Recognition
定义两张图的相似度计算:
Y表示每个节点,q是query,m是map,I表示map中第I个节点,Lk表示文本的长度,d表示3.3.1中的距离。,因此这里是定义了两个节点中textural的语义相似度。
,Ak is the bounding box area of the kth text string in Yq,因此这里定义了IOU的相似度。
最终的相似度
3.6. Topological Localization
整体分为三步:: 1) initialization, 2) pose tracking and update and 3) re-localization.
3.6.1 Initialization
由于不应该每次定位都是全局节点进行匹配,因此一旦当某个节点和map中的节点出现很高的相似度的时候算法完成初始化:
3.6.2 Pose Tracking and Update
同slam中的一样一旦初始化好了之后就进行tracking,同时一个slid window滑动窗口和quey进行匹配绑定
3.6.3 Re-Localization
当时间长了tracking飞了之后 同初始化的时候的办法一样,要进行重定位,再次纠正slid windows