KinectDollar1

利用者ゼロの気がするけど、あいかわらずKinectをPharoにつなげています。

先日、大島さんが$1 Gesture RecognizerのSqueak実装を公開されたので、さっそくKinectで利用してジェスチャー認識をさせてみました。

最初のKinectOSCはサンプルだけで実用性に乏しかったのですが、ジェスチャー認識できれば応用も見えてくるかな。

以前の記事に従ってKinectOSCを導入したら(過去に導入してたら最新版に更新する必要あり)、大島さんの$1 Gesture Recognizerを導入します。

MCHttpRepository
location: 'http://ss3.gemstone.com/ss/Dollar1’
user: ''
password: ''

Dollar1MorphをPharoで試すには、initializeのsketchの初期化部分を以下のように変更する必要があるけど、Kinectで動かすなら特に変更は不要です。(でもせっかくだから変更しましょう)

sketch := ImageMorph withForm: samplePicture.

後はKinectDollar1を導入すればOK。

MCHttpRepository
location: 'http://ss3.gemstone.com/ss/KinectDollar1’
user: ''
password: ''

ジェスチャー認識のキモ部分は全て大島さんの実装にかかっており、このモーフの仕事は単に骨格の情報からストロークを切り出すことだけなのですが、アドホックな実装なので以下に気をつける必要があります。

  • ジェスチャーを認識するのは右手のみ。
  • 首よりも前に突き出したときに認識するようになっている。
  • ストロークのはじまりと終わりには、1秒程度静止する必要がある。
  • ストロークの記録が始まる時は骨格の背景のグレーが少し明るくなる。
  • 今のところProtractorには対応してない。

実際の利用はこんな感じです。

  1. まずは身体を認識させる(緑背景で骨格が表示されればOK)
  2. 右手を突き出して1秒ほど静止する。
  3. 背景が明るいグレーになったらジェスチャーを始める。
  4. 終わったら(気持ち、開始時より長めに)1秒ほど静止する。
  5. 画面の上に認識結果が表示される(はず)

慣れないと最初はうまく認識できないかもしれません。私自身はジグザグも星も認識されました。

さて、これを何に使うかな。