1.一种基于特征空间约束的人脸欺骗检测方法,其特征在于:包括以下步骤:S1:对摄像头采集的训练集视频数据进行分帧采样;
S2:对分帧采样的人脸数据进行预处理;
S3:将预处理后的图像进行标签标注并输入到卷积神经网络进行特征提取;
S4:对提取的特征进行空间约束;所述步骤S4包括以下步骤:
对经过神经网络最后一个全连接层得到的特征向量进行特征约束,利用欧氏距离约束其中Lbatch_in(Xa,Xb)为类内损失,Xa,Xb是同一类别中的两个样本,M是单个batch的样本总数, 表示网络框架最后一个全连接层得到的特征图;
其中Lbatch_out(Xi,Xj)为类间损失,Xi,Xj是不同类别中两个样本,M是单个batch的样本总数, 表示网络框架最后一个全连接层得到的特征图;
对从每个batch中随机获取两个数据,对这两个数据进行标签判断,如果标签相同,将两个数据做欧氏距离,值叠加到Lbatch_in上,如果这两个数据标签不同,同样对两个数据做欧氏距离,将值叠加到Lbatch_out上,然后在每个batch上将叠加的类内损失Lbatch_in和叠加的类间损失Lbatch_out做差,值作为整个batch上的损失,最后在每轮迭代中将多个batch上的损失进行叠加作为总叠加损失函数;
每个batch上的损失函数定义为
Lbatch_loss(Xa,Xb,Xi,Xj)=Lbatch_in(Xa,Xb)‑Lbatch_out(Xi,Xj)Lbatch_in(Xa,Xb)是单个batch上类内损失函数的和,Lbatch_out(Xi,Xj)是单个batch上类间损失函数的和;
整个训练集上总叠加损失函数,即总成对损失函数,定义为
Lbatch_loss(Xa,Xb,Xi,Xj)为单个batch上的损失函数,K为训练集划分的batch数目;
网络框架的总损失函数定义为
L总loss=Lloss+Lanti‑spoof
Lloss是网络模型在训练集上的总成对损失,Lanti‑spoof是网络模型的交叉熵损失,为yi表示样本i的标签,活体样本为1,欺骗样本为0,pi表示样本i预测为活体的概率,N为训练集中样本总数;
利用损失函数最小化调整网络模型训练学习的权值参数,获得训练后的人脸欺骗检测网络模型;
S5:进行模型训练,得到用于人脸欺骗检测的Softmax模型分类器;
S6:采集测试集并将待测试的数据进行步骤S1和步骤S2的处理;
S7:将测试集预处理的数据输入上述得到的Softmax模型分类器中判断数据人脸的活体真假。
2.根据权利要求1所述的基于特征空间约束的人脸欺骗检测方法,其特征在于:所述步骤S1中,采用数据集CASIA‑FASD、MSU‑MFSD、REPLAY‑ATTACK作为采集的图像数据,并将其中的训练集数据作为本方法的训练集,测试集数据作为本方法的测试集,并对训练集中的视频数据进行分帧采样,产生具有活体人脸和欺骗人脸图片的训练数据集。
3.根据权利要求1所述的基于特征空间约束的人脸欺骗检测方法,其特征在于:在步骤S2中,所述预处理包括颜色空间转换、人脸检测、人脸分割和图像归一化处理;
所述颜色空间转换:利用opencv分帧采样的图片是(B,G,R)颜色通道顺序,而步骤S3中所述的卷积神经网络模型是针对(R,G,B)图像进行训练的,在网络训练之前,需先要将数据集中BGR数据图片进行颜色空间转换得到RGB数据图片;
所述人脸检测:对图像颜色空间转换得到的人脸图像样本,采用基于Haar特征的Adaboost算法检测得到图像中的人脸区域;
所述人脸分割:将人脸检测所检测到的人脸区域进行定比扩展,截取128×128尺寸的人脸区域图像;
所述图像归一化:将人脸分割截取的人脸图像像素值归一化到0‑1区间上。
4.根据权利要求1所述的基于特征空间约束的人脸欺骗检测方法,其特征在于:步骤S3具体包括以下步骤:S31:构建卷积神经网络模型:
所述卷积神经网络包括5个卷积块、3个全连接层以及一个Softmax层;每个卷积块中包含三个卷积层,一个归一化层,一个激活层,一个池化层,激活层激活函数采用Relu函数;所述归一化层用于保证卷积神经网络在输出数值时稳定,防止梯度消失;输入图像的大小为
128×128,包括(R,G,B)三个通道,网络框架中所有卷积层的卷积核均为3*3大小,卷积步长为1,所有池化层都是采用最大池化,且池化区域大小为2*2,池化步长设置为2,每次以32帧为一个小批量,第一个卷积块的输入是128×128×3的图像数据;第一个卷积块有32个卷积核,第二个卷积块有64个卷积核,第三个卷积块有128个卷积核,第四个和第五个卷积块有
256个卷积核,三个全连接层都具有4096个神经元,且每个全连接层前都设置一个Dropout层,第一个全连接层与第五个卷积块得到的特征图是全连接状态,第二个全连接层与第一个全连接层是全连接状态,第三个全连接层与第二个是全连接状态,最后一层是Softmax分类层,具有两个神经元,这两个神经元得到的结果分别对应人脸图像在真实人脸和欺骗人脸的二分类上的概率分布;
S32:将预处理后的图像进行标签标注,具体为:
将图像数据转换成网络可读的文件类型并标签标注,真实人脸对应1,欺骗人脸对应0,将标注好的数据添加到数据集合中,图像数据,标签标注一一对应;将训练集进行划分为多个batch,每个batch具有32张图片的数据,即batchsize为32;
S33:将构建好的网络在VGG‑face数据集上进行预训练,进行参数初始化,防止模型在大数据集上训练过拟合;
S34:使用划分好的多个batch进行网络训练,设置初始学习率为0.0001,每1000步衰减一半,使用Adam优化器,网络训练过程进行20轮迭代。
5.根据权利要求1所述的基于特征空间约束的人脸欺骗检测方法,其特征在于:步骤S5中所述模型训练包括:给Softmax设置阈值,单张图片数据的结果分数大于阈值的表示为活体人脸,小于阈值的表示为欺骗人脸,通过训练网络模型,多次迭代优化直到人脸欺骗检测网络收敛,直至迭代收敛,人脸欺骗检测正确率的迭代标准达到最高值,获得人脸欺骗检测卷积神经网络模型并保存网络训练模型,训练结束。
6.根据权利要求1所述的基于特征空间约束的人脸欺骗检测方法,其特征在于:在步骤S6中具体包括以下步骤:S61:将测试集中的视频数据进行分帧采样,产生具有活体人脸和欺骗人脸图片的测试数据集;
S62:将测试集数据进行同步骤S2的预处理,所述预处理包括颜色空间转换、人脸检测、人脸分割和图像归一化处理。
7.根据权利要求1所述的基于特征空间约束的人脸欺骗检测方法,其特征在于:在步骤S7中,将预处理的测试集数据送入步骤S5训练的网络模型分类器,判断测试数据是活体人脸还是欺骗人脸;另外,统计测试集中每个原始视频分帧产生的人脸图像中活体人脸与欺骗人脸的个数,数量多的作为原始视频的标签分类结果,以作为实时性摄像头采集人脸的欺骗检测结果。