Validating Seed Data Samples for Synthetic Identities – Methodology and Uniqueness Metrics论文笔记

验证种子数据样本的合成身份-方法学和唯一性度量

摘要:探索了GAN合成人脸的身份唯一性。目标是判断身份唯一性,分别针对用于训练GAN的种子数据集和合成人脸样本。使用了两种方法分别是ROC曲线和阈值技术。使用了真实人脸的公开数据集样本作为ROCs的参考基准。

1.介绍

动机:合成大规模人脸数据集,第一步确定身份的唯一性,随后构建关注其他面部属性(光照,姿势和表情)
研究问题:

  • 1)对比用于训练GAN的原始种子数据集与合成的数据样本是否唯一?
  • 2)生成的数据集中的合成数据样本之间是否具有唯一性?
  • 3)能否验证生成数据集中具有足够身份唯一性的单个样本用于进一步生成合成数据集?

ROC曲线–合成数据集vs种子数据集,合成数据集vs合成数据集
阈值方法–通过人脸识别的阈值来确定生成样本和种子数据集的相似性,以及合成样本之间的相似性

2.文献回顾

评估方法分为定量评估模型与定性评估模型。
定量度量:Inception Score (IS), M-IS, Mode Score, AM score, and FID。以及semantic interpretability,FCN score, GAN Quality Index(GQI)。此外还有一些图像质量评价相关的方法如SSIM,PSNR,SD等
定性度量:(1)检测过度拟合的最近邻方法 (2)快速场景分类方法(3)评级和偏好判断,其中人类根据保真度对合成图像进行评级(4)研究GAN模型下降/崩溃方法(5)调查和可视化网络内部的方法,探索GAN模型通过潜在空间探索学到说明以及如何学习。

本文工作重点在合成人脸样本的身份属性的唯一性,只适用于为人脸生成任务而训练的GAN模型。检验了合成的人脸与原始种子数据集中人脸的身份唯一性。还检验了生成的合成数据样本之间的唯一性。可用于量化合成数据的身份。

3.技术基础

A.使用GAN生成人脸数据
采用了三种不同的StyleGAN模型。
对于训练数据分布,低密度区域表示很差,生成器很难学习是生成建模技术的重要问题。从截断的(truncated)或者其他方式缩小(shrunk)的采样空间绘制潜在向量倾向于改善平均图像质量,尽管丢失了一些量(variation)的变化。为了避免生成较差的图像,StyleGAN截断了中间向量w,强制它保持在“平均”向量附近。截断psi(truncation psi)的范围是 − 1 , 1 {-1,1} 1,1,它将影响输出的多样性。截断psi距离0越远,采样空间的截断越少(更加多样化)。

B.DATASETS
1)LABELED FACES IN THE WILD(LFW)
用于无约束条件下人脸验证的事实上的标准测试数据集。2007年发布,包含了5749个身份的13233张人脸图像。主要用于测试。本文用来计算ROC。
2)CASIA-WEBFACE
2014年发布的大型公开面部数据集,包括10575个身份,共有494414个面部数据样本。从IMDb网站收集的名人。
3)CELEBFACES/CELEBA
CelebFaces+数据集于2014年发布,与CASIA-WebFace一样,CelebFaces+数据集是首批公开发布的大型数据集之一,它包含了10177个身份的202,599张图像。该数据集的一个具有附加元数据的版本被称为CelebFaces Attributes DataSet(CelebA),其中CelebFaces+的样本用5个标志性位置和40个二进制属性(眼镜、胡子、帽子等)进行注释,为研究人员提供了有价值的信息。CelebA在这项工作中有两个用途。与LFW和CASIA-WebFace一样,为了计算ROC曲线,它的使用也类似。此外,它还用于训练StyleGAN模型,根据该模型生成合成数据并在本工作中进行检查。
4)CELEBA-HQ
CelebA-HQ是CelebA数据集的高质量子集版本。由30000个1024×1024分辨率的人脸样本组成。数据集被创建并最初用于训l练PGAN和StyleGAN。这3万个样本来自大约6000个身份。在CelebA-HQ上训练的StyleGan模型被用来生成合成样本,这些样本用于回答导言中提出的研究问题。
5)FFHQ
Flickr-Faces-HQ(FFHQ)是一个高质量人脸数据集,总共70000张分辨率为1024*1024的图像。它是从Flickr上爬出来的。数据集在种族、年龄、图像背景和配件方面有相当大的差异。该数据集被创建为生成性对抗性网络的基准,并且每个面部样本来自不同的人。FFHQ用于训练StyleGAN模型[3],从该模型创建合成样本,用于本工作的方法论。

C.人脸识别模型
采用了ArcFace:https://github.com/deepinsight/insightface
FaceNet:https://github.com/davidsandberg/facenet,效果不好就没用。

D.ROC曲线与阈值技术
接收器工作特性曲线(Receiver Operating Characteristic,ROC)说明了分类器在各种阈值设置下的性能。

R O C = 真 阳 性 率 ( T P R ) / 假 阳 性 率 ( F P R ) ROC=真阳性率(TPR)/假阳性率(FPR) ROC=TPR/FPR
TPR-灵敏度,FPR-虚警概率。TPR-y轴,FPR-x轴。

从ROC曲线导出阈值并用作人脸识别的阈值。利用两个人脸样本的两个嵌入(embeddings)(数值向量)作为人脸识别模型的输出,可以表示两个样本的身份相似性分数。阈值对应ROC的横坐标FPR。

