基于深度学习的人脸识别方法及相关产品与流程

文档序号:15983879发布日期:2018-11-17 00:39阅读:244来源:国知局

本申请涉及计算机视觉识别技术领域,具体涉及一种基于深度学习的人脸识别方法及相关产品。

背景技术

由于人脸的生物特征容易采集,因此人脸识别技术应用到监控、安防、金融、等技术领域。随着人工智能ai(artificialintelligence,简称:ai)技术的发展,人脸识别的速度以及成功率都得到很大改善。目前,识别人脸通常有以下两种方式。(1)将人脸图像输入到训练好的神经网络模型,逐层提取人脸图像中的人脸特征,输出最终的特征图,根据最终的特征图与模板比对识别人脸,但是在逐层提取人脸的过程中,丢失一部分人脸特征,因此识别率低;(2)构建残差resnet网络,进行特征融合,但是随着resnet网络的深度加深,特征图的维度过高,运算速度低,而且resnet网络内存大,无法嵌入到终端进行人脸识别。



技术实现要素:

本申请实施例提供了一种用于人脸识别的神经网络模型及相关产品,以期进行特征图的融合,提高人脸识别的速度和正确率。

第一方面,本申请实施例提供一种用于人脸识别的神经网络模型,所述网络模型至少包括:

第一卷积层、第二卷积层、第三卷积层、第一瓶颈网络bottlenecks、第二瓶颈网络bottlenecks、第三瓶颈网络bottlenecks、第四瓶颈网络bottlenecks、第一池化层、第二池化层、第三池化层、第四池化层;

所述第一卷积层、所述第一bottlenecks、所述第一池化层、所述第二bottlenecks、所述第二卷积层、所述第二池化层、所述第三bottlenecks、所述第三卷积层、所述第三池化层、所述第四bottlenecks和所述第四池化层依次串联连接;

所述第一卷积层、所述第一bottlenecks、所述第一池化层、所述第二bottlenecks、所述第二卷积层、所述第二池化层、所述第三bottlenecks、所述第三卷积层、所述第三池化层、所述第四bottlenecks和所述第四池化层根据密集网络densenet的密集连接策略密集连接。

第二方面,本申请实施例提供一种基于深度学习的人脸识别方法,所述方法应用第一方面的神经网络模型,所述方法包括:

获取对齐后的面部图像,将所述面部图像缩放至预设比例得到目标图像;

提取所述目标图像的像素矩阵,将所述像素矩阵输入到所述神经网络模型执行多层运算得到运算结果;

计算所述运算结果与面部模板的匹配值,如所述匹配值大于预设阈值,则比对成功。

第三方面,本申请实施例提供一种基于深度学习的人脸识别电子装置,所述电子装置包括:

获取单元,用于获取对齐后的面部图像,将所述面部图像缩放至预设比例得到目标图像;

提取单元,用于提取所述目标图像的像素矩阵,将所述像素矩阵输入到预设训练好的神经网络模型执行多层正向运算得到运算结果;

计算单元,计算所述运算结果与面部模板的匹配值,如所述匹配值大于预设阈值,则比对成功。

第四方面,本申请实施例提供一种电子装置,包括一个或多个处理器、一个或多个存储器、一个或多个收发器,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述一个或多个处理器执行,所述程序包括用于执行如第二方面所述的方法中的步骤的指令。

第五方面,本申请实施例提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如第二方面所述的方法。

实施本申请实施例,具有如下有益效果:

可以看出,本申请实施例中采用密集网络densenet的密集连接策略将四个瓶颈网络bottlenecks串联连接,保证每个bottlenecks的输入来源于前面所有bottlenecks的输出,即将前面所有bottlenecks的特征图进行特征融合后输入到下一个bottlenecks,通过这种特征融合的方式可提取到更多人脸特征,故提高了人脸识别的成功率,而且每个bottlenecks后串联有1*1的卷积层,降低了每个bottlenecks输入数据的维度,提高了人脸识别的速度。

附图说明

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

