AIで野球のスイング解析を作ってみたら想像以上に難しかった|素人エンジニアがスポーツを科学する

AI生活

導入

生成AIがここまで進化すると、

「もうアプリケーションぐらい簡単に作れるのでは?」

と思うことが増えてきた。

実際、ChatGPTのような生成AIを使えば、
コードを書いた経験がそこまで多くなくても、
ある程度のアプリケーションは形になってしまう。

そこで今回は、
昔やっていた野球を題材に、
AIを使ったスイング解析を作れないか挑戦してみることにした。

しかし実際にやってみると、
想像以上に「現実の壁」が多かった。

AIでスイング解析はどこまでできるのか?

今回やりたかったことはシンプルだ。

動画から選手の動きを解析し、

  • 身体の動き
  • バットの軌道
  • 回転
  • タイミング
  • スイング速度

などを可視化したい。

最近はスマホアプリでもフォーム解析ができる時代になっている。

そのため最初は、

「生成AIを使えば個人でも意外と簡単に作れるのでは?」

と考えていた。

人体の骨格検出までは驚くほど簡単だった

実際に最初に試したのは、
AIによる人体の骨格検出だ。

今回は「MediaPipe」という仕組みを使用した。

これがかなりすごい。

動画を読み込むだけで、

  • 手首

などの位置を自動で認識してくれる。

しかもリアルタイムに近い速度で動く。

正直、
ここまではかなり順調だった。

画面上に骨格が表示された瞬間、

「もう完成したのでは?」

とすら思った。

生成AIにコードを相談しながら進めると、
昔より圧倒的に開発スピードが速い。

実際、
ここまではかなり短時間で動作した。

しかし問題は“バット”だった

ここから急に難易度が跳ね上がった。

人体はAIが非常に得意としている。

大量の学習データが存在し、
骨格推定もかなり成熟しているからだ。

しかしバットは違う。

バットは、

  • 細い
  • 高速で動く
  • ブレる
  • 人体と重なる
  • 背景と混ざる
  • フレームから消える

という、
画像認識的にはかなり厄介な存在だった。

特にインパクト付近では、
バットが高速で移動するため、
映像によっては形すら崩れる。

人間の目では「バット」と認識できても、
AI側から見るとただのブレた線に近い。

「AIなら簡単」は半分正しく、半分違った

今回かなり感じたのは、
生成AIによって開発のハードルは確実に下がっているということだ。

昔なら、

  • ライブラリ調査
  • サンプルコード探し
  • エラー解析

だけでかなり時間がかかっていた。

しかし今は、
生成AIに相談しながら進めることで、
試作レベルまではかなり早く到達できる。

ただ、
実際に「現実世界」を扱い始めると難しさが一気に増える。

  • カメラ性能
  • FPS
  • シャッター速度
  • モーションブラー
  • 照明
  • 検出精度

など、
机上だけでは解決できない問題が大量に出てくる。

ここがかなり面白い部分でもあった。

次はバット検出に挑戦する

現在は、
バットをAIで検出する方法を試行錯誤している。

「YOLO」という物体検出AIを使いながら、

  • バットだけを学習させる
  • 軌道を追う
  • 先端速度を測る

といった方向で進めている。

ただ、
これも簡単ではない。

バットが身体として誤認識されたり、
逆に消えたりすることもある。

それでも、
少しずつ形になっていく感覚はかなり面白い。

まとめ

生成AIの進化によって、
個人でもスポーツ解析に挑戦できる時代になってきた。

実際、
人体の骨格検出までは驚くほど簡単に実現できる。

しかし、
本当に難しいのはその先だった。

現実の映像を扱い始めると、

  • カメラ
  • ブレ
  • 速度
  • 検出精度

など、
さまざまな問題が一気に現れる。

それでも、
「AIでスポーツを科学する」というテーマには、
かなり大きな可能性を感じている。

次は、
最大の難関である「バット検出」に挑戦していきたい。

コメント

タイトルとURLをコピーしました