2024.10.21
お互い疑心暗鬼になりがちな、経営企画と事業部の壁 組織に「分断」が生まれる要因と打開策
PoseNet(ml5.js)を用いた投球フォーム推定(全1記事)
リンクをコピー
記事をブックマーク
谷岡広樹 氏(以下、谷岡):ライトニングトークなので、すごく短い発表です。谷岡と申します。ふだんは大学の教員をやっていますが、今日は大学の教員としての発表ではありません。もうちょっと言うと、今回は野球の発表なのですが、もともとはサッカーをやっていたので(笑)、研究もどちらかというとサッカーの研究が多いです。画像から人の位置を取るなどいろいろ試しているので、また機会があったら発表したいと思います。
今回は、地元のインディゴソックスという野球チームのトレーナーの方との共同研究の発表です。毎年プロ野球選手の候補を2、3人ずつぐらい送り込んでいる、アイランドリーグの所属チームです。そこでトレーナーをしている殖栗さん(殖栗正登氏)という人がいるのですが、「とにかく150キロ投げないとプロは目指せない」ということで、殖栗さんは投球フォームの改善を非常に真剣に指導しています。インディゴソックスは地元のチームなので、お付き合いすることになり、一緒に分析を始めているところです。
簡単に言うと、今日発表する研究の目的は、「投球フォームをできるだけ簡単な装置で分析したい」ということです。一般的にはKinectを使うか、あるいはプロチームなどは、マーカーみたいなものを付けてすごく大きな機材で分析しているのですが、地元の企業や学校、トレーニングジムではできないわけです。
そのため、パソコンやスマホレベルで、簡単に分析できないかというところで、チャレンジをしています。
今回、私が試したことの概要です。まだ完成していないので途中経過なのですが、ポイントは2つあります。興味がある方は、インディゴコンディショニングハウスというブログに詳細を書いてあるので、ぜひそちらを見てほしいのですが、いくつかのポイントに絞ってトレーニングを進めていて、特に見るべきポイントは何個かに絞られます。
画像上でほしい情報の優先順位をつけてもらって、その画像からいろいろ分析しようとしています。1つは、「重心移動」です。速い球を投げるために必要なのは、重心の移動だと言います。地面反力というかたちで、足で地面を押さえて、そこのウェイトも取りたいのですが、それにも増して重要なのは重心移動です。
加えて、「回旋角」も重要で、肩や腰の部分の角度のひねり方とタイミングが非常に重要になるそうです。そのデータをまず取れる仕組みを作ろうというのが、今回の投球フォームを分析する目的です。
この投球フォームの分析をできるだけ簡易的にやりたい。ふだん研究でもPythonは使いますが、だんだんとコンシューマー化していて、HTMLでも動く環境がどんどん出てきて、ml5.jsではPoseNetがそのまま使えます。
p5.jsと非常に親和性が高くて、そういうフレームワークを使えばJavaScriptでも動くことを試したのが、今回の主な発表です。
まず試しに動かしてみますが、今私の顔が映っています。肩までしか映っていませんが、PoseNetのライブラリで位置がすでに取れていることがわかります。これを使ってやっていきます。
重心の計算は、簡易的にはいろいろできるのですが、真面目にやってみようと思い、重心の計算方法をいろいろ調べました。そうすると、何個か提案はされているのですが、どれもベクトルの計算なので、最終的には合成するだけです。だけなのですが、頭部や体の部分、部位ごとにだいたい割合が決まっていて、それは体重から概算で計算できます。
手や腕のポイントがわかっているので、そこをポイントにして重心の位置を計算しています。このように推定して、あとは計算するだけです。この位置がどう変わっていくかを計算するのに、今回はChandlerを採用しています。
もう一つは、体の角度です。私は野球はあまり詳しくないのですが、肩の開き具合は、昔学校で習ったコサインを使うことで計算できるらしいです。
(スライドを示し)これは私が投げているシーンです。素人なので下手クソですが、上から見たシーンが上の丸で、左の肩が矢印の先です。肩のラインを見ると静態している状態が一番長く、そこで回転すると縮みます。なので、このコサインの角度で逆算すれば、角度がわかるという仕掛けです。
実際、動かしてみたデモです。これはまだ完成版ではなくて、しかも本当は最高移動速度と、最大捻転角度の地面からの絶対位置がほしいと言われている状況です。
職場に誰もいない時間を見計らって構えて、それっぽく投げます。投球フォームを見る際には、「セットポジション」と「足を上げたタイミング」、私は右投げなので「左足を設置した状態」と、「投げ終わる」という、この大きく分けて4つのタイミングごとに位置を測ることが重要だということで、こういうことをやりました。
数字がチョロチョロと出てきたと思うのですが(笑)、一応そういう計算ができるようになりました。
今日の発表は以上になりますが、今のところ、重心移動の速度の平均は計算できました。前後の時間をしっかりと細かく区切っていき、最大速度もしっかり出したいということと、最大捻転角度が、今は正確じゃない部分があるため、正確に計算して絶対的な位置、本当にほしい部分。本当は、セットポジションの時を含むのではなくて、そのあとの、「こことここの間での最大がほしい」みたいなのがあるらしいので、それを取りたいというのが、今の目標です。
まとめると今回は、p5.js、JavaScriptのライブラリからml5.jsを呼び出して、非常に簡単な仕掛けだけで投球フォームを計測できるようにしてみました。投球フォームを改善するのに役立つ指標の一部を推定しようとしています。今後は、さらに本当に現場で役に立つものを作って、ぜひ中高生、それから今回はプロを目指している人たちに使ってもらえるようなものを作りたいと思っています。以上です。ありがとうございます。
司会者:ありがとうございます。リアルタイムでそんな簡単に特定できるのが、すごいと思いました。私から1つ質問があります。先ほど最後のほうのスライドで、「こういう値がほしい」みたいなページがあったと思います。ここのところですが、選手に具体的に返してあげるのか、あるいはコーチが知りたがっているのか、どちらのイメージなのでしょうか?
谷岡:トレーニングハウスなので、基本的にはトレーナーが知りたい数字ではあります。数字を知ったうえで、これぐらいの数字を目指しましょうとか。言葉では「体が開いている」と言うらしいです。でもそれがどういう意味なのかを聞かれた時に、撮影した動画や写真と合わせて説明に使うという話をうかがっています。
司会者:なるほど。ありがとうございます。やはりプロチームと比べて、機材をきちんと用意できない環境は当然あると思います。これだと、いわゆるスマホや、パソコンのカメラでもできるイメージですか?
谷岡:そうですね。これはパソコンのカメラで実験を始めていますが、実装上は、iPhoneでも動くようにはしようとしています。テストした限りはうまくいきそうです。UIの部分は、やはり見にくい部分もあるので難しく、もしかしたら最初はiPadか何かで試してみるかもしれないです。
司会者:ありがとうございます。今1点、質問がきています。野球の特性に関するところかなと思いますが、野球だと並進運動と回旋運動のマーカーで体が被ってしまい、追えない部分がありそうだと思います。その部分をどう補完するのか、考えがあったら教えていただきたいという質問です。
谷岡:これは私の完全な憶測というか目論見ですが、投球フォームだけに絞る、あるいはバッティングだけに絞ると、基本的にはそのフェーズでは肩はこちら、少なくとも右にあるはずだとか、左にあるはずだとか、回転した右投げ左投げによって、ある程度決まると思います。完全な自由ではないので、その定式化をうまくできていれば、推測もある程度は正しくできるのではないかと思っています。
司会者:ありがとうございます。そういったところにも関連して、このへんの速度の指標など、理想の値が一般論としてあるのでしょうか?
谷岡:あるそうです(笑)。
司会者:(笑)。そうなんですね。
谷岡:大リーグはすごく進んでいて、このへんの数字を全部取っているそうです。160キロ投げる選手はどれくらいのスピードで回しているか、どれぐらいの力がかかっているのかというデータはもう取れているらしいので、ここを目指すための数字は、ある程度揃っていると聞いています。
司会者:なるほど。それはおもしろい観点です。非常にユニークな発表をありがとうございました。
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.21
40代〜50代の管理職が「部下を承認する」のに苦戦するわけ 職場での「傷つき」をこじらせた世代に必要なこと
2024.11.20
成果が目立つ「攻めのタイプ」ばかり採用しがちな職場 「優秀な人材」を求める人がスルーしているもの
2024.11.20
「元エースの管理職」が若手営業を育てる時に陥りがちな罠 順調なチーム・苦戦するチームの違いから見る、育成のポイント
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.19
がんばっているのに伸び悩む営業・成果を出す営業の違い 『無敗営業』著者が教える、つい陥りがちな「思い込み」の罠
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.15
好きなことで起業、赤字を膨らませても引くに引けない理由 倒産リスクが一気に高まる、起業でありがちな失敗
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.21
40代〜50代の管理職が「部下を承認する」のに苦戦するわけ 職場での「傷つき」をこじらせた世代に必要なこと
2024.11.20
成果が目立つ「攻めのタイプ」ばかり採用しがちな職場 「優秀な人材」を求める人がスルーしているもの
2024.11.20
「元エースの管理職」が若手営業を育てる時に陥りがちな罠 順調なチーム・苦戦するチームの違いから見る、育成のポイント
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.19
がんばっているのに伸び悩む営業・成果を出す営業の違い 『無敗営業』著者が教える、つい陥りがちな「思い込み」の罠
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.15
好きなことで起業、赤字を膨らませても引くに引けない理由 倒産リスクが一気に高まる、起業でありがちな失敗