本发明涉及人脸识别技术领域,尤其涉及一种人脸识别方法、装置、电子设备及介质。
背景技术:
人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。
但是,现有的人脸识别通常时基于整个脸部,当脸部存在较大的遮挡物时,例如墨镜、口罩等,便会使得人脸识别无法正常进行或直接判定为不通过,从而需要待识别人员取下相应的遮挡物并在完成识别后才能继续佩戴,导致识别效率降低并影响了用户体验。
技术实现要素:
为了克服现有技术的不足,本发明的目的之一在于提供一种人脸识别方法,可以对存在遮挡区的脸部图像进行快速的人脸识别,以提高了用户体验。
本发明的目的之一采用如下技术方案实现:
一种人脸识别方法,包括以下步骤:
建立映射网络,所述映射网络具有源特征向量和目标特征向量之间的映射关系,所述源特征向量与具有遮挡区的样本脸部图像对应,所述目标特征向量与无遮挡区的样本脸部图像对应;
获取特征向量a,所述特征向量a与具有遮挡区的待识别脸部图像对应;
将所述特征向量a输入所述映射网络得到特征向量b;
判断所述特征向量b与特征向量底库内的特征向量c是否匹配,若是,则输出识别成功信号,所述特征向量c与无遮挡区的预存脸部图像对应。
进一步地,建立映射网络,包括以下步骤:
获取源样本,将所述源样本输入人脸识别模型得到源特征向量,所述源样本为无遮挡区的样本脸部图像;
将所述源样本输入遮挡模型得到目标样本,将所述目标样本输入人脸识别模型得到目标特征向量,所述目标样本为具有遮挡区的样本脸部图像;
训练映射网络,将所述目标特征向量作为所述映射网络的输入,将所述源特征向量作为所述映射网络的输出。
进一步地,获取特征向量a,包括以下步骤:
接收待检测图像;
将所述待检测图像输入人脸检测模型得到脸部区域;
判断所述脸部区域是否存在遮挡区,若是,则将所述脸部区域记为待识别脸部图像,并将所述待识别脸部图像输入人脸识别模型得到特征向量a。
进一步地,还包括以下步骤:
当所述脸部区域不存在遮挡区时,则将所述脸部区域记为完整脸部图像;
将所述完整脸部图像输入人脸识别模型得到特征向量d;
判断所述特征向量d与特征向量底库内的特征向量c是否匹配,若是,输出识别成功信号。
进一步地,所述映射网络具有一个以上的映射模型,各个映射模型分别与遮挡区类型关联;将所述特征向量a输入所述映射网络得到特征向量b,包括以下步骤:
查询所述特征向量a的遮挡区类型k;
根据所述遮挡区类型k得到关联的映射模型d;
将所述特征向量a输入所述映射模型d得到特征向量b。
进一步地,查询所述特征向量a的遮挡区类型k,包括以下步骤;
获取具有遮挡区的待识别脸部图像;
将所述待识别脸部图像输入分类模型得到遮挡区类型k。
进一步地,所述遮挡区类型k包括左眼遮挡、右眼遮挡、鼻子遮挡、嘴部遮挡中的任意一种或多种组合。
本发明的目的之二在于提供一种人脸识别装置,可以对存在遮挡区的脸部图像进行快速的人脸识别,以提高了用户体验。
本发明的目的之二采用如下技术方案实现:
一种人脸识别装置,包括:建立模块,所述映射网络具有源特征向量和目标特征向量之间的映射关系,所述源特征向量与具有遮挡区的样本脸部图像对应,所述目标特征向量与无遮挡区的样本脸部图像对应;获取模块,用于获取特征向量a,所述特征向量a与具有遮挡区的待识别脸部图像对应;处理模块,用于将所述特征向量a输入所述映射网络得到特征向量b;匹配模块,用于判断所述特征向量b与特征向量底库内的特征向量c是否匹配,若是,则输出识别成功信号,所述特征向量c与无遮挡区的预存脸部图像对应。
本发明的目的之三在于提供执行发明目的之一的电子设备,其包括处理器、存储介质以及计算机程序,所述计算机程序存储于存储介质中,所述计算机程序被处理器执行时实现上述的人脸识别方法。
本发明的目的之四在于提供存储发明目的之一的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的人脸识别方法。
相比现有技术,本发明的有益效果在于:通过映射网络具有源特征向量和目标特征向量之间的映射关系,从而特征向量a通过映射网络可以得到特征向量b,该特征向量b可以视为与无遮挡区的待识别脸部图像对应,继而可以进入匹配步骤,从而可以实现对存在遮挡区的脸部图像进行快速的识别,进而提高用户体验;得到的特征向量b仍然与特征向量底库内的特征向量c匹配,从而开发人员可以在现有的人脸识别技术上进行开发,以降低开发难度。
附图说明
图1为实施例一所示人脸识别方法的流程图;
图2为实施例二所示步骤s10的流程图;
图3为实施例二所示步骤s30的流程图;
图4为实施例三所示步骤s20和步骤s60的流程图;
图5为实施例四所示人脸识别装置的结构框图;
图6为实施例五所示电子设备的结构框图。
图中:1、建立模块;2、获取模块;3、处理模块;4、匹配模块;5、电子设备;51、处理器;52、存储器;53、输入装置;54、输出装置。
具体实施方式
以下将结合附图,对本发明进行更为详细的描述,需要说明的是,以下参照附图对本发明进行的描述仅是示意性的,而非限制性的。各个不同实施例之间可以进行相互组合,以构成未在以下描述中示出的其他实施例。
实施例一
实施例一提供了一种人脸识别方法,旨在解决现有人脸识别技术难以对存在遮挡区的脸部图像进行识别的问题。具体地,参照图1所示,该人脸识别方法可以包括步骤s10~步骤s50。
步骤s10、建立映射网络。该映射网络具有通过训练得到的映射关系,所述映射关系为源特征向量和目标特征向量之间的关系,其中源特征向量与具有遮挡区的样本脸部图像对应,目标特征向量与无遮挡区的样本脸部图像对应。即当该映射网络在训练和判别时,其输入和输出均为特征向量。
步骤s20、获取特征向量a。该特征向量a与具有遮挡区的待识别脸部图像对应。在此值得说明的是,该遮挡区的设置规则在此不做限定,可以根据实际情况进行相应的调整。
步骤s30、将特征向量a输入映射网络得到特征向量b。值得说明的是,该特征向量b是通过映射关系得到的,因此其并不与无遮挡的待识别图像真正对应,仅可以视为与无遮挡区的待识别脸部图像对应。
步骤s40、判断特征向量b与特征向量底库内的特征向量c是否匹配,若是,则执行步骤s50;若否,则结束此次人脸识别并进行下一个人脸识别。在此值得说明的是,若进入下一个人脸识别则可以直接从步骤s20开始。其中,特征向量底库内存储有特征向量c,该特征向量c与无遮挡的预存脸部图像对应。
步骤s50、输出识别成功信号,将待识别人员转为完成识别的人员,其被允许可以执行相应的操作。在此将与特征向量b匹配的特征向量c记为特征向量c0,该识别成功信号可以携带有特征向量c0和/或与特征向量c0对应的预存脸部图像。例如:在人脸识别方法应用于门禁系统中时,且当该门禁系统接收该识别成功信号时,则可以控制该门禁打开;在人脸识别方法应用于警务系统中时,且当该警务系统接收该识别成功信号时,则输出与特征向量c0对应的预存脸部图像。
值得说明的是,该方法的步骤是基于执行设备完成的。具体地,该执行设备可以为服务器、用户端、处理器等设备,但该执行设备不限于上述类型。
综上,通过映射网络具有源特征向量和目标特征向量之间的映射关系,从而特征向量a通过映射网络可以得到特征向量b,该特征向量b可以视为与无遮挡区的待识别脸部图像对应,继而可以进入匹配步骤,从而可以实现对存在遮挡区的脸部图像进行快速的识别,进而提高用户体验;得到的特征向量b仍然与特征向量底库内的特征向量c匹配,从而开发人员可以在现有的人脸识别技术上进行开发,以降低开发难度。
实施例二
本实施例提供一种人脸识别方法,参照图1和图2所示,本实施例在实施例一的基础上进行的。具体地,该步骤s10可以包括步骤s101~步骤s103。
步骤s101、获取源样本,将源样本输入人脸识别模型得到源特征向量。其中,该源样本为无遮挡的样本脸部图像。在此是的说明的是,该人脸识别模型可以但不限于采用深度学习生成模型中的任一种,只要可以得到该源样本的特征向量即可,优选采用mobilenet-v2。
步骤s102、将源样本输入遮挡模型得到目标样本,将目标样本输入人脸识别模型得到目标特征向量。其中目标样本为具有遮挡区的样本脸部图像,即该目标样本和源样本均对应同一样本脸部图像,且二者仅存在是否有遮挡区的差别。值得说明的是,该遮挡模型可以但不限于采用深度学习生成模型中的任一种,只要可以将无遮挡区的样本脸部按照遮挡要求进行遮挡以形成有遮挡区即可,优选采用cyclegan。
步骤s103、训练映射网络,将目标特征向量作为映射网络的输入,将源特征向量作为映射网络的输出。从而该映射网络具有源特征向量和目标特征向量之间的映射关系。该映射网络可以但不限于采用深度学习生成模型中的任一种,只要可以得到该映射关系即可,优选采用mobilenet-v2。
通过该技术方案,实现了映射网络的建立,从而与无遮挡区的待识别图像对应的特征向量a可以根据该映射网络得到与有遮挡区的待识别图像对应的特征向量b。
进一步地,该遮挡区类型可以是一个,则该映射网络可以仅包括一个映射模型d,其较为简单,在此不做赘述;当遮挡区类型为多个,则该映射网络d可以包括一个或多个映射模型。
当遮挡区类型为n个,且n>1,则该映射网络仅包括一个映射模型。可以理解在步骤s101中的源样本为一个,则在步骤s102中的目标样本为n个,且各个目标样本分别与遮挡区类型对应,则步骤s30中并不需要进行遮挡区类型的判别。如此操作,可以减少步骤,但映射的准确度不高。
当遮挡区类型为n个,且n>1,则该映射网络具有n个映射模型。可以理解在步骤s101中的源样本为一个,则在步骤s102中的目标样本为n个,且各个目标样本分别与遮挡区类型对应,则步骤s30中需要对特征向量a的遮挡区类型进行判别,然后选用对应的映射模型。如此操作,尽管增加了步骤,但是各个遮挡区类型均具有对应的映射模型,以提高映射的准确度。
在此值得说明的是,遮挡区类型可以包括左眼遮挡、右眼遮挡、鼻子遮挡、嘴部遮挡中的任意一种或多种组合,该遮挡区类型不限于上述类型,其可以根据实际情况进行增删。其中左眼遮挡可以为左眼被遮挡一一半以上,右眼遮挡可以为右眼被遮挡一一半以上,鼻子遮挡可以为鼻子遮挡一一半以上,嘴部遮挡可以为嘴部被遮挡一一半以上。例如:当待识别人员佩戴口罩时,则需要遮挡嘴部和一半以上的鼻子,则其可以视为嘴部遮挡和鼻子遮挡的组合;当待识别人员佩戴墨镜时,则需要遮挡左眼和右眼,则其可以视为左眼遮挡与右眼遮挡的组合。
作为可选的技术方案,当遮挡区类型为n个且n>1,该映射网络具有n个映射模型时,参照图3所示,则步骤s30可以包括步骤s301~步骤s303。
步骤s301、查询特征向量a的遮挡区类型,并记为遮挡区类型k。此处可以选用分类模型。具体地,先获取具有遮挡区的待识别脸部图像,然后将该待识别脸部图像输入分类模型得到遮挡区类型k。
在此值得说明的是,其可以采用步骤s102中的目标样品,该目标样品的数量与遮挡区类型的数量对应,将各个目标样品均作为分类模型的输入,将遮挡区类型作为该分类模型的输出。该分类模型可以但不限于采用深度学习生成模型中的任一种,只要可以得到确定遮挡区类型即可。
步骤s302、根据遮挡区类型k得到关联的映射模型,并记为映射模型d。由于在训练时,同一映射模型的目标样本的遮挡区类型相同,因此遮挡区类型与映射模型关联。
步骤s303、将特征向量a输入映射模型d得到特征向量b。
通过该技术方案,通过单一映射模型d的运用代替整个映射网络的应用,一方面提高了训练效率,另一方面也提高了计算效率并提高了准确度。
实施例三
本实施例提供一种人脸识别方法,本实施例在实施例一或实施例二的基础上进行的。参照图1和图4所示,步骤s20还可以包括步骤s201~步骤s204。
步骤s201、接收待检测图像。该待检测图像可以由配套的相机采集,也可以由其他设备上传,其具体来源不做限定。
步骤s202、将待检测图像输入人脸检测模型得到脸部区域。该人脸检测模型为现有技术,在此不做限定。在此值得说明的是,该脸部区域为该待检测图像中比重最大的脸部。
步骤s203、判断脸部区域是否存在遮挡区,若是,则执行步骤s204。此处可以选用对应的模型,也可以采用相应的算法,在此均不做限定。值得说明的是,该步骤中的判定仅为粗略的判定,例如:通过遮挡区的面积大小进行判定即可,可以不用确定其具体的位置。
步骤s204、将脸部区域记为待识别脸部图像,并将待识别脸部图像输入人脸识别模型得到特征向量,并记为特征向量a。
通过该技术方案,可以对输入的待检测图像进行初步判定,然后将具有遮挡区的脸部区域对应执行之后的步骤,以提高映射网络模型输入的准确性。
作为可选的技术方案,参照图4所示,本方法还可以包括步骤s60。
该步骤s60在步骤s203判定脸部区域不存在遮挡区后执行。该步骤s60可以包括步骤s601~步骤s603。
步骤s601、将不存在遮挡区的脸部区域记为完整脸部图像。
步骤s602、将完整脸部图像输入人脸识别模型得到对应的特征向量d;
步骤s603、判断特征向量d与特征向量底库内的特征向量c是否匹配,若是,执行步骤s604、输出识别成功信号。值得说明的是,步骤s40和步骤s603可以合并为一个步骤执行,相应地,步骤s50和步骤s604可以合并为一个步骤执行,以减少整体步骤和内存。
通过该技术方案,当脸部区域具有遮挡区时,则进入映射网络-与特征向量底库内的特征向量c匹配;当脸部区域不具有遮挡区时,则直接进入与特征向量底库内的特征向量c匹配,以实现对待检测图像的人脸识别,且该映射网络内存较小,从而不仅提高了存在遮挡区的人脸识别的精度,又不影响整体耗时。
进一步地,该人脸识别方法还可以包括以下步骤:当步骤s40匹配失败后,则标记匹配度最高的特征向量c并记为特征向量c1;然后判断下一个基于步骤s60的匹配是否成功,若是,则标记匹配的特征向量c并记为特征向量c2;继而判断特征向量c1与特征向量c2是否相同,若是,则调取与特征向量c对应的预存脸部图像,将其作为源样本并根据步骤s10对映射网络进行训练更新。
实施例四
实施例四提供了一种人脸识别装置,为上述实施例的虚拟装置结构,旨在解决现有人脸识别技术难以对存在遮挡区的脸部图像进行识别的问题。该人脸识别装置可以包括:建立模块1、获取模块2、处理模块3、匹配模块4。
建立模块1用于建立映射网络,映射网络具有源特征向量和目标特征向量之间的映射关系,源特征向量与具有遮挡区的样本脸部图像对应,目标特征向量与无遮挡区的样本脸部图像对应;获取模块2用于获取特征向量a,特征向量a与具有遮挡区的待识别脸部图像对应;处理模块3用于将特征向量a输入映射网络得到特征向量b;匹配模块4用于判断特征向量b与特征向量底库内的特征向量c是否匹配,若是,则输出识别成功信号,特征向量c与无遮挡区的预存脸部图像对应。
实施例五
电子设备5可以是台式计算机、笔记本电脑、服务器(实体服务器或云服务器)等,甚至也可以是手机或平板电脑等,
图6为本发明实施例五提供的一种电子设备的结构示意图,如图1和图6所示,该电子设备5包括处理器51、存储器52、输入装置53和输出装置54;计算机设备中处理器51的数量可以是一个或多个,图6中以一个处理器51为例;电子设备5中的处理器51、存储器52、输入装置53和输出装置54可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器52作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的人脸识别方法对应的程序指令/模块,该程序指令/模块为人脸识别装置中的1、建立模块;2、获取模块;3、处理模块;4、匹配模块。处理器51通过运行存储在存储器52中的软件程序、指令/模块,从而执行电子设备5的各种功能应用以及数据处理,即实现上述实施例一至实施例三的任意实施例或实施例组合的人脸识别方法。
存储器52可主要包括存储程序区和存储数据区,其中存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。存储器52还可以进一步设置为包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至电子设备5。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
值得说明的是,输入装置53可以用于接收获取的相关数据。输出装置54可以包括文档或显示屏等显示设备。具体地,当输出装置54为文档时,可以将对应信息按照特定的格式记录于文档内,在实现数据保存的同时,还实现了数据的整合;当输出装置54为显示屏等显示设备时,直接将对应信息投放于显示屏等设备上,以便于用户实时查看。
实施例六
本发明实施例六还提供一种计算机可读存储介质,其包含计算机可执行指令,计算机可执行指令在由计算机处理器执行时用于执行上述的人脸识别方法,该方法包括:
建立映射网络,映射网络具有源特征向量和目标特征向量之间的映射关系,源特征向量与具有遮挡区的样本脸部图像对应,目标特征向量与无遮挡区的样本脸部图像对应;
获取特征向量a,特征向量a与具有遮挡区的待识别脸部图像对应;
将特征向量a输入映射网络得到特征向量b;
判断特征向量b与特征向量底库内的特征向量c是否匹配,若是,则输出识别成功信号,特征向量c与无遮挡区的预存脸部图像对应。
当然,本发明实施例所提供的一种计算机可读存储介质,其计算机可执行指令不限于如上的方法操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明中实施例一至实施例三任意实施例或实施例组合的人脸识别方法。
值得注意的是,上述的人脸识别的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可。另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。