Neural Aggregation Network论文翻译


论文链接: https://arxiv.org/pdf/1603.05474

摘要

这篇论文针对视频人脸识别提供了Neural Aggregation Network(NAN) 。该网络以一个人的面部视频或面部图像集为输入,输入的面部图像数量是可变的,并产生一个紧凑的、固定维的特征来进行识别。特征嵌入模块是一个深度卷积神经网络(CNN)将每个人脸图像映射到一个特征向量。该聚类模块由两个注意块组成,注意块自适应地将特征向量聚在一起,形成单个特征。由于注意机制,聚合不受图像顺序的影响。我们的NAN基于标准的分类和验证损失训练,没有任何额外的监督信号,我们发现它会自动学习提倡高质量的人脸图像,而排斥低质量的人脸图像,如模糊、遮挡和不恰当暴露的脸。
在IJB-A、YouTube Face、Celebrity-1000视频人脸识别基准上的实验表明,该算法始终优于单纯的聚合方法,达到了最先进的精度。

1、介绍

视频人脸识别近年来越来越受到社会的关注。与基于图像的人脸识别相比,可以从输入的视频中获取更多的目标信息,可以很自然地将同一目标在不同姿态和光照条件下的面部信息融合在一起。视频人脸识别的关键问题是构造一个合适的视频人脸表示,使其能够有效地将不同帧的信息融合在一起,在去除噪声的同时保留有用的信息。
一种不成熟的方法是将视频人脸表示为一组帧级的人脸特征,比如从深度神经网络提取特征,最近这些特征主导了人脸识别。这样的表示全面地维护了跨所有帧的信息。然而,要比较两个视频人脸,需要融合两个人脸视频之间所有帧对的匹配结果。n为视频帧数的平均值,则每个匹配操作的计算复杂度为O(n^ 2),这对于大规模识别来说是不可取的。此外,这种基于集合的表示方法会导致每个视频人脸样本的空间复杂度为O(n),这就需要大量的内存存储和高效的索引。
我们认为,更可取的是在视频级别使用紧凑的、固定大小的特征表示,而不管视频的长度如何变化。这样的方法将允许直接的、恒定时间的相似性或距离的计算,而不需要进行帧到帧的匹配。一个简单的解决方案可能是在每一帧提取一个特征,然后进行某种类型的池化,将帧级的特征聚合在一起,形成一个视频级的表示。
最常用的池化类型可能是平均池化和最大池化。虽然这些简单的池化在之前的工作中被证明是有效的,但我们认为一个好的池化或聚合应该自适应地权衡并结合所有帧的帧级特性。想法很简单:一个视频(尤其是长视频序列)或一个图像集可能包含各种照明,分辨率,头部姿势等条件下的脸部图像,和一个智能的算法应该偏爱更有辨别力的人脸图像(或者更memorizable),防止不良的面部图像危害识别。
为此,我们寻找一种自适应加权方案,将视频的所有帧级特征线性组合在一起,形成一个紧凑的和易于识别的人脸表示。与前面的方法不同,我们既不固定权重,也不依赖任何特定的启发式设置它们。相反,我们设计了一个神经网络来自适应地计算权重。我们将我们的网络命名为Neural Aggregation Network(NAN),它的系数可以通过监督学习的方式在一个普通的人脸识别训练任务中进行训练,而不需要额外的监督信号。
所提出的NAN由两个主要模块组成,可以端到端训练,也可以逐个单独训练。第一个是使用深度CNN模型作为帧级特征提取器的特征嵌入模块。另一种是自适应融合所有视频帧特征向量的聚合模块。
我们的NAN用于替代池化的主要优势,包括处理任意输入大小和顺序不变性的能力。这个网络的关键部分是受到了Neural Turing Machine[12]和[38]的启发,两者都应用了注意力机制,通过访问外部存储器来组织输入。这种机制可以采用任意大小的输入,通过加权平均来强调或抑制每个输入元素,非常重要的是,它是完全独立的,并且有可训练的参数。在这项工作中,我们设计了一个简单的网络结构,由两个级联的注意力块组成,并将其与人脸特征聚合机制相关联。
NAN除了构建视频级表示外,还可以作为主题级特征提取器融合多个数据源。例如,可以提供所有可用的图像和视频,或融合来自同一主题的多个视频的视频级特性,以获得固定大小的单个特性表示。这样一来,人脸识别系统不仅具有时间效率和记忆效率,而且表现出了优越的性能,我们将在实验中展示这一点。
我们对NAN这两个任务进行了视频人脸验证与识别评估。我们观察了三组具有挑战性的数据集,包括YouTube人脸数据集[42]、IJB-A数据集[19]和Celebrity-1000数据集[23],与基准策略和其他竞争方法相比,它们的margins一致。

