CN115631267A - 生成动画的方法及装置 - Google Patents

生成动画的方法及装置 Download PDF

Info

Publication number
CN115631267A
CN115631267A CN202110795095.0A CN202110795095A CN115631267A CN 115631267 A CN115631267 A CN 115631267A CN 202110795095 A CN202110795095 A CN 202110795095A CN 115631267 A CN115631267 A CN 115631267A
Authority
CN
China
Prior art keywords
training
data
key points
frames
video frames
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
Application number
CN202110795095.0A
Other languages
English (en)
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies 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 Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202110795095.0A priority Critical patent/CN115631267A/zh
Priority to PCT/CN2022/096773 priority patent/WO2023284435A1/zh
Publication of CN115631267A publication Critical patent/CN115631267A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请提供了一种生成动画的方法和装置,该生成动画的方法,通过将获取的待处理语音和待处理视频处理得到与待处理语音对应的人脸的关键点的数据,该人脸的关键点包括第一特征的关键点,其中,与该多个音频帧中至少两个音频帧对应的该第一特征的关键点中的至少一个关键点的位置不同,该第一特征包括眼神、头部姿势、唇形中的至少一个,再根据人脸关键点的数据和待处理视频得到多个图像帧,随后根据多个图像帧得到动画。本申请提供一种生成动画的方法与装置,通过丰富人脸动画中的面部表情,更加生动地展现音频的情感信息,提高人脸动画与语音的匹配度,使得聋哑人更加准确地理解音频表达的含义,提高聋哑人的用户体验。

Description

