人工智能及大数据学习图像识别facenet_第1页
人工智能及大数据学习图像识别facenet_第2页
人工智能及大数据学习图像识别facenet_第3页
人工智能及大数据学习图像识别facenet_第4页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、FaceNet2018 年 01 月 04 日 11:38:42 TchaikovskyBear 阅读数:4215本文来源于山人七的博客,在其基础上做了一定修改便于阅读原文:近年来,人脸识别技术取得了飞速的进展,但是人脸验证和识别在自然条件中应用仍然存在。本文中,作者开发了一个新的人脸识别系统:FaceNet,可以直接将人脸图像到欧几里得空间,空间距离的长度代表了人脸图像的相似性。只要该空间生成,人脸识别,验证和聚类等任务就可以轻松完成。文章的方法是基于深度卷积神经网络。FaceNet 在 LFW数据集上,准确率为 0.9963,在Faces DB 数据集上,准确率为 0.9512。1,前言F

2、aceNet 是一个通用的系统,可以用于人脸验证(是否是同一人?),识别(这个人是谁?)和聚类(寻找类似的人?)。FaceNet 采用的方法是通过卷积神经网络学习将图像到欧几里得空间。空间距离直接和图片相似度相关:同一个人的不同图像在空间距离很小,不同人的图像在空间中有较大的距离。只要该确定下来,相关的人脸识别任务就变得很简单。当前存在的基于深度神经网络的人脸识别模型使用了分类层(classification layer):中间层为人脸图像的向量,然后以分类层作为输出层。这类方法的弊端是不直接和效率低。与当前方法不同,FaceNet 直接使用基于 triplets 的 LMNN(最大边界近邻分

3、类)的 loss函数训练神经网络,网络直接输出为 128 维度的向量空间。我们选取的 triplets(三联子)包含两个匹配脸部缩略图和一个非匹配的脸部缩略图,loss 函数目标是通过距离边界区分正负类,如图 1-1 所示。图 1-1 模型结构脸部缩略图为紧密裁剪的脸部区域,没有使用 2d,3d 对齐以及放大转换等预处理。本文中,作者探索了两类深度卷积神经网络。第一类为 Zeiler&Fergus 研究中使用的神经网络,我们在网络后面加了多个 1*1*d 卷积层;第二类为 Inception 网络。模型结构的末端使用 triplet loss 来直接分类。triplet loss 的启

4、发是传统 loss 函数趋向于将有一类特征的人脸图像到同一个空间。而 triplet loss 尝试将一个的人脸图像和其它人脸图像。下文包含以下内容:· 三联子(triplets)loss· triplets 筛选方法· 模型结构描述· 实验结果· 评论2,三联子(triplets)loss模型的目的是将人脸图像X embedding 入d 维度的欧几里得空间。在该向量空间内,我们希望保证单个的图像和该的其它图像距离近,与其它的图像距离远。loss 函数目标是通过距离边界区分正负类:(1)变换一下,得到损失函数:图 2-1 triplet lo

5、ss 示意图其中,为 positive/negtive 的边界。3, triplets 筛选triplets 的选择对模型的收敛非常重要。如公式 1 所示,对于,我们我们需要选择同一的不同图片,使;同时,还需要选择不同的图片,使得。在实际训练中,所有训练样本来计算 argmin 和 argmax 是不现实的,还会由于错误标签图像导致训练收敛。实际训练中,有两种方法来进行筛选:一,每隔 n 步,计算子集的 argmin 和 argmax。二,生成 triplets,即在每个 mini-batch 中进行筛选 positive/negative 样本。本文中,我们采用生成 triplets 的方法

6、。我们选择了大样本的 mini-batch(1800 样本/batch)来增加每个 batch 的样本数量。每个 mini-batch 中,我们对单个选择 40 张人脸图片作为正样本,随机筛选其它人脸图片作为负样本。负样本选择不当也可能导致训练过早进入局部最小。为了避免,我们采用如下公式来帮助筛选负样本:4, 深度卷积神经网络采用 adagrad 优化器,使用随机梯度下降法训练模型。在 cpu 集群上训练了1000-2000 小时。边界值设定为 0.2。总共实验了两类模型:· 第一种是 Zeiler&Fergus 架构,22 层,140M 参数,1.6billionFLOPS

7、(FLOPS 是计算量?)。称之为 NN1。· 第二种是Net 式的 Inception 模型。模型参数是第一个的 20 分之一,FLOPS 是第一个的五分之一。· 基于 Inception 模型,减小模型大小,形成两个小模型。· NNS1:26M 参数,220M FLOPS。· NNS2:4.3M 参数,20M FLOPS。· NN3 与 NN4 和 NN2 结构一样,但输入变小了。· NN2 原始输入:224×224· NN3 输入:160×160· NN4 输入:96×965,

8、实验结果作者采用了约 8million 个的将近 100million-200million 张人脸缩略图。人脸缩略图通过脸部检测器紧密裁剪生成。最后,在四类数据集上评价零 FaceNet:· hold-out 测试集:从训练集中分出 100million 图像作为测试集。· 个人:总共包括 12k 个人。· 学术数据集:我们采用了 LFW 数据集和Faces DB。5.1 计算量与准确率权衡在测试中,随着神经网络深度增加,计算量增加,准确率也增加,如表 5-1 和图 5-1 所示。表 5-1 深度神经网络结构与 VAL图 5-1计算量(FLOPS)与准确率关系5

9、.2模型结构对 loss 的影响作者了不同模型对结果的影响,如图 5-2 所示。图 5-2 网络结构对 VAL 的影响5.3 图像质量对结果的影响模型对图像质量(像素值)不敏感,即使 80*80 像素的图片生成的结果也可以接受,如表5-2 所示。表 5-2 图像质量(像素值)对结果的影响5.4 Embedding 维度对结果的影响作者测试了不同的 embedding 维度,结果如表 5-3 所示,发现 128 维度是最为合适的。表 5-3 不同输出维度对结果的影响5.5 训练数据量对结果的影响随着训练数据量的增加,准确率也随之增加,如表 5-4 所示。表 5-4 训练数据量与 VAL5.6 评

10、价结果FaceNet 在 LFW 数据集上取得了 99.63%0.09 的准确率;在Faces DB 数据集上获得了 95.12%0.39 的结果。在个人的数据集上,对单个进行embeding 后聚类测试,结果如图 5-3 所示。图 5-3对单个的不同进行聚类的结果6, 评论FaceNet 是的工作,工作量非常大,结果也很好。FaceNet 是一种直接将人脸图像 embedding 进入欧几里得空间的方法。该模型的优点是只需要对图片进行很少量的处理(只需要裁剪脸部区域,而不需要额外预处理,比如 3d 对齐等),即可作为模型输入。同时,该模型在数据集上准确率非常高。未来的工作可以有几个方向:一,分析错误的样本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论