如何获取与其他帧同步的FaceFrame? [英] How to acquire a FaceFrame that is in sync with the other frames?

查看:99
本文介绍了如何获取与其他帧同步的FaceFrame?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我正在尝试从KinectV2中提取面部跟踪数据。

Hello, I am trying to extract face tracking data from the KinectV2.

获取数据的唯一方法是执行以下方法:

The only way to get to the data is to go through the following methods:

- CreateFaceFrameSource(获取IFaceFrameSource)

- CreateFaceFrameSource (to get IFaceFrameSource)

- OpenReader(在IFaceFrameSource上获取IFaceFrameReader)

- OpenReader (on the IFaceFrameSource to get IFaceFrameReader)

-   AcquireLatestFrame(在IFaceFrameReader上获取IFaceFrame)

- AcquireLatestFrame (on the IFaceFrameReader to get the IFaceFrame)

- get_FaceFrameResult(在IFaceFrame上获取  IFaceFrameResult)

- get_FaceFrameResult (on the IFaceFrame to get the IFaceFrameResult)

这是正确的吗?

理想情况下,我希望能够通过  IMultiSourceFrame访问它,是有一个原因似乎没有办法让脸部框架通过那个?如何确保面部框架与从IMultiSourceFrame接收的其余框架同步?

Ideally, I want to be able to access it through the IMultiSourceFrame, is there a reason there seems to be no way to get the face frame through that? How do I ensure that the face frame is in sync with the rest of the frames received from the IMultiSourceFrame?

我知道我可以从面部框架访问Body和Color框架的框架参考。这是为了什么?

I know I am able to access the frame reference to the Body and Color frames from the Face Frames. What is the intention of this?

谢谢。




推荐答案

vifed,

我实际上无法谈论K4W团队的工程模式,但是我可以帮助流下对此有所了解。 Kinect Face和Kinect HD Face可以在不同的dll和库中找到,而不是核心。它依赖于Body,Depth和IR流
,这是核心。 multisourceFrame是一种同步核心数据流的方法,而不是构建在核心之上的任何扩展/库。

I can't actually speak to the engineering pattern of the K4W team on this, however I can help shed some light on this. The Kinect Face and Kinect HD Face are found in different dll's and libraries than the core. It relies on the Body, Depth and IR streams which are core. The multisourceFrame is a way to synchronize the core streams of data, not any extensions/ or libraries which are built on top of the core.

如果你想访问相应的(或者同步)深度,红外线,颜色和身体流,你可以使用你上面提到的参考。

If you want to get access to the corresponding (or synchronized) Depth, IR, and Color, and Body streams, you can use the references like you mentioned above.

我没有看到让Face和HD Face同步的方法multiSourceFrame阅读器,因为Face需要一个被跟踪的主体。你可以拥有彩色框架,红外线框架,没有身体或身体索引的深度框架,所以在这种情况下你如何同步
他们,你是否只是取消流,或者如果你选择包括Face,你不返回任何内容?这是工程团队面临的一个问题,我确信他们不会这样做,因为它不是核心。

I don't quite see a way to have Face and HD Face synchronize to the multiSourceFrame reader, simply because Face requires a tracked body. You can have color frames, IR frames, depth frames without a Body or Body Index, so in this case how do you synchronize them, do you just nullify the streams, or not return any if you choose to include Face? This is a question the engineering team faced which I'm sure they rather not do either since it's not core.

前面提到的流程步骤背后的原因很简单 - 首先你需要初始化FaceFrameSource组件并将其附加到KinectSensor。这是必要的,因为它是一个单独的库,并且库需要将它的算法
附加到给定的传感器。

The reasoning behind your process steps mentioned earlier is simple - First you need to initialize the FaceFrameSource component and attache it to the KinectSensor. This is necessary because its a separate library, and the library needs to attach it's algorithm to the given sensor.

其次,您需要从FaceReader组件获取事件。这就是你如何发现是否找到一张脸的方法。

Second you need to get the events from the FaceReader component. This is how you find out if a face is found or not.

第三,如果你想找到关于脸部的更多细节,比如脸部的位置,以及它的具体细节,你需要FaceFrame。

Third if you want to find more details about the face, such as where the face is, and it's specific details, you ask for the FaceFrame.

第四,一旦你掌握了信息框架,就可以找出置信度因子,运用你自己的算法来确定如果你的结果令人满意的话该做什么应用需求。

Fourth once you have the frame of information, you can figure out confidence factors, to apply your own algorithm to determine what to do if you have a result satisfactory to what your application needs.


这篇关于如何获取与其他帧同步的FaceFrame?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