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