Kinect技术与工作原理的研究

2013-10-24 10:17:44石曼银
关键词:关节点体感骨骼

石曼银

(宁德师范学院)

0 引言

Kinect是微软公司2010年推出的一款XBOX360体感外部设备[1],是目前世界上唯一一款较为成熟的商业人体动作感知设备,目前大量的应用在体感游戏上.微软与伊朗PrimeSense公司合作,以廉价的成本实现了深度摄像头的功能,通过深度摄像头和RGB彩色信息以及相控阵麦克风提供的信息,使得Xbox可以感知和识别玩家及其运动,进而操控游戏中的人物,提高游戏的可玩性.这款设备刚问世便打破了消费性电子产品销售最快的吉尼斯世界记录[2].Kinect向世人宣布:你就是控制器(You are the controller).站在Kinect前,它立刻就能分辨出你是谁,还能将你和其他人区分开来.当你移动时,Kinect的传感器能在瞬间追踪到你.并且用声音和肢体移动就可以实现互动,可以播放电影、玩游戏.它成功实现了自然人机交互方式,促使其很快被世人接受.

Kinect不仅可以玩游戏,还可以应用在医疗、教育、三维人体建模等领域,许多富有创意的应用应运而生.

1 kinect传感器的硬件组成

Kinect的整体结构如图1所示,从外观上看,Kinect也只有三只“眼睛”,从左到右分别是红外摄影机、彩色摄像头、红外深度摄像头.此外,Kinect还暗藏着四只“耳朵”——L形布局的麦克风阵列.除了语言指令和体感操作指令外,Kinect没有其他形式的用户输入,其输入系统的关键是由麦克风和摄像头组成的感应器系统.

图1 Kinect实物图及其组件

打开Kinect传感器的外壳,会发现Kinect是一个结构复杂的设备,内部包含很多感应器元件和处理芯片,如图2所示.

图2 Kinect硬件分解图

Kinect关键部件及功能如下:

(1)红外摄影机:主动投射近红外光谱,照射到粗糙物体、或是穿透毛玻璃后,光谱发生扭曲,会形成随机的反射斑点,即散斑,进而能被红外摄像头读取.

(2)红外摄像头:分析红外光谱,创建可视范围内的人体、物体的深度图像.

(3)彩色摄像头:用于拍摄视角范围内的彩色视频图像.

(4)麦克风阵列:声音从4个麦克风采集,同时过滤背景噪声,可定位生源.

(5)仰角控制马达:可编程控制仰角的马达,用于获取最佳视角.

2 Kinect的工作原理

Kinect作为一个传感器,本质上也只是一个输入设备.它能提供三大类的原始数据信息,包括深度数据流、彩色视频流、原始音频数据等,同时分别对应骨骼跟踪、身份识别、语音识别等三种功能.骨骼跟踪是Kinect体感操作的基础,它要求系统在允许的时延范围内,快速根据骨骼关节构建玩家的躯干、肢体、头部甚至手指.

游戏中虚拟人物与真实人体的匹配度的高低是骨骼识别的关键,决定于能实时抽象出多少个关节点,关节点连线在一起就是一个“火柴人”.关节点越多,骨骼越真实.骨骼在某一时间点的状态是静态的,骨骼中的某一关节点或多个关节点在空间的运动序列是动态的行为.进行动作识别最朴素的算法是基于动作序列的算法分析.

人脸识别是整个身份识别中最重要的一个部分.首先定位人脸的存在,其次基于脸部特征,对输入的人脸图像或视频流进行分析,如脸的位置、大小和哥哥主要面部器官的位置信息等,根据这些信息,提取每个人脸中所蕴涵的身份特征,并将其与已知的人脸进行对比,从而识别每个人的身份.

语音识别包括很多层次的技术,如语音命令、声音特征识别、语种识别、分词、语气语调情感探测等多个方面.Kinect麦克风阵列捕获的音频数据流通过音频增强效果算法处理来屏蔽环境噪声.Kinect阵列技术包含有效的噪声消除和回波抑制算法,同时采用波束成形技术通过每个独立设备的响应时间确定音源位置,并尽可能避免环境噪声的影响.

2.1 深度图像成像原理

