标题:Line as a Visual Sentence:Context-aware Line Descriptor for Visual Localization
作者:Sungho Yoon1 and Ayoung Kim2∗
开源地址: https://github.com/yosungho/LineTR
本文主要记录的是LT描述子的构建过程
LT描述子的优点:
框架如图:

A Line Transformer
1、Line Tokenizer(线标记化):在NLP中,单词标记化是用于将句子划分为称为标记的较小单词单位(tokens)的过程。tokens被用作模型输入的最小单元。特殊tokens用于执行特殊任务。例如,分类标记[CLS]被应用于分类任务的聚合序列表示,并且分隔符标记[SEP]被用于区分两个句子。这些tokens通过将具有相似含义的单词分配到相似的向量空间中来转换为向量表示。这些token的向量表示被称为词向量编码(word enbedding)(简单理解就是将每个tokens 进行一个编码器编码,将每个单词变换为向量,便于进一步处理),NLP模型利用它们来有效地理解自然语言。在我们的问题中,我们将点与线段的关系类比为自然语言中单词与句子之间的关系。

2.Transformer :作者使用Transformers来建立直线特征描述子模型。Transformer的编码器由 两部分组成:MSA和MLP层。将Transformer堆叠L次,得到line Descriptor。z0为Transformers的输入,Eline为描述子的初始状态;En表示第n个特征点的描述向量;Epos表示每个特征点的位置信息;为了解决直线特征长度不同的问题,加入mask0来去除相关性比较低的特征点;d即为得到的直线特征描述子过程如下:

B LIne Signature Networks
根据直线的位置、角度将直线聚成一簇,并且相邻直线的信息(位置、角度)通过信息传递网络共享。传递公式如下所示:

C Sublines to Keylines
由于Transformers有最大tokens数量限制,对于直线特征来说就是会限制直线上的最大特征点数,也即会限制最大直线长度。为了解决这个问题,本文提出了Sublines,Keylines的概念。原本的直线成为Keyline,当直线长度超过最大长度限制时,就会把原本的直线切分成多个子直线即Subline,同时设计了邻接矩阵(Adjacency Matrices )可以将Subline描述子距离矩阵与Keyline距离矩阵转换。如下所示:


D loss Function

其中,ai为锚描述子(计算相似度检测的描述子),Pi为正描述子(根据相似度采取一定阈值人为正确匹配上的描述子),ni为负描述子(错误描述子),就是使匹配上的描述子之间的距离最小,未匹配上的描述子之间的距离最大。