人脸识别方法、装置及计算机存储介质与流程

文档序号:21413096发布日期:2020-07-07 15:39阅读:247来源:国知局
人脸识别方法、装置及计算机存储介质与流程

本发明涉及一种图像识别技术领域,特别是一种人脸识别方法、装置及计算机存储介质。



背景技术:

近几年以来,生物识别技术的飞速发展给人们生活各方面带来了极大的方便。其中,人脸识别以其特有的优势,得到了广大研究者的关注,尤其深度学习在人脸识别的准确性的提高。然而,人脸识别技术在不断进步的同时,也面临着诸多亟待解决的问题,如人脸图像是否为真人的问题和未知人员的判断问题。



技术实现要素:

鉴于上述状况,有必要提供一种人脸识别方法、装置及计算机存储介质,采用迁移学习的深度学习方式训练神经网络,利用训练后的神经网络模型进行人脸识别,以解决上述人脸识别面临的问题。

本发明第一方面提供了一种人脸识别方法,所述人脸识别方法包括如下步骤:建立深度网络模型,获取训练资料并训练所述深度网络模型;获取所述人脸的原始图像,并同时获取所述原始图像对应的景深图像;根据所述原始图像和所述景深图像通过预设的人脸检测方法判断所述原始图像是否为真人图像;若否,则返回所述获取所述人脸的原始图像;若是,则通过所述深度网络模型匹配所述原始图像与图像数据库内预存的待匹配的人员的匹配图像,并输出匹配结果。

本发明第二方面还提供了一种人脸识别装置,所述人脸是识别装置包括:提取单元;用于提取所述人脸的原始图像和与所述原始图像对应的景深图像;显示单元;用于显示所述人脸识别的相关信息;至少一个处理器;以及至少一个存储器,至少一个所述存储器中存储有多个程序模块,所述多个程序模块由至少一个所述处理器运行并执行如下步骤:建立深度网络模型,获取训练资料并训练所述深度网络模型;获取所述人脸的原始图像,并同时获取所述原始图像对应的景深图像;根据所述原始图像和所述景深图像通过预设的人脸检测方法判断所述原始图像是否为真人图像;若否,则返回所述获取所述人脸的原始图像;若是,则通过所述深度网络模型匹配所述原始图像与图像数据库内预存的待匹配的人员的匹配图像,并输出匹配结果。

本发明的第三方面还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行上述所述的人脸识别方法。

本发明提供的人脸识别方法,采用迁移学习的深度学习方式训练深度网络模型,将训练后的深度模型应用于人脸识别中。在人脸识别中,采用人脸检测方法检测原始图像为真人图像还是图片。若检测结果是真人图像,则进行人脸识别采用余弦相似度法进行判断,判断原始图像是否预存于图像数据库内。若该原始图像预存于图像数据库内,则显示该原始图像对应的人员信息。本发明进一步对应提供了一种人脸识别装置及计算机存储介质。利用本发明的人脸识别方法,准确区分真人图像以及辨识未知人员,识别准确率高,且应用广泛。

附图说明

图1是本发明一个实施例中的人脸识别装置的模块示意图。

图2是本发明一个实施例中第一数据处理系统的模块示意图。

图3是本发明一个实施例中第二数据处理系统的模块示意图。

图4是本发明一个实施例中人脸识别方法的流程示意图。

图5是图4所示的人脸识别方法中的余弦相似度法进行人脸识别的流程示意图。

主要元件符号说明

如下具体实施方式将结合上述附图进一步说明本发明。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施方式及实施方式中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施方式仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施方式,都属于本发明保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在限制本发明。

本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

请参照图1,本发明提供了一种人脸识别装置10,该人脸识别装置10包括提取单元100、显示单元200、至少一个存储器、至少一个处理器。具体地,在本实施例中,至少一个存储器包括第一存储器300和第二存储器500。至少一个处理器包括第一处理器400和第二处理器600。第一处理器400和第一存储器300之间电性连接。第一处理器400和第二处理器600之间通信连接。第二处理器600、第二存储器500、提取单元100和显示单元200之间电性连接。

上述人脸识别装置10可以运行于嵌入式平台内,包括终端计算机或其他嵌入式平台。

