1.第1の実施形態
以下、発明を利用した点群位置データ処理装置の一例について、図面を参照して説明する。なお以下の説明において、三次元点群位置データは、測定対象物の各測定点における三次元座標データを含んでいる。三次元座標を表示する座標系は、直交座標系または極座標系が採用される。画像データは、CCD等による撮影により得られた画像のデータ、または三次元点群位置データを取得する際に得られた各測定点からの反射光の強度、各測定点の色や濃度の情報に基づいて画素を構成した画像のデータのことをいう。
図1には、点群位置データ処理装置100が示されている。点群位置データ処理装置100は、パーソナルコンピュータ上においてソフトウェア的に構成されている。点群位置データ処理装置100をパーソナルコンピュータ上で構成するプログラムは、パーソナルコンピュータ中にインストールされている。なお、このプログラムは、サーバや適当な記録媒体に記録しておき、そこから提供される形態であってもよい。
利用されるパーソナルコンピュータは、キーボートやタッチパネルディスプレイ等の入力部、液晶ディスプレイ等の画像表示装置、入力部と表示部を統合したユーザインターフェースであるGUI(グラフィカル・ユーザ・インターフェース)機能部、CPUおよびその他専用の演算デバイス、半導体メモリ、ハードディスク記憶部、光ディスク等の記憶媒体との間で情報のやり取りを行えるディスク記憶装置駆動部、USBメモリ等の携帯型記憶媒体との間で情報のやり取りを行えるインターフェース部、無線通信や有線通信を行う通信インターフェース部を必要に応じて備えている。なお、パーソナルコンピュータとしては、ノート型、携帯型、卓上型等の形態が挙げられるが、その形態は限定されない。また、汎用のパーソナルコンピュータを利用する以外に、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などのPLD(Programmable Logic Device)等を用いて構成した専用のハードウェアによって点群位置データ処理装置100を構成することも可能である。
点群位置データ処理装置100には、点群位置データ取得装置101、画像取得装置102、GPS(Global Positioning System)装置103、画像表示装置104、操作入力装置105が接続されている。点群位置データ取得装置101は、後述するレーザースキャナである。点群位置データ取得装置101(レーザースキャナ)は、測定対象物にレーザ光を照射し、その反射光を検出することで三次元点群位置データを取得する。画像取得装置102は、CCDやCMOSイメージセンサを利用した撮影装置であり、三次元点群位置データの取得対象となる測定対象物の外観画像を撮影し、その画像データを取得する。点群位置データ取得装置101と画像取得装置102は、同じ方向に向くように一体化され、同一軸周りを回動可能とされている。
GPS装置103は、ナビゲーションシステム等に利用されている位置特定装置であり、GPS信号を受信し、それに基づいて位置データを取得する。GPS装置103も点群位置データ取得装置101と一体化されている。画像表示装置104は、点群位置データ処理装置100を構成するパーソナルコンピュータのディスプレイ(例えば、液晶ディスプレイ)である。操作入力装置105は、点群位置データ処理装置100を構成するパーソナルコンピュータの操作入力装置(キーボード、マウス入力装置等のポインティングデバイス)である。操作入力装置105は、画像表示装置104と連動して公知のGUI(Graphical User Interface)を利用しての点群位置データ処理装置100の操作が可能とされている。
点群位置データ処理装置100は、点群位置データ取得部111、画像データ取得部112、点群位置データ処理部113、オーバーラップ部分算出部114、対応点指定部115、座標演算部118、最適視点算出部121、表示制御部122を備えている。点群位置データ取得部111は、点群位置データ取得装置101から出力される三次元点群位置データを受け付け、それを点群位置データ取得装置100内に取り込む。画像データ取得部112は、画像取得装置102から出力される画像データを受け付け、点群位置データ取得装置100内に取り込む。
点群位置データ処理部113は、非面領域の算出、非面領域の除去、ラベリング処理、輪郭線等の特徴部分の算出、輪郭線により構成される三次元モデルの作成、およびこれらに関連した演算を行う。三次元モデルというのは、測定対象物の輪郭線を線図として表現した測定対象物の三次元構造を視覚化した画像である。輪郭線というのは、測定対象物の外観を視覚的に把握するために必要な、当該測定対象物の外形を形作っている線(outline)のことである。具体的には、折れ曲がった部分や急激に曲率が小さくなっている部分が輪郭線となる。輪郭線は、外側の輪郭の部分のみが対象となるとは限らず、凸状に飛び出している部分を特徴付ける縁の部分や、凹状に引っ込んでいる部分(例えば、溝構造の部分)を特徴づける縁の部分も対象となる。輪郭線により所謂線図が得られ、対象物の外観が把握し易い画像表示を行うことができる。なお、三次元モデルには、上述した線の情報だけではなく、測定対象物の外観を視覚的に把握する際の特徴部分となる点の情報も含まれる。点群位置データ処理部113の詳細については後述する。
オーバーラップ部分算出部114は、異なる2つの視点から見た測定対象物における重複させる部分として好適な部分を算出する。異なる2つの視点から同じ測定対象物の三次元点群位置データを取得した場合、この2つの三次元点群位置データを統合的に取り扱うためには、2つの三次元点群位置データの位置合わせが必要となる。2つの三次元点群位置データの位置合わせというのは、一方の三次元点群位置データの一つが他方の三次元点群位置データのどれに対応するかを特定する作業のことをいう。上述した2つの異なる視点から得た2つの三次元点群位置データの位置合わせを行う場合、その処理は2つの視点から見てオーバーラップする(重複する)部分で行われる。
ここで、このオーバーラップする部分が一様な状態で特徴点となる部分がない(あるいは少ない)部分である場合、上記の対応関係の特定が困難となる(あるいは誤差が大きくなる)。逆オーバーラップする部分にエッジ等の特徴点となる部分(つまり周囲から区別して識別し易い部分)があり、更にその数が多い場合、三次元点群位置データ同士の対応関係の特定がより容易となり、またその精度も高くなる。
したがって、異なる視点から得た2つの三次元点群位置データの位置合わせを行う場合、それに適したオーバーラップ部分が存在する。オーバーラップ部分算出部114は、この位置合わせにより適したオーバーラップ部分を算出する。この処理は、後述する図2の非面領域算出部201における演算を利用して行われる。以下、この点について簡単に説明する。非面領域算出部201では、三次元座標系上において、非面としてエッジ部分のような局所的に曲率が大きく変化している部分等の隣接する部分との非一様な状態が顕著な部分が算出される。この算出は、局所曲率、局所平面へのフィッティング精度、共平面性の算出結果に基づいて行われる。ここで、局所曲率、局所平面へのフィッティング精度、共平面性は、非面の程度、つまり周囲から識別し易い特徴部分としての程度を示すパラメータである。
オーバーラップ部分算出部114は、これらのパラメータの一または複数に閾値を設け、この閾値に基づいて、特徴部分として利用できる部分が否かを判定する。また、この判定に基となる当該パラメータの値と特徴部分の数(あるいはその総面積)の積を判定パラメータとして、それに基づき、オーバーラップ部分として利用するのに適している領域を算出する。例えば、視覚的に把握し易い形状部分は、特徴部分が高い密度で存在しているので、オーバーラップ部分算出部114において、好適なオーバーラップ部分として算出される。
対応点指定部115は、対応点受け付け部116と対応点算出部117を備えている。対応点受け付け部116は、画像表示装置104上に表示された第1の視点からの三次元モデル(または撮影画像)と第2の視点からの撮影画像を用いてのユーザのマニュアル操作によって行われる対応点の指定操作を受け付ける。この操作は、パーソナルコンピュータが備えたGUI機能を用いて行われる。対応点算出部117は、測定対象物のエッジ部分等の測定対象物を視認した際に特徴点として認識し易い部分を対応点として演算により検出する。この処理は、図2に示す後述の非面領域算出部201で行われる演算や後述するステレオマッチングを利用して行われる。
また、対応点算出部117は、ステレオマッチングにより、演算による対応点の自動検出を行うこともできる。この場合、第1の視点から得た測定対象物の画像データと第2の視点から得た測定対象物の画像データとを比較して、両者で一致する特徴の部分が対応点として算出される。ステレオマッチングの詳細については後述する。
座標演算部118は、三次元位置算出部119および点群位置データ位置合わせ部120を備えている。三次元位置算出部119は、第1の視点において取得した測定対象物の三次元点群位置データと、第1の視点とは異なる第2の視点において撮影により得た測定対象物の画像データとの対応関係を求める演算、およびこの演算の結果に基づく、第1の視点から得た三次元点群位置データを取り扱う座標系(第1の視点から測定対象物を見た場合に用いられる座標系)の上における第2の視点の位置座標を算出する処理を行う。この処理の結果を利用することで、第1の視点において得た三次元点群位置データを第2の視点から測定対象物を見た向きの座標系で取り扱うことができる。上記の対応関係を求める手法には、後述するように、「単写真標定」、「相互標定」、「絶対標定」が挙げられる。点群位置データ位置合わせ部120は、上記の三次元位置算出部119での演算の結果を利用して、第1の視点において取得した三次元点群位置データと第2の視点において取得した三次元点群位置データとの位置合わせに係る処理を行う。この際、この位置合わせ処理が、オーバーラップ部分算出部114が算出したオーバーラップ部分を含む領域で行われる。この位置合わせが行われることで、第1の視点から得た三次元点群位置データと第2の視点から得た三次元点群位置データとの対応関係が明らかとなり、これら2つの三次元点群位置データを統合的に取り扱うことが可能となる。
最適視点算出部121は、オーバーラップ部分算出部114が算出したオーバーラップ部から最も効率よく三次元点群位置データを取得できる視点の位置を算出する。この算出では、オーバーラップ部分算出部114が算出したオーバーラップ部の見かけ上の面積が最大となる視点、つまり当該オーバーラップ部を正面から見る視点を最適な視点として算出する。この処理では、当該オーバーラップ部の法線ベクトルの延長線上で、第1の視点から当該オーバーラップ部までの距離と同じ距離の位置を新視点として算出する。なお、オーバーラップ部分算出部114が算出したオーバーラップ部が曲面の場合、中心部の法線ベクトルの延長線上で上記第2の視点が求められる。
表示制御部122は、画像表示装置104に測定対象物の撮影画像や三次元モデルを表示するための制御を行う。特に表示制御部122は、後述する図5、図6、図8に係る画像表示を画像表示装置104上で行う制御を行う。
(点群位置データ処理部113)
以下、図1の点群位置データ処理部113の機能について説明する。図2には、点群位置データ処理部113のブロック図が示されている。点群位置データ処理部113は、非面領域算出部201、非面領域除去部202、面ラベリング部203、輪郭線算出部204を備えている。以下、これら各機能部について説明する。非面領域算出部201は、局所領域を取得する局所領域取得部201a、局所領域の法線ベクトルを算出する法線ベクトル算出部201b、局所領域の局所曲率を算出する局所曲率算出部201c、局所領域にフィッティングする局所平面を算出する局所平面算出部201dを備えている。
局所領域取得部201aは、三次元点群位置データに基づき、注目点を中心とした一辺が3〜7画素程度の正方領域(格子状の領域)を局所領域として取得する。法線ベクトル算出部201bは、局所領域取得部201aが取得した上記の局所領域における各点の法線ベクトルの算出を行う。この法線ベクトルを算出する処理では、局所領域における三次元点群位置データに着目し、各点の法線ベクトルを算出する。この処理は、全ての三次元点群位置データを対象として行われる。すなわち、三次元点群位置データが無数の局所領域に区分けされ、各局所領域において各点の法線ベクトルの算出が行われる。
局所曲率算出部201cは、上述した局所領域内の法線ベクトルのバラツキ(局所曲率)を算出する。ここでは、着目している局所領域において、各法線ベクトルの3軸成分の強度値(NVx, NVy, NVz)の平均(mNVx,mNVy,mNVz)を求め、さらに標準偏差(StdNVx,StdNVy,StdNVz)を求める。次に、標準偏差の二乗和の平方根を局所曲率(Local Curveture:crv)として算出する。
局所平面算出部201dは、局所領域にフィッティング(近似)する局所平面を求める。この処理では、着目している局所領域の各点の三次元座標から局所平面の方程式を求める。局所平面は、着目している局所領域にフィッティングさせた平面である。ここでは、最小二乗法を用いて、当該局所領域にフィッティングする局所平面の面の方程式を算出する。具体的には、複数の異なる平面方程式を求め、更にそれらを比較し、当該局所領域にフィッティングする局所平面の面の方程式を算出する。仮に、着目している局所領域が平面であれば、局所平面と局所領域とは一致する。以上の処理を、局所領域を順次ずらしながら、全ての三次元点群位置データが対象となるように繰り返し行い、各局所領域における法線ベクトル、局所平面、局所曲率を得る。
非面領域除去部202は、上で求めた各局所領域における法線ベクトル、局所平面、局所曲率に基づいて、非面領域の点を除去する処理を行う。すなわち、面(平面および曲面)を抽出するために、予め面でないと判断できる部分(非面領域)を除去する。なお、非面領域とは、平面でも曲面でもない領域であるが、下記の(1)〜(3)の閾値によっては曲率の高い曲面を含む場合がある。
非面領域除去部202は、点群位置データ取得部111が取得した三次元点群位置データの中から、算出した非面領域の三次元点群位置データを除去する。非面領域除去の処理は、以下に示す3つの方法のうち、少なくとも一つを用いて行うことができる。ここでは、下記の(1)〜(3)の方法による判定を上述した局所領域の全てに対して行い、1以上の方法において非面領域と判定された局所領域を、非面領域を構成する局所領域として抽出する。そして、抽出された非面領域を構成する点に係る三次元点群位置データを除去する。
(1)局所曲率の高い部分:上述した局所曲率を予め設定しておいた閾値と比較し、閾値を超える局所曲率の局所領域を非面領域と判定する。局所曲率は、注目点とその周辺点における法線ベクトルのバラツキを表しているので、面(平面および曲率の小さい曲面)ではその値が小さく、面以外(非面)ではその値は大きくなる。したがって、予め決めた閾値よりも局所曲率が大きければ、当該局所領域を非面領域と判定する。
(2)局所平面へのフィッティング精度:局所領域の各点と対応する局所平面との距離を計算し、これらの距離の平均が予め設定した閾値よりも大きい場合、当該局所領域を非面領域と判定する。すなわち、局所領域が平面から乖離した状態であると、その程度が激しい程、当該局所領域の各点と対応する局所平面との距離は大きくなる。このことを利用して当該局所領域の非面の程度が判定される。
(3)共平面性のチェック:ここでは、隣接する局所領域において、対応する局所平面同士の向きを比較する。この局所平面の向きの違いが閾値を超えている場合、比較の対象となった局所領域が非面領域に属していると判定する。具体的には、対象となる2つの局所領域のそれぞれにフィッティングする2つの局所平面の法線ベクトルと、その中心点間を結ぶベクトルとの内積が0であれば、両局所平面が同一平面上に存在すると判定される。また、上記内積が大きくなる程、2つの局所平面が同一面上にない程度がより顕著であると判定される。
上記の(1)〜(3)の方法による判定において、1以上の方法において非面領域と判定された局所領域を、非面領域を構成する局所領域として抽出する。そして、この抽出された局所領域を構成する点に係る三次元点群位置データを算出対象としている三次元点群位置データから除去する。以上のようにして、非面領域の除去が行われる。なお、除去された三次元点群位置データは、後の処理で利用する可能性があるので、適当な記憶領域に格納するなり、除去されなかった三次元点群位置データと識別できる状態とするなどして、後で利用できる状態にしておく。
次に面ラベリング部203の機能について説明する。面ラベリング部203は、非面領域の三次元点群位置データが除去された三次元点群位置データに対して、法線ベクトルの連続性に基づいて面ラベリングを行う。具体的には、特定の注目点と隣接点の法線ベクトルの角度差が予め決めた閾値以下なら、それらの点に同一ラベルを貼る。この作業を繰り返すことで、連続する平面、連続する緩やかな曲面に同一ラベルが貼られ、それらを一つの面として識別可能となる。また、面ラベリングの後、法線ベクトルの角度差や法線ベクトルの3軸成分の標準偏差を用いて、ラベル(面)が平面であるか、または曲率の小さい曲面であるかを判定し、その旨を識別する識別データを各ラベルに関連付ける。
続いて、面積の小さいラベル(面)をノイズとして除去する。なお、このノイズ除去は、面ラベリングの処理と同時に行ってもよい。この場合、面ラベリングを行いながら、同一ラベルの点数(ラベルを構成する点の数)を数え、所定以下の点の数であるラベルを取り消す処理を行う。次に、この時点でラベルが無い点に対して、最近傍面(最も近い面)と同一のラベルを付与していく。これにより、既にラベリングされた面の拡張を行う。
すなわち、ラベルの付いた面の方程式を求め、当該面とラベルが無い点との距離を求める。ラベルが無い点の周辺に複数のラベル(面)がある場合には、その距離が最も短いラベルを選択する。そして、依然としてラベルが無い点が残存している場合には、非面領域除去、ノイズ除去、およびラベル拡張における各閾値を変更し、再度関連する処理を行う。例えば、非面領域除去において、局所曲率の閾値を上げることで、非面として抽出する点の数が少なくなるようにする。または、ラベル拡張において、ラベルの無い点と最近傍面との距離の閾値を上げることで、ラベルの無い点に対してより多くのラベルを付与するようにする。
次に、ラベルが異なる面であっても同一面である場合にラベルを統合する。この場合、連続しない面であっても、位置または向きが等しい面同士に同じラベルを付ける。具体的には、各面の法線ベクトルの位置および向きを比較することで、連続しない同一面を抽出し、いずれかの面のラベルに統一する。以上が面ラベリング部203の機能である。
この面ラベリング部203の機能によれば、扱うデータ量を圧縮できるので、三次元点群位置データの処理を高速化できる。また必要なメモリ量を節約できる。また、測定中に紛れ込んだ通行人や通過した車両の三次元点群位置データをノイズとして除去することができる。
輪郭線算出部204は、隣接する面の三次元点群位置データに基づき、輪郭線を算出(推定)する。以下、具体的な算出方法について説明する。輪郭線算出部204は、間に非面領域を挟む隣接する面同士の交線を求め、それを輪郭線とする処理を行う。この際、隣接する面の間の非面領域に局所平面をフィッティングさせ、この局所平面を複数繋ぐことで、非面領域を複数の局所平面によって近似する方法を採用することもできる。これは、複数の局所平面により構成される多面体で非面領域を近似したものと捉えることができる。この場合、隣接する面から局所平面をつないでゆき、最後に隣接した局所平面同士の交線を輪郭線として算出する。輪郭線が算出されることで、測定対象物の輪郭の画像が明確となる。
次に、二次元エッジ算出部205について説明する。以下、二次元エッジ算出部205で行われる処理の一例を説明する。まず、対象物からの反射光の強度分布に基づいて、ラプラシアン、プリューウィット、ソーベル、キャニーなどの公知のエッジ抽出オペレータを用いて、セグメント化(区分け)された面に対応する二次元画像の領域内からエッジを抽出する。すなわち、二次元エッジは、面内の濃淡の違いにより認識されるので、この濃淡の違いを反射光の強度の情報から抽出し、その抽出条件に閾値を設けることで、濃淡の境目をエッジとして抽出する。次に、抽出されたエッジを構成する点の三次元座標の高さ(z値)と、その近傍の輪郭線(三次元エッジ)を構成する点の三次元座標の高さ(z値)とを比較し、この差が所定の閾値以内の場合には、当該エッジを二次元エッジとして抽出する。すなわち、二次元画像上で抽出されたエッジを構成する点が、セグメント化された面上にあるか否かを判定し、面上にあると判定された場合にそれを二次元エッジとする。
二次元エッジの算出後、輪郭線算出部204が算出した輪郭線と二次元エッジ算出部205が算出した二次元エッジとを統合する。この処理はエッジ統合部206において行われる。これにより、三次元点群位置データに基づくエッジの抽出が行われる。このエッジの抽出により、測定対象物を視認する際における測定対象物の外観を構成する線(輪郭線)が抽出される。そして得られたエッジの情報に基づいて、三次元モデル形成部207において、測定対象物の三次元モデル(線図の画像)の形成を行う。以下、三次元モデルの具体的な一例を説明する。例えば、測定対象物として建物を選択し、この建物の三次元点群位置データに基づいて、三次元モデルを得た場合を説明する。この場合、当該建物の外観、外壁の模様、窓枠等の輪郭を線図で表した三次元モデルが得られる。
座標演算部118において、第1の視点から測定対象物を見た場合の座標上における第2の視点の位置が算出されている場合、第1の視点において取得された三次元点群位置データに基づく三次元モデルを第2の視点から見た向きに回転させることができる。また、この状態において、新たに第2の視点において測定対象物の三次元点群位置データを取得し、その位置合わせを行うと、これら2つの視点において得られた三次元点群位置データを統合的に取り扱うことが可能となり、2つの視点から得た三次元点群位置データに基づく三次元モデルが得られる。この場合、同じ座標位置で三次元点群位置データが重複する部分は、いずれか一方の視点から得られた三次元点群位置データに基づいて、上述した処理が行われる。そして、一方の視点からはオクルージョンとなり、他方の視点からはオクルージョンとならない部分は、他方の視点から得た三次元点群位置データを利用して上述した処理が行われる。よって例えば、第1の視点からはオクルージョンとなる部分の三次元点群位置データを、第2の視点から得た三次元点群位置データによって補完した三次元モデルを形成することができる。この2つの視点から得た三次元点群位置データを統合的に取り扱うことで行われる三次元モデルの形成も三次元モデル形成部207において行われる。
(オーバーラップ部分算出部114)
次に、図1のオーバーラップ部分算出部114について説明する。上述したように、図2の非面領域算出部201において、非面領域が算出される。非面領域は、エッジ等の周囲から識別し易い領域であり、その非面の程度(つまり、局所曲率が高い、局所平面へのフィッティング精度が悪い、共平面性の程度が低い)が大きい程、特徴部分としての属性を備えている領域である。そこで、オーバーラップ部分算出部114は、非面領域算出部201において算出された、局所曲率、局所平面へのフィッティング精度、共平面性に基づいて、三次元点群位置データの位置合わせに適した特徴部分を含んだオーバーラップ部の算出を行う。
図3には、オーバーラップ部分算出部114における処理の一例が示されている。処理が開始されると(ステップS401)、非面領域算出部201における演算の内容が利用され、特徴部分の抽出が行われる(ステップS402)。ステップS402における処理は以下のようにして行われる。まず、図2の非面領域算出部201において算出される局所曲率、局所平面へのフィッティング精度、共平面性のそれぞれに閾値を設ける。そして、これら3つのパラメータをこの閾値によって判定し、それらの少なくとも一つが当該閾値による判定条件を満たした場合に、その非面領域を特徴部分として抽出する。
次に、ステップS402において取得した特徴部分を含み、予め決められた面積以上の領域をオーバーラップさせるのに好適な部分の候補として取得する(ステップS403)。次いで、特徴部分の特徴の程度を上述した局所曲率、局所平面へのフィッティング精度、共平面性によって数値化し、予め定めておいた閾値と比較し、ステップS403で取得した領域の特徴の程度を判定する(ステップS404)。ここで、ステップS403で取得した領域が、オーバーラップ好適部分としての条件を備えていないと判定された場合、ステップ404からステップS403に戻り、再度新たな領域が候補として取得される。
ステップS404において、ステップS403で取得した領域が、オーバーラップ好適部分としての条件を備えていると判定された場合、その部分をオーバーラップ好適部分として取得し(ステップS405)、処理を終了する(S406)。
(座標演算部118)
次に、図1の座標演算部118について説明する。ここでは、図4の状況を例に挙げ、座標演算部118の機能について説明する。まず、図4について説明する。図4には、第1の設置位置(第1の視点)132に三次元レーザースキャナ131を設置した状態が示されている。三次元レーザースキャナ131は、図1の点群位置データ取得装置101と画像取得装置102とを備えた構成を有している。ここで、点群位置データ取得装置101と画像取得装置102とは、同じ方向を向くように配置され、測定対象物の三次元点群位置データと画像とを取得できる構成とされている。三次元レーザースキャナ131には、パーソナルコンピュータ130が接続されている。パーソナルコンピュータ130は、図1の点群位置データ処理装置100、画像表示装置104および操作入力装置105として機能する。
図4には、測定対象物の一例として室内の風景が示されている。簡単に説明すると、正面に、手前方向に凸状に突出した柱41があり、その両サイドの壁面に備え付けのクローゼット42、43が配置されたレイアウトとされている。ここで、符号133は、第2の視点となる三次元レーザースキャナ131の第2の設置位置である。図4には、第1の設置位置132に三次元レーザースキャナ131を設置して、図示する測定対象物(室内の状態)の三次元点群位置データと画像データとを取得し、次いで、三次元レーザースキャナ131を第2の設置位置133に移動させて、次の処理を行う状況が概念的に示されている。
図4に示す状況において、座標演算部118に含まれる三次元位置算出部119は、まず三次元レーザースキャナ131を第1の設置位置132(第1の視点)に設置した場合に取得された測定対象物(図示する室内の様子)の三次元点群位置データと、三次元レーザースキャナ131を第2の設置位置133(第2の視点)に設置して撮影を行うことで得た画像データとの対応関係(相関関係)を求める。更に、三次元位置算出部119は、上記の対応関係に基づき、第1の設置位置132の座標系(第1の視点で得た三次元点群位置データを取り扱うための座標系)における第2の設置位置133の三次元座標の値を算出する。
上記の対応関係も求める方法として、「単写真標定」、「相互標定」、「絶対標定」、が挙げられる。これらの方法は、その一つを用いても良いし、複数を組み合わせて用いても良い。上記の対応関係を求める処理は、第1の設置位置(第1の視点)132から測定対象物を見た場合に得られる測定対象物の三次元点群位置データを取り扱うのに利用される座標系(第1の座標系)(X、Y、Z)と、第2の設置位置(第2の視点)133から測定対象物を見た場合に得られる測定対象物の三次元点群位置データを取り扱うのに利用される座標系(第2の座標系)(x、y、z)との対応関係を明らかにする処理と捉えることができる。
この処理では、まず第1の視点において得られた三次元点群位置データに基づく三次元モデルと第2の視点において前記画像データ取得部112で取得された画像データを用いて、両画像の対応する部分(対応点)の指定が行われる。次いで、この対応点を足がかりとして、上記標定を用いての両座標系の対応関係の特定が行われる。
ところで、上述した標定を行う場合、各視点の位置が各座標系の原点となる。従って、第1の視点から得た三次元モデルと第2の視点から得た撮影画像との対応点を指定し、上述した標定により、両画像の対応点の間の対応関係を求めることで、第1の視点の座標系(第1の視点で得た三次元点群位置データを取り扱うための座標系)における第2の視点の三次元座標を知ることができる。
通常、第2の視点から得た画像データは、点群位置データ取得部111で第2の視点からの三次元点群位置データを取得しないかぎりは、三次元点群位置データと組み付けされない。しかしながら、上記の方法のように、対応点を指定しての標定を用い、第1の視点からの三次元点群位置データに関連付けされた第2の視点の三次元座標(第2の視点の位置)を求める場合、第2の視点から得た三次元点群位置データが必ずしも取得されている必要はない。
また、同様の処理を第1の視点において得た画像データと第2の視点において得た画像データに基づき行うこともできる。この場合、まず第1の視点において画像データ取得部112で取得された画像データと、第2の視点において前記画像データ取得部112で取得された画像データとを用いて、両画像の対応する部分(対応点)の指定が行われる。次いで、この対応点を足がかりとして、上記標定を用いての両座標系の対応関係の特定が行われる。
ここで、既に取得されている第1の視点において画像取得装置102から得た画像データは、第1の視点において点群位置データ取得部111で取得された三次元点群位置データとその位置関係が組み付けされている。したがって、第1の視点からの画像データと第2の視点からの画像データとの間の対応点を指定することで、第2の視点における対応点と第1の視点から得た三次元点群位置データとの関係は簡単に分かる。そして標定を行うことで、第1の視点から得た三次元点群位置データを記述する座標系における第2の視点の三次元位置座標の算出が可能となる。以下に、各種の標定および2つの画像を比較しての特徴点の自動抽出を行う方法であるステレオマッチングについて説明する。
(単写真標定)
単写真標定とは、1枚の写真の中に写された基準点に成り立つ共線条件を用いて、写真を撮影したカメラの位置(X0、Y0、Z0)およびカメラの傾き(ω,φ,κ)を求め、写真座標x、yと地上座標X、Y、Zの間の関係を求める技術である。共線条件とは、投影中心、写真像および地上の対象物が一直線上にあるという条件である。また、カメラの位置(X0、Y0、Z0)とカメラの傾き(ω、φ、κ)は外部標定要素と呼ばれる。
ここでは、単写真標定の原理を用いて、第1の設置位置132(第1の視点)から測定対象物を見た場合の第1の座標系と、第2の設置位置133(第2の視点)から測定対象物を見た場合の第2の座標系との関係を求める方法を説明する。この場合、第1の設置位置において測定対象物の三次元点群位置データが取得されている状態で、第2の設置位置133から三次元レーザースキャナ131が備えている画像取得装置102(CCDカメラ)による画像の取得を行い、その上で以下の演算を行う。
まず、第1の座標系をX、Y、Z、第2の座標系をx、y、z、とし、第2の設置位置133において、画像取得装置102で撮影を行ったものとする。ここで、第1の設置位置132において得られた三次元点群位置データおよび第2の設置位置133から撮影した撮影画像の中から共通する4点を対応点として指定する。この4点は、2つの座標系の対応関係を求める足掛かりとなる共通座標点であり、測定対象物の中から特徴点となる部分が選択される。この4点の選択を行う方法は、マニュアル操作によって行う方法や、対象物のエッジや角部分等の特徴点として把握し易い部分をソフトウェア的に自動抽出する方法、あるいはこの自動抽出された中から更にユーザがマニュアルで選択する方法が利用される。なお、単写真標定を用いた場合の対応点の指定は、5点以上であってもよいが、最低4点を指定することで、2つの座標系の対応関係を求めることができる。
そして、4点の画面座標値と対応する基準点の3次元座標を数1に示す2次の射影変換式に代入し、観測方程式を立ててパラメ−タb1〜b8を求める。ここで、4点の画面座標値は、第2の設置位置133から撮影した撮影画像の中から指定された4点の対応点の画面中における座標の位置である。対応する基準点の3次元座標というのは、第1の設置位置132において得られた三次元点群位置データから得られる上記指定された4つの対応点の三次元座標の値である。
数1のパラメータb1〜b8を用いて、下記の数2から外部標定要素(X0、Y0、Z0)を求める。
次に、単写真標定の原理より、(X,Y,Z)に対応する、傾いた画像取得装置102の座標系(xp、yp、zp)を以下の数3から求める。数3では、数2で求まった画像取装置の傾き(ω、φ、κ)を代入し、回転行列の計算をして、パラメータa11〜a33を求める。
求まったパラメータa11〜a33と数2で求まったカメラの位置(X0、Y0、Z0)、および(X,Y,Z)を、投影中心、写真像および対象物が一直線上にあるという以下の数4の共線条件式に代入し、座標(x、y)を求める。ここで、cは画面距離(焦点距離)、a11〜a33は、3×3回転行列の要素として現される画像取得装置102の傾きであり、Δx、Δyは、画像取得装置102内部の標定補正項である。
こうして、図4の第1の設置位置(第1の視点)132から測定対象物を見た場合の座標系(第1の座標系)(X、Y、Z)と、第2の設置位置(第2の視点)133から測定対象物を見た場合の座標系(第2の座標系)(x、y、z)との対応関係が算出される。この対応関係が算出されることで、第1の座標系(XYZ)における第2の視点の位置を特定することが可能となる。なお、上記の算出方法では、zとZの関係を求めていないが、第1の設置位置132と第2の設置位置133とが水平面内における位置の違いである場合、z=Zであるので、上記の方法で問題は生じない。
(相互標定)
相互標定は、画像中の6点以上の対応点により、第1の視点から見た測定対象物を記述する第1の座標系と、第2の視点から見た測定対象物を記述する第2の座標系との関係を求める技術である。図9は相互標定の原理を説明する概念図である。ここでは、第1の視点からの撮影(左側のカメラによる撮影)によって得られる画像の座標系(第1の座標系)と、第2の視点からの撮影(右側のカメラによる撮影)によって得られる画像の座標系(第2の座標系)との関係を求める場合を例に上げ、相互標定の手順について説明する。相互標定では、以下の共面条件式により各パラメータを求める。
図9に示すように、モデル座標系の原点を左側の投影中心O1にとり、右側の投影中心O2を結ぶ線をX軸にとるようにする。縮尺は、基線長を単位長さにとる。このとき求めるパラメータは、左側のカメラのZ軸の回転角κ1、Y軸の回転角φ1、右側のカメラのZ軸の回転角κ2、Y軸の回転角φ2、X軸の回転角ω2の5つの回転角となる。この場合、左側のカメラのX軸の回転角ω1は0なので、考慮する必要はない。このような条件にすると、数5の共面条件式は数6式のようになり、この式を解けば各パラメータが求まる。
ここで、モデル座標系XYZとカメラ座標系xyzの間には、次に示すような座標変換の関係式が成り立つ。
これらの式を用いて、次の手順により、未知パラメータを求める。
(1)初期近似値は通常0とする。
(2)数6の共面条件式を近似値のまわりにテーラー展開し、線形化したときの微分係数の値を数7、数8式により求め、観測方程式をたてる。
(3)最小二乗法をあてはめ、近似値に対する補正量を求める。
(4)近似値を補正する。
(5)補正された近似値を用いて、(2)〜(5)までの操作を収束するまで繰り返す。
上述した方法で未知パラメータを求めることで、第1の座標系(X1、Y1、Z1)と第2の座標系(X2、Y2、Z2)との対応関係が求まる。そして、この対応関係が算出されることで、第1の座標系における第2の視点の位置を特定することが可能となる。また、相互標定でモデル空間(ローカル空間)を作成した後、絶対標定を用いて地上座標系(絶対座標系)に変換することで、地上座標系上で第2の視点の位置を記述することができる。
(絶対標定)
絶対標定は、モデル座標系を地上座標系(絶対座標系)に変換する方法である。絶対標定を用いた場合、第1の座標系を地上座標系に関連付け、他方で第2の座標系を地上座標系に関連付け、地上座標系を介して第1の座標系と第2の座標系の対応関係が取得される。まず、モデル座標系(XM、YM、ZM)を地上座標系(X、Y、Z)に変換する。ここで、縮尺をs、3軸回りの回転をω、φ、κ、平行移動量を(X0、Y0、Z0)とすると、数9の関係式が得られる。
次に、ω、φが小さいとして、未知変量(s、ω、φ、κ、X0、Y0、Z0)を求める。まず、ヘルマート変換により平面座標の調整を行う。平面座標に限定すると、下記数10が成り立つ。なお、下記数10において、cosκ=(a/s)、sinκ=(−b/s)である。
上記数10において、最小二乗法により、係数a、b、X0、Y0を決定する。次に、縮尺の統一を行う。この場合、下記数11が成り立つ。
次に、高さの調整を行う。この場合、下記数12が成り立つ。
数12において、最小二乗法により、ω、φ、Z0を求める。そして求めた未知変量を用いて、モデル座標を下記数13により修正する。
以上の処理を未知変量が収束するまで繰り返し、モデル座標系(XM、YM、ZM)と地上座標系(X、Y,Z)との対応関係を求める。そして、モデル座標系として第1の視点からの第1の座標系と第2の視点からの第2の座標系を選択することで、地上座標系を介した第1の座標系と第2の座標系との対応関係が明らかになる。あるいは、2つ視点からの画像や2つの視点からの三次元点群位置データを共通の座標である地上座標系で取り扱うことができる。絶対標定を用いる場合、理論的には、3点の対応点を指定することで、標定が行われるが、例えば同じ高さ位置で異なる2つ視点からの座標系を問題とする場合のように、座標系を変えても一つの軸上の位置が同じであるので、標定に必要な対応点は2点であればよい。
(ステレオマッチング)
ステレオマッチング法は、2つの座標系における画像の座標データを相互に比較し、両者の相関関係により、2つの画像の対応関係を求める方法である。ステレオマッチングでは、2つの視点それぞれから見た画像の特徴点の対応関係が求まり、対応点の自動抽出が可能となる。図10は、ステレオマッチングの原理を説明する原理図である。この方法では、図示するように、N1×N1画素のテンプレート画像を、それよりも大きいM1×M1画素の入力画像内の探索範囲(M1−N1+1)2上で動かし、下記数14で示される相互相関関数C(a,b)が最大となるような(つまり相関の程度が最大となるような)テンプレート画像の左上位置を求める。
ステレオマッチングを用いることで、比較する2つの画像の座標系の対応関係を知ることができる。この方法では、2つ画像の相関関係が最大となるように両者の相対的な位置関係が定められる。2つの画像の相関関係は、両画像の特徴点によって決まる(特徴のない部分を比べても相関関係は決まり難い)。したがって、スレレオマッチングを用いることで、2つの画像の対応点の抽出が可能となる。すなわち、ステレオマッチングを用いた場合、対応点をマニュアルで指定しなくても、異なる2つ視点から得た画像データに基づいた対応点の検出(自動検出)が行える。ただし、2つの視点の位置および対象物の関係から上手く演算できない場合もある。
(動作例1)
以下、図4の状況を一例として挙げ、図1に示す点群位置データ処理装置100の動作の一例を説明する。図5(A)には、図4の第1の設置位置132(第1の視点)において、測定対象物の三次元点群位置データと画像撮影による画像データとを取得し、次いで第2の設置位置133(第2の視点)にレーザースキャナ131を設置し、そこで撮影を行うことで画像データを取得した状態におけるパーソナルコンピュータ130の液晶ディスプレイ上における画面表示の一例が示されている。
図5には、パーソナルコンピュータ130の液晶ディスプレイ上に左右に並んで2つの画面が表示されたGUI画面の様子が示されている。図5(A)には、左側に第1の設置位置132において取得した三次元点群位置データに基づく、第1の設置位置132から見た測定対象物の三次元モデル(線図)が表示され、右側に第2の設置位置133から撮影した画像(Live画像)が表示された画面の様子が示されている。
図5(A)に示すようにこのGUI画面上には、GUIのスイッチとして機能する表示ボタンが複数表示されている。ここで、「オーバーラップ部分算出」と表示された表示ボタンをクリックすると、図3の処理が実行される。これにより、図5の左側に表示された第1の設置位置132において得られた三次元点群位置データに基づく三次元モデルの表示画面中に、右側に表示された第2の設置位置133から撮影した画像との間でオーバーラップさせるのに適した部分が表示される。この様子が図5(B)に示されている。
ここでは、オーバーラップに適した程度に応じて、段階的にオーバーラップに適した部分を強調表示した例が示されている。すなわち、最もオーバーラップに適した部分が柱の部分であり、次にオーバーラップに適した部分が備え付けのクローゼットの部分(クローゼットの縁の部分)である旨が視覚的に判別しやすいように、強調表示を変えた状態で画面表示されている例が示されている。この段階的な表示は、図示する2段階に限定されず、3段階以上であってもよい。なお、柱の部分がオーバーラップに適した部分として算出されたのは、上下に延在する縁の部分が明確なエッジ部分(特徴点が上下に連続した線として把握できる部分)として判定されたからである。
図5(B)の左側の画面を見て、ユーザがマニュアルでオーバーラップ部分を指定する。この指定は、パーソナルコンピュータ130が備えたGUIの機能を利用して実行される。ユーザによるオーバーラップ部分の指定が行われると、図5(C)に示すように、指定された部分が強調表示される。図5(C)では、柱の部分がオーバーラップ部分として指定された状態が示されている。
図5(C)に示すようにオーバーラップさせるのに適した部分が指定された後に、画面中の「対応点算出」の表示ボタンをクリックすると、標定に用いる対応点に相応しい点が算出される。この状態が図6(A)に示されている。この対応点を算出する方法として、特徴点として適した点を局所曲率、局所平面へのフィッティング精度、共平面性の一または複数に基づいて算出する方法、上述したステレオマッチングを用いる方法等が採用できる。なお、特徴点は、指定されたオーバーラップに適した部分以外の場所から選択することも可能である。また、対応点をマニュアルで指定することも可能である。
図6(A)に示す画面表示の状態において、「新視点三次元モデル作成」表示ボタンをクリックすると、第1の設置位置から見た座標系(第1の設置位置において得た三次元点群位置データを記述する座標系)における第2の設置位置133の座標が算出され、それに基づき、第1の設置位置132において得た三次元点群位置データに基づく三次元モデルを第2の設置位置133を視点して見た向きに回転させる処理が行われる。この際の画面表示の一例が図6(B)に示されている。図6(B)には、第1の設置位置132(第1の視点)では、オクルージョンとなる部分(三次元点群位置データが取得できずに影となる部分)が強調表示されている。
また、図5(C)または図6(A)に示す画面表示において、「新視点ガイド」のボタン表示をクリックすると、オーバーラップさせる部分の三次元点群位置データを取得するのに適した新たな視点から見た三次元モデルが表示される。この際の画面表示の一例が図6(C)に示されている。この場合、オーバーラップさせるのに適した部分の三次元点群位置データを取得するのに最適な視点は、オーバーラップさせる部分を正面から見た視点として算出される。したがって、図6(C)で示される新たな視点は、図4における第2の視点である第2の設置位置133と必ずしも一致しない。
この場合、ユーザは、図6(B)の画面表示を参考にして、第1の設置位置132において発生するオクルージョンが解消される新たな視点の位置の見当を付け、他方において、図6(C)の画面表示を参考にして、既に得られている第1の設置位置132において得ている三次元点群位置データとの位置合わせがより容易に行われる三次元点群位置データが得られる新たな視点の位置の見当を付ける。つまり、ユーザは、図6(B)と図6(C)の画面を参考にすることで、オクルージョンの解消と三次元点群位置データ同士の位置合わせの処理効率とのバランスを考慮した新たな視点を設定する。
図5および図6では、既に三次元点群位置データを得ている視点からの三次元モデルを表示し、その表示画面上でオーバーラップに適した部分の表示や対応点の表示を行なう場合が例示されているが、左側に表示される画像として、第1の設置位置132から撮影した画像や、そこで得た三次元点群位置データから得た点群画像を利用することも可能である。また、撮影した画像と三次元モデルを組み合わせた表示を利用することも可能である。
また、図6(C)には、オーバーラップさせる部分の三次元点群位置データを取得するのに適した新たな視点を示す画面表示として、当該新視点から見た三次元モデルが表示される例が示されているが、図8に示すように三次元的な空間の中で、オーバーラップさせる部分の三次元点群位置データを取得するのに適した新たな視点の位置を画面表示させることも可能である。この場合、一部オクルージョンの部分があるといえ、三次元モデル図が既に得られているので、新たな視点の位置を分かり易く画面表示することができる。
(動作例2)
以下、上述した「動作1」と重複する部分があるが、2つの視点から見た座標系の関係を算出し、それに基づき第1の視点から見た座標系上の第2の視点の位置を求め、さらに第2の視点における三次元点群位置データを取得して、2つの視点において得た三次元点群位置データの位置合わせを行い、両三次元点群位置データを統合的に利用できる状態とする処理の一例を説明する。
図7には、この処理の流れの一例が示されている。処理が開始されると(ステップS701)、まず第1の設置位置132(第1の視点)にレーザースキャナ131を設置し、そこで測定対象物を撮影し画像データを取得すると共に、レーザースキャニングを行い三次元点群位置データを取得する(ステップS702)。この後、ステップS702において取得した三次元点群位置データに基づき三次元モデルを形成する(ステップS703)。この処理は、次のレーザースキャナ131の第2の設置位置133(第2の視点)への移動中に行うと効率がよい。そして、レーザースキャナ131を第2の設置位置133に移動させ(ステップS704)、そこで上記と同じ測定対象物を撮影し、その撮影画像をパーソナルコンピュータ130のディスプレイ上に表示する(ステップS705)。この際、ステップS703において作成した第1の設置位置132において取得した三次元点群位置データに基づく三次元モデルを同時に表示する。この三次元モデルは、第1の設置位置131から見た向きの三次元モデルとなる。この状態の一例が図5(A)に示されている(ステップS706)。
次に、2つに視点から得た三次元点群位置データの位置合わせに適切な両画像でオーバーラップさせるのに適した部分の算出を行い、更にその部分の表示を行う(ステップS707)。ステップS707の処理は、例えば図3に示す手順に従って行われる。オーバーラップさせるのに適した部分を画面表示した一例が図5(B)に示されている。
次いで、ユーザにより指定されたオーバーラップ好適部分が取得され(ステップS708)、更に指定された対応点が取得される(ステップS709)。そして、ステップS709において取得された対応点を利用して標定を行い、第1の設置位置132から見た座標系と第2の設置位置133から見た座標系の対応関係の算出を行う(ステップS710)。
ステップS710の対応関係の算出において、演算にリトライが繰り返される、演算に遅延が見られる、エラーが生じた場合、といった問題が生じたと判定される場合は、対応関係の算出に問題ありと判定され(ステップS711)、その旨がユーザに画像表示等により報知される。この場合、ステップS704の前段階に戻り、第2の設置位置133の選定がやり直され、ステップS704以下の処理が再度実行される。そして、対応関係の算出が終了したら、その結果に基づき、第1の設置位置において得た三次元点群位置データの座標系における第2の設置位置133の三次元座標の値を算出する(ステップS712)。
そして、第2の設置位置133における三次元点群位置データの取得が行われ(ステップS713)、この三次元点群位置データと第1の設置位置131において取得した三次元点群位置データとの位置合わせが行われる(ステップS714)。ステップS714の処理では、ステップS712の算出結果に基づいて、両三次元点群位置データ同士の大よその位置合わせが行われ(この段階では、まだ少なからず誤算が含まれる)、次いで、ステップS708で取得されたオーバーラップ部分における両三次元点群位置データの位置合わせが行われる。この位置合わせを行った後、処理を終了する(ステップS715)。
図7に示す処理の手順によれば、(1)ステップS713の結果を利用することで、大体の位置合わせが行われ、更に(2)ステップS708で取得した位置合わせを行いやすい特徴点を含んだオーバーラップ部分を利用しての位置合わせが行われる。このため、2つの視点で得られた三次元点群位置データ同士の位置合わせを単なるデータ比較により行う場合に比較して、より効率的に(つまりより短時間で)行うことができる。また、位置合わせの処理が上手くゆかず、演算エラーとなる確率を大幅に減らすことができる。
(動作例3)
以下、三次元モデルの形成および表示に係る動作の一例を説明する。まず、第1の設置位置132おいて、測定対象物の撮影および測定対象物の三次元点群位置データ(正確にいうと、オクルージョンが発生するので、測定対象物の完全な三次元点群位置データは取得できない)の取得を行い、第1の設置位置132から見た向きの測定対象物の三次元モデルを形成する。
次に、レーザースキャナ131を第2の設置位置133に移動させ、測定対象物の画像を撮影する。そして、第1の設置位置132において取得した三次元点群位置データ(第1の三次元点群位置データ)と第2の設置位置133において取得した画像データとの対応関係を「単写真標定」を利用して算出する。またこの際、後に行う三次元点群位置データ同士の位置合わせを行うためのオーバーラップ部分を指定する。これに関連する処理は、図7に関連して説明したものと同じである。
次に、第1の設置位置132から測定対象物を見た場合の座標系(既に得ている第1の三次元点群位置データの座標系)における第2の設置位置133の座標位置の算出を行う。そしてこの算出の結果に基づき、第2の設置位置133の視点から見た三次元モデルの表示を行うための演算を行う。つまり、第1の設置位置132から見た向きの三次元モデルを、第2の設置位置133から見た向きの三次元モデルに座標変換する。この処理は、第1の設置位置132から見た向きの座標系における第2の設置位置133の座標、およびこの座標系における第2の設置位置133に設置したレーザースキャナ131の向きに基づいて数学的な演算により行うことができる。この処理により、視点の位置が変わり、三次元モデルが回転する。こうして、第1の設置位置132において取得した三次元点群位置データに基づく三次元モデルを、第2の設置位置133の視点から見た状態を得る。この際の画像表示の一例が、図6(B)に示されている。図6(B)の状態では、第1の設置位置132からはオクルージョンとなる部分のデータが欠落し、その部分が影として強調されている。
次いで、第2の設置位置133において測定対象物の三次元点群位置データ(第2の三次元点群位置データ)を取得する。この後、図7のステップS714に係る処理の場合と同様に、オーバーラップ部分における両三次元点群位置データの位置合わせを行う。これにより、第1の設置位置132において得られた測定対象物の三次元点群位置データ(第1の三次元点群位置データ)と、第2の設置位置133において得られた測定対象物の三次元点群位置データ(第2の三次元点群位置データ)との対応関係が明確となり、これら2つの三次元点群位置データを統合的に取り扱うことができる環境が整う。
この段階で、第1の三次元点群位置データと第2の三次元点群位置データとに基づく三次元モデルを形成する。この場合、第2の設置位置133において得た三次元点群位置データも利用されて三次元モデルが形成されるので、図6(B)に示す視点からの表示をした場合では影となっているオクルージョン部分も三次元モデルの一部として表示される。
(動作例4)
図1の点群位置データ処理装置100の内部で扱われる座標のデータをGPS装置103によって得られる経度緯度に関する座標データと関連付けることで、三次元モデルの座標や三次元点群位置データを得るための視点に係る位置データを地図データと関連付けることができる。これにより、例えばパーソナルコンピュータ上に表示された地図データ上に視点の位置を表示するといった機能が可能となる。また、レーザースキャナを設置した位置の座標がGPSにより求まるので、GPSを利用しない場合に比較して、標定に利用する対応点の数を減らすことができる。
(その他)
図1の点群位置データ処理装置100が備える複数の機能を分散させた構成も可能である。例えば、点群位置データ処理部113や座標演算部118の機能を通信回線で結ばれた別のコンピュータやサーバで行い、点群データ処理装置100と同様の機能を有する点群位置データ処理システムを構成することもできる。また、点群位置データ処理装置100の一部の機能をレーザースキャナ側に持たせ、このレーザースキャナと組み合わせたシステムとして本発明を実施することも可能である。
(第1の実施形態の優位性)
以上説明した実施形態によれば、2つの視点から測定対象物を見た場合の画像に、位置合わせを行い易いオーバーラップ部分が重複して含まれているので、2つの視点で取得された三次元点群位置データ同士の位置合わせの処理における処理を効率よく実行することができる。また、位置合わせ処理の遅延や停止といった不都合の発生を抑えることができる。
2.第2の実施形態
オーバーラップに好適な部分を算出する方法として、測定を行う位置から測定対象物までの距離、オーバーラップの対象となる部分の形状、オーバーラップの対象となる部分の大きさに基づく方法が挙げられる。以下、この一例を説明する。なお、以下に例示する手法は、その一つを採用することもできるし、複数を組み合わせて採用することもできる。勿論、その一または複数を第1の実施形態で説明した方法と組み合わせて採用することもできる。
オーバーラップに好適な部分は、エッジ等の非面の程度が大きい部分をより多く含む部分である。この際、非面の程度が大きくてもその距離が測定点から遠い場合、より近い部分に比較して、三次元点群位置データの位置合わせに不利な場合がある。これは、距離が遠いと点群の密度が低下し、精度が低下するからである。したがって、オーバーラップする部分までの距離を考慮する必要がある場合もある。三次元点群位置データには、ターゲットとなる点までの距離に関する情報も含まれているので、この距離情報を利用することで、距離に係る要素を判定条件に取り入れ、オーバーラップに好適な部分の算出を行うことができる。
オーバーラップに好適な部分を、その形状に基づいて算出することもできる。例えば、三次元モデルは輪郭線によって構成されており、輪郭線は非面の程度を大きい部分を示している(例えば、縁の部分)。したがって、輪郭線が込み入っている部分や輪郭線によって明確な形状が現れている部分は、相対的に見て、非面の程度が大きい部分となる。これを利用してオーバーラップに好適な部分を算出することができる。具体的には、輪郭線の密度の評価、輪郭線の交差状態の評価、リファレンスモデルと比較した形状の判定といった処理を行い、それに基づいてオーバーラップに好適な部分の算出を行うことができる。
オーバーラップに好適な部分を、その大きさに基づいて算出することもできる。特徴部分と見なせる部分であってもその大きさが小さい場合、その特徴を充分に再現できる程度の点群密度が得られない場合がある。よって、特徴部分と見なせるが、その大きさが閾値より小さい場合、それを除外するアルゴリズムを採用することもできる。
3.第3の実施形態
以下、三次元点群位置データを処理する機能を有する三次元レーザースキャナについて説明する。この例において、三次元レーザースキャナは、測定対象物に対して測距光(レーザー光)を走査しつつ照射し、レーザー光の飛行時間に基づいて自身の位置から測定対象物上の多数の測定点までの距離を測距する。また、この三次元レーザースキャナは、レーザー光の照射方向(水平角および高低角)を検出し、距離および照射方向に基づいて測定点の三次元座標を演算する。また、この三次元レーザースキャナは、測定対象物を撮影した二次元画像(各測定点におけるRGB強度)を取得し、二次元画像と三次元座標とを結び付けた三次元点群位置データを形成する。さらに、ここで示す三次元レーザースキャナは、図1に関連して説明した点群位置データ処理装置100の処理を行う機能を有している。
(構成)
図11および図12は、三次元レーザースキャナ1の構成を示す断面図である。三次元レーザースキャナ1は、整準部22、回転機構部23、本体部27、および回転照射部28を備えている。本体部27は、測距部24、撮影部25、制御部26等から構成されている。なお、図12は、説明の便宜のため、図11に示す断面方向に対して、回転照射部28のみ側方から見た状態を示している。
整準部22は、台盤29を有し、回転機構部23は下部ケーシング30を有する。下部ケーシング30は、ピン31と2個の調整ネジ32とにより3点で台盤29に支持されている。下部ケーシング30は、ピン31の先端を支点にして傾動する。なお、台盤29と下部ケーシング30との間には、台盤29と下部ケーシング30とが互いに離反しないようにするため、引っ張りスプリング33が設けられている。
下部ケーシング30の内部には、2個の整準モータ34が設けられている。2個の整準モータ34は、制御部26によって互いに独立して駆動される。整準モータ34の駆動により整準駆動ギア35、整準従動ギア36を介して調整ネジ32が回転し、調整ネジ32の下方への突出量が調整される。また、下部ケーシング30の内部には傾斜センサ37(図13参照)が設けられている。2個の整準モータ34は、傾斜センサ37の検出信号により駆動され、これにより整準が実行される。
回転機構部23は、下部ケーシング30の内部に水平角用駆動モータ38を有する。水平角用駆動モータ38の出力軸には水平回動駆動ギア39が嵌着されている。水平回動駆動ギア39は、水平回動ギア40に噛合されている。水平回動ギア40は、回転軸部41に設けられている。回転軸部41は、回転基盤42の中央部に設けられている。回転基盤42は、下部ケーシング30の上部に、軸受け部材43を介して設けられている。
また、回転軸部41には水平角検出器44として、例えばエンコーダが設けられている。水平角検出器44は、下部ケーシング30に対する回転軸部41の相対的回転角(水平角)を検出する。水平角は制御部26に入力され、制御部26は、その検出結果に基づき水平角用駆動モータ38を制御する。
本体部27は、本体部ケーシング45を有する。本体部ケーシング45は、回転基盤42に固着されている。本体部ケーシング45の内部には鏡筒46が設けられている。鏡筒46は、本体部ケーシング45の回転中心と同心の回転中心を有する。鏡筒46の回転中心は、光軸47に合致されている。鏡筒46の内部には、光束分離手段としてのビームスプリッタ48が設けられている。ビームスプリッタ48は、可視光を透過し、かつ、赤外光を反射する機能を有する。光軸47は、ビームスプリッタ48によって光軸49と光軸50とに分離される。
測距部24は、鏡筒46の外周部に設けられている。測距部24は、発光部としてのパルスレーザ光源51を有する。パルスレーザ光源51とビームスプリッタ48との間には、穴あきミラー52、レーザー光のビームウエスト径を変更するビームウエスト変更光学系53が配設されている。測距光源部は、パルスレーザ光源51、ビームウエスト変更光学系53、穴あきミラー52で構成されている。穴あきミラー52は、パルスレーザ光を穴部52aからビームスプリッタ48に導き、測定対象物から反射して戻って来た反射レーザー光を測距受光部54に向けて反射する役割を有する。
パルスレーザ光源51は、制御部26の制御により所定のタイミングで赤外パルスレーザ光を発する。赤外パルスレーザ光は、ビームスプリッタ48によって高低角用回動ミラー55に向けて反射される。高低角用回動ミラー55は、赤外パルスレーザ光を測定対象物に向けて反射する。高低角用回動ミラー55は、高低角方向に回転することで、鉛直方向に延びる光軸47を高低角方向の投光光軸56に変換する。ビームスプリッタ48と高低角用回動ミラー55との間でかつ鏡筒46の内部には集光レンズ57が配設されている。
測定対象物からの反射レーザー光は、高低角回動用ミラー55、集光レンズ57、ビームスプリッタ48、穴あきミラー52を経て測距受光部54に導かれる。また、測距受光部54には、内部参照光路を通って参照光も導かれる。反射レーザー光が測距受光部54で受光されるまでの時間と、レーザー光が内部参照光路を通って測距受光部54で受光されるまでの時間との差に基づき、点群位置データ処理装置1から測定対象物(測定対象点)までの距離が測定される。測距受光部54は、CMOS光センサ等の光電変化素子により構成され、検出した光のRGB強度を検出する機能も有している。
撮影部25は、画像受光部58を備え、図1の画像取得装置102に対応するカメラとして機能する。画像受光部58は、鏡筒46の底部に設けられている。画像受光部58は、多数の画素が平面状に集合して配列されたもの、例えば、CCD(Charge Coupled Device)で構成されている。画像受光部58の各画素の位置は光軸50によって特定される。例えば、光軸50を原点として、X−Y座標を想定し、このX−Y座標の点として画素が定義される。
回転照射部28は、投光ケーシング59の内部に収納されている。投光ケーシング59の周壁の一部は、投光窓となっている。図12に示すように、鏡筒46のフランジ部60には、一対のミラーホルダー板61が対向して設けられている。ミラーホルダー板61には、回動軸62が掛け渡されている。高低角用回動ミラー55は、回動軸62に固定されている。回動軸62の一端部には高低角ギア63が嵌着されている。回動軸62の他端側には高低角検出器64が設けられている。高低角検出器64は、高低角用回動ミラー55の回動角を検出し、その検出結果を制御部26に出力する。
ミラーホルダー板61の一方には、高低角用駆動モータ65が取り付けられている。高低角用駆動モータ65の出力軸には駆動ギア66が嵌着されている。駆動ギア66は、回転軸62に取り付けられた高低角ギア63に噛合されている。高低角用駆動モータ65は、高低角検出器64の検出結果に基づき、制御部26の制御により適宜駆動される。
投光ケーシング59の上部には、照星照門67が設けられている。照星照門67は、測定対象物を概略視準するのに用いられる。照星照門67を用いた視準方向は、投光光軸56の延びる方向、および回動軸62の延びる方向に対して直交する方向とされている。また、図12に示すように、投光ケーシング59の上部には、GPSアンテナ81が配置されている。GPSアンテナにより、GPS情報が取得され、内部で行われる演算にGPS情報を利用することができる構成とされている。
図13は、制御部のブロック図である。制御部26には、水平角検出器44、高低角検出器64、傾斜センサ37、GPSアンテナ81からの検出信号が入力される。また、制御部26は、操作部6から操作指示信号が入力される。制御部26は、水平角用駆動モータ38、高低角用駆動モータ65、整準モータ34を駆動制御する共に、作業状況、測定結果等を表示する表示部7を制御する。制御部26には、メモリカード、HDD等の外部記憶装置68が着脱可能とされている。
制御部26は、演算部4、記憶部5、水平駆動部69、高低駆動部70、整準駆動部71、距離データ処理部72、画像データ処理部73等から構成されている。記憶部5は、測距や高低角と水平角の検出を行うために必要なシーケンスプログラム、演算プログラム、測定データの処理を実行する測定データ処理プログラム、画像処理を行う画像処理プログラム、三次元点群位置データから面を抽出し、更に輪郭線を算出するプログラム、この算出した輪郭線を表示部7に表示させるための画像表示プログラム、三次元点群位置データの再取得に係る処理を制御するプログラム等の各種のプログラムを格納すると共に、これらの各種のプログラムを統合管理するための統合管理プログラム等を格納する。また、記憶部5は、測定データ、画像データ等の各種のデータを格納する。水平駆動部69は、水平角用駆動モータ38を駆動制御し、高低駆動部70は、高低角用駆動モータ65を駆動制御し、整準駆動部71は、整準モータ34を駆動制御する。距離データ処理部72は、測距部24によって得られた距離データを処理し、画像データ処理部73は、撮影部25により得られた画像データを処理する。
また、制御部26は、GPS受信部82を備えている。GPS受信部82は、GPSアンテナが受信したGPS衛星からの信号を処理し、地球上における座標データを算出する。これは、通常のGPS受信装置と同じである。GPSから得られた位置情報は、点群位置データ処理装置100’に入力される。
図14は、演算部4のブロック図である。演算部4は、三次元座標演算部74、リンク形成部75、グリッド形成部9、点群位置データ処理装置100’を備えている。三次元座標演算部74には、距離データ処理部72から測定対象点の距離データが入力され、水平角検出器44および高低角検出器64から測定対象点の方向データ(水平角および高低角)が入力される。三次元座標演算部74は、入力された距離データと方向データとに基づき、点群位置データ処理装置1の位置を原点(0,0,0)とした各測定点の三次元座標(直交座標)を算出する。
リンク形成部75には、画像データ処理部73から画像データおよび三次元座標演算部74が算出した各測定点の三次元座標の座標データが入力される。リンク形成部75は、画像データ(各測定点のRGB強度)と三次元座標を結び付けた三次元点群位置データ2を形成する。つまり、リンク形成部75は、測定対象物のある点に着目した場合、その着目点の二次元画像中における位置と、その着目点の三次元座標とを関連付けしたものを作成する。この関連付けされたデータは、全ての測定点について算出され、それらが三次元点群位置データ2となる。
リンク形成部75は、以上の三次元点群位置データ2をグリッド形成部9に出力する。グリッド形成部9は、三次元点群位置データ2の隣接点の点間距離が一定でない場合に、等間隔のグリッド(メッシュ)を形成し、グリッドの交点に最も近い点を登録する。または、グリッド形成部9は、線形補間法やバイキュービック法を用いて、グリッドの交点位置に全点を補正する。なお、三次元点群位置データ2の点間距離が一定である場合には、グリッド形成部9の処理を省略することができる。
以下、グリッドの形成手順について説明する。図15は、点間距離が一定でない三次元点群位置データを示す概念図であり、図16は、形成したグリッドを示す概念図である。図15に示すように、各列の平均水平間隔H1〜Nを求め、さらに列間の平均水平間隔の差分ΔHi,jを算出し、その平均をグリッドの水平間隔ΔHとする(数15)。垂直方向の間隔は、各列での垂直方向の隣接点との距離ΔVN,Hを算出し、画像サイズW,Hの画像全体におけるΔVN,Hの平均を垂直間隔ΔVとする(数16)。そして、図15に示すように、算出した水平間隔ΔHおよび垂直間隔ΔVのグリッドを形成する。
次に、形成したグリッドの交点に最も近い点を登録する。この際、交点から各点までの距離には所定の閾値を設けて、登録を制限する。例えば、閾値は、水平間隔ΔHおよび垂直間隔ΔVの1/2とする。なお、線形補間法やバイキュービック法のように、交点との距離に応じた重みを付けて全点を補正してもよい。ただし、補間を行った場合には、本来計測していない点となる。
以上のようにして得られた三次元点群位置データは、点群位置データ処理装置100’に出力される。点群位置データ処理装置100’は、第1の実施形態で説明した動作を行う。また、その動作においてユーザに提示される画像の表示(例えば、図5、図6、図8の画面表示)が液晶ディスプレイである表示部7に表示される。この点は、第1の実施形態に関係して説明した場合と同じである。点群位置データ処理装置100’は、図1の点群位置データ処理装置100と同様の機能を有するハードウェアであり、FPGAを利用した専用の集積回路により構成されている。
点群位置データ処理装置100’には、GPS受信部82から得られた地球上における座標データが入力される。この構成によれば、点群位置データ処理部100’で取り扱われる座標がGPSから得られた位置データ(例えば、電子地図情報)とリンクされる。これにより、例えば、三次元レーザースキャナ1の設置位置を電子地図上に画面表示することができる。
(その他)
制御部26の構成において、グリッド形成部9から三次元点群位置データが出力される形態とすると、図11、図12に示す装置は、第1の実施形態で示したパーソナルコンピュータを利用した点群位置データ処理装置と組み合わせて使用可能な三次元レーザースキャナとなる。点群位置データ処理部100’が行う処理を分散して行う構成も可能である。例えば、点群位置データ処理部100’の機能の一部を通信回線で結ばれたサーバで行うような構成も可能である。この場合、本発明の点群位置データ処理システムの一例として把握される。
画像を取得する方法として、CCDカメラ等を用いた撮影による方法が一般的であるが、点群データに基づいて測定対象物の画像を再現することもできる。レーザースキャン装置により三次元点群位置データを得た場合、各点からの反射光の光強度に係るデータが得られる。したがって、三次元点群位置データを対象物の画像を構成する画素データとして取り扱うことで、三次元点群位置データに基づいて測定対象物の画像を再現することができる。つまり、CCDやCMOSイメージセンサ等の撮影手段の代わりに、レーザースキャン装置を用いて測定対象物の画像を得ることができる。この場合、図1の画像データ取得部112は、点群位置データ取得装置101から出力される三次元点群位置データに基づき、上述した原理により画像データを取得する。