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