提取单元100用于提取人脸的原始图像和景深图像。原始图像和景深图像具有相同的解析度。

具体地,在本实施例中,提取单元100包括但不限于以下摄像机:静态图像摄像机、动态图像摄像机和景深摄像机。

静态图像摄像机采用智能摄像机。该智能摄像机使用全玻璃镜头,比采用的树脂镜头有更好的光学性能,画面更通透和细腻。分辨率高,脸部内的小细节也能被清晰记录。该智能摄像机即使在光线较弱的阴天也可以得到良好的观看画质,性价比较高。该静态图像摄像机可以采用但不包括以下连接方式:wifi和蓝牙。

动态图像摄像机采用视频摄像机。该摄像机采用先进压缩技术录制色彩丰富逼真的1080phd视频剪辑,即使最微小的脸部细节也能捕获。该摄像机的压缩过程较短,从而实现快速流畅地上传拍摄的视频,同时减少对处理器的要求。该动态图像摄像机可以采用但不包括以下连接方式:usb接口。

景深摄像机采用双景深摄像机,具有双景深传感器、彩色摄像头与红外线投影,可强化人脸特征辨识、物体动作侦测灯,可以精细人脸识别、情绪判断、半身的精准动作侦测等。

静态图像摄像机、动态图像摄像机和景深摄像机共同作用得到人脸的原始图像和对应的景深图像。

第一存储器300用于存储建立的深度网络模型和训练资料。使用上述训练资料训练深度网络模型。该训练资料包括但不限于以下资料:训练的图片、权重值和训练参数。具体地,该训练图片包括多张人像图片,其中75%为训练图片,另外25%为测试图片。权重值为深度网络模型中网络中的节点和节点之间的权重值,该权重值可以包括初始权重值和调整权重值。训练参数包括训练的准确度和损失值。可以理解,训练的准确度和损失值均由具体的函数计算。准确度越高越好,损失值越低越好。对于一个网络而言,最理想的状况是有高准确度与最低的损失。

第一存储器300还存储有训练深度网络模型的程序代码,并在深度网络模型训练过程中实现高速、自动地完成程序或数据的存取。

第一存储器300可以是,但并不限于,只读存储器(read-onlymemory,rom)、随机存储器(randomaccessmemory,ram)、可编程只读存储器(programmableread-onlymemory,prom)、可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom)、一次可编程只读存储器(one-timeprogrammableread-onlymemory,otprom)、电子擦除式可复写只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

第一处理器400可以是中央处理器(centralprocessingunit,cpu)、数字信号处理器或者单片机等,适于实现各指令。

第二存储器500存储有图像数据库,该图像数据库预存有需要检测和识别的人员的人脸图像。人脸图像包括但不限于人脸的原始图像、与原始图像对应的景深图像和待匹配的人员的匹配图像。

第二存储器500还存储有人脸检测和人脸识别的相关信息,该相关信息包括统计数据、人脸检测方法和余弦相似度法。

统计数据包括但不限于以下数据:脸部平均值和标准偏差、眼睛和鼻子区域平均值和脸部的轮廓。统计眼睛和鼻子区域平均值采用haar人脸侦测法(haarfacedetection)。检测脸部的轮廓采用预设的脸部轮廓检测函数,脸部轮廓检测函数查找脸部轮廓的点,得到脸部轮廓的点的集合。

人脸检测方法利用原始图像和景深图像判断原始图像为真人图像或图片。

第二存储器500内还存储有神经网络模型,该神经网络模型经过深度学习,可以根据原始图像输出多维特征值。该特征值为神经网络深度学习时的特征信息的对应值。比如人脸的眼睛、鼻子或脸部轮廓的特征值。

第二存储器500内还存储有程序代码,并在人脸检测和人脸识别过程中实现高速、自动地完成程序或数据的存取。

第二存储器500可以是,但并不限于,只读存储器(read-onlymemory,rom)、随机存储器(randomaccessmemory,ram)、可编程只读存储器(programmableread-onlymemory,prom)、可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom)、一次可编程只读存储器(one-timeprogrammableread-onlymemory,otprom)、电子擦除式可复写只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

第二处理器600可以是中央处理器(centralprocessingunit,cpu)、数字信号处理器或者单片机等,适于实现各指令。

