基于深度学习的StyleGAN2合成人脸识别系统
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
首先识别 150 张合成人脸图片,查询数据库可以找到 150 条识别记录,用户帐号使用的是“GQ”,经查询识别结 果为 1(真实人脸)共有 5 张,仅 5 张识别错误,如图 4 所示。
式中:y 表示样本的标签,真实人脸为 1,合成人脸为 0,p 表示样本预测为合成人脸的概率。 4.6 全连接层
本次设计中加入了三层全连接网络层 , 不同卷积层的滑 动卷积,全连接网络每一层的所有神经元与上一层完全连接。 对于第 l+1 层的第 i 个神经元,它的输出方式为:
2 卷积神经网络的概念
卷积神经网络(convolutional neural networks,CNN)
1. 广东理工学院信息技术学院 广东肇庆 526020 [ 基金项目 ] 广东省 2020 年大学生创新创业训练计划项目(项 目编号:S202013720009,基于深度学习的高仿真合成人脸 图片识别系统)
(1)
图 1 系统架构图
图 2 模型的网络结构图
(1)(3×3)×3×8 的卷积网络层 → (1×1)×8×6 的 卷积网络层 → 极大池化网络层;
(2)(1×1)×6×12 的卷积网络层 → (3×3)×12×16 的卷积网络层 → 极大池化网络层;
(3)(3×3)×16×16 的卷积网络层 → (1×1)×16×8 的卷积网络层 → 极大池化网络层;
(3)
定该层不能达到提取特征值的目的,而是尝试利用现存的高 阶特征去完成学习目标。全连接神经网络层和输出层构成一 个二元分类器,输出是否为 AI 合成人脸图片。分类器结构见 图 3。
图 3 分类器结构 5 系统测试及验证 5.1 交叉验证
在本次交叉验证 [12] 中,使用未参加训练的 300 张图片 对系统进行验证 [13]。由于本次验证的图片数量比较大,所以 将本次的 150 张合成人脸图片和 150 张真实人脸图片直接上 传至服务器上,使用脚本分别进行提交识别,识别完后查询 数据库便可知道识别结果。
在每个卷积层后都使用了 leakyRelu 激活函数,在每 个全连接层后使用了 softmax 激活函数,输出层之后使用了 sigmoid。
leakyrelu 函数具有 Relu 激活函数的特点,比如让下降 梯度以及进行反向传播过程的速度更快:消除了梯度爆炸以 及梯度消失的问题;使得训练模型的计算过程更加简化,没 有糅杂其他相对复杂的计算量;网络的稀疏性 ...... 而二者 区别在于:Relu 激活函数在负轴中所有的值为 0,也就意味 着负轴的全部丢弃;leakyRelu 激活函数不会丢弃负轴上的 数值,且负轴上的数值相当小,不会影响计算过程,使得负 轴的信息不会全部丢失。
1 深度学习介绍
深度学习(DL, Deep Learning)是机器学习(ML, machine learning)领域中一个新的研究方向,它被引入机器 学习使其更接近于最初的目标—人工智能(AI, artificial intelligence)[1]。
典型的深度学习模型有卷积神经网络(convolutional neural network)、DBN 和 堆 栈 自 编 码 网 络(stacked auto-encoder network)模型等 [2]。
是一类包含卷积计算且具有深度结构的前馈神经网络 (feedforward neural networks), 是 深 度 学 习(deep learning)的代表算法之一 [3]。
卷积神经网络在本质上是一种输入到输出的映射,它能 够学习到大量的输入与输出之间的映射关系,而不需要任何 输入和输出之间的精确的数学表达式,只要用已知的模型对 卷积神经网络进行训练,网络就具有输入与输出之间的映射 能力 [4]。
4.1 系统架构分析 StyleGAN2 合成人脸识别系统基于 C/S 架构,客户端由
C# 进行开发,界面简洁实用,系统完成了用户注册、用户登 录、用户信息管理、图片识别和历史图片识别查询等功能。 服务器上部署数据库、Nginx 和核心模型,并且部署出系统
254 2021 年第 6 期
信息技术与信息化 智能技术
征值,卷积网络层进行卷积时会发生如下步骤:首先进行局 部数据相关联,该步骤中所有神经元 [10] 都会被看做成滤波 器(FILTER)[11],而且会在输入图像中所有位置都尝试提取, 进而由这些特征组成过滤器;卷积核进行窗口移动,滤波器 (FILTER)与局部数据计算。模型在进行卷积的时候,卷积 核会有规律性地提取输入特征值,在卷积核里对输入特征值 做叉乘(矩阵乘法)并且求和加上偏移值,其公式为:
运行环境,数据库使用 Mysql 存储数据,Nginx 提供 Web 服 务显示图片,整个系统的核心部分为模型,核心模型决定系 统识别的准确率,核心模型由 Python[5] 开发。客户端处理 软件逻辑,服务器上实现数据计算以及业务处理。架构 C/ S 模式使得系统更加稳定,客户端的运行对硬件无要求,在 Windows[6] 系统下即可运行该软件,系统界面简单、易用和 实用性高,任何人都可以在短时间内学会操作该系统,系统 具有多样性、多元化和具有很强的扩展性。系统架构图见图 1。
待卷积层提取到特征数据后,该数据会输入到池化层当 中,池化层会对该数据进行选择特征数据和过滤出相关信息 数据。池化网络层位于单个或两个以上卷积网络层当中,它 将计算的数据进行压缩、减少训练参数的数量、减少过拟合。 最重要的作用就是只会保留到有用且重要的信息,对于没用 的信息会丢弃掉。本次使用的是步长为 2 的极大池化,即在 2×2 的图片像素中取最大像素值作为该区域的像素值。
公式(1)中的累加区域就等于求解了一次交叉相关。 b 是偏移值,Zl 代表 l+1 层的输入数据,Zl+1 代表 l+1 层的 输出数据,Z(i,j)代表的是图像数据,K 代表的是特征图片 数据的通道数量,f 代表的是该卷积核的大小。当卷积核的 大小为一时,也就是说该卷积层由单位卷积核组成,该层称 为网中网。在该卷积层中的交叉相关计算就是卷积核与输入 数据的矩阵叉乘,则该卷积层相当于构成全连接网络层,使 用单位卷积核的好处是可以在保持输入特征图片尺寸不变的 情况下同时减少特征图片的通道数,使得卷积层中的计算量 大大降低。
BN 层的思想:相对每层隐层神经网络中的神经元,神经
2021 年第 6 期 255
智能技术 信息技术与信息化
元的输入分布逐渐映射到非线性函数,然后在限制饱和区域 的价值区间被迫引入标准正态分布(均值为零 , 方差为一), 让非线性变换函数的输入值落入区域更敏感的输入 , 由此来 消除梯度消失的问题。由于梯度可以一直在一个比较大的区 间,因此提高了调整神经网络参数的效率,使得神经网络参 数的变化更大,损失值向着更优值变化幅度大,这就使得收 敛速度加快。
卷积层中卷积步长设置成 1,使用相同填充的方法,在 卷积操作后加入 BN 处理,处理后使用 LeakyReLU 激活函数 进行激活,在最后的卷积层加入了 dropout 算法 [8],使权重 20% 随机失活;池化层 [9] 都是 2×2 的极大池化操作,步长 设置成 2,不采用填充方法。
4.3 卷积操作与池化操作 在卷积网络层中,该层会从上层输出的数值中提取出特
4.2 核心模型的网络结构设计 模型的隐含层网络结构基于深度学习 [7] 中的卷积神经网
络进行设计开发,主要组成结构为十二个卷积网络层、四个 池化网络层和三个全连接网络层。结构按如下方式进行构建, 括号里为卷积核的大小,网络结构见图 2。
(6)3 个 全 连 接 网 络 层, 神 经 元 数 量 为 512、256 和 128,权重 20% 随机失活。
3 数据来源
图片数据分为两类:真实人脸图片数据和合成人脸图片 数据。真实人脸图片数据采用 FFHQ 的高清人脸数据,它里面 包含了七万张尺寸为 1024 的高清人像。这些人脸图片无论 是在年龄上、种族内和图片的背景上,都充满了多样性。合 成人脸图片数据采用由 StyleGAN2 合成出来的人脸图片数据, 也是 1024×1024 的高清人像。
(4)
CNN 中的卷积神经网络层和池化神经网络层能够提取到 输入数据的特征值,而全连接神经网络层则是对该特征值进 行非线性组合然后输出,设计全连接神经网络层的时候就设
图 4 识别错误数据图 最后识别 150 张真实人脸图片,查询数据库可以找到 150 条记录,用户帐号为“MCT”,经查询识别结果为 0(合 成人脸)共有 0 张,全部识别正确,如图 5 所示。
图片数据来源为 网站的开源数据, 且该网站提供的开源数据中还有筛选过的图片数据。经分 析挑选后,选择黄种人的真实人脸图片和合成人脸图片。 二者皆为 1024×1024 的高清人像,合计 23 000 余张,大小 27.58 G。
4 基于深度学习的 StyleGAN2 合成人脸识别系统分析与设计
4.5 损失函数 采用二元交叉Biblioteka 作为损失函数,此时权重的梯度,其公
式为: (2)
可以看出二元交叉熵对于最后一层权重的梯度不再跟激 活函数的导数相关,只跟输出值和真实值的差值成正比,此 时收敛较快。又反向传播是连乘的,因此整个权重矩阵的更 新都会加快。
在二分的情况下,模型的最后只需要预测的结果只有两 种情况,对于每个类别我们的预测得到的概率为 p 和 1-p。 此时表达式为:
图 5 识别错误数据图 经过验证后,可以发现:在 300 张验证图片中,系统的 准确率达到 98.33%,证明该系统识别 StyleGAN2 合成人脸图 片是有效的且有针对性。
智能技术 信息技术与信息化
摘 要 关键词
基于深度学习的 StyleGAN2 合成人脸识别系统
向志华 1 高 庆 1 马楚涛 1 XIANG Zhihua GAO Qing MA Chutao
StyleGAN2 合成人脸识别系统专门针对 StyleGAN2 合成人脸进行识别,可以识别出人脸图片是否由 StyleGAN2 合成而来。StyleGAN2 合成人脸识别系统基于 C/S(客服端 / 服务器)架构,系统的核心 部分为部署在服务器上的识别模型,该模型的隐含层网络结构为深度学习中的卷积神经网络。识别模 型经大数据的支撑下训练数次而得,训练后的模型准确率达到 97.22%,交叉验证后的模型准确率达到 98.33%,由此验证了基于深度学习可以识别出 StyleGAN2 合成人脸图片。 StyleGAN2 合成人脸;深度学习;卷积神经网络
doi:10.3969/j.issn.1672-9528.2021.06.076
0 引言
StyleGAN2 的出现,仅凭人眼无法辨别其真伪,每张合 成出来人脸都是世界上独一无二的且不存在的人脸。若有心 人将此技术运用到犯罪上,生成高颜值的人脸图片放去社交 网络中,可进行大范围的钓鱼诈骗;静态合成的人脸能通过 2D 人脸识别,动态合成的人脸还能通过 3D 人脸识别,若犯 罪嫌疑人将此技术和 3D 精准头模打印技术结合,打印头模出 来,犯罪者可以虚构一个世界上不存在的人进行犯罪或者逃 亡,从而逃脱缉捕。至今还没有任何技术是专门针对 StyleGAN2 合成人脸图片进行识别的,因此对 StyleGAN2 合成人 脸的识别研究至关重要,本文主要研究通过深度学习去识别 StyleGAN2 合成人脸。
4.4 BN 操作与 leakyRelu 激活函数 本次设计中每层后都加入了 BN 层做标准化处理。batch
normalization 作用于神经元的输出数据,将输出值进行归 一化处理,使得输入到激活函数的数据值都在 0 的附近,这 就消除了模型在训练时出现梯度消失的情况,减轻了输入数 据变化的影响。
(4)(1×1)×8×24 的卷积网络层 → (3×3)×24×32 的 卷 积 网 络 层 → (3×3)×32×32 的 卷 积 网 络 层 → (1×1)×32×16 的卷积网络层 → 极大池化网络层;
(5)(1×1)×16×48 的卷积网络层 → (3×3)×48×64 的卷积网络层 → 极大池化网络层;
式中:y 表示样本的标签,真实人脸为 1,合成人脸为 0,p 表示样本预测为合成人脸的概率。 4.6 全连接层
本次设计中加入了三层全连接网络层 , 不同卷积层的滑 动卷积,全连接网络每一层的所有神经元与上一层完全连接。 对于第 l+1 层的第 i 个神经元,它的输出方式为:
2 卷积神经网络的概念
卷积神经网络(convolutional neural networks,CNN)
1. 广东理工学院信息技术学院 广东肇庆 526020 [ 基金项目 ] 广东省 2020 年大学生创新创业训练计划项目(项 目编号:S202013720009,基于深度学习的高仿真合成人脸 图片识别系统)
(1)
图 1 系统架构图
图 2 模型的网络结构图
(1)(3×3)×3×8 的卷积网络层 → (1×1)×8×6 的 卷积网络层 → 极大池化网络层;
(2)(1×1)×6×12 的卷积网络层 → (3×3)×12×16 的卷积网络层 → 极大池化网络层;
(3)(3×3)×16×16 的卷积网络层 → (1×1)×16×8 的卷积网络层 → 极大池化网络层;
(3)
定该层不能达到提取特征值的目的,而是尝试利用现存的高 阶特征去完成学习目标。全连接神经网络层和输出层构成一 个二元分类器,输出是否为 AI 合成人脸图片。分类器结构见 图 3。
图 3 分类器结构 5 系统测试及验证 5.1 交叉验证
在本次交叉验证 [12] 中,使用未参加训练的 300 张图片 对系统进行验证 [13]。由于本次验证的图片数量比较大,所以 将本次的 150 张合成人脸图片和 150 张真实人脸图片直接上 传至服务器上,使用脚本分别进行提交识别,识别完后查询 数据库便可知道识别结果。
在每个卷积层后都使用了 leakyRelu 激活函数,在每 个全连接层后使用了 softmax 激活函数,输出层之后使用了 sigmoid。
leakyrelu 函数具有 Relu 激活函数的特点,比如让下降 梯度以及进行反向传播过程的速度更快:消除了梯度爆炸以 及梯度消失的问题;使得训练模型的计算过程更加简化,没 有糅杂其他相对复杂的计算量;网络的稀疏性 ...... 而二者 区别在于:Relu 激活函数在负轴中所有的值为 0,也就意味 着负轴的全部丢弃;leakyRelu 激活函数不会丢弃负轴上的 数值,且负轴上的数值相当小,不会影响计算过程,使得负 轴的信息不会全部丢失。
1 深度学习介绍
深度学习(DL, Deep Learning)是机器学习(ML, machine learning)领域中一个新的研究方向,它被引入机器 学习使其更接近于最初的目标—人工智能(AI, artificial intelligence)[1]。
典型的深度学习模型有卷积神经网络(convolutional neural network)、DBN 和 堆 栈 自 编 码 网 络(stacked auto-encoder network)模型等 [2]。
是一类包含卷积计算且具有深度结构的前馈神经网络 (feedforward neural networks), 是 深 度 学 习(deep learning)的代表算法之一 [3]。
卷积神经网络在本质上是一种输入到输出的映射,它能 够学习到大量的输入与输出之间的映射关系,而不需要任何 输入和输出之间的精确的数学表达式,只要用已知的模型对 卷积神经网络进行训练,网络就具有输入与输出之间的映射 能力 [4]。
4.1 系统架构分析 StyleGAN2 合成人脸识别系统基于 C/S 架构,客户端由
C# 进行开发,界面简洁实用,系统完成了用户注册、用户登 录、用户信息管理、图片识别和历史图片识别查询等功能。 服务器上部署数据库、Nginx 和核心模型,并且部署出系统
254 2021 年第 6 期
信息技术与信息化 智能技术
征值,卷积网络层进行卷积时会发生如下步骤:首先进行局 部数据相关联,该步骤中所有神经元 [10] 都会被看做成滤波 器(FILTER)[11],而且会在输入图像中所有位置都尝试提取, 进而由这些特征组成过滤器;卷积核进行窗口移动,滤波器 (FILTER)与局部数据计算。模型在进行卷积的时候,卷积 核会有规律性地提取输入特征值,在卷积核里对输入特征值 做叉乘(矩阵乘法)并且求和加上偏移值,其公式为:
运行环境,数据库使用 Mysql 存储数据,Nginx 提供 Web 服 务显示图片,整个系统的核心部分为模型,核心模型决定系 统识别的准确率,核心模型由 Python[5] 开发。客户端处理 软件逻辑,服务器上实现数据计算以及业务处理。架构 C/ S 模式使得系统更加稳定,客户端的运行对硬件无要求,在 Windows[6] 系统下即可运行该软件,系统界面简单、易用和 实用性高,任何人都可以在短时间内学会操作该系统,系统 具有多样性、多元化和具有很强的扩展性。系统架构图见图 1。
待卷积层提取到特征数据后,该数据会输入到池化层当 中,池化层会对该数据进行选择特征数据和过滤出相关信息 数据。池化网络层位于单个或两个以上卷积网络层当中,它 将计算的数据进行压缩、减少训练参数的数量、减少过拟合。 最重要的作用就是只会保留到有用且重要的信息,对于没用 的信息会丢弃掉。本次使用的是步长为 2 的极大池化,即在 2×2 的图片像素中取最大像素值作为该区域的像素值。
公式(1)中的累加区域就等于求解了一次交叉相关。 b 是偏移值,Zl 代表 l+1 层的输入数据,Zl+1 代表 l+1 层的 输出数据,Z(i,j)代表的是图像数据,K 代表的是特征图片 数据的通道数量,f 代表的是该卷积核的大小。当卷积核的 大小为一时,也就是说该卷积层由单位卷积核组成,该层称 为网中网。在该卷积层中的交叉相关计算就是卷积核与输入 数据的矩阵叉乘,则该卷积层相当于构成全连接网络层,使 用单位卷积核的好处是可以在保持输入特征图片尺寸不变的 情况下同时减少特征图片的通道数,使得卷积层中的计算量 大大降低。
BN 层的思想:相对每层隐层神经网络中的神经元,神经
2021 年第 6 期 255
智能技术 信息技术与信息化
元的输入分布逐渐映射到非线性函数,然后在限制饱和区域 的价值区间被迫引入标准正态分布(均值为零 , 方差为一), 让非线性变换函数的输入值落入区域更敏感的输入 , 由此来 消除梯度消失的问题。由于梯度可以一直在一个比较大的区 间,因此提高了调整神经网络参数的效率,使得神经网络参 数的变化更大,损失值向着更优值变化幅度大,这就使得收 敛速度加快。
卷积层中卷积步长设置成 1,使用相同填充的方法,在 卷积操作后加入 BN 处理,处理后使用 LeakyReLU 激活函数 进行激活,在最后的卷积层加入了 dropout 算法 [8],使权重 20% 随机失活;池化层 [9] 都是 2×2 的极大池化操作,步长 设置成 2,不采用填充方法。
4.3 卷积操作与池化操作 在卷积网络层中,该层会从上层输出的数值中提取出特
4.2 核心模型的网络结构设计 模型的隐含层网络结构基于深度学习 [7] 中的卷积神经网
络进行设计开发,主要组成结构为十二个卷积网络层、四个 池化网络层和三个全连接网络层。结构按如下方式进行构建, 括号里为卷积核的大小,网络结构见图 2。
(6)3 个 全 连 接 网 络 层, 神 经 元 数 量 为 512、256 和 128,权重 20% 随机失活。
3 数据来源
图片数据分为两类:真实人脸图片数据和合成人脸图片 数据。真实人脸图片数据采用 FFHQ 的高清人脸数据,它里面 包含了七万张尺寸为 1024 的高清人像。这些人脸图片无论 是在年龄上、种族内和图片的背景上,都充满了多样性。合 成人脸图片数据采用由 StyleGAN2 合成出来的人脸图片数据, 也是 1024×1024 的高清人像。
(4)
CNN 中的卷积神经网络层和池化神经网络层能够提取到 输入数据的特征值,而全连接神经网络层则是对该特征值进 行非线性组合然后输出,设计全连接神经网络层的时候就设
图 4 识别错误数据图 最后识别 150 张真实人脸图片,查询数据库可以找到 150 条记录,用户帐号为“MCT”,经查询识别结果为 0(合 成人脸)共有 0 张,全部识别正确,如图 5 所示。
图片数据来源为 网站的开源数据, 且该网站提供的开源数据中还有筛选过的图片数据。经分 析挑选后,选择黄种人的真实人脸图片和合成人脸图片。 二者皆为 1024×1024 的高清人像,合计 23 000 余张,大小 27.58 G。
4 基于深度学习的 StyleGAN2 合成人脸识别系统分析与设计
4.5 损失函数 采用二元交叉Biblioteka 作为损失函数,此时权重的梯度,其公
式为: (2)
可以看出二元交叉熵对于最后一层权重的梯度不再跟激 活函数的导数相关,只跟输出值和真实值的差值成正比,此 时收敛较快。又反向传播是连乘的,因此整个权重矩阵的更 新都会加快。
在二分的情况下,模型的最后只需要预测的结果只有两 种情况,对于每个类别我们的预测得到的概率为 p 和 1-p。 此时表达式为:
图 5 识别错误数据图 经过验证后,可以发现:在 300 张验证图片中,系统的 准确率达到 98.33%,证明该系统识别 StyleGAN2 合成人脸图 片是有效的且有针对性。
智能技术 信息技术与信息化
摘 要 关键词
基于深度学习的 StyleGAN2 合成人脸识别系统
向志华 1 高 庆 1 马楚涛 1 XIANG Zhihua GAO Qing MA Chutao
StyleGAN2 合成人脸识别系统专门针对 StyleGAN2 合成人脸进行识别,可以识别出人脸图片是否由 StyleGAN2 合成而来。StyleGAN2 合成人脸识别系统基于 C/S(客服端 / 服务器)架构,系统的核心 部分为部署在服务器上的识别模型,该模型的隐含层网络结构为深度学习中的卷积神经网络。识别模 型经大数据的支撑下训练数次而得,训练后的模型准确率达到 97.22%,交叉验证后的模型准确率达到 98.33%,由此验证了基于深度学习可以识别出 StyleGAN2 合成人脸图片。 StyleGAN2 合成人脸;深度学习;卷积神经网络
doi:10.3969/j.issn.1672-9528.2021.06.076
0 引言
StyleGAN2 的出现,仅凭人眼无法辨别其真伪,每张合 成出来人脸都是世界上独一无二的且不存在的人脸。若有心 人将此技术运用到犯罪上,生成高颜值的人脸图片放去社交 网络中,可进行大范围的钓鱼诈骗;静态合成的人脸能通过 2D 人脸识别,动态合成的人脸还能通过 3D 人脸识别,若犯 罪嫌疑人将此技术和 3D 精准头模打印技术结合,打印头模出 来,犯罪者可以虚构一个世界上不存在的人进行犯罪或者逃 亡,从而逃脱缉捕。至今还没有任何技术是专门针对 StyleGAN2 合成人脸图片进行识别的,因此对 StyleGAN2 合成人 脸的识别研究至关重要,本文主要研究通过深度学习去识别 StyleGAN2 合成人脸。
4.4 BN 操作与 leakyRelu 激活函数 本次设计中每层后都加入了 BN 层做标准化处理。batch
normalization 作用于神经元的输出数据,将输出值进行归 一化处理,使得输入到激活函数的数据值都在 0 的附近,这 就消除了模型在训练时出现梯度消失的情况,减轻了输入数 据变化的影响。
(4)(1×1)×8×24 的卷积网络层 → (3×3)×24×32 的 卷 积 网 络 层 → (3×3)×32×32 的 卷 积 网 络 层 → (1×1)×32×16 的卷积网络层 → 极大池化网络层;
(5)(1×1)×16×48 的卷积网络层 → (3×3)×48×64 的卷积网络层 → 极大池化网络层;