Deep Face Recognition论文翻译

Deep Face Recognition论文翻译

作者:
Omkar M. Parkhi ····································· Visual Geometry Group
omkar@robots.ox.ac.uk
Andrea Vedaldi ······································ Department of Engineering Science
vedaldi@robots.ox.ac.uk
Andrew Zisserman·································· University of Oxford
az@robots.ox.ac.uk

以后写论文解读就按照这个写,不要逐字翻译了:人脸识别:Deep Face Recognition论文阅读
[TOC]


本文的目标是人脸识别,包括从一张照片中识别人脸或者是从一个视频中跟踪很多个人。最近在这一领域取得的进展是由两个因素造成的: (一) 使用卷积神经网络 (CNN)进行端到端的学习, (二) 提供规模巨大的训练数据集。

我们作出两个贡献: 首先, 我们展示了一个非常大规模的数据集 (2。6M 图像, 超过2.6K 个人) 可以组合的自动化和人在循环中, 并讨论数据纯度和训练时间之间的权衡;其次, 我们遍历深度网络训练的复杂性, 并对现有的方法和程序进行识别, 以实现在标准LFW和 YTF 面临基准上的艺术结果的可比状态。

1 简介 卷积神经网络 (CNNs) 颠覆了计算机视觉研究领域, 大大提高了许多应用的精确度。这类方法取得成功的最重要因素之一是提供大量的训练数据。ImageNet 大规模视觉识别挑战 (ILSVRC) [16] 在为常规图像分类任务提供此数据方面发挥了重要作用。最近, 研究人员已经把数据集应用于分割、场景分类和图像分割 [12, 33]。

然而,在人脸识别领域, 大规模的公共数据集是缺乏的,由于这一重要因素, 近年来该领域只是互联网巨头间的游戏, 如 Facebook 和谷歌等。例如, Google 最新的人脸识别方法 [17] 是使用2亿图像和800万个唯一个体进行训练的。此数据集的大小几乎比目前任何公开可用的数据集大三倍以上 (请参见表 1)。不用说, 建立这么大的一个数据集超出了大多数研究课题组的能力, 特别是在学术界。

本文有两个目标。第一个是设计一个程序来在只需要有限的人力工作量的情况下创建一个大的人脸数据集。在本章结尾,我们提出了使用网络上可用的数据源来收集人脸数据的方法 ( 3部分)。我们使用此过程来构建一个具有200万个以上面孔的数据集,并将这个数据集免费提供给研究课题组。第二个目标是研究各种 CNN 体系结构的人脸识别和验证, 包括探索脸部对准和metric学习, 使用新的数据集进行训练 (部分 4)。最近许多关于人脸识别的论文都提出了许多针对人脸的 CNN 架构变体, 我们评估这些模型, 以便从无关的细节中筛选出重要的内容。研究结果是;一个简单而有效的网络体系结构, 在所有流行的图像和视频人脸识别基准 ( 5 和 6) 中达到了最好的效果。我们的研究结果在 6.2部分进行了总结。

表 1: 数据集比较: 我们的数据集是除了google、Facebook 或百度这些公司里不公开提供的工业数据集之外,最大的图像数据集。

2 相关工作 本文重点讨论图像和视频中的人脸识别问题, 这是近年来备受关注的课题。在文献中提出的许多方法中, 我们分成了不使用深度学习和使用深度学习两类方法,其中,不使用深度学习的方法我们称之为 “shallow” 方法, 反之就是 “deep”方法。shallow方法首先是通过制作的局部图像描述符来提取脸部图像的表示形式, 如SIFT、LBP、HOG [5, 13, 22, 23, 32];然后, 他们使用一个poolong制将这些局部描述符聚合到一个整体面描述符中, 例如费舍尔向量 [15, 20]。这里有许多这样的方法, 不能在这里详细描述 (例如, 在 [15] 中的参考资料)。