显示单元200用于显示处理器的处理结果,显示人脸识别的相关信息。该相关信息包括但不限于以下信息:人脸的原始图像、与原始图像对应的景深图像、人员信息。显示单元200包括至少一个显示器。

可以理解的是,第一存储器300和第二存储器500可以为一个存储器,第一处理器400和第二处理器600可以为一个处理器。

请参照图2,第一处理器400还运行有第一数据处理系统410,该第一数据处理系统410包括一个或多个程序形式的计算机指令,该一个或多个程序形式的计算机指令存储于第一存储器300中,并由第一处理器400执行。请参照图2,在本实施例中,第一数据处理系统410包括一第一获取模块411、一训练模块412和第一输出模块413。

该获取模块用于获取建立的深度网络模型和训练资料。该训练资料包括但不限于以下资料:训练的图片、权重值和训练参数。具体地,该训练图片包括多张人像图片,其中75%为训练图片,另外25%为测试图片。权重值为深度网络模型中网络中的节点和节点之间的权重值,该权重值可以包括初始权重值和调整权重值。训练参数包括训练的准确度和损失值。可以理解,训练的准确度和损失值均有具体地函数计算。准确度越高越好,损失值越低越好。

训练模块412用于利用上述训练资料训练上述深度网络模型。该训练过程采用迁移学习法进行训练。迁移学习也称为微调,即利用深层类神经网络的架构及事先训练好的网络来达成一开始的对象侦测。迁移学习被赋予这样一个任务:从以前的任务当中去学习知识(knowledge)或经验,并应用于新的任务当中。在本实施例中,训练建立的深度网络模型可以用于人脸识别。在训练过程中,不是在初始建立深度网络模型时使用初始权重值建立,而是使用最终运用到人脸识别中的经调整后调整权重值进行训练。最终将深度网络模型迁移学习到应用到人脸识别中。

第一输出模块413用于输出训练后的深度网络模型。训练后的深度网络模型可以用于人脸识别中。

请参照图3,第二处理器600还运行有第二数据处理系统610,该第二数据处理系统610包括一个或多个程序形式的计算机指令,该一个或多个程序形式的计算机指令存储于第二存储器500中,并由第二处理器600执行。请参照图3,在本实施例中,第二数据处理系统610包括一第二获取模块611、一检测模块612、一统计模块613、一识别模块614和一第二输出模块615。

第二获取模块611用于获取人脸的原始图像和与原始图像对应的等同分辨率的景深图像以及待匹配人员的匹配图像。

检测模块612用于利用人脸检测方法判断人脸的原始图像是真人图像还是图片。人脸检测方法根据景深凸起的人脸坐标进而利用统计法判断原始图像。

统计模块613用于利用统计法统计脸部信息,该脸部信息包括但不限于以下信息:脸部平均值和标准偏差、眼睛和鼻子区域平均值或脸部的轮廓。

统计脸部平均值和标准偏差,具体为,在景深图像截取保存人脸图,求其整个脸部平均值和标准偏差。由于真人人脸有深度不同变化,图片只有相同深度,因此可以通过图像统计的平均值与标准偏差得知摄影机读取影像是真人图像还是为照片。平均值可判断图像是否在景深合理范围,标准偏差大小可得知图片人脸深度有不同变化。

统计眼睛和鼻子区域平均值,具体为,人脸眼睛与鼻子的深度差异最大,利用人脸检测技术方法得知眼睛和鼻子区域的矩形坐标具体地,人脸侦测的haar分类器(haarcascades)包括haarcascade_mcs_nose.xml和haarcascade_eye.xml算法,用于对人脸和非人脸进行分类的算法。在景深图片截取保存眼睛和鼻子区域的矩形坐标图后,再利用眼睛和鼻子区域平均值的差异性即可知影像是否为真人图像还是为图片。

统计脸部轮廓,具体为,利用预设的函数来查找检测人脸的轮廓,找出脸部轮廓上的点的集合。根据预设函数算出轮廓上的点的集合可知摄影机的影像是否为真人图像还是为图片。

