APP下载

一种基于Leap Motion的交互全息投影方法*

2018-10-22吕宝媛蔡煜城林伟达曹家榕杨敬达蔡泽民

网络安全与数据管理 2018年10期
关键词:握拳全息投影

吕宝媛,蔡煜城,林伟达,曹家榕,杨敬达,蔡泽民

(汕头大学 工学院,广东汕头 515063)

0 引言

全息投影技术又名虚拟成像技术,通过干涉、衍射等光学原理,将真实物体的三维图像进行重现。

根据技术方法与实现途径的不同,可以将全息投影分为以下两类:

(1)投射全息投影:将激光投射到全息投影材质的胶片上,从全息胶片背面观察重建之后的图像。

(2)反射全息投影:将白的光源从观察者的方向投射到全息投影胶片上,利用反射的原理重建彩色的图像[1]。

全息投影技术是当今一种前沿的显像技术。凭借其技术产生了各类全息投影产品,应用于广告业、博物馆、科技馆、珠宝企业、车企等领域。但现今的全息投影技术仅限于全息影像的展示,播放全息视频,并没有交互功能,用户体验不佳,且能进行交互的设备也仅局限于平面播放,并无立体效果。

针对上述问题,本文提出了一种基于Leap Motion与全息投影技术的交互全息投影方法。本方法在传统只显示固定内容的全息3D投影方法的基础上,扩大了成像的体积,增加Leap Motion体感传感器以实现交互功能,实现了可控制的3D全息影像展示。

本方法不仅可以用于简单的视频播放以展示产品、展示3D物体,更可以通过手势来控制物体的移动及旋转、控制虚拟人物的移动以进行游览式观赏,解决了传统投影设备无交互效果、用户体验差的问题。此外,还加入投影仪以扩大成像体积,采用全息投影技术,实现全息影像的生成,增加成像的灵活度,解决了显示设备受限、生成图像单一的问题。

1 方法实现流程

本文提出的基于Leap Motion的交互全息投影方法由人机交互模块和显像模块两部分实现,如图1所示。

图1 交互全息投影模块结构

人机交互模块通过对人体手部动作的识别,以获取人体的控制信息,将人体控制信息传输到处理器上,由处理器将收到的控制姿态信息进行分析运算,生成计算机指令对图像进行控制,最终在显像系统中显示并控制三维立体模型。

显像模块通过Unity3D及相关算法对所需显示的模型进行处理,利用金字塔结构将光线反射,使显像模块生成三维立体的图像,同时,Unity3D与Leap Motion进行通信,根据Leap Motion经计算机处理过的指令对显像模块中的三维立体图像进行变换。

1.1 硬件环境

本方法所使用的终端设备为个人电脑。此电脑至少应具备支持USB3.0协议的接口、HDMI接口,以用于完成基于Unity3D引擎的图像处理以及接收用户与设备互动的信息。本方法所用的显示模块由显示器以及亚克力材质的金字塔组成。人机互动设备采用的是体感传感器Leap Motion。

1.2 软件环境

在处理终端上,采用Unity3D引擎进行处理。Unity3D是Unity Technologies公司开发的一款能轻松设计3D游戏、可视化模型、实时3D动画等内容的游戏开发工具,其支持多个平台与设备,是一个功能强大、整合全面的专业级游戏引擎。因而Unity3D也常常被作为交互图形化开发的首选环境。

2 显像模块设计

显像模块为一个全息投影设备。由该设备接收来自计算机的控制指令,生成全息影像,并根据指令控制影像变换。

2.1 全息投影原理

本系统采用的全息投影技术是利用佩伯尔幻像原理,能够把影像悬浮于空中的立体成像技术,利用全息材料制成的反射面,将虚拟影像悬浮于空中,360°均能观看[2]。

2.2 全息投影在本方法中的实现

全息投影是一种无需头戴设备的3D技术。观众可以看到的立体的虚拟场景是一种因光的折射、反射而形成的虚像。它能实时地将真实的三维图像记录和再现。本方法中利用全息投影技术,生成立体影像并进行交互。图2为成像系统结构图。

图2 成像模块结构图

2.3 显像模块算法设计

2.3.1多摄像头设计

在Unity3D中需要多个面观察引擎中的对象,所以需要多个摄像头组件同时工作,在此方法中采用了一个由四个摄像头组成的摄像头组进行多镜头的采集[3]。

在工具栏中选择摄像头组件,依次导入四个摄像头至当前的场景。改变四个摄像头的位置参数,使其分别在x轴正半轴、x轴负半轴、z轴正半轴、z轴负半轴上,且与原点(0,0,0)等距,目的是使四个画面中的物体尺寸一致。改变旋转角参数,使其分别在正向朝向原点,目的是使四个画面中的物体朝向一致。某一摄像头的组件参数如图3所示。

图3 某一摄像头的组件参数图

通过改变摄像头的位置参数和旋转角参数,得到了以物体为中心的前后左右四个不同方向的画面,如图4所示。

图4 四个摄像头的位置及朝向图

2.3.2图像输出组件

创建四个图像组件,改变其位置参数,使其相互紧贴组成一个2×2的大正方形阵列,并加上一个等腰直角三角形的透明遮罩层,使大正方形的边线中点间组成一个小正方形,该小正方形即为图像显示的UI界面。

通过摄像机Target Texture目标纹理技术,将之前四个摄像机拍摄得到的图像转换成纹理贴图,做成材质依次应用到四个图像组件上。

