基于定序神经网络模型的人脸识别方法及装置的制造方法

文档序号:10725638阅读:646来源:国知局
基于定序神经网络模型的人脸识别方法及装置的制造方法
【专利摘要】本发明公开一种基于定序神经网络模型的人脸识别方法及装置。该方法包括:对输入的人脸图像进行预处理操作,校正人脸图像的角度与表情;使用包含定序操作的神经网络提取已校正人脸图像/视频的特征;根据人脸图像的特征表达计算图像对间的相似度,从而得知输入人脸图像中特定对象的身份。本发明针对人脸识别问题中,基于神经网络的人脸识别模型参数多,计算开销大的问题,提出定序神经网络结构,通过不同特征间的定序表示有效地减少网络参数,节省计算时间;并针对训练数据较少的问题,提出了基于对比损失、三元组损失的训练方法。
【专利说明】
基于定序神经网络模型的人脸识别方法及装置
技术领域
[0001] 本发明涉及人工智能,模式识别,数字图像处理等技术领域,具体涉及一种基于定 序神经网络模型的人脸识别方法及装置。
【背景技术】
[0002] 作为生物特征识别技术的一种,人脸识别由于其非接触性以及采集方便的特点, 具有良好的发展和应用前景。人脸识别技术在诸多应用场景中都发挥了十分重要的作用, 比如机场安检,边检通关等。近几年随着互联网金融的高速发展,人脸识别技术在移动支付 上表现出极大的应用优势。人脸识别的目的是根据获取的用户人脸图像或视频得知用户的 身份。目前,人脸识别技术在室外非受控环境下仍无法满足实用要求,其主要难点在于光照 变化、用户姿态表情变化、年龄体型变化及遮挡。
[0003] 近年来,深度学习在机器视觉的众多领域都取得了令人瞩目的效果。其中最为瞩 目的模型当属卷积神经网络,该类模型使用多层卷积层与池化层,可以抽取图像或视频数 据中有效的层级化特征,实现较强的非线性表达。卷积神经网络在物体分类,动作识别,图 像分割以及人脸识别等领域,均取得了显著强于传统方法的效果。在一些低层视觉问题中, 比如图像去噪,图像超分辨率增强,图像去模糊等问题中,深度学习技术也都取得了不错的 效果。在人脸识别领域,基于神经网络与深度学习的人脸识别方法也由于其优异的性能而 备受关注,目前国内外领先的人脸识别算法大多基于深度学习模型。基于深度学习的人脸 识别方法通常分为两个步骤:首先使用神经网络模型对输入的人脸图像计算一个特征表 达;然后根据特征表达间的相似性得到人脸图像的。
[0004] 随着大数据时代的来临,我们需处理的数据规模往往非常大,人脸识别算法的速 度的高效性愈发重要。尤其是在移动支付领域,人脸识别算法的内存要求和速度直接影响 用户的等待时间。因此,目前迫切需要开发一种人脸识别算法,其可以在保证高识别率的同 时,满足轻量级、泛化性能高的要求。

【发明内容】

