人脸图像处理方法、装置、电子设备、存储介质及程序与流程

文档序号:18010970发布日期:2019-06-26 00:04阅读:221来源:国知局
人脸图像处理方法、装置、电子设备、存储介质及程序与流程

本申请涉及计算机视觉技术,尤其是涉及一种人脸图像处理方法、人脸图像处理装置、用于训练神经网络的方法、用于训练神经网络的装置、电子设备、计算机可读存储介质以及计算机程序。



背景技术:

人脸关键点是人脸识别等诸多应用中不可或缺的一部分。准确的确定出人脸关键点,尤其是准确的确定出带有大表情或者存在大角度偏转的面部的人脸关键点,不仅有利于对人脸的相关位置进行矫正,而且有利于增强人脸的语义信息。



技术实现要素:

本申请实施方式提供一种人脸图像处理技术方案。

根据本申请实施方式其中一个方面,提供了一种人脸图像处理方法,该方法包括:将待处理人脸图像输入至神经网络中;经由所述神经网络提取所述待处理人脸图像的包括至少一个三维不动关键点在内的人脸关键点信息。

在本申请一实施方式中,所述神经网络提取出的人脸关键点信息包括:待处理人脸图像中的位于未被遮挡位置处和/或被遮挡位置处的人脸关键点信息。

在本申请又一实施方式中,所述三维不动关键点包括:眼睑中心关键点、鼻子下沿中心关键点、嘴唇唇峰关键点、嘴唇中心关键点以及下巴中心关键点中的至少一个。

在本申请再一实施方式中,所述眼睑中心关键点包括:左眼上眼睑中心关键点、左眼下眼睑中心关键点、右眼上眼睑中心关键点以及右眼下眼睑中心关键点中的至少一个。

在本申请再一实施方式中,所述嘴唇中心关键点包括:上嘴唇上唇线中心关键点、上嘴唇下唇线中心关键点、下嘴唇上唇线中心关键点以及下嘴唇下唇线中心关键点中的至少一个。

在本申请再一实施方式中,所述嘴唇唇峰关键点包括:嘴唇左唇峰关键点以及嘴唇右唇峰关键点中的至少一个。

在本申请再一实施方式中,所述神经网络提取出的人脸关键点信息包括:68个、106个、240个、252个或270个人脸关键点信息。

在本申请再一实施方式中,所述神经网络是利用标注有:包括至少一个三维不动关键点在内的人脸关键点标注信息的人脸图像样本,训练而成的。

在本申请再一实施方式中,所述方法还包括:获取多个人脸图像样本,其中,所述人脸图像样本标注有:包括至少一个三维不动关键点在内的人脸关键点标注信息;利用所述多个人脸图像样本训练所述神经网络。

在本申请再一实施方式中,所述人脸图像样本标注有在人脸图像样本中的位于未被遮挡位置处和/或被遮挡位置处的人脸关键点标注信息。

在本申请再一实施方式中,所述人脸图像样本的人脸关键点标注信息包括:68个、106个、240个、252个或270个人脸关键点标注信息。

在本申请再一实施方式中,在所述利用人脸图像样本训练所述神经网络之前,还包括采用下述步骤获取所述人脸关键点标注信息:确定人脸图像样本中的人脸至少一个部位的曲线控制点;根据所述曲线控制点形成曲线;确定所述曲线上作为人脸图像样本的三维不动关键点;在人脸图像样本的三维不动关键点的至少一侧,选取曲线上的点;根据所述选取的点以及所述人脸图像样本的三维不动关键点形成人脸关键点标注信息。

在本申请再一实施方式中,所述确定所述曲线上作为人脸图像样本的三维不动关键点包括:确定所述曲线上的与人脸图像样本上标记的三维不动关键点的距离满足预定距离要求的点,将所述点作为人脸图像样本的三维不动关键点。

在本申请再一实施方式中,所述利用所述多个人脸图像样本训练所述神经网络包括:将人脸图像样本输入所述神经网络,经由所述神经网络提取出所述人脸图像样本的人脸关键点信息;根据所述提取出的人脸关键点信息计算至少一个器官上的不同关键点之间的第一距离;根据所述人脸关键点标注信息计算至少一个器官上的不同关键点之间的第二距离;基于所述第一距离和第二距离经由第一损失函数对所述神经网络进行监督学习。

在本申请再一实施方式中,所述根据所述提取出的人脸关键点信息计算至少一个器官上的不同关键点之间的第一距离包括:针对由提取出的左眼的上眼睑线关键点与相应的左眼的下眼睑线关键点形成的任一组关键点,分别计算组中的两个关键点之间的距离,以获得至少一个基于左眼眼睑线的第一距离;和/或,针对由提取出的右眼的上眼睑线关键点与相应的右眼的下眼睑线关键点形成的任一组关键点,分别计算组中的两个关键点之间的距离,以获得至少一个基于右眼眼睑线的第一距离;和/或,针对由提取出的上嘴唇上唇线关键点与相应的下嘴唇下唇线关键点形成的任一组关键点,分别计算组中的两个关键点之间的距离,以获得至少一个基于外唇线的第一距离;和/或,针对由提取出的上嘴唇下唇线关键点与相应的下嘴唇上唇线关键点形成的任一组关键点,分别计算组中的两个关键点之间的距离,以获得至少一个基于内唇线的第一距离。

在本申请再一实施方式中,所述第一损失函数包括:针对基于左眼眼睑线的第一距离的第一损失函数、针对基于右眼眼睑线的第一距离的第一损失函数、针对基于外唇线的第一距离的第一损失函数和/或针对基于内唇线的第一距离的第一损失函数。

