2021年1月14日木曜日

Awesome Dancing with AI Tutorial

 【what is thisMIT App Inventorの人工知能チュートリアル第7弾として、PoseNetを利用した身体動作(ダンス)の検出アプリ[1]が公開されました。骨格17節点の座標をリアルタイムに得られるブロックが新設されたため、スポーツ解析やジェスチャ応用などのスマホアプリを作りやすくなります。

PoseNet Extension for MIT App Inventor
 身体動作を検出するAIソフトとして、OpenPoseやPoseNetが利用されています。しかし、スマホのアプリの一部にそれを取り込みには、ちょっと敷居が高いと思います。そこで、今回のMIT App Inventor用のPoseNet Extensionの登場です。図1に示すとおり、身体骨格の節点17点の座標をリアルタイムに得ることができる機能(ブロック)が提供されました。


PoseNet Extension を利用した人工知能チュートリアル
 MIT App Inventorでは、主に高校生向けに、人工知能チュートリアルを提供しています。今回はその第7弾として、このPoseNetを利用した図2に示すような4種類のダンスの検出アプリが公開されました。


 AIチュートリアルですから、最初からソースプログラム(ブロック)は示されていません。順を追って説明とヒントが与えられるので、各自が考えながら、プログラムを作って行きます。例えば、図3には、4種類のダンスの検出ブロックがあるのですが、その中味は示されていません。赤字の部分を自分で考えながら(各節点の上下関係や節点を結んだ線分どおしの平行性や角度などを考慮して)作り上げて行くのです。自分の動きを撮影して、自分がどれだけうまくダンスができたかを判定する部分も作ります。


映像の中の動作も検出してみる
 このアプリを完成させても、(誰かに撮影してもらえる場合は良いのですが)自分自身でダンス動作を確認することはちょっと難しいです。また、撮影する際の背景にもかなり影響を受けるようです。そこで、手軽にアプリをテストするために、図4にあるように、Youtubeにあるテレビ体操を写してみました。ここでは、肩が水平になっているか否かも検出してみました。うまく行っているようです。画面の上側(骨格画像)と下側(実映像)にはタイムラグがあり、若干ずれて表示されます。図5は、水平検出コードです。




今後の活用
 PoseNetが、スマホアプリのなかで手軽に使えそうです。動作検出AIの学習済みモデルが、このextensionに含まれているため、実行時にネットワークへ接続する必要はありません。身体動作をインタフェースとするいろいろな応用が考えられるように思います。

【補足】
 今回と同様の身体動作を利用したソフトウェアの例として、過去にScratchプログラミングをとりあげました。こちらもご参考にしていただければ幸いです。

【参考資料】
[1] Artificial Intelligence with MIT App Inventor
http://appinventor.mit.edu/explore/ai-with-mit-app-inventor


0 件のコメント:

コメントを投稿