深度数据是Kinect的精髓.Kinect通过发射近红外线光源来获得深度图,只要有大字形的物体,Kinect都会去追踪,即便不开灯,Kinect也会去追踪.Kinect有发射、捕捉、计算视觉重现的类似过程.它的“深度眼睛”是有红外投影机和红外摄像头组合而成的,投影和接收互为重叠.

微软Kinect深度图想采用的是Light Coding技术,就是用光源照明给需要测量的空间编码,属于结构光技术的一种,只是深度计算方式不一样.Light Coding的光源称为“激光散斑”,是激光照射到粗糙物体或穿透毛玻璃后随即形成的衍射斑点.这些散斑具有高度的随机性,而且会随着距离的不同而变换图案.即空间中任意两处的散斑图案都是不同的.只要在空间中打上这样的结构光,整个空间就都被做了标记,把一个物体放进这个空间,只要看看物体上面的散斑图案,就可以知道这个物体在什么位置了.在这之前要把整个空间的散斑图案都记录下来,所以要先做一次光源标定.标定的方法是每隔一段距离,取一个参考平面,把参考平面上的散斑图案记录下来.

2.2 骨骼图的形成原理

Kinect通过红外摄像头看到三维世界后,就要分辨出视野中可能是人体的移动物体,即从深度图像生成骨骼图.

识别人体的第一步是从深度图像中将人体从背景环境中区分出来,这是一个从噪声中提炼有用信息的过程,Kinect系统会首先分析比较接近Kinect的区域.接着逐点扫描这些区域深度图像的像素,从深度图像中将人体各个部位识别出来,人体部位是通过特征值来快速分类的,这一过程为计算机图形视觉技术,包括边缘检测、噪声阈值处理、对人体目标特征点的分类等,最终将人体从背景环境中区分出来.接下来要进一步识别人体的关节点,系统根据“骨骼跟踪”的20个关节点来生成一幅骨架系统,通过这种方式Kinect能够基于充分的信息最准确地评估人体实际所处的位置.Kinect可以主动追踪最多2个玩家的全身骨架,或者被动追踪最多6名玩家的形体和位置.Kinect的骨骼识别可以兼容不同身高的人体,从幼儿到成人都可以识别得准确,还可以分辨站姿、坐立在椅子或沙发上的人体.

2.3 构造虚拟人体

Kinect可以识别追踪到人的声音和肢体语言,甚至面部表情.Kinect从深度图像中识别出人体骨骼后,可以进一步构造丰满的肢体,构建的整个过程类似人体素描,先勾勒出人体骨骼,再画出肌肉.Kinect采用泊松方程等算法进行噪声滤除,通过这种方法可判断人体表面特征点是噪声还是真实存在.从技术算法层面上来看,先抓取特征点周边表面的角度和朝向,进而判断该点可能存在于空间的位置.同时根据朝向判断,在特征点周围形成一个虚拟的距离场.再利用平滑算法,判断漏洞附近的表面朝向,进而实现自动修补,从而粗糙变平滑、缺陷自动补齐.这样就可以看到一颦一笑,栩栩如生的虚拟人.这其中涉及广泛的计算机视觉和图形学知识.

3 Kinect的应用

Kinect体感设备在游戏领域的应用已经比较普及,在其他领域的应用和实验性应用正在快速发展,下面的总结有些是概念原型,有些是真实的应用.

3.1 体感操作应用

体感操作可应用在手术室.手术室环境对无菌要求非常高,传统鼠标键盘等人机交互方式存在很多限制,Kinect体感操作可摆脱这些束缚,可在手术进行时用手势调阅患者病灶影像、放大/缩小图片,以及翻阅病历等.还可应用在体育运动竞技中,教练员用传统的肉眼判断训练方式,对竞技水平的进一步提高已没有优势.利用Kinect骨骼跟踪技术,无需特制发光点,结合运动人体科学,用于体育竞技训练的三维动作捕捉,从而提高运动员训练水平.还可结合Kinect骨骼跟踪技术与增强现实技术,创建虚拟试衣镜.顾客无需进入试衣间脱衣试穿,只要站在镜子前,就可利用Kinect通过手势从屏幕上选择各款衣服,搭配鞋裤以及挎包等,并且无须试穿,就能见到3D效果.Kinect体感操作在课堂、虚拟汽车展厅、CG动画制作、聋哑人的同声翻译等领域都有广泛的应用.

3.2 深度数据应用

