特許第6441570号(P6441570)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 住友ゴム工業株式会社の特許一覧 ▶ 学校法人立命館の特許一覧

特許6441570ゴルフスイングの分析システム、プログラム及び方法
<>
  • 特許6441570-ゴルフスイングの分析システム、プログラム及び方法 図000002
  • 特許6441570-ゴルフスイングの分析システム、プログラム及び方法 図000003
  • 特許6441570-ゴルフスイングの分析システム、プログラム及び方法 図000004
  • 特許6441570-ゴルフスイングの分析システム、プログラム及び方法 図000005
  • 特許6441570-ゴルフスイングの分析システム、プログラム及び方法 図000006
  • 特許6441570-ゴルフスイングの分析システム、プログラム及び方法 図000007
  • 特許6441570-ゴルフスイングの分析システム、プログラム及び方法 図000008
  • 特許6441570-ゴルフスイングの分析システム、プログラム及び方法 図000009
  • 特許6441570-ゴルフスイングの分析システム、プログラム及び方法 図000010
  • 特許6441570-ゴルフスイングの分析システム、プログラム及び方法 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6441570
(24)【登録日】2018年11月30日
(45)【発行日】2018年12月19日
(54)【発明の名称】ゴルフスイングの分析システム、プログラム及び方法
(51)【国際特許分類】
   A63B 69/36 20060101AFI20181210BHJP
【FI】
   A63B69/36 541W
   A63B69/36 541S
