CN117333950B - 动作生成方法、装置、计算机设备和存储介质 - Google Patents

动作生成方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN117333950B
CN117333950B CN202311619166.7A CN202311619166A CN117333950B CN 117333950 B CN117333950 B CN 117333950B CN 202311619166 A CN202311619166 A CN 202311619166A CN 117333950 B CN117333950 B CN 117333950B
Authority
CN
China
Prior art keywords
matrix
attention
feature
attention score
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311619166.7A
Other languages
English (en)
Other versions
CN117333950A (zh
Inventor
孙红岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311619166.7A priority Critical patent/CN117333950B/zh
Publication of CN117333950A publication Critical patent/CN117333950A/zh
Application granted granted Critical
Publication of CN117333950B publication Critical patent/CN117333950B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • 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/0499Feedforward networks
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Image Analysis (AREA)

Abstract

本申请涉及一种动作生成方法、装置、计算机设备和存储介质。方法包括:获取当前第一对象的音频数据以及动作数据,得到第一特征矩阵;获取第二对象的历史动作数据,得到第二特征矩阵;将第一特征矩阵以及第二特征矩阵输入预先训练的第一注意力模型,通过第一注意力模型根据第一特征矩阵以及第二特征矩阵确定第一注意力分数矩阵,并根据第一注意力分数矩阵以及预设的偏置矩阵,确定第二注意力分数矩阵,偏置矩阵包括第一注意力分数矩阵中各个分数对应的惩罚系数;根据第二注意力分数矩阵确定第二对象的当前动作。采用本方法能够推理第一对象的长序列对话,提高对长序列对话的反应能力。

Description

动作生成方法、装置、计算机设备和存储介质
技术领域
本申请涉及数据处理技术领域,特别是涉及一种动作生成方法、装置、计算机设备和存储介质。
背景技术
近些年由于元宇宙概念的兴起,跟随而来虚拟人技术的数字人、虚拟形象的开发逐渐成为了新兴的技术议题,除了用于虚拟真人类形象,数字人的开发技术也能让角色表情更加生动,并且与观众互动,在整个数字人的技术栈中,虚拟人的倾听者动作生成是元宇宙中不可缺少的一部分,倾听者动作生成,顾名思义,是指讲述者(真人)在与其谈话时,数字人能够适时的给予一定的反应来回应讲述者的情绪和讲话内容,通过一些头部的动作(例如点头、微笑等)来拉近和讲述者的关系。要求数字人不仅动作自然流畅回应及时,而且需要倾听者的动作要丰富多样,防止倾听者给人一种呆板、敷衍的感觉。
传统的倾听者动作生成通过设定规则来实现,通过规定讲述者和倾听者的对应关系,根据讲述者的语音动作对倾听者的表情动作进行召回。这种实现方式呆板、单调且让人无法产生共情。随着深度学习的发展,通过神经网络来学习倾听者和讲述者之间关系使得倾听者动画生成取得了长足的发展。但现有的倾听者动作生辰网络普遍使用CNN或者transformer网络,虽然自然和多样性得到了极大的提升,但由于其自身的局限性(CNN具有平移不变的偏置,transformer虽然具有全局注意力的机制,但是由于其原生编码及注意力的限制只能注意到有限的序列,无法进行有效的序列扩展),适用短对话,当讲述者的对话比较长时倾听者就会无法适时自然的作出反应。
发明内容
基于此,有必要针对上述技术问题,提供一种动作生成方法、装置、计算机设备和存储介质。
一种动作生成方法,上述的方法包括:获取当前第一对象的音频数据以及动作数据,并根据当前第一对象的音频数据以及动作数据获取第一特征矩阵;获取第二对象的历史动作数据,并根据第二对象的历史动作数据获取第二特征矩阵;将第一特征矩阵以及第二特征矩阵输入预先训练的第一注意力模型,通过第一注意力模型根据第一特征矩阵以及第二特征矩阵确定第一注意力分数矩阵,并根据第一注意力分数矩阵以及预设的偏置矩阵,确定第二注意力分数矩阵,偏置矩阵包括第一注意力分数矩阵中各个分数对应的惩罚系数;根据第二注意力分数矩阵确定第二对象的当前动作。
在其中一个实施例中,上述的第一特征矩阵包括键矩阵以及键矩阵对应的值矩阵,上述的获取当前第一对象的音频数据以及动作数据,并根据当前第一对象的音频数据以及动作数据获取第阵,包括:将当前第一对象的音频数据以及动作数据输入预设的第二注意力模型,得到第三注意力分数矩阵;根据第三注意力分数矩阵创建键矩阵以及值矩阵。
在其中一个实施例中,上述的获取第二对象的历史动作数据,并根据第二对象的历史动作数据获取第二特征矩阵,包括:将第二对象的历史动作数据输入编码器进行特征编码;根据编码后的特征构建第二特征矩阵。
在其中一个实施例中,上述的通过第一注意力模型根据第一特征矩阵以及第二特征矩阵确定第一注意力分数矩阵,包括:通过第一注意力模型计算键矩阵与第二特征矩阵的乘积,得到第一注意力分数矩阵。
在其中一个实施例中,上述的根据第一注意力分数矩阵以及预设的偏置矩阵,确定第二注意力分数矩阵,包括:通过第一注意力模型计算偏置矩阵与预设坡度值的乘积与第一注意力分数矩阵的和,得到增加线性偏置后的矩阵,并利用归一化指数函数对增加线性偏置后的矩阵进行归一化处理,根据归一化处理后的矩阵以及值矩阵,确定第二注意力分数矩阵。
在其中一个实施例中,上述的第一注意力模型包括多个注意力头,上述的预设坡度值包括各个注意力头对应的坡度值,上述的通过第一注意力模型计算偏置矩阵与预设坡度值的乘积与第一注意力分数矩阵的和,得到增加线性偏置后的矩阵,包括:通过各个注意力头计算偏置矩阵与对应的坡度值的乘积与第一注意力分数矩阵的和,得到增加线性偏置后的矩阵。
在其中一个实施例中,上述的方法还包括:对第一特征矩阵中的每一列进行位置编码,得到第一特征矩阵中的每一列对应的位置信息;对第二特征矩阵中每一行进行位置编码,得到第二特征矩阵中每一行的位置信息;
上述的惩罚系数为非正数,上述的第一注意力分数矩阵中的每个分数为第二特征矩阵中的行与第一特征矩阵中的列的乘积,第二特征矩阵中行的位置信息与第一特征矩阵中列的位置信息距离越大的分数,对应的惩罚系数的绝对值越大。
在其中一个实施例中,上述的根据第二注意力分数矩阵确定第二对象的当前动作,包括:将第二注意力分数矩阵输入预先训练的码本,得到与第二注意力分数矩阵匹配的离散向量;将离散向量通过解码器进行解码,得到第二对象的当前动作。
在其中一个实施例中,上述的方法还包括:获取第一对象样本的动作数据以及音频数据,构建第一样本矩阵;获取第二对象样本的动作数据,构建第二样本矩阵;将第一样本矩阵以及第二样本矩阵输入待训练模型进行模型训练,并通过待训练模型根据偏置矩阵输出第三注意力分数矩阵;根据第三注意力分数矩阵确定第二对象样本的动作数据;根据预先设定的损失函数计算待训练模型的损失值;当损失值未达到预设阈值时,获取下一个第一对象样本的动作数据以及音频数据构建上述第一样本矩阵;返回将第一样本矩阵以及第二样本矩阵输入待训练模型,并通过待训练模型根据偏置矩阵输出第三注意力分数矩阵的步骤;当损失值达到预设阈值时,得到第一注意力模型。
在其中一个实施例中,上述的将当前第一对象的音频数据以及动作数据输入预设的第二注意力模型,输出第三注意力分数矩阵之前,方法还包括:对当前第一对象的音频数据以及动作数据进行编码进特征维度空间。
在其中一个实施例中,上述的方法还包括:通过详细的表情捕捉和动画模型对第二对象的当前动作进行渲染并重新组合成视频,得到第二对象的动画。
在其中一个实施例中,上述的方法还包括:利用向量量化变分自编码器训练码本。
一种动作生成装置,上述的装置包括:第一获取模块,用于获取当前第一对象的音频数据以及动作数据,并根据当前第一对象的音频数据以及动作数据获取第一特征矩阵;第二获取模块,用于获取第二对象的历史动作数据,并根据第二对象的历史动作数据获取第二特征矩阵;处理模块,用于将第一特征矩阵以及第二特征矩阵输入预先训练的第一注意力模型,通过第一注意力模型根据第一特征矩阵以及第二特征矩阵确定第一注意力分数矩阵,并根据第一注意力分数矩阵以及预设的偏置矩阵,确定第二注意力分数矩阵,偏置矩阵包括第一注意力分数矩阵中各个分数对应的惩罚系数;确定模块,用于根据第二注意力分数矩阵确定第二对象的当前动作。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取当前第一对象的音频数据以及动作数据,并根据当前第一对象的音频数据以及动作数据获取第一特征矩阵;获取第二对象的历史动作数据,并根据第二对象的历史动作数据获取第二特征矩阵;将第一特征矩阵以及第二特征矩阵输入预先训练的第一注意力模型,通过第一注意力模型根据第一特征矩阵以及第二特征矩阵确定第一注意力分数矩阵,并根据第一注意力分数矩阵以及预设的偏置矩阵,确定第二注意力分数矩阵,偏置矩阵包括第一注意力分数矩阵中各个分数对应的惩罚系数;根据第二注意力分数矩阵确定第二对象的当前动作。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取当前第一对象的音频数据以及动作数据,并根据当前第一对象的音频数据以及动作数据获取第一特征矩阵;获取第二对象的历史动作数据,并根据第二对象的历史动作数据获取第二特征矩阵;将第一特征矩阵以及第二特征矩阵输入预先训练的第一注意力模型,通过第一注意力模型根据第一特征矩阵以及第二特征矩阵确定第一注意力分数矩阵,并根据第一注意力分数矩阵以及预设的偏置矩阵,确定第二注意力分数矩阵,偏置矩阵包括第一注意力分数矩阵中各个分数对应的惩罚系数;根据第二注意力分数矩阵确定第二对象的当前动作。
上述动作生成方法、装置、计算机设备和存储介质,通过对注意力模型进行改进,具体的改进点是对注意力分数增加线性偏置,使得注意力模型能够推理更长序列的对话。
具体地,本申请通过预先训练的第一注意力模型对当前第一对象的音频数据以及动作数据构建的第一特征矩阵以及第二对象的历史动作数据构建的第二特征矩阵进行处理,输出第二注意力分数矩阵,进一步,通过预设的偏置矩阵对第一注意力分数矩阵加上了线性偏置,使得第一注意力模型会对历史的分数按照设置的惩罚系数进行不同程度的惩罚,即对历史的分数的考虑程度不同,使得得到的第二对象的当前动作更加准确和灵活,实现了能够推理第一对象的更长序列的对话。然而,传统技术中对历史的分数值的考虑程度相同,导致得到的第二对象的动作不够灵活和准确,故只能适用于短序列的对话,而对于长序列的对话无法适时自然的作出反应。
附图说明
图1为一个实施例中动作生成方法的流程示意图;
图2为一个实施例中第二注意力模型的网络结构示意图;
图3为一个实施例中MLP的网络结构示意图;
图4为另一个实施例中第二注意力模型的网络结构示意图;
图5为另一个实施例中动作生成方法的流程示意图;
图6为一个实施例中动作生成装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种动作生成方法,包括以下步骤:
S11、获取当前第一对象的音频数据以及动作数据,并根据当前第一对象的音频数据以及动作数据获取第一特征矩阵。
本申请中,上述的第一对象可以为真实的聊天对象,这里的第一对象作为当前聊天场景中的讲述者。上述的音频数据的数据维度可以为N*256*128,其中N*256为时间序列即总帧数,128维为音频的梅尔频谱特征。上述的动作数据可以为脸部数据。其中,脸部数据的维度可以为N*64*184。其中,N*64为时间序列,184为DECA(Detailed ExpressionCapture and Animation,详细的表情捕捉和动画)算法从视频中提取出来的Flame参数,其中包含50维表情参数、6维动作参数和128维形状参数。
具体地,本申请可以通过对音频数据以及动作数据进行处理,得到上述的第一特征矩阵,例如,计算音频数据与动作数据的关联性,基于关联性确定第一特征矩阵。
S12、获取第二对象的历史动作数据,并根据第二对象的历史动作数据获取第二特征矩阵。
本申请中,上述的第二对象是指当前聊天场景中的虚拟人物,这里的第二对象作为当前聊天场景中的倾听者。在当前聊天场景中,虚拟人物接收当前讲述者的对话序列,并对当前讲述者的对话序列适时做出反应。示例性地,当前聊天场景可以为心理咨询场景,相应的上述的第一对象可以为心理咨询场景中的讲述者,如患者,第二对象可以为心理咨询场景中的倾听者,如虚拟的心理咨询医生。
本申请中,上述的历史动作数据可以为历史的预设时间段内的动作数据。这里的第二对象的动作数据可以为脸部数据。其中,脸部数据的维度可以为N*64*184。其中,N*64为时间序列,184为DECA算法从视频中提取出来的Flame参数,其中包含50维表情参数、6维动作参数和128维形状参数。
进一步地,根据第二对象的历史动作数据构建上述的第二特征矩阵。其中,可以对第二对象的历史动作数据进行特征提取,将提取的数据构建第二特征矩阵。这里的第二特征矩阵作为查询(Query)矩阵(也称Q矩阵)输入第一注意力模型中参与模型计算。
S13、将第一特征矩阵以及第二特征矩阵输入预先训练的第一注意力模型,通过第一注意力模型根据第一特征矩阵以及第二特征矩阵确定第一注意力分数矩阵,并根据第一注意力分数矩阵以及预设的偏置矩阵,确定第二注意力分数矩阵,偏置矩阵包括与第一注意力分数矩阵中各个分数对应的惩罚系数。
本申请中,上述的第一注意力模型可以为Cross-identity Attention模型。这里的Cross-identity Attention模型为transformer decoder架构。
上述的第一注意力分数矩阵用于表示第一特征矩阵与第二特征矩阵的特征空间相似度。上述的第二注意力分数矩阵是利用偏置矩阵对第一注意力分数矩阵进行处理后得到的矩阵。本申请通过用偏置矩阵对第一注意力分数矩阵进行处理,使得第一注意力分数矩阵增加了线下偏置,使得第一注意力模型可以推理更长的对话序列。
其中,上述的偏置矩阵是指由多个惩罚系数构成的矩阵,用于对第一注意力分数矩阵增加线性偏置。偏置矩阵的行数与列数分别与第一注意力分数矩阵的行数与列数相同。偏置矩阵中的每个元素分别与第一注意力分数矩阵中每个元素一一对应,为第一注意力分数矩阵中给个元素对应的惩罚系数。
S14、根据第二注意力分数矩阵确定第二对象的当前动作。
其中,上述的第二对象当前动作可以为脸部的表情。具体地,这里的当前动作可以包括脸部的表情、动作以及形状等。
上述的根据第二注意力分数矩阵确定第二对象的当前动作,可以包括:
根据第二注意力分数矩阵确定第二对象的当前动作数据,根据动作数据确定当前动作。
其中,这里的动作数据可以包括脸部的表情参数、动作参数以及形状参数等。
在其中一个实施例中,上述的第一特征矩阵包括键矩阵以及键矩阵对应的值矩阵,上述的获取当前第一对象的音频数据以及动作数据,并根据当前第一对象的音频数据以及动作数据获取第一特征矩阵,可以包括:将当前第一对象的音频数据以及动作数据输入预设的第二注意力模型,得到第三注意力分数矩阵;根据第三注意力分数矩阵创建键矩阵以及值矩阵。
本申请中,上述的键矩阵是指关键字矩阵,具体是对音频数据进行特征提取后得到的矩阵,又称K(key,关键字)矩阵。上述的值矩阵是指上述的键矩阵中各个关键字对应的取值构成的矩阵,又称V(value,值)矩阵。
上述的将当前第一对象的音频数据以及动作数据输入预设的第二注意力模型之前,需要根据当前第一对象的音频数据构建初始的键矩阵以及值矩阵,根据当前第一对象的动作数据构建初始的查询矩阵,进一步将初始的键矩阵、初始的值矩阵以及初始的查询矩阵输入上述的第二注意力模型,得到第三注意力分数矩阵。
本申请根据第三注意力分数矩阵创建键矩阵以及值矩阵可以根据第三注意力分数矩阵以及对应的权重矩阵创建上述的键矩阵以及值矩阵。
上述的第二注意力模型可以为Cross-model Attention模型。这里的Cross-modelAttention模型为transformer decoder架构,具体网络图如图2所示。
在图2中Cross-model Attention模型的输入包括Q矩阵、K矩阵以及V矩阵。图中的Cross Attention即为Cross-model Attention模型。图中的Q为上述的初始的查询矩阵。K和V分别为上述的初始的键矩阵以及初始的值矩阵。
具体地,第二注意力模型具体通过以下计算公式(1-1)计算上述的第三注意力分数矩阵:
(1-1)。
本申请通过第二注意力模型计算第一对象即当前讲述者的音频数据与动作数据之间的关联关系,后续基于该关联关系对第二对象即倾听者的动作数据进行处理,以确定倾听者的当前动作。
在其中一个实施例中,上述的获取第二对象的历史动作数据,并根据第二对象的历史动作数据获取第二特征矩阵,可以包括:将第二对象的历史动作数据输入编码器进行特征编码;根据编码后的特征构建第二特征矩阵。
本申请中,上述的编码器为Encoder。其中,Encoder为两层的MLP(Multi-LayerPerceptron,多层感知机)网络,网络模型如图3所示。MLP也叫人工神经网络,出了输入输出层,中间可以有多个隐层,最简单的MLP只有一个隐层。MLP是解决线性不可分问题的一种解决方案。在图3中,第一层为184维的线性分类器。第二层为64维的线性分类器。
在其中一个实施例中,上述的通过第一注意力模型根据第一特征矩阵以及第二特征矩阵确定第一注意力分数矩阵,可以包括:通过第一注意力模型计算键矩阵与第二特征矩阵的乘积,得到第一注意力分数矩阵。
本申请中,上述的第一注意力分数矩阵为第一特征矩阵与第二特征矩阵的内积,用于表示第一特征矩阵与第二特征矩阵的相似度。第一注意力分数矩阵中的各个分数值为自注意力分数,值越大表示向量的关联度越大。
假设第一特征矩阵以及第二特征矩阵均为5行5列的矩阵,则计算第一特征矩阵与第二特征矩阵的乘积可以表示为下式(1-2):(1-2),其中,q为第二特征矩阵,k为第一特征矩阵。q1、q2、q3、q4以及q5分别为第二特征矩阵的第一至五行,k1、k2、k3、k4以及k5分别为第一特征矩阵的第一至五列。对角线的右上角部分的值为无穷大。
本申请通过计算第一特征矩阵和第二特征矩阵的内积,以获取讲述者与倾听者之间的信息交互,从而根据信息交互推理倾听者的当前动作。
在其中一个实施例中,上述的根据第一注意力分数矩阵以及预设的偏置矩阵,确定第二注意力分数矩阵,可以包括:通过第一注意力模型计算偏置矩阵与预设坡度值的乘积与第一注意力分数矩阵的和,得到增加线性偏置后的矩阵,并利用归一化指数函数对增加线性偏置后的矩阵进行归一化处理,根据归一化处理后的矩阵以及值矩阵,确定第二注意力分数矩阵。
本申请中,第二注意力模型同为transformer decoder架构,主要进行第一对象和第二对象之间的信息交互,通过第一对象和第二对象之间的信息交互,可以实现不同人之间的交流。与第一注意力模型不同的是第二注意力模型使用ALiBi(Attention withlinear Biases,添加线性偏置的注意力)方法来外推序列,通过给注意力加上线性偏置,使得模型能够推理更长序列的对话。
ALiBi方法即上述的通过第一注意力模型计算偏置矩阵与预设坡度值的乘积与第一注意力分数矩阵的和,得到增加线性偏置后的矩阵。
具体地,上述的偏置矩阵可以为如下矩阵(1-3):(1-3),其中,第一行的0表示(1-2)式中q1k1对应的惩罚系数。第二行的-1表示(1-2)式中q2k1对应的惩罚系数。第二行的0表示(1-2)式中q2k2对应的惩罚系数,以此类推。对角线的右上角部分的值为无穷大。
上述的通过第一注意力模型计算偏置矩阵与预设坡度值的乘积与第一注意力分数矩阵的和,得到增加线性偏置后的矩阵,具体的计算公式如下:(1-4),其中,QK为上述的第一注意力分数,表示第一特征矩阵与第二特征矩阵的相似度加上线性偏置后的结果。m为预设的坡度值。
在计算第一对象与第二对象之间的注意力分数时(其中第二对象作为Q,第一对象作为K、V),会对以前的分数按照与当前的位置差距进行不同程度的惩罚,例如在计算q3与k3的注意力分数时,q3还会考虑 k1,k2的注意力分数。
上述的利用归一化指数函数对增加线性偏置后的矩阵进行归一化处理,根据归一化处理后的矩阵,确定第二注意力分数矩阵,可以通过上述的(1-1)式计算得到。
其中,在计算第二注意力分数矩阵时,(1-1)式中的Attention(Q,K,V)为上述的第二注意力分数矩阵。Dk是Q和K矩阵的列数,这里的Q矩阵为上述的第二特征矩阵,K矩阵为上述的第一特征矩阵的键矩阵,V为第一特征矩阵中的值矩阵。经过softmaxa之后的分数与对应的值矩阵相乘,可以保持序列中相关单词的权重,同时降低不相关单词的权重。
本申请中第一注意力分数为QK,即第一特征矩阵与第二特征矩阵的内积,而第二注意力分数为Attention(Q,K,V),为QK的softmaxa之后的值,相当于将第一注意力分数转换为注意力权重。
本申请中,Attention主要目的是让互相关联的两个embedding向量进行计算求他们的相似性(相似性使用余弦相似度来进行衡量)。
本申请通过设置偏置矩阵可以对第一注意力分数矩阵增加线性偏置,使得第一注意力模型可以推理更长序列的对话。
在其中一个实施例中,上述的第一注意力模型包括多个注意力头,上述的预设坡度值包括各个注意力头对应的坡度值,上述的通过第一注意力模型计算偏置矩阵与预设坡度值的乘积与第一注意力分数矩阵的和,得到增加线性偏置后的矩阵,包括:
通过各个注意力头计算偏置矩阵与对应的坡度值的乘积与第一注意力分数矩阵的和,得到增加线性偏置后的矩阵。
本申请中,采用多头注意力机制,将输入划分为多份,将各份输入对应的注意力头进行并行处理,后续将各个注意力头的处理结果进行融合,得到上述的第二注意力分数矩阵。本申请中各个注意力头预先设置对应的序列号,计算第二注意力分数矩阵时,利用对应的注意力序列号进行计算。
具体地,对于不同的attention head(注意力头)使用不同的坡度值,例如,当 attention head的数目为8时,坡度值m的设置为:(1-5),其中,表示 attention head的序列号。当attention head的数目为8时,m的取值为:1/2、1/4、1/8、1/ 16、1/32、1/64、1/128、1/256,具体地,请参考图4,图4为一种实施例中,Cross-model Attention网络图。在图4中,第一模块为Add & Norm层,第二模块为Feed-Forward网络层, 第三模块为Add & Norm层,第四模块为multi-head attention(多头注意力)层。
其中,Add & Norm层由Add和Norm 两部分组成,其计算公式如下:(1-6),Feed-Forward网络输出为:(1-7),其中,multi-head attention由多个scaled dot-product attention(缩放点积注意力) 这样的基础单元经过stack(堆叠)而成。scaled dot-product attention公式如上式(1-1)所示。
进一步地,将各个注意力头的处理结果进行融合可以利用如下公式:(1-8),进一步地,Cross-modelAttention输出单元的公式为:/>(1-9),其中,上述的输出单元为右侧DNN结构层输出(DNN层可以看做是一个全链接的前馈神经网络),H为影藏层的网络层数,DNN结构层中每一层与上一层的网络关系为/>,其中/>为激活函数,/>、/>、/>为第层网络的权重、输入和偏置,其中,/>
具体地,Cross-model Attention模型的attention head(注意力头)数目为4(即由4个scaled dot-product attention(缩放点击注意力)单元组成),num layer(层数)为3(即由3个multi-head attention+ Add & Norm+Feed-Forward组成),dim_feedforward(前馈神经网络矩阵)维度为128(Feed-Forward中隐藏单元的数量)。Dropout设置为0.1(即采用丢弃单元概率为0.1的概率来随机丢弃网络单元)。
本申请中,通过采用多个注意力头每个注意力头都能独立的学习并关注不同的语义信息,使得模型的表达能力更强。
在其中一个实施例中,上述的方法还可以包括:对第一特征矩阵中的每一列进行位置编码,得到第一特征矩阵中的每一列对应的位置信息;对第二特征矩阵中每一行进行位置编码,得到第二特征矩阵中每一行的位置信息;惩罚系数为非正数,第一注意力分数矩阵中的每个分数为第二特征矩阵中的行与第一特征矩阵中的列的乘积,第二特征矩阵中行的位置信息与第一特征矩阵中列的位置信息距离越大的分数,对应的惩罚系数的绝对值越大。
其中,这里的位置信息是指各帧数据的时序信息,即时序的先后位置信息。
具体地,本申请可以通过以下公式(1-2)以及(1-3)对第二特征矩阵中各帧数据进行位置编码,得到第二特征矩阵中各帧数据的位置信息:
(1-10);
(1-11),其中,t为目前的时间步数,i为维度的序列标识,d为模型的维度,p为超参。具体地,对于偶数的帧如第2、4、6...帧利用公式(1-10)进行位置编码。对于奇数的帧如第1、3、7...帧利用公式(1-11)进行位置编码。
进行位置编码后,上述的第一特征矩阵以及第二特征矩阵中各行各列均携带有位置信息。
请参考上式(1-3),偏置矩阵中各个数为负数或者0。偏置矩阵中的各个惩罚系数均与q和k的相对位置有关,即与位置信息的距离有关。例如,q1与k1之间的距离是0,所以对应的惩罚系数为0,q2和k1的相对位置偏移为1-2=-1,则对应的惩罚系数为-1。由此可见,q与k的位置信息的距离越大对应的惩罚系数的绝对值就越大,对应的惩罚程度就越大。
本申请通过对第一特征矩阵以及第二特征矩阵进行位置编码,可以确定第一特征矩阵的行列与第二特征矩阵的行列的相对位置关系,基于q和k不同的相对位置关系设置不同的惩罚程度的惩罚系数,使得得到的注意力分数更能反应第一对象即当前讲述者和第二对象即倾听者特征之间的交互信息,进而使得第一注意力模型能够推理更长的序列,以及可以对于一些更复杂的动作作出对应的表情反应。
在其中一个实施例中,上述的根据第二注意力分数矩阵确定第二对象的当前动作,可以包括:将第二注意力分数矩阵输入预先训练的码本,得到与第二注意力分数矩阵匹配的离散向量;将离散向量通过解码器进行解码,得到第二对象的当前动作。
本申请中,上述的码本为codebook。codebook中维护有多个离散向量。通过将第二注意力分数矩阵与,码本中的各个离散向量进行匹配,得到最匹配的向量,将该最匹配的向量输入解码器进行解码得到第二对象当前动作数据,并进一步根据动作数据确定对应的动作。这里的动作数据可以为Flame参数,其中可以包含50维表情参数、6维动作参数和128维形状参数。
本申请中的解码器(Decoder)为传统的transformer decoder + MLP架构组成,transformer decoder参数为attention head(注意力头)数目为4,num layer(层数)为3,dim_feedforward(前馈神经网络矩阵)维度为128。Dropout设置为0.1。MLP单元为184,最终得出FLAME参数。
在一种实施方式中,为了使得每个第二对象具有个人独有的特征。因此采用VQVAE(Vector Quantised-Variational AutoEncoder,向量量化变分自动编码器)架构来训练Codebook,通过Codebook+decoder的方式来实现针对第二对象的动画实现。
在训练Codebook时,输入为第一对象的FLAME模型参数,输出为第二对象的FLAME模型参数,Encoder VQVAE和Decoder VQVAE为对称结构,Decoder VQVAE结构为整体网络架构中的decoder架构。
其中Codebook的训练主要是学习Codebook中离散隐变量(离散隐变量呈均匀分布),离散隐变量的学习是通过来进行学习的,因为在反向传播中不可导,因此,VQVAE(向量量化变分自动编码器)采用"straight-through estimator"方法来进行梯度反传。即在前向传播时正常传播,反向传播时跳过Codebook直接将梯度复制到Encoder VQVAE网络。
Codebook的模型超参设置为:N=256、P=1、H=8、C=16,其中N=256表示不同标识人的特征,P=1表示时间单元数,即第二对象对第一对象的时间关联,在本专利中设置为一对一形成关联,而H、C和人脸和头部的动作相关,设置为8、16为考虑到头部和人面部表情的综合结果。
进一步地,训练Codebook的损失函数如下:
(1-12),其中为重建loss,作用在encoder(编码器)和decoder(解码器)上,/>为第二对象的FLMAE参数,/>为模型预测的第二对象FLAME参数,/>用来更新Codebook空间,/>则用来约束Encoder VQVAE。/>为真实量化离散隐变量,/>为Encoder VQVAE输出的特征值。/>公式为:/>(1-13),/>表示在进行前向传播时进行正常计算,在进行反向传播时,直接将decoder的梯度复制给encoder进行梯度反传。
设置batch size(批量大小)为4,使用Adam优化器且初始学习率为情况下进行训练,将第一对象、第二对象的视频帧FLAME参数作为网络输入进行训练,训练到收敛后即可获得Codebook。
Freeze住Codebook+decode网络,去掉Encoder网络,并设置batch size为4,使用Adam优化器且初始学习率为情况下进行训练,将经过处理后的第一对象音频特征和第一对象、第二对象的视频帧FLAME参数作为网络输入进行训练,待到收敛后即可获得整个网络模型。
在其中一个实施例中,上述的方法还可以包括:获取第一对象样本的动作数据以及音频数据,构建第一样本矩阵;获取第二对象样本的动作数据,构建第二样本矩阵;将第一样本矩阵以及第二样本矩阵输入待训练模型进行模型训练,并通过待训练模型根据偏置矩阵输出第三注意力分数矩阵;根据第三注意力分数矩阵确定第二对象样本的动作数据;根据预先设定的损失函数计算待训练模型的损失值;当损失值未达到预设阈值时,获取下一个第一对象样本的动作数据以及音频数据构建上述第一样本矩阵;返回将第一样本矩阵以及第二样本矩阵输入待训练模型,并通过待训练模型根据偏置矩阵输出第三注意力分数矩阵的步骤;当损失值达到预设阈值时,得到第一注意力模型。
本申请中,预先对第一注意力模型进行训练。上述的损失函数如下:(1-14)其中/>为时间序列上的Cross-identity Attention(第一注意力模型)输出的特征值,/>为Codebook训练损失函数中得到的时间序列的/>,其中/>,/>如Codebook训练损失函数中的/>,/>
本申请中,通过将训练好的第一注意力模型用于倾听者动作的生成,在训练过程中对注意力增加了线性偏置,使得倾听者动作的生成可以推理更长的对话序列,以及对更复杂的对话序列作出更灵活的表情反应。
在其中一个实施例中,上述的将当前第一对象的音频数据以及动作数据输入预设的第二注意力模型,输出第三注意力分数矩阵之前,上述的方法还可以包括:
对当前第一对象的音频数据以及动作数据进行编码进特征维度空间。
本申请中,上述的对当前第一对象的音频数据以及动作数据进行编码进特征维度空间,可以通过以下公式进行编码:(1-15),其中,/>为one-hot speaker identity,/>为Encoder的网络权重,/>为Encoder的网络偏置。
本申请中,通过编码器进行编码使得获取的原始数据转换成特征空间,便于后续参与模型内部的计算。
在其中一个实施例中,上述的方法还可以包括:通过详细的表情捕捉和动画模型对第二对象的当前动作进行渲染并重新组合成视频,得到第二对象的动画。
本申请中,通过Codebook+decoder的方式来实现针对第二对象的动画实现。
本申请中,给定倾听者的图片和讲述者的视频,通过提取视频中的音频特征,并将视频中的每帧通过DECA(Detailed Expression Capture and Animation,详细的表情捕捉和动画)模型提取出FLAME参数,将音频数据提取出梅尔频谱,并将梅尔频谱、讲述者每帧的FLAME参数、倾听者图片通过DECA提取的FLAME参数输入到网络中即可得到倾听者的FLAME参数,通过DECA模型进行渲染并重新组合成视频后即完成倾听者的动画生成。
在其中一个实施例中,上述的方法还可以包括:利用向量量化变分自编码器训练码本。
本申请中,上述的向量量化变分自编码器为VQVAE。为了使得每个第二对象具有个人独有的特征。因此,采用VQVAE架构来训练Codebook。
请参考图5,图5为一种实施例中,本申请的倾听者动作生成方法的流程图。当前讲述者的音频数据以及动作数据先输入第二注意力模型,输出对应的第三注意力分数矩阵,根据第三注意力分数矩阵构建第一特征矩阵,倾听者的历史动作数据通过编码器后,得到第二特征矩阵,将第一特征矩阵以及第二特征矩阵输入第一注意力模型,得到第二注意力分数,根据预先训练的码本根据第二注意力分数查询匹配的离散向量,通过解码器对离散向量进行解码,得到倾听者的当前动作。
在一个实施例中,如图6所示,提供了一种动作生成装置,包括:第一获取模块11、第二获取模块12、处理模块13以及确定模块14,其中:第一获取模块11,用于获取当前第一对象的音频数据以及动作数据,并根据当前第一对象的音频数据以及动作数据获取第一特征矩阵。
第二获取模块12,用于获取第二对象的历史动作数据,并根据第二对象的历史动作数据获取第二特征矩阵。
处理模块13,用于将第一特征矩阵以及第二特征矩阵输入预先训练的第一注意力模型,通过第一注意力模型根据第一特征矩阵以及第二特征矩阵确定第一注意力分数矩阵,并根据第一注意力分数矩阵以及预设的偏置矩阵,确定第二注意力分数矩阵,偏置矩阵包括第一注意力分数矩阵中各个分数对应的惩罚系数。
确定模块14,用于根据第二注意力分数矩阵确定第二对象的当前动作。
在其中一个实施例中,上述的第一特征矩阵包括键矩阵以及键矩阵对应的值矩阵,上述的第一获取模块11可以将当前第一对象的音频数据以及动作数据输入预设的第二注意力模型,得到第三注意力分数矩阵,根据第三注意力分数矩阵创建键矩阵以及值矩阵。
在其中一个实施例中,上述的第二获取模块12可以将第二对象的历史动作数据输入编码器进行特征编码,根据编码后的特征构建第二特征矩阵。
在其中一个实施例中,上述的处理模块13可以通过第一注意力模型计算键矩阵与第二特征矩阵的乘积,得到第一注意力分数矩阵。
在其中一个实施例中,上述的处理模块13可以通过第一注意力模型计算偏置矩阵与预设坡度值的乘积与第一注意力分数矩阵的和,得到增加线性偏置后的矩阵,并利用归一化指数函数对增加线性偏置后的矩阵进行归一化处理,根据归一化处理后的矩阵以及值矩阵,确定第二注意力分数矩阵。
在其中一个实施例中,上述的第一注意力模型包括多个注意力头,上述的预设坡度值包括各个注意力头对应的坡度值,上述的处理模块13可以通过各个注意力头计算偏置矩阵与对应的坡度值的乘积与第一注意力分数矩阵的和,得到增加线性偏置后的矩阵。
在其中一个实施例中,上述的处理模块13还可以对第一特征矩阵中的每一列进行位置编码,得到第一特征矩阵中的每一列对应的位置信息,对第二特征矩阵中每一行进行位置编码,得到第二特征矩阵中每一行的位置信息,惩罚系数为非正数,第一注意力分数矩阵中的每个分数为第二特征矩阵中的行与第一特征矩阵中的列的乘积,第二特征矩阵中行的位置信息与第一特征矩阵中列的位置信息距离越大的分数,对应的惩罚系数的绝对值越大。
在其中一个实施例中,上述的确定模块14可以将第二注意力分数矩阵输入预先训练的码本,得到与第二注意力分数矩阵匹配的离散向量,将离散向量通过解码器进行解码,得到第二对象的当前动作。
在其中一个实施例中,上述的处理模块13还可以获取第一对象样本的动作数据以及音频数据,构建第一样本矩阵,获取第二对象样本的动作数据,构建第二样本矩阵,将第一样本矩阵以及第二样本矩阵输入待训练模型进行模型训练,并通过待训练模型根据偏置矩阵输出第三注意力分数矩阵,根据第三注意力分数矩阵确定第二对象样本的动作数据,根据预先设定的损失函数计算待训练模型的损失值,当损失值未达到预设阈值时,获取下一个第一对象样本的动作数据以及音频数据构建上述第一样本矩阵,返回将第一样本矩阵以及第二样本矩阵输入待训练模型,并通过待训练模型根据偏置矩阵输出第三注意力分数矩阵的步骤,当损失值达到预设阈值时,得到第一注意力模型。
在其中一个实施例中,上述的第一获取模块11还可以对当前第一对象的音频数据以及动作数据进行编码进特征维度空间。
在其中一个实施例中,上述的确定模块14还可以通过详细的表情捕捉和动画模型对第二对象的当前动作进行渲染并重新组合成视频,得到第二对象的动画。
在其中一个实施例中,上述的处理模块13还可以利用向量量化变分自编码器训练码本。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储智能家居设备的运行数据等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现动作生成方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取当前第一对象的音频数据以及动作数据,并根据当前第一对象的音频数据以及动作数据获取第一特征矩阵;获取第二对象的历史动作数据,并根据第二对象的历史动作数据获取第二特征矩阵;将第一特征矩阵以及第二特征矩阵输入预先训练的第一注意力模型,通过第一注意力模型根据第一特征矩阵以及第二特征矩阵确定第一注意力分数矩阵,并根据第一注意力分数矩阵以及预设的偏置矩阵,确定第二注意力分数矩阵,偏置矩阵包括第一注意力分数矩阵中各个分数对应的惩罚系数;根据第二注意力分数矩阵确定第二对象的当前动作。
在一个实施例中,上述的第一特征矩阵包括键矩阵以及键矩阵对应的值矩阵,处理器执行计算机程序实现上述的获取当前第一对象的音频数据以及动作数据,并根据当前第一对象的音频数据以及动作数据获取第一特征矩阵步骤时,具体实现以下步骤:将当前第一对象的音频数据以及动作数据输入预设的第二注意力模型,得到第三注意力分数矩阵;根据第三注意力分数矩阵创建键矩阵以及值矩阵。
在一个实施例中,处理器执行计算机程序实现上述的获取第二对象的历史动作数据,并根据第二对象的历史动作数据获取第二特征矩阵步骤时,具体实现以下步骤:将第二对象的历史动作数据输入编码器进行特征编码;根据编码后的特征构建第二特征矩阵。
在一个实施例中,处理器执行计算机程序实现上述的通过第一注意力模型根据第一特征矩阵以及第二特征矩阵确定第一注意力分数矩阵步骤时,具体实现以下步骤:
通过第一注意力模型计算键矩阵与第二特征矩阵的乘积,得到第一注意力分数矩阵。
在一个实施例中,处理器执行计算机程序实现上述的根据第一注意力分数矩阵以及预设的偏置矩阵,确定第二注意力分数矩阵步骤时,具体实现以下步骤:通过第一注意力模型计算偏置矩阵与预设坡度值的乘积与第一注意力分数矩阵的和,得到增加线性偏置后的矩阵,并利用归一化指数函数对增加线性偏置后的矩阵进行归一化处理,根据归一化处理后的矩阵以及值矩阵,确定第二注意力分数矩阵。
在一个实施例中,上述的第一注意力模型包括多个注意力头,上述的预设坡度值包括各个注意力头对应的坡度值,处理器执行计算机程序实现上述的通过第一注意力模型计算偏置矩阵与预设坡度值的乘积与第一注意力分数矩阵的和,得到增加线性偏置后的矩阵步骤时,具体实现以下步骤:通过各个注意力头计算偏置矩阵与对应的坡度值的乘积与第一注意力分数矩阵的和,得到增加线性偏置后的矩阵。
在一个实施例中,处理器执行计算机程序时,具体实现以下步骤:对第一特征矩阵中的每一列进行位置编码,得到第一特征矩阵中的每一列对应的位置信息;对第二特征矩阵中每一行进行位置编码,得到第二特征矩阵中每一行的位置信息;惩罚系数为非正数,第一注意力分数矩阵中的每个分数为第二特征矩阵中的行与第一特征矩阵中的列的乘积,第二特征矩阵中行的位置信息与第一特征矩阵中列的位置信息距离越大的分数,对应的惩罚系数的绝对值越大。
在一个实施例中,处理器执行计算机程序实现上述的根据第二注意力分数矩阵确定第二对象的当前动作步骤时,具体实现以下步骤:将第二注意力分数矩阵输入预先训练的码本,得到与第二注意力分数矩阵匹配的离散向量;将离散向量通过解码器进行解码,得到第二对象的当前动作。
在一个实施例中,处理器执行计算机程序时,具体实现以下步骤:获取第一对象样本的动作数据以及音频数据,构建第一样本矩阵;获取第二对象样本的动作数据,构建第二样本矩阵;将第一样本矩阵以及第二样本矩阵输入待训练模型进行模型训练,并通过待训练模型根据偏置矩阵输出第三注意力分数矩阵;根据第三注意力分数矩阵确定第二对象样本的动作数据;根据预先设定的损失函数计算待训练模型的损失值;当损失值未达到预设阈值时,获取下一个第一对象样本的动作数据以及音频数据构建上述第一样本矩阵;返回将第一样本矩阵以及第二样本矩阵输入待训练模型,并通过待训练模型根据偏置矩阵输出第三注意力分数矩阵的步骤;当损失值达到预设阈值时,得到第一注意力模型。
在一个实施例中,处理器执行计算机程序实现上述的将当前第一对象的音频数据以及动作数据输入预设的第二注意力模型,输出第三注意力分数矩阵之前,具体还实现以下步骤:对当前第一对象的音频数据以及动作数据进行编码进特征维度空间。
在一个实施例中,处理器执行计算机程序时,具体实现以下步骤:通过详细的表情捕捉和动画模型对第二对象的当前动作进行渲染并重新组合成视频,得到第二对象的动画。
在一个实施例中,处理器执行计算机程序时,具体实现以下步骤:利用向量量化变分自编码器训练码本。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取当前第一对象的音频数据以及动作数据,并根据当前第一对象的音频数据以及动作数据获取第一特征矩阵;获取第二对象的历史动作数据,并根据第二对象的历史动作数据获取第二特征矩阵;将第一特征矩阵以及第二特征矩阵输入预先训练的第一注意力模型,通过第一注意力模型根据第一特征矩阵以及第二特征矩阵确定第一注意力分数矩阵,并根据第一注意力分数矩阵以及预设的偏置矩阵,确定第二注意力分数矩阵,偏置矩阵包括第一注意力分数矩阵中各个分数对应的惩罚系数;根据第二注意力分数矩阵确定第二对象的当前动作。
在一个实施例中,上述的第一特征矩阵包括键矩阵以及键矩阵对应的值矩阵,计算机程序被处理器执行实现上述的获取当前第一对象的音频数据以及动作数据,并根据当前第一对象的音频数据以及动作数据获取第一特征矩阵步骤时,具体实现以下步骤:将当前第一对象的音频数据以及动作数据输入预设的第二注意力模型,得到第三注意力分数矩阵;根据第三注意力分数矩阵创建键矩阵以及值矩阵。
在一个实施例中,计算机程序被处理器执行实现上述的获取第二对象的历史动作数据,并根据第二对象的历史动作数据获取第二特征矩阵步骤时,具体实现以下步骤:将第二对象的历史动作数据输入编码器进行特征编码;根据编码后的特征构建第二特征矩阵。
在一个实施例中,计算机程序被处理器执行实现上述的通过第一注意力模型根据第一特征矩阵以及第二特征矩阵确定第一注意力分数矩阵步骤时,具体实现以下步骤:通过第一注意力模型计算键矩阵与第二特征矩阵的乘积,得到第一注意力分数矩阵。
在一个实施例中,计算机程序被处理器执行实现上述的根据第一注意力分数矩阵以及预设的偏置矩阵,确定第二注意力分数矩阵步骤时,具体实现以下步骤:通过第一注意力模型计算偏置矩阵与预设坡度值的乘积与第一注意力分数矩阵的和,得到增加线性偏置后的矩阵,并利用归一化指数函数对增加线性偏置后的矩阵进行归一化处理,根据归一化处理后的矩阵以及值矩阵,确定第二注意力分数矩阵。
在一个实施例中,上述的第一注意力模型包括多个注意力头,上述的预设坡度值包括各个注意力头对应的坡度值,计算机程序被处理器执行实现上述的通过第一注意力模型计算偏置矩阵与预设坡度值的乘积与第一注意力分数矩阵的和,得到增加线性偏置后的矩阵步骤时,具体实现以下步骤:通过各个注意力头计算偏置矩阵与对应的坡度值的乘积与第一注意力分数矩阵的和,得到增加线性偏置后的矩阵。
在一个实施例中,计算机程序被处理器执行时,具体实现以下步骤:对第一特征矩阵中的每一列进行位置编码,得到第一特征矩阵中的每一列对应的位置信息;对第二特征矩阵中每一行进行位置编码,得到第二特征矩阵中每一行的位置信息;惩罚系数为非正数,第一注意力分数矩阵中的每个分数为第二特征矩阵中的行与第一特征矩阵中的列的乘积,第二特征矩阵中行的位置信息与第一特征矩阵中列的位置信息距离越大的分数,对应的惩罚系数的绝对值越大。
在一个实施例中,计算机程序被处理器执行实现上述的根据第二注意力分数矩阵确定第二对象的当前动作步骤时,具体实现以下步骤:将第二注意力分数矩阵输入预先训练的码本,得到与第二注意力分数矩阵匹配的离散向量;将离散向量通过解码器进行解码,得到第二对象的当前动作。
在一个实施例中,计算机程序被处理器执行时,具体实现以下步骤:获取第一对象样本的动作数据以及音频数据,构建第一样本矩阵;获取第二对象样本的动作数据,构建第二样本矩阵;将第一样本矩阵以及第二样本矩阵输入待训练模型进行模型训练,并通过待训练模型根据偏置矩阵输出第三注意力分数矩阵;根据第三注意力分数矩阵确定第二对象样本的动作数据;根据预先设定的损失函数计算待训练模型的损失值;当损失值未达到预设阈值时,获取下一个第一对象样本的动作数据以及音频数据构建上述第一样本矩阵;返回将第一样本矩阵以及第二样本矩阵输入待训练模型,并通过待训练模型根据偏置矩阵输出第三注意力分数矩阵的步骤;当损失值达到预设阈值时,得到第一注意力模型。
在一个实施例中,计算机程序被处理器执行实现上述的将当前第一对象的音频数据以及动作数据输入预设的第二注意力模型,输出第三注意力分数矩阵之前,具体还实现以下步骤:对当前第一对象的音频数据以及动作数据进行编码进特征维度空间。
在一个实施例中,计算机程序被处理器执行时,具体实现以下步骤:通过详细的表情捕捉和动画模型对第二对象的当前动作进行渲染并重新组合成视频,得到第二对象的动画。
在一个实施例中,计算机程序被处理器执行时,具体实现以下步骤:利用向量量化变分自编码器训练码本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (13)

1.一种动作生成方法,其特征在于,所述方法包括:
获取当前第一对象的音频数据以及动作数据,并将所述当前讲述者的音频数据以及动作数据输入预设的第二注意力模型,得到第三注意力分数矩阵,根据所述第三注意力分数矩阵创建第一特征矩阵,所述第一特征矩阵包括键矩阵以及所述键矩阵对应的值矩阵;
获取第二对象的历史动作数据,并根据所述第二对象的历史动作数据获取第二特征矩阵;
将所述第一特征矩阵以及所述第二特征矩阵输入预先训练的第一注意力模型,通过所述第一注意力模型计算所述键矩阵与所述第二特征矩阵的乘积,得到所述第一注意力分数矩阵,根据所述注意力分数矩阵以及预设的偏置矩阵,得到增加线性偏置后的矩阵,并根据所述增加线性偏置后的矩阵以及所述值矩阵,确定第二注意力分数矩阵,所述偏置矩阵包括所述第一注意力分数矩阵中各个分数对应的惩罚系数;
将所述第二注意力分数矩阵与预先训练的码本中的各个离散向量进行匹配,得到最匹配的向量,将所述最匹配的向量输入解码器进行解码得到第二对象的当前动作。
2.根据权利要求1所述的方法,其特征在于,所述获取第二对象的历史动作数据,并根据所述第二对象的历史动作数据获取第二特征矩阵,包括:
将所述第二对象的历史动作数据输入编码器进行特征编码;
根据编码后的特征构建所述第二特征矩阵。
3.根据权利要求1所述的方法,其特征在于,所述根据所述注意力分数矩阵以及预设的偏置矩阵,得到增加线性偏置后的矩阵,并根据所述增加线性偏置后的矩阵以及所述值矩阵,确定第二注意力分数矩阵,包括:
通过所述第一注意力模型计算所述偏置矩阵与预设坡度值的乘积与所述第一注意力分数矩阵的和,得到所述增加线性偏置后的矩阵,并利用归一化指数函数对所述增加线性偏置后的矩阵进行归一化处理,根据归一化处理后的矩阵以及所述值矩阵,确定所述第二注意力分数矩阵。
4.根据权利要求3所述的方法,其特征在于,所述第一注意力模型包括多个注意力头,所述预设坡度值包括各个所述注意力头对应的坡度值,所述通过所述第一注意力模型计算所述偏置矩阵与预设坡度值的乘积与所述第一注意力分数矩阵的和,得到增加线性偏置后的矩阵,包括:
通过各个所述注意力头计算所述偏置矩阵与对应的坡度值的乘积与所述第一注意力分数矩阵的和,得到所述增加线性偏置后的矩阵。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
对所述第一特征矩阵中的每一列进行位置编码,得到所述第一特征矩阵中的每一列对应的位置信息;
对所述第二特征矩阵中每一行进行位置编码,得到所述第二特征矩阵中每一行的位置信息;
所述惩罚系数为非正数,所述第一注意力分数矩阵中的每个分数为所述第二特征矩阵中的行与所述第一特征矩阵中的列的乘积,所述第二特征矩阵中行的位置信息与所述第一特征矩阵中列的位置信息距离越大的分数,对应的惩罚系数的绝对值越大。
6.根据权利要求2所述的方法,其特征在于,所述根据所述第二注意力分数矩阵确定所述第二对象的当前动作,包括:
将所述第二注意力分数矩阵输入预先训练的码本,得到与所述第二注意力分数矩阵匹配的离散向量;
将所述离散向量通过解码器进行解码,得到所述第二对象的当前动作。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取第一对象样本的动作数据以及音频数据,构建第一样本矩阵;
获取第二对象样本的动作数据,构建第二样本矩阵;
将所述第一样本矩阵以及所述第二样本矩阵输入待训练模型进行模型训练,并通过所述待训练模型根据所述偏置矩阵输出第三注意力分数矩阵;
根据所述第三注意力分数矩阵确定所述第二对象样本的动作数据;
根据预先设定的损失函数计算所述待训练模型的损失值;
当所述损失值未达到预设阈值时,获取下一个第一对象样本的动作数据以及音频数据构建上述第一样本矩阵;
返回所述将所述第一样本矩阵以及所述第二样本矩阵输入待训练模型,并通过所述待训练模型根据所述偏置矩阵输出第三注意力分数矩阵的步骤;
当所述损失值达到所述预设阈值时,得到所述第一注意力模型。
8.根据权利要求1所述的方法,其特征在于,所述将所述当前第一对象的音频数据以及动作数据输入预设的第二注意力模型,输出第三注意力分数矩阵之前,所述方法还包括:
对所述当前第一对象的音频数据以及动作数据进行编码进特征维度空间。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过详细的表情捕捉和动画模型对所述第二对象的当前动作进行渲染并重新组合成视频,得到所述第二对象的动画。
10.根据权利要求5所述的方法,其特征在于,所述方法还包括:
利用向量量化变分自编码器训练所述码本。
11.一种动作生成装置,其特征在于,所述装置包括:
第一获取模块,用于获取当前第一对象的音频数据以及动作数据,并将所述当前讲述者的音频数据以及动作数据输入预设的第二注意力模型,得到第三注意力分数矩阵,根据所述第三注意力分数矩阵创建第一特征矩阵,所述第一特征矩阵包括键矩阵以及所述键矩阵对应的值矩阵;
第二获取模块,用于获取第二对象的历史动作数据,并根据所述第二对象的历史动作数据获取第二特征矩阵;
处理模块,用于将所述第一特征矩阵以及所述第二特征矩阵输入预先训练的第一注意力模型,通过所述第一注意力模型计算所述键矩阵与所述第二特征矩阵的乘积,得到所述第一注意力分数矩阵,根据所述注意力分数矩阵以及预设的偏置矩阵,得到增加线性偏置后的矩阵,并根据所述增加线性偏置后的矩阵以及所述值矩阵,确定第二注意力分数矩阵,所述偏置矩阵包括所述第一注意力分数矩阵中各个分数对应的惩罚系数;
确定模块,用于将所述第二注意力分数矩阵与预先训练的码本中的各个离散向量进行匹配,得到最匹配的向量,将所述最匹配的向量输入解码器进行解码得到第二对象的当前动作。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
CN202311619166.7A 2023-11-30 2023-11-30 动作生成方法、装置、计算机设备和存储介质 Active CN117333950B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311619166.7A CN117333950B (zh) 2023-11-30 2023-11-30 动作生成方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311619166.7A CN117333950B (zh) 2023-11-30 2023-11-30 动作生成方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN117333950A CN117333950A (zh) 2024-01-02
CN117333950B true CN117333950B (zh) 2024-03-12

Family

ID=89293758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311619166.7A Active CN117333950B (zh) 2023-11-30 2023-11-30 动作生成方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN117333950B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112016459A (zh) * 2020-08-28 2020-12-01 上海大学 一种基于自注意力机制的驾驶员动作识别方法
CN112687259A (zh) * 2021-03-11 2021-04-20 腾讯科技(深圳)有限公司 一种语音合成方法、装置以及可读存储介质
CN113239897A (zh) * 2021-06-16 2021-08-10 石家庄铁道大学 基于时空特征组合回归的人体动作评价方法
CN114528434A (zh) * 2022-01-19 2022-05-24 华南理工大学 一种基于自注意力机制的iptv直播频道融合推荐方法
CN114783063A (zh) * 2022-05-07 2022-07-22 杭州电子科技大学 一种融合拓展决策和注意力网络的行为动态识别方法
CN114822509A (zh) * 2022-05-25 2022-07-29 上海商汤智能科技有限公司 语音识别方法、装置、计算机设备及存储介质
CN116434741A (zh) * 2023-03-09 2023-07-14 平安科技(深圳)有限公司 语音识别模型训练方法、装置、计算机设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112016459A (zh) * 2020-08-28 2020-12-01 上海大学 一种基于自注意力机制的驾驶员动作识别方法
CN112687259A (zh) * 2021-03-11 2021-04-20 腾讯科技(深圳)有限公司 一种语音合成方法、装置以及可读存储介质
CN113239897A (zh) * 2021-06-16 2021-08-10 石家庄铁道大学 基于时空特征组合回归的人体动作评价方法
CN114528434A (zh) * 2022-01-19 2022-05-24 华南理工大学 一种基于自注意力机制的iptv直播频道融合推荐方法
CN114783063A (zh) * 2022-05-07 2022-07-22 杭州电子科技大学 一种融合拓展决策和注意力网络的行为动态识别方法
CN114822509A (zh) * 2022-05-25 2022-07-29 上海商汤智能科技有限公司 语音识别方法、装置、计算机设备及存储介质
CN116434741A (zh) * 2023-03-09 2023-07-14 平安科技(深圳)有限公司 语音识别模型训练方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN117333950A (zh) 2024-01-02

Similar Documents

Publication Publication Date Title
CN109785824B (zh) 一种语音翻译模型的训练方法及装置
JP7210774B2 (ja) テキストに基づくアバターの行動制御方法、デバイス及びコンピュータプログラム
CN112084314B (zh) 一种引入知识的生成式会话系统
Duarte et al. WAV2PIX: Speech-conditioned Face Generation using Generative Adversarial Networks.
CN108595436B (zh) 情感对话内容的生成方法和系统、存储介质
CN109902164B (zh) 利用卷积双向自注意网络解决开放长格式视频问答的方法
CN112612881B (zh) 基于Transformer的中文智能对话方法
CN116756577B (zh) 模型训练方法、装置、设备及存储介质
CN111767697B (zh) 文本处理方法、装置、计算机设备以及存储介质
CN111382257A (zh) 一种生成对话下文的方法和系统
CN115293132A (zh) 虚拟场景的对话处理方法、装置、电子设备及存储介质
CN114639374A (zh) 一种实时语音驱动的照片级真实感人脸肖像视频生成方法
Xu et al. Iterative deep neural network quantization with lipschitz constraint
CN116597857A (zh) 一种语音驱动图像的方法、系统、装置及存储介质
CN115358289A (zh) 一种融合多类型知识库和推理技术的文本生成算法
CN113239174A (zh) 一种基于双层解码的层次化多轮对话生成方法及装置
CN115984933A (zh) 人脸动画模型的训练方法、语音数据处理方法和装置
CN115361595A (zh) 一种视频弹幕生成方法
CN117333950B (zh) 动作生成方法、装置、计算机设备和存储介质
Chung et al. Emotion estimation by joint facial expression and speech tonality using evolutionary deep learning structures
CN114077844A (zh) 一种数据处理方法及装置
CN115017900B (zh) 一种基于多模态多去偏见的对话情感识别方法
Liu et al. Sounding video generator: A unified framework for text-guided sounding video generation
CN116188634A (zh) 人脸图像预测方法、模型及装置、设备、介质
CN114743056A (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