4.方法

第一种方法是计算ROC曲线并进行比较,以确定身份的唯一性。该方法可用于确定合成数据集与原始种子数据样本集(Sy与Se)相比的身份唯一性。它还可用于确定合成样品(Sy与Sy)之间的唯一性。在第二种方法中,使用阈值技术来计算一个新的度量,该度量允许对合成数据和种子数据之间以及合成样本之间的唯一性进行类似的确定。在该方法中,将一对样本与FR阈值进行比较,以确定它们的相似性。作为延伸,当与种子数据集或其自身进行比较时,第二种方法使我们能够量化生成的合成样本集中唯一样本的数量。这可用于测量GAN模型生成具有唯一标识的合成数据的能力。
A.生成合成数据和人脸识别模型
出于实验目的,每个生成的合成数据集应该满足几个标准:

  • (1)生成合成人脸样本时使用相同的参数(例如,截断psi);

  • (2)测试所有生成的样本以确保它们被检测为人脸;这确保它们可以被FR模型正确处理,FR模型是本方法的基本工具。
    此外,由于方法论依赖于FR模型的性能,因此它应该是最先进的。通常对FR模型进行训练以输出代表输入人脸样本的嵌入数值向量。使用度量(例如,欧几里得距离、余弦相似性等)比较嵌入,以获得表示身份相似性的分数。对FR模型进行优化以输出嵌入,对于相同身份的图像,计算的得分与来自不同身份的图像的得分相比显示出更高的相似度。用于从两个嵌入获得分数的度量是基于FR模型的实现来选择的。该方法利用FR模型对人脸样本(真实样本或合成样本)进行反馈,从而得到相应的嵌入。嵌入用于计算表示其身份相似性的对的得分,该得分用于计算ROC或用于与FR阈值进行比较。
    B.ROC曲线比较
    1)参考点ROC(REF-ROC)
    计算ROC曲线步骤如下:创建相同数量的正负图像对。正对(PP)是指两个人脸图像具有相同的身份,而负对(NP)具有不同的身份。使用图像对的相应嵌入(通过FR模型获得),计算分数并用于绘制ROC。
    2)合成数据与种子数据(SY与SE)的身份唯一性-ROC曲线比较
    为了检验合成数据和种子数据之间的身份唯一性,使用合成数据和种子数据(Sy-Se-ROC)计算ROC曲线,并与Ref-ROC曲线进行比较。对于Sy-Se-ROC曲线,Positive-Pairs与Ref-ROC中使用的Positive-Pairs相同,但Negative-Pairs不同。Negative-Pairs包括将生成的合成数据与种子数据(真实脸部样本)配对。使用相应的嵌入来计算配对(Positive-Pairs,Negative-Pairs)的分数,并最终用于计算Sy-Se-ROC。图4给出了计算Sy-Se-ROC的工作流程。
    Figure 4

    当将Sy-Se-ROC与Ref-ROC进行比较时,这两组ROC(Sy-Se-ROC,Ref-ROC)之间的唯一区别是Negative-Pairs(NP),因为两者都使用相同的FR模型和Positive-Pairs。来自Ref-ROC的NP由真实的NP(身份已知)组成,而来自Sy-Se-ROC的NP由与种子数据配对的合成数据(没有身份标签)生成,因此被视为NP。因此,当比较两个ROC时,将由合成数据和种子数据组成的NP(来自Sy-Se-ROC)与来自Ref-ROC的NP(真实/已知NP)进行比较。
    现在,要么是Sy-Se-ROC低于图中不同部分的Ref-ROC,要么是Sy-Se-ROC处于与Ref-ROC相同或更高的水平。在更高或相同的水平上,我们可以得出结论,来自Sy-Se-ROC的NP的假阳性概率与来自Ref-ROC的NP的假阳性概率相同或更低。在这种情况下,合成数据和种子数据之间的身份唯一性等于或高于来自不同身份的真实样本中的身份唯一性。因此,所生成的合成数据在身份方面与种子数据相比是唯一的。
    当Sy-Se-ROC低于Ref-ROC时,Sy-Se-ROC的NP产生假阳性的概率高于Ref-ROC的NP。在这种情况下,与真实样本相比,生成的合成数据和种子数据之间的身份唯一性较低,并且得出结论,当就身份而言与种子数据集比较时,生成的数据样本不是唯一的。
    3)合成数据(SY与SY)-ROC曲线比较的身份唯一性
    为了检查生成的合成数据之间的身份唯一性,使用这些样本计算ROC曲线(Sy-ROC),并将其与Ref-ROC曲线进行比较。Sy-ROC曲线使用与Ref-ROC相同的PP,但NP由合成数据对组成。计算PP和NP的分数,并用于计算Sy-ROC。计算Sy-ROC的工作流程如图5所示。
    Fig5
    当将Sy-ROC与Ref-ROC进行比较时,ROC曲线仅在NP(在这种情况下是合成数据对)方面不同。合成数据对被视为NP,因为它们没有身份标签。类似地,如在4-B-2中,当Sy-ROC处于与Ref-ROC相似或更高的水平时,可以得出结论,合成对的身份唯一性与来自不同身份的真实样本的身份唯一性相似或更高。因此,显示所生成的合成数据在身份方面是唯一的。相反,如果Sy-ROC位于Ref-ROC之下,则合成数据对之间的身份唯一性比真实样本的身份唯一性要低,所以生成的合成数据身份不是唯一的。
    C.阈值技术和唯一性度量
    在面部识别/验证中用于确定两个面部样本是否被分类为具有相似身份的常用方法是通过使用阈值技术。使用两个面部样本的嵌入,获得分数并与FR阈值进行比较。遵循该技术来确定每种情况(Sy与Se、Sy与Sy)的一组合成数据的身份唯一性。
    1)人脸识别阈值选择
    与B 1)原理相似,代表真实人脸样本的统计行为,来源于Ref-ROC曲线。此外,从对应于FPR值的ROC曲线导出阈值。意义在于与FPR值相对应的阈值,例如, F P R = 1 ∗ 1 0 − 5 FPR=1*10^-5 FPR=1105意味着在统计上,每100k个比较中预计有1个假阳性。
    2)合成数据和种子数据(SY和SE)的身份唯一性-阈值技术
    在这种情况下,使用阈值技术检查生成的合成数据和种子数据之间的身份唯一性(Sy与Se)。所有生成的合成数据都与所有种子数据配对。这些对被认为是NP,因为生成的合成数据没有身份标签。对于所有的配对,通过相应的嵌入来计算它们的分数。随后,将该分数与FR阈值进行比较,以确定该对的样本是否被归类为具有相似的身份。所描述的工作流程如图6所示。在计算了第4-C-4和4-C-5部分中介绍的度量之后,确定了生成的合成数据与其种子数据进行比较时的身份唯一性。
    Figure 6
    3)合成数据(SY与SY)的身份唯一性-阈值化技术
    在这种情况下,使用阈值技术检查生成的合成数据之间的身份唯一性(Sy与Sy)。该过程与第4-C-2节中的过程类似,但在检查生成的合成数据之间的身份唯一性时,创建配对的方式不同。在这种情况下,所有生成的合成数据都相互配对。这些对也被视为NP。对于所有的配对,通过相应的嵌入来计算它们的分数。然后,将该分数与FR阈值进行比较,以确定生成的该对的合成样本是否被归类为具有相似的身份。所描述的工作流如图7所示。身份唯一性是使用第4-C-4节和4-C-5节中介绍的度量来确定的。
    Figure 7
    4)预期误报率(REFP)
    为阈值技术创建的图像对数量是进行比较的数量(NOC, number of comparison)。根据得分与FR阈值的比较,将被分类为在身份方面相似的对的数量被量化(NOP, number of pairs)。由于第4-C-1节给出的FPR的统计意义,当进行大量比较时,预计会有许多被归类为具有相似身份的配对,但这些配对在统计上可能是假阳性。
    由于所生成的合成数据没有身份标签,为了检查在每种情况下(Sy vs Se,Sy vs Sy)这些对的样本之间是否确实存在身份相似性(被分类为具有相似身份),将对应于FPR值的所选阈值的NOP与该FPR值上的预期统计假阳性的数量进行比较。
    如果NOP在FPR值上处于相同水平或低于预期的统计假阳性,则可以得出结论,合成样本与来自不同身份的真实样本处于相同或更高的身份唯一性水平,表明所生成的样本对于所检查的情况在身份方面是唯一的(Sy vs Se,Sy vs Sy)。但是,如果NOP较高,则所生成的合成数据样本(对于所检查的情况)的身份唯一性较低,从而得出所生成的样本在身份方面不是唯一的结论。
    为了考虑不同大小的合成数据集,从而考虑到不同的NOC和对应于不同FPR值的不同阈值,引入并定义了预期假阳性(REFP)比率:
    R E F P = ( N o P / N o c ) / F P R REFP=(NoP/Noc)/FPR REFP=(NoP/Noc)/FPR
    将其样本分类为具有相似同一性(NOP)的对的数量除以比较的数量(NOC)。反过来,通过将其除以所选阈值的FPR值来对其进行归一化。基于所进行的比较,REFP显示对于给定的FPR值,NOP比预期的误报高或低多少倍,因此希望较低的值显示更好的性能。
    如果REFP小于/等于或非常接近1,则所检查的案例的合成数据集(Sy vs Se,Sy vs Sy)具有与真实数据集相似或更高的身份唯一性。如果REFP高于1,则合成数据样本在所检查案例的唯一性级别较低。REFP是了解GAN模型是否能够为每个被检查的情况生成唯一的合成数据的有用度量。
    5)合成数据唯一性数目
    用来评估GAN模型生成唯一合成数据的能力的一个度量是用唯一的身份来量化这些合成样本。因为在阈值技术中,所有可能的配对组合都已被考虑在内。
    因此,如果合成数据与种子数据相比(REFP大于1)在身份同一性方面不是唯一的,那么计算具有唯一身份同一性的合成样本的数量就很简单了。我们只需从合成数据集的总大小中减去至少一次被归类为与种子样本具有相似同一性的合成样本的数量。这被定义为生成的合成数据集中与其种子数据相比较时的唯一样本数(NOU)。
    在合成数据比较时缺乏唯一性(REFP大于1)的情况下,由于身份唯一性与其他样本纠缠在一起,因此确定具有唯一身份的样本并不简单。但使用图论方法,确定生成的合成数据集中唯一身份的最大数量是可行的。我们的想法是从确定连接程度最高的样本开始,并将其从数据集中删除。通过迭代地移除具有最高数目的相似性/连接的样本,直到没有剩余具有相似性/连接的样本为止,可以确定所生成的一批合成数据样本中的唯一数据样本的数量。这被定义为生成的合成数据集中的唯一样本数(NOU)。程序如图8所示。在附录1中,通过算法1描述了该过程,并在图21中给出了应用该算法的示例。
    Figure 8
    注意,为了比较不同模型的性能,在为每种情况生成关于身份同一性的唯一合成样本的任务中,使用NOU,因为它显示合成集合中唯一样本的数量,而REFP显示具有身份相似性的对的数量。对于要计算的NOU,REFP必须大于1,显示出较低的唯一性水平。

