介绍

该文提出一种基于深度学习的特征描述方法,并且对尺度变化、图像旋转、透射变换、非刚性变形、光照变化等具有很好的鲁棒性。该算法的整体思想并不复杂,使用孪生网络从图块中提取特征信息(得到一个128维的特征向量),并且使用L2距离来描述特征之间的差异,目标是让匹配图块特征之间的距离缩短,让不匹配图块特征之间的距离增大

数据集及模型结构

  1. 数据集

    论文使用的是一个叫做MVS的建筑物数据集,包含了1.5M张\(64 \times 64\)张的灰度图来自500K个3D points。

  2. 网络的结构:

3.损失函数:

\[l\left(\mathbf{x}_{1}, \mathbf{x}_{2}\right)=\left\{\begin{array}{cc}
\left\|D\left(\mathbf{x}_{1}\right)-D\left(\mathbf{x}_{2}\right)\right\|_{2}, & p_{1}=p_{2} \\
\max \left(0, C-\left\|D\left(\mathbf{x}_{1}\right)-D\left(\mathbf{x}_{2}\right)\right\|_{2}\right), & p_{1} \neq p_{2}
\end{array}\right.
\]

解释一下,C是一个最小距离阈值;两个图像块$ x_1, x_2$,如果它们来自同一个3D point \(pi\),则使用(1)的上半部分计算损失函数,否则使用下半部分计算损失函数。

  1. Mining

论文作者提出了一个训练模型的创新方法:

随着训练的进行,随机选择的负向样本之间的距离很容易就超过阈值C,使得损失变成0,无法有效的对网络进行训练了。也就是说,随机选择的负向样本太简单了,他们本身之间的距离就很大,无法有效的训练网络。因此作者希望能够从数据集中寻找到“困难”的样本,什么才算是困难样本呢,对于负向样本而言,就是他们之间的距离很小,非常相似,但却不属于一个3D点;对于正向样本而言,就是他们属于同一个3D点,但特征之间的距离却很大。这样的样本对模型训练有很好的促进作用。为了实现这个目标,作者先随机采样了一个包含\(s_n\) 个点的负样本集,然后经过一次正向的运算(网络正向传播)并计算损失,然后仅保留其中\(s_n^H\)个点构成的困难样本子集,并将这部分的损失反向传播回去,对网络参数进行训练。对于正向样本也采用同样的策略,来挖掘困难样本。

结果:

Last

这个PR curves应该与是某个指标有关,以后遇到了再查阅。

Discriminative Learning of Deep Convolutional Feature Point Descriptors 论文阅读笔记的更多相关文章

  1. Learning local feature descriptors with triplets and shallow convolutional neural networks 论文阅读笔记

    题目翻译:学习 local feature descriptors 使用 triplets 还有浅的卷积神经网络.读罢此文,只觉收获满满,同时另外印象最深的也是一个浅(文章中会提及)字. 1 Cont ...

  2. 论文笔记之:UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS

    UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS  ICLR 2 ...

  3. 论文学习 :Learning a Deep Convolutional Network for Image Super-Resolution 2014

    (Learning a Deep Convolutional Network for Image Super-Resolution, ECCV2014) 摘要:我们提出了一种单图像超分辨率的深度学习方 ...

  4. [论文阅读笔记] node2vec Scalable Feature Learning for Networks

    [论文阅读笔记] node2vec:Scalable Feature Learning for Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 由于DeepWal ...

  5. 论文阅读笔记 Improved Word Representation Learning with Sememes

    论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...

  6. 论文阅读笔记(二十一)【CVPR2017】:Deep Spatial-Temporal Fusion Network for Video-Based Person Re-Identification

    Introduction (1)Motivation: 当前CNN无法提取图像序列的关系特征:RNN较为忽视视频序列前期的帧信息,也缺乏对于步态等具体信息的提取:Siamese损失和Triplet损失 ...

  7. [论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks

    [论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks 本文结构 解决问题 主要贡献 算法 ...

  8. [论文阅读笔记] Structural Deep Network Embedding

    [论文阅读笔记] Structural Deep Network Embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 现有的表示学习方法大多采用浅层模型,这可能不能 ...

  9. [论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks

    [论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问 ...

随机推荐

  1. 【LeetCode】748. Shortest Completing Word 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...

  2. [算法笔记-题解]问题 D: 习题4-4 三个整数求最大值

    问题 D: 习题4-4 三个整数求最大值 [命题人 : 外部导入] 时间限制 : 1.000 sec 内存限制 : 12 MB 题目描述 有3个整数a, b, c,由键盘输入,输出其中最大的数. 输入 ...

  3. Android物联网应用程序开发(智慧园区)—— 登录界面开发

    效果: 布局代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

  4. 智慧巨鹿使用Rainbond落地实践,一个平台管理所有应用系统

    背景 大家好,我是北京数立通科技有限公司的李栋.最近几年,我一直负责"智慧巨鹿"这一智慧城市项目的运行与维护工作.这个项目涉及到10多家供应商开发的 30 多套智慧城市应用的运维管 ...

  5. Log4j2基本使用入门

    1.Log4j2简介 Apache Log4j 2是日志框架Log4j的升级, 它比其前身Log4j 1.x提供了重要的改进, 并且参考了Logback中许多有用的改进, 同时修复了Logback的一 ...

  6. .net core的配置介绍(一):IConfiguration

    说到配置,绝大部分系统都会有配置,不需要配置的系统是非常少的,想想以前做.net 开发时,我们常常将配置放到web.config中,然后使用ConfigurationManager去读取. 初次接触到 ...

  7. BOM 点击触发 倒计时发送验证码案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. python中多模块导入的注意点

    导入模块常见的方式有  import xxx ,from xxx import yyy  或者 from xxx import yyy as a(为导入包(方法)取别名主要用于防止包名与模块中的变量重 ...

  9. vim - 显示不可见字符(:set list)

    默认情况下,vim是不会显示space,tabs,newlines,trailing space,wrapped lines等不可见字符的.我们可以使用以下命令打开list选项,来显示非可见字符: : ...

  10. Java复制文件用数据流方法,renameTO()方法是相当于剪切操作

    我想达到的效果是,一个文件复制到另一个地方,然后重命名 //判断是否存在 File file = new File("D:/tomcat9.0.12/apache-tomcat-9.0.12 ...