没有合适的资源?快使用搜索试试~ 我知道了~
(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早期用于人脸识别的方法通常是手工设计的方法,包括局部二进制模式(LPB),Fisher向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],它是通过增加隐藏表示的维度并向早期卷积层添加监督信号来学习的。另一个模型包括甄尧等人的模型[19]0它是一个深度学习框架,可以恢复面部图像的规范视图。它显著减少了个人内部变异,同时保持了个人间的区分性。此外,徐东等人[20]提出了一种原则性的迁移学习方法,将丰富的源域数据与一些感兴趣的目标域的有限样本合并,创建一个分类器,其性能理想地接近于如果有丰富的目标域数据存在时的性能。陈东等人[21]介绍了一种贝叶斯人脸识别方法,该方法联合建模两个人脸,并在人脸表示上引入适当的先验,并取得了很好的结果。另一个流行的模型是DeepFace[22],它在拥有超过4000个身份的四百万张面部图像的大型面部数据集上进行了训练。因此,它在Labeled Faces in theWild(LFW)数据集上达到了97.35%的准确率,将当前最先进技术的错误率降低了超过27%。02.1. 卷积神经网络的选择0正如我们已经知道的,卷积神经网络是特定的0网络类型,它们的输入被定制为接收一个RGB(彩色图像)的3-D矩阵。它的优势在于它处理具有不同位置、对抗样本、坐标框和有时性能的图像。这是因为它包括向输入添加人工偏移,使得网络学会处理差异[23]。因此,位置信息隐式地编码在提取的特征图中。此外,初始层最常用作边缘检测器,以便每个后续层将其作为输入,并随着深入进行更高级别的概念猜测。0关于对抗样本,它们包括一些情况,其中0攻击生成一个可以放置在分类器视野中的任何位置的补丁,并导致分类器输出一个有针对性的类[24]。这使得网络在对抗样本的错误分类上获得高置信度,并以难以察觉的小噪声愚弄系统的能力。为了克服这一点,一个天真的方法包括假装成攻击者,对自己的网络生成多个对抗样本,然后明确地训练模型不被它们愚弄。最近,已经提出了更具体的方法,例如Papernot等人的防御蒸馏方法[25],该方法训练了一个与原模型规模相同的蒸馏模型。Bingcai等人在[26]中提出了这些方法的广泛研究。0最后,为了处理卷积神经网络中的坐标0坐标独立特征[27]。由于卷积网络从信号输入中提取特征字段的层次结构,因此特征是通过核来计算的,这些核被优化以检测较低级特征中的特征空间模式。这使得CNN能够在从一个框架切换到另一个框架时轻松处理坐标。03. FaSIVA签名描述03.1. 概述0设计复杂算法时,采用自顶向下的方法0分析是通过逐步的细化进行的。通过这样做,我们远离任何实现,数据的具体表示没有固定;它指的是抽象数据类型。我们给出了描述数据的符号,这些数据的适用操作(基元)以及这些操作的属性(语义)。根据[28],抽象数据类型(ADT)是一组数据的数学规范和一组可以对其执行的操作。这种类型被称为抽象,因为它对应于数据结构必须在其中工作的一组规范。它允许定义非原始数据类型,这些类型在当前编程语言中不可用(尚未实现)。然而,正式定义类型和这些类型的对象上的操作的框架是代数规范的框架。更确切地说,代数规范的语义包括一个或多个定义3(2)(6)(8)0Array 13 (2022) 1001120E. Tagne Fute et al.0它描述的数据。因此,代数规范通过签名描述一个或多个数据类型,以及一组公理。签名是一组称为排序的类型名称和一组操作的集合,其中每个操作的名称与形式为� 1 � 2 … � � → � 0的概要相关联,其中� � = 0 … �是排序。0要定义一个抽象类型,我们将需要一些字段,这些字段是0• 介绍: 定义(类型名称)和其他规范使用的术语。0使用的操作。0• 描述(可选): 以非正式的方式描述这些操作。 • 操作:以接口中操作的语法定义0及其参数。0• 公理: 以等式的形式定义操作的语义0。因此,一个既包含拼写又包含操作的规范等同于一个签名,公理必须完全正确地定义操作。0请注意,名称排序比类型名称更具体。0虽然排序是一个语法对象,类型既是数据集合,也是对这些数据进行操作的特征集合[29]。此外,根据所考虑的功能,可以将多种不同的类型与相同的数据集合相关联。此外,函数所需的元素数量称为arity[29]。这里的函数术语代表任何操作或任何需要操作的定义。0为了清楚地呈现FaSIVA签名,我们首先呈现0一些基本概念需要以一般方式定义签名。然后,我们通过详细说明签名本身的所有组件来对签名本身进行表征,然后我们从中得出具有不同度量标准的等式表示。最后,我们解释所提出的签名将如何在整体流程图中使用。03.2. 面部签名的定义0根据[30],签名由一组排序S和0通过操作名字集合A对S进行签名。操作名字必须两两不同。并不要求集合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� =0[ ‖‖ �( � � � )− �( � � � )‖‖ 2 2 − ‖ ‖ �( � � � )− �( �� � )‖‖ 2 2 + � 】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训练一个模型,将输入图像的分辨率乘以因子�。基于epochs数量的损失函数的演变见图3。通过这个模型,可以保证输入图像质量的提高,我们的因子�等于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的内存频率,以及一种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 对每个类中的� � 进行初始化02 对于 � 中的每个向量进行循环03 比较 � � 和 �04 如果对应关系则05 返回对应个体的标签06 否则07 返回最接近个体的标签0• 如果我们有 3 个体,我们将有 � × 3 次计算,因此,复杂度为 � (3 � ) • 等等• 如果我们有 � 个体,我们将有 � × � 次计算,因此,复杂度为 � ( �� ) •最后,如果 � � � ,这通常是实际情况,我们将有一个大于 � ( � 2 ) 的复杂度0这使得在现实场景中执行变得困难,这就是为什么我们更喜欢使用训练好的softmax层,因为一旦该层被训练,它直接输出相应个体的标签,如算法 2 中所示。0算法2:使用softmax进行分类0输入:输入图像的特征向量 �输出:识别个体的标签数据:训练好的softmax层01 如果对应关系 then02返回相应个体的标签03 否则04返回最接近的个体的标签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由于我们试图说明引入0CReLU激活函数以及插入边距层,我们没有记录不同情况下的混淆矩阵,而是将注意力集中在训练准确性和损失的演变上,这在我们的情况下更具说明性。0此后,我们使用这 20 个个体的 200 张图像,比例为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训练集中有1440张假图像和864张真实图像,在测试集中有5761张假图像和3362张真实图像,因此不需要额外的操作。0• 第二步:Replay攻击数据集中,在训练集中0300个假视频和60个真实视频,在测试集中有400个假视频和80个真实视频。因此,为了提取帧,我们必须考虑到在训练过程中避免过拟合和图像平衡,这就是为什么我们从每个假视频中提取了6张图像,每个真实视频提取了25张图像。这给出了总共1800张假图像和1500张真实图像。这些图像后来被传递到我们的人脸检测系统中,以提取每个图像的人脸。这里使用的方法是MTCNN(多任务级联神经网络)方法,结果是总共1504张假图像和1283张真实图像。在测试集中,我们提取了每个视频的所有帧,并将它们交给人脸检测器,得
下载后可阅读完整内容,剩余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直接复制
信息提交成功