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


      论文:https://github.com/ei1994/my_reference_library/tree/master/papers

      本文的贡献点如下:

      1. 提出了一个新的利用深度网络架构基于patch的匹配来明显的改善了效果;

      2. 利用更少的描述符,得到了比state-of-the-art更好的结果;

      3. 实验研究了该系统的各个成分的有效作用,表明,MatchNet改善了手工设计 和 学习到的描述符加上对比函数;

      4. 最后,作者 release 了训练的 MatchNet模型。

      网络框架:

      主要有如下几个成分:

      A:Feature Network.

      主要用于提取输入patch的特征,主要根据AlexNet改变而来,有些许变化。主要的卷积和pool层的两段分别有 preprocess layer 和 bottleneck layer,各自起到归一化数据和降维,防止过拟合的作用。激活函数:ReLU.

      B:Metric Network.

      主要用于feature Comparison,3层fc 加上 softmax,输出得到图像块相似度概率。

      C:Two-tower structure with tied parameters

      在训练阶段,特征网络用作“双塔”,共享参数。双塔的输出串联在一起作为度量网络的输入。The entire network is trained on labeled patch-pairs generated from the sampler to minimize the cross-entropy loss. 在预测的时候,这两个子网络A 和 B 方便的用在 two-stage pipeline. 如下图所示:

      D:The bottleneck layer

      用来减少特征表示向量的维度,尽量避免过拟合。在特征提取网络和全连接层之间,控制输入到全连接层的特征向量的维度。

      E:The preprocessing layer

      输入图像块预处理,归一化到(-1,1)之间。

      MatchNet 的具体参数如下表所示,注意Bottleneck 和 FC 中参数的选择。

      训练和预测:

      交叉熵损失,SGD优化,由于数据正负样本的不平衡性,会导致实验精度的降低,本文采用采样的训练方法,在一个batchsize中,选择一半正样本,一半负样本进行训练。

      特征网络和度量网络是联合训练的,使用交叉熵损失函数。在测试阶段,可以分开进行,先将图像块经过特征提取网络得到特征编码并保存,然后组合这些特征,输入到度量网络中得到N1*N2的得分矩阵。

      总结:

      1、MatchNet网络就是 siamese的双分支权重共享网络,与论文Learning to Compare Image Patches via Convolutional Neural Networks有共通之处。CNN提取图像块特征,FC学习度量特征的相似度。

      2、本文指出,在测试阶段,可以将特征网络和度量网络分开进行,避免匹配图像时特征提取的重复计算。首先得到图像块的特征编码保存,之后输入度量网络中,计算得到N1*N2的得分矩阵。

    参考文献:

    https://www.cnblogs.com/wangxiaocvpr/p/5515181.html

  • 相关阅读:
    CSS基础教程要点笔记
    Python编程入门-第六章 字符串 -学习笔记
    Swift游戏实战-跑酷熊猫 08 产生源源不断的移动平台
    Swift游戏实战-跑酷熊猫 07 平台的移动
    ANE-IOS与AS的互通
    Swift游戏实战-跑酷熊猫 06 创建平台类以及平台工厂类
    Swift游戏实战-跑酷熊猫 05 踩踏平台是怎么炼成的
    构建针对 iOS 和 Android 的原生扩展
    ANE打包心得
    Swift游戏实战-跑酷熊猫 04 熊猫的跳和滚的动作
  • 原文地址:https://www.cnblogs.com/eilearn/p/9973480.html
Copyright © 2020-2023  润新知