JP6238183B2 - モデリング装置、3次元モデル生成装置、モデリング方法、プログラム - Google Patents
モデリング装置、3次元モデル生成装置、モデリング方法、プログラム Download PDFInfo
- Publication number
- JP6238183B2 JP6238183B2 JP2016561259A JP2016561259A JP6238183B2 JP 6238183 B2 JP6238183 B2 JP 6238183B2 JP 2016561259 A JP2016561259 A JP 2016561259A JP 2016561259 A JP2016561259 A JP 2016561259A JP 6238183 B2 JP6238183 B2 JP 6238183B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- measurement
- region
- dimensional object
- modeling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 74
- 238000005259 measurement Methods 0.000 claims description 255
- 238000012545 processing Methods 0.000 claims description 155
- 230000014509 gene expression Effects 0.000 claims description 69
- 239000013598 vector Substances 0.000 claims description 68
- 238000000605 extraction Methods 0.000 claims description 25
- 238000007781 pre-processing Methods 0.000 claims description 14
- 239000000284 extract Substances 0.000 description 12
- 238000009826 distribution Methods 0.000 description 11
- 238000011156 evaluation Methods 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 7
- 239000007787 solid Substances 0.000 description 7
- 238000012417 linear regression Methods 0.000 description 6
- 230000010363 phase shift Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000002366 time-of-flight method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011810 insulating material Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011867 re-evaluation Methods 0.000 description 1
- 238000009418 renovation Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/16—Using real world measurements to influence rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Generation (AREA)
- Image Analysis (AREA)
Description
本発明は、モデリング装置、3次元モデル生成装置、モデリング方法、プログラムに関する。
従来、対象空間の3次元モデルを作成する技術が、提案されている(文献1[日本国公開特許公報第1992−133184号]参照)。文献1に記載された技術では、対象空間に格子状の光を投影し、投影像を撮像することにより、投影像における格子の交点の位置関係を用いて平面の位置および傾きを求めている。
文献1に記載された技術では、平面の位置および傾きから、平面の隣接関係を、折れ目、段差境界、面内境界に分類し、面の境界を計算して交線を求め、室内の構造線を計算している。すなわち、文献1に記載された構成は、対象空間にすでに配置された物体を含めた室内の構造線を抽出するために、折れ目、段差境界、面内境界を抽出している。
文献1には、このように構造線を抽出することにより、小さい障害物で遮られて画像からは検出できないような構造線も復元することが記載されている。
ところで、室内においてクロスの張り替えを行う場合、断熱材を施工する場合などでは、室内に配置された物体を除去した計測が必要になる場合がある。
文献1には、ノイズや小さい障害物などにより領域の一部が欠けている場合でも、構造線を安定に復元させることができるという内容の記載がある。しかしながら、文献1に記載された技術は、机のような大きな物体を、3次元モデルの構成要素とする技術であり、クロスの張り替えや断熱材の施工を行うことを目的として、室内に配置された物体を除去した立体物のモデルを生成することはできない。
本発明は、立体物の一部が比較的大きい物体に遮られることにより、計測装置では計測できない領域が存在する場合でも、立体物のモデルを生成することを可能にしたモデリング装置を提供することを目的とする。さらに、実空間における立体物のモデルを生成する3次元モデル生成装置、立体物のモデルを生成するモデリング方法、モデリング装置を実現するプログラムを提供することを目的とする。
本発明に係るモデリング装置は、立体物の3次元計測を行う計測装置から、前記立体物に属する複数の測定点について3次元の座標値である計測データを取得するデータ取得部と、前記計測データを用いて前記立体物を構成する面を表す数式を生成する面抽出部と、前記数式を用いて前記立体物を表した形状モデルを生成するモデル化部とを備え、前記面抽出部は、前記立体物のうちの1つの面と、当該1つの面を囲む複数の面とをそれぞれ表す数式を用いて、前記1つの面を囲む境界線を求めた後、前記1つの面に属する測定点のうち、前記境界線から前記1つの面の内側に所定の幅で定めた領域内の測定点を抽出し、抽出した測定点を用いて前記1つの面を表す前記数式を求めることを特徴とする。
本発明に係るモデリング方法は、立体物の3次元計測を行う計測装置から、前記立体物に属する複数の測定点について3次元の座標値である計測データをデータ取得部が取得し、前記計測データを用いて前記立体物を構成する面を表す数式を面抽出部が生成し、前記数式を用いて前記立体物を表した形状モデルをモデル化部が生成し、前記面抽出部は、前記立体物のうちの1つの面と、当該1つの面を囲む複数の面とをそれぞれ表す数式を用いて、前記1つの面を囲む境界線を求めた後、前記1つの面に属する測定点のうち、前記境界線から前記1つの面の内側に所定の幅で定めた領域内の測定点を抽出し、抽出した測定点を用いて前記1つの面を表す前記数式を求めることを特徴とする。
本発明に係るプログラムは、コンピュータを、上述したモデリング装置として機能させるものである。
本実施形態は、立体物の3次元計測を行った測定結果を用いて立体物の形状モデルを生成するモデリング装置に関する。さらに、本実施形態は、実空間における立体物の形状モデルを生成する3次元モデル生成装置、立体物の3次元計測の計測結果を用いて立体物のモデルを生成するモデリング方法、コンピュータをモデリング装置として機能させるためのプログラムに関する。
以下に説明する3次元モデル生成装置は、図1に示すように、計測装置20とモデリング装置10とモニタ装置(出力装置41)とを備える。計測装置20は、立体物30の3次元計測を行い、モデリング装置10は、立体物30の形状モデルを生成し、モニタ装置は、モデリング装置10から出力される画像情報を用いて形状モデルの画像を表示する。出力装置41は、モニタ装置を含み、モニタ装置に加えてプリンタを含んでいることが望ましい。また、後述するように、モデリング装置10に指示を与える入力装置42を備えることが望ましい。
本実施形態は、立体物30として建物の内部に設けられた部屋を想定している。すなわち、本実施形態は、部屋の内面に着目する。ただし、立体物30は建物の内外のどちらであってもよく、また建物以外の立体物30であっても、以下に説明する技術は適用可能である。本実施形態の立体物30である部屋は、1枚の床面31および1枚の天井面32と、複数枚の壁面33とを備える。以下では、床面31、天井面32、壁面33を区別する必要がない場合は、面3と記載する。また、面3は、平面である場合を想定して説明するが、面3が曲面である場合にも、以下に説明する本実施形態の技術を採用することが可能である。
図1において、計測装置20は、いわゆる3Dレーザスキャナである。この計測装置20は、空間にビーム状のレーザを投光し、物体による反射波を受光するように構成されている。3Dレーザスキャナは、一般的には、タイムオブフライト方式とフェイズシフト方式とのいずれかを採用している。また、3Dレーザスキャナには、三角測量法の原理による方式を採用する構成もある。本実施形態では、フェイズシフト方式の計測装置20を採用する例を想定する。ここでのフェイズシフト方式は、計測装置20から強度を変調したレーザの連続波を空間に投光し、投光した照射波と受光した反射波との位相差(干渉波)により、レーザを反射した物体までの距離を計測する技術を意味する。この意味におけるフェイズシフト方式は、飛行時間を位相差で計測しているから、タイムオブフライト方式の一種として扱う場合もある。
フェイズシフト方式を採用した計測装置20は、距離の計測を連続的に行うから、距離の計測を間欠的に行うパルス波を用いる構成と比較して、距離の計測を高速に行うことが可能である。また、この種の計測装置20は、距離を1cm以下の誤差(たとえば、距離に対して1万分の1以下の誤差)で計測することが可能である。なお、以下に説明する本実施形態の技術では、タイムオブフライト方式、三角測量法の原理による方式を採用する場合でも同様の効果が期待できる。
本実施形態で用いる計測装置20は、設置された面に沿って回転する測定部を備え、測定部は、回転途中のそれぞれの位置において、設置された面に交差する面内でレーザを走査(スキャン)するように構成されている。ここでは、測定部が回転する面を水平面とし、水平面に直交する面を垂直面とする。すなわち、計測装置20からレーザを照射する方向は、水平面内で測定部が回転した角度と、垂直面内でレーザを走査した角度との組み合わせで表される。測定部が回転する角度は、計測装置20に定めた基準方向に対する角度であり、垂直面内でレーザを走査した角度は、たとえば鉛直方向(水平面に直交する方向)に対する角度で定める。
いま、レーザを走査した角度がθであり、かつ測定部が回転した角度がψであるときに、計測装置20が計測した距離がδであるとすると、レーザを反射した物体の位置は(δ,θ,ψ)で表される。角度θおよび角度ψは、計測装置20が定めており、距離δは上述した原理で計測される。この構成では、レーザが照射された部位の座標値は、計測装置20に定めた極座標系(球座標系)の座標値で表される。
レーザは連続波を用いているから、レーザが照射される物体が連続していれば、レーザは途切れなく物体に照射される。ただし、計測装置20は、座標値を一定の時間間隔で求めている。この時間間隔は、レーザを垂直面内で走査する際の角度Δθに対応する。言い換えると、計測装置20は、垂直面内において、角度Δθに相当する分解能で計測を行う。一方、水平面内では角度Δψに相当する分解能で計測を行う。角度Δθおよび角度Δψは、適宜に定められる。また、計測装置20は、設置された面のうちの計測装置20の周囲を除いて、ほぼ全周の空間領域について3次元計測を行う。
上述したように、計測装置20は、立体物30においてレーザが照射された部位に関する座標値を、角度Δθおよび角度Δψの分解能で計測する。言い換えると、計測装置20は、立体物30に関する座標値を離散的に求める。以下では、立体物30において座標値が得られる位置を「測定点」と呼ぶ。また、計測装置20から出力される3次元の座標値に関するデータを「計測データ」と呼ぶ。測定点は、角度Δθおよび角度Δψの間隔で多数個得られる。
ところで、本実施形態の計測装置20は、上述したように計測装置20に定めた極座標系の座標値を求めるが、モデリング装置10は、立体物30に関するモデルの情報を生成する際に、直交座標系の座標値を用いる。すなわち、計測装置20が測定点について求めた極座標系の座標値は、モデリング装置10が形状モデルを生成する処理を行うまでに、直交座標系の座標値に変換される。なお、直交座標系は、極座標系と同様に、計測装置20に定めることが可能であるが、計測装置20の外部に座標系が設定され、かつ当該座標系において計測装置20の座標値を定めることができる場合は、測定点の座標値を外部の座標系で表してもよい。
なお、計測装置20に定めた極座標系の座標値から直交座標系の座標値に変換する処理は、計測装置20と、モデリング装置10とのいずれかで行えばよい。本実施形態では、計測装置20が、極座標系の座標値から直交座標系の座標値への変換を行う構成を想定している。
計測装置20が床面31に設置されている場合、計測装置20は、測定部が床面に平行な面内で回転する間に、床面の一部を除く部屋の全範囲にレーザを照射する。したがって、レーザは、測定部を中心として様々な向きに照射され、結果的に、ビーム状のレーザが立体的に走査される。ただし、レーザが照射される向きとして、測定部を支持する部材に向かう向きは除外される。したがって、測定部は、床面において計測装置20が設置されている部位の周囲にはレーザを照射しない。
計測装置20は、照射したレーザが立体物30で反射して計測装置20に返ってくるまでの時間を位相差に変えて計測するために、時間経過に伴って強度が周期的に変化するように強度を変調したレーザを用いる。レーザは、立体物30が存在する空間に投光される。計測装置20は、レーザを投光した空間から立体物30で反射されたレーザを受光すると、受光した反射波と空間に投光した照射波とについて、変調波形の位相差を求める。
反射波と照射波との位相差を求めるには、照射波に相当する参照波を用いる技術と、照射波の位相に相当する情報を持つ電気信号を用いる技術との一方が用いられる。計測装置20は、反射波と照射波との位相差を求めると、この位相差を距離に換算する。
照射波に相当する参照波を用いるには、空間に投光するレーザを2分岐させ、分岐した一方のレーザを照射波とし、かつ分岐した他方のレーザを参照波とする。照射波は、距離を計測するために空間に投光され、参照波は、計測装置20において既知の距離を伝播するように投光される。参照波は既知の距離を伝播されるから、参照波と反射波との位相差を求めることによって、反射波と照射波との位相差が求められる。
一方、照射波の位相に相当する情報を持つ電気信号としては、照射波の生成に用いた変調信号が用いられる。変調信号の位相と照射波の位相との関係は、おおむね一定であるから、参照波を用いることなく変調信号を用いることによっても、照射波と反射波との位相差を求めることが可能である。なお、本実施形態は、参照波を用いる技術を採用している。
上述した原理から明らかなように、3Dレーザスキャナで計測される測定点は、近距離ほど密度が高くなり、遠距離ほど密度が低くなる。したがって、平面格子を設定し、この平面格子の格子点をそれぞれ測定点に対応させると、隣接する測定点の間隔は、測定点までの距離が近いほど広がり、測定点までの距離が遠いほど狭まる。つまり、実空間での測定点の間隔は遠方ほど広がるのに対して、計測装置20が計測した測定点を格子定数が一定である平面格子の格子点に一対一に対応付けると、測定点間の距離が遠方ほど縮むことになる。平面格子は、正方格子、矩形格子のほか、斜方格子、六角格子、平行体格子なども採用可能である。3Dレーザスキャナでの計測により得られる座標値は極座標系の座標値であり、平面格子の格子点に対応付けて展開すると実空間の横方向の直線が曲線になる歪んだ形状になる。
計測装置20は、3次元計測を行うだけではなく、レーザの反射強度を出力する機能と、立体物30を撮像する機能とを備えている。すなわち、計測装置20は、レーザの反射強度を画素値とする濃淡画像(反射強度画像)の画像データを出力する機能を有する。この濃淡画像を2次元に展開すると、上述したように、歪んだ形状になる。また、計測装置20は、CCDイメージセンサあるいはCMOSイメージセンサのような固体撮像素子と、固体撮像素子の前方に配置された広角の光学系とを備える。計測装置20は、たとえば、設置面と平行な面内で測定部を2周させ、1周目ではレーザを用いて立体物30に関する3次元の座標値を求め、2周目では立体物30を撮像するように構成される。固体撮像素子は、カラー画像の画像データを出力する。カラー画像は、固体撮像素子で立体物30を撮像したときの向きにより、濃淡画像の座標値との対応付けがなされ、カラー画像から得られるRGBの色情報が測定点に付与される。
なお、上述した3Dレーザスキャナと同様に、計測データと画像データとを出力可能な計測装置20としては、キネクト(登録商標)などが知られている。
計測装置20から出力される画像の例を図2に示す。上述したように、計測データを平面に展開すると歪んだ画像になる。このような歪んだ画像になるのは、計測装置20で計測された測定点を平面に展開しているからである。つまり、測定点が2次元の平面格子の格子点に対応付けられており、隣接する測定点の間隔が、近距離の測定点では広がり、遠距離の測定点では狭まっている。言い換えると、図2に示す2次元画像において、測定点の間隔は、画像内の場所に応じて異なっている。このような2次元画像を、以下では展開画像と呼ぶ。展開画像は、計測データに相当する座標値を画素値に持ち、かつ立体物30の画像データである濃淡値(カラー値)を画素値に持つ。
なお、計測装置20は、ビーム状のレーザを走査する構成に限定されず、線状、縞状、格子状などのパターンを投影する構成を採用してもよい。計測装置20は、強度変調光の反射光をエリアイメージセンサで受光し、エリアイメージセンサの出力から画素の値が距離値である距離画像を生成する距離画像センサであってもよい。また、計測装置20は、強度変調光を用いずに投光から受光までの飛行時間を計測してもよい。あるいは、飛行時間を計測するのではなく、ステレオ画像法のような三角測量法の原理を用いる構成などを採用してもよい。
計測装置20が計測データをステレオ画像法で計測する構成である場合、計測データを得るためにカメラを用いるから、このカメラにより画像データを同時に得ることが可能である。また、計測装置20が強度変調光を用いて計測する構成である場合、エリアイメージセンサの出力を用いて、反射光の受光強度に応じた濃淡画像を生成することができるから、この濃淡画像のデータを画像データに用いることが可能である。この構成では、反射光の受光強度が、強度変調光の1周期または複数周期にわたって積算されることにより、時間経過に伴う反射光の強度の変化が除去される。
なお、計測装置20は、計測データのみを出力する構成であってもよい。計測装置20の座標系は、立体物30の配置に依存することなく設定される。たとえば、鉛直方向がz軸に定められ、z軸の基準点が海抜0mに定められる。あるいは、計測装置20を設置した面がxy平面と平行な面に定められる。座標系の原点は、実空間において定位置に定められる。ここでは、計測装置20が設置された位置を基準として原点が定められている。すなわち、計測装置20が距離を計測する際の基点を原点に定めている。原点は、実空間の他の場所に定めることが可能であるが、計測装置20が設置された位置を基準に用いた場合は、原点を定めるための計算が不要である。
計測データと画像データとを対応付ける処理は、計測装置20ではなく、モデリング装置10が行ってもよい。すなわち、計測データと画像データとを対応付ける処理と、極座標系から直交座標系への座標変換の処理とは、計測装置20とモデリング装置10とのどちらで行ってもよい。
上述したように、計測装置20は様々な構成を採用することが可能である。ただし、以下に説明する3次元モデル生成装置では、計測装置20は、レーザを用いて計測した3次元の座標値を計測データとして出力し、計測した立体物30のカラー画像を画像データとして出力する構成を想定する。また、以下では、立体物30に関して、直交座標系の座標値が得られた後の処理を説明する。
本実施形態において、立体物30は、図1に示すように、床面31と天井面32と壁面33とを備えた部屋である。また、床面31と天井面32と壁面33とは、それぞれ平面であるか、平面の組み合わせである場合を想定して説明する。平面の組み合わせは、段差が形成された形状などに相当する。また、本実施形態の技術は、床面31と天井面32と壁面33とのいずれかが曲面(たとえば、断面U字状、半球状など)である場合にも適用可能である。その場合は、後述する数式が曲面を表す数式になるか、曲面を平面の集合で近似した数式になる。
計測装置20は、立体物30の内側空間である床面31に設置される。以下、床面31と天井面32と壁面33とを区別しない場合には、単に面3と記載する。また、床面31に対して天井面32が平行ではない場合、あるいは、向かい合う2つの壁面33が平行ではない場合があるが、以下では、床面31に対して天井面32が平行である場合を想定して説明する。また、向かい合う2つの壁面33は、基本的には平行であるが、壁面33の一部に、階段状の段差、凹みなどがあってもよい。言い換えると、向かい合う2つの壁面33の距離が複数段階に変化することは許容される。
面3は、窓、出入口などの開口を備えていることがあり、また、スイッチ、コンセント(アウトレット)などの配線器具、照明器具などが取り付けられていることもある。さらに、家具のような物品が部屋に配置されていることも許容される。
モデリング装置10は、計測装置20から取得した計測データおよび画像データを用いて立体物30の形状モデルを生成する。立体物30の形状モデルは、たとえばワイヤフレームモデル、サーフェイスモデルなどから適宜に選択される。ワイヤフレームモデルは、立体物30の表面形状を表すために、立体物30の表面上の点を線分で結んだデータ構造のモデルである。モデリング装置10は、形状モデルを用いて、立体物30に関する各種情報を抽出する機能を備えていてもよい。また、立体物30のコンピュータグラフィックスである仮想空間における面3の表面属性を変化させる機能、仮想空間に物品を配置する機能などが、モデリング装置10に付加されると、レイアウトシミュレータとして機能させることも可能である。
モデリング装置10は、プログラムに従って動作するコンピュータで構成される。コンピュータは、入力装置42としてキーボードおよびポインティングデバイスを備え、出力装置41としてディスプレイ装置を備えることが望ましい。また、コンピュータは、入力装置42としてのタッチパネルが出力装置41であるディスプレイ装置と一体化されたタブレット端末あるいはスマートフォンなどでもよい。モデリング装置10は、汎用のコンピュータではなく、専用に設計されたコンピュータで実現することが可能である。
モデリング装置10を構成するコンピュータは、独立した構成(スタンドアローン)のほか、コンピュータサーバあるいはクラウドコンピューティングシステムと端末装置とが連携する構成であってもよい。この構成を採用すると、利用者は、コンピュータサーバあるいはクラウドコンピューティングシステムとの通信が可能な端末装置を用いて、以下に説明するモデリング装置10の機能を享受することが可能になる。
プログラムは、コンピュータで読み取り可能な記録媒体により提供されるか、インターネットのような電気通信回線を通して提供される。このプログラムは、コンピュータを、以下に説明するモデリング装置10として機能させる。
モデリング装置10は、図1のように、計測装置20から計測データおよび画像データを取得するデータ取得部11を備える。データ取得部11は、計測データおよび画像データを、有線あるいは無線の伝送路を使って電気信号として計測装置20から受け取る構成と、メモリカードのような記録媒体を介在させて計測装置20から受け取る構成との少なくとも一方を備える。データ取得部11は、計測データのみを取得する構成であってもよい。モデリング装置10は、データ取得部11が取得した立体物30に関する計測データおよび画像データを記憶部14に記憶する。また、モデリング装置10は、立体物30の形状モデルを生成するモデル化部13を備える。
立体物30は部屋であるから、面3の一部は、計測装置20から見て家具、設備などの背後に隠れている場合があり、隠れている部位については計測することができない。そのため、モデリング装置10は、面3の一部を計測することにより得られる情報と、面3に関する知識(すなわち、規則ないし法則)とを用いて、面3の全体形状を推定し、面3の全体形状から立体物30の全体形状を推定する。
面3に関する知識は、面3の形状に関する知識と、面3の配置に関する知識とを含む。面3の形状に関しては、たとえば、「部屋は平面の集合で囲まれている」という知識が用いられる。この知識は、向かい合う面3の距離が一定ではない場合も含む。上述したように、面3は平面ではなく曲面であってもよいが、本実施形態は、面3が平面である場合のみを想定して説明する。面3の配置に関しては、たとえば、「隣接する2つの面3の間を仕切る境界線は、隣接する2つの面3の交線の少なくとも一部である」という知識が用いられる。さらに、面3が平面であるから、たとえば、「境界線の一端である頂点は、3枚の面3に共有される」という知識が用いられる。これらの知識は、本実施形態では、立体物30の形状モデルを生成する際の手順(アルゴリズム)に組み込まれている。
上述した面3の知識によれば、立体物30は、立体物30を構成する個々の面3の角に相当する頂点と、2つずつの頂点を結ぶ線分とで表されることになる。また、上述した面3の知識から、3枚の面3が共有する頂点の座標値が定まると、立体物30の形状が定まると言える。3枚の面3が共有する頂点の座標値は、それぞれの面3を数式(つまり、平面式)で表すと、3枚の面3をそれぞれ表す数式が同時に成立する座標値として求めることが可能である。言い換えると、立体物30の形状モデルを生成するには、立体物30を構成する個々の面3に相当する数式を求めることが必要である。
モデリング装置10は、記憶部14が記憶している計測データおよび画像データを用いて立体物30を構成する個々の面3に相当する数式を求める面抽出部12を備える。面抽出部12が求めた個々の面3の数式は、モデル化部13に引き渡され、立体物30の形状モデルが生成される。
計測装置20から出力された計測データは、立体物30を構成する複数の面3の座標値(ここでは、直交座標系で表された座標値)を含んでいるが、座標値と面3との対応関係は不明である。したがって、面抽出部12には、面3ごとの数式を生成する前に、座標値を面3に対応付けて分類することが要求される。
ここに、座標値を面3に対応付けて分類する処理は、個々の座標値について行うことが可能であるが、測定点の個数が多くなると、処理負荷が大きくなる上に、面3の状態によって誤差が生じる可能性がある。そのため、本実施形態は、同じ面3に属する可能性が高い複数個の計測データを集合としてまとめて扱い、集合を単位として面3に対応付け、面3に対応付けた集合から面3を表す数式を求めている。面抽出部12は、このような処理を行うために、第1処理部121と第2処理部122と第3処理部123とを備える。
(動作例1)
第1処理部121は、立体物30を平面上に展開した図2のような展開画像P1を分割する。展開画像は、計測データに相当する座標値を画素値に持ち、かつ立体物30の画像データである濃淡値(望ましくは、カラーの色値)を画素値に持つ。
第1処理部121は、立体物30を平面上に展開した図2のような展開画像P1を分割する。展開画像は、計測データに相当する座標値を画素値に持ち、かつ立体物30の画像データである濃淡値(望ましくは、カラーの色値)を画素値に持つ。
第1処理部121は、展開画像P1を複数個の単位領域Uiに分割する。ただし、i=1、2、…である。単位領域Uiは、たとえば10画素×10画素などに設定される。単位領域Uiのように、複数画素からなる小領域は、スーパーピクセルと呼ばれている。単位領域Uiに含まれる画素Qnの個数は4画素以上であり、かつ展開画像P1に含まれる立体物30を構成する面3を複数の単位領域Uiに分割できる程度であればよい。ただし、n=1、2、…である。つまり、単位領域Uiは、展開画像P1を数百から数千個に分割するように設定される。なお、単位領域Uiの縦横比が1:1であることは必須ではない。
さらに、第1処理部121は、実空間における単位領域Uiの向きを求める。単位領域Uiは、たとえば100個の画素Qnを含んでいる。ここで、単位領域Uiの向きを定めるために3個の画素Qnの座標値のみを用いると、単位領域Uiからどの画素Qnを選択するかに応じて、単位領域Uiの向きにばらつきが生じる可能性がある。そこで、第1処理部121は、図3に示すように、単位領域Uiごとに、代表的な向きを表す法線ベクトルViを求める。
本実施形態において、第1処理部121は、単位領域Uiを代表する法線ベクトルViを求める。単位領域Uiの法線ベクトルViは、後述するように、統計的処理(実際は、線型回帰分析)により求められる。ただし、単位領域Uiを代表する法線ベクトルViは、単位領域Uiに含まれる画素Qnを3個ずつ組み合わせて求めた法線ベクトルの度数分布から求めることが可能である。
単位領域Uiから抽出した3個の画素Qnから求める法線ベクトルは、3個の画素Qnのうちの1個から残りの2個に向かう2つのベクトルの外積に相当する。したがって、法線ベクトルの絶対値(大きさ)は、3個の画素Qnに囲まれる面積に比例する。一方、測定点は、原点の周りで一定の角度間隔で設定されているから、原点から測定点までの距離が遠いほど、測定点の間隔が広がる。したがって、原点からの距離が遠いほど法線ベクトルの絶対値は大きくなる。原点から単位領域Uiまでの距離によらずに単位領域Uiの向きにのみ着目する場合は、法線ベクトルViの大きさを1にした単位法線ベクトルを用いる。以下において、法線ベクトルViは、原則として単位法線ベクトルを意味する。
第1処理部121が求めた単位領域Uiを代表する法線ベクトルViは、第2処理部122に引き渡される。ここに、本実施形態では、第1処理部121が展開画像P1に含まれる単位領域Uiを走査し、第1処理部121が1つの単位領域Uiについて法線ベクトルViを求めるたびに、求めた法線ベクトルViを第2処理部122に引き渡す構成を想定している。
第2処理部122は、第1処理部121から引き渡された単位領域Uiごとの法線ベクトルViを用いて、図4のように、ほぼ同じ向きの単位領域Uiを面領域Skに統合する。ただし、k=1、2、…である。言い換えると、面領域Skは、ほぼ同じ向きの法線ベクトルViを持つ単位領域Uiをまとめることにより形成される。
面領域Skには、単位領域Uiと同様に、面領域Skを代表する法線ベクトルTkが定められる。面領域Skを代表する法線ベクトルTkは、面領域Skを構成する単位領域Uiの法線ベクトルViから求めた平均値、中央値、最頻値などから選択される。なお、法線ベクトルTkは、原則として単位法線ベクトルが用いられる。
通常、展開画像P1には、複数の面領域Skが形成される。第2処理部122は、第1処理部121から引き渡された単位領域Uiを、既存の面領域Skに含めるか否かの判断を行う。この判断は、単位領域Uiと面領域Skとの内積の大きさ、および面領域Skと単位領域Uiの代表点との距離を用いる。この距離は、面領域Skに含まれるすべての単位領域Uiの代表点と、第1処理部121から引き渡された単位領域Uiの代表点との距離のうちの最小値を用いることが望ましい。距離の最小値を評価するための演算は、四則演算でよいから、処理負荷が大幅に増加することはない。
第2処理部122は、内積が所定の基準値以上、かつ距離が所定の基準距離以下である場合、第1処理部121から引き渡された単位領域Uiを、該当する面領域Skに統合する候補とする。また、内積が所定の基準値未満、あるいは距離が所定の基準距離を超える場合、第2処理部122は、第1処理部121から引き渡された単位領域Uiを、新規の面領域Skとして面領域Skのリストに加える(つまり、記憶する)。単位領域Uiの法線ベクトルViと面領域Skの法線ベクトルTkとは、ともに単位法線ベクトルを用いているから、内積と比較する基準値は、0と1との間に設定すればよく、たとえば0.9に設定される。
第1処理部121から引き渡された単位領域Uiを統合する面領域Skの候補が複数存在する場合、第2処理部122は、内積と距離とを用いた評価関数を用いて、いずれかの面領域Skを選択する。評価関数は、たとえば、(内積/距離)とし、第2処理部122は、この評価関数が最大になる面領域Skを選択する。評価関数および評価関数を用いた判断は、この例に限らず適宜に定められる。
第2処理部122は、上述の処理によって、展開画像P1に含まれるすべての単位領域Uiを面領域Skに分類する。第2処理部122が展開画像P1に含まれる単位領域Uiを分類すると、展開画像P1に含まれる単位領域Uiは、複数の面領域Sk(k=1、2、…)に区分される。個々の面領域Skは、同じ面3に属するとみなせる単位領域Uiの集合であり、複数個の単位領域Uiを含む。
ここで、面領域Skは、立体物30を構成する面3に対応しているとは限らず、家具、窓あるいは出入口のような開口部、配線器具あるいは照明器具などに対応している可能性もある。さらに、面領域Skには、計測誤差などにより生じたノイズが含まれている可能性もある。そのため、第2処理部122は、面領域Skに含まれる単位領域Uiの個数を所定の閾値と比較し、閾値以下である面領域Skは処理の対象外として面領域Skのリストから除外する(すなわち、記憶した内容を削除する)。閾値は、1個でもよいが、一般的には、立体物30の面3に含まれる単位領域Uiの個数は比較的多いから、床面31、天井面32、壁面33などと、家具などにより生じる面とを区別する場合には、閾値を比較的大きく設定すればよい。
また、立体物30を構成する面3に対応する面領域Skと、家具などにより形成された面領域Skとを区別する必要がある。そのため、第2処理部122は、入力装置42からの操作入力を入力部16を通して受け、面3に対応する面領域Skのみを抽出するように構成することが可能である。第2処理部122は、入力部16を通して受け取った入力装置42からの操作入力により面領域Skの中の1点のみが指定されると、該当する面領域Skの全体を処理の対象とするように構成されている。
上述した処理で抽出された面領域Skは、立体物30の面3に対応している可能性が高い。第2処理部122は、面領域Skごとに、面領域Skを代表する法線ベクトルTkをあらためて算出する。
ここまでの第2処理部122の動作を図5に簡単にまとめる。展開画像P1から面領域Skを生成するために、第2処理部122は、展開画像P1を走査し、単位領域Uiを順に抽出する(S101)。第2処理部122は、抽出した単位領域Uiとリストに記憶された面領域Skとについて、法線ベクトルの内積と距離とを評価する(S102)。内積が基準値以上かつ距離が基準距離以下である場合(S102:yes)、第2処理部122は、評価関数での評価結果に基づいて、単位領域Uiを面領域Skに統合する(S103)。また、内積が基準値未満または距離が基準距離を超える場合(S102:no)、第2処理部122は、単位領域Uiを新たな面領域Skとしてリストに加える(S104)。この処理は、展開画像P1のすべての単位領域Uiについて行われる(S105)。
展開画像P1のすべての単位領域Uiを面領域Skに分類する処理が終了すると(S105:yes)、面領域Skに含まれる単位領域Uiの個数が閾値以下である面領域Skは、不要な面領域Skとして処理の対象から除外される(S106)。その後、面領域Skの法線ベクトルがあらためて計算される(S107)。
ところで、モデリング装置10は、第2処理部122が分類した面領域Skごとに色情報を付与する色処理部17を備えることが望ましい。色処理部17が設けられる場合、展開画像P1の画素値を色処理部17が付与した色情報に置換した画像情報を出力する出力部15を備えることが望ましい。出力部15は、この画像情報を出力装置41に出力し、この画像情報に基づくカラー画像を出力装置41に表示させる。図6は、色処理部17で面領域Skごとに色を付与した画像を模式的に表している。図6には6個の面領域S1、S2、S3、S4、S5、S6にのみ符号を付して、色が異なることを領域に付した模様で表しているが、実際には他の部位からも面領域Skが抽出される。
色処理部17および出力部15を備えていると、利用者は、第2処理部122が分類した面領域Skを色で区別することが可能になり、所望の面領域Skを入力装置42で指定する作業が容易になる。なお、出力部15は、計測装置20から出力された画像データに対応した画像を出力装置41に表示させる機能も有する。
第3処理部123は、指定された面領域Skに含まれるすべての画素を、立体物30の特定の面3に含まれる画素と推定し、指定された面領域Skの画素の座標値を用いて、面3を表す数式を定める。面3を表す数式を定めるには、統計的処理(実際は、線型回帰分析)を行う。面3を表す数式を求める手順を以下に説明する。
面3は平面を想定しているから、座標値が(x,y,z)で表される直交座標系において、面3を表す一般式は、ax+by+cz=1である。この平面は、x切片が1/a、y切片が1/b、z切片が1/cである。測定点の座標値を用いて面3を表す数式を求めることは、a、b、cの推定値を求めることである。言い換えると、a、b、cの推定値を求めることは、測定点ごとの座標値(xi,yi,zi)が観測値であり、誤差項がeiである線型回帰モデルにおいて、線型回帰分析(linear regresison analysis)を行うことに相当する。線型回帰モデルは、axi+byi+czi+ei=1と表される。一般的な線型回帰モデルでは、誤差項eiの期待値が0、観測値ごとの誤差項eiは無相関で等分散をもつと仮定される。この仮定(ガウス・マルコフ模型)において、a、b、cの推定値は、最小二乗推定量(least squares estimator)で表される。
ここで、観測値(xi,yi,zi)の行列を[X]、(a、b、c)を要素に持つ列ベクトルを[A]、誤差項eiを要素に持つ列ベクトルを[E]、すべての要素が1である列ベクトルを[1]と表すことにする。行列とベクトルとを用いることにより、上述した線型回帰モデルは、[X][A]+[E]=[1]と書き換えられる。[A]の最小二乗推定量[〜A]は、[〜A]=([X]T[X])−1[X]T[1]という関係になることが知られている。ここに、[X]Tは[X]の転置行列を表す。[A]の最小二乗推定量[〜A]を求めるために用いた([X]T[X])−1[X]Tは、ムーア・ペンローズの逆行列と呼ばれ、逆行列を一般化した疑似逆行列であって、本実施形態では、3×3の正方行列になる。
ここに、第1処理部121において、単位領域Uiの法線ベクトルViを求める際も、同様の処理が可能である。すなわち、単位領域Uiに含まれる画素の座標値を、上述した計算に当て嵌めると、単位領域Uiについても、上述したa、b、cに相当する値が求められる。これらの値は、面の向きを表しているから、単位領域Uiに含まれる画素に対応付けた座標値を用いて、a、b、cに相当する値を求めることは、単位領域Uiを代表する法線の向きを求めることと等価である。
立体物30を構成しているすべての面3について面3を表す数式が求められると、これらの面3の数式はモデル化部13に引き渡される。モデル化部13は、2枚の面3が共有する交線と、3枚の面3が共有する頂点とを抽出することにより、立体物30を構成している面3の輪郭線を抽出する。すなわち、モデル化部13は、立体物30を表す形状モデルの情報を生成する。この形状モデルは、立体物30の頂点ごとの座標値と、2個ずつの頂点を結ぶ線分である面3の境界線に相当する数式との集合で表されたワイヤフレームモデルに相当する。モデル化部13は、面3を表す数式と、面3を囲む頂点とで表されるサーフェイスモデルに相当する形状モデルを形成してもよい。
本実施形態の立体物30は部屋であるから、数式で表される面3は、通常、床面31、天井面32、壁面33のいずれかである。したがって、部屋の形状モデルを生成する際には、面3を、床面31、天井面32、壁面33のいずれかに対応付ける必要がある。面3を床面31、天井面32、壁面33のいずれかに対応付ける場合、モデル化部13は、出力装置41であるモニタ装置の画面に形状モデルを表示し、形状モデルにおける面ごとに入力装置42から種類の情報を受け付ければよい。つまり、床面31、天井面32、壁面33のいずれかの種類を、形状モデルの面ごとに利用者が特定する。たとえば、右回りに、天井面32、床面31、壁面33というように、選択する順番で形状モデルの面の種類を定めてもよい。
また、モデル化部13は、計測データである座標値に基づいて、床面31と天井面32とのように部屋の上下に位置する面3を識別してもよい。つまり、モデル化部13は、部屋の形状モデルにおいて床面31と天井面32とを自動的に割り当て、形状モデルに含まれる面3のうち床面31と天井面32とを除く面3を壁面33に割り当てればよい。このようにモデル化部13が面3を自動的に判別する構成は、上述した利用者が面3の種類を指定する構成と組み合わせて用いることも可能である。たとえば、モデル化部13は、自動的に判別した面3の種類について、入力装置42による修正が可能になるように構成されていることが望ましい。
ところで、面3を表す数式を用いて、交線と頂点とを求めた場合、交線が直交せず、矩形状になるべき面3の形状が、平行四辺形状、台形状、あるいは不等辺四角形などになる可能性がある。利用者が、出力装置41であるモニタ装置と、入力装置42とを用いて、手作業で面3の形状を修正することは可能であるが、手作業が介入すると、得られた結果が利用者の熟練度などに依存して、利用者による結果のばらつきを生じる可能性がある。
そこで、第3処理部123は、図7のように、抽出された面3ごとに面3に外接する矩形領域25を設定する。この矩形領域25は、数式から得られた面3を拡張する最大の範囲として定められ、矩形領域25に含まれる測定点を面3に含めてよいか否かが評価される。つまり、第3処理部123は、面3の法線方向において、矩形領域25に含まれる測定点と面3との距離を求め、距離が所定の基準距離以下であれば、該当する測定点を、面3に加える候補とする。
候補が複数得られると、第3処理部123は、面3を表す数式を求めた処理と同様にして、候補を含む面を表す数式の再計算を行う。再計算に用いる測定点は、矩形領域25の設定によって対象となった測定点だけでよい。次に、面3から適宜に抽出した3点を、再計算によって求められた面に投影し、面3から抽出した3点の座標値を、投影後の座標値に変換する。この処理により、面3から抽出した3点には新たな座標値が設定される。第3処理部123は、3点の座標値を用いて、面3に相当する数式の再計算を行う。隣接する面3について同様の再計算を行って面3を表す数式を求め、さらに、再計算後の数式を用いて交線および頂点を求める。
このように矩形領域25を用いて測定点をあらためて抽出し、抽出した測定点を用いて面3を表す数式を修正すると、立体物30において矩形状になるべき面3が矩形状になるように修正される。しかも、面3の形状を修正する作業は、利用者が介在することなく行われるから、立体物30の形状モデルを再現性よく生成することが可能になる。
3次元の形状モデルが生成されると、モデル化部13は、モデリング装置10が構築した仮想の3次元空間に、3次元の座標値で表された立体物30を配置することが可能になる。モデル化部13が生成した3次元の形状モデルは、モデル化部13に設けたモデル記憶部131に格納される。
モデル記憶部131に格納された形状モデルのデータは、出力部15を通して出力装置41に出力することが可能である。すなわち、出力部15は、出力装置41にコンピュータグラフィックスによる仮想の3次元空間を形成し、この3次元空間に3次元の座標値で表した仮想の立体物30を配置する。出力装置41がモニタ装置である場合には、利用者は、3次元空間の座標軸を変更するか、立体物30を見込む視点の位置を変更するように入力装置42を用いて操作することにより、立体物30を様々な方向から見ることが可能になる。
ところで、形状モデルのデータは、面3を表す数式と、隣り合う2つの面3の境界線を表す数式と、隣接した3つの面3の交点の座標値と、測定点の座標値とを含んでいる。出力部15は、これらのデータを用いることにより、出力装置41であるモニタ装置に表示する際に、部屋の内側から見た形状モデルを表示することが可能である。
部屋の内側から見た形状モデルを用いると、室内のリフォームなどを行う場合のシミュレーションに利用することが可能になる。すなわち、クロス、カーテン、照明器具など、室内を装飾する機能を有した部材の変更により、室内の様子がどのように変化するかを、出力装置41であるモニタ装置の画面上で確認することが可能になる。
上述した動作例では、単位領域Uiの集合である面領域Skのうち、立体物30を構成する面3に対応する面領域Skを利用者が指定しているから、面領域Skの指定が適切であれば、面3を表す数式を適正に定めることが可能である。ただし、面3と面領域Skとが一対一に対応しているとは限らず、面3に対応する面領域Skが複数に分割される場合もある。この場合、面3を表す数式を求めるために他の情報も用いることができるにもかかわらず、使用可能な情報を十分に活用できていない可能性がある。
したがって、第3処理部123が数式を定める際に用いる情報量を増やすために、第2処理部122は、同じ面3に対応した面領域Skを統合する機能を有していることが望ましい。つまり、いずれかの面領域Skに含まれる画素を利用者が指定したときに、同じ面3に対応した他の面領域Skが存在すると、第2処理部122は、同じ面3に対応した他の面領域Skの画素も同時に抽出することが望ましい。
(動作例2)
上述した動作例では、向きが同じである単位領域Uiを1つの面領域Skにまとめているから、壁面33に段差がある場合のように、互いに平行であっても異なる面3に対応した単位領域Uiを区別することができない。したがって、単位領域Uiの向きのみの情報を用いて単位領域Uiを統合した面領域Skを形成すると、複数の面3を1つの面領域Skに統合する可能性が残る。
上述した動作例では、向きが同じである単位領域Uiを1つの面領域Skにまとめているから、壁面33に段差がある場合のように、互いに平行であっても異なる面3に対応した単位領域Uiを区別することができない。したがって、単位領域Uiの向きのみの情報を用いて単位領域Uiを統合した面領域Skを形成すると、複数の面3を1つの面領域Skに統合する可能性が残る。
そこで、第2処理部122は、単位領域Uiの向き以外の付加情報を併せて用いることが望ましい。つまり、第2処理部122は、単位領域Uiを向きの情報で分類することにより形成された面領域Skの候補について、付加情報を用いることにより、複数の面3が1つの面領域Skに統合されているか否かを検証することが望ましい。ただし、面3が連続した1枚の面であることが明らかである場合は、付加情報を用いる処理は不要である。付加情報は、たとえば、原点から単位領域Uiまでの距離であり、また、付加情報は、原点から単位領域Uiまでの距離と、複数の単位領域Uiの間の距離とであってもよい。
付加情報が原点から単位領域Uiまでの距離である場合、第2処理部122は、展開画像P1に対して形成した複数の単位領域Uiのうちの2個ずつの単位領域Uiを抽出する。次に、第2処理部122は、抽出した2個の単位領域Uiの法線ベクトルの内積を求め、内積が基準値以上である2個の単位領域Uiについて、それぞれ原点からの距離を求める。さらに、第2処理部122は、原点から2個の単位領域Uiそれぞれまでの距離の差を求め、差が基準範囲内であれば、2個の単位領域Uiを同じ面領域Skに分類する。
単位領域Uiの原点からの距離は、単位領域Uiの代表点と原点との間の距離が用いられる。代表点には、展開画像P1における単位領域Uiの中心の画素、あるいは展開画像P1における単位領域Uiの角(たとえば、左上角)の画素などが用いられる。
いま、床面31に平行な面で壁面33を切断した線を想定し、この線上での単位領域Uiの座標値と距離との関係を模式的に表すと、たとえば、図8A、図8Bのようになる。ここに、計測装置20は、立体物30である部屋の中心付近に配置されていると仮定する。また、上述したように、距離を計測する原点は計測装置20が設置された場所に設定される。このような条件下では、計測装置20が壁面33に正対する位置で距離が最小であり、壁面33の両端付近で距離が最大である曲線になる。
壁面33が平面であれば、図8Aのように、滑らかな曲線が得られる。この曲線は、理想的には、原点から壁面33を見込む角度に応じた正割曲線(余弦の逆数である曲線)になる。一方、図8Bに示す例は、壁面33の2箇所に凹みがある場合を示しており、凹みに対応する部位では、距離が不連続に増加している。内積を求めた単位領域Uiの一方が凹みではない部位に存在し、他方が凹みに対応する部位に存在するとき、法線ベクトルの内積は基準値以上になる可能性があるものの、原点からの距離の差は比較的大きくなる。したがって、第2処理部122は、単位領域Uiは同じ面3に属していないと判断する。このように、単位領域Uiごとの原点からの距離を用いると、同じ向きの単位領域Uiであっても、距離の相違によって分離することが可能になる。
ところで、距離を求める2個の単位領域Uiの間隔は、法線ベクトルの内積が基準値以上であるという制約条件によって、比較的小さいことが保証されるが、他の単位領域Uiが存在することは排除されていない。したがって、面領域Skを分離する精度は、単位領域Uiの大きさよりも大きくなる可能性がある。
付加情報が、原点から単位領域Uiまでの距離だけではなく、複数の単位領域Uiの間の距離を含んでいれば、第2処理部122が判断に用いる情報量はさらに増加する。ここで、複数の単位領域Uiの間の距離は、2つの単位領域Uiの代表点の間の距離であり、付加情報は、この距離が基準距離の範囲内であるか否かという判断結果である。すなわち、付加情報は、法線ベクトルの内積を求めた2つの単位領域Uiが隣接しているか否かという情報である。基準距離は単位領域Uiの大きさによって定まり、たとえば、単位領域Uiの一辺の画素数に数画素を加えた距離が基準距離になる。
第2処理部122は、展開画像P1に対して形成した複数の単位領域Uiのうちの2個ずつの単位領域Uiを抽出する。第2処理部122が抽出する2個の単位領域Uiは、代表点間の距離が基準距離の範囲内であると判定された単位領域Uiであり、言い換えると、隣接している単位領域Uiである。隣接している2個の単位領域Uiの法線ベクトルの内積が基準値以上であれば、2つの単位領域Uiはほぼ同じ向きであると推定される。さらに、それぞれの単位領域Uiと原点との距離の差が基準範囲内であれば、2つの単位領域Uiは同じ面3に属していると推定される。動作例2の他の動作は動作例1と同様である。
なお、上述した動作例では、2つの単位領域Uiの距離が基準距離の範囲内であることを判定する処理の後に、2つの単位領域Uiの法線ベクトルの内積を求めているが、これらの処理の順序は逆でもよい。
(動作例3)
上述した動作例は、第2処理部122において、第1処理部121から引き渡された1個ずつの単位領域Uiを、先にリストに加えられている面領域Skに属するか否かを評価している。つまり、単位領域Uiの法線ベクトルViとリスト中の面領域Skの法線ベクトルTkとの内積、および単位領域Uiと面領域Skとの距離を用いて、単位領域Uiを面領域Skに統合するか否かが決められている。このような逐次処理を行うと、面領域Skに単位領域Uiが統合されるに従って、面領域Skの法線ベクトルTkが変化し、法線ベクトルTkが本来の面3の法線ベクトルから逸脱する可能性がある。
上述した動作例は、第2処理部122において、第1処理部121から引き渡された1個ずつの単位領域Uiを、先にリストに加えられている面領域Skに属するか否かを評価している。つまり、単位領域Uiの法線ベクトルViとリスト中の面領域Skの法線ベクトルTkとの内積、および単位領域Uiと面領域Skとの距離を用いて、単位領域Uiを面領域Skに統合するか否かが決められている。このような逐次処理を行うと、面領域Skに単位領域Uiが統合されるに従って、面領域Skの法線ベクトルTkが変化し、法線ベクトルTkが本来の面3の法線ベクトルから逸脱する可能性がある。
そこで、第2処理部122は、動作例1の処理によって、面領域Skが抽出された後、展開画像P1のすべての単位領域Uiについて、すでに抽出されている面領域Skに属するか否かを再評価する処理を行うことが望ましい。すなわち、第2処理部122は、展開画像P1に含まれるすべての単位領域Uiを、すでに抽出された既存の面領域Skに統合すべきか否かを順に評価する。ここにおいて、単位領域Uiを既存の面領域Skに統合することは、実際には、面領域Skに付与したラベルを単位領域Uiに与えることを意味している。
評価方法は、動作例1と同様であって、単位領域Uiの法線ベクトルViと、面領域Skの法線ベクトルTkとの内積が基準値以下、かつ単位領域Uiと面領域Skとの距離が基準距離以上であることを、面領域Skへの統合の条件とする。条件を満足しない単位領域Uiは、すでに面領域Skに統合されていても、面領域Skから除外される。
第2処理部122は、上述した条件を満足した単位領域Uiを統合する候補の面領域Skが複数存在する場合は、動作例1と同様に、内積と距離とを含む評価関数を用いて、単位領域Uiを統合する面領域Skを決定する。展開画像P1におけるすべての単位領域Uiについて、統合先である面領域Skが決まると、面領域Skごとに法線ベクトルTkが計算される。面領域Skの法線ベクトルTkは、上述したように、平均値、中央値、最頻値などから選択される。
動作例3は、動作例1または動作例2において第2処理部122が面領域Skを求めた処理を前処理とし、前処理に上述した処理を付加することによって、展開画像P1から面領域Skを抽出する精度を高めている。前処理後の動作例3の処理を図9に簡単にまとめる。前処理(S110)の後、展開画像P1から面領域Skを生成するために、第2処理部122は、展開画像P1をふたたび走査し、単位領域Uiを順に抽出する(S111)。第2処理部122は、抽出した単位領域Uiとリストに記憶された既存の面領域Skとについて、法線ベクトルの内積と距離とを評価する(S112)。内積が基準値以上かつ距離が基準距離以下である場合(S112:yes)、第2処理部122は、評価関数での評価結果に基づいて、単位領域Uiを既存の面領域Skに統合する(S113)。また、内積が基準値未満または距離が基準距離を超える場合(S112:no)、第2処理部122は、該当する単位領域Uiを破棄する。以上の処理は、展開画像P1のすべての単位領域Uiについて行われる(S114)。
展開画像P1のすべての単位領域Uiを面領域Skに分類する処理が終了すると(S114:yes)、面領域Skが確定したことになり、面領域Skの法線ベクトルがあらためて計算される(S115)。
ところで、動作例1、動作例2、動作例3では、単位領域Uiを分類して面領域Skを形成するために、単位領域Uiの法線ベクトルViと面領域Skの法線ベクトルTkとの内積を用いている。つまり、法線ベクトルVi、Tkにより単位領域Uiおよび面領域Skの向きを評価している。これに対して、単位領域Uiおよび面領域Skの向きを、基準の向きに対する角度で表すことも可能である。すなわち、直交座標系の座標値で表した面3の数式から法線ベクトルを求める代わりに、極座標(すなわち、球座標)で表すことにより、単位領域Uiおよび面領域Skの向きを2つの角度の組で表すようにしてもよい。面3の向きを極座標で表す場合には、測定点の座標値を、極座標系の座標値から直交座標系の座標値に変換せずに、極座標のままで扱うことが可能である。
極座標では、単位領域Uiの向きは2つの角度の組で表される。x軸とy軸とz軸とを持つ直交座標空間であれば、法線ベクトルをxy平面に投影した直線がx軸に対してなす角度と、法線ベクトルがz軸に対してなす角度との2個の角度により、単位領域Uiの向きが表される。xy平面を地面に見立てると、前者の角度は方位角に相当し、後者の角度は仰角または伏角に相当する。
ここでは、前者の角度を第1角度、後者の角度を第2角度と呼ぶ。2個の単位領域Uiについて同じ向きとみなせるか否かを評価するには、第1角度の差分の二乗と、第2角度の差分の二乗とを加算した値を用いればよい。つまり、第2処理部122は、第1角度の差分と第2角度の差分の二乗和が、適宜に設定した閾値以下であるときに、2個の単位領域Uiを同じ面領域Skに属すると判断すればよい。2個の単位領域Uiを同じ向きとみなすか否かを判断する技術は、1つの単位領域Uiが面領域Skに属するか否かを判断する技術にも適用可能である。
ところで、計測装置20が計測した測定点の分布密度にはばらつきがある。そこで、立体物30を含む空間に3次元格子を設定し、3次元格子を構成する単位格子ごとに代表となる計測データを定めてもよい。3次元格子の単位格子は、立方体であることが望ましい。このような単位格子は、いわゆるボクセルと同様に扱われる。格子定数は、複数個の測定点が含まれるように設定され、たとえば10mmに定められる。単位格子は、立方体以外の形状であってもよい。
立体物30を含む空間に3次元格子を設定することは、当該空間を単位格子で満たすことと等価である。単位格子には、複数個の測定点が含まれる場合と、測定点が含まれない場合とがある。測定点が含まれる場合、それぞれの単位格子を代表する計測データが求められる。単位格子を代表する計測データは、単位格子に含まれる測定点の座標値から求められる座標値の平均値あるいは重心の座標値とする。つまり、単位格子ごとに1個の計測データが得られる。
単位格子を代表する計測データを展開画像P1に適用すると、展開画像P1における計測データの分布密度のばらつきが抑制され、かつ展開画像P1における測定データの個数が低減される。展開画像P1に単位格子ごとの計測データを設定した後の処理は、上述した通りである。つまり、展開画像P1が単位領域Uiに分割され、単位領域Uiごとに面領域Skに分類され、面領域Skから面3を表す数式が求められ、最終的に形状モデルが生成される。
(動作例4)
上述した動作例において求めた平面式(面3の数式)について、さらに頑健性(robustness)の高い推定を行うために、第3処理部123は以下の処理(M推定という)を行うことが可能である。M推定を行うために、まず、推定の範囲(たとえば、±5mm)、収束条件(たとえば、±1mm)、繰り返し回数が定められる。
上述した動作例において求めた平面式(面3の数式)について、さらに頑健性(robustness)の高い推定を行うために、第3処理部123は以下の処理(M推定という)を行うことが可能である。M推定を行うために、まず、推定の範囲(たとえば、±5mm)、収束条件(たとえば、±1mm)、繰り返し回数が定められる。
(1)第3処理部123は、いずれかの面領域Skに含まれる測定点(単位格子を代表する測定点でもよい)を用いて動作例1と同様の手順で面3を表す数式を求める。以下、この数式で表される面3を候補面と呼ぶ。さらに、(2)第3処理部123は、候補面から推定の範囲の立体空間に含まれる測定点を用いて、面3の数式を再計算する。
次に、(3)第3処理部123は、再計算の用いた測定点について候補面との距離(つまり、候補面に対する誤差)を求め、距離に応じた重み係数を定める。重み係数は、1以下の値であって、たとえば、{1−(距離/推定の範囲)2}2などの値に設定される。第3処理部123は、(4)この重み係数を測定点の座標値に乗じた値を、測定点の座標値に用いて面3の数式を再計算する。
そして、第3処理部123は、求めた数式で表される面3を次の候補面とし、上述した(2)から(4)の処理を、収束条件が満たされるか、繰り返し回数に達するまで繰り返す。このような処理によって、面3の数式に対する寄与度に応じた重み係数を測定点に適用し、面3の数式を決定する際に、誤差の大きい異常値の影響を低減させ、結果的に頑健性の高い面3の推定が可能になる。なお、他の処理については、上述した動作例と同様に行えばよい。
(動作例5)
動作例3において説明したように、計測装置20が計測した測定点の分布密度にはばらつきがある。すなわち、計測装置20は、上述したように、極座標系の座標値を計測しているから、立体物30までの距離が近いと測定点の分布密度が高くなり、立体物30までの距離が遠いと測定点の分布密度が低くなる。一方、面3として平面を想定しているにもかかわらず、計測装置20が計測した面3に歪み(平面からのずれ)があると、面3の数式を求めるために用いる測定点には、求めようとする平面からずれた測定点が含まれることになる。
動作例3において説明したように、計測装置20が計測した測定点の分布密度にはばらつきがある。すなわち、計測装置20は、上述したように、極座標系の座標値を計測しているから、立体物30までの距離が近いと測定点の分布密度が高くなり、立体物30までの距離が遠いと測定点の分布密度が低くなる。一方、面3として平面を想定しているにもかかわらず、計測装置20が計測した面3に歪み(平面からのずれ)があると、面3の数式を求めるために用いる測定点には、求めようとする平面からずれた測定点が含まれることになる。
ここで、計測装置20から近い部位の測定点は、計測装置20から遠い部位の測定点に比べて分布密度が高いから、面3の数式には、計測装置20から近い部位の測定点の情報が反映されやすくなる。すなわち、計測装置20から近い部位において面3に歪みがあると、得られた面3の数式は、求めようとする面3の数式からずれる可能性が高くなる。
また、本実施形態で計測装置20として使用している3Dレーザスキャナは、測定部が水平面に沿って回転し、レーザを垂直面に沿って走査する。そのため、計測装置20の直上付近をレーザが多数回通過し、計測装置20の直上付近の走査点の密度が高くなる。つまり、計測装置20の直上付近の測定点の分布密度は、計測装置20の特性上から必然的に高くなる。
また、天井面32は、計測装置20の直上付近において計測装置20からの距離がもっとも小さくなるから、上述した計測装置20の特定に加えて、計測装置20からの距離が近いことによって、計測装置20の直上付近の測定点の分布密度は非常に高くなる。そして、測定点の分布密度が高い領域が、天井面32の歪みの部分と重なった場合、このような測定点を含む測定点群から求めた面3の数式は、求めようとする天井面32の数式に対して大幅にずれることになる。その結果、求めた天井面32の数式を用いて部屋のモデリングを行うと、部屋の寸法に大きな誤差を生み出すことになる。
ところで、計測装置20を用いて部屋を囲む面3を計測する場合、計測装置20は、通常は、部屋の壁面33から離れた部位に配置される。また、部屋を囲む面3のうち、床面31および壁面33は、歪みが生じる可能性が比較的低いが、天井面32は、歪みが生じる可能性が床面31および壁面33に比べて高くなる。一般の住宅であれば、天井を構成する天井材に下向きに作用する荷重は、壁を構成する部材などが受けており、天井材の中央部は照明器具などによる下向きの荷重が作用しているにもかかわらず下から支えられていない。そのため、天井材は、周部よりも中央部が下がりやすくなる。
以上のことから、天井材に上述のような歪みが生じる場合を考慮すれば、天井面32に属する測定点を用いて天井面32を表す数式を求める際には、天井面32の中央部から求めた測定点を除外することが望ましいと言える。部屋を囲む面3の歪みは、天井面32に生じやすいから、天井面32のみを対象にしているが、床面31あるいは壁面33であっても、以下に説明する処理を適用することが可能である。
すなわち、天井面32の数式を求める際には、図10に示すように、天井面32の中央部の領域D2に含まれる測定点を除外し、天井面32の周部に定めた領域D1に含まれる測定点のみを用いる。領域D1の大きさは、天井面32の面積によらず、天井面32の境界線(天井面32を囲む辺)からおおむね40cmから50cm程度の幅W1を持つことが望ましい。
面3の数式を求めるために用いる測定点を、領域D1に含まれる測定点の範囲に制限するには、天井面32と壁面33との境界線をあらかじめ求めることが必要である。一方、境界線を求めるには面3の数式を求めることが必要である。そこで、天井面32と壁面33との境界線を求めるために、動作例1と同様の手順で求めた面3を表す数式を求め、この数式で表される面3を候補面とし、候補面に基づいて境界線を仮に求める。
求めた境界線は、天井面32と壁面33との真の境界線に一致しないまでも、真の境界線がこの境界線から所定の距離内(たとえば、10cm内)に存在すると推定することには妥当性がある。したがって、天井面32を囲む境界線を基準にして定めた所定の幅W1の領域D1に含まれる測定点を用いた場合でも、天井面32の中央部の領域D2に含まれる測定点を除外していることになる。すなわち、候補面に基づいて求めた境界線を用いて領域D1を設定しても、天井面32の中央部の測定点を除外し、天井面32の周部の測定点を抽出することが可能である。
上述のように、天井面32のうち面3の数式を求めるために用いる測定点を、天井面32の周部に関する測定点に制限することによって、求めようとする面3の数式からずれる可能性が高い測定点を除外することが可能になる。すなわち、誤差が生じる可能性のある測定点を除外して面3の数式を求めることにより、面3の数式を精度よく求めることが可能になる。このように天井面32の周部の領域D1における測定点を抽出し、抽出した測定点から面3の数式を求める処理は、面抽出部12の第3処理部123が行う。ただし、境界線を抽出する処理は、モデル化部13が行う処理であるから、第3処理部123が、モデル化部13の処理の一部をサブルーチンとして使用するようにプログラムが構成されていることが望ましい。動作例5では、第1処理部121、第2処理部122に相当する構成は省略してもよい。つまり、面抽出部12は、領域D1における測定点を抽出するほか、第3処理部123に相当する処理が可能であればよい。
ところで、天井面32の周部の領域D1における測定点を抽出する場合、上述したように、候補面に基づいて境界線を仮に求める処理が必要である。これに対して、計測装置20を配置する場所を制限し、かつ計測装置20が計測した測定点の座標値に制約条件を設定すると、面3の数式を算出するために用いる測定点を制限することが可能である。
計測装置20を配置する場所については、たとえば、部屋のすべての壁面33から計測装置20までの距離を所定値以上にするという条件を定める。また、測定点の座標値(極座標系の座標値)について、たとえば、計測装置20がレーザを走査した角度θが所定の角度以上(角度θが鉛直方向を基準にしている場合)であることを制約条件とする。あるいは、測定点の座標値について、測定点までの距離δが所定値以上(極座標系の座標値)であること、または測定点までの距離δについて最小距離に対して1より大きい所定倍率以上であることを制約条件とする。
制約条件は、天井面32の周部の測定点を抽出するために定められる。計測装置20は床面31の中央に配置することが望ましいが、壁面33から十分に離してあればよい。部屋が5m×3.5mであるとすれば、壁面33から計測装置20までの最小距離は、たとえば1.5m以上などに設定される。また、計測装置20および天井面32の床面31からの高さなどによって異なるが、一例を示すと、制約条件は、天井面32として指定された面領域Skにおいて、角度θが35°以上、距離が2.5m以上、または天井面32と計測装置20との最小距離の120%以上などの形式で定められる。もちろん、これらの数値は一例であり、天井面32の中央分の測定点を除外し、天井面32の周部の測定点を抽出するという目的を達成する範囲において、適宜に定めることが可能である。
天井面32の周部の領域D1における測定点を抽出する処理を行う場合には、第3処理部123が境界線を仮に定め、さらにこの境界線を用いて領域D1を定めることが必要である。これに対して、測定点の座標値(角度θあるいは距離δ)に制約条件を設定する場合には、境界線を仮に求める処理が不要であるから、処理負荷が軽減される。すなわち、面3の数式を求める処理において、測定点の個数が制限されることにより処理負荷が軽減される。
また、制約条件を満足する測定点を抽出する処理は、第3処理部123に前置させることが可能である。すなわち、面抽出部12において面3の数式を求める処理を行う前に、誤差が生じる可能性のある測定点を除外しておくことによって、面3の数式を精度よく求めることが可能になる。なお、動作例5は、上述した他の動作例と組み合わせて用いることが可能である。
動作例5のように、天井面32について測定点を抽出する範囲を、壁面33に比較的近い天井面32の周部に制限することによって、天井面32の歪みの影響が軽減され、天井面32に関する数式を精度よく定めることが可能になる。たとえば、天井面32のすべての測定点を用いて定めた面3の数式から天井面32の高さ(床面31を基準にした高さ)を求めると、高さの実測値に対して1%から2%の誤差が生じている場合でも、上述した処理を行うと、誤差が0.1%から0.2%程度まで改善された。すなわち、一般的に、住宅の天井面32は床面31からの高さが2400mmから〜2700mm程度であるから、誤差を±10mm以下に抑えることができた。
なお、上述したように、動作例5では天井面32の数式を求める場合について説明したが、床面31あるいは壁面33の数式を求める場合でも、必要に応じて同様の技術を採用することが可能である。また、動作例5のように、面3の数式を求める際に精度を低下させる可能性がある測定点を除外して面3の数式を求めた後、該当する面3に分布する測定点と面3との関係を求めることによって、面3の歪みを計測することが可能である。
以上説明したように、本実施形態のモデリング方法は、以下の手順により立体物30の形状モデルを生成する。すなわち、立体物30の3次元計測を行う計測装置20から、立体物30に属する複数の測定点について3次元の座標値である計測データをデータ取得部11が取得する。次に、計測データを用いて立体物30を構成する面3を表す数式を面抽出部12が生成する。その後、数式を用いて立体物30を表した形状モデルをモデル化部13が生成する。
面抽出部12は、第1処理と第2処理と第3処理とを行うことが望ましい。第1処理部121が行う第1処理では、立体物30を平面上に展開した2次元画像であって計測データを画素値に持つ展開画像P1を用い、展開画像P1を複数の単位領域Uiに分割し、かつ複数の単位領域Uiの向きをそれぞれ求める。第2処理部122が行う第2処理では、単位領域Uiごとに、向きを含む条件を用いて、単位領域Uiが属する面3に相当する面領域Skに分類する。第3処理部123が行う第3処理では、面領域Skごとに面3を表す数式を定める。
また、本実施形態のモデリング装置10は、データ取得部11と面抽出部12とモデル化部13とを備える。データ取得部11は、立体物30の3次元計測を行う計測装置20から、立体物30に属する複数の測定点について3次元の座標値である計測データを取得する。面抽出部12は、計測データを用いて立体物30を構成する面3を表す数式を生成する。モデル化部13は、数式を用いて立体物30を表した形状モデルを生成する。
面抽出部12は、第1処理部121と第2処理部122と第3処理部123とを備えていることが望ましい。第1処理部121は、立体物30を平面上に展開した2次元画像であって計測データを画素値に持つ展開画像P1を用い、展開画像P1を複数の単位領域Uiに分割し、かつ複数の単位領域Uiの向きをそれぞれ求める。第2処理部122は、単位領域Uiごとに、向きを含む条件を用いて、単位領域Uiが属する面3に相当する面領域Skに分類する。第3処理部123は、面領域Skごとに面3を表す数式を定める。
上述の方法および構成では、展開画像P1を分割した単位領域Uiを、ほぼ同じ向きの単位領域Uiごとにまとめ、まとめた単位領域Uiにより面領域Skを形成しているから、立体物30の面3に相当する面領域Skは、通常は複数個の単位領域Uiを含む。したがって、このような面領域Skを用いて面3を表す数式を定めると、数個程度の測定点を用いて面3を表す数式を定める場合に比べて外れ値の影響が軽減され、結果的に、立体物30の形状モデルを精度よく生成することが可能になる。また、立体物30を構成する面3の一部に関する測定点しか得られない場合でも、面3に関する情報を持つ単位領域Uiを集積して面領域Skが形成される。したがって、面3を表す数式を定めるために用いることができる情報量が多くなり、それだけ精度のよい数式を定めることが可能になる。
また、単位領域Uiは、複数の画素を含むスーパーピクセルであって、個々の測定点を個別に扱う場合と比較すると処理の負荷が少ない。しかも、上述したように、単位領域Uiの向きを定める処理と、面領域Skから面3を表す数式を求める処理とにおいて、統計的処理を行うことができるから、測定点に外れ値が含まれている場合でも、外れ値の影響を軽減ないし除去することが可能である。つまり、立体物30を構成する面3を表す適正な数式を得ることができ、結果的に、生成される形状モデルの精度が高くなる。
面抽出部12は、以下の条件で抽出した測定点を用いて当該1つの面3を表す数式を求める。すなわち、面抽出部12は、立体物30のうちの1つの面3と、当該1つの面3を囲む複数の面3とをそれぞれ表す数式を用いて、当該1つの面3を囲む境界線を求める。その後、面抽出部12は、当該1つの面3に属する測定点のうち、境界線から当該1つの面3の内側に所定の幅W1で定めた領域D1内の測定点を抽出する。
この構成によれば、立体物の1つの面3の周部の測定点のみを用いて当該1つの面3の数式を求めるから、当該1つの面3の中央部に歪みが生じていても、歪みの影響を軽減して当該1つの面3の数式を精度よく求めることが可能になる。
立体物30は、床面31と天井面32と複数の壁面33とに囲まれた部屋であってもよい。この場合、上述した1つの面3は天井面32であり、1つの面3を囲む複数の面3は壁面33であることが望ましい。
この構成によれば、天井面32の周部の測定点のみを用いて天井面32の数式を求めるから、天井面32の中央部に歪みが生じていても、歪みの影響を軽減して天井面32の数式を精度よく求めることが可能になる。
第3処理部123は、測定点のうち計測装置20に対する位置について設定した制約条件を満足する測定点を用いて面3を表す数式を定めることが望ましい。制約条件は、面3の中央部における測定点を除外するように定められていることが望ましい。
この構成によれば、立体物30を構成する面3の中央部の測定点を除外し、面3の境界線に近い周部の測定点のみを用いて面3の数式を定めている。したがって、立体物30を面3の境界線で表すことによって立体物30のモデリングを行う場合に、面3の数式を精度よく定めることが可能になる。
モデリング装置10は、第2処理部122が分類した面領域ごとに色情報を付与する色処理部17と、展開画像P1の画素値を色情報に置換したカラー画像の画像情報を出力する出力部15とを備えることが望ましい。
この構成によれば、面領域Skを色によって識別することが可能になるから、出力されたカラー画像の画像情報をモニタ装置の画面に表示するか、プリンタで印刷すると、利用者にとって面領域Skの認識が容易になる。たとえば、利用者が特定の面領域Skを指定する場合に、色で区別されるから、不要な面領域Skを誤って指定する可能性が低減される。
第2処理部122は、前処理の後に、展開画像P1から単位領域Uiを順に抽出し、前処理で定めた面領域Skに、抽出した単位領域Uiを対応付けることが望ましい。第2処理部122は、前処理において、展開画像P1から単位領域Uiを順に抽出し、抽出した単位領域Uiを順に分類することにより面領域Skを定める。
この構成によれば、展開画像P1から単位領域Uiを順に抽出して面領域Skに振り分ける前処理を行っており、単位領域Uiが統合されるに従って面領域Skの向きが変化することがある。つまり、前処理のみでは、単位領域Uiが面領域Skに統合されるタイミングによって、統合される単位領域Uiの向きの範囲に相違が生じる可能性がある。言い換えると、前処理のみでは、単位領域Uiが面領域Skに統合されるタイミングによっては、統合のための条件が変化し、不要な単位領域Uiが面領域Skに統合される可能性がある。
これに対して、上述した構成によれば、前処理の後に、面領域Skの向きを固定した状態で、単位領域Uiを面領域Skに組み入れる処理を行うから、単位領域Uiを面領域Skに統合する際の条件が変化しない。つまり、面領域Skに統合された単位領域Uiは、ほぼ同じ向きであることが保証され、結果的に、面3を表す数式の精度が高くなり、立体物30を表す形状モデルの精度が高くなる。
本実施形態のモデリング装置10において、面3は平面であって、向きは単位領域Uiの法線ベクトルViで表されることが望ましい。
この構成によれば、面3が平面であるから、数式は線型式になる。しかも、単位領域Uiの法線ベクトルViも平面について求めればよいから、計算量が比較的少なく、多くの測定点の情報を用いて形状モデルを生成するにもかかわらず、処理負荷は比較的小さく、実用的な時間内で処理を行うことが可能である。
第2処理部122は、複数の単位領域Uiのうちの2個ずつの単位領域Uiについて、法線ベクトルViの内積を求め、内積が所定の基準値以上である場合に、内積を求めた2個の単位領域Uiを同じ面領域Skに分類すればよい。
この構成によれば、2個の単位領域Uiの向きを評価するために内積を用いており、内積が基準値以上であれば、ほぼ同じ向きであるとみなして、同じ面領域Skに分類している。つまり、法線ベクトルが求められた後は、内積を求めるという単純な処理で、2つの単位領域Uiの向きがほぼ同じか否かを評価するから、処理負荷の増大が抑制される。
また、第2処理部122は、複数の単位領域Uiのうちの2個ずつの単位領域Uiについて、法線ベクトルViの内積と、立体物30が存在する実空間に定めた原点から内積を求めた2個の単位領域Uiそれぞれまでの距離とを求めてもよい。第2処理部122は、内積が所定の基準値以上であって、距離の差が所定の基準範囲内である場合、内積を求めた2個の単位領域Uiを同じ面領域に分類する。
この構成によれば、2個の単位領域Uiの向きを評価するために内積だけではなく、個々の単位領域Uiの原点からの距離を用いている。内積が基準値以上であれば、2個の単位領域Uiをほぼ同じ向きであるとみなすが、距離が基準範囲を超えて異なる場合は、2個の単位領域Uiは同じ面を構成していないと判断される。このように、内積に加えて原点からの距離を用いることによって、情報量が増加し、単位領域Uiを分類する精度が高められる。
あるいは、第2処理部122は、複数の単位領域Uiのうちの隣接する2個ずつの単位領域Uiについて、法線ベクトルViの内積と、立体物30が存在する実空間に定めた原点から内積を求めた2個の単位領域Uiそれぞれまでの距離とを求めてもよい。第2処理部122は、この場合も、内積が所定の基準値以上であって、距離の差が所定の基準範囲内である場合、内積を求めた2個の単位領域Uiを同じ面領域に分類する。
この構成によれば、2個の単位領域Uiの向きを評価するために内積だけではなく、個々の単位領域Uiの原点からの距離を用いている。しかも、単位領域Uiが隣接していることを制限条件に加えている。すなわち、離れた場所に存在する単位領域Uiは同じ面を構成していないと判断される。この構成では、内積に加えて、原点からの距離および2個の単位領域Uiの間の距離を用いるから、情報量が増加し、単位領域Uiを分類する精度が高められる。
本実施形態のモデリング装置10において、面3は平面であって、向きは基準の向きに対する単位領域Uiの角度で表されていてもよい。この場合、第2処理部122は、複数の単位領域Uiのうちの2個ずつの単位領域Uiについて角度の差を求め、角度の差が所定の基準値以下である場合に、角度の差を求めた2個の単位領域Uiを同じ面領域Skに分類する。
この構成によれば、単位領域Uiの向きを角度で表すから、定点から立体物30を計測し、測定点の座標を定点からの極座標で表す計測装置20を用いる場合には、座標値を直交座標系に変換する必要がなく、それだけ処理負荷の軽減が可能になる。
なお、上述した構成例において、立体物30を構成する面3が平面である場合を例にしたが、面3が数式で表される曲面であれば、上述した技術は曲面に適用することも可能である。また、曲面を適宜の区間に分割し、分割した区間ごとに平面で表すことにより、曲面を複数の平面で近似すれば、上述した技術を適用することが可能である。
第1処理部121は、立体物30を含む空間に3次元格子を設定し、3次元格子を構成するそれぞれの単位格子に含まれる測定点に関する計測データを用いて、単位格子のそれぞれを代表する計測データを求めてもよい。この場合、当該計測データを展開画像P1の画素値に用いる。
この構成では、3次元格子に複数の測定点が含まれるように格子定数を定め、単位格子を代表する測定点を計測データに用いるから、計測装置20で実測した測定点の分布密度にばらつきがあっても、ほぼ一定間隔で計測データを得ることが可能になる。
なお、上述した実施形態は本発明の一例である。このため、本発明は、上述の実施形態に限定されることはなく、この実施形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることはもちろんのことである。
Claims (16)
- 立体物の3次元計測を行う計測装置から、前記立体物に属する複数の測定点について3次元の座標値である計測データを取得するデータ取得部と、
前記計測データを用いて前記立体物を構成する面を表す数式を生成する面抽出部と、
前記数式を用いて前記立体物を表した形状モデルを生成するモデル化部とを備え、
前記面抽出部は、
前記立体物のうちの1つの面と、当該1つの面を囲む複数の面とをそれぞれ表す数式を用いて、前記1つの面を囲む境界線を求めた後、前記1つの面に属する測定点のうち、前記境界線から前記1つの面の内側に所定の幅で定めた領域内の測定点を抽出し、抽出した測定点を用いて前記1つの面を表す前記数式を求める
ことを特徴とするモデリング装置。 - 前記立体物は、床面と天井面と複数の壁面とに囲まれた部屋であって、
前記1つの面は前記天井面であり、前記1つの面を囲む複数の面は前記壁面である
請求項1記載のモデリング装置。 - 前記面抽出部は、
前記立体物を平面上に展開した2次元画像であって前記計測データを画素値に持つ展開画像を用い、前記展開画像を複数の単位領域に分割し、かつ前記複数の単位領域の向きをそれぞれ求める第1処理部と、
前記単位領域ごとに、前記向きを含む条件を用いて、前記単位領域が属する面に相当する面領域に分類する第2処理部と、
前記面領域ごとに前記面を表す前記数式を定める第3処理部とを備える
請求項1又は2記載のモデリング装置。 - 前記第3処理部は、前記測定点のうち前記計測装置に対する位置について設定した制約条件を満足する測定点を用いて前記面を表す前記数式を定め、前記制約条件は、前記面の中央部における測定点を除外するように定められている
請求項3記載のモデリング装置。 - 前記第2処理部が分類した前記面領域ごとに色情報を付与する色処理部と、
前記展開画像の画素値を前記色情報に置換したカラー画像の画像情報を出力する出力部とをさらに備える
請求項3又は4記載のモデリング装置。 - 前記第2処理部は、
前記展開画像から前記単位領域を順に抽出し、抽出した単位領域を順に分類することにより前記面領域を定める前処理を行い、
前記前処理の後に、前記展開画像から前記単位領域を順に抽出し、前処理で定めた前記面領域に、抽出した単位領域を対応付ける
請求項3〜5のいずれか1項に記載のモデリング装置。 - 前記面は平面であって、前記向きは前記単位領域の法線ベクトルで表される
請求項3〜6のいずれか1項に記載のモデリング装置。 - 前記第2処理部は、
前記複数の単位領域のうちの2個ずつの単位領域について、前記法線ベクトルの内積を求め、前記内積が所定の基準値以上である場合に、前記内積を求めた2個の単位領域を同じ面領域に分類する
請求項7記載のモデリング装置。 - 前記第2処理部は、
前記複数の単位領域のうちの2個ずつの単位領域について、前記法線ベクトルの内積と、前記立体物が存在する実空間に定めた原点から前記内積を求めた2個の単位領域それぞれまでの距離とを求め、前記内積が所定の基準値以上であって、前記距離の差が所定の基準範囲内である場合、前記内積を求めた2個の単位領域を同じ面領域に分類する
請求項7記載のモデリング装置。 - 前記第2処理部は、
前記複数の単位領域のうちの隣接する2個ずつの単位領域について、前記法線ベクトルの内積と、前記立体物が存在する実空間に定めた原点から前記内積を求めた2個の単位領域それぞれまでの距離とを求め、前記内積が所定の基準値以上であって、前記距離の差が所定の基準範囲内である場合、前記内積を求めた2個の単位領域を同じ面領域に分類する
請求項7記載のモデリング装置。 - 前記面は平面であって、前記向きは基準の向きに対する前記単位領域の角度で表され、
前記第2処理部は、
前記複数の単位領域のうちの2個ずつの単位領域について前記角度の差を求め、前記角度の差が所定の基準値以下である場合に、前記角度の差を求めた2個の単位領域を同じ面領域に分類する
請求項3〜6のいずれか1項に記載のモデリング装置。 - 前記第1処理部は、
前記立体物を含む所定の空間に3次元格子を設定し、前記3次元格子を構成するそれぞれの単位格子に含まれる前記測定点に関する前記計測データを用いて、前記単位格子のそれぞれを代表する計測データを求め、当該計測データを前記展開画像の画素値に用いる
請求項3〜11のいずれか1項に記載のモデリング装置。 - 前記計測装置と、請求項1〜12のいずれか1項に記載のモデリング装置と、前記モデリング装置から出力される画像情報を用いて画像を表示するモニタ装置とを備える
ことを特徴とする3次元モデル生成装置。 - 立体物の3次元計測を行う計測装置から、前記立体物に属する複数の測定点について3次元の座標値である計測データをデータ取得部が取得し、
前記計測データを用いて前記立体物を構成する面を表す数式を面抽出部が生成し、
前記数式を用いて前記立体物を表した形状モデルをモデル化部が生成し、
前記面抽出部は、
前記立体物のうちの1つの面と、当該1つの面を囲む複数の面とをそれぞれ表す数式を用いて、前記1つの面を囲む境界線を求めた後、前記1つの面に属する測定点のうち、前記境界線から前記1つの面の内側に所定の幅で定めた領域内の測定点を抽出し、抽出した測定点を用いて前記1つの面を表す前記数式を求める
ことを特徴とするモデリング方法。 - 前記面抽出部は、
前記立体物を平面上に展開した2次元画像であって前記計測データを画素値に持つ展開画像を用い、前記展開画像を複数の単位領域に分割し、かつ前記複数の単位領域の向きをそれぞれ求める第1処理と、
前記単位領域ごとに、前記向きを含む条件を用いて、前記単位領域が属する面に相当する面領域に分類する第2処理と、
前記面領域ごとに前記面を表す前記数式を定める第3処理とを行う
請求項14記載のモデリング方法。 - コンピュータを、請求項1〜12のいずれか1項に記載のモデリング装置として機能させるプログラム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014241554 | 2014-11-28 | ||
JP2014241554 | 2014-11-28 | ||
JP2015097956 | 2015-05-13 | ||
JP2015097956 | 2015-05-13 | ||
PCT/JP2015/005918 WO2016084389A1 (ja) | 2014-11-28 | 2015-11-27 | モデリング装置、3次元モデル生成装置、モデリング方法、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2016084389A1 JPWO2016084389A1 (ja) | 2017-08-31 |
JP6238183B2 true JP6238183B2 (ja) | 2017-11-29 |
Family
ID=56073976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016561259A Expired - Fee Related JP6238183B2 (ja) | 2014-11-28 | 2015-11-27 | モデリング装置、3次元モデル生成装置、モデリング方法、プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US10127709B2 (ja) |
EP (1) | EP3226212B1 (ja) |
JP (1) | JP6238183B2 (ja) |
CN (1) | CN107004302B (ja) |
WO (1) | WO2016084389A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014211972A1 (de) * | 2014-04-30 | 2015-11-05 | Zumtobel Lighting Gmbh | Sensoranordnung zum Erfassen ortsaufgelöster photometrischer Daten |
US11481968B2 (en) * | 2016-02-29 | 2022-10-25 | Accurence, Inc. | Systems and methods for improving property inspection efficiency |
CN108154556A (zh) * | 2017-12-12 | 2018-06-12 | 上海爱优威软件开发有限公司 | 一种终端虚拟装饰方法及系统 |
CN108830795B (zh) * | 2018-06-14 | 2022-05-06 | 合肥市商巨智能装备有限公司 | 去除图像检测过程中摩尔纹的方法 |
CN110659547B (zh) * | 2018-06-29 | 2023-07-14 | 比亚迪股份有限公司 | 物体识别方法、装置、车辆和计算机可读存储介质 |
CN109084700B (zh) * | 2018-06-29 | 2020-06-05 | 上海摩软通讯技术有限公司 | 物品的三维位置信息获取方法及系统 |
US10679367B2 (en) * | 2018-08-13 | 2020-06-09 | Hand Held Products, Inc. | Methods, systems, and apparatuses for computing dimensions of an object using angular estimates |
JP7211005B2 (ja) * | 2018-10-29 | 2023-01-24 | 富士通株式会社 | 地形推定プログラム、地形推定方法、及び、地形推定装置 |
CN109754453A (zh) * | 2019-01-10 | 2019-05-14 | 珠海格力电器股份有限公司 | 基于微波雷达的房间效果图的构建方法及装置,系统 |
US11508141B2 (en) | 2019-07-03 | 2022-11-22 | Magic Leap, Inc. | Simple environment solver using planar extraction |
CN113570506A (zh) * | 2020-04-28 | 2021-10-29 | 阿里巴巴集团控股有限公司 | 数据处理、界面交互方法及设备 |
CN113255033B (zh) * | 2021-05-11 | 2022-04-05 | 上海慧之建建设顾问有限公司 | 基于bim技术的建筑工程监理智能一体化云平台及监理方法 |
CN114820329B (zh) * | 2022-07-01 | 2022-11-25 | 之江实验室 | 基于高斯过程大核注意力装置引导的曲面测量方法及装置 |
CN116452770B (zh) * | 2023-02-17 | 2023-10-20 | 北京德风新征程科技股份有限公司 | 三维模型重建方法、装置、设备和介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3095406B2 (ja) * | 1990-09-26 | 2000-10-03 | セコム株式会社 | 室内3次元モデル作成方法とその装置 |
US5819016A (en) | 1993-10-05 | 1998-10-06 | Kabushiki Kaisha Toshiba | Apparatus for modeling three dimensional information |
JPH07152810A (ja) * | 1993-11-26 | 1995-06-16 | Toshiba Corp | 環境モデル作成装置 |
JP2001052163A (ja) | 1999-08-11 | 2001-02-23 | Sony Corp | 情報処理装置及び方法、表示装置及び方法並びに記録媒体 |
JP2003323461A (ja) * | 2002-05-01 | 2003-11-14 | Mitsubishi Heavy Ind Ltd | Cadデータ作成装置および情報加工方法 |
JP4226360B2 (ja) | 2003-03-10 | 2009-02-18 | 株式会社パスコ | レーザデータのフィルタリング方法及びプログラム |
WO2005088244A1 (ja) * | 2004-03-17 | 2005-09-22 | Sony Corporation | 平面検出装置、平面検出方法、及び平面検出装置を搭載したロボット装置 |
JP2006098256A (ja) | 2004-09-30 | 2006-04-13 | Ricoh Co Ltd | 3次元サーフェスモデル作成システム、画像処理システム、プログラム及び情報記録媒体 |
WO2010095107A1 (en) | 2009-02-19 | 2010-08-26 | Dimensional Perception Technologies Ltd. | System and method for geometric modeling using multiple data acquisition means |
WO2011070927A1 (ja) | 2009-12-11 | 2011-06-16 | 株式会社トプコン | 点群データ処理装置、点群データ処理方法、および点群データ処理プログラム |
CN101833786B (zh) * | 2010-04-06 | 2011-12-28 | 清华大学 | 三维模型的捕捉及重建方法和系统 |
JP5343042B2 (ja) * | 2010-06-25 | 2013-11-13 | 株式会社トプコン | 点群データ処理装置および点群データ処理プログラム |
JP5462093B2 (ja) * | 2010-07-05 | 2014-04-02 | 株式会社トプコン | 点群データ処理装置、点群データ処理システム、点群データ処理方法、および点群データ処理プログラム |
JP5557705B2 (ja) * | 2010-11-10 | 2014-07-23 | 株式会社トプコン | 構造物モデル作成装置及びその方法 |
JP5606340B2 (ja) | 2011-01-14 | 2014-10-15 | 株式会社東芝 | 構造物計測システム |
JP5711039B2 (ja) | 2011-04-27 | 2015-04-30 | 株式会社トプコン | 三次元点群位置データ処理装置、三次元点群位置データ処理方法、三次元点群位置データ処理システムおよびプログラム |
US20150254861A1 (en) * | 2012-10-18 | 2015-09-10 | T. Eric Chornenky | Apparatus and method for determining spatial information about environment |
-
2015
- 2015-11-27 JP JP2016561259A patent/JP6238183B2/ja not_active Expired - Fee Related
- 2015-11-27 CN CN201580063371.7A patent/CN107004302B/zh not_active Expired - Fee Related
- 2015-11-27 EP EP15863391.7A patent/EP3226212B1/en active Active
- 2015-11-27 WO PCT/JP2015/005918 patent/WO2016084389A1/ja active Application Filing
- 2015-11-27 US US15/528,174 patent/US10127709B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN107004302B (zh) | 2020-09-15 |
US10127709B2 (en) | 2018-11-13 |
EP3226212B1 (en) | 2020-07-08 |
JPWO2016084389A1 (ja) | 2017-08-31 |
CN107004302A (zh) | 2017-08-01 |
EP3226212A4 (en) | 2017-10-04 |
EP3226212A1 (en) | 2017-10-04 |
WO2016084389A1 (ja) | 2016-06-02 |
US20170330364A1 (en) | 2017-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6238183B2 (ja) | モデリング装置、3次元モデル生成装置、モデリング方法、プログラム | |
JP6286805B2 (ja) | モデリング装置、3次元モデル生成装置、モデリング方法、プログラム、レイアウトシミュレータ | |
Hong et al. | Semi-automated approach to indoor mapping for 3D as-built building information modeling | |
US10430961B2 (en) | Using satellite imagery to enhance a 3D surface model of a real world cityscape | |
JP6489552B2 (ja) | シーン内の寸法を求める方法 | |
AU2014222457B2 (en) | Image processing | |
JP5799273B2 (ja) | 寸法計測装置、寸法計測方法、寸法計測システム、プログラム | |
TW201514446A (zh) | 三維量測模擬取點系統及方法 | |
JP6185385B2 (ja) | 空間構造推定装置、空間構造推定方法及び空間構造推定プログラム | |
JP5624457B2 (ja) | 三次元データ処理装置、方法及びプログラム | |
JP6212398B2 (ja) | 景観定量化装置 | |
Afghantoloee et al. | Coevrage Estimation of Geosensor in 3d Vector Environments | |
JP6132246B2 (ja) | 寸法計測方法 | |
Boerner et al. | Brute force matching between camera shots and synthetic images from point clouds | |
JP2020135765A (ja) | データ生成支援システム、データ生成支援方法、及びプログラム | |
JP6595100B2 (ja) | 接続要素の製作寸法を決定する方法及びシステム | |
KR101621858B1 (ko) | 정점과 구조물이 위치하는 지점 간의 수평거리를 산출하는 장치 및 방법 | |
Majid et al. | Three-dimensional recording of bastion middleburg monument using terrestrial laser scanner | |
Guidi et al. | TOF laser scanner characterization for low-range applications | |
Mohd Yusoff et al. | Optimal camera placement for 3D environment | |
US20230326052A1 (en) | Estimation method, estimation apparatus and program | |
JP6530685B2 (ja) | 物体検出装置、物体検出システム、物体検出方法および物体検出プログラム | |
Rzonca et al. | Lidarometry as a Variant of Integration of Photogrammetric and Laser Scanning Data | |
KR100910203B1 (ko) | 자율이동플랫폼 장치의 지형영상 출력장치, 이를 구비하는 자율이동플랫폼 장치 및 자율이동플랫폼 장치의 지형영상 출력방법 | |
JP2014056465A (ja) | 環境復元装置、環境復元方法及び環境復元プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170502 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170926 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171020 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6238183 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |