在 Kinect硬件组成中有以下几个关键功能部件。
(1)红外摄影机。主动投射近红外光谱,照射到粗糙物体或是穿透毛玻璃后,光谱发生扭曲,会形成随机的反射斑点,即散斑,进而能被红外摄像头读取。
(2)红外摄像头。分析红外光谱,创建可视范围内的人体、物体的深度图像。
(3)彩色摄像头。用于拍摄视角范围内的彩色视频图像。
(4)麦克风阵列。声音从4个麦克风采集,同时过滤背景噪声,可定位声源。
(5)仰角控制马达。可编程控制仰角的马达,用于获取最佳视角。
从硬件系统看,它能提供三大类的原始数据信息,包括深度数据流、彩色视频流、原始音频数据等,同时分别对应骨骼跟踪身份识别和语音识别3种功能。骨骼跟踪是 Kinect体感操作的基础,它要求系统在允许的时延范围内,快速根据骨骼关节构建玩家的躯干、肢体、头部甚至手指,并在识别人体动作的时候,精度可以达到4cm。
从功能方面看,有3个主要子系统,即深度识别(3D图像识别技术)、人体骨骼追踪技术(动作捕捉技术)和语音识别技术。
1.深度识别
采用3D深度摄像机技术可以捕捉到人所在的空间位置,原理是红外线感应上有一个3D深度感应摄像头,首先通过红外线发射器发出一种不可见镭射光,这个光线经过扩散片分布在测量的空间内;当镭射光射到人体后会形成反射斑点,另外一个红外线摄像机对这些反射斑点进行记录,通过芯片合成出3D深度信息的图像。
2.人体骨骼追踪技术
识别到3D图像深度信息后,通过软件计算出人体主要的骨骼位置,通过精确掌握玩家身形轮廓与肢体位置来判断玩家的姿势动作,从而捕捉到人(用户)的动作。目前只支持两个人的骨骼捕捉。
3.语音识别技术
在3m以外过滤掉背景噪声和其他不相干声音,准确地识别出游戏用户的语音;同时也支持语音控制。 Kinect系统还有一个根据不同国家、不同的口音建立的“声效模型”用来识别不同的口语和语言。也支持语音控制。
Kinect在游戏中虚拟人物与真实人体的匹配度的高低是骨骼识别的关键,决定能实时抽象出多少个关节点,将关节点连在一起就是一个“火柴人”。关节点越多,骨骼越真实,骨骼在某一时间点的状态是静态的,骨骼中的某一关节点或多个关节点在空间的运动序列是动态的行为,进行动作识别最朴素的算法是基于动作序列的算法分析。
人脸识别是整个身份识别中最重要的一个部分,首先定位人脸的存在,其次基于脸部特征,对输入的人脸图像或视频流进行分析,如脸的位置、大小和各个主要面部器官的位置信息等,根据这些信息,提取每个人脸中所蕴含的身份特征,并将其与已知的人脸进行对比,从而识别每个人的身份。
语音识别包括很多层次的技术,如语音命令、声音特征识别、语种识别、分词、语气语调情感探测等多个方面。 Kinect麦克风阵列捕获的音频数据流通过音频增强效果算法处理来屏蔽环境噪声, Kinect阵列技术包含有效的噪声消除和回波抑制算法,同时采用波束成型技术通过每个独立设备的响应时间确定音源位置,并尽可能避免环境噪声的影响。
内容来源:喻晓和《虚拟现实技术基础教程第2版》