人脸识别方法、电子装置和非易失性计算机可读存储介质与流程

文档序号:15616313发布日期:2018-10-09 21:28阅读:158来源:国知局

本发明涉及人脸识别技术领域,特别涉及一种人脸识别方法、电子装置和非易失性计算机可读存储介质。



背景技术:

现有的3d人脸解锁通常只检测当前场景中是否存在目标用户的3d人脸,但无法识别该3d人脸是目标用户真实的3d人脸,还是目标用户的3d人脸模型,安全性有待提高。



技术实现要素:

本发明的实施例提供了一种人脸识别方法、电子装置和非易失性计算机可读存储介质。

本发明实施方式的人脸识别方法用于电子装置。所述人脸识别方法包括:

获取当前用户与所述电子装置的当前距离;

发射红外光至所述当前用户;

获取由所述当前用户反射回的红外光;和

根据反射回的红外光及所述当前距离判断所述当前用户的脸部是否为真实人脸。

本发明实施方式的电子装置包括距离检测器、红外光源、光接收器和处理器。所述距离检测器用于获取当前用户与所述电子装置的当前距离。所述红外光源用于发射红外光至所述当前用户。所述光接收器用于获取由所述当前用户反射回的红外光。所述处理器用于根据反射回的红外光及所述当前距离判断所述当前用户的脸部是否为真实人脸。

本发明实施方式的一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行上述的人脸识别方法。

本发明实施方式的人脸识别方法、电子装置和非易失性计算机可读存储介质利用不同材质对红外光具有的不同反射率的特性,发射红外光到当前用户,再接收由当前用户反射回的红外光,并根据反射回的红外光的量以及当前用户与电子装置的距离判断当前用户的脸部是否为真实人脸,从而实现当前用户的活体检测的目的,有利于提升人脸识别的安全性和准确性。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是本发明某些实施方式的人脸识别方法的流程示意图。

图2是本发明某些实施方式的电子装置的模块示意图。

图3是本发明某些实施方式的电子装置的结构示意图。

图4至图8是本发明某些实施方式的人脸识别方法的流程示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

请一并参阅图1和图2,本发明提供一种用在电子装置100中的人脸识别方法。人脸识别方法包括:

01:获取当前用户与电子装置100的当前距离;

03:发射红外光至当前用户;

05:获取由当前用户反射回的红外光;和

07:根据反射回的红外光及当前距离判断当前用户的脸部是否为真实人脸。

请一并参阅图2和图3,本发明还提供一种电子装置100。电子装置100包括距离检测器10、红外光源20、光接收器30和处理器40。步骤01可以由距离检测器10实现。步骤03可以由红外光源20实现。步骤05可以由光接收器30实现。步骤07可以由处理器40实现。

也即是说,距离检测器10用于获取当前用户与电子装置100的当前距离。红外光源20用于发射红外光至当前用户。光接收器30用于获取由当前用户反射回的红外光。处理器40用于根据反射回的红外光及当前距离判断当前用户的脸部是否为真实人脸。

其中,电子装置100可为手机、平板电脑、笔记本电脑、可穿戴设备(如智能手环、智能手表、智能眼镜、智能头盔等)等。

距离检测器10可为红外接近传感器60。处理器40根据红外接近传感器60发射红外光和接收红外光的时间差计算当前用户与电子装置100的当前距离。距离检测器10也可为深度相机70。深度相机70中的激光投射器71投射激光图案至当前用户,红外图像采集器72采集经当前用户调制后的激光图案,处理器40利用预置的参考图案和调制后的激光图案计算当前用户与电子装置100的当前距离。距离检测器10也可以为深度相机70中的红外图像采集器72和电子装置100中的可见光摄像头50。距离检测器10利用红外图像采集器72和可见光摄像头50分别采集两幅当前用户的图像,再利用这两幅图像计算当前用户与电子装置100的当前距离。

红外光源20可以是红外接近传感器60中的光发射器,也可以是深度相机70中的激光投射器71或泛光灯73。

光接收器30可以为接近传感器60中的光接收器,可以是深度相机70中的红外图像采集器72。

可以理解,由于不同材质具有不同的微观结构、氧化度、表面纹理、光泽度等,这些因素均会影响各种材质对红外光的吸收率和反射率。因此,不同的材质对红外光具有不同的吸收率和反射率。

本发明实施方式的人脸识别方法和电子装置100利用不同材质对红外光具有的不同反射率的特性,发射红外光到当前用户,再接收由当前用户反射回的红外光,并根据反射回的红外光的量以及当前用户与电子装置100的距离判断当前用户的脸部是否为真实人脸,从而实现当前用户的活体检测的目的,有利于提升人脸识别的安全性和准确性。

