SuperPoint:Self-Supervised Interest Point Detection and Description 论文阅读
简介
- 监督学习从图像中提取点的方法被广泛研究
- 物体检测
- 人体关节位置检测
- 等等
特征点的语义信息不明确,难以进行人工标注,如何进行网络训练?
文中的思路为
- 自动标注得到伪真实值
- 生成特征点位置无歧义的虚拟数据集
- 训练得到特征提取网络MagicPoint
- 对图片进行旋转、缩放等变换并利用MagicPoint进行提取,集合所有提取得到的特征点位置作为伪真实值(添加了旋转不变性和尺度不变性)
- 转换为成熟的监督学习,设计网络进行学习
总结如下图:

因此,总结创新点如下:
- 提出了一种自监督训练提取特征点和描述子的方法
- 提出了一种生成伪真实特征点标签方法
- 针对全图进行而非基于patch
这篇文章最突出的点在于不再是用网络逼近拟合现有的传统特征点了,而更接近数据驱动自己找到的特征点。但并没有完全实现直接从数据中学到而是利用了虚拟数据集中的训练结果。
方法
网络结构
整体网络架构如下图:

包括三个部分
- 共享特征提取编码网络
- VGG风格网络,结构为
- H×W×64→H×W×64→H/2×W/2×64→H/2×W/2×64→H/4×W/4×128→H/4×W/4×128→H/8×W/8×128→H/8×W/8×128H\times W \times 64 \to H\times W \times 64 \to H/2\times W/2 \times 64 \to H/2\times W/2 \times 64 \to H/4\times W/4 \times 128 \to H/4 \times W/4 \times 128 \to H/8\times W/8 \times 128 \to H/8\times W/8 \times 128H×W×64→H×W×64→H/2×W/2×64→H/2×W/2×64→H/4×W/4×128→H/4×W/4×128→H/8×W/8×128→H/8×W/8×128
- 特征点提取解码网络
- 网络结构
- 输入 H/8×W/8×128H/8\times W/8 \times 128H/8×W/8×128 特征
- 卷积得到H/8×W/8×65H/8\times W/8 \times 65H/8×W/8×65
- channel-wise softmax 变换,并去掉第 65层得到H/8×W/8×64H/8\times W/8 \times 64H/8×W/8×64
- reshape 操作将 H/8×W/8×64H/8\times W/8 \times 64H/8×W/8×64 大小矩阵转换为 H×W×1H\times W \times 1H×W×1 代表最终得分
- 为什么要构建65层,需要额外的一行特征?
- 如果只有64层,那么经过softmax之后,所有的得分之和就会等于1,这意味着这个小区域即使是完全空白也将获得平均得分 1/64
- 因此65行存在的意义在于当这个小区域没有特征时,这一行数据非常大,使得整体经过softmax之后前64行的得分很小,从而使得该区域被标记为没有特征点的区域。
- 网络结构
- 描述子解码网络
- 网络结构
- 输入 H/8×W/8×128H/8\times W/8 \times 128
- 网络结构
自监督学习特征点检测与描述子方法:SuperPoint解析

本文详细介绍了SuperPoint论文,该方法通过自监督学习来提取图像特征点和描述子。它创新地使用自动标注的虚拟数据集,通过旋转和缩放等变换生成伪真实值,训练网络进行特征检测。网络结构包含共享特征提取、特征点检测和描述子解码部分。损失函数结合了特征点检测和匹配误差。尽管在特征点检测上表现出色,但在描述子匹配方面仍有提升空间。实验表明,SuperPoint在特征点重复率上优于传统方法,但在某些匹配任务上效果一般。
最低0.47元/天 解锁文章
1097

被折叠的 条评论
为什么被折叠?



