【技术领域】
本发明涉及人脸图像识别领域,特别是一种基于深度学习和迁移学习的人证识别训练方法。
背景技术:
在图像识别领域,深度学习技术已被无数事实证明是目前最有效的手段。人脸识别是图像识别的一个分支,使用人脸验证算法可全自动对两张人脸照片进行验证,判别是否为同一人。这种方式可用于互联网金融等多个场景下的用户人脸身份核实,判断身份证是否属于持证人。但是,深度学习的最大问题是需要非常巨大的样本来进行模型的训练,而身份证照片的数据集相对缺乏,难以通过深度学习的方法训练出准确的人证识别模型。
技术实现要素:
为了解决上述问题,本发明提供了一种基于深度学习和迁移学习的人脸算法模型训练方法,先在大库容样本的纯人像数据集上训练卷积神经网络,得到预训练模型,然后此基础上,通过迁移学习,在人证数据集(人像和身份证照片的数据集)进行再训练得到最终模型,有效地解决了如何使用较少人证训练样本,训练出高准确率的人证识别模型的问题。
本发明所述的一种基于深度学习和迁移学习的人脸算法模型训练方法,包括以下步骤:
步骤1:在收集的大库容样本的纯人像数据集上,采用卷积神经网络进行训练,得到预训练模型,其中,卷积神经网络模型依次包括训练数据层、卷积层、激活层、池化层、全连接层和损失层;
步骤2:以步骤1的预训练模型为训练起点,采用迁移学习,拷贝步骤1中全连接层之前的网络参数,在人证数据集上重点训练人证卷积神经网络的全连接层和损失层,得到最终模型。
由于人证数据集样本少,直接针对人证数据集进行卷积神经网络训练时,很难训练出效果很好的网络模型,而人像数据集样本多,且人像数据集和人证数据集都是包含人脸的图片集,学习任务都是人脸识别,所以可以用迁移学习。因此,为了提高人证人脸识别的准确率,先在人像数据集上训练卷积神经网络,再将预训练模型的数据层、卷积层、激活层、和池化层参数拷贝到人证卷积神经网络中,重点训练人证卷积神经网络的全连接层和损失层。
作为一种技术方案,所述的数据层的训练包括以下步骤:
s1:人脸检测:输入一张包含人脸的图片,采用级联结构和多层神经网络去检测人脸所在位置;
s2:关键点定位:根据检测到的人脸,采用由粗到精的自编码器网络提取到5个关键点:左眼中心、右眼中心、鼻尖、左嘴角和右嘴角;
s3:人脸预处理:利用s2步骤中检测到的5个关键点与5个给定的标准关键点的相似变换,对齐s1步骤中检测的人脸图像,且对齐后的图像具有相同尺寸。
作为一种技术方案,所述的卷积神经网络训练的损失函数采用的是softmaxloss和centerloss,计算公式是:
其中,
作为一种技术方案,所述的步骤2中,将全连接层之前的各层的学习速率设为0或者减小全连接层之前的各层的学习速率。因为全连接层之前的各层参数是具有泛化能力的,以很小的学习速率或者不需要再训练,而全连接层和损失层是需要重新训练以提取人证数据集的特定特征。
作为一种技术方案,将根据步骤1得到的预训练模型用人脸识别国际权威的评测集进行比对,所述的评测集包括lfw和megaface。针对训练好的模型,通过与人脸识别国际权威的评测集进行比对,可进一步保证预训练模型的准确率。
综上所述,本发明的有益效果在于,基于深度学习和迁移学习,在大库容样本的纯人像数据集上进行卷积神经网络训练,并在得到的训练结果的基础上,用人证数据集进行微调,得到了准确率较高的人证识别模型,解决了人证数据集样本较少,不能直接适用深度学习的问题。
【附图说明】
图1为本发明实施例1的总体流程图
图2为本发明实施例1的人像数据集的卷积神经网络训练流程图
图3为本发明实施例1的迁移学习流程图
【具体实施方式】
实施例1
如图1所示,本发明提供的一种基于深度学习和迁移学习的人脸算法模型训练方法,首先在大库容样本的纯人像数据集上训练卷积神经网络,如图2所示,包括如下步骤:
1、人脸检测:输入一张包含人脸的图片,采用级联结构和多层神经网络去检测人脸所在位置;
2、关键点定位:根据检测到的人脸,采用由粗到精的自编码器网络提取到5个关键点:左眼中心、右眼中心、鼻尖、左嘴角和右嘴角;
3、人脸预处理:利用步骤2中检测到的5个关键点与5个给定的标准关键点的相似变换,对齐步骤1中检测的人脸图像,且对齐后的图像具有相同尺寸;
4、网络训练:采用卷积神经网络进行训练,损失函数采用的是softmaxloss和centerloss,公式如下:
其中,
该卷积神经网络同时具有数据层、卷积层、激活层、池化层、全连接层和损失层,其中,通过步骤1~3可得到数据层;卷积层是对图像做卷积,从而隐式地从训练数据中提取特征;激活层加入非线性因素,提高了卷积神经网络的表达能力;池化层对特征映射面做下采样,主要是降维;全连接层在整个卷积神经网络中起到“分类器”的作用,特征也是在全连接层得到,它是一组固定长度的数字。
训练好人像数据集的卷积神经网络后,用人脸识别国际权威的评测集lfw进行比对测试,通过准确率测试后的预训练模型用于人证数据集的训练。
由于人像数据集和人证数据集都是包含人脸的图片集,学习任务都是人脸识别,所以可以用迁移学习,迁移学习流程如图3所示,具体做法是:
a、输入人证数据集,以人像数据集的预训练模型为训练起点;
b、将预训练模型的数据层、卷积层、激活层和池化层参数拷贝到人证卷积神经网络中,且将卷积层的学习速率设为0;
c、训练人证卷积神经网络的全连接层和损失层,得到最终模型。