5.实验

A.合成数据集
在这项工作中,合成样本是从StyleGAN生成的,并用作本节中介绍的实验的基础。三种不同的StyleGAN模型用于构建这些合成数据集。使用了NVIDIA的两个官方StyleGAN模型(https://github.com/NVlabs/stylegan)。它们分别在FFHQ和CelebA-HQ上以1024×1024的分辨率进行训练。此外,使用在CelebA数据集上以256×256分辨率训练的StyleGAN模型。这使得这项研究的结果能够在StyleGAN模型的几个不同变体上得到验证,因此结果不会偏向于特定的种子训练数据集。每个种子数据集具有不同数量的数据样本和标识。
此外,在生成数据时,可以生成具有不同截断psi值的样本,如第3-A节所述。这些实验对此变量使用三个不同的值-0.5、0.7和1.0,因此可以理解更改此关键参数的效果。使用这些值可以使用在FFHQ上训练的StyleGAN模型提供的公开可用的合成数据集,从而可以使用这些样本轻松地复制这些实验。生成的合成数据被分成几个数据集,每个数据集有20K个样本,在本工作中使用。
有关如何为本工作中使用的每个集合生成相同的合成数据样本的说明,请参阅(https://github.com/NVlabs/stylegan)。总共使用了9组20k生成的合成数据集。为了引用合成样本的数据集,使用以下命名约定:SY-种子数据集的名称-截断PSI值(例如,Sy-FFHQ-0.5)。所生成的合成数据集与其相应种子数据集的信息(例如,样本数量和身份)一起在表1中给出。最后,如4-A中所述,使用的所有生成的人脸样本都是“可检测的人脸”。
Table.1
B.人脸识别模型
这项工作中使用的FR工具是ArcFace FR模型[28]。所选择的FR模型将人脸图像作为输入,并输出512嵌入。人脸样本在传递给FR模型之前进行预处理。预处理包括人脸检测器,对检测到的区域进行裁剪,并调整到FR网络所需的输入大小。在这项工作中,在将人脸样本送入网络之前,遵循ArcFace作者建议的相同程序。MTCNN用于检测和裁剪人脸样本,并验证生成的数据样本是否可识别为人脸。在传递给ArcFace识别网络之前,使用双线性插值将检测到的区域裁剪并调整大小为112×112,ArcFace识别网络计算对应于面部样本的512嵌入。最后,用余弦相似度来计算比较两个嵌入时的身份相似度得分。本文中使用的ArcFace模型和权重可以在([https://www.dropbox.com/s/tj96fsm6t6rq8ye/model-r100-arcface-
ms1m-refine-v2.zip?dl=0])找到。
C.ROC曲线比较
在本节中,ROC曲线比较方法是使用生成的合成数据集实施的(表1)。最初,计算Ref-ROC,并使用生成的合成数据集,计算Sy-Se-ROC和Sy-ROC。通过比较Sy-Se-ROC和Ref-ROC来检查来自生成的合成数据集中的样本与来自其相应种子数据集中的样本之间的身份唯一性。此外,通过比较Sy-ROC和Ref-ROC来检查来自每个生成的合成数据集的样本之间的身份唯一性。在这两种情况下,还探讨了截断psi的影响以及不同模型的性能。
1) REF-ROC的计算
在这项工作中,使用来自不同数据集的NP计算了三个Ref-ROC。这样,结果并不特定于单个数据集或Ref-ROC曲线。PP是可以从CelebA数据集制定的所有可能的PP,总共250万。这三个Ref-ROC的NP是通过将CelebA数据集的样本与CelebA、LFW和CasiaWebFaces数据集的样本结合在一起来制定的,如表2所示。在每种情况下,都会创建250万个NP以匹配PP的数量。
Table2
2) 确定唯一性-SYvsSE-ROC曲线比较
为了确定每个合成数据集与其种子数据集的身份唯一性,计算对应的Sy-Se-ROC,其在第4-B-2节中描述并在图4中示出。它使用与Ref-ROC相同的250万个PP和250万个与种子数据样本配对的合成数据样本。表3列出了这些不同的组合。
Table.3
在图9和图10中,Sy-Se-ROC开始并保持在与Ref-ROC相似或高于Ref-ROC的水平。这表明合成数据和种子数据之间的身份唯一性与具有不同身份的真实样本中的身份唯一性相等或更高。因此,表明从这些模型(StyleGAN-CelebA和StyleGANCelebA-HQ)生成的合成数据在同一性方面与它们的种子数据相比是唯一的。
Figure 9
Figure 10
在图11中,将使用从StyleGAN-FFHQ模型生成的合成数据集的Sy-Se-ROC与Ref-ROC进行比较。所有Sy-Se-ROC开始并保持在Ref-ROC以下,表明StyleGAN-FFHQ生成的合成数据与其种子数据样本相比不是唯一的。然而,当检查具有高相似性得分的NP的选择时,很明显得分高的对由婴儿或幼儿的面部样本组成。FFHQ数据集在我们选择的数据集中是独一无二的,因为它是唯一包含此类样本的数据集。由于ArcFace的参考模型没有用儿童/婴儿的样本进行训练,因此它在区分这些样本方面不是很健壮,这解释了图11的结果。因此,在图12中,呈现了与图11中相同的Sy-Se-ROC,但手动删除了几个由婴儿或幼儿组成的数据对。很明显,这些保持在相似的水平或高于Ref-ROC,并且现在的行为类似于图9和图10。这表明合成数据和种子数据之间的身份唯一性等于或高于真实样本中的身份唯一性,表明从StyleGAN-FFHQ生成的合成样本在一致性方面与它们的种子数据相比是唯一的。
Figure11Figure12
为了检查截断psi值对生成的合成数据和种子数据之间的身份唯一性的影响,将每个图(图9、图10、图12)的Sy-Se-ROC相互比较。从这一比较中可以观察到,所有Sy-Se-ROC的性能相似,只是有微小的差异。这表明截断psi参数的值不影响所生成的合成数据样本相对于其种子数据集的身份唯一性。
最后,在图13中,所有的Sy-Se-ROC被一起呈现,以确定哪个StyleGAN模型在生成与它们的种子数据相比在同一性方面是唯一的合成数据方面更好。通过比较,StyleGAN-FFHQ的性能较好,其次分别是StyleGAN-CelebA和StyleGAN-CelebA-HQ,但它们之间的差异不大。
Figure13
总而言之,可以得出结论,StyleGAN在生成合成数据样本方面非常有效,这些合成数据样本与用于训练GAN的原始数据样本集有很好的区别(在一致性方面是唯一的)。下一个挑战是了解合成数据样本与其他合成样本相比有多独特。
3) 确定唯一性-SYvsSY-ROC曲线比较
为了确定每个合成数据集中的身份唯一性,计算了相应的Sy-ROC,如第4-B-3节所述和图5所示。它使用与Ref-ROC中使用的相同的2.5M PP和相互配对的2.5M 个合成样品的NP。表4列出了这些不同的组合。
Table 4
在图14-16中,将Sy-ROC与Ref-ROC进行比较,然后开始并保持在它们之下。如第4-B-3节中本实验的相应方法中所解释的,这表明与真实样本相比,合成数据集的样本之间的身份唯一性较低。得出的结论是,当用本工作中使用的任何模型(StyleGAN-CelebA、StyleGAN-CelebA-HQ、StyleGAN-FFHQ)生成合成样本时,并不是所有生成的合成样本都具有唯一的身份。
figure 14
为了考察截断psi值对合成数据集生成的合成数据的身份唯一性的影响,比较了每个图形(图14-16)的Sy-ROC。在所有图中,与接近于0的截断PSI值相对应的Sy-ROC具有比其他值更低的性能。Sy-ROC的性能越低,在合成数据集中具有唯一一致性的合成样本的数量就越少。结论是截断psi影响生成的合成样本的身份唯一性,表明当生成合成样本时,截断psi值越接近0,合成样本集合中的身份唯一性越低。这是一个预期的结果,并通过我们的实验得到了验证。当截断psi更接近于0时,选择用于生成图像的潜在空间被更多地截断(第3-A节),因此具有较小的总体变化,其在所生成的合成样本的身份特征中扩展为较小的变化(较少的唯一性)。
最后,在图17中,所有的Sy-ROC都在它们之间进行了比较,以检查哪个模型在生成具有唯一特性的合成样本方面表现得更好。我们通过比较它们对应的Sy-ROC以及它们之间相同的截断psi值来比较它们之间的模型。这是为了比较公平和一致而执行的,因为截断PSI影响所生成的合成样本之间的身份唯一性。(例如,在它们之间比较Sy-ROC-CelebA-0.5、Sy-ROC-CelebA-HQ-0.5和Sy-ROC-FFHQ-0.5)。
在这里插入图片描述
如从图17所解释的那样比较系统-ROC,说明对应于StyleGAN-FFHQ的Sy-ROC在性能上总体上表现更好,对于所有不同的截断PSI值,分别紧随其后的是StyleGAN-CelebA和StyleGANCelebA-HQ。Sy-ROC的性能越高,生成的在合成数据集中具有唯一标识的合成样本的数量就越多。结果表明,当使用相同的截断psi值时,StyleGAN-FFHQ模型在生成具有身份同一性的合成样本方面表现最好,其次是StyleGAN-CelebA模型和StyleGAN-CelebA-HQ模型。
D.阈值技术
在本节中,阈值技术是使用生成的合成数据集实现的(表1)。首先,描述了FR阈值的选择。然后,检查来自合成数据集中的样本与来自其对应种子数据集中的样本之间的身份唯一性,以及来自每个合成数据集中的样本之间的身份唯一性。在这两种情况下,使用方法学(第4-C节)中提出的唯一性度量来探讨截断psi和不同模型的性能的影响。
1) 人脸识别阈值选择
为了实现第4-C-1节中描述的阈值技术,FR阈值是从Ref-ROC曲线导出的。阈值是从RefROC-CelebA(表2)推导出来的,因为本工作中使用的三个StyleGAN模型中有两个是根据同一分布(StyleGAN-CelebA、StyleGAN-CelebA-HQ)进行训练的。然而,该阈值可能来自任何其他Ref-ROC。在本工作中,根据不同的FRP值选择了三个阈值。阈值为0.483、0.428、0.3815,对应的FPR值为:4.46e-07(最接近1e-07)、1.33e-06(最接近1e-06)和1e-05。选择三个阈值来检验当阈值较小或较严格时,在每种情况下(Sy与Se、Sy与Sy)身份唯一性是如何受到影响的。如第5-B节所述,通过相应的嵌入表示两个样本之间的身份相似度的分数是余弦相似度。至于余弦相似性度量,得分越高表明同一性越高,在将该对的得分与FR阈值进行比较时,如果得分高于FR阈值,则该对的样本被归类为具有相似的身份。
2) 确定唯一性-SYvsSE阈值技术
在本实验中,按照第4-C-2节中描述的阈值技术检查生成的合成数据与来自种子数据的样本在身份方面的唯一性。将生成的合成数据集与其对应的种子数据进行比较(表5)。对于每个合成数据集,计算其得分高于确定的FR阈值(NOP)的对的数量。由于比较次数(NOC)与FPR值一起也是已知的,因此(1)中描述的REFP是针对每个合成数据集计算的,并在表6中给出。有关NOP和NOC的更多数字详细信息,请参见附录B中的表15。
table5
table6
从表6可以看出,在所有不同的FR阈值中,由模型StyleGAN-CelebA和StyleGAN-CelebA-HQ生成的合成数据集的REFP低于或仅略高于1。这表明从StyleGAN-CelebA和StyleGAN-CelebA-HQ生成的合成数据相对于其相应的种子样本是唯一的。
对于StyleGAN-FFHQ,REFP明显高于1,但正如5-C-2中所讨论的,这种行为是由于存在婴幼儿数据样本。就我们所知,没有一种直接的方法可以消除所有只由婴幼儿组成的配对。此外,如果这样做,模型-StyleGAN-FFHQ生成合成样本的能力将会降低,比较将不公平;因此不能重新计算REFP。消除只由婴幼儿组成的配对样本解决了这个问题,如第5-C-2节所讨论和演示的那样,其中得出的结论是,StyleGAN-FFHQ模型生成的合成数据与其种子数据集(FFHQ)中的样本相比是唯一的。
关于截断psi对合成样本与其种子数据集样本之间的身份唯一性的影响,表6比较了每组样本的REFP值。对于StyleGAN-CelebA和StyleGAN-CelebA-HQ,在特定的阈值下,其值是合理一致的,且小于或略高于1,结论是截断psi值不影响身份唯一性,这与5-C节得出的结论类似。StyleGAN-FFHQ的行为没有表现出这种一致性,但这可以用幼儿数据样本的不可预测效应来解释,当忽略StyleGAN-FFHQ时,表明截断psi不影响唯一性。
由于所有合成数据集的REFP都低于或仅略高于1,表明生成的合成样本与其种子数据集中的样本具有唯一的身份,因此无法计算NOU。因此,为了比较不同合成数据集的性能,使用了REFP。使用StyleGAN-CelebA生成的合成数据集的REFP低于使用StyleGAN-CelebA-HQ生成的合成数据集。这表明StyleGAN-CelebA在生成与其种子数据集唯一的样本方面略好一些。没有对StyleGAN-FFHQ模型的合成数据集进行进一步的检查,因为婴幼儿样本对正确计算REFP构成了挑战。
3) 确定唯一性-SY阈值技术与SY阈值技术
在本实验中,按照第4-C-3节中描述的阈值技术检查生成的合成数据之间的身份唯一性。对于每个生成的合成数据集,对其样本进行交叉比较(表7),以计算具有相似身份的配对的数量(NOP)。接下来,使用比较次数(NOC)和选定的FPR,为每个合成数据集计算(1)的REFP,并在表8中列出。有关NOP和NOC的更多数字详细信息,请参见附录C的表。
table7table8
对于所有合成集合和所有阈值设置,REFP显著高于1(表8)。很明显,当从这项工作中使用的模型生成合成数据样本时,并不是所有的合成样本都具有唯一的一致性。事实上,即使是我们最好的结果也显示,REFP比率大约是真实数据集中预期的36倍。
关于运行时间对生成样本的身份唯一性的影响,可以看出,该变量的值越高,REFP就越小。可以得出结论,较大的截断psi值增加了生成的合成样本的身份唯一性,当该变量的值为1.0时,获得的结果最好。
所有合成集合的REFP都在1以上,这表明并不是所有生成的合成样本都具有唯一的身份。在这种情况下,如在第4-C-5节中所讨论的,可以计算唯一样本的数量(NOU)。在合成数据集中提供具有唯一标识的合成数据的百分比也很有用。表9给出了这些值。
table9
NOU用于比较不同模型在生成具有唯一身份的人脸样本任务中的性能。将具有相同截断PSI值的每个模型的NOU在它们之间进行比较。这是在截断psi影响生成的合成样本的身份唯一性时执行的。比较不同阈值设置下的NOU,发现最高的NOU来自StyleGAN-FFHQ模型生成的合成数据集,表现出最好的性能,其次是StyleGAN-CelebA模型。最后,性能最后的是StyleGAN-CelebA-HQ,它的任务是生成具有独特身份的合成样本。
NOU还表明,即使在本工作最严格的FR阈值(fpr=4.46e-07,阈值=0.4823)下,使用全变化的潜在空间(截断psi=1),在合成数据集中,也有80%-90%的样本具有唯一的同一性。更有趣的是,当FR阈值变得不那么严格时(fpr=1e-05,阈值=0.3815),并且使用更接近0的截断psi值(截断psi=0.5%),同时确保更好的输出图像质量,数据集中具有唯一身份的样本急剧减少到7-9%.。这表明有必要调查生成的合成样本的身份属性的变化,因为在某些情况下,只有一小部分样本是唯一的(就身份而言)。来自每个合成数据集和不同阈值的具有唯一身份的样本(表9)可以通过本文附带的IEEEDataPort提供,这些样本可以形成具有不同身份的种子合成人脸数据集。此外,还可以在https://github.com/C3Imaging/Deep-Learning-Techniques/tree/
Synthetic_Face_Datasets中找到这些内容。
E.可视化例子
在本节中,提供了一些定性示例,以直观地演示所建议的方法如何删除连接最紧密的数据样本,以提供一组唯一的合成身份。
阈值技术能够定位具有相似特性的合成配对样本。在图18中,显示了几个具有高相似性分数的这样的合成配对样本。目视检查显示这些数据样本有多相似,并用于说明为创建有效的合成数据集而实现唯一身份种子样本的关键挑战。
在图19的状态A中,图示了一簇合成样品。这些样本通过高相似性分数相互关联,这表明它们彼此之间并不是独一无二的。表10显示了这些数据样本之间的身份相似性得分。本例中的FR阈值是:0.48,从突出显示的分数可以看出,这些身份都不能被认为是唯一的。表10还给出了每个样本的连接数(con)。通过应用我们的图论方法(第4-C-5节),可以删除连接最多的面部样本Sy-1。剩余的四个样本(显示为状态B)没有身份相似性,因此可以认为是唯一的种子身份。
图20中给出了另一个类似但更复杂的例子,表12-14分别示出了图20中每个州(A-C)的身份相似性得分。从表12可以看出,Sy-1(图20,状态A)是具有最多连接(5)的样本,因此被剔除。在移除Sy-1之后,在表13中,Sy-2(图20,状态B)是具有最多连接(2)的样本,因此也被移除。对应于图20中的状态C的表14显示其余样本之间没有联系,因此这些样本在其身份方面是唯一的。这些是图论技术(第4-C-5节)应用于合成数据集的一小部分的简化示例。如第5-D节所讨论和说明的,当用于整个合成数据集时,它允许我们识别和量化在合成数据集中具有唯一身份的样本。这可以用来测量GAN产生具有独特身份的合成样品的能力,或者选择这些独特的样品用于进一步的研究。
F.ROC曲线比较和阈值技术的计算问题
ROC曲线比较法(第4-B节),与阈值技术(第4-C节)相比,使用的比较次数较少。这是因为选择有限数量的随机对作为基础数据分布的统计属性的代表。
阈值技术可以为生成的一组合成数据提供更精确的结果,并利用种子数据集或生成的数据集中的其他合成数据样本来量化这些样本的唯一性。这还允许将REFP度量与NOU一起计算,NOU可用于测量具有唯一标识的合成数据的数量。然而,当使用大小为20k的合成样本和200k的相应种子数据集时,比较次数可能很快成为限制因素,然后需要4B比较来检查两个集合之间的身份唯一性,并且需要200M比较来检查合成数据集中的唯一性,这可能需要长达一天的计算时间。另一方面,基于ROC的方法在每种情况下只需要500万次比较。

