一种基于深度循环神经网络算法的三维动画生成方法与流程

文档序号:11691543阅读:424来源:国知局
一种基于深度循环神经网络算法的三维动画生成方法与流程

本发明涉及计算机领域,具体而言,涉及一种基于深度循环神经网络算法的三维动画生成方法。



背景技术:

三维动画生成(3danimationgeneration):通过输入三维模型,自动提取指定三维动画的行为并驱动给定的三维模型,从而驱动给定的模型生成具有类似行为的三维动画。

人工神经网络(artificialneuralnetwork,ann):人工神经网络模型包含输入层、隐含层和输出层,模拟人类大脑中神经系统原理,通过调整神经网络模型中各层节点之间的相互连接关系实现信息处理。神经网络模型在理论上可实现无限逼近任意目标函数。

深度学习(deeplearning,dl):深度学习是机器学习研究中一个新的研究领域,是人工神经网络的延伸,是包含多隐含层的一种深度学习网络结构,从而更进一步模拟人类认知的过程。深度学习的工具近年来被广泛应用于计算机视觉、语音识别和自然语言处理等诸多领域,其有效地信息认知能力已经得到充分验证。

本发明依据国家自然科学基金,项目名称:基于深度学习的数据驱动三维动画生成方法研究(项目编号:61602222)。

由于三维动画表述信息具有精确性、真实性和可操作性的特点,三维动画数据已经被广泛应用于数字娱乐、影视、医学、教育等领域。例如在影视制作方面,2015年底上映的3d动画片《捉妖记》和《大圣归来》先后对国产电影票房纪录发起冲击,这是三维动画被广泛认可的印证之一。在诸多应用领域的强烈需求驱动下,三维动画已经逐渐成为计算机图形学领域重要的研究对象。随着动作捕捉和三维模型扫描技术的快速发展,三维动画的获取方式也走向多样化,研究者广泛研究和设计生成三维动画的方法,生成三维动画也已经不再是一种昂贵的技术。不难预测,三维动画数据正在逐渐成为继文字、语音、图片、视频之后的另一种主流数据载体,同时三维动画的生成方法研究也将逐渐成为计算机图形学领域的主要研究课题之一。

随着三维动画的普及化,如何便捷、准确生成动画的方法逐渐成为当前国内外学术界的研究热点和重点。目前,三维动画的生成方法有3dsmax、maya、3dblender等专业的建模和动画制作工具,也有对三维对象一帧一帧扫描得到三维动画的方法等。而伴随着动作捕捉技术以及高精度的三维静态模型扫描技术逐渐发展成熟并且成本越来越低,融合动作捕捉技术和三维模型并为网格模型加载动作捕捉数据从而实现三维动画生成方法近年来得到研究者的广泛研究和设计。随着人们对三维动画生成方法的关注和研究逐渐增多,现有的在线三维动画数据逐渐增长,使得数据驱动的三维动画生成方法成为可能。该类方法通过提取训练数据中的特征,融合学习算法模型,通过训练数据完善模型参数,从而通过训练好的模型直接生成具有训练数据特征的相似数据。可以看到,三维动画生成技术已经多种多样,三维动画数据集逐渐增加,使得高效、便捷的数据驱动三维动画生成方法成为一种必然趋势。深度学习算法作为数据驱动的机器学习方法近年来被广泛关注和应用。2016年3月,基于深度学习技术研发的谷歌alphago在与韩国围棋大师李世石的“人机大战”中以绝对优势赢得比赛。深度学习算法为研发动画生成技术也提供了一个新的机遇和挑战。一方面,基于相似三维动画数据训练所得的神经网络模型,给定一个网格模型作为输入并使用训练的神经网络模型生成新的三维动画,时间成本更低且输出结果与训练数据的特征更加近似。另一方面,现有的深度神经网络模型应用于三维动画的生成仍然面临一些问题:1)描述三维动画动态特征的描述符有限;2)随着输入数据尺度的增加,神经网络的运算量指数增加,而三维动画通常数据尺度较大,不能直接作为神经网络的输入;3)对三维动画的生成效果进行评估尚未有统一的方法或准则。随着诸多应用产业和领域对三维动画需求的不断增长,使得对三维动画生成方法的效率和质量都要求越来越高。上述问题大大限制了三维动画生成方法的设计,成为三维动画相关产业发展的主要瓶颈之一。如何设计一种兼顾上述问题同时又能高效、便捷地生成三维动画的方法,是本研究要解决的主要问题。

