论文阅读笔记:UniTSFace: Unified Threshold Integrated Sample-to-Sample Loss for Face Recognition
论文:https://arxiv.org/pdf/2311.02523
代码:https://github.com/cvi-szu/unitsface
1 背景
1.1 现存问题
现代深度人脸识别系统设计大量的人脸图像和身份信息,其本质上依赖于判别性的特征学习:来自同一身份的人脸图像在特征空间中应该是近距离的,而来自不同身份的人脸图像在特征空间中应该是远距离的。也就是说,正对(两幅来自同一身份的人脸图像)的相似度要求大于任何负对(两幅来自不同身份的人脸图像)。换句话说,期望有一个统一的阈值来区分正负对。
一般深度人脸识别模型的特征学习过程要么基于样本到类损失(如Softmax损失),要么基于样本到样本损失(如对比损失和triplet损失)。
问题1:在softmax损失中,每个权重向量都可以看作是对应类别(人脸身份)的代理,基于分类的人脸识别模型需要同时学习类别代理和图像特征。然而,这些模型存在一个显著的缺陷,即在人脸模型的训练和测试阶段之间存在一个领域鸿沟。这种差距来源于在样本到类模型中计算和优化特征相似性是对有限的身份代理的历来,相反,在真实世界的场景中,特征相似性是在来自不同人脸身份的不同样本中计算和比较的。换句话说,基于样本到类的分类策略可能不能完全探索样本之间的差异。
即训练阶段是通过对训练集内的样本分类来对特征进行分离的,但测试阶段的人脸是和训练集不同的,可能会导致不同人脸特征无法区分的情况。
为了克服这个问题,VPL考虑了类代理周围的一个小变化,在优化过程中隐式的引入了更多的样本,从而提高了人脸识别的性能。然而这种微小的变化虽然扩展了softmax损失的能力,但并不能从本质上代表该类中的所有样本。
问题2:基于样本对样本损失的人脸模型通过比较正负样本来学习人脸身份特征并优化特征相似度,比样本对类别损失更接近于真实世界的人脸识别应用。大多数样本对样本损失的目标是最大化类间差异,同时最小化类内差异,这可能需要对每个小批次进行细致的采样/配对步骤。此外,在人脸验证过程中,需要一个单一的阈值来区分正样本人脸对和负样本人脸对。遗憾的是,上述方法都没有包含这样的显式约束。
1.2 提出的方案
在本文中,作者通过分析了一个合理的样本到样本的损失,使得能够直接研究人脸样本之间的差异,从而解决了问题1。为了解决问题2,在朴素损失中集成了一个统一的可学习阈值,从而产生了一个新的样本到样本损失函数,称为统一阈值整合样本到样本(USS)损失。