6.结论

在这项工作中,提出了两种不同的方法来回答本工作中提出的以下研究问题:
1)与用于训练GaN模型的原始种子数据相比,合成数据样本是否唯一?
2)生成数据集中的合成数据样本相互比较是否唯一?
3)我们能否验证生成数据集中的单个样本,以确保有足够的身份唯一性用作进一步研究的合成数据样本?

在这两种方法中,使用真实样本的性能/行为作为参考点,并将针对每种情况(Sy与Se,Sy与Sy)生成的合成数据的性能/行为与其进行比较,以回答研究问题。在第一种方法中,通过ROC曲线来说明每个被检查病例的真实样本和生成的合成数据的性能/行为,该ROC曲线将生成的合成数据与种子数据的唯一性以及生成的合成数据之间的唯一性进行比较和检查。在第二种方法中,采用阈值技术来确定两种情况下的身份唯一性。在该方法中,通过选择FR阈值来说明真实样本的性能,该阈值被用来确定生成的合成样本与其种子数据集以及它们之间的相似性,从而反之表示在每种情况下合成数据的身份唯一性。用这种方法计算了引入的度量REFP,回答了这项工作的问题。此外,通过阈值技术方法,可以计算另一个度量,该度量用于测量模型生成具有唯一身份的样本以及识别这些样本(NOU)的能力。