针对三维动画制作和生成技术的研究也受到国内外学者的广泛关注,生成三维动画的技术也逐步朝着多样化、便捷化和低成本化的方向发展。总体而言,现有的三维动画生成技术的主要类别和优缺点列举如下:

1、帧-帧扫描,这类方法主要依赖于对三维模型的静态扫描,通过对人体某个动作的一些列姿势分别进行扫描得到的三维模型序列从而得到三维动画。于2015年10月在瑞士卢塞恩举办的《3dbodyscanningtechnologies》国际会议上展出了诸多工业界最新的人体扫描设备与系统,其中大部分能够以秒级的速度完成人体静态模型的扫描。这类方法的优势在于数据的真实性,但由于通常扫描得到的是点云模型,需要经过大量的后期处理得到网格模型并保持帧-帧之间网格的拓扑结构;

2、变形传递(deformationtransfer),给定一个三维动画和一个拓扑结构近似的网格模型以及两者之间的完全对应关系,这类方法的原理是建立最优化算法模型,使得给定的网格模型中每个面片转置、变形到给定的三维动画每一帧中对应面片所需的转置、变形量总和最优。该方法的优势在于生成的三维动画与给定的动画非常近似,但是每次操作都需要求解最优化导致运算量较大。为进一步优化运算量,一种方法是基于时空分割的方法并对每个刚性的时空分割模块(模块内的网格面片、顶点相对静止)进行转置、变形操作;

3、动作捕捉系统,三维动画可通过动作捕捉系统直接生成,其原理是捕捉动作演示对象上的标记的空间轨迹。vicon和qualisys等动作捕捉系统能够快速地生成具有稳定拓扑结构的真实的三维动画,但是动辄百万的成本也令大部分使用者敬而远之;

4、线性混合算法,该方法的核心在于计算每个网格面片(或顶点)与各个骨骼(或特征点)之间的线性映射关系,从而通过骨骼(或特征点)驱动网格模型生成三维动画。给定一个网格模型,一种方法将kinect摄像头采集的深度图像映射到三维网格模型上,而该映射关系根据实时的图像数据依据最大期望算法(em算法)逐步优化更新,从而为给定的网格实现kinect视频驱动的三维动画。相似的,也有很多现有方法将视频中的人脸表情特征点映射到一个可通过特征点控制的参数化网格模型,从而实现视频驱动的三维动画。该方向的研究成果使得三维动画生成方式更加便捷化,将有利于促进诸多相关三维动画应用的发展,如演员对3d电影中虚拟角色的操控。

随着三维动画制作和生成技术的发展,逐渐增加的三维动画数据库为研究数据驱动的三维动画方法提供了充分的数据准备。有人提出通过连接相似的姿态(pose)作为不同三维动画动作子序列的过渡,从而生成从一个动作到其它动作的完整动画。然而众所周知,典型的数据驱动算法是从训练数据中提取特征的学习算法。近年来,深度学习算法用于模式识别被研究者广泛关注,并应用于设计多种数据生成方法,包括生成图片描述、图像、语言对话、文本等。有的方法借助卷积神经网络提取普通照片中的内容和艺术图片的样式,并通过两者的线性混合实现将普通照片转化为具有艺术风格的图片。也有的方法以长短时记忆模型作为循环神经网络的隐藏单元,从而避免了梯度爆炸和消失的问题,并实现了手写文本的自动生成算法。有一种方法通过分析人们观察图片特征的过程,结合一个编码循环神经网络对图片进行压缩以及一个解码循环神经网络对网络的输出进行解码从而生成图片。还有人则运用循环神经网络对动作捕捉数据的行为进行建模,预测各个关节点的运动趋势,从而实现预测并生成动作捕捉数据。其中,最新提出的一些方法显著的共同点是基于深度神经网络模型设计了生成文本、对话等时序数据的算法。这对研究基于深度神经网络模型的三维动画生成算法具有重大的启发意义。

