logo header
logo header
logo header
logo header
  • 2017.10.17
  • 開発

デプスカメラでジェスチャー認識をしてみよう! ジェスチャー認識編

前回の記事「デプスカメラでジェスチャー認識をしてみよう! ポーズ認識編」では、ポーズを設定し、設定したポーズの認識までを行いました。
今回はジェスチャー認識を行いたいと思います!

ポーズとジェスチャーの違い

ジェスチャーを認識させるにあたり、まずは「ポーズ」と「ジェスチャー」の違いをご説明します。
ポーズは1つの姿勢を表すのに対して、ジェスチャーは複数のポーズの連続と言えます。

例えば「右手を振る」というジェスチャーを表現すると、
「右手を右上に挙げる」というポーズと「右手を左上に挙げる」というポーズの2つのポーズが交互に変化している動作と言えます。

プログラムを修正する

ジェスチャー認識を行うため、前回実装したプログラムを修正します。
今回認識するジェスチャーは先ほど例に挙げた、「右手を振る」というジェスチャーを認識します。

はじめに、直前に右手を右上に挙げたか左上に挙げたかを判定するための変数とジェスチャーを検知したら画面に変化を加えるための変数を作成します。

そして、前回の記事で作成したポーズ設定用のプログラムを以下のように書き換え、ジェスチャーを検知できるようにします。

プログラムを実行する

作成したプログラムを実行してみます。
右肩、右肘、右手を結ぶ線の色がジェスチャーに合わせて変化すれば成功です。

無事、成功しました!

まとめ

今回はデプスカメラを使用してジェスチャー認識を行いました。
本連載を通して感じた印象としては、環境構築には苦労したものの実装そのものは簡単だったと感じました。

今回は持っている機器の都合で、OpenNIとNiTEを使用してジェスチャー認識を行いましたが、
機会があれば他のライブラリ、デプスカメラも使用してみたいと思います。

ともに世界をアップグレードできる、そんな日を夢見て。
Upgrade the World!