在本申请再一实施方式中,所述利用所述多个人脸图像样本训练所述神经网络包括:针对由提取出的人脸关键点与标注的相应的人脸关键点形成的至少一组关键点,确定组中的两个关键点之间的距离,以获得至少一个漂移距离;基于所述漂移距离经由第二损失函数对所述神经网络进行监督学习。

根据本申请实施方式其中另一个方面,提供了一种用于训练神经网络的方法,该方法包括:获取多个人脸图像样本,其中,所述人脸图像样本标注有:包括至少一个三维不动关键点在内的人脸关键点标注信息;利用所述多个人脸图像样本训练神经网络。

在本申请一实施方式中,所述人脸图像样本标注有在人脸图像样本中的位于未被遮挡位置处和/或被遮挡位置处的人脸关键点标注信息。

在本申请又一实施方式中,所述人脸图像样本的人脸关键点标注信息包括:68个、106个、240个、252个或270个人脸关键点标注信息。

在本申请再一实施方式中,所述方法在所述利用所述多个人脸图像样本训练神经网络之前,还包括:确定人脸图像样本中的人脸至少一个部位的曲线控制点;根据所述曲线控制点形成曲线;确定所述曲线上作为人脸图像样本的三维不动关键点;在人脸图像样本的三维不动关键点的至少一侧,选取曲线上的点;根据所述选取的点以及所述人脸图像样本的三维不动关键点形成人脸关键点标注信息。

在本申请再一实施方式中,所述确定所述曲线上作为人脸图像样本的三维不动关键点包括:确定所述曲线上的与人脸图像样本上标记的三维不动关键点的距离满足预定距离要求的点,将所述点作为人脸图像样本的三维不动关键点。

在本申请再一实施方式中,所述利用所述多个人脸图像样本训练神经网络包括:将人脸图像样本输入神经网络,经由所述神经网络提取出所述人脸图像样本的人脸关键点信息;根据所述提取出的人脸关键点信息计算至少一个器官上的不同关键点之间的第一距离;根据所述人脸关键点标注信息计算至少一个器官上的不同关键点之间的第二距离;基于所述第一距离和第二距离经由第一损失函数对所述神经网络进行监督学习。

在本申请再一实施方式中,所述根据所述提取出的人脸关键点信息计算至少一个器官上的不同关键点之间的第一距离包括:针对由提取出的左眼的上眼睑线关键点与相应的左眼的下眼睑线关键点形成的任一组关键点,分别计算组中的两个关键点之间的距离,以获得至少一个基于左眼眼睑线的第一距离;和/或,针对由提取出的右眼的上眼睑线关键点与相应的右眼的下眼睑线关键点形成的任一组关键点,分别计算组中的两个关键点之间的距离,以获得至少一个基于右眼眼睑线的第一距离;和/或,针对由提取出的上嘴唇上唇线关键点与相应的下嘴唇下唇线关键点形成的任一组关键点,分别计算组中的两个关键点之间的距离,以获得至少一个基于外唇线的第一距离;和/或,针对由提取出的上嘴唇下唇线关键点与相应的下嘴唇上唇线关键点形成的任一组关键点,分别计算组中的两个关键点之间的距离,以获得至少一个基于内唇线的第一距离。

在本申请再一实施方式中,所述第一损失函数包括:针对基于左眼眼睑线的第一距离的第一损失函数、针对基于右眼眼睑线的第一距离的第一损失函数、针对基于外唇线的第一距离的第一损失函数和/或针对基于内唇线的第一距离的第一损失函数。

在本申请再一实施方式中,所述利用所述多个人脸图像样本训练所述神经网络包括:针对由提取出的人脸关键点与标注的相应的人脸关键点形成的至少一组关键点,确定组中的两个关键点之间的距离,以获得至少一个漂移距离;基于所述漂移距离经由第二损失函数对所述神经网络进行监督学习。

根据本申请实施方式其中再一个方面,提供了一种人脸图像处理装置,该装置包括:输入图像模块,用于将待处理人脸图像输入至神经网络中;以及,获取关键点模块,用于经由所述神经网络提取所述待处理人脸图像的包括至少一个三维不动关键点在内的人脸关键点信息。

在本申请一实施方式中,所述人脸图像处理装置还包括:用于训练神经网络的装置,所述用于训练神经网络的装置包括:获取样本模块,用于获取多个人脸图像样本,其中,所述人脸图像样本标注有:包括至少一个三维不动关键点在内的人脸关键点标注信息;训练模块,用于利用所述多个人脸图像样本训练所述神经网络。

在本申请又一实施方式中,所述用于训练神经网络的装置还包括:标注模块,所述标注模块用于:确定人脸图像样本中的人脸至少一个部位的曲线控制点;根据所述曲线控制点形成曲线;确定所述曲线上作为人脸图像样本的三维不动关键点;在人脸图像样本的三维不动关键点的至少一侧,选取曲线上的点;根据所述选取的点以及所述人脸图像样本的三维不动关键点形成人脸关键点标注信息。

在本申请再一实施方式中,所述训练模块具体用于:将人脸图像样本输入所述神经网络,经由所述神经网络提取出所述人脸图像样本的人脸关键点信息;根据所述提取出的人脸关键点信息计算至少一个器官上的不同关键点之间的第一距离;根据所述人脸关键点标注信息计算至少一个器官上的不同关键点之间的第二距离;基于所述第一距离和第二距离经由第一损失函数对所述神经网络进行监督学习。

