(57)【要約】      （修正有）【課題】様々な環境における３次元物体モデルのスケルトンを考えない形状変形による動作生成を可能にした３次元物体モデルの動作生成方法を提供する。【解決手段】３次元物体モデルは複数の多項式曲面で構成される閉曲面モデルであり、自らの形状変形により外環境に作用し、外環境からの反作用力で自身を移動させるようにし、３次元物体モデルの動作生成に強化学習を適用し、「行動」とは、「３次元物体モデルを構成する多項式曲面の制御点の移動をどのように制御するか」に相当し、また、「エージェント」とは、「３次元物体モデル」に相当し、所定の目標点に辿り着くといった目的を３次元物体モデルに与え、目的に応じた「行動」を３次元物体モデル自身が学習することによって、３次元物体モデルは目的を達成するための所定の動作を自律的に獲得する。【選択図】図１
2007048143.tif 000002
【特許請求の範囲】
【請求項１】
外環境を表す３次元空間に配置される３次元物体モデルの形状変形による動作生成を可能にした３次元物体モデルの動作生成方法であって、
前記３次元物体モデルは、複数の多項式曲面で構成される閉曲面モデルであり、自らの形状変形により前記外環境に作用し、前記外環境からの反作用力で自身を移動させるようになっていることを特徴とする３次元物体モデルの動作生成方法。
【請求項２】
前記３次元物体モデルは、複数のＮＵＲＢＳ曲面で構成される閉曲面モデルであり、
Ｂスプライン基底関数は、次の数式によって定義されており、
2007048143.tif 000108
ここで、ｔｉは、ノットベクトルと呼ばれる単調増加の数列
2007048143.tif 000109
の各値であり、ｍは階数、ｎは制御点数を示し、
前記ＮＵＲＢＳ曲面は、次の数式によって定義されており、
2007048143.tif 000110
ただし、
2007048143.tif 000111
は幾何学空間における制御点を表し、（ｕ,ｖ）各方向のノットベクトルを
2007048143.tif 000112
前記ＮＵＲＢＳ曲面を（ｕ軸の制御点の数）×（ｖ軸の制御点の数）個の面上の点から生成される３角形パッチに近似するようにし、
前記ＮＵＲＢＳ曲面の制御点
2007048143.tif 000113
を移動させることによって、前記３次元物体モデルの形状を変化させるようにする請求項１に記載の３次元物体モデルの動作生成方法。
【請求項３】
前記３次元物体モデルの「体積、密度、表面積」を前記３次元物体モデルの持つ属性とし、前記属性の差分値を変数値にとる力の関数によって、前記外環境に置かれる前記３次元物体モデルにかかる力
2007048143.tif 000114
を算出するようにし、
前記力
2007048143.tif 000115
2007048143.tif 000116
は次のように算出され、
2007048143.tif 000117
ここで、βは圧力の大きさを示すパラメータで固定値を有し、Ｃは前記３次元物体モデルの属性である表面積ベクトルで、
2007048143.tif 000118
は前記３次元物体モデルの移動方向の速度ベクトルであり、
摩擦力
2007048143.tif 000119
は次のように算出され、
2007048143.tif 000120
ここで、
2007048143.tif 000121
は重力加速度を示し、μは動作摩擦係数で、Ｓｚ＝０は前記３次元物体モデルの床との接地面積で、
2007048143.tif 000122
は前記３次元物体モデルの床を押す力であり、
前記外環境における周囲の物体との反作用力
2007048143.tif 000123
は次のように算出され、
2007048143.tif 000124
ここで、
2007048143.tif 000125
は前記３次元物体モデルの体積変化で、
2007048143.tif 000126
であり、
2007048143.tif 000127
は時刻ｔにおける前記３次元物体モデルの体積を示し、
2007048143.tif 000128
は時刻ｔ＋１における前記３次元物体モデルの体積を示し、また、
2007048143.tif 000129
と定義し、
地面に作用する力
2007048143.tif 000130
は次のように算出され、
2007048143.tif 000131
ここで、Δｍｉは区分領域の３次元物体モデルの質量の変化で、Δｍｉ＝ｍｉ（ｔ＋１）−ｍｉ（ｔ）であり、ｍｉ（ｔ），ｍｉ（ｔ＋１）は、それぞれ時刻ｔとｔ＋１における区分領域ｉの質量を表し、また、
2007048143.tif 000132
は下記のように定義され、
2007048143.tif 000133
ただし、ρは地面の種類によるパラメータであり、
重力
2007048143.tif 000134
は次のように算出され、
2007048143.tif 000135
ここで、ｍは前記３次元物体モデルの質量である請求項２に記載の３次元物体モデルの動作生成方法。
【請求項４】
外環境を表す３次元空間に配置される３次元物体モデルの形状変形による動作生成を可能にし、且つ、強化学習を取り入れた３次元物体モデルの動作生成方法であって、
前記３次元物体モデルは、複数の多項式曲面で構成される閉曲面モデルであり、自らの形状変形により前記外環境に作用し、前記外環境からの反作用力で自身を移動させるようになっており、
前記３次元物体モデルの動作生成に前記強化学習を適用し、前記強化学習における「行動」とは、「前記３次元物体モデルを構成する前記多項式曲面の制御点の移動をどのように制御するか」に相当し、また、前記強化学習における「エージェント」とは、「前記３次元物体モデル」に相当し、
所定の目標点に辿り着くといった目的を前記３次元物体モデルに与え、
前記目的に応じた「行動」を、「エージェント」である前記３次元物体モデル自身が学習することによって、前記３次元物体モデルは、前記目的を達成するための所定の動作を自律的に獲得するようになっていることを特徴とする３次元物体モデルの動作生成方法。
【請求項５】
前記３次元物体モデルが自身で前記制御点を移動させることにより、形状を変化させるステップと、
形状の変化に伴う前記３次元物体モデルの属性である「体積、密度、表面積」の変化を算出するステップと、
前記３次元物体モデルの形状及び属性の変化に応じて、前記外環境が前記３次元物体モデルに前記反作用を及ぼすことによって、前記３次元物体モデルが移動するステップと、
前記３次元物体モデルの移動に応じた報酬を取得し、価値関数を更新するステップと、
政策（前記価値関数、行動選択規則）に対応した行動選択を行い、前記３次元物体モデルが選択された行動に従って、形状を変化させるステップと、
を有し、
これらのステップを繰り返すことにより、前記３次元物体モデルは、前記目的を達成するための所定の動作を自律的に獲得する請求項４に記載の３次元物体モデルの動作生成方法。
【請求項６】
前記３次元物体モデルは、複数のＮＵＲＢＳ曲面で構成される閉曲面モデルであり、
前記強化学習の手法として、Q-Learning法を用い、
更に、
状態を大きく区切り、最終目標を拡大したような目標領域を作り、そこまでの移動を学習する第１のステップと、
ここまでの学習で目標となっていた領域を区分し、前回の目標よりは小さめの最終目標を内包する領域を設定する第２のステップと、
前回の学習で作られた価値関数を継承し、学習を進める第３のステップと、
目標領域が最終目標領域と同一になるまでに、第２のステップと第３のステップを繰り返す第４のステップとを有し、
前記第１のステップ〜第４のステップを踏みながら学習を進める請求項５に記載の３次元物体モデルの動作生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケルトン等の内部構造を考えず、様々な環境で動作生成を可能にした３次元物体モデルの動作生成方法に関する。
【背景技術】
【０００２】
現在、高速演算処理装置や、高速レンダリングを可能とするグラフィックスハードウェアの普及、パーソナルコンピュータ（ＰＣ）における積載メモリ量の増大等に伴い、３次元コンピューターグラフィックス（３ＤＣＧ）を日常的に目にするようになっている。
【０００３】
このような状況で、仮想現実空間（Virtualized
Reality）に対する興味は増大しており、映画、アニメーション、ゲーム等では、仮想空間内での現実性の高い映像や、動作可能な形状モデルの生成が求められている（非特許文献１、非特許文献２及び非特許文献３を参照）。
【０００４】
対象が人間であれば、モーションキャプチャ技術により、その動きや振舞いから実物に近い映像を作成することが可能である。しかし、人間以外の生物に適用する場合、計測のためにマーカーを設置するのが困難であることと、対象の動作を限定させることが不可能なため、このような手法は適用されない。そのため、対象のモデルにスケルトンを組込み、スケルトンと表面形状を合わせて一つのモデルとして捉え、スケルトンの動きを学習させる手法や、物理法則に基づいた動作を生成する手法が提案された（非特許文献４を参照）。
【非特許文献１】トルガ  ジー．  ゴケキン（Tolga G.Gokekin）・アダム  ダブリュ．  バグテール（Adam W. Bargteil）・ジェイムズ  エフ  オー’ブライアン（James F. O’Brian）共著,「ア  メソッド  フォー  アニメーティング  ビスコエラステック  フルーイドズ（A Method for AnimatingViscoelastic Fluids）」,プロシーディングズ  オフ  ＡＣＭ  ＳＩＧＧＲＡＰＨ‘０４（Proceedings of ACM SIGGRAPH’04）,p.463-468,2004年
【非特許文献２】デメトリ  テルゾポルロス（Demetri Terzopoulos）著,「アーティフィシャル  ライフ  フォー  コンピュータ  グラフィックス（Artificial Life for ComputerGraphics）」, コミュニケーションズ  オフ  ザ  ＡＣＭ  アーティクル（Communications of the ACM article）,1999年
【非特許文献３】ラナン  ファタル（Raanan Fattal）・ダニ  リスチンスキ（DaniLischinski）共著,「ターゲット  ドリブン  スモーク  アニメーション（Target-Driven Smoke Animation）」,プロシーディングズ  オフ  ＡＣＭ  ＳＩＧＧＲＡＰＨ‘０４（Proceedings of ACM SIGGRAOH’04）,p.441-448,2004年
【非特許文献４】アール.  グルゼスゼクゾク（R.Grzeszczuk）・ディー.  テルゾポルロス（D.Terzopoulos）・ジー.ヒントン（G.Hinton）共著,「ニューロアニメータ：  ファースト  ニューラル  ネットワーク  エミュレーション  アンド  コントロール  オフ  フィジクス  ベーセド  モデルズ（NeuroAnimator: Fast NeuralNetwork Emulation and Control of Physics-Based Models）」,コンピュータ  グラフィックス  プロク.  ＳＩＧＧＲＡＰＨ‘９８（Computer Graphics Proc. SIGGRAPH’98）,p.9-20,1998年
【非特許文献５】キース  グロチュー（Keith Grochow）・スティーヴン  エル．  マーティン（Steven L.Martin）・アーロン  エルジマン（Aaron Hertzmann）・ゾラン  ポビック（Zoran Povic）共著,「スタイル  ベーセド  インバース  キネマティクス（Style-Based Inverse Kinematics）」,プロシーディングズ  オフ  ＡＣＭ  ＳＩＧＧＲＡＰＨ‘０４（Proceedings of ACM SIGGRAPH’04）,p.522-531,2004年
【非特許文献６】スティーブ  カペラ（Steve Capell）・セス  グリーン（Seth Green）・ブライアン  キュレス（Brian Curless）・トム  デュシャン（Tom Duchamp）・ゾラン  ポポビック（Zoran Popovic）共著,「インタラクティブ  スケルトン  ドリブン  ダイナミック  デフォルメーションズ（Interactive Skeleton-DrivenDynamic Deformations）」,プロシーディングズ  オフ  ＡＣＭ  ＳＩＧＧＲＡＰＨ‘０２（Proceedings of ACM SIGGRAPH’02）,2002年
【非特許文献７】スティーブ  カペラ（Steve Capell）・セス  グリーン（Seth Green）・ブライアン  キュレス（Brian Curless）・トム  デュシャン（Tom Duchamp）・ゾラン  ポポビック（Zoran Popovic）共著,「ア  マルチリゾリューション  フレームワーク  フォー  ダイナミック  デフォルメーションズ（A Multiresolution Framework forDynamic Deformations）」,プロシーディングズ  オフ  ザ  ２００２  ＡＣＭ  ＳＩＧＧＲＡＰＨ  シンポジウム  オン  コンピュータ  アニメーション（Proceedings of the 2002 ACMSIGGRAPH Symposium on Computer Animation）,2002年
【非特許文献８】ピー.  デベビック（P.Debevec）・他共著,「イメージ  ベーセド  モデリング  レンダリン  アンド  ライティング（Image-Based Modeling, Rendering and Lighting）」,ＳＩＧＧＲＡＰＨ‘９９  コース  ３９（SIGGRAPH’99Course 39）,1999年8月
【非特許文献９】青木工太・諸岡健一・長谷川修・長橋宏共著,「自然現象の計測と学習に基づく映像生成」,第９回画像センシングシンポジウム(SSII03)講演論文集,p.259-264,2003年6月
【非特許文献１０】三浦曜・望月一正共著,「実践ＮＵＲＢＳ」,工業調査会,2001年7月
【非特許文献１１】サロン  ディー．（Salomn D.）著,「コンピュータ  グラフィックス  アンド  ジオメトリック  モデリング（Computer Graphics and GeometricModeling）」,ニューヨーク  スプリンガー  バルラグ（NewYork, Springer-Valrag）,1999年
【非特許文献１２】アール.ビー.フィッシャー（R.B.Fisher）著,「デザイン  アンド  アプリケーション  オフ  カーブズ  アンド  サーフェスズ（Design and Application of Curvesand Surfaces）」,オックスフォード  ユニバーシティー  プレス（Oxford University Press）,1994年
【非特許文献１３】小谷口博光・長橋宏共著,「Ｇ１連続性を考慮した距離画像からの区分的Bezier曲面モデルの生成」,３Ｄ  イメージ  カンファレンス  2001  (3D Image Conference 2001),p.73-76,2001年
【非特許文献１４】エム.プレストン（M.Preston）・ダブリュ.ティー.ヒューイット（W.T.Hewitt）共著,「アニメーション  ユージング  ＮＵＲＢＳ（Animation using NURBS）」,ザ  ユーログラフィックス  アソシエイション（The Eurographics Association）.1994年
【非特許文献１５】巽友正著,「連続体の力学」,岩波書店,1995年
【非特許文献１６】サットン,アール.エス.（Sutton,R.S.）・バルト,エイ.（Barto,A.）共著,「リインフォースメント  ラーニング（Reinforcement Learning）」,ザ  ＭＩＴ  プレス（TheMIT Press）,1998年
【非特許文献１７】木村元・宮崎和光・小林重信共著,「強化学習システムの設計指針、計測と制御」,計測自動制御学会,第38巻,第10号,p.618-623,1999年
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した従来方法では、スケルトンの動きによって形状を変化させているので、面の微細な動きを表現するためには、複雑な構造のスケルトンを組み込む必要がある。そのため、スケルトンの接合部に関数を埋め込むことや逆運動学（inverse kinematics）を適用することで、このような変化まで表現する手法も提案されている（非特許文献５、非特許文献６及び非特許文献７を参照）。
【０００６】
これらの手法は全て、スケルトンの動きを制御することが基盤にあり、スケルトンを組み込める物体には適用されるが、スケルトンを作ることが困難な軟体動物や、物体の構造自体が変化してしまうような物体には適用されないという問題がある。つまり、従来は形状が限定された３次元物体モデルしか動作させることができないという問題がある。
【０００７】
また一方で、実写映像からの情報を用いてシーンを生成する手法（非特許文献８を参照）や、実写映像から動作パターンを抽出し、その組み合わせの技術によって新しい映像を生成する手法も提案されている（非特許文献９を参照）。
【０００８】
但し、これらの手法を外環境の変化に対応させるためには、外環境が変化した状態での映像情報からシーンを作るか、元々持っている情報から、環境の変化に応じた物理測を考慮した情報を作り出す必要がある。また、これらの手法は２次元的な手法であり、それを３次元物体モデルに適用することが不可能で、また、物体モデルが自ら動作を獲得することもできないという問題がある。
【０００９】
本発明は、上述のような事情よりなされたものであり、本発明の目的は、様々な環境における３次元物体モデルのスケルトンを考えない形状変形による動作生成を可能にした３次元物体モデルの動作生成方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、外環境を表す３次元空間に配置される３次元物体モデルの形状変形による動作生成を可能にした３次元物体モデルの動作生成方法に関し、本発明の上記目的は、前記３次元物体モデルは、複数の多項式曲面で構成される閉曲面モデルであり、自らの形状変形により前記外環境に作用し、前記外環境からの反作用力で自身を移動させるようにすることにより、或いは、前記３次元物体モデルは、複数のＮＵＲＢＳ曲面で構成される閉曲面モデルであり、Ｂスプライン基底関数は、次の数式によって定義されており、
2007048143.tif 000003
ここで、ｔｉは、ノットベクトルと呼ばれる単調増加の数列
2007048143.tif 000004
の各値であり、ｍは階数、ｎは制御点数を示し、前記ＮＵＲＢＳ曲面は、次の数式によって定義されており、
2007048143.tif 000005
ただし、
2007048143.tif 000006
は幾何学空間における制御点を表し、（ｕ,ｖ）各方向のノットベクトルを
2007048143.tif 000007
前記ＮＵＲＢＳ曲面を（ｕ軸の制御点の数）×（ｖ軸の制御点の数）個の面上の点から生成される３角形パッチに近似するようにし、前記ＮＵＲＢＳ曲面の制御点
2007048143.tif 000008
を移動させることによって、前記３次元物体モデルの形状を変化させるようにすることにより、或いは、前記３次元物体モデルの「体積、密度、表面積」を前記３次元物体モデルの持つ属性とし、前記属性の差分値を変数値にとる力の関数によって、前記外環境に置かれる前記３次元物体モデルにかかる力
2007048143.tif 000009
を算出するようにし、前記力
2007048143.tif 000010
2007048143.tif 000011
は次のように算出され、
2007048143.tif 000012
ここで、βは圧力の大きさを示すパラメータで固定値を有し、Ｃは前記３次元物体モデルの属性である表面積ベクトルで、
2007048143.tif 000013
は前記３次元物体モデルの移動方向の速度ベクトルであり、摩擦力
2007048143.tif 000014
は次のように算出され、
2007048143.tif 000015
ここで、
2007048143.tif 000016
は重力加速度を示し、μは動作摩擦係数で、Ｓｚ＝０は前記３次元物体モデルの床との接地面積で、
2007048143.tif 000017
は前記３次元物体モデルの床を押す力であり、前記外環境における周囲の物体との反作用力
2007048143.tif 000018
は次のように算出され、
2007048143.tif 000019
ここで、
2007048143.tif 000020
は前記３次元物体モデルの体積変化で、
2007048143.tif 000021
であり、
2007048143.tif 000022
は時刻ｔにおける前記３次元物体モデルの体積を示し、
2007048143.tif 000023
は時刻ｔ＋１における前記３次元物体モデルの体積を示し、また、
2007048143.tif 000024
と定義し、地面に作用する力
2007048143.tif 000025
は次のように算出され、
2007048143.tif 000026
ここで、Δｍｉは区分領域の３次元物体モデルの質量の変化で、Δｍｉ＝ｍｉ（ｔ＋１）−ｍｉ（ｔ）であり、ｍｉ（ｔ），ｍｉ（ｔ＋１）は、それぞれ時刻ｔとｔ＋１における区分領域ｉの質量を表す。また、
2007048143.tif 000027
は下記のように定義され、
2007048143.tif 000028
ただし、ρは地面の種類によるパラメータであり、重力
2007048143.tif 000029
は次のように算出され、
2007048143.tif 000030
ここで、ｍは前記３次元物体モデルの質量であることによって効果的に達成される。
【００１１】
また、本発明は、外環境を表す３次元空間に配置される３次元物体モデルの形状変形による動作生成を可能にし、且つ、強化学習を取り入れた３次元物体モデルの動作生成方法に関し、本発明の上記目的は、前記３次元物体モデルは、複数の多項式曲面で構成される閉曲面モデルであり、自らの形状変形により前記外環境に作用し、前記外環境からの反作用力で自身を移動させるようになっており、前記３次元物体モデルの動作生成に前記強化学習を適用し、前記強化学習における「行動」とは、「前記３次元物体モデルを構成する前記多項式曲面の制御点の移動をどのように制御するか」に相当し、また、前記強化学習における「エージェント」とは、「前記３次元物体モデル」に相当し、所定の目標点に辿り着くといった目的を前記３次元物体モデルに与え、前記目的に応じた「行動」を、「エージェント」である前記３次元物体モデル自身が学習することによって、前記３次元物体モデルは、前記目的を達成するための所定の動作を自律的に獲得するようにすることにより、或いは、前記３次元物体モデルが自身で前記制御点を移動させることにより、形状を変化させるステップと、形状の変化に伴う前記３次元物体モデルの属性である「体積、密度、表面積」の変化を算出するステップと、前記３次元物体モデルの形状及び属性の変化に応じて、前記外環境が前記３次元物体モデルに前記反作用を及ぼすことによって、前記３次元物体モデルが移動するステップと、前記３次元物体モデルの移動に応じた報酬を取得し、価値関数を更新するステップと、政策（前記価値関数、行動選択規則）に対応した行動選択を行い、前記３次元物体モデルが選択された行動に従って、形状を変化させるステップとを有し、これらのステップを繰り返すことにより、前記３次元物体モデルは、前記目的を達成するための所定の動作を自律的に獲得することにより、或いは、前記３次元物体モデルは、複数のＮＵＲＢＳ曲面で構成される閉曲面モデルであり、前記強化学習の手法として、Q-Learning法を用い、更に、状態を大きく区切り、最終目標を拡大したような目標領域を作り、そこまでの移動を学習する第１のステップと、ここまでの学習で目標となっていた領域を区分し、前回の目標よりは小さめの最終目標を内包する領域を設定する第２のステップと、前回の学習で作られた価値関数を継承し、学習を進める第３のステップと、目標領域が最終目標領域と同一になるまでに、第２のステップと第３のステップを繰り返す第４のステップとを有し、前記第１のステップ〜第４のステップを踏みながら学習を進めることによってより効果的に達成される。
【発明の効果】
【００１２】
まず、本発明に係る３次元物体モデルの動作生成方法を適用する際に、３次元物体モデルの動作生成には３次元物体モデルの形状、質量、動作点の制限が必要であるが、３次元物体モデルの形状さえ与えれば、他の必要なパラメータの算出または設定が容易で、３次元物体モデルの動作生成を簡単に行うことができるという優れた効果を奏する。
【００１３】
そして、本発明では、３次元物体モデルの形状・属性と外環境を、完全に切り離して考えているので、ユーザは３次元物体モデルの初期形状と外環境を独立かつ任意に設定することができ、また、変形不可能箇所や体積量などの制約を３次元物体モデルに与えることも可能である。よって、本発明を用いれば、同一の３次元物体モデルを様々な外環境に入れることや、同一の外環境に色々な３次元物体モデルを入れることができ、様々な３次元物体モデルと外環境の組合せにおいて、３次元物体モデルの動作生成が可能になるといった優れた効果を奏する。
【００１４】
また、本発明では、この変形可能な３次元物体モデルに対し、与えられた環境の中で目標点にたどり着くという目的を与え、形状の変化を学習させることで動作を獲得させるようにしているので、よって、従来方法ではできなかった、スケルトンが生成しにくい軟体の動作表現や内部構造が途中で変化するような物体の動作も、本発明を適用することによって簡単に生成することが可能となるといった格別な効果を奏する。
【発明を実施するための最良の形態】
【００１５】
本発明の着眼点として、様々な環境下における３次元物体モデル（形状モデル）の変形による動作生成の枠組みを提案することであって、より詳細に説明すると、スケルトンを使用せず多項式曲面で構成される３次元物体モデルを変形させ、そのスケルトンを考えずに制御点の移動による３次元物体モデルの形状変形に伴う外環境との反作用によって、３次元物体モデルの動作を獲得し、さらに、外環境における所定の目標点に辿り着くという目的を３次元物体モデルに提示し、制御点の移動方法（移動規則）を３次元物体モデル自身に学習させることによって、３次元物体モデルは所定の目標点に辿り着くまでの動作を自律的に獲得することである。
【００１６】
以下、図面を参照しながら、本発明で使用する基本概念の説明から、本発明を実施するための最良の形態を詳細に説明する。
【００１７】
本発明では、３次元物体モデルを従来のように「スケルトンと形状」と言った形式で考えるのではなく、３次元物体モデルを「形状」によって定義し、３次元物体モデルが元々持っている情報は「形状と質量」であり、また、３次元物体モデルの形状から計算される体積や表面積等の物理情報（物理量）が３次元物体モデルの属性として付与される。
【００１８】
本発明では、３次元物体モデルは、自ら形状を変形でき、それに伴ってこれらの属性にも変化が生じる。この変化に応じて外環境に３次元物体モデル自身が作用し、そして、その反作用として、３次元物体モデルは外環境から力を受ける。その受ける力によって３次元物体モデルは移動することができる。本発明では、この流れを３次元物体モデル自身の変形による移動として捉え、ある地点に辿り着く目的を３次元物体モデルに与えることによって、目的を達成するための３次元物体モデルの形状変形を学習する。また、学習手法としては、強化学習を用いる。
＜１＞  本発明に係る３次元物体モデルの動作生成方法の概要
ここでは、本発明に係る３次元物体モデルの動作生成方法の概要を示す。
＜１−１＞  学習の概要
本発明に係る３次元物体モデルの動作生成方法において、その処理の流れを図１に示す。図１に示されるように、まず、３次元空間（以下、単に空間とも称する）中に、３次元物体をモデリングして得られた形状モデル（以下、３次元物体モデル、３次元モデル、又は、単に物体とも称する）を配置する。
【００１９】
本発明では、動作生成の対象となる３次元物体モデルを多項式曲面モデルとし、つまり、３次元物体の表面形状を多項式曲面で表現したモデルを、本発明で用いる３次元物体モデルとする。好ましくは、本発明で用いる３次元物体モデルは、制御点の移動により変形操作が可能であるＮＵＲＢＳ（Non Rational B-Spline Surface）曲面によって定義される。つまり、本発明において、好適に、３次元物体モデルは、ＮＵＲＢＳ曲面パッチで構成され、全体で閉曲面によって構成されるようになっている。
【００２０】
上述したように、本発明で用いる３次元物体モデルは、ＮＵＲＢＳ曲面モデルをはじめとする多項式曲面モデルであるため、複数の制御点の位置情報によって３次元物体モデルの形状を決定してしまい、制御点毎にその変化範囲と移動速度を与えることにより、３次元物体モデルの形状変形を制御することができる。つまり、制御点に特徴を与えることによって、自由に変形できる面、一方向にしか変形できない面、固定された面等の様々な性質を３次元物体モデルの表面形状の各部分に与えることが可能である。
【００２１】
また、本発明では、３次元空間を、３次元物体モデルに対し、圧力等の影響を与え続ける外環境（以下、単に、環境とも称する）として定義する。
【００２２】
本発明では、図１に示されるように、３次元物体モデルは、自ら制御点を動かすことにより、その形状を変形させることができる。この変形に応じて３次元物体モデルは、外環境との影響より、自身を時刻ｔの位置Ｓｔからワンステップ後の位置、つまり、時刻ｔ＋１の位置Ｓｔ＋１へ移動させる。３次元物体モデル移動の原理は、＜１−２＞で概要的に述べる。
【００２３】
そして、図１に示されるように、本発明では、与えられた外環境の中で目標点（Goal）にたどり着く目的を３次元物体モデルに与え、その３次元物体モデルの変形に伴う移動を繰り返すことによって、３次元物体モデルが目標点（Goal）にたどり着くという目的を達成するようにしている。これを１回の学習と考える。目標点にたどり着くことにより、価値関数（value-function）は更新され、１回１回の変形を選択する（Action  select）政策（policy）が変化する。この学習を繰り返すことにより、３次元物体モデルは、目標点にたどり着くための動きを獲得する。
【００２４】
本発明では、３次元物体モデル自身を、学習をするエージェント（Agent）として捉えられるために、強化学習手法を用いる。強化学習手法として、本発明では、好適に、強化学習法の一種であるQ-Learning法を用いる。
＜１−２＞  ３次元物体モデル移動の原理
本発明に係る３次元物体モデルの動作生成方法において、３次元物体モデル移動の原理を図２に模式的に示す。
【００２５】
図２に示されるように、制御点の移動による変形に伴い、３次元物体モデルは、形状だけでなく、体積、表面積、密度などの物理量、つまり、３次元物体モデルの属性も変化するようになる。３次元物体モデル移動の原理として、まず、３次元物体モデルに対し、変形前と変形後の状態でこれらの物理量（属性）をそれぞれ計算する。次に、変形前と変形後のそれらの物理量（属性）の差分を取る。この差分量が、３次元物体モデルが外環境に作用する力となる。
【００２６】
そこで、３次元物体モデルは、作用に伴う外環境からの反作用の力を得る。この反作用力によって、３次元物体モデルに加速度が生じ、３次元物体モデル自身が移動するようになる。また、３次元物体モデルは、外環境からの反作用力だけでなく、移動に伴う抵抗力も受ける。上記のような処理を繰り返すことにより、一つの動作となる。本発明では、強化学習を用いて、３次元物体モデルにこの動作を自律的に獲得させるようにしている。
＜２＞  本発明で使用される３次元物体モデル（形状モデル）の生成方法及び３次元物体モデルの形状変形方法
前述したように、本発明で使用される３次元物体モデル（形状モデル）は、好適に、複数のＮＵＲＢＳ曲面パッチで構成されている閉曲面モデルである。ここで、本発明で使用される３次元物体モデル（形状モデル）の具体的な生成方法、及び生成された３次元物体モデルの形状変形の制御方法を示す。
＜２−１＞  Ｂスプライン基底関数
本発明では、ＮＵＲＢＳの定義関数から３次元物体モデルを作成する。ＮＵＲＢＳでは、Ｂスプライン基底関数と制御点列を掛け合わせることにより、ＮＵＲＢＳ曲面の式を得るようにしている。
【００２７】
本発明では、３次元物体モデルを生成するために、まず、下記数１に示すde  Boor  Coxの斬化式を用いて、Ｂスプライン基底関数を定義する（非特許文献１０を参照）。
【００２８】
【数１】
2007048143.tif 000031
ここで、ｔｉは、ノットベクトルと呼ばれる単調増加の数列
2007048143.tif 000032
の各値であり、ｍは階数、ｎは制御点数を示す。
【００２９】
ｍ＝１から段階的に関数を求めることによって、任意の階数ｍのＢスプライン基底関数が求まる。なお、数１の係数部分が０／０となる場合は、０／０＝０とする。
＜２−２＞  ＮＵＲＢＳ曲面の定義
本発明では、次に、＜２−１＞で説明した方法で求めたＢスプライン基底関数を用いて、下記数２を用いて、ＮＵＲＢＳ曲面を定義する（非特許文献１１及び非特許文献１２を参照）。
【００３０】
【数２】
2007048143.tif 000033
ただし、ここで、
2007048143.tif 000034
は幾何学空間における制御点を表す。また、（ｕ,ｖ）各方向のノットベクトルを
2007048143.tif 000035
とする。
【００３１】
上記数２に基づいて、ｕ,ｖの値に応じたＮＵＲＢＳ曲面の点を求めることが可能となる。ＮＵＲＢＳ曲面上では、各ｕ,ｖの間隔を一定にとり、隣り合う点を結ぶことによって、平面パッチを作り、ＮＵＲＢＳ曲面を表現している。
【００３２】
本発明では、上述した方法により生成されたＮＵＲＢＳ曲面をＮＵＲＢＳ曲面パッチとして、３次元物体モデルを構成する。
＜２−３＞  ＮＵＲＢＳ曲面間の連続性
上述したように、本発明では、複数のＮＵＲＢＳ曲面パッチを用いて、閉曲面モデルである３次元物体モデルを生成するようにしている。しかし、ＮＵＲＢＳでは、制御点上を曲面が通るわけではなく、ＮＵＲＢＳ曲面同士を連結させるのは困難である。
【００３３】
そこで、本発明で使用される３次元物体モデルにおいて、連結する各ＮＵＲＢＳ曲面に、つまり、３次元物体モデルを構成する各ＮＵＲＢＳ曲面パッチ間に、以下の条件（イ）及び条件（ロ）を付け加えるようにする（非特許文献１０を参照）。
（イ）連結させる方向の連結部分の端末ノットが、階数分多重になっている。
（ロ）連結される辺に沿った制御点が、すべて一致している。
【００３４】
上記条件（イ）及び条件（ロ）を満たせば、２曲面の接合部がＧ０連続となる。
【００３５】
さらに、図３に示されるように、境界線の制御点
2007048143.tif 000036
と、各ＮＵＲＢＳ曲面（つまり、第１のＮＵＲＢＳ曲面パッチと、第２のＮＵＲＢＳ曲面パッチ）の内側の制御点
2007048143.tif 000037
を同一直線上に乗せることにより、Ｇ１連続になる。
【００３６】
従って、境界においては、下記数３を満たすことが、ＮＵＲＢＳ曲面間（つまり、図３においては、第１のＮＵＲＢＳ曲面パッチと第２のＮＵＲＢＳ曲面パッチとの間）がＧ１連続になる条件となる（非特許文献１３を参照）。
【００３７】
【数３】
2007048143.tif 000038
Ｇ１連続性を保持していれば、見た目には、滑らかにＮＵＲＢＳ曲面が接合されていると認識される。４つのＮＵＲＢＳ曲面パッチが重なる部分でＧ１連続に保つには、この条件（つまり、上記数３を満たすこと）をｕ,ｖ各方向に成立させれば良い。
【００３８】
尚、ある点
2007048143.tif 000039
において、Ｇｎ連続であると言うことは、その点においてｎ階微分が可能であることを示す。
＜２−４＞  ３次元物体モデルの形状変形の方法と変化範囲
上記数２によって定義されるＮＵＲＢＳ曲面は、その制御点
2007048143.tif 000040
や重みωｉ,ｊを変化させることによって、変形可能である（非特許文献１４を参照）。
【００３９】
本発明では、上記数２で定義されたＮＵＲＢＳ曲面を複数用いて構成された３次元物体モデルにおいて、ＮＵＲＢＳ曲面の制御点
2007048143.tif 000041
を動かすことによって、物体の形状、より厳密に言うと、３次元物体モデルの形状を変化させるようにしている。制御点
2007048143.tif 000042
は、初期形状との相対位置で与えられており、３次元の位置情報を持つ。
【００４０】
ただし、ここで留意しなければならないことは、ＮＵＲＢＳ曲面の制御点
2007048143.tif 000043
は、図４（Ａ）から分かる通り、ＮＵＲＢＳ曲面上の点を直接に示すわけではないと言うことである。つまり、ＮＵＲＢＳ曲面の制御点の移動範囲を限定するだけでは、同一３次元物体モデル内のＮＵＲＢＳ曲面同士の交差を防ぐことが不可能である。
【００４１】
このため、本発明では、１つのＮＵＲＢＳ曲面を（ｕ軸の制御点の数）×（ｖ軸の制御点の数）個の面上の点から生成される３角形パッチに近似するようにする。
【００４２】
そして、本発明では、図４（Ｂ）に示されるように、この３角形パッチモデルを形状の近似モデルとし、制御点ではなくこれらの点、つまり、制御点と同数の面上の点の移動範囲を限定することによって、ＮＵＲＢＳ曲面同士の交差を防ぐようにしている。
【００４３】
さらに、本発明では、図５に示されるように、ユーザが物体（３次元物体モデル）の重心を中心とした、ｘ,ｙ,ｚ各軸ごとに変化可能な範囲や速度を設定することにより、３次元物体モデルにおける形状の変化しない面や、３次元物体モデルにおける限定された範囲しか変化できない面を作り出すことが可能である。
＜３＞  本発明における３次元物体モデルの移動
３次元物体モデルは、自らの変形により外環境に作用し、その反作用の力で自身を移動させる（非特許文献１５を参照）。本発明では、外環境と３次元物体モデルを完全に切り離して考えるようにしている。
【００４４】
本発明では、外環境を表すパラメータとして、圧力、摩擦力、重力を用い、また、所定の環境でこれらのパラメータの値が常に一定となることを前提とする。
【００４５】
更に、本発明では、３次元物体モデル自身には、時間ごとの体積、密度を計算し、そして、座標軸ごとの表面積を時間ごとに計算し、計算して得られたこれらの値、つまり、「体積、密度、表面積」を３次元物体モデルの持つ属性とする。また、本発明では、物体の質量が一定であることを前提とする。
【００４６】
以下に、本発明における３次元物体モデルの移動に必要な、３次元物体モデルの属性の計算方法、及び、３次元物体モデルと外環境の関係による力の発生原理を詳細に説明する。
＜３−１＞  ３次元物体モデルの属性の計算方法
上述したように、本発明では、３次元物体モデルの属性とは、３次元物体モデルの「体積、密度、表面積」の３つである。
【００４７】
本発明では、３次元物体モデルの属性を求めるための基本的な値は、任意の点において、３次元物体モデルを各軸に垂直な平面で切った場合の切断面の面積（以下、この面積を切断面積とも称する）である。
【００４８】
始めに、３次元物体モデルをｘ,ｙ,ｚ各軸に垂直な平面で切った時の切断面の面積の求め方を説明する。まず、図６を参照しながら、３次元物体モデルをｚ軸に垂直な平面で切った場合の切断面積Ｓｚを考える。
【００４９】
本発明では、外環境を表す３次元空間において、物体（３次元物体モデル）の持つワールド座標がｚ＝０の場合に、物体（３次元物体モデル）が床に設置されているとする。
【００５０】
なお、本発明では、上述した「床」という言葉は、外環境を表す３次元空間における「地面」のことを意味し、つまり、前述した「物体（３次元物体モデル）が床に設置されている」は「物体（３次元物体モデル）が地面に設置されている」となるわけである。また、以降の説明では、「床」、「地面」といった２つの言葉を使用するが、それらの意味は全く同じであることは、言うまでも無い。
【００５１】
まず、３次元物体モデルが持つｘ軸の最大値ｘmaxと最小値ｘminを求め、そして、領域（ｘmin≦ｘ≦ｘmax）で積分する。
【００５２】
つまり、３次元物体モデルをｚ軸に垂直な平面で切った場合の切断面積Ｓｚは、下記数４を用いて求める。
【００５３】
【数４】
2007048143.tif 000044
上記のように、３次元物体モデルをｘ,ｙ,ｚ各軸に垂直な平面で区分的に切った場合の切断面積Ｓｘ,Ｓｙ,Ｓｚをそれぞれ求める。
【００５４】
そして、求めた切断面積Ｓｘ,Ｓｙ,Ｓｚを利用し、３次元物体モデルの様々な属性値、つまり、３次元物体モデルの３つの属性である「体積、表面積、密度」を求める。
【００５５】
３次元物体モデルの属性である「体積Ｖ」を求めるには、下記数５を用いる。
【００５６】
【数５】
2007048143.tif 000045
ただし、ｚmax−１＝ｚmax−Δｚである。また、重心位置で、つまり、重心を通る平面で切断した場合の体積(Ｖｚ)top,(Ｖｚ)bottomも、下記数６に基づいて求めておく。
【００５７】
【数６】
2007048143.tif 000046
ここで、Ｇｚは重心
2007048143.tif 000047
のｚ座標を表し、Ｇｚ−１＝Ｇｚ−Δｚを表す。また、ｘ,ｙ軸についても、同様に求める。
【００５８】
次に、３次元物体モデルの属性である「表面積」の求め方を説明する。また、本発明では、物体の移動、つまり、３次元物体モデルの移動にかかる外環境からの抵抗（つまり、圧力）は、図７における物体の移動方向と逆方向の矢印に示されるように、与えられることを前提とする。
【００５９】
本発明では、３次元物体モデルの属性である「表面積」とは、物体（３次元物体モデル）の実際の表面積を意味するのではなく、図７における３本の縦の直線に示されるように、物体の移動方向、つまり、３次元物体モデルの進む方向の速度ベクトル
2007048143.tif 000048
に対して、抵抗力（圧力）が働く部分の写像面積を意味する。以下、その写像面積を単に３次元物体モデルの属性である「表面積」とも称する。
【００６０】
ここで、速度ベクトル
2007048143.tif 000049
をｘ,ｙ,ｚといった３軸方向に分離し、各軸ごとに圧力のかかる部分の写像面積ベクトル、つまり、３次元物体モデルの座標軸ごとの表面積ベクトルＣｘ,Ｃｙ,Ｃｚを下記のように求める。
【００６１】
つまり、物体の移動方向の速度ベクトル
2007048143.tif 000050
と面の法線ベクトルの成す角θが、０≦θ＜π／２の範囲である面を、物体の移動方向の速度ベクトル
2007048143.tif 000051
に写像した領域の面積Ｃとする。
【００６２】
例えば、３次元物体モデルのｚ軸の表面積ベクトルＣｚは、以下のアルゴリズムによって求められる。
2007048143.tif 000052
そして、３次元物体モデルの属性である「密度」の求め方を説明する。密度に関しては、本発明では物体内部で一定と仮定する。つまり、３次元物体モデルの質量をｍとすると、３次元物体モデルの密度σは、σ＝ｍ／Ｖで求められる。
＜３−２＞  力の発生原理
＜３−２−１＞  外環境から３次元物体モデルに常に与えられる力
本発明では、外環境から３次元物体モデルに常に与えられる力を、圧力、摩擦力、重力に分けるようにしている。また、３次元物体モデルの移動は、３次元物体モデルの重心にかかる力によって発生するとしている。
【００６３】
まず、３次元物体モデル全体の移動による抵抗力は、圧力から考えられる。前述したように、圧力からの抵抗は、図７に示されるように考えられる。
【００６４】
下記数７に示すように、＜３−１＞で述べたアルゴリズムによって求まった領域（つまり、３次元物体モデルの属性である表面積ベクトルＣ）と物体の速度（つまり、３次元物体モデルの移動方向の速度ベクトル
2007048143.tif 000053
）に比例する形で、抵抗力
2007048143.tif 000054
（つまり、圧力からの抵抗）は与えられる。
【００６５】
【数７】
2007048143.tif 000055
ここで、βは圧力の大きさを示すパラメータで、固定値を有する。
【００６６】
また、摩擦力が抵抗として考えられる場合は、３次元物体モデルが移動している場合であり、動作摩擦係数μによる抵抗を考えることができる。
【００６７】
下記数８に示すように、摩擦力
2007048143.tif 000056
は、動作摩擦係数μと３次元物体モデルの床との接地面積Ｓｚ＝０、及び３次元物体モデルの床を押す力
2007048143.tif 000057
に比例する。
【００６８】
【数８】
2007048143.tif 000058
ここで、
2007048143.tif 000059
は重力加速度を示す。３次元物体モデルには、移動方向と逆方向の摩擦力
2007048143.tif 000060
が加わる。
【００６９】
そして、下記数９に示すように、重力
2007048143.tif 000061
は一定で、つまり、
2007048143.tif 000062
と与えられる。
【００７０】
【数９】
2007048143.tif 000063
＜３−２−２＞  ３次元物体モデルの変形によって生じる反作用の力
ここで、３次元物体モデル自身の変形に応じた、外部（外環境）への作用による反作用の力を詳細に説明する。
【００７１】
まず、圧力を与える外環境における空気や水といった周囲の物体との反作用力
2007048143.tif 000064
（つまり、外環境における水や空気といった周囲の物体を押し出す力）を考える。
2007048143.tif 000065
は、３次元物体モデルの体積変化
2007048143.tif 000066
によって決定し、下記数１０で求められる。
【００７２】
【数１０】
2007048143.tif 000067
但し、
2007048143.tif 000068
である。
2007048143.tif 000069
は時刻ｔにおける３次元物体モデルの体積を示し、また、
2007048143.tif 000070
は時刻ｔ＋１における３次元物体モデルの体積を示す。
【００７３】
ここでは、
2007048143.tif 000071
は下記数１１によって定義されている。
【００７４】
【数１１】
2007048143.tif 000072
本発明では、図８に示されるように、３次元物体モデルの体積変化
2007048143.tif 000073
を３次元物体モデルの重心から前と後ろで別々の変化として考え、ΔＶtop,ΔＶbottomを、数６によって求められたＶtop,Ｖbottomに基づいて、各軸ごとに求めている。
【００７５】
そして、求められたΔＶtop,ΔＶbottomを用いることにより、数１０は下記数１２のように変形される。
【００７６】
【数１２】
2007048143.tif 000074
次に、地面から受ける反作用力を考える。地面の上を３次元物体モデルが滑る場合、３次元物体モデルが滑るためには、地面に作用する力
2007048143.tif 000075
となることが条件である。ここで、μ０は静止摩擦係数である。
【００７７】
下記数１３に示すように、地面に作用する力
2007048143.tif 000076
は、区分領域の３次元物体モデルの質量の変化Δｍｉによって生じる力
2007048143.tif 000077
の合計値になる。
【００７８】
【数１３】
2007048143.tif 000078
但し、Δｍｉ＝ｍｉ（ｔ＋１）−ｍｉ（ｔ）である。ｍｉ（ｔ），ｍｉ（ｔ＋１）は、それぞれ時刻ｔとｔ＋１における区分領域ｉの質量を表す。
【００７９】
本発明では、
2007048143.tif 000079
を下記数１４のように定義する。
【００８０】
【数１４】
2007048143.tif 000080
ただし、ρは地面の種類によるパラメータである。
【００８１】
また、下記数１５に示すように、ｘ軸において(Ｆground)ｘを求める。
【００８２】
【数１５】
2007048143.tif 000081
ここで、
2007048143.tif 000082
は、重心点を通過する軸に垂直な平面で３次元物体モデルを二つに切断した各部位の重量となる。
【００８３】
よって、
2007048143.tif 000083
は、下記数１６により、求められる。
【００８４】
【数１６】
2007048143.tif 000084
但し、
2007048143.tif 000085
であり、
2007048143.tif 000086
は、それぞれ時刻ｔとｔ＋１における区分領域ｉの体積を表す。
なお、ｘ軸において(Ｆground)ｘと同じ方法で、ｙ軸において(Ｆground)ｙを求める。
＜３−２−３＞  外環境に置かれる３次元物体モデルにかかる力
本発明では、上記数７〜数１６により、外環境に置かれる３次元物体モデルにかかる力を下記数１７のように求める。つまり、本発明では、３次元物体モデルの属性の差分値を変数値にとる力の関数によって、外環境に置かれる３次元物体モデルにかかる力を算出するようにしている。
【００８５】
【数１７】
2007048143.tif 000087
ここで、
2007048143.tif 000088
は３次元物体モデルの加速度を示す。加速度
2007048143.tif 000089
を積分することで、速度
2007048143.tif 000090
が求まり、また、加速度
2007048143.tif 000091
を２重積分することで、位置
2007048143.tif 000092
が求まる。
【００８６】
上記数１７は、外環境が現実世界で、その現実世界に置かれる物体（３次元物体モデル）にかかる力を算出するための式である。しかし、本発明では、外環境に対し、抵抗力と反作用力を別々に考え、それぞれに異なるパラメータを用いることも可能である。つまり、外環境が仮想的な環境である場合も考慮に入れると、数１７を以下のように書き直すことができる。
【００８７】
【数１８】
2007048143.tif 000093
数１８の各値は、下記数１９によって与えられる。
【００８８】
【数１９】
2007048143.tif 000094
ここで、φ,ψは外環境によるパラメータである。
【００８９】
上記数１８で求まった
2007048143.tif 000095
を用いて、位置
2007048143.tif 000096
は下記数２０で求まる。
【００９０】
【数２０】
2007048143.tif 000097
本発明では、上記数７〜数２０を実装することにより、形状変化による３次元物体モデル自身の移動が表現される。つまり、上記数７〜数２０を用いれば、外環境に置かれる３次元物体モデルの動作を生成することができる。
【００９１】
また、本発明を適用する際に、上記数７〜数２０において使用されるパラメータβ,μ０,μ,ρ,φ,ψを、ユーザが設定することにより、現実世界も仮想的な環境も含めて様々な外環境を定義することができる。
【００９２】
例えば、パラメータβを０に設定すれば、全く圧力が加わらない「真空状態」を外環境として定義することができる。また、パラメータμ０,μをそれぞれ０に設定すれば、摩擦の生じない「氷上」のような面を外環境として定義することもできる。
＜４＞  本発明に取り入れられた強化学習について
強化学習とは、機械学習の中の一手法であるが、本来、動物心理学あるいは動物行動学の分野で用いられた用語である。ラットなどの動物に、ある行動を起こした場合に限り、えさなどの報酬を与えるという操作を繰り返すと、その行動パターンが徐々に“強化”され、ついには報酬が与えられなくても同様な行動を起こすようになる。典型的にはこのように報酬を契機として行動パターンを学習する場合に用いられる用語であるが、広くは罰による行動の抑制も含めて、「条件付け」といわれる一連の適応現象を実現する学習を「強化学習」と呼ぶ。
【００９３】
つまり、機械学習における強化学習とは、数値化された報酬信号を最大にするために、何をすべきか、即ち、どのようにして状況（状態）に基づく行動選択を行うかを学習することである（非特許文献１６を参照）。
【００９４】
この強化学習を上述した本発明の３次元物体モデルの動作生成方法に取り入れた場合、つまり、３次元物体モデルの動作生成に強化学習を適用する際に、強化学習で言う「行動」とは、「３次元物体モデルを構成する多項式曲面（本実施形態では、ＮＵＲＢＳ曲面）の制御点の移動をどのように制御するか」に相当し、また、「エージェント」とは、「３次元物体モデル」に相当する。
【００９５】
ここで、まず、強化学習の基本的な枠組みを図９に示す。図９に示されるように、強化学習において、エージェントは、以下のステップに沿って学習を行う。
ステップ１Ａ：
感覚入力（sensory input）に対し、状態観測器（state  observer）により、現在の状態（state）を判断する。
ステップ１Ｂ：
ステップ１Ａで判断された状態と政策（policy）に基づいて、エージェントの行動（action）を選択する。
ステップ１Ｃ：
ステップ１Ｂで選択されたエージェントの行動に対し、学習デバイス（learning  device）が環境（environment）から報酬（rate）を得る。
ステップ１Ｄ：
得た報酬から、学習デバイスが価値関数（value-function）を更新する。
【００９６】
上記ステップ１Ａ〜ステップ１Ｄの繰り返しによって、エージェントは、より高報酬が得られるように学習を進める。報酬には、即時報酬と割引報酬がある。即時報酬とは、現在の状態の望ましさを示す。また、割引報酬とは、行動選択を続ける中で、将来的に訪れる状態の望ましさを示す。
【００９７】
尚、上記ステップ１Ｂにおいて、エージェントの行動（action）を選択するのに、政策の重みによるルーレット選択や、一定の確率で最大の政策を選択するεグリーディ（ε−greedy）選択等を用いることができる。
＜４−１＞  Q-Learning法
本発明に係る３次元物体モデルの動作生成方法において、この強化学習法の一種であるQ-Learning法を用いて、目標を提示することで、３次元物体モデルが動作を自律的に獲得できるようにしている。
【００９８】
Q-Learning法とは、ＴＤ学習の一つである。ＴＤ学習では、ＴＤ誤差と呼ばれるものを用いて、このＴＤ誤差を０に近づけていくという方法で学習を進める。ＴＤ誤差とは、現在の状態の評価値と実際に行動してみて、その状態の評価が正しかったかどうかという誤差である。
【００９９】
Q-Learning法では、状態と行動を一つのセットとして考える。つまり、それぞれの状態ｓｔに、その状態で選択できる行動ａｔの数だけ評価値がある。それぞれの評価値をＱ値と呼び、これがどのように更新されるかを考える。Ｑ値の更新式は、下記数２１で示される（非特許文献１７を参照）。
【０１００】
【数２１】
2007048143.tif 000098
ここで、α,γはそれぞれ学習率と割引率を示し、その値のとりうる範囲は、０＜α＜１，０≦γ＜１である。また、
2007048143.tif 000099
は、それぞれ即時報酬と割引報酬を意味しているので、
2007048143.tif 000100
は、状態ｓｔの時に得た報酬（つまり、即時報酬及び割引報酬）と価値関数の誤差を表す。エージェントはこの誤差が小さくなるように、状態行動価値関数について学習する。
＜４−２＞  価値関数
ここで、本発明に強化学習を取り入れた場合に、３次元物体モデルが３次元空間（外環境）を移動する時の状態と行動を定義する。３次元物体モデルの重心が存在する位置と、その時の３次元物体モデルの形状が状態となる。
【０１０１】
まず、位置状態をある程度の範囲を持たせた離散的な空間(Ｓpoint)ｘ,ｙ,ｚと考える。空間の境界が３軸とも交わる点を
2007048143.tif 000101
とすれば、下記数２２に示されるように、重心
2007048143.tif 000102
の位置状態は決定される。
【０１０２】
【数２２】
2007048143.tif 000103
(Ｓpoint)ｘ,ｙ,ｚは、３次元の配列をもつ関数であるが、実装に当たって、下記数２３を用いて、１次元の配列に変換される。
【０１０３】
【数２３】
2007048143.tif 000104
但し、ここでは、Ｉ,Ｊ,Ｋをｘ,ｙ,ｚそれぞれの方向の要素数とし、０≦（Ｓposition）ｘ≦Ｉ−１、０≦（Ｓposition）ｙ≦Ｊ−１、０≦（Ｓposition）ｚ≦Ｋ−１とする。
【０１０４】
次に、形状状態Ｓshapeは、動作可能点と重心の相対的な座標位置で示される。つまり、動作可能点のうち１点で３次元の情報をもつ。動作可能点数をｎとすると、形状状態Ｓshapeの要素数は３ｎとなる。形状状態Ｓshapeも、位置状態と同様に空間を離散化し、１次元配列に変更される。
【０１０５】
行動Ａは、各状態でそれぞれの点が取る行動を組み合わせたものである。動作可能点の個数を
2007048143.tif 000105
、各点が状態Ｓで取れる行動数をｍｓとすると、行動の要素数は
2007048143.tif 000106
で示される。こちらも状態と同様に１次元配列に変更される。
【０１０６】
以上の操作により、価値関数は３次元配列で表現される。図１０(Ａ)は、２次元の仮想空間で、目標位置を設定し、状態を点線で区切ったものを図示したものである。多次元の空間を区分化し、離散的な状態とする場合に、状態の総数は領域の大きさを狭くするほど指数関数的に膨らむ。状態の総数が増えるほど、学習に必要となる時間も、また増大する。
【０１０７】
そこで、本発明では、以下のようなステップを踏みながら、学習を進めることにより、状態の総数の増加に伴う学習時間の増大を軽減する。
ステップ２Ａ：
図１０(Ｂ)に示されるように、状態を大きく区切り、最終目標を拡大したような目標領域を作り、そこまでの移動を学習する。
ステップ２Ｂ：
図１０(Ｃ)に示されるように、ここまでの学習で目標となっていた領域を区分し、前回の目標よりは小さめの最終目標を内包する領域を設定する。
ステップ２Ｃ：
前回の学習で作られた価値関数を継承し、学習を進める。
ステップ２Ｄ：
図１０(Ｄ)に示されるように、目標領域が最終目標領域と同一になるまでに、ステップ２Ｂとステップ２Ｃを繰り返す。
【０１０８】
ステップ２Ａ〜ステップ２Ｄを有するこの手法により、状態数と区分領域の関係を比例関係にまで落とすことができる。しかし、ここで価値関数を継承する時に、状態数が異なると言う問題が生じる。
【０１０９】
そのため、本発明では、図１１に示すように、状態空間を細分化し、前回の目標領域近傍に当たる位置状態の価値関数値を、細分化によって新たに作成された領域に複製する。
＜４−３＞  強化学習を取り入れた本発明の流れ
図１２を参照しながら、強化学習を取り入れた本発明に係る３次元物体モデルの動作生成方法の基本的な流れを以下のように説明する。
ステップ３Ａ：
３次元物体モデルが自身で制御点を移動させることにより、形状を変化させる。
ステップ３Ｂ：
形状の変化に伴う３次元物体モデルの体積、表面積、質量、密度の変化を観測する。つまり、３次元物体モデルの属性を計算する。
ステップ３Ｃ：
３次元物体モデルの形状及び属性の変化に応じて、外環境が３次元物体モデルに反作用を及ぼし、よって、３次元物体モデルが移動する。
ステップ３Ｄ：
３次元物体モデルの移動に応じた報酬を取得し、価値関数を更新する。
ステップ３Ｅ：
政策（価値関数、行動選択規則）に対応した行動選択を行う。３次元物体モデルが選択された行動（つまり、制御点の移動制御）に従って、形状を変化させる。
【０１１０】
ステップ３Ａ〜ステップ３Ｅを繰り返すことにより、所定の目標点に辿り着くといった目的に応じた行動（つまり、３次元物体モデルが所定の目標点に辿り着くために、どうのように３次元物体モデルを構成する多項式曲面、本実施形態では、ＮＵＲＢＳ曲面の制御点を移動させるか）を、エージェントである３次元物体モデル自身が学習する。よって、３次元物体モデルは、所定の目標点に辿り着くための動作を自律的に獲得する。
＜５＞  本発明を適用した実験及びその結果
以下、本発明に係る３次元物体モデルの動作生成方法を具体的な３次元物体モデルに適用して得られた結果について説明する。
＜５−１＞  点の単振動による動作
図１３と図１４は、本発明に係る３次元物体モデルの動作生成方法を適用して、それぞれ水中と地上に模した環境下（外環境下）で、物体（つまり、３次元物体モデル）を動作させた映像である。
【０１１１】
図１３及び図１４において、３次元物体モデルとして、質量２０で半径２の球体を用いており、図１３も図１４も１点を単振動させている。図１３及び図１４は、＜３＞で述べた本発明の３次元物体モデルの動作生成方法により動作しており、つまり、数７〜数２０を実装することにより、３次元物体モデルである質量２０で半径２の球体を動作させている。
【０１１２】
また、図１３と図１４では、外環境を示すパラメータのみを変えている。表１は、図１３及び図１４における実際に導入した具体的なパラーメータの値を示す。本発明を適用するにあたって、外環境を表すパラメータを変えることにより、複数の環境で３次元物体モデルを動作させることが可能であることが確認された。
【０１１３】
【表１】
2007048143.tif 000107
なお、図１３及び図１４において、３次元物体モデルの動作生成メカニズムは、３次元物体モデルの形状変形が原因となって、３次元物体モデルの移動が起こっているということである。
＜５−２＞  強化学習を取り入れた本発明の３次元物体モデルの動作生成方法による動作生成
次に、強化学習を取り入れた本発明に係る３次元物体モデルの動作生成方法を３次元物体モデルに適用した結果を示す。
【０１１４】
１２３の体積を持つ３次元空間中に、＜５−１＞で述べた３次元物体モデル（つまり、質量２０で半径２の球体）を配置し、目標位置状態空間Ｓgoal-posの大きさを１３と設定した。目標位置状態空間Ｓgoal-posのうちの１つの状態に辿り着くことを目的とした学習を、３次元物体モデルである球体が行った結果を図１５に示す。なお、学習には強化学習を用いており、教師データは一切与えられていない。
【０１１５】
まず、図１５において、図１５（Ａ）は表１に示される水中環境のパラメータ、図１５（Ｂ）は表１に示される地上環境のパラメータを、それぞれ入力している。また、図１５（Ａ）及び図１５（Ｂ）において、横軸は学習回数を示し、縦軸は動作成功確率を示す。そして、動作可能点数について、図１５（Ａ）では３点、図１５（Ｂ）では２点とし、また、１点に対し５つの行動値が設定されており、各点は距離１の範囲内でしか動けないということを前提とする。
【０１１６】
更に、２００回の行動選択を行う間に、ゴールに辿り着けた場合を動作成功と見なし、即時報酬と割引報酬が与えられ、一方、ゴールに辿り着けなかった場合や、空間の壁に３次元物体モデルである球体が衝突したような場合は、割引報酬のみが与えられるようになっている。また、即時報酬はゴールに近い行動ほど大きな値を比例関係で与えられるようにする。
【０１１７】
図１５から、水中環境でも地上環境でも、学習回数の増加により、動作成功確率がだんだん高まっていき、最終的には動作成功確率が１に近づくことがよく分かる。図１５に示された結果より、強化学習を取り入れた本発明に係る３次元物体モデルの動作生成方法によって、３次元物体モデルが自律的に動作を獲得したことが確認された。
【０１１８】
また、図１５（Ａ）に比べ、図１５（Ｂ）の学習収束速度が速いのは、図１５（Ａ）が水中環境における３次元物体モデルの３次元の動きを獲得しなければならないのに対して、図１５（Ｂ）は地上環境における３次元物体モデルの２次元の動きを獲得すれば良いからである。
【０１１９】
次に、＜４−２＞で述べたステップ２Ａ〜ステップ２Ｄといった手順を取り入れた本発明を適用して得られた結果を説明する。つまり、図１５（Ａ）の場合と同じ条件で、目的とした領域に３次元物体モデルを辿り着かせるために、最終目的領域より大きな領域の中間地点を作る。そして、まず、中間領域までの動きの学習を行う。次に、その学習で得た価値関数をそのまま継承し、最終目的までの学習を行う。以上の段階を経ることによって、３次元物体モデルに学習させた結果を図１６（Ａ）に示す。図１６（Ａ）において用いた中間地点とは、最終目的領域を含む３３の大きさの空間である。
【０１２０】
図１５（Ａ）と比較して、図１６（Ａ）の学習収束速度が速いことを確認することができた。また、図１６（Ａ）において、学習回数が約６０００回前後あたりで、動作成功確率が一度落ちているのは、その地点で中間地点までの学習を終了させ、その後、最終目的領域まで動く学習を進めたためである。
【０１２１】
最後に、目標位置状態空間Ｓgoal-posの大きさを変化させた場合の結果を図１６（Ｂ）に示す。図１６（Ｂ）も、目標位置状態空間Ｓgoal-posの大きさを除いて、他は図１６（Ａ）と同様な学習をさせた。図１６（Ｂ）において、目標位置状態空間Ｓgoal-posを、始め３３の大きさを持つ領域と定義し、そして、中間地点に辿り着いた時点で、中間地点になっていた空間を１３の領域に分割するようにした。図１６（Ａ）に比べ、図１６（Ｂ）の学習収束速度が速いことを確認することができた。さらに、図１６（Ｂ）では、価値関数を展開するに当たって消費するメモリ量も約１／２００に抑えられた。
なお、上述した本発明の３次元物体モデルの動作生成方法に基づいて、例えば、水中を自由自在に泳ぐと言ったような複雑動作を単純な動作から構築することも可能であ。つまり、３次元物体モデルの取ることのできるプリミティブな動作を、学習を通しるて得た新たな動作に更新すれば良い。そのためには、学習によって作られた価値関数から、その価値関数の特徴を示す単純な関数を抽出し、プリミティブの更新による階層的な動作空間を構築し、構築された階層的な動作空間を利用することで、複雑多岐にわたる動作を生成することも可能である。
【図面の簡単な説明】
【０１２２】
【図１】本発明に係る３次元物体モデルの動作生成方法の処理の流れを説明するための模式図である。
【図２】本発明に係る３次元物体モデルの動作生成方法において、３次元物体モデル移動の原理を説明するための模式図である。
【図３】本発明に係る３次元物体モデルの動作生成方法において、３次元物体モデルを構成するＮＵＲＢＳ曲面間のＧ１連続性を説明するための模式図である。
【図４】本発明において、制御点と曲面上の点によるＮＵＲＢＳ曲面の近似を説明するための模式図である。図４（Ａ）は、ＮＵＲＢＳ曲面を制御点で近似した形状を示し、図４（Ｂ）は、制御点と同数の面上の点でＮＵＲＢＳ曲面を近似した形状を示す。
【図５】本発明において、制御点の移動による面の変形を説明するための模式図である。
【図６】本発明において、３次元物体モデルの属性を算出するために必要な切断面積を説明するための模式図である。
【図７】本発明において、３次元物体モデルの移動にかかる圧力抵抗を説明するための模式図である。
【図８】本発明において、３次元物体モデルの重心前後の体積変化を説明するための模式図である。
【図９】強化学習の概要を説明するための模式図である。
【図１０】強化学習を取り入れた本発明の３次元物体モデルの動作生成方法において、段階的な学習と状態の分割を説明するための模式図である。
【図１１】強化学習を取り入れた本発明の３次元物体モデルの動作生成方法において、価値関数の拡張を説明するための模式図である。
【図１２】強化学習を取り入れた本発明に係る３次元物体モデルの動作生成方法を説明するための模式図である。
【図１３】本発明を適用して生成された水中環境での３次元物体モデルの動作を示す映像である。
【図１４】本発明を適用して生成された地上環境での３次元物体モデルの動作を示す映像である。
【図１５】強化学習を取り入れた本発明を適用して学習による動作成功確率と学習回数の関係を示すグラフである。
【図１６】強化学習を取り入れた本発明を適用して中間地点を経た学習での動作成功確率と学習回数の関係を示すグラフである。
【図１】
2007048143.tif 000136
【図２】
2007048143.tif 000137
【図３】
2007048143.tif 000138
【図４】
2007048143.tif 000139
【図５】
2007048143.tif 000140
【図６】
2007048143.tif 000141
【図７】
2007048143.tif 000142
【図８】
2007048143.tif 000143
【図９】
2007048143.tif 000144
【図１０】
2007048143.tif 000145
【図１１】
2007048143.tif 000146
【図１２】
2007048143.tif 000147
【図１３】
2007048143.tif 000148
【図１４】
2007048143.tif 000149
【図１５】
2007048143.tif 000150
【図１６】
2007048143.tif 000151