(57)【特許請求の範囲】
【請求項１】
計測器で計測することにより得られた物体の表面に分布する整列していない点群からボリュームモデルを生成するボリュームモデル生成システムであって、前記点群から初期ボクセルを生成する初期ボクセル生成手段、該初期ボクセルを複数個の下位ボクセルに分割するボクセル分割手段、点を含む輪郭ボクセル、前記物体の外側にあって点を含まない空ボクセルである外ボクセル、前記物体の内側にあって点を含まない空ボクセルである内ボクセル、および、外ボクセルとも内ボクセルとも判断できない仮輪郭ボクセルのいずれかに前記下位ボクセルを分類する分類手段、を有し、前記輪郭ボクセルおよび前記仮輪郭ボクセルについて、前記ボクセル分割手段により、所望の回数になるまで前記下位ボクセルをさらに下位のボクセルに分割し、均一な細かさの輪郭ボクセルに分割することを特徴とするボリュームモデル生成システム。
【請求項２】
請求項１に記載されたボリュームモデル生成システムにおいて、前記初期ボクセルは、前記点群全体を含むことを特徴とするボリュームモデル生成システム。
【請求項３】
請求項１又は２に記載されたボリュームモデル生成システムにおいて、前記ボクセル分割手段は、ボクセルをＸ，Ｙ，Ｚ方向にそれぞれ２分割して８個の下位ボクセルに分割するものであることを特徴とするボリュームモデル生成システム。
【請求項４】
計測器で計測することにより得られた物体の表面に分布する整列していない点群からボリュームモデルを生成するボリュームモデル生成方法であって、初期ボクセル生成手段が前記点群から初期ボクセルを生成する初期ボクセル工程、ボクセル分割手段が該初期ボクセルを複数個の下位ボクセルに分割するボクセル分割工程、分類手段が、点を含む輪郭ボクセル、前記物体の外側にあって点を含まない空ボクセルである外ボクセル、前記物体の内側にあって点を含まない空ボクセルである内ボクセル、および、外ボクセルとも内ボクセルとも判断できない仮輪郭ボクセルのいずれかに前記下位ボクセルを分類する分類工程、を有し、前記輪郭ボクセルおよび前記仮輪郭ボクセルについて、前記ボクセル分割工程により、所望の回数になるまで前記下位ボクセルをさらに下位のボクセルに分割し、均一な細かさの輪郭ボクセルに分割することを特徴とするボリュームモデル生成方法。
【請求項５】
請求項４に記載されたボリュームモデル生成方法において、前記初期ボクセルは、前記点群全体を含むことを特徴とするボリュームモデル生成方法。
【請求項６】
請求項４又は５に記載されたボリュームモデル生成方法において、前記ボクセル分割工程は、ボクセルをＸ，Ｙ，Ｚ方向にそれぞれ２分割して８個の下位ボクセルに分割するものであることを特徴とするボリュームモデル生成方法。
【請求項７】
請求項１乃至３のいずれかに記載のボリュームモデル生成システムの各手段として、コンピュータを機能させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、既存製品の流用設計のための形状入力装置、インターネットＶＲＭＬコンテンツ作成装置、非接触測定結果解析装置などに応用可能なボリュームモデル生成システム、ボリュームモデル生成方法およびコンピュータ読取可能な記録媒体に関し、特に、輪郭ボクセルを用いたボリュームモデル生成システム、ボリュームモデル生成方法およびコンピュータ読取可能な記録媒体に関する。
【０００２】
【従来の技術】
近年、インターネット上でマルチメディア利用の広がりとともに、３次元表現の利用は拡大しており、３次元モデリングの重要性が高まっている。そのなかでも２次元イメージを基にした３次元モデリング手法が数多く提案されている。２次元イメージを基にした３次元点群の特徴としては、まばらで密度が一定していないことがあげられる。
【０００３】
輪郭ボクセル内に点群を含むボリュームモデルの生成については、芹田らの方法［芹田陽一郎，渡邊大地，ａｎｄ千代倉弘明．ボリューミング手法を用いた点群データからのポリゴンおよび曲面モデル自動生成．Ｉｎ第１３回NICOGRAPH／MULTIMEDIA論文コンテスト論文集，volume１３，pages７０−７９，１９９７．］があるが、ボクセルサイズの大きさを自動的に決定できないため、位相構造を再現できない場合や、輪郭ボクセルの欠損が発生する場合がある。このようなボクセルやそのボクセルが生成したポリゴンメッシュでは実際の物体を再現したソリッドモデルとして構造解析などに用いることができないという課題があった。
【０００４】
上記課題を解決するために、本出願人は、先に「点群からのポリゴン自動生成システム」（特願平１０−１４７４５６号）を提案した。この本出願の先に提案したこの発明では、k-neighborhood法等によって最小点群密度を計算する事によりボクセルサイズを決定し、立体の表面を覆う輪郭ボリュームを得る。その後、輪郭ボリュームに囲まれるボリュームを立体の内部ボリュームとすることにより、正しい位相のソリッドモデルを得ることが出来る。
【０００５】
しかしながら、この方法にも未解決な課題が残っている。即ち、点群が場所によって密度差が大きい場合には、最小点群密度からボクセルサイズを決定すると、ボクセルサイズが大きくなりすぎて、凹んだ部分など細部の形状が再現されない場合があった。また、立体の底の部分などある程度大きな点群の欠落があると、k-neighborhood法を用いた点群密度計算では最小の密度として検出されないので、そのまま輪郭ボリュームの欠落になり、最終的に正しい位相のモデルが再現されなかった。欠落のない輪郭ボリュームを得るため、結果を見ながら何度もボクセルサイズを調整する必要があった。
【０００６】
【発明が解決しようとする課題】
計測器等で計測することにより得られた位相構造を持った物体の表面に分布する整列していない点群からボリュームモデルを生成する場合、（１）密度が一定でないまばらな点群に対してボクセルサイズを決定すると、例えば凹んだ部分などが再現されない場合があり、ボリュームモデル乃至ソリッドモデルの精度が悪くなる。（２）位相構造を持った物体の表面に分布する点群に対してk-neighborhood法を用いると位相構造が失われてしまうことがある。
【０００７】
【課題を解決するための手段】
請求項１の発明は、計測器で計測することにより得られた物体の表面に分布する整列していない点群からボリュームモデルを生成するボリュームモデル生成システムであって、前記点群から初期ボクセルを生成する初期ボクセル生成手段、該初期ボクセルを複数個の下位ボクセルに分割するボクセル分割手段、点を含む輪郭ボクセル、前記物体の外側にあって点を含まない空ボクセルである外ボクセル、前記物体の内側にあって点を含まない空ボクセルである内ボクセル、および、外ボクセルとも内ボクセルとも判断できない仮輪郭ボクセルのいずれかに前記下位ボクセルを分類する分類手段、を有し、前記輪郭ボクセルおよび前記仮輪郭ボクセルについて、前記ボクセル分割手段により、所望の回数になるまで前記下位ボクセルをさらに下位のボクセルに分割し、均一な細かさの輪郭ボクセルに分割することを特徴とするボリュームモデル生成システムである。
【０００８】
請求項２の発明は、請求項１に記載されたボリュームモデル生成システムにおいて、前記初期ボクセルは、前記点群全体を含むことを特徴とするボリュームモデル生成システムである。
【０００９】
請求項３の発明は、請求項１又は２に記載されたボリュームモデル生成システムにおいて、前記ボクセル分割手段は、ボクセルをＸ，Ｙ，Ｚ方向にそれぞれ２分割して８個の下位ボクセルに分割するものであることを特徴とするボリュームモデル生成システムである。
【００１１】
請求項４の発明は、計測器で計測することにより得られた物体の表面に分布する整列していない点群からボリュームモデルを生成するボリュームモデル生成方法であって、初期ボクセル生成手段が前記点群から初期ボクセルを生成する初期ボクセル工程、ボクセル分割手段が該初期ボクセルを複数個の下位ボクセルに分割するボクセル分割工程、分類手段が、点を含む輪郭ボクセル、前記物体の外側にあって点を含まない空ボクセルである外ボクセル、前記物体の内側にあって点を含まない空ボクセルである内ボクセル、および、外ボクセルとも内ボクセルとも判断できない仮輪郭ボクセルのいずれかに前記下位ボクセルを分類する分類工程、を有し、前記輪郭ボクセルおよび前記仮輪郭ボクセルについて、前記ボクセル分割工程により、所望の回数になるまで前記下位ボクセルをさらに下位のボクセルに分割し、均一な細かさの輪郭ボクセルに分割することを特徴とするボリュームモデル生成方法である。
【００１２】
請求項５の発明は、請求項４に記載されたボリュームモデル生成方法において、前記初期ボクセルは、前記点群全体を含むことを特徴とするボリュームモデル生成方法である。
【００１３】
請求項６の発明は、請求項４又は５に記載されたボリュームモデル生成方法において、前記ボクセル分割工程は、ボクセルをＸ，Ｙ，Ｚ方向にそれぞれ２分割して８個の下位ボクセルに分割するものであることを特徴とするボリュームモデル生成方法である。
【００１５】
請求項７の発明は、請求項１乃至３のいずれかに記載のボリュームモデル生成システムの各手段として、コンピュータを機能させるためのプログラムを記録したコンピュータ読取可能な記録媒体である。
【００１６】
【発明の実施の形態】
本発明の実施形態を図面を参照して説明するが、本発明はこれら実施形態に限ることなく、本発明の範囲内で応用が可能であることは勿論である。
本発明の実施形態において、計測器等で計測することにより得られた物体の表面に分布する点群について、（１）点群は物体の表面に分布している、（２）点群は整列していない、即ち、隣の点は順番，周期などで明らかではない、（３）点群の密度は一定ではない、の各条件に合致したものであることを前提としている。
本発明を前記前提に基づき、図１のフローチャートを参照して説明する。なお、以下に８分割の例で説明する。
【００１７】
レベル設定（Ｓ１）
レベルＩの値を１に設定し、Ｎの値を適宜設定する。Ｎ値は、ボクセル分割のレベルを定めるもので、Ｎの値が小さいと粗いボリュームモデルとなり、大きいと処理時間がかかるばかりでなく、殆どが点を含まない空ボクセルとなってしまい、ボクセル分割の意味をなさなくなる。Ｎの値は、通常は２乃至１５程度である。
【００１８】
初期ボクセル作成（Ｓ２）
点群全体を包むバウンディングボックスを作成し、これを初期ボクセルとする。図２に本発明で用いるオクトツリー構造のボリュームモデルの模式を示す。初期ボクセルはオクトツリーのルートノードに対応する。オクトツリーのノードは８個の下位ノードヘのポインタを持っている。また、下位ノードは上位ノードヘのポインタを持っており相互に参照することができる。
【００１９】
レベルの判定（Ｓ３）
レベルＩが設定値Ｎより小さいかどうかの判定を行う。Ｎに達したら本プロセスは終了する。
【００２０】
輪郭ボクセルの確認（Ｓ４）
スキャンされるボクセルの種類を判別する。輪郭ボクセルおよび仮輪郭ボクセルの場合は次ステップＳ６へ進み、それ以外のボクセルすなわち空ボクセルの場合は、次ステップＳ５へ進む。
【００２１】
レベルアップ（Ｓ５）
輪郭ボクセル及び仮輪郭ボクセルについて実施する毎にレベルＩの値を、１増分増やして、ステップＳ３へ戻る。
ボクセル分割（Ｓ６）
輪郭ボクセルおよび仮輪郭ボクセルの場合は、図３に例示するようにボクセルをＸ，Ｙ，Ｚ方向に各々２つずつに８分割する。分割されたそれぞれの下位のボクセルを、以下に示す輪郭ボクセルの分類方法にしたがって分類する。
【００２２】
（ａ）輪郭ボクセル
点を含むボクセルは輪郭ボクセルとする。輪郭ボクセルは、立体内部と外部とを分ける境界の意味を持っている。初期ボクセルは、必ず点を含んでいるので、輪郭ボクセルに分類される。
（ｂ）外ボクセル
バウンディングボックスまたは既存の外ボクセルに隣接する、点を含まない空ボクセルは外ボクセルとする。
【００２３】
（ｃ）内ボクセル
輪郭ボクセルで６方向全てを囲まれた空ボクセルは、立体内部に存在するボクセル即ち内ボクセルとする。ただし後述の内外判定手順での確認が必要である。また、既存の内ボクセルに隣接する空ボクセルは内ボクセルとする。
（ｄ）仮輪郭ボクセル
内ボクセルと外ボクセルの両方に隣接する空ボクセルは仮輪郭ボクセルとする。仮輪郭ボクセルは、輪郭線が途切れるのを防止するために補完される。
【００２４】
仮輪郭ボクセルの場合は、８分割後以下の手順で分類する。
（ｅ）８分割された下位ボクセルは、隣接する内または外のボクセルが多い順に、４つのボクセルを内ボクセルまたは外ボクセルに分類する。輪郭を保つため、残りの４つは仮輪郭ボクセルにする。例えば隣接する外ボクセルがそれぞれ５，４，３，２....で、隣接する内ボクセルがそれぞれ３，２，２...であれば、外ボクセルが３個、内ボクセルが１個、仮輪郭ボクセルが４個と分類される。
（ｆ）上記分類後、内ボクセルに隣接するものは内ボクセルに、外ボクセルに隣接するものは外ボクセルに分類する。また、内ボクセル、外ボクセル両方に隣接するものは仮輪郭ボクセルに分類する。
【００２５】
空ボクセル発生の有無判定（Ｓ７）
ステップＳ６のボクセル分割で空ボクセルが発生したかどうか判定する。空ボクセルの発生がなかった場合は、ステップＳ４へ戻る。
【００２６】
空ボクセルの内外判定（Ｓ８）
図４のフローチャートに従って判定する（詳細後述）。内外判定が可能な場合は、ステップＳ４へ進む。内外判定不能の場合は、次ステップＳ９へ進む。
【００２７】
仮輪郭ボクセル属性の付与（Ｓ９）
前ステップＳ８で内外の判定が不能であったボクセルに、仮輪郭ボクセル属性を付与する。尚、ステップＳ７で複数個の空ボクセルが発生したときは、ステップＳ８，Ｓ９を所要回繰り返す。
【００２８】
空ボクセルの内外判定
すべて輪郭ボクセルに囲まれる空ボクセルの内外判定は、Ｘ，Ｙ，Ｚの各方向の正および負方向の合計６方向についてスキャニングを行い、内ボクセルか外ボクセルかの判定を行う。スキャニングの手順を図４のフローチャートに基づいて説明する。
【００２９】
最初にボリュームモデルの外か中かの状態を表すフラグＦｉｏの初期状態をＯＵＴとする（Ｓ２１）。
カウンタＩを初期値に設定する。正方向ならば、Ｉ＝０とし、０（ゼロ）番目のボクセルから、負方向ならば、Ｉ＝Ｎとし、Ｎ番目のボクセルからスキャニングを開始する（Ｓ２２）。
【００３０】
ボクセルが内または外と判定されていなかったら（Ｓ２４／ＮＯ）、スキャニングして内外の境界を通過したと判定されれば（Ｓ２５／ＹＥＳ）、フラグＦｉｏの状態を反転させ、ステップＳ２３へ進む（Ｓ２６）。一方、境界通過とは判定されなかった場合（Ｓ２５／ＮＯ）、ステップＳ２３へ進む。正方向ならばＩをカウントアップ（Ｉ＝Ｉ＋１）し、負方向ならばＩをカウントダウン（Ｉ＝Ｉ−１）する（Ｓ２３）。ボクセルが内または外と判定されたら（Ｓ２４／ＹＥＳ）、このルーチンは終了する。
【００３１】
フラグの反転とはＦｉｏがＩＮならばＯＵＴに、ＯＵＴならばＩＮにすることを示す。境界通過の判定基準は、輪郭ボクセルを通過した直後に空ボクセルになれば境界通過と見なす。ただし直前の輪郭ボクセルにスキャン方向からみたときにすべての即ち直前の輪郭ボクセルの周囲４方に輪郭ボクセルが隣接してなければならない。図５にその１例を示す。Ｚ軸正方向から図５（Ｂ）のボクセル群を見ると、図５（Ａ）のように見える。本発明では、これは「輪郭ボクセルには、４方全てに輪郭ボクセルが隣接しているもの」とみなす。
【００３２】
分割してできた空ボクセルまでスキャニングしたときのフラグＦｉｏの状態がそのボクセルの状態になる。以上のように６方向で行ったスキャニングを行い６方向ですべて結果が同じであれば、内外判定が可能とする（Ｓ８）。６方向で行ったスキャニングの結果が一致しなければ、内外判定不可能としそのボクセルに仮輪郭ボクセル属性を付与する（Ｓ９）。
【００３３】
（再帰的分割）
オクトツリー構造のボリュームモデルでは分割した８個のボクセルを８個の下位ノードに対応させる。分割を行うボクセルは輪郭ボクセルと仮輪郭ボクセルとし、空ボクセルはそれ以上分割しない。このように全体的にみて輪郭ボクセルの細かさは均一になるようにする。初期ボクセルをレベル０（ゼロ）のボクセルとし、以降分割する毎にレベルを１つずつ増やしていく。
【００３４】
上述のようにしてボリュームモデルが生成されたなら、このボリュームモデルをもとにして必要によりポリゴンメッシュを生成する。その生成法には、Marching  Cubes法や格子点連結法などが知られているので、これらの方法により、正しい位相で精細なポリゴンメッシュがえられる。
【００３５】
上述のボリュームモデル生成システムは、コンピュータで実施することができる。即ち、前記方法をコンピュータに実施させるためのプログラムを記録媒体に記録することにより、任意のコンピュータで前記方法を容易に実施することができる。
【００３６】
【発明の効果】
計測器等で計測することにより得られた位相構造を持った物体の表面に分布する整列していない密度が一定でないまばらな点群からボリュームモデルを生成する場合、
（１）もとの物体の位相構造を再現した、輪郭ボクセルに欠損のないボリュームモデルが得られる。従って、これを用いて生成するポリゴンメッシュ乃至ソリッドモデルの位相ももとの物体の位相構造を忠実に再現することができる。
（２）点群に密度差があっても、精度のよいボリュームモデル生成ができるので、細部形状が忠実に再現される。
（３）穴などの位相構造を持った物体の場合でも位相構造を再現できるボリュームモデルを生成できる。
（４）点群が粗い部分ではボクセルも粗くて済むので、ボリュームモデルのデータを管理する場合、少量のメモリによりデータ管理が可能になる。
（５）ボクセルを分割する際、Ｘ，Ｙ，Ｚ各方向に２つずつ合計８分割とすれば、各軸が同数分割となって、より滑らかなボリュームモデルにすることができる。
（６）本発明を３次元ＣＡＤシステムなどに実現すれば、点群からの３次元形状モデルの自動生成が実現できる。
【００３７】
任意のコンピュータにより、本発明のボリュームモデルを生成する方法を容易に実施することができる。
【図面の簡単な説明】
【図１】  本発明による実施形態の処理手順を説明するための全体フローチャートである。
【図２】  本発明によるオクトツリー構造のボリュームモデルを説明する模式図である。
【図３】  本発明によるボクセル分割の一例を示す図である。
【図４】  本発明によるボクセルの内外判定を説明するためのフローチャートである。
【図５】  隣接ボクセルの平面図（Ａ）および斜視図（Ｂ）である。
【図１】
0003805120.tif 000002
【図２】
0003805120.tif 000003
【図３】
0003805120.tif 000004
【図４】
0003805120.tif 000005
【図５】
0003805120.tif 000006