APP下载

一种轻量化EfficientNetV2换脸检测的方法

2022-12-21

信息记录材料 2022年10期
关键词:轻量化注意力次数

李 昂

(1福建师范大学计算机与网络空间安全学院 福建 福州 350007)

(2数字福建大数据安全技术研究所 福建 福州 350117)(3福建省公共服务大数据挖掘与应用工程技术研究中心 福建 福州 350117)

0 引言

随着深度学习技术的完善与发展,为人们带来便利同时也会相应的带来一定的风险。尤其是换脸技术的不断升级改进,换脸方法所需的技术门槛越来越低,而生成的假脸则越来越逼真。因此为了达到更好的检测精度,检测模型不得不加深网络架构,增加更多的参数量以获得更好的准确率,但又会导致模型复杂性过高,网络运算效率降低等一系列问题。

现如今换脸检测算法网络模型复杂和参数冗余的问题是普遍存在的,大多的换脸检测模型依靠重复堆叠网络模块,或大量引入残差结构,运行效率较低。故部分换脸检测模型为了优化网络模型,提高训练速度,通过研究轻量级网络来解决这个问题。现如今一些方法虽然降低了模型的复杂度,减轻模型的计算负载,但所得到的检测效果都不尽人意。

而本文基于EfficientNetV2网络,对其进行轻量化改进,从而提高了模型的检测效率。首先,将原网络注意力机制SENet模块改进为高效通道注意力模块(efficient channel attention,ECA),可使一维卷积自适应地确定卷积核的大小,降低了网络模型的复杂度[1]。其次对网络架构进行优化,将原始EfficientNetV2特征提取模块中的各个stage的卷积层数进行调整,简化了网络模型架构,提高了网络的运行速率。最后,通过实验对比分析其他的网络模型,验证改进后模型的性能效果。

1 轻量化EfficientNetV2网络模型

1.1 EfficientNetV2网络模型

EfficientNetV2[2]模型是Google团队在CVPR2021上提出的对EfficientNet模型的升级版本。EfficientNetV2模型相比较于EfficientNet,它拥有更高的性能和更短的训练周期。EfficientNetV2分为Stage0到Stage7。第0个Stage是一个卷积核大小为3×3步距为2的普通卷积层,之后的Stage1~Stage3和Stage4~Stage6分别是在重复堆叠Fused-MBConv和MBConv结构,而Stage7由一个普通的1x1的卷积层。EfficientNetV2模型在Stage4~Stage6中都使用了通道注意力机制,即SE(Squeeze-and-Excitation)压缩-激励模块[3]。

1.2 提出的轻量化EfficientNetV2模型

针对上述情况,本文从通道注意力机制SE模块和各阶段堆叠次数对EfficientNetV2进行优化,提出的轻量化EfficientNetV2网络结构如图1所示。

图1 本文提出的轻量化EfficientV2网络模型

一方面,EfficientNetV2模型在Stage4~Stage6中使用的通道注意力机制是SE模块,其全局平均池化层和两个全连接层构成的残差结构产生的冗余的参数量会增加网络的计算负担。针对这种情况,本文采用更加轻量化的注意力机制高效通道注意力模块ECA来代替SE模块,减少了模型参数量和提升网络的运算效率。

另一方面,上述网络每个阶段的堆叠次数随着网络层数的加深大致呈指数型增长,影响了网络模型的计算速度,还有可能导致梯度消失的问题。本算法重新定义网络各阶段重复堆叠的次数减少各阶段网络堆叠次数,在保证网络准确率的情况下实现网络的轻量化改造。

1.3 ECA模块

在EfficientNetV2网络中,通道注意力机制使用了SENet,是在CVPR2017上首次被提出的,其中心思想是动态调节特征矩阵各层的重要程度,但SENet不利于网络模型的轻量化,影响了网络模型的计算速度还有可能导致梯度消失的问题。

ECA(Efficient Channel Attention)高效通道注意力模块正是一种不降维的局部跨信道交互策略,其通过非线性自适应确定的一维卷积来实现。因此本文使用ECA模块既避免了维度缩减,又有效捕获了跨通道交互。如图2所示,ECA模块去掉了SE模块的2层全连接层,采用一维卷积。实验证明,这种方法可以保证运算效率和检测准确性。此外,ECA模块可以通过大小为k的快速一维卷积有效实现,其中内核大小k代表本地跨通道交互的覆盖范围。

图2 ECANet模块结构示意图

本文将注意力机制 SE模块改进为 ECA模块,既避免降维导致的副作用,提高了网络模型的精度,同时大大减少了参数量,简化了网络模型架构,提高了网络的运行速率,实现网络轻量化的构想。

1.4 模型优化

在EfficientNetV2网络中,随着网络深度的增加,每层的重复堆叠次数大致呈指数型增长,其会大大减慢训练和测试过程。故本节重新定义EfficientNetV2每个阶段的重复次数。在原网络中,Stage1~Stage6中Fuse-MBconv(MBConv)的重复次数为[2,4,4,6,9,15],而本文将每阶段的重复次数调整为[1,2,1,3,3,6]。

