一名热爱体感技术的
业余专业开发人员

[转载]探索Kinect Studio V2

转载来自广州飞泰数码的爱伊的文章

今天下午翻译了一篇国外介绍Kinect studio v2的文章,时间很短,比较粗糙,大致可以读通吧。
可以对Kinect studio v2有个大致了解。
原文连接(要翻墙):http://dgoins.wordpress.com/2014/03/30/exploring-the-kinect-studio-v2/

———————————————————————————————————————-
以下是译文(最后面有视频):
———————————————————————————————————————-

微软的Kinect for Windows(K4W)团队再次创建了它。他们已经发布了一些新的测试版软件和一个SDK与新的Kinect v2设备一起工作。

注:这是基于初步的软件/硬件,可能会改变。

在他们最近的Kinect v2 SDK(preview 1403)更新中。开发者预览计划的成员现在可以去看看新的Kinect Studio V2,去探索微软花了大部分精力开发的万众期待的Kinect Studio应用程序的Kinect v2 版本有多么精彩。

介绍

本文讲述的是关于 第2版Kinect设备所使用的Kinect Studio以及应用程序如何工作。还讨论了潜在的使用模式,并快速的一步步讲解如何在定制的基于Kinect v2应用程序中去使用它。如果这听起来很有趣,请继续往下看。

KinectStudio V2允许开发人员,测试人员和爱好者测试利用多个记录样本来测试自定义的Kinect v2应用。它还允许开发者查看Kinect v2设备某一帧的基于像素的视图数据。见下图。

Kinect Studio v2的功能

让我们来分解说明目前的功能特点:

· 从Kinect v2设备录制样本剪辑:

§ Color,depth,IR,IR长时间曝光,body帧,body索引,计算机系统信息,系统声音,相机设置,相机标定

· 回放录制的样本剪辑:

§ Color,depth,IR,IR长时间曝光,body帧,body索引,计算机系统信息,系统声音,相机设置,相机标定

· 直接从连接的Kinect V2设备播放实时数据

· 从录制和播放的样本剪辑中查看三维坐标和数据

§ 可在3-D空间放大,扭曲,旋转

· 从录制和播放的样本剪辑中查看二维坐标和数据

§ 可放大

· 察看不同的视角:

§ Kinect视角

§ 方向性的立方体(Orientation Cube)

§ 地板平面(这里指透视图中地板)

· 通过不同的点云呈现深度数据:

§ 彩色点,灰色点

· 通过材质和不同颜色的深浅(RGB和灰度)呈现深度数据

· 查看红外数据和值:

§ 在一个特定的像素x,y坐标

§ 通过一个灰色图查看

· 从文件打开样本剪辑

· 从库中(网络共享)打开并连接样本剪辑

· 观测帧信息:

§ 帧#,开始时间,持续时间

· 放大特定帧

· 选择要记录的流

 

这个工具如何工作?

KinectStudio v2应用程序是一个Windows Presentation Foundation应用程序,挂接到一些托管和原生C + +库,用于访问颜色,深度和红外流的数据。该工具可直接连接到Kinect v2设备,或利用专用的Xef格式的二进制文件,它源自于.XTF的Xbox文件。

通过File->Open命令连接到一个文件,您具有有限的功能,例如对.Xef样本文件内的监测值进行回放 并 查看的信息帧。

通过File->Open from repository的命令连接到一个可用的Kinect v2设备:

你将具有更多的功能,如向一个自定义应用程序播放的实时流数据的一个或多个源。

其工作原理是,Kinect Studio采用一种称为KinectStudioHostService.exe代理应用程序充当KinectDevice v2的翻版。它模拟KinectDevice v2通过命名管道来发送数据流到KinectService.exe。当您的自定义的Kinect v2的应用程序连接到KinectService,无论是KinectService 还是 自定义应用程序的行为,都如同你有一个真实连接设备。

在你去思考如何利用这个概念的想法时,我几乎可以肯定,微软将只授权它作为一个试验平台,它可能只可用于基于测试的情况。换句话说,我怀疑微软发布这一机制,作为产品时间助手,能够通过使用这种伪Kinect设备的代理副本增加的Kinect设备的数量,但我们必须等待微软决定做这个。

因此,为了使用这种方法,你需要使用一个可发送实时数据到Kinect Service的Kinect v2设备,或者您需要运行KinectStudioHostService应用程序和打开一个XEF文件,用于模仿Kinect v2设备。后面这种情况,你要通过点击“连接”按钮,来与KinectServiceHost.exe中的一个已经运行的实例进行交互:

一旦连接成功,KinectService将运行接下来的早期已经开发的功能处理。

注: 从资源库中打开一个文件之前,请确保您启动了KinectService.exe。只有KinectService已经运行,才能使KinectStudioHostSerivce与KinectService通讯,这也将允许应用程序连接到KinectV2设备或它的伪副本:KinectStudioHostService。

使用模式:

应用程序可以有意或无意的使用许多模式。我要先说,这个工具不是真的为机器学习而设置的。机器学习需要大量数据、计算和存储器,甚至是大数据分析,这些都远超出了这个工具的能力。但是我的朋友和同事之一安德烈亚斯建议也许我们可以拥有放置大量记录剪辑的大型资源库,XEF文件,这样我们就可以像一个大型试验台存储库来使用它。嗯,也许我们可以做一些穷人的机器学习的版本??反正用都没有的出路,让我们继续拥有…

1 对您的Kinect v2应用程序进行功能测试。

2 支持多种开发环境(当那里有没有足够的Kinect设备)。一个人可以记录数百个样品,然后使用网络资源库共享,开发人员可以使用的样本来测试应用程序。

3 在你的Kinect V2设备寻找坏点

4 从Kinect的V2设备查看原始值

也有很多使用模式,我个人希望能看到,但对当前版本,它不具备,亦未必,除非我们都讲了…

1 以编程方式访问KinectStudio

1.1. 自动化单元测试或应用程序的各个部分功能测试

1.1.1. 这里的想法是,如果你可以通过编程方式控制播放和录制,这样将开启更多的机会。比如创建单元测试,并让它们自动启动构建使用Team Foundation Server。想像一下,在某些开发人员的逻辑检查测试,如果一只手在抓取运动。自动化可以通过多种抓握记录样品和发挥对一个自动化的运行实例的操作,并返回一个值的范围。这些值可以判断开发人员创建的自定义逻辑符合的标准,一个成功的单元测试。

1.2. 自动记录某些事件。

1.2.1. 安全相关特点的概念,当一个特定的事件引发脚本就可以开始为以后的检索记录过程和监控,正如监控摄像机所做

1.2.2. 另一个想法是记录某些呈现良好态势与不良姿势的事件,并通知专家

2 作为产品发布应用程序或单独的配送,它可以为一个Kinect v2的自定义应用程序达到监视详细视图与调试目的,并允许它可以改变皮肤或删除功能

3 对自定义的Kinect v2应用,提供一种方法来查看原始的详细信息报告

通过KinectStudio v2发送数据到一个自定义的应用程序的步骤

我将采取的步骤如下:

1 启动KinectService.exe应用

2 启动KinectStudioHostService.exe应用程序(如果它是第一次使用它,你必须使用/ d开关设置资料库文件夹的位置)

3 打开KStudio然后单击Connect(连接)

4 从系统资料库的打开样本剪辑 – 或使用现场设备

5 启动实时流(如果choosen)

6 启动所期望的Kinect V2设备的自定义应用程序

7 点击播放(从存储库中XEF文件),或开始从现场设备进行录制。

总结

如果你想知道什么我们到底能做到什么,我会告诉你。这个工具可以让你测试利用Kinect v2设备的Windows自定义应用程序。您可以记录一个人与应用程序交互,并再次播放该片段,来测试你的应用程序的功能。你可以看到深度值,IR值和彩色像素坐标。这一切中最好的是,一旦你有一个或多个记录的剪辑你并不需要一个物理设备来测试自定义应用程序。你可以简单地连接KinectStudio v2到你的Kinect的服务和Kinecct主机代理,然后通过VisualStudio.Net或实时执行它启动您的自定义应用程序,并坐下来监督!
有视频更有真相