嵌入式
返回首页

VR环境下图书阅读手势交互系统设计

2024-07-10 来源:elecfans

0 引言

为了解决读者在图书馆阅读书籍过程中受限于时间和空间的问题,可通过虚拟现实(Virtual Reality, VR)技术试图让喜欢阅读的学生在任何时间任何地点都能沉浸于阅读之中,VR阅读可提供与真实世界一样的视觉、听觉和触觉等感知功能,能够给读者营造身临其境的感觉 [1],激发学生的学习兴趣。然而,市场上大部分 VR 阅读应用场景界面仍使用传统的 GUI 交互,需要通过传统的鼠标、键盘或手柄等交互设备进行操作,且仅适用于二维交互,无法满足 VR 环境中人机交互的新要求, 缺少多维度、多模态、高效性特点,影响了 VR 阅读的体验感。


当前,使用者在 VR 交互中更加热衷于使用自然手势与虚拟对象进行交互,手势交互具有自然性、多维性和高效性等特点 [2]。手势识别技术也是作为人机交互的重要组成部分,它以更自然、更符合人类习惯的交互形式 [3],能够满足 VR 交互体验的需求,但手势交互在虚拟场景中存在输入序列缺失、识别误差高、交互效率低等问题 [4]。本文对虚拟现实阅读手势交互系统进行设计,基于深度神经网络算法设计手势识别算法。


1 相关工作研究

VR 阅读的研究主要集中在图书馆相关情境的应用研究、用户体验分析、发展分析等问题。刘念 [5] 提出构建基于 VR 技术的特色馆藏建设方案。李瑞 [6] 阐述了 VR 技术在当前实体书店中发展的意义 , 首先分析了 VR 场景在实体书店中应用的情况分析 , 然后对 VR 场景在 实体店的应用可行性分析,并提出了应用对策。吕明明 [7] 等人指出 VR 技术利用其沉浸感、构想性、交互性的三大优势 , 同时提出 "VR+ 图书 " 的未来出版策略 , 给 "VR+ 图书 " 模式的构建和发展提供了新的思路与新的方法。


国内外研究学者对手势交互进行了深入的研究,龙江腾等 [8] 人设计了一种 VR 游戏手势动作识别装置,首先对手势分类识别,然后优化手势数据特征的提取方法 , 最后在 VR 游戏中优化了人机交互过程。黄东晋等 [9] 人提出一种新的面向电影场景搭建的手势交互方法,首先根据电影的虚拟预演特性和手势理论 , 设计了一组手势集合,然后搭建了徒手的手势用户界面。王文锋 [10] 提出了基于手势交互的汽车虚拟拆装实验系统,并且构建了车辆拆装的虚拟仿真实验平台。马少斌 [11] 通过搭建 手势交互课件应用系统,为基于 AR 交互课件的播控奠定了技术基础。


2 系统总体方案设计

2.1 开发流程

VR 环境下图书阅读手势交互系统的开发流程主要包括需求调研与需求分析、基于 3DMax 软件制作对象模型、基于 Unity 搭建场景与交互逻辑实现、深度神经网络手势识别算法开发和测试与评价 5 个部分。

2.1.1 需求调研与需求分析

首先通过对学校图书馆进行实地测量和资料调研,对图书馆的内部结构,图书馆中物体的比例尺寸数据和室内内饰轮廓进行拍照、测量与记录,通过问卷调查收集读者的阅读习惯和行为操作,然后对真实图书馆的建模数据和阅读的功能数据进行需求分析,形成相关的文档记录。

2.1.2 基于3DMax软件制作对象模型

基于 3DMax 软件制作对象模型主要完成图书馆及相关对象的 3D 模型制作,并对模型的细节进行优化处理,这一任务依赖于需求调研与需求分析形成的文档信息,根据比例尺寸制作图书馆的模型,并对构建好的模型完成展 UV 操作、材质贴图和导出处理等任务,导出为 fbx 格式文件。

2.1.3 基于Unity搭建场景与交互逻辑实现

基于 Unity 搭建场景主要需要完成 3D 模型的导入,模型材质的处理和 3D 场景搭建。首先需要将制作好的模型相关资源导入到 Unity 引擎中,材质球使得模型接近真实的外形和材质感,3D 场景搭建主要是在场景中按需求调研数据搭建图书馆。交互逻辑的实现主要包含 UI 菜单导航以及阅读过程中人机交互相关逻辑实现等。