为了回答研究问题,所提出的两种方法使用来自三个不同StyleGAN模型的生成样本,使用不同的设置(例如,截断psi值)来实现。以这种方式,对于几个模型和不同的截断PSI值,对于两种情况都检查了身份唯一性。StyleGAN之所以被选中,是因为它代表了用于人脸生成任务的最先进的GAN,尽管在该任务上训练的任何GAN模型都可以用于实现所提出的方法。

鉴于第五节中的广泛观察,两种方法得出了类似的结果。这两种方法都得出结论,从本工作中使用的任何模型生成的合成样本与来自其相应种子数据的样本在同一性方面是唯一的,就像来自真实数据集中不同身份的样本一样,这是可取的。此外,生成具有任何截断psi值的样本不会影响生成的合成数据与其种子数据之间的身份唯一性。最后,所有模型在此任务中的性能相似,但它们之间的差异很小。

当将合成样本相互比较时,两种方法都得出结论,使用本工作的模型,生成的样本在身份方面并不像真实数据集中不同身份的样本那样唯一。此外,对于本工作中使用的任何模型,截断psi值都会影响生成的集合合成样本的恒等式唯一性。当生成截断psi值更接近于0的样本时,当生成截断psi值更远于0的样本时,合成数据集中的身份唯一性较低。结果表明,StyleGAN-FFHQ模型在生成具有唯一身份的合成样本方面表现最好,其次是StyleGAN-CelebA模型和StyleGAN-CelebA-HQ模型。最后,显示模型生成独特合成样本能力的NOU度量显示,在某些情况下,只有7-9%的样本与20K生成的合成样本的数据集具有身份的同一性。