生成动画的方法及装置
技术领域
本申请涉及计算机技领域,并且更具体地,涉及一种生成动画的方法及装置。
背景技术
在我国,聋哑人数约占总人口的1.7%,数量十分庞大。他们在日常生活中需要通过手语进行交流,而大多数不了解手语的普通人很难与他们沟通。为了更好地照顾这个庞大而特殊的群体,方便他们的日常生活,利用语音生成对应的手语动画的方法应运而生。然而,仅有手语动画可能无法准确地表达语音的情感信息,从而可能使得聋哑人无法准确地理解语音的含义。类似地,将手语翻译成的语音如果不能反映聋哑人做手语时的情感,也可能使得普通人无法准确地理解聋哑人想表达的意思。因此,如何优化语音与动画之间的转换,提升聋哑人的用户体验,进一步促进聋哑人与普通人之间的沟通交流,是亟待解决的问题。
发明内容
本申请提供一种生成动画的方法和装置,通过优化语音与动画之间的转换,提升聋哑人的用户体验,进一步促进聋哑人与普通人之间的沟通交流。
第一方面,提供了一种生成动画的方法,包括:获取待处理语音、待处理视频;根据该待处理语音和该待处理视频得到第一预处理数据,该第一预处理数据包括与该待处理语音的多个音频帧对应的人脸的关键点的数据,该人脸的关键点包括第一特征的关键点,其中,与该多个音频帧中至少两个音频帧对应的该第一特征的关键点中的至少一个关键点的位置不同,该第一特征包括眼神、头部姿势、唇形中的至少一个;根据该第一预处理数据和该待处理视频得到多个图像帧,该多个图像帧中至少两个图像帧中的该第一特征不同;根据该多个图像帧得到动画。
应理解,人脸的关键点的数据包括人脸各个部位的关键点的数据,除了这里的第一特征的关键点的数据,还可以包括眉毛、鼻子、下巴、两颊等等的关键点的数据。
应理解,这里的待处理视频还可以是待处理的多张图片,本申请对此不做限定。
上述方案,通过优化根据语音生成的人脸动画,丰富人脸动画中的面部表情,更加生动地展示音频的情感信息,使得聋哑人更加准确地理解音频表达的含义。另外,通过动画中眼神的变化、唇形的变化、头部的运动,使得人脸动画与音频的匹配度更高;通过动画中头部的自然摆动,使得动画中的人脸更加真实,提高聋哑人的用户体验,促进聋哑人与普通人的交流和沟通,便于聋哑人更好地融入社会。
结合第一方面,在第一方面的某些实现方式中,该待处理视频的内容还包括手臂和手的动作,该第一预处理数据还包括与该待处理语音的多个音频帧对应的手臂和手的关键点的数据,其中,该根据该第一预处理数据和该待处理视频得到多个图像帧,还包括:对该待处理视频进行提取得到手臂和手的图像;将该手臂和手的关键点的数据、该手臂和手的图像输入第二子模型得到多个第二图像帧,该第二图像帧为手和手臂动作的图像帧,该第二子模型是基于手臂和手的关键点的训练数据、手臂和手的训练图像训练得到的,其中,该多个图像帧包括该多个第一图像帧和该多个第二图像帧。
上述方案,根据语音生成手语动作和人脸动画,在通过手语动作翻译语音表达的内容的基础上,通过人脸动画生动地展示语音的情感信息,使得聋哑人更加准确地理解音频表达的含义。具体地,通过动画中眼神的变化、唇形的变化,使得人脸动画与音频的匹配度更高,通过动画中人物在说话时头部的自然摆动,使得动画更加逼真,人物更加真实。提高聋哑人的用户使用体验,促进聋哑人与普通人的交流和沟通,便于聋哑人更好地融入社会。
结合第一方面,在第一方面的某些实现方式中,该第一子模型是以减少第二损失函数值、第四损失函数值为目的训练得到的,该第二子模型是以减少第三损失函数值、该第四损失函数值为目的训练得到的,该第二损失函数值是根据多个第一训练视频帧中的人脸与该多个训练视频帧中的人脸之间的差异计算得到的,该多个第一训练视频帧是将该人脸的关键点的训练数据、该人脸的训练图像输入该第一子模型得到的,该第三损失函数值根据多个第二训练视频帧中的手和手臂与该多个训练视频帧中的手和手臂之间的差异计算得到的,该多个第二训练视频帧是将该手和手臂的关键点的训练数据、该手臂和手的训练图像输入该第二子模型得到,该第四损失函数值是根据第一相似度与第二相似度之间的差异计算得到的,该第一相似度为该多个第一训练视频帧中在第一时间段内播放的训练视频帧对应的语义和该多个第二训练视频帧在该第一时间段内播放的训练视频帧对应的语义的相似度,该第二相似度为该多个训练视频帧在该第一时间段内播放的训练视频帧中人脸动作以及手和手臂动作分别对应的语义的相似度。
上述方案,通过以减少损失函数值为目的,基于包括眼神、头部姿势、唇形等特征的关键点的数据来训练第一子模型,使得生成的人脸动作能够呈现眼神的变化、头部运动姿势和唇形的变化等特征,使得人脸动作的图像更加生动、真实,提高用户体验。通过以减少第四损失函数值为目的训练第一子模型和第二子模型,使得生成的人脸动作和手语动作的同步程度更高,进一步提高用户体验。
结合第一方面,在第一方面的某些实现方式中,根据该待处理语音和该待处理视频得到第一预处理数据,包括:将该待处理语音和该待处理视频输入第一模型得到该第一预处理数据,该第一模型是基于第一训练数据训练得到的,该第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的该训练音频帧和该训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值。
应理解,用于训练第一模型的第一训练数据中,训练音频帧和训练视频帧是同步的,训练视频帧中的人脸动作和手语动作也是同步的,这里的第一阈值和第二阈值是为了限定同步程度的阈值,可以是***配置的,也可以是人为设定的,本申请对此不做限定。结合第一方面,在第一方面的某些实现方式中,该根据该第一预处理数据和该待处理视频得到多个图像帧,包括:对该待处理视频进行提取得到人脸图像;将该人脸的关键点的数据、该人脸图像输入第一子模型得到多个第一图像帧,该第一图像帧为人脸动作的图像帧,该第一子模型是基于人脸的关键点的训练数据、人脸的训练图像训练得到的。
第二方面,提供了一种生成语音的方法,包括:获取待处理数据,该待处理数据包括人脸动作的多个图像帧和手语动作的多个图像帧;根据该待处理数据得到与该人脸动作对应的情感信息和与该手语动作对应的第一文本;根据该情感信息和该第一文本得到带有情感信息的语音数据。
上述方案,通过将视频中人脸动画表达的情感信息与根据手语动作生成的语音相结合,生成带有情感的语音,使得手语翻译成的语音更加准确地表达聋哑人的意思,促进聋哑人与普通人的交流和沟通,便于聋哑人更好地融入社会。
第三方面,提供了一种训练神经网络的方法,包括:获取第一训练数据,该第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的该训练音频帧和该训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值;对该第一训练数据进行提取得到第一训练语音数据;将该第一训练语音数据输入第一模型得到人脸的关键点的训练数据,该人脸的关键点包括第一特征的关键点,该第一特征包括眼神、头部姿势、唇形中的至少一个;根据该人脸的关键点的训练数据与该多个训练视频帧中人脸的关键点的数据的差异计算第一损失函数值;将该第一损失函数值进行反向传播,调整需要训练的参数。
上述方案,通过训练第一模型,基于语音数据得到与语音数据对应的人脸的关键点数据,特别是与语音数据对应的眼神、头部姿势、唇形的关键点的数据,使得基于语音生成的人脸的关键点的信息更加丰富,更能体现出语音的情感。
第四方面,提供了一种训练神经网络的方法,包括:获取第一训练数据,该第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的该训练音频帧和该训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值;对该第一训练数据进行处理得到人脸的关键点的训练数据,该人脸的关键点包括第一特征的关键点,该第一特征包括眼神、头部姿势、唇形中的至少一个;对该第一训练数据进行提取得到人脸的训练图像;以减少第二损失函数值为目的,将该人脸的关键点的训练数据、该人脸的训练图像、输入第一子模型,得到多个第一训练视频帧,该第一训练视频帧为人脸动作的训练视频帧。
上述方案,通过以减少损失函数值为目的,基于包括眼神、头部姿势、唇形等特征的关键点的数据来训练第一子模型,使得生成的人脸动作能够呈现眼神的变化、头部运动姿势和唇形的变化等特征,使得人脸动作的图像更加生动、真实,提高用户体验。
结合第四方面,在第四方面的某些实现方式中,该方法还包括:对该第一训练数据进行处理得到手臂和手的关键点的训练数据;对该第一训练数据进行提取得到手臂和手的训练图像;以减少第三损失函数值为目的,将该手臂和手的关键点的训练数据、该手臂和手的训练图像输入第二子模型,得到多个第二训练视频帧,该第二训练视频帧为手和手臂动作的训练视频帧,第三模型包括第一子模型和第二子模型。
上述方案,训练模型分别生成人脸动作和手语动作的视频帧,使得模型在根据语音生成手语动作的同时,生成能够体现语音情感的人脸动作,更加生动准确地呈现语音表达的内容,提高用户体验。
结合第四方面,在第四方面的某些实现方式中,该得到多个第一训练视频帧,包括:以减少第二损失函数值、第四损失函数值为目的,将该人脸的关键点的训练数据、该人脸的训练图像、输入第一子模型,得到多个第一训练视频帧;该得到多个第二训练视频帧,包括:以减少第三损失函数值、第四损失函数值为目的,将该手臂和手的关键点的训练数据、该手臂和手的训练图像输入第二子模型,得到多个第二训练视频帧;其中,该第二损失函数值是该多个第一训练视频帧中的人脸与该多个训练视频帧中的人脸之间的差异计算得到的,该第三损失函数值根据该多个第二训练视频帧中的手和手臂与该多个训练视频帧中的手和手臂之间的差异计算得到的,该第四损失函数值是根据第一相似度与第二相似度之间的差异计算得到的,该第一相似度为该多个第一训练视频帧中在第一时间段内播放的训练视频帧对应的语义和该多个第二训练视频帧在该第一时间段内播放的训练视频帧对应的语义的相似度,该第二相似度为该多个训练视频帧在该第一时间段内播放的训练视频帧中人脸动作以及手和手臂动作分别对应的语义的相似度。
上述方案,通过以减少第四损失函数值为目的训练第一子模型和第二子模型,使得生成的人脸动作和手语动作的同步程度更高,进一步提高用户体验。
结合第四方面,在第四方面的某些实现方式中,对该第一训练数据进行处理得到人脸的关键点的数据,包括:对该第一训练数据进行提取得到第一训练语音数据;将该第一训练语音数据输入第一模型得到人脸的关键点;根据该人脸的关键点与该多个训练视频帧中人脸的关键点的数据的差异计算第一损失函数值;将该第一损失函数值进行反向传播,调整该第一模型中需要训练的参数。
上述方案,通过训练第一模型,基于语音数据得到与语音数据对应的人脸的关键点数据,特别是与语音数据对应的眼神、头部姿势、唇形的关键点的数据,使得基于语音生成的人脸的关键点的信息更加丰富,更能体现出语音的情感。
第五方面,提供了一种生成动画的装置,包括:获取单元,用于获取待处理语音、待处理视频;处理单元,用于根据该待处理语音和该待处理视频得到第一预处理数据,该第一预处理数据包括与该待处理语音的多个音频帧对应的人脸的关键点的数据,该人脸的关键点包括第一特征的关键点,其中,与该多个音频帧中至少两个音频帧对应的该第一特征的关键点中的至少一个关键点的位置不同,该第一特征包括眼神、头部姿势、唇形中的至少一个;该处理单元,还用于根据该第一预处理数据和该待处理视频得到多个图像帧,该多个图像帧中至少两个图像帧中的该第一特征不同;该处理单元,还用于根据该多个图像帧得到动画。
上述方案,通过优化根据语音生成的人脸动画,生动地展示音频的情感信息,使得聋哑人更加准确地理解音频表达的含义。通过动画中眼神的变化、唇形的变化、头部的运动,使得人脸动画与音频的匹配度更高;通过动画中头部的自然摆动,使得动画中的人脸更加真实,提高聋哑人的用户体验,促进聋哑人与普通人的交流和沟通,便于聋哑人更好地融入社会。
结合第五方面,在第五方面的某些实现方式中,该处理单元,还用于将该待处理语音和该待处理视频输入第一模型得到该第一预处理数据,该第一模型是基于第一训练数据训练得到的,该第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的该训练音频帧和该训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值。
结合第五方面,在第五方面的某些实现方式中,该获取单元,还用于对该待处理视频进行提取得到人脸图像;该处理单元,还用于将该人脸的关键点的数据、该人脸图像输入第一子模型得到多个第一图像帧,该第一图像帧为人脸动作的图像帧,该第一子模型是基于人脸的关键点的训练数据、人脸的训练图像训练得到的。
结合第五方面,在第五方面的某些实现方式中,该待处理视频的内容还包括手臂和手的动作,该第一预处理数据还包括与该待处理语音的多个音频帧对应的手臂和手的关键点的数据,其中,该处理单元,具体还用于对该待处理视频进行提取得到手臂和手的图像;将该手臂和手的关键点的数据、该手臂和手的图像输入第二子模型得到多个第二图像帧,该第二图像帧为手和手臂动作的图像帧,该第二子模型是基于手臂和手的关键点的训练数据、手臂和手的训练图像训练得到的,其中,该多个图像帧包括该多个第一图像帧和该多个第二图像帧。
结合第五方面,在第五方面的某些实现方式中,该第一子模型是以减少第二损失函数值、第四损失函数值为目的训练得到的,该第二子模型是以减少第三损失函数值、该第四损失函数值为目的训练得到的,该第二损失函数值是根据多个第一训练视频帧中的人脸与该多个训练视频帧中的人脸之间的差异计算得到的,该多个第一训练视频帧是将该人脸的关键点的训练数据、该人脸的训练图像输入该第一子模型得到的,该第三损失函数值根据多个第二训练视频帧中的手和手臂与该多个训练视频帧中的手和手臂之间的差异计算得到的,该多个第二训练视频帧是将该手和手臂的关键点的训练数据、该手臂和手的训练图像输入该第二子模型得到,该第四损失函数值是根据第一相似度与第二相似度之间的差异计算得到的,该第一相似度为该多个第一训练视频帧中在第一时间段内播放的训练视频帧对应的语义和该多个第二训练视频帧在该第一时间段内播放的训练视频帧对应的语义的相似度,该第二相似度为该多个训练视频帧在该第一时间段内播放的训练视频帧中人脸动作以及手和手臂动作分别对应的语义的相似度。
第六方面,提供了一种生成语音的装置,其特征在于,包括:
获取单元,用于获取待处理数据,该待处理数据包括人脸动作的多个图像帧和手语动作的多个图像帧;
处理单元,用于根据该待处理数据得到与该人脸动作对应的情感信息和与该手语动作对应的第一文本;
该处理单元,还用于根据该情感信息和该第一文本得到带有情感信息的语音数据。
上述方案,通过将视频中人脸动画表达的情感信息与根据手语动作生成的语音相结合,生成带有情感的语音,使得手语翻译成的语音更加准确地表达聋哑人的意思,促进聋哑人与普通人的交流和沟通,便于聋哑人更好地融入社会。
第七方面,提供了一种训练神经网络的装置,其特征在于,包括:获取单元,用于获取第一训练数据,该第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的该训练音频帧和该训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值;该获取单元,还用于对该第一训练数据进行提取得到第一训练语音数据;处理单元,用于将该第一训练语音数据输入第一模型得到人脸的关键点的训练数据,该人脸的关键点包括第一特征的关键点,该第一特征包括眼神、头部姿势、唇形中的至少一个;该处理单元,还用于根据该人脸的关键点的训练数据与该多个训练视频帧中人脸的关键点的数据的差异计算第一损失函数值;该处理单元,还用于将该第一损失函数值进行反向传播,调整需要训练的参数。
上述方案,通过训练第一模型,基于语音数据得到与语音数据对应的人脸的关键点数据,特别是与语音数据对应的眼神、头部姿势、唇形的关键点的数据,使得基于语音生成的人脸的关键点的信息更加丰富,更能体现出语音的情感。
第八方面,提供了一种训练神经网络的装置,其特征在于,包括:获取单元,用于获取第一训练数据,该第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的该训练音频帧和该训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值;处理单元,用于对该第一训练数据进行处理得到人脸的关键点的训练数据,该人脸的关键点包括第一特征的关键点,该第一特征包括眼神、头部姿势、唇形中的至少一个;该获取单元,还用于对该第一训练数据进行提取得到人脸的训练图像;该处理单元,还用于以减少第二损失函数值为目的,将该人脸的关键点的训练数据、该人脸的训练图像、输入第一子模型,得到多个第一训练视频帧,该第一训练视频帧为人脸动作的训练视频帧。
上述方案,通过以减少损失函数值为目的,基于包括眼神、头部姿势、唇形等特征的关键点的数据来训练第一子模型,使得生成的人脸动作能够呈现眼神的变化、头部运动姿势和唇形的变化等特征,使得人脸动作的图像更加生动、真实,提高用户体验。
结合第八方面,在第八方面的某些实现方式中,该处理单元,还用于对该第一训练数据进行处理得到手臂和手的关键点的训练数据;该获取单元,还用于对该第一训练数据进行提取得到手臂和手的训练图像;该处理单元,还用于以减少第三损失函数值为目的,将该手臂和手的关键点的训练数据、该手臂和手的训练图像输入第二子模型,得到多个第二训练视频帧,该第二训练视频帧为手和手臂动作的训练视频帧,第三模型包括第一子模型和第二子模型。
结合第八方面,在第八方面的某些实现方式中,该处理单元,具体还用于以减少第二损失函数值、第四损失函数值为目的,将该人脸的关键点的训练数据、该人脸的训练图像、输入第一子模型,得到多个第一训练视频帧;该处理单元,具体还用于:以减少第三损失函数值、第四损失函数值为目的,将该手臂和手的关键点的训练数据、该手臂和手的训练图像输入第二子模型,得到多个第二训练视频帧;其中,该第二损失函数值是该多个第一训练视频帧中的人脸与该多个训练视频帧中的人脸之间的差异计算得到的,该第三损失函数值根据该多个第二训练视频帧中的手和手臂与该多个训练视频帧中的手和手臂之间的差异计算得到的,该第四损失函数值是根据第一相似度与第二相似度之间的差异计算得到的,该第一相似度为该多个第一训练视频帧中在第一时间段内播放的训练视频帧对应的语义和该多个第二训练视频帧在该第一时间段内播放的训练视频帧对应的语义的相似度,该第二相似度为该多个训练视频帧在该第一时间段内播放的训练视频帧中人脸动作以及手和手臂动作分别对应的语义的相似度。
结合第八方面,在第八方面的某些实现方式中,该获取单元,还用于对该第一训练数据进行提取得到第一训练语音数据;该处理单元,具体还用于将该第一训练语音数据输入第一模型得到人脸的关键点;该处理单元,具体还用于根据该人脸的关键点与该多个训练视频帧中人脸的关键点的数据的差异计算第一损失函数值;该处理单元,具体还用于将该第一损失函数值进行反向传播,调整该第一模型中需要训练的参数。
第九方面,提供了一种生成动画的装置,包括处理器和通信接口,该处理器通过该通信接口接收或发送数据,该处理器被配置为调用存储在存储器中的程序指令,以执行第一方面该的方法。
第十方面,提供了一种生成语音的装置,包括处理器和通信接口,该处理器通过该通信接口接收或发送数据,该处理器被配置为调用存储在存储器中的程序指令,以执行第二方面该的方法。
第十一方面,提供了一种神经网络模型的训练装置,包括处理器和存储器,该存储器用于存储程序指令,该处理器用于调用该程序指令来执行权利要求第三方面或第四方面该的方法,或者,该处理器用于调用该程序指令来执行权利要求7该的方法。
第十二方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储用于设备执行的程序代码,当该程序代码在计算机或处理器上运行时,使得该计算机或该处理器执行如第一方面至第四方面中任一方面该的方法。
第十三方面,提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机或处理器上运行时,使得该计算机或该处理器执行如第一方面至第四方面中任一方面该的方法。
第十四方面,提供了一种芯片,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,以执行如权利要求第一方面至第四方面中任一方面该的方法。
附图说明
图1为本申请实施例提供的一种***架构的结构示意图。
图2为本申请实施例提供的一种卷积神经网络的结构示意图。
图3为本申请实施例提供的一种芯片的硬件结构示意图。
图4为本申请实施例提供的一种***架构的示意图。
图5为本申请提供的生成动画的方法500的示意性框图。
图6为本申请提供的生成语音的方法600的示意性框图。
图7为本申请提供的神经网络模型的训练方法710和720的示意性框图。
图8为本申请提供的神经网络模型的训练方法800的示意性流程图。
图9为本申请提供的生成动画的方法900的示意性流程图。
图10为本申请提供的神经网络模型的训练方法1000的示意性流程图。
图11为本申请提供的生成语音的方法1100的示意性流程图。
图12为本申请实施例提供的一种装置的示意性框图。
图13为本申请实施例提供的另一种装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
本申请中术语“第一”“第二”“第三”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”和“第三”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请将围绕可包括多个设备、组件、模块等的***来呈现各个方面、实施例或特征。应当理解和明白的是,各个***可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例中,有时候下标如W1可能会笔误为非下标的形式如W1,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例可能涉及的神经网络的相关术语和概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
Figure BDA0003162401300000081
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
机器学习中训练模型(traning)表示通过有标签样本来学习(确定)所有权重(Weights)和偏差(Bias)的理想值。机器学习算法在训练过程中,做的就是:检查多个样本并尝试找出可最大限度地减少损失的模型;目标就是将损失(loss)最小化。
在一般模型训练的一般过程中,(1)模型(预测函数):将一个或多个特征作为输入,然后返回一个预测(y’)作为输出。为了进行简化,不妨考虑一种采用一个特征x作为输入并返回一个预测的模型,如下公式(其中b为bias,w为weight):y’=b+w1x1。(2)计算损失:通过损失函数,计算该次参数(bias、weight)下的loss。(3)计算参数更新:检测损失函数的值,并为参数如bias、weight生成新值,以降低损失为最小。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。
虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:
Figure BDA0003162401300000091
其中,
Figure BDA0003162401300000092
是输入向量,
Figure BDA0003162401300000093
是输出向量,
Figure BDA0003162401300000094
是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量
Figure BDA0003162401300000095
经过如此简单的操作得到输出向量
Figure BDA0003162401300000096
由于DNN层数多,系数W和偏移向量
Figure BDA0003162401300000097
的数量也比较多。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为
Figure BDA0003162401300000098
上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
综上,第L-1层的第k个神经元到第L层的第j个神经元的系数定义为
Figure BDA0003162401300000099
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。通常地,loss越小,该深度神经网络的训练质量越高,loss越大,深度神经网络的训练质量越低。类似的,loss波动越小,训练越稳定;loss波动越大,训练越不稳定。
(5)反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始模型中参数的大小,使得模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
下面对本申请涉及的其他技术或名词进行介绍:
(6)生成对抗网络(generative adversarial networks,GAN)
GAN是由蒙特利尔大学Ian Goodfellow在2014年提出的机器学习架构,可以像人工智能一样具有创造力和想象力。一般来说,GAN的主要包括两种类型的网络,一个生成器G(generator)和一个判别器D(discriminator)。
G负责生成图片,也就是说,在输入一个随机编码(random code)z之后,它将输出一幅由神经网络自动生成的、假的图片G(z)。D负责接受G输出的图像作为输入,然后判断这幅图像的真假,真的输出1,假的输出0。示例性地,GAN可以简单看作是两个网络的博弈过程。D通过真图和假图的数据,训练一个二分类神经网络。G根据一串随机数就可以捏造出一个“假图”,随后G用捏造出的假图去欺骗D,D负责辨别这是真图还是假图,给出一个评分(score)。比如,G生成了一张图,在D这里评分很高,说明G生成能力是很成功的;若D给出的评分不高,则G的效果还不太好,需要调整参数。
为了克服传统的GAN具有的一些局限性,目前GAN衍生出了一些生成网络:pix2pix、CycleGAN、pix2pixHD等。
(7)、图片序列
本申请中的“图片序列”由多张图片组成,每张图片为视频中的一帧图像,将该多张图片按照序列进行播放,即可产生动画效果,这里的序列图片还可以称为动画序列(animation sequence)。示例性地,序列图片可以是多张图片名称一样但序号不同的图片,例如,name001.png、name002.png、name003.png、name004.png、……、name480.png,那么一些软件在处理这些序列图片时就会将这480张图片连续进行播放,从而产生动画效果。
(8)手语合成技术和手语动画的表示方法
手语合成技术涉及到自然语言处理、计算机动画、模式识别等众多学科,目前主要侧重以下三个方面的研究:从文本到手语的分析处理,计算机合成手语的实现方法和合成手语的表示方式。
按照输入类型的不同,可以将手语合成方法分为基于文本驱动的手语合成,语音驱动的手语合成,语音文本驱动的手语合成等形式,国内对手语合成方法的研究起步较晚,大多基于文本驱动手语合成,对于给定的自然语言文本句子,经过文本分析,应用自然语言处理的方法将其转换为没有歧义的规范文本,分成一个个手语词,再结合预先建立的手语运动数据库找到对应的手势,通过视频或者虚拟人动画的形式显示出来。基于语音驱动的方法,首先利用语音识别技术识别将语音转换为文本,再进行前述操作。或者从语音中提取韵律信息,辅助文本提供的基本语义,增强手语表达的真实感。
在手语动画的表示方法上,主要分为基于三维虚拟人的技术和基于视频的技术。基于三维虚拟人的手语动画合成方法首先建立三维虚拟人模型,通过控制虚拟人运动展现手语。基于视频表示时,若干手语词视频片段按照文本语法规则重新组合成新的手语视频。随着虚拟人运动合成技术愈趋成熟,利用虚拟人来模拟真实人的行为在动画、娱乐、医学等领域的应用越来越广泛。基于三维虚拟人的手语动画合成方法被应用在手语应用中,目的是将自然语言表达转换为手语表达,并由虚拟人显示出来,以便于听力语言障碍者更方便地接受和理解信息。
如图1所示,本申请实施例提供了一种***架构100。在图1中,数据采集设备160用于采集训练数据。针对本申请实施例的训练神经网络的方法来说,训练数据可以包括多个训练音频帧与多个训练视频帧。
在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。
后文中将对训练设备120基于训练数据得到目标模型/规则101的具体方式进行详细描述。目标模型/规则101能够用于实现本申请实施例的生成动画的方法,即将待处理的图像输入目标模型/规则101中,即可得到待处理的图像中感兴趣物体的检测结果。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型/规则101可以应用于不同的***或设备中,如应用于图1所示的执行设备110,执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)AR/虚拟现实(virtual reality,VR),车载终端等,还可以是服务器或者云端等。在图1中,执行设备110配置输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,输入数据在本申请实施例中可以包括:待处理的图像。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储***150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储***150中。
最后,I/O接口112将处理结果,如上述得到的检测结果返回给客户设备140,从而提供给用户。
例如,客户设备140可以为自动驾驶***中的规划控制单元。
值得说明的是,训练设备120可以针对不同的目标或不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在图1中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,图1仅是本申请实施例提供的一种***架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图1中,数据存储***150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储***150置于执行设备110中。
如图1所示,根据训练设备120训练得到目标模型/规则101。
由于CNN是一种非常常见的神经网络,下面结合图2重点对CNN的结构进行详细的介绍。如上文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过神经网络模型更新的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。
本申请实施例的生成动画的方法具体采用的神经网络的结构可以如图2所示。在图2中,卷积神经网络(CNN)200可以包括输入层210,卷积层/池化层220(其中池化层为可选的),以及全连接层(fully connected layer)230。其中,输入层210可以获取待处理视频和待处理语音,并将获取到的待处理视频和待处理语音交由卷积层/池化层220以及后面的全连接层230进行处理,可以得到图像的处理结果。下面对图2中的CNN200中内部的层结构进行详细的介绍。
卷积层/池化层220:
卷积层:
如图2所示卷积层/池化层220可以包括如示例221-226层,举例来说:在一种实现中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积层,226为池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
下面将以卷积层221为例,介绍一层卷积层的内部工作原理。
卷积层221可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度可以理解为由上面所述的“多个”来决定。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行×列)相同,经过该多个尺寸相同的权重矩阵提取后的卷积特征图的尺寸也相同,再将提取到的多个尺寸相同的卷积特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进行正确的预测。
当卷积神经网络200有多个卷积层的时候,浅层的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络200深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,在如图2中220所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
全连接层230:
在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层220只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络200需要利用全连接层230来生成一个或者一组所需要的类的数量的输出。因此,在全连接层230中可以包括多层隐含层(如图2所示的231、232至23n)以及输出层240,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。
在全连接层230中的多层隐含层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图2由210至240方向的传播为前向传播)完成,反向传播(如图2由240至210方向的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失,即卷积神经网络200通过输出层输出的结果和理想结果之间的误差。
需要说明的是,图2所示的卷积神经网络仅作为一种可能的卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在。
图3为本申请实施例提供的一种芯片的硬件结构,该芯片包括神经网络处理器30。该芯片可以被设置在如图1所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图1所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。本申请实施例中的方法可在如图3所示的芯片中得以实现。
神经网络处理器NPU 30作为协处理器挂载到主中央处理器(central processingunit,CPU)(host CPU)上,由主CPU分配任务。NPU的核心部分为运算电路303,控制器304控制运算电路303提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路303内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路303是二维脉动阵列。运算电路303还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路303是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器302中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器301中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)308中。
向量计算单元307可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元307可以用于神经网络中非卷积/非FC层的网络计算,如池化(pooling),批归一化(batch normalization,BN),局部响应归一化(local response normalization)等。
在一些实现种,向量计算单元能307将经处理的输出的向量存储到统一缓存器306。例如,向量计算单元307可以将非线性函数应用到运算电路303的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元307生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路303的激活输入,例如用于在神经网络中的后续层中的使用。
本申请实施例提供的神经网络的运算可以由运算电路303或向量计算单元307执行。
统一存储器306用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器305(direct memory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器301和/或统一存储器306、将外部存储器中的权重数据存入权重存储器302,以及将统一存储器306中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)310,用于通过总线实现主CPU、DMAC和取指存储器309之间进行交互。
与控制器304连接的取指存储器(instruction fetch buffer)309,用于存储控制器304使用的指令;
控制器304,用于调用指存储器309中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器306,输入存储器301,权重存储器302以及取指存储器309均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
上文中介绍的图1中的执行设备110或图3中的芯片能够执行本申请实施例的生成动画的方法的各个步骤。上文中介绍的图1中的训练设备120或图3中的芯片能够执行本申请实施例的神经网络的训练方法的各个步骤。
如图4所示,本申请实施例提供了一种***架构400。该***架构包括本地设备401、本地设备402以及执行设备410和数据存储***350,其中,本地设备401和本地设备402通过通信网络与执行设备410连接。
执行设备410可以由一个或多个服务器实现。可选的,执行设备410可以与其它计算设备配合使用,例如:数据存储器、路由器、负载均衡器等设备。执行设备410可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备410可以使用数据存储***450中的数据,或者调用数据存储***450中的程序代码来实现本申请实施例的神经网络模型的训练方法。
具体地,在一种实现方式中,执行设备410可以执行以下过程:
获取第一训练数据,该第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的该训练音频帧和该训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值;
对该第一训练数据进行提取得到第一训练语音数据;
将该第一训练语音数据输入第一模型得到人脸的关键点的训练数据;
根据该人脸的关键点的训练数据与该多个训练视频帧中人脸的关键点的数据的差异计算第一损失函数值;
将该第一损失函数值进行反向传播,调整该人脸的关键点的训练数据。
通过上述过程执行设备410能够获取一个训练好的神经网络,即目标神经网络,该目标神经网络可以用于根据语音生成该语音对应的人脸的关键点等等。
具体地,在另一种实现方式中,执行设备410可以执行以下过程:
获取第一训练数据,该第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的该训练音频帧和该训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值;
对该第一训练数据进行处理得到人脸的关键点的训练数据;
对该第一训练数据进行处理得到手臂和手的关键点的训练数据;
对该第一训练数据进行提取得到人脸的训练图像以及手臂和手的训练图像;
以减少第二损失函数值、第四损失函数值为目的,将该人脸的关键点的训练数据、该人脸的训练图像输入第一子模型得到多个第一训练视频帧,该第一训练视频帧为人脸动作的训练视频帧;
以减少第三损失函数值、第四损失函数值为目的,将该手臂和手的关键点的训练数据、手臂和手的训练图像输入第二子模型得到多个第二训练视频帧,该第二训练视频帧为手和手臂动作的训练视频帧。
通过上述过程执行设备410能够获取一个训练好的神经网络,即目标神经网络,该目标神经网络可以用于根据语音对应的人脸的关联点以及手和手臂的关键点生成人脸动作的图像帧和手语动作的图象帧等等。
用户可以操作各自的用户设备(例如本地设备401和本地设备402)与执行设备410进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备410进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
在一种实现方式中,本地设备401、本地设备402从执行设备410获取到目标神经网络的相关参数,将目标神经网络部署在本地设备401、本地设备402上,利用该目标神经网络执行上述处理过程。
在另一种实现中,执行设备410上可以直接部署目标神经网络,执行设备410通过从本地设备401和本地设备402获取待处理视频和待处理语音,并采用目标神经网络模型对待处理视频和待处理语音进行分类或者其他类型的处理。
需要注意的,执行设备410的所有功能也可以由本地设备实现。例如,本地设备401实现执行设备410的功能并为自己的用户提供服务,或者为本地设备402的用户提供服务。
上述执行设备410也可以为云端设备,此时,执行设备410可以部署在云端;或者,上述执行设备410也可以为终端设备,此时,执行设备410可以部署在用户终端侧,本申请实施例对此并不限定。
在我国,聋哑人的数量约占总人口的1.7%,数量十分庞大。他们在日常生活中需要通过手语进行交流,而大多数不了解手语的普通人很难与他们沟通。为了更好地照顾这个庞大而特殊的群体,方便他们的日常生活,利用语音生成对应的手语动画的方法应运而生。然而,仅有手语动画可能无法准确地表达语音的信息,如何优化语音与手语动画之间的转化,进一步促进聋哑人与普通人之间的沟通交流,是亟待解决的问题。
目前,在基于待识别的手语动作视频生成以预设动画形象为主体的手语动画时,可以采用如下方法(1)获取待识别的手语动作视频,同时获取预先设定好的计算机动画形象,(2)对该待识别手语动作视频进行处理得到手语动作视频表达的语义文本,(3)对该语义文本进行解析,获取语义文本对应的响应文本,(4)结合计算机动画形象,把响应文本转换成手语动画,展示给用户。该方法需要专业的计算机动画师预先设定动画形象,且选用或设计的预设动画形象需要具备用于手语表达的人体构造部分,如手、面部、胳膊等要素。此外,该方法只能对选取的手语视频进行翻译,不能做到语音到手语的实时翻译。
目前,在基于语音生成手语动画时可以采用如下方法:(1)获取待翻译的音频,(2)对待翻译的音频信号进行识别,并转换为对应的文本信息,(3)对该文本信息进行分词处理;(4)从手语数据库中抽取每个分词对应的手语动作,最终生成手语的动画序列。该方法需要预先耗费大量人工成本,收集大量的手语数据库,对于输入的分词不在数据库内的手语动作,无法检索到对应的手语动作,严重影响聋哑人对手语视频的解读,进而造成一系列严重的后果。并且,基于语音生成的手语的动画序列仅包括手语动作,而缺乏眼神、面部表情等信息,可能影响聋哑人对于语音的理解,例如聋哑人无法理解语音要表达的情绪信息。
现如今,随着互联网的发展,越来越多的信息都以音视频的方式在网络上呈现,例如,新闻播报,教育培训,娱乐等视频。如果对此不进行手语翻译,聋哑人则无法理解音视频要表达的信息,从而无法从音视频中获取信息,也无法充分施展才能。在手语翻译时,聋哑人如果仅根据手语动作可能无法准确理解视频的内容。例如,在《国家通用手语词典》中,表达“憔悴”一词时,除了必要的手语动作外,面部还需要露出有气无力的表情。如果聋哑人只看到手部动作,可能无法准确理解出“憔悴”的意思。
为了解决上述问题,下面结合图5至图11详细介绍本申请提供的生成动画的方法、生成语音的方法和训练神经网络的方法。
下面结合图5对本申请提供的生成动画的方法500进行详细说明。图5是本申请的方法500的示意性流程图。
S510,获取待处理语音、待处理视频,所述待处理视频的内容包括人脸。
或者或者,这里的待处理视频还可以是待处理的多张图片,或者待处理的图片序列。
需要注意的是,不管是多张图片、图片序列还是视频,都需要能够呈现出人脸的全貌,以便于后续处理中能够提取出人脸各部分的关键点。另外,这里的人脸是可以是动态的也可以是静态的,或者说这里的人脸可以是有表情的也可以是面无表情的,可以是摇头晃脑的也可能是平视前方的。
S520,根据待处理语音和待处理视频得到第一预处理数据,第一预处理数据包括与待处理语音的多个音频帧对应的人脸的关键点的数据,人脸的关键点包括第一特征的关键点,其中,与多个音频帧中至少两个音频帧对应的第一特征的关键点中的至少一个关键点的位置不同,第一特征包括眼神、头部姿势、唇形中的至少一个。
应理解,人脸的关键点为用于标识人脸上各个特征的位置、状态等的关键点(landmarks),或者为用于标识人脸上各个部位的位置、状态等的关键点。这里的部位或特征例如可以是眉毛、眼睛、鼻子、嘴巴等等。每一个部位或特征都可以用一个或多个特征点来标识。具体的举例详见方法800中S802。
应理解,这里的“多个音频帧对应的人脸的关键点的数据”可以理解为与多个音频帧中的语音内容表达的语义对应的人脸关键点的数据。例如,当该多个音频帧中m个音频帧的语音内容表达“开心”这个语义时,那么该m个音频帧对应的人脸关键点的数据可以为表示S510中的人脸在开心时各个部位的关键点的位置变化的数据。具体地,可以是嘴巴部位的关键点——左内唇角的位置相对于面部中轴线向左移动,相对于面部水平基线向上移动,嘴巴部位的关键点——右内唇角的位置相对于面部中轴线向右移动,相对于面部水平基线向上移动等。类似地,根据待处理语音和待处理视频,得到的第一预处理数据中包括待处理语音的内容表达的各个语义对应的人脸关键的数据。
目前生成人脸动画的方案中,至少没有公开任何与人脸动画中包括眼神、头部运动姿势相关的内容,也没有公开任何人脸动画中将眉毛、眼睛、鼻子、嘴巴、头部运动姿势相结合的方案。
应理解,关于在生成的人脸动画中体现的眼神,示例性地,可以通过眼睛的关键点的数据体现出眼神为飘忽不定或深情凝视等。例如,语音表示的语义为“忐忑”时,为了表现眼神的飘忽不定,可以通过眼睛部位的关键点——瞳仁的位置左右变化来体现。
应理解,关于在生成的人脸动画中体现的头部运动姿势,示例性地,可以通过头部位置的关键点的数据体现出人说话时头部的自然摆动或者点头和摇头的动作。例如,可以通过确定脸部的横向中轴线和竖向中轴线,在横向中轴线和纵向中轴线上取一些点作为头部运动的关键点,用这些关键点的运动轨迹来体现头部运动姿势。当为了体现头部的自然摆动,可以通过这些关键点的小幅度的位置变化来体现。当为了体现点头和摇头,可以通过这些关键点大幅度的位置变化来体现。
应理解,关于在生成的人脸动画中体现唇形动作,示例性地,可以通过嘴巴的关键点的数据体现出与语音对应的唇语或者与语音表达的语义对应的情感。例如,为了体现唇语时,可以通过控制下巴、内唇中上部、内唇中下部、左内唇角、右内唇角等位置来呈现普通人说对应的语音时的唇形动作。为了体现出与情感时,可以通过控制各个关键点的位置来呈现嘴角上扬或者嘴角耷拉或者咧嘴大笑等动作。
应理解,这里的“与多个音频帧中至少两个音频帧对应的第一特征的关键点中的至少一个关键点的位置不同”,通过待处理语音中至少两个音频帧对应的第一特征的关键点的位置不同来体现出第一预处理数据中包括第一特征的关键点,且第一特征的关键点存在变化,从而第一预处理数据包括的人脸关键点的数据可以体现出第一特征的关键点的变化,则第一预处理数据经过后续处理生成的人脸动画中包括与待处理语音对应的第一特征的动作。
作为一个示例,“根据待处理语音和待处理视频得到第一预处理数据”具体可以通过如下方式实现:
将该待处理语音和该待处理视频输入第一模型得到该第一预处理数据,该第一模型是基于第一训练数据训练得到的,该第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的该训练音频帧和该训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值。
应理解,这里的多个训练音频帧还可以是一段训练语音数据,这里的训练视频帧还可以是一段训练视频数据,或者还可以是多张图片序列,或者还可以是其他的形式,本申请对此不做限定。
应理解,这里限定“同一个语义对应的该训练音频帧和该训练视频帧的播放误差小于或等于第一阈值”是为了要求训练数据中的音频和视频是同步的,这里限定“同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值”是为了要求训练数据中人脸动作和手语动作是同步的。具体地,对于上述两个“同步”的详细说明参见方法800中的S801,在此不多赘述。
S530,根据第一预处理数据和待处理视频得到多个图像帧,多个图像帧中至少两个图像帧中的第一特征不同。
作为一个示例,这里的“根据该第一预处理数据和该待处理视频得到多个图像帧”具体可以通过如下方式实现:
对该待处理视频进行提取得到人脸图像,将该人脸的关键点的数据、该人脸图像输入第一子模型得到多个第一图像帧,该第一图像帧为人脸动作的图像帧,该第一子模型是基于人脸的关键点的训练数据、人脸的训练图像训练得到的。
S540,根据多个图像帧得到动画。
本申请实施例,通过优化根据语音生成的人脸动画,生动地展示音频的情感信息,使得聋哑人更加准确地理解音频表达的含义。通过动画中眼神的变化、唇形的变化、头部的运动,使得人脸动画与音频的匹配度更高;通过动画中头部的自然摆动,使得动画中的人脸更加真实,提高聋哑人的用户体验,促进聋哑人与普通人的交流和沟通,便于聋哑人更好地融入社会。
方法500还包括:
可选地,该待处理视频的内容还包括手臂和手的动作,该第一预处理数据还包括与该待处理语音的多个音频帧对应的手臂和手的关键点的数据。
或者,这里的待处理视频还可以是待处理的多张图片,或者待处理的图片序列。
需要注意的是,不管是多张图片、图片序列还是视频,都需要能够呈现出手和手臂的全貌,以便于后续处理中能够提取出手和手臂的三维构造上的关键点。例如,可以通过手和手臂的动作展现出手心和手背、手臂内侧和手臂外侧等。
应理解,这里的“该待处理语音的多个音频帧对应的手臂和手的关键点的数据”,为手臂和手做待处理语音表达的语义对应的手语动作时的关键点的数据。例如当待处理语音为“今天的工作很艰难,好累啊”这句话时,用手语翻译这句话时的手和手臂的关键点的数据即为待处理语音对应的手臂和手的关键点的数据。
作为一个示例,“根据该第一预处理数据和该待处理视频得到多个图像帧”的具体实现方式,在S530基础上,还可以包括:
对该待处理视频进行提取得到手臂和手的图像;将该手臂和手的关键点的数据、该手臂和手的图像输入第二子模型得到多个第二图像帧,该第二图像帧为手和手臂动作的图像帧,该第二子模型是基于手臂和手的关键点的训练数据、手臂和手的训练图像训练得到的,其中,该多个图像帧包括该多个第一图像帧和该多个第二图像帧。
本申请实施例,根据语音生成手语动作和人脸动画,在通过手语动作翻译语音表达的内容的基础上,通过人脸动画生动地展示语音的情感信息,使得聋哑人更加准确地理解音频表达的含义。具体地,通过动画中眼神的变化、唇形的变化,使得人脸动画与音频的匹配度更高,通过动画中人物在说话时头部的自然摆动,使得动画更加逼真,人物更加真实。提高聋哑人的用户使用体验,促进聋哑人与普通人的交流和沟通,便于聋哑人更好地融入社会。
可选地,该第一子模型是以减少第二损失函数值、第四损失函数值为目的训练得到的,
该第二子模型是以减少第三损失函数值、第四损失函数值为目的训练得到的,
该第二损失函数值是根据多个第一训练视频帧中的人脸与该多个训练视频帧中的人脸之间的差异计算得到的,该多个第一训练视频帧是将该人脸的关键点的训练数据、该人脸的训练图像输入该第一子模型得到的,
该第三损失函数值根据多个第二训练视频帧中的手和手臂与该多个训练视频帧中的手和手臂之间的差异计算得到的,该多个第二训练视频帧是将该手和手臂的关键点的训练数据、该手臂和手的训练图像输入该第二子模型得到。
该第四损失函数值是根据第一相似度与第二相似度之间的差异计算得到的,该第一相似度为该多个第一训练视频帧中在第一时间段内播放的训练视频帧对应的语义和该多个第二训练视频帧在该第一时间段内播放的训练视频帧对应的语义的相似度,该第二相似度为该多个训练视频帧在该第一时间段内播放的训练视频帧中人脸动作以及手和手臂动作分别对应的语义的相似度。
本申请实施例,通过以减少损失函数值为目的训练第一子模型和第二子模型,使得根据第一子模型和第二子模型生成的人脸动作和手语动作的图像更加生动、真实,且人脸动作和手语动作的图像的同步程度更高。
下面结合图6对本申请提供的生成语音的方法600进行详细说明。图6是本申请的方法600的示意性流程图。
S610,获取待处理数据,该待处理数据包括人脸动作的多个图像帧和手语动作的多个图像帧。
这里的待处理数据可以是多张第一图像和多张第二图像,该多张第一图像呈现出人脸的动作;该多张第二图像呈现出手语动作。
或者,这里的待处理数据可以是多张第三图像,该多张第三图像同时呈现出人脸的动作和手语动作。
或者,这里的待处理数据还可以是一段呈现人脸动作和手语动作的视频,或者还可以是其他形式,本申请对此不做限定。
这里的人脸动作可以包括面部表情、头部动作、唇语等等。
S620,根据该待处理数据得到与人脸动作对应的情感信息和与手语动作对应的第一文本。
S630,根据情感信息和第一文本得到带有情感信息的语音数据。
本申请实施例,通过将视频中人脸动画表达的情感信息与根据手语动作生成的语音相结合,生成带有情感的语音,使得手语翻译成的语音更加准确地表达聋哑人的意思,促进聋哑人与普通人的交流和沟通,便于聋哑人更好地融入社会。
下面结合图7对本申请提供的神经网络模型的训练方法710和720进行详细说明。图7中的(a)是本申请的方法710的示意性流程图。
S711,获取第一训练数据,第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的训练音频帧和训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值。
应理解,这里限定“同一个语义对应的该训练音频帧和该训练视频帧的播放误差小于或等于第一阈值”是为了要求训练数据中的音频和视频是同步的,这里限定“同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值”是为了要求训练数据中人脸动作和手语动作是同步的。具体地,对于上述两个“同步”的详细说明参见方法800中的S801,在此不多赘述。
S712,对第一训练数据进行提取得到第一训练语音数据。
S713,将第一训练语音数据输入第一模型得到人脸的关键点的训练数据,所述人脸的关键点包括第一特征的关键点,所述第一特征包括眼神、头部姿势、唇形中的至少一个。
S714,根据人脸的关键点的训练数据与多个训练视频帧中人脸的关键点的数据的差异计算第一损失函数值。
S715,将第一损失函数值进行反向传播,调整所述人脸的关键点的训练数据。
本申请实施例,通过训练第一模型,基于语音数据得到与语音数据对应的人脸的关键点数据,特别是与语音数据对应的眼神、头部姿势、唇形的关键点的数据,使得基于语音生成的人脸的关键点的信息更加丰富,更能体现出语音的情感。
图7中的(b)是本申请的方法720的示意性流程图。
S721,获取第一训练数据,第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的训练音频帧和训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值。
应理解,这里限定“同一个语义对应的该训练音频帧和该训练视频帧的播放误差小于或等于第一阈值”是为了要求训练数据中的音频和视频是同步的,这里限定“同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值”是为了要求训练数据中人脸动作和手语动作是同步的。具体地,对于上述两个“同步”的详细说明参见方法800中的S801,在此不多赘述。
S722,对第一训练数据进行处理得到人脸的关键点的训练数据,所述人脸的关键点包括第一特征的关键点,所述第一特征包括眼神、头部姿势、唇形中的至少一个。
作为一个示例,“对第一训练数据进行处理得到人脸的关键点的训练数据”具体可以通过以下方式实现:
对所述第一训练数据进行提取得到第一训练语音数据;将所述第一训练语音数据输入第一模型得到人脸的关键点;根据所述人脸的关键点与所述多个训练视频帧中人脸的关键点的数据的差异计算第一损失函数值;将所述第一损失函数值进行反向传播,调整所述第一模型中需要训练的参数。
S723,对第一训练数据进行提取得到人脸的训练图像。
S724,以减少第二损失函数值为目的,将人脸的关键点的训练数据、人脸的训练图像输入第一子模型得到多个第一训练视频帧,第一训练视频帧为人脸动作的训练视频帧。
其中,该第二损失函数值是该多个第一训练视频帧中的人脸与该多个训练视频帧中的人脸之间的差异计算得到的。
本申请实施例,通过以减少损失函数值为目的,基于包括眼神、头部姿势、唇形等特征的关键点的数据来训练第一子模型,使得生成的人脸动作能够呈现眼神的变化、头部运动姿势和唇形的变化等特征,使得人脸动作的图像更加生动、真实,提高用户体验。
方法720还包括:
可选地,对所述第一训练数据进行处理得到手臂和手的关键点的训练数据;
对所述第一训练数据进行提取得到手臂和手的训练图像;
以减少第三损失函数值为目的,将手臂和手的关键点的训练数据、手臂和手的训练图像输入第二子模型得到多个第二训练视频帧,第二训练视频帧为手和手臂动作的训练视频帧,第三模型包括第一子模型和第二子模型。
其中,该第三损失函数值根据该多个第二训练视频帧中的手和手臂与该多个训练视频帧中的手和手臂之间的差异计算得到的。
本申请实施例,训练模型分别生成人脸动作和手语动作的视频帧,使得模型在根据语音生成手语动作的同时,生成能够体现语音情感的人脸动作,更加生动准确地呈现语音表达的内容,提高用户体验。
可选地,该得到多个第一训练视频帧,包括:以减少第二损失函数值、第四损失函数值为目的,将该人脸的关键点的训练数据、该人脸的训练图像、输入第一子模型,得到多个第一训练视频帧。该得到多个第二训练视频帧,包括:以减少第三损失函数值、第四损失函数值为目的,将该手臂和手的关键点的训练数据、该手臂和手的训练图像输入第二子模型,得到多个第二训练视频帧。其中,该第四损失函数值是根据第一相似度与第二相似度之间的差异计算得到的,该第一相似度为该多个第一训练视频帧中在第一时间段内播放的训练视频帧对应的语义和该多个第二训练视频帧在该第一时间段内播放的训练视频帧对应的语义的相似度,该第二相似度为该多个训练视频帧在该第一时间段内播放的训练视频帧中人脸动作以及手和手臂动作分别对应的语义的相似度。
本申请实施例,通过以减少第四损失函数值为目的训练第一子模型和第二子模型,使得生成的人脸动作和手语动作的同步程度更高,进一步提高用户体验。
作为一个示例,“对第一训练数据进行处理得到手臂和手的关键点的训练数据”具体可以通过以下方式实现:
对所述第一训练数据进行提取得到第一训练语音数据;将所述第一训练语音数据输入第四模型得到手和手臂的关键点;根据所述人脸的关键点与所述多个训练视频帧中人脸的关键点的数据的差异计算第五损失函数值;将所述第五损失函数值进行反向传播,调整所述第四模型中需要训练的参数。
应理解,这里的手臂和手的关键点需要体现出手和手臂的三维人体构造,比如手心和手背分别需要多个关键点,手臂外侧和手臂内侧分别需要多个关键点。作为一个示例,比如视频中某一时刻的人物将手捂在胸口,如果不在三维上区分手心和手背的关键点,而仅仅提取二维的关键点,那么根据提取得到的关键点信息便不能确定手心还是手背捂在胸口。
本申请实施例,通过训练第一模型,基于语音数据得到与语音数据对应的人脸的关键点数据,特别是与语音数据对应的眼神、头部姿势、唇形的关键点的数据,使得基于语音生成的人脸的关键点的信息更加丰富,更能体现出语音的情感。
下面结合图8对本申请提供的神经网络模型的训练方法800进行详细说明。图8是本申请的方法800的示意性流程图。
需要说明的是,下面的S801至S805仅是为了方便说明的标号,对训练方法的执行顺序并不做限定。
S801、输入视频数据。
应理解,这里的视频数据需要满足以下要求:
(1)视频中包括一张人脸、一对左右手和手臂、语音,其中,人脸动作、手和手臂的动作、语音同步的。
这里的同步可以理解为语音在播放某一词汇时,手和手臂在做该词汇对应的手语动作,人脸的面部表情也与该词汇对应,进一步辅助传达该词汇对应的情感信息。例如,根据该词汇的含义和/或说话人的情感,眉毛可以相应地皱起或舒展、眼神可以相应地飘忽不定或深情凝视、鼻子也可以相应地皱起或鼻孔扩大、嘴的动作可以与普通人说该词汇时的唇形一致或者也可以相应地咧开或撅起。
或者,这里的同步还可以理解为,同一个词汇对应的一个或多个语音的音频帧和一个或多个视频帧的播放时间的误差小于第一阈值,该一个或多个视频帧中包括用于表达某一个词汇的人脸动作、手和手臂的动作,该一个或多个语音的音频帧即为该词汇的读音。
或者,这里的同步还可以理解为,同一时间段内的一个或多个语音的音频帧与一个或多个视频帧对应。
可选地,人脸的动作也可以包括头部运动的姿势,例如点头或摇头等,或者人说话时的自然的头部摆动等。
(2)视频数据可以是一段或多段连续的视频,该一段或多段连续的视频中的人脸属于同一个人。
(3)可选地,视频中的手和手臂可以与人脸属于同一个人,也可以不属于同一个人,即可以是;视频中的语音可以是人脸对应的人说出的,也可以是别人说出的。
(4)可选地,视频数据中的语音的语速为日常交流的语速,语音的内容涉及日常交流中的词汇。
例如,以每分钟280字至310字的日常词汇为例,该视频数据的时长可以为4min左右。
应理解,这里的视频数据可以理解为训练神经网络模型的数据集。示例性地,这里的视频数据可以理解为视频中的每一帧图片及对应的音频组成的数据集,或者这里的视频数据可以理解为视频中每一个词汇对应的视频帧和音频帧组成的数据集,或者这里的视频数据可以理解为视频中单位时间段对应的视频帧和音频帧组成的数据集。
S802,基于视频数据中的语音和人脸,训练模型1,预测人脸动作的信息。
从视频数据中提取出语音和人脸,将语音和人脸输入模型1,训练模型预测人脸动作的信息。输入模型1的语音,可以是语音数据本身,也可以是从语音数据中提取出的特征或特征向量;输入模型1的人脸,可以是视频中的人脸,也是从该人脸中提取出的特征或特征向量。
示例性地,这里的语音的特征包括:声强、声强级、响度、音高、基因周期、基因频率、信噪比、谐噪比、频率微扰(jitter)、振幅微扰(shimmer)、规范化噪声能量、Mel频率倒谱系数(Mel frequency cepstrum coefficient,MFCC)、音素等。
示例性地,这里的人脸的特征可以是用于标识人脸上各个部位的位置的关键点(landmarks),其中,人脸上的各个部位包括眉毛、眼睛、鼻子、嘴巴、两颊等;眼睛的关键点可以是上眼睑、下眼睑、内眼角、外眼角、瞳仁、瞳孔等,眉毛的关键点可以是眉毛内侧、眉毛中点、眉毛外侧等,嘴巴的关键点可以是下巴、内唇中上部、内唇中下部、左内唇角、右内唇角等,鼻子的关键点可以是鼻梁中部、鼻翼左侧、鼻翼右侧、鼻尖等,两颊的关键点可以是颧骨、苹果肌等。此外,由于人正常说话时除了面部表情之外,头部可能随之点头或摇头,也可能随之自然摆动,因此人脸的特征还可以包括用于标识头部运动的关键点。作为一个示例,可以通过确定脸部的横向中轴线和竖向中轴线,在横向中轴线和纵向中轴线上取一些点作为头部运动的关键点,用这些关键点的运动轨迹来体现头部运动姿势。比如,可以以鼻梁中轴线为脸部竖向中轴线,左右眼内眼睑的连线与脸部竖向中轴线的交点为脸部的中心点,过该中心点与脸部竖向中轴线相交的线为脸部横向中轴线,在该横向中轴线与竖向中轴线上取若干个点作为头部运动的关键点。
示例性地,这里的人脸动作的信息包括人说话时的面部表情、唇形动作、头部姿势变化等的信息,可以体现为标识人脸上各个部位的位置的关键点的运动轨迹。应理解,面部表情包括眉毛、眼睛、鼻子、嘴巴、两颊等随说话时的动作,唇形动作为说话时与语音对应的口型动作,头部姿势可以是说话时表达情绪的点头或摇头,也可以是说话时自然的头部摆动。作为一个示例,这里的人脸动作的信息可以用关键点的方式对视频中每一帧的人脸进行标识,而通过关键点位置的变化可以体现出人脸的动作。
模型1中的判别器1将模型1中的生成器生成的人脸动作的信息与视频中的人脸动作的信息进行比对,得到损失函数值_1。将损失函数值_1进行反向传播,调整模型1需要训练的参数。
S803,基于视频数据中的语音以及手臂和手的关键点,训练模型2,预测手语动作的信息。
从视频数据库中提取出语音以及手臂和手的关键点,将该语音转换为文本,将该文本和手臂和手的关键点输入模型2,训练模型2预测手语动作的信息。
这里的手语动作的信息为手臂骨骼姿态及手的关键点的位置的变化过程,或者,手臂骨骼姿态及手的关键点的运动轨迹。或者说,这里的手语动作的信息包括视频中每一个视频帧的人物的手臂骨骼姿态及手的关键点的位置,应理解,多个视频帧上关键点位置的变化在视觉上形成了手语动作。
应理解,这里的手臂和手的关键点需要体现出手和手臂的三维人体构造,比如手心和手背分别需要多个关键点,手臂外侧和手臂内侧分别需要多个关键点。作为一个示例,比如视频中某一时刻的人物将手捂在胸口,如果不在三维上区分手心和手背的关键点,而仅仅提取二维的关键点,那么根据提取得到的关键点信息便不能确定手心还是手背捂在胸口。
模型2中的判别器2将模型2中的生成器生成的人物的手臂骨骼姿态及手的关键点的位置与视频中每一个视频帧的人物的手臂骨骼姿态及手的关键点的位置的信息进行比对,得到损失函数值_2。将损失函数值_2进行反向传播,调整模型2需要训练的参数。
下面基于S802和S803得到的人脸动作的信息和手语动作的信息,训练模型3,生成真实的人脸序列图片和手语序列图片。具体地,模型3包括模型3-1和模型3-2,下面分别通过S804和S805来详细说明。
S804,基于人脸动作的信息和人脸图像,训练模型3-1,生成真实的人脸序列图片。
应理解,这里的人脸图像是从S801中收集的视频数据中提取的,人脸动作的信息可以理解为人脸的关键点位置的运动轨迹,而将人脸动作的信息与人脸图像输入模型3-1,训练模型3-1后输出的人脸序列图片中呈现出的人脸动作是真实的人脸动作。因此这里的“真实”可以理解为关键点的运动轨迹与人脸图像结合之后得到的人脸动作,相对于关键点位置的运动轨迹而言更加像真人,更加真实。
模型3-1中的判别器3-1将模型3-1中的生成器生成的真实的人脸序列图片与视频中的人脸动作进行比对,得到损失函数值_3-1。
S805,基于手语动作的信息以及手臂和手部图像,训练模型3-2,生成真实的手语序列图片。
应理解,这里的手臂和手部图像是从S801中收集的视频数据中提取的,手语动作的信息可以理解为手臂和手的关键点位置的运动轨迹,而将手语动作的信息与手臂和手部图像输入模型3-2,训练模型3-2后输出的手语序列图片中呈现出的手语动作是真实的手和手臂的动作。因此这里的“真实”可以理解为关键点的运动轨迹与手臂和手部图像结合之后得到的手和手臂的动作,相对于关键点位置的运动轨迹而言更加像真人的手和手臂,更加真实。
模型3-2中的判别器3-2将模型3-2中的生成器生成的真实的手语序列图片与视频中的手语动作进行比对,得到损失函数值_3-2。
模型3中的判别器3-3将模型3-1和模型3-2生成的真实的人脸序列图片和手语序列图片的同步程度与S801中的视频数据中的人脸动作和手语动作的同步程度进行对比,得到损失函数值3-3。
作为一个示例,在同一个时间段内,分别提取人脸序列图片中的人脸动作所对应的语义和手语序列图片中的手语动作所对应的语义,然后判别器3-3根据这两者之间的相似度来判断他们是否同步。判别器3-3进行判别之后给出一个与相似度相关的概率值,概率值越高,说明相似度越高,就越同步,概率值越低说明相似度越低,就越不同步。此时可以人为设定一个第二阈值,如果概率值高于该第二阈值,则可以判断为同步,反之则为不同步。
作为另一个示例,在表达同一个语义时,分别提取人脸序列图片中的对应该语义的m张人脸序列图片和手语序列图片中的对应该语义的的n张人脸序列图片,m和n为正整数,判别器3-3根据这两者之间的播放时间的误差来判断他们是否同步。判别器3-3进行判别之后给出一个与误差相关的概率值,概率值越高,说明误差越大,就越不同步,概率值越低说明误差越小,就越同步。此时可以人为设定一个第三阈值,如果概率值低于该第三阈值,则可以判断为同步,反之则为不同步。
需要说明的是,在对模型3进行训练时,可以将上述损失函数值3-1、损失函数值3-2、损失函数值3-3的和达到最小为目的进行训练,换句话说,以该三个损失函数值之和进行反向传输,调整模型3中需要训练的参数。或者,也可以以损失函数值3-1、损失函数值3-3达到最小为目的训练模型3-1,以损失函数值3-1、损失函数值3-3的和进行反向传播,调整模型3-1需要训练的参数,也可以以损失函数值3-2、损失函数值3-3达到最小为目的训练模型3-2,以损失函数值3-2、损失函数值3-3的和进行反向传播,调整模型3-2需要训练的参数。
方法800还包括,S806,重复上述所有步骤,直至所有模型的损失函数值达到最小时停止训练,或者说,损失函数值_1、损失函数值_2、损失函数值_3-1、损失函数值_3-2的总和达到最小时停止训练,或者规定当上述步骤的执行次数达到某一阈值时停止训练。
示例性地,通过多次重复,在上述总和达到想要的效果时,待所有模型的损失函数值稳定之后,可以认为设定一个阈值,当所有模型的损失函数值低于该阈值时,则可以认为达到最小。
本申请实施例,通过采用人脸动作、手语动作、语音同步的视频作为训练数据,获得人脸动作和手语动作同步的序列图片。进一步地,通过在两个子模型,即模型3-1和模型3-2,的基础上叠加一个用于判别两个子模型生成的人脸序列图片和手语序列图片是否同步的判别器,即判别器3-3,得到能够生成同步的人脸序列图片和手语序列图片的神经网络。
下面,结合图9介绍本申请提供的基于上述方法800训练好的神经网络模型进行生成动画的方法900。
需要说明的是,下面的S901至S913仅是为了方便说明的标号,对训练方法的执行顺序并不做限定。
S901,用户上传待翻译的语音和人物形象视频。
应理解,该人物形象视频中需要包括人脸、手和手臂的动作。或者,这里的视频也可以是多张图片。需要注意的是,不管是图片还是视频,都需要能够呈现出手和手臂的三维立体构造的关键点。具体地,需要展现出手心和手背、手臂内侧和手臂外侧等。这里的人脸是可以是动态的也可以是静态的。
或者,这里的人物形象视频中也可以只包括上述手和手臂的动作,人脸图像可以从数据库中获取,或者其他本地获取方式,本申请对不做限定。
这里的语音可以与方法800中收集的视频数据中的语音相同,也可以不同,类似地,这里的人物形象可以和方法800中收集的视频数据中的人物形象相同,也可以不同。
示例性的,用户可以是通过一个前端界面去使用方法800训练好的模型组成的***,例如用户可以通过移动终端上的网页或者应用使用该***。
S902,将语音转换为文本。
S903,检测视频中人物的手臂和手的关键点。
需要说明的是,这里的手臂和手的关键点是需要体现出手和手臂的三维人体构造,比如手心和手背分别需要多个关键点,手臂外侧和手臂内侧分别需要多个关键点。应理解,比如视频中某一时刻的人物将手捂在胸口,如果不在三维上区分手心和手背的关键点,而仅仅提取二维的关键点,那么根据提取得到的关键点信息便不能确定手心还是手背捂在胸口。
S904,从视频中提取出语音。
S905,检测视频中人脸的关键点。
示例性地,这里的人脸的关键点(landmarks)可以是用于标识人脸上各个部位的位置的关键点,其中,人脸上的各个部位包括眉毛、眼睛、鼻子、嘴巴、两颊等;眼睛的关键点可以是上眼睑、下眼睑、内眼角、外眼角、瞳仁、瞳孔等,眉毛的关键点可以是眉毛内侧、眉毛中点、眉毛外侧等,嘴巴的关键点可以是下巴、内唇中上部、内唇中下部、左内唇角、右内唇角等,鼻子的关键点可以是鼻梁中部、鼻翼左侧、鼻翼右侧、鼻尖等,两颊的关键点可以是颧骨、苹果肌等。此外,由于人正常说话时除了面部表情之外,头部可能随之点头或摇头,也可能随之自然摆动,因此人脸的特征还可以包括用于标识头部运动的关键点。作为一个示例,可以通过确定脸部的横向中轴线和竖向中轴线,在横向中轴线和纵向中轴线上取一些点作为头部运动的关键点,用这些关键点的运动轨迹来体现头部运动姿势。比如,可以以鼻梁中轴线为脸部竖向中轴线,左右眼内眼睑的连线与脸部竖向中轴线的交点为脸部的中心点,过该中心点与脸部竖向中轴线相交的线为脸部横向中轴线,在该横向中轴线与竖向中轴线上取若干个点作为头部运动的关键点。
S906,从用户上传的人物形象视频中提取出手臂和手部图像。
应理解,为了更准确地呈现手臂和手的三维构造,这里的手臂和手部图像需要至少两张图像,才能够呈现出手心和手背、手臂外侧和手臂内侧等。
S907,从用户上传的人物形象视频中提取出人脸图像。
应理解,与S901对应,当用户上传的人物形象视频中包括人脸动作时,执行S907,当用户上传的人物形象视频中不包括人脸动作时,人脸图像可以从数据库中获取,或者其他本地获取方式,本申请对不做限定。
S908,基于文本和人物的手臂和手的关键点,根据模型2,预测手语动作的信息。
这里的手语动作的信息为手臂骨骼姿态及手的关键点的位置的变化过程,或者,手臂骨骼姿态及手的关键点的运动轨迹。或者说,这里的手语动作的信息包括视频中每一个视频帧的人物的手臂骨骼姿态及手的关键点的位置,应理解,多个视频帧上关键点位置的变化在视觉上形成了手语动作。
S909,基于语音和人脸的关键点,根据模型1,预测人脸动作的信息。
示例性地,这里的人脸动作的信息包括人说话时的面部表情、唇形动作、头部姿势变化等的信息,可以体现为标识人脸上各个部位的位置的关键点的运动轨迹。应理解,面部表情包括眉毛、眼睛、鼻子、嘴巴、两颊等随说话时的动作,唇形动作为说话时与语音对应的口型动作,头部姿势可以是说话时表达情绪的点头或摇头,也可以是说话时自然的头部摆动。作为一个示例,这里的人脸动作的信息可以用关键点的方式对视频中每一帧的人脸进行标识,而通过关键点位置的变化可以体现出人脸的动作。
S910,基于手语动作的信息以及手臂和手部图像,根据模型3-2,生成真实的手语序列图片。
应理解,这里的“真实”与S805中类似,在此不多赘述。
S911,基于人脸动作的信息和人脸图像,根据模型3-1,生成真实的人脸序列图片。
应理解,这里的“真实”与S804中类似。
S912,合成人脸动作手语动作同步的动画。
S913,输出人脸动作和手语动作同步的动画。
应理解,这里的“同步”与方法800中类似,在此不多赘述。
本申请实施例,在根据音频生成手语动作的同时,生成音频对应的人脸动画,生动地展示音频的情感信息,使得聋哑人更加准确地理解音频表达的含义。进一步地,通过生成的动画中人物眼神的变化、唇形的变化,使得人脸动画与音频的匹配度更高,通过生成的动画中人物在说话时头部的自然摆动,使得动画更加逼真,人物更加真实,提高聋哑人的用户使用体验,促进聋哑人与普通人的交流和沟通,便于聋哑人更好地融入社会。
下面结合图10对本申请提供的神经网络模型的训练方法1000进行详细说明。图10是本申请的方法1000的示意性流程图。
需要说明的是,下面的S1001至S1004仅是为了方便说明的标号,对训练方法的执行顺序并不做限定。
S1001,输入视频数据。
这里的视频数据与S801中的视频数据类似,在此不多赘述。
S1002,基于视频中的人脸动画,训练模型4,生成对应的语音情感信息。
应理解,这里输入模型4的可以是人脸动画,也可以是人脸序列图片,也可以是人脸动画的面部表情的特征,这里的面部表情的特征可以用人脸特征点来表现。
作为一个示例,如果该人脸序列图片中的面部表情表现为眉眼带笑,嘴角上扬,输入模型4的特征可以为左右眉头的关键点微微向两侧偏移,下眼睑的关键点上移,左右嘴角的关键点上移,苹果肌的关键点上移等等,模型4输出的语音情感信息可以为“开心”或者“喜悦”。作为另一个示例,如果该人脸序列图片中的面部表情为上眼皮耷拉,嘴角下拉,输入模型4的特征可以为上眼睑的关键点下移,左右嘴角的关键点下移,嘴唇中部的关键点上移等等,模型4输出的语音情感信息可以为“难过”或者“失落”。
模型4中的判别器4将模型4中的生成器生成的语音情感信息与视频中的语音的情感信息进行比对,得到损失函数值_4。
S1003,基于视频中的手语动作,训练模型5,生成对应的文本信息。
模型5中的判别器5将模型5中的生成器生成的文本信息与视频中的语音转换的文本信息进行比对,得到损失函数值_5。
S1004,基于语音情感信息和文本信息生成带有情感的语音。
这里的带有情感的语音,可以理解为,生成的语音中带有的语气能够让听者感受到说话人的情感倾向,用情感信息辅助听者对说话人表达的语义的理解。例如,语音内容为“你干嘛呢”,如果S404b中生成的语音情感信息为“喜悦”或者“平静”,那么这里的“你在干什么”可以理解为说话人正常地询问听者此时在干什么事情,而如果S404b中生成的语音情感信息为“愤怒”,那么这里的“你在干什么”可以理解为说话人在呵斥听者停下手中的事情。再例如,语音的内容为“哈哈”,如果S404b中生成的语音情感信息为“喜悦”,那么这里的“哈哈”可以理解为说话人在开心地笑,如果S404b中生成的语音情感信息为“无奈”,那么这里的“哈哈”可以理解为说话人在苦笑。
方法1000还包括,S1005,重复上述所有步骤,直至所有模型的损失函数值达到最小,或者说,损失函数值_4、损失函数值_5的总和达到最小。
示例性地,通过多次重复,在上述总和达到想要的效果时,待所有模型的损失函数值稳定之后,可以认为设定一个阈值,当所有模型的损失函数值低于该阈值时,则可以认为达到最小。
本申请实施例,通过将基于人脸动画生成语音情感信息的模型、基于手语动作生成文本信息的模型、基于语音情感信息和文本信息生成带有情感的语音的模型相结合,得到能够生成带有情感的语音的神经网络。
下面,结合图11介绍本申请提供的基于上述方法1100训练好的神经网络模型进行生成带有情感的语音的方法1100。
需要说明的是,下面的S1101至S1105仅是为了方便说明的标号,对训练方法的执行顺序并不做限定。
S1101,用户上传手语及人脸动画的视频。
这里的视频中呈现的内容需要包括手语动作,以及与该手语动作对应的人脸动作。这里所说的“对应”可以理解为,当手语动作表达某个语义时,人脸动作呈现的内容或表情也与该语音对应。例如,当手语动作表达的语义是“悲伤”时,人脸的表情也是悲伤的,例如眼眉低垂,嘴角耷拉,头部可能会微微下垂。当手语动作表达的语义是“厌恶”时,人脸可能微微皱眉,头部微微向后倾斜。
示例性的,用户可以是通过一个前端界面去使用方法1000训练好的模型组成的***,例如用户可以通过移动终端上的网页或者应用使用该***。
S1102,基于视频中的手语动作,根据模型5,生成对应的文本信息。
S1103,基于视频中的人脸动画,根据模型4,生成对应的语音情感信息。
S1104,基于语音情感信息和文本信息,根据模型6,生成带有情感的语音。
S1105,输出带有情感的语音。
本申请实施例,通过将视频中人脸动画表达的情感信息与根据手语动作生成的语音相结合,生成带有情感的语音,使得手语翻译成的语音更加准确地表达聋哑人的意思,促进聋哑人与普通人的交流和沟通,便于聋哑人更好地融入社会。
下面结合图12至图13对本申请实施例的装置进行说明。应理解,下面描述的装置能够执行前述本申请实施例的方法,为了避免不必要的重复,下面在介绍本申请实施例的装置时适当省略重复的描述。
图12是本申请实施例的一种装置的示意性框图。图12所示的装置4000包括获取单元4010和处理单元4020。
在一种实现方式中,装置4000可以作为神经网络的训练装置,获取单元4010和处理单元4020可以用于执行本申请实施例的神经网络的训练方法,示例性地,可以用于执行方法710或方法720或方法800或方法1000。
具体地,作为一个实施例,获取单元4010用于获取第一训练数据,所述第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的所述训练音频帧和所述训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值;还用于对所述第一训练数据进行提取得到第一训练语音数据。
处理单元4020用于将所述第一训练语音数据输入第一模型得到人脸的关键点的训练数据,所述人脸的关键点包括第一特征的关键点,所述第一特征包括眼神、头部姿势、唇形中的至少一个;还用于根据所述人脸的关键点的训练数据与所述多个训练视频帧中人脸的关键点的数据的差异计算第一损失函数值;还用于将所述第一损失函数值进行反向传播,调整需要训练的参数。
具体地,作为另一个实施例,获取单元4010用于获取第一训练数据,所述第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的所述训练音频帧和所述训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值;
处理单元4020,用于对所述第一训练数据进行处理得到人脸的关键点的训练数据,所述人脸的关键点包括第一特征的关键点,所述第一特征包括眼神、头部姿势、唇形中的至少一个;
所述获取单元4010,还用于对所述第一训练数据进行提取得到人脸的训练图像;
所述处理单元4020,还用于以减少第二损失函数值为目的,将所述人脸的关键点的训练数据、所述人脸的训练图像、输入第一子模型,得到多个第一训练视频帧,所述第一训练视频帧为人脸动作的训练视频帧。
可选地,作为一个实施例,所述处理单元4020,还用于对所述第一训练数据进行处理得到手臂和手的关键点的训练数据;
所述获取单元4010,还用于对所述第一训练数据进行提取得到手臂和手的训练图像;
所述处理单元4020,还用于以减少第三损失函数值为目的,将所述手臂和手的关键点的训练数据、所述手臂和手的训练图像输入第二子模型,得到多个第二训练视频帧,所述第二训练视频帧为手和手臂动作的训练视频帧,第三模型包括第一子模型和第二子模型。
可选地,作为一个实施例,所述处理单元4020,具体还用于以减少第二损失函数值、第四损失函数值为目的,将所述人脸的关键点的训练数据、所述人脸的训练图像、输入第一子模型,得到多个第一训练视频帧;
所述处理单元4020,具体还用于:以减少第三损失函数值、第四损失函数值为目的,将所述手臂和手的关键点的训练数据、所述手臂和手的训练图像输入第二子模型,得到多个第二训练视频帧;其中,
所述第二损失函数值是所述多个第一训练视频帧中的人脸与所述多个训练视频帧中的人脸之间的差异计算得到的,
所述第三损失函数值根据所述多个第二训练视频帧中的手和手臂与所述多个训练视频帧中的手和手臂之间的差异计算得到的,
所述第四损失函数值是根据第一相似度与第二相似度之间的差异计算得到的,所述第一相似度为所述多个第一训练视频帧中在第一时间段内播放的训练视频帧对应的语义和所述多个第二训练视频帧在所述第一时间段内播放的训练视频帧对应的语义的相似度,所述第二相似度为所述多个训练视频帧在所述第一时间段内播放的训练视频帧中人脸动作以及手和手臂动作分别对应的语义的相似度。
可选地,作为一个实施例,所述获取单元4010,还用于对所述第一训练数据进行提取得到第一训练语音数据;
所述处理单元4020,具体还用于将所述第一训练语音数据输入第一模型得到人脸的关键点;根据所述人脸的关键点与所述多个训练视频帧中人脸的关键点的数据的差异计算第一损失函数值;将所述第一损失函数值进行反向传播,调整所述第一模型中需要训练的参数。
在另一种实现方式中,装置4000可以作为生成动画的装置。装置包括获取单元4010和处理单元4020。
获取单元4010和处理单元4020可以用于执行本申请实施例生成动画的方法,例如,可以用于执行方法500或方法900。
获取单元4010用于获取待处理语音、待处理视频;。
处理单元4020用于根据所述待处理语音和所述待处理视频得到第一预处理数据,所述第一预处理数据包括与所述待处理语音的多个音频帧对应的人脸的关键点的数据,所述人脸的关键点包括第一特征的关键点,其中,与所述多个音频帧中至少两个音频帧对应的所述第一特征的关键点中的至少一个关键点的位置不同,所述第一特征包括眼神、头部姿势、唇形中的至少一个;还用于根据所述第一预处理数据和所述待处理视频得到多个图像帧,所述多个图像帧中至少两个图像帧中的所述第一特征不同;还用于根据所述多个图像帧得到动画。
可选地,作为一个实施例,处理单元4020还用于将所述待处理语音和所述待处理视频输入第一模型得到所述第一预处理数据,所述第一模型是基于第一训练数据训练得到的,所述第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的所述训练音频帧和所述训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值。
可选地,作为一个实施例,所述获取单元4010,还用于对所述待处理视频进行提取得到人脸图像;
所述处理单元4020,还用于将所述人脸的关键点的数据、所述人脸图像输入第一子模型得到多个第一图像帧,所述第一图像帧为人脸动作的图像帧,所述第一子模型是基于人脸的关键点的训练数据、人脸的训练图像训练得到的。
可选地,作为一个实施例,所述待处理视频的内容还包括手臂和手的动作,所述第一预处理数据还包括与所述待处理语音的多个音频帧对应的手臂和手的关键点的数据,
其中,所述处理单元4020,具体还用于对所述待处理视频进行提取得到手臂和手的图像;将所述手臂和手的关键点的数据、所述手臂和手的图像输入第二子模型得到多个第二图像帧,所述第二图像帧为手和手臂动作的图像帧,所述第二子模型是基于手臂和手的关键点的训练数据、手臂和手的训练图像训练得到的,其中,所述多个图像帧包括所述多个第一图像帧和所述多个第二图像帧。
可选地,作为一个实施例,所述第一子模型是以减少第二损失函数值、第四损失函数值为目的训练得到的,所述第二子模型是以减少第三损失函数值、所述第四损失函数值为目的训练得到的,所述第二损失函数值是根据多个第一训练视频帧中的人脸与所述多个训练视频帧中的人脸之间的差异计算得到的,所述多个第一训练视频帧是将所述人脸的关键点的训练数据、所述人脸的训练图像输入所述第一子模型得到的,所述第三损失函数值根据多个第二训练视频帧中的手和手臂与所述多个训练视频帧中的手和手臂之间的差异计算得到的,所述多个第二训练视频帧是将所述手和手臂的关键点的训练数据、所述手臂和手的训练图像输入所述第二子模型得到,所述第四损失函数值是根据第一相似度与第二相似度之间的差异计算得到的,所述第一相似度为所述多个第一训练视频帧中在第一时间段内播放的训练视频帧对应的语义和所述多个第二训练视频帧在所述第一时间段内播放的训练视频帧对应的语义的相似度,所述第二相似度为所述多个训练视频帧在所述第一时间段内播放的训练视频帧中人脸动作以及手和手臂动作分别对应的语义的相似度。
在另一种实现方式中,装置4000可以作为生成语音的装置。装置包括获取单元4010和处理单元4020。
获取单元4010和处理单元4020可以用于执行本申请实施例生成语音的方法,例如,可以用于执行方法600或方法1100。
获取单元4010用于获取待处理数据,所述待处理数据包括人脸动作的多个图像帧和手语动作的多个图像帧;。
处理单元4020用于根据所述待处理数据得到与所述人脸动作对应的情感信息和与所述手语动作对应的第一文本;还用于根据所述情感信息和所述第一文本得到带有情感信息的语音数据。
需要说明的是,上述装置4000以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件形式实现,对此不作具体限定。
例如,“单元”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图13是本申请实施例提供的一种装置的硬件结构示意图。图13所示的装置6000(该装置6000具体可以是一种计算机设备)包括存储器6001、处理器6002、通信接口6003以及总线6004。其中,存储器6001、处理器6002、通信接口6003通过总线6004实现彼此之间的通信连接。
在一种实现方式中,装置6000可以作为神经网络的训练装置。
存储器6001可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器6001可以存储程序,当存储器6001中存储的程序被处理器6002执行时,处理器6002用于执行本申请实施例的神经网络的训练方法的各个步骤。具体地,处理器6002可以执行上文中图7所示的方法中的步骤S713、S714、S715、S722、S724,图8所示的方法中的步骤S802至S805,图10所示的方法中的步骤S1002、S1003。
处理器6002可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的神经网络的训练方法。
处理器6002还可以是一种集成电路芯片,具有信号的处理能力,例如,可以是图所示的芯片。在实现过程中,本申请的神经网络的训练方法的各个步骤可以通过处理器6002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器6002还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器6001,处理器6002读取存储器6001中的信息,结合其硬件完成本申请实施例中的训练装置中包括的单元所需执行的功能,或者,执行本申请方法实施例的图7、图8、图10所示的神经网络的训练方法。
通信接口6003使用例如但不限于收发器一类的收发装置,来实现装置6000与其他设备或通信网络之间的通信。例如,可以通过通信接口6003获取训练数据。
总线6004可包括在装置6000各个部件(例如,存储器6001、处理器6002、通信接口6003)之间传送信息的通路。
在另一种实现方式中,装置6000可以作为生成动画的装置。
存储器6001可以是ROM,静态存储设备和RAM。存储器6001可以存储程序,当存储器6001中存储的程序被处理器6002执行时,处理器6002和通信接口6003用于执行本申请实施例的生成动画的方法的各个步骤。具体地,处理器6002可以执行上文中图5所示的方法中的步骤S520至S540。
处理器6002可以采用通用的,CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的生成动画的装置中的单元所需执行的功能,或者执行本申请方法实施例的生成动画的方法。
处理器6002还可以是一种集成电路芯片,具有信号的处理能力,例如,可以是图4所示的芯片。在实现过程中,本申请实施例的生成动画的方法的各个步骤可以通过处理器6002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器6002还可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器6001,处理器6002读取存储器6001中的信息,结合其硬件完成本申请实施例的生成动画的装置中包括的单元所需执行的功能,或者执行本申请方法实施例的生成动画的方法。
在另一种实现方式中,装置6000可以作为生成语音的装置。
存储器6001可以是ROM,静态存储设备和RAM。存储器6001可以存储程序,当存储器6001中存储的程序被处理器6002执行时,处理器6002和通信接口6003用于执行本申请实施例的生成语音的方法的各个步骤。具体地,处理器6002可以执行上文中图6所示的方法中的步骤S610至S620。
处理器6002可以采用通用的,CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的生成语音的装置中的单元所需执行的功能,或者执行本申请方法实施例的生成语音的方法。
处理器6002还可以是一种集成电路芯片,具有信号的处理能力,例如,可以是图4所示的芯片。在实现过程中,本申请实施例的生成语音的方法的各个步骤可以通过处理器6002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器6002还可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器6001,处理器6002读取存储器6001中的信息,结合其硬件完成本申请实施例的生成语音的装置中包括的单元所需执行的功能,或者执行本申请方法实施例的生成语音的方法。
通信接口6003使用例如但不限于收发器一类的收发装置,来实现装置6000与其他设备或通信网络之间的通信。例如,可以通过通信接口6003获取待处理的数据。
总线6004可包括在装置6000各个部件(例如,存储器6001、处理器6002、通信接口6003)之间传送信息的通路。
应注意,尽管上述装置6000仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置6000还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置6000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置6000也可仅仅包括实现本申请实施例所必须的器件,而不必包括图13中所示的全部器件。
本申请实施例提供一种计算机可读介质,该计算机可读介质存储于设备执行的程序代码,该程序代码包括用于执行如图5或图9所示的生成动画方法的相关内容,或者,该程序代码包括用于执行如图6或图11所示的生成语音方法的相关内容。
本申请实施例提供一种计算机可读介质,该计算机可读介质存储于设备执行的程序代码,该程序代码包括用于执行如图7或图8或图10所示的神经网络的训练方法的相关内容。
本申请实施例提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行如图5或图9所示的生成动画的方法的相关内容,或者,使得计算机执行如图6或图11所示的生成语音的方法的相关内容。
本申请实施例提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行如图7或图8或图10所示的神经网络的训练方法的相关内容。
本申请实施例提供一种芯片,芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上的指令,执行如图5或图9所示的生成动画的方法或者如图6或图11所示的生成语音的方法。
本申请实施例提供一种芯片,芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上的指令,执行如图7或图8或图10所示的神经网络的训练方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行图5或图9所示的生成动画的方法或者如图6或图11所示的生成语音的方法或图7或图8或图10所示的神经网络的训练方法。
应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (28)