本论文主要涉及用于人脸识别的深度学习方法。这种方法使用 CNN 特征提取器来定义特征, 这是通过组成多个线性和非线性算子得到的学习函数。此类方法的一个代表性系统是DeepFace [29]。这个方法使用一个深度 CNN 网络以及400万个人脸(4000 个不同的人)的数据集来对面孔进行分类,。它还使用“Siamese network”体系结构, 在该架构中, 同一 CNN 被应用到一对面孔上, 以获取描述符, 然后使用欧氏距离进行比较。训练采用了一种叫做siamese learning形式,目的是尽量减少相同的人不同照片之间的距离, 并最大限度地扩大不同人图片之间的距离,。除了使用大量的训练数据外, DeepFace 还使用了一个 CNNs 的集合, 以及一个预处理阶段, 使用3D 模型将脸部图像与标准姿态对齐。截至目前, DeepFace在标记好的人脸数据集Wild上(LFW;[8]) 和Youtube 在Wild (YFW;[32])获得了最佳的表现。随后, 作者在 [30] 中扩展了此工作, 通过将数据集的大小增加了两个数量级, 包括1000万个个体以及每个个体的50张图像。他们提出了一个引导策略来选择身份来训练网络, 并表明通过控制全连通层的维数可以改善网络的表现。

【注:本段对DeepFace系列文章做了一下概述】
DeepFace由 Sun等发表的DeepId 系列论文进行不断改进。[24, 25, 26, 27], 每一次优化和改进都稳步提高LFW和YFW数据集上的性能。在这一系列论文中,作者也不断加入一些新的想法, 其中包括: 使用多个 CNNs [25], 一个贝叶斯学习框架 [4] 来训练一个metric【注:这个词翻译成什么合适?】、多任务的学习分类和验证 [24], 不同的 CNN 体系结构, 在每个卷积层后 (26) 和非常深的网络 (19, 28 ) 中分支一个全连接层。在 [27] 中。与 DeepFace 相比, DeepID 不使用3D 面对齐, 而是更简单的2D 仿射对准 (如本文中所做的那样), 并结合 CelebFaces [25] 和 WDRef [4] 进行训练。但是, [27] 中的最终模型相当复杂, 涉及大约 200个CNNs。

图 1: 从我们的数据集中为六个个体的示例图像。

最近, 来自 Google [17] 的研究人员使用了一个庞大的数据集, 其中有2亿个人和8亿张人脸图像数据, 用于像 [28] 和 [18]一样训练 CNN。不同之处在于他们使用的是 “triplet-based” 损失函数,与其他度量学习方法不同, 比较总是相对于一个 “枢轴” 面。这更符合度量在应用程序中的使用方式, 其中查询面与其他面孔的数据库进行比较以查找匹配的数据。在训练中, 这种损失适用于多个层次, 而不仅仅是最后一个。此方法目前在LFW和 YTF数据集上达到了最佳性能。

3 搜集数据集。

在本节中, 我们提出了一个多阶段策略, 以便有效地收集包含成百上千个示例图像的大型人脸数据集 (表 1)。表2中概述了此过程的不同阶段和相应的统计信息 。以下各段将详细讨论各个阶段。

阶段1。引导和筛选候选个体名称的列表。生成数据集的第一个阶段是获取用于获取面孔的候选身份的名称列表。其目的是关注名人和公众人物, 例如演员或政界人士, 以便能够在网上找到足够数量的截然不同的图像, 并在下载图片时避免任何隐私问题。通过从互联网电影数据库(IMDB) 的名人名单中抽取男性和女性, 以受欢迎程度排列, 获得了一份公共数字的初步清单。此列表包含大多数参与者, 它与可卡因知识图[1] 中的所有人员相交, 这些用户的信息大约有500K 个不同的个体, 结果列出了2。5K 男性和2。5K 的排列列表。女性。这形成了一个候选名单的5K 名, 这是众所周知的流行 (从 IMDB), 我们有属性信息, 如种族, 年龄, 亲属关系等 (从知识图表)。选择了5K 图像的总和, 使后续的标注过程可管理为小型标注器团队。 然后筛选候选列表, 以删除没有足够的不同图像的个体, 并消除与标准基准数据集的任何重叠。为此, 200 图像的每一个5K 名称是下载使用谷歌图像搜索。200图像然后呈现给人类标注器 (依次在四组 50), 以确定哪些身份导致足够的图像纯度。具体地说, 只有当相应的200图像集约为90% 纯时, 才要求标注器保留个体。缺乏纯度可能是由于同名或图像稀缺。此筛选步骤将候选列表减少到3250个个体。接下来, LFW和 YTF 数据集中出现的任何名称都将被删除, 以便能够在新数据集上进行训练, 并且仍然可以公平地评估这些基准。以这种方式, 获得2622名名人姓名的最后名单。

