JP2019168976A - 3次元モデル生成装置 - Google Patents
3次元モデル生成装置 Download PDFInfo
- Publication number
- JP2019168976A JP2019168976A JP2018056895A JP2018056895A JP2019168976A JP 2019168976 A JP2019168976 A JP 2019168976A JP 2018056895 A JP2018056895 A JP 2018056895A JP 2018056895 A JP2018056895 A JP 2018056895A JP 2019168976 A JP2019168976 A JP 2019168976A
- Authority
- JP
- Japan
- Prior art keywords
- point cloud
- dimensional model
- dimensional
- cloud data
- data
- 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.)
- Pending
Links
Landscapes
- Image Generation (AREA)
Abstract
【課題】 3次元点群から建物以外の構造物について3次元モデルを生成する。【解決手段】 建物の内部について取得された3次元点群を読み込む。この点群を、点群間の距離に応じてクラスタに分け、各クラスタに基づいて、床面、天井面、壁面を順次ポリゴン化する。次に、こうして生成されたポリゴンとの位置関係に基づき、床面、天井面、壁面以外の構造物の3次元点群を分離する。分離した3次元点群については、構造物用に予め用意されたプリミティブを用いて、3次元モデルを生成する。【選択図】 図1
Description
本発明は、建造物の構造面および構造面以外の構造物を含む3次元点群に基づいて、構造物の3次元モデルを生成する技術に関する。
地物の形状を3次元的に表した3次元地図においては、地物の3次元モデルを精度良く、かつ低い処理負荷で生成することが求められる。このような技術の一つとして、3次元復元の利用が検討されている。
3次元復元処理とは、複数の地点から撮影した複数の画像間の特徴点の対応関係に基づいて、撮影された地物の3次元点群を得る処理である。3次元復元を利用すれば、処理の対象範囲内の画像を航空機等から複数撮影し、この画像を解析することで、対象範囲を表す3次元の点群を得ることができる。かかる点群が得られれば、それを解析することによって3次元モデルを生成することも可能となる。画像間の特徴点の対応関係を判断するための技術として、SIFT(Scale-Invariant Feature Transform)などが利用される。特許文献1は、3次元復元による3次元モデルの生成技術について開示している。
また、近年、建造物の外部だけでなく、建造物の内部構造についての3次元モデルの生成も要請されている。特許文献2は、建造物の内部を表す3次元点群に基づいて、建造物の壁のみならず家具などの内部構造についても3次元モデルを生成する技術を開示している。
3次元復元処理とは、複数の地点から撮影した複数の画像間の特徴点の対応関係に基づいて、撮影された地物の3次元点群を得る処理である。3次元復元を利用すれば、処理の対象範囲内の画像を航空機等から複数撮影し、この画像を解析することで、対象範囲を表す3次元の点群を得ることができる。かかる点群が得られれば、それを解析することによって3次元モデルを生成することも可能となる。画像間の特徴点の対応関係を判断するための技術として、SIFT(Scale-Invariant Feature Transform)などが利用される。特許文献1は、3次元復元による3次元モデルの生成技術について開示している。
また、近年、建造物の外部だけでなく、建造物の内部構造についての3次元モデルの生成も要請されている。特許文献2は、建造物の内部を表す3次元点群に基づいて、建造物の壁のみならず家具などの内部構造についても3次元モデルを生成する技術を開示している。
しかし、建造物の内部構造などの3次元モデルについては、建造物自体よりも複雑な形状をしたものも存在しているため、3次元モデルの精度向上という点で改善の余地が残されていた。かかる課題は、内部構造に限らず、建造物に付属される看板その他の付属構造物や、路上に存在する標識、樹木などの構造物についても同様であった。本発明は、かかる課題に基づき、3次元点群を利用して建造物以外の構造物の3次元モデルを生成可能とすることを目的とする。
本発明は、
建造物の構造面、該構造面以外の構造物を含む3次元点群に基づいて、前記構造物の3次元モデルを生成する3次元モデル生成装置であって、
前記3次元点群を表す3次元点群データを記憶する3次元点群データ記憶部と、
前記3次元点群データに基づいて、前記構造面ポリゴンを生成する構造面ポリゴン生成部と、
前記構造面ポリゴンとの位置関係に基づいて、前記3次元点群データから、前記構造物を表す3次元点群データを構造物点群データとして分離する分離処理部と、
予め前記構造物に対応する基本形状を表す3次元モデルであるプリミティブデータを記憶するプリミティブデータ記憶部と、
前記構造物点群データと前記プリミティブデータとに基づいて、前記構造物の3次元モデルを生成する生成部とを備える3次元モデル生成装置として構成することができる。
建造物の構造面、該構造面以外の構造物を含む3次元点群に基づいて、前記構造物の3次元モデルを生成する3次元モデル生成装置であって、
前記3次元点群を表す3次元点群データを記憶する3次元点群データ記憶部と、
前記3次元点群データに基づいて、前記構造面ポリゴンを生成する構造面ポリゴン生成部と、
前記構造面ポリゴンとの位置関係に基づいて、前記3次元点群データから、前記構造物を表す3次元点群データを構造物点群データとして分離する分離処理部と、
予め前記構造物に対応する基本形状を表す3次元モデルであるプリミティブデータを記憶するプリミティブデータ記憶部と、
前記構造物点群データと前記プリミティブデータとに基づいて、前記構造物の3次元モデルを生成する生成部とを備える3次元モデル生成装置として構成することができる。
本発明によれば、構造物を表す構造物点群データを分離した後、プリミティブデータを利用して構造物の3次元モデルを生成することにより、その精度向上を図ることができる。つまり、3次元点群データには、一般に、誤差が含まれているため、単純に3次元点群データを忠実に用いて3次元モデルを生成したとしても、それが本来の構造物を精度良く表しているとは限らない。建造物の壁面などについては、平面またはある程度なめらかな曲面で構成されるという前提の下、3次元点群データの誤差を補正または補完して3次元モデルを生成することが可能となるが、構造物の場合には、形状も多様であるため、このような単純な前提条件が成立するとは限らない。これに対し、本発明では、予め3次元モデルの生成対象となる構造物を表すプリミティブデータを用意しておき、これを利用して3次元モデルを生成するのである。従って、構造物についても3次元点群データの誤差を補正または補完して3次元モデルの精度向上を図ることができる。
本発明において、建造物の構造面とは、建造物を構成する内壁面または外壁面を表すものであり、内壁面としては、建造物の床面、天井面、壁面(いわゆる側壁面)が該当する。外壁面としては、屋根面、壁面(いわゆる側壁面)が該当する。
構造物とは、内部構造については、什器、家具その他建造物内に置かれている物、照明器具その他建造物内に取り付けられている物、建造物の柱などが該当する。外部構造については、看板など建造物に取り付けられている物、門・道路標識・電柱など建造物とは別に地面に設置されている物などが該当する。
3次元点群データは、種々の方法で取得されたものを利用可能である。3次元点群データを得る方法としては、例えば、SIFT、レーザースキャンなどを利用することができる。
構造物とは、内部構造については、什器、家具その他建造物内に置かれている物、照明器具その他建造物内に取り付けられている物、建造物の柱などが該当する。外部構造については、看板など建造物に取り付けられている物、門・道路標識・電柱など建造物とは別に地面に設置されている物などが該当する。
3次元点群データは、種々の方法で取得されたものを利用可能である。3次元点群データを得る方法としては、例えば、SIFT、レーザースキャンなどを利用することができる。
プリミティブデータと構造物点群データを用いた3次元モデルの生成は、種々の方法を採用することができる。
例えば、構造物点群データに可能な限り一致させるようプリミティブデータを変形させる方法をとってもよい。この場合、プリミティブデータは、縦方向、横方向、高さ方向に独立して拡大・縮小可能とすることが好ましい。
また、プリミティブデータを構成するポリゴンとの位置関係に基づいて構造物点群データをクラスタに分類し、各クラスタに対して対応するポリゴンを拡大・縮小・位置合わせすることにより、ポリゴンごとにモデル化を図り、得られたポリゴンを一つの3次元モデルに結合する方法をとってもよい。
例えば、構造物点群データに可能な限り一致させるようプリミティブデータを変形させる方法をとってもよい。この場合、プリミティブデータは、縦方向、横方向、高さ方向に独立して拡大・縮小可能とすることが好ましい。
また、プリミティブデータを構成するポリゴンとの位置関係に基づいて構造物点群データをクラスタに分類し、各クラスタに対して対応するポリゴンを拡大・縮小・位置合わせすることにより、ポリゴンごとにモデル化を図り、得られたポリゴンを一つの3次元モデルに結合する方法をとってもよい。
3次元モデルの生成に先立って、構造物点群を点間の距離に基づいてクラスタに分け、クラスタごとに3次元モデルを生成するようにしてもよい。
また、3次元モデルの生成の際に、構造物点群データとプリミティブデータとの位置合わせを行うようにしてもよい。例えば、構造物点群の重心と、プリミティブデータの重心とを合わせる方法などをとることができる。また、構造物点群を主成分分析した結果を用いてプリミティブデータの方向を合わせるようにしてもよい。
また、3次元モデルの生成の際に、構造物点群データとプリミティブデータとの位置合わせを行うようにしてもよい。例えば、構造物点群の重心と、プリミティブデータの重心とを合わせる方法などをとることができる。また、構造物点群を主成分分析した結果を用いてプリミティブデータの方向を合わせるようにしてもよい。
本発明においては、
前記プリミティブデータは複数用意されており、
前記生成部は、前記プリミティブデータと前記構造物点群データとの一致率に基づいて、前記3次元モデルの生成に利用するプリミティブデータを選択するものとしてもよい。
前記プリミティブデータは複数用意されており、
前記生成部は、前記プリミティブデータと前記構造物点群データとの一致率に基づいて、前記3次元モデルの生成に利用するプリミティブデータを選択するものとしてもよい。
建造物の内部構造物に対するプリミティブデータとして、例えば、机、イス、ロッカーなどを用意しておく態様である。こうすることにより、多様な構造物に対応することが可能となる。
プリミティブデータの選択は、構造物点群データとの一致率によって行うことにより、3次元モデルの生成に適したプリミティブデータの選択が可能となる。
プリミティブデータの選択は、構造物点群データとの一致率によって行うことにより、3次元モデルの生成に適したプリミティブデータの選択が可能となる。
一致率は、種々の方法で求めることができるが、例えば、
前記一致率は、前記構造物点群データから前記プリミティブデータまでの最小距離が閾値を超える点の数と、全ての構造物点群データの数との比で求められるものとしてもよい。
前記一致率は、前記構造物点群データから前記プリミティブデータまでの最小距離が閾値を超える点の数と、全ての構造物点群データの数との比で求められるものとしてもよい。
即ち、構造物点群データが誤差範囲を超えるほどプリミティブデータから離れている点の数と、全体の数との比を算出することになる。従って、一致率の算出に用いる閾値は、構造物点群データの誤差範囲を考慮して設定することができる。閾値を小さくすれば、構造物点群データの誤差が原因で、本来のプリミティブデータが選択されなくなるおそれが生じる。逆に、閾値を大きくすれば、全く異なる形状のプリミティブデータまで高い一致率であると誤評価される可能性が生じる。閾値は、双方の可能性を考慮して定めることが好ましい。
一致率は、数値が大きいほど一致しているように定義してもよいし、その逆でもよいが、本明細書において「一致率が高い」というときは、「低い」ときよりも、構造物点群データとプリミティブがより一致していると評価できる状態であることを意味するものとする。
一致率は、このように閾値を用いて設定する他、例えば、点群からプリミティブデータまでの最小距離の全点についての平均値を用いるようにしてもよい。平均値が小さければ、点群がプリミティブによく一致していることになり、平均値が大きければ、ずれが大きいことを意味する。最小距離に代えて、最小二乗距離を用いるものとしてもよい。
一致率は、数値が大きいほど一致しているように定義してもよいし、その逆でもよいが、本明細書において「一致率が高い」というときは、「低い」ときよりも、構造物点群データとプリミティブがより一致していると評価できる状態であることを意味するものとする。
一致率は、このように閾値を用いて設定する他、例えば、点群からプリミティブデータまでの最小距離の全点についての平均値を用いるようにしてもよい。平均値が小さければ、点群がプリミティブによく一致していることになり、平均値が大きければ、ずれが大きいことを意味する。最小距離に代えて、最小二乗距離を用いるものとしてもよい。
プリミティブデータが複数用意されている場合においては、
前記プリミティブデータは、予め複数のグループに分類されており、
前記生成部は、前記一致率が各グループごとに設定された閾値を超えるプリミティブデータを対象として前記選択を行うものとしてもよい。
前記プリミティブデータは、予め複数のグループに分類されており、
前記生成部は、前記一致率が各グループごとに設定された閾値を超えるプリミティブデータを対象として前記選択を行うものとしてもよい。
例えば、柱などのグループ、種々の形状・サイズのテーブルのグループというようにプリミティブデータを分け、それぞれに閾値を設定する態様である。ここで用いる閾値は、一致率の計算に用いる閾値とは異なり、得られた一致率を評価するための閾値である。一般に、柱などのように比較的単純な形状の構造物については期待される一致率が高く、イスなどのように比較的複雑な形状の構造物については期待される一致率が低いと考えられる。本態様のようにグループごとに閾値を設定しておけば、期待される一致率を踏まえたプリミティブの選択が可能となり、より3次元モデルの精度向上を図ることが可能となる。
本発明は、上述した特徴を必ずしも全てを備えている必要はなく、適宜、その一部を省略したり、組み合わせたりしてもよい。上述した3次元モデルの生成をコンピュータによって実行する3次元モデル生成方法として構成してもよいし、かかる方法をコンピュータに行わせるためのコンピュータプログラムとして構成してもよい。さらに、かかるコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体として構成してもよい。
A.システム構成:
図1は、3次元モデル生成装置の構成を示す説明図である。本実施例においては、建造物の内部を表す3次元点群に基づいて内部構造の3次元モデルを生成する装置としての構成を例示する。
3次元モデル生成装置100には、図示する機能ブロックが備えられている。これらの機能ブロックは、それぞれの機能を実現するためのコンピュータプログラムを、コンピュータにインストールすることによって構成されるし、ハードウェア的に構成してもよい。本実施例では、スタンドアロンで稼働する装置としての構成例を示すが、3次元モデル生成装置100は、複数のサーバまたはコンピュータをネットワークで接続して構成することも可能である。
以下、各機能ブロックの機能について説明する。
図1は、3次元モデル生成装置の構成を示す説明図である。本実施例においては、建造物の内部を表す3次元点群に基づいて内部構造の3次元モデルを生成する装置としての構成を例示する。
3次元モデル生成装置100には、図示する機能ブロックが備えられている。これらの機能ブロックは、それぞれの機能を実現するためのコンピュータプログラムを、コンピュータにインストールすることによって構成されるし、ハードウェア的に構成してもよい。本実施例では、スタンドアロンで稼働する装置としての構成例を示すが、3次元モデル生成装置100は、複数のサーバまたはコンピュータをネットワークで接続して構成することも可能である。
以下、各機能ブロックの機能について説明する。
3次元点群記憶部110は、建造物の内部の3次元点群を記憶する。3次元点群とは、それぞれ3次元の座標値および法線ベクトルが付与された多数の点である。法線ベクトルとは、各点が存在すると推定される面の法線ベクトルを意味する。3次元点群は、レーザを利用した技術など種々の方法で取得可能であるが、本実施例では、複数の撮影点から撮影した複数の画像データを用いて、SIFT(Scale-Invariant Feature Transform)と呼ばれる公知の技術により取得するものとした。3次元点群には、床面、天井面、壁面などの建造物の構造面を表すもの、および柱、什器、家具など構造面以外の構造物を表すものが含まれている。
クラスタ生成部120は、3次元点群に基づいて、各平面のクラスタを生成する。建造物の内部は、床面、天井面、壁面などの構造面、即ち平面で区画されているのが通常であるから、クラスタ生成部120は、3次元点群をこれらの構造面の点群に分類する機能を奏することになる。
床面ポリゴン生成部121は、クラスタに基づいて床面のポリゴンを特定する機能を奏する。
天井面ポリゴン生成部122は、クラスタおよび床面ポリゴンを用いて天井面のポリゴンを特定する機能を奏する。
壁面ポリゴン生成部123は、クラスタおよび床面ポリゴン、天井面ポリゴンを用いて壁面のポリゴンを特定する機能を奏する。
内部構造点群分離処理部124は、クラスタおよび床面ポリゴン、天井面ポリゴン、壁面ポリゴンの位置関係に基づいて、構造物を構成する3次元点群(以下、内部構造点群と呼ぶこともある)を分離する機能を奏する。
内部構造ポリゴン生成部125は、内部構造点群に基づいて構造物の3次元モデルを生成する機能を奏する。この際、本実施例では、プリミティブデータ記憶部112に予め構造物の基本形状を表すプリミティブデータを記憶しておき、これを利用して構造物の3次元モデルを生成しているのである。本実施例では、プリミティブデータとしては、柱、机、椅子、ロッカーなど構造物の種類ごとにグループ化され、それぞれ基本的な形状が記憶されている。また、柱としては、円柱状、角柱状など多様な形状が記憶されている。机についても、折りたたみ可能な長机、応接机、事務机など多様な形状が記憶されている。
3次元モデルデータ記憶部111は、生成された構造物の3次元モデルデータを記憶する。併せて、床面ポリゴン、天井面ポリゴンを用いて壁面のポリゴンを記憶するようにしてもよい。
床面ポリゴン生成部121は、クラスタに基づいて床面のポリゴンを特定する機能を奏する。
天井面ポリゴン生成部122は、クラスタおよび床面ポリゴンを用いて天井面のポリゴンを特定する機能を奏する。
壁面ポリゴン生成部123は、クラスタおよび床面ポリゴン、天井面ポリゴンを用いて壁面のポリゴンを特定する機能を奏する。
内部構造点群分離処理部124は、クラスタおよび床面ポリゴン、天井面ポリゴン、壁面ポリゴンの位置関係に基づいて、構造物を構成する3次元点群(以下、内部構造点群と呼ぶこともある)を分離する機能を奏する。
内部構造ポリゴン生成部125は、内部構造点群に基づいて構造物の3次元モデルを生成する機能を奏する。この際、本実施例では、プリミティブデータ記憶部112に予め構造物の基本形状を表すプリミティブデータを記憶しておき、これを利用して構造物の3次元モデルを生成しているのである。本実施例では、プリミティブデータとしては、柱、机、椅子、ロッカーなど構造物の種類ごとにグループ化され、それぞれ基本的な形状が記憶されている。また、柱としては、円柱状、角柱状など多様な形状が記憶されている。机についても、折りたたみ可能な長机、応接机、事務机など多様な形状が記憶されている。
3次元モデルデータ記憶部111は、生成された構造物の3次元モデルデータを記憶する。併せて、床面ポリゴン、天井面ポリゴンを用いて壁面のポリゴンを記憶するようにしてもよい。
B.3次元モデル生成例:
図2は、3次元モデル生成例を示す説明図である。
図2(a)には、3次元モデルの生成対象となる建造物内部の3次元点群を示した。図示するように、部屋内には構造物としての机、ロッカーなどが存在している。なお、室内に柱があるような場合、柱は建造物に固定された物であるが、建造物の構造面(床面、天井面、壁面)とは異なるため構造物として扱うものとしてもよい。
図2(b)は、構造面のポリゴンを生成した状態を示している。3次元点群とポリゴンとを重畳して示した。図中の線分Lは、それぞれ床面ポリゴン、天井面ポリゴン、壁面ポリゴンの境界線を表している。柱は、構造面ではなくポリゴン化されていないため、ここには表示されていない。
図2(c)は、机、ロッカーなどの構造物の3次元ポリゴンを生成する場合を例にとり、構造物に対応する3次元点群が分離された状態を示した。全体に塗りつぶした状態で表されているものが構造物に対応する3次元点群である。位置、形状が把握しやすいよう部屋全体の3次元点群と重畳して示してある。
図2(d)は、構造物の3次元モデルを表している。全体の3次元点群と重畳して示した。このように構造物に対応する3次元点群から、ポリゴンが生成される。
以上で説明したように、本実施例では、3次元点群から構成面のポリゴンを生成し(図2(b))、構造物の3次元点群を分離し(図2(c))、その3次元モデルを生成する(図2(d))。以下では、この過程を具体的に説明する。
図2は、3次元モデル生成例を示す説明図である。
図2(a)には、3次元モデルの生成対象となる建造物内部の3次元点群を示した。図示するように、部屋内には構造物としての机、ロッカーなどが存在している。なお、室内に柱があるような場合、柱は建造物に固定された物であるが、建造物の構造面(床面、天井面、壁面)とは異なるため構造物として扱うものとしてもよい。
図2(b)は、構造面のポリゴンを生成した状態を示している。3次元点群とポリゴンとを重畳して示した。図中の線分Lは、それぞれ床面ポリゴン、天井面ポリゴン、壁面ポリゴンの境界線を表している。柱は、構造面ではなくポリゴン化されていないため、ここには表示されていない。
図2(c)は、机、ロッカーなどの構造物の3次元ポリゴンを生成する場合を例にとり、構造物に対応する3次元点群が分離された状態を示した。全体に塗りつぶした状態で表されているものが構造物に対応する3次元点群である。位置、形状が把握しやすいよう部屋全体の3次元点群と重畳して示してある。
図2(d)は、構造物の3次元モデルを表している。全体の3次元点群と重畳して示した。このように構造物に対応する3次元点群から、ポリゴンが生成される。
以上で説明したように、本実施例では、3次元点群から構成面のポリゴンを生成し(図2(b))、構造物の3次元点群を分離し(図2(c))、その3次元モデルを生成する(図2(d))。以下では、この過程を具体的に説明する。
C.屋内3次元モデル生成処理:
図3は、屋内3次元モデル生成処理のフローチャートである。図2に示したように、3次元点群データに基づいて屋内の3次元モデルを生成するための処理である。この処理は、図1に示した各機能ブロックによって実現される処理であり、ハードウェア的には、3次元モデル生成装置100のCPUが実行する処理となる。
図3は、屋内3次元モデル生成処理のフローチャートである。図2に示したように、3次元点群データに基づいて屋内の3次元モデルを生成するための処理である。この処理は、図1に示した各機能ブロックによって実現される処理であり、ハードウェア的には、3次元モデル生成装置100のCPUが実行する処理となる。
図3には、全体の処理の流れを示した。それぞれの処理内容については、後で詳述する。
クラスタ生成処理(ステップS10)は、3次元点群に基づいて、各平面のクラスタを生成する処理である。
床面ポリゴン生成処理(ステップS20)は、クラスタに基づいて床面のポリゴンを特定する処理である。
天井面ポリゴン生成処理(ステップS30)は、クラスタおよび床面ポリゴンを用いて天井面のポリゴンを特定する処理である。
壁面ポリゴン生成処理(ステップS40)は、クラスタおよび床面ポリゴン、天井面ポリゴンを用いて壁面のポリゴンを特定する処理である。
内部構造点群分離処理(ステップS50)は、クラスタおよび床面ポリゴン、天井面ポリゴン、壁面ポリゴンの位置関係に基づいて、構造物を構成する3次元点群(内部構造点群)を分離する処理である。
内部構造ポリゴン生成処理(ステップS60)は、内部構造点群に基づいて構造物の3次元モデルを生成する処理である。
以上の処理によって、建造物の内部構造の3次元モデルが生成される。
以下、それぞれの処理について順に内容を詳述する。
クラスタ生成処理(ステップS10)は、3次元点群に基づいて、各平面のクラスタを生成する処理である。
床面ポリゴン生成処理(ステップS20)は、クラスタに基づいて床面のポリゴンを特定する処理である。
天井面ポリゴン生成処理(ステップS30)は、クラスタおよび床面ポリゴンを用いて天井面のポリゴンを特定する処理である。
壁面ポリゴン生成処理(ステップS40)は、クラスタおよび床面ポリゴン、天井面ポリゴンを用いて壁面のポリゴンを特定する処理である。
内部構造点群分離処理(ステップS50)は、クラスタおよび床面ポリゴン、天井面ポリゴン、壁面ポリゴンの位置関係に基づいて、構造物を構成する3次元点群(内部構造点群)を分離する処理である。
内部構造ポリゴン生成処理(ステップS60)は、内部構造点群に基づいて構造物の3次元モデルを生成する処理である。
以上の処理によって、建造物の内部構造の3次元モデルが生成される。
以下、それぞれの処理について順に内容を詳述する。
C1.クラスタ生成処理:
クラスタ生成処理は、3次元点群に基づいて、各平面のクラスタを生成する処理であり、屋内3次元モデル生成処理のステップS10に相当する処理である。主として、クラスタ生成部120が実行する処理である。
処理を開始すると3次元モデル生成装置100は、3次元点群データを読み込む(ステップS11)。そして、平面抽出に一般に用いられる手法であるランダムサンプルコンセンサスにより平面を抽出し(ステップS12)、抽出結果を平面クラスタとして分離する(ステップS13)。平面抽出は、他の方法を用いるものとしても良い。3次元モデル生成装置100は、以上の処理を、全ての3次元点群データについて完了するまで繰り返し実行する(ステップS14)。ここまでの処理により、3次元点群データから、床面に相当するクラスタ、天井面に相当するクラスタ、壁面に相当するクラスタが抽出されることになる。もっとも抽出されるクラスタには、什器の一部の平面を構成するクラスタなども含まれることになる。
クラスタ生成処理は、3次元点群に基づいて、各平面のクラスタを生成する処理であり、屋内3次元モデル生成処理のステップS10に相当する処理である。主として、クラスタ生成部120が実行する処理である。
処理を開始すると3次元モデル生成装置100は、3次元点群データを読み込む(ステップS11)。そして、平面抽出に一般に用いられる手法であるランダムサンプルコンセンサスにより平面を抽出し(ステップS12)、抽出結果を平面クラスタとして分離する(ステップS13)。平面抽出は、他の方法を用いるものとしても良い。3次元モデル生成装置100は、以上の処理を、全ての3次元点群データについて完了するまで繰り返し実行する(ステップS14)。ここまでの処理により、3次元点群データから、床面に相当するクラスタ、天井面に相当するクラスタ、壁面に相当するクラスタが抽出されることになる。もっとも抽出されるクラスタには、什器の一部の平面を構成するクラスタなども含まれることになる。
次に、3次元モデル生成装置100は、各平面クラスタについて、主成分分析を行い平面に対する法線ベクトルを決定する(ステップS15)。図中にこの処理の概要を模式的に示した。主成分分析とは、3次元空間内における3次元点群の分布を特徴づける方向を求めるものであり、3次元点群の分布が大きい方向から順に第1主成分、第2主成分、第3主成分となる。平たい領域に分布した3次元点群については、水平方向の分布に基づいて第1主成分、第2主成分が求まり、それに直交する方向が第3主成分となる。従って、第3主成分は、平面にたいする法線ベクトルを表すことになる。
3次元モデル生成装置100は、壁面を特定する(ステップS16)。壁面を特定するための条件は、面の法線ベクトルと重力ベクトルとの角度が約90度となることである。法線ベクトルと重力ベクトルとの内積がほぼ0になることを条件とすればよい。こうすることで、垂直に屹立する平面を壁面として特定することができる。この処理では、什器の垂直面なども壁面として抽出される可能性があるが、それで差し支えない。
次に、3次元モデル生成装置100は、床面を特定する(ステップS17)。床面を特定するための条件(1)は、法線ベクトルと重力ベクトルがほぼ平行となることである。こうすることで、ほぼ水平の面を抽出することができる。条件(2)は高さが所定の閾値1よりも小さいことである。こうすることにより、高さの低い部分にある水平面を抽出することができる。閾値1は、床面を構成する3次元点群の誤差範囲を考慮して設定すればよい。そして、条件(3)は、超点数が閾値2よりも大きいことである。床面である以上、十分に広い面積を有しているとの前提の下、そのような広い面であれば多数の3次元点群によって構成されるであろうとの評価に基づく条件である。これによって、例えば、テーブルの天板など、高さが低い位置にある水平面のうち狭いものが除去されることになる。閾値2は、床面と他の構造物の水平面とを分別するための値であるため、想定される最大の構造物に基づいて設定すればよい。
3次元モデル生成装置100は、最後に天井面を特定する(ステップS18)。天井面を特定するための条件(1)は、法線ベクトルと重力ベクトルがほぼ平行となることである。こうすることで、ほぼ水平の面を抽出することができる。条件(2)は高さが所定の閾値1よりも高いことである。こうすることにより、高さの高い部分にある水平面を抽出することができる。閾値1について、本実施例では、床面を特定するための値と同一とした、が異なる値を用いてもよい。そして、条件(3)は、超点数が閾値2よりも大きいことである。床面と同様、十分に広い面を抽出するための条件である。閾値2についても、床面と同じ値を用いたが、異なる値としてもよい。
以上の処理によって、床面、壁面、天井面を構成する平面クラスタを得ることができる。
以上の処理によって、床面、壁面、天井面を構成する平面クラスタを得ることができる。
C2.床面ポリゴン生成処理:
床面ポリゴン生成処理は、クラスタに基づいて床面のポリゴンを特定する処理であり、屋内3次元モデル生成処理のステップS20に相当する処理である。主として、床面ポリゴン生成部121が実行する処理である。
3次元モデル生成装置100は、床面クラスタを読み込む(ステップS21)。
次に、3次元モデル生成装置100は、床面クラスタにグリッドを配置し、グリッド上に床面クラスタの点群を投影する(ステップS22)。グリッドは、任意に配置すればよいが、例えば、次の方法で配置してもよい。つまり、第1に、グリッドを仮配置した上で、点群が属している格子を抽出し、この格子がグリッドの縦または横方向に並ぶ最長の長さを評価値として求める。第2に、グリッドの配置方向を回転させながら、同様にして評価値を求め、この評価値が最大となる方向を求める。こうすることによって、グリッドを構成する2軸が床面の形状に沿うようにグリッドを配置することができる。
また、グリッドの格子サイズは任意に設定可能である。格子サイズが小さければ、建物形状を精度良く表すことができる一方、処理負荷が高くなる。格子サイズが大きければ、建物形状を表す精度が粗くなるが、処理負荷が軽減される。これらを考慮しながら、格子サイズは決定すればよい。
図中に点群を投影した状態を示した。点は×で表してある。各グリッド内に1個または複数の点群が存在する格子、全く点が存在しない格子が表れる。
床面ポリゴン生成処理は、クラスタに基づいて床面のポリゴンを特定する処理であり、屋内3次元モデル生成処理のステップS20に相当する処理である。主として、床面ポリゴン生成部121が実行する処理である。
3次元モデル生成装置100は、床面クラスタを読み込む(ステップS21)。
次に、3次元モデル生成装置100は、床面クラスタにグリッドを配置し、グリッド上に床面クラスタの点群を投影する(ステップS22)。グリッドは、任意に配置すればよいが、例えば、次の方法で配置してもよい。つまり、第1に、グリッドを仮配置した上で、点群が属している格子を抽出し、この格子がグリッドの縦または横方向に並ぶ最長の長さを評価値として求める。第2に、グリッドの配置方向を回転させながら、同様にして評価値を求め、この評価値が最大となる方向を求める。こうすることによって、グリッドを構成する2軸が床面の形状に沿うようにグリッドを配置することができる。
また、グリッドの格子サイズは任意に設定可能である。格子サイズが小さければ、建物形状を精度良く表すことができる一方、処理負荷が高くなる。格子サイズが大きければ、建物形状を表す精度が粗くなるが、処理負荷が軽減される。これらを考慮しながら、格子サイズは決定すればよい。
図中に点群を投影した状態を示した。点は×で表してある。各グリッド内に1個または複数の点群が存在する格子、全く点が存在しない格子が表れる。
次に、3次元モデル生成装置100は、点群が存在するグリッドを抽出することで、床面を決定する(ステップS23)。
図中に処理の様子を示した。ステップS73に示した点群の投影結果に基づき、1又は複数の点が存在する格子を抽出する。ステップS23内の図では、このような格子にハッチングを付して示した。3次元モデル生成装置100は、ハッチングを付した各格子の代表点を結ぶことによって床面を特定する。本実施例では、格子の重心(図中の●で示した点)を代表点として用いた。
この処理によって、処理対象となるべき点数は、床面に対応する位置にある格子点の数にまで減少される。
図中に処理の様子を示した。ステップS73に示した点群の投影結果に基づき、1又は複数の点が存在する格子を抽出する。ステップS23内の図では、このような格子にハッチングを付して示した。3次元モデル生成装置100は、ハッチングを付した各格子の代表点を結ぶことによって床面を特定する。本実施例では、格子の重心(図中の●で示した点)を代表点として用いた。
この処理によって、処理対象となるべき点数は、床面に対応する位置にある格子点の数にまで減少される。
3次元モデル生成装置100は、さらに、頂点を間引く処理を行う(ステップS24)。
本実施例では、図中の左側に示すように、ほぼ直線的に配列されていると判断される部分について、中央に位置する頂点を削除する方法を採用した。例えば、頂点a、b、cが存在する場合、線分ab、bcの外角αを求める。そして、α<閾値3の場合には、これらの3点がほぼ直線的に並んでいるものと判断し、頂点bを削除するのである。閾値3は、頂点bを削除するか否かの判断基準となる値であり、頂点bを削除することによって建物枠に有意な形状変化を与えるか否かという観点から任意に設定することができる。
図の右側には、頂点を削除した結果を例示した。この処理によって、ステップS23で示した形状に対し、ステップS24の図中に示すように、頂点P1〜P4の4点に削除することができる。
以上の処理によって、3次元モデル生成装置100は、床面を決定することができる。
本実施例では、図中の左側に示すように、ほぼ直線的に配列されていると判断される部分について、中央に位置する頂点を削除する方法を採用した。例えば、頂点a、b、cが存在する場合、線分ab、bcの外角αを求める。そして、α<閾値3の場合には、これらの3点がほぼ直線的に並んでいるものと判断し、頂点bを削除するのである。閾値3は、頂点bを削除するか否かの判断基準となる値であり、頂点bを削除することによって建物枠に有意な形状変化を与えるか否かという観点から任意に設定することができる。
図の右側には、頂点を削除した結果を例示した。この処理によって、ステップS23で示した形状に対し、ステップS24の図中に示すように、頂点P1〜P4の4点に削除することができる。
以上の処理によって、3次元モデル生成装置100は、床面を決定することができる。
C3.天井面ポリゴン生成処理:
天井面ポリゴン生成処理は、クラスタおよび床面ポリゴンを用いて天井面のポリゴンを特定する処理であり、屋内3次元モデル生成処理のステップS30に相当する処理である。主として、天井面ポリゴン生成部122が実行する処理である。
処理を開始すると、3次元モデル生成装置100は、天井面クラスタおよび床面ポリゴンを読み込む(ステップS31)。そして、床面ポリゴンを天井面クラスタの高さまで平行移動する(ステップS32)。平行移動の方向は、重力と逆方向である。図中に処理の概要を模式的に示した。床面ポリゴンを平行移動して天井面ポリゴンとすることにより、床面ポリゴンと天井面ポリゴンの形状を一致させることができる。多くの建造物では、両者の形状は一致しているため、かかる方法をとることにより、床面ポリゴンと天井面ポリゴンとを個別に生成するよりも構造面のポリゴン化の精度を向上させることができるのである。
天井面の高さは、種々の設定をとることができる。例えば、天井面クラスタの中心部分の高さを使用してもよい。また、天井面クラスタに属する点群のうち最低高さ、最高高さの中央値としてもよい。天井面クラスタに属する各点の高さの平均値としてもよい。
3次元モデル生成装置100は、以上の処理によって天井面ポリゴンの生成を完了する。
天井面ポリゴン生成処理は、クラスタおよび床面ポリゴンを用いて天井面のポリゴンを特定する処理であり、屋内3次元モデル生成処理のステップS30に相当する処理である。主として、天井面ポリゴン生成部122が実行する処理である。
処理を開始すると、3次元モデル生成装置100は、天井面クラスタおよび床面ポリゴンを読み込む(ステップS31)。そして、床面ポリゴンを天井面クラスタの高さまで平行移動する(ステップS32)。平行移動の方向は、重力と逆方向である。図中に処理の概要を模式的に示した。床面ポリゴンを平行移動して天井面ポリゴンとすることにより、床面ポリゴンと天井面ポリゴンの形状を一致させることができる。多くの建造物では、両者の形状は一致しているため、かかる方法をとることにより、床面ポリゴンと天井面ポリゴンとを個別に生成するよりも構造面のポリゴン化の精度を向上させることができるのである。
天井面の高さは、種々の設定をとることができる。例えば、天井面クラスタの中心部分の高さを使用してもよい。また、天井面クラスタに属する点群のうち最低高さ、最高高さの中央値としてもよい。天井面クラスタに属する各点の高さの平均値としてもよい。
3次元モデル生成装置100は、以上の処理によって天井面ポリゴンの生成を完了する。
C4.壁面ポリゴン生成処理:
壁面ポリゴン生成処理は、クラスタおよび床面ポリゴン、天井面ポリゴンを用いて壁面のポリゴンを特定する処理であり、屋内3次元モデル生成処理のステップS40に相当する処理である。主として、壁面ポリゴン生成部123が実行する処理である。
処理を開始すると、3次元モデル生成装置100は、天井面ポリゴン、床面ポリゴンを読み込む(ステップS41)。そして、天井面ポリゴンと床面ポリゴンの対応する頂点を接続する(ステップS42)。こうして天井面ポリゴンと床面ポリゴンとの間に定義される平面を、壁面仮ポリゴンと呼ぶものとする。図中に処理の概要を示した。図中には、壁面クラスタに属する点群を併せて示しているが、壁面仮ポリゴンの生成に、これらの点群が利用される訳ではない。
壁面ポリゴン生成処理は、クラスタおよび床面ポリゴン、天井面ポリゴンを用いて壁面のポリゴンを特定する処理であり、屋内3次元モデル生成処理のステップS40に相当する処理である。主として、壁面ポリゴン生成部123が実行する処理である。
処理を開始すると、3次元モデル生成装置100は、天井面ポリゴン、床面ポリゴンを読み込む(ステップS41)。そして、天井面ポリゴンと床面ポリゴンの対応する頂点を接続する(ステップS42)。こうして天井面ポリゴンと床面ポリゴンとの間に定義される平面を、壁面仮ポリゴンと呼ぶものとする。図中に処理の概要を示した。図中には、壁面クラスタに属する点群を併せて示しているが、壁面仮ポリゴンの生成に、これらの点群が利用される訳ではない。
以下の動作は、壁面を生成する際の処理モードによって、2つに分かれる。本実施例では、壁面ポリゴンの生成判定を行うモードと、無条件で壁面ポリゴンを生成するモードの2種類をオペレータが適宜、切り替え可能とした。
生成判定を行わない場合(ステップS43)、即ち、無条件で壁面ポリゴンを生成するモードの場合、3次元モデル生成装置100は、ステップS42で生成された壁面仮ポリゴンを壁面ポリゴンとし(ステップS46)、この処理を終了する。
生成判定を行わない場合(ステップS43)、即ち、無条件で壁面ポリゴンを生成するモードの場合、3次元モデル生成装置100は、ステップS42で生成された壁面仮ポリゴンを壁面ポリゴンとし(ステップS46)、この処理を終了する。
一方、生成判定を行う場合(ステップS43)、3次元モデル生成装置100は、壁面クラスタに属する点群のうち、壁面仮ポリゴンから所定距離内にあるものを抽出する(ステップS44)。そして、抽出された点群の密度が閾値4よりも大きい場合は(ステップS45)、壁面仮ポリゴンを壁面ポリゴンとし(ステップS46)、そうでない場合は、壁面ポリゴンを生成せずに(ステップS47)、この処理を終了する。つまり、壁面仮ポリゴンから所定距離内に、閾値4を超える密度で点群が存在する場合には、壁面仮ポリゴンは、3次元点群に対応したポリゴンであると考えられるため、壁面ポリゴンを生成するのである。一方、点群密度が閾値4以下の場合には、壁面仮ポリゴンには、対応する3次元点群が十分に存在しないと考えられるため、壁面ポリゴンを生成しない。閾値4は、壁面ポリゴンを生成するか否かの評価値となるため、例えば、床面ポリゴン、天井面ポリゴンなど、生成済みのポリゴンにおける3次元点群の密度などを基準として任意に設定することができる。
このような生成判定を行うことにより、3次元点群が存在する箇所を壁面ポリゴンとすることができるため、架空の壁面ポリゴンが生成されることを回避できる利点がある。逆に、生成判定を行わずに壁面ポリゴンを生成するモードの場合には、例えば、壁面の前にロッカーなどの障害物が設置されており壁面の3次元点群が得られていない場合でも壁面ポリゴンが生成されることになるから、障害物がある場合でも適切な壁面ポリゴンを生成できる利点がある。
オペレータは、両モードの利点を活かすよう、例えば、構造物の少ない部屋のモデル化では、生成判定処理を行い、構造物が多い部屋のモデル化では、生成判定処理を行わない、というように使い分けることができる。
このような生成判定を行うことにより、3次元点群が存在する箇所を壁面ポリゴンとすることができるため、架空の壁面ポリゴンが生成されることを回避できる利点がある。逆に、生成判定を行わずに壁面ポリゴンを生成するモードの場合には、例えば、壁面の前にロッカーなどの障害物が設置されており壁面の3次元点群が得られていない場合でも壁面ポリゴンが生成されることになるから、障害物がある場合でも適切な壁面ポリゴンを生成できる利点がある。
オペレータは、両モードの利点を活かすよう、例えば、構造物の少ない部屋のモデル化では、生成判定処理を行い、構造物が多い部屋のモデル化では、生成判定処理を行わない、というように使い分けることができる。
C5.内部構造点群分離処理:
内部構造点群分離処理は、クラスタおよび床面ポリゴン、天井面ポリゴン、壁面ポリゴンの位置関係に基づいて、構造物を構成する3次元点群(内部構造点群)を分離する処理であり、屋内3次元モデル生成処理のステップS50に相当する処理である。主として、内部構造点群分離処理部124が実行する処理である。
処理を開始すると、3次元モデル生成装置100は、3次元点群と生成されたポリゴン(床面ポリゴン、天井面ポリゴンおよび壁面ポリゴン)を読み込む(ステップS50)。
そして、構造物を構成する点群を分離する(ステップS51)。分離の条件は、全てのポリゴンからの距離>閾値5となる点群を抽出するというものである。生成済みのいずれのポリゴンからも離れている3次元点群は、これらのポリゴンに属さないと考えられ、構造物を構成する点群であると判断できるからである。閾値5は、ポリゴンを構成する点群の誤差範囲に基づいて任意に設定することができる。
内部構造点群分離処理は、クラスタおよび床面ポリゴン、天井面ポリゴン、壁面ポリゴンの位置関係に基づいて、構造物を構成する3次元点群(内部構造点群)を分離する処理であり、屋内3次元モデル生成処理のステップS50に相当する処理である。主として、内部構造点群分離処理部124が実行する処理である。
処理を開始すると、3次元モデル生成装置100は、3次元点群と生成されたポリゴン(床面ポリゴン、天井面ポリゴンおよび壁面ポリゴン)を読み込む(ステップS50)。
そして、構造物を構成する点群を分離する(ステップS51)。分離の条件は、全てのポリゴンからの距離>閾値5となる点群を抽出するというものである。生成済みのいずれのポリゴンからも離れている3次元点群は、これらのポリゴンに属さないと考えられ、構造物を構成する点群であると判断できるからである。閾値5は、ポリゴンを構成する点群の誤差範囲に基づいて任意に設定することができる。
こうして構造物を構成する点群が抽出できると、3次元モデル生成装置100は、抽出された点群について、点間の距離によるクラスタリングを行う(ステップS52)。つまり、比較的近くにある点群同士をクラスタ化することによって、点群を構造物単位で分離するのである。
図中にクラスタリングの方法を模式的に示した。3次元モデル生成装置100は、処理対象となる点群の中から、任意に1つの点P1を選択し、固有のラベル(図の例では「A」)を付与する。そして、この点P1から所定の距離ra内にある点を探索し、これらに同じラベルを付与する。図の例では、点P2,P3に対してラベル「A」が付与されている。距離raは、クラスタリングするか否かの判断基準となる距離である。クラスタリングの目的は、点群を構造物ごとに分離することであるから、距離raは、処理対象となる領域における構造物の間隔よりも小さい範囲で任意に設定することができる。
点P2、P3にラベルを付すと、3次元モデル生成装置100は、これらの点からさらに距離ra内の点を探索し、これらの同じラベルを付与する。図の例では、点P4、P5にラベル「A」が付与されている。かかる処理を繰り返し実行することによって、相互に距離ra内にある点を探索することができ、それらに同じラベルを付与することができる。距離ra内にある点が探索できなくなった時点で、ラベルの付与されていない未処理の点を選択し、新たなラベル(例えば、「B」)を付与しながら、同様の処理を実行することによって、点間の距離によるクラスタリングを行うことができる。
図中にクラスタリングの方法を模式的に示した。3次元モデル生成装置100は、処理対象となる点群の中から、任意に1つの点P1を選択し、固有のラベル(図の例では「A」)を付与する。そして、この点P1から所定の距離ra内にある点を探索し、これらに同じラベルを付与する。図の例では、点P2,P3に対してラベル「A」が付与されている。距離raは、クラスタリングするか否かの判断基準となる距離である。クラスタリングの目的は、点群を構造物ごとに分離することであるから、距離raは、処理対象となる領域における構造物の間隔よりも小さい範囲で任意に設定することができる。
点P2、P3にラベルを付すと、3次元モデル生成装置100は、これらの点からさらに距離ra内の点を探索し、これらの同じラベルを付与する。図の例では、点P4、P5にラベル「A」が付与されている。かかる処理を繰り返し実行することによって、相互に距離ra内にある点を探索することができ、それらに同じラベルを付与することができる。距離ra内にある点が探索できなくなった時点で、ラベルの付与されていない未処理の点を選択し、新たなラベル(例えば、「B」)を付与しながら、同様の処理を実行することによって、点間の距離によるクラスタリングを行うことができる。
C6.内部構造ポリゴン生成処理:
内部構造ポリゴン生成処理は、内部構造点群に基づいて構造物の3次元モデルを生成する処理であり、屋内3次元モデル生成処理のステップS60に相当する処理である。主として、内部構造ポリゴン生成部125が実行する処理である。
処理を開始すると、3次元モデル生成装置100は、内部構造点群を読み込む(ステップS61)。内部構造点群とは、内部構造点群分離処理(図5)で各構造物ごとにクラスタリングされた3次元点群である。
3次元モデル生成装置100は、次に処理対象となるプリミティブを選択する(ステップS62)。図1で説明した通り、本実施例では、プリミティブデータは、柱、机、椅子、ロッカーなど構造物の種類ごとにグループ化され、それぞれ基本的な形状が記憶されている。また、柱、机などの各グループについて、種々の形状が記憶されている。プリミティブの選択は、これらの多数のプリミティブからいずれか一つを選択する処理であり、選択方法はどのようなものであってもよい。また、オペレータの指示や、構造物に属する3次元点群の広がりの大きさ、即ち平面積や高さなどに応じて、いずれかのグループを優先的に選択するようにしてもよい。
内部構造ポリゴン生成処理は、内部構造点群に基づいて構造物の3次元モデルを生成する処理であり、屋内3次元モデル生成処理のステップS60に相当する処理である。主として、内部構造ポリゴン生成部125が実行する処理である。
処理を開始すると、3次元モデル生成装置100は、内部構造点群を読み込む(ステップS61)。内部構造点群とは、内部構造点群分離処理(図5)で各構造物ごとにクラスタリングされた3次元点群である。
3次元モデル生成装置100は、次に処理対象となるプリミティブを選択する(ステップS62)。図1で説明した通り、本実施例では、プリミティブデータは、柱、机、椅子、ロッカーなど構造物の種類ごとにグループ化され、それぞれ基本的な形状が記憶されている。また、柱、机などの各グループについて、種々の形状が記憶されている。プリミティブの選択は、これらの多数のプリミティブからいずれか一つを選択する処理であり、選択方法はどのようなものであってもよい。また、オペレータの指示や、構造物に属する3次元点群の広がりの大きさ、即ち平面積や高さなどに応じて、いずれかのグループを優先的に選択するようにしてもよい。
処理対象となるプリミティブを選択すると、3次元モデル生成装置100は、処理対象のプリミティブの重心と、内部構造点群の重心を合わせることによって、両者の位置合わせを行う(ステップS63)。そして、3次元モデル生成装置100は、内部構造点群の各点ごとにプリミティブまでの最短距離を算出する(ステップS64)。図中に処理の様子を示した。図に示す机の形状が処理対象となるプリミティブである。●は、内部構造点群を示している。また、図の例では、例えば、点p1については、最も近傍の脚までの距離L1が最短距離となる。点p2については、点p1とは異なる脚までの距離L2が最短距離となる。このようにして、全ての点について、最短距離を算出するのである。
最短距離が算出されると、3次元モデル生成装置100は、その結果を用いて一致率を算出する(ステップS65)。
本実施例では、一致率=(距離>閾値6となる点の数)/クラスタ内の点の数、という式で求めるものとした。つまり、クラスタ内の点のうち、プリミティブから明らかに離れていると判断される点がどの程度あるか、という値である。この値が小さいほど、一致率が「高い」、即ち点群とプリミティブがよく一致していることを意味する。閾値6を大きく設定すれば、プリミティブから離れた点もプリミティブに一致していると評価されやすくなる。逆に閾値6を小さく設定すれば、3次元点群は、いずれのプリミティブとも一致していないと評価されるおそれが高くなる。閾値6の値は、これらの効果を考慮して、任意の値を設定すればよい。
本実施例では、一致率=(距離>閾値6となる点の数)/クラスタ内の点の数、という式で求めるものとした。つまり、クラスタ内の点のうち、プリミティブから明らかに離れていると判断される点がどの程度あるか、という値である。この値が小さいほど、一致率が「高い」、即ち点群とプリミティブがよく一致していることを意味する。閾値6を大きく設定すれば、プリミティブから離れた点もプリミティブに一致していると評価されやすくなる。逆に閾値6を小さく設定すれば、3次元点群は、いずれのプリミティブとも一致していないと評価されるおそれが高くなる。閾値6の値は、これらの効果を考慮して、任意の値を設定すればよい。
一致率は、点群データとプリミティブの相対的な角度によっても変化する。例えば、ステップS64に示した例において、机のプリミティブをヨー方向に回転させれば、回転角度に応じて、一致率が変化することが分かる。また、点群データとプリミティブとは必ずしも相似関係にあるとも限らないため、プリミティブの縦横高さ方向(xyz方向)の比率を変化させると、一致率が変化し得る。そこで、3次元モデル生成装置100は、点群とプリミティブの相対的角度およびプリミティブのxyz方向の倍率を変化させて、一致率が最も高くなるときの値を算出する(ステップS66)。つまり、プリミティブを、点群データに最も一致した状態に合わせた上で、一致率を評価するのである。
3次元モデル生成装置100は、以上の処理を全プリミティブに対して繰り返し実行する(ステップS67)。この処理は、用意されたプリミティブデータ全てを対象として実行してもよいし、いずれかのグループ内のプリミティブ全てを対象として実行するようにしてもよい。
こうして、全プリミティブデータに対して一致率が求まると、3次元モデル生成装置100は、一致率が最も高いプリミティブ、即ち点群に最も一致していると評価されるプリミティブを選択し、これに基づいて内部構造ポリゴンを生成する(ステップS68)。
こうして、全プリミティブデータに対して一致率が求まると、3次元モデル生成装置100は、一致率が最も高いプリミティブ、即ち点群に最も一致していると評価されるプリミティブを選択し、これに基づいて内部構造ポリゴンを生成する(ステップS68)。
以上で説明した実施例の処理によれば、3次元点群から構造物の点群を分離することができ、プリミティブを用いてその3次元モデルを生成することができる。従って、構造物の3次元モデルの精度を向上することが可能となる。
本実施例において、上述した種々の特徴は、必ずしも全てを備えている必要はなく、適宜、その一部を省略したり、組み合わせたりして構成してもよい。また、実施例においてソフトウェア的に実現されている部分は、ハードウェア的に実現してもよいし、その逆も可能である。
また、本実施例は、その趣旨を逸脱しない範囲で種々の変形例を構成することも可能である。
また、本実施例は、その趣旨を逸脱しない範囲で種々の変形例を構成することも可能である。
<変形例1> 本実施例においては、一致率が高いプリミティブを選択しているが(図9のステップS68)、この時に、条件を追加し、プリミティブごとまたはプリミティブが属するグループごとに所定の閾値を設定しておき、算出された一致率が、この閾値よりも高い場合(点群がプリミティブに一致していると評価される場合)に、当該プリミティブを選択するようにしてもよい。例えば、0〜1.0の範囲で数値が高いほど点群とプリミティブが一致するように一致率が定義されているとして、柱のグループについては0.9以上の一致率であることを条件とし、机のグループについては0.7以上の一致率であることを条件とするのである。かかる場合に、点群と柱プリミティブの一致率が0.8であり、点群と机プリミティブの一致率が0.75と求められたとする。この場合、柱プリミティブに対する一致率0.8は、柱グループに設定された0.9という条件を満たしていないため、柱プリミティブを選択して3次元モデルを生成することは行われない。一方、机プリミティブに対する一致率0.75は、机グループに設定された0.7を超えているため、机プリミティブに対する3次元モデルが生成される。このように、グループごとに選択されるための一致率の閾値を設定しておけば、グループに属するプリミティブの形状の複雑さなどを考慮し、期待される一致率を踏まえたプリミティブの選択が可能となり、より3次元モデルの精度向上を図ることが可能となる。
<変形例2> 本実施例においては、建造物の内部構造についての3次元モデルの生成を例にとって説明した。本実施例は、建造物の外部に存在する構造物についての3次元モデルの生成に適用することもできる。かかる構造物としては、例えば、建造物に付属される看板その他の付属構造物や、路上に存在する標識、樹木などの構造物についても同様であった。本発明は、かかる課題に基づき、3次元点群を利用して建造物以外の構造物の3次元モデルが考えられる。外部の付属構造物に適用する場合、実施例と同様の方法で、建造物の床面ポリゴン、屋根ポリゴン、壁面ポリゴンを生成し、構造物の3次元点群を分離すればよい。床面ポリゴンに相当する3次元点群が得られていない場合、屋根ポリゴンを平行移動して床面ポリゴンとしてもよいし、地面を構成する3次元点群が得られている場合には、逆に、地面の3次元点群が存在しない部分が床面であると判断して処理するようにしてもよい。
本発明は、建造物の構造面および構造面以外の構造物を含む3次元点群に基づいて、構造物の3次元モデルを生成するために利用することができる。
100…3次元モデル生成装置
110…3次元点群データ記憶部
111…3次元モデルデータ記憶部
112…プリミティブデータ記憶部
120…クラスタ生成部
121…床面ポリゴン生成部
122…天井面ポリゴン生成部
123…壁面ポリゴン生成部
124…内部構造点群分離処理部
125…内部構造ポリゴン生成部
110…3次元点群データ記憶部
111…3次元モデルデータ記憶部
112…プリミティブデータ記憶部
120…クラスタ生成部
121…床面ポリゴン生成部
122…天井面ポリゴン生成部
123…壁面ポリゴン生成部
124…内部構造点群分離処理部
125…内部構造ポリゴン生成部
Claims (6)
- 建造物の構造面、該構造面以外の構造物を含む3次元点群に基づいて、前記構造物の3次元モデルを生成する3次元モデル生成装置であって、
前記3次元点群を表す3次元点群データを記憶する3次元点群データ記憶部と、
前記3次元点群データに基づいて、前記構造面ポリゴンを生成する構造面ポリゴン生成部と、
前記構造面ポリゴンとの位置関係に基づいて、前記3次元点群データから、前記構造物を表す3次元点群データを構造物点群データとして分離する分離処理部と、
予め前記構造物に対応する基本形状を表す3次元モデルであるプリミティブデータを記憶するプリミティブデータ記憶部と、
前記構造物点群データと前記プリミティブデータとに基づいて、前記構造物の3次元モデルを生成する生成部とを備える3次元モデル生成装置。 - 請求項1記載の3次元モデル生成装置であって、
前記プリミティブデータは複数用意されており、
前記生成部は、前記プリミティブデータと前記構造物点群データとの一致率に基づいて、前記3次元モデルの生成に利用するプリミティブデータを選択する3次元モデル生成装置。 - 請求項1または2記載の3次元モデル生成装置であって、
前記一致率は、前記構造物点群データから前記プリミティブデータまでの最小距離が閾値を超える点の数と、全ての構造物点群データの数との比で求められる3次元モデル生成装置。 - 請求項2または3記載の3次元モデル生成装置であって、
前記プリミティブデータは、予め複数のグループに分類されており、
前記生成部は、前記一致率が各グループごとに設定された閾値を超えるプリミティブデータを対象として前記選択を行う3次元モデル生成装置。 - 建造物の構造面、該構造面以外の構造物を含む3次元点群に基づいて、前記構造物の3次元モデルをコンピュータによって生成する3次元モデル生成方法であって、
前記コンピュータが実行するステップとして、
前記3次元点群を表す3次元点群データを記憶した3次元点群データ記憶部から前記3次元点群データを読み込むステップと、
前記3次元点群データに基づいて、前記構造面ポリゴンを生成するステップと、
前記構造面ポリゴンとの位置関係に基づいて、前記3次元点群データから、前記構造物を表す3次元点群データを構造物点群データとして分離するステップと、
予め前記構造物に対応する基本形状を表す3次元モデルであるプリミティブデータを記憶するプリミティブデータ記憶部を参照するステップと、
前記構造物点群データと前記プリミティブデータとに基づいて、前記構造物の3次元モデルを生成するステップとを備える3次元モデル生成方法。 - 建造物の構造面、該構造面以外の構造物を含む3次元点群に基づいて、前記構造物の3次元モデルをコンピュータによって生成するためのコンピュータプログラムであって、
前記3次元点群を表す3次元点群データを記憶した3次元点群データ記憶部から前記3次元点群データを読み込む機能と、
前記3次元点群データに基づいて、前記構造面ポリゴンを生成する機能と、
前記構造面ポリゴンとの位置関係に基づいて、前記3次元点群データから、前記構造物を表す3次元点群データを構造物点群データとして分離する機能と、
予め前記構造物に対応する基本形状を表す3次元モデルであるプリミティブデータを記憶するプリミティブデータ記憶部を参照する機能と、
前記構造物点群データと前記プリミティブデータとに基づいて、前記構造物の3次元モデルを生成する機能とをコンピュータによって実現するためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018056895A JP2019168976A (ja) | 2018-03-23 | 2018-03-23 | 3次元モデル生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018056895A JP2019168976A (ja) | 2018-03-23 | 2018-03-23 | 3次元モデル生成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019168976A true JP2019168976A (ja) | 2019-10-03 |
Family
ID=68108360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018056895A Pending JP2019168976A (ja) | 2018-03-23 | 2018-03-23 | 3次元モデル生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019168976A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182699A (zh) * | 2020-09-17 | 2021-01-05 | 中北大学 | 一种基于revit图元模型的信息提取方法 |
JP2021103168A (ja) * | 2019-12-25 | 2021-07-15 | エーディーエーティー テクノロジー カンパニー リミテッド | 拡張現実装置及び位置決め方法 |
JP7030937B1 (ja) * | 2020-11-26 | 2022-03-07 | 株式会社ラグロフ設計工房 | 土木構造物の3次元モデルを生成するためのコンピュータプログラム、そのコンピュータプログラムがインストールされたコンピュータ及び土木構造物の3次元モデルの生成システム |
CN114168795A (zh) * | 2022-02-15 | 2022-03-11 | 中航建筑工程有限公司 | 建筑三维模型映射及存储方法、装置、电子设备及介质 |
US11544900B2 (en) | 2019-07-25 | 2023-01-03 | General Electric Company | Primitive-based 3D building modeling, sensor simulation, and estimation |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002074323A (ja) * | 2000-09-01 | 2002-03-15 | Kokusai Kogyo Co Ltd | 三次元市街地空間モデル作成方法およびシステム |
JP2015028702A (ja) * | 2013-07-30 | 2015-02-12 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP2018024502A (ja) * | 2016-08-09 | 2018-02-15 | 株式会社日立ビルシステム | エレベータ機械室図面生成装置、エレベータ機械室モデリングデータ生成装置、エレベータ機械室図面生成方法、及びエレベータ機械室モデリングデータ生成方法 |
-
2018
- 2018-03-23 JP JP2018056895A patent/JP2019168976A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002074323A (ja) * | 2000-09-01 | 2002-03-15 | Kokusai Kogyo Co Ltd | 三次元市街地空間モデル作成方法およびシステム |
JP2015028702A (ja) * | 2013-07-30 | 2015-02-12 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP2018024502A (ja) * | 2016-08-09 | 2018-02-15 | 株式会社日立ビルシステム | エレベータ機械室図面生成装置、エレベータ機械室モデリングデータ生成装置、エレベータ機械室図面生成方法、及びエレベータ機械室モデリングデータ生成方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11544900B2 (en) | 2019-07-25 | 2023-01-03 | General Electric Company | Primitive-based 3D building modeling, sensor simulation, and estimation |
JP2021103168A (ja) * | 2019-12-25 | 2021-07-15 | エーディーエーティー テクノロジー カンパニー リミテッド | 拡張現実装置及び位置決め方法 |
JP7114686B2 (ja) | 2019-12-25 | 2022-08-08 | エーディーエーティー テクノロジー カンパニー リミテッド | 拡張現実装置及び位置決め方法 |
CN112182699A (zh) * | 2020-09-17 | 2021-01-05 | 中北大学 | 一种基于revit图元模型的信息提取方法 |
CN112182699B (zh) * | 2020-09-17 | 2022-11-18 | 中北大学 | 一种基于revit图元模型的信息提取方法 |
JP7030937B1 (ja) * | 2020-11-26 | 2022-03-07 | 株式会社ラグロフ設計工房 | 土木構造物の3次元モデルを生成するためのコンピュータプログラム、そのコンピュータプログラムがインストールされたコンピュータ及び土木構造物の3次元モデルの生成システム |
CN114168795A (zh) * | 2022-02-15 | 2022-03-11 | 中航建筑工程有限公司 | 建筑三维模型映射及存储方法、装置、电子设备及介质 |
CN114168795B (zh) * | 2022-02-15 | 2022-04-19 | 中航建筑工程有限公司 | 建筑三维模型映射及存储方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019168976A (ja) | 3次元モデル生成装置 | |
Wang et al. | Lidar point clouds to 3-D urban models $: $ A review | |
CN108053432B (zh) | 基于局部icp的室内稀疏点云场景的配准方法 | |
KR101420237B1 (ko) | 이웃 포인트의 탐색이 용이한 3d 영상 처리 방법 | |
CN110363849A (zh) | 一种室内三维建模方法及系统 | |
CN114140586B (zh) | 面向室内空间的三维建模方法、装置和存储介质 | |
CN110838129A (zh) | 基于倾斜摄影测量的三维建筑物模型轮廓特征线提取方法 | |
EP2991037A1 (en) | Method of generating three-dimensional scene model | |
Laycock et al. | Automatically generating large urban environments based on the footprint data of buildings | |
CN104952086B (zh) | 用于管理结构数据的设备及方法 | |
Boysen et al. | A journey from ifc files to indoor navigation | |
CN104090945B (zh) | 一种地理空间实体构建方法及系统 | |
Zhang et al. | A geometry and texture coupled flexible generalization of urban building models | |
CN112002007A (zh) | 基于空地影像的模型获取方法及装置、设备、存储介质 | |
CN116168174A (zh) | 建筑物缺失结构点云的修补方法及装置 | |
JP2021032716A (ja) | 測量データ処理装置、測量データ処理方法および測量データ処理用プログラム | |
Sahebdivani et al. | Deep learning based classification of color point cloud for 3D reconstruction of interior elements of buildings | |
CN116402973A (zh) | 一种基于lod重构的倾斜摄影模型优化方法、系统 | |
Brutto et al. | 3D survey and modelling of the main portico of the Cathedral of Monreale | |
CN112052489B (zh) | 一种户型图生成方法及系统 | |
CN109509249B (zh) | 一种基于部件的虚拟场景光源智能生成方法 | |
CN106570934A (zh) | 针对大场景的空间隐函数建模方法 | |
CN117437364B (zh) | 基于残缺点云数据的建筑三维结构提取方法和装置 | |
US20150302115A1 (en) | Method and apparatus for creating 3d model | |
JP5997664B2 (ja) | テクスチャ画像データの生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190618 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200707 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200713 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210215 |