CN113076918A - 基于视频的人脸表情克隆方法 - Google Patents
基于视频的人脸表情克隆方法 Download PDFInfo
- Publication number
- CN113076918A CN113076918A CN202110422579.0A CN202110422579A CN113076918A CN 113076918 A CN113076918 A CN 113076918A CN 202110422579 A CN202110422579 A CN 202110422579A CN 113076918 A CN113076918 A CN 113076918A
- Authority
- CN
- China
- Prior art keywords
- size
- face
- layer
- image
- output feature
- 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
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/08—Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
-
- 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/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Biophysics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明为基于视频的人脸表情克隆方法,该方法包括以下内容:对提供的视频进行人脸检测;构建基于Ghost Bottleneck结构的轻量级卷积神经网络;整个网络对检测到的人脸图像进行预测,生成每帧图像对应的UV位置映射图,并根据UV位置映射图提取密集人脸关键点的三维位置信息;利用Open3D开源三维数据处理库,在对视频首个含人脸的视频帧进行人脸表情克隆时,结合密集人脸关键点的三维位置信息生成初始人脸模型,之后的每一帧,只对该初始人脸模型的顶点坐标信息进行更新,驱动人脸模型产生变形,并对每帧结果进行可视化,显示克隆出的人脸表情。实现了由人脸图像获取人脸关键点三维位置信息的过程,网络轻量高效,准确率高。
Description
技术领域
本发明的技术方案涉及三维(3D)人脸表情动画技术,具体地说是一种基于视频的人脸表情实时克隆的方法。
背景技术
人脸表情的变化可以表达信息、传递情绪,如何逼真的克隆出三维人脸面部表情一直是计算机图形学及计算机视觉领域的研究热点。目前,人脸表情克隆技术已逐渐应用到电影、游戏、医学等多种领域,人脸表情的实时克隆不仅能大量降低相关工作的复杂程度与设备要求,减少工作人员数量,还能应用到许多常人无法完成的工作中。
传统的三维人脸表情动画生成一般都需要特殊的表情数据捕捉设备,比如光学式运动捕捉设备、Kinect体感设备等。在表演者的面部贴上一定数量的标志点或传感装置,通过摄像机等其他设备捕获面部标志点的三维空间位置及位移数据,再对生成的人脸网格进行变形。Nguyen[1]等人使用Kinect传感设备,开发出了针对于面部损伤患者的实时头部及面部动画系统,用于模拟面部康复效果。但这种方法的缺点是相关数据捕捉设备价格昂贵,成本较高,而且使用场景受限,因此无法在平时生活中广泛使用。
基于生理结构模型的方法不仅可以降低设备成本,还能通过模拟人脸的生理结构生成人脸表情动画,带来很好的真实感。这种方法基于解剖学的原理,通过构造面部肌肉模型、骨骼蒙皮模型等方式,模拟人脸骨骼的运动、肌肉的拉伸以及皮肤的弹性变化。但基于生理结构模型的方法不仅需要一定的解剖学基础,还需要大量的计算求解肌肉运动,不利于实时表情动画的实施。
随着深度学习的不断发展,将神经网络与此前的方法相结合,进行人脸表情生成的方法越来越多。Yi[2]等人在2019年发表的《MMFace:A Multi-Metric RegressionNetwork for Unconstrained Face Reconstruction》论文中提出了一个用于进行无约束三维人脸重建的多度量回归网络。其核心思想是利用一个体素回归子网络从输入图像中生成一个人脸几何结构的中间表达,再从该中间表达回归出对应的三维人脸形变模型参数。但这种方法受限于定义的三维人脸基础模型,且其中的透视投影等必要操作增加了算法的复杂度,实时性的人脸表情克隆效果仍有待提升。
[1]Nguyen T N,DakpéS,Tho M C H B,et al.Real-time Subject-specificHead and Facial Mimic Animation System using a Contactless Kinect Sensor andSystem of Systems Approach[C].2019 41st Annual International Conference ofthe IEEE Engineering in Medicine and Biology Society(EMBC).IEEE,2019:6132-6135.
[2]Yi H,Li C,Cao Q,et al.Mmface:A multi-metric regression network forunconstrained face reconstruction[C].Proceedings of the IEEE/CVF Conferenceon Computer Vision and Pattern Recognition.2019:7663-7672.
发明内容
本发明针对当前人脸表情克隆算法实时性较差、精度较低的缺点,提供了一种基于视频的人脸表情克隆方法。该方法通过构建基于Ghost Bottleneck结构的轻量级神经网络,端到端的实现了由人脸图像获取人脸关键点三维位置信息的过程,网络轻量高效,准确率高。同时,在网络训练时,使用Wing Loss损失函数代替常用的均方差损失函数,提高模型的准确率。
本发明中解决该技术问题所采用的技术方案是:提供一种基于视频的人脸表情克隆方法,该方法包括以下内容:
对提供的视频进行人脸检测;
构建基于Ghost Bottleneck结构的轻量级卷积神经网络:神经网络的整体结构采用编码器-解码器结构,编码器部分由两个卷积层开始,后接九个Ghost Bottleneck层,解码器部分由十四个转置卷积层组成;
整个网络对检测到的人脸图像进行预测,生成每帧图像对应的UV位置映射图,并根据UV位置映射图提取密集人脸关键点的三维位置信息,训练过程中使用Wing Loss损失函数;
利用Open3D开源三维数据处理库,在对视频首个含人脸的视频帧进行人脸表情克隆时,结合密集人脸关键点的三维位置信息生成初始人脸模型,之后的每一帧,只对该初始人脸模型的顶点坐标信息进行更新,驱动人脸模型产生变形,并对每帧结果进行可视化,显示克隆出的人脸表情。
上述人脸表情克隆方法中,由于克隆的目标视频不一定每帧都存在人脸,且大多数情况下人脸区域只占据视频图像的一部分,为了避免克隆过程中资源的浪费,提高模型的预测精度,需要对提供的视频进行人脸检测,具体步骤如下:
人脸检测部分的技术可以采用harr-like特征提取+adaboost级联分类器,还可以使用Dlib方法进行人脸检测、使用快速LAB级联分类器+基于SURF特征的多层感知机(MLP)级联结构+精细MLP级联分类器的结构等。
1)通过读取指定视频文件或直接访问计算机摄像头的方式获得演示视频,若选择读取指定视频文件,则需要输入该视频文件的存储路径,若选择直接访问摄像头,则会开启摄像头,捕获尺寸为680*480、帧率为30fps的视频;
2)将视频中的每一帧先转化为灰度图像,输入到基于Haar特征的级联检测器中,将检测器的人脸检测结果(该人脸检测结果指将视频图像输入给检测器,获得了检测器的结果,即人脸框位置)作为该帧的人脸表情克隆的目标人脸,当一帧图像检测到多个人脸时,只对第一张人脸表情进行克隆,确认了表情克隆任务的对象,即确定图像上的人脸所在位置;
3)根据步骤2)确定的表情克隆任务的对象的人脸框位置,将该人脸图像变换并裁剪成256*256*3的尺寸,将该人脸单独裁剪出来作为轻量级神经网络的输入,即作为该部分的最终结果。
上述人脸表情克隆方法中,所述的基于Ghost Bottleneck结构的轻量级神经网络的具体结构是:
1)将每帧的人脸检测结果输入到卷积神经网络中,先利用编码器将尺寸为256*256*3的人脸图像压缩成尺寸为8*8*512的特征图,编码器的具体设置为:
第一层包括一个卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为256*256*16;
第二层与第一层的设置相同,输出的特征图尺寸为256*256*16;
第三层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为2,输出的特征图尺寸为128*128*32;
第四层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为1,输出的特征图尺寸为128*128*32;
第五层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为2,输出的特征图尺寸为64*64*64;
第六层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为1,输出的特征图尺寸为64*64*64;
第七层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为2,输出的特征图尺寸为32*32*128;
第八层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为1,输出的特征图尺寸为32*32*128;
第九层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为2,输出的特征图尺寸为16*16*256;
第十层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为1,输出的特征图尺寸为16*16*256;
第十一层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为2,输出的特征图尺寸为8*8*512;
编码器各Ghost Bottleneck层的激活函数为Relu函数。
2)解码器将编码器输出的尺寸为8*8*512的特征图预测为尺寸为256*256*3的UV位置映射图,解码器的具体设置为:
第一层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为8*8*512;
第二层包括一个转置卷积层,卷积核大小为4*4,步长为2,输出的特征图尺寸为16*16*256;
第三层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为16*16*256;
第四层包括一个转置卷积层,卷积核大小为4*4,步长为2,输出的特征图尺寸为32*32*128;
第五层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为32*32*128;
第六层包括一个转置卷积层,卷积核大小为4*4,步长为2,输出的特征图尺寸为64*64*64;
第七层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为64*64*64;
第八层包括一个转置卷积层,卷积核大小为4*4,步长为2,输出的特征图尺寸为128*128*32;
第九层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为128*128*32;
第十层包括一个转置卷积层,卷积核大小为4*4,步长为2,输出的特征图尺寸为256*256*16;
第十一层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为256*256*16;
第十二层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为256*256*3;
第十三层、第十四层的结构设置与第十二层相同,输出的特征图尺寸均为256*256*3。该部分前十三层的激活函数为Relu函数,第十四层的激活函数为Sigmoid函数。
300W-LP数据集和AFLW200-3D数据集都不含UV位置映射图,不能直接用来训练、测试网络,所以需要对数据集进行处理,生成数据集中每张人脸图像对应的UV位置映射图,作为真实值,与预测出来的值进行对比。
神经网络训练时使用300W-LP数据集进行网络训练,使用AFLW2000-3D数据集进行网络测试。300W-LP数据集包含了大量标注了3DMM系数的大角度人脸图像,AFLW2000-3D数据集包含了AFLW数据集中的前两千张头像和三维信息。在进行网络训练和模型测试时,以上两种数据集都不含真实的UV位置映射图,因此,需要对数据集进行处理。具体过程为,将每张图像按标注的人脸区域进行裁剪,并缩放到256*256大小,然后利用标注的3DMM参数生成相应的三维位置,并将其渲染到UV空间,获得尺寸也为256*256的真实UV位置映射图。此外,还对训练数据进行了数据增强处理,对每张图像进行了旋转角度为±15°、±30°、±45°±60°的旋转,增加了网络对于大角度人脸的适用性。
本方法是进行密集人脸关键点检测,预测的点的数量很多,还是三维的,常用的MSE、MAE等损失函数在训练时无法平衡大误差点与中小误差点,训练网络时,采用的损失函数为Wing Loss损失函数。公式如下:
其中,这里x代表真实的UV位置映射图与预测的UV位置映射图之间的顶点三维坐标误差,wing(x)表示损失,ω是一个正数,将该损失函数的非线性部分限制在[-ω,ω]之间,ε表示约束非线性区域的曲率,是一个很小的数值,C=ω-ωln(1+x/ε)是一个常数。
本申请最终使用的神经网络训练的损失函数Loss为:
其中,Xm为真实的UV位置映射图中的一个顶点,Pos(Xm)表示该顶点在真实的UV位置映射图中的三维坐标(x,y,z),表示该顶点在预测的UV位置映射图中的三维坐标weight(Xm)表示该顶点的权重,M是UV位置映射图上的顶点数量;wing(x)表示损失;真实的UV位置映射图即通过对数据集进行处理后渲染到UV空间获得的真实UV位置映射图;预测的UV位置映射图是指通过Ghost Bottleneck结构的轻量级卷积神经网络预测生成的UV位置映射图。
人脸分区权重设置为:68个关键点:眼睛和嘴部区域:额头、鼻子及嘴部周围区域:脸部其他区域:图像其他区域=4∶3∶2∶1∶0,如图4所示,颜色越接近于白色(RGB=255 255255)权重越高,黑色(RGB=0 0 0)表示权重为0。
根据FACS(Facial Action Coding System,面部表情编码系统),人类面部有42块肌肉,不同的脸部肌肉运动产生了不同表情。通过参考FACS中对人脸区域的划分,并观察人脸产生表情时的肌肉运动及皮肤变化,可以得到眼睛与嘴是人脸表情变化最丰富的区域。因此,本方法对人脸进行了新的区域划分并设计了新的人脸分区权重。
一、将人脸的68个关键点作为一个区域,并设置最高权重;
二、将眼睛(包含眉毛)与嘴划分为一个区域,并设置次高权重;
三、将眉毛以上的额头部分(包含印堂)、鼻子、嘴巴周围划分为一个区域,并设置中等权重;
四、将人脸上除去一、二、三区域的剩余区域划分为一个区域,并设置一般权重。
此外,由于每帧图像可能含有非人脸区域,比如脖子、衣服、背景等,该部分不需要表情克隆,所以将图像上除去人脸区域的剩余区域划分为一个区域,并设置权重为零。
上述基于视频的人脸表情克隆方法中,所述的“基于Haar特征的级联检测器、Ghost Bottleneck结构、UV位置映射图、Relu函数、Sigmoid函数、均方差损失函数”都是公知的。
本发明的难点简单来说,就是准确性和实时性要求较高。
人脸表情克隆的关键在于克隆出的表情的真实感,为了能够更准确的克隆出表情,需要获得人脸关键点的三维坐标(x,y,z),尤其是表示关键点深度信息的z坐标。因此,第一个难点就是准确估计人脸关键点的三维坐标。传统方法需要特殊的人脸关键点捕捉设备,或在演示人脸上贴标志点,这对成本、设备等要求都过高。第二个难点是如何提高克隆出的表情的精细程度。对于一个三维人脸网格模型来说,该模型的顶点、网格数越多,能表示的人脸表情就越精细,但这也会导致网络运算量和模型变形时间的增加。第三个难点是大姿态人脸的存在。由于人可能有转头、抬头、低头等各种头部姿态变化,也就会出现非正面人脸,这时人脸可能存在着一定的自遮挡情况,表情也不完整,这都会给表情克隆带来困难。
除了以上三点,由于本方法面向的是视频中的人脸表情克隆,因此需要满足较高的实时性。无论是对于视频文件还是摄像头实时捕获的视频帧,都需要及时准确的做出相应表情,且由于三维数据不同于二维数据,在处理三维人脸模型变形方面上本身就需要耗费比较长的时间,这使难度更加大了。
与现有技术相比,本发明的有益效果如下:
1.针对人脸表情克隆任务,提出了一种基于视频的人脸表情克隆方法。该方法结合了人脸检测、密集人脸对齐与三维人脸变形三个方面,在密集人脸对齐部分,设计了新的轻量级网络架构,速度快、准确度高,端到端的回归生成UV位置映射图,完成了由二维人脸到三维人脸的克隆过程。不仅能够完成视频中的人脸表情克隆,还能很好的适应大角度人脸姿态。
2.本发明方法针对人脸表情克隆中的实时性差问题,提出了一种基于GhostBottleneck结构的轻量级卷积神经网络,该网络以二维人脸图像作为输入,能够准确的预测出该人脸图像对应的UV位置映射图,并根据该映射图,获取密集人脸关键点的三维位置信息,使用UV位置映射图的思想,不仅使模型更加简单轻量,而且克隆出的人脸模型能够不受3DMM模型的线性约束,克隆出的表情更加自然,网络的运算速度也更快。为了测试算法的运行时间,在实施例中与已有算法进行比较,结果显示本发明具有良好的实时性。
3.本发明方法针对人脸表情克隆中的精度低问题,提出使用Wing Loss损失函数结合关键点的权重设置进行网络的训练,将其应用到密集关键点的三维坐标检测,该损失函数能够弥补均方差损失函数的不足,结合不同区域关键点的权重设置,平衡偏差较大的离群点的影响程度,提高网络的训练水平与模型精度,从而进一步提高克隆出的人脸表情的准确度。
4.本申请通过构建的编码器-解码器网络,端到端的完成了由二维人脸到三维人脸的克隆过程,本发明既关注到了不同关键点的在人脸上的位置差异,还关注了不同关键点在训练时的偏差,提高了训练的速度以及模型的准确度。
5.本发明中人脸模型,是根据提前定义好的四万多个顶点数据与八万多个网格数据,利用Open3D的三角网格数据结构,构造出的一个初始人脸模型,具体生成时间是在对视频首个含人脸的视频帧进行人脸表情克隆时,生成模型,之后的每一帧,只对该模型的顶点坐标信息进行更新,减少了克隆方法对三维人脸基础模型的依赖。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明方法的流程示意图。
图2是本发明设计的基于Ghost Bottleneck结构的轻量级网络结构。
图3(a)是一张人脸图像。
图3(b)是一张人脸图像的人脸检测结果。
图3(c)是一张人脸图像的UV位置映射图。
图3(d)是一张人脸图像的人脸表情克隆结果。
图4为人脸分区权重示意图。
具体实施方式
图1表明,本发明人脸表情克隆的流程包括人脸检测部分:S1~S3;密集关键点检测部分:S4~S7;三维人脸变形部分:S8~S10。S1:获取演示视频;S2:利用基于Haar特征的级联检测器进行每帧人脸检测;S3:获取每帧人脸图像;S4:设计基于Ghost Bottleneck的轻量级网络;S5:使用300W-LP数据集与Wing Loss损失函数进行网络训练;S6:得到UV位置映射图;S7:得到密集关键点三维位置信息;S8:建立初始三维人脸模型;S9:根据每帧关键点三维信息更新模型;S10完成人脸表情克隆。
图2表明,本发明设计的轻量级网络采用了编码器-解码器结构,编码器部分先通过两个卷积层获得视频中人脸图像的基本特征图,再通过九个Ghost Bottleneck层逐层提取特征,解码器部分由十四个转置卷积层组成,对特征图进行解码,生成预测的UV位置映射图。
图3(a)是所获取到的演示视频中的一帧图像。
图3(b)是对图3(a)中的图像进行人脸检测的真实输出结果。
图3(c)是图3(b)中人脸图像对应的真实UV位置映射图。
图3(d)是对图3(c)中关键点三维位置信息进行提取,最终完成人脸表情克隆的结果。
图4是本发明设计的人脸分区权重示意图。
第一步,人脸检测:
S1:获取演示视频。为了增强本发明的实用性,设计了两种方式获取演示视频。第一种方式是通过直接访问计算机的摄像头,开启摄像头后,将会显示一个680*480大小的窗口,实时捕获帧率为30fps的视频;第二种方式是选择读取指定路径的视频文件,当输入的存储路径为有效路径时,程序将会从该视频的首帧开始读取视频。
S2:利用基于Haar特征的级联检测器进行每帧人脸检测。由于在进行人脸表情克隆时,一般情况下演示视频中人脸的区域比较小,而且表情克隆与人物背景基本无关,所以需要确定人脸在背景中的位置,并提取出来。本发明使用了基于Haar特征的级联检测器进行每帧人脸检测。对于获取到的演示视频,依次将每帧图像转化为灰度图像,输入到基于Haar特征的级联检测器中,进行人脸检测。若没有检测到人脸,则跳过这一帧图像,继续检测下帧图像;若检测到一张人脸,则将该人脸作为表情克隆的目标人脸;若检测到多张人脸,只对检测器返回的第一张人脸作为表情克隆的目标人脸。视频一帧就是一张图像,一张图像含有的人脸数量是不确定的,检测器会返回一个列表,这个列表包含它检测到的所有人脸的人脸框位置,第一张人脸就是列表里第一个人脸框对应的人脸。
S3:获取每帧人脸图像。根据检测结果得到人脸框坐标(left,top,right,bottom),根据该坐标确定图像上框选的人脸所在位置,设置裁剪出的新图像大小为256*256,通过相似变换将原人脸图像变换裁剪成网络所需要的256*256*3大小的人脸图像。这部分结果如图3(b)所示。
第二步,密集关键点检测:
S4:设计基于Ghost Bottleneck的轻量级网络。将变换裁剪好的每帧的人脸检测结果输入到本发明设计的轻量级卷积神经网络中,网络结构如图2所示,网络各层的具体设置为:
1)编码器将尺寸为256*256*3的人脸图像压缩成尺寸为8*8*512的特征图,编码器的具体设置为:
第一层包括一个卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为256*256*16;
第二层与第一层的设置相同,输出的特征图尺寸为256*256*16;
第三层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为2,输出的特征图尺寸为128*128*32;
第四层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为1,输出的特征图尺寸为128*128*32;
第五层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为2,输出的特征图尺寸为64*64*64;
第六层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为1,输出的特征图尺寸为64*64*64;
第七层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为2,输出的特征图尺寸为32*32*128;
第八层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为1,输出的特征图尺寸为32*32*128;
第九层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为2,输出的特征图尺寸为16*16*256;
第十层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为1,输出的特征图尺寸为16*16*256;
第十一层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为2,输出的特征图尺寸为8*8*512;
该部分的激活函数为Relu函数。
2)解码器将编码器输出的尺寸为8*8*512的特征图预测为尺寸为256*256*3的UV位置映射图,解码器的具体设置为:
第一层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为8*8*512;
第二层包括一个转置卷积层,卷积核大小为4*4,步长为2,输出的特征图尺寸为16*16*256;
第三层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为16*16*256;
第四层包括一个转置卷积层,卷积核大小为4*4,步长为2,输出的特征图尺寸为32*32*128;
第五层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为32*32*128;
第六层包括一个转置卷积层,卷积核大小为4*4,步长为2,输出的特征图尺寸为64*64*64;
第七层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为64*64*64;
第八层包括一个转置卷积层,卷积核大小为4*4,步长为2,输出的特征图尺寸为128*128*32;
第九层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为128*128*32;
第十层包括一个转置卷积层,卷积核大小为4*4,步长为2,输出的特征图尺寸为256*256*16;
第十一层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为256*256*16;
第十二层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为256*256*3;
第十三层、第十四层的结构设置与第十二层相同,输出的特征图尺寸均为256*256*3。
该部分前十三层的激活函数为Relu函数,第十四层的激活函数为sigmoid函数。
S5:使用300W-LP数据集与Wing Loss损失函数进行网络训练。本发明使用TensorFlow的深度学习框架,语言为Python3.6。使用300W-LP数据集进行训练,使用AFLW2000-3D数据集进行测试。对训练数据进行了数据增强处理,对每张图像进行了旋转角度为±15°、±30°、±45°±60°的旋转,增加了网络对于大角度人脸的适用性。训练网络时,采用的利用Wing Loss损失获取最终的损失函数。公式如下:
其中x代指真实的UV位置映射图与预测的UV位置映射图之间的顶点三维坐标误差,wing(x)表示损失,ω是一个正数,将该损失函数的非线性部分限制在[-ω,ω]之间,ε表示约束非线性区域的曲率,是一个很小的数值,C=ω-ωln(1+x/ε)是一个常数。
人脸分区权重设置为:68个关键点:眼睛和嘴部区域:额头、鼻子及嘴部周围区域:脸部其他区域:图像其他区域=4:3:2:1:0,颜色越接近于白色权重越高,黑色表示权重为0。最终的损失函数为:
其中,Xm为真实的UV位置映射图中的一个顶点,Pos(Xm)表示该顶点在真实的UV位置映射图中的三维坐标(x,y,z),表示该顶点在预测的UV位置映射图中的三维坐标weight(Xm)表示该顶点的权重,M是UV位置映射图上的顶点数量;wing(x)表不损失;
训练时,ω设置为10,ε设置为2。batch size设置为4。采用Adam优化器,初始学习率设置为0.0003,每五个周期后衰减为原学习率的0.9倍。
S6:得到UV位置映射图。经过训练集的多轮训练以及测试集的测试,选择训练结果最优的网络模型作为最终的UV位置映射图预测模型。将S3步获取的人脸图像作为网络的输入,得到该人脸图像对应的UV位置映射图。这部分结果如图3(c)所示。
S7:得到密集关键点三维位置信息。根据UV位置映射图上每一个点的RGB值,可以得到图像上每一个关键点的三维位置信息。在一张256*256大小的图中,共包含65536个点,但并不是所有的点都是人脸上的顶点,只需要提取出定义的43867个有意义的人脸顶点。这部分点在UV位置映射图中的位置是固定的,实验前将这部分顶点的索引号存储在一个文件中,实验时通过访问文件获取顶点的每个索引号,再通过索引号找到UV位置映射图中的43867个人脸顶点,获得密集人脸关键点三维位置信息,位置信息就是三维坐标(x,y,z),对于UV位置映射图来讲,图上每一个点的RGB值就是对应顶点的空间三维坐标(x,y,z),相当于对图上有意义的点建立了一个索引,一个索引号对应图中的一个点,后面三维模型需要的人脸顶点坐标就可以根据索引号去图中找点。前10个顶点索引号如下:
1.285000000000000000e+03
1.286000000000000000e+03
1.287000000000000000e+03
1.288000000000000000e+03
1.289000000000000000e+03
1.290000000000000000e+03
1.291000000000000000e+03
1.292000000000000000e+03
1.293000000000000000e+03
1.294000000000000000e+03
第三步:三维人脸变形
S8:建立初始三维人脸模型,为了使生成的三维人脸表情更加逼真、细腻,根据定义好的43867个人脸顶点,提前定义了86906个三角网格,用以表示一个三维人脸模型,本方法定义好的四万多个顶点都是网格控制点,也不需要多次调整,更不需要通用三维人脸模型。本方法定义(建立)的人脸网格模型包含八万多个三角网格,每个网格包含三个顶点,这些顶点都包含在定义的四万多个顶点中,预定义好的顶点和网格信息存储在两个文本文档中。而建立的过程是利用Open3D中的三角网格数据结构实现的,只需要把预定义的三角网格及顶点信息赋值给该数据结构中的变量,便可以生成一个网格模型,而之后每帧只需要更新顶点位置即可,每帧调整一次网格模型。
人脸分区权重设置要求为:
一、68个关键点区域:将人脸的68个关键点作为一个区域,并设置最高权重;
二、眼睛和嘴部区域:额头、鼻子及嘴部周围、脸部其他区域:将眼睛包含眉毛与嘴划分为一个区域,并设置次高权重;
三、额头、鼻子及嘴部周围区域:将眉毛以上的额头部分包含印堂、鼻子、嘴巴周围划分为一个区域,并设置中等权重;
四、脸部其他区域:将人脸上除去一、二、三区域的剩余区域划分为一个区域,并设置一般权重;
五、图像其他区域:由于每帧图像可能含有非人脸区域,该非人脸区域不需要表情克隆,所以将图像上除去人脸区域的剩余区域划分为一个区域,并设置权重为零。
人脸分区权重设置为:68个关键点区域:眼睛和嘴部区域:额头、鼻子及嘴部周围区域:脸部其他区域:图像其他区域=4:3:2:1:0,颜色越接近于白色权重越高,黑色表示权重为0。
图像其他区域,这部分的权重为0,指的是图像中的脖子、衣服等区域,而其他权重非0的区域就是定义好的人脸区域。
比如,定义的第一个三角网格的三个顶点序号为:1.000000000000000000e+002.470000000000000000e+02 2.460000000000000000e+02。得到密集人脸关键点三维位置信息后,利用Open3D开源三维数据处理库中的TriangleMesh数据结构,生成三角网格数据,建立初始人脸模型。
S9:根据每帧关键点三维信息更新模型。除首帧外,视频的其余各帧不需要再重新建立三维人脸模型,而是根据当前帧的密集关键点三维信息,更新首帧已生成三维人脸模型(即初始人脸模型)的顶点三维坐标,重新计算顶点法线。
S10完成人脸表情克隆。在获得视频中每帧人脸图像对应的三维人脸模型后,利用Open3D库中的Visualizer()类创建一个大小为1080*840的窗口,并设置背景颜色为白色,在窗口中显示生成的三维人脸模型,完成人脸表情克隆。
下面对本发明提供的人脸表情克隆方法的实时性与准确率做进一步描述。
为了验证本发明在人脸表情克隆时的实时性,实验测试模型处理每张图像的时间。该过程定义为从输入裁剪的人脸图像到得到预测的UV位置映射图。用于测试的硬件是NVIDIA GeForce GTX 1650GPU和Intel(R)Core(TM)i7-9750H CPU@2.60GHz。本发明提供的方法处理一张图像的时间为19.6ms(GPU),能够满足实时性的要求。
为了验证本发明在人脸表情克隆时的准确率,在公开的AFLW2000-3D数据集上对预测的68个人脸关键点准确度与其他5种先进的算法进行了对比,采用的衡量指标为NME,该指标数值越小表示性能越优,测试结果见表1。表中第2-4列分别表示在小、中、大偏航角下的测试结果,最后一列表示在全部数据集上的平均NME。
表1实验对比结果
方法 | 0-30 | 30-60 | 60-90 | 平均 |
SDM<sup>[3]</sup> | 3.67 | 4.94 | 9.67 | 6.12 |
3DDFA<sup>[4]</sup> | 3.78 | 4.54 | 7.93 | 5.42 |
3DDFA+SDM<sup>[4]</sup> | 3.43 | 4.24 | 7.17 | 4.94 |
Yu et al<sup>[5]</sup> | 3.62 | 6.06 | 9.56 | - |
3DSTN<sup>[6]</sup> | 3.15 | 4.33 | 5.98 | 4.49 |
DeFA<sup>[7]</sup> | - | - | - | 4.50 |
本方法 | 2.96 | 3.90 | 5.2 | 3.97 |
可以看到,本发明提供的方法对于人脸表情克隆的精度有了明显提高,且对于大角度的人脸也能有较好的克隆效果。
[3]Xiong X,De la Torre F.Global supervised descent method[C]//Proceedings of the IEEE Conference on Computer Vision and PatternRecognition.2015:2664-2673.
[4]Zhu X,Lei Z,Liu X,et al.Face alignment across large poses:A3dsolution[C]//Proceedings of the IEEE conference on computer vision andpattern recognition.2016:146-155.
[5]Yu R,Saito S,Li H,et al.Learning dense facial correspondences inunconstrained images[C]//Proceedings of the IEEE International Conference onComputer Vision.2017:4723-4732.
[6]Bhagavatula C,Zhu C,Luu K,et al.Faster than real-time facialalignment:A 3d spatial transformer network approach in unconstrained poses[C]//Proceedings of the IEEE International Conference on ComputerVision.2017:3980-3989.
[7]Liu Y,Jourabloo A,Ren W,et al.Dense face alignment[C]//Proceedingsof the IEEE International Conference on Computer Vision Workshops.2017:1619-1628.
上述实施例中,所述“基于Haar特征的级联检测器、Ghost Bottleneck结构、UV位置映射图、Relu函数、Sigmoid函数、均方差损失函数”都是公知的。
以上所述是结合附图对本发明的实施例进行的详细介绍,以上的具体实施方式只是用于帮助更好地理解本发明方法。本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
本发明未述及之处适用于现有技术。
Claims (10)
1.一种基于视频的人脸表情克隆方法,其特征在于,该方法包括以下内容:
对提供的视频进行人脸检测;
构建基于Ghost Bottleneck结构的轻量级卷积神经网络:神经网络的整体结构采用编码器-解码器结构,编码器部分由两个卷积层开始,后接九个Ghost Bottleneck层,解码器部分由十四个转置卷积层组成;
整个网络对检测到的人脸图像进行预测,生成每帧图像对应的UV位置映射图,并根据UV位置映射图提取密集人脸关键点的三维位置信息,训练过程中使用Wing Loss损失函数;
利用Open3D开源三维数据处理库,在对视频首个含人脸的视频帧进行人脸表情克隆时,结合密集人脸关键点的三维位置信息生成初始人脸模型,之后的每一帧,只对该初始人脸模型的顶点坐标信息进行更新,驱动人脸模型产生变形,并对每帧结果进行可视化,显示克隆出的人脸表情。
2.根据权利要求1所述的克隆方法,其特征在于,所述的基于Ghost Bottleneck结构的轻量级神经网络的具体结构是:
1)将每帧的人脸检测结果输入到卷积神经网络中,先利用编码器将尺寸为256*256*3的人脸图像压缩成尺寸为8*8*512的特征图,编码器的具体设置为:
第一层包括一个卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为256*256*16;
第二层与第一层的设置相同,输出的特征图尺寸为256*256*16;
第三层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为2,输出的特征图尺寸为128*128*32;
第四层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为1,输出的特征图尺寸为128*128*32;
第五层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为2,输出的特征图尺寸为64*64*64;
第六层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为1,输出的特征图尺寸为64*64*64;
第七层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为2,输出的特征图尺寸为32*32*128;
第八层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为1,输出的特征图尺寸为32*32*128;
第九层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为2,输出的特征图尺寸为16*16*256;
第十层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为1,输出的特征图尺寸为16*16*256;
第十一层包括一个Ghost Bottleneck层,卷积核大小为3*3,步长为2,输出的特征图尺寸为8*8*512;
编码器各Ghost Bottleneck层的激活函数均为Relu函数;
2)解码器将编码器输出的尺寸为8*8*512的特征图预测为尺寸为256*256*3的UV位置映射图,解码器的具体设置为:
第一层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为8*8*512;
第二层包括一个转置卷积层,卷积核大小为4*4,步长为2,输出的特征图尺寸为16*16*256;
第三层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为16*16*256;
第四层包括一个转置卷积层,卷积核大小为4*4,步长为2,输出的特征图尺寸为32*32*128;
第五层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为32*32*128;
第六层包括一个转置卷积层,卷积核大小为4*4,步长为2,输出的特征图尺寸为64*64*64;
第七层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为64*64*64;
第八层包括一个转置卷积层,卷积核大小为4*4,步长为2,输出的特征图尺寸为128*128*32;
第九层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为128*128*32;
第十层包括一个转置卷积层,卷积核大小为4*4,步长为2,输出的特征图尺寸为256*256*16;
第十一层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为256*256*16;
第十二层包括一个转置卷积层,卷积核大小为4*4,步长为1,输出的特征图尺寸为256*256*3;
第十三层、第十四层的结构设置与第十二层相同,输出的特征图尺寸均为256*256*3;解码器中前十三层的激活函数为Relu函数,第十四层的激活函数为Sigmoid函数。
3.根据权利要求1所述的克隆方法,其特征在于,人脸检测的具体步骤是:
1)通过读取指定视频文件或直接访问计算机摄像头的方式获得演示视频,若选择读取指定视频文件,则需要输入该视频文件的存储路径,若选择直接访问摄像头,则会开启摄像头,捕获尺寸为680*480、帧率为30fps的视频;
2)将视频中的每一帧先转化为灰度图像,输入到基于Haar特征的级联检测器中,将检测器的人脸检测结果作为该帧的人脸表情克隆的目标人脸,当一帧图像检测到多个人脸时,只对检测器返回的第一张人脸表情进行克隆,确定人脸所在位置;
3)确定图像上的人脸所在位置后,将该人脸图像变换并裁剪成256*256*3的尺寸,作为人脸检测部分的最终结果。
4.根据权利要求1所述的克隆方法,其特征在于,神经网络训练时所使用的数据集为300W-LP数据集,使用AFLW2000-3D数据集进行网络测试;300W-LP数据集包含了大量标注了3DMM系数的大角度人脸图像,AFLW2000-3D数据集包含了AFLW数据集中的前两千张头像和三维信息;在进行网络训练和测试时,以上两种数据集都不含真实的UV位置映射图,因此,需要对两种数据集进行处理;具体过程为,将每张图像按标注的人脸区域进行裁剪,并缩放到256*256大小,然后利用标注的3DMM参数生成相应的三维位置,并将其渲染到UV空间,获得尺寸也为256*256的真实UV位置映射图;此外,还对300W-LP数据集数据进行了数据增强处理,对每张图像进行了旋转角度为±15°、±30°、±45°±60°的旋转,增加了网络对于大角度人脸的适用性。
5.根据权利要求4所述的克隆方法,其特征在于,神经网络训练的损失函数Loss为:
其中,Xm为真实的UV位置映射图中的一个顶点,Pos(Xm)表示该顶点在真实的UV位置映射图中的三维坐标(x,y,z),表示该顶点在预测的UV位置映射图中的三维坐标weight(Xm)表示该顶点的权重,M是UV位置映射图上的顶点数量;wing(x)表示损失;
人脸分区权重设置要求为:
一、将人脸的68个关键点作为一个区域,并设置最高权重;
二、将眼睛包含眉毛与嘴划分为一个区域,并设置次高权重;
三、将眉毛以上的额头部分包含印堂、鼻子、嘴巴周围划分为一个区域,并设置中等权重;
四、将人脸上除去一、二、三区域的剩余区域划分为一个区域,并设置一般权重;
此外,由于每帧图像可能含有非人脸区域,该非人脸区域不需要表情克隆,所以将图像上除去人脸区域的剩余区域划分为一个区域,并设置权重为零。
6.根据权利要求5所述的克隆方法,其特征在于,人脸分区权重设置为:68个关键点区域:眼睛和嘴部区域:额头、鼻子及嘴部周围区域:脸部其他区域:图像其他区域=4:3:2:1:0,颜色越接近于白色权重越高,黑色表示权重为0。
7.根据权利要求5所述的克隆方法,其特征在于,根据UV位置映射图提取密集人脸关键点三维位置信息的过程是:根据UV位置映射图上每一个点的RGB值,得到图像上每一个关键点的三维位置信息,在一张256*256大小的图中,共包含65536个点,但并不是所有的点都是人脸上的顶点,只需要提取出除了图像其他区域外的43867个有意义的人脸顶点,这部分点在UV位置映射图中的位置是固定的,实验前将这部分顶点的索引号存储在一个文件中,实验时通过访问该文件获取顶点的每个索引号,再通过索引号找到UV位置映射图中的43867个人脸顶点,获得密集人脸关键点三维位置信息;前10个顶点索引号是:
1.285000000000000000e+03
1.286000000000000000e+03
1.287000000000000000e+03
1.288000000000000000e+03
1.289000000000000000e+03
1.290000000000000000e+03
1.291000000000000000e+03
1.292000000000000000e+03
1.293000000000000000e+03
1.294000000000000000e+03
根据选好的43867个人脸顶点,提前设定的86906个三角网格,用以表示一个三维人脸模型;
得到密集人脸关键点三维位置信息后,利用Open3D开源三维数据处理库中的TriangleMesh数据结构,生成三角网格数据,建立初始人脸模型。
8.根据权利要求6所述的克隆方法,其特征在于,所述初始人脸模型包含八万多个三角网格,每个网格包含三个顶点,这些顶点都包含在定义的43867个顶点中,预定义好的顶点和网格信息存储在两个文本文档中;利用Open3D中的三角网格数据结构,只需要把预定义的三角网格及顶点信息赋值给该数据结构中的变量,便能生成一个网格模型,而之后每帧只需要更新顶点位置即可,每帧调整一次网格模型。
9.根据权利要求1所述的克隆方法,其特征在于,用于测试的硬件是NVIDIA GeForceGTX 1650GPU和Intel(R)Core(TM)i7-9750H CPU@2.60GHz,该克隆方法处理一张图像的时间不大于30ms(GPU),能够满足实时性的要求,且在小、中、大偏航角下的准确率NME均不大于5.2。
10.根据权利要求1所述的克隆方法,其特征在于,该克隆方法处理一张图像的时间为16-20ms,小偏航角为0°-30°,准确率NME不大于3;中偏航角为30°-60°,准确率NME不大于3.9;大偏航角为60°-90°,准确率NME不大于5.2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110422579.0A CN113076918B (zh) | 2021-04-15 | 2021-04-15 | 基于视频的人脸表情克隆方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110422579.0A CN113076918B (zh) | 2021-04-15 | 2021-04-15 | 基于视频的人脸表情克隆方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113076918A true CN113076918A (zh) | 2021-07-06 |
CN113076918B CN113076918B (zh) | 2022-09-06 |
Family
ID=76618076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110422579.0A Active CN113076918B (zh) | 2021-04-15 | 2021-04-15 | 基于视频的人脸表情克隆方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113076918B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115082991A (zh) * | 2022-06-27 | 2022-09-20 | 平安银行股份有限公司 | 人脸活体检测方法、装置及电子设备 |
CN116503524A (zh) * | 2023-04-11 | 2023-07-28 | 广州赛灵力科技有限公司 | 一种虚拟形象的生成方法、系统、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108805977A (zh) * | 2018-06-06 | 2018-11-13 | 浙江大学 | 一种基于端到端卷积神经网络的人脸三维重建方法 |
CN109377563A (zh) * | 2018-11-29 | 2019-02-22 | 广州市百果园信息技术有限公司 | 一种人脸网格模型的重建方法、装置、设备和存储介质 |
CN109584353A (zh) * | 2018-10-22 | 2019-04-05 | 北京航空航天大学 | 一种基于单目视频重建三维人脸表情模型的方法 |
CN109961006A (zh) * | 2019-01-30 | 2019-07-02 | 东华大学 | 一种低像素多目标人脸检测和关键点定位方法以及对齐方法 |
CN111292415A (zh) * | 2020-02-25 | 2020-06-16 | 华南理工大学 | 一种基于球坐标位置图的单视图三维人脸重建方法 |
CN111950477A (zh) * | 2020-08-17 | 2020-11-17 | 南京大学 | 一种基于视频监督的单图像三维人脸重建方法 |
-
2021
- 2021-04-15 CN CN202110422579.0A patent/CN113076918B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108805977A (zh) * | 2018-06-06 | 2018-11-13 | 浙江大学 | 一种基于端到端卷积神经网络的人脸三维重建方法 |
CN109584353A (zh) * | 2018-10-22 | 2019-04-05 | 北京航空航天大学 | 一种基于单目视频重建三维人脸表情模型的方法 |
CN109377563A (zh) * | 2018-11-29 | 2019-02-22 | 广州市百果园信息技术有限公司 | 一种人脸网格模型的重建方法、装置、设备和存储介质 |
CN109961006A (zh) * | 2019-01-30 | 2019-07-02 | 东华大学 | 一种低像素多目标人脸检测和关键点定位方法以及对齐方法 |
CN111292415A (zh) * | 2020-02-25 | 2020-06-16 | 华南理工大学 | 一种基于球坐标位置图的单视图三维人脸重建方法 |
CN111950477A (zh) * | 2020-08-17 | 2020-11-17 | 南京大学 | 一种基于视频监督的单图像三维人脸重建方法 |
Non-Patent Citations (4)
Title |
---|
KAI HAN 等: "GhostNet:More Features from Cheap Operations", 《ARXIV》 * |
YAO FENG 等: "Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network", 《ARXIV》 * |
席楠: "基于三维重建的视频人脸替换技术研究与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
董洪伟: "基于网格变形的从图像重建三维人脸", 《计算机辅助设计与图形学学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115082991A (zh) * | 2022-06-27 | 2022-09-20 | 平安银行股份有限公司 | 人脸活体检测方法、装置及电子设备 |
CN116503524A (zh) * | 2023-04-11 | 2023-07-28 | 广州赛灵力科技有限公司 | 一种虚拟形象的生成方法、系统、装置及存储介质 |
CN116503524B (zh) * | 2023-04-11 | 2024-04-12 | 广州赛灵力科技有限公司 | 一种虚拟形象的生成方法、系统、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113076918B (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10529137B1 (en) | Machine learning systems and methods for augmenting images | |
US10679046B1 (en) | Machine learning systems and methods of estimating body shape from images | |
CN111126272B (zh) | 姿态获取方法、关键点坐标定位模型的训练方法和装置 | |
CN109325437B (zh) | 图像处理方法、装置和系统 | |
CN112614213B (zh) | 人脸表情确定方法、表情参数确定模型、介质及设备 | |
WO2020078119A1 (zh) | 模拟用户穿戴服装饰品的方法、装置和系统 | |
WO2020119458A1 (zh) | 脸部关键点检测方法、装置、计算机设备和存储介质 | |
US11615516B2 (en) | Image-to-image translation using unpaired data for supervised learning | |
Kumar et al. | Three-dimensional sign language recognition with angular velocity maps and connived feature resnet | |
JP6207210B2 (ja) | 情報処理装置およびその方法 | |
US20230073340A1 (en) | Method for constructing three-dimensional human body model, and electronic device | |
Jiang et al. | Dual attention mobdensenet (damdnet) for robust 3d face alignment | |
US20220301295A1 (en) | Recurrent multi-task convolutional neural network architecture | |
CN113496507A (zh) | 一种人体三维模型重建方法 | |
CN110599395A (zh) | 目标图像生成方法、装置、服务器及存储介质 | |
CN113255457A (zh) | 基于人脸表情识别的动画角色面部表情生成方法及系统 | |
JP2023531263A (ja) | 画像から画像への変換のための知識蒸留を維持する意味関係 | |
CN111680550B (zh) | 情感信息识别方法、装置、存储介质及计算机设备 | |
Natarajan et al. | Dynamic GAN for high-quality sign language video generation from skeletal poses using generative adversarial networks | |
Lin et al. | Motion-aware feature enhancement network for video prediction | |
Le et al. | Marker optimization for facial motion acquisition and deformation | |
Kwolek et al. | Recognition of JSL fingerspelling using deep convolutional neural networks | |
CN113076918B (zh) | 基于视频的人脸表情克隆方法 | |
Jung et al. | Learning free-form deformation for 3D face reconstruction from in-the-wild images | |
CN117333604A (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 |