综合国内外相关研究,我们分析发现,到目前为止,基于深度学习算法的研究主要集中在深度神经网络模型的网络结构设计,以及包括图像、文本、对话等数据的模式识别和数据生成的应用方面,而对于面向三维动画的行为分析和数据生成的应用等相关问题的探讨和研究严重不足。纵观国内外研究动态,结合三维动画数据生成方式走向多样化且三维动画数据集逐渐增多的现状,我们设计了基于深度循环神经网络算法的三维动画生成方法研究和系统,以现有的三维动画数据集为驱动,以深度学习算法作为数据分析和特征提取方法的基础,在数据驱动的三维动画生成方向开展前沿工作并在相关热点和难点技术上取得突破。



技术实现要素:

本发明的目的在于提供一种基于深度循环神经网络算法的三维动画生成方法,本发明是一种面向网格模型及动画,且与全局位移、旋转无关的局部特征描述符,基于该描述符设计的三维动画相似度计算方法能够量化动态行为差异,本发明通过编码将三维动画在低维度特征空间表示,而深度神经网络模型的输出的低维度信号通过解码最终输出三维动画,进一步,融合深度神经网络模型,为给定的三维网格模型加载训练数据集的动态行为信息,从而实现数据驱动的三维动画生成方法。

本发明是这样实现的,参照附图1,给出了本方法拟采取的技术路线,描述了以现有三维动画数据集作为驱动,在提取三维动画动态特征的基础上,融合深度神经网络模型技术生成三维动画,进行相关理论和算法设计的技术路线,首先,从理论基础研究出发,设计三维动画动态描述符以量化三维动画网格面片的动态行为信息,进而计算三维动画之间相似度,融合深度神经网络模型提出三维动画生成算法,包括设计三维动画编码方法以便满足神经网络模型数据处理的效能,以及设计神经网络模型输出结果的解码方法从而最终生成三维动画,本方法从特征提取到结果输出,包括三维动画生成效果评估以及对神经网络模型训练方法的探讨,形成一个完整的基于深度神经网络模型的三维动画生成方法。

本发明的技术效果是:1、本发明的主要有益效果是提出数据驱动的三维动画生成方法,基于真实三维动画数据,融合深度神经网络技术,提取训练数据的动态特征并加载到给定的网格模型,从而实现动画生成,尽管训练深度神经网络通常需要处理较大的训练样本且训练计算量较大,但是一旦训练完成并得到所有网络参数,只需要经过神经网络模型的计算即可快速、自动化地为一个给定的网格生成三维动画,可见,数据驱动的三维动画生成方法从长远来看效用显著;2、本方案设计的基于工程应变量的面向网格面片的动态描述符具有效率高,与三维模型在全局坐标系中的位置和方向无关,能够准确描述三维模型的变形量等优点,适用于基于行为的三维动画对应关系计算、相似度比较、模型修复等诸多应用场景中。

附图说明

图1为本发明的技术路线图。

图2为本发明的三维动画网格面片的变形及动态描述符设计示意图。

图3为本发明的基本架构示意图。

图4为本发明的深度循环神经网络模型结构示意图。

图5为本发明的长短时记忆模型示意图。

图6为本发明的三维动画生成的示意图。

具体实施方式

下面将结合附图1-6和实施例详细说明本发明所具有的有益效果,旨在帮助阅读者更好地理解本发明的实质,但不能对本发明的实施和保护范围构成任何限定。

