以下、本発明の一実施形態について、図面を参照しながら説明する。
図1は、本発明の一実施形態に係るショット測定システム1の構成の一例を示す図である。図1に示すように、本実施形態に係るショット測定システム1には、ショット管理装置10と、ショット測定装置22と、が含まれる。
本実施形態に係るショット管理装置10は、パーソナルコンピュータなどのコンピュータである。図1に示すようにショット管理装置10は、例えば、プロセッサ12、記憶部14、通信部16、表示部18、操作部20を含んでいる。
プロセッサ12は、例えばショット管理装置10にインストールされるプログラムに従って動作するCPU等のプログラム制御デバイスである。
記憶部14は、ROMやRAM等の記憶素子やハードディスクドライブなどである。記憶部14には、プロセッサ12によって実行されるプログラムなどが記憶される。
通信部16は、例えばネットワークボードなどの通信インタフェースである。本実施形態では通信部16を介してショット管理装置10は、ショット測定装置22と通信可能となっている。
表示部18は、液晶ディスプレイ等の表示デバイスであって、プロセッサ12の指示に
従って各種の画像を表示する。
操作部20は、キーボードやマウスなどといったユーザインタフェースであって、ユー
ザの操作入力を受け付けて、その内容を示す信号をプロセッサ12に出力する。
なお、ショット管理装置10は、DVD-ROMやBlu-ray(登録商標)ディスクなどの光ディスクを読み取る光ディスクドライブ、USB(Universal Serial Bus)ポートなどを含んでいてもよい。
図2は、本実施形態に係るショット測定装置22の構成の一例を示す図である。図2に示すように、本実施形態に係るショット測定装置22には、弾道測定器30、ヘッド挙動測定器32、ヘッド撮影装置34、ユーザ撮影装置36が含まれている。
弾道測定器30には、LEDなどのフラッシュ光源40が、左右及び中央のそれぞれに縦に並んで3個ずつ、計9個設けられている。また、弾道測定器30には、左側のフラッシュ光源40と中央のフラッシュ光源40との間、及び、右側のフラッシュ光源40と中央のフラッシュ光源40との間に、ステレオカメラ42が設けられている。また、弾道測定器30の右端には、ボール有無判別センサ44が設けられている。また、弾道測定器30には、ヘッドスピードセンサ46が設けられている。
本実施形態では例えば、弾道測定器30の前方に、異なる種類の複数のマーカが表面の異なる場所に張り付けられたゴルフボール48が配置される。
そして当該ゴルフボール48のショット直後の弾道が、複数のステレオカメラ42によって複数の方向から同時に撮影される。本実施形態では例えば、フラッシュ光源40を複数回断続的に点灯する間に、多重露光によりゴルフボール48の複数の像を含む画像が撮影される。なお、ステレオカメラ42が高速度カメラであり、当該高速度カメラによってゴルフボール48の像を含む画像が連続撮影されてもよい。
そして、撮影された画像はショット管理装置10に送信される。そして、ショット管理装置10において、ステレオ画像計測技術により、撮影される画像に基づく、ゴルフボール48の挙動の三次元計測が行われる。
そして本実施形態では、ショット管理装置10において、ゴルフボール48の三次元計測の結果に基づいて、ボールスピードデータ、打出し角度データ、スピン量データ、及び、飛距離データを含む部分ボールデータが生成される。
ここで、ボールスピードデータは、例えば、ゴルフボール48のボールスピード(例えば初速度)を示すデータである。また、打出し角度データは、例えば、ゴルフボール48の上下、左右の打出し角度を示すデータである。また、スピン量データは、例えば、ゴルフボール48のバックスピン量とサイドスピン量を示すデータである。また、飛距離データは、例えば、ゴルフボール48のシミュレーション飛距離を示すデータである。
また、本実施形態では、ヘッドスピードセンサ46によって計測される、ゴルフボール48のショットに用いられるゴルフクラブのヘッドスピードを示すヘッドスピードデータが、弾道測定器30からショット管理装置10に送信される。
そして、本実施形態では、ショット管理装置10において、弾道測定器30から送信されるヘッドスピードデータと、上述の部分ボールデータと、を含む、ボールデータが生成される。
ボール有無判別センサ44は、ティー50の上に配置されたゴルフボール48の存在の有無を検知するセンサである。本実施形態では例えば、ボール有無判別センサ44によって、ゴルフボール48がティー50の上に配置されていない状態から配置されている状態に変化したことが検出された際にステレオカメラ42による撮影準備が開始される。そして、ボール有無判別センサ44によって、ゴルフボール48がティー50の上に配置された状態からティー50の上に配置されていない状態に変化した際に、ステレオカメラ42による撮影が行われる。
以下、ゴルフボール48がティー50の上に配置されていない状態から配置されている状態に変化したことの検出を配置検出と呼ぶこととする。また、ゴルフボール48がティー50の上に配置されている状態から配置されていない状態に変化したことの検出をショット検出と呼ぶこととする。
また、本実施形態において、ボール有無判別センサ44による配置検出のタイミングに、ボール有無判別センサ44が、所定の配置検出信号をショット管理装置10に送信してもよい。また、本実施形態において、ボール有無判別センサ44によるショット検出のタイミングに、ボール有無判別センサ44が、所定のショット検出信号をショット管理装置10に送信してもよい。
また、本実施形態では、ゴルフボール48の三次元計測の結果に基づいて、ゴルフボール48の弾道のシミュレーション結果を表す画像を表示部18に表示できるようになっている。
ヘッド挙動測定器32には、左右に並んで2つのユニットが設けられている。それぞれのユニットには、LEDなどのフラッシュ光源52が、上側と下側のそれぞれに、横に3個並んで、計6個設けられている。
また、それぞれのユニットの中央には、ゴルフボール48のショットに用いられるゴルフクラブのクラブヘッドを撮影するカメラ54が設けられている。
また、右側のユニットの左側には、前方の反射板56に向かって赤外線等を照射することにより、ゴルフボール48のショットに用いられるゴルフクラブの通過を検出する通過センサ58が設けられている。
ヘッド挙動測定器32では、カメラ54によって複数の方向から、ゴルフボール48のショットに用いられるゴルフクラブのクラブヘッドが撮影される。本実施形態では例えば、フラッシュ光源52を複数回断続的に点灯する間に、多重露光によりクラブヘッドの複数の像を含む画像が撮影される。本実施形態において、通過センサ58がゴルフクラブの通過を検出したタイミングに、カメラ54による画像の撮影が行われてもよい。なお、カメラ54が高速度カメラであり、当該高速度カメラによってクラブヘッドの像を含む画像が連続撮影されてもよい。
また、本実施形態において、通過センサ58によってゴルフクラブの通過が検出されるタイミングに、通過センサ58が、所定の通過検出信号をショット管理装置10に送信してもよい。
そして、撮影された画像はショット管理装置10に送信される。そして、ショット管理装置10において、撮影される画像に基づく、クラブヘッドの姿勢及び軌道の三次元計測が行われる。なお、本実施形態において、ゴルフボール48のショットに用いられるゴルフクラブの上面に、マーカが設けられていてもよい。そして、撮影される画像に基づいて特定される、ゴルフクラブの上面のマーカの三次元座標値に基づいて、クラブヘッドの姿勢及び軌道の三次元計測が行われてもよい。
そして本実施形態では、ショット管理装置10において、三次元計測の結果に基づいて、フェーススピードデータ、ヘッド軌道データ、ダイナミックロフトデータ、フェース角データ、ライ角データ、打点位置データ、法線角度データ、及び、フェースローテーションデータを含む、ヘッドデータが生成される。
ここで、フェーススピードデータは、例えば、インパクト時のクラブヘッドのフェーススピードを示すデータである。また、ヘッド軌道データは、例えば、インパクト時のクラブヘッドの上下方向、左右方向の進入角を示すデータである。また、ダイナミックロフトデータは、例えば、インパクト時のクラブヘッドのロフト角を示すデータである。また、フェース角データは、例えば、インパクト時のクラブヘッドのフェース角を示すデータである。また、ライ角データは、例えば、インパクト時のクラブヘッドのライ角を示すデータである。また、打点位置データは、例えば、ショットされたゴルフボール48の打点位置を示すデータである。また、法線角度データは、例えば、インパクト時のクラブヘッドのフェース面の向きを示すデータである。フェースローテーションは、例えば、ショットの際のクラブヘッドのフェースローテーションの大きさを示すデータである。
また、本実施形態では、クラブヘッドの三次元計測の結果に基づいて、インパクトの直前のクラブヘッドの動きを表示部18にアニメーション表示させることができるようになっている。
ヘッド撮影装置34には、本実施形態では例えば、ゴルフボール48のショットに用いられるゴルフクラブのクラブヘッドを側方から撮影するカメラ60が設けられている。本実施形態では、カメラ60が、所定のフレームレートでフレーム画像を撮影する。ヘッド撮影装置34は、クラブヘッドがアドレスの際に位置する範囲を撮影範囲として撮影するので、アドレスの際のクラブヘッドを確実に撮影することができる。クラブヘッドの撮影の際には、撮影時刻も併せて記録される。
ヘッド撮影装置34のカメラ60は、ショットにおけるアドレスのタイミングに撮影を開始し、当該ショットのタイミングに撮影を終了してもよい。例えば、ヘッド撮影装置34は、ボール有無判別センサ44による配置検出がされたタイミングにカメラ60による画像の撮影を開始してもよい。そして、ヘッド撮影装置34は、例えば、ボール有無判別センサ44によるショット検出がされたタイミングにカメラ60による画像の撮影を終了してもよい。
撮影された画像は、撮影時刻の情報に関連付けられた上で、ショット管理装置10に送信される。本実施形態では、当該撮影時刻の情報が、撮影タイミングを示す情報として取り扱われる。そして、ショット管理装置10において、学習済の機械学習モデルを用いて、当該画像に写っているゴルフクラブの種類の推定が行われる。
図3は、上述の機械学習モデルの学習に用いられる学習装置70の構成の一例を示す図である。
本実施形態に係る学習装置70は、パーソナルコンピュータなどのコンピュータである。図3に示すように学習装置70は、例えば、プロセッサ72、記憶部74、通信部76、表示部78、操作部80を含んでいる。
プロセッサ72は、例えば学習装置70にインストールされるプログラムに従って動作するCPU等のプログラム制御デバイスである。
記憶部74は、ROMやRAM等の記憶素子やハードディスクドライブなどである。記憶部74には、プロセッサ72によって実行されるプログラムなどが記憶される。
通信部76は、例えばネットワークボードなどの通信インタフェースである。
表示部78は、液晶ディスプレイ等の表示デバイスであって、プロセッサ72の指示に従って各種の画像を表示する。
操作部80は、キーボードやマウスなどといったユーザインタフェースであって、ユー
ザの操作入力を受け付けて、その内容を示す信号をプロセッサ72に出力する。
なお、学習装置70は、DVD-ROMやBlu-ray(登録商標)ディスクなどの光ディスクを読み取る光ディスクドライブ、USB(Universal Serial Bus)ポートなどを含んでいてもよい。
なお、ショット管理装置10を学習装置70に流用してもよい。
図4は、本実施形態に係る学習装置70で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係る学習装置70で、図4に示す機能のすべてが実装される必要はなく、また、図4に示す機能以外の機能が実装されていても構わない。
図4に示すように、学習装置70には、機能的には例えば、機械学習モデル90、学習データ記憶部92、学習データ取得部94、前処理部96、学習部98が含まれる。機械学習モデル90は、プロセッサ72及び記憶部74を主として実装される。
学習データ記憶部92は、記憶部74を主として実装される。学習データ取得部94、前処理部96、学習部98は、プロセッサ72を主として実装される。
以上の機能は、コンピュータである学習装置70にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ72で実行することにより実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介して学習装置70に供給されてもよい。
機械学習モデル90は、本実施形態では例えば、アダブースト、ランダムフォレスト、ニューラルネットワーク、サポートベクタマシン(SVM)、最近傍識別器、などの機械学習が実装された機械学習モデルである。
機械学習モデル90は、本実施形態では例えば、ショットに用いられたゴルフクラブの種類(例えば、番手、モデル名、型番、などのうちの少なくとも1つ)を推定する。
学習データ記憶部92は、本実施形態では例えば、機械学習モデル90の学習に用いられる複数の学習データを記憶する。学習データには、例えば、ゴルフクラブ及びゴルフボール48を少なくとも表す基礎画像と、当該ゴルフクラブの種類を示す教師データと、が含まれている。ここで複数の学習データのそれぞれに含まれる基礎画像には、様々な種類のゴルフクラブが写っていることが望ましい。
学習データ取得部94は、本実施形態では例えば、機械学習モデル90の学習に用いられる学習データを取得する。ここで学習データ取得部94は、学習データ記憶部92に記憶されている学習データを取得してもよい。
前処理部96は、本実施形態では例えば、学習データに含まれる基礎画像に基づいて、ゴルフクラブ及びゴルフボール48を少なくとも表す、当該基礎画像とは異なる学習入力画像を生成する。前処理部96は、例えば、テンプレートマッチング技術を用いることで、基礎画像内におけるゴルフボール48の画像が占める領域を特定する。具体的には例えば、基礎画像内における白色の円形の領域が、ゴルフボール48の画像が占める領域と特定される。そして、前処理部96は、例えば、基礎画像内においてゴルフボール48の画像が占める領域の位置、大きさ、又は、色のうちの少なくとも1つに基づいて、学習入力画像を生成する。
ここで、前処理部96が、学習入力画像内におけるゴルフボール48の画像が占める領域の位置が所定の位置である学習入力画像を生成してもよい。
また、前処理部96が、ゴルフボール48の画像が占める領域の大きさが所定の大きさである学習入力画像を生成してもよい。
図5は、基礎画像の一例を模式的に示す図である。図5に示す基礎画像には、ゴルフボール48、ティー50、ゴルフクラブ100の像が写っている。図5に示す基礎画像では、下方向がX軸正方向であり、右方向がY軸正方向であることとする。そして、図5に示す基礎画像の縦の長さがx1であり、横の長さがy1であるとする。また、基礎画像に写るゴルフボール48の像の直径はD1であることとする。また、基礎画像に写るゴルフボール48の像の中心の座標値が(x2,y2)であることとする。
図6は、本実施形態において生成されるべき学習入力画像の一例を模式的に示す図である。図6に示す学習入力画像では、下方向がX軸正方向であり、右方向がY軸正方向であることとする。また、図6の示す学習入力画像の縦の長さがx0であり、横の長さがy0であるとする。また、基礎画像に写るゴルフボール48の像の直径はD0であることとする。また、学習入力画像に写るゴルフボール48の像の中心の座標値が(a,b)であることとする。
この場合、前処理部96は、図5に示す基礎画像に写るゴルフボール48の像の直径D1に基づいて、基礎画像の拡縮率をD0/D1と決定する。そして、前処理部96は、図5に示す基礎画像から4頂点の座標値がそれぞれ(x2-(D1/D0)×a,y2-(D1/D0)×b)、(x2-(D1/D0)×a,y2+(D1/D0)×(y0-b))、(x2+(D1/D0)×(x0-a),y2-(D1/D0)×b)、(x2+(D1/D0)×(x0-a),y2+(D1/D0)×(y0-b))である長方形の領域R1を切り出す。
ここで例えば、図5に示す基礎画像に写るゴルフボール48の像の直径D1が直径D0と同じである場合は、図5に示す基礎画像から4頂点の座標値がそれぞれ(x2-a,y2-b)、(x2-a,y2+(y0-b))、(x2+(x0-a),y2-b)、(x2+(x0-a),y2+(y0-b))である長方形の領域R1が切り出される。
そして、前処理部96は、切り出された領域R1の縦横の長さをD0/D1倍にした学習入力画像を生成する。なお、図5に示す基礎画像に写るゴルフボール48の像の直径D1が直径D0と同じである場合は、基礎画像から領域R1を切り出した画像自体が学習入力画像となる。このようにして、図5に示す基礎画像に対応する学習入力画像が生成される。
図7は、基礎画像の別の一例を模式的に示す図である。図7に示す基礎画像には、ゴルフボール48、ティー50、ゴルフクラブ100の像が写っている。図7に示す基礎画像では、下方向がX軸正方向であり、右方向がY軸正方向であることとする。そして、図7の示す基礎画像の縦の長さがx3であり、横の長さがy3であるとする。また、基礎画像に写るゴルフボール48の像の直径はD2であることとする。また、基礎画像に写るゴルフボール48の像の中心の座標値が(x4,y4)であることとする。
この場合、前処理部96は、図7に示す基礎画像に写るゴルフボール48の像の直径D2に基づいて、基礎画像の拡縮率をD0/D2と決定する。そして、前処理部96は、図7に示す基礎画像から4頂点の座標値がそれぞれ(x4-(D2/D0)×a,y4-(D2/D0)×b)、(x4-(D2/D0)×a,y4+(D2/D0)×(y0-b))、(x4+(D2/D0)×(x0-a),y4-(D2/D0)×b)、(x4+(D2/D0)×(x0-a),y4+(D2/D0)×(y0-b))である長方形の領域R2を切り出す。
ここで例えば、図7に示す基礎画像に写るゴルフボール48の像の直径D2が直径D0の125%である場合は、図7に示す基礎画像から4頂点の座標値がそれぞれ(x4-1.25×a,y4-1.25×b)、(x4-1.25×a,y4+1.25×(y0-b))、(x4+1.25×(x0-a),y4-1.25×b)、(x4+1.25×(x0-a),y4+1.25×(y0-b))である長方形の領域R2が切り出される。
そして、前処理部96は、切り出された領域R2の縦横の長さをD0/D2倍にした学習入力画像を生成する。なお、図7に示す基礎画像に写るゴルフボール48の像の直径D2が直径D0の125%である場合は、基礎画像から領域R2を切り出した画像の縦横の長さを80%にした学習入力画像が生成される。このようにして、図7に示す基礎画像に対応する学習入力画像が生成される。
以上のようにして、図5に示す基礎画像に基づく学習入力画像も、図7に示す基礎画像に基づく学習入力画像も、学習入力画像内におけるゴルフボール48の画像が占める領域の位置が所定の位置(例えば、中心の座標値が(a,b)である位置)となる。また、図5に示す基礎画像に基づく学習入力画像も、図7に示す基礎画像に基づく学習入力画像も、学習入力画像内におけるゴルフボール48の画像が占める領域の直径は所定の長さ(例えば、D0)となる。
また、基礎画像がティー50をさらに表す画像であってもよい。そして、前処理部96が、ティー50の向きが所定の向きとなるよう画像全体が回転された学習入力画像を生成する。
また、基礎画像が人工芝をさらに表す画像であってもよい。そして、前処理部96が、人工芝の縁の向きが所定の向きとなるよう画像全体が回転された学習入力画像を生成してもよい。
図8は、基礎画像のさらに別の一例を模式的に示す図である。ここで前処理部96が、前処理部96は、ティー50の向きが上下方向となるよう図8に示す基礎画像を回転させてもよい。あるいは、前処理部96は、人工芝の縁102の向きが左右方向となるよう図8に示す基礎画像を回転させてもよい。そして、図5及び図7に示す基礎画像を参照して説明した上述の処理と同様の処理を、回転後の基礎画像に対して実行することにより、図8に示す基礎画像から長方形の領域R3が切り出されてもよい。そして、切り出された領域R3に基づく学習入力画像が生成されてもよい。例えば、切り出された領域R3を上述のようにして拡大又は縮小することで学習入力画像が生成されてもよい。
また、前処理部96は、ゴルフボール48の画像が占める領域の色が所定色となるよう画像全体が色補正された学習入力画像を生成してもよい。ここで例えば、前処理部96は、ゴルフボール48の画像が占める領域の色に基づいて、複数の所定色(例えば、白、黄色、ピンク)のうちから、最も色差が小さい色を特定してもよい。そして、前処理部96は、ゴルフボール48の画像が占める領域が特定された色となるよう画像全体を色補正することにより、学習入力画像を生成してもよい。
また、基礎画像に人工芝の像が含まれている場合に、前処理部96は、人工芝の画像が示す領域の色が所定色(例えば、緑色)となるよう画像全体が色補正された学習入力画像を生成してもよい。
なお、図5、図7、図8に示す基礎画像にはドライバーが写っている。しかし、上述のように、複数の学習データのそれぞれに含まれる基礎画像には、ドライバーに限らず、フェアウェイウッド、ユーティリティ、アイアン、ウェッジなど様々な番手のゴルフクラブ100が写っていることが望ましい。また、複数の学習データのそれぞれに含まれる基礎画像には、様々なモデルや型番のゴルフクラブ100が写っていることが望ましい。
学習部98は、本実施形態では例えば、学習入力画像を機械学習モデル90に入力した際の出力を用いて、機械学習モデル90の学習を実行する。ここで例えば、学習データに含まれる基礎画像に基づいて生成された学習入力画像を機械学習モデル90に入力した際の出力と、当該学習データに含まれる教師データと、が比較されてもよい。そして当該比較の結果に基づいて機械学習モデル90のパラメータの値が更新される教師あり学習が実行されてもよい。
ここで、本実施形態に係る学習装置70で行われる学習処理の流れの一例を、図9に例示するフロー図を参照しながら説明する。ここでは例えば複数の学習データが学習データ記憶部92に記憶されていることとする。
まず、学習データ取得部94が、学習データ記憶部92に記憶されている複数の学習データのうち、S102~S104に示す処理が実行されていないものを1つ取得する(S101)。
そして、前処理部96が、S101に示す処理で取得された学習データに含まれる基礎画像に基づいて、上述のようにして、当該基礎画像に対応する学習入力画像を生成する(S102)。
そして、学習部98が、S102に示す処理で生成された学習入力画像を機械学習モデル90に入力する(S103)。
そして、学習部98が、S103に示す処理における学習入力画像の入力に応じた機械学習モデル90の出力を用いた、機械学習モデル90の学習を実行する(S104)。ここで例えば、当該出力と、S101に示す処理で取得された学習データに含まれる教師データと、の比較に基づいて、機械学習モデル90のパラメータの値が更新されてもよい。
そして学習部98が、学習データ記憶部92に記憶されている複数の学習データのすべてについてS102~S104に示す処理が実行されたか否かを確認する(S105)。
学習データ記憶部92に記憶されている複数の学習データのすべてについてS102~S104に示す処理が実行されていないことが確認された場合は(S105:N)、S101に示す処理に戻る。
学習データ記憶部92に記憶されている複数の学習データのすべてについてS102~S104に示す処理が実行されたことが確認された場合は(S105:Y)、本処理例に示す処理は終了される。
本実施形態では、以上のようにして複数の学習データが学習された学習済の機械学習モデル90が生成される。そして生成された機械学習モデル90は、ショット管理装置10の記憶部14に記憶される。
そして、本実施形態では、ショット管理装置10に記憶された学習済の機械学習モデル90を用いて、ヘッド撮影装置34のカメラ60により撮影される画像に写っているゴルフクラブの種類の推定が行われる。
ユーザ撮影装置36には、本実施形態では例えば、ゴルフボール48をショットするユーザを撮影するカメラ62が設けられている。本実施形態では、カメラ62が、所定のフレームレートでフレーム画像を撮影する。ユーザ撮影装置36は、ゴルフボール48をショットするユーザが位置する範囲を撮影範囲として撮影するので、ショットするユーザを確実に撮影することができる。ゴルフボール48をショットするユーザの撮影の際には、撮影時刻も併せて記録される。
ユーザ撮影装置36のカメラ62は、ショットにおけるアドレスのタイミングに撮影を開始し、当該ショットのタイミングに撮影を終了してもよい。例えば、ユーザ撮影装置36は、ボール有無判別センサ44による配置検出がされたタイミングにカメラ62による画像の撮影を開始してもよい。そして、ユーザ撮影装置36は、例えば、ボール有無判別センサ44によるショット検出がされたタイミングにカメラ62による画像の撮影を終了してもよい。
撮影された画像は、撮影時刻の情報に関連付けられた上で、ショット管理装置10に送信される。本実施形態では、当該撮影時刻の情報が、撮影タイミングを示す情報として取り扱われる。そして、ショット管理装置10において、当該画像に写っているユーザの属性(例えば、性別、年齢、年代、身長、体格など)の推定が行われる。
以下、ヘッド撮影装置34のカメラ60により撮影される画像に写っているゴルフクラブの種類の推定、及び、ユーザ撮影装置36のカメラ62により撮影される画像に写っているユーザの属性の推定を中心に、本実施形態に係るショット管理装置10の機能、及び、ショット管理装置10で実行される処理について、さらに説明する。
図10は、本実施形態に係るショット管理装置10で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るショット管理装置10で、図10に示す機能のすべてが実装される必要はなく、また、図10に示す機能以外の機能が実装されていても構わない。
図10に示すように、ショット管理装置10には、機能的には例えば、機械学習モデル90、受信部110、ショットデータ生成部112、第1ターゲット画像特定部114、クラブ種類推定部116、第2ターゲット画像特定部118、ユーザ属性推定部120、ショット管理データ生成部122、ショット管理データ記憶部124、集計部126、提供部128、が含まれる。
機械学習モデル90は、プロセッサ12及び記憶部14を主として実装される。受信部110は、通信部16を主として実装される。ショットデータ生成部112、第1ターゲット画像特定部114、クラブ種類推定部116、第2ターゲット画像特定部118、ユーザ属性推定部120、ショット管理データ生成部122、集計部126は、プロセッサ12を主として実装される。ショット管理データ記憶部124は、記憶部14を主として実装される。提供部128は、プロセッサ12及び表示部18を主として実装される。
以上の機能は、コンピュータであるショット管理装置10にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ12で実行することにより実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してショット管理装置10に供給されてもよい。
機械学習モデル90は、本実施形態では例えば、図4~図9を参照して説明したようにして生成された学習済の機械学習モデルである。
受信部110は、本実施形態では例えば、ヘッドスピードデータ、ステレオカメラ42により撮影された画像、カメラ54により撮影された画像、カメラ60により撮影された画像、及び、カメラ62により撮影された画像をショット測定装置22から受信する。
本実施形態では、1回のショットが行われる度に、受信部110は、当該ショットに対応付けられるヘッドスピードデータを弾道測定器30から受信する。また、受信部110は、当該ショットに対応付けられる、ステレオカメラ42により撮影された1又は複数の画像を弾道測定器30から受信する。また、受信部110は、当該ショットに対応付けられる、カメラ54により撮影された1又は複数の画像をヘッド挙動測定器32から受信する。また、受信部110は、当該ショットに対応付けられる、カメラ60により撮影された1又は複数の画像をヘッド撮影装置34から受信する。また、受信部110は、当該ショットに対応付けられる、カメラ62により撮影された1又は複数の画像をヘッド撮影装置34から受信する。
また、受信部110が、ボール有無判別センサ44から送信される上述の配置検出信号を受信してもよい。また、受信部110が、ボール有無判別センサ44から送信される上述のショット検出信号を受信してもよい。また、受信部110が、通過センサ58から送信される上述の通過検出信号を受信してもよい。
ショットデータ生成部112は、本実施形態では例えば、ゴルフボール48をショットする際の当該ゴルフボール48をショットするゴルフクラブの挙動又はゴルフボール48の挙動のうちの少なくとも一方を示すショットデータを生成する。ここでは例えば、上述のボールデータ、及び、上述のクラブデータを含む、ショットデータが生成される。
第1ターゲット画像特定部114は、本実施形態では例えば、受信部110が受信する、1回のショットに対応付けられる、カメラ60により撮影された1又は複数の画像のうちから、ゴルフクラブの推定に用いられる第1ターゲット画像を特定する。本実施形態に係る第1ターゲット画像には、ゴルフボール48及び当該ゴルフボール48をショットするゴルフクラブが表れている。
第1ターゲット画像特定部114は、例えば、ショットにおけるアドレスのタイミングから当該ショットのタイミングまでの間に撮影された画像を、第1ターゲット画像に特定してもよい。この場合、例えば、配置検出信号の受信タイミングが、アドレスのタイミングとして取り扱われてもよい。また、例えば、ショット検出信号の受信タイミングが、ショットのタイミングとして取り扱われてもよい。
ここで、第1ターゲット画像特定部114は、例えば、検出されるショットのタイミングの所定時間前にカメラ60によって撮影された画像を、第1ターゲット画像に特定してもよい。
例えば、第1ターゲット画像特定部114が、ゴルフボール48が配置されている状態から配置されていない状態への変化が検出されたタイミングの所定時間前にカメラ60によって撮影された画像を、第1ターゲット画像に特定してもよい。例えば、ショット検出信号を受信したタイミングの所定時間前にカメラ60によって撮影された画像が、第1ターゲット画像に特定されてもよい。
また、第1ターゲット画像特定部114は、ゴルフクラブの通過が検出されたタイミングの所定時間前にカメラ60によって撮影された画像を、第1ターゲット画像に特定してもよい。例えば、通過検出信号を受信したタイミングの所定時間前にカメラ60によって撮影された画像が、第1ターゲット画像に特定されてもよい。
また、第1ターゲット画像特定部114は、受信部110が通過検出信号を受信してから所定時間以内にショット検出信号を受信した際に、ショットが行われたことを特定してもよい。そして、このようにしてショットが行われたことが特定された場合に、ショット検出信号を受信したタイミングの所定時間前にカメラ60によって撮影された画像が、第1ターゲット画像に特定されてもよい。あるいは、このようにしてショットのタイミングが特定された場合に、通過検出信号を受信したタイミングの所定時間前にカメラ60によって撮影された画像が、第1ターゲット画像に特定されてもよい。
また、上述のように、ボール有無判別センサ44による配置検出がされたタイミングにカメラ60による画像の撮影が開始されてもよい。そして、第1ターゲット画像特定部114は、配置検出がされたタイミング以後にカメラ60によって撮影された画像を、第1ターゲット画像に特定してもよい。
クラブ種類推定部116は、本実施形態では例えば、第1ターゲット画像に基づいて、当該第1ターゲット画像が表すショットに用いられたゴルフクラブの種類を推定する。ここで、クラブ種類推定部116は、学習済の機械学習モデル90に第1ターゲット画像を入力した際の出力に基づいて、当該第1ターゲット画像が表すショットに用いられたゴルフクラブの種類を推定してもよい。そして、クラブ種類推定部116は、本実施形態では例えば、推定されたゴルフクラブの種類を示すクラブ種類データを生成する。
第2ターゲット画像特定部118は、本実施形態では例えば、受信部110が受信する、1回のショットに対応付けられる、カメラ62により撮影された1又は複数の画像のうちから、ゴルフボール48をショットしたユーザの属性の推定に用いられる第2ターゲット画像を特定する。
第2ターゲット画像特定部118は、例えば、ショットにおけるアドレスのタイミングから当該ショットのタイミングまでの間に撮影された画像を、第2ターゲット画像に特定してもよい。この場合、例えば、配置検出信号の受信タイミングが、アドレスのタイミングとして取り扱われてもよい。また、例えば、ショット検出信号の受信タイミングが、ショットのタイミングとして取り扱われてもよい。
ここで、第2ターゲット画像特定部118は、例えば、検出されるショットのタイミングの所定時間前にカメラ60によって撮影された画像を、第2ターゲット画像に特定してもよい。
例えば、第2ターゲット画像特定部118が、ゴルフボール48が配置されている状態から配置されていない状態への変化が検出されたタイミングの所定時間前にカメラ62によって撮影された画像を、第2ターゲット画像に特定してもよい。例えば、ショット検出信号を受信したタイミングの所定時間前にカメラ62によって撮影された画像が、第2ターゲット画像に特定されてもよい。
また、第2ターゲット画像特定部118は、ゴルフクラブの通過が検出されたタイミングの所定時間前にカメラ62によって撮影された画像を、第2ターゲット画像に特定してもよい。例えば、通過検出信号を受信したタイミングの所定時間前にカメラ62によって撮影された画像が、第2ターゲット画像に特定されてもよい。
また、第2ターゲット画像特定部118は、受信部110が通過検出信号を受信してから所定時間以内にショット検出信号を受信した際に、ショットが行われたことを特定してもよい。そして、このようにしてショットが行われたことが特定された場合に、ショット検出信号を受信したタイミングの所定時間前にカメラ62によって撮影された画像が、第2ターゲット画像に特定されてもよい。あるいは、このようにしてショットのタイミングが特定された場合に、通過検出信号を受信したタイミングの所定時間前にカメラ62によって撮影された画像が、第2ターゲット画像に特定されてもよい。
また、上述のように、ボール有無判別センサ44による配置検出がされたタイミングにカメラ62による画像の撮影が開始されてもよい。そして、第2ターゲット画像特定部118は、配置検出がされたタイミング以後にカメラ62によって撮影された画像を、第2ターゲット画像に特定してもよい。
ユーザ属性推定部120は、本実施形態では例えば、ゴルフボール48のショットを行ったユーザの画像に基づいて、当該画像が表すユーザの属性を推定する。例えば、ユーザ属性推定部120は、第2ターゲット画像に基づいて、当該第2ターゲット画像が表すユーザの属性を推定する。ここで、ユーザ属性推定部120は、例えば、学習済の機械学習モデルを用いた画像認識技術などの画像認識技術を用いることで、第2ターゲット画像からユーザの顔や体形を表す部分を抽出してもよい。そして、ユーザ属性推定部120は、抽出された部分に基づいて、第2ターゲット画像が表すユーザの、性別、年齢、年代、身長、体格などといった属性を推定してもよい。そして、ユーザ属性推定部120は、本実施形態では例えば、推定されたユーザの属性を示すユーザ属性データを生成する。
ショット管理データ生成部122は、本実施形態では例えば、1回のショットに対応付けられる上述のショットデータに、当該ショットについてクラブ種類推定部116によって推定されるゴルフクラブの種類を示すクラブ種類データ、及び、当該ショットについてユーザ属性推定部120により推定されるユーザの属性を示すユーザ属性データを関連付ける。ここでは例えば、1回のショットに対応付けられる上述のショットデータと、当該ショットについて推定されたゴルフクラブの種類を示すクラブ種類データと、当該ショットについて推定されたユーザの属性を示すユーザ属性データと、を含むショット管理データが生成される。なお、ショット管理データに、例えば、ショット検出信号の受信時刻などといったショットタイミングを示すショットタイミングデータが含まれるようにしてもよい。
ショット管理データ記憶部124は、本実施形態では例えば、ショット管理データ生成部122により生成されるショット管理データを記憶する。本実施形態ではショットが行われる度に、当該ショットに対応するショット管理データが生成される。そして、生成されるショット管理データがショット管理データ記憶部124に記憶される。
集計部126は、本実施形態では例えば、ショット管理データ記憶部124に記憶されている複数のショット管理データを集計する。
ここで、集計部126が、例えば、共通のゴルフクラブの種類に関連付けられている複数のショットデータのそれぞれが示す値の代表値を計算してもよい。例えば、集計部126が、ユーザにより指定された種類を示すクラブ種類データを含む複数のショット管理データを特定してもよい。
また、集計部126が、例えば、共通のユーザの属性に関連付けられている複数のショットデータのそれぞれが示す値の代表値を計算してもよい。例えば、集計部126が、ユーザにより指定されたユーザの属性を示すユーザ属性データを含む複数のショット管理データを特定してもよい。
また、集計部126が、例えば、共通のユーザの属性、及び、共通のゴルフクラブの種類に関連付けられている複数のショットデータのそれぞれが示す値の代表値を計算してもよい。例えば、集計部126が、ユーザにより指定されたユーザの属性を示すユーザ属性データとユーザにより指定された種類を示すクラブ種類データとを含む複数のショット管理データを特定してもよい。
そして、集計部126が、当該複数のショット管理データにそれぞれに含まれるショットデータが示す値の代表値を計算してもよい。
例えば、ボールスピードデータ、打出し角度データ、スピン量データ、飛距離データ、ヘッドスピードデータ、フェーススピードデータ、ヘッド軌道データ、ダイナミックロフトデータ、フェース角データ、ライ角データ、打点位置データ、法線角度データ、又は、フェースローテーションデータのうちの少なくとも1つについて、当該データの値の代表値(例えば、平均値、標準偏差、最大値、又は、最小値のうちの少なくとも1つ)が計算されてもよい。
提供部128は、本実施形態では、集計部126により計算される集計結果をユーザに提供する。ここで、提供部128は、本実施形態では、集計部126により計算される集計結果を表示部18に表示させてもよい。また、集計部126により計算される集計結果が印刷出力されてもよい。
ここで、例えば、集計部126が、ユーザによるゴルフクラブの種類の指定に応じて、集計部126が当該種類に関連付けられている複数のショットデータのそれぞれが示す値の代表値を計算してもよい。例えば、集計部126が、指定された種類を示すクラブ種類データを含む複数のショット管理データを特定してもよい。そして、集計部126が、これら複数のショット管理データが示す値の代表値を計算してもよい。
また、例えば、集計部126が、ユーザによるユーザの属性の指定に応じて、集計部126が当該ユーザの属性に関連付けられている複数のショットデータのそれぞれが示す値の代表値を計算してもよい。例えば、集計部126が、指定されたユーザの属性を示すユーザ属性データを含む複数のショット管理データを特定してもよい。そして、集計部126が、これら複数のショット管理データが示す値の代表値を計算してもよい。
また、例えば、集計部126が、ユーザによるゴルフクラブの種類、及び、ユーザの属性の指定に応じて、集計部126が当該ゴルフクラブの種類、及び、当該ユーザの属性に関連付けられている複数のショットデータのそれぞれが示す値の代表値を計算してもよい。例えば、集計部126が、指定された種類を示すゴルフ種類データと、指定されたユーザの属性を示すユーザ属性データと、を含む複数のショット管理データを特定してもよい。そして、集計部126が、これら複数のショット管理データが示す値の代表値を計算してもよい。
そして、提供部128が、計算された代表値を、表示部18に表示させたり、印刷出力したりしてもよい。ここで、提供部128は、これら複数のショット管理データのそれぞれが示す値の一覧を併せて表示部18に表示させたり、印刷出力したりしてもよい。
また、提供部128が、ゴルフクラブの種類ごとに、当該種類に対応する複数のショット管理データが示す値の代表値を計算してもよい。そして、ゴルフクラブの種類ごとの代表値の一覧を、表示部18に表示させたり、印刷出力したりしてもよい。
また、提供部128が、ゴルフボール48をショットするユーザの属性ごとに、当該ユーザの属性に対応する複数のショット管理データが示す値の代表値を計算してもよい。そして、ユーザの属性ごとの代表値の一覧を、表示部18に表示させたり、印刷出力したりしてもよい。
また、提供部128が、ゴルフクラブの種類とゴルフボール48をショットするユーザの属性との組合せごとに、当該ユーザの属性に対応する複数のショット管理データが示す値の代表値を計算してもよい。そして、ゴルフクラブの種類とゴルフボール48をショットするユーザの属性との組合せごとの代表値の一覧を、表示部18に表示させたり、印刷出力したりしてもよい。
ここで、本実施形態に係るショット管理装置10で行われる処理の流れの一例を、図11に例示するフロー図を参照しながら説明する。図11に示す処理例では、ショット検出信号の受信に応じて、1回のショットに対応付けられるショット管理データが生成され、記憶される。
まず、ショットデータ生成部112が、受信部110によるショット検出信号の受信を待機する(S201)。
そして、受信部110によるショット検出信号の受信が検出されると、ショットデータ生成部112は、ショットデータを生成する(S202)。ここでは例えば、受信部110が、ショット検出信号の受信タイミング以前又は以後の所定時間以内に、弾道測定器30及びヘッド挙動測定器32から受信した画像、並びに、弾道測定器30から受信したヘッドスピードデータが特定される。そして、特定された画像及びヘッドスピードデータに基づいて、ショットデータが生成される。
そして、第1ターゲット画像特定部114が、上述のようにして、第1ターゲット画像を特定する(S203)。
そして、クラブ種類推定部116が、S203に示す処理で特定された第1ターゲット画像に基づいて、当該第1ターゲット画像に表れているゴルフクラブの種類を推定し、推定されたゴルフクラブの種類を示すクラブ種類データを生成する(S204)。ここで上述のように、第1ターゲット画像を機械学習モデル90に入力した際の出力に基づいて、ゴルフクラブの種類が推定されてもよい。
そして、第2ターゲット画像特定部118が、上述のようにして、第2ターゲット画像を特定する(S205)。
そして、ユーザ属性推定部120が、S205に示す処理で特定された第2ターゲット画像に基づいて、当該第2ターゲット画像に表れているユーザの属性を推定し、推定されたユーザの属性を示すユーザ属性データを生成する(S206)。
そして、ショット管理データ生成部122が、S202に示す処理で生成されたショットデータと、S204に示す処理で生成されたクラブ種類データと、S206に示す処理で生成されたユーザ属性データと、を含むショット管理データを生成する(S207)。
そして、ショット管理データ生成部122が、S207に示す処理で生成されたショット管理データをショット管理データ記憶部124に記憶させて(S208)、本処理例に示す処理は終了される。
本実施形態では、基礎画像に対して前処理が実行されることで生成される学習入力画像により、機械学習モデル90の学習が実行される。そのため、ゴルフクラブの種類を的確に推定できる機械学習モデル90の学習を少ない画像を用いて行うことができることとなる。
また、本実施形態では、集計部126により、ゴルフクラブの種類ごとのショットデータが集計される。そのため、本実施形態によれば、ゴルフクラブの種類ごとのショットデータの集計の手間を低減できることとなる。
また、本実施形態では、ショット管理データ生成部122によって、ゴルフボール48をショットするユーザの属性がショットデータに関連付けられる。そのため、ショットを行ったユーザの属性に関連付けてショットデータを管理する際の手間を軽減できることとなる。
また、本実施形態では、集計部126により、ゴルフボール48をショットするユーザの属性ごとのショットデータが集計される。そのため、本実施形態によれば、ショットを行ったユーザの属性ごとのショットデータの集計の手間を低減できることとなる。
なお、本実施形態において、クラブ種類推定部116が、第1ターゲット画像内においてゴルフボール48の画像が占める領域の位置、大きさ、又は、色のうちの少なくとも1つに基づいて、ゴルフクラブ及びゴルフボール48を少なくとも表す、第1ターゲット画像とは異なる、入力画像を生成してもよい。例えば、基礎画像に基づいて学習入力画像を生成する際に用いられるアルゴリズムと同様のアルゴリズムにより、第1ターゲット画像に基づいて入力画像が生成されてもよい。
例えば、クラブ種類推定部116が、入力画像内におけるゴルフボール48の画像が占める領域の位置が所定の位置である入力画像を生成してもよい。
また、例えば、クラブ種類推定部116が、ゴルフボール48の画像が占める領域の大きさが所定の大きさである入力画像を生成してもよい。
また、例えば、クラブ種類推定部116が、ゴルフボール48の画像が占める領域の色が所定色となるよう画像全体が色補正された入力画像を生成してもよい。
また、例えば、第1ターゲット画像が、人工芝をさらに表す画像であり、クラブ種類推定部116が、人工芝の画像が示す領域の色が所定色となるよう画像全体が色補正された入力画像を生成してもよい。
また、例えば、クラブ種類推定部116が、人工芝の縁の向きが所定の向きとなるよう画像全体が回転された入力画像を生成してもよい。
また、例えば、第1ターゲット画像が、ティー50をさらに表す画像であり、クラブ種類推定部116が、ティー50の向きが所定の向きとなるよう画像全体が回転された入力画像を生成してもよい。
そして、クラブ種類推定部116が、入力画像を機械学習モデル90に入力した際の出力に基づいて、ゴルフクラブの種類を推定してもよい。
なおこの場合、機械学習モデル90が、前処理部96により生成される学習入力画像の入力に応じた出力を用いた学習が実行された機械学習モデルでなくても構わない。例えば、ゴルフクラブ及びゴルフボール48が所定の向きとなり、所定の画角で、所定の色味となるよう撮影された学習入力画像と、当該ゴルフクラブの種類を示す教師データと、を含むよう予め作成された複数の学習データを用いた学習が実行された機械学習モデルであっても構わない。
以上のように、ゴルフボール48、ティー50、人工芝の像を頼りに、第1ターゲット画像に基づいて生成された、学習入力画像に似た入力画像を機械学習モデル90に入力した際の出力に基づいて、ゴルフクラブの種類を推定してもよい。この場合、機械学習モデル90が前処理部96により生成される学習入力画像の入力に応じた出力を用いた学習が実行されたものであるか否かに関わらず、ゴルフクラブの種類を的確に推定できる機械学習モデル90の学習を少ない画像を用いて行うことができる。
なお、本発明は上述の実施形態に限定されるものではない。
例えば、ショット測定装置22が打音を検出する打音検出センサを備えていてもよい。そして、打音検出センサによって打音が検出されたタイミングに、打音検出センサが、所定のショット検出信号をショット管理装置10に送信してもよい。そして、受信部110が当該ショット検出信号を受信してもよい。
そしてこの場合に、第1ターゲット画像特定部114が、打音が検出されたタイミングの所定時間前にヘッド撮影装置34のカメラ60により撮影された画像を、第1ターゲット画像に特定してもよい。例えば、打音検出センサが送信するショット検出信号を受信部110が受信したタイミングの所定時間前にカメラ60により撮影された画像が、第1ターゲット画像に特定されてもよい。
また、この場合に、第2ターゲット画像特定部118が、打音が検出されたタイミングの所定時間前にユーザ撮影装置36のカメラ62により撮影された画像を、第2ターゲット画像に特定してもよい。例えば、打音検出センサが送信するショット検出信号を受信部110が受信したタイミングの所定時間前にカメラ62により撮影された画像が、第2ターゲット画像に特定されてもよい。
また、ショット管理装置10とショット測定装置22との役割分担は上述のものには限定されない。例えば、ショット管理装置10で実装される図10に示す機能の一部又は全部がショット測定装置22で実装されてもよい。また、例えば、ショット管理装置10でヘッドスピードデータが生成されてもよい。
また、ヘッド撮影装置34の機能が、ヘッド挙動測定器32に実装されていてもよい。
また、例えば、図12に示すように、複数のショット測定システム1が、ショット管理装置10と同様の、パーソナルコンピュータなどのコンピュータである集計装置130と通信可能であってもよい。そして、それぞれのショット測定システム1が、ショット管理データ生成部122によって生成されたショット管理データを、集計装置130に送信してもよい。この場合、送信されるショット管理データには、当該ショット管理データを送信するショット測定システム1の識別情報が関連付けられていてもよい。
そして、集計装置130が、上述の集計部126や提供部128の機能を担っていてもよい。例えば、集計装置130が、上述したように、複数のショット測定システム1から受信した複数のショット管理データを集計してもよい。そして集計装置130が、集計装置130により計算される集計結果を、集計装置130のユーザに提供してもよい。
複数のゴルフショップのそれぞれに、ショット測定システム1が設けられている場合に以上のようにすることで、複数のゴルフショップで生成されたショットデータを横断的に分析することができる。例えば、ショットごと、ショットに用いられたゴルフクラブの種類ごと、ショットを行ったユーザの属性ごとのショットデータの分析を行うことができる。
なお、本実施形態に係るショット測定システム1が設けられる場所は特に問わず、例えば、ゴルフ練習場にショット測定システム1が設けられていてもよい。
また、上述の集計部126や提供部128の機能に限らず、例えば、機械学習モデル90、受信部110、ショットデータ生成部112、第1ターゲット画像特定部114、クラブ種類推定部116、第2ターゲット画像特定部118、ユーザ属性推定部120、ショット管理データ生成部122、ショット管理データ記憶部124の機能の一部又は全部が、集計装置130で実装されてもよい。
なお、それぞれのショット測定システム1において、ショットに対応付けられるユーザ自体の推定や特定が行われることがある。この場合に、当該ユーザ自体を特定可能なショット管理データではなく、ユーザの属性に関連付けられたショット管理データが送信されるようにすることで、プライバシーに配慮した、ショットを行ったユーザの属性ごとのショットデータの分析を行うことができる。
また、クラブ種類推定部116は、学習済の機械学習モデル90を用いずに、第1ターゲット画像が表すショットに用いられたゴルフクラブの種類を推定してもよい。
例えば、クラブ種類推定部116が、第1ターゲット画像内のクラブヘッドに対応した特定範囲の画素値を有する画素を、例えば、人工芝等の緑色の背景に対応した画素値を有する画素から切り分けて抽出してもよい。
そして、クラブヘッドの大きさ、又は、クラブヘッドの形状に関する第1特徴情報が特定されてもよい。ここで、抽出されたクラブヘッドの像の画素の総数をクラブヘッドの大きさとしてもよい。また、抽出されたクラブヘッドの画像の領域から、クラブヘッドのシャフトが挿入される筒形状のソケット部の像を除去して得られるクラウン部及びサイド部の像の輪郭形状の情報が特定されてもよい。輪郭形状は、ウッド系のゴルフクラブの場合、種類によって大きく異なるので、抽出されたクラウン部の像の輪郭形状から、ゴルフクラブの種類を判別することができる。輪郭形状は、例えば輪郭を表す曲線の傾斜角度あるいは曲線の曲率によって特徴付けることができる。また、クラウン部及びサイド部の像の縦横比が特定されてもよい。
そして、特定された第1特徴情報に基づいて、ゴルフクラブの種類が推定されてもよい。例えばクラブ種類推定部116が、第1特徴情報とゴルフクラブの種類とを対応付けた参照テーブルを予め保持していてもよい。そして、特定された第1特徴情報から、この参照テーブルを参照することにより、ゴルフクラブの種類が推定されてもよい。
また、クラブ種類推定部116が、ゴルフクラブのモデル名あるいは型番と対応付けることができる、模様、記号、又は色彩のうちの少なくとも1つの第2特徴情報を有する複数のクラブヘッドの参照画像を予め保持していてもよい。そして、第1ターゲット画像内のクラブヘッドの像について、保持している参照画像を呼び出して、それぞれの参照画像中の第2特徴情報とのマッチングを行うことにより、ゴルフクラブのモデル名あるいは型番が推定されてもよい。
第2特徴情報は、クラブヘッドの輪郭形状、フェース面に設けられたスコアラインの模様、フェース面に設けられたパンチマークの形態、フェース面に形成された装飾模様、又はクラブヘッドに設けられたロゴマークの少なくともいずれか1つを含んでいてもよい。
また、本実施形態において、ゴルフクラブの種類の推定結果に応じて、弾道測定器30のステレオカメラ42による撮影タイミング及び撮影範囲が変更されてもよい。
また、上記の具体的な数値は例示であり、これらの数値には限定されない。