在本申请再一实施方式中,所述训练模块具体用于:针对由提取出的人脸关键点与标注的相应的人脸关键点形成的至少一组关键点,确定组中的两个关键点之间的距离,以获得至少一个漂移距离;基于所述漂移距离经由第二损失函数对所述神经网络进行监督学习。

根据本申请实施方式其中再一个方面,提供了一种用于训练神经网络的装置,该装置包括:获取样本模块,用于获取多个人脸图像样本,其中,所述人脸图像样本标注有:包括至少一个三维不动关键点在内的人脸关键点标注信息;以及,训练模块,用于利用所述多个人脸图像样本训练所述神经网络。

在本申请一实施方式中,所述装置还包括:标注模块,所述标注模块用于:确定人脸图像样本中的人脸至少一个部位的曲线控制点;根据所述曲线控制点形成曲线;确定所述曲线上作为人脸图像样本的三维不动关键点;在人脸图像样本的三维不动关键点的至少一侧,选取曲线上的点;根据所述选取的点以及所述人脸图像样本的三维不动关键点形成人脸关键点标注信息。

在本申请又一实施方式中,所述训练模块具体用于:将人脸图像样本输入所述神经网络,经由所述神经网络提取出所述人脸图像样本的人脸关键点信息;根据所述提取出的人脸关键点信息计算至少一个器官上的不同关键点之间的第一距离;根据所述人脸关键点标注信息计算至少一个器官上的不同关键点之间的第二距离;基于所述第一距离和第二距离经由第一损失函数对所述神经网络进行监督学习。

在本申请再一实施方式中,所述训练模块具体用于:针对由提取出的人脸关键点与标注的相应的人脸关键点形成的至少一组关键点,确定组中的两个关键点之间的距离,以获得至少一个漂移距离;基于所述漂移距离经由第二损失函数对所述神经网络进行监督学习。

根据本申请实施方式的再一个方面,提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本申请中的任一人脸图像处理方法中的步骤,或者实现本申请中的任一用于训练神经网络的方法中的步骤。

根据本申请实施方式的再一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本申请中的任一人脸图像处理方法中的步骤,或者实现本申请中的任一用于训练神经网络的方法中的步骤。

根据本申请实施方式的再一个方面,提供一种计算机程序,包括计算机指令,当所述计算机指令在设备的处理器中运行时,实现本申请中的任一人脸图像处理方法中的步骤,或者实现本申请中的任一用于训练神经网络的方法中的步骤。

基于本申请提供的人脸图像处理方法、用于训练神经网络的方法、装置、电子设备、计算机可读存储介质以及计算机程序,本申请通过利用神经网络提取待处理人脸图像中的三维不动关键点,从而无论人脸是否发生偏转,也无论人脸上的表情具体如何,三维不动关键点所表示出的人脸上的特定部位这一语义是固定的,不会发生变化,因此,本申请可以针对多种形态的人脸准确的定位出人脸中的特定部位,这对于图像渲染、变脸处理、美颜处理、美妆处理、人脸识别、人脸状态检测以及表情检测等各种应用而言是非常重要的。由此可知,本申请有利于提高提取人脸关键点的准确性。

下面通过附图和实施方式,对本申请的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本申请的实施方式,并且连同描述一起用于解释本申请的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本申请,其中:

图1为本申请的人脸图像处理方法一实施方式的流程图;

图2为本申请的三维不动关键点的示意图;

图3为本申请的用于训练神经网络的方法的一实施方式的流程图;

图4为本申请的用于训练神经网络的方法的一具体例子的流程图;

图5为本申请的标注人脸图像样本的流程图;

图6为本申请的人脸图像处理装置一实施方式的结构示意图;

图7为本申请的用于训练神经网络的装置的一实施方式的结构示意图;

图8为实现本申请实施方式的一示例性设备的框图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本发明实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

示例性实施例

图1为本申请方法一个实施例的流程图。如图1所示,该实施例方法包括:步骤s100以及步骤s110。

s100、将待处理人脸图像输入至神经网络中。

在一个可选示例中,本申请中的待处理人脸图像可以为呈现静态的图片或者照片等图像,也可以为呈现动态的视频中的视频帧等。该待处理人脸图像中的人脸可以为正脸,也可以为存在小角度偏转(例如,人脸偏转幅度小于预定角度)的侧脸,还可以为存在大角度偏转(例如,人脸偏转幅度不小于预定角度)的侧脸等。另外,本申请中的待处理人脸图像中的人脸可以为带有大表情的人脸,例如,带有大表情的正脸,例如,带有大表情且存在小角度偏转的侧脸,再例如,带有大表情且存在大角度偏转的侧脸等。本申请中的大表情通常是指使人脸的至少一个器官的形态与其正常形态相比产生较大变化的表情。本申请中的大表情有时候也被称为复杂表情。本申请不限制待处理人脸图像中的人脸的偏转角度以及表情等具体形态。

在一个可选示例中,本申请中的神经网络主要用于提取待处理人脸图像中的包括至少一个三维不动关键点在内的人脸关键点信息。该神经网络的网络结构可以根据提取人脸关键点信息的实际需求灵活设计,本申请实施例并不限制该神经网络的具体网络结构。例如,本申请的神经网络可以包括但不限于卷积层、非线性relu层、池化层以及全连接层等,神经网络所包含的层数越多,则网络越深;再例如,本申请的神经网络的网络结构可以采用但不限于alexnet、深度残差网络(deepresidualnetwork,resnet)或vggnet(visualgeometrygroupnetwork,视觉几何组网络)等神经网络所采用的网络结构。