1.一种生成动画的方法,其特征在于,包括:
获取待处理语音、待处理视频;
根据所述待处理语音和所述待处理视频得到第一预处理数据,所述第一预处理数据包括与所述待处理语音的多个音频帧对应的人脸的关键点的数据,所述人脸的关键点包括第一特征的关键点,其中,与所述多个音频帧中至少两个音频帧对应的所述第一特征的关键点中的至少一个关键点的位置不同,所述第一特征包括眼神、头部姿势、唇形中的至少一个;
根据所述第一预处理数据和所述待处理视频得到多个图像帧,所述多个图像帧中至少两个图像帧中的所述第一特征不同;
根据所述多个图像帧得到动画。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一预处理数据和所述待处理视频得到多个图像帧,包括:
对所述待处理视频进行提取得到人脸图像;
将所述人脸的关键点的数据、所述人脸图像输入第一子模型得到多个第一图像帧,所述第一图像帧为人脸动作的图像帧,所述第一子模型是基于人脸的关键点的训练数据、人脸的训练图像训练得到的。
3.根据权利要求2所述的方法,其特征在于,所述第一预处理数据还包括与所述待处理语音的多个音频帧对应的手臂和手的关键点的数据,
其中,所述根据所述第一预处理数据和所述待处理视频得到多个图像帧,还包括:
对所述待处理视频进行提取得到手臂和手的图像;
将所述手臂和手的关键点的数据、所述手臂和手的图像输入第二子模型得到多个第二图像帧,所述第二图像帧为手语动作的图像帧,所述第二子模型是基于手臂和手的关键点的训练数据、手臂和手的训练图像训练得到的,
其中,所述多个图像帧包括所述多个第一图像帧和所述多个第二图像帧。
4.根据权利要求3所述的方法,其特征在于,
所述第一子模型是以减少第二损失函数值、第四损失函数值为目的训练得到的,
所述第二子模型是以减少第三损失函数值、所述第四损失函数值为目的训练得到的,
所述第二损失函数值是根据多个第一训练视频帧中的人脸与所述多个训练视频帧中的人脸之间的差异计算得到的,所述多个第一训练视频帧是将所述人脸的关键点的训练数据、所述人脸的训练图像输入所述第一子模型得到的,
所述第三损失函数值根据多个第二训练视频帧中的手和手臂与所述多个训练视频帧中的手和手臂之间的差异计算得到的,所述多个第二训练视频帧是将所述手和手臂的关键点的训练数据、所述手臂和手的训练图像输入所述第二子模型得到,
所述第四损失函数值是根据第一相似度与第二相似度之间的差异计算得到的,所述第一相似度为所述多个第一训练视频帧中在第一时间段内播放的训练视频帧对应的语义和所述多个第二训练视频帧在所述第一时间段内播放的训练视频帧对应的语义的相似度,所述第二相似度为所述多个训练视频帧在所述第一时间段内播放的训练视频帧中人脸动作以及手和手臂动作分别对应的语义的相似度。
5.根据权利要求1至4中任一项所述的方法,其特征在于,根据所述待处理语音和所述待处理视频得到第一预处理数据,包括:
将所述待处理语音和所述待处理视频输入第一模型得到所述第一预处理数据,所述第一模型是基于第一训练数据训练得到的,所述第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的所述训练音频帧和所述训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值。
6.一种生成语音的方法,其特征在于,包括:
获取待处理数据,所述待处理数据包括人脸动作的多个图像帧和手语动作的多个图像帧;
根据所述待处理数据得到与所述人脸动作对应的情感信息和与所述手语动作对应的第一文本;
根据所述情感信息和所述第一文本得到带有情感信息的语音数据。
7.一种训练神经网络的方法,其特征在于,包括:
获取第一训练数据,所述第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的所述训练音频帧和所述训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值;
对所述第一训练数据进行提取得到第一训练语音数据;
将所述第一训练语音数据输入第一模型得到人脸的关键点的训练数据,所述人脸的关键点包括第一特征的关键点,所述第一特征包括眼神、头部姿势、唇形中的至少一个;
根据所述人脸的关键点的训练数据与所述多个训练视频帧中人脸的关键点的数据的差异计算第一损失函数值;
将所述第一损失函数值进行反向传播,调整需要训练的参数。
8.一种训练神经网络的方法,其特征在于,包括:
获取第一训练数据,所述第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的所述训练音频帧和所述训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值;
对所述第一训练数据进行处理得到人脸的关键点的训练数据,所述人脸的关键点包括第一特征的关键点,所述第一特征包括眼神、头部姿势、唇形中的至少一个;
对所述第一训练数据进行提取得到人脸的训练图像;
以减少第二损失函数值为目的,将所述人脸的关键点的训练数据、所述人脸的训练图像、输入第一子模型,得到多个第一训练视频帧,所述第一训练视频帧为人脸动作的训练视频帧。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
对所述第一训练数据进行处理得到手臂和手的关键点的训练数据;
对所述第一训练数据进行提取得到手臂和手的训练图像;
以减少第三损失函数值为目的,将所述手臂和手的关键点的训练数据、所述手臂和手的训练图像输入第二子模型,得到多个第二训练视频帧,所述第二训练视频帧为手和手臂动作的训练视频帧,第三模型包括第一子模型和第二子模型。
10.根据权利要求8所述的方法,其特征在于,
所述得到多个第一训练视频帧,包括:以减少第二损失函数值、第四损失函数值为目的,将所述人脸的关键点的训练数据、所述人脸的训练图像、输入第一子模型,得到多个第一训练视频帧;
所述得到多个第二训练视频帧,包括:以减少第三损失函数值、第四损失函数值为目的,将所述手臂和手的关键点的训练数据、所述手臂和手的训练图像输入第二子模型,得到多个第二训练视频帧;其中,
所述第二损失函数值是所述多个第一训练视频帧中的人脸与所述多个训练视频帧中的人脸之间的差异计算得到的,
所述第三损失函数值根据所述多个第二训练视频帧中的手和手臂与所述多个训练视频帧中的手和手臂之间的差异计算得到的,
所述第四损失函数值是根据第一相似度与第二相似度之间的差异计算得到的,所述第一相似度为所述多个第一训练视频帧中在第一时间段内播放的训练视频帧对应的语义和所述多个第二训练视频帧在所述第一时间段内播放的训练视频帧对应的语义的相似度,所述第二相似度为所述多个训练视频帧在所述第一时间段内播放的训练视频帧中人脸动作以及手和手臂动作分别对应的语义的相似度。
11.根据权利要求8至10中任一项所述的方法,其特征在于,对所述第一训练数据进行处理得到人脸的关键点的数据,包括:
对所述第一训练数据进行提取得到第一训练语音数据;
将所述第一训练语音数据输入第一模型得到人脸的关键点;
根据所述人脸的关键点与所述多个训练视频帧中人脸的关键点的数据的差异计算第一损失函数值;
将所述第一损失函数值进行反向传播,调整所述第一模型中需要训练的参数。
12.一种生成动画的装置,其特征在于,包括:
获取单元,用于获取待处理语音、待处理视频;
处理单元,用于根据所述待处理语音和所述待处理视频得到第一预处理数据,所述第一预处理数据包括与所述待处理语音的多个音频帧对应的人脸的关键点的数据,所述人脸的关键点包括第一特征的关键点,其中,与所述多个音频帧中至少两个音频帧对应的所述第一特征的关键点中的至少一个关键点的位置不同,所述第一特征包括眼神、头部姿势、唇形中的至少一个;
所述处理单元,还用于根据所述第一预处理数据和所述待处理视频得到多个图像帧,所述多个图像帧中至少两个图像帧中的所述第一特征不同;
所述处理单元,还用于根据所述多个图像帧得到动画。
13.根据权利要求12所述的装置,其特征在于,
所述获取单元,还用于对所述待处理视频进行提取得到人脸图像;
所述处理单元,还用于将所述人脸的关键点的数据、所述人脸图像输入第一子模型得到多个第一图像帧,所述第一图像帧为人脸动作的图像帧,所述第一子模型是基于人脸的关键点的训练数据、人脸的训练图像训练得到的。
14.根据权利要求13所述的装置,其特征在于,所述待处理视频的内容还包括手臂和手的动作,所述第一预处理数据还包括与所述待处理语音的多个音频帧对应的手臂和手的关键点的数据,
其中,所述处理单元,具体还用于
对所述待处理视频进行提取得到手臂和手的图像;
将所述手臂和手的关键点的数据、所述手臂和手的图像输入第二子模型得到多个第二图像帧,所述第二图像帧为手和手臂动作的图像帧,所述第二子模型是基于手臂和手的关键点的训练数据、手臂和手的训练图像训练得到的,
其中,所述多个图像帧包括所述多个第一图像帧和所述多个第二图像帧。
15.根据权利要求14所述的装置,其特征在于,
所述第一子模型是以减少第二损失函数值、第四损失函数值为目的训练得到的,
所述第二子模型是以减少第三损失函数值、所述第四损失函数值为目的训练得到的,
所述第二损失函数值是根据多个第一训练视频帧中的人脸与所述多个训练视频帧中的人脸之间的差异计算得到的,所述多个第一训练视频帧是将所述人脸的关键点的训练数据、所述人脸的训练图像输入所述第一子模型得到的,
所述第三损失函数值根据多个第二训练视频帧中的手和手臂与所述多个训练视频帧中的手和手臂之间的差异计算得到的,所述多个第二训练视频帧是将所述手和手臂的关键点的训练数据、所述手臂和手的训练图像输入所述第二子模型得到,
所述第四损失函数值是根据第一相似度与第二相似度之间的差异计算得到的,所述第一相似度为所述多个第一训练视频帧中在第一时间段内播放的训练视频帧对应的语义和所述多个第二训练视频帧在所述第一时间段内播放的训练视频帧对应的语义的相似度,所述第二相似度为所述多个训练视频帧在所述第一时间段内播放的训练视频帧中人脸动作以及手和手臂动作分别对应的语义的相似度。
16.根据权利要求12至15中任一项所述的装置,其特征在于,
所述处理单元,还用于将所述待处理语音和所述待处理视频输入第一模型得到所述第一预处理数据,所述第一模型是基于第一训练数据训练得到的,所述第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的所述训练音频帧和所述训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值。
17.一种生成语音的装置,其特征在于,包括:
获取单元,用于获取待处理数据,所述待处理数据包括人脸动作的多个图像帧和手语动作的多个图像帧;
处理单元,用于根据所述待处理数据得到与所述人脸动作对应的情感信息和与所述手语动作对应的第一文本;
所述处理单元,还用于根据所述情感信息和所述第一文本得到带有情感信息的语音数据。
18.一种训练神经网络的装置,其特征在于,包括:
获取单元,用于获取第一训练数据,所述第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的所述训练音频帧和所述训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值;
所述获取单元,还用于对所述第一训练数据进行提取得到第一训练语音数据;
处理单元,用于将所述第一训练语音数据输入第一模型得到人脸的关键点的训练数据,所述人脸的关键点包括第一特征的关键点,所述第一特征包括眼神、头部姿势、唇形中的至少一个;
所述处理单元,还用于根据所述人脸的关键点的训练数据与所述多个训练视频帧中人脸的关键点的数据的差异计算第一损失函数值;
所述处理单元,还用于将所述第一损失函数值进行反向传播,调整需要训练的参数。
19.一种训练神经网络的装置,其特征在于,包括:
获取单元,用于获取第一训练数据,所述第一训练数据包括多个训练音频帧与多个训练视频帧,其中,同一个语义对应的所述训练音频帧和所述训练视频帧的播放误差小于或等于第一阈值,同一个训练视频帧内的人脸动作和手语动作对应的语义相似度大于或等于第二阈值;
处理单元,用于对所述第一训练数据进行处理得到人脸的关键点的训练数据,所述人脸的关键点包括第一特征的关键点,所述第一特征包括眼神、头部姿势、唇形中的至少一个;
所述获取单元,还用于对所述第一训练数据进行提取得到人脸的训练图像;
所述处理单元,还用于以减少第二损失函数值为目的,将所述人脸的关键点的训练数据、所述人脸的训练图像、输入第一子模型,得到多个第一训练视频帧,所述第一训练视频帧为人脸动作的训练视频帧。
20.根据权利要求19所述的装置,其特征在于,
所述处理单元,还用于对所述第一训练数据进行处理得到手臂和手的关键点的训练数据;
所述获取单元,还用于对所述第一训练数据进行提取得到手臂和手的训练图像;
所述处理单元,还用于以减少第三损失函数值为目的,将所述手臂和手的关键点的训练数据、所述手臂和手的训练图像输入第二子模型,得到多个第二训练视频帧,所述第二训练视频帧为手和手臂动作的训练视频帧,第三模型包括第一子模型和第二子模型。
21.根据权利要求19所述的装置,其特征在于,
所述处理单元,具体还用于以减少第二损失函数值、第四损失函数值为目的,将所述人脸的关键点的训练数据、所述人脸的训练图像、输入第一子模型,得到多个第一训练视频帧;
所述处理单元,具体还用于:以减少第三损失函数值、第四损失函数值为目的,将所述手臂和手的关键点的训练数据、所述手臂和手的训练图像输入第二子模型,得到多个第二训练视频帧;其中,
所述第二损失函数值是所述多个第一训练视频帧中的人脸与所述多个训练视频帧中的人脸之间的差异计算得到的,
所述第三损失函数值根据所述多个第二训练视频帧中的手和手臂与所述多个训练视频帧中的手和手臂之间的差异计算得到的,
所述第四损失函数值是根据第一相似度与第二相似度之间的差异计算得到的,所述第一相似度为所述多个第一训练视频帧中在第一时间段内播放的训练视频帧对应的语义和所述多个第二训练视频帧在所述第一时间段内播放的训练视频帧对应的语义的相似度,所述第二相似度为所述多个训练视频帧在所述第一时间段内播放的训练视频帧中人脸动作以及手和手臂动作分别对应的语义的相似度。
22.根据权利要求19至21中任一项所述的装置,其特征在于,
所述获取单元,还用于对所述第一训练数据进行提取得到第一训练语音数据;
所述处理单元,具体还用于将所述第一训练语音数据输入第一模型得到人脸的关键点;
所述处理单元,具体还用于根据所述人脸的关键点与所述多个训练视频帧中人脸的关键点的数据的差异计算第一损失函数值;
所述处理单元,具体还用于将所述第一损失函数值进行反向传播,调整所述第一模型中需要训练的参数。
23.一种生成动画的装置,其特征在于,包括处理器和通信接口,所述处理器通过所述通信接口接收或发送数据,所述处理器被配置为调用存储在存储器中的程序指令,以执行权利要求1至5中任一项所述的方法。
24.一种生成语音的装置,其特征在于,包括处理器和通信接口,所述处理器通过所述通信接口接收或发送数据,所述处理器被配置为调用存储在存储器中的程序指令,以执行权利要求6所述的方法。
25.一种神经网络模型的训练装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求8至11中任一项所述的方法,或者,所述处理器用于调用所述程序指令来执行权利要求7所述的方法。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储用于设备执行的程序代码,当所述程序代码在计算机或处理器上运行时,使得所述计算机或所述处理器执行如权利要求1至5中任一项,或6,或7,或8至11中任一项所述的方法。
27.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机或处理器上运行时,使得所述计算机或所述处理器执行如1至5中任一项,或6,或7,或8至11中任一项所述的方法。
28.一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如权利要求1至5中任一项,或6,或7,或8至11中任一项所述的方法。
CN202110795095.0A 2021-07-14 2021-07-14 生成动画的方法及装置 Pending CN115631267A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110795095.0A CN115631267A (zh) 2021-07-14 2021-07-14 生成动画的方法及装置
PCT/CN2022/096773 WO2023284435A1 (zh) 2021-07-14 2022-06-02 生成动画的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110795095.0A CN115631267A (zh) 2021-07-14 2021-07-14 生成动画的方法及装置

