(57)【要約】【課題】計算負荷を抑えつつ、アドレス及び／又はインパクトのフレームを精度よく抽出することができるゴルフスイングの分析システムを提供する。【解決手段】ゴルフスイングを撮影した動画からアドレス及び／又はインパクトのフレームを抽出する分析システムが提供される。前記分析システムは、前記動画から、フレーム間差分値を順次導出する差分導出部と、前記フレーム間差分値が時間軸に沿って特徴的に出現する区間を検出する特徴検出部と、前記検出結果に基づいて、インパクト及び／又はアドレスのフレームを特定する特定部とを備える。【選択図】図６
2019025348.tif 000002
【特許請求の範囲】
【請求項１】
ゴルフスイングを撮影した動画からアドレス及び／又はインパクトのフレームを抽出するゴルフスイングの分析システムであって、
前記動画から、フレーム間差分値を順次導出する差分導出部と、
前記フレーム間差分値が時間軸に沿って特徴的に出現する区間を検出する特徴検出部と、
前記検出結果に基づいて、インパクト及び／又はアドレスのフレームを特定する特定部と
を備える、ゴルフスイングの分析システム。
【請求項２】
前記差分導出部は、アドレス及びインパクト時にゴルフクラブのヘッドの周辺が写る前記動画の部分領域内において、前記フレーム間差分値を順次導出する、
請求項１に記載のゴルフスイングの分析システム。
【請求項３】
前記特徴検出部は、前記フレーム間差分値の第１の山と、前記第１の山の直前に位置する所定の長さ以上の谷とを含む区間を検出する、
請求項２に記載のゴルフスイングの分析システム。
【請求項４】
前記特徴検出部は、前記第１の山及び前記谷に加え、前記谷の直前に位置する前記フレーム間差分値の第２の山をさらに含む区間を検出する、
請求項３に記載のゴルフスイングの分析システム。
【請求項５】
前記特定部は、前記第１の山に対応する１つ又は複数のフレームの中から、前記インパクトのフレームを特定する、
請求項３又は４に記載のゴルフスイングの分析システム。
【請求項６】
前記特定部は、前記第１の山又は前記谷に対応する１つ又は複数のフレームの中から、前記アドレスのフレームを特定する、
請求項３又は４に記載のゴルフスイングの分析システム。
【請求項７】
前記差分導出部により前記フレーム間差分値が導出される前に、前記動画の像ブレを補正する像ブレ補正部をさらに備える、
請求項１から６のいずれかに記載のゴルフスイングの分析システム。
【請求項８】
ゴルフスイングを撮影した動画からアドレス及び／又はインパクトのフレームを抽出するためのゴルフスイングの分析プログラムであって、
前記動画から、フレーム間差分値を順次導出するステップと、
前記フレーム間差分値が時間軸に沿って特徴的に出現する区間を検出するステップと、
前記検出結果に基づいて、インパクト及び／又はアドレスのフレームを特定するステップと
をコンピュータに実行させる、ゴルフスイングの分析プログラム。
【請求項９】
ゴルフスイングを撮影した動画からアドレス及び／又はインパクトのフレームを抽出するためのゴルフスイングの分析方法であって、
前記動画から、フレーム間差分値を順次導出するステップと、
前記フレーム間差分値が時間軸に沿って特徴的に出現する区間を検出するステップと、
前記検出結果に基づいて、インパクト及び／又はアドレスのフレームを特定するステップと
を備える、ゴルフスイングの分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゴルフスイングを撮影した動画からアドレス及び／又はインパクトのフレームを抽出するゴルフスイングの分析システム、プログラム及び方法に関する。
【背景技術】
【０００２】
従来より、ゴルファーによるゴルフスイングを撮影した動画に基づいて、ゴルフスイングを分析する装置が公知である（特許文献１，２等）。分析の結果は、ゴルファーのフォームの改善やゴルフ用品の開発等、様々な用途で利用される。
【０００３】
ところで、ゴルフスイングは、一般に、アドレス、腕水平、トップ、切り返し、インパクト、フィニッシュの順に進む。アドレスとは、ゴルフクラブのヘッドをボール近くに配置した初期の状態であり、アドレスからゴルフクラブがテイクバックされる。テイクバック中、左腕が水平になる状態が、腕水平であり、最もヘッドが振り上げられた状態が、トップである。トップの後、ダウンスイングが開始される。切り返しとは、このダウンスイングの開始点であり、切り返しからゴルフクラブが振り下ろされる。そして、その後、ヘッドがボールと衝突した瞬間の状態が、インパクトであり、フィニッシュとは、インパクトの後、ゴルフクラブを前方へ振り抜いた状態である。
【０００４】
そして、以上のようなアドレス、腕水平、トップ、切り返し、インパクト、フィニッシュ等のポジションは、ゴルフスイングを診断するためのチェックポイントとなる。従って、動画の中からこのような特定のポジションのフレームを自動的に抽出することが重要であり、これまでにも様々なアルゴリズムが提案されている。
【０００５】
具体的には、特許文献１では、まず、動画に含まれる各フレームからエッジを検出し、各エッジ画像を二値化し、各二値化画像にハフ変換を施してゴルフクラブのシャフトに対応する直線を抽出する。そして、このシャフトの先端の動きに注目して、アドレスのフレームが抽出される。
【０００６】
その後、このアドレスのフレームから所定枚数後のフレームが、基準フレームとして抽出される。このときの基準フレームは、アドレス時であればゴルフクラブのヘッドの周辺が写る部分領域内にゴルフクラブが写っていないフレームとなる。そして、この基準フレームと、この基準フレーム以降の各フレームとの間で、以上の部分領域内においてフレーム間差分値が算出され、このフレーム間差分値が最大となるフレームが、インパクトのフレームとして決定される。
【０００７】
また、特許文献２では、隣接フレーム間の差分値が順次算出され、このフレーム間差分値が最小となるタイミングのフレームが、アドレスのフレームとして決定される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−１７７３４１号公報
【特許文献２】特開２００５−２１０６６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
以上の通り、特許文献１の方法では、多数のフレームに対しエッジ画像の生成やハフ変換等の処理が実行されるため、計算負荷が大きくなるという問題がある。ただし、アドレスフレームを抽出してしまった後、インパクトフレームを抽出する処理については、単にフレーム間差分値を順次算出し、これらの中から最大値を検出する程度であるため、比較的計算負荷は小さい。しかしながら、フレーム間差分値が最大となる一点を見つけ、これをインパクトに対応するものと判断する方法では、ノイズの影響等により誤判定が生じ易くなる。フレーム間差分値が最小となる一点をアドレスに対応するものと判断する特許文献２でも、同様のことが言える。
【００１０】
本発明は、計算負荷を抑えつつ、アドレス及び／又はインパクトのフレームを精度よく抽出することができるゴルフスイングの分析システム、プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１観点に係るゴルフスイングの分析システムは、ゴルフスイングを撮影した動画からアドレス及び／又はインパクトのフレームを抽出するシステムであって、前記動画から、フレーム間差分値を順次導出する差分導出部と、前記フレーム間差分値が時間軸に沿って特徴的に出現する区間を検出する特徴検出部と、前記検出結果に基づいて、インパクト及び／又はアドレスのフレームを特定する特定部とを備える。
【００１２】
本発明の第２観点に係るゴルフスイングの分析システムは、第１観点に係るシステムであって、前記差分導出部は、アドレス及びインパクト時にゴルフクラブのヘッドの周辺が写る前記動画の部分領域内において、前記フレーム間差分値を順次導出する。
【００１３】
本発明の第３観点に係るゴルフスイングの分析システムは、第２観点に係るシステムであって、前記特徴検出部は、前記フレーム間差分値の第１の山と、前記第１の山の直前に位置する所定の長さ以上の谷とを含む区間を検出する。
【００１４】
本発明の第４観点に係るゴルフスイングの分析システムは、第３観点に係るシステムであって、前記特徴検出部は、前記第１の山及び前記谷に加え、前記谷の直前に位置する前記フレーム間差分値の第２の山をさらに含む区間を検出する。
【００１５】
本発明の第５観点に係るゴルフスイングの分析システムは、第３又は第４観点に係るシステムであって、前記特定部は、前記第１の山に対応する１つ又は複数のフレームの中から、前記インパクトのフレームを特定する。
【００１６】
本発明の第６観点に係るゴルフスイングの分析システムは、第３又は第４観点に係るシステムであって、前記特定部は、前記第１の山又は前記谷に対応する１つ又は複数のフレームの中から、前記アドレスのフレームを特定する。
【００１７】
本発明の第７観点に係るゴルフスイングの分析システムは、第１から第６観点のいずれかに係るシステムであって、前記差分導出部により前記フレーム間差分値が導出される前に、前記動画の像ブレを補正する像ブレ補正部をさらに備える。
【００１８】
本発明の第８観点に係るゴルフスイングの分析プログラムは、ゴルフスイングを撮影した動画からアドレス及び／又はインパクトのフレームを抽出するためのプログラムであって、前記動画から、フレーム間差分値を順次導出するステップと、前記フレーム間差分値が時間軸に沿って特徴的に出現する区間を検出するステップと、前記検出結果に基づいて、インパクト及び／又はアドレスのフレームを特定するステップとをコンピュータに実行させる。
【００１９】
本発明の第９観点に係るゴルフスイングの分析方法は、ゴルフスイングを撮影した動画からアドレス及び／又はインパクトのフレームを抽出するための方法であって、前記動画から、フレーム間差分値を順次導出するステップと、前記フレーム間差分値が時間軸に沿って特徴的に出現する区間を検出するステップと、前記検出結果に基づいて、インパクト及び／又はアドレスのフレームを特定するステップとを備える。
【発明の効果】
【００２０】
本発明では、動画に含まれるアドレス及び／又はインパクトのフレームを特定すべく、動画に基づいてフレーム間差分値が順次導出され、これらの値が時間軸に沿って特徴的な出現パターンで出現する区間が検出される。すなわち、単に特徴的な一点（例えば、フレーム間差分値が最大又は最小となる点等）を見つけるのではなく、特徴的な区間を見つけ、これに基づいてアドレス及び／又はインパクトのフレームが特定される。その結果、ノイズの影響等により誤判定が生じる可能性が低減される。従って、本発明によれば、計算負荷を抑えつつ、アドレス及び／又はインパクトのフレームを精度よく抽出することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態に係るゴルフスイングの分析システムの構成を示すブロック図。
【図２】ゴルフスイング分析処理の流れを示すシーケンス図。
【図３】撮影画面を示す図。
【図４】アドレス、腕水平、トップ、切り返し、インパクト及びフィニッシュを捉えたフレームの例を示す図。
【図５】チェックポイントのフレームの抽出処理の流れを示すフローチャート。
【図６】インパクトフレームの抽出処理の流れを示すフローチャート。
【図７】時間軸に沿ったフレーム間差分値のグラフを示す図。
【図８】時間軸に沿ったフレーム間差分値の別のグラフを示す図。
【図９】アドレスフレームの抽出処理の流れを示すフローチャート。
【図１０】アドレス付近のフレーム間差分値のグラフの拡大図。
【発明を実施するための形態】
【００２２】
以下、図面を参照しつつ、本発明の一実施形態に係るゴルフスイングの分析システム、プログラム及び方法について説明する。
【００２３】
＜１．ゴルフスイングの分析システムの概略＞
図１に、本実施形態に係るゴルフスイングの分析システム１００を示す。分析システム１００は、ゴルフスイングを動画として撮影し、これを画像処理することで、ゴルファーによるゴルフスイングを分析するためのシステムである。分析システム１００は、主として、携帯電話１と、携帯電話１からインターネット６を介して接続可能なサーバ２とから構成される。携帯電話１には、カメラ１０が搭載されている。ユーザは、このカメラ１０を用いてゴルフスイングを動画として撮影し、サーバ２は、これを携帯電話１から受け取り、分析する。なお、ここでいうユーザとは、ゴルフスイングの分析結果を必要とするゴルファーやインストラクター等の総称である。以下、携帯電話１及びサーバ２のハードウェア構成について説明した後、これらの動作について説明する。
【００２４】
＜２．携帯電話のハードウェア構成＞
本実施形態における携帯電話１は、カメラ機能付きのスマートフォンであり、ゴルフスイングの分析用のプログラム１Ａがインストールされている。このプログラム１Ａは、サーバ２と通信しながら、携帯電話１に後述する動作を実行させるためのアプリケーションソフトウェアであり、インターネット６を介してダウンロード可能である。
【００２５】
携帯電話１は、カメラ１０の他、表示部１１、入力部１２、記憶部１３、制御部１４、及び通信部１５を有しており、これらの部１０〜１５は、バス線１６を介して相互に通信可能である。表示部１１は、液晶ディスプレイ等で構成され、後述する画面等をユーザに対し表示する。入力部１２は、タッチパネルや操作ボタン等で構成され、ユーザからの操作を受け付ける。記憶部１３は、内蔵型のフラッシュメモリや取り外し可能なＳＤカード等で構成されており、上述のプログラム１Ａは、ここに格納されている。通信部１５は、携帯電話通信網を介しての他の電話との音声通信や、インターネット６を介しての各種サーバ（サーバ２を含む）とのデータ通信を可能にする他、専用のケーブルを介しての他の情報端末との通信も可能にする。制御部１４は、ＣＰＵ、ＲＯＭおよびＲＡＭ等で構成されており、記憶部１３内に格納されているプログラム１Ａを読み出して実行することにより、仮想的に撮影案内部１４Ａ及びサイズ調整部１４Ｂとして動作する。各部１４Ａ，１４Ｂの動作については、後述する。
【００２６】
＜３．サーバのハードウェア構成＞
サーバ２は、ゴルフスイングの分析用のプログラム２Ａがインストールされたアプリケーションサーバである。このプログラム２Ａは、携帯電話１と通信しながら、サーバ２に後述する動作を実行させるためのアプリケーションソフトウェアであり、ＣＤ−ＲＯＭ等のコンピュータで読み取り可能な記録媒体２０からインストール可能である。
【００２７】
サーバ２は、表示部２１、入力部２２、記憶部２３、制御部２４、及び通信部２５を有しており、これらの部２１〜２５は、バス線２６を介して相互に通信可能である。表示部２１は、液晶ディスプレイ等で構成され、必要な画面等をユーザに対し表示する。入力部２２は、マウスやキーボード、タッチパネル等で構成され、ユーザからの操作を受け付ける。記憶部２３は、ハードディスク等で構成されており、上述のプログラム２Ａは、ここに格納されている。通信部２５は、インターネット６を介しての他の情報端末（携帯電話１を含む）とのデータ通信を可能にする。制御部２４は、ＣＰＵ、ＲＯＭおよびＲＡＭ等で構成されている。制御部２４は、記憶部２３内に格納されているプログラム２Ａを読み出して実行することにより、仮想的に像ブレ補正部２４Ａ、差分導出部２４Ｂ、特徴検出部２４Ｃ、特定部２４Ｄ及び診断部２４Ｅとして動作する。各部２４Ａ〜２４Ｅの動作については、後述する。
【００２８】
＜４．ゴルフスイング分析処理＞
以下、図２を参照しつつ、携帯電話１及びサーバ２によるゴルフスイング分析処理について説明する。
まず、ユーザは、ゴルフ練習場等においてゴルフスイングを改善したいと考えたときに、携帯電話１上でこれを支援するためのプログラム１Ａを起動する（ステップＳ１）。これを受けて、携帯電話１の撮影案内部１４Ａは、表示部１１上に、図３に示すような撮影画面Ｗ１を表示させる（ステップＳ２）。撮影画面Ｗ１内には、カメラ１０が捉えるスルー画像が表示されるとともに、このスルー画像に重ねて２つの案内枠Ｗ２，Ｗ３が表示される。中央の案内枠Ｗ２は、アドレス時にゴルファー７０の握るゴルフクラブ７のグリップ７１を捉えるべき領域を示す枠でありであり、右下の案内枠Ｗ３は、アドレス時にゴルフクラブ７のヘッド７２及びボールを捉えるべき領域を示す枠である。従って、ユーザは、これらの案内枠Ｗ２，Ｗ３を参考にすることで、カメラ１０の撮像範囲内においてゴルファー７０を捉えるべき凡その位置やアングルを容易に理解することができる。これらの案内枠Ｗ２，Ｗ３は、カメラ１０を縦長に持った上で、カメラ１０の撮像範囲内の所定の位置（本実施形態では、中央付近）でゴルファー７０を捉えるように案内する。また、撮影画面Ｗ１上には、案内枠Ｗ２，Ｗ３に加え、これらの意味するところを示す情報、例えば、「中央の枠内にプレイヤーの手元を写し、右下の枠内にゴルフクラブのヘッドを写してください。」と言ったメッセージが表示されてもよい。
【００２９】
続いて、ユーザは、以上のガイダンスに従って、カメラ１０の撮像範囲内の適切な位置でゴルファー７０を捉えた後、カメラ１０でゴルフスイングを写す動画を撮影する（ステップＳ３）。このとき、ユーザは、手に持ったカメラ１０を極力動かさないように注意しながら、アドレスからフィニッシュまでの一連の動作を撮影する。なお、ゴルフスイングは、一般に、アドレス、腕水平、トップ、切り返し、インパクト、フィニッシュの順に進む。図４は、これらの６つの状態を捉えたフレームの例を示している。アドレスとは、ゴルフクラブ７のヘッド７２をボール近くに配置した初期の状態であり、アドレスからゴルフクラブ７がテイクバックされる。テイクバック中、左腕が水平になる状態が、腕水平であり、最もヘッド７２が振り上げられた状態が、トップである。トップの後、ダウンスイングが開始される。切り返しとは、このダウンスイングの開始点であり、切り返しからゴルフクラブ７が振り下ろされる。そして、その後、ヘッド７２がボールと衝突した瞬間の状態が、インパクトであり、フィニッシュとは、インパクトの後、ゴルフクラブ７を前方へ振り抜いた状態である。撮影された動画は、記憶部１３内に保存される。
【００３０】
撮影が終わると、携帯電話１のサイズ調整部１４Ｂは、必要に応じて、撮影された動画の画像サイズを縮小する（ステップＳ４）。具体的には、サイズ調整部１４Ｂは、撮影された動画のアスペクト比を判断し、アスペクト比が所定値と異なると判断される場合（例えば、縦１６：横９である場合）には、アスペクト比が所定値（本実施形態では、縦４：横３）となるように、動画に含まれる各フレームの上下方向（長手方向）の端辺から所定％の領域を切り取る。画像サイズが一定以上の比率で縦長である場合には、各フレームの上下の所定％の領域には、ゴルファー７０やゴルフクラブ７が写っていないと考えられるからである。さらに、サイズ調整部１４Ｂは、以上の動画のピクセル数を判断し、これが所定値よりも大きいと判断される場合（例えば、縦１４４０×横１０８０である場合）には、これを所定値（本実施形態では、縦６４０×横４８０）となるように、動画に含まれる各フレームを圧縮する。なお、このとき、圧縮後の画素値に小数点が生じないよう、内挿処理にて、各色成分（Ｒ，Ｇ，Ｂ）に関し画素値を整数化することが好ましい。
【００３１】
続いて、携帯電話１の通信部１５は、以上の動画をインターネット６を介してサーバ２に送信する（ステップＳ５）。一方、サーバ２側では、通信部２５がこれを受信し、その後、像ブレ補正部２４Ａが、携帯電話１から送られてきたこの動画に対し像振れ補正を実行する（ステップＳ６）。像振れ補正のアルゴリズムとしては、様々なものが公知であるため、ここでは詳細な説明を省略する。この像ブレ補正により、動画に含まれるフレーム間の像ブレが解消される。
【００３２】
動画の像振れ補正が終了すると、サーバ２の差分導出部２４Ｂ、特徴検出部２４Ｃ及び特定部２４Ｄが協働して、像振れ補正後の動画の中から特定のタイミングでのフレームを自動的に抽出する（ステップＳ７）。具体的には、アドレス、腕水平、トップ、切り返し、インパクト及びフィニッシュの６枚のフレームが、自動的に抽出される。このようなタイミングは、ゴルフスイングを診断するためのチェックポイントとなる。これらのチェックポイントのフレームの抽出処理の詳細については、後述する。
【００３３】
その後、診断部２４Ｅは、チェックポイントのフレームを用いて、ゴルフスイングの診断を行う（ステップＳ８）。例えば、チェックポイントのフレーム内に写るゴルファー７０やゴルフクラブ７のシルエットを自動抽出し、伸ばすべきところで腕が曲がっていないか、顔が正しい方向を向いているか、ゴルフクラブの向きが正しいか等のチェック項目について診断がされる。このようなチェック項目は、インストラクターの知見に基づいて作成され得る。また、プロがゴルフスイングを行った時のチェックポイントでのフレームを用意しておき、これをユーザによるチェックポイントでのフレームと比較することもできる。なお、ゴルフスイングの診断のアルゴリズムについては、様々なものが公知であるため、ここでは詳細な説明を省略する。
【００３４】
以上の診断の結果は、サーバ２の通信部２５から携帯電話１の通信部１５に送信され（ステップＳ９）、携帯電話１の表示部１１上に表示される（ステップＳ１０）。従って、ユーザは、診断の結果を確認し、正しいスイングフォームの習得に役立てることができる。なお、診断の結果は、スイングの点数、長所・短所、ゴルファー７０に見合った練習メニュー等として表現され得る。また、チェックポイントのフレームそのものを診断の結果としてもよい。
【００３５】
＜５．チェックポイントのフレームの抽出処理＞
次に、図５を参照しつつ、チェックポイントのフレームの抽出処理について説明する。以下では、携帯電話１から送られてき、上述の像ブレ補正が施された後の動画に含まれる複数のフレームを、時間軸に沿って順に、Ｆ1，Ｆ2，・・・，Ｆn（ｎは、フレームの枚数）と表す。本処理では、まず、動画の中からインパクトフレームＦIが抽出され（ステップＳ２１）、続いて、アドレスフレームＦAが抽出される（ステップＳ２２）。インパクトフレームＦI及びアドレスフレームＦAの抽出処理については、後述する。
【００３６】
次に、動画の中からトップフレームＦTが抽出される（ステップＳ２３）。ここでは、インパクトのタイミングを基準にして、トップフレームＦTが探索される。具体的には、トップは、インパクトの前に生じるため、インパクトフレームＦIのＮ１枚前からＮ２枚前のフレームＦI-N1，・・・，ＦI-N2間で、トップフレームＦTが探索される。動画のＦＰＳ（Frame per second）が３０ｆｐｓであれば、例えば、Ｎ１＝１５かつＮ２＝４とすることができる。
【００３７】
探索のアルゴリズムとしては、差分導出部２４Ｂが、上記探索期間ｉ＝（Ｉ−Ｎ１）〜（Ｉ−Ｎ２）において順次、隣接フレームＦi-1，Ｆi間で差分処理を実行する。差分処理とは、フレーム間差分値を算出する処理である。本実施形態では、フレーム間差分値として、差分絶対値和（ＳＡＤ）が算出される。すなわち、差分導出部２４Ｂは、各画素について、フレームＦiにおける画素値からフレームＦi-1における画素値を減算した値をその画素の画素値とする差分画像を作成する。なお、ここでの画素値の計算は、色成分（Ｒ，Ｇ，Ｂ）毎に行われる。そして、差分導出部２４Ｂは、この差分画像に含まれる全画素の全色成分に関する画素値の絶対値の合計値（ＳＡＤ）を算出する。特定部２４Ｄは、上記探索期間ｉ＝（Ｉ−Ｎ１）〜（Ｉ−Ｎ２）における差分処理の後、フレーム間差分値が最小となるｉ＝Ｔを特定し、このときのフレームＦTをトップフレームとする。なお、ステップＳ２３における差分処理は、動画の画面全体を対象として実行される。
【００３８】
次に、動画の中から腕水平フレームＦHが抽出される（ステップＳ２４）。ここでは、アドレスのタイミングを基準にして、腕水平フレームＦHが探索される。具体的には、腕水平は、アドレスの後に生じるため、アドレスフレームＦAのＮ３枚後からＮ４枚後のフレームＦA+N3，・・・，ＦA+N4間で、腕水平フレームＦHが探索される。動画のＦＰＳが３０ｆｐｓであれば、例えば、Ｎ３＝１０かつＮ４＝４５とすることができる。
【００３９】
探索のアルゴリズムとしては、差分導出部２４Ｂが、上記探索期間ｉ＝（Ａ＋Ｎ３）〜（Ａ＋Ｎ４）において順次、フレームＦiとアドレスフレームＦAとの差分画像を作成する。この差分画像は、様々な方法で作成し得るが、例えば、各画素について、ＨＳＶ色空間内での色相、彩度及び明度に関するＦi，ＦA間の距離を適当に重み付して足し合わせた値（以下、色距離）をその画素の画素値とする画像を生成し、さらにこれを二値化した画像とすることができる。この二値化では、所定の閾値よりも大きな色距離を有する画素の画素値を１（黒）とし、それ以外の画素の画素値を０（白）とする。また、このとき、ノイズの影響を小さくするため、黒が連続する領域が所定の大きさに満たない場合には、その領域内の画素の画素値を０（白）に変換することもできる。
【００４０】
続いて、特徴検出部２４Ｃが、上記探索期間ｉ＝（Ａ＋Ｎ３）〜（Ａ＋Ｎ４）において順次、ハフ変換により以上の差分画像上でゴルフクラブ７のシャフト７３に対応する直線を検出する。なお、探索時刻のフレームＦiとアドレスフレームＦAとの差分画像には、アドレス時のシャフト７３と、探索時刻でのシャフト７３が写ることになる。また、図４を参照すると分かるように、ボールの飛行方向に対し後方からゴルフスイングを撮影した場合においては、腕水平時のシャフト７３の直線は、アドレス時のシャフト７３よりも長く、かつ、少なくともここでの探索期間においては最大の長さを有することになる。従って、特定部２４Ｄは、上記探索期間ｉ＝（Ａ＋Ｎ３）〜（Ａ＋Ｎ４）において最大の投票数を得た直線、すなわち、腕水平時のシャフト７３に対応する直線が存在するｉ＝Ｈを特定し、このときのフレームＦHを腕水平フレームＦHとする。なお、腕水平時におけるシャフト７３の角度は、ある程度決まっているため、直線の探索に当たっては、直線を表すパラメータθを所定の範囲（例えば、−５°〜−８５°）内に設定しておくことが好ましい。
【００４１】
次に、特定部２４Ｄは、インパクトのタイミングを基準にして、動画の中から切り返しフレームＦSを抽出し（ステップＳ２５）、さらに、フィニッシュフレームＦFを抽出する（ステップＳ２６）。具体的には、特定部２４Ｄは、インパクトフレームＦIのＮ５枚前のフレームを切り返しフレームＦSとし、インパクトフレームＦIのＮ６枚後のフレームをフィニッシュフレームＦFとする。動画のＦＰＳが３０ｆｐｓであれば、例えば、Ｎ５＝３かつＮ６＝１５とすることができる。
【００４２】
＜５−１．インパクトフレームの抽出処理＞
次に、図６を参照しつつ、インパクトフレームＦIの抽出処理について説明する。以下では、フレームＦiにおける案内枠Ｗ３内の部分画像を、Ｇiと表す。部分画像Ｇiは、上記のとおり、アドレス及びインパクト時にゴルフクラブ７のヘッド７２及びボールの周辺が写る領域の画像である。
【００４３】
まず、差分導出部２４Ｂが、ｉ＝２，３，・・・,ｎ−Ｎ７（動画のＦＰＳが３０ｆｐｓであれば、例えば、Ｎ７＝１０）に対し順次、案内枠Ｗ３内の領域において隣接フレームＦi-1，Ｆi間で差分処理を実行する（ステップＳ３１）。すなわち、差分導出部２４Ｂは、ｉ＝２，３，・・・,ｎ−Ｎ７に対し順次、部分画像Ｇi-1，Ｇi間で差分処理を実行する。なお、ｉ＝（ｎ−Ｎ７＋１）〜ｎまでの区間についての差分処理を省略するのは、このような期間にインパクトが存在することはないからである。本実施形態における差分処理とは、上記のとおり、フレーム間差分値として、差分絶対値和（ＳＡＤ）を算出する処理である。従って、ここでは、差分導出部２４Ｂは、各画素について、部分画像Ｇiにおける画素値から部分画像Ｇi-1における画素値を減算した値をその画素の画素値とする差分画像を作成する。なお、ここでの画素値の計算は、色成分（Ｒ，Ｇ，Ｂ）毎に行われる。そして、差分導出部２４Ｂは、この差分画像に含まれる全画素の全色成分に関する画素値の絶対値の合計値（ＳＡＤ）を算出する。従って、ステップＳ３１では、ＳＡＤ（２），ＳＡＤ（３），・・・ＳＡＤ（ｎ−Ｎ７）が得られる。なお、ＳＡＤ（ｉ）とは、部分画像Ｇi-1，Ｇi間でのＳＡＤである。
【００４４】
ところで、ステップＳ３１で算出されたＳＡＤとは、微小時間の間に案内枠Ｗ３内に生じた変化を表す指標である。また、上記のとおり、案内枠Ｗ３は、アドレス及びインパクト時にゴルフクラブ７のヘッド７２及びボールの周辺を写す領域を囲む枠である。従って、案内枠Ｗ３内の部分画像Ｇiは、主としてアドレス及びインパクトの前後の短い期間以外においては、あまり変化がない。よって、ステップＳ３１で算出されたＳＡＤの値は、インパクトの山５１とアドレスの山５３とが現れる図７に示すようなグラフを描くと予想される。しかしながら、しばしば、ボールやティー等の動きにより、図８に示すように、インパクトの後にもＳＡＤの山５４が現れる場合がある。ただし、このような場合においては、インパクトの山５１とノイズの山５４との間の谷５５の幅は、インパクトの山５１とアドレスの山５３との間の谷５２の幅に比べて短くなる。
【００４５】
そこで、続くステップＳ３２〜Ｓ３７では、特徴検出部２４Ｃは、ステップＳ３１で算出されたＳＡＤの値が時間軸に沿って以上のような出現パターンで特徴的に出現する区間を検出する。具体的には、特徴検出部２４Ｃは、所定の閾値Ｄ1（本実施形態では、Ｄ1＝５０００）以上のＳＡＤの第１の山と、第１の山の直前に位置する所定の閾値Ｄ1よりも小さいＳＡＤの谷とを検出する。本実施形態では、山の幅については特に問われないが、谷については、所定の長さＤ2（動画のＦＰＳ＝３０ｆｐｓであれば、例えば、Ｄ2＝フレーム１０枚分）以上の幅を有するものが検出対象となる。ここでは、このような特徴を有するＳＡＤの出現パターンを検出し、第１の山をインパクトの山５１と決定することで、インパクトの後のノイズの山５４をインパクトの山５１と誤検出してしまうことを防ぐことができる。
【００４６】
以上の出現パターンは、ＳＡＤ（２），ＳＡＤ（３），・・・ＳＡＤ（ｎ−Ｎ７）の値を時間軸に沿って逆送りでスキャンしてゆくことにより検出される。特徴検出部２４Ｃは、スキャンの開始時点を設定すべく、パラメータｉにｎ−Ｎ７を代入する（ステップＳ３２）。
【００４７】
続いて、特徴検出部２４Ｃは、閾値Ｄ1以上のＳＡＤが検出されるまで、時間軸に沿って１つ前のＳＡＤの値を順次調べてゆく（ステップＳ３３）。そして、閾値Ｄ1以上のＳＡＤが検出されると、特徴検出部２４Ｃは、今度は閾値Ｄ1よりも小さいＳＡＤが検出されるまで、時間軸に沿って１つ前のＳＡＤの値を順次調べてゆく（ステップＳ３４）。従って、ステップＳ３３，Ｓ３４では、閾値Ｄ1以上のＳＡＤが連続する山が検出される。この山は、インパクトの山５１の候補となる。
【００４８】
ステップＳ３４で閾値Ｄ1よりも小さいＳＡＤが検出されると、すなわち、山の終わりと谷の始まりが検出されると、特徴検出部２４Ｃは、谷の幅を計測するためのカウンタｃｎｔに初期値１を設定する（ステップＳ３５）。そして、特徴検出部２４Ｃは、カウンタｃｎｔを用いて、当該谷が長さＤ2以上の幅を有しているかを判断する（ステップＳ３６，Ｓ３７）。具体的には、ステップＳ３６では、閾値Ｄ1よりも小さいＳＡＤが検出される限り、時間軸に沿って１つ前のＳＡＤの値を順次調べてゆく。このとき、特徴検出部２４Ｃは、ｃｎｔの値をインクリメントしながら、閾値Ｄ1よりも小さいＳＡＤが連続する谷の幅をカウントする。
【００４９】
また、特徴検出部２４Ｃは、ステップＳ３６で閾値Ｄ1よりも小さいＳＡＤが検出され、ｃｎｔの値がインクリメントされる度に、現在のｃｎｔの値、すなわち、谷の幅をチェックする（ステップＳ３７）。そして、特徴検出部２４Ｃは、この谷の幅が所定の長さＤ2以上であると判断される場合には、直前のステップＳ３４でインパクトの山５１の候補として検出された山を、最終的にインパクトの山５１として決定する。続いて、特徴検出部２４Ｃは、このインパクトの山５１に対応する１又は複数のフレームの中から、インパクトフレームＦIを特定する（ステップＳ３８）。具体的には、直前のステップＳ３４で検出された山の中で、ＳＡＤ（ｉ）の値が最大となるｉ＝Ｉを特定し、このときのフレームＦIをインパクトフレームとする。
【００５０】
一方、ステップＳ３６，Ｓ３７において谷の幅が所定の長さＤ2よりも短いと判断される場合（カウンタｃｎｔの値がＤ2に達する前に、閾値Ｄ1以上のＳＡＤが検出され、谷の終わりが検出された場合）には、特徴検出部２４Ｃは、処理をステップＳ３４に戻す。すなわち、直前のステップＳ３４でインパクトの山５１の候補として検出された山を、最終的にはノイズの山５４と判断し、同様のスキャンを続けてゆく。なお、図６から分かるとおり、本処理では、インパクトの山５１の後にノイズの山５４がいくつあろうとも、それらを全てノイズの山として検出することができる。
【００５１】
＜５−２．アドレスフレームの抽出処理＞
次に、図９を参照しつつ、アドレスフレームＦAの抽出処理について説明する。本処理では、特徴検出部２４Ｃは、ステップＳ３１で算出されたＳＡＤの値を流用して、これらのＳＡＤの値が時間軸に沿って所定の出現パターンで特徴的に出現する区間を検出する。
【００５２】
具体的に説明すると、図７には現れていないが、アドレスの山５３は、詳細に見ると、図１０に示すように、複数の山からなる場合がある。これは、ゴルファーが、アドレスの前に位置決めのためにゴルフクラブ７を左右に揺らしたり、また、アドレスの後に同じくゴルフクラブ７を左右に揺らすワッグル動作を行うためである。しかしながら、真のアドレス時には、ゴルファーは、少しの間静止する。従って、ＳＡＤのグラフ上のアドレスに対応する部分は、所定の長さ以上の谷５３１を挟んで前後に山５３２〜５３４が（少なくとも谷５３１の後に山５３３が）現れるような形状になると予想される。
【００５３】
そこで、特徴検出部２４Ｃは、所定の閾値Ｄ3（本実施形態では、閾値Ｄ1と同様にＤ3＝５０００）以上のＳＡＤの第１の山と、第１の山の直前に位置する所定の閾値Ｄ3よりも小さいＳＡＤの谷と、この谷の直前に位置する所定の閾値Ｄ3以上のＳＡＤの第２の山とを検出する。本実施形態では、山の幅については特に問われないが、谷については、所定の長さＤ4（動画のＦＰＳ＝３０ｆｐｓであれば、例えば、Ｄ4＝フレーム５枚分）以上の幅を有するものが検出対象となる。ここでは、このような特徴を有するＳＡＤの出現パターンを検出し、第１の山を真のアドレスの山５３３と決定することで、ノイズの山５３４を真のアドレスの山５３３と誤検出してしまうことを防ぐことができる。
【００５４】
以上の出現パターンは、ＳＡＤ（２），ＳＡＤ（３），・・・ＳＡＤ（Ｉ−Ｎ８）（動画のＦＰＳ＝３０ｆｐｓであれば、例えば、Ｎ８＝５）の値を時間軸に沿って逆送りでスキャンしてゆくことにより検出される。なお、ｉ＝（Ｉ−Ｎ８＋１）〜ｎまでの期間についての差分処理を省略するのは、このような期間にアドレスが存在することはないからである。特徴検出部２４Ｃは、スキャンの開始時点を設定すべく、パラメータｉにＩ−Ｎ８を代入する（ステップＳ４１）。
【００５５】
続いて、特徴検出部２４Ｃは、閾値Ｄ3以上のＳＡＤが検出されるまで、時間軸に沿って１つ前のＳＡＤの値を順次調べてゆく（ステップＳ４２）。そして、閾値Ｄ3以上のＳＡＤが検出されると、特徴検出部２４Ｃは、今度は閾値Ｄ3よりも小さいＳＡＤが検出されるまで、時間軸に沿って１つ前のＳＡＤの値を順次調べてゆく（ステップＳ４３）。従って、ステップＳ４２，Ｓ４３では、閾値Ｄ3以上のＳＡＤが連続する山が検出される。この山は、真のアドレスの山５３３の候補となる。なお、特徴検出部２４Ｃは、ステップＳ４２，Ｓ４３において、ＳＡＤ（２）まで調べても目的のＳＡＤが検出されなかった場合には、最初のフレームＦ1をアドレスフレームＦAとして特定する（ステップＳ４８）。
【００５６】
ステップＳ４３で閾値Ｄ3よりも小さいＳＡＤが検出されると、すなわち、山の終わりと谷の始まりが検出されると、特徴検出部２４Ｃは、谷の幅を計測するためのカウンタｃｎｔに初期値１を設定する（ステップＳ４４）。そして、特徴検出部２４Ｃは、次に閾値Ｄ3以上のＳＡＤが検出されるまで、時間軸に沿って１つ前のＳＡＤの値を順次調べてゆく（ステップＳ４５）。このとき、特徴検出部２４Ｃは、ｃｎｔの値をインクリメントしながら、閾値Ｄ3よりも小さいＳＡＤが連続する谷の幅をカウントする。
【００５７】
そして、ステップＳ４５で閾値Ｄ3以上のＳＡＤが検出されると、すなわち、谷の終わりと新たな山の始まりが検出されると、特徴検出部２４Ｃは、現在のｃｎｔの値、すなわち、直前の谷の幅をチェックする（ステップＳ４６）。そして、特徴検出部２４Ｃは、この谷の幅が所定の長さＤ4以上であると判断される場合には、直前のステップＳ４３で真のアドレスの山５３３の候補として検出された山を、最終的に真のアドレスの山５３３として決定する。続いて、特徴検出部２４Ｃは、この真のアドレスの山５３３に対応する１又は複数のフレームの中から、アドレスフレームＦAを特定する（ステップＳ４７）。具体的には、直前のステップＳ４３で検出された山に対応するｉの値のうち、時間軸に沿って最も前のｉ＝Ａを特定し、このときのフレームＦAをアドレスフレームとする。なお、特徴検出部２４Ｃは、ステップＳ４５においてＳＡＤ（２）まで調べても閾値Ｄ3以上のＳＡＤが検出されなかった場合にも、処理をステップＳ４７に進める。
【００５８】
一方、ステップＳ４６において直前の谷の幅が所定の長さＤ4よりも短いと判断される場合には、特徴検出部２４Ｃは、処理をステップＳ４３に戻す。すなわち、直前のステップＳ４３で真のアドレスの山５３３の候補として検出された山を、最終的にはノイズの山５３４と判断し、同様のスキャンを続けてゆく。なお、図９から分かるとおり、本処理では、真のアドレスの山５３３の後にノイズの山５３４がいくつあろうとも、それらを全てノイズの山として検出することができる。
【００５９】
＜６．特徴＞
上記実施形態では、動画に含まれるアドレスフレームＦA及びインパクトフレームＦIを特定すべく、動画に基づいてフレーム間差分値（ＳＡＤ）が順次導出され、これらの値が時間軸に沿って特徴的な出現パターンで出現する区間が検出される。すなわち、単に特徴的な一点（例えば、フレーム間差分値が最大又は最小となる点等）を見つけるのではなく、特徴的な区間を見つけ、これに基づいてアドレスフレームＦA及びインパクトフレームＦIが特定される。その結果、ノイズの影響等により誤判定が生じる可能性が低減される。従って、上記実施形態によれば、計算負荷を抑えつつ、アドレスフレームＦA及びインパクトフレームＦIを精度よく抽出することができる。
【００６０】
＜７．変形例＞
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。例えば、以下の変更が可能である。また、以下の変形例の要旨は、適宜組み合わせることができる。
【００６１】
＜７−１＞
上記実施形態では、ゴルフスイングの撮影、及び画像サイズの縮小が携帯電話１側で実行され、像振れ補正、チェックポイントのフレームの抽出、及びゴルフスイングの診断がサーバ２側で実行されるようになっていた。しかしながら、これらの処理を実行する主体は、携帯電話１とサーバ２とに適宜振り分けることができる。例えば、携帯電話１側で撮影から像振れ補正までが実行されるようにしてもよいし、撮影のみを携帯電話１で行った後、縮小前の動画を携帯電話１からサーバ２に送信し、サーバ２側で画像サイズの縮小を行ってもよい。或いは、サーバ２を省略し、携帯電話１において撮影から診断処理までが全て実行されるようにしてもよい。
【００６２】
＜７−２＞
分析システム１００のハードウェア構成は、上記したものに限られない。例えば、携帯電話のようなインターネット通信機能を有するカメラ以外のカメラで撮影し、これをパーソナルコンピュータ（以下、ＰＣ）に取り込んで、ＰＣからサーバ２に送信するようにしてもよい。また、ＰＣにサーバ２と同様のプログラムをインストールしておき、ＰＣで分析するようにしてもよい。
【００６３】
＜７−３＞
携帯電話１やサーバ２の処理能力が十分に高い場合等には、ステップＳ４における上下領域の切り取り処理及び／又は圧縮の処理は、適宜、省略可能である。
【００６４】
＜７−４＞
上記実施形態では、フレーム間差分値としてＳＡＤを算出したが、フレーム間の差分を適切に評価できる限り、別の指標を用いることができる。例えば、フレーム間差分値として差分二乗値和（ＳＳＤ）を算出してもよい。或いは、差分画像において画素値の絶対値が所定値以上となる画素数を算出してもよい。
【００６５】
＜７−５＞
上記実施形態では、インパクト検出時において、第１の山、谷及び第２の山を検出するための閾値を全て同じ値Ｄ1としたが、これらの閾値を適宜異なる値としてもよい。アドレス検出時の閾値Ｄ3についても同様である。また、Ｄ1＝Ｄ3でなくてもよい。
【００６６】
＜７−６＞
上記実施形態では、インパクト及びアドレス検出時において、ＳＡＤの出現パターンを検出すべく逆送りでスキャンしたが、スキャンの順番はこれに限られず、例えば、前からスキャンしてもよい。
【００６７】
＜７−７＞
上記実施形態では、アドレス検出時において、所定の長さ以上の谷の後に第２の山が検出されたことを以って、第１の山が真のアドレスの山と判断された。しかしながら、第２の山の検出を省略し、第１の山の後、所定の長さ以上の谷が検出されたことを以って、第１の山を真のアドレスの山と判断してもよい。また、インパクトの検出時において、所定の長さ以上の谷の後に第２の山が検出されたことを以って、第１の山をインパクトの山と判断してもよい。
【００６８】
＜７−８＞
上記実施形態では、真のアドレスの山５３３に対応するフレーム群のうち最も前のフレームをアドレスフレームＦAとしたが、真のアドレスの山５３３の別の箇所から、アドレスフレームＦAを検出してもよいし、谷５３１に対応するフレームをアドレスフレームＦAとしてもよい。また、インパクトの山５１のうちＳＡＤ（ｉ）が最大とならない箇所で、インパクトフレームＦIを検出してもよい。
【００６９】
＜７−９＞
上記実施形態のステップＳ３１において、隣接フレーム間ではなく、探索時刻のフレームと所定の基準フレームとの間で差分処理を実行するようにしてもよい。このときの基準フレームは、例えば、案内枠Ｗ３内にゴルフクラブ７が写っていないタイミングの画像とすることができる。
【符号の説明】
【００７０】
１  ゴルフスイングの分析システム
１Ａ，２Ａ  プログラム（ゴルフスイングの分析プログラム）
２４Ａ  像ブレ補正部
２４Ｂ  差分導出部
２４Ｃ  特徴検出部
２４Ｄ  特定部
５１  インパクトの山（第１の山）
５２  谷
５３  アドレスの山（第２の山）
５３１  谷
５３２  山（第２の山）
５３３  真のアドレスの山（第１の山）
７  ゴルフクラブ
７２  ヘッド
【図１】
2019025348.tif 000003
【図２】
2019025348.tif 000004
【図３】
2019025348.tif 000005
【図４】
2019025348.tif 000006
【図５】
2019025348.tif 000007
【図６】
2019025348.tif 000008
【図７】
2019025348.tif 000009
【図８】
2019025348.tif 000010
【図９】
2019025348.tif 000011
【図１０】
2019025348.tif 000012
【手続補正書】
【提出日】平成30年10月3日(2018.10.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ゴルフスイングを撮影した動画からインパクトのフレームを抽出するゴルフスイングの分析システムであって、
前記動画から、アドレス及びインパクト時にゴルフクラブのヘッド全体とその周辺が写る前記動画の部分領域内において、フレーム間差分値を順次導出する差分導出部と、
前記フレーム間差分値が時間軸に沿って特徴的に出現する区間であって、前記フレーム間差分値の第１の山と、前記第１の山の直前に位置する所定の長さ以上の谷とを含む区間を検出する特徴検出部と、
前記検出結果に基づいて、前記第１の山に対応する１つ又は複数のフレームの中から、インパクトのフレームを特定する特定部と
を備える、ゴルフスイングの分析システム。
【請求項２】
前記特徴検出部は、前記第１の山及び前記谷に加え、前記谷の直前に位置する前記フレーム間差分値の第２の山をさらに含む区間を検出する、
請求項１に記載のゴルフスイングの分析システム。
【請求項３】
前記差分導出部により前記フレーム間差分値が導出される前に、前記動画の像ブレを補正する像ブレ補正部
をさらに備える、
請求項１又は２に記載のゴルフスイングの分析システム。
【請求項４】
ゴルフスイングを撮影した動画からインパクトのフレームを抽出するためのゴルフスイングの分析プログラムであって、
前記動画から、アドレス及びインパクト時にゴルフクラブのヘッド全体とその周辺が写る前記動画の部分領域内において、フレーム間差分値を順次導出するステップと、
前記フレーム間差分値が時間軸に沿って特徴的に出現する区間であって、前記フレーム間差分値の第１の山と、前記第１の山の直前に位置する所定の長さ以上の谷とを含む区間を検出するステップと、
前記検出結果に基づいて、前記第１の山に対応する１つ又は複数のフレームの中から、インパクトのフレームを特定するステップと
をコンピュータに実行させる、ゴルフスイングの分析プログラム。
【請求項５】
ゴルフスイングを撮影した動画からインパクトのフレームを抽出するためのゴルフスイングの分析方法であって、
前記動画から、アドレス及びインパクト時にゴルフクラブのヘッド全体とその周辺が写る前記動画の部分領域内において、フレーム間差分値を順次導出するステップと、
前記フレーム間差分値が時間軸に沿って特徴的に出現する区間であって、前記フレーム間差分値の第１の山と、前記第１の山の直前に位置する所定の長さ以上の谷とを含む区間を検出するステップと、
前記検出結果に基づいて、前記第１の山に対応する１つ又は複数のフレームの中から、インパクトのフレームを特定するステップと
を備える、ゴルフスイングの分析方法。