笔记: SuperPoint: Self Supervised Interest Point Detection and Description 深度学习特征点检测

时间:2024-04-09 15:08:13

                                           SuperPoint: Self Supervised Interest Point Detection and Description

        2018年magicLeap发表了一篇文章,基于自监督训练的特征点检测和描述符提取方法,又是一个深度学习用于特征点提取和匹配的方法,与16年的LIFT相比,具有很大的优势。如果使用这种方式提取特征点描述符用于SLAM中,会对前端算法具有很大改善和提升;如果描述符具有优良特性,在定位场景下,可以对季节和环境光照具有更强的鲁棒性。

笔记: SuperPoint: Self Supervised Interest Point Detection and Description 深度学习特征点检测

这篇文章提出了一种可以自我学习的的方法,通过构建pseudo-ground truth的特征点位置,并通过这些点本身来训练特征点检测器,从而避免了大量人力手工标注。

笔记: SuperPoint: Self Supervised Interest Point Detection and Description 深度学习特征点检测

  1. 首先构建一个合成形状的数据集,图片包含简单的几何形状并具有明确的特征点,使用这些点来训练检测器 -- MagicPoint;
  2. 对未被标注的图像进行单应变换(Homographic Adaptation.), 使用上面训练的检测器来检测变换后的图像,相当于对图像进行标注;
  3. 结合感兴趣点和描述符来训练全卷积神经网络,于是就得到最终的检测器--SuperPoint.;

SuperPoint的框架如图所示:

笔记: SuperPoint: Self Supervised Interest Point Detection and Description 深度学习特征点检测

输入时一种全尺寸的图像,使用一个编码器对图像进行降维,两个解码器输出分别为感兴趣特征点和描述符。该种框架的损失函数包含两部分,特征点检测与特征点描述符:

笔记: SuperPoint: Self Supervised Interest Point Detection and Description 深度学习特征点检测

笔记: SuperPoint: Self Supervised Interest Point Detection and Description 深度学习特征点检测笔记: SuperPoint: Self Supervised Interest Point Detection and Description 深度学习特征点检测

笔记: SuperPoint: Self Supervised Interest Point Detection and Description 深度学习特征点检测

使用合成图像来训练的特征点检测器效果相比于传统特征点检测方法,可以提出更好的特征点。描述符计算类似于UCN(Universal Correspondence Network)模型,输出稀疏描述符。

训练合成图像(Synthetic Pre-Training)

首先构建一个合成图像数据库,在这些图片里感兴趣点包括Y,L,T,小椭圆中心和直线段端点,通过缩放,单应变换扩充训练样本。这些样本可以认为是真实世界中感兴趣点的子集,这种设计其实是非常巧妙的方法,避免了繁重的人工标注过程。这一步训练的结果叫做MagicPoint,这种检测器的性能远远优于传统的特征检测器。

单应变换适应(Homographic Adaptation)

笔记: SuperPoint: Self Supervised Interest Point Detection and Description 深度学习特征点检测

这一步的操作就是把输入的未打标签的图像,进行随机的单应变换,然后使用上面的特征点检测器MagicPoint来分别对变换后的图像进行检测,最后把每张图检测到的特征点还原到原图中,那么就尽可能多的实现原图中感兴趣点的检测,SuperPoint。

笔记: SuperPoint: Self Supervised Interest Point Detection and Description 深度学习特征点检测

总结:

这种特征点检测器与描述符提取与传统方式相比,具有很明显的优势,这种方法可以应用于SLAM,SFM或者其他用到特征点提取以及描述符匹配的场景。虽然深度学习目前还不能很好的支持SLAM中的几何计算和位姿估计,但是在特征点跟踪和匹配上可以做得很好,相信在不久的将来,深度学习在SLAM中会有更多的应用。