本发明涉及人脸识别技术领域,尤其涉及一种人脸识别方法、装置、机器人及存储介质。
背景技术:
人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术,随着科学技术的飞速发展,人脸识别技术越来越多的被应用到各行各业中,例如手机、安全设备和机器人等,基于此,人脸识别技术的技术革新的需求也越来越紧迫。
人脸关键点识别是人脸识别算法及应用的重要组成部分。其中关键点识别的准确度会直接影响人脸识别的准确度。现有的要提高人脸关键点识别的准确度以及后续人脸识别的准确度往往需要设置比较复杂的网络模型。
由于机器人端算力有限,复杂的模型在机器人端很难使用,因此,亟需要一种可以在机器人端使用的人脸识别方法。
技术实现要素:
基于此,有必要针对上述问题,提出一种设备端算力有限的情况下还能准确完成人脸识别的人脸识别方法、装置、计算机设备及存储介质。
第一方面,本发明实施例提供一种人脸识别方法,所述方法包括:
获取待识别人脸图像;
采用预先训练好的人脸关键点模型对所述待识别人脸图像进行人脸关键点识别,所述人脸关键点模型为轻量化神经网络模型;
根据识别得到的所述人脸关键点将所述待识别人脸图像进行对齐以得到对齐人脸图像;
提取出所述对齐人脸图像中的人脸特征;
将所述人脸特征与预设数据库中的注册人脸特征进行比对,以识别出所述待识别人脸图像中的人物,所述注册人脸特征是通过对注册的正脸图像进行特征提取得到的,所述注册的正脸图像是通过预先训练好的人脸姿态检测模型筛选得到的。
第二方面,本发明实施例提供一种人脸识别装置,所述装置包括:
图像获取模块,用于获取待识别人脸图像;
关键点提取模块,用于采用预先训练好的人脸关键点模型对所述待识别人脸图像进行人脸关键点识别,所述人脸关键点模型为轻量化神经网络模型;
人脸对齐模块,用于根据所述人脸关键点将所述待识别人脸图像进行对齐以得到对齐人脸图像;
特征提取模块,用于提取出所述对齐人脸图像中的人脸特征;
人脸识别模块,用于将所述人脸特征与预设数据库中的注册人脸特征进行比对,以识别出所述待识别人脸图像中的人物。
第三方面,本发明实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取待识别人脸图像;
采用预先训练好的人脸关键点模型对所述待识别人脸图像进行人脸关键点识别,所述人脸关键点模型为轻量化神经网络模型;
根据识别得到的所述人脸关键点将所述待识别人脸图像进行对齐以得到对齐人脸图像;
提取出所述对齐人脸图像中的人脸特征;
将所述人脸特征与预设数据库中的注册人脸特征进行比对,以识别出所述待识别人脸图像中的人物,所述注册人脸特征是通过对注册的正脸图像进行特征提取得到的,所述注册的正脸图像是通过预先训练好的人脸姿态检测模型筛选得到的。
第四方面,本发明实施例提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取待识别人脸图像;
采用预先训练好的人脸关键点模型对所述待识别人脸图像进行人脸关键点识别,所述人脸关键点模型为轻量化神经网络模型;
根据识别得到的所述人脸关键点将所述待识别人脸图像进行对齐以得到对齐人脸图像;
提取出所述对齐人脸图像中的人脸特征;
将所述人脸特征与预设数据库中的注册人脸特征进行比对,以识别出所述待识别人脸图像中的人物,所述注册人脸特征是通过对注册的正脸图像进行特征提取得到的,所述注册的正脸图像是通过预先训练好的人脸姿态检测模型筛选得到的。
本发明实施例通过采用预先训练好的人脸关键点模型对所述待识别人脸图像进行人脸关键点识别,其中人脸关键点模型采用轻量化神经网络模型,降低了算力需求,并且采用预设数据库中的注册人脸特征进行比对保证了识别的准确率,其中注册人脸特征是通过多个模型得到的精确人脸特征,解决了因设备端算力不足导致得到的人脸关键点不够精确的问题,获得了设备端算力有限的情况下准确完成人脸识别的效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要采用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中人脸识别方法的应用环境图;
图2为一个实施例中人脸识别方法的流程图;
图3为一个实施例中人脸识别方法中获取待识别人脸图像的流程图;
图4为另一个实施例中人脸识别方法的流程图;
图5为一个实施例中人脸识别方法中获取注册人脸图像的流程图;
图6为一个实施例中人脸识别装置的结构框图;
图7为一个实施例中机器人的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为一个实施例中人脸识别方法的应用环境图。参照图1,该人脸识别方法应用于人脸识别装置。该人脸识别装置包括终端110和服务器120。终端110和服务器120通过网络连接,终端110具体可以是台式终端或移动终端,移动终端具体可以是手机、平板电脑、笔记本电脑、机器人等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端110用于获取待识别人脸图像上传到服务器120,服务器120用于接收待识别人脸图像,采用预先训练好的人脸关键点模型对所述待识别人脸图像进行人脸关键点识别,所述人脸关键点模型为轻量化神经网络模型;根据识别得到的所述人脸关键点将所述待识别人脸图像进行对齐以得到对齐人脸图像;提取出所述对齐人脸图像中的人脸特征;将所述人脸特征与预设数据库中的注册人脸特征进行比对,以识别出所述待识别人脸图像中的人物,所述注册人脸特征是通过对注册的正脸图像进行特征提取得到的,所述注册的正脸图像是通过预先训练好的人脸姿态检测模型筛选得到的。
在另一个实施例中,上述文本实体识别方法可以直接应用于终端110,终端110用于获取待识别人脸图像;采用预先训练好的人脸关键点模型对所述待识别人脸图像进行人脸关键点识别,所述人脸关键点模型为轻量化神经网络模型;根据识别得到的所述人脸关键点将所述待识别人脸图像进行对齐以得到对齐人脸图像;提取出所述对齐人脸图像中的人脸特征;将所述人脸特征与预设数据库中的注册人脸特征进行比对,以识别出所述待识别人脸图像中的人物,所述注册人脸特征是通过对注册的正脸图像进行特征提取得到的,所述注册的正脸图像是通过预先训练好的人脸姿态检测模型筛选得到的。
如图2所示,在一个实施例中,提供了一种人脸识别方法。该方法既可以应用于终端,也可以应用于服务器,本实施例以应用于终端举例说明。该人脸识别方法具体包括如下步骤:
s110、获取待识别人脸图像。
本实施例中,执行本方法的终端为机器人,机器人包括摄像头,用户需要进行人脸识别时,可以将人脸放置在机器人的摄像头前面,从而机器人可以通过摄像头拍摄该人脸,获取到的图像作为待识别人脸图像。
作为优选的,如图3所示,步骤s110可以具体包括如下步骤:
s111、获取待识别图像。
s112、对所述待识别图像中的人脸进行检测和提取以得到待识别人脸图像。
本实施例中,机器人拍摄得到的图像作为待识别图像,为了确保进行人脸识别时待识别图像中存在人脸,还需要对待识别图像中的人脸进行检测,从而提取出待识别图像中的只包括人脸部分的图像作为待识别人脸图像,从而提高人脸识别的准确率,并提高人脸识别的效率。
s120采用预先训练好的人脸关键点模型对所述待识别人脸图像进行人脸关键点识别,所述人脸关键点模型为轻量化神经网络模型。
s130、根据识别得到的所述人脸关键点将所述待识别人脸图像进行对齐以得到对齐人脸图像。
本实施例中,获取到待识别人脸图像后,就可以对待识别人脸图像进行人脸关键点识别,其中识别人脸关键点可以采用预先训练好的人脸关键点检测模型,将待识别人脸图像输入至该人脸关键点检测模型后,人脸关键点检测模型就可以输出该待识别人脸图像的人脸关键点。得到人脸关键点后,就可以根据识别得到的人脸关键点将待识别人脸图像进行对齐,从而得到对齐人脸图像,对齐人脸图像是基于人脸关键点将待识别人脸图像转换为的正脸图像,得到对齐人脸图像后才能用于人脸识别的特征对比,从而保证人脸识别的准确率。其中,该人脸关键点检测模型具体可以为mobilenetv3_small的神经网络模型,具体的,mobilenetv3_small是mobilenetv3的轻量版模型,在速度表现优异的情况下也有很好的准确度,并且所需的算力较低,而上述mobilenetv3结合了mobilenetv1和mobilenetv2的优点,是很强的移动端特征提取模型。作为优选的,即使是设备上的算力依旧有限,例如体积较小的机器人,还可以对mobilenetv3_small模型进行通道裁剪得到mobilenetv3_smallx0.5,该模型即使是在精度损失一点的情况下也具有较好的人脸识别效果。
s140、提取出所述对齐人脸图像中的人脸特征。
s150、将所述人脸特征与预设数据库中的注册人脸特征进行比对,以识别出所述待识别人脸图像中的人物。
本实施例中,得到对齐人脸图像后,就可以提取出对齐人脸图像中的人脸特征,然后将人脸特征与预设数据库中的注册人脸特征进行比对,从而就可以识别出待识别人脸图像中的人物。其中,注册人脸特征是通过对注册的正脸图像进行特征提取得到的,而注册的正脸图像是通过预先训练好的人脸姿态检测模型筛选得到的。具体的,在进行人脸识别之前,要将需要识别的用户进行人脸注册,可以采用与上述步骤相同的方法获取注册用户的人脸关键点识别,进而提取出注册人脸特征,进一步为了保证识别的准确率,还需要预先通过预先训练好的人脸姿态检测模型筛选得到正脸图像,通过注册的正脸图像进行特征提取得到注册人脸特征,每个注册人脸特征都包括对应的用户名称。如此将全部注册用户的正脸图像的注册人脸特征存储在预设数据库中,进行人脸识别时,就可以很简单的通过比对识别出待识别人脸图像中的人物。
本发明实施例通过采用预先训练好的人脸关键点模型对所述待识别人脸图像进行人脸关键点识别,其中人脸关键点模型采用轻量化神经网络模型,降低了算力需求,并且采用预设数据库中的注册人脸特征进行比对保证了识别的准确率,其中注册人脸特征是通过多个模型得到的精确人脸特征,解决了因设备端算力不足导致得到的人脸关键点不够精确的问题,获得了设备端算力有限的情况下准确完成人脸识别的效果。
如图4所示,在另一个实施例中,上述实施例中的人脸识别方法的步骤s110之前还包括:
s210、获取注册人脸图像。
本实施例中,在进行人脸识别之前,要将需要识别的用户进行人脸注册,首先需要获取注册人脸图像,该注册人脸图像可以是机器人实时拍摄的,也可以是用户通过服务器上传的,用于用户注册到预设数据库中的人脸图像供后续人脸识别时的对比使用。
作为优选的,如图5所示,步骤s210可以具体包括如下步骤:
s211、获取多张待注册人脸图像。
s212、对所述多张待注册人脸图像中的人脸进行检测以得到注册人脸图像,所述注册人脸图像为所述多张待注册人脸图像中人脸特征值最高的待注册人脸图像。
本实施例中,因是获取注册用户的注册人脸图像,因此可以获取多张待注册人脸图像,从而选择其中最佳的图像作为注册人脸图像。获取到多张待注册人脸图像后,首先可以对多张待注册人脸图像中的人脸进行检测以得到注册人脸图像,确保进行注册时注册人脸图像中存在人脸,此外,因为待注册人脸图像为多张,筛去不存在人脸的待注册人脸图像后,还需要选取人脸特征值最高的待注册人脸图像作为注册人脸图像,即注册人脸图像为多张待注册人脸图像中人脸特征值最高的待注册人脸图像,其中,人脸特征值最高可以体现为在多张待注册人脸图像中的人脸的图像尺寸最大,示例性的,第一待注册人脸图像中的人脸的图像尺寸为100x100,第二待注册人脸图像中的人脸的图像尺寸为10x10,那么第一待注册人脸图像中的人脸特征值最高,将第一待注册人脸图像作为注册人脸图像。
s220、将所述注册人脸图像作为预先训练好的人脸识别模型的输入,所述人脸识别模型包括人脸关键点检测模型和人脸姿态检测模型,所述人脸关键点检测模型与所述人脸姿态检测模型连接。
s230、获取所述人脸姿态检测模型输出的人脸姿态,并获取所述人脸关键点检测模型输出的注册人脸关键点。
s240、当所述人脸姿态为正脸图像时,根据所述注册人脸关键点将所述注册人脸图像进行对齐以得到对齐注册人脸。
s250、提取出所述对齐注册人脸中的人脸特征作为注册人脸特征并存储在预设数据库中。
本实施例中,获取到注册人脸图像后,就可以将注册人脸图像作为人脸识别模型的输入来获取人脸姿态和注册人脸关键点,其中人脸识别模型是预先训练好的,人脸识别模型包括预先训练好的人脸关键点检测模型和预先训练好的人脸姿态检测模型,人脸关键点检测模型与人脸姿态检测模型连接,其中人脸关键点检测模型也用于人脸识别中的人脸关键点提取,而人脸姿态检测模型可以根据实际需要简单构建。具体的,人脸关键点检测模型通过人脸关键点检测模型的中间特征层与人脸姿态检测模型连接,示例性的,选取人脸关键点检测模型中的中间特征层,从该中间特征层中经过2个步长为2的卷积层连接至人脸姿态检测模型,完成对人脸关键点提取的去耦合作用,并作为人脸姿态检测模型的输入,从而实现用人脸关键点辅助人脸姿态的预测,如此将人脸关键点检测模型的中间特征层与人脸姿态检测模型连接得到的联合模型,即人脸识别模型具有较好的平衡性,人脸姿态的预测对提取人脸关键点的依赖性和计算量都不高,也避免了基于3d标准模块进行人脸姿态预测存在较大误差的问题。
需要说明的是,人脸识别模型是基于预设损失函数训练得到的,其中人脸关键点检测模型采用的预设损失函数可以为wingloss损失函数,具体为:
其中,c是一个常数,ω是一个正数用于将该损失函数的非线性部分的范围限制在[-ω,ω]的区间内,ε则是约束该损失函数的非线性区域的曲率,上述参数都可以根据实际需求进行选取,示例性的,选取ω=10,ε=2。该wingloss损失函数相较于l1损失函数、l2损失函数和l1_smooth损失函数,因其细微差异的响应较高,可以在人脸关键点检测模型训练时实现对人脸关键点的更精细化定位,而人脸姿态检测模型采用的预设损失函数可以为l1_smooth损失函数。
本实施例中,人脸关键点包括眼部关键点和其他人脸关键点,其他人脸关键点可以为鼻子关键点、嘴巴关键点和耳朵关键点,眼部关键点包括左眼关键点和右眼关键点,然而由于眼睛大小的差异及眼睛睁闭程度的多样化、眼睛佩戴眼镜的复杂情况,眼部关键点的定位容易出现较大的误差,作为优选的,上述wingloss损失函数中眼部关键点的损失系数大于所述其他关键点的损失系数,示例性的,眼部关键点的损失系数为3,其他人脸关键点的损失系数为1,从而加大眼部关键点的权重,帮助眼部关键点更精确的定位的同时不影响其他关键点。
进一步的,将注册人脸图像输入人脸识别模型后,人脸识别模型中的人脸关键点检测模型会输出注册人脸关键点,而人脸识别模型中的人脸姿态检测模型因与人脸关键点检测模型连接,人脸姿态检测模型会将输入的注册人脸图像和人脸关键点检测模型中间特征层输出的人脸关键点特征作为输入,输出人脸姿态,该人脸姿态实现了通过人脸关键点的辅助预测,且没有影响人脸关键点的精度,实现对人脸关键点的去耦合。得到人脸姿态后,就可以根据人脸姿态确定注册人脸图像是否为正脸图像,当人脸姿态为正脸图像时,就可以根据注册人脸关键点将注册人脸图像进行对齐以得到对齐注册人脸。最后提取出对齐注册人脸中的人脸特征作为注册人脸特征并存储在预设数据库中,以供后续的人脸识别时使用。
在一替代实施例中,获取多张待注册人脸图像包括:获取眼睛处于不同状态下的同一个注册用户对应的多张注册人脸图片。注册人脸关键点包括注册眼部关键点和注册其他人脸关键点,所述获取所述人脸关键点检测模型输出的注册人脸关键点还包括:采用所述人脸关键点检测模型提取所述多张注册人脸图片中的眼部特征点,将得到的不同状态下的眼部特征点作为所述同一个注册用户的注册眼部关键点。本实施例中,为了进一步减小眼部关键点的误差,在获取多张待注册人脸图像时,获取眼睛处于不同状态下的同一个注册用户对应的多张注册人脸图片,在获取人脸关键点检测模型输出的注册人脸关键点时,还可以采用人脸关键点检测模型提取多张注册人脸图片中的眼部特征点,将得到的不同状态下的眼部特征点作为同一个注册用户的注册眼部关键点,从而提高眼部关键点的注册数据,从数据源的途径中减少人脸识别时的误差。
本发明实施例通过将所述注册人脸图像作为预先训练好的人脸识别模型的输入,所述人脸识别模型包括人脸关键点检测模型和人脸姿态检测模型,所述人脸关键点检测模型与所述人脸姿态检测模型连接,以及增加眼部关键点的损失函数权重以及数据源,不仅解决了人脸姿态的预测鲁棒性不足的问题,还解决了眼部关键点的定位容易出现较大误差的问题,实现了在不损失人脸关键点精度情况下完成了人脸关键点、人脸姿态的联合估计,以及提高眼部关键点识别准确率的效果。
如图6所示,在一个实施例中,提供了一种人脸识别装置,该实施例提供的人脸识别装置可执行本发明任意实施例所提供的人脸识别方法,具备执行方法相应的功能模块和有益效果。该人脸识别装置包括图像获取模块100、关键点提取模块200、人脸对齐模块300、特征提取模块400和人脸识别模块500。
具体的,图像获取模块100用于获取待识别人脸图像;关键点提取模块200用于采用预先训练好的人脸关键点模型对所述待识别人脸图像进行人脸关键点识别,所述人脸关键点模型为轻量化神经网络模型;人脸对齐模块300用于根据所述人脸关键点将所述待识别人脸图像进行对齐以得到对齐人脸图像;特征提取模块400用于提取出所述对齐人脸图像中的人脸特征;人脸识别模块500用于将所述人脸特征与预设数据库中的注册人脸特征进行比对,以识别出所述待识别人脸图像中的人物。
在一个实施例中,上述装置还包括人脸注册模块600,该人脸注册模块600用于获取注册人脸图像;将所述注册人脸图像作为预先训练好的人脸识别模型的输入,所述人脸识别模型包括人脸关键点检测模型和人脸姿态检测模型,所述人脸关键点检测模型与所述人脸姿态检测模型连接;获取所述人脸姿态检测模型输出的人脸姿态,并获取所述人脸关键点检测模型输出的注册人脸关键点;当所述人脸姿态为正脸图像时,根据所述注册人脸关键点将所述注册人脸图像进行对齐以得到对齐注册人脸;提取出所述对齐注册人脸中的人脸特征作为注册人脸特征并存储在预设数据库中。
在一个实施例中,所述人脸关键点检测模型通过所述人脸关键点检测模型的中间特征层与所述人脸姿态检测模型连接,所述人脸姿态检测模型用于根据输入的注册人脸图像和人脸关键点特征确定所述注册人脸图像是否为正脸图像,所述人脸关键点特征为所述中间特征层的输出。
在一个实施例中,该人脸注册模块600还用于获取多张待注册人脸图像;对所述多张待注册人脸图像中的人脸进行检测以得到注册人脸图像,所述注册人脸图像为所述多张待注册人脸图像中人脸特征值最高的待注册人脸图像。
在一个实施例中,该人脸注册模块600还用于获取眼睛处于不同状态下的同一个注册用户对应的多张注册人脸图片;所述注册人脸关键点包括注册眼部关键点和注册其他人脸关键点,该人脸注册模块600还用于采用所述人脸关键点检测模型提取所述多张注册人脸图片中的眼部特征点,将得到的不同状态下的眼部特征点作为所述同一个注册用户的注册眼部关键点。
在一个实施例中,所述人脸关键点包括眼部关键点和其他人脸关键点,所述人脸识别模型是基于预设损失函数训练得到的,所述预设损失函数中所述眼部关键点的损失系数大于所述其他人脸关键点的损失系数。
在一个实施例中,该图像获取模块100还用于获取待识别图像;对所述待识别图像中的人脸进行检测和提取以得到待识别人脸图像。
图7示出了一个实施例中机器人的内部结构图。如图7所示,该机器人包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该机器人的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现人脸识别方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行年龄识别方法。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的机器人的限定,具体的机器人可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种机器人,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取待识别人脸图像;
采用预先训练好的人脸关键点模型对所述待识别人脸图像进行人脸关键点识别,所述人脸关键点模型为轻量化神经网络模型;
根据识别得到的所述人脸关键点将所述待识别人脸图像进行对齐以得到对齐人脸图像;
提取出所述对齐人脸图像中的人脸特征;
将所述人脸特征与预设数据库中的注册人脸特征进行比对,以识别出所述待识别人脸图像中的人物,所述注册人脸特征是通过对注册的正脸图像进行特征提取得到的,所述注册的正脸图像是通过预先训练好的人脸姿态检测模型筛选得到的。
在一个实施例中,所述获取待识别人脸图像之前包括:
获取注册人脸图像;将所述注册人脸图像作为预先训练好的人脸识别模型的输入,所述人脸识别模型包括人脸关键点检测模型和人脸姿态检测模型,所述人脸关键点检测模型与所述人脸姿态检测模型连接;获取所述人脸姿态检测模型输出的人脸姿态,并获取所述人脸关键点检测模型输出的注册人脸关键点;当所述人脸姿态为正脸图像时,根据所述注册人脸关键点将所述注册人脸图像进行对齐以得到对齐注册人脸;提取出所述对齐注册人脸中的人脸特征作为注册人脸特征并存储在预设数据库中。
在一个实施例中,所述人脸关键点检测模型通过所述人脸关键点检测模型的中间特征层与所述人脸姿态检测模型连接,所述人脸姿态检测模型用于根据输入的注册人脸图像和人脸关键点特征确定所述注册人脸图像是否为正脸图像,所述人脸关键点特征为所述中间特征层的输出。
在一个实施例中,所述获取注册人脸图像包括:获取多张待注册人脸图像;对所述多张待注册人脸图像中的人脸进行检测以得到注册人脸图像,所述注册人脸图像为所述多张待注册人脸图像中人脸特征值最高的待注册人脸图像。
在一个实施例中,所述获取多张待注册人脸图像包括:获取眼睛处于不同状态下的同一个注册用户对应的多张注册人脸图片;所述注册人脸关键点包括注册眼部关键点和注册其他人脸关键点,所述获取所述人脸关键点检测模型输出的注册人脸关键点还包括:采用所述人脸关键点检测模型提取所述多张注册人脸图片中的眼部特征点,将得到的不同状态下的眼部特征点作为所述同一个注册用户的注册眼部关键点。
在一个实施例中,所述人脸关键点包括眼部关键点和其他人脸关键点,所述人脸识别模型是基于预设损失函数训练得到的,所述预设损失函数中所述眼部关键点的损失系数大于所述其他人脸关键点的损失系数。
在一个实施例中,所述获取待识别人脸图像包括:获取待识别图像;对所述待识别图像中的人脸进行检测和提取以得到待识别人脸图像。
在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取待识别人脸图像;
采用预先训练好的人脸关键点模型对所述待识别人脸图像进行人脸关键点识别,所述人脸关键点模型为轻量化神经网络模型;
根据识别得到的所述人脸关键点将所述待识别人脸图像进行对齐以得到对齐人脸图像;
提取出所述对齐人脸图像中的人脸特征;
将所述人脸特征与预设数据库中的注册人脸特征进行比对,以识别出所述待识别人脸图像中的人物,所述注册人脸特征是通过对注册的正脸图像进行特征提取得到的,所述注册的正脸图像是通过预先训练好的人脸姿态检测模型筛选得到的。
在一个实施例中,所述获取待识别人脸图像之前包括:
获取注册人脸图像;将所述注册人脸图像作为预先训练好的人脸识别模型的输入,所述人脸识别模型包括人脸关键点检测模型和人脸姿态检测模型,所述人脸关键点检测模型与所述人脸姿态检测模型连接;获取所述人脸姿态检测模型输出的人脸姿态,并获取所述人脸关键点检测模型输出的注册人脸关键点;当所述人脸姿态为正脸图像时,根据所述注册人脸关键点将所述注册人脸图像进行对齐以得到对齐注册人脸;提取出所述对齐注册人脸中的人脸特征作为注册人脸特征并存储在预设数据库中。
在一个实施例中,所述人脸关键点检测模型通过所述人脸关键点检测模型的中间特征层与所述人脸姿态检测模型连接,所述人脸姿态检测模型用于根据输入的注册人脸图像和人脸关键点特征确定所述注册人脸图像是否为正脸图像,所述人脸关键点特征为所述中间特征层的输出。
在一个实施例中,所述获取注册人脸图像包括:获取多张待注册人脸图像;对所述多张待注册人脸图像中的人脸进行检测以得到注册人脸图像,所述注册人脸图像为所述多张待注册人脸图像中人脸特征值最高的待注册人脸图像。
在一个实施例中,所述获取多张待注册人脸图像包括:获取眼睛处于不同状态下的同一个注册用户对应的多张注册人脸图片;所述注册人脸关键点包括注册眼部关键点和注册其他人脸关键点,所述获取所述人脸关键点检测模型输出的注册人脸关键点还包括:采用所述人脸关键点检测模型提取所述多张注册人脸图片中的眼部特征点,将得到的不同状态下的眼部特征点作为所述同一个注册用户的注册眼部关键点。
在一个实施例中,所述人脸关键点包括眼部关键点和其他人脸关键点,所述人脸识别模型是基于预设损失函数训练得到的,所述预设损失函数中所述眼部关键点的损失系数大于所述其他人脸关键点的损失系数。
在一个实施例中,所述获取待识别人脸图像包括:获取待识别图像;对所述待识别图像中的人脸进行检测和提取以得到待识别人脸图像。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。请输入具体实施内容部分。
1.一种人脸识别方法,其特征在于,所述方法包括:
获取待识别人脸图像;
采用预先训练好的人脸关键点模型对所述待识别人脸图像进行人脸关键点识别,所述人脸关键点模型为轻量化神经网络模型;
根据识别得到的所述人脸关键点将所述待识别人脸图像进行对齐以得到对齐人脸图像;
提取出所述对齐人脸图像中的人脸特征;
将所述人脸特征与预设数据库中的注册人脸特征进行比对,以识别出所述待识别人脸图像中的人物,所述注册人脸特征是通过对注册的正脸图像进行特征提取得到的,所述注册的正脸图像是通过预先训练好的人脸姿态检测模型筛选得到的。
2.根据权利要求1所述的方法,其特征在于,所述获取待识别人脸图像之前包括:
获取注册人脸图像;
将所述注册人脸图像作为预先训练好的人脸识别模型的输入,所述人脸识别模型包括人脸关键点检测模型和人脸姿态检测模型,所述人脸关键点检测模型与所述人脸姿态检测模型连接;
获取所述人脸姿态检测模型输出的人脸姿态,并获取所述人脸关键点检测模型输出的注册人脸关键点;
当所述人脸姿态为正脸图像时,根据所述注册人脸关键点将所述注册人脸图像进行对齐以得到对齐注册人脸;
提取出所述对齐注册人脸中的人脸特征作为注册人脸特征并存储在预设数据库中。
3.根据权利要求2所述的方法,其特征在于,所述人脸关键点检测模型通过所述人脸关键点检测模型的中间特征层与所述人脸姿态检测模型连接,所述人脸姿态检测模型用于根据输入的注册人脸图像和人脸关键点特征确定所述注册人脸图像是否为正脸图像,所述人脸关键点特征为所述中间特征层的输出。
4.根据权利要求2所述的方法,其特征在于,所述获取注册人脸图像包括:
获取多张待注册人脸图像;
对所述多张待注册人脸图像中的人脸进行检测以得到注册人脸图像,所述注册人脸图像为所述多张待注册人脸图像中人脸特征值最高的待注册人脸图像。
5.根据权利要求4所述的方法,其特征在于,所述获取多张待注册人脸图像包括:
获取眼睛处于不同状态下的同一个注册用户对应的多张注册人脸图片;
所述注册人脸关键点包括注册眼部关键点和注册其他人脸关键点,所述获取所述人脸关键点检测模型输出的注册人脸关键点还包括:
采用所述人脸关键点检测模型提取所述多张注册人脸图片中的眼部特征点,将得到的不同状态下的眼部特征点作为所述同一个注册用户的注册眼部关键点。
6.根据权利要求2所述的方法,其特征在于,所述人脸关键点包括眼部关键点和其他人脸关键点,所述人脸关键点检测模型是基于预设损失函数训练得到的,所述预设损失函数中所述眼部关键点的损失系数大于所述其他人脸关键点的损失系数。
7.根据权利要求1所述的方法,其特征在于,所述获取待识别人脸图像包括:
获取待识别图像;
对所述待识别图像中的人脸进行检测和提取以得到待识别人脸图像。
8.一种人脸识别装置,其特征在于,所述装置包括:
图像获取模块,用于获取待识别人脸图像;
关键点提取模块,用于采用预先训练好的人脸关键点模型对所述待识别人脸图像进行人脸关键点识别,所述人脸关键点模型为轻量化神经网络模型;
人脸对齐模块,用于根据所述人脸关键点将所述待识别人脸图像进行对齐以得到对齐人脸图像;
特征提取模块,用于提取出所述对齐人脸图像中的人脸特征;
人脸识别模块,用于将所述人脸特征与预设数据库中的注册人脸特征进行比对,以识别出所述待识别人脸图像中的人物。
9.一种机器人,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
技术总结