上海交通大学计算机集成技术开放实验室2001-6-8CVRV2002基于Web的分布式虚拟环境中的智能虚拟人研究导师张申生教授博士生戴开宇上海交通大学计算机集成技术开放实验室2001-6-82019/9/14论文摘要在分布式虚拟环境中建立具有智能行为的虚拟人有着重要的意义。本文分析了分布式虚拟环境对智能虚拟人行为的要求。提出了一个虚拟人的体系结构。着重分析了其在动态环境下面向目标的行为选择和实现方法,并给出其形式化描述。最后给出了基于VRML的参数化人物动作生成方法。我们应用该体系构造了一个基于Web的虚拟城市的导游人物,取得了很好的效果。上海交通大学计算机集成技术开放实验室2001-6-82019/9/14分布式虚拟环境(1)虚拟现实概念以模拟方式为使用者创造一个实时反映实体对象变化与相互作用的三维图像世界,在视、听、触、嗅等感知行为的逼真体验中,使参与者可以直接参与和探索虚拟对象在所处环境中的作用和变化,产生沉浸感虚拟现实应有的特征(三I)沉浸感(Immersion):能给人们以真实世界的感觉,让人感觉全方位地沉浸在这个虚幻的世界中。交互性(Interaction):虚拟现实与通常CAD系统所产生的模型是不一样的,它不是一个静态的世界,而是可以对使用者的输入作出反应。虚拟现实环境可以通过控制与监视装置影响或被使用者影响。想象(Imagination):它的应用能解决在工程、医学、军事等方面的一些问题,这些应用是VR与设计者并行操作,为发挥它们的创造性而设计的,这极大地依赖于人类的想象力。上海交通大学计算机集成技术开放实验室2001-6-82019/9/14分布式虚拟环境(2)分布式虚拟环境(DistributedVirtualEnvironment)利用计算机构造的一个真实世界的模拟,地理上分布的用户可以通过网络共享该环境,并与周围的环境以及在相互之间进行交互。共享虚拟环境涉及到虚拟现实、分布对象、网络、人机交互、智能代理等领域。其他同义词包括:NetworkedVE(VR),SharedVE(VR),Multi-UserVE,etc.其实质是一种人机交互界面分布式虚拟环境必须具有以下功能:能很好的可视模拟真实世界:三维模拟构造真实世界;支持多媒体内容;通过硬件给用户触觉等真实感受。数据共享:该环境中的数据可以在一定规则下被进入该用户共享。用户应该看到的是一个统一的视图。因为用户使用的系统可能是异构的,所以该系统应该具有平台独立性。交互性:用户能通过一定的输入设备与环境和其他用户进行交互。上海交通大学计算机集成技术开放实验室2001-6-82019/9/14分布式虚拟环境(3)分布式虚拟环境的应用军事训练SIMNET&DIS教育与培训pedagogicalagentSteve;JackMOO网络会议与远程协作Sony公司基于DIVE的一个系统娱乐和虚拟社区Cybertown(使用Blaxxun)电子商务VRcommerceofIBM更加直观可视化三维表达,可以定制更具有个性化丰富的购买行为可以更好的表达用户的购买习惯更具交互性顾客:共同商量购买一个商品,和其他顾客交流获得及时咨询,帮助立刻确定购买行为商家:及时对顾客咨询帮助其确定购买行为;得到顾客的反馈信息,调整商业策略上海交通大学计算机集成技术开放实验室2001-6-82019/9/14分布式虚拟环境(4)分布式虚拟环境发展的原动力因特网技术的广泛使用:Internet已经成为娱乐、商业等的重要媒体硬件基础:网络带宽的提高(宽带网的逐渐普及),个人计算机图形处理能力的增强软件基础:虚拟现实技术和网络技术的结合日益复杂的数据使得原来的界面不能满足需要,人们希望更加直观的表达信息,使用更加自然的方式进行人机交互以及通过网络实现人与人之间实时、形象的交流上海交通大学计算机集成技术开放实验室2001-6-82019/9/14分布式虚拟环境(5)著名分布式虚拟环境项目介绍DIVE由瑞典InstituteofComputerScience开发运行在SGIRIX,PCNT4,PCLinux/Mesa,SunSolaris,HPHPUX上核心代码使用C语言写成提供API和TCLScript接口1991年第一版本SIMNET&DIS美国DARPA(DefenseAdvancedResearchProjectsAgency)1983年开始的一项研究,交付官方使用于1990年,用于模拟组队作战环境特点:对象-事件模型,自治模拟节点,预测算法DIS网络软件架构的核心是协议数据单元(PDU)没有中央服务器,可扩展性好上海交通大学计算机集成技术开放实验室2001-6-82019/9/14分布式虚拟环境(6)NPSNET-IV美国海军研究生院开发具有关节可以灵活动作的人物,攀登以及下坡等能力。通过MBONE网络互连支持空中以及地点的各种工具。与SIMNET/DIS兼容PARADISE1993年斯坦福开始的一个项目集中解决带宽问题,使用IP组播技术采用了AOI(兴趣区域)服务器作为信息传播中介。将实体根据状态变化频率分类,采用不同精度的预测算法上海交通大学计算机集成技术开放实验室2001-6-82019/9/14分布式虚拟环境(7)基于Web和VRML的分布式虚拟环境BlaxxunInteractiveInc年成立,总部在德国慕尼黑VirtualWorldsPlatform5.1多人服务器BlaxxuncontactVRML客户端程序blaxxun3DJava解释VRMLVnet~jeffs/vnet/VRML+JavaDeepMatrix上海交通大学计算机集成技术开放实验室2001-6-82019/9/14智能虚拟人(1)在分布式虚拟环境中构造智能虚拟人的意义使得分布式虚拟环境具有更好的交互性和智能性。从而使得分布式虚拟环境内容更加丰富,也更加逼真,更具有吸引力。帮助实现构造分布式虚拟环境的目的,从而具有更加广泛的应用,他们实质代表了一种更加形象的服务:教学培训:虚拟教师,可以实时回答问题并做示范电子商务:导购人员,咨询娱乐游戏:游戏中的参与者城市社区:导游提供了一种研究人类自身的方法(人工智能)。如:认知学等在建造物理机器人之前,可以在虚拟环境中进行通过建造虚拟机器人进行仿真。上海交通大学计算机集成技术开放实验室2001-6-82019/9/14智能虚拟人(2)相关项目介绍JACK宾夕法尼亚大学人物建模和仿真中心研发生物医学数据精确的人体模型,从人体测量的统计数据得到。该模型包括逼真的行为控制、符合真实人体比例的缩放、以及诸如障碍物回避等。主要用于产品设计的人类工程方面的考虑。可以对虚拟产品设计通过虚拟人进行测试。由用户给予各种约束和任务,JACK可对许多指标给出计算结果。编程接口:并行转换网络(PaT-Nets)状态转换图.结点:执行体;边:条件参数化动作表示方法(PAR)用于连接自然语言命令和动作执行动画。JACK相关项目JackMOOJACK+LambdaMOO(byPavelCurtisatXeroxParc)SmartAgent.上海交通大学计算机集成技术开放实验室2001-6-82019/9/14智能虚拟人(3)Oz卡耐基梅隆计算机学院研究开发三个侧重点:believableagents,表达,高度交互性的剧情.对于believableagents来说,个性是最重要的,强调的是艺术的真实抽象,有感染力,让人置信。而不是人工智能强调的能力。Oz强调建立特殊唯一的believableagent。提出了一个TOK架构来构造称为BroadAgent的具有感知、行为、情绪、语言等广泛能力的智能代理,由控制反应和面向目标的行为的Hap模块、负责情绪和社会关系的Em模块组成以及一个自然语言系统Glinda组成Hap是系统的核心模块,提供支持描述believableagent行为的机制。使用“反应型规划”的策略来实现在复杂环境中的快速反应,而不追求代理的非常智能化上海交通大学计算机集成技术开放实验室2001-6-82019/9/14智能虚拟人(4)IMPROVNewYork大学计算机系媒体研究实验室的一个研究项目一种行为动画的方法。提供给了一个脚本语言用于构造实时的基于行为的人物动画。行为可以以由创作者维护的内部状态以及外部事件为条件。通过指定该虚拟人物在某种情形下采取各种行为的可能性,来使该人物具有个性。由具备高层能力的行为引擎和控制底层几何变化的动画引擎组成。高层使用脚本定义动作序列来表示一个行为,而底层通过定义几何变化来构造原子行为。运用噪声技术,产生随机的微小的运动,使得人物活动更加真实。上海交通大学计算机集成技术开放实验室2001-6-82019/9/14基于Web的分布式虚拟环境(1)VRML它的出现主要是为了在Internet范围内建立一个全球统一的基于网络的三维标准.V1.0(1994)--V2.0(1996)-VRML97(ISO)-V3.0(X3D)完整的三维建模语言:完整描述三维场景的物体、光、材料、环境特性和真实感效果分布处理方式:支持多个分布式文件的多种对象和机制,包括内联式嵌入其他VRML文件,通过超链接指向其它文件三维交互功能:能够检测用户和虚拟环境中几何造型交互动作(如按动开关,碰撞检测),用户在虚拟环境中的行为以及时间推移。检测器提供的这些信息通过由VRML定义的整个事件体系产生视觉或听觉效果,给用户造成和境界互动的交互式体验平台无关性多媒体集成(背景音乐,空间立体声支持,电影贴图)上海交通大学计算机集成技术开放实验室2001-6-82019/9/14基于Web的分布式虚拟环境(2)原型节点(PROTO)便于用户利用已有节点定义面向对象的新的节点。使用脚本节点(Script)用户可以定义更加复杂的执行逻辑,支持VrmlScript以及Java等语言。上海交通大学计算机集成技术开放实验室2001-6-82019/9/14基于Web的分布式虚拟环境(3)EAI(ExternalAuthoringInterface)EAI允许一个JavaApplet主要以三种方式访问VRML的场景:可以发送一个事件到VRML场景中节点的事件入口可以收到VRML场景中节点的事件出口发出的最新值当VRML场景中节点的事件入口发出一个事件时,能得到一个通知,激活callback方法VRML本身不具备网络通讯能力,Java提供了该功能。Java弥补VRML计算,程序设计方面的不足,可以加入复杂的逻辑上海交通大学计算机集成技术开放实验室2001-6-82019/9/14基于Web的分布式虚拟环境(4)图1B/S结构的分布式虚拟环境框架Web服务器分布式虚拟环境服务器虚拟人物控制器浏览器AppletVRML插件客户端1服务器端客户端2客户端n。。。本地图形数据库拷贝用户操作界面EAI全局数据库及语义服务器下载C-S结构(Java安全性)全局数据库以及语义服务器,用于记录全局几何信息以及一些非几何的语义信息在网络上传输的只是发生改变的几何信息或者控制信息虚拟人控制器决定虚拟场景中自主的虚拟人需要采取的行为上海交通大学计算机集成技术开放实验室2001-6-82019/9/14分布式虚拟环境中的智能虚拟人建模(1)设计考虑虚拟人对周围环境刺激的反应应该是迅速以及稳定