此外作者发现加入边际很容易增强USS损失。USS损失也可以与样本到类的损失无缝结合,当他们结合在一起训练一个名为UniTSFace的人脸模型时,显示出显著的改进。
2 创新点
-
引入了一个由合理的朴素损失推导出的统一阈值整合样本对样本损失( USS )用于人脸识别。还从朴素损失中推导了基于样本对样本的softmax和二元交叉熵( BCE )损失,并揭示了softmax、BCE和USS损失之间的数学关系。
-
证明了通过采用所提出的USS损失可以学习到一个统一的阈值,并在实验中定量和定性地证明了学习到的阈值与人脸验证期望一致。
-
所提出的USS损失可以通过一个辅助边际来增强,并且与现有的基于样本到类的损失兼容。本文证明,当USS损失与基于样本到类的损失(如CosFace和ArcFace )联合使用时,会获得持续的改进。
3 方法
假设 M M M 是一个深度人脸模型,他是在从 N N N 个主体采集到的人脸样本集 D = ∪ i = 1 N D i D=∪_{i=1}^ND_i D=∪i=1NDi 上训练得到的,其中 D i D_i Di 表示包含从同一个主体 i i i 采集到的人脸样本子集。这样,我们就可以得到一个特征集 F = ∪ i = 1 N F i = ∪ i = 1 N { x ( i ) = M ( X ( i ) ) : X ( i ) ∈ D i } F=∪^N_{i=1}F_i=∪^N_{i=1}\{x^{(i)}=M(X^{(i)}):X^{(i)}∈D_i\} F=∪i=1NFi=∪i=1N{ x(i)=M(X(i)):X(i)∈Di},其中 x ( i ) x^{(i)} x(i) 是样本 X ( i ) X^{(i)} X(i) 的向量特征, X ( i ) X^{(i)} X(i) 表示从对象 i i i 捕获的样本。
对于任意两个样本 X , X ∗ ∈ D X,X_*∈D X,X∗∈D,应用一个双变量算子 g ( x , x ∗ ) ∈ [ − 1 , 1 ] g(x,x_*)∈[-1,1] g(x,x∗)∈[−1,1] 表示他们的特征相似度,其中 x = M ( X ) , x ∗ = M ( X ∗ ) x=M(X),x_*=M(X_*) x=M(X),x∗=M(X∗) 是 X , X ∗ X,X_* X,X∗ 的特征。如果两个样本来自同一主体,则称 g ( x , x ∗ ) g(x,x_*) g(x,x∗) 为正样本间的相似性,而如果两个样本来自不同主体,则称为负样本间的相似性。那么,对于任意样本 X ( i ) ∈ D i , ∀ i X^{(i)}∈D_i,∀i X(i)∈Di,∀i,定义正负相似集为:
其中 x ( i ) = M ( X ( i ) ) x^{(i)}=M(X^{(i)}) x(i)=M(X(i))。
在人脸验证的实际应用中,选择一个阈值 t ˜ ∈ [ − 1 , 1 ] \~t∈[-1,1] t˜∈[−1,1] 来验证两个样本 X X X 和 X ∗ X_* X∗ 是否来自同一个主体。具体来说,当 g ( x , x ∗ ) ≥ t ˜ g(x,x_*)≥\~t g(x,x∗)≥t˜ 时,两个人脸样本属于同一个身份,当 g ( x , x ∗ ) < t ˜ g(x,x_*)<\~t g(x,x∗)<t˜ 时,两个人脸样本来自不同的身份。
为了符合人脸验证应用,在 M M M 的训练过程中,我们期望一个统一的阈值 t t t,使得任意两个样本 ( X ( i ) ∈ D i , X ∗ ( j ) ∈ D j ) (X^{(i)}∈D_i,X^{(j)}_*∈D_j) (X(i)∈Di,X∗(j)∈Dj) 都符合上述规则,若它们具有相同的身份,即 i = j i=j i=j,则 g ( x ( i ) , x ∗ ( j ) ) ≥ t ˜ g(x^{(i)},x_*^{(j)})≥\~t g(x(i),x∗(j))≥t˜ ,当 i ≠ j i≠j i=j,则 g ( x ( i ) , x ∗ ( j ) ) < t ˜ g(x^{(i)},x_*^{(j)})<\~t g(x(i),x∗(j))<t˜,其中 x ( i ) = M ( X ( i ) ) , x ∗ ( j ) = M ( X ∗ ( j ) ) x^{(i)}=M(X^{(i)}),x_*^{(j)}=M(X_*^{(j)}) x(i)=M(X(i)),x∗(j)=M(X∗(j))。统一阈值 t t t 满足:
然而现有的样本间损失未能明确包含和学习统一的阈值。在本文中,通过明确定义统一阈值 t t t,作者设计了一个统一阈值整合样本对样本损失。
4 模块
4.1 统一阈值整合样本对样本损失(USS Loss)
显然,在模型 M M M 的训练中,它期望样本间具有较大的正相似度和较小的负相似度,那么对于任意样本 X ( i ) X^{(i)} X(i),一个朴素损失可以合理地定义为:
其中 γ \gamma γ 是一个缩放因子, ∣ S ∣ |S| ∣S∣ 表示集合 S S S 的元素数量, F − F i = ∪ j = 1 , j ≠ i N F j F-F_i=∪^N_{j=1,j≠i}F_j F−Fi=∪j=1,j=iNFj。
式(4)中的损失计算样本 X ( i ) X^{(i)} X(i) 的所有正样本对和负样本对的特征相似度,这在实际中很难实现。本文在不失一般性的前提下,考虑了样本 X ( i ) X^{(i)} X(i) 在朴素损失下的一个正样本对和 N − 1 N-1 N−1 个负样本对的特征相似性:
其中 x ∗ ( i ) = M ( X ∗ ( i ) ) , x ∗ ( j ) = M ( X ∗ ( j ) ) x_*^{(i)}=M(X_*^{(i)}),x_*^{(j)}=M(X_*^{(j)}) x∗(i)=M(X∗(i)),x∗(j)=M(X∗(j)) , X ∗ ( i ) X_*^{(i)} X∗(i) 和 X ∗ ( j ) X_*^{(j)} X∗(j) 是从主体 i , j ( j ≠ i ) i,j(j≠i) i,j(j=i) 中随机抽取的样本。
利用算术平均和几何平均数的不等式,作者得到了 L n a i v e L_{naive} Lnaive 的两个不等式:
根据式(6)(7)和式(3)中的统一阈值 t t t,可得:
我们定义统一阈值整合样本到样本(USS)损失 L u s s ( X ( i ) ) L_{uss}(X^{(i)}) Luss(X(i)) 为:
其中 b = γ t b=\gamma t b=γt 是一个待学习的常数。
式(10)第一项中的 e − γ g ( x ( i ) , x ∗ ( i ) ) + γ t = e − γ ( g ( x ( i ) , x ∗ ( i ) ) − t ) e^{-\gamma g(x^{(i)},x_*^{(i)})+\gamma t}=e^{-\gamma(g(x^{(i)},x_*^{(i)})-t)} e−γg(x(i),x∗(i))+γt=e−γ(g(x(i),x∗(i))−t) ,第二项中的 e γ g ( x ( i ) , x ∗ j ) ) − γ t = e γ ( g ( x ( i ) , x ∗ ( i ) ) − t ) e^{\gamma g(x^{(i)},x_*^{j)})-\gamma t}=e^{\gamma(g(x^{(i)},x_*^{(i)})-t)} eγg(x(i),x∗j))−γt=eγ(g(x(i),x∗(i))−t),缩放因子 γ > 0 \gamma>0 γ>0,如果模型训练收敛,则会出现 g ( x ( i ) , x ∗ ( i ) ) − t > 0 , g ( x ( i ) , x ∗ ( i ) ) − t < 0 g(x^{(i)},x_*^{(i)})-t>0,g(x^{(i)},x_*^{(i)})-t<0 g(x(i),x∗(i))−t>0,g(x(i),x∗(i))−t<0 ,即存在约束条件 g ( x ( i ) , x ∗ ( i ) ) > t > g ( x ( i ) , x ∗ ( i ) ) g(x^{(i)},x_*^{(i)})>t>g(x^{(i)},x_*^{(i)}) g(x(i),x∗(i))>t>g(x(i),x∗(i)), 同式(3)。
假设模型 M M M 已经被完全训练,并且 L u s s L_{uss} Luss 在训练后达到最小值,即:
-
正样本间的相似度 g ( x ( i ) , x ∗ ( i ) ) g(x^{(i)},x_*^{(i)}) g(x(i),x∗(i)) 趋于1,负样本间的相似度 g ( x ( i ) , x ∗ ( j ) ) g(x^{(i)},x_*^{(j)}) g(x(i),x∗(j)) 趋于-1
-
L u s s L_{uss} Luss 关于变量 b b b 达到稳定
由 2 可以推出:
如果 N < e 2 γ + 3 2 N<\frac{e^{2\gamma}+3}{2} N<2e2γ+3,最终学习到的阈值 t = b γ t=\frac{b}{\gamma} t=γb 将位于 -1 到 1 之间,这意味着学习到的 t t t 已经正确地分离了样本间的负相似性 g ( x ( i ) , x ∗ ( j ) ) g(x^{(i)},x_*^{(j)}) g(x(i),x∗(j)) 和正相似性 g ( x ( i ) , x ∗ ( i ) ) g(x^{(i)},x_*^{(i)}) g(x(i),x∗(i))。在实际操作中,取 γ = 64 \gamma=64 γ=64,根据前文分析,当 N < 1.9 × 1 0 55 N<1.9×10^{55} N<1.9×1055 时,统一阈值 t t t 可取。
把 N < e 2 γ + 3 2 N<\frac{e^{2\gamma}+3}{2} N<2e2γ+3 代入式(14), b < γ b<\gamma b<γ, t = b γ < 1 t=\frac{b}{\gamma}<1 t=γb<1。同时从式(5)中可以看出至少存在两个主体,即 N ≥ 2 N≥2 N≥2,代入到式(14)可得 b > = 0 , t > 0 b>=0,t>0 b>=0,t>0(这也反应了同一个主体的特征的余弦夹角应该小于90°),即 t ∈ [ 0 , 1 ) t∈[0,1) t∈[0,1)。因为损失达到最小值后满足“正样本间的相似度 g ( x ( i ) , x ∗ ( i ) ) g(x^{(i)},x_*^{(i)}) g(x(i),x∗(i)) 趋于1,负样本间的相似度 g ( x ( i ) , x ∗ ( j ) ) g(x^{(i)},x_*^{(j)}) g(x(i),x∗(j)) 趋于-1”,所以 t t t 可以正确分离样本。
4.2 基于样本到样本的Softmax和BCE损失
基于样本到类的softmax和BCE损失在图像分类中有着广泛的应用。对于人脸验证的研究,这里从朴素损失 L n a i v e L_{naive} Lnaive中推导出样本对损失的softmax和BCE损失。
类似于USS损失的推导,利用算术平均和几何平均的不等式,首先给出关于 L n a i v e L_{naive} Lnaive 的另外两个不等式:
4.2.1 Softmax损失
对于样本 X ( i ) ∈ D i X^{(i)}∈D_i X(i)∈Di 且 x ( i ) = M ( X ( i ) ) x^{(i)}=M(X^{(i)}) x(i)=M(X(i)),我们定义其样本间的softmax损失为:
根据式(15)可得:
与朴素损失 L n a i v e L_{naive} Lnaive 类似,softmax损失 L s o f t L_{soft} Lsoft 的设计没有考虑样本对之间的统一阈值。
4.2.2 BCE损失
对于从对象 i i i 捕获的所有样本,假设存在一个阈值 t i t_i ti 可以将所有的正样本和负样本对分开,即:
根据式(16)和(6):
将样本 X ( i ) X^{(i)} X(i) 的BCE损失定义为:
其中 b i = γ t i b_i=\gamma t_i bi=γti 是一个可学习的参数,需要注意的是,对于不同的身份, t i t_i ti 可能不同,因此并不统一。
经过模型M的训练,即阈值 t i = b i γ t_i=\frac{b_i}{\gamma} ti=γbi 完成学习后,
4.3 基于样本到样本的边际损失
USS损失,以及基于样本到样本的 L s o f t L_{soft} Lsoft 和 L b c e L_{bce} Lbce,只鼓励正负样本对之间的可分性。为了进一步提高这种损失的判别能力,即鼓励正样本特征远离负样本特征 ,作者进一步提出了损失的边际扩展。
通过在特征相似度上引入一个边际,可以得到边际USS损失为:
式中,m为引入的超参数。适当地调整这样的参数可以提高识别性能。类似地,我们可以将普通 L s o f t L_{soft} Lsoft 和 L b c e L_{bce} Lbce 推广到 L s o f t − m L_{soft-m} Lsoft−m 和 L b c e − m L_{bce-m} Lbce−m 的边际版本,完整的方程见附录和补充材料。
5 效果
5.1 消融实验
统一阈值的有效性见表1。
为了更好的理解统一阈值的效果,作者从包含了 N = 10572 N=10572 N=10572 个主体的训练集中随机选取了20个身份(5074张人脸),然后为每个选定的图像构造了一个正样本和 N − 1 N-1 N−1 个负样本对。对于20个身份中的每一个,计算最优阈值来分离正对和最难的负对(即相似度最高的负对)。分别绘制 L s o f t L_{soft} Lsoft, L b c e L_{bce} Lbce和 L u s s L_{uss} Luss d的20个身份的阈值分布。如图1,每个圆点表示每个身份的最优阈值,蓝色虚线为式(11)中学习到的统一阈值。从图中可以看出 L u s s L_{uss} Luss 具有最紧凑的阈值分布,且随机抽取的20个身份的阈值中值与 L u s s L_{uss} Luss 训练的人脸模型学习到的统一阈值0.4896是一致的。
表2表明了不同边际值的作用。
表3展示了本文的样本到样本损失和其他样本到类别的损失共同使用的效果。