人脸识别方法及相关产品与流程

文档序号:14861094发布日期:2018-07-04 07:28阅读:231来源:国知局
人脸识别方法及相关产品与流程

本申请涉及终端设备以及安全领域,具体涉及一种人脸识别方法及相关产品。



背景技术:

现有技术中,终端已经是用户使用最频繁的电子装置,例如,手机、车载终端、平板电脑等等设备。人脸识别已经成为终端的常用识别方案,但是现有的人脸识别方案的识别精度差,用户体验度低。

申请内容

本申请实施例提供了一种人脸识别方法及相关产品,可以实现通过卷积运算来实现人脸识别,提高了识别的精度,提高用户体验度。

第一方面,本申请实施例提供一种电子装置,所述电子装置包括:应用处理器ap、摄像头,所述摄像头通过至少一个电路与所述ap连接;

所述摄像头,用于采集用户的第一图片;

所述ap,用于从第一图片中提取第一头像,将该第一头像组成输入数据矩阵ci*h*w,将输入数据矩阵ci*h*w与权值数据[ci][co][3][3]执行卷积运算得到运算结果矩阵[h-2][co][w-2];依据运算结果矩阵[h-2][co][w-2]确定是否与该第一图片是否与预设的模板头像匹配;所述h为高度值,w为宽度值,ci为深度值,co为数量值。

第二方面,提供一种人脸识别方法,所述方法包括如下步骤:

电子装置采集用户的第一图片;

电子装置从第一图片中提取第一头像,将该第一头像组成输入数据矩阵ci*h*w,将输入数据矩阵ci*h*w与权值数据[ci][co][3][3]执行卷积运算得到运算结果矩阵[h-2][co][w-2];依据运算结果矩阵[h-2][co][w-2]确定是否与该第一图片是否与预设的模板头像匹配;所述h为高度值,w为宽度值,ci为深度值,co为数量值。

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

第四方面,提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行第二方面提供的方法。

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

可以看出,本申请提供的技术方案通过获取第一图片,然后提取第一图片的第一头像作为输入数据矩阵输入与权值数据执行卷积运算得到运算结果矩阵,依据该运算结果矩阵分析确定是否与预设的模板匹配,所以其具有识别精度高,用户体验度高的优点。

附图说明

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

图1是本申请实施例提供的一种电子装置的示意图。

图2是本申请实施例公开的一种电子装置的另一种示意图。

图2a是本申请结果矩阵的位置p示意图。

图2b是本申请的插入数据示意图。

图2c是本申请的kernel[ci][co][3][3]示意图。

图3是本申请实施例的一种人脸识别方法的流程示意图。

图4是本申请实施例公开的一种终端设备的结构示意图。

具体实施方式

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

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

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

在第二方面提供的方法中,所述电子装置为:车载智能终端、数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器或医疗设备。