Publications (1)

Publication Number Publication Date
CN115631267A true CN115631267A (zh) 2023-01-20

Family

ID=84902115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110795095.0A Pending CN115631267A (zh) 2021-07-14 2021-07-14 生成动画的方法及装置

Country Status (2)

Country Link
CN (1) CN115631267A (zh)
WO (1) WO2023284435A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116071472A (zh) * 2023-02-08 2023-05-05 华院计算技术(上海)股份有限公司 图像生成方法及装置、计算机可读存储介质、终端

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116342835A (zh) * 2023-03-31 2023-06-27 华院计算技术(上海)股份有限公司 人脸三维表面网格生成方法、装置、计算设备及存储介质
CN116912373B (zh) * 2023-05-23 2024-04-16 苏州超次元网络科技有限公司 一种动画处理方法和***
CN117635784B (zh) * 2023-12-19 2024-04-19 世优(北京)科技有限公司 三维数字人脸部动画自动生成***
CN117809002B (zh) * 2024-02-29 2024-05-14 成都理工大学 一种基于人脸表情识别与动作捕捉的虚拟现实同步方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8566075B1 (en) * 2007-05-31 2013-10-22 PPR Direct Apparatuses, methods and systems for a text-to-sign language translation platform
CN104732590B (zh) * 2015-03-09 2018-06-22 北京工业大学 一种手语动画的合成方法
CN109446876B (zh) * 2018-08-31 2020-11-06 百度在线网络技术(北京)有限公司 手语信息处理方法、装置、电子设备和可读存储介质
CN110570877B (zh) * 2019-07-25 2022-03-22 咪咕文化科技有限公司 手语视频生成方法、电子设备及计算机可读存储介质
CN111862277A (zh) * 2020-07-22 2020-10-30 北京百度网讯科技有限公司 用于生成动画的方法、装置、设备以及存储介质
CN112329451B (zh) * 2020-12-03 2024-02-02 云知声智能科技股份有限公司 手语动作视频生成方法、装置、设备及存储介质
CN113077537B (zh) * 2021-04-29 2023-04-25 广州虎牙科技有限公司 一种视频生成方法、存储介质及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116071472A (zh) * 2023-02-08 2023-05-05 华院计算技术(上海)股份有限公司 图像生成方法及装置、计算机可读存储介质、终端
CN116071472B (zh) * 2023-02-08 2024-04-30 华院计算技术(上海)股份有限公司 图像生成方法及装置、计算机可读存储介质、终端

