一种基于深度学习的人脸识别方法与流程

文档序号:20780248发布日期:2020-05-19 21:10阅读:1260来源:国知局
一种基于深度学习的人脸识别方法与流程

本发明涉及深度学习领域,特别是一种基于深度学习的人脸识别方法。



背景技术:

人脸识别,指对输入的图像或视频,检测出的人脸区域进行面部特征编码,进而依据人脸的面部特征进行身份识别的过程。主要过程分为人脸检测与对齐,人脸特征编码,人脸识别三个步骤。人脸识别作为非接触识别的有效方式,具有安全性,智能型,便利性。已作为身份识别的主要手段,被广泛应用于交通,公共安全,金融等诸多领域。目前,公知的人脸识别技术分为传统模式识别方法与基于深度学习的方法两个大类。传统识别方法主要有整体法,人工特征法和特征描述子方法。传统法识别速度快。数据依赖少,但是识别准确率低,鲁棒性小,不能满足大规模商用级别识别的要求。基于深度学习的方法多训练ann对人脸特征进行显示描述,描述后特征具有独特性和紧凑性,但现有深度学习方法受训练集影响大,在大规模识别与识别精度之间很难得到平衡,且随着数据量的增大,标注的难度也会随之增大。



技术实现要素:

有鉴于此,在机场监控的识别环境下,为了克服大规模人脸库录入精度和大规模数据集下训练精度的问题,本公开提出了一种基于深度学习的人脸识别方法。具体内容如下:

一种基于深度学习的人脸识别方法,包括以下步骤:

s1:获取包含人脸的图像;

s2:使用第一模型对所述图像的人脸进行检测;

s3:使用第二模型对s2中检测后的图像进行人脸预筛;

s4:根据预筛结果建立人脸数据集;

s5:使用所述人脸数据集对第三模型进行训练;

s6:使用训练好的所述第三模型进行人脸识别。

进一步的,所述s2使用第一模型对所述视频流中每一帧图像的人脸进行检测,包括:使用第一模型对所述图像的人脸区域进行提取并对齐。

进一步的,所述s2使用第一模型对所述视频流中每一帧图像的人脸进行检测,还包括:记录所述人脸的欧拉角和置信度。

进一步的,所述s3:使用第二模型对s2中检测后图像进行人脸预筛,包括:使用所述第二模型对所述检测后的图像提取特征,并与现有数据库做相似度比较,得到待选身份图片。

进一步的,所述与现有数据库做相似度比较,得到待选身份图片,包括:取相似度降序前n个身份作为待选身份,5≤n≤20。

进一步的,所述s5:使用所述人脸数据集对第三模型进行训练,包括:

s51:对所述人脸数据库的图片进行裁剪,使用所述第三模型对裁剪后的图像提取人脸特征;

s52:对提取的所述人脸特征进行损失计算;

s53:根据所述人脸数据库的关键点坐标计算欧拉角,并根据俯仰角更新损失。

进一步的,所述损失计算的函数为:

其中,s、m1、m2为参数常量;n为训练单批量容量,i为单个样本序号,范围为1至n;对于每个单个样本i而言,yi为其输入特征,j为该批次内除i样本外剩余样本的集合。

进一步的,所述根据俯仰角更新损失,计算公式为:

l1=w*x*l

其中w为欧拉角权重,x为欧拉角输入矩阵。

进一步的,所述s5:使用所述人脸数据集对第三模型进行训练,还包括:对所述损失进行最低阈值的判断,对于阈值小于当前损失的0.05倍的值进行抛弃。

本发明的有益效果在于:

本方法减少了大规模数据下纯人工入库可能造成的误检漏检问题,同时也减少了录入人员的工作量,且保证准确率的同时,加快预筛速度。构建深度神经网络模型对人脸图像进行训练,使非正面、俯视的人脸特征能够得到充分训练,减少重复图片干扰。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本发明一个实施例提供的人脸数据集建立流程图;

图2示出了本发明一个实施例提供的第三模型训练流程图。

具体实施方式

下面将参照附图更加详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本实施例给出了基于本算法对人脸识别的一种实施方式。

一种基于深度学习的人脸识别方法,如图1所示,首先建立人脸数据集,包括以下步骤:

