CN117292030A - 一种生成三维数字人动画的方法和系统 - Google Patents
一种生成三维数字人动画的方法和系统 Download PDFInfo
- Publication number
- CN117292030A CN117292030A CN202311411658.7A CN202311411658A CN117292030A CN 117292030 A CN117292030 A CN 117292030A CN 202311411658 A CN202311411658 A CN 202311411658A CN 117292030 A CN117292030 A CN 117292030A
- Authority
- CN
- China
- Prior art keywords
- frame
- image
- parameters
- dimensional
- video
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000014509 gene expression Effects 0.000 claims abstract description 33
- 238000009877 rendering Methods 0.000 claims abstract description 26
- 230000003993 interaction Effects 0.000 claims abstract description 9
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 5
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 5
- 239000011159 matrix material Substances 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 8
- 238000010801 machine learning Methods 0.000 claims description 8
- 230000006835 compression Effects 0.000 claims description 7
- 238000007906 compression Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 6
- 238000012937 correction Methods 0.000 claims description 3
- 238000012821 model calculation Methods 0.000 claims description 3
- 230000002194 synthesizing effect Effects 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 2
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 210000004709 eyebrow Anatomy 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 11
- 210000003128 head Anatomy 0.000 description 10
- 230000000193 eyeblink Effects 0.000 description 8
- 230000008921 facial expression Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000008451 emotion Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/02—Non-photorealistic rendering
-
- 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/161—Detection; Localisation; Normalisation
-
- 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/174—Facial expression recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Graphics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种生成三维数字人动画的方法和系统,主要涉及三维数字人动画技术领域。包括以下步骤:配置人机交互界面得到模板视频人物嘴型信息,并将文本转换为语音数据;将配置好的模板视频人物嘴型信息替换为语音驱动并获取新的视频数据;采集步骤S2中获取的新的视频数据的每一帧图像以及每一帧图像中的人脸关键点坐标;通过获取的每一帧图像以及每一帧图像中的人脸关键点坐标计算每一帧的图像参数得到表情参数;将得到的表情参数按照帧序列导入三维渲染引擎;通过三维渲染引擎输出图像序列;将得到的图像序列进行视频合成。本发明的有益效果在于:能极大的提高三维动画数字人的生成效率。
Description
技术领域
本发明涉及三维数字人动画技术领域,具体是一种生成三维数字人动画的方法和系统。
背景技术
机器学习提供了一些列丰富有趣的能力,比如文本转语音技术,语音替换已经视频人物嘴型的技术,人脸关键点采集的技术。目前也存在通过以上技术生成数字人视频的产品。但其只是更改了原视频中已经存在的人物口型,并不能修改原视频中的场景,人物着装等信息。不具备足够的灵活性。
得益于三维渲染引擎如Ureal,Maye等的技术进步,在足够的算力加持下已经可以构建近乎于以假乱真的人物模型,并通过软件内部特定的编程方式或者动画资产的形式控制人物模型的肢体动作和面部表情。
目前生成三维数字人动画的生成方式主要是通过在三维渲染引擎的动画系统中通过手动方式为每一帧编辑动画关键帧,尤其是三维人物中面部表情活动的动画,要想保证人物面部表情的流畅并且符合现实,需要一帧一帧的编辑面部动画。通常来说,这个步骤是复杂、耗时且必须具有相应的技术能力才能完成,普通人无法在没有经过专业培训无法完成。
发明内容
本发明的目的在于提供一种生成三维数字人动画的方法和系统,它能极大的提高三维动画数字人的生成效率。
本发明为实现上述目的,通过以下技术方案实现:
一种生成三维数字人动画的方法,包括以下步骤:
S1:配置人机交互界面得到模板视频人物嘴型信息,并将文本转换为语音数据;
S2:将配置好的模板视频人物嘴型信息替换为语音驱动并获取新的视频数据;
S3:采集步骤S2中获取的新的视频数据的每一帧图像以及每一帧图像中的人脸关键点坐标;
S4:通过获取的每一帧图像以及每一帧图像中的人脸关键点坐标计算每一帧的图像参数得到表情参数;
S5:将得到的表情参数按照帧序列导入三维渲染引擎;
S6:通过三维渲染引擎输出图像序列;
S7:将得到的图像序列进行视频合成。
优选的,所述配置人机交互界面具体为:配置模板场景、调整场景、输入驱动文本信息、选择语言、选择配音性别、音色、输出视频分辨率、输出视频格式以及输出视频压缩率;所述将文本转换为语音数据具体为:将输入的文本信息、语言、性别以及音色参数作为入参调用文本转语音的机器学习模型接口,通过模型计算,依据输入数据生成对应的语音数据作为返回值,并将此语音数据进行保存。
优选的,所述步骤S2具体为:读取步骤S1中的语音数据以及模板视频人物嘴型信息,并将语音数据和模板视频人物嘴型信息作为入参调用语音驱动嘴型同步机器学习模型接口,模型经过计算输出与输入语音相匹配的嘴型同步视频数据,新的视频数据时长应与上述语音数据时长相等,并将此视频数据进行保存。
优选的,所述采集新的视频数据的每一帧图像具体为:读取步骤S2中采集到的视频数据,获取视频数据的帧率、帧数以及时长参数,并将其每一帧的图像序列按顺序保存得到帧序列;获取的新的视频数据的每一帧图像中的人脸关键点坐标具体为:按照顺序读取上述帧序列,通过调用人脸关键点识别接口,获取该帧中存在的人脸所有三维关键点坐标。
优选的,所述步骤S4中计算每一帧的图像参数得到表情参数具体为:计算每一帧头部转动参数以及计算每一帧表情参数。
优选的,所述头部转动参数包括:HeadYaw、HeadPitch以及HeadRoll,所述计算每一帧头部转动参数具体包括:
获取帧图像的宽度、高度以及通道数;根据帧图像的官渡设置相机的焦距,并计算图像中心点的坐标;根据相机的焦距以及中心点坐标创建相机矩阵;对畸变系数进行初始化;从输入的人脸关键点中提取前468个关键点的三维坐标并在landmarks变量中存储;进行坐标变换和姿态校正;提取模型点和图像点;使用OpenCV库中的cv2.solvePnP函数,通过模型点、图像点、相机矩阵和畸变系数计算旋转矢量以及平移矢量;cv2.solvePnP函数返回姿态变换矩阵、度量标准的三维坐标、旋转矢量和平移矢量;使用transforms3d库中的mat2euler函数,将旋转矢量转换为欧拉角矩阵,所述欧拉角矩阵包括俯仰、偏航和滚动三个角度;将俯仰、偏航和滚动参数进行平滑操作并按帧顺序保存。
优选的,所述将得到的表情参数按照帧序列导入三维渲染引擎具体为:按照上述每一帧的表情参数创建动画资产并将其应用在三维人物模型之上。
优选的,所述通过三维渲染引擎输出图像序列具体为:使用三维渲染引擎的动画组件,按照用户选择的分辨率,将上述带有动画的人物模型从第一帧渲染到最后一帧,将每一帧动画都渲染出图片保存。
优选的,所述将得到的图像序列进行视频合成具体为:通过读取上述渲染出的图片,按照用户选择的视频格式和压缩率合成视频,并将步骤S1中生成的音频附加在新的视频上。
一种由文本驱动生成三维数字人动画的系统,包括:
数据配置模块:用于配置人机交互界面得到模板视频人物嘴型信息,将文本转换为语音数据,并将配置好的模板视频人物嘴型信息替换为语音驱动并获取新的视频数据;
数据采集模块:用于采集获取的新的视频数据的每一帧图像以及每一帧图像中的人脸关键点坐标;
数据处理模块:用于通过获取的每一帧图像以及每一帧图像中的人脸关键点坐标计算每一帧的图像参数得到表情参数,以及得到的表情参数按照帧序列导入三维渲染引擎,另外通过三维渲染引擎输出图像序列;
数据输出模块:用于将得到的图像序列进行视频合成。
对比现有技术,本发明的有益效果在于:
1、人物模型、场景,灯光,摄像机位置均可编辑修改,不受限制;
2、导出视频压缩率,码率,分辨率都可以编辑
3、导出视频本身即为三维动画形式,场景为任意场景,不受限于现实世界
4、操作简单,用户只需要输入需要播放的文本,选择语言,选择导出动画参数,即可输出对应的三维维数字人动画视频。
附图说明
图1是本发明的方法流程图。
图2是本发明的系统框架图。
附图编号说明:
1、关键点mark33;2、关键点mark133;3、关键点mark263;4、关键点mark362;5、左眼眉毛下边沿;6、右眼眉毛下边沿;7、左眼上边沿;8、右眼上边沿;9、左嘴角关键点mark61;10、右嘴角关键点mark291;11、嘴唇关键点mark13;12、鼻子尖部关键点mark1。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。
在本发明中,术语如“上”、“下”、“左”、“右”、“前”、“后”、“竖直”、“水平”、“侧”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,只是为了便于叙述本发明各部件或元件结构关系而确定的关系词,并非特指本发明中任一部件或元件,不能理解为对本发明的限制。
本发明中,术语如“固接”、“相连”、“连接”等应做广义理解,表示可以是固定连接,也可以是一体地连接或可拆卸连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的相关科研或技术人员,可以根据具体情况确定上述术语在本发明中的具体含义,不能理解为对本发明的限制。
实施例:一种生成三维数字人动画的方法
如图1所示,具体包括以下步骤:
S1:配置人机交互界面得到模板视频人物嘴型信息,并将文本转换为语音数据;
S2:将配置好的模板视频人物嘴型信息替换为语音驱动并获取新的视频数据;
S3:采集步骤S2中获取的新的视频数据的每一帧图像以及每一帧图像中的人脸关键点坐标;
S4:通过获取的每一帧图像以及每一帧图像中的人脸关键点坐标计算每一帧的图像参数得到表情参数;
S5:将得到的表情参数按照帧序列导入三维渲染引擎;
S6:通过三维渲染引擎输出图像序列;
S7:将得到的图像序列进行视频合成。
其中,步骤S1中所述交互界面作为输入配置信息的界面,用户通过此交互界面选择模板场景、调整场景、输入驱动文本信息、选择语言(中文、英语、日语、韩语等)、选择配音性别(男性、女性、)、音色、输出视频分辨率、输出视频格式、输出视频压缩率等参数;
步骤S1中将文本转换为语音数据具体为:通过计算机运行程序,将输入的文本数据、语言、性别、音色等参数作为入参调用文本转语音的机器学习模型接口,通过模型计算,会依据输入数据生成对应的语音数据作为返回值,将此语音数据保存。
步骤S2中,通过计算机运行程序对此语音数据进行读取,同时读取模板视频,将上述语音和模板视频作为入参调用语音驱动嘴型同步机器学习模型接口,模型经过计算输出与输入语音相匹配的嘴型同步视频数据,新的视频时长应与上述语音数据时长相等,将此视频数据保存。
步骤S3中,获取新的视频数据的每一帧图像具体为:通过计算机运行程序,读取步骤S2中得到的新的视频数据,获取其帧率、帧数、时长等参数,并其每一帧的图像序列并按照0001.png、0002.png、0003.png、…的形式保存下来,采用此种形式对图像进行保存是为了对图像进行编号的同时可以在调用时按顺序进行;
步骤S3中,获取新的视频数据的每一帧图像中的人脸关键点坐标具体为:通过计算机运行程序,取按照顺序读取上述帧序列,通过调用人脸关键点识别接口,获取该帧中存在的人脸所有三维关键点坐标。
步骤S4中,计算每一帧的图像参数得到表情参数具体包括计算每一帧头部转动参数以及计算每一帧表情参数,其中,头部转动参数又称头部姿态估计,包含HeadYaw、HeadPitch、HeadRoll三个参数,这三个参数分别代表了左右转头、左右倾斜头部、上下点头,以下为Python中计算每一帧头部转动参数的具体方式:
获取帧图像的宽度、高度、通道数;
根据图像宽度设置相机的焦距focal_length,并计算图像中心点的坐标center;
创建相机矩阵camera_matrix,这个矩阵描述了相机的参数,如焦距focal_length和中心点center,以及一个固定的内部参数类型float;
初始化畸变系数dist_coeff,通常为零,表示没有畸变;
从输入的人脸关键点face_landmarks中提取前468个关键点的三维坐标,并将它们存储在landmarks变量中;
进行一系列的坐标变换和姿态校正,包括将关键点landmarks投影到三维空间、调整坐标系的手性、估计尺度等操作;
提取模型点model_points和图像点image_points。model_points包含度量标准的三维坐标,而image_points包含了从关键点坐标计算得到的图像上的坐标;
使用OpenCV库中的cv2.solvePnP函数,通过提供模型点model_points和图像点image_points,以及相机矩阵和畸变系数,计算旋转矢量rotation_vector和平移矢量translation_vector,这两个矢量描述了头部的姿态和位置;
cv2.solvePnP返回了姿态变换矩阵pose_transform_mat、度量标准的三维坐标metric_landmarks、旋转矢量rotation_vector和平移矢量translation_vector;
使用transforms3d库中的mat2euler函数,将旋转矩阵pose_transform_mat转换为欧拉角矩阵。欧拉角是一种常用的旋转表示方法,欧拉角矩阵通常包括俯仰(pitch)、偏航(yaw)和滚动(roll)三个角度;
将上述角度参数进行平滑操作并按照帧顺序保存;
需要指出的是,上述头部姿态估计核心是通过机器视觉(OpenCV)的方式获取头部转动参数的,并且存在优化迭代的可能性。实际上可行方案方式不止这一种,包括并不限于机器学习方案、光流方案等。
表情参数如表1所示,有61个表情参数,表情参数的计算具有极大的灵活性。
表1表情参数及示意
计算每一帧表情参数以其中某一帧为的微笑表情为例,对面部影响较大的主要参数为:左眼眨动(leftEyeBlink)、右眼眨动(rightEyeBlink)、左眉毛上扬(browOuterUp_L)、右眉毛上扬(browOuterUp_R)、左嘴角上扬(mouthSmile_R)、右嘴角上扬(mouthSmile_R)、嘴部闭合(mouthClose);
计算左眼眨动leftEyeBlink参数,过程如下:
取眼睛宽度关键点mark33和mark133计算欧式距离,记结果为left_eye_width。取眼睛外侧垂直距离mark160和mark144计算欧式距离,记结果为left_eye_outer_lid。眼睛内侧mark158和mark133欧式距离结果记为left_eye_inner_lid。眼睛中间垂直mark159和mark14的垂直距离记为left_eye_mid_lid;
计算平均垂直距离,将left_eye_outer_lid、left_eye_inner_lid、left_eye_mid_lid相加除以3记为left_eye_lid_avg;
计算left_eye_lid_avg与left_eye_width的比值记为left_eye_radio;
计算左眼眨动参数,多次调试计算的经验数据可知,left_eye_radio值一般最大为0.6,最小为0.2。依据上述经验对此数据进行归一化处理,将值从0.2到0.6的范围映射到[-1,1]的范围,记结果为left_eye_blink;
得此帧的left_eye_blink为左眼眨动参数leftEyeBlink,对此值进行平滑处理并保存。
计算右眼眼眨动rightEyeBlink参数过程如下:取眼睛宽度关键点mark263和mark362计算欧式距离,记结果为left_eye_width。取眼睛外侧垂直距离mark387和mark373计算欧式距离,记结果为right_eye_outer_lid。同理眼睛内侧mark385和mark380欧式距离结果记为right_eye_inner_lid。眼睛中间垂直mark386和mark374的垂直距离记为right_eye_mid_lid;
计算平均垂直距离,将right_eye_outer_lid、right_eye_inner_lid、right_eye_mid_lid相加除以3记为right_eye_lid_avg;
计算right_eye_lid_avg与right_eye_width的比值记为right_eye_radio;
计算右眼眨动参数,多次调试计算的经验数据可知,right_eye_radio值一般最大为0.6,最小为0.2。依据上述经验对此数据进行归一化处理,将值从0.2到0.6的范围映射到[-1,1]的范围,记结果为right_eye_blink;
得此帧的right_eye_blink为左眼眨动参数rightEyeBlink,对此值进行平滑处理并保存。
计算左侧眉毛向上提起(browOuterUp_L)参数:
取关键点眉毛下边沿mark295、mark282、mark283计算其眉毛下边沿的平均坐标,通过将其三个坐标相加并除3。记其结果为left_brow_lower;
取关键点眼睛上边沿mark257,计算眉毛下边沿与眼睛上边沿的欧氏距离,记为left_brow_dist;
计算左眉毛向上提起参数,依据经验数据可知,left_brow_dist可取值的最大值为1.5,最小值为1.25。通过归一化计算,将left_brow_dist根据上述经验数据映射到[-1,1]的区间内。其结果即为browOuterUp_L,将其结果做平滑处理并保存;
计算右侧眉毛向上提起(browOuterUp_R)参数;
取关键点眉毛下边沿mark52、mark53、mark46计算其眉毛下边沿的平均坐标,通过将其三个坐标相加并除3。记其结果为right_brow_lower;
取关键点眼睛上边沿mark27,计算眉毛下边沿与眼睛上边沿的欧氏距离,记为right_brow_dist;
计算左眉毛向上提起参数,依据经验数据可知,right_brow_dist可取值的最大值为1.5,最小值为1.25。通过归一化计算,将right_brow_dist根据上述经验数据映射到[-1,1]的区间内。其结果即为browOuterUp_R,将其结果做平滑处理并保存。
计算左嘴角上扬子表情参数mouthSmile_L:
取左嘴角关键点参数mark61,取上嘴唇下边沿中间点关键点坐标mark13;
取两个坐标mark61和mark13在Y轴(面部垂直方向)方向的坐标相减,得其在在垂直方向的距离记为left_dist;
计算左嘴角上扬参数,依据经验left_dist最大值为0,最小值为-0.25,通过归一化计算。将其变化量映射到[-1,1]区间内。其结果为mouthSmile_L,将此结果做平滑处理并保存。
计算右嘴角上扬子表情参数mouthSmile_R:
取右嘴角关键点参数mark291,取上嘴唇下边沿中间点关键点坐标mark13;
取两个坐标mark291和mark13在Y轴(面部垂直方向)方向的坐标相减,得其在在垂直方向的距离记为right_dist;
计算左嘴角上扬参数,依据经验right_dist最大值为0,最小值为-0.25。通过归一化计算。将其变化量映射到[-1,1]区间内。其结果为mouthSmile_R,将此结果做平滑处理并保存。
计算嘴巴闭合(mouthClose)参数:
取上嘴唇下边沿关键点mark13,取下嘴唇上边沿mark14。计算其和并除2得嘴部中心点,记为mouth_center;
取鼻子尖部关键点mark1。计算mark1与mouth_center的欧氏距离,记为mouth_center_nose_dist;
计算上下嘴唇边沿mark13与mark14的欧氏距离,记其为mouth_open_dist;
计算mouth_center_nose_dist与mouth_open_dist的差值,记为mouth_close。依据经验数据可知,mouth_close可取值的最大值为4.5,最小值为3.0。通过归一化计算得将其值映射到[-1,1]的区间内,其结果为mouthClose,将其结果做平滑处理并保存。
需要指出的是,在计算每一帧的表情之前,应用程序并不知道每一帧的表情是什么,实际上应该计算全部子表情参数,所有子表情参数组合就是该面部表情的全部参数特征。需要强调的是每个子表情参数计算的方式并不是一成不变的,存在优化进步的可能性。
重复步骤S3-S4,将视频中所有帧画面进行处理并按照每一帧处理的顺序保存其计算得出的表情计算结果。
步骤S5具体为:通过计算机运行程序,按照上述每一帧的表情参数创建动画资产并将其应用在三维人物模型之上,以Ureal三维渲染引擎为例,步骤如下:
读取步骤S5中按照帧顺序保存的表情参数,获取视频的帧数fps,时长time等信息;
使用CreateMoveScenec创建一个空的动画资产,并使用MovieSceneBindingRig方法为动画资产绑定三维人物模型的骨骼;
使用GetMovieScene方法,获取动画场景,记为MovieScene并使用MovieScene的SetPlaybackRange设置将上述视频时长time配置到动画资产中,使用MovieScene的SetFrameRate设置动画资产的帧率;
使用MovieScene的MovieSceneControlRigParameterTrack方法获取骨骼资产中面部Face_ControlBoard_CtrlRig和身体Body_ControlBoard_CtrlRig的控制句柄,分别记为ControlRigParameterSectionFace和ControlRigParameterSectionBody;
按照视频中帧的顺序通过使用ControlRigParameterSectionFace的方法AddScalarParameterKey为每个子表情在每一帧赋值;
按照视频中帧的顺序通过使用ControlRigParameterSectionBody的方法AddTransformParameterKey为每个子表情在每一帧赋值。
经过上述步骤,所有子表情都已经按照帧的顺序为保存在动画资产并应用在上述人物模型之上。
步骤S6具体为:通过计算机运行程序,使用三维渲染引擎的动画组件,按照用户选择的分辨率,将上述带有动画的人物模型从第一帧渲染到最后一帧。将每一帧动画都渲染出图片并按照命名规则0001.jpg,0002.jpg,0003.jpg的形式保存。
步骤S7具体为:通过计算机运行程序读取上述渲染出的图片,按照用户选择的视频格式和压缩率合成视频,并将步骤1中生成的音频附加在新的视频上。
一种生成三维数字人动画的系统,包括:
数据配置模块:用于配置人机交互界面得到模板视频人物嘴型信息,将文本转换为语音数据,并将配置好的模板视频人物嘴型信息替换为语音驱动并获取新的视频数据;
数据采集模块:用于采集获取的新的视频数据的每一帧图像以及每一帧图像中的人脸关键点坐标;
数据处理模块:用于通过获取的每一帧图像以及每一帧图像中的人脸关键点坐标计算每一帧的图像参数得到表情参数,以及得到的表情参数按照帧序列导入三维渲染引擎,另外通过三维渲染引擎输出图像序列;
数据输出模块:用于将得到的图像序列进行视频合成。
其中,所述数据配置模块与数据采集模块数据连接,所述数据采集模块与数据处理模块数据连接,所述数据处理模块与数据输出模块数据连接。
Claims (10)
1.一种生成三维数字人动画的方法,其特征在于,包括以下步骤:
S1:配置人机交互界面得到模板视频人物嘴型信息,并将文本转换为语音数据;
S2:将配置好的模板视频人物嘴型信息替换为语音驱动并获取新的视频数据;
S3:采集步骤S2中获取的新的视频数据的每一帧图像以及每一帧图像中的人脸关键点坐标;
S4:通过获取的每一帧图像以及每一帧图像中的人脸关键点坐标计算每一帧的图像参数得到表情参数;
S5:将得到的表情参数按照帧序列导入三维渲染引擎;
S6:通过三维渲染引擎输出图像序列;
S7:将得到的图像序列进行视频合成。
2.根据权利要求1所述一种生成三维数字人动画的方法,其特征在于,所述配置人机交互界面具体为:配置模板场景、调整场景、输入驱动文本信息、选择语言、选择配音性别、音色、输出视频分辨率、输出视频格式以及输出视频压缩率;所述将文本转换为语音数据具体为:将输入的文本信息、语言、性别以及音色参数作为入参调用文本转语音的机器学习模型接口,通过模型计算,依据输入数据生成对应的语音数据作为返回值,并将此语音数据进行保存。
3.根据权利要求1所述一种生成三维数字人动画的方法,其特征在于,所述步骤S2具体为:读取步骤S1中的语音数据以及模板视频人物嘴型信息,并将语音数据和模板视频人物嘴型信息作为入参调用语音驱动嘴型同步机器学习模型接口,模型经过计算输出与输入语音相匹配的嘴型同步视频数据,新的视频数据时长应与上述语音数据时长相等,并将此视频数据进行保存。
4.根据权利要求1所述一种生成三维数字人动画的方法,其特征在于,所述采集新的视频数据的每一帧图像具体为:读取步骤S2中采集到的视频数据,获取视频数据的帧率、帧数以及时长参数,并将其每一帧的图像序列按顺序保存得到帧序列;获取的新的视频数据的每一帧图像中的人脸关键点坐标具体为:按照顺序读取上述帧序列,通过调用人脸关键点识别接口,获取该帧中存在的人脸所有三维关键点坐标。
5.根据权利要求1所述一种生成三维数字人动画的方法,其特征在于,所述步骤S4中计算每一帧的图像参数得到表情参数具体为:计算每一帧头部转动参数以及计算每一帧表情参数。
6.根据权利要求5所述一种生成三维数字人动画的方法,其特征在于,所述头部转动参数包括:HeadYaw、HeadPitch以及HeadRoll,所述计算每一帧头部转动参数具体包括:
获取帧图像的宽度、高度以及通道数;根据帧图像的官渡设置相机的焦距,并计算图像中心点的坐标;根据相机的焦距以及中心点坐标创建相机矩阵;对畸变系数进行初始化;从输入的人脸关键点中提取前468个关键点的三维坐标并在landmarks变量中存储;进行坐标变换和姿态校正;提取模型点和图像点;使用OpenCV库中的cv2.solvePnP函数,通过模型点、图像点、相机矩阵和畸变系数计算旋转矢量以及平移矢量;cv2.solvePnP函数返回姿态变换矩阵、度量标准的三维坐标、旋转矢量和平移矢量;使用transforms3d库中的mat2euler函数,将旋转矢量转换为欧拉角矩阵,所述欧拉角矩阵包括俯仰、偏航和滚动三个角度;将俯仰、偏航和滚动参数进行平滑操作并按帧顺序保存。
7.根据权利要求1所述一种生成三维数字人动画的方法,其特征在于,所述将得到的表情参数按照帧序列导入三维渲染引擎具体为:按照上述每一帧的表情参数创建动画资产并将其应用在三维人物模型之上。
8.根据权利要求1所述种由文本驱动生成三维数字人动画的方法,其特征在于,所述通过三维渲染引擎输出图像序列具体为:使用三维渲染引擎的动画组件,按照用户选择的分辨率,将上述带有动画的人物模型从第一帧渲染到最后一帧,将每一帧动画都渲染出图片保存。
9.根据权利要求1所述种由文本驱动生成三维数字人动画的方法,其特征在于,所述将得到的图像序列进行视频合成具体为:通过读取上述渲染出的图片,按照用户选择的视频格式和压缩率合成视频,并将步骤S1中生成的音频附加在新的视频上。
10.一种生成三维数字人动画的系统,其特征在于,包括:
数据配置模块:用于配置人机交互界面得到模板视频人物嘴型信息,将文本转换为语音数据,并将配置好的模板视频人物嘴型信息替换为语音驱动并获取新的视频数据;
数据采集模块:用于采集获取的新的视频数据的每一帧图像以及每一帧图像中的人脸关键点坐标;
数据处理模块:用于通过获取的每一帧图像以及每一帧图像中的人脸关键点坐标计算每一帧的图像参数得到表情参数,以及得到的表情参数按照帧序列导入三维渲染引擎,另外通过三维渲染引擎输出图像序列;
数据输出模块:用于将得到的图像序列进行视频合成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311411658.7A CN117292030A (zh) | 2023-10-27 | 2023-10-27 | 一种生成三维数字人动画的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311411658.7A CN117292030A (zh) | 2023-10-27 | 2023-10-27 | 一种生成三维数字人动画的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117292030A true CN117292030A (zh) | 2023-12-26 |
Family
ID=89258628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311411658.7A Pending CN117292030A (zh) | 2023-10-27 | 2023-10-27 | 一种生成三维数字人动画的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117292030A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103561267A (zh) * | 2013-09-10 | 2014-02-05 | 罗天明 | 基于运动信息与深度信息的3d视频编码传输方法 |
CN107765852A (zh) * | 2017-10-11 | 2018-03-06 | 北京光年无限科技有限公司 | 基于虚拟人的多模态交互处理方法及系统 |
CN110287792A (zh) * | 2019-05-23 | 2019-09-27 | 华中师范大学 | 一种处于自然教学环境的课堂中学生学习状态实时分析方法 |
CN110866968A (zh) * | 2019-10-18 | 2020-03-06 | 平安科技(深圳)有限公司 | 基于神经网络生成虚拟人物视频的方法及相关设备 |
CN111428175A (zh) * | 2020-03-04 | 2020-07-17 | 中国平安人寿保险股份有限公司 | 基于微表情识别的在线课程推荐方法及相关设备 |
CN113269872A (zh) * | 2021-06-01 | 2021-08-17 | 广东工业大学 | 基于三维人脸重构和视频关键帧优化的合成视频生成方法 |
CN113628309A (zh) * | 2021-08-17 | 2021-11-09 | 杭州相芯科技有限公司 | 一种真人语音口型动画生成方法及系统、电子设备、存储介质 |
CN115908659A (zh) * | 2022-11-25 | 2023-04-04 | 西安交通大学 | 一种基于生成对抗网络的说话人脸合成方法和装置 |
CN116486812A (zh) * | 2023-03-24 | 2023-07-25 | 东北大学 | 基于语料关系的多领域唇语识别样本自动生成方法及系统 |
CN116665275A (zh) * | 2023-06-06 | 2023-08-29 | 昆明理工大学 | 基于文本到汉语拼音的面部表情合成与交互控制方法 |
CN116910198A (zh) * | 2023-05-19 | 2023-10-20 | 厦门黑镜科技有限公司 | 一种数字人的控制方法、装置、电子设备和存储介质 |
CN116934953A (zh) * | 2022-03-29 | 2023-10-24 | 华为技术有限公司 | 驱动虚拟人说话和模型训练方法、装置、计算设备及系统 |
-
2023
- 2023-10-27 CN CN202311411658.7A patent/CN117292030A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103561267A (zh) * | 2013-09-10 | 2014-02-05 | 罗天明 | 基于运动信息与深度信息的3d视频编码传输方法 |
CN107765852A (zh) * | 2017-10-11 | 2018-03-06 | 北京光年无限科技有限公司 | 基于虚拟人的多模态交互处理方法及系统 |
CN110287792A (zh) * | 2019-05-23 | 2019-09-27 | 华中师范大学 | 一种处于自然教学环境的课堂中学生学习状态实时分析方法 |
CN110866968A (zh) * | 2019-10-18 | 2020-03-06 | 平安科技(深圳)有限公司 | 基于神经网络生成虚拟人物视频的方法及相关设备 |
CN111428175A (zh) * | 2020-03-04 | 2020-07-17 | 中国平安人寿保险股份有限公司 | 基于微表情识别的在线课程推荐方法及相关设备 |
CN113269872A (zh) * | 2021-06-01 | 2021-08-17 | 广东工业大学 | 基于三维人脸重构和视频关键帧优化的合成视频生成方法 |
CN113628309A (zh) * | 2021-08-17 | 2021-11-09 | 杭州相芯科技有限公司 | 一种真人语音口型动画生成方法及系统、电子设备、存储介质 |
CN116934953A (zh) * | 2022-03-29 | 2023-10-24 | 华为技术有限公司 | 驱动虚拟人说话和模型训练方法、装置、计算设备及系统 |
CN115908659A (zh) * | 2022-11-25 | 2023-04-04 | 西安交通大学 | 一种基于生成对抗网络的说话人脸合成方法和装置 |
CN116486812A (zh) * | 2023-03-24 | 2023-07-25 | 东北大学 | 基于语料关系的多领域唇语识别样本自动生成方法及系统 |
CN116910198A (zh) * | 2023-05-19 | 2023-10-20 | 厦门黑镜科技有限公司 | 一种数字人的控制方法、装置、电子设备和存储介质 |
CN116665275A (zh) * | 2023-06-06 | 2023-08-29 | 昆明理工大学 | 基于文本到汉语拼音的面部表情合成与交互控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6504546B1 (en) | Method of modeling objects to synthesize three-dimensional, photo-realistic animations | |
KR101635730B1 (ko) | 몽타주 생성 장치 및 방법, 그 방법을 수행하기 위한 기록 매체 | |
US11562536B2 (en) | Methods and systems for personalized 3D head model deformation | |
KR20020015642A (ko) | 얼굴 영상의 형태 정보에 기반한 합성 얼굴 영상 생성장치 및 그 방법 | |
US11282257B2 (en) | Pose selection and animation of characters using video data and training techniques | |
US11587288B2 (en) | Methods and systems for constructing facial position map | |
CN111127668B (zh) | 一种角色模型生成方法、装置、电子设备和存储介质 | |
JP7462120B2 (ja) | 2次元(2d)顔画像から色を抽出するための方法、システム及びコンピュータプログラム | |
US11158104B1 (en) | Systems and methods for building a pseudo-muscle topology of a live actor in computer animation | |
CN112102468B (zh) | 模型训练、虚拟人物图像生成方法和装置以及存储介质 | |
CN114863533A (zh) | 数字人生成方法和装置及存储介质 | |
KR20230110787A (ko) | 개인화된 3d 머리 및 얼굴 모델들을 형성하기 위한 방법들 및 시스템들 | |
Liu et al. | Data-driven 3d neck modeling and animation | |
Wampler et al. | Dynamic, expressive speech animation from a single mesh | |
CN117292030A (zh) | 一种生成三维数字人动画的方法和系统 | |
CN116524087A (zh) | 融合神经辐射场的音频驱动的说话人视频合成方法及系统 | |
Wang et al. | Uncouple generative adversarial networks for transferring stylized portraits to realistic faces | |
CN114937106A (zh) | 图像的生成方法、装置和非易失性计算机可读存储介质 | |
CN117808943A (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 |