面部重建模型的评测方法、装置、设备及可读存储介质与流程

    专利2022-07-08  109


    本申请涉及增强现实、深度学习、计算机视觉等人工智能技术领域,尤其涉及一种面部重建模型的评测方法、装置、设备及可读存储介质。



    背景技术:

    人脸三维重建一直是计算机视觉研究领域的经典任务之一。人脸三维重建过程中,电子设备获取到包含人脸的二维图像后,将该二维图像输入到人脸重建面部重建模型,利用人脸重建面部重建模型输出人脸面部网格(mesh),面部mesh指包含顶点、蒙皮等。

    现阶段的人脸重建面部重建模型多种多样,为了得到最优的人脸重建面部重建模型,需要对不同人脸重建面部重建模型的性能进行评测。常见的方法为对比不同人脸重建面部重建模型各自输出的面部mesh。该方法默认不同人脸重建面部重建模型各自输出的面部mesh的结构相同,直接计算该两个面部mesh中对应顶点的欧式距离,将欧式距离作为评测指标。其中,面部mesh结构一致是指:两个面部mesh中顶点的数量相同,且顶点的标注位置相同。

    上述人脸重建面部重建模型评测过程中,要求两个面部mesh的结构完全一致。然而,随着算法研究的深入,产生大量拓扑结构不同的人脸重建面部重建模型,不同拓扑的人脸重建面部重建模型输出的面部mesh的结构不同。显然,上述要求mesh结构一致的评测方法并不适用。



    技术实现要素:

    本申请提供了一种面部重建模型的评测方法、装置、设备及可读存储介质,通过消除两个面部mesh结构的差异,实现评测面部模型的目的。

    第一方面,本申请实施例提供一种面部重建模型评测方法,包括:接收请求指令,所述请求指令用于请求基于第一面部网格mesh评测目标面部重建模型;响应所述请求指令,获取所述第一面部mesh,以及所述目标面部重建模型输出的第二面部mesh;对所述第二面部mesh包含的顶点位置进行变换,使得所述第二面部mesh包含的顶点与所述第一面部mesh中对应顶点的距离最小;根据顶点位置变换后的第二面部mesh和所述第一面部mesh,确定所述目标面部重建模型的性能。

    第二方面,本申请实施例提供一种面部重建模型评测装置,包括:

    接收模块,用于接收请求指令,所述请求指令用于请求基于第一面部网格mesh评测目标面部重建模型;

    响应模块,用于响应所述请求指令,获取所述第一面部mesh,以及所述目标面部重建模型输出的第二面部mesh;

    变换模块,用于对所述第二面部mesh包含的顶点位置进行变换,使得所述第二面部mesh包含的顶点与所述第一面部mesh中对应顶点的距离最小;

    确定模块,用于根据顶点位置变换后的第二面部mesh和所述第一面部mesh,确定所述目标面部重建模型的性能。

    第三方面、本申请实施例提供一种电子设备,包括:

    至少一个处理器;以及

    与所述至少一个处理器通信连接的存储器;其中,

    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面或第一方面任意可能实现的方法。

    第四方面,本申请实施例提供一种包含指令的计算机程序产品,当其在电子设备上运行时,使得电子设备计算机执行上述第一方面或第一方面的各种可能的实现方式中的方法。

    第五方面,本申请实施例提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述电子设备执行上述第一方面或第一方面的各种可能的实现方式中的方法。

    第六方面,本申请实施例提供一种面部重建模型评测方法,包括:获取所述第一面部mesh,以及目标面部重建模型输出的第二面部mesh,对所述第二面部mesh包含的顶点位置进行变换,根据顶点位置变换后的第二面部mesh和所述第一面部mesh,确定所述目标面部重建模型的性能。

    根据本申请的方法,电子设备通过对第二面部mesh包含的顶点的位置进行变换,从而消除两个面部mesh结构的差异,进而对比该两个面部mesh,使得即使目标面部重建模型输出的面部mesh与人工标注的面部mesh结构不一致,也能够对该目标面部重建模型进行精确评测。

    应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。

    附图说明

    附图用于更好地理解本方案,不构成对本申请的限定。其中:

    图1是本申请实施例提供的面部重建模型的评测方法的网络架构示意图;

    图2是本申请实施例提供的面部重建模型评测方法的流程图;

    图3是本申请实施例提供的面部重建模型评测方法的过程示意图;

    图4是本申请实施例提供的一种面部重建模型评测装置的结构示意图;

    图5是本申请实施例提供的另一种面部重建模型评测装置的结构示意图;

    图6是用来实现本申请实施例的面部重建模型评测方法的电子设备的框图。

    具体实施方式

    以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

    人脸包含丰富的信息,如个人身份、情感和意图等,在人类视觉感知中占据非常重要的位置。3d面部重建在计算机视觉中有广泛的应用,如人脸识别、人脸动画和人脸跟踪等。常见的3d面部重建过程中,电子设备上预先部署面部重建模型,电子设备将二维图像输入至面部重建模型,即可得到该二维图像中人脸的面部三维网格(mesh)。

    由于面部重建模型多种多样,如通过卷积神经网络(convolutionalneuralnetworks,cnn)回归的面部重建模型,基于三维可变形模型(3dmorphablemodels,3dmm)得到的面部重建模型等。因此,需要对各种面部重建模型的性能进行评测,以从多个面部重建模型中找到性能最优的面部重建模型。

    常见的面部重建模型评测过程中,将一个二维图像输入至待评测的面部重建模型得到面部mesh,将该面部mesh和标注的面部mesh进行对比。对比过程中,默认该两个面部mesh的结构完全一致、该两个面部mesh中顶点的数量一致且顶点的标注位置完全一致,求取该两个面部mesh中对应顶点的欧式距离的平均值,将该平均值作为评测指标,以评测面部重建模型的性能。

    但是,随着算法的深入研究,产生各种不同版本的面部重建模型,该些模型的mesh结构多种多样,与标注的mesh结构不一致。例如,各种版本的面部重建模型输出的面部mesh中顶点的数量和标注的面部mesh中顶点的数量不一致,比如,标注的面部mesh中有10000个顶点,但是待评测的面部重建模型中输出的面部mesh中包含20000个顶点;再如,待评测的面部重建模型中顶点的标注位置和人工标注的面部mesh中顶点的标注位置不同,比如,同样是左眼关键点,人工标注的面部mesh中标注的是左眼眼球中心,而待评测的面部重建模型标注的是左眼角。如此一来,数量不同、位置不同的两组点集之间无法直接计算误差。

    显然,上述要求mesh结构一致的评测方法,无法满足输出的面部mesh和标注到面部mesh结构不一致的面部重建模型的评测。

    本申请实施例旨在通过消除两个面部mesh结构的差异,进而对比该两个面部mesh,从而实现对拓扑结构不一致的面部重建模型的评测。

    图1是本申请提供的面部重建模型的评测方法的网络架构示意图。请参照图1,该网络架构包括:终端设备101、服务器102和网络103,终端设备101和服务器102通过网络103建立网络连接。网络103包括各种网络连接类型,如有线、无线通信链路或光纤电缆等。

    用户通过终端设备101向服务器发送请求指令,以请求服务器基于人工标注的第一面部mesh评测目标面部重建模型。

    终端设备101可以是硬件也可以是软件。当终端设备101为硬件时,终端设备101例如为手机、平板电脑、电子书阅读器、膝上型便携电脑、台式计算机等。当终端设备101为软件时,其可以安装在上述列举的硬件设备中,此时,终端设备101例如为多个软件模块或单个软件模块等,本公开实施例并不限制。

    服务器102是能够提供多种服务器的服务器,用于接收终端设备发送的请求指令,响应该请求指令,基于人工标注的第一面部mesh对目标面部重建模型进行测评。测评过程中,通过对目标人脸重测模型输出的第二面部mesh包含的顶点位置进行变换,从而消除第二面部mesh和第一面部mesh的结构上的差异,进而根据该两个面部mesh确定目标面部重建模型的性能。

    服务器102可以是硬件也可以是软件。当服务器102为硬件时,该服务器102为单个服务器或多个服务器组成的分布式服务器集群。当服务器102为软件时,可以为多个软件模块或单个软件模块等,本公开实施例并不限制。

    应当理解的是,图1中的终端设备101、服务器102和网络103的数量仅仅是示意性的。实际实现中,根据实际需求部署任意数量的电子设备1、服务器102和网络103。

    另外,当本申请中的面部重建模型的评测方法由服务器102自动触发并执行时,可以不用联网,此时,上述图1中的终端设备101和网络103不存在。

    下面,基于图1所示架构,对本申请实施例所述的面部重建模型评测方法进行详细说明。

    图2是本申请实施例提供的面部重建模型评测方法的流程图,本实施例的执行主体为电子设备,该电子设备例如为上述图1中的服务器或终端设备,本申请实施例并不限制。本实施例包括:

    201、接收请求指令,所述请求指令用于请求基于第一网格面部mesh评测目标面部重建模型。

    当电子设备为服务器时,电子设备接收用户通过终端设备发送的请求指令,例如,用户通过输入输出设备,如键盘、鼠标、显示屏、麦克风等触发终端设备向服务器发送请求指令。

    当电子设备为终端设备时,电子设备接收用户通过输入输出设备发送的请求指令。

    本申请实施例中,面部重建是指对人脸、动画角色等进行三维重建,目标面部重建模型是能够进行三维重建的任意一个模型,例如是基于3dmm的模型等。第一面部mesh为一个人工标注的面部mesh,该第一面部mesh对应一个二维图像;或者,第一面部mesh为一个基准模型针对二维图像输出的面部mesh,默认第一面部mesh中顶点的位置等全部正确。第一面部mesh包含顶点、蒙皮和三角面片等。

    202、响应所述请求指令,获取所述第一面部mesh,以及所述目标面部重建模型输出的第二面部mesh。

    示例性的,电子设备接收到请求指令后,从本地或远程数据库等获取第一面部mesh。同时,电子设备获取第二面部mesh。例如,电子设备从本地或远程数据库中获取第二面部mesh,该第二面部mesh是二维图像输入至目标面部重建模型后,目标面部重建模型输出的面部mesh,该第二面部mesh也可以理解为一个obj文件。第二面部mesh和第一面部mesh对应同一个二维图像,也就是说,二维图像输入至目标面部重建模型得到第二面部mesh,针对同一个二维图像采用人工标注的方式进行标注,得到第一面部mesh。

    203、对所述第二面部mesh包含的顶点位置进行变换,使得所述第二面部mesh包含的顶点与所述第一面部mesh中对应顶点的距离最小。

    本申请中,第一面部mesh和第二面部mesh的结构不一样,结构不一致是指该两个面部mesh中顶点的数量和/或顶点的标注位置不相同。此时,通过对第二面部mesh的顶点进行位置变换,使得第二面部mesh对齐到第一mesh,对应顶点之间的距离最小。

    假设第一面部mesh是基准模型输出的面部mesh,则导致第一面部mesh和第二面部mesh结构不一致的原因多种多样。例如,基准模型和目标面部重建模型的拓扑结构不同,比如,基准模型是基于cnn网络回归的模型,目标面部重建模型是基于3dmm的模型;再如,基准模型和目标面部重建模型是采用同样的训练方式得到的模型,拓扑结构相同,但是训练过程中迭代的次数不同。

    为了能够比较第一面部mesh和第二面部mesh,电子设备通过对第二面部mesh包含的顶点的位置进行变换,从而将第二面部mesh对齐到第一mesh,然后进行误差计算。例如,第一面部mesh中包含10000个顶点,而第二面部mesh中包含20000个顶点,则电子设备根据第一面部mesh包含的10000个顶点,从第二面部mesh包含的20000个顶点中确定出10000个顶点,通过对第二面部mesh包含的顶点的位置进行变换,使得第一面部mesh和第二面mesh对齐,即使得第二面部mesh中该10000个顶点与第一面部mesh包含的10000个顶点中对应顶点之间的距离最小。其中,对第二面部mesh包含的顶点的位置进行变换例如为欧式变换、相似变换等,本申请实施例并不限制。

    204、根据顶点位置变换后的第二面部mesh和所述第一面部mesh,确定所述目标面部重建模型的性能。

    示例性的,经过上述的步骤103后,电子设备将第一面部mesh和第二面部mesh统一到同一个量级,即对第一面部mesh中的顶点与第二面部mesh中的顶点进行对齐,对齐部分的顶点数量相同、代表的面部区域相同,且对应顶点之间的距离最小。如此一来,电子设备就能利用该部分对齐的顶点对目标面部重建模型进行评测。例如,确定对齐的顶点中,对应顶点的欧式距离的平均值等,将该平均值作为目标面部重建模型的性能指标。

    本申请实施例提供的面部重建模型评测方法,电子设备接收到请求基于第一面部mesh评测目标面部重建模型的请求指令后,获取第一面部mesh和目标面部重建模型输出的第二面部mesh,通过位置变换将第二面部mesh包含的顶点与第一面部mesh包含的顶点对齐,根据第一面部mesh和经过多次欧式变换的第二面部mesh,确定出目标面部重建模型的性能。该过程中,电子设备通过对第二面部mesh包含的顶点的位置进行变换,从而消除两个面部mesh结构的差异,进而对比该两个面部mesh,使得即使目标面部重建模型输出的面部mesh与人工标注的面部mesh结构不一致,也能够对该目标面部重建模型进行精确评测。

    上述实施例中,电子设备对所述第二面部mesh包含的顶点位置进行变换,使得所述第二面部mesh包含的顶点与所述第一面部mesh中对应顶点的距离最小时,对所述第二面部mesh包含的顶点执行至少一次欧式变换,使得所述第二面部mesh包含的顶点与所述第一面部mesh中对应顶点的距离最小。

    示例性的,电子设备对第二面部mesh包含的顶点进行位置变换,是通过多次欧式变换实现的。每次欧式变换过程中,在上一次欧式变换的基础上,执行本次欧式变换。每执行一次欧式变换,对第二面部mesh中的各顶点的位置乘以本次欧式变换的旋转矩阵r之后,加上一个偏移向量t。

    采用该种方案,通过多次欧式变换对第二面部mesh的顶点进行位置变换,过程简单。

    上述实施例中,至少一次欧式变换包括第一次欧式变换和第二次欧式变换,电子设备对所述第二面部mesh包含的顶点执行至少一次欧式变换,使得所述第二面部mesh包含的顶点与所述第一面部mesh中对应顶点的距离最小时,先确定第一欧式变换矩阵,根据所述第一欧式变换矩阵对所述第二面部mesh包含的顶点执行第一次欧式变换。然后,电子设备确定第二欧式变换矩阵,根据所述第二欧式变换矩阵,对执行完所述第一次欧式变换后的第二面部mesh执行第二次欧式变换。

    示例性的,每次欧式变换都对应一个欧式变换矩阵,该欧式变化矩阵包含一个旋转矩阵r和一个偏移向量t。对第二面部mesh进行欧式变化,是指对第二面部mesh包含的顶点乘以旋转矩阵r后,加上偏移向量t。当电子设备对第二面部mesh进行两次欧式变换时,电子设备确定出每次欧式变换的欧式变换矩阵,基于该欧式变换矩阵对第二面部mesh中的顶点进行欧式变换。确定欧式变换矩阵的过程中,上一次欧式变换中的欧式变换矩阵可作为下一次欧式变换中,用于求解欧式变换矩阵的非齐次线性方程组的初始值。

    采用该种方案,为了兼顾效率和质量,电子设备通过两次欧式变换矩阵就能够对齐第一面部mesh和第二面部mesh,耗时少,效率高。

    下面,对上述实施例中,电子设备如何对第二面部mesh进行两次欧式变换,从而实现第二面部mesh和第一面部mesh的两次对齐进行详细说明。

    首先,第一次欧式变换。

    电子设备确定第一欧式变换矩阵时,首先,从第一面部mesh的第一顶点集合中确定出第一关键点集合,所述第一关键点集合是所述第一顶点集合的子集,从所述第二面部mesh的第二顶点集合中确定出第二关键点集合,所述第二关键点集合是所述第二顶点集合的子集。然后,根据所述第一关键点集合和所述第二关键点集合确定所述第一欧式变换矩阵。

    示例性的,第一次对齐也称为初步对齐。电子设备根据第一面部mesh包含的顶点能够得到第一顶点集合,根据第二面部mesh包含的顶点能够得到第二顶点集合。由于第一面部mesh和第二面部mesh结构不同,因此,第一顶点集合和第二顶点集合中顶点的数量不同,或者,顶点的标注位置不同。

    确定出第一顶点集合和第二顶点集合后,电子设备从第一顶点集合中确定出第一关键点集合,第一关键点集合中的关键点例如包括人脸轮廓、眉毛、鼻子和嘴巴等部位的关键点。同理,电子设备能够确定出第二关键点。显然,第一关键点集合和第二关键点集合中顶点的对应关系更明确。因此,电子设备能够基于该两个关键点集合确定出较为合理的第一欧式变换矩阵。

    确定出第一欧式变换矩阵后,即确定出旋转矩阵和偏移向量后,电子设备对第一顶点集合中的每个顶点乘以旋转矩阵后,加上偏移向量,从而完成对第一顶点集合中的全部顶点的第一次欧式变换。

    上述第一次欧式变换中,由于电子设备仅使用第一顶点集合中的部分顶点计算第一欧式变换矩阵,该第一欧式变换矩阵无法表征第一顶点集合中全部顶点和第二顶点集合中对应顶点的关系,因此,第一次欧式变换相当于实现第一面部mesh和第二面部mesh的初步对齐。

    采用该种方案,通过确定出第一欧式变化矩阵对第一面部mesh和第二面部mesh进行初步对齐,实现初步消除第一面部mesh和第二面部mesh之间的差异的目的。

    上述初步对齐过程中,电子设备根据所述第一关键点集合和所述第二关键点集合确定所述第一欧式变换矩阵时,首先,从所述第一关键点集合中确定出第一子集,所述第一子集包含预设数量的关键点。然后,从所述第二关键点集合中确定出第二子集,所述第二子集包含预设数量的关键点,所述第一子集和所述第二子集中的关键点一一对应,所述预设数量≥3且为整数。之后,根据所述第一子集和所述第二子集中的关键点,确定所述第一欧式变换矩阵。

    示例性的,第一顶点集合和第二顶点集合中的顶点的数量数以万计,第一关键点集合和第二关键集合中关键点的数量稍微少一点,但是第一关键点集合和第二关键点集合中的关键点并非一一对应。例如,同样是左眼关键点,第一关键点集合中定义的左眼关键点是左眼眼球中心,而第二关键点集合中定义的左眼管家点是左眼眼角,显然,这两个关键点的标注位置不同。为了求取较为合理的第一欧式变换矩阵,电子设备从第一关键点集合中确定出第一子集,从第二关键点集合中确定出第二子集,该两个子集包含的关键点一一对应,比如,均为5个关键点。如此一来,就能够得到5组对应点。该五组具有明确关系的对应点例如为嘴角关键点、鼻尖关键点等。

    电子设备得到5组具有明确关系的对应点后,对该5组对应点执行迭代最近点(iterativeclosestpoint,icp),从而得到非齐次线性方程,该非齐次线性方程的初始值可通过随机方式确定出。之后,电子设备对该非齐次线性方程进行奇异值分解(singularvaluedecomposition,svd),即可确定出第一欧式变换矩阵,该第一欧式变换矩阵包含旋转矩阵r和偏移向量t。

    之后,电子设备根据第一欧式变换矩阵,对第二面部mesh中的全部顶点进行第一次欧式变换。

    采用该种方案,电子设备根据少量具有明确对应关系的关键点,确定出第一欧式变换矩阵,进而使用第一欧式变换矩阵对第二面部mesh进行第一次欧式变化,实现初步消除第一面部mesh和第二面部mesh结构差异的目的。

    其次,第二次欧式变换矩阵。

    电子设备对经过所述第一次欧式变换的第二面部mesh包含的顶点进行第二次欧式变换时,首先,根据执行完所述第一次欧式变换的第二面部mesh的顶点和所述第一欧式变换矩阵,确定第二欧式变换矩阵。之后,电子设备根据所述第二欧式变换矩阵对经过所述第一次欧式变换的第一顶点集合中的顶点进行第二次欧式变换。

    示例性的,第二对齐也称为精确对齐,该对齐是指:确定出第二次欧式变换矩阵后,根据该第二次欧式变换矩阵,对经过第一次欧式变换的第二面部mesh中的各顶点进行第二次欧式变换。

    电子设备确定第二欧式变换矩阵时,将第一欧式变换矩阵的旋转矩阵r和偏移向量t作为非齐次线性方程组的初始值,对第二面部mesh的全部顶点执行最近邻点迭代,即将第二面部mesh的全部顶点代入到非齐次线性方程组,使用非线性优化方法求解,得到第二欧式变换矩阵。

    之后,电子设备根据第二欧式变换矩阵的旋转矩阵r和偏移向量t,对经过第一次欧式变换的第二面部mesh的全部顶点进行第二次欧式变换,从而实现第二面部mesh和第一面部mesh的最终对齐。

    采用该种方案,电子设备通过使用第二面部mesh的全部顶点和非齐次线性方程组确定第二欧式变换矩阵,进而使用第二欧式变换矩阵对第二面部mesh进行第二次欧式变化,实现进一步消除第一面部mesh和第二面部mesh结构差异的目的。

    上述实施例中,电子设备根据顶点位置变换后的第二面部mesh和所述第一面部mesh,确定所述目标面部重建模型的性能时,可通过计算点到点的距离,和/或,点到面的距离确定目标面部重建模型的性能。

    首先,点到点的距离。

    点到点的距离是第一顶点集合和第二顶点集合中相应位置的顶点的欧式距离的平均值,也可以是第一关键点集合和第二关键点集合中对应顶点的欧式距离的平均值。

    当点到点的距离指两个顶点集合中对应顶点的欧式距离的平均值时,假设经过两次欧式变换的第二面部mesh的第二顶点集合包含10000个顶点,第一面部mesh包含20000个顶点,则电子设备从第一面部mesh中确定出10000个顶点,该10000个顶点和第二顶点集合包含10000个顶点一一对应。之后,电子设备确定该两组顶点中对应顶点的欧式距离的平均欧式距离,根据该平均欧式距离衡量目标面部重建模型的性能。

    当点到点的距离指两个关键点集合中对应顶点的欧式距离的平均值时,假设经过两次欧式变换的第二面部mesh的第二顶点集合包含10000个顶点,第一面部mesh包含20000个顶点,则电子设备从第一顶点集合中确定出1000个顶点,从第二顶点集合中确定出1000个关键点,该1000个顶点和第一关键点集合包含1000个顶点一一对应。之后,电子设备确定该两组关键点中对应关键点的欧式距离的平均欧式距离,基于该平均欧式距离衡量目标面部重建模型的性能。

    采用该种方案,电子设备通过确定顶点位置发生变换的第二mesh文件和第一mesh文件之间,相应位置的顶点的欧式距离的平均值确定目标面部重建模型的性能,准确率高。

    其次,点到面的距离。

    点到面的距离包括点到面的平均距离和最小距离。针对顶点位置变换后的第二面部mesh的第二顶点集合中的每个第二顶点,电子设备确定面片集合,所述面片集合中的每个面片包含第一顶点,该第一顶点属于第一面部mesh的第一顶点集合,第一顶点和所述第二顶点指示人脸的相同部位。之后,确定所述第二顶点到所述面片集合中各面片的距离的平均距离和最小距离。如此一来,电子设备能够确定出第二顶点集合中每个第二顶点的平均距离和最小距离。对该些平均距离继续求平均距离,对该些最小距离继续求平均最小距离,根据最终的平均距离和平均最小距离,确定所述目标面部重建模型的性能。

    采用该种方案,通过引入点到面的距离,实现多角度的衡量目标面部重建模型的性能,提高评测面部重建模型的准确性。

    需要说明的是,上述实施例中,电子设备以点到点、点到面的距离单独为依据,作为衡量目标面部重建模型的指标。然而,本申请实施例并不限制,其他可行的实现方式中,电子设备还能对该些指标进行综合加权,综合考虑所有指标,根据加权结果衡量目标面部重建模型的性能。

    上述实施例中,电子设备根据所述第一面部mesh和经过多次欧式变换的第二面部mesh,确定所述目标面部重建模型的性能之后,还根据所述目标面部重建模型的性能,优化所述目标面部重建模型。

    示例性的,确定出目标面部重建模型的性能后,如该性能满足要求,则将该目标人脸模型作为最优模型。若该目标人脸模型的性能不符合要求,则通过调整迭代次数、样本质量、样本权重等方式,重新训练并优化目标面部重建模型。

    图3是本申请实施例提供的面部重建模型评测方法的过程示意图。请参照图3,该评测过程包括:输入数据阶段、第一次欧式变换阶段、第二次欧式变换阶段、生成测试指标阶段。下面,对各个阶段进行详细说明。

    首先,输入数据阶段。

    输入数据包括:标注的第一面部mesh相关数据,如第一顶点集合、第一关键点集合、面片集合;第二面部mesh相关数据,如第二顶点集合、第二关键点集合。

    其次,第一次欧式变换阶段。

    该阶段中,基于第一关键点集合和第二关键点集合,确定出具有明确对应关系的几组点,对该几组点进行最近邻匹配,得到非齐次线性方程组。之后,通过svd分解方式,确定出第一欧式变换矩阵。最后,根据第一欧式变化矩阵对第二顶点集合中的各顶点进行第一次欧式变换。

    接着,第二次欧式变换阶段。

    该阶段中,将第一次欧式变换矩阵的旋转矩阵和偏移向量作为初始值,对第二顶点集合中的全部顶点进行最近邻匹配。之后,使用非线性优化迭代方式求解出第二欧式变换矩阵。最后,根据第二欧式变化矩阵,对经过第一次欧式变换的第二顶点集合中的各顶点进行第二次欧式变换。

    最后,生成测试指标阶段。

    该阶段中,测试指标包括:第一顶点集合和第二顶点集合中对应顶点的欧式距离的平均值、第一关键点集合和第二关键点集合中对应关键点的欧式距离的平均值、第二顶点集合中第二顶点到相关面片的平均距离以及最短距离。

    上述介绍了本申请实施例提到的面部重建模型评测方法的具体实现,下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

    图4为本申请实施例提供的一种面部重建模型评测装置的结构示意图。该装置可以集成在电子设备中或通过电子设备实现。如图4所示,在本实施例中,该面部重建模型评测装置100可以包括:

    接收模块401,用于接收请求指令,所述请求指令用于请求基于第一面部网格mesh评测目标面部重建模型;

    响应模块402,用于响应所述请求指令,获取所述第一面部mesh,以及所述目标面部重建模型输出的第二面部mesh;

    变换模块403,用于对所述第二面部mesh包含的顶点位置进行变换,使得所述第二面部mesh包含的顶点与所述第一面部mesh中对应顶点的距离最小;

    确定模块404,用于根据顶点位置变换后的第二面部mesh和所述第一面部mesh,确定所述目标面部重建模型的性能。

    一种可行的设计中,所述变换模块403,用于对所述第二面部mesh包含的顶点执行至少一次欧式变换,使得所述第二面部mesh包含的顶点与所述第一面部mesh中对应顶点的距离最小。

    图5是本申请实施例提供的另一种面部重建模型评测装置的结构示意图,请参照图5,本实施例提供的面部重建模型评测装置500中的接收模块501、响应模块502、变换模块503和确定模块504分别对应图4中的接收模块401、响应模块402、变换模块403和确定模块404。其中,变换模块503包括:

    第一变换单元5031,用于确定第一欧式变换矩阵,根据所述第一欧式变换矩阵对所述第二面部mesh包含的顶点执行第一次欧式变换;

    第二变换单元5032,用于确定第二欧式变换矩阵,根据所述第二欧式变换矩阵,对执行完所述第一次欧式变换后的第二面部mesh执行第二次欧式变换。

    一种可行的设计中,所述第一变换单元5031确定第一欧式变换矩阵时,用于从所述第一面部mesh的第一顶点集合中确定出第一关键点集合,所述第一关键点集合是所述第一顶点集合的子集,从所述第二面部mesh的第二顶点集合中确定出第二关键点集合,所述第二关键点集合是所述第二顶点集合的子集,根据所述第一关键点集合和所述第二关键点集合确定所述第一欧式变换矩阵。

    一种可行的设计中,所述第一变换单元5031根据所述第一关键点集合和所述第二关键点集合确定所述第一欧式变换矩阵时,用于从所述第一关键点集合中确定出第一子集,所述第一子集包含预设数量的关键点,从所述第二关键点集合中确定出第二子集,所述第二子集包含预设数量的关键点,所述第一子集和所述第二子集中的关键点一一对应,所述预设数量≥3且为整数,根据所述第一子集和所述第二子集中的关键点,确定所述第一欧式变换矩阵。

    一种可行的设计中,所述第二变换单元5032,用于根据执行完所述第一次欧式变换的第二面部mesh的顶点和所述第一欧式变换矩阵,确定第二欧式变换矩阵。

    一种可行的设计中,所述确定模块504,用于根据顶点位置变换后的第二面部mesh和所述第一面部mesh,确定相应位置的顶点之间的欧式距离,得到多个欧式距离,根据所述多个欧式距离,确定平均欧式距离,根据所述平均欧式距离,确定所述目标面部重建模型的性能。

    一种可行的设计中,所述确定模块504根据顶点位置变换后的第二面部mesh和所述第一面部mesh,确定相应位置的顶点之间的欧式距离,得到多个欧式距离时,用于从所述第一面部mesh的第一顶点集合中确定出第一关键点集合,所述第一关键点集合是所述第一顶点集合的子集,从顶点位置变换后的第二面部mesh的第二顶点集合中确定出第二关键点集合,所述第二关键点集合是所述第二顶点集合的子集,确定所述第一关键点集合和所述第二关键点集合中相应位置的顶点之间的欧式距离,得到多个欧式距离。

    一种可行的设计中,所述确定模块504,用于针对顶点位置变换后的第二面部mesh的第二顶点集合中第二顶点,确定面片集合,所述面片集合中的每个面片包含第一顶点,所述第一顶点属于第一面部mesh的第一顶点集合,所述第一顶点和所述第二顶点指示人脸的相同部位,确定所述第二顶点到所述面片集合中各面片的距离的平均距离和最小距离,根据所述平均距离和所述最小距离确定所述目标面部重建模型的性能。

    图6是用来实现本申请实施例的面部重建模型评测方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

    如图6所示,该电子设备包括:一个或多个处理器61、存储器62,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器61为例。

    存储器62即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的面部重建模型评测方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的面部重建模型评测方法。

    存储器62作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的面部重建模型评测方法对应的程序指令/模块(例如,附图4所示的接收模块401、响应模块406、变换模块403和确定模块404;附图5所示的各个模块)。处理器61通过运行存储在存储器62中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的面部重建模型评测方法。

    存储器62可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储电子设备执行面部重建模型评测方法时所创建的数据等。此外,存储器62可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器62可选包括相对于处理器61远程设置的存储器,这些远程存储器可以通过网络连接至用于执行面部重建模型评测方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

    用于执行面部重建模型评测方法的电子设备还可以包括:输入装置63和输出装置64。处理器61、存储器62、输入装置63和输出装置64可以通过总线或者其他方式连接,图6中以通过总线连接为例。

    输入装置63可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置64可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

    此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

    这些计算机程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算机程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

    为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

    可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

    计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与虚拟专用服务器(virtualprivateserver,vps)中存在的管理难度大、业务扩展性弱等缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

    本申请实施例提供的面部重建模型评测方法,电子设备通过对第二面部mesh包含的顶点的位置进行变换,从而消除两个面部mesh结构的差异,进而对比该两个面部mesh,使得即使目标面部重建模型输出的面部mesh与人工标注的面部mesh结构不一致,也能够对该目标面部重建模型进行精确评测。

    应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

    上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。


    技术特征:

    1.一种面部重建模型评测方法,包括:

    接收请求指令,所述请求指令用于请求基于第一面部网格mesh评测目标面部重建模型;

    响应所述请求指令,获取所述第一面部mesh,以及所述目标面部重建模型输出的第二面部mesh;

    对所述第二面部mesh包含的顶点位置进行变换,使得所述第二面部mesh包含的顶点与所述第一面部mesh中对应顶点的距离最小;

    根据顶点位置变换后的第二面部mesh和所述第一面部mesh,确定所述目标面部重建模型的性能。

    2.根据权利要求1所述的方法,其中,所述对所述第二面部mesh包含的顶点位置进行变换,使得所述第二面部mesh包含的顶点与所述第一面部mesh中对应顶点的距离最小,包括:

    对所述第二面部mesh包含的顶点执行至少一次欧式变换,使得所述第二面部mesh包含的顶点与所述第一面部mesh中对应顶点的距离最小。

    3.根据权利要求2所述的方法,其中,所述至少一次欧式变换包括第一次欧式变换和第二次欧式变换,所述对所述第二面部mesh包含的顶点执行至少一次欧式变换,使得所述第二面部mesh包含的顶点与所述第一面部mesh中对应顶点的距离最小,包括:

    确定第一欧式变换矩阵;

    根据所述第一欧式变换矩阵对所述第二面部mesh包含的顶点执行第一次欧式变换;

    确定第二欧式变换矩阵;

    根据所述第二欧式变换矩阵,对执行完所述第一次欧式变换后的第二面部mesh执行第二次欧式变换。

    4.根据权利要求3所述的方法,其中,所述确定第一欧式变换矩阵,包括:

    从所述第一面部mesh的第一顶点集合中确定出第一关键点集合,所述第一关键点集合是所述第一顶点集合的子集;

    从所述第二面部mesh的第二顶点集合中确定出第二关键点集合,所述第二关键点集合是所述第二顶点集合的子集;

    根据所述第一关键点集合和所述第二关键点集合确定所述第一欧式变换矩阵。

    5.根据权利要求4所述的方法,其中,所述根据所述第一关键点集合和所述第二关键点集合确定所述第一欧式变换矩阵,包括:

    从所述第一关键点集合中确定出第一子集,所述第一子集包含预设数量的关键点;

    从所述第二关键点集合中确定出第二子集,所述第二子集包含预设数量的关键点,所述第一子集和所述第二子集中的关键点一一对应,所述预设数量≥3且为整数;

    根据所述第一子集和所述第二子集中的关键点,确定所述第一欧式变换矩阵。

    6.根据权利要求3-5任一项所述的方法,其中,所述确定第二欧式变换矩阵,包括:

    根据执行完所述第一次欧式变换的第二面部mesh的顶点和所述第一欧式变换矩阵,确定第二欧式变换矩阵。

    7.根据权利要求1-3任一项所述的方法,其中,所述根据顶点位置变换后的第二面部mesh和所述第一面部mesh,确定所述目标面部重建模型的性能,包括:

    根据顶点位置变换后的第二面部mesh和所述第一面部mesh,确定相应位置的顶点之间的欧式距离,得到多个欧式距离;

    根据所述多个欧式距离,确定平均欧式距离;

    根据所述平均欧式距离,确定所述目标面部重建模型的性能。

    8.根据权利要求7所述的方法,其中,所述根据顶点位置变换后的第二面部mesh和所述第一面部mesh,确定相应位置的顶点之间的欧式距离,得到多个欧式距离,包括:

    从所述第一面部mesh的第一顶点集合中确定出第一关键点集合,所述第一关键点集合是所述第一顶点集合的子集;

    从顶点位置变换后的第二面部mesh的第二顶点集合中确定出第二关键点集合,所述第二关键点集合是所述第二顶点集合的子集;

    确定所述第一关键点集合和所述第二关键点集合中相应位置的顶点之间的欧式距离,得到多个欧式距离。

    9.根据权利要求1-3任一项所述的方法,其中,所述根据顶点位置变换后的第二面部mesh和所述第一面部mesh,确定所述目标面部重建模型的性能,包括:

    针对顶点位置变换后的第二面部mesh的第二顶点集合中第二顶点,确定面片集合,所述面片集合中的每个面片包含第一顶点,所述第一顶点属于第一面部mesh的第一顶点集合,所述第一顶点和所述第二顶点指示人脸的相同部位;

    确定所述第二顶点到所述面片集合中各面片的距离的平均距离和最小距离;

    根据所述平均距离和所述最小距离确定所述目标面部重建模型的性能。

    10.一种面部重建模型评测装置,包括:

    接收模块,用于接收请求指令,所述请求指令用于请求基于第一面部网格mesh评测目标面部重建模型;

    响应模块,用于响应所述请求指令,获取所述第一面部mesh,以及所述目标面部重建模型输出的第二面部mesh;

    变换模块,用于对所述第二面部mesh包含的顶点位置进行变换,使得所述第二面部mesh包含的顶点与所述第一面部mesh中对应顶点的距离最小;

    确定模块,用于根据顶点位置变换后的第二面部mesh和所述第一面部mesh,确定所述目标面部重建模型的性能。

    11.根据权利要求10所述的装置,其中,

    所述变换模块,用于对所述第二面部mesh包含的顶点执行至少一次欧式变换,使得所述第二面部mesh包含的顶点与所述第一面部mesh中对应顶点的距离最小。

    12.根据权利要求11所述的装置,其中,所述变换模块包括:

    第一变换单元,用于确定第一欧式变换矩阵,根据所述第一欧式变换矩阵对所述第二面部mesh包含的顶点执行第一次欧式变换;

    第二变换单元,用于确定第二欧式变换矩阵,根据所述第二欧式变换矩阵,对执行完所述第一次欧式变换后的第二面部mesh执行第二次欧式变换。

    13.根据权利要求12所述的装置,其中,所述第一变换单元确定第一欧式变换矩阵时,用于从所述第一面部mesh的第一顶点集合中确定出第一关键点集合,所述第一关键点集合是所述第一顶点集合的子集,从所述第二面部mesh的第二顶点集合中确定出第二关键点集合,所述第二关键点集合是所述第二顶点集合的子集,根据所述第一关键点集合和所述第二关键点集合确定所述第一欧式变换矩阵。

    14.根据权利要求13所述的装置,其中,所述第一变换单元根据所述第一关键点集合和所述第二关键点集合确定所述第一欧式变换矩阵时,用于从所述第一关键点集合中确定出第一子集,所述第一子集包含预设数量的关键点,从所述第二关键点集合中确定出第二子集,所述第二子集包含预设数量的关键点,所述第一子集和所述第二子集中的关键点一一对应,所述预设数量≥3且为整数,根据所述第一子集和所述第二子集中的关键点,确定所述第一欧式变换矩阵。

    15.根据权利要求12-14任一项所述的装置,其中,

    所述第二变换单元,用于根据执行完所述第一次欧式变换的第二面部mesh的顶点和所述第一欧式变换矩阵,确定第二欧式变换矩阵。

    16.根据权利要求10-12任一项所述的装置,其中,

    所述确定模块,用于根据顶点位置变换后的第二面部mesh和所述第一面部mesh,确定相应位置的顶点之间的欧式距离,得到多个欧式距离,根据所述多个欧式距离,确定平均欧式距离,根据所述平均欧式距离,确定所述目标面部重建模型的性能。

    17.根据权利要求16所述的装置,其中,所述确定模块根据顶点位置变换后的第二面部mesh和所述第一面部mesh,确定相应位置的顶点之间的欧式距离,得到多个欧式距离时,用于从所述第一面部mesh的第一顶点集合中确定出第一关键点集合,所述第一关键点集合是所述第一顶点集合的子集,从顶点位置变换后的第二面部mesh的第二顶点集合中确定出第二关键点集合,所述第二关键点集合是所述第二顶点集合的子集,确定所述第一关键点集合和所述第二关键点集合中相应位置的顶点之间的欧式距离,得到多个欧式距离。

    18.根据权利要求10-12任一项所述的装置,其中,

    所述确定模块,用于针对顶点位置变换后的第二面部mesh的第二顶点集合中第二顶点,确定面片集合,所述面片集合中的每个面片包含第一顶点,所述第一顶点属于第一面部mesh的第一顶点集合,所述第一顶点和所述第二顶点指示人脸的相同部位,确定所述第二顶点到所述面片集合中各面片的距离的平均距离和最小距离,根据所述平均距离和所述最小距离确定所述目标面部重建模型的性能。

    19.一种电子设备,包括:

    至少一个处理器;以及

    与所述至少一个处理器通信连接的存储器;其中,

    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。

    20.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的方法。

    21.一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如权利要求1-9任一项所述的方法。

    技术总结
    本申请公开了一种面部重建模型的评测方法、装置、设备及可读存储介质,涉及增强现实、深度学习、计算机视觉等人工智能技术领域。电子设备通过对第二面部mesh包含的顶点的位置进行变换,从而消除两个面部mesh结构的差异,进而对比该两个面部mesh,使得即使目标面部重建模型输出的面部mesh与人工标注的面部mesh结构不一致,也能够对该目标面部重建模型进行精确评测。

    技术研发人员:王迪
    受保护的技术使用者:北京百度网讯科技有限公司
    技术研发日:2020.11.27
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-15884.html

    最新回复(0)