s1:获取包含人脸的图像。

以机场监控视频作为输入,进行实时人脸抓取并保存图像至本地。初始化frcnn网络中非极大值抑制流程的阈值(0.7),单张图片最多检测人脸数(5),视频输入路数。

s2:使用第一模型对所述视频流中每一帧图像的人脸进行检测。

具体为:使用第一模型对所述图像的人脸区域进行提取并对齐,记录所述人脸的欧拉角和置信度。所述第一模型为frcnn(faster-r-cnn)网络模型,通过frcnn网络模型作为人脸检测器对视频流逐帧做人脸检测,若图像存在一个或多个人脸,保存经级联回归树(gbdt)对齐后的人脸图像和人脸关键点信息(双眼,鼻尖,嘴角共五点坐标)至本地,人脸关键点信息是为了后续获取欧拉角等做准备。

级联回归属于人脸对齐中的判别方法。人脸对齐的最终目的就是在已知的人脸方框(一般由人脸检测确定人脸的位置)上定位其准确地形状。

s3:使用第二模型对s2中检测后的图像进行人脸预筛。

预筛过程为:使用所述第二模型对所述检测后的图像提取特征,并与现有数据库做相似度比较,得到待选身份图片。取相似度降序前5个身份作为待选身份。具体为:所述第二模型为resrnet18-combineface模型,取s2第一模型检测后的图片集的极小子集(容量约为十分之一),对resrnet18-combineface进行训练,获得训练好的resrnet18-combineface模型对检测后的图像提取特征,并与现有数据库数据逐身份做余弦相似度比较,取相似度降序前n(本示例为5)个身份作为待选身份。

余弦相似度用向量空间中两向量夹角的余弦值作为衡量两个个体之间差异的大小。余弦值越接近1,表明两个向量的夹角越接近0度,则两个向量越相似。余弦相似度衡量的是2个向量间的夹角大小,通过夹角的余弦值表示结果,因此2个向量的余弦相似度为:

其中,a和b为向量。余弦相似度的取值为[-1,1],值越大表示越相似。

将arcface(附加角度裕度的损失函数,也称为insightface)和cosface(余弦余量)算法结合成为combineface。

采用resrnet18-combineface模型做预筛,克服了大规模人脸库录入精度的问题,并大大缩减了工作量。

s4:根据预筛结果建立人脸数据集。

人工对当前图片和待选身份图片进行身份确定,入库图片,身份信息以及关键点信息。

建立好数据集后,开始人脸识别训练流程,如图2所示,包括以下步骤:

s5:使用所述人脸数据集对第三模型进行训练。

s51:首先对模型进行初始化,指定训练过程中梯度下降方式为批次随机梯度下降,批次容量为128,学习率初始值为0.01,并加载训练数据(s2中第一模型检测后的图片集),对所述图片集的图片进行裁剪,保证人脸图像在112×112大小。所述第三模型为resnet50-combineface网络模型,将裁剪后的人脸图像数据集送入进resnet50-combineface网络模型中提取人脸特征。

s52:对提取的所述人脸特征进行损失计算。

根据combineface的损失函数公式计算基本损失:

其中,s、m1、m2为参数常量,n为训练单批量容量,yi为输入特征。s=0.9,m1=0.4,m2=0.15,序号为i的样本resnet50输出θi为512维归一化后向量,同批次其他样本θj也是,带入公式计算获得损失值。

s53:根据所述人脸数据库的关键点坐标计算欧拉角,并根据俯仰角更新损失。

l1=w*x*l

其中w为欧拉角权重,x为欧拉角输入矩阵。此举是为了增强模型对俯仰角的敏感度,使人脸不同的角度特征表达差异更明显。

训练过程还包括:

在训练初期,s541:利用随机梯度下降法更新网络模型的权重与偏置。

在训练末期,s542:对所述损失进行最低阈值的判断,对于阈值小于当前损失的0.05倍的情况,认为该数据易造成模型的过拟合,降低识别能力,因此对其进行抛弃,避免了大规模人脸识别后期拟合不均的问题。

s6:使用训练好的所述第三模型进行人脸识别。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1