リモート制御のためのKinect

Xboxをプレイするの休憩中に Redmadrobotで既に行われていることとMicrosoft Kinectでできることを興味を持って見ています。 もちろん、私たちも実験を行っています。そのようなことの1つについて説明します。



相互作用の問題


非ボタン、ワイヤレス、およびその後一般的にデバイスとやり取りする非接触方式の開発により、インターフェイスはユーザーにフィードバックを少なく提供します。最初は、スイッチを切り替える際の実用的な信頼が奪われ、その後、ボタンを押すことですでに小さなフィードバックがなくなりました触覚は背景に消えます。

インターネットは、Kinectを使用してジェスチャを認識するソリューションで徐々に満たされ始めていますが、ほとんどすべては、ジェスチャの実行中に情報をまったく提供せず、アクションが完了した場合にのみ、それに対する反応を反映します。 これはまさに私たちが修正したかったものであり、これが何が起こったかです。









必要条件



ですから、私の前のタスクは、ユーザーが手でジェスチャーを実行する過程で、ユーザーが何をしているかを見ることができるようにすることでした。

ジェスチャの選択では、タッチスクリーンを備えたほとんどの携帯電話で私たち一人一人が観察するジェスチャに導かれました。4方向へのスクロール、クリック(および各ハンドごとに個別)、ピンチズームです。 また、ホバーアンドホールドによってアクティブな要素が選択された場合、もちろんカーソルモードがあります。



プロセスについて



事実の後にジェスチャーを認識する、つまり、ユーザーが既に「空中で円をねじった」ときに反応するオプションは、私たちには適していません。 別の方法で行うには、ユーザーがジェスチャの実行を開始する瞬間を何らかの方法で決定する必要があります。

そのような目的のために、特定の「開始」ポーズを使用することができます(ポーズ検出器とその実装について読むことができます )、ジェスチャーの前に「コントロール」を置くことができます(その後、ハンドジェスチャーとその進行が追跡されます)、または「アクティブゾーン」を選択できますユーザーアクションを監視します。

私は最後の方法で行ったが、これがこのゾーンの概略図です。







私はあなたがまだこれで実験できる予約をします:例えば、それをディスクのセクターにするか、それぞれの手であなたのゾーンを作ってください。 主なことは、このゾーンがユーザーに「結び付けられ」、ユーザーとともに移動することです。



寸法を縮小しましたが、実際には、平面上の点の移動を処理しています。 ポイントの初期座標と、動的にその移動の軌跡を取得します。







まず、手の震えとセンサーによる座標検出のエラーを中和します。「震えのしきい値」内で動きが生じた場合、それに反応せず、手は動きません。 ポイントがこのゾーンを離れるとき、手が中心からオフセットされる方向によってジェスチャーのタイプを決定します。

インターフェースのアニメーションを開始できます-ユーザーが何をしているかをすでに知っており、進行状況を監視するだけです。 ピンチジェスチャでは、手の距離とその変化のダイナミクスを測定します。



他に何?



ジェスチャの実行中にジェスチャの進行状況を判断するための要件に、検討中の領域を直ちに限定しました。 しかし、このことを気にしないのであれば、隠れマルコフモデルをねじ込んだり、空間内の仮想球体を特定したりすることができます。

興味がある場合は、 指示のあるトピックを参照し、KinectのMicrosoft Researchアプリケーション開発コンテストに耳を傾けて参加しください。



センサーの使用に関する質問など、PSに関する質問を歓迎します



All Articles