识别模块614用于识别检测出的真人图像为系统内预存的人员或是未知人员。具体地,通过余弦相似度进行人脸识别。余弦相似度通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1,且其最小值是-1。因此,两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。两个向量有相同的指向时,余弦相似度的值为1;两个向量夹角为90°时,余弦相似度的值为0;两个向量指向完全相反的方向时,余弦相似度的值为-1。因此可以利用余弦相似度给出两张图片的相似度。

第二输出模块615用于输出识别后的人脸信息。若识别出真人图像是图像数据库内预存的待匹配的人员的匹配图像,则输出人员的信息;若识别出真人图像不是图像数据库内预存的待匹配的人员的匹配图像,则输出未知信息。

请参照图4,本发明还提供了一种人脸识别方法,具体地,该人脸识别方法包括如下步骤:

步骤s41,建立深度网络模型,获取训练资料并训练深度网络模型。

具体地,利用第一存储器300存储建立的深度网络模型和训练资料。第一处理器400使用上述训练资料训练深度网络模型。该训练资料包括但不限于以下资料:训练的图片、权重值和训练参数。该训练图片包括多张人像图片,其中75%为训练图片,另外25%为测试图片。权重值为深度网络模型中网络中的节点和节点之间的权重值,该权重值可以包括初始权重值和调整权重值。训练参数包括训练的准确度和损失值。可以理解,训练的准确度和损失值均有具体地函数计算。准确度越高越好,损失值越低越好。对于一个网络而言,最理想的状况是具有高准确度与最低的损失。

在具体实施例中,整个训练过程包括两个过程。

第一过程中,获取模块获取建立的深度网络模型和训练资料。训练模块412利用训练图片和初始权重值对深度网络模型进行20个循环周期的训练,接着使用测试图片进行测试并调整权重值,得到调整权重值。利用调整权重值和训练图片再对深度网络模型进行20个循环周期的训练,得到具有高准确度与最低的损失的深度网络模型。可以理解,上述循环周期可以任意多个循环周期,直到得到高准确度与最低的损失的深度网络模型。

第二过程中,将深度网络模块进行迁移学习,首先赋予经第一过程训练后的深度网络模型一个新的任务,即人脸识别。利用图像数据库内预存的人脸图像,对深度网络模块进行迁移学习。使用调整权重值和图像数据库内预存的人脸图像重新训练,将深度网络模块迁移学习,可以进行人脸识别。

第一输出模块413输出迁移学习后的深度网络模型,用于人脸识别。

步骤s42,获取人脸的原始图像并同时获取原始图像对应的景深图像。

利用提取单元100的静态摄像机和动态摄像机提取画面清晰的人脸的原始图像。利用景深摄像机提取与原始图像对应的等同分辨率的景深图像。

步骤s43,根据原始图像和景深图像通过预设的人脸检测方法判断原始图像是否为真人图像。

该步骤主要是判断提取单元100获得的图像是真人图像还是图片。若不是真人图像,则返回步骤s42,若是真人图像,则对该真人图像进行人脸识别,具体过程见后文描述。

人脸检测方法具体包括如下步骤:

步骤s431,获取原始图像的人脸坐标;

第二获取模块611获取人脸的原始图像。第二存储器500内预设有人脸检测函数。第二处理器600根据预设的人脸检测函数得出人脸的矩形坐标,包括矩形左上、右下顶点坐标。可以理解的是,矩形坐标也可为左下、右上顶点坐标。

步骤s432,根据原始图像的人脸坐标对应截取景深图像的人脸坐标。

第二处理器600根据原始图像的人脸坐标对应截取景深图像的人脸坐标。

步骤s433,根据景深图像的人脸坐标利用统计法判断原始图像是否为真人图像。

具体地,利用第二存储器500存储的人脸检测的相关信息进行人脸检测,该相关信息包括统计数据。统计数据包括但不限于以下数据:脸部平均值和标准偏差、眼睛和鼻子区域平均值和脸部的轮廓。统计眼睛和鼻子区域平均值采用haar人脸侦测法。检测脸部的轮廓采用预设的脸部轮廓检测函数,脸部轮廓检测函数查找脸部轮廓的点,得到脸部轮廓的点的集合。根据上述统计数据,再结合景深图像的人脸坐标的具体数据值判断原始图像是真人图像还是图片。

