APP下载

手机3D动画基于事件的情节规划①

2017-06-07张子旋

计算机系统应用 2017年5期
关键词:本体短信动画

张子旋

(北京工业大学 计算机学院,北京 100124)

手机3D动画基于事件的情节规划①

张子旋

(北京工业大学 计算机学院,北京 100124)

情节规划是手机3D动画自动生成系统中至关重要的一部分,对于呈现出来的动画有着重要的指导作用.采用语义网技术,通过建立事件本体库,根据信息抽取中的关键信息,将难以表现的事件通过一系列具体的动作进行表示,从而能够表达出一个完整的动画内容,不仅仅使得动画具有一定情节内容,而且使生成的动画效果更加丰富.

动画自动生成;情节规划;语义网;事件;本体库

全过程计算机辅助动画自动生成技术是20世纪90年代由中国科学院数学所陆汝钤院士提出的[1-2],它以人工智能技术为基础,结合计算机图形学和电影艺术来完成动画的制作.此技术是将适当的故事以受限的自然语言方式输入到计算机中,经过故事理解、动画定性规划、导演规划、摄影规划、动画定量规划直到动画的最终生成,过程中的每一步都是在计算机辅助下完成的.动画自动生成技术是人工智能领域一个崭新的研究方向,在动画、游戏等领域具有很大的应用潜力.手机3D动画自动生成系统是由中科院张松懋研究员审视了当前手机短信和通信技术的发展现状提出将动画自动生成技术应用到手机短信中的一个应用,该系统将发送的短信内容经过计算机分析处理后生成与之对应的3D动画并发送给接收方.这个过程主要分为四部分,如图1所示.

图1 手机短信动画自动生成系统流程图

情节规划是动画自动生成系统中的重要组成部分,因为在一部动画中剧情的发展牵动着观众的心,剧情中的情节是最重要的一部分[3].情节是叙事类作品中基本要素之一,指叙事作品中表现人物之间相互关系的一系列生活事件的发展过程.它是由一系列展示人物性格、表现人物与人物、人物与环境之间相互关系的具体事件构成,合理的情节是一部作品成功的基础,为动画设计一个比较合理的情节,会使得动画内容更加丰富,画面更具有想象力,这样才能给观众留下比较深刻的印象,所以,情节的设计会影响着整个动画效果.因此,情节规划是动画自动生成系统中的重要组成部分,它的主要任务就是将无法表现的事件展开成 一系列具体的动作,使得能够完整的描述一个故事内容.到目前为止,情节规划主要采用两种方法[4]:

第一种方法是以故事为中心的方法.通过对作者的创作过程进行建模,定义故事的情节表达片段,构造常识知识库,由作者的意图来决定故事人物的动作和故事发展的最终结果.

第二种方法是以人物为中心的方法.它采用了智能主体理论,用多主体系统对故事中的人物进行建模,利用主体交互的机制,自动生成故事内容.主体为了达到预定的目标,对所处的环境做出反应,并与其它主体进行交互.

现有的情节规划方法主要用于故事生成中,它根据已有的故事内容进行情节安排,使得最终展示的故事或者动画能够符合人物的需求.Pablo GervAas和Bel'en Diaz-Agud等人研究出了自动生成故事系统[5],该系统是在Ontology中构建已有的故事脚本,依据用户给定的问题通过基于事例推理的方法在知识网络中获得基本的情节结构,并通过自然语言方式将产生的新的情节内容表达出来.Yunju Shim和Minkoo kim提出基于自动Agents的短故事生成技术[6],为角色Agent设定了三个不同的层次目标——观察者目标、情节目标和特征目标.观察者目标表示的是情绪状态,特征目标表示的是角色的生理或者心理状态,所有的角色Agents根据情绪和性格选择匹配的动作,将选择的动作按照顺序排列生成连续的情节故事.英国Teesside University的 Marc C-avazza领导开发的 Interactive Storytelling系统[7]是根据美国电视剧《Friends》中“Ross请Rachel出去吃饭”内容定义故事主线,并且包含四个故事人物的行为规划,以此来控制人物的自动交互,人物的行为规划是事先使用与或图的方法定义的,故事生成的过程就是在与或图上搜索一条能使人物目标实现的路径,同时用户可以随时与系统进行交互指导故事的发展.