2.1.4 深度神经网络手势识别算法开发

深度神经网络手势识别算法开发主要包括手势数据的处理、手势识别模型的训练、测试与应用。

2.1.5 VR图书阅读手势交互系统的测试与评价

测试与评价部分是通过选择以手势和鼠标点击两种人机交互方式分别进行实验,测试的内容包括 UI 菜单选择、手势和鼠标点击交互、阅读反馈等功能。

2.2 功能设计

VR 图书阅读系统的功能设计主要包含场景、UI 菜单、鼠标点击交互和手势交互阅读四个方面。

2.2.1 场景

逼真的阅读场景设计是系统不可或缺的关键因素,影响了读者对于 VR 世界的直观感受。本系统采用 3Dmax 模型实时渲染图书馆场景,给读者营造了一种身临其境的阅读氛围。

2.2.2 UI菜单

UI 菜单的作用主要给读者进行一些相关的选择操作的提示。本系统提供了开始场景 UI 菜单和阅读过程中需要的 UI 菜单两种。

2.2.3 鼠标点击按钮交互

在鼠标游戏对象上扩展脚本,在初始化 Start 方法中通过 GetComponent 方法获取到 Button 组件,然后给按钮注册监听事件 btn.onClick.AddListener (OnClick),再在 OnClick 回调方法中编写逻辑代码。

2.2.4 手势交互

手势交互的作用主要涉及两个方面:一方面提供手势交互功能,如手势翻阅图书;另一方面提供手势辅助操作功能,如手势打开 / 关闭 UI 菜单等。

2.3 模型设计

基于 3DMax 软件构建 VR 图书阅读系统的相关模型资源,包括图书馆模型、图书馆书架模型和图书模型,并完成相关的细节化处理。

2.3.1 在建模过程中,可以将一个复杂的对象模型拆分为很多个简单的小模型,首先可以创建简单的小模型,然后在由很多的小模型合并生成一个复杂的整体模型,从而实现由简单到复杂。

2.3.2 在使用 3Dmax 建模过程中,需要注意的就是要控制模型的面数。如果模型面数过多,这样会影响到渲染速度,严重的时候,VR 设备会出现卡机的现象。因此,在确保物体保真的前提下,尽可能的让面数越少,我们可以通过减少模型的曲面细分,或者减少倒角的使用等来解决。

2.4 场景设计

在从 3DMax 软件中完成模型制作后,导出模型时,选择为 FBX 格式,再通过复制粘贴到工程项目下的文件中,完成模型的导入。在场景中导入模型,调整书架和书的布局位置,再给模型设置好材质贴图。

3 手势识别算法设计

基于深度神经网络的手势识别算法开发,首先对 Leap Motion 手部体感数据的进行提取与处理,然后对深度神经网络的函数与算法选择,最后对手势识别模型进行训练与应用。

3.1 手势数据处理

本文采用 Leap Motion 设备进行手势数据采集,通过 USB 接口可以建立 Leap Motion 与 PC 之间的连接,采集数据的追踪频率可达到每秒 120 帧,通过手势数据采集程序就可以获取手模型数据,模型数据通常包含标签数据、掌心位置数据、手掌姿态数据、手臂相关数据、大拇指相关数据、食指相关数据、中指相关数据、无名指相关数据、小拇指相关数据等 [12]。在编写手势数据读取程序时需要对数据位数进行解析,再将获取到的手势特征数据,存入文本文件。

3.2 深度神经网络的函数与算法选择

激活函数对神经网络的深层和非线性能力提供了帮助,通常来说,离开激活函数,加深网络算法就失去了意义,目前,常用的激活函数有 tanh 函数、sigmoid 函数和 relu 函数 [13]。激活函数 relu 也称为带泄露线性整流函数,主要运行在神经元上的函数。其表达式为:

1669119573277585.png

其中: δ 为 relu 的参数;t 为神经元输入;f (t) 为神经元输出。

损失函数的作用主要用于评估模型的性能,损失函数越小表明模型的性能越好。常用的损失函数有平方损失函数、绝对值损失函数和 Focal loss 损失函数等。Focal loss 损失函数表达式为:

1669119650183799.png

