(57)【特許請求の範囲】
【請求項１】
多視点から被写体を計測して得られる複数の３次元データを１つの３次元データに合成する多視点３次元データの合成方法であって、前記複数の３次元データはそれぞれポリゴンメッシュ構造を呈し、
(a)  ボクセルを用いたボリューム方式でサーフェースを定義することにより、前記複数の３次元データからポリゴンメッシュ構造の一つのサーフェースデータを求めるステップと、
(b)  前記サーフェースデータで規定されたサーフェースデータ用メッシュと前記複数の３次元データで規定された複数のメッシュそれぞれとを比較して、前記サーフェースデータ用メッシュの各頂点を順次第１の改良対象頂点とし、該第１の改良対象頂点に対して第１の位置条件を満足する対応頂点を有しかつ所定の解像度条件を満足する解像度を有するメッシュを前記複数のメッシュから一つ選択し、選択したメッシュの構造に合わせて前記サーフェースデータ用メッシュの前記第１の改良対象頂点の近傍領域のメッシュ構造を改良して中間サーフェースデータを得るステップと、
(c)  前記中間サーフェースデータで規定された中間サーフェースデータ用メッシュと前記複数の３次元データで規定された複数のメッシュそれぞれとを比較して、前記中間サーフェースデータ用メッシュの各頂点を順次第２の改良対象頂点とし、前記複数のメッシュから、第２の改良対象頂点に対して第２の位置条件を満足する対応ポリゴンを有する所定数のメッシュを選択し、前記所定数のメッシュそれぞれの前記対応ポリゴンとの距離が所定の距離条件を満足するように、前記第２の改良対象頂点を移動させることにより、確定サーフェースデータを得るステップと、
を備える多視点３次元データの合成方法。
【請求項２】
前記第１の位置条件は前記第１の改良対象頂点と前記対応頂点との距離が第１の基準値以内である条件を含み、
前記所定の解像度条件は最も高い解像度を指定する条件を含み、
前記第２の位置条件は前記第２の改良対象頂点と前記対応ポリゴンとの距離が第２の基準値以内である条件を含み、
前記所定の距離条件は、前記所定数のメッシュそれぞれの前記対応ポリゴンとの距離の合計値が最小あるいは一定値以下となる条件を含む、
請求項１記載の多視点３次元データの合成方法。
【請求項３】
前記第１の改良対象頂点の近傍領域のメッシュ構造の改良処理は、前記選択したメッシュの解像度が前記サーフェースデータ用メッシュの解像度よりも高い場合、前記改良対象頂点の近傍領域に新たな頂点を生成してポリゴンを分割する処理を含む、
請求項１あるいは請求項２記載の多視点３次元データの合成方法。
【請求項４】
前記第１の改良対象頂点の近傍のメッシュ構造の改良処理は、前記選択したメッシュの解像度が前記サーフェースデータ用メッシュの解像度よりも低い場合、前記改良対象頂点の近傍領域にある頂点を削除してポリゴンを統合する処理をさらに含む、
請求項３記載の多視点３次元データの合成方法。
【請求項５】
請求項１記載の多視点３次元データの合成方法における前記ステップ(b)，(c)をコンピュータに実行させるためのプログラムが記録されている、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は被写体を多方向から計測して得られる多視点３次元データを合成する多視点３次元データの合成方法に関する。
【０００２】
【従来の技術】
従来、多方向から計測した多視点データの合成方法としてポリゴンベース方式と呼ばれる方法と、ボリュームベース方式と呼ばれる方法がある。上記両方式は多視点それぞれから得られるポリゴンメッシュデータと呼ばれる複数のオリジナルデータを合成する方法である。
【０００３】
上記両方式について説明する前に、ポリゴンメッシュデータについて述べる。３次元形状が測定可能なカメラを用いて各視点から得られたデータは、カメラパラメータにより距離画像に変換される。
【０００４】
距離画像は、格子上の離散点群で、それぞれの点は３次元座標値のデータを持つ。このようなデータ構造の距離画像に対し、４近傍で隣接する点を辺で結び、視点方向を上向きとする４角あるいは３角ポリゴンを形成して得られるのがポリゴンメッシュデータである。このポリゴンメッシュデータが多視点の各視点毎に得られるため、視点と同じ数のポリゴンメッシュデータが得られることになる。
【０００５】
以下、ポリゴンベース方式について説明する。この方式は多視点それぞれから得られたポリゴンメッシュデータのうち、２つのポリゴンメッシュデータを順次縫い合わせて１つのポリゴンメッシュデータに合成しながら、すべてのポリゴンメッシュデータを最終的に１つの合成ポリゴンメッシュデータに合成する方式である。
【０００６】
２つのポリゴンメッシュデータは以下のように合成される。まず、２つのポリゴンメッシュデータそれぞれで規定されるメッシュ同士のポリゴンが重なっている場合は一方のポリゴンを削除する。その後、一方のメッシュを他方のメッシュにクリッピングする。
【０００７】
図１２〜図１４は、メッシュのクリッピング動作を示す説明図である。同図において、説明の都合上、メッシュ３１とメッシュ３２とは同一平面にあるとする。以下、図１２〜図１４を参照してメッシュのクリッピング動作について説明する。
【０００８】
まず、図１２に示すように、メッシュ３２の境界線とメッシュ３１のエッジが交わる交点３３を生成する。そして、交点３３を境界として図１３に示すような余分な廃棄領域３４を削除するとともに、交点３３の集合とメッシュ３２の境界上の頂点を結ぶことにより２つのメッシュ３１，３２が共有する三角ポリゴンを生成して、図１４に示すように、メッシュ３１及びメッシュ３２を合成した合成メッシュ３５を得る。
【０００９】
このように、２つのメッシュ間の境界部についてはチャックを閉めていくように新たなポリゴンを生成して隙間を埋めていくのがメッシュのクリッピングである。
【００１０】
なお、ポリゴンベース方式の詳細については、例えば"Greg Turk and Marc Loovy. Zippered polygon meshes from range image. In Proceedings of ACM SIGGRAPH'94, pp.311-318. ACM Press, 1994"に開示されている。
【００１１】
次に、ボリュームベース方式について説明する。ボリュームベース方式は３次元空間をＸ，Ｙ，Ｚ方向に小さな単位の格子に分割し、この単位格子によって構成される小さな立方体（ボクセル）を用いる。例えば、図１５(a)に示すような形状の四角錐２１を、図１５(b)で示すように、多数のボクセル２２を用いて表現する。
【００１２】
上述した各ボクセルにおいて、ポリゴンメッシュデータで規定されるポリゴンからの距離に相当するポテンシャル値を計算する。例えば、図１６に示すように、ボクセル２２、視点２３及びメッシュ２４の位置関係があるとき、視線２５上におけるボクセル２２とメッシュ２４のポリゴン２６の点ｘまでの距離ｄｘに基づきポテンシャル値を決定する。このとき、ポリゴン２６に対してボクセル２２が視点２３の側にある場合はポテンシャル値の符号は負となり、視点２３の反対側にある場合はポテンシャル値の符号は正となるが一般的である。したがって、図１６の例ではポテンシャル値の符号は負となる。
【００１３】
上記ポテンシャル値の計算は多視点から得られた複数のポリゴンメッシュデータそれぞれに対して行われるため、通常、各ボクセルに対応して複数のポテンシャル値が得られることになる。これら複数のポテンシャル値の合計値が各ボクセルの加算ポテンシャル値となる。
【００１４】
そして、各ボクセルの加算ポテンシャル値に基づきマーチンキューブ法等の手法を用いて再度ポリゴンメッシュデータを生成する。
【００１５】
なお、ボリュームベース方式の詳細については、例えば、"Brain Curless and Marc Lovely. A bolumetric method for building complex models from range images. In Computer Graphics, Annual Conference Series, pp.303-312, 1996.(Proceedings Siggraph '96)."に開示されている。
【００１６】
【発明が解決しようとする課題】
上述のように、従来、多視点から得られたオリジナルデータである複数のポリゴンメッシュデータの合成はポリゴンベース方式あるいはボリュームベース方式で行われていた。
【００１７】
ポリゴンベース方式は、上述したように、２つのポリゴンメッシュデータを１つのポリゴンメッシュデータに順次合成しながら、最終的に１つの合成ポリゴンメッシュデータを得るため、１つのポリゴンメッシュデータにエラ−（誤差等を含む）があるとその影響が合成するポリゴンメッシュデータに大きく現れるため、エラーを回復することができない。
【００１８】
また、オリジナルのポリゴンメッシュデータに生じる誤差や複数のポリゴンメッシュデータ間の座標系の位置合わせ時に生じる誤差に大きく影響を受けやすいため、小さな誤差でも影響を受けやすい細い棒のような形状は、合成ポリゴンメッシュデータではうまく再構成できないという問題点があった。
【００１９】
さらに、２つのポリゴンメッシュデータの合成時に毎回位相（点と点をつなぐ部分）の復元まで行うためポリゴンメッシュデータの多重度が大きくなると効率が低下するという問題点があった。
【００２０】
一方、ボリュームベース方式では、各ボクセルにおいて複数のポテンシャル値の合計値を加算ポテンシャル値としているため、１つのポリゴンメッシュデータの誤差と他のポリゴンメッシュデータの誤差とが互いに相殺される可能性も高く、ポリゴンメッシュデータに生じるエラー，誤差等の影響をさほど受けず、ポリゴンメッシュデータの多重度が大きくなっても効率はさほど低下しない。すなわち、ボリュームベース方式はポリゴンベース方式の問題点はすべて解決されている。
【００２１】
しかしながら、その反面、ボクセルの大きさが均一なため、最終的に得た合成ポリゴンメッシュデータの解像度が全体で均一となる。したがって、多視点から得られるオリジナルの複数のポリゴンメッシュデータのうち、解像度の高い部分に合わせてボクセルの大きさを小さくした場合は、合成ポリゴンメッシュデータの冗長性が高くなり計算効率の劣化を招いてしまい、解像度の低い部分に合わせた場合はオリジナルデータの高解像度なデータが損なわれてしまうという問題点があった。
【００２２】
また、ボクセル毎にポテンシャル値を算出する際にポリゴンメッシュデータはリサンプリングされ、さらに加算ポテンシャル値に基づき各ボクセルの面（ポリゴン）を抽出する際に補間された頂点が算出されるため、２度の演算処理を行うことになり精度的な劣化は避けられないという問題点があった。ボリュームベース方式で精度を維持しようとするとボクセルサイズを非常に小さく設定する必要があり、こうした場合は前述したように、合成ポリゴンメッシュデータの冗長性は非常に高くなり、計算量もかなり増えるため、実用不可能となる。
【００２３】
この発明は上記問題点を解決するためになされたもので、多視点から得られたオリジナルの３次元データの有する精度及び解像度を維持しながら、得られるデータの冗長性を必要以上に高くすることなく、オリジナルの３次元データ自身に生じる誤差に対しても安定した合成ポリゴンメッシュデータを実用レベルの時間内で得ることができる、多視点３次元データの合成方法を得ることを目的とする。
【００２４】
【課題を解決するための手段】
この発明に係る請求項記載の多視点３次元データの合成方法は、多視点から被写体を計測して得られる複数の３次元データを１つの３次元データに合成する方法であって、前記複数の３次元データはそれぞれポリゴンメッシュ構造を呈し、(a)ボクセルを用いたボリューム方式でサーフェースを定義することにより、前記複数の３次元データからポリゴンメッシュ構造の一つのサーフェースデータを求めるステップと、(b)前記サーフェースデータで規定されたサーフェースデータ用メッシュと前記複数の３次元データで規定された複数のメッシュそれぞれとを比較して、前記サーフェースデータ用メッシュの各頂点を順次第１の改良対象頂点とし、該第１の改良対象頂点に対して第１の位置条件を満足する対応頂点を有しかつ所定の解像度条件を満足する解像度を有するメッシュを前記複数のメッシュから一つ選択し、選択したメッシュの構造に合わせて前記サーフェースデータ用メッシュの前記第１の改良対象頂点の近傍領域のメッシュ構造を改良して中間サーフェースデータを得るステップと、(c)前記中間サーフェースデータで規定された中間サーフェースデータ用メッシュと前記複数の３次元データで規定された複数のメッシュそれぞれとを比較して、前記中間サーフェースデータ用メッシュの各頂点を順次第２の改良対象頂点とし、前記複数のメッシュから、第２の改良対象頂点に対して第２の位置条件を満足する対応ポリゴンを有する所定数のメッシュを選択し、前記所定数のメッシュそれぞれの前記対応ポリゴンとの距離が所定の距離条件を満足するように、前記第２の改良対象頂点を移動させることにより、確定サーフェースデータを得るステップとを備えている。
【００２５】
請求項２記載の多視点３次元データの合成方法において、前記第１の位置条件は前記第１の改良対象頂点と前記対応頂点との距離が第１の基準値以内である条件を含み、前記所定の解像度条件は最も高い解像度を指定する条件を含み、前記第２の位置条件は前記第２の改良対象頂点と前記対応ポリゴンとの距離が第２の基準値以内である条件を含み、前記所定の距離条件は、前記所定数のメッシュそれぞれの前記対応ポリゴンとの距離の合計値が最小あるいは一定値以下となる条件を含んでいる。
【００２６】
請求項３記載の多視点３次元データの合成方法において、前記第１の改良対象頂点の近傍領域のメッシュ構造の改良処理は、前記選択したメッシュの解像度が前記サーフェースデータ用メッシュの解像度よりも高い場合、前記改良対象頂点の近傍領域に新たな頂点を生成してポリゴンを分割する処理を含んでいる。
【００２７】
請求項４記載の多視点３次元データの合成方法において、前記第１の改良対象頂点の近傍のメッシュ構造の改良処理は、前記選択したメッシュの解像度が前記サーフェースデータ用メッシュの解像度よりも低い場合、前記改良対象頂点の近傍領域にある頂点を削除してポリゴンを統合する処理をさらに含んでいる。
【００２８】
請求項５記載のコンピュータ読み取り可能な記録媒体は、請求項１記載の多視点３次元データの合成方法における前記ステップ(b)，(c)をコンピュータに実行させるためのプログラムが記録されている。
【００２９】
【発明の実施の形態】
＜＜実施の形態＞＞
＜システム構成＞
図１はこの発明の実施の形態である多視点３次元データの統合方法で用いられる３次元形状計測システムのハードウェア構成の概略を示す説明図である。同図に示すように、被写体１の回りを３次元入力装置２を移動させながら、被写体１に対する多視点からの３次元データを得る。３次元入力装置２はズームレンズを具備しており、このズームレンズを操作することにより、様々な解像度で３次元データを入力することができる。また、被写体１からの３次元入力装置２の距離を変更することによっても、被写体１に対する３次元データの解像度を変更することができる。
【００３０】
したがって、被写体１の顔等の精細なデータが必要な部分は３次元入力装置２から被写体１までの距離を短く設定したり、ズームレンズを長焦点側に移動することにより高解像度な３次元データを得ることができる。一方、被写体１の背中等のあまり形状の変化が激しくない部分は３次元入力装置２から被写体１までの距離を長く設定したり、ズームレンズを短焦点側に移動することにより低解像度なデータ数の少ない３次元データを得ることができる。
【００３１】
このように、３次元入力装置２を移動させながら、適宜撮像条件を変更して被写体１の全周のデータを入力する。そして、３次元入力装置２より得られた多視点の３次元データはコンピュータ３に取り込まれ、コンピュータ３上で既存のポリゴンメッシュデータ変換方法によって複数のポリゴンメッシュデータに変換される。
【００３２】
＜方法（多視点３次元データの統合方法）＞
図２はこの発明の実施の形態である多視点３次元データの統合方法を示すフローチャートである。
【００３３】
同図を参照して、ステップＳ１で、多視点の３次元データとして複数のポリゴンメッシュデータを入力する。このとき、各ポリゴンメッシュデータは各々の撮像位置での座標系で表現されている。
【００３４】
次に、ステップＳ２で、複数のポリゴンメッシュデータ間の位置合わせを行い、複数のポリゴンメッシュデータすべてを一つの座標系のデータに変換する。なお、位置合わせ方法については、回転ステージなどの治具を用いて座標変換のパラメータを求める方法、３次元入力装置に姿勢センサー、位置センサーを取り付けて３次元入力装置の位置、姿勢を獲得して３次元座標系を変換する方法、入力されたポリゴンメッシュデータの整合性から最適な変換パラメータを求める方法等の種々の既存の方法がある。
【００３５】
続いて、ステップＳ３において、多視点３次元データの合成方法を実行し、ステップＳ２で位置合わせ処理が施された複数のポリゴンメッシュデータが一繋がりとのポリゴンメッシュデータとなるように合成して合成ポリゴンメッシュデータを得る。
【００３６】
最後に、ステップＳ４において、ステップＳ３で合成された合成ポリゴンメッシュデータを全周３次元モデルとして出力する。
【００３７】
＜方法（オリジナルデータの合成方法）＞
図３は図２のステップＳ３の多視点３次元データの合成方法の詳細を示すフローチャートである。なお、ステップＳ３において、ステップＳ２で位置合わせ処理を施された複数のポリゴンメッシュデータを多視点３次元データのオリジナルデータとして扱う。
【００３８】
同図を参照して、ステップＳ３１で、複数のオリジナルデータにおけるポリゴンの頂点間の距離の最大値に基づきボクセルサイズを決定し、決定したボクセルサイズに合わせた単位格子（ボクセル格子）を生成して、ボクセルの集合体を得る。
【００３９】
次に、ステップＳ３２で、各ボクセルの符号付き距離に基づくポテンシャル値を複数のポリゴンメッシュデータそれぞれに求め、その加算合計値である合成ポテンシャル値を得る。符号付き距離は、従来のボリュームベース方式で図１６を示して説明したように、視点２３の位置から各ボクセル２２（図１６では１つのみ示す）の中心を通過する視線２５が一つのオリジナルデータで規定されたメッシュ２４のポリゴンと交わる点ｘを計算し、ボクセル２２の中心から交点ｘまでの距離の絶対値ｄｘを求め、視点２３から見てボクセル２２の手前側を正、奥側をマイナスの符号に設定して得られた距離である。このように得られた符号付きの距離に基づきポテンシャル値を計算する。
【００４０】
上記ポテンシャル値の計算処理は複数のオリジナルデータすべてに対して行われる。したがって、最大でオリジナルデータと同じ数のポテンシャル値が各ボクセルで得られ、その加算合計値が各ボクセルの加算ポテンシャル値となる。
【００４１】
そして、ステップＳ３３で、加算ポテンシャル値が“０”（０近傍値を含む）となるボクセルが、被写体１のサーフェース上にあると定義して、加算ポテンシャル値が“０”の等値面の抽出をマーチンキューブ法によって行い、“０”の等値面で構成されるポリゴンメッシュデータであるサーフェースデータを得る。なお、マーチンキューブ法については例えば"[W.Lorensen and H.Cline, 1987] Marching cubes: A high resolution 3D surface construction algorithm. Computer Graphics (SIGGRAPH'92) :pp.163-169, July 1987."に開示されている。
【００４２】
なお、ステップＳ３１〜Ｓ３３の処理はステップＳ３１におけるボクセルサイズの決定内容を除いて、基本的に既存のボリュームベース方式によるポリゴンメッシュデータの合成方法を用いて実行することができる。
【００４３】
したがって、複数のオリジナルデータ自身に生じる誤差（例えば、ステップＳ２の位置合わせ処理時に生じる誤差）に対しても安定したサーフェースデータを得ることができる。
【００４４】
その後、ステップＳ３４において、ステップＳ３３で得られたサーフェースデータで規定されるサーフェースデータ用メッシュと複数のオリジナルデータ（複数のポリゴンメッシュデータ）それぞれで規定される複数のメッシュとを比較して、サーフェースデータ用メッシュのポリゴンの各頂点に対応する複数のメッシュそれぞれの頂点（対応頂点）を探索して決定する。
【００４５】
例えば、図４に示すように、サーフェースデータ１１Ａ（で規定されるメッシュ）が生成され、２つのオリジナルデータＯ１，０２（で規定されるメッシュ）が存在するとき、サーフェースデータ１１Ａの頂点Ｐ１は、オリジナルデータＯ１の頂点Ｐ１１及びオリジナルデータＯ２の頂点Ｐ２１が対応頂点であると決定する。また、サーフェースデータ１１Ａの頂点Ｐ２はオリジナルデータＯ１の頂点Ｐ１３及びオリジナルデータＯ２の頂点Ｐ２１が対応頂点であると決定する。
【００４６】
したがって、オリジナルデータＯ１がサーフェースデータ１１Ａより隣接する頂点の間隔が密なため、オリジナルデータＯ１の一部の頂点（例えばＰ１２）はサーフェースデータ１１Ａのいずれの頂点とも対応せず、オリジナルデータＯ２がサーフェースデータ１１Ａより隣接する頂点の間隔が疎なため、オリジナルデータＯ２の一部の頂点（例えばＰ２１）はサーフェースデータ１１Ａの複数頂点と対応する（例えば、Ｐ２１とＰ１，Ｐ２）。
【００４７】
なお、図４及び後に示す図５，図８ないし図１１は、便宜上、各ポリゴンメッシュデータ（で規定されるメッシュ）を面（ポリゴン）に垂直な方向から見た２次元で示している関係で線状となっている。
【００４８】
続いて、ステップＳ３５で、サーフェースデータの各頂点を順次第１の改良対象頂点とし、該第１の改良対象頂点に対応する複数のオリジナルデータそれぞれの対応頂点のうち、第１の改良対象頂点との頂点間距離が第１の基準値以内という第１の位置条件を満足する対応頂点の中で、解像度が最も高い（隣接する頂点間距離の平均が最も短いものに相当）という解像度条件をさらに満足するオリジナルデータの対応頂点を選択対応頂点として選択し、選択対応頂点を有するオリジナルデータ（で規定されるメッシュ）の解像度に適合するように、第１の改良対象頂点を含むポリゴンを分割あるいは統合して改良する。このポリゴンの分割／統合処理をサーフェースデータの全頂点を第１の改良対象頂点をして実行することにより、最終的に中間サーフェースデータ１１Ｂを得る。
【００４９】
すなわち、選択頂点を有するオリジナルデータの解像度がサーフェースデータ（で規定されるメッシュ）の解像度より高い場合は、第１の改良対象頂点から最も距離の長い辺の間に新たに分割頂点を１つ生成してポリゴンの分割を行う。
【００５０】
一方、選択頂点を有するオリジナルデータの解像度がサーフェースデータの解像度より低い場合は、第１の改良対象頂点から最も距離の短い辺を隔てて隣接する頂点を削除してポリゴンの統合を行う。
【００５１】
以上の分割／統合処理を選択頂点を有するオリジナルデータとの解像度の差が所定の範囲内に収まるまで続ける。
【００５２】
図５はサーフェースデータのポリゴン分割例を示す説明図である。同図に示すように、サーフェースデータ１１Ａの頂点Ｐ１の選択頂点はオリジナルデータＯ１の頂点Ｐ１１である場合、オリジナルデータＯ１の解像度の方がサーフェースデータ１１Ａの解像度より高いため、サーフェースデータ１１Ａの頂点Ｐ１から最も距離の長い辺が頂点Ｐ１，Ｐ２間の辺１３（便宜上、辺１３の距離が最も長いとする）上に頂点Ｐ４を分割頂点１２として生成する。
【００５３】
そして、頂点Ｐ４を頂点をする新たなポリゴンを生成してポリゴンの分割が行われる。例えば、頂点Ｐ４が生成される前のサーフェースデータ１１Ａが図６のようなポリゴンＰＧ１，ＰＧ２からなるポリゴンメッシュ構造の場合、分割頂点１２である頂点Ｐ４の生成により、図７に示すように、ポリゴンＰＧ１がポリゴンＰＧ１１，ＰＧ１２に分割され、ポリゴンＰＧ２がポリゴンＰＧ２１，ＰＧ２２に分割される。
【００５４】
このように、選択対応頂点を有するオリジナルデータで規定されたメッシュの解像度がサーフェースデータ用メッシュの解像度よりも高い場合、第１の改良対象頂点の近傍領域に新たな頂点を生成してポリゴンを分割する処理を行うため、解像度が低いサーフェースデータを、選択対応頂点を有するオリジナルデータの解像度に近づけることにより改良することができる。
【００５５】
一方、統合処理は分割処理と全く逆の処理となり、例えば、図７で示すような４つのポリゴンが図６に示すような２つのポリゴンに統合される。
【００５６】
このように、選択対応頂点を有するオリジナルデータで規定されたメッシュの解像度がサーフェースデータ用メッシュの解像度よりも低い場合、第１の改良対象頂点の近傍領域にある頂点を削除してポリゴンを統合する処理を行うため、解像度が必要以上に高く冗長性が高いサーフェースデータを、選択したオリジナルのメッシュが有する適度な解像度に近づけることにより改良することができる。
【００５７】
同様なポリゴンの分割／統合処理がサーフェースデータ１１Ａの各頂点を第１の改良対象頂点として行われた結果、例えば、図５に示すように、必要個所に分割頂点１２が生成された中間サーフェースデータ１１Ｂを得ることができる。
【００５８】
上記したステップＳ３４，Ｓ３５の処理を実行することにより下記の効果を奏する。
【００５９】
第１の改良対象頂点に対する距離が第１の基準値以内であるという位置条件を満足する対応頂点のみを選択対象とすることにより、第１の改良対象頂点との距離が必要以上に離れて信頼性の乏しい対応頂点を有するオリジナルデータを選択対象から除去することができる。
【００６０】
選択対象となったオリジナルデータのメッシュの中から、解像度が最も高いメッシュを一つ選択選択したメッシュの構造に合わせてサーフェースデータ用メッシュの第１の改良対象頂点の近傍領域のメッシュ構造を改良するため、ステップＳ３１〜Ｓ３３で得られたサーフェースデータの解像度に関係なく、オリジナルデータの解像度と同程度の中間サーフェースデータを得ることができる。
【００６１】
したがって、ステップＳ３１でボクセルサイズを必要以上に小さくすることになく、オリジナルデータの解像度を維持した中間サーフェースデータを得ることができ、その結果、ボクセルサイズを小さくしてサーフェースデータの冗長性を必要以上に高くする必要がなくなるため、ステップＳ３１〜Ｓ３３の処理に要する時間も実用レベルに抑えることができる。
【００６２】
その後、ステップＳ３６において、ステップＳ３５で得られた中間サーフェースデータで規定される中間サーフェースデータ用メッシュと複数のオリジナルデータそれぞれで規定される複数のメッシュとを比較して、中間サーフェースデータ用メッシュのポリゴンの各頂点に対し、複数のオリジナルデータそれぞれで頂点，ポリゴン間距離が最短となるポリゴンを探索し対応ポリゴンとして決定する。
【００６３】
以下、ステップＳ３６の処理内容について詳述する。まず、中間サーフェースデータ上の各頂点を順次第２の改良対象頂点とし、第２の改良対象頂点に対して最も近いオリジナルデータ上の対応頂点を探索する。
【００６４】
次に、対応頂点を含むすべてのポリゴンに対して第２の改良対象頂点から垂線をおろす。この垂線との交点がポリゴン内に存在する時、この交点と第２の改良対象頂点との距離を頂点，ポリゴン間距離として認識する。
【００６５】
そして、認識した頂点，ポリゴン間距離のうち、最短距離の頂点，ポリゴン間距離を有するポリゴンを対応ポリゴンとする。
【００６６】
例えば、図８に示すように、中間サーフェースデータＭＳＤ上の頂点ＭＰ１を第２の改良対象頂点としたとき、オリジナルデータＯＤ上の頂点ＯＰ１が対応頂点となる。そして、頂点ＭＰ１からおろした垂線との交点ＯＸがポリゴンＯＰＬ１（対応頂点ＯＰ１を含むポリゴン（２次元で図示しているため便宜上、辺をポリゴンとみなす））上に存在するため、交点ＯＸ，頂点ＭＰ１間の距離Ｒ１が頂点，ポリゴン間距離として認識される。この距離Ｒ１が最小値であれば、ポリゴンＯＰＬ１は対応ポリゴンとなる。
【００６７】
また、上記対応頂点を含むすべてのポリゴンのうち、第２の改良対象頂点からおろした垂線との間に交点を有するポリゴンが全く存在しないときは、例外処置として、上記対応頂点を対応ポリゴンとみなし、上記対応頂点と第２の改良対象頂点との距離を頂点，ポリゴン間距離とする。
【００６８】
例えば、図９に示すように、中間サーフェースデータＭＳＤ上の頂点ＭＰ１を第２の改良対象頂点としたとき、オリジナルデータＯＤ上の頂点ＯＰ２が対応頂点となるが、頂点ＭＰ１からおろした垂線との交点を有するポリゴンが全く存在しないため、上記例外処置によって、頂点ＯＰ２が対応ポリゴンとみなされ、頂点ＯＰ２，頂点ＭＰ１間の距離Ｒ２が頂点，ポリゴン間距離となる。
【００６９】
さらに例を挙げて説明する。図１０に示すように、中間サーフェースデータ１１Ｂが生成され、２つのオリジナルデータＯ１１，Ｏ１２が存在するとき、中間サーフェースデータ１１Ｂの頂点Ｐ５は、オリジナルデータＯ１１の頂点Ｐ３１及びオリジナルデータＯ１２のポリゴンＰＧ４１を対応ポリゴンとして決定する。また、中間サーフェースデータ１１Ｂの頂点Ｐ４はオリジナルデータＯ１１のポリゴンＰＧ３２及びオリジナルデータＯ１２のポリゴンＰＧ４１を対応ポリゴンとして決定する。
【００７０】
最後にステップＳ３７で、中間サーフェースデータの各頂点を順次第２の改良対象頂点とし、該第２の改良対象頂点に対応する複数のオリジナルデータそれぞれの対応ポリゴンのうち、頂点，ポリゴン間距離が第２の基準値以下という第２の位置条件を満足するポリゴンを選択し、選択したすべての対応ポリゴンの頂点，ポリゴン間距離の和が最小値あるいは一定値以下になるという距離条件を満足するように、第２の改良対象頂点の位置を移動する。この移動処理を中間サーフェースデータの全頂点を第２の改良対象頂点として実行することにより、最終的に確定サーフェースデータ１１Ｃを得る。この移動によって、オリジナルデータを合成してサーフェースデータを生成する際に発生した誤差を最小にすることができる。
【００７１】
例えば、図１１に示すように、中間サーフェースデータ１１ＢがオリジナルデータＯ１２に片寄って生成された場合でも、ステップＳ３７の移動処理によって、オリジナルデータＯ１１への片寄りが改善された確定サーフェースデータ１１Ｃを得ることができる。
【００７２】
上記したステップＳ３６，Ｓ３７の処理によって下記の効果を奏する。オリジナルデータで規定される複数のメッシュから、第２の改良対象頂点に対して第２の基準位置以内の頂点，ポリゴン間距離で対応する対応ポリゴンを有する所定数のメッシュを選択するため、第２の改良対象頂点との距離が必要以上に離れて信頼性の乏しい対応ポリゴンを有するオリジナルデータを選択対象から除去することができる。
【００７３】
そして、選択した所定数のメッシュそれぞれの対応ポリゴンとの距離が最小あるいは一定値以下の距離条件を満足するように、第２の改良対象頂点の移動させることにより、確定サーフェースデータを得ている。
【００７４】
したがって、オリジナルデータによって中間サーフェースデータが補正されるため、中間サーフェースデータの精度が多少劣化していても、オリジナルデータの精度を反映した、精度の高い確定サーフェースデータを得ることができる。
【００７５】
以上の結果、ステップＳ３で実行される多視点３次元データの合成方法は、多視点から得られたオリジナルデータの有する精度及び解像度を維持しながら、ステップＳ３１〜Ｓ３３で得られるサーフェースデータの冗長性を必要以上に高くすることなく、オリジナルデータ自身に生じる誤差に対しても安定した確定サーフェースデータを実用レベルの時間内で得ることができるという効果を奏する。
【００７６】
＜記録媒体への適応＞
図２で示した多視点３次元データの統合方法はコンピュータ３（図１参照）が読みとり可能なプログラムとしてフレキシブルディスク、ＣＤ−ＲＯＭ等の外部記録媒体に記録させることができる。さらに、３次元入力装置２より得られたデータをポリゴンメッシュデータに変換する方法を含めて外部記録媒体に記録させることもできる。
【００７７】
また、図２で示した多視点３次元データの統合方法のステップＳ３の処理である図３で示した多視点３次元データの合成方法のみをコンピュータが読みとり可能なプログラムとして外部記録媒体に記録させることもできる。この場合、他のプログラム（ステップＳ１，Ｓ２，Ｓ４の処理プログラム）はコンピュータのＲＯＭあるいはハードディスク内に予め書き込んでおき、さらに外部記録媒体それぞれからプログラムをロードしてステップＳ３の処理を実行する等の方法が考えられる。
【００７８】
さらには、本実施の形態の特徴部であるステップＳ３４〜Ｓ３７の処理のみを外部記録媒体に記録させてもよい。この場合、他のプログラム（ステップＳ１，Ｓ２，Ｓ３１〜Ｓ３３及びＳ４の処理プログラム）は前述したようにコンピュータのＲＯＭあるいはハードディスク内に予め書き込んでおき、さらに外部記録媒体それぞれからプログラムをロードして実行する等の方法が考えられる。
【００７９】
【発明の効果】
以上説明したように、この発明における請求項１記載の多視点３次元データの合成方法はステップ(a)で、ボクセルを用いた既存のボリューム方式でサーフェースデータを得ているため、オリジナルの複数の３次元データ自身に生じる誤差に対しても安定したサーフェースデータを得ることができる。
【００８０】
加えて、ステップ(b)で、第１の改良対象頂点に対して第１の位置条件を満足する対応頂点を有しかつ所定の解像度条件を満足する解像度を有するメッシュを複数のメッシュから一つ選択し、選択したメッシュの構造に合わせてサーフェースデータ用メッシュの第１の改良対象頂点の近傍領域のメッシュ構造を改良するため、ステップ(a)で得られたサーフェースデータの解像度に関係なく、オリジナルデータである所定の解像度条件を満足する３次元データの解像度に適合した中間サーフェースデータを得ることができる。
【００８１】
したがって、ボクセルサイズを必要以上に小さくすることになく、オリジナルデータの解像度を維持した中間サーフェースデータを得ることができ、その結果、ボクセルサイズを小さくしてサーフェースデータの冗長性を必要以上に高くする必要がなくなるため、ステップ(a)に要する時間も実用レベルに抑えることができる。
【００８２】
また、ステップ(c)で、複数のメッシュから、第２の改良対象頂点に対して第２の位置条件を満足する対応ポリゴンを有する所定数のメッシュを選択し、所定数のメッシュそれぞれの対応ポリゴンとの距離が所定の距離条件を満足するように、第２の改良対象頂点の移動させることにより、確定サーフェースデータを得ている。
【００８３】
したがって、オリジナルデータである複数の３次元データによって中間サーフェースデータが補正されるため、中間サーフェースデータの精度が多少劣化していても、オリジナルデータの精度を反映した、精度の高い確定サーフェースデータを得ることができる。
【００８４】
以上の結果、請求項１記載の多視点３次元データの合成方法は、多視点から得られたオリジナルの３次元データの有する精度及び解像度を維持しながら、ステップ(a)で得られるサーフェースデータの冗長性を必要以上に高くすることなく、オリジナルの３次元データ自身に生じる誤差に対しても安定したポリゴンメッシュデータである確定サーフェースデータを実用レベルの時間内で得ることができるという効果を奏する。
【００８５】
この発明における請求項２記載の多視点３次元データの合成方法において、第１の位置条件は第１の改良対象頂点と対応頂点との距離が第１の基準値以内である条件を含んでいるため、第１の改良対象頂点と必要以上に離れた距離にあり信頼性の乏しい対応頂点を有する３次元データを選択対象から除去することができる。
【００８６】
また、所定の解像度条件は最も高い解像度を指定する条件を含むため、第１の位置条件を満足する対応頂点を有する３次元データのうち、最も高い解像度の３次元データが選ばれることにより、中間サーフェースデータの解像度はオリジナルデータの解像度と同程度の解像度を維持することができる。
【００８７】
さらに、第２の位置条件は第２の改良対象頂点と対応ポリゴンとの距離が第２の基準値以内である条件を含むため、第２の改良対象頂点と必要以上に離れた距離にあり信頼性の乏しい対応ポリゴンを有する３次元データを選択対象から除去することができる。
【００８８】
また、所定の距離条件は、所定数のメッシュそれぞれの対応ポリゴンとの距離の合計値が最小あるいは一定値以下となる条件を含むため、最もオリジナルの３次元データの形状を反映した精度の高い確定サーフェースデータを得ることができる。
【００８９】
請求項３記載の多視点３次元データの合成方法における第１の改良対象頂点の近傍領域のメッシュ構造の改良処理は、選択したメッシュの解像度がサーフェースデータ用メッシュの解像度よりも高い場合、第１の改良対象頂点の近傍領域に新たな頂点を生成してポリゴンを分割する処理を含んでいるため、上記ポリゴンを分割する処理によって解像度が低いサーフェースデータを、選択したオリジナルのメッシュの解像度に近づけることにより改良することができる。
【００９０】
請求項４記載の多視点３次元データの合成方法における第１の改良対象頂点の近傍のメッシュ構造の改良処理は、選択したメッシュの解像度がサーフェースデータ用メッシュの解像度よりも低い場合、第１の改良対象頂点の近傍領域にある頂点を削除してポリゴンを統合する処理を含んでいるため、上記ポリゴンを統合する処理によって解像度が必要以上に高く冗長性が高いサーフェースデータを、選択したオリジナルのメッシュが有する適度な解像度に近づけることにより改良することができる。
【００９１】
この発明における請求項５記載の記録媒体は、請求項１記載の多視点３次元データの合成方法のステップ(b)，(c)をコンピュータに実行させるためのプログラムが記録されている。
【００９２】
したがって、ステップ(b)を実行させることにより、ボクセルサイズを必要以上に小さくすることになく、オリジナルデータの解像度を維持した中間サーフェースデータを得ることができ、計算に要する時間も実用レベルに抑えることができる。
【００９３】
さらに、ステップ(c)を実行させることにより、オリジナルデータである複数の３次元データによって中間サーフェースデータが補正されるため、中間サーフェースデータの精度が多少劣化していても、オリジナルデータの精度を維持した、精度の高い確定サーフェースデータを得ることができる。
【図面の簡単な説明】
【図１】  この発明の実施の形態で用いられるシステムのハードウェア構成の概略を示す説明図である。
【図２】  この発明の実施の形態である多視点３次元データの統合方法の処理手順を示すフローチャートである。
【図３】  図２で示した複数のポリゴンメッシュデータの合成方法の処理手順の詳細を示すフローチャートである。
【図４】  図３で示した対応頂点の探索処理例を示す説明図である。
【図５】  図３で示したポリゴンの分割処理例を示す説明図である。
【図６】  図３で示したポリゴンの分割処理例を示す説明図である。
【図７】  図３で示したポリゴンの分割処理例を示す説明図である。
【図８】  図３で示した対応ポリゴンの探索処理例を示す説明図である。
【図９】  図３で示した対応ポリゴンの探索処理例を示す説明図である。
【図１０】  図３で示した対応ポリゴンの探索処理例を示す説明図である。
【図１１】  図３で示した中間サーフェースデータの頂点の移動処理例を示す説明図である。
【図１２】  メッシュのクリッピング動作を示す説明図である。
【図１３】  メッシュのクリッピング動作を示す説明図である。
【図１４】  メッシュのクリッピング動作を示す説明図である。
【図１５】  ボクセル構造を示す説明図である。
【図１６】  ボリュームベース方式における符号付き距離例を示す説明図である。
【符号の説明】
１  被写体、２  ３次元入力装置、３  コンピュータ
【図１】
0003740865.tif 000002
【図２】
0003740865.tif 000003
【図３】
0003740865.tif 000004
【図４】
0003740865.tif 000005
【図５】
0003740865.tif 000006
【図６】
0003740865.tif 000007
【図７】
0003740865.tif 000008
【図８】
0003740865.tif 000009
【図９】
0003740865.tif 000010
【図１０】
0003740865.tif 000011
【図１１】
0003740865.tif 000012
【図１２】
0003740865.tif 000013
【図１３】
0003740865.tif 000014
【図１４】
0003740865.tif 000015
【図１５】
0003740865.tif 000016
【図１６】
0003740865.tif 000017