在未来的工作中,这种方法可以用来建立大规模的合成面部数据集,方法是使用GAN生成面部数据样本的种子数据集,这些样本在身份上是明显唯一的。在给定这样的种子数据集的情况下,修改这些种子样本的特征(例如面部光照、姿势和表情)以构建可用于FR目的和其他应用的大型合成训练数据集将是可行的。此外,使用这种方法,为生成具有唯一身份的面部样本的任务调查不同的GAN并对其进行基准测试将是很有趣的。此外,未来的工作将包括主观评估,这将进一步研究人脸识别系统在所检查的案例中的有效性。最后,利用所提出的方法的核心思想,可以创建可用于训练GAN模型的损失函数,以便最大限度地提高其生成具有唯一身份的面部数据样本的能力。
附录A
下面的算法1表示允许量化合成数据集中具有唯一标识的样本数量的图表方法,如第4-C-5节和图21中所述,这是由于算法1被应用于简化的图表而示出的。
figure21
在这里插入图片描述

附录B
按照第4-C-2节中描述的阈值技术,在第5-D-2节中检查合成数据集与来自种子数据的样本在同一性方面的唯一性,表15给出了每个合成数据集的NOP和NOC。
table15
附录C
按照第4-C-3节中描述的阈值技术,在第5-D-3节中检查了合成数据集中在一致性方面的唯一性,表16给出了每个合成数据集的NOP和NOC。table16

