0

i am working on an application ( game sorta ) which uses the kinect as an input device. i need a "moderator" to be able to reset the application once new users are interested.

i was thinking that covering the sensor with a hand for some seconds could do the trick. however the only way to achieve that would be to analyze the rgb camera output all the time for "all black".

any thoughts on this?

thanks a lot.

p.s.: i am using the openni sdk on mac and the game is developed in as3 using the airkinect framework.

4

3 回答 3

1

您应该首先回答用户和版主如何与应用程序和活动交互空间进行交互的问题。如果主持人必须靠近 Kinect 传感器并遮盖摄像头才能重置实例,为什么不给他们一个无线键盘或鼠标来握住呢?在这种情况下,单击鼠标或击键可以重置场景——键盘将提供许多其他键来在多个场景或配置设置之间跳转。

如果您真的需要主持人的“免提”解决方案,我会研究手势或语音识别。我对 OpenNI 不太熟悉,所以下面的链接将引用 Microsoft SDK,但可以用于参考和想法......

在语音识别的情况下,可以使用“激活”关键字(例如,“Kinect”或“计算机”),然后是一个动作请求(例如,“破坏序列 3,代码 1 B-2B-3”,或者只是如果您想无聊,请“重置”)。您可以在此处阅读有关使用 Microsoft 库的语音识别的更多信息:http: //msdn.microsoft.com/en-us/library/system.speech.recognition.aspx

对于手势,您可以使用静态手势来重置场景——例如,在 XBox 上,将一只手臂放在您的身边,另一只手臂呈 45 度角,您将返回主菜单。您总是可以假设主持人会站在某一方,或者永远是第二个进入现场的玩家。如果需要,您可以不关心并让用户重置场景。你也可以把它混在一起,让主持人先给出一个“控制”手势或语音命令,这样系统就知道他们是主持人,然后给出重置(或其他)手势。

这里有两个可以对此有所帮助的手势库:

于 2013-09-11T15:36:10.903 回答
1

你提到的听起来像是一个公平的解决方案。在类似的线路上,您甚至可以使用深度传感器并将深度检测为(大约)0 以触发重置。

但是,我可以提出使用任何一种解决方案都可能出现误报的情况。为使用户保持简单,您甚至可能希望为此使用零深度和全黑的组合​​。

让它变得复杂和准确,您可以使用二维码或红色纸来指示(停止)。一个绿色(用于 GO)等。

(如果您觉得足够,请将此解决方案标记为已接受。等待您的意见,如果有的话。)

于 2013-09-10T22:24:39.473 回答
1

我的第一个想法是使用语音识别。这似乎是一种比覆盖传感器更自然的交互。如果您限制语音命令,则效果很好。

我过去曾使用语音识别来确定“运动场”的最左侧和最右侧边缘,方法是将我的手放在其中一个边缘上并说“校准”、“左侧”、“右侧”和“好的”来确认. 它工作得很好。如果你有很多人在说话,你可以先听一个关键词。所以“Kinect:校准”和“Kinect:左”过滤掉误报。

于 2013-09-11T08:01:12.223 回答