本发明是这样实现的,参照附图1,给出了本方法拟采取的技术路线,描述了以现有三维动画数据集作为驱动,在提取三维动画动态特征的基础上,融合深度神经网络模型技术生成三维动画,进行相关理论和算法设计的技术路线,首先,从理论基础研究出发,设计三维动画动态描述符以量化三维动画网格面片的动态行为信息,进而计算三维动画之间相似度,融合深度神经网络模型提出三维动画生成算法,包括设计三维动画编码方法以便满足神经网络模型数据处理的效能,以及设计神经网络模型输出结果的解码方法从而最终生成三维动画,本方法从特征提取到结果输出,包括三维动画生成效果评估以及对神经网络模型训练方法的探讨,形成一个完整的基于深度神经网络模型的三维动画生成方法。

接下来,分别介绍各个模块的细节:

三维动画动态描述符,

对于任意一个三维动画,同时给出一个自然姿勢(neutralpose)作为参照姿势用于计算三维动画每一帧网格表面的形变量,本发明从三维网格模型的单个面片出发,设计一种能表示每一帧网格模型表面面片的应变量的描述符。

首先,假设一个三维动画包含t帧,每帧中包含m个面片和v个顶点的网格动画,即一个三维动画被看作为一个变形而拓扑结构固定的三维网格,由此,第t帧中的第v个顶点可表示为第t帧中的第m个面片可表示为m=1,…,m,v=1,…,v,t=1,…,t,自然姿勢可看作第0帧,即t=0。

参照图2所示,左上表示自然姿势网格中的一个面片右上为该面片变换后在第t帧中的其中,该变换包含仿射变换f和平移变换d,表达式如下:

其中,vi和分别表示面片在变换前后相应的面片顶点,值得注意的是,平移变换d并不是导致面片变形的原因,需要从表达式中去除,研究者通常通过计算两条边向量的叉积得到单位法向量,并将单位法向量的终点作为面片的第四个顶点,从而得到类似公式(1)的第四个等式,通过将公式(1)中的表达式分别减去新的第四个等式,得到其中,v=[v1-v4v2-v4v3-v4],随后依据连续介质力学中的变形梯度理论求解仿射变换f得到面片的变形量。

值得注意的是,上述仿射变换是一个三维矩阵,当网格模型的面片数量很大或者帧数很多时,需要求解的计算量将成为负担,为进一步优化运算性能,提出首先将面片进行空间转置到同一平面,并对齐一个顶点和一条边,如图2所示,从而得到面片及其对应的三个顶点由于去除了平移变换d,公式(1)可简化如下:

通过将第二、第三个等式减去第一个等式得到新的其中,v=[v2-v1v3-v1],根据连续介质力学原理,仿射变换f包含该面片的旋转应变r和拉伸收缩应变u,即f=ru,由于图2所示的预处理已经去除了旋转应变r,故而通过对f进行主成分分析(principalcomponentanalysis,简称pca),两个特征值λ1和λ2分别表征面片的拉伸和收缩,其中λ1≥1,0<λ2≤1。值得注意的是,虽然新提出的应变量设计方法较表达式(1)的方法多了一个空间转置操作,以便求解二维变换矩阵,但总的运算量通常小于求解三维矩阵的主成分分析,可见,本发明设计的三维动画动态描述符及其优化方法对于提取大尺度的三维动画特征效率提升更为显著,同时,由于上述对面片的应变量计算是面向三角形面片的,计算所得的应变量值也同三维模型在全局坐标系中的具体位置和方向都无关。

由此,一个三维动画中时域和空域上的每个网格面片的形变可以由一个二元组表示,分别表征该面片的拉伸和收缩,由于后续研究三维动画的相似性以网格顶点作为基本单元,故而进一步转换为网格顶点的形变对于每个顶点,找出所有包含该顶点的面片,然后分别对λ1和λ2计算均值。

三维动画相似度计算方法,

上述三维动画的描述符为比较三维动画并计算相似度提供了一种新的途径,这对设计合理的神经网络损失函数,以及评估本发明输出的三维动画效果都至关重要。

