具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本发明而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本发明所要求保护的技术方案。以下各个实施方式的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施方式在不矛盾的前提下可以相互结合相互引用。
深度图像(depth image)也被称为距离影像(range image),是指将从深度相机到物体场景中各点的距离(深度)作为像素值的图像,可以直接反映了物体可见表面的几何形状;深度图各像素点的深度值的形成与深度相机的相机参数息息相关,不同深度相机在相同的拍摄条件下对同一物体进行拍摄所形成的深度图是不相同的。而在基于深度图进行人脸识别时,在采集识别的人脸深度图的深度相机和形成人脸数据库的深度相机不一致时,会出现人脸深度图的错识、误识等现象,降低人脸识别结果的准确性。
本发明实施方式涉及一种人脸识别方法,如图1所示,具体包括:
步骤101,获取待识别的人脸深度图和第一相机参数,其中,第一相机参数是指拍摄待识别的人脸深度图的深度相机的相机参数。
具体地说,通过任意的深度相机获取待识别的人脸深度图,在获取到人脸深度图的同时也要获取拍摄待识别的人脸深度图的深度相机的相机参数,人脸深度图的各像素点的深度值的大小与深度相机的相机标定焦距、相机基线距离等参数有关,因此所获取的相机参数中至少包含上述信息。
步骤102,获取预设的人脸数据库对应的第二相机参数,其中,第二相机参数是指拍摄人脸数据库中各预置人脸深度图所使用的深度相机的相机参数。
具体地说,预设的人脸数据库是指与待识别的人脸深度图进行人脸匹配的人脸数据库,人脸数据库中存储了大量的预置人脸深度图,在生成人脸数据库时,除了要将所获取的预置人脸深度图存储在人脸数据库中,还需要将拍摄匹配各预置人脸深度图时所使用的深度相机的相机参数也一同存储在人脸数据库中,对于人脸数据库中的多张预置人脸深度图是由同一深度相机拍摄完成的情况,可以在存储人脸数据库的相机参数时,为每个相机参数设置一个存储频率,当匹配人脸深度图的相机参数重复出现时,只需要增加该相机参数对应的存储频率,不需要重新保存该相机参数;而本申请从人脸数据库所获取的第二相机参数可能只包含一个相机参数,也可能包含有多个相机参数。
此处需要注意的是:当人脸数据库对应的多个相机参数时,可以将人脸深度图和人脸数据库中各预置人脸深度图进行匹配,获取每个预置人脸深度图与人脸深度图的匹配度,将匹配度满足预设条件的预置人脸深度图对应的相机参数作为第二相机参数。也可以将人脸深度图和人脸数据库中各预置人脸深度图进行匹配,当根据匹配结果未获取到人脸识别结果时,将与人脸深度图匹配度较高的多个预置人脸深度图对应的相机参数作为第二相机参数。也可以依次获取多个相机参数中每个相机参数的存储频率和每个相机参数与第一相机参数的相似度(相机参数之间的差值,差值越小代表相似度越高)根据存储频率的高低对多个相机参数从大到小进行排序,得到多个相机参数排序结果,当存储频率最高的相机参数对应的相似度满足预设条件时(相似度需低于70%),将该相机参数作为第二相机参数,当存储频率最高的相机参数对应的相似度不满足预设条件时,对存储频率第二高的相机参数进行相似度判断,以此类推,从多个相机参数中选取到第二相机参数。
步骤103,根据第一相机参数、第二相机参数和预设的相机参数与深度信息的对应关系,获取分别在第一相机参数和第二相机参数下拍摄的深度图像之间的深度偏差。
具体地说,相机参数与深度信息的对应关系是预先设置好的,可以将相机参数与深度信息的对应关系是存储在一张映射表中,映射表中一个相机参数对应一个深度信息,不同相机参数在获取与其对应的深度信息时,可以获取与使用该相机参数拍摄标准物体时生成的标准深度图,进而根据标准深度图或标准深度值获取到深度信息。由于不同相机参数所对应的深度信息都是基于同一标准物体生成的,因此可以通过不用相机参数所对应的深度信息来获取到在不同相机参数下拍摄的深度图像之间的深度偏差,深度偏差是第一相机参数对应的深度信息和第二相机参数对应的深度信息之间的差值,利用深度偏差修正深度图就可以避免使用不同深度相机拍摄时所生成的深度图之间的偏差。
此处需要注意的是:若第二相机参数中包含多个相机参数,步骤103也会获取到多个深度偏差(多个深度偏差的排序和多个相机参数排序一致)。
步骤104,根据深度偏差对人脸深度图进行修正,并得到修正后的人脸深度图。
具体地说,当深度偏差只包含一个深度偏差值时,在人脸深度图的各个像素点对应的深度值上融合深度偏差值,就可以得到修正后的人脸深度图;当深度偏差包含多个深度偏差值时,首先需要对人脸深度图进行预处理,之后根据深度偏差值的类型与人脸深度图上的各个类型对应的像素点进行深度偏差值和深度值的融合,得到修正后的人脸深度图。而当步骤103获取到多个深度偏差,按照多个深度偏差的顺序依次对人脸深度图进行修正(各个深度偏差处理的均是待识别的人脸深度图),得到多张修正后的人脸深度图(多张修正后的人脸深度图的排序与多个深度偏差的排序一致)。
步骤105,将修正后的人脸深度图和人脸数据库中各预置人脸深度图进行匹配,并根据匹配结果获取人脸识别结果。
具体地说,在获取到修正后的人脸深度图之后,需要先使用预先训练好的神经网络模型对修正后的人脸深度图进行特征提取,得到与修正后的人脸深度图对应的人脸特征信息,之后再基于人脸特征信息,将修正后的人脸深度图与人脸数据库中各预置的人脸深度图进行匹配,并根据匹配结果获取到最终的人脸识别结果。当获取到多张修正后的人脸深度图(如修正后的人脸深度图1、修正后的人脸深度图2、修正后的人脸深度图3和修正后的人脸深度图4)时,可以先获取人脸深度图1的人脸识别结果,当人脸深度图1的人脸识别结果不正确时使用人脸深度图2进行人脸识别,以此类推;也可以分别获取人脸深度图1至人脸深度图4的人脸识别结果,最终根据4张图的人脸识别结果输出最终的人脸识别结果;也可以先获取人脸深度图1和人脸深度图2的人脸识别结果,当人脸深度图1和人脸深度图2的人脸识别结果一致时,输出此时人脸识别结果,否则需要获取人脸深度图3的人脸识别结果进行进一步判断(选取出现频率高的人脸识别结果)。
此处需要注意的是,在使用修正后的人脸深度图进行人脸识别前,可以先对修正后的人脸深度图进行滤波、补全等提高深度图质量的预处理,以此来提高修正后的人脸深度图的质量。
本发明实施方式,在人脸识别的过程中,获取待识别的人脸深度图和第一相机参数,第一相机参数是指拍摄待识别的人脸深度图的深度相机的相机参数;获取预设的人脸数据库对应的第二相机参数,第二相机参数是指拍摄人脸数据库中各预置人脸深度图所使用的深度相机的相机参数;根据第一相机参数、第二相机参数和预设的相机参数与深度信息的对应关系,获取分别在第一相机参数和第二相机参数下拍摄的深度图像之间的深度偏差;根据深度偏差对人脸深度图进行修正,并得到修正后的人脸深度图;将修正后的人脸深度图和人脸数据库中各预置人脸深度图进行匹配,并根据匹配结果获取人脸识别结果。通过根据拍摄待识别人脸深度图时的相机参数和生成人脸数据库的相机参数获取到在两个相机参数下拍摄的深度图像之间的深度偏差,从而减少待识别人脸深度图和人脸数据库各预置人脸深度图之间的偏差,提高基于深度图的人脸识别的准确率。
本发明实施方式涉及一种相机参数和深度信息的对应关系的生成方法,所生成的相机参数和深度信息的对应关系应用在图1所示的人脸识别方法中,如图2所示,具体包括:
步骤201,对于每个相机参数,获取在相机参数下拍摄的标准人脸深度图。
具体地说,对于每个相机参数,都需要获取到在相同的拍摄环境下、以同一拍摄角度和同一拍摄距离对同一标准物体进行拍摄所生成的标准人脸深度图,标准人脸深度图可以是各相机在出厂时设置的,也可以是搭建人脸识别系统时设置的,标准人脸深度图可以存储在标准人脸数据库中,也可以在生成人脸数据库时存储在人脸数据库中。
步骤202,对标准人脸深度图进行分割处理以获取人脸深度区域图,并根据人脸深度区域图的各深度区域的有效像素点的占比,将各深度区域划分为稠密深度区域或稀疏深度区域。
具体地说,对标准人脸深度图进行图像分割所生成人脸深度区域图包含多个深度区域,对于每一个深度区域来讲,深度区域内各个像素点并不一定都存在深度值,统计深度区域的总像素点个数和有效像素点个数(有效像素点是指深度值不为空值和不为零的像素点),计算深度区域的有效像素点的占比,当有效像素点的占比满足稠密条件时(如占比为70%~100%),说明该深度区域为稠密深度区域,反之为稀疏深度区域。
本步骤所采用的图像分割方法可以包含三种:基于边缘检测进行分割、基于关键点检测进行分割和基于彩色图进行分割。其中,基于边缘检测进行分割包括:对标准人脸深度图使用深度差值检测或梯度差值的检测方法进行边缘检测得到标准人脸边缘图,之后再使用形态学闭操作将标准人脸边缘图上未封闭的边缘轮廓线进行闭合形成各种大小不同的闭区间,每一个闭区间都称为一个区域,若干个区域组成人脸深度区域图。基于关键点检测进行分割包括:对标准人脸深度图进行五官关键点检测和人脸边界检测获取到携带由人脸边界标记和人脸五官位置标记的标准人脸深度图,之后根据人脸边界标记和人脸五官位置形成不同的人脸区域,得到人脸深度区域图。基于彩色图进行分割包括:获取到与标准人脸深度图对应的标准人脸彩色图,对标准人脸彩色图进行区域分割,并根据标准人脸彩色图的区域分割结果对标准人脸深度图进行区域分割,得到人脸深度区域图。
步骤203,将人脸深度区域图中各稠密深度区域的像素点的深度值的均值作为稠密深度值,将人脸深度区域图中各稀疏深度区域的像素点的深度值的均值作为稀疏深度值。
具体地说,步骤202中已经将人脸深度区域图中的各个深度区域根据有效像素点的占比划分了两大类:稠密深度区域和稀疏深度区域;将所有稠密深度区域的像素点的深度值的均值作为稠密深度值;将所有稀疏深度区域的像素点的深度值的均值作为稀疏深度值;其中,本申请所给出的是一个相机参数对于一个深度信息(深度信息由稠密深度值和稀疏深度值组成)的情况。
本发明实施方式,在其他实施方式所带来的有益效果的基础之上,还可以根据各个相机参数在相同的拍摄环境下、以同一拍摄角度和同一拍摄距离对同一标准物体进行拍摄所生成的标准人脸深度图来生成各个相机参数对应的深度信息,以此来保证根据相机参数和深度信息的对应关系所获取的深度偏差的准确性。
本发明实施方式涉及一种人脸识别方法,如图3所示,具体包括:
步骤301,获取待识别的人脸深度图和第一相机参数,其中,第一相机参数是指拍摄待识别的人脸深度图的深度相机的相机参数。
具体地说,本步骤与本申请实施方式的步骤101大致相同,此处不一一赘述。
步骤302,获取预设的人脸数据库对应的第二相机参数,其中,第二相机参数是指拍摄人脸数据库中各预置人脸深度图所使用的深度相机的相机参数。
具体地说,本步骤与本申请实施方式的步骤102大致相同,此处不一一赘述。
步骤303,根据相机参数与深度信息的对应关系获取与第一相机参数对应的第一稠密深度值和第一稀疏深度值和与第二相机参数对应的第二稠密深度值和第二稀疏深度值。
具体地说,深度信息包含稠密深度值和稀疏深度值,相机参数与深度信息的对应关系是存储在一张映射表中的,从该映射表中可以获取到与第一相机参数对应的第一稠密深度值和第一稀疏深度值,以及与第二相机参数对应的第二稠密深度值和第二稀疏深度值。
步骤304,将第一稠密深度值和第二稠密深度值的差值作为稠密深度偏差值,将第一稀疏深度值和第二稀疏深度值的差值作为稀疏深度偏差值。
具体地说,由于是在第一相机参数下拍摄的待识别的人脸深度图与在第二相机参数下形成的人脸数据库进行匹配,此处在获取深度偏差值时,需要与第二相机参数为准,计算第一相机参数对应的稠密深度值和稀疏深度值与第二相机参数对应的稠密深度值和稀疏深度值之间的偏差;因此,稠密深度偏差值=第二稠密深度值-第一稠密深度值;稀疏深度偏差值=第二稀疏深度值-第一稀疏深度值。
步骤305,对人脸深度图进行分割处理生成人脸区域图,并根据人脸区域图的各人脸区域的有效像素点的占比将所述各人脸区域划分为稠密人脸区域或稀疏人脸区域。
具体地说,使用步骤202提及的三种图像分割方式之一对人脸深度图进行分割处理(需同步骤202所采用的分割方法一致),得到人脸区域图,之后再根据人脸区域图的各人脸区域内有效像素点的占比将各人脸区域划分为稠密人脸区域或稀疏人脸区域,当有效像素点的占比满足稠密条件时(如占比为70%~100%),说明该深度区域为稠密人脸区域,反之为稀疏人脸区域。
步骤306,利用稠密深度偏差值和稀疏深度偏差值分别对人脸区域图中的各稠密人脸区域和各稀疏人脸区域进行深度值修正,得到修正后的人脸深度图。
具体地说,对于人脸区域图中的所有稠密人脸区域来说,使用稠密深度偏差值对各稠密人脸区域中的各像素点进行修正,对于人脸区域图中的所有稀疏人脸区域来说,使用稀疏深度偏差值对各稀疏人脸区域中的各像素点进行修正,完成各稠密人脸区域和各稀疏人脸区域的像素点修正之后,所生成的便是修正后的人脸深度图。
此处需要注意的是:步骤105提及的对修正后的人脸深度图进行预处理的步骤只能够放置在修正之后,若放在修正之前,经过预处理之后的人脸深度图上的各像素点都存在有像素值,人脸区域图的各区域的有效像素点的占比均为100%,无法区分稠密深度区域或稀疏深度区域,导致无法对待识别的人脸深度图进行准确的修正。
步骤307,将修正后的人脸深度图和人脸数据库中各预置人脸深度图进行匹配,并根据匹配结果获取人脸识别结果。
具体地说,本步骤与本申请实施方式的步骤105大致相同,此处不一一赘述。
本发明实施方式,在其他实施方式所带来的有益效果的基础之上,还可以保证对人脸深度图和生成深度信息时的标准人脸深度图采用同一种图像分割方式,使得提高修正后的人脸深度图的准确性。
本发明实施方式涉及一种人脸识别方法,如图4所示,具体包括:
步骤401,获取待识别的人脸深度图和第一相机参数,其中,第一相机参数是指拍摄待识别的人脸深度图的深度相机的相机参数。
具体地说,本步骤与本申请实施方式的步骤101大致相同,此处不一一赘述。
步骤402,获取预设的人脸数据库对应的第二相机参数,其中,第二相机参数是指拍摄人脸数据库中各预置人脸深度图所使用的深度相机的相机参数。
具体地说,本步骤与本申请实施方式的步骤102大致相同,此处不一一赘述。
步骤403,根据第一相机参数、第二相机参数和预设的相机参数与深度信息的对应关系,获取分别在第一相机参数和第二相机参数下拍摄的深度图像之间的深度偏差。
具体地说,本步骤与本申请实施方式的步骤103大致相同,此处不一一赘述。
步骤404,根据深度偏差对人脸深度图进行修正,并得到修正后的人脸深度图。
具体地说,本步骤与本申请实施方式的步骤104大致相同,此处不一一赘述。
步骤405,根据预设的神经网络模型对修正后的人脸深度图进行特征提取生成人脸深度特征信息。
具体地说,使用预先训练好的神经网络模型对修正后的人脸深度图进行特征提取,得到修正后的人脸深度图对应的人脸深度特征图,根据所使用神经网络模型的不同,所生成的人脸深度特征图可以只包含一层人脸深度特征,也可以包含多层人脸深度特征。
步骤406,基于人脸深度特征信息,将修正后的人脸深度与人脸数据库中各预置人脸深度图进行匹配,获取人脸识别结果。
具体地说,将人脸深度特征信息作为修正后的人脸深度图的标签,并与人脸数据库中各预置的人脸深度图进行特征匹配,并将与人脸特征图相似度最高的人脸深度图作为最终的人脸识别结果。
本发明实施方式,在其他实施方式所带来的有益效果的基础之上,还可以对修正后的人脸深度图进行特征提取,使用所提取的特征来进行人脸识别,提高本申请进行人脸识别的速度。
本发明实施方式涉及一种人脸识别装置,如图5所示,具体包括:
第一获取模块501,用于获取待识别的人脸深度图和第一相机参数,其中,第一相机参数是指拍摄待识别的人脸深度图的深度相机的相机参数。
第二获取模块502,用于获取预设的人脸数据库对应的第二相机参数;其中,第二相机参数是指拍摄人脸数据库中各预置人脸深度图所使用的深度相机的相机参数。
第三获取模块503,用于根据第一相机参数、第二相机参数和预设的相机参数与深度信息的对应关系获取分别在第一相机参数和第二相机参数下拍摄的深度图像之间的深度偏差。
矫正模块504,用于根据深度偏差对人脸深度图进行修正,并得到修正后的人脸深度图。
识别模块505,用于将修正后的人脸深度图和人脸数据库中各预置人脸深度图进行匹配,并根据匹配结果获取人脸识别结果。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明实施方式涉及一种电子设备,如图6所示,包括:
至少一个处理器601;以及,
与所述至少一个处理器601通信连接的存储器602;其中,
所述存储器602存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器601执行,以使所述至少一个处理器601能够执行本发明以上任一所述的人脸识别方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本发明实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施方式。
即,本领域技术人员可以理解,实现上述实施方式方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施方式,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。