本发明实施方式的人脸识别方法可以应用于2d人脸识别或3d人脸识别中。首先判断当前用户的脸部是否为真实人脸,在当前用户的脸部为真实人脸时再判断当前用户是否为目标用户。如此,可以提升人脸识别的安全性。

请一并参阅图4和图5,在某些实施方式中,本发明实施方式的人脸识别方法还包括:

06:确定反射回的红外光的实际反射量。

其中,步骤06进一步包括:

0611:根据反射回的红外光生成二维红外人脸图像;

0612:处理二维红外人脸图像以识别二维红外人脸图像中人脸对应的多个像素点;和

0613:根据多个像素点对应的像素值确定实际反射量。

请参阅图3,在某些实施方式中,步骤06可以由处理器40实现。也即是说,处理器40可用于确定反射回的红外光的实际反射量。进一步地,步骤0611、步骤0612和步骤0613均可以由处理器40实现。也即是说,处理器40执行步骤06时,实际上执行根据反射回的红外光生成二维红外人脸图像,处理二维红外人脸图像以识别二维红外人脸图像中人脸对应的多个像素点,以及根据多个像素点对应的像素值确定实际反射量。

具体地,处理器40根据光接收器30接收到的反射回的红外光生成一幅二维红外人脸图像。处理器40采用人脸识别算法识别出当前用户的脸部在二维红外人脸图像中的所处区域,从而确定二维红外人脸图像中用户脸部对应的多个像素点。多个像素点各自对应的像素值指示了当前用户的脸部反射回的红外光的量,这部分红外光可以指示当前用户的脸部对红外光的反射率,因此,这部分红外光为具有参考意义的实际反射量,可以用来检测当前用户的脸部是否为真实人脸。而其余像素点对应的像素值不是由用户的脸部反射回的红外光的量,因此,这部分红外光不具有参考意义。

其中,实际反射量可以是多个像素点对应的像素值的总和,也可以是多个像素点对应的像素值的平均值。在本发明的具体实施例中,实际反射量取为多个像素点对应的像素值的平均值。可以理解,不同的用户,脸部的大小通常是不一样的,如此会导致像素点的个数较多或较少的问题。对于同一当前距离,像素点较多时,计算得的实际反射量较大,像素点较少时,计算得的实际反射量较少。因此,选用平均值作为实际反射量可以避免个体脸部差异性的影响,提升后续人脸识别的准确性。

如此,结合二维红外人脸图像从接收到的全部的红外光中辨别出由人脸反射回的红外光,将这部分红外光定义为实际反射量,该实际反射量可用于后续的人脸真实性判别。

请参阅图6,在某些实施方式中,步骤06进一步包括:

0621:获取当前用户的二维可见光人脸图像;

0622:处理二维可见光人脸图像以识别二维可见光人脸图像中人脸对应的多个像素点;

0623:根据反射回的红外光生成二维红外人脸图像;

0624:在二维红外人脸图像中确定与多个像素点对应的关联像素点;和

0625:根据多个关联像素点对应的像素值确定实际反射量。

请参阅图3,在某些实施方式中,步骤0621可以由可见光摄像头50实现。步骤0622、步骤0623、步骤0624和步骤0625均可以由处理器40实现。也即是说,可见光摄像头50可用于获取当前用户的二维可见光人脸图像。处理器40可用于处理二维可见光人脸图像以识别二维可见光人脸图像中人脸对应的多个像素点,根据反射回的红外光生成二维红外人脸图像,在二维红外人脸图像中确定与多个像素点对应的关联像素点,根据多个关联像素点对应的像素值确定实际反射量。

具体地,可见光摄像头50拍摄当前用户二维的彩色图像(即,二维可见光人脸图像)。处理器40采用人脸识别算法识别出当前用户的脸部在二维可见光人脸图像中的所处区域,从而确定二维可见光人脸图像中用户脸部对应的多个像素点。处理器40根据光接收器30接收到的反射回的红外光生成一幅二维红外人脸图像,并对二维红外人脸图像和二维可见光人脸图像做像素匹配,以在二维红外人脸图像中确定与二维可见光人脸图像中用户脸部所处多个像素点一一对应的多个关联像素点,多个关联像素点各自对应的像素值指示了当前用户的脸部反射回的红外光的量,这部分红外光可以指示当前用户的脸部对红外光的反射率,因此,这部分红外光为具有参考意义的实际反射量,可以用来检测当前用户的脸部是否为真实人脸。而其余像素点对应的像素值不是由用户的脸部反射回的红外光的量,因此,这部分红外光不具有参考意义。

