CN111652791B - 人脸的替换显示、直播方法、装置、电子设备和存储介质 - Google Patents
人脸的替换显示、直播方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111652791B CN111652791B CN201910563071.5A CN201910563071A CN111652791B CN 111652791 B CN111652791 B CN 111652791B CN 201910563071 A CN201910563071 A CN 201910563071A CN 111652791 B CN111652791 B CN 111652791B
- Authority
- CN
- China
- Prior art keywords
- image data
- face
- grid
- texture
- face key
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000006243 chemical reaction Methods 0.000 claims description 24
- 238000009877 rendering Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 4
- 239000000758 substrate Substances 0.000 claims 2
- 238000012545 processing Methods 0.000 abstract description 22
- 238000013135 deep learning Methods 0.000 abstract description 7
- 238000013528 artificial neural network Methods 0.000 abstract description 5
- 239000012634 fragment Substances 0.000 description 24
- 238000001514 detection method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 239000000872 buffer Substances 0.000 description 16
- 238000013527 convolutional neural network Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 210000004709 eyebrow Anatomy 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 210000001508 eye Anatomy 0.000 description 3
- 210000001331 nose Anatomy 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004984 smart glass Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 210000000214 mouth Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 210000000697 sensory organ Anatomy 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- 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/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- 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/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- 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)
- Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例公开了一种人脸的替换显示、直播方法、装置、电子设备和存储介质。人脸的替换显示方法包括:获取第一图像数据与第二图像数据,将所述第一图像数据划分为多个第一网格,所述第一网格的第一顶点为所述第一人脸数据的第一人脸关键点;将所述第二图像数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述第二人脸数据的第二人脸关键点;在所述第二图像数据中,将所述第二网格的纹理转换为所述第一网格的纹理;绘制转换纹理之后的第二网格,以显示所述第二图像数据。第二网格的绘制及其调整相比于神经网络等深度学习更为简单,可提高处理速度、减少处理时间,适用于直播等对实时性要求较高的场景。
Description
技术领域
本发明实施例涉及图像处理的技术,尤其涉及一种人脸的替换显示、直播方法、装置、电子设备和存储介质。
背景技术
随着社会的发展,诸如手机、平板电脑等电子设备已经广泛应用在学习、娱乐、工作等方面,扮演着越来越重要的角色。
在很多电子设备中配置有摄像头,可用于拍照、录像、直播等操作。
在AR(Augmented Reality,增强现实)、制作表情等应用中,使用神经网络等深度学习识别当前用户的人脸状态,从而替换为另一个人脸的人脸状态。
但是,深度学习复杂度高,处理速度慢,处理时间较长,在直播等对实时性要求较高的场景中,性能存在瓶颈。
发明内容
本发明实施例提供一种人脸的替换显示、直播方法、装置、电子设备和存储介质,以解决使用深度学习替换人脸显示处理速度慢、处理时间较长的问题。
第一方面,本发明实施例提供了一种人脸的替换显示方法,包括:
获取第一图像数据与第二图像数据,所述第一图像数据中具有第一人脸数据,所述第二图像数据中具有第二人脸数据;
将所述第一图像数据划分为多个第一网格,所述第一网格的第一顶点为所述第一人脸数据的第一人脸关键点;
将所述第二图像数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述第二人脸数据的第二人脸关键点;
在所述第二图像数据中,将所述第二网格的纹理转换为所述第一网格的纹理;
绘制转换纹理之后的第二网格,以显示所述第二图像数据。
第二方面,本发明实施例还提供了一种直播方法,包括:
获取第一图像数据与视频数据,所述第一图像数据中具有第一人脸数据,所述视频数据中包括多帧第二图像数据,所述第二图像数据中具有第二人脸数据;
将所述第一图像数据划分为多个第一网格,所述第一网格的第一顶点为所述第一人脸数据的第一人脸关键点;
将所述视频数据的每帧第二图像数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述第二人脸数据的第二人脸关键点;
在所述视频数据的每帧第二图像数据中,依次将所述第二网格的纹理转换为所述第一网格的纹理;
依次绘制转换纹理之后的第二网格,以显示所述视频数据中的第二图像数据;
在直播间发布所述视频数据。
第三方面,本发明实施例还提供了一种人脸的替换显示装置,包括:
图像数据获取模块,用于获取第一图像数据与第二图像数据,所述第一图像数据中具有第一人脸数据,所述第二图像数据中具有第二人脸数据;
第一网格划分模块,用于将所述第一图像数据划分为多个第一网格,所述第一网格的第一顶点为所述第一人脸数据的第一人脸关键点;
第二网格划分模块,用于将所述第二图像数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述第二人脸数据的第二人脸关键点;
纹理转换模块,用于在所述第二图像数据中,将所述第二网格的纹理转换为所述第一网格的纹理;
网格绘制模块,用于绘制转换纹理之后的第二网格,以显示所述第二图像数据。
第四方面,本发明实施例还提供了一种直播装置,包括:
数据采集模块,用于获取第一图像数据与视频数据,所述第一图像数据中具有第一人脸数据,所述视频数据中包括多帧第二图像数据,所述第二图像数据中具有第二人脸数据;
第一网格划分模块,用于将所述第一图像数据划分为多个第一网格,所述第一网格的第一顶点为所述第一人脸数据的第一人脸关键点;
第二网格划分模块,用于将所述视频数据的每帧第二图像数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述第二人脸数据的第二人脸关键点;
纹理转换模块,用于在所述视频数据的每帧第二图像数据中,依次将所述第二网格的纹理转换为所述第一网格的纹理;
网格绘制模块,用于依次绘制转换纹理之后的第二网格,以显示所述视频数据中的第二图像数据;
视频直播模块,用于在直播间发布所述视频数据。
第五方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的人脸的替换显示方法或如第二方面所述的直播方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的人脸的替换显示方法或如第二方面所述的直播方法。
在本发明实施例中,将第一图像数据划分为多个第一网格,将第二图像数据划分为多个第二网格,在第二图像数据中,将第二网格的纹理转换为第一网格的纹理,绘制转换纹理之后的第二网格,以显示第二图像数据,在对人脸关键点进行调整时,可连同调整网格,网格内的像素点的调整较为均匀,使得人脸数据的调整更加平滑,减少变形的情况,避免人脸失真,在此情况下,第二网格可同时用于人脸调整、渲染操作,复用划分网格的操作,可降低运算量,并且,第二网格的绘制及其调整相比于神经网络等深度学习更为简单,可提高处理速度、减少处理时间,适用于直播等对实时性要求较高的场景。
附图说明
图1为本发明实施例一提供的一种人脸的替换显示方法的流程图;
图2A至图2C为本发明实施例一提供的一种人脸关键点的示例图;
图3A至图3C为本发明实施例一提供的一种网格顺序的示例图;
图4为本发明实施例一提供的一种相邻人脸关键点的示例图;
图5为本发明实施例一提供的一种维诺图的示例图;
图6为本发明实施例一提供的一种网格的示例图;
图7A至图7C为本发明实施例一提供的一种人脸替换的示例图;
图8是本发明实施例二提供的一种直播方法的流程图;
图9为本发明实施例三提供的一种人脸的替换显示装置的结构示意图;
图10为本发明实施例四提供的一种直播装置的结构示意图;
图11为本发明实施例五提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种人脸的替换显示方法的流程图,本实施例可适用于基于人脸关键点构建网格、基于网格替换人脸的情况,该方法可以由人脸的替换显示装置来执行,该装置可以由软件和/或硬件实现,可配置在电子设备中,可以包括手机、平板、PDA(personal digital assistant,个人数字助理)、智能穿戴设备(如智能眼镜、智能手表)等移动终端,也可以包括智能电视、个人电脑等非移动终端,这些电子设备包括CPU(Central Processing Unit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)等处理器,以及配置有用于渲染2D矢量图形的应用程序编程接口(API)或渲染引擎,如OpenGL(Open Graphics Library,开放图形库)、OpenGL ES(OpenGL for EmbeddedSystems,用于嵌入式系统的OpenGL)、Metal、Valkan、U3D、UE4等等,该方法具体包括如下步骤:
S101、获取第一图像数据与第二图像数据。
在具体实现中,电子设备的操作系统可以包括Android(安卓)、IOS、Windows等等。
在这些操作系统中支持运行可进行图像处理的应用,如直播应用、图像编辑应用、相机应用、即时通讯工具、图库应用,等等。
诸如图像编辑应用、即时通讯工具、图库应用等应用,其UI(User Interface,用户界面)可提供导入的控件,用户可通过触控或鼠标等外设操作该导入的控件,选择本地存储的图像数据(以缩略图或路径表示),也可以选择网络存储的图像数据(以URL(UniformResource Locators,统一资源定位器)表示),使得应用获取该图像数据,作为第一图像数据、第二图像数据。
诸如直播应用、图像编辑应用、相机应用、即时通讯工具等应用,其UI可提供拍照、录像的控件,用户可通过触控或鼠标等外设操作该拍照、录像的控件,通知应用调用摄像头采集图像数据,作为第一图像数据、第二图像数据。
S102、将所述第一图像数据划分为多个第一网格。
第一图像数据中具有第一人脸数据,所谓第一人脸数据,可以指第一图像数据中用于表示人脸的像素点。
当然,第一图像数据除了第一人脸数据之外,还可能存在其他背景数据,对于背景数据,可以设置其纹理透明,使得无需考虑背景数据的纹理的拉伸等情况,降低处理量。
在本发明实施例中,应用对该第一图像数据进行人脸检测,识别该第一人脸数据中包含的第一人脸关键点。
其中,人脸检测也称为人脸关键点检测、定位或者人脸对齐,是指给定人脸数据,定位出人脸面部的关键区域位置,包括眉毛、眼睛、鼻子、嘴巴、脸部轮廓等等。
人脸检测通常使用如下方法:
1、利用人工提取特征,如haar特征,使用特征训练分类器,使用分类器进行人脸检测。
2、从通用的目标检测算法中继承人脸检测,例如,利用Faster R-CNN来检测人脸。
3、使用级联结构的卷积神经网络,例如,Cascade CNN(级联卷积神经网络),MTCNN(Multi-task Cascaded Convolutional Networks,多任务卷积神经网络)。
在具体实现中,这些实现人脸检测的方法可以集成在应用的模块中,应用可直接调用该模块检测图像数据中的人脸关键点,这些实现人脸检测的方法也可以集成在SDK(Software Development Kit,软件开发工具包),该SDK作为应用的组装数据,应用可请求SDK对图像数据进行人脸检测,SDK检测到第一图像数据中的第一人脸关键点,并将第一人脸关键点返回应用。
需要说明的是,第一人脸关键点的数量,可以由本领域技术人员根据实际情况设置,对于静态的图像处理,实时性要求较低,可以检测较为稠密的第一人脸关键点,如1000个,除了能定位人脸重要特征点之外,还能准确的描述出五官的轮廓;对于直播等,实时性要求较高,可以检测较为稀疏的第一人脸关键点,如68、81、106个,定位人脸上比较明显且重要的特征点(如眼睛关键点、眉毛关键点、鼻子关键点、嘴巴关键点、轮廓关键点等),以降低处理量、减少处理时间,等等,本发明实施例对此不加以限制。
为使本领域技术人员更好地理解本发明实施例,在本发明实施例中,以较为稀疏的第一人脸关键点作为一种示例进行说明。
例如,对图2A所示的第一图像数据进行人脸检测,可以输出如图2B的68个第一人脸关键点。
第一网格(Mesh),代表单个的可绘制实体,其第一顶点为第一人脸关键点,即以第一人脸关键点作为第一网格的第一顶点,将第一图像数据进行网格化,划分为多个(两个及两个以上)第一网格。
所谓网格化,是将凹多边形或有边相交的多边形划分成凸多边形,如三角形,以便被OpenGL等API或渲染引擎渲染。
需要说明的是,第一网格之间是有序的,从而形成网格序列,使得符合OpenGL等API或渲染引擎的渲染规范。
例如,对于OpenGL,一般情况下有三种绘制一系列三角形(网格):
1、GL_TRIANGLES
每三个点一组画一个三角形,三角形之间是独立的。
如图3A所示,第一个三角形使用顶点v0、v1、v2,第二个三角形使用顶点v3、v4、v5,以此类推。
2、GL_TRIANGLE_STRIP
从第三个点开始,每点与前面的两个点组合画一个三角形,即线性连续三角形串:
如图3B所示,第一个三角形,顶点排列顺序是v0,v1,v2;第二个三角形,顶点排列顺序是v2,v1,v3;第三个三角形,顶点排列顺序是v2,v3,v4;第四个三角形,顶点排列顺序是v4,v3,v8。
这个顺序是为了保证三角形按照相同的方向绘制的,使这个三角形的序列能够正确形成表面的一部分。
3、GL_TRIANGLE_FAN。
从第三个点开始,每点与前一个点和第一个点组合画一个三角形,即扇形连续三角形。
如图3C所示,第一个三角形的顶点排列顺序是v2,v1,v0,第二个三角形的顶点排列顺序是v3,v2,v0,第一个三角形的顶点排列顺序是v4,v3,v0。
在本发明的一个实施例中,S102可以包括如下步骤:
S1021、确定位置相邻的第一人脸关键点,作为第一目标关键点。
S1022、在所述第一图像数据中以所述第一目标关键点作为第一顶点、连接所述第一目标关键点,获得第一网格。
在本发明实施例中,对于位置相邻的两个第一人脸关键点,可作为一对第一目标关键点,依次以第一目标关键点作为第一网格的第一顶点、连接该对第一目标关键点,则可以生成第一网格。
在一种检测位置相邻的方式中,可通过定义法(Intersect of Halfplanes)、增量(incremental)算法、分治法、plane sweep算法等方式,将包含第一人脸关键点的第一图像数据转换为第一维诺图(Voronoi图)。
第一维诺图,又称泰森多边形或Dirichlet图,它包括一组由连接两邻点直线的垂直平分线组成的连续多边形(又称单元cell)。
在第一维诺图中,任意两个第一人脸关键点p和q之间的欧氏距离,记作dist(p,q)。
设P={p1,p2,…,pn}为平面上任意n个互异的第一人脸关键点,这些第一人脸关键点也就是基点。所谓P对应的Voronoi图,就是平面的一个子区域划分——整个平面因此被划分为n个单元,它们具有这样的性质:
任一第一人脸关键q位于第一人脸关键pi所对应的单元中,当且仅当对于任何的pj∈Pj,j≠i,都有dist(q,pi)<dist(q,pj)。此时,将与P对应的Voronoi图记作Vor(P)。
“Vor(P)”或者“Voronoi图”所指示是组成该子区域划分的边和顶点。在Vor(P)中,与基点pi相对应的单元记作V(pi)——称作与pi相对应的Voronoi单元。
在本发明实施例中,第一维诺图包括多个第一单元,每个第一单元包含一个第一人脸关键点,该第一单元具有多条第一边,此时,可确定位于同一条第一边两侧的第一人脸关键点位置相邻,将位于同一条边两侧的第一人脸关键点连接,则可生成第一网格。
例如,参见图4,将第一图像数据中转换为第一维诺图,图4显示了部分第一人脸关键点(黑点)和部分第一单元的边(实线)。
其中,在第一单元400中,第一边401两侧的第一人脸关键点411与第一人脸关键点412相邻,可连接第一人脸关键点411与第一人脸关键点412,同理,连接第一人脸关键点411与第一人脸关键点413,以及,连接第一人脸关键点413与第一人脸关键点412,从而生成第一网格(虚线边)420。
进一步地,图2B所示的第一图像数据,包含68个第一人脸关键点,可转换为如图5所示的第一维诺图,从而确定位置相邻的第一人脸关键点,按照既定的顺序连接位置相邻的第一人脸关键点,可获得如图6所示的第一网格。
在本发明的又一个实施例中,第一网格的第一顶点包括第一人脸关键点、该第一人脸关键点的第一编号是在人脸检测时生成的,或者,基于人脸检测时生成的编号映射获得。
例如,若图2C所示的图像数据为第一图像数据,其第一人脸关键点共68个,情况如下:
轮廓关键点共17个,第一编号分别为1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17。
眉毛关键点共10个,第一编号分别为18、19、20、21、22、23、24、25、26、27。
鼻子关键点共9个,第一编号分别为28、29、30、31、32、33、34、35、36。
眼睛关键点共12个,第一编号分别为37、38、39、40、41、42、43、44、45、46、47、48。
嘴巴关键点共20个,第一编号分别为49、50、51、52、53、54、55、56、57、58、59、60、61、62、63、64、65、66、67、68。
此时,S102可以包括如下步骤:
S1023、查询预设的、且具有顺序的网格变量。
其中,每个网格变量中的顶点标记有第三编号。
S1024、若所述第一编号与所述第三编号相同,则在所述第一图像数据中以所述第一编号所属的第一人脸关键点作为第一顶点、连接所述第一编号所属的第一人脸关键点,获得第一网格。
因为人脸检测的方法是预先设定的,其输出的第一人脸关键点一般是固定的,使得与每个第一人脸关键点位置相邻的第一人脸关键点是固定的,即每个第一网格中第一顶点的顺序是固定的。
因此,可在首次(离线)将某帧第一图像数据按照某一方式划分为多个第一网格时,按照顺序记录每个第一网格中每个第一顶点(第一人脸关键点)的编号,作为第三编号,此时,每个第一网格保留第一顶点的第三编号,作为网格变量。
对于其他(实时)第一图像数据,若按照相同的方式划分为第一网格,则可以将其第一人脸关键点的第一编号与网格变量的第三编号进行匹配,若两者相同,则可以按照网格变量中限定的顺序连接第一编号所表示的第一人脸关键点,从而将该第一图像数据划分为多个第一网格。
例如,如图2C所示,网格变量可以表示为(28,32,29)、(29,32,30)、(30,32,31),等等。
对于图2B所示的第一图像数据,第一编号为28、29、32的第一人脸关键点,与其中一个网格变量中的第三编号匹配成功,则可以按照其顺序连接第一人脸关键点,从而组成一个第一网格(28,32,29)。
S103、将所述第二图像数据划分为多个第二网格。
第二图像数据中具有第二人脸数据,所谓第二人脸数据,可以指第二图像数据中用于表示人脸的像素点。
在本发明实施例中,应用对该第二图像数据进行人脸检测,识别该第二人脸数据中包含的第二人脸关键点。
需要说明的是,第二图像数据与第一图像数据进行人脸识别的方式一致,保证第二人脸关键点与第一人脸关键点的保持一致。
第二网格(Mesh),代表单个的可绘制实体,其第二顶点至少包括第二人脸关键点,即以第二人脸关键点作为第二网格的至少部分第二顶点,将第二图像数据进行网格化,划分为多个(两个及两个以上)第二网格。
在本发明的一个实施例中,S103包括:
S1031、确定位置相邻的第二人脸关键点,作为第二目标关键点;
S1032、在所述第二图像数据中以所述第二目标关键点作为第二顶点、连接所述第二目标关键点,获得第二网格。
进一步地,所述确定位置相邻的第二人脸关键点,作为第二目标关键点,包括:
将所述第二图像数据转换为第二维诺图,所述第二维诺图包括多个第二单元,每个所述第二单元包含一个第二人脸关键点,所述第二单元具有多条第二边;
确定位于同一条第二边两侧的第二人脸关键点位置相邻。
在本发明实施例中,第二网格的划分方式与第一网格的划分方式保持一致,所以第二网格的划分方式描述的比较简单,相关之处参见第一网格的划分方式的部分说明即可,本发明实施例在此不加以详述。
在本发明的另一个实施例中,S103包括:
S1033、确定位于所述第二图像数据边缘上的点,作为边缘点。
S1034、确定与所述边缘点位置相邻的第二人脸关键点,作为第三目标关键点。
S1035、在所述第二图像数据中以所述边缘点、所述第三目标关键点作为第二顶点、连接所述边缘点与所述第三目标关键点,获得第二网格。
第二人脸关键点组成的第二网格一般不能完全覆盖第二图像数据,此时,可在第二图像数据边缘上选取一些点,作为边缘点。
需要说明的是,为了方便运算,选取的边缘点对称。
例如,若图6所示的图像数据为第二图像数据,则可以选择第二图像数据的四个顶点、以及、每两个顶点之间的中点作为边缘点。
将边缘点及其相邻的第二人脸关键点作为一对第三目标关键点,依次以第三目标关键点作为第二网格的第二顶点、按照顺序连接该对第三目标关键点,则可以生成第二网格。
需要说明的是,边缘点与第二人脸关键点位置相邻的关系,可由本领域技术人员根据实际情况进行设置,本发明实施例对此不加以限制。
一般而言,第二人脸关键点中的眉毛关键点、轮廓关键点与边缘点相邻,边缘点的数量少于与其位置相邻的第二人脸关键点的数量。
例如,若图2B所示的图像数据为第二图像数据,包含68个第二人脸关键点、8个边缘点,25个第二人脸关键点与8个边缘点位置相邻,按照既定的顺序连接位置相邻的第二人脸关键点、边缘点,可获得如图6所示的第二网格。
需要说明的是,第二网格的第二顶点可同时包括第二人脸关键点、边缘点,与每个第二人脸关键点、每个边缘点位置相邻的点(可以是第二人脸关键点,也可以是边缘点)均已确定,此时,可按照既定的顺序连接各第二人脸关键点、边缘点,从而生成第二网格。
在本发明的又一个实施例中,第二网格的第二顶点包括第二人脸关键点、位于第二图像数据边上的边缘点,边缘点与第二人脸关键点具有第二编号,其中,边缘点的第二编号是预设的,第二人脸关键点的第二编号是在人脸检测时生成的,或者,基于人脸检测时生成的编号映射获得,并且、边缘点的第二编号与第二人脸关键点的第二编号互不重复。
例如,若图2C所示的图像数据为第二图像数据,除了68个第二人脸关键点之外,边缘点共8个,第一编号分别为69、70、71、72、73、74、75、76。
此时,S103包括:
S1036、查询预设的、且具有顺序的网格变量。
其中,每个网格变量中的顶点标记有第三编号;
S1037、若所述第二编号与所述第三编号相同,则在所述第二图像数据中以所述第二编号所属的边缘点或第二人脸关键点作为第二顶点、连接所述第二编号所属的第二边缘点或第二人脸关键点,获得第二网格。
因为人脸检测的方法是预先设定的,其输出的第二人脸关键点一般是固定的,并且,边缘点也一般是固定的,使得与每个第二人脸关键点、每个边缘点位置相邻的点(可以是第二人脸关键点,也可以是边缘点)均是固定的,即每个第二网格中第二顶点的顺序是固定的。
因此,可在首次(离线)将某帧第二图像数据按照某一方式划分为多个第二网格时,按照顺序记录每个第二网格中每个第二顶点(可以是第二人脸关键点,也可以是边缘点)的编号,作为第三编号,此时,每个第二网格保留第二顶点的第三编号,作为网格变量。
对于其他(实时)第二图像数据,若按照相同的方式划分为第二网格,则可以将其点(可以是第二人脸关键点,也可以是边缘点)的第二编号与网格变量的第三编号进行匹配,若两者相同,则可以按照网格变量中限定的顺序连接第二编号所表示的点(可以是第二人脸关键点,也可以是边缘点),从而将该第二图像数据划分为多个第二网格。
例如,若如图2C所示的图像数据为第二图像数据,网格变量可以表示为(1,76,2)、(2,76,3)、(3,76,4)、(4,76,5),等等。
对于图2B所示的第二图像数据,第二编号为1、2的第二人脸关键点以及第二编号为76的边缘点,与其中一个网格变量中的第三编号匹配成功,则可以按照其顺序连接第二人脸关键点、边缘点,从而组成一个第二网格(1,76,2)。
S104、在所述第二图像数据中,将所述第二网格的纹理转换为所述第一网格的纹理。
纹理是一种反映图像中同质现象的视觉特征,它体现了物体表面的具有缓慢变化或者周期性变化的表面结构组织排列属性。纹理具有三大标志:
某种局部序列性不断重复;
非随机排列;
纹理区域内大致为均匀的统一体。
纹理体现全局特征的性质的同时,它也描述了图像或图像区域所对应景物的表面性质。但由于纹理只是一种物体表面的特性,并不能完全反映出物体的本质属性,所以仅仅利用纹理特征是无法获得高层次图像内容的。与颜色特征不同,纹理特征不是基于像素点的特征,它需要在包含多个像素点的区域中进行统计计算。在模式匹配中,这种区域性的特征具有较大的优越性,不会由于局部的偏差而无法匹配成功。
在第二图像数据中,将第二网格的纹理转换为第一网格的纹理,使得第二图像数据中的第二人脸数据具有第一人脸数据的特性,实现换脸的效果。
例如,如图7A所示的第二图像数据中第二人脸数据(以第二网格表示),其纹理替换为如图7B所示的第一图像数据中的第一人脸数据(以第一网格表示)的纹理,可获得如图7C所示的第二图像数据,其第二人脸数据的特性转换为第一人脸数据的特性。
在本发明的一个实施例中,S104包括:
S1041、调整所述第一人脸关键点,以使所述第一网格对齐所述第二网格。
在本发明实施例中,由于第一人脸数据与第二人脸数据并不一定吻合,则可以以第二人脸数据的第二人脸关键点为准,对第一人脸数据的第一人脸关键点进行调整,使得第一人脸关键点对齐第二人脸关键点。
在保持第一人脸关键点作为第一网格的第一顶点的情况下,调整第一人脸关键点,可连同调整第一网格,以对齐第二网格,使得第一网格内的人脸数据与第二人脸数据的轮廓大致相同。
进一步而言,所谓对齐,可以指确定第一人脸关键点的顶点坐标,确定第二人脸关键点的顶点坐标,对于具有同一个编号的第一人脸关键点与第二人脸关键点(即第一人脸关键点的第一编号与第二人脸关键点的第二编号相同),将该第二人脸关键点的顶点坐标赋值给该第一人脸关键点的顶点坐标,使得第一人脸关键点的顶点坐标与第二人脸关键点的顶点坐标相同。
S1042、确定所述第一网格中各个人脸关键点的第一纹理坐标。
S1043、确定所述第二网格中各个人脸关键点的第二纹理坐标。
纹理图像是方形数组,纹理坐标通常可定义成一、二、三或四维形式,称为s,t,r和q坐标,一维纹理常用s坐标表示,二维纹理常用(s,t)坐标表示,目前忽略r坐标。q坐标像w一样,一般情况下其值为1,主要用于建立齐次坐标。OpenGL坐标定义的函数是:
void gltexCoord{1234}{sifd}[v](TYPE coords);
设置当前纹理坐标,此后调用glVertex*()所产生的顶点都赋予当前的纹理坐标。对于gltexCoord1*(),s坐标被设置成给定值,t和r设置为0,q设置为1;用gltexCoord2*()可以设置s和t坐标值,r设置为0,q设置为1;对于gltexCoord3*(),q设置为1,其它坐标按给定值设置;用gltexCoord4*()可以给定所有的坐标。
S1044、将所述第一人脸关键点的纹理坐标赋值给所述第二人脸关键点的纹理坐标。
在具体实现中,对于具有同一个编号的第一人脸关键点与第二人脸关键点(即第一人脸关键点的第一编号与第二人脸关键点的第二编号相同),将该第一人脸关键点的纹理坐标赋值给该第二人脸关键点的纹理坐标,使得第二人脸关键点的纹理坐标与第一人脸关键点的纹理坐标相同。
即第一人脸关键点的纹理坐标与第二人脸数据的顶点坐标进行绑定。
S105、绘制转换纹理之后的第二网格,以显示所述第二图像数据。
在具体实现中,调用用于渲染2D矢量图形的API或渲染引擎,按照顺序绘制每个第二网格,从而在屏幕显示第二图像数据,即可显示第二图像数据中第二人脸数据随第一人脸数据纹理发生的变化。
进一步地,为了提高第二图像数据的显示速度,可以在GPU中绘制第二网格。
在本发明的一个实施例中,S105包括:
S1051、对于每个第二网格,确定位于所述第二网格中各个第二顶点的纹理坐标。
S1052、对于每个第二网格,确定位于所述第二网格中各个第二顶点的顶点坐标。
S1053、按照所述纹理坐标与所述顶点坐标绘制所述第二网格,以显示所述第二图像数据。
在绘制纹理映射场景时,除了给每个顶点定义几何坐标(即顶点坐标),也要定义纹理坐标。经过多种变换后,几何坐标决定顶点在屏幕上绘制的位置,而纹理坐标决定纹理图像中的哪一个纹素赋予该顶点。
在本发明实施例中,以OpenGL ES作为示例讲解绘制网格的流程,此流程为可编程管线,具体包括如下操作:
1、VBO/VAO(Vertex Buffer/Arrays Objects,顶点缓冲区对象或顶点数组对象)
VBO/VAO是CPU提供给GPU的顶点信息,包括了顶点坐标、颜色(只是顶点的颜色,和纹理的颜色无关)、纹理坐标(用于纹理贴图)等。
2、VertexShader(顶点着色器)
顶点着色器是处理VBO/VAO提供的顶点信息的程序。VBO/VAO提供的每个顶点都执行一遍顶点着色器。Uniforms(一种变量类型)在每个顶点保持一致,Attribute每个顶点都不同(可以理解为输入顶点属性)。执行一次VertexShader输出一个Varying(可变变量)和gl_positon。
其中,顶点着色器的输入包括:
2.1、着色器程序:描述顶点上执行操作的顶点着色器程序源代码或者可执行文件
2.2、顶点着色器输入(或者属性):用顶点数组提供的每个顶点的数据
2.3、统一变量(uniform):顶点/片段着色器使用的不变数据
2.4、采样器(Samplers):代表顶点着色器使用纹理的特殊统一变量类型
其中,VertexShader就是顶点着色器编程可以操作的阶段,用于控制顶点坐标的转换过程,片段着色器控制着每个像素颜色的计算过程。
3、Primitive Assembly(图元装配):
顶点着色器下一个阶段是图元装配,图元(prmitive)是三角形、直线或者点等几何对象。这个阶段,把顶点着色器输出的顶点组合成图元。
将顶点数据根据Primitive(原始链接关系)还原出网格结构,网格由顶点和索引组成,在此阶段根据索引将顶点链接在一起,组成点、线、面三种不同的图元,之后就是对超出屏幕的三角形进行剪裁。
例如,某个三角形(网格)三个顶点其中一个点在屏幕的外面,另外两个点在屏幕里面,其实屏幕上看到的应该是个四边形,则可以将这个四边形切成2个小的三角形(网格)。
简而言之,将顶点着色器计算之后得到的点根据链接关系组成点、线、面(三角形)。
4、rasterization(光栅化)
光栅化是将图元转化为一组二维片段的过程,然后,这些片段由片段着色器处理(片段着色器的输入)。这些二维片段代表着可在屏幕上绘制的像素,用于从分配给每个图元顶点的顶点着色器输出生成每个片段值的机制称作插值。
图元装配后顶点可以理解成变为图形,光栅化时可以根据图形的形状,插值出那个图形区域的像素(纹理坐标v_texCoord、颜色等信息)。注意,此时的像素并不是屏幕上的像素,是不带有颜色的。接下来的片段着色器完成上色的工作。
5、FragmentShader(片段着色器)
片段着色器为片段(像素)上的操作实现了通用的可编程方法,光栅化输出的每个片段都执行一遍片段着色器,对光栅化阶段生成每个片段执行这个着色器,生成一个或多个(多重渲染)颜色值作为输出。
6、Per-Fragment Operations(逐片段操作)
在该阶段,每个片段都会执行下面的5个操作:
6.1、pixelOwnershipTest(像素归属测试)
确定帧缓冲区中位置(x,y)的像素是不是归当前上下文所有。
例如,如果一个显示帧缓冲区窗口被另一个窗口所遮蔽,则窗口系统可以确定被遮蔽的像素不属于此OpenGL的上下文,从而不显示这些像素。
6.2、ScissorTest(剪裁测试):
如果该片段位于剪裁区域外,则被抛弃。
6.3、StencilTest and DepthTest(模板和深度测试):
若片段着色器返回的形状不是模板中的形状,则舍弃。
若片段着色器返回的深度小于缓冲区中的深度,则舍弃。
6.4、Blending(混合):
将新生成的片段颜色值与保存在帧缓冲区的颜色值组合起来,产生新的RGBA(Red(红色)、Green(绿色)、Blue(蓝色)和Alpha的色彩空间)。
6.5、dithering(抖动):
在逐片段操作阶段的最后,片段要么被拒绝,要么在帧缓冲区(x,y)的某个位置写入片段的颜色,深度或者模板值。写入片段颜色,深度和模板值取决于弃用的相应写入掩码。写入掩码可以更精确的控制写入相关缓冲区的颜色、深度和模板值。例如:可以设置颜色缓冲区的写入掩码,使得任何红色值都不能被写入颜色缓冲区。
最后把产生的片段放到帧缓冲区(前缓冲区或后缓冲区或FBO(Frame BufferObject,帧缓冲对象))中,若不是FBO,则屏幕绘制缓冲区中的片段,产生屏幕上的像素。
在本发明实施例中,将第一图像数据划分为多个第一网格,将第二图像数据划分为多个第二网格,在第二图像数据中,将第二网格的纹理转换为第一网格的纹理,绘制转换纹理之后的第二网格,以显示第二图像数据,在对人脸关键点进行调整时,可连同调整网格,网格内的像素点的调整较为均匀,使得人脸数据的调整更加平滑,减少变形的情况,避免人脸失真,在此情况下,第二网格可同时用于人脸调整、渲染操作,复用划分网格的操作,可降低运算量,并且,第二网格的绘制及其调整相比于神经网络等深度学习更为简单,可提高处理速度、减少处理时间,适用于直播等对实时性要求较高的场景。
实施例二
图8为本发明实施例二提供的一种直播方法的流程图,本实施例可适用于基于人脸关键点构建网格、从而替换人脸进行直播的情况,该方法可以由直播装置来执行,该装置可以由软件和/或硬件实现,可配置在电子设备中,可以包括手机、平板、PDA、智能穿戴设备(如智能眼镜、智能手表)等移动终端,也可以包括智能电视、个人电脑等非移动终端,这些电子设备包括CPU、GPU等处理器,以及配置有用于渲染2D矢量图形的应用程序编程接口(API)或渲染引擎,OpenGL、OpenGL ES等等,该方法具体包括如下步骤:
S801、获取第一图像数据与视频数据。
在具体实现中,电子设备的操作系统可以包括Android(安卓)、IOS、Windows等等。
在这些操作系统中支持运行直播应用,该直播应用可进行图像处理。
需要说明的是,该直播应用可以为独立的应用,也可以为其他应用(如社交应用、即时通讯工具等)中的一个组件,如SDK,本发明实施例对此不加以限制。
主播用户在直播应用中向直播平台登录用户账号,并向直播平台发送直播标题,以按照该直播标题对该用户账号生成直播间。
一方面,该直播应用可调用电子设备的摄像头采集视频数据,该视频数据中包括多帧第二图像数据,至少部分图像数据中具有主播用户。
另一方面,主播用户在在该直播应用中指定一帧图像数据,作为第一图像数据。
S802、将所述第一图像数据划分为多个第一网格。
第一图像数据中具有第一人脸数据,第一网格的第一顶点为第一人脸数据的第一人脸关键点。
在本发明的一个实施例中,S802包括:
确定位置相邻的第一人脸关键点,作为第一目标关键点;
在所述第一图像数据中以所述第一目标关键点作为第一顶点、连接所述第一目标关键点,获得第一网格。
进一步地,所述确定位置相邻的第一人脸关键点,作为第一目标关键点,包括:
将所述第一图像数据转换为第一维诺图,所述第一维诺图包括多个第一单元,每个所述第一单元包含一个第一人脸关键点,所述第一单元具有多条第一边;
确定位于同一条第一边两侧的第一人脸关键点位置相邻。
在实际应用中,第一人脸关键点具有第一编号,S802包括:
查询预设的、且具有顺序的网格变量,每个所述网格变量中的顶点标记有第三编号;
若所述第一编号与所述第三编号相同,则在所述第一图像数据中以所述第一编号所属的第一人脸关键点作为第一顶点、连接所述第一编号所属的第一人脸关键点,获得第一网格。
在本发明实施例中,由于第一网格的划分方式与实施例一的应用基本相似,所以描述的比较简单,相关之处参见实施例一的部分说明即可,本发明实施例在此不加以详述。
S803、将所述视频数据的每帧第二图像数据划分为多个第二网格。
视频数据中包括多帧第二图像数据,第二图像数据中具有第二人脸数据,第二网格的第二顶点至少包括第二人脸数据的第二人脸关键点。
在本发明的一个实施例中,S803包括:
确定位置相邻的第二人脸关键点,作为第二目标关键点;
在所述第二图像数据中以所述第二目标关键点作为第二顶点、连接所述第二目标关键点,获得第二网格。
进一步,将所述第二图像数据转换为第二维诺图,所述第二维诺图包括多个第二单元,每个所述第二单元包含一个第二人脸关键点,所述第二单元具有多条第二边;
确定位于同一条第二边两侧的第二人脸关键点位置相邻。
在本发明的另一个实施例中,S803包括:
确定位于所述第二图像数据边缘上的点,作为边缘点;
确定与所述边缘点位置相邻的第二人脸关键点,作为第三目标关键点;
在所述第二图像数据中以所述边缘点、所述第三目标关键点作为第二顶点、连接所述边缘点与所述第三目标关键点,获得第二网格。
在实际应用中,第二网格的第二顶点还包括位于第二图像数据边上的边缘点,边缘点与第二人脸关键点具有第二编号;
此时,S803包括:
查询预设的、且具有顺序的网格变量,每个所述网格变量中的顶点标记有第三编号;
若所述第二编号与所述第三编号相同,则在所述第二图像数据中以所述第二编号所属的边缘点或第二人脸关键点作为第二顶点、连接所述第二编号所属的第二边缘点或第二人脸关键点,获得第二网格。
在本发明实施例中,由于第二网格的划分方式与实施例一的应用基本相似,所以描述的比较简单,相关之处参见实施例一的部分说明即可,本发明实施例在此不加以详述。
S804、在所述视频数据的每帧第二图像数据中,依次将所述第二网格的纹理转换为所述第一网格的纹理。
在具体实现中,S804包括:
确定所述第一网格中各个第一人脸关键点的纹理坐标;
确定所述第二网格中各个第二人脸关键点的纹理坐标;
将所述第一人脸关键点的纹理坐标赋值给所述第二人脸关键点的纹理坐标。
进一步地,S804还包括:
调整所述第一人脸关键点,以使所述第一网格对齐所述第二网格。
在本发明实施例中,由于纹理特征的替换与实施例一的应用基本相似,所以描述的比较简单,相关之处参见实施例一的部分说明即可,本发明实施例在此不加以详述。
S805、依次绘制转换纹理之后的第二网格,以显示所述视频数据中的第二图像数据。
在实际应用中,调用OpenGL、OpenGL ES等API或渲染引擎,在播放视频数据时,按照顺序绘制每个第二网格,帧率可达FPS30以上,适用于直播。
绘制第二网格之后,屏幕显示替换主播用户的人脸(第二人脸数据)之后的第二图像数据,实现直播(视频数据)的本地回显,以供主播用户浏览当前的直播状态。
在具体实现中,S805包括:
对于每个第二网格,确定位于所述第二网格中各个第二顶点的纹理坐标;
对于每个第二网格,确定位于所述第二网格中各个第二顶点的顶点坐标;
按照所述纹理坐标与所述顶点坐标绘制所述第二网格,以显示所述视频数据中的第二图像数据。
S806、在直播间发布所述视频数据。
直播应用可通过RTSP(Real Time Streaming Protocol,实时流传输协议)、RTMP(Real Time Messaging Protocol,实时消息传输协议)、HLS(HTTP Live Streaming,动态码率自适应技术)等协议,将视频数据发送至直播平台(直播服务器),直播平台(直播服务器)公开该直播间,使得观众用户可以在客户端中打开直播间,接收该视频数据并进行播放,显示替换主播用户的面部之后的第二图像数据。
在本发明实施例中,指定第一图像数据,以及,采集视频数据,分别将第一图像数据划分为多个第一网格、将视频数据的每帧第二图像数据划分为多个第二网格,在视频数据的每帧第二图像数据中,依次将第二网格的纹理转换为第一网格的纹理,依次绘制转换纹理之后的第二网格,以显示视频数据中的第二图像数据,并在直播间发布调整面部之后的视频数据,使得主播用户可在本地浏览直播的效果,在直播间发布视频数据,在对人脸关键点进行调整时,可连同调整网格,网格内的像素点的调整较为均匀,使得人脸数据的调整更加平滑,减少变形的情况,避免人脸失真,在此情况下,第二网格可同时用于人脸调整、渲染操作,复用划分网格的操作,可降低运算量,并且,第二网格的绘制及其调整相比于神经网络等深度学习更为简单,可提高处理速度、减少处理时间,可保证实时性,适用于直播。
实施例三
图9为本发明实施例三提供的一种人脸的替换显示装置的结构示意图,该装置具体可以包括如下模块:
图像数据获取模块901,用于获取第一图像数据与第二图像数据,所述第一图像数据中具有第一人脸数据,所述第二图像数据中具有第二人脸数据;
第一网格划分模块902,用于将所述第一图像数据划分为多个第一网格,所述第一网格的第一顶点为所述第一人脸数据的第一人脸关键点;
第二网格划分模块903,用于将所述第二图像数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述第二人脸数据的第二人脸关键点;
纹理转换模块904,用于在所述第二图像数据中,将所述第二网格的纹理转换为所述第一网格的纹理;
网格绘制模块905,用于绘制转换纹理之后的第二网格,以显示所述第二图像数据。
在本发明的一个实施例中,所述纹理转换模块904包括:
第一纹理坐标确定子模块,用于确定所述第一网格中各个第一人脸关键点的纹理坐标;
第二纹理坐标确定子模块,用于确定所述第二网格中各个第二人脸关键点的纹理坐标;
纹理坐标赋值子模块,用于将所述第一人脸关键点的纹理坐标赋值给所述第二人脸关键点的纹理坐标。
在本发明的另一个实施例中,所述纹理转换模块904还包括:
人脸关键点对齐子模块,用于调整所述第一人脸关键点,以使所述第一网格对齐所述第二网格。
进一步地,所述人脸关键点对齐子模块还用于:
确定所述第一人脸关键点的顶点坐标;
确定所述第二人脸关键点的顶点坐标;
将所述第二人脸关键点的顶点坐标赋值给所述第一人脸关键点的顶点坐标。
在本发明的一个实施例中,所述第一网格划分模块902包括:
第一目标关键点确定子模块,用于确定位置相邻的第一人脸关键点,作为第一目标关键点;
第一连接子模块,用于在所述第一图像数据中以所述第一目标关键点作为第一顶点、连接所述第一目标关键点,获得第一网格;
所述第二网格划分模块903包括:
第二目标关键点确定子模块,用于确定位置相邻的第二人脸关键点,作为第二目标关键点;
第二连接子模块,用于在所述第二图像数据中以所述第二目标关键点作为第二顶点、连接所述第二目标关键点,获得第二网格。
在本发明的一个实施例中,所述第一目标关键点确定子模块包括:
第一维诺图转换单元,用于将所述第一图像数据转换为第一维诺图,所述第一维诺图包括多个第一单元,每个所述第一单元包含一个第一人脸关键点,所述第一单元具有多条第一边;
第一位置相邻确定单元,用于确定位于同一条第一边两侧的第一人脸关键点位置相邻;
所述第二目标关键点确定子模块包括:
第二维诺图转换单元,用于将所述第二图像数据转换为第二维诺图,所述第二维诺图包括多个第二单元,每个所述第二单元包含一个第二人脸关键点,所述第二单元具有多条第二边;
第二位置相邻确定单元,用于确定位于同一条第二边两侧的第二人脸关键点位置相邻。
在本发明的另一个实施例中,所述第二网格划分模块903包括:
边缘点确定子模块,用于确定位于所述第二图像数据边缘上的点,作为边缘点;
第三目标关键点确定子模块,用于确定与所述边缘点位置相邻的第二人脸关键点,作为第三目标关键点;
第三连接子模块,用于在所述第二图像数据中以所述边缘点、所述第三目标关键点作为第二顶点、连接所述边缘点与所述第三目标关键点,获得第二网格。
在本发明的又一个实施例中,所述第一人脸关键点具有第一编号;
所述第二网格的第二顶点还包括位于所述第二图像数据边上的边缘点,所述边缘点与所述第二人脸关键点具有第二编号;
所述第一网格划分模块902包括:
第一网格变量查找子模块,用于查询预设的、且具有顺序的网格变量,每个所述网格变量中的顶点标记有第三编号;
第四连接子模块,用于若所述第一编号与所述第三编号相同,则在所述第一图像数据中以所述第一编号所属的第一人脸关键点作为第一顶点、连接所述第一编号所属的第一人脸关键点,获得第一网格;
所述第二网格划分模块903包括:
第二网格变量查找子模块,用于查询预设的、且具有顺序的网格变量,每个所述网格变量中的顶点标记有第三编号;
第五连接子模块,用于若所述第二编号与所述第三编号相同,则在所述第二图像数据中以所述第二编号所属的边缘点或第二人脸关键点作为第二顶点、连接所述第二编号所属的第二边缘点或第二人脸关键点,获得第二网格。
在本发明的一个实施例中,所述网格绘制模块905包括:
纹理坐标确定子模块,用于对于每个第二网格,确定位于所述第二网格中各个第二顶点的纹理坐标;
顶点坐标确定子模块,用于对于每个第二网格,确定位于所述第二网格中各个第二顶点的顶点坐标;
坐标绘制子模块,用于按照所述纹理坐标与所述顶点坐标绘制所述第二网格,以显示所述第二图像数据。
本发明实施例所提供的人脸的替换显示装置可执行本发明任意实施例所提供的人脸的替换显示方法,具备执行方法相应的功能模块和有益效果。
实施例四
图10为本发明实施例三提供的一种直播装置的结构示意图,该装置具体可以包括如下模块:
数据采集模块1001,用于获取第一图像数据与视频数据,所述第一图像数据中具有第一人脸数据,所述视频数据中包括多帧第二图像数据,所述第二图像数据中具有第二人脸数据;
第一网格划分模块1002,用于将所述第一图像数据划分为多个第一网格,所述第一网格的第一顶点为所述第一人脸数据的第一人脸关键点;
第二网格划分模块1003,用于将所述视频数据的每帧第二图像数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述第二人脸数据的第二人脸关键点;
纹理转换模块1004,用于在所述视频数据的每帧第二图像数据中,依次将所述第二网格的纹理转换为所述第一网格的纹理;
网格绘制模块1005,用于依次绘制转换纹理之后的第二网格,以显示所述视频数据中的第二图像数据;
视频直播模块1006,用于在直播间发布所述视频数据。
在本发明的一个实施例中,所述纹理转换模块1004包括:
第一纹理坐标确定子模块,用于确定所述第一网格中各个第一人脸关键点的纹理坐标;
第二纹理坐标确定子模块,用于确定所述第二网格中各个第二人脸关键点的纹理坐标;
纹理坐标赋值子模块,用于将所述第一人脸关键点的纹理坐标赋值给所述第二人脸关键点的纹理坐标。
在本发明的另一个实施例中,所述纹理转换模块1004还包括:
人脸关键点对齐子模块,用于调整所述第一人脸关键点,以使所述第一网格对齐所述第二网格。
进一步地,所述人脸关键点对齐子模块还用于:
确定所述第一人脸关键点的顶点坐标;
确定所述第二人脸关键点的顶点坐标;
将所述第二人脸关键点的顶点坐标赋值给所述第一人脸关键点的顶点坐标。
在本发明的一个实施例中,所述第一网格划分模块1002包括:
第一目标关键点确定子模块,用于确定位置相邻的第一人脸关键点,作为第一目标关键点;
第一连接子模块,用于在所述第一图像数据中以所述第一目标关键点作为第一顶点、连接所述第一目标关键点,获得第一网格;
所述第二网格划分模块1003包括:
第二目标关键点确定子模块,用于确定位置相邻的第二人脸关键点,作为第二目标关键点;
第二连接子模块,用于在所述第二图像数据中以所述第二目标关键点作为第二顶点、连接所述第二目标关键点,获得第二网格。
在本发明的一个实施例中,所述第一目标关键点确定子模块包括:
第一维诺图转换单元,用于将所述第一图像数据转换为第一维诺图,所述第一维诺图包括多个第一单元,每个所述第一单元包含一个第一人脸关键点,所述第一单元具有多条第一边;
第一位置相邻确定单元,用于确定位于同一条第一边两侧的第一人脸关键点位置相邻;
所述第二目标关键点确定子模块包括:
第二维诺图转换单元,用于将所述第二图像数据转换为第二维诺图,所述第二维诺图包括多个第二单元,每个所述第二单元包含一个第二人脸关键点,所述第二单元具有多条第二边;
第二位置相邻确定单元,用于确定位于同一条第二边两侧的第二人脸关键点位置相邻。
在本发明的另一个实施例中,所述第二网格划分模块903包括:
边缘点确定子模块,用于确定位于所述第二图像数据边缘上的点,作为边缘点;
第三目标关键点确定子模块,用于确定与所述边缘点位置相邻的第二人脸关键点,作为第三目标关键点;
第三连接子模块,用于在所述第二图像数据中以所述边缘点、所述第三目标关键点作为第二顶点、连接所述边缘点与所述第三目标关键点,获得第二网格。
在本发明的又一个实施例中,所述第一人脸关键点具有第一编号;
所述第二网格的第二顶点还包括位于所述第二图像数据边上的边缘点,所述边缘点与所述第二人脸关键点具有第二编号;
所述第一网格划分模块1002包括:
第一网格变量查找子模块,用于查询预设的、且具有顺序的网格变量,每个所述网格变量中的顶点标记有第三编号;
第四连接子模块,用于若所述第一编号与所述第三编号相同,则在所述第一图像数据中以所述第一编号所属的第一人脸关键点作为第一顶点、连接所述第一编号所属的第一人脸关键点,获得第一网格;
所述第二网格划分模块1003包括:
第二网格变量查找子模块,用于查询预设的、且具有顺序的网格变量,每个所述网格变量中的顶点标记有第三编号;
第五连接子模块,用于若所述第二编号与所述第三编号相同,则在所述第二图像数据中以所述第二编号所属的边缘点或第二人脸关键点作为第二顶点、连接所述第二编号所属的第二边缘点或第二人脸关键点,获得第二网格。
在本发明的一个实施例中,所述网格绘制模块1005包括:
纹理坐标确定子模块,用于对于每个第二网格,确定位于所述第二网格中各个第二顶点的纹理坐标;
顶点坐标确定子模块,用于对于每个第二网格,确定位于所述第二网格中各个第二顶点的顶点坐标;
坐标绘制子模块,用于按照所述纹理坐标与所述顶点坐标绘制所述第二网格,以显示所述视频数据中的第二图像数据。
本发明实施例所提供的直播装置可执行本发明任意实施例所提供的直播方法,具备执行方法相应的功能模块和有益效果。
实施例五
图11为本发明实施例五提供的一种电子设备的结构示意图。如图11所示,该电子设备包括处理器1100、存储器1101、通信模块1102、输入装置1103和输出装置1104;电子设备中处理器1100的数量可以是一个或多个,图11中以一个处理器1100为例;电子设备中的处理器1100、存储器1101、通信模块1102、输入装置1103和输出装置1104可以通过总线或其他方式连接,图11中以通过总线连接为例。
存储器1101作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的人脸的替换显示方法对应的模块(例如,如图9所示的人脸的替换显示装置中的图像数据获取模块901、第一网格划分模块902、第二网格划分模块903、纹理转换模块904)或者直播方法对应的模块(例如,如图10所示的直播装置中的数据采集模块1001、第一网格划分模块1002、第二网格划分模块1003、纹理转换模块1004、网格绘制模块1005、视频直播模块1006)。处理器1100通过运行存储在存储器1101中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的人脸的替换显示方法或直播方法。
存储器1101可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器1101可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器1101可进一步包括相对于处理器1100远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信模块1102,用于与显示屏建立连接,并实现与显示屏的数据交互。输入装置1103可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。
本实施例提供的一种电子设备,可执行本发明任一实施例提供的人脸的替换显示方法或直播方法,具体相应的功能和有益效果。
实施例六
本发明实施例六还提供一种计算机可读存储介质,其上存储有计算机程序。
在一种情况中,该程序被处理器执行时实现一种人脸的替换显示方法,该方法包括:
获取第一图像数据与第二图像数据,所述第一图像数据中具有第一人脸数据,所述第二图像数据中具有第二人脸数据;
将所述第一图像数据划分为多个第一网格,所述第一网格的第一顶点为所述第一人脸数据的第一人脸关键点;
将所述第二图像数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述第二人脸数据的第二人脸关键点;
在所述第二图像数据中,将所述第二网格的纹理转换为所述第一网格的纹理;
绘制转换纹理之后的第二网格,以显示所述第二图像数据。
在另一种情况中,该程序被处理器执行时实现一种直播方法,该方法包括:
获取第一图像数据与视频数据,所述第一图像数据中具有第一人脸数据,所述视频数据中包括多帧第二图像数据,所述第二图像数据中具有第二人脸数据;
将所述第一图像数据划分为多个第一网格,所述第一网格的第一顶点为所述第一人脸数据的第一人脸关键点;
将所述视频数据的每帧第二图像数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述第二人脸数据的第二人脸关键点;
在所述视频数据的每帧第二图像数据中,依次将所述第二网格的纹理转换为所述第一网格的纹理;
依次绘制转换纹理之后的第二网格,以显示所述视频数据中的第二图像数据;
在直播间发布所述视频数据。
当然,本发明实施例所提供的计算机可读存储介质,其计算机程序不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的人脸的替换显示方法或直播方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述人脸的替换显示装置或直播装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种人脸的替换显示方法,其特征在于,包括:
获取第一图像数据与第二图像数据,所述第一图像数据中具有第一人脸数据,所述第二图像数据中具有第二人脸数据;
将所述第一图像数据划分为多个第一网格,所述第一网格的第一顶点为所述第一人脸数据的第一人脸关键点;
将所述第二图像数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述第二人脸数据的第二人脸关键点;
在所述第二图像数据中,将所述第二网格的纹理转换为所述第一网格的纹理,包括:
确定所述第一网格中各个第一人脸关键点的纹理坐标;
确定所述第二网格中各个第二人脸关键点的纹理坐标;
将所述第一人脸关键点的纹理坐标赋值给所述第二人脸关键点的纹理坐标;
绘制转换纹理之后的第二网格,以显示所述第二图像数据。
2.根据权利要求1所述的方法,其特征在于,所述在所述第二图像数据中,将所述第二网格的纹理转换为所述第一网格的纹理,还包括:
调整所述第一人脸关键点,以使所述第一网格对齐所述第二网格。
3.根据权利要求1所述的方法,其特征在于,
所述将所述第一图像数据划分为多个第一网格,包括:
确定位置相邻的第一人脸关键点,作为第一目标关键点;
在所述第一图像数据中以所述第一目标关键点作为第一顶点、连接所述第一目标关键点,获得第一网格;
所述将所述第二图像数据划分为多个第二网格,包括:
确定位置相邻的第二人脸关键点,作为第二目标关键点;
在所述第二图像数据中以所述第二目标关键点作为第二顶点、连接所述第二目标关键点,获得第二网格。
4.根据权利要求3所述的方法,其特征在于,
所述确定位置相邻的第一人脸关键点,作为第一目标关键点,包括:
将所述第一图像数据转换为第一维诺图,所述第一维诺图包括多个第一单元,每个所述第一单元包含一个第一人脸关键点,所述第一单元具有多条第一边;
确定位于同一条第一边两侧的第一人脸关键点位置相邻;
所述确定位置相邻的第二人脸关键点,作为第二目标关键点,包括:
将所述第二图像数据转换为第二维诺图,所述第二维诺图包括多个第二单元,每个所述第二单元包含一个第二人脸关键点,所述第二单元具有多条第二边;
确定位于同一条第二边两侧的第二人脸关键点位置相邻。
5.根据权利要求1所述的方法,其特征在于,所述将所述第二图像数据划分为多个第二网格,包括:
确定位于所述第二图像数据边缘上的点,作为边缘点;
确定与所述边缘点位置相邻的第二人脸关键点,作为第三目标关键点;
在所述第二图像数据中以所述边缘点、所述第三目标关键点作为第二顶点、连接所述边缘点与所述第三目标关键点,获得第二网格。
6.根据权利要求1所述的方法,其特征在于,
所述第一人脸关键点具有第一编号;
所述第二网格的第二顶点还包括位于所述第二图像数据边上的边缘点,所述边缘点与所述第二人脸关键点具有第二编号;
所述将所述第一图像数据划分为多个第一网格,包括:
查询预设的、且具有顺序的网格变量,每个所述网格变量中的顶点标记有第三编号;
若所述第一编号与所述第三编号相同,则在所述第一图像数据中以所述第一编号所属的第一人脸关键点作为第一顶点、连接所述第一编号所属的第一人脸关键点,获得第一网格;
所述将所述第二图像数据划分为多个第二网格,包括:
查询预设的、且具有顺序的网格变量,每个所述网格变量中的顶点标记有第三编号;
若所述第二编号与所述第三编号相同,则在所述第二图像数据中以所述第二编号所属的边缘点或第二人脸关键点作为第二顶点、连接所述第二编号所属的第二边缘点或第二人脸关键点,获得第二网格。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述绘制转换纹理之后的第二网格,以显示所述第二图像数据,包括:
对于每个第二网格,确定位于所述第二网格中各个第二顶点的纹理坐标;
对于每个第二网格,确定位于所述第二网格中各个第二顶点的顶点坐标;
按照所述纹理坐标与所述顶点坐标绘制所述第二网格,以显示所述第二图像数据。
8.一种直播方法,其特征在于,包括:
获取第一图像数据与视频数据,所述第一图像数据中具有第一人脸数据,所述视频数据中包括多帧第二图像数据,所述第二图像数据中具有第二人脸数据;
将所述第一图像数据划分为多个第一网格,所述第一网格的第一顶点为所述第一人脸数据的第一人脸关键点;
将所述视频数据的每帧第二图像数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述第二人脸数据的第二人脸关键点;
在所述视频数据的每帧第二图像数据中,依次将所述第二网格的纹理转换为所述第一网格的纹理,包括:
确定所述第一网格中各个第一人脸关键点的纹理坐标;
确定所述第二网格中各个第二人脸关键点的纹理坐标;
将所述第一人脸关键点的纹理坐标赋值给所述第二人脸关键点的纹理坐标;
依次绘制转换纹理之后的第二网格,以显示所述视频数据中的第二图像数据;
在直播间发布所述视频数据。
9.一种人脸的替换显示装置,其特征在于,包括:
图像数据获取模块,用于获取第一图像数据与第二图像数据,所述第一图像数据中具有第一人脸数据,所述第二图像数据中具有第二人脸数据;
第一网格划分模块,用于将所述第一图像数据划分为多个第一网格,所述第一网格的第一顶点为所述第一人脸数据的第一人脸关键点;
第二网格划分模块,用于将所述第二图像数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述第二人脸数据的第二人脸关键点;
纹理转换模块,用于在所述第二图像数据中,将所述第二网格的纹理转换为所述第一网格的纹理;
所述纹理转换模块包括:
第一纹理坐标确定子模块,用于确定所述第一网格中各个第一人脸关键点的纹理坐标;
第二纹理坐标确定子模块,用于确定所述第二网格中各个第二人脸关键点的纹理坐标;
纹理坐标赋值子模块,用于将所述第一人脸关键点的纹理坐标赋值给所述第二人脸关键点的纹理坐标;
网格绘制模块,用于绘制转换纹理之后的第二网格,以显示所述第二图像数据。
10.一种直播装置,其特征在于,包括:
数据采集模块,用于获取第一图像数据与视频数据,所述第一图像数据中具有第一人脸数据,所述视频数据中包括多帧第二图像数据,所述第二图像数据中具有第二人脸数据;
第一网格划分模块,用于将所述第一图像数据划分为多个第一网格,所述第一网格的第一顶点为所述第一人脸数据的第一人脸关键点;
第二网格划分模块,用于将所述视频数据的每帧第二图像数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述第二人脸数据的第二人脸关键点;
纹理转换模块,用于在所述视频数据的每帧第二图像数据中,依次将所述第二网格的纹理转换为所述第一网格的纹理;
所述纹理转换模块包括:
第一纹理坐标确定子模块,用于确定所述第一网格中各个第一人脸关键点的纹理坐标;
第二纹理坐标确定子模块,用于确定所述第二网格中各个第二人脸关键点的纹理坐标;
纹理坐标赋值子模块,用于将所述第一人脸关键点的纹理坐标赋值给所述第二人脸关键点的纹理坐标;
网格绘制模块,用于依次绘制转换纹理之后的第二网格,以显示所述视频数据中的第二图像数据;
视频直播模块,用于在直播间发布所述视频数据。
11.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的人脸的替换显示方法或如权利要求8所述的直播方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的人脸的替换显示方法或如权利要求8所述的直播方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910563071.5A CN111652791B (zh) | 2019-06-26 | 2019-06-26 | 人脸的替换显示、直播方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910563071.5A CN111652791B (zh) | 2019-06-26 | 2019-06-26 | 人脸的替换显示、直播方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111652791A CN111652791A (zh) | 2020-09-11 |
CN111652791B true CN111652791B (zh) | 2024-03-08 |
Family
ID=72347976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910563071.5A Active CN111652791B (zh) | 2019-06-26 | 2019-06-26 | 人脸的替换显示、直播方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111652791B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112530016B (zh) * | 2020-10-30 | 2022-11-11 | 北京字跳网络技术有限公司 | 一种道具吸附的方法、装置、设备及存储介质 |
CN113362434A (zh) * | 2021-05-31 | 2021-09-07 | 北京达佳互联信息技术有限公司 | 一种图像处理方法、装置、电子设备及存储介质 |
CN115908104A (zh) * | 2021-08-16 | 2023-04-04 | 北京字跳网络技术有限公司 | 图像处理方法、装置、设备、介质及程序产品 |
CN113658035B (zh) * | 2021-08-17 | 2023-08-08 | 北京百度网讯科技有限公司 | 脸部变换方法、装置、设备、存储介质以及产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012022403A (ja) * | 2010-07-12 | 2012-02-02 | Nippon Hoso Kyokai <Nhk> | 画像処理装置およびコンピュータプログラム |
CN107146199A (zh) * | 2017-05-02 | 2017-09-08 | 厦门美图之家科技有限公司 | 一种人脸图像的融合方法、装置及计算设备 |
CN108985132A (zh) * | 2017-05-31 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 一种人脸图像处理方法、装置、计算设备及存储介质 |
CN109146808A (zh) * | 2018-08-01 | 2019-01-04 | 成都品果科技有限公司 | 一种人像美型方法和系统 |
CN109584327A (zh) * | 2018-11-08 | 2019-04-05 | 深圳市威富视界有限公司 | 人脸老化模拟方法、装置以及设备 |
CN109785228A (zh) * | 2018-12-29 | 2019-05-21 | 广州华多网络科技有限公司 | 图像处理方法、装置、存储介质和服务器 |
-
2019
- 2019-06-26 CN CN201910563071.5A patent/CN111652791B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012022403A (ja) * | 2010-07-12 | 2012-02-02 | Nippon Hoso Kyokai <Nhk> | 画像処理装置およびコンピュータプログラム |
CN107146199A (zh) * | 2017-05-02 | 2017-09-08 | 厦门美图之家科技有限公司 | 一种人脸图像的融合方法、装置及计算设备 |
CN108985132A (zh) * | 2017-05-31 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 一种人脸图像处理方法、装置、计算设备及存储介质 |
CN109146808A (zh) * | 2018-08-01 | 2019-01-04 | 成都品果科技有限公司 | 一种人像美型方法和系统 |
CN109584327A (zh) * | 2018-11-08 | 2019-04-05 | 深圳市威富视界有限公司 | 人脸老化模拟方法、装置以及设备 |
CN109785228A (zh) * | 2018-12-29 | 2019-05-21 | 广州华多网络科技有限公司 | 图像处理方法、装置、存储介质和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111652791A (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111652791B (zh) | 人脸的替换显示、直播方法、装置、电子设备和存储介质 | |
Tewari et al. | State of the art on neural rendering | |
CN107154063B (zh) | 图像展示区域的形状设置方法及装置 | |
CN111462205B (zh) | 图像数据的变形、直播方法、装置、电子设备和存储介质 | |
CN109906600B (zh) | 模拟景深 | |
CN111951368A (zh) | 一种点云、体素和多视图融合的深度学习方法 | |
WO2023030177A1 (zh) | 视频处理方法、装置、计算机可读存储介质及计算机设备 | |
CN112652046A (zh) | 游戏画面的生成方法、装置、设备及存储介质 | |
CN111652794B (zh) | 一种面部的调整、直播方法、装置、电子设备和存储介质 | |
US9704290B2 (en) | Deep image identifiers | |
CN111652022B (zh) | 图像数据的显示、直播方法、装置、电子设备和存储介质 | |
CN111652795A (zh) | 脸型的调整、直播方法、装置、电子设备和存储介质 | |
CN111652024B (zh) | 一种人脸的显示、直播方法、装置、电子设备和存储介质 | |
CN111651033B (zh) | 一种人脸的驱动显示方法、装置、电子设备和存储介质 | |
CN111652025B (zh) | 一种人脸的处理、直播方法、装置、电子设备和存储介质 | |
Rasmuson et al. | A low-cost, practical acquisition and rendering pipeline for real-time free-viewpoint video communication | |
CN111652978B (zh) | 一种网格的生成方法、装置、电子设备和存储介质 | |
CN111652807B (zh) | 眼部的调整、直播方法、装置、电子设备和存储介质 | |
CN107730577B (zh) | 一种勾线渲染方法、装置、设备及介质 | |
CN116977539A (zh) | 图像处理方法、装置、计算机设备、存储介质和程序产品 | |
CN115578495A (zh) | 特效图像绘制方法、装置、设备及介质 | |
CN111652023B (zh) | 嘴型的调整、直播方法、装置、电子设备和存储介质 | |
KR20230013099A (ko) | 실시간 깊이 맵을 사용한 지오메트리 인식 증강 현실 효과 | |
CN112465692A (zh) | 图像处理方法、装置、设备及存储介质 | |
WO2024037116A9 (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 |