论文部分内容阅读
随着虚拟现实技术的不断发展和显示技术的不断成熟,运用虚拟现实技术进行沉浸式体验仿真虚拟环境的应用已经不仅仅局限在军事、医学和电影制作等专业领域,而是越来越多的出现在大众消费者面前,应用到人们的生活之中。而虚拟现实中的人机交互方式和虚拟场景的呈现效果是虚拟现实体验中最重要的两个方面,如何为虚拟现实应用提供良好的人机交互方式和如何提高虚拟现实场景的最终呈现效果也成为重要的研究方向。本论文以虚拟家居体验体验系统为应用背景,分析在虚拟现实环境下对于虚拟现实体验系统的功能和性能需求,提出了使用Kinect作为视频采集设备通过深度信息提取用户体感操作动作实现体感控制的虚拟现实人机交互方案,使用Unity3D游戏引擎构建虚拟现实场景并通过定义着色器改善场景渲染效果,同时配合Oculus Rift DK2完成沉浸式立体化场景呈现。在人机交互模块,本论文利用智能视频的方法使用微软的Kinect配合开放自然交互框架Kinect for Microsoft SDK获取深度信息通过提取控制者虚拟人体关节节点的位置来获取用户的身体动作。为了提高体感操作的动作识别准确度,本论文对比了三种不同的动作识别算法,最终选中基于关节点角度测量的动作识别算法。并针对在关节点角度测量中由于关节点空间位置不稳定造成测量误差增大的缺陷进行了改进,以降低角度测量误差从而提高动作识别准确度。为了提高人体关节节点检测准确度,本论文在动作识别开始之前引入初始化过程,读取操作者的关节点间距作为标准值,并结合人体关节活动特性对动作识别过程中关节点测量结果进行可靠性检测,设置节点可靠度。同时在关节点检测过程中引入卡尔曼滤波算法来降低噪声和干扰的影响,并根据当前帧该关节点的可靠度动态设置卡尔曼滤波中预测值和观测值的权重。在场景渲染方面,为了改善虚拟场景渲染的效果增加体验真实感,本论文通过自定义着色器控制渲染过程,模拟现实世界中在镜面反射和物体表面凹凸漫反射的光学过程实现了针对镜面和凹凸表面的着色器,大大提高镜面反射和凹凸漫反射的显示效果。同时在Unity 3D中通过设置双目摄像机调用OVR插件实现对于Oculus Rift DK2虚拟现实显示设备的适配。最后,对本论文实现的虚拟现实体验系统进行测试,并根据测试结果进行了优化。