前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >系统架构师论文-论虚拟现实技术的应用与发展

系统架构师论文-论虚拟现实技术的应用与发展

作者头像
cwl_java
发布2019-10-26 20:58:15
3630
发布2019-10-26 20:58:15
举报
文章被收录于专栏:cwl_Javacwl_Java

论虚拟现实技术的应用与发展

【摘要】

本文介绍了虚拟现实技术的主要技术和应用,并结合作者本人参加的国家重点实验室的自然科学基金项目,重点讨论了基于图像的建模与绘制在虚拟现实中的重要地位与应用,详细分析了近15年来国际上基于图像的建模与绘制技术的发展状况与当今世界上最先进的研究热点,并详细阐述了作者在国家重点实验室精心基于图像绘制技术科研工作中所参与的系统开发。文章最后,说明了作者所参加的科研项目的开发成果,并简单介绍了作者在试验项目中所发表的论文,対未来几年中虚拟现实技术的发展趋势作出了较为科学的预测并提出了作者本人独到的见解。

【正文】

虚拟现实技术是当前科学研究的热点,同时也是国家大力支持发展的核心技术之一。所谓虚拟现实,就是通过计箕机等虚拟手段来构造一个非常接近真实世界的虚拟环境,它主要体现在视觉、触觉、嗅觉等方面的逼真模拟来达到高度的沉浸性,也就是如我们通常所说的“身临其境"-它涉及的领域非常厂泛,包括仿真技术、多媒体技术、传感器技术以及计算机图形学等多个科学领域。同时,随着科技的发展特别是网络、计算机硬件等领域技术的完善,虚拟现实也得到了越来越多的应用。包括军事、医疗、航空航天、旅游业、建筑业、娱乐业等众多行业中,虚拟现实技术都具有广阔的应用前景。 我作为浙江大学CADLCG国家重点实验室的一名科研人员,有幸参加了多个关于虚拟现实方面的科研项目,其中国家自然科学基金项目《虚拟现实中的基于图形的建模与绘制技术》中,我投入了大量的精力,进行了广泛的学习与探索,参读了国外很多相关领域的文献,特别是近15年来SIGGRAPH大会中的精彩论文,并与实验室的其他人员进行了大量的讨论,和国内外领域中的专家学者进行了多方面的交流,取得了很多实质性的进展。同时,我结合该课题在理论的探索中进行了大量的编程模拟实验,开发了一些虚拟现实系统。 我们知道,虚拟现实的一个最主要的方面就是视觉效果上的真实性,例如虚拟漫游系统。可以说,视觉上的问题解决了才能进行考虑触觉、嗅觉等方面,否则就是本末倒置,因而目前世界上大部分的科研工作都是基于视觉上的真实性进行研究的。同时,随着网络技术的发展,网络的带宽不断増加,其于Web方式的虚拟现实系统越来越成为主流,而且在美国很多先进的企业中已经得到了厂泛的应用。而网络上虚拟现实的一个关键性问题就是速度,因为网络带宽相対于本地运行来说速度还是很小的,那么如何解决虚拟现实中图形的绘制速度,以达到网络显示的实时性就是一个非常重要的课题。我们也了解到,传统的建模是基于几何的,这导致当场景较为复杂时计算量过大,特别是要处理物体表面材质时,几何贴图一来真实性不高,二来速度过慢,几乎没有达到网络实时性的可能。対于大部分PC机客户,更是不能在网上欣赏到逼真的虚拟现实场景。因此,世界上一些科研人员就提出了使用基于图像的建模与绘制的方法。因为图像是真实世界的拷贝,逼真度高,而计算量又很小,可以满足普通P C机的用户以及当今网络带宽的需要,很好地达到虚拟现实场景的实时绘制。 基于图像的绘制技术(image-based rendering, IBR)最早由Apple Company的Eric Chen提出,他早在80年代初就在SIGGRAPH上发表论文介绍了他的图像拼接理论,次年又基于该理论开发出了Apple著名的Quick Time VK系统,并在当年的SIGGRAPH上发表论文详细地介绍了该系统,在当时的计算机领域引起了极大的轰动。该系统的主要手段是用多点拍摄的8张图片,进行无缝拼接算法整合成一张360°的环视图像。我在实验室进行相关的科研时,参与了一个类似的系统开发,当然,时隔多年,我们又在原来的Eric Chen的理论基础上,结合最新的科研成果,使用更好的算法开发我们的系统。关于该系统的开发方法,本文后面将有详述。在Eric Chen之后,又有很多世界顶级的科研人员不断在SIGGRAPH上发表论文,以向世人吿知他们的最新研究成果,现在IBR已经成为每年SIGGRAPH中一个重要议题,每年都有4〜6篇论文发表。例如基于特殊点之间进行转换的Morphing技术,基于全光场理论的光场建模绘制技术,基于图像拼图的拼接技术,基于人机交互的辅助技术等,都在一段时间内取得了巨大的成功。特别是拼图技术和全光场理论带来的各种基于光场的技术,在最近的3年内主导了国际上IBR领域甚至虚拟现实领域的主要发展方向。 我在实验室从事相关领域的科研工作之时,主要是进行了大量的理论学习与研究,当然也开发了一些虚拟现实系统。例如本文前面提到的类似于Quick Time VR的系统。在此系统的开发中,基础的理论已经比较成熟,而且已经有产品化的实物供我们参考。我们的主要工作就是结合理论,使用逆向工程的方法,导出软件系统的设计思路,并融合后来几年中国际上対Quick Time VK系统提出的改进论,开发出一套自主知识产权的虚拟现实系统。 我们首先以理论为基础,结合逆向工程工具导出原始的设计模型,加以改进,采用合理的分层结构重新设计了系统。在讨论完系统高层模型后,我们的人员需要分成3个组来进行开发。一组开发算法,一组开发系统界面,一组开发底层控制部分。我被分在系统界面开发组。虽然不是核心算法组,我们在対待界面交互设计时仍然进行了大量的分析与策划。我们抛弃了传统的MVC模型来工作,而是采用了国际上最先进的TaskMaster模型来作为我们的界面部分的驱动模型。TaskMaster模型是MVC模型的改进,它使用有限自动机来控制状态驱动,将原来的MVC模型作了更加彻底的分离,使得软件系统的各个模块之间独立性更强,増加了内聚,减少了耦舍。它将系统界面対用户的响应分成多个Task,每一个Task使用一个有限自动机来驱动,有限自动机接收消息,执行Implementation,并完成状态转换。同时,TaskMaster模型不但结构清晰,还具有代码自动生成工具,使用该工具,可以快速自动地实现自动机模型。总之,使用TaskMaster模型,我们解决了传统MVC模型的不足,取代了MFC消息响应机制的不完善性,大大加速了系统的开发。后来的开发成果也证明了我们使用较少的人力物力开发出了优质、美观、高效、高可用性及高移植性的系统(TaskMaster模型很容易移植到Linux系统下,并且Linux系统下也有TaskMaster自动代码生成工具。) 另外,在开发过程中,我们的测试文档也做得相当成功。坚持使用了单元测试、集成测试,确认测试每一个歩骤都到位,特别是单元测试和集成测试,我们小组做了大量的工作。先是个人测试,然后进行组內交换测试,最后全组讨论,再进行集成测试。文档也和测试一样,是每一天都跟着来的。 在项目管理上,我采用了Microsoft Source Soft来进行控制。因为小组有6人,大家分别在不同的机器上开发,进度不同,加上我们小组内模块相关性高,传统分开开发最后集成的方法肯定不行,而使用了 Source Soft之后,管理开发就轻松许多,并且大大减少了最后进行模块集成的工作量。 总之,在本次科研活动中,我们不但顺利、高效地完成了模拟系统的开发任务,而且大量实践了软件工程方法,引进了国际最优先的TaskMaster模型等,得到了很好的效果。更重要的是,我们出色地完成了实验室的国家自然科学基金项目,为实验室争得荣誉,为国家弥补了科技空白。我个人而言,不但在组织本小组进行系统开发的过程中,实践了项目管理、进度管理、质量管理、人员分配、合作能力、文档管理以及测试管理等软件工程方法,并引进了国际先进的开发模式,取得了艮好的实践效果;同时,本人还有一篇关于基于图像的绘制技术的论文被第八届联合国际计算机大会录取。 当然,我在科研工作中以及相关系统开发中也遇到一定的困难,比如模型选择、人员分配等都走了一些弯路。而且TaskMaster模型虽然清晰高效,但代码量比传统MVC要大得多,文件数也多,给管理造成了一定的困难。 再回到虚拟现实领域,我觉得目前在视觉方面已经较为成熟,例如IBR领域,未来的扩展需要依靠硬件辅助计算、网络分布式、人工智能技术的结合。而整个虚拟现实领域将更多地开始从事触觉和嗅觉等方面的研究,而且为了达到更真实的效果和更高的实时性,我预计将会有史多的整合人机界面学、人工智能、分布式计算、数据库等技术,共同来创造一个完美的虚拟现实世界。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 论虚拟现实技术的应用与发展
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档