由于本申请的神经网络既可以用于针对基于正脸的待处理人脸图像提取人脸关键点信息,也可以用于针对基于侧脸的待处理人脸图像提取人脸关键点信息,因此,本申请可以避免利用一个神经网络处理基于正脸的待处理人脸图像,利用另一个神经网络处理基于侧脸的待处理人脸图像,通过神经网络的切换来对连续播放的视频帧进行处理,而引起的人脸关键点发生跳变的现象;从而本申请有利于提高神经网络从连续播放的视频帧中提取人脸关键点的连续性。

s110、经由神经网络提取待处理人脸图像的包括至少一个三维不动关键点在内的人脸关键点信息。

在一个可选示例中,本申请中的三维不动关键点是指人脸在三维空间中的具有预定语义的点。三维不动关键点可通过其被投影在二维平面上的点来表示。也就是说,本申请中的三维不动关键点是二维平面上的点,该二维平面上的点是人脸在三维空间中的具有预定语义的点,在二维平面上的投影点。三维不动关键点是具有预先设定的语义的人脸关键点,即三维不动关键点可以明确的表示出人脸上的一个特定部位,无论人脸是否发生偏转,也无论人脸上的表情具体如何,三维不动关键点所表示的特定部位这一语义是固定的,不会发生变化;也就是说,无论人脸是否发生偏转,也无论人脸上的表情如何,一个三维不动关键点总是表示人脸上的一个特定部位,虽然该特定部位在三维坐标中的坐标,会随着人脸的偏转以及表情的变化而变化,然而,该特定部位始终表示人脸上的一个具有某种固定语义的点。

在一个可选示例中,本申请中的神经网络从待处理人脸图像中提取出的三维不动关键点可以包括:眼睑中心关键点、鼻子下沿中心关键点、嘴唇唇峰关键点、嘴唇中心关键点以及下巴中心关键点中的一个或者多个。其中的眼睑中心关键点通常包括:左眼上眼睑中心关键点、左眼下眼睑中心关键点、右眼上眼睑中心关键点以及右眼下眼睑中心关键点中的一个或者多个。其中的嘴唇中心关键点通常包括:上嘴唇上唇线中心关键点(即上嘴唇上轮廓线中心关键点)、上嘴唇下唇线中心关键点(即上嘴唇下轮廓线中心关键点)、下嘴唇上唇线中心关键点(即下嘴唇上轮廓线中心关键点)以及下嘴唇下唇线中心关键点(即下嘴唇下轮廓线中心关键点)中的一个或多个。其中的嘴唇唇峰关键点通常包括:嘴唇左唇峰关键点以及嘴唇右唇峰关键点中的一个或者多个。

在一个可选示例中,本申请的神经网络可以从待处理人脸图像中提取出12个三维不动关键点,如图2所示,本申请中的12个三维不动关键点分别为:右眼上眼睑中心关键点1、右眼下眼睑中心关键点2、左眼上眼睑中心关键点3、左眼下眼睑中心关键点4、鼻子下沿中心关键点5、嘴唇右唇峰关键点6、上嘴唇上唇线中心关键点7、嘴唇左唇峰关键点8、上嘴唇下唇线中心关键点9、下嘴唇上唇线中心关键点10、下嘴唇下唇线中心关键点11以及下巴中心关键点12。图2中的人脸虽然带有一定角度的偏转,但是,上述12个三维不动关键点仍然具有其预定语义,例如,在将图2中的左嘴角与右嘴角的连线作为x坐标轴,并将左嘴角与右嘴角的连线的中点作为x轴与y轴交叉的原点的情况下,上嘴唇上唇线中心关键点7、上嘴唇下唇线中心关键点9、下嘴唇上唇线中心关键点10以及下嘴唇下唇线中心关键点11并不在y轴上。也就是说,上嘴唇上唇线中心关键点7并不是图2中的上嘴唇上唇线(即上嘴唇上轮廓线)在物理坐标意义上的中心点,而是人脸在三维空间中的具有上嘴唇上唇线中心点语义的点,被投影在二维平面上的点;同样的,上嘴唇下唇线中心关键点9并不是图2中的上嘴唇下唇线(即上嘴唇下轮廓线)在物理坐标意义上的中心点,而是人脸在三维空间中的具有上嘴唇下唇线中心点语义的点,被投影在二维平面上的点;下嘴唇上唇线中心关键点10并不是图2中的下嘴唇上唇线(即下嘴唇上轮廓线)在物理坐标意义上的中心点,而是人脸在三维空间中的具有下嘴唇上唇线中心点语义的点,被投影在二维平面上的点;下嘴唇下唇线中心关键点11并不是图2中的下嘴唇下唇线(即下嘴唇下轮廓线)在物理坐标意义上的中心点,而是人脸在三维空间中的具有下嘴唇下唇线中心点语义的点,被投影在二维平面上的点。

在一个可选示例中,本申请中的神经网络从待处理人脸图像中提取出的人脸关键点信息不仅可以包括:待处理人脸图像中的位于无遮挡位置处的人脸关键点信息,还可以包括:待处理人脸图像中的位于被遮挡位置处的人脸关键点信息。本申请中的待处理人脸图像中的位于被遮挡位置处的人脸关键点信息可以认为是,待处理人脸图像中的位于被遮挡位置处的基于透视方式获得的人脸关键点信息。本申请通过提取被遮挡位置处的人脸关键点信息,有利于对人脸的形态的精确勾画,从而使神经网络提取出的人脸关键点信息可以更好的适用于人脸的图像渲染、变脸处理、美颜处理、美妆处理、人脸识别、人脸状态检测以及表情检测等应用。