其中,实际反射量可以是多个关联像素点对应的像素值的总和,也可以是多个关联像素点对应的像素值的平均值。在本发明的具体实施例中,实际反射量取为多个关联像素点对应的像素值的平均值。可以理解,不同的用户,脸部的大小通常是不一样的,如此会导致关联像素点的个数较多或较少的问题。对于同一当前距离,关联像素点较多时,计算得的实际反射量较大,关联像素点较少时,计算得的实际反射量较少。因此,选用平均值作为实际反射量可以避免个体脸部差异性的影响,提升后续人脸识别的准确性。

如此,结合二维可见光人脸图像和二维红外人脸图像从接收到的全部的红外光中辨别出由人脸反射回的红外光,将这部分红外光定义为实际反射量,该实际反射量可用于后续的人脸真实性判别。

请参阅图7,在某些实施方式中,步骤07根据反射回的红外光及当前距离判断当前用户的脸部是否为真实人脸包括:

0711:根据当前距离确定反射回的红外光的预设反射量区间;

0712:判断反射回的红外光的实际反射量是否处于预设反射量区间内;和

0713:在实际反射量处于预设反射量区间内时,确定当前用户的脸部为真实人脸。

请参阅图3,在某些实施方式中,步骤0711、步骤0712和步骤0713均可以由处理器40实现。也即是说处理器40可以用于根据当前距离确定反射回的红外光的预设反射量区间,判断反射回的红外光的实际反射量是否处于预设反射量区间内,以及在实际反射量处于预设反射量区间内时,确定当前用户的脸部为真实人脸。

可以理解,光接收器30接收到的由当前用户反射回的红外光的量与当前距离有关。在当前距离较大时,红外光传播时间长,衰减的红外光较多,光接收器30接收到的由当前用户反射回的红外光的量就较少;在当前距离较小时,红外光传播时间短,衰减的红外光较少,光接收器30接收到的由当前用户反射回的红外光的量就较多。因此,在利用实际反射量检测当前用户的脸部是否为真实人脸时,需要消除距离对红外光的实际接收量的影响。

因此,在本发明实施方式的人脸识别方法施行前,需要先做红外光的反射量与距离的标定,以获得距离与红外光的反射量的对应关系。具体地,首先,在标定设备的前方标记出多个距离,例如,在与标定设备相距5cm、10cm、15cm、20cm、25cm、30cm、35cm、40cm、60cm、80cm、100cm、125cm、150cm、200cm等位置处进行标记。随后,同一参考用户分别站在上述的各个标定位置处,标定设备发射相同功率的红外光,并依次拍摄参考用户得到多帧二维红外图像,并处理多帧二维红外图像以获得各个距离对应的红外光反射量,从而建立起距离与红外光的反射量的对应关系,并形成映射表。其中,红外光的反射量可为多个反射量具体值,每个反射量具体值对应的距离可为距离具体值或者距离区间。当然,红外光的反射量也可为多个反射量区间,此时,每个反射量区间对应的距离也可为距离具体值或者距离区间。在本发明的具体实施例中,映射表中的反射量为反射量区间,每个反射量区间对应一个距离区间。

进一步地,为使得距离与红外光的反射量的对应关系更加准确,在标定时,可以利用多个参考用户做距离与红外光的反射量的对应关系的标定,其中,多个参考用户具有不同的脸型、肤质等。可以理解,若只利用一个参考用户做标定,则样本量太小,距离与红外光的反射量的对应关系的标定结果不具有广泛性和代表性。而若采用多个参考用户做标定,则大的样本量可以避免该问题,使得距离与红外光的反射量的对应关系的标定结果较为准确。

在标定完成后,距离与红外光的反射量的对应关系的映射表会被预先储存到电子装置100中。使用时,处理器40首先根据当前距离在映射表中找出与其对应的预设反射量区间,随后,将实际反射量与预设反射量区间进行比较,若实际反射量落入预设反射量区间的范围内,则说明当前用户的脸部为真实人脸。

进一步地,在本发明实施方式的人脸识别方法施行前可以进行多种环境下的标定以生成多个映射表。举例来说,多种环境可以包括暗光环境、普通环境和亮光环境。其中,暗光环境指的是当前环境亮度小于第一预设亮度的环境,此时环境中太阳光较少,太阳光中包含的红外光较少。亮光环境指的是当前环境亮度大于第二预设亮度的环境,此时环境中太阳光较多,太阳光中包含的红外光较多。普通环境指的是当前环境亮度处于第一预设亮度与第二预设亮度的区间内。在普通环境下,标定设备采用一预设发光功率发光;在暗光环境下,标定设备可以采用一小于预设发光功率的低发光功率发光;在亮光环境下,标定设备采用一大于预设发光功率的高发光功率发光。如此,生成三个映射表。使用时,电子装置100先检测当前环境的亮度(具体地可以采用光接收器30进行检测),再根据当前环境的亮度选定使用的映射表。最后根据选用的映射表控制红外光源20以与该映射表对应的发光功率进行发光。