优化算法主要用于优化权重和偏移量,降低损失。常用的优化算法有梯度下降、随机梯度下降和 Adam 等,Adam 算法在模型训练优化的过程中,可以使每个参数获得自适应的学习率,从而优化质量和速度。

3.3 手势识别模型训练与应用

首先,导入手势数据集,通过提取自然手势的 8 组手势:①右手单手向前;②右手单手向后;③右手单手向左;④右手单手向右;⑤左手单手向前,映射为拿书;⑥左手单手向后,映射为;⑦左手单手向左;⑧左手单手向右。其中:①、④、⑤和⑧,映射为阅读交互中的翻下一页的功能;⑥、⑦、②和③,映射为阅读交互中的翻上一页的功能。然后,将 8 种手势数据集平均划分为训练集、验证集和测试集,最后,通过调用训练好的手势识别模型数据,实时计算采集到的手势数据。

4 实验分析

4.1 实验数据集

为评估本文提出的深度神经网络手势识别算法,本次实验选取 30 名同学进行测试。

4.2 实验结果

采集了 30 名同学的手势数据,8 种手势数据集,总共采集 800 组,100 组右手单手向前;100 组右手单手向后;100 组右手单手向左;100 组右手单手向右;100 组左手单手向前;100 组左手单手向后;100 组左手单手向左;100 组左手单手向右,测试实验结果如表 1。

表1 实验结果表

1669119781673335.png

由表 1 可见,对手势交互的动作进行样本测试,总样本数为 800 次,误检数 66 次,准确率达到 91.75%,平均耗时 0.28 s。

5 结束语

本文对虚拟现实阅读手势交互系统总体方案进行了设计,从开发流程、功能设计、模型设计和场景设计进行了描述。选择深度神经网络算法设计手势识别算法,可以降低识别误差率,提高交互效率,有利于改变传统阅读方式,有利于在教育中营造良好的学习氛围。

参考文献:

[1] YONGCAI H, WEI S, XIGANG L, et al. Tourism demonstration system for large-scale museums based on 3D virtual simulation technology[J]. The Electronic Library, 2020,38(2): 367-381.

[2] 胡中旭.虚拟场景人机交互中手势识别技术研究[D].武汉:华中科技大学,2018.

[3] XIA SH, GAO L, LAI YK, et al. A survey on human performance capture and animation[J]. Journal of Computer Science and Technology, 2017,32(3):536-554.

[4] 张维,林泽一,程坚,等.动态手势理解与交互综述[J].软件学报,2021,32(10):3051-3067.

[5] 刘念.VR技术在高校图书馆特色馆藏建设中的应用及发展研究[J].大学图书情报学刊,2020,38(04):125-129.

[6] 李瑞.VR场景在实体书店的前景研究[J].企业科技与发展,2019(04):79-80.

[7] 吕明明.沉浸、互动与构想:“VR+图书”出版的契机与策略[J].长江师范学院学报,2021,37(01):40-46.

[8] 龙江腾,高永平.一种VR游戏手势运动识别装置[J].现代电子技术,2021,44(12):173-176.

[9] 黄东晋,陈燕敏,李金遥,等.一种新的面向电影场景搭建的自然手势交互方法[J].计算机应用与软件,2021,38(06):46-51.

[10] 王文锋,杨韬.基于Unity 3D与自然手势交互的车辆虚拟拆装实验系统[J].高技术通讯,2021,31(06):646-652.

[11] 马少斌,张成文,梁虎金.基于Kinect的手势交互课件应用系统的设计[J].兰州文理学院学报(自然科学版),2021,35(03):77-81.

[12] 章彬.基于Leap Motion手势识别的VR电工实验系统设计[D].大连:大连理工大学,2021.

[13] 赖策.卷积神经网络中的激活函数分析[J].科学技术创新,2019.


进入嵌入式查看更多内容>>
相关视频
  • 5G边缘计算

  • Verilog RTL编程实践

  • FPGA时序约束

  • 领航者ZYNQ开发板视频

  • Verilog HDL数字集成电路设计原理与应用

  • 正点原子领航者ZYNQ视频第一期FPGA设计篇

精选电路图
  • 低成本有源FM放大器电路

  • 如何从标准USB插座构建双+5V/-5V电源

  • 液位报警指示器电路

  • 一个简单的太阳能电池充电器电路

  • 继电器的电气符号、功能、类型、技术参数

  • 一文详解全波整流的过程

    相关电子头条文章