面向数字化陈展的自然人机交互技术研究
林文安 盖龙涛 陈月华
【摘 要】摘要 针对目前博物馆数字化陈展系统交互行为单一不自然,且开发成本高,可重复利用率低的问题,通过在XNA全屏环境下整合Wiimote的高精准度定位技术和WPF中InkCanvas控件的轨迹识别功能,开发了一套基于自然人机交互理念的数字化陈展系统,使用户可以通过不同的手势运动变换来对数字藏品进行相应的陈展操作。详细分析了Wiimote捕捉红外点位置的原理和与计算机的通信机制。实践证明,该系统的操作识别率高,成本低,可扩展性强,具有一定的实用价值。 【期刊名称】计算机应用与软件 【年(卷),期】2012(029)007 【总页数】4
【关键词】关键词 自然人机交互 数字化陈展 Wiimote 手势运动
0 引言
上个世纪70年代,人们就开始进行数字博物馆的建设,将博物馆的收藏、研究、娱乐、展示、教育等功能以数字化的方式表现出来[1]。但目前大多数的博物馆陈展交互系统存在着“单馆模式”严重,交互行为单一,对沉浸式显示内容的交互较为困难等问题[2,3]。近年来,随着各种基于自然人机交互理念的触觉、视觉、听觉交互技术的日益成熟,大大提高了数字化陈展的逼真性、交互生动性和用户的参与性等[4-7]。但由于新技术的识别率与成本等各方面的问题,还是无法满足快速增长的数字化展览与互动需求。
针对以上问题,本文从为数字化陈展提供一个低成本的可移植、可扩展的开发
框架入手,设计了一套基于自然人机交互理念的数字化陈展系统。系统通过在XNA全屏环境下整合Wiimote的红外感应技术和WPF中InkCanvas控件的轨迹识别功能,使参观者能够在不接触屏幕的情况下自由地对三维模型进行各种变换操作。
1 Wiimote高精准度定位相关技术分析
Wiimote是任天堂游戏主机Wii的控制器,自从2008年卡耐基梅隆大学人机交互学博士Johnny Chung Lee对Wiimote进行一系列的二次开发以来,国内外就涌现出了大量关于Wiimote的应用研究,比如支持多点触摸的电子白板、智能机器人、头部跟踪仪等[8-10]。但就目前的研究来看,大多都是“拿来主义”,只局限在应用层面上,缺乏对Wiimote的原理性分析,无法有效指导进一步的应用开发。
本文就以上问题从Wiimote红外摄像头捕捉红外点位置的原理和Wiimote与PC的通信机制两个方面进行分析,以便于其在本系统中的应用,也希望能够抛砖引玉。
1.1 Wiimote捕捉红外点位置的原理
Wiimote前端包含了一个分辨率为128×96的CMOS红外摄像头,经过试验,其有效的覆盖区域为水平正负33°,垂直正负23°,感应距离为0.25m到3.2m。在摄像头的前方有一个黑色的盖子是负责过滤掉室内光线与室外阳光,让摄像头只能接收到红外线。摄像头内置的图像处理模块使用的是8倍亚像素(Sub-Pixel)计算方法,即利用双线性插值算法对图像进行8倍细分,将一个拥有128行96列的小矩形区域映射到一个拥有1024行768列的大矩形区域,它的红外点的水平坐标范围为0-1023,垂直坐标范围为0-767。
假设红外点在目前所定位范围的坐标为N=[X,Y,Z,1]T,被摄像头捕获后投影到二维成像平面的点的坐标为n=[u,v,1]T,它们之间的关系方程为式(1):
其中,s为一个比例因子,Q为一个3×4的透视投影矩阵。透视投影矩阵Q可分解为式(2):
其中,[R|T]为一个3×4的外部参数矩阵,它对应于从世界坐标系到摄像机坐标系的欧拉变换,R代表3×3的旋转矩阵,T代表1×3的位移矩阵。K为3×3的摄像机标定矩阵,它取决于摄像头的内部参数,我们记为式(3):
其中,au和av分别为u、v方向上的比例因子,它们与摄像机的焦距 f成正比:au=kuf,av=kvf,其中 ku、kv分别为 u、v方向上单位距离覆盖的像素数量。[u0,v0]T代表光轴与成像平面交点的坐标,以上这些参数均为已知的。将式(2)与式(3)代入式(1),可以求得红外点在成像平面的坐标n。
红外摄像头最多能够跟踪4个红外点。其区别不同对象的方法为当红外摄像头标识了一个对象,就赋予其一个可用的对象通道,如果该红外点运动出了可以捕捉的范围,对应的通道就被标记为空,其他红外点还会保留着自己的通道,这样就不会造成红外点识别的混乱。 1.2 Wiimote与PC的通信机制
Wiimote与主机的通信是通过蓝牙进行的,由于Wiimote中内置了包含BroadCom2042芯片的蓝牙模块,这使得它可以通过标准的蓝牙协议连接到任何具有蓝牙功能的设备。当Wiimote与PC配对成功后,它会被识别成为一个遵循蓝牙人机接口设备标准的HID兼容设备。我们知道,HID设备与PC的通信是以报告(Report)的形式进行发送和接收的。在WiimoteLib中,为了提