如此,基于实际反射量与预设反射量区间的比对,实现对当前用户的活体检测。

请参阅图8,在某些实施方式中,步骤07根据反射回的红外光及当前距离判断当前用户的脸部是否为真实人脸包括:

0721:根据反射回的红外光的实际反射量与预定发射量计算反射回的红外光的实际反射比例;

0722:根据当前距离确定反射回的红外光的预设反射比例区间;

0723:判断实际反射比例是否处于预设反射比例区间内;和

0724:在实际反射比例处于预设反射比例区间内时,确定当前用户的脸部为真实人脸。

请参阅图3,在某些实施方式中,步骤0721、步骤0722、步骤0723和步骤0724均可以由处理器40实现。也即是说,处理器40可用于根据反射回的红外光的实际反射量与预定发射量计算反射回的红外光的实际反射比例,根据当前距离确定反射回的红外光的预设反射比例区间,判断实际反射比例是否处于预设反射比例区间内,以及在实际反射比例处于预设反射比例区间内时,确定当前用户的脸部为真实人脸。

具体地,电子装置100预存有一个或多个映射表,映射表示出了距离与预设反射比例区间的对应关系。其中,映射表为前期进行标定后得到的,其标定方法与上述标定距离与反射量的标定方法类似,在此不再赘述。

使用时,处理器40首先计算红外光的实际反射比例,实际反射比例为实际反射量与预定发射量的比值。随后,处理器40根据当前距离在映射表中找出与其对应的预设反射比例区间。随后,处理器40再将实际反射比例与预设反射比例区间进行比较。若实际反射比例落入预设反射比例区间的范围内,则说明当前用户的脸部为真实人脸。否则,则认定为当前用户的脸部不为真实人脸。

同样地,映射表也可为多个。实际使用时,先测定当前环境的亮度,再确定所要选用的映射表。最后根据选用的映射表控制红外光源20以与该映射表对应的发光功率进行发光。

如此,基于实际反射比例与预设反射比例区间的比对,实现对当前用户的活体检测。

在某些实施方式中,为进一步保证当前用户的真实人脸检测的准确性,本发明实施方式的人脸识别方法还包括:提示用户改变距离,并在每次用户改变距离时,分别获取对应距离下的实际反射量。比如,在用户处于第一距离位置处,处理器40获取第一距离位置处的第一实际反射量;随后,电子装置100提示用户改变距离,用户移动至第二距离位置处,处理器40获取第二距离位置处的第二实际反射量;接着,电子装置100再提示用户改变距离,用户移动至第三距离位置处,处理器40获取第三距离位置处的第三实际反射量。最后,处理器40依次根据第一实际反射量和第一距离、第二实际反射量和第二距离、第三实际反射量和第三距离进行用户脸部的真实性判断。当且仅当三次判断结果均为真实人脸时确定当前用户的脸部为真实人脸;或者,判断为真实人脸的次数大于判断为非真实人脸的次数时,确定当前用户的脸部为真实人脸等。

如此,基于多次的判断结果进行用户脸部是否为真实人脸的判定,进一步提升判定结果准确性。本实施方式可以应用在使用3d人脸识别进行高额支付的情境中,可以大大提升人脸支付的安全性。

本发明还提供一种一个或多个包含计算机可执行指令的非易失性计算机可读存储介质。当计算机可执行指令被一个或多个处理器40执行时,处理器40可执行上述任一实施方式所述的人脸识别方法。

例如,当计算机可执行指令被一个或多个处理器40执行时,处理器40可执行以下步骤:

从距离检测器10中获取当前用户与电子装置100的当前距离;

控制红外光源20发射红外光至当前用户;

从光接收器30中获取由当前用户反射回的红外光;和

根据反射回的红外光及当前距离判断当前用户的脸部是否为真实人脸。

再例如,当计算机可执行指令被一个或多个处理器40执行时,处理器40还可执行以下步骤:

根据反射回的红外光生成二维红外人脸图像;

处理二维红外人脸图像以识别二维红外人脸图像中人脸对应的多个像素点;和

根据多个像素点对应的像素值确定实际反射量。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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