Pythonで動画解析をしていくボード

2019-02-23に作成

Pythonで野球の動画解析をしていくボードです。

やりたいこと

  • 自動ストライク判定スクリプト
  • 投球コースと結果の相関
  • 打球の初速度・角度と結果(飛距離)の相関
  • 投球の初速度(球速)・平均速度(終速)

使う予定の技術

  • 骨格推定(tf-openpose)
  • 特徴点解析
  • モーション解析
所有者限定モードのためこのボードには投稿できません ボードとは?

2/23 動画解析始めました

動画解析始めました

  • OpenCVでの動画保存
  • OpenCVでのモーション解析
  • dockerでPython環境を作ろうと思ったときに失敗したこと

pythonは少し触ったことがある程度で、アルゴリズムは他の言語での下地があるのですが、理論的なところは画像処理止まりです。

OpenCVでの動画保存

VideoWriter(出力ファイルパス,エンコード種別,FPS,(動画サイズ))

outFourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')
out = cv2.VideoWriter(outputFile, outFourcc, 30.0 , (704, 396)) 
.....
out.write(resizedImage)

VideoWriterメソッドで指定した動画のサイズと実際に出力したフレームのサイズが異なると出力処理が失敗する。

モーション解析

まだ写経段階の部分が多いです。写経したソースを編集して結果を動画に出力したり、動画出力をリサイズしたり。
野球の動画解析は特徴点解析よりはモーション解析の方が向いているようです。

dockerでPython環境を作ろうと思ったときに失敗したこと

cannot connect to xserver

dockerのpythonイメージにはGUIライブラリが入っていないようです。google colaboratoryで試しても同じ結果になります。
あれもdockerイメージを使っているらしいのですが。

対処法

cv2.imshow()などのGUIを使うメソッドを使用しないようにする。
ファイル出力などで結果を確認するようにする、などの対処法が挙げられていました。

ソースコード

GitHub

参考リンク