阶段2。为每个个体收集更多图像。在 Google 和 Bing 的图像搜索中, 这2622个名人的名字都会被依次检索一遍, 然后再将关键字 “演员” 添加到搜索关键字中重新搜索一遍。通过这四个查询方式,每个方式获取前500个结果, 这样为每个个体将会获得2000张图像。

阶段3。用自动过滤器提高纯度。本阶段的目的是在每个集合中使用过滤器自动删除任何错误的面孔。为了实现这一目标, 前50张图像 (基于 Google 在下载的集合中的搜索排名) 被用作积极的训练样本, 所有其他身份的前50幅图像被用作负面训练样本。使用Fisher Vector Faces descriptor [15, 20], 为每个个体训练一个线性SVM分类器。然后用线性 SVM分类器将每个身份中的2000张已下载的图像按照相似度高低排列, 并保留前 1000 张图片(1000 的阈值为高精度的正预测)。

阶段4。删除重复照片。在两个不同的搜索引擎中, 或者在两个不同的互联网位置找到相同图像的副本, 就会删除来自同一图像的精确重复图像。几乎重复 (例如, 仅在颜色平衡或文本叠加的图像不同) 也被删除。这是通过计算每个图像的弗莱德描述符 [2, 9] 来完成的, 使用非常紧的阈值在1000图像中为每个个体聚类描述符, 并保留每个群集的单个元素。

阶段5。最终手动筛选。此时,有2622个不同身份的个体,每个人有多达1000张图像。最后一个阶段的目的是使用人工标注提高数据的纯度 (精确度)。但是, 为了使标注任务更少的繁重, 从而避免了高标注成本, 标注器使用自动排名再次得到了帮助。然而, 这一次, 一个多途径 CNN 被训练, 以区分2622人脸的身份使用的 AlexNet 体系结构的 [10];然后, softmax 分数用于在每个个体中排列图像, 方法是减少 inlier 的可能性。为了加速标注的工作, 每个个体的排列图像都显示在200块中, 标注器被要求对块进行整体验证。特别是, 如果近似纯度大于 95%, 则声明块为好。好图像的最终数量是 982803, 其中大约95% 是正面和5% 配置文件。

总的来说, 通过与互联网搜索引擎结合使用, 过滤数据使用现有的人脸识别方法, 有限的手动精选能够产生一个准确的 阶段 目的 类型。具有标记其个体的面的大型数据集。人工标注成本很小–所涉及的人工工作量总量仅为14天左右, 只有四天到4阶段。表 1 将我们的数据集与几个现有的比较。

在上面的过程中已经做出了许多设计选择。在这里, 我们建议一些替代和扩展。可卡因源可以被其他类似的来源, 如 DBPedia (结构化维基百科) 和 Google 知识图所取代。事实上, 可卡因将很快被 Google 知识图表所取代。在图像收集方面, 可以从维基共享、IMDB 以及百度和 Yandex 等搜索引擎中收集更多的图像。在1阶段, 消除与LFW和 YTF 重叠的身份可能会被删除, 以便增加可供以后阶段使用的人数。在阶段2之前, 可以更改各个阶段的顺序以删除近重复项。就扩展而言, 第一阶段的集合可以通过查看下载图像之间的对距离分布来实现自动化。一个高纯度的图像类应该呈现一个相当单一的分布。

4 网络体系结构和训练。

本节介绍了在我们的实验中使用的 CNNs 及其训练。受 [19] 的启发, 网络 “非常深”, 它们构成了一个长序列卷积层。此类 CNNs 最近在 ImageNet ILSVRC 2014 挑战的某些任务 (16) 以及许多其他任务 [7, 19 ] 中展现出了非常好的性能。[7,19, 28]。

4.1 训练脸部多分类模型。

