大数据,机器学习,人工智能人工智能/模式识别/机器学习精华专题人工智能与机器学习

论文 | FaceNet脸部识别《FaceNet:A unifi

2018-07-04  本文已影响27人  与阳光共进早餐

一 写在前面

最近在学图像检索这一方面的内容,所以挑了两篇比较经典的论文来学习:

两篇论文分别是contrastive loss和triplet loss的应用。

之前已经写了第一篇文章的总结论文 | 图像检索经典论文解读《Learning visual similarity for product design with convolutional neural networks》,现在把FaceNet这篇也看掉了,所以趁热整理一下。

二 文章简介

1 整体介绍

  1. 首先看题目就可以知道,文章提出了一个FaceNet结构,可以用于脸部识别和聚类的统一嵌入网络。
  2. 简单来说就是可以学习每张人脸的欧几里德距离,取两张人脸图像欧几里德距离的L2范式的平方就可以直接对应于这两张人脸图像之间的相似性。
    • L2的平方小,相似度高;
    • L2的平方大,相似度低;
  3. 得到嵌入距离之后就可以很快的解决一下问题:
    • face verification: 人脸验证,设置一个阈值,距离小于阈值即可;
    • face recognition: 人脸识别,可以用k-NN邻近算法;
    • face clustering:人脸聚类,可以用k-means等算法;

跟之前那篇论文一样,本质在于学习到图像的表示,所以论文题目称之为统一的嵌入网络。

如下图展示的是人脸验证


得到2张人脸的相似度,小于阈值1.1即判定为同一个人。

2 文章主要贡献

文章主要完成了FaceNet这样一个用于学习人脸图像特征的模型,主要有以下几点:

  1. 直接用CNN网络进行端到端的训练;
  2. 使用了triplet loss,并提出了比较好的triplet 样本挖掘方法;
  3. 仅仅用128字节的大小表示人脸就达到state-of-art 水平。

这里我主要总结了网络结构部分的内容,其他的内容感兴趣的小伙伴可以再点击最下面的参考文献阅读原文~~~

三 网络结构介绍

1 模型结构


如上图所示即为模型的整体结构。

接下来我会具体介绍网络模型中的各个部分。

2 triplet loss

1. 宏观理解

2. 函数建模

3. loss function

3 triplet 样本选择

1. 目标

2. hard triplet

3. 难点

4. 解决方法

我们直观可以想到以下两种策略:

4 CNN网络结构

文章一共探索了两种神经网络:

5 其他细节补充

1. 关于batch内样本分配

2. 关于batch_size

3. 关于网络参数

4. 关于semi-hard

四 写在最后

就写到这里吧,嘻嘻~~~~~~~~
ヾ(◍°∇°◍)ノ゙

希望自己能一直保持写博客的习惯,保持记录的习惯,保持分享的习惯。

参考文献

上一篇下一篇

猜你喜欢

热点阅读