图1是本申请实施例提供的一种用于人脸识别的神经网络模型的网络结构示意图;

图2是本申请实施例提供的一种子瓶颈网络bottleneck的结构示意图;

图3是本申请实施例提供的一种第一bottlenecks1的结构示意图;

图4是本申请实施例提供的一种基于深度学习的人脸识别方法的流程示意图;

图5是本申请实施例公开的一种基于深度学习的人脸识别的电子装置的功能结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本申请实施例所涉及到的电子装置可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(userequipment,ue),移动台(mobilestation,ms),终端设备(terminaldevice)等等。为方便描述,上面提到的设备统称为终端。本发明实施例所涉及到的操作系统是对硬件资源进行统一管理,并向用户提供业务接口的软件系统。

首先参阅图1,图1为本申请实施例提供的一种用于人脸识别的神经网络模型的网络结构示意图,如图1所示该神经网络模型可以包括以下几个网络层:

第一卷积层conv1、第二卷积层conv2、第三卷积层conv3、第一瓶颈网络bottlenecks1、第二瓶颈网络bottlenecks2、第三瓶颈网络bottlenecks3、第四瓶颈网络bottlenecks4、第一池化层averagepooling1、第二池化层averagepooling2、第三池化层averagepooling3和第四池化层globalaveragepooling。

其中,该第一卷积层conv1、第一bottlenecks1、第一池化层averagepooling1、第二bottlenecks2、第二卷积层conv2、第二池化层averagepooling2、第三bottlenecks3、第三卷积层conv3、第三池化层averagepooling3、第四bottlenecks4和第四池化层globalaveragepooling按顺序依次串联连接。

可选的,由于串联了四个bottlenecks网络结构,随着卷积深度的增加,在卷积运算时较深的bottlenecks的输入数据的维度会越来越来高,此时运算速度较慢,为了减小特征图的维度,提高运算速度,在第二bottlenecks2和第三bottlenecks3的输出层分别串联了第二卷积层conv2、第二池化层averagepooling2和第三卷积层conv3、第三池化层averagepooling3,以降低输入数据的维度。

其中,该第一卷积层conv1、第一bottlenecks1、第一池化层averagepooling1、第二bottlenecks2、第二卷积层conv2、第二池化层averagepooling2、第三bottlenecks3、第三卷积层conv3、第三池化层averagepooling3、第四bottlenecks4和第四池化层globalaveragepooling根据密集网络densenet的密集连接策略密集连接,即第一bottlenecks1的输入数据来自于第一卷积层conv1的输出数据,第二bottlenecks2的输入数据来自于第一卷积层conv1的输出数据和第一bottlenecks1的输出数据进行特征融合后得到的融合数据,第三bottlenecks3的输入来自于第一卷积层conv1的输出数据、第一bottlenecks1的输出数据和第二bottlenecks2的输出数据进行特征融合后得到的融合数据,第四bottlenecks4的输入来自于第一卷积层conv1的输出数据、第一bottlenecks1的输出数据、第二bottlenecks2的输出数据和第三bottlenecks3的输出数据进行特征融合后得到的融合数据,为了保证后一层bottlenecks的输入数据来自于前面所有bottlenecks的输出数据,故采用图1的连接方式,即将所述第一bottlenecks、所述第二bottlenecks、所述第三bottlenecks和所述第四bottlenecks密集连接。

可以看出,本申请实施例提供的神经网络模型采用denseblock密集连接策略,将多层的特征图融合,提取更多面部特征,提高了人脸识别的准确率。而且,本申请实施例中是对bottlenecks之间进行密集连接,与传统将bottlenecks内部的卷积层进行密集连接相比提高了运算速度。