【請求項の数】5
【全頁数】17
(21)【出願番号】特願2013-269352(P2013-269352)
(22)【出願日】2013年12月26日
(65)【公開番号】特開2015-123206(P2015-123206A)
(43)【公開日】2015年7月6日
【審査請求日】2016年10月11日
【前置審査】
(73)【特許権者】
【識別番号】000183233
【氏名又は名称】住友ゴム工業株式会社
(73)【特許権者】
【識別番号】593006630
【氏名又は名称】学校法人立命館
(74)【代理人】
【識別番号】100124039
【弁理士】
【氏名又は名称】立花 顕治
(74)【代理人】
【識別番号】100170542
【弁理士】
【氏名又は名称】桝田 剛
(74)【代理人】
【識別番号】100179213
【弁理士】
【氏名又は名称】山下 未知子
(72)【発明者】
【氏名】植田 勝彦
(72)【発明者】
【氏名】島田 伸敬
(72)【発明者】
【氏名】白井 良明
【審査官】 藤井 達也
(56)【参考文献】
【文献】 米国特許出願公開第2013/0178304(US,A1)
【文献】 特開2003−117045(JP,A)
【文献】 特開2011−177341(JP,A)
【文献】 特開2005−210666(JP,A)
【文献】 特開2010−068947(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63B 69/00−71/16
G06T 7/00− 7/90
(57)【特許請求の範囲】
【請求項1】
ゴルフスイングを撮影した動画からアドレスのフレームを抽出するゴルフスイングの分析システムであって、
前記動画から、アドレス及びインパクト時にゴルフクラブのヘッドの周辺が写る前記動画の部分領域内において、フレーム間差分値を順次導出する差分導出部と、
前記フレーム間差分値が時間軸に沿って特徴的に出現する区間であって、前記フレーム間差分値の第1の山と、前記第1の山の直前に位置する所定の長さ以上の谷とを含む区間を検出する特徴検出部と、
前記検出結果に基づいて、前記第1の山又は前記谷に対応する1つ又は複数のフレームの中から、アドレスのフレームを特定する特定部と
を備える、ゴルフスイングの分析システム。
【請求項2】
前記特徴検出部は、前記第1の山及び前記谷に加え、前記谷の直前に位置する前記フレーム間差分値の第2の山をさらに含む区間を検出する、
請求項に記載のゴルフスイングの分析システム。
【請求項3】
前記差分導出部により前記フレーム間差分値が導出される前に、前記動画の像ブレを補正する像ブレ補正部
をさらに備える、
請求項1又は2に記載のゴルフスイングの分析システム。
【請求項4】
ゴルフスイングを撮影した動画からアドレスのフレームを抽出するためのゴルフスイングの分析プログラムであって、
前記動画から、アドレス及びインパクト時にゴルフクラブのヘッドの周辺が写る前記動画の部分領域内において、フレーム間差分値を順次導出するステップと、
前記フレーム間差分値が時間軸に沿って特徴的に出現する区間であって、前記フレーム間差分値の第1の山と、前記第1の山の直前に位置する所定の長さ以上の谷とを含む区間を検出するステップと、
前記検出結果に基づいて、前記第1の山又は前記谷に対応する1つ又は複数のフレームの中から、アドレスのフレームを特定するステップと
をコンピュータに実行させる、ゴルフスイングの分析プログラム。
【請求項5】
ゴルフスイングを撮影した動画からアドレスのフレームを抽出するためのゴルフスイングの分析方法であって、
前記動画から、アドレス及びインパクト時にゴルフクラブのヘッドの周辺が写る前記動画の部分領域内において、フレーム間差分値を順次導出するステップと、
前記フレーム間差分値が時間軸に沿って特徴的に出現する区間であって、前記フレーム間差分値の第1の山と、前記第1の山の直前に位置する所定の長さ以上の谷とを含む区間を検出するステップと、
前記検出結果に基づいて、前記第1の山又は前記谷に対応する1つ又は複数のフレームの中から、アドレスのフレームを特定するステップと
を備える、ゴルフスイングの分析方法。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゴルフスイングを撮影した動画からアドレス及び/又はインパクトのフレームを抽出するゴルフスイングの分析システム、プログラム及び方法に関する。
【背景技術】
【0002】
従来より、ゴルファーによるゴルフスイングを撮影した動画に基づいて、ゴルフスイングを分析する装置が公知である(特許文献1,2等)。分析の結果は、ゴルファーのフォームの改善やゴルフ用品の開発等、様々な用途で利用される。
【0003】
ところで、ゴルフスイングは、一般に、アドレス、腕水平、トップ、切り返し、インパクト、フィニッシュの順に進む。アドレスとは、ゴルフクラブのヘッドをボール近くに配置した初期の状態であり、アドレスからゴルフクラブがテイクバックされる。テイクバック中、左腕が水平になる状態が、腕水平であり、最もヘッドが振り上げられた状態が、トップである。トップの後、ダウンスイングが開始される。切り返しとは、このダウンスイングの開始点であり、切り返しからゴルフクラブが振り下ろされる。そして、その後、ヘッドがボールと衝突した瞬間の状態が、インパクトであり、フィニッシュとは、インパクトの後、ゴルフクラブを前方へ振り抜いた状態である。
【0004】
そして、以上のようなアドレス、腕水平、トップ、切り返し、インパクト、フィニッシュ等のポジションは、ゴルフスイングを診断するためのチェックポイントとなる。従って、動画の中からこのような特定のポジションのフレームを自動的に抽出することが重要であり、これまでにも様々なアルゴリズムが提案されている。
【0005】
具体的には、特許文献1では、まず、動画に含まれる各フレームからエッジを検出し、各エッジ画像を二値化し、各二値化画像にハフ変換を施してゴルフクラブのシャフトに対応する直線を抽出する。そして、このシャフトの先端の動きに注目して、アドレスのフレームが抽出される。
【0006】
その後、このアドレスのフレームから所定枚数後のフレームが、基準フレームとして抽出される。このときの基準フレームは、アドレス時であればゴルフクラブのヘッドの周辺が写る部分領域内にゴルフクラブが写っていないフレームとなる。そして、この基準フレームと、この基準フレーム以降の各フレームとの間で、以上の部分領域内においてフレーム間差分値が算出され、このフレーム間差分値が最大となるフレームが、インパクトのフレームとして決定される。
【0007】
また、特許文献2では、隣接フレーム間の差分値が順次算出され、このフレーム間差分値が最小となるタイミングのフレームが、アドレスのフレームとして決定される。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2011−177341号公報
【特許文献2】特開2005−210666号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
以上の通り、特許文献1の方法では、多数のフレームに対しエッジ画像の生成やハフ変換等の処理が実行されるため、計算負荷が大きくなるという問題がある。ただし、アドレスフレームを抽出してしまった後、インパクトフレームを抽出する処理については、単にフレーム間差分値を順次算出し、これらの中から最大値を検出する程度であるため、比較的計算負荷は小さい。しかしながら、フレーム間差分値が最大となる一点を見つけ、これをインパクトに対応するものと判断する方法では、ノイズの影響等により誤判定が生じ易くなる。フレーム間差分値が最小となる一点をアドレスに対応するものと判断する特許文献2でも、同様のことが言える。
【0010】
本発明は、計算負荷を抑えつつ、アドレス及び/又はインパクトのフレームを精度よく抽出することができるゴルフスイングの分析システム、プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明の第1観点に係るゴルフスイングの分析システムは、ゴルフスイングを撮影した動画からアドレス及び/又はインパクトのフレームを抽出するシステムであって、前記動画から、フレーム間差分値を順次導出する差分導出部と、前記フレーム間差分値が時間軸に沿って特徴的に出現する区間を検出する特徴検出部と、前記検出結果に基づいて、インパクト及び/又はアドレスのフレームを特定する特定部とを備える。
【0012】
本発明の第2観点に係るゴルフスイングの分析システムは、第1観点に係るシステムであって、前記差分導出部は、アドレス及びインパクト時にゴルフクラブのヘッドの周辺が写る前記動画の部分領域内において、前記フレーム間差分値を順次導出する。
【0013】
本発明の第3観点に係るゴルフスイングの分析システムは、第2観点に係るシステムであって、前記特徴検出部は、前記フレーム間差分値の第1の山と、前記第1の山の直前に位置する所定の長さ以上の谷とを含む区間を検出する。
【0014】
本発明の第4観点に係るゴルフスイングの分析システムは、第3観点に係るシステムであって、前記特徴検出部は、前記第1の山及び前記谷に加え、前記谷の直前に位置する前記フレーム間差分値の第2の山をさらに含む区間を検出する。
【0015】
本発明の第5観点に係るゴルフスイングの分析システムは、第3又は第4観点に係るシステムであって、前記特定部は、前記第1の山に対応する1つ又は複数のフレームの中から、前記インパクトのフレームを特定する。
【0016】
本発明の第6観点に係るゴルフスイングの分析システムは、第3又は第4観点に係るシステムであって、前記特定部は、前記第1の山又は前記谷に対応する1つ又は複数のフレームの中から、前記アドレスのフレームを特定する。
【0017】
本発明の第7観点に係るゴルフスイングの分析システムは、第1から第6観点のいずれかに係るシステムであって、前記差分導出部により前記フレーム間差分値が導出される前に、前記動画の像ブレを補正する像ブレ補正部をさらに備える。
【0018】
本発明の第8観点に係るゴルフスイングの分析プログラムは、ゴルフスイングを撮影した動画からアドレス及び/又はインパクトのフレームを抽出するためのプログラムであって、前記動画から、フレーム間差分値を順次導出するステップと、前記フレーム間差分値が時間軸に沿って特徴的に出現する区間を検出するステップと、前記検出結果に基づいて、インパクト及び/又はアドレスのフレームを特定するステップとをコンピュータに実行させる。
【0019】
本発明の第9観点に係るゴルフスイングの分析方法は、ゴルフスイングを撮影した動画からアドレス及び/又はインパクトのフレームを抽出するための方法であって、前記動画から、フレーム間差分値を順次導出するステップと、前記フレーム間差分値が時間軸に沿って特徴的に出現する区間を検出するステップと、前記検出結果に基づいて、インパクト及び/又はアドレスのフレームを特定するステップとを備える。
【発明の効果】
【0020】
本発明では、動画に含まれるアドレス及び/又はインパクトのフレームを特定すべく、動画に基づいてフレーム間差分値が順次導出され、これらの値が時間軸に沿って特徴的な出現パターンで出現する区間が検出される。すなわち、単に特徴的な一点(例えば、フレーム間差分値が最大又は最小となる点等)を見つけるのではなく、特徴的な区間を見つけ、これに基づいてアドレス及び/又はインパクトのフレームが特定される。その結果、ノイズの影響等により誤判定が生じる可能性が低減される。従って、本発明によれば、計算負荷を抑えつつ、アドレス及び/又はインパクトのフレームを精度よく抽出することができる。
【図面の簡単な説明】
【0021】
図1】本発明の一実施形態に係るゴルフスイングの分析システムの構成を示すブロック図。
図2】ゴルフスイング分析処理の流れを示すシーケンス図。
図3】撮影画面を示す図。
図4】アドレス、腕水平、トップ、切り返し、インパクト及びフィニッシュを捉えたフレームの例を示す図。
図5】チェックポイントのフレームの抽出処理の流れを示すフローチャート。
図6】インパクトフレームの抽出処理の流れを示すフローチャート。
図7】時間軸に沿ったフレーム間差分値のグラフを示す図。
図8】時間軸に沿ったフレーム間差分値の別のグラフを示す図。
図9】アドレスフレームの抽出処理の流れを示すフローチャート。
図10】アドレス付近のフレーム間差分値のグラフの拡大図。
【発明を実施するための形態】
【0022】
以下、図面を参照しつつ、本発明の一実施形態に係るゴルフスイングの分析システム、プログラム及び方法について説明する。
【0023】
<1.ゴルフスイングの分析システムの概略>
図1に、本実施形態に係るゴルフスイングの分析システム100を示す。分析システム100は、ゴルフスイングを動画として撮影し、これを画像処理することで、ゴルファーによるゴルフスイングを分析するためのシステムである。分析システム100は、主として、携帯電話1と、携帯電話1からインターネット6を介して接続可能なサーバ2とから構成される。携帯電話1には、カメラ10が搭載されている。ユーザは、このカメラ10を用いてゴルフスイングを動画として撮影し、サーバ2は、これを携帯電話1から受け取り、分析する。なお、ここでいうユーザとは、ゴルフスイングの分析結果を必要とするゴルファーやインストラクター等の総称である。以下、携帯電話1及びサーバ2のハードウェア構成について説明した後、これらの動作について説明する。
【0024】
<2.携帯電話のハードウェア構成>
本実施形態における携帯電話1は、カメラ機能付きのスマートフォンであり、ゴルフスイングの分析用のプログラム1Aがインストールされている。このプログラム1Aは、サーバ2と通信しながら、携帯電話1に後述する動作を実行させるためのアプリケーションソフトウェアであり、インターネット6を介してダウンロード可能である。
【0025】
携帯電話1は、カメラ10の他、表示部11、入力部12、記憶部13、制御部14、及び通信部15を有しており、これらの部10〜15は、バス線16を介して相互に通信可能である。表示部11は、液晶ディスプレイ等で構成され、後述する画面等をユーザに対し表示する。入力部12は、タッチパネルや操作ボタン等で構成され、ユーザからの操作を受け付ける。記憶部13は、内蔵型のフラッシュメモリや取り外し可能なSDカード等で構成されており、上述のプログラム1Aは、ここに格納されている。通信部15は、携帯電話通信網を介しての他の電話との音声通信や、インターネット6を介しての各種サーバ(サーバ2を含む)とのデータ通信を可能にする他、専用のケーブルを介しての他の情報端末との通信も可能にする。制御部14は、CPU、ROMおよびRAM等で構成されており、記憶部13内に格納されているプログラム1Aを読み出して実行することにより、仮想的に撮影案内部14A及びサイズ調整部14Bとして動作する。各部14A,14Bの動作については、後述する。
【0026】
<3.サーバのハードウェア構成>
サーバ2は、ゴルフスイングの分析用のプログラム2Aがインストールされたアプリケーションサーバである。このプログラム2Aは、携帯電話1と通信しながら、サーバ2に後述する動作を実行させるためのアプリケーションソフトウェアであり、CD−ROM等のコンピュータで読み取り可能な記録媒体20からインストール可能である。
【0027】
サーバ2は、表示部21、入力部22、記憶部23、制御部24、及び通信部25を有しており、これらの部21〜25は、バス線26を介して相互に通信可能である。表示部21は、液晶ディスプレイ等で構成され、必要な画面等をユーザに対し表示する。入力部22は、マウスやキーボード、タッチパネル等で構成され、ユーザからの操作を受け付ける。記憶部23は、ハードディスク等で構成されており、上述のプログラム2Aは、ここに格納されている。通信部25は、インターネット6を介しての他の情報端末(携帯電話1を含む)とのデータ通信を可能にする。制御部24は、CPU、ROMおよびRAM等で構成されている。制御部24は、記憶部23内に格納されているプログラム2Aを読み出して実行することにより、仮想的に像ブレ補正部24A、差分導出部24B、特徴検出部24C、特定部24D及び診断部24Eとして動作する。各部24A〜24Eの動作については、後述する。
【0028】
<4.ゴルフスイング分析処理>
以下、図2を参照しつつ、携帯電話1及びサーバ2によるゴルフスイング分析処理について説明する。
まず、ユーザは、ゴルフ練習場等においてゴルフスイングを改善したいと考えたときに、携帯電話1上でこれを支援するためのプログラム1Aを起動する(ステップS1)。これを受けて、携帯電話1の撮影案内部14Aは、表示部11上に、図3に示すような撮影画面W1を表示させる(ステップS2)。撮影画面W1内には、カメラ10が捉えるスルー画像が表示されるとともに、このスルー画像に重ねて2つの案内枠W2,W3が表示される。中央の案内枠W2は、アドレス時にゴルファー70の握るゴルフクラブ7のグリップ71を捉えるべき領域を示す枠でありであり、右下の案内枠W3は、アドレス時にゴルフクラブ7のヘッド72及びボールを捉えるべき領域を示す枠である。従って、ユーザは、これらの案内枠W2,W3を参考にすることで、カメラ10の撮像範囲内においてゴルファー70を捉えるべき凡その位置やアングルを容易に理解することができる。これらの案内枠W2,W3は、カメラ10を縦長に持った上で、カメラ10の撮像範囲内の所定の位置(本実施形態では、中央付近)でゴルファー70を捉えるように案内する。また、撮影画面W1上には、案内枠W2,W3に加え、これらの意味するところを示す情報、例えば、「中央の枠内にプレイヤーの手元を写し、右下の枠内にゴルフクラブのヘッドを写してください。」と言ったメッセージが表示されてもよい。
【0029】
続いて、ユーザは、以上のガイダンスに従って、カメラ10の撮像範囲内の適切な位置でゴルファー70を捉えた後、カメラ10でゴルフスイングを写す動画を撮影する(ステップS3)。このとき、ユーザは、手に持ったカメラ10を極力動かさないように注意しながら、アドレスからフィニッシュまでの一連の動作を撮影する。なお、ゴルフスイングは、一般に、アドレス、腕水平、トップ、切り返し、インパクト、フィニッシュの順に進む。図4は、これらの6つの状態を捉えたフレームの例を示している。アドレスとは、ゴルフクラブ7のヘッド72をボール近くに配置した初期の状態であり、アドレスからゴルフクラブ7がテイクバックされる。テイクバック中、左腕が水平になる状態が、腕水平であり、最もヘッド72が振り上げられた状態が、トップである。トップの後、ダウンスイングが開始される。切り返しとは、このダウンスイングの開始点であり、切り返しからゴルフクラブ7が振り下ろされる。そして、その後、ヘッド72がボールと衝突した瞬間の状態が、インパクトであり、フィニッシュとは、インパクトの後、ゴルフクラブ7を前方へ振り抜いた状態である。撮影された動画は、記憶部13内に保存される。
【0030】
撮影が終わると、携帯電話1のサイズ調整部14Bは、必要に応じて、撮影された動画の画像サイズを縮小する(ステップS4)。具体的には、サイズ調整部14Bは、撮影された動画のアスペクト比を判断し、アスペクト比が所定値と異なると判断される場合(例えば、縦16:横9である場合)には、アスペクト比が所定値(本実施形態では、縦4:横3)となるように、動画に含まれる各フレームの上下方向(長手方向)の端辺から所定%の領域を切り取る。画像サイズが一定以上の比率で縦長である場合には、各フレームの上下の所定%の領域には、ゴルファー70やゴルフクラブ7が写っていないと考えられるからである。さらに、サイズ調整部14Bは、以上の動画のピクセル数を判断し、これが所定値よりも大きいと判断される場合(例えば、縦1440×横1080である場合)には、これを所定値(本実施形態では、縦640×横480)となるように、動画に含まれる各フレームを圧縮する。なお、このとき、圧縮後の画素値に小数点が生じないよう、内挿処理にて、各色成分(R,G,B)に関し画素値を整数化することが好ましい。
【0031】
続いて、携帯電話1の通信部15は、以上の動画をインターネット6を介してサーバ2に送信する(ステップS5)。一方、サーバ2側では、通信部25がこれを受信し、その後、像ブレ補正部24Aが、携帯電話1から送られてきたこの動画に対し像振れ補正を実行する(ステップS6)。像振れ補正のアルゴリズムとしては、様々なものが公知であるため、ここでは詳細な説明を省略する。この像ブレ補正により、動画に含まれるフレーム間の像ブレが解消される。
【0032】
動画の像振れ補正が終了すると、サーバ2の差分導出部24B、特徴検出部24C及び特定部24Dが協働して、像振れ補正後の動画の中から特定のタイミングでのフレームを自動的に抽出する(ステップS7)。具体的には、アドレス、腕水平、トップ、切り返し、インパクト及びフィニッシュの6枚のフレームが、自動的に抽出される。このようなタイミングは、ゴルフスイングを診断するためのチェックポイントとなる。これらのチェックポイントのフレームの抽出処理の詳細については、後述する。
【0033】
その後、診断部24Eは、チェックポイントのフレームを用いて、ゴルフスイングの診断を行う(ステップS8)。例えば、チェックポイントのフレーム内に写るゴルファー70やゴルフクラブ7のシルエットを自動抽出し、伸ばすべきところで腕が曲がっていないか、顔が正しい方向を向いているか、ゴルフクラブの向きが正しいか等のチェック項目について診断がされる。このようなチェック項目は、インストラクターの知見に基づいて作成され得る。また、プロがゴルフスイングを行った時のチェックポイントでのフレームを用意しておき、これをユーザによるチェックポイントでのフレームと比較することもできる。なお、ゴルフスイングの診断のアルゴリズムについては、様々なものが公知であるため、ここでは詳細な説明を省略する。
【0034】
以上の診断の結果は、サーバ2の通信部25から携帯電話1の通信部15に送信され(ステップS9)、携帯電話1の表示部11上に表示される(ステップS10)。従って、ユーザは、診断の結果を確認し、正しいスイングフォームの習得に役立てることができる。なお、診断の結果は、スイングの点数、長所・短所、ゴルファー70に見合った練習メニュー等として表現され得る。また、チェックポイントのフレームそのものを診断の結果としてもよい。
【0035】
<5.チェックポイントのフレームの抽出処理>
次に、図5を参照しつつ、チェックポイントのフレームの抽出処理について説明する。以下では、携帯電話1から送られてき、上述の像ブレ補正が施された後の動画に含まれる複数のフレームを、時間軸に沿って順に、F1,F2,・・・,Fn(nは、フレームの枚数)と表す。本処理では、まず、動画の中からインパクトフレームFIが抽出され(ステップS21)、続いて、アドレスフレームFAが抽出される(ステップS22)。インパクトフレームFI及びアドレスフレームFAの抽出処理については、後述する。
【0036】
次に、動画の中からトップフレームFTが抽出される(ステップS23)。ここでは、インパクトのタイミングを基準にして、トップフレームFTが探索される。具体的には、トップは、インパクトの前に生じるため、インパクトフレームFIのN1枚前からN2枚前のフレームFI-N1,・・・,FI-N2間で、トップフレームFTが探索される。動画のFPS(Frame per second)が30fpsであれば、例えば、N1=15かつN2=4とすることができる。
【0037】
探索のアルゴリズムとしては、差分導出部24Bが、上記探索期間i=(I−N1)〜(I−N2)において順次、隣接フレームFi-1,Fi間で差分処理を実行する。差分処理とは、フレーム間差分値を算出する処理である。本実施形態では、フレーム間差分値として、差分絶対値和(SAD)が算出される。すなわち、差分導出部24Bは、各画素について、フレームFiにおける画素値からフレームFi-1における画素値を減算した値をその画素の画素値とする差分画像を作成する。なお、ここでの画素値の計算は、色成分(R,G,B)毎に行われる。そして、差分導出部24Bは、この差分画像に含まれる全画素の全色成分に関する画素値の絶対値の合計値(SAD)を算出する。特定部24Dは、上記探索期間i=(I−N1)〜(I−N2)における差分処理の後、フレーム間差分値が最小となるi=Tを特定し、このときのフレームFTをトップフレームとする。なお、ステップS23における差分処理は、動画の画面全体を対象として実行される。
【0038】
次に、動画の中から腕水平フレームFHが抽出される(ステップS24)。ここでは、アドレスのタイミングを基準にして、腕水平フレームFHが探索される。具体的には、腕水平は、アドレスの後に生じるため、アドレスフレームFAのN3枚後からN4枚後のフレームFA+N3,・・・,FA+N4間で、腕水平フレームFHが探索される。動画のFPSが30fpsであれば、例えば、N3=10かつN4=45とすることができる。
【0039】
探索のアルゴリズムとしては、差分導出部24Bが、上記探索期間i=(A+N3)〜(A+N4)において順次、フレームFiとアドレスフレームFAとの差分画像を作成する。この差分画像は、様々な方法で作成し得るが、例えば、各画素について、HSV色空間内での色相、彩度及び明度に関するFi,FA間の距離を適当に重み付して足し合わせた値(以下、色距離)をその画素の画素値とする画像を生成し、さらにこれを二値化した画像とすることができる。この二値化では、所定の閾値よりも大きな色距離を有する画素の画素値を1(黒)とし、それ以外の画素の画素値を0(白)とする。また、このとき、ノイズの影響を小さくするため、黒が連続する領域が所定の大きさに満たない場合には、その領域内の画素の画素値を0(白)に変換することもできる。
【0040】
続いて、特徴検出部24Cが、上記探索期間i=(A+N3)〜(A+N4)において順次、ハフ変換により以上の差分画像上でゴルフクラブ7のシャフト73に対応する直線を検出する。なお、探索時刻のフレームFiとアドレスフレームFAとの差分画像には、アドレス時のシャフト73と、探索時刻でのシャフト73が写ることになる。また、図4を参照すると分かるように、ボールの飛行方向に対し後方からゴルフスイングを撮影した場合においては、腕水平時のシャフト73の直線は、アドレス時のシャフト73よりも長く、かつ、少なくともここでの探索期間においては最大の長さを有することになる。従って、特定部24Dは、上記探索期間i=(A+N3)〜(A+N4)において最大の投票数を得た直線、すなわち、腕水平時のシャフト73に対応する直線が存在するi=Hを特定し、このときのフレームFHを腕水平フレームFHとする。なお、腕水平時におけるシャフト73の角度は、ある程度決まっているため、直線の探索に当たっては、直線を表すパラメータθを所定の範囲(例えば、−5°〜−85°)内に設定しておくことが好ましい。
【0041】
次に、特定部24Dは、インパクトのタイミングを基準にして、動画の中から切り返しフレームFSを抽出し(ステップS25)、さらに、フィニッシュフレームFFを抽出する(ステップS26)。具体的には、特定部24Dは、インパクトフレームFIのN5枚前のフレームを切り返しフレームFSとし、インパクトフレームFIのN6枚後のフレームをフィニッシュフレームFFとする。動画のFPSが30fpsであれば、例えば、N5=3かつN6=15とすることができる。
【0042】
<5−1.インパクトフレームの抽出処理>
次に、図6を参照しつつ、インパクトフレームFIの抽出処理について説明する。以下では、フレームFiにおける案内枠W3内の部分画像を、Giと表す。部分画像Giは、上記のとおり、アドレス及びインパクト時にゴルフクラブ7のヘッド72及びボールの周辺が写る領域の画像である。
【0043】
まず、差分導出部24Bが、i=2,3,・・・,n−N7(動画のFPSが30fpsであれば、例えば、N7=10)に対し順次、案内枠W3内の領域において隣接フレームFi-1,Fi間で差分処理を実行する(ステップS31)。すなわち、差分導出部24Bは、i=2,3,・・・,n−N7に対し順次、部分画像Gi-1,Gi間で差分処理を実行する。なお、i=(n−N7+1)〜nまでの区間についての差分処理を省略するのは、このような期間にインパクトが存在することはないからである。本実施形態における差分処理とは、上記のとおり、フレーム間差分値として、差分絶対値和(SAD)を算出する処理である。従って、ここでは、差分導出部24Bは、各画素について、部分画像Giにおける画素値から部分画像Gi-1における画素値を減算した値をその画素の画素値とする差分画像を作成する。なお、ここでの画素値の計算は、色成分(R,G,B)毎に行われる。そして、差分導出部24Bは、この差分画像に含まれる全画素の全色成分に関する画素値の絶対値の合計値(SAD)を算出する。従って、ステップS31では、SAD(2),SAD(3),・・・SAD(n−N7)が得られる。なお、SAD(i)とは、部分画像Gi-1,Gi間でのSADである。
【0044】
ところで、ステップS31で算出されたSADとは、微小時間の間に案内枠W3内に生じた変化を表す指標である。また、上記のとおり、案内枠W3は、アドレス及びインパクト時にゴルフクラブ7のヘッド72及びボールの周辺を写す領域を囲む枠である。従って、案内枠W3内の部分画像Giは、主としてアドレス及びインパクトの前後の短い期間以外においては、あまり変化がない。よって、ステップS31で算出されたSADの値は、インパクトの山51とアドレスの山53とが現れる図7に示すようなグラフを描くと予想される。しかしながら、しばしば、ボールやティー等の動きにより、図8に示すように、インパクトの後にもSADの山54が現れる場合がある。ただし、このような場合においては、インパクトの山51とノイズの山54との間の谷55の幅は、インパクトの山51とアドレスの山53との間の谷52の幅に比べて短くなる。
【0045】
そこで、続くステップS32〜S37では、特徴検出部24Cは、ステップS31で算出されたSADの値が時間軸に沿って以上のような出現パターンで特徴的に出現する区間を検出する。具体的には、特徴検出部24Cは、所定の閾値D1(本実施形態では、D1=5000)以上のSADの第1の山と、第1の山の直前に位置する所定の閾値D1よりも小さいSADの谷とを検出する。本実施形態では、山の幅については特に問われないが、谷については、所定の長さD2(動画のFPS=30fpsであれば、例えば、D2=フレーム10枚分)以上の幅を有するものが検出対象となる。ここでは、このような特徴を有するSADの出現パターンを検出し、第1の山をインパクトの山51と決定することで、インパクトの後のノイズの山54をインパクトの山51と誤検出してしまうことを防ぐことができる。
【0046】
以上の出現パターンは、SAD(2),SAD(3),・・・SAD(n−N7)の値を時間軸に沿って逆送りでスキャンしてゆくことにより検出される。特徴検出部24Cは、スキャンの開始時点を設定すべく、パラメータiにn−N7を代入する(ステップS32)。
【0047】
続いて、特徴検出部24Cは、閾値D1以上のSADが検出されるまで、時間軸に沿って1つ前のSADの値を順次調べてゆく(ステップS33)。そして、閾値D1以上のSADが検出されると、特徴検出部24Cは、今度は閾値D1よりも小さいSADが検出されるまで、時間軸に沿って1つ前のSADの値を順次調べてゆく(ステップS34)。従って、ステップS33,S34では、閾値D1以上のSADが連続する山が検出される。この山は、インパクトの山51の候補となる。
【0048】
ステップS34で閾値D1よりも小さいSADが検出されると、すなわち、山の終わりと谷の始まりが検出されると、特徴検出部24Cは、谷の幅を計測するためのカウンタcntに初期値1を設定する(ステップS35)。そして、特徴検出部24Cは、カウンタcntを用いて、当該谷が長さD2以上の幅を有しているかを判断する(ステップS36,S37)。具体的には、ステップS36では、閾値D1よりも小さいSADが検出される限り、時間軸に沿って1つ前のSADの値を順次調べてゆく。このとき、特徴検出部24Cは、cntの値をインクリメントしながら、閾値D1よりも小さいSADが連続する谷の幅をカウントする。
【0049】
また、特徴検出部24Cは、ステップS36で閾値D1よりも小さいSADが検出され、cntの値がインクリメントされる度に、現在のcntの値、すなわち、谷の幅をチェックする(ステップS37)。そして、特徴検出部24Cは、この谷の幅が所定の長さD2以上であると判断される場合には、直前のステップS34でインパクトの山51の候補として検出された山を、最終的にインパクトの山51として決定する。続いて、特徴検出部24Cは、このインパクトの山51に対応する1又は複数のフレームの中から、インパクトフレームFIを特定する(ステップS38)。具体的には、直前のステップS34で検出された山の中で、SAD(i)の値が最大となるi=Iを特定し、このときのフレームFIをインパクトフレームとする。
【0050】
一方、ステップS36,S37において谷の幅が所定の長さD2よりも短いと判断される場合(カウンタcntの値がD2に達する前に、閾値D1以上のSADが検出され、谷の終わりが検出された場合)には、特徴検出部24Cは、処理をステップS34に戻す。すなわち、直前のステップS34でインパクトの山51の候補として検出された山を、最終的にはノイズの山54と判断し、同様のスキャンを続けてゆく。なお、図6から分かるとおり、本処理では、インパクトの山51の後にノイズの山54がいくつあろうとも、それらを全てノイズの山として検出することができる。
【0051】
<5−2.アドレスフレームの抽出処理>
次に、図9を参照しつつ、アドレスフレームFAの抽出処理について説明する。本処理では、特徴検出部24Cは、ステップS31で算出されたSADの値を流用して、これらのSADの値が時間軸に沿って所定の出現パターンで特徴的に出現する区間を検出する。
【0052】
具体的に説明すると、図7には現れていないが、アドレスの山53は、詳細に見ると、図10に示すように、複数の山からなる場合がある。これは、ゴルファーが、アドレスの前に位置決めのためにゴルフクラブ7を左右に揺らしたり、また、アドレスの後に同じくゴルフクラブ7を左右に揺らすワッグル動作を行うためである。しかしながら、真のアドレス時には、ゴルファーは、少しの間静止する。従って、SADのグラフ上のアドレスに対応する部分は、所定の長さ以上の谷531を挟んで前後に山532〜534が(少なくとも谷531の後に山533が)現れるような形状になると予想される。
【0053】
そこで、特徴検出部24Cは、所定の閾値D3(本実施形態では、閾値D1と同様にD3=5000)以上のSADの第1の山と、第1の山の直前に位置する所定の閾値D3よりも小さいSADの谷と、この谷の直前に位置する所定の閾値D3以上のSADの第2の山とを検出する。本実施形態では、山の幅については特に問われないが、谷については、所定の長さD4(動画のFPS=30fpsであれば、例えば、D4=フレーム5枚分)以上の幅を有するものが検出対象となる。ここでは、このような特徴を有するSADの出現パターンを検出し、第1の山を真のアドレスの山533と決定することで、ノイズの山534を真のアドレスの山533と誤検出してしまうことを防ぐことができる。
【0054】
以上の出現パターンは、SAD(2),SAD(3),・・・SAD(I−N8)(動画のFPS=30fpsであれば、例えば、N8=5)の値を時間軸に沿って逆送りでスキャンしてゆくことにより検出される。なお、i=(I−N8+1)〜nまでの期間についての差分処理を省略するのは、このような期間にアドレスが存在することはないからである。特徴検出部24Cは、スキャンの開始時点を設定すべく、パラメータiにI−N8を代入する(ステップS41)。
【0055】
続いて、特徴検出部24Cは、閾値D3以上のSADが検出されるまで、時間軸に沿って1つ前のSADの値を順次調べてゆく(ステップS42)。そして、閾値D3以上のSADが検出されると、特徴検出部24Cは、今度は閾値D3よりも小さいSADが検出されるまで、時間軸に沿って1つ前のSADの値を順次調べてゆく(ステップS43)。従って、ステップS42,S43では、閾値D3以上のSADが連続する山が検出される。この山は、真のアドレスの山533の候補となる。なお、特徴検出部24Cは、ステップS42,S43において、SAD(2)まで調べても目的のSADが検出されなかった場合には、最初のフレームF1をアドレスフレームFAとして特定する(ステップS48)。
【0056】
ステップS43で閾値D3よりも小さいSADが検出されると、すなわち、山の終わりと谷の始まりが検出されると、特徴検出部24Cは、谷の幅を計測するためのカウンタcntに初期値1を設定する(ステップS44)。そして、特徴検出部24Cは、次に閾値D3以上のSADが検出されるまで、時間軸に沿って1つ前のSADの値を順次調べてゆく(ステップS45)。このとき、特徴検出部24Cは、cntの値をインクリメントしながら、閾値D3よりも小さいSADが連続する谷の幅をカウントする。
【0057】
そして、ステップS45で閾値D3以上のSADが検出されると、すなわち、谷の終わりと新たな山の始まりが検出されると、特徴検出部24Cは、現在のcntの値、すなわち、直前の谷の幅をチェックする(ステップS46)。そして、特徴検出部24Cは、この谷の幅が所定の長さD4以上であると判断される場合には、直前のステップS43で真のアドレスの山533の候補として検出された山を、最終的に真のアドレスの山533として決定する。続いて、特徴検出部24Cは、この真のアドレスの山533に対応する1又は複数のフレームの中から、アドレスフレームFAを特定する(ステップS47)。具体的には、直前のステップS43で検出された山に対応するiの値のうち、時間軸に沿って最も前のi=Aを特定し、このときのフレームFAをアドレスフレームとする。なお、特徴検出部24Cは、ステップS45においてSAD(2)まで調べても閾値D3以上のSADが検出されなかった場合にも、処理をステップS47に進める。
【0058】
一方、ステップS46において直前の谷の幅が所定の長さD4よりも短いと判断される場合には、特徴検出部24Cは、処理をステップS43に戻す。すなわち、直前のステップS43で真のアドレスの山533の候補として検出された山を、最終的にはノイズの山534と判断し、同様のスキャンを続けてゆく。なお、図9から分かるとおり、本処理では、真のアドレスの山533の後にノイズの山534がいくつあろうとも、それらを全てノイズの山として検出することができる。
【0059】
<6.特徴>
上記実施形態では、動画に含まれるアドレスフレームFA及びインパクトフレームFIを特定すべく、動画に基づいてフレーム間差分値(SAD)が順次導出され、これらの値が時間軸に沿って特徴的な出現パターンで出現する区間が検出される。すなわち、単に特徴的な一点(例えば、フレーム間差分値が最大又は最小となる点等)を見つけるのではなく、特徴的な区間を見つけ、これに基づいてアドレスフレームFA及びインパクトフレームFIが特定される。その結果、ノイズの影響等により誤判定が生じる可能性が低減される。従って、上記実施形態によれば、計算負荷を抑えつつ、アドレスフレームFA及びインパクトフレームFIを精度よく抽出することができる。
【0060】
<7.変形例>
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。例えば、以下の変更が可能である。また、以下の変形例の要旨は、適宜組み合わせることができる。
【0061】
<7−1>
上記実施形態では、ゴルフスイングの撮影、及び画像サイズの縮小が携帯電話1側で実行され、像振れ補正、チェックポイントのフレームの抽出、及びゴルフスイングの診断がサーバ2側で実行されるようになっていた。しかしながら、これらの処理を実行する主体は、携帯電話1とサーバ2とに適宜振り分けることができる。例えば、携帯電話1側で撮影から像振れ補正までが実行されるようにしてもよいし、撮影のみを携帯電話1で行った後、縮小前の動画を携帯電話1からサーバ2に送信し、サーバ2側で画像サイズの縮小を行ってもよい。或いは、サーバ2を省略し、携帯電話1において撮影から診断処理までが全て実行されるようにしてもよい。
【0062】
<7−2>
分析システム100のハードウェア構成は、上記したものに限られない。例えば、携帯電話のようなインターネット通信機能を有するカメラ以外のカメラで撮影し、これをパーソナルコンピュータ(以下、PC)に取り込んで、PCからサーバ2に送信するようにしてもよい。また、PCにサーバ2と同様のプログラムをインストールしておき、PCで分析するようにしてもよい。
【0063】
<7−3>
携帯電話1やサーバ2の処理能力が十分に高い場合等には、ステップS4における上下領域の切り取り処理及び/又は圧縮の処理は、適宜、省略可能である。
【0064】
<7−4>
上記実施形態では、フレーム間差分値としてSADを算出したが、フレーム間の差分を適切に評価できる限り、別の指標を用いることができる。例えば、フレーム間差分値として差分二乗値和(SSD)を算出してもよい。或いは、差分画像において画素値の絶対値が所定値以上となる画素数を算出してもよい。
【0065】
<7−5>
上記実施形態では、インパクト検出時において、第1の山、谷及び第2の山を検出するための閾値を全て同じ値D1としたが、これらの閾値を適宜異なる値としてもよい。アドレス検出時の閾値D3についても同様である。また、D1=D3でなくてもよい。
【0066】
<7−6>
上記実施形態では、インパクト及びアドレス検出時において、SADの出現パターンを検出すべく逆送りでスキャンしたが、スキャンの順番はこれに限られず、例えば、前からスキャンしてもよい。
【0067】
<7−7>
上記実施形態では、アドレス検出時において、所定の長さ以上の谷の後に第2の山が検出されたことを以って、第1の山が真のアドレスの山と判断された。しかしながら、第2の山の検出を省略し、第1の山の後、所定の長さ以上の谷が検出されたことを以って、第1の山を真のアドレスの山と判断してもよい。また、インパクトの検出時において、所定の長さ以上の谷の後に第2の山が検出されたことを以って、第1の山をインパクトの山と判断してもよい。
【0068】
<7−8>
上記実施形態では、真のアドレスの山533に対応するフレーム群のうち最も前のフレームをアドレスフレームFAとしたが、真のアドレスの山533の別の箇所から、アドレスフレームFAを検出してもよいし、谷531に対応するフレームをアドレスフレームFAとしてもよい。また、インパクトの山51のうちSAD(i)が最大とならない箇所で、インパクトフレームFIを検出してもよい。
【0069】
<7−9>
上記実施形態のステップS31において、隣接フレーム間ではなく、探索時刻のフレームと所定の基準フレームとの間で差分処理を実行するようにしてもよい。このときの基準フレームは、例えば、案内枠W3内にゴルフクラブ7が写っていないタイミングの画像とすることができる。
【符号の説明】
【0070】
1 ゴルフスイングの分析システム
1A,2A プログラム(ゴルフスイングの分析プログラム)
24A 像ブレ補正部
24B 差分導出部
24C 特徴検出部
24D 特定部
51 インパクトの山(第1の山)
52 谷
53 アドレスの山(第2の山)
531 谷
532 山(第2の山)
533 真のアドレスの山(第1の山)
7 ゴルフクラブ
72 ヘッド
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10