KINECT教程

1.1 Kinect for Windows Developer Toolkits
1.1.1 Kinect Studio
微软的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采用一种称为代理应用程序充
当KinectDevice v2的翻版。它模拟KinectDevice v2通过命名管道来发送数据流到。当您的自定义的Kinect v2的应用程序连接到KinectService,无论是KinectService 还是 自定义应用程序的行为,都如同你有一个真实连接设备。
在你去思考如何利用这个概念的想法时,我几乎可以肯定,微软将只授权它作为一个试验平台,它可能只可用于基于测试的情况。换句话说,我怀疑微软发布这一机制,作为产品时间助手,能够通过使用这种伪Kinect设备的代理副本增加的Kinect设备的数量,但我们必须等待微软决定做这个。
因此,为了使用这种方法,你需要使用一个可发送实时数据到Kinect Service的Kinect v2设备,或者您需要运行KinectStudioHostService应用程序和打开一个XEF文件,用于模仿Kinect v2设备。后面这种情况,你要通过点击“连接”按钮,来与中的一个已经运行的实例进行交互:
一旦连接成功,KinectService将运行接下来的早期已经开发的功能处理。
注: 从资源库中打开一个文件之前,请确保您启动了。只有KinectService已经运行,才能使KinectStudioHostSerivce与KinectService通讯,这也将允许应用程序连接到KinectV2设备或它的伪副本:KinectStudioHostService。
使用模式:
应用程序可以有意或无意的使用许多模式。我要先说,这个工具不是真的为机器学习而设置的。机器学习需要大量数据、计算和存储器,甚至是大数据分析,这些都远超出了这个工具的能力。但是我的朋友和同事之一安德烈亚斯建议也许我们可以拥有放置大量记录剪辑的大型资源库,XEF文件,这样我们就可以像一个大型试验台存储库来使用它。嗯,也许我们可以做一些穷人的机器学习的版本??反正用都没有的出路,让我们继续拥有…
对您的Kinect v2应用程序进行功能测试。
支持多种开发环境(当那里有没有足够的Kinect设备)。一个人可以记录数百个样品,然后使用网络资源库共享,开发人员可以使用的样本来测试应用程序。
在你的Kinect V2设备寻坏点
从Kinect的V2设备查看原始值
也有很多使用模式,我个人希望能看到,但对当前版本,它不具备,亦未必,除非我们都讲了…
以编程方式访问KinectStudio:
自动化单元测试或应用程序的各个部分功能测试这里的想法是,如果你可以通过编程方式控制播放和录制,这样将开启更多的机会。比如创建单元测试,并让它们自动启动构建使用Team Foundation Server。想像一下,在某些开发人员的逻辑检查测试,如果一只手在抓取运动。自动化可以通过多种抓握记录样品和发挥对一个自动化的运行实例的操作,并返回一个值的范围。这些值可以判断开发人员创建的自定义逻辑符合的标准,一个成功的单元测试。
自动记录某些事件:
安全相关特点的概念,当一个特定的事件引发脚本就可以开始为以后的检索记录过程和监控,正如监控摄像机所做
另一个想法是记录某些呈现良好态势与不良姿势的事件,并通知专家
作为产品发布应用程序或单独的配送,它可以为一个Kinect v2的自定义应用程序达到监视详细视图与调试目的,并允许它可以改变皮肤或删除功能
对自定义的Kinect v2应用,提供一种方法来查看原始的详细信息报告
通过KinectStudio v2发送数据到一个自定义的应用程序的步骤
我将采取的步骤如下:
启动应用
启动应用程序(如果它是第一次使用它,你必须使用/ d开关设置资料库文件夹的位置)穿孔塞焊
打开KStudio然后单击Connect(连接)
从系统资料库的打开样本剪辑 – 或使用现场设备
启动实时流(如果choosen)
启动所期望的Kinect V2设备的自定义应用程序
点击播放(从存储库中XEF文件),或开始从现场设备进行录制。
总结
如果你想知道什么我们到底能做到什么,我会告诉你。这个工具可以让你测试利用Kinect v2设备的Windows自定义应用程序。您可以记录一个人与应用程序交互,并再次播放该片段,来测试你的应用程序的功能。你可以看到深度值,IR值和彩像素坐标。这一切中最好的是,一旦你有一个或多个记录的剪辑你并不需要一个物理设备来测试自定义应用程序。你可以简单地连接KinectStudio v2到你的Kinect的服务和Kinecct主机代理,然后通过VisualStudio.Net或实时执行它启动您的自定义应用程序,并坐下来监督!
1.1.2 Face Tracking
人脸跟踪概念
首先现在大部分开发都针对Kinect for windows(目前1900RMB,还是有点贵的)了,但这个face tracking SDK在xbox版的Kinect依旧可以运行,自然精度会不好。Kinect for windows的深度数据是640*480的,而xbox的是320*240。而彩的RGB摄像头也清晰不少,这点官方没有具体介绍,但实际效果好很多。如果要做研究,自然使用贵很多的Kinect for windows了(这样也导致了个人一般不会去玩这个传感器),不过对于学校、公司这点钱不多。下面默认使用Kinect for windows,但代码稍加修改在xbox的kinect上也能运作。
face tracking参数
依赖于你PC的CPU能力,人脸跟踪引擎使用4~8ms对一帧图像进行人脸跟踪,仅仅只依赖于CPU(没有使用GPU)。
将会影响跟踪准确率的因素:
A.光照:光线应该充足,没有太多阴影或者太强的侧光。也就是光照要均匀,并且足够。
B.距离:距离Kinect的距离,距离体感越近则跟踪效果越好,当小于1.5m时,跟踪的效果是最好的,因为越近深度数据越精确。当然也不能太近了,如果小于0.5m,深度数据都无法
获取,或者人脸遮住摄像头了,也无法跟踪。
C.遮挡:戴厚眼镜或者Lincoln那样的胡子,人脸跟踪会有问题,这点还是需要改善的方面。
使用了Active Apperance Model作为二维特征跟踪器,然后我们把计算模型扩展到我们的Kinect深度数据上,然后它可以跟踪三维的人脸,这样使得它比二维特征点跟踪器稳健。AAM算法对于真实世界的情况不是很稳健。
具体技术
坐标系统:
使用了Kinect的坐标系统来输出三维跟踪结果(x,y,z)。Z轴是传感器到用户的距离,Y轴是上下指向。数据都是以米为计量单位(这样一般会读出2.之类的浮点数值),角度都是旋转角度(不是弧度)。
微型振动马达上图是输出的三维面具在kinect的坐标下情况。
输入图像:
彩图像和深度图像。其实还需要一个人头和脖子的三维坐标。
函数和结构
人脸追踪的SDK是免注册的COM对象。主要有4个COM接口
IFTFaceTracker:人脸追踪主要接口。
IFTResult:人脸追踪运算的结果。
IFTImage:图像缓冲区,类似OpenCV的Mat。
IFTModel:三维人脸模型
还有一些结构:
FT_SENSOR_DATA:包含用于人脸追踪所有所需的输入数据。
FT_CAMERA_CONFIG:包含彩或者深度传感器的信息。
FT_VECTOR2D:二维向量。也就是(x,y),(x,y)…
FT_VECTOR3D:三维向量。

本文发布于:2024-09-22 05:36:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/142404.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:应用程序   使用   设备   数据   样本
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议