在一个可选示例中,本申请中的神经网络从待处理人脸图像中提取出的人脸关键点信息通常包括:人脸关键点编号以及人脸关键点坐标(即人脸关键点在待处理人脸图像的坐标系中的坐标),例如,神经网络从待处理人脸图像中提取出21-300个人脸关键点各自的编号以及各自的坐标。上述21-300个人脸关键点可以具体为68个、106个、240个、252个或270个等。当然,本申请中的神经网络也可以从待处理人脸图像中,提取出更多数量或者更少数量的人脸关键点信息,例如,本申请中的神经网络仅从待处理人脸图像中提取出上述12个三维不动关键点信息。从本申请不限制从待处理人脸图像中提取出的人脸关键点信息的具体数量。

本申请获得的包括三维不动关键点在内的人脸关键点信息可以用于人脸的图像渲染、变脸处理、美颜处理、美妆处理、人脸识别、人脸状态检测以及表情检测等应用,本申请不限制经由神经网络提取出的人脸关键点信息的具体应用范围。

在一个可选示例中,本申请可以利用样本数据集中的多个人脸图像样本对神经网络进行训练。样本数据集中的人脸图像样本带有人脸关键点标注信息,人脸关键点标注信息中应包括:至少一个三维不动关键点标注信息,例如,人脸图像样本带有21-300个人脸关键点标注信息,这21-300个人脸关键点标注信息可以具体为68个、106个、240个、252个或270个人脸关键点标注信息,这21-300个人脸关键点标注信息中包括12个三维不动关键点标注信息。本申请不限制人脸图像样本所带有的人脸关键点标注信息的具体数量以及人脸关键点标注信息所包含的三维不动关键点标注信息的具体数量。

在一个可选示例中,人脸图像样本所带有的人脸关键点标注信息包括被遮挡的人脸关键点标注信息,即本申请不仅会针对人脸图像样本中的位于未遮挡位置处的人脸关键点进行标注,还会针对人脸图像样本中的位于被遮挡位置处的人脸关键点进行标注。一个可选的例子,本申请可以预先设定在人脸图像样本中需要标注的人脸关键点总数量为106个,无论人脸图像样本中的人脸的偏转方向以及表情如何,本申请针对任一人脸图像样本均应标注出106个人脸关键点标注信息。另外,无论是人脸图像样本中的三维不动关键点,还是人脸图像样本中的除三维不动关键点之外的其他人脸关键点,针对人脸图像样本中的位于被遮挡位置处的人脸关键点而言,本申请为其所标注的坐标为该人脸关键点的透视坐标。

在一个可选示例中,本申请设置人脸图像样本中的人脸关键点标注信息的过程如图3所示。

图3中,s300、确定人脸图像样本中的人脸上的曲线控制点,并根据曲线控制点形成曲线。

在一个可选示例中,人脸图像样本中所有人脸关键点通常是通过多条曲线基于插值的方式形成的,每一条曲线通常是通过其曲线控制点形成的;例如,对于人脸图像样本中的左眼而言,本申请应获取左眼的多个上眼睑线控制点和多个下眼睑线控制点,并利用多个上眼睑线控制点形成左眼的上眼睑线,利用多个下眼睑线形成左眼的下眼睑线;对于人脸图像样本中的右眼而言,本申请应获取右眼的多个上眼睑线控制点和多个下眼睑线控制点,并利用多个上眼睑线控制点形成右眼的上眼睑线,利用多个下眼睑线形成右眼的下眼睑线;对于人脸图像样本中的鼻子而言,本申请应获取多个鼻子下边沿控制点,并利用多个鼻子下边沿控制点形成鼻子的下边沿线;对于人脸图像样本中的嘴巴而言,本申请应获取多个上嘴唇上唇线控制点、多个上嘴唇下唇线控制点、多个下嘴唇上唇线控制点以及多个下嘴唇下唇线控制点,并利用多个上嘴唇上唇线控制点形成上嘴唇上唇线,利用多个上嘴唇下唇线控制点形成上嘴唇上唇线,利用多个下嘴唇上唇线控制点形成下嘴唇上唇线,利用多个下嘴唇下唇线控制点形成下嘴唇上唇线;对于人脸图像样本中的脸部轮廓而言,本申请应获取多个脸部轮廓控制点,并利用多个脸部轮廓控制点形成脸部轮廓。

在一个可选示例中,本申请可以采用在曲线控制点之间逐像素插值的方式,通过相应的多个曲线控制点形成相应的曲线。本申请不限制通过曲线控制点形成曲线的具体实现方式。

s310、确定曲线上作为人脸图像样本的三维不动关键点。

在一个可选示例中,本申请可以确定曲线上的与人脸图像样本上标记的三维不动关键点的距离满足预定距离要求的点,并将满足预定距离要求的点作为人脸图像样本的三维不动关键点,可选的,本申请可以确定曲线上的与人脸图像样本上标记的三维不动关键点距离最近的点,并将该距离最近的点作为人脸图像样本的三维不动关键点。

在一个可选示例中,本申请中的人脸图像样本上标记有至少一个三维不动关键点,例如,通过人工标注的方式在人脸图像样本上标记出右眼上眼睑中心关键点、右眼下眼睑中心关键点、左眼上眼睑中心关键点、左眼下眼睑中心关键点、鼻子下沿中心关键点、嘴唇右唇峰关键点、上嘴唇上唇线中心关键点、嘴唇左唇峰关键点、上嘴唇下唇线中心关键点、下嘴唇上唇线中心关键点、下嘴唇下唇线中心关键点以及下巴中心关键点,这12个三维不动关键点的坐标。

