基于对抗学习和类颜色空间的视频虚假人脸检测方法
技术领域:
本发明涉及视频虚假人脸检测的方法。
现有技术:
近年来,我国人脸身份认证技术发展突飞猛进,在门禁、安防以及金融等领域广泛应用。但是,人脸身份认证技术在给我们生活提供便捷的同时,也存在被攻击的严重安全隐患。人脸伪装是最有效且低成本地欺骗人脸识别算法的手段,具体的实现方法是利用用户的照片、视频、3D面具等伪装成本人欺骗(攻击)人脸识别系统。因此,针对虚假人脸(facespoofing)攻击的检测技术具有重要研究意义。目前,现有虚假人脸检测方法在已有数据集上获得了较好结果,但随着打印设备和显示设备的性能不断提高,虚假人脸的欺骗手段越来越高明,特别是日益发展的对抗学习技术为高逼真度的虚假人脸攻击提供了技术支撑,在现实场景中人脸攻击检测方法面临的挑战性不断增加。因此,面向对抗样本的虚假人脸检测成为亟需解决的问题。
文献1“Face anti-spoofing using patch and depth-based CNNs[C].2017IEEE International Joint Conference on Biometrics(IJCB),2017:319-328.”提出了一种视频虚假人脸检测方法。此方法首先对人脸图像分别提取其分割图块和预测其深度图,然后利用神经网络计算图块的虚假度,再利用特征提取器和支持向量机进行真假分类,最后将图块的虚假度和支持向量机的分类结果融合计算得到分类结果,最终在现有实验室数据中获得了优异的性能。
发明目的:
由于现有方法在现实场景中对利用对抗学习技术构建的视频虚假样本检测效果较差,本发明提出了一种对抗学习和类颜色空间的视频虚假人脸检测方法,通过对抗学习和构建类颜色空间优化对利用对抗学习技术构建的更逼真视频虚假人脸图像检测效果。
发明内容:
本发明是一种基于对抗学习的视频虚假人脸检测方法。发明流程如附图1所示,分为四个主要部分:数据预处理、对抗样本构建、自适应类颜色空间计算、特征提取与检测。首先,利用数据预处理将人脸图像进行归一化表达;其次,利用多种对抗攻击方法构建对抗数据集,以训练深度模型;然后,面向虚假人脸检测任务,构建自适应类颜色空间;最后,构建深度网络提取特征,并进行真假脸检测。
1、数据预处理:
对于宽度和高度分别为w和h的RGB人脸图像I(x,y),x=1,2,…,w,y=1,2,…,h,归一化为宽和高均为l的RGB人脸图像。
2、对抗样本构建:
1)基于FGM方法生成对抗样本:
利用文献2“Goodfellow Ian J,Shlens Jonathon,SzegedyChristian.Explaining And Harnessing Adversarial Examples[J].stat,2015,1050:20.”中FGM方法对图像I进行变换,由图像I生成对抗样本Iadv-FGM,可由公式(1)计算得到:
Iadv-FGM=I+radv-FGM (1)
其中radv-FGM是指利用FGM方法构建出的对抗扰动,其宽度和高度分别为w和h,可由公式(2)计算得到:
radv-FGM=ε1·Ig/‖Ig‖2 (2)
其中ε1是限幅常数;Ig是损失函数在样本I处的梯度,可由公式(3)计算得到:
其中
表示对I求梯度的算子;L(·)为损失函数,由神经网络学习得到;I
y为损失函数在样本I处的值;θ为损失函数的参数。
2)基于BIM方法生成对抗样本:
利用文献3“Kurakin Alexey,Goodfellow Ian,Bengio Samy.Adversarialexamples in the physical world[J].Artificial Intelligence Safety andSecurity,2018,:99-112.”中BIM方法由图像I生成对抗样本Iadv-BIM,可由公式(4)计算得到:
其中
是指初始的样本,可由公式(5)计算得到;N为迭代次数,通常最多迭代4次;r
adv-BIM是指利用BIM方法构建出的对抗扰动,其宽度和高度分别为w和h,可由公式(6)计算得到:
radv-BIM=ε2·Ig/‖Ig‖2 (6)
其中ε2是限幅常数;‖·‖2是二范数运算符;Ig是损失函数在样本I处的梯度,可由公式(3)计算得到。
3)基于deepfool方法生成对抗样本:
利用文献4“Moosavi-Dezfooli Seyed-Mohsen,Fawzi Alhussein,FrossardPascal.Deepfool:a simple and accurate method to fool deep neural networks[C].Proceedings of the IEEE conference on computer vision and patternrecognition,2016:2574-2582.”中提出的deepfool方法由图像I生成对抗样本Iadv-d,可由公式(7)计算得到:
其中,
表示为使I被预测的标签发生改变,需要施加的使‖r
adv-d‖
2取得最小值的r
adv-d,可由公式(8)计算得到:
其中,
表示分类器对I预测的标签;r
adv-d表示对I施加的扰动;s.t.表示约束条件,即在满足后式的条件下求取前式。
4)对抗样本集的构建:
在现有的公用数据集基础上,根据步骤1)到3)可得到基于FGM、BIM和deepfool方法的对抗样本,将其中由现有数据集的训练集部分构建得到的对抗样本混合在一起,从其中随机选取μ的样本,再与原样本混合,构成最终的对抗样本集。其中μ为选择比。
3、自适应类颜色空间构建:
对于宽度和高度分别为w和h的RGB人脸图像I(x,y),x=1,2,…,w,y=1,2,…,h;
1)计算色相通道图:
图像I在HSV颜色空间中的色相(Hue)分量图IH,可由公式(9)计算得到:
其中,IR,IG和IB分别表示图像I的R,G,B三个颜色分量,IH矩阵尺寸为w*h;
2)计算饱和度通道图:
图像I在HSV颜色空间中的饱和度(Saturation)通道图IS,可通过公式(10)计算得到:
其中max(·)为求最大值算子;min(·)为求最小值算子;IS矩阵尺寸为w*h;
3)计算蓝色-亮度色差通道图:
图像I在YCrCb颜色空间中的Cb(蓝色-亮度色差)通道图IC,可由RGB输入信号的B通道像素值与RGB信号亮度值之间的差值获得,通过公式(11)计算得到:
IC=-θ1*IR-θ2*IG+θ3*IB+b1 (11)
其中θ1、θ2、θ3为权重系数;b1为偏置量;IC矩阵尺寸为w*h;
4)计算蓝色-黄色色差通道图:
图像I的蓝色-黄色色差通道图Ib可通过公式(12)计算得到:
其中Y表示XYZ模式下颜色的Y分量,可由公式(13)计算得到;Z表示XYZ模式下颜色的Z分量,可由公式(14)计算得到;ε3为常系数;t为归一化系数;f(·)为校正函数,该函数由Gamma校正函数改进而来,计算公式如公式(15);Ib矩阵尺寸为w*h;
Y=θ4*IR+θ5*IG+θ6*IB (13)
Z=θ7*IR+θ8*IG+θ9*IB (14)
其中θ4、θ5、θ6、θ7、θ8、θ9、θ10为权重系数;b2为偏置量;h为门限值。
5)自适应类颜色空间构建:
根据步骤1)到4)可获得4个尺寸为w*h的矩阵IH',IS',IC',Ib',将它们级联在一起并进行线性变换,可得到面向虚假人脸检测任务的、自适应类颜色空间下的人脸图像(IH',IS',IC',Ib'),线性变换的过程如公式(16):
其中wij为权重矩阵的元素。由神经网络的重构层训练数据集得到。IH',IS',IC',Ib'的矩阵尺寸均为w*h。卷积神经网络结构如附图2。
3、特征提取与检测:
1)自适应特征提取:
经过步骤1、2后,可得到自适应类颜色空间下的人脸图像(IH',IS',IC',Ib'),在此基础上进一步利用卷积神经网络对训练数据(IH',IS',IC',Ib')进行训练得到自适应的特征提取器,对训练数据进行特征提取得到特征图F。卷积神经网络结构如附图2。
2)检测:
经过步骤1)获得特征图F,进一步利用卷积神经网络对训练数据(IH',IS',IC',Ib')进行训练得到自适应的检测器,将F映射为一维特征向量后进行真假脸类别分类,得到检测结果。
3)模型训练
步骤1)和2)所得的特征提取器和分类器即为对应的卷积神经网络模型。
有益效果:
本发明使用虚假人脸检测领域公共数据集OULU-NPU进行对抗数据集构建和测试。通过计算本发明在整个数据集上的准确率(Accuracy,ACC)、半错误率(Half Total ErrorRate,HTER)和等错误率(Equal Error Rate,EER)来衡量本发明算法的有效性。本发明在OULU-NPU数据库上性能较文献1方法有较大提升。具体表现为ACC指标提高了32.1%,HTER指标提高了29.3%,EER指标提高了32.6%。
附图说明:
图1本发明流程图。
图2本发明卷积神经网络结构图。
具体实施方式:
1、数据预处理:
对于宽度和高度分别为w和h的RGB人脸图像I(x,y),x=1,2,…,w,y=1,2,…,h,归一化为宽和高均为l的RGB人脸图像,l常取64。
2、对抗样本集构建
对于数据集中提取到的纯人脸图像I,首先构建出对应的对抗样本。具体步骤如下:
1)基于FGM方法生成对抗样本:
利用文献2“Goodfellow Ian J,Shlens Jonathon,SzegedyChristian.Explaining And Harnessing Adversarial Examples[J].stat,2015,1050:20.”中FGM方法对图像I进行变换,由图像I生成对抗样本Iadv-FGM,可由公式(17)计算得到:
Iadv-FGM=I+radv-FGM (17)
其中radv-FGM是指利用FGM方法构建出的对抗扰动,其宽度和高度均为64,可由公式(18)计算得到:
radv-FGM=ε1·Ig/‖Ig‖2 (18)
其中ε1是限幅常数,常取范围在0.001~0.1之间;Ig是损失函数在样本I处的梯度,可由公式(19)计算得到:
其中
表示对I求梯度的算子;L(·)为损失函数,由神经网络学习得到;I
y为损失函数在样本I处的值,由神经网络计算得到;θ为损失函数的参数,由神经网络计算得到。
2)基于BIM方法生成对抗样本:
利用文献3“Kurakin Alexey,Goodfellow Ian,Bengio Samy.Adversarialexamples in the physical world[J].Artificial Intelligence Safety andSecurity,2018,:99-112.”中BIM方法由图像I生成对抗样本Iadv-BIM,可由公式(20)计算得到:
其中
是指初始的样本,可由公式(21)计算得到;N为迭代次数,通常最多迭代4次;r
adv-BIM是指利用BIM方法构建出的对抗扰动,其宽度和高度均为64,可由公式(6)计算得到:
radv-BIM=ε2·Ig/‖Ig‖2 (22)
其中ε2是限幅常数,常取范围在0.001~0.1之间;‖·‖2是二范数运算符;Ig是损失函数在样本I处的梯度,可由公式(19)计算得到。
3)基于deepfool方法生成对抗样本:
利用文献4“Moosavi-Dezfooli Seyed-Mohsen,Fawzi Alhussein,FrossardPascal.Deepfool:a simple and accurate method to fool deep neural networks[C].Proceedings of the IEEE conference on computer vision and patternrecognition,2016:2574-2582.”中提出的deepfool方法由图像I生成对抗样本Iadv-d,可由公式(23)计算得到:
其中,
表示为使I被预测的标签发生改变,需要施加的使‖r
adv-d‖
2取得最小值的r
adv-d,可由公式(24)计算得到:
其中,
表示分类器对I预测的标签;r
adv-d表示对I施加的扰动;s.t.表示约束条件,即在满足后式的条件下求取前式;min(·)表示求最小值算子。
4)对抗样本集的构建:
在现有的公用数据集基础上,根据步骤1)到3)可得到基于FGM、BIM和deepfool方法的对抗样本,将其中由现有数据集的训练集部分构建得到的对抗样本混合在一起,从其中随机选取μ的样本,再与原样本混合,构成最终的对抗样本集。其中μ为选择比,通常取值1/10。
3、针对虚假人脸检测的自适应类颜色空间构建
1)计算色相通道图:
图像I在HSV颜色空间中的色相(Hue)分量图IH,可由公式(25)计算得到:
其中,IR,IG和IB分别表示图像I的R,G,B三个颜色分量,IH矩阵尺寸为64*64;
2)计算饱和度通道图:
图像I在HSV颜色空间中的饱和度(Saturation)通道图IS,可通过公式(26)计算得到:
其中max(·)为求最大值算子;min(·)为求最小值算子;IS矩阵尺寸为64*64;
3)计算蓝色-亮度色差通道图:
图像I在YCrCb颜色空间中的Cb(蓝色-亮度色差)通道图IC,可由RGB输入信号的B通道像素值与RGB信号亮度值之间的差值获得,通过公式(27)计算得到:
IC=-θ1*IR-θ2*IG+θ3*IB+b1 (27)
其中θ1为权重系数,常取0.148;θ2为权重系数,常取0.291;θ3为权重系数,常取0.439;b1为偏置量,常取128;IC矩阵尺寸为64*64;
4)计算蓝色-黄色色差通道图:
图像I的蓝色-黄色色差通道图Ib可通过公式(28)计算得到:
其中Y表示XYZ模式下颜色的Y分量,可由公式(29)计算得到;Z表示XYZ模式下颜色的Z分量,可由公式(30)计算得到;ε3为常系数,常取200;t为归一化系数,常取255;f(·)为校正函数,该函数由Gamma校正函数改进而来,计算公式如公式(31);Ib矩阵尺寸为64*64;
Y=0.2126*IR+0.7122*IG+0.0752*IB (29)
Z=0.0193*IR+0.1192*IG+0.9505*IB (30)
其中θ4为权重系数,常取0.2126;θ5为权重系数,常取0.7122;θ6为权重系数,常取0.0752;θ7为权重系数,常取0.0193;θ8为权重系数,常取0.1192;θ9为权重系数,常取0.9505;θ10为权重系数,常取7.787;b2为偏置量,常取4/29;h为门限值,常取0.008856。
5)自适应类颜色空间构建:
根据步骤1)到4)可获得4个尺寸为w*h的矩阵IH',IS',IC',Ib'。,将它们级联在一起并进行线性变换,可得到面向虚假人脸检测任务的、自适应类颜色空间下的人脸图像(IH',IS',IC',Ib'),线性变换的过程如公式(32):
其中wij由卷积神经网络的重构层训练数据集得到。重构层由一层网络构成,通过对卷积神经网络目标函数关于wij求偏导确定最优的wij。IH',IS',IC',Ib'的矩阵尺寸均为64*64。卷积神经网络结构如附图2。网络各层的核函数、窗函数和激活函数的设置情况如表1所示。
表1卷积神经网络各层的核函数、窗函数和激活函数的设置情况
网络层名称 |
核函数/窗函数大小 |
激活函数 |
Conv1 |
3×3 |
ReLU |
Conv2 |
3×3 |
ReLU |
Conv3 |
3×3 |
ReLU |
Pooling1 |
2×2 |
—— |
Conv4 |
3×3 |
ReLU |
Conv5 |
3×3 |
ReLU |
Pooling2 |
2×2 |
—— |
Dense1 |
—— |
ReLU |
Dense2 |
—— |
Softmax |
4、特征提取与检测:
1)自适应特征提取:
经过步骤1到3后,可得到自适应类颜色空间下的人脸图像(IH',IS',IC',Ib'),在此基础上进一步利用卷积神经网络对训练数据(IH',IS',IC',Ib')进行训练得到自适应的特征提取器,对训练数据进行特征提取得到特征图F。卷积神经网络结构如附图2,各层核函数、窗函数和激活函数的设置情况如表1。
2)检测:
经过步骤1)获得特征图F,进一步利用卷积神经网络对训练数据(IH',IS',IC',Ib')进行训练得到自适应的检测器,将F映射为一维特征向量后进行真假脸类别分类,得到检测结果。卷积神经网络结构如附图2,各层核函数、窗函数和激活函数的设置情况如表1。
3)模型训练
步骤1)和2)所得的特征提取器和分类器即为对应的卷积神经网络模型。