今回から、TensorFlowに同梱されているTutorialの"MNIST"を改造してPhoto-Reflectorなどの値から指の状態を判断することを目的としていきます。
※ お試し感が強いので、成功する可能性は低いです。

MNISTについては、TensorFlowのHPに記載されている「MNIST For ML Beginners」や、そのロジックを解析している「TensorFlowのチュートリアル(MNIST)を読む」などを確認してみてください。

学習用インプットデータ

使用するセンサーはPhoto-Reflectorと角度とします。選考判断は以下のようになります。
センサー名称選考結果選考理由
Photo-Reflector使用メーカーとして指の状態を検知するのに使用できるセンサーとして位置付けているため
加速度センサー不使用指や腕の状態によって一意にならないため
ジャイロセンサー不使用指や腕の状態によって一意にならないため
温度センサー不使用指や腕の状態によって一意にならないため
角度使用腕の状態によって一意になるため
Quaternion不使用角度を使用しているため、一旦不使用
環境光(スマートフォンのセンサーにより取得)使用環境光により同じ指や腕の状態でもPhoto-Reflectorの値に影響が出る可能性が高いため

Unlimited Handから取得したPhoto-Reflectorの値(8データ)、Unlimited Hand自体の傾き角度(3データ)とスマートフォンで取得した環境光の値(1データ)の合計12データを入力データとし、そのときユーザにより入力された指の状態を教師データとして学習させるようにします。

指の状態は以下のように5桁の2進数によって表します。
  • 値0: 該当の指を真直ぐ伸ばした状態
  • 値1: 該当の指を曲げた状態
  • 1桁目: 親指の状態
  • 2桁目: 人差し指の状態
  • 3桁目: 中指の状態
  • 4桁目: 薬指の状態
  • 5桁目: 小指の状態
例1: 全ての指を伸ばした状態 => 00000(2進数)
例2: 全ての指を完全に曲げた状態 => 11111(2進数)
例3: 親指を伸ばした状態、人差し指を曲げた状態、中指を曲げた状態、薬指を伸ばした状態、小指を曲げた状態 => 10110(2進数)
次回はデータの収集について記載します。

コメントの投稿