我目前正在使用提供深度图的Processing Kinect库。如果可能的话,我想知道如何将其用于创建2D骨架。这里没有寻找任何代码,只是我可以用来实现这些结果的一般过程。
另外,鉴于到目前为止我们在几款Kinect游戏中已经看到过这种情况,是否很难同时运行多个骷髅?
答案 0 :(得分:5)
免责声明:你仍然没有得到这个问题的答案的原因可能是因为这是当前的研究问题。所以我不能给你一个直接的答案,但会尝试为这个主题提供一些信息和有用的资源。
从深度图创建骨架主要有两种不同的方法。第一个是使用机器学习,第二个是纯算法。
对于机器学习的机器,您需要许多人做预定动作的样本,并使用这些样本来训练您最喜欢的学习算法。这是微软在XBox(source)中采用和实现的方法,它运行得很好但是你需要数百万个样本才能使它可靠......这是一个很大的缺点。
“算法”方法(不使用训练集理解)可以通过许多不同方式完成,并且是一个研究问题。它通常基于对可能的身体姿势进行建模,并尝试将其与所接收的深度图像相匹配。这是PrimeSense(kinect深度相机技术背后的人)为其骨架跟踪工具NITE选择的方法。
OpenKinect community维护着一个wiki,列出了有关此主题的interesting research material。您可能也对this thread on the OpenNI mailing list感兴趣。
如果您正在寻找骨架跟踪工具的实现,PrimeSense发布了他们制作的NITE(关闭源代码:它是OpenNI framework的一部分。这就是您可能看到的涉及骨架跟踪的大多数视频中使用的内容。我认为它可以同时处理多达2个骷髅,但这需要确认。
答案 1 :(得分:2)
最好的解决方案是使用需要OpenNI的FAAST(http://projects.ict.usc.edu/mxr/faast/)。我一直在努力让OpenNI在我的电脑上工作。我还没有看到使用Code Laboratories的CL NUI的方法。
答案 2 :(得分:1)
算法方法是http://code.google.com/p/skeletonization/但您可能遇到问题,因为您的深度图仅表示曲面而没有闭合对象。