JP5446572B2 - 画像生成システム、制御プログラム、及び記録媒体 - Google Patents

画像生成システム、制御プログラム、及び記録媒体 Download PDF

Info

Publication number
JP5446572B2
JP5446572B2 JP2009187492A JP2009187492A JP5446572B2 JP 5446572 B2 JP5446572 B2 JP 5446572B2 JP 2009187492 A JP2009187492 A JP 2009187492A JP 2009187492 A JP2009187492 A JP 2009187492A JP 5446572 B2 JP5446572 B2 JP 5446572B2
Authority
JP
Japan
Prior art keywords
user
image generation
image
virtual
virtual object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009187492A
Other languages
English (en)
Other versions
JP2011036483A (ja
Inventor
一基 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kinki University
Original Assignee
Kinki University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kinki University filed Critical Kinki University
Priority to JP2009187492A priority Critical patent/JP5446572B2/ja
Publication of JP2011036483A publication Critical patent/JP2011036483A/ja
Application granted granted Critical
Publication of JP5446572B2 publication Critical patent/JP5446572B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、スポーツの練習等に用いられる画像生成システム、及び画像生成システムの制御プログラム、並びに記録媒体に関する。
近年、仮想空間に配置された仮想対象物とユーザとがインタラクティブにスポーツを行うバーチャルスポーツシステムが、開発されている。
例えば非特許文献1には、バッティング練習を行うためのバーチャルスポーツシステムが開示されている。このバーチャルスポーツシステムでは、CG(Computer Graphics)によってピッチャーやボールが表現され、ユーザは、このピッチャー等の動きを目視して、バットを振るようになっている。そして、ユーザがバットを振るタイミングやスピードがフォトセンサによって計測され、この計測値に基づき、ユーザのバッティングが評価される。
また非特許文献2には、CGによって表現された相手選手とボクシングを行うバーチャルスポーツシステムが開示されている。このバーチャルスポーツシステムでは、力覚デバイスが用いられて、ユーザのモーションデータがキャプチャリングされる。そして、このモーションデータに基づき生成されたアバタが、相手選手と仮想空間内でボクシングを行う。
また特許文献1には、テニスを行うためのバーチャルスポーツシステムが開示されている。このバーチャルスポーツシステムは、CGによってボールや相手選手が表現され、ユーザは、このボール等の動きを目視して、発光ダイオードからなるマーカが取り付けられたラケットを動かす。そして、カメラによってマーカが撮影され、この撮影画像に基づき、ユーザが行ったスイングが、フォアハンドスイングとバックハンドスイングとのいずれであるか判定される。
特開2005−218757号公報
Proceedings of ACM Symposium on Applied Computing 2002 pp.1060-1065 ACM Computers in Entertainment,vol.4,No.3,Article No.9(2006)
ところで、スポーツに取り組む者は、「自分のパフォーマンスを客観的に見たい」という欲求を持っている。現実のスポーツでは、カメラの撮影画像によって、ユーザは、相手選手等の動きに応じて自身が如何なるパフォーマンスを行ったかを確認することができる。この結果、ユーザのスキル向上が図られる。すなわち運動学習においては自らの動きを知覚あるいは観測し、それ故、修正していく試みの中からスキルを習得していく。このとき運動結果に関する情報を練習者が得ることをフィードバックという。
しかしながら、バーチャルスポーツシステムでは、相手選手やボール等が3次元空間に実際に存在するわけではない。すなわち、ユーザは、CG画像を目視することで、相手選手等に対する3次元的な位置関係等をイメージして、パフォーマンスを行うものであり、例えば、相手選手等が投影されるディスプレイとユーザとを一緒に撮影したとしても、この撮影で得られた画像は、相手選手等とユーザとの3次元的な位置関係を認識させるものではない。このため、ユーザは、上記撮影画像を確認したとしても、スキル向上に役立つ情報を得ることはできない。
また、非特許文献2に開示されたバーチャルスポーツシステムでは、ユーザのモーションデータを得るために、ユーザの身体に多くのセンサを取り付ける必要がある。このため、ユーザは思い通りの動きができず、スポーツ本来のメリットが著しく損なわれる虞れがある。また、上述のキャプチャリングによっては、ユーザの表情など細かな情報のモデル化は不可能であるため、ユーザは、自身に関する詳細な情報をCG画像から得ることはできない。
本発明は、こうした状況に鑑みてなされたものであり、ユーザのパフォーマンスのスキル向上に役立つ情報が得られる画像が得られるとともに、当該画像を生成するために、ユーザの身体に多くのセンサやセンシング補助器具を取り付ける必要がなく、さらに、前記画像によって、ユーザの表情などユーザに関する詳細な情報が得られる画像生成システム、制御プログラム、及び記録媒体を提供することを目的とする。すなわち、本発明は、運動を行う練習者を撮影した映像から得られるパフォーマンス知識のフィードバックを効果的に行うことを目的とし、複合現実感(Mixed Reality;MR)技術を用いて、CGによって表現された相手選手、ボール、環境等とのインタラクションの中で発揮される練習者の運動パフォーマンスを、上述のCGによって表現された相手選手等を含めて映像化し、これをフィードバックするシステム等を提供するものである。
上記目的を達成するため、本発明の第1の観点にかかる画像生成システムは、仮想対象物をユーザに表示する表示装置、及び前記仮想対象物に対してパフォーマンスを行うユーザを撮影する撮影装置を備えた画像生成システムであって、現実空間の前記撮影装置の位置に対応する仮想空間上の位置を取得する撮影位置取得手段と、前記撮影位置取得手段が取得した位置から視た仮想対象物の画像を生成する仮想画像生成手段と、前記撮影装置が撮影した画像と、前記仮想画像生成手段が生成した仮想対象物の画像とを合成する合成画像生成手段とを備えることを特徴とする。
好ましくは、現実空間のユーザの視点位置に対応する仮想空間上の位置を取得する視点位置取得手段をさらに備え、前記仮想画像生成手段は、前記視点位置取得手段が取得した位置から視た仮想対象物の画像を生成して、前記表示装置に表示させることを特徴とする。
好ましくは、前記撮影装置によって撮影されたユーザの画像に基づき、ユーザのモーションに関する情報を取得するモーション認識手段をさらに備え、前記仮想画像生成手段は、前記モーション認識手段が取得した情報に基づき、仮想対象物の動きを設定することを特徴とする。
好ましくは、前記仮想対象物に対するユーザのパフォーマンスを評価する評価手段をさらに備え、前記評価手段は、前記合成画像生成手段が生成した画像に基づき、ユーザが所定の動作を行った時点を特定し、当該時点における仮想対象物の動作に応じて、ユーザのパフォーマンスを評価することを特徴とする。
好ましくは、前記合成画像生成手段は、ユーザが所定の動作を行う以前の時刻から前記所定の動作を完了する時刻までの時間に得られた合成画像を、ユーザに対して表示することを特徴とする。
好ましくは、前記合成画像生成手段は、仮想対象物が所定の動作を行う時間に得られた合成画像を、ユーザに対して表示することを特徴とする。
また、本発明の第2の観点にかかる制御プログラムは、仮想対象物をユーザに表示する表示装置、及び前記仮想対象物に対してパフォーマンスを行うユーザを撮影する撮影装置を備えた画像生成システムの制御プログラムであって、現実空間の前記撮影装置の位置に対応する仮想空間上の位置を取得する撮影位置取得手順と、前記撮影位置取得手順で取得された位置から視た仮想対象物の画像を生成する仮想画像生成手順と、前記撮影装置が撮影した画像と、前記仮想画像生成手順で生成された仮想対象物の画像とを合成する合成画像生成手順とを画像生成システムに実行させることを特徴とする。
好ましくは、現実空間のユーザの視点位置に対応する仮想空間上の位置を取得する視点位置取得手順をさらに有し、前記仮想画像生成手順では、前記視点位置取得手順で取得された位置から視た仮想対象物の画像が生成されて、前記表示装置に表示されることを特徴とする。
好ましくは、前記撮影装置によって撮影されたユーザの画像に基づき、ユーザのモーションに関する情報を取得するモーション認識手順をさらに有し、前記仮想画像生成手順では、前記モーション認識手順で取得された情報に基づき、仮想対象物の動きが設定されることを特徴とする。
好ましくは、前記仮想対象物に対するユーザのパフォーマンスを評価する評価手順をさらに有し、前記評価手順では、前記合成画像生成手順で生成された画像に基づき、ユーザが所定の動作を行った時点が特定され、当該時点における仮想対象物の動作に応じて、ユーザのパフォーマンスが評価されることを特徴とする。
好ましくは、前記合成画像生成手順では、ユーザが所定の動作を行う以前の時刻から前記所定の動作を完了する時刻までの時間に得られた合成画像が、ユーザに対して表示されることを特徴とする。
好ましくは、前記合成画像生成手順では、仮想対象物が所定の動作を行う時間に得られた合成画像が、ユーザに対して表示されることを特徴とする。
また、本発明の第3の観点にかかる記録媒体は、前記制御プログラムを記録したコンピュータ読み取り可能な記録媒体である。
本発明によれば、現実空間の撮影装置の位置に対応する仮想空間上の位置が取得されて、当該取得された位置から視た仮想対象物の画像が生成される。そして、この仮想対象物の画像と、撮影装置が撮影したユーザの画像とが合成される。この結果、仮想対象物とユーザとの位置関係を認識可能な合成画像が得られる。これにより、ユーザは、パフォーマンスのスキル向上に役立つ情報を得ることができる。
また、撮影装置によって撮影されたユーザの画像が用いられて、合成画像が生成される。このことから、合成画像を生成するために、ユーザの身体に多くのセンサやセンシング補助器具を取り付ける必要がないため、ユーザは、思い通りの動きができる。また、合成画像にユーザの表情などが表現されるようになるため、ユーザは、自身に関する詳細な情報を得ることができる。
本発明の実施の形態に係る画像生成システムが配置された空間を示す概略図である。 画像生成システムの構成を示すブロック図である。 画像生成システム全体の処理を概略的に示すフローチャートである。 HMDに表示されるCG画像の例を示す図である。 ビデオカメラからPCに送信される撮影画像の例を示す図である。 表示部に表示される合成画像の例を示す図である。 PCにおける処理の詳細を示すフローチャートである。 PCにおいて図7の処理に続いて実行される処理の詳細を示すフローチャートである。 PCにおいて図8の処理に続いて実行される処理の詳細を示すフローチャートである。 仮想画像生成部によって決定される相手選手のモーションの遷移を示す図である。 相手選手の位置とユーザの拳の加速度との時間変化を示す図である。
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。この実施形態は、非接触型の対人競技である空手道競技(ノンコンタクトルール)において基本的な突き技のスキルを習得支援するためのバーチャル空手システムに係るものであり、基本的な突き技である「先の上段突き」と呼ばれる技が、運動課題として行われる。この技は、相手選手が急速に前進した瞬間に顔面めがけて突く技である。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。図1は、本発明の実施の形態に係る画像生成システム1が配置された空間を示す概略図であり、図2は、画像生成システム1の構成を示すブロック図である。
画像生成システム1は、HMD(Head Mounted Display)2と、ビデオカメラ3と、加速度センサ4と、PC(Personal Computer)5とを備えている。
HMD2は、ユーザ(練習者)の頭部に装着されて、CGにより表現された仮想対象物としての相手選手を、ユーザに目視させる。このHMD2として、例えば、iWear VR920TM(VUZIX社製)を使用することができる。
ビデオカメラ3は、ユーザや世界座標系を表わすマーカ6を撮影するために設置される。このビデオカメラ3として、例えば、Lu075cC-Io 112fps(Lumenera社製)を使用することができる。世界座標系はユーザが位置する空間を表す座標系であり、マーカ6によって、その原点が示される。
加速度センサ4は、ユーザの腕に取り付けられて、ユーザの突きのタイミングを計測する。この加速度センサ4として、例えば、WAA-001(ワイヤレステクノロジー株式会社製)を使用することができる。
上記構成を有する画像生成システム1では、マーカ6によって原点が示される世界座標系にて表される現実空間に、ユーザと、ユーザを撮影するビデオカメラ3とを設置するとともに、世界座標系に一致する仮想世界座標系を有する仮想空間内に、相手選手のCG画像が、運動課題にて決められた初期位置に配置される。この相手選手の位置及び姿勢は、ユーザの位置及び練習課題に従って、時間経過に伴って移動する。相手選手の画像は、あたかも現実のユーザの視点(A点)及び現実のビデオカメラ3の位置(B点)に配置されたカメラによって撮影された画像のように生成され、A点から視た相手選手画像はHMD2へ送られ、B点から視た相手選手のCG画像は、ビデオカメラ3にて撮影された現実のユーザ画像と合成されて、フィードバック用の画像シーケンスに追加されるのである。
PC5は、物理的な構成として、制御部50と、記憶部51と、表示部52とを備えており、HMD2やビデオカメラ3と有線通信を介して画像の送受信が可能であり、加速度センサ4と無線通信を介してデータの送受信が可能である。
制御部50は、CPU(Central Processing Unit)等から構成され、記憶部51に記憶されているプログラムに従って処理を実行する。この制御部50として、例えば、AMD OpteronTMプロセッサ 2.99GHzを使用することができる。
記憶部51は、RAM(Random-Access Memory)等から構成される主記憶部と、フラッシュメモリ、ハードディスク等の不揮発性メモリから構成される外部記憶部とを含んでいる。主記憶部は、制御部50の作業領域として用いられ、例えば4.0GBの容量を有するRAMによって構成される。外部記憶部は、制御部50に行わせるためのプログラムを予め記憶し、また、制御部50の指示に従って、このプログラムのデータを制御部50に供給し、制御部50から供給されたデータを記憶する。
表示部52は、例えば液晶表示装置から構成され、任意の画像を表示することが可能である。
図3は、画像生成システム1全体の処理を概略的に示すフローチャートである。図3に示す処理は、複合現実感(Mixed Reality: MR)手法を用いて、現実空間の撮影画像に仮想空間に存在する相手選手の画像を重畳した合成画像を生成するものである。
図3に示す処理が行われる前提として、図1に示すように、世界座標系を表わすマーカ6が、運動課題の行われる場所に設置され、マーカ6の座標系で決められた位置に、ユーザとビデオカメラ3とが配置される。
まず、ビデオカメラ3は、マーカ6やユーザを撮影した画像を、PC5に送信する(ステップS101)。
そして、PC5は、ビデオカメラ3の撮影画像に含まれるマーカ6の画像に基づき、世界座標系に対するビデオカメラ3の位置姿勢の情報を取得する(ステップS103)。
次に、PC5は、ステップS103で取得された情報に基づき、現実空間のビデオカメラ3の位置に対応する仮想空間上の位置の座標を取得する(ステップS104)。
次に、PC5は、ビデオカメラ3の撮影画像に含まれるマーカ6とユーザの画像に基づき、現実空間のユーザの視点位置に対応する仮想空間上の位置の座標を取得する(ステップS105)。
次に、PC5は、ステップS104,S105で取得した仮想空間上の座標に基づき、仮想空間における相手選手の初期位置姿勢を決定する(ステップS106)。
これ以降、ステップS107からのループ処理が開始される。この当初において、ビデオカメラ3は、ユーザの撮影画像をPC5に送信し、加速度センサ4は、ユーザの突きのタイミングを示すデータを、PC5に送信する(ステップS102)。
なお、ステップS107に示す処理は、ループ初回時には、実行されない。
次に、PC5は、ユーザの視点位置に対応する仮想空間上の位置(ステップS105で取得された座標)から視た相手選手のCG画像を生成する(ステップS108)。ループ初回におけるステップS108では、ステップS106で決定された初期位置姿勢に従って、CG画像が生成される。
次に、PC5は、ビデオカメラ3の位置に対応する仮想空間上の位置(ステップS104で取得された位置)から視た相手選手のCG画像を生成する(ステップS109)。ループ初回におけるステップS109では、ステップS106で決定された初期位置姿勢に従って、CG画像が生成される。
次に、PC5は、ステップS108で生成されたCG画像を、HMD2に送信する(ステップS110)。
次に、HMD2は、PC5から受信したCG画像を表示する(ステップS111)。図4は、ステップS111によりHMD2に表示されるCG画像の例を示しており、ユーザは、このCG画像に表された相手選手を目視して、「先の上段突き」等の動作を行う。
このユーザの様子は、ビデオカメラ3によって撮影されて、この撮影画像がPC5に送信される。また、ユーザの突きのタイミングデータが、加速度センサ4によって取得されてPC5に送信される。図5は、ビデオカメラ3からPC5に送信される撮影画像の例を示している。図5の画像では、HMD2を装着したユーザが、「先の上段突き」を行っている状態が示されている。
そして図3のステップS110が実行された後では、PC5は、ビデオカメラ3の撮影画像と、ステップS109で生成した相手選手のCG画像とを合成して記憶する(ステップS112)。
次に、PC5は、相手選手が運動課題のモーション終点に達しているか否か、或いはユーザが突きを完了したか否かを判断する(ステップS113)。
相手選手が運動課題のモーション終点に達していない、或いはユーザが突きを完了していないと判断された場合には(ステップS113でNO)、ステップS107の処理に復帰する。この復帰により、ステップS107〜S113の処理が実行される。このステップS107〜S113の処理は、ステップS113でYESと判断されるまで繰り返される。このループの2回目以降の各回では、PC5は、Δt時間経過後の相手選手の位置姿勢を決定し(ステップS107)、この位置姿勢に基づき、相手選手のCG画像を生成して(ステップS108,S109)、ステップS108で生成した相手選手のCG画像をHMD2に送信する。この結果、HMD2に表示される相手選手に動きが与えられ、この動きに応じて、ユーザは、空手の突き等の動作を行う。そして、このユーザの様子がビデオカメラ3によって撮影されて、この撮影画像とステップS109で生成された相手選手のCG画像とが、合成されて記憶される(ステップS112)。
そして、ステップS113で、相手選手が運動課題のモーション終点に達している、或いは、ユーザが突きを完了したと判断された場合には(ステップS113でYES)、PC5は、ステップS112で記憶した合成画像を、表示部52(図2参照)に表示する(ステップS114)。図6は、ステップS114で表示される合成画像の例を示している。図6に示す合成画像は、図5の撮影画像に相手選手の画像が重畳されたものである。ユーザは、この合成画像によって、相手選手との位置関係や、相手選手の動きに応じた自身のパフォーマンスや、パフォーマンス中における自身の表情を確認することができる。なお、ステップS114では、相手選手が前進を開始してから後退を行って元の位置に戻るまでの時間、或いは、ユーザが突きを開始してから完了するまでの時間に記憶された複数の合成画像が連続して表示される。これにより、上記の時間においてユーザや相手選手が行った動きを示す動画が、表示される。
次に、PC5は、ステップS112で記憶した合成画像に基づき、ユーザが行った突きの評価を行う(ステップS115)。
図7,8,9は、PC5における処理を示すフローチャートである。以下、これらの図を用いて、PC5における処理の詳細について説明する。
ここで図2に示すように、PC5では、モーション認識部5aと、合成画像生成部5bと、仮想画像生成部5cと、評価部5dとが論理的に構成される。
図7に示す処理は、モーション認識部5aと、合成画像生成部5bと、仮想画像生成部5cとによって実行される処理である。S201〜S203は図3のS107に対応し、S204はS108に対応し、S205はS109に対応し、S206はS110に対応し、S207〜S210はS112に対応している。
また、図8に示す処理は、図7の処理に続いて合成画像生成部5bによって実行される処理である。S211〜S213、S211〜S220は図3のS113に対応し、S214、S221は、S114に対応している。
また、図9の処理は、図8の処理に続いて評価部5dによって実行される処理であり、図3のS115に対応している。
なお、モーション認識部5a、合成画像生成部5b、仮想画像生成部5c、及び評価部5dは、図2に示す制御部50が、記憶部51の外部記憶部に記憶されたプログラムを、記憶部51の主記憶部に読み出して実行することによって構成される。
図7の処理では、まず、モーション認識部5aは、ユーザのモーションデータを取得する(ステップS201)。このモーションデータは、加速度センサ4から受信したタイミングデータやビデオカメラ3から受信した撮影画像に基づき取得され、モーションデータには、ユーザの拳の位置情報と、突きのタイミング情報とが含まれる。
次に、モーション認識部5aは、ユーザのモーションデータを、合成画像生成部5bと仮想画像生成部5cとに送る(ステップS202)。
次に、仮想画像生成部5cは、ユーザのモーションデータに基づき、相手選手のモーション系列を決定する(ステップS203)。
図10は、仮想画像生成部5cによって決定される相手選手のモーションの遷移を示す図である。相手選手は、“ディフェンス姿勢のジャンプ”、“前進”、“フェイントの前進”、“後退”のいずれかの動作を行うものであって、仮想画像生成部5cは、相手選手のモーションを、“ディフェンス姿勢のジャンプ”を中心として、他の3つの状態に確率的に遷移させる。図中の矢印に付けた記号P(i)(i=0、1、2、3; Σp(i)=1)あるいは数値(1.0)は、相手選手が異なる動作に遷移する確率を示しており、例えば、“ディフェンス姿勢のジャンプ”に続く動作として、p(1)の確率で前進が決定され、p(2)の確率でフェイントの前進が決定され、p(3)の確率で後退が決定される。
そして図7のステップS203が実行された後では、仮想画像生成部5cは、ステップS203で決定したモーション系列に従って、ユーザの視点位置から視た相手選手のCG画像と、ビデオカメラ3の位置から視た相手選手のCG画像とを生成する(ステップS204,S205)。これらの画像に示される相手選手の動きは、予め記憶部51に記憶された空手選手のモーションデータに基づき表現される。
次に、仮想画像生成部5cは、ステップS204で生成したユーザの視点位置から視た相手選手のCG画像を、HMD2へ送信する(ステップS206)。この処理により、HMD2では、図4に示すような画像が表示される。
次に、仮想画像生成部5cは、ステップS205で生成したビデオカメラ3の位置から視た相手選手のCG画像を、合成画像生成部5bに送る(ステップS207)。
次に、モーション認識部5aは、ビデオカメラ3が撮影した画像を、合成画像生成部5bに送る(ステップS208)。
次に、合成画像生成部5bは、ステップS207で受け取った相手選手のCG画像と、ステップS208で受け取ったビデオカメラ3の撮影画像とを同期して合成する(ステップS209)。この処理により、図6に示すような合成画像が生成される。
次に、合成画像生成部5bは、ステップS209で合成した画像を記憶部51に記憶する(ステップS210)。
次に、ステップS210に続いて実行される図8の処理について説明する。
合成画像生成部5bは、現時点が、ユーザが突きを出すべき時間T1であるか否かを判断する(ステップS211)。具体的には、合成画像生成部5bは、ステップS207で受け取った相手選手のCG画像において、相手選手が前進を始めてから元の位置に戻るまでの状態が示されているか否かを判断する。
以下では、まず、現時点がユーザが突きを出すべき時間T1にあると判断された場合(ステップS211でYES)の処理の流れについて説明する。
この場合には、合成画像生成部5bは、現時点で記憶部51に記憶された合成画像(直前のステップS210で記憶された合成画像)に、マーキングを行う(ステップS212)。このマーキングは、後述のステップS214で表示部52に表示させる合成画像を選定するために行われる。
そして、合成画像生成部5bは、現時点が、相手選手が運動課題のモーション終点に達した時点であるか否かを判断する(ステップS213)。具体的には、合成画像生成部5bは、ステップS207で受け取った相手選手のCG画像に基づき、相手選手が、前進を行った後、後退を行うことで、元の位置に戻ったか否かを判断する。
ステップS213で、現時点が、モーション終点に達した時点ではないと判断された場合には(ステップS213でNO)、図7のステップS201の処理に復帰する。この復帰により、新たに加速度センサ4やビデオカメラ3から受信されたデータや撮影画像に基づき、ステップS201〜S213の処理が実行される。このステップS201〜S213の処理は、ステップS213でYESと判断されるまで繰り返される。この繰り返しの各回では、モーション終点に達するまでの相手選手のCG画像が生成されて(ステップS204,S205)、ステップS204で生成された相手選手のCG画像がHMD2に表示される。ユーザは、このCG画像を目視して突き等の動作を行い、このユーザの様子が、ビデオカメラ3によって撮影される。そして、この撮影画像とステップS109で生成された相手選手の画像とが合成されて記憶部51に記憶される(ステップS210)。そして、この際に記憶される合成画像は、ユーザが突きを出すべき時間T1(相手選手が前進を始めてから元の位置に戻るまでの時間)に生成されたものであるから(ステップS211でYES)、ステップS212でマーキングが行われる。
そして、ステップS213で、相手選手がモーション終点に達していると判断された場合には(ステップS213でYES)、合成画像生成部5bは、これまでのステップS212でマーキングが行われた合成画像を、表示部52に表示する(ステップS214)。この結果、ユーザが突きを行うべき時間T1において、ステップS210で記憶された合成画像が連続して表示される。なお、ステップS214では、時間T1でユーザが突きを行ったか否かにかかわらず、合成画像が表示される。
次に、ステップS211で、現時点がユーザが突きを行うべき時間T1ではないと判断された場合(ステップS211でNO)について説明する。
この場合には、合成画像生成部5bは、現時点においてユーザが突きを行っているか否かを判断する(ステップS215)。この処理は、ステップS202やS208で受け取ったモーションデータやビデオカメラ3の撮影画像に基づき実行される。
ユーザが突きを行っていないと判断された場合には(ステップS215でNO)、ステップS201の処理に復帰する。この復帰により、新たに加速度センサ4やビデオカメラ3から受信されたデータや撮影画像に基づき、ステップS201〜S215の処理が、S215でYESと判断されるまで繰り返される。
そして、ユーザが突きを行ったときには(ステップS215でYES)、合成画像生成部5bは、現時点が、ユーザが突きを開始した時点teであるか否かを判断する(ステップS216)。この処理は、ステップS202で受け取ったモーションデータに基づき実行される。
そして、現時点が、ユーザが突きを開始した時点teであるときには(ステップS216でYES)、合成画像生成部5bは、現時点で、記憶部51に記憶された合成画像(直前のステップS210で記憶された合成画像)に、マーキングを行う(ステップS217)。
次に、合成画像生成部5bは、突きが開始される以前のte−Δe時刻から現時点(teに相当)までにステップS210で記憶された合成画像に、マーキングを行う(ステップS218)。
次に、合成画像生成部5bは、ステップS201の処理に復帰する。この復帰により、新たに加速度センサ4やビデオカメラ3から受信されたデータや撮影画像に基づき、ステップS201〜S216の処理が繰り返される。
そして再度、ステップS216が実行される際(ステップS216が2回目となるとき)には、ユーザが突きを開始してから時間が経過していることから、合成画像生成部5bは、NOと判断して、現時点で記憶された合成画像に、マーキングを行う(ステップS219)。
次に、合成画像生成部5bは、現時点は、ユーザが突きを完了した時点tfであるか否かを判断する(ステップS220)。この処理は、ステップS202で受け取ったモーションデータに基づき実行される。
ユーザが突きを完了していないことから、ステップS220でNOと判断される場合には、合成画像生成部5bは、ステップS201の処理に復帰する。この復帰により、新たに加速度センサ4やビデオカメラ3から受信されたデータや撮影画像に基づき、ステップS201〜S220の処理が、S220でYESと判断されるまで実行される。この繰り返しの各回では、ユーザが突きを完了するまでの様子がビデオカメラ3によって撮影され、これらの撮影画像とステップS109で生成された相手選手の画像とが、合成されて記憶される(ステップS210)。そして、これらの合成画像に対して、ステップS219でマーキングが行われる。
そして、ユーザが突きを完了したときには(ステップS220でYES)、合成画像生成部5bは、これまでのステップS217、S218、S219でマーキングを行った合成画像を、表示部52に表示する(ステップS221)。この結果、このステップS221では、ユーザが突きを開始する以前の時刻te−Δeからユーザが突きを完了する時刻tfまでの時間T2において、ステップS210で記憶部51に記憶された合成画像が、連続して表示される。
以上の処理によれば、現実空間のビデオカメラ3の位置に対応する仮想空間上の位置が取得されて、当該取得された位置から視た相手選手の画像が生成される。そしてこの相手選手の画像と、ビデオカメラ3が撮影したユーザの画像とが合成される。この結果、図6に示したような相手選手とユーザとの位置関係を認識可能な合成画像が得られる。これにより、ユーザは、空手の突きのスキル向上を図る上で有効な情報を得ることができる。
また、ビデオカメラ3によって撮影されたユーザの画像が用いられて、合成画像が生成される。このことから、合成画像を生成するために、ユーザの身体に多くのセンサやセンシング補助器具を取り付ける必要がないため、ユーザは思い通りの動きができる。また、合成画像において、ユーザの表情などが表現されるようになるため、ユーザは、自身に関する詳細な情報を得ることができる。
また、ユーザが突きを行った場合には、突きが開始される以前のte−Δe時刻から突きが完了した時刻tfまでの時間T2に記憶された合成画像が表示される。これにより、ユーザは、自身が突きを行った前後の状況を確認することができるため、ユーザは、突きを行った判断が妥当であったか否かを検討することができる。なお、Δeは、上記前後の状況を確認する上で好ましい時間に設定される。
また、te−Δe時刻以前に記憶された合成画像は表示されないため、ユーザが、スキル向上を図る上で必要ではない情報を得てしまうことを回避することができる。
また、相手選手が前進を始めてから元の位置に戻るまでの時間T1は、ユーザが突きを行うべき時間であるが、この時間T1に記憶された合成画像は、時間T1においてユーザが突きを行ったか否かに関わらず、表示される。このため、ユーザは、時間Tにおいて、自身が空手の突きを行っていなかったことや、突きが相手選手に届いていないこと等を確認することができる。これにより、ユーザは自身が行った判断や動作が誤りであったことを確認することができる。
次に図9を用いて、評価部5dによって実行される処理について説明する。
まず、評価部5dは、ユーザの拳と相手選手との距離が、所定値以下となる時間を特定する(ステップS222)。具体的には、記憶部51に記憶された合成画像のうち、ユーザの拳と相手選手との距離が所定値以下となる合成画像を抽出して、これらが記憶された時間を特定する。
次に、評価部5dは、ステップS222で特定した時間において、ユーザの拳の加速度が負のピークとなる時(突いた拳を引き戻す時点、すなわち寸止めの時点)に、相手選手が前進を開始してから後退を完了するまでの動作を行っていたか否かを判断する(ステップS223)。以下では、ユーザの拳の加速度が負のピークとなる時点を、「負のピークとなる時点」と略して記す。
図11は、相手選手の位置とユーザの拳の加速度との時間変化を示す図である。図11に示すL1〜L3は、相手選手が前進を開始してから後退を完了するまでの時間を示している。このうち、L3は、相手選手が前進を開始してから後退を開始する直前までの時間である。また、L2とL1とは、相手選手が後退を開始してから完了するまでの時間が2等分に分割されたものであって、L2は、前半の時間であり、L1は、後半の時間である。また、L4は、L1〜L3以外の時間である。このL4の時間では、相手選手は、例えば、フェイントの前進を行っていたり、ディフェンス姿勢のジャンプを行っている状態にある。
図9のステップS223では、負のピークとなる時点が、L1〜L3の時間と、L4の時間とのいずれに生じたかを判別することで、相手選手が前進を開始してから後退を完了するまでの動作を行っていたか否かを判断する。
負のピークとなる時点がL1〜L3の時間に生じていたときには、相手選手は前進を開始してから後退を完了するまでの動作を行っていたと判断されて(ステップS223でYES)、ステップS224に移行する。
このステップS224では、評価部5dは、ユーザが行った突きの評価点をカウントする。
具体的には、評価部5dは、負のピークとなる時点がL3の時間に生じていた場合(負のピークとなる時点で相手選手が前進を行っていた場合)には、突きの評価点として、3点をカウントする。また、負のピークとなる時点がL2の時間に生じていた場合(負のピークとなる時点で相手選手が後退の初期段階の動作を行っていた場合)には、突きの評価点として、2点をカウントする。また、負のピークとなる時点がL1の時間に生じていた場合(負のピークとなる時点で相手選手が後退の完了段階の動作を行っていた場合)には、突きの評価点として、1点をカウントする。
そして、評価部5dは、ステップS224でカウントした突きの評価点を、記憶部51に記憶する(ステップS225)。
一方、負のピークとなる時点が、L4の時間に生じていたときには、ステップS223で、相手選手は前進を開始してから後退を完了するまでの動作を行っていないと判断されて(ステップS223でNO)、ステップS226の処理に移行する。
ここで、ステップS223でNOと判断される状況は、相手選手が、フェイントの前進を行っているときなどに、ユーザが突きを行った結果として生じる。これに基づき、ステップS226では、突きのタイミングが適切でなかったことを示す値として、1点のエラー値がカウントされる。
そして、評価部5dは、ステップS226でカウントしたエラー値を、記憶部51に記憶する(ステップS227)。
以上により、図9に示す処理は終了し、ステップS225,S227で記憶部51に記憶された突きの評価点やエラー値は、ユーザがPC5に所定の操作を行うことによって、表示部52に表示されて、ユーザに確認される。
以上の処理によれば、ユーザのパフォーマンスに関する情報に基づき、ユーザの拳の加速度が負のピークとなる時点が特定され、さらに当該時点における相手選手の動作に基づき、ユーザのパフォーマンスが評価される。この評価結果により、ユーザは、自身が行った動作が妥当であったか否かを判断することができる。また、ユーザは、所望の評価が得られるまで練習を繰り返すことで、目標とするスキルに達することができる。
本発明は、上述した実施形態に限定されず、特許請求の範囲において種々改変することができる。
例えば、加速度センサ4は、画像生成システム1から省略されてもよい。この場合、ユーザが突きを行ったタイミングを示すデータは、ビデオカメラ3の撮影画像に基づき取得される。このようにすることで、ユーザは、腕に加速度センサ4を取り付ける必要がなくなるため、より一層思い通りの動きができるようになる。
また、ビデオカメラ3は複数設置されてもよい。この場合には、各ビデオカメラ3が撮影した画像に基づき、図3に示す処理が実行される。この結果、多視点からのユーザの撮影画像が得られ、これら撮影画像の各々が用いられて、ユーザと相手選手とが対峙した合成画像が生成される。これにより、多視点から視たユーザと相手選手との位置関係が確認可能となる。
また、合成画像生成部5bによって生成された合成画像は、PC5とは別途設けられるモニタやスクリーンに表示されるようにしてもよい。
また、仮想画像生成部5cによって生成された相手選手のCG画像は、HMD2に代えて、ユーザの近傍に配置されるモニタやスクリーンに表示されるようにしてもよい。
また、PC5では、HMD2やビデオカメラ3と無線通信を介して画像の送受信が行われてもよい。
また本発明の画像生成システム1は、ボクシング、テニス、野球などの空手以外のスポーツの練習、ゲーム、リハビリのために使用され得る。例えば、テニスの練習に用いられる際には、PC5によって相手選手やボール等を含むCG画像が生成されて、このCG画像がスクリーンに投影される。そして、ユーザは、スクリーンに投影されたボール等の動きを確認して、ラケットを持った腕を動かす。そして、このユーザの様子がビデオカメラ3によって撮影されて、この撮影画像とPC5によって生成されたCG画像とが合成される。
また、本実施形態の画像生成システム1における各種処理を行う手段および方法は、専用のハードウェア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。ここで、上記プログラムは、例えばフレキシブルディスクやCD−ROM等のコンピュータ読取可能な情報記録媒体によって提供されてもよい。この場合、コンピュータ読取可能な情報記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送されて記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、装置の一機能としてその装置のソフトウェアに組み込まれてもよい。
次に、本発明の効果を確認するために行った実験について説明する。
本実験では、男子学生(21歳、運動部所属)2名を被験者とし、上記実施形態の画像生成システム1を用いて「先の上段突き」の練習を行った。一方の被験者Aには、合成画像生成部5bによって生成される合成画像(図6参照)を確認させ、他方の被験者Bには、合成画像を確認させなかった。
また、相手選手がモーションを遷移する確率については、図10に示すp(0)を0.7に設定し、p(1),p(2),p(3)を、いずれも0.1に設定した。
また、図8のステップS218における「突きが開始される以前のte−Δe時刻」を定めるにあたって、ユーザが突きを行った時刻teから過去へさかのぼる時間Δeを、500msecに設定した。
そして本実験では、図9のステップS225,S227で記憶された突きの評価点とエラー値とを、各回の練習後にPC5において出力して確認した。
練習は、1回10分とし、エラー値が1点以下、かつ、突きの評価点の平均が2.5点以上の成績が3回連続して得られるまで、ほぼ毎日1〜4回の頻度で行った。
目標成績に達するまで行った練習の回数は、被験者Aが44回、被験者Bが55回であり、合成画像を確認した被験者Aは、合成画像を確認しなかった被験者Bに比して、練習の回数が20%程度少なくなった。このことから、合成画像を確認することによって、目標スキルへの到達に要する練習の回数が少なく抑えられることが確認された。
本発明は、スポーツの練習、リハビリ、コンピュータゲームに用いる機器に適用することができる。
1 画像生成システム
2 HMD
3 ビデオカメラ
4 加速度センサ
5 PC
5a モーション認識部
5b 合成画像生成部
5c 仮想画像生成部
5d 評価部
6 マーカ
50 制御部
51 記憶部
52 表示部

Claims (13)

  1. 仮想対象物をユーザに表示する表示装置、及び前記仮想対象物に対してパフォーマンスを行うユーザを撮影する撮影装置を備えた画像生成システムであって、
    現実空間の前記撮影装置の位置に対応する仮想空間上の位置を取得する撮影位置取得手段と、
    前記撮影位置取得手段が取得した位置から視た仮想対象物の画像を生成する仮想画像生成手段と、
    前記撮影装置が撮影した画像と、前記仮想画像生成手段が生成した仮想対象物の画像とを合成する合成画像生成手段とを備えることを特徴とする画像生成システム。
  2. 現実空間のユーザの視点位置に対応する仮想空間上の位置を取得する視点位置取得手段をさらに備え、
    前記仮想画像生成手段は、前記視点位置取得手段が取得した位置から視た仮想対象物の画像を生成して、前記表示装置に表示させることを特徴とする請求項1に記載の画像生成システム。
  3. 前記撮影装置によって撮影されたユーザの画像に基づき、ユーザのモーションに関する情報を取得するモーション認識手段をさらに備え、
    前記仮想画像生成手段は、前記モーション認識手段が取得した情報に基づき、仮想対象物の動きを設定することを特徴とする請求項1又は2に記載の画像生成システム。
  4. 前記仮想対象物に対するユーザのパフォーマンスを評価する評価手段をさらに備え、
    前記評価手段は、前記合成画像生成手段が生成した画像に基づき、ユーザが所定の動作を行った時点を特定し、当該時点における仮想対象物の動作に応じて、ユーザのパフォーマンスを評価することを特徴とする請求項1乃至3のいずれか1項に記載の画像生成システム。
  5. 前記合成画像生成手段は、ユーザが所定の動作を行う以前の時刻から前記所定の動作を完了する時刻までの時間に得られた合成画像を、ユーザに対して表示することを特徴とする請求項1乃至4のいずれか1項に記載の画像生成システム。
  6. 前記合成画像生成手段は、仮想対象物が所定の動作を行う時間に得られた合成画像を、ユーザに対して表示することを特徴とする請求項1乃至5のいずれか1項に記載の画像生成システム。
  7. 仮想対象物をユーザに表示する表示装置、及び前記仮想対象物に対してパフォーマンスを行うユーザを撮影する撮影装置を備えた画像生成システムの制御プログラムであって、
    現実空間の前記撮影装置の位置に対応する仮想空間上の位置を取得する撮影位置取得手順と、
    前記撮影位置取得手順で取得された位置から視た仮想対象物の画像を生成する仮想画像生成手順と、
    前記撮影装置が撮影した画像と、前記仮想画像生成手順で生成された仮想対象物の画像とを合成する合成画像生成手順とを画像生成システムに実行させることを特徴とする制御プログラム。
  8. 現実空間のユーザの視点位置に対応する仮想空間上の位置を取得する視点位置取得手順をさらに有し、
    前記仮想画像生成手順では、前記視点位置取得手順で取得された位置から視た仮想対象物の画像が生成されて、前記表示装置に表示されることを特徴とする請求項7に記載の制御プログラム。
  9. 前記撮影装置によって撮影されたユーザの画像に基づき、ユーザのモーションに関する情報を取得するモーション認識手順をさらに有し、
    前記仮想画像生成手順では、前記モーション認識手順で取得された情報に基づき、仮想対象物の動きが設定されることを特徴とする請求項7又は8に記載の制御プログラム。
  10. 仮想対象物に対するユーザのパフォーマンスを評価する評価手順をさらに有し、
    前記評価手順では、前記合成画像生成手順で生成された画像に基づき、前記ユーザが所定の動作を行った時点が特定され、当該時点における仮想対象物の動作に応じて、ユーザのパフォーマンスが評価されることを特徴とする請求項7乃至9のいずれか1項に記載の制御プログラム。
  11. 前記合成画像生成手順では、ユーザが所定の動作を行う以前の時刻から前記所定の動作を完了する時刻までの時間に得られた合成画像が、ユーザに対して表示されることを特徴とする請求項7乃至10のいずれか1項に記載の制御プログラム。
  12. 前記合成画像生成手順では、仮想対象物が所定の動作を行う時間に得られた合成画像が、ユーザに対して表示されることを特徴とする請求項7乃至11のいずれか1項に記載の制御プログラム。
  13. 請求項7乃至12のいずれか1項に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2009187492A 2009-08-12 2009-08-12 画像生成システム、制御プログラム、及び記録媒体 Expired - Fee Related JP5446572B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009187492A JP5446572B2 (ja) 2009-08-12 2009-08-12 画像生成システム、制御プログラム、及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009187492A JP5446572B2 (ja) 2009-08-12 2009-08-12 画像生成システム、制御プログラム、及び記録媒体

Publications (2)

Publication Number Publication Date
JP2011036483A JP2011036483A (ja) 2011-02-24
JP5446572B2 true JP5446572B2 (ja) 2014-03-19

Family

ID=43764910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009187492A Expired - Fee Related JP5446572B2 (ja) 2009-08-12 2009-08-12 画像生成システム、制御プログラム、及び記録媒体

Country Status (1)

Country Link
JP (1) JP5446572B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100918A (zh) * 2015-08-29 2015-11-25 天脉聚源(北京)科技有限公司 显示互动结果的方法和装置
CN105100962A (zh) * 2015-08-29 2015-11-25 天脉聚源(北京)科技有限公司 生成互动信号串联单的方法和装置
JP6742405B2 (ja) * 2015-09-29 2020-08-19 バイナリーヴィーアール, インコーポレイテッドBinaryvr, Inc. 表情検出機能を備えたヘッドマウントディスプレイ
US20180261120A1 (en) * 2015-12-01 2018-09-13 Sharp Kabushiki Kaisha Video generating device, method of controlling video generating device, display system, video generation control program, and computer-readable storage medium
KR101907181B1 (ko) * 2016-12-30 2018-10-12 서울대학교산학협력단 가상 모델을 이용하는 시각 자극 생성 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
JP2021077185A (ja) 2019-11-12 2021-05-20 ソニー株式会社 情報処理装置、情報処理方法、並びにプログラム
JP7071018B1 (ja) 2021-02-16 2022-05-18 Necプラットフォームズ株式会社 評価装置、方法及びプログラム
JP7239231B1 (ja) * 2022-08-25 2023-03-14 株式会社ネクストベース 判定システム、判定方法及びコンピュータープログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05309174A (ja) * 1992-05-11 1993-11-22 Adetsuku:Kk シュミレーション装置
JPH0850661A (ja) * 1994-08-05 1996-02-20 Casio Comput Co Ltd 画像制御装置
JP3812092B2 (ja) * 1997-10-27 2006-08-23 ソニー株式会社 姿勢検出装置及び方法
JP4006949B2 (ja) * 2000-02-15 2007-11-14 株式会社セガ 画像処理システム、画像処理装置及び撮像装置
JP2002041038A (ja) * 2000-07-31 2002-02-08 Taito Corp 仮想楽器演奏装置
JP2005218757A (ja) * 2004-02-09 2005-08-18 Vr Sports:Kk バーチャルリアリティテニスゲームシステム
JP2005319191A (ja) * 2004-05-11 2005-11-17 Namco Ltd ゲームシステム、プログラム、情報記憶媒体および画像生成方法
JP4005060B2 (ja) * 2004-06-30 2007-11-07 株式会社ソニー・コンピュータエンタテインメント 情報処理システム、プログラムおよびゲームキャラクタ移動制御方法
JP2006155148A (ja) * 2004-11-29 2006-06-15 Namco Bandai Games Inc 画像処理システム、プログラム、情報記憶媒体および画像処理方法

Also Published As

Publication number Publication date
JP2011036483A (ja) 2011-02-24

Similar Documents

Publication Publication Date Title
JP5446572B2 (ja) 画像生成システム、制御プログラム、及び記録媒体
US11836929B2 (en) Systems and methods for determining trajectories of basketball shots for display
US12100245B2 (en) Systems and methods for determining reduced player performance in sporting events
KR101954959B1 (ko) 운동 수행의 이미지 데이터로부터의 피드백 신호들
US10821347B2 (en) Virtual reality sports training systems and methods
US10121065B2 (en) Athletic attribute determinations from image data
US11826628B2 (en) Virtual reality sports training systems and methods
JP6915701B2 (ja) 抽出プログラム、抽出方法および情報処理装置
WO2011009302A1 (zh) 一种基于多跟踪点的人体动作识别方法
WO2020010040A1 (en) Systems and methods for determining reduced player performance in sporting events
KR20100033205A (ko) 골프연습 보조 시스템 및 그 방법
Yeo et al. Augmented learning for sports using wearable head-worn and wrist-worn devices
KR101864039B1 (ko) 증강현실을 이용한 격투기 스포츠의 공정심사 솔루션 제공용 빅데이터 분석처리 시스템 및 그 구동방법
JP2006181014A (ja) 画像解析装置および動作修正システム
KR101723011B1 (ko) 펜싱 선수의 훈련 관리 시스템 및 훈련 관리 방법
US20240252917A1 (en) Player monitoring systems and methods for efficiently processing sensor data
JP7488704B2 (ja) 触覚メタデータ生成装置、映像触覚連動システム、及びプログラム
US20220334257A1 (en) System and method for evaluating the physical skills of a person
JP2021082954A (ja) 触覚メタデータ生成装置、映像触覚連動システム、及びプログラム
JP2022062313A (ja) 触覚メタデータ生成装置、映像触覚連動システム、及びプログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110222

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120620

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131216

R150 Certificate of patent or registration of utility model

Ref document number: 5446572

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees