2011年7月22日金曜日

Kinect.Toolkit にジェスチャのテンプレートを追加する

Eternal CodingCode PlexでKinectでジェスチャの認識をするためのライブラリが公開されてます。

記事を読むのが一番早いと思いますが、ライブラリでは点の軌跡をそのまま解析する方法と、テンプレートを予め用意しておいてそれと比較する二種類の方法があるようです。

今回はそのテンプレートを自作してみようと思います。
どういうことかというと、公開されているサンプルの

この部分に表示されるものを自分で作ってみます。
(circleKB.saveに当たるものを作る。)

自作するジェスチャは次のような感じ。


今回はこのジェスチャの軌跡をテキストファイルに手打ちして、それを読み込んで.saveファイルを作成してみました。
大体の手順はTemplateGestureDetectorのAddメソッドに座標を追加していって、それをSaveStateメソッドでファイルに保存します。
以下が正確ではないですがコードにしたものです。

TemplateGestureDetector gd = new TemplateGestureDetector(null);
gd.StartRecordTemplate()
for (i = 0 ; i < n ; i++) {
gd.add(position , kinect.SkeletonEngine);
}
gd.EndRecordTemplate()
gd.SaveState(stream)


作成した結果がこちら


公開されているサンプルはほとんどいじっていないので、自作したテンプレートの認識結果を載せようとすると自分が写ってしまうので載せませんが、このとおりの動きをしたらきちんとジェスチャが認識されました。
最初に予定していたのに比べると傾いてしまいましたが、これは説明文をもっときちんと読むことで解消できるかと思います。

プロジェクトはこちらDownLoad

0 件のコメント:

コメントを投稿