1.1、相关工作

基于视频或图像集的人脸识别技术一直是研究的热点。本文研究的是输入一组无序的人脸图像。这里不考虑利用时序动态的现有方法。对于基于集合的人脸识别,以往的许多方法都尝试用外观子空间或流形来表示人脸图像集,并通过计算流形相似性或距离来进行识别[20,2,18,40,37]。这些传统的方法可能在受约束的环境下工作得很好,但通常不能处理具有挑战性的存在较大的外观变化的不受约束的场景。
沿着不同的方向,一些方法构建基于局部特征的视频特征表示[21,22,27]。例如,PEP方法[21,22]通过提取和聚类局部特征来获取基于局部的表示。Video Fisher Vector Faces(VF2)描述了[27]使用Fisher Vector编码来聚合不同视频帧的局部特征,从而形成视频级表示。
目前,最先进的人脸识别方法主要是深度卷积神经网络[35,31,28,7,9]。对于视频人脸识别,这些方法大多采用对帧特征相似度计算[35,31]或简单的(平均/最大)帧特征池化[28,7,9]。这促使我们寻找一种自适应的聚合方法。
如前所述,这项工作还涉及到Neural Turing Machine[12]和[38]的工作。然而,值得注意的是,虽然他们使用递归神经网络(RNN)来处理顺序输入/输出,但在我们的方法中没有RNN结构。我们只借用他们的可微分内存寻址/注意力机制来进行我们的特征聚合。

2、Neural Turing Machine

Figure 1.我们的网络架构用于视频人脸识别。所有输入的人脸图像{xk}都经过深度CNN的特征嵌入模块处理,得到一组特征向量{fk}。这些特征被传递给聚合模块,生成一个单独的128维向量r1来表示输入的人脸图像。这种紧凑的特征向量用于识别。
Figure 1.我们的网络架构用于视频人脸识别。所有输入的人脸图像{xk}都经过深度CNN的特征嵌入模块处理,得到一组特征向量{fk}。这些特征被传递给聚合模块,生成一个单独的128维向量r1来表示输入的人脸图像。这种紧凑的特征向量用于识别。
如图1所示,NAN网络以一组人脸图像作为输入,输出单个特征向量作为识别任务的表示。它建立在一个现代的深度CNN模型上进行帧特征嵌入,通过自适应地将视频中的所有帧聚合成一个紧凑的向量,增强了对视频人脸识别的能力。

2.1、特征嵌入模块

我们的NAN的图像嵌入模块是一个深度卷积神经网络(CNN),它将视频的每一帧嵌入到一个人脸特征表示中。为了利用现代深度CNN网络的高端性能,本文采用GoogLeNet[34]和批归一化(BN)技术[17]。当然,其他网络架构也同样适用于此。GoogLeNet产生128维的图像特征,这些特征首先被归一化为单位向量,然后输入聚合模块。在这篇文章的其余部分,我们将简单地把GoogLeNet-BN网络称为CNN。

2.2、聚合网络

