FaceNet: A Unified Embedding for Face Recognition and Clustering 笔记
来源:互联网 发布:淘宝被禁言了怎么解除 编辑:程序博客网 时间:2024/05/16 11:24
此文由google 于2015年发表
论文链接:http://xueshu.baidu.com/s?wd=paperuri%3A%28b5457de3c4f74fbbb7d4703e93dc5974%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Farxiv.org%2Fabs%2F1503.03832&ie=utf-8&sc_us=12680360272531669381
1.研究问题
人脸识别、人脸验证、人脸聚类
2.此文工作
传统的方法:首先利用softmax 损失函数训练网络,然后从网络中抽取某些层或输出层作为特征,然后基于此特征训练分类器,对人脸进行识别、验证。
FaceNet 则认为最后的分类器其实也可以用网络模拟,替代softmax。
FaceNet 采用三元损失函数训练网络,直接进行端到端学习一个图像到欧式空间的编码方式,然后基于这个编码再做人脸识别、人脸验证和人脸聚类。
2.1 模型结构
去掉了最后的softmax ,经过L2归一化,得到特征表示,再基于这个特征计算三元组损失。
2.2 Triplet Loss
2.3 Triplet Selection
很少的数据就能产生很多的三元组,选取合适的三元组可以加快收敛速度。
最粗暴的方式是对每个样本,找到离它最近的反例和最远的正例,然后优化,但是这样会有两个问题:耗时,比训练时间还长;容易受不好的数据主导。
采用的方法:
生成mini-batch, 每个mini-batch 中每个人平均有40张图片,然后随机加入一些反例
生成triplet, 不是找到所有的艰难正样本,而是找到所有的anchor-positive 对,然后根据这些特征对,找到semi-hard-negative
2.4 网络结构
此文中比较了好几个网络,有些网络很深,参数较多(1.4亿),也有网络较浅,参数较少(4.3百万,此网络可用于手机)。此文重点不在网络,可视为黑箱子。
2.5 人脸识别、人脸验证、人脸聚类
当完成端到端学习到图像到欧式空间的编码,则可以轻松完成以下三个任务:
人脸识别:成为一个k-NN 问题
人脸验证:对两个编码求欧氏距离,与阈值对比
人脸聚类:利用像k-means 之类的聚类算法
2.6 实验与讨论
训练数据:100-200M张图像,分布在8M个人上。恐怖!
结果:在LFW 上人脸不对齐,效果在98.87%左右,如果使用额外的人脸对齐,效果在99.63%,优于DeepID
3.总结
抛弃了softmax, 创造性的采用triplet-loss, 得到特征的欧式编码,使得人脸识别、验证、聚类大大简化。但是其超大量的训练数据他人难以效仿。
- FaceNet: A Unified Embedding for Face Recognition and Clustering 笔记
- FaceNet: A Unified Embedding for Face Recognition and Clustering
- FaceNet: A Unified Embedding for Face Recognition and Clustering
- FaceNet: A Unified Embedding for Face Recognition and Clustering
- 【深度学习论文笔记】FaceNet: A Unified Embedding for Face Recognition and Clustering
- 论文笔记 | FaceNet: A Unified Embedding for Face Recognition and Clustering
- 【论文笔记】FaceNet: A Unified Embedding for Face Recognition and Clustering
- 人脸识别“FaceNet: A Unified Embedding for Face Recognition and Clustering”
- FaceNet: A Unified Embedding for Face Recognition and Clustering论文解读
- 【论文阅读二】FaceNet:A Unified Embedding for Face Recognition and Clustering
- 论文翻译(1)FaceNet: A Unified Embedding for Face Recognition and Clustering
- FaceNet-A Unified Embedding for Face Recognition and Clustering 论文解读
- 【学习】facenet:a unified embedding for face recognition and clustering_wrapper
- 论文阅读:CVPR 2015 FaceNet: A Unified Embedding for Face Recognition and Clustering
- SphereFace : Deep Hypersphere Embedding for Face Recognition学习笔记
- 【论文笔记】SphereFace: Deep Hypersphere Embedding for Face Recognition
- SphereFace: Deep Hypersphere Embedding for Face Recognition
- 人脸识别--SphereFace: Deep Hypersphere Embedding for Face Recognition
- Android中使用开源框架Fresco处理图片
- mkdir和rmdir命令
- C语言的指针移动怎么理解
- 234. Palindrome Linked List
- 二当家的官网微信小程序源码实例解析
- FaceNet: A Unified Embedding for Face Recognition and Clustering 笔记
- java上传带旋转角度的图片旋转问题
- Android按钮的五种点击监听事件处理
- 使用adaboost+haar分类器检测车辆demo
- 基于FastDatabase的适配器
- python利用LSTM进行时间序列分析预测
- VS2015快捷键大全
- ubuntu 16.04 安装 Jenkins
- 互联网公司校招Java面试题总结及答案——美团