(57)【要約】【課題】存在していない平面に対応した数式が作成される可能性を低減する。【解決手段】立体物の複数の測定点Ｐｍそれぞれの周囲に小平面が定められ、小平面の法線ベクトルが測定点Ｐｍの個別ベクトルＶｍになる。また、複数の測定点Ｐｍの少なくとも１個を通るように候補平面Ｒｐが定められ、候補平面Ｒｐの法線ベクトルが候補ベクトルＶｐになる。複数の測定点Ｐｆのうち個別ベクトルＶｍが候補平面Ｒｐの候補ベクトルＶｐに対して所定の適合角度Ａｔ内である測定点Ｐｆが候補平面Ｒｐに対する適合点Ｐｆとして求められ、適合点Ｐｆに対する評価値が求められる。着目点Ｐｐが異なる複数の候補平面のうち、適合点Ｐｆが１つの平面上に存在すると推定される候補平面Ｒｐが評価値に基づいて抽出され、この候補平面Ｒｐに対する適合点Ｐｆからなるクラスタが抽出される。クラスタを形成する適合点Ｐｆに基づいて平面を表す数式が求められる。【選択図】図５
2020135763.tif 000002
【特許請求の範囲】
【請求項１】
立体物について計測された複数の測定点それぞれの計測データを受け取るステップと、
前記複数の測定点それぞれの周囲に存在する複数個の測定点の計測データを用いて定められる小平面の法線ベクトルを、前記複数の測定点それぞれの個別ベクトルとするステップと、
前記複数の測定点から選択された少なくとも１個の着目点を通るように前記計測データを用いて定めた候補平面の法線ベクトルを候補ベクトルとするステップと、
前記複数の測定点のうち前記個別ベクトルが前記候補平面の候補ベクトルに対して所定の適合角度内であるすべての測定点を前記候補平面に対する適合点として求め、かつ前記適合点に対する評価値を求めるステップと、
前記着目点が異なる複数の候補平面のうち、前記適合点が１つの平面上に存在すると推定される候補平面を前記評価値に基づいて抽出し、この候補平面に対する適合点からなるクラスタを抽出するステップと、
前記クラスタを形成する測定点に基づいて平面を表す数式を求めるステップとを有する
ことを特徴とする立体物のモデリング方法。
【請求項２】
前記クラスタを形成する測定点を前記クラスタの形成前の測定点から除外した後の残留測定点の個数が所定の許容値以上か否かを判定するステップをさらに備え、
少なくとも前記残留測定点から前記評価値を求めるステップおよび前記クラスタを抽出するステップを、前記残留測定点の個数が前記許容値未満になるまで繰り返す
請求項１記載の立体物のモデリング方法。
【請求項３】
前記平面の式に基づいて前記立体物を表すベクトルデータを作成するステップをさらに備える
請求項２記載の立体物のモデリング方法。
【請求項４】
前記複数の測定点から選択される１個の着目点を通り水平面に平行に定められる候補平面に対応した適合点からなる第１のクラスタを抽出した後、
前記複数の測定点のうち前記第１のクラスタを除外した前記残留測定点から選択される２個の着目点を通り鉛直面に平行に定められる候補平面に対応した適合点からなる第２のクラスタを抽出し、
さらに、前記複数の測定点のうち前記第２のクラスタを除外した前記残留測定点から選択される３個の着目点を通るように定められる候補平面に対応した適合点からなる第３のクラスタを抽出し、
前記第１のクラスタと前記第２のクラスタと前記第３のクラスタとをそれぞれ形成する測定点に基づいて平面を表す数式を求める
請求項２又は３記載の立体物のモデリング方法。
【請求項５】
前記評価値は、前記適合点の個数であり、
前記適合点が１つの平面上に存在すると推定される候補平面は、前記評価値が最大である候補平面である
請求項１〜４のいずれか１項に記載の立体物のモデリング方法。
【請求項６】
前記適合点に前記候補平面からの距離が近いほど大きい重みが付与され、
前記評価値は、前記重みの合計であり、
前記適合点が１つの平面上に存在すると推定される候補平面は、前記評価値が最大である候補平面である
請求項１〜４のいずれか１項に記載の立体物のモデリング方法。
【請求項７】
前記立体物は建造物であって、
前記複数の測定点それぞれの前記計測データは、前記建造物に定められた１つの座標系で表される
請求項１〜６のいずれか１項に記載の立体物のモデリング方法。
【請求項８】
立体物について計測された複数の測定点それぞれの計測データを受け取るインターフェイス部と、
前記計測データから前記立体物の平面に対応したクラスタを取り出す処理部と、
前記クラスタを形成する前記測定点の計測データを用いて前記クラスタに対応する前記平面を表す数式を求める計算部とを備えており、
前記処理部は、
前記複数の測定点それぞれの周囲に存在する複数個の測定点の計測データを用いて定められる小平面の法線ベクトルを、前記複数の測定点それぞれの個別ベクトルとする第１処理部と、
前記複数の測定点から選択された少なくとも１個の着目点を通るように前記計測データを用いて定めた候補平面の法線ベクトルを候補ベクトルとする第２処理部と、
前記複数の測定点のうち前記個別ベクトルが前記候補平面の前記候補ベクトルに対して所定の適合角度内であるすべての測定点を前記候補平面に対する適合点として求め、かつ前記適合点に対する評価値を求める第３処理部と、
前記着目点が異なる複数の候補平面のうち、前記適合点が１つの平面上に存在すると推定される候補平面を前記評価値に基づいて抽出し、この候補平面に対する適合点からなるクラスタを抽出する第４処理部とを備える
ことを特徴とする立体物のモデリング装置。
【請求項９】
前記処理部は、
前記クラスタを形成する測定点を前記クラスタの形成前の測定点から除外した後の残留測定点の個数が所定の許容値以上か否かを判定する第５処理部を備え、
前記第５処理部は、少なくとも前記第３処理部が前記残留測定点から前記評価値を求める演算処理および前記第４処理部が前記クラスタを抽出する演算処理を、前記残留測定点の個数が前記許容値未満になるまで前記処理部に繰り返させる
請求項８記載の立体物のモデリング装置。
【請求項１０】
立体物について計測された複数の測定点それぞれの計測データを端末装置との通信により前記端末装置から受け取るサーバであって、
前記計測データを受け取るインターフェイス部と、
前記計測データから前記立体物の平面に対応したクラスタを取り出す処理部と、
前記クラスタを形成する前記測定点の計測データを用いて前記クラスタに対応する前記平面を表す数式を求める計算部と、
前記平面を表す数式を用いて前記立体物を表すベクトルデータを作成する修正部とを備え、
前記修正部が作成した前記ベクトルデータを前記端末装置に受け渡すように構成されており、
前記処理部は、
前記複数の測定点それぞれの周囲に存在する複数個の測定点の計測データを用いて定められる小平面の法線ベクトルを、前記複数の測定点それぞれの個別ベクトルとする第１処理部と、
前記複数の測定点から選択された少なくとも１個の着目点を通るように前記計測データを用いて定めた候補平面の法線ベクトルを候補ベクトルとする第２処理部と、
前記複数の測定点のうち前記個別ベクトルが前記候補平面の前記候補ベクトルに対して所定の適合角度内であるすべての測定点を前記候補平面に対する適合点として求め、かつ前記適合点に対する評価値を求める第３処理部と、
前記着目点が異なる複数の候補平面のうち、前記適合点が１つの平面上に存在すると推定される候補平面を前記評価値に基づいて抽出し、この候補平面に対する適合点からなるクラスタを抽出する第４処理部と、
前記クラスタを形成する測定点を前記クラスタの形成前の測定点から除外した後の残留測定点の個数が所定の許容値以上か否かを判定する第５処理部とを備え、
前記第５処理部は、少なくとも前記第３処理部が前記残留測定点から前記評価値を求める演算処理および前記第４処理部が前記クラスタを抽出する演算処理を、前記残留測定点の個数が前記許容値未満になるまで前記処理部に繰り返させる
ことを特徴とするサーバ。
【請求項１１】
立体物の３次元測定を行う計測装置と、
請求項８又は９記載の立体物のモデリング装置とを備える
ことを特徴とする３次元モデル作成システム。
【請求項１２】
前記立体物のモデリング装置は、前記平面を表す数式を用いて前記立体物を表すベクトルデータを作成する修正部を備えており、
前記立体物のモデリング装置から出力される前記ベクトルデータを編集する設計装置をさらに備える
請求項１１記載の３次元モデル作成システム。
【請求項１３】
コンピュータを、請求項８又は９記載の立体物のモデリング装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、立体物の計測データを用いて立体物における平面を表す数式を求める立体物のモデリング方法、立体物のモデリング装置、サーバに関する。また、本発明は、立体物のモデリング装置を用いた３次元モデル作成システム、コンピュータを立体物のモデリング装置として機能させるためのプログラムに関する。
【背景技術】
【０００２】
従来、対象３次元環境の座標データと、対象３次元環境の幾何形状に対応する評価関数とから、対象３次元環境の幾何パラメータを求める技術が提案されている（特許文献１参照）。特許文献１には、測定データのうち、オペレータの目視で直観的に選択された外表面座標データと、オペレータから指定される円柱や球などの形状毎に定義される幾何式とから、幾何パラメータを求めることが記載されている。また、特許文献１には、評価関数について平面の例が説明されており、平面式のパラメータを測定点の座標に基づく、評価関数値を用いて求める技術が記載されている。評価関数は最小二乗法で定義されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１３２５８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
すなわち、特許文献１に記載された技術は、オペレータに選択された外表面座標データが、ターゲット幾何形状に当て嵌まることが前提である。そのため、特許文献１では評価関数が最小二乗法で定義されている。要するに、オペレータがターゲット幾何形状を平面として外表面座標データを選択すれば、選択された測定点の座標は、特定の平面式に当て嵌まることが想定されているから、平面式のパラメータを最小二乗法で決めることができる。
【０００５】
しかしながら、特許文献１に記載された技術では、測定点をオペレータが選択しなければ平面式のパラメータを定めることができない。すなわち、オペレータが測定点を選択しなければ、平面式のパラメータが収束せず、仮に収束したとしても存在しない平面に対応した数式が作成される可能性がある。
【０００６】
本発明は、存在していない平面に対応した数式が作成される可能性を低減した立体物のモデリング方法を提供することを目的とする。また、本発明は、立体物のモデリング方法を実現する立体物のモデリング装置、立体物のモデリング装置として機能するサーバ、立体物のモデリング方法を用いた３次元モデル作成システムを提供することを目的とする。さらに、本発明は、コンピュータを、立体物のモデリング装置として機能させるためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る立体物のモデリング方法は、以下のステップを有している。第１のステップでは、立体物について計測された複数の測定点それぞれの計測データを受け取る。第２のステップと第３のステップとの一方では、前記複数の測定点それぞれの周囲に存在する複数個の測定点の計測データを用いて定められる小平面の法線ベクトルを、前記複数の測定点それぞれの個別ベクトルとする。第２のステップと第３のステップとの他方では、前記複数の測定点から選択された少なくとも１個の着目点を通るように前記計測データを用いて定めた候補平面の法線ベクトルを候補ベクトルとする。また、第４のステップでは、前記複数の測定点のうち前記個別ベクトルが前記候補平面の候補ベクトルに対して所定の適合角度内であるすべての測定点を前記候補平面に対する適合点として求め、かつ前記適合点に対する評価値を求める。第５のステップでは、前記着目点が異なる複数の候補平面のうち、前記適合点が１つの平面上に存在すると推定される候補平面を前記評価値に基づいて抽出し、この候補平面に対する適合点からなるクラスタを抽出する。第６のステップでは、前記クラスタを形成する測定点に基づいて平面を表す数式を求める。
【０００８】
本発明に係るモデリング装置は、インターフェイス部と、処理部と、計算部とを備えている。前記インターフェイス部は、立体物について計測された複数の測定点それぞれの計測データを受け取る。前記処理部は、前記計測データから前記立体物の平面に対応したクラスタを取り出す。前記計算部は、前記クラスタを形成する前記測定点の計測データを用いて前記クラスタに対応する前記平面を表す数式を求める。
【０００９】
前記処理部は、第１処理部と第２処理部と第３処理部と第４処理部とを備える。前記第１処理部は、前記複数の測定点それぞれの周囲に存在する複数個の測定点の計測データを用いて定められる小平面の法線ベクトルを、前記複数の測定点それぞれの個別ベクトルとする。前記第２処理部は、前記複数の測定点から選択された少なくとも１個の着目点を通るように前記計測データを用いて定めた候補平面の法線ベクトルを候補ベクトルとする。前記第３処理部は、前記複数の測定点のうち前記個別ベクトルが前記候補平面の前記候補ベクトルに対して所定の適合角度内であるすべての測定点を前記候補平面に対する適合点として求め、かつ前記適合点に対する評価値を求める。前記第４処理部は、前記着目点が異なる複数の候補平面のうち、前記適合点が１つの平面上に存在すると推定される候補平面を前記評価値に基づいて抽出し、この候補平面に対する適合点からなるクラスタを抽出する。
【００１０】
本発明に係るサーバは、立体物について計測された複数の測定点それぞれの計測データを端末装置との通信により前記端末装置から受け取る。そして、前記サーバは、インターフェイス部と、処理部と、計算部と、修正部とを備えている。前記インターフェイス部は、前記計測データを受け取る。前記処理部は、前記計測データから前記立体物の平面に対応したクラスタを取り出す。前記計算部は、前記クラスタを形成する前記測定点の計測データを用いて前記クラスタに対応する前記平面を表す数式を求める。前記修正部は、前記平面を表す数式を用いて前記立体物を表すベクトルデータを作成する。前記サーバは、前記修正部が作成した前記ベクトルデータを前記端末装置に受け渡す。
【００１１】
前記処理部は、第１処理部と第２処理部と第３処理部と第４処理部と第５処理部とを備えている。前記第１処理部は、前記複数の測定点それぞれの周囲に存在する複数個の測定点の計測データを用いて定められる小平面の法線ベクトルを、前記複数の測定点それぞれの個別ベクトルとする。前記第２処理部は、前記複数の測定点から選択された少なくとも１個の着目点を通るように前記計測データを用いて定めた候補平面の法線ベクトルを候補ベクトルＶｐとする。前記第３処理部は、前記複数の測定点のうち前記個別ベクトルが前記候補平面の前記候補ベクトルに対して所定の適合角度内であるすべての測定点を前記候補平面に対する適合点として求め、かつ前記適合点に対する評価値を求める。前記第４処理部は、前記着目点が異なる複数の候補平面のうち、前記適合点が１つの平面上に存在すると推定される候補平面を前記評価値に基づいて抽出し、この候補平面に対する適合点からなるクラスタを抽出する。前記第５処理部は、前記クラスタを形成する測定点を前記クラスタの形成前の測定点から除外した後の残留測定点の個数が所定の許容値以上か否かを判定する。前記第５処理部は、少なくとも前記第３処理部が前記残留測定点から前記評価値を求める演算処理および前記第４処理部が前記クラスタを抽出する演算処理を、前記残留測定点の個数が前記許容値未満になるまで前記処理部に繰り返させる。
【００１２】
本発明に係る３次元モデル作成システムは、立体物の３次元測定を行う計測装置と、上述した立体物のモデリング装置とを備える。
【００１３】
本発明に係るプログラムは、コンピュータを、上述した立体物のモデリング装置として機能させるためのものである。なお、プログラムは、コンピュータで読取可能な記録媒体に固定された状態で提供される場合と、インターネットのような電気通信回線を通じて提供される場合とがある。
【発明の効果】
【００１４】
本発明の構成によれば、存在していない平面に対応した数式が作成される可能性が低減されるという利点を有する。
【図面の簡単な説明】
【００１５】
【図１】図１は実施形態の３次元モデル作成システムを示すブロック図である。
【図２】図２Ａは実施形態におけるボクセルの概念を説明する図であり、図２Ｂは実施形態におけるダウンサンプリングの概念を説明する図である。
【図３】図３は実施形態での小平面および個別ベクトルを説明する図である。
【図４】図４は実施形態での候補平面および候補ベクトルを説明する図である。
【図５】図５は実施形態での適合点を説明する図である。
【図６】図６Ａ、図６Ｂ、図６Ｃはそれぞれ候補平面と適合点との関係を示す図である。
【図７】図７は実施形態のモデリング方法を説明するフローチャートである。
【図８】図８は実施形態に係るサーバを示すブロック図である。
【発明を実施するための形態】
【００１６】
以下では、立体物の３次元計測データに基づいて、立体物における１ないし複数の平面を表す数式（平面の式）を求める技術について説明する。さらに、以下では、平面の式に基づいて立体物をベクトルデータで表し、コンピュータで構成される設計装置で立体物のベクトルデータを編集することを可能にする技術について説明する。立体物は、建造物を例とし、とくに複数の部屋を備える住宅の屋内を想定している。ただし、立体物は、少なくとも一部に平面を有していればよい。立体物は、住宅の屋内に限らず住宅の屋外を含んでいてもよく、また住宅に限定されず、建造物にも限定されない。なお、以下では、「３次元計測データ」を、単に「計測データ」という。
【００１７】
図１には立体物のモデリング装置１０（以下、単に「モデリング装置」という）を備えた３次元モデル作成システム１００の構成を示している。３次元モデル作成システム１００は、最小構成では、計測装置２０とモデリング装置１０とを備える。図１に示す構成例では、３次元モデル作成システム１００は、計測装置２０とモデリング装置１０とに加えて設計装置３０を備える。設計装置３０は、ベクトルデータの編集を行う機能を有しており、いわゆる３次元ＣＡＤシステム（CAD：Computer-Aided Design）である。この種の設計装置３０は、専用装置であってもよいが、一般的には、汎用のコンピュータでプログラムを実行することにより実現される。なお、設計装置３０は、３次元モデル作成システム１００において省略可能である。
【００１８】
モデリング装置１０は、処理部１１とインターフェイス部１２と計算部１３と修正部１４とを備える。インターフェイス部１２は、計測装置２０から計測データを受け取る入力インターフェイス部１２１を備える。処理部１１は、計測装置２０から受け取った計測データから実空間の平面に対応するクラスタを取り出す機能を有する。計算部１３は、クラスタを形成している計測データを用いてクラスタに対応した平面を表す数式を求め、修正部１４は、計算部１３が求めた平面の式から立体物を表すベクトルデータを作成する。
【００１９】
すなわち、モデリング装置１０は、計測装置２０からの計測データを用いて、住宅の屋内の形状を表すベクトルデータを作成する。ベクトルデータのフォーマットは、とくに限定されないが、多くの設計装置３０で扱える形式であることが望ましい。したがって、ベクトルデータのフォーマットは、多くの設計装置３０でデファクトスタンダードとして用いられているＤＸＦ（Drawing Exchange Format）であることが望ましい。
【００２０】
計測装置２０は、立体物の表面を複数の測定点の位置で表すように構成されている。すなわち、立体物の形状を表す計測データは、複数の測定点それぞれの座標値である。複数の測定点それぞれの座標値により、複数の測定点それぞれと立体物の部位とが対応付けられる。モデリング装置１０の処理部１１は、計測装置２０から受け取った複数の測定点それぞれの計測データを、住宅の屋内に露出している面に対応付けて分類する機能と、分類した測定点の座標値を用いて屋内に露出している面を数式で表す機能とを有している。すなわち、処理部１１は、複数の測定点について、住宅の屋内に露出している面との対応関係に応じたクラスタリングを行う。言い換えると、処理部１１は、複数の測定点を、対応していると推定される面ごとのクラスタに分ける。
【００２１】
クラスタリングが行われた複数の測定点は、住宅の屋内に露出している面に対応していると考えられる。つまり、クラスタリングが行われた複数の測定点には、天井面、床面、壁面などに対応するクラスタが存在すると推定される。処理部１１は、天井面、床面、壁面それぞれに相当するクラスタを構成している測定点の座標値を抽出し、抽出した座標値に基づいて天井面、床面、壁面を表す式を求める。
【００２２】
以下に３次元モデル作成システム１００の構成についてさらに詳しく説明する。この構成例で用いる計測装置２０は、いわゆる３Ｄレーザスキャナである。計測装置２０は、点状のスポットを投影するビーム状のレーザ光を空間に放射し、物体で反射されたレーザ光を受光するように構成されている。計測装置２０は、放射したレーザ光に含まれる情報と受光したレーザ光とに含まれる情報との関係を用いて物体までの距離を計測する。具体的には、距離を計測する技術として、フェイズシフト方式、タイムオブフライト方式、三角測量法の原理による方式のいずれかが主に用いられている。
【００２３】
ここでは、フェイズシフト方式の計測装置２０を想定する。フェイズシフト方式は、強度を変調したパルス状のレーザ光を空間に放射し、受光したレーザ光と放射したレーザ光とを干渉させることにより、位相差に相当する情報を抽出する。受光したレーザ光に干渉させる光は、実際には、放射したレーザ光に相当する参照用のレーザ光である。
【００２４】
計測装置２０は、強度を変調したレーザ光を、複数の変調周期を含む一定時間ごとに空間に放射する。レーザ光の変調周期は既知であるから、放射したレーザ光と受光したレーザ光との位相差に基づいて、レーザ光を反射した物体までの距離が算出される。計測装置２０の距離に対する測定誤差は、たとえば１０［ｍ］を測定したときの誤差が１［ｍｍ］より小さい程度であることが望ましい。
【００２５】
計測装置２０は、設置された面（通常は、床面）に沿って回転する測定部２０１を備えている。また、測定部２０１は、設置された面に直交する面内でレーザ光を走査（スキャン）する。すなわち、測定部２０１が回転する面を赤道面とすれば、測定部２０１は子午線上でレーザ光を走査すると言える。言い換えると、計測装置２０がレーザ光を照射する方向は、経度に相当する角度と緯度に相当する角度との組み合わせで表される。経度に相当する角度は、計測装置２０について定めた基準方向に対する角度として定められ、緯度に相当する角度は、測定部２０１が回転する面に対する角度として定められる。経度に相当する角度は、通常は水平面内での角度であり、緯度に相当する角度は通常は鉛直面（水平面に直交する面、すなわち重力方向を含む面）内での角度である。
【００２６】
例として、測定部２０１が回転した角度（経度に相当する角度）がφであり、レーザ光を走査する角度（緯度に相当する角度）がθであるとき、計測装置２０が計測した距離がλであると仮定する。この場合、物体においてレーザ光を反射した部位の位置は、計測装置２０に定めた極座標系（球面座標系）を用いると、（λ，θ，φ）という形式の座標値で表される。角度θおよび角度φは計測装置２０が定め、距離λは上述した原理で計測される。すなわち、計測装置２０は、ほぼ全周囲の空間領域について３次元計測を行う。ただし、計測装置２０が設置された面における一部の領域は死角になるため３次元計測の対象外である。
【００２７】
計測装置２０の測定部２０１は、角度θを一定の時間間隔で変化させる。そのため、角度θは時間間隔に対応する単位角度Δθで変化する。また、角度φにも単位角度Δφが定められている。すなわち、計測装置２０は、物体について、角度θを単位角度Δθの分解能で計測し、角度φを単位角度Δφの分解能で計測する。なお、角度θの単位角度Δθおよび角度φの単位角度Δφは適宜に定められる。たとえば、単位角度Δθおよび単位角度Δφそれぞれについて、たとえば０．０１度程度の分解能を有している。
【００２８】
以下では、物体について座標値（λ，θ，φ）が得られる部位を「測定点」と呼ぶ。単位角度Δθおよび単位角度Δφそれぞれが、０．０１度であるとすれば、計測装置２０の周囲に、１０億個以上の測定点が得られる。計測装置２０の測定部２０１の中心から物体までの最大距離が５［ｍ］程度であれば、物体の表面上での測定点の間隔は、１［ｍｍ］以下である。
【００２９】
いま、測定部２０１が水平面に沿って回転し、レーザ光が鉛直面に沿って走査される場合を想定する。すなわち、測定部２０１が回転する面とレーザ光が走査される面との関係は、地球における赤道面と子午面との関係に相当する。「赤道面」および「子午面」の用語を用いると、計測装置２０は、測定部２０１が赤道面を単位角度Δφだけ回転するたびに、レーザ光が子午面に沿って走査されるように構成されていると言える。測定点は、子午面と物体の表面との交点上に並ぶから、物体の表面上で複数の子午面が交差する部位（地球における極付近に相当する）では測定点の密度が相対的に高くなり、物体の表面上で赤道面が交差する部位では測定点の密度が相対的に低くなる。たとえば、部屋の床面の中央付近に計測装置２０が設置されている場合、天井面の中央付近では測定点の密度が高くなり、壁面では測定点の密度が天井面に比べて低くなる。
【００３０】
ところで、住宅の屋内では、天井面および床面は水平面である場合が多く、また壁面は水平面に直交している場合が多い。このことから、測定点の位置は、球面座標系の座標値（λ，θ，φ）で表されているより、床面をｘｙ平面に平行な面として定めた直交座標系の座標値（ｘ，ｙ，ｚ）で表されているほうが演算処理が容易になる。ただし、計測装置２０は、天井面、床面、壁面などの向きを単独では定めることはできない。したがって、住宅の屋内を囲む面に基づく座標軸はモデリング装置１０で定められる。
【００３１】
計測装置２０が方位センサ（すなわち、電子コンパス）を備えていれば、計測装置２０は、方位センサが求めた方位に基づいて座標軸の方向を定めることが可能である。一方、計測装置２０が方位センサを備えていなければ、計測データは計測装置２０に固有の座標系で表される。計測装置２０が方位センサを備えているか否かにかかわらず、計測装置２０が単独で座標系の原点を定める場合には、計測装置２０との相対位置で原点が定められる。言い換えると、計測装置２０から出力される計測データのみでは、住宅との相対位置で座標系の原点を定めることはできない。なお、計測データは、複数の測定点の座標値の集合である。
【００３２】
球面座標系から直交座標系への座標変換は、計測装置２０で行うよりもモデリング装置１０で行うほうが座標変換の処理回数が少なくなる。ただし、計測装置２０が球面座標系から直交座標系への座標変換を行った後に、モデリング装置１０が座標軸の向きおよび原点の位置を変更するように座標変換を行ってもよい。後者の場合には、計測装置２０から直交座標系の座標値を持つ計測データが出力される。
【００３３】
ところで、測定点の密度は場所に応じてばらつきがあり、極付近の測定点の密度は赤道面付近の測定点の密度に比べて大幅に高くなる。また、測定点の密度が高いほど、モデリング装置１０の処理負荷が大きくなるから、演算処理の結果が得られるまでの時間が長くなる。そのため、前処理部１１０は、ボクセルフィルタを用いて測定点の個数を低減させる機能を有している。すなわち、前処理部１１０は、ボクセルフィルタによるダウンサンプリングの機能を有している。
【００３４】
前処理部１１０は、図２Ａに示すように、住宅の屋内空間を一定の大きさの立方体である多数個のボクセルＢ１で満たす。また、前処理部１１０は、ボクセルＢ１に測定点Ｐｍが含まれていれば、ボクセルＢ１に含まれている測定点Ｐｍの平均の位置をボクセルＢ１ごとの測定点Ｐｍａの位置とする（図２Ｂ参照）。図２Ａ、図２Ｂにおいて、符号Ｂ１１はボクセルＢ１の上面、符号Ｂ１２はボクセルＢ１の正面、符号Ｂ１３はボクセルＢ１の右側面である。測定点Ｐｍの平均の位置は、ボクセルＢ１に含まれる測定点Ｐｍの計測データを、座標値ごとの平均値で表した座標値を意味する。ボクセルＢ１のサイズは、たとえば立方体の一辺の長さが、計測装置２０が計測する距離の誤差の数倍程度であるように定められる。前処理部１１０は、測定点Ｐｍが含まれていないボクセルＢ１を演算処理の対象から除外する。前処理部１１０がボクセルフィルタによるダウンサンプリングを行うことにより、以後の演算処理に用いる測定点Ｐｍａの個数が低減される。
【００３５】
前処理部１１０は、１個以上の測定点ＰｍがボクセルＢ１に含まれていれば、ボクセルＢ１を代表する測定点Ｐｍａの計測データを定めることができる。前処理部１１０は、ボクセルＢ１に含まれる測定点Ｐｍの個数に閾値を設定し、測定点Ｐｍの個数が閾値以上の場合にのみボクセルＢ１に一対一に対応する測定点Ｐｍａの位置を決めてもよい。以下では、ボクセルＢ１に一対一に対応するように求められた測定点Ｐｍａを測定点Ｐｍとして扱う。
【００３６】
上述したように、計測装置２０が出力する計測データは、多くの場合、計測装置２０に固有の座標系（ローカル座標系）を用いて表される。計測装置２０が方位センサを備えていれば、座標軸は計測装置２０に依存しないように定めることができるが、座標系の原点は計測装置２０を基準に定められる。もちろん、１箇所に設置された１台の計測装置２０で得られた計測データへの演算処理であれば、結果が計測装置２０の座標系に依存するとしても、演算処理前の座標系がわかっているから、演算処理の結果を任意の座標系に対応させることが可能である。
【００３７】
しかしながら、一般的には、住宅は複数の部屋を備える。そのため、屋内のすべての天井面、床面、壁面について計測データを得ようとすれば、計測装置２０を用いた３次元計測を屋内の複数箇所で行う必要がある。通常、屋内の複数の部屋の計測データを得るために、１台の計測装置２０が屋内の様々な場所に配置される。すなわち、屋内の複数の場所それぞれで、計測装置２０による３次元計測が行われる。屋内の複数の場所で計測された計測データは、計測装置２０が設置された場所ごとの独立した座標系で表されるから、計測データのみの情報では複数の場所それぞれの座標系の関係は求められない。
【００３８】
そのため、計測装置２０が屋内の複数箇所で３次元計測を行った場合、計測データの座標系を一致させる必要がある。前処理部１１０は、ボクセルフィルタを用いたダウンサンプリングを行う機能だけではなく、住宅に単一の座標系（グローバル座標系）を定める機能を有している。すなわち、前処理部１１０は、異なる場所で計測された計測データを、単一の座標系に統合する処理を行う。
【００３９】
住宅に単一の座標系を定めるために、モデリング装置１０の前処理部１１０は、計測装置２０が設置された位置の情報を受け取る。計測装置２０が設置された位置は、壁面と計測装置２０との間の距離の実測値に基づいて決まる。すなわち、座標系を定めるためにモデリング装置１０に与えられる位置の情報は、ユーザが計測装置２０の位置を実測することにより得られる。この距離は、計測装置２０で計測することが可能である。また、座標系を定めるために、住宅には適宜に原点が定められる。
【００４０】
住宅に単一の座標系を定めるには、計測装置２０の位置および座標系の原点の位置だけではなく、座標軸の方向が必要である。計測装置２０が方位センサを備えている場合、前処理部１１０は、計測装置２０から方位センサが求めた方位の情報を受け取る。また、計測装置２０が方位センサを備えていない場合、前処理部１１０は、実測された方位を受け取る。なお、住宅に単一の座標系を定めるために、たとえば、水平面がｘｙ平面に平行であり、東西方向がｘ方向、南北方向がｙ方向であるように定められてもよい。また、南北方向がｘ方向、東西方向がｙ方向であってもよい。
【００４１】
前処理部１１０は、計測装置２０から受け取った方位の情報に基づいて座標軸の方向を定め、実測に基づいた計測装置２０の位置の情報および原点の位置の情報を座標軸の方向と合わせて用いることにより、１つの座標系を定める。そして、前処理部１１０は、複数の場所で計測された計測データが、定められた１つの座標系で表されるように計測データの座標変換を行う。
【００４２】
計測装置２０が方位センサを備えていない場合、上述したように、方位の情報は実測により求められる。ここに、計測装置２０は、一般的には、測定部２０１が水平面に沿って回転するように設置される。そのため、直交座標系におけるｘｙ平面が水平面に平行な面であるとすれば、直交座標系でのｚ方向は自動的に決まる。それゆえ、計測装置２０の方位は、東西方向あるいは南北方向との関係を実測すればよい。
【００４３】
上述したように、前処理部１１０は、計測装置２０から受け取った様々な座標系の計測データの座標変換を行うことにより、計測データを単一の座標系に統合する。すなわち、住宅の屋内の様々な場所について、単一の座標系で表された計測データが得られる。たとえば、住宅に存在している天井面、床面、壁面などの多くが座標軸に平行になるように座標系が定められることが望ましい。
【００４４】
上述した構成例では、住宅に単一の座標系を定めるために、計測装置２０の位置を実測している。したがって、計測装置２０を設置する場所が増加するほど、住宅に単一の座標系を定めるための作業量が増加する。そこで、モデリング装置１０の前処理部１１０は、異なる場所で計測された計測データが共通の部分を含み、かつ共通の部分が特徴を有する形状である場合に、特徴を有する形状を用いて計測データを重ね合わせる機能を有していてもよい。
【００４５】
すなわち、異なる場所で計測された計測データに重なっている部分が存在しており、重なっている部分から特徴ある形状の抽出が可能である場合、異なる場所で計測された計測データの位置合わせを、形状の特徴によって行ってもよい。この技術を採用すれば、異なる場所で計測された計測データを合成する際に、マーカを設けずに計測データの位置を合わせることが可能になる。ただし、この技術を採用するには、異なる場所に設置した計測装置２０が計測した計測データに、屋内の同じ部位の計測データが含まれていることが必要である。
【００４６】
計測装置２０は、計測データだけではなく、計測した空間領域の画像を出力する機能を有する場合がある。計測装置２０から出力される画像は、画素に測定点が対応付けられている。したがって、異なる場所に設置した計測装置２０が撮影した画像に、屋内の同じ部位の画像が含まれていれば、画像をつなぎ合わせることにより、測定点をつなぎ合わせることが可能である。すなわち、異なる場所に設置した計測装置２０から得られた計測データを、画像を用いることにより１つの座標系に統合することが可能である。
【００４７】
複数の座標系の計測データを１つの座標系に統合するには、上述したように、実測に基づく情報を用いる技術と、屋内の同じ部位の計測データの特徴を用いる技術と、屋内の同じ部位の画像を用いる技術とがある。これらの技術は、単独で用いてもよいが、併用することにより、計測データの座標系の統合が容易になる。なお、前処理部１１０は、ボクセルフィルタを用いたダウンサンプリングと、計測データの座標系の統合とのどちらを先に行ってもよいが、ダウンサンプリングを先に行えば、座標系を統合する際の処理負荷が軽減される。
【００４８】
ダウンサンプリングによって測定点の個数が低減され、かつ屋内の座標系が統合されると、処理部１１は、複数の測定点の計測データに基づいて屋内に露出している平面の式を求める。計測データから平面の式を求めるために、処理部１１は、第１処理部１１１、第２処理部１１２、第３処理部１１３、第４処理部１１４、第５処理部１１５を備える。なお、処理部１１は、第５処理部１１５を備えていることが望ましいが、第５処理部１１５は省略可能である。
【００４９】
第１処理部１１１は、図３のように複数の測定点Ｐｍそれぞれに対して小平面Ｒｍを一対一に定め、小平面Ｒｍの法線ベクトルを求める。図３では、１つの測定点Ｐｍに対して定めた小平面Ｒｍのみを示しているが、実際には、複数の測定点Ｐｍそれぞれに対して小平面Ｒｍが一対一に定められる。小平面Ｒｍは、複数の測定点Ｐｍそれぞれを囲むように複数の測定点Ｐｍそれぞれの周囲に定められる。また、ここでの法線ベクトルは、大きさを１に正規化した単位法線ベクトルを意味している。複数の測定点Ｐｍそれぞれについて第１処理部１１１が求めた法線ベクトルを、複数の測定点Ｐｍそれぞれの個別ベクトルＶｍとする。
【００５０】
小平面Ｒｍの範囲は、測定点Ｐｍを中心としてあらかじめ定めた半径の円内、あるいは測定点Ｐｍを中心とし前処理部１１０が定めた座標軸に沿った辺を有する正方形内などに定められる。図３には小平面Ｒｍの境界となる形状が正方形である場合を示している。小平面Ｒｍの境界となる形状は、円または正方形のほか、正方形ではない多角形状であってもよい。
【００５１】
小平面Ｒｍのサイズにとくに制限はないが、小平面Ｒｍのサイズは、小平面Ｒｍに対応付ける測定点Ｐｍを含めて３個以上１００個以内の測定点Ｐｍが含まれる程度に設定されることが望ましい。小平面Ｒｍのサイズは、たとえば、小平面Ｒｍの境界となる形状が円形であれば、小平面Ｒｍの直径は５０［ｍｍ］などに定められる。また、円形の小平面Ｒｍであれば、ボクセルＢ１（図２参照）のサイズに基づいて、ボクセルＢ１の一辺の寸法の整数倍などに定めることも可能である。
【００５２】
小平面Ｒｍは他の方法で定めてもよい。たとえば、第１処理部１１１が測定点Ｐｍに隣接しかつ測定点Ｐｍを囲む三角形の頂点となる３個の測定点Ｐｍを選択し、３個の測定点Ｐｍを頂点とする三角形に囲まれる領域を小平面Ｒｍに定めてもよい。また、隣接する３個ずつの測定点Ｐｍを結ぶ三角形を小平面Ｒｍに定めることも可能である。この場合、小平面Ｒｍと測定点Ｐｍとを対応付けるための規則を定める必要がある。たとえば、小平面Ｒｍを定める３個の測定点Ｐｍのうち、原点からの距離が最小である測定点Ｐｍが小平面Ｒｍに対応付けられる。
【００５３】
第１処理部１１１は、測定点Ｐｍに対応する小平面Ｒｍを定めると、小平面Ｒｍの法線ベクトルを求め、求めた法線ベクトルを測定点Ｐｍの個別ベクトルＶｍとする。小平面Ｒｍが三角形である場合、三角形の頂点を通る１つの平面が一意に決まるから、三角形の頂点となる測定点Ｐｍの座標値を用いることにより個別ベクトルＶｍが定まる。
【００５４】
一方、４個以上の測定点Ｐｍが含まれる小平面Ｒｍでは、一般的には、一意に平面を定めることができない。この場合、たとえば小平面Ｒｍに含まれる測定点Ｐｍのうち、小平面Ｒｍに対応付けた１つの測定点Ｐｍとの距離が大きいほうから３個の測定点Ｐｍを抽出し、抽出された３個の測定点Ｐｍを通る１つの平面を用いればよい。あるいは、小平面Ｒｍに含まれるすべての測定点Ｐｍから最小二乗法によって、小平面Ｒｍに対応した平面を定めてもよい。
【００５５】
いずれにしても、１つの小平面Ｒｍは１つの測定点Ｐｍの周囲に存在する複数個の測定点Ｐｍの計測データ（座標値）を用いて定められる。そして、１つの小平面Ｒｍの法線ベクトルが、１つの測定点Ｐｍの個別ベクトルＶｍになる。このようにして、第１処理部１１１は、計測データが得られたすべての測定点Ｐｍに対する個別ベクトルＶｍを定める。
【００５６】
一方、第２処理部１１２は、図４のように、複数の測定点Ｐｍから選択した着目点Ｐｐを通るように定めた候補平面Ｒｐの法線ベクトルを候補ベクトルＶｐとする。図４では説明を簡単にするために２次元で表している。候補ベクトルＶｐを定めるために用いる着目点Ｐｐの個数は、制約条件がない場合とある場合とで異なる。制約条件がない場合、３個の着目点が選択される。
【００５７】
また、制約条件として候補平面Ｒｐが鉛直面であることが明らかである場合、２個の着目点Ｐｐが選択される。制約条件として候補平面Ｒｐが水平面であることが明らかである場合、１個の着目点Ｐｐが選択される。屋内に露出する鉛直面には壁面が含まれており、屋内に露出する水平面には天井面および床面が含まれる。壁面の測定点Ｐｍであることが明らかであれば、壁面に相当する候補平面Ｒｐの向きが２個の着目点Ｐｐで定まる。さらに、天井面あるいは床面の測定点Ｐｍであることが明らかであれば、天井面あるいは床面に相当する候補平面Ｒｐの高さが１個の着目点Ｐｐで定まる。
【００５８】
上述のように、着目点Ｐｐの個数は１個または２個でもよい場合があるが、任意に選択される測定点Ｐｍが、天井面と床面と壁面とのいずれの測定点Ｐｍであるかは、測定点Ｐｍの計測データ（座標値）に基づく条件判断を行うか、ユーザによる選択作業が必要である。以下では、第２処理部１１２が、任意に抽出した３個の着目点Ｐｐを含むように候補平面Ｒｐを定める場合を例として説明する。
【００５９】
第２処理部１１２は、前処理部１１０からダウンサンプリング後の測定点Ｐｍの座標値を受け取り、３個ずつの測定点Ｐｍを任意かつ網羅的に着目点Ｐｐとして選択する。ただし、第２処理部１１２は、３個の着目点Ｐｐから選択される２つずつの着目点Ｐｐの最小距離が所定の閾値以上となるように、３個の着目点Ｐｐを選択することが望ましい。すなわち、着目点Ｐｐの間の最小距離が小さい場合、計測データの誤差が３個の着目点Ｐｐを通る候補平面Ｒｐの傾きに大きく影響するから、３個の着目点Ｐｐの間の最小距離を閾値以上に制限することが望ましい。ただし、閾値が大きすぎると、実際の平面に対応した候補平面Ｒｐを見つけることが困難になることがあるから、適切な候補平面Ｒｐを探索できる程度に閾値の上限を定める必要がある。閾値が適当な大きさであれば、第２処理部１１２が選択する候補平面Ｒｐの個数が、閾値を定めていない場合よりも低減され、第２処理部１１２の処理負荷が低減される。
【００６０】
第２処理部１１２は、複数の測定点から３個の着目点Ｐｐを選択すると、３個の着目点Ｐｐを通る候補平面Ｒｐを定める。また、第２処理部１１２は、３個の着目点Ｐｐを通る候補平面Ｒｐの法線ベクトルを定め、候補平面Ｒｐの法線ベクトルを候補ベクトルＶｐとする。ここでの法線ベクトルは、大きさを１に正規化した単位法線ベクトルを意味している。候補平面Ｒｐの法線ベクトルを求める主な方法として、３個の着目点Ｐｐの座標値から求まる候補平面Ｒｐ内の２つのベクトルの外積を求める方法と、３個の着目点Ｐｐの座標値を平面の式に代入した連立方程式を解く方法とがある。
【００６１】
前者の方法であれば、外積で求めたベクトルを、単位ベクトルに正規化することにより法線ベクトルが得られる。また、後者の方法で用いる平面の式は、一般にａｘ＋ｂｙ＋ｃｚ＋ｄ＝０の形式で表されるから、この式に３個の着目点Ｐｐの座標値を代入して連立方程式を作れば、係数ａ、ｂ、ｃ、ｄの比を求めることができる。係数ａ、ｂ、ｃの比は、ベクトルの成分の比に相当するから、正規化することによって法線ベクトルが得られる。
【００６２】
第１処理部１１１と第２処理部１１２とは、それぞれが独立して前処理部１１０から得られる測定点Ｐｍの座標値を用いており、第１処理部１１１と第２処理部１１２との演算処理は、互いの結果に依存しない。したがって、第１処理部１１１の演算処理と第２処理部１１２の演算処理とは、順序に関係なく実施可能である。すなわち、第１処理部１１１と第２処理部１１２との演算処理は、いずれか一方を先に行うことが可能であり、また同時に行うことも可能である。
【００６３】
第３処理部１１３は、第１処理部１１１が求めた測定点Ｐｍに対する個別ベクトルＶｍと、第２処理部１１２が求めた候補平面Ｒｐに対応する候補ベクトルＶｐとを受け取る。第３処理部１１３は、図５に示すように、複数の測定点Ｐｍのうち、個別ベクトルＶｍが候補ベクトルＶｐに対してなす角度Ａｍが所定の適合角度Ａｔ以下である測定点Ｐｍを適合点Ｐｆとして抽出する。なお、個別ベクトルＶｍおよび候補ベクトルＶｐは実際には３次元のベクトルであるが、説明を簡単にするために、図５では２次元で表している。
【００６４】
適合角度Ｖｔは、角度Ａｍの絶対値であって、たとえば３０度に定められる。個別ベクトルＶｍと候補ベクトルＶｐとは単位ベクトルであるから、３０度以下であることは、内積が約０．８７以上であることによって判別できる。なお、適合角度Ａｔが３０度であることは一例であり、実空間の平面に対応しない候補平面Ｒｐに対して、適合点が抽出される可能性を低減させる必要があれば、適合角度Ａｔをさらに小さくしてもよい。
【００６５】
第３処理部１１３は、複数の測定点Ｐｍそれぞれに対応付けた個別ベクトルＶｍと、候補平面Ｒｐに対応付けた候補ベクトルＶｐとがなす角度Ａｍを用いることにより、候補平面Ｒｐと向きがほぼ同じである測定点Ｐｍを適合点Ｐｆとして抽出する。さらに、第３処理部１１３は、抽出された適合点Ｐｆに対する評価値を求める。評価値として、たとえば、候補平面Ｒｐに対して抽出された適合点Ｐｆの個数が求められる。また、適合点Ｐｆに候補平面Ｒｍからの距離が近いほど大きい重みを付与し、評価値として、重みの合計が求められる。
【００６６】
適合点Ｐｆの個数を評価値に用いる場合、候補平面Ｒｐに対する適合点Ｐｆの分布は考慮されていない。したがって、測定点Ｐｍが候補平面Ｒｐの近辺に偏在している場合と、適合点Ｐｆが候補平面Ｒｐから離れている場合とは区別されない。これに対して、適合点Ｐｆに重みが付与された場合、候補平面Ｒｐからの距離が大きい適合点Ｐｆが集まっている場合よりも、候補平面Ｒｐの近くに適合点Ｐｆが集まっているほうが評価値が大きくなる。すなわち、適合点に重みが付与されると、適合点の分布が評価値の大きさに反映される。
【００６７】
第４処理部１１４は、第３処理部１１３が求めた評価値を受け取り、図６Ａ、図６Ｂ、図６Ｃに示すように、着目点Ｐｐが異なる複数の候補平面Ｒｐそれぞれの評価値を求め、求めた複数の評価値について大小を比較する。なお、説明を簡単にするために、図６Ａ、図６Ｂ、図６Ｃは２次元で表し、適合点Ｐｆではない測定点Ｐｍは白丸で表し、適合点Ｐｆは黒丸で表している。図６Ａ、図６Ｂのように候補平面Ｒｐが設定された場合に比べて、図６Ｃのように候補平面Ｒｐが設定された場合のほうが適合点Ｐｆが多くなることがわかる。第４処理部１１４は、処理対象であるすべての候補平面Ｒｐのうち評価値が最大である１つの候補平面Ｒｐを抽出する。１つの候補平面Ｒｐに収束しない場合であっても、上述した２種類の評価値を併用すれば、多くの場合は１つの候補平面Ｒｐに絞り込むことができる。
【００６８】
第４処理部１１４は、第３処理部１１３が求めたすべての候補平面Ｒｐのうち評価値が最大である１つの候補平面Ｒｐを抽出し、抽出した候補平面Ｒｐに対する複数の適合点Ｐｆをクラスタとする。すなわち、第４処理部１１４は、測定点Ｐｍのクラスタリングを行う。第４処理部１１４が抽出したクラスタを形成する適合点Ｐｆは、実際の平面に対応している可能性が高いと言える。
【００６９】
第５処理部１１５は、第４処理部１１４が複数の測定点Ｐｍのうち１つの候補平面Ｒｐに対する適合点Ｐｆの集合であるクラスタを抽出すると、複数の測定点Ｐｍからクラスタを形成する適合点Ｐｆを除外することにより残留測定点を抽出する。残留測定点は、前処理部１１０によるダウンサンプリング後の複数の測定点Ｐｍのうち、クラスタを形成する適合点Ｐｆを除外した測定点Ｐｍである。すなわち、残留測定点は複数の測定点Ｐｍから適合点Ｐｆを除外した測定点Ｐｍであるから、以下では残留測定点も符号Ｐｍで表す。第５処理部１１５は、残留測定点Ｐｍの個数を所定の許容値と比較する。第５処理部１１５は、残留測定点Ｐｍの個数が許容値以上であれば、残留測定点Ｐｍからさらにクラスタを抽出できると判断し、残留測定点Ｐｍの計測データを第１処理部１１１および第２処理部１１２に与える。許容値は、屋内に露出している平面の面積に応じて経験的に定められる。
【００７０】
第５処理部１１５が残留測定点Ｐｍの計測データを第１処理部１１１および第２処理部１１２に与えると、残留測定点Ｐｍを用いて、第３処理部１１３および第４処理部１１４の演算処理が行われる。すなわち、残留測定点Ｐｍから候補平面Ｒｐが抽出され、候補平面Ｒｐと残留測定点Ｐｍとを用いて、残留測定点Ｐｍのクラスタリングが行われる。残留測定点Ｐｍからクラスタが抽出されると、第５処理部１１５は、クラスタを形成する適合点Ｐｆを除外し、クラスタを除外した後の残留測定点Ｐｍを許容値と比較する。このようにして、測定点のクラスタが形成されるたびに、クラスタに含まれる測定点Ｐｍが除外され、クラスタが除外された後の測定点Ｐｍの個数が許容値未満になるまで、クラスタの形成が繰り返される。
【００７１】
すなわち、第１処理部１１１、第２処理部１１２、第３処理部１１３、第４処理部１１４が行う演算処理を一連の演算処理とすれば、第５処理部１１５は、一連の演算処理を繰り返して呼び出すことにより測定点Ｐｍのクラスタリングを行っていると言える。上述したモデリング装置１０が行うクラスタリングの方法をまとめると、図７のようになる。
【００７２】
入力インターフェイス部１２１を通じて処理部１１が測定点の計測データを受け取ると（Ｓ１１）、前処理部１１０は測定点Ｐｍのダウンサンプリングを行う（Ｓ１２）。次に、ボクセルごとの測定点Ｐｍの計測データを用いて、第１処理部１１１が測定点Ｐｍそれぞれに対応する個別ベクトルＶｍを求め（Ｓ１３）、第２処理部１１２が候補平面Ｒｐに対応する候補ベクトルＶｐを求める（Ｓ１４）。第３処理部１１３は、複数の測定点Ｐｍのうち、個別ベクトルＶｍが候補ベクトルＶｐに対して適合角度Ａｔ以下である測定点Ｐｍを適合点Ｐｆとして抽出し、適合点Ｐｆに関する評価値を求める（Ｓ１５）。すなわち、第３処理部１１３は、第２処理部１１２が求めた複数の候補平面Ｒｐそれぞれについて適合点Ｐｆを抽出し評価値を求める。
【００７３】
第４処理部１１４は、第３処理部１１３が求めた評価値に基づいて、第２処理部１１２が求めた複数の候補平面Ｒｐのうち評価値が最大である１つの候補平面Ｒｐを抽出し、この候補平面Ｒｐに対する複数の適合点Ｐｆをクラスタとして扱う（Ｓ１６）。つまり、第４処理部１１４は、複数の測定点Ｐｍから１つのクラスタを抽出する。
【００７４】
第４処理部１１４が１つのクラスタを抽出した後、第５処理部１１５は、そのクラスタを形成する測定点Ｐｍを除外して残留測定点Ｐｍを求め（Ｓ１７）、残留測定点Ｐｍの個数が許容値以上であれば（Ｓ１８：ｙｅｓ）、残留測定点Ｐｍを第１処理部１１１および第２処理部１１２に与え、ステップＳ１３からステップＳ１７の処理を行わせる。すなわち、複数の残留測定点Ｐｍから１つのクラスタを抽出する処理を繰り返す。また、第５処理部１１５は、残留測定点Ｐｍの個数が許容値未満であれば（Ｓ１８：ｎｏ）、クラスタを抽出する処理を終了する（Ｓ１９）。
【００７５】
ところで、適合点Ｐｆが除外される前と後とでは、面の輪郭付近で測定点Ｐｍに対する個別ベクトルＶｍが変化する可能性があるが、多くの測定点Ｐｍの個別ベクトルＶｍには変化が生じない。したがって、第１処理部１１１が前処理部１１０から受け取った測定点Ｐｍの計測データから求めた個別ベクトルＶｍを、第５処理部１１５で得られた残留測定点Ｐｍの計測データから求められる個別ベクトルＶｍに代えて採用しても影響は限定的である。また、第２処理部１１２が求める候補平面Ｒｐおよび候補ベクトルＶｐについても同様であり、前処理部１１０から受け取った測定点Ｐｍの計測データから得られる結果を、第５処理部１１５で得られた残留測定点Ｐｍの計測データから得られる結果に代用可能である。したがって、第５処理部１１５が残留測定点を求めた後、第１処理部１１１での演算処理および第２処理部１１２での演算処理は省略することが可能である。言い換えると、図７に破線で示しているように、ステップＳ１７で求められた残留測定点Ｐｍは、ステップＳ１３に与えるのではなくステップＳ１５に与えるようにしてもよい。
【００７６】
上述した演算処理により、処理部１１は、屋内に露出している複数の平面それぞれに対応すると推定される複数のクラスタを形成する。つまり、複数のクラスタそれぞれを形成している適合点Ｐｆは、複数のクラスタにそれぞれ対応した複数の平面を定めるための測定点となる。なお、複数のクラスタと複数の平面とが一対一に対応しているとは限らず、１つの平面に対応する測定点Ｐｍが複数のクラスタを形成する場合がある。ここでは、１つのクラスタが複数の平面に対応することは想定していない。
【００７７】
複数のクラスタが形成された後は、複数のクラスタそれぞれを形成する測定点Ｐｍを用いてクラスタごとに平面の式を求める。この平面の式は、クラスタに含まれる測定点Ｐｍを用いて作成される平面の式であって、クラスタの形成に用いた候補平面Ｒｐの平面の式と一致するとは限らない。なお、クラスタのうち、屋内に配置された家具の面に対応するクラスタのように、平面の式を求める必要のないクラスタは処理対象から除外することが望ましい。不要なクラスタの除外は、クラスタに含まれる測定点の属性を用いて自動的に行うことが可能であるが、ここではユーザが必要なクラスタを選択する場合を例とする。
【００７８】
ユーザがモデリング装置１０に対して指示を与えるために、モデリング装置１０は、入力装置２１および出力装置２２を接続するための接続インターフェイス部１２２を備えていることが望ましい。入力装置２１は、キーボードおよびマウスなどであり、出力装置２２は、モニタ装置であってカラー画像の表示が可能であることが望ましい。入力装置２１は、マウスに代えて、トラックパッド、タッチパッドなどでもよい。出力装置２２は、液晶ディスプレイ、ＥＬディスプレイ（EL： Electro-Luminescence）、ＣＲＴ（CRT：Cathode Ray Tube）ディスプレイなどから選択される。また、入力装置２１と出力装置２２とに兼用されるタッチパネルをモデリング装置１０に接続してもよい。
【００７９】
出力装置２２の画面には、測定点Ｐｍがクラスタごとに区分された状態で表示される。望ましくは、クラスタごとの測定点Ｐｍに、隣接するクラスタと識別できる色が付与される。たとえば、天井面に相当するクラスタの測定点Ｐｍに緑色が付与され、１つの壁面に相当するクラスタの測定点Ｐｍに黄色が付与される。測定点Ｐｍに色を付与する処理は、第５処理部１１５が行えばよい。なお、出力装置２２の画面にカラー画像を表示できない場合、濃度と模様との少なくとも一方を用いて、クラスタの区別を可能にすればよい。
【００８０】
モデリング装置１０は、出力装置２２の画面に複数のクラスタを区別して表示した状態で、クラスタを指定する情報を待ち受ける。モデリング装置１０は、クラスタごとの測定点Ｐｍを用いて平面の式を求める計算部１３を備えており、ユーザが入力装置２１を操作してクラスタを指定する情報をモデリング装置１０に与えると、測定点Ｐｍに応じた平面の式を計算部１３が算出する。クラスタの指定には、マウスのようなポインティングデバイスで、所望のクラスタ内の適宜の箇所にポインタを合わせ、クリックに相当する操作を行えばよい。
【００８１】
計算部１３では、ロバスト統計の方法を用いて外れ値の影響を抑制した平面の式を求める。たとえば、クラスタ内の測定点Ｐｍを正規分布とみなして平面の式を一旦定め、さらに求めた平面の式からクラスタを形成する複数の測定点Ｐｍまでの距離に応じた重みを測定点Ｐｍに与え、重みを与えた測定点Ｐｍを用いて平面の式を定める。すなわち、この構成例では、Ｍ推定の方法を用いて平面の式を信頼性よく定めている。ロバスト統計の方法はＭ推定に限定されず、他の方法を採用しても平面の式を信頼性よく定めることが可能である。
【００８２】
上述のようにして屋内に露出している様々な面について平面の式を定めることができるが、平面の式を求めた面の一部が家具などに隠れていると、家具などの背後に隠れている部位からは測定点Ｐｍは得られない。したがって、単一の平面が複数箇所に分割されることがある。このような場合、１つの平面に対応する測定点Ｐｍが複数のクラスタを形成することがある。
【００８３】
モデリング装置１０の修正部１４は、計算部１３が求めた平面の式および前処理部１１０から受け取った測定点の座標値に基づいて、屋内に露出している平面のうち住宅に関する平面、つまり、天井面、床面、壁面に相当する平面をつなぎ合わせる。修正部１４は、住宅の各階平面図に類似した２次元の図面を生成し、この２次元の図面において主として壁面に対応した平面の接続を行う。また、修正部１４は、住宅に関する平面の接続後に、接続された平面を表す３次元のベクトルデータを作成する。ベクトルデータは、出力インターフェイス部１２３を通して設計装置３０に出力される。
【００８４】
設計装置３０は、上述したように、ベクトルデータの編集を行う機能を有した３次元ＣＡＤシステムである。したがって、ベクトルデータのフォーマットは、多くの設計装置３０で扱うことができるＤＸＦであることが望ましい。ベクトルデータとして他のフォーマットでの出力を可能にしてもよいのはもちろんのことである。
【００８５】
ところで、上述した構成例において、第３処理部１１３は、複数の測定点Ｐｍそれぞれに対応する個別ベクトルＶｍと候補平面Ｒｐの候補ベクトルＶｐとがなす角度Ａｍが適合角度Ａｔ以下であることを条件と適合点を抽出している。したがって、抽出された適合点Ｐｆについては、個別ベクトルＶｍの向きが、候補平面Ｒｐの候補ベクトルＶｐの向きと大幅に異なることがない。そのため、適合点Ｐｆが単一の平面から得られた測定点Ｐｍである可能性が高い。たとえば、１つの部屋において、天井面、床面、壁面のいずれでもない候補平面Ｒｐであって、部屋を横切るような候補平面Ｒｐに対応するクラスタを、第４処理部１１４が形成する可能性は少ない。
【００８６】
ただし、個別ベクトルＶｍと候補ベクトルＶｐとがなす角度だけを条件とすると、たとえば、家具の前面から得られる個別ベクトルＶｍと、家具の背後の壁面から得られる個別ベクトルＶｍとが区別されない可能性がある。とくに、適合点Ｐｆの個数のみを評価値に用いていると、異なる複数の平面に対応した適合点Ｐｆであるにもかかわらず、高い評価値が得られることになり、第４処理部１１４が形成するクラスタに不要な測定点Ｐｍが含まれる可能性がある。適合点Ｐｆに候補平面Ｒｐからの距離に応じて付与した重みの合計を評価値に用いている場合、クラスタに不要な測定点が含まれる可能性が低減されるが、異なる複数の平面の相互間の距離が小さい場合には、複数の平面に対応する測定点Ｐｍが混在する可能性が残る。
【００８７】
したがって、第３処理部１１３は、個別ベクトルＶｍと候補ベクトルＶｐとがなす角度に併せて、候補平面Ｒｐからの距離も考慮して適合点Ｐｆを抽出してもよい。この場合、第３処理部１１３は、個別ベクトルＶｍが候補ベクトルＶｐに対して適合角度Ａｔ以下であり、かつ候補平面Ｒｐから所定の適合距離以内である測定点Ｐｍを適合点Ｐｆとして抽出する。この場合でも、第３処理部１１３が用いる評価値は、個別ベクトルＶｍと候補ベクトルＶｐとの角度のみで適合点Ｐｆを抽出する場合と同様でよい。
【００８８】
適合距離は、候補平面Ｒｐからの上限値となる距離の絶対値であり、たとえば、前処理部１１０が用いるボクセルＢ１（図２参照）の一辺の寸法に基づいて設定される。ボクセルＢ１の一辺の寸法が計測装置２０の誤差の数倍程度であるとすれば、適合距離も同程度または少しだけ大きい程度に設定されていればよい。適合距離のみを用いて適合点Ｐｆを抽出した場合には、部屋を横切るような候補平面Ｒｐに対応するクラスタが形成される可能性がある。これに対して、上述した動作例では、適合角度と適合距離とが併用されているから、実空間の平面に対応したクラスタが精度よく形成される。
【００８９】
上述した構成例では、３個の測定点Ｐｍにより候補平面Ｒｐを定めているが、上述したように、立体物の平面に対応する候補平面Ｒｐを定める場合に制約条件があれば、１個の測定点Ｐｍまたは２個の測定点Ｐｍにより候補平面Ｒｐを定めることが可能である。すなわち、天井面あるいは床面となる平面を候補平面Ｒｐに定める場合、水平面であることを制約条件として候補平面Ｒｐを定めることができる。あるいは、壁面となる平面を候補平面Ｒｐに定める場合、鉛直面であることを制約条件として候補平面Ｒｐを定めることができる。
【００９０】
また、上述したように、第５処理部１１５は、第４処理部１１４が１つのクラスタを抽出すると、クラスタを形成している測定点Ｐｍを除外した残留測定点Ｐｍを求め、残留測定点Ｐｍから別のクラスタを抽出させている。そのため、クラスタが抽出されるたびに、処理対象となる測定点Ｐｍの個数が少なくなり処理負荷が軽減される。このことから、処理負荷の小さい処理を先に行って処理対象となる測定点Ｐｍの個数を減らし、測定点Ｐｍの個数が減ってから処理負荷の大きい処理を行うことが望ましいと言える。
【００９１】
たとえば、候補平面Ｒｐが水平面であるとすれば、第２処理部１１２は、測定点Ｐｍを通る水平面を候補平面Ｒｐに定める。候補ベクトルＶｐは、鉛直方向の下向きまたは鉛直方向の上向きである。候補ベクトルＶｐが上向きか下向きかは、計測装置２０に対する測定点の高さにより定めればよい。具体的には、測定部２０１が回転する水平面よりも上の測定点Ｐｍに対応する候補ベクトルＶｐは下向きとすればよい。また、候補平面Ｒｐが水平面であって、測定点Ｐｍの座標値におけるｚ値が等しい候補平面Ｒｐは同じ候補平面Ｒｐを表すから、ｚ値が等しい候補平面Ｒｐは１つを残して除外することができる。
【００９２】
同様にして、鉛直面の候補平面Ｒｐについて、第２処理部１１２は、２個の測定点Ｐｍを通る鉛直面を候補平面Ｒｐに定める。候補ベクトルＶｐは、水平方向に沿っており、２個の測定点Ｐｍを通る直線に対して直交する方向である。候補ベクトルＶｐの向きは、計測装置２０に向かう向きとすればよい。
【００９３】
このように、候補平面Ｒｐが１個の測定点Ｐｍまたは２個の測定点Ｐｍで定まる場合には、３個の測定点Ｐｍで候補平面Ｒｐが定まる場合に比べて、候補平面Ｒｐの設定が容易であり、また候補ベクトルＶｐを定める処理負荷も小さい。そこで、処理部１１は、１個の測定点Ｐｍで候補平面Ｒｐが定まる天井面および床面に対応する適合点Ｐｆのクラスタを形成した後、２個の測定点Ｐｍで候補平面Ｒｐが定まる壁面に対応する適合点Ｐｆのクラスタを形成することが望ましい。天井面、床面、壁面に対応する適合点Ｐｆのクラスタが形成された後に、残されている測定点Ｐｍは、水平面または鉛直面ではない面に対応していると考えられる。そこで、処理部１１は、残されている測定点Ｐｍについては、候補平面を３個の測定点Ｐｍで定める処理を行えばよい。
【００９４】
１個の測定点Ｐｍで候補平面Ｒｐが定まる平面は、少なくとも天井面と床面との２面であるから、処理部１１は１個の測定点Ｐｍで候補平面Ｒｐを定める処理を少なくとも２回繰り返すことが望ましい。また、２個の測定点Ｐｍで候補平面Ｒｐが定まる平面は、４面の壁面であることが多いから、処理部１１は２個の測定点Ｐｍで候補平面Ｒｐを定める処理を４回以上繰り返すことが望ましい。なお、処理部１１は、入力装置２１を通じてそれぞれの処理の繰り返し回数をユーザが設定可能となるように構成されていることが望ましい。
【００９５】
モデリング装置１０は、プログラムを実行するプロセッサを主なハードウェア要素とする。プロセッサは、メモリを別に必要とするＭＰＵ（Micro Processing Unit）、プロセッサとメモリとを一体に備えるマイコン（Micro Controller）、ＦＰＧＡ（Field Programmable Gate Array）などから選択される。メモリは、作業用に用いるＲＡＭ（Random Access Memory）を含み、ＲＯＭ（Read Only Memory）またはＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）を含むことが望ましい。
【００９６】
言い換えると、モデリング装置１０は、コンピュータでプログラムを実行することにより実現される。したがって、モデリング装置１０と設計装置３０とは、個別のコンピュータに分ける必要はなく、共通のコンピュータを用いて実現することが可能である。また、モデリング装置１０と設計装置３０とのうち、少なくともモデリング装置１０は端末装置と通信するサーバで実現されていてもよい。この場合、モデリング装置１０に対して、端末装置が計測データを引き渡し、また端末装置がモデリング装置１０からベクトルデータを受け取る構成であってもよい。
【００９７】
プログラムは、ＲＯＭに格納された状態で提供される。また、プログラムは、光ディスクあるいはメモリカードのような記録媒体に記録された状態で提供されてもよい。あるいは、インターネットのような電気通信回線を通じてプログラムが提供されてもよい。記録媒体に記録された状態で提供されるプログラム、あるいは電気通信回線を通じて提供されるプログラムは、モデリング装置１０が備える不揮発性メモリに書き込まれ、プロセッサで実行可能になる。不揮発性メモリは、たとえば、ＥＥＰＲＯＭである。
【００９８】
ところで、図８のように、３次元モデル作成システム１００は、モデリング装置１０として機能するサーバ４０と、計測装置２０と、計測装置２０からの計測データをサーバ４０に送信する端末装置４１とで構成されていてもよい。すなわち、サーバ４０は、モデリング装置１０として構成されており、処理部４０１とインターフェイス部４０２と計算部４０３と修正部４０４とを備える。
【００９９】
一方、端末装置４１は入力装置４１１および出力装置４１２を備える。また、端末装置４１は、計測装置２０から計測データを受け取る入力インターフェイス部４１３と、サーバ４０との間でインターネットのような電気通信回線４２を通じて通信するための通信インターフェイス部４１４とを備える。入力インターフェイス部４１３を通じて計測装置２０から受け取った計測データは、通信インターフェイス部４１４および電気通信回線４２を通じてサーバ４０に送信される。
【０１００】
サーバ４０におけるインターフェイス部４０２は、端末装置４１と通信し、端末装置４１から計測データを受け取る機能、端末装置４１にベクトルデータを送信する機能を有している。また、インターフェイス部４０２を通じて端末装置４１と通信することにより、端末装置４１に設けられた入力装置４１１からサーバ４０が情報を受け取り、端末装置４１に設けられた出力装置４１２にサーバ４０から情報を受け渡す。
【０１０１】
サーバ４０における処理部４０１、計算部４０３、修正部４０４は、図１に示したモデリング装置１０における処理部１１、計算部１３、修正部１４と同様に機能する。また、端末装置４１における入力装置４１１および出力装置４１２は、図１に示した構成例の入力装置２１および出力装置２２に読み替えればよい。
【０１０２】
図８に示す構成を採用する場合、ユーザは、モデリング装置１０を用意せずに、端末装置４１をモデリング装置１０と同様に操作することができる。また、複数のユーザがサーバ４０を共用することが可能であるから、複数のユーザが個別にモデリング装置１０を導入する場合に比べると、導入費用の増加を抑制することができる。さらに、コンピュータをモデリング装置１０として機能させるためのプログラムは、サーバ４０で実行されるから、プログラムが複製される可能性が低減される。すなわち、モデリング装置１０を、ＳａａＳ（Software As A Service）、あるいはＰａａＳ（Platform As A Service）としてユーザに提供することができる。
【０１０３】
なお、サーバ４０は、１台のコンピュータに限らず、相互に連携するように接続された複数台のコンピュータで構成されていてもよい。また、サーバ４０は、クラウドコンピューティングシステムにより構築されていてもよい。
【０１０４】
本発明に係る立体物のモデリング方法は、以下のステップを有している。第１のステップでは、立体物について計測された複数の測定点Ｐｍそれぞれの計測データを受け取る。第２のステップと第３のステップとの一方では、複数の測定点Ｐｍそれぞれの周囲に存在する複数個の測定点Ｐｍの計測データを用いて定められる小平面Ｒｍの法線ベクトルを、複数の測定点Ｐｍそれぞれの個別ベクトルＶｍとする。第２のステップと第３のステップとの他方では、複数の測定点Ｐｍから選択された少なくとも１個の着目点を通るように計測データを用いて定めた候補平面の法線ベクトルを候補ベクトルＶｐとして求める。また、第４のステップでは、複数の測定点Ｐｍのうち個別ベクトルＶｍが候補平面の候補ベクトルＶｐに対して所定の適合角度Ａｔ内であるすべての測定点Ｐｆを候補平面に対する適合点として求め、かつ適合点に対する評価値を求める。第５のステップでは、着目点が異なる複数の候補平面のうち、適合点が１つの平面上に存在すると推定される候補平面を評価値に基づいて抽出し、この候補平面に対する適合点からなるクラスタを抽出する。第６のステップでは、クラスタを形成する測定点Ｐｆに基づいて実空間の平面を表す数式を求める。
【０１０５】
このモデリング方法によれば、適合点は、候補平面の候補ベクトルＶｐと、測定点Ｐｍの個別ベクトルＶｍとの角度が適合角度Ａｔ内である測定点Ｐｆである。そして、複数の候補平面について求めた適合点について、実空間の平面に対応する可能性が最大である候補平面に対応する適合点でクラスタを形成し、このクラスタを形成する測定点を用いて実空間の平面を表す数式を求めている。したがって、実空間には存在しない向きを持つ候補平面について得られる適合点ではクラスタが形成されることがない。その結果、実空間に存在しない平面に対応する適合点が得られる可能性が低減される。結果的に、実空間に存在する可能性が低い平面に対する適合点に基づいて平面を表す数式が求められる可能性が低減され、実空間に存在する可能性が高い平面についての数式が得られる。
【０１０６】
また、このモデリング方法において、クラスタを形成する測定点をクラスタの形成前の測定点から除外した後の残留測定点の個数が所定の許容値以上か否かを判定するステップをさらに備えことが望ましい。さらに、少なくとも残留測定点から評価値を求めるステップおよびクラスタを抽出するステップが、残留測定点の個数が許容値未満になるまで繰り返される。
【０１０７】
この方法によれば、実空間での平面に対応する測定点のクラスタが形成されるたびに、クラスタに対応した測定点が除外された残留測定点が作成され、残留測定点を用いて次のクラスタが形成される。そのため、１つのクラスタが形成されると、次のクラスタを形成するための処理対象となる測定点の個数が低減され、結果的に処理負荷が軽減される。すなわち、クラスタが形成されるたびに処理負荷が軽減され、複数のクラスタを比較的短い時間で求めることが可能である。
【０１０８】
このモデリング方法において、平面の式に基づいて立体物を表すベクトルデータを作成するステップをさらに備えることが望ましい。
【０１０９】
この方法によれば、平面を表している数式から立体物を表すベクトルデータを作成するので、立体物を表すデータの編集が可能になる。
【０１１０】
このモデリング方法において、以下の手順でクラスタが形成されることが望ましい。すなわち、複数の測定点から選択される１個の着目点を通り水平面に平行に定められる候補平面に対応した適合点からなる第１のクラスタが抽出される。その後、複数の測定点のうち第１のクラスタを除外した残留測定点から選択される２個の着目点を通り鉛直面に平行に定められる候補平面に対応した適合点からなる第２のクラスタが抽出される。さらに、複数の測定点のうち第２のクラスタを除外した残留測定点から選択される３個の着目点を通るように定められる候補平面に対応した適合点からなる第３のクラスタが抽出される。そして、第１のクラスタと第２のクラスタと第３のクラスタとをそれぞれ形成する測定点に基づいて実空間の平面の式が求められる。
【０１１１】
この方法によれば、測定点のクラスタを形成する際に、制約条件が多い平面に対応したクラスタを先に形成することによって残留測定点の個数を減らした上で、制約条件がない平面のクラスタを形成している。そのため、３個の測定点を用いて定める候補平面の個数が低減され、計測されたすべての測定点を対象にして３個ずつの測定点で候補平面を定める場合に比べると、全体としての処理負荷が軽減される。
【０１１２】
評価値は、適合点の個数であり、適合点が１つの平面上に存在すると推定される候補平面は、評価値が最大である候補平面であることが望ましい。すなわち、複数の候補平面のうちで適合点の個数がもっとも多い候補平面に基づいてクラスタが形成されるから、形成されたクラスタが実空間の平面に対応している可能性が高くなる。
【０１１３】
また、適合点に候補平面からの距離が近いほど大きい重みが付与され、評価値は、重みの合計であり、適合点が１つの平面上に存在すると推定される候補平面は、評価値が最大である候補平面であってもよい。
【０１１４】
すなわち、候補ベクトルに対する個別ベクトルの角度だけではなく、候補平面からの距離が条件に用いられる。そして、候補平面からの距離が近い適合点ほど評価値が大きくなるから、適合点の個数だけで評価する場合に比べて、形成されたクラスタが実空間の平面に対応する可能性がさらに高くなる。
【０１１５】
立体物は建造物であって、複数の測定点それぞれの計測データは、建造物に定められた１つの座標系で表されることが望ましい。
【０１１６】
すなわち、建造物から得られる計測データが１つの座標系で表されるから、建築物を構成する複数の平面の相互関係を把握することができる。結果的に、クラスタから求めた平面の集合で建築物を表すことが可能になる。
【０１１７】
上述した立体物のモデリング装置１０は、インターフェイス部１２と、処理部１１と、計算部１３とを備えている。インターフェイス部１２は、立体物について計測された複数の測定点それぞれの計測データを受け取る。処理部１１は、計測データから立体物の平面に対応したクラスタを取り出す。計算部１３は、クラスタを形成する測定点の計測データを用いてクラスタに対応する平面を表す数式を求める。
【０１１８】
処理部１１は、第１処理部１１１と第２処理部１１２と第３処理部１１３と第４処理部１１４とを備える。第１処理部１１１は、複数の測定点Ｐｍそれぞれの周囲に存在する複数個の測定点の計測データを用いて定められる小平面Ｒｍの法線ベクトルを、複数の測定点Ｐｍそれぞれの個別ベクトルＶｍとする。第２処理部１１２は、複数の測定点Ｐｍから選択された少なくとも１個の着目点を通るように計測データを用いて定めた候補平面の法線ベクトルを候補ベクトルＶｐとする。第３処理部１１３は、複数の測定点Ｐｍのうち個別ベクトルＶｍが候補平面の候補ベクトルＶｐに対して所定の適合角度Ａｔ内であるすべての測定点Ｐｆを候補平面に対する適合点として求め、かつ適合点に対する評価値を求める。第４処理部１１４は、着目点が異なる複数の候補平面のうち、適合点が１つの平面上に存在すると推定される候補平面を評価値に基づいて抽出し、この候補平面に対する適合点からなるクラスタを抽出する。
【０１１９】
この構成によれば、適合点は、候補平面の候補ベクトルＶｐと、測定点Ｐｍの個別ベクトルＶｍとの角度が適合角度Ａｔ内である測定点Ｐｆである。そして、複数の候補平面について求めた適合点について、実空間の平面に対応する可能性が最大である候補平面に対応する適合点でクラスタを形成し、このクラスタを形成する測定点Ｐｆを用いて実空間の平面を表す数式を求めている。したがって、実空間には存在しない向きを持つ候補平面について得られる適合点ではクラスタが形成されることがない。その結果、実空間に存在しない平面に対応する適合点が得られる可能性が低減される。結果的に、実空間に存在する可能性が低い平面に対する適合点に基づいて平面を表す数式が求められる可能性が低減され、実空間に存在する可能性が高い平面についての数式が得られる。
【０１２０】
処理部１１は、クラスタを形成する測定点Ｐｆをクラスタの形成前の測定点Ｐｍから除外した後の残留測定点の個数が所定の許容値以上か否かを判定する第５処理部１１５を備えることが望ましい。第５処理部１１５は、少なくとも第３処理部１１３が残留測定点から評価値を求める演算処理および第４処理部１１４がクラスタを抽出する演算処理を、残留測定点の個数が許容値未満になるまで処理部１１に繰り返させる。
【０１２１】
この構成によれば、実空間での平面に対応する測定点のクラスタが形成されるたびに、クラスタに対応した測定点が除外された残留測定点が作成され、残留測定点を用いて次のクラスタが形成される。そのため、１つのクラスタが形成されると、次のクラスタを形成するための処理対象となる測定点の個数が低減され、結果的に処理負荷が軽減される。すなわち、クラスタが形成されるたびに処理負荷が軽減され、複数のクラスタを比較的短い時間で求めることが可能である。
【０１２２】
上述したプログラムは、コンピュータを立体物のモデリング装置１０として機能させるためのものである。したがって、コンピュータでプログラムを実行することにより、上述した機能が、コンピュータで実現される。
【０１２３】
本発明に係るサーバ４０は、立体物について計測された複数の測定点Ｐｍそれぞれの計測データを端末装置４１との通信により端末装置４１から受け取る。そして、サーバ４０は、インターフェイス部４０２と、処理部４０１と、計算部４０３と、修正部４０４とを備えている。インターフェイス部４０２は、計測データを受け取る。処理部４０１は、計測データから立体物の平面に対応したクラスタを取り出す。計算部４０３は、クラスタを形成する測定点の計測データを用いてクラスタに対応する平面を表す数式を求める。修正部４０４は、平面を表す数式を用いて立体物を表すベクトルデータを作成する。サーバ４０は、修正部４０４が作成したベクトルデータを端末装置４１に受け渡すように構成されている。
【０１２４】
処理部４０１は、第１処理部１１１と第２処理部１１２と第３処理部１１３と第４処理部１１４と第５処理部１１５とを備えている。第１処理部１１１は、複数の測定点Ｐｍそれぞれの周囲に存在する複数個の測定点の計測データを用いて定められる小平面Ｒｍの法線ベクトルを、複数の測定点Ｐｍそれぞれの個別ベクトルＶｍとする。第２処理部１１２は、複数の測定点Ｐｍから選択された少なくとも１個の着目点を通るように計測データを用いて定めた候補平面の法線ベクトルを候補ベクトルＶｐとする。第３処理部１１３は、複数の測定点のうち個別ベクトルＶｍが候補平面の候補ベクトルＶｐに対して所定の適合角度Ａｔ内であるすべての測定点Ｐｆを候補平面に対する適合点として求め、かつ適合点に対する評価値を求める。第４処理部１１４は、着目点が異なる複数の候補平面のうち、適合点が１つの平面上に存在すると推定される候補平面を評価値に基づいて抽出し、この候補平面に対する適合点からなるクラスタを抽出する。第５処理部１１５は、クラスタを形成する測定点Ｐｆをクラスタの形成前の測定点Ｐｍから除外した後の残留測定点の個数が所定の許容値以上か否かを判定する。さらに、第５処理部１１５は、少なくとも第３処理部１１３が残留測定点から評価値を求める演算処理および第４処理部１１４がクラスタを抽出する演算処理を、残留測定点の個数が許容値未満になるまで処理部４０１に繰り返させる。
【０１２５】
この構成によれば、端末装置４１がサーバ４０と通信し、端末装置４１が立体物の計測データをサーバ４０に与えることによって、実空間における平面を表す数式がサーバ４０で求められる。さらに、サーバ４０は、平面を表す数式に基づいて、立体物を表すベクトルデータを作成し、このベクトルデータを通信により端末装置４１に受け渡す。したがって、端末装置４１では、立体物の計測データをサーバ４０に送信すると、立体物を表すベクトルデータを受け取ることが可能になる。
【０１２６】
３次元モデル作成システムは、立体物の３次元測定を行う計測装置２０と、立体物のモデリング装置１０とを備える。すなわち、計測装置２０が立体物を計測することにより得られた計測データをモデリング装置１０に引き渡すことによって、モデリング装置１０が立体物に含まれる平面を表す数式を求める。言い換えると、計測装置２０とモデリング装置１０とを合わせた３次元モデル作成システムを用いることによって、立体物の計測を行うだけで、平面を表す数式が得られる。
【０１２７】
この３次元モデル作成システムにおいて、立体物のモデリング装置１０は、平面を表す数式を用いて立体物を表すベクトルデータを作成する修正部１４を備えていることが望ましい。この場合、３次元モデル作成システムは、立体物のモデリング装置１０から出力されるベクトルデータを編集する設計装置３０をさらに備えることが望ましい。すなわち、モデリング装置１０が出力した立体物を表すベクトルデータを、設計装置３０で編集することが可能である。その結果、計測装置２０で実測した計測データから、設計装置３０で編集可能な立体物のベクトルデータを得ることができる。
【０１２８】
なお、上述した実施形態は本発明の一例である。このため、本発明は、上述の実施形態に限定されることはなく、この実施形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることはもちろんのことである。
【符号の説明】
【０１２９】
１０  （立体物の）モデリング装置
１１  処理部
１２  インターフェイス部
１３  計算部
１４  修正部
２０  計測装置
３０  設計装置
４０  サーバ
４１  端末装置
１１１  第１処理部
１１２  第２処理部
１１３  第３処理部
１１４  第４処理部
１１５  第５処理部
Ａｍ  （個別ベクトルと候補ベクトルの）角度
Ａｔ  適合角度
Ｐｍ  測定点、残留測定点
Ｐｆ  適合点
Ｒｍ  小平面
Ｒｐ  候補平面
Ｖｍ  個別ベクトル
Ｖｐ  候補ベクトル
【図１】
2020135763.tif 000003
【図２】
2020135763.tif 000004
【図３】
2020135763.tif 000005
【図４】
2020135763.tif 000006
【図５】
2020135763.tif 000007
【図６】
2020135763.tif 000008
【図７】
2020135763.tif 000009
【図８】
2020135763.tif 000010