对于两个给定的三维动画其对应自然姿势网格模型的顶点完全对应关系(fullcorrespondence,注:计算机图形学领域已有诸多研究成果可用于预处理计算网格间完全对应关系)表示为dv→c(dv),其中,dv表示的第v个顶点,c(dv)表示中所有与dv对应的顶点集合,三维动画中第t帧中第v个顶点与中对应顶点间的差异定义如下:

其中,v=1,…,v,t=1,…,t。表示中与中顶点对应的第k个顶点,k=1,…,kv,(λ1,λ2)表示本发明提出的第t帧中第v个顶点的变形量描述符的二元组表示,由此,两个的三维动画之间的差异性计算如下,

即所有时域、空域上的对应顶点间描述符差别的总和,但是,上述距离计算方法仅考虑了中的一个顶点对应多个顶点的可能性,而忽视了反过来的情况,即中的一个顶点对应多个顶点,故此,上述距离定义是非对称的,即,

s(h0,h1)≠s(h1,h0),

为避免这种情况,可分别计算,并取平均,即,

通过上述方法,设计的三维动画相似度满足非负性和对称性,由于网格面片反应的是局部变形量,对所有面片在时空域的观察体现了动画的动作信息,即,上述三维动画之间的相似度一定程度上体现了动作相似度,该相似度计算方法是一个开放的框架,可根据需要引入其它现有描述符根据重要性进行线性组合,如测地线距离,形状直径函数等,从而定义更为完善地相似度,这为后序设计神经网络的损失函数奠定了基础。

三维动画的编码与解码,

深度神经网络模型作为一种机器学习工具,需要对大尺度的三维动画输入数据进行简化以作为算法输入,在自然语言处理的研究中,研究者提出了词向量的方法将单词进行编码,例如one-hotvector编码方法。与单词不同,本发明设计三维动画的生成算法,每一个输入网络节点对应一帧网格模型,其数据复杂性和尺度远大于一个单词,高维数据不仅会严重增加算法计算复杂度,而且会降低算法效能,甚至会导致小样本问题和“维数灾难”问题,为此,本发明基于维度约简方法针对三维动画提出以下适应神经网络的编码方式。

三维动画在时域上被看做是一个变形的网格模型,其中第t帧网格可以表示为向量v=1,…,v,其中表示顶点的空间坐标,由此,一个三维动画可以表示为一个维度为t×3v的矩阵h,即,包含t个3v维的样本,每个样本为一帧三维模型。

针对高维样本维度约简工具的研究已有很多,其中经典的维度约简方法包括主成分分析(principalcomponentanalysis,简称pca),等距离特征映射(isometricfeaturemapping,简称isomap),局部线性嵌入(locallylinearembedding,简称lle),拉普拉斯特征映射(laplacianeigenmaps,简称le)等,其中,pca方法是基于矩阵分解的方法,即将原始高维数据表示为样本的低维表示与一组基向量(特征向量)的线性组合,具有计算速度快且便于数据还原的特点,以pca方法为例,三维动画的矩阵h可进行如下分解:

h=xt×dbd×3v,(6)

其中,x为每一帧网格的低维表示,b为基向量矩阵且将被用于数据还原,d表示约简后的低维度,由此,三维动画的第t帧网格被维度约简后表示为向量d根据主成分在所有成分(即特征向量)所占比例决定。对于三维动画,保证该比例不低于90%的前提下,通常d≤3。

显然,d远小于3v,从而使得神经网络能充分接收三维动画作为输入。而b作为基向量矩阵需要保留起来(见图1),并用于网络输出结果的解码,即

其中表示网络模型输出,ho表示解码后生成的三维动画。由于使用了共同的bd×3v,这种编码、解码方式保证了输入和输出三维动画数据在基向量空间的一致性。

基于深度学习算法的三维动画生成方法,

融合深度学习算法,基于上述三维动画相似度计算方法设计深度神经网络模型的损失函数,探讨深度神经网络模型的训练方法,从而实现数据驱动的三维动画生成算法。