最初, 深层体系结构φ通过把识别N= 2 , 622 个不同身份的人转化为N分类问题。CNN 将每个训练映像 ,此时用到的损失函数就是传统的log函数。

学习后, 可以去掉分类器层的 (W,b) ( W , b ) 权重 , 而其他各层的权重可使用欧氏距离比较进行人脸身份验证。而且, 通过使用 “Triplet loss” 训练方案, 在欧几里德空间进行验证, 可以显著提高分数, 下一节将对此进行说明。而后者是为了获得更好的总体性能, 而本小节预先用多分类函数进行训练,是为了使训练更加简单和快速。

表 3: 网络配置。细节的面孔 CNN 配置 A。FC 层被列为 “卷积”, 因为它们是卷积的特殊情况 (请参见 4。3部分)。对于每个卷积层, 将指示筛选器大小、滤镜数、步幅和填充。

4.2 使用triplet loss学习脸部embedding.

triplet loss训练的目的是学习在最终应用中表现更好。通过比较欧氏空间中的脸部描述向量进行身份验证。这与 “metric learning” 相似, 并且与许多 “metric learning” 方法一样, 被用来学习一个人脸特征到欧氏距离的映射, 同时实现了降维。

我们的triplet loss训练方法与 FaceNet[17]论中提到的方法在本质上是相同的。

虽然这个公式类似于4.1所学习得到的多分类模型, 但有两个关键的区别:第一个是 LD L ≠ D ,同时也不等于类个体的数量, 但它是描述了欧式空间的维数;第二个是投影 W W ′ 被训练以最小化triplet loss函数:
这里写图片描述

请注意, 与上一节不同的是, 在这里学习不存在任何偏差, 因为 (1) 中的差异会取消它。这里的α ≥ 0 是一个固定标量, 表示学习边距, T是训练三元组的集合。三元组 (a, p,n) 代表一个anchor图像(a)以及一个与a是同一个人但不同的图像p 和与a不是同一个人的图像n。

4.3 体系结构。

