首页 >> 大全

face recognition[angular/consine

2023-09-08 大全 28 作者:考证青年

本文来自《L2- Loss for Face 》,时间线为2017年6月。

近些年,人脸验证的性能因引入了深度卷积网络而提升很大。一个典型的人脸识别流程就是:

本身并不会让两个正样本对的相似度得分优化的更大,两个负样本对的相似度得分优化的更小。而实际需要中,需要构建具有类内紧凑性和类间可分性的特征,这会存在瓶颈,所以需要在loss上增加一些类似正则项的东西。本文中,作者在特征表征层加入\(L_2\)约束,意图让该样本落在一个固定半径的超球面表面。该模型可以很容易的基于现有的深度学习框架实现。通过在训练集整合该简单步骤,明显能够提升人脸验证的性能。特别的,在IJB-A上的True Rate为0.909,False Rate为0.0001。

近些年,人脸识别上也有不少出色的工作,其主要从2个角度解决人脸验证上的问题:

最近提出的 loss可以学到更具辨识性的人脸特征。不过L2-norm 不同的是:

0 引言

在无约束条件下进行人脸验证依然是一个挑战,因为仍然很难去处理视角,分辨率,遮挡和图像质量等变化极大的问题。训练集中数据质量的非平衡性也是造成上述性能瓶颈的原因之一。现有的人脸识别训练样本数据集包含大量高质量的正脸图片,而无约束和难分辨的人脸数据较少。大多是基于DCNN的模型都是基于训练的,可是该模型倾向于对高质量图片过拟合,所以就没法正确区分困难场景下的人脸。

当然使用 训练人脸验证也有其优缺点:

作者受到《Deep and the image》的启发,带有L2-norm的已经带有足够图片质量的信息:

本文提出一个针对 loss的策略,作者期望在训练中,在特征上增加一个约束,如L2-norm。换句话说,是期望将特征约束在一个固定半径的超球面表面,提出的L2-有2个优势:

因此,它最大化了负对(不同ID的人脸)和正对(相同ID的人脸)之间的规范化L2距离或余弦相似性得分的边际。因此,它克服了常规 loss的主要缺点。不过它同时保留了常规 loss的优势:一个网络结构,一个loss体系,不需要联合监督(多任务学习,正则项等等方式),其本身可以很容易的基于现有的深度学习框架去编写,而且收敛也很快。它对网络只是引入一个标量。相比于常规 loss,L2-norm 在性能加速上有明显提升。且在几个比赛上比那些多网络或者多loss的模型更好。本文贡献:

1 背景

先概述下使用DCNN训练一个人脸验证系统的流程。

441382-20181217103427959-110837524.png

给定一个包含人脸和对应ID的训练数据集,先训练一个DCNN用作分类,该网络此时学到如何将一张给定的人脸图片分到对应的ID。 loss式子如:

这里M是batch-size, \(\{x}_i\)是该batch中第 \(i\)个输入样本, \(f(\{x}_i)\)是DCNN倒数第二层的输出, \(y_i\)是对应的类别, \(W,b\)是网络最后一层(扮演着分类器角色)的权重和偏置。

在预测的时候,用\(f(\{x}_g)\)和\(f(\{x}_p)\)表示测试图片\(\{x}_g\),\(\{x}_p\)经过DCNN得到的特征描述,并经过归一化到单位模(=1)。然后,在这两个特征描述上,使用一个距离度量去计算在嵌入空间中它们之间的相似度得分。如果该得分超过一个设定的阈值,那么就判定这2张图片来自同一ID。而常用的计算距离度量的就是L2距离或者是cos距离如式子2。

上述流程中隐含2个主要问题:

它们总共形成6组评估对。图1a描述了这6对的结果,可以很容易发现当两个的L2-norm都很小的时候,效果是很差的。而如果一对中两个的L2-norm都很大,那么效果是最好的。不同组之间的结果差距还是很明显的。图1b展示了集合1,集合2,集合3中的一些样本,可以发现L2-norm透露着图片质量信息。

所以作者让每个人脸图片的L2-norm都是固定的。即增加一个L2约束到特征描述上,从而强制每个特征都处在一个固定半径的超球面上。该方法有2个优势:

2 \(L_2\) loss

提出的L2-式子如:

441382-20181217132639362-773557665.png

这里 \(\{x}_i\)是大小为M的mini-batch中的一个输入, \(y_i\)是对应的类别标签, \(f(\{x}_i)\)是从DCNN倒数第二层获取的特征描述,C是类别个数, \(W,b\)是将最后一层扮演成分类器的网络权重和偏置。该等式相比于式子增加了一个约束项。下面用MNIST来展示该约束的效果。 2.1 基于mnist

作者在MNIST上研究了L2-的效果,首先采用的是比更深更宽的网络结构,其中最后一层隐藏层神经元设为2,方便可视化,并做了一组对照实验:

441382-20181217133711182-726781783.png

图3描述了MNIST中1w个测试样本,不同类的2D特征,每个点表示一个样本。 第二个对照实验使用的向量是来自L2-norm层之前的输出

作者在上面对照实验中发现两个很清晰的不同点: 2.2 实现细节

这里提供基于DCNN,式子3的实现细节。该约束是通过增加一个L2-norm层和scale层实现的:

441382-20181217135803451-1608322821.png

该模块就是简单添加到原始带有的DCNN倒数第二层之后,层之前。

L2-norm层通过式子4归一化输入特征 \(\{x}\)到单元向量上。scale层如式子5,通过一个参数 \(\alpha\)将输入向量尺度缩放到固定半径上。也就是总的来说,引入了一个标量参数 \(\alpha\),而它可以通过网络其他参数一起训练。

该模块是全可微分的,可以用在end-to-end的网络训练中。在预测阶段,该模块是冗余的,因为在计算cos相似度的时候,本身特征向量就需要归一化到单位模(unit )。在训练阶段,梯度会反向经过L2-norm和scale层。通过链式法则计算关于\(\alpha\)的梯度如下:

441382-20181217140556554-1182242567.png

2.3 参数分析

如上所述,\(\alpha\)扮演着关键角色。即有2种方法来增强L2-norm约束:

第二个方法相对优雅而且也能保证数据驱动,从而总是能够在常规上提升效果。但是网络学到的\(\alpha\)很大,会导致一个相对宽松的L2-约束。分类器意在最小化总的loss下增大特征范数,现在是增大\(\alpha\),会让网络更自由的去拟合容易的样本。所以由网络学习的\(\alpha\)可以看成是该参数的上限。所以一个更好的性能就是将\(\alpha\)固定到一个相对更低的常量。

不过另一方面,\(\alpha\)如果很小,训练就不会收敛,例如\(\alpha=1\)在LFW上效果就很差,只有86.37%的准确度。

441382-20181217142806052-2004163957.png

原因猜测是如果基于一个小的半径的超球面,其超球面的面积更受限,来自同一个类的样本和不同类的样本的分布就相对没更大半径超球面要容易区分。

因此,需要计算得到 \(\alpha\)的下界。假设类别个数C有2倍小于特征维度D,那么可以在维度D的超球面上进行分布,保证任意2个类的中心相距90度。

441382-20181217143159377-1133300613.png

如图5a,表示在一个半径为 \(\alpha\)的园上分布C=4个类中心。并假设分类器权重 \(W_i\)是指向各自类别中心方向上的单元向量,并忽略偏置。

正确对一个特征进行分类的平均分类概率 \(p\)为:

441382-20181217143557830-90444909.png

忽略项 \(e^{-\alpha}\),然后将类别泛化到C类,平均概率为:

图5b中可以发现,在给定分类概率(p=0.9)下,C更大,那么 \(\alpha\)就需要更大。给定类别C,可以通过下面式子获得 \(\alpha\)的下界

3 实验及分析

作者前面DCNN用的是Face-,其结构为:

441382-20181217145206973-298810703.png

基于caffe实现。 3.1 基于小数据集 3.2 基于大数据集 3.3 基于不同DCNN 3.4 基于辅助的loss

441382-20181217145929059-1177395456.png

3.5 和现有方法对比

441382-20181217145906220-1627636121.png

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了