【文献】
吉本富士市,外3名,“実数を遺伝子とした遺伝的アルゴリズムによるデータあてはめ”,情報処理学会論文誌,社団法人情報処理学会,2000年 1月15日,第41巻,第1号,p.70−82
【文献】
向井智彦,外1名,“モーションキャプチャデータの高度利用−人の動きの編集から即応的生成へ−”,情報処理,一般社団法人情報処理学会,2012年 5月15日,第53巻,第6号,p.589−594
(58)【調査した分野】(Int.Cl.,DB名)
前記選択手段により選択される前記区間幅列の数、前記決定手段が1つのノットベクトルについて決定する制御点の数、及びBスプライン基底関数の次元数を取得する取得手段をさらに有し、
前記制御手段は、前記取得手段により取得された各数値と予め値が定められたパラメータに応じて、前記選択手段、前記決定手段、及び前記評価手段を動作させる
ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
前記制御手段は、共分散行列適応進化戦略(CMA−ES:Covariance Matrix Adaptation Evolution Strategy)に基づいて前記選択手段による前記複数の区間幅列の選択を制御することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【発明を実施するための形態】
【0013】
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、情報処理装置の一例としての、波形データを非一様Bスプライン曲線に近似したデータを生成可能なPC100に、本発明を適用した例を説明する。しかし、本発明は、波形データを非一様Bスプライン曲線に近似したデータを生成することが可能な任意の機器に適用可能である。
【0014】
《PC100の構成》
図1は、本発明の実施形態に係るPC100の機能構成を示すブロック図である。
【0015】
制御部101は、例えばCPUである。制御部101は、PC100が有する各ブロックの動作を制御する。具体的には制御部101は、ROM102に格納された各ブロックの動作プログラムを読み出し、RAM103に展開して実行することにより各ブロックの動作を制御する。
【0016】
ROM102は、例えば書き換え可能な不揮発性メモリである。ROM102は、PC100が有する各ブロックの動作プログラムに加え、各ブロックの動作に必要なパラメータ等の情報を記憶する。なお、本実施形態では各ブロックを動作させる動作プログラムはROM102に格納されているものとして説明するが、該プログラムは例えばアプリケーションとして記録媒体106に格納されていてもよい。RAM103は、揮発性メモリである。RAM103は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域としても用いられる。
【0017】
なお、本実施形態ではハードウェアとしてPC100が備える各ブロックにおいて処理が実現されるものとして説明するが、本発明の実施はこれに限らず、各ブロックの処理は該各ブロックと同様の処理を行うプログラムで実現されてもよい。
【0018】
データ取得部104は、本実施形態のPC100でスプライン近似する波形データの入力を受け付ける入力インタフェースである。本実施形態では非一様Bスプライン曲線で近似する波形データは、モーションキャプチャシステムによりキャプチャされたモーションデータであるものとして説明する。しかしながら、本発明の実施は対象をモーションデータに限定するものではない。また、本実施形態ではデータ取得部104が波形データの入力を受け付けるものとして説明するが、近似対象の波形データは、後述の記録媒体106に記録されていてもよい。
【0019】
スプライン近似部105は、入力された近似対象の波形データを非一様Bスプライン曲線で近似したデータに変換する。ここで、本実施形態のスプライン近似部105について、具体的な構成を
図2を用いて説明する。
【0020】
〈スプライン近似部105の構成〉
図2は、本実施形態のPC100が有するスプライン近似部105における処理の流れを示した図である。
【0021】
次元削減部201は、入力された近似対象の波形データを次元削減する処理を行う。具体的には次元削減部201は、近似対象の波形データから冗長性を取り除き、主成分を抽出する主成分分析(PCA:Principal Component Analysis)を行うことで、次元削減を行う。モーションキャプチャデータは、例えばキャプチャ対象の自由度に応じた数の次元(チャネル)を有する。このようなデータについては、チャネル間でモーションデータが相関を有する可能性があるため、本実施形態では次元削減部201において主成分分析を行うことで次元削減を行う。例えば近似対象の波形データが
(ここで、Mはデータのチャネル数、Nはフレーム数(時間方向データ数))
であるとすると、次元削減部201における主成分分析により、
に次元削減される。なお、主成分数Lは、近似誤差の許容範囲、固有値の下限、固有値の累積貢献比等の基準により決定される。
【0022】
なお、波形データが3次元の回転チャネルを有する場合は、線形PCAの代わりに主測地線分析(PGA:Principal Geodesics Analysis)が用いられてもよい。また、本実施形態の波形データは、複数のチャネルのモーションデータを有するものとして説明する。しかしながら、波形データが例えば1チャネルのモーションデータのみである場合、あるいは波形データが互いに相関がないことが明らかなモーションデータで構成される場合は、次元削減部201における処理は実行しなくてもよい。
【0023】
本実施形態のスプライン近似部105では、ノットベクトル決定部202〜評価部204を用いて、波形データを近似した非一様Bスプライン曲線における、最適な中間ノット及び制御点が決定される。ノットベクトル決定部202〜評価部204で行われる処理は、共分散行列適応進化戦略(CMA−ES:Covariance Matrix Adaptation Evolution Strategy)に基づく。CMA−ESは、進化の過程で必要となるいくつかのパラメータについて汎用的な基準値が用意されている準パラメータ非依存アルゴリズムである。つまり、CMA−ESを利用することで、従来の中間ノット及び制御点の最適配置を決定する方法に比べ、入力が必要なパラメータ、特にユーザにとって直感的でないパラメータの入力の必要性を排除することができる。本発明の手法では、ユーザ入力を必要とするパラメータは、後述するサンプリング数S、配置する制御点の数K+1、及びBスプライン基底関数の次数Dの、近似精度に与えうる影響をユーザが容易に理解できるパラメータのみである。
【0024】
次元削減された波形データx
nは、次に示される非一様Bスプライン曲線として近似される。
ここで、
である。このとき、τがとり得る範囲、即ち波形データの先頭フレームから最終フレームまでは
であるため、
となる。即ち、中間ノットはt
D−1〜t
K−1までのK−D−1個となる。
【0025】
ノットベクトル決定部202は、次元削減後の波形データについて、非一様Bスプライン曲線の評価対象のノットベクトルの候補を決定する。具体的にはノットベクトル決定部202は、まず所定の平均及び分散を有する多変量正規分布に応じて各ノットベクトルにおける非一様なノット間の幅(区間幅)をサンプリングする。そしてノットベクトル決定部202は、サンプリングされた複数の区間幅の各々に応じたノットベクトルを決定する。ノットベクトルは、上述したように
の条件を有しているため、実質的にノットベクトル決定部202では評価対象の中間ノットを決定することになる。
【0026】
なお、本実施形態ではCMA−ESは、各ノットの位置を直接サンプリング対象、即ち収束解として設定するものではなく、ノットベクトルにおける区間幅を収束解として設定している。これは、各ノットは時間方向の順にナンバリングがなされたものであるのに対し、各ノットの位置をCMA−ESに基づいて直接求めるとした場合にナンバリングの入れ替わりが生じることを回避するためである。具体的には、ナンバリングされたノットの入れ替えが生じた場合、ノットベクトルの成分(ノット)が単調増加するという前提条件を満たさなくなり、誤った解への収束、あるいは収束せずに計算が破たんすることになる。つまり、入れ替わりを認めた場合、単調増加する前提条件を満たすために時間方向において再ソートする必要性がある。しかしながら、再ソートを行った場合にはソート処理に加え、CMA−ESにおける後述の平均及び共分散行列にもソート結果を反映するための冗長な処理が必要となる。このため、本実施形態ではCMA−ESにおけるサンプリング対象として区間幅を用いることで、冗長な処理をせずに確実に単調増加の条件を満たすようにしている。
【0027】
例えば、ノットベクトル決定部202はまず、評価対象のノットベクトルを規定するために、S個の区間幅列(評価対象の各ノットベクトルにおけるノット間の非一様な区間幅を規定)を多変量正規分布に応じてサンプリングする。そしてノットベクトル決定部202は、サンプリングされたS個の区間幅列に基づいて、S個の非一様ノットベクトル
を決定する。ここで、1つの区間幅列における各要素(区間幅)は、
を規定しており、ノットベクトルのK+D+1個の成分は順に区間幅を加算することで得られる。
【0028】
なお、区間幅はノットベクトルの各要素が時間方向の順に単調増加となるように、
等の単純な関数を適用することで
の条件を保つようにノットベクトル決定部202は各区間幅を決定してよい。またノットベクトルの各要素は、区間幅に応じて決定された後、
を満たすような因子αを用いて一様にスケーリングされるものとする。
【0029】
制御点決定部203は、ノットベクトル決定部202で決定されたS個のノットベクトルの各々について、最適制御点列を決定する。各ノットベクトルについての最適制御点列は、最小二乗法を用いることで一意的に決定することができる。
【0030】
例えば制御点列が
である場合、その最適解は線形システム
を解くことにより決定することができる。ここで
であるものとする。なお、この過拘束の最大誤差解を算出するために、Moore-Penroseの逆行列あるいはQR分解を用いてよい。
【0031】
評価部204は、評価対象の各ノットベクトルと、制御点決定部203でそれぞれのノットベクトルについて決定された最適制御点列との組み合わせについて、近似対象の波形データ(次元削減された波形データ)との誤差を評価する。具体的には評価部204は、平方根平均二乗誤差
を、各ノットベクトルと最適制御点列との組み合わせにおける近似精度として評価する。即ち、該平方根平均二乗誤差をCMA−ESにおける目的関数とし、各世代における評価を行う。即ち、該目的回数を最小にする中間ノット及び制御点の最適配置を決定することが、CMA−ESにおける到達目標となる。なお、本実施形態では目的関数を平方根平均二乗誤差として説明するが、他の目的関数が用いられてもよいことは容易に理解されよう。
【0032】
評価部204における評価の結果、目的関数を最小にする収束解が得られていない場合は、分布更新部205は、ノットベクトル決定部202において区間幅を設定するための多変量正規分布を更新する。
【0033】
(CMA−ESにおける多変量正規分布の更新)
CMA−ESでは、各世代における候補解(本実施形態ではS個の区間幅)をn次元の多変量正規分布に基づいて設定する。ある世代kにおける候補解のサンプリング数がλ(>1)個であるとすると、候補解
は、以下の関係を満たす。
ここで、
を示す。
【0034】
つまり、CMA−ESでは各世代における多変量正規分布を、分布の平均及び分散(共分散行列とステップサイズ)の更新によって変更しながら収束解を求める。
【0035】
まず、次の世代k+1における分布の平均は、世代kにおけるλ個の候補解のうちの、目的関数fの値が小さい順にμ(≦λ)個の候補解
を用いて、
として更新される。ここで
であり、更新された分布の平均は、単に目的関数fの値が小さいμ個の候補解の平均ではなく、fの値のより小さい候補解に重みをおいた平均となる。なお、一般に重み係数は、
を満たすように決定される。
【0036】
また、次の世代k+1におけるステップサイズ、即ち共分散行列の相対的な大きさを示す値であり、収束の速さ及び精度に影響を及ぼすパラメータは、累積的ステップサイズ適用(CSA:cumulative step-size adaptation)を用いて更新される。まず、進化パスp
σ(初期値ゼロベクトル)は
に更新される。その後、次の世代k+1におけるステップサイズは、更新されたp
σを用いて
と更新される。ここで、
である。
【0037】
そして最後に、次の世代k+1における共分散行列が更新される。まず、進化パスp
c(初期値ゼロベクトル)は
に更新される。その後、次の世代k+1における共分散行列は、更新されたp
cを用いて
と更新される。ここで、
である。
【0038】
このように分布更新部205は、ノットベクトル決定部202からの次の世代の処理のために、評価部204における評価の結果に応じて多変量正規分布を更新する。
【0039】
スプライン近似部105では、次元削減部201乃至分布更新部205により決定された収束解である最適な中間ノット及び制御点の配置位置を用い、近似対象の波形データの近似曲線を出力する。
【0040】
記録媒体106は、例えば内蔵メモリや、HDD等のPC100に着脱可能に接続される記録装置である。スプライン近似部105によりスプライン近似された近似曲線の情報は、例えば記録媒体106に記録される。
【0041】
表示部107は、例えばLCD等のPC100が有する表示装置である。表示部107は、PC100と一体となって構成される装置であってもよいし、PC100に着脱可能に接続される外部の装置であってもよい。表示部107には、例えばスプライン近似部105で行われるスプライン近似についてユーザが設定可能なパラメータの入力画面等が表示される。
【0042】
操作入力部108は、例えばマウスやキーボード等のPC100が備える操作入力を受け付けるためのユーザインタフェースである。操作入力部108は、操作入力がなされたことを検出すると、対応する制御信号を制御部101に伝送する。
【0043】
《スプライン近似処理》
このような構成をもつ本実施形態のPC100で実行される、波形データをスプライン近似するスプライン近似処理について、
図3のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部101が、例えばROM102に記憶されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本スプライン近似処理は、例えばスプライン近似を行うプログラムの実行中に近似対象の波形データが入力された際に開始されるものとして説明する。
【0044】
S301で、制御部101は、スプライン近似部105における各パラメータを初期化する。そして制御部101は、データ取得部104が取得した波形データをスプライン近似部105に入力する。
【0045】
S302で、次元削減部201は制御部101の制御の下、入力された波形データについて主成分分析を行った後、冗長データを除外する次元削減処理を適用する。
【0046】
S303で、ノットベクトル決定部202は、多変量正規分布に基づいて、非一様Bスプライン曲線における中間ノット間の区間幅をサンプリングする。またノットベクトル決定部202は、サンプリングされた区間幅の各々について、該区間幅に基づくノットベクトルを生成する。
【0047】
S304で、制御点決定部203は制御部101の制御の下、S303において生成された各ノットベクトルについて、最適制御点列を決定する。
【0048】
S305で、評価部204は制御部101の制御の下、各ノットベクトルと対応する最適制御点列との組み合わせについて、非一様Bスプライン曲線の近似精度を目的関数を用いて評価する。
【0049】
S306で、制御部101は、評価部204における近似精度の評価が停止条件を満たすか否かを判断する。即ち、制御部101は、次元削減された波形データについての非一様Bスプライン曲線の近似誤差が最小に収束したか否かを判断する。制御部101は、評価部204における近似精度の評価が停止条件を満たすと判断した場合は処理をS308に移し、満たしていないと判断した場合は処理をS307に移す。
【0050】
S307で、分布更新部205は制御部101の制御の下、近似精度の評価結果に基づいて多変量正規分布を更新する。具体的には分布更新部205はまず、評価結果に基づいて近似誤差の小さい順に所定数の区間幅を選択する。そして分布更新部205は、選択した所定数の区間幅に基づいて多変量正規分布の平均を更新する。また分布更新部205は、同様にステップサイズ及び共分散行列を更新し、多変量正規分布の分散を更新する。制御部101は、分布更新部205における多変量正規分布の更新が完了すると、処理をS303に戻す。
【0051】
一方、S306において近似精度の評価が停止条件を満たすと判断した場合、制御部101はS308で、得られた収束解に基づくパラメータを有する非一様Bスプライン曲線の情報をスプライン近似部105に出力させ、本スプライン近似処理を完了する。
【0052】
このようにすることで、本実施形態のPC100はCMA−ESを利用して、近似対象の波形データを近似した非一様Bスプライン曲線を得ることができる。
【0053】
《実施結果》
上述したスプライン近似処理を実施することにより得られた近似結果を、
図4に示す。
図4(a)乃至(d)はそれぞれ、簡単のために次元削減を必要としない1次元の波形データについて、一様Bスプライン曲線で近似した場合の曲線と、本発明の方法を用いて近似した非一様Bスプライン曲線及びその中間ノットとを示している。図からもわかるように、従来の遺伝アルゴリズム等を利用するスプライン近似技術と同等の近似精度を示せることがわかる。
【0054】
また、分布更新部205における多変量正規分布の更新については、いくつかのパラメータが使用されることを説明した。しかしながらこれらのパラメータについては、「ハンセン・エヌ(Hansen, N.)及びケルン・エス(Kern, S.)著、マルチモーダル試験関数におけるCMA進化戦略の評価(Evaluating the CMA evolution strategy on multimodal test functions)、自然を解決する平行問題についての第8回国際会議論文(In proc. of Eighth International Conference on Parallel Problem Solving from Nature)、p.282−291」に記載されるような、CMA−ESを広範な問題に対応可能なように設定されたデフォルトの最適値を利用することができる。即ち、本実施形態のPC100におけるスプライン近似処理では、上述したようなサンプリング数S、配置する制御点の数K+1、及びBスプライン基底関数の次数Dを手動入力が必要なパラメータである。なお、該パラメータにより中間ノット数(K−D−1)も決定される。また必要であれば主成分数Lが手動入力が必要なパラメータとして設定されてもよい。
【0055】
図4(a)乃至(d)は、該最適値を利用して行われたものであり、デフォルト値を用いても良好な結果が得られることは理解されよう。即ち、本発明により、ユーザが直感的に理解できないような様々な手動パラメータの調整を必要としない近似システムが提供可能である。
【0056】
以上説明したように、本実施形態の情報処理装置は、ユーザによる不要なパラメータチューニングを必要とせずに波形データを適切な非一様Bスプライン曲線に近似することができる。具体的には情報処理装置は、多変量正規分布に基づいて、波形データを近似する非一様Bスプライン曲線における中間ノットの複数の区間幅列を選択する。そして、選択した区間幅列の各々に基づいてノットベクトルと、各ノットベクトルについての最適制御点列を決定する。また情報処理装置は、ノットベクトルと、該ノットベクトルに対応する最適制御点列との各組み合わせについて規定される非一様Bスプライン曲線を、目的関数が最小となる評価が得られるまで、区間幅列の選択、ノットベクトル及び最適制御点列の決定、及びその評価を繰り返す。この間、選択された複数の区間幅列のうち、近似誤差が小さい順に選択した所定数の区間幅列に基づいて、多変量正規分布の平均及び分散を更新した後、更新後の多変量正規分布を用いて次の世代の繰り返しの動作を行わせる。