[研究:その1]mediapipeを使用したジェスチャー認識で色々遠隔操作してみる


現在、私は大学で骨格認識技術を使用してIOTデバイスだったりアプリケーションをジェスチャーで遠隔操作すると言った研究をしています。この記事は、進捗報告件、やってみた記事として上げていきたいと思います。

これまでは、OpenPoseを使用して、色々試してきましたがOpenposeの環境構築がとても大変で今回は、簡単に実装ができるMediapipeを使用しました。

今回作る全体構成図

ハンドジェスチャーのみで様々なデバイスを遠隔操作できるようにする

利用技術とシステムの全体図

実装する機能

モード 機能
メインモード 音楽モードかライトモードに移れる
音楽モード 音楽を再生、停止、ボリューム調整ができる
ライトモード ライトを点灯、消灯、光量調整、色調整ができる

音声はPygameを使用する

ライトはyeelightを使用する。

注)メインモード以外は機能提供中にモードを移ることができない。

※音楽モードからライトモードに移動したい時は、必ず、メインモードに戻る必要がある。

実装したもの

2021年11月29日〜2021年12月05日で実装した内容。

判定できるようにしたジェスチャー

モード切り替えの実装

色んな所で呼ばれているので、リファクタリング

雑に書かれていたのでclassで書き直した。

スレッドを作成してその中でサービスを制御する

[問題点]whileの中で認識した後、機能を提供すると、何回も呼び出されてしまう。

浮上した問題点と出来なかったところ。

  • ハンドジェスチャーは人によって認識しなくなる時がある。
  • 次の音楽へ行く

今後の進めていくもの

  1. Lightモードを進める

    1. yeelightの実装

    仕様 https://yeelight.readthedocs.io/en/latest/

  2. ハンドジェスチャー認識の閾値の調査

    1. 調査用UI構築?(時間がなかったらデータ集めだけ)

今後のスケジュール

yeelightの繋ぎこみ中心に作業を行う


[参考]これまで作ってきたもの

ジェスチャー認識技術と簡易ドローンを利用した審判補助用システムとその検証用シミュレータの試作