Also Published As

Publication number Publication date
WO2023284435A1 (zh) 2023-01-19

Similar Documents

Publication Publication Date Title
CN112348075B (zh) 一种基于情景注意力神经网络的多模态情感识别方法
CN110688911B (zh) 视频处理方法、装置、***、终端设备及存储介质
EP4047598B1 (en) Voice matching method and related device
Tzirakis et al. End-to-end multimodal emotion recognition using deep neural networks
US20230042654A1 (en) Action synchronization for target object
WO2023284435A1 (zh) 生成动画的方法及装置
CN112162628A (zh) 基于虚拟角色的多模态交互方法、装置及***、存储介质、终端
KR101558202B1 (ko) 아바타를 이용한 애니메이션 생성 장치 및 방법
Fan et al. A deep bidirectional LSTM approach for video-realistic talking head
CN113378806B (zh) 一种融合情感编码的音频驱动人脸动画生成方法及***
CN113421547B (zh) 一种语音处理方法及相关设备
CN111967334B (zh) 一种人体意图识别方法、***以及存储介质
KR101738142B1 (ko) 감성 기반의 대화가 가능한 디지털 생명체 생성 시스템 및 그 제어방법
KR101984283B1 (ko) 기계학습모델을 이용한 자동화된 피평가자분석 시스템, 방법, 및 컴퓨터 판독가능매체
CN112216307A (zh) 语音情感识别方法以及装置
CN113516990A (zh) 一种语音增强方法、训练神经网络的方法以及相关设备
CN116934953A (zh) 驱动虚拟人说话和模型训练方法、装置、计算设备及***
WO2023226239A1 (zh) 对象情绪的分析方法、装置和电子设备
CN114882862A (zh) 一种语音处理方法及相关设备
CN115937369A (zh) 一种表情动画生成方法、***、电子设备及存储介质
Filntisis et al. Video-realistic expressive audio-visual speech synthesis for the Greek language
CN113948060A (zh) 一种网络训练方法、数据处理方法及相关设备
Liu et al. Real-time speech-driven animation of expressive talking faces
CN113362432B (zh) 一种面部动画生成方法及装置
Verma et al. Animating expressive faces across languages

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination