話題の渋野日向子プロのスイングを、TensorflowJS・Mobilenetで機械学習(転移学習)してみました。
##機械学習とは
ゴルフファンのために、「機械学習」について優しく説明します。
我々の目でゴルフスイングを見ると、「〇〇プロ」ってわかりますよね?これは、過去に自分が見た色んなプロのスイングを記憶していて、その特徴から「〇〇プロ」と判断しています。
同じく、色んなプロのスイング画像をコンピュータに記憶させ、人間の脳の構造に近い「ニューラルネット」という技術で特徴を分類・計算し、「〇〇プロ」と判断出来る頭脳をコンピューターで作成することが出来ます。この一連の作業を「機械学習」と言い、AI(人工知能)の基礎部分となります。車における自動運転で、カメラに映る映像から人や車、センターラインを見分ける技術と基本的には同じです。
おそらく、どんなに優秀なレッスンプロの目よりも正確にスイングを把握し、その相違まで示唆することが可能となります。ただし、矯正方法はレッスンプロのアドバイスを聞いて下さいね。
##転移学習
TensorFlowJSのサイトに、具体的な手口が記載されているので、これを改良。
https://www.tensorflow.org/js/tutorials/transfer/image_classification?hl=ja
サンプルではWebcamから転移学習する方法なので、これをmp4からの動画取り込みに変更。
videoタグに、src=""でmp4本体を記載し、await setupWebcam();をコメントアウト。)
あとは、3クラス分類になっている部分を、
「Shibuno」、「Not Shibuno」
の2クラスに変更。
あとはほぼ変更なしです。Youtubeから適当な動画を拾って、ブラウザで動画再生〜ポーズしながらバシバシとボタンを押して、時間を掛けて学習します。
##成果
ドライバーショット。右上に「Shibuno !」と表示されました。
アイアンショットです。右上に「Shibuno !」と表示されました。
パッティングです。スイングを学習したので、パッティングは「Not Shibuno ><」となっています。
原英莉花プロです。もちろん「Not Shibuno ><」。
##何に使う?
自分自身のゴルフスイングを機械学習(AI化)させておけば、調子の悪い時、しっくり来ない時に、AIに尋ねてヒントをもらうことが出来るようになるかも知れません。
専属コーチがAIになる時代も、もうそこまで来ているのかも。
渋野プロのスイングはコンピュータに記憶されているので、調子が悪くなった時は、ぜひお尋ね下さい!!