(57)【特許請求の範囲】
【請求項１】
標準モデルを計測データに基づいてフィッティングさせて形状モデルを生成する方法であって、
前記標準モデルを準備するステップと、
前記標準モデルと共通の特徴点を有し前記標準モデルから解像度を下げた簡易モデルを準備するステップと、
前記簡易モデルを前記計測データに基づいて変形するステップと、
変形された前記簡易モデルの特徴点に対応する前記標準モデルの特徴点を前記簡易モデルの変形時と同じように移動することにより前記標準モデルを変形するステップと、
変形された前記標準モデルの形状を前記計測データに基づいて変形するステップと、
を有することを特徴とする形状モデルの生成方法。
【請求項２】
前記標準モデルは複数の構成点から定義されるモデルであり、前記簡易モデルは前記標準モデルからその構成点を間引いたものである、
請求項１記載の形状モデルの生成方法。
【請求項３】
モデルを構成する構成点とモデルを変形させるための制御点が定義されている標準モデルを計測データに基づいてフィッティングさせて形状モデルを生成する方法であって、
前記標準モデルを準備する第１ステップと、
前記標準モデルより低密度の制御点を有する低密度型モデルを準備する第２ステップと、
前記低密度型モデルを前記計測データに基づいて変形する第３ステップと、
変形された前記低密度型モデルの構成点に対応する前記標準モデルの構成点を前記低密度型モデルの変形時と同じように移動することにより前記標準モデルを変形する第４ステップと、
前記変形された標準モデルを前記計測データに基づいて変形する第５ステップと、
を有することを特徴とする形状モデルの生成方法。
【請求項４】
前記低密度型モデルの制御点は前記標準モデルの制御点からその制御点を間引いたものである、
請求項３記載の形状モデルの生成方法。
【請求項５】
前記第３ステップと前記第５ステップとで変形を行うための条件が異なる、
請求項３または４記載の形状モデルの生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、形状モデルの生成方法に関し、例えばコンピュータグラフィックスの分野における３次元モデルの生成に利用される。
【０００２】
【従来の技術】
近年において、映画やゲームなどに３次元ＣＧ（３次元コンピュータグラフィックス）の技術がしばしば用いられている。３次元ＣＧでは、仮想的な３次元空間内に３次元モデルやライトを配置して動かすので、表現の自由度が高い。
【０００３】
従来より、光切断法などによる非接触型の３次元計測装置が実用化されており、これを用いて計測を行うことにより、対象物の３次元データを比較的容易に作成することができる。しかし、計測によって得られた３次元データをそのまま３次元ＣＧに用いるには、得られたデータの間引きなどを行ってデータ量を減らすための処理が複雑であるなど、種々の問題がある。
【０００４】
この問題に対処するため、対象物の標準モデルを準備しておき、計測された３次元データに合わせて標準モデルを変形する方法が提案されている（特開平５−８１３７７号）。
【０００５】
この従来の方法では、計測によって得られた３次元データの３次元形状情報、つまり３次元に存在する点群をフィッティング対象として用い、それら３次元の点群に標準モデルの表面をフィッティングさせる。
【０００６】
【発明が解決しようとする課題】
しかし、上に述べた従来の方法では、計測された３次元の点群に合わせて標準モデルの面を変形させるに際し、データ量が多いためその演算に多大な時間を要する。
【０００７】
また、データ量を減らすために３次元の点群の個数を少なくすると、生成される３次元モデルの精度が低下し、例えば人の細かい表情を表現することが困難である。３次元の点群の個数を多くし過ぎると、標準モデルをフィッティングする場合に局所的な変形に陥る可能性があり、かえって全体形状を損うおそれがある。
【０００８】
本発明は、上述の問題に鑑みてなされたもので、演算時間を短縮することができ、全体形状を合わせつつ、局所的な形状も精度よく再現できる、形状モデルの生成方法を提供することを目的とする。
【０００９】
本願発明に係る方法は、標準モデルを計測データに基づいてフィッティングさせて形状モデルを生成する方法であって、前記標準モデルを準備するステップと、前記標準モデルと共通の特徴点を有し前記標準モデルから解像度を下げた簡易モデルを準備するステップと、前記簡易モデルを前記計測データに基づいて変形するステップと、変形された前記簡易モデルの特徴点に対応する前記標準モデルの特徴点を前記簡易モデルの変形時と同じように移動することにより前記標準モデルを変形するステップと、変形された前記標準モデルの形状を前記計測データに基づいて変形するステップと、を有する。
【００１１】
前記標準モデルは複数の構成点から定義されるモデルであり、前記簡易モデルは前記標準モデルからその構成点を間引いたものである。
本願発明の他の形態では、モデルを構成する構成点とモデルを変形させるための制御点が定義されている標準モデルを計測データに基づいてフィッティングさせて形状モデルを生成する方法であって、前記標準モデルを準備する第１ステップと、前記標準モデルより低密度の制御点を有する低密度型モデルを準備する第２ステップと、前記低密度型モデルを前記計測データに基づいて変形する第３ステップと、変形された前記低密度型モデルの構成点に対応する前記標準モデルの構成点を前記低密度型モデルの変形時と同じように移動することにより前記標準モデルを変形する第４ステップと、前記変形された標準モデルを前記計測データに基づいて変形する第５ステップと、を有する。
【００１２】
前記低密度型モデルの制御点は前記標準モデルの制御点からその制御点を間引いたものである。前記第３ステップと前記第５ステップとで変形を行うための条件を異ならせてもよい。
【００１３】
本発明において、フィッティングとは、標準モデルの変形処理、またはそれを含む一連の処理をいう。フィッティングに際し、例えば対象物を計測して取得された３次元データまたは２次元画像が用いられる。
【００１４】
【発明の実施の形態】
図１は本発明に係るモデリング装置１を示すブロック図である。
本実施形態においては、予め作成した標準モデルを人の頭部についての計測データ（３次元データまたは２次元画像）に基づいて変形する（フィッティングする）ことにより、人の頭部の３次元モデルを生成する例を説明する。
【００１５】
図１に示すように、モデリング装置１は、処理装置１０、磁気ディスク装置１１、媒体ドライブ装置１２、ディスプレイ装置１３、キーボード１４、マウス１５、および３次元計測装置１６などからなる。
【００１６】
処理装置１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ビデオＲＡＭ、入出力ポート、および各種コントローラなどからなる。ＲＡＭおよびＲＯＭなどに記憶されたプログラムをＣＰＵが実行することにより、処理装置１０上に種々の機能が実現される。
【００１７】
磁気ディスク装置１１には、ＯＳ（Operating System) 、３次元モデルＭＬを生成するためのモデリングプログラムＰＲ、その他のプログラム、標準モデル（標準モデルデータ）ＤＳ、３次元データ（３次元計測データ）ＤＴ、３次元データＤＴの信頼性を示す信頼性データＤＲ、２次元画像（２次元計測データ）ＦＴ、生成された３次元モデルＭＬ、その他のデータなどが格納されている。これらのプログラムおよびデータは、適時、処理装置１０のＲＡＭにローディングされる。
【００１８】
なお、モデリングプログラムＰＲには、計測処理、概略位置合わせ、データ削減処理、変形処理、部分領域選択処理、およびその他の処理のためのプログラムが含まれる。
【００１９】
媒体ドライブ装置１２は、ＣＤ−ＲＯＭ（ＣＤ）、フロッピィディスクＦＤ、または光磁気ディスクなどの記録媒体にアクセスし、データまたはプログラムの読み書きなどを行うものである。記録媒体の種類に応じて適切なドライブ装置が用いられる。上に述べたモデリングプログラムＰＲは、これら記録媒体からインストールすることが可能である。標準モデルＤＳ、３次元データＤＴ、信頼性データＤＲ、および２次元画像ＦＴなども、記録媒体を介して入力することが可能である。
【００２０】
ディスプレイ装置１３の表示面ＨＧには、上に述べた種々のデータ、およびモデリングプログラムＰＲにより生成された３次元モデルＭＬ、その他のデータ（画像）が表示される。
【００２１】
キーボード１４およびマウス１５は、処理装置１０にデータを入力しまたは指令を与えるために用いられる。
３次元計測装置１６は、例えば光切断法によって対象物の３次元データＤＴを得るためのものである。３次元計測装置１６によって直接的に３次元データＤＴを得ることも可能であり、また、３次元計測装置１６から出力されるデータに基づいて処理装置１０などで演算を行い、間接的に３次元データＤＴを得ることも可能である。
【００２２】
３次元データＤＴと同時に、必要に応じて同じ対象物について同じ視線上の２次元画像ＦＴを取得することも可能である。そのような３次元計測装置１６として、例えば特開平１０−２０６１３２号に示される公知の装置を用いることが可能である。
【００２３】
また、対象物の３次元データＤＴを取得する公知の他の方法として、対象物に対して視差を有して配置された複数のカメラを用いる方法などがある。それらのカメラから得られた視差を有する複数の画像から、立体写真法を用いて３次元データＤＴを演算により求めることができる。
【００２４】
この方法では、例えば３台のカメラを用いることにより、３次元データＤＴの各点の信頼性を判定するためのデータをも同時に取得することができる。
すなわち、３台のカメラによる多眼視によって対象物を撮影し、３枚の画像を得る。これら３枚の画像について、互いの対応点を探索する。２枚の画像についての対応点に基づいて、３次元データＤＴが公知の計算により求められる。他の１枚の画像は、信頼性データＤＲを得るのに利用される。
【００２５】
例えば、図１０に示すように、３台のカメラＡ，Ｂ，Ｃを用い、対象物Ｑを撮影して３枚の画像ＦＡ，ＦＢ，ＦＣを取得する。各画像ＦＡ，ＦＢ，ＦＣについて、それぞれの画像面（ｕn ，ｖn ）が示されている（ｎ＝１，２，３）。３次元空間Ｍにある対象物Ｑ上の点ＱＰが、各画像面上の点ＰＡ，ＰＢ，ＰＣに投影されている。
【００２６】
ここで、点ＰＡ，ＰＢ，ＰＣの対応が求まるとすると、それらの対応から、３次元空間Ｍ’を再構成することができる。３次元空間Ｍ’において、点ＰＡ，ＰＢに対応する点ＱＰ’が求まる。理想的には、この再構成された３次元空間Ｍ’上の点ＱＰ’を画像面（ｕ3 ，ｖ3 ）に逆投影した点ＰＣ’と、元の３次元空間Ｍ上の点ＱＰを画像面（ｕ3 ，ｖ3 ）上に投影した点ＰＣとは、一致するはずである。
【００２７】
しかし、投影変換を正確に求めることは難しく、また対応を正確に求めることも難しいため、通常、これらは一致しない。そこで、これら点ＰＣ’と点ＰＣとのずれを誤差とし、信頼性の指標として用いる。
【００２８】
例えば、点ＰＣ’と点ＰＣとの誤差を、ずれた画素の数で示す。点ＰＣ’と点ＰＣとが同じ画素上にあれば、誤差は「０」である。１画素ずれていれば、誤差は「１」である。２画素ずれていれば、誤差は「２」である。このずれた画素数を信頼性データＤＲとして用いることができる。
【００２９】
信頼性データＤＲを判断する他の方法として、例えば特開昭６１−１２５６８６号に示される方法、その他の公知の方法を用いることも可能である。
モデリング装置１は、パーソナルコンピュータまたはワークステーションなどを用いて構成することが可能である。上に述べたプログラムおよびデータは、ネットワークＮＷを介して受信することにより取得することも可能である。
【００３０】
次に、モデリング装置１の全体の処理の流れについて、フローチャートを参照しながら説明する。
図２はモデリング装置１の全体の処理の流れを示すフローチャート、図３は変形処理を示すフローチャート、図４は標準モデルＤＳ１の例を示す図、図５は対象物から３次元データＤＴを取得する様子を示す図、図６（Ａ）（Ｂ）は概略の位置合わせの様子を示す図、図７は輪郭および特徴点の抽出処理の様子を示す図、図８は標準モデルＤＳの面Ｓと３次元データＤＴの点Ｐとを模式的に示す図、図９は標準モデルＤＳの異常変形を防ぐための仮想バネを説明するための図、図１０は対象物の３次元データＤＴおよび信頼性データＤＲを取得する方法の例を説明する図である。
〔標準モデルの準備〕
図２において、まず、対象物についての標準モデルＤＳを準備する（＃１１）。本実施形態では対象物が人の頭部であるので、種々のサイズおよび形状を有した、頭部の全周についての複数の標準モデル群の中から、対象物の頭部に最もよく似た標準モデルＤＳ１を準備する。
【００３１】
標準モデルＤＳは、ポリゴンで定義された３次元形状モデル、または自由曲面で定義された３次元形状モデルのいずれでもよい。ポリゴンで定義された３次元形状モデルである場合は、各ポリゴンの頂点の３次元座標によって表面の形状が決まる。自由曲面で定義された３次元形状モデルである場合は、曲面を定義する関数、および各制御点の座標によって表面の形状が決まる。
【００３２】
なお、ポリゴンで定義された３次元形状モデルである場合に、各ポリゴンの頂点を「構成点」と記載する。
また、標準モデルＤＳのフィッティングに際して、標準モデルを変形するために用いられる点を「制御点」と呼称する。制御点とポリゴンの構成点との位置関係は任意であり、制御点はポリゴンの面上に設定されていてもよく、ポリゴンの面から離れて設定されていてもよい。１つの制御点は複数の構成点（３〜１００程度）と関連付けられており、制御点の動きに合わせて関連付けられた構成点が移動する。標準モデルＤＳのフィッティングに際しては、これら複数の制御点を移動させることによって標準モデルＤＳ全体を変形する。３次元形状モデルが自由曲面で定義されている場合も、フィッティングに使用する制御点の配置は任意である。
【００３３】
制御点は、目尻、唇端などのように細かな形状を持つ部分、および、鼻、唇などのように急激な形状の変化を持つ部分には、高い密度で配置される。それ以外の部分には一様に配置される。
【００３４】
標準モデルＤＳには、ある方向から見た特徴的な輪郭ＲＫおよび特徴点ＴＴが設定される。輪郭ＲＫとして、例えば、目、鼻、口、または顎などに、瞼のライン、鼻のライン、唇のライン、または顎のラインなどが設定される。特徴点ＴＴとして、例えば、目や口の端部、鼻の頂部、顎の下端部のように、実際に特徴のある部分、または、それらの中間のようなそれ自体では特徴はないが位置的に特定し易い部分などが選ばれる。
【００３５】
図４に示す標準モデルＤＳ１では、顎のライン、唇のライン、および瞼のラインが輪郭ＲＫ１〜３として設定されている。図４で分かるように、輪郭ＲＫ１は、標準モデルＤＳ１をある方向から見たときに、その縁線となる部分である。また、図４に示す標準モデルＤＳ１では、設定された特徴点ＴＴの一部のみが実際に図に表されている。
【００３６】
なお、標準モデルＤＳとして、構成点の個数の多い（つまり高解像度の）標準型モデルＤＳＥと、構成点の個数の少ない（つまり低解像度の）簡易型モデルＤＳＫとの２種類を用いる場合がある。また、構成点の個数は同じであるが、制御点が高密度である標準型モデルＤＳＦと制御点が低密度である低密度型モデルＤＳＬとの２種類を用いる場合もある。簡易型モデルＤＳＫおよび低密度型モデルＤＳＬは、それぞれ、標準型モデルＤＳＥまたはＤＳＦから構成点または制御点を間引くことによって生成される。
〔３次元データの取得〕
次に、対象物の３次元計測を行い、３次元データＤＴを取得する（＃１２）。その際に、対象物の２次元画像ＦＴをも同時に取得しておく。また、上に述べたように、３次元データＤＴの各点についての信頼性を示す信頼性データＤＲ、または信頼性データＤＲを得るための情報を必要に応じて取得しておく。
【００３７】
例えば、図５に示すように、３次元計測装置１６を用いて、対象物である人の頭部を計測（撮影）する。これによって、３次元データＤＴおよび２次元画像ＦＴが取得される。
【００３８】
なお、対象物を計測して得た３次元データＤＴおよび／または２次元画像ＦＴを、「計測データ」と記載することがある。標準モデルＤＳの準備と３次元データＤＴの取得とはいずれが先でもよく、並行して進めてもよい。
〔概略の位置合わせ〕
標準モデルＤＳと３次元データＤＴとの概略の位置合わせを行う（＃１３）。この処理では、標準モデルＤＳと３次元データＤＴとが概略一致するように、標準モデルＤＳの向き、サイズ、および位置を変更する。このとき、標準モデルＤＳを、Ｘ，Ｙ，Ｚのそれぞれの方向に個別に任意の倍率に偏倍することにより、それぞれの方向のサイズを３次元データＤＴによく合わせることができる。
【００３９】
例えば、図６（Ａ）に示すように、３次元データＤＴに対して、標準モデルＤＳを回転させ且つ各方向に偏倍することにより、図６（Ｂ）に示すように、３次元データＤＴとほぼ同じサイズの標準モデルＤＳａを得ることができる。なお、わかりやすくするために、図面上では位置を合わせていないものを示す。
【００４０】
概略の位置合わせの手法として、次に説明するように、（１）全体的概略位置合わせ、（２）局所的概略位置合わせ、の２つの手法がある。
これらの手法のうち、（１）の手法は自動で行うことができる。（２）の手法は、その中の特徴点抽出を自動で行うことが困難であるので、一部手動で行う必要がある。概略位置合わせ後のフィッティングでは基本的に標準モデルＤＳの局所的な変形が行われることになるため、形状が合うことを重視する場合には（１）の手法が好適であり、アニメーションのように形状よりも位置が合って欲しいという場合には（２）の手法が好適である。また、特徴点抽出を行うことに慣れたユーザであれば、処理時間を短縮するために（２）の手法を用いることは効果的である。
〔全体的概略位置合わせ〕
全体的概略位置合わせでは、３次元データＤＴと標準モデルＤＳとの距離を最小とするように、標準モデルＤＳの位置、方向、およびサイズを変更する。
【００４１】
すなわち、次の（１）式に示すエネルギー関数ｅ（ｓｉ，αｉ，ｔｉ）が最小となるｓｉ，αｉ，ｔｉを導く。
なお、ｆ（ｓｉ，αｉ，ｔｉ）は、３次元データＤＴと標準モデルＤＳとの距離に関連して定義されるエネルギー関数である。ｇ（ｓｉ）は、過剰な変形を避けるための安定化エネルギー関数である。
【００４２】
また、３次元計測装置１６によって３次元データＤＴを取得する際に同時に取得した２次元画像ＦＴを用い、２次元画像ＦＴ上でのパターンマッチングを用いて、位置、方向、およびサイズの初期値を与えてもよい。
【００４３】
【数１】
0004838411.tif 000002
【００４４】
但し、
Ｋ  ：３次元データの構成点の個数
ｄk ：３次元データの構成点と標準モデルの表面との距離
Ｗsc：偏倍安定化のウエイトパラメータ
Ｓ0 ：初期スケール
Ｓi ：各方向の偏倍量（但し、Ｓ3 は奥行き方向である）
αi ：標準モデルの各方向の回転
ｔi ：標準モデルの各方向への移動量
ここで、標準モデルＤＳ上の構成点は次の（２）式にしたがって移動し、それにともなって、３次元データＤＴの構成点と標準モデルＤＳの表面との間の距離ｄk が変化する。
【００４５】
【数２】
0004838411.tif 000003
【００４６】
また、３次元計測装置１６による計測（撮影）が一方向からに限られる場合に、奥行き方向（Ｚ方向）の偏倍量が正確に得られない場合がある。その場合には、３次元データＤＴの形状と標準モデルＤＳの形状に大きな違いはないとみなし、次の（３）式に示すように、Ｘ，Ｙ方向の偏倍量（Ｓ1,Ｓ2 ）によってＺ方向の偏倍量（Ｓ3 ）を補正する方法も考えられる。
【００４７】
【数３】
0004838411.tif 000004
【００４８】
但し、
γ  ：視線方向ｘ3 変形分へのウエイトパラメータ
〔局所的概略位置合わせ〕
上に述べた全体的概略位置合わせを自動で行った場合に、それがうまく合わなかったときに、手動で合わせることとなるが、ここに述べる局所的概略位置合わせは、手動での位置合わせの際にできるだけ簡単に行うための手法である。なお、自動でうまくいかなかった分は一旦リセットし、初めから手動でやり直す。
【００４９】
局所的概略位置合わせでは、３次元データＤＴ上の特徴的な線または点と、標準モデルＤＳ上の特徴的な線または点とを対応づけ、それらの距離を最小にするように標準モデルＤＳの位置、方向、およびサイズを変更する。なお、線と線とを対応付けた場合は、一方の線上の点とその点から他方の線上へ降ろした垂線のうち最短となる点とを特徴点とし、線上でこれらの点を複数点取得するものとする。
【００５０】
すなわち、３次元データＤＴ上の特徴点とそれに対応する標準モデルＤＳ上の特徴点との距離に対して、次の（４）式に示すエネルギー関数Ｅ（ｓｉ，αｉ，ｔｉ）が最小となるように、標準モデルＤＳのｔｉ，αｉ，ｓｉを導く。
【００５１】
【数４】
0004838411.tif 000005
【００５２】
但し、
ｋ  ：対応する特徴点の個数
Ｍk ：位置合わせ後の標準モデル上の特徴点
ｘ  ：位置合わせ前の標準モデル上の特徴点
Ｃk ：３次元データ上の特徴点
Ｓi ：標準モデルの各方向の偏倍量
αi ：標準モデルの各方向の回転
ｔi ：標準モデルの各方向への移動量
また、３次元計測装置１６による計測（撮影）が一方向からに限られる場合に、奥行き方向（Ｚ方向）のスケールが正確に得られない場合がある。その場合には、上に述べた全体的概略位置合わせの場合と同様に、次の（５）式を用いてＺ方向のスケールを補正する方法が考えられる。
【００５３】
【数５】
0004838411.tif 000006
【００５４】
〔輪郭・特徴点の抽出〕
３次元データＤＴまたは２次元画像ＦＴ上に、輪郭および特徴点を抽出する（＃１４）。標準モデルＤＳについての輪郭ＲＫおよび特徴点ＴＴを予め抽出しておいた場合には、それらと同じ位置に配置されるべき輪郭および特徴点を、３次元データＤＴ上に、またはそれに対応する２次元画像上に配置する（図７参照）。
【００５５】
標準モデルＤＳについての輪郭ＲＫおよび特徴点ＴＴが予め抽出されていない場合には、３次元データＤＴ上または２次元画像上への配置と合わせて標準モデルＤＳ上でも指定する。
〔データ削減〕
次に、計算量および誤差を削減するために、３次元データＤＴについてデータの削減を行い、必要且つ信頼性の高いデータのみを取り出す（＃１５）。データの削減を行うことによって、元の３次元データＤＴの形状を崩すことなく、計算量を減らすことができる。
【００５６】
データの削減に当たって、例えば、対象物の領域外のデータを除外し、不要なデータを除く。例えば、２次元画像ＦＴから顔の領域を判別し、その領域に対応した３次元データＤＴのみを残す。あるいは、対象物と背景との間の距離の相違を用いて領域を判別する。また、概略位置合わせの情報を用いて、顔の領域を抽出するなどの各種の方法がある。また、３次元データＤＴに信頼性データＤＲがある場合には、信頼性の高いもののみを残す。近隣にデータが多い場合はそのデータを間引き、密度を平均化する。
【００５７】
データを間引いて密度を平均化する場合は、次の（６）式で示される条件を満たす３次元データＤＴのみを採用する。
【００５８】
【数６】
0004838411.tif 000007
【００５９】
但し、
Ｐk ：構成点
Ｐ〜r ：既に採用された構成点
Ｒdet (x) ：構成点ｘの周囲の密度を表す関数
上の（６）式によると、注目されているデータＰｋについて、それまでに採用されて残っているデータＰｒとの間の距離が一定以上であれば、そのデータＰｋを採用する。
〔変形〕
標準モデルＤＳの変形が行われる（＃１６）。ここでは、３次元データＤＴの各構成点と標準モデルＤＳの面との間の距離に関連して定義されたエネルギー関数ｅ1 を用いるとともに、それに加えて、標準モデルＤＳの特徴点と３次元データＤＴに対して指定された特徴点との間の距離に関連して定義されるエネルギー関数ｅ3 、標準モデルＤＳの輪郭と３次元データＤＴに対して指定された輪郭との間の距離に関連して定義されるエネルギー関数ｅ2 、および、過剰な変形を回避するために定義されたエネルギー関数ｅs を用い、それらを総合したエネルギー関数ｅを評価し、総合のエネルギー関数ｅが最小となるように標準モデルＤＳの面を変形させる。
【００６０】
なお、総合のエネルギー関数ｅとして、ｅ１，ｅ２，ｅ３，ｅｓの４つの関数を用いるのが一番望ましいが、ｅ１〜ｅ３のうち任意の２つだけを用いることも可能である。
【００６１】
次に、各エネルギー関数について順次説明する。
〔標準モデルと３次元データとの距離〕
図８において、３次元データＤＴを構成する点群の１つが点Ｐｋで示されている。標準モデルＤＳの面Ｓにおいて、点Ｐｋに最も近い点がＱｋで示されている。点Ｑｋは、点Ｐｋから面Ｓに垂線を下ろしたときの交点である。ここでは、点Ｐｋと点Ｑｋとの距離が評価される。
【００６２】
すなわち、３次元データＤＴの各点と標準モデルＤＳの面との差分エネルギーｅ1 は、データ削減後の３次元データＤＴ上の点Ｐｋと、それを標準モデルＤＳの面Ｓ上に投影した点Ｑｋとの二乗距離を用いて、次の（７）式によって算出される。
【００６３】
【数７】
0004838411.tif 000008
【００６４】
但し、
Ｔ1A：制御点群
Ｐk ：削減後の３次元データの構成点
Ｑk ：構成点からモデル表面への投影点
Ｋ  ：削減後の構成点の個数
ｄk ：構成点からモデル表面への投影方向，
ｄk ＝（Ｑk-Ｐk ）／｜Ｑk-Ｐk ｜
ρk ：構成点Ｐk の信頼性
w(ρk)：信頼性関数，w(ρk)＝１／（α＋ρk ）n 
Ｗ  ：Σw(ρk)
Ｌ  ：種々のエネルギーを同一単位で扱うための調整用スケール
〔標準モデル上の輪郭と計測データ上の輪郭との距離〕
ここでは、３次元データＤＴ上に指定された輪郭ＲＫ、または２次元画像ＦＴ上に指定された輪郭ＲＫと、標準モデルＤＳ上の輪郭ＲＫとの距離が評価される。
【００６５】
計測データの輪郭ＲＫが３次元データＤＴ上に指定される場合は、３次元データＤＴの輪郭ＲＫ上の点から標準モデルＤＳ上の対応する輪郭ＲＫへ垂線を降ろし、その垂線のうち最短のものを距離とする。なお、輪郭ＲＫ上では複数の点を指定する。
【００６６】
計測データの輪郭ＲＫが２次元画像ＦＴ上に指定される場合は、２次元画像ＦＴを撮影したカメラについてのカメラパラメータを用い、標準モデルＤＳの輪郭ＲＫを２次元画像ＦＴ上に投影する。２次元画像ＦＴの輪郭ＲＫ上の点から、標準モデルＤＳの対応する輪郭ＲＫへ垂線を降ろし、その垂線のうち最短のものを距離とする。なお、輪郭ＲＫ上では複数の点を指定する。
【００６７】
計測データの輪郭ＲＫが３次元データＤＴ上に指定される場合に、標準モデルＤＳの輪郭ＲＫ毎の差分エネルギーｅ2 は、それらの距離の二乗和を用いて次の（８）式によって計算される。
【００６８】
【数８】
0004838411.tif 000009
【００６９】
但し、
Ｔ2A：制御点群
ｐk ：３次元データ上の輪郭点
ｑk ：３次元データ上の輪郭点から対応するモデル輪郭への垂足点
ｎ  ：１つのモデル輪郭に対応が付けられている３次元データの輪郭点数
ｄk ：計測データの輪郭点から対応するモデル輪郭線への投影方向，
ｄk ＝（ｑk-ｐk ）／｜ｑk-ｐk ｜
ｌ  ：種々のエネルギーを同一単位で扱うための調整用スケール
計測データの輪郭ＲＫが２次元画像ＦＴ上に指定される場合に、標準モデルＤＳの輪郭ＲＫ毎の差分エネルギーｅ2 ’は次の（９）式によって計算される。
【００７０】
【数９】
0004838411.tif 000010
【００７１】
但し、
Ｔ2A：制御点群
ｐk ：２次元画像上の輪郭点
ｑk ：２次元画像上の輪郭点から２次元画像上に投影された対応するモデル輪郭への垂足点
ｎ  ：１つのモデル輪郭に対応が付けられている計測データの輪郭点数
ｄk ：２次元画像上の輪郭点から対応するモデル輪郭への投影方向，
ｄk ＝（ｑk-ｐk ）／｜ｑk-ｐk ｜
ｌ  ：種々のエネルギーを同一単位で扱うための調整用スケール
計測データの輪郭ＲＫを２次元画像ＦＴ上で指定する理由は、例えば３次元データＤＴがあいまいな場合に、３次元データＤＴ上に輪郭ＲＫを指定すると輪郭ＲＫそのものが不正確となるからである。したがって、それに代えて２次元画像ＦＴを用いて輪郭ＲＫを抽出するのである。
〔標準モデル上の特徴点と対応した計測データ上の特徴点との距離〕
計測データ上に特徴点ＴＴを設定することにより、３次元データＤＴ上に指定された特徴点ＴＴ、または２次元画像ＦＴ上に指定された特徴点ＴＴと、標準モデルＤＳ上の特徴点との距離が評価される。
【００７２】
３次元データＤＴ上の特徴点ＴＴと標準モデルＤＳ上の特徴点ＴＴとの差分エネルギーｅ3 は、対応する特徴点ＴＴの二乗距離を用いて次の（１０）式によって計算される。
【００７３】
なお、２次元画像ＦＴ上に特徴点ＴＴを指定した場合は、カメラパラメータを用いて標準モデルＤＳの特徴点ＴＴを２次元画像ＦＴ上に投影し、２次元画像ＦＴ上での差分エネルギーを計算する。
【００７４】
【数１０】
0004838411.tif 000011
【００７５】
但し、
Ｔ3A：制御点群
Ｆk ：計測データの特徴点
Ｇk ：計測データの特徴点に対応する標準モデル上の特徴点
Ｎ  ：計測データの特徴点と標準モデル上の特徴点との対応数
Ｌ  ：種々のエネルギーを同一単位で扱うための調整用スケール
〔過剰な変形を回避するための安定化エネルギー〕
上に述べた差分のエネルギーに加え、過剰な変形を回避するための安定化エネルギーｅs が導入される。
【００７６】
すなわち、変形に用いられる制御点の間が、図９に示す仮想バネ(elastic bar) ＫＢによってつながれているものとする。仮想バネＫＢの制約に基づいて、標準モデルＤＳの面Ｓの形状の安定化のための安定化エネルギーｅs が定義される。
【００７７】
なお、仮想バネは必ずしも制御点間に張られている必要はない。制御点と仮想バネとの関係が明確であればよい。
図９において、フィッティング対象である標準モデルＤＳの面Ｓの一部が示されている。面Ｓは、制御点群Ｕ＝｜ｕｉ，ｉ＝１…Ｎ｜で形成されている。隣接する制御点間には、仮想バネＫＢが配置されている。仮想バネＫＢは、制御点間に引っ張り力による拘束を与え、面Ｓの異常変形を防ぐ働きをする。
【００７８】
つまり、隣接する制御点ｕの間隔が大きくなった場合に、それに応じて仮想バネＫＢによる引っ張り力が大きくなる。例えば、点Ｑｋが点Ｐｋに近づく場合に、その移動にともなって制御点ｕの間隔が大きくなると、仮想バネＫＢによる引っ張り力が増大する。点Ｑｋが移動しても制御点ｕの間隔が変わらなければ、つまり制御点ｕ間の相対位置関係に変化がなければ、仮想バネＫＢによる引っ張り力は変化しない。仮想バネＫＢによる引っ張り力を面Ｓの全体について平均化したものを、安定化エネルギーｅs として定義する。したがって、面Ｓの一部が突出して変形した場合に安定化エネルギーｅs は増大する。面Ｓの全体が平均して移動すれば安定化エネルギーｅs は零である。
【００７９】
安定化エネルギーｅs は、仮想バネＫＢの変形の状態により、次の（１１）式により求められる。
【００８０】
【数１１】
0004838411.tif 000012
【００８１】
但し、
ＴsA：制御点群
Ｕ〜m,Ｖ〜m ：仮想バネの端点（制御点）の初期値
Ｕm,Ｖm ：変形後の仮想バネの端点
Ｌ0m：初期状態の仮想バネの長さ，
Ｌ0m＝｜Ｕ〜m −Ｖ〜m ｜
Ｍ  ：仮想バネの本数
ｃ  ：バネ係数
Ｌ  ：種々のエネルギーを同一単位で扱うための調整用スケール
したがって、バネ係数ｃを大きくすると、仮想バネＫＢは硬くなって変形し難くなる。
【００８２】
このような安定化エネルギー関数ｅs を導入することにより、面Ｓの形状変化に一定の拘束を設けることとなり、面Ｓの過度の変形を防ぐことができる。
〔総合のエネルギー関数〕
上に述べたように、各エネルギー関数ｅ1,ｅ2,ｅ3,ｅ4 について、それぞれ制御点群Ｔ1A, Ｔ2A, Ｔ3A, ＴsAが用いられる。ここでは、これらの制御点群Ｔ1A〜ＴsAは同じであるが、後述するように互いに異ならせることができる。これら制御点群ＴＡを用いて標準モデルＤＳの変形を行い、次の（１２）式に示す総合エネルギー関数ｅ（ＴＡ）を最小にする制御点群ＴＡを求める。
【００８３】
【数１２】
0004838411.tif 000013
【００８４】
但し、
ｅ1(Ｔ1A）: ３次元データの構成点とモデル表面との差分エネルギー
e2s (T2A）: モデル輪郭毎の計測データ上の輪郭との差分エネルギー
ｅ3(Ｔ3A）: 計測データの特徴点とモデル上の特徴点との差分エネルギー
ｅS(ＴSA）: 過剰な変形を回避するための安定化エネルギー
ｗi, c    : それぞれのエネルギーのウエイトパラメータ
ＴＡ＝Ｔ1A＝Ｔ2A＝Ｔ3A＝ＴSA
〔繰り返し変形〕
実際には繰り返し変形を行う（＃１７）。つまり、制御点を動かして繰り返して変形を行う。ｎ回目の変形後の総合エネルギー関数をｅn(ＴＡ）とすると、次の（１３）式の条件が満たされたときに、総合エネルギー関数ｅn （ＴＡ）が収束したと判断する。
【００８５】
【数１３】
0004838411.tif 000014
【００８６】
さて、ここで、変形処理の全体的な流れを図３に沿って説明する。まず、計測データと標準モデルＤＳとの間で対応する点の組みを作成する（図８のＰｋとＱｋ）（＃２１）。
【００８７】
面Ｓを変形し（＃２２）、変形後の総合エネルギー関数ｅn(ＴＡ）を計算する（＃２３）。総合エネルギー関数ｅn(ＴＡ）が収束するまで（＃２４でイエス）、処理を繰り返す。
【００８８】
総合エネルギー関数ｅn(ＴＡ）の収束を判定する方法として、上に述べたように総合エネルギー関数ｅn(ＴＡ）が所定の値よりも小さくなったときを収束とする方法、前回の計算と比較べた変化の割合が所定値以下となったときに収束とする方法など、公知の方法を用いることが可能である。
〔異なる制御点の使用〕
上に述べた（１２）式では、フィッティング対象（３次元データＤＴの構成点、輪郭ＲＫ、特徴点ＴＴ）がそれぞれ異なるエネルギー関数ｅ1 〜ｅ4 について、同じ制御点群を使用したが、ここに示す例は、フィッティング対象毎、すなわちエネルギー関数毎に異なる制御点群を用いる。つまり、制御点群Ｔ1A, Ｔ2A, Ｔ3A, ＴsAを互いに異ならせる。
【００８９】
この場合には、総合エネルギー関数ｅ（ＴＡ）として上に示した（１２）式を用いることができる。但し、そこに用いられる制御点群Ｔ1A, Ｔ2A, Ｔ3A, ＴSAは、互いに異なっており、次に示す関係にある。
【００９０】
ＴＡ⊃Ｔ1A
ＴＡ⊃Ｔ2A
ＴＡ⊃Ｔ3A
ＴＡ＝ＴSA
すなわち、上に述べたように、特徴点は点であるので、特徴点同士のエネルギーに対しては、局所的な動きになってしまう。例えば、３次元データＤＴと標準モデルＤＳとの目の位置を合わせようとするときに、特徴点ＴＴが設定された部分のみが強く引っ張られ、いびつに変形する可能性がある。そのような場合に、全体的な動きとなるようにするのが好ましい。
【００９１】
一方、３次元データＤＴの構成点に対しては、目の横などは細かく動いてほしい。しかし、少数の制御点しか用いない場合には、構成点は細かく移動しない。
そこで、３次元データＤＴの構成点については多数の制御点を用い、特徴点については少数の制御点を用いる。輪郭ＲＫについてはその中間の量とする。
【００９２】
例えば、輪郭ＲＫが急激に変化する部分については、制御点を細かくする。安定化エネルギーは全ての制御点に対してかける。このような制御点の選択は、標準モデルＤＳを準備する際に行う。
【００９３】
なお、制御点群Ｔ1A, Ｔ2A, Ｔ3A, ＴsAは互いに異なるのであるが、各制御点群に含まれる制御点は、互いに共通に用いられるものもある。
〔信頼性に応じたウエイトの変更〕
上に述べた（１２）式では、各情報についての信頼性が同等であるとして総合エネルギー関数ｅ（ＴＡ）を評価したが、ここに示す例は、それぞれの情報の信頼性に応じて重みを変更する。これによって、様々な情報の中からより信頼性の高い情報に重きを置いて判定することができる。
【００９４】
なお、それぞれの情報の信頼性は、３次元計測時、または輪郭・特徴点の自動抽出時に得られるものとする。
この場合には、次の（１４）式に示す総合エネルギー関数ｅ（ＴＡ）を最小にする制御点群ＴＡを求める。
【００９５】
【数１４】
0004838411.tif 000015
【００９６】
但し、
ρi ：各エネルギー関数ｅi （ＴＡ）に関する情報の信頼性
Ｗ (ρi)：信頼性関数
ＴＡ＝Ｔ1A＝Ｔ2A＝Ｔ3A＝ＴSA
〔繰り返し変形〕
上に述べたステップ＃１６の変形処理と同じ処理を、解像度または制御点密度の異なる標準モデルＤＳを用いて繰り返す（＃１７）。
【００９７】
すなわち、解像度を変更して行う場合には、まず、第１ステップで、低解像度の標準モデル（簡易モデル）ＤＳＫを用いて上のステップ＃１６の変形処理を行う。次に、第２ステップで、第１ステップで得られた情報を適用して、高解像度の標準モデルＤＳＥを用いてステップ＃１６の変形処理と同じ処理を行う。
【００９８】
また、制御点密度を変更して行う場合には、まず、第１ステップで、標準モデルＤＳＦから制御点を間引いて生成した低密度の標準モデル（低密度型モデル）ＤＳＬを用いて上のステップ＃１６の変形処理を行い、これによって大まかなフィッティングを行う。次に、第２ステップで、高密度の標準モデルＤＳＦを用いてステップ＃１６の変形処理と同じ処理を行い、精密なフィッティングを行う。なお、第１ステップと第２ステップとで、総合エネルギー関数の収束条件を異ならせればよい。
【００９９】
これによって、演算時間を短縮することができ、全体形状を合わせつつ、局所的な形状も精度よく再現でき、より精度の高い３次元モデルＭＬを得ることができる。次に、各処理内容を詳しく説明する。
（１）  簡易モデルを用いる繰り返し変形
簡易モデルＤＳＫとして、例えば図１１に示す簡易モデルＤＳＫ１が用いられる。
【０１００】
図１１において、簡易モデルＤＳＫ１は、図４に示す標準モデルＤＳから構成点を間引いて減少させ、ポリゴンを粗くしたものである。構成点を間引くことによって解像度が低下し、軽量となる。例えば、標準モデルＤＳの構成点が１万個程度あった場合に、簡易モデルＤＳＫの構成点は数百個程度である。したがって、簡易モデルＤＳＫを、低解像度モデルということがある。これに対して、標準モデルＤＳを詳細モデルということがある。なお、簡易モデルＤＳＫでは制御点の個数も減少する。
【０１０１】
例えば、標準モデルＤＳの構成点が１万個程度あった場合に、簡易モデルＤＳＫの構成点は数百個程度である。
簡易モデルＤＳＫ１には、特徴点ＴＴおよび制御点ｕが設定されている。簡易モデルＤＳＫ１の特徴点ＴＴは、標準モデルＤＳの特徴点ＴＴと対応がとれており、変形情報の受渡しに用いられる。但し、簡易モデルＤＳＫ１の特徴点ＴＴの個数は、標準モデルＤＳの特徴点ＴＴの個数と必ずしも同一ではなく、通常、簡易モデルＤＳＫ１の特徴点ＴＴの個数の方が数が少ない。
【０１０２】
したがって、変形処理の第１ステップにおいて、簡易モデルＤＳＫ１を用いて変形を行う。第１ステップで変形した後の特徴点ＴＴの位置情報に基づいて、第２ステップにおいて標準モデルＤＳを予め変形し、変形された標準モデルＤＳに対して変形処理を行う。
（２）  低密度型モデルを用いる繰り返し変形
低密度型モデルＤＳＬとして、例えば図１２に示す低密度型モデルＤＳＬ１が用いられる。
【０１０３】
図１２において、低密度型モデルＤＳＬ１は、図４に示す標準モデルＤＳから制御点ｕを間引いてその密度を減少させたものである。構成点の個数は標準モデルＤＳと同じである。
【０１０４】
したがって、変形処理の第１ステップにおいて、標準モデルＤＳから制御点を間引いて生成した低密度型モデルＤＳＬを用いて変形を行う。第１ステップで変形した後の構成点の位置情報に基づいて、第２ステップにおいて標準モデルＤＳを予め変形し、変形された標準モデルＤＳに対して変形処理を行う。
【０１０５】
このように、第１ステップで、粗い制御点群ＴＡａを用いて大まかな形状を合致させる。その後の第２ステップで、全体的に制御点密度を増大し、または特に精緻な合致を必要とする部分の制御点を増大した細かな制御点群ＴＡｂを用い、精密な形状を合致させる。これによって演算時間を短縮することができる。最初から多くの制御点を用いて変形を行うと、計算時間を無駄に多く費やす可能性が高い。
【０１０６】
また、第１ステップでは大体の形状しか合わないが、見当違いの形状になる可能性は少ない。因みに、最初から標準モデルＤＳを用いて精密な変形を行うと、見当違いの形状に変形される可能性が大きくなる。
【０１０７】
上に述べた実施形態において、モデリング装置１の構成、回路、処理内容、処理順序、処理タイミング、係数の設定などは、本発明の趣旨に沿って適宜変更することができる。
【０１０８】
【発明の効果】
本発明によると、演算時間を短縮することができ、全体形状を合わせつつ、局所的な形状も精度よく再現することが可能である。
【図面の簡単な説明】
【図１】本発明に係るモデリング装置を示すブロック図である。
【図２】モデリング装置の全体の処理の流れを示すフローチャートである。
【図３】変形処理を示すフローチャートである。
【図４】標準モデルの例を示す図である。
【図５】対象物から３次元データを取得する様子を示す図である。
【図６】  概略の位置合わせの様子を示す図である。
【図７】輪郭および特徴点の抽出処理の様子を示す図である。
【図８】標準モデルの面と３次元データの点とを模式的に示す図である。
【図９】標準モデルの異常変形を防ぐための仮想バネを説明するための図である。
【図１０】対象物の３次元データおよび信頼性データを取得する方法の例を説明する図である。
【図１１】簡易モデルの例を示す図である。
【図１２】低密度型モデルの例を示す図である。
【符号の説明】
１  モデリング装置
１０  処理装置
ＭＬ  ３次元モデル（形状モデル）
ＤＳ  標準モデル
ＤＳＫ  簡易モデル
ＤＳＬ  低密度型モデル
ＲＫ  輪郭
ＴＴ  特徴点
ＴＡ  制御点群
ＰＲ  モデリングプログラム
【図１】
0004838411.tif 000016
【図２】
0004838411.tif 000017
【図３】
0004838411.tif 000018
【図４】
0004838411.tif 000019
【図５】
0004838411.tif 000020
【図６】
0004838411.tif 000021
【図７】
0004838411.tif 000022
【図８】
0004838411.tif 000023
【図９】
0004838411.tif 000024
【図１０】
0004838411.tif 000025
【図１１】
0004838411.tif 000026
【図１２】
0004838411.tif 000027