论文笔记:MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching

  • Abstract
  • Introduction
  • Related work
  • Network architecture
  • Training and prediction
    • Sampling in training
    • A two-stage prediction pipeline
  • Experiments
  • Summary

Abstract

MatchNet:一个用来从patches中提取特征的深度卷积网络 + 一个用来比较提取出的特征相似度的三层全链接网络构成。

Introduction

在MatchNet中,每个patch输入卷积网络,生成一个固定维度的类似SIFT的特征。但与SIFT不同,SIFT中衡量两个descriptors的异同是用欧拉距离来计算;在MatchNet中,用的是一个三层的全链接网络。

Related work

这部分介绍相关工作。

Network architecture

总体网络结构如下:
论文笔记:MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching_第1张图片

包含的不同类型的层的参数如下:
论文笔记:MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching_第2张图片

具体结构:
Feature network:卷积层用到的激活函数是ReLU。结构是受AlexNet的启发。

Metric network:使用激活函数为ReLU的三层全链接层来比较features间的相似度。FC3使用了Softmax。其输入是一对features。输出是两个在[0,1]之间的浮点型,非负,和为1,代表网络估计两个patches间的匹配度。

Two-tower structure with tied parameters:两个塔状的网络用的是同样的参数。

The bottleneck layer:这一层用来降低feature的维度,并且控制网络的过拟合。它是一个大小为 B 的全链接层,输入为Pool4的大小(8864),输出为 B ,在之后有给出B对匹配结果的影响。

The preprocessing layer:预处理层,输入为灰度图,按照目前的惯例对其强度值 x (in [0, 255])正规化,(x128)/160

Training and prediction

Feature and metric networks两个网络一起训练,其cross-entropy error为:
E=1nni=1[yilog(yi^)+(1yi)log(1yi^)]

目的是minimize上式,训练方法是batch size为32的SGD。
其中有 n 对patch pairs。
yi为输入对 xi 0/1 标签, 1 代表匹配。
v0(xi) v1(xi) 是FC3输出的两个值。
yi^ 1yi^ 是FC3输出的两个值经过Softmax计算后的结果,公式如下:
yi^=ev1(xi)ev1(xi)+ev0(xi)

论文中提出,经过实验,使用朴素的学习率为0.01的SGD在validation集中得到了比较好的准确度。训练整个网络时间花费在18小时到1周之间(・∀・(・∀・(・∀・*)。使用一些学习率褪火的方法可能可以加快训练速度。

Sampling in training

因为训练中,matching(+)和non-matching(-)的pairs总是不平均,因此采样平均在训练中很重要。

论文中用的是如下采样算法:
论文笔记:MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching_第3张图片

这里我并没有读懂这个算法。论文中介绍其R值为16384时比较好。

扩展阅读是[32]:J. S. Vitter. Random sampling with a reservoir. ACM Trans.
Math. Softw., 11(1):37–57, 1985.

A two-stage prediction pipeline

训练特征的步骤和比较相似度的步骤可以分开,其整个流水线如下图所示:
论文笔记:MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching_第4张图片

Experiments

实验结果:
论文笔记:MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching_第5张图片

Summary

全篇读下来,读懂了的关键部分是网络的结构部分。至于训练部分可能是需要上手代码来操作的。
有几个问题:
1.patch-based image matching的中patch的含义是什么?我的理解是patch为一张图片里面的关键特征的截图部分。
2.训练集,论文中有关UBC patch dataset的URL是404。
3.采样算法没有看懂,但准备跳过论文直接上手代码。
4.Experiments部分比较快的浏览了一下,上手调参的时候再来看一些关于参数细节。

你可能感兴趣的:(Machine,Learning,CV,DL)