(57)【特許請求の範囲】
【請求項１】
計測対象物体の外周面を光学的に計測した点群データから計測対象の物体形状を算出する点群データモデル化装置であって、
レーザー光を照射して反射光の時間を距離に換算する計測器による前記計測対象物体の表面の３次元計測結果である点群データを取得する点群データ取得部と、
取得した点群データを、あらかじめ定めた大きさの単位格子（ボクセル）にグルーピングして、ボクセルを抽出する点群データボクセル化部と、
生成した各ボクセルに対して、ボクセル位置と計測器設置場所情報から、ボクセルによってレーザー光が遮られて影になる領域を算出し、各ボクセルの影になる領域から前記計測対象物体の内側領域候補を算出し、前記計測対象物体を複数の計測器設置場所より計測して得られた全てのボクセルを対象として、ボクセル間の距離が所定の判定距離以下に収まるボクセル同士をボクセル集合として、各ボクセル集合に含まれる全てのボクセルの計測対象物体の内側領域候補が重ね合う共通の領域を計測対象物体の内側領域とするボクセル属性付加部と、
各ボクセル集合に含まれる全てのボクセルの平均中心位置を原点として、Ｘ軸、Ｙ軸、およびＺ軸の各座標軸に平行に、当該ボクセル集合の周囲に、ボクセルサイズ(ＶＳ)間隔の格子点を配置して、当該ボクセル集合の計測対象物体の内側領域内に存在する格子点位置に新たなボクセルを補充するボクセル補充処理部と、
を備えたことを特徴とする点群データモデル化装置。
【請求項２】
請求項１に記載の点群データモデル化装置において、
前記点群データボクセル化部は、前記点群データ取得部により取得した点群を単位格子領域内に所定数含む場合に単位格子の中心座標をボクセルデータに変換し、モデル化に使用するボクセルの面情報を生成する
ことを特徴とする点群データモデル化装置。
【請求項３】
請求項１に記載の点群データモデル化装置において、
前記ボクセル属性付加部は、計測器設置場所を始点、ボクセル位置を終点とするベクトルを求め、前記ベクトルを中心ベクトル、中心角を予め設定された奥行許容角、および頂点をボクセル位置とする円錐領域を、ボクセルによってレーザー光が遮られて影になる領域である前記計測対象物体の内側領域候補として算出し、ボクセルデータに付加して記憶部に記録する
ことを特徴とする点群データモデル化装置。
【請求項４】
請求項３に記載の点群データモデル化装置において、
前記ボクセル属性付加部は、複数の計測器設置場所で測定された点群データより変換されたボクセルデータの全てを統合して、複数のボクセル間の距離が所定の判定距離以下の条件を満たす該当ボクセル同士を１つのボクセル集合に集合化して、当該ボクセル集合に含まれる各ボクセルに対して求めた前記円錐領域の重ね合う共通の領域(Ａｋ)を求めることを特徴とする点群データモデル化装置。
【請求項５】
請求項１に記載の点群データモデル化装置において、
前記ボクセル補充処理部は、前記ボクセル集合に含まれる全てのボクセルの平均中心位置を求め、この平均中心位置の周囲にＸ軸、Ｙ軸、およびＺ軸の各座標軸に平行に、ボクセルサイズ(ＶＳ)間隔に仮想的な格子線を引き、Ｘ座標、Ｙ座標、Ｚ座標のいずれの座標値も前記平均中心位置から±ＶＳ×許容数以内に収まる全ての格子点を抽出して、各格子点が前記ボクセル集合の円錐領域の重ね合う共通の領域(Ａｋ)内に存在するか否かを判定して、領域(Ａｋ)内に存在すると判定された格子点位置にボクセルを補充することを特徴とする点群データモデル化装置。
【請求項６】
請求項５に記載の点群データモデル化装置において、
前記ボクセル補充処理部は、前記各格子点が前記ボクセル集合の円錐領域の重ね合う共通の領域(Ａｋ)内に存在するか否かを判定する処理を、前記ボクセル集合に含まれる各ボクセルにおいて、計測器設置場所を始点、ボクセル位置を終点とするベクトルと、該ボクセルの中心位置を始点、前記各格子点位置を終点とするベクトルとの内積を算出して、ベクトルの成す角を求め、その角が奥行き許容角より小さいか否かを判定して、各格子点が前記共通の領域(Ａｋ)内に存在するか否かを判定していることを特徴とする点群データモデル化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、点群データモデル化装置、および点群データモデル化方法に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特開２００８−１９１０７２号公報（特許文献１）がある。この公報には、「物体の一部の部分が欠落して画像に撮像された場合でも、その欠落した部分を補完し、該物体の３次元形状を完全に復元するものであり、まず、物体を含む復元空間全体を特定の部分復元領域に分割して、該部分復元領域に関する初期計算を行う（Ｓ４００１）。次に、複数の撮像装置を用い、異なる視線方向から前記物体を撮像した入力画像を画像取得手段を介して取得する（Ｓ４０３）。次に、前記入力画像から前記物体に関するシルエット画像を作成する（Ｓ４０４）。そして、前記部分復元領域を１つの疎なボクセルと見做し、該疎なボクセルに基づいて、前記部分復元領域から前記物体が存在する部分復元領域を選択し、該選択された部分復元領域の領域内を密なボクセル群で表現し、該密なボクセル群を用いたボクセル表現を適応し３次元復元計算を行う（Ｓ４００２）」と記載されている（要約参照）。
【０００３】
また、特開２００９−１２８０９７号公報（特許文献２）がある。この公報には、「高精度なバリまたは欠損の自動認識を可能にするものであり、ワークに対する複数の計測位置からワークを計測することで計測データを取得し、この計測データをコンピュータに入力するデータ入力ステップＳ１と、計測データに基づいて、ワークの存在する空間領域を、境界表面が互いに直交する直方体からなる複数のボクセルに分割し、各ボクセル位置を記憶する環境モデルを構築する環境モデル構築ステップＳ３と、計測データはワーク表面における複数の被計測点の座標値を含むとして、これら各座標値に対応するボクセルの内部に代表点とその誤差分布を設定し記憶するマッチングステップＳ４と、ワークの３Ｄ−ＣＡＤモデルを読込んでワークの形状モデルを得るワークモデル取得ステップＳ９と、ボクセル位置、代表点、誤差分布で表現される照合用３次元形状と、ワークの形状モデルとを照合して両者の形状差異を評価する照合ステップＳ１０と、を有する」と記載されている（要約参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１９１０７２号公報
【特許文献２】特開２００９−１２８０９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前記特許文献１には、複数の撮像画像を入力として、全体を疎なボクセルと見做し、物体が存在すると判定した領域を部分的に密なボクセルで表現し、物体全体の３次元復元を実現する仕組みが記載されている。しかし、特許文献１では、ボクセルの詳細化で３次元復元しているが、ボクセルの補充に関する機能は有しておらず、隣接構造物間の接続関係の再現を担保することが出来ない。そのため、３次元復元結果のデータをもとに、例えば、３Ｄプリンタなどで造形すると、構造の断絶が随所に発生し、物体の構造を再現することが出来ない。
【０００６】
前記特許文献２には、ワーク表面のバリや欠損の自動認識を可能にする仕組みが記載されている。しかし、特許文献２では、設計情報（３Ｄ−ＣＡＤ）の入力を前提とし、設計情報との差分を認識する仕組みであるため、アズビルト形状をそのまま再現する機能は実現できない。また、他社製品など、認識対象の物体に該当する設計情報を持ち合わせていない場合、本仕組みではワークの欠損の自動認識が出来ない。
【０００７】
そこで、本発明は、アズビルト情報を取得する手段の一つである、レーザースキャナーでの３次元計測点群データを用いて、アズビルト形状のモデル化を、設計情報の入力がない状況で実現する方法を提供する。点群をボクセル化することで、面情報を追加し、物体の内側方向にボクセルを補充することで、例えば、３Ｄプリンタなどで構造の断絶なく模型化が可能となるデータを出力する機能を提供する。
【０００８】
なお、アズビルト(As-Built)とは、既設物の現状そのものの状態のことである。例えば、主にプラント製品においては、経年劣化や過去の改造など、既設物が設計図面とは異なる状態になっていることが散見される。現状のありのままをモデル化するには、このアズビルト情報の取得が不可欠となる。
【課題を解決するための手段】
【０００９】
上記課題を解決するために本発明の点群データモデル化装置を、計測対象物体の外周面を光学的に計測した点群データから計測対象の物体形状を算出する点群データモデル化装置において、計測器による前記計測対象物体の表面の３次元計測結果である点群を取得する点群データ取得部と、取得した点群データを、あらかじめ定めた大きさの単位格子（ボクセル）にグルーピングして、ボクセルを抽出する点群データボクセル化部と、生成した各ボクセルに対して、ボクセル位置と計測器設置場所情報から、計測アングル情報の属性値を算出し、各ボクセルの属性値から前記計測対象物体の内側領域候補を算出するボクセル属性付加部と、前記計測対象物体の内側領域候補を算出されたボクセルデータの周囲に対して、ボクセルサイズ(ＶＳ)間隔の格子点を配置して、前記計測対象物体の内側領域候補内に存在する格子点位置に新たなボクセルを補充するボクセル補充処理部と、記憶部へのデータ入力や、記憶部に格納されている計算結果の出力を行う入出力インタフェース部とを備えて構成する。
【００１０】
また、本発明の他の特徴として、前記点群データモデル化装置において、前記ボクセル属性付加部は、計測器設置場所を始点、ボクセル位置を終点とするベクトルを求め、前記ベクトルを中心ベクトル、中心角を奥行許容角、および頂点をボクセル位置とする円錐領域を、前記計測対象物体の内側領域候補の属性値として算出して、ボクセルデータに付加して記憶部に記録する。
【００１１】
また、本発明の更に他の特徴として、前記点群データモデル化装置において、前記ボクセル補充処理部は、前記集合化ボクセルに含まれる全てのボクセルの平均中心位置を求め、この平均中心位置の周囲にＸ軸、Ｙ軸、およびＺ軸の各座標軸に平行に、ボクセルサイズ(ＶＳ)間隔に仮想的な格子線を引き、Ｘ座標、Ｙ座標、Ｚ座標のいずれの座標値も前記平均中心位置から±ＶＳ×許容数以内に収まる全ての格子点を抽出して、各格子点が前記集合化ボクセルの円錐領域の重ね合う共通の領域(Ａｋ)内に存在するか否かを判定して、領域(Ａｋ)内に存在すると判定された格子点位置にボクセルを追加する。
【００１２】
また、上記課題を解決するために本発明の点群データモデル化方法を、計測対象物体の外周面を光学的に計測した点群データから計測対象の物体形状を算出する点群データモデル化方法において、計測器による前記計測対象物体の表面の３次元計測結果である点群を取得する工程と、取得した点群データを、あらかじめ定めた大きさの単位格子（ボクセル）にグルーピングして、ボクセルを抽出する工程と、生成した各ボクセルに対して、ボクセル位置と計測器設置場所情報から、計測アングル情報の属性値を算出し、各ボクセルの属性値から前記計測対象物体の内側領域候補を算出する工程と、前記計測対象物体の内側領域候補を算出されたボクセルデータの周囲に対して、ボクセルサイズ(ＶＳ)間隔の格子点を配置して、前記計測対象物体の内側領域候補内に存在する格子点位置に新たなボクセルを補充する工程と、入出力インタフェース部により記憶部へのデータ入力、および記憶部に格納されている計算結果の出力を行う工程とを有するように構成する。
【発明の効果】
【００１３】
本発明によれば、アズビルト形状のモデル化を、設計情報の入力がない状況で実現する方法を提供することが出来る。例えば、点群をボクセル化することで、面情報を追加し、物体の内側方向にボクセルを補充することで、３Ｄプリンタでの模型化が可能となるデータを出力する機能を提供する。特に、アズビルト形状を３Ｄプリンタなどで模型化するにあたり、３次元計測データに対する人手を介したモデル化を不要とし、短時間かつスキルレスでモデル化・模型化できる
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１４】
【図１】本実施例の点群データモデル化装置の構成図の例である。
【図２】点群データモデル化装置が行う処理を説明するフローチャートである。
【図３】パラメータ入力画面を含む点群データモデル化装置の実行画面例である。
【図４】点群データテーブルの一例である。
【図５】計測器設置場所データテーブルの一例である。
【図６】点群データをボクセルデータに変換する処理を説明するフローチャートである。
【図７】点群データをボクセルデータに変換する処理のイメージ図である。
【図８】各ボクセルに対する属性の算出と、物体の内側方向を算出する処理を説明するフローチャートである。
【図９】各ボクセルに対する属性の算出と、物体の内側方向を算出する処理のイメージ図である。
【図１０】物体の内側領域を算出する処理を説明するフローチャートである。
【図１１】物体の内側領域を算出する処理のイメージ図である。
【図１２】物体の内側にボクセルを補充する処理を説明するフローチャートである。
【図１３】物体の内側にボクセルを補充する処理のイメージ図である。
【図１４】ボクセルデータテーブルの一例である。
【発明を実施するための形態】
【００１５】
以下、実施例を、図面を用いて説明する。
【実施例１】
【００１６】
本実施例では、点群データのモデル化処理を行う点群データモデル化装置１００の例を説明する。
図１は、レーザースキャナーなどからの３次元計測点群データを用いて、計測対象物のボクセル(体積の要素、立方体)表現を詳細化して出力する本実施例の点群データモデル化装置の構成図の例である。
【００１７】
点群データモデル化装置１００は、汎用の計算機上に構成することができて、そのハードウェア構成は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）などにより構成される演算部１１０、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリなどを用いたＳＳＤ（Solid State Drive）などにより構成される記憶部１２０、キーボードやマウス等の入力デバイスより構成される入力部１３０、ＣＲＴディスプレイ、ＬＣＤ（Liquid Crystal Display）、有機ＥＬディスプレイなどの表示装置、各種出力装置などにより構成される表示部１４０、ＣＤ−ＲＯＭ、ＵＳＢメモリなどの可搬性を有する可搬型記憶媒体の情報を読み出すメディア読取部１５０、ＮＩＣ（Network Interface Card）などにより構成される通信部１６０、などを備える。
通信部１６０は、ネットワーク１６５を介して外部の３Ｄ−ＣＡＤ装置１７０、レーザースキャナー１８０、および３Ｄプリンタ１９０と接続されている。
【００１８】
演算部１１０は、記憶部１２０に記憶されている点群データモデル化プログラム１２１をＲＡＭへロードしてＣＰＵで実行することにより以下の各機能部を実現する。演算部１１０は、点群データ取得部１１１、点群データボクセル化部１１２、ボクセル属性付加部１１３、ボクセル補充処理部１１４、入出力インタフェース部１１５を有する。
点群データモデル化プログラムは、例えば、ＯＳ（Operating System）プログラム上で実行可能なアプリケーションプログラムである。
点群データモデル化プログラムは、例えば、メディア読取部１５０を介して可搬型記憶媒体から、記憶部１２０にインストールされてもよい。
【００１９】
点群データ取得部１１１は、入出力インタフェース部１１５が提供する、入力点群データファイル指定画面３００で指定された点群データを取得する機能を有する。例えば、レーザースキャナー１８０から、ネットワーク１６５、通信部１６０を介して点群データを取得して、記憶部１２０の点群データ記憶領域１２２へ格納する。なお、点群データとは、レーザースキャナー１８０などから取得した大量の座標情報の集まりであり、例えば、図４に示す、Ｘ座標、Ｙ座標、Ｚ座標の複数の組み合わせデータを指す。
【００２０】
点群データボクセル化部１１２は、点群データをボクセルと呼ばれる単位格子の集合体内に分割し、記憶部１２０に記憶している処理パラメータ１２４である、ボクセル内最小点群数以上の点群を含むボクセルのみを抽出し、抽出したボクセルの中心座標を算出する機能を有する。
【００２１】
ボクセル属性付加部１１３は、点群データボクセル化部１１２で抽出したボクセルに対して、記憶部１２０に記憶している計測器設置場所情報１２３を用いて、計測アングルや内側領域候補といったボクセルの属性を算出する機能を有する。
【００２２】
ボクセル補充処理部１１４は、ボクセル属性付加部１１３で算出した各ボクセルにおける内側領域候補情報と、記憶部１２０に記憶している処理パラメータ１２４であるボクセル補充許容数を用いて、物体の内側方向にボクセルを補充する機能を有する。また、点群データボクセル化部１１２で抽出したボクセルと、補充したボクセルを合わせて、ボクセルデータとして算出する機能を有する。
【００２３】
入出力インタフェース部１１５は、各処理パラメータの入力画面や、点群ファイル、計測器設置場所、出力ファイルを指定する画面３００の提供や、処理結果をファイル出力する機能を有する。
【００２４】
記憶部１２０は、点群データモデル化プログラム１２１、点群データ１２２、計測器設置場所データ１２３、処理パラメータ（ボクセル内最小点群数、ボクセル補充許容数、など）１２４、ボクセル属性付加部１１３が算出した属性データ１２５、ボクセル補充処理部１１４が算出したボクセルデータ１２６の各情報を記憶する記憶領域を有する。
【００２５】
図２は、点群データモデル化装置の処理の流れである。図２の各処理について、以下詳細を述べる。
まず、処理対象とする点群データを取得する（Ｓ１１０）。
【００２６】
図３は、点群データモデル化装置１００の入出力インタフェース部１１５が提供する、パラメータ・入出力ファイル設定画面例（３００）である。この画面は、点群データのモデル化処理を行うために必要な処理パラメータの設定・入力（３１１〜３１５）を受け付ける機能を有するとともに、処理対象とする点群データのファイル群（３２１）、計測器設置場所データファイル（３３１）、出力先ファイル（３４１）を指定する機能を有する。各ファイルを指定するボックス横に配置している参照ボタン（３２２、３３２、３４２）は、ＯＳプログラムが用意するファイル指定ウィンドウを表示し、当ウィンドウで指定したパスを含むファイル名を、ファイル指定ボックス（３２１、３３１、３４１）に入力する機能を有している。
【００２７】
パラメータ・入出力ファイル設定画面（３００）が持つ登録ボタン（３０１）は、本画面に入力された処理パラメータとファイルの内容を、記憶部（１２０）に記憶する機能を有する。実行ボタン（３０２）は、図２のフローチャートに示すＳ１１０〜Ｓ１５０の処理を実行するために必要なデータを、点群データ取得部（１１１）によって、記憶部（１２２）からメモリに書き出し、順次手続きを実行する機能を有する。キャンセルボタン（３０３）は、処理を行わず、本装置の終了機能を有する。
【００２８】
図４は、点群データファイル例（１２２）である。このファイルは、Ｘ座標（１２２１）、Ｙ座標（１２２２）、Ｚ座標（１２２３）の３つのフィールドを持ち、レーザースキャナーなどで計測した各点の３次元座標を表す。パラメータ・入出力ファイル設定画面（３００）が入力を受け付ける、点群データファイル（３２１）は、本図で示した構造を有する。
【００２９】
図５は、計測器設置場所データファイル例（１２３）である。このファイルは、ＩＤ（１２３１）、Ｘ座標（１２３２）、Ｙ座標（１２３３）、Ｚ座標（１２３４）の４つのフィールドを持つ。ＩＤ（１２３１）は各点群データファイル（３２１）それぞれに対応する値を持ち、各計測器が、各１回の計測において取得される点群データごとに、固有のＩＤが付与される。
３次元座標は、それぞれの点群データファイルが、レーザースキャナーをどの３次元位置に設置して計測したものかを表すものである。パラメータ・入出力ファイル設定画面（３００）が入力を受け付ける、計測器設置場所データファイル（３３１）は、本図で示した構造を有する。
【００３０】
パラメータ・入出力ファイル設定画面（３００）において、実行ボタン（３０２）が押下されることにより、点群データモデル化処理が開始され、記憶部１２０の点群データ記憶領域１２２に記憶されている点群データをメモリ上に読み出す（Ｓ１１０）。
【００３１】
次に、点群データをボクセルデータに変換する（Ｓ１２０）。
図６は、点群データボクセル化部（１１２）が実施する、点群データをボクセルデータに変換する処理（Ｓ１２０）の詳細フローである。また、図７は、当該詳細フローのイメージ図である。なお、図７は、図の視認性向上のために、Ｘ−Ｙ平面のみを図示しているが、処理Ｓ１２０はＺ軸に関しても同様に処理する。
【００３２】
まず、処理対象点群データの１ファイル：Ｅｎを開く（Ｓ２０１）。当該データは、処理Ｓ１１０にて既にメモリに読み出されているので、メモリ上の該当データを参照することで代えられる。ここで言う１ファイルとは、ある特定の計測器設置場所から取得した点群データの集合のみを指すことを意味する。また、Ｅｎのうちの表記ｎは、今回処理対象とする各ファイルを順次指定することを意味する添え字の役割を果たす。ここで参照している点群データは、図７に示す黒い点（２０１１）の集合となる。
【００３３】
次に、ファイル：ＥｎにおけるＸ座標、Ｙ座標、Ｚ座標のそれぞれの最大、最小値を求める（Ｓ２０２）。それぞれをＸｍｉｎ、Ｘｍａｘ、Ｙｍｉｎ、Ｙｍａｘ、Ｚｍｉｎ、Ｚｍａｘと表記し、図７に示す２０２１〜２０２４に該当する。
【００３４】
次に、Ｘｍｉｎ〜Ｘｍａｘ、Ｙｍｉｎ〜Ｙｍａｘ、Ｚｍｉｎ〜Ｚｍａｘの各区間をそれぞれボクセルサイズ：ＶＳごとに区切り、単位格子領域：ＶＦｉを生成する（Ｓ２０３）。ボクセルサイズ：ＶＳと、単位格子領域：ＶＦｉはそれぞれ、図７に示す２０３１、２０３２に該当する。なお、最大値と最小値の差が必ずしもＶＳの倍数になるとは限らず、その場合は、最小値の値を小さくする、もしくは最大値の値を大きくするなどして、全区間をＶＳの間隔で区切れるようにするとよい。もしくは、一部ＶＳより小さな格子を生成したままにして、残りの処理を実施することも可能である。
【００３５】
次に、各単位格子：ＶＦｉ内の点群の個数が、ボクセル内最小点群数：ＰＭ以上かどうかを確認する（Ｓ２０４）。もし、この条件を満たす場合は、次に説明する処理Ｓ２０５を、満たさない場合は、判定Ｓ２０６を実施する。
【００３６】
各単位格子：ＶＦｉ内の点群の個数が、ボクセル内最小点群数：ＰＭ以上の場合、ＶＦｉの中心座標をボクセルデータとして中間ファイル：Ｆｎに出力する（Ｓ２０５）。図７では、ＰＭ＝２としたときの例を示しており、斜線で示す単位格子（２０５１）の中心座標が中間ファイル：Ｆｎへの出力対象となる。なお、本処理では、中間ファイル：Ｆｎは、記憶部１２０に保存する形でも、メモリ上に保存する形でも、いずれでも構わない。
【００３７】
処理Ｓ２０４〜Ｓ２０５が、全ての単位格子に対して実施済みかどうかを判定する（Ｓ２０６）。まだ処理していない単位格子が存在する場合、未処理の単位格子に対象を移し（Ｓ２０８）、処理Ｓ２０４以降を繰り返し実施する。全ての単位格子に対して実施済みである場合は、判定Ｓ２０７を実施する。
【００３８】
処理Ｓ２０１〜Ｓ２０６が、全ての点群データファイルに対して実施済みかどうかを判定する（Ｓ２０７）。まだ処理していない点群データファイルが存在する場合、未処理の点群データファイルに対象を移し（Ｓ２０９）、処理Ｓ２０１以降を繰り返し実施する。全ての点群データファイルに対して実施済みである場合は、点群データをボクセルデータに変換する処理（Ｓ１２０）を終了する。
【００３９】
図２に戻り、次に、各ボクセルに対して、計測アングルなどの属性を求め、物体の内側方向を求める（Ｓ１３０）。
【００４０】
図８は、ボクセル属性付加部（１１３）が実施する、ボクセルに対する属性・物体の内側方向算出処理（Ｓ１３０）の詳細フローである。また、図９は、当該詳細フローのイメージ図である。
【００４１】
まず、あるボクセルデータの中間ファイル：Ｆｎを開く（Ｓ３０１）。処理Ｓ２０５において、ファイル：Ｆｎが記憶部１２０に保存されている場合は、記憶部１２０からメモリ上にデータを読み出し、既にメモリ上に保存されている場合は、対象データを参照する処理を行う。
【００４２】
次に、ファイル：Ｆｎからあるボクセルの中心座標：Ｂｍを取得する（Ｓ３０２）。ボクセルの中心座標：Ｂｍは、図９に示す３０２１に該当する。
【００４３】
次に、中間ファイル：Ｆｎの計測器設置場所：Ｍｎを始点、ボクセルの中心座標：Ｂｍを終点とするベクトル：Ｖｍを求める（Ｓ３０３）。計測器設置場所：Ｍｎは、記憶部１２３に保存されている、計測器設置場所テーブル（図５）から、ファイル：Ｆｎに該当するＩＤのデータを取得することで得られる。例えば、ファイル：Ｆｎに該当するＩＤが「pointdata2」、計測器設置場所テーブルの内容が図５の場合、計測器設置場所：Ｍｎは、Mn=(-0.2792, -0.1646, -83.2240)を取得する。また、ボクセルの中心座標：Ｂｍが、Bm=(-74.920, 28.880, 1391.100)である場合、ベクトル：Ｖｍは、Vm=Bm-Mn=(-74.920+0.2792, 28.880+0.1646, 1391.100+83.2240)=(-74.6408, 29.0446, 1474.324)と求められる。計測器設置場所：Ｍｎ、ベクトル：Ｖｍは、図９に示す３０３１、３０３２に該当する。
【００４４】
次に、中心ベクトルをＶｍ、中心角を奥行き許容角：ＲＤ、頂点をボクセルの中心座標：Ｂｍとする円錐領域：Ｃｍを求める（Ｓ３０４）。奥行き許容角：ＲＤは、入出力インタフェース部１１５が提供する設定画面（３００）において、入力欄３１３で指定した値であり、記憶部１２４に格納されている。奥行き許容角：ＲＤ、円錐領域Ｃｍは、図９に示す３０４１、３０４２に該当する。
【００４５】
次に、処理Ｓ３０４で算出した円錐領域：Ｃｍを、対象物の内側領域候補として出力する（Ｓ３０５）。この出力は、入出力インタフェース部１１５により、記憶部１２５に格納することで実現している。
【００４６】
ここでは、実現する処理を視覚的に理解可能とするために、求める領域を「円錐」と幾何表現をしているが、どの３次元空間が対象物の内側領域候補に該当するかを求めることが目的である。よって、円錐の幾何情報を出力・保存する代わりに、各３次元座標(後述する格子点Ｇｊ)が当該円錐の内部に入るかどうか、という情報を保持する形で実現しても構わない。また、ボクセルの中心座標：Ｂｍを始点、各３次元座標を終点とするベクトルＶＰと、ベクトルＶｍとの成す角を、ベクトルの内積を用いて算出し、それが奥行き許容角：ＲＤより小さいかどうかを都度確認する方法で実現しても構わない。
【００４７】
次に、処理Ｓ３０２〜Ｓ３０５が全てのボクセルに対して実施済みかどうかを判定する（Ｓ３０６）。未だ処理していないボクセルが存在する場合、未処理のボクセルに対象を移し（Ｓ３０８）、処理Ｓ３０２以降を繰り返し実施する。全てのボクセルに対して実施済みである場合は、判定Ｓ３０７を実施する。
【００４８】
処理Ｓ３０１〜Ｓ３０６が、全てのボクセルデータファイルに対して実施済みかどうかを判定する（Ｓ３０７）。まだ処理していないボクセルデータファイルが存在する場合、未処理のファイルに対象を移し（Ｓ３０９）、処理Ｓ３０１以降を繰り返し実施する。全てのファイルに対して実施済みである場合は、各ボクセルに対して、計測アングルなどの属性を求め、物体の内側方向を求める処理（Ｓ１３０）を終了する。
【００４９】
図２に戻り、次に、物体の内側領域を算出する（Ｓ１４０）。
図１０は、ボクセル属性付加部（１１３）が実施する、物体の内側領域算出処理（Ｓ１４０）の詳細フローである。また、図１１は、当該詳細フローのイメージ図である。
【００５０】
まず、全てのボクセルデータのファイル：Ｆｎ｜ｎ＝ａｌｌを開く（Ｓ４０１）。処理Ｓ２０５において、中間ファイル：Ｆｎが記憶部１２０に保存されている場合は、記憶部１２０からメモリ上にデータを読み出し、既にメモリ上に保存されている場合は、対象データを参照する処理を行う。
【００５１】
次に、ファイルＦｎ｜ｎ＝ａｌｌの全てのボクセルデータを統合する（Ｓ４０２）。以降、本統合データをＤと記す。
【００５２】
次に、統合データ：Ｄのうち、ボクセル間の距離が同一ボクセル判定距離：ＳＢ以下に収まるボクセル同士を同じ座標ボクセルと判断し、それらのボクセルデータを集合化して、その集合ごとにそれ以外のボクセルデータと分割する（Ｓ４０３）。以降、分割した結果のボクセル集合をＵｋと記す。ボクセル集合：Ｕｋの一例は、図１１に示す４０３３に該当する。このＵｋに属するボクセルはＢ１（４０３１）、Ｂ２（４０３２）の２つである例を示している。（図１１に示す２つのボクセルＢ１，Ｂ２は、計測器設置場所がそれぞれ３１３１，３２３１と異なる点群データから求めたボクセルである。各点群データが入力される前に、公知の技術により同一の座標系のデータに変換して入力することができる。その場合には、２つのボクセルＢ１，Ｂ２の立方体の単位格子の各辺は同一座標軸方向に揃うことになる。）
なお、ボクセル間の距離は、ボクセル中心位置間の距離を想定しているが、ボクセル表面間の距離などの定義を行っても構わない。また、ボクセル間の距離を個々に算出するのではなく、対象とする３次元空間を各軸、同一ボクセル判定距離：ＳＢごとに区切り、生成された同じ格子内に入っているボクセル同士を、同じボクセル集合Ｕｋに属するという計算方法で実現しても構わない。
【００５３】
次に、ボクセル集合：Ｕｋに含まれる各ボクセル：Ｂｍに対して、処理Ｓ３０４で算出した円錐領域：Ｃｋｍ｜ｍ＝ａｌｌを抽出する（Ｓ４０４）。例えば、図１１を例に説明すると、ボクセル集合：Ｕｋ（４０３３）に含まれるボクセルが２つ存在（Ｂ１、Ｂ２）し、それぞれのボクセルに対して算出した円錐領域：Ｃｋ１、Ｃｋ２はそれぞれ、図１１の４０４１、４０４２に該当する。
【００５４】
次に、全ての円錐領域：Ｃｋｍが重ね合う領域：Ａｋを求める（Ｓ４０５）。この処理で算出する領域：Ａｋは、図１１に示す４０５１に該当する。
【００５５】
次に、処理Ｓ４０４〜Ｓ４０５が全てのボクセル集合：Ｕｋに対して実施済みかどうかを判定する（Ｓ４０６）。まだ処理していないボクセル集合が存在する場合、未処理のボクセル集合に対象を移し（Ｓ４０７）、処理Ｓ４０４以降を繰り返し実施する。全てのボクセル集合に対して実施済みである場合は、物体の内側領域を算出する処理（Ｓ１４０）を終了する。
【００５６】
なお、図１０、図１１で説明した処理Ｓ１４０も、図８、図９で説明した処理Ｓ１３０同様、実現する処理を視覚的に理解可能とするために幾何表現をしているが、本処理は、どの３次元座標(後述する格子点Ｇｊ)が対象物の内側領域に該当するかを求めることが目的である。よって、各３次元座標が全ての円錐：Ｃｋｍの内部に入るかどうかの情報を用いて、論理演算（積演算）を行い、求める領域：Ａｋの内部かどうかを算出し、情報を保持する形で実現しても構わない。
【００５７】
図２に戻り、次に、物体の内側方向にボクセルを補充する（Ｓ１５０）。
図１２は、ボクセル補充処理部（１１４）が実施する、物体の内側方向へのボクセル補充処理（Ｓ１５０）の詳細フローである。また、図１３は、当該詳細フローのイメージ図である。なお、図１３は、図の視認性向上のために、Ｘ−Ｙ平面のみを図示しているが、処理Ｓ１５０はＺ軸に関しても同様に処理する。
【００５８】
まず、ボクセル集合：Ｕｋに含まれる全てのボクセルの平均中心位置：ＢＣｋを求める（Ｓ５０１）。例えば、ボクセル集合：Ｕｋに、ボクセルＢ１、Ｂ２、Ｂ３の３つのボクセルが含まれている場合を考える。Ｂ１、Ｂ２、Ｂ３のそれぞれの中心座標を、（Ｂ１ｘ，Ｂ１ｙ，Ｂ１ｚ）、（Ｂ２ｘ，Ｂ２ｙ，Ｂ２ｚ）、（Ｂ３ｘ，Ｂ３ｙ，Ｂ３ｚ）としたとき、平均中心位置：ＢＣｋの座標は、（（Ｂ１ｘ＋Ｂ２ｘ＋Ｂ３ｘ）／３，（Ｂ１ｙ＋Ｂ２ｙ＋Ｂ３ｙ）／３，（Ｂ１ｚ＋Ｂ２ｚ＋Ｂ３ｚ）／３）と求める。
【００５９】
次に、ボクセルの平均中心位置：ＢＣｋからの距離を表す整数変数：ｉを１に設定する（Ｓ５０２）。
【００６０】
次に、ボクセルの平均中心位置：ＢＣｋを原点として、Ｘ軸、Ｙ軸、およびＺ軸の各座標軸に平行に、ボクセルサイズ(ＶＳ)間隔に仮想的な格子線を引き、ＢＣｋからＸ座標、Ｙ座標、Ｚ座標の少なくとも１つの座標値が±ＶＳ×ｉ離れ、かつその他の座標値が±ＶＳ×ｉ以内であるＶＳ間隔格子点：Ｇｊの全てを求める（Ｓ５０３）。
例えば、ボクセルの平均中心位置：ＢＣｋの座標を（ＢＣｋｘ，ＢＣｋｙ，ＢＣｋｚ）とし、ｉ＝１の場合、求める格子点：Ｇｊは、｛（ＢＣｋｘ＋αｘ，ＢＣｋｙ＋αｙ，ＢＣｋｚ＋αｚ）｜αｘ＝｛−ＶＳ，０，ＶＳ｝，αy＝｛−ＶＳ，０，ＶＳ｝，αｚ＝｛−ＶＳ，０，ＶＳ｝｝に該当する２６個の点となる（αｘ＝αｙ＝αｚ＝０の場合、Ｇｊ＝ＢＣｋとなるので、この点は除外）。また、Ｘ−Ｙ平面での例であれば、図１３に示す５０３２の点に該当する。ｉが２以上の場合は、αｘ、αｙ、αｚはそれぞれ、｛ＶＳ×ｑ｜ｑは−ｉ以上ｉ以下の整数｝を取り、ｉがｉ−１以下の時点で求めたＧｊを除くものとして求めることが出来る。なお、ボクセルサイズ：ＶＳは、図１３に示す５０３１に該当する。  次に、各格子点：Ｇｊに対して、Ｇｊが処理Ｓ１４０で求めた領域：Ａｋの領域内に存在するかどうかを判定する（Ｓ５０４）。ＧｊがＡｋの領域内に存在すると判定した場合は、処理Ｓ５０５を実施する。一方、ＧｊがＡｋの領域外に存在する場合は、処理Ｓ５０５を実施せず、判定Ｓ５０６を実施する。領域：Ａｋと、Ａｋ内に存在する格子点：Ｇｊは、図１３に示す５０４１、５０４２に該当する。
【００６１】
処理Ｓ５０４でＧｊがＡｋの領域内に存在する場合、格子点：Ｇｊを中心とするボクセルを、ボクセル統合データ：Ｄに追加する（Ｓ５０５）。全てのボクセルデータの集合であるＤに、当該ボクセルのデータを追加することで、対象構造物の内部方向にボクセルを追加することを実現している。
【００６２】
次に、処理Ｓ５０４〜Ｓ５０５が全ての格子点：Ｇｊに対して実施済みかどうかを判定する（Ｓ５０６）。まだ処理していない格子点が存在する場合、未処理の格子点に対象を移し（Ｓ５０９）、処理Ｓ５０４以降を繰り返し実施する。全ての格子点に対して実施済みである場合は、判定Ｓ５０７を実施する。
【００６３】
次に、ボクセルの平均中心位置：ＢＣｋからの距離を表す整数変数：ｉが、ボクセル補充許容数：ＩＶ未満かどうかを判定する（Ｓ５０７）。ｉがＩＶより小さい場合は、ｉをインクリメントして（Ｓ５１０）、処理Ｓ５０３以降を実施する。ｉがＩＶ以上の場合は、判定Ｓ５０８を実施する。なお、ｉ＝５に該当する点は、図１３に示す５０７１に該当し、これらの点は、ボクセル補充許容数：ＩＶ＝４としたとき、集合Ｄへの追加対象外となる格子点である。
【００６４】
最後に、処理Ｓ５０３〜Ｓ５０７が、全てのボクセル集合：Ｕｋに対して実施済みかどうかを判定する（Ｓ５０８）。まだ処理していないボクセル集合が存在する場合、未処理の集合に対象を移し（Ｓ５１１）、処理Ｓ５０１以降を繰り返し実施する。全ての集合に対して実施済みである場合は、物体の内側方向へのボクセル補充処理（Ｓ１５０）を終了する。
【００６５】
全ての処理を終えた後、入出力インタフェース部１１５が、記憶部１２６もしくはメモリ上に存在する、ボクセルデータの集合：Ｄの内容を、指定した出力先ファイルに出力する。出力先ファイルの一例を図１４に示す。出力先ファイル１２６は、入出力インタフェース部１１５が提供する、設定画面（３００）のうち、入力欄３４１にて指定したものとする。
【００６６】
また、入出力インタフェース部１１５は、通信部１６０、ネットワーク１６５を介して、ボクセルデータの集合を、３Ｄプリンタ１９０、または３Ｄ−ＣＡＤ１７０へ出力する。
【００６７】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００６８】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。また、各装置はネットワークに接続されることに限定するものではなく、各装置間のデータのやり取りは、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体を介して実現してもよい。
【００６９】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００７０】
１００  点群データモデル化装置
１１０  演算部
１１１  点群データ取得部
１１２  点群データボクセル化部
１１３  ボクセル属性付加部
１１４  ボクセル補充処理部
１１５  入出力インタフェース部
１２０  記憶部
１２１  点群データモデル化プログラム記憶領域
１２２  点群データ記憶領域
１２３  計測器設置場所データ記憶領域
１２４  処理パラメータ記憶領域
１２５  属性データ記憶領域
１２６  ボクセルデータ記憶領域
１３０  入力部
１４０  表示部
１５０  メディア読取部
１６０  通信部
１６５  ネットワーク
１７０  ３Ｄ−ＣＡＤ装置
１８０  レーザースキャナー
１９０  ３Ｄプリンタ
【図１】
0006518517.tif 000002
【図２】
0006518517.tif 000003
【図３】
0006518517.tif 000004
【図４】
0006518517.tif 000005
【図５】
0006518517.tif 000006
【図６】
0006518517.tif 000007
【図７】
0006518517.tif 000008
【図８】
0006518517.tif 000009
【図９】
0006518517.tif 000010
【図１０】
0006518517.tif 000011
【図１１】
0006518517.tif 000012
【図１２】
0006518517.tif 000013
【図１３】
0006518517.tif 000014
【図１４】
0006518517.tif 000015