在一个可选示例中,人脸图像样本上人工标记出的一个三维不动关键点通常对应一条曲线。针对人脸图像样本上标记出的任一三维不动关键点而言,本申请可以在该三维不动关键点附近,从该三维不动关键点对应的曲线上选取出至少两个点,并根据标记出的三维不动关键点的坐标以及曲线上的点的坐标计算选取出的各点与该三维不动关键点之间的距离,从而可以选取出与该三维不动关键点距离最小的点;本申请可以利用该距离最小的点替代上述标记出的三维不动关键点。

本申请也可以采用其他方式设置人脸图像样本的三维不动关键点,例如,本申请可以直接将人工标记出的三维不动关键点作为人脸图像样本的三维不动关键点。本申请不限制设置人脸图像样本的三维不动关键点的具体实现方式。

s320、在人脸图像样本的三维不动关键点的至少一侧,选取曲线上的点。

在一个可选示例中,本申请通常会从三维不动关键点的左右两侧分别选取数量相等的点。本申请可以通过插值的方式选取曲线上的点;例如,如果该曲线为单眼上眼睑线或者下眼睑线,则可以在上眼睑线或者下眼睑线上插入(如均匀的插入)除三维不动关键点(如上眼睑中心关键点或者下眼睑中心关键点)之外的9-14(如10)个点;再例如,如果该曲线为嘴巴的上嘴唇上唇线,则可以在上嘴唇上唇线上插入(如均匀的插入)除三维不动关键点(如嘴唇右唇峰关键点、上嘴唇上唇线中心关键点以及嘴唇左唇峰关键点)之外的13-18(如14)个点;再例如,如果该曲线为嘴巴的下嘴唇上唇线或者下嘴唇下唇线,则可以在嘴唇上唇线或者下唇线上插入(如均匀的插入)除三维不动关键点(如下嘴唇上唇线中心关键点或者下嘴唇下唇线关键点)之外的12-17(如14)个点;再例如,如果该曲线为脸部轮廓曲线,则可以在脸部轮廓曲线上插入(如均匀的插入)除三维不动关键点(如下巴中心关键点)之外的至少32个点。

需要特别说明的是,本申请中针对一条曲线所插入的点的数量可以根据实际需求确定,但是,针对一条曲线所插入的点的数量应保证:经插入的点所拟合形成的曲线相对人脸的实际部位曲线的误差度,为由曲线控制点形成的曲线相对人脸的实际部位曲线的误差度的1/5—1/10。由此可知,本申请为人脸图像样本所形成的人脸关键点标注信息所表达出的形状,能够更接近实际的部位形状,从而更有利于训练神经网络。

s330、根据上述选取的点以及人脸图像样本的三维不动关键点形成人脸关键点标注信息。

在一个可选示例中,在曲线中插入的点以及曲线中的三维不动关键点在人脸图像样本中的坐标信息即为相应人脸关键点标注信息中的坐标信息,在曲线中插入的点以及曲线中的三维不动关键点在曲线中的顺序编号会被转换为人脸图像样本中的相应人脸关键点标注信息中的编号。

本申请的用于对神经网络进行训练的方法的流程如图4所示。

图4中,s400、获取多个人脸图像样本。

本申请的人脸图像样本标注有:包括至少一个三维不动关键点在内的人脸关键点标注信息。人脸图像样本标注有:在人脸图像样本中的位于未被遮挡位置处的人脸关键点标注信息以及在人脸图像样本中的被遮挡位置处的人脸关键点标注信息。人脸图像样本中可以标注有21-300个人脸关键点标注信息,例如,人脸图像样本中可以标注有68个、106个、240个、252个或270个人脸关键点标注信息。为人脸图像样本标注人脸关键点标注信息的过程可以参见上述针对图3的描述。

s410、利用获取的多个人脸图像样本训练神经网络。

在一个可选示例中,本申请将人脸图像样本输入神经网络,经由神经网络提取出人脸图像样本的人脸关键点信息,并根据神经网络提取出的人脸关键点信息以及人脸图像样本中标注的人脸关键点标注信息,利用相应的损失函数,来调整神经网络中的参数。本申请利用人脸图像样本对神经网络进行训练的一个具体过程如下述图5中的描述。

在一个可选示例中,本申请的用于对神经网络进行训练的方法的一个具体示例的流程如图5所示。

图5中,s500、将人脸图像样本输入神经网络,经由神经网络提取出人脸图像样本的人脸关键点信息。

在一个可选示例中,本申请中的人脸图像样本带有多个人脸关键点标注信息。人脸图像样本所带有的人脸关键点标注信息包括:至少一个三维不动关键点标注信息。一个可选的例子,人脸图像样本带有106个人脸关键点标注信息,这106个人脸关键点标注信息中包括12个三维不动关键点标注信息,例如,右眼上眼睑中心关键点标注信息、右眼下眼睑中心关键点标注信息、左眼上眼睑中心关键点标注信息、左眼下眼睑中心关键点标注信息、鼻子下沿中心关键点标注信息、嘴唇右唇峰关键点标注信息、上嘴唇上唇线中心关键点标注信息、嘴唇左唇峰关键点标注信息、上嘴唇下唇线中心关键点标注信息、下嘴唇上唇线中心关键点标注信息、下嘴唇下唇线中心关键点标注信息以及下巴中心关键点标注信息。每一个关键点标注信息包括:关键点编号以及关键点在人脸图像样本中的坐标。另外,无论人脸图像样本中是否存在位于被遮挡位置处的人脸关键点,所有人脸关键点(如106个人脸关键点)均具有标注信息。

s510、根据提取出的人脸关键点信息计算至少一个器官上的不同关键点之间的第一距离。

