Advertisement

Face Recognition Loss Evolution

阅读量:

问题:
人脸识别的框架一般是这样的(图来自center loss):

在这里插入图片描述

该框架存在一个主要缺陷在于其采用原始softmax方法提取出的特征仅具备可分离性这一特性却无法达到足够的区分度

1. 欧式距离

1)Contrastive loss

A deep neural network-based approach for facial feature modeling was presented in the paper titled "Deep learning face representation by joint identification-verification" published at the International Conference on Neural Information Processing Systems, MIT Press, 2014.

主要思路:基于softmax方法的基础上,在识别任务中引入verification损失,以降低同类样本间的相似度。

②模型

在这里插入图片描述

③具体实现

原来的loss:
[

](https://private.codecogs.com/eqnedit.php?latex=Ident(f,t,\theta_{id})=-\sum_{i=1}^{n}-p_{i}log\hat{p_{i}}=-log\hat{p_{i}}&space;\qquad&space;(1))
新加的loss可以有三种(后面做了对比实验):
[

](https://private.codecogs.com/eqnedit.php?latex=Verif(f_{i},f_{j},y_{ij},\theta&space;_{ve})=\left\{\begin{matrix}&space;\frac{1}{2}\left&space;\| rel=)
[

](https://private.codecogs.com/eqnedit.php?latex=Verif(f_{i},f_{j},y_{ij},\theta_{ve})=\frac{1}{2}(y_{ij}-\sigma&space;(wd+b))^{2}\qquad(3))
m代表margin,即希望不同人的人脸特征的距离大于m。d为两个特征的余弦相似度,yij为binary的值,表明两个特征是否属于同一个人,当属于同一个人的时候,我们希望d尽量大,去拟合1;当为不同人的时候,我们希望d尽量小,去拟合0。(2)中的L2 loss可以换成 L1 loss, 故论文中用了3z种加verification的方法。[

θve用于表示损失函数中需要学习的参数,在公式(2)中涉及变量{m};而在公式(3)中则涉及参数组{w, b}。

权重更新代码:

在这里插入图片描述

更新过程较为普通,在此值得强调的是由于对变量{m}的梯度始终非负因此无法采用梯度下降法来进行更新。该论文所采用的方法则是将其设定为能够使最近训练样本验证误差最低的那个阈值。

④实验
数据集为Celeb-Faces+包含不同人群共计约2万张高分辨率人脸照片。研究团队从中随机选取约8千人在 Celeb-Faces+A类别中构建训练集合,并将剩余约一千九百八十五人在 Celeb-Faces+B类别中进一步划分为约一千四百八十五人为核心训练样本与五百人为测试样本群体用于特征识别优化研究。
①LFW上的结果:
在LFW评估中:
测试集的准确率为64.3% ,误差范围±3.6% 。
F1值达到67分(±3分)。
ROC曲线下面积的AUC值约为73分(±4分)。

在这里插入图片描述

该模型提取出的特征维度为160。从图片中选择25个不同大小和位置的方块作为筛选依据,在此前提下生成了4,000维的新特征向量。通过主成分分析法将这些高维度数据降维至180维。在LFW测试集上的识别精度达到98.97%。通过集成7个独立训练的相同结构模型进行特征融合后可实现更高的识别准确率(约99.15%)。

一些分析实验

在这里插入图片描述

Inter-personal variance是[

另外论文中仅引入了verification loss这一指标来优化模型性能。具体而言,在引入verification loss后,在保留较大的inter person方差的同时(即不同个人之间的特征差异较大),成功降低了intra personal方差(即不同时间点同一人的特征差异较小)。实验结果表明,在保证较高区分度的前提下(即较大的inter personal方差),通过引入验证损失能够有效减少同类样本之间的差异性(即较低的intra personal方差)。
另外实验发现,在仅使用验证损失来优化类内距离时,并未显著影响分类性能(准确率与仅使用原始verification loss一致),这表明验证损失的主要作用在于减小同一类别内部样本之间的相似度。

2)Triplet loss

Schroff, Florian, D. Kalenichenko, and J. Philbin. "FaceNet: A Unified Embedding for Face Recognition and Clustering." (2015).

该方法的核心思想是不再依赖softmax层,在每次训练中选取三个特征样本——一个锚点(anchor)、一个正样本(positive)和一个负样本(negative)。通过优化过程使得锚点与正样本的距离尽可能小,同时与负样本的距离尽可能大。这种设计旨在缩小同一类别内的距离分布范围,并扩大不同类别之间的最小距离范围。论文指出这种方法受到对比学习启发,在对比学习中通过verification loss迫使同一人图像的特征被映射至同一区域;而本论文则要求同一人的不同图像特征被映射到同一个manifold上,并通过设定margin使其与其他不同的人的特征保持足够的距离。从这一角度来看triplet loss特别适合用于人脸验证任务

②模型 :NN1,NN2,NN3,NN4,NNS1,NNS2

具体实施细节如下:
positive pairs的选择基于 mini-batch 内部的所有正样本配对;
negative pairs则被选中为 mini-batch 中最具挑战性的负样本配对;
值得注意的是 batch规模较大,在论文设定下为 1800 张图片,
每位参与者大约贡献了 40 张本人照片;
通常情况下每个 batch 包含多个人的照片

④实验
训练数据: 8M人 100M-200M张照片,只用最后一层128维的特征,LFW上准确率为99.63

关于提到的Harmonic Triplet Loss:
harmonic embeddings的核心在于不同模型生成的嵌入具备可比性。
在训练开始时,我们有两个神经网络:NN1和NN2。其中,NN2在初始性能上优于NN1。其最后一层参数被随机初始化后进行联合优化:首先专注于优化最后一批参数以提升分类器性能;随后我们专注于优化整个网络第二层参数(V2),而将第一层参数(V1)固定不变。具体而言,在每一步迭代中先更新最后一层参数以最小化triplet损失函数;接着在整个网络第二层参数上执行梯度下降优化;重复上述过程直至收敛完成。为了验证这种联合优化策略的有效性,在测试阶段我们将单独提取并比较两组特征集:基于V1提取的第一层特征向量;以及基于经过联合优化后的V2提取的最后一层特征向量;通过计算两组特征向量之间的余弦相似度来衡量二者的匹配程度。实验结果表明这种联合优化策略显著提升了分类器的整体性能

3)Center loss

Wen Yandong et al. proposed an approach to discriminatively learn features for deep face recognition. The research was presented at the Computer Vision: ECCV 2016 conference, published by Springer International Publishing in the same year.

核心概念:为每个类别定义一个质心变量,在训练过程中引入损失函数项,并引导样本特征向量使其尽可能地靠近该类别对应的质心点。

②模型

在这里插入图片描述

③具体实现
原来的loss:
[

新增损失项:

![]( &space;\qquad&space;L=L_%7bS%7d+\lambda&space;L_%7bC%7d\ &space;\qquad&space;=-\sum_%7bi=1%7d%7bm%7dlog\frac%7bW_%7by_%7bi%7d%7d%7bT%7dx_%7bi%7d+b_%7by_%7bi%7d%7d%7d%7b\sum_%7bj=1%7d%7bn%7de%7bW_%7by_%7bi%7d%7d%7bT%7dx_%7bi%7d+b_%7by_%7bi%7d%7d%7d%7d+\frac%7b\lambda&space;%7d%7b2%7d\sum_%7bi=1%7d%7bm%7d\left&space;|&space;x_%7bi%7d-c_%7by_%7bi%7d%7d&space;\right&space;|_%7b2%7d^%7b2%7d\qquad%285%29)

](https://private.codecogs.com/eqnedit.php?latex=L_{C}=\frac{1}{2}\sum_{i=1}^{m}\left&space;\|&space;x_{i}-c_{y_{i}}&space;\right&space;\|_{2}^{2}\qquad(2)\\ &space;\qquad&space;L=L_%7bS%7d+\lambda&space;L_%7bC%7d\ &space;\qquad&space;=-\sum_%7bi=1%7d%7bm%7dlog\frac%7bW_%7by_%7bi%7d%7d%7bT%7dx_%7bi%7d+b_%7by_%7bi%7d%7d%7d%7b\sum_%7bj=1%7d%7bn%7de%7bW_%7by_%7bi%7d%7d%7bT%7dx_%7bi%7d+b_%7by_%7bi%7d%7d%7d%7d+\frac%7b\lambda&space;%7d%7b2%7d\sum_%7bi=1%7d%7bm%7d\left&space;|&space;x_%7bi%7d-c_%7by_%7bi%7d%7d&space;\right&space;|_%7b2%7d^%7b2%7d\qquad%285%29)

c在mini-batch内更新。

伪代码为

在这里插入图片描述

④实验
数据集:来自CASIA-WebFace、CACD2000和Celebrity三个数据库的训练数据构成研究集合。其中包含总计17189个样本及约7百万张图像。在评估阶段,则采用了约49%的图像量(但保持样本数量恒定)。

LFW上与YTF上的实验:

在这里插入图片描述

Megaface上的实验:

在这里插入图片描述
在这里插入图片描述

分析实验 :基于mnist数据集进行的小型实验中,将特征维度设定为2,并观察显示的结果:

在这里插入图片描述

2. 余弦距离

1)large margin softmax

Liu et al. introduced the Large-Margin Softmax Loss for Convolutional Neural Networks at ICML in 2016.

①核心思想 :通过将softmax以余弦形式表示,在余弦距离的角度上缩小类内距离。

②模型

在这里插入图片描述

③具体实现
[

The loss function L_i represents the negative logarithm of [e raised to the norm of (W_yb_i multiplied by x_bi) and then multiplied by ψ(θ_yb_i)] minus [e raised to the norm of (W_yb_i multiplied by x_bi) and then multiplied by ψ(θ_yb_i)] plus the summation over j not equal to ybi of [e raised to the norm of W_j multiplied by x_bi and then multiplied by cos(θ_ybj)]. This formulation is encapsulated in equation (4).

![]( &space;D%28\theta%29,&&space;\frac%7b\pi%7d%7bm%7d<&space;\theta&space;<&space;\pi&space;\end%7bmatrix%7d\right.&space;\qquad%285%29&space;\ \psi&space;%28\theta%29=%28-1%29^%7bk%7dcos%28m\theta%29-2k,\quad&space;\theta\in&space;\frac%7bk\pi%7d%7bm%7d,\frac%7b%28k+1%29\pi%7d%7bm%7d\qquad%286%29)

ψ(θ) is defined as a piecewise function, where it equals cos(mθ) for all θ in the interval from 0 to π divided by bm; it transitions to D(θ) for angles θ exceeding π divided by bm but remaining within the range up to π. The underlying rationale is to ensure that this function decreases monotonically across its entire domain.

④实验

在LFW平台上进行实验训练的数据为webface(其中最后采用的是从提取出的原始特征中经过主成分分析降维处理后得到的特征)

在这里插入图片描述

2)Sphere loss

Liu et al. introduced SphereFace, a method that employs deep hypersphere embedding to enhance face recognition technology.

该种思想非常接近于L-softmax的方法。具体而言,在分类层中连接各输出结点的权重经过归一化处理,并被解释为观察到的 softmax 分类结果所产生的点通常会分布在一个圆形区域内。基于此特性,在这种情况下,采用余弦相似度作为衡量标准更为适宜。此外,在这种情况下,在人脸数据集上的应用效果尤为显著

②模型

在这里插入图片描述

③具体实现

在这里插入图片描述

W的L2长度归一化为1。

④实验
数据集:使用的数据集是webface(最终提取的特征基于单一模型,并对照片进行左右翻转后合并)
在LFW和YTF等测试集上进行评估:

在这里插入图片描述

Megaface上:

在这里插入图片描述

实验分析:在WebFace平台上的6人分类实验中,能够直观展示其效果,并设置特征维度为3。

在这里插入图片描述

总结 :在改进过程中,主要从欧氏距离和余弦距离两个角度进行损失函数优化策略的设计与探索。尽管出发点相同,都是利用Softmax得到的特征具有可分性但缺乏区分力。因此这些方法都采取了缩小类别内部的距离并增大类别之间距离的策略来设计损失函数。对于Contrastive和Triplet loss等方法而言,在选择样本对的过程中需要考虑样本组合数量的影响,在实际操作中较为繁琐;而其他一些损失函数则相对简单。

参考论文:
[1] Chen, Yuheng , et al. "通过联合身份识别与验证实现深度学习面部表示方法." International Conference on Neural Information Processing Systems MIT Press, 2014.
[2] Schroff, Florian , D. Kalenichenko , and J. Philbin . "一种用于面部识别与聚类的统一嵌入方法." (2015).
[3] Wen, Yandong , et al. "基于判别特征学习的深层面部识别方法." Computer Vision – ECCV 2016. Springer International Publishing, 2016.[4] Liu, Weiyang, et al. “基于卷积神经网络的大规模 margins_softmax损失函数.” ICML. 2016.
[5] Liu, Weiyang , et al. “SphereFace: 基于深度超球面嵌入的面向识别方法.” (2017).

全部评论 (0)

还没有任何评论哟~