🥎

姿勢推定で投球動作解析サービス

2021/11/19に公開

PoseNetで姿勢推定、動作解析

https://www.youtube.com/watch?v=mfvO1gJWU4M

きっかけ

東京ヤクルトスワローズがデータ解析のために「ホークアイ」(高精度カメラ8台による骨格推定・動作解析)を導入したと聞いて、そういえば少し前にPoseNet触ったので何か作れないかと思いました。

https://zenn.dev/ckoshien/articles/d2c9d3a34a5fec4475e1

動画解析(python)

前回のストライクゾーン推定のプログラムを一人ずつの姿勢データをテキストに出力するように改良しました。
テキストファイルを連番で一度に開いてそれぞれに振り分けて出力する処理を追加しました。きれいにJSONで出力できなかったのは失敗です。

https://github.com/ckoshien/posenet-python/blob/feature/export_pos/webcam_demo.py

windowsアプリケーション化(pyinstaller)

単にpyinstallerを入れてパッケージ化で終わった軌道解析とは違い、
Anaconda環境に色々入れていたのもあってかなり苦戦したところです。
最終的には、

  • specファイルを編集してライブラリのインポートを追加
  • conda installpip installにしてやり直し
  • ffmpegをdataに追加

https://qiita.com/matsu_mh/items/789ae0fa7bfacbdc5829

解析画面(Next.js)

(pythonからきれいにJSONで出力できていないので、若干データを加工しつつ)姿勢データを読み込むフォームを作り、konvajs(canvas)で棒人間(!)を描画します。
比較用に最大2ファイル入力できるようにし、xy座標の調整とzoom機能を追加しました。

肘の位置

胴体の長さを基準に肩から相対的にどの位置(%)にあるか

肘の角度

肩から肘までの線分と肘から手首までの線分の角度(度)を求める。

https://cap-baseball.com/parrot_eye

その名は「Parrot Eye(インコの目)」

元々サービス名をMotion Master(モーションマスター)とかにしようと思ってたのですが、Parrot Eye(パロットアイ:インコの目)にしました。

由来

  • ホークアイの下位互換としてわかりやすい
  • キャップを投げるインコがいる
  • キャッパーにインコを飼っている人がいる

今後の展望

あとは必要に応じて解析項目を増やせればと思います。

解析アプリケーションは以下で配布しています

https://drive.google.com/drive/folders/1DsS-47gh5qimUzUj2Jl3_u1vuqUPnMym?usp=sharing

Discussion