李 畅
(河南省新乡市第一中学,新乡 453000)
Kinect设备功能探索
李 畅
(河南省新乡市第一中学,新乡 453000)
本文从Kinect的历史展开论述,分别介绍了Kinect的硬件设备、Kinect获取深度图像的原理及Kinect发展现状,最后发表关于Kinect开发的一些见解。
Kinect;历史;现状;开发
1.1 Kinect历史
Kinect的全称是Kinect for Xbox 360,是微软开发的、服务于Xbox 360家用主机的外设产品。它的出现主要是为了玩家能够使用这些设备去玩一些虚拟的体感游戏,让玩家不需要接触控制器,使用语言、手势等非接触性的操作来控制Xbox 360的系统界面,也能够使用这种方法来玩相应的游戏。Kinect作为获取人体信息的终端设备,它能够捕捉人体的运动信息,反馈给游戏主机,让玩家能够用身体来进行游戏,带给使用者基于体感控制的不同体验。Kinect于在2010年11月4日于美国上市,在上市不到一百天便已然卖出了数百万台,创下来微软游戏外设销售的记录,同时149美元这样廉价的设备,不仅勾起了玩家的兴趣,也让很多人涌入Kinect研究领域,这也使得Kinect成为全世界销售最快的消费性电子产品。
1.2 Kinect硬件设备
Kinect其实就是一个摄像头,但是不同于以往摄像头的是,Kinect有三个镜头,左右两个镜头是用来发射和接收红外线的深度图像镜头。这两个镜头通过发射红外和接收反射回来的红外线信号来计算场景中物体深度图像信息,也就是这两个摄像头构成了Kinect的3D结构工深度感应器。深度图像就是场景中物体到Kinect设备的距离,还有RGB彩色摄像头用来捕捉和采集物体的彩色图像。彩色摄像头最大支持1280*960分辨率成像,红外摄像头最大支持640*480成像。Kinect底座配有马达可以控制摄像头的转动,来实现自己的追焦技术。同时Kinect两侧的麦克风阵列,类似人的双耳可以同时收音,这也就意味着Kinect可以做到语音识别和听音辨位。同时同时收音还可以通过对比来消除杂音。
图1 Kinect设备
1.3 Kinect获取深度图像原理
Kinect除了一个常规的RGB彩色摄像头,还有一个红外发射器和红外接收器,构成了Kinect的整个红外收发设备,通过这两个设备可以完成Kinect深度图像获取。获取深度图像信息也是Kinect的主打功能,这一功能不仅在娱乐方面得到了应用,在科研方面也发光发热。Kinect获取深度图像的技术是使用了一种光编码技术(Light Coding),这是属于PrimeSense公司的专利技术,它为深度图像的获取提供了便利。这种光编码技术是基于结构光的技术,结构光是具有一些特定模式的光,这些光有特定图案,它们由不同的点、线、面组成。一般这种技术的原理就是,不同的特征图案会反射带有自身特征的光图像,Kinect捕捉到这种不同特征的光,Kinect捕捉到这种信息来计算物体的深度信息。和传统的投射二维光线的方法不同,Kinect投射的是一个具有三维结构的光。通过投射激光散斑,这种激光散斑是有高度随机性的衍射斑点,使得激光能够分布到空间的任何地方,保证了接收到的反射光的特征性一定是物体的特征,形成了专属的标记。
Kinec作为一种体感设备,通过获取人体的运动信息和骨骼信息,以及基于环境的深度数据来实现对人体的跟踪。它与生俱来的便利性,以及出色的可拓展性,使得它逐渐变成了非接触式控制的热门设备。使用者并不需要穿戴设备便可轻松完成一系列的控制任务,体现了它的简便性。因为它便利的特点,很多的研究机构已经把它列为主流的体感控制设备。
2.1 Kinect在虚拟世界的应用
微软推出Kinect的初衷,就是为了辅助自己的家用主机Xbox来实现体感游戏,所以更多是使用在虚拟的环境中,作为虚拟和现实交互的桥梁。伴随着Kinect的大力推广,越来越多的游戏也加入了Kinect这一体感设备,微软随后也推出了自己应用级的产品:虚拟换衣系统。这种产品已经脱离了游戏这一领域,更多面向的是使用者。微软的这款虚拟换衣系统,利用AR技术模拟出试衣间的环境,利用体感交互设备来实现操作者的取衣,换衣操作。在试衣结束后,还可以利用AR知道户外的环境,使用者全程可以观看衣服是否适合自己。这样简单的换衣方法,使得人们无需脱衣服、穿衣服,几个简单的动作便可以换好一套衣服,节约了搭配的时间。将Kinect脱离游戏领域而面向日常生活,也给其他厂商提供了新颖的方向。
2.2 Kinect社会方面的贡献
Kinect的热度逐渐提高,越来越多的领域都开始尝试使用Kinect设备作为新的人机交互设备。在伦敦圣托马斯医院率先将Kinect引入了自己的手术室,医院设计了一款基于Kinect的体感交互系统来控制屏幕显示医生想要的资料,医生通过几个简单的动作,便可以查询各种信息。同时,Kinect自带的RGB摄像头也能够成为一个实时传输信号的设备来实现与其他专家的会诊。这一系统不仅给医生带来了更多的便利性,同时也大大改善了手术室的环境提高了手术成功率。
2.3 Kinect在控制领域的作用
Kinect可以作为控制机器人的一般性工具,一个实验者无需任何培训和前期学习,只要走到Kinect设备前然后做出动作便可以控制机器人,这无疑为机器人控制的推广增加了很多便利。而且Kinect开源的数据存储方式,也能让更多的开发者去使用这些数据去控制不同的物体。
Kinect SDK提供了新的虚拟背景,在镜头前的活跃用户的背景将使用虚拟背景。这种将实际背景移除用虚拟背景代替,是绿屏效果最迫切的需求,能够更方便的获得用户的图像信息,并且应用在广告、扩展实境游戏、训练和模拟环境,可以把用户放置在虚拟环境来实现融入其中的感觉。Kinect Fusion还提供了全彩色的三维模型捕捉,通过应用程序来获取场景中的深度信息,捕捉运动轨迹以及颜色来构建三维模型。在不断的扫描中获取物体的纹理,这样高精度的图像已经打到了3D打印和CAD建模的要求。
Kinect设备允许跟踪两个人体的骨骼信息,但是可以检测到六个人,也就是说两个人的信息可以实时更新,另外四个人的信息只能有一个模糊的存在的概念。Kinect可以识别的关节点有20多个,既使人在坐下的状态也能够识别10个关节点,这些关节点都在Kinect中有自己的名字。
骨骼跟踪有主动与被动两个模式。在主动模式下,可以通过使用一定的算法来获取两个用户的骨骼数据,包括骨骼坐标、距离等;而被动模式则是对另外四个人而言,也就是说假设有6个用户,除了实时跟踪的2个用户,其他的四个用户只是存在于被动模式,这个被动模式只是提供用户的大概位置信息,不会有骨骼信息、距离信息等精确的数据存在。因为要区分不同的用户,所以Kinect还会给每个骨骼一个ID,分配给视野中的每一个用户,在查找关节数据时候,骨骼ID就是用来区分不同用户的关键信息。
Kinect是我们日常生活中随时可以接触到的设备,通过阅读用户手册和不同的教学视频,我对Kinect的有了自己的理解,相信伴随着自己编程能力的提高,终有一天我可以用自己的C++程序来对Kinect进行开发。
[1] 宋璇.基于Kinect的上肢康复辅助系统的特性评价[D].北京理工大学,2015
[2] 石曼银.Kinect技术与工作原理的研究[J].哈尔滨师范大学自然科学学报,2013,(03):83-86
[3] 韩峥,刘华平,黄文炳,孙富春,高蒙.基于Kinect的机械臂目标抓取[J].智能系统学报,2013,(02):149-155
[4] 卢世军.生物特征识别技术发展与应用综述[J].计算机安全,2013,(01):63-67
[5] 孙树森,马文娟,桂江生,宋瑾钰.基于Kinect的互动应用开发课程开发探究[J].中国校外教育,2012,(30):161+165
[6] 王奎,安平,张艳,程浩,张兆扬.基于Kinect的实时深度提取与多视绘制算法[J].光电子·激光,2012,(10):1949-1956
[7] 刘鑫,许华荣,胡占义.基于GPU和Kinect的快速物体重建[J].自动化学报,2012,(08):1288-1297
[8] 赵秀萍.生物特征识别技术发展综述[J].刑事技术,2011,(06):44-48
10.3969/J.ISSN.1672-7274.2017.08.015
TN92文献标示码:A
1672-7274(2017)08-0037-02