第16卷第6期 智能系统学报 Vol.16 No.6 2021年11月 CAAI Transactions on Intelligent Systems Now.2021 D0:10.11992/tis.202012010 网络出版地址:https:/ns.cnki.net/kcms/detail/23.1538.TP.20210830.1306.004html 基于生成对抗网络的人脸口罩图像合成 姜义,吕荣镇,刘明珠,韩闯 (哈尔滨理工大学测控技术与通信工程学院,黑龙江哈尔滨150080) 摘要:为了解决现阶段缺乏被口罩遮挡的人脸数据集的问题,本文提出了基于生成对抗网络与空间变换网络 相结合生成戴口罩的人脸图像的方法。本文的方法以生成对抗网络为基础,结合了多尺度卷积核对图像进行 不同尺度的特征提取,并引入了沃瑟斯坦散度作为度量真实样本和合成样本之间的距离,并以此来优化生成器 的性能。实验表明,所提方法能够在没有对原始图像进行任何标注的情况下有效地对人脸图像进行口罩佩戴, 且合成的图像具有较高的真实性。 关键词:深度学习;生成对抗网络;空间变换:卷积神经网络;图像融合;口罩;人脸数据集;人脸识别 中图分类号:TP391文献标志码:A文章编号:1673-4785(2021)06-1073-08 中文引用格式:姜义,吕荣镇,刘明珠,等.基于生成对抗网络的人脸口罩图像合成.智能系统学报,2021,16(6): 1073-1080. 英文引用格式:JIANG Yi,,LYU Rongzhen,,LIU Mingzhu,et al.Masked face image synthesis based on a generative adversarial net- work[JI.CAAI transactions on intelligent systems,2021,16(6):1073-1080. Masked face image synthesis based on a generative adversarial network JIANG Yi,LYU Rongzhen,LIU Mingzhu,HAN Chuang (School of Measurement-Control Technology and Communications Engineering,Harbin University of Science and Technology,Har- bin 150080,China) Abstract:This paper proposes a method for generating masked face images using a generative adversarial network (GAN)and spatial transformer networks.The proposed method is used to solve the present problem of lacking face data- sets of people wearing masks.Based on the GAN,the proposed method introduces a multiscale convolution kernel to extract image characteristics in various dimensions.This method introduces the Wasserstein divergence to measure the distance between an authentic specimen and a synthetic specimen so that generator's performance can be optimized.Ex- periments show that the proposed method can add a mask to a face image effectively without any annotations on the ori- ginal image,and the synthesized image has high fidelity. Keywords:deep learning;generative adversarial networks;spatial transformation;convolution neural network;image fusion;face mask;human face dataset,face recognition Coronavirus disease2019(COVD-19)虽然在我 触这些物体导致感染。所以戴口罩出行和在公共 国已经得到了很好的控制,但仍然在全球一些地 场所保持社交距离成为了阻止疫情传播的重要方 区蔓延。COVID-19是指2019年开始流行的新型 法。同时由于该病毒具有接触传染的特性,在公 冠状病毒感染导致的肺炎,是一种急性呼吸道传 共场合使用指纹或掌纹等接触式的身份识别方式 染病。导致该肺炎的病毒可以通过呼吸道飞沫 同样存在安全风险。人脸识别系统由于能够避免 在人群中进行大范围的传播。此外,病毒感染者 不必要的接触因而比其他识别方式安全得多。在 接触过的物体也可能残留病毒,人们可能通过接 口罩成为生活必需品时,也对现有的人脸识别系 统提出了挑战。目前的基于深度学习的人脸识别 收稿日期:2020-12-03.网络出版日期:2021-08-30. 基金项目:国家自然科学基金项目(61601149):黑龙江省科学 方法),在面对无遮挡物的人脸识别上取得了很 基金项日(QC2017074):黑龙江省普通本科高等学校 青年创新人才培养计划项目(UNPYSCT-2018199). 好的识别率,但是在大面积遮挡的人脸面前已经 通信作者:姜义.E-mail:jasonj@hrbust..edu.cn 不再能够准确识别身份了。其主要原因在于训
DOI: 10.11992/tis.202012010 网络出版地址: https://kns.cnki.net/kcms/detail/23.1538.TP.20210830.1306.004.html 基于生成对抗网络的人脸口罩图像合成 姜义,吕荣镇,刘明珠,韩闯 (哈尔滨理工大学 测控技术与通信工程学院,黑龙江 哈尔滨 150080) 摘 要:为了解决现阶段缺乏被口罩遮挡的人脸数据集的问题,本文提出了基于生成对抗网络与空间变换网络 相结合生成戴口罩的人脸图像的方法。本文的方法以生成对抗网络为基础,结合了多尺度卷积核对图像进行 不同尺度的特征提取,并引入了沃瑟斯坦散度作为度量真实样本和合成样本之间的距离,并以此来优化生成器 的性能。实验表明,所提方法能够在没有对原始图像进行任何标注的情况下有效地对人脸图像进行口罩佩戴, 且合成的图像具有较高的真实性。 关键词:深度学习;生成对抗网络;空间变换;卷积神经网络;图像融合;口罩;人脸数据集;人脸识别 中图分类号:TP391 文献标志码:A 文章编号:1673−4785(2021)06−1073−08 中文引用格式:姜义, 吕荣镇, 刘明珠, 等. 基于生成对抗网络的人脸口罩图像合成 [J]. 智能系统学报, 2021, 16(6): 1073–1080. 英文引用格式:JIANG Yi, LYU Rongzhen, LIU Mingzhu, et al. Masked face image synthesis based on a generative adversarial network[J]. CAAI transactions on intelligent systems, 2021, 16(6): 1073–1080. Masked face image synthesis based on a generative adversarial network JIANG Yi,LYU Rongzhen,LIU Mingzhu,HAN Chuang (School of Measurement-Control Technology and Communications Engineering, Harbin University of Science and Technology, Harbin 150080, China) Abstract: This paper proposes a method for generating masked face images using a generative adversarial network (GAN) and spatial transformer networks. The proposed method is used to solve the present problem of lacking face datasets of people wearing masks. Based on the GAN, the proposed method introduces a multiscale convolution kernel to extract image characteristics in various dimensions. This method introduces the Wasserstein divergence to measure the distance between an authentic specimen and a synthetic specimen so that generator’s performance can be optimized. Experiments show that the proposed method can add a mask to a face image effectively without any annotations on the original image, and the synthesized image has high fidelity. Keywords: deep learning; generative adversarial networks; spatial transformation; convolution neural network; image fusion; face mask; human face dataset; face recognition Coronavirus disease 2019(COVID-19) 虽然在我 国已经得到了很好的控制,但仍然在全球一些地 区蔓延。COVID-19 是指 2019 年开始流行的新型 冠状病毒感染导致的肺炎,是一种急性呼吸道传 染病[1]。导致该肺炎的病毒可以通过呼吸道飞沫 在人群中进行大范围的传播。此外,病毒感染者 接触过的物体也可能残留病毒,人们可能通过接 触这些物体导致感染。所以戴口罩出行和在公共 场所保持社交距离成为了阻止疫情传播的重要方 法。同时由于该病毒具有接触传染的特性,在公 共场合使用指纹或掌纹等接触式的身份识别方式 同样存在安全风险。人脸识别系统由于能够避免 不必要的接触因而比其他识别方式安全得多。在 口罩成为生活必需品时,也对现有的人脸识别系 统提出了挑战。目前的基于深度学习的人脸识别 方法[2-3] ,在面对无遮挡物的人脸识别上取得了很 好的识别率,但是在大面积遮挡的人脸面前已经 不再能够准确识别身份了[4]。其主要原因在于训 收稿日期:2020−12−03. 网络出版日期:2021−08−30. 基金项目:国家自然科学基金项目 (61601149);黑龙江省科学 基金项目 (QC2017074);黑龙江省普通本科高等学校 青年创新人才培养计划项目 (UNPYSCT-2018199). 通信作者:姜义. E-mail:jasonj@hrbust.edu.cn. 第 16 卷第 6 期 智 能 系 统 学 报 Vol.16 No.6 2021 年 11 月 CAAI Transactions on Intelligent Systems Nov. 2021
·1074· 智能系统学 报 第16卷 练人脸识别神经网络模型时,没有使用戴口罩的 练更加稳定。WGAN变体还有WGAN-GP)和 人脸数据进行训练。所以,为了提高人脸识别系 WGAN-div1等,进一步提高了生成的多样性和 统对口罩遮挡人脸的识别率,需要一个具有大量 图片质量。 样本的戴口罩的人脸数据集。在目前该类型数据 集缺乏的情况下,为了更好地训练神经网络对戴 1相关技术 口罩人脸进行识别,本文通过给现有的人脸识别 本文提出的方法结合了空间变换网络和使用 数据集中的人脸图像戴口罩的方式解决该问题。 金字塔卷积的WGAN-div生成对抗网络。 Anwar等采用基于dlib的面部检测器来识 1.1空间变换网络 别人脸和口罩上的6个关键点,然后将口罩上的 空间变换网(spatial transformer networks, 关键点与人脸上的关键点对应,最后将口罩图片 STNs)模块主要由3个部分组成:本地化网络 进行拉伸等变换后贴图在人脸图片上的相应位置 (localization network)、参数采样网络(parameter-- 得到戴口罩的人脸图片。Cabani等采用的技术 ized sampling grid)和图像采样(image sampling)o 与Anwar相似,不同的是采用了12个人脸的关键 本地化网络的输入是原始的图片,输出是一个变 点和12个口罩关键点来对人脸图片进行口罩佩 换参数P,它映射的是输入图片和理想图片的坐 戴。Anwar与Cabani的方法虽然较为简单易用, 标关系。参数采样网络则是对特征图像进行仿射 但是得到的佩戴口罩人脸图片真实性不高,有明 变换,通过变换参数和输入特征图的坐标位置, 显的人工痕迹。 得到对应的特征关系。而图像采样是经过前两个 本文认为给人脸图片戴上口罩本质上是一个 网络得到的特征关系对原图像进行变换以得到期 图像融合问题。图像融合是用特定算法将两幅或 望的图像。其主要思想是对输入的图像进行空间 多幅图像融合成一幅新的图像。在融合的过程中 变换,输出一张变换后的理想图像。本文将采用 通过利用图像的相关性和互补性,使得融合后的 空间变换网络将口罩图像进行变换以使其符合人 图像达到想要的效果。随着卷积神经网络的出 脸轮廓,从而得到逼真的戴口罩人脸图像。本文 现,图像融合取得了显著的进展。其中大多数方 采用空间变换网络的一个主要原因是可以不用提 法都是通过学习低维的自然图像子空间的编码, 前对口罩图像进行控制点标注,提高了算法的实 并由此对像素进行预测并约束图像可能的外观, 用性。为了达到这个目标,本文将使用生成对抗 最终生成融合后的图像。 网络来优化空间变换网络的参数P。 生成对抗网络(generative adversarial networks,. 1.2金字塔卷积网络 GAN-剧就是一个强大的图像生成网络。它包含 卷积网络在计算机视觉中得到了广泛的应 两个相互竞争和博弈的神经网络模型,生成器 (generator)和判别器(discriminator)。生成器将噪 用s。但是卷积网络的实际感受野比理论上的 声作为输入并生成图片,判别器则接收生成器产 要小很多;且池化、卷积步长等下采样方案都会产 生的数据和对应的真实数据,训练得到能正确区 生信息的损耗,进而影响模型的性能。Duta等可 分生成数据与原始数据的分类器。这种能从随机 提出的金字塔卷积(pyramidal convolution,Py- 噪声生成图像的方式使得生成对抗网络备受关 Conv)可以在多个滤波器尺度对输入进行处理。 注。GAN除了无监督的训练方法,还能通过给定 PyConv包含一个核金字塔,每一层包含不同类型 标签得到特定的图像,例如,CGAN9就是通过引 的滤波器,每个滤波器的大小和深度都不同,以 入一个额外信息进行半监督的图像生成。Rad- 此来提取不同尺度的图像特征。 ford等1o则是将GAN网络和卷积神经网络进行 PyConv采用了金字塔结构的卷积,包含了不 结合,得到了一个更稳定的深度卷积生成对抗网 同深度和尺度的卷积核,能够同时提取不同尺度 (deep convolutional generative adversarial network, 的特征。PyConv的结构如图1所示,它包含了一 DCGAN),而且极大地提高了生成图像的质量。 个由n层不同尺寸卷积核构成的金字塔,能够在 此外,Arjovsky等提出的WGAN网络(wasser-- 不提升计算复杂度和参数数量的基础上采用多尺 stein GAN)将计算生成的图像数据分布与真实的 度核对输入进行处理,每一层的核包含不同的空 图像数据分布之间的Jensen-Shannon距离(简 间尺度,卷积核尺度越大,深度越低。由于PyConv 称JS距离)改为Wasserstein距离(W距离)。W距 在不同层使用不同深度的卷积核,需要将输入特 离帮助WGAN解决了原始GAN网络的模式坍塌 征划分为不同的组并独立地进行卷积计算,称之 问题,使得生成的样本更加多样化,而且使得训 为组卷积。假设PyConv的输入通道数为C,每
练人脸识别神经网络模型时,没有使用戴口罩的 人脸数据进行训练。所以,为了提高人脸识别系 统对口罩遮挡人脸的识别率,需要一个具有大量 样本的戴口罩的人脸数据集。在目前该类型数据 集缺乏的情况下,为了更好地训练神经网络对戴 口罩人脸进行识别,本文通过给现有的人脸识别 数据集中的人脸图像戴口罩的方式解决该问题。 Anwar 等 [5] 采用基于 dlib 的面部检测器来识 别人脸和口罩上的 6 个关键点,然后将口罩上的 关键点与人脸上的关键点对应,最后将口罩图片 进行拉伸等变换后贴图在人脸图片上的相应位置 得到戴口罩的人脸图片。Cabani 等 [6] 采用的技术 与 Anwar 相似,不同的是采用了 12 个人脸的关键 点和 12 个口罩关键点来对人脸图片进行口罩佩 戴。Anwar 与 Cabani 的方法虽然较为简单易用, 但是得到的佩戴口罩人脸图片真实性不高,有明 显的人工痕迹。 本文认为给人脸图片戴上口罩本质上是一个 图像融合问题。图像融合是用特定算法将两幅或 多幅图像融合成一幅新的图像。在融合的过程中 通过利用图像的相关性和互补性,使得融合后的 图像达到想要的效果。随着卷积神经网络的出 现,图像融合取得了显著的进展。其中大多数方 法都是通过学习低维的自然图像子空间的编码, 并由此对像素进行预测并约束图像可能的外观, 最终生成融合后的图像。 生成对抗网络 (generative adversarial networks, GAN)[7-8] 就是一个强大的图像生成网络。它包含 两个相互竞争和博弈的神经网络模型,生成器 (generator) 和判别器 (discriminator)。生成器将噪 声作为输入并生成图片,判别器则接收生成器产 生的数据和对应的真实数据,训练得到能正确区 分生成数据与原始数据的分类器。这种能从随机 噪声生成图像的方式使得生成对抗网络备受关 注。GAN 除了无监督的训练方法,还能通过给定 标签得到特定的图像,例如,CGAN[9] 就是通过引 入一个额外信息进行半监督的图像生成。Radford 等 [10] 则是将 GAN 网络和卷积神经网络进行 结合,得到了一个更稳定的深度卷积生成对抗网 络 (deep convolutional generative adversarial network, DCGAN),而且极大地提高了生成图像的质量。 此外,Arjovsky 等 [11] 提出的 WGAN 网络 (wasserstein GAN) 将计算生成的图像数据分布与真实的 图像数据分布之间的 Jensen–Shannon 距离 (简 称 JS 距离) 改为 Wasserstein 距离 (W 距离)。W 距 离帮助 WGAN 解决了原始 GAN 网络的模式坍塌 问题,使得生成的样本更加多样化,而且使得训 练更加稳定。WGAN 变体还有 WGAN-GP[12] 和 WGAN-div[13] 等,进一步提高了生成的多样性和 图片质量。 1 相关技术 本文提出的方法结合了空间变换网络和使用 金字塔卷积的 WGAN-div 生成对抗网络。 1.1 空间变换网络 p p 空间变换网络 (spatial transformer networks, STNs)[14] 模块主要由 3 个部分组成:本地化网络 (localization network)、参数采样网络 (parameterized sampling grid) 和图像采样 (image sampling)。 本地化网络的输入是原始的图片,输出是一个变 换参数 ,它映射的是输入图片和理想图片的坐 标关系。参数采样网络则是对特征图像进行仿射 变换,通过变换参数和输入特征图的坐标位置, 得到对应的特征关系。而图像采样是经过前两个 网络得到的特征关系对原图像进行变换以得到期 望的图像。其主要思想是对输入的图像进行空间 变换,输出一张变换后的理想图像。本文将采用 空间变换网络将口罩图像进行变换以使其符合人 脸轮廓,从而得到逼真的戴口罩人脸图像。本文 采用空间变换网络的一个主要原因是可以不用提 前对口罩图像进行控制点标注,提高了算法的实 用性。为了达到这个目标,本文将使用生成对抗 网络来优化空间变换网络的参数 。 1.2 金字塔卷积网络 卷积网络在计算机视觉中得到了广泛的应 用 [15-16]。但是卷积网络的实际感受野比理论上的 要小很多;且池化、卷积步长等下采样方案都会产 生信息的损耗,进而影响模型的性能。Duta 等 [17] 提出的金字塔卷积 (pyramidal convolution, PyConv) 可以在多个滤波器尺度对输入进行处理。 PyConv 包含一个核金字塔,每一层包含不同类型 的滤波器,每个滤波器的大小和深度都不同,以 此来提取不同尺度的图像特征。 C PyConv 采用了金字塔结构的卷积,包含了不 同深度和尺度的卷积核,能够同时提取不同尺度 的特征。PyConv 的结构如图 1 所示,它包含了一 个由 n 层不同尺寸卷积核构成的金字塔,能够在 不提升计算复杂度和参数数量的基础上采用多尺 度核对输入进行处理,每一层的核包含不同的空 间尺度,卷积核尺度越大,深度越低。由于 PyConv 在不同层使用不同深度的卷积核,需要将输入特 征划分为不同的组并独立地进行卷积计算,称之 为组卷积。假设 PyConv 的输入通道数为 ,每一 ·1074· 智 能 系 统 学 报 第 16 卷
第6期 姜义,等:基于生成对抗网络的人脸口罩图像合成 ·1075· 层的卷积核大小为K,,…,K,C:对应输入的特 式(4)、(5)所示: 征维度,而对应的输出特征维度为C1,C2,… G=-Ex-PD(x) (4) Cm。C。是输出特征维度的总和,C。和参数量N D=E-p [D(X)]-E-P,[D(x)] (5) 如式(1)、式(2)所示。 Col+Co2+…+Cam=C。 (1) 2人脸图像与口罩图像的合成 N=K2XCon× 9 +…十 本文的目标是对输入的未戴口罩人脸图像 I、口罩图像IM以及掩膜M的情况下进行图像合 C (2) +…+KxCol 成。对口罩图像进行空间变换,校正其视角、位 置及方向,使得合成的照片更加自然,合成的过 K 程表示如式(6)所示: 在构建过程中,PyConv的每一层的通道数应 Icomposite =IMM+IF(1-M) (6) 当是相同的,这也要求输入通道数必须是2的指 2.1网络结构设计 数次幂。 相较于通过将标注好的口罩图像通过关键 点定位叠加到识别出的人脸上的方法,本文提 出一种使用金字塔卷积改进的WGAN-div神经网 络与空间变换网络相结合的图像合成模型(Py WGAN-div),该模型在训练时不需要对待合成的 人脸及口罩图像做任何提前标注。模型以生成对 抗网络为主体,并分别对生成器和判别器的神经 网络部分进行了改进,其结构如图2所示。 图1 PyConv结构 PyCon 变换参数 PyCon Q Fig.1 Structure of PyConv l.3 Wasserstein GAN网络 Relu Relu 生成对抗网络由于在训练中需要达到纳什均 yConv 衡,一直存在着训练困难以及不稳定的问题。不 判 得分 稳定的问题也会导致模式坍塌,造成样本生成缺 矩阵 Relu Relu 乏多样性,即使增加训练时间也很难改善。而 Wasserstein GAN(WGAN)较好地解决了训练不稳 图2网络整体结构 定的问题,不再需要小心地对生成器和判别器的 Fig.2 Overall neural network structure 训练程度进行平衡,确保了生成结果的多样性。 在生成器部分,原始的生成对抗网络是通过 原始GAN采用的JS距离衡量的是两个分布之间 一个随机噪声来生成新的图像。但是直接生成的 的差异,通过将JS散度作为优化目标最终得到优 图像会有很多问题,例如生成的人脸分辨率低 化的生成网络。但是这只能在两个分布有重叠部 口罩错误的被作为肤色合成到人脸上。而本文的 分时才成立,如果原始图像和生成的图像在分布 目的是能构建成对的人脸数据(包含未戴口罩与 上没有重叠部分或重叠部分可忽略不计,则对应 戴口罩的人脸图像对),而不是产生随机的人脸。 的JS散度就是一个固定值,这样无论如何训练都 因此本文方法中的生成器生成的是一组更新的变 无法得到优化的生成器。WGAN则采用W距离, 形参数△p(且该变形参数随着优化的进行不断进 其定义如式(3): 行更新)。修正的变换参数如式(7)所示: EM(p.Py(Z))=inf Es)[llx-yll](3) △p=G.(Lw(p-i),Ie) en(PnPa) (7) P:=p-1+△pi 式中:P,、P(Z②)分别表示真实样本分布和生成样 式中:I为未佩戴口罩的人脸图像;M为通过变 本的分布;y∈(P,Pr(Z)中,y表示联合分布,后 形参数变形后的口罩图片;P-表示上一次的变 面表示联合分布的集合;x-则是样本x、y之 形参数;G表示生成器。 间的距离。W距离是计算所有联合分布中能够对 多尺度卷积与标准单一卷积相比,能在没有 期望值取到的下界。为了最小化W距离,分别为 额外参数的情况下,扩大卷积核的感受野,并且 生成器和判别器设计了两个损失函数G和D,如 由于使用不同大小的卷积核而获得不同的空间分
K 2 1 ,K 2 2 ,··· ,K 2 n Ci Co1,Co2,··· , Con Co Co N 层的卷积核大小为 , 对应输入的特 征维度,而对应的输出特征维度为 。 是输出特征维度的总和, 和参数量 如式 (1)、式 (2) 所示。 Co1 +Co2 +···+Con = Co (1) N = K 2 n ×Con × Ci ( K 2 n K 2 1 ) +···+ K 2 4 ×Co4 × Ci ( K 2 4 K 2 1 ) +···+K 2 1 ×Co1 (2) 在构建过程中,PyConv 的每一层的通道数应 当是相同的,这也要求输入通道数必须是 2 的指 数次幂。 . . . Kn K3 K2 K1 C H W Co Co1 Co2 Co3 ... Con 图 1 PyConv 结构 Fig. 1 Structure of PyConv 1.3 Wasserstein GAN 网络 生成对抗网络由于在训练中需要达到纳什均 衡,一直存在着训练困难以及不稳定的问题。不 稳定的问题也会导致模式坍塌,造成样本生成缺 乏多样性,即使增加训练时间也很难改善。而 Wasserstein GAN(WGAN) 较好地解决了训练不稳 定的问题,不再需要小心地对生成器和判别器的 训练程度进行平衡,确保了生成结果的多样性。 原始 GAN 采用的 JS 距离衡量的是两个分布之间 的差异,通过将 JS 散度作为优化目标最终得到优 化的生成网络。但是这只能在两个分布有重叠部 分时才成立,如果原始图像和生成的图像在分布 上没有重叠部分或重叠部分可忽略不计,则对应 的 JS 散度就是一个固定值,这样无论如何训练都 无法得到优化的生成器。WGAN 则采用 W 距离, 其定义如式 (3): EM( pr , pf (Z) ) = inf γ∈ ∏ (pr,pf (Z)) E(x,y)∼γ [ ∥x−y∥ ] (3) pr pf(Z) γ ∈ ∏( pr , pf (Z) ) γ ∥x−y∥ x y G D 式中: 、 分别表示真实样本分布和生成样 本的分布; 中, 表示联合分布,后 面表示联合分布的集合; 则是样本 、 之 间的距离。W 距离是计算所有联合分布中能够对 期望值取到的下界。为了最小化 W 距离,分别为 生成器和判别器设计了两个损失函数 和 ,如 式 (4)、(5) 所示: G = −Ex∼Pf [D(x)] (4) D = Ex∼pf [D(x)]− Ex∼Pr [D(x)] (5) 2 人脸图像与口罩图像的合成 IF IM M 本文的目标是对输入的未戴口罩人脸图像 、口罩图像 以及掩膜 的情况下进行图像合 成。对口罩图像进行空间变换,校正其视角、位 置及方向,使得合成的照片更加自然,合成的过 程表示如式 (6) 所示: Icomposite = IM ⊙ M + IF ⊙(1− M) (6) 2.1 网络结构设计 相较于通过将标注好的口罩图像通过关键 点定位叠加到识别出的人脸上的方法,本文提 出一种使用金字塔卷积改进的 WGAN-div 神经网 络与空间变换网络相结合的图像合成模型 (PyWGAN-div),该模型在训练时不需要对待合成的 人脸及口罩图像做任何提前标注。模型以生成对 抗网络为主体,并分别对生成器和判别器的神经 网络部分进行了改进,其结构如图 2 所示。 生 成 器 判 别 器 7×7 PyConv 3×3 5×5 7×7 9×9 Relu PyConv 3×3 5×5 7×7 9×9 Relu PyConv 3×3 Relu PyConv 3×3 Relu PyConv 3×3 5×5 7×7 Relu PyConv 3×3 5×5 Relu PyConv 3×3 5×5 7×7 Relu PyConv 3×3 5×5 Relu 256 8 3×3 7×7 得分 矩阵 变换参数 p + 图 2 网络整体结构 Fig. 2 Overall neural network structure ∆p 在生成器部分,原始的生成对抗网络是通过 一个随机噪声来生成新的图像。但是直接生成的 图像会有很多问题,例如生成的人脸分辨率低、 口罩错误的被作为肤色合成到人脸上。而本文的 目的是能构建成对的人脸数据 (包含未戴口罩与 戴口罩的人脸图像对),而不是产生随机的人脸。 因此本文方法中的生成器生成的是一组更新的变 形参数 (且该变形参数随着优化的进行不断进 行更新)。修正的变换参数如式 (7) 所示: ∆pi = Gi(IM(pi−1),IF) pi = pi−1 + ∆pi (7) IF IM pi−1 Gi 式中: 为未佩戴口罩的人脸图像; 为通过变 形参数变形后的口罩图片; 表示上一次的变 形参数; 表示生成器。 多尺度卷积与标准单一卷积相比,能在没有 额外参数的情况下,扩大卷积核的感受野,并且 由于使用不同大小的卷积核而获得不同的空间分 第 6 期 姜义,等:基于生成对抗网络的人脸口罩图像合成 ·1075·
·1076· 智能系统学报 第16卷 辨率和深度。卷积核随着尺寸的减小深度加深, 判别器 判别器 这样不同尺寸的卷积核能带来互补的信息,有助 于获取更丰富的特征。 在生成器网络的结构设计上,本文采用了Py Conv的网络结构。首先将输入的正常人脸图像 和口罩图像进行通道数的叠加,再通过一个 7×7的大卷积核提取特征。使用7×7的大卷积核 生成器 生成器 的目的是尽可能地保留原始图片的信息且减少计 P AP 算量。之后采用了4个去掉了批标准化层的Py- -(Updata -Updata Conv卷基层。在PyConv中卷积层中去除批量归 图3网络训练流程图 一化层的目的是减少计算的复杂度以提升训练效 Fig.3 Training flow diagram 率。生成器中第一个PyConv层用了4个不同尺 2.2 损失函数与超参数设置 寸的卷积核(3×3、5×5、7×7、9×9)以获取不同尺度 本文将采用WGAN-div的目标函数作为优化 的特征来增强模型的特征提取能力。生成器的输 指标。WGAN虽然相比GAN网络有了很大程度 出是一个8维的向量,该向量作为空间变换网络 的优化,但是在训练过程中仍然表现出收敛速度 的参数使用。生成器的网络结构如表1与图2 慢和训练困难的问题。其主要原因是:在处理 所示,其中s为步长。 利普希茨连续条件限制条件时直接使用了权重裁 表1Py-WGAN-div网络结构 减,大部分权重都在0.01。而判别器希望能尽可 Table 1 Py-WGAN-div network structure 能地拉大真假样本之间的差距。之后其他研究者 输出尺寸/像素×像素 Py-WGAN-div 提出的WGAN-GPI和SNGANU9分别通过了梯 72×72 7×7,64,5=2 度惩罚和谱归一化的方法实现了Lipschitz约束。 而且WGAN不能使用基于动量的优化算法,例 3×3,32,5=2 如Adam。WGAN-div则是提出了式(8)所示的W 5×5,32s=2 36×36 散度来真正缩小两个分布之间的距离损失函数: 7×7,32,s=2 Wip(PP)=max E:-F,[D(x)]- 9×9,32,5=2 (8) E-F,[D(x)]-kEx-rdom [(lV,D(x)l)] 3×3,64,5=2 式中:k和p的设置则是根据经验选取,通常设置 18×18 5×5,64,5=2 k=2,p=6;C指一阶连续函数族测度;P,与P 7×7,128.s=2 分别表示真实样本集合和合成样本集合;D(x)和 G(x)分别表示判别器和生成器损失函数。 3×3,256,s=2 通过式(8)可以得到生成器的损失函数G(x) 9x9 5×5,256.s=2 和判别器的损失函数D()分别为式(9)和式(10): 5x5 3×3,1024,s=2 G=max ExP,[D(x)]-Ex-P,[D(G())] (9) 1×1 256 D=max E-,[D(x)]-Ex-r,[D(x)]- 0E 1×1 (10) 8 kE,-random [(IV,D(x)] 判别器的输入数据是由真实的佩戴口罩的人 本文使用的超参数设置为:生成器和判别器 脸图像和合成的戴口罩图像构成。而合成图像则 的学习率都是0.00001,空间变换次数为5次,总 是通过空间变换网络生成的变形后的口罩图像和 迭代次数为30万次,每2万次迭代后学习率衰 未遮挡人脸图像进图像融合产生的,空间变换网 减,批量大小为20,优化算法采用Adam。 络的参数则是由生成器生成而来的。通过判别器 3实验与结果分析 网络对图像进行判别后,输出一个分值来表示图 像合成的质量。判别器网络没有使用全连接层, 3.1数据集与实验环境 而是通过一个3×3的卷积得到5×5×1的矩阵来计 本文中用于训练的图片数据挑选自武汉大学 算得分。由图3所示的训练流程图可知,本文通 发布的人脸口罩数据集20、使用网络爬虫从互联 过不断地优化变换参数的值来优化对口罩进行的 网上抓取的图片以及从其他研究者训合成的人 投射变换,并最终获得较好的合成图像。 脸口罩数据集中挑选的部分图片。在对选取的图
辨率和深度。卷积核随着尺寸的减小深度加深, 这样不同尺寸的卷积核能带来互补的信息,有助 于获取更丰富的特征。 在生成器网络的结构设计上,本文采用了 PyConv 的网络结构。首先将输入的正常人脸图像 和口罩图像进行通道数的叠加,再通过一 个 7×7 的大卷积核提取特征。使用 7×7 的大卷积核 的目的是尽可能地保留原始图片的信息且减少计 算量。之后采用了 4 个去掉了批标准化层的 PyConv 卷基层。在 PyConv 中卷积层中去除批量归 一化层的目的是减少计算的复杂度以提升训练效 率。生成器中第一个 PyConv 层用了 4 个不同尺 寸的卷积核 (3×3、5×5、7×7、9×9) 以获取不同尺度 的特征来增强模型的特征提取能力。生成器的输 出是一个 8 维的向量,该向量作为空间变换网络 的参数使用。生成器的网络结构如表 1 与图 2 所示,其中 s 为步长。 表 1 Py-WGAN-div 网络结构 Table 1 Py-WGAN-div network structure 输出尺寸/像素×像素 Py-WGAN-div 72×72 7×7, 64, s=2 36×36 3×3, 32, s=2 5×5, 32, s=2 7×7, 32, s=2 9×9, 32, s=2 18×18 3×3, 64, s=2 5×5, 64, s=2 7×7, 128, s=2 3×3, 256, s=2 9×9 5×5, 256, s=2 5×5 3×3, 1024, s=2 1×1 256 1×1 8 判别器的输入数据是由真实的佩戴口罩的人 脸图像和合成的戴口罩图像构成。而合成图像则 是通过空间变换网络生成的变形后的口罩图像和 未遮挡人脸图像进图像融合产生的,空间变换网 络的参数则是由生成器生成而来的。通过判别器 网络对图像进行判别后,输出一个分值来表示图 像合成的质量。判别器网络没有使用全连接层, 而是通过一个 3×3 的卷积得到 5×5×1 的矩阵来计 算得分。由图 3 所示的训练流程图可知,本文通 过不断地优化变换参数的值来优化对口罩进行的 投射变换,并最终获得较好的合成图像。 P0 IM IF Updata Updata 生成器 生成器 ΔP1 P1 Pn ΔP2 判别器 判别器 … … + + + 图 3 网络训练流程图 Fig. 3 Training flow diagram 2.2 损失函数与超参数设置 本文将采用 WGAN-div 的目标函数作为优化 指标。WGAN 虽然相比 GAN 网络有了很大程度 的优化,但是在训练过程中仍然表现出收敛速度 慢和训练困难的问题[18]。其主要原因是:在处理 利普希茨连续条件限制条件时直接使用了权重裁 减,大部分权重都在±0.01。而判别器希望能尽可 能地拉大真假样本之间的差距。之后其他研究者 提出的 WGAN-GP[12] 和 SNGAN[19] 分别通过了梯 度惩罚和谱归一化的方法实现了 Lipschitz 约束。 而且 WGAN 不能使用基于动量的优化算法,例 如 Adam。WGAN-div 则是提出了式 (8) 所示的 W 散度来真正缩小两个分布之间的距离损失函数: Wk,p ( Pr ,Pf ) = max D∈C1 Ex∼Pr [D(x)]− Ex∼Pf [D(x)]−kEx∼random[(∥∇xD(x)∥ p )] (8) k p k = 2 p = 6 C 1 Pr Pf D(x) G(x) 式中: 和 的设置则是根据经验选取,通常设置 , ; 指一阶连续函数族测度; 与 分别表示真实样本集合和合成样本集合; 和 分别表示判别器和生成器损失函数。 G(x) D(x) 通过式 (8) 可以得到生成器的损失函数 和判别器的损失函数 分别为式 (9) 和式 (10): G = max D∈C1 Ex∼Pr [D(x)]− Ex∼Pf [D(G(z))] (9) D = max D∈C1 Ex∼Pr [D(x)]− Ex∼Pf [D(x)]− kEx∼random[(∥∇xD(x)∥ p )] (10) 本文使用的超参数设置为:生成器和判别器 的学习率都是 0.000 01,空间变换次数为 5 次,总 迭代次数为 30 万次,每 2 万次迭代后学习率衰 减,批量大小为 20,优化算法采用 Adam。 3 实验与结果分析 3.1 数据集与实验环境 本文中用于训练的图片数据挑选自武汉大学 发布的人脸口罩数据集[20] 、使用网络爬虫从互联 网上抓取的图片以及从其他研究者[21] 合成的人 脸口罩数据集中挑选的部分图片。在对选取的图 ·1076· 智 能 系 统 学 报 第 16 卷
第6期 姜义,等:基于生成对抗网络的人脸口罩图像合成 ·1077· 片中进行随机平移、旋转以及缩放后,获得总计 盖正确的位置。因此本文将对比组算法中的 158462张戴口罩的人脸图片作为数据集。将其中 GAN、DCGAN、WGAN的生成器和判别器之间增 142618张图片(约90%)作为训练集进行判别器 加了空变换网络(spatial transformer network, 的训练,其余则作为测试集。数据集中图片尺寸 STN)以更合理地进行对比。图6是不同算法对 统一缩放至144像素×144像素。并手工制作了 应不同口罩和人脸合成的效果对比图。在对比时 20张类型、各种花色的口罩图片,口罩图片的尺 选取了5种风格不同的口罩,有最常见的蓝色外 寸同样是144像素×144像素,且口罩基本位于图 科口罩、KN95口罩、粉色、方格以及斑,点花纹的 片的中心,如图4所示。本文采用的实验环境配 口罩。对比实验还选取了4种不同肤色的人脸及 置如表2所示。 背景,包括各种肤色与背景颜色。针对不同人 脸、不同口罩以及不同算法进行了对比,结果如 图6所示。从图6(a)、(b)可以看出,在人脸姿态 比较好的时候,各种算法都能较好地将口罩合成 到人脸图像中。其中,基于关键点匹配的算法 和本文的算法效果最好,但本文的算法产生的 图像更加自然和逼真。从图6中可以清楚地看 图4口罩图片 到,基于GAN和DCGAN的算法生成的图片效果 Fig.4 Masks used in experiments 相对比较差,口罩会遮住眼睛或者完全超过人脸 的轮廓;而WGAN的方法效果虽然比基于 表2实验环境配置 Table 2 Experiment configuration GAN和DCGAN的算法更好,但合成的口罩不能 很好地贴合人脸轮廓。 实验环境 参数 处理器 Xeon E3-1285L 关键点 内存 GAN DCGAN WGAN本文方法 32 GB 匹配算法 GPU GTX 1080Ti 操作系统 Ubuntu Linux 18.04 编程框架 Tensorflowl.14 3.2实验结果分析 实验使用基于Py-WGAN-div的生成对抗网 络对训练集进行训练,在训练时随机从训练集中 选取人脸图片和口罩图片。图5显示了使用本文 方法进行训练时,每5万次迭代并更新口罩的变 换参数后合成的图片。从图5中可以看出,口罩 位置随着训练的进行逐渐变得更加贴合面部,最 (a)样本1 终得到了较真实的人脸佩戴口罩图像。 关键点 匹配算法 GAN DCGAN WGAN本文方法 图5训练过程 Fig.5 Training process example 在进行算法对比时,本文选取了关键点匹配 算法、基于GAN、DCGAN、和WGAN的算法进 行对比。根据本文实验,原始的生成对抗网络算 法在人脸口罩合成上效果很差,口罩几乎无法覆 (b)样本2
片中进行随机平移、旋转以及缩放后,获得总计 158 462 张戴口罩的人脸图片作为数据集。将其中 142 618 张图片 (约 90%) 作为训练集进行判别器 的训练,其余则作为测试集。数据集中图片尺寸 统一缩放至 144 像素×144 像素。并手工制作了 20 张类型、各种花色的口罩图片,口罩图片的尺 寸同样是 144 像素×144 像素,且口罩基本位于图 片的中心,如图 4 所示。本文采用的实验环境配 置如表 2 所示。 图 4 口罩图片 Fig. 4 Masks used in experiments 表 2 实验环境配置 Table 2 Experiment configuration 实验环境 参数 处理器 Xeon E3-1285L 内存 32 GB GPU GTX 1080Ti 操作系统 Ubuntu Linux 18.04 编程框架 Tensorflow1.14 3.2 实验结果分析 实验使用基于 Py-WGAN-div 的生成对抗网 络对训练集进行训练,在训练时随机从训练集中 选取人脸图片和口罩图片。图 5 显示了使用本文 方法进行训练时,每 5 万次迭代并更新口罩的变 换参数后合成的图片。从图 5 中可以看出,口罩 位置随着训练的进行逐渐变得更加贴合面部,最 终得到了较真实的人脸佩戴口罩图像。 图 5 训练过程 Fig. 5 Training process example 在进行算法对比时,本文选取了关键点匹配 算法[5] 、基于 GAN、DCGAN、和 WGAN 的算法进 行对比。根据本文实验,原始的生成对抗网络算 法在人脸口罩合成上效果很差,口罩几乎无法覆 盖正确的位置。因此本文将对比组算法中的 GAN、DCGAN、WGAN 的生成器和判别器之间增 加了空变换网络 (spatial transformer network, STN) 以更合理地进行对比。图 6 是不同算法对 应不同口罩和人脸合成的效果对比图。在对比时 选取了 5 种风格不同的口罩,有最常见的蓝色外 科口罩、KN95 口罩、粉色、方格以及斑点花纹的 口罩。对比实验还选取了 4种不同肤色的人脸及 背景,包括各种肤色与背景颜色。针对不同人 脸、不同口罩以及不同算法进行了对比,结果如 图 6 所示。从图 6(a)、(b) 可以看出,在人脸姿态 比较好的时候,各种算法都能较好地将口罩合成 到人脸图像中。其中,基于关键点匹配的算法 [5] 和本文的算法效果最好,但本文的算法产生的 图像更加自然和逼真。从图 6 中可以清楚地看 到,基于 GAN 和 DCGAN 的算法生成的图片效果 相对比较差,口罩会遮住眼睛或者完全超过人脸 的轮廓; 而 WGA N 的方法效果虽然比基 于 GAN 和 DCGAN 的算法更好,但合成的口罩不能 很好地贴合人脸轮廓。 (a) 样本 1 关键点 匹配算法 GAN DCGAN WGAN 本文方法 关键点 匹配算法 GAN DCGAN WGAN 本文方法 (b) 样本 2 第 6 期 姜义,等:基于生成对抗网络的人脸口罩图像合成 ·1077·