データ解析装置、データ解析方法、及びプログラム
【課題】地物表面の三次元形状を表す点群データに基づいて地上の段差を自動的に検出する。
【解決手段】部分空間設定手段20は、解析の対象空間を複数の部分空間に分けて、当該部分空間をそれぞれ解析の単位空間として設定する。境界探索手段22は、単位空間ごとに、段差により形成される境界を水平面内にて探索する。境界探索手段22は、予め定められた幅の帯状の領域であって、水平面に射影された点群が当該領域内に予め設定した基準以上に集まり、かつ当該領域内の点群が予め設定した段差閾値以上の高低差を有する段差近傍領域を前記水平面内にて探索し、当該段差近傍領域に属する点群の前記水平面内での分布に沿った方向線を前記境界として求める。境界追尾手段24は、部分空間にて検出された境界を当該部分空間の外にて追尾する。
【解決手段】部分空間設定手段20は、解析の対象空間を複数の部分空間に分けて、当該部分空間をそれぞれ解析の単位空間として設定する。境界探索手段22は、単位空間ごとに、段差により形成される境界を水平面内にて探索する。境界探索手段22は、予め定められた幅の帯状の領域であって、水平面に射影された点群が当該領域内に予め設定した基準以上に集まり、かつ当該領域内の点群が予め設定した段差閾値以上の高低差を有する段差近傍領域を前記水平面内にて探索し、当該段差近傍領域に属する点群の前記水平面内での分布に沿った方向線を前記境界として求める。境界追尾手段24は、部分空間にて検出された境界を当該部分空間の外にて追尾する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、地物表面の三次元形状を表す点群データに基づいて地上の段差を検出するデータ解析装置、データ解析方法、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、レーザスキャナを用いて、地物の形状を表す三次元点群データを取得する技術が示されている。例えば、モービルマッピングシステムでは、レーザスキャナは自動車に搭載され、車体の上部から斜め下方向にレーザを照射する。レーザの光軸は横方向に走査され、走査角度範囲内にて微小角度ごとにレーザパルスが発射される。レーザの発射から反射光の受信までの時間に基づいて距離が計測され、またその際、レーザの発射方向、時刻、及び車体の位置・姿勢などが計測される。それら計測データから、レーザパルスを反射した点の三次元座標を表す点群データが求められる。
【0003】
また、点群データの取得と同時に、カメラを用いて映像が撮影される。画像はデータ解析にてユーザが計測対象部分を指定する際に利用することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−204615号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来、点群データをもとに地物を判読するためには人手を要しており、三次元CADで編集ツール等を利用して手作業で地物の抽出作業が行われていた。
【0006】
本発明は、地物表面の三次元形状を表す点群データに基づいて地上の段差を自動的に検出するデータ解析装置、データ解析方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係るデータ解析装置は、対象空間における地物表面の三次元形状を表す点群データに基づいて地上の段差を検出するものであって、前記対象空間を複数の部分空間に分けて、当該部分空間をそれぞれ解析の単位空間として設定する部分空間設定手段と、前記単位空間ごとに、前記段差により形成される境界を水平面内にて探索する境界探索手段と、を有し、前記境界探索手段は、予め定められた幅の帯状の領域であって、前記水平面に射影された点群が当該領域内に予め設定した基準以上に集まり、かつ当該領域内の点群が予め設定した段差閾値以上の高低差を有する段差近傍領域を前記水平面内にて探索し、当該段差近傍領域に属する点群の前記水平面内での分布に沿った方向線を前記境界として求める。
【0008】
他の本発明に係るデータ解析装置は、さらに、前記部分空間にて検出された前記境界を当該部分空間の外にて追尾する境界追尾手段を有し、前記境界追尾手段は、前記単位空間から前記境界が検出されると、当該境界に対応する前記方向線の延長線の方向にて当該単位空間に隣接する新たな前記単位空間として追尾空間を設定し、前記境界探索手段は、前記延長線に沿った前記境界を前記追尾空間にて探索する。
【0009】
別の本発明に係るデータ解析装置においては、前記境界探索手段が、それぞれ前記段差近傍領域に隣接する領域の点群に基づいて段差上面の高さ及び段差底面の高さを求め、前記段差近傍領域に属する前記点群のうち前記段差底面より高く、かつ前記段差上面より低い高さ範囲に存在するものの前記水平面内での分布に基づいて前記方向線を求める。
【0010】
本発明において、前記部分空間設定手段は、前記対象空間を直方体形状の前記部分空間に分割する構成とすることができる。
【0011】
本発明に係るデータ解析方法は、対象空間における地物表面の三次元形状を表す点群データに基づいて地上の段差を検出する方法であって、前記対象空間を複数の部分空間に分けて、当該部分空間をそれぞれ解析の単位空間として設定する部分空間設定ステップと、前記単位空間ごとに、前記段差により形成される境界を水平面内にて探索する境界探索ステップと、を有し、前記境界探索ステップは、予め定められた幅の帯状の領域であって、前記水平面に射影された点群が当該領域内に予め設定した基準以上に集まり、かつ当該領域内の点群が予め設定した段差閾値以上の高低差を有する段差近傍領域を前記水平面内にて探索し、当該段差近傍領域に属する点群の前記水平面内での分布に沿った方向線を前記境界として求める。
【0012】
他の本発明に係るデータ解析方法は、さらに、前記部分空間にて検出された前記境界を当該部分空間の外にて追尾する境界追尾ステップを有し、前記境界追尾ステップは、前記単位空間から前記境界が検出されると、当該境界に対応する前記方向線の延長線の方向にて当該単位空間に隣接する新たな前記単位空間として追尾空間を設定し、前記境界探索ステップは、前記延長線に沿った前記境界を前記追尾空間にて探索する。
【0013】
本発明に係るプログラムは、コンピュータに、対象空間における地物表面の三次元形状を表す点群データに基づいて地上の段差を検出するデータ解析を行わせるためのプログラムであって、当該コンピュータを、前記対象空間を複数の部分空間に分けて、当該部分空間をそれぞれ解析の単位空間として設定する部分空間設定手段、及び前記単位空間ごとに、前記段差により形成される境界を水平面内にて探索する境界探索手段、として機能させ、前記境界探索手段は、予め定められた幅の帯状の領域であって、前記水平面に射影された点群が当該領域内に予め設定した基準以上に集まり、かつ当該領域内の点群が予め設定した段差閾値以上の高低差を有する段差近傍領域を前記水平面内にて探索し、当該段差近傍領域に属する点群の前記水平面内での分布に沿った方向線を前記境界として求める。
【0014】
他の本発明に係るプログラムは、コンピュータを、さらに、前記部分空間にて検出された前記境界を当該部分空間の外にて追尾する境界追尾手段として機能させ、前記境界追尾手段は、前記単位空間から前記境界が検出されると、当該境界に対応する前記方向線の延長線の方向にて当該単位空間に隣接する新たな前記単位空間として追尾空間を設定し、前記境界探索手段は、前記延長線に沿った前記境界を前記追尾空間にて探索する。
【発明の効果】
【0015】
本発明によれば、地物表面の三次元形状を表す点群データに基づいて地上の段差を自動的に検出することができる。
【図面の簡単な説明】
【0016】
【図1】本発明の実施形態に係る地上段差抽出システムの概略の構成を示すブロック図である。
【図2】本発明の実施形態に係る地上段差抽出システムによる段差抽出処理の概略のフロー図である。
【図3】部分空間設定手段の概略の処理フロー図である。
【図4】境界探索手段の概略の処理フロー図である。
【図5】基点空間でのエッジ探索処理を説明する模式図である。
【図6】基点空間の再配置を示す模式図である。
【図7】エッジ方向から見た基点空間の垂直断面の模式図である。
【図8】境界追尾手段の概略の処理フロー図である。
【図9】図形登録手段の概略の処理フロー図である。
【図10】境界探索手段による多重エッジ処理の概略の処理フロー図である。
【図11】多重エッジ処理を説明する模式図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施の形態(以下実施形態という)である地上段差抽出システム2について、図面に基づいて説明する。本システムは、地物表面の三次元形状を表す点群データに基づいて地上の段差を検出するデータ解析装置である。点群データは例えば、上述のモービルマッピングシステムのように地上を走行する車両に搭載されたレーザスキャナにより取得される。また、レーザスキャナを地上に設置して計測を行っても良い。点群データが地物表面の三次元形状を表すには、地物表面の凹凸、段差のスケールに応じた密度でレーザスキャンが行われる必要がある。この点、車両や三脚等の高さから行うレーザスキャンは、例えば、道路及びその近傍程度の範囲にて、道路脇の段差といった数センチメートル程度の小さな形状変化を捉えることができる程度の走査密度を実現できる。
【0018】
図1は、地上段差抽出システム2の概略の構成を示すブロック図である。本システムは、演算処理装置4、記憶装置6、入力装置8及び出力装置10を含んで構成される。演算処理装置4として、本システムの各種演算処理を行う専用のハードウェアを作ることも可能であるが、本実施形態では演算処理装置4は、コンピュータ及び、当該コンピュータ上で実行されるプログラムを用いて構築される。
【0019】
当該コンピュータのCPU(Central Processing Unit)が演算処理装置4を構成し、後述する部分空間設定手段20、境界探索手段22、境界追尾手段24及び図形登録手段26として機能する。
【0020】
記憶装置6はコンピュータに内蔵されるハードディスクなどで構成される。記憶装置6は演算処理装置4を部分空間設定手段20、境界探索手段22、境界追尾手段24及び図形登録手段26として機能させるためのプログラム及びその他のプログラムや、本システムの処理に必要な各種データを記憶する。例えば、記憶装置6は、処理対象データとして解析の対象空間の点群データを格納される。例えば、道路に沿った地域が解析の対象空間とされる。
【0021】
入力装置8は、キーボード、マウスなどであり、ユーザが本システムへの操作を行うために用いる。
【0022】
出力装置10は、ディスプレイ、プリンタなどであり、本システムにより求められた段差の境界(エッジ)を画面表示、印刷等によりユーザに示す等に用いられる。
【0023】
図2は、地上段差抽出システム2による段差抽出処理の概略のフロー図である。この図2を参照しながら、演算処理装置4の各手段を説明する。
【0024】
部分空間設定手段20は、対象空間を複数の部分空間に分けて、当該部分空間をそれぞれ解析の初期の単位空間として設定する(S30)。部分空間は隣り合うものが互いにオーバーラップするように設定することもできるが、本実施形態では、部分空間設定手段20は、対象空間を三次元直交格子(メッシュ)状に単純分割して直方体形状の部分空間を生成する。例えば、部分空間は幅W及び奥行きDがそれぞれ50cm、高さHが60cmとすることができる。なお、部分空間設定手段20を構成するプログラムでは、幅W、奥行きD及び高さHはパラメータ化されており、例えば、ユーザが入力装置8を用いて変更することができる。
【0025】
境界探索手段22は、単位空間ごとに、その中の点群を解析し、段差により形成される境界を水平面(XYZ直交座標系でX−Y平面とする)内にて探索する(S32,S34)。境界探索手段22は、探索過程にて、単位空間のX−Y平面上にて境界の候補となる線(候補線)を様々に配置する。本実施形態では直線状の段差を抽出対象とし、その段差の境界に沿った方向線を探索する。これに対応して、候補線の形状も直線又は線分とする。境界探索手段22は、候補線に沿って、予め定められた幅の帯状領域を設定し、候補線に応じてX−Y平面にて様々に設定される帯状領域のうち段差を包含する段差近傍領域を探索する。具体的には、境界探索手段22は、帯状領域内に位置するデータ点(点群)の個数及び当該帯状領域に属するデータ点の高低差(Z軸方向の座標差)を求める(S32)。そして境界探索手段22はその結果に対して設定された条件に基づいて段差のエッジを抽出する(S34)。すなわち、点群が帯状の領域内に予め設定した基準以上に集まり、かつ当該領域内の点群が予め設定した段差閾値以上の高低差を有する場合に、当該領域を段差近傍領域と判断し、当該段差近傍領域の元となった候補線を境界と定める。なお、処理S32において、データ点が帯状領域内にあるか否かはデータ点のZ座標は考慮せずに、X−Y座標のみで判断される。例えば、境界抽出の条件のうち段差近傍領域内の点群の数に関する基準として、候補線のうちその近傍に集まる点群の個数が最も多いという条件を設定することができる。
【0026】
また、本実施形態の境界探索手段22は、解析の単位空間として初期設定される部分空間にてエッジを見つけると、当該エッジが中心に来るように単位空間を配置し直す(S36)。次に、配置し直した当該単位空間より当該エッジの段差近傍領域に隣接する領域の点群に基づいて段差上面の高さ及び段差底面の高さを求め、前記段差近傍領域に属する前記点群のうち前記段差底面より高く、かつ前記段差上面より低い高さ範囲に存在する点群を求める(S38)。前記より求めた点群については、段差面上の点群であるので、求めた点群の前記水平面の分布に基づいて段差の境界を示す方向線を求める(S40)。
【0027】
境界探索手段22は単位空間内にて、最も点群が集まっている境界のみを探索してもよいし、単位空間内に境界が複数存在する多重エッジを想定した処理としてもよい。
【0028】
さて、上述のように本実施形態では直線状の段差のエッジを抽出対象としている。これは、直線の抽出は円弧等の他の形状より処理負荷が少ないことや、抽出しようとする段差は多くの場合、直線状のエッジを有することによる。また、単位空間は道路のカーブやロータリー交差点の中心部の円などに比べて小さく設定されているので、単位空間内ではそれらの構造物の段差のエッジは直線として扱うことが可能である。なお、処理負荷が増すものの、原理的には例えば円弧等、所定の形状を想定して直線以外のエッジを探索する構成も可能である。
【0029】
境界追尾手段24は、部分空間にて検出された境界を当該部分空間の外にて追尾する(S42)。境界追尾手段24は、基点となる部分空間(基点空間)に存在する境界の方向線が検出されると、当該方向線の前後の延長線方向にて当該基点空間に隣接する新たな単位空間として追尾空間を設定する。この場合、境界探索手段22は、延長線に沿った境界を追尾空間内にて探索する。また、追尾空間にて境界が検出されると、境界追尾手段24はさらに当該追尾空間を求めた方向と同一方向上に、当該境界の方向線を延長して追尾空間を設定し、境界探索手段22は当該追尾空間にて境界を探索する。追尾空間として設定される解析の単位空間は本実施形態では部分空間と同様、直方体形状としているが、寸法(W×D×H)は部分空間とは異ならせている。例えば、高さHは先行して探索が行われている基点空間又は追尾空間にて既に検出されている段差の高さを考慮して定めることができる。また、追尾している境界の方向・位置は予め見当が付いているので、基本的に境界に直交する方向の寸法(幅W)は、部分空間より狭く設定することが可能である。
【0030】
図形登録手段26は、境界追尾手段24により求められた境界をつなぎ合わせて、連続線分を作成し(S42)、記憶装置6に登録する。
【0031】
以下、地上段差抽出システム2の処理例をより詳しく説明する。図3、図4、図8〜10は、演算処理装置4が実行する一連の処理の流れを分割して示しており、まず、図3は、部分空間設定手段20の概略の処理フロー図であり、地上段差抽出システム2における解析の単位空間の初期設定、つまり部分空間の作成処理に関する部分の処理を示している。地上段差抽出システム2が段差抽出処理を開始すると(S50)、部分空間設定手段20は、追尾処理の基点空間となる部分空間を順次作成する。例えば、部分空間のサイズが設定されている場合には、対象空間のサイズに応じて、X,Y,Z各方向の部分空間の配列個数が定まり、例えば、各方向の部分空間の位置を示すインデックスの範囲が決定される。一方、対象空間の各方向の分割数(インデックスの幅)が設定されている場合には、対象空間のサイズに応じて部分空間のサイズが算出され設定される。
【0032】
部分空間設定手段20は、部分空間の三次元メッシュ状の配置を表すインデックスを所定の順番で変更し、設定されたインデックスに応じた位置(X,Y,Z各方向の座標範囲)で定義される直方体の部分空間を基点空間として設定する(S52)。なお、ここで、インデックス指定されたメッシュの部分空間が未処理のものであれば(S54にて「No」の場合)、部分空間設定手段20は基点空間内の点群を例えば、ハードディスク等の記憶装置6からRAM(Random Access Memory)等の作業領域に取り込む(S57)。基点空間内に取り込んだ点群の数が閾値n以上であり(S58にて「Yes」の場合)、かつ基点空間内に取り込んだ点群が平坦でない場合(S59にて「No」の場合)には、当該部分空間を基点空間とした段差探索を行う(図4のノードBへ処理が進む)。
【0033】
一方、基点空間内に取り込んだ点群の数が閾値n未満である場合(S58にて「No」の場合)、及び、基点空間内に取り込んだ点群が平坦と判断される場合(S59にて「Yes」の場合)には、段差が存在しないか、精度良く段差探索ができないとして当該探索は行わない。これらの場合は、当該基点空間については処理を終え、次の部分空間を基点空間とした処理に移る(ノードAへ処理が戻る)。例えば、処理S58にて、点群の閾値nは5以上に設定することができる。また、処理S59では、点群の高低差(最大標高と最小標高との差)が予め設定した値より小さければ平坦であると判断する。
【0034】
全てのメッシュについて処理が終わっている場合は(S54にて「Yes」の場合)、演算処理装置4は段差抽出の処理を終える(S56)。
【0035】
図4は、境界探索手段22の概略の処理フロー図であり、基点空間における段差のエッジ探索に関する処理を示している。境界探索手段22は基点空間内にエッジが存在するか探索する(S60)。
【0036】
図5は基点空間でのエッジ探索処理S60を説明する模式図である。図5は、基点空間を上面から見た図であり、基点空間62に対応する矩形と、基点空間内の点群のX−Y面内での配置の一例が示されている。境界探索手段22は、基点空間内の点群から任意の2つのデータ点Pα,Pβを選択し、それら2点を両端とするX−Y面内での線分L0をエッジの候補線として設定すると共に、線分L0を中心としてその両側にそれぞれ幅w(合計幅2w)の帯状領域EAを設定する。境界探索手段22は点群のうちX−Y平面での座標が当該領域EA内に位置するデータ点の個数をカウントする。データ点が領域EA内であるか否かは例えば、X−Y平面上での当該データ点から線分L0への垂線の長さがw以下であるか否かによって判定可能である。また、エッジの条件として、領域EA内の点群が表す三次元形状が平坦でないことを課す。具体的には、境界探索手段22は、領域EA内に包含されるデータ点の高低差(最大標高と最小標高との差)ΔZが予め設定した段差閾値γ以上であれば平坦ではないと判定する。
【0037】
境界探索手段22は、基点空間内の2つのデータ点の全ての組み合わせについて候補線を設定して上述の判定を行い、領域EA内に最もデータ点が多く集まり、かつΔZが閾値γ以上である線分L0を基点空間における探索処理でのエッジとして選択する。エッジが存在した場合には(S62にて「Yes」の場合)、処理S70に進む。一方、エッジが見つからなかった場合(S62にて「No」の場合)、当該基点空間については処理を終え、次の部分空間を基点空間とした処理に移る(図3のノードAへ処理が進む)。
【0038】
ここで、幅wはパラメータであり、段差に対応するデータ点のエッジに直交する方向の位置のばらつきを吸収する。例えば、道路脇の段差の抽出においてはwは3cm程度とすることができる。また、段差閾値γは例えば2cm程度に設定できる。
【0039】
境界探索手段22は、基点空間から抽出したエッジの位置を固定し、その固定したエッジL1が中心となるように基点空間を作成し直し、当該基点空間内の点群を取り込む(S70)。図6は、基点空間の再配置を示す模式図であり、再配置後の基点空間72及びエッジL1を上面から見た図であり、比較のため当初の基点空間62を一点鎖線で示している。
【0040】
エッジL1を抽出すると、境界探索手段22は、基点空間内の点群を段差の下部(下端)、段差部、段差の上部(上端)に分類する(S74)。図7は、エッジ方向から見た基点空間の垂直断面の模式図である。図7において丸印がデータ点80であり、図において中央に段差部82が位置し、その左側が下端(例えば道路部84)であり、右側が上端(例えば歩道部86)である。具体的には、段差部82はエッジに対応する段差近傍領域内の点群であり、X−Y平面にてエッジL1を中心とする幅2wの帯状領域内に位置する。境界探索手段22は、段差部82の両側それぞれにおいて、点群の最小標高を求める。例えば、図7において段差82の左側の点群の最小標高と、右側の点群の最小標高とを求め、これらを比較して、最小標高が低い側を段差の下端とし、当該最小標高を下端の高さZLと定義する。一方、最小標高が高い側を段差の上端とし、当該最小標高を上端の高さZHと定義する。このように最小標高で段差の下端、上端の高さを定義することで、地物表面より上に現れるノイズ点、草や枝の点群の影響を除くことができる。
【0041】
また、段差部82の点群から段差の方向を算出する。境界探索手段22は、段差部82内の2つのデータ点の全ての組み合わせについて当該2点Qα,Qβを通る線分を設定し、X−Y面内の位置関係に関して、当該線分と段差部82の他の各データ点との垂線長の和を求める。そして、段差部82内における2点Qα,Qβの組み合わせのうち、当該垂線長の和が最小となるものを探し、当該2点で定まる線分をエッジの方向線と定める。
【0042】
なお、段差の方向線を表すX−Y面内での一次式を段差部82の全データ点を用いた最小二乗法により決定することにより、方向線を求めることもできる。
【0043】
なお、段差の方向線を求める上述の各方法において、線分は上端の高さと下端の高さとの間に位置するものに限定することが好適である。また、段差部82は幅2wを有し、当該幅を有する段差部82内のデータ点80には、図7に示すように、上端の高さと下端の高さとの間に存在する段差面(垂直面又は傾斜面)に位置するデータ点80iだけでなく、上端の面又は下端の面に位置するデータ点80eも含まれ得る。段差の方向線を精度良く段差面に沿わせるには、段差の方向線を求める上述の各方法の処理において、段差部82内のデータ点80(80i及び80e)からデータ点80eを除去し、残りのデータ点80iのみを用いることが好適である。例えば、パラメータεZ(>0)を設定し、段差部82のデータ点80(80i及び80e)のうち、Z座標が[ZL+εZ,ZH−εZ]なる範囲内であるものをデータ点80iとして段差の方向線の決定に用いる構成とすることができる。パラメータεZは例えば、段差の高さ(ZH−ZL)や段差閾値γに基づいて設定することができ、例えば、それらの1/2以下に設定される。また、設定したパラメータεZに対して段差部82内のデータ点80が全て80eとなり、データ点80iが残らない場合には、データ点80eの除外処理を行わない構成としてもよいし、一定個数又は一定割合がデータ点80iとして残るようにパラメータεZを可変設定する構成としてもよい。
【0044】
境界探索手段22は上述の処理結果を基に図形データを求める。例えば、求めた段差の方向線が基点空間72の平面形状である矩形と交わる2つの交点を求め、それら交点を結んだ線を方向線と定義する。図形データは、上記各交点を定義するX,Y座標と下端の高さZLで与えられるZ座標とを組み合わせて得られる三次元空間内での2つの点を両端とする線分であるエッジ下端、上記各交点を定義するX,Y座標と上端の高さZHで与えられるZ座標とを組み合わせて得られる三次元空間内での2つの点を両端とする線分であるエッジ上端、及び上記各交点を定義するX,Y座標と平均標高ZM≡(ZL+ZH)/2とを組み合わせて得られる三次元空間内での2つの点を両端とする線分であるエッジ中央からなる。すなわち、図形データとして段差面の骨格を表す単純な図形を求めている。
【0045】
境界探索手段22は、この図形データに相当するもの(一致又は交差する方向線)がすでに図形登録されているものの中に存在するかを調べる(S90)。図形登録されていなければ(S92にて「No」の場合)、図形データをバッファするための線形リストを生成して、当該線形リストに、基点空間から求めた図形データを格納し(S94)、境界追尾処理を開始する(図8のノードDへ進む)。一方、図形登録されていれば(S92にて「Yes」の場合)、当該段差の情報は記録せずに、当該基点空間内にて別の段差を探索する多重エッジ処理を行う(図10のノードFへ処理を進める)。
【0046】
図8は境界追尾手段24の概略の処理フロー図であり、追尾空間における段差のエッジの探索処理に関する処理を示している。境界追尾手段24は、基点空間又は先行して設定された追尾空間にてエッジが検出されると、それら先行してエッジ検出が行われた単位空間に隣接する追尾空間を設定する(S100)。新たな追尾空間の幅Wの中心は、先行する単位空間の図形データを参照してその方向線の延長線に一致させる。上述したように、追尾空間の幅Wは基点空間の幅より狭く設定される。また高さHに関しては、段差がエッジ方向の変化に対して勾配を有している可能性を考慮して、上面の高さは先行する単位空間での上端の高さZHよりも高く、底面の高さは先行する単位空間での下端の高さZLよりも低く設定することが好適であり、例えば、上面はZH+ΔZ、底面はZL−ΔZの高さとすることができる。なお、追尾は基点空間の方向線が指す2方向それぞれに行われる。また、先行して設定された追尾空間にて境界が検出された場合には、当該追尾空間を求めた方向と同一方向上に、当該境界の方向線を延長して、さらに追尾が行われる。
【0047】
追尾空間を設定すると、境界追尾手段24は当該追尾空間内の点群を取り込み(S102)、先行する単位空間の方向線の延長線に沿ってエッジが存在するかを調べる。追尾空間内に延長線に沿って設定した基準以上の点群が集まっており、その高低差が段差閾値γ以上であれば(S104にて「Yes」の場合)、延長線に沿ってエッジが存在すると判定する。この場合、境界追尾手段24は、境界探索手段22による処理S74と同様の処理(S106)を行って、追尾空間についての図形データを生成する。
【0048】
境界追尾手段24は、この図形データに相当するもの(一致又は交差する方向線)がすでに図形登録されているものの中にあるかを調べる(S108)。図形登録されていなければ(S110にて「No」の場合)、境界追尾手段24は、現在の追尾空間についての図形データを線形リストに追加して(S112)、処理S100に戻り、現在の追尾空間に続く新たな追尾空間を設定する。このようにして境界追尾手段24は追尾空間を順次設定してエッジを追尾する。
【0049】
追尾処理は上述のように2方向に行われ、或る方向の追尾処理は、当該方向の追尾空間にてエッジが見つからなければ(S104にて「No」の場合)、終了し図形登録処理へ移行する(図9のノードEへ進む)。また、追尾にて検出された図形データが既に図形登録されていれば(S110にて「Yes」の場合)、当該段差の情報は線形リストに追加せずに追尾処理を終了して図形登録処理へ移行する(図9のノードEへ進む)。
【0050】
図9は図形登録手段26の概略の処理フロー図である。図形登録手段26は、2方向の追尾処理が終了すると、線形リストに格納されている図形データの方向線の端点を追尾順序に従ってつなぎ合わせて連続線分を作成する(S120)。作成した連続線分は記憶装置6に図形登録される(S122)。図形登録が済むと、当該追尾処理に関する線形リストは不要となるので削除し(S124)、当該基点空間内にて別の段差を探索する多重エッジ処理を行う(図10のノードFへ処理を進める)。なお、もし、線形リストが空であれば(S126)、そのときも線形リストを削除し(S124)、当該基点空間内にて別の段差を探索する多重エッジ処理を行う(図10のノードFへ処理を進める)。
【0051】
図10は、境界探索手段22による多重エッジ処理の概略の処理フロー図である。境界探索手段22は基点空間にてエッジを検出すると、当該エッジについて追尾や図形登録などの処理を実行し、続いて当該エッジの両側に別のエッジがないか探索する多重エッジ処理を行う。図11は多重エッジ処理を説明する模式図であり、単位空間の平面配置を示している。図11(a)に示す例では、基点空間130には最も点群が集まるエッジ132と、エッジ132より点群の集まり度合いが低いエッジ134とが存在している。境界探索手段22はまずエッジ132を検出して当該エッジ132について追尾や図形登録の処理を行った後、その両側に当該エッジ132を含まないように新たな基点空間136,138を設定する(図11(b))。例えば、先行して検出されたエッジ(図11のエッジ132)が延びるいずれかの方向に向かって、当該エッジより左側の領域に基点空間を作成して、処理S57,S58,S59と同様にして点群を取り込み(S140)、処理S60と同様に、当該基点空間でエッジの探索を行い(S141)、エッジが存在するかを判定する(S142)。エッジが存在する場合(S142で「Yes」の場合)は、当該エッジを固定して、そのエッジ方向を中心に基点空間を作成し直して当該基点空間内に点群を取り込み、段差の方向線を求めるという上述の処理を行う(図4のノードCからの処理を実行する)。同様に、先に検出されたエッジの同じ方向に向かって、当該エッジより右側の領域に基点空間を作成して処理S57,S58,S59と同様にして点群を取り込み(S144)、処理S60と同様に、当該基点空間でエッジの探索を行い(S145)、エッジが存在するかを判定する(S146)。エッジが存在する場合(S146で「Yes」の場合)は、当該エッジを固定して、そのエッジ方向を中心に基点空間を作成し直して当該基点空間内に点群を取り込み、段差の方向線を求めるという上述の処理を行う(図4のノードCからの処理を実行する)。
【0052】
新たな基点空間136及び138の何れにおいても多重エッジが検出されなければ(S142及びS146で「No」の場合)、処理S52にて或るインデックスについて設定された基点空間についての段差抽出処理が終わり、次のインデックスの基点空間についての処理が開始される(図3のノードAに戻る)。
【0053】
上記実施形態では、コンピュータを地上段差抽出システム2の各手段として動作させるプログラムは記憶装置6に格納され、コンピュータはこれを読み出して実行する構成としたが、他の構成では、当該プログラムはネットワーク等の通信媒体を介してコンピュータに提供することができ、この場合、地上段差抽出システム2は通信装置を備え当該通信装置がネットワーク等からプログラムを取得し、演算処理装置4に提供したり、記憶装置6に記憶させる。また、当該プログラムはCD−ROM(Compact Disc Read Only Memory)等の記録媒体に格納して提供することも可能である。
【符号の説明】
【0054】
2 地上段差抽出システム、4 演算処理装置、6 記憶装置、8 入力装置、10 出力装置、20 部分空間設定手段、22 境界探索手段、24 境界追尾手段、26 図形登録手段、82 段差部、84 道路部、86 歩道部、130,136,138 基点空間、132,134 エッジ。
【技術分野】
【0001】
本発明は、地物表面の三次元形状を表す点群データに基づいて地上の段差を検出するデータ解析装置、データ解析方法、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、レーザスキャナを用いて、地物の形状を表す三次元点群データを取得する技術が示されている。例えば、モービルマッピングシステムでは、レーザスキャナは自動車に搭載され、車体の上部から斜め下方向にレーザを照射する。レーザの光軸は横方向に走査され、走査角度範囲内にて微小角度ごとにレーザパルスが発射される。レーザの発射から反射光の受信までの時間に基づいて距離が計測され、またその際、レーザの発射方向、時刻、及び車体の位置・姿勢などが計測される。それら計測データから、レーザパルスを反射した点の三次元座標を表す点群データが求められる。
【0003】
また、点群データの取得と同時に、カメラを用いて映像が撮影される。画像はデータ解析にてユーザが計測対象部分を指定する際に利用することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−204615号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来、点群データをもとに地物を判読するためには人手を要しており、三次元CADで編集ツール等を利用して手作業で地物の抽出作業が行われていた。
【0006】
本発明は、地物表面の三次元形状を表す点群データに基づいて地上の段差を自動的に検出するデータ解析装置、データ解析方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係るデータ解析装置は、対象空間における地物表面の三次元形状を表す点群データに基づいて地上の段差を検出するものであって、前記対象空間を複数の部分空間に分けて、当該部分空間をそれぞれ解析の単位空間として設定する部分空間設定手段と、前記単位空間ごとに、前記段差により形成される境界を水平面内にて探索する境界探索手段と、を有し、前記境界探索手段は、予め定められた幅の帯状の領域であって、前記水平面に射影された点群が当該領域内に予め設定した基準以上に集まり、かつ当該領域内の点群が予め設定した段差閾値以上の高低差を有する段差近傍領域を前記水平面内にて探索し、当該段差近傍領域に属する点群の前記水平面内での分布に沿った方向線を前記境界として求める。
【0008】
他の本発明に係るデータ解析装置は、さらに、前記部分空間にて検出された前記境界を当該部分空間の外にて追尾する境界追尾手段を有し、前記境界追尾手段は、前記単位空間から前記境界が検出されると、当該境界に対応する前記方向線の延長線の方向にて当該単位空間に隣接する新たな前記単位空間として追尾空間を設定し、前記境界探索手段は、前記延長線に沿った前記境界を前記追尾空間にて探索する。
【0009】
別の本発明に係るデータ解析装置においては、前記境界探索手段が、それぞれ前記段差近傍領域に隣接する領域の点群に基づいて段差上面の高さ及び段差底面の高さを求め、前記段差近傍領域に属する前記点群のうち前記段差底面より高く、かつ前記段差上面より低い高さ範囲に存在するものの前記水平面内での分布に基づいて前記方向線を求める。
【0010】
本発明において、前記部分空間設定手段は、前記対象空間を直方体形状の前記部分空間に分割する構成とすることができる。
【0011】
本発明に係るデータ解析方法は、対象空間における地物表面の三次元形状を表す点群データに基づいて地上の段差を検出する方法であって、前記対象空間を複数の部分空間に分けて、当該部分空間をそれぞれ解析の単位空間として設定する部分空間設定ステップと、前記単位空間ごとに、前記段差により形成される境界を水平面内にて探索する境界探索ステップと、を有し、前記境界探索ステップは、予め定められた幅の帯状の領域であって、前記水平面に射影された点群が当該領域内に予め設定した基準以上に集まり、かつ当該領域内の点群が予め設定した段差閾値以上の高低差を有する段差近傍領域を前記水平面内にて探索し、当該段差近傍領域に属する点群の前記水平面内での分布に沿った方向線を前記境界として求める。
【0012】
他の本発明に係るデータ解析方法は、さらに、前記部分空間にて検出された前記境界を当該部分空間の外にて追尾する境界追尾ステップを有し、前記境界追尾ステップは、前記単位空間から前記境界が検出されると、当該境界に対応する前記方向線の延長線の方向にて当該単位空間に隣接する新たな前記単位空間として追尾空間を設定し、前記境界探索ステップは、前記延長線に沿った前記境界を前記追尾空間にて探索する。
【0013】
本発明に係るプログラムは、コンピュータに、対象空間における地物表面の三次元形状を表す点群データに基づいて地上の段差を検出するデータ解析を行わせるためのプログラムであって、当該コンピュータを、前記対象空間を複数の部分空間に分けて、当該部分空間をそれぞれ解析の単位空間として設定する部分空間設定手段、及び前記単位空間ごとに、前記段差により形成される境界を水平面内にて探索する境界探索手段、として機能させ、前記境界探索手段は、予め定められた幅の帯状の領域であって、前記水平面に射影された点群が当該領域内に予め設定した基準以上に集まり、かつ当該領域内の点群が予め設定した段差閾値以上の高低差を有する段差近傍領域を前記水平面内にて探索し、当該段差近傍領域に属する点群の前記水平面内での分布に沿った方向線を前記境界として求める。
【0014】
他の本発明に係るプログラムは、コンピュータを、さらに、前記部分空間にて検出された前記境界を当該部分空間の外にて追尾する境界追尾手段として機能させ、前記境界追尾手段は、前記単位空間から前記境界が検出されると、当該境界に対応する前記方向線の延長線の方向にて当該単位空間に隣接する新たな前記単位空間として追尾空間を設定し、前記境界探索手段は、前記延長線に沿った前記境界を前記追尾空間にて探索する。
【発明の効果】
【0015】
本発明によれば、地物表面の三次元形状を表す点群データに基づいて地上の段差を自動的に検出することができる。
【図面の簡単な説明】
【0016】
【図1】本発明の実施形態に係る地上段差抽出システムの概略の構成を示すブロック図である。
【図2】本発明の実施形態に係る地上段差抽出システムによる段差抽出処理の概略のフロー図である。
【図3】部分空間設定手段の概略の処理フロー図である。
【図4】境界探索手段の概略の処理フロー図である。
【図5】基点空間でのエッジ探索処理を説明する模式図である。
【図6】基点空間の再配置を示す模式図である。
【図7】エッジ方向から見た基点空間の垂直断面の模式図である。
【図8】境界追尾手段の概略の処理フロー図である。
【図9】図形登録手段の概略の処理フロー図である。
【図10】境界探索手段による多重エッジ処理の概略の処理フロー図である。
【図11】多重エッジ処理を説明する模式図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施の形態(以下実施形態という)である地上段差抽出システム2について、図面に基づいて説明する。本システムは、地物表面の三次元形状を表す点群データに基づいて地上の段差を検出するデータ解析装置である。点群データは例えば、上述のモービルマッピングシステムのように地上を走行する車両に搭載されたレーザスキャナにより取得される。また、レーザスキャナを地上に設置して計測を行っても良い。点群データが地物表面の三次元形状を表すには、地物表面の凹凸、段差のスケールに応じた密度でレーザスキャンが行われる必要がある。この点、車両や三脚等の高さから行うレーザスキャンは、例えば、道路及びその近傍程度の範囲にて、道路脇の段差といった数センチメートル程度の小さな形状変化を捉えることができる程度の走査密度を実現できる。
【0018】
図1は、地上段差抽出システム2の概略の構成を示すブロック図である。本システムは、演算処理装置4、記憶装置6、入力装置8及び出力装置10を含んで構成される。演算処理装置4として、本システムの各種演算処理を行う専用のハードウェアを作ることも可能であるが、本実施形態では演算処理装置4は、コンピュータ及び、当該コンピュータ上で実行されるプログラムを用いて構築される。
【0019】
当該コンピュータのCPU(Central Processing Unit)が演算処理装置4を構成し、後述する部分空間設定手段20、境界探索手段22、境界追尾手段24及び図形登録手段26として機能する。
【0020】
記憶装置6はコンピュータに内蔵されるハードディスクなどで構成される。記憶装置6は演算処理装置4を部分空間設定手段20、境界探索手段22、境界追尾手段24及び図形登録手段26として機能させるためのプログラム及びその他のプログラムや、本システムの処理に必要な各種データを記憶する。例えば、記憶装置6は、処理対象データとして解析の対象空間の点群データを格納される。例えば、道路に沿った地域が解析の対象空間とされる。
【0021】
入力装置8は、キーボード、マウスなどであり、ユーザが本システムへの操作を行うために用いる。
【0022】
出力装置10は、ディスプレイ、プリンタなどであり、本システムにより求められた段差の境界(エッジ)を画面表示、印刷等によりユーザに示す等に用いられる。
【0023】
図2は、地上段差抽出システム2による段差抽出処理の概略のフロー図である。この図2を参照しながら、演算処理装置4の各手段を説明する。
【0024】
部分空間設定手段20は、対象空間を複数の部分空間に分けて、当該部分空間をそれぞれ解析の初期の単位空間として設定する(S30)。部分空間は隣り合うものが互いにオーバーラップするように設定することもできるが、本実施形態では、部分空間設定手段20は、対象空間を三次元直交格子(メッシュ)状に単純分割して直方体形状の部分空間を生成する。例えば、部分空間は幅W及び奥行きDがそれぞれ50cm、高さHが60cmとすることができる。なお、部分空間設定手段20を構成するプログラムでは、幅W、奥行きD及び高さHはパラメータ化されており、例えば、ユーザが入力装置8を用いて変更することができる。
【0025】
境界探索手段22は、単位空間ごとに、その中の点群を解析し、段差により形成される境界を水平面(XYZ直交座標系でX−Y平面とする)内にて探索する(S32,S34)。境界探索手段22は、探索過程にて、単位空間のX−Y平面上にて境界の候補となる線(候補線)を様々に配置する。本実施形態では直線状の段差を抽出対象とし、その段差の境界に沿った方向線を探索する。これに対応して、候補線の形状も直線又は線分とする。境界探索手段22は、候補線に沿って、予め定められた幅の帯状領域を設定し、候補線に応じてX−Y平面にて様々に設定される帯状領域のうち段差を包含する段差近傍領域を探索する。具体的には、境界探索手段22は、帯状領域内に位置するデータ点(点群)の個数及び当該帯状領域に属するデータ点の高低差(Z軸方向の座標差)を求める(S32)。そして境界探索手段22はその結果に対して設定された条件に基づいて段差のエッジを抽出する(S34)。すなわち、点群が帯状の領域内に予め設定した基準以上に集まり、かつ当該領域内の点群が予め設定した段差閾値以上の高低差を有する場合に、当該領域を段差近傍領域と判断し、当該段差近傍領域の元となった候補線を境界と定める。なお、処理S32において、データ点が帯状領域内にあるか否かはデータ点のZ座標は考慮せずに、X−Y座標のみで判断される。例えば、境界抽出の条件のうち段差近傍領域内の点群の数に関する基準として、候補線のうちその近傍に集まる点群の個数が最も多いという条件を設定することができる。
【0026】
また、本実施形態の境界探索手段22は、解析の単位空間として初期設定される部分空間にてエッジを見つけると、当該エッジが中心に来るように単位空間を配置し直す(S36)。次に、配置し直した当該単位空間より当該エッジの段差近傍領域に隣接する領域の点群に基づいて段差上面の高さ及び段差底面の高さを求め、前記段差近傍領域に属する前記点群のうち前記段差底面より高く、かつ前記段差上面より低い高さ範囲に存在する点群を求める(S38)。前記より求めた点群については、段差面上の点群であるので、求めた点群の前記水平面の分布に基づいて段差の境界を示す方向線を求める(S40)。
【0027】
境界探索手段22は単位空間内にて、最も点群が集まっている境界のみを探索してもよいし、単位空間内に境界が複数存在する多重エッジを想定した処理としてもよい。
【0028】
さて、上述のように本実施形態では直線状の段差のエッジを抽出対象としている。これは、直線の抽出は円弧等の他の形状より処理負荷が少ないことや、抽出しようとする段差は多くの場合、直線状のエッジを有することによる。また、単位空間は道路のカーブやロータリー交差点の中心部の円などに比べて小さく設定されているので、単位空間内ではそれらの構造物の段差のエッジは直線として扱うことが可能である。なお、処理負荷が増すものの、原理的には例えば円弧等、所定の形状を想定して直線以外のエッジを探索する構成も可能である。
【0029】
境界追尾手段24は、部分空間にて検出された境界を当該部分空間の外にて追尾する(S42)。境界追尾手段24は、基点となる部分空間(基点空間)に存在する境界の方向線が検出されると、当該方向線の前後の延長線方向にて当該基点空間に隣接する新たな単位空間として追尾空間を設定する。この場合、境界探索手段22は、延長線に沿った境界を追尾空間内にて探索する。また、追尾空間にて境界が検出されると、境界追尾手段24はさらに当該追尾空間を求めた方向と同一方向上に、当該境界の方向線を延長して追尾空間を設定し、境界探索手段22は当該追尾空間にて境界を探索する。追尾空間として設定される解析の単位空間は本実施形態では部分空間と同様、直方体形状としているが、寸法(W×D×H)は部分空間とは異ならせている。例えば、高さHは先行して探索が行われている基点空間又は追尾空間にて既に検出されている段差の高さを考慮して定めることができる。また、追尾している境界の方向・位置は予め見当が付いているので、基本的に境界に直交する方向の寸法(幅W)は、部分空間より狭く設定することが可能である。
【0030】
図形登録手段26は、境界追尾手段24により求められた境界をつなぎ合わせて、連続線分を作成し(S42)、記憶装置6に登録する。
【0031】
以下、地上段差抽出システム2の処理例をより詳しく説明する。図3、図4、図8〜10は、演算処理装置4が実行する一連の処理の流れを分割して示しており、まず、図3は、部分空間設定手段20の概略の処理フロー図であり、地上段差抽出システム2における解析の単位空間の初期設定、つまり部分空間の作成処理に関する部分の処理を示している。地上段差抽出システム2が段差抽出処理を開始すると(S50)、部分空間設定手段20は、追尾処理の基点空間となる部分空間を順次作成する。例えば、部分空間のサイズが設定されている場合には、対象空間のサイズに応じて、X,Y,Z各方向の部分空間の配列個数が定まり、例えば、各方向の部分空間の位置を示すインデックスの範囲が決定される。一方、対象空間の各方向の分割数(インデックスの幅)が設定されている場合には、対象空間のサイズに応じて部分空間のサイズが算出され設定される。
【0032】
部分空間設定手段20は、部分空間の三次元メッシュ状の配置を表すインデックスを所定の順番で変更し、設定されたインデックスに応じた位置(X,Y,Z各方向の座標範囲)で定義される直方体の部分空間を基点空間として設定する(S52)。なお、ここで、インデックス指定されたメッシュの部分空間が未処理のものであれば(S54にて「No」の場合)、部分空間設定手段20は基点空間内の点群を例えば、ハードディスク等の記憶装置6からRAM(Random Access Memory)等の作業領域に取り込む(S57)。基点空間内に取り込んだ点群の数が閾値n以上であり(S58にて「Yes」の場合)、かつ基点空間内に取り込んだ点群が平坦でない場合(S59にて「No」の場合)には、当該部分空間を基点空間とした段差探索を行う(図4のノードBへ処理が進む)。
【0033】
一方、基点空間内に取り込んだ点群の数が閾値n未満である場合(S58にて「No」の場合)、及び、基点空間内に取り込んだ点群が平坦と判断される場合(S59にて「Yes」の場合)には、段差が存在しないか、精度良く段差探索ができないとして当該探索は行わない。これらの場合は、当該基点空間については処理を終え、次の部分空間を基点空間とした処理に移る(ノードAへ処理が戻る)。例えば、処理S58にて、点群の閾値nは5以上に設定することができる。また、処理S59では、点群の高低差(最大標高と最小標高との差)が予め設定した値より小さければ平坦であると判断する。
【0034】
全てのメッシュについて処理が終わっている場合は(S54にて「Yes」の場合)、演算処理装置4は段差抽出の処理を終える(S56)。
【0035】
図4は、境界探索手段22の概略の処理フロー図であり、基点空間における段差のエッジ探索に関する処理を示している。境界探索手段22は基点空間内にエッジが存在するか探索する(S60)。
【0036】
図5は基点空間でのエッジ探索処理S60を説明する模式図である。図5は、基点空間を上面から見た図であり、基点空間62に対応する矩形と、基点空間内の点群のX−Y面内での配置の一例が示されている。境界探索手段22は、基点空間内の点群から任意の2つのデータ点Pα,Pβを選択し、それら2点を両端とするX−Y面内での線分L0をエッジの候補線として設定すると共に、線分L0を中心としてその両側にそれぞれ幅w(合計幅2w)の帯状領域EAを設定する。境界探索手段22は点群のうちX−Y平面での座標が当該領域EA内に位置するデータ点の個数をカウントする。データ点が領域EA内であるか否かは例えば、X−Y平面上での当該データ点から線分L0への垂線の長さがw以下であるか否かによって判定可能である。また、エッジの条件として、領域EA内の点群が表す三次元形状が平坦でないことを課す。具体的には、境界探索手段22は、領域EA内に包含されるデータ点の高低差(最大標高と最小標高との差)ΔZが予め設定した段差閾値γ以上であれば平坦ではないと判定する。
【0037】
境界探索手段22は、基点空間内の2つのデータ点の全ての組み合わせについて候補線を設定して上述の判定を行い、領域EA内に最もデータ点が多く集まり、かつΔZが閾値γ以上である線分L0を基点空間における探索処理でのエッジとして選択する。エッジが存在した場合には(S62にて「Yes」の場合)、処理S70に進む。一方、エッジが見つからなかった場合(S62にて「No」の場合)、当該基点空間については処理を終え、次の部分空間を基点空間とした処理に移る(図3のノードAへ処理が進む)。
【0038】
ここで、幅wはパラメータであり、段差に対応するデータ点のエッジに直交する方向の位置のばらつきを吸収する。例えば、道路脇の段差の抽出においてはwは3cm程度とすることができる。また、段差閾値γは例えば2cm程度に設定できる。
【0039】
境界探索手段22は、基点空間から抽出したエッジの位置を固定し、その固定したエッジL1が中心となるように基点空間を作成し直し、当該基点空間内の点群を取り込む(S70)。図6は、基点空間の再配置を示す模式図であり、再配置後の基点空間72及びエッジL1を上面から見た図であり、比較のため当初の基点空間62を一点鎖線で示している。
【0040】
エッジL1を抽出すると、境界探索手段22は、基点空間内の点群を段差の下部(下端)、段差部、段差の上部(上端)に分類する(S74)。図7は、エッジ方向から見た基点空間の垂直断面の模式図である。図7において丸印がデータ点80であり、図において中央に段差部82が位置し、その左側が下端(例えば道路部84)であり、右側が上端(例えば歩道部86)である。具体的には、段差部82はエッジに対応する段差近傍領域内の点群であり、X−Y平面にてエッジL1を中心とする幅2wの帯状領域内に位置する。境界探索手段22は、段差部82の両側それぞれにおいて、点群の最小標高を求める。例えば、図7において段差82の左側の点群の最小標高と、右側の点群の最小標高とを求め、これらを比較して、最小標高が低い側を段差の下端とし、当該最小標高を下端の高さZLと定義する。一方、最小標高が高い側を段差の上端とし、当該最小標高を上端の高さZHと定義する。このように最小標高で段差の下端、上端の高さを定義することで、地物表面より上に現れるノイズ点、草や枝の点群の影響を除くことができる。
【0041】
また、段差部82の点群から段差の方向を算出する。境界探索手段22は、段差部82内の2つのデータ点の全ての組み合わせについて当該2点Qα,Qβを通る線分を設定し、X−Y面内の位置関係に関して、当該線分と段差部82の他の各データ点との垂線長の和を求める。そして、段差部82内における2点Qα,Qβの組み合わせのうち、当該垂線長の和が最小となるものを探し、当該2点で定まる線分をエッジの方向線と定める。
【0042】
なお、段差の方向線を表すX−Y面内での一次式を段差部82の全データ点を用いた最小二乗法により決定することにより、方向線を求めることもできる。
【0043】
なお、段差の方向線を求める上述の各方法において、線分は上端の高さと下端の高さとの間に位置するものに限定することが好適である。また、段差部82は幅2wを有し、当該幅を有する段差部82内のデータ点80には、図7に示すように、上端の高さと下端の高さとの間に存在する段差面(垂直面又は傾斜面)に位置するデータ点80iだけでなく、上端の面又は下端の面に位置するデータ点80eも含まれ得る。段差の方向線を精度良く段差面に沿わせるには、段差の方向線を求める上述の各方法の処理において、段差部82内のデータ点80(80i及び80e)からデータ点80eを除去し、残りのデータ点80iのみを用いることが好適である。例えば、パラメータεZ(>0)を設定し、段差部82のデータ点80(80i及び80e)のうち、Z座標が[ZL+εZ,ZH−εZ]なる範囲内であるものをデータ点80iとして段差の方向線の決定に用いる構成とすることができる。パラメータεZは例えば、段差の高さ(ZH−ZL)や段差閾値γに基づいて設定することができ、例えば、それらの1/2以下に設定される。また、設定したパラメータεZに対して段差部82内のデータ点80が全て80eとなり、データ点80iが残らない場合には、データ点80eの除外処理を行わない構成としてもよいし、一定個数又は一定割合がデータ点80iとして残るようにパラメータεZを可変設定する構成としてもよい。
【0044】
境界探索手段22は上述の処理結果を基に図形データを求める。例えば、求めた段差の方向線が基点空間72の平面形状である矩形と交わる2つの交点を求め、それら交点を結んだ線を方向線と定義する。図形データは、上記各交点を定義するX,Y座標と下端の高さZLで与えられるZ座標とを組み合わせて得られる三次元空間内での2つの点を両端とする線分であるエッジ下端、上記各交点を定義するX,Y座標と上端の高さZHで与えられるZ座標とを組み合わせて得られる三次元空間内での2つの点を両端とする線分であるエッジ上端、及び上記各交点を定義するX,Y座標と平均標高ZM≡(ZL+ZH)/2とを組み合わせて得られる三次元空間内での2つの点を両端とする線分であるエッジ中央からなる。すなわち、図形データとして段差面の骨格を表す単純な図形を求めている。
【0045】
境界探索手段22は、この図形データに相当するもの(一致又は交差する方向線)がすでに図形登録されているものの中に存在するかを調べる(S90)。図形登録されていなければ(S92にて「No」の場合)、図形データをバッファするための線形リストを生成して、当該線形リストに、基点空間から求めた図形データを格納し(S94)、境界追尾処理を開始する(図8のノードDへ進む)。一方、図形登録されていれば(S92にて「Yes」の場合)、当該段差の情報は記録せずに、当該基点空間内にて別の段差を探索する多重エッジ処理を行う(図10のノードFへ処理を進める)。
【0046】
図8は境界追尾手段24の概略の処理フロー図であり、追尾空間における段差のエッジの探索処理に関する処理を示している。境界追尾手段24は、基点空間又は先行して設定された追尾空間にてエッジが検出されると、それら先行してエッジ検出が行われた単位空間に隣接する追尾空間を設定する(S100)。新たな追尾空間の幅Wの中心は、先行する単位空間の図形データを参照してその方向線の延長線に一致させる。上述したように、追尾空間の幅Wは基点空間の幅より狭く設定される。また高さHに関しては、段差がエッジ方向の変化に対して勾配を有している可能性を考慮して、上面の高さは先行する単位空間での上端の高さZHよりも高く、底面の高さは先行する単位空間での下端の高さZLよりも低く設定することが好適であり、例えば、上面はZH+ΔZ、底面はZL−ΔZの高さとすることができる。なお、追尾は基点空間の方向線が指す2方向それぞれに行われる。また、先行して設定された追尾空間にて境界が検出された場合には、当該追尾空間を求めた方向と同一方向上に、当該境界の方向線を延長して、さらに追尾が行われる。
【0047】
追尾空間を設定すると、境界追尾手段24は当該追尾空間内の点群を取り込み(S102)、先行する単位空間の方向線の延長線に沿ってエッジが存在するかを調べる。追尾空間内に延長線に沿って設定した基準以上の点群が集まっており、その高低差が段差閾値γ以上であれば(S104にて「Yes」の場合)、延長線に沿ってエッジが存在すると判定する。この場合、境界追尾手段24は、境界探索手段22による処理S74と同様の処理(S106)を行って、追尾空間についての図形データを生成する。
【0048】
境界追尾手段24は、この図形データに相当するもの(一致又は交差する方向線)がすでに図形登録されているものの中にあるかを調べる(S108)。図形登録されていなければ(S110にて「No」の場合)、境界追尾手段24は、現在の追尾空間についての図形データを線形リストに追加して(S112)、処理S100に戻り、現在の追尾空間に続く新たな追尾空間を設定する。このようにして境界追尾手段24は追尾空間を順次設定してエッジを追尾する。
【0049】
追尾処理は上述のように2方向に行われ、或る方向の追尾処理は、当該方向の追尾空間にてエッジが見つからなければ(S104にて「No」の場合)、終了し図形登録処理へ移行する(図9のノードEへ進む)。また、追尾にて検出された図形データが既に図形登録されていれば(S110にて「Yes」の場合)、当該段差の情報は線形リストに追加せずに追尾処理を終了して図形登録処理へ移行する(図9のノードEへ進む)。
【0050】
図9は図形登録手段26の概略の処理フロー図である。図形登録手段26は、2方向の追尾処理が終了すると、線形リストに格納されている図形データの方向線の端点を追尾順序に従ってつなぎ合わせて連続線分を作成する(S120)。作成した連続線分は記憶装置6に図形登録される(S122)。図形登録が済むと、当該追尾処理に関する線形リストは不要となるので削除し(S124)、当該基点空間内にて別の段差を探索する多重エッジ処理を行う(図10のノードFへ処理を進める)。なお、もし、線形リストが空であれば(S126)、そのときも線形リストを削除し(S124)、当該基点空間内にて別の段差を探索する多重エッジ処理を行う(図10のノードFへ処理を進める)。
【0051】
図10は、境界探索手段22による多重エッジ処理の概略の処理フロー図である。境界探索手段22は基点空間にてエッジを検出すると、当該エッジについて追尾や図形登録などの処理を実行し、続いて当該エッジの両側に別のエッジがないか探索する多重エッジ処理を行う。図11は多重エッジ処理を説明する模式図であり、単位空間の平面配置を示している。図11(a)に示す例では、基点空間130には最も点群が集まるエッジ132と、エッジ132より点群の集まり度合いが低いエッジ134とが存在している。境界探索手段22はまずエッジ132を検出して当該エッジ132について追尾や図形登録の処理を行った後、その両側に当該エッジ132を含まないように新たな基点空間136,138を設定する(図11(b))。例えば、先行して検出されたエッジ(図11のエッジ132)が延びるいずれかの方向に向かって、当該エッジより左側の領域に基点空間を作成して、処理S57,S58,S59と同様にして点群を取り込み(S140)、処理S60と同様に、当該基点空間でエッジの探索を行い(S141)、エッジが存在するかを判定する(S142)。エッジが存在する場合(S142で「Yes」の場合)は、当該エッジを固定して、そのエッジ方向を中心に基点空間を作成し直して当該基点空間内に点群を取り込み、段差の方向線を求めるという上述の処理を行う(図4のノードCからの処理を実行する)。同様に、先に検出されたエッジの同じ方向に向かって、当該エッジより右側の領域に基点空間を作成して処理S57,S58,S59と同様にして点群を取り込み(S144)、処理S60と同様に、当該基点空間でエッジの探索を行い(S145)、エッジが存在するかを判定する(S146)。エッジが存在する場合(S146で「Yes」の場合)は、当該エッジを固定して、そのエッジ方向を中心に基点空間を作成し直して当該基点空間内に点群を取り込み、段差の方向線を求めるという上述の処理を行う(図4のノードCからの処理を実行する)。
【0052】
新たな基点空間136及び138の何れにおいても多重エッジが検出されなければ(S142及びS146で「No」の場合)、処理S52にて或るインデックスについて設定された基点空間についての段差抽出処理が終わり、次のインデックスの基点空間についての処理が開始される(図3のノードAに戻る)。
【0053】
上記実施形態では、コンピュータを地上段差抽出システム2の各手段として動作させるプログラムは記憶装置6に格納され、コンピュータはこれを読み出して実行する構成としたが、他の構成では、当該プログラムはネットワーク等の通信媒体を介してコンピュータに提供することができ、この場合、地上段差抽出システム2は通信装置を備え当該通信装置がネットワーク等からプログラムを取得し、演算処理装置4に提供したり、記憶装置6に記憶させる。また、当該プログラムはCD−ROM(Compact Disc Read Only Memory)等の記録媒体に格納して提供することも可能である。
【符号の説明】
【0054】
2 地上段差抽出システム、4 演算処理装置、6 記憶装置、8 入力装置、10 出力装置、20 部分空間設定手段、22 境界探索手段、24 境界追尾手段、26 図形登録手段、82 段差部、84 道路部、86 歩道部、130,136,138 基点空間、132,134 エッジ。
【特許請求の範囲】
【請求項1】
対象空間における地物表面の三次元形状を表す点群データに基づいて地上の段差を検出するデータ解析装置であって、
前記対象空間を複数の部分空間に分けて、当該部分空間をそれぞれ解析の単位空間として設定する部分空間設定手段と、
前記単位空間ごとに、前記段差により形成される境界を水平面内にて探索する境界探索手段と、を有し、
前記境界探索手段は、予め定められた幅の帯状の領域であって、前記水平面に射影された点群が当該領域内に予め設定した基準以上に集まり、かつ当該領域内の点群が予め設定した段差閾値以上の高低差を有する段差近傍領域を前記水平面内にて探索し、当該段差近傍領域に属する点群の前記水平面内での分布に沿った方向線を前記境界として求めること、
を特徴とするデータ解析装置。
【請求項2】
請求項1に記載のデータ解析装置において、
前記部分空間にて検出された前記境界を当該部分空間の外にて追尾する境界追尾手段を有し、
前記境界追尾手段は、前記単位空間から前記境界が検出されると、当該境界に対応する前記方向線の延長線の方向にて当該単位空間に隣接する新たな前記単位空間として追尾空間を設定し、
前記境界探索手段は、前記延長線に沿った前記境界を前記追尾空間にて探索すること、
を特徴とするデータ解析装置。
【請求項3】
請求項1又は請求項2に記載のデータ解析装置において、
前記境界探索手段は、それぞれ前記段差近傍領域に隣接する領域の点群に基づいて段差上面の高さ及び段差底面の高さを求め、前記段差近傍領域に属する前記点群のうち前記段差底面より高く、かつ前記段差上面より低い高さ範囲に存在するものの前記水平面内での分布に基づいて前記方向線を求めること、
を特徴とするデータ解析装置。
【請求項4】
請求項1から請求項3のいずれか1つに記載のデータ解析装置において、
前記部分空間設定手段は、前記対象空間を直方体形状の前記部分空間に分割すること、を特徴とするデータ解析装置。
【請求項5】
対象空間における地物表面の三次元形状を表す点群データに基づいて地上の段差を検出するデータ解析方法であって、
前記対象空間を複数の部分空間に分けて、当該部分空間をそれぞれ解析の単位空間として設定する部分空間設定ステップと、
前記単位空間ごとに、前記段差により形成される境界を水平面内にて探索する境界探索ステップと、を有し、
前記境界探索ステップは、予め定められた幅の帯状の領域であって、前記水平面に射影された点群が当該領域内に予め設定した基準以上に集まり、かつ当該領域内の点群が予め設定した段差閾値以上の高低差を有する段差近傍領域を前記水平面内にて探索し、当該段差近傍領域に属する点群の前記水平面内での分布に沿った方向線を前記境界として求めること、
を特徴とするデータ解析方法。
【請求項6】
請求項5に記載のデータ解析方法において、
前記部分空間にて検出された前記境界を当該部分空間の外にて追尾する境界追尾ステップを有し、
前記境界追尾ステップは、前記単位空間から前記境界が検出されると、当該境界に対応する前記方向線の延長線の方向にて当該単位空間に隣接する新たな前記単位空間として追尾空間を設定し、
前記境界探索ステップは、前記延長線に沿った前記境界を前記追尾空間にて探索すること、
を特徴とするデータ解析方法。
【請求項7】
コンピュータに、対象空間における地物表面の三次元形状を表す点群データに基づいて地上の段差を検出するデータ解析を行わせるためのプログラムであって、当該コンピュータを、
前記対象空間を複数の部分空間に分けて、当該部分空間をそれぞれ解析の単位空間として設定する部分空間設定手段、及び
前記単位空間ごとに、前記段差により形成される境界を水平面内にて探索する境界探索手段、として機能させ、
前記境界探索手段は、予め定められた幅の帯状の領域であって、前記水平面に射影された点群が当該領域内に予め設定した基準以上に集まり、かつ当該領域内の点群が予め設定した段差閾値以上の高低差を有する段差近傍領域を前記水平面内にて探索し、当該段差近傍領域に属する点群の前記水平面内での分布に沿った方向線を前記境界として求めること、
を特徴とするプログラム。
【請求項8】
請求項7に記載のプログラムにおいて、コンピュータを、さらに、
前記部分空間にて検出された前記境界を当該部分空間の外にて追尾する境界追尾手段として機能させ、
前記境界追尾手段は、前記単位空間から前記境界が検出されると、当該境界に対応する前記方向線の延長線の方向にて当該単位空間に隣接する新たな前記単位空間として追尾空間を設定し、
前記境界探索手段は、前記延長線に沿った前記境界を前記追尾空間にて探索すること、
を特徴とするプログラム。
【請求項1】
対象空間における地物表面の三次元形状を表す点群データに基づいて地上の段差を検出するデータ解析装置であって、
前記対象空間を複数の部分空間に分けて、当該部分空間をそれぞれ解析の単位空間として設定する部分空間設定手段と、
前記単位空間ごとに、前記段差により形成される境界を水平面内にて探索する境界探索手段と、を有し、
前記境界探索手段は、予め定められた幅の帯状の領域であって、前記水平面に射影された点群が当該領域内に予め設定した基準以上に集まり、かつ当該領域内の点群が予め設定した段差閾値以上の高低差を有する段差近傍領域を前記水平面内にて探索し、当該段差近傍領域に属する点群の前記水平面内での分布に沿った方向線を前記境界として求めること、
を特徴とするデータ解析装置。
【請求項2】
請求項1に記載のデータ解析装置において、
前記部分空間にて検出された前記境界を当該部分空間の外にて追尾する境界追尾手段を有し、
前記境界追尾手段は、前記単位空間から前記境界が検出されると、当該境界に対応する前記方向線の延長線の方向にて当該単位空間に隣接する新たな前記単位空間として追尾空間を設定し、
前記境界探索手段は、前記延長線に沿った前記境界を前記追尾空間にて探索すること、
を特徴とするデータ解析装置。
【請求項3】
請求項1又は請求項2に記載のデータ解析装置において、
前記境界探索手段は、それぞれ前記段差近傍領域に隣接する領域の点群に基づいて段差上面の高さ及び段差底面の高さを求め、前記段差近傍領域に属する前記点群のうち前記段差底面より高く、かつ前記段差上面より低い高さ範囲に存在するものの前記水平面内での分布に基づいて前記方向線を求めること、
を特徴とするデータ解析装置。
【請求項4】
請求項1から請求項3のいずれか1つに記載のデータ解析装置において、
前記部分空間設定手段は、前記対象空間を直方体形状の前記部分空間に分割すること、を特徴とするデータ解析装置。
【請求項5】
対象空間における地物表面の三次元形状を表す点群データに基づいて地上の段差を検出するデータ解析方法であって、
前記対象空間を複数の部分空間に分けて、当該部分空間をそれぞれ解析の単位空間として設定する部分空間設定ステップと、
前記単位空間ごとに、前記段差により形成される境界を水平面内にて探索する境界探索ステップと、を有し、
前記境界探索ステップは、予め定められた幅の帯状の領域であって、前記水平面に射影された点群が当該領域内に予め設定した基準以上に集まり、かつ当該領域内の点群が予め設定した段差閾値以上の高低差を有する段差近傍領域を前記水平面内にて探索し、当該段差近傍領域に属する点群の前記水平面内での分布に沿った方向線を前記境界として求めること、
を特徴とするデータ解析方法。
【請求項6】
請求項5に記載のデータ解析方法において、
前記部分空間にて検出された前記境界を当該部分空間の外にて追尾する境界追尾ステップを有し、
前記境界追尾ステップは、前記単位空間から前記境界が検出されると、当該境界に対応する前記方向線の延長線の方向にて当該単位空間に隣接する新たな前記単位空間として追尾空間を設定し、
前記境界探索ステップは、前記延長線に沿った前記境界を前記追尾空間にて探索すること、
を特徴とするデータ解析方法。
【請求項7】
コンピュータに、対象空間における地物表面の三次元形状を表す点群データに基づいて地上の段差を検出するデータ解析を行わせるためのプログラムであって、当該コンピュータを、
前記対象空間を複数の部分空間に分けて、当該部分空間をそれぞれ解析の単位空間として設定する部分空間設定手段、及び
前記単位空間ごとに、前記段差により形成される境界を水平面内にて探索する境界探索手段、として機能させ、
前記境界探索手段は、予め定められた幅の帯状の領域であって、前記水平面に射影された点群が当該領域内に予め設定した基準以上に集まり、かつ当該領域内の点群が予め設定した段差閾値以上の高低差を有する段差近傍領域を前記水平面内にて探索し、当該段差近傍領域に属する点群の前記水平面内での分布に沿った方向線を前記境界として求めること、
を特徴とするプログラム。
【請求項8】
請求項7に記載のプログラムにおいて、コンピュータを、さらに、
前記部分空間にて検出された前記境界を当該部分空間の外にて追尾する境界追尾手段として機能させ、
前記境界追尾手段は、前記単位空間から前記境界が検出されると、当該境界に対応する前記方向線の延長線の方向にて当該単位空間に隣接する新たな前記単位空間として追尾空間を設定し、
前記境界探索手段は、前記延長線に沿った前記境界を前記追尾空間にて探索すること、
を特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−37490(P2012−37490A)
【公開日】平成24年2月23日(2012.2.23)
【国際特許分類】
【出願番号】特願2010−180529(P2010−180529)
【出願日】平成22年8月11日(2010.8.11)
【出願人】(000135771)株式会社パスコ (102)
【Fターム(参考)】
【公開日】平成24年2月23日(2012.2.23)
【国際特許分類】
【出願日】平成22年8月11日(2010.8.11)
【出願人】(000135771)株式会社パスコ (102)
【Fターム(参考)】
[ Back to top ]