嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

解析体感设备Kinect(一)

Kinect凭借其出色的体感互动能力, 打出“You are the controller!”的口号,正在引领着一场人机交互的变革。

来看看一个Kinect的 宣传视频:

[XBOX360] 《Kinect大冒险》高清宣传片:

什么是Kinect?

看看百度百科的解释。Kinect是微软在2010年6月14日对XBOX360体感周边外设正式发布的名字。Natal为开发代号。伴随Kinect名称的正式发布,Kinect还推出了多款配套游戏,包括Lucasarts出品的《星球大战》、MTV推出的跳舞游戏、宠物游戏、运动游戏《Kinect Sports》、冒险游戏《Kinect Adventure》、赛车游戏《Joyride》等。

 Kinect是一个Xbox360外接的3D体感摄影机,如下图,利用即时动态捕捉、影像辨识、麦克风输入、语音辨识等功能让玩家摆脱传统游戏手柄的束缚,通过自己的肢体控制游戏。

Kinect的历史

Kinect的硬件系统(本部分参考CSDN博文,作者scudz

Kinect的硬件系统其实并不复杂,如下图所示:

Kinect使用NEC uPD720114的USB 2.0集线器控制器作为数据集成接口,主要控制芯片包括Allegro Microsystems A3906(低电压步进器和单/双路直流电机驱动器)、Marvell AP102(带摄像机接口控制器的SoC)/PrimeSense PS1080-A2(成像处理器SoC)、TI TAS1020B(USB音频控制器)和其它辅助计算/存储设备。以下将依次分析Kinect的三大硬件原理:姿态调整、音频输入、视频输入。

1 转动电机系统

尽管Kinect提供了可跟踪目标物体的物理姿态调整机制,然而该部分相对比较简单,因为这些电机和塑料齿轮看起来有够简陋…实际上在官方出品的Programming Guide中描述了tilt机制的基本规格:±28°V,而Kinect成像系统自身的视角大小为43° V/57°H。同时手册还建议避免频繁调用tilt功能,其最低标准是每秒不超过1次(或每20秒不超过15次)调用。目前看来tilt功能脆弱且基本发挥不了作用,当然今后对应的商业版本可能会是个例外。

2 音频采集系统

Kinect的音频系统采用了四元线性麦克风阵列技术。一般而言,麦克风阵列中包含四个相互独立的小型麦克风,每个设备之间相距数厘米,其排列可呈线形或“L”形。与一般的单麦克风数据相比较,阵列技术包含有效的噪音消除和回波抑制(acoustic echo cancellation,AEC)算法,同时采用波束成形(Beamforming)技术通过每个独立设备的响应时间确定音源位置,并尽可能避免环境噪音的影响。

从元件上看,除了Kinect所有的四元麦克风阵列以外,还配置了Wolfson Microelectronics WM8737G(配置了前置放大器的24bits立体声ADC)用于进行本地的音频信号处理。

3 视频成像系统

Kinect的成像系统来源于PrimeSense的专利技术,尽管微软官方一直遮遮掩掩,但很容易通过分析PS的设计来了解Kinect。下面首先给出Kinect视频传感器的规格:

帧率:30FPS,深度/RGB数据;

帧解析度:深度数据QVGA320x240,RGB数据VGA640x480;

作用范围:1.2-3.5米,深度/RGB数据。