タイトル通りですが、ブレイクダンスのモーションセンサーデータを深層学習させたAIにリアルタイムでダンサーの動きを認識させてみました。
まずは動画をご覧ください。
内容はモーションセンサーが内蔵された靴型のウェアラブルデバイス Orphe を用いた、ブレイクダンスの基本的な技やステップの分類&ウィンドミルの熟達度評価となっています。
※こちらの記事はAI活用事例のご紹介なので技術的な内容は控えめにしています。
#ざっくり仕組みをご紹介
Orpheから得られたセンサーデータが記録されたCSVから加速度を行列データとして抽出し、CNN(畳み込みニューラルネットワーク)で構築したモデルに深層学習(Deep Learning)させます。学習データは動作別にラベル分けされており、クラス分類の手法を用いています。
そして、OrpheのセンサーデータをBLEで受信してくれるアプリに学習済みモデルを組み込んで、靴の着用者の動作をリアルタイムで認識するというシステムです。
モデルはKeras上で学習させたものをcoremltoolsを使ってSwiftで組み込めるように変換しています。
さらに認識結果を良さげにビジュアライズするためにopenFrameworksを使っていたりします。
TensorFlowで学習させたモデルをC++用に変換してoFアプリに直接組み込むみたいなこともやったりしたんですが、昔のことでよく覚えていないので気が向いたら記事にします。
#感想とか
ご察しの通りデータ収集が死ぬほど大変です、文字通り血と汗と涙の結晶となっています!
もちろん学習手法やモデルの構造、ハイパーパラメーターの調整も大切なんですが、やはり質の良いデータをいかに効率よく大量に集められるかが機械学習の鍵になってきますね。
今回の元記事は過去に自分のブログに載せたりしたんですが、AIで面白いことやってみたいという技術者の方やダンサーだけどテックにも興味あります!って人にもっと読んで欲しいなあということで、Qiitaにも少し加筆・修正して載せてみました。
良かったらこちらもチェックしてみてください(大半が中身の無い記事ですが……)。
http://hahaeatora.hateblo.jp
Dance AI English Info
https://link.medium.com/5QGCJgcDUX