论文阅读之FaceNet: A Unified Embedding for Face Recognition and Clustering
名称:FaceNet: A Unified Embedding for Face Recognition and Clustering
时间:2015.04.13
来源:CVPR 2015
来自谷歌的一篇文章,这篇文章主要讲述的是一个利用深度学习来进行人脸识别的方法,目前在LFW上面取得了最好的成绩,识别率为99.63%。传统的基于CNN的人脸识别方法为:利用CNN的Siamese网络来提取人脸特征,然后利用SVM等方法进行分类。而本篇文章提出了一个方法叫做FaceNet,它直接学习图像到欧式空间上点的映射,其中两张图像对应的特征的欧式空间的距离用来直接判断两张图片的相似度。这篇文章的最大创新点是提出了不同的损失函数,直接优化特征本身,用特征空间上点的距离来判断两张图片是否是同一类。
上图是文章中所采用的网络结构,其中可以看出,其中,前面部分跟CNN是相同的,只是后面接一个特征归一化(使其特征的||f(x)||2=1,这样子,所有图像的特征都会被映射到一个超球面上),接着再去优化这些特征,而文章这里提出了一个新的损失函数(优化函数),而这也是文章最大的特点所在。
什么是Triplet Loss呢,顾名思义也就是有三张图片输入的Loss(之前的都是Double Loss或者是 Single Loss),本文直接学习特征间的可分性:相同身份之间的特征距离要尽可能的小,而不同身份之间的特征距离要尽可能的大。
对于Triple loss如下图所示
意思就是通过学习,使得类间距离要大于类内的距离,Anchor为 系统选定的锚点。
优化函数为
上式表达的含义是左边类内的距离加上边际数值α要小于右边类间的距离,这个约束要在所有的Triplet图像对上都成立,那么损失函数为
在上式中,如果严格按照上式进行学习的话,它的T(穷举所有的图像3元组)是非常巨大的。
FE:在一个1000人,没人有20张图片的情况下,其所有的可能组合为T=10002020999。O(T)=NN,所以穷举是很困难的,那么我们该如何从这么多的图像中挑选呢?答案是选择最难区分的图像对。
给定一张人脸图片,我们要挑选其中的一张hard positive:即另外19张图像中,跟它最不相似的图片,同时选择一张hard negative:即在20*999张图像中跟它最为相似的图片。挑选hard positive和hard negative有两种方法,offline和online方法,具体的差别只在训练上。本文采用的是在线的方式,在min-batch中挑选所有的anchor positive图像对,同时依然选择最为困难的anchor negative图像对。
那么我们的问题就转为为了如何悬着最为困难的负样本,在实际训练中容易导致很快的陷入局部最优。为了避免这个问题,在选择negative的时候,使其满足式3,把这个约束称为半约束:
论文阅读之FaceNet: A Unified Embedding for Face Recognition and Clustering的更多相关文章
- [论文阅读笔记] Structural Deep Network Embedding
[论文阅读笔记] Structural Deep Network Embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 现有的表示学习方法大多采用浅层模型,这可能不能 ...
- [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion
[论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 (1 ...
- [论文阅读笔记] GEMSEC,Graph Embedding with Self Clustering
[论文阅读笔记] GEMSEC: Graph Embedding with Self Clustering 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 已经有一些工作在使用学习 ...
- 论文阅读:CNN-RNN: A Unified Framework for Multi-label Image Classification
CNN-RNN: A Unified Framework for Multi-label Image Classification Updated on 2018-08-07 22:30:41 Pap ...
- 【CV论文阅读】YOLO:Unified, Real-Time Object Detection
YOLO的一大特点就是快,在处理上可以达到完全的实时.原因在于它整个检测方法非常的简洁,使用回归的方法,直接在原图上进行目标检测与定位. 多任务检测: 网络把目标检测与定位统一到一个深度网络中,而且可 ...
- 【CV论文阅读】Two stream convolutional Networks for action recognition in Vedios
论文的三个贡献 (1)提出了two-stream结构的CNN,由空间和时间两个维度的网络组成. (2)使用多帧的密集光流场作为训练输入,可以提取动作的信息. (3)利用了多任务训练的方法把两个数据集联 ...
- 论文阅读 | Recurrent Attentional Reinforcement Learning for Multi-label Image Recognition
源地址 arXiv:1712.07465: Recurrent Attentional Reinforcement Learning for Multi-label Image Recognition ...
- [论文阅读]VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION(VGGNet)
VGGNet由牛津大学的视觉几何组(Visual Geometry Group)提出,是ILSVRC-2014中定位任务第一名和分类任务第二名.本文的主要贡献点就是使用小的卷积核(3x3)来增加网络的 ...
- [论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximati
[论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximation 本文结构 解决问题 主要贡献 主要 ...
随机推荐
- flutter GridView 网格布局
当数据量很大的时候用矩阵方式排列比较清晰.此时我们可以用网格列表组件 GridView 实 现布局. GridView 创建网格列表有多种方式,常用有以下两种. 1.可以通过 GridView.cou ...
- shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句
shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句条件语句 if(条件表达式) 动作1 else if(条件表达式) 动作2 else 动 ...
- 【转载】 DeepMind发表Nature子刊新论文:连接多巴胺与元强化学习的新方法
原文地址: baijiahao.baidu.com/s?id=1600509777750939986&wfr=spider&for=pc 机器之心 18-05-15 14:26 - ...
- 算法习题---5-4交换学生(UVa10763)
一:题目 有一组学生,他们手中分别有自己学校和想要去的目标学校(A,B).为了成功的交换学生,必须保证这一组学生中必须每两个人之间满足 s1 (A,B) 和 s2 (B,A).即两者原来和目标学校相对 ...
- shell脚本中执行mysql sql脚本文件并传递参数
1 shell 文件内容替换 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法. 调用sed命 ...
- Spring MVC 验证表单
在实际工作中,得到数据后的第一步就是检验数据的正确性,如果存在录入上的问题,一般会通过注解校验,发现错误后返回给用户,但是对于一些逻辑上的错误,比如购买金额=购买数量×单价,这样的规则就很难使用注 ...
- Win10安装Oracle Database 18c (18.3)
下载链接:https://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html 我这里选择最新的 ...
- zepto获取select元素当前选中option
//jQuery $("#select_city").find("option:selected"); //zepto $("#select_city ...
- 原生JavaScript常用本地浏览器存储方法四(HTML5 LocalStorage sessionStorage)
HTML5 LocalStorage浏览器的支持的情况如上图,IE在8.0的时候就支持了.不过需要注意的是,IE测试的时候需要服务器环境(或者localhost). 测试自然是检测浏览器是否支持本地存 ...
- Node.js Sequelize如何实现数据库的读写分离
一.前言 在构建高并发的Web应用时,除了应用层要采取负载均衡方案外,数据库也要支持高可用和高并发性.使用较多的数据库优化方案是:通过主从复制(Master-Slave)的方式来同步数据,再通过读写分 ...