LoginSignup
41
40

More than 5 years have passed since last update.

AI(Openpose)でバッティングフォーム解析

Last updated at Posted at 2018-07-15

はじめに

画像からの人物検出や、画像から姿勢推定・骨格検出をいくつか試してきたので、そろそろ実際のデータでの解析をやってみたくなりました。

そこで、2018年5月頃から、中学生のバッティングフォーム解析を始めました。

環境

フォーム解析

解析対象

練習におじゃまして、トスバッティングの様子を横から撮影させてもらいました(各選手1分間ずつくらい)

解析結果

選手の動画は使えないので、下記の説明用データは自分(野球素人)のバッティング画像とデータです。。。(お見苦しいですが、、、ご容赦を)

OpenPoseでの骨格推定結果

  • パターン①

1.gif

  • パターン②

(パターン①よりも体重移動をしてスイングしているイメージ。あくまで本人イメージ。。。素人なのでゴメンナサイ。。。)

2.gif

数値解析結果

バッティングの開始・終了までの目・肩・腰・膝・足首の位置の変化をプロット

image.png

位置の変化から、

  • パターン①の方が縦の移動量が少ない
  • パターン②の方が横の移動量が大きい(パターン②は体重移動してスイングしたイメージだったので当然ね)

ということは言えそう。

考察

数値解析結果から、以下のことが見れそう。

  • 体重移動せずに、その場で回転して打つ傾向にあるか
  • 体重移動して打つ傾向にあるか
  • 各選手毎の、縦方向の移動量、横方向の移動量を比較することで、「移動量」という切り口から、選手の特徴は見出せそう

  • 競技者から見れば、経験値や感覚として分かっていることで、データを見るまでもないことかもしれないが...まぁ感覚を数値化することに意義がある...かも...

解析方法

①動画⇒画像⇒②骨格検出⇒③分析⇒④動画へ戻すという、かなり遠回りなやり方をしました。
動画からのリアルタイムフォーム解析はしていません。(GPU環境がなかったので、、、)

1. 動画を画像に分割(OpenCV)
2. 分割した画像を1画像づつ骨格検出&座標をCSV出力(DeNA/Chainer_Realtime_Multi-Person_Pose_Estimation
3. 座標CSV読込、結果をプロット(Pandas)
4. 解析結果の画像を動画へ(OpenShot)

※.50秒の動画で約1500枚の画像に(スマホのカメラが30FPSだったようです)。約1500枚の画像の骨格検出にwindows端末で6時間、Colaboratoryで4時間かかりました。。。
(夜、寝る前にバッチ仕込んで、朝、出社前にまたバッチ仕込んで、、とちまちまと骨格検出。。。GPUだったら速いのかなぁ(遠い目…))

得られたこと

データを見る切り口の大切さ

  • 数字さえ出してみれば、その数字から何かが見えてくるかもしれない、という期待をもって望んだものの、、数字を目の前にして愕然。数字をこねくり回そうとしても、考えうる可能性が多すぎで何もできない、という闇にはまる。。。
  • 何らかしらの切り口(今回は「移動量」)を持って、数字を見ていくことが重要だなと。

判断基準の大切さ

  • 「移動量」という特徴が出たとしても「だから?」という結果に。移動量=ブレと解釈していいのか、移動量が多いと良いのか、悪いのか、移動量から何が言えるのか、、、 数字を判断する何かしらの基準がないと、解析結果はただの結果でしかなく、活用していけない、ということも実感。。。

コミュニケーションの大切さ

  • 競技未経験の自分では、「判断基準」を自分の経験として持ち合わせていない。。。
  • ならば「判断基準」を持ち合わせている人(監督さん、コーチ)に教えてもらうしかない
  • あくまで、解析は競技力向上が目的なので、監督さん、コーチに有用なものであってほしい・・・。どういう解析が有効か相談させてもらうしかない・・・。
  • 「データ解析」は、自分が思っていた以上に競技への理解や、関係者とのコミュニケーションが必要だと実感。

おまけ

  • 統計学の知識は全くないけれど、今のところは足し算・引き算・平均・三角関数の範囲で進められそう

今後やりたいこと

  • ピッチングの解析にも挑戦してみたい
  • 継続的に(最低でも1年くらいは)選手のフォームの変化を追っていきたい
  • 小学生や、高校生のデータもとってみたい。年齢別に特徴が見られたりするのだろうか
  • 競技力向上のみならず、ケガとの関連(こういう特徴がある選手はケガしやすい)等にも活用できるといいな
  • 学生の選手に対して、プロの〇〇選手と特徴が似ている、といった分類ができるようにしたい(プロのデータは手に入らないだろうけれど。。。)
  • GPU環境ほしい。。。

夢物語は膨らむばかり。。。

最後に、、、プロの方、データお待ちしてます(笑)

2018/7/23 追記

Colaboratory 約1500枚の画像の骨格検出

  • CPU : 4時間
  • GPU : 15分弱

でした。

41
40
11

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
41
40