基于Kinect的体感交互式电子白板初探
2012-10-18王康
王 康
☆电子白板教学应用☆
基于Kinect的体感交互式电子白板初探
王 康
随着教学信息化进程的加快推进,电子白板在基础教育领域将得到广泛应用,交互式电子白板作为一种运用于教室教学中的先进科技设备,融合了大屏幕投影、精确定位等多技术于一体。电子白板的普及,有效地减少了板书的粉尘污染,提升了教学质量,缩短了板书时间,且更节能低碳。交互式电子白板将是实现教育现代化的有力工具,也是未来的发展趋势。
现阶段电子白板的精确定位主要采用7种技术[1]:电阻式、电磁式、红外线光学式、雷射式、超声波式及视像镜头光学式。电子白板的优点有:(1)相对于传统投影机的单向式,使用互动电子白板使课程更为互动;(2)使教师专注于课堂,而不是处理计算机或投影机等技术上的问题;(3)通过电子白板的软件,利用软件的记录功能,使课堂上临时或即兴的教学亦得以记录;(4)增加课堂的趣味。然而综合现阶段电子白板的应用情况,电子白板还存在一些问题:(1)售价比较昂贵;(2)白板的清洁及保养问题;(3)在使用时感应触摸板上无法随意感应挥洒,需要背对学员,无法得知当下教学成果;(4)在电力供应不稳定的地方不宜使用。
而Kinect设备的出现,为这些问题的解决提供了技术支撑。笔者通过整合目前已开放源码的Kinect来做影像辨识,结合两者功能,探讨基于Kinect的体感交互式电子白板的设计与应用,让教师通过简单的手势去操作屏幕,直接面对学生,达到学习最高效率,使上课更轻松,台上台下互动更加密切。通过在投影的白板上开启功能选单、笔迹辨识、图像的缩放旋转,Kinect接收影像数据并在PC上进行影像辨识,将动作结果显示于投影的白板上,让教师的教学更为活泼,也更轻松省力。
一、基于Kinect的体感交互式电子白板
二、结束语
基于Kinect的体感式交互电子白板由Kinect与电子白板技术整合而成,是Kinect在教学上的一种应用。Kinect在教育方面的应用,以各式体感教学为主,倡导身体的活动与学习。
[1] 交互式电子白板:技术原理分析[EB/OL].http://www.turbotek. cn/yuanli.html.
[2] Kinect[EB/OL].http://en.wikipedia.org/wiki/Kinect.
[3] Kinect内幕[EB/OL].http://www.mp77.cn/blog/?p=347.
[4] Windows Kinect SDK[EB/OL].http://kinectforwindows.org/.
[5] PrimeSense OpenNI[EB/OL].http://www.primesense.com/.
[6] 华师京城电子白板[EB/OL].http://www.hsjc.com.cn/index.aspx.
2011-11-19
王康,硕士,技术员。
湖北省武汉市教育科学研究院现代教育技术中心。
1.Kincect
Kinect[2]是由微软公司开发的一款姿态传感输入设备,它主要由一个摄影机、一对深度传感器、一组麦克风及一个马达构成,Kinect具备即时动态捕捉、影像辨识、麦克风输入、语音辨识、社群互动等多种功能。
Kinect的运作原理如下:Kinect一次可获取3种信息,分别是彩色影像、3D深度影像和声音讯号。
Kinect机身上有3个镜头,中间的镜头是一般常见的RGB彩色摄影机,左右两边的镜头则分别为红外线发射器和红外线CMOS摄影机所构成的3D深度传感器,Kinect主要就是靠3D深度传感器侦测使用者的动作。中间视讯镜头则是用来辨识使用者身份,此外也能应用在扩增实境教学以及视讯通话中。同时,Kinect还搭配了追焦技术,底座马达会随着对焦物体的移动而转动。Kinect也内建了麦克风系统,用的还是数组式麦克风。它的好处是由多组麦克风同时收音,比对后消除杂音,等于提供了降噪功能,让用户的声音能更清楚地传递出去。
2.Kinect的开发架构
Kincect开发架构有4层[3]:(1)底层硬件Kinect传感器,主要包含多种摄像头、麦克风阵列、马达;(2) Kinect内核驱动,主要包含Windows的Kinect内核驱动以及对应的WinUSB设备堆栈、WinUSB视频堆栈、WinUSB音频堆栈,还包括堆栈上的设备控制、视频流控制、音频流控制;(3)应用程序接口(API)层,主要由各种事件响应函数包组成,同时还包含应用的视频组件与音频组件,构成Kinect SDK;(4)应用层,主要通过Kincect SDK用C/C++/CLI/C#/Visual Basic.NET编写Kinect的应用程序。Kincect的开发架构如图1所示:
图1 Kinect开发架构图
在应用程序接口(API)层中,目前最主流的Windows-Kinect驱动程序(API)有微软[4]的Kinect SDK,PrimeSense[5]的OpenNI,两者在性能方面有各自的特点,用户针对所需的特定功能,选取相应的API进行程序开发。其中两者的性能对比见表1:
表1 Microsoft Kinect SDK与PrimeSense OpenNI开发包功能对比表
性能 Microsoft PrimeSense列表 Kinect SDK OpenNI可商业用途* √支持音频 √支持马达 √支持多传感器 √ √无姿势要求、能处理关节闭塞 √安装更方便 √ 还需单独安装NITE支持手部追踪与识别等特定模式* 只能追踪全身 √系统 仅支持 支持Windows和Linux支持* Win7 OSX和Android CPU消耗更少 √支持数据记录或回放到硬盘* √支持红外线视频数据流 √全身追踪包含坐标数据及旋转数据 只有坐标数据 √支持PrimeSense和华硕WAVI Xtion硬件平台 √支持Unity3D游戏引擎 √提供用户被侦测或丢失等事件响应函数*√支持自动对齐深度图数据到彩色图数据√
3.基于Kinect的体感交互式电子白板
有别于现今的电子白板仍须在版面做感测的动作,而使用Kinect来做手势影像辨识,届时教师手中将不需要拿电子笔,而是通过手部的定位与简单的手势即可于投影幕上开启功能菜单、上下左右移动页面、写字擦除等多功能操作,并由投影至白板上的屏幕,将结果再显示于白板上。基于Kinect的体感交互式电子白板将电子白板与Kinect的手势识别进行整合,以达到高度自然的人机交互环境。该环境使得教师直接面对学生,学习效益达到最高,教师上课更轻松,教学更灵活,师生台上台下互动更加密切。
目前以华师京城电子白板[6]为例,应用模式有3种:鼠标模式、注解模式、白板模式;针对不同的模式,定义相对应的手势操作。鼠标模式下,可以通过手势来控制鼠标,如通过握住手掌实现单击,以达到使用手势对鼠标模式下的操作;注解模式可以通过手势来代替电子笔,如通过单手指移动实现标记与注解,以达到使用手势实现对注解模式下的操作;白板模式类似于黑板,用于教师的板书,以及师生间课堂互动,师生都可通过手势来书写与描绘,操作方式与注解模式类似,以达到使用手势实现对白板模式下的操作。
针对体感交互式电子白板的手势识别及其他相关需求,其中手势定义见表2;依据表1中两者的分析对比,基于Kinect的体感交互式电子白板将在Visual Studio 2008平台下选用OpenNI+NITE开发包,使用C/C++编写Kinect应用程序,实现特定手势触发自定义的键盘命令,达到手势控制电子白板的目的,打造体感交互式的虚拟教学环境。
表2 手势定义表
标识 定义 注解1 MakeFist(握住手掌) 单击2 OpenFist(张开手掌) 关闭3 Up(手掌移动) 上移4 Down 下移5 Left 左移6 Right 右移7 Rotate(拇指与食指) 旋转8 Write(单手指) 写注9 Push 放大10 Pull 缩小