三次元点群位置データ処理装置、三次元点群位置データ処理方法、三次元点群位置データ処理システムおよびプログラム
【課題】三次元点群位置データの処理の途中経過を知ることができる技術を提供する。
【解決手段】三次元レーザースキャナが測定した三次元点群位置データ(S502)に基づき、解像度を段階的に変えた三次元モデルを作成する(S505)。この際、低解像度の三次元モデルの作成およびその表示(S506)、さらにその後に、ラベリングされたデータを引き継いで(S509)の高解像度の三次元モデルの作成およびその表示を行う。ここで、低解像度の三次元モデルの表示を行うことで、最終的な三次元モデルの完成の途中の段階をユーザが把握することができる。
【解決手段】三次元レーザースキャナが測定した三次元点群位置データ(S502)に基づき、解像度を段階的に変えた三次元モデルを作成する(S505)。この際、低解像度の三次元モデルの作成およびその表示(S506)、さらにその後に、ラベリングされたデータを引き継いで(S509)の高解像度の三次元モデルの作成およびその表示を行う。ここで、低解像度の三次元モデルの表示を行うことで、最終的な三次元モデルの完成の途中の段階をユーザが把握することができる。
【発明の詳細な説明】
【背景技術】
【0001】
測定対象物の三次元点群位置データから三次元形状を生成する技術が知られている。三次元点群位置データでは、二次元画像と三次元座標とが結び付けられている。すなわち、三次元点群位置データでは、測定対象物の二次元画像のデータと、この二次元画像に対応付けされた複数の測定点(点群)と、この複数の測定点の三次元空間中の位置(三次元座標)とが関連付けされている。三次元点群位置データによれば、点の集合により測定対象物の外形を再現した三次元モデルを得ることができる。また、各点の三次元座標が判るので、各点の三次元空間中における相対位置関係が把握でき、画面表示した三次元モデルの画像を回転させたり、異なる視点から見た画像に切り替えたりする処理が可能となる。
【0002】
例えば、特許文献1に記載の発明では、走査レーザー装置が三次元対象を走査して、ポイントクラウドを生成する。ポイントクラウドは、走査点に関する深さと法線の変化に基づいて、エッジポイントと非エッジポイントのグループに分割される。各グループを幾何学的原図にフィットさせ、フィットした幾何学的原図を拡張、交差させることで、三次元形状を生成する。
【0003】
特許文献2に記載の発明では、三次元点群位置データからセグメント(三角ポリゴン)を形成し、隣接するポリゴン同士の連続性、法線方向、または距離に基づき、エッジおよび面を抽出する。また、各セグメントの三次元点群位置データの平面性または曲面性を、最小二乗法を用いて、平面方程式または曲面方程式に置き換え、グループ分けを行い、三次元形状を生成する。
【0004】
特許文献3に記載の発明では、三次元点群位置データに対して二次元矩形領域を設定し、その矩形領域に対応する測定点の合成法線ベクトルを求める。そして合成法線ベクトルがZ軸方向と一致するように、矩形領域内の全ての計測点を回転移動する。更に矩形領域内の各計測点についてZ値の標準偏差σを求め、標準偏差σが所定値を超えた場合、矩形領域の中心点と対応する計測点をノイズとして取り扱う。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特表2000−509150号公報
【特許文献2】特開2004−272459号公報
【特許文献3】特開2005−024370号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
三次元点群位置データの点の数は、数万点〜数億点にもなる。そのため、取得した三次元点群位置データを処理し、三次元モデルを作成するにはある程度の時間が必要とされる。勿論、この処理時間は、使用する演算装置の性能、測定対象物の形状、求められる分解能等に依存するのであるが、一般的なパーソナルコンピュータを用いた場合、数時間以上を必要とする場合がある。この演算の最中は、どのような結果が得られるのか不明となるが、途中であっても概略のアウトラインだけでも知りたいというユーザの要望がある。また、三次元モデルが得られた段階で三次元点群位置データを取得する視点の設定が適切でなく、視点を変えて再度の三次元点群位置データの取得が必要となる場合があるが、この場合も最終結果に至る前に、解像度は悪くてもある程度のアウトラインが判る三次元モデルを見ることができれば、視点が適当でなかった旨が判る場合がある。このような場合、演算を最後まで行う前の段階で、この演算の妥当性がわかれば、無駄な処理を削減でき、作業を効率化することができる。このような背景において、本発明は、三次元点群位置データの処理の途中経過を知ることができる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
請求項1に記載の発明は、測定対象物の三次元点群位置データを取得する三次元点群位置データ取得部と、前記三次元点群位置データ取得部が取得した前記三次元点群位置データの密度を変更する三次元点群位置データの密度変更部と、前記密度変更部で密度が変更された前記三次元点群位置データから非面領域の点を除去する非面領域除去部と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、前記面ラベリング部によって区分けされた面に基づき三次元モデルを作成する三次元モデル作成部とを備えることを特徴とする三次元点群位置データ処理装置である。
【0008】
請求項1に記載の発明によれば、密度変更部において三次元点群位置データの密度が変更され、この密度が変更された三次元点群位置データに基づく三次元モデルの作成が行われる。演算の基礎データとなる三次元点群位置データの密度を下げることで、解像度は低下するが、三次元モデルの作成に要する処理の負担は軽減される。つまり、粗い三次元モデルとなるが、処理に要する時間は短縮される。よって、取得した三次元点群位置データの密度を下げ、それに基づく三次元モデルの作成を行うことで、三次元点群位置データの密度の変更を行わずに三次元モデルの作成を行う場合に比較して、より短い処理時間で三次元モデルを得ることができる。この機能を利用すると、最終的な三次元モデルが得られる前の段階で、低精度の三次元モデルをより短時間で得ることが可能となり、この低精度の三次元モデルをユーザに示すことで、ユーザは三次元点群位置データの処理の途中経過を知ることができる。また、この機能を利用すると、解像度を下げた階層を選択することで、低解像度は許容するが、短い処理時間で三次元モデルを得たい要求に応じることができる。
【0009】
請求項2に記載の発明は、請求項1に記載の発明において、前記密度変更部における密度の変更が2以上の階層で行われることを特徴とする。
【0010】
請求項3に記載の発明は、請求項2に記載の発明において、前記密度変更部は、前記三次元モデルの作成に要する時間に基づき前記階層の数を決定することを特徴とする。解像度を落とさずに三次元モデルを作成した場合、基礎となる三次元点群位置データの密度が大きい(つまりデータ量が多い)ので、処理に要する時間は長くなる。他方で、解像度を落とした場合、基礎となる三次元点群位置データの密度が小さくなる(つまりデータ量が少なくなる)ので、処理に要する時間を短くできる。階層の数を多くした場合、より低解像度の三次元モデルの作成から処理が始められるので、1階層に係る処理時間は相対的に短くなる。したがって、1階層の処理に要する時間に基づいて、階層の数を決定することで、ユーザの要求に沿った処理が行われるように設定が行われる。
【0011】
請求項4に記載の発明は、請求項1乃至3のいずれか一項に記載の発明において、前記三次元モデル作成部は、相対的に解像度の低い三次元モデルを作成した後に相対的に解像度の高い三次元モデルを作成することを特徴とする。
【0012】
請求項4に記載の発明によれば、低解像度の三次元モデルの作成の後で高解像度の三次元モデルの作成が行われる。すなわち、段階的に解像度が高くなってゆく三次元モデルの作成が行われる。この解像度を段階的に上げた三次元モデルの作成においては、1段階(1階層)の処理に用いる三次元点群位置データの量を、この段階的な処理を行わない場合に比較して少なくできるので、1段階当たり(1階層あたり)の処理に要する時間を短縮することができる。このため、より早い段階で低解像度ではあるが三次元モデルを得ることができる。
【0013】
請求項5に記載の発明は、請求項4に記載の発明において、前記三次元モデル作成部は、前記相対的に解像度の低い三次元モデルを作成した際に付与された前記同一ラベルの情報に基づき、前記相対的に解像度の高い三次元モデルの作成を行うことを特徴とする。
【0014】
請求項5に記載の発明によれば、相対的に低解像度の階層において作成されたラベルのデータが、その下位にある相対的に高解像度の階層における処理に引き継がれる。つまり、粗いラベリングがまず行われ、次にこのラベリングのデータが引き継がれて、より細部のラベリングが行われる。こうすることで、処理の効率が高くなる。仮に、階層が変わる毎にラベリングを一から行う手順とした場合、高解像度の階層となるに従い処理の負担が増大し、最後の階層では、従来技術における処理と負担は変わらなくなる。
【0015】
請求項6に記載の発明は、請求項1乃至5のいずれか一項に記載の発明において、前記三次元モデルの画像を作成する三次元モデル画像作成部を更に備え、前記三次元モデル画像作成部は、前記相対的に解像度の低い三次元モデルの画像を作成した後に、前記相対的に解像度の高い三次元モデルの画像の作成を行うことを特徴とする。請求項6に記載の発明によれば、段階的に解像度が高くなる三次元モデルの画像の表示が行われるので、徐々に解像度が高くなる三次元モデルの状態をユーザが観察できる。
【0016】
請求項7に記載の発明は、請求項6に記載の発明において、前記相対的に解像度の低い三次元モデルの画像を作成した後に、前記相対的に解像度の高い三次元モデルの作成を中止させる指示を受け付ける受付部を備えることを特徴とする。
【0017】
請求項7に記載の発明によれば、最終的な高解像度の三次元モデルが作成される前の段階で処理を止めることができる。仮に、複数の段階を経ずにいきなり最終的な高解像度の三次元モデルが作成する処理とした場合、三次元モデルが得られた段階で視点の設定等の誤りに気付いても、既に処理は終了しているので、それまでの処理が無駄になる。これに対して、解像度を段階的に分けた処理で三次元モデルを得る方法では、演算量が少なくて済む低解像度の段階で誤りに気付き、その時点で処理を中止することで、無駄に行われる演算を減らすことができる。
【0018】
請求項8に記載の発明は、請求項1乃至7のいずれか一項に記載の発明において、前記面ラベリング部によって区分けされた面同士の境界部分における三次元エッジを抽出する三次元エッジ抽出部と、前記面ラベリング部によって区分けされた面内から二次元エッジを抽出する二次元エッジ抽出部と、前記三次元エッジと前記二次元エッジを統合するエッジ統合部とを備えることを特徴とする。請求項8に記載の発明によれば、三次元モデルの作成が効率よく行われる。
【0019】
請求項9に記載の発明は、請求項8に記載の発明において、隣接する面の間を繋ぐ境界領域面を形成する境界領域面形成部を更に備え、前記三次元エッジ抽出部は、前記境界領域面に基づいて三次元エッジの抽出を行うことを特徴とする。境界領域面を作成し、それに基づいて三次元エッジの抽出を行うことで、測定対象物の外観の特徴を精度良く再現した三次元モデルを作成することができる。
【0020】
請求項10に記載の発明は、請求項1乃至9のいずれか一項に記載の発明において、前記非面領域除去部は、複数の三次元点群位置データにより形成される局所面の平面へのフィッティング精度、曲率、他の局所面との共平面性の少なくとも一つに基づいて非面領域の除去を行うことを特徴とする。請求項10に記載の発明によれば、精度良く面の抽出を行うことができる。
【0021】
請求項11に記載の発明は、請求項1乃至10のいずれか一項に記載の発明において、前記面ラベリング部によってラベルが付与されていない点に対して、最近傍面のラベルを付与し、前記ラベルを拡張するラベル拡張部をさらに備えることを特徴とする。ラベル拡張部でラベルを拡張することで、三次元モデルの完成度を高めることができる。
【0022】
請求項12に記載の発明は、測定対象物の三次元点群位置データを取得する三次元点群位置データ取得ステップと、前記三次元点群位置データ取得ステップにおいて取得した前記三次元点群位置データの密度を変更する三次元点群位置データの密度変更ステップと、前記密度変更ステップで密度が変更された前記三次元点群位置データから非面領域の点を除去する非面領域除去ステップと、前記非面領域除去ステップにおいて除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリングステップと、 前記面ラベリングステップにおいて区分けされた面に基づき三次元モデルを作成する三次元モデル作成ステップとを有することを特徴とする三次元点群位置データ処理方法である。
【0023】
請求項13に記載の発明は、測定対象物の三次元点群位置データを取得する三次元点群位置データ取得手段と、前記三次元点群位置データ取得手段が取得した前記三次元点群位置データの密度を変更する三次元点群位置データの密度変更手段と、前記密度変更手段で密度が変更された前記三次元点群位置データから非面領域の点を除去する非面領域除去手段と、前記非面領域除去手段によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング手段と、前記面ラベリング手段によって区分けされた面に基づき三次元モデルを作成する三次元モデル作成手段とを備えることを特徴とする三次元点群位置データ処理システムである。
【0024】
請求項14に記載の発明は、コンピュータに読み取らせて実行させるプログラムであって、コンピュータを測定対象物の三次元点群位置データを取得する三次元点群位置データ取得部と、前記三次元点群位置データ取得部が取得した前記三次元点群位置データの密度を変更する三次元点群位置データの密度変更部と、前記密度変更部で密度が変更された前記三次元点群位置データから非面領域の点を除去する非面領域除去部と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、前記面ラベリング部によって区分けされた面に基づき三次元モデルを作成する三次元モデル作成部として機能させることを特徴とするプログラムである。
【発明の効果】
【0025】
本発明によれば、三次元点群位置データの処理の途中経過を知ることができる技術が提供される。
【図面の簡単な説明】
【0026】
【図1】実施形態のブロック図である。
【図2】三次元点群位置データの分布状態の一例を説明する概念図である。
【図3】三次元点群位置データの密度を説明する概念図である。
【図4】実施形態のブロック図である。
【図5】実施形態における処理の手順の一例を示すフローチャートである。
【図6】階層化の一例を説明する概念図である。
【図7】階層化された三次元モデルの画像の一例を示す画像表示図である。
【図8】各パラメータの関係を説明する概念図である。
【図9】レーザースキャナの内部構造の一例を示す内部構造図である。
【図10】レーザースキャナの内部構造の一例を示す内部構造図である。
【図11】レーザースキャナに係るブロック図である。
【図12】レーザースキャナに係るブロック図である。
【図13】三次元点群位置データの一例を示す概念図である。
【図14】三次元点群位置データの一例を示す概念図である。
【発明を実施するための最良の形態】
【0027】
1.第1の実施形態
(構成)
以下、発明を利用した三次元点群位置データ処理装置の一例について、図面を参照して説明する。なお以下の説明において、三次元点群位置データは、測定対象物の各測定点における三次元座標データを含んでいる。三次元座標を表示する座標系は、直交座標系または極座標系が採用される。
【0028】
図1には、三次元点群位置データ処理装置100が示されている。三次元点群位置データ処理装置100は、測定対象物の三次元点群位置データに基づいて当該測定対象物の三次元モデルを作成する機能を有している。三次元点群位置データ処理装置100は、パーソナルコンピュータ上においてソフトウェア的に構成されている。三次元点群位置データ処理装置100をパーソナルコンピュータ上で構成するプログラムは、パーソナルコンピュータ中にインストールされている。なお、このプログラムは、サーバや適当な記録媒体に記録しておき、そこから提供される形態であってもよい。
【0029】
利用されるパーソナルコンピュータは、キーボートやタッチパネルディスプレイ等の操作入力部、液晶ディスプレイ等の画像表示装置、操作入力機能と画像表示機能を統合したユーザインターフェースであるGUI(グラフィカル・ユーザ・インターフェース)機能部、CPUおよびその他専用の演算デバイス、半導体メモリ、ハードディスク記憶部、光ディスク等の記憶媒体との間で情報のやり取りを行えるディスク記憶装置駆動部およびそのインターフェース部、USBメモリ等の携帯型記憶媒体との間で情報のやり取りを行えるインターフェース部、無線通信や有線通信を行う通信インターフェース部を必要に応じて備えている。なお、パーソナルコンピュータとしては、ノート型、携帯型、卓上型等の形態が挙げられるが、その形態は限定されない。また、汎用のパーソナルコンピュータを利用する以外に、専用のコンピュータを用意することもできる。また、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのPLD(Programmable Logic Device)等を用いて構成した専用のハードウェアによって三次元点群位置データ処理装置100を構成することも可能である。
【0030】
三次元点群位置データ処理装置100には、測定対象物の三次元点群位置データの測定を行うレーザースキャナが接続される。このレーザースキャナが測定した三次元点群位置データが三次元点群位置データ処理装置100に入力される。なお、複数の視点から同一測定対象物の三次元点群位置データを取得し、それを統合しての三次元モデルの作成も可能である。この場合、複数の視点から得られた三次元点群位置データを統合したものを対象として処理が行われる。
【0031】
レーザースキャナは、測定対象物にレーザー光を照射し、その反射光を受光することで、レーザースキャナの設置位置(視点)から測定点までの距離、方位、仰角(または俯角)の情報を取得し、これらの情報に基づき、測定点の三次元位置座標に係る情報を算出する。また、レーザースキャナは、測定点からの反射光の強度、色、色相、彩度等に関する情報を取得する。レーザースキャナはこれらの情報に基づき、三次元座標値を含む点群位置データを算出し、それを三次元点群位置データ処理装置100に出力する。レーザースキャナの詳細な構成の一例は後述する、三次元点群位置データを取得する方法としては、レーザースキャナを用いる方法以外に、画像処理ソフトウェアを用いて立体写真画像から三次元点群位置データを抽出する方法を採用することもできる。
【0032】
図1に示す三次元点群位置データ処理装置100は、三次元点群位置データ取得部101、解像度設定部102、三次元モデル作成部103、三次元モデル画像作成部104を備えている。三次元点群位置データ処理装置100には、三次元点群位置データ処理装置100を構成するパーソナルコンピュータが備える操作入力部106および画像表示装置(例えば、液晶ディスプレイ)105が接続されている。
【0033】
三次元点群位置データ取得部101は、上述したレーザースキャナからの三次元点群位置データを取得する。なお、レーザースキャナの出力に基づき、三次元点群位置データ取得部101において三次元点群位置データの算出を行う形態も可能である。解像度設定部102は、三次元点群位置データの密度変更部の一例であり、三次元点群位置データに基づいて作成される三次元モデルの解像度の設定を行う。解像度の設定を行うための操作は、操作入力部106がユーザによって操作されることで行われる。解像度の設定は、処理の対象となる三次元点群位置データの密度を変更することで行われる。
【0034】
以下、解像度の設定について説明する。図2には、2次元的に分布した○で示される三次元点群位置データの分布の状態が概念的に示されている。図2には、2次元格子上で三次元点群データが分布している状態が示されている。図3には、図2の三次元点群位置データにおいて、解像度の階層が3階層に設定されている場合が示されている。図3において、三次元モデルの作成に際して、●の部分の三次元点群位置データが三次元モデルの作成に利用され、○の部分の三次元点群位置データは利用されない。
【0035】
図3(A)には、解像度が最も低い場合が示され、図3(B)には、解像度が中位の場合が示され、図3(C)には、解像度が最も高い場合が示されている。すなわち、図3(A)には、サンプリングの対象となる三次元点群位置データの密度が最も低い場合が示され、図3(B)には、サンプリングの対象となる三次元点群位置データの密度が中位である場合が示され、図3(C)には、サンプリングの対象となる三次元点群位置データの密度が最も高い場合が示されている。図3において、点数比というのは、図3(C)の状態の三次元点群位置データに対する三次元点群位置データの数の比である。図3に示すように、点数比が小さい程、利用される三次元点群位置データの密度は低くなり、それに対応して解像度は低くなる。これは、基礎とする三次元点群位置データの密度が低くなると、画素が粗くなり、細かい部分を再現する精度が低下するからである。なお、第n層(nは自然数)の点数比は、下記数1によって表される。
【0036】
【数1】
【0037】
図3(A)の場合に比較して、図3(B)の場合は利用される三次元点群位置データの密度が高いので、得られる三次元モデルの解像度(精度)は高くなる。図3(C)の場合は、利用される三次元点群位置データの密度が更に高くなるので、得られる三次元モデルの解像度(精度)は更に高くなる。図1の解像度設定部102は、図3に例示する解像度の設定を行う。
【0038】
図3には、階層を上げる毎に(解像度を下げる毎に)、三次元点群位置データを間引き、利用する三次元点群位置データの密度を低下させる手法が記載されている。この方法と同様の効果を得る方法として、複数の三次元点群位置データの平均値を代表値として採用し、この代表値によって第0層に対して解像度を落とした三次元点群位置データを構成する方法も採用できる。例えば、第2層の階層において、5×5画素の三次元点群位置データの平均値をこの5×5画素の領域における三次元点群位置データの代表値として採用し、次いで第1層の階層において、3×3画素の三次元点群位置データの平均値をこの3×3画素の領域における三次元点群位置データの代表値として採用し、といった方法で、三次元点群位置データの密度を設定する方法も可能である。また、図3には、解像度の設定を3階層(3段階)に設定した場合が示されているが、階層の数は、2以上が可能であり、4階層や5階層、あるいはそれ以上であってもよい。
【0039】
図1に戻り、三次元点群位置データ処理装置100は、三次元モデル作成部103を備えている。三次元モデル作成部103は、非面領域の算出、非面領域の除去、ラベリング処理、輪郭線等の特徴部分の算出、輪郭線により構成される三次元モデルの作成、およびこれらに関連した演算を行う。三次元モデルというのは、測定対象物の輪郭線を線図として表現した測定対象物の三次元構造を視覚化した画像である。輪郭線というのは、測定対象物の三次元エッジであり、測定対象物の外観を視覚的に把握するために必要な、当該測定対象物の外形を形作っている線(outline)のことである。具体的には、折れ曲がった部分や急激に曲率が小さくなっている部分が輪郭線となる。輪郭線は、外側の輪郭の部分のみが対象となるとは限らず、凸状に飛び出している部分を特徴付ける縁の部分や、凹状に引っ込んでいる部分(例えば、溝構造の部分)を特徴づける縁の部分も対象となる。輪郭線により所謂線図が得られ、対象物の外観が把握し易い画像表示を行うことができる。なお、三次元モデルには、上述した線の情報だけではなく、測定対象物の外観を視覚的に把握する際の特徴部分となる点の情報も含まれる。また、三次元モデルをラベリングされた面によって構成される多面体として表現することも可能である。
【0040】
以下、図1の三次元モデル作成部103の詳細について説明する。図4には、三次元モデル作成部103のブロック図が示されている。三次元モデル作成部103は、非面領域算出部201、非面領域除去部202、面ラベリング部203、ラベル拡張部204、境界領域面形成部205、輪郭線算出部206、二次元エッジ算出部207、エッジ統合部208を備えている。以下、これら各機能部について説明する。
【0041】
非面領域算出部201は、局所面である局所領域を取得する局所領域取得部201a、局所領域の法線ベクトルを算出する法線ベクトル算出部201b、局所領域の局所曲率を算出する局所曲率算出部201c、局所領域にフィッティングする局所平面を算出する局所平面算出部201dを備えている。
【0042】
局所領域取得部201aは、三次元点群位置データに基づき、注目点を中心とした一辺が3〜7画素程度の正方領域(格子状の領域)を局所領域として取得する。この際、対象となる三次元点群位置データは、解像度設定部102において選択された階層の三次元点群位置データである。例えば、図3(B)の階層(解像度)が選択された場合は、全ての三次元点群位置データが処理の対象とされず、図3(B)の●で示される三次元点群位置データが処理の対象とされる。図3には、2次元に簡略化した場合の例であるが、各解像度における3×3画素の局所領域401,402,403が示されている。
【0043】
法線ベクトル算出部201bは、局所領域取得部201aが取得した上記の局所領域における各点の法線ベクトルの算出を行う。この法線ベクトルを算出する処理では、局所領域における三次元点群位置データに着目し、各点の法線ベクトルを算出する。この処理は、全ての三次元点群位置データを対象として行われる。すなわち、三次元点群位置データが無数の局所領域に区分けされ、各局所領域において各点の法線ベクトルの算出が行われる。
【0044】
局所曲率算出部201cは、上述した局所領域内の法線ベクトルのバラツキ(局所曲率)を算出する。ここでは、着目している局所領域において、各法線ベクトルの3軸成分の強度値(NVx, NVy, NVz)の平均(mNVx,mNVy,mNVz)を求める。またこの結果に基づき、さらに標準偏差(StdNVx,StdNVy,StdNVz)を求める。次に、標準偏差の二乗和の平方根を局所曲率(Local Curveture:crv)として算出する(数2)。
【0045】
【数2】
【0046】
局所平面算出部201dは、局所領域にフィッティング(近似)する局所平面を求める。この処理では、着目している局所領域の各点の三次元座標から局所平面の方程式を求める。局所平面は、着目している局所領域にフィッティングさせた平面である。ここでは、最小二乗法を用いて、当該局所領域にフィッティングする局所平面の面の方程式を算出する。具体的には、複数の異なる平面方程式を求め、更にそれらを比較し、当該局所領域にフィッティングする局所平面の面の方程式を算出する。仮に、着目している局所領域が平面であれば、局所平面と局所領域とは一致する。以上の処理を、局所領域を順次ずらしながら、全ての三次元点群位置データが対象となるように繰り返し行い、各局所領域における法線ベクトル、局所平面、局所曲率を得る。
【0047】
非面領域除去部202は、上で求めた各局所領域における法線ベクトル、局所平面、局所曲率に基づいて、非面領域の点を除去する処理を行う。すなわち、面(平面および曲面)を抽出するために、予め面でないと判断できる部分(非面領域)を除去する。なお、非面領域とは、平面でも曲面でもない領域であるが、下記の(1)〜(3)の閾値によっては曲率の高い曲面を含む場合がある。
【0048】
非面領域除去部202は、三次元点群位置データ取得部101が取得した三次元点群位置データの中から算出した非面領域の三次元点群位置データを除去する。非面領域除去の処理は、以下に示す3つの方法のうち、少なくとも一つを用いて行うことができる。ここでは、下記の(1)〜(3)の方法による判定を上述した局所領域の全てに対して行い、1以上の方法において非面領域と判定された局所領域を、非面領域を構成する局所領域として抽出する。そして、抽出された非面領域を構成する点に係る三次元点群位置データを除去する。
【0049】
(1)局所曲率の高い部分:上述した局所曲率を予め設定しておいた閾値と比較し、閾値を超える局所曲率の局所領域を非面領域と判定する。局所曲率は、注目点とその周辺点における法線ベクトルのバラツキを表しているので、面(平面および曲率の小さい曲面)ではその値が小さく、面以外(非面)ではその値は大きくなる。したがって、予め決めた閾値よりも局所曲率が大きければ、当該局所領域を非面領域と判定する。
【0050】
(2)局所平面へのフィッティング精度:局所領域の各点と対応する局所平面との距離を計算し、これらの距離の平均が予め設定した閾値よりも大きい場合、当該局所領域を非面領域と判定する。すなわち、局所領域が平面から乖離した状態であると、その程度が激しい程、当該局所領域の各点と対応する局所平面との距離は大きくなる。このことを利用して当該局所領域の非面の程度が判定される。
【0051】
(3)共平面性のチェック:ここでは、隣接する局所領域において、対応する局所平面同士の向きを比較する。この局所平面の向きの違いが閾値を超えている場合、比較の対象となった局所領域が非面領域に属していると判定する。具体的には、対象となる2つの局所領域のそれぞれにフィッティングする2つの局所平面の法線ベクトルと、その中心点間を結ぶベクトルとの内積が0であれば、両局所平面が同一平面上に存在すると判定される。また、上記内積が大きくなる程、2つの局所平面が同一面上にない程度がより顕著であると判定され、非面の程度が高いものと判定される。
【0052】
上記の(1)〜(3)の方法による判定において、1以上の方法において非面領域と判定された局所領域を、非面領域を構成する局所領域として抽出する。そして、この抽出された局所領域を構成する点に係る三次元点群位置データを算出対象としている三次元点群位置データから除去する。以上のようにして、非面領域の除去が行われる。なお、除去された三次元点群位置データは、後の処理で利用する可能性があるので、適当な記憶領域に格納するなり、除去されなかった三次元点群位置データと識別できる状態とするなどして、後で利用できる状態にしておく。
【0053】
次に、面ラベリング部203について説明する。面ラベリング部203は、面抽出部の一例である。面ラベリング部203は、非面領域の三次元点群位置データが除去された三次元点群位置データに対して、法線ベクトルの連続性に基づいて面ラベリングを行う。具体的には、特定の注目点と隣接点の法線ベクトルの角度差が予め決めた閾値以下なら、それらの点に同一ラベルを貼る。この作業を繰り返すことで、連続する平面、連続する緩やかな曲面に同一ラベルが貼られ、それらを一つの面として識別可能となる。また、面ラベリングの後、法線ベクトルの角度差や法線ベクトルの3軸成分の標準偏差を用いて、ラベル(面)が平面であるか、または曲率の小さい曲面であるかを判定し、その旨を識別する識別データを各ラベルに関連付ける。
【0054】
続いて、面積の小さいラベル(面)をノイズとして除去する。なお、このノイズ除去は、面ラベリングの処理と同時に行ってもよい。この場合、面ラベリングを行いながら、同一ラベルの点数(ラベルを構成する点の数)を数え、所定以下の点の数であるラベルを取り消す処理を行う。次に、この時点でラベルが無い点に対して、最近傍面(最も近い面)と同一のラベルを付与していく。これにより、既にラベリングされた面の拡張を行う。この面の拡張に係る処理は、ラベル拡張部204において行われる。
【0055】
すなわち、ラベルの付いた面の方程式を求め、当該面とラベルが無い点との距離を求める。ラベルが無い点の周辺に複数のラベル(面)がある場合には、その距離が最も短いラベルを選択する。そして、依然としてラベルが無い点が残存している場合には、非面領域除去、ノイズ除去、およびラベル拡張における各閾値を変更し、再度関連する処理を行う。例えば、非面領域除去において、局所曲率の閾値を上げることで、非面として抽出する点の数が少なくなるようにする。または、ラベル拡張において、ラベルの無い点と最近傍面との距離の閾値を上げることで、ラベルの無い点に対してより多くのラベルを付与するようにする。
【0056】
次に、ラベルが異なる面であっても同一面である場合にラベルを統合する。この場合、連続しない面であっても、位置または向きが等しい面同士に同じラベルを付ける。具体的には、各面の法線ベクトルの位置および向きを比較することで、連続しない同一面を抽出し、いずれかの面のラベルに統一する。この処理もラベル拡張部204において行われる。
【0057】
この面ラベリング部203の機能によれば、扱うデータ量を圧縮できるので、三次元点群位置データの処理を高速化できる。また必要なメモリ量を節約できる。また、測定中に紛れ込んだ通行人や通過した車両の三次元点群位置データをノイズとして除去することができる。
【0058】
境界領域面形成部205は、隣接する面の間を繋ぐ境界領域面を形成する。この例では、隣接する面の間の非面領域に局所平面をフィッティングさせ、この局所平面を複数繋ぐことで、当該非面領域を複数の局所平面によって近似した境界領域面を形成する。これは、複数の局所平面により構成される多面体で非面領域を近似し、面と面との境界部分となる境界領域面を形成する処理と捉えることができる。なお、この多面体構造を有する境界領域面にフィッティングする滑らかな曲面を設定し、当該境界領域面をこの曲面に置き換えてもよい。
【0059】
輪郭線算出部206は、隣接する面の三次元点群位置データに基づき、測定対象物の三次元エッジとなる輪郭線を算出(推定)する。この場合、上記の境界領域面の形成において、隣接する面から局所平面をつないでゆく処理が行われる。この際、最後に隣接した局所平面同士の交線を輪郭線として算出する。輪郭線が算出されることで、測定対象物の輪郭の画像が明確となる。境界領域面を用いた輪郭線の算出方法としては、境界領域面の中央位置を輪郭線が通るように輪郭線を設定する方法や、境界領域面の曲率が最小となる部分を輪郭線が通るように輪郭線を設定する方法も可能である。なお、境界領域面の形成を行わずに隣接する面と面との交線を輪郭線とする処理も可能である。
【0060】
次に、二次元エッジ算出部207について説明する。二次元エッジ算出部207は、対象物からの反射光の強度分布に基づいて、ラプラシアン、プリューウィット、ソーベル、キャニーなどの公知のエッジ抽出オペレータを用いて、セグメント化(区分け)された面に対応する二次元画像の領域内からエッジを抽出する。すなわち、二次元エッジは、面内の濃淡の違いにより認識されるので、この濃淡の違いを反射光の強度の情報から抽出し、その抽出条件に閾値を設けることで、濃淡の境目をエッジとして抽出する。次に、抽出されたエッジを構成する点の三次元座標の高さ(z値)と、その近傍の輪郭線(三次元エッジ)を構成する点の三次元座標の高さ(z値)とを比較し、この差が所定の閾値以内の場合には、当該エッジを二次元エッジとして抽出する。すなわち、二次元画像上で抽出されたエッジを構成する点が、セグメント化された面上にあるか否かを判定し、面上にあると判定された場合にそれを二次元エッジとする。
【0061】
二次元エッジの算出後、輪郭線算出部206が算出した輪郭線と二次元エッジ算出部207が算出した二次元エッジとを統合する。この処理はエッジ統合部208において行われる。これにより、三次元点群位置データに基づき、対象物を特徴付けるエッジの抽出が行われる。このエッジの抽出により、測定対象物を視認する際における測定対象物の外観を構成する特徴部分が抽出され、三次元モデルのデータが得られる。
【0062】
図1に戻り、三次元点群位置データ処理装置100は、三次元モデル画像作成部104を備えている。三次元モデル画像作成部104は、三次元モデル作成部103で作成された三次元モデルを画像表示するための画像データを作成する。この画像データは、画像表示装置105に送られ、そこで表示される。これにより、画像表示装置105上で測定対象物の三次元モデルの画像表示が行われる。
【0063】
(処理の一例)
図5は、図1の三次元点群位置データ処理装置100で行われる処理の一例を説明するフローチャートである。図5に示すフローチャートを実行するためのプログラムは、三次元点群位置データ処理装置100を構成するパーソナルコンピュータの記憶部に記憶されており、適当な記憶領域に読み出されて当該パーソナルコンピュータによって実行される。
【0064】
処理が開始されると(ステップS501)、まず測定対象物の三次元点群位置データの取得が行われる(ステップS502)。この処理は、三次元点群位置データ取得部101において行われる。測定対象物の三次元点群位置データを取得したら、操作入力部106に対してユーザにより行われた階層の設定数(解像度の段階の設定数)の情報を取得し(ステップS503)、階層の設定(解像度の設定)を行う。この処理は、解像度設定部102において行なわれる。
【0065】
次に、ステップS503において取得した階層の最上位の階層(解像度が最も低い階層)でのラベリングを行う。この処理は、三次元モデル作成部103において、図4を参照して説明した内容に従って行われる。そして、ラベリングを行った後、ラベリングの処理の結果に基づく三次元モデルの作成を行う(ステップS505)。この処理も三次元モデル作成部103において行われる。
【0066】
三次元モデルを作成したら、それを三次元モデル画像作成部104において画像化し、その画像データが画像表示装置105に送られ、そこで画像表示される(ステップS506)。この画像表示の後、ユーザによる操作入力部106に対する図5の処理の終了を指示する操作が行われたか否か、が判定され(ステップS507)、図5の処理の終了を指示する操作が行われた場合、処理を終了し(ステップS511)、そのような操作が行われていなければ、ステップS508に進む。
【0067】
ステップS508では、この段階におけるラベリングの階層が一番下か否か(解像度が最大であるか否か)、が判定され、ラベリングの階層が最下層であれば、処理を終了し(ステップS511)、最下層でなければ、ステップ(509)に進む。
【0068】
ステップ509では、ステップS508における判定の対象なった階層の1ランク下の階層へのラベルの引継ぎを行い、このステップS508における判定の対象となった階層の1ランク下の階層(1ランク解像度が上の階層)における再ラベリングを行う(ステップS510)。以下、ステップS509およびステップS510の詳細を説明する。
【0069】
図6の左側には、階層化された3段階のラベリングの状態をモデル化したものが記載され、図6の右側には、上記左側のラベリングの階層に対応する測定対象物の3段階のイメージ画像が示されている。図6の場合、第2層,第1層,第0層の3階層が示されている。ここで、第2層が最も低解像度であり、第0が最も高解像度となる設定とされている。図6の場合、最下位の解像度の第2層の階層においては、図示する範囲の画像を4分割する解像度でラベリングを行い、中位の解像度の第1層の階層においては、図示する範囲の画像を16分割する解像度(第2層の場合の4倍の解像度)でラベリングを行い、最上位の解像度の第0層の階層においては、図示する範囲の画像を64分割する解像度(第2層の場合の16倍、第1層の場合の4倍の解像度)でラベリングを行う場合の例が示されている。
【0070】
図6の右側には、左側の解像度に対応させて、まず第2層の階層において、壁601が一つの面としてラベリングされ、更に解像度が1階層上がった第1層の階層において、壁601の面に中で窓602が面としてラベリングされ、更に解像度が1階層上がった第0層の階層において、壁601の面において窓602よりも細かい面であるタイル(壁601を構成するタイルの面)603〜605が更に細かい面としてラベリングされた状態が示されている。
【0071】
すなわち、図6の例では、第2層のラベリングでは、サンプリングする三次元点群位置データの密度が足りず、窓602やタイル603〜605は面としてラベリングされず、全体が壁601としてラベリングされる。そして、第1層のラベリングでは、サンプリングする三次元点群位置データの密度が第2層の場合よりも高くなるので、窓602が面としてラベリングされる。この際、タイル603〜605は解像度が足りずラベリングされない。そして、第0層のラベリングでは、サンプリングする三次元点群位置データの密度が第1層の場合よりも高くなるので、タイル603〜605もラベリングされ、面としてデータ化される。
【0072】
また、図6には、下層におけるラベリングに移行する再に、上層のラベルが引き継がれる場合の例が示されている。まず、第2層の階層におけるラベリングで壁601が面としてラベリングされる。そして、第2層よりも下層の第1層に移行する際、壁601のラベリングのデータはそのまま引き継がれ、第2層において面として認識された壁601を対象として、第1層の階層における更により細かい面のラベリングが行われる。そして、第1層で窓602が面としてラベリングされるのであるが、この窓602の面としてのデータは、第0層に引き継がれる。そして、第2層、第1層の階層でラベリングされた壁601および窓602を面として捉えている状態において、更に細かい面のラベリングが第0層の階層において行われる。この場合、壁601をより細かく見た場合に認識されるタイル603〜605のラベリングが行われる。この下層にラベルを引き継いでの再ラベリングを行うことで、既に行われているラベリングの作業を重複して行う無駄が省かれ、処理が効率化される。
【0073】
仮に、図6に例示するモデルにおける第2層の面のデータ(壁601を面として把握したデータ)が、第1層の階層におけるラベリング時に引き継がれないと、第1層の階層においても再度壁601を認識するためのラベリングの処理が必要となり、演算が重複して行われる無駄が生じる。
【0074】
図6に示す第2層の階層から第1層の階層に移行しての再ラベリング、あるいは第1層の階層から第0層の階層に移行しての再ラベリングが、図5のステップS509およびステップS510の処理の一例となる。
【0075】
図5に戻り、ステップS510での再ラベリングの後、ステップS505以下の処理を再度実行し、新たにラベリングされたデータに基づく三次元モデルの作成を行い、更にその三次元モデルの画像表示を行う(ステップS506)。この処理によれば、例えば、図6の右側に示されているような、段階的に解像度が高くなり、上位の階層では表現されていなかった細部が順次表現されてゆく三次元モデルの画像表示が行われる。
【0076】
図7には、段階的に階層を下げつつ(解像度を上げつつ)三次元モデルを作成した場合の三次元モデル画像の一例が示されている。図7には、図3および図6に示す第2層、第1層、第0層に対応する三次元モデル画像の一例が示されている。なお、図7には、解像度の違いを誇張した状態が示されている。
【0077】
図7には、5階建ての集合住宅の三次元モデル画像が示されている。図7(A)には、三次元点群位置データのサンプリング密度が最も低く、解像度が最も低位である場合が示されている。図7(A)の場合、解像度が低いので、細部の状態がほとんど表現されていない。図7(B)には、(A)の場合よりも解像度が上がり、窓の形状等は明らかになっていないが、(A)の場合よりも細部の状態が明らかになった三次元モデルの画像が示されている。図7(C)は、第0層の階層、すなわち三次元レーザースキャナが取得した三次元点群位置データのオリジナルを利用した三次元モデルの画像が示されている。この場合、窓の形状等の細部が表現された三次元モデルの画像が表示される。
【0078】
(優位性)
以上説明した例では、まず三次元レーザースキャナが測定した三次元点群位置データに基づき、解像度を段階的に変えた三次元モデルを作成する。この際、低解像度の三次元モデルの作成およびその表示、さらにその後に、ラベリングされたデータを引き継いでの高解像度の三次元モデルの作成およびその表示を行う。ここで、低解像度の三次元モデルの表示を行うことで、最終的な三次元モデルの完成の途中の段階をユーザが把握することができる。
【0079】
例えば、図7の三次元モデルの画像表示の場合、最初の図5のステップS506の段階で第2層の三次元モデルの画像表示が行われる。ここで、視点の選択の誤りやこの視点の三次元モデルが不要であると判断される場合、処理を終了することができる。この段階で処理の対象とされた三次元点群位置データは、図3の例示の場合から明らかなように、オリジナルの三次元点群位置データに比較してデータ量が格段に少ない(この場合は1/16)。したがって、解像度が低い粗い三次元モデルの段階で処理を終了することで、全ての三次元点群位置データを処理の対象とする場合に比較して、処理時間が短縮される。また、途中で演算を止めることで、無駄な処理を行わないで済む。
【0080】
また、図7に示されるように段階的に三次元モデルの作成過程の途中経過を視認することができるため、ユーザが受けるストレスが軽減され、またユーザの作業性が向上する。また、図6に示すように階層を下げる場合に、上位の階層で得られたラベリングデータが、下位の階層に引き継がれる。このため、無駄な処理が抑制される。
【0081】
また、段階的により詳細なラベリングが行われるので、図7に示すように段階的に三次元モデルの画像が詳細になる状態が表示可能となり、徐々に詳細になってゆく過程をユーザが把握し易い。また、概略のアウトラインが判ればよい三次元モデルを得たい場合に、解像度を落とした階層を指定することで、より短い演算時間で所望する精度の三次元モデルを得ることができる。
【0082】
2.第2の実施形態
ここでは、階層数および解像度を決定する方法の一例を説明する。まず、特定の階層の分解能は、下記の数3によって表される。ここでの分解能は、分解できる最小寸法の値であり、その値が小さいほど、精度が高く、より細かい部分まで表現されることを意味する。
【0083】
【数3】
【0084】
ここで、aはスキャンピッチである。図8には、スキャンピッチa、測定対象物のスキャン範囲L、測定距離H、スキャン範囲Lにおける三次元点群位置データの数Mの関係が示されている。nは、n=0をデータの間引きのないオリジナルのスキャンデータ(例えば図3(C)の三次元点群位置データ)とした場合における何番目の層であるかを示す数値(自然数)である。図3や図6の場合から明らかなように、nの値が大きくなる程、分解能の値は大きく(つまり解像度は悪く)なる。
【0085】
階層の数(n+1)をレイヤー数という。レイヤー数は下記数4によって表される。ここで、単位処理時間は、1個の点群位置データを処理するのに要する時間であり、ユーザ解析要求時間は、ユーザが求める該当する階層の演算に要する時間である。
【0086】
【数4】
【0087】
例えば、1万個の点群位置データに要する処理時間が30m秒(1個当たり、3×10−6秒)であり、ユーザが求める一つの階層に対する解析要求時間が10秒であるとする。また、対象となるオリジナル(第0層)の三次元点群位置データの数が1000万点であるとする。この場合、上記の数4に基づいて、n=3が算出され、レイヤー数は3となる。つまり、この場合は図3や図6の場合のように階層を3段階に設定すれば、1層に対する演算に要する時間を10秒に抑えることができる。この場合、第2層→第1層→第0層と各10秒の処理が3回行われる。
【0088】
また、数4を図8に示す関係式を用いて変形すると、下記数5が得られる。ここで、Tは、上記の単位処理時間であり、tは一つの階層の処理に対するユーザの解析要求時間であり、HとLは図8に示すパラメータである。また、θは使用するレーザースキャナの角度ピッチである。このθはレーザースキャナの角度制御の精度で決まる。
【0089】
【数5】
【0090】
数5によれば、例えば測定現場の制約からLとHが決まっており、またレーザースキャナの性能からθが決まっており、また使用するコンピュータの性能からTが決まっている場合、解析要求時間tを決めることで、レイヤー数を決めることができる。精度は悪くてもなるべく早く三次元モデルの画像を見るためには、tを短く設定する必要がある。他方において、tを短く設定すると、レイヤー数が大きくなり、より多くの階層が必要となる。
【0091】
一例ではあるが、選択されるレイヤー数の目安は、対象となる三次元点群位置データの数が1億以上の場合は5層、5000万〜1億点の場合は4層、1000万〜5000万点の場合は3層、500万点〜1000万点の場合は2層、500万点未満の場合は1層とするのが好ましい。
【0092】
以下、図1に示す三次元点群位置データ処理装置100において、レイヤー数を自動設定する処理の一例を説明する。まず、ユーザは、最終的に作成される三次元モデルの画像の分解能aと三次元モデルの画像を得るのに要する処理時間tを選択し、これらの項目を操作入力部106から入力する。ここで、分解能aは、5cmや10cmといった数値が設定される。また、使用する三次元レーザースキャナによる予備測定を行い、図8のHおよびLの値を取得しておく。
【0093】
解像度設定部102は、上記入力された分解能aに基づいて、数5のθを算出する。そして、このθの値、ユーザによって指定されたt、予備測定で求めたH,L、使用するコンピュータの性能から決まるTを数5に代入し、レイヤー数を算出する。こうすることで、ユーザは面倒な操作を行うことなく、初期設定を行うことで、レイヤー数が算出され、図7に例示するような段階的に解像度が高くなる三次元モデルの画像表示を行うための設定が行われる。
【0094】
3.第3の実施形態
以下、三次元点群位置データを処理する機能を有する三次元レーザースキャナについて説明する。この例において、三次元レーザースキャナは、測定対象物に対して測距光(レーザー光)を走査しつつ照射し、レーザー光の飛行時間に基づいて自身の位置から測定対象物上の多数の測定点までの距離を測距する。また、この三次元レーザースキャナは、レーザー光の照射方向(水平角および高低角)を検出し、距離および照射方向に基づいて測定点の三次元座標を算出する。また、この三次元レーザースキャナは、測定対象物を撮影した二次元画像(各測定点におけるRGB強度)を取得し、二次元画像と三次元座標とを結び付けた三次元点群位置データを形成する。さらに、ここで示す三次元レーザースキャナは、図1に関連して説明した三次元点群位置データ処理装置100の処理を行う機能を有している。
【0095】
(構成)
図9および図10は、三次元レーザースキャナ1の構成を示す断面図である。三次元レーザースキャナ1は、整準部22、回転機構部23、本体部27、および回転照射部28を備えている。本体部27は、測距部24、撮影部25、制御部26等から構成されている。なお、図9は、説明の便宜のため、図10に示す断面方向に対して、回転照射部28のみ側方から見た状態を示している。
【0096】
整準部22は、台盤29を有し、回転機構部23は下部ケーシング30を有する。下部ケーシング30は、ピン31と2個の調整ネジ32とにより3点で台盤29に支持されている。下部ケーシング30は、ピン31の先端を支点にして傾動する。なお、台盤29と下部ケーシング30との間には、台盤29と下部ケーシング30とが互いに離反しないようにするため、引っ張りスプリング33が設けられている。
【0097】
下部ケーシング30の内部には、2個の整準モータ34が設けられている。2個の整準モータ34は、制御部26によって互いに独立して駆動される。整準モータ34の駆動により整準駆動ギア35、整準従動ギア36を介して調整ネジ32が回転し、調整ネジ32の下方への突出量が調整される。また、下部ケーシング30の内部には傾斜センサ37(図11参照)が設けられている。2個の整準モータ34は、傾斜センサ37の検出信号により駆動され、これにより整準が実行される。
【0098】
回転機構部23は、下部ケーシング30の内部に水平角用駆動モータ38を有する。水平角用駆動モータ38の出力軸には水平回動駆動ギア39が嵌着されている。水平回動駆動ギア39は、水平回動ギア40に噛合されている。水平回動ギア40は、回転軸部41に設けられている。回転軸部41は、回転基盤42の中央部に設けられている。回転基盤42は、下部ケーシング30の上部に、軸受け部材43を介して設けられている。
【0099】
また、回転軸部41には水平角検出器44として、例えばロータリーエンコーダが設けられている。水平角検出器44は、下部ケーシング30に対する回転軸部41の相対的回転角(水平角)を検出する。水平角は制御部26に入力され、制御部26は、その検出結果に基づき水平角用駆動モータ38を制御する。
【0100】
本体部27は、本体部ケーシング45を有する。本体部ケーシング45は、回転基盤42に固着されている。本体部ケーシング45の内部には鏡筒46が設けられている。鏡筒46は、本体部ケーシング45の回転中心と同心の回転中心を有する。鏡筒46の回転中心は、光軸47に合致されている。鏡筒46の内部には、光束分離手段としてのビームスプリッタ48が設けられている。ビームスプリッタ48は、可視光を透過し、かつ、赤外光を反射する機能を有する。光軸47は、ビームスプリッタ48によって光軸49と光軸50とに分離される。
【0101】
測距部24は、鏡筒46の外周部に設けられている。測距部24は、発光部としてのパルスレーザ光源51を有する。パルスレーザ光源51とビームスプリッタ48との間には、穴あきミラー52、レーザー光のビームウエスト径を変更するビームウエスト変更光学系53が配設されている。測距光源部は、パルスレーザ光源51、ビームウエスト変更光学系53、穴あきミラー52で構成されている。穴あきミラー52は、パルスレーザ光を穴部52aからビームスプリッタ48に導き、測定対象物から反射して戻って来た反射レーザー光を測距受光部54に向けて反射する役割を有する。
【0102】
パルスレーザ光源51は、制御部26の制御により所定のタイミングで赤外パルスレーザ光を発する。赤外パルスレーザ光は、ビームスプリッタ48によって高低角用回動ミラー55に向けて反射される。高低角用回動ミラー55は、赤外パルスレーザ光を測定対象物に向けて反射する。高低角用回動ミラー55は、高低角方向に回転することで、鉛直方向に延びる光軸47を高低角方向の投光光軸56に変換する。ビームスプリッタ48と高低角用回動ミラー55との間でかつ鏡筒46の内部には集光レンズ57が配設されている。
【0103】
測定対象物からの反射レーザー光は、高低角回動用ミラー55、集光レンズ57、ビームスプリッタ48、穴あきミラー52を経て測距受光部54に導かれる。また、測距受光部54には、内部参照光路を通って参照光も導かれる。反射レーザー光が測距受光部54で受光されるまでの時間と、レーザー光が内部参照光路を通って測距受光部54で受光されるまでの時間との差に基づき、光学情報処理装置1から測定対象物(測定対象点)までの距離が測定される。測距受光部54は、CMOS光センサ等の光電変化素子により構成され、検出した光のRGB強度を検出する機能も有している。
【0104】
撮影部25は、画像受光部58を備え、カメラとして機能する。画像受光部58は、鏡筒46の底部に設けられている。画像受光部58は、多数の画素が平面状に集合して配列されたもの、例えば、CCD(Charge Coupled Device)で構成されている。画像受光部58の各画素の位置は光軸50によって特定される。例えば、光軸50を原点として、X−Y座標を想定し、このX−Y座標の点として画素が定義される。
【0105】
回転照射部28は、投光ケーシング59の内部に収納されている。投光ケーシング59の周壁の一部は、投光窓となっている。図10に示すように、鏡筒46のフランジ部60には、一対のミラーホルダー板61が対向して設けられている。ミラーホルダー板61には、回動軸62が掛け渡されている。高低角用回動ミラー55は、回動軸62に固定されている。回動軸62の一端部には高低角ギア63が嵌着されている。回動軸62の他端側には高低角検出器64が設けられている。高低角検出器64は、高低角用回動ミラー55の回動角を検出し、その検出結果を制御部26に出力する。
【0106】
ミラーホルダー板61の一方には、高低角用駆動モータ65が取り付けられている。高低角用駆動モータ65の出力軸には駆動ギア66が嵌着されている。駆動ギア66は、回転軸62に取り付けられた高低角ギア63に噛合されている。高低角用駆動モータ65は、高低角検出器64の検出結果に基づき、制御部26の制御により適宜駆動される。
【0107】
投光ケーシング59の上部には、照星照門67が設けられている。照星照門67は、測定対象物を概略視準するのに用いられる。照星照門67を用いた視準方向は、投光光軸56の延びる方向、および回動軸62の延びる方向に対して直交する方向とされている。また、図10に示すように、投光ケーシング59の上部には、GPSアンテナ81が配置されている。GPSアンテナにより、GPS情報が取得され、内部で行われる演算にGPS情報を利用することができる構成とされている。
【0108】
図11は、制御部のブロック図である。制御部26には、水平角検出器44、高低角検出器64、傾斜センサ37、GPSアンテナ81からの検出信号が入力される。また、制御部26は、操作部6から操作指示信号が入力される。制御部26は、水平角用駆動モータ38、高低角用駆動モータ65、整準モータ34を駆動制御する共に、作業状況、測定結果等を表示する表示部7を制御する。制御部26には、メモリカード、HDD等の外部記憶装置68が着脱可能とされている。
【0109】
制御部26は、演算部4、記憶部5、水平駆動部69、高低駆動部70、整準駆動部71、距離データ処理部72、画像データ処理部73等から構成されている。記憶部5は、測距や高低角と水平角の検出を行うために必要なシーケンスプログラム、演算プログラム、測定データの処理を実行する測定データ処理プログラム、画像処理を行う画像処理プログラム、三次元点群位置データから面を抽出し、更に輪郭線を算出するプログラム、この算出した輪郭線を表示部7に表示させるための画像表示プログラム、三次元点群位置データの再取得に係る処理を制御するプログラム等の各種のプログラムを格納すると共に、これらの各種のプログラムを統合管理するための統合管理プログラム等を格納する。また、記憶部5は、測定データ、画像データ等の各種のデータを格納する。水平駆動部69は、水平角用駆動モータ38を駆動制御し、高低駆動部70は、高低角用駆動モータ65を駆動制御し、整準駆動部71は、整準モータ34を駆動制御する。距離データ処理部72は、測距部24によって得られた距離データを処理し、画像データ処理部73は、撮影部25により得られた画像データを処理する。
【0110】
また、制御部26は、GPS受信部82を備えている。GPS受信部82は、GPSアンテナが受信したGPS衛星からの信号を処理し、地球上における座標データを算出する。これは、通常のGPS受信装置と同じである。GPSから得られた位置情報は、後述する三次元点群位置データ処理部100’に入力される。
【0111】
図12は、演算部4のブロック図である。演算部4は、三次元座標演算部74、リンク形成部75、グリッド形成部9、三次元点群位置データ処理部100’を備えている。三次元座標演算部74には、距離データ処理部72から測定対象点の距離データが入力され、水平角検出器44および高低角検出器64から測定対象点の方向データ(水平角および高低角)が入力される。三次元座標演算部74は、入力された距離データと方向データとに基づき、光学情報処理装置1の位置を原点(0,0,0)とした各測定点の三次元座標(直交座標)を算出する。
【0112】
リンク形成部75には、画像データ処理部73から画像データおよび三次元座標演算部74が算出した各測定点の三次元座標の座標データが入力される。リンク形成部75は、画像データ(各測定点のRGB強度)と三次元座標を結び付けた三次元点群位置データ2を形成する。つまり、リンク形成部75は、測定対象物のある点に着目した場合、その着目点の二次元画像中における位置と、その着目点の三次元座標とを関連付けしたものを作成する。この関連付けされたデータは、全ての測定点について算出され、それらが三次元点群位置データ2となる。
【0113】
リンク形成部75は、以上の三次元点群位置データ2をグリッド形成部9に出力する。グリッド形成部9は、三次元点群位置データ2の隣接点の点間距離が一定でない場合に、等間隔のグリッド(メッシュ)を形成し、グリッドの交点に最も近い点を登録する。または、グリッド形成部9は、線形補間法やバイキュービック法を用いて、グリッドの交点位置に全点を補正する。なお、三次元点群位置データ2の点間距離が一定である場合には、グリッド形成部9の処理を省略することができる。
【0114】
以下、グリッドの形成手順について説明する。図13は、点間距離が一定でない三次元点群位置データを示す概念図であり、図14は、形成したグリッドを示す概念図である。図13に示すように、各列の平均水平間隔H1−Nを求め、さらに列間の平均水平間隔の差分ΔHi,jを算出し、その平均をグリッドの水平間隔ΔHとする(数6)。垂直方向の間隔は、各列での垂直方向の隣接点との距離ΔVN,Hを算出し、画像サイズW,Hの画像全体におけるΔVN,Hの平均を垂直間隔ΔVとする(数7)。そして、図14に示すように、算出した水平間隔ΔHおよび垂直間隔ΔVのグリッドを形成する。
【0115】
【数6】
【0116】
【数7】
【0117】
次に、形成したグリッドの交点に最も近い点を登録する。この際、交点から各点までの距離には所定の閾値を設けて、登録を制限する。例えば、閾値は、水平間隔ΔHおよび垂直間隔ΔVの1/2とする。なお、線形補間法やバイキュービック法のように、交点との距離に応じた重みを付けて全点を補正してもよい。ただし、補間を行った場合には、本来計測していない点となる。
【0118】
以上のようにして得られた三次元点群位置データは、三次元点群位置データ処理部100’に出力される。三次元点群位置データ処理部100’は、第1の実施形態で説明した三次元点群位置データ処理装置100と同様の動作を行う専用の集積回路である。三次元点群位置データ処理部100’は、例えばFPGA等により構成されている。また、三次元点群位置データ処理部100’の動作においてユーザに提示される画像の表示が液晶ディスプレイである表示部7において行われる。
【0119】
三次元点群位置データ処理部100’には、GPS受信部82から得られた地球上における座標データが入力される。この構成によれば、三次元点群位置データ処理部100’で取り扱われる座標がGPSから得られた位置データ(例えば、電子地図情報)とリンクされる。これにより、例えば、三次元レーザースキャナ1の設置位置を電子地図上に画面表示することができ、また測定対象物の電子地図上における座標を特定することができる。
【0120】
(その他)
制御部26の構成において、グリッド形成部9から三次元点群位置データが外部に出力される形態とすると、図9、図10に示す装置は、第1の実施形態で示したパーソナルコンピュータを利用した三次元点群位置データ処理装置100と組み合わせて使用可能な三次元レーザースキャナとなる。また、三次元点群位置データ処理部100’が行う処理を分散して行う構成も可能である。例えば、三次元点群位置データ処理部100’の機能の一部を通信回線で結ばれたサーバで行うような構成も可能である。これは、図1の三次元点群位置データ処理装置100の場合も同じである。これらの構成は、本発明の三次元点群位置データ処理システムの一例として把握される。
【0121】
本発明を複数の視点から得られた三次元点群位置データの処理に利用することもできる。この場合、第1の視点から得られた三次元点群位置データと、第1の視点とは異なる視点である第2の視点から得られた三次元点群位置データとを統合した三次元点群位置データを対象として処理を行う。視点の数は、2つ以上であってもよい。視点の数を複数とすることで、ある視点からは死角となる部分が他の視点から得られた三次元点群位置データによって補完され、三次元モデルを回転させて表示させた場合における死角となって画像情報が欠落した部分の発生(オクルージョンの発生)が抑えられる。
【産業上の利用可能性】
【0122】
本発明は、三次元情報の測定を行う技術に利用することができる。
【符号の説明】
【0123】
1…三次元レーザースキャナ、2…三次元点群位置データ、22…整準部、23…回転機構部、24…測距部、25…撮影部、26…制御部、27…本体部、28…回転照射部、29…台盤、30…下部ケーシング、31…ピン、32…調整ネジ、33…引っ張りスプリング、34…整準モータ、35…整準駆動ギア、36…整準従動ギア、37…傾斜センサ、38…水平回動モータ、39…水平回動駆動ギア、40…水平回動ギア、41…回転軸部、42…回転基盤、43…軸受部材、44…水平角検出器、45…本体部ケーシング、46…鏡筒、47…光軸、48…ビームスプリッタ、49,50…光軸、51…パルスレーザ光源、52…穴あきミラー、53…ビームウエスト変更光学系、54…測距受光部、55…高低角用回動ミラー、56…投光光軸、57…集光レンズ、58…画像受光部、59…投光ケーシング、60…フランジ部、61…ミラーホルダー板、62…回動軸、63…高低角ギア、64…高低角検出器、65…高低角用駆動モータ、66…駆動ギア、67…照星照門、68…外部記憶装置、69…水平駆動部、70…高低駆動部、71…整準駆動部、72…距離データ処理部、73…画像データ処理部、81…GPSアンテナ、82…GPS受信部、100’…三次元点群位置データ処理部。
【背景技術】
【0001】
測定対象物の三次元点群位置データから三次元形状を生成する技術が知られている。三次元点群位置データでは、二次元画像と三次元座標とが結び付けられている。すなわち、三次元点群位置データでは、測定対象物の二次元画像のデータと、この二次元画像に対応付けされた複数の測定点(点群)と、この複数の測定点の三次元空間中の位置(三次元座標)とが関連付けされている。三次元点群位置データによれば、点の集合により測定対象物の外形を再現した三次元モデルを得ることができる。また、各点の三次元座標が判るので、各点の三次元空間中における相対位置関係が把握でき、画面表示した三次元モデルの画像を回転させたり、異なる視点から見た画像に切り替えたりする処理が可能となる。
【0002】
例えば、特許文献1に記載の発明では、走査レーザー装置が三次元対象を走査して、ポイントクラウドを生成する。ポイントクラウドは、走査点に関する深さと法線の変化に基づいて、エッジポイントと非エッジポイントのグループに分割される。各グループを幾何学的原図にフィットさせ、フィットした幾何学的原図を拡張、交差させることで、三次元形状を生成する。
【0003】
特許文献2に記載の発明では、三次元点群位置データからセグメント(三角ポリゴン)を形成し、隣接するポリゴン同士の連続性、法線方向、または距離に基づき、エッジおよび面を抽出する。また、各セグメントの三次元点群位置データの平面性または曲面性を、最小二乗法を用いて、平面方程式または曲面方程式に置き換え、グループ分けを行い、三次元形状を生成する。
【0004】
特許文献3に記載の発明では、三次元点群位置データに対して二次元矩形領域を設定し、その矩形領域に対応する測定点の合成法線ベクトルを求める。そして合成法線ベクトルがZ軸方向と一致するように、矩形領域内の全ての計測点を回転移動する。更に矩形領域内の各計測点についてZ値の標準偏差σを求め、標準偏差σが所定値を超えた場合、矩形領域の中心点と対応する計測点をノイズとして取り扱う。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特表2000−509150号公報
【特許文献2】特開2004−272459号公報
【特許文献3】特開2005−024370号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
三次元点群位置データの点の数は、数万点〜数億点にもなる。そのため、取得した三次元点群位置データを処理し、三次元モデルを作成するにはある程度の時間が必要とされる。勿論、この処理時間は、使用する演算装置の性能、測定対象物の形状、求められる分解能等に依存するのであるが、一般的なパーソナルコンピュータを用いた場合、数時間以上を必要とする場合がある。この演算の最中は、どのような結果が得られるのか不明となるが、途中であっても概略のアウトラインだけでも知りたいというユーザの要望がある。また、三次元モデルが得られた段階で三次元点群位置データを取得する視点の設定が適切でなく、視点を変えて再度の三次元点群位置データの取得が必要となる場合があるが、この場合も最終結果に至る前に、解像度は悪くてもある程度のアウトラインが判る三次元モデルを見ることができれば、視点が適当でなかった旨が判る場合がある。このような場合、演算を最後まで行う前の段階で、この演算の妥当性がわかれば、無駄な処理を削減でき、作業を効率化することができる。このような背景において、本発明は、三次元点群位置データの処理の途中経過を知ることができる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
請求項1に記載の発明は、測定対象物の三次元点群位置データを取得する三次元点群位置データ取得部と、前記三次元点群位置データ取得部が取得した前記三次元点群位置データの密度を変更する三次元点群位置データの密度変更部と、前記密度変更部で密度が変更された前記三次元点群位置データから非面領域の点を除去する非面領域除去部と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、前記面ラベリング部によって区分けされた面に基づき三次元モデルを作成する三次元モデル作成部とを備えることを特徴とする三次元点群位置データ処理装置である。
【0008】
請求項1に記載の発明によれば、密度変更部において三次元点群位置データの密度が変更され、この密度が変更された三次元点群位置データに基づく三次元モデルの作成が行われる。演算の基礎データとなる三次元点群位置データの密度を下げることで、解像度は低下するが、三次元モデルの作成に要する処理の負担は軽減される。つまり、粗い三次元モデルとなるが、処理に要する時間は短縮される。よって、取得した三次元点群位置データの密度を下げ、それに基づく三次元モデルの作成を行うことで、三次元点群位置データの密度の変更を行わずに三次元モデルの作成を行う場合に比較して、より短い処理時間で三次元モデルを得ることができる。この機能を利用すると、最終的な三次元モデルが得られる前の段階で、低精度の三次元モデルをより短時間で得ることが可能となり、この低精度の三次元モデルをユーザに示すことで、ユーザは三次元点群位置データの処理の途中経過を知ることができる。また、この機能を利用すると、解像度を下げた階層を選択することで、低解像度は許容するが、短い処理時間で三次元モデルを得たい要求に応じることができる。
【0009】
請求項2に記載の発明は、請求項1に記載の発明において、前記密度変更部における密度の変更が2以上の階層で行われることを特徴とする。
【0010】
請求項3に記載の発明は、請求項2に記載の発明において、前記密度変更部は、前記三次元モデルの作成に要する時間に基づき前記階層の数を決定することを特徴とする。解像度を落とさずに三次元モデルを作成した場合、基礎となる三次元点群位置データの密度が大きい(つまりデータ量が多い)ので、処理に要する時間は長くなる。他方で、解像度を落とした場合、基礎となる三次元点群位置データの密度が小さくなる(つまりデータ量が少なくなる)ので、処理に要する時間を短くできる。階層の数を多くした場合、より低解像度の三次元モデルの作成から処理が始められるので、1階層に係る処理時間は相対的に短くなる。したがって、1階層の処理に要する時間に基づいて、階層の数を決定することで、ユーザの要求に沿った処理が行われるように設定が行われる。
【0011】
請求項4に記載の発明は、請求項1乃至3のいずれか一項に記載の発明において、前記三次元モデル作成部は、相対的に解像度の低い三次元モデルを作成した後に相対的に解像度の高い三次元モデルを作成することを特徴とする。
【0012】
請求項4に記載の発明によれば、低解像度の三次元モデルの作成の後で高解像度の三次元モデルの作成が行われる。すなわち、段階的に解像度が高くなってゆく三次元モデルの作成が行われる。この解像度を段階的に上げた三次元モデルの作成においては、1段階(1階層)の処理に用いる三次元点群位置データの量を、この段階的な処理を行わない場合に比較して少なくできるので、1段階当たり(1階層あたり)の処理に要する時間を短縮することができる。このため、より早い段階で低解像度ではあるが三次元モデルを得ることができる。
【0013】
請求項5に記載の発明は、請求項4に記載の発明において、前記三次元モデル作成部は、前記相対的に解像度の低い三次元モデルを作成した際に付与された前記同一ラベルの情報に基づき、前記相対的に解像度の高い三次元モデルの作成を行うことを特徴とする。
【0014】
請求項5に記載の発明によれば、相対的に低解像度の階層において作成されたラベルのデータが、その下位にある相対的に高解像度の階層における処理に引き継がれる。つまり、粗いラベリングがまず行われ、次にこのラベリングのデータが引き継がれて、より細部のラベリングが行われる。こうすることで、処理の効率が高くなる。仮に、階層が変わる毎にラベリングを一から行う手順とした場合、高解像度の階層となるに従い処理の負担が増大し、最後の階層では、従来技術における処理と負担は変わらなくなる。
【0015】
請求項6に記載の発明は、請求項1乃至5のいずれか一項に記載の発明において、前記三次元モデルの画像を作成する三次元モデル画像作成部を更に備え、前記三次元モデル画像作成部は、前記相対的に解像度の低い三次元モデルの画像を作成した後に、前記相対的に解像度の高い三次元モデルの画像の作成を行うことを特徴とする。請求項6に記載の発明によれば、段階的に解像度が高くなる三次元モデルの画像の表示が行われるので、徐々に解像度が高くなる三次元モデルの状態をユーザが観察できる。
【0016】
請求項7に記載の発明は、請求項6に記載の発明において、前記相対的に解像度の低い三次元モデルの画像を作成した後に、前記相対的に解像度の高い三次元モデルの作成を中止させる指示を受け付ける受付部を備えることを特徴とする。
【0017】
請求項7に記載の発明によれば、最終的な高解像度の三次元モデルが作成される前の段階で処理を止めることができる。仮に、複数の段階を経ずにいきなり最終的な高解像度の三次元モデルが作成する処理とした場合、三次元モデルが得られた段階で視点の設定等の誤りに気付いても、既に処理は終了しているので、それまでの処理が無駄になる。これに対して、解像度を段階的に分けた処理で三次元モデルを得る方法では、演算量が少なくて済む低解像度の段階で誤りに気付き、その時点で処理を中止することで、無駄に行われる演算を減らすことができる。
【0018】
請求項8に記載の発明は、請求項1乃至7のいずれか一項に記載の発明において、前記面ラベリング部によって区分けされた面同士の境界部分における三次元エッジを抽出する三次元エッジ抽出部と、前記面ラベリング部によって区分けされた面内から二次元エッジを抽出する二次元エッジ抽出部と、前記三次元エッジと前記二次元エッジを統合するエッジ統合部とを備えることを特徴とする。請求項8に記載の発明によれば、三次元モデルの作成が効率よく行われる。
【0019】
請求項9に記載の発明は、請求項8に記載の発明において、隣接する面の間を繋ぐ境界領域面を形成する境界領域面形成部を更に備え、前記三次元エッジ抽出部は、前記境界領域面に基づいて三次元エッジの抽出を行うことを特徴とする。境界領域面を作成し、それに基づいて三次元エッジの抽出を行うことで、測定対象物の外観の特徴を精度良く再現した三次元モデルを作成することができる。
【0020】
請求項10に記載の発明は、請求項1乃至9のいずれか一項に記載の発明において、前記非面領域除去部は、複数の三次元点群位置データにより形成される局所面の平面へのフィッティング精度、曲率、他の局所面との共平面性の少なくとも一つに基づいて非面領域の除去を行うことを特徴とする。請求項10に記載の発明によれば、精度良く面の抽出を行うことができる。
【0021】
請求項11に記載の発明は、請求項1乃至10のいずれか一項に記載の発明において、前記面ラベリング部によってラベルが付与されていない点に対して、最近傍面のラベルを付与し、前記ラベルを拡張するラベル拡張部をさらに備えることを特徴とする。ラベル拡張部でラベルを拡張することで、三次元モデルの完成度を高めることができる。
【0022】
請求項12に記載の発明は、測定対象物の三次元点群位置データを取得する三次元点群位置データ取得ステップと、前記三次元点群位置データ取得ステップにおいて取得した前記三次元点群位置データの密度を変更する三次元点群位置データの密度変更ステップと、前記密度変更ステップで密度が変更された前記三次元点群位置データから非面領域の点を除去する非面領域除去ステップと、前記非面領域除去ステップにおいて除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリングステップと、 前記面ラベリングステップにおいて区分けされた面に基づき三次元モデルを作成する三次元モデル作成ステップとを有することを特徴とする三次元点群位置データ処理方法である。
【0023】
請求項13に記載の発明は、測定対象物の三次元点群位置データを取得する三次元点群位置データ取得手段と、前記三次元点群位置データ取得手段が取得した前記三次元点群位置データの密度を変更する三次元点群位置データの密度変更手段と、前記密度変更手段で密度が変更された前記三次元点群位置データから非面領域の点を除去する非面領域除去手段と、前記非面領域除去手段によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング手段と、前記面ラベリング手段によって区分けされた面に基づき三次元モデルを作成する三次元モデル作成手段とを備えることを特徴とする三次元点群位置データ処理システムである。
【0024】
請求項14に記載の発明は、コンピュータに読み取らせて実行させるプログラムであって、コンピュータを測定対象物の三次元点群位置データを取得する三次元点群位置データ取得部と、前記三次元点群位置データ取得部が取得した前記三次元点群位置データの密度を変更する三次元点群位置データの密度変更部と、前記密度変更部で密度が変更された前記三次元点群位置データから非面領域の点を除去する非面領域除去部と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、前記面ラベリング部によって区分けされた面に基づき三次元モデルを作成する三次元モデル作成部として機能させることを特徴とするプログラムである。
【発明の効果】
【0025】
本発明によれば、三次元点群位置データの処理の途中経過を知ることができる技術が提供される。
【図面の簡単な説明】
【0026】
【図1】実施形態のブロック図である。
【図2】三次元点群位置データの分布状態の一例を説明する概念図である。
【図3】三次元点群位置データの密度を説明する概念図である。
【図4】実施形態のブロック図である。
【図5】実施形態における処理の手順の一例を示すフローチャートである。
【図6】階層化の一例を説明する概念図である。
【図7】階層化された三次元モデルの画像の一例を示す画像表示図である。
【図8】各パラメータの関係を説明する概念図である。
【図9】レーザースキャナの内部構造の一例を示す内部構造図である。
【図10】レーザースキャナの内部構造の一例を示す内部構造図である。
【図11】レーザースキャナに係るブロック図である。
【図12】レーザースキャナに係るブロック図である。
【図13】三次元点群位置データの一例を示す概念図である。
【図14】三次元点群位置データの一例を示す概念図である。
【発明を実施するための最良の形態】
【0027】
1.第1の実施形態
(構成)
以下、発明を利用した三次元点群位置データ処理装置の一例について、図面を参照して説明する。なお以下の説明において、三次元点群位置データは、測定対象物の各測定点における三次元座標データを含んでいる。三次元座標を表示する座標系は、直交座標系または極座標系が採用される。
【0028】
図1には、三次元点群位置データ処理装置100が示されている。三次元点群位置データ処理装置100は、測定対象物の三次元点群位置データに基づいて当該測定対象物の三次元モデルを作成する機能を有している。三次元点群位置データ処理装置100は、パーソナルコンピュータ上においてソフトウェア的に構成されている。三次元点群位置データ処理装置100をパーソナルコンピュータ上で構成するプログラムは、パーソナルコンピュータ中にインストールされている。なお、このプログラムは、サーバや適当な記録媒体に記録しておき、そこから提供される形態であってもよい。
【0029】
利用されるパーソナルコンピュータは、キーボートやタッチパネルディスプレイ等の操作入力部、液晶ディスプレイ等の画像表示装置、操作入力機能と画像表示機能を統合したユーザインターフェースであるGUI(グラフィカル・ユーザ・インターフェース)機能部、CPUおよびその他専用の演算デバイス、半導体メモリ、ハードディスク記憶部、光ディスク等の記憶媒体との間で情報のやり取りを行えるディスク記憶装置駆動部およびそのインターフェース部、USBメモリ等の携帯型記憶媒体との間で情報のやり取りを行えるインターフェース部、無線通信や有線通信を行う通信インターフェース部を必要に応じて備えている。なお、パーソナルコンピュータとしては、ノート型、携帯型、卓上型等の形態が挙げられるが、その形態は限定されない。また、汎用のパーソナルコンピュータを利用する以外に、専用のコンピュータを用意することもできる。また、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのPLD(Programmable Logic Device)等を用いて構成した専用のハードウェアによって三次元点群位置データ処理装置100を構成することも可能である。
【0030】
三次元点群位置データ処理装置100には、測定対象物の三次元点群位置データの測定を行うレーザースキャナが接続される。このレーザースキャナが測定した三次元点群位置データが三次元点群位置データ処理装置100に入力される。なお、複数の視点から同一測定対象物の三次元点群位置データを取得し、それを統合しての三次元モデルの作成も可能である。この場合、複数の視点から得られた三次元点群位置データを統合したものを対象として処理が行われる。
【0031】
レーザースキャナは、測定対象物にレーザー光を照射し、その反射光を受光することで、レーザースキャナの設置位置(視点)から測定点までの距離、方位、仰角(または俯角)の情報を取得し、これらの情報に基づき、測定点の三次元位置座標に係る情報を算出する。また、レーザースキャナは、測定点からの反射光の強度、色、色相、彩度等に関する情報を取得する。レーザースキャナはこれらの情報に基づき、三次元座標値を含む点群位置データを算出し、それを三次元点群位置データ処理装置100に出力する。レーザースキャナの詳細な構成の一例は後述する、三次元点群位置データを取得する方法としては、レーザースキャナを用いる方法以外に、画像処理ソフトウェアを用いて立体写真画像から三次元点群位置データを抽出する方法を採用することもできる。
【0032】
図1に示す三次元点群位置データ処理装置100は、三次元点群位置データ取得部101、解像度設定部102、三次元モデル作成部103、三次元モデル画像作成部104を備えている。三次元点群位置データ処理装置100には、三次元点群位置データ処理装置100を構成するパーソナルコンピュータが備える操作入力部106および画像表示装置(例えば、液晶ディスプレイ)105が接続されている。
【0033】
三次元点群位置データ取得部101は、上述したレーザースキャナからの三次元点群位置データを取得する。なお、レーザースキャナの出力に基づき、三次元点群位置データ取得部101において三次元点群位置データの算出を行う形態も可能である。解像度設定部102は、三次元点群位置データの密度変更部の一例であり、三次元点群位置データに基づいて作成される三次元モデルの解像度の設定を行う。解像度の設定を行うための操作は、操作入力部106がユーザによって操作されることで行われる。解像度の設定は、処理の対象となる三次元点群位置データの密度を変更することで行われる。
【0034】
以下、解像度の設定について説明する。図2には、2次元的に分布した○で示される三次元点群位置データの分布の状態が概念的に示されている。図2には、2次元格子上で三次元点群データが分布している状態が示されている。図3には、図2の三次元点群位置データにおいて、解像度の階層が3階層に設定されている場合が示されている。図3において、三次元モデルの作成に際して、●の部分の三次元点群位置データが三次元モデルの作成に利用され、○の部分の三次元点群位置データは利用されない。
【0035】
図3(A)には、解像度が最も低い場合が示され、図3(B)には、解像度が中位の場合が示され、図3(C)には、解像度が最も高い場合が示されている。すなわち、図3(A)には、サンプリングの対象となる三次元点群位置データの密度が最も低い場合が示され、図3(B)には、サンプリングの対象となる三次元点群位置データの密度が中位である場合が示され、図3(C)には、サンプリングの対象となる三次元点群位置データの密度が最も高い場合が示されている。図3において、点数比というのは、図3(C)の状態の三次元点群位置データに対する三次元点群位置データの数の比である。図3に示すように、点数比が小さい程、利用される三次元点群位置データの密度は低くなり、それに対応して解像度は低くなる。これは、基礎とする三次元点群位置データの密度が低くなると、画素が粗くなり、細かい部分を再現する精度が低下するからである。なお、第n層(nは自然数)の点数比は、下記数1によって表される。
【0036】
【数1】
【0037】
図3(A)の場合に比較して、図3(B)の場合は利用される三次元点群位置データの密度が高いので、得られる三次元モデルの解像度(精度)は高くなる。図3(C)の場合は、利用される三次元点群位置データの密度が更に高くなるので、得られる三次元モデルの解像度(精度)は更に高くなる。図1の解像度設定部102は、図3に例示する解像度の設定を行う。
【0038】
図3には、階層を上げる毎に(解像度を下げる毎に)、三次元点群位置データを間引き、利用する三次元点群位置データの密度を低下させる手法が記載されている。この方法と同様の効果を得る方法として、複数の三次元点群位置データの平均値を代表値として採用し、この代表値によって第0層に対して解像度を落とした三次元点群位置データを構成する方法も採用できる。例えば、第2層の階層において、5×5画素の三次元点群位置データの平均値をこの5×5画素の領域における三次元点群位置データの代表値として採用し、次いで第1層の階層において、3×3画素の三次元点群位置データの平均値をこの3×3画素の領域における三次元点群位置データの代表値として採用し、といった方法で、三次元点群位置データの密度を設定する方法も可能である。また、図3には、解像度の設定を3階層(3段階)に設定した場合が示されているが、階層の数は、2以上が可能であり、4階層や5階層、あるいはそれ以上であってもよい。
【0039】
図1に戻り、三次元点群位置データ処理装置100は、三次元モデル作成部103を備えている。三次元モデル作成部103は、非面領域の算出、非面領域の除去、ラベリング処理、輪郭線等の特徴部分の算出、輪郭線により構成される三次元モデルの作成、およびこれらに関連した演算を行う。三次元モデルというのは、測定対象物の輪郭線を線図として表現した測定対象物の三次元構造を視覚化した画像である。輪郭線というのは、測定対象物の三次元エッジであり、測定対象物の外観を視覚的に把握するために必要な、当該測定対象物の外形を形作っている線(outline)のことである。具体的には、折れ曲がった部分や急激に曲率が小さくなっている部分が輪郭線となる。輪郭線は、外側の輪郭の部分のみが対象となるとは限らず、凸状に飛び出している部分を特徴付ける縁の部分や、凹状に引っ込んでいる部分(例えば、溝構造の部分)を特徴づける縁の部分も対象となる。輪郭線により所謂線図が得られ、対象物の外観が把握し易い画像表示を行うことができる。なお、三次元モデルには、上述した線の情報だけではなく、測定対象物の外観を視覚的に把握する際の特徴部分となる点の情報も含まれる。また、三次元モデルをラベリングされた面によって構成される多面体として表現することも可能である。
【0040】
以下、図1の三次元モデル作成部103の詳細について説明する。図4には、三次元モデル作成部103のブロック図が示されている。三次元モデル作成部103は、非面領域算出部201、非面領域除去部202、面ラベリング部203、ラベル拡張部204、境界領域面形成部205、輪郭線算出部206、二次元エッジ算出部207、エッジ統合部208を備えている。以下、これら各機能部について説明する。
【0041】
非面領域算出部201は、局所面である局所領域を取得する局所領域取得部201a、局所領域の法線ベクトルを算出する法線ベクトル算出部201b、局所領域の局所曲率を算出する局所曲率算出部201c、局所領域にフィッティングする局所平面を算出する局所平面算出部201dを備えている。
【0042】
局所領域取得部201aは、三次元点群位置データに基づき、注目点を中心とした一辺が3〜7画素程度の正方領域(格子状の領域)を局所領域として取得する。この際、対象となる三次元点群位置データは、解像度設定部102において選択された階層の三次元点群位置データである。例えば、図3(B)の階層(解像度)が選択された場合は、全ての三次元点群位置データが処理の対象とされず、図3(B)の●で示される三次元点群位置データが処理の対象とされる。図3には、2次元に簡略化した場合の例であるが、各解像度における3×3画素の局所領域401,402,403が示されている。
【0043】
法線ベクトル算出部201bは、局所領域取得部201aが取得した上記の局所領域における各点の法線ベクトルの算出を行う。この法線ベクトルを算出する処理では、局所領域における三次元点群位置データに着目し、各点の法線ベクトルを算出する。この処理は、全ての三次元点群位置データを対象として行われる。すなわち、三次元点群位置データが無数の局所領域に区分けされ、各局所領域において各点の法線ベクトルの算出が行われる。
【0044】
局所曲率算出部201cは、上述した局所領域内の法線ベクトルのバラツキ(局所曲率)を算出する。ここでは、着目している局所領域において、各法線ベクトルの3軸成分の強度値(NVx, NVy, NVz)の平均(mNVx,mNVy,mNVz)を求める。またこの結果に基づき、さらに標準偏差(StdNVx,StdNVy,StdNVz)を求める。次に、標準偏差の二乗和の平方根を局所曲率(Local Curveture:crv)として算出する(数2)。
【0045】
【数2】
【0046】
局所平面算出部201dは、局所領域にフィッティング(近似)する局所平面を求める。この処理では、着目している局所領域の各点の三次元座標から局所平面の方程式を求める。局所平面は、着目している局所領域にフィッティングさせた平面である。ここでは、最小二乗法を用いて、当該局所領域にフィッティングする局所平面の面の方程式を算出する。具体的には、複数の異なる平面方程式を求め、更にそれらを比較し、当該局所領域にフィッティングする局所平面の面の方程式を算出する。仮に、着目している局所領域が平面であれば、局所平面と局所領域とは一致する。以上の処理を、局所領域を順次ずらしながら、全ての三次元点群位置データが対象となるように繰り返し行い、各局所領域における法線ベクトル、局所平面、局所曲率を得る。
【0047】
非面領域除去部202は、上で求めた各局所領域における法線ベクトル、局所平面、局所曲率に基づいて、非面領域の点を除去する処理を行う。すなわち、面(平面および曲面)を抽出するために、予め面でないと判断できる部分(非面領域)を除去する。なお、非面領域とは、平面でも曲面でもない領域であるが、下記の(1)〜(3)の閾値によっては曲率の高い曲面を含む場合がある。
【0048】
非面領域除去部202は、三次元点群位置データ取得部101が取得した三次元点群位置データの中から算出した非面領域の三次元点群位置データを除去する。非面領域除去の処理は、以下に示す3つの方法のうち、少なくとも一つを用いて行うことができる。ここでは、下記の(1)〜(3)の方法による判定を上述した局所領域の全てに対して行い、1以上の方法において非面領域と判定された局所領域を、非面領域を構成する局所領域として抽出する。そして、抽出された非面領域を構成する点に係る三次元点群位置データを除去する。
【0049】
(1)局所曲率の高い部分:上述した局所曲率を予め設定しておいた閾値と比較し、閾値を超える局所曲率の局所領域を非面領域と判定する。局所曲率は、注目点とその周辺点における法線ベクトルのバラツキを表しているので、面(平面および曲率の小さい曲面)ではその値が小さく、面以外(非面)ではその値は大きくなる。したがって、予め決めた閾値よりも局所曲率が大きければ、当該局所領域を非面領域と判定する。
【0050】
(2)局所平面へのフィッティング精度:局所領域の各点と対応する局所平面との距離を計算し、これらの距離の平均が予め設定した閾値よりも大きい場合、当該局所領域を非面領域と判定する。すなわち、局所領域が平面から乖離した状態であると、その程度が激しい程、当該局所領域の各点と対応する局所平面との距離は大きくなる。このことを利用して当該局所領域の非面の程度が判定される。
【0051】
(3)共平面性のチェック:ここでは、隣接する局所領域において、対応する局所平面同士の向きを比較する。この局所平面の向きの違いが閾値を超えている場合、比較の対象となった局所領域が非面領域に属していると判定する。具体的には、対象となる2つの局所領域のそれぞれにフィッティングする2つの局所平面の法線ベクトルと、その中心点間を結ぶベクトルとの内積が0であれば、両局所平面が同一平面上に存在すると判定される。また、上記内積が大きくなる程、2つの局所平面が同一面上にない程度がより顕著であると判定され、非面の程度が高いものと判定される。
【0052】
上記の(1)〜(3)の方法による判定において、1以上の方法において非面領域と判定された局所領域を、非面領域を構成する局所領域として抽出する。そして、この抽出された局所領域を構成する点に係る三次元点群位置データを算出対象としている三次元点群位置データから除去する。以上のようにして、非面領域の除去が行われる。なお、除去された三次元点群位置データは、後の処理で利用する可能性があるので、適当な記憶領域に格納するなり、除去されなかった三次元点群位置データと識別できる状態とするなどして、後で利用できる状態にしておく。
【0053】
次に、面ラベリング部203について説明する。面ラベリング部203は、面抽出部の一例である。面ラベリング部203は、非面領域の三次元点群位置データが除去された三次元点群位置データに対して、法線ベクトルの連続性に基づいて面ラベリングを行う。具体的には、特定の注目点と隣接点の法線ベクトルの角度差が予め決めた閾値以下なら、それらの点に同一ラベルを貼る。この作業を繰り返すことで、連続する平面、連続する緩やかな曲面に同一ラベルが貼られ、それらを一つの面として識別可能となる。また、面ラベリングの後、法線ベクトルの角度差や法線ベクトルの3軸成分の標準偏差を用いて、ラベル(面)が平面であるか、または曲率の小さい曲面であるかを判定し、その旨を識別する識別データを各ラベルに関連付ける。
【0054】
続いて、面積の小さいラベル(面)をノイズとして除去する。なお、このノイズ除去は、面ラベリングの処理と同時に行ってもよい。この場合、面ラベリングを行いながら、同一ラベルの点数(ラベルを構成する点の数)を数え、所定以下の点の数であるラベルを取り消す処理を行う。次に、この時点でラベルが無い点に対して、最近傍面(最も近い面)と同一のラベルを付与していく。これにより、既にラベリングされた面の拡張を行う。この面の拡張に係る処理は、ラベル拡張部204において行われる。
【0055】
すなわち、ラベルの付いた面の方程式を求め、当該面とラベルが無い点との距離を求める。ラベルが無い点の周辺に複数のラベル(面)がある場合には、その距離が最も短いラベルを選択する。そして、依然としてラベルが無い点が残存している場合には、非面領域除去、ノイズ除去、およびラベル拡張における各閾値を変更し、再度関連する処理を行う。例えば、非面領域除去において、局所曲率の閾値を上げることで、非面として抽出する点の数が少なくなるようにする。または、ラベル拡張において、ラベルの無い点と最近傍面との距離の閾値を上げることで、ラベルの無い点に対してより多くのラベルを付与するようにする。
【0056】
次に、ラベルが異なる面であっても同一面である場合にラベルを統合する。この場合、連続しない面であっても、位置または向きが等しい面同士に同じラベルを付ける。具体的には、各面の法線ベクトルの位置および向きを比較することで、連続しない同一面を抽出し、いずれかの面のラベルに統一する。この処理もラベル拡張部204において行われる。
【0057】
この面ラベリング部203の機能によれば、扱うデータ量を圧縮できるので、三次元点群位置データの処理を高速化できる。また必要なメモリ量を節約できる。また、測定中に紛れ込んだ通行人や通過した車両の三次元点群位置データをノイズとして除去することができる。
【0058】
境界領域面形成部205は、隣接する面の間を繋ぐ境界領域面を形成する。この例では、隣接する面の間の非面領域に局所平面をフィッティングさせ、この局所平面を複数繋ぐことで、当該非面領域を複数の局所平面によって近似した境界領域面を形成する。これは、複数の局所平面により構成される多面体で非面領域を近似し、面と面との境界部分となる境界領域面を形成する処理と捉えることができる。なお、この多面体構造を有する境界領域面にフィッティングする滑らかな曲面を設定し、当該境界領域面をこの曲面に置き換えてもよい。
【0059】
輪郭線算出部206は、隣接する面の三次元点群位置データに基づき、測定対象物の三次元エッジとなる輪郭線を算出(推定)する。この場合、上記の境界領域面の形成において、隣接する面から局所平面をつないでゆく処理が行われる。この際、最後に隣接した局所平面同士の交線を輪郭線として算出する。輪郭線が算出されることで、測定対象物の輪郭の画像が明確となる。境界領域面を用いた輪郭線の算出方法としては、境界領域面の中央位置を輪郭線が通るように輪郭線を設定する方法や、境界領域面の曲率が最小となる部分を輪郭線が通るように輪郭線を設定する方法も可能である。なお、境界領域面の形成を行わずに隣接する面と面との交線を輪郭線とする処理も可能である。
【0060】
次に、二次元エッジ算出部207について説明する。二次元エッジ算出部207は、対象物からの反射光の強度分布に基づいて、ラプラシアン、プリューウィット、ソーベル、キャニーなどの公知のエッジ抽出オペレータを用いて、セグメント化(区分け)された面に対応する二次元画像の領域内からエッジを抽出する。すなわち、二次元エッジは、面内の濃淡の違いにより認識されるので、この濃淡の違いを反射光の強度の情報から抽出し、その抽出条件に閾値を設けることで、濃淡の境目をエッジとして抽出する。次に、抽出されたエッジを構成する点の三次元座標の高さ(z値)と、その近傍の輪郭線(三次元エッジ)を構成する点の三次元座標の高さ(z値)とを比較し、この差が所定の閾値以内の場合には、当該エッジを二次元エッジとして抽出する。すなわち、二次元画像上で抽出されたエッジを構成する点が、セグメント化された面上にあるか否かを判定し、面上にあると判定された場合にそれを二次元エッジとする。
【0061】
二次元エッジの算出後、輪郭線算出部206が算出した輪郭線と二次元エッジ算出部207が算出した二次元エッジとを統合する。この処理はエッジ統合部208において行われる。これにより、三次元点群位置データに基づき、対象物を特徴付けるエッジの抽出が行われる。このエッジの抽出により、測定対象物を視認する際における測定対象物の外観を構成する特徴部分が抽出され、三次元モデルのデータが得られる。
【0062】
図1に戻り、三次元点群位置データ処理装置100は、三次元モデル画像作成部104を備えている。三次元モデル画像作成部104は、三次元モデル作成部103で作成された三次元モデルを画像表示するための画像データを作成する。この画像データは、画像表示装置105に送られ、そこで表示される。これにより、画像表示装置105上で測定対象物の三次元モデルの画像表示が行われる。
【0063】
(処理の一例)
図5は、図1の三次元点群位置データ処理装置100で行われる処理の一例を説明するフローチャートである。図5に示すフローチャートを実行するためのプログラムは、三次元点群位置データ処理装置100を構成するパーソナルコンピュータの記憶部に記憶されており、適当な記憶領域に読み出されて当該パーソナルコンピュータによって実行される。
【0064】
処理が開始されると(ステップS501)、まず測定対象物の三次元点群位置データの取得が行われる(ステップS502)。この処理は、三次元点群位置データ取得部101において行われる。測定対象物の三次元点群位置データを取得したら、操作入力部106に対してユーザにより行われた階層の設定数(解像度の段階の設定数)の情報を取得し(ステップS503)、階層の設定(解像度の設定)を行う。この処理は、解像度設定部102において行なわれる。
【0065】
次に、ステップS503において取得した階層の最上位の階層(解像度が最も低い階層)でのラベリングを行う。この処理は、三次元モデル作成部103において、図4を参照して説明した内容に従って行われる。そして、ラベリングを行った後、ラベリングの処理の結果に基づく三次元モデルの作成を行う(ステップS505)。この処理も三次元モデル作成部103において行われる。
【0066】
三次元モデルを作成したら、それを三次元モデル画像作成部104において画像化し、その画像データが画像表示装置105に送られ、そこで画像表示される(ステップS506)。この画像表示の後、ユーザによる操作入力部106に対する図5の処理の終了を指示する操作が行われたか否か、が判定され(ステップS507)、図5の処理の終了を指示する操作が行われた場合、処理を終了し(ステップS511)、そのような操作が行われていなければ、ステップS508に進む。
【0067】
ステップS508では、この段階におけるラベリングの階層が一番下か否か(解像度が最大であるか否か)、が判定され、ラベリングの階層が最下層であれば、処理を終了し(ステップS511)、最下層でなければ、ステップ(509)に進む。
【0068】
ステップ509では、ステップS508における判定の対象なった階層の1ランク下の階層へのラベルの引継ぎを行い、このステップS508における判定の対象となった階層の1ランク下の階層(1ランク解像度が上の階層)における再ラベリングを行う(ステップS510)。以下、ステップS509およびステップS510の詳細を説明する。
【0069】
図6の左側には、階層化された3段階のラベリングの状態をモデル化したものが記載され、図6の右側には、上記左側のラベリングの階層に対応する測定対象物の3段階のイメージ画像が示されている。図6の場合、第2層,第1層,第0層の3階層が示されている。ここで、第2層が最も低解像度であり、第0が最も高解像度となる設定とされている。図6の場合、最下位の解像度の第2層の階層においては、図示する範囲の画像を4分割する解像度でラベリングを行い、中位の解像度の第1層の階層においては、図示する範囲の画像を16分割する解像度(第2層の場合の4倍の解像度)でラベリングを行い、最上位の解像度の第0層の階層においては、図示する範囲の画像を64分割する解像度(第2層の場合の16倍、第1層の場合の4倍の解像度)でラベリングを行う場合の例が示されている。
【0070】
図6の右側には、左側の解像度に対応させて、まず第2層の階層において、壁601が一つの面としてラベリングされ、更に解像度が1階層上がった第1層の階層において、壁601の面に中で窓602が面としてラベリングされ、更に解像度が1階層上がった第0層の階層において、壁601の面において窓602よりも細かい面であるタイル(壁601を構成するタイルの面)603〜605が更に細かい面としてラベリングされた状態が示されている。
【0071】
すなわち、図6の例では、第2層のラベリングでは、サンプリングする三次元点群位置データの密度が足りず、窓602やタイル603〜605は面としてラベリングされず、全体が壁601としてラベリングされる。そして、第1層のラベリングでは、サンプリングする三次元点群位置データの密度が第2層の場合よりも高くなるので、窓602が面としてラベリングされる。この際、タイル603〜605は解像度が足りずラベリングされない。そして、第0層のラベリングでは、サンプリングする三次元点群位置データの密度が第1層の場合よりも高くなるので、タイル603〜605もラベリングされ、面としてデータ化される。
【0072】
また、図6には、下層におけるラベリングに移行する再に、上層のラベルが引き継がれる場合の例が示されている。まず、第2層の階層におけるラベリングで壁601が面としてラベリングされる。そして、第2層よりも下層の第1層に移行する際、壁601のラベリングのデータはそのまま引き継がれ、第2層において面として認識された壁601を対象として、第1層の階層における更により細かい面のラベリングが行われる。そして、第1層で窓602が面としてラベリングされるのであるが、この窓602の面としてのデータは、第0層に引き継がれる。そして、第2層、第1層の階層でラベリングされた壁601および窓602を面として捉えている状態において、更に細かい面のラベリングが第0層の階層において行われる。この場合、壁601をより細かく見た場合に認識されるタイル603〜605のラベリングが行われる。この下層にラベルを引き継いでの再ラベリングを行うことで、既に行われているラベリングの作業を重複して行う無駄が省かれ、処理が効率化される。
【0073】
仮に、図6に例示するモデルにおける第2層の面のデータ(壁601を面として把握したデータ)が、第1層の階層におけるラベリング時に引き継がれないと、第1層の階層においても再度壁601を認識するためのラベリングの処理が必要となり、演算が重複して行われる無駄が生じる。
【0074】
図6に示す第2層の階層から第1層の階層に移行しての再ラベリング、あるいは第1層の階層から第0層の階層に移行しての再ラベリングが、図5のステップS509およびステップS510の処理の一例となる。
【0075】
図5に戻り、ステップS510での再ラベリングの後、ステップS505以下の処理を再度実行し、新たにラベリングされたデータに基づく三次元モデルの作成を行い、更にその三次元モデルの画像表示を行う(ステップS506)。この処理によれば、例えば、図6の右側に示されているような、段階的に解像度が高くなり、上位の階層では表現されていなかった細部が順次表現されてゆく三次元モデルの画像表示が行われる。
【0076】
図7には、段階的に階層を下げつつ(解像度を上げつつ)三次元モデルを作成した場合の三次元モデル画像の一例が示されている。図7には、図3および図6に示す第2層、第1層、第0層に対応する三次元モデル画像の一例が示されている。なお、図7には、解像度の違いを誇張した状態が示されている。
【0077】
図7には、5階建ての集合住宅の三次元モデル画像が示されている。図7(A)には、三次元点群位置データのサンプリング密度が最も低く、解像度が最も低位である場合が示されている。図7(A)の場合、解像度が低いので、細部の状態がほとんど表現されていない。図7(B)には、(A)の場合よりも解像度が上がり、窓の形状等は明らかになっていないが、(A)の場合よりも細部の状態が明らかになった三次元モデルの画像が示されている。図7(C)は、第0層の階層、すなわち三次元レーザースキャナが取得した三次元点群位置データのオリジナルを利用した三次元モデルの画像が示されている。この場合、窓の形状等の細部が表現された三次元モデルの画像が表示される。
【0078】
(優位性)
以上説明した例では、まず三次元レーザースキャナが測定した三次元点群位置データに基づき、解像度を段階的に変えた三次元モデルを作成する。この際、低解像度の三次元モデルの作成およびその表示、さらにその後に、ラベリングされたデータを引き継いでの高解像度の三次元モデルの作成およびその表示を行う。ここで、低解像度の三次元モデルの表示を行うことで、最終的な三次元モデルの完成の途中の段階をユーザが把握することができる。
【0079】
例えば、図7の三次元モデルの画像表示の場合、最初の図5のステップS506の段階で第2層の三次元モデルの画像表示が行われる。ここで、視点の選択の誤りやこの視点の三次元モデルが不要であると判断される場合、処理を終了することができる。この段階で処理の対象とされた三次元点群位置データは、図3の例示の場合から明らかなように、オリジナルの三次元点群位置データに比較してデータ量が格段に少ない(この場合は1/16)。したがって、解像度が低い粗い三次元モデルの段階で処理を終了することで、全ての三次元点群位置データを処理の対象とする場合に比較して、処理時間が短縮される。また、途中で演算を止めることで、無駄な処理を行わないで済む。
【0080】
また、図7に示されるように段階的に三次元モデルの作成過程の途中経過を視認することができるため、ユーザが受けるストレスが軽減され、またユーザの作業性が向上する。また、図6に示すように階層を下げる場合に、上位の階層で得られたラベリングデータが、下位の階層に引き継がれる。このため、無駄な処理が抑制される。
【0081】
また、段階的により詳細なラベリングが行われるので、図7に示すように段階的に三次元モデルの画像が詳細になる状態が表示可能となり、徐々に詳細になってゆく過程をユーザが把握し易い。また、概略のアウトラインが判ればよい三次元モデルを得たい場合に、解像度を落とした階層を指定することで、より短い演算時間で所望する精度の三次元モデルを得ることができる。
【0082】
2.第2の実施形態
ここでは、階層数および解像度を決定する方法の一例を説明する。まず、特定の階層の分解能は、下記の数3によって表される。ここでの分解能は、分解できる最小寸法の値であり、その値が小さいほど、精度が高く、より細かい部分まで表現されることを意味する。
【0083】
【数3】
【0084】
ここで、aはスキャンピッチである。図8には、スキャンピッチa、測定対象物のスキャン範囲L、測定距離H、スキャン範囲Lにおける三次元点群位置データの数Mの関係が示されている。nは、n=0をデータの間引きのないオリジナルのスキャンデータ(例えば図3(C)の三次元点群位置データ)とした場合における何番目の層であるかを示す数値(自然数)である。図3や図6の場合から明らかなように、nの値が大きくなる程、分解能の値は大きく(つまり解像度は悪く)なる。
【0085】
階層の数(n+1)をレイヤー数という。レイヤー数は下記数4によって表される。ここで、単位処理時間は、1個の点群位置データを処理するのに要する時間であり、ユーザ解析要求時間は、ユーザが求める該当する階層の演算に要する時間である。
【0086】
【数4】
【0087】
例えば、1万個の点群位置データに要する処理時間が30m秒(1個当たり、3×10−6秒)であり、ユーザが求める一つの階層に対する解析要求時間が10秒であるとする。また、対象となるオリジナル(第0層)の三次元点群位置データの数が1000万点であるとする。この場合、上記の数4に基づいて、n=3が算出され、レイヤー数は3となる。つまり、この場合は図3や図6の場合のように階層を3段階に設定すれば、1層に対する演算に要する時間を10秒に抑えることができる。この場合、第2層→第1層→第0層と各10秒の処理が3回行われる。
【0088】
また、数4を図8に示す関係式を用いて変形すると、下記数5が得られる。ここで、Tは、上記の単位処理時間であり、tは一つの階層の処理に対するユーザの解析要求時間であり、HとLは図8に示すパラメータである。また、θは使用するレーザースキャナの角度ピッチである。このθはレーザースキャナの角度制御の精度で決まる。
【0089】
【数5】
【0090】
数5によれば、例えば測定現場の制約からLとHが決まっており、またレーザースキャナの性能からθが決まっており、また使用するコンピュータの性能からTが決まっている場合、解析要求時間tを決めることで、レイヤー数を決めることができる。精度は悪くてもなるべく早く三次元モデルの画像を見るためには、tを短く設定する必要がある。他方において、tを短く設定すると、レイヤー数が大きくなり、より多くの階層が必要となる。
【0091】
一例ではあるが、選択されるレイヤー数の目安は、対象となる三次元点群位置データの数が1億以上の場合は5層、5000万〜1億点の場合は4層、1000万〜5000万点の場合は3層、500万点〜1000万点の場合は2層、500万点未満の場合は1層とするのが好ましい。
【0092】
以下、図1に示す三次元点群位置データ処理装置100において、レイヤー数を自動設定する処理の一例を説明する。まず、ユーザは、最終的に作成される三次元モデルの画像の分解能aと三次元モデルの画像を得るのに要する処理時間tを選択し、これらの項目を操作入力部106から入力する。ここで、分解能aは、5cmや10cmといった数値が設定される。また、使用する三次元レーザースキャナによる予備測定を行い、図8のHおよびLの値を取得しておく。
【0093】
解像度設定部102は、上記入力された分解能aに基づいて、数5のθを算出する。そして、このθの値、ユーザによって指定されたt、予備測定で求めたH,L、使用するコンピュータの性能から決まるTを数5に代入し、レイヤー数を算出する。こうすることで、ユーザは面倒な操作を行うことなく、初期設定を行うことで、レイヤー数が算出され、図7に例示するような段階的に解像度が高くなる三次元モデルの画像表示を行うための設定が行われる。
【0094】
3.第3の実施形態
以下、三次元点群位置データを処理する機能を有する三次元レーザースキャナについて説明する。この例において、三次元レーザースキャナは、測定対象物に対して測距光(レーザー光)を走査しつつ照射し、レーザー光の飛行時間に基づいて自身の位置から測定対象物上の多数の測定点までの距離を測距する。また、この三次元レーザースキャナは、レーザー光の照射方向(水平角および高低角)を検出し、距離および照射方向に基づいて測定点の三次元座標を算出する。また、この三次元レーザースキャナは、測定対象物を撮影した二次元画像(各測定点におけるRGB強度)を取得し、二次元画像と三次元座標とを結び付けた三次元点群位置データを形成する。さらに、ここで示す三次元レーザースキャナは、図1に関連して説明した三次元点群位置データ処理装置100の処理を行う機能を有している。
【0095】
(構成)
図9および図10は、三次元レーザースキャナ1の構成を示す断面図である。三次元レーザースキャナ1は、整準部22、回転機構部23、本体部27、および回転照射部28を備えている。本体部27は、測距部24、撮影部25、制御部26等から構成されている。なお、図9は、説明の便宜のため、図10に示す断面方向に対して、回転照射部28のみ側方から見た状態を示している。
【0096】
整準部22は、台盤29を有し、回転機構部23は下部ケーシング30を有する。下部ケーシング30は、ピン31と2個の調整ネジ32とにより3点で台盤29に支持されている。下部ケーシング30は、ピン31の先端を支点にして傾動する。なお、台盤29と下部ケーシング30との間には、台盤29と下部ケーシング30とが互いに離反しないようにするため、引っ張りスプリング33が設けられている。
【0097】
下部ケーシング30の内部には、2個の整準モータ34が設けられている。2個の整準モータ34は、制御部26によって互いに独立して駆動される。整準モータ34の駆動により整準駆動ギア35、整準従動ギア36を介して調整ネジ32が回転し、調整ネジ32の下方への突出量が調整される。また、下部ケーシング30の内部には傾斜センサ37(図11参照)が設けられている。2個の整準モータ34は、傾斜センサ37の検出信号により駆動され、これにより整準が実行される。
【0098】
回転機構部23は、下部ケーシング30の内部に水平角用駆動モータ38を有する。水平角用駆動モータ38の出力軸には水平回動駆動ギア39が嵌着されている。水平回動駆動ギア39は、水平回動ギア40に噛合されている。水平回動ギア40は、回転軸部41に設けられている。回転軸部41は、回転基盤42の中央部に設けられている。回転基盤42は、下部ケーシング30の上部に、軸受け部材43を介して設けられている。
【0099】
また、回転軸部41には水平角検出器44として、例えばロータリーエンコーダが設けられている。水平角検出器44は、下部ケーシング30に対する回転軸部41の相対的回転角(水平角)を検出する。水平角は制御部26に入力され、制御部26は、その検出結果に基づき水平角用駆動モータ38を制御する。
【0100】
本体部27は、本体部ケーシング45を有する。本体部ケーシング45は、回転基盤42に固着されている。本体部ケーシング45の内部には鏡筒46が設けられている。鏡筒46は、本体部ケーシング45の回転中心と同心の回転中心を有する。鏡筒46の回転中心は、光軸47に合致されている。鏡筒46の内部には、光束分離手段としてのビームスプリッタ48が設けられている。ビームスプリッタ48は、可視光を透過し、かつ、赤外光を反射する機能を有する。光軸47は、ビームスプリッタ48によって光軸49と光軸50とに分離される。
【0101】
測距部24は、鏡筒46の外周部に設けられている。測距部24は、発光部としてのパルスレーザ光源51を有する。パルスレーザ光源51とビームスプリッタ48との間には、穴あきミラー52、レーザー光のビームウエスト径を変更するビームウエスト変更光学系53が配設されている。測距光源部は、パルスレーザ光源51、ビームウエスト変更光学系53、穴あきミラー52で構成されている。穴あきミラー52は、パルスレーザ光を穴部52aからビームスプリッタ48に導き、測定対象物から反射して戻って来た反射レーザー光を測距受光部54に向けて反射する役割を有する。
【0102】
パルスレーザ光源51は、制御部26の制御により所定のタイミングで赤外パルスレーザ光を発する。赤外パルスレーザ光は、ビームスプリッタ48によって高低角用回動ミラー55に向けて反射される。高低角用回動ミラー55は、赤外パルスレーザ光を測定対象物に向けて反射する。高低角用回動ミラー55は、高低角方向に回転することで、鉛直方向に延びる光軸47を高低角方向の投光光軸56に変換する。ビームスプリッタ48と高低角用回動ミラー55との間でかつ鏡筒46の内部には集光レンズ57が配設されている。
【0103】
測定対象物からの反射レーザー光は、高低角回動用ミラー55、集光レンズ57、ビームスプリッタ48、穴あきミラー52を経て測距受光部54に導かれる。また、測距受光部54には、内部参照光路を通って参照光も導かれる。反射レーザー光が測距受光部54で受光されるまでの時間と、レーザー光が内部参照光路を通って測距受光部54で受光されるまでの時間との差に基づき、光学情報処理装置1から測定対象物(測定対象点)までの距離が測定される。測距受光部54は、CMOS光センサ等の光電変化素子により構成され、検出した光のRGB強度を検出する機能も有している。
【0104】
撮影部25は、画像受光部58を備え、カメラとして機能する。画像受光部58は、鏡筒46の底部に設けられている。画像受光部58は、多数の画素が平面状に集合して配列されたもの、例えば、CCD(Charge Coupled Device)で構成されている。画像受光部58の各画素の位置は光軸50によって特定される。例えば、光軸50を原点として、X−Y座標を想定し、このX−Y座標の点として画素が定義される。
【0105】
回転照射部28は、投光ケーシング59の内部に収納されている。投光ケーシング59の周壁の一部は、投光窓となっている。図10に示すように、鏡筒46のフランジ部60には、一対のミラーホルダー板61が対向して設けられている。ミラーホルダー板61には、回動軸62が掛け渡されている。高低角用回動ミラー55は、回動軸62に固定されている。回動軸62の一端部には高低角ギア63が嵌着されている。回動軸62の他端側には高低角検出器64が設けられている。高低角検出器64は、高低角用回動ミラー55の回動角を検出し、その検出結果を制御部26に出力する。
【0106】
ミラーホルダー板61の一方には、高低角用駆動モータ65が取り付けられている。高低角用駆動モータ65の出力軸には駆動ギア66が嵌着されている。駆動ギア66は、回転軸62に取り付けられた高低角ギア63に噛合されている。高低角用駆動モータ65は、高低角検出器64の検出結果に基づき、制御部26の制御により適宜駆動される。
【0107】
投光ケーシング59の上部には、照星照門67が設けられている。照星照門67は、測定対象物を概略視準するのに用いられる。照星照門67を用いた視準方向は、投光光軸56の延びる方向、および回動軸62の延びる方向に対して直交する方向とされている。また、図10に示すように、投光ケーシング59の上部には、GPSアンテナ81が配置されている。GPSアンテナにより、GPS情報が取得され、内部で行われる演算にGPS情報を利用することができる構成とされている。
【0108】
図11は、制御部のブロック図である。制御部26には、水平角検出器44、高低角検出器64、傾斜センサ37、GPSアンテナ81からの検出信号が入力される。また、制御部26は、操作部6から操作指示信号が入力される。制御部26は、水平角用駆動モータ38、高低角用駆動モータ65、整準モータ34を駆動制御する共に、作業状況、測定結果等を表示する表示部7を制御する。制御部26には、メモリカード、HDD等の外部記憶装置68が着脱可能とされている。
【0109】
制御部26は、演算部4、記憶部5、水平駆動部69、高低駆動部70、整準駆動部71、距離データ処理部72、画像データ処理部73等から構成されている。記憶部5は、測距や高低角と水平角の検出を行うために必要なシーケンスプログラム、演算プログラム、測定データの処理を実行する測定データ処理プログラム、画像処理を行う画像処理プログラム、三次元点群位置データから面を抽出し、更に輪郭線を算出するプログラム、この算出した輪郭線を表示部7に表示させるための画像表示プログラム、三次元点群位置データの再取得に係る処理を制御するプログラム等の各種のプログラムを格納すると共に、これらの各種のプログラムを統合管理するための統合管理プログラム等を格納する。また、記憶部5は、測定データ、画像データ等の各種のデータを格納する。水平駆動部69は、水平角用駆動モータ38を駆動制御し、高低駆動部70は、高低角用駆動モータ65を駆動制御し、整準駆動部71は、整準モータ34を駆動制御する。距離データ処理部72は、測距部24によって得られた距離データを処理し、画像データ処理部73は、撮影部25により得られた画像データを処理する。
【0110】
また、制御部26は、GPS受信部82を備えている。GPS受信部82は、GPSアンテナが受信したGPS衛星からの信号を処理し、地球上における座標データを算出する。これは、通常のGPS受信装置と同じである。GPSから得られた位置情報は、後述する三次元点群位置データ処理部100’に入力される。
【0111】
図12は、演算部4のブロック図である。演算部4は、三次元座標演算部74、リンク形成部75、グリッド形成部9、三次元点群位置データ処理部100’を備えている。三次元座標演算部74には、距離データ処理部72から測定対象点の距離データが入力され、水平角検出器44および高低角検出器64から測定対象点の方向データ(水平角および高低角)が入力される。三次元座標演算部74は、入力された距離データと方向データとに基づき、光学情報処理装置1の位置を原点(0,0,0)とした各測定点の三次元座標(直交座標)を算出する。
【0112】
リンク形成部75には、画像データ処理部73から画像データおよび三次元座標演算部74が算出した各測定点の三次元座標の座標データが入力される。リンク形成部75は、画像データ(各測定点のRGB強度)と三次元座標を結び付けた三次元点群位置データ2を形成する。つまり、リンク形成部75は、測定対象物のある点に着目した場合、その着目点の二次元画像中における位置と、その着目点の三次元座標とを関連付けしたものを作成する。この関連付けされたデータは、全ての測定点について算出され、それらが三次元点群位置データ2となる。
【0113】
リンク形成部75は、以上の三次元点群位置データ2をグリッド形成部9に出力する。グリッド形成部9は、三次元点群位置データ2の隣接点の点間距離が一定でない場合に、等間隔のグリッド(メッシュ)を形成し、グリッドの交点に最も近い点を登録する。または、グリッド形成部9は、線形補間法やバイキュービック法を用いて、グリッドの交点位置に全点を補正する。なお、三次元点群位置データ2の点間距離が一定である場合には、グリッド形成部9の処理を省略することができる。
【0114】
以下、グリッドの形成手順について説明する。図13は、点間距離が一定でない三次元点群位置データを示す概念図であり、図14は、形成したグリッドを示す概念図である。図13に示すように、各列の平均水平間隔H1−Nを求め、さらに列間の平均水平間隔の差分ΔHi,jを算出し、その平均をグリッドの水平間隔ΔHとする(数6)。垂直方向の間隔は、各列での垂直方向の隣接点との距離ΔVN,Hを算出し、画像サイズW,Hの画像全体におけるΔVN,Hの平均を垂直間隔ΔVとする(数7)。そして、図14に示すように、算出した水平間隔ΔHおよび垂直間隔ΔVのグリッドを形成する。
【0115】
【数6】
【0116】
【数7】
【0117】
次に、形成したグリッドの交点に最も近い点を登録する。この際、交点から各点までの距離には所定の閾値を設けて、登録を制限する。例えば、閾値は、水平間隔ΔHおよび垂直間隔ΔVの1/2とする。なお、線形補間法やバイキュービック法のように、交点との距離に応じた重みを付けて全点を補正してもよい。ただし、補間を行った場合には、本来計測していない点となる。
【0118】
以上のようにして得られた三次元点群位置データは、三次元点群位置データ処理部100’に出力される。三次元点群位置データ処理部100’は、第1の実施形態で説明した三次元点群位置データ処理装置100と同様の動作を行う専用の集積回路である。三次元点群位置データ処理部100’は、例えばFPGA等により構成されている。また、三次元点群位置データ処理部100’の動作においてユーザに提示される画像の表示が液晶ディスプレイである表示部7において行われる。
【0119】
三次元点群位置データ処理部100’には、GPS受信部82から得られた地球上における座標データが入力される。この構成によれば、三次元点群位置データ処理部100’で取り扱われる座標がGPSから得られた位置データ(例えば、電子地図情報)とリンクされる。これにより、例えば、三次元レーザースキャナ1の設置位置を電子地図上に画面表示することができ、また測定対象物の電子地図上における座標を特定することができる。
【0120】
(その他)
制御部26の構成において、グリッド形成部9から三次元点群位置データが外部に出力される形態とすると、図9、図10に示す装置は、第1の実施形態で示したパーソナルコンピュータを利用した三次元点群位置データ処理装置100と組み合わせて使用可能な三次元レーザースキャナとなる。また、三次元点群位置データ処理部100’が行う処理を分散して行う構成も可能である。例えば、三次元点群位置データ処理部100’の機能の一部を通信回線で結ばれたサーバで行うような構成も可能である。これは、図1の三次元点群位置データ処理装置100の場合も同じである。これらの構成は、本発明の三次元点群位置データ処理システムの一例として把握される。
【0121】
本発明を複数の視点から得られた三次元点群位置データの処理に利用することもできる。この場合、第1の視点から得られた三次元点群位置データと、第1の視点とは異なる視点である第2の視点から得られた三次元点群位置データとを統合した三次元点群位置データを対象として処理を行う。視点の数は、2つ以上であってもよい。視点の数を複数とすることで、ある視点からは死角となる部分が他の視点から得られた三次元点群位置データによって補完され、三次元モデルを回転させて表示させた場合における死角となって画像情報が欠落した部分の発生(オクルージョンの発生)が抑えられる。
【産業上の利用可能性】
【0122】
本発明は、三次元情報の測定を行う技術に利用することができる。
【符号の説明】
【0123】
1…三次元レーザースキャナ、2…三次元点群位置データ、22…整準部、23…回転機構部、24…測距部、25…撮影部、26…制御部、27…本体部、28…回転照射部、29…台盤、30…下部ケーシング、31…ピン、32…調整ネジ、33…引っ張りスプリング、34…整準モータ、35…整準駆動ギア、36…整準従動ギア、37…傾斜センサ、38…水平回動モータ、39…水平回動駆動ギア、40…水平回動ギア、41…回転軸部、42…回転基盤、43…軸受部材、44…水平角検出器、45…本体部ケーシング、46…鏡筒、47…光軸、48…ビームスプリッタ、49,50…光軸、51…パルスレーザ光源、52…穴あきミラー、53…ビームウエスト変更光学系、54…測距受光部、55…高低角用回動ミラー、56…投光光軸、57…集光レンズ、58…画像受光部、59…投光ケーシング、60…フランジ部、61…ミラーホルダー板、62…回動軸、63…高低角ギア、64…高低角検出器、65…高低角用駆動モータ、66…駆動ギア、67…照星照門、68…外部記憶装置、69…水平駆動部、70…高低駆動部、71…整準駆動部、72…距離データ処理部、73…画像データ処理部、81…GPSアンテナ、82…GPS受信部、100’…三次元点群位置データ処理部。
【特許請求の範囲】
【請求項1】
測定対象物の三次元点群位置データを取得する三次元点群位置データ取得部と、
前記三次元点群位置データ取得部が取得した前記三次元点群位置データの密度を変更する三次元点群位置データの密度変更部と、
前記密度変更部で密度が変更された前記三次元点群位置データから非面領域の点を除去する非面領域除去部と、
前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、
前記面ラベリング部によって区分けされた面に基づき三次元モデルを作成する三次元モデル作成部と
を備えることを特徴とする三次元点群位置データ処理装置。
【請求項2】
前記密度変更部における密度の変更が2以上の階層で行われることを特徴とする請求項1に記載の三次元点群位置データ処理装置。
【請求項3】
前記密度変更部は、前記三次元モデルの作成に要する時間に基づき前記階層の数を決定することを特徴とする請求項2に記載の三次元点群位置データ処理装置。
【請求項4】
前記三次元モデル作成部は、相対的に解像度の低い三次元モデルを作成した後に相対的に解像度の高い三次元モデルを作成することを特徴とする請求項1乃至3のいずれか一項に記載の三次元点群位置データ処理装置。
【請求項5】
前記三次元モデル作成部は、前記相対的に解像度の低い三次元モデルを作成した際に付与された前記同一ラベルの情報に基づき、前記相対的に解像度の高い三次元モデルの作成を行うことを特徴とする請求項4に記載の三次元点群位置データ処理装置。
【請求項6】
前記三次元モデルの画像を作成する三次元モデル画像作成部を更に備え、
前記三次元モデル画像作成部は、前記相対的に解像度の低い三次元モデルの画像を作成した後に、前記相対的に解像度の高い三次元モデルの画像の作成を行うことを特徴とする請求項1乃至5のいずれか一項に記載の三次元点群位置データ処理装置。
【請求項7】
前記相対的に解像度の低い三次元モデルの画像を作成した後に、前記相対的に解像度の高い三次元モデルの作成を中止させる指示を受け付ける受付部を備えることを特徴とする請求項6に記載の三次元点群位置データ処理装置。
【請求項8】
前記面ラベリング部によって区分けされた面同士の境界部分における三次元エッジを抽出する三次元エッジ抽出部と、
前記面ラベリング部によって区分けされた面内から二次元エッジを抽出する二次元エッジ抽出部と、
前記三次元エッジと前記二次元エッジを統合するエッジ統合部と
を備えることを特徴とする請求項1乃至7のいずれか一項に記載の三次元点群位置データ処理装置。
【請求項9】
隣接する面の間を繋ぐ境界領域面を形成する境界領域面形成部を更に備え、
前記三次元エッジ抽出部は、前記境界領域面に基づいて三次元エッジの抽出を行うことを特徴とする請求項8に記載の三次元点群位置データ処理装置。
【請求項10】
前記非面領域除去部は、複数の三次元点群位置データにより形成される局所面の平面へのフィッティング精度、曲率、他の局所面との共平面性の少なくとも一つに基づいて非面領域の除去を行うことを特徴とする請求項1乃至9のいずれか一項に記載の三次元点群位置データ処理装置。
【請求項11】
前記面ラベリング部によってラベルが付与されていない点に対して、最近傍面のラベルを付与し、前記ラベルを拡張するラベル拡張部をさらに備えることを特徴とする請求項1乃至10のいずれか一項に記載の三次元点群位置データ処理装置。
【請求項12】
測定対象物の三次元点群位置データを取得する三次元点群位置データ取得ステップと、
前記三次元点群位置データ取得ステップにおいて取得した前記三次元点群位置データの密度を変更する三次元点群位置データの密度変更ステップと、
前記密度変更ステップで密度が変更された前記三次元点群位置データから非面領域の点を除去する非面領域除去ステップと、
前記非面領域除去ステップにおいて除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリングステップと、
前記面ラベリングステップにおいて区分けされた面に基づき三次元モデルを作成する三次元モデル作成ステップと
を有することを特徴とする三次元点群位置データ処理方法。
【請求項13】
測定対象物の三次元点群位置データを取得する三次元点群位置データ取得手段と、
前記三次元点群位置データ取得手段が取得した前記三次元点群位置データの密度を変更する三次元点群位置データの密度変更手段と、
前記密度変更手段で密度が変更された前記三次元点群位置データから非面領域の点を除去する非面領域除去手段と、
前記非面領域除去手段によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング手段と、
前記面ラベリング手段によって区分けされた面に基づき三次元モデルを作成する三次元モデル作成手段と
を備えることを特徴とする三次元点群位置データ処理システム。
【請求項14】
コンピュータに読み取らせて実行させるプログラムであって、
コンピュータを
測定対象物の三次元点群位置データを取得する三次元点群位置データ取得部と、
前記三次元点群位置データ取得部が取得した前記三次元点群位置データの密度を変更する三次元点群位置データの密度変更部と、
前記密度変更部で密度が変更された前記三次元点群位置データから非面領域の点を除去する非面領域除去部と、
前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、
前記面ラベリング部によって区分けされた面に基づき三次元モデルを作成する三次元モデル作成部と
して機能させることを特徴とするプログラム。
【請求項1】
測定対象物の三次元点群位置データを取得する三次元点群位置データ取得部と、
前記三次元点群位置データ取得部が取得した前記三次元点群位置データの密度を変更する三次元点群位置データの密度変更部と、
前記密度変更部で密度が変更された前記三次元点群位置データから非面領域の点を除去する非面領域除去部と、
前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、
前記面ラベリング部によって区分けされた面に基づき三次元モデルを作成する三次元モデル作成部と
を備えることを特徴とする三次元点群位置データ処理装置。
【請求項2】
前記密度変更部における密度の変更が2以上の階層で行われることを特徴とする請求項1に記載の三次元点群位置データ処理装置。
【請求項3】
前記密度変更部は、前記三次元モデルの作成に要する時間に基づき前記階層の数を決定することを特徴とする請求項2に記載の三次元点群位置データ処理装置。
【請求項4】
前記三次元モデル作成部は、相対的に解像度の低い三次元モデルを作成した後に相対的に解像度の高い三次元モデルを作成することを特徴とする請求項1乃至3のいずれか一項に記載の三次元点群位置データ処理装置。
【請求項5】
前記三次元モデル作成部は、前記相対的に解像度の低い三次元モデルを作成した際に付与された前記同一ラベルの情報に基づき、前記相対的に解像度の高い三次元モデルの作成を行うことを特徴とする請求項4に記載の三次元点群位置データ処理装置。
【請求項6】
前記三次元モデルの画像を作成する三次元モデル画像作成部を更に備え、
前記三次元モデル画像作成部は、前記相対的に解像度の低い三次元モデルの画像を作成した後に、前記相対的に解像度の高い三次元モデルの画像の作成を行うことを特徴とする請求項1乃至5のいずれか一項に記載の三次元点群位置データ処理装置。
【請求項7】
前記相対的に解像度の低い三次元モデルの画像を作成した後に、前記相対的に解像度の高い三次元モデルの作成を中止させる指示を受け付ける受付部を備えることを特徴とする請求項6に記載の三次元点群位置データ処理装置。
【請求項8】
前記面ラベリング部によって区分けされた面同士の境界部分における三次元エッジを抽出する三次元エッジ抽出部と、
前記面ラベリング部によって区分けされた面内から二次元エッジを抽出する二次元エッジ抽出部と、
前記三次元エッジと前記二次元エッジを統合するエッジ統合部と
を備えることを特徴とする請求項1乃至7のいずれか一項に記載の三次元点群位置データ処理装置。
【請求項9】
隣接する面の間を繋ぐ境界領域面を形成する境界領域面形成部を更に備え、
前記三次元エッジ抽出部は、前記境界領域面に基づいて三次元エッジの抽出を行うことを特徴とする請求項8に記載の三次元点群位置データ処理装置。
【請求項10】
前記非面領域除去部は、複数の三次元点群位置データにより形成される局所面の平面へのフィッティング精度、曲率、他の局所面との共平面性の少なくとも一つに基づいて非面領域の除去を行うことを特徴とする請求項1乃至9のいずれか一項に記載の三次元点群位置データ処理装置。
【請求項11】
前記面ラベリング部によってラベルが付与されていない点に対して、最近傍面のラベルを付与し、前記ラベルを拡張するラベル拡張部をさらに備えることを特徴とする請求項1乃至10のいずれか一項に記載の三次元点群位置データ処理装置。
【請求項12】
測定対象物の三次元点群位置データを取得する三次元点群位置データ取得ステップと、
前記三次元点群位置データ取得ステップにおいて取得した前記三次元点群位置データの密度を変更する三次元点群位置データの密度変更ステップと、
前記密度変更ステップで密度が変更された前記三次元点群位置データから非面領域の点を除去する非面領域除去ステップと、
前記非面領域除去ステップにおいて除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリングステップと、
前記面ラベリングステップにおいて区分けされた面に基づき三次元モデルを作成する三次元モデル作成ステップと
を有することを特徴とする三次元点群位置データ処理方法。
【請求項13】
測定対象物の三次元点群位置データを取得する三次元点群位置データ取得手段と、
前記三次元点群位置データ取得手段が取得した前記三次元点群位置データの密度を変更する三次元点群位置データの密度変更手段と、
前記密度変更手段で密度が変更された前記三次元点群位置データから非面領域の点を除去する非面領域除去手段と、
前記非面領域除去手段によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング手段と、
前記面ラベリング手段によって区分けされた面に基づき三次元モデルを作成する三次元モデル作成手段と
を備えることを特徴とする三次元点群位置データ処理システム。
【請求項14】
コンピュータに読み取らせて実行させるプログラムであって、
コンピュータを
測定対象物の三次元点群位置データを取得する三次元点群位置データ取得部と、
前記三次元点群位置データ取得部が取得した前記三次元点群位置データの密度を変更する三次元点群位置データの密度変更部と、
前記密度変更部で密度が変更された前記三次元点群位置データから非面領域の点を除去する非面領域除去部と、
前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、
前記面ラベリング部によって区分けされた面に基づき三次元モデルを作成する三次元モデル作成部と
して機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−230594(P2012−230594A)
【公開日】平成24年11月22日(2012.11.22)
【国際特許分類】
【出願番号】特願2011−99207(P2011−99207)
【出願日】平成23年4月27日(2011.4.27)
【出願人】(000220343)株式会社トプコン (904)
【Fターム(参考)】
【公開日】平成24年11月22日(2012.11.22)
【国際特許分類】
【出願日】平成23年4月27日(2011.4.27)
【出願人】(000220343)株式会社トプコン (904)
【Fターム(参考)】
[ Back to top ]