如图1所示的连接方式,由于第一bottlenecks1、第二bottlenecks2、第三bottlenecks3和第四bottlenecks4的输入数据均进行了特征融合,本申请以第一bottlenecks1和第二bottlenecks2进行特征融合为例做具体说明。如图1所示,在第一卷积层conv1的输出层连接3个第一全局池化层globalpooling,该3个第一globalpooling用于将第一卷积层conv1的输出特征图进行缩放,以便在可将缩放后的特征图输入到第二bottlenecks2、第三bottlenecks3和第四bottlenecks4时与该第二bottlenecks2、第三bottlenecks3和第四bottlenecks4的其他输入数据的尺寸匹配,以便于将输入数据融合。举例来说,如原始输入数据input的尺寸为224*224*3,经过第一卷积层conv1后输出第一特征图112*112*64,将第一特征图112*112*64输入到第一bottlenecks1后,输出第二特征图112*112*64,在将该第二特征图112*112*64输入到第一averagepooling后,输出第三特征图56*56*64,如图1所示,将第三特征图56*56*64作为第二bottlenecks2的一部分输入数据输入到第二bottlenecks2,而第二bottlenecks2的另一部分输入数据为该第一特征图112*112*64,可以看出由于该第一特征图112*112*64与该第三特征图56*56*64的尺寸不匹配,无法进行特征融合,故在第一卷积层conv1的输出端串联一个globalpooling(具体可将卷积核尺寸设定为【3*3】,步长设定为2),经过该globalpooling的池化后,将该第一特征图112*112*64的尺寸小(即宽和高)缩放到56*56,以便于将第二bottlenecks2的两部分输入数据进行特征融合。同样,与第一bottlenecks1、第二bottlenecks2以及第三bottlenecks3的输出端串联的globalpooling的功能均为将与各自串联的网络结构输出的特征图进行缩放,以便进行特征融合。由于每个globalpooling的卷积核尺寸需要与第一bottlenecks1、第二bottlenecks2、第三bottlenecks3和第四bottlenecks4的其他输入数据的尺寸保持一致,故图1中示出的6个globalpooling的卷积核尺寸与第一池化层averagepooling1、第二池化层averagepooling2、第三池化层averagepooling3输出的特征图维度相关,在此不作具体的举例说明。

可选的,为了保证第一bottlenecks1、第二bottlenecks2、第三bottlenecks3和第四bottlenecks4的输出数据尺寸与输入数据尺寸的一致性,在卷积运算时,添加填充padding的操作,并保持padding=1。

其中,图1所示的第一卷积层conv1的卷积核尺寸均为【3*3*64】,步长为2,第二卷积层conv2的卷积核尺寸为【1*1*64】,步长为1,第三卷积层conv3的卷积核尺寸为【1*1*96】,步长为1。

可选的,第一bottlenecks1、第二bottlenecks2、第三bottlenecks3和第四bottlenecks4分别包括3个、4个、6个和3个子瓶颈网络bottleneck,且该第一bottlenecks1、第二bottlenecks2、第三bottlenecks3和第四bottlenecks4中各自的子bottleneck依次串联连接。

如图2所示,对于该第一bottlenecks1、第二bottlenecks2、第三bottlenecks3和第四bottlenecks4中的子bottleneck的网络结构相同,对于任意一个子bottleneck包括第一分组卷积层groupconv、第二分组卷积层groupconv、第一深度卷积层depthwiseconv、叠加层add和通道交换网络层shuffle,该第一groupconv、第一depthwiseconv、第二groupconv、add和shuffle依次串联连接,且该任意一个子bottleneck的输入数据与输出数据在叠加层add进行叠加,将叠加后的数据输入该通道交换网络层shuffle。

进一步地,该第一groupconv的卷积核尺寸为【1*1*256】,步长为1,所述第二groupconv的卷积核尺寸为【3*3*256】,步长为1,所述第一depthwiseconv的卷积核尺寸为【1*1*64】,步长为1。

由于第一bottlenecks1、第二bottlenecks2、第三bottlenecks3和第四bottlenecks4均由多个子bottleneck串联连接组成,故以第一bottlenecks1为例做具体说明,参阅图3,图3为第一bottlenecks1的结构示意图,可以看出,图3包括3个子bottleneck网络结构,且该3个子bottleneck子bottleneck顺次串联连接,其第二bottlenecks2、第三bottlenecks3和第四络bottlenecks4的具体网络结构参见图3,在此不再详细叙述。