[0005] (一)要解决的技术问题
[0006] 为了解决提高人脸识别算法的准确率,同时保证识别算法的快速高效,本发明提 出了一种基于定序神经网络模型的人脸识别方法。使用定序神经单元,通过保持不同层级 特征间的定序关系挖掘出输入图像或视频中的有效特征。由于定序神经单元自身具备的特 征选择特性,使得包含定序神经单元的神经网络模型往往参数量较小,具备轻量级的特点, 从而保证了人脸识别算法较快的计算速度和较小的存储需求。
[0007] (二)技术方案
[0008] 本发明提出了一种基于定序神经网络模型的人脸识别方法,包括:
[0009] 步骤S1、读入输入的待识别图像,检测待识别图像中的人脸位置和关键点位置信 息;
[0010] 步骤S2、根据所述人脸位置信息和关键点信息对待识别图像进行预处理操作;
[0011] 步骤S3、将预处理后的待识别图像输入至定序神经网络模型中,得到待识别图像 的特征表达;
[0012] 步骤S4、计算待识别图像的特征表达与数据库中已知人脸图像特征的相似度,以 识别待识别图像。
[0013] 本发明还提出了一种基于定序神经网络模型的人脸识别装置,其特征在于,包括:
[0014] 输入模块,用于读入输入的待识别图像,检测待识别图像中的人脸位置和关键点 位置信息;
[0015] 预处理模块,用于根据所述人脸位置信息和关键点信息对待识别图像进行预处理 操作;
[0016] 特征获取模块,用于将预处理后的待识别图像输入至定序神经网络模型中,得到 待识别图像的特征表达;
[0017] 识别模块,用于计算待识别图像的特征表达与数据库中已知人脸图像特征的相似 度,以识别待识别图像。
[0018] 本发明针对人脸识别问题中,基于神经网络的人脸识别模型参数多,计算开销大 的问题,提出定序神经网络结构,通过不同特征间的定序表示有效地减少网络参数,节省计 算时间;并针对训练数据较少的问题,提出了基于对比损失、三元组损失的训练方法。本发 明采用的定序神经网络模型可用于图像视频分类、图像检索、人脸识别等诸多问题中,在保 证高准确率的同时,相比现有的神经网络模型的具备更少的网络参数,使得存储成本、计算 成本大大降低,更加适应于大数据场景下的各项任务。对于人脸识别,发明所采用的方法不 仅有效减少了神经网络模型的参数量,并能明显提升人脸表示的泛化能力,相比同等参数 量与计算时间的模型来说大幅度提高了人脸识别准确率。
【附图说明】
[0019] 图1是本发明中基于定序神经网络模型的人脸识别方法的方法流程图。
【具体实施方式】
[0020] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,并参照详 细附图,对本发明进一步详细说明。但所描述的实施例子仅旨在便于对本发明的理解,而对 其不起任何限定作用。
[0021] 图1是本发明提出的基于定序神经网络模型的人脸识别方法的方法流程图,如图1 所示,本发明提出的基于定序神经网络模型的人脸识别方法包括以下几个步骤:
[0022] 步骤S1、读入输入的人脸图像或视频,检测输入图像或视频帧中的人脸位置信息 和关键点位置信息;
[0023] 在一实施例中,根据所述输入的人脸图像或视频,应用图像识别算法检测人脸位 置信息,并根据所得人脸位置信息,应用图像识别算法获取人脸的关键点位置信息。其中, 人脸的关键点为预先定义的,如双眼、鼻尖、嘴轮廓、脸周轮廓等等。
[0024] 步骤S2、根据所述人脸位置信息和关键点位置信息对输入图像或视频帧中的人脸 图像进行预处理操作。所述预处理操作包括姿态校正和光线校正;
[0025]在一实施例中,所述姿态校正包括:确定标准脸的关键点位置和光照条件,然后根 据步骤S1获取的人脸位置信息和关键点信息将输入图像的人脸关键点位置对齐至标准脸 关键点位置,以达到校正人脸姿态的目的;其中,可预先定义标准脸的关键点位置和光照条 件,或直接使用在训练集上计算得到平均脸作为标准脸,然后确定其关键点位置信息和光 照条件标准脸;
[0026]在一实施例中,所述光线校正包括通过图像处理算法,将人脸图像的光照变换至 与标准脸一致。
[0027]姿态校正与光线校正的操作次数不限,且其先后顺序可互换。
[0028]步骤S3、将经过预处理后的人脸图像输入至定序神经网络模型中,得到人脸图像 的特征表达;所述定序神经网络模型预先经过训练得到。
[0029] 进一步地,所述步骤S3包括:
[0030] 步骤S3-1、训练一个用来从已经过预处理的人脸图像中计算特征表达的定序神经 网络模型。所述神经网络模型包含定序神经网络单元。定序神经网络单元是神经网络模型 中的一类激活函数。与深度学习中常用的sigm 〇i、ReLU等单输入单输出的激活函数不同,定 序神经网络单元采取多输入的形式,可获取多个输入间的定序表达。
[0031] 在一实施例中,所述定序神经网络单元的一个典型形式为:
[0032] YiJ - max(/,;/, Vi)
[0033] 其中分别为定序神经网络单元的两个输入,Y为定序神经网络单元的输出。i, j分别是输入、输出图像在两X,y个方向上的索引。从上式可看出,定序神经网络单元的最大 值操作是按位进行的,即输出图像每一位为各输入对应位的最大值。即该定序神经网络单 元的输出为对输入的一个定序表达。值得注意的是,式中的取最大值操作并非定序神经单 元的唯一操作形式,最大值操作还可替换为最小值、平均值、和差、积商等常见数学操作。定 序神经网络单元的输入也不限于两个,可以是多个输入的组合。即定序神经网络单元还可 扩展为以下形式:
[0039] 定序神经网络使用定序神经网络单元作为激活函数,可自动学习出输出对目标任 务有效的特征间的定序表达。
[0040] 具体的,步骤S3-1进一步包括:
[0041]使用softmax损失、对比损失和三元组损失作为目标函数训练一个人脸图像特征 提取模型,该网络的输入为标准大小的人脸图像X,输出为固定长度的人脸图像特征表达f (X)。
[0042]步骤S3-1-1、利用收集的训练数据,训练卷积神经网络分类模型,用来对训练样本 中的人脸图像分类。卷积神经网络分类模型的输出层即为一个分类器,其接受人脸图像特 征表达f(x)作为输入,输出值可用于计算输入图像的类别。对于具有N类的分类模型,网络 的输出具有N个节点。
[0043]该步骤中,利用softmax损失函数为代表的一系列分类损失函数作为优化目标,训 练得到人脸图像分类模型,其中softmax损失函数如下所示:
[0045]其中,N是类别数目;X是输入人脸图像;yeRNxl是表示人脸图像类别的类别向量, 若训练样本属于第i类,则类别向量y中仅有第i维为1,其他维均等于〇;炉代表神经网络学 到的分类器,代表神经网络在输出层第i个节点的输出。
[0046] S3-1-2:将步骤S3-1-1中已训练好的人脸图像分类神经网络模型作为预训练的模 型,使用对比损失(contrastive loss)和三元组损失(triplet loss)继续对神经网络模型 进行优化训练。
[0047]去除S3-1-1中训练得到模型的输出层,得到模型剩余层的输出f(x)即为人脸图像 的特征表达。
[0048]对比损失的优化目标为:
[0050] 其中f(x)为步骤S3-1-1中分类模型输出层的输入,即次末层的输出,为人脸图像 的特征表达。d(.)可为以L2距离、余弦距离为代表的一系列距离函数。训练过程中,可随机 组合训练集中的样本,构建类内样本对与类间样本对。Θ为控制类内类间距离差异的一个参 数,根据经验值进行设定。
[0051] 三元组损失的优化目标为:
[0052] L=max(d(f(xa),f(xp))_d(f(xa)+a,f(x n)),〇)
[0053] 其中f(x)为步骤S3-1-1中分类模型输出层的输入,即次末层的输出,为人脸图像 的特征表达。d(.)可为以L2距离、余弦距离为代表的一系列距离函数。#称为中心样本,#为 与中心样本,属于同一类的正样本, xn为与中心样本,属于不同类的负样本。a为控制类内 类间距离差异的一个参数,根据经验值进行设定。训练过程中,可在训练集合中随机挑选样 本作为中心样本,然后在剩余样本中选取与其同类/不同类的样本构建三元组。
[0054] 在一实施例中,步骤S3-1-2的训练过程中,筛选出难样本组合作为训练数据。难样 本筛选的具体步骤为:
[0055] 对于大容量训练集,随机生成二元组合和三元组,分别计算其对应的对比损失和 三元组损失,剔除损失值低于预设阈值的组合,仅保留损失值较大的一批训练样本组合送 入模型进行训练。
[0056] 对于小容量训练集,首先计算所有样本间的相似度。然后选取相似度最低的同类 样本作为难正样本,以及相似度最高的不同类样本作为难负样本,最后以筛选出的难正样 本与难负样本作为训练样本送入模型进行训练。
[0057]随着网络训练的进行,不断调整学习率并筛选难样本送入训练,直至训练损失不 再降低,从而得到最终的模型。
[0058] 步骤S3-2、使用步骤S3-1中训练得到的神经网络模型,将步骤S2中得到的预处理 后的人脸图像作为神经网络的输入,执行神经网络模型的前向计算,得到的神经网络模型 的输出即为输入人脸图像的特征表达。
[0059] 步骤S4、计算步骤S3得到的人脸图像特征与数据库中人脸图像特征的相似度,判 断输入人脸图像中的用户身份。
[0060] 实施案例:
[0061] 为了详细说明本发明的【具体实施方式】及验证本发明的有效性,我们将本发明提出 的方法应用于一个公开的人脸数据库一一LFW人脸数据库。该数据库包括5749个人,共 13233幅图像。
[0062]在我们的实施例中,我们采用LFW数据集的标准测试协议来证明本发明的有效性。 LFW数据集的标准测试协议由6000对人脸图像组成,其中包含3000对相同人的人脸图像以 及3000对不同人的人脸图像。
[0063] 具体步骤如下:
[0064] 训练过程:
[0065] 步骤S3-1,收集大量人脸图像作为训练数据,设计神经网络模型。特别地,我们所 使用神经网络模型包含4个卷积层与4个池化层,在每个池化层后将输出分为两组,连接最 大值操作的定序神经单元。根据步骤S3-1的顺序,使用softmax损失、对比损失与三元组损 失作为优化目标函数对模型进行训练。随着网络训练的进行,不断调整学习率并筛选难样 本送入训练,直至训练损失不再降低,从而得到最终的模型。
[0066] 测试过程:
[0067] 步骤S1,我们首先对所有输入图像进行人脸检测与关键点检测,得到所有输入图 像的人脸位置信息与关键点位置信息。
[0068] 步骤S2,根据上一步获取的人脸位置信息和关键点信息对人脸图像进行姿态校 正、光照平衡等预处理操作。具体地,对于LFW数据集,我们使用旋转和尺度缩放将输入人脸 图像校正至正面人脸。
[0069] 步骤S3,步骤S2得到的预处理后的人脸图像作为神经网络的输入,执行神经网络 模型的前向计算,得到6000对人脸图像的特征表达。
[0070] 步骤S4,计算6000对人脸图像的余弦距离作为其相似度。调整相似度阈值,即可得 到在各阈值下的正确通过率、误识率与识别率。
[0072 ]表1是本发明在LFW数据库上的识别准确率
[0073] 表1展示了我们方法在误识率为0、0.1%、1%时的正确通过率,以及在最优阈值下 的识别率。表1还展示了我们的深度学习模型参数文件需要的存储空间大小与单张图片特 征提取所用时间。和国际上性能相当的人脸识别模型相比,我们的方法计算速度更快、存储 开销更小。
[0074] 以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详 细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡 在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保 护范围之内。
【主权项】
1. 一种基于定序神经网络模型的人脸识别方法,其特征在于,包括: 步骤S1、读入输入的待识别图像,检测待识别图像中的人脸位置和关键点位置信息; 步骤S2、根据所述人脸位置信息和关键点信息对待识别图像进行预处理操作; 步骤S3、将预处理后的待识别图像输入至定序神经网络模型中,得到待识别图像的特 征表达; 步骤S4、计算待识别图像的特征表达与数据库中已知人脸图像特征的相似度,W识别 待识别图像。2. 根据权利要求1所述的基于定序神经网络模型的人脸识别方法,其特征在于,步骤S1 还包括: 对于待识别图像,应用图像识别算法检测人脸位置信息,并根据所得的人脸位置信息, 应用图像识别算法获取人脸的关键点位置信息;其中,人脸的关键点为预先定义。3. 根据权利要求1所述的基于定序神经网络模型的人脸识别方法,其特征在于,所述步 骤S2中所述预处理操作包括姿态校正和光线校正;所述姿态校正包括:确定标准脸的关键 点位置和光照条件,然后根据所述人脸位置信息和关键点信息将输入图像的人脸关键点位 置对齐至标准脸关键点位置,W达到校正人脸姿态的目的;其中,可预先定义标准脸的关键 点位置和光照条件,或直接使用在训练集上计算得到平均脸作为标准脸,然后确定其关键 点位置信息和光照条件标准脸; 所述光线校正包括通过图像处理算法,将人脸图像的光照变换至与标准脸一致。4. 根据权利要求1所述的基于定序神经网络模型的人脸识别方法,其特征在于,所述步 骤S3中的所述定序神经网络模型包括定序神经网络单元,用于获取多个输入之间的定序表 达。5. 根据权利要求4所述的基于定序神经网络模型的人脸识别方法,其特征在于,所述定 序表达包括最大值、最小值、平均值、和差或积商。6. 如权利要求1-5任一项所述的基于定序神经网络模型的人脸识别方法,其特征在于, 所述定序神经网络模型如下训练获得: 利用训练集中的训练样本,采用分类损失函数作为优化目标,训练卷积神经网络分类 模型,用W对训练样本中的人脸进行分类; 将训练好的卷积神经网络分类模型作为预训练的模型,使用对比损失函数和Ξ元组损 失函数继续对所述卷积神经网络分类模型进行训练。7. 如权利要求6所述的基于定序神经网络模型的人脸识别方法,其特征在于,所述分类 损失函数为softmax损失函数,如下表示:其中,N是类别数目;X是输入;yeRWx堪表示输出的类别向量;參代表训练得到的分类 器,巧,以|,/二1,2,…,W代表卷积神经网络分类模型输出层第i个节点的输出。8. 如权利要求6所述的的基于定序神经网络模型的人脸识别方法,其特征在于,所述使 用对比损失函数和/或Ξ元组损失函数继续对所述卷积神经网络分类模型进行训练中对比 损失函数如下表示:其中,Θ为对比损失函数中控制类内类间距离差异的参数,所述Ξ元组损失函数如下表 示: L=max(d(f (χ3) ,f (xP))-d(f(xa)+a,f (x。)),Q) 其中f(x)为所述预训练的模型输出层的输入,即预训练的模型次末层的输出;d(.)为 距离函数,称为中屯、样本,χΡ为与中屯、样本属于同一类的正样本,χη为与中屯、样本属于 不同类的负样本;训练过程中,中屯、样本为在训练集合中随机挑选的样本,a为Ξ元组损 失函数中控制类内类间距离差异的参数。9. 如权利要求6所述的的基于定序神经网络模型的人脸识别方法,其特征在于,所述使 用对比损失函数和/或Ξ元组损失函数继续对所述卷积神经网络分类模型进行训练中筛选 出难样本组合作为训练数据,所述难样本组合筛选的具体步骤为: 对于大容量训练集,随机生成二元组合和Ξ元组,分别计算其对应的对比损失和/或Ξ 元组损失,剔除损失值低于预设阔值的组合,利用保留下来的训练样本组合进行训练; 对于小容量训练集,首先计算所有训练样本间的相似度,然后选取相似度最低的同类 训练样本作为难正样本,W及相似度最高的不同类样本作为难负样本,最后W筛选出的难 正样本与难负样本作为训练样本进行训练。10. -种基于定序神经网络模型的人脸识别装置,其特征在于,包括: 输入模块,用于读入输入的待识别图像,检测待识别图像中的人脸位置和关键点位置 信息; 预处理模块,用于根据所述人脸位置信息和关键点信息对待识别图像进行预处理操 作; 特征获取模块,用于将预处理后的待识别图像输入至定序神经网络模型中,得到待识 别图像的特征表达; 识别模块,用于计算待识别图像的特征表达与数据库中已知人脸图像特征的相似度, W识别待识别图像。
【文档编号】G06K9/00GK106096538SQ201610403028
【公开日】2016年11月9日
【申请日】2016年6月8日
【发明人】孙哲南, 赫然, 谭铁牛, 宋凌霄, 曹冬, 侯广琦
【申请人】中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1