用于准确蒙面人脸识别的自我约束三元组损失

摘要:提出了一种提高蒙面人脸识别性能的解决方案,在现有人脸识别模型之上运行的嵌入去掩模模型Embedding Unmasking Model(EUM);提出了一种新颖的损失函数,即自约束三元组Self-restrained Triplet(SRT),它能使 EUM 能够生成与相同身份的未蒙面面孔类似的嵌入。SRT 与三元组损失具有相同的学习目标,即它使模型能够最小化真实对之间的距离并最大化非真实者对之间的距离。

模型:

        模型的输入:从蒙面人脸图像中提取的人脸嵌入,输出:所谓的“未蒙面人脸嵌入”,其目的是更类似于不戴面具的相同身份的嵌入。因此,所提出的解决方案不需要对现有人脸识别解决方案进行任何修改或训练。

用于准确蒙面人脸识别的自我约束三元组损失_第1张图片

        给定从蒙面人脸获得的嵌入,使用 SRT 损失对所提出的模型进行训练,以输出新的嵌入,该新的嵌入与同一身份的未蒙面人脸嵌入相似,但与其他身份的未蒙面人脸嵌入不同。

嵌入未遮挡模型架构:

        EUM 架构基于全连接神经网络 (FCNN),其中所有神经元都连接在两个连续层中,这种结构可以很容易地适应不同的输入形状,从而可以适应不同的人脸识别模型。模型输入是大小为 D 的蒙版特征嵌入(即,由蒙版人脸图像产生)(D 取决于所使用的人脸识别网络),模型输出是相同大小 D 的特征向量。所提出的模型由四个全连接层(FC)组成:一个输入层、两个隐藏层和一个输出层,所有 FC 层的输入大小均为 d,每个输入层和隐藏层后面都跟随批量归一化 (BN) 和 Leaky ReLU 非线性激活函数,最后一个 FC 层后面是 BN。

SRT损失:

        SRT 损失有两个学习目标:

        (1)最小化类内变异,即最小化真实的未遮蔽和遮蔽人脸嵌入对之间的距离。

        (2)最大化类间变异,即最大化蒙面人脸嵌入的非zhen'sh对之间的距离。

However, unlike the traditional triplet loss, the proposed SRT loss function can self-adjust its learning objective by only focusing on optimizing the intra-class variation when the inter-class variation is deemed sufficient. When the gap in inter-class variation is violated, our proposed loss behaves like a conventional triple loss.

        然而,与传统的三元组损失不同,所提出的 SRT 损失函数可以在认为非真实对之间的距离足够时仅专注于优化真实对之间的距离,从而自我调整其学习目标。当真实对之间的距离变化小时,我们提出的损失就像传统的三元组损失一样。

自我约束三元组:

        在 FaceNet中,提出了三元组损失,通过将欧几里德距离应用于归一化的人脸嵌入来学习人脸嵌入。Triplet Loss 的学习目标是添加固定边距值 (m) 后的 f(xa) 和 f(xp)(真实对)之间的距离小于 f(xa) 与任何人脸嵌入之间的距离任何其他身份(非真实对)的f(xn)

其中 m 是用于强加真实对和非真实对之间的可分离性的余量。 d 是应用于归一化特征的欧氏距离,由下式给出:

图 3 可视化了两个三元组损失学习场景:

用于准确蒙面人脸识别的自我约束三元组损失_第2张图片

        图 3a 显示了初始训练三元组,图 3b 和 c 说明了可以使用三元组损失学习的两种场景。在图 3b(场景 1)中,两个距离都得到了优化。然而,在这种场景下,d2距离的优化大于d1距离的优化;在图 3c(场景 2)中,三元组损失强制模型专注于最小化锚点和正值之间的距离。(理想状态)当两个距离都完全优化时,即 d( f(xa), f(xp)) 等于 0 并且 d( f(xa) , f(xn)) 大于预定义时,将实现三元组损失的最佳状态。

我们的目标是确保我们提出的损失集中于最小化真实对之间的距离(类似于场景 2),同时保持非真实对之间的距离。

主要思想:

        (1)当 d2(锚负距离)小于 d3(正负距离)时,将模型训练为三元组损失。在这种情况下,SRT 引导模型最大化 d2 距离并最小化 d1 距离。

        (2)当d2等于或大于d3时,我们在损失计算中用d3代替d2,这种距离交换仅允许 SRT 在此时学习最小化 d1 距离。我们选择在批次级别上比较 d2 和 d3 距离,以避免在非真实对之间的距离的每次较小更新时交换距离。在这种情况下,我们希望确保添加余量 m 的 d1 距离小于在小批量三元组上计算的 d3 距离的平均值。因此,我们的损失对比较非真实对所产生的异常值不太敏感。

我们将大小为 N 的小批量的 SRT 损失定义如:

其中 μ(d2) 是在小批量级别上计算的锚点和负对之间的距离平均值,μ(d3) 是在小批量级别上计算的正负对之间距离的平均值,d 是在归一化特征嵌入上计算的欧氏距离 。

图 2 说明了在三个 EUM 模型的训练迭代中,通过三元组损失和 SRT 损失对 d1(真实对之间的距离)和 d2(非真是对之间的距离)进行的优化,ResNet-50(图 2a), ResNet-50(图2b)和MobileFaceNet(图2c):

用于准确蒙面人脸识别的自我约束三元组损失_第3张图片

        其中 μ(d2) 是在小批量级别上计算的锚点和负对之间的距离平均值,μ(d3) 是在小批量级别上计算的正负对之间距离的平均值,d 是在归一化特征嵌入上计算的欧氏距离 。可以清楚地注意到,SRT 学习到的 d1 距离(锚正距离)明显小于三元组损失学习到的 d1 距离,这表明使用 SRT 训练的 EUM 的输出嵌入比使用三元组损失训练的 EUM 的输出嵌入更类似于相同身份(正)的嵌入。

你可能感兴趣的:(人工智能,深度学习,图像处理)