基于虚拟现实的沉浸式远程呈现系统:技术与应用
1. 相关工作
1.1 远程呈现系统
构建远程呈现系统,以实现空间上分离的人们进行虚拟聚集,一直是计算机科学研究的热门话题。基于视频的远程呈现系统,虽然沉浸感严重不足,但因其简单性而被广泛使用。为了改善体验,许多新型系统应运而生。例如,有的系统利用Kinect显示头像,模拟带有目光注视的面对面远程会议。为克服基于视频系统的局限性,基于渲染的沉浸式远程会议系统越来越多。有的系统利用RGB - D相机动态重建用户模型,并渲染到远程用户的屏幕上;还有的系统使用点云的稀疏3D表示并支持虚拟座位,以更好地模拟面对面交流;也有结合Kinect 3D建模和运动视差的改进视频会议系统。近年来,基于混合现实的远程呈现系统开辟了远程会议的新途径。然而,大多数这些远程呈现系统要求用户从2D平面屏幕观看3D图像,用户需想象自己处于3D场景中,因此无法获得令人满意的沉浸式远程呈现体验。
1.2 远程协作系统
除了实现远程对话,研究人员还致力于实现空间上分离的人们的远程协作。有的立体视觉系统实现了用户的实时3D重建,让用户沉浸在虚拟空间中与虚拟对象进行交互,创造了新颖的远程沉浸式协作体验,但实时3D重建无法提供高质量的渲染结果。有的ImmerseBoard系统利用先进的实时渲染和可视化技术,为不同位置的用户创造了在黑板上并排书写的沉浸式体验,但其仅支持非常有限的远程协作方式,且一次只能支持两个用户。基于混合现实的远程呈现系统提供了一种新颖的协作空间探索方式,但人机交互方式有限,用户仍从2D平面屏幕观看,无法提供像VR远程呈现系统那样的沉浸式体验。
1.3 3D头像
3D头像的生成和操作对于提供沉浸式远程呈现体验至关重要。许多研究人员提出了各种3D头像生成算法。一些系统使用深度相机,通过拼接用户周围多个Kinect的3D点云来动态生成用户的3D模型,但这种方法消耗大量计算资源,且由于深度相机分辨率低,点云重建的3D模型存在许多明显的瑕疵。基于图像的重建(IBR)可以从用户周围拍摄的图像中生成高质量的3D头像,一些离线算法能够创建逼真的3D面部模型,但只能生成3D面部模型,无法生成完整的骨骼绑定头像,且重建逼真的面部头像仍然是一项非常艰巨的工作。因此,在VR远程呈现系统中,使用预制的卡通头像,让用户根据自己的喜好选择。
在拥有3D头像后,面部表情跟踪和动作捕捉成为重要的研究领域。许多计算机视觉算法被用于实时面部动画跟踪,有的利用3D形状回归算法定位面部特征点,但需要用户执行特定的预定义面部姿势和表情。除了计算机视觉方法,基于语音的富有表现力的唇同步也是驱动头像面部动画的另一种选择,有先进的唇同步算法能够根据预定义的语音转录和声音生成富有表现力的下半脸动画。在动作捕捉方面,基于Kinect的动作捕捉技术近年来很流行,有利用两个Kinect传感器的全身动作捕捉算法,但无法提供手指的详细动作。此外,还有一些动作捕捉数据手套能够准确跟踪用户的手臂和手指动作。
2. 系统与实现
2.1 系统概述
客户端 - 服务器程序模块的结构如下:客户端主要处理本地收集以及从服务器端传输的媒体和传感器数据,为头像生成准确的身体动画和面部混合形状参数,然后将这些参数与其他场景对象一起发送到渲染管道;服务器主要负责接收和同步来自客户端的媒体和传感器数据,为头像安排虚拟座位,并同步所有客户端的动作和命令,以确定要发送给客户端的场景对象的状态。
客户端的本地数据处理单元由头部运动跟踪、面部动画同步和手部动作捕捉三部分组成,分别管理VR头戴设备(HMD)的陀螺仪传感器数据、媒体设备的媒体输入以及手持控制器或动作捕捉手套的数据。这些输出可用于持续驱动骨骼绑定的卡通头像模仿用户的动作,使用户能够在虚拟空间中通过头像进行带有眼神交流、面部表情和身体手势的远程对话。
虚拟环境交互处理单元是远程呈现系统远程协作的基础。它持续检测头像与虚拟场景对象之间的碰撞,并根据不同情况修改场景状态以做出适当响应。此外,用户可以通过手持控制器的命令键或按下场景中的虚拟按钮生成特定命令。由于不同客户端的动作和命令可能存在冲突,且在没有必要同步的情况下,不同客户端可能会处于不同状态,因此客户端会先将其动作和命令发送到服务器,然后接收服务器同步后的数据。
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(客户端):::process --> B(本地数据处理单元):::process
B --> B1(头部运动跟踪):::process
B --> B2(面部动画同步):::process
B --> B3(手部动作捕捉):::process
A --> C(虚拟环境交互处理单元):::process
C --> C1(碰撞检测):::process
C --> C2(命令生成):::process
A --> D(服务器):::process
D --> D1(数据接收与同步):::process
D --> D2(虚拟座位安排):::process
D --> D3(动作与命令同步):::process
D --> A
2.2 面部动画同步
- 面部特征跟踪 :计算机视觉方法是执行面部特征跟踪以生成头像面部动画的最常见方法。首先使用OpenCV开源库中的人脸检测器在网络摄像头拍摄的输入图像上标记出人脸的位置,然后以OpenCV的输出作为面部特征点的初始粗略估计,使用监督下降法(SDM)优化面部特征点的位置。然而,由于如今大多数VR HMD仍然相当大,超过一半的脸部不可避免地会被VR头戴设备遮挡,而且当用户稍微低头时,脸部可能完全处于阴影中,使得使用计算机视觉方法跟踪下半脸的特征点变得困难。因此,在最终系统中没有使用这种方法,而是将重点转向使用语音同步头像嘴唇动作的算法。
- 语音到嘴唇同步 :基于声音的唇同步算法旨在直接从音频输入流中生成自然合理的嘴唇动作,无需进行面部捕捉。这些算法效率高,能够实现与语音精确同步的唇同步。研究人员不断改进,提出了更有效的实时唇同步算法。在比较了几种最先进的唇同步方法后,选择了基于离散余弦变换(DCT)的唇同步动画生成算法,因为它速度快且性能令人满意。
音素和视素是唇同步算法的两个基本概念。音素是语言中构成单词的最基本声音单位,不同的音素对应特定的嘴唇动作模式,学术上称为视素。基于DCT的唇同步算法利用离散余弦变换自动从音频输入流中提取音素,因为不同音素在频域中对应可区分的频谱峰值。从输入音频中提取 [a]、[e]、[i]、[o]、[u]、[s] 等基本音素(这些音素主要是元音,因为大多数辅音对应的嘴唇动作在视觉上不明显),然后将这些音素映射到头像预定义的代表视觉嘴唇模式的面部混合形状上。由于一个单词通常包含一系列对应不同嘴唇模式的音素,因此使用插值技术在不同嘴唇模式之间平滑过渡,以生成自然流畅的嘴唇动画。
2.3 动作跟踪
- 头部动作跟踪 :VR HMD内部的敏感陀螺仪大大简化了头部动作捕捉任务,相比基于视觉的头部姿势跟踪方法(如前面提到的SDM算法),使用陀螺仪可以避免高计算成本。陀螺仪会不断输出四元数,指示VR HMD的旋转轨迹。由于期望用户在使用远程呈现系统时以相对固定的方向坐着或站着,因此将连续帧之间陀螺仪输出的四元数差异视为用户的头部旋转方向,并应用于操纵头像的头部旋转。
- 使用手持控制器的手部动作跟踪 :虽然有许多先进的动作捕捉技术能够准确跟踪用户的动作,但这些技术通常非常复杂且昂贵,与构建轻量级、用户友好的VR远程呈现系统的初衷相悖。此外,期望用户久坐使用该系统,因此手部动作捕捉就可以提供沉浸式VR体验。目前,最常见的商业VR HMD,如HTC VR、Oculus VR和PS VR,都配备了专门的手持控制器,具备先进的室内定位技术。例如,HTC VR设备的“Lighthouse”室内跟踪系统能够即时提供头戴设备和两个手持控制器的精确位置和方向。利用这些功能,使用最先进的前向和后向可达逆运动学(FABRIK)算法,根据两个手持控制器的输入位置作为头像手部的目标,高效地生成头像合理的手部动作。FABRIK算法通过迭代更新刚体骨骼的位置和旋转,在每次迭代中,先将端点移动到目标位置,然后将其另一个骨骼点放置在目标和其父骨骼端点形成的直线上,持续应用该算法直到到达根关节,然后再从根关节反向应用类似的过程。此外,还对放置策略施加了进一步的约束,以确保结果符合生物力学原理。FABRIK算法可以在很少的迭代中快速收敛到合理的关节位置,使端点尽可能接近目标。
- 使用动作捕捉手套的手部动作跟踪 :虽然使用上述算法可以为VR头像生成动画,但生成的动画仅处于粗略级别,缺乏手指动作的细节。动作捕捉手套在捕捉用户动作方面具有优势,能够捕捉包括手指动作在内的精细动作。在比较了几种动作捕捉手套后,选择了轻量级的Noitom动作捕捉手套,它包含多个称为感知神经元的敏感惯性和磁测量单元。实验表明,Noitom手套能够达到预期的性能,生成准确的动画来驱动VR头像。需要注意的是,Noitom动作捕捉手套是可选的,使用它是为了通过手势操作获得更好的VR沉浸式远程呈现体验,而使用手持控制器驱动头像对用户来说更加方便。
2.4 虚拟交互与协作
在VR头像上应用面部动画同步和动作跟踪后,用户可以在中间服务器的协助下,在虚拟环境中与远程用户进行沉浸式对话。为了充分发挥VR的潜力,支持自然的远程交互和协作。由于在VR中最直接和本能的交互方式是直接用手触摸,因此主要依靠实时碰撞检测,让用户通过直接触摸VR中的虚拟对象进行虚拟交互和协作。当简单的触摸不足以完成某些复杂操作时,使用手持控制器上的控制按钮让用户发起一些命令。为确保不同客户端上的场景状态保持一致,客户端会响应服务器传输的动作和命令,服务器负责合并和同步所有客户端的操作。
3. 实验与应用
3.1 硬件
- VR HMD使用HTC Vive VR系统,包括一个VR头戴设备、两个手持控制器和两个红外定位设备。
- 动作捕捉手套使用Noitom感知神经元手套,带有32个神经元。
- 运行程序的计算机配备Intel® Xeon® CPU E5 - 2620(2.00 GHz,双核)和NVIDIA Quadro M4000 GPU,运行Windows 8.1操作系统。
3.2 系统性能
- 嘴唇同步的准确性 :通过对包括 [a]、[e]、[i]、[o]、[u] 和 [s] 在内的6个典型音素进行嘴唇同步实验,结果显示系统能够执行实时嘴唇同步,产生与输入声音流匹配的合理且逼真的嘴部动作。由于是通过从声音输入中提取音素来进行嘴唇同步,该过程与语言无关,因此系统可以在不同输入语言下获得令人满意的同步结果,已在英语和中文上进行了测试。
- 头部和上半身动作跟踪的准确性 :头部动作跟踪准确,因为VR HMD能够即时提供指示头部方向的精确四元数。重点测试了分别使用HTC手持控制器和Noitom感知神经元动作捕捉手套进行上半身动作跟踪的准确性。Noitom手套能够实时准确跟踪手臂和手部的动作,还能提供相当准确的手指跟踪,使用户能够通过身体语言进行高效沟通。但在实验中发现,感知神经元手套使用一段时间后可能会出现混乱,需要进行校准。使用手持控制器结合逆运动学算法,在进行小范围手部动作时可以提供相对准确的手部动画,但在进行大幅度动作时无法保证准确性,且无法提供手指跟踪。不过,在大多数情况下,该方法可以生成合理的手部和手臂动画,并且对用户来说,使用手持控制器比佩戴动作跟踪手套更加方便。
- 网络延迟 :需要通过网络传输的数据包括用户的音频流、动作参数和用于同步场景的数据。用户的嘴部混合形状参数直接从音频流中计算得出,以确保嘴部动作与声音输入同步。测试了VR远程呈现系统的网络延迟,在局域网下平均延迟约为100 ms - 150 ms,该延迟较低,能够为用户提供良好的远程呈现体验。
| 测试项目 | 测试结果 |
|---|---|
| 嘴唇同步准确性 | 能实时同步,与输入声音匹配,语言无关 |
| 头部和上半身动作跟踪(Noitom手套) | 实时准确跟踪,手指跟踪较好,但可能需校准 |
| 头部和上半身动作跟踪(手持控制器) | 小范围动作较准确,无法跟踪手指,使用方便 |
| 网络延迟 | 局域网平均100 ms - 150 ms |
3.3 应用演示:远程对话与协作
实现了一个应用程序来展示VR远程呈现系统的多功能性。尽管系统实际上可以支持灵活数量的用户,但由于VR设备不足,暂时只开发了一个双用户应用程序,但仍然可以展示VR远程呈现系统的大部分功能。在VR远程呈现系统中,用户被转换为彼此相邻站立的卡通头像。为应用程序开发了两个场景:
-
场景一
:用户被虚拟送到草原,在那里可以进行面对面的对话、播放PPT幻灯片或一起观看视频。
-
场景二
:用户被转移到一个配备书桌、黑板、讲台的教室,他们并排站在一块可书写的黑板前。
基于虚拟现实的沉浸式远程呈现系统:技术与应用
4. 技术分析与总结
4.1 技术优势
- 沉浸感提升 :通过采用预制卡通头像、语音唇同步、多方式动作跟踪等技术,让用户在虚拟空间中能以更自然的方式与远程用户交流,极大地增强了沉浸感。例如,嘴唇同步算法能使头像的嘴部动作与语音高度匹配,让交流更加真实;动作跟踪技术能捕捉用户的头部、手部动作,使头像的动作更加生动。
- 用户友好性 :系统采用轻量级设计,使用常见的商业VR设备(如HTC VR)和可选的轻量级动作捕捉手套(如Noitom手套),降低了用户的使用门槛和成本。同时,手持控制器的使用方式简单便捷,方便用户操作。
- 跨语言兼容性 :基于音素提取的嘴唇同步算法不受语言限制,能够在不同语言环境下实现良好的同步效果,扩大了系统的应用范围。
4.2 技术挑战与改进方向
- 面部特征跟踪难题 :计算机视觉方法在VR环境下面临面部遮挡和阴影问题,导致难以准确跟踪面部特征。未来可以探索结合更多传感器(如红外传感器)或改进算法,以提高面部特征跟踪的准确性。
- 动作捕捉细节不足 :目前的动作捕捉技术,无论是基于手持控制器还是动作捕捉手套,都存在一定的局限性。手持控制器无法提供手指动作细节,动作捕捉手套使用一段时间后可能出现混乱。可以研究更先进的传感器技术和算法,提高动作捕捉的精度和稳定性。
- 网络延迟问题 :虽然当前系统的网络延迟在可接受范围内,但在更复杂的网络环境或大规模用户场景下,网络延迟可能会影响用户体验。可以采用优化网络传输协议、增加缓存机制等方法,进一步降低网络延迟。
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(技术优势):::process --> A1(沉浸感提升):::process
A --> A2(用户友好性):::process
A --> A3(跨语言兼容性):::process
B(技术挑战):::process --> B1(面部特征跟踪难题):::process
B --> B2(动作捕捉细节不足):::process
B --> B3(网络延迟问题):::process
C(改进方向):::process --> C1(结合更多传感器或改进算法):::process
C --> C2(研究先进传感器技术和算法):::process
C --> C3(优化网络传输协议和增加缓存机制):::process
B1 --> C1
B2 --> C2
B3 --> C3
5. 未来展望
随着虚拟现实技术的不断发展,基于虚拟现实的沉浸式远程呈现系统具有广阔的应用前景。
-
教育领域
:可以实现远程教学,让学生和教师在虚拟教室中进行面对面的交流和互动,提高教学效果。例如,教师可以通过虚拟形象进行授课,学生可以通过动作和表情表达自己的想法。
-
医疗领域
:支持远程医疗诊断和手术指导。医生可以通过VR设备远程观察患者的情况,并进行实时指导,提高医疗资源的利用效率。
-
企业协作
:为企业提供远程会议和协作的解决方案,让员工可以在虚拟空间中进行高效的沟通和协作,节省时间和成本。
综上所述,基于虚拟现实的沉浸式远程呈现系统是一项具有创新性和实用性的技术,虽然目前还存在一些挑战,但通过不断的技术改进和创新,有望在更多领域得到广泛应用,为人们的生活和工作带来更多便利和可能性。
6. 操作指南(总结)
如果想要体验基于虚拟现实的沉浸式远程呈现系统,可以按照以下步骤进行操作:
1.
硬件准备
- 准备HTC Vive VR系统,包括VR HMD、两个手持控制器和两个红外定位设备。
- 可选准备Noitom感知神经元动作捕捉手套。
- 准备运行程序的计算机,配备Intel® Xeon® CPU E5 - 2620(2.00 GHz,双核)和NVIDIA Quadro M4000 GPU,运行Windows 8.1操作系统。
2.
系统设置
- 安装VR设备和相关软件,确保设备正常连接和运行。
- 根据个人喜好选择预制的卡通头像。
3.
使用过程
- 佩戴VR HMD,手持控制器(或佩戴动作捕捉手套)。
- 开启系统,进入虚拟场景。
- 通过语音交流,系统会自动进行嘴唇同步;通过头部、手部动作与远程用户进行互动。
- 在虚拟环境中,可以根据场景需求进行相应操作,如在草原场景中观看视频,在教室场景中书写等。
4.
注意事项
- 如果使用动作捕捉手套,使用一段时间后可能需要进行校准。
- 确保网络稳定,以减少网络延迟对体验的影响。
| 步骤 | 操作内容 |
|---|---|
| 硬件准备 | 准备HTC Vive VR系统、可选Noitom手套、特定配置计算机 |
| 系统设置 | 安装设备和软件,选择卡通头像 |
| 使用过程 | 佩戴设备,开启系统,语音和动作互动,进行场景操作 |
| 注意事项 | 手套可能需校准,确保网络稳定 |
总之,基于虚拟现实的沉浸式远程呈现系统为人们提供了一种全新的远程交流和协作方式,通过不断优化和完善,将在未来发挥更大的作用。
超级会员免费看

被折叠的 条评论
为什么被折叠?



