Cork

大学生スプリンターの考えすぎる練習日誌

どこにでもいる大学2年生の短距離練習日誌

12/1  猫でもできるAIを用いた走りの分析~Openpose編A~

最近人気のAIってやつ。

 

AIで走りを分析することに、陸上男児ならだれもが憧れただろう。

 

自分はここ数ヶ月、Openposeってやつを動かして、走りの動画像から骨格を引っこ抜いて遊んできた。

 

正直言って、走りの分析にはそこまで使えなかった。

 

 

 

使えない理由

 

・知りたい重心がわからない

・結局欲しい軌跡は手で描くことになる

・プログラムが重すぎる

・精度がそこまで高くない

 

 

 

しかも一般人に優しくない仕様

 

Mac book pro (2017) で動かすと、意味不明なくらい重くなる。

 

f:id:ryutaromiya:20191201122334p:plain



(一番上の openopse.bin がそれ。5G近く食べている。

スマホの方がchromeがスムーズに動くレベル。)

 

 

おまけにバッテリーをすごいスピードでバキュームする。

電源に繋いでいない状態では使いたくない。

 

しかも時間がエグいかかる。その間、PCは開っぱにしなきゃいけない。

 

PCを数時間も開きっぱなしにして、一体何をすればいい?

 

 

 

それが猫でもできるようになった

 

 

以前、部の主将が僕のブログを読んで、あれができるようにして欲しいって言ってきた。

 

他にも何人かから、やり方を教えてほしいという声を聞いてきた。

 

 

なんかいい方法ないかなーって思いながらネットをパトロールしていたら、こんな記事を発見した。

 

https://colab.research.google.com/drive/1VO4TGJHKXnRKgiSAsNEeQcEHRgzUFFv9

 

 

プログラムを外部コンピュータになげて、そこで処理してもらうっていう作戦。

 

 

 

Colaboratory

 

f:id:ryutaromiya:20191201122837p:plain

Googleのサービスで、高性能なコンピュータを借りられる。

(https://colab.research.google.com/notebooks/welcome.ipynb?hl=ja)

 

 

無料でコンピュータは借りられるけど、90分間何もいじっていないと、作業データが全て0になる。

 

延命しても12時間で強制的にデータはリセットされる。そうなったら、プログラムのインストールから1からやらなきゃいけない。

 

 

 

作業内容を保存できるしスマホでも動かせるし

 

 

でも嘆く必要はない。

プログラムコードとかコマンドとか、そう言ったものは保存できるし、簡単に共有できる。

 

リセットされちゃったら、それらを上から順に再度実行すればいいだけだ。

 

ポチポチとクリックするだけでプログラムが実行される。

いちいちパソコン開かなくて良い。

スマホURLにアクセスしてポチればいいのだ。

f:id:ryutaromiya:20191201123156j:plain

  

 

これでやっと、約束してきた人たちに、AIを届けられる。

 

 

本家さま

 

こちらのサイトをほとんどそのまま使わせていただいた。

 https://colab.research.google.com/drive/1VO4TGJHKXnRKgiSAsNEeQcEHRgzUFFv9

 

 

陸上用に変更

 

配布されているpythonプログラムを一部書き換えて何通りか作った。

 

・両足のかかとをトラッキング

・重心をトラッキング

・重心位置に対して水平もしくは垂直に線を引く

  

工夫次第で、どんな分析でもできそうだ。

 

  https://colab.research.google.com/drive/1VO4TGJHKXnRKgiSAsNEeQcEHRgzUFFv9

このサイトにアクセスし、指示通りに上からポチポチすれば良いだけ!

やり方が全てそこに書かれている。

 

 

 

かかとのトラッキング

 

 

miyublog2.hatenablog.com

 

この練習では、ミニハードルのドリルのかかとの動きを考察した。

 

動画からスクショで静止画を何枚か切り出して、フォトショップを持っていないので、パワポで点をひたすら打って、軌跡っぽいのをなんとか描いた。

とてもアナログ的。

 

 

このプログラムでは、動画に自動で各関節の軌跡を残せる。

次の動画では、腕振りの軌跡と、点線を引いてみた。

 


AIを用いたかかとのトラッキング

 

 

重心の考察

 

重心の上下を気にする陸上競技

 

上ので縦の点線を引いたように、重心に対して横の点線を引けば、その線の上下が重心のぶれを示すことになる。

 

もうちょいpythonファイルをいじる必要があるけど。