CN112348841A - 虚拟对象的处理方法、装置、电子设备及存储介质 - Google Patents

虚拟对象的处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112348841A
CN112348841A CN202011166759.9A CN202011166759A CN112348841A CN 112348841 A CN112348841 A CN 112348841A CN 202011166759 A CN202011166759 A CN 202011166759A CN 112348841 A CN112348841 A CN 112348841A
Authority
CN
China
Prior art keywords
model
face
virtual object
image
transparency
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
Application number
CN202011166759.9A
Other languages
English (en)
Other versions
CN112348841B (zh
Inventor
王东烁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202011166759.9A priority Critical patent/CN112348841B/zh
Publication of CN112348841A publication Critical patent/CN112348841A/zh
Application granted granted Critical
Publication of CN112348841B publication Critical patent/CN112348841B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开关于一种虚拟对象的处理方法、装置、电子设备及存储介质,该方法包括:获取待处理人脸图像的人脸模型和虚拟对象模型;人脸模型标记有目标人脸特征点的位置信息,虚拟对象模型中标记有模型顶点的位置信息;根据目标人脸特征点的位置信息以及模型顶点的位置信息,确定人脸模型与虚拟对象模型之间的遮挡关系;根据遮挡关系以及人脸模型对应的模糊遮罩图像,确定虚拟对象模型中各个模型区域的透明度;虚拟对象模型中位于人脸模型边界的模型区域的透明度满足预设条件;根据透明度将虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到添加有虚拟对象的目标人脸图像。采用本方法,增强了人脸轮廓上的虚拟对象与人脸的贴合效果。

Description

虚拟对象的处理方法、装置、电子设备及存储介质
技术领域
本公开涉及图像处理技术领域,尤其涉及一种虚拟对象的处理方法、装置、电子设备及存储介质。
背景技术
随着计算机技术发展,越来越多的虚拟对象模型(比如人脸特效模型)应用到短视频的拍摄中,通过对虚拟对象模型进行处理,以实现虚拟对象模型贴合于人脸的效果。
相关技术中,目前的虚拟对象的处理方法,一般是通过在虚拟场景中建立一个用户平局脸的模型(保证多数用户适用),将其附着在视频中的人脸空间位置上,同时依托early-z的渲染技术将其与对应的虚拟对象模型进行空间深度上的比对,以剔除掉人脸模型后面的虚拟对象模型的像素信息,以实现虚拟对象模型贴合于人脸上的效果;但对于运算性能有限的移动终端来说,标准人脸模型无法承载过多的三角面,其模型精度还远远无法表达真实人脸复杂的结构转折,使得人脸边界轮廓上的虚拟对象与人脸的贴合效果较差。
发明内容
本公开提供一种虚拟对象的处理方法、装置、电子设备及存储介质,以至少解决相关技术中人脸边界轮廓上的虚拟对象与人脸的贴合效果较差的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种虚拟对象的处理方法,包括:
获取待处理人脸图像对应的人脸模型和虚拟对象模型;所述人脸模型标记有目标人脸特征点的位置信息;所述虚拟对象模型为用于添加在所述待处理人脸图像上的虚拟对象的对象模型,所述虚拟对象模型中标记有模型顶点的位置信息;
根据所述目标人脸特征点的位置信息以及所述模型顶点的位置信息,确定所述人脸模型与所述虚拟对象模型之间的遮挡关系;
根据所述遮挡关系以及所述人脸模型对应的模糊遮罩图像,确定所述虚拟对象模型中各个模型区域的透明度;所述模糊遮罩图像为所述待处理人脸图像对应的经过模糊处理的遮罩纹理图像,所述遮罩纹理图像为包含有所述待处理人脸图像的人脸区域图像和背景区域图像的二值化图像,所述虚拟对象模型中位于所述人脸模型边界的模型区域的透明度满足预设条件;
根据所述透明度将所述虚拟对象模型对应的所述虚拟对象与所述待处理人脸图像进行融合处理,得到添加有所述虚拟对象的目标人脸图像。
在一示例性实施例中,所述根据所述目标人脸特征点的位置信息以及所述模型顶点的位置信息,确定所述人脸模型与所述虚拟对象模型之间的遮挡关系,包括:
根据所述目标人脸特征点的位置信息以及所述模型顶点的位置信息,从所述目标人脸特征点中确定各个所述模型顶点对应的参考人脸特征点;
分别获取各个所述模型顶点以及各个所述模型顶点对应的参考人脸特征点与视觉参考点之间的距离;
根据所述距离,确定各个所述模型顶点与各个所述模型顶点对应的参考人脸特征点之间的位置关系;
根据所述位置关系,确定所述人脸模型与所述虚拟对象模型之间的遮挡关系。
在一示例性实施例中,所述根据所述目标人脸特征点的位置信息以及所述模型顶点的位置信息,确定各个所述模型顶点对应的参考人脸特征点,包括:
将所述目标人脸特征点的位置信息中的纵向位置信息与各个所述模型顶点的位置信息中的纵向位置信息进行对比,得到各个所述模型顶点与所述目标人脸特征点的纵向位置关系;
根据所述纵向位置关系,确定各个所述模型顶点对应的权重;所述权重用于表征所述目标人脸特征点对所述模型顶点的参考程度;
根据所述权重查询预设的权重与参考人脸特征点之间的对应关系,从所述目标人脸特征点中得到各个所述模型顶点对应的参考人脸特征点。
在一示例性实施例中,所述根据所述位置关系,确定所述人脸模型与所述虚拟对象模型之间的遮挡关系,包括:
从各个所述模型顶点中,分别获取所述位置关系属于第一位置关系的第一模型顶点以及所述位置关系属于第二位置关系的第二模型顶点;所述第一位置关系用于表征相对于所述视觉参考点,位于对应的参考人脸特征点前面的模型顶点;所述第二位置关系用于表征相对于所述视觉参考点,位于对应的参考人脸特征点后面的模型顶点;
根据所述第一模型顶点对应的集合区域以及所述第二模型顶点对应的集合区域,对应确定所述虚拟对象模型的第一模型区域以及第二模型区域;
根据所述虚拟对象模型的第一模型区域以及第二模型区域,确定所述人脸模型与所述虚拟对象模型之间的遮挡关系。
在一示例性实施例中,所述根据所述遮挡关系以及所述人脸模型对应的模糊遮罩图像,确定所述虚拟对象模型中各个模型区域的透明度,包括:
根据所述遮挡关系以及所述人脸模型的模糊遮罩图像,确定所述虚拟对象模型中各个模型区域对应的模糊遮罩图像;
根据图像像素值与透明度的对应关系,确定所述人脸模型的模糊遮罩图像中各个图像区域对应的透明度;
根据所述人脸模型的模糊遮罩图像中各个图像区域对应的透明度,确定所述虚拟对象模型中各个模型区域对应的模糊遮罩图像的透明度,并将所述虚拟对象模型中各个模型区域对应的模糊遮罩图像的透明度,作为所述虚拟对象模型中各个模型区域的透明度;其中,所述虚拟对象模型中位于所述人脸模型边界的模型区域对应的模糊遮罩图像的透明度大于第一透明度且小于第二透明度。
在一示例性实施例中,在根据所述遮挡关系以及所述人脸模型的模糊遮罩图像,确定所述虚拟对象模型中各个模型区域的透明度之前,还包括:
对所述待处理人脸图像进行二值化处理,得到包含有所述人脸区域图像和所述背景区域图像的二值化图像,作为所述待处理人脸图像的遮罩纹理图像;
对所述待处理人脸图像的遮罩纹理图像进行模糊处理,得到所述人脸模型对应的模糊遮罩图像;所述模糊遮罩图像中的各个图像区域标记有对应的透明度,各个图像区域对应的透明度根据各个图像区域的像素值以及图像像素值与透明度的对应关系确定。
在一示例性实施例中,在根据所述遮挡关系以及所述人脸模型对应的模糊遮罩图像,确定所述虚拟对象模型中各个模型区域的透明度之前,还包括:
将所述人脸模型中的第一人脸特征点,沿所述第一人脸特征点所在模型平面所对应的法线进行预设幅度的移动,得到移动后的人脸模型;所述第一人脸特征点为所述人脸模型中视线向量与法线向量均满足第一预设条件的人脸特征点;
获取所述移动后的人脸模型的深度信息以及所述虚拟对象模型的深度信息;
对所述移动后的人脸模型的深度信息以及所述虚拟对象模型的深度信息进行对比,得到对比结果,根据所述对比结果确定所述人脸模型与所述虚拟对象模型之间的遮挡关系。
在一示例性实施例中,所述待处理人脸图像为多个,所述方法还包括:
获取多个待处理人脸图像的人脸模型的原点深度信息以及各个所述待处理人脸图像的虚拟对象模型的原点深度信息;所述人脸模型的原点为所述人脸模型的着色器中定义的本地空间的原点,所述虚拟对象模型的原点为所述虚拟对象模型的着色器中定义的本地空间的原点;
根据各个所述待处理人脸图像的人脸模型的原点深度信息以及各个所述待处理人脸图像的虚拟对象模型的原点深度信息,确定各个所述虚拟对象模型之间的遮挡关系;
根据各个所述虚拟对象模型之间的遮挡关系以及各个所述虚拟对象模型对应的人脸模型的模糊遮罩图像,确定各个所述虚拟对象模型中各个模型区域的透明度;
根据所述透明度将各个所述虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到各个添加有对应的虚拟对象的目标人脸图像。
在一示例性实施例中,所述根据各个所述待处理人脸图像的人脸模型的原点深度信息以及各个所述待处理人脸图像的虚拟对象模型的原点深度信息,确定各个所述虚拟对象模型之间的遮挡关系,包括:
获取各个所述待处理人脸图像的人脸模型的原点深度信息与对应的虚拟对象模型的原点深度信息之间的第一距离以及各个所述待处理人脸图像的人脸模型的原点深度信息之间的第二距离;
根据所述第一距离,确定各个所述待处理人脸图像的人脸模型与对应的虚拟对象模型之间的第一遮挡关系,根据所述第二距离,确定各个所述待处理人脸图像的人脸模型之间的第二遮挡关系;
根据所述第一遮挡关系和所述第二遮挡关系,确定各个所述待处理人脸图像的虚拟对象模型之间的遮挡关系。
在一示例性实施例中,所述根据各个所述虚拟对象模型之间的遮挡关系以及各个所述虚拟对象模型对应的人脸模型的模糊遮罩图像,确定各个所述虚拟对象模型中各个模型区域的透明度,包括:
获取各个所述虚拟对象模型对应的人脸模型的模糊遮罩图像;每个模糊遮罩图像中的各个图像区域标记有对应的透明度;
根据各个所述虚拟对象模型之间的遮挡关系以及各个所述虚拟对象模型对应的人脸模型的模糊遮罩图像,确定各个所述虚拟对象模型中各个模型区域对应的模糊遮罩图像;
分别根据各个所述虚拟对象模型对应的人脸模型的模糊遮罩图像中各个图像区域对应的透明度,确定各个所述虚拟对象模型中各个模型区域对应的模糊遮罩图像的透明度,对应作为各个所述虚拟对象模型中各个模型区域的透明度。
在一示例性实施例中,所述根据所述透明度将各个所述虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到各个添加有对应的虚拟对象的待处理人脸图像,包括:
分别根据各个所述虚拟对象模型中各个模型区域的透明度,对应确定各个所述虚拟对象模型对应的虚拟对象的各个对象区域在对应的待处理人脸图像上的显示程度;
根据所述显示程度,将各个所述虚拟对象模型对应的虚拟对象与待处理人脸图像进行相应的融合处理,得到各个添加有对应的虚拟对象的目标人脸图像。
根据本公开实施例的第二方面,提供一种虚拟对象的处理装置,包括:
模型获取单元,被配置为执行获取待处理人脸图像对应的人脸模型和虚拟对象模型;所述人脸模型标记有目标人脸特征点的位置信息;所述虚拟对象模型为用于添加在所述待处理人脸图像上的虚拟对象的对象模型,所述虚拟对象模型中标记有模型顶点的位置信息;
遮挡关系确定单元,被配置为执行根据所述目标人脸特征点的位置信息以及所述模型顶点的位置信息,确定所述人脸模型与所述虚拟对象模型之间的遮挡关系;
透明度确定单元,被配置为执行根据所述遮挡关系以及所述人脸模型对应的模糊遮罩图像,确定所述虚拟对象模型中各个模型区域的透明度;所述模糊遮罩图像待处理人脸图像对应的经过模糊处理的遮罩纹理图像,所述遮罩纹理图像为包含有所述待处理人脸图像的人脸区域图像和背景区域图像的二值化图像,所述虚拟对象模型中位于所述人脸模型边界的模型区域的透明度满足预设条件;
虚拟对象融合单元,被配置为执行根据所述透明度将所述虚拟对象模型对应的所述虚拟对象与所述待处理人脸图像进行融合处理,得到添加有所述虚拟对象的目标人脸图像。
在一示例性实施例中,所述遮挡关系确定单元,还被配置为执行根据所述目标人脸特征点的位置信息以及所述模型顶点的位置信息,从所述目标人脸特征点中确定各个所述模型顶点对应的参考人脸特征点;分别获取各个所述模型顶点以及各个所述模型顶点对应的参考人脸特征点与视觉参考点之间的距离;根据所述距离,确定各个所述模型顶点与各个所述模型顶点对应的参考人脸特征点之间的位置关系;根据所述位置关系,确定所述人脸模型与所述虚拟对象模型之间的遮挡关系。
在一示例性实施例中,所述遮挡关系确定单元,还被配置为执行将所述目标人脸特征点的位置信息中的纵向位置信息与各个所述模型顶点的位置信息中的纵向位置信息进行对比,得到各个所述模型顶点与所述目标人脸特征点的纵向位置关系;根据所述纵向位置关系,确定各个所述模型顶点对应的权重;所述权重用于表征所述目标人脸特征点对所述模型顶点的参考程度;根据所述权重查询预设的权重与参考人脸特征点之间的对应关系,从所述目标人脸特征点中得到各个所述模型顶点对应的参考人脸特征点。
在一示例性实施例中,所述遮挡关系确定单元,还被配置为执行从各个所述模型顶点中,分别获取所述位置关系属于第一位置关系的第一模型顶点以及所述位置关系属于第二位置关系的第二模型顶点;所述第一位置关系用于表征相对于所述视觉参考点,位于对应的参考人脸特征点前面的模型顶点;所述第二位置关系用于表征相对于所述视觉参考点,位于对应的参考人脸特征点后面的模型顶点;根据所述第一模型顶点对应的集合区域以及所述第二模型顶点对应的集合区域,对应确定所述虚拟对象模型的第一模型区域以及第二模型区域;根据所述虚拟对象模型的第一模型区域以及第二模型区域,确定所述人脸模型与所述虚拟对象模型之间的遮挡关系。
在一示例性实施例中,所述透明度确定单元,还被配置为执行根据所述遮挡关系以及所述人脸模型的模糊遮罩图像,确定所述虚拟对象模型中各个模型区域对应的模糊遮罩图像;根据图像像素值与透明度的对应关系,确定所述人脸模型的模糊遮罩图像中各个图像区域对应的透明度;根据所述人脸模型的模糊遮罩图像中各个图像区域对应的透明度,确定所述虚拟对象模型中各个模型区域对应的模糊遮罩图像的透明度,并将所述虚拟对象模型中各个模型区域对应的模糊遮罩图像的透明度,作为所述虚拟对象模型中各个模型区域的透明度;其中,所述虚拟对象模型中位于所述人脸模型边界的模型区域对应的模糊遮罩图像的透明度大于第一透明度且小于第二透明度。
在一示例性实施例中,所述装置还包括模糊遮罩图像获取单元,被配置为执行对所述待处理人脸图像进行二值化处理,得到包含有所述人脸区域图像和所述背景区域图像的二值化图像,作为所述待处理人脸图像的遮罩纹理图像;对所述待处理人脸图像的遮罩纹理图像进行模糊处理,得到所述人脸模型对应的模糊遮罩图像;所述模糊遮罩图像中的各个图像区域标记有对应的透明度,各个图像区域对应的透明度根据各个图像区域的像素值以及图像像素值与透明度的对应关系确定。
在一示例性实施例中,所述装置还包括关系获取单元,被配置为执行将所述人脸模型中的第一人脸特征点,沿所述第一人脸特征点所在模型平面所对应的法线进行预设幅度的移动,得到移动后的人脸模型;所述第一人脸特征点为所述人脸模型中视线向量与法线向量均满足第一预设条件的人脸特征点;获取所述移动后的人脸模型的深度信息以及所述虚拟对象模型的深度信息;对所述移动后的人脸模型的深度信息以及所述虚拟对象模型的深度信息进行对比,得到对比结果,根据所述对比结果确定所述人脸模型与所述虚拟对象模型之间的遮挡关系。
在一示例性实施例中,所述待处理人脸图像为多个,所述装置还包括融合处理单元,被配置为执行获取多个待处理人脸图像的人脸模型的原点深度信息以及各个所述待处理人脸图像的虚拟对象模型的原点深度信息;所述人脸模型的原点为所述人脸模型的着色器中定义的本地空间的原点,所述虚拟对象模型的原点为所述虚拟对象模型的着色器中定义的本地空间的原点;根据各个所述待处理人脸图像的人脸模型的原点深度信息以及各个所述待处理人脸图像的虚拟对象模型的原点深度信息,确定各个所述虚拟对象模型之间的遮挡关系;根据各个所述虚拟对象模型之间的遮挡关系以及各个所述虚拟对象模型对应的人脸模型的模糊遮罩图像,确定各个所述虚拟对象模型中各个模型区域的透明度;根据所述透明度将各个所述虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到各个添加有对应的虚拟对象的目标人脸图像。
在一示例性实施例中,所述融合处理单元,还被配置为执行获取各个所述待处理人脸图像的人脸模型的原点深度信息与对应的虚拟对象模型的原点深度信息之间的第一距离以及各个所述待处理人脸图像的人脸模型的原点深度信息之间的第二距离;根据所述第一距离,确定各个所述待处理人脸图像的人脸模型与对应的虚拟对象模型之间的第一遮挡关系,根据所述第二距离,确定各个所述待处理人脸图像的人脸模型之间的第二遮挡关系;根据所述第一遮挡关系和所述第二遮挡关系,确定各个所述待处理人脸图像的虚拟对象模型之间的遮挡关系。
在一示例性实施例中,所述融合处理单元,还被配置为执行获取各个所述虚拟对象模型对应的人脸模型的模糊遮罩图像;每个模糊遮罩图像中的各个图像区域标记有对应的透明度;根据各个所述虚拟对象模型之间的遮挡关系以及各个所述虚拟对象模型对应的人脸模型的模糊遮罩图像,确定各个所述虚拟对象模型中各个模型区域对应的模糊遮罩图像;分别根据各个所述虚拟对象模型对应的人脸模型的模糊遮罩图像中各个图像区域对应的透明度,确定各个所述虚拟对象模型中各个模型区域对应的模糊遮罩图像的透明度,对应作为各个所述虚拟对象模型中各个模型区域的透明度。
在一示例性实施例中,所述融合处理单元,还被配置为执行分别根据各个所述虚拟对象模型中各个模型区域的透明度,对应确定各个所述虚拟对象模型对应的虚拟对象的各个对象区域在对应的待处理人脸图像上的显示程度;根据所述显示程度,将各个所述虚拟对象模型对应的虚拟对象与待处理人脸图像进行相应的融合处理,得到各个添加有对应的虚拟对象的目标人脸图像。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面的任一项实施例中所述的虚拟对象的处理方法。
根据本公开实施例的第四方面,提供一种存储介质,包括:当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行第一方面的任一项实施例中所述的虚拟对象的处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面任一项实施例中所述的虚拟对象的处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过获取待处理人脸图像对应的人脸模型和虚拟对象模型;人脸模型标记有目标人脸特征点的位置信息;虚拟对象模型为用于添加在待处理人脸图像上的虚拟对象的对象模型,虚拟对象模型中标记有模型顶点的位置信息;然后根据目标人脸特征点的位置信息以及模型顶点的位置信息,确定人脸模型与虚拟对象模型之间的遮挡关系;接着根据遮挡关系以及人脸模型对应的模糊遮罩图像,确定虚拟对象模型中各个模型区域的透明度;模糊遮罩图像为待处理人脸图像对应的经过模糊处理的遮罩纹理图像,遮罩纹理图像为包含有待处理人脸图像的人脸区域图像和背景区域图像的二值化图像,虚拟对象模型中位于人脸模型边界的模型区域的透明度满足预设条件;最后根据透明度将虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到添加有虚拟对象的目标人脸图像;实现了根据遮挡关系以及人脸模型对应的模糊遮罩图像,确定虚拟对象模型中各个模型区域的透明度的目的,使得目标人脸图像的人脸边界轮廓上的虚拟对象与人脸的贴合效果较自然,从而增强了人脸边界轮廓上的虚拟对象与人脸的贴合效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种虚拟对象的处理方法的应用环境图。
图2是根据一示例性实施例示出的一种虚拟对象的处理方法的流程图。
图3是根据一示例性实施例示出的人脸模型边界存在“折角感”和“硬切感”的虚拟对象模型的示意图。
图4(a)是根据一示例性实施例示出的黑白遮罩纹理图像的示意图。
图4(b)是根据一示例性实施例示出的黑白羽化遮罩图像的示意图。
图5是根据一示例性实施例示出的确定人脸模型与虚拟对象模型之间的遮挡关系的步骤的流程图。
图6(a)是根据一示例性实施例示出的基于正球体的中心的羽化区域判断的示意图。
图6(b)是根据一示例性实施例示出的基于双人脸特征点的羽化区域判断的示意图。
图7(a)是根据一示例性实施例示出的羽化处理前的虚拟对象模型的示意图。
图7(b)是根据一示例性实施例示出的羽化处理后的虚拟对象模型的示意图。
图8(a)是根据一示例性实施例示出的融合在正面人脸上的虚拟对象模型的示意图。
图8(b)是根据一示例性实施例示出的融合在侧面人脸上的虚拟对象模型的示意图。
图9(a)是根据一示例性实施例示出的羽化遮罩的示意图。
图9(b)是根据一示例性实施例示出的人脸模型原点深度信息的示意图。
图9(c)是根据一示例性实施例示出的通道混合结果的示意图。
图10(a)是根据一示例性实施例示出的多人脸遮挡处理前的虚拟对象模型的示意图。
图10(b)是根据一示例性实施例示出的多人脸遮挡处理后的虚拟对象模型的示意图。
图11(a)是根据一示例性实施例示出的额头关键人脸特征点的位置过于靠后的示意图。
图11(b)是根据一示例性实施例示出的额头关键人脸特征点的位置过于靠前的示意图。
图11(c)是根据一示例性实施例示出的额头关键人脸特征点的位置适中的示意图。
图12(a)是根据一示例性实施例示出的羽化强度调整前的虚拟对象模型的示意图。
图12(b)是根据一示例性实施例示出的羽化强度调整后的虚拟对象模型的示意图。
图13是根据一示例性实施例示出的另一种虚拟对象的处理方法的流程图。
图14是根据一示例性实施例示出的一种虚拟对象的处理装置的框图。
图15是根据一示例性实施例示出的一种电子设备的内部结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所提供的虚拟对象的处理方法,可以应用于如图1所示的应用环境中。参照图1,该应用环境图包括终端110。终端110是具有虚拟对象处理功能的电子设备,该电子设备可以是智能手机、平板电脑或个人计算机等等。图1中以终端110是智能手机为例进行说明,终端110获取待处理人脸图像对应的人脸模型和虚拟对象模型;人脸模型标记有目标人脸特征点的位置信息;虚拟对象模型为用于添加在待处理人脸图像上的虚拟对象的对象模型,虚拟对象模型中标记有模型顶点的位置信息;然后根据目标人脸特征点的位置信息以及模型顶点的位置信息,确定人脸模型与虚拟对象模型之间的遮挡关系;接着根据遮挡关系以及人脸模型对应的模糊遮罩图像,确定虚拟对象模型中各个模型区域的透明度;模糊遮罩图像为待处理人脸图像对应的经过模糊处理的遮罩纹理图像,遮罩纹理图像为包含有待处理人脸图像的人脸区域图像和背景区域图像的二值化图像,虚拟对象模型中位于人脸模型边界的模型区域的透明度满足预设条件;最后根据透明度将虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到添加有虚拟对象的目标人脸图像,使得目标人脸图像的人脸边界轮廓上的虚拟对象与人脸的贴合效果较自然,从而增强了人脸边界轮廓上的虚拟对象与人脸的贴合效果。
图2是根据一示例性实施例示出的一种虚拟对象的处理方法的流程图,如图2所示,虚拟对象的处理方法用于如图1所示的终端中,包括以下步骤:
在步骤S210中,获取待处理人脸图像对应的人脸模型和虚拟对象模型;人脸模型标记有目标人脸特征点的位置信息;虚拟对象模型为用于添加在待处理人脸图像上的虚拟对象的对象模型,虚拟对象模型中标记有模型顶点的位置信息。
其中,待处理人脸图像是指视频或者照片中的人脸图像;在实际场景中,用户在拍摄照片时,照片中显示的人脸图像即为待处理人脸图像,可以是一个或者多个。
其中,人脸模型是指能够贴合人脸的三维模型,具有不同的结构和形状,不同人脸对应的人脸模型不一样;人脸模型中包括很多个人脸特征点,人脸特征点是构成人脸模型的最基本结构,每个人脸特征点都具有相应的位置信息;目标人脸特征点是指用于参考的关键人脸特征点,比如额头特征点、下巴特征点。
其中,虚拟对象模型是指虚拟对象信息构成的三维模型,比如三维特效模型,不同虚拟对象对应的虚拟对象模型不一样;在实际场景中,虚拟对象模型可以是指三维魔法表情模型、三维眼镜模型、三维头发模型等;此外,虚拟对象模型对应的虚拟对象与待处理人脸图像匹配,是指虚拟对象模型对应的虚拟对象与待处理人脸图像成适配关系,比如待处理人脸图像较大,则匹配大的虚拟对象。虚拟对象模型中包括很多个模型顶点,即三维模型顶点,三维模型顶点是构成虚拟对象模型的最基本结构,每个模型顶点都具有相应的位置信息、法线信息等信息。
具体地,终端响应用户在拍照界面的虚拟对象模型选择操作,获取用户选择的虚拟对象模型,根据拍照界面中的待处理人脸图像,对人脸模型的空间位置信息进行调整处理,得到与待处理人脸图像对应的人脸模型;同时,从本地数据库中获取与待处理人脸图像对应的虚拟对象模型,或者实时生成与待处理人脸图像对应的虚拟对象模型。这样,有利于后续根据人脸模型中的目标人脸特征点的位置信息以及虚拟对象模型中的模型顶点的位置信息,确定人脸模型与虚拟对象模型之间的遮挡关系。
举例说明,在3D魔法表情拍摄场景中,用户在拍照界面上点击虚拟对象模型选项,拍照界面的预设区域会展示多个虚拟对象模型,用户从中点击一个虚拟对象模型,触发虚拟对象模型选择操作,终端响应虚拟对象模型选择操作,获取用户选择的虚拟对象模型,并将其调整成与拍摄界面中的待处理人脸图像匹配的虚拟对象模型,同时获取与待处理人脸图像对应的人脸模型。
在步骤S220中,根据目标人脸特征点的位置信息以及模型顶点的位置信息,确定人脸模型与虚拟对象模型之间的遮挡关系。
其中,人脸模型与虚拟对象模型之间的遮挡关系,是指人脸模型与虚拟对象模型之间的前后遮挡关系;一般地,在人脸模型前面的虚拟对象模型会显示出来,在人脸模型后面的虚拟对象模型会隐藏起来。
具体地,终端将目标人脸特征点的位置信息以及虚拟对象模型的各个模型顶点的位置信息进行对比,得到对比结果,根据对比结果确定各个模型顶点对应的参考人脸特征点;分别获取各个模型顶点以及各个模型顶点对应的参考人脸特征点与视觉参考点之间的距离;根据距离,从模型顶点中确定出位于人脸模型前面的模型顶点,以及位于人脸模型后面的模型顶点;根据位于人脸模型前面的模型顶点,以及位于人脸模型后面的模型顶点,确定人脸模型与虚拟对象模型之间的遮挡关系。这样,通过根据目标人脸特征点的位置信息以及模型顶点的位置信息,有利于准确确定人脸模型与虚拟对象模型之间的遮挡关系,从而提高了得到的遮挡关系的准确率。
在步骤S230中,根据遮挡关系以及人脸模型对应的模糊遮罩图像,确定虚拟对象模型中各个模型区域的透明度;模糊遮罩图像为待处理人脸图像对应的经过模糊处理的遮罩纹理图像,遮罩纹理图像为包含有待处理人脸图像的人脸区域图像和背景区域图像的二值化图像,虚拟对象模型中位于人脸模型边界的模型区域的透明度满足预设条件。
其中,模糊遮罩图像是指待处理人脸图像的黑白羽化遮罩图像,其中,待处理人脸图像的人脸区域图像用全白显示,待处理人脸图像的背景区域图像用全黑显示;模糊遮罩图像用于控制虚拟对象模型中各个模型区域的显隐效果;虚拟对象模型中各个模型区域的透明度,用于衡量虚拟对象模型中各个模型区域的显隐效果,比如透明度为1,则完全显示,若透明度为0,则不显示;透明度为0和1之间,则显隐过渡。
其中,虚拟对象模型中位于人脸模型边界的模型区域的透明度满足预设条件,是指虚拟对象模型中位于人脸模型边界的模型区域的透明度满足一定的要求,使得虚拟对象模型中位于人脸模型边界的模型区域与人脸的贴合效果较自然,从而弱化了人脸模型边界的虚拟对象模型的“折角感”和“硬切感”,如图3(a)和图3(b)所示。
具体地,终端查询存储有多个人脸模型对应的模糊遮罩图像的数据库,得到待处理人脸图像的人脸模型对应的模糊遮罩图像;根据人脸模型与虚拟对象模型之间的遮挡关系以及人脸模型对应的模糊遮罩图像,确定虚拟对象模型中各个模型区域的透明度。这样,有利于后续根据透明度将虚拟对象模型与待处理人脸进行融合处理,得到融合在待处理人脸图像上的虚拟对象模型,不会出现虚拟对象模型“硬切、吃脸”等不好的质感,从而增强了人脸边缘轮廓上的虚拟对象的显示效果。
在步骤S240中,根据透明度将虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到添加有虚拟对象的目标人脸图像。
具体地,终端根据虚拟对象模型中各个模型区域的透明度,确定虚拟对象中各个对象区域的透明度;根据虚拟对象中各个对象区域的透明度,将虚拟对象中各个对象区域与待处理人脸图像进行相应的融合处理,得到添加有虚拟对象的待处理人脸图像;这样,根据透明度对虚拟对象模型对应的虚拟对象的各个对象区域进行相应的融合处理,使得人脸边界轮廓上的虚拟对象与人脸的贴合效果较自然,从而增强了人脸边界轮廓上的虚拟对象与人脸的贴合效果。
举例说明,在3D魔法表情拍摄场景中,用户在选择虚拟对象模型之后,点击拍摄按钮,触发拍摄操作,终端响应用户触发的拍摄操作,根据透明度将虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到添加有虚拟对象的待处理人脸图像;这个时候,用户在拍照界面中看到的就是,融合在待处理人脸图像上,且人脸边界轮廓上的虚拟对象与人脸的贴合效果较自然的虚拟对象。
上述虚拟对象的处理方法中,通过获取待处理人脸图像对应的人脸模型和虚拟对象模型;人脸模型标记有目标人脸特征点的位置信息;虚拟对象模型为用于添加在待处理人脸图像上的虚拟对象的对象模型,虚拟对象模型中标记有模型顶点的位置信息;然后根据目标人脸特征点的位置信息以及模型顶点的位置信息,确定人脸模型与虚拟对象模型之间的遮挡关系;接着根据遮挡关系以及人脸模型对应的模糊遮罩图像,确定虚拟对象模型中各个模型区域的透明度;模糊遮罩图像为待处理人脸图像对应的经过模糊处理的遮罩纹理图像,遮罩纹理图像为包含有待处理人脸图像的人脸区域图像和背景区域图像的二值化图像,虚拟对象模型中位于人脸模型边界的模型区域的透明度满足预设条件;最后根据透明度将虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到添加有虚拟对象的目标人脸图像;实现了根据遮挡关系以及人脸模型对应的模糊遮罩图像,确定虚拟对象模型中各个模型区域的透明度的目的,使得目标人脸图像中的人脸边界轮廓上的虚拟对象与人脸的贴合效果较自然,从而增强了人脸边界轮廓上的虚拟对象与人脸的贴合效果。
在一示例性实施例中,上述步骤S230,在根据遮挡关系以及人脸模型的模糊遮罩图像,确定虚拟对象模型中各个模型区域的透明度之前,还包括:对待处理人脸图像进行二值化处理,得到包含有人脸区域图像和背景区域图像的二值化图像,作为待处理人脸图像的遮罩纹理图像;对待处理人脸图像的遮罩纹理图像进行模糊处理,得到人脸模型对应的模糊遮罩图像;模糊遮罩图像中的各个图像区域标记有对应的透明度,各个图像区域对应的透明度根据各个图像区域的像素值以及图像像素值与透明度的对应关系确定。
其中,模糊遮罩图像中的各个图像区域标记有对应的透明度,是指模糊遮罩图像中的各个图像区域对应的透明度均满足一定的要求,比如模糊遮罩图像中的人脸边界的透明度,应该使得人脸模型边界轮廓上的虚拟对象模型与人脸的贴合效果较自然;此外,各个图像区域对应的透明度根据各个图像区域的像素值以及图像像素值与透明度的对应关系确定,比如像素值为0,透明度为0;像素值为255,透明度为1。
举例说明,终端将待处理人脸图像的人脸模型置于一个单独的场景中以全白像素渲染,将渲染结果存于Rendertarget(渲染目标)中以获取一张黑白遮罩纹理图像,如图4(a)所示;其中,渲染目标是现代图形处理单元(GPU)的一个特征,它允许将3d场景渲染到中间存储区或渲染目标纹理(RTT),而不是帧缓冲区或后缓冲区,可以通过像素着色器操纵此RTT,以便在显示最终图像之前将其他加工效果应用于最终图像;接着,终端对黑白遮罩纹理图像进行模糊、羽化类后处理操作(均值、高斯模糊均可),以此可以获得一张待处理人脸图像的人脸模型的黑白羽化遮罩图像,如图4(b)所示。
需要说明的是,黑白羽化遮罩图像中的黑和白与对应的虚拟对象模型的隐和显对应起来,比如处在黑色区域里的虚拟对象模型区域则不显示,处在白色区域里的虚拟对象模型区域则显示,处在黑白中间过渡区域里的虚拟对象模型区域则有一个从隐到显的过渡效果。
本公开实施例提供的技术方案,通过获取人脸模型对应的模糊遮罩图像,实现了对人脸模型边界进行模糊处理的目的,使得后续基于模糊遮罩图像得到的融合在待处理人脸上的虚拟对象,在人脸边界轮廓上与人脸的贴合效果较自然,从而增强了人脸边界轮廓上的虚拟对象与人脸的贴合效果。
在一示例性实施例中,如图5所示,上述步骤S220,在根据目标人脸特征点的位置信息以及模型顶点的位置信息,从目标人脸特征点中确定人脸模型与虚拟对象模型之间的遮挡关系,具体可以通过以下步骤实现:
在步骤S510中,根据目标人脸特征点的位置信息以及模型顶点的位置信息,确定各个模型顶点对应的参考人脸特征点。
其中,参考人脸特征点是指人脸模型中起到参考作用的人脸特征点,每个模型顶点均对应一个参考人脸特征点。
在步骤S520中,分别获取各个模型顶点以及各个模型顶点对应的参考人脸特征点与视觉参考点之间的距离。
其中,视觉参考点是指相机(即终端)所在的位置点。
具体地,终端分别统计各个模型顶点与视觉参考点之间的距离,以及各个模型顶点对应的参考人脸特征点与视觉参考点之间的距离。
在步骤S530中,根据距离,确定各个模型顶点与各个模型顶点对应的参考人脸特征点之间的位置关系。
其中,位置关系是指相对于视觉参考点,模型顶点与模型顶点对应的参考人脸特征点之间的位置关系,比如模型顶点距离视觉参考点较近,模型顶点对应的参考人脸特征点距离视觉参考点较远。
具体地,服务器将各个模型顶点与视觉参考点之间的距离,以及各个模型顶点对应的参考人脸特征点与视觉参考点之间的距离进行一一对比,得到对比结果;根据对比结果,确定各个模型顶点与各个模型顶点对应的参考人脸特征点之间的位置关系。
在步骤S540中,根据位置关系,确定人脸模型与虚拟对象模型之间的遮挡关系。
举例说明,若相对于视觉参考点,模型顶点距离视觉参考点较近,模型顶点对应的参考人脸特征点距离视觉参考点较远,则模型顶点位于模型顶点对应的参考人脸特征点前面;若相对于视觉参考点,模型顶点距离视觉参考点较远,模型顶点对应的参考人脸特征点距离视觉参考点较近,则模型顶点位于模型顶点对应的参考人脸特征点后面;参照此方法,可以得到人脸模型与虚拟对象模型之间的遮挡关系。
本公开实施例提供的技术方案,通过根据目标人脸特征点的位置信息以及模型顶点的位置信息,有利于准确确定人脸模型与虚拟对象模型之间的遮挡关系,从而提高了得到的遮挡关系的准确率。
在一示例性实施例中,在步骤S510中,根据目标人脸特征点的位置信息以及模型顶点的位置信息,确定各个模型顶点对应的参考人脸特征点,包括:将目标人脸特征点的位置信息中的纵向位置信息与各个模型顶点的位置信息中的纵向位置信息进行对比,得到各个模型顶点与目标人脸特征点的纵向位置关系;根据纵向位置关系,确定各个模型顶点对应的权重;权重用于表征目标人脸特征点对模型顶点的参考程度;根据权重查询预设的权重与参考人脸特征点之间的对应关系,从目标人脸特征点中得到各个模型顶点对应的参考人脸特征点。
其中,在实际场景中,模型顶点对应的权重是指模型顶点受到目标人脸特征点(比如额头特征点、下巴特征点)的影响力权重。目标人脸特征点对模型顶点的参考程度,用于衡量目标人脸特征点对模型顶点的影响程度;比如,若模型顶点(即模型顶点)的纵向高度值(比如Y值)低于下巴特征点的纵向高度值,则全受下巴特征点的影响;若模型顶点的纵向高度值高于额头特征点的纵向高度值,则全受额头特征点的影响;处于下巴特征点与额头特征点之间的模型顶点,则受下巴特征点以及额头特征点一定比例的影响,比如模型顶点的纵向高度值处于下巴特征点与额头特征点中间,则各受下巴特征点与额头特征点50%的影响。这样,保证了额头附近的模型顶点受额头特征点的影响,下巴附近的模型顶点受下巴特征点的影响。
其中,预设的权重与参考人脸特征点之间的对应关系,是指不同权重对应不同的参考人脸特征点。
具体地,终端将目标人脸特征点的位置信息中的纵向位置信息与各个模型顶点的位置信息中的纵向位置信息进行对比,得到各个模型顶点与目标人脸特征点之间的纵向位置关系;对各个模型顶点与目标人脸特征点之间的纵向位置关系进行分析,得到各个模型顶点对应的权重;根据权重查询预设的权重与参考人脸特征点之间的对应关系,得到各个模型顶点对应的参考人脸特征点。
举例说明,黑白羽化遮罩图像传入模型shader(着色器)中以影响其透明通道,此时需要判断黑白羽化遮罩图像对虚拟对象模型的影响区域,以排除遮挡在人脸模型前面的虚拟对象模型也被消隐掉的可能性。而屏幕空间中,羽化过渡部分的信息须处于人脸模型像素之外,以避免虚拟对象模型“吃脸”现象,因此模型缺乏用于判断羽化部分遮挡的人脸深度信息。针对此问题,可以基于定义人脸特征点来判断羽化影响区域的方案,其原理及思路如下:
若将人头抽象为规整的正球体,则虚拟对象模型受羽化影响的区域可近似以球心为判断点,与相机间的距离远于球心(或深度大于球心)的虚拟对象模型部分将受到羽化影响,相反则不受影响,如图6(a)所示;在此基础上,根据人头呈椭球形的形状特点,可进一步纵向拆分出两个判断点,以更好地应对人脸抬头、低头时的羽化区域判定,避免错误的羽化消隐,如图6(b)所示;对于3D魔法表情来说,虚拟对象模型通常是人脸模型的子对象,以保证其跟随头部运动的需求,因此在虚拟对象模型处世界坐标原点的前提下,人脸特征点的位置信息可直接在模型的本地空间中定义;此时可以在模型对应的shader中定义人脸的额头、下巴这两个关键人脸特征点(这两个关键人脸特征点的位置信息与人脸模型相应部位的本地空间位置信息对齐);并以虚拟对象模型的模型顶点(比如模型顶点)的Y轴(纵向值)位置来判定其受到两个关键人脸特征点的影响力权重;具体来说,通过smoothstep函数,以下巴、额头这两个关键人脸特征点的y轴位置为基准,对模型顶点划分出一个0到1的影响比重值;然后,利用mix函数,以得出的影响比重值划分影响模型顶点的混合关键人脸特征点的信息,0比重分配给下巴关键人脸特征点,1比重分配给额头关键人脸特征点,0和1中间做彼此的线性插值,最后将结果从本地空间变换到世界空间,从而得到世界空间中影响模型顶点的关键人脸特征点的位置信息,将其作为模型顶点的参考人脸特征点的位置信息。
本公开实施例提供的技术方案,通过目标人脸特征点的位置信息中的纵向位置信息以及模型顶点的位置信息中的纵向位置信息,确定各个模型顶点对应的参考人脸特征点,有利于后续根据各个模型顶点对应的参考人脸特征点,确定人脸模型与虚拟对象模型之间的遮挡关系。
在一示例性实施例中,在步骤S540中,根据位置关系,确定人脸模型与虚拟对象模型之间的遮挡关系,包括:从各个模型顶点中,分别获取位置关系属于第一位置关系的第一模型顶点以及位置关系属于第二位置关系的第二模型顶点;第一位置关系用于表征相对于视觉参考点,位于对应的参考人脸特征点前面的模型顶点;第二位置关系用于表征相对于视觉参考点,位于对应的参考人脸特征点后面的模型顶点;根据第一模型顶点对应的集合区域以及第二模型顶点对应的集合区域,对应确定虚拟对象模型的第一模型区域以及第二模型区域;根据虚拟对象模型的第一模型区域以及第二模型区域,确定人脸模型与虚拟对象模型之间的遮挡关系。
其中,第一位置关系是指相对于视觉参考点,模型顶点位于对应的参考人脸特征点前面;第二位置关系是指相对于视觉参考点,模型顶点位于对应的参考人脸特征点后面。第一模型区域是指虚拟对象模型中位于人脸模型前面的模型区域,第二模型区域是指虚拟对象模型中位于人脸模型后面的模型区域。
具体地,终端从各个模型顶点中,筛选出位置关系属于第一位置关系的第一模型顶点以及位置关系属于第二位置关系的第二模型顶点;获取第一模型顶点对应的集合区域,作为虚拟对象模型的第一模型区域;获取第二模型顶点对应的集合区域,作为虚拟对象模型的第二模型区域;根据虚拟对象模型的第一模型区域以及第二模型区域,确定虚拟对象模型中各个模型区域与人脸模型之间的前后遮挡关系,从而得到人脸模型与虚拟对象模型之间的遮挡关系。
举例说明,分别获取模型顶点以及参考人脸特征点(即最终确定出的关键人脸特征点)距离视觉参考点(即相机所在位置点)的远近,对两个值进行计算比对,以确定相对于视觉参考点,模型顶点与参考人脸特征点之间的位置关系;进而根据模型顶点与参考人脸特征点之间的位置关系,确定在人脸模型前面和在人脸模型后面的虚拟对象模型区域;根据在人脸模型前面和在人脸模型后面的虚拟对象模型区域,确定判断羽化影响区域的黑白遮罩信息。
具体来说,通过将视觉参考点对应的向量与参考人脸特征点对应的向量进行相减,并获取相减得到的向量的模长,作为参考人脸特征点距相机的距离;获取虚拟对象模型中各个模型顶点距视觉参考点的距离,并将模型顶点距视觉参考点的距离与参考人脸特征点距相机的距离进行相减,然后用clamp函数裁剪掉小于0且大于1的部分,则得到一个黑白颜色信息;与参考人脸特征点的位置信息相比,距离视觉参考点更近的模型区域显示为黑色,更远的模型区域显示为白色,即用黑色和白色(0和1)来分别代表在人脸模型前面和在人脸模型后面的虚拟对象模型区域。最后,通过上条代码得出的黑白颜色信息,使用mix函数划分羽化影响的区域,在人脸模型前面的虚拟对象模型区域不受黑白羽化遮罩图像影响,透明度为1(代表完全显示);在人脸模型后面的虚拟对象模型区域受黑白羽化遮罩图像影响,透明度由黑白羽化遮罩图像所控制。这样,使用遮罩信息排除掉不需要受羽化影响的部位,并将结果输出在透明通道中,即可实现人脸遮罩边界的羽化效果,最终效果对比如图7(a)和图7(b)所示,图7(a)为羽化处理前的虚拟对象模型,图7(b)为羽化处理后的虚拟对象模型。
进一步地,通过本公开的技术方案,还可以得到如图8(a)所示的融合在正面人脸上的虚拟对象模型,以及如图8(b)所示的融合在侧面人脸上的虚拟对象模型。
本公开实施例提供的技术方案,通过各个模型顶点与各个模型顶点对应的参考人脸特征点之间的位置关系,有利于准确确定人脸模型与虚拟对象模型之间的遮挡关系,从而提高了得到的遮挡关系的准确率,同时克服了标准人脸模型无法承载过多的三角面,其模型精度还远远无法表达真实人脸复杂的结构转折,导致确定出的模型遮挡关系的准确率较低,从而造成人脸模型边界轮廓上有明显的“折角感”的缺陷。
在一示例性实施例中,在步骤S230中,根据遮挡关系以及人脸模型对应的模糊遮罩图像,确定虚拟对象模型中各个模型区域的透明度,包括:根据遮挡关系以及人脸模型的模糊遮罩图像,确定虚拟对象模型中各个模型区域对应的模糊遮罩图像;根据图像像素值与透明度的对应关系,确定人脸模型的模糊遮罩图像中各个图像区域对应的透明度;根据人脸模型的模糊遮罩图像中各个图像区域对应的透明度,确定虚拟对象模型中各个模型区域对应的模糊遮罩图像的透明度,并将虚拟对象模型中各个模型区域对应的模糊遮罩图像的透明度,作为虚拟对象模型中各个模型区域的透明度;其中,虚拟对象模型中位于人脸模型边界的模型区域对应的模糊遮罩图像的透明度大于第一透明度且小于第二透明度。
其中,虚拟对象模型中位于人脸模型边界的模型区域对应的模糊遮罩图像的透明度满足预设条件,是指虚拟对象模型中位于人脸模型边界的模型区域对应的模糊遮罩图像的透明度满足一定的要求,使得人脸模型边界轮廓上的虚拟对象模型与人脸的贴合效果较自然,具体是指虚拟对象模型中位于人脸模型边界的模型区域对应的模糊遮罩图像的透明度在0和1之间。
具体地,终端根据人脸模型与虚拟对象模型之间的遮挡关系,确定人脸模型与虚拟对象模型之间的前后位置关系;根据人脸模型与虚拟对象模型之间的前后位置关系,以及人脸模型对应的模糊遮罩图像,得到虚拟对象模型中各个模型区域对应的模糊遮罩图像;查询图像像素值与透明度的对应关系,确定人脸模型的模糊遮罩图像中各个图像区域对应的透明度,进而确定虚拟对象模型中各个模型区域对应的模糊遮罩图像的透明度,并将虚拟对象模型中各个模型区域对应的模糊遮罩图像的透明度,作为虚拟对象模型中各个模型区域的透明度。
本公开实施例提供的技术方案,通过确定虚拟对象模型中各个模型区域的透明度,有利于后续根据透明度将虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到融合在待处理人脸图像上的虚拟对象,不会出现“硬切、吃脸”等不好的质感,从而增强了人脸边界轮廓上的虚拟对象与人脸的贴合效果。
在一示例性实施例中,在步骤S230中,在根据遮挡关系以及人脸模型对应的模糊遮罩图像,确定虚拟对象模型中各个模型区域的透明度之前,还包括:将人脸模型中的第一人脸特征点,沿第一人脸特征点所在模型平面所对应的法线进行预设幅度的移动,得到移动后的人脸模型;第一人脸特征点为人脸模型中视线向量与法线向量均满足第一预设条件的人脸特征点;获取移动后的人脸模型的深度信息以及虚拟对象模型的深度信息;对移动后的人脸模型的深度信息以及虚拟对象模型的深度信息进行对比,得到对比结果,根据对比结果确定人脸模型与虚拟对象模型之间的遮挡关系。
其中,人脸模型中视线向量与法线向量均满足第一预设条件的人脸特征点,是指人脸模型中法线向量与视线向量趋近于垂直的模型顶点;深度信息是指特征点与视觉参考点之间的距离,比如Z值。
举例说明,相对于利用人脸特征点来判断羽化区域的方案,可采取基于深度信息判断的替代方案,其步骤如下:在渲染羽化遮罩的场景中为人脸模型增加一个渲染通道,仅对法线向量与视线向量趋近于垂直的模型顶点做适量的沿法线挤出操作,这样可以在适当保证深度信息正确性的情况下,合理延伸模型在屏幕空间的像素覆盖范围,使得人脸的深度信息覆盖在羽化过渡的区域上;接着,将模型顶点挤出后的人脸模型深度传入着色器中,同样将人脸模型和虚拟对象模型的深度信息转为世界空间的深度距离,便可对通过深度值比对判断模型需要羽化的区域,即得到人脸模型与虚拟对象模型之间的遮挡关系。
本公开实施例提供的技术方案,提高了在空间前后判断上的准确率,从而提高了确定出的人脸模型与虚拟对象模型之间的遮挡关系的准确率。
在一示例性实施例中,待处理人脸图像为多个,则本公开的虚拟对象的处理方法还包括:获取多个待处理人脸图像的人脸模型的原点深度信息以及各个待处理人脸图像的虚拟对象模型的原点深度信息;人脸模型的原点为人脸模型的着色器中定义的本地空间的原点,虚拟对象模型的原点为虚拟对象模型的着色器中定义的本地空间的原点;根据各个待处理人脸图像的人脸模型的原点深度信息以及各个待处理人脸图像的虚拟对象模型的原点深度信息,确定各个虚拟对象模型之间的遮挡关系;根据各个虚拟对象模型之间的遮挡关系以及各个虚拟对象模型对应的人脸模型的模糊遮罩图像,确定各个虚拟对象模型中各个模型区域的透明度;根据透明度将各个虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到各个添加有对应的虚拟对象的目标人脸图像。
其中,人脸模型的原点和虚拟对象模型的原点,是指在人脸模型对应的着色器中定义一个本地空间的原点和在虚拟对象模型对应的着色器中定义一个本地空间的原点,可以是指x、y、z都为零的点;当然也可以根据实际情况进行调整。
举例说明,对于3D魔法表情多人脸识别的互动玩法需求,人脸与虚拟对象模型需要在场景中绘制多次;而传入shader的羽化纹理并不具备不同人脸的深度信息,因此不同人脸的虚拟对象模型在发生空间遮挡时,远处虚拟对象模型的羽化遮罩会消隐掉近处的虚拟对象模型。针对此问题,可在获取羽化遮罩的场景中对人脸模型增加一个渲染通道,用来获取深度信息。其中,人脸模型需沿法线方向进行一定程度的膨胀处理,即将模型的面沿法线方向向外推挤,以保证储存深度的像素可覆盖到羽化的过渡区域;接着,由于膨胀后的模型顶点的深度信息会有偏差,因此可转而输出人脸模型原点的深度信息来与虚拟对象模型的原点深度信息进行比对计算,此判断规则结果较稳定,且在视觉上处可接受范围内。
需要说明的是,分别在人脸模型和虚拟对象模型对应的着色器中定义一个本地空间的原点(也就是xyz都为零的点),并通过一系列矩阵转换得到人脸模型原点在屏幕空间的xyz位置,进而获得人脸模型原点的深度信息,用同样的方法可以获得虚拟对象模型原点的深度信息。
再举例说明,首先,将人脸模型原点的深度信息输出为颜色信息;然后,将羽化遮罩和深度信息分别放入R、G两个通道并存入rendertarget(渲染目标)中,其中仅对R通道做模糊的后处理,并将G通道的底色设为1(保证无模型像素填充的部分记为最远深度),通过colormask实现通道的混合。其中,图9(a)为羽化遮罩,图9(b)为人脸模型原点深度信息,图9(c)为通道混合结果。在该过程中,把最开始做模糊处理的黑白纹理图存在R通道中,把人脸模型原点的深度信息存储在B通道中,这样只用把一张rendertarget传到虚拟对象模型的shader中,就可以同时提取两个信息来进行计算了,避免了存储两张rendertarget,导致终端资源利用率下降的缺陷。最后,将其传入虚拟对象模型对应的着色器中,同样在着色器中获取虚拟对象模型原点的深度信息,将两者转换为世界空间的深度距离,并在前面得到的羽化结果基础上,再进行一次深度距离的判断操作;利用smoothstep对距离比对的计算结果进行了柔化过渡处理,并用max函数将处理得到的结果与之前得到的黑白羽化遮罩做一个混合,从而得到各个添加有对应的虚拟对象的目标人脸图像;最终效果对比如图10(a)和图10(b)所示,图10(a)为多人脸遮挡处理前的目标人脸图像,图10(b)为多人脸遮挡处理后的目标人脸图像。
具体来说,人脸模型的着色器中获得的原点深度信息通过rendertarget存成纹理图,并传入虚拟对象模型的着色器中,以与虚拟对象模型的原点深度信息进行对比;比如先将两者从0-1的归一化数值转化位实际距离深度,并将两者的深度进行相减,取相减后的结果的绝对值,对计算结果使用smoothstep函数,结果小于0.5则返回0,大于0.7则返回1,0.5-0.7做线性插值,即当人脸模型和特效模型深度距离小于0.5时,输出结果0,大于0.7时,输出结果1,0.5-0.7中间做插值;将上面的输出结果和前文中算出来的羽化遮罩信息使用max函数做计算,则得出来的结果的实际意义为:当人脸模型距离虚拟对象模型较远时,羽化失效;当人脸模型靠近虚拟对象模型时则有羽化效果。需要说明的是,0.5、0.7这些数值并不是绝对的,可以根据实际模型大小比例进行灵活调整。
本公开实施例提供的技术方案,通过比对膨胀处理后的人脸模型以及虚拟对象模型间原点的深度关系,解决了多人脸识别下羽化遮罩的遮挡、穿面问题,从而提高了多人脸场景下各个目标人脸图像上的虚拟对象与人脸边界轮廓的贴合效果。
在一示例性实施例中,根据各个待处理人脸图像的人脸模型的原点深度信息以及各个待处理人脸图像的虚拟对象模型的原点深度信息,确定各个虚拟对象模型之间的遮挡关系,包括:获取各个待处理人脸图像的人脸模型的原点深度信息与对应的虚拟对象模型的原点深度信息之间的第一距离以及各个待处理人脸图像的人脸模型的原点深度信息之间的第二距离;根据第一距离,确定各个待处理人脸图像的人脸模型与对应的虚拟对象模型之间的第一遮挡关系,根据第二距离,确定各个待处理人脸图像的人脸模型之间的第二遮挡关系;根据第一遮挡关系和第二遮挡关系,确定各个待处理人脸图像的虚拟对象模型之间的遮挡关系。
举例说明,通过矢量相减并求其模长的方法,可以得到各个待处理人脸图像的人脸模型的原点深度信息与对应的虚拟对象模型的原点深度信息之间的第一距离,进而确定各个待处理人脸图像的人脸模型与对应的虚拟对象模型之间的前后遮挡关系,作为第一遮挡关系;基于各个待处理人脸图像的人脸模型的原点深度信息之间的位置关系,可以得到各个待处理人脸图像的人脸模型的原点深度信息之间的第二距离,进而确定各个待处理人脸图像的人脸模型之间的遮挡关系,作为第二遮挡关系;最后,基于第一遮挡关系和第二遮挡关系,可以确定各个待处理人脸图像的虚拟对象模型之间的遮挡关系。
本公开实施例提供的技术方案,通过确定各个虚拟对象模型之间的遮挡关系,有利于后续根据各个虚拟对象模型之间的遮挡关系以及各个虚拟对象模型对应的人脸模型的模糊遮罩图像,确定各个虚拟对象模型中各个模型区域的透明度。
在一示例性实施例中,根据各个虚拟对象模型之间的遮挡关系以及各个虚拟对象模型对应的人脸模型的模糊遮罩图像,确定各个虚拟对象模型中各个模型区域的透明度,包括:获取各个虚拟对象模型对应的人脸模型的模糊遮罩图像;每个模糊遮罩图像中的各个图像区域标记有对应的透明度;根据各个虚拟对象模型之间的遮挡关系以及各个虚拟对象模型对应的人脸模型的模糊遮罩图像,确定各个虚拟对象模型中各个模型区域对应的模糊遮罩图像;分别根据各个虚拟对象模型对应的人脸模型的模糊遮罩图像中各个图像区域对应的透明度,确定各个虚拟对象模型中各个模型区域对应的模糊遮罩图像的透明度,对应作为各个虚拟对象模型中各个模型区域的透明度。
其中,确定各个虚拟对象模型中各个模型区域的透明度,与上述确定单个虚拟对象模型中各个模型区域的透明度的原理一样,在此不再具体赘述。
本公开实施例提供的技术方案,通过确定各个虚拟对象模型中各个模型区域的透明度,有利于后续根据透明度将各个虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到各个添加有对应的虚拟对象的待处理人脸图像,从而提高了多人脸场景下各个目标人脸图像上的虚拟对象与人脸边界轮廓的贴合效果。
在一示例性实施例中,根据透明度将各个虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到各个添加有对应的虚拟对象的目标人脸图像,包括:分别根据各个虚拟对象模型中各个模型区域的透明度,对应确定各个虚拟对象模型对应的虚拟对象的各个对象区域在对应的待处理人脸图像上的显示程度;根据显示程度,将各个虚拟对象模型对应的虚拟对象与待处理人脸图像进行相应的融合处理,得到各个添加有对应的虚拟对象的目标人脸图像。
例如,假设虚拟对象模型中某个模型区域的透明度为1,则对应的虚拟对象的对象区域在对应的待处理人脸图像上完全显示;若虚拟对象模型中某个模型区域的透明度为0,则对应的虚拟对象的对象区域在对应的待处理人脸图像上完全不显示;若虚拟对象模型中某个模型区域的透明度为0-1之间,则对应的虚拟对象的对象区域在对应的待处理人脸图像则为显隐过渡;参照此方法,可以得到各个虚拟对象模型对应的虚拟对象的各个对象区域在对应的待处理人脸图像上的显示程度;进而基于各个虚拟对象模型对应的虚拟对象的各个对象区域在对应的待处理人脸图像上的显示程度,将各个虚拟对象模型对应的虚拟对象的各个对象区域与对应的待处理人脸图像进行相应的融合处理,可以得到各个添加有对应的虚拟对象的目标人脸图像。
本公开实施例提供的技术方案,根据透明度将各个虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到各个添加有对应的虚拟对象的待处理人脸图像,有利于提高多人脸场景下各个目标人脸图像上的虚拟对象与人脸边界轮廓的贴合效果,避免了多人脸识别下羽化遮罩的遮挡、穿面问题。
在一示例性实施例中,本公开还提供了一种适用于设计师的参数调整方案,具体包括如下内容:
首先,制作一个利用输出颜色进行调试的着色器宏开关,关闭时模型渲染正常效果,开启时输出羽化相关的影响信息,用于方便设计师跟据色彩信息做灵活的参数调整。
其中,作为一个宏开关,若开启颜色调试,则红绿通道分别输出最终的羽化区域遮罩与深度覆盖区域,其中黑色区域为羽化过渡区,红色区域为深度模型像素范围。
接着,前文所提到的下巴、额头关键人脸特征点Y、Z轴(纵前向)的坐标信息,可以作为目标参数暴露出来给美术做调整使用,跟据不同的虚拟对象模型的形状特点来做合理的微调,可以较好地避免羽化区域过多或过少的问题;参考图11,以额头关键人脸特征点为例进行说明,图11(a)中的额头关键人脸特征点的位置过于靠后,图11(b)中的额头关键人脸特征点的位置过于靠前,图11(c)中的额头关键人脸特征点的位置适中。
然后,用于进行羽化处理的人脸遮罩模型也可以沿法线做顶点挤出或收缩操作,结合后处理着色器模糊程度的控制变量,将两者通过目标参数暴露出来,可让美术灵活调整羽化大小与范围;参考图12,以羽化强度为例进行说明,图12(a)为羽化强度调整前的虚拟对象模型,图12(b)为羽化强度调整后的虚拟对象模型。
最后,将计算深度信息的人脸模型的沿法线的挤出量参数暴露出来,跟据前面羽化参数的调整结果,保证其大小正好可以覆盖在羽化过渡区域的像素之内,保证深度相关计算的正确性。
本公开实施例提供的技术方案,能够为设计师提供直观化的调整参数,从而达到了快速编辑羽化消隐效果的目的。
图13是根据一示例性实施例示出的另一种虚拟对象的处理方法的流程图,如图13所示,虚拟对象的处理方法用于如图1所示的终端中,包括以下内容:
在单人脸识别场景中,在利用early-z对特效模型进行遮罩处理的基础上,通过在模型着色器中传入模糊处理后的人脸遮罩信息实现模型边界的柔和消隐,在此基础上通过抽象化的人脸关键点位置判定羽化区域;根据羽化区域,将虚拟对象模型与待处理人脸进行融合处理,得到融合在待处理人脸上的虚拟对象模型。在多人脸识别场景中,在利用early-z对特效模型进行遮罩处理的基础上,借助膨胀处理后的人脸模型的原点深度判断多人脸识别下的前后遮挡关系;根据前后遮挡关系,将各个虚拟对象模型与对应的待处理人脸进行相应的融合处理,得到融合在各个待处理人脸上的虚拟对象模型。
本公开实施例提供的技术方案,可以达到以下技术效果:(1)有效避免了人脸遮罩边界的折角感和硬切感,使边界过渡更加柔和自然,从而优化了3D魔法表情的视觉品质;(2)较符合人脸结构的羽化区域判定,在确保模型遮挡关系正确的同时实现边界羽化;(3)相关计算及判定规则较为简易且轻量,性能开销较小,适用于中低端机型用户的3D魔法表情体验。
应该理解的是,虽然图2、5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
图14是根据一示例性实施例示出的一种虚拟对象的处理装置的框图。参照图14,该装置包括模型获取单元1410,遮挡关系确定单元1420,透明度确定单元1430和虚拟对象融合单元1440。
模型获取单元1410,被配置为执行获取待处理人脸图像对应的人脸模型和虚拟对象模型;人脸模型标记有目标人脸特征点的位置信息;虚拟对象模型为用于添加在待处理人脸图像上的虚拟对象的对象模型,虚拟对象模型中标记有模型顶点的位置信息。
遮挡关系确定单元1420,被配置为执行根据目标人脸特征点的位置信息以及模型顶点的位置信息,确定人脸模型与虚拟对象模型之间的遮挡关系。
透明度确定单元1430,被配置为执行根据遮挡关系以及人脸模型对应的模糊遮罩图像,确定虚拟对象模型中各个模型区域的透明度;模糊遮罩图像为待处理人脸图像对应的经过模糊处理的遮罩纹理图像,遮罩纹理图像为包含有待处理人脸图像的人脸区域图像和背景区域图像的二值化图像,虚拟对象模型中位于人脸模型边界的模型区域的透明度满足预设条件。
虚拟对象融合单元1440,被配置为执行根据透明度将虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到添加有虚拟对象的目标人脸图像。
在一示例性实施例中,遮挡关系确定单元1420,还被配置为执行根据目标人脸特征点的位置信息以及模型顶点的位置信息,从目标人脸特征点中确定各个模型顶点对应的参考人脸特征点;分别获取各个模型顶点以及各个模型顶点对应的参考人脸特征点与视觉参考点之间的距离;根据距离,确定各个模型顶点与各个模型顶点对应的参考人脸特征点之间的位置关系;根据位置关系,确定人脸模型与虚拟对象模型之间的遮挡关系。
在一示例性实施例中,遮挡关系确定单元1420,还被配置为执行将目标人脸特征点的位置信息中的纵向位置信息与各个模型顶点的位置信息中的纵向位置信息进行对比,得到各个模型顶点与目标人脸特征点的纵向位置关系;根据纵向位置关系,确定各个模型顶点对应的权重;权重用于表征目标人脸特征点对模型顶点的参考程度;根据权重查询预设的权重与参考人脸特征点之间的对应关系,从目标人脸特征点中得到各个模型顶点对应的参考人脸特征点。
在一示例性实施例中,遮挡关系确定单元1420,还被配置为执行从各个模型顶点中,分别获取位置关系属于第一位置关系的第一模型顶点以及位置关系属于第二位置关系的第二模型顶点;第一位置关系用于表征相对于视觉参考点,位于对应的参考人脸特征点前面的模型顶点;第二位置关系用于表征相对于视觉参考点,位于对应的参考人脸特征点后面的模型顶点;根据第一模型顶点对应的集合区域以及第二模型顶点对应的集合区域,对应确定虚拟对象模型的第一模型区域以及第二模型区域;根据虚拟对象模型的第一模型区域以及第二模型区域,确定人脸模型与虚拟对象模型之间的遮挡关系。
在一示例性实施例中,透明度确定单元1430,还被配置为执行根据遮挡关系以及人脸模型的模糊遮罩图像,确定虚拟对象模型中各个模型区域对应的模糊遮罩图像;根据图像像素值与透明度的对应关系,确定人脸模型的模糊遮罩图像中各个图像区域对应的透明度;根据人脸模型的模糊遮罩图像中各个图像区域对应的透明度,确定虚拟对象模型中各个模型区域对应的模糊遮罩图像的透明度,并将虚拟对象模型中各个模型区域对应的模糊遮罩图像的透明度,作为虚拟对象模型中各个模型区域的透明度;其中,虚拟对象模型中位于人脸模型边界的模型区域对应的模糊遮罩图像的透明度大于第一透明度且小于第二透明度。
在一示例性实施例中,虚拟对象的处理装置还包括模糊遮罩图像获取单元,被配置为执行对待处理人脸图像进行二值化处理,得到包含有人脸区域图像和背景区域图像的二值化图像,作为待处理人脸图像的遮罩纹理图像;对待处理人脸图像的遮罩纹理图像进行模糊处理,得到人脸模型对应的模糊遮罩图像;模糊遮罩图像中的各个图像区域标记有对应的透明度,各个图像区域对应的透明度根据各个图像区域的像素值以及图像像素值与透明度的对应关系确定。
在一示例性实施例中,虚拟对象的处理装置还包括关系获取单元,被配置为执行将人脸模型中的第一人脸特征点,沿第一人脸特征点所在模型平面所对应的法线进行预设幅度的移动,得到移动后的人脸模型;第一人脸特征点为人脸模型中视线向量与法线向量均满足第一预设条件的人脸特征点;获取移动后的人脸模型的深度信息以及虚拟对象模型的深度信息;对移动后的人脸模型的深度信息以及虚拟对象模型的深度信息进行对比,得到对比结果,根据对比结果确定人脸模型与虚拟对象模型之间的遮挡关系。
在一示例性实施例中,待处理人脸图像为多个,虚拟对象的处理装置还包括融合处理单元,被配置为执行获取多个待处理人脸图像的人脸模型的原点深度信息以及各个待处理人脸图像的虚拟对象模型的原点深度信息;人脸模型的原点为人脸模型的着色器中定义的本地空间的原点,虚拟对象模型的原点为虚拟对象模型的着色器中定义的本地空间的原点;根据各个待处理人脸图像的人脸模型的原点深度信息以及各个待处理人脸图像的虚拟对象模型的原点深度信息,确定各个虚拟对象模型之间的遮挡关系;根据各个虚拟对象模型之间的遮挡关系以及各个虚拟对象模型对应的人脸模型的模糊遮罩图像,确定各个虚拟对象模型中各个模型区域的透明度;根据透明度将各个虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到各个添加有对应的虚拟对象的目标人脸图像。
在一示例性实施例中,融合处理单元,还被配置为执行获取各个待处理人脸图像的人脸模型的原点深度信息与对应的虚拟对象模型的原点深度信息之间的第一距离以及各个待处理人脸图像的人脸模型的原点深度信息之间的第二距离;根据第一距离,确定各个待处理人脸图像的人脸模型与对应的虚拟对象模型之间的第一遮挡关系,根据第二距离,确定各个待处理人脸图像的人脸模型之间的第二遮挡关系;根据第一遮挡关系和第二遮挡关系,确定各个待处理人脸图像的虚拟对象模型之间的遮挡关系。
在一示例性实施例中,融合处理单元,还被配置为执行获取各个虚拟对象模型对应的人脸模型的模糊遮罩图像;每个模糊遮罩图像中的各个图像区域标记有对应的透明度;根据各个虚拟对象模型之间的遮挡关系以及各个虚拟对象模型对应的人脸模型的模糊遮罩图像,确定各个虚拟对象模型中各个模型区域对应的模糊遮罩图像;分别根据各个虚拟对象模型对应的人脸模型的模糊遮罩图像中各个图像区域对应的透明度,确定各个虚拟对象模型中各个模型区域对应的模糊遮罩图像的透明度,对应作为各个虚拟对象模型中各个模型区域的透明度。
在一示例性实施例中,融合处理单元,还被配置为执行分别根据各个虚拟对象模型中各个模型区域的透明度,对应确定各个虚拟对象模型对应的虚拟对象的各个对象区域在对应的待处理人脸图像上的显示程度;根据显示程度,将各个虚拟对象模型对应的虚拟对象与待处理人脸图像进行相应的融合处理,得到各个添加有对应的虚拟对象的目标人脸图像。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图15是根据一示例性实施例示出的一种用于执行上述的虚拟对象的处理方法的电子设备1500的框图。例如,电子设备1500可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
参照图15,电子设备1500可以包括以下一个或多个组件:处理组件1502、存储器1504、电力组件1506、多媒体组件1508、音频组件1510、输入/输出(I/O)的接口1512、传感器组件1514以及通信组件1516。
处理组件1502通常控制电子设备1500的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件1502可以包括一个或多个处理器1520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1502可以包括一个或多个模块,便于处理组件1502和其他组件之间的交互。例如,处理组件1502可以包括多媒体模块,以方便多媒体组件1508和处理组件1502之间的交互。
存储器1504被配置为存储各种类型的数据以支持在电子设备1500的操作。这些数据的示例包括用于在电子设备1500上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器1504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘或光盘。
电源组件1506为电子设备1500的各种组件提供电力。电源组件1506可以包括电源管理***,一个或多个电源,及其他与为电子设备1500生成、管理和分配电力相关联的组件。
多媒体组件1508包括在所述电子设备1500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1508包括一个前置摄像头和/或后置摄像头。当电子设备1500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件1510被配置为输出和/或输入音频信号。例如,音频组件1510包括一个麦克风(MIC),当电子设备1500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1504或经由通信组件1516发送。在一些实施例中,音频组件1510还包括一个扬声器,用于输出音频信号。
I/O接口1512为处理组件1502和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1514包括一个或多个传感器,用于为电子设备1500提供各个方面的状态评估。例如,传感器组件1514可以检测到电子设备1500的打开/关闭状态,组件的相对定位,例如所述组件为电子设备1500的显示器和小键盘,传感器组件1514还可以检测电子设备1500或电子设备1500一个组件的位置改变,用户与电子设备1500接触的存在或不存在,电子设备1500方位或加速/减速和电子设备1500的温度变化。传感器组件1514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1514还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件1516被配置为便于电子设备1500和其他设备之间有线或无线方式的通信。电子设备1500可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件1516经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1504,上述指令可由电子设备1500的处理器1520执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,本公开还提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得电子设备执行本公开的任一项实施例中所述的虚拟对象的处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种虚拟对象的处理方法,其特征在于,包括:
获取待处理人脸图像对应的人脸模型和虚拟对象模型;所述人脸模型标记有目标人脸特征点的位置信息;所述虚拟对象模型为用于添加在所述待处理人脸图像上的虚拟对象的对象模型,所述虚拟对象模型中标记有模型顶点的位置信息;
根据所述目标人脸特征点的位置信息以及所述模型顶点的位置信息,确定所述人脸模型与所述虚拟对象模型之间的遮挡关系;
根据所述遮挡关系以及所述人脸模型对应的模糊遮罩图像,确定所述虚拟对象模型中各个模型区域的透明度;所述模糊遮罩图像为所述待处理人脸图像对应的经过模糊处理的遮罩纹理图像,所述遮罩纹理图像为包含有所述待处理人脸图像的人脸区域图像和背景区域图像的二值化图像,所述虚拟对象模型中位于所述人脸模型边界的模型区域的透明度满足预设条件;
根据所述透明度将所述虚拟对象模型对应的所述虚拟对象与所述待处理人脸图像进行融合处理,得到添加有所述虚拟对象的目标人脸图像。
2.根据权利要求1所述的虚拟对象的处理方法,其特征在于,所述根据所述目标人脸特征点的位置信息以及所述模型顶点的位置信息,确定所述人脸模型与所述虚拟对象模型之间的遮挡关系,包括:
根据所述目标人脸特征点的位置信息以及所述模型顶点的位置信息,从所述目标人脸特征点中确定各个所述模型顶点对应的参考人脸特征点;
分别获取各个所述模型顶点以及各个所述模型顶点对应的参考人脸特征点与视觉参考点之间的距离;
根据所述距离,确定各个所述模型顶点与各个所述模型顶点对应的参考人脸特征点之间的位置关系;
根据所述位置关系,确定所述人脸模型与所述虚拟对象模型之间的遮挡关系。
3.根据权利要求2所述的虚拟对象的处理方法,其特征在于,所述根据所述目标人脸特征点的位置信息以及所述模型顶点的位置信息,确定各个所述模型顶点对应的参考人脸特征点,包括:
将所述目标人脸特征点的位置信息中的纵向位置信息与各个所述模型顶点的位置信息中的纵向位置信息进行对比,得到各个所述模型顶点与所述目标人脸特征点的纵向位置关系;
根据所述纵向位置关系,确定各个所述模型顶点对应的权重;所述权重用于表征所述目标人脸特征点对所述模型顶点的参考程度;
根据所述权重查询预设的权重与参考人脸特征点之间的对应关系,从所述目标人脸特征点中得到各个所述模型顶点对应的参考人脸特征点。
4.根据权利要求2所述的虚拟对象的处理方法,其特征在于,所述根据所述位置关系,确定所述人脸模型与所述虚拟对象模型之间的遮挡关系,包括:
从各个所述模型顶点中,分别获取所述位置关系属于第一位置关系的第一模型顶点以及所述位置关系属于第二位置关系的第二模型顶点;所述第一位置关系用于表征相对于所述视觉参考点,位于对应的参考人脸特征点前面的模型顶点;所述第二位置关系用于表征相对于所述视觉参考点,位于对应的参考人脸特征点后面的模型顶点;
根据所述第一模型顶点对应的集合区域以及所述第二模型顶点对应的集合区域,对应确定所述虚拟对象模型的第一模型区域以及第二模型区域;
根据所述虚拟对象模型的第一模型区域以及第二模型区域,确定所述人脸模型与所述虚拟对象模型之间的遮挡关系。
5.根据权利要求1所述的虚拟对象的处理方法,其特征在于,所述根据所述遮挡关系以及所述人脸模型对应的模糊遮罩图像,确定所述虚拟对象模型中各个模型区域的透明度,包括:
根据所述遮挡关系以及所述人脸模型的模糊遮罩图像,确定所述虚拟对象模型中各个模型区域对应的模糊遮罩图像;
根据图像像素值与透明度的对应关系,确定所述人脸模型的模糊遮罩图像中各个图像区域对应的透明度;
根据所述人脸模型的模糊遮罩图像中各个图像区域对应的透明度,确定所述虚拟对象模型中各个模型区域对应的模糊遮罩图像的透明度,并将所述虚拟对象模型中各个模型区域对应的模糊遮罩图像的透明度,作为所述虚拟对象模型中各个模型区域的透明度;其中,所述虚拟对象模型中位于所述人脸模型边界的模型区域对应的模糊遮罩图像的透明度大于第一透明度且小于第二透明度。
6.根据权利要求1至5任一项所述的虚拟对象的处理方法,其特征在于,在根据所述遮挡关系以及所述人脸模型对应的模糊遮罩图像,确定所述虚拟对象模型中各个模型区域的透明度之前,还包括:
将所述人脸模型中的第一人脸特征点,沿所述第一人脸特征点所在模型平面所对应的法线进行预设幅度的移动,得到移动后的人脸模型;所述第一人脸特征点为所述人脸模型中视线向量与法线向量均满足第一预设条件的人脸特征点;
获取所述移动后的人脸模型的深度信息以及所述虚拟对象模型的深度信息;
对所述移动后的人脸模型的深度信息以及所述虚拟对象模型的深度信息进行对比,得到对比结果,根据所述对比结果确定所述人脸模型与所述虚拟对象模型之间的遮挡关系。
7.根据权利要求1至5任一项所述的虚拟对象的处理方法,其特征在于,所述待处理人脸图像为多个,所述方法还包括:
获取多个待处理人脸图像的人脸模型的原点深度信息以及各个所述待处理人脸图像的虚拟对象模型的原点深度信息;所述人脸模型的原点为所述人脸模型的着色器中定义的本地空间的原点,所述虚拟对象模型的原点为所述虚拟对象模型的着色器中定义的本地空间的原点;
根据各个所述待处理人脸图像的人脸模型的原点深度信息以及各个所述待处理人脸图像的虚拟对象模型的原点深度信息,确定各个所述虚拟对象模型之间的遮挡关系;
根据各个所述虚拟对象模型之间的遮挡关系以及各个所述虚拟对象模型对应的人脸模型的模糊遮罩图像,确定各个所述虚拟对象模型中各个模型区域的透明度;
根据所述透明度将各个所述虚拟对象模型对应的虚拟对象与待处理人脸图像进行融合处理,得到各个添加有对应的虚拟对象的目标人脸图像。
8.一种虚拟对象的处理装置,其特征在于,包括:
模型获取单元,被配置为执行获取待处理人脸图像对应的人脸模型和虚拟对象模型;所述人脸模型标记有目标人脸特征点的位置信息;所述虚拟对象模型为用于添加在所述待处理人脸图像上的虚拟对象的对象模型,所述虚拟对象模型中标记有模型顶点的位置信息;
遮挡关系确定单元,被配置为执行根据所述目标人脸特征点的位置信息以及所述模型顶点的位置信息,确定所述人脸模型与所述虚拟对象模型之间的遮挡关系;
透明度确定单元,被配置为执行根据所述遮挡关系以及所述人脸模型对应的模糊遮罩图像,确定所述虚拟对象模型中各个模型区域的透明度;所述模糊遮罩图像为所述待处理人脸图像对应的经过模糊处理的遮罩纹理图像,所述遮罩纹理图像为包含有所述待处理人脸图像的人脸区域图像和背景区域图像的二值化图像,所述虚拟对象模型中位于所述人脸模型边界的模型区域的透明度满足预设条件;
虚拟对象融合单元,被配置为执行根据所述透明度将所述虚拟对象模型对应的所述虚拟对象与所述待处理人脸图像进行融合处理,得到添加有所述虚拟对象的目标人脸图像。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的虚拟对象的处理方法。
10.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7中任一项所述的虚拟对象的处理方法。
CN202011166759.9A 2020-10-27 2020-10-27 虚拟对象的处理方法、装置、电子设备及存储介质 Active CN112348841B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011166759.9A CN112348841B (zh) 2020-10-27 2020-10-27 虚拟对象的处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011166759.9A CN112348841B (zh) 2020-10-27 2020-10-27 虚拟对象的处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112348841A true CN112348841A (zh) 2021-02-09
CN112348841B CN112348841B (zh) 2022-01-25

Family

ID=74358781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011166759.9A Active CN112348841B (zh) 2020-10-27 2020-10-27 虚拟对象的处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112348841B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339448A (zh) * 2021-12-31 2022-04-12 深圳万兴软件有限公司 光束视频特效的制作方法、装置、计算机设备及存储介质
CN115170740A (zh) * 2022-07-22 2022-10-11 北京字跳网络技术有限公司 特效处理方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404392A (zh) * 2015-11-03 2016-03-16 北京英梅吉科技有限公司 基于单目摄像头的虚拟穿戴方法及***
CN107358643A (zh) * 2017-07-04 2017-11-17 网易(杭州)网络有限公司 图像处理方法、装置、电子设备及存储介质
CN110738732A (zh) * 2019-10-24 2020-01-31 重庆灵翎互娱科技有限公司 一种三维人脸模型的生成方法和设备
CN110827195A (zh) * 2019-10-31 2020-02-21 北京达佳互联信息技术有限公司 虚拟物品添加方法、装置、电子设备及存储介质
US20200090392A1 (en) * 2018-09-19 2020-03-19 XRSpace CO., LTD. Method of Facial Expression Generation with Data Fusion
CN110929651A (zh) * 2019-11-25 2020-03-27 北京达佳互联信息技术有限公司 图像处理方法、装置、电子设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404392A (zh) * 2015-11-03 2016-03-16 北京英梅吉科技有限公司 基于单目摄像头的虚拟穿戴方法及***
CN107358643A (zh) * 2017-07-04 2017-11-17 网易(杭州)网络有限公司 图像处理方法、装置、电子设备及存储介质
US20200090392A1 (en) * 2018-09-19 2020-03-19 XRSpace CO., LTD. Method of Facial Expression Generation with Data Fusion
CN110738732A (zh) * 2019-10-24 2020-01-31 重庆灵翎互娱科技有限公司 一种三维人脸模型的生成方法和设备
CN110827195A (zh) * 2019-10-31 2020-02-21 北京达佳互联信息技术有限公司 虚拟物品添加方法、装置、电子设备及存储介质
CN110929651A (zh) * 2019-11-25 2020-03-27 北京达佳互联信息技术有限公司 图像处理方法、装置、电子设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339448A (zh) * 2021-12-31 2022-04-12 深圳万兴软件有限公司 光束视频特效的制作方法、装置、计算机设备及存储介质
CN114339448B (zh) * 2021-12-31 2024-02-13 深圳万兴软件有限公司 光束视频特效的制作方法、装置、计算机设备及存储介质
CN115170740A (zh) * 2022-07-22 2022-10-11 北京字跳网络技术有限公司 特效处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112348841B (zh) 2022-01-25

Similar Documents

Publication Publication Date Title
CN110675310B (zh) 视频处理方法、装置、电子设备及存储介质
CN108986199B (zh) 虚拟模型处理方法、装置、电子设备及存储介质
CN109672830B (zh) 图像处理方法、装置、电子设备及存储介质
CN112348841B (zh) 虚拟对象的处理方法、装置、电子设备及存储介质
CN112017222A (zh) 视频全景拼接与三维融合方法及装置
CN112614228B (zh) 三维网格的简化方法、装置、电子设备和存储介质
CN113888392A (zh) 一种图像渲染方法、装置、电子设备及存储介质
US20220076437A1 (en) Method for Emulating Defocus of Sharp Rendered Images
US20210118148A1 (en) Method and electronic device for changing faces of facial image
CN114125320A (zh) 一种图像特效的生成方法及装置
CN110580677A (zh) 一种数据处理方法、装置和用于数据处理的装置
US7006102B2 (en) Method and apparatus for generating models of individuals
CN113160099B (zh) 人脸融合方法、装置、电子设备、存储介质及程序产品
CN114140568A (zh) 图像处理方法、装置、电子设备及存储介质
CN111383166A (zh) 处理待显示图像的方法及装置、电子设备、可读存储介质
CN109934168B (zh) 人脸图像映射方法及装置
CN113450431A (zh) 虚拟头发染色方法、装置、电子设备及存储介质
CN114339029B (zh) 拍摄方法、装置及电子设备
EP3848894B1 (en) Method and device for segmenting image, and storage medium
US20220270337A1 (en) Three-dimensional (3d) human modeling under specific body-fitting of clothes
CN113706430A (zh) 一种图像处理方法、装置和用于图像处理的装置
CN113552942A (zh) 一种基于光照强度显示虚拟对象的方法及设备
CN112614227A (zh) 图像特效的实现方法、装置、电子设备及存储介质
CN114390189A (zh) 图像处理方法、装置、存储介质及移动终端
EP4150560B1 (en) Single image 3d photography with soft-layering and depth-aware inpainting

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