根据由亚克力板构成的金字塔尖端的朝向,需要调整各个图像组件的旋转角参数,使从金字塔外的四个面看图像都为正向,如图5所示。

图5 四个image组件位置及其旋转图

2.3.3将物体导入至场景

Unity3D支持FBX、STL等3D物品格式,可以方便地将物品的3D模型导入至场景中,并将物品移至坐标原点处,目的是方便用户观察。

为了进一步让用户更方便地全方位观察物品,可以使物品自动旋转,将物品的每个细节展示给用户。具体实现方法是:添加C#脚本,在脚本中获取当前物体的旋转角度,在相同的时间周期内改变相同的旋转角度,实现物体的自旋转。

3 人机交互模块

人机交互模块由用于人体手势识别的体感传感器Leap Motion以及用于接收传感器传来的人体控制信息的处理器两个部分组成。人体在设备前做出动作,利用Leap Motion接收并识别人体控制信息,初步处理后交由处理器将控制信息转化为计算机指令。

3.1 Leap Motion介绍

Leap Motion是基于计算机视觉技术的三维数据追踪传感器设备[4]。它主要由两个高帧率摄像头、LED灯、红外滤光器以及一片USB3.0芯片组成,传感器的上下左右的视野范围大约为150°,其结构如图6所示。

图6 Leap Motion结构图

Leap Motion的可工作范围大约在设备前方的25~600 ms。Leap Motion采用两个超广角相机的快门传感器,运行速度高达120 fps,是一种更专业的手势采集设备[5]。

Leap Motion系统采用的是右手笛卡尔坐标系。以真实世界中的毫米为单位返回具体的手势数据。原点位于Leap Motion控制器的中心。x轴和z轴在控制器的水平面上,x轴则与设备的长边平行,z轴与短边平行,y轴是垂直的,朝上为轴的正方向。

Leap Motion的基本原理:使用红外LED灯充当主动光源,两个高清摄像头从不同角度采集红外图像,模拟人体双目立体视觉原理进行手势的判断[6]。

Leap Motion与ZED、Kinect等其他深度传感器的不同在于它的精度达0.01 mm,手部微小的运动也可以捕捉。

3.2 人机交互模块算法设计

3.2.1LeapMotion的工作流程

如图7所示,交互模块首先使用红外双目摄像头Leap Motion从两个角度拍摄用户手部图像,双目数据流达到120 fps,通过USB3.0高速传输到电脑处理,通过Leap Motion的SDK处理传回的双目信息,计算出深度信息,对深度信息中的手进行特征分析,最终获取手势数据发布给Leap Motion Service程序,在Unity3D下绑定脚本,通过判断手指的情况以确定人体当前手势,并执行相应的程序和动作。

图7 交互功能实现流程图

3.2.2具体实现方法

(1)判断手掌是否握拳

如图8所示,输入对应的手(左手或右手,在Unity3D中为一对象),对每个手指判断其方向向量与掌心的方向向量之差的距离,若小于阈值则表示手指弯曲,若大于阈值则表示手指伸直,由此遍历每个手指。之后判断弯曲的手指数,若弯曲的手指数为5,则表示所有的手指弯曲,手掌握拳;若弯曲的手指数小于5,则表明手掌未握拳,最终返回判断的结果。

(2)判断双手组合

运用图8中的方法对左右手进行判断,根据左手和右手握拳状态的不同,控制Unity3D中的任务进行相应的动作。若左手握拳,右手握拳,则停止运动;若左手握拳,右手不握拳,则右转;若左手不握拳,右手握拳,则左转;若左手不握拳,右手不握拳,则控制前进,如图9所示。

图9 判断不同的手势组合做出相应动作

4 实验

本实验以城市探索模式为例,进行了现场体验测试。测试环境为Windows 10 64位+Unity3D 2017.3。测试者位于交互全息投影设备前方,做出不同姿势,以验证不同人体姿态识别分析的准确性。当测试者左右手做出不同的动作时,显像模型做出相应的反应,如表1所示,速度快而且识别率高,测试者能够流畅地控制全息投影中的人物进行城市探索。

表1 不同手势系统做出的反应

实验结果表明,利用Leap Motion能精确地识别人体动作姿势信息,通过相应的算法及显像设备,从而实现对全息3D影像中虚拟人物的状态、移动速度、移动方向的控制,充分验证了基于Leap Motion的交互全息投影方法的可行性。

5 结论

本文提出了一种基于Leap Motion与全息投影技术的交互全息投影方法。该方法通过采集人体姿态信息、人体控制信息,通过对采集到的信息进行分析处理来控制全息影像的变换及场景移动等,解决了传统全息投影设备仅限于全息影像的展示、视频的播放,无交互效果,用户体验较差的缺陷,也弥补了其他能够进行交互的设备仅局限于平面成像、并无立体效果的不足。该方法使用户可以以第一视角进行三维立体影像的观光体验,增强用户的代入感,提高用户体验,有良好的应用前景。

猜你喜欢

握拳全息投影
全息? 全息投影? 傻傻分不清楚
走路握拳头脑健
解变分不等式的一种二次投影算法
"全息投影"
小兔上学
基于最大相关熵的簇稀疏仿射投影算法
全息欣赏:小学美术“欣赏·评述”学习新样态
经常握拳 延年益寿
找投影
找投影