没有合适的资源?快使用搜索试试~ 我知道了~
(http://creativecommons.org/licenses/by-nc-nd/4.0/).followed, and they are essentially based on the representation froma matrix (usually 3-D) to a 1-D feature vector. This is to reduce theuse of computational resources. However, most of these representationsassume that the image has a good resolution and do not handle spoofingattacks.We propose, in this paper, a face representation to answer thesechallenges. It is a signature named FaSIVA which stands for FaceSignature for Identification, Verification and Authentication of persons.The idea is to propose a robust face representation that will notonly handle the identification process but will take into considerationreinforcement processes such as image enhancement, verification, andauthentication.The rest of the paper is organized as follows; Section 2 presentsprevious work with an emphasis on outstanding work related to ourstudy. In Section 3, the details of the FaSIVA signature are presentedwhere all the formalization processes are explained. To validate themodel, we present, in Section 4, the different implementations thathave been carried out as well as the results obtained. The work isconcluded in Section 5 with a summary and some thoughts for futurework.0Array 13 (2022) 1001120的开放获取文章0ScienceDirect提供的内容列表0Array0期刊主页:www.elsevier.com/locate/array0FaSIVA:用于识别、验证和认证人员的面部签名0Elie Tagne Fute a,b,�,Lionel Landry Sop Deffo a,b,Emmanuel Tonye c0a 喀麦隆Buea大学计算机工程系,Buea,喀麦隆 b 喀麦隆Dschang大学数学与计算机科学系,Dschang,喀麦隆 c 喀麦隆YaoundeI大学国家工程高级学院电气与通信工程系,Yaounde,喀麦隆0文章信息0关键词:人脸识别活体检测 低分辨率图像签名 欺骗攻击0摘 要0最近在大多数应用中迁移到生物识别技术,增加了提出监视环境中的解决方案的兴趣。其中包括基于指纹的控制系统、基于虹膜的控制系统、人脸识别和验证。然而,部署自主系统的需求引起了我们对人脸识别的注意,因为这一类别不需要系统与用户之间的互动。实现可靠的人脸识别的关键条件之一是人脸表示。这并不总是一项容易的任务,因为面部特征的内部和面部之间的可变性。为了说明这有多困难,让我们考虑一个表示面部的3-D矩阵。给定面部的单次旋转会产生完全不同的矩阵表示。因此,面部表示的挑战在于找到一个在旋转、平移、照明等之后仍然不变的描述。许多表示方法已经出现,其中第一个是分形表示[1]。这种方法使用的理论是一个对象可以由自身表示,即由自相似元素表示。它的优势在于它使用的计算资源比传统的主成分分析(PCA)方法[2]少,然而,插入新样本将导致特征向量的重新计算。许多其他表示方法也已经出现,它们主要基于从矩阵(通常是3-D)到1-D特征向量的表示。这是为了减少计算资源的使用。然而,大多数这些表示方法假定图像具有良好的分辨率,并且不能处理欺骗攻击。在本文中,我们提出了一种面部表示来应对这些挑战。这是一种名为FaSIVA的签名,代表着面部识别、验证和认证。这个想法是提出一个强大的面部表示,不仅可以处理识别过程,还将考虑到图像增强、验证和认证等加强过程。本文的其余部分组织如下:第2节介绍了以前的工作,重点介绍了与我们研究相关的杰出工作。在第3节中,介绍了FaSIVA签名的详细信息,解释了所有的形式化过程。为了验证模型,我们在第4节中介绍了已经进行的不同实现以及获得的结果。第5节总结了工作,并对未来的工作提出了一些想法。01. 引言0最近在大多数应用中迁移到生物识别技术,增加了提出监视环境中的解决方案的兴趣。其中包括基于指纹的控制系统、基于虹膜的控制系统、人脸识别和验证。然而,部署自主系统的需求引起了我们对人脸识别的注意,因为这一类别不需要系统与用户之间的互动。实现可靠的人脸识别的关键条件之一是人脸表示。这并不总是一项容易的任务,因为面部特征的内部和面部之间的可变性。为了说明这有多困难,让我们考虑一个表示面部的3-D矩阵。给定面部的单次旋转会产生完全不同的矩阵表示。因此,面部表示的挑战在于找到一个在旋转、平移、照明等之后仍然不变的描述。许多表示方法已经出现,其中第一个是分形表示[1]。这种方法使用的理论是一个对象可以由自身表示,即由自相似元素表示。它的优势在于它使用的计算资源比传统的主成分分析(PCA)方法[2]少,然而,插入新样本将导致特征向量的重新计算。许多其他表示方法也已经出现,它们主要基于从矩阵(通常是3-D)到1-D特征向量的表示。这是为了减少计算资源的使用。然而,大多数这些表示方法假定图像具有良好的分辨率,并且不能处理欺骗攻击。在本文中,我们提出了一种面部表示来应对这些挑战。这是一种名为FaSIVA的签名,代表着面部识别、验证和认证。这个想法是提出一个强大的面部表示,不仅可以处理识别过程,还将考虑到图像增强、验证和认证等加强过程。本文的其余部分组织如下:第2节介绍了以前的工作,重点介绍了与我们研究相关的杰出工作。在第3节中,介绍了FaSIVA签名的详细信息,解释了所有的形式化过程。为了验证模型,我们在第4节中介绍了已经进行的不同实现以及获得的结果。第5节总结了工作,并对未来的工作提出了一些想法。0� 通讯作者:喀麦隆Dschang大学数学与计算机科学系。电子邮件地址:eliefute@yahoo.fr(E. Tagne Fute)。0https://doi.org/10.1016/j.array.2021.1001122021年5月5日收到;2021年8月25日修订后收到;2021年11月19日接受20Array 13 (2022) 1001120E. Tagne Fute等02. 相关工作0早期用于人脸识别的方法通常是0通常表示为手工设计的方法,包括局部二进制模式(LPB),Fisher向量,尺度不变特征变换(SIFT)。0用于表示面部的原则称为稀疏性,它0包括使用面部图像的原始矩阵找到能够稳健准确地表示给定面部的最小元素。得到的结果称为特征向量。通常使用数学原理来找到给定的特征向量。在这个观点下,文献中已经发展了许多方法;一些著名的方法是局部二进制模式(LBP),特征脸和Fisher faces。0对于LPB,研究每个像素的周围[3]。在这里,使用二进制0使用数学公式和阈值计算每个像素的模式,并最终汇总所有计算的值以导出图像直方图。由于它使用阈值机制,LPB对照明的局部变化敏感,并且在部分遮挡时表现不佳。0而LPB侧重于像素的局部值来计算特征的0值,特征脸[4]使用称为主成分分析的原则在较低维度的新向量空间上进行投影[5]。这种方法的优点在于不需要与面部几何和反射相关的信息,并且识别过程高效。然而,该方法速度较慢,要达到可接受的准确度水平,必须考虑许多样本图像。0Fisher faces [6]的情况类似于特征脸,然而,它们0不同之处在于添加了另一个称为LDA(线性判别分析)[7]的原则,以使得在提取特征值时能够对每个类别进行特征提取,而不是考虑整个样本图像。这使得一个类别与另一个类别分离。它具有减少错误率的优点。0对于SIFT特征[8],大多数相关算法由0四个部分,分别是用于检测图像中斑点结构的尺度空间极值检测。在这个阶段,构建了一个尺度空间,检测到了兴趣点。然后是不可靠的关键点去除,其中对每个候选关键点进行评估,并根据其值(低于阈值)做出决定。然后是方向分配,其中一个或多个方向根据局部图像梯度方向分配给关键点。最后是关键点描述符,其中围绕关键点位置使用关键点的尺度来选择图像的高斯模糊级别进行采样图像梯度。0最近,到2011年底,基于人脸表示的更多0由于这些模型取得的结果质量很高,神经网络模型正在获得领域。存在许多这样的模型,其中最流行的是FaceNet模型[9]和视觉几何群(VGG)模型[10]。这两个模型都使用具有一定层数的神经网络。FaceNet有22层,在最后有一个三元损失层,它在训练过程中增加了同一类别的两个样本之间的距离,并在不同类别的两个样本之间做相反的操作。另一方面,VGG有许多变体;VGG-16[10],VGG-19[11],ResNet-50[12]。还存在其他著名的模型,如Inception[13]模型和Alex网络[14]。这些模型的更多研究重点在[15]中突出显示。请注意,所有这些模型都使用卷积神经网络,这是一种专门设计用于将3-D(通常是RGB)图像作为输入的网络类型。0除了提到的模型之外,还存在许多其他模型0文献中还有许多其他模型,其中一些包括 Deepid3[16]是从 VGG 网和GoogLeNet 中提出的堆叠卷积和 inception层中重建的,使它们适用于人脸识别。Erjin 等人[17]提出了一个称为 Megvii的模型,在 LFW 基准测试上实现了99.5%的准确率。此外,还有DeepID2+[18],它是通过增加隐藏表示的维度并向早期卷积层添加监督信号学习的。另一个模型包括 Zhenyao 等人的模型[19]0这是一个可以恢复面部图像的规范视图的深度学习框架。它显著减少了人内变异性,同时保持了人际可辨识性。此外,Xudong等人[20]提出了一种合理的迁移学习方法,将丰富的源域数据与一些感兴趣的目标域的有限样本合并,以创建一个分类器,其性能理想地几乎与丰富的目标域数据一样好。Dong Chen等人[21]介绍了一种贝叶斯人脸识别方法,该方法联合模型两个人脸,并在人脸表示上引入适当的先验,并取得了很好的结果。另一个流行的模型是DeepFace[22],它在属于4000多个身份的四百万张面部图像的大型面部数据集上进行了训练。因此,它在 Labeled Faces in theWild(LFW)数据集上达到了97.35%的准确率,将当前最先进技术的错误率降低了27%以上。02.1. 卷积神经网络的选择0网络类型,它们的输入被定制为接收一个RGB(彩色图像)的3-D矩阵。它的优势在于它处理具有不同位置、对抗性示例、坐标框和有时性能的图像。这是因为它包括向输入添加人工偏移,使得网络学会处理差异[23]。因此,位置信息隐式地编码在提取的特征图中。此外,初始层最常用作边缘检测器,以便每个后续层将其作为输入,并随着深入进行更高级别的概念的猜测。0攻击生成一个可以放置在分类器视野内的补丁,并导致分类器输出一个有针对性的类[24]。这导致网络对对抗性示例的错误分类产生高置信度,并且能够用几乎不可察觉的噪音愚弄系统的能力。为了克服这一点,一个天真的方法包括假装成攻击者,针对自己的网络生成几个对抗性示例,然后明确地训练模型不被它们愚弄。最近,已经提出了更具体的方法,例如 Papernot等人的防御蒸馏方法[25],该方法训练了一个与原模型规模相同的蒸馏模型。Bingcai 等人在[26]中提出了对这类方法的广泛研究。0坐标无关特征[27]。由于卷积网络从输入信号中提取特征字段的层次结构,因此特征是通过核来计算的,这些核经过优化以检测较低级特征中的特征空间模式。这使得CNN能够在从一个帧切换到另一个帧时轻松处理坐标。03. 描述 FaSIVA 签名03.1. 概述0为了设计一个复杂的算法,采用自顶向下的方法3(2)(6)(8)0Array 13 (2022) 1001120E. Tagne Fute et al.0它描述的数据。因此,代数规范通过签名描述一个或多个数据类型,以及一组公理。签名是一组称为sorts的类型名称和一组操作的集合,其中每个操作的名称与形式为� 1 � 2 … � � → � 0的概要相关联,其中� � = 0 … �是sorts。0要定义一个抽象类型,我们将需要一些字段,这些字段是0• 引言:定义(类型名称)和其他规范0使用的操作。0• 描述(可选):非正式地描述这些操作。 • 操作:定义接口中操作的语法0及其参数。0• 公理:以等式的形式定义操作的语义0。因此,一个既包含法术又包含操作的规范等同于一个签名,公理必须完全正确地定义操作。0请注意,名称sort比类型的名称更具体。0虽然sort是一个句法对象,但类型既是一个数据集,又是一个在这些数据上工作的功能集合[29]。根据所考虑的功能,同一组数据可以与多种不同的类型相关联。此外,函数需要的元素数量称为arity[29]。这里的函数术语表示任何操作或任何需要操作的定义。0为了清楚地呈现FaSIVA签名,我们首先呈现0一些基本概念需要以一般方式定义签名。我们继续通过描述其所有组件来明确定义签名本身,然后我们从中得出具有不同度量标准的等式表示。最后,我们解释所提出的签名将如何在整体流程图中使用。03.2. 面部签名的定义0根据[30],签名由一组sorts S和0通过一组操作名A对S进行操作,每个操作名都提供了一个在S上的arity。操作名必须两两不同。并不要求集合A必须是有限的,尽管在实践中这总是这种情况(即使只是为了能够用有限数量的字符来编写规范)。0重要的是要强调,在进行任何0通过签名来表示面孔,我们显然需要从包含面孔的输入帧中裁剪出图像,为此我们需要一种面部检测方法。在我们的情况下,使用的方法是MTCNN[31],它是一个由三个神经网络级联组成的方法,用于检测和对齐边界框中的面孔。0设� = �(�,�,�)(�,�,�) ∈ �� 3为面部图像,我们希望0找到一个表示I的表示S,使得该表示包含足够的元素来唯一表示一个面孔,以便该表示可以用于区分两个面孔。乍一看,我们希望获得一个简化的表示,即一个元素更少的向量,这将有助于处理。我们已经有了[9]提出的一种表示的存在,其中包括用大小为128的向量表示面孔,称为嵌入,这是他们FaceNet项目的基础。这种表示已经取得了有趣的结果,这就是为什么它已经被使用在大多数基于深度学习的识别方法中的原因。然而,这种方法仍然需要大量的训练数据才能有效。此外,使用了大小为128的向量,这让人直觉地认为增加这个向量的大小将会导致结果的改善,这就是为什么我们把思考集中在这个方向上的原因。最近,正在研究一种新的方法,它涉及使用大小为512和2048的嵌入向量来表示一个面孔[32,33],并配以相应的神经网络。这些处理是基于这样一个假设进行的,即图像的质量是良好的,而这在现实生活中并不总是如此。在这种情况下,[34]提出了一种方法,可以改善图像的质量,即将低分辨率的图像转换为高分辨率的图像。正如我们在前一节中提到的,我们选择使用使用Resnet网络的方法族,这允许获得一个大小大于2000的向量。03.3.签名的等式表示0在定义新的面部签名之前,重要的是要确定0实施的范式。这个想法是,对于一个图像I,我们找到一个表示�(�)的表示,使得;0�(�)=(�1,�2,…,��)�∈��(1)0这里,��,�=1,2,…,�是可以的特征元素0向量或实参数。这是为了找到唯一表征面部的表示。因此,我们拥有的参数越多,表示就越精确。此外,在现实生活中,处理的图像仍然不是很好的质量,这在数据集中通常是图像质量良好的情况下。因此,这引入了一系列新的约束,可以与照明、旋转、分辨率、遮挡等相关。由于我们无法同时解决所有这些问题,因此我们选择了收敛的问题,包括照明、旋转和分辨率。因此,我们通过任何影响纹理(照明等)和几何变换(旋转、平移等)的不变特征向量来表示面部,并引入一个与图像质量相关的参数,如分辨率。0我们定义我们的新签名如下:让�=�(�, �, �)(�,�,�)∈��3个面部图像,我们提取一个签名S。0�(�)=(�, �, �, �)0与0� � 0�=(�,�),超分辨率向量�=(�1,�2,…,�2062),识别向量�=(�1,�2,…,�128),验证向量�=(�1,�2)认证向量0超分辨率是一种原则,允许重建0图像使用公式0�(�)= �3 × �2(�)+ �3(3)0与0�2(�)= �(�2 × �1(�)+ �2)(4)0和0�1(�)=(�1 × � + �3)(5)0在这些公式中,�是低分辨率图像,�3;�2和�3是0连续卷积的核和�1,�2和�3是偏差,最后,�(�)是重建的图像。识别向量是使用Resnet-50模型[ 12]获得的,该模型提取输入图像上的特征,其大小必须为224。验证向量是使用FaceNet模型获得的,该模型使用“三重损失”算法[ 35]提取输入图像上的特征,表达为:0�=∑�0�=10[‖‖�(���)− �(���)‖‖22−‖‖�(���)− �(���)‖‖22+�]0其中���是特定人物的锚定图像,���是正数0同一个人的图像和���一个负图像。A是使用两种方法获得的,第一种方法是计算考虑到照射在面部表面上的光线半径的接受系数,如下;0�(�, �)= ��(�, �)× �(�, �)× ������ × ����(7)0而����是法线表面和入射之间的余弦0半径,�是反射系数。0第二种方法是使用眼动次数0这是使用[ 36 ]公式计算的。为此,每只眼睛由坐标的6个点表示(�, �)0���=‖‖�2−�6‖‖−‖‖�3−�5‖‖4𝑆 = (𝑤, ℎ, 𝑓1, 𝑓2, … , 𝑓2062, 𝑒1, 𝑒2, … , 𝑒128, 𝑎1, 𝑎2)(9)0Array 13 (2022) 1001120E. Tagne Fute等人0其中�1,…,�6是2D标志。EAR称为“眼睛纵横比”0这是眼睛外观的比率。这个方程的分子计算垂直标记之间的距离,而分母计算水平参考点之间的距离。分母的加权是因为只有一组水平点,但有两组垂直点。使用这个方程避免了图像处理技术,简单地依赖于标记点的距离比来确定一个人是否眨眼。因此;03.4. 使用定义的签名0我们对输入图像 � 应用以下步骤:0• 第一步:确定和比较分辨率。在这里,0计算图像的分辨率,如果低于阈值分辨率 � �,则将应用超分辨率原则来增加其分辨率。这将生成一个分辨率大于或等于 � � 的新图像。0• 第二步:提取并使用第一个特征向量 � 。0这一步包括从图像 � 中提取特征 �向量,然后使用SoftMax回归层来确定其最接近的向量。因此,这个过程导致了个体的声明身份。0• 第三步:提取并使用第二个特征向量 � 。0一旦据称被识别的个体被识别出来,该过程将通过验证或认证步骤加强,该步骤将涉及验证个体是否确实是他声称的人。为此,从图像 �中提取第二个特征向量 �,并使用欧几里德距离与知识库中的向量进行比较。这种验证将产生更加自信的结果。0• 第四步:提取并使用第三个特征向量 � 。0现在个体被识别,并且识别被验证加强(认证的第一部分),我们继续提取第三个特征向量 � ,用于验证人类存在的特征(认证的第二部分),如第4.3节所述。因此,如果所有这些检查都是正确的,就可以确信这确实是一个真实的人,而不是一个被伪造的人。0这些步骤在信号的一般流程图上表示出来0图 1 上呈现的流程04. 实施和结果0FaSIVA签名有三个部分,即超分辨率部分,0特征提取部分和认证部分。因此,在本节中,我们将展示在每个部分获得的结果,同时强调结果相对于先前结果的优势。04.1. 超分辨率部分0这主要包括通过特征提取部分增强图像质量。0增加其分辨率,以防其低于阈值分辨率。用于超分辨率的架构如图 2 所示。04.1.1. 模块的工作原理0由于在现实场景中,很难获得0如果图像质量好(即分辨率好),则结果处理将被改变,并且结果会受到负面影响,导致特征提取不完整或不理想。为了应对这种情况,我们引入了一个超分辨率模块,使我们能够在输入人脸分辨率低于经验确定的某个阈值时增加其分辨率。这种方法使用卷积神经网络。0将小分辨率图像作为输入,并重建成更高分辨率的图像。文献中存在许多方法,但我们选择了一个著名且最近的方法,即快速超分辨率卷积神经网络(FSRCNN),基于其结果。FSRCNN通过将对象图像的分辨率乘以正因子 �来增强图像,并且我们已经将其调整为使用我们构建的数据集来增强人脸。04.1.2.用于训练的数据集构建。0通常的方法是使用一组随机图像来训练。0只要图像的质量(分辨率)良好,这个模型的表现就很好。然而,在特定情况下,该模型对人脸的表现较差,这就是为什么我们决定专门在人脸图像上训练我们的模型。为此,我们用人脸图像替换了对象数据集。在我们的情况下,人脸是从facesin the wild(LFW)数据集中获取的,因为它拥有足够的图像,即13233张图像,我们将其分成了两组,比例为3:1,分别用于训练和测试。这给了我们一组9924张图像用于训练,3309张图像用于测试。然后,模型在该数据集上进行了20次epochs的训练。0这种网络使用的基本思想是重建。0通过卷积神经网络的直觉,得到了更高分辨率的图像。所得的过程不同于简单的缩放,因为它的算法调整了图像矩阵的值到一个新的维度,这通常会导致某些特征元素的丢失。另一方面,超分辨率方法使用低分辨率的初始图像,并重建出类似的高分辨率图像。因此,它突出了隐藏的细节,在这种情况下增强了特征提取。04.1.3.超分辨率对人脸检测的影响。0为了说明超分辨率对人脸检测的影响,我们。0训练一个模型,将输入图像的分辨率乘以因子i。基于epochs数量的损失函数的演变见图3。通过这个模型,可以保证输入图像质量的提高,我们的因子i等于4。0请注意,值4是经验性选择的。为此。0我们测试了不同的因子值,从1.5开始,然后测试了2、2.5、3、3.5和4,从4开始我们开始获得显著的结果。正是出于这个原因,我们停在了这里,尽管这些值可以根据我们使用的应用类型而改变。0之后,我们使用了20个人的200张图像,比例为。0每个个体20张图像。这些图像的许多副本被制作并缩小到以下分辨率:25×25、35×35、45×45、55×55。这个想法是为了说明超分辨率原理如何提高人脸检测的性能。因此,在表1中报告了检测到的图像的摘要以及它们对应的百分比。我们注意到,在每种情况下,使用超分辨率检测到的人脸数量都大于没有使用超分辨率检测到的数量。我们还注意到,输入图像的分辨率越高,超分辨率后的输出图像就越好,而可接受的图像分辨率是35×35。这将作为我们在所呈现的过程中使用的阈值分辨率。04.2.人脸特征提取部分。0这个模块主要用于对输入图像进行特征提取。0图像,使每个图像都具有独特的表示。我们在文献中看到有许多模型存在,但其中两个引起了我们的注意:FaceNet、VGG和Resnet。这个选择是由所获得的结果和所花费的时间之间的比率所驱使的。因此,我们对LFW进行了三个模型FaceNet、VGG和ResNet-50的测试,所获得的结果见表2。0VGG模型使用一个RGB图像作为固定大小的输入。0224 × 224。这张图片后来经过了许多卷积层。50数组13(2022)100112。0E. Tagne Fute等人。0图1. FaSIVA签名的一般流程图。0图2. FSRCNN网络架构0表1 输入图像分辨率的检测到的人脸数量0分辨率 25×25 35×35 45×45 55×550未使用超分辨率检测到的人脸数(共200张) 175 189 189 191 检测百分比 % 87.5 94.5 94.5 95.5 使用超分辨率检测到的人脸数(共200张) 191 195 195 197检测百分比 % 95.5 97.5 97.5 98.50表2 使用特征提取的模型的比较研究0网络类型 图像数量 检测到的人脸数量 特征向量大小 识别准确率 %0FaceNet 3243 2610 128 79 VGG 3243 2610 512 80 Resnet-50 3243 2610 2048 9560Array 13 (2022) 1001120E. Tagne Fute等人0图3. 超分辨率模型训练期间损失函数的演变0其中使用了具有3×3的小接收域的滤波器。请注意,这是捕捉上/下、左/右、中心概念的最小值。在其某个配置中,它还使用了1×1的卷积滤波器,可以看作是输入通道的线性变换。空间池化由4层最大池化层完成,这些层在2×2的框架上跟随某些卷积层,步长为2。该模型在Titan上进行了数周的训练,该设备配备了837MHz频率的图形处理单元(GPU),3004MHz的内存频率,以及一种图形双数据速率版本5(GDDR5)类型的内存。04.2.1. 面部识别部分一旦特征被提取,这就是最容易的步骤。它涉及将输入图像的特征向量与知识库中属于某个类的特征向量进行匹配。用于此目的的本机方法是KNN(K最近邻)算法,它计算每个输入图像特征向量与知识库中所有图像之间的距离,并返回距离最近的类别。另一种方法是使用支持向量机(SVM)进行训练,以有效地分离数据,以便进一步使用,可以是分类或回归。即使一旦模型被训练,其执行时间可以忽略不计,但当类别数量增加或数据不是线性可分时,其性能会显著下降。因此,我们选择使用一个训练有素的softmax层的方法,该层考虑特征向量的细节,并且执行时间更短,同时也使用SVM。04.2.2. KNN和softmax复杂性的比较研究 让 � 为特征向量的数量, �为类别数量(即个体数量)。我们假设每个类别大约有 �个个体。为了研究两种方法的复杂性,让我们看看以下算法:算法1展示了KNN方法在分类中的执行。0• 如果我们有1个个体,我们将有 �×1 次计算,因此,复杂度为 �(�) •如果我们有2个个体,我们将有 �×2 次计算,因此,复杂度为 �(2�)0算法1:KNN用于分类0输入:输入图像的特征向量 � 输出:识别出的个体的标签数据:已知特征向量集数据:m:类别数量;n:每个类别的向量数量01 对m中每个��类的初始化02 对 � 中的每个�向量进行循环03 比较 � � 和 �04 如果对应关系则05 返回对应个体的标签06 否则07 返回最接近个体的标签0• 如果我们有3个个体,我们将有 �×3 次计算,因此,复杂度为 �(3�) • 等等 •如果我们有 � 个个体,我们将有 �×� 次计算,因此,复杂度为 �(��) • 最后,如果���,这通常是实际情况,我们将有比 �(�2) 更高的复杂度0这使得在现实场景中执行变得困难,这就是为什么我们更喜欢使用经过训练的softmax层,因为一旦该层被训练,它直接输出相应个体的标签,正如在算法2中所示。0算法2:使用softmax进行分类0输入:输入图像的特征向量 �输出:识别个体的标签数据:训练好的softmax层01 如果对应关系则0返回相应个体的标签03 否则0返回最接近个体的标签70数组13(2022)1001120E. Tagne Fute等人0图4。在训练softmax层期间精度的演变;A:Softmax层,B:Softmax + 大边距,C:Softmax + CRelu激活,D:Softmax + 大边距和CRelu激活。0图5。在训练softmax层期间损失的演变;A:Softmax层,B:Softmax + 大边距,C:Softmax + CRelu激活,D:Softmax + 大边距和CRelu激活。0我们注意到只需要一次计算,导致复杂度为�(�),其中�是指令复杂度,���。04.2.3.对训练和验证的影响我们已经在[37]中证明,引入边距层增加了分类能力,这可以通过[38]中演示的连接整流线性单元(CReLU)激活函数加以加强。因此,我们已经经历了四种情况;第一种是0训练softmax层的正常情况和参数,0第二个是引入边距层进行训练,0第三个是使用CRelu模块作为激活函数进行训练0函数,第四个是前两者的组合。图40和图5分别展示了准确性和损失在训练过程中的演变0训练和验证步骤。我们可以很容易地注意到更好的稳定性0在两种情况下(精度和准确性的演变)我们的组合方法的结果0损失的下降)。80数组13(2022)1001120E. Tagne Fute等人0表3 图像分辨率的平均识别百分比。0分辨率25 × 25 35 × 35 45 × 45 55 × 550正常识别(%)5 36 63.5 79 超分辨率识别(%)32.5 58 76 880请注意,我们从所选的ResNet-50模型中提取了softmax层。0模型,加载来自[12]的预训练权重,重点是提取面部特征。然后我们添加了一个在我们自己的数据集上训练的softmax回归器。为了说明我们的方法,我们使用了之前20个个体的400张图像,每个个体20张图像的比例用于训练给定的层,以及60张图像的总数,每个个体3张图像的比例用于验证。0由于我们试图说明引入大边距层和CReLU激活函数的影响,我们没有记录不同情况下的混淆矩阵,0CReLU激活函数以及插入边距层,我们没有记录不同情况下的混淆矩阵,而是将注意力集中在训练准确性和损失的演变上,这在我们的情况下更具有说明性。0每个个体的10张图像。然后,这些图像的许多副本被制作,然后每个副本被缩小到以下图像分辨率25 × 25,35 × 35,45 × 45,55 ×55。这个想法是展示超分辨率如何提高人脸识别性能。表3以输入图像分辨率为函数呈现了识别百分比。0如果图像包含一定程度的倾斜或旋转,则网络0选择的模型是Resnet-50模型。该模型处理任何旋转、姿势和年龄变化。它被下载并进行了预训练,然后在我们的数据集上进行了微调,并添加了一个用于特征提取的全连接层。因此,提取的特征与变换无关。04.3. 认证部分04.3.1. 功能原理0形式上,认证包括验证个体是否0个体是否有效地是他声称的个体。在视频监控范围内,我们将理解认证为任何旨在证明已识别个体的有效存在以及任何加强决策原则的机制。为此,我们首先进行信息验证。具体而言,我们使用FaceNet网络提取的特征,计算此向量与知识库中个体的特征向量之间的距离(欧氏距离)。请注意,先前已为知识库中的每个人计算了特征向量。如果计算的差异小于给定的阈值�,则可以执行第二阶段。这一阶段涉及活体验证。卷积神经网络经过训练,以区分真实个体和伪造个体。这个伪造的个体可以是知识库中已知个体的图像或视频。0网络的架构如图7所示。这是一个0受Alex网络启发的架构,其中池化层已经修改,以便它可以接受低图像尺寸(在我们的情况下为64)以增加执行速度。此外,我们不是在一个数据集上进行训练,而是使用了三个著名的数据集,即NUAA(南京航空航天大学)数据集、Replay攻击数据集和Casia数据集。这导致了网络泛化能力的增加,甚至优于一个非常深的架构的最近模型。选择Alex网络的动机是来自[39]的工作,该工作侧重于不同核的大小,而[40]则从其层数中获得了所有的效率。我们也朝着同样的方向前进,同时还关注所使用的数据集,这就是为什么为了增加泛化能力,我们使用了几个数据集的组合。此外,这个选择也受到了训练时间和执行时间的影响,这将根据每秒帧数进行测量;这将在下一节中讨论。0表4 训练每个类别的图像总结表。0数据集NUAA Replay-attack Casia 总计0假 1748 1504 1669 4921 真 1743 1283 1618 4644 总共 3491 2787 3287 95650每秒帧数;这将在下一节中讨论。0最后,应用了第三个原则,即检测0眨眼。我们使用一个原则,即一个人在多长时间内不能闭上眼睛。因此,任何在规定时间内不含一次或多次眨眼的图像将被视为伪造的图像或视频。为了实现这一点,我们使用地标方法来定位睁开/闭合的眼睛,通过计算眨眼的次数来完成。此外,我们扩展了正常的原则,即眼睛一起眨眼,通过考虑每只眼睛的眨眼,因为一个人可能一只眼睛受伤或根本没有双眼。此外,我们需要坚持这样一个事实,即只有在先前检测到脸部为真实时才应用这一原则。这引发了图6中的流程图,说明了提出的眨眼原则与原始原则的工作方式。04.3.2. 训练和测试0为了增加网络的泛化能力,我们使用了0如前所述,我们使用了三个著名的数据集,分别是NUAA、Replay攻击和Casia数据集。我们构建了我们的数据集如下:0• 第一步:NUAA数据集中有1748张假0训练集中有1441张假图像和864张真实图像,在测试集中有5761张假图像和3362张真实图像,因此不需要额外的操作。0• 第二步:Replay攻击数据集中,在训练集中0300个假视频和60个真实视频,并且在测试集中有400个假视频和80个真实视频。因此,为了提取帧,我们必须考虑在训练过程中避免过拟合和图像平衡,这就是为什么我们从每个假视频中提取了6张图像,每个真实视频提取了25张。这给我们总共1800张假图像和1500张真实图像。后来,这些图像被传递到我们的人脸检测系统中,以提取每张图像的人脸。这里使用的方法是MTCNN(多任务级联神经网络)方法,我们得到了1504张假图像和1283张真实图像。在测试集中,我们提取了每个视频的所有帧,并将它们交给人脸检测器,得到了95881张假图像和30493张真实图像。0• 第三步:Casia数据集中,在训练集中有160张假0视频和80个真实视频,以及测试集中的240个假视频和120个真实视频。以相同的方式进行处理,我们从每个假视频中提取了11张图像,每个真实视频提取了21张。这给出了总共1760张假图像和1680张真实图像。后来,这些图像被传递到我们的人脸检测系统中,以提取每张图像的人脸。我们得到了1669张假图像和1618张真实图像。同样,在测试集中,通过提取所有帧并将其传递给人脸检测器,我们得到了42704张假图像和20870张真实图像。0• 第四步:最后,我们将四个类别中的所有图像组合在一起0类别;训练集假,训练集真,测试集假和测试集真。训练集的图像在训练过程中以3:1的比例使用,这意味着75%用于训练本身,剩下的25%用于验证。0不同类别的图像数量总结如下0在表4和表5中呈现。此外,训练过程中准确性和损失的演变在图8中呈现。0图8呈现了四种情景下参数的演变0我们的实现。首先,我们进行了调查,以找到一个非常准确的90数组13(2022)1001120E. Tagne Fute等人。0图6. 眨眼检测原理的流程图。A:正常眨眼检测B:提出的眨眼检测。0图7. 活体检测架构。0模型,并与文献中发现的模型进行比较,我们选择了GoogleIncep
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功