论文:

  本文主要贡献:

  1、提出了一种新的采样策略,使网络在少数的epoch迭代中,接触百万量级的训练样本;

  2、基于局部图像块匹配问题,强调度量描述子的相对距离;

  3、在中间特征图上加入额外的监督;

  4、描述符的紧实性。

  基于CNN的局部图像块匹配方法可以分为两类:一是,作为二分类问题,不存在明确的特征描述子概念,好处是准确率相对第二类高很多,但可移植性能差;二是,CNN输出学习的图像块描述子,没有度量学习层,好处是可以作为以前的很多基于手工描述子方法应用的直接替代。

  A、网络框架:

  左边是输入:32*32*1图像块,输出128的特征描述子;右边是双塔结构,The input of the tower on the left is the same with a solo L2-Net, while the input of the tower on the right is generated by cropping and resizing the central part of the original patches.

 B、数据集

  Brown dataset 和HPatches dataset 数据集

C、训练数据的采样策略

  由于采集的数据patch中正负样本极度不平衡,大量的负样本,之前的方法是选取等量的正负样本作为固定的训练数据集,但这违背了实际中测试数据存在大量负样本的事实。本文采用随机采样的方式,,其中1和2是匹配点对,经过特征提取网络得到,通过L2范数计算特征描述子的距离矩阵,其大小为p*p,对角线上的是正样本点对距离,其他位置是负样本。

D、损失函数

  包括三个方面:

  • (1)描述子相似性。相对的距离度量匹配和不匹配图像块对;
  • (2)描述子的紧实性。让更少维度的描述子包含足够多的特征信息,减少冗余,也就是说描述子的维度尽量减少相关性冗余;
  • (3)在特征提取网络中间层的特征图增加约束,而不只是在最后,匹配的特征图更相近,不匹配远离。

 E、训练及预测

  左边框架正常输入64*64*1图像块;右边训练时,用训练好的左边框架参数初始化双塔结构的左边网络,左边固定不变,更新右边参数直至收敛。

  数据扩充方式:垂直、水平翻转;选择90,180,270度。

  结论:

  (1)紧致性学习很重要。由于数据量巨大,对于网络来说,记住数据比学习泛化性特征更容易些,因此如果没有这个约束,网络过拟合严重,学习输出的特征相关性较大,存在特征维度的冗余,因此紧致性约束的重要性高于训练数据选择的策略,同时解决了过拟合问题;

  (2)训练样本的选择策略很重要,充分利用数据。

  (3)损失函数的设计,从多个角度约束特征描述子的学习,得到更紧致的特征,特征图的约束提高了网络性能。

论文笔记 — L2-Net: Deep Learning of Discriminative Patch Descriptor in Euclidean Space的更多相关文章

  1. 论文笔记(1):Deep Learning.

    论文笔记1:Deep Learning         2015年,深度学习三位大牛(Yann LeCun,Yoshua Bengio & Geoffrey Hinton),合作在Nature ...

  2. 论文笔记: Dual Deep Network for Visual Tracking

    论文笔记: Dual Deep Network for Visual Tracking  2017-10-17 21:57:08  先来看文章的流程吧 ... 可以看到,作者所总结的三个点在于: 1. ...

  3. ISSCC 2017论文导读 Session 14 Deep Learning Processors,A 2.9TOPS/W Deep Convolutional Neural Network

    最近ISSCC2017大会刚刚举行,看了关于Deep Learning处理器的Session 14,有一些不错的东西,在这里记录一下. A 2.9TOPS/W Deep Convolutional N ...

  4. ISSCC 2017论文导读 Session 14 Deep Learning Processors,A 2.9TOPS/W Deep Convolutional Neural Network SOC

    最近ISSCC2017大会刚刚举行,看了关于Deep Learning处理器的Session 14,有一些不错的东西,在这里记录一下. A 2.9TOPS/W Deep Convolutional N ...

  5. 论文笔记之: Deep Metric Learning via Lifted Structured Feature Embedding

    Deep Metric Learning via Lifted Structured Feature Embedding CVPR 2016 摘要:本文提出一种距离度量的方法,充分的发挥 traini ...

  6. 论文笔记之:Deep Reinforcement Learning with Double Q-learning

    Deep Reinforcement Learning with Double Q-learning Google DeepMind Abstract 主流的 Q-learning 算法过高的估计在特 ...

  7. 论文笔记:Improving Deep Visual Representation for Person Re-identification by Global and Local Image-language Association

    Improving Deep Visual Representation for Person Re-identification by Global and Local Image-language ...

  8. 论文笔记之:Deep Attributes Driven Multi-Camera Person Re-identification

    Deep Attributes Driven Multi-Camera Person Re-identification 2017-06-28  21:38:55    [Motivation] 本文 ...

  9. ISSCC 2017论文导读 Session 14 Deep Learning Processors,DNPU: An 8.1TOPS/W Reconfigurable CNN-RNN

    转载请注明,本文出自Bin的专栏http://blog.csdn.net/xbinworld,谢谢! DNPU: An 8.1TOPS/W Reconfigurable CNN-RNN Process ...

随机推荐

  1. ThinkPHP的create方法的一系列操作

    1.数据操作状态 create方法的第二个参数可以指定数据的操作状态,默认是自动判断的(写入[Model:MODEL_INSERT或者1].更新[Model:MODEL_UPDATE或者2].也可以自 ...

  2. javafx 普通弹框提示

    new Alert(Alert.AlertType.NONE, "xxx不存在", new ButtonType[]{ButtonType.CLOSE}).show();

  3. java中参数传递的问题

    public class Test { public static void main(String[] args) { StringBuffer a = new StringBuffer(" ...

  4. (4.11)DBCC 常用命令

    三.DBCC状态.验证.其他语句 跟踪标识全集:https://www.cnblogs.com/lyhabc/articles/4092507.html 状态语句DBCC INPUTBUFFER 显示 ...

  5. 74LS85 比較器 【数字电路】

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011368821/article/details/27959219 74LS85 demo: 11 ...

  6. ASP.NET MVC string赋值Html格式在显示View问题总结

    ViewBag.Content = "<p>你好</p>"; string 类型的赋值一个 "<h1>你好</h1>&qu ...

  7. 做测试时,启动SpringBoot出现警告,在ClassPath中一个类多次出现

    Found multiple occurrences of org.json.JSONObject on the class path: jar:file:/C:/Users/niaomingjian ...

  8. 每天一个Linux命令(51)ss命令

        ss命令用来显示处于活动状态的套接字信息.     (1)用法:     用法:  ss  [参数]  ss  [参数]  [过滤]     (2)功能:     功能:  ss是类似nets ...

  9. Linux Shell基础 read命令

    read命令 read 命令用于接收标准输入(键盘)的输入,或者其他文件描述符的输入.得到输入后,read 命令将数据放入一个标准变量中,read 命令格式如下: [root@localhost ~] ...

  10. ETL应用:使用Pro*C写入文件信息入库的方法

    ETL处理过程中,经常需要进行文件校验,如文件级校验.记录级校验,需要保存文件的基本信息,文件名.文件大小.数据日期等,使用Pro*C的一种方法如下: #include <stdio.h> ...