原网络层数复杂,所消耗的计算资源多。因此对原网络的简化,保留了网络中的核心架构,减少了网络参数,简化了计算量同时也能达到很好的分类检测效果。

2 实验结果

本节首先介绍了实验数据集,其次是实验环境和实验参数的设置,最后分析模型的效果,并与修改前的网络和现有换脸检测方法做对比。

2.1 实验数据集

本文所使用的数据集是FaceForensics++(FF++)[4],包含1000段来自于YouTube上的真实视频,基于DeepFakes,Face2Face,FaceSwap,FaceShifter,NeutralTextures五种篡改方式进行面部图像的篡改合成。此外为了生成质量等级不同的视频,其使用由两种不同压缩率,即高质量HQ(c23)和低质量LQ(c40)。本文选取了DeepFakes、Face2Face、FaceSwap、FaceShifter、NeutralTextures五种篡改方式的数据集作为本实验的数据集,将每段视频取30帧的方式得到实验样本的数据集。

2.2 实验环境及参数

本文实验使用CPU为Intel(R) Xeon(R) Silver 4210R CPU @ 2.40GHz,显卡为NVIDIA GeForce RTX 3080,CUDA版本为11.5。深度学习框架使用pytorch,版本为1.10.0。为提高模型分类精度和训练效率,本文实验的损失函数为CrossEntropyLoss,采用Adam优化器进行优化,学习率为3e-4,每次实验训练200轮,实验采用准确率(Acc)作为评价指标。

2.3 实验结果

2.3.1 改进后的参数量的变化

本小节将提出的网络与原EfficientNetV2网络在参数量方面进行比较,通过实验可知:EfficientNetV2、只使用ECA模块、只简化每个阶段stag和简化每个阶段Stage&ECA模块的参数量分别为20.78 M、17.12 M、8.67 M和7.32 M。从结果来看,不管是简化每个阶段的重复次数还是用ECA模块替换原SENet,在网络参数上都有了明显的减少,三种方法的参数量较原模型分别减少了17.61%、58.28%和64.78%,提高了运算速度,符合本文轻量化网络的目的。

2.3.2 ECA模块

在本节,我们将只替换ECA模块得到的网络结构与EfficientNetV2在FaceForensice++(FF++)数据集的5种篡改类型上的每轮训练所需要的平均时间(秒)和检测准确率进行比较,结果图3所示。

图3 在基于c23和c40的五种篡改方式数据集上训练一轮所需时间的对比(0:Deepfakes 1:Face2Face 2:FaceShifter 3:FaceSwap 4:NeuralTextures)

在原EfficientNetV2模型基础上将SE模块修改为ECA,在训练时间上发生了显著的变化。首先对于5种篡改方式,在训练时间上都有显著的缩短,整体上大约下降了6.17%,在提高网络模型的运算效率方面有了显著的改善。因此,这项实验证明了本文的想法在提高网络效率,构造轻量化网络模型方向上是可行的。

此外,在原EfficientNetV2模型基础上将SE模块修改为ECA,在准确率Acc方面表现不俗,除了FaceSwap和NeuralTextures在c40上准确率Acc略微下降外,其余的准确率都有上升。具体如表1所示:

表1 与EfficientNetV2准确率的对比

2.3.3 与其他模型的比较

将本文方法与其他方法在FaceForensice++压缩率为c40的低质量数据集上的4种篡改类型上的检测准确率进行比较,结果如表2所示。对比实验结果如下:

表2 与其他方式对比实验结果

实验结果表明:在仅使用ECA模块的模型(Ours1)和简化每个阶段Stage并且使用ECA模块的模型(Ours2)上,虽在FaceSwap和NeuralTextures两种篡改方式上准确率略微下降,而在DeepFakes和Face2Face的篡改方式上,准确率都有较为明显的提升,并且在综合所有篡改方式进行测试时,本文的两种模型都比EfficientNetV2模型有着较为明显的提升。更重要的是,两种模型的参数量比原模型分别减少了17.61%和64.78%,所需要的运算时间也大幅度提升。因此本文算法将EfficientNetV2轻量化改造后,模型的参数量和训练时间都大幅度降低,在保证检测准确度的情况下,能够更加高效的完成换脸检测任务,轻量化构想有效可行。

3 结论

本文基于EfficientNetV2网络,提出一种轻量化的换脸检测模型。首先,将注意力机制SE模块改进为ECA模块,减少了模型的参数量;其次,对网络架构进行优化,将原始EfficientNetV2特征提取模块中的各个stage(阶段)的卷积层数进行调整,简化了网络模型架构,提高了网络模型的运算效率。

猜你喜欢

轻量化注意力次数
让注意力“飞”回来
汽车轻量化集成制造专题主编
机场航站楼年雷击次数计算
2020年,我国汽车召回次数同比减少10.8%,召回数量同比增长3.9%
一类无界算子的二次数值域和谱
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计
“扬眼”APP:让注意力“变现”
依据“次数”求概率
A Beautiful Way Of Looking At Things