传统的神经网络从输入层到隐藏节点层,再到输出层单向连接,而每层之间的节点是无连接的,这限制了神经网络在很多问题中的应用,尤其是在处理时序问题时(语音识别,文本生成等)显得力不从心,因为这类问题往往存在很强的时序依赖。而深度循环神经网络(recurrentnerualnetwork,简称rnn)则不同,它构建了隐藏层节点之间的连接,从而实现了网络对前序信息的记忆功能,建立了一个序列的当前输出与前序输出之间的相关性。

参照图3所示,本发明提出基于rnn模型的三维动画生成方法,该模型包括输入层、隐含层和输出层,首先在输入层对输入的三维动画进行编码预处理,提取低维时序特征作为神经网络对应节点的输入,通过隐含层的处理,在输出节点得到相应低维度的时序输出,并在输出层结合网格模型进行解码操作,使得给出的三维网格加载动态信息从而得到三维动画。(注:为保证示意图的可读性,图3未显示所有节点间的连接,rnn模型详细连接图请参见图4。)

结合rnn的特点,上述三维动画生成算法的主要特点列举如下:

提取训练数据隐含特征,众所周知,多层前馈神经网络原则上可以无限逼近非线性函数。而图3所示的模型除去输入、输出层外,隐含层包含多个隐藏节点,且各隐藏节点之间互相关联,并共同影响输出节点的结果,从而较基本前馈神经网络具备了更为充分的隐含特征提取能力。

通过参数共享降低计算成本,对于神经网络来说,计算量(尤其是训练过程中)随着网络节点个数呈指数增长,rnn模型的网络结构显然要比传统神经网络结构复杂得多。然而rnn的一个主要特征是参数共享,如图3所示,每个时间单元(对应每一列)的所有边上的权重参数,均与其它时间单元中的对应节点相同,这使得在不失神经网络结构一般性的前提下,大大降低了网络训练过程的计算量,也使得通过增加网络层数来提高学习准确度变得更加可行。

记忆性,三维动画作为一种时间序列,当前数据对前序信息具有依赖性,传统的神经网络模型只能独立地对单帧数据进行建模,而对于时间维度上的信息无能为力,由图3中的rnn模型可见,每个隐含单元不仅接收当前时间单元(当前列)输入节点和隐含节点,同时也受到前序对应隐含节点的影响(当然,也影响对应的后序隐含节点)。而这种跨时间单元的依赖性,可理解为隐含节点的记忆性。

通过引入rnn模型,使得设计数据驱动的三维动画的生成方法成为可能,而这种方法具有诸多优势,对于所设计的基于rnn模型的三维动画生成算法,对其各个功能部分的探讨如下:

a)基于rnn的三维动画生成算法网络模型结构,

如图1和图3所示,首先对三维动画进行编码得到低维数据,并以此作为rnn模型的输入,经过隐含层的节点,最后在输出层得到同样低维的数据,融合即将加载动画的网格模型的拓扑结构,最终输出三维动画。图3中,每个输入节点对应一帧网格,即向量而隐含层的状态由输入当前词向量和上一时刻(前一帧)隐含层的对应节点的状态(即历史状态)共同决定。输出层节点与输入层节点数相同,均为t。

rnn模型中各层之间的详细连接如图4所示,以d=2,隐含层3个隐含节点为例,输入层每个节点的输入数值为2,即第t个节点的输入为向量隐含层各节点的状态及其与输入节点之间的连接关系可通过下列式子表示:

其中b表示校正常量,f()表示激活函数。常见的神经网络模型的激活函数有sigmoid函数和tanh函数,而tanh函数通常在rnn模型中表现更好的收敛性。

输出层状态:

对于该rnn模型架构,训练的过程,实为确认上述网络连接的强度(或称权值)的过程。通常,rnn根据输出层的结果定义损失函数,通过拟合训练数据求解最优化问题,从而训练得到最优的网络参数,由于本发明提出的算法最终输出为三维动画,损失函数需要进一步贴合该目标,作为rnn结构的主要核心部件,进一步对损失函数、训练方法等方面分别阐述。

b)损失函数,

神经网络模型的最优化目标通常通过定义损失函数并根据误差逐步调整网络参数,从而实现神经网络的训练,常用的损失函数有均方误差(meansquarederror,mse)和softmax代价函数。由于公式(3,4,5)中定义的三维动画相似度计算方法更加接近于mse,故而参考mse定义损失函数如下:

公式(5)中定义的三维动画相似度计算方法基于新的动态描述符,由于仅考虑了局部形变量关系,而网格顶点之间的几何邻接关系被忽略,很难保证对生成的三维动画进行评估的合理性。参照对公式(2)到(5)中对三维动画行为相似度的定义,两个三维动画顶点轨迹相似性可进一步定义为所有对应顶点间空间欧拉距离的叠加,表达式如下:

同理,为保证点轨迹距离的对称性,计算均值如下:

由此,三维动画生成算法模型的目标损失函数定义如下:

l(x)=α·simi_dynamic(h0,h1)+(1-α)·simi_traj(h0,h1),(10)

其中,simi_dynamic(h0,h1)反映了两个三维动画之间动态行为的相似度;simi_traj(h0,h1)表示两个三维动画之间对应顶点轨迹的差别,这从根本上更加直接地反应了两个三维动画间的几何差异性;α∈[01]是线性比例参数,用于控制两个影响因素对三维动画相似度的影响程度。

值得关注的是,表达式(10)中定义的损失函数分别通过动态描述符和点轨迹考量了三维动画行为和几何相似(或差异)性,事实上,对三维动画的行为和几何特征描述仍然存在其它可选描述符。例如,形状直方图(shapehistogram),旋转图像法(spinimage),球谐函数图(sphericalharmonics)等全局描述符可用于比较网格形态。通过兼容其它描述符,按照上述流程完善公式(10)中的损失函数,对算法效能将得到一定程度的提升。当然,算法计算量也将同步增加,可见,公式(10)中定义的损失函数是一个开放的框架,具体可根据性能要求和实际计算条件配置可选的三维模型描述符。

c)基于lstm的rnn模型训练方法,

图4是图3中的rnn模型更为详细的描述,由图4可见,rnn非常近似前向反馈神经网络(feed-forwardneuralnetwork,简称fnn)模型,故而可以参考传统的误差反向传播(backpropagation,简称bp)算法来训练模型,然而,将图4所示的模型当作普通的fnn来看,由于时间维度过长将导致bp算法的训练耗时指数增长甚至无法求解。而由于rnn结构的参数共享特性,每个时间上的连接权值相同,使得该模型的训练能够在合理的时间内完成。

训练过程中可能遇到另一问题:在使用一批训练样本之后,我们需要基于计算出的误差衍生并使用梯度下降(gradientdescent)修正权值,而局部梯度搜索空间可能出现类似“峭壁”的巨大梯度或者导数近于0的“虚空”,这个问题被称为“梯度的爆发与消失”,不过,近年来被研究者们广泛探讨的融合长短时记忆(longshorttermmemory,简称lstm)的rnn模型已经非常有效地避免了这个问题,如图5所示,lstm模型包含一个信息存储的记忆单元。该记忆单元由三个门神经元,包括输入门、遗忘门和输出门,分别控制写入、保存和读取操作。这三个门均为逻辑单元(logisticunits)。当输入门为1时,神经网络的其它部分允许将内容写入记忆单元,当输出门为1时,神经网络的其它部分允许读取记忆单元中的内容。当遗忘门为1时,记忆单元将内容写入本身,而为0时,清除记忆单元中的内容,借助lstm的控制机制,从一个数值被载入记忆单元的那一刻起开始执行bp算法,直至该数值从记忆单元中读出并随之将其清除为止,该过程中由于对误差衍生值进行局部保持,使得再无需担心梯度的爆发或消失。

通过上述方案,对输入的三维动画进行编码以便运用深度神经网络模型处理,研究也将三维动画相似度的计算方法融入到深度神经网络模型的损失函数设计中,通过对网络输出的解码,最终实现了数据驱动的三维动画生成方法。

以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1