### 回答1: 下面是一个用 JavaScript 验证密码的示例代码: ``` function validatePassword(password) { var re = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}$/; return re.test(password); } ``` 这段代码使用正则表达式来验证密码是否符合要求。要求密码长度不小于 6 个字符,并且包含大写字母、小写字母和数字。如果密码符合要求,则函数返回 true;否则,返回 false。 ### 回答2: 用于验证密码的JS代码可以包括以下几个方面的验证: 1. 长度验证:可以使用字符串的`length`属性判断密码的长度是否满足要求。 ```javascript if (password.length < 8 || password.length > 16) { // 密码长度不符合要求 } ``` 2. 字符类型验证:可以使用正则表达式判断密码是否包含特定的字符类型,例如大写字母、小写字母、数字和特殊字符。 ```javascript // 密码必须包含至少一个大写字母、一个小写字母、一个数字和一个特殊字符 if (!/[A-Z]/.test(password) || !/[a-z]/.test(password) || !/[0-9]/.test(password) || !/[!@#$%^&*]/.test(password)) { // 密码字符类型不符合要求 } ``` 3. 重复字符验证:可以使用正则表达式判断密码中是否含有重复的字符。 ```javascript // 密码中不能有重复的字符 if (/(\w).*\1/.test(password)) { // 密码含有重复字符 } ``` 通过组合以上几个验证,可以实现一个简单的密码验证函数: ```javascript function validatePassword(password) { if (password.length < 8 || password.length > 16) { return false; } if (!/[A-Z]/.test(password) || !/[a-z]/.test(password) || !/[0-9]/.test(password) || !/[!@#$%^&*]/.test(password)) { return false; } if (/(\w).*\1/.test(password)) { return false; } return true; } ``` 使用该函数判断密码是否合法: ```javascript if (validatePassword("MyPassword123!")) { // 密码合法 } else { // 密码不合法 } ``` ### 回答3: 以下是用于验证密码的 JavaScript 代码: ```javascript function validatePassword(password) { // 密码不能为空 if (password === "") { return "密码不能为空"; } // 密码长度必须在6到20个字符之间 if (password.length < 6 || password.length > 20) { return "密码长度必须在6到20个字符之间"; } // 密码必须包含至少一个大写字母、一个小写字母和一个数字 if (!/[a-z]/.test(password) || !/[A-Z]/.test(password) || !/[0-9]/.test(password)) { return "密码必须包含至少一个大写字母、一个小写字母和一个数字"; } // 密码验证通过 return "密码验证通过"; } // 测试 console.log(validatePassword("ABc123")); // 密码验证通过 console.log(validatePassword("abc123")); // 密码必须包含至少一个大写字母、一个小写字母和一个数字 console.log(validatePassword("abcdefgh")); // 密码长度必须在6到20个字符之间 console.log(validatePassword("12345678")); // 密码必须包含至少一个大写字母、一个小写字母和一个数字 console.log(validatePassword("")); // 密码不能为空 ``` 这段代码定义了一个名为`validatePassword`的函数,该函数接受一个密码作为参数并返回一个字符串。函数内部包含了三个条件来验证密码:密码不能为空,密码长度必须在6到20个字符之间,密码必须包含至少一个大写字母、一个小写字母和一个数字。根据验证结果返回不同的提示信息。 以上测试结果分别是:密码验证通过、密码必须包含至少一个大写字母、一个小写字母和一个数字、密码长度必须在6到20个字符之间、密码必须包含至少一个大写字母、一个小写字母和一个数字、密码不能为空。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值