考虑n对视频人脸数据(Xi, yi) ni =1的视频人脸识别任务,其中Xi是一个人脸视频序列,或者是一个图像编号Ki变化的图像集,即Xi= {Xi1, Xi2,…,其中xik, k = 1,…, Ki是视频中的第k帧,yi是Xi对应的subject ID。每一帧xik都有一个从特征嵌入模块中提取的对应的归一化特征表示fik。为了更好的可读性,我们在剩下的文本中适当的地方省略了上面的索引。我们的目标是利用视频中的所有特征向量生成一组线性权值{ak}Kk =1,从而使聚合的特征表示变为:
在这里插入图片描述
这样,聚集的特征向量的大小与CNN提取的单个人脸图像特征的大小相同。
显然,公式1的关键是它的权值{ak}。如果ak=1/k, 公式1将退化为简单的平均,这通常是非最优的,正如我们在实验中所展示的。相反,我们试图设计一个更好的加权方案。
在设计聚合模块时考虑了三个主要原则。首先,该模块应该能够处理不同数量的图像(即不同的Ki’s),因为视频数据源因人而异。其次,当图像序列被反转或重新洗牌时,聚合应该不受图像顺序的影响。通过这种方式,聚合模块可以处理任意一组图像或视频人脸,而不需要时间信息(例如,从不同的Internet位置收集的信息)。第三,在标准人脸识别训练任务中,该模块应具有对输入人脸的自适应能力,并具有可通过监督学习进行训练的参数。
我们的解决方案受到[12,32,38]中描述的注意力机制的启发。这里的想法是使用一个神经模型,通过一个可微寻址/注意力机制来读取外部记忆。这类模型通常与递归神经网络(RNN)相结合来处理顺序输入/输出[12,32,38]。虽然我们不需要RNN结构,但它的注意力机制适用于我们的聚合任务。在这项工作中,我们把人脸特征作为记忆,把特征加权作为记忆寻址过程。我们在聚合模块中使用了注意力块,如下所述。

2.2.1、注意力块

一个注意块从特征嵌入模块中读取所有特征向量,并为其生成线性权值。具体地,设{fk}为人脸特征向量,然后用一个注意块通过点积以核q对其进行过滤,得到一组对应的显著性{ek}。然后它们被传递给一个softmax操作符来生成正权值{ak}, (求和符号)kak = 1。这两种操作可以分别用以下方程来描述:
在这里插入图片描述
可以看出,我们的算法本质上是在所有特征向量张成的凸包内选择一个点。其中一个相关的工作是[3],其中每个人脸图像集近似于一个凸包,并将集合相似性定义为两个凸包之间的最短路径。
这样,输入{fk}的数量不会影响聚合r的大小,而聚合r与单个特征fk具有相同的维度。此外,聚合结果对fk的输入顺序是不变的:根据式子1、2和3,重新排列fk和fk‘对聚合表示r没有影响。此外,一个注意力块通过过滤器q改变,q可以通过标准的反向传播和梯度下降进行训练。
在这里插入图片描述
Figure 2.IJB-A数据集中的人脸图像,根据它们在人脸识别任务中训练的单个注意力块的得分(Eq. 2中的e值)进行排序。最上面、中间和最下面几排的人脸分别是从分数最高的5%、以中间值为中心的10%窗口和分数最低的5%的人脸中取样的。
Table 1.对IJB-A数据集的性能比较。TAR/FAR:验证的真/假正确率。TPIR / FPIR:识别的真/假正例率。
在这里插入图片描述
单注意块-通用面部特征质量测量. 我们首先尝试使用一个注意力块进行聚合。在本例中,向量q是要学习的参数。它具有与单个特征f相同的大小,并作为一种通用的测量面部特征质量的先验。
我们训练的网络在IJB-A数据集[19]上对提取的人脸特征进行视频人脸验证(详见2.3节和3节),图2为数据集中所有人脸图像的排序得分。可以看出,经过训练后,网络更倾向于高质量的人脸图像,比如分辨率高、背景相对简单的人脸图像。面部图像模糊,遮挡,不当曝光和极端姿势的权重较小。从表1可以看出,网络在验证和识别任务上的准确率要高于平均池化基线。
在这里插入图片描述
Figure 3.典型的例子显示了我们的NAN计算的图像集中的图像权值。在每一行中,从一个图像集中采样5张人脸图像,并根据它们的权重(矩形中的数字)进行排序;最右边的柱状图显示了集合中所有图像的排序权重(高度缩放)。
级联两个注意块—内容感知聚合。我们认为支持内容聚合可以表现得更好。背后的事实是,面对图像在特征空间不同位置的不同表达(例如不同的人),而内容感知聚合可以学习去选择对输入图像集的标识更具鉴别性的特征。为此,我们使用两个注意力块级联,端到端方式描述如下。
设q0为第一个注意块的核,r0为q0的聚合特征。通过一个以r0为输入的传输层,自适应地计算第二个注意块的内核q1
在这里插入图片描述
其中W和b分别为神经元的权矩阵和偏置向量,tanh(x) = (略)施加了双曲正切非线性。q1生成的特征向量r1为最终的聚合结果。因此,(q0,W, b)现在是聚合模块的可训练参数。
我们再次在IJB-A数据集上对网络进行训练,表1显示该网络获得了比使用单一注意力块更好的结果。图3显示了经过训练的网络计算不同视频或图像集的权值的一些典型示例。
目前我们对于NAN所有的说明,其余的实验结果都是在此基础上得到的,采用了级联的两个注意力块设计(如图1所示)。

2.3、网络训练

该网络可用于标准配置的人脸验证和识别任务的训练。

2.3.1、训练损失

为了验证,我们建立一个siamese神经聚合网络结构[8]和两个NAN分享权重,并最小化平均对比损失[14]:
在这里插入图片描述
除非一对(i, j)是来自同一身份,否则yi,j=0。在我们所有的实验中,常数m都被设为2。
为了识别,我们在NAN的基础上增加了一个全连接层和一个softmax,使平均分类损失最小化。

2.3.2、模型训练

这两个模块可以同时进行端到端训练,也可以逐个单独训练。在本文中选择了后者。具体来说,我们首先用识别任务对CNN进行单幅图像的训练,然后在CNN提取的特征上对聚集模块进行训练。更多细节见3.1节。
我们选择这种单独训练的策略主要有两个原因。首先,在这项工作中,我们将重点分析具有注意力机制的聚合模块的有效性和性能。尽管深层CNN在基于图像的人脸识别任务中已经取得了巨大的成功,但我们很少关注CNN对于特征聚合的相关知识。其次,训练一个深入的CNN通常需要大量的标记数据。虽然现在可以获得数以百万计的静态图像用于训练[35,28,31],但收集如此大量的有特色的面部视频或场景似乎是不现实的。我们把对NAN的全面训练作为今后的工作。

3、实验

本节验证NAN网络的性能。我们将首先介绍我们的训练细节和基线方法,然后报告三个视频人脸识别数据集的结果:e IARPA Janus Benchmark A (IJB-A)[19]、YouTube人脸数据集[42]和e Celebrity-1000数据集[23]。

3.1、训练细节

如2.3节所述,本工作中对两个网络分别进行训练。为了训练CNN,我们使用从互联网上抓取的约3M的50K人脸图像来进行基于图像的识别。使用JDA方法[5]检测人脸,并用LBF方法[29]对齐。输入图像大小为224x224。经过训练,CNN是固定的,我们重点分析神经汇聚模块的有效性。
我们使用标准的反向传播和RMSProp求解器[36]对每个测试的视频人脸数据集进行聚合模块的训练。使用全零参数初始化,即,我们从平均池化开始。批处理大小、学习率和迭代针对每个数据集进行调优。由于网络比较简单,图像特征也比较紧凑(128-d),因此训练过程非常高效:在台式机的CPU上,训练5K视频对和1M图像只需要不到2分钟。

3.2、基线方法

由于我们的目标是紧凑的视频人脸表示,我们将结果与简单的聚合策略(如平均池化)进行比较。我们还比较了一些利用图像水平上两两比较的相似性度量。为了保持简单,我们简单地使用L2特征距离进行人脸识别(所有特征都是标准化的),但是可以结合额外的度量学习或模板适应技术[10]来进一步提高在每个数据集上的表现。
在基线方法中,CNN+Min L2、CNN+Max L2、CNN+Mean L2和CNN+SoftMin L2基于所有帧对的L2特征距离测量两个视频人脸的相似性。它们需要存储视频的所有图像特征,即,空间复杂度为O(n)。前三种方法分别使用最小、最大和平均两两距离,因此相似度计算复杂度为O(n2)。与文献[24,25,1]中所提倡的SoftMax相似度评分相对应的是CNN+SoftMin L2。它的计算复杂度为O(m·n 2)。
CNN+MaxPool和CNN+AvePool分别在每个特征维度上使用最大池化和平均池化进行聚合。这两种方法以及我们的NAN为每个视频生成一个128-d的特征表示,并在O(1)时间内计算相似度。

3.3、在IJB-A数据集上的结果

IJB-A数据集[19]包含从无约束环境中捕获的人脸图像和视频。它具有全位姿变化和成像条件的广泛变化,因此具有很大的挑战性。共有500名受试者,共5397幅图像和2042个视频,平均每个受试者有11.4幅图像和4.2个视频。我们使用STN[4]人脸检测器检测具有地标的人脸,然后通过相似变换对人脸图像进行对齐。
在这个数据集中,每个训练和测试实例被称为一个模板,它包含1到190个混合静态图像和视频帧。由于一个模板可能包含多个视频,数据集为每个图像提供视频id,另一种可能的聚合策略是先聚合每个视频中的帧特征,然后聚合模板中的视频特征[10,30]。这个策略也在CNN+AvePool和我们的NAN的工作中进行了测试。注意,视频id在实践中可能并不总是可用。
Table 2.对IJB-A数据集的性能评估。为了验证,报告了真实的正确率(TAR)和错误的正例率(FAR)。为识别,真正例识别率(TPIR)与假正例识别率(FPIR)和Rank-N精度。(:首先聚合每个视频中的图像,然后聚合一个模板中的视频特性。:引用自[10]的结果。)
在这里插入图片描述
Figure 4.IJB-A数据集上NAN和基线的平均ROC(左)、CMC(中)和DET(右)曲线经过10次分割。
我们在1:1人脸验证的比较方法和1:N人脸识别的搜索方法上对提出的方法进行了测试。为了验证,报告了真实的正确率(TAR)和错误的正例率(FAR)。对于识别,报告了真正例识别率(TPIR)与假正例识别率(FPIR)以及Rank-N的准确性。表2为不同方法的数值结果,图4为验证的ROC曲线,以及CMC和DET曲线。这些指标是根据[19,13]的10个分划来计算的。
一般来说,在基线方法中,CNN+MaxL2、CNN+MinL2和CNN+MaxPool表现最差。CNN+SoftMinL2的表现略好于CNN+MaxPool。视频id的使用显著改进了CNN+AvePool的表现,但对NAN的提升相对较小。我们相信NAN已经具备了对由少数视频的糟糕图片所主导的模板的健壮性。如果没有视频聚合,NAN的性能明显超出其所有基线,特别是在较低的FAR情况下。例如,在验证任务中,我们的NAN的TARs分别为0.001和0.01,分别为0.860和0.933,较基线的最佳结果误差分别减少了约39%和23%。
据我们所知,与以前的方法相比,我们的NAN通过视频聚合达到了最好的性能。与[10]的最先进方法相比,FAR=0.1的验证TAR和Rank-10 CMC具有相同的水平,但在其他所有指标上(例如FAR=0.01时的0.881和0.836 TARs, FPIR=0.01时的0.817和0.774 TPIRs,以及Rank-1的0.958和0.928准确性)都优于前者。
图3显示了一些加权结果的典型示例。NAN展示了选择高质量和更有鉴别力的面部图像的能力,同时排斥差的面部图像。

3.4、在YouTube人脸数据集上的结果

之后我们在YouTube人脸(YTF)数据集[42]上测试了我们的方法。它包含了3425个视频,涉及1595个不同的人,视频长度从48帧到6070帧不等,平均长度为181.3帧。我们提供了10位名人的500个视频对,我们按照标准验证协议报告交叉验证的平均准确性。我们再次使用STN和相似性变换来对齐面部图像。
Table 3.我们的基线和NAN网络在YTF数据集采用最先进的方法对精度进行验证。
在这里插入图片描述
在这里插入图片描述
Figure 5.不同方法的和我们的NAN在YTF数据集上的经过10次分割的平均ROC曲线。
在这里插入图片描述
Figure 6.在YTF数据集上的典型例子显示了我们的NAN计算的视频帧的权重。在每一行中,从视频中采样5帧,并根据它们的权重(矩形中的数字)进行排序;最右边的柱状图显示了所有帧的排序权值(高度缩放)。
我们的NAN及其基线等方法的结果如表3所示,其ROC曲线如图5所示。可以看出,NAN再一次胜过所有基线方法。与IJB-A上的结果相比,NAN和性能最好的基线之间的差距更小。这是因为该数据集中的人脸变化相对较小(对比图6和图3中的示例),因此与单纯的平均池化或计算平均L2距离相比,无法提取出太多有益的信息。
与之前的方法相比,我们的NAN平均准确率为95.72%,相比于FaceNet的误差降低了12.3%。值得注意的是,FaceNet也是基于GoogLeNet风格的网络,以及采用每个视频中100帧所有对的平均相似性[31]。据我们所知,只有VGG-Face[28]的准确率比我们高(97.3%)。然而,这个结果是基于YTF上更多的度量标准,没有YTF,准确率只有91.5%[28]。

3.5、Celebrity-1000数据集上的结果

Celebrity-1000数据集[23]用于研究基于无约束视频的人脸识别问题。它包含了159,726个1000人的视频序列,共2.4M帧(每个序列15帧)。我们使用提供的5个面部地标来对齐面部图像。该数据集上存在两个子集:开放数据集和闭合数据集。 有关协议和数据集的更多细节可以在[23]中找到。
闭合数据集测试。对于闭合数据集,我们首先对网络进行视频序列训练,并引入识别损失。我们以FC层输出值作为分数,以最大分数作为结果。我们还为CNN+AvePool训练了一个线性分类器来对每个视频特征进行分类。由于这些特性是建立在视频序列上的,因此我们将这种方法称为VideoAggr,以便将其与接下来要介绍的另一种方法区分开来。数据集中的每个主题都有多个视频序列,因此我们可以通过聚合所有训练(图库)视频序列中的所有可用图像来为目标构建单个表示。我们称这种方法为SubjectAggr。这种方法可以绕过线性分类器,只需比较特征L2距离即可进行识别。
Table 4.用Celebrity-1000数据集的闭合数据集进行测试的识别性能((rank-1精度,%)。
在这里插入图片描述
在这里插入图片描述
Figure 7.不同方法对Celebrity-1000数据集的CMC曲线
结果见表4。注意[23]和[22]没有使用深度学习,也没有基于深度网络的方法对该数据集报告结果。所以我们主要用下面的基线进行比较。从表4和图7 (a)可以看出,NAN始终优于VideoAggr和SubjectAggr的基线方法。SubjectAggr方法在基线基础上实现了显著的改进。有趣的是,SubjectAggr导致了一个明显的性能下降,CNN+AvePool相比其VideoAggr。这表明,当多个视频应用于主题级别时,简单聚合会变得更糟。然而,我们的NAN可以从SubjectAggr中受益,产生的结果始终比VideoAggr方法更好或与之持平,并且与基准方法相比准确率有很大的提升。这表明我们的NAN在处理大数据变化方面工作得很好。
开放数据集测试。 我们使用close-set协议测试NAN。我们首先根据提供的训练视频序列对网络进行训练。在测试阶段,我们采用前面描述的SubjectAggr方法为每个画廊主题构建高度紧凑的面部表示。识别仅仅是通过比较聚合的人脸表示之间的L2距离来执行的。
Table 5.用Celebrity-1000数据集的开放数据集进行测试的识别性能((rank-1精度,%)。
在这里插入图片描述
表5和图7 (b)的结果表明,我们的NAN显著降低了基线CNN+AvePool的误差。这再次表明,在存在较大的面部方差的情况下,广泛使用的平均池化聚合和两两距离计算等策略远不是最优的。在这种情况下,我们所学习的NAN模型显然更强大,其聚合的特征表示更有利于视频人脸识别任务。

4、结论

提出了一种用于视频人脸表示和识别的聚合神经网络。它将所有输入帧与一组内容自适应权值融合在一起,从而得到一个紧凑的表示,它不受输入帧顺序的影响。该算法计算量小,内存占用小,但经过训练后可以生成高质量的人脸表示。所提出的NAN可用于一般的视频或集合表示,我们计划在未来的工作中将其应用到其他的视觉任务中。

第一次接触视频人脸识别相关论文,有很多翻译不到位的地方,欢迎大家交流指正。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值