我们根据 [19] 的A、B 和 D 体系结构考虑三体系结构。在表 3中给出了详细的CNN 体系结构。它包括11个blocks, 每个块包含一个线性算子, 后跟一个或多个非非线性层, 如 ReLU层和pooling层。前八个块是卷积层, 最后三个块是全连接层 (FC);它们与卷积层相同,
但筛选器的大小与输入数据的大小匹配, 这样每个筛选器都 “感知” 来自整个图像的数据。所有卷积层后跟一个整流层 (ReLU), 如在 [10] 中;但是, 不同于 [10] 和类似于 [19], 它们不包括本地响应正常化运算符。前两个 fc 层输出为4096维, 最后一个 fc 层有N = 2,622 或L = 1, 024 维度, 取决于用于优化的损失函数, N方式类预测 (节 4。1 或L维度度量嵌入 (节 4。2)。在第一种情况下, 生成的向量被传递到一个 softmax 层以计算类的后向概率。网络 B 和 D 类似于 A, 但分别包含2和5额外的卷积层。 对所有网络的输入是224大小的图像x224 使用平均面图像 (从训练集计算) 减去-这对于优化算法的稳定性至关重要。

4.4 训练

训练N分类器模型(节4.1) 遵循 [10] 的步骤,并使用 [19] 建议的修改。目标是找到网络的参数, 以最小化的平均预测日志损失后, softmax 层。 我们首先描述 CNN 的配置过程, 然后介绍 B 和 D 配置的变体。优化是由随机梯度下降使用64样本的小批和动量系数为 0。9 [11]。该模型是转正使用的辍学和体重衰减;后者的系数设置为 5 x 10−4, 而辍学率在两个 FC 层之后应用, 速率为0.5。学习率最初设置为 10−2 , 然后在验证集准确性停止增加时, 按10的因子减少。总的来说, 这个模型是用三的学习率降低来训练的。 CNN 中过滤器的权重由零平均值和10的高斯分布随机抽样初始化后。 −2 标准偏差。偏见被初始化后为零。训练图像 rescaled, 宽度和高度越小就等于256。在训练过程中, 网络将从这些图像中裁剪出随机 224x224 像素补丁 (在每次取样图像时农作物都会发生变化)。通过将图像向左向右翻转50% 概率, 进一步增强了数据的增益;但是, 我们没有执行任何颜色通道扩充, 如 [19] 和 [10]。 CNN 的配置 a 是从头开始训练的, 而配置 B 和 D 则是从训练有素的 a 进行训练的。这是通过将附加的完全连接的层追加到一个随机的初始化后, 然后训练后者以及微调 (学习率较低的训练) 的网络来获得的。 使用三重损耗 (节 4。2) 学习嵌入时, 除实现判别投影的最后一个完全 connecte 层外, 网络被冻结。然后, 在10纪元中, 使用0的固定学习率的 SGD 来学习此层。 25。 这里的一个纪元包含所有可能的正对 (, p), 其中图像被视为锚和 p其配对阳性例子。选择好的三胞胎是至关重要的, 应该在选择信息 (i。 e。 挑战性的) 示例和淹没训练的例子太难之间取得平衡。这是通过扩展每对 (一个, p) 到三重 (, p ) 来实现的。 ,n) 通过随机抽样图像n , 但仅在违反三重损耗边缘的情况下取样。后者是硬负挖掘的一种形式, 但它不像选择最大违反示例那样具有攻击性 (而且更便宜), 这通常是在结构化输出学习中进行的。 在测试时, 嵌入的描述符 W 0 φ (t) 为了进行人脸验证, 在欧氏距离上比较了。在验证中, 目标是告诉两张脸图像1 2 具有相同 的身份或没有; 这是通过测试获得的是否距离 kw0 φ (’ 1)−w 0φ(`2) k2 在嵌入式描述符之间小于阈值τ。此阈值不是由上面概述的训练过程提供的, 而是单独学习以在适当的验证数据上最大化验证准确性(Acc) 或正确分类对的比率。

5 数据集和评估协议

为了允许与以前的工作进行直接比较, 而我们的 CNNs 在新的节数据集上进行了训练3, 对现有基准数据集执行评估 (通过构造, 它包含来自数据集的不同个体)。 第一个数据集在野生数据集 (LFW) [8] 中标记为面孔。它包含13233个具有5749个个体的图像, 是自动人脸验证的标准基准。我们遵循为 “无限制设置” 定义的标准评估协议, 使用LFW外部的数据进行训练, 在我们的案例中是新的面数据集。除了校验精度外, 我们还使用等误差率(能效) 作为评估指标, 定义为在中华民国操作点的错误率, 假阳性和假阴性率相等。行政协调会的优势在于, 此度量值在距离门限τ上是独立的。 第二个数据集是 YouTube 面 (YTF) [32]。它包含从 YouTube 收集的1595人的3425视频, 平均每个身份的2视频, 是视频中的面部验证的标准基准。同样, 我们遵循为 “无限制设置” 定义的标准评估协议, 并报告。

6 实验和结果

在下面, 我们首先测试建议模型的几个变体和使用LFW数据集测试性能的训练数据。然后, 我们将最佳设置的性能与LFW和 YTF 的最新方法进行比较。 实现详细信息。我们的实现基于 MATLAB 工具箱 MatConvNet [31] 链接到 NVIDIA CuDNN 库, 以加速训练。我们所有的实验都是在 NVIDIA 泰坦黑 GPUs 与6GB 的板载内存, 使用四 GPUs 一起进行。这一点很重要, 因为非常深的网络的内存占用量很大 (而且复杂性很高)。 CNN φ (t) 包含所有但线性类预测器和 softmax 层, 输出D = 4 , 096 描述符向量。给定脸部图像, 四 224x224 像素补丁从四个角和中心以水平翻转 (即 10, 如在 [3]) 中裁剪, 以及特征向量从这些是平均的。为了启用多尺度测试, 首先将脸部缩放到三个不同大小的256、384和512像素, 并为每个 19] 重复裁剪过程。所得到的脸部描述符是所有这些特征向量的平均值。 使用 [14]中描述的方法检测到面孔。如果使用面对齐方式, 则使用 [6] 的方法计算面部地标, 并应用2D 相似性转换将脸部映射到规范位置。 对于 YTF 视频, K面描述符是通过按面部标志性置信评分来排序, 并选择顶部k来为每个视频获取的。正面面孔是 不。 配置 数据 列车对准。 测试对齐。 嵌入 100%-能效 1 一个 C 不 不 不 92。83 2 一个 F 不 不 不 95。80 3 一个 F 不 是的 不 96。70 4 B F 不 是的 不 97。27 5 B F 是的 是的 不 96。17 6 D F 不 是的 不 96。73 7 B F 不 是的 是的 99。13 表 4: LFW的性能评估, 无限制设置。对完整数据集 (F, 阶段 3) 的训练, 比对被策划的数据集 (C、阶段 5) 的训练带来更好的性能。2D。 在测试时对齐方式稍微提高了性能。用于验证的学习嵌入大大提高了性能。所有结果都是在测试样本之间使用l2 距离度量获得的。 2D 对齐, 但没有对齐方式用于配置文件。最后, 视频由K面描述符的平均值表示。

6.1 组件分析。

本节评估系统中不同组件在训练网络进行面验证时的效果, 如 “节”4。4并在LFW数据上对其进行评估。表 4 总结了结果。 数据集精选: 首先分析了精选对网络性能的影响。我们在阶段3和 5 (3) 中使用数据集快照, 即在精选之前和之后, 并使用配置 A 测试它们。选择此配置的原因是网络可以从头进行训练。可以看到, 精选之前的性能更好 (表 4 行1和 2)。这可能有两个原因: 首先, 最好有更多的数据, 即使有标签噪声;第二, 更微妙的一点是, 在3阶段数据中出现的一些硬阳性作为精选过程的副作用而被删除, 因此5阶段的数据训练不会从中受益。对齐方式: 从表 4 行2和3中可以看到, 在测试映像上使用2D 对齐功能可提高性能, 但对训练数据执行2D 对齐不会提供额外的提升-请参见表 4 行4和5。体系结构: 下一步, 我们改变网络的体系结构。我们观察到, 配置 a 到 B (表 4行 34) 的性能略有提高,而配置 D 未能改善配置 B (表 4 行 46) 的结果。有几种可能的原因: 配置中的参数数。由于卷积层数的增加, D 的数目远远超过 B。并且, 因为网络 D 被训练使用新的层数微调, 设置参量象学习速度和动量变得关键。从头开始训练网络也是一个需要在将来进行调查的选项。三重损耗嵌入: 通过最小化部分4。2 的三重损耗来学习判别指标进一步提高了 1。 8% (表 4 行7与行 4)。请注意, 这相当于将错误率降低 68%。

6.2 与最新状态的比较

LFW:表5将结果与LFW数据集的最佳结果进行比较, 并将其显示为 ROC 曲线。可以看到, 我们使用更少的数据和更简单的网络体系结构, 实现了对艺术状态的可比结果。YTF: 表 6 显示 ROC 曲线LFW数据集 不。 方法 图像 网络 Acc。

表 5: LFW无限制设置。左: 我们取得了可比较的结果, 在技术的状态, 而要求更少的数据 (比 DeepFace 和 FaceNet) 和使用一个简单的网络架构 (比 DeepID-2,3)。注意, DeepID3 结果用于测试集, 并更正了标签错误-这还未由任何其他方法完成。右: ROC 曲线。 不。 方法 图像 网络 100%-中 Acc。 YTF 数据集的性能。我们使用三重损耗嵌入方法实现了艺术性能的状态。

表 6: 结果在 Youtube 上面对数据集, 无限制设置。K的值指示用于表示每个视频的面数。

结论。

在这项工作中, 我们做了两个贡献: 首先, 我们设计了一个程序, 能够搜集到大规模的数据集, 带有小的标签噪音, 同时尽量减少所涉及的手动标注的次数。其中一个关键的想法是使用较弱的分类器来对提交给标注器的数据进行排序。这个过程是为搜集人脸数据开发的, 但显然适用于其他对象以及细粒度识别任务。第二个贡献是要表明, 一个CNN网络, 没有任何修饰, 但通过适当的训练, 可以达到与艺术状态相媲美的结果。同样, 这是一个可能适用于许多其他任务的结论。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值