在一个可选示例中,针对人脸中的一个器官(如左眼或者右眼或者嘴巴)而言,神经网络会提取出多个人脸关键点,多个人脸关键点可以形成至少一组人脸关键点,本申请可以计算每一组中的两个人脸关键点之间的距离,从而获得至少一个第一距离。

一个可选例子,在器官为单眼(左眼或者右眼)的情况下,神经网络会提取出多个上眼睑线关键点以及多个下眼睑线关键点,上眼睑线关键点与下眼睑线关键点通常上下位置相对,上下位置相对的上眼睑线关键点和下眼睑线关键点可以形成一组眼睑线关键点,从而本申请可以形成多组眼睑线关键点,通过根据组中的两个眼睑线关键点的坐标可以计算出该组中的两个眼睑线关键点之间的距离,从而获得第一眼睑线距离。

一个可选例子,在器官为嘴巴的情况下,神经网络会提取出多个上嘴唇上唇线关键点以及多个下嘴唇下唇线关键点,上嘴唇上唇线关键点与下嘴唇下唇线关键点通常上下位置相对,上下位置相对的上嘴唇上唇线关键点和下嘴唇下唇线关键点可以形成一组外唇线关键点,从而本申请可以形成多组外唇线关键点,通过根据组中的两个唇线关键点的坐标可以计算出该组中的两个唇线关键点之间的距离,从而获得第一外唇线距离。

一个可选例子,在器官为嘴巴的情况下,神经网络会提取出多个上嘴唇下唇线关键点以及多个下嘴唇上唇线关键点,上嘴唇下唇线关键点与下嘴唇上唇线关键点通常上下位置相对,上下位置相对的上嘴唇下唇线关键点和下嘴唇上唇线关键点可以形成一组内唇线关键点,从而本申请可以形成多组内唇线关键点,通过根据组中的两个唇线关键点的坐标可以计算出该组中的两个唇线关键点之间的距离,从而获得第一内唇线距离。

s520、根据人脸关键点标注信息计算至少一个器官上的不同关键点之间的第二距离。

在一个可选示例中,针对人脸中的一个器官而言,通常标注有多个人脸关键点,标注出的多个人脸关键点可以形成至少一组人脸关键点,本申请可以计算每一组中的两个人脸关键点之间的距离,从而获得至少一个第二距离。

一个可选例子,在器官为单眼(左眼或右眼)的情况下,人脸图像样本中通常会标注有多个上眼睑线关键点以及多个下眼睑线关键点,上眼睑线关键点与下眼睑线关键点通常上下位置相对,上下位置相对的上眼睑线关键点和下眼睑线关键点可以形成一组眼睑线关键点,从而本申请可以形成多组眼睑线关键点,通过根据组中的两个眼睑线关键点的标注坐标可以计算出该组中的两个眼睑线关键点之间的距离,从而获得第二眼睑线距离。

一个可选例子,在器官为嘴巴的情况下,人脸图像样本中通常会标注有多个上嘴唇上唇线关键点以及多个下嘴唇下唇线关键点,上嘴唇上唇线关键点与下嘴唇下唇线关键点通常上下位置相对,上下位置相对的上嘴唇上唇线关键点和下嘴唇下唇线关键点可以形成一组外唇线关键点,从而本申请可以形成多组外唇线关键点,通过根据组中的两个唇线关键点的标注坐标可以计算出该组中的两个唇线关键点之间的距离,从而获得第二外唇线距离。

一个可选例子,在器官为嘴巴的情况下,人脸图像样本中通常会标注有多个上嘴唇下唇线关键点以及多个下嘴唇上唇线关键点,上嘴唇下唇线关键点与下嘴唇上唇线关键点通常上下位置相对,上下位置相对的上嘴唇下唇线关键点和下嘴唇上唇线关键点可以形成一组内唇线关键点,从而本申请可以形成多组内唇线关键点,通过根据组中的两个唇线关键点的标注坐标可以计算出该组中的两个唇线关键点之间的距离,从而获得第二内唇线距离。

s530、基于上述第一距离和第二距离经由第一损失函数对神经网络进行监督学习。

在一个可选示例中,本申请通常设置有四个第一损失函数,这四个第一损失函数分别对应左眼、右眼、外唇线以及内唇线,基于左眼眼睑线计算出的第一眼睑线距离和第二眼睑线距离被代入到一个第一损失函数中,基于右眼眼睑线计算出的第一眼睑线距离和第二眼睑线距离被代入到另一个损失函数中,基于外唇线计算出的第一外唇线距离和第二外唇线距离被代入到再一个损失函数中,基于内唇线计算出的第一内唇线距离和第二内唇线距离被代入到其余一个第一损失函数中。本申请通过利用四个第一损失函数对神经网络进行监督学习,有利于提高神经网络针对大表情或者大角度偏转的人脸图像的人脸关键点提取的准确性。

在一个可选示例中,本申请的训练过程还可以包括步骤s540。

步骤s540、针对神经网络提取出的人脸关键点与标注的相应的人脸关键点形成的任一组关键点,例如,两个具有相同编号的人脸关键点形成一组关键点,分别计算该组中的两个关键点之间的距离,以获得至少一个漂移距离;并基于该漂移距离经由第二损失函数对神经网络进行监督学习。本申请通过利用第二损失函数对神经网络进行监督学习,有利于提高神经网络提取人脸关键点的准确性。

图6为本申请的人脸图像处理装置的一个实施例的结构示意图。如图6所示,该实施例的装置包括:输入图像模块600及获取关键点模块610。可选的,该实施例的人脸图像处理装置还可以包括:用于训练神经网络的装置620。