本申请中的电子装置可以包括智能车载终端、安装在车辆的智能手机(如android手机、ios手机、windowsphone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备(mid,mobileinternetdevices)或穿戴式设备等,上述电子装置仅是举例,而非穷举,包含但不限于上述电子装置,为了描述的方便,下面实施例中将上述电子装置称为用户设备(userequipment,ue)。当然在实际应用中,上述用户设备也不限于上述变现形式,例如还可以包括:智能车载终端、计算机设备等等。

请参阅图1,图1是本申请实施例提供了一种电子装置,请参阅图1,图1是本发明实施例提供了一种电子装置100的结构示意图,上述电子装置100包括:壳体110、电路板120、电池或电源130、盖板140、触控显示屏150、摄像头170,所述壳体110上设置所述电路板120、所述电池或电源130和所述盖板140,所述电路板120还设置有连接所述触控显示屏150的电路;所述电路板120还可以包括:应用处理器ap190、摄像头170。上述摄像头的具体位置可以根据不同的装置进行灵活的设置,例如设置在车辆后视镜上,当然在实际应用中,也可以设置在车辆的前端或后端,本申请并不设置上述摄像头的具体位置,也不对该位置进行实际的设定,如为手机,则可以为手机的前置摄像头或后置摄像头,如为监控装置,直接可以为摄像头。

上述触控显示屏具体可以为薄膜晶体管液晶显示器(thinfilmtransistor-liquidcrystaldisplay,tft-lcd)、发光二极管(lightemittingdiode,led)显示屏、有机发光二极管(organiclight-emittingdiode,oled)显示屏等。

参阅图2,图2为本申请提供的一种电子装置,如图2所示,电子装置可以包括:触控显示屏、应用处理器ap202、摄像头203;该触控显示屏、摄像头203通过至少一个电路204与ap202连接;可选的,在该电子装置内,还可以设置其他的传感器,该传感器包括但不限于:脑电波传感器、重力传感器、距离传感器、扬声器等等。

摄像头203,用于采集用户的第一图片;

ap202,用于从第一图片中提取第一头像,将该第一头像组成输入数据矩阵ci*h*w,将输入数据矩阵ci*h*w与权值数据[ci][co][3][3]执行卷积运算得到运算结果矩阵[h-2][co][w-2];依据运算结果矩阵[h-2][co][w-2]确定是否与该第一图片是否与预设的模板头像匹配;所述h为高度值,w为宽度值,ci为深度值,co为数量值;

上述提取第一头像的算法可以采用现有技术的头像提取方法,本申请并不局限具体的提取方式。

本申请提供的技术方案通过获取第一图片,然后提取第一图片的第一头像作为输入数据矩阵输入与权值数据执行卷积运算得到运算结果矩阵,依据该运算结果矩阵分析确定是否与预设的模板匹配,通过实验发现,通过卷积运算进行人脸识别能够有效的提高识别精度,准确度在95%以上,所以其具有识别精度高,用户体验度高的优点。

具体的,ap202,具体用于提取该结果矩阵[h-2][co][w-2]中多个元素的最大值,提取该最大值对应的结果矩阵[h-2][co][w-2]的位置p(即h-2、co、w-2的值),如该最大值大于设定阈值,获取该位置p是否归属于匹配位置,如该位置p归属于匹配位置,确定与模板图像匹配。例如,如该p的位置为1、1、1(即结果矩阵[h-2][co][w-2]的第一行的第一个位置)对应为匹配位置,如该最大值大于设定阈值,确定与该模板图像匹配。

具体的,如图2a所示,上述黑色位置可以为匹配对应的位置,其他位置对应于非匹配位置。

具体的,ap202,具体用于如将第一头像组成输入矩阵ci*h*w=ci0*h0/2*w0时,将矩阵ci0*h0/2*w0在h方向每隔一行插入一行插入数据ci0*w0得到输入矩阵ci0*h0*w0,该插入数据为在h方向相邻的两个元素的平均值,该ci0*h0*w0最后一行元素的值与倒数第二行的元素的值相同。具体的,如插入的为h方向第2行的数据,则插入数据为h方向第1行与第3行的平均值。上述ci0*h0*w0的取值具体可以为神经网络模型的预设值(该预设值可以通过样本训练来确定,当然也可以由用户自行设定),具体的,神经网络模型对应的ci0*h0*w0可以为:ci0=32;h0=64;w0=20。当然在实际应用中,还可以采用ci0、h0、w0也可以为其他的值。

具体的插入示意图可以如图2b所示。

此技术方案通过插入数据来提高输入数据矩阵的元素数量,具体的,如图2b所示,该插入数据如图2b所示。如图2b箭头所示,该插入的数据为相邻行的平均值,如插入的为最后一行数据,则该插入的数据可以为相邻行的值。如图2b所示,其中(h1+h2)/2表示插入h方向第一行与第二行之间的平均值。其中,h1表示h方向第一行的值,h2表示第二行的值,图2b中的箭头表示将数据直接插入到对应的行。如图3所示,插入数据的方式以第2行以及最后一行的数据为例,对于中间行的插入数据的方式可以参见第2行插入数据的方式来实现。

需要说明的是,上述电子装置具体可以为:车载智能终端、数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。

可选的,所述ap,具体用于将kernel[ci][co][3][3]沿ci方向切割成co个kernel[3][3];提取co个kernel[3][3]中的每个kernel[3][3],对每个kernel[3][3]的最后添加1列零得到kernel[3][4],提取该每个kernel[3][4]以及每个kernel[3][4]对应的输入数据;对每个kernel[3][4]以及对应输入数据执行卷积运算得到运算结果矩阵[h-2][co][w-2]。

此处的kernel[3][4]每行为4个元素,对于kernel元素来说,每个元素占用32个bit位,即一个浮点数的比特位,对于数据的一次读取未为128个比特位,如果采用原来的一行3个数,9个数据也需要读取3次,并且还需要确定每个元素属于哪行以及那列,采用4个元素添加零的方式,一次读取一行的数据,零添加对运算量增加不大,所以只需确定4个元素的行的值即可,无需确定那个数据属于哪一列,这样数据读取的利用率高,提高了卷积运算速度,提高了用户体验度。

需要说明的是,上述将kernel[ci][co][3][3]沿ci方向切割成co个kernel[3][3]具体可以为,沿ci方向随机切割一个co个kernel[3][3]的数据块。即选择采用那个co个kernel[3][3]的数据块可以由用户根据实际的计算情况自行设定,本申请并不限定具体属于那个co个kernel[3][3]的数据块。

该kernel[ci][co][3][3]如图2c所示。

参阅图3,图3提供了一种人脸识别方法,该方法由电子装置来执行,具体的,该电子装置可以为:车载智能终端、数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备中的一种。该方法如图3所示,包括如下步骤:

步骤s301、采集用户的第一图片;

步骤s302、从第一图片中提取第一头像,将该第一头像组成输入数据矩阵ci*h*w,将输入数据矩阵ci*h*w与权值数据[ci][co][3][3]执行卷积运算得到运算结果矩阵[h-2][co][w-2];依据运算结果矩阵[h-2][co][w-2]确定是否与该第一图片是否与预设的模板头像匹配;所述h为高度值,w为宽度值,ci为深度值,co为数量值。

本申请提供的技术方案通过获取第一图片,然后提取第一图片的第一头像进行人工智能识别确定是否与模板图像进行匹配,如匹配,发送开锁命令进行自动开锁,因为本申请的技术方案通过人脸识别的方式进行开锁,这样用户不用钥匙即能够实现智能开锁,并且上述人脸识别能够单独执行,无需借助网络,所以其具有无需网络既能够实现车辆的开锁,具有用户体验度高的优点。

参阅图4,图4提供一种终端设备,所述设备包括:处理器401、存储器402和摄像头403,所述处理器与所述存储器402以及所述摄像头连接,该连接方式可以通过总线(图中以一条线表示)连接,当然在实际应用中,还可以通过其他的方式来连接;其中,该存储器402内存储一个或多个程序,处理器401用于调用该存储器内的一个或多个程序控制所述摄像头403实现如图3所示的方法。

需要说明的是,这里的处理器401可以是一个处理元件,也可以是多个处理元件的统称。例如,该处理元件可以是中央处理器(centralprocessingunit,cpu),也可以是特定集成电路(applicationspecificintegratedcircuit,asic),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digitalsignalprocessor,dsp),或一个或者多个现场可编程门阵列(fieldprogrammablegatearray,fpga)。

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

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

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

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

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

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

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

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

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

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

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