• 一种基于Transformers架构的线描述子


    标题:Line as a Visual Sentence:Context-aware Line Descriptor for Visual Localization 

    作者:Sungho Yoon1 and Ayoung Kim2∗

    开源地址: https://github.com/yosungho/LineTR

    本文主要记录的是LT描述子的构建过程

    LT描述子的优点:

    1. 通过将线段视为句子,将点视为单词,提出了一种使用transformer架构的新型线段描述符。利用NLP作为线段描述符,可以处理各种可变长度的线段;
    2. 提出的线段描述符通过关注线段上更有意义的点来理解线段的上下文。它有效地将各种长度的线段抽象为固定大小的描述符;
    3. 建议在邻域之间共享线属性(例如,位置、角度、长度和描述符)信息的线签名网络。

    框架如图:

    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为负描述子(错误描述子),就是使匹配上的描述子之间的距离最小,未匹配上的描述子之间的距离最大。

            

             

  • 相关阅读:
    动态规划解决股票问题(上)
    【交互式阈值二进制图像】采用彩色或单色图像通过交互/手动方式阈值单色图像或彩色图像的单个色带研究(Matlab代码实现)
    线程三连鞭之“线程池”
    并发编程day05
    YOLOv8 多种任务网络结构详细解析 | 目标检测、实例分割、人体关键点检测、图像分类
    AndroidStudio打包报错记录(commons-logging,keystore password was incorrect)
    面试官问我:一个 TCP 连接可以发多少个 HTTP 请求?我竟然回答不上来...
    自己做网站需要考虑的问题
    面试官问我G1垃圾收集器,头都大了
    《棒球动漫》:无愧的青春·棒球1号位
  • 原文地址:https://blog.csdn.net/dsp1218/article/details/132642103