输入图像模块600用于将待处理人脸图像输入至神经网络中。输入图像模块600具体执行的操作如上述针对图1中的s100的描述,在此不再详细说明。

获取关键点模块610用于经由神经网络提取待处理人脸图像的包括至少一个三维不动关键点在内的人脸关键点信息。获取关键点模块610具体执行的操作如上述针对图1中的s110的描述,在此不再详细说明。

用于训练神经网络的装置620用于利用多个人脸图像样本训练本申请中的神经网络。用于训练神经网络的装置620的具体结构参见下述针对图7的描述,在此不再详细说明。

图7为本申请的用于训练神经网络的装置620的一实施例的结构示意图。如图7所示,该实施例的装置包括:获取样本模块621以及训练模块622。可选的,用于训练神经网络的装置620还可以包括:标注模块623。

获取样本模块621用于获取多个人脸图像样本。获取样本模块621获取的人脸图像样本标注有:包括至少一个三维不动关键点在内的人脸关键点标注信息。

训练模块622用于利用获取样本模块621获取的多个人脸图像样本训练神经网络。

在一个可选示例中,训练模块622可以具体用于将人脸图像样本输入神经网络,经由神经网络提取出人脸图像样本的人脸关键点信息,根据提取出的人脸关键点信息计算至少一个器官上的不同关键点之间的第一距离,根据人脸关键点标注信息计算至少一个器官上的不同关键点之间的第二距离;并基于第一距离和第二距离经由第一损失函数对神经网络进行监督学习。

在一个可选示例中,训练模块622还可以具体用于,针对由提取出的人脸关键点与标注的相应的人脸关键点形成的至少一组关键点,确定组中的两个关键点之间的距离,以获得至少一个漂移距离;基于漂移距离经由第二损失函数对神经网络进行监督学习。

训练模块622具体执行的操作如上述针对图5中各步骤的描述,在此不再详细说明。

标注模块623用于确定人脸图像样本中的人脸至少一个部位的曲线控制点,根据该曲线控制点形成曲线,确定该曲线上作为人脸图像样本的三维不动关键点,在人脸图像样本的三维不动关键点的至少一侧(如左右两侧),选取曲线上的点,并根据选取的点以及人脸图像样本的三维不动关键点形成人脸关键点标注信息。标注模块623具体执行的操作如上述针对图3中各步骤的描述,在此不再详细说明。

示例性设备

图8示出了适于实现本申请的示例性设备800,设备800可以是汽车中配置的控制系统/电子系统、移动终端(例如,智能移动电话等)、个人计算机(pc,例如,台式计算机或者笔记型计算机等)、平板电脑以及服务器等。图8中,设备800包括一个或者多个处理器、通信部等,所述一个或者多个处理器可以为:一个或者多个中央处理单元(cpu)801,和/或,一个或者多个图像处理器(gpu)813等,处理器可以根据存储在只读存储器(rom)802中的可执行指令或者从存储部分808加载到随机访问存储器(ram)803中的可执行指令而执行各种适当的动作和处理。通信部812可以包括但不限于网卡,所述网卡可以包括但不限于ib(infiniband)网卡。处理器可与只读存储器802和/或随机访问存储器830中通信以执行可执行指令,通过总线804与通信部812相连、并经通信部812与其他目标设备通信,从而完成本申请中的相应步骤。

在一个可选的示例中,处理器在执行指令后,实现本申请中的任一人脸图像处理方法中的步骤,或者实现本申请中的任一用于训练神经网络的方法中的步骤。处理器所实现的步骤可以参见上述各方法实施方式中的相关描述,在此不再详细说明。

此外,在ram803中,还可以存储有装置操作所需的各种程序以及数据。cpu801、rom802以及ram803通过总线804彼此相连。在有ram803的情况下,rom802为可选模块。ram803存储可执行指令,或在运行时向rom802中写入可执行指令,可执行指令使中央处理单元801执行上述物体分割方法所包括的步骤。输入/输出(i/o)接口805也连接至总线804。通信部812可以集成设置,也可以设置为具有多个子模块(例如,多个ib网卡),并分别与总线连接。

以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装在存储部分808中。

需要特别说明的是,如图8所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图8的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如,gpu和cpu可分离设置,再如理,可将gpu集成在cpu上,通信部可分离设置,也可集成设置在cpu或gpu上等。这些可替换的实施方式均落入本申请的保护范围。

特别地,根据本申请的实施方式,下文参考流程图描述的过程可以被实现为计算机软件程序,例如,本申请实施方式包括一种计算机程序产品,其上存储有计算机程序,该计算机程序被处理器执行时,实现本申请中的任一人脸图像处理方法中的步骤,或者实现本申请中的任一用于训练神经网络的方法中的步骤。

在这样的实施方式中,该计算机程序可以通过通信部分809从网络上被下载及安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(cpu)801执行时,执行本申请中记载的上述步骤。

可能以许多方式来实现本申请的方法和装置、电子设备以及计算机可读存储介质。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本申请的方法和装置、电子设备以及计算机可读存储介质。用于方法的步骤的上述顺序仅是为了进行说明,本申请的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施方式中,还可将本申请实施为记录在记录介质中的程序,这些程序包括用于实现根据本申请的方法的机器可读指令。因而,本申请还覆盖存储用于执行根据本申请的人脸图像处理方法和/或用于训练神经网络的方法的计算机程序的记录介质(如计算机可读存储介质)。

本申请的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本申请限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施方式是为了更好说明本申请的原理和实际应用,并且使本领域的普通技术人员能够理解本申请从而设计适于特定用途的带有各种修改的各种实施方式。

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