论文部分内容阅读
Kinect作为一种自然人机交互的体感外设,它很可能和鼠标、键盘、摄像头一起,成为新的普遍意义上的人机交互工具。首先简介了人机交互与计算机应用的发展规律;然后从社会和技术的角度分析了基于Kinect的互动应用的优点,最后就基于Kinect的《互动应用开发》课程的教学内容及理论和实验教学方法进行了探索。
互动应用自然人机交互课程开发游戏设计 一、前言
随着计算机性能的不断提高和传感器技术的飞速发展,人机交互技术正逐步进入实际应用。随着传感器网络的逐步普及,人与计算机之间交互方式越来越自然,用户与计算机生成的虚拟世界之间的互动体验越来越接近人类之间的互动体验。特别是微软公司的Kinect的面世,极有可能加快这一趋势。本文将对基于Kinect的“互动应用开发”引入课堂教学进行探讨。
二、开设“互动应用开发”课程的必要性
人机交互技术的发展和计算机应用的普及是相辅相成的。在鼠标和图形界面广泛使用前,计算机主要在实验室使用;20世纪八九十年代,鼠标、图形界面的使用极大地提高了交互效率,推动了个人电脑的普及,把计算机带入个人计算机时代。近年来,计算机处理速度、存储容量的大幅提高,传感器技术的进步和普及,网络带宽的成倍增加,新一代自然人机交互的推广,将进一步拓展计算机的使用领域,为基于自然人机交互方式的“互动应用”提供了广泛的市场需求和应用前景,所以为了让学生掌握与时代发展相适应的开发技术,有必要开设基于自然人机交互的互动应用开发类的课程。
2010年11月,微软推出了与Xbox相结合的体感外设Kinect。这款集彩色摄像头、深度传感器和麦克风阵列的产品推出之后,便创下了一项新的吉尼斯世界纪录,成为销售最快的店则设备。从2010年11月4日到2011年1月3日,60天内共售出800万台。价值150美元的高科技组件的推出,立即吸引了全球众多的“Kinect黑客”的注意,在Kinect推出不久,OpenKinect开源社区和PrimeSense公司便发布了Kinect的电脑软件驱动。2011年6月17日,微软公司发布了官方的基于Windows的Kinect软件开发工具包测试版(Kinect for Windows SDK beta)。这极大地促进了Kinect在计算机上的应用。虚拟试衣、虚拟实验、三维重建等各种创意应用被不断开发出来。
与传统的人机交互设备鼠标键盘不同,借助Kinect,用户进入需要用身体动作就可以直接控制计算机,Kinect很可能和键盘、鼠标成为新一代标准人机交互设备。所以开设基于Kinect的人机“互动应用开发”课程,符合时代发展潮流和人机交互技术的发展趋势,为了学生能够走到时代前沿,尽早掌握自然人机互动应用开发具有积极意义。
另外,开设“互动应用开发”课程,还具有更为深远的社会学意义。目前,手机游戏也好,电脑游戏也罢,多数游戏在游戏过程中,只要求玩家通过手指的运动来控制游戏,这样长时间保持坐姿,只有手指运动较多,不仅不利于健康,而且还可能导致近视,手指类疾病等。如果通过自然人机交互进行游戏,则有助于比避免游戏的不利因素,更好的发挥游戏的娱乐消遣功能,通过设计开发设计良好的应用,甚至能做到有助于锻炼身体、保持身心将康的目标。
综上,不论从互动应用的社会需求方面,还是从改变目前视频游戏的弊端的角度出发,“互动应用开发”这门有着广泛的社会需求,而且一旦推广开来,有利于增强人们利用游戏进行休闲娱乐、加强运动、锻炼身体的意识,因此这门课的开设具有重要意义。
三、课程的总体设计
本课程的目标定位是让学生熟悉自然人机交互,掌握利用Kinect进行互动应用开的技能。课程内容涉及人机交互、程序开发和互动应用三个主要方面。Kinect支持多种开发语言,C 、C#、Matlab等,本课程讲述过程主要以C#作为开发语言。教学内容分以下7讲:
第1讲:自然人机交互的理论及设备。主要讲述人机交互的发展概况,人机界面的设计方法,自然人机交互的概念,自然人机交互的主要特点等。
第2讲:Kinect简介及开发环境配置。讲述Kinect的结构和工作原理,以Win7下C#开发为例,所需Win7版本的具体要求,.NET Framework 4.0和VisualStudio 2010的安装,Kinect驱动的安装。通过运行SDK示例程序,让学生熟悉Kinect的主要功能和。
第3讲:基于Kinect深度图在抠图中的应用。本讲的主要目的是学习如何利用DepthImageStream接口获取深度传感器的深度图,并利用深度图对通过ColorImageSteam获取的彩色图进行抠图。然后比较基于深度图的抠图和传统的基于蓝幕抠图在效率、效果等方面的异同。
第4讲:基于Kinect的肢体运动游戏。Kinect体感器的核心就是骨架追踪。Kinect能同时获取2个人,每个人21个关节点信息。本讲讲述如何利用SkeletonStream获取骨架数据,以及Shape Game示例程序的工作原理。
第5讲:Kinect语言识别及其应用。在Kinect的下方有一组4个独立的水平分布的麦克风。它们捕获相同的音频信号。Kinect的语音识别可分为特定命令识别和对自由语音识别两类。由于Kinect的特性,自由语音识别用途不大。命令识别则是限制词汇的范围进行识别。所以主要讲述命令识别的用法。
第6讲:基于FAAST的Kinect应用开发。FAAST是美国南加州大学创新科技研究所开发的灵敏动作与清晰骨骼工具包。通过FAAST可以把Kinect获取的骨架信息识别为身体左倾、右手放下、挥手等24个动作,方便应用的开发。本讲利用Kinect和Worldviz的vizard相结合,以开发一个康复训练应用为例,讲述FAAST的使用方法。
第7讲:基于Kinect的虚拟现实展示控制技术。本讲综合命令语音识别、FAAST和三维绘制机制,实现一个利用Kinect控制的虚拟展示应用。 四、实践教学的设计
由于本课程主要讲述的是基于Kinect的互动应用开发,主要的交互方式都是通过Kinect传感器来实现了,所以熟练掌握Kinect的配置,音频、彩色图像、深度图、骨架信息的获取何使用。除此之外,还必须熟悉相关应用的专业知识,如语音识别、计算机图形学、模式识别、人机交互等。这些知识的掌握和利用Kinect进行互动应用开发能力的提高都离不开编程实践,所以本课程必须充分重视实践教学环节。
根据该课程的特点和开设此课程的目标,我们明确了本课程实践环节的设计思想:以能力为本位,以巩固所学知识和提高互动应用开发能力为宗旨,依照学习知识、应用实践、综合创新的能力培养规律,循序渐进地方式展开。本课程的实践环节由课堂练习、课内实验和课外实践三个环节组成。根据实践需要达到的目的不同,实践内容分为基本型、综合型和创新型三个层次。基本型的实践内容主要分布在课堂练习和课内实验两个环节,以巩固课堂所学为主要目标;综合型的实践内容安排在课内实验和课外实践中进行,主要是为了把多个章节的内容进行综合消化吸收;创新型的内容全部安排在课外实践环节,达到充分发挥学生的主观能动性,创造性地应用课程内容,开发出一个小型应用为目的。
课堂练习的主要目的是实践课堂所讲内容、加强对所讲内容的掌握,在教师讲述或演示后,学生当场练习,即学即练,强化理解,加深记忆。课堂练习的内容与课堂教学的内容相一致,不再赘述。为了提高课堂练习的效率,对练习的内容进行必要的分解,使学生练习过程步骤化,做到每一步都有明确的目标,这样有助于提高学生练习过程中获得的成就感,达到较好的教学效果。
课内实验的主要目的是巩固课堂所学内容,并对阶段内容进行综合应用,强调巩固基础,促进综合,鼓励创新。课内实验的内容层次主要为综合型实验和部分创新型实验,在实验形式上,采取必做部分与选作部分相结合,实验指导步骤化,难度逐步递进,以适应不同水平的学生,难度较低的部分为比作部分,难度较高的步骤可以选作。根据以上原则,我们设计了4个课内实验,分别是基于深度扣图的虚拟演播室、赤手拼图游戏、音控玩偶和魔镜,四个实验的自由度逐渐加大,学生的发挥余地也越大。
课外实践是为了充分发挥学生的想象空间和主观能动性,把学生分为若跟个小组,每个小组采用大脑风暴等形式创造性地提出本小组的Kinect创意项目,然后逐步细化,直到最后完成开发出来,为一个完整的互动应用。创新型实验主要体现在课外实践中,所以在课外实践项目中,鼓励学生使用不同系统平台和开发语言,探索Kinect在不同行业中的应用。
五、教学设计与考核评价
由于“互动应用开发”这门课理论与实践紧密结合,所以采用理论教学和现场教学相结合的方式,根据理论内容和实践内容多少,灵活分配课堂时间。对于案例中应用到的理论,可以采用先简单介绍理论,然后案例教学,最后再提升理论的方式进行。
在课时安排上,采用紧凑方式进行安排,不是从学期初一直上到学期末,而是集中安排在8周的时间内,每周半天,这样学时相对集中,有利于课内练习和课内实验的开展。
在考核方式上,教学评价采取多元化考核方式,过程评价和结果评价相结合,阶段考核和期末考核相结合,单项成绩和综合成绩相结合,自我评价、彼此评价和教师评价相结合,做到过程和结果兼顾,进步和水平相统一,做到通过考核促进教学,达到着实提高学生能力的教学目的。
六、总结
本文首先介绍开设“互动应用开发”课程的背景,并对开设基于Kinect的“互动应用开发”课程的意义进行了分析。然后对课程内容的设置和教学考核的设计进行了探讨。希望能够对类似课程的教学和建设有所促进,由于课程的内容新,开课时间短,肯定还存在诸多值得商榷和改进的地方。
参考文献:
[1]张荻. Kinect应用领域的探讨[J].物流工程与管理,2012,(6), 39-41
[2]何贝,王贵锦,林行刚.结合Kinect深度图的快速视频抠图算法[J].清华大学学报(自然科学版),2012,52(4):561-565.570
[3]E. Suma, B. Lange, A. Rizzo, D. Krum, and M. Bolas.FAAST: The Flexible Action and Articulated Skeleton Toolkit, Proceedings of IEEE Virtual Reality[C].2011. 247-248
[4]刘鑫,许华荣,胡占义.基于GPU和Kinect的快速物体重建[J].自动化学报,2012,38(8):1288-1297
[5]钱鹤庆.应用Kinect与手势识别的增强现实教育辅助系统.上海交通大学, 2011
[6]罗元,谢彧,张毅.基于Kinect传感器的智能轮椅手势控制系统的设计与实现[J].机器人,2012,34(1):111-113.119
[7]黄康泉,陈壁金,郑博,徐芝琦.Kinect在视频会议系统中的应用[J].广西大学学报(自然科学版),2011,36(s1):308-311
互动应用自然人机交互课程开发游戏设计 一、前言
随着计算机性能的不断提高和传感器技术的飞速发展,人机交互技术正逐步进入实际应用。随着传感器网络的逐步普及,人与计算机之间交互方式越来越自然,用户与计算机生成的虚拟世界之间的互动体验越来越接近人类之间的互动体验。特别是微软公司的Kinect的面世,极有可能加快这一趋势。本文将对基于Kinect的“互动应用开发”引入课堂教学进行探讨。
二、开设“互动应用开发”课程的必要性
人机交互技术的发展和计算机应用的普及是相辅相成的。在鼠标和图形界面广泛使用前,计算机主要在实验室使用;20世纪八九十年代,鼠标、图形界面的使用极大地提高了交互效率,推动了个人电脑的普及,把计算机带入个人计算机时代。近年来,计算机处理速度、存储容量的大幅提高,传感器技术的进步和普及,网络带宽的成倍增加,新一代自然人机交互的推广,将进一步拓展计算机的使用领域,为基于自然人机交互方式的“互动应用”提供了广泛的市场需求和应用前景,所以为了让学生掌握与时代发展相适应的开发技术,有必要开设基于自然人机交互的互动应用开发类的课程。
2010年11月,微软推出了与Xbox相结合的体感外设Kinect。这款集彩色摄像头、深度传感器和麦克风阵列的产品推出之后,便创下了一项新的吉尼斯世界纪录,成为销售最快的店则设备。从2010年11月4日到2011年1月3日,60天内共售出800万台。价值150美元的高科技组件的推出,立即吸引了全球众多的“Kinect黑客”的注意,在Kinect推出不久,OpenKinect开源社区和PrimeSense公司便发布了Kinect的电脑软件驱动。2011年6月17日,微软公司发布了官方的基于Windows的Kinect软件开发工具包测试版(Kinect for Windows SDK beta)。这极大地促进了Kinect在计算机上的应用。虚拟试衣、虚拟实验、三维重建等各种创意应用被不断开发出来。
与传统的人机交互设备鼠标键盘不同,借助Kinect,用户进入需要用身体动作就可以直接控制计算机,Kinect很可能和键盘、鼠标成为新一代标准人机交互设备。所以开设基于Kinect的人机“互动应用开发”课程,符合时代发展潮流和人机交互技术的发展趋势,为了学生能够走到时代前沿,尽早掌握自然人机互动应用开发具有积极意义。
另外,开设“互动应用开发”课程,还具有更为深远的社会学意义。目前,手机游戏也好,电脑游戏也罢,多数游戏在游戏过程中,只要求玩家通过手指的运动来控制游戏,这样长时间保持坐姿,只有手指运动较多,不仅不利于健康,而且还可能导致近视,手指类疾病等。如果通过自然人机交互进行游戏,则有助于比避免游戏的不利因素,更好的发挥游戏的娱乐消遣功能,通过设计开发设计良好的应用,甚至能做到有助于锻炼身体、保持身心将康的目标。
综上,不论从互动应用的社会需求方面,还是从改变目前视频游戏的弊端的角度出发,“互动应用开发”这门有着广泛的社会需求,而且一旦推广开来,有利于增强人们利用游戏进行休闲娱乐、加强运动、锻炼身体的意识,因此这门课的开设具有重要意义。
三、课程的总体设计
本课程的目标定位是让学生熟悉自然人机交互,掌握利用Kinect进行互动应用开的技能。课程内容涉及人机交互、程序开发和互动应用三个主要方面。Kinect支持多种开发语言,C 、C#、Matlab等,本课程讲述过程主要以C#作为开发语言。教学内容分以下7讲:
第1讲:自然人机交互的理论及设备。主要讲述人机交互的发展概况,人机界面的设计方法,自然人机交互的概念,自然人机交互的主要特点等。
第2讲:Kinect简介及开发环境配置。讲述Kinect的结构和工作原理,以Win7下C#开发为例,所需Win7版本的具体要求,.NET Framework 4.0和VisualStudio 2010的安装,Kinect驱动的安装。通过运行SDK示例程序,让学生熟悉Kinect的主要功能和。
第3讲:基于Kinect深度图在抠图中的应用。本讲的主要目的是学习如何利用DepthImageStream接口获取深度传感器的深度图,并利用深度图对通过ColorImageSteam获取的彩色图进行抠图。然后比较基于深度图的抠图和传统的基于蓝幕抠图在效率、效果等方面的异同。
第4讲:基于Kinect的肢体运动游戏。Kinect体感器的核心就是骨架追踪。Kinect能同时获取2个人,每个人21个关节点信息。本讲讲述如何利用SkeletonStream获取骨架数据,以及Shape Game示例程序的工作原理。
第5讲:Kinect语言识别及其应用。在Kinect的下方有一组4个独立的水平分布的麦克风。它们捕获相同的音频信号。Kinect的语音识别可分为特定命令识别和对自由语音识别两类。由于Kinect的特性,自由语音识别用途不大。命令识别则是限制词汇的范围进行识别。所以主要讲述命令识别的用法。
第6讲:基于FAAST的Kinect应用开发。FAAST是美国南加州大学创新科技研究所开发的灵敏动作与清晰骨骼工具包。通过FAAST可以把Kinect获取的骨架信息识别为身体左倾、右手放下、挥手等24个动作,方便应用的开发。本讲利用Kinect和Worldviz的vizard相结合,以开发一个康复训练应用为例,讲述FAAST的使用方法。
第7讲:基于Kinect的虚拟现实展示控制技术。本讲综合命令语音识别、FAAST和三维绘制机制,实现一个利用Kinect控制的虚拟展示应用。 四、实践教学的设计
由于本课程主要讲述的是基于Kinect的互动应用开发,主要的交互方式都是通过Kinect传感器来实现了,所以熟练掌握Kinect的配置,音频、彩色图像、深度图、骨架信息的获取何使用。除此之外,还必须熟悉相关应用的专业知识,如语音识别、计算机图形学、模式识别、人机交互等。这些知识的掌握和利用Kinect进行互动应用开发能力的提高都离不开编程实践,所以本课程必须充分重视实践教学环节。
根据该课程的特点和开设此课程的目标,我们明确了本课程实践环节的设计思想:以能力为本位,以巩固所学知识和提高互动应用开发能力为宗旨,依照学习知识、应用实践、综合创新的能力培养规律,循序渐进地方式展开。本课程的实践环节由课堂练习、课内实验和课外实践三个环节组成。根据实践需要达到的目的不同,实践内容分为基本型、综合型和创新型三个层次。基本型的实践内容主要分布在课堂练习和课内实验两个环节,以巩固课堂所学为主要目标;综合型的实践内容安排在课内实验和课外实践中进行,主要是为了把多个章节的内容进行综合消化吸收;创新型的内容全部安排在课外实践环节,达到充分发挥学生的主观能动性,创造性地应用课程内容,开发出一个小型应用为目的。
课堂练习的主要目的是实践课堂所讲内容、加强对所讲内容的掌握,在教师讲述或演示后,学生当场练习,即学即练,强化理解,加深记忆。课堂练习的内容与课堂教学的内容相一致,不再赘述。为了提高课堂练习的效率,对练习的内容进行必要的分解,使学生练习过程步骤化,做到每一步都有明确的目标,这样有助于提高学生练习过程中获得的成就感,达到较好的教学效果。
课内实验的主要目的是巩固课堂所学内容,并对阶段内容进行综合应用,强调巩固基础,促进综合,鼓励创新。课内实验的内容层次主要为综合型实验和部分创新型实验,在实验形式上,采取必做部分与选作部分相结合,实验指导步骤化,难度逐步递进,以适应不同水平的学生,难度较低的部分为比作部分,难度较高的步骤可以选作。根据以上原则,我们设计了4个课内实验,分别是基于深度扣图的虚拟演播室、赤手拼图游戏、音控玩偶和魔镜,四个实验的自由度逐渐加大,学生的发挥余地也越大。
课外实践是为了充分发挥学生的想象空间和主观能动性,把学生分为若跟个小组,每个小组采用大脑风暴等形式创造性地提出本小组的Kinect创意项目,然后逐步细化,直到最后完成开发出来,为一个完整的互动应用。创新型实验主要体现在课外实践中,所以在课外实践项目中,鼓励学生使用不同系统平台和开发语言,探索Kinect在不同行业中的应用。
五、教学设计与考核评价
由于“互动应用开发”这门课理论与实践紧密结合,所以采用理论教学和现场教学相结合的方式,根据理论内容和实践内容多少,灵活分配课堂时间。对于案例中应用到的理论,可以采用先简单介绍理论,然后案例教学,最后再提升理论的方式进行。
在课时安排上,采用紧凑方式进行安排,不是从学期初一直上到学期末,而是集中安排在8周的时间内,每周半天,这样学时相对集中,有利于课内练习和课内实验的开展。
在考核方式上,教学评价采取多元化考核方式,过程评价和结果评价相结合,阶段考核和期末考核相结合,单项成绩和综合成绩相结合,自我评价、彼此评价和教师评价相结合,做到过程和结果兼顾,进步和水平相统一,做到通过考核促进教学,达到着实提高学生能力的教学目的。
六、总结
本文首先介绍开设“互动应用开发”课程的背景,并对开设基于Kinect的“互动应用开发”课程的意义进行了分析。然后对课程内容的设置和教学考核的设计进行了探讨。希望能够对类似课程的教学和建设有所促进,由于课程的内容新,开课时间短,肯定还存在诸多值得商榷和改进的地方。
参考文献:
[1]张荻. Kinect应用领域的探讨[J].物流工程与管理,2012,(6), 39-41
[2]何贝,王贵锦,林行刚.结合Kinect深度图的快速视频抠图算法[J].清华大学学报(自然科学版),2012,52(4):561-565.570
[3]E. Suma, B. Lange, A. Rizzo, D. Krum, and M. Bolas.FAAST: The Flexible Action and Articulated Skeleton Toolkit, Proceedings of IEEE Virtual Reality[C].2011. 247-248
[4]刘鑫,许华荣,胡占义.基于GPU和Kinect的快速物体重建[J].自动化学报,2012,38(8):1288-1297
[5]钱鹤庆.应用Kinect与手势识别的增强现实教育辅助系统.上海交通大学, 2011
[6]罗元,谢彧,张毅.基于Kinect传感器的智能轮椅手势控制系统的设计与实现[J].机器人,2012,34(1):111-113.119
[7]黄康泉,陈壁金,郑博,徐芝琦.Kinect在视频会议系统中的应用[J].广西大学学报(自然科学版),2011,36(s1):308-311