可以看出,本申请实施例中提供的神经网络模型采用密集连接的方式,多层的输出特征图的融合,提取更多面部特征,提高了人脸识别的准确率;而且在密集连接时,每个bottlenecks网络结构后串联一个1*1的卷积层,降低输出特征图的维度,提高了运算速度,并且该神经网络模型采用密集连接,减少卷积参数,降低了神经网络模型的内存,该神经网络模型可嵌入电子装置进行人脸识别。而且每个bottlenecks内部采用1*1*256的卷积层先升维提取特征,然后在采用1*1*64的卷积层再降维,其次,使用3*3*256的深度可分离卷积层降低模型计算量,最后将1*1*64卷积层的卷积结果在shortcutconnections连接(即add操作)之后进行shuffle操作,交换输入数据的通道顺序,提高模型精度。

参阅图4,图4是本申请实施例提供的一种基于深度学习的人脸识别方法的流程示意图,该方法应用上述的神经网络模型,该方法包括:

步骤s401、获取对齐后的面部图像,将所述面部图像缩放至预设比例得到目标图像。

可选的,在识别面部图像中的人脸之前,首先将该面部图像中的人脸对齐。

其中,该预设比例为该神经网络模型对输入数据限定的比例值,即保证输入图像的像素矩阵w*h与该神经网络模型限定的输入数据尺寸w0*h0一致。

步骤s402、提取所述目标图像的像素矩阵,将所述像素矩阵输入到所述神经网络模型执行多层运算得到运算结果。

可选,将该像素矩阵输入上述的神经网络模型执行多层运算,得到运算结果,可以理解的是,上述神经网络模型最后一层为averageglobalpooling,已知averageglobalpooling将每个特征图池化为一个特征点,故该像素矩阵在多层运算后,输出的运算结果为一个n维特征向量,n为大于或等于1的整数。

步骤s403、计算所述运算结果与面部模板向量的余弦相似度,如所述余弦相似度大于预设阈值,则比对成功。

其中,该面部模板也是一个n维的特征向量,计算该运算结果(即n维特征向量)与面部模板向量的余弦相似度,如该余弦相似度大于预设阈值,确定人脸比对成功。

可选的,计算运算结果(即n维特征向量)与面部模板向量的余弦相似度具体为:

其中,为运算结果的n维特征向量,为面部模板的n维特征向量。

其中,该预设阈值具体可以为0.5、0.6、0.7、0.8或者其他值。

可以看出,本申请实施例中提供的神经网络模型采用密集连接的方式,多层的输出特征图的融合,提取更多面部特征,提高了人脸识别的准确率;而且在密集连接时,每个bottlenecks网络结构后串联一个1*1的卷积层,降低输出特征图的维度,提高了运算速度,并且该神经网络模型采用密集连接策略,减少卷积参数,降低了神经网络模型的内存,使该神经网络模型可嵌入电子装置进行人脸识别。而且,该神经网络模型输出结果为多维特征向量,通过计算输出结果特征向量与面部模板的特征向量的余弦相似度,进一步提高识别速度。

与上述图4实施例一致的,请参阅图5,图5为本申请实施例提供的一种基于深度学习的人脸识别的电子装置500的可能的功能单元组成框图,电子装置500包括:获取单元510、运算单元520、确定单元530,其中;

获取单元510,用于获取对齐后的面部图像,将所述面部图像缩放至预设比例得到目标图像;

运算单元520,用于提取单元,用于提取所述目标图像的像素矩阵,将所述像素矩阵输入到预设训练好的神经网络模型执行多层正向运算得到运算结果;

计算单元530,用于计算所述运算结果与面部模板的匹配值,如所述匹配值大于预设阈值,则比对成功。

本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种基于深度学习的人脸识别方法的部分或全部步骤。

本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种基于深度学习的人脸识别方法的部分或全部步骤。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。

所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取器(英文:randomaccessmemory,简称:ram)、磁盘或光盘等。

以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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