深度数据可在医疗上应用于老年人监护及康复训.在关键的走廊、起居环境安装Kinect摄像头,通过骨骼跟踪和深度图像数据获得监护老年人的步伐数据,包括步行速度、步长、走路时间,可以在早期判断是否出现功能性下降.利用Kinect能捕捉中风病人四肢移动的距离、速度和角度,协助患者做相应的康复训练.Kinect的深度数据还可应用在家庭监控及道路交通稽查上.利用人体骨骼跟踪特性,可以轻易发现视野范围内的人,使用彩色摄像头拍摄照片,利用网络将消息传送到手机端,可及时通知主人有不速之客.并且,Kinect的红外线摄像头在黑夜一样可以工作.Kinect红外摄像头很容易利用“深度图像”分辨出后座是否超载,还可以“看到”肉眼无法识别的贴膜车窗后面是否有人.

3.3 实物3D建模应用

当传统建模方法不可行或成本效益较差时,利用Kinect将现实世界中不同尺寸、材质的部件进行3D扫描,然后根据需要进行修改和拼接,实现实物3D数字化.在建筑、工程、工业设计甚至交互游戏中,都具有很高的价值.随着Kinect的出现,文物3D模型的构建也有了新的解决方案,Kinect红外摄像头的3D扫描功能为考古报告、建筑物测绘图等生成提供了可能.利用Kinect红外摄像头进行人体3D扫描,配合3D打印机,还可以在街头为游客快速生成人像纪念品.

3.4 机器人视觉与控制

机器人要移动,就必须能够创建它所处周围环境的地图,同事能够理解身处的位置.物美价廉的Kinect拥有能够实时拍摄3D图像的摄像头,而且重量轻巧,可以为机器人添加导航算法,执行路径追踪、路径规划,是机器人视觉不二的选择.利用Kinect的特性,在地震搜救中、深海探测方面都可以很好的应用.在工程机械臂控制上,作业员利用Kinect捕捉双手的空间运动,进而可控制相应的机械臂.

4 Kinect目前存在的问题

Kinect目前也有自己的一些问题.首先,有延时,Kinect摄影机的影像刷新频率30FPS,代表动作传递将会有33 ms(1/30 s)的延迟.虽然并不怎么严重,但是你不能指望Kinect和鼠标反应的一样快.其次,Kinect对手势的支持还十分有限,只能捕捉一些简单的动作.第三,深度感应范围有限,体态控制需要操作者站在距摄像头1.5~3 m的范围.如果可以站在 0.5~1 m的距离内使用手势控制,相信可以得到更多的应用空间.第四,散热方面的设计还需要进一步提高.第五,需要适当增加硬盘的存储空间.最后,Kinect的商业许可到底怎么弄,现在还不是很清楚.不过相信随着 Kinect SDK的发布,这个问题会越来越清晰.

5 结束语

当前kinect的开发重点还在游戏领域,并且普及率很好,但是从长远发展来看,kinect的应用会呈多样性趋势发展,对kinect在其他领域的应用进行开发和挖掘的意义相当重大.Kinect的开发成本低,难度不高,以当前Kinect的性能来说,可以实现许多富于想象力的人机交互方式,但是科技的发展不会停止,相信将来会有更多的创新,会制造出更多更适合人类社会的产品.

[1] [EB/OL].http://www.xbox.com/en-US/kinect.

[2] Kinect简介.[EB/OL].http://www.hqew.com/tech/wiki/4815.html#dzt22324.

猜你喜欢
关节点体感骨骼
做家务的女性骨骼更强壮
中老年保健(2021年5期)2021-12-02 15:48:21
体感交互技术在脑卒中康复中的应用
三减三健全民行动——健康骨骼
中老年保健(2021年5期)2021-08-24 07:06:28
基于深度学习和视觉检测的地铁违规行为预警系统研究与应用
关节点连接历史图与卷积神经网络结合的双人交互动作识别
人体体感感知机械手设计与实现
电子制作(2019年13期)2020-01-14 03:15:20
非触控式的体感机械臂交互控制系统研究
电子制作(2017年13期)2017-12-15 09:00:05
骨骼和肌肉
小布老虎(2017年1期)2017-07-18 10:57:27
搞好新形势下军营美术活动需把握的关节点
体感语境下的交互行为设计
工业设计(2016年6期)2016-04-17 06:42:49