当前位置: 代码迷 >> 综合 >> ContextDesc: Local Descriptor Augmentation with Cross-Modality Context 解读
  详细解决方案

ContextDesc: Local Descriptor Augmentation with Cross-Modality Context 解读

热度:31   发布时间:2023-10-27 02:58:23.0

基于跨模态上下文的局部描述子增强

github:https://github.com/lzx551402/contextdesc
论文:https://arxiv.org/abs/1904.04084
转载注明出处!

1.早期特征设计的目标:

可重复性:相同的“区域”可以在不同的图像中被找到;

可区别性:不同的“区域”有不同的表示;

高效性:同一张图像,特征点的数量应<<像素数量;

本地性:特征仅与一小片图像区域相关;

误匹配 由于图像特征的局部特性,场景中存在大量重复纹理,都有相似的特征描述,仅利用局部特征;
导致误匹配广泛存在,长期以来没有很好的解决办法,成为了制约视觉SLAM性能的一大瓶颈;

2.论文主要思想

通过区域信息和几何结构信息来增强原特征描述子;

它不包含关键点的检测.

加入高阶图像表示的视觉上下文;

加入关键点分布的几何上下文;

在这里插入图片描述

  • 从输入的单张图像中提取:
    关键点[k, 2];
    区域特征[H/32, W/32, 2048];
    基础描述子特征向量[k, 128];
  • 将三种信息转化为:
    几何信息;
    视觉信息;

3.GeoDesc(2018.8)–基础描述子

一种基于卷积神经网络的描述子;
输入是关键点的image patch,[32,32,1];
整个网络共7层;
输出尺寸是128维特征向量;
在这里插入图片描述

4.几何上下文模块

  • 此模块输入:
    K个关键点坐标;
    K个描述子,用来得到关键点的可匹配度;
  • 输出:
    是128维特征向量.
    在这里插入图片描述

5.可匹配度

  • 提出一种预测“匹配能力”的度量;
  • 目标是在匹配阶段之前, 确定一个关键点是否可匹配的;
  • 其实就是一种置信度,在经过多层卷积之后,使用tanh激活函数进性激活;
  • 在这里插入图片描述

6.Context Normalization(CN)

  • 在多层卷积中,加入CN技术,公式:在这里插入图片描述

  • 由于原始输出都是非负的,会影响表达能力,所以调整顺序,每个残差单元使用预激活, 能兼容CN. 替换了最后四个残差单元. 简单的变化却在减少优化负担中起到了关键的角色.
    在这里插入图片描述

7.视觉上下文模块

  • 输入:
    1)区域特征,尺寸是H/32W/322048;
    2)K个局部特征描述子(基础的局部描述子);
    3)k个关键点坐标;
  • 输出:
    K个增强后的带有视觉信息的特征向量;
    在这里插入图片描述

8.区域特征数与关键点匹配

在这里插入图片描述
在这里插入图片描述

  • nihao , 网格点坐标;
  • 在这里插入图片描述 ,关键点坐标;
  • 使用与距离成反比的加权平均特征来表示关键点的区域特征;
  • 使用K近邻来选取邻域,k=3;
  • 之后再通过多层卷积和squeeze,降低维度;

9.特征融合

  • 对于融合基础特征、几何上下文、视觉上下文特征, 简单的做法是将3种特征合并起来, 然而增加的维度将会在匹配阶段增加计算复杂度;
  • 因此,将3种特征加权求和,加入L2正则项,从而不改变维度;
  • 除了实现简单, 这种策略还可以灵活的运用. 例如,在区域特征不显著的情境,可以仅融合几何上下文,而不需要训练模型.
  • 在这里插入图片描述

10.N-pair损失函数

  • 原始的N-pair没有可调参数:
    在这里插入图片描述

  • 由于D输出是[0,2],导致softmax函数尺度敏感,从而导致收敛问题;
    所以乘以一个可训练的缩放因子α,初始化为1:

在这里插入图片描述

  • 可训练的,所以不需要人为干预或者复杂的启发式方法;
    实验证明,对比其原始形式,这一简单调整有很大的提升;
  • α参数训练日志:
    在这里插入图片描述

11.训练

  • 每次有1024个随机选取的关键点(包含关键点和噪声).
  • 输入patch都经过0均值和归一化.
  • 输入关键点坐标相对于图像,被规范到[-1,+1]之间.
  • 训练数据集:GL3D–一个大规模摄影旅游航拍数据集;

12.关于关键点检测

  • 虽然本文中并未讨论检测子,
  • 但作者认为更先进的关键点检测技术无疑可以带来很大提升;
  • 可以利用深度的方法来检测关键点,例如SuperPointNet;

13.评估

作者做了很多实验,结果都是state-of-the art,详细的可以看论文,我只是将我的见解讲一讲

  相关解决方案