进一步地,经过人脸检测技术检测的原始图像为真人图像,则进行人脸识别,识别该真人图像为图像数据库内预存的待匹配的人员的匹配图像还是未知人员的匹配图像。具体执行步骤s44,通过深度网络模型匹配原始图像与图像数据库内预存的待匹配的人员的匹配图像。该识别过程具体包括如下步骤:

步骤s441,通过深度网络模型找出与预存于图像数据库中待匹配的人员的匹配图像。

具体地,根据第一输出单元输出的深度网络模型,找出与真人图像匹配度最高的人员。深度网络模型内在迁移学习过程中,会有多个特征值对该深度网络模型进行限制,例如,人脸的眼睛和鼻子的位置。第二处理器600根据深度网络模型输出的特征值可以找出与真人图像匹配度最高的人员。

进一步地,第二处理器600根据该匹配度最高的人员找出对应存储于图像数据库内的待匹配的人员的匹配图像。

步骤s442,通过余弦相似度法判断人脸识别是否成功。

具体地,识别模块614采用余弦相似度法对比真人图像的原始图像和匹配图像,判断该原始图像对应的待匹配人员的匹配图像是否存在于图像数据库内。

余弦相似度通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1,且其最小值是-1。因此,两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。两个向量有相同的指向时,余弦相似度的值为1;两个向量夹角为90°时,余弦相似度的值为0;两个向量指向完全相反的方向时,余弦相似度的值为-1。因此可以利用余弦相似度给出两张图片的相似度。

若是,则执行步骤s443,则显示原始图像对应的人员信息。

具体的,第二输出模块615控制显示单元200显示该人员的姓名等信息。

若否,则执行步骤s444,则显示未知人员。

具体地,第二输出模块615控制显示单元200显示“unknow”。

请参照图5,通过余弦相似度法进行人脸识别的过程包括如下步骤:

步骤s501,获取原始图像,并通过预设的神经网络模型输出原始图像的特征值,利用原始图像的特征值得出第一余弦值。

通过第二存储器500内预设的神经网络模型,该神经网络模型经过深度学习,可以根据原始图像输出多维特征值,在本实施例中,输出4096维特征值。第二处理器600根据上述特征值得出第一余弦值,该第一余弦值可以为多个余弦值的集合,最后拟合得到上述第一余弦值。

步骤s502,获取匹配图像,并通过预设的神经网络模型输出匹配图像的特征值,利用匹配图像的特征值得出第二余弦值。

同样地,通过第二存储器500存储的深度学习后的神经网络模型,可以根据匹配图像输出多维特征值,在本实施例中,同样输出4096维特征值。第二处理器600根据上述特征值得出第二余弦值,该第二余弦值也可以为多个余弦值的集合,最后拟合得到上述第二余弦值。

步骤s503,判断第一余弦值和第二余弦值的相似度是否大于等于预设的相似度阈值。

若是,则执行步骤s504,认定原始图像和匹配图像匹配成功。

若否,则执行步骤s505,则认定原始图像和匹配图像匹配失败。

本发明还提供了一种计算机存储介质,该计算机存储介质存储有计算机程序代码,当计算机程序代码在计算设备上运行时,导致计算设备执行上述人脸识别方法。

本发明提供的人脸识别方法,采用迁移学习的深度学习方式训练深度网络模型,将训练后的深度模型应用于人脸识别中。在人脸识别中,采用人脸检测方法检测原始图像为真人图像还是图片。若检测结果是真人图像,则进行人脸识别采用余弦相似度法进行判断,判断原始图像是否预存于图像数据库内。若该原始图像预存于图像数据库内,则显示该原始图像对应的人员信息。利用本发明的人脸识别方法,准确区分真人图像以及辨识未知人员,识别准确率高,且应用广泛。

该人脸识别方法可以用于但不包括以下领域:门禁/出勤系统、大楼安全监控门禁系统、信息/设备登入、智慧零售消费者分析和相片脸部辨识。

另外,在本发明各个实施例中的各功能器可以集成在相同数据处理单元中,也可以是各个器单独物理存在,也可以两个或两个以上器集成在相同器中。上述集成的器既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他器或步骤,单数不排除复数。计算机装置权利要求中陈述的多个器或计算机装置也可以由同一个器或计算机装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

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