神经网络的训练方法、人脸识别方法及装置
技术领域
本发明涉及图像处理技术领域,尤其涉及一种神经网络的训练方法、人脸识别方法及装置。
背景技术
人脸识别技术可被广泛应用于各种领域,人脸识别技术可有助于公安破案,如应用于智能监控中,可帮助公安在全国范围内搜索逃犯行踪。人脸识别技术还可应用于自助服务,如银行的自助提款机,通过对持卡本人的面部特征录入及识别,可避免他人盗取现金的情况发生。人脸识别技术还可应用于企业及住宅的安全管理,对企业或住宅采用人脸识别门禁或考勤***,有助于企业的规范化管理和家庭住宅的安全及防盗。
此外,人脸识别技术还可应用于智能家居中,通过识别使用者的人脸信息进而获得使用者的权限,提升了智能家居的使用安全。现有技术中通过模型对人脸识别时,并不能准确定位人脸,从而导致人脸检测的准确率较低。
发明内容
本发明实施例提供一种神经网络的训练方法、人脸识别方法及装置,可以使人脸检测框的定位更加准确,从而使人脸定位更加准确,当存在多张人脸、人脸被遮挡或者外部光线变化的情况时,可以提高人脸检测的准确率,计算量小,可以提高人脸检测的效率。
第一方面,本发明实施例提供了一种神经网络的训练方法,包括:
采用包含人脸数据的训练数据集对第一神经网络进行训练,得到初级的第一神经网络;
将所述训练数据集输入到初级的所述第一神经网络中,输出人脸检测框的至少两个候选区域的位置信息;
基于训练数据集中的人脸检测框的位置信息与所述候选区域的位置信息,确定所述候选区域的得分;
将得分高于设定分数的候选区域作为目标候选区域,并基于所述目标候选区域的位置信息获取所述目标候选区域内的训练数据,并采用所述训练数据对第二神经网络进行训练,得到初级的第二神经网络。
第二方面,本发明实施例还提供了一种人脸识别方法,包括:
通过摄像头获取人体图像,并通过目标神经网络输出人脸检测框的位置信息;其中,目标神经网络由本发明实施例提供方法训练的第一神经网络和本发明实施提供方法训练的第二神经网络形成;
将所述位置信息对应的人脸检测框内的图像输入到第三神经网络中,并通过所述第三神经网络的特征层生成人脸特征数据;其中,所述第三神经网络是根据人脸数据集调整后的神经网络;
将所述人脸特征数据发送到服务器以进行人脸识别。
第三方面,本发明实施例还提供了一种神经网络的训练装置,包括:
第一训练模块,用于采用包含人脸数据的训练数据集对第一神经网络进行训练,得到初级的第一神经网络;
候选区域位置获取模块,用于将所述训练数据集输入到初级的所述第一神经网络中,输出人脸检测框的至少两个候选区域的位置信息;
得分确定模块,用于基于训练数据集中的人脸检测框的位置信息与所述候选区域的位置信息,确定所述候选区域的得分;
第二训练模块,用于将得分高于设定分数的候选区域作为目标候选区域,并基于所述目标候选区域的位置信息获取所述目标候选区域内的训练数据,并采用所述训练数据对第二神经网络进行训练,得到初级的第二神经网络。
第四方面,本发明实施例还提供了一种人脸识别装置,包括:
检测框位置信息生成模块,用于通过所述摄像头获取人体图像,并通过目标神经网络输出人脸检测框的位置信息;其中,所述目标神经网络由本发明实施例提供的方法训练的第一神经网络和本发明实施例提供的方法训练的第二神经网络形成;
人脸特征数据生成模块,用于将所述位置信息对应的人脸检测框内的图像输入到第三神经网络中,并通过所述第三神经网络的特征层生成人脸特征数据;其中,所述第三神经网络是根据人脸数据集调整后的神经网络;发送模块,用于将所述人脸特征数据发送到服务器以进行人脸识别。
第五方面,本发明实施例还提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现本发明实施例提供的一种神经网络的训练方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现本发明实施例提供的一种神经网络的训练方法。
第七方面,本发明实施例提供了一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现本发明实施例提供的人脸识别方法;
所述设备还包括:摄像头,用于采集人体图像。
第八方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例提供的一种人脸识别方法。
本发明提供的技术方案,通过对用于人脸识别的第一神经网络和第二神经进行训练,使得采用上述训练后的第一神经网络和第二神经网络进行人脸识别时,可以准确的定位人脸检测框,从而使人脸定位更加精确,并且,通过已训练的两个神经网络形成的目标神经网络对人体图像进行处理,以输出人脸检测框的位置信息,可以快速对人脸进行定位,当多张人脸、人脸被遮挡、外部光线变化时,可以提高人脸检测的准确率,计算量小,可以提高人脸检测的效率;本发明通过神经网络对人脸特征进行提取,可以提高人脸识别的准确率,尤其是当人脸姿态发生变化时,提高人脸识别的准确率,并且解决现有技术中***反应慢的问题,提高了***的工作效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明一个实施例提供的一种神经网络的训练方法流程图;
图2是本发明一个实施例提供的一种神经网络的训练方法流程图;
图3是本发明一个实施例提供的一种人脸识别方法的流程图;
图4是本发明一个实施例提供的一种人脸识别方法的流程图;
图5是本发明一个实施例提供的服务器的工作流程图;
图6是本发明一个实施例提供的一种神经网络的训练装置结构框图;
图7是本发明实施例提供的一种人脸识别***的结构框图;
图8是本发明一个实施例提供的一种人脸识别装置的结构框图;
图9是本发明一个实施例提供的一种服务器的结构示意图;
图10是本发明一个实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
图1是本发明一个实施例提供的一种神经网络的训练方法的流程图,所述的方法由一种神经网络的训练装置来执行,所述装置由软件和/或硬件来执行,所述装置可以配置在服务器中,所述方法可以用于对定位人脸位置的神经网络训练的场景中,具体可以是对用于输出人脸检测框的神经网络训练的场景中。
如图1所示,本发明实施例提供的技术方案包括:
S110:采用包含人脸数据的训练数据集对第一神经网络进行训练,得到初级的第一神经网络。
其中,神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法模型,通过调整模型内部大量节点之间相互连接关系,达到处理信息的目的。可选的,第一神经网络为卷积神经网络,卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,包括卷积层和归一化层。应当理解,除了卷积神经网络之外,第一神经网络还可为非卷积类型的神经网络,神经网络的网络结构除了上述列举的例子之外,还可选用层数、层、不同卷积核和/或权重等网络参数的其他网络结构。
本实施例中,训练数据集是由包含人脸的图像进行转换而得到,其中包含人脸数据、背景数据、以及人脸的位置信息等,其中,人脸的位置信息可以是人脸在图像中的位置,也可以是其他位置表现形式。
本实施例中,在采用训练数据集对第一神经网络进行训练之前,还可以对第一神经网络进行预训练。具体可以是,可以将分类数据集输入到构建的第一神经网络中,使第一神经网络输出结果。基于第一神经网络的输出结果与真实结果之间的损失信息,确定第一神经网络的网络参数,将预训练得到的网络参数初始化第一神经网络。其中,可选的,可以将网络参数中的权值初始化第一神经网络。由此,通过分类数据集对第一神经网络进行预训练,可以减少训练数据集进行训练的迭代次数,节省训练的时间。
可选的,本发明一个可选的实施方式中,采用包含人脸数据的训练数据集对第一神经网络进行训练,得到初级的第一神经网络,可以包括:将包含人脸数据的训练数据集输入到第一神经网络中,生成人脸检测框的至少两个候选区域;确定所述训练数据集中人脸的位置信息与所述候选区域的位置信息之间的第一损失信息;基于所述第一损失信息调整所述第一神经网络的网络参数,得到初级的第一神经网络。
其中,网络参数可以包括神经网络的各层的权值,以及迭代次数等。其中,人脸检测框是指用于将人脸进行标识的检测框,或者可以定位人脸的检测框,检测框的大小可以根据需要进行设置。人脸检测框的候选区域是指人脸检测框可能所在的区域,其中候选区域的位置信息可以是候选区域中心所在的位置信息,候选区域的顶点所在的位置信息,或者其他方式的候选区域位置信息的表示方式。本实施例中的训练数据集中每一个数据均有位置标签,即训练数据集中的每个数据均对应一个位置信息。其中,训练数据集中人脸的位置信息可以是人脸中心的位置信息,也可以是人脸所在区域的位置信息,或者其他方式的人脸位置信息的表示方式。
其中,训练数据集中人脸的位置信息与检测框的候选区域的位置信息之间的第一损失信息,可以是由损失函数计算出的值。具体的方法可以是:将训练数据集中人脸的位置信息和候选区域的位置信息输入到损失函数中,计算损失函数的值。根据损失函数的值,不断调整第一神经网络的网络参数。可选的,第一神经网络训练完成条件可根据实际情况确定,实现方式灵活,例如:若损失函数的值满足预设条件,则可停止对第一神经网络的训练;或者,若迭代次数超过预定次数阈值,可停止对第一神经网络的训练。本实施例中,基于损失函数的值进行训练判停的预设条件可以是损失函数值为零,或者小于某一阈值,或者损失函数值达到稳定不下降状态,例如若当前损失函数的值小于上一次损失函数的值,则继续对第一神经网络进行优化训练,直到当前损失函数值为零,或者小于设定阈值,确定第一神经网络训练成功,以得到初级的第一神经网络。
S120:将所述训练数据集输入到初级的所述第一神经网络中,输出人脸检测框的至少两个候选区域的位置信息。
在本发明实施例中,通过训练数据集对第一神经网络进行训练时,输出人脸检测框的至少两个候选区域的位置信息,并通过候选区域的位置信息与训练数据集中的人脸位置信息之间的损失信息调整第一神经网络的网络参数,得到初级的第一神经网络。
在本发明一个可选的实施方式中,将所述训练数据集输入到初级的所述第一神经网络中,输出至少两个候选区域的位置信息,可以包括:将所述训练数据集输入到初级的第一神经网络中,更新候选区域的位置信息。其中,初级的第一神经网络是经过训练数据集进行训练得到的神经网络,将训练数据集输入到经过初级的第一神经网络中,可以更新候选区域的位置信息。
S130:基于训练数据集中的人脸检测框的位置信息与所述候选区域的位置信息,确定所述候选区域的得分。
在本步骤中,基于训练数据集中人脸检测框的位置信息与候选区域的位置信息可以计算人脸检测框和候选区域的重叠面积,当重叠面积越大时,候选区域的得分越高。其中,训练数据集中每一个数据均有位置标签。训练数据集中人脸检测框的位置信息可以是人脸检测框的各个顶点所在的位置信息候选区域的位置信息也可以是候选区域的各顶点所在的位置信息,其中,训练数据集中人脸检测框的位置信息和候选区域的位置信息也可以是位置信息表现形式。
在本发明的一个实施例中,所述基于训练数据集中的人脸检测框的位置信息与所述候选区域的位置信息,确定所述候选区域的得分,包括:基于训练数据集中的人脸检测框的位置信息与更新的所述候选区域的位置信息,确定更新的所述候选区域的得分。
S140:将得分高于设定分数的候选区域作为目标候选区域,并基于所述目标候选区域的位置信息获取所述目标候选区域内的训练数据,并采用所述训练数据对第二神经网络进行训练,得到初级的第二神经网络。
其中,由于训练数据集中每一个数据均有位置标签,目标候选区域内的训练数据可以理解为位于目标候选区域内的训练数据。
其中,设定分数可以根据需要进行设定,也可以将候选区域按照得分从高到低进行排列,按照得分选取设定数量的候选区域作为目标候选区域,当然目标候选区域的选取方法也可以是其他形式。
其中,采用训练数据对第二神经网络进行训练的方法与第一神经网络的训练原理相同。可选的,在本发明实施例的一个实施方式中,将得分高于设定分数的候选区域作为目标候选区域,基于所述目标候选区域的位置信息获取所述目标候选区域内的训练数据,并采用所述训练数据对第二神经网络进行训练,得到初级的第二神经网络,可以包括:将得分高于所述设定分数、且更新的候选区域作为目标候选区域,并基于所述目标候选区域的位置信息获取所述目标候选区域内的训练数据,并将所述训练数据输入到第二神经网络中,生成人脸检测框的位置信息;确定所述训练数据集中的人脸的位置信息与所述检测框的位置信息之间的第二损失信息;基于所述第二损失信息调整所述第二神经网络的网络参数,得到初级的第二神经网络。
其中,目标候选区域的得到过程是:将训练数据集输入到初始的第一神经网络中(经过训练的第一神经网络中),得到的至少两个候选区域的位置信息,并计算每个候选区域的得分,并将得分高于设定分数的候选区域作为目标候选区域。最后将目标候选区域内的训练数据输入到第二神经网络中,可以生成检测框的位置信息。
其中,训练数据集中人脸的位置信息与检测框的位置信息之间的损失信息,可以是由损失函数计算出的值。其中,第二神经网络的损失函数可以是与第一神经网络的损失函数相同,也可以不同。在第二神经网络训练过程中,损失信息计算方法可以是将训练数据集中人脸的位置信息和检测框的位置信息输入到损失函数中,计算损失函数的值。并且根据损失函数的值,不断调整第二神经网络的网络参数。可选的,第二神经网络训练完成条件可根据实际情况确定,停止训练第二神经网络的原理可以与停止第一神经网络的原理相同,不再累述。
本实施例中,还可以对第二神经网络进行预训练。具体可以是,可以将分类数据集输入到构建的第二神经网络中,使第二神经网络输出结果。基于第二神经网络的输出结果与真实结果之间的损失信息,调整第二神经网络的网络参数。通过对第二神经网络进行预训练,可以减少第二神经网络正式训练时的迭代次数,节省训练时间,使训练的第二神经网络更加准确。
现有技术的人脸检测算法主要应用于生成特定的候选区域,并且需要采用特定的特征提取手段。例如采用穷举法生成候选区域,该方法是通过滑动设定大小的矩形窗口穷举图像内的所有检测框,并对检测框中的内容进行检测,计算量大且区域间重叠率严重,候选区域也存在大量的冗余,无法应用在实时***中。又如,选择性搜索算法是应用较多的候选区域生成算法,通过采用基于图表示的图像分割方法和不同的区域合并策略生成可能存在人脸的候选区域,与穷举法相比大大降低了搜索空间,降低了运算复杂度。但是该方法通过对获得的候选区域采用特征提取算法,如指局部二值法(Local Binary Patterns,LBP)、方向梯度直方图法(Histogram of Oriented Gradient,HOG)等进行特征提取,然后结合分类器来完成人脸检测框的定位过程。该人脸检测技术方法需要较大的计算量,***响应慢,对于有多张人脸的情况下经常会有误检或漏检的情况发生。
而本发明实施例中,通过对两个神经网络进行训练,可以使神经网络的人脸检测框的定位更加准确,从而使人脸定位更加准确,提高人脸检测的准确率,并且计算量小,提高***的工作效率。
本发明实施例提供了一种神经网络的训练方法,通过对第一神经网络进行训练,并将训练之后的第一神经网络的输出结果对第二神经网络进行训练,以确定人脸检测框的位置,即通过对两个神经网络进行训练以输出人脸检测框的位置信息,可以快速对人脸进行定位,当多张人脸、人脸被遮挡、外部光线变化时,可以提高人脸检测的准确率,计算量小,可以提高人脸检测的效率。
图2是本发明一个实施例提供的一种神经网络的训练方法的流程图,如图2所示,本发明实施例提供的技术方案包括:
S210:将包含人脸数据的训练数据集输入到第一神经网络中,生成人脸检测框的至少两个候选区域的位置信息。
S220:确定所述训练数据集中人脸的位置信息与所述候选区域的位置信息之间的第一损失信息。
S230:基于所述第一损失信息调整所述第一神经网络的网络参数,得到初级的第一神经网络。
S240:将所述训练数据集输入到初级的第一神经网络中,更新所述候选区域的位置信息。
S250:基于训练数据集中的人脸检测框的位置信息与更新的所述候选区域的位置信息,确定重新更新的所述候选区域的得分。
S260:将得分高于所述设定分数、且更新的候选区域作为目标候选区域,基于所述目标候选区域的位置信息获取所述目标候选区域内的训练数据,并将所述训练数据输入到第二神经网络中,生成人脸检测框的位置信息。
S270:确定所述训练数据集中的人脸的位置信息与所述检测框的位置信息之间的第二损失信息。
S280:基于所述第二损失信息调整所述第二神经网络的网络参数,得到初级的第二神经网络。
S290:当所述第一神经网络和所述第二神经网络共享卷积层时,从初级的所述第二神经网络的网络参数中,获取初级的所述第二神经网络卷积层的权值。
其中,第一神经网络和第二神经网络的卷积层相同。第一神经网络还可以包括全连接层等,第二神经网络与第一神经网络的网络并不相同。
其中,网络参数可以包括神经网络的各层的权值,以及迭代次数等。
S291:基于初级的所述第二神经网络卷积层的权值更新初级的所述第一神经网络卷积层的权值。
在本发明实施例中,基于初级的第二神经网络卷积层的权值更新初级的第一神经网络卷积层的权值可以理解为:将初级的第一神经网络卷积层的权值更改为与初级的第二神经网络卷积层的权值相同。
S292:当初级的所述第一神经网络卷积层的权值不变时,通过训练数据集对初级的所述第一神经网络进行训练,以重新调整初级的所述第一神经网络其他层的权值,得到高级的第一神经网络。
其中,初级的第一神经网络卷积层的权值不变可以采用的方法是:将初级的第一神经网络卷积层的学习率设置为0,以使初级的第一神经网络卷积层的权值不变。
其中,第一神经网络的其他层可以是第一神经网络的全连接层或者其他位于卷积层和输出层之间的网络层。其中,全连接层位于卷积层和输出层之间。
在本发明一个可选的实施方式中,通过训练数据集对初级的第一神经网络进行训练,以重新调整初级的第一神经网络其他层的权值,可以包括:将第一神经网络卷积层的学习率设置为0,即第一神经网络卷积层的权值保持不变;将训练数据集对初级的第一神经网络进行训练,输出人脸检测框的位置信息,并根据检测框的位置信息与训练数据集中的人脸位置信息之间的损失信息,调整第一神经网络其他层的权值。当训练完成时,确定第一神经网络其他层的权值,并得到高级的第一神经网络。
由此,当第一神经网络和第二神经网络共享卷积层时,采用初级的(已训练的)第二神经网络对初级的(已训练的)的第一神经网络的卷积层的权值进行更新,并当初级的第一神经网络的卷积层的权值不变时,对第一神经网络其他层的权值进行重新调整,实现对第一神经网络的多次训练,可以提高第一神经网络的检测准确性。
S293:通过高级的所述第一神经网络对所述训练数据集进行处理,重新更新所述候选区域的位置信息。
在本发明实施例中,将训练数据集输入到高级的(再次训练)的第一神经网络中,输出候选区域位置信息,以重新更新初级的第一神经网络输出的候选区域的位置信息。
S294:基于训练数据集中的人脸检测框的位置信息与重新更新的所述候选区域的位置信息,确定重新更新的所述候选区域的得分。
S295:当初级的所述第二神经网络卷积层的权值不变时,将得分高于所述设定分数、且重新更新的候选区域作为目标候选区域,并基于所述目标候选区域的位置信息获取所述目标候选区域内的目标训练数据。
其中,初级的第二神经网络的卷积层的权值不变可以采用的方法是:将初级的第二神经网络卷积层的学习率设置为0,以使初级的第二神经网络卷积层的权值不变。
S296:基于所述目标训练数据调整初级的所述第二神经网络的网络参数,得到高级的第二神经网络。
其中,可选的,基于所述目标训练数据调整初级的所述第二神经网络的网络参数,可以是:将目标训练数据输入到初级的第二神经网络(已训练的第二神经网络)中,输出检测框的位置信息,根据检测框的位置信息与训练数据集中人脸的位置信息之间的损失信息,调整初级的第二神经网络的网络参数,当损失信息达到预设条件时,停止训练初级的第二神经网络,得到高级的第二神经网络。
由此,通过对初级的第二神经网络的再次训练,可以提高第二神经网络的检测精度,提高检测准确率。
由此,本实施例通过对第一神经网络以及对第二神经网络彼此之间多次训练,提高了第一神经网络和第二神经网络的鲁棒性,可以使人脸检测更加准确,尤其是针对多张人脸、光线变化情况,提高了检测人脸的准确率。
图3是本发明一个实施例提供的一种人脸识别方法的流程图,所述方法由人脸识别装置来执行,所述装置由软件和/或硬件来执行,所述装置可以配置在具有摄像头的设备中,例如,冰箱、手机等。所述方法可以应用于多张人脸识别的场景中,也可以应用于一张人脸识别的场景中,也可以应用于光线变化时对人脸识别的场景中。如图3所示,本发明实施例提供的技术方案包括:
S310:通过摄像头获取人体图像,并通过目标神经网络对所述人体图像进行处理,生成人脸检测框的位置信息;其中,目标神经网络由训练的第一神经网络和训练的第二神经网络形成。
其中,训练的第一神经网络是指通过上述实施例提供的方法对第一神经网络进行训练,得到的已训练的第一神经网络,即初级的第一神经网络或者高级的第一神经网络。训练的第二神经网络是指通过上述实施例提供的方法训练对第二神经网络进行训练,得到的已训练的第二神经网络,可以是初级的第二神经网络,也可以是高级的第二神经网络。其中,摄像头设置在设备上,可以通过摄像头获取人体图像,其中,人体图像可以包括人脸、背景等。当人体图像中存在多张人脸时,可以输出多个检测框的位置信息,以使多个检测框对人脸的位置进行定位。其中,检测框的位置信息,可以是检测框在人体图像中的位置信息。
可选的,通过目标神经网络对所述人体图像进行处理,生成人脸检测框的位置信息,可以是:将人体图像输入到训练的第一神经网络中,输出人脸至少两个候选区域的位置信息,将得分高于设定分数的候选区域作为目标候选区域,人体图像中将位于目标候选区域中的图像数据输入到第二神经网络,输出人脸检测框的位置信息。其中,人体图像中位于检测框内的图像是指:在获取的人体图像中,检测框所在的区域所覆盖的图像。
其中,通过训练的第二神经网络对所述人体图像中位于所述检测框内的图像进行处理,可以理解为:将人体图像中位于候选区域内的图像输入到训练的第二神经网络中,输出人脸检测框的位置信息,可以提高检测框定位的准确性,以提高人脸识别的准确性。
S320:将所述位置信息对应的人脸检测框内的图像输入第三神经网络中,并通过所述第三神经网络的特征层生成人脸特征数据。
其中,第三神经网络包括输入层、卷积层、特征层、输出层等,其中,第三神经网络的特征层可以输出人脸特征数据,第三神经网络的输出层可以输出人脸特征的概率。其中,训练的第三神经网络是由上述实施例提供的方法对第三神经网络进行训练,得到的已训练的第三神经网络。
在本发明一个可选的实施方式中,若检测框的数量为多个,则确定存在多张人脸,可以将多个检测框内的图像均输入到第三神经网络中,进行人脸特征的提取,以实现人脸的匹配。或者也可以按照设定顺序将每个检测框内的图像依次输入到第三神经网络中,进行人脸特征提取,以实现人脸的匹配,从而可以避免计算量大***反应慢的问题。
S330:将所述人脸特征数据发送到服务器以进行人脸识别。
其中,服务器中预存有人脸特征数据与用户使用权限列表,当服务器接收到设备发送的人脸特征数据时,根据接收到的人脸特征数据查询列表,以识别用户身份,确定用户使用权限,并向设备发送控制信号。
可选的,本发明的一种实施方式中,当设备发送人脸特征数据时,可以通过加密算法对人脸特征数据进行加密,服务器接收加密的人脸特征数据,并对接收到的人脸特征数据进行解密,再进行人脸特征的匹配。
需要说明的是,设备也可以预存人脸特征数据与用户使用权限类别,由设备自身进行人脸特征数据的匹配,以确定用户的使用权限。
在上述实施例的基础上,上述的人脸识别方法还包括:
将人脸数据集输入到第三神经网络中,并通过所述第三神经网络的输出层输出人脸识别概率;确定所述人脸数据集中人脸标签信息与输出的所述人脸特征概率之间的损失信息;基于所述损失信息调整所述第三神经网络的网络参数。
其中,人脸数据集包括人脸数据以及人脸数据的标签,其中,人脸数据的标签是指人脸特征概率,人脸特征概率包括人脸特征100%或者非人脸特征100%,即人脸数据标签中包括人脸特征和非人脸特征两种情况。其中,第三神经网络包括输入层、卷积层、特征层、输出层等。
其中,将人脸数据集输入到第三神经网络时,由第三神经网络的输出层输出的是人脸识别的概率,由第三神经网络的特征层输出是人脸特征数据。
其中,人脸数据集中人脸标签信息与输出的人脸特征概率之间的损失信息,可以是损失函数计算出来值,其中,人脸标签信息是指人脸标识信息,人脸标签信息可以是1或者0,当人脸标签信息为1时,人脸数据集中的数据为某个人的人脸数据,当人脸标签信息为0时,表明人脸数据集中的数据并不是某个人的人脸数据。其中,在第三神经网络训练过程中,损失信息的计算方法可以是:将人脸数据集中人脸标签信息与由第三神经网络输出的人脸识别输入到损失函数中,计算损失函数的值。其中,第三神经网络输出的人脸特征的概率可以是100%,70%等等。例如,生成的人脸特征的概率是70%,人脸数据集中人脸标签信息是1,可以将上述两个概率值70%和1输入到损失函数中,从而计算损失函数的值,以调整第三神经网络的网络参数。
需要说明的是,将人脸数据集输入到第三神经网络时,还可以采用如下的方法确定人脸数据集中的人脸标签信息和输出的人脸特征概率之间的损失信息:通过第三神经网络的输出层输出人脸识别概率和非人脸识别概率;将人脸数据集中的人脸标签信息、输出的人脸识别概率、非人脸识别概率输入到第三神经网络的损失函数中,从而计算损失函数的值。例如,第三神经网络输出层输出的人脸识别概率是70%,非人脸特征概率是30%,人脸数据集中人脸标签信息是1,将上述三个数据均输入到第三神经网络的损失函数中,从而计算损失函数的值,以调整第三神经网络的网络参数。
其中,第三神经网络的网络参数包括第三神经网络各层的权值、第三神经网络的迭代次数等。
其中,可以根据损失信息调整第三神经网络的网络参数。可选的,完成第三神经网络的网络参数的调整,可根据实际情况而定,即第三神经网络训练完成可根据实际情况确定,实现方式灵活。例如,若损失函数的值满足预设条件,则可停止对第三神经网络的训练;或者,若迭代次数超过预定次数阈值,可停止对第三神经网络的训练。本实施例中,基于损失函数的值进行训练判停的预设条件可以是损失函数的值为零,或者小于某一阈值,或者损失函数的值达到稳定不下降状态,例如若当前损失函数的值小于上一次损失函数的值,则继续对第三神经网络进行优化训练,直到当前损失函数的值为零,小于设定阈值,确定第三神经网络训练成功,得到已训练的第三神经网络。
由此,通过第三神经网络输出的人脸识别概率和人脸数据集中的人脸标签信息之间的损失信息调整第三神经网络,可以使第三神经网络准确提取人脸特征,以提高识别人脸的准确率。
在上述实施例的基础上,在对第三神经网络进行训练之前,还可以包括:自定义第三神经网络,并对第三神经网络进行训练。其中,自定义第三神经网络,可以是预先配置第三神经网络的网络参数,根据经验值配置第三神经网络的损失函数的参数值。
其中,对第三神经网络进行预训练,具体可以是:可以将分类数据集输入到构建的自定义的第三神经网络中,使第三神经网络输出结果。将第三神经网络的输出结果与真实结果之间的损失信息,确定第一神经网络的网络参数,将预训练得到的网络参数初始化第三神经网络。其中,可选的,可以将网络参数中的权值初始化第三神经网络。其中,在预训练时,还可以调节损失函数的参数值,预训练的第三神经网络输出结果和真实结果进行比对,以使损失函数调整到最佳的参数值。由此,通过分类数据集对第三神经网络进行预训练,可以减少训练数据集进行训练的迭代次数,节省训练的时间。在上述实施例的基础上,在所述通过摄像头获取人体图像之前,还包括:
当通过体感传感器检测到离设备设定距离内存在人体时,开启摄像头。
其中,体感传感器设置在设备上。通过体感传感器检测到人体时,开启摄像头以获取人体图像,可以避免摄像头一直开启耗能的问题,也可以提高设备的识别效率。
在上述实施例的基础上,可选的,在所述通过摄像头获取人体图像之后,还包括:通过显示器显示人体图像以使所述人体调整人脸的位置;通过所述显示器显示所述检测框。其中,显示器设置在设备上。当摄像头获取人体图像
时,可以将人体图像通过显示器进行显示,以使人体调整位置以获取较佳的人体图像,从而提高人脸识别的准确性。并且在目标神经网络输出检测框的位置信息之后,可以通过显示器将检测框进行显示。在上述实施例的基础上,所述的人脸识别方法还包括:接收服务器发送的控制信号,并响应所述控制信号。
可选的,设备可以包括冰箱、手机等。在本发明的一个实施例方式中,响应所述控制信号,可以包括:根据所述控制信号控制所述冰箱的门开启。具体的,当识别人脸成功时,冰箱接收服务器发送的控制信号,控制冰箱门开启,可以对冰箱的使用权限进行控制。
现有技术中,尤其在智能家居人脸识别***中,人脸识别技术可以是根据人脸的五官几何特征,如通过提取眼睛、鼻子、嘴巴等五官的几何形状、位置以及在脸上分布的几何特征,采用人脸五官的面部拓扑结构的几何关系来表示不同人脸;然后通过对特征矢量的匹配,如模板匹配、基于欧式距离的判别技术来识别不同人脸。该方法采用了人脸中较直观的特性作为人脸特征,算法虽然简单,但提取的特征较单一,特征表达能力有限,一旦人脸发生姿态变化及表情变化时对人脸特征的影响较大,影响识别效果。尤其是在人脸被遮挡的情况下,鲁棒性较差。
现有的人脸识别方法还可以是基于纹理、肤色边缘等信息的人脸识别方法,但是较强或较弱的光线很容易影响识别效果。
现有的基于外观的人脸识别方法,可以是采用人体图像的全局信息来识别人脸。具体的,将人体图像的灰度值存在二维数组中,然后对输入的人脸图像与人脸库中的所有图像进行对比,进而识别人脸。由于人脸空间是典型的高维度空间,直接在高维空间中进行识别较困难且计算量较大,采用基于几何距离的人脸识别方法虽很大程度上降低了人脸特征的维度,但识别能力有限。为了克服维数问题,采用主要分量分析(Principal ComponentAnalysis,PCA)算法将高维人脸空间映射到表征人脸特征的低维人脸空间,然后通过卡洛南-洛伊变换(Karhunen-Loeve,KL)变换计算人脸在低维人脸空间上投影的特征系数作为描述该人脸的特征向量,降维后的在新的人脸空间的特征向量能够更好的描述人脸特征。识别时将测试样本的特征系数与训练样本的特征系数进行欧式距离度量,选择欧式距离最近的训练样本的类别作为该测试样本的类别。
但是该方法算量大且耗时,对光线改变较敏感,因为光线改变会导致PCA算法的投影矩阵中保留的主要元素发生改变,影响分类效果。此外在测试时该方法需要测试样本与训练样本相关性较高,因此对于具有不同使用者的家庭人员,且光线强度变化或者人脸姿态变化的情况下,该方法不能很好的进行人脸识别。
而本发明采用通过已训练的神经网络对人体图像进行处理,以输出人脸检测框的位置信息,可以快速对人脸进行定位,当多张人脸、人脸被遮挡、外部光线变化时,可以提高人脸检测的准确率,计算量小,可以提高人脸检测的效率;本发明通过神经网络对人脸特征进行提取,可以提高人脸识别的准确率,尤其是当人脸姿态发生变化时,提高人脸识别的准确率,并且解决现有技术中***反应慢的问题,提高了***的工作效率。
图4是本发明一个实施例提供的一种人脸识别方法的流程图,其中,设备可以是冰箱,所述方法应用于控制冰箱的门开启的场景中。如图4所示,本发明实施例提供的技术方案包括:
S410:服务器向冰箱发送提示信息,以提示用户进行注册。
S420:冰箱录入用户的人脸特征数据和相应的使用权限,经加密后上传服务器,以使服务器将录入结果存入人脸特征数据和使用权限的关系列表中。
S430:通过设置在冰箱上的体感传感器检测到设定距离内有人体存在时,开启摄像头采集人体图像,并打开显示器将人体图像进行显示,以使人体根据显示器显示的人体图像调整人脸的位置信息。
S440:冰箱中的处理器获取摄像头采集到的人脸图像数据。
S450:冰箱中的处理器通过已训练的第一神经网络和已训练的第二神经网络形成的目标神经网络对人脸图像数据进行检测;其中,当多目标存在时对多目标进行判断,确定使用者人脸信息,并将检测结果通过显示器显示。
S460:冰箱中的处理器通过已训练的第三神经网络对检测到的人脸图像进行特征提取,得到人脸特征数据。
S470:冰箱中的处理器对提取到的人脸特征进行加密,并将加密后的人脸特征数据上传到服务器。
S480:服务器对人脸特征数据进行解密后完成匹配识别,并查找人脸特征和用户使用权限关系列表,确定用户的使用权限,并发送控制信号;
S490:冰箱接收到控制信号,并根据控制信号控制冰箱门开启或关闭。
其中,服务器的具体工作流程如图5所示,服务器读取用户的注册信息,将用户注册信息存入人脸特征数据和使用权限的关系列表中。当接收到人脸特征数据时,读取人脸特征,将人脸特征与人脸特征数据和使用权限关系列表进行匹配,输出匹配结果,确定用户的使用权限。
需要说明的是,当冰箱中的处理器执行对应的步骤时,可以将处理器划分为对应的功能模块执行相应的功能。
由此,通过人脸识别控制冰箱门的开启,可以自定义使用权限控制冰箱的使用者,如大人拥有使用权限,儿童、宠物或者外来人员无使用权限,可以提升冰箱使用的安全性和私密性。
图6是本发明实施例提供的一种神经网络的训练装置的结构框图,所述装置用于执行一种神经网络的训练方法,如图6所示,所述装置包括:
第一训练模块610,用于采用包含人脸数据的训练数据集对第一神经网络进行训练,得到初级的第一神经网络;
候选区域位置获取模块620,用于将所述训练数据集输入到初级的所述第一神经网络中,输出人脸检测框的至少两个候选区域的位置信息;
得分确定模块630,用于基于训练数据集中的人脸检测框的位置信息与所述候选区域的位置信息,确定所述候选区域的得分;第二训练模块640,用于将得分高于设定分数的候选区域作为目标候选区域,基于所述目标候选区域的位置信息获取所述目标候选区域内的训练数据,并采用所述训练数据对第二神经网络进行训练,得到初级的第二神经网络。
可选的,第一训练模块610,用于将包含人脸数据的训练数据集输入到第一神经网络中,生成人脸检测框的至少两个候选区域位置信息;
确定所述训练数据集中人脸的位置信息与所述候选区域的位置信息之间的第一损失信息;
基于所述第一损失信息调整所述第一神经网络的网络参数,得到初级的第一神经网络;候选区域位置获取模块620,用于将所述训练数据集输入到初级的第一神经网络中,更新所述候选区域的位置信息;
相应的,得分确定模块630,用于基于训练数据集中的人脸检测框的位置信息与更新的所述候选区域的位置信息,更新所述候选区域的得分;
第二训练模块640,用于将更新的得分高于所述设定分数的候选区域作为目标候选区域,并基于所述目标候选区域的位置信息获取所述目标候选区域内的训练数据,并将所述训练数据输入到第二神经网络中,生成人脸检测框的位置信息;
确定所述训练数据集中的人脸的位置信息与所述检测框的位置信息之间的第二损失信息;
基于所述第二损失信息调整所述第二神经网络的网络参数,得到初级的第二神经网络。
可选的,所述第一神经网络和所述第二神经网络共享卷积层;所述装置还包括:第三训练模块650,用于从初级的所述第二神经网络的网络参数中,获取初级的所述第二神经网络卷积层的权值;
基于初级的所述第二神经网络卷积层的权值更新初级的所述第一神经网络卷积层的权值;
当初级的所述第一神经网络卷积层的权值不变时,通过训练数据集对初级的所述第一神经网络进行训练,以重新调整初级的所述第一神经网络其他层的权值,得到高级的第一神经网络。
可选的,所述装置还包括:第四训练模块660,用于通过高级的所述第一神经网络对所述训练数据集进行处理,重新更新所述候选区域的位置信息;
基于训练数据集中的人脸检测框的位置信息与重新更新的所述候选区域的位置信息,重新更新所述候选区域的得分;当初级的所述第二神经网络卷积层的权值不变时,将重新更新的得分高于所述设定分数的候选区域作为目标候选区域,基于所述目标候选区域的位置信息获取所述目标候选区域内的目标训练数据;
基于所述目标训练数据调整初级的所述第二神经网络的网络参数,得到高级的第二神经网络。
本发明实施例提供的神经网络的训练装置可执行本发明实施所提供的对应神经网络的训练方法,具备执行神经网络的训练方法相应的功能模块和有益效果。
图7是本发明实施例提供的一种人脸识别***的结构框图,如图7所示,所述***还可以包括:摄像头710、体感传感器720、数据采集模块730,显示器740、人脸检测模块750、人脸特征提取模块760、服务器和终端交互模块770、服务器780和冰箱门控制模块790。
其中,摄像头710可以获取人体图像,体感传感器720可以监测设定距离内是否有人体存在。其中,显示器740可以将摄像头710采集的图像进行显示。数据采集模块730,可以采集摄像头710采集的人脸图像数据,人脸检测模块750,可以对人脸图像数据进行检测,还可以将检测结果通过显示器740进行显示,人脸特征提取模块760,可以对检测到的人脸图像数据进行特征提取,得到人脸特征数据。人脸特征提取模块760,通过服务器和终端交互模块770将人脸特征数据发送到服务器780,服务器780对接收到的人脸特征进行匹配,得到匹配结果,从而得到用户使用权限,并通过服务器和终端交互模块770发送控制信号到冰箱门控制模块790,以控制冰箱门的打开。
图8是本发明实施例提供的一种人脸识别装置的结构框图,所述装置用于执行一种人脸识别方法,如图8所示,所述装置包括:
检测框位置信息生成模块810,用于通过摄像头获取人体图像,并通过目标神经神经网络对所述人体图像进行处理,生成人脸检测框的位置信息;其中,目标神经网络由本发明实施例提供的方法训练的第一神经网络和由本发明实施例提供的方法训练的第二神经网络形成;
人脸特征数据生成模块830,用于将所述位置信息对应的人脸检测框内的图像输入第三神经网络中,并通过所述第三神经网络的特征层生成人脸特征数据;其中,所述第三神经网络是根据人脸数据集调整后的神经网络;
发送模块840,用于将所述人脸特征数据发送到服务器以进行人脸识别。
在上述实施例的基础上,所述装置包括:
人脸特征概率输出模块880,用于将人脸数据集输入到第三神经网络中,并通过所述第三神经网络的输出层输出人脸识别概率;
损失信息确定模块890,用于确定所述人脸数据集中人脸标签信息与输出的所述人脸识别概率之间的损失信息;
网络参数调整模块891,用于基于所述损失信息调整所述第三神经网络的网络参数。
可选的,所述装置还包括摄像头开启模块850,用于在所述通过摄像头获取人体图像之前,当通过体感传感器检测到离所述设备设定距离内存在人体时,开启摄像头;
可选的,所述装置还包括显示模块860,用于在所述通过摄像头获取人体图像之后,通过显示器显示人体图像以使所述人体调整人脸的位置;通过所述显示器显示所述检测框。
可选的,所述装置还包括响应模块870,用于接收服务器发送的控制信号,并响应所述控制信号。可选的,所述设备包括冰箱,所述响应所述控制信号,包括:根据所述控制信号控制所述冰箱的门开启。
本发明实施例提供的人脸识别装置可执行本发明实施例所提供的人脸识别方法,具备执行人脸识别方法相应的功能模块和有益效果。
图9是本发明实施例提供的一种服务器的结构示意图。图9示出了适于用于实现本发明实施方式的示例***器912的框图。图9显示的服务器912仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,服务器912以通用计算设备的形式表现。服务器912的组件可以包括但不限于:一个或者多个处理器或者处理单元916,***存储器928,连接不同***组件(包括***存储器928和处理单元916)的总线918。
总线918表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
服务器912典型地包括多种计算机***可读介质。这些介质可以是任何能够访问服务器912的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器928可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)930和/或高速缓存存储器932。服务器912可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***934可以用于读写不可移动的、非易失性磁介质(图9未显示,通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线918相连。存储器928可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块942的程序/实用工具940,可以存储在例如***存储器928中,这样的程序模块942包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块942通常执行本发明所描述的实施例中的功能和/或方法。
服务器912也可以与一个或多个外部设备914(例如键盘、指向设备、显示器924等)通信,还可与一个或者多个使得用户能与该服务器912交互的设备通信,和/或与使得该服务器912能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口922进行。并且,服务器912还可以通过网络适配器920与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图9所示,网络适配器920通过总线918与服务器912的其它模块通信。应当明白,尽管图中未示出,可以结合服务器912使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元916通过运行存储在***存储器928中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种神经网络的训练方法。
也即,所述处理单元执行所述程序时实现:
采用包含人脸数据的训练数据集对第一神经网络进行训练,得到初级的第一神经网络;
将所述训练数据集输入到初级的所述第一神经网络中,输出人脸检测框的至少两个候选区域的位置信息;
基于训练数据集中的人脸检测框的位置信息与所述候选区域的位置信息,确定所述候选区域的得分;
将得分高于设定分数的候选区域作为目标候选区域,并基于所述目标候选区域的位置信息获取所述目标候选区域内的训练数据,并采用所述训练数据对第二神经网络进行训练,得到初级的第二神经网络。
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的一种神经网络的训练方法:
采用包含人脸数据的训练数据集对第一神经网络进行训练,得到初级的第一神经网络;
将所述训练数据集输入到初级的所述第一神经网络中,输出人脸检测框的至少两个候选区域的位置信息;
基于训练数据集中的人脸检测框的位置信息与所述候选区域的位置信息,确定所述候选区域的得分;将得分高于设定分数的候选区域作为目标候选区域,基于所述目标候选区域的位置信息获取所述目标候选区域内的训练数据,并采用所述训练数据对第二神经网络进行训练,得到初级的第二神经网络。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
图10为本发明一个实施例提供的一种设备的结构示意图。图10示出了适于用来实现本发明实施方式的示例性设备12的框图。图10显示的设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,设备12可包括具有运算处理能力的电子设备,其类型可包括但不限于终端设备和服务端设备,其中终端设备例如可以是移动终端、PC机冰箱等,服务端设备例如可以是服务器或计算机集群等。设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。其中,该设备还可以包括摄像头、体感传感器、显示器等(图10中未示出)。其中,摄像头,用于获取人体图像。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
设备12典型地包括多种计算机***可读介质。这些介质可以是任何能够被设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备12交互的设备通信,和/或与使得该设备12能与一个或多个其它设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元16可包括但不限于中央处理单元(CPU)和/或图像处理器(GPU),通过运行存储在***存储器28中的程序,从而执行各种功能应用以及数据处理,例如,例如实现本发明实施例所提供的一种人脸识别方法。
也即,所述处理单元执行所述程序时实现:
通过摄像头获取人体图像,并通过目标神经网络输出人脸检测框的位置信息;其中,目标神经网络由训练的第一神经网络和训练的第二神经网络形成;
将所述位置信息对应的人脸检测框内的图像输入到第三神经网络中,并通过所述第三神经网络的特征层生成人脸特征数据;其中,所述第三神经网络是根据人脸数据集调整后的神经网络;
将所述人脸特征数据发送到服务器以进行人脸识别。
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如发明实施例提供的一种人脸识别方法:
通过摄像头获取人体图像,并通过目标神经网络输出人脸检测框的位置信息;其中,目标神经网络由训练的第一神经网络和训练的第二神经网络形成;
将所述位置信息对应的人脸检测框内的图像输入到训练的第三神经网络中,并通过所述第三神经网络的特征层生成人脸特征数据;其中,所述第三神经网络是根据人脸数据集调整后的神经网络;将所述人脸特征数据发送到服务器以进行人脸识别。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。