基于增强现实的物联网物体识别与虚拟交互
1、概述
物联网(Internet of Things, IOT)是具有身份标识与虚拟的个性化特征,可以利用智能化接口在智能空间进行相关操作,并可以与社会、环境及用户相互连接进行有效沟通的物体构成的网络。物联网强调“any things connection”,其中,“things”包括现实世界中的物体、虚拟空间的物体、各类计算设备及用户。广义上,物联网包含了上述4 类主体之间的互联与交互。在物联网中,射频识别(Radio Frequency Identification, RFID)技术是最常采用的现实世界中物体的识别方法。RFID 由标签和阅读器所组成,其中,RFID 标签存储有规范化的信息,通过无线数据通信网将其自动采集到计算设备的信息处理系统内,实现物体的识别,然后通过计算机网络实现信息的传递和共享,实现对物体的控制、检测和跟踪。RFID 虽然在物体识别方面具备很多优点,但其对有用户参与的物联网主体识别、定位及交互环境缺乏有效的支持。
增强现实(Augmented Reality, AR)是将计算机产生的虚拟物体或信息与真实环境进行合成并对景象加以增强或扩充的技术。对AR 用户来说,真实和虚拟的物体或信息同时存在,并且两者互相增强或互为补充,因此,AR 技术可以加强人们对现实世界的感知与交互能力。利用AR 技术可以同时实现对物联网主体的识别、定位、信息显示与各类交互操作。在AR 环境里能实现各种不同类型的物联网主体交互,其基本方式可分为视觉交互和物理交互2 类。视觉交互包括虚实物体相互间的阴影、遮挡、各类反射、折射和颜色渗透等。物理交互包括虚实物体间运动学上的约束、碰撞检测和受外力影响产生的物理响应等。在物联网中要实现主体之间自然的交互,需要通过传感设备获取数据以确定用户对其他主体发出的行为指令并给出相应的反馈,其中数据手套作为一种用户手部传感设备,可以实时精确地获取人手的动作与姿态,佩戴方便舒适,可以在某些有用户参与的物联网应用环境中实现更为自然的主体交互。
与传统互联网不同,物联网要解决的主要问题是物到物(Thing to Thing, T2T)、人到物(Human to Thing, H2T)、人到人(Human to Human, H2H)之间的互联与交互。其中,H2T 与H2H 都需要有人的参与才能实现。本文将AR 技术引入物联网,通过研究H2T 应用中AR 的物联网识别与定位方法,分析并实现了对物联网中真实物体的虚拟信息显示与基于数据手套的虚拟交互,同时设计了一个原型系统,并给出实验结果及分析。
2、AR的物联网物体识别与定位原理
物联网中的某些真实物体可以在其可视表面的适当部位附加具有唯一性的二维平面标识物,其对应的数据库中保存有该物体的类型、属性及状态等相关信息。在物联网应用中,通过AR 技术采用模式识别的方法对二维平面标识物进行图像匹配,即对摄像机采集的图像进行预处理之后,利用模板数据库中储存的图像模板和采集到的图像进行匹配,得出匹配结果,识别出二维平面标识物,从而获取对应物体的类型、属性、状态、空间位置等所需要的相关信息。
视频检测方法是目前AR系统最常用的跟踪注册技术之一。视频检测不需要复杂的设备,一般情况下可以取得符合需要的定位精度。在基于标记的视频检测系统中经常通过匹配事先定义好的多种平面图形模板来标记各种虚拟物体的位置。简单的模板匹配能提高图像识别的效率,同时满足实时性的要求。
视频检测中使用的平面图形标记一般是由具有一定宽度的黑色封闭矩形框和内部的各种图形或文字两部分构成,如图1 所示。封闭的黑色矩形框能使系统在视频场景中快速判别是否存在标记。
对于平面图形标记所采取的图像处理过程如下:
(1)对于视频流中的每一帧利用灰度阈值的方法分离标记和背景区域。
(2)使用简单的标记法找出分割后视频帧中的连通区域。
(3)匹配连通区域中的四边形结构,记录采集的图像中全部标记的所在区域和坐标。
(4)分别提取各个标记四边形的边缘像素坐标,找出四边形标记的4 个顶点坐标,以此计算出标记边缘的直线方程,得到屏幕坐标。
标记内部的图形或文字可以表示标记所代表的具体信息,如表示何种目标或在此应显示何种虚拟物体。具体的标记内部图形可以根据需要自动生成,理论上通过几种图元自动生成的标记种类即可达到庞大的组合数目,可以满足一般物联网应用的需要。
对标识物进行识别的过程就是将标识物从背景中抽取出来的过程,可以采用图像的阈值分割方法,根据像素的灰度等特性判别像素是属于背景还是标识物。
阈值分割基于图像灰度值的相似性原理,它也是图像分割技术的最重要的方法之一。假设灰度直方图与一幅图像f(x,y)对应,该图像由位于亮背景上的暗物体构成,并且组成物体和背景的像素构成其2 个主要的模式。从图像的背景中提取物体的方法之一就是选择一个阈值T 来将这2 个模式分开。对于任意一点(x, y),如果其灰度值f(x, y)≥T,则可以认为该像素点为背景点,否则认为该点为标识物点。
一幅经过阈值化处理的图像可定义为
其中,被标记为1 的像素属于标识物;而被标记为0 的像素则属于背景。阈值的选择很重要,阈值选择过高,则部分属于标识物的像素点会被误划分为背景;阈值选择过低,则部分属于背景的像素点会被误划分为标识物。
在基于摄像机跟踪注册的 AR 系统中,其注册过程包括了多个坐标系之间的变换,如图2 所示。
为获取摄像机的位置和方向,必须得到从标识物坐标系到摄像机坐标系的变换矩阵。标识物的坐标系放置在标识物的中心,从标识物坐标(Xm, Ym, Zm)通过式(2)转换到摄像机坐标(Xc, Yc, Zc),其中的变换矩阵由一个旋转矩阵V3×3 和一个平移矩阵W3x1 组成。
在摄像机的定标过程中,可以得到摄像机的透视投影矩阵P:
其中,f 为摄像机镜头焦距,sx 与sy 分别为X 轴、Y 轴方向的尺度因子(pixel/mm);(x0, y0)为人眼坐标系中Z 轴的位置(可选中心)。摄像机的透视投影矩阵实际就是从摄像机坐标系到摄像机成像平面坐标系的转换矩阵。这个矩阵是摄像机坐标系和标识物坐标系之间转换的桥梁,可以推导出标识物坐标系到摄像机坐标系的变换矩阵,从而实现注册。摄像机坐标通过式(4)转换为理想的屏幕坐标。
由于标识物的大小已知,即标识物的4 个顶点在标志物坐标系下的坐标已知。同时,在图像处理过程中可以得到摄像机像平面上的4 个顶点的坐标。在确定了变换矩阵中的旋转矩阵V3×3 之后,根据4 个顶点在标志物坐标系下的坐标和在像平面中的坐标就可以计算出从标志物坐标系到摄像机坐标系的转换矩阵,即摄像机的姿态。另外,由于标志物的矩形方框中的图像是有方向的,利用它的方向就可以确定摄像机的方向。
标识物注册成功后,即可依据注册信息,从物联网数据库中提取该标识物所对应的物体相关信息,最终利用计算机图形技术将其显示在视频中,实现虚拟信息与真实环境的融合。
3、基于数据手套的物联网AR虚拟交互方法
在物联网的 H2T 应用当中,用户需要实时的获取真实物体的各类属性及状态信息。借助AR 技术,可以将虚拟信息与真实物体的图像进行实时融合,并且提供用户与虚拟信息的交互。AR 环境中的H2T 虚拟交互是通过对视频设备获取的信息进行分析以确定用户发出的行为指令并产生相应的反馈。用户行为指令的发出目前常见的是通过手势识别以及通过标识物识别。手势识别通过预定义的特征点组成各种手势对应不同的指令,无需特制工具,较为直观,但需要对用户进行一定的训练来掌握手势,识别率较低,在一些复杂的交互过程中还不能完全胜任。通过标识物识别可以根据需要制作各种类型的标识物,识别率较高,可以组合完成多种复杂指令,但缺乏自然的人机交互体验。此外,上述2 种交互方法都需要用户的手或标识物始终处在摄像头的视野之内,这在H2T 应用中是很难保证的。这里提出采用数据手套来实现H2T 的交互。数据手套具有精度高、交互自然的特点,无需将其保持在摄像机视野内也可获得手部的状态信息,将其与基于标识物识别的AR 系统进行整合应用将能提供一个新型的人、计算机与真实环境物体之间的交互平台。
数据手套是真实物体,其对虚拟物体的 AR 物理交互是指通过对从数据手套获取的用户手部信息进行分析以确定用户发出的行为指令,对其进行解释执行并通过虚拟物体或信息进行反馈。在AR 交互系统里可以通过对数据手套的传感器状态进行分析来改变单个或多个虚拟物体的属性,以此达到人手对虚拟物体的交互效果。基于数据手套的AR 人机交互通常包括以下4 种方法:
(1)对虚拟物体的形态大小的改变。用户可不用借助标识物,通过数据手套自然直观的改变虚拟物体的形态以及大小。
(2)对虚拟物体的空间定位的调整。一般的基于标识物的虚拟物体的空间定位是通过标识物的坐标矩阵转换实现,而使用数据手套的用户可以通过更自然的方式精确的调整虚拟物体的空间位置坐标。
(3)调节虚拟物体的材质、颜色及光照效果。利用数据手套来调节虚拟物体的表面材质与颜色,并可模拟光照效果。
(4)产生虚拟物体的交互运动动画。其中包括利用数据手套对虚拟物体的运动形式和运动参数进行调整,以产生不同的运动动画效果。
4、物联网AR虚拟交互系统设计
本系统在 Windows XP 下设计开发,程序开发环境为Visual C++ 2005;基本图形库为OpenGL 1.4,建模工具为3DSMAX 6.0。
4.1 系统结构与工作流程
物联网 AR 系统结构如图3 所示。其中,左端为物体端,即物体所在的空间;右端为用户端,即用户所在的空间。两部分均通过计算设备与网络相连,构成物联网系统。
物体端的主要工作就是将摄像头获取的含有物体与标识物的视频信息传输到网络上,提供给远程用户使用。处理流程如图4 所示。
如图 5 所示,用户端的承担了大部分的系统处理任务。在获取物体端传输来的视频帧后,通过对标识物的检测识别及变换矩阵的计算,取得了对应物体的信息。然后通过对数据手套信息的获取和分析,实现H2T 应用环境下的虚拟交互。最后将虚拟信息融合进真实的视频场景里。
4.2 平面标识物的检测识别
在平面标识物检测识别的过程中,首先应对获取的视频图像进行连通域分析,然后进行标识匹配。在标识匹配的过程中,还需要对每一个匹配到的标记进行变换矩阵的计算。工作流程如图6 所示。
4.3 数据手套信息的获取与分析
本文采用的数据手套是 5DT 公司的 5DT Data Glove 5Ultra,如图7 所示。该数据手套分左右手佩戴,可单手或双手使用,每只手套具备5 个光纤传感器,分布在5 根手指上,用来检测每根手指的弯曲程度。5DT Data Glove 5 Ultra 可以通过USB 接口或者蓝牙无线套件与计算设备相连进行数据传输。
由于不同用户的手指弯曲幅度不同,5DT Data Glove 5Ultra 提供了手动和自动校准功能,用户可以通过多次大幅度的屈伸手指来获得数据手套传感器的最小值和最大值。校准输出数据的计算方法如下:
其中,Max 表示校准数据的最大值,而最小值为0,因此,校准数据的范围是[0..Max];rawmax 和rawmin 表示原始数据的最大值和最小值;rawval 表示原始数据的当前测量值;out 表示计算出的校准输出数据,该数据即可用做AR 交互系统的输入数据。
在AR 交互系统中获取数据手套的传感器信息,首先要对数据手套进行连接检测并确认数据手套的类型,接着进行初始化操作,然后获取数据手套传感器所发送的数据,最后关闭数据手套连接。数据手套信息获取的流程见图8。
双数据手套无疑能比单数据手套完成更为复杂的虚拟交互,但考虑到物联网AR 虚拟交互的特点,用户的一只手往往用来握持及操作智能手机或其他移动计算设备,采用单手数据手套的虚拟交互更具有现实意义。在本系统设计的交互方法中,当用户的中指、无名指、小拇指均处于弯曲状态,则由食指控制虚拟信息的显示大小,图9(a)和图9(b)分别显示了数据手套对虚拟信息进行缩小和放大时的状态;当用户的中指、无名指、小拇指均处于张开状态,则由食指控制虚拟信息的左右移动,大拇指控制虚拟信息的上下移动,图9(c)和图9(d)分别显示了数据手套对虚拟信息进行左右移动时的状态,图9(e)和图9(f)分别显示了数据手套对虚拟信息进行上下移动时的状态。经过手势设计,仅使用一只数据手套就可以完成基本的虚拟交互。在实际应用中,用户可以根据个人习惯自由选择左手或者右手操作。
4.4 虚实场景合成
虚拟信息的绘制采用 OpenGL 实现。虚实场景的合成需将系统内其他类型的矩阵格式统一转换为OpenGL 矩阵格式,通过OpenGL 绘制虚拟物体或导入3DS 模型信息,并且将虚拟物体或信息叠加到真实图像中。处理流程见图10。
5、实验结果及分析
为了使实验结果具有普遍性,实验在H2T 引用环境的物体端使用了一台具有30 万像素分辨率的普通CMOS 摄像头,通过USB 接口与一台采用Intel Centrino Duo CPU 的笔记本电脑连接采集并将传输到网络上供远程用户使用。实验用的平面标识物被附着在一个真实的打印机设备上,如图11 所示。用户端将5DT Data Glove 5 Ultra 左手数据手套与一台采用Intel Celeron CPU 的便携式上网本通过USB 进行连接。物体端和用户端的计算设备均使用WIFI 与无线路由器相连构成实验测试用的网络平台。
图 12 分别显示了用户通过数据手套对物联网中经识别定位后的物体虚拟信息进行交互实验的结果。其中,图12(a)和图12(b)分别为虚拟信息缩小和放大交互的实验结果,实验中用户保持中指、无名指、小拇指处于一定的弯曲状态,采用食指传感器的弯曲程度来改变虚拟信息的大小,食指弯曲时虚拟信息缩小,相反则放大;图12(c)~图12(f)分别为虚拟信息左、右、上、下移动交互的实验结果,实验中用户保持中指、无名指、小拇指处于一定的张开状态,由食指和大拇指传感器的弯曲程度分别改变虚拟信息在标识物空间的X 轴和Y 轴坐标,食指弯曲时虚拟信息向右移动,相反则向左移动,大拇指弯曲时虚拟信息向下移动,相反则向上移动。
实验采用式(6)~式(8)的参数换算方法:
其中,Obj_Size 是虚拟信息的放缩系数;Obj_X 和Obj_Y 分别是虚拟信息在标识物空间的X 轴和Y 轴偏移量大小;参数DGScaled_Index 与DGScaled_Thumb 分别表示经校准后的数据手套食指与大拇指的弯曲度,取值范围为[0..1];y 为放大补偿参数,a1、a2、b1、b2 为转换参数,实验中取y=5,a1=a2=0.5, b1=b2=300 即可获得较好的效果。
表 1 和表2 显示了对虚拟信息进行缩放与位移交互实验中几个关键参数的实时采集数据。在实验过程中,视频画面的帧速率Frame_Speed 稳定在25 帧/s 以上。表中数据显示该系统在虚拟信息缩放与位移交互方面具备较高的精确度,系统可以实时、稳定地运行。
6、结束语
在物联网的 H2T 应用当中,用户需要实时地获取真实物的各类属性及状态信息并进行交互操作。本文将AR 技术引入物联网中对物体进行识别与定位,提取真实物体的相关信息进行虚实融合显示,采用数据手套进行增强现实的物联网虚拟交互。设计实现了一个物联网增强现实虚拟交互系统原型,实验结果表明该系统能够给物联网用户提供自然直观的增强现实虚拟交互体验,可以满足物联网相关应用系统对于实时性、稳定性和精确度等方面的要求。下一步工作将对不同物联网应用环境下的系统适应性及多物体综合识别与交互进行研究。
>>相关产品