JP2007048143A - 3次元物体モデルの動作生成方法 - Google Patents
3次元物体モデルの動作生成方法 Download PDFInfo
- Publication number
- JP2007048143A JP2007048143A JP2005233407A JP2005233407A JP2007048143A JP 2007048143 A JP2007048143 A JP 2007048143A JP 2005233407 A JP2005233407 A JP 2005233407A JP 2005233407 A JP2005233407 A JP 2005233407A JP 2007048143 A JP2007048143 A JP 2007048143A
- Authority
- JP
- Japan
- Prior art keywords
- object model
- dimensional object
- learning
- motion
- external environment
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
【課題】様々な環境における3次元物体モデルのスケルトンを考えない形状変形による動作生成を可能にした3次元物体モデルの動作生成方法を提供する。
【解決手段】3次元物体モデルは複数の多項式曲面で構成される閉曲面モデルであり、自らの形状変形により外環境に作用し、外環境からの反作用力で自身を移動させるようにし、3次元物体モデルの動作生成に強化学習を適用し、「行動」とは、「3次元物体モデルを構成する多項式曲面の制御点の移動をどのように制御するか」に相当し、また、「エージェント」とは、「3次元物体モデル」に相当し、所定の目標点に辿り着くといった目的を3次元物体モデルに与え、目的に応じた「行動」を3次元物体モデル自身が学習することによって、3次元物体モデルは目的を達成するための所定の動作を自律的に獲得する。
【選択図】図1
【解決手段】3次元物体モデルは複数の多項式曲面で構成される閉曲面モデルであり、自らの形状変形により外環境に作用し、外環境からの反作用力で自身を移動させるようにし、3次元物体モデルの動作生成に強化学習を適用し、「行動」とは、「3次元物体モデルを構成する多項式曲面の制御点の移動をどのように制御するか」に相当し、また、「エージェント」とは、「3次元物体モデル」に相当し、所定の目標点に辿り着くといった目的を3次元物体モデルに与え、目的に応じた「行動」を3次元物体モデル自身が学習することによって、3次元物体モデルは目的を達成するための所定の動作を自律的に獲得する。
【選択図】図1
Description
本発明は、スケルトン等の内部構造を考えず、様々な環境で動作生成を可能にした3次元物体モデルの動作生成方法に関する。
現在、高速演算処理装置や、高速レンダリングを可能とするグラフィックスハードウェアの普及、パーソナルコンピュータ(PC)における積載メモリ量の増大等に伴い、3次元コンピューターグラフィックス(3DCG)を日常的に目にするようになっている。
このような状況で、仮想現実空間(Virtualized
Reality)に対する興味は増大しており、映画、アニメーション、ゲーム等では、仮想空間内での現実性の高い映像や、動作可能な形状モデルの生成が求められている(非特許文献1、非特許文献2及び非特許文献3を参照)。
Reality)に対する興味は増大しており、映画、アニメーション、ゲーム等では、仮想空間内での現実性の高い映像や、動作可能な形状モデルの生成が求められている(非特許文献1、非特許文献2及び非特許文献3を参照)。
対象が人間であれば、モーションキャプチャ技術により、その動きや振舞いから実物に近い映像を作成することが可能である。しかし、人間以外の生物に適用する場合、計測のためにマーカーを設置するのが困難であることと、対象の動作を限定させることが不可能なため、このような手法は適用されない。そのため、対象のモデルにスケルトンを組込み、スケルトンと表面形状を合わせて一つのモデルとして捉え、スケルトンの動きを学習させる手法や、物理法則に基づいた動作を生成する手法が提案された(非特許文献4を参照)。
トルガ ジー. ゴケキン(Tolga G.Gokekin)・アダム ダブリュ. バグテール(Adam W. Bargteil)・ジェイムズ エフ オー’ブライアン(James F. O’Brian)共著,「ア メソッド フォー アニメーティング ビスコエラステック フルーイドズ(A Method for AnimatingViscoelastic Fluids)」,プロシーディングズ オフ ACM SIGGRAPH‘04(Proceedings of ACM SIGGRAPH’04),p.463-468,2004年 デメトリ テルゾポルロス(Demetri Terzopoulos)著,「アーティフィシャル ライフ フォー コンピュータ グラフィックス(Artificial Life for ComputerGraphics)」, コミュニケーションズ オフ ザ ACM アーティクル(Communications of the ACM article),1999年 ラナン ファタル(Raanan Fattal)・ダニ リスチンスキ(DaniLischinski)共著,「ターゲット ドリブン スモーク アニメーション(Target-Driven Smoke Animation)」,プロシーディングズ オフ ACM SIGGRAPH‘04(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)」,コンピュータ グラフィックス プロク. SIGGRAPH‘98(Computer Graphics Proc. SIGGRAPH’98),p.9-20,1998年 キース グロチュー(Keith Grochow)・スティーヴン エル. マーティン(Steven L.Martin)・アーロン エルジマン(Aaron Hertzmann)・ゾラン ポビック(Zoran Povic)共著,「スタイル ベーセド インバース キネマティクス(Style-Based Inverse Kinematics)」,プロシーディングズ オフ ACM SIGGRAPH‘04(Proceedings of ACM SIGGRAPH’04),p.522-531,2004年 スティーブ カペラ(Steve Capell)・セス グリーン(Seth Green)・ブライアン キュレス(Brian Curless)・トム デュシャン(Tom Duchamp)・ゾラン ポポビック(Zoran Popovic)共著,「インタラクティブ スケルトン ドリブン ダイナミック デフォルメーションズ(Interactive Skeleton-DrivenDynamic Deformations)」,プロシーディングズ オフ ACM SIGGRAPH‘02(Proceedings of ACM SIGGRAPH’02),2002年 スティーブ カペラ(Steve Capell)・セス グリーン(Seth Green)・ブライアン キュレス(Brian Curless)・トム デュシャン(Tom Duchamp)・ゾラン ポポビック(Zoran Popovic)共著,「ア マルチリゾリューション フレームワーク フォー ダイナミック デフォルメーションズ(A Multiresolution Framework forDynamic Deformations)」,プロシーディングズ オフ ザ 2002 ACM SIGGRAPH シンポジウム オン コンピュータ アニメーション(Proceedings of the 2002 ACMSIGGRAPH Symposium on Computer Animation),2002年 ピー. デベビック(P.Debevec)・他共著,「イメージ ベーセド モデリング レンダリン アンド ライティング(Image-Based Modeling, Rendering and Lighting)」,SIGGRAPH‘99 コース 39(SIGGRAPH’99Course 39),1999年8月 青木工太・諸岡健一・長谷川修・長橋宏共著,「自然現象の計測と学習に基づく映像生成」,第9回画像センシングシンポジウム(SSII03)講演論文集,p.259-264,2003年6月 三浦曜・望月一正共著,「実践NURBS」,工業調査会,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年 小谷口博光・長橋宏共著,「G1連続性を考慮した距離画像からの区分的Bezier曲面モデルの生成」,3D イメージ カンファレンス 2001 (3D Image Conference 2001),p.73-76,2001年 エム.プレストン(M.Preston)・ダブリュ.ティー.ヒューイット(W.T.Hewitt)共著,「アニメーション ユージング NURBS(Animation using NURBS)」,ザ ユーログラフィックス アソシエイション(The Eurographics Association).1994年 巽友正著,「連続体の力学」,岩波書店,1995年 サットン,アール.エス.(Sutton,R.S.)・バルト,エイ.(Barto,A.)共著,「リインフォースメント ラーニング(Reinforcement Learning)」,ザ MIT プレス(TheMIT Press),1998年 木村元・宮崎和光・小林重信共著,「強化学習システムの設計指針、計測と制御」,計測自動制御学会,第38巻,第10号,p.618-623,1999年
トルガ ジー. ゴケキン(Tolga G.Gokekin)・アダム ダブリュ. バグテール(Adam W. Bargteil)・ジェイムズ エフ オー’ブライアン(James F. O’Brian)共著,「ア メソッド フォー アニメーティング ビスコエラステック フルーイドズ(A Method for AnimatingViscoelastic Fluids)」,プロシーディングズ オフ ACM SIGGRAPH‘04(Proceedings of ACM SIGGRAPH’04),p.463-468,2004年 デメトリ テルゾポルロス(Demetri Terzopoulos)著,「アーティフィシャル ライフ フォー コンピュータ グラフィックス(Artificial Life for ComputerGraphics)」, コミュニケーションズ オフ ザ ACM アーティクル(Communications of the ACM article),1999年 ラナン ファタル(Raanan Fattal)・ダニ リスチンスキ(DaniLischinski)共著,「ターゲット ドリブン スモーク アニメーション(Target-Driven Smoke Animation)」,プロシーディングズ オフ ACM SIGGRAPH‘04(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)」,コンピュータ グラフィックス プロク. SIGGRAPH‘98(Computer Graphics Proc. SIGGRAPH’98),p.9-20,1998年 キース グロチュー(Keith Grochow)・スティーヴン エル. マーティン(Steven L.Martin)・アーロン エルジマン(Aaron Hertzmann)・ゾラン ポビック(Zoran Povic)共著,「スタイル ベーセド インバース キネマティクス(Style-Based Inverse Kinematics)」,プロシーディングズ オフ ACM SIGGRAPH‘04(Proceedings of ACM SIGGRAPH’04),p.522-531,2004年 スティーブ カペラ(Steve Capell)・セス グリーン(Seth Green)・ブライアン キュレス(Brian Curless)・トム デュシャン(Tom Duchamp)・ゾラン ポポビック(Zoran Popovic)共著,「インタラクティブ スケルトン ドリブン ダイナミック デフォルメーションズ(Interactive Skeleton-DrivenDynamic Deformations)」,プロシーディングズ オフ ACM SIGGRAPH‘02(Proceedings of ACM SIGGRAPH’02),2002年 スティーブ カペラ(Steve Capell)・セス グリーン(Seth Green)・ブライアン キュレス(Brian Curless)・トム デュシャン(Tom Duchamp)・ゾラン ポポビック(Zoran Popovic)共著,「ア マルチリゾリューション フレームワーク フォー ダイナミック デフォルメーションズ(A Multiresolution Framework forDynamic Deformations)」,プロシーディングズ オフ ザ 2002 ACM SIGGRAPH シンポジウム オン コンピュータ アニメーション(Proceedings of the 2002 ACMSIGGRAPH Symposium on Computer Animation),2002年 ピー. デベビック(P.Debevec)・他共著,「イメージ ベーセド モデリング レンダリン アンド ライティング(Image-Based Modeling, Rendering and Lighting)」,SIGGRAPH‘99 コース 39(SIGGRAPH’99Course 39),1999年8月 青木工太・諸岡健一・長谷川修・長橋宏共著,「自然現象の計測と学習に基づく映像生成」,第9回画像センシングシンポジウム(SSII03)講演論文集,p.259-264,2003年6月 三浦曜・望月一正共著,「実践NURBS」,工業調査会,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年 小谷口博光・長橋宏共著,「G1連続性を考慮した距離画像からの区分的Bezier曲面モデルの生成」,3D イメージ カンファレンス 2001 (3D Image Conference 2001),p.73-76,2001年 エム.プレストン(M.Preston)・ダブリュ.ティー.ヒューイット(W.T.Hewitt)共著,「アニメーション ユージング NURBS(Animation using NURBS)」,ザ ユーログラフィックス アソシエイション(The Eurographics Association).1994年 巽友正著,「連続体の力学」,岩波書店,1995年 サットン,アール.エス.(Sutton,R.S.)・バルト,エイ.(Barto,A.)共著,「リインフォースメント ラーニング(Reinforcement Learning)」,ザ MIT プレス(TheMIT Press),1998年 木村元・宮崎和光・小林重信共著,「強化学習システムの設計指針、計測と制御」,計測自動制御学会,第38巻,第10号,p.618-623,1999年
上述した従来方法では、スケルトンの動きによって形状を変化させているので、面の微細な動きを表現するためには、複雑な構造のスケルトンを組み込む必要がある。そのため、スケルトンの接合部に関数を埋め込むことや逆運動学(inverse kinematics)を適用することで、このような変化まで表現する手法も提案されている(非特許文献5、非特許文献6及び非特許文献7を参照)。
これらの手法は全て、スケルトンの動きを制御することが基盤にあり、スケルトンを組み込める物体には適用されるが、スケルトンを作ることが困難な軟体動物や、物体の構造自体が変化してしまうような物体には適用されないという問題がある。つまり、従来は形状が限定された3次元物体モデルしか動作させることができないという問題がある。
また一方で、実写映像からの情報を用いてシーンを生成する手法(非特許文献8を参照)や、実写映像から動作パターンを抽出し、その組み合わせの技術によって新しい映像を生成する手法も提案されている(非特許文献9を参照)。
但し、これらの手法を外環境の変化に対応させるためには、外環境が変化した状態での映像情報からシーンを作るか、元々持っている情報から、環境の変化に応じた物理測を考慮した情報を作り出す必要がある。また、これらの手法は2次元的な手法であり、それを3次元物体モデルに適用することが不可能で、また、物体モデルが自ら動作を獲得することもできないという問題がある。
本発明は、上述のような事情よりなされたものであり、本発明の目的は、様々な環境における3次元物体モデルのスケルトンを考えない形状変形による動作生成を可能にした3次元物体モデルの動作生成方法を提供することにある。
本発明は、外環境を表す3次元空間に配置される3次元物体モデルの形状変形による動作生成を可能にした3次元物体モデルの動作生成方法に関し、本発明の上記目的は、前記3次元物体モデルは、複数の多項式曲面で構成される閉曲面モデルであり、自らの形状変形により前記外環境に作用し、前記外環境からの反作用力で自身を移動させるようにすることにより、或いは、前記3次元物体モデルは、複数のNURBS曲面で構成される閉曲面モデルであり、Bスプライン基底関数は、次の数式によって定義されており、
ここで、tiは、ノットベクトルと呼ばれる単調増加の数列
の各値であり、mは階数、nは制御点数を示し、前記NURBS曲面は、次の数式によって定義されており、
ただし、
は幾何学空間における制御点を表し、(u,v)各方向のノットベクトルを
前記NURBS曲面を(u軸の制御点の数)×(v軸の制御点の数)個の面上の点から生成される3角形パッチに近似するようにし、前記NURBS曲面の制御点
を移動させることによって、前記3次元物体モデルの形状を変化させるようにすることにより、或いは、前記3次元物体モデルの「体積、密度、表面積」を前記3次元物体モデルの持つ属性とし、前記属性の差分値を変数値にとる力の関数によって、前記外環境に置かれる前記3次元物体モデルにかかる力
を算出するようにし、前記力
は次のように算出され、
ここで、βは圧力の大きさを示すパラメータで固定値を有し、Cは前記3次元物体モデルの属性である表面積ベクトルで、
は前記3次元物体モデルの移動方向の速度ベクトルであり、摩擦力
は次のように算出され、
ここで、
は重力加速度を示し、μは動作摩擦係数で、Sz=0は前記3次元物体モデルの床との接地面積で、
は前記3次元物体モデルの床を押す力であり、前記外環境における周囲の物体との反作用力
は次のように算出され、
ここで、
は前記3次元物体モデルの体積変化で、
であり、
は時刻tにおける前記3次元物体モデルの体積を示し、
は時刻t+1における前記3次元物体モデルの体積を示し、また、
と定義し、地面に作用する力
は次のように算出され、
ここで、Δmiは区分領域の3次元物体モデルの質量の変化で、Δmi=mi(t+1)−mi(t)であり、mi(t),mi(t+1)は、それぞれ時刻tとt+1における区分領域iの質量を表す。また、
は下記のように定義され、
ただし、ρは地面の種類によるパラメータであり、重力
は次のように算出され、
ここで、mは前記3次元物体モデルの質量であることによって効果的に達成される。
ここで、tiは、ノットベクトルと呼ばれる単調増加の数列
の各値であり、mは階数、nは制御点数を示し、前記NURBS曲面は、次の数式によって定義されており、
ただし、
は幾何学空間における制御点を表し、(u,v)各方向のノットベクトルを
前記NURBS曲面を(u軸の制御点の数)×(v軸の制御点の数)個の面上の点から生成される3角形パッチに近似するようにし、前記NURBS曲面の制御点
を移動させることによって、前記3次元物体モデルの形状を変化させるようにすることにより、或いは、前記3次元物体モデルの「体積、密度、表面積」を前記3次元物体モデルの持つ属性とし、前記属性の差分値を変数値にとる力の関数によって、前記外環境に置かれる前記3次元物体モデルにかかる力
を算出するようにし、前記力
は次のように算出され、
ここで、βは圧力の大きさを示すパラメータで固定値を有し、Cは前記3次元物体モデルの属性である表面積ベクトルで、
は前記3次元物体モデルの移動方向の速度ベクトルであり、摩擦力
は次のように算出され、
ここで、
は重力加速度を示し、μは動作摩擦係数で、Sz=0は前記3次元物体モデルの床との接地面積で、
は前記3次元物体モデルの床を押す力であり、前記外環境における周囲の物体との反作用力
は次のように算出され、
ここで、
は前記3次元物体モデルの体積変化で、
であり、
は時刻tにおける前記3次元物体モデルの体積を示し、
は時刻t+1における前記3次元物体モデルの体積を示し、また、
と定義し、地面に作用する力
は次のように算出され、
ここで、Δmiは区分領域の3次元物体モデルの質量の変化で、Δmi=mi(t+1)−mi(t)であり、mi(t),mi(t+1)は、それぞれ時刻tとt+1における区分領域iの質量を表す。また、
は下記のように定義され、
ただし、ρは地面の種類によるパラメータであり、重力
は次のように算出され、
ここで、mは前記3次元物体モデルの質量であることによって効果的に達成される。
また、本発明は、外環境を表す3次元空間に配置される3次元物体モデルの形状変形による動作生成を可能にし、且つ、強化学習を取り入れた3次元物体モデルの動作生成方法に関し、本発明の上記目的は、前記3次元物体モデルは、複数の多項式曲面で構成される閉曲面モデルであり、自らの形状変形により前記外環境に作用し、前記外環境からの反作用力で自身を移動させるようになっており、前記3次元物体モデルの動作生成に前記強化学習を適用し、前記強化学習における「行動」とは、「前記3次元物体モデルを構成する前記多項式曲面の制御点の移動をどのように制御するか」に相当し、また、前記強化学習における「エージェント」とは、「前記3次元物体モデル」に相当し、所定の目標点に辿り着くといった目的を前記3次元物体モデルに与え、前記目的に応じた「行動」を、「エージェント」である前記3次元物体モデル自身が学習することによって、前記3次元物体モデルは、前記目的を達成するための所定の動作を自律的に獲得するようにすることにより、或いは、前記3次元物体モデルが自身で前記制御点を移動させることにより、形状を変化させるステップと、形状の変化に伴う前記3次元物体モデルの属性である「体積、密度、表面積」の変化を算出するステップと、前記3次元物体モデルの形状及び属性の変化に応じて、前記外環境が前記3次元物体モデルに前記反作用を及ぼすことによって、前記3次元物体モデルが移動するステップと、前記3次元物体モデルの移動に応じた報酬を取得し、価値関数を更新するステップと、政策(前記価値関数、行動選択規則)に対応した行動選択を行い、前記3次元物体モデルが選択された行動に従って、形状を変化させるステップとを有し、これらのステップを繰り返すことにより、前記3次元物体モデルは、前記目的を達成するための所定の動作を自律的に獲得することにより、或いは、前記3次元物体モデルは、複数のNURBS曲面で構成される閉曲面モデルであり、前記強化学習の手法として、Q-Learning法を用い、更に、状態を大きく区切り、最終目標を拡大したような目標領域を作り、そこまでの移動を学習する第1のステップと、ここまでの学習で目標となっていた領域を区分し、前回の目標よりは小さめの最終目標を内包する領域を設定する第2のステップと、前回の学習で作られた価値関数を継承し、学習を進める第3のステップと、目標領域が最終目標領域と同一になるまでに、第2のステップと第3のステップを繰り返す第4のステップとを有し、前記第1のステップ〜第4のステップを踏みながら学習を進めることによってより効果的に達成される。
まず、本発明に係る3次元物体モデルの動作生成方法を適用する際に、3次元物体モデルの動作生成には3次元物体モデルの形状、質量、動作点の制限が必要であるが、3次元物体モデルの形状さえ与えれば、他の必要なパラメータの算出または設定が容易で、3次元物体モデルの動作生成を簡単に行うことができるという優れた効果を奏する。
そして、本発明では、3次元物体モデルの形状・属性と外環境を、完全に切り離して考えているので、ユーザは3次元物体モデルの初期形状と外環境を独立かつ任意に設定することができ、また、変形不可能箇所や体積量などの制約を3次元物体モデルに与えることも可能である。よって、本発明を用いれば、同一の3次元物体モデルを様々な外環境に入れることや、同一の外環境に色々な3次元物体モデルを入れることができ、様々な3次元物体モデルと外環境の組合せにおいて、3次元物体モデルの動作生成が可能になるといった優れた効果を奏する。
また、本発明では、この変形可能な3次元物体モデルに対し、与えられた環境の中で目標点にたどり着くという目的を与え、形状の変化を学習させることで動作を獲得させるようにしているので、よって、従来方法ではできなかった、スケルトンが生成しにくい軟体の動作表現や内部構造が途中で変化するような物体の動作も、本発明を適用することによって簡単に生成することが可能となるといった格別な効果を奏する。
本発明の着眼点として、様々な環境下における3次元物体モデル(形状モデル)の変形による動作生成の枠組みを提案することであって、より詳細に説明すると、スケルトンを使用せず多項式曲面で構成される3次元物体モデルを変形させ、そのスケルトンを考えずに制御点の移動による3次元物体モデルの形状変形に伴う外環境との反作用によって、3次元物体モデルの動作を獲得し、さらに、外環境における所定の目標点に辿り着くという目的を3次元物体モデルに提示し、制御点の移動方法(移動規則)を3次元物体モデル自身に学習させることによって、3次元物体モデルは所定の目標点に辿り着くまでの動作を自律的に獲得することである。
以下、図面を参照しながら、本発明で使用する基本概念の説明から、本発明を実施するための最良の形態を詳細に説明する。
本発明では、3次元物体モデルを従来のように「スケルトンと形状」と言った形式で考えるのではなく、3次元物体モデルを「形状」によって定義し、3次元物体モデルが元々持っている情報は「形状と質量」であり、また、3次元物体モデルの形状から計算される体積や表面積等の物理情報(物理量)が3次元物体モデルの属性として付与される。
本発明では、3次元物体モデルは、自ら形状を変形でき、それに伴ってこれらの属性にも変化が生じる。この変化に応じて外環境に3次元物体モデル自身が作用し、そして、その反作用として、3次元物体モデルは外環境から力を受ける。その受ける力によって3次元物体モデルは移動することができる。本発明では、この流れを3次元物体モデル自身の変形による移動として捉え、ある地点に辿り着く目的を3次元物体モデルに与えることによって、目的を達成するための3次元物体モデルの形状変形を学習する。また、学習手法としては、強化学習を用いる。
<1> 本発明に係る3次元物体モデルの動作生成方法の概要
ここでは、本発明に係る3次元物体モデルの動作生成方法の概要を示す。
<1−1> 学習の概要
本発明に係る3次元物体モデルの動作生成方法において、その処理の流れを図1に示す。図1に示されるように、まず、3次元空間(以下、単に空間とも称する)中に、3次元物体をモデリングして得られた形状モデル(以下、3次元物体モデル、3次元モデル、又は、単に物体とも称する)を配置する。
<1> 本発明に係る3次元物体モデルの動作生成方法の概要
ここでは、本発明に係る3次元物体モデルの動作生成方法の概要を示す。
<1−1> 学習の概要
本発明に係る3次元物体モデルの動作生成方法において、その処理の流れを図1に示す。図1に示されるように、まず、3次元空間(以下、単に空間とも称する)中に、3次元物体をモデリングして得られた形状モデル(以下、3次元物体モデル、3次元モデル、又は、単に物体とも称する)を配置する。
本発明では、動作生成の対象となる3次元物体モデルを多項式曲面モデルとし、つまり、3次元物体の表面形状を多項式曲面で表現したモデルを、本発明で用いる3次元物体モデルとする。好ましくは、本発明で用いる3次元物体モデルは、制御点の移動により変形操作が可能であるNURBS(Non Rational B-Spline Surface)曲面によって定義される。つまり、本発明において、好適に、3次元物体モデルは、NURBS曲面パッチで構成され、全体で閉曲面によって構成されるようになっている。
上述したように、本発明で用いる3次元物体モデルは、NURBS曲面モデルをはじめとする多項式曲面モデルであるため、複数の制御点の位置情報によって3次元物体モデルの形状を決定してしまい、制御点毎にその変化範囲と移動速度を与えることにより、3次元物体モデルの形状変形を制御することができる。つまり、制御点に特徴を与えることによって、自由に変形できる面、一方向にしか変形できない面、固定された面等の様々な性質を3次元物体モデルの表面形状の各部分に与えることが可能である。
また、本発明では、3次元空間を、3次元物体モデルに対し、圧力等の影響を与え続ける外環境(以下、単に、環境とも称する)として定義する。
本発明では、図1に示されるように、3次元物体モデルは、自ら制御点を動かすことにより、その形状を変形させることができる。この変形に応じて3次元物体モデルは、外環境との影響より、自身を時刻tの位置Stからワンステップ後の位置、つまり、時刻t+1の位置St+1へ移動させる。3次元物体モデル移動の原理は、<1−2>で概要的に述べる。
そして、図1に示されるように、本発明では、与えられた外環境の中で目標点(Goal)にたどり着く目的を3次元物体モデルに与え、その3次元物体モデルの変形に伴う移動を繰り返すことによって、3次元物体モデルが目標点(Goal)にたどり着くという目的を達成するようにしている。これを1回の学習と考える。目標点にたどり着くことにより、価値関数(value-function)は更新され、1回1回の変形を選択する(Action select)政策(policy)が変化する。この学習を繰り返すことにより、3次元物体モデルは、目標点にたどり着くための動きを獲得する。
本発明では、3次元物体モデル自身を、学習をするエージェント(Agent)として捉えられるために、強化学習手法を用いる。強化学習手法として、本発明では、好適に、強化学習法の一種であるQ-Learning法を用いる。
<1−2> 3次元物体モデル移動の原理
本発明に係る3次元物体モデルの動作生成方法において、3次元物体モデル移動の原理を図2に模式的に示す。
<1−2> 3次元物体モデル移動の原理
本発明に係る3次元物体モデルの動作生成方法において、3次元物体モデル移動の原理を図2に模式的に示す。
図2に示されるように、制御点の移動による変形に伴い、3次元物体モデルは、形状だけでなく、体積、表面積、密度などの物理量、つまり、3次元物体モデルの属性も変化するようになる。3次元物体モデル移動の原理として、まず、3次元物体モデルに対し、変形前と変形後の状態でこれらの物理量(属性)をそれぞれ計算する。次に、変形前と変形後のそれらの物理量(属性)の差分を取る。この差分量が、3次元物体モデルが外環境に作用する力となる。
そこで、3次元物体モデルは、作用に伴う外環境からの反作用の力を得る。この反作用力によって、3次元物体モデルに加速度が生じ、3次元物体モデル自身が移動するようになる。また、3次元物体モデルは、外環境からの反作用力だけでなく、移動に伴う抵抗力も受ける。上記のような処理を繰り返すことにより、一つの動作となる。本発明では、強化学習を用いて、3次元物体モデルにこの動作を自律的に獲得させるようにしている。
<2> 本発明で使用される3次元物体モデル(形状モデル)の生成方法及び3次元物体モデルの形状変形方法
前述したように、本発明で使用される3次元物体モデル(形状モデル)は、好適に、複数のNURBS曲面パッチで構成されている閉曲面モデルである。ここで、本発明で使用される3次元物体モデル(形状モデル)の具体的な生成方法、及び生成された3次元物体モデルの形状変形の制御方法を示す。
<2−1> Bスプライン基底関数
本発明では、NURBSの定義関数から3次元物体モデルを作成する。NURBSでは、Bスプライン基底関数と制御点列を掛け合わせることにより、NURBS曲面の式を得るようにしている。
<2> 本発明で使用される3次元物体モデル(形状モデル)の生成方法及び3次元物体モデルの形状変形方法
前述したように、本発明で使用される3次元物体モデル(形状モデル)は、好適に、複数のNURBS曲面パッチで構成されている閉曲面モデルである。ここで、本発明で使用される3次元物体モデル(形状モデル)の具体的な生成方法、及び生成された3次元物体モデルの形状変形の制御方法を示す。
<2−1> Bスプライン基底関数
本発明では、NURBSの定義関数から3次元物体モデルを作成する。NURBSでは、Bスプライン基底関数と制御点列を掛け合わせることにより、NURBS曲面の式を得るようにしている。
本発明では、3次元物体モデルを生成するために、まず、下記数1に示すde Boor Coxの斬化式を用いて、Bスプライン基底関数を定義する(非特許文献10を参照)。
m=1から段階的に関数を求めることによって、任意の階数mのBスプライン基底関数が求まる。なお、数1の係数部分が0/0となる場合は、0/0=0とする。
<2−2> NURBS曲面の定義
本発明では、次に、<2−1>で説明した方法で求めたBスプライン基底関数を用いて、下記数2を用いて、NURBS曲面を定義する(非特許文献11及び非特許文献12を参照)。
<2−2> NURBS曲面の定義
本発明では、次に、<2−1>で説明した方法で求めたBスプライン基底関数を用いて、下記数2を用いて、NURBS曲面を定義する(非特許文献11及び非特許文献12を参照)。
上記数2に基づいて、u,vの値に応じたNURBS曲面の点を求めることが可能となる。NURBS曲面上では、各u,vの間隔を一定にとり、隣り合う点を結ぶことによって、平面パッチを作り、NURBS曲面を表現している。
本発明では、上述した方法により生成されたNURBS曲面をNURBS曲面パッチとして、3次元物体モデルを構成する。
<2−3> NURBS曲面間の連続性
上述したように、本発明では、複数のNURBS曲面パッチを用いて、閉曲面モデルである3次元物体モデルを生成するようにしている。しかし、NURBSでは、制御点上を曲面が通るわけではなく、NURBS曲面同士を連結させるのは困難である。
<2−3> NURBS曲面間の連続性
上述したように、本発明では、複数のNURBS曲面パッチを用いて、閉曲面モデルである3次元物体モデルを生成するようにしている。しかし、NURBSでは、制御点上を曲面が通るわけではなく、NURBS曲面同士を連結させるのは困難である。
そこで、本発明で使用される3次元物体モデルにおいて、連結する各NURBS曲面に、つまり、3次元物体モデルを構成する各NURBS曲面パッチ間に、以下の条件(イ)及び条件(ロ)を付け加えるようにする(非特許文献10を参照)。
(イ)連結させる方向の連結部分の端末ノットが、階数分多重になっている。
(ロ)連結される辺に沿った制御点が、すべて一致している。
(イ)連結させる方向の連結部分の端末ノットが、階数分多重になっている。
(ロ)連結される辺に沿った制御点が、すべて一致している。
上記条件(イ)及び条件(ロ)を満たせば、2曲面の接合部がG0連続となる。
従って、境界においては、下記数3を満たすことが、NURBS曲面間(つまり、図3においては、第1のNURBS曲面パッチと第2のNURBS曲面パッチとの間)がG1連続になる条件となる(非特許文献13を参照)。
尚、ある点
において、Gn連続であると言うことは、その点においてn階微分が可能であることを示す。
<2−4> 3次元物体モデルの形状変形の方法と変化範囲
上記数2によって定義されるNURBS曲面は、その制御点
や重みωi,jを変化させることによって、変形可能である(非特許文献14を参照)。
において、Gn連続であると言うことは、その点においてn階微分が可能であることを示す。
<2−4> 3次元物体モデルの形状変形の方法と変化範囲
上記数2によって定義されるNURBS曲面は、その制御点
や重みωi,jを変化させることによって、変形可能である(非特許文献14を参照)。
本発明では、上記数2で定義されたNURBS曲面を複数用いて構成された3次元物体モデルにおいて、NURBS曲面の制御点
を動かすことによって、物体の形状、より厳密に言うと、3次元物体モデルの形状を変化させるようにしている。制御点
は、初期形状との相対位置で与えられており、3次元の位置情報を持つ。
を動かすことによって、物体の形状、より厳密に言うと、3次元物体モデルの形状を変化させるようにしている。制御点
は、初期形状との相対位置で与えられており、3次元の位置情報を持つ。
ただし、ここで留意しなければならないことは、NURBS曲面の制御点
は、図4(A)から分かる通り、NURBS曲面上の点を直接に示すわけではないと言うことである。つまり、NURBS曲面の制御点の移動範囲を限定するだけでは、同一3次元物体モデル内のNURBS曲面同士の交差を防ぐことが不可能である。
は、図4(A)から分かる通り、NURBS曲面上の点を直接に示すわけではないと言うことである。つまり、NURBS曲面の制御点の移動範囲を限定するだけでは、同一3次元物体モデル内のNURBS曲面同士の交差を防ぐことが不可能である。
このため、本発明では、1つのNURBS曲面を(u軸の制御点の数)×(v軸の制御点の数)個の面上の点から生成される3角形パッチに近似するようにする。
そして、本発明では、図4(B)に示されるように、この3角形パッチモデルを形状の近似モデルとし、制御点ではなくこれらの点、つまり、制御点と同数の面上の点の移動範囲を限定することによって、NURBS曲面同士の交差を防ぐようにしている。
さらに、本発明では、図5に示されるように、ユーザが物体(3次元物体モデル)の重心を中心とした、x,y,z各軸ごとに変化可能な範囲や速度を設定することにより、3次元物体モデルにおける形状の変化しない面や、3次元物体モデルにおける限定された範囲しか変化できない面を作り出すことが可能である。
<3> 本発明における3次元物体モデルの移動
3次元物体モデルは、自らの変形により外環境に作用し、その反作用の力で自身を移動させる(非特許文献15を参照)。本発明では、外環境と3次元物体モデルを完全に切り離して考えるようにしている。
<3> 本発明における3次元物体モデルの移動
3次元物体モデルは、自らの変形により外環境に作用し、その反作用の力で自身を移動させる(非特許文献15を参照)。本発明では、外環境と3次元物体モデルを完全に切り離して考えるようにしている。
本発明では、外環境を表すパラメータとして、圧力、摩擦力、重力を用い、また、所定の環境でこれらのパラメータの値が常に一定となることを前提とする。
更に、本発明では、3次元物体モデル自身には、時間ごとの体積、密度を計算し、そして、座標軸ごとの表面積を時間ごとに計算し、計算して得られたこれらの値、つまり、「体積、密度、表面積」を3次元物体モデルの持つ属性とする。また、本発明では、物体の質量が一定であることを前提とする。
以下に、本発明における3次元物体モデルの移動に必要な、3次元物体モデルの属性の計算方法、及び、3次元物体モデルと外環境の関係による力の発生原理を詳細に説明する。
<3−1> 3次元物体モデルの属性の計算方法
上述したように、本発明では、3次元物体モデルの属性とは、3次元物体モデルの「体積、密度、表面積」の3つである。
<3−1> 3次元物体モデルの属性の計算方法
上述したように、本発明では、3次元物体モデルの属性とは、3次元物体モデルの「体積、密度、表面積」の3つである。
本発明では、3次元物体モデルの属性を求めるための基本的な値は、任意の点において、3次元物体モデルを各軸に垂直な平面で切った場合の切断面の面積(以下、この面積を切断面積とも称する)である。
始めに、3次元物体モデルをx,y,z各軸に垂直な平面で切った時の切断面の面積の求め方を説明する。まず、図6を参照しながら、3次元物体モデルをz軸に垂直な平面で切った場合の切断面積Szを考える。
本発明では、外環境を表す3次元空間において、物体(3次元物体モデル)の持つワールド座標がz=0の場合に、物体(3次元物体モデル)が床に設置されているとする。
なお、本発明では、上述した「床」という言葉は、外環境を表す3次元空間における「地面」のことを意味し、つまり、前述した「物体(3次元物体モデル)が床に設置されている」は「物体(3次元物体モデル)が地面に設置されている」となるわけである。また、以降の説明では、「床」、「地面」といった2つの言葉を使用するが、それらの意味は全く同じであることは、言うまでも無い。
まず、3次元物体モデルが持つx軸の最大値xmaxと最小値xminを求め、そして、領域(xmin≦x≦xmax)で積分する。
つまり、3次元物体モデルをz軸に垂直な平面で切った場合の切断面積Szは、下記数4を用いて求める。
そして、求めた切断面積Sx,Sy,Szを利用し、3次元物体モデルの様々な属性値、つまり、3次元物体モデルの3つの属性である「体積、表面積、密度」を求める。
3次元物体モデルの属性である「体積V」を求めるには、下記数5を用いる。
次に、3次元物体モデルの属性である「表面積」の求め方を説明する。また、本発明では、物体の移動、つまり、3次元物体モデルの移動にかかる外環境からの抵抗(つまり、圧力)は、図7における物体の移動方向と逆方向の矢印に示されるように、与えられることを前提とする。
本発明では、3次元物体モデルの属性である「表面積」とは、物体(3次元物体モデル)の実際の表面積を意味するのではなく、図7における3本の縦の直線に示されるように、物体の移動方向、つまり、3次元物体モデルの進む方向の速度ベクトル
に対して、抵抗力(圧力)が働く部分の写像面積を意味する。以下、その写像面積を単に3次元物体モデルの属性である「表面積」とも称する。
に対して、抵抗力(圧力)が働く部分の写像面積を意味する。以下、その写像面積を単に3次元物体モデルの属性である「表面積」とも称する。
例えば、3次元物体モデルのz軸の表面積ベクトルCzは、以下のアルゴリズムによって求められる。
そして、3次元物体モデルの属性である「密度」の求め方を説明する。密度に関しては、本発明では物体内部で一定と仮定する。つまり、3次元物体モデルの質量をmとすると、3次元物体モデルの密度σは、σ=m/Vで求められる。
<3−2> 力の発生原理
<3−2−1> 外環境から3次元物体モデルに常に与えられる力
本発明では、外環境から3次元物体モデルに常に与えられる力を、圧力、摩擦力、重力に分けるようにしている。また、3次元物体モデルの移動は、3次元物体モデルの重心にかかる力によって発生するとしている。
そして、3次元物体モデルの属性である「密度」の求め方を説明する。密度に関しては、本発明では物体内部で一定と仮定する。つまり、3次元物体モデルの質量をmとすると、3次元物体モデルの密度σは、σ=m/Vで求められる。
<3−2> 力の発生原理
<3−2−1> 外環境から3次元物体モデルに常に与えられる力
本発明では、外環境から3次元物体モデルに常に与えられる力を、圧力、摩擦力、重力に分けるようにしている。また、3次元物体モデルの移動は、3次元物体モデルの重心にかかる力によって発生するとしている。
まず、3次元物体モデル全体の移動による抵抗力は、圧力から考えられる。前述したように、圧力からの抵抗は、図7に示されるように考えられる。
下記数7に示すように、<3−1>で述べたアルゴリズムによって求まった領域(つまり、3次元物体モデルの属性である表面積ベクトルC)と物体の速度(つまり、3次元物体モデルの移動方向の速度ベクトル
)に比例する形で、抵抗力
(つまり、圧力からの抵抗)は与えられる。
)に比例する形で、抵抗力
(つまり、圧力からの抵抗)は与えられる。
また、摩擦力が抵抗として考えられる場合は、3次元物体モデルが移動している場合であり、動作摩擦係数μによる抵抗を考えることができる。
まず、圧力を与える外環境における空気や水といった周囲の物体との反作用力
(つまり、外環境における水や空気といった周囲の物体を押し出す力)を考える。
は、3次元物体モデルの体積変化
によって決定し、下記数10で求められる。
(つまり、外環境における水や空気といった周囲の物体を押し出す力)を考える。
は、3次元物体モデルの体積変化
によって決定し、下記数10で求められる。
を3次元物体モデルの重心から前と後ろで別々の変化として考え、ΔVtop,ΔVbottomを、数6によって求められたVtop,Vbottomに基づいて、各軸ごとに求めている。
そして、求められたΔVtop,ΔVbottomを用いることにより、数10は下記数12のように変形される。
また、下記数15に示すように、x軸において(Fground)xを求める。
であり、
は、それぞれ時刻tとt+1における区分領域iの体積を表す。
なお、x軸において(Fground)xと同じ方法で、y軸において(Fground)yを求める。
<3−2−3> 外環境に置かれる3次元物体モデルにかかる力
本発明では、上記数7〜数16により、外環境に置かれる3次元物体モデルにかかる力を下記数17のように求める。つまり、本発明では、3次元物体モデルの属性の差分値を変数値にとる力の関数によって、外環境に置かれる3次元物体モデルにかかる力を算出するようにしている。
上記数17は、外環境が現実世界で、その現実世界に置かれる物体(3次元物体モデル)にかかる力を算出するための式である。しかし、本発明では、外環境に対し、抵抗力と反作用力を別々に考え、それぞれに異なるパラメータを用いることも可能である。つまり、外環境が仮想的な環境である場合も考慮に入れると、数17を以下のように書き直すことができる。
また、本発明を適用する際に、上記数7〜数20において使用されるパラメータβ,μ0,μ,ρ,φ,ψを、ユーザが設定することにより、現実世界も仮想的な環境も含めて様々な外環境を定義することができる。
例えば、パラメータβを0に設定すれば、全く圧力が加わらない「真空状態」を外環境として定義することができる。また、パラメータμ0,μをそれぞれ0に設定すれば、摩擦の生じない「氷上」のような面を外環境として定義することもできる。
<4> 本発明に取り入れられた強化学習について
強化学習とは、機械学習の中の一手法であるが、本来、動物心理学あるいは動物行動学の分野で用いられた用語である。ラットなどの動物に、ある行動を起こした場合に限り、えさなどの報酬を与えるという操作を繰り返すと、その行動パターンが徐々に“強化”され、ついには報酬が与えられなくても同様な行動を起こすようになる。典型的にはこのように報酬を契機として行動パターンを学習する場合に用いられる用語であるが、広くは罰による行動の抑制も含めて、「条件付け」といわれる一連の適応現象を実現する学習を「強化学習」と呼ぶ。
<4> 本発明に取り入れられた強化学習について
強化学習とは、機械学習の中の一手法であるが、本来、動物心理学あるいは動物行動学の分野で用いられた用語である。ラットなどの動物に、ある行動を起こした場合に限り、えさなどの報酬を与えるという操作を繰り返すと、その行動パターンが徐々に“強化”され、ついには報酬が与えられなくても同様な行動を起こすようになる。典型的にはこのように報酬を契機として行動パターンを学習する場合に用いられる用語であるが、広くは罰による行動の抑制も含めて、「条件付け」といわれる一連の適応現象を実現する学習を「強化学習」と呼ぶ。
つまり、機械学習における強化学習とは、数値化された報酬信号を最大にするために、何をすべきか、即ち、どのようにして状況(状態)に基づく行動選択を行うかを学習することである(非特許文献16を参照)。
この強化学習を上述した本発明の3次元物体モデルの動作生成方法に取り入れた場合、つまり、3次元物体モデルの動作生成に強化学習を適用する際に、強化学習で言う「行動」とは、「3次元物体モデルを構成する多項式曲面(本実施形態では、NURBS曲面)の制御点の移動をどのように制御するか」に相当し、また、「エージェント」とは、「3次元物体モデル」に相当する。
ここで、まず、強化学習の基本的な枠組みを図9に示す。図9に示されるように、強化学習において、エージェントは、以下のステップに沿って学習を行う。
ステップ1A:
感覚入力(sensory input)に対し、状態観測器(state observer)により、現在の状態(state)を判断する。
ステップ1B:
ステップ1Aで判断された状態と政策(policy)に基づいて、エージェントの行動(action)を選択する。
ステップ1C:
ステップ1Bで選択されたエージェントの行動に対し、学習デバイス(learning device)が環境(environment)から報酬(rate)を得る。
ステップ1D:
得た報酬から、学習デバイスが価値関数(value-function)を更新する。
ステップ1A:
感覚入力(sensory input)に対し、状態観測器(state observer)により、現在の状態(state)を判断する。
ステップ1B:
ステップ1Aで判断された状態と政策(policy)に基づいて、エージェントの行動(action)を選択する。
ステップ1C:
ステップ1Bで選択されたエージェントの行動に対し、学習デバイス(learning device)が環境(environment)から報酬(rate)を得る。
ステップ1D:
得た報酬から、学習デバイスが価値関数(value-function)を更新する。
上記ステップ1A〜ステップ1Dの繰り返しによって、エージェントは、より高報酬が得られるように学習を進める。報酬には、即時報酬と割引報酬がある。即時報酬とは、現在の状態の望ましさを示す。また、割引報酬とは、行動選択を続ける中で、将来的に訪れる状態の望ましさを示す。
尚、上記ステップ1Bにおいて、エージェントの行動(action)を選択するのに、政策の重みによるルーレット選択や、一定の確率で最大の政策を選択するεグリーディ(ε−greedy)選択等を用いることができる。
<4−1> Q-Learning法
本発明に係る3次元物体モデルの動作生成方法において、この強化学習法の一種であるQ-Learning法を用いて、目標を提示することで、3次元物体モデルが動作を自律的に獲得できるようにしている。
<4−1> Q-Learning法
本発明に係る3次元物体モデルの動作生成方法において、この強化学習法の一種であるQ-Learning法を用いて、目標を提示することで、3次元物体モデルが動作を自律的に獲得できるようにしている。
Q-Learning法とは、TD学習の一つである。TD学習では、TD誤差と呼ばれるものを用いて、このTD誤差を0に近づけていくという方法で学習を進める。TD誤差とは、現在の状態の評価値と実際に行動してみて、その状態の評価が正しかったかどうかという誤差である。
Q-Learning法では、状態と行動を一つのセットとして考える。つまり、それぞれの状態stに、その状態で選択できる行動atの数だけ評価値がある。それぞれの評価値をQ値と呼び、これがどのように更新されるかを考える。Q値の更新式は、下記数21で示される(非特許文献17を参照)。
は、それぞれ即時報酬と割引報酬を意味しているので、
は、状態stの時に得た報酬(つまり、即時報酬及び割引報酬)と価値関数の誤差を表す。エージェントはこの誤差が小さくなるように、状態行動価値関数について学習する。
<4−2> 価値関数
ここで、本発明に強化学習を取り入れた場合に、3次元物体モデルが3次元空間(外環境)を移動する時の状態と行動を定義する。3次元物体モデルの重心が存在する位置と、その時の3次元物体モデルの形状が状態となる。
次に、形状状態Sshapeは、動作可能点と重心の相対的な座標位置で示される。つまり、動作可能点のうち1点で3次元の情報をもつ。動作可能点数をnとすると、形状状態Sshapeの要素数は3nとなる。形状状態Sshapeも、位置状態と同様に空間を離散化し、1次元配列に変更される。
行動Aは、各状態でそれぞれの点が取る行動を組み合わせたものである。動作可能点の個数を
、各点が状態Sで取れる行動数をmsとすると、行動の要素数は
で示される。こちらも状態と同様に1次元配列に変更される。
、各点が状態Sで取れる行動数をmsとすると、行動の要素数は
で示される。こちらも状態と同様に1次元配列に変更される。
以上の操作により、価値関数は3次元配列で表現される。図10(A)は、2次元の仮想空間で、目標位置を設定し、状態を点線で区切ったものを図示したものである。多次元の空間を区分化し、離散的な状態とする場合に、状態の総数は領域の大きさを狭くするほど指数関数的に膨らむ。状態の総数が増えるほど、学習に必要となる時間も、また増大する。
そこで、本発明では、以下のようなステップを踏みながら、学習を進めることにより、状態の総数の増加に伴う学習時間の増大を軽減する。
ステップ2A:
図10(B)に示されるように、状態を大きく区切り、最終目標を拡大したような目標領域を作り、そこまでの移動を学習する。
ステップ2B:
図10(C)に示されるように、ここまでの学習で目標となっていた領域を区分し、前回の目標よりは小さめの最終目標を内包する領域を設定する。
ステップ2C:
前回の学習で作られた価値関数を継承し、学習を進める。
ステップ2D:
図10(D)に示されるように、目標領域が最終目標領域と同一になるまでに、ステップ2Bとステップ2Cを繰り返す。
ステップ2A:
図10(B)に示されるように、状態を大きく区切り、最終目標を拡大したような目標領域を作り、そこまでの移動を学習する。
ステップ2B:
図10(C)に示されるように、ここまでの学習で目標となっていた領域を区分し、前回の目標よりは小さめの最終目標を内包する領域を設定する。
ステップ2C:
前回の学習で作られた価値関数を継承し、学習を進める。
ステップ2D:
図10(D)に示されるように、目標領域が最終目標領域と同一になるまでに、ステップ2Bとステップ2Cを繰り返す。
ステップ2A〜ステップ2Dを有するこの手法により、状態数と区分領域の関係を比例関係にまで落とすことができる。しかし、ここで価値関数を継承する時に、状態数が異なると言う問題が生じる。
そのため、本発明では、図11に示すように、状態空間を細分化し、前回の目標領域近傍に当たる位置状態の価値関数値を、細分化によって新たに作成された領域に複製する。
<4−3> 強化学習を取り入れた本発明の流れ
図12を参照しながら、強化学習を取り入れた本発明に係る3次元物体モデルの動作生成方法の基本的な流れを以下のように説明する。
ステップ3A:
3次元物体モデルが自身で制御点を移動させることにより、形状を変化させる。
ステップ3B:
形状の変化に伴う3次元物体モデルの体積、表面積、質量、密度の変化を観測する。つまり、3次元物体モデルの属性を計算する。
ステップ3C:
3次元物体モデルの形状及び属性の変化に応じて、外環境が3次元物体モデルに反作用を及ぼし、よって、3次元物体モデルが移動する。
ステップ3D:
3次元物体モデルの移動に応じた報酬を取得し、価値関数を更新する。
ステップ3E:
政策(価値関数、行動選択規則)に対応した行動選択を行う。3次元物体モデルが選択された行動(つまり、制御点の移動制御)に従って、形状を変化させる。
<4−3> 強化学習を取り入れた本発明の流れ
図12を参照しながら、強化学習を取り入れた本発明に係る3次元物体モデルの動作生成方法の基本的な流れを以下のように説明する。
ステップ3A:
3次元物体モデルが自身で制御点を移動させることにより、形状を変化させる。
ステップ3B:
形状の変化に伴う3次元物体モデルの体積、表面積、質量、密度の変化を観測する。つまり、3次元物体モデルの属性を計算する。
ステップ3C:
3次元物体モデルの形状及び属性の変化に応じて、外環境が3次元物体モデルに反作用を及ぼし、よって、3次元物体モデルが移動する。
ステップ3D:
3次元物体モデルの移動に応じた報酬を取得し、価値関数を更新する。
ステップ3E:
政策(価値関数、行動選択規則)に対応した行動選択を行う。3次元物体モデルが選択された行動(つまり、制御点の移動制御)に従って、形状を変化させる。
ステップ3A〜ステップ3Eを繰り返すことにより、所定の目標点に辿り着くといった目的に応じた行動(つまり、3次元物体モデルが所定の目標点に辿り着くために、どうのように3次元物体モデルを構成する多項式曲面、本実施形態では、NURBS曲面の制御点を移動させるか)を、エージェントである3次元物体モデル自身が学習する。よって、3次元物体モデルは、所定の目標点に辿り着くための動作を自律的に獲得する。
<5> 本発明を適用した実験及びその結果
以下、本発明に係る3次元物体モデルの動作生成方法を具体的な3次元物体モデルに適用して得られた結果について説明する。
<5−1> 点の単振動による動作
図13と図14は、本発明に係る3次元物体モデルの動作生成方法を適用して、それぞれ水中と地上に模した環境下(外環境下)で、物体(つまり、3次元物体モデル)を動作させた映像である。
<5> 本発明を適用した実験及びその結果
以下、本発明に係る3次元物体モデルの動作生成方法を具体的な3次元物体モデルに適用して得られた結果について説明する。
<5−1> 点の単振動による動作
図13と図14は、本発明に係る3次元物体モデルの動作生成方法を適用して、それぞれ水中と地上に模した環境下(外環境下)で、物体(つまり、3次元物体モデル)を動作させた映像である。
図13及び図14において、3次元物体モデルとして、質量20で半径2の球体を用いており、図13も図14も1点を単振動させている。図13及び図14は、<3>で述べた本発明の3次元物体モデルの動作生成方法により動作しており、つまり、数7〜数20を実装することにより、3次元物体モデルである質量20で半径2の球体を動作させている。
また、図13と図14では、外環境を示すパラメータのみを変えている。表1は、図13及び図14における実際に導入した具体的なパラーメータの値を示す。本発明を適用するにあたって、外環境を表すパラメータを変えることにより、複数の環境で3次元物体モデルを動作させることが可能であることが確認された。
<5−2> 強化学習を取り入れた本発明の3次元物体モデルの動作生成方法による動作生成
次に、強化学習を取り入れた本発明に係る3次元物体モデルの動作生成方法を3次元物体モデルに適用した結果を示す。
123の体積を持つ3次元空間中に、<5−1>で述べた3次元物体モデル(つまり、質量20で半径2の球体)を配置し、目標位置状態空間Sgoal-posの大きさを13と設定した。目標位置状態空間Sgoal-posのうちの1つの状態に辿り着くことを目的とした学習を、3次元物体モデルである球体が行った結果を図15に示す。なお、学習には強化学習を用いており、教師データは一切与えられていない。
まず、図15において、図15(A)は表1に示される水中環境のパラメータ、図15(B)は表1に示される地上環境のパラメータを、それぞれ入力している。また、図15(A)及び図15(B)において、横軸は学習回数を示し、縦軸は動作成功確率を示す。そして、動作可能点数について、図15(A)では3点、図15(B)では2点とし、また、1点に対し5つの行動値が設定されており、各点は距離1の範囲内でしか動けないということを前提とする。
更に、200回の行動選択を行う間に、ゴールに辿り着けた場合を動作成功と見なし、即時報酬と割引報酬が与えられ、一方、ゴールに辿り着けなかった場合や、空間の壁に3次元物体モデルである球体が衝突したような場合は、割引報酬のみが与えられるようになっている。また、即時報酬はゴールに近い行動ほど大きな値を比例関係で与えられるようにする。
図15から、水中環境でも地上環境でも、学習回数の増加により、動作成功確率がだんだん高まっていき、最終的には動作成功確率が1に近づくことがよく分かる。図15に示された結果より、強化学習を取り入れた本発明に係る3次元物体モデルの動作生成方法によって、3次元物体モデルが自律的に動作を獲得したことが確認された。
また、図15(A)に比べ、図15(B)の学習収束速度が速いのは、図15(A)が水中環境における3次元物体モデルの3次元の動きを獲得しなければならないのに対して、図15(B)は地上環境における3次元物体モデルの2次元の動きを獲得すれば良いからである。
次に、<4−2>で述べたステップ2A〜ステップ2Dといった手順を取り入れた本発明を適用して得られた結果を説明する。つまり、図15(A)の場合と同じ条件で、目的とした領域に3次元物体モデルを辿り着かせるために、最終目的領域より大きな領域の中間地点を作る。そして、まず、中間領域までの動きの学習を行う。次に、その学習で得た価値関数をそのまま継承し、最終目的までの学習を行う。以上の段階を経ることによって、3次元物体モデルに学習させた結果を図16(A)に示す。図16(A)において用いた中間地点とは、最終目的領域を含む33の大きさの空間である。
図15(A)と比較して、図16(A)の学習収束速度が速いことを確認することができた。また、図16(A)において、学習回数が約6000回前後あたりで、動作成功確率が一度落ちているのは、その地点で中間地点までの学習を終了させ、その後、最終目的領域まで動く学習を進めたためである。
最後に、目標位置状態空間Sgoal-posの大きさを変化させた場合の結果を図16(B)に示す。図16(B)も、目標位置状態空間Sgoal-posの大きさを除いて、他は図16(A)と同様な学習をさせた。図16(B)において、目標位置状態空間Sgoal-posを、始め33の大きさを持つ領域と定義し、そして、中間地点に辿り着いた時点で、中間地点になっていた空間を13の領域に分割するようにした。図16(A)に比べ、図16(B)の学習収束速度が速いことを確認することができた。さらに、図16(B)では、価値関数を展開するに当たって消費するメモリ量も約1/200に抑えられた。
なお、上述した本発明の3次元物体モデルの動作生成方法に基づいて、例えば、水中を自由自在に泳ぐと言ったような複雑動作を単純な動作から構築することも可能であ。つまり、3次元物体モデルの取ることのできるプリミティブな動作を、学習を通しるて得た新たな動作に更新すれば良い。そのためには、学習によって作られた価値関数から、その価値関数の特徴を示す単純な関数を抽出し、プリミティブの更新による階層的な動作空間を構築し、構築された階層的な動作空間を利用することで、複雑多岐にわたる動作を生成することも可能である。
なお、上述した本発明の3次元物体モデルの動作生成方法に基づいて、例えば、水中を自由自在に泳ぐと言ったような複雑動作を単純な動作から構築することも可能であ。つまり、3次元物体モデルの取ることのできるプリミティブな動作を、学習を通しるて得た新たな動作に更新すれば良い。そのためには、学習によって作られた価値関数から、その価値関数の特徴を示す単純な関数を抽出し、プリミティブの更新による階層的な動作空間を構築し、構築された階層的な動作空間を利用することで、複雑多岐にわたる動作を生成することも可能である。
Claims (6)
- 外環境を表す3次元空間に配置される3次元物体モデルの形状変形による動作生成を可能にした3次元物体モデルの動作生成方法であって、
前記3次元物体モデルは、複数の多項式曲面で構成される閉曲面モデルであり、自らの形状変形により前記外環境に作用し、前記外環境からの反作用力で自身を移動させるようになっていることを特徴とする3次元物体モデルの動作生成方法。 - 前記3次元物体モデルは、複数のNURBS曲面で構成される閉曲面モデルであり、
Bスプライン基底関数は、次の数式によって定義されており、
ここで、tiは、ノットベクトルと呼ばれる単調増加の数列
の各値であり、mは階数、nは制御点数を示し、
前記NURBS曲面は、次の数式によって定義されており、
ただし、
は幾何学空間における制御点を表し、(u,v)各方向のノットベクトルを
前記NURBS曲面を(u軸の制御点の数)×(v軸の制御点の数)個の面上の点から生成される3角形パッチに近似するようにし、
前記NURBS曲面の制御点
を移動させることによって、前記3次元物体モデルの形状を変化させるようにする請求項1に記載の3次元物体モデルの動作生成方法。 - 前記3次元物体モデルの「体積、密度、表面積」を前記3次元物体モデルの持つ属性とし、前記属性の差分値を変数値にとる力の関数によって、前記外環境に置かれる前記3次元物体モデルにかかる力
を算出するようにし、
前記力
は次のように算出され、
ここで、βは圧力の大きさを示すパラメータで固定値を有し、Cは前記3次元物体モデルの属性である表面積ベクトルで、
は前記3次元物体モデルの移動方向の速度ベクトルであり、
摩擦力
は次のように算出され、
ここで、
は重力加速度を示し、μは動作摩擦係数で、Sz=0は前記3次元物体モデルの床との接地面積で、
は前記3次元物体モデルの床を押す力であり、
前記外環境における周囲の物体との反作用力
は次のように算出され、
ここで、
は前記3次元物体モデルの体積変化で、
であり、
は時刻tにおける前記3次元物体モデルの体積を示し、
は時刻t+1における前記3次元物体モデルの体積を示し、また、
と定義し、
地面に作用する力
は次のように算出され、
ここで、Δmiは区分領域の3次元物体モデルの質量の変化で、Δmi=mi(t+1)−mi(t)であり、mi(t),mi(t+1)は、それぞれ時刻tとt+1における区分領域iの質量を表し、また、
は下記のように定義され、
ただし、ρは地面の種類によるパラメータであり、
重力
は次のように算出され、
ここで、mは前記3次元物体モデルの質量である請求項2に記載の3次元物体モデルの動作生成方法。 - 外環境を表す3次元空間に配置される3次元物体モデルの形状変形による動作生成を可能にし、且つ、強化学習を取り入れた3次元物体モデルの動作生成方法であって、
前記3次元物体モデルは、複数の多項式曲面で構成される閉曲面モデルであり、自らの形状変形により前記外環境に作用し、前記外環境からの反作用力で自身を移動させるようになっており、
前記3次元物体モデルの動作生成に前記強化学習を適用し、前記強化学習における「行動」とは、「前記3次元物体モデルを構成する前記多項式曲面の制御点の移動をどのように制御するか」に相当し、また、前記強化学習における「エージェント」とは、「前記3次元物体モデル」に相当し、
所定の目標点に辿り着くといった目的を前記3次元物体モデルに与え、
前記目的に応じた「行動」を、「エージェント」である前記3次元物体モデル自身が学習することによって、前記3次元物体モデルは、前記目的を達成するための所定の動作を自律的に獲得するようになっていることを特徴とする3次元物体モデルの動作生成方法。 - 前記3次元物体モデルが自身で前記制御点を移動させることにより、形状を変化させるステップと、
形状の変化に伴う前記3次元物体モデルの属性である「体積、密度、表面積」の変化を算出するステップと、
前記3次元物体モデルの形状及び属性の変化に応じて、前記外環境が前記3次元物体モデルに前記反作用を及ぼすことによって、前記3次元物体モデルが移動するステップと、
前記3次元物体モデルの移動に応じた報酬を取得し、価値関数を更新するステップと、
政策(前記価値関数、行動選択規則)に対応した行動選択を行い、前記3次元物体モデルが選択された行動に従って、形状を変化させるステップと、
を有し、
これらのステップを繰り返すことにより、前記3次元物体モデルは、前記目的を達成するための所定の動作を自律的に獲得する請求項4に記載の3次元物体モデルの動作生成方法。 - 前記3次元物体モデルは、複数のNURBS曲面で構成される閉曲面モデルであり、
前記強化学習の手法として、Q-Learning法を用い、
更に、
状態を大きく区切り、最終目標を拡大したような目標領域を作り、そこまでの移動を学習する第1のステップと、
ここまでの学習で目標となっていた領域を区分し、前回の目標よりは小さめの最終目標を内包する領域を設定する第2のステップと、
前回の学習で作られた価値関数を継承し、学習を進める第3のステップと、
目標領域が最終目標領域と同一になるまでに、第2のステップと第3のステップを繰り返す第4のステップとを有し、
前記第1のステップ〜第4のステップを踏みながら学習を進める請求項5に記載の3次元物体モデルの動作生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005233407A JP2007048143A (ja) | 2005-08-11 | 2005-08-11 | 3次元物体モデルの動作生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005233407A JP2007048143A (ja) | 2005-08-11 | 2005-08-11 | 3次元物体モデルの動作生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007048143A true JP2007048143A (ja) | 2007-02-22 |
Family
ID=37850905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005233407A Pending JP2007048143A (ja) | 2005-08-11 | 2005-08-11 | 3次元物体モデルの動作生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007048143A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018092653A (ja) * | 2018-02-19 | 2018-06-14 | 株式会社ドワンゴ | 情報処理装置、情報処理方法およびプログラム |
CN109345614A (zh) * | 2018-09-20 | 2019-02-15 | 山东师范大学 | 基于深度强化学习的ar增强现实大屏互动的动画仿真方法 |
CN113421345A (zh) * | 2021-06-21 | 2021-09-21 | 东北大学 | 基于深度强化学习技术的仿生机器鱼群集导航模拟方法 |
-
2005
- 2005-08-11 JP JP2005233407A patent/JP2007048143A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018092653A (ja) * | 2018-02-19 | 2018-06-14 | 株式会社ドワンゴ | 情報処理装置、情報処理方法およびプログラム |
CN109345614A (zh) * | 2018-09-20 | 2019-02-15 | 山东师范大学 | 基于深度强化学习的ar增强现实大屏互动的动画仿真方法 |
CN109345614B (zh) * | 2018-09-20 | 2023-04-07 | 山东师范大学 | 基于深度强化学习的ar增强现实大屏互动的动画仿真方法 |
CN113421345A (zh) * | 2021-06-21 | 2021-09-21 | 东北大学 | 基于深度强化学习技术的仿生机器鱼群集导航模拟方法 |
CN113421345B (zh) * | 2021-06-21 | 2023-10-17 | 东北大学 | 基于深度强化学习技术的仿生机器鱼群集导航模拟方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Macklin et al. | Unified particle physics for real-time applications | |
Wang et al. | Multi-weight enveloping: least-squares approximation techniques for skin animation | |
US7983884B2 (en) | Water particle manipulation | |
US6529210B1 (en) | Indirect object manipulation in a simulation | |
US6731287B1 (en) | Method for animating a 3-D model of a face | |
WO2005094277A2 (en) | Volumetric hair rendering | |
US20100321386A1 (en) | Indirect Binding With Segmented Thin Layers to Provide Shape-Preserving Deformations in Computer Animation | |
US11830138B2 (en) | Predicting secondary motion of multidimentional objects based on local patch features | |
US11625882B2 (en) | Method for simulating fluids interacting with submerged porous materials | |
Vosinakis et al. | SimHuman: A platform for real-time virtual agents with planning capabilities | |
Vosinakis et al. | A tool for constructing 3D Environments with Virtual Agents | |
JP2007048143A (ja) | 3次元物体モデルの動作生成方法 | |
Dong et al. | Real‐Time Large Crowd Rendering with Efficient Character and Instance Management on GPU | |
Rudomin et al. | Gpu generation of large varied animated crowds | |
Jones et al. | Dynamic sprites: artistic authoring of interactive animations | |
Adams et al. | Meshless shape and motion design for multiple deformable objects | |
Wen et al. | A new animation approach for visualizing intelligent agent behaviours in a virtual environment | |
Cani et al. | Towards virtual clay | |
US8704828B1 (en) | Inverse kinematic melting for posing models | |
Kumar et al. | Beaps: Integrating volumetric dynamics in virtual agent prototyping | |
Mandal et al. | Haptic Rendering of Solid Object Submerged in Flowing Fluid with Environment Dependent Texture | |
Jones | Artist-guided physics-based animation | |
Zeng et al. | Three-dimensional deformation in curl vector field | |
Hagan | Spacial Groom | |
Liu et al. | Report on Methods and Applications for Crafting 3D Humans |