D2-Net: A Trainable CNN for Joint Description and Detection of Local Features(CVPR2019)

目录

Feature

Abstract

Introduction

Joint Detection and Description Pipeline

Feature Description

Feature Detection

Hard feature detection

Soft feature detection

Multiscale Detection

Jointly optimizing detection and description

Training loss

         Experimental results

Improvement 

         Shortcoming


Feature

监督方法,稀疏匹配,密集匹配

特征点定位精度较差、速度慢,但对光照变化、模糊变化等鲁棒性较高

Abstract

本文解决了在困难的成像条件下找到可靠的像素级匹配的问题

本文提出了一种使用单个卷积神经网络同时进行特征检测并提取密集的特征描述符的方法。通过将检测放到处理的后期阶段,从而获得更稳定的关键点。该模型使用从大规模SFM重建中提取的像素对应来训练。

Introduction

在图像之间建立像素级对应关系是计算机视觉中的基本问题之一,现在主要的方法包括稀疏匹配和密集匹配

稀疏匹配一般采用检测然后描述的方法(如下图a),这种方法效率高、速度快,但由于图片中低纹理区域或是重复场景的出现,这种方法可能无法提取到特征点或提取到错误的特征点,其本质原因在于detector只使用了浅层图像信息

密集匹配直接使用深层特征来获得密集特征描述,不使用detector,从而有更高的鲁棒性,但计算效率大大降低

本文提出了一种足够鲁棒的sparse local feature方法(如下图b),将detector放在深层特征后与decriptor高度耦合而一起实现,从而既有sparse方法的高效性,又有dense方法的鲁棒性

Joint Detection and Description Pipeline

与传统的使用两阶段的检测方法不同,本文的方法使用密集的特征提取与描述,但最终获得稀疏的特征点和对应的描述符。这里称它为D2-Net,如下图所示:

D2-Net的第一步是使用CNN网络 F 提取高层次特征,得到 F=F(I),F\epsilon \mathbb{R}^{h\ast w\ast n}

Feature Description

直接使用 (i,j) 处  的channel方向上的向量作为该点的描述符:

此外,在应用描述符进行匹配之前,应对其进行归一化:

Feature Detection

对3D张量 F 的每一层feature map来说,有:

这里,CNN网络 F 可以看作是 n个不同的特征检测器,每个都产生一个二维响应  。这些检测响应图类似于SIFT中获得的高斯差分响应图。为了确定最终特征点的位置,这些原始分数需要进行后处理

Hard feature detection

为模仿如DoG中的稀疏化,可以使用如下方案:

即对于像素 (i,j) ,先选择响应最大的探测器  ,然后验证在该响应图上该位置是否是局部最大值

Soft feature detection

上述的hard方案在反向传播时会遇到困难(如判断是否是局部最大值),因此这里将其改进为一个soft方案:

首先定义soft local-max score

N(i,j) 是(i,j) 的8邻域并包括它本身

其次定义了ratio-to-max

得到得分图:

也即只有 (i,j) 位置的各个响应图 D^{k} 中存在响应尽可能比其他检测器大并且尽可能是局部最大值的点,  的得分将越高

最终得到响应图:

Multiscale Detection

虽然CNN描述符由于数据增强以及卷积核的大小、池化层等而具有一定的尺度不变性,但这种不变性主要体现在局部,在视点差异显著的情况下匹配往往会失败。因此本文在前向推理的过程中使用了图像金字塔

给定输入图像 I ,构造三种不同分辨率(  ,对应半分辨率、全分辨率和二倍分辨率)的图像  ,并提取每个分辨率的特征图  ,并计算各个分辨率的特征图:

这里使用双线性插值进行分辨率的恢复

此外,为了防止重复检测特征:从最粗的尺度开始,标记检测到的位置(包括邻域),并在较细尺度忽略这些区域

Jointly optimizing detection and description

Training loss

检测出的关键点在视角或照明的变化下应是可重复的;得到的描述符应是独特的,以防止误匹配。为此,这里使用了改进的triplet margin ranking loss

triplet margin ranking loss

对于图像对 (I_{1},I_{_{2}}) ,可以得到正例间的距离:

以及负例间的最小距离:

这里的负例是从对应的特征点的邻域外选取的描述符与特征点最近的点:

triplet margin ranking loss如下,其中 M 是超参:

Experimental results

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

Improvement 

直观地说,这种损失通过惩罚可能导致错误匹配的描述符来加强描述符的独特性,但对于检测来说并无约束。为了进一步约束检测的可重复性,这里添加了一个系数项:

S 为检测时最终的响应分数,C 为所有的对应点;当triplet loss越小时,也即当前点对是越显著的对应点时,检测分数将尽可能地大,从而保证检测器的可重复。

Shortcoming

特征点定位精度较差、速度慢

在SFM、SLAM等应用场景下,实时性效果不一定有(SIFT、ORB等)效果好

论文链接:https://arxiv.org/pdf/1905.03561.pdf
代码链接:GitHub - mihaidusmanu/d2-net: D2-Net: A Trainable CNN for Joint Description and Detection of Local Features

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值