CN112767453A - 人脸跟踪方法、装置、电子设备及存储介质 - Google Patents
人脸跟踪方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112767453A CN112767453A CN202110126873.7A CN202110126873A CN112767453A CN 112767453 A CN112767453 A CN 112767453A CN 202110126873 A CN202110126873 A CN 202110126873A CN 112767453 A CN112767453 A CN 112767453A
- Authority
- CN
- China
- Prior art keywords
- face
- tracking
- target
- dimensional coordinates
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/292—Multi-camera tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/251—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本公开关于一种人脸跟踪方法、装置、电子设备及存储介质,属于计算机技术领域。该方法包括:基于多个相机对目标对象进行运动跟踪,得到多个人脸图像集合;基于目标对象不具有面部表情的目标人脸集合,获取目标人脸模型;从目标人脸模型的多个顶点中,确定多个面部跟踪点;基于该多个人脸图像集合中各个人脸图像的光流特征,对该多个面部跟踪点进行光流跟踪,得到该多个面部跟踪点在各个人脸图像中的二维坐标;基于该多个面部跟踪点在各个人脸图像中的二维坐标,确定该多个面部跟踪点在各个人脸模型中的三维坐标。本公开从目标人脸模型的顶点中选出的面部跟踪点具有像素级别的追踪精度,从而能够提升人脸跟踪的精度。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种人脸跟踪方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的发展,人脸识别逐渐成为一项热门技术。人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。在人脸识别的基础上,还可以对识别出的人脸进行面部追踪,也即人脸跟踪。
目前可以采用时序三维人脸扫描技术以高效地捕捉人脸几何信息,而为了建立面部几何的时序相关性,需要在采集者面部涂抹特殊的面部标记点,再通过人工后处理技术,将多视角人脸扫描系统扫描出的纹理贴图中的标记点PS(PhotoShop,一种图像处理应用程序)处理掉。在上述过程中,由于标记点的尺度较大,因此难以达到像素级别的追踪精度,人脸跟踪精度低。
发明内容
本公开提供一种人脸跟踪方法、装置、电子设备及存储介质,以至少提升人脸跟踪的精度。本公开的技术方案如下:
根据本公开实施例的一方面,提供一种人脸跟踪方法,包括:
基于具有不同视角的多个相机对目标对象进行运动跟踪,得到所述目标对象的多个人脸图像集合,每个人脸图像集合包括所述多个相机在同一采集时刻所采集到的多个人脸图像;
基于所述多个相机对所述目标对象在不具有面部表情时采集得到的目标人脸集合,获取目标人脸模型,所述目标人脸模型为所述目标人脸集合的三维人脸重建结果;
从所述目标人脸模型的多个顶点中,确定所述目标对象的多个面部跟踪点,每个面部跟踪点均至少能够被具有不同视角的三个相机观测到;
基于所述多个人脸图像集合中各个人脸图像的光流特征,对所述多个面部跟踪点进行光流跟踪,得到所述多个面部跟踪点在各个人脸图像中的二维坐标;
基于所述多个面部跟踪点在各个人脸图像中的二维坐标,确定所述多个面部跟踪点在各个人脸模型中的三维坐标,每个人脸模型为一个人脸图像集合的三维人脸重建结果。
在一种可能实施方式中,所述基于所述多个人脸图像集合中各个人脸图像的光流特征,对所述多个面部跟踪点进行光流跟踪,得到所述多个面部跟踪点在各个人脸图像中的二维坐标包括:
从所述多个人脸图像集合中,确定所述目标对象不具有面部表情的多个第一人脸集合;
基于所述目标人脸集合中各个人脸图像的光流特征,对所述多个面部跟踪点进行光流跟踪,得到所述多个面部跟踪点在所述多个第一人脸集合中各个人脸图像中的二维坐标;
基于每个第一人脸集合中各个人脸图像的光流特征,对所述多个面部跟踪点进行光流跟踪,得到所述多个面部跟踪点在多个第二人脸集合中各个人脸图像中的二维坐标,所述第二人脸集合为所述每个第一人脸集合与下一个第一人脸集合之间的人脸图像集合。
在一种可能实施方式中,所述基于所述目标人脸集合中各个人脸图像的光流特征,对所述多个面部跟踪点进行光流跟踪,得到所述多个面部跟踪点在所述多个第一人脸集合中各个人脸图像中的二维坐标包括:
获取所述多个面部跟踪点在所述目标人脸模型中的三维坐标;
基于所述多个相机的相机参数,对所述多个面部跟踪点在所述目标人脸模型中的三维坐标进行映射,得到所述多个面部跟踪点在所述目标人脸集合中各个人脸图像的二维坐标;
基于所述目标人脸集合中各个人脸图像的光流特征,确定所述多个面部跟踪点的运动信息;
基于所述运动信息和所述多个面部跟踪点在所述目标人脸集合中各个人脸图像的二维坐标,确定所述多个面部跟踪点在所述多个第一人脸集合中各个人脸图像中的二维坐标。
在一种可能实施方式中,所述方法还包括:
基于每个第一人脸集合进行三维人脸重建,得到每个第一人脸集合对应的第一人脸模型;
将所述多个面部跟踪点在每个第一人脸集合中各个人脸图像中的二维坐标反向投影到所述第一人脸模型,得到所述多个面部跟踪点在所述第一人脸模型中的三维坐标。
在一种可能实施方式中,所述方法还包括:
获取所述多个面部跟踪点在所述目标人脸集合中各个人脸图像中的可视性参数,所述可视性参数用于表示各个面部跟踪点是否在所述目标人脸集合中的各个人脸图像中可见;
对任一面部跟踪点,基于所述任一面部跟踪点的可视性参数,对所述任一面部跟踪点在各个第一人脸模型中的三维坐标进行聚类,得到符合聚类条件的多个坐标集合;
基于所述多个坐标集合中的目标坐标集合,获取所述目标坐标集合中各个三维坐标的平均坐标,所述目标坐标集合为所述多个坐标集合中包含的坐标数量最多的坐标集合。
在一种可能实施方式中,所述方法还包括:
响应于所述目标坐标集合中包含的坐标数量小于或等于目标阈值,获取目标人脸模型与各个第一人脸模型之间的非刚性形变;
基于所述非刚性形变,对各个第一人脸模型进行修正,得到各个第一人脸模型所对应的各个形变人脸模型;
基于所述任一面部跟踪点在所述目标人脸模型中的顶点索引信息,确定所述任一面部跟踪点在各个形变人脸模型中的修正坐标。
在一种可能实施方式中,所述基于每个第一人脸集合中各个人脸图像的光流特征,对所述多个面部跟踪点进行光流跟踪,得到所述多个面部跟踪点在多个第二人脸集合中各个人脸图像中的二维坐标包括:
以每个第一人脸集合中的所述多个面部跟踪点作为跟踪起点,逐帧进行光流跟踪,得到所述多个面部跟踪点在所述多个第二人脸集合的各个人脸图像中的二维坐标,其中,从第一人脸集合向第二人脸集合进行光流跟踪的方式与从目标人脸集合向第一人脸集合进行光流跟踪的方式相同。
根据本公开实施例的另一方面,提供一种人脸跟踪装置,包括:
运动跟踪单元,被配置为执行基于具有不同视角的多个相机对目标对象进行运动跟踪,得到所述目标对象的多个人脸图像集合,每个人脸图像集合包括所述多个相机在同一采集时刻所采集到的多个人脸图像;
第一获取单元,被配置为执行基于所述多个相机对所述目标对象在不具有面部表情时采集得到的目标人脸集合,获取目标人脸模型,所述目标人脸模型为所述目标人脸集合的三维人脸重建结果;
第一确定单元,被配置为执行从所述目标人脸模型的多个顶点中,确定所述目标对象的多个面部跟踪点,每个面部跟踪点均至少能够被具有不同视角的三个相机观测到;
光流跟踪单元,被配置为执行基于所述多个人脸图像集合中各个人脸图像的光流特征,对所述多个面部跟踪点进行光流跟踪,得到所述多个面部跟踪点在各个人脸图像中的二维坐标;
第二确定单元,被配置为执行基于所述多个面部跟踪点在各个人脸图像中的二维坐标,确定所述多个面部跟踪点在各个人脸模型中的三维坐标,每个人脸模型为一个人脸图像集合的三维人脸重建结果。
在一种可能实施方式中,所述光流跟踪单元包括:
确定子单元,被配置为执行从所述多个人脸图像集合中,确定所述目标对象不具有面部表情的多个第一人脸集合;
跟踪子单元,被配置为执行基于所述目标人脸集合中各个人脸图像的光流特征,对所述多个面部跟踪点进行光流跟踪,得到所述多个面部跟踪点在所述多个第一人脸集合中各个人脸图像中的二维坐标;
所述跟踪子单元,还被配置为执行基于每个第一人脸集合中各个人脸图像的光流特征,对所述多个面部跟踪点进行光流跟踪,得到所述多个面部跟踪点在多个第二人脸集合中各个人脸图像中的二维坐标,所述第二人脸集合为所述每个第一人脸集合与下一个第一人脸集合之间的人脸图像集合。
在一种可能实施方式中,所述跟踪子单元被配置为执行:
获取所述多个面部跟踪点在所述目标人脸模型中的三维坐标;
基于所述多个相机的相机参数,对所述多个面部跟踪点在所述目标人脸模型中的三维坐标进行映射,得到所述多个面部跟踪点在所述目标人脸集合中各个人脸图像的二维坐标;
基于所述目标人脸集合中各个人脸图像的光流特征,确定所述多个面部跟踪点的运动信息;
基于所述运动信息和所述多个面部跟踪点在所述目标人脸集合中各个人脸图像的二维坐标,确定所述多个面部跟踪点在所述多个第一人脸集合中各个人脸图像中的二维坐标。
在一种可能实施方式中,所述第一获取单元还被配置为执行:基于每个第一人脸集合进行三维人脸重建,得到每个第一人脸集合对应的第一人脸模型;
所述第二确定单元,还被配置为执行将所述多个面部跟踪点在每个第一人脸集合中各个人脸图像中的二维坐标反向投影到所述第一人脸模型,得到所述多个面部跟踪点在所述第一人脸模型中的三维坐标。
在一种可能实施方式中,所述装置还包括:
第二获取单元,被配置为执行获取所述多个面部跟踪点在所述目标人脸集合中各个人脸图像中的可视性参数,所述可视性参数用于表示各个面部跟踪点是否在所述目标人脸集合中的各个人脸图像中可见;
聚类单元,被配置为执行对任一面部跟踪点,基于所述任一面部跟踪点的可视性参数,对所述任一面部跟踪点在各个第一人脸模型中的三维坐标进行聚类,得到符合聚类条件的多个坐标集合;
第三获取单元,被配置为执行基于所述多个坐标集合中的目标坐标集合,获取所述目标坐标集合中各个三维坐标的平均坐标,所述目标坐标集合为所述多个坐标集合中包含的坐标数量最多的坐标集合。
在一种可能实施方式中,所述装置还包括:
第四获取单元,被配置为执行响应于所述目标坐标集合中包含的坐标数量小于或等于目标阈值,获取目标人脸模型与各个第一人脸模型之间的非刚性形变;
修正单元,被配置为执行基于所述非刚性形变,对各个第一人脸模型进行修正,得到各个第一人脸模型所对应的各个形变人脸模型;
第三确定单元,被配置为执行基于所述任一面部跟踪点在所述目标人脸模型中的顶点索引信息,确定所述任一面部跟踪点在各个形变人脸模型中的修正坐标。
在一种可能实施方式中,所述跟踪子单元还被配置为执行:
以每个第一人脸集合中的所述多个面部跟踪点作为跟踪起点,逐帧进行光流跟踪,得到所述多个面部跟踪点在所述多个第二人脸集合的各个人脸图像中的二维坐标,其中,从第一人脸集合向第二人脸集合进行光流跟踪的方式与从目标人脸集合向第一人脸集合进行光流跟踪的方式相同。
根据本公开实施例的另一方面,提供一种电子设备,包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行指令的一个或多个存储器;
其中,所述一个或多个处理器被配置为执行上述一方面中任一种可能实施方式的人脸跟踪方法。
根据本公开实施例的另一方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的至少一条指令由电子设备的一个或多个处理器执行时,使得该电子设备能够执行上述一方面中任一种可能实施方式的人脸跟踪方法。
根据本公开实施例的另一方面,提供一种计算机程序产品,包括一条或多条指令,所述一条或多条指令可以由电子设备的一个或多个处理器执行,使得该电子设备能够执行上述一方面中任一种可能实施方式的人脸跟踪方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过利用多视角的多相机对目标对象进行运动跟踪,使得每个采集时刻都对应于多相机拍摄的一个人脸图像集合,基于不具有面部表情时的目标人脸集合三维重建出目标人脸模型,能够直接在目标人脸模型的表面顶点上选取出面部跟踪点,在后续通过对这些面部跟踪点进行光流跟踪,能够得到每个面部跟踪点在任一时刻在任一相机拍摄的人脸图像中的二维坐标,且能够确定出每个面部跟踪点在对应人脸模型中的三维坐标,而无需依赖于在目标对象的面部涂抹特殊的标记点,这种从目标人脸模型的表面顶点上选取面部跟踪点进行人脸跟踪的方式,能够达到像素级别的跟踪精度,也即能够大幅提升人脸跟踪的精度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种人脸跟踪方法的实施环境示意图;
图2是根据一示例性实施例示出的一种人脸跟踪方法的流程图;
图3是根据一示例性实施例示出的一种人脸跟踪方法的流程图;
图4是本公开实施例提供的一种多个面部跟踪点的示意图;
图5是本公开实施例提供的一种人脸跟踪过程的流程图;
图6是本公开实施例提供的一种人脸跟踪过程的流程图;
图7是本公开实施例提供的一种确定面部跟踪点的三维坐标的合法性的流程图;
图8是根据一示例性实施例示出的一种人脸跟踪装置的逻辑结构框图;
图9示出了本公开一个示例性实施例提供的电子设备的结构框图;
图10是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所涉及的用户信息可以为经用户授权或者经过各方充分授权的信息。
以下,对本公开实施例所涉及的术语进行解释。
人脸识别:人脸识别又称为人像识别、面部识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。人脸识别是用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术。
人脸跟踪:人脸跟踪又称为面部跟踪,是要在检测到人脸的前提下,在后续帧中继续捕获人脸的位置及其大小等信息,包括人脸的识别和人脸的跟踪技术。人脸跟踪技术涉及到模式识别、图像处理、计算机视觉、生理学、心理学及形态学等诸多学科。并与基于其它生物特征的身份鉴别方法以及计算机人机感知交互的研究领域密切相关。
三维人脸重建:三维人脸重建又称为人脸三维重建,是给定二维人脸图像并依此建立出三维人脸模型的技术,三维人脸模型相对于二维人脸图像多了一个维度,在电影、游戏等领域应用广泛。目前获取三维人脸模型的方法主要包括三种:软件建模、仪器采集与基于图像的建模。在进行三维人脸重建时,需要确定两个问题,第一步是确定人脸几何信息用什么方式表达(例如点云、深度图、参数模型等),第二步则是构建二维(2D)到三维(3D)的映射关系(例如正交投影、弱透视投影、透视投影等)。例如,人脸几何信息可以采用参数化的表达形式,叫做3DMM(3D Morphable Model,三维可形变模型)。
光流法:光流(Optical Flow)是空间运动物体在观察成像平面上的像素运动的瞬时速度,光流法是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。通常将二维图像平面特定坐标点上的灰度瞬时变化率定义为光流矢量。也即是说,所谓光流就是瞬时速率,在时间间隔很小(比如视频的连续前后两帧之间)时,也等同于目标点的位移。空间中的运动场转移到图像上就表示为光流场(Optical Flow Field)。光流场反映了图像上每一点灰度的变化趋势,可看成是带有灰度的像素点在图像平面上运动而产生的瞬时速度场,也是一种对真实运动场的近似估计。
中性表情:指没有情绪的面部表情,也即观察对象此时不具有面部表情,此时观察对象的面部肌肉处于较为放松的状态。
在相关技术中,进行人脸跟踪时可以采用基于光流的图像时序跟踪技术,也即,通过匹配时序图像上的特征点,建立图像间稀疏/稠密的时序相关性信息,从而对演员(即跟踪目标)的面部进行跟踪。一方面,当跟踪目标在一段时间内被遮挡导致不可见时,跟踪目标重新出现时机器会跟踪失败,另一方面,从从第一帧开始进行面部跟踪时难免会产生跟踪误差,这一跟踪误差会随着时间积累而逐渐增大、造成漂移,导致人脸跟踪的准确度差。
此外,由于时序三维人脸扫描技术能够高效地捕捉人脸几何信息,而多视角人脸扫描系统为了建立人脸几何信息的时序相关性,需要在演员面部涂抹特殊的面部标记(marker)点,再通过人工后处理将扫描出的纹理贴图中的标记点去除掉(比如通过PS手段)。一方面,由于涂抹的面部标记点的尺度较大,难以达到像素级别的追踪精度,另一方面,人工后处理导致扫描出的纹理贴图上带有PS(PhotoShop,一种图像处理软件)图像处理引入的特殊模式,不适合作为机器学习算法需要的高质量训练数据。
有鉴于此,本公开实施例提供一种人脸跟踪方法,能够在多视角面部捕捉系统中,在不依赖于面部特殊标记点的情况下,对演员面部上的稀疏位置进行跟踪,且利用多视角的三维重建结果,能够关联单视角的光流跟踪信息,并进行交叉验证,从而能够提升人脸跟踪精度,对于遮挡后跟踪失败的问题具有更好的鲁棒性,此外,利用人脸形变的局部性,能够联合求解出人脸的非刚性估计和场景流,有效地减少场景流跟踪的噪声,最后,利用中性表情检测,将整个时序图像序列切分为多段分别进行跟踪,有效地改善了跟踪误差的累计情况,下面进行详述。
图1是根据一示例性实施例示出的一种人脸跟踪方法的实施环境示意图,参见图1,在该实施环境中可以包括终端101和服务器102,终端101和服务器102均为一种电子设备。
终端101可以是任一能够采集人脸图像帧的电子设备,终端101可以调用摄像头组件拍摄人脸视频流,并将人脸视频流发送至服务器102进行人脸跟踪,服务器102将处理结果返回至终端101。
在一些实施例中,在终端101上还安装有用于提供人脸跟踪服务的应用程序,例如,该应用程序可以包括短视频应用、直播应用、修图应用、拍照应用或者社交应用中的至少一项。在该应用程序中可以嵌入人脸跟踪模型的执行代码,使得当用户向应用程序输入人脸视频流时,能够通过该人脸跟踪模型,在人脸视频流中采用方框显示出跟踪到的人脸区域。
终端101和服务器102可以通过有线网络或无线网络相连,本公开实施例不对此进行具体限定。
服务器102可以用于提供人脸跟踪服务,服务器102可以包括一台服务器、多台服务器、云计算平台或者虚拟化中心中的至少一种。可选地,服务器102承担主要计算工作,终端101承担次要计算工作;或者,服务器102承担次要计算工作,终端101承担主要计算工作;或者,终端101和服务器102两者之间采用分布式计算架构进行协同计算。
在一些实施例中,服务器102训练并存储有人脸跟踪模型,服务器102接收终端101发送的人脸视频流,并对人脸视频流进行人脸跟踪,将处理结果返回至终端101,以节约终端101的处理资源。
在一些实施例中,服务器102训练得到人脸跟踪模型后,将训练得到的人脸跟踪模型以冷更新或者热更新的方式下发到终端101上,使得终端101能够独立执行人脸跟踪方法,能够减轻服务器102的计算负载。
可选地,终端101可以泛指多个终端中的一个,终端101的设备类型包括但不限于:车载终端、电视机、智能手机、智能音箱、平板电脑、电子书阅读器、MP3(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机或者台式计算机中的至少一种。
本领域技术人员可以知晓,上述终端101的数量可以更多或更少。比如上述终端101可以仅为一个,或者上述终端101为几十个或几百个,或者更多数量。本公开实施例对终端101的数量和设备类型不加以限定。
图2是根据一示例性实施例示出的一种人脸跟踪方法的流程图,参见图2,该人脸跟踪方法应用于电子设备,下面进行说明。
在步骤201中,基于具有不同视角的多个相机对目标对象进行运动跟踪,得到该目标对象的多个人脸图像集合,每个人脸图像集合包括该多个相机在同一采集时刻所采集到的多个人脸图像。
在步骤202中,基于该多个相机对该目标对象在不具有面部表情时采集得到的目标人脸集合,获取目标人脸模型,该目标人脸模型为该目标人脸集合的三维人脸重建结果。
在步骤203中,从该目标人脸模型的多个顶点中,确定该目标对象的多个面部跟踪点,每个面部跟踪点均至少能够被具有不同视角的三个相机观测到。
在步骤204中,基于该多个人脸图像集合中各个人脸图像的光流特征,对该多个面部跟踪点进行光流跟踪,得到该多个面部跟踪点在各个人脸图像中的二维坐标。
在步骤205中,基于该多个面部跟踪点在各个人脸图像中的二维坐标,确定该多个面部跟踪点在各个人脸模型中的三维坐标,每个人脸模型为一个人脸图像集合的三维人脸重建结果。
本公开实施例提供的方法,通过利用多视角的多相机对目标对象进行运动跟踪,使得每个采集时刻都对应于多相机拍摄的一个人脸图像集合,基于不具有面部表情时的目标人脸集合三维重建出目标人脸模型,能够直接在目标人脸模型的表面顶点上选取出面部跟踪点,在后续通过对这些面部跟踪点进行光流跟踪,能够得到每个面部跟踪点在任一时刻在任一相机拍摄的人脸图像中的二维坐标,且能够确定出每个面部跟踪点在对应人脸模型中的三维坐标,而无需依赖于在目标对象的面部涂抹特殊的标记点,这种从目标人脸模型的表面顶点上选取面部跟踪点进行人脸跟踪的方式,能够达到像素级别的跟踪精度,也即能够大幅提升人脸跟踪的精度。
在一种可能实施方式中,基于该多个人脸图像集合中各个人脸图像的光流特征,对该多个面部跟踪点进行光流跟踪,得到该多个面部跟踪点在各个人脸图像中的二维坐标包括:
从该多个人脸图像集合中,确定该目标对象不具有面部表情的多个第一人脸集合;
基于该目标人脸集合中各个人脸图像的光流特征,对该多个面部跟踪点进行光流跟踪,得到该多个面部跟踪点在该多个第一人脸集合中各个人脸图像中的二维坐标;
基于每个第一人脸集合中各个人脸图像的光流特征,对该多个面部跟踪点进行光流跟踪,得到该多个面部跟踪点在多个第二人脸集合中各个人脸图像中的二维坐标,该第二人脸集合为该每个第一人脸集合与下一个第一人脸集合之间的人脸图像集合。
在一种可能实施方式中,基于该目标人脸集合中各个人脸图像的光流特征,对该多个面部跟踪点进行光流跟踪,得到该多个面部跟踪点在该多个第一人脸集合中各个人脸图像中的二维坐标包括:
获取该多个面部跟踪点在该目标人脸模型中的三维坐标;
基于该多个相机的相机参数,对该多个面部跟踪点在该目标人脸模型中的三维坐标进行映射,得到该多个面部跟踪点在该目标人脸集合中各个人脸图像的二维坐标;
基于该目标人脸集合中各个人脸图像的光流特征,确定该多个面部跟踪点的运动信息;
基于该运动信息和该多个面部跟踪点在该目标人脸集合中各个人脸图像的二维坐标,确定该多个面部跟踪点在该多个第一人脸集合中各个人脸图像中的二维坐标。
在一种可能实施方式中,该方法还包括:
基于每个第一人脸集合进行三维人脸重建,得到每个第一人脸集合对应的第一人脸模型;
将该多个面部跟踪点在每个第一人脸集合中各个人脸图像中的二维坐标反向投影到该第一人脸模型,得到该多个面部跟踪点在该第一人脸模型中的三维坐标。
在一种可能实施方式中,该方法还包括:
获取该多个面部跟踪点在该目标人脸集合中各个人脸图像中的可视性参数,该可视性参数用于表示各个面部跟踪点是否在该目标人脸集合中的各个人脸图像中可见;
对任一面部跟踪点,基于该任一面部跟踪点的可视性参数,对该任一面部跟踪点在各个第一人脸模型中的三维坐标进行聚类,得到符合聚类条件的多个坐标集合;
基于该多个坐标集合中的目标坐标集合,获取该目标坐标集合中各个三维坐标的平均坐标,该目标坐标集合为该多个坐标集合中包含的坐标数量最多的坐标集合。
在一种可能实施方式中,该方法还包括:
响应于该目标坐标集合中包含的坐标数量小于或等于目标阈值,获取目标人脸模型与各个第一人脸模型之间的非刚性形变;
基于该非刚性形变,对各个第一人脸模型进行修正,得到各个第一人脸模型所对应的各个形变人脸模型;
基于该任一面部跟踪点在该目标人脸模型中的顶点索引信息,确定该任一面部跟踪点在各个形变人脸模型中的修正坐标。
在一种可能实施方式中,基于每个第一人脸集合中各个人脸图像的光流特征,对该多个面部跟踪点进行光流跟踪,得到该多个面部跟踪点在多个第二人脸集合中各个人脸图像中的二维坐标包括:
以每个第一人脸集合中的该多个面部跟踪点作为跟踪起点,逐帧进行光流跟踪,得到该多个面部跟踪点在该多个第二人脸集合的各个人脸图像中的二维坐标,其中,从第一人脸集合向第二人脸集合进行光流跟踪的方式与从目标人脸集合向第一人脸集合进行光流跟踪的方式相同。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图3是根据一示例性实施例示出的一种人脸跟踪方法的流程图,如图3所示,该人脸跟踪方法应用于电子设备,下面以电子设备为服务器为例进行说明。
在步骤301中,服务器基于具有不同视角的多个相机对目标对象进行运动跟踪,得到该目标对象的多个人脸图像集合,每个人脸图像集合包括该多个相机在同一采集时刻所采集到的多个人脸图像。
其中,该目标对象是指任一待进行人脸跟踪的目标,例如,该目标对象为人脸跟踪的演员。
在一些实施例中,通过由该多个相机对该目标对象进行运动跟踪,采集得到该多个人脸图像集合,将该多个人脸图像集合上传至服务器。其中,不同的相机能够基于不同的视角观测该目标对象,换言之,该多个相机能够构成一个多视角人脸扫描系统,以便于更加准确地重建出目标对象的三维人脸模型。
可选地,在运动跟踪过程中的每个采集时刻均会产生一个对应的人脸图像集合,这一人脸图像集合中包括在上述采集时刻下该多个相机分别采集到的多个人脸图像,也即是说,多视角人脸扫描系统中的一个人脸图像集合相当于单视角人脸扫描系统(即单个相机)中的一个人脸图像帧,因此,每个人脸图像集合也称为“一帧”。
在多视角人脸扫描系统下,给定的相机和给定的采集时刻能够唯一确定一个人脸图像,也即是说,假设有T+1(T≥0)个采集时刻、K+1(K≥0)个相机,则每个采集时刻对应于K+1个相机采集得到的K+1个人脸图像所构成的一个人脸图像集合,而每个相机则能够采集到T+1个采集时刻下的T+1个人脸图像。
在步骤302中,服务器基于该多个相机对该目标对象在不具有面部表情时采集得到的目标人脸集合,获取目标人脸模型,该目标人脸模型为该目标人脸集合的三维人脸重建结果。
在一些实施例中,由于在运动跟踪时通常会要求目标对象在初始采集时刻时不具有面部表情,因此该目标人脸集合可以指上述步骤301中该多个人脸图像集合中与初始采集时刻(T=0的时刻)对应的人脸图像集合,此时该目标人脸集合是指该初始采集时刻下该多个相机所采集到的多个人脸图像所构成的人脸图像集合,也即,该目标人脸集合包括T=0时刻下K+1个相机分别采集到的K+1个人脸图像。
在一些实施例中,服务器在调用该多个相机对该目标对象进行运动跟踪之前,可以先调用该多个相机拍摄一张目标对象不具有面部表情时的多个预存人脸图像,将该多个预存人脸图像所构成的人脸图像集合确定为该目标人脸集合,也即,该目标人脸集合是指在开始运动跟踪之前、服务器中预存的、该多个相机所采集到的在目标对象不具有面部表情时的多个人脸图像所构成的人脸图像集合,换言之,该目标人脸集合包括服务器事先预存的K+1个相机分别采集到的K+1个人脸图像。
可选地,针对上述服务器事先预存了目标人脸集合的情况,可以将该目标人脸集合初始化为运动跟踪过程中T=0时刻的人脸图像集合,那么后续该多个相机在对该目标对象进行运动跟踪时,可以将计时起点调整为T=1时刻,或者,仍然以T=0时刻作为计时起点,但将所有的人脸图像集合中与T=0时刻对应的人脸图像集合替换为该目标人脸集合。
在一些实施例中,基于该目标人脸集合进行三维人脸重建,得到该目标人脸模型。例如,在一些实施例中,服务器基于T=0时刻下的K+1个人脸图像进行三维人脸重建,得到T=0时刻下的目标人脸模型mesh0。其中,该目标人脸模型也即该目标人脸集合的三维人脸重建结果,是一个三角化的表面。
在一些实施例中,为了方便后续进行人脸跟踪,服务器可以基于多视角三维重建技术,在T+1个采集时刻下逐帧(共T+1帧)进行三维人脸重建,得到一系列的三维人脸模型mesh0,mesh1,…,meshT,并将T=0时刻的三维人脸模型mesh0确定为该目标人脸模型。
需要说明的是,在本公开实施例中涉及到的“第i帧”是指T=i的采集时刻下K+1个相机所采集的K+1个人脸图像所构成的人脸图像集合,只是为了简洁起见,化用了单视角人脸扫描系统中“一帧”的概念。比如,上述“T+1帧”实际上的含义为T+1个人脸图像集合,而逐帧进行三维人脸重建,实际上的含义为逐个人脸图像集合进行三维人脸重建,后文将不做重复说明。
在步骤303中,服务器从该目标人脸模型的多个顶点中,确定该目标对象的多个面部跟踪点,每个面部跟踪点均至少能够被具有不同视角的三个相机观测到。
在一些实施例中,服务器将该目标人脸模型中的所有顶点确定为该多个顶点,对每个顶点,确定每个顶点分别在该每个相机所拍摄的每个人脸图像中的可视性参数,其中,该可视性参数用于表示一个顶点是否在一个相机视角下的一个人脸图像中可见,该可视性参数是一个二值化的数值。
在一个示例中,可视性参数为1表示可见,可视性参数为0表示不可见。在另一个示例中,可视性参数为True表示可见,可视性参数为False表示不可见,本公开实施例对此不进行具体限定。
可选地,服务器响应于任一顶点在三个或三个以上的相机所拍摄的人脸图像中的可视性参数表示“可见”,则确定该任一顶点是一个面部跟踪点。
在一些实施例中,在确定了目标人脸模型中的所有面部跟踪点之后,可以保存这些面部跟踪点在目标人脸模型中的顶点索引信息,这样即使后续利用非刚性形变对三维人脸模型的重建表面进行修正之后,由于顶点索引信息具有不变性,能够保证根据顶点索引信息在修正后的形变人脸模型中重新找到对应三维坐标。
图4是本公开实施例提供的一种多个面部跟踪点的示意图,请参考400,示出了第i(i≥0)个采集时刻下的三维人脸模型meshi中的M+1(M≥0)个面部跟踪点,则可以将这M+1个面部跟踪点在三维人脸模型meshi中的3D模型坐标表示为:将这M+1个面部跟踪点在三维人脸模型meshi的重建表面的顶点索引信息表示为:进一步地,将这M+1个面部跟踪点根据K+1个相机的相机参数分别投影到K+1个相机视角,从而能够得到这M+1个面部跟踪点分别在K+1个相机所拍摄到的K+1个人脸图像中的2D图像坐标:进一步地,这M+1个面部跟踪点分别在该K+1个人脸图像中的可视性参数可以表示为:
在一些实施例中,如果第i个采集时刻时目标对象不具有面部表情,则该K+1个人脸图像所构成的人脸图像集合为第一人脸集合,如果第i个采集时刻时目标对象具有任一面部表情,则该K+1个人脸图像所构成的人脸图像集合为第二人脸集合,关于第一人脸集合和第二人脸集合将分别在下述步骤304-307中进行详述,这里不做赘述。
在上述步骤302-303中,服务器从目标人脸模型的所有顶点中,选取该多个面部跟踪点。也即是说,服务器通过将各个相机采集时的第0帧作为初始化帧(也即目标人脸集合),在初始化帧的三维重建结果(也即目标人脸模型)上标记出希望跟踪的各个面部跟踪点。
在本公开实施例中仅以选取重建表面上至少能够被3个相机视角观测到的顶点为例进行说明,在另一些实施例中,也可以选取重建表面上的并非属于顶点的位置点作为面部跟踪点,或者,还可以选取重建表面上至少能够被4个相机视角观测到的顶点作为面部跟踪点,本公开实施例不对面部跟踪点的选取条件进行具体限定。
在步骤304中,服务器从该多个人脸图像集合中,确定该目标对象不具有面部表情的多个第一人脸集合。
可选地,上述目标对象不具有面部表情的情况,也可以视为目标对象具有中性表情,而该中性表情是指没有情绪的面部表情。
在一些实施例中,对该多个人脸图像集合中的每个人脸图像集合,服务器对该人脸图像集合中的每个人脸图像均进行表情识别,确定目标对象在每个人脸图像是否具有面部表情,响应于目标对象在该人脸图像集合中超过目标比例的人脸图像中不具有面部表情,将该人脸图像集合确定为一个第一人脸集合,重复执行上述步骤,遍历所有的人脸图像集合,即可得到该多个第一人脸集合。其中,该目标比例为任一大于或等于0且小于或等于1的数值,例如,该目标比例为50%。
在一些实施例中,在进行表情识别时,可以由技术人员人工挑选出不具有面部表情的多个第一人脸集合,这样能够保证筛选第一人脸集合时的精准程度。
在另一些实施例中,在进行表情识别时,还可以采用机器学习模型挑选出目标对象不具有面部表情的人脸图像。该机器学习模型可以是用于判断是否具有面部表情的二分类模型,或者,该机器学习模型还可以是具有判断具体属于哪类表情标签的多分类模型,本公开实施例不对该机器学习模型的类型进行具体限定。
可选地,服务器将该人脸图像集合中的任一人脸图像输入二分类模型,通过该二分类模型预测目标对象在该任一人脸图像中是否具有面部表情,如果二分类模型输出结果为“是”,则确定目标对象在该任一人脸图像中具有面部表情,如果二分类模型输出结果为“否”,则确定目标对象在该任一人脸图像中不具有面部表情。
可选地,服务器将该任一人脸图像输入多分类模型,通过该多分类模型预测目标对象在该任一人脸图像中所对应的表情标签,如果多分类模型输出结果为“中性表情”这一表情标签,则确定目标对象在该任一人脸图像中不具有面部表情,如果多分类模型输出结果为除了“中性表情”以外的其他表情标签(例如“开心”、“愤怒”、“难过”等),则确定目标对象在该任一人脸图像中具有面部表情。
在上述过程中,不论是基于二分类模型还是基于多分类模型进行表情识别,均能够降低表情识别的人力成本,从而提升表情识别的处理效率。
在一个示例性场景中,由于演员(也即目标对象)在进行面部捕捉时会间歇性地放松面部肌肉,恢复到接近中性表情(无面部情绪)的状态,此时可以人工选取出多个人脸图像集合中的多个第一人脸集合,假设多个第一人脸集合对应于S+1(S≥0)个采集时刻,则这S+1个采集时刻所对应的多个第一人脸集合可以记为A0,A1,…,AS。其中,A0表示T=0时刻下K+1个相机所采集的K+1个人脸图像所构成的第一人脸集合,A1表示T=1时刻下K+1个相机所采集的K+1个人脸图像所构成的第一人脸集合,以此类推,AS表示T=S时刻下K+1个相机所采集的K+1个人脸图像所构成的第一人脸集合。由于第一人脸集合后续可用作分段跟踪的跟踪起点,因此第一人脸集合也可以形象地称为“参考帧”、“锚帧”等。
在步骤305中,服务器基于该目标人脸集合中各个人脸图像的光流特征,对该多个面部跟踪点进行光流跟踪,得到该多个面部跟踪点在该多个第一人脸集合中各个人脸图像中的二维坐标。
在一些实施例中,对于该多个第一人脸集合中的任一第一人脸集合,服务器可以以目标人脸集合作为跟踪起点,逐帧对每个第一人脸集合进行光流跟踪,得到该多个面部跟踪点在每个第一人脸集合中各个人脸图像中的二维坐标。对每个第一人脸集合均执行上述以目标人脸集合为跟踪起点的光流跟踪操作,即可确定出该多个面部跟踪点在所有第一人脸集合中所有人脸图像中的二维坐标。图5是本公开实施例提供的一种人脸跟踪过程的流程图,请参考图5,示出了如何对目标人脸集合中的各个面部跟踪点进行光流跟踪,以确定出各个面部跟踪点在第一人脸集合中的各个人脸图像中的二维坐标,下面进行详述。
在步骤3051中,服务器获取该多个面部跟踪点在该目标人脸模型中的三维坐标。
在一些实施例中,服务器在执行上述步骤303中从目标人脸模型的各个顶点中选取各个面部跟踪点时,会附带计算出各个面部跟踪点在该目标人脸模型中的三维模型,同时,还能够获取到各个面部跟踪点在该目标人脸模型中的顶点索引信息。
在步骤3052中,服务器基于该多个相机的相机参数,对该多个面部跟踪点在该目标人脸模型中的三维坐标进行映射,得到该多个面部跟踪点在该目标人脸集合中各个人脸图像的二维坐标和可视性参数。
其中,该可视性参数用于表示各个面部跟踪点是否在该目标人脸集合中的各个人脸图像中可见。
在一些实施例中,服务器根据该多个相机的相机参数,将该多个面部跟踪点在该目标人脸模型中的三维坐标投影到该目标人脸集合中的各个人脸图像中,能够得到该多个面部跟踪点在该目标人脸集合中的各个人脸图像中的二维坐标;进一步地,在上述将面部跟踪点的三维坐标投影到相机视角时,同时会附带计算得到该多个面部跟踪点在该目标人脸集合中的各个人脸图像中的可视性参数。
基于上述示例进行说明,服务器获取M+1个面部跟踪点在T=0时刻所对应的目标人脸模型mesh0中的M+1个三维坐标根据K+1个相机的相机参数,将每个面部跟踪点在目标人脸模型中的三维坐标分别投影到K+1个相机视角,得到每个面部跟踪点分别在目标人脸集合中的K+1个人脸图像中的K+1个二维坐标:也即,对每个三维坐标均能够投影得到K+1个二维坐标,上述将各个三维坐标投影到各个相机视角时,还会附带计算出每个面部跟踪点在目标人脸集合中的K+1个人脸图像中的K+1个可视性参数
在步骤3053中,服务器基于该目标人脸集合中各个人脸图像的光流特征,确定该多个面部跟踪点的运动信息。
在一些实施例中,该运动信息是指一个面部跟踪点在该目标人脸集合中的一个人脸图像中的二维坐标所具有的光流参数。
在一些实施例中,服务器可以基于图像光流算法对该目标人脸集合中的各个人脸图像进行光流分析,得到该目标人脸集合中各个人脸图像的光流特征,由于光流特征是一张矢量图,因此可以根据该多个面部跟踪点在该目标人脸集合中的各个人脸图像中的二维坐标,从该矢量图中获取与该多个面部跟踪点的二维坐标所对应的光流参数,将该多个面部跟踪点的光流参数确定为该多个面部跟踪点的运动信息。例如,该多个光流参数表示为:
在步骤3054中,服务器基于该运动信息和该多个面部跟踪点在该目标人脸集合中各个人脸图像的二维坐标,确定该多个面部跟踪点在该多个第一人脸集合中各个人脸图像中的二维坐标。
在一些实施例中,对每个面部跟踪点,服务器可以将该面部跟踪点在该目标人脸集合中各个人脸图像的二维坐标和运动信息(也即光流参数)相加,得到该面部跟踪点在第一人脸集合中各个人脸图像中的二维坐标。
其中,j表示第一人脸集合的索引,也即第j个第一人脸集合,第j个第一人脸集合对应于第j个采集时刻。
在上述步骤3051-3054中,服务器分别以目标人脸集合中的每个人脸图像作为跟踪起点,分别对该多个面部跟踪点进行光流跟踪,得到该多个面部跟踪点在每个第一人脸集合中各个人脸图像中的二维坐标,由于目标对象在目标人脸集合和第一人脸集合中均不具有面部表情,那么上述跟踪到第一人脸集合中各个面部跟踪点的方式会具有很高的鲁棒性,可视为不会出现跟踪误差。
在步骤306中,服务器基于每个第一人脸集合中各个人脸图像的光流特征,对该多个面部跟踪点进行光流跟踪,得到该多个面部跟踪点在多个第二人脸集合中各个人脸图像中的二维坐标,该第二人脸集合为该每个第一人脸集合与下一个第一人脸集合之间的人脸图像集合。
换言之,该第二人脸集合是指该多个人脸图像集合中除了该多个第一人脸集合之外的所有人脸图像集合。
在一些实施例中,对任一第二人脸集合,服务器从该多个第一人脸集合中,确定与该第二人脸集合相邻且位于该第二人脸集合之前的前一个第一人脸集合;对该前一个第一人脸集合中的该多个面部跟踪点进行跟踪,得到该多个面部跟踪点在该第二人脸集合中各个人脸图像的二维坐标。
在一些实施例中,服务器以每个第一人脸集合中的该多个面部跟踪点作为跟踪起点,按照上述步骤3051-3054同理的跟踪方式逐帧进行光流跟踪,得到该多个面部跟踪点在该多个第二人脸集合的各个人脸图像中的二维坐标,其中,从第一人脸集合向第二人脸集合进行光流跟踪的方式与从目标人脸集合向第一人脸集合进行光流跟踪的方式相同,这里不做赘述。
在一个示例性场景中,将多个第一人脸集合记为A0,A1,…,AS,对于任意两个相邻的第一人脸集合Ai和Ai+1,以Ai作为跟踪起点,按照与上述步骤3051-3054同理的方式逐帧进行光流跟踪,直到Ai+1-1帧。
在上述过程中,通过从多个人脸图像集合中筛选出目标对象不具有面部表情的各个第一人脸集合,能够基于各个第一人脸集合将整个人脸图像序列切分成多段,并以各个第一人脸集合作为跟踪起点,对相邻的第一人脸集合之间包含的各个第二人脸集合进行人脸跟踪,避免了从第一帧开始跟踪时不断累积跟踪误差的情况,从而提升了人脸跟踪的准确度。
在上述步骤304-306中,服务器基于该多个人脸图像集合中各个人脸图像的光流特征,对所述多个面部跟踪点进行光流跟踪,得到所述多个面部跟踪点在各个人脸图像中的二维坐标,在多视角人脸扫描系统中,由于每个采集时刻对应的是一个人脸图像集合,而每个人脸图像集合包含了多视角下的各个人脸图像,一次性能够跟踪到各个面部跟踪点在每一相机视角下的二维坐标,从而大大提升了人脸跟踪精度。
在步骤307中,服务器基于所述多个面部跟踪点在各个人脸图像中的二维坐标,确定所述多个面部跟踪点在各个人脸模型中的三维坐标,每个人脸模型为一个人脸图像集合的三维人脸重建结果。
图6是本公开实施例提供的一种人脸跟踪过程的流程图,请参考图6,示出了如何从目标人脸集合向第一人脸集合进行光流跟踪,并确定各个面部跟踪点在各个第一人脸模型中的三维坐标,下面进行说明:
在步骤3071中,服务器基于每个第一人脸集合进行三维人脸重建,得到每个第一人脸集合对应的第一人脸模型。
上述步骤3071与上述步骤302类似,这里不做赘述。
在一些实施例中,如果在执行上述步骤302时,服务器基于多视角三维重建技术,对所有的T+1个采集时刻下的T+1个人脸图像集合逐帧进行三维人脸重建,得到一系列的三维人脸模型mesh0,mesh1,…,meshT,那么此时无需重复进行三维人脸重建,只需要取出每个第一人脸集合(假设对应于第j个采集时刻)所对应的三维人脸模型meshj,即可得到每个第一人脸集合所对应的第一人脸模型。
在步骤3072中,服务器将该多个面部跟踪点在每个第一人脸集合中各个人脸图像中的二维坐标反向投影到该第一人脸模型,得到该多个面部跟踪点在该第一人脸模型中的三维坐标。
在上述步骤3072中,服务器获取到每个第一人脸模型meshj之后,只需要将该多个面部跟踪点在每个第一人脸集合中各个人脸图像中的二维坐标反向投影到每个第一人脸模型meshj的物体表面(也即重建表面),就能够得到该多个面部跟踪点在每个第一人脸模型中的三维坐标,该多个面部跟踪点在每个第一人脸模型中的三维坐标的表达式如下:
其中,由于人脸模型中的三维坐标按照相机参数能够正向投影到各个相机视角,得到人脸图像中的二维坐标,因此,上述反向投影过程也即是:将每个面部跟踪点在每张人脸图像中的二维坐标通过逆运算反向投影到对应的第一人脸模型的重建表面,从而得到每个面部跟踪点在每个第一人脸模型中的三维坐标。
需要说明的是,对每个面部跟踪点,该面部跟踪点在第一人脸集合中的K+1个人脸图像中的K+1个二维坐标通过反向投影,能够得到在第一人脸模型中的K+1个三维坐标,此时可以通过求平均值,得到该面部跟踪点在该第一人脸模型中的三维坐标。
在一些实施例中,对每个第一人脸集合,服务器可以直接将上述步骤3054获取的各个面部跟踪点在该第一人脸集合中各个人脸图像的二维坐标,以及在上述步骤3072获取的各个面部跟踪点在对应第一人脸模型的K+1三维坐标的平均值作为各个面部跟踪点在对应第一人脸模型中的三维坐标,这样能够提高人脸跟踪的处理效率。
在另一些实施例中,图7是本公开实施例提供的一种确定面部跟踪点的三维坐标的合法性的流程图,请参考图7,由于图像光流算法的局限性,当面部跟踪点在一段时间内被遮挡,那么会导致跟踪失败(也即丢失了目标对象)的问题,因此可以基于下述步骤3073-3075,来判断上述各个二维坐标及对应的各个三维坐标是否合法,如果合法,那么将聚类后的平均坐标输出为最终在各个第一人脸模型中的三维坐标,如果不合法,则还需要对第一人脸模型进行修正,并基于修正后的模型对各个三维坐标进行更新。
在步骤3073中,对任一面部跟踪点,服务器基于该任一面部跟踪点的可视性参数,对该任一面部跟踪点在各个第一人脸模型中的三维坐标进行聚类,得到符合聚类条件的多个坐标集合。
在一些实施例中,服务器可以基于K-均值(K-Means)聚类算法,对该任一面部跟踪点在各个第一人脸模型中的三维坐标进行聚类,得到该多个坐标集合,每个坐标集合中包括至少一个面部跟踪点的三维坐标。
在一些实施例中,以K-Means算法为例,对聚类过程进行说明:对每个面部跟踪点,服务器基于该面部跟踪点在每个第一人脸集合中各个人脸图像中的可视性参数,从该面部跟踪点从该第一人脸集合向对应第一人脸模型反向投影得到的共计K+1个三维坐标中,确定在该第一人脸集合中可见的P(K≥P≥0)个三维坐标,服务器预将该P个三维坐标分为Q(Q≥2)个坐标集合,则随机选取Q个三维坐标作为Q个坐标集合的初始聚类中心,计算各个三维坐标与各个初始聚类中心之间的距离,将每个三维坐标分配给距离最近的聚类中心。每当一个坐标集合中被分配了一个新的三维坐标,则会根据该坐标集合中当前已有的所有三维坐标重新计算一个新的聚类中心,并基于新的聚类中心迭代执行上述操作,直到满足终止条件。可选地,该终止条件可以是没有(或最小数目)的三维坐标被重新分配给不同的坐标集合,或者,该终止条件可以是没有(或最小数目)的聚类中心再发生变化,或者,该终止条件还可以是误差平方和局部最小,本公开实施例不对聚类算法的终止条件进行具体限定。
在上述过程中,通过K-Means聚类算法进行聚类,技术人员在设定了超参数Q之后,能够高效地对每个面部跟踪点的各个三维坐标进行聚类,从而快速获取到该多个坐标集合。
在一些实施例中,服务器也可以采用K近邻(K-Nearest Neighbor,KNN)聚类算法对各个三维坐标进行聚类,能够简洁高效地进行聚类,本公开实施例不对聚类算法的类型进行具体限定。
在步骤3074中,服务器基于该多个坐标集合中的目标坐标集合,获取该目标坐标集合中各个三维坐标的平均坐标,该目标坐标集合为该多个坐标集合中包含的坐标数量最多的坐标集合。
在上述步骤3073-3074中,由于一个面部跟踪点在一个第一人脸集合中虽然会在K+1个相机视角下具有K+1个二维坐标,但是每个第一人脸集合仅对应于一个第一人脸模型,因此只能选取一个在第一人脸模型中的三维坐标,但反向投影算法会对K+1个二维坐标产生K+1个三维坐标,因此通过聚类方式从反向投影得到的K+1个三维坐标中选取出最具有代表性的目标坐标集合中各个三维坐标的平均坐标,相当于对上述步骤3072粗略计算出的三维坐标进行了校正,能够得到更高的跟踪准确度。
在步骤3075中,服务器基于该目标坐标集合中包含的坐标数量,确定该平均坐标是否合法。
在一些实施例中,响应于该目标坐标集合中包含的坐标数量大于目标阈值,确定该平均坐标合法,将该平均坐标作为该面部跟踪点在第一人脸模型中的三维坐标,响应于该目标坐标集合中包含的坐标数量小于或等于该目标阈值,确定该平均坐标不合法,此时可以对第一人脸模型进行修正,并重新确定该面部跟踪点在修正后的模型中的三维坐标。
其中,该目标阈值为任一大于或等于0且小于或等于相机数量的数值,例如,该目标阈值为相机数量的50%,本公开实施例不对该目标阈值的取值范围进行具体限定。
可选地,上述步骤3057-3059的聚类算法可以表示为:
For m=0,1,...,M;
if max_cluster_num>th_cluster;
在上述过程中,相较于直接将K+1个三维坐标的平均值作为最终在第一人脸模型中的三维坐标的情况,这种选取最大聚类的坐标集合的平均坐标作为最终在第一人脸模型中的三维坐标的处理方式,通过对每个面部跟踪点在多视角下的三维坐标进行聚类,能够有效地消除单视角光流跟踪产生的跟踪误差,并且改善由于遮挡造成的跟踪失败问题。
在一些实施例中,在确定平均坐标不合法时,说明该平均坐标的取值是不可信的,考虑到人脸的帧间形变具有很强的局部性,服务器可以通过求解初始图像帧到第一人脸集合之间的非刚性形变来优化该平均坐标。
可选地,服务器可以通过下述方式来进行优化:获取该目标人脸模型与各个第一人脸模型之间的非刚性形变;基于该非刚性形变,对各个第一人脸模型进行修正,得到各个第一人脸模型所对应的各个形变人脸模型;基于该任一面部跟踪点在该目标人脸模型中的顶点索引信息,确定该任一面部跟踪点在各个形变人脸模型中的修正坐标。
在一些实施例中,服务器基于目标人脸模型的物体表面mesh_deformed0(假设目标人脸模型也经过了修正)、该任一面部跟踪点在该物体表面上的顶点索引信息和该任一面部跟踪点在各个第一人脸集合的初始三维位置估计(也即平均坐标)通过薄壳形变可以计算出该非刚性形变,并基于该非刚性形变,对各个第一人脸模型进行修正,得到各个形变人脸模型mesh_deformedj,再根据该面部跟踪点在该物体表面mesh_deformed0上的顶点索引信息可以从各个形变人脸模型mesh_deformedj中获取与该顶点索引信息所对应的顶点坐标位置作为修正坐标
在上述过程中,通过求解初始图像帧到第一人脸集合之间的非刚性形变,能够优化调整原本的第一人脸模型,得到修正后的形变人脸模型,同时优化调整原本不合法的平均坐标,得到修正坐标,能够考虑到人脸的帧间形变具有很强的局部性,能够进一步提升人脸跟踪的准确度。
需要说明的是,从第一人脸集合向第二人脸集合进行光流跟踪,并确定各个面部跟踪点在各个第二人脸模型中的三维坐标的过程与上述步骤3071-3075同理,将不做赘述。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本公开实施例提供的方法,通过利用多视角的多相机对目标对象进行运动跟踪,使得每个采集时刻都对应于多相机拍摄的一个人脸图像集合,基于不具有面部表情时的目标人脸集合三维重建出目标人脸模型,能够直接在目标人脸模型的表面顶点上选取出面部跟踪点,在后续通过对这些面部跟踪点进行光流跟踪,能够得到每个面部跟踪点在任一时刻在任一相机拍摄的人脸图像中的二维坐标,且能够确定出每个面部跟踪点在对应人脸模型中的三维坐标,而无需依赖于在目标对象的面部涂抹特殊的标记点,这种从目标人脸模型的表面顶点上选取面部跟踪点进行人脸跟踪的方式,能够达到像素级别的跟踪精度,也即能够大幅提升人脸跟踪的精度。
图8是根据一示例性实施例示出的一种人脸跟踪装置的逻辑结构框图。参照图8,该装置包括运动跟踪单元801、第一获取单元802、第一确定单元803、光流跟踪单元804和第二确定单元805,下面进行说明。
运动跟踪单元801,被配置为执行基于具有不同视角的多个相机对目标对象进行运动跟踪,得到该目标对象的多个人脸图像集合,每个人脸图像集合包括该多个相机在同一采集时刻所采集到的多个人脸图像;
第一获取单元802,被配置为执行基于该多个相机对该目标对象在不具有面部表情时采集得到的目标人脸集合,获取目标人脸模型,该目标人脸模型为该目标人脸集合的三维人脸重建结果;
第一确定单元803,被配置为执行从该目标人脸模型的多个顶点中,确定该目标对象的多个面部跟踪点,每个面部跟踪点均至少能够被具有不同视角的三个相机观测到;
光流跟踪单元804,被配置为执行基于该多个人脸图像集合中各个人脸图像的光流特征,对该多个面部跟踪点进行光流跟踪,得到该多个面部跟踪点在各个人脸图像中的二维坐标;
第二确定单元805,被配置为执行基于该多个面部跟踪点在各个人脸图像中的二维坐标,确定该多个面部跟踪点在各个人脸模型中的三维坐标,每个人脸模型为一个人脸图像集合的三维人脸重建结果。
本公开实施例提供的装置,通过利用多视角的多相机对目标对象进行运动跟踪,使得每个采集时刻都对应于多相机拍摄的一个人脸图像集合,基于不具有面部表情时的目标人脸集合三维重建出目标人脸模型,能够直接在目标人脸模型的表面顶点上选取出面部跟踪点,在后续通过对这些面部跟踪点进行光流跟踪,能够得到每个面部跟踪点在任一时刻在任一相机拍摄的人脸图像中的二维坐标,且能够确定出每个面部跟踪点在对应人脸模型中的三维坐标,而无需依赖于在目标对象的面部涂抹特殊的标记点,这种从目标人脸模型的表面顶点上选取面部跟踪点进行人脸跟踪的方式,能够达到像素级别的跟踪精度,也即能够大幅提升人脸跟踪的精度。
在一种可能实施方式中,基于图8的装置组成,该光流跟踪单元804包括:
确定子单元,被配置为执行从该多个人脸图像集合中,确定该目标对象不具有面部表情的多个第一人脸集合;
跟踪子单元,被配置为执行基于该目标人脸集合中各个人脸图像的光流特征,对该多个面部跟踪点进行光流跟踪,得到该多个面部跟踪点在该多个第一人脸集合中各个人脸图像中的二维坐标;
该跟踪子单元,还被配置为执行基于每个第一人脸集合中各个人脸图像的光流特征,对该多个面部跟踪点进行光流跟踪,得到该多个面部跟踪点在多个第二人脸集合中各个人脸图像中的二维坐标,该第二人脸集合为该每个第一人脸集合与下一个第一人脸集合之间的人脸图像集合。
在一种可能实施方式中,该跟踪子单元被配置为执行:
获取该多个面部跟踪点在该目标人脸模型中的三维坐标;
基于该多个相机的相机参数,对该多个面部跟踪点在该目标人脸模型中的三维坐标进行映射,得到该多个面部跟踪点在该目标人脸集合中各个人脸图像的二维坐标;
基于该目标人脸集合中各个人脸图像的光流特征,确定该多个面部跟踪点的运动信息;
基于该运动信息和该多个面部跟踪点在该目标人脸集合中各个人脸图像的二维坐标,确定该多个面部跟踪点在该多个第一人脸集合中各个人脸图像中的二维坐标。
在一种可能实施方式中,该第一获取单元802还被配置为执行:基于每个第一人脸集合进行三维人脸重建,得到每个第一人脸集合对应的第一人脸模型;
该第二确定单元805还被配置为执行:将该多个面部跟踪点在每个第一人脸集合中各个人脸图像中的二维坐标反向投影到该第一人脸模型,得到该多个面部跟踪点在该第一人脸模型中的三维坐标。
在一种可能实施方式中,基于图8的装置组成,该装置还包括:
第二获取单元,被配置为执行获取该多个面部跟踪点在该目标人脸集合中各个人脸图像中的可视性参数,该可视性参数用于表示各个面部跟踪点是否在该目标人脸集合中的各个人脸图像中可见;
聚类单元,被配置为执行对任一面部跟踪点,基于该任一面部跟踪点的可视性参数,对该任一面部跟踪点在各个第一人脸模型中的三维坐标进行聚类,得到符合聚类条件的多个坐标集合;
第三获取单元,被配置为执行基于该多个坐标集合中的目标坐标集合,获取该目标坐标集合中各个三维坐标的平均坐标,该目标坐标集合为该多个坐标集合中包含的坐标数量最多的坐标集合。
在一种可能实施方式中,基于图8的装置组成,该装置还包括:
第四获取单元,被配置为执行响应于该目标坐标集合中包含的坐标数量小于或等于目标阈值,获取目标人脸模型与各个第一人脸模型之间的非刚性形变;
修正单元,被配置为执行基于该非刚性形变,对各个第一人脸模型进行修正,得到各个第一人脸模型所对应的各个形变人脸模型;
第三确定单元,被配置为执行基于该任一面部跟踪点在该目标人脸模型中的顶点索引信息,确定该任一面部跟踪点在各个形变人脸模型中的修正坐标。
在一种可能实施方式中,该跟踪子单元还被配置为执行:
以每个第一人脸集合中的该多个面部跟踪点作为跟踪起点,逐帧进行光流跟踪,得到该多个面部跟踪点在该多个第二人脸集合的各个人脸图像中的二维坐标,其中,从第一人脸集合向第二人脸集合进行光流跟踪的方式与从目标人脸集合向第一人脸集合进行光流跟踪的方式相同。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该人脸跟踪方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图9示出了本公开一个示例性实施例提供的电子设备的结构框图。请参考图9,以电子设备为终端900为例进行说明,该终端900可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端900包括有:处理器901和存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器901所执行以实现本公开中各个实施例提供的人脸跟踪方法。
在一些实施例中,终端900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、触摸显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。
外围设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本公开对此不加以限定。
显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置终端900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在终端900的不同表面或呈折叠设计;在再一些实施例中,显示屏905可以是柔性显示屏,设置在终端900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
定位组件908用于定位终端900的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件908可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源909用于为终端900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以终端900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制触摸显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器912可以检测终端900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对终端900的3D动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在终端900的侧边框和/或触摸显示屏905的下层。当压力传感器913设置在终端900的侧边框时,可以检测用户对终端900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在触摸显示屏905的下层时,由处理器901根据用户对触摸显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置终端900的正面、背面或侧面。当终端900上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制触摸显示屏905的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏905的显示亮度;当环境光强度较低时,调低触摸显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器916,也称距离传感器,通常设置在终端900的前面板。接近传感器916用于采集用户与终端900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与终端900的正面之间的距离逐渐变小时,由处理器901控制触摸显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与终端900的正面之间的距离逐渐变大时,由处理器901控制触摸显示屏905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图10是本公开实施例提供的一种电子设备的结构示意图。请参考图10,该电子设备1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)1001和一个或一个以上的存储器1002,其中,该存储器1002中存储有至少一条指令,该至少一条指令由该处理器1001加载并执行以实现上述各个实施例提供的人脸跟踪方法。当然,该电子设备1000还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该电子设备1000还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种包括至少一条指令的计算机可读存储介质,例如包括至少一条指令的存储器,上述至少一条指令可由电子设备中的处理器执行以完成上述各个实施例中提供的人脸跟踪方法。可选地,上述存储介质可以是非临时性计算机可读存储介质,例如,该非临时性计算机可读存储介质可以包括ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-OnlyMemory,只读光盘)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以由电子设备的处理器执行,以完成上述各个实施例提供的人脸跟踪方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种人脸跟踪方法,其特征在于,包括:
基于具有不同视角的多个相机对目标对象进行运动跟踪,得到所述目标对象的多个人脸图像集合,每个人脸图像集合包括所述多个相机在同一采集时刻所采集到的多个人脸图像;
基于所述多个相机对所述目标对象在不具有面部表情时采集得到的目标人脸集合,获取目标人脸模型,所述目标人脸模型为所述目标人脸集合的三维人脸重建结果;
从所述目标人脸模型的多个顶点中,确定所述目标对象的多个面部跟踪点,每个面部跟踪点均至少能够被具有不同视角的三个相机观测到;
基于所述多个人脸图像集合中各个人脸图像的光流特征,对所述多个面部跟踪点进行光流跟踪,得到所述多个面部跟踪点在各个人脸图像中的二维坐标;
基于所述多个面部跟踪点在各个人脸图像中的二维坐标,确定所述多个面部跟踪点在各个人脸模型中的三维坐标,每个人脸模型为一个人脸图像集合的三维人脸重建结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述多个人脸图像集合中各个人脸图像的光流特征,对所述多个面部跟踪点进行光流跟踪,得到所述多个面部跟踪点在各个人脸图像中的二维坐标包括:
从所述多个人脸图像集合中,确定所述目标对象不具有面部表情的多个第一人脸集合;
基于所述目标人脸集合中各个人脸图像的光流特征,对所述多个面部跟踪点进行光流跟踪,得到所述多个面部跟踪点在所述多个第一人脸集合中各个人脸图像中的二维坐标;
基于每个第一人脸集合中各个人脸图像的光流特征,对所述多个面部跟踪点进行光流跟踪,得到所述多个面部跟踪点在多个第二人脸集合中各个人脸图像中的二维坐标,所述第二人脸集合为所述每个第一人脸集合与下一个第一人脸集合之间的人脸图像集合。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标人脸集合中各个人脸图像的光流特征,对所述多个面部跟踪点进行光流跟踪,得到所述多个面部跟踪点在所述多个第一人脸集合中各个人脸图像中的二维坐标包括:
获取所述多个面部跟踪点在所述目标人脸模型中的三维坐标;
基于所述多个相机的相机参数,对所述多个面部跟踪点在所述目标人脸模型中的三维坐标进行映射,得到所述多个面部跟踪点在所述目标人脸集合中各个人脸图像的二维坐标;
基于所述目标人脸集合中各个人脸图像的光流特征,确定所述多个面部跟踪点的运动信息;
基于所述运动信息和所述多个面部跟踪点在所述目标人脸集合中各个人脸图像的二维坐标,确定所述多个面部跟踪点在所述多个第一人脸集合中各个人脸图像中的二维坐标。
4.根据权利要求2所述的方法,其特征在于,所述基于所述多个面部跟踪点在各个人脸图像中的二维坐标,确定所述多个面部跟踪点在各个人脸模型中的三维坐标包括:
基于每个第一人脸集合进行三维人脸重建,得到每个第一人脸集合对应的第一人脸模型;
将所述多个面部跟踪点在每个第一人脸集合中各个人脸图像中的二维坐标反向投影到所述第一人脸模型,得到所述多个面部跟踪点在所述第一人脸模型中的三维坐标。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取所述多个面部跟踪点在所述目标人脸集合中各个人脸图像中的可视性参数,所述可视性参数用于表示各个面部跟踪点是否在所述目标人脸集合中的各个人脸图像中可见;
对任一面部跟踪点,基于所述任一面部跟踪点的可视性参数,对所述任一面部跟踪点在各个第一人脸模型中的三维坐标进行聚类,得到符合聚类条件的多个坐标集合;
基于所述多个坐标集合中的目标坐标集合,获取所述目标坐标集合中各个三维坐标的平均坐标,所述目标坐标集合为所述多个坐标集合中包含的坐标数量最多的坐标集合。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
响应于所述目标坐标集合中包含的坐标数量小于或等于目标阈值,获取目标人脸模型与各个第一人脸模型之间的非刚性形变;
基于所述非刚性形变,对各个第一人脸模型进行修正,得到各个第一人脸模型所对应的各个形变人脸模型;
基于所述任一面部跟踪点在所述目标人脸模型中的顶点索引信息,确定所述任一面部跟踪点在各个形变人脸模型中的修正坐标。
7.一种人脸跟踪装置,其特征在于,包括:
运动跟踪单元,被配置为执行基于具有不同视角的多个相机对目标对象进行运动跟踪,得到所述目标对象的多个人脸图像集合,每个人脸图像集合包括所述多个相机在同一采集时刻所采集到的多个人脸图像;
第一获取单元,被配置为执行基于所述多个相机对所述目标对象在不具有面部表情时采集得到的目标人脸集合,获取目标人脸模型,所述目标人脸模型为所述目标人脸集合的三维人脸重建结果;
第一确定单元,被配置为执行从所述目标人脸模型的多个顶点中,确定所述目标对象的多个面部跟踪点,每个面部跟踪点均至少能够被具有不同视角的三个相机观测到;
光流跟踪单元,被配置为执行基于所述多个人脸图像集合中各个人脸图像的光流特征,对所述多个面部跟踪点进行光流跟踪,得到所述多个面部跟踪点在各个人脸图像中的二维坐标;
第二确定单元,被配置为执行基于所述多个面部跟踪点在各个人脸图像中的二维坐标,确定所述多个面部跟踪点在各个人脸模型中的三维坐标,每个人脸模型为一个人脸图像集合的三维人脸重建结果。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行指令的一个或多个存储器;
其中,所述一个或多个处理器被配置为执行所述指令,以实现如权利要求1至权利要求6中任一项所述的人脸跟踪方法。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的至少一条指令由电子设备的一个或多个处理器执行时,使得所述电子设备能够执行如权利要求1至权利要求6中任一项所述的人脸跟踪方法。
10.一种计算机程序产品,其特征在于,包括一条或多条指令,所述一条或多条指令由电子设备的一个或多个处理器执行,使得所述电子设备能够执行如权利要求1至权利要求6中任一项所述的人脸跟踪方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110126873.7A CN112767453B (zh) | 2021-01-29 | 2021-01-29 | 人脸跟踪方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110126873.7A CN112767453B (zh) | 2021-01-29 | 2021-01-29 | 人脸跟踪方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112767453A true CN112767453A (zh) | 2021-05-07 |
CN112767453B CN112767453B (zh) | 2022-01-21 |
Family
ID=75703716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110126873.7A Active CN112767453B (zh) | 2021-01-29 | 2021-01-29 | 人脸跟踪方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112767453B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114943912A (zh) * | 2022-04-07 | 2022-08-26 | 中国科学院计算技术研究所 | 视频换脸方法、装置及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999055233A1 (en) * | 1998-04-24 | 1999-11-04 | University Of Washington | Automated delineation of heart contours |
CN1920886A (zh) * | 2006-09-14 | 2007-02-28 | 浙江大学 | 基于视频流的三维动态人脸表情建模方法 |
WO2007114547A1 (en) * | 2006-04-05 | 2007-10-11 | Seoul National University Industry Foundation | Method for generating intuitive quasi-eigen faces |
CN101681423A (zh) * | 2007-01-26 | 2010-03-24 | 扑动公司 | 捕获、处理、以及绘制图像的方法 |
CN102254154A (zh) * | 2011-07-05 | 2011-11-23 | 南京大学 | 一种基于三维模型重建的人脸身份认证方法 |
CN106228573A (zh) * | 2016-07-18 | 2016-12-14 | 北京邮电大学 | 一种运动目标跟踪方法及装置 |
CN106570507A (zh) * | 2016-10-26 | 2017-04-19 | 北京航空航天大学 | 单目视频场景三维结构的多视角一致的平面检测解析方法 |
CN109215061A (zh) * | 2018-11-06 | 2019-01-15 | 广东工业大学 | 一种人脸毛孔跟踪方法及系统 |
CN110807364A (zh) * | 2019-09-27 | 2020-02-18 | 中国科学院计算技术研究所 | 三维人脸与眼球运动的建模与捕获方法及系统 |
CN112700523A (zh) * | 2020-12-31 | 2021-04-23 | 魔珐(上海)信息科技有限公司 | 虚拟对象面部动画生成方法及装置、存储介质、终端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109035394B (zh) * | 2018-08-22 | 2023-04-07 | 广东工业大学 | 人脸三维模型重建方法、装置、设备、系统及移动终端 |
-
2021
- 2021-01-29 CN CN202110126873.7A patent/CN112767453B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999055233A1 (en) * | 1998-04-24 | 1999-11-04 | University Of Washington | Automated delineation of heart contours |
WO2007114547A1 (en) * | 2006-04-05 | 2007-10-11 | Seoul National University Industry Foundation | Method for generating intuitive quasi-eigen faces |
CN1920886A (zh) * | 2006-09-14 | 2007-02-28 | 浙江大学 | 基于视频流的三维动态人脸表情建模方法 |
CN101681423A (zh) * | 2007-01-26 | 2010-03-24 | 扑动公司 | 捕获、处理、以及绘制图像的方法 |
CN102254154A (zh) * | 2011-07-05 | 2011-11-23 | 南京大学 | 一种基于三维模型重建的人脸身份认证方法 |
CN106228573A (zh) * | 2016-07-18 | 2016-12-14 | 北京邮电大学 | 一种运动目标跟踪方法及装置 |
CN106570507A (zh) * | 2016-10-26 | 2017-04-19 | 北京航空航天大学 | 单目视频场景三维结构的多视角一致的平面检测解析方法 |
CN109215061A (zh) * | 2018-11-06 | 2019-01-15 | 广东工业大学 | 一种人脸毛孔跟踪方法及系统 |
CN110807364A (zh) * | 2019-09-27 | 2020-02-18 | 中国科学院计算技术研究所 | 三维人脸与眼球运动的建模与捕获方法及系统 |
CN112700523A (zh) * | 2020-12-31 | 2021-04-23 | 魔珐(上海)信息科技有限公司 | 虚拟对象面部动画生成方法及装置、存储介质、终端 |
Non-Patent Citations (1)
Title |
---|
贾龙飞: "《视频流中人脸实时跟踪》", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114943912A (zh) * | 2022-04-07 | 2022-08-26 | 中国科学院计算技术研究所 | 视频换脸方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112767453B (zh) | 2022-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110189340B (zh) | 图像分割方法、装置、电子设备及存储介质 | |
CN110544280B (zh) | Ar系统及方法 | |
CN110992493B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
EP3779883A1 (en) | Method and device for repositioning in camera orientation tracking process, and storage medium | |
CN113205568B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN110807361B (zh) | 人体识别方法、装置、计算机设备及存储介质 | |
CN110097576B (zh) | 图像特征点的运动信息确定方法、任务执行方法和设备 | |
CN110148178B (zh) | 相机定位方法、装置、终端及存储介质 | |
CN109815150B (zh) | 应用测试方法、装置、电子设备及存储介质 | |
CN110059652B (zh) | 人脸图像处理方法、装置及存储介质 | |
CN110570460B (zh) | 目标跟踪方法、装置、计算机设备及计算机可读存储介质 | |
CN112287852B (zh) | 人脸图像的处理方法、显示方法、装置及设备 | |
CN110110787A (zh) | 目标的位置获取方法、装置、计算机设备及存储介质 | |
CN110599593B (zh) | 数据合成的方法、装置、设备及存储介质 | |
CN109522863B (zh) | 耳部关键点检测方法、装置及存储介质 | |
CN113763228B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN112991494B (zh) | 图像生成方法、装置、计算机设备及计算机可读存储介质 | |
CN112749613B (zh) | 视频数据处理方法、装置、计算机设备及存储介质 | |
CN111680758B (zh) | 图像训练样本生成方法和装置 | |
CN108776822B (zh) | 目标区域检测方法、装置、终端及存储介质 | |
CN112581358B (zh) | 图像处理模型的训练方法、图像处理方法及装置 | |
CN114170349A (zh) | 图像生成方法、装置、电子设备及存储介质 | |
CN110956580A (zh) | 图像换脸的方法、装置、计算机设备以及存储介质 | |
CN112767453B (zh) | 人脸跟踪方法、装置、电子设备及存储介质 | |
CN110232417B (zh) | 图像识别方法、装置、计算机设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |