典型系统分析

发表于:2008-04-21来源:作者:点击数: 标签:典型系统分析
关键字:系统分析----构造一个成功的虚拟空间会议(VST)系统需要解决三维虚拟会场的构造、沉浸感显示系统的设计、“虚拟人”的建模与实时再现等问题。VLNet、FreeWalk等系统分别从不同的侧面重点研究了一些问题,取得了一定的经验。下面我们重点介绍VLNet、F
关键字:系统分析---- 构造一个成功的虚拟空间会议(VST)系统需要解决三维虚拟会场的构造、沉浸感显示系统的设计、“虚拟人”的建模与实时再现等问题。VLNet、FreeWalk等系统分别从不同的侧面重点研究了一些问题,取得了一定的经验。下面我们重点介绍VLNet、FreeWalk和North Carolina大学在Multimedia?99上推介的虚拟空间会议系统以及我们研制的系统VST?1。 

VLNet系统
----VLNet(virtual life .network)系统是瑞士日内瓦大学 MiraLab实验室和瑞士联邦技术学院(EPLF)计算机图形实验室1997年研制的分布式协作虚拟环境。该系统把人工智能技术和虚拟现实技术结合起来,创造了一个真实的虚拟环境。 
----1.系统结构 

----由于大规模虚拟环境仿真系统比较复杂,VLNet采用多进程的结构,不同进程处理不同的任务。其进程分为核心进程(core process)和外部驱动程序进程(extern driver process) 两类。核心进程完成主要的仿真任务,并为外部驱动程序(如显示、数据库操作等)提供底层接口。核心进程有以下4个引擎(engine),它们把VE的主要功能分成独立的模块,并负责资源管理。 

----对象行为引擎 对改变或查询对象在场景中的定义和行为以及对象之间的碰撞检测请求进行处理。 

----导航引擎 把用户输入和导航、对象选择和操纵连接起来。输入指整个身体位置的相对和绝对坐标,以及选择或释放对象的请求。 

----面部表情引擎 把VLNet和外部的面部驱动程序连接起来,包含来自外部面部驱动程序的摄像机视频图像,并把它们放到内部共享内存和输出消息队列中。 

----身体姿态引擎 为身体姿态提供外部接口,包括关节角度或在整体中的位置,以及激活身体的高层参数。这个引擎允许定义身体的多层控制,以及把不同外部身体驱动程序的输出融合到一个最终的姿态。 

----2.虚拟人的建模 

----控制身体姿态需要有与人体骨骼相对应的关节结构。在 VLNet中,人体模型关节的自由度为75度,另外,每只手又有额外的30度自由度。骨架用 3D关节层表示。不同的身体实体可以通过缩放肢体来创建。 

----VLNet把人体分成17个部分,即头、颈、上下躯干、臀、左右上下臂、左右手、左右上下腿、左右脚。由于头、手和脚的表面十分复杂,所以用三角形片表示。 

----虚拟人的姿态和面部表情可用各部分的位置、关节角度、面部片状态等参数进行设置。 

----3.虚拟人的控制 

----在VLNet中,与会者在虚拟环境中用替身表示,因此,与会者必须能够实时地激活其替身。但是,虚拟人的表示需要对与会者的很多自由度进行跟踪,所以,控制十分复杂。而与会者与环境的交互更增加了控制的难度。因此,虚拟人的控制应该使用更高层的机制。VLNet按照对虚拟人的控制方法,把虚拟人分成三类: 

----直接控制的虚拟人 虚拟人的关节和面部表示通过几何学方法直接修改。例如,使用传感器跟踪与会者每个关节的自由度。VLNet使用预先存储的试验数据进行控制,以右手为例,假定有6个自由度,可通过传感器获取它们。在右臂进行输入时,身体驱动程序控制的手臂可以计算关节角度。手臂运动使用的试验数据通过传感器获取以及存储在预先计算的手臂关节表中。 

----用户指导的虚拟人 通过定义任务,外部驱动程序可以控制虚拟人,但虚拟人不能直接响应用户的运动。用户在高层次上定义虚拟人的运动,比如只需用方向和速度这两个参数就可控制虚拟人的行走。 

----自主的虚拟人 虚拟人具有由目标和传感器信息构造的内部状态。与会者通过定义高层动机和状态变化,对状态进行修改。在VLNet中,构造了行为动机和适当的交互机制,自主的虚拟人可以通过提供服务(如帮助导航)改善用户的使用环境。这些虚拟人不需要用户指导,就能够自主地完成它们的任务。 

----4.面部表情交互 

----面部表情可用以下4种表示方法: 

----面部的视频纹理 把连续的用户面部视频纹理映射到虚拟人的脸上。面部表情驱动程序完成视频捕获和分析,包括视频抓取、从背景中提取出面部信息。经压缩后传到面部表示引擎,由它送至通信进程。通信进程通过网络将图像发送到远端的与会者。在接收端,通信进程接收图像,然后将其传至面部表示引擎,并负责解压缩,最终把图像纹理映射到虚拟人的脸上。 

----面部表情基于模型的编码 分析面部图像,然后提取表示面部表情的参数,并将这些参数发送到远端与会者。从视频中准确地分析和识别面部表情需要计算大量的面部特征参数,而VLNet的实时性要求很高,所以它只分析几个面部特征点。初始时,用户在图像上画一个模板,交互地调整好面部图像在模板上的位置,并画上标记点。当面部表情变化时,根据标记点位置的变化,就可以计算出面部表情参数。 

----讲话时嘴唇运动的合成 为了让与会者知道谁在发言,面部表示引擎需要合成相应的嘴唇运动,即在说话时控制嘴唇的开和关。 

----预先定义的表情 预先定义好面部表情,用户可从中选择,然后发给其他与会者。这很像E-mail中表达感情的方式。 

----总之,VLNet系统能够构造一个大规模的虚拟环境,用户能以“虚拟人”的方式进入虚拟环境中,并与远地的其他用户交互。用户除能与虚拟环境实时交互外,还可以相互间感受到彼此的表情、姿势等。该系统以虚拟人的建模与应用而著名,但系统缺乏对虚拟环境中协作机制的研究。 

原文转自:http://www.ltesting.net