(57)【要約】【課題】  手本動作に対して実際の動作が遅れた場合であっても、正確なキャリブレーションを行うことができるアニメーション生成装置を提供する。【解決手段】  ユーザの動きを検出することによりアニメーションを生成する装置であって、ユーザの動きを検出する複数のセンサより複数のセンサ計測値をそれぞれ受け付けるセンサ計測値入力部６０と、手本動作をユーザに提示し、前記手本動作をユーザが真似た場合の前記複数のセンサ計測値の時間的遅れを補正し、かつ遅延補正された前記複数のセンサ計測値に基づいて、前記複数のセンサのキャリブレーションを行うキャリブレーション部４０と、キャリブレーション後の前記複数のセンサ計測値に基づいて、前記手本動作に対応するアニメーションを生成するアニメーション生成部５０とを備える。【選択図】      図１
2006209445.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの動きを検出することによりアニメーションを生成する装置であって、
ユーザの動きを検出する複数のセンサより複数のセンサ計測値をそれぞれ受け付けるセンサ計測値受け付け手段と、
手本動作をユーザに提示する手本動作提示手段と、
前記手本動作をユーザが真似た場合の前記複数のセンサ計測値の時間的遅れを補正する遅延補正手段と、
遅延補正された前記複数のセンサ計測値に基づいて、前記複数のセンサのキャリブレーションを行うセンサキャリブレーション手段と、
キャリブレーション後の前記複数のセンサ計測値に基づいて、前記手本動作に対応するアニメーションを生成するアニメーション生成手段とを備える
ことを特徴とするアニメーション生成装置。
【請求項２】
前記遅延補正手段は、
前記手本動作を真似た場合の前記複数のセンサ計測値のうちの少なくとも１つのセンサ計測値に基づいて、前記手本動作を示す関数値を複数の部分動作に分ける時間軸上の動作特徴点に対応する前記センサ計測値の動作特徴点を抽出する動作特徴点抽出部と、
前記手本動作の動作特徴点を前記センサ計測値の動作特徴点に一致させることにより、前記複数のセンサ計測値の時間的遅れを補正する補正部とを有する
ことを特徴とする請求項１に記載のアニメーション生成装置。
【請求項３】
前記動作特徴点は、前記手本動作を示す関数値の時間変化率の正負が逆転する点、前記時間変化率の変化率が所定のしきい値を超える点または前記関数値の曲率の変化点である
ことを特徴とする請求項２に記載のアニメーション生成装置。
【請求項４】
前記キャリブレーション手段は、遅延補正された前記複数のセンサ計測値を説明変数の値とし、前記手本動作を示す関数値を目的変数の値とする重回帰式を重回帰分析により求めることにより、前記複数のセンサのキャリブレーションを行う重回帰分析部を有する
ことを特徴とする請求項１〜３のいずれか１項に記載のアニメーション生成装置。
【請求項５】
前記重回帰分析部は、ステップワイズ法による重回帰分析を行うことにより、前記複数のセンサのキャリブレーションを行う
ことを特徴とする請求項４に記載のアニメーション生成装置。
【請求項６】
前記キャリブレーション手段は、さらに、前記複数のセンサ計測値の各々について、当該センサ計測値より導出される値と所定のしきい値とを比較し、前記手本動作のアニメーション生成に関与する説明変数を選択する説明変数選択部を有し、
前記重回帰分析部は、前記説明変数選択部で選択された説明変数のみを用いた重回帰分析を実行する
ことを特徴とする請求項４または５に記載のアニメーション生成装置。
【請求項７】
前記説明変数選択部は、前記複数のセンサ計測値の各々について、当該センサ計測値を説明変数の値とした場合の単回帰式の決定係数が所定のしきい値以上の説明変数を、前記手本動作のアニメーション生成に関与する説明変数として選択する
ことを特徴とする請求項６に記載のアニメーション生成装置。
【請求項８】
前記説明変数選択部は、前記複数のセンサ計測値の各々について、当該センサ計測値を説明変数の値とした場合に、前記説明変数の値の分散が所定のしきい値よりも大きい前記説明変数を、前記手本動作のアニメーション生成に関与する説明変数として選択する
ことを特徴とする請求項６に記載のアニメーション生成装置。
【請求項９】
前記アニメーション生成手段は、
キャリブレーション後の前記複数のセンサ計測値を前記重回帰式の前記説明変数に代入することにより、前記目的変数の値を算出する目的変数値算出部と、
前記目的変数の値に基づいてアニメーションを生成する生成部とを有する
ことを特徴とする請求項４〜９のいずれか１項に記載のアニメーション生成装置。
【請求項１０】
ユーザの動きを検出することによりアニメーションを生成する方法であって、
ユーザの動きを検出する複数のセンサより複数のセンサ計測値をそれぞれ受け付けるセンサ計測値受け付けステップと、
手本動作をユーザに提示する手本動作提示ステップと、
前記手本動作をユーザが真似た場合の前記複数のセンサ計測値の時間的遅れを補正する遅延補正ステップと、
遅延補正された前記複数のセンサ計測値に基づいて、前記複数のセンサのキャリブレーションを行うセンサキャリブレーションステップと、
キャリブレーション後の前記複数のセンサ計測値に基づいて、前記手本動作に対応するアニメーションを生成するアニメーション生成ステップとを含む
ことを特徴とするアニメーション生成方法。
【請求項１１】
ユーザの動きを検出することによりアニメーションを生成する方法のプログラムであって、
ユーザの動きを検出する複数のセンサより複数のセンサ計測値をそれぞれ受け付けるセンサ計測値受け付けステップと、
手本動作をユーザに提示する手本動作提示ステップと、
前記手本動作をユーザが真似た場合の前記複数のセンサ計測値の時間的遅れを補正する遅延補正ステップと、
遅延補正された前記複数のセンサ計測値に基づいて、前記複数のセンサのキャリブレーションを行うセンサキャリブレーションステップと、
キャリブレーション後の前記複数のセンサ計測値に基づいて、前記手本動作に対応するアニメーションを生成するアニメーション生成ステップとをコンピュータに実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアニメーション生成装置に関し、特に、ユーザの動きを検出することによりアニメーションを生成するアニメーション生成装置に関する。
【背景技術】
【０００２】
人間の手振りや身振りをモーションキャプチャデバイスを用いて入力し、そのデータからインタラクティブにコンピュータアニメーションを生成する機会が増えている（例えば、非特許文献１参照。）。しかし、このようなデバイスを精度良く用いるためには、あらかじめ時間をかけて厳密なキャリブレーションを行う必要があり、仮にうまくキャリブレーションができたとしても、利用者の骨格構造とアニメーション生成のための身体モデルの構造の違いや、センサ値の誤差により、利用者の動作を忠実に再現することは一般に困難である。そこで、身体動作の統計的推定と逆運動学を用いて安定なアニメーションを生成しようとする研究（例えば、非特許文献２参照。）や、空間的な拘束を与えることによって、滑らかな動作を補間しようとする研究（例えば、非特許文献３参照。）などの例があるが、より現実的な方法として、モーションデータを手作業で補正して利用することも多かった。
【０００３】
手に関しては、グローブ型手形状入力装置などを用いて手指の曲げ角度を計測し、そのデータに対応した手のコンピュータアニメーションを生成するインタラクティブなシステムは、仮想現実などのインタフェースとしてしばしば利用されている（例えば、非特許文献４および５参照。）。手指動作を再現するには多数の関節曲げ角度が必要であり、グローブ型手形状入力装置を用いればこれらを計測することができる。そして一般には、利用者の各手指の曲げ角度を、それに対応した手形状モデルの各関節に一対一に対応づけて曲げることによって、手指動作のアニメーションを生成することが多い。
【非特許文献１】T. Molet, Z. Huang, R. Boulic, and D. Thalmann, "An animation interface designed for motion capture," Computer Animation '97, pp. 77-85, 1997.
【非特許文献２】B. Bodenheimer, C. Rose, S. Rosenthal, and J. Pella, "The process of motion capture: Dealing with the data," Eurographics Workshop on Computer Animation and Simulation, pp. 3-18, 1997.
【非特許文献３】Michael Gliecher, "Retargetting motion to new characters," in SIGGRAPH '98 Conference Proceedings, pp. 33?42, 1998.
【非特許文献４】D. Sturman and D. Zeltzer, "A survey of glove-based input," IEEE Computer Graphics & Applications, vol. 14, no. 1, January, pp. 30?39, 1994.
【非特許文献５】Z. Huang, R. Boulic, N. M. Thalmann, and D. Thalmann, "A multi-sensor approach for grasping and 3D interaction," Computer Graphics: Developments in Virtual Environments (Proc. Computer Graphics International ’95), pp. 235?254, 1995.
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、アニメーションを生成するための手形状モデルは、一般に、典型的な形状としてあらかじめ用意された一つか極めて少数のものであることが多いため、複数の利用者を想定する場合には、利用者によっては指の長さや太さが手形状モデルとは異なってしまうため、利用者の動作を忠実に再現することは難しくなる。そのため、利用者がイメージする動作（メンタルモデル）とアニメーションとして描画される動作（システムの振舞い）は一致しなくなり、その結果、インタフェースとして利用する場合も直感性は高まらず、使い辛いものになってしまう傾向があった。更に、多くの関節の手指曲げ角度を計測するためのセンサの数が多くなれば、それだけキャリブレーションは面倒で時間がかかってしまうという問題もある。
【０００５】
また、このようなキャリブレーションを行う際には、アニメーションによる手本動作をコンピュータ上に表示させ、グローブ型手形状入力装置を装着したユーザがその手本動作を真似る。このような手法により、グローブ型手形状入力装置に備えられた複数のセンサよりセンサ値を得て、そのセンサ値に基づいてキャリブレーションを行うわけである。しかし、初めてキャリブレーションを行うユーザのような一般的なユーザの場合には、手本動作を見て、それを真似て手本動作と同じ動きを行うわけである。このため、手本動作よりも実際の動きのほうが時間的に遅れてしまう。このため、時間遅れが生じたままのセンサ値を用いてキャリブレーションを行ったのでは、正確なキャリブレーションが行えないという問題もある。
【０００６】
本発明は、上述の課題を解決するためになされたものであり、厳密なキャリブレーションを行う必要がなく、誰でもがイメージどおりのアニメーションをインタラクティブに生成することができるアニメーション生成装置を提供することを目的とする。
【０００７】
また、手本動作に対して実際の動作が遅れた場合であっても、正確なキャリブレーションを行うことができるアニメーション生成装置を提供することも目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係るアニメーション生成装置は、ユーザの動きを検出することによりアニメーションを生成する装置であって、ユーザの動きを検出する複数のセンサより複数のセンサ計測値をそれぞれ受け付けるセンサ計測値受け付け手段と、手本動作をユーザに提示する手本動作提示手段と、前記手本動作をユーザが真似た場合の前記複数のセンサ計測値の時間的遅れを補正する遅延補正手段と、遅延補正された前記複数のセンサ計測値に基づいて、前記複数のセンサのキャリブレーションを行うセンサキャリブレーション手段と、キャリブレーション後の前記複数のセンサ計測値に基づいて、前記手本動作に対応するアニメーションを生成するアニメーション生成手段とを備えることを特徴とする。
【０００９】
この構成によると、手本動作に対して実際の動作が遅れた場合であっても、遅延補正が行われるため、正確なキャリブレーションを行うことができる。
【００１０】
好ましくは、前記遅延補正手段は、前記手本動作を真似た場合の前記複数のセンサ計測値のうちの少なくとも１つのセンサ計測値に基づいて、前記手本動作を示す関数値を複数の部分動作に分ける時間軸上の動作特徴点に対応する前記センサ計測値の動作特徴点を抽出する動作特徴点抽出部と、前記手本動作の動作特徴点を前記センサ計測値の動作特徴点に一致させることにより、前記複数のセンサ計測値の時間的遅れを補正する補正部とを有することを特徴とする。
【００１１】
このように、手本動作の動作特徴点を前記センサ計測値の動作特徴点に一致させるのは以下のような理由による。すなわち、一般に手本動作はスカラー量または低次元のベクトル量で表せるのに対し、センサ計測値は多次元のベクトルであるため、計算量の観点から有利だからである。
【００１２】
さらに好ましくは、前記キャリブレーション手段は、遅延補正された前記複数のセンサ計測値を説明変数の値とし、前記手本動作を示す関数値を目的変数の値とする重回帰式を重回帰分析により求めることにより、前記複数のセンサのキャリブレーションを行う重回帰分析部を有することを特徴とする。
【００１３】
重回帰式を得るのに計算量は多くかからず、少数のデータで動作を表現することができる。
【００１４】
さらに好ましくは、前記重回帰分析部は、ステップワイズ法による重回帰分析を行うことにより、前記複数のセンサのキャリブレーションを行うことを特徴とする。
【００１５】
ステップワイズ法による重回帰分析を行うことにより、手本動作を特徴づける少ない数のパラメータで動作を再現することができる重回帰式を得る
さらに好ましくは、前記キャリブレーション手段は、さらに、前記複数のセンサ計測値の各々について、当該センサ計測値より導出される値と所定のしきい値とを比較し、前記手本動作のアニメーション生成に関与する説明変数を選択する説明変数選択部を有し、前記重回帰分析部は、前記説明変数選択部で選択された説明変数のみを用いた重回帰分析を実行することを特徴とする。
【００１６】
一般に、手や指の動きは個々に取り上げれば複雑に見えるが、全体として見れば比較的単純であることが多い。特にユーザが道具を操作したり物体をつかんだり、ある特定の動作をアニメーションとして描画する際の手指の状態は、すべての関節などのモーションデータを使わなくても、その動作を特徴づける少ない数のパラメータで再現することが可能である。よって、変数を事前選択することにより、その後のアニメーションの生成の精度を向上させることができる。
【００１７】
また、骨格構造が異なる複数の利用者に対しても、厳密なキャリブレーションが不必要となるため、あらかじめ決められた動作については、利用者がその手指動作を正しく行えるかどうかにかかわらず、だれでもイメージどおりの自然な手指動作アニメーションをインタラクティブに生成することができるようになる。
【００１８】
さらに好ましくは、前記説明変数選択部は、前記複数のセンサ計測値の各々について、当該センサ計測値を説明変数の値とした場合の単回帰式の決定係数が所定のしきい値以上の説明変数を、前記手本動作のアニメーション生成に関与する説明変数として選択することを特徴とする。
【００１９】
決定係数が小さい説明変数は、回帰式により生成されるアニメーションを不安定にする場合がある。このため、決定係数が小さい説明変数を除外することにより、精度良いアニメーションを生成することができる。
【００２０】
さらに好ましくは、前記説明変数選択部は、前記複数のセンサ計測値の各々について、当該センサ計測値を説明変数の値とした場合に、前記説明変数の値の分散が所定のしきい値よりも大きい前記説明変数を、前記手本動作のアニメーション生成に関与する説明変数として選択することを特徴とする。
【００２１】
分散値の小さな説明変数を除外することにより、利用者の無意識の動きを除去することができる。
【００２２】
さらに好ましくは、前記アニメーション生成手段は、キャリブレーション後の前記複数のセンサ計測値を前記重回帰式の前記説明変数に代入することにより、前記目的変数の値を算出する目的変数値算出部と、前記目的変数の値に基づいてアニメーションを生成する生成部とを有することを特徴とする。
【００２３】
事前に重回帰式を求めておくことにより、自然な手指動作アニメーションをインタラクティブに生成することができる。
【００２４】
なお、本発明は、このような特徴的な手段を備えるアニメーション生成装置として実現することができるだけでなく、アニメーション生成装置に含まれる特徴的な手段をステップとするアニメーション生成方法として実現したり、アニメーション生成方法に含まれる特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）等の記録媒体やインターネット等の通信ネットワークを介して流通させることができるのは言うまでもない。
【発明の効果】
【００２５】
本発明によると、厳密なキャリブレーションを行う必要がなく、誰でもがイメージどおりのアニメーションをインタラクティブに生成することができるアニメーション生成装置を提供することができる。
【００２６】
また、手本動作に対して実際の動作が遅れた場合であっても、正確なキャリブレーションを行うことができるアニメーション生成装置を提供することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態に係るアニメーション生成装置について図面を参照しながら説明する。
（実施の形態１）
利用者が手で道具を利用するなどある特定の動作を行う際には、すべての手指の運動を計測しなくても、より少ない数のパラメータで手指の状態を推定することができる。
【００２８】
そこで本実施の形態では、重回帰分析による状態推定を用いることで、少ない数のパラメータを用いてインタラクティブに手指の動作アニメーションを生成するアニメーション生成装置について述べる。本実施の形態で説明するアニメーション生成装置によって、骨格構造が異なる複数の利用者に対しても、厳密なキャリブレーションが不必要であり、あらかじめ決められた動作については、利用者がその手指動作を正しく行えるかどうかにかかわらず、だれでもイメージどおりの自然な手指動作アニメーションをインタラクティブに生成することができる。例として、本手法を仮想箸システム（詳細については、以下の参考文献１を参照。）に応用した結果について後述する。更に、本手法を複数の手指動作に拡張して利用するため、DPマッチングによる手形状認識を導入した結果についても後述する。
【００２９】
（参考文献１）  日下志友彦，北村喜文，正城敏博，岸野文郎, “手-道具-物体間のインタラクションを考慮した仮想箸による物体操作,” 電子情報通信学会論文誌(D-II), vol. J84-D-II, no. 3, pp. 519-528, March 2001.
図１は、本実施の形態に係るアニメーション生成装置の構成を示すブロック図である。
【００３０】
アニメーション生成装置１００は、ユーザの動きを獲得し、当該動きに対応するコンピュータアニメーションを生成する装置であり、モーションデータベース１０と、ディスプレイ２０と、重回帰式格納部３０と、キャリブレーション部４０と、アニメーション生成部５０と、センサ計測値入力部６０とを備えている。なお、これらの各処理部は、通常のコンピュータの記憶装置や、ＣＰＵ上で実行されるプログラムとして実現される。
【００３１】
モーションデータベース１０は、ある特定の動作を正しく実行している役者がその動作を一定周期で繰り返す間のモーションデータ系列を計測し、これを格納したデータベースである。
【００３２】
ディスプレイ２０は、アニメーションを表示するための装置であり、ＣＲＴ（Cathode-Ray Tube）ディスプレイやＬＣＤ（Liquid Crystal Display）などである。
【００３３】
重回帰式格納部３０は、後述する状態推定に用いられる重回帰式を格納する記憶装置である。
【００３４】
センサ計測値入力部６０は、ユーザに装着される手形状入力装置に備えられた各関節の曲げ角度を示すセンサ計測値を入力するための処理部である。
【００３５】
キャリブレーション部４０は、センサ計測値入力部６０より入力されたセンサ計測値に基づいて、後述する重回帰式を求めることにより、キャリブレーションを行う処理部である。
【００３６】
アニメーション生成部５０は、センサ計測値入力部６０より入力されたセンサ計測値および重回帰式に基づいて、モーションデータベース１０に格納されているモーションデータ系列に基づいて、アニメーションを生成し、ディスプレイ２０に表示する処理部である。
【００３７】
図２は、アニメーション生成装置１００によるアニメーション生成方法のフローチャートである。キャリブレーション部４０は、センサ計測値入力部６０より入力されたセンサ計測値に基づいて、後述する重回帰式を求めることにより、キャリブレーションを行う（Ｓ１０２）。次に、アニメーション生成部５０は、センサ計測値入力部６０より入力されたセンサ計測値および重回帰式に基づいて、モーションデータベース１０に格納されているモーションデータ系列に基づいて、アニメーションを生成し、ディスプレイ２０に表示する（Ｓ１０４）。
【００３８】
まず、アニメーション生成装置１００を構成する際の前提となる知見について説明する。
１．特定の動作中の指関節の曲げ角度の解析
一般に、手や指の動きは個々に取り上げれば複雑に見えるが、全体として見れば比較的単純であることが多い。道具を操作したり物体をつかんだり、ある特定の動作をアニメーションとして描画する際に、手指の状態は、すべての関節などのモーションデータを使わなくても、その動作を特徴づける少ない数のパラメータで再現することが可能であると考えられる。
【００３９】
これを箸操作を例に取り上げて考えてみる。2本の箸が独立に動くと考える場合は、1本当り6自由度の計12個のパラメータを決定する必要がある。また複数の関節曲げ角度センサをもつ手形状入力装置を使用すれば、それだけの数の計測データが得られる。手のモーションデータと箸の状態を再現するパラメータの関係を決定することは、一般的に難しいように思われる。しかし、箸の正しい使い方によれば、下側の箸は親指と人差し指により挟み込まれた1点と薬指の爪上の1点で固定され、上側の箸は、親指と人差し指により挟み込まれた1点を支点、中指の爪上の1点を力点として平面内で上下に動かすとなっている（詳細については、以下の参考文献２および３を参照。）。この関係を使えば、箸を開閉運動する際の手と箸の状態は、箸先間距離という一つのパラメータによって推定することができると考えられる。
【００４０】
（参考文献２）  James Cross Giblin, From hand to mouth, Harper Collins Publishers, 1987.
（参考文献３）  一色八郎, 箸の文化史, 5 章, 御茶の水書房, 東京, 1990.
そこで、本願発明者らは、被験者の手形状変化と箸の動きの関係を調べる実験を行った。箸の開閉を一定周期で繰り返すアニメーションをディスプレイ２０に提示し、それと同じ箸操作をすることを被験者に求めた。ディスプレイ２０上に表示されている箸の箸先間距離と、グローブ型手形状入力装置(CyberGlove; Immersion 社)（詳細については、以下の参考文献４を参照。）から得られる22個の被験者の指関節の曲げ角度から手首など箸操作に関係ないものを除いた19個について、被験者の箸操作が周期的になった後に、箸先が2回開閉する間（30Hzで100 時刻分）計測した。正しく箸が使えない人を含む10名の右利きの被験者と、日ごろ左手で箸を使用している左利きの被験者2名について、実際に箸を持った場合と持たない場合の2回ずつ測定した。また、左利きの被験者については、右手で箸を操作する場合について測定した。ここで、グローブ型手形状入力装置は、実験前に十分な時間をかけ、厳密なキャリブレーションを行っている。
【００４１】
（参考文献４）  G. Kessler, L. Hodgets, and Neff Walker, "Evaluation of the CyberGlove as a whole-hand input device," ACM Transactions on Computer-Human Interaction, vol. 2, no. 4, pp. 263-283, 1995.
被験者12人が箸を操作した際の各指の曲げ角度の平均分散値を図３に示す。横軸はセンサの種類を示しており、縦軸は、センサ計測値の分散値を示している。実際に箸を持っている場合には、人差し指と中指に関するセンサ計測値の分散値が大きくなっており、これらの指関節が特に箸操作運動に重要であることがわかる。また、箸を持たない場合には、実際に箸を持つ場合に比べて分散値が大きくなるセンサが増える傾向が見られる。これは、箸を持たない場合には、指の動きが増幅される場合があることを示している。
【００４２】
図４に、ある被験者の指の関節曲げ角度と箸先間距離との相関係数の絶対値を示す。横軸はセンサの種類を示しており、縦軸は、上記相関係数を示している。なお、箸先間距離とは、箸の開閉動作を行なった際の２本の端の先端間の距離を示す。図４によると、人差し指や中指に関する関節に、箸先間距離との相関係数の絶対値が0.8以上の高い値が見られる。これは、関節の曲げ角度と箸先間距離がおおよそ1次の関係にあることを示しており、これらの相関の高い関節の曲げ角度の値から、箸先間距離に代表される箸の状態を推測することが可能であると考えられる。更にこの事実は、ある動作を行う手指の状態を、高い相関係数を示す少数の手指モーションパラメータから推定可能であることを示唆している。
２．手の動作アニメーションの生成
次に、本実施の形態に係るアニメーション生成装置１００におけるアニメーションの生成方法について説明する。すなわち、ある動作を行う際の手の運動の状態を、手形状入力装置を用いて取得される多くのモーションパラメータから重回帰分析を用いて推定し、アニメーションとして表示する手法について述べる。
２．１．概要
本実施の形態で提案する手法は、利用者の各手指のモーションデータを、それに対応した手形状モデルの各部位に一対一に対応づけて動かすことによって、手指動作のアニメーションを生成しようとするものではない。そうする代わりに、ある動作を行う際に計測される各手指のモーションデータから利用者の手の運動の状態を推定し、その推定された状態をキーとして、その動作を正しく実行している役者のモーションデータ系列を格納したデータベースからモーションデータを取り出してアニメーションとして表示する。この方法では、動作はあらかじめ決められたものに限られるが、利用者がその動作を正しく実行できるかどうかにはかかわらず、その利用者がイメージしたどおりの手指の動作を直感的に再現することができる。
【００４３】
手形状入力装置を用いて取得される多くのモーションパラメータから手の形状を認識・推定しようとする研究には、ニューラルネットワークを用いて仮想環境内で物体を操作しようとする研究（例えば、参考文献５参照。）や、隠れマルコフモデル(HMM)を用いて動作を学習しようとする研究（例えば、参考文献６参照。）などがあるが、高い認識率を得るには学習に時間がかかってしまう。そこで本願発明者らは、重回帰分析を用いて手の運動の状態を推定することにする。この方法では、重回帰式を得るのに計算量は多くかからず、少数のデータで動作を表現することができる。
【００４４】
重回帰分析は、説明変数x1,x2,…と目的変数yの関係を式（１）のように表すものであり（例えば、参考文献７参照。）、各モーションパラメータを説明変数、タスクを行う際の手の状態を決定する値を目的変数とする。a1,a2,...,bは偏回帰係数である。
【００４５】
y=a1・x1+a2・x2+…+b                                                （１）
あるあらかじめ決められた単一の手指動作に関しては、その動作について、事前に重回帰式を求めておくことにより、自然な手指動作アニメーションをインタラクティブに生成することができる。この方法を複数の手指動作の組合せに拡張するためには、あらかじめ決められた複数の動作の中から、利用者の手指動作を実行中に認識して生成する手指動作アニメーションを切り換える必要がある。この目的のため、本研究では、DPマッチングを用いて手指動作を認識する。
【００４６】
（参考文献５）  H. Nishino, K. Utsumiya, D. Kuraoka, and K. Yoshioka, "Interactive two-handed gesture interface in 3D virtual environments," Proc. ACM Virtual Reality Software and Technology, pp. 1?8, 1997.
（参考文献６）  M. Brand and A. Hertzmann, "Style machines,"Computer Graphics Annual Conference Series (SIGGRAPH 2000 Conference Proceedings), pp. 183-192, 2000.
（参考文献７）  奥野忠一, 久米均, 芳賀敏郎, 吉澤正, 多変量解析法, pp.128-157 日科技連, 東京, 1971.
２．２．手指の状態推定によるアニメーション生成
次に、手指の状態推定によるアニメーション生成の手順について述べる。
【００４７】
図５は、キャリブレーション処理（図２のＳ１０２）の詳細を説明するフローチャートである。
【００４８】
まず、ある特定の動作を正しく実行している役者がその動作を一定周期で繰り返す間のモーションデータ系列を計測し、これを格納したモーションデータベース１０を作成する。そして、キャリブレーション部４０は、このデータ系列をアニメーションとしてディスプレイ２０に表示し、利用者がこれを真似て手指を動かす間の各手指のモーションデータを取得する（Ｓ２）。次に、キャリブレーション部４０は、重回帰分析によって、その動作を特徴づける少ない数のパラメータで動作を再現することができる重回帰式を得る（Ｓ６、Ｓ８）。
【００４９】
そして、アニメーション生成部５０は、得られた重回帰式に、センサ計測値入力部６０より入力された実行時のモーションデータを代入することによって手の状態を推定し、その推定された状態をキーとして、その動作を正しく実行している役者のモーションデータ系列を格納したモーションデータベース１０からモーションデータを取り出し、このデータを使用してアニメーションを生成する（図２のＳ１０４）。
【００５０】
次節では、これらのうち、重回帰分析による状態推定の手順（Ｓ６およびＳ８）について詳しく説明する。
２．３．重回帰分析による状態推定
重回帰分析の結果として、仮に相関係数の高い説明変数ばかりを選択して重回帰式に使用した場合、式が不安定になってしまうという問題があるため、慎重に説明変数を選んで手指の状態を推定する必要がある。また、本手法ではインタラクティブなユーザインタフェースでの利用を目指すため、手動で説明変数と係数を取捨選択しながら重回帰式を作成するのではなく、自動的に重回帰式を得るアルゴリズムを考える。
【００５１】
キャリブレーション部４０は、重回帰式を利用者ごとに作成する。モーションデータベース１０から取り出されてディスプレイ２０に表示された特定の動作を一定周期で繰り返すアニメーションを、各利用者が真似て手指を動かす間のモーションデータから（図５のＳ２）、重回帰式に用いる最適な説明変数を次に示す手順で選択する。
【００５２】
図６は、変数の事前選択処理（図５のＳ６）のフローチャートである。
（１）キャリブレーション部４０は、動作に関係のない説明変数を除外する（Ｓ２２）。箸操作の例では22個のモーションデータから手首のデータは除外される。
（２）キャリブレーション部４０は、重回帰式の決定係数R2が小さい説明変数を除外する（Ｓ２４、Ｓ２６）。これは、R2の値が小さな変数はシステムを不安定なものにする可能性があるためである。ここではR2<6となる変数を除外することにする。
（３）キャリブレーション部４０は、分散値の小さな説明変数を除外する（Ｓ２４、Ｓ２６）。これは曲げの変化量が小さな指関節は、利用者が意識せずに動かしているものが多いためである。ここでは分散値が0.5以下のものは除外することにする。
（４）（１）〜（３）で残った説明変数の組についてステップワイズ法を適用する（図５のＳ８）。
【００５３】
（４）で利用したステップワイズ法は、逐次的に説明変数を選ぶ最も一般的な変数選択法であるが、本アニメーション生成装置１００においては、例えば、単相関係数と偏回帰係数の符号が異なる説明変数を除去するといった拡張を加えた方法を用いる。これは、目的変数との間に正(または負)の相関があるにもかかわらず、負(または正)の偏回帰係数をもった重回帰式を得た場合には、利用者の意図する動作と、逆の動作をして利用者を混乱させてしまうことがあるためである。また、変数の取込みと棄却の判断基準となるF値のしきい値(Fin，Fout)については一般的に固定値をとることが多く、状況に応じて設定する必要があるが、本システムでは結果として2〜4の説明変数を選び出すことが多いFin=Fout=3.0を採用する。説明変数の個数は、多すぎるとシステムが複雑になり、また、一つではその関節に依存しすぎたシステムになってしまうため、2〜4個を選び出すことがよいと考える。なお、ステップワイズ法による重回帰分析処理（図５のＳ８）については、実施の形態２で詳細に説明する。
２．４．DPマッチングによる複数動作の認識
前節までで述べた重回帰分析による状態推定を用いたアニメーションの生成方法により、あらかじめ決められた単一の動作については、だれでもイメージどおりの自然な手指動作アニメーションをインタラクティブに生成することができる。本節では、この方法を用いて複数の自然な手指動作アニメーションを生成するため、DPマッチングを用いて手動作を認識して生成する動作を切り換える方法について述べる。まず２．２節で説明したのと同様に、いくつかの手指動作のそれぞれに関して、それらの動作を正しく実行している役者がその動作を一定周期で繰り返す間のモーションデータ系列を計測し、これらを格納したモーションデータベース１０を作成する。そして、キャリブレーション部４０は、各手指動作に対して重回帰式を前節の手順で求めておき、実行時には、アニメーション生成部５０は、利用者の手指の動きからDPマッチングによってその動きに最も近い動作を選択し、その動作における重回帰式を用いてインタラクティブに手指動作アニメーションを生成する。
【００５４】
本研究では、DPマッチングの中でも、効率良く入力データと参照パターンとのマッチングが可能になるように、次の手順のOne Pass DPマッチング法（例えば、下記参考文献８参照。）を利用する。データベースに登録してある動作の数をNとし、そのうちのn番目の動作に注目しているとする。各動作は、その開始から終了までの時系列をJ個に分割して格納されているとする。参照パターンを
【００５５】
【数１】
2006209445.tif 000003
とし、時刻iにおける入力データをAiとする。ここで、参照パターンと入力データは、ともに要素数が手形状入力装置のセンサ数と同数のベクトルである。n番目の動作において、次の漸化式から入力データと参照パターンとの累積距離Dを求める。ただし、dはAiとbjnとの距離、gはAiとbjnまでの累積距離とする。
【００５６】
【数２】
2006209445.tif 000004
これを1〜Nまでの動作について行い、最も累積距離Dの小さいものを、その時刻iにおける最適な動作とする。最後に、認識された動作の重回帰式から手の状態を推定し、アニメーションとして表示させる。
【００５７】
（参考文献８）  中川聖, パターン情報処理, 7章，丸善，1999.
３．手指動作アニメーションの表示例
次に、重回帰分析を用いてインタラクティブに、利用者のイメージどおりのアニメーションが生成される様子について述べる。箸を操作する場合について考えると、１節で述べたように、箸を操作する際の手と箸の状態は、箸先間距離によって決定することができる。そこで、箸先間距離を目的変数にして、前章で述べた方法によって作成する重回帰式が正しく自然な箸操作アニメーションを作成できるかどうかを実験によって確認する。
【００５８】
まず、正しく箸を使うことのできる人が箸を開閉操作をする際の各関節曲げ角度を計測し、箸先間距離が0cmから10cmまで0.2cm間隔で50段階分に対応する手形状の各関節曲げ角度をデータベースとして保存しておく。このデータを連続的に取り出してディスプレイ２０に表示することにより、箸を連続的に開閉するアニメーションを生成して利用者に提示する。利用者は提示されたアニメーションとタイミングを合わせて同じ箸の動きを22センサのCyberGloveを装着して行い、2回箸先を開閉する間の100時刻分のデータを取得する。そして、A〜Dの4人の被験者に対してそれぞれ重回帰分析を行った結果、選択された説明変数の例を表1に示す。
【００５９】
【表１】
2006209445.tif 000005
表に示すように、人差し指や中指、薬指に関連する2〜4個の指関節の曲げを説明変数として選んでいることがわかる。また、得られた重回帰式に対する決定係数R2については、0.83〜0.96の高い値を得ていることもわかる。
【００６０】
一般に、グローブ型手形状入力装置を用いたインタラクティブシステムにおいて、各関節のセンサ出力値と曲げ角度の関係を明確にする必要があるため、厳密なキャリブレーションを繰り返し行なう必要がある。実際、従来の仮想箸システム（参考文献１参照。）においては、CyberGloveの22個のすべてのセンサを一つずつキャリブレーションをするのに、各利用者ごとに約5〜10分かかっていた。しかし、上の実験では、どの被験者においてもモーションデータの取得と重回帰分析にかかる時間は1分以内で終えることができ、キャリブレーションに要する時間と手間の軽減が図られたといえる。
【００６１】
もし、従来の仮想箸システムにおいて、これらのキャリブレーションを行わなければ、図７（ａ）〜図７（ｃ）のように、実際の利用者の手の動きとは異なった不自然な箸の動作が表現されてしまうことがあった。また、手形状入力装置のキャリブレーションが正しくできていたとしても、実際の利用者の手の骨格構造とアニメーション生成のために用意された手形状モデルの骨格構造が異なっている場合には、利用者の実際の動作とは異なるアニメーションが生成されてしまうこともあった。ところが、本願で提案した重回帰分析による状態推定を利用すれば、相関が高く分散値の大きい説明変数を短時間で選択することができ、更に、図８（ａ）および図８（ｂ）のように、自然で、利用者がイメージするような箸操作アニメーションが生成することができた。
【００６２】
図９Ａおよび図９Ｂは、ヴィーナス像に手を近づけて頭に触れる動作における2種類のコンピュータアニメーションを示し、時間は左から右（図９Ａ（ａ）から図９Ａ（ｅ）または図９Ｂ（ａ）から図９Ｂ（ｅ））へ順に進行するものとする。この例では、位置方向センサであるFastrak(Polhemus社)を手形状入力装置に装着し、タスクの状態を特徴付ける値としてヴィーナス像と手との間の距離を目的変数として用いた。
【００６３】
図９Ａは、重回帰分析を用いず、手形状入力装置と位置方向センサのキャリブレーションが不十分な場合のアニメーションである。この例では、ユーザの手がヴィーナス像に近づく間、いくつかの指が利用者の実際の指の動きとは異なった曲がり方をしている。更に、図１０（ａ）のように利用者がヴィーナス像に触れているにもかかわらず、仮想の手がヴィーナス像にめり込んでしまうようなアニメーションが生成されることがある。
【００６４】
しかし、重回帰分析による手の状態推定を利用することにより、図９Ｂと図１０（ｂ）のように、ヴィーナス像にめり込むことのない自然なアニメーションが生成された。ここで、手形状入力装置CyberGloveで取得される22個のすべての指関節曲げ角度と位置方向センサで取得される6個の合計28個のパラメータを用いて重回帰分析を行った。なお、動作の種類に応じてパラメータを分類・整理してあらかじめ候補を減らすことも考えられるが、ここでは一般化を期すため、28個のパラメータ全てを候補とした。
【００６５】
図１１Ａおよび図１１Ｂに他の例を示す。図１１Ａ（ａ）から図１１Ａ（ｅ）の順に、また図１１Ｂ（ａ）から図１１Ｂ（ｅ）の順に時間が進行しているものとする。右手と左手の両方に位置方向センサであるFastrak(Polhemus社)を付加した手形状入力装置を装着し、タスクの状態を特徴づける値として両手との間の距離を目的変数として用いた。図１１Ａは、重回帰分析を用いず、手形状入力装置と位置方向センサのキャリブレーションが不十分な場合のアニメーションである。この図では、利用者は両手の指を絡ませながら組んでいるにもかかわらず、お互いの手指がめり込んだアニメーションが描画されている。しかし、重回帰分析による手の状態を推定することで、図１１Ｂのように両手が互いに入り込まないアニメーションを生成することができた。図１２（ａ）および図１２（ｂ）は、図１１Ａおよび図１１Ｂと同じ動作をそれぞれ異なった視点から見た例である。なお、本章における実験で、手形状入力装置と位置方向センサの制御、重回帰式の計算、アニメーションの描画には、Onyx 2(Silicon Graphics社）を用いた。
４．複数の動作の認識
次に、ＤＰマッチングの実験結果について説明する。あらかじめ登録された複数の手指動作を、インタラクティブな一連の手指動作の中で、DPマッチングを用いて認識し、その結果として得られた動作の重回帰式から手の状態を推定し、アニメーションを切り換えて生成する方法について、手の各指を順に曲げ伸ばしする図１３のような10種の動作を対象として、認識実験を行った。被験者は指示された手指動作を順に行い、1つの動作の時間は6秒間で、3試行ずつ行った。手指動作の順序は、gesture0から9までを順に、続いてgesture9から0へ順に、そしてgesture0,3,6,9,1,4,7,2,5,8とする。動作の途中で次の動作に移ることもある。タスクの状態を特徴づける値として、これらの例では、例えばgesture1では親指と人差し指の先端の距離など、それぞれ曲げる指先間の距離を目的変数として用いた。
【００６６】
E〜Hの4人の大学院生を被験者とした結果を表2に示す。
【００６７】
【表２】
2006209445.tif 000006
ここで、毎時刻ごとの被験者の入力手形と認識結果の正誤をもとに計算した認識率と、この正誤を一つの動作の継続時間内にわたって多数決によって決めた認識率を分けて表示する。また、ある被験者（Ｆ）の手指動作の認識の様子を時系列的に表したグラフを図１４に示す。横軸に被験者の実際の手指動作の番号、縦軸に認識結果の番号を示す。
【００６８】
図１４を見ると、認識結果がやや不安定となり、複数の手指動作に交互に認識されている場合がある。例えば、gesture1の試行の際に、gesture1と4が交互に認識されている。これは、gesture1と4が同じ手指の形を含んでいるため、被験者の動作中のその瞬間の1時刻だけを見れば、いずれも正解であるといえるからであると考えられる。同様の結果は、gesture6と7の間などでも見られる。また、被験者が動作を切り換えた直後にも認識が不安定になる傾向があり、これが表2の毎時刻の認識率の低下につながっている。これは、動作の切り換え時には、あらかじめ定めた動作のどれにも属さない手形状が、数時刻の間、現れてしまうことがあるためであると考えられる。これらの点に関して認識率を向上させるためには、一つの動作は比較的長い時間継続するものであるという仮定をおいて、毎時刻の認識結果にヒステリシスをもたせることも考えられる。しかし、反面、動作が実際に切り換えられたときの認識結果の追従が遅れるという問題も生じてしまう。
【００６９】
次に、各被験者の一連の動作としての認識率について見てみると、被験者GとHの認識率が90%とやや低くなっている。これは、gesture8を行なっている間に9が認識されていることがあったためであるが、その原因としては、gesture8と9が同じ手形状を含むことに加え、これらの被験者は、薬指を動かすのと同時に小指が自分の意志とは無関係に動いてしまうことがあるためと考えられる。
【００７０】
なお、登録する動作の数Nと動作時系列の分割数Jが描画速度に及ぼす影響について、J= [5,10,25,75]とN= [5,10,15,20,25,30]のそれぞれについて描画速度を測定したところ、どの場合も30[frame/s]であった。
【００７１】
以上説明したように、本実施の形態によると、重回帰分析による状態推定を用いることで、すべての多自由度の手指曲げ角度データを用いるのではなく、少ない自由度でインタラクティブに手動作アニメーションを生成することができる。
【００７２】
また、この手法を用いることで骨格構造が異なるユーザに対しても厳密なキャリブレーションが不必要であり、手指の状態や箸の状態は短時間で再現でき、ユーザの骨格構造とアニメーション生成のためのモデルが異なる場合も、正しくアニメーションが生成される。
【００７３】
さらに、本手法を複数の手指動作に拡張して利用するため、DPマッチングによる手形状認識にも適用が可能である。
【００７４】
重回帰分析を利用した提案手法を仮想箸システム（参考文献１参照。）に応用し、利用者の動作イメージを反映した自然な仮想物体操作インタフェースが実現した例と実験結果については、以下の参考文献１４に詳しく開示されている。
【００７５】
（参考文献９）  Y. Kitamura, T. Higashi, T. Iida, and F. Kishino, "Interactive Computer Animation of Hand Gestures using Status Estimation with Multiple Regression Analysis," Computer Graphics Forum, vol. 20, no. 3 (Proc. Eurographics 2001), pp. 251-259, 2001.
【００７６】
（実施の形態２）
次に、本発明の実施の形態２に係るアニメーション生成装置について説明する。
【００７７】
本実施の形態に係るアニメーション生成装置は、図１に示した実施の形態１に示したアニメーション生成装置１００と同様の構成を有する。ただし、キャリブレーション部４０が実行するキャリブレーションの方法（図２のＳ１０２）が一部異なる。本実施の形態に係るキャリブレーション部４０は、実施の形態１に係るキャリブレーション部４０での処理に加え、キャリブレーション時のユーザの動作の遅れを補正する処理が加えられている。
【００７８】
本実施の形態では、仮想環境内にソフトウェア的に実現された道具（例えば、実施の形態１で説明した仮想箸）を仮想道具と呼ぶ。仮想道具は一般に手形状入力装置などを介して操作されるが、これらの装置の状態と仮想道具の状態をどのように対応づけるかが課題となる。これに対して、本願発明者らは重回帰分析を用いて仮想道具の状態推定を行う手法を実施の形態１において説明した。しかし、ユーザによっては手本動作に対する真似動作の遅延が大きく、対応づけが十分にとれないことがあった。本実施の形態では、この問題を解決し、仮想道具の操作感を向上させるため、ユーザの真似動作の遅延を考慮した上で重回帰分析を実行する手法を提案する。
【００７９】
１．はじめに
我々は、日常生活の中で様々な道具を工夫しながら使用している。人が新しい道具を使いこなせるようになるためには、その道具についての内部モデルを獲得する必要があるといわれているが、最近の脳科学の研究によれば、この内部モデルは、小脳の中の系統発生的に比較的新しい部分に構築されるとの実験結果が示され、その詳しい認知科学的メカニズムの解明が期待されている（参考文献１０参照。）。
【００８０】
最近は、道具の概念を導入したユーザインタフェースの例も多い（参考文献１１〜１４参照。）。道具を提示することによってユーザに特定の機能を連想させ、目前の様々な種類の情報の処理方法を的確に選択させようという考え方である。このような場合、実際に道具を製作するのではなく、道具を仮想化することで、様々な種類の道具をグローブ型手形状入力装置などの比較的標準的なデバイスを用いて実装することができる。その結果、道具のパラメータをソフトウェア的に変更することが容易となり、実世界に存在しないような新奇な道具も含めて、バリエーションに富んだ道具の操作性などを幅広く試すこともできる。
【００８１】
このように、道具はユーザインタフェース的にも認知科学的にも興味深い対象であり、新しい道具の使い方を学習する際に観察される観察される学習曲線とその間の脳活動の変化を比較した例（参考文献１４参照。）もある。本実施の形態では、仮想道具を実現する際の要素技術の一つであるキャリブレーションについて、実施の形態１で説明した手法を改良した手法について述べる。
【００８２】
（参考文献１０）  今水寛，“運動学習と道具の使用，” 認知科学の新展開−3運動と言語，第1章，岩波書店，東京，2001.
（参考文献１１）  舟橋健司，安田孝美，横井茂樹，鳥脇純一郎，“仮想空間における仮想手による道具操作のための知識とモデル，” 日本バーチャルリアリティ学会論文誌，vol.3，no.3，pp.167-176，1998.
（参考文献１２）  野口博和，安田孝美，横井茂樹，鳥脇純一郎，“仮想空間でのハサミによる切断操作のモデルと実現，” 情報処理学会論文誌，vol.39，no.12，pp.3304?3314，1998.
（参考文献１３）  日下志友彦，北村喜文，正城敏博，岸野文郎，“物体間のインタラクションを考慮した仮想箸による物体操作，” 信学論（D-II），vol.J84-D-II，no.3，pp.519-528，March  2001.
（参考文献１４）  池田洋一，木村朝子，佐藤宏介，“道具の持つアフォーダンスを利用した触覚フィードバックデバイス，” 日本バーチャルリアリティ学会論文誌，vol.7，no.3，pp.339-346，2002.
【００８３】
２．仮想道具の実現
仮想道具を実現するため、一般的な手形状入力装置を用いて、ユーザが道具を操作する際の手指の動きを計測し、利用することにする。ここで、計測されたユーザの各関節の曲げ角度を手形状モデルの各関節に一対一に対応づけることによって手指動作を生成すると、用意されている手形状モデルと実際のユーザの手形状の骨格構造の差異や曲げ角度センサの個体差などのため、仮想空間での箸の動きは、一般に、ユーザの手指の動作を忠実に反映したものにはならない。そのため、ユーザがイメージする動作とシステムの振る舞いは一致しなくなり、ユーザインタフェースとして利用する際に使いづらいものなってしまう傾向があった。さらに、手形状入力装置が詳細な手形状を取得できるものであればあるほど、多くのセンサを持つために装置のキャリブレーションが面倒になるという問題もあった。
【００８４】
そこで本願発明者らは、ユーザの手指動作と仮想空間での道具の動作を重回帰式を用いて関連づける方法を実施の形態１で説明した。これは、式（５）に示すように、仮想道具の状態yをユーザの手形状xの関数として表し、yを最もよく表すAとbを重回帰分析によって求めるものである。
【００８５】
y=A・x+B                                                            （５）
ここで、ユーザの手形状がn次元ベクトルｘ、仮想道具の状態がm次元ベクトルｙで表されるものとすると、Aはm行n列の行列、Bはm次元ベクトルである。単純な道具では道具の状態がただ1つの変数で表現されることも多いが、この場合、式（５）は、
y=a・x+b                                                            （６）
と簡単に表すことができる。ここで、ａはｎ次元ベクトルであり、ｙおよびｂはスカラー量である。ユーザの手形状が多くの変数によって表現される場合は、すべての変数を含めると重回帰式が不安定になることがあるため、変数選択によって適当な個数の変数による重回帰式を自動的に作成する。
【００８６】
本手法では、ユーザが実際に正しく実際の道具を操作できるか否かにかかわらず、自分が正しく道具を操作しているイメージで手指運動をすれば、その動きが仮想空間の道具の動作に対応づけられる。また、骨格構造が異なるユーザに対しても装置自体を厳密にキャリブレーションする必要がないため、誰でも簡単に仮想道具を利用できるようになる。
【００８７】
３．重回帰分析による仮想道具のキャリブレーション
次に、重回帰分析を用いた仮想道具のキャリブレーション手順について説明する。
【００８８】
図１５は、図１に示したキャリブレーション部４０を詳細に説明した図である。キャリブレーション部４０は、データセット作成部４１と、ユーザ動作遅延補正部４２と、データフィルタリング部４３と、独立変数選択部４４と、重回帰分析部４５とを備えている。
【００８９】
３節では、ユーザ動作遅延補正部４２を除くそれぞれの処理部について説明する。
３．１．データセット作成部４１
データセット作成部４１は、モーションキャプチャ装置の状態と仮想道具の状態との対応関係を収集する処理部である。データセット作成部４１は、仮想道具が自動的に動作しているアニメーションをディスプレイ２０を介してユーザに提示する。これを手本動作（model animation）と呼ぶ。ユーザには適当なモーションキャプチャ装置を装着してもらい、手本動作と同じ動作をするように求める。データセット作成部４１は、キャリブレーション継続時間（duration）の間、手本動作の状態yと、必要に応じて変数変換を施したモーションキャプチャ装置の状態xとを一定の周期（sampling rate）でサンプリングして記録する。キャリブレーション継続時間はあらかじめ静的に与えるか、または動的に変化させる。
【００９０】
３．２．データフィルタリング部４３
データフィルタリング部４３は、データセット作成部４１で収集され、後述するユーザ動作遅延補正部４２で補正された対応関係のうち重回帰分析に不適切なものを除去する処理部である。ここで用いられるデータ間引きアルゴリズム（data filtering method）は、手本動作の特性などを考慮の上、仮想道具の実装者があらかじめ与える。ここで行われる操作をデータの間引きと呼ぶ。
【００９１】
３．３．独立変数選択部４４
独立変数選択部４４は、必要に応じて変数選択を行う処理部である。ここで用いられる変数選択アルゴリズム（variable filtering method）は、道具の特性を考慮の上、仮想道具の実装者があらかじめ与える。なお、変数選択アルゴリズムの詳細は、図６を参照して説明した実施の形態１に係る変数の事前選択処理と同様である。このため、その詳細な説明はここでは繰り返さない。
３．４．重回帰分析部４５
重回帰分析部４５は、yを最もよく表現するy=f(x)=A・x+bを、ステップワイズ法による変数選択を伴った重回帰分析によって求める処理部である。ステップワイズ法における変数選択の閾値（variable selection threshold）は、一般的にはPin=Pout=0.05が用いられるが、必要に応じて異なる値を用いてもよい。
【００９２】
図１６は、キャリブレーション部４０によるキャリブレーション処理の詳細なフローチャートである。
【００９３】
データセット作成部４１が実行する対応関係の収集処理（Ｓ２）、データフィルタリング部４３および独立変数選択部４４が実行する変数の事前選択処理（Ｓ６）および重回帰分析部４５が実行するステップワイズ法による重回帰分析処理（Ｓ８）は、実施の形態１に示したものと同様である。本実施の形態では、実施の形態１と異なりユーザ動作遅延補正部４２によるユーザの真似動作の遅延補正処理（Ｓ４）が加わっている。この処理については、後述する。
【００９４】
図１７は、ステップワイズ法による重回帰分析処理（Ｓ８）を詳細に説明したフローチャートである。
【００９５】
重回帰分析部４５は、現在の重回帰式ｙ＝ｆ（ｘ）に含まれていないモーションパラメータに対応する説明変数（以下、適宜「独立変数」という。）の各々について、当該変数を追加して重回帰分析を行った際、偏回帰係数のＰ値が最小となる変数Ｘを選択する（Ｓ３２）。
【００９６】
重回帰分析部４５は、変数Ｘの偏回帰係数のＰ値が所定のしきい値Pin未満であるか否かを判断し（Ｓ３４）、この条件を満たす場合には（Ｓ３４でＹＥＳ）、現在の重回帰式に変数Ｘを加えて、重回帰式を更新する（Ｓ３６）。
【００９７】
次に、重回帰分析部４５は、現在の重回帰式に含まれている独立変数の各々について、当該変数の偏回帰係数のＰ値が最大となる変数Ｙを選択する（Ｓ３８）。
【００９８】
重回帰分析部４５は、変数Ｙの偏回帰係数のＰ値が所定のしきい値Poutよりも大きいか否かを判断し（Ｓ４０）、この条件を満たす場合には（Ｓ４０でＹＥＳ）、現在の重回帰式から変数Ｙを除いて、重回帰式を更新する（Ｓ４２）。
【００９９】
重回帰分析部４５は、Ｓ３６またはＳ４２において重回帰式の更新が行われたか否かを判断し（Ｓ４４）、重回帰式の更新が行われていれば（Ｓ４４でＹＥＳ）、Ｓ３２以降の処理を繰り返す。重回帰式の更新が行われていなければ（Ｓ４４でＮＯ）、現在の重回帰式をステップワイズ法により求めた重回帰式とし、処理を終了する。なお、実施の形態１の説明では、Ｐ値の変わりに、Ｆ値を用いているが、Ｐ値による変数の選択および除去とＦ値による変数の選択および除去とは、ほぼ等価である。
【０１００】
以上が重回帰分析を用いた仮想道具のキャリブレーションの手順である。これらの手順を完了した後は、モーションキャプチャ装置からの入力に関数fを適用するだけで、即座に仮想道具の状態を得ることができるようになる。本手法は多くの場合問題なく動作するが、一部、問題点もある。次章では本手法の問題点を明らかにした上で、これを改善する手法について説明する。
【０１０１】
４．ユーザの動作遅延を考慮した重回帰分析による仮想道具のキャリブレーション
図１８は、あるユーザがある手形状入力装置を用いて仮想箸のキャリブレーションを行った際の、手本動作の箸先間距離（点線）とユーザの真似動作を代表するものとして人差し指の曲げ角度（実線）を同一の時間軸に表示したグラフである。このユーザの場合、ユーザの指の動作が手本動作に対しておよそ60ms遅延していることが分かる。このように、一般に、手本動作に対してそれを真似するユーザの動作は遅延するため、キャリブレーション中のある時刻tにおけるモーションキャプチャ装置の状態x(t)は、同時刻にシステムが提示していた仮想道具の状態y(t)を意図したものではないと考えられる。ところが、実施の形態１に示した手法では、（x(t),y(t)）を1つの観測値と見なして重回帰分析を行っていたため、遅延が大きいユーザに対しては適切な重回帰式が生成できず、仮想道具の操作感が損なわれることがあった。本章では、手本動作とユーザの真似動作の時間軸方向のずれを補正することによって、ユーザの意図をより忠実に反映したキャリブレーションを行う手法について説明する。
【０１０２】
４．１．提案手法の概要
提案手法では、上述したようにキャリブレーション部４０内にユーザ動作遅延補正部４２を設けることにより、ユーザの動作遅延を補正するものである。
【０１０３】
以下、４．２節で、実装者がアニメーション生成装置１００に対して静的に与えるパラメータである手本動作と動作特徴点について、これらを設定する際に配慮すべき点について述べる。続いて４．３節で、ユーザ動作遅延補正部４２の処理内容について述べる。
【０１０４】
４．２．手本動作と動作特徴点の設定
手本動作とユーザの真似動作の時間軸のずれを検出するために、一連の動作を複数の部分動作に分ける点を「動作特徴点」と呼ぶことにする。手本動作および動作特徴点は、後でキャリブレーション時にユーザが入力したモーションデータ系列から対応する動作特徴点を検索する必要があるため、この検索アルゴリズムが高精度に動作することが期待できるようなものを設定する。具体的には、手本動作については、容易に識別可能な動作特徴点を持ち、短時間で完結する単純な動作単位を周期的に繰り返すものとするのが実装上都合がよい。動作特徴点については、道具の状態がスカラー量で表される場合には、状態の時間変化率の正負が反転する点や急激に変化する点（時間変化率の変化率が所定のしきい値を越える点）とする方法がある。また、道具の状態がベクトル量である場合には、曲率の変化を動作特徴点を選択する基準とする方法や、ベクトルの要素をそれぞれ別なスカラー量として、要素ごとに動作特徴点を定義する方法が考えられる。定義した動作特徴点は、時刻の早い方から順にFM1,FM2,...,FMnと名づける。
【０１０５】
４．３．ユーザ動作遅延補正部４２
ユーザ動作遅延補正部４２は、ユーザの動作遅延を検出し、補正する処理部である。
【０１０６】
図１９は、ユーザ動作遅延補正部４２が実行する処理のフローチャートである。
ユーザ動作遅延補正部４２は、データセット作成部４１で収集されたユーザの真似動作のモーションデータ系列に対して、手本動作の動作特徴点と対応するデータを探索する。この探索は、仮想道具の実装者があらかじめ定めたアルゴリズムによる。FM1,FM2,...,FMnに対応する探索された真似動作中の特徴点を、それぞれFU1,FU2,...,FUnとする（Ｓ１２）。
【０１０７】
ユーザ動作遅延補正部４２は、時間軸をn個の手本動作の動作特徴点FMi(1<=i<=n)で区切ることにより、(n-1)個の有限区間を得る。同様に、真似動作の動作特徴点FUi(1<=i<=n)で時間軸を区切ることにより、(n-1)個の有限区間を得る。ユーザ動作遅延補正部４２は、すべての対応する有限区間の組に対して式（７）を用い、手本動作の時間軸を真似動作の時間軸に一致させる（Ｓ１４）。ここで、動作特徴点の名前はその動作特徴点の時刻も表すものとする。
【０１０８】
【数３】
2006209445.tif 000007
ここで、真似動作を手本動作に一致させるのではなく、手本動作を真似動作に一致させる理由は2つある。一つは、一般に手本動作はスカラー量または低次元のベクトル量であるのに対し、真似動作は多次元のベクトルであるため、計算量の観点から後者の方が有利だからである。もう一つは、手本動作を時間の関数で定めておけば、y(t')の値を容易に得られるからである。もし真似動作を手本動作に一致させるとすれば、xopt(t)に設定すべき値は観測されているとは限らず、直前および直後の観測値の線形補間等に頼らなければならない。
【０１０９】
以上の手順を経た後、重回帰分析部４５は、観測値として（x(t),y(t)）の代わりに（x(t),yopt(t)）を用いて重回帰分析を行う（図１６のＳ８、図１７）。
【０１１０】
５．評価実験
本実施の形態で提案した手法の有効性を検証するため、評価実験を行った。実験に用いた環境は図２０のようなものである。仮想道具として仮想箸を用い、モーションキャプチャ装置（手形状入力装置）としてP5（Essential Reality 社）を用いる。本装置は右手用である。今回の実験は仮想箸の開閉操作のキャリブレーションに関するものであるため、ポジショントラッカは使用せず、仮想箸の表示位置は固定としている。ディスプレイ２０には一般的な15インチの液晶ディスプレイを用いる。
【０１１１】
評価指標として、客観的なものとしては、実施の形態１に示した手法と本実施の形態に示した手法とのそれぞれで生成された重回帰式の自由度調整済み決定係数を比較し、実施の形態２に示した手法の方が有意に優れているかどうかを調査した。主観的なものとしては、被験者に対して仮想箸の操作感についてのアンケートを取り、本実施の形態に示した手法により操作感が向上したかを調査した。
【０１１２】
被験者は21〜27歳の大学生および大学院生合計7名で、全員男子かつ右利きである。
【０１１３】
５．１．仮想箸のキャリブレーション
以下の要領で本実験で用いる仮想箸のキャリブレーションを行う。
５．１．１．仮想箸の状態表現
仮想箸の状態は、図２１のように定義された箸先間距離で表現する。箸先間距離は、箸が最も大きく開いた状態のとき1、完全に閉じた状態のときを0とし、その間の値は実際の箸先間距離に比例する値とする。箸先間距離はスカラー量であるため、上述の式（６）が利用できる。
【０１１４】
５．１．２．モーションキャプチャ装置P5の状態表現
P5は手の各指に対応した5つの曲げ角度センサを持っている。曲げ角度の計測結果は各指について0以上63以下の整数で出力され、合計5変数である。なお、0は指が最大限に伸ばされている状態、63は最大限に曲げられている状態を表す。今回はこれらの変数をそのまま用い、変数変換は行わない。つまり、モーションキャプチャ装置の状態は、尾親指から小指までの５つの曲げ角度を示す変数の組x=(xthumb,...,xpinky)と表される。
５．１．３．手本動作
手本動作は、箸先間距離yの時間変化が式（８）で与えられるもので、図２２に示すような半正弦波状の周期的な動作である。
【０１１５】
【数４】
2006209445.tif 000008
【０１１６】
５．１．４．手本動作の動作特徴点
手本動作の動作特徴点（point of interest in the model animation）は、図２２のように設定する。これらは、手本動作の各動作周期において、仮想箸が静止状態から動作状態に移行する点、開く動作から閉じる動作に移行する点、動作状態から静止状態に移行する点である。
【０１１７】
５．１．５．サンプリングレートとキャリブレーション継続時間
サンプリングレートは50Hzとする。すなわち、箸先間距離とユーザの手形状は20msおきにサンプリングされる。キャリブレーション継続時間は静的に与え、10秒間としている。
【０１１８】
５．１．６．ユーザが入力した動作の動作特徴点の検索アルゴリズム
xに含まれる変数の中で最も変動が大きい変数を求め、これをxvmと表す。ある時刻tにおけるユーザの動作速度vuを式（９）で定める。
【０１１９】
【数５】
2006209445.tif 000009
ユーザの手指が動作状態か否かを識別する閾値をvthとして、|vu|<=vthから|vu|>vthに変化する点、vuの符号が反転する点、|vu|>vthから|vu|<=vthに変化する点を順にFUiとして検出する。今回の実験では、Δt=0.06[s]，vth=80.0[ｓ-1]とする。
【０１２０】
５．１．７．データの間引き
重回帰分析においては、一般に従属変数（目的変数）の観測値は均等に分布しているのが望ましいとされる。しかし、図２２の手本動作ではy=0の観測値が約半数を占めるため、y=0の観測値が連続する場合にあっては、2番目以降の観測値を重回帰分析に用いないこととする。
【０１２１】
５．１．８．独立変数の事前選択
ユーザが入力したモーションにおいて、分散がある閾値varth未満である独立変数は重回帰式に含めないこととする。これは、動作の小さかった関節はユーザが無意識に動かしていた可能性があるからである。さらに、相関係数の絶対値がある閾値corelthを超える独立変数の組にあっては、従属変数との相関係数の絶対値が小さい方を重回帰式に含めないこととする。これは多重共線性の問題を回避するためである。今回の実験では、varth=25.0，corelth=0.99としている。
【０１２２】
５．１．９．ステップワイズ法の変数選択閾値
Pin=Pout=0.05を変数選択の閾値として設定する。この値は、ステップワイズ法において一般的に用いられているものである。
【０１２３】
５．２．手順
まず、被験者には右手に手形状入力装置P5を装着させ、仮想箸のキャリブレーションに慣れてもらう意味で、本番と同じ手順で数回の練習を行わせる。
【０１２４】
本番はキャリブレーションフェーズ（10秒）、前半試用フェーズ（30秒）、後半試用フェーズ（30秒）の3つのフェーズからなり、全てのフェーズは連続して行う。3つのフェーズが完了した後、仮想箸の操作感に関するアンケートに答えてもらって実験は終了となる。
【０１２５】
キャリブレーションフェーズでは、被験者は前節で述べた要領に従って仮想箸のキャリブレーションを行う。この際、実施の形態１に示した手法に加えて、本実施の形態に示した手法によるキャリブレーションも同時に行い、合わせて2通りのキャリブレーション結果を作成しておく。前半試用フェーズでは、キャリブレーションフェーズで作成した2通りの結果のうちいずれか一方が乱数によって選ばれ、仮想箸に反映される。これによって、被験者は、手形状入力装置P5を操作することで仮想箸を操作できるようになる。被験者にはそのまま30秒間自由に箸を開閉させる。後半試用フェーズでは、前半試用フェーズで選ばれなかった方のキャリブレーション結果が反映され、やはり30秒間、自由に仮想箸を開閉させる。
【０１２６】
アンケートは、「仮想箸を自分が思う通りに開閉できたか？」という問いに対して「思い通りに操作できた（評価値：2）」「ほぼ思い通りに操作できたがストレスを感じた（同：1）」「思い通りには操作できなかった（同：0）」から択一式で回答を求めるもので、前半と後半それぞれの試用フェーズについて、操作感を回答させる。
【０１２７】
なお、いわゆるプラシーボ効果を排除するため、事前に被験者には2つのキャリブレーション結果がランダムに選択されることを知らせている。さらにアンケートへの回答を終了するまで、被験者は、前半と後半それぞれの試用フェーズで、どちらのキャリブレーション結果が選ばれたかを知らされない。
【０１２８】
５．３．結果
7名の被験者全員の実施の形態１に示した手法および本実施の形態で示した手法の各々について、自由度調整済み決定係数（以下、単に「決定係数」）とアンケートの結果とを表３、図２３（ａ）,（ｂ）にそれぞれ示す。
【０１２９】
【表３】
2006209445.tif 000010
被験者3および被験者7においては、実施の形態１に示した手法によるキャリブレーションの決定係数が0となっているが、これはステップワイズ法においてどの変数も選択されなかったことによるものである。このようなことが起こった原因としては、キャリブレーション時に手本動作と真似動作の間に大きなずれがあったなどが考えられる。
【０１３０】
続いて決定係数とアンケートの結果について述べる。本実施の形態に示した手法の決定係数の平均と実施の形態１に示した手法のそれが有意に異なるかどうかをt検定を用いて検定した結果、5%の有意水準において有意差なしという結論が得られた。また、実施の形態１に示した手法である程度高い決定係数を得ていた被験者については、本実施の形態に示した手法では、我々の期待に反して決定係数を微減させる傾向にあることも推定される。
【０１３１】
しかし一方で、アンケートでは7人の被験者のうち5人が本実施の形態に示した手法によるキャリブレーションに高い評価を与えた。アンケートの回答以外に、口頭で「実施の形態１に示した手法では仮想箸を閉じようとしても閉じきらなかった」という感想を2名から、「本実施の形態に示した手法の方が動きがスムーズであった」という感想を1名から得た。
【０１３２】
５．４．考察
実験結果から、本実施の形態に示した手法は重回帰分析の決定係数の向上には寄与しなかったが、操作感の向上には寄与したと考えられる。
【０１３３】
決定係数が向上しなかった原因としては、本実施の形態に示した手法が本質的な決定係数の低下要因を排除するものではなかったということが考えられる。本質的な決定係数の低下要因とは、キャリブレーション中のそれぞれの動作周期において、モーションの幅が大きく異なる場合があることを指している。例えば、キャリブレーション時に図２４（ａ）のようなモーションが入力されたとする。ここで、図１８と同様に、点線が手本動作、実線がユーザの真似動作を示す。このモーションデータ系列に対して本実施の形態に示した手法による時間軸方向の補正を施した後、真似動作と手本動作の関係を2次元平面にプロットすると、図２４（ｂ）のようになる。プロットされた点はよく直線上に並んでいるが、図２４（ｂ）に破線で囲んで示した部分に属する点は、他の点に比べて大きく上方にずれている。これは、図２４（ａ）に示すように、2周期目だけユーザの真似動作の動きが小さかったことによるものである。このように、周期ごとのユーザの真似動作にばらつきがあることによって、決定係数は低下する。本実施の形態に示した手法は時間軸方向の補正を行うもので、周期ごとのばらつきを補正するものではなかったため、決定係数が向上しなかったと考えられる。この種のばらつきを補正することが仮想道具の操作感の向上に寄与するか否かは、別途検討する必要がある。
【０１３４】
以上説明したように、本実施の形態によると、ユーザの真似動作が手本動作に対して遅延することを考慮した仮想道具のキャリブレーション手法を提案し、被験者実験によって実施の形態１に示した手法との比較を行った。その結果、使用感についてのアンケートにより、本実施の形態に示した手法に優位性があることが示唆された。ただし、今後、さらに多くの被験者と多くの試行を伴う実験を行い、本実施の形態に示した手法の特性を確認する必要があると考えている。
【０１３５】
以上、本発明に係るアニメーション生成装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。
【０１３６】
例えば、実施の形態２の５．４節で述べたように、動作周期ごとのばらつきを補正した後の観測値に基づいて重回帰分析を行い、重回帰式を求めるようにしてもよい。
【産業上の利用可能性】
【０１３７】
本発明は、アニメーション生成装置に適用でき、特にモーションキャプチャ装置により入力された動作のアニメーションをインタラクティブに生成するアニメーション生成装置等に適用できる。
【図面の簡単な説明】
【０１３８】
【図１】実施の形態１および２に係るアニメーション生成装置の構成を示すブロック図である。
【図２】アニメーション生成装置によるアニメーション生成方法のフローチャートである。
【図３】各関節の曲げ角度の分散値を示したグラフである。
【図４】各関節の曲げ角度と箸先間距離との相関係数の絶対値を示したグラフである。
【図５】キャリブレーション処理の詳細を説明するフローチャートである。
【図６】変数の事前選択処理のフローチャートである。
【図７】重回帰分析を用いずキャリブレーションが不十分な場合の箸操作例を示す図である。
【図８】重回帰分析による状態推定を用いた箸操作例を示す図である。
【図９Ａ】重回帰分析を用いずキャリブレーションが不十分な場合の、ヴィーナス像に手を近づけて頭に触れる動作の例を示す図である。例を示す図である。
【図９Ｂ】重回帰分析による状態推定を用いたヴィーナス像に手を近づけて頭に触れる動作の例を示す図である。
【図１０】実際のヴィーナス像の頭に手で触れる動作を仮想世界の前で行なった例を示す図であり、（ａ）は重回帰分析を用いずキャリブレーションが不十分な場合の例を示す図であり、（ｂ）は重回帰分析による状態推定を用いた例を示す図である。
【図１１Ａ】重回帰分析を用いずキャリブレーションが不十分な場合の、両手指を絡ませて組む動作例を示す図である。
【図１１Ｂ】重回帰分析による状態推定を用いた両手指を絡ませて組む動作例を示す図である。
【図１２】図７に示した両手指を絡ませて組む動作を異なった視点から見た例を示す図であり、（ａ）は重回帰分析を用いずキャリブレーションが不十分な場合の例を示す図であり、（ｂ）は重回帰分析による状態推定を用いた例を示す図である。
【図１３】実験に使用した手指動作を示す図である。
【図１４】被験者Ｆにおける手指動作の時系列変化を示すグラフである。
【図１５】図１に示したキャリブレーション部を詳細に説明した図である。
【図１６】キャリブレーション部によるキャリブレーション処理の詳細なフローチャートである。
【図１７】ステップワイズ法による重回帰分析処理を詳細に説明したフローチャートである。
【図１８】手本動作に対するユーザの真似動作の遅延の例を示すグラフである。
【図１９】ユーザ動作遅延補正部が実行する処理のフローチャートである。
【図２０】実施の形態２に係るアニメーション生成装置によるアニメーション生成実験の実験環境の一例を示す外観図である。
【図２１】箸先間距離の定義を示す図である。
【図２２】手本動作の一例を示すグラフである。
【図２３】実施の形態２に係るアニメーション生成装置によるアニメーション生成実験の実験結果を示すグラフであり、（ａ）は自由度調整済み決定係数に対するグラフであり、（ｂ）はアンケートの回答結果に対するグラフである。
【図２４】本質的に決定係数を低下させるモーションの例を示すグラフであり、（ａ）は手本動作に対するユーザの真似動作の遅延の例を示すグラフであり、（ｂ）は真似動作と手本動作との関係を示すグラフである。
【符号の説明】
【０１３９】
１０  モーションデータベース
２０  ディスプレイ
３０  重回帰式格納部
４０  キャリブレーション部
４１  データセット作成部
４２  ユーザ動作遅延補正部
４３  データフィルタリング部
４４  独立変数選択部
４５  重回帰分析部
５０  アニメーション生成部
６０  センサ計測値入力部
１００  アニメーション生成装置
【図１】
2006209445.tif 000011
【図２】
2006209445.tif 000012
【図３】
2006209445.tif 000013
【図４】
2006209445.tif 000014
【図５】
2006209445.tif 000015
【図６】
2006209445.tif 000016
【図７】
2006209445.tif 000017
【図８】
2006209445.tif 000018
【図９Ａ】
2006209445.tif 000019
【図９Ｂ】
2006209445.tif 000020
【図１０】
2006209445.tif 000021
【図１１Ａ】
2006209445.tif 000022
【図１１Ｂ】
2006209445.tif 000023
【図１２】
2006209445.tif 000024
【図１３】
2006209445.tif 000025
【図１４】
2006209445.tif 000026
【図１５】
2006209445.tif 000027
【図１６】
2006209445.tif 000028
【図１７】
2006209445.tif 000029
【図１８】
2006209445.tif 000030
【図１９】
2006209445.tif 000031
【図２０】
2006209445.tif 000032
【図２１】
2006209445.tif 000033
【図２２】
2006209445.tif 000034
【図２３】
2006209445.tif 000035
【図２４】
2006209445.tif 000036