在动画自动生成系统中,我们延续了一直使用的语义网技术,它为我们提供了良好的知识表示和推理机制,不但能够理解词语和概念,而且还能够理解它们之间的逻辑关系,它的实现是基于XML语言、资源描述框架(RDF)和本体(Ontology)等诸多元素来完成,其中本体作为一种能在知识层提供知识共享和重用的工具在语义网中起着关键的作用[8].本体的理论研究包括概念和概念的分类,通过对概念的严格定义和概念之间的关系来确定概念的精确含义,用来表示共同认可的、可共享的知识,是当前人工智能领域使用较为广泛的一门语义网技术.

在手机3D动画自动生成系统中,生成的动画人物动作单一,动作与场景模型、动作所要表现的事件与场景关联性差,导致动画情节表现不明确,无法将短信信息准确地表示出来,使得生成的动画情节枯燥乏味[9-11].本文提出了基于事件的情节规划,该方法的实现会使得生成的动画中人物的动作不再仅仅局限于一个动作,通过连续的动作片段来展现不同的事件,使其能够满足短信中的主题内容,并且会使生成的动画效果更加丰富.

基于事件的情节规划是以语义网技术为指导,通过建立事件本体库和动作本体库作为情节规划的基础,不同事件的组合,不同动作的搭配,展现出不一样的情节,使得动画内容更加地符合短信文本.

1 基于事件的情节规划整体设计

情节规划主要工作是以信息抽取的结果为输入,以现有的本体库为基础,通过对主题、模板原子进行分析,从知识库中选择与之对应的场景和模型,使得最终生成的动画内容符合短信信息.

众所周知,短信内容的主要特点就是短小精悍、包罗万象,发送的内容往往在叙事,而情节在叙事性作品中是一个关键的部分.所谓情节就是指有因果关系所串联并推动、由角色发出的行动所组成的事件或故事的节点,是一个时间范畴[12],因此可以说明多个事件组合可以构成一个情节,而动作是事件节点不可拆分的原子节点,任何事件只有通过动作的展现才能表现出它特有的意义.因此,我们将按照“情节-事件-动作”关联关系来规划短信情节.

在手机3D动画自动生成系统的情节规划过程中,需要动作库和事件库来做支撑,根据信息抽取的结果和已有的事件本体库和动作本体库来选择情节,所选择的情节必须最大程度上满足短信所要表达的内容,包括人物、动作、情绪等.在本体库中事件之间的通过不同的对象属性进行关联,从而能够形成一个比较完整的事件链,通过不同的事件组合,并且每个动作类有多个候选者,从而使得最终组合的情节多种多样.

情节的多样性体现在:

(1)一个主题可以对应多个事件,而一个事件同样可以对应多个主题.例如:当主题为“打球”时,它对应的事件可以有“打篮球”、“打棒球”、“打网球”等,那“打篮球”这个事件不仅可以表现“打球”的主题,还可以表现“高兴”或者“伤心”的主题;

(2)一个事件可以有多个动作来表现.例如:“高兴”的事件可以用一个大笑的动作来表示,此外,我们还可以用跳跃的动作来展现;

(3)一个动作类是由不同的具体动作集合而成.例如:“吃饭”事件类可以由“吃汉堡”或者“喝汤”的具体动作组成;

(4)不同的事件组合可以构成不同的情节.

2 情节规划本体库

基于事件的情节规划是以本体库为基础来支持整个规划过程,需要建立事件本体库,而事件与动作是紧密相关的,因此动作本体库同样是必不可少的.接下来从事件本体库和动作本体库两个方面介绍情节规划本体库的.

2.1 事件本体库设计

事件(Event)是在特定时间和环境下发生的、由若干角色参与的、表现出一些动作特征的一件事情,在形式上用一个六元组表示,E={O,A,T,V,P,L},事件六元组中的元素称为事件要素,分别表示对象、动作、时间、环境、断言和语言表现.其中,动作要素是最重要的要素,它描述了事件变化过程及其特征.

在现实世界中,每一个事件都不是孤立存在的,把具有相同特征的事件集合统称为事件类.一个事件的发生都或多或少引发另一个事件的发生,它们之间是紧密联系的,那么事件关系主要分为:组合关系、因果关系、跟随关系、并列关系、条件关系、条件关系[13].

2.2 事件本体库

事件本体库是以动作库为基础,根据已有的动作划分不同的事件类,并在本体库中建立相应的事件类.比如:当前动作库中制作走的动作时都赋予了它一定的感情,高兴地走不仅能表示走这个事件,而且还能表示高兴这个情绪事件.对于高兴事件,不仅可以通过高兴地走这个运动的动作来表示,还可以通过静止的动作来表示,比如:大笑的动作,因此,我们可以将情绪类事件—MoodEvent分为DynamicMoodEvent和StaticMoodEvent.图2展示了事件本体库的具体内容.

图2 事件本体库

在事件本体库中类与类之间的关系主要包括:

(1)事件与主题之间的关系:通过对象属性hasSuitTopic把事件与主题进行关联,表明事件能够表达的主题;

(2)事件与模板之间的关系:通过对象属性hasSuitTemplate把事件与模板进行管理,通过事件来表现信息抽取到的模板信息;

(3)事件与动作之间的关系:通过对象属性hasSuitAction进行关联,表示事件发生时人物所要执行的动作;

(4)事件与事件之间的关系:①hasPreEvent:事件的前驱事件;②hasNextEvent:事件的后继事件;③hasResult:事件的结果,即事件发生后给人物带来的情感反应;④hasEffect:事件的原因,主要用来表示情绪事件的原因;

(5)事件与参照物之间的关系:通过对象属性hasReference进行关联;

(6)人物与参照物的距离关系:通过对象属性hasDistence进行关联,表示人物执行动作时与参照物之间的距离.

图3展示的是“吃饭”事件的类定义和类与类之间的关系.“吃饭”事件的前驱事件是“走”,它的结果是情绪事件,比如:“哭”,能够表现“吃饭”的动作是“吃”和“喝”,适合的主题是“吃饭”(EatingActionTopic),适合的模板是“日常吃饭”的模板.在具体的实例中定义了人物执行吃饭动作时的参照物及其距离,它的参照物是桌子,距离为Near,表示人物吃饭的时候应该站在桌子旁边,如图4所示.

图3 事件本体库类定义

图4 事件本体库实例定义

图5 运动类动作层级关系

2.3 动作本体库

动作库是情节规划的基础本体库,根据动作类型的不同,将动作分为了四类,分别是:动物模仿类、日常动作类、情绪类、运动类.

图5展示的是运动类动作的类及其层级关系,运动类动作主要包括打篮球、踢足球、跳跃、跳舞、健身、冲浪等动作,这些动作需要与相应的模型进行交互,比如:打篮球的动作需要有篮球,冲浪的动作需要有滑板,如果没有交互物体的存在会使得人物执行动作时显得不真实.

2.4 事件本体库和动作库的联系

构建本体库的目的是为了实现某种程度的知识共享和重用,它既统一了术语和概念,同时避免了重复的领域知识.我们的本体库采用的是sumo上层本体,它是由多个领域本体组合而成,实现了数据的互操作、信息检索、自动推理和自然语言处理,概念完全公理化,与wordnet简历映射关系.

事件本体库和动作本体库都是在sumo上层本体基础上建立的,由于sumo已经包含了各领域高度抽象的概念,所以只需在sumo上进行扩充和精炼.

首先,根据上文提到的事件分类规则和动作分类规则建立事件类和动作类,以及各自的子孙类.比如: Event是事件类的根节点,EatingEvent是其子节点.

然后,建立对象属性.通过构建对象属性来描述不同类之间的关系,对象属性也描述类实例的内部属性或自身性质,在创建对象属性时要指定其的定义域和值域,约束它可控的范围.事件库和本体库之间的沟通桥梁就是通过对象属性来连接的.hasSuitAction将事件类和动作类联系到一起,其定义域为Event,值域为Action.

在图3事件本体库类定义中,EatingEventÍ∃hasSuitAction(EatAction or DrinkAction),在类定义中定义的公理属于宏观定义,限定了吃饭事件动作范围,而并没有指定到底是使用哪一个动作,具体动作则需要在实例中定义.但是最终选定的具体动作是根据信息抽取结果的信息来选定的,从宏观公理中得到动作的存储位置,为其动态地安排具体动作.在图4事件实例定义中,并没有将为吃饭的实例约束具体动作,否则,生成的动画情节就显得单调,无法体现出多样的情节特性.

3 基于事件的情节规划过程

我们以短信为“我饿了,去吃饭吧”为例,详细介绍图6展示的情节规划流程图.将短信输入到系统中,得到如图7所示的信息抽取结果.

图6 情节规划流程图

由信息抽取的结果可知短信的主题为“吃饭”,由主题可以明确动画的主要内容,根据主题从事件本体库中选择与之对应的情节表达,吃饭的主题需要有吃饭的动作来表现,所以选择吃饭的事件,当主要事件选定后,选择辅助事件.辅助事件的确定是根据信息抽取结果中的信息来进行选择,如果信息抽取结果中能够抽到辅助动作,同时动作符合事件-动作的关系定义,我们即可选定该事件动作,否则,根据事件-事件的关系定义来选择与主要事件相关的辅助事件.信息抽取结果中包含了动作—“走:去”,动作库中存在与“走”对应的动作,同时“吃饭”事件定义处存在与“走”相对应的关系,所以将动作“走:去”作为吃饭事件的前驱事件,通过两个事件的组合即可作为一个动画情节来展现.情节明确后,就可以根据本体库中事件与动作之间的关系来选择最终的原子动作.

图7 信息抽取结果

当主要事件确定后,选择的辅助事件可以是多样的,不同的关系定义可以确定不一样的情节.根据图3事件本体库的定义,对于“吃饭”事件,我们可以看到还有RunEvent、PhoneEvent、WaitEvent等与之关联,从中可以随机选择一个或者多个与主事件进行组合,使其能够表现出一个连贯并且合理的情节,根据既定的事件组合,选择与之匹配的动作,一个事件可能对应多个动作,通过不同的组合,不同的动作展示,我们可以呈现出不一样的动画情节.

图8 情节规划输出结果

图8 是根据图7信息抽取结果得到的情节规划结果,场景中添加了人物—M_boy.ma和参照物—M_night_table.ma,为人物添加的动作是“走”+“吃饭”,“走”表示人物到桌子前的一个行为方式,“吃饭”是主要的动作.

图9 动画片段

图9展示的是“我饿了,去吃饭吧”这条短信的动画片段.对于主题为“吃饭”的短信,为人物添加情绪来展现人物对食物的态度,由人物的情绪推动动画情节的发展,使得产生的动画更加生动.比如:为人物添加一个“高兴”的情绪作为“吃饭”这个动作的后继事件,表示人物对刚才所吃的食物的一个态度,“高兴”可以表明刚才的食物很好吃或者吃饱了露出了高兴的笑容.情绪动作不仅仅可以添加到主要人物身上,还可以通过为旁观者添加情绪动作,从另一个角度来评价吃饭动作的表现力,可以理解为旁观者对主要人物吃饭这件事件是比较赞同的,持有一种欣慰的态度.通过不同人物的展示,动画呈现出的效果不同.

图10 情节规划输出结果

从图10结果中可以看到场景中添加了人物—M_girl.ma和参照物M_table.ma,为人物添加的动作是“吃饭”动作和情绪动作“高兴地笑”,通过情绪动作反应人物对刚才吃饭的过程或者是食物的感受.图11是根据图10的情节规划结果生成的动画片段.

图11 动画片段

人物的情绪表现方式有两种,第一种是通过人物的某一动作来展现,第二种是通过人物脸部表情来表现.第一种情况通过人物动作来表现,就比如“走”这个动作,可以是高兴地走、伤心地走、害怕地走等,此时,“走”这个动作不单单只是一种行为动作,它还可以表现出人物的某一种情绪.第二种通过人物表情来展现人物情绪,人物的面部表情是最能够表现出人物内心感受的,比如吃饭这个主题,开始的时候小女孩吃的非常开心,脸上一直露出笑容,但是过了一会儿,可能由于想家或者其他原因小女孩的脸上出现了伤心的表情,直到后来大哭起来,通过表情的转换,和一些未知的表情改变的原因会使得观众能够身临其境地去感受动画带给自己的感受.图12展示的是通过表情变化生成的情节动画.

图12 动画片段

4 基于事件的情节规划实验

基于事件的情节规划是手机3D动画自动生成系统中的重要部分,影响着动画质量的好坏.当前系统已实现了基本功能,正处于短信测试阶段,根据短信测试结果不断修正系统内容.系统按照情节规划的流程进行规划,对于不同的短信,情节规划的结果将以一个脚本语言呈现出来,基于事件的情节规划的脚本主要包含动作ID、动作名字、人物、参照物、是否有交互物等.

为了验证基于事件的情节规划方法在手机3D动画自动生成系统中的有效性,本次实验针对短信内容为“打篮球是一个很好的运动”连续测试了50条,其中,经过系统整体流程生成的动画的短信数目为50条,由于场景中没有人物无法添加相应的动作导致无情节内容的动画有5条,剩余的45条短信中生成的动画具有一定的情节,45个动画中共包含了6种不同的情节,28中不同的动作组合.对于短信生成的动画是否与短信内容相符合,动画内容是否具有一定的情节,这个问题具有很强的主观性,本文采取多人验证方式,邀请2名课题组成员和3个课题组外的同学对这一条短信生成的45个动画进行测评,共收到了225条测评结果,情节统计结果如表1所示.

表1 情节测评结果表

由表1可以得到,认为动画内容具有一定的情节,并且能够良好的展现出短信内容的票数共有150票,占总票数的66.7%,虽然概率值有点偏低,但超过了一半的概率,可以说明本文所采用的基于事件的情节规划方法能够良好制作出符合短信内容的情节并且生成的动画能够得到人们的肯定,说明基于事件的情节规划方法能够有效地使用在手机3D动画自动生成系统中.图13展示的是系统测试短信“打篮球是一个很好的运动”生成的两组动画片段.第一组动画的情节是由“走”事件和“打篮球”事件组合到一起的,第二组动画的情节是由“打篮球”事件和“高兴”事件组合在一起,通过不同事件组合来展现不一样的动画情节.

为了证明基于事件的情节规划方法能够普遍适应动画系统所测试的短信,现统计了从2016年5月到2016年8月系统所测试的短信共526条短信,其中能够应用基于事件的情节规划方法的短信共有268条,剩余没有使用该方法是因为:场景无法添加人物或者信息抽取结果没有匹配到对应的事件.针对应用该方法的268条短信请5名同学进行测评,如果3名或以上的人认为动画情节能够表现短信内容,则认为该方法能够适应动画测试短信.测评结果如表2所示.

表2 短信测评表

从表2可以得到,该方法能够普遍适用于该系统的比例是77.61%,可以说明基于事件的情节规划方法在一定程度上能普遍适用于动画系统,并且能够表达出完整的动画情节.

5 总结

手机3D动画自动生成系统是面向开放的中文短信,短信的内容千变万化,涉及到了领域非常广阔,当前的人工智能技术在机器学习和数据挖掘等方面应用的十分广泛,对于常识知识的获取和分析是其所不擅长的,处理效率非常低.同时,一部良好的动画往往是具有一个比较完整的故事,并且动画故事戏剧性效果能够吸引着受众主体,人工智能技术对于动画故事内容的呈现和动画戏剧性的表现是非常欠缺的.

为了使得手机3D动画自动生成系统产生的动画能够具有一个良好的故事情节和戏剧性表现,本文提出了基于事件的情节规划方法,尝试从事件入手,从“情节-事件-动作”三个方面来进行规划,以语义网知识为基础构建事件本体库,通过不同关系的事件组合来构建多样的情节,根据短信抽取结果中的主题选择与之对应的主题,产生的情节不再局限于一个动作,通过多个动作串联执行使得呈现出的动画内容更加合理,画面更加丰富,通过不同的情绪表现,也会使得动画呈现的效果不同,能够从多个层面来反映动画内容,从生成的动画效果来看,能够使得动画内容比较丰富.

但是,当前的本体库是依托于课题组人员的基本常识建立,对开放型的中文短信来说覆盖率比较低,所以接下来的工作需要进一步扩充事件本体库,不仅要增加事件概念的定义,还要扩充概念与概念之间的关联关系,这就需要使用机器学习和统计学的方法来获取事件和事件与事件之间的关系,提高事件本体库的覆盖率,使生成的动画情节更加完善,更加多样.

1 Lu RQ,Zhang SM,Wei ZC.Generation computer from natural language stories.Proc.of Pacific Asian Conference on Expert Systems.LosAngeles,USA.1999.

2陆汝钤,张松懋.从故事到动画片从故事到动画片—全过程计算机辅助动画自动生成.自动化学报,2002,28(15):321–348.

3诸峰,曹存根.叙事生成方法研究综述.中文信息学报,2013, 27(3):33–40.

4王海涛,岳小莉.叙事与动画自动生成技术研究.信息技术快报,2006,4(5):5–15.

5 Gervás P,Díaz-Agudo B,Peinado F,Hervás R.Story plot generation based on CBR.Knowledage-Baed Systems,2005, 18(4-5):235–242.

6 Shim Y,Kim M.Automatic short story generator based on autonomous agents.Pacific Rim International Workshop on Multi-Agents.Springer Berlin Heidelberg.2002.151–162.

7 Cavazza M,Charles F,Mead SJ.Character-based interactive storytelling.IEEE Intelligent Systems and Their Applications, 2002,17(4):17–24.

8 Lee B,Hendler T,Lassila J.The semantic Web.Scientific American,2001,284(5):34–45.

9张岳.面向中文短信的三维动画情节规划.计算机工程与应用,2012,48(10):187–193.

10聂俊莲.基于语义网的手机短信3D动画情节规划[硕士学位论文].北京:北京工业大学,2012.

11王金娟.基于本体的手机3D动画情节自动生成[硕士学位论文].北京:北京工业大学,2015.

12冯雪勤,王晶.“动作—情节”:动画剧本创作的核心要素.“思想的旅行:从文本到图像,从图像到文本”国际学术研讨会,2013:28–30.

13张旭洁,刘宗田,刘炜,等.事件与事件本体模型研究综述.计算机工程,2013,(9):303–307.

Plot Planning of 3DAnimation Based on Event

ZHANG Zi-Xuan

(Computer College,Beijing University of Technology,Beijing 100124,China)

Plot plan is a vital part of 3D mobile phone animation automatic generation system,and plays an important guiding role for the presentation of the animation.In this paper,we apply the Semantic Web technologies to build event ontology.Based on the key information extraction,the events which are hard to be expressed can be represented through a series of specific actions.It is possible to express a complete animation content,so that not only makes the animation with certain scenarios,but also creates a richer animation effects.

animation automatic generation;plot planning;semantic Web technologies;event;ontology

2016-08-28;收到修改稿时间:2016-10-19

10.15888/j.cnki.csa.005781

猜你喜欢

本体短信动画
Clifford hits the big screen
做个动画给你看
眼睛是“本体”
我的动画梦
一种基于社会选择的本体聚类与合并机制
道歉短信
代发短信
专题
Care about the virtue moral education
动画总动员