(57)【要約】【課題】遮蔽物を除いたモデルの生成を可能にし、かつ平面式を求める際に不要な測定点を除外可能にする。【解決手段】  モデリング装置１０は、取得部１１と面抽出部１２と頂点抽出部１３とモデル化部１４と色抽出部１２３とを備える。取得部１１は、計測装置２０から立体物３０に属する測定点の３次元の座標値を第１のデータとして取得し、立体物３０を撮像した画像の画素の値を測定点ごとに対応付けた第２のデータを計測装置２０から取得する。色抽出部１２３は、取得部１１が取得した第２のデータのうち所定の色情報を持つ測定点を除外する。面抽出部１２は、面３に属する測定点に関する第１のデータを用いて面３を表す平面式を生成する。頂点抽出部１３は、隣接する複数面が共有する頂点として抽出する。モデル化部１４は、平面式と頂点とを用いて立体物３０を表すモデルの情報を生成する。【選択図】図１
2015165420.tif 000002
【特許請求の範囲】
【請求項１】
複数の面を備える立体物の３次元計測を行う計測装置から、前記立体物に属する複数個の測定点に関する３次元の座標値を第１のデータとして取得する取得部と、
前記面ごとに、前記面に属する前記測定点に関する前記第１のデータを用いて前記面を表す平面式を生成する面抽出部と、
前記面のうち隣接する複数面をそれぞれ表す前記平面式を同時に満たす点を算出することにより、前記点を前記複数面が共有する頂点として抽出する頂点抽出部と、
前記平面式と前記頂点とを用いて前記立体物を表すモデルの情報を生成するモデル化部とを備え、
前記計測装置は、前記立体物を撮像した画像の画素の値を前記測定点ごとに対応付けた第２のデータを出力する機能を有し、前記第２のデータは色情報を含み、
前記取得部は、前記第２のデータを前記計測装置から取得する機能を有し、
前記取得部が取得した前記第２のデータのうち所定の色情報を持つ測定点を除外する色抽出部をさらに備える
ことを特徴とするモデリング装置。
【請求項２】
前記立体物は、床面と天井面と複数の壁面とに囲まれた部屋であって、
前記面抽出部は、前記床面と前記天井面と前記壁面とをそれぞれ表す平面式を生成し、
前記頂点抽出部は、前記床面と前記天井面と前記壁面とのうち隣接する３面が共有する頂点をそれぞれ抽出し、
前記モデル化部は、前記床面と前記天井面と前記壁面とのうち隣接する２面が共有する境界線を定める
請求項１記載のモデリング装置。
【請求項３】
前記頂点抽出部は、前記面を３枚ずつ組み合わせて前記平面式からなる連立方程式の解を求めることにより前記面を共通にする頂点に関する３次元の座標値を算出するように構成され、
前記頂点抽出部が抽出した前記頂点のそれぞれについて、当該頂点を共有する前記面のうちの少なくとも１面に前記測定点が存在しない場合に、当該頂点を除外する検証部をさらに備える
請求項１又は２記載のモデリング装置。
【請求項４】
前記第１のデータは、前記床面に直交する方向を１つの座標軸とする直交座標系の座標値であって、
前記面抽出部は、前記座標軸に沿って分割された区間ごとに前記測定点が出現する度数を求め、前記区間のうち前記度数が所定の基準値を超え、かつ前記区間が前記床面の条件を満たす場合に、当該区間に含まれる前記測定点を前記床面に属すると判断する
請求項２記載のモデリング装置。
【請求項５】
前記部屋は、前記床面と前記天井面とが平行する構造であって、
前記面抽出部は、前記区間のうち前記度数が所定の基準値を超え、かつ前記区間が前記床面の条件を満たす区間よりも上方であって前記天井面の条件を満たす場合に、当該区間に含まれる前記測定点を前記天井面に属すると判断する
請求項４記載のモデリング装置。
【請求項６】
前記面抽出部は、
一つの面に属する３個の測定点の座標値を用いた第１の計算により得られる平面式で定められる平面を候補面とし、さらに、候補面から所定の距離範囲に存在する４個以上の測定点を用いた第２の計算で平面を定める再計算を行うことにより平面式を決定する
ことを特徴とする請求項１〜５のいずれか１項に記載のモデリング装置。
【請求項７】
前記第２の計算は、
前記候補面から前記所定の距離範囲に存在する測定点を用いて最小二乗法で平面式を定める計算と、
前記候補面から前記所定の距離範囲に存在する測定点を用い、前記候補面からの距離に応じた重み係数を当該測定点に適用した後に、最小二乗法で平面式を定めるロバスト推定による計算と、
前記候補面から前記所定の距離範囲に存在する測定点を用い、３個ずつの測定点を用いて複数の平面式を求め、前記複数の平面式の平均により平面式を定める計算と、
から選択される
請求項６記載のモデリング装置。
【請求項８】
請求項１〜７のいずれか１項に記載のモデリング装置と、
前記計測装置とを備える
ことを特徴とする３次元モデル生成装置。
【請求項９】
複数の面を備える立体物の３次元計測を行う計測装置から、前記立体物に属する複数個の測定点に関する３次元の座標値を第１のデータとして取得部が取得し、
次に、前記面ごとに、前記面に属する前記測定点に関する前記第１のデータを用いて前記面を表す平面式を面抽出部が生成し、
その後、前記面のうち隣接する複数面をそれぞれ表す前記平面式を同時に満たす点を算出することにより、前記点を前記複数面が共有する頂点として頂点抽出部が抽出し、
前記平面式と前記頂点とを用いて前記立体物を表したモデルの情報をモデル化部が生成し、
前記計測装置は、前記立体物を撮像した画像の画素の値を前記測定点ごとに対応付けた第２のデータを出力する機能を有し、前記第２のデータは色情報を含み、
前記取得部は、前記第２のデータを前記計測装置から取得する機能を有し、
前記取得部が取得した前記第２のデータのうち所定の色情報を持つ測定点を色抽出部が除外する
ことを特徴とするモデリング方法。
【請求項１０】
コンピュータを、取得部と面抽出部と頂点抽出部とモデル化部と色抽出部とを備えるモデリング装置として機能させるためのプログラムであって、
前記取得部は、複数の面を備える立体物の３次元計測を行う計測装置から、前記立体物に属する複数個の測定点に関する３次元の座標値を第１のデータとして取得し、
前記面抽出部は、前記面ごとに、前記面に属する前記測定点に関する前記第１のデータを用いて前記面を表す平面式を生成し、
前記頂点抽出部は、前記面のうち隣接する複数面をそれぞれ表す前記平面式を同時に満たす点を算出することにより、前記点を前記複数面が共有する頂点として抽出し、
前記モデル化部は、前記平面式と前記頂点とを用いて前記立体物を表したモデルの情報を生成し、
前記計測装置は、前記立体物を撮像した画像の画素の値を前記測定点ごとに対応付けた第２のデータを出力する機能を有し、前記第２のデータは色情報を含み、前記取得部は、前記第２のデータを前記計測装置から取得する機能を有し、
前記色抽出部は、前記取得部が取得した前記第２のデータのうち所定の色情報を持つ測定点を除外する
ことを特徴とするプログラム。
【請求項１１】
請求項１〜７のいずれか１項に記載したモデリング装置が生成した前記モデルの情報を用いて前記立体物のコンピュータグラフィックスである仮想空間をモニタ装置の画面に表示させる表示制御部と、
前記仮想空間の所望位置に３次元の情報を持つ立体的な物品を配置する物品配置部と、
前記仮想空間において前記面にテクスチャの情報を貼り付ける質感表現部と、
前記物品および前記テクスチャの位置を含む属性を調節する属性調節部とを備える
ことを特徴とするレイアウトシミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、立体物の３次元計測を行った測定結果を用いて立体物のモデルを生成するモデリング装置に関する。さらに、本発明は、実空間における立体物のモデルを生成する３次元モデル生成装置、立体物のモデルを生成するモデリング方法、モデリング装置を実現するプログラム、モデリング装置を用いたレイアウトシミュレータに関する。
【背景技術】
【０００２】
従来、対象空間の３次元モデルを作成する技術が、たとえば特許文献１に提案されている。特許文献１に記載された技術は、対象空間に格子状の光を投影し、投影像を撮像することにより、投影像における格子の交点の位置関係を用いて平面の位置および傾きを求めている。
【０００３】
特許文献１は、平面の位置および傾きから、平面の隣接関係を、折れ目、段差境界、面内境界に分類し、面の境界を計算して交線を求め、室内の構造線を計算している。すなわち、特許文献１に記載された構成は、対象空間にすでに配置された物体を含めた室内の構造線を抽出するために、折れ目、段差境界、面内境界を抽出している。
【０００４】
特許文献１には、このように構造線を抽出することにより、小さい障害物で遮られて画像からは検出できないような構造線も復元することが記載されている。
【０００５】
室内においてクロスの張り替えを行う場合、断熱材を施工する場合などでは、室内に配置された物体を除去した計測が必要になる場合もある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−１３３１８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１には、ノイズや小さい障害物などにより領域の一部が欠けている場合でも、構造線を安定に復元させることができるという内容の記載がある。しかしながら、特許文献１に記載された技術は、机のような大きな物体は、３次元モデルの構成要素とする技術であり、クロスの張り替えや断熱材の施工を行うことを目的として、室内に配置された物体を除去した立体物のモデルを生成することはできない。
【０００８】
本発明は、立体物の一部が比較的大きい物体に遮られることにより、計測装置では計測できない領域が存在する場合でも、立体物のモデルを生成することを可能にしたモデリング装置を提供することを目的とする。さらに、実空間における立体物のモデルを生成する３次元モデル生成装置、立体物のモデルを生成するモデリング方法、モデリング装置を実現するプログラム、モデリング装置を用いたレイアウトシミュレータを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るモデリング装置は、複数の面を備える立体物の３次元計測を行う計測装置から、前記立体物に属する複数個の測定点に関する３次元の座標値を第１のデータとして取得する取得部と、前記面ごとに、前記面に属する前記測定点に関する前記第１のデータを用いて前記面を表す平面式を生成する面抽出部と、前記面のうち隣接する複数面をそれぞれ表す前記平面式を同時に満たす点を算出することにより、前記点を前記複数面が共有する頂点として抽出する頂点抽出部と、前記平面式と前記頂点とを用いて前記立体物を表すモデルの情報を生成するモデル化部とを備え、前記計測装置は、前記立体物を撮像した画像の画素の値を前記測定点ごとに対応付けた第２のデータを出力する機能を有し、前記第２のデータは色情報を含み、前記取得部は、前記第２のデータを前記計測装置から取得する機能を有し、前記取得部が取得した前記第２のデータのうち所定の色情報を持つ測定点を除外する色抽出部をさらに備えることを特徴とする。
【００１０】
本発明に係る３次元モデル生成装置は、モデリング装置と、前記計測装置とを備えることを特徴とする。
【００１１】
本発明に係るモデリング方法は、複数の面を備える立体物の３次元計測を行う計測装置から、前記立体物に属する複数個の測定点に関する３次元の座標値を第１のデータとして取得部が取得し、次に、前記面ごとに、前記面に属する前記測定点に関する前記第１のデータを用いて前記面を表す平面式を面抽出部が生成し、その後、前記面のうち隣接する複数面をそれぞれ表す前記平面式を同時に満たす点を算出することにより、前記点を前記複数面が共有する頂点として頂点抽出部が抽出し、前記平面式と前記頂点とを用いて前記立体物を表したモデルの情報をモデル化部が生成し、前記計測装置は、前記立体物を撮像した画像の画素の値を前記測定点ごとに対応付けた第２のデータを出力する機能を有し、前記第２のデータは色情報を含み、前記取得部は、前記第２のデータを前記計測装置から取得する機能を有し、前記取得部が取得した前記第２のデータのうち所定の色情報を持つ測定点を色抽出部が除外することを特徴とする。
【００１２】
本発明に係るプログラムは、コンピュータを、取得部と面抽出部と頂点抽出部とモデル化部と色抽出部とを備えるモデリング装置として機能させるためのプログラムであって、前記取得部は、複数の面を備える立体物の３次元計測を行う計測装置から、前記立体物に属する複数個の測定点に関する３次元の座標値を第１のデータとして取得し、前記面抽出部は、前記面ごとに、前記面に属する前記測定点に関する前記第１のデータを用いて前記面を表す平面式を生成し、前記頂点抽出部は、前記面のうち隣接する複数面をそれぞれ表す前記平面式を同時に満たす点を算出することにより、前記点を前記複数面が共有する頂点として抽出し、前記モデル化部は、前記平面式と前記頂点とを用いて前記立体物を表したモデルの情報を生成し、前記計測装置は、前記立体物を撮像した画像の画素の値を前記測定点ごとに対応付けた第２のデータを出力する機能を有し、前記第２のデータは色情報を含み、前記取得部は、前記第２のデータを前記計測装置から取得する機能を有し、前記色抽出部は、前記取得部が取得した前記第２のデータのうち所定の色情報を持つ測定点を除外する。
【００１３】
本発明に係るレイアウトシミュレータは、上述したモデリング装置が生成した前記モデルの情報を用いて前記立体物のコンピュータグラフィックスである仮想空間をモニタ装置の画面に表示させる表示制御部と、前記仮想空間の所望位置に３次元の情報を持つ立体的な物品を配置する物品配置部と、前記仮想空間において前記面にテクスチャの情報を貼り付ける質感表現部と、前記物品および前記テクスチャの位置を含む属性を調節する属性調節部とを備えることを特徴とする。
【発明の効果】
【００１４】
本発明の構成によれば、複数の面を備える立体物について複数個の測定点における３次元の座標値を取得し、座標値を用いて面ごとに面を表す平面式を生成し、平面式を用いた計算により面のうち隣接する複数面が共有する頂点を抽出し、頂点を結ぶ境界線の集合としてモデルを生成している。そのため、立体物の一部が比較的大きい物体に遮られて、計測装置では計測できない領域が存在していても、平面式の計算により頂点の位置が推定され、結果的に、計測できない領域を補った立体物のモデルを生成することが可能になるという利点がある。
【図面の簡単な説明】
【００１５】
【図１】実施形態を示すブロック図である。
【図２】実施形態の動作例の概念を説明する図である。
【図３】実施形態の計測対象である立体物の例を示す斜視図である。
【図４】実施形態において計測装置で生成される画像の例を示す図である。
【図５】実施形態において一部の面を自動的に抽出する原理を説明する図である。
【図６】実施形態における立体物の例を示す斜視図である。
【図７】実施形態において頂点を検証する原理を説明する図である。
【図８】レイアウトシミュレータの構成例を示すブロック図である。
【図９】実施形態における仮想空間の例を示す斜視図である。
【発明を実施するための形態】
【００１６】
図１に示すように、以下に説明する３次元モデル生成装置１は、複数の面３（図２参照）を備える立体物３０（図２参照）の３次元計測を行う計測装置２０と、立体物３０のモデルの情報を生成するモデリング装置１０とを備える。
【００１７】
本実施形態は、図３に示すように、複数の面３を備える立体物３０として建物の内部に設けられた部屋を想定している。すなわち、本実施形態は、部屋の内面に着目する。ただし、立体物３０は建物の内外のどちらであってもよく、また建物以外の立体物３０であっても、以下に説明する技術は適用可能である。
【００１８】
図１において、３次元計測を行う計測装置２０は、いわゆる３Ｄレーザスキャナである。３Ｄレーザスキャナは、ビーム状のパルスレーザを立体的に走査し、パルスレーザを照射した部位の３次元の座標値を出力するように構成されている。３次元の座標値を求めるために、計測装置２０は、時間経過に伴って強度が周期的に変化する強度変調光を投光し、強度変調光を投光した空間からの反射光を受光する。そして、計測装置２０は、投光時と受光時との強度変調光の位相差を検出し、この位相差から強度変調光の飛行時間を求めるように構成されている。以下、パルスレーザを単にレーザという。
【００１９】
本実施形態で用いる３Ｄレーザスキャナは、設置された面と平行な面内で回転する測定部（図示せず）を備える。また、測定部は、回転したそれぞれの位置において、設置された面に直交する面内でレーザを走査（スキャン）するように構成されている。
【００２０】
３Ｄレーザスキャナが床面に設置されている場合、３Ｄレーザスキャナは、測定部が床面に平行な面内で回転する間に、床面の一部を除く部屋の全範囲にレーザを照射する。したがって、レーザは、測定部を中心として様々な向きに照射される。すなわち、ビーム状のレーザが立体的に走査される。ただし、レーザが照射される向きとして、測定部を支持する部材に向かう向きは除外される。したがって、測定部は、床面において３Ｄレーザスキャナが設置されている部位の周囲にはレーザを照射しない。
【００２１】
３Ｄレーザスキャナは、照射したレーザが立体物３０で反射して計測装置２０に返ってくるまでの位相差を計測する。３Ｄレーザスキャナは、計測した位相差を、立体物３０においてレーザを反射した部位までの距離に換算する。さらに、３Ｄレーザスキャナは、レーザを照射した向きと、レーザを反射した部位までの距離とによって、立体物３０においてレーザが照射された位置を特定する。レーザを照射した向きとレーザを反射した部位までの距離とによって特定された位置は極座標（すなわち、球座標）系の座標値で表される。
【００２２】
計測装置２０は、立体物３０において、レーザが照射された位置ごとに座標値を出力する。すなわち、立体物３０に関する座標値は離散的に得られる。以下では、座標値が得られる位置を「測定点」と呼ぶ。また、計測装置２０から出力される３次元の座標値に関するデータを第１のデータと呼ぶ。上述した動作では、計測装置２０は、パルスレーザを投光し、立体物３０などにおいてパルスレーザを反射した部位を測定点として、測定点の３次元の座標値を出力する。
【００２３】
測定点は、極座標系の座標値で表されているから、近距離ほど密度が高くなり、遠距離ほど密度が低くなる。ここで、２次元の平面に正方格子を設定し、この正方格子の格子点をそれぞれ測定点に対応させると、隣接する測定点の間隔は、近距離の測定点では広がり、遠距離の測定点では狭まる。
【００２４】
さらに計測装置２０は、３次元計測を行うだけではなく、立体物３０を撮像する機能を備えている。そのため、計測装置２０は、ＣＣＤイメージセンサあるいはＣＭＯＳイメージセンサのような固体撮像素子と、固体撮像素子の前方に配置された広角の光学系とを備える。計測装置２０は、たとえば、設置面と平行な面内で測定部を２周させ、１周目ではレーザを用いて立体物３０に関する３次元の座標値を求め、２周目では立体物３０を撮像するように構成される。
【００２５】
計測装置２０が広角の光学系を備えているから、被写界深度が深くなり、立体物３０までの距離が変化しても光学系の焦点を調節することなくピントの合った像が得られる。ただし、第１のデータと同じ範囲を１つの画像に納めることはできないから、計測装置２０は、測定部が移動する期間に複数枚（たとえば、１００枚程度）の画像を撮像し、撮像した複数枚の画像をつなぎ合わせる。
【００２６】
撮像された画像は、モノクロの濃淡画像であってもよいが、以下では、カラー画像であって、たとえば、赤、緑、青の各色の輝度のデータを出力する場合を想定している。以下では、カラー画像のデータを色情報と呼ぶ。また、計測装置２０から出力される画像のデータを第２のデータと呼ぶ。第１のデータと第２のデータとを出力可能な計測装置２０としては、上述した３Ｄレーザスキャナのほかに、キネクト（登録商標）などが知られている。
【００２７】
計測装置２０は、カラー画像における画素の値である第２のデータを、第１のデータに対応付ける機能を有している。言い換えると、計測装置２０は、測定点ごとに色情報を対応付ける機能を有している。計測装置２０は、測定部からレーザを照射する向きと、カラー画像を撮像する際の視野とを用いて、カラー画像において測定点に対応する画素を抽出し、その画素の色情報を測定点の座標値に対応付ける。
【００２８】
このようにして得られた画像は、たとえば、図４のように歪んだ画像になる。このような歪んだ画像になるのは、上述したように、測定点を２次元の平面に展開していることにより、隣接する測定点の間隔が、近距離の測定点では広がり、遠距離の測定点では狭まるからである。
【００２９】
上述のように、計測装置２０は、立体物３０の３次元形状に関する第１のデータと、立体物３０の色情報に関する第２のデータとを生成する。また、上述のように、第２のデータは、第１データである測定点の３次元の座標値と対応付けられる。つまり、図４に示す２次元の画像を構成する画素は、測定点に一対一に対応し、３次元の座標値の情報と色情報とを持つことになる。言い換えると、カラー画像の特定の画素を選択すると、測定点を選択したことと等価であり、当該画素に対応した第１のデータが抽出される。
【００３０】
なお、計測装置２０は、ビーム状のパルスレーザを照射する構成に限定されず、線状、縞状、格子状などのパターンを投影する構成を採用してもよい。計測装置２０は、強度変調光の反射光をエリアイメージセンサで受光し、エリアイメージセンサの出力から画素の値が距離値である距離画像を生成する距離画像センサであってもよい。また、計測装置２０は、強度変調光を用いずに投光から受光までの飛行時間を計測してもよい。あるいは、飛行時間を計測するのではなく、ステレオ画像法のような三角測量法の原理を用いる構成などを採用してもよい。
【００３１】
また、計測装置２０が第１のデータをステレオ画像法で計測する構成である場合、第１のデータを計算するための濃淡画像あるいはカラー画像から得られた画素の値を第２のデータに用いることが可能である。計測装置２０が強度変調光を用いて計測する構成である場合、反射光の受光強度に応じた濃淡画像を第２のデータに用いることが可能である。この構成では、反射光の受光強度が、強度変調光の１周期または複数周期にわたって積算されることにより、時間経過に伴う反射光の強度の変化が除去される。
【００３２】
なお、計測装置２０は、第１のデータのみを出力する構成であってもよい。また、計測装置２０は、極座標系の座標値を、計測装置２０に定めた直交座標系の座標値に換算する機能を有していてもよい。計測装置２０の座標系は、立体物３０の配置に依存することなく設定される。たとえば、ｚ軸が鉛直方向に定められ、基準点が海抜０ｍに定められる。あるいは、計測装置２０を設置した平面がｘｙ平面に定められる構成でもよい。
【００３３】
ここに、計測装置２０がレーザの飛行時間に基づいて求めた測定点の座標値を出力するだけではなく、レーザの受光強度を併せて出力するように構成されていれば、測定点の座標値を第１データとし、レーザの受光強度を第２データとして用いることも可能である。レーザの受光強度は、レーザが照射された部位におけるレーザの吸収率、拡散性、距離などに依存するが、レーザの受光強度を画素の値とする画像を生成すると、濃淡画像に類似したグレースケールの画像が生成される。すなわち、計測装置２０がレーザの受光強度の情報を出力する場合、この情報を第２のデータとして用いることが可能である。
【００３４】
第１のデータと第２のデータとを対応付ける処理は、計測装置２０ではなく、後述するモデリング装置１０が行ってもよい。また、モデリング装置１０は、極座標系の座標値を直交座標系の座標値に変換する機能を有していてもよい。要するに、第１のデータと第２のデータとを対応付ける処理と、極座標系から直交座標系への座標変換の処理とは、計測装置２０とモデリング装置１０とのどちらで行ってもよい。以下では、立体物３０に関して、直交座標系の座標値が得られた後の処理を説明する。
【００３５】
なお、計測装置２０がレーザの受光強度の情報を出力し、この情報を第２のデータとして用いる場合、座標値を取得する際のレーザの情報で受光強度の情報も取得可能である。そのため、第２のデータを別途に取得する必要がなく、第１のデータと第２のデータとの対応付けが不要になる。
【００３６】
本実施形態において、立体物３０は部屋であるから、立体物３０は、図３に示すように、床面３１と天井面３２と壁面３３とを備える。したがって、計測装置２０は、立体物３０の内側空間に関する第１のデータおよび第２のデータを出力する。なお、第１データは直交座標系の座標値で表され、第２データは第１データの測定点に対応付けられていると仮定する。以下、床面３１と天井面３２と壁面３３とを区別しない場合には、単に面３と記載する。天井面３２は、床面３１と平行ではない場合もあるが、ここでは、天井面３２が床面３１と平行である場合を想定する。
【００３７】
計測装置２０の視野（計測範囲）は比較的広いが、計測を１回行うだけでは、立体物３０について内側空間の全体を計測することはできない。もちろん、計測の目的によっては、立体物３０の内側空間のうちの着目する一部のみを計測すればよいことがあり、この場合は、計測を１回行うだけでも目的を達成できる場合がある。
【００３８】
一方、本実施形態は、立体物３０について内側空間の全体を計測することを想定している。そのため、計測装置２０は、配置および向きを変えて計測を複数回行う。計測装置２０の機能については詳述しないが、計測装置２０は、複数回の計測により得られた第１のデータおよび第２のデータを、測定点の属性に基づいて重複なくつなぎ合わせる機能を有している。したがって、複数回の計測において、計測装置２０を適正に配置すれば、計測装置２０から出力される第１のデータおよび第２のデータは、立体物３０の全面に関する情報を含むことになる。
【００３９】
モデリング装置１０は、計測装置２０から取得したデータを用いて立体物３０のモデルを生成する。立体物３０のモデルは、たとえばワイヤフレームモデルが用いられる。ワイヤフレームモデルは、立体物３０の表面形状を表すために、立体物３０の表面上の点を線分で結んだデータ構造のモデルである。ただし、モデルは、サーフェイスモデルなどであってもよい。モデリング装置１０は、モデルを用いて、立体物３０に関する各種情報を抽出する機能を備えていてもよい。また、モデリング装置１０に、立体物３０のコンピュータグラフィックスである仮想空間における面３の表面属性を変化させる機能、仮想空間に物品３４を配置する機能などが付加されると、レイアウトシミュレータとして機能させることも可能である。これらの構成については後述する。
【００４０】
モデリング装置１０の機能を実現するために、モデリング装置１０は、プログラムに従って動作するコンピュータを用いて構成される。コンピュータは、入力装置１８としてキーボード、ポインティングデバイスを備え、出力装置１７としてディスプレイ装置を備えることが望ましい。また、コンピュータは、入力装置１８としてのタッチパネルが出力装置１７であるディスプレイ装置と一体化されたタブレット端末あるいはスマートフォンなどでもよい。
【００４１】
また、これらの汎用のコンピュータではなく、コンピュータは、専用に設計されていてもよい。さらに、コンピュータは、コンピュータサーバ、あるいはクラウドコンピューティングシステムであってもよい。利用者は、コンピュータサーバあるいはクラウドコンピューティングシステムとの通信が可能な端末装置を用いて、以下に説明する機能を享受するようにしてもよい。
【００４２】
プログラムは、コンピュータで読み取り可能な記録媒体により提供されるか、インターネットのような電気通信回線を通して提供される。このプログラムは、コンピュータを以下の機能を備えたモデリング装置１０として機能させる。
【００４３】
モデリング装置１０は、図１のように、計測装置２０から第１のデータおよび第２のデータを取得する取得部１１を備える。取得部１１は、第２のデータを取得することが望ましいが、第１のデータのみを取得するように構成されていてもよい。モデリング装置１０は、取得部１１が取得した立体物３０に関する第１のデータを用いて立体物３０のモデルを生成するモデル化部１４を備える。
【００４４】
ここに、立体物３０は部屋であるから、面３の一部は、計測装置２０から見て家具、設備などの背後に隠れている場合があり、隠れている部位については計測することができない。そのため、本実施形態のモデリング装置１０は、面３の一部を計測することにより得られる情報と、面３に関する知識（すなわち、規則ないし法則）とを用いて、面３の全体形状を推定し、面３の全体形状から立体物３０の全体形状を推定する。
【００４５】
面３に関する知識は、面３の形状に関する知識と、異なる面３の配置に関する知識とを含む。面３の形状に関しては、「建物の部屋は平面の集合で囲まれている」という知識を用いる。面３が平面ではない場合、面は比較的簡単な曲面（断面Ｕ字状、半球状など）を用いることが可能であるが、本実施形態では、面３が平面である場合を想定する。異なる面３の配置に関しては、「隣接する面３の境界線は、隣接する面３の交線に含まれる」という知識を用いる。さらに、面３が平面であるから、「境界線の一端である頂点は、３枚の面３に共有される」という知識が用いられる。
【００４６】
これらの知識から、立体物３０のモデルは、立体物３０を構成するそれぞれの平面の角に相当する頂点と、２つの頂点を結ぶ線分とによって表されることがわかる。立体物３０のモデルを生成するには、計測装置２０から出力された第１のデータあるいは第２のデータを用いて面３が特定されなければならない。すなわち、モデリング装置１０は、面３を特定し、かつ特定した面３に属する複数個（３個以上）の測定点における第１のデータを用いて、特定した面３を表す数式を生成する面抽出部１２を備える。本実施形態では、面３は平面を想定しており、面３を表す数式は後述するように平面式になる。
【００４７】
また、モデリング装置１０は、面抽出部１２が生成した数式を用いて３枚の面３が共有する頂点を抽出する頂点抽出部１３を備える。モデリング装置１０に設けられたモデル化部１４は、面抽出部１２が生成した数式と、頂点抽出部１３が抽出した頂点とを用いて立体物３０を表すモデルの情報を生成する。モデル化部１４は、面抽出部１２が生成した数式を用いて隣接する２枚の面３が共有する交線を２枚の面３の境界線として抽出する。すなわち、モデル化部１４は、２枚の面３が共有する交線上の２つの頂点を端点とし、２つの端点に挟まれた線分を２枚の面３の境界線とする。
【００４８】
この場合、モデル化部１４は、境界線の集合で表されるモデルの情報を生成する。つまり、モデル化部１４は、モデルの各頂点の座標値、および各頂点を端点とする境界線を対応付けたワイヤフレームモデルを記憶する。モデル化部１４は、頂点と境界線とで表されるワイヤフレームモデルを生成するほか、面３を表す数式と、それぞれの面３に含まれる頂点とを用いて立体物３０のモデルを表す構成であってもよい。
【００４９】
ディスプレイ装置の画面に描画を行うプログラムに、モデル化部１４が記憶した情報を引き渡すと、ディスプレイ装置の画面に、立体物３０のモデルが描画される。モデルは、３次元の座標値を用いて形成されるから、立体物３０のコンピュータグラフィックスによる仮想空間が形成される。
【００５０】
ところで、面抽出部１２は、入力装置１８を用いてすべての面３を利用者が特定する構成と、第１のデータの属性に着目し、床面３１または天井面３２のような少なくとも一部の面３を自動的に特定する構成との少なくとも一方が採用される。
【００５１】
利用者が面３を特定する構成は、第２のデータにより形成されるカラー画像を出力装置１７であるディスプレイ装置に表示する機能と、カラー画像において入力装置１８で指定された領域を面３が存在する領域として認識する機能とにより実現される。
【００５２】
ただし、出力装置１７の画面に表示されるカラー画像は、上述したように歪みが比較的大きい画像になる（図４参照）。このような画像では、面３の境界線に傾きや歪みが生じ、未熟者にとって面３を見分けることは容易ではない。本実施形態では、出力装置１７の画面にカラー画像を表示している。したがって、利用者は、面３の色情報を面３の種類を識別する判断材料に用い、面３を比較的容易に見分けることが可能になる。
【００５３】
出力装置１７の画面に立体物３０の全体を示すカラー画像が表示されている状態で、入力装置１８は、カラー画像における所望の領域を指定することが可能になる。利用者が面３を指定する際、適宜形状の選択枠を出力装置１７の画面に表示し、指定しようとする面３の範囲内に選択枠が含まれるように選択枠を移動させることが望ましい。選択枠は、種々の形状が考えられるが、四角形、三角形、楕円形などの単純な形状を用いることが望ましい。
【００５４】
上述のように、利用者が入力装置１８を用いて面３の範囲内に選択枠を設定することにより、出力装置１７に表示された画像に対して、面３に属する測定点の抽出範囲が選択枠によって対話的に入力される。つまり、利用者は、出力装置１７の画面に表示されている画像を見て、入力装置１８を操作することにより、部屋を囲むすべての面３（床面３１、天井面３２、個々の壁面３３）に対して選択枠を設定する。
【００５５】
面抽出部１２は、選択枠の範囲内で選択枠の輪郭との相対位置があらかじめ定められている３個の測定点について第１のデータを抽出する。第１のデータは、３次元の座標値であるから、同一平面に含まれる３個の座標値が得られることによって、選択枠で設定された３個の測定点を通る平面の式が一意に決定される。要するに、３個の測定点を含む平面を表す数式が求められる。
【００５６】
なお、面抽出部１２が用いる３個の測定点を定める際には、必ずしも選択枠を設定しなくてもよい。たとえば、入力装置１８として、マウスあるいはタッチペンのようなポインティングデバイスを用いる場合、入力装置１８を用いて３個以上の測定点を順に選択してもよい。
【００５７】
面３を表す数式は、ａｘ＋ｂｙ＋ｃｚ＋ｄ＝０で表される平面式が用いられる。面抽出部１２が１つの面３を定めるために抽出する３個の測定点Ａ、Ｂ、Ｃの座標値を、（Ａｘ，Ａｙ，Ａｚ）、（Ｂｘ，Ｂｙ，Ｂｚ）、（Ｃｘ，Ｃｙ，Ｃｚ）とすると、上述した平面式のパラメータａ、ｂ、ｃ、ｄは、次のように定められる。ａ＝（Ｂｙ−Ａｙ）（Ｃｚ−Ａｚ）−（Ｃｙ−Ａｙ）（Ｂｚ−Ａｚ）、ｂ＝（Ｂｚ−Ａｚ）（Ｃｘ−Ａｘ）−（Ｃｚ−Ａｚ）（Ｂｘ−Ａｘ）、ｃ＝（Ｂｘ−Ａｘ）（Ｃｙ−Ａｙ）−（Ｃｘ−Ａｘ）（Ｂｙ−Ａｙ）、ｄ＝−（Ａｘ＋ｂＡｙ＋ｃＡｚ）。
【００５８】
面抽出部１２が抽出した３個の測定点Ａ、Ｂ、Ｃの座標値を用いると、上述の計算によって平面式が求められるが、座標値には測定誤差が含まれている可能性がある。そこで、面抽出部１２が抽出した３個の測定点Ａ、Ｂ、Ｃの座標値ではなく、測定点Ａ、Ｂ、Ｃごとに、周囲の所定範囲に含まれる測定点の座標値を求め、求めた座標値の中央値（メジアン）あるいは平均値を、数式を求めるための座標値に用いることが望ましい。
【００５９】
さらに、得られた平面式で定められる平面を候補面とし、候補面から所定の距離範囲内に存在する測定点を用いて面３の数式を決定すると、さらに精度よく面３の数式を定めることができる。面３の数式を決定するために用いられる測定点の存在範囲は、候補面からの距離が±１０ｍｍ以下の範囲内に設定され、望ましくは、±数ｍｍ以下に設定される。面３の数式を決定するために用いられる測定点は、取得部１１が取得したすべての測定点を母集合として、この母集合のうち候補面から所定距離の範囲内に存在する測定点を用いる。ただし、取得部１１が取得したすべての測定点を母集合にすると、誤差の原因になる測定点が含まれやすくなるから、上述した選択枠の内側に存在する測定点のみを母集合に用いてもよい。
【００６０】
ここで、面抽出部１２は、面３の数式を求めるために、母集合から抽出された測定点に当て嵌まる平面式のパラメータａ、ｂ、ｃ、ｄを、ロバスト推定によって求める。ロバスト推定は、最小二乗法によって数式を決定する際に、残差の大きい異常値の影響による結果の大きいずれを抑制するために採用されている。ここでは、ロバスト推定の方法として、Turkeyのバイウェイト法が採用される。
【００６１】
すなわち、面３の数式を求める場合、残差が所定値以下である測定点に残差が所定値を超える測定点よりも大きい重み係数を適用した後に、最小二乗法で平面式を決定する。重み係数は、たとえば２（つまり、他の測定点に対して２倍の重み係数）に設定する。要するに、面３の数式に対する寄与度に応じた重み係数を測定点に適用することによって、残差の大きい異常値によって面３の数式が大きくずれないようにし、ロバストな平面推定が可能になる。
【００６２】
なお、面抽出部１２は、ロバスト推定に代えて、他の方法で平面式を求めてもよい。たとえば、面抽出部１２は、３個の測定点を用いて平面式を求める処理を様々な測定点について行うことにより複数の平面式を求め、これらの複数の平面式の平均を、採用する平面式として決定してもよい。すなわち、面抽出部１２は、複数の平面式についてパラメータａ、ｂ、ｃ、ｄをそれぞれ求め、パラメータごとの平均値をパラメータとした平面式を採用すればよい。あるいはまた、面抽出部１２は、重み係数を用いない最小二乗法によって平面式を決定することが可能である。
【００６３】
上述した構成例は、利用者が出力装置１７と入力装置１８とを用いることにより、平面に含まれる測定点の抽出範囲を、利用者が対話的に入力している。一方、以下に説明するように、床面３１および天井面３２に含まれる測定点は、利用者が測定点の抽出範囲を指示しなくとも、第１のデータを用いて自動的に抽出することが可能である。
【００６４】
ここに、３次元の直交座標系におけるｚ軸方向は鉛直方向、あるいは計測装置２０が設置された面に直交する方向に定められていると仮定する。スロープを形成する場合を除くと、床面３１は鉛直方向に直交するように施工されるのが一般的であるから、計測装置２０を床面３１に設置する場合、鉛直方向と床面３１に直交する方向とは実質的に等価である。加えて、本実施形態では、天井面３２が床面３１と平行である場合を想定している。
【００６５】
上述した条件の下では、床面３１と天井面３２とに対応した測定点は、ｚ軸方向の座標値が等しくなる。すなわち、ｚ方向の座標値が等しい測定点の度数を求めると、図５に示すように、床面３１と天井面３２とに対応する測定点の度数は、他の測定点の度数に対して顕著に大きくなると予想される。
【００６６】
そこで、面抽出部１２は、ｚ軸に沿って分割した複数の区間を設定し、区間ごとに測定点の度数を求め、度数が所定の基準値を超える場合に、床面３１または天井面３２であると判断する。すなわち、基準値を適正に設定することにより、度数が基準値を超える区間は２区間のみになり、一方の区間が床面３１のｚ座標の範囲を表し、他方の区間が天井面３２のｚ座標の範囲を表すとみなせる。実際には、２区間のうち実空間において下側に位置する区間が床面３１に対応し、上側に位置する区間が天井面３２に対応する。
【００６７】
ここに、床面３１または天井面３２に段差が存在する場合、あるいは家具が配置されている場合に、床面３１または天井面３２の度数が減少する可能性があり、３区間以上で度数が基準値を超える可能性がある。そこで、面抽出部１２は、度数が基準値を超える区間のうち、ｚ軸方向においてもっとも下側である区間を床面３１の条件を満たす区間と判断し、この区間に含まれる第１のデータを床面３１に属すると判断する。
【００６８】
また、面抽出部１２は、度数が基準値を超える区間のうち床面３１よりも上方の区間が天井面３２の条件を満たす場合に、この区間に含まれる第１のデータを天井面３２に属すると判断する。天井面３２の条件は、たとえば、床面３１の条件を満たす区間との距離が許容範囲内であるという条件、天井面３２の候補のうち度数が最大であるという条件などが用いられる。また、度数が基準値を超える区間のうち、実空間においてもっとも上に位置する区間であることを、天井面３２の条件に用いてもよい。
【００６９】
床面３１と天井面３２とに属する第１のデータが定まると、ｚ軸方向の座標値が床面３１と天井面３２との間である第１のデータは、壁面３３に属する第１のデータの候補になる。そこで、壁面３３の候補である第１のデータを評価すれば、壁面３３と他の物品との識別が可能である。詳述はしないが、たとえば、第１のデータについて同一平面に属しているか否かを評価し、平面ごとに第１のデータの度数を求め、さらに、計測装置２０からの距離を補助的な情報として用いることにより、壁面３３と家具などとを分離することが可能である。なお、壁面３３には種々の形状があり、床面３１あるいは天井面３２のように自動的に抽出することが難しい場合もある。そのため、壁面３３は、利用者が入力装置１８を用いて面３を指定してもよい。
【００７０】
ところで、床面３１には、床下収納庫の蓋、床下点検口の蓋、敷物、家具、観葉植物などが設けられることがあり、天井面３２には、照明器具などが存在することがあり、壁面３３にはカーテン、窓などが存在することがある。つまり、各面３には、面３を抽出するためには不要な物体が存在することがあり、また、リフォームなどの際に注意すべき部材が配置されていることがある。これらの物体あるいは部材に含まれる測定点は、面抽出部１２で特定の面３に属する測定点として用いることができないから、測定点の抽出範囲から除外することが望ましい。
【００７１】
そのため、モデリング装置１０は、指定された範囲の色情報を持つ第２のデータを抽出して出力装置１７の画面に表示させる色抽出部１２３を備えることが望ましい。色抽出部１２３は、取得部１１が取得した第２のデータのうち、上述したような物体あるいは部材の色について特定の色情報を除外し、床面３１、天井面３２、壁面３３が抽出されるように、抽出する色情報の範囲が設定可能になっている。
【００７２】
なお、色抽出部１２３は、床面３１と天井面３２と壁面３３とを、出力装置１７に個別に表示するように色情報の範囲を定めるようにしてもよい。色抽出部１２３において抽出すべき色情報の範囲は、あらかじめ設定されていることが望ましいが、カーソルが位置している部位の色情報を抽出する構成を採用してもよい。カーソルが位置する部位の色情報を抽出する場合、異なる面３に属する複数の測定点の色情報が抽出可能であって、かつ測定点ごとの色情報に対してそれぞれ色差が所定範囲内である色情報が抽出可能であることが望ましい。色抽出部１２３がこのように構成されていれば、床面３１と天井面３２と壁面３３とに対応する色情報を持つ測定点を一括して抽出し、他の色情報を持つ測定点を除外することが可能になる。
【００７３】
また、上述した色抽出部１２３は、抽出する測定点の色情報を指定するように構成されているが、除外する測定点の色情報を指定するように構成されていてもよい。
【００７４】
色抽出部１２３は、上述したように、第２のデータから得られる色情報を用いることにより、床面３１、天井面３２、壁面３３とは異なる物体あるいは部材に関する測定点を大まかに識別することが可能である。たとえば、家具、観葉植物などの物体が、床面３１、天井面３２、壁面３３とは異なる色であれば、色抽出部１２３は、これらの物体あるいは部材に対応する測定点を色情報によって除外することが可能になる。
【００７５】
そのため、利用者が入力装置１８を用いて測定点の抽出範囲を指定する際に、選択枠の位置が決めやすくなる。また、部屋のリフォームなどの際に注意すべき場所が出力装置１７の画面上でただちに確認することができるから、リフォーム用の部材を調達する際などに注意が喚起されることになる。
【００７６】
なお、窓や出入口のような開口部を、モデルに付加する場合、出力装置１７の画面上に開口部を囲む枠が表示されるように入力装置１８を操作し、この枠を開口部に合致させるように、枠の大きさを調節すればよい。枠を開口部に一致させる処理は、枠の設定のみを手作業で行うだけで、以後の処理を自動化することが可能である。枠を開口部に合致させる作業は、一般的なドロー系グラフィックソフトと同様に行えばよい。たとえば、矩形状の枠を画面に表示させ、マウスのクリックによって枠を選択した状態で、枠全体のドラッグによって画面上で開口部の位置に枠を移動させることができる。また、マウスのクリックによって枠を選択した状態で、枠の一部のドラッグにより枠を縦横に伸縮させ、枠を開口部に一致させるように大きさを調節することができる。
【００７７】
上述のように、面抽出部１２が、床面３１、天井面３２、壁面３３をそれぞれ表す数式を生成すると、頂点抽出部１３は、たとえば、床面３１と２枚の壁面３３とが共有する頂点、天井面３２と２枚の壁面３３とが共有する頂点を抽出する。また、天井面３２が傾斜して天井面３２の一部が床面３１に接している場合には、頂点抽出部１３は、床面３１と天井面３２と壁面３３とが共有する頂点を抽出し、床面３１に段差があれば段差を形成する２面と壁面３３とが共有する頂点を抽出する。すなわち、頂点抽出部１３は、立体物３０について３枚ずつの面３が共有する頂点を抽出する。
【００７８】
頂点抽出部１３が３枚ずつの面３が共有する頂点を求める際に着目する３枚の面３を選択する方法には、利用者の手作業による方法と、自動的に行う方法とがある。
【００７９】
利用者が手作業で面３を指定する場合、頂点抽出部１３は、面抽出部１２を構成している出力装置１７に第２のデータによる画像が表示されている状態において、頂点を抽出する対象である面３を入力装置１８から対話的に入力させる。この場合、たとえば、利用者は、出力装置１７の画面に表示された画像上で、頂点の座標値を求めようとする３枚の面３にそれぞれカーソルを合わせ、各面３を選択する操作（マウスのクリック、リターンキーの押下など）を行えばよい。
【００８０】
なお、面抽出部１２に平面式を生成させるための３点以上の測定点を選択する際に、測定点を指定する面３の順序にルールを定めておけば、頂点を抽出する面３を入力装置１８から入力する処理を省略することが可能である。つまり、このようなルールが定められていると、頂点を抽出する面３を指定する作業を、測定点の指定と同時に行うことが可能である。たとえば、床面３１、天井面３２、壁面３３の順に平面式を求めるための測定点を指定し、さらに壁面３３については右回りで測定点を指定するというルールを定めておけばよい。
【００８１】
頂点抽出部１３は、選択された３枚の面３をそれぞれ表す３個の数式を連立方程式として扱い、この方程式の解を算出する。得られた解は、３枚の面３に共通する頂点を表す３次元の座標値になる。この手順が立体物３０のすべての頂点が求められるまで繰り返されると、立体物３０のすべての頂点について３次元の座標値が算出される。
【００８２】
一方、３枚ずつの面３を自動的に選択する場合、頂点抽出部１３は、面抽出部１２で求められたすべての面３について３枚ずつの面３の組み合わせを行い、それぞれの組み合わせについて得られる３個の数式を連立方程式として扱い、この方程式の解を算出する。ここで得られる解は、立体物３０が直方体のような単純な形状である場合には、立体物３０の頂点に関する３次元の座標値になる。単純な形状とは、解が得られる組み合わせと、頂点の個数とが一致する形状を意味する。たとえば、直方体は、３枚ずつの面３の組み合わせが２０通りであり、そのうち解が得られる組み合わせは８通りであって、頂点の個数が８個であるから、単純な形状と言える。
【００８３】
立体物３０が直方体のような単純な形状ではない場合には解の個数と頂点の個数とが一致しないことがある。たとえば、立体物３０が、図６に示す形状の壁面３３を有した部屋を想定する。つまり、図７Ａに示すようなＬ字状に形成された部屋であって、壁面３３が４面ではなく６面であるような場合を想定する。この場合、頂点の個数は１２個であるが、３枚ずつの面３の組み合わせが５６通りであり、そのうち解が得られる組み合わせは１８通りになる。すなわち、得られた解のうち６個は、実在しない座標値を表していることになる。このように、立体物３０の形状によっては、面抽出部１２が抽出したすべての面３を機械的に３枚ずつ組み合わせることにより算出すると、立体物３０の頂点として実在しない座標値が算出される可能性がある。
【００８４】
実在しない頂点を除外するために、図１に示すモデリング装置１０は検証部１３１を備えている。検証部１３１は、頂点抽出部１３が計算によって機械的に抽出した頂点が、実在する頂点か否かを検証し、実在しない頂点は除外する処理を行う。検証の処理は、頂点抽出部１３が抽出した頂点のそれぞれについて、各頂点を共有する３枚の面３の中に測定点が存在するか否かを判断する処理であり、少なくとも１枚の面３に測定点が存在しない場合は、当該頂点を除外する。
【００８５】
ただし、測定点の誤差によって面３に測定点が含まれない可能性がある。そのため、測定点が面３に含まれているか否かの判断には許容範囲が設定される。具体的には、検証部１３１は、許容範囲に応じた距離範囲を定めており、測定点が面３からこの距離範囲内に存在していれば、該当する測定点は面３に含まれると判断される。
【００８６】
図７Ａに示すように床面３１がＬ字状である部屋（立体物３０）では、壁面３３を表す数式から得られる解は、図７Ｂのように、部屋に実在する頂点３５のほかに、仮想の頂点３６、３７を表すことになる。頂点３６は、壁面３３を部屋の外側に延長することによって計算上で得られ、頂点３７は、壁面３３を部屋の内側に延長することによって計算上で得られる。
【００８７】
検証部１３１は、計算上で得られたすべての頂点３５、３６、３７について、各頂点を共有する３枚の面３について、それぞれ測定点が存在するか否かを判断する。図示例において、部屋の外側にある仮想の頂点３６を共有する面は部屋の外側に形成される仮想の面３８のみであり、面３８の中に測定点は存在しないから、頂点３６は除外される。同様に、部屋の内側にある仮想の頂点３７を共有する面は実在する壁面３３と部屋の内側に形成される仮想の面３９とであり、面３９の中に測定点は存在しないから、頂点３７は除外される。
【００８８】
モデル化部１４は、頂点抽出部１３で得られた頂点を結ぶ直線であって、隣接する２枚の面の交線に沿う直線を境界線に定め、立体物３０を境界線の集合で表したモデルを生成する。また、モデル化部１４は、頂点についての３次元の座標値と、境界線により結ばれる頂点の組の情報をモデルの情報として記憶する。
【００８９】
モデル化部１４が記憶しているモデルの情報を用いて、コンピュータグラフィックスの技術により、立体物３０をモニタ装置４１（図８参照）の画面に表示させると、３次元の情報を持つ仮想空間がモニタ装置４１に表示される。ここに、モニタ装置４１は、出力装置１７と兼用されることが望ましいが、出力装置１７とモニタ装置４１とは別に設けられてもよい。
【００９０】
また、モデル化部１４がモデルの情報を記憶しているから、モデルにおける境界線上にある頂点間の距離を求めることができる。すなわち、立体物３０について計測装置２０が３次元計測を行った結果である第１のデータを用いて境界線上にある頂点の３次元の座標値が求められているから、頂点の座標値を用いることによって、実空間における頂点間の距離を容易に求めることができる。すなわち、モデリング装置１０は、頂点の座標値を用いて境界線のそれぞれの寸法を求める寸法算出部１５を備えることが望ましい。さらに、モデリング装置１０は、立体物３０に関して寸法算出部１５が求めた寸法を適用した図面を記述するための情報を生成する図面生成部１６を備えることが望ましい。寸法算出部１５が算出した寸法の数値は、図面生成部１６が生成する図面に反映される。
【００９１】
図面生成部１６は、立体物３０を展開し、かつ寸法算出部１５が求めた寸法が記入された寸法図であることが望ましい。また、立体物３０が部屋であって、内壁の内側面に、壁紙、断熱シート、防音シートなどを追加して施工しようとする場合に、施工する部材の寸法を記述した割付図を作成してもよい。割付図では、施工する部材の厚み寸法を考慮して部材を取り付ける位置も記述される。さらに割付図を作成するには、後述する部材の質感や色調を含むように、面３に属性を与えてもよい。
【００９２】
なお、上述した例では、面３に含まれることが確実である測定点を用いて面３を表す数式が生成され、数式を用いた計算によって立体物３０のモデルが生成されている。そのため、モデル化部１４が生成したモデルは、立体物３０を除く物体あるいは立体物３０に形成された開口部などを含んでいない。割付図では、これらの情報も必要であるから、図面生成部１６は、利用者が操作装置（入力装置１８と兼用されていてもよい）を用いて図面を加工することを許容することが望ましい。
【００９３】
また、上述した構成例では、天井面３２と床面３１とが平行である場合を想定しているが、入力装置１８を用いて面３を指定する場合には、天井面３２と床面３１とは平行ではなくてもよい。たとえば、天井板を用いずに屋根裏が露出している天井では、天井面３２は床面３１に対して傾斜する。あるいはまた、天井面３２が屋根勾配に沿って傾斜し、天井面３２の下端と床面３１とが境界線を形成する部屋もある。床面３１が傾斜する場合は少ないが、床面３１に段差が形成されているような場合、床面３１は１枚の壁面３３との間に３以上の頂点を形成する場合がある。
【００９４】
上述のような形状の部屋であっても、頂点抽出部１３は床面３１と天井面３２と壁面３３とのうち隣接する３面が共有する頂点を抽出することが可能である。したがって、モデル化部１４は、平面式と頂点とを用いて立体物３０を表すモデルの情報を生成することが可能になる。すなわち、モデル化部１４は、傾斜した天井面３２についてもモデルを生成することが可能であるから、図面生成部１６は、この種の天井面３２に断熱材を施工する場合の割付図を作成することが可能になる。
【００９５】
さらに、上述したモデリング装置１０が生成したモデルの情報を用いると、立体物３０により形成されるコンピュータグラフィックスの仮想空間に様々な加工を施すことが可能になる。すなわち、図８のように、３Ｄグラフィックスの技術を用いるレイアウトシミュレータ４０を設け、レイアウトシミュレータ４０により、モデルに様々な属性を付与することによって、仮想空間の加工が可能になる。
【００９６】
仮想空間に対する加工について一例を挙げると、仮想空間への他の物品の配置、面３の質感あるいは色調の調節などが行えることが望ましい。さらに、レイアウトシミュレータ４０は、照明のシミュレーションを行う機能、視点の位置を変化させる機能などを備えていてもよい。
【００９７】
立体物３０が部屋である場合を例としているから、レイアウトシミュレータ４０は、部屋に家具のような物品を配置する物品配置部４３を備えることが望ましい。物品配置部４３は、家具のような物品３４（図９参照）について既知の３次元のデータを用いて、仮想空間に物品３４を配置する。レイアウトシミュレータ４０は、仮想空間をモニタ装置４１の画面に表示させる表示制御部４２を備えており、仮想空間への物品３４の配置をモニタ装置４１の画面の表示にただちに反映させる。
【００９８】
さらに、レイアウトシミュレータ４０は、モデルの面３にテクスチャの情報を貼りつける質感表現部４４と、物品３４およびテクスチャの位置を含む属性を調節する属性調節部４５とを備える。属性調節部４５は、物品３４および面３の色調を調節する機能も備えることが望ましい。
【００９９】
このレイアウトシミュレータ４０は、床面３１、天井面３２、壁面３３の質感あるいは色だけではなく、物品３４の種類や配置についてもシミュレーションを行うことが可能になる。そのため、部屋のリフォームを予定しているような場合、リフォーム後の様子をシミュレーションによって想像することが可能になり、顧客に対する説得力を高めることができる。
【０１００】
レイアウトシミュレータ４０は、モデリング装置１０を構成するコンピュータを流用して構成することが可能であり、また、モデリング装置１０を構成するコンピュータとは別のコンピュータを用いて構成することが可能である。また、モデリング装置１０と同様に、コンピュータサーバあるいはクラウドコンピューティングシステムにおいて、レイアウトシミュレータ４０の機能を実現してもよい。
【０１０１】
なお、上述したモデリング装置１０は、第２のデータを用いる場合を例としたが、第２のデータは、必ずしも必要ではなく、上述した技術から明らかなように、第１のデータのみでモデルを生成することが可能である。
【０１０２】
以上説明したように、本実施形態のモデリング装置１０は、取得部１１と面抽出部１２と頂点抽出部１３とモデル化部１４と色抽出部１２３とを備える。取得部１１は、計測装置２０から立体物３０に属する複数個の測定点に関する３次元の座標値を第１のデータとして取得する。面抽出部１２は、面３ごとに、面３に属する測定点に関する第１のデータを用いて面３を表す平面式を生成する。頂点抽出部１３は、面３のうち隣接する複数面をそれぞれ表す平面式を同時に満たす点を算出することにより、これらの点を複数面が共有する頂点として抽出する。モデル化部１４は、平面式と頂点とを用いて立体物３０を表すモデルの情報を生成する。計測装置２０は、立体物３０を撮像した画像の画素の値を測定点ごとに対応付けた第２のデータを出力する機能を有し、第２のデータは色情報を含む。取得部１１は、第２のデータを計測装置２０から取得する機能を有する。色抽出部１２３は、取得部１１が取得した第２のデータのうち所定の色情報を持つ測定点を除外する。
【０１０３】
この構成を採用すると、図２Ａに示すように、立体物３０の一部が他の遮蔽物３０Ａに隠れている場合であっても、遮蔽物３０Ａに隠された面３の境界を推定することが可能になる。その結果、図２Ｂのように、遮蔽物３０Ａを除いたモデルの生成が可能になる。また、面３の平面式を求める際に除去するほうがよい測定点は、色情報を用いて除外することが可能になる。したがって、家具、観葉植物などの物体が、床面３１、天井面３２、壁面３３とは異なる色であれば、色抽出部１２３は、これらの物体あるいは部材に対応する測定点を色情報によって除外することが可能になる。
【０１０４】
たとえば、立体物３０は、床面３１と天井面３２と複数の壁面３３とに囲まれた部屋である。面抽出部１２は、床面３１と天井面３２と壁面３３とをそれぞれ表す平面式を生成することが望ましい。また、頂点抽出部１３は、床面３１と天井面３２と壁面３３とのうち隣接する３面が共有する頂点をそれぞれ抽出することが望ましい。モデル化部１４は、床面３１と天井面３２と壁面３３とのうち隣接する２面が共有する境界線を定めることが望ましい。
【０１０５】
この構成を採用すると、床面３１と天井面３２と壁面３３とが形成する頂点および頂点を結ぶ線分によりモデルが形成される。すなわち、立体物３０である部屋と相似形状のモデルが形成される。
【０１０６】
計測装置２０は、立体物３０を撮像した画像の画素の値を測定点ごとに対応付けた第２のデータを出力する機能を有していることが望ましい。計測装置２０が第２のデータを出力する構成であれば、面抽出部１２は、出力部１２１と入力部１２２とを備えることが望ましい。出力部１２１は、第２のデータを出力装置１７の画面に表示させる。入力部１２２は、出力装置１７に表示された画像に対して面３に属する測定点を指定する情報を入力装置１８から対話的に入力させる。
【０１０７】
この構成を採用すると、利用者は、出力装置１７の画面に表示されている画像を見て、入力装置１８を操作することにより、手作業によって立体物３０を構成するすべての面３に対して選択枠を設定することが可能になる。
【０１０８】
頂点抽出部１３は、面３を３枚ずつ組み合わせて平面式からなる連立方程式の解を求めることにより面３を共通にする頂点に関する３次元の座標値を算出するように構成されることが望ましい。この場合、モデリング装置１０は、頂点抽出部１３が抽出した頂点のそれぞれについて、当該頂点を共有する面３のうちの少なくとも１面に測定点が存在しない場合に、当該頂点を除外する検証部１３１を備えることが望ましい。
【０１０９】
この構成を採用すると、頂点抽出部１３が面３を自動的に組み合わせ、連立方程式の解が得られる場合に、該当する解を頂点として自動的に求めることができる。また、頂点抽出部１３が自動的に抽出した頂点が実在するか否かを検証部１３１が検証するから、利用者の負担が少ない。
【０１１０】
ところで、第１のデータは、床面３１に直交する方向を１つの座標軸とする直交座標系の座標値とすることが望ましい。また、面抽出部１２は、この座標軸に沿って分割された区間ごとに測定点が出現する度数を求め、区間のうち度数が所定の基準値を超え、かつ区間が床面の条件を満たす場合に、当該区間に含まれる測定点を床面に属すると判断することが望ましい。
【０１１１】
この構成によれば、部屋を構成する面３のうち床面３１が自動的に定められるから、床面３１を基準にして天井面３２および壁面３３が容易に抽出される。
【０１１２】
部屋は、床面３１と天井面３２とが平行する構造である場合を想定する。この場合、面抽出部１２は、区間のうち度数が所定の基準値を超え、かつ区間が床面３１の条件を満たす区間よりも上方であって天井面３２の条件を満たす場合に、当該区間に含まれる測定点を天井面３２に属すると判断することが望ましい。
【０１１３】
この構成によれば、部屋を構成する面３のうち床面３１と天井面３２とが自動的に定められる。したがって、残りの平面を壁面３３として扱うことにより、部屋のモデルを容易に生成することができる。
【０１１４】
面抽出部１２は、一つの面３に属する３個の測定点の座標値を用いた第１の計算により得られる平面式で定められる平面を候補面とすることが望ましい。さらに、面抽出部１２は、候補面から所定の距離範囲に存在する４個以上の測定点を用いた第２の計算で平面を定める再計算を行うことにより平面式を決定することが望ましい。
【０１１５】
第２の計算は、３種類の計算から選択される。第１の計算は、候補面から所定の距離範囲に存在する測定点を用いて最小二乗法で平面式を定める。第２の計算は、候補面から所定の距離範囲に存在する測定点を用い、候補面からの距離に応じた重み係数を当該測定点に適用した後に、最小二乗法で平面式を定めるロバスト推定による。第３の計算は、候補面から所定の距離範囲に存在する測定点を用い、３個ずつの測定点を用いて複数の平面式を求め、複数の平面式の平均により平面式を定める。
【０１１６】
面抽出部１２は、候補面を定めた後、候補面に対して所定の距離範囲に存在する測定点を用いた再計算を行うことにより平面式を決定するから、立体物３０の形状を精度よくモデルで再現できる。
【０１１７】
本実施形態のモデリング方法は、複数の面３を備える立体物３０について計測装置２０が３次元計測を行うことにより得られた第１のデータに基づいて、モデルを生成する手順を意味する。したがって、このモデリング方法は、まず、複数の面３を備える立体物３０の３次元計測を行う計測装置２０から、立体物３０に属する複数個の測定点に関する３次元の座標値を第１のデータとして取得部１１が取得する。次に、このモデリング方法は、面３ごとに、面３に属する測定点に関する第１のデータを用いて面３を表す平面式を面抽出部１２が生成する。その後、面３のうち隣接する複数面をそれぞれ表す平面式を同時に満たす点を算出することにより、これらの点を複数面が共有する頂点として頂点抽出部１３が抽出する。さらに、平面式と頂点とを用いて立体物３０を表したモデルをモデル化部１４が生成する。計測装置２０は、立体物３０を撮像した画像の画素の値を測定点ごとに対応付けた第２のデータを出力する機能を有し、第２のデータは色情報を含む。取得部１１は、第２のデータを計測装置２０から取得する機能を有している。取得部１１が取得した第２のデータのうち所定の色情報を持つ測定点を色抽出部１２３が除外する。
【０１１８】
この構成を採用すると、立体物３０の一部が他の遮蔽物に隠れている場合でも、遮蔽物に隠された面の境界を推定することが可能になる。その結果、図２Ｂのように、遮蔽物３０Ａを除いたモデルの生成が可能になる。また、面３の平面式を求める際に除去するほうがよい測定点は、色情報を用いて除外することが可能になる。
【０１１９】
本実施形態のプログラムは、コンピュータを、取得部と面抽出部と頂点抽出部とモデル化部と色抽出部とを備えるモデリング装置として機能させるためのプログラムである。取得部１１は、複数の面３を備える立体物３０の３次元計測を行う計測装置２０から、立体物３０に属する複数個の測定点に関する３次元の座標値を第１のデータとして取得する。面抽出部１２は、面３ごとに、面３に属する測定点に関する第１のデータを用いて面３を表す平面式を生成する。頂点抽出部１３は、面３のうち隣接する複数面をそれぞれ表す平面式を同時に満たす点を算出することにより、点を複数面が共有する頂点として抽出する。モデル化部１４は、平面式と頂点とを用いて立体物３０を表したモデルの情報を生成する。計測装置２０は、立体物３０を撮像した画像の画素の値を測定点ごとに対応付けた第２のデータを出力する機能を有し、第２のデータは色情報を含む。取得部１１は、第２のデータを計測装置２０から取得する機能を有する。色抽出部１２３は、取得部１１が取得した第２のデータのうち所定の色情報を持つ測定点を除外する。
【０１２０】
また、上述した本実施形態のレイアウトシミュレータ４０は、図８に示すように、表示制御部４２と物品配置部４３と質感表現部４４と属性調節部４５とを備える。表示制御部４２は、モデリング装置１０が生成したモデルの情報を用いて立体物３０のコンピュータグラフィックスである仮想空間をモニタ装置４１の画面に表示させる。物品配置部４３は、仮想空間の所望位置に３次元の情報を持つ立体的な物品３４（図９参照）を配置し、質感表現部４４は、仮想空間において境界線で囲まれる面にテクスチャの情報を貼り付ける。属性調節部４５は、物品３４およびテクスチャの位置を含む属性を調節する。
【０１２１】
この構成のレイアウトシミュレータ４０は、モデルで表された立体物３０の表面にテクスチャの情報を貼り付けるから、仮想空間において立体物３０の見かけに変化を与えることができる。その結果、部屋のリフォームを検討するような場合に、仮想空間において結果のシミュレーションを行うことが可能になる。
【０１２２】
なお、上述した実施形態は本発明の一例である。このため、本発明は、上述の実施形態に限定されることはなく、この実施形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることはもちろんのことである。
【符号の説明】
【０１２３】
１  ３次元モデル生成装置
３  面
１０  モデリング装置
１１  取得部
１２  面抽出部
１３  頂点抽出部
１４  モデル化部
２０  計測装置
３０  立体物
３１  床面
３２  天井面
３３  壁面
４０  レイアウトシミュレータ
４１  モニタ装置
４２  表示制御部
４３  物品配置部
４４  質感表現部
４５  属性調節部
１２３  色抽出部
１３１  検証部
【図１】
2015165420.tif 000003
【図２】
2015165420.tif 000004
【図３】
2015165420.tif 000005
【図４】
2015165420.tif 000006
【図５】
2015165420.tif 000007
【図６】
2015165420.tif 000008
【図７】
2015165420.tif 000009
【図８】
2015165420.tif 000010
【図９】
2015165420.tif 000011