
1.本发明涉及人脸识别技术领域,特别是涉及一种人脸识别方法、识别装置、识别系统、计算机设备和存储介质。
背景技术:2.随着图像处理和人脸识别技术的发展,人脸识别越来越多地应用于日常生活中,然而,现有技术中的人脸识别方法通常存在耗时长、实时性差的问题。
技术实现要素:3.为了解决上述问题至少之一,本发明第一个实施例提供一种人脸识别方法,包括:
4.使用数据处理器的人脸特征提取模型对接收的待测图像进行人脸特征提取并输出待测人脸的第一人脸特征矩阵;
5.根据预设置的人脸特征库的具有多个人脸特征的第二人脸特征矩阵,通过数据处理器将所述第二人脸特征矩阵与所述第一人脸特征矩阵进行人脸搜索并输出所述待测人脸与所述多个人脸特征的人脸相似度矩阵;
6.根据所述人脸相似度矩阵获取与所述待测人脸的最大相似度,若所述最大相似度满足预设置的识别阈值则根据所述人脸特征库输出所述待测人脸的识别信息,所述识别信息包括所述人脸特征库中与所述最大相似度对应的人脸信息。
7.例如,在本技术一些实施例提供的人脸识别方法中,所述使用数据处理器的人脸特征提取模型对接收的待测图像进行人脸特征提取并输出待测人脸的第一人脸特征矩阵进一步包括:
8.将所述待测图像加载到数据处理器中;
9.使用人脸检测模型检测所述待测图像并输出所述待测人脸的人脸图像数据;
10.使用人脸特征提取模型对所述人脸图像数据进行人脸特征提取并输出所述第一人脸特征矩阵。
11.例如,在本技术一些实施例提供的人脸识别方法中,在所述使用人脸检测模型检测所述待测图像并输出所述待测人脸的人脸图像数据之后,在所述使用人脸特征提取模型对所述人脸图像数据进行人脸特征提取并输出所述第一人脸特征矩阵之前,所述人脸识别方法还包括:
12.使用人脸关键点提取模型对所述人脸图像数据进行关键点提取并输出各关键点的位置坐标;
13.根据所述人脸图像数据的各关键点的位置坐标,使用人脸对齐模型对所述人脸图像数据进行仿射变换以对齐所述人脸图像数据;
14.根据预设置的人脸图像质量阈值,使用人脸质量模型对所述人脸图像数据进行过滤。
15.例如,在本技术一些实施例提供的人脸识别方法中,在所述使用人脸特征提取模
型对所述人脸图像数据进行人脸特征提取并输出所述第一人脸特征矩阵之后,所述人脸识别方法还包括:
16.对所述第一人脸特征矩阵进行归一化处理。
17.例如,在本技术一些实施例提供的人脸识别方法中,在所述根据预设置的人脸特征库的具有多个人脸特征的第二人脸特征矩阵,通过数据处理器将所述第二人脸特征矩阵与所述第一人脸特征矩阵进行人脸搜索并输出所述待测人脸与所述多个人脸特征的人脸相似度矩阵之前,所述人脸识别方法还包括:
18.对所述人脸特征库的第二人脸特征矩阵进行转置;
19.将所述人脸特征库加载到所述数据处理器中。
20.例如,在本技术一些实施例提供的人脸识别方法中,所述人脸特征库包括多个子人脸特征库,所述人脸识别方法包括:
21.选择一个子人脸特征库;
22.所述对所述人脸特征库的第二人脸特征矩阵进行转置进一步包括:对选择的子人脸特征库的第二人脸特征矩阵进行转置;
23.所述将所述人脸特征库加载到数据处理器中进一步包括:将转置的子人脸特征库加载到所述数据处理器中;
24.所述根据预设置的人脸特征库的具有多个人脸特征的第二人脸特征矩阵,通过数据处理器将所述第二人脸特征矩阵与所述第一人脸特征矩阵进行人脸搜索并输出所述待测人脸与所述多个人脸特征的人脸相似度矩阵进一步包括:将转置的子人脸特征库的第二人脸特征矩阵与所述第一人脸特征矩阵进行人脸搜索并输出所述待测人脸与所述多个人脸特征的子人脸相似度矩阵;
25.所述根据所述人脸相似度矩阵获取与所述待测人脸的最大相似度,若所述最大相似度满足预设置的识别阈值则根据所述人脸特征库输出所述待测人脸的识别信息进一步包括:根据子人脸相似度矩阵获取与所述待测人脸的最大相似度,
26.若所述最大相似度满足预设置的识别阈值则根据所述子人脸特征库输出所述待测人脸的识别信息,并结束人脸识别,
27.若所述最大相似度不满足预设置的识别阈值则判断所述多个子人脸特征库中是否还有未转置的子人脸特征库,若有未转置的子人脸特征库则跳转至所述选择一个子人脸特征库,否则结束人脸识别。
28.例如,在本技术一些实施例提供的人脸识别方法中,在所述对所述人脸特征库的第二人脸特征矩阵进行转置之前,所述人脸识别方法还包括:
29.建立所述人脸特征库,包括:根据接收的多个人脸图像进行人脸检测和特征提取并形成具有多个人脸特征的第二人脸特征矩阵,以及与第二人脸特征矩阵的各人脸特征一一对应的人脸信息。
30.本发明第二个实施例提供一种人脸识别装置,包括中央处理器和数据处理器,其中,所述中央处理器配置为:
31.将接收的待测图像传输至所述数据处理器,使得所述数据处理器使用人脸特征提取模型对所述待测图像进行人脸特征提取并输出待测人脸的第一人脸特征矩阵,根据预设置的人脸特征库的具有多个人脸特征的第二人脸特征矩阵、与所述第一人脸特征矩阵进行
人脸搜索并输出所述待测人脸与所述多个人脸特征的人脸相似度矩阵;
32.根据所述人脸相似度矩阵获取与所述待测人脸的最大相似度,若所述最大相似度满足预设置的识别阈值则根据所述人脸特征库输出所述待测人脸的识别信息,所述识别信息包括所述人脸特征库中与所述最大相似度对应的人脸信息。
33.例如,在本技术一些实施例提供的人脸识别装置中,所述人脸识别装置还包括内部存储器,所述中央处理器进一步配置为:
34.将存储在所述内部存储器的所述待测图像加载到所述数据处理器中,使得所述数据处理器使用人脸检测模型检测所述待测图像并输出所述待测人脸的人脸图像数据,使用人脸特征提取模型对所述人脸图像数据进行人脸特征提取并输出所述第一人脸特征矩阵,对所述第一人脸特征矩阵进行归一化处理;
35.对存储在所述内部存储器的所述人脸特征库的第二人脸特征矩阵进行转置,将所述人脸特征库加载到所述数据处理器中,使得所述数据处理器将所述人脸特征库的第二人脸特征矩阵与所述第一人脸特征矩阵进行人脸搜索并输出所述待测人脸与所述多个人脸特征的人脸相似度矩阵;
36.根据所述人脸相似度矩阵获取与所述待测人脸的最大相似度,若所述最大相似度满足预设置的识别阈值则根据所述人脸特征库输出所述待测人脸的识别信息,所述识别信息包括所述人脸特征库中与所述最大相似度对应的人脸信息。
37.例如,在本技术一些实施例提供的人脸识别装置中,所述人脸识别装置还包括人脸关键点提取模型、人脸对齐模型和人脸质量模型,其中
38.所述人脸关键点提取模型,用于对所述人脸图像数据进行关键点提取并输出各关键点的位置坐标;
39.所述人脸对齐模型,用于根据所述人脸图像数据的各关键点的位置坐标,对所述人脸图像数据进行仿射变换以对齐所述人脸图像数据;
40.所述人脸质量模型,用于根据预设置的人脸图像质量阈值,对所述人脸图像数据进行过滤。
41.本发明第三个实施例提供一种人脸识别系统,包括多个如第二个实施例所述的人脸识别装置,各人脸识别装置通过网络连接,各人脸识别装置的人脸特征库形成所述人脸识别系统的总人脸特征库,其中,每个人脸识别装置的中央处理器被配置为:
42.将接收的待测图像加载到所述数据处理器,使得所述数据处理器使用人脸特征提取模型对所述待测图像进行人脸特征提取并输出待测人脸的第一人脸特征矩阵;
43.选择一个人脸特征库;
44.对选择的人脸特征库的第二人脸特征矩阵进行转置;
45.将转置的人脸特征库加载到所述数据处理器中;
46.将转置的人脸特征库的第二人脸特征矩阵与所述第一人脸特征矩阵进行人脸搜索并输出所述待测人脸与所述多个人脸特征的人脸相似度矩阵;
47.根据所述人脸相似度矩阵获取与所述待测人脸的最大相似度,
48.若所述最大相似度满足预设置的识别阈值则根据所述人脸特征库输出所述待测人脸的识别信息,并结束人脸识别,
49.若所述最大相似度不满足预设置的识别阈值则判断所述总人脸特征库中是否还
有未转置的人脸特征库,若有未转置的人脸特征库则跳转至所述选择一个人脸特征库,否则结束人脸识别。
50.本发明第四个实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如第一个实施例所述的人脸识别方法。
51.本发明第五个实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一个实施例所述的人脸识别方法。
52.本发明的有益效果如下:
53.本发明针对目前现有的问题,制定一种人脸识别方法、识别装置和识别系统,通过将待测人脸的人脸特征矩阵化,并根据待测人脸的人脸特征矩阵与人脸特征库的人脸特征矩阵进行矩阵运算以完成人脸搜索并输出人脸相似度矩阵,将人脸相似度矩阵中的最大相似度且满足识别阈值的人脸信息作为识别信息并输出,本实施例通过一步矩阵运算完成人脸搜索以获得待测人脸的人脸特征与人脸特征库中各人脸特征的相似度计算,从而避免了现有技术中长时间高复杂度的循环嵌套操作,有效提升运算速度,能够实现实时高效、快速准确地人脸识别,弥补了现有技术中存在的问题,具有广泛的应用前景。
附图说明
54.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
55.图1示出本发明的一个实施例所述人脸识别方法的流程图;
56.图2a-2b示出本发明的一个实施例所述人脸识别装置的结构框图;
57.图3示出本发明的一个实施例所述人脸识别系统的结构框图;
58.图4示出本发明的另一个实施例所述的一种计算机设备的结构示意图;
59.图5示出本发明的另一个实施例所述人脸识别方法的流程图。
具体实施方式
60.为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
61.目前,人脸识别技术的发展突飞猛进,现有技术中一种人脸识别方法,利用芯片的高可靠性、高计算性能、以及强大的图像处理能力,结合人脸识别算法,实时检索视频图像人脸信息,并提取特征值,避免了重复的人脸识别。该人脸识别方法在一定程度上能够实现对采集图像的实时处理,然而,需要指出的是,该人脸识别方法通过使用芯片的运算库矩阵函数接口实现待识别人脸与人脸图片的余弦相似度计算,即该人脸识别方法通过芯片实现矩阵运算,但调用一次芯片的运算接口仅能实现一对待验证人脸的余弦相似度,而当需要计算待识别人脸与具有海量人脸特征的人脸特征库的矩阵运算时,还是面临使用cpu进行循环调用芯片的操作,即还存在cpu占用率高、速度慢的问题。
62.针对上述情况,发明人经过大量研究和试验提出一种人脸识别方法,如图1所示,本发明的一个实施例提供的人脸识别方法包括:
63.使用人脸特征提取模型对接收的待测图像进行人脸特征提取并输出待测人脸的第一人脸特征矩阵;
64.根据预设置的人脸特征库的具有多个人脸特征的第二人脸特征矩阵,与所述第一人脸特征矩阵进行人脸搜索并输出所述待测人脸与所述多个人脸特征的人脸相似度矩阵;
65.根据所述人脸相似度矩阵获取与所述待测人脸的最大相似度,若所述最大相似度满足预设置的识别阈值则根据所述人脸特征库输出所述待测人脸的识别信息,所述识别信息包括所述人脸特征库中与所述最大相似度对应的人脸信息。
66.本技术针对目前现有的问题,制定一种人脸识别方法、识别装置和识别系统,通过将待测人脸的人脸特征矩阵化,并根据待测人脸的人脸特征矩阵与人脸特征库的人脸特征矩阵进行矩阵运算以完成人脸搜索并输出人脸相似度矩阵,将人脸相似度矩阵中的最大相似度且满足识别阈值的人脸信息作为识别信息并输出。本实施例通过一步矩阵运算完成人脸搜索以获得待测人脸的人脸特征与人脸特征库中各人脸特征的相似度计算,从而避免了现有技术中长时间高复杂度的循环嵌套操作,有效提升运算速度,能够实现实时高效、快速准确地人脸识别,弥补了现有技术中存在的问题,具有广泛的应用前景。
67.在一个具体的示例中,如图2a所示为人脸识别装置的结构框图,包括中央处理器和数据处理器,其中,所述中央处理器为人脸识别装置的控制核心,用于按照预设置的操作步骤控制和协调人脸识别装置的各部件;所述数据处理器为专用运算处理器,例如图形处理器gpu、张量处理器tpu、神经网络处理器npu等,其中图形处理器gpu具有数量众多的计算单元和超长的流水线、善于处理图像领域的运算加速,张量处理器tpu具有专用集成电路能够实现更高的处理速度和更低的能耗,神经网络处理器npu采用数据驱动并行计算的架构以加速神经网络的运算速度并提高运算效率。
68.如图5所示,下面以一个具体的人脸识别过程为例进行说明。
69.第一步,中央处理器通过数据处理器的人脸特征提取模型对接收的待测图像进行人脸特征提取并输出待测人脸的第一人脸特征矩阵。
70.在本实施例中,通过设置在数据处理器中的人脸特征提取模型对待测图像进行人脸特征提取,具体包括:
71.首先,中央处理器将所述待测图像加载到数据处理器中。
72.在本实施例中,中央处理器接收待测图像,所述待测图像可以是外部输入的图像,也可以是连接的图像采集设备采集的图像,中央处理器将待测图像存储在内部存储器中。为便于数据处理器快速读取待测图像,中央处理器将存储在内部存储器中的待测图像加载到数据处理器中。
73.其次,数据处理器根据人脸检测模型检测所述待测图像并输出所述待测人脸的人脸图像数据。
74.在本实施例中,人脸检测模型使用人脸识别精度较高的retinaface,硬件采用比特大陆se5边缘计算盒子的开发套件,针对使用的linux系统,对人脸检测模型进行平台优化。具体的,可以根据不同运行系统对人脸检测模型进行系统化框架处理以适配各系统,将人脸检测模型进行转换以迁移至该系统平台,在本实施例中,使用比特大陆se5边缘计算盒
子的sdk将人脸检测模型转化为linux系统需要的格式,从而最大化地发挥硬件性能,例如使用该系统平台的相应工具对模型进行int8量化,一方面将精度控制在预设置的损失范围内以确保检测精度,另一方面有效提升模型的运行效率。在本实施例中,使用进行了平台优化的人脸检测模型对待测图像进行检测,如果没有检测出人脸则退出,不作处理,等待下一张待测图像;若识别出人脸则输出人脸图像数据,所述人脸图像数据为112*112像素的人脸图像数据。值得说明的是,如果待测图像中存在多个人脸时,分别输出每个人脸的人脸图像数据,即分别输出多个112*112像素的人脸图像数据。
75.需要说明的是,本技术对人脸检测模型不作具体限定、对使用的硬件和软件系统也不作具体限定,本领域技术人员应当根据实际应用需求选择适当的人脸检测模型、硬件和软件系统,以实现人脸检测功能为设计准则,在此不再赘述。
76.考虑到进一步提高人脸特征提取的准确度,在一个可选的实施例中,还包括:
77.使用人脸关键点提取模型对所述人脸图像数据进行关键点提取并输出各关键点的位置坐标;
78.根据所述人脸图像数据的各关键点的位置坐标,使用人脸对齐模型对所述人脸图像数据进行仿射变换以对齐所述人脸图像数据;
79.根据预设置的人脸图像质量阈值,使用人脸质量模型对所述人脸图像数据进行过滤。
80.在本实施例中,为进一步提高人脸特征提取的准确度使用多个操作,其中:
81.第一个操作为提取人脸关键点,针对人脸图像数据,使用人脸关键点提取模型进行关键点提取,并输出人脸图像数据中的左眼、右眼、鼻尖、左嘴角、右嘴角五个部位的位置坐标,以便于后续步骤的人脸对齐的应用。值得说明的是,本技术对关键点的数量和位置不作具体限定,本领域技术人员应当根据实际应用需求选择适当数量和位置的关键点进行提取,在此不再赘述。
82.第二个操作为对齐人脸,根据人脸关键点提取模型输出的关键部位的位置坐标,对人脸图像进行仿射变换,根据人脸中各部位的位置坐标,对人脸图像进行对齐,例如将人脸图像数据中的倾斜一定角度的人脸调正,以便于后续步骤的使用。
83.第三个操作为对人脸质量进行过滤,针对对齐后的人脸图像数据,使用人脸质量模型对人脸图像数据的质量进行判断并输出0-1之间的浮点数以表征图像质量,该浮点数据具体涉及图像清晰度、人脸角度等信息,根据预设置的人脸质量阈值对输出的浮点数据进行判断:当输出的浮点数据大于人脸质量阈值则认为该人脸图像数据为高质量数据,可以进行人脸识别以确保人脸识别的准确性;当输出的浮点数据小于人脸质量阈值则认为该人脸图像数据为低质量数据,对低质量数据进行丢弃;即通过使用人脸质量模型对各人脸图像数据进行过滤,以保证人脸识别的准确性。
84.本实施例通过人脸特征点提取、人脸对齐和人脸质量过滤操作对人脸图像数据进行进一步筛选,能够有效提升人脸图像数据的质量,提高人脸识别的准确性。
85.最后,通过数据处理器的人脸特征提取模型对人脸图像数据进行人脸特征提取并输出待测人脸的第一人脸特征矩阵。
86.在本实施例中,根据人脸图像数据,尤其是经过人脸特征点提取、人脸对齐和人脸质量过滤操作后的高质量人脸图像数据,使用数据处理器中的人脸特征提取模型进行特征
提取,输出1*512的一维浮点数向量的第一人脸特征矩阵并存储在数据处理器的内存中。
87.具体的,在本实施例中,首先,在数据处理器的内存中申请一块内存空间:根据第一人脸特征矩阵的数组大小,使用bmsdk中的对应函数在数据处理器的内存中申请一块内存空间并获取其地址。其次,使用bmsdk中的s2d函数,将第一人脸特征矩阵复制到数据处理器的内存中,并通过该设备内存地址的指针进行访问。本实施例通过将第一人脸特征矩阵加载到数据处理器中,使得数据处理器能够快速从内存中获取第一人脸特征矩阵,能够加快人脸识别的整体速度。
88.第二步,中央处理器通过数据处理器根据预设置的人脸特征库的具有多个人脸特征的第二人脸特征矩阵,与所述第一人脸特征矩阵进行人脸搜索并输出所述待测人脸与所述多个人脸特征的人脸相似度矩阵;
89.在本实施例中,根据待测人脸的第一人脸特征矩阵,与预先设置的人脸特征库中的海量的人脸特征进行比对,具体的,通过比对第一人脸特征矩阵与人脸特征库中各人脸特征的欧式距离进行人脸搜索,在本实施例中,通过使用数据处理器对第一人脸特征矩阵与人脸特征库的第二人脸特征矩阵进行矩阵运算进行人脸搜索,即通过数据处理器的一步矩阵运算实现人脸搜索,从而快速完成人脸搜索并输出待测人脸与所述多个人脸特征的人脸相似度矩阵。
90.在一个可选的实施例中,当人脸特征库从外部输入到中央处理器并存储在内部存储器中,为便于数据处理器的读取,将存储在内部存储器的人脸特征库加载到数据处理器中。具体的,首先在数据处理器的内存中构建数据结构,再构建一个n行512列的矩阵;然后在数据处理器的内存中申请相应大小的空间,并获取内存地址;将存储在中央处理器的内部存储器中的人脸特征库复制到数据处理器的内存空间内,并通过数据处理器的内存地址进行访问。与加载待测人脸不同,人脸特征库通常只加载一次,即将人脸特征库复制到数据处理器的内存中,以便于进行多次人脸搜索。
91.在一个可选的实施例中,所述人脸识别方法还包括:建立所述人脸特征库,包括:根据接收的多个人脸图像进行人脸检测和特征提取并形成具有多个人脸特征的第二人脸特征矩阵,以及与第二人脸特征矩阵的各人脸特征一一对应的人脸信息。
92.在本实施例中,考虑到人脸特征库的建立,以及新增人脸图像等应用场景,对接收的海量人脸图像批量进行人脸检测和特征提取,例如,针对接收的海量的人脸图像进行人脸检测,将人脸图像中的各个人脸数据分离出来,然后使用人脸特征提取模型分别进行特征提取,例如通过循环的模式生成各人脸的人脸特征矩阵,每个人脸特征矩阵均为1*512的一维浮点数向量,则生成的第二人脸特征矩阵为n*512的浮点矩阵,其中n为人脸特征库中的人脸特征的个数。为便于识别各人脸特征,人脸特征库还包括与第二人脸特征矩阵的各人脸特征一一对应的人脸信息,例如人脸信息包括与各人脸特征对应的人脸名称、以及表征各人脸的标识id。
93.由于待测人脸的第一人脸特征矩阵为1*512的一维矩阵,而人脸特征库的第二人脸特征矩阵为n*512的浮点矩阵,经过矩阵运算后能够得到待测人脸的第一人脸特征与人脸特征库中各人脸特征的欧式距离,本实施例以计算获得的人脸相似度矩阵进行表征,人脸相似度矩阵中的每个数为表征待测人脸的第一人脸特征与人脸特征库中一个人脸特征的欧式距离,即通过计算欧式距离表征两个人脸特征的相似度。
94.考虑到每个人脸特征均表征为1*512的一维浮点矩阵,为进一步加快矩阵运算,在一个可选的实施例中,在将中央处理器存储的人脸特征库加载到数据处理器之前,中央处理器对人脸特征库的第二人脸特征矩阵进行转置。
95.在本实施例中,通过将第二人脸特征矩阵进行转置,即将n*512的第二人脸特征矩阵转化为512*n的矩阵,则在矩阵运算中,待测人脸的第一人脸特征矩阵1*512与第二人脸特征矩阵512*n相乘,即形成1*n的人脸相似度矩阵,从而有效提高运算效率,提升运算速度。
96.第三步,中央处理器根据所述人脸相似度矩阵获取与所述待测人脸的最大相似度,若所述最大相似度满足预设置的识别阈值则根据所述人脸特征库输出所述待测人脸的识别信息。
97.在本实施例中,中央处理器接收数据处理器输出的人脸相似度矩阵,通过遍历人脸相似度矩阵中各相似度的值找到人脸特征库中与待测人脸的人脸特征最相似的人脸,即相似度值最大的数;然后通过预设置的识别阈值进行判断,若最大的相似度大于等于识别阈值则认为相似度值最大的人脸特征对应的人即为待测人脸对应的人,即完成人脸识别,输出的识别信息为相似度值最大的人脸特征对应的人脸信息;若最大的相似度小于识别阈值则认为未识别出待测人脸。
98.考虑到识别阈值的设定,在一个可选的实施例中,在获得第一人脸特征矩阵之后,对所述第一人脸特征矩阵进行归一化处理。
99.在本实施中,通过对第一人脸特征矩阵进行归一化处理,即将512个浮点数归一为512个0到1之间的数据;同时,将人脸特征库中各人脸特征进行归一化处理,则在矩阵相乘的预算中,获得的相似度值也为0-1之间的数值。此时,识别阈值也为0到1之间的数值,例如将识别阈值设置为0.7,则相似度矩阵中相似度数值最大的相似度大于等于0.7则认为识别出待测人脸,否则认为未识别出待测人脸。
100.至此,完成对待测人脸的人脸识别。如图5所示,本实施例通过中央处理器接收外部输入的大量人脸图像,经数据处理器生成第二人脸特征矩阵;再通过中央处理器接收外部输入的待测人脸的待测图像,经数据处理器生成第一人脸特征矩阵;即通过中央处理器和数据处理器完成两套数据流程。再通过数据处理器进行一步式矩阵运算能够快速获得包括第一人脸特征矩阵与人脸特征库中各人脸特征的欧式距离的人脸相似度矩阵,由中央处理器对人脸相似度矩阵进行数据分析并判断是否识别出待测人脸,并将识别出的待测人脸的识别信息输出,从而完成人脸识别。
101.在本实施例中,通过将人脸识别过程中的人脸检测步骤、人脸特征提取步骤和人脸搜索步骤设置在数据处理器中完成,一方面通过使用数据处理器快速实现大数据量的运算,另一方面能够解决现有技术中通过中央处理器进行循环运算导致的运算时间长的问题,有效缓解中央处理器的运行压力,避免大量占用中央处理器的资源,降低中央处理器的占用率。
102.值得说明的是,如图2b所示为另一个实施例的人脸识别装置的结构框图,包括中央处理器1、中央处理器2和数据处理器,其中,所述中央处理器1为人脸识别装置的控制核心,例如为本地处理器,用于按照预设置的操作步骤控制和协调人脸识别装置的各部件;所述中央处理器2用于将人脸特征库加载到数据处理器中,例如为云端处理器,有效降低中央
处理器1的占用率,节约内存和算力,进一步提高识别效率。所述数据处理器同前述实施例,在此不再赘述。
103.考虑到人脸特征库包括数量庞大的人脸特征,在一个可选的实施例中,所述人脸特征库包括多个子人脸特征库,所述人脸识别方法包括:
104.选择一个子人脸特征库;
105.所述对所述人脸特征库的第二人脸特征矩阵进行转置进一步包括:对选择的子人脸特征库的第二人脸特征矩阵进行转置;
106.所述将所述人脸特征库加载到数据处理器中进一步包括:将转置的子人脸特征库加载到所述数据处理器中;
107.所述根据预设置的人脸特征库的具有多个人脸特征的第二人脸特征矩阵,与所述第一人脸特征矩阵进行人脸搜索并输出所述待测人脸与所述多个人脸特征的人脸相似度矩阵进一步包括:将转置的子人脸特征库的第二人脸特征矩阵与所述第一人脸特征矩阵进行人脸搜索并输出所述待测人脸与所述多个人脸特征的子人脸相似度矩阵;
108.所述根据所述人脸相似度矩阵获取与所述待测人脸的最大相似度,若所述最大相似度满足预设置的识别阈值则根据所述人脸特征库输出所述待测人脸的识别信息进一步包括:根据子人脸相似度矩阵获取与所述待测人脸的最大相似度,若所述最大相似度满足预设置的识别阈值则根据所述子人脸特征库输出所述待测人脸的识别信息,并结束人脸识别,若所述最大相似度不满足预设置的识别阈值则判断所述多个子人脸特征库中是否还有未转置的子人脸特征库,若有未转置的子人脸特征库则跳转至所述选择一个子人脸特征库,否则结束人脸识别。
109.在本实施例中,通过将人脸特征库进行分块,按块加载到数据处理器中,并顺序与待测人脸的第一人脸特征矩阵进行人脸搜索。具体的,对每个分块的子人脸特征库的第二人脸特征矩阵进行转置,然后加载到数据处理器中,与待测人脸的第一人脸特征矩阵进行矩阵运算以获得子人脸相似度矩阵并输出至中央处理器,中央处理器遍历子人脸相似度矩阵中的相似度值以获得最大相似度值,并用预设置的识别阈值判断该子人脸特征库中的与第一人脸特征矩阵最相似的人脸特征的相似度值是否为识别值,若满足识别阈值则表明识别出待测人脸并输出识别信息,本次人脸识别结束;否则选择另一个子人脸特征库,按照上述步骤进行人脸搜索和最大相似度判断,直到识别出待测人脸,或者完成所有子人脸特征库即人脸特征库的人脸搜索。本实施例通过对人脸特征库的分块操作,能够满足超大容量的人脸特征库的人脸搜索,例如1g内存可以存储100万条人脸特征信息,100万条人脸特征信息分为10块,按块进行人脸搜索进一步提高人脸识别的识别速度。
110.值得说明的是,本技术对人脸特征库的分块不作具体限定,可以是中央处理器在接收传输的人脸特征库时进行划分,也可以是中央处理器接收已划分的多个子人脸特征库。
111.在一个具体的实施例中,以使用上述人脸识别方法寻人进行说明,当在较大区域或城市中利用户外监控寻人的时候,例如待寻人家属最后一次见到待寻人是在火车站的出口,然后走丢未寻找到并报警,此时需要对火车站周边进行查找。而对于火车站周边的区域来说存在海量数据,按照区域划分为多个子区域,人脸识别装置的人脸特征库包括与多个子区域对应的多个子人脸特征库,将待寻人的照片输入到人脸识别装置的中央处理器中,
并利用数据处理器根据多个子人脸特征库对待寻人进行人脸识别以寻找到待寻人。具体的:
112.第一个步骤,中央处理器接收输入的待寻人的待测图像并传输至数据处理器。
113.第二个步骤,数据处理器根据待测图像进行人脸检测和人脸特征识别,具体包括:
114.根据人脸检测模型检测所述待测图像并输出所述待测人脸的人脸图像数据;
115.使用人脸关键点提取模型对所述人脸图像数据进行关键点提取并输出各关键点的位置坐标;
116.根据所述人脸图像数据的各关键点的位置坐标,使用人脸对齐模型对所述人脸图像数据进行仿射变换以对齐所述人脸图像数据;
117.根据预设置的人脸图像质量阈值,使用人脸质量模型对所述人脸图像数据进行过滤;
118.通过人脸特征提取模型对人脸图像数据进行人脸特征提取并输出待测人脸的第一人脸特征矩阵,输出1*512的一维浮点数向量的第一人脸特征矩阵并存储在数据处理器的内存中。
119.第三个步骤,分别对第一人脸特征矩阵和子人脸特征库进行人脸搜索以识别待寻人。
120.中央处理器从人脸特征库的多个子人脸特征库中选择一个子人脸特征库并对该子人脸特征库进行转置,将转置的子人脸特征库加载到所述数据处理器中;数据处理器将转置的子人脸特征库的第二人脸特征矩阵与所述第一人脸特征矩阵进行人脸搜索并输出所述待测人脸与所述多个人脸特征的子人脸相似度矩阵;中央处理器根据子人脸相似度矩阵获取与所述待测人脸的最大相似度:若所述最大相似度满足预设置的识别阈值则根据所述子人脸特征库输出所述待测人脸的识别信息,并结束人脸识别;若所述最大相似度不满足预设置的识别阈值则判断所述多个子人脸特征库中是否还有未转置的子人脸特征库,若有未转置的子人脸特征库则跳转至所述选择一个子人脸特征库,否则结束人脸识别。
121.本实施例通过使用第一人脸特征矩阵与多个子人脸特征库进行人脸搜索实现对火车站周边的多个子区域中进行快速寻人,通过人脸搜索的一步矩阵运算有效提升运算速度,并能够实现实时高效、快速准确地人脸识别,弥补了现有技术中存在的问题,具有实际应用价值和广泛的应用前景。与上述实施例提供的人脸识别方法相对应,本技术的一个实施例还提供一种应用上述人脸识别方法的人脸识别装置,由于本技术实施例提供的人脸识别装置与上述几种实施例提供的人脸识别方法相对应,因此在前实施方式也适用于本实施例提供的人脸识别装置,在本实施例中不再详细描述。
122.如图2a所示,本技术的一个实施例还提供一种应用上述人脸识别方法的人脸识别装置,包括中央处理器和数据处理器,其中,所述中央处理器配置为:
123.将接收的待测图像传输至所述数据处理器,使得所述数据处理器使用人脸特征提取模型对所述待测图像进行人脸特征提取并输出待测人脸的第一人脸特征矩阵,根据预设置的人脸特征库的具有多个人脸特征的第二人脸特征矩阵、与所述第一人脸特征矩阵进行人脸搜索并输出所述待测人脸与所述多个人脸特征的人脸相似度矩阵;
124.根据所述人脸相似度矩阵获取与所述待测人脸的最大相似度,若所述最大相似度满足预设置的识别阈值则根据所述人脸特征库输出所述待测人脸的识别信息,所述识别信
息包括所述人脸特征库中与所述最大相似度对应的人脸信息。
125.本实施例通过将待测人脸的人脸特征矩阵化,并根据待测人脸的人脸特征矩阵与人脸特征库的人脸特征矩阵进行矩阵运算以完成人脸搜索并输出人脸相似度矩阵,将人脸相似度矩阵中的最大相似度且满足识别阈值的人脸信息作为识别信息并输出,本实施例通过一步矩阵运算完成人脸搜索以获得待测人脸的人脸特征与人脸特征库中各人脸特征的相似度计算,从而避免了现有技术中长时间高复杂度的循环嵌套操作,有效提升运算速度,能够实现实时高效、快速准确地人脸识别,弥补了现有技术中存在的问题,具有广泛的应用前景。本实施例的具体实施方式参见前述实施例,在此不再赘述。
126.在一个可选的实施例中,所述人脸识别装置还包括内部存储器,所述中央处理器进一步配置为:
127.将存储在所述内部存储器的所述待测图像加载到所述数据处理器中,使得所述数据处理器使用人脸检测模型检测所述待测图像并输出所述待测人脸的人脸图像数据,使用人脸关键点提取模型对所述人脸图像数据进行关键点提取并输出各关键点的位置坐标,根据所述人脸图像数据的各关键点的位置坐标、使用人脸对齐模型对所述人脸图像数据进行仿射变换以对齐所述人脸图像数据,根据预设置的人脸图像质量阈值、使用人脸质量模型对所述人脸图像数据进行过滤,使用人脸特征提取模型对所述人脸图像数据进行人脸特征提取并输出所述第一人脸特征矩阵,对所述第一人脸特征矩阵进行归一化处理;
128.对存储在所述内部存储器的所述人脸特征库的第二人脸特征矩阵进行转置,将所述人脸特征库加载到所述数据处理器中,使得所述数据处理器将所述人脸特征库的第二人脸特征矩阵与所述第一人脸特征矩阵进行人脸搜索并输出所述待测人脸与所述多个人脸特征的人脸相似度矩阵;
129.根据所述人脸相似度矩阵获取与所述待测人脸的最大相似度,若所述最大相似度满足预设置的识别阈值则根据所述人脸特征库输出所述待测人脸的识别信息,所述识别信息包括所述人脸特征库中与所述最大相似度对应的人脸信息。
130.本实施例通过将存储在内部存储器的待测图像加载到数据处理器中,经数据处理器的人脸检测模型进行人脸检测、经人脸关键点提取模型进行关键点提取,经人脸对齐模型进行人脸对齐,经人脸图像质量阈值过滤输出高质量人脸图像数据,最后经人脸特征提取模型进行人脸特征提取获得待测人脸的第一人脸特征矩阵,并对第一人脸特征矩阵进行归一化处理;将归一化处理后的第一人脸特征矩阵与人脸特征库的转置后的第二人脸特征矩阵进行人脸搜索,通过一步矩阵运算获得人脸相似度矩阵,再筛选出最大相似度值,并与识别阈值进行比对以判断是否识别出待测人脸,本实施例能够进一步提高人脸识别的准确度,具体实施方式参见前述实施例,在此不再赘述。
131.基于上述人脸识别装置,如图3所示,本技术的一个实施例还提供一种人脸识别系统,包括多个前述的人脸识别装置,各人脸识别装置通过网络连接,各人脸识别装置的人脸特征库形成所述人脸识别系统的总人脸特征库,其中,每个人脸识别装置的中央处理器被配置为:
132.将接收的待测图像加载到所述数据处理器,使得所述数据处理器使用人脸特征提取模型对所述待测图像进行人脸特征提取并输出待测人脸的第一人脸特征矩阵;
133.选择一个人脸特征库;
134.对选择的人脸特征库的第二人脸特征矩阵进行转置;
135.将转置的人脸特征库加载到所述数据处理器中;
136.将转置的人脸特征库的第二人脸特征矩阵与所述第一人脸特征矩阵进行人脸搜索并输出所述待测人脸与所述多个人脸特征的人脸相似度矩阵;
137.根据所述人脸相似度矩阵获取与所述待测人脸的最大相似度,若所述最大相似度满足预设置的识别阈值则根据所述人脸特征库输出所述待测人脸的识别信息、并结束人脸识别,若所述最大相似度不满足预设置的识别阈值则判断所述总人脸特征库中是否还有未转置的人脸特征库,若有未转置的人脸特征库则跳转至所述选择一个人脸特征库、否则结束人脸识别。
138.本实施例的人脸识别系统包括多个人脸识别装置,例如部署在一个园区中、或某一区域中不同位置的人脸识别装置,每个人脸识别装置包括存储在自身内部存储器的人脸特征库,多个连接在一起的人脸识别装置形成了总人脸特征库,从而通过顺序使用多个人脸特征库与待测人脸的第一人脸特征矩阵进行人脸搜索获取与待测人脸的最大相似度,例如先使用自身的人脸特征库再使用其它人脸识别装置的人脸特征库,并利用识别阈值判断是否识别出待测人脸,从而通过一步矩阵运算完成人脸搜索以获得待测人脸的人脸特征与人脸特征库中各人脸特征的相似度,从而避免了现有技术中长时间高复杂度的循环嵌套操作,有效提升运算速度,能够实现实时高效、快速准确地人脸识别。
139.本发明的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现:使用人脸特征提取模型对接收的待测图像进行人脸特征提取并输出待测人脸的第一人脸特征矩阵;根据预设置的人脸特征库的具有多个人脸特征的第二人脸特征矩阵,与所述第一人脸特征矩阵进行人脸搜索并输出所述待测人脸与所述多个人脸特征的人脸相似度矩阵;根据所述人脸相似度矩阵获取与所述待测人脸的最大相似度,若所述最大相似度满足预设置的识别阈值则根据所述人脸特征库输出所述待测人脸的识别信息,所述识别信息包括所述人脸特征库中与所述最大相似度对应的人脸信息。
140.在实际应用中,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
141.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
142.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无
线、电线、光缆、rf等等,或者上述的任意合适的组合。
143.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
144.如图4所示,本发明的另一个实施例提供的一种计算机设备的结构示意图。图4显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
145.如图4所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
146.总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
147.计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
148.系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
149.具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
150.计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网
络,例如因特网)通信。如图4所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图4中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
151.处理器单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种人脸识别方法。
152.本发明针对目前现有的问题,制定一种人脸识别方法、识别装置和识别系统,通过将待测人脸的人脸特征矩阵化,并根据待测人脸的人脸特征矩阵与人脸特征库的人脸特征矩阵进行矩阵运算以完成人脸搜索并输出人脸相似度矩阵,将人脸相似度矩阵中的最大相似度且满足识别阈值的人脸信息作为识别信息并输出,本实施例通过一步矩阵运算完成人脸搜索以获得待测人脸的人脸特征与人脸特征库中各人脸特征的相似度计算,从而避免了现有技术中长时间高复杂度的循环嵌套操作,有效提升运算速度,能够实现实时高效、快速准确地人脸识别,弥补了现有技术中存在的问题,具有广泛的应用前景。
153.显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。