(57)【特許請求の範囲】
【請求項１】
対象空間における地物表面から抽出された点群の三次元座標データに基づいて、地表から立ち上がった目的地物を検出する地物検出装置であって、
三次元空間における予め定められた形状特徴を有する複数種類の要素図形を用い、前記目的地物の標準形状を１つ又は高さ方向に沿って並ぶ複数の前記要素図形で表した地物モデルを予め記憶したモデル記憶手段と、
前記対象空間を水平な複数の層状空間に分割する層状空間設定手段と、
前記各層状空間にて、水平面に射影され予め設定した基準以上に近傍に集まる前記点群を地物表面の位置であるエッジとして検出するエッジ検出手段と、
前記エッジを前記要素図形のうち当該エッジの形状に対応する射影を生じるものに分類し、当該エッジと当該分類とを対応付けた層別オブジェクトを生成するオブジェクト生成手段と、
それぞれの前記エッジが高さ方向に沿って並ぶ複数の前記層別オブジェクトからなるグループを求め、当該グループにおける高さ方向に沿った前記分類の並び方を前記地物モデルと照合して前記目的地物を検出する目的地物検出手段と、
を有することを特徴とする地物検出装置。
【請求項２】
請求項１に記載の地物検出装置において、
前記複数の層状空間それぞれの高さ方向の寸法は同一であること、を特徴とする地物検出装置。
【請求項３】
請求項１又は請求項２に記載の地物検出装置において、
前記目的地物検出手段は、互いに異なる前記層状空間に存在する第１エッジと第２エッジの水平面内での位置に関し、前記第１エッジを中心線とし所定幅を有するエッジ近傍領域と前記第２エッジとが重なりを有する場合に前記第１エッジと前記第２エッジとは高さ方向に並ぶと判断すること、を特徴とする地物検出装置。
【請求項４】
請求項１から請求項３のいずれか１つに記載の地物検出装置において、
前記要素図形は、水平断面にて非円形の形状及び予め定めた閾値長さ以上の長さを有する第１の略垂直面と、水平断面にて非円形の形状及び前記閾値長さ未満の長さを有する第２の略垂直面と、水平断面が予め定めた閾値半径以上の半径を有する円形である第１の円柱と、水平断面が前記閾値半径未満の半径を有する円形である第２の円柱と、を含むことを特徴とする地物検出装置。
【請求項５】
対象空間における地物表面から抽出された点群の三次元座標データに基づいて、地表から立ち上がった目的地物を検出する地物検出方法であって、
前記対象空間を水平な複数の層状空間に分割する層状空間設定ステップと、
前記各層状空間にて、水平面に射影され予め設定した基準以上に近傍に集まる前記点群を地物表面の位置であるエッジとして検出するエッジ検出ステップと、
前記エッジを三次元空間における予め定められた形状特徴を有する複数種類の要素図形のうち当該エッジの形状に対応する射影を生じるものに分類し、当該エッジと当該分類とを対応付けた層別オブジェクトを生成するオブジェクト生成ステップと、
それぞれの前記エッジが高さ方向に沿って並ぶ複数の前記層別オブジェクトからなるグループを求めるグループ化ステップと、
前記目的地物の標準形状を１つ又は高さ方向に沿って並ぶ複数の前記要素図形で表した地物モデルを予め記憶したモデル記憶手段から前記地物モデルを読み出し、前記グループにおける高さ方向に沿った前記分類の並び方を当該地物モデルと照合して前記目的地物を検出する地物モデル照合ステップと、
を有することを特徴とする地物検出方法。
【請求項６】
対象空間における地物表面から抽出された点群の三次元座標データに基づいて、地表から立ち上がった目的地物を検出する処理をコンピュータに行わせるためのプログラムであって、当該コンピュータを、
三次元空間における予め定められた形状特徴を有する複数種類の要素図形を用い、前記目的地物の標準形状を１つ又は高さ方向に沿って並ぶ複数の前記要素図形で表した地物モデルを予め記憶したモデル記憶手段、
前記対象空間を水平な複数の層状空間に分割する層状空間設定手段、
前記各層状空間にて、水平面に射影され予め設定した基準以上に近傍に集まる前記点群を地物表面の位置であるエッジとして検出するエッジ検出手段、
前記エッジを前記要素図形のうち当該エッジの形状に対応する射影を生じるものに分類し、当該エッジと当該分類とを対応付けた層別オブジェクトを生成するオブジェクト生成手段、及び、
それぞれの前記エッジが高さ方向に沿って並ぶ複数の前記層別オブジェクトからなるグループを求め、当該グループにおける高さ方向に沿った前記分類の並び方を前記地物モデルと照合して前記目的地物を検出する目的地物検出手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は対象空間における地物表面から抽出された点群の三次元座標データに基づいて、地表から立ち上がった目的地物を検出する地物検出装置、地物検出方法及びプログラムに関する。
【背景技術】
【０００２】
従来、レーザスキャナを用いて、地物の形状を表す三次元点群データを取得する技術が示されている。例えば、モービルマッピングシステムでは、レーザスキャナは自動車の上部に搭載され、周囲にレーザを照射する。レーザの光軸は仰俯角及び方位角を変えることにより垂直方向及び水平方向に走査され、走査範囲内にて微小角度ごとにレーザパルスが発射される。レーザの発射から反射光の受信までの時間に基づいて距離が計測され、またその際、レーザの発射方向、時刻、及び車体の位置・姿勢などが計測される。それら計測データから、レーザパルスを反射した点の三次元座標を表す点群データが求められる。
【０００３】
特許文献１は点群データから地物の壁面を自動的に検出する技術を開示しており、また特許文献２は点群データから電柱などの円柱形状の地物を自動的に検出する技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−０５３９１５号公報
【特許文献２】特開２０１３−０６４６８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
点群データから複数の種類の地物を検出する場合、従来は地物の種類ごとに点群データに対する処理を行っており、必ずしも処理効率が良いとは言えない。この点、予め決まっている複数種類の地物を点群データから直接的に検出する装置やプログラム等を作成することで、処理効率の改善を図ることも考えられる。しかし、検出対象の地物の種類を追加しようとすると、必要となる装置、プログラムの構成などの変更が複雑になるという問題があった。
【０００６】
本発明は上記問題点を解決するためになされたものであり、点群データから複数種類の目的地物を検出する処理の効率を向上させることができ、また目的地物の追加・変更に柔軟に対応できる地物検出装置、地物検出方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）本発明に係る地物検出装置は、対象空間における地物表面から抽出された点群の三次元座標データに基づいて、地表から立ち上がった目的地物を検出する装置であって、三次元空間における予め定められた形状特徴を有する複数種類の要素図形を用い、前記目的地物の標準形状を１つ又は高さ方向に沿って並ぶ複数の前記要素図形で表した地物モデルを予め記憶したモデル記憶手段と、前記対象空間を水平な複数の層状空間に分割する層状空間設定手段と、前記各層状空間にて、水平面に射影され予め設定した基準以上に近傍に集まる前記点群を地物表面の位置であるエッジとして検出するエッジ検出手段と、前記エッジを前記要素図形のうち当該エッジの形状に対応する射影を生じるものに分類し、当該エッジと当該分類とを対応付けた層別オブジェクトを生成するオブジェクト生成手段と、それぞれの前記エッジが高さ方向に沿って並ぶ複数の前記層別オブジェクトからなるグループを求め、当該グループにおける高さ方向に沿った前記分類の並び方を前記地物モデルと照合して前記目的地物を検出する目的地物検出手段と、を有する。
【０００８】
（２）上記（１）の地物検出装置において、前記複数の層状空間それぞれの高さ方向の寸法は同一である構成とすることができる。
【０００９】
（３）上記（１）又は（２）の地物検出装置において、前記目的地物検出手段は、互いに異なる前記層状空間に存在する第１エッジと第２エッジの水平面内での位置に関し、前記第１エッジを中心線とし所定幅を有するエッジ近傍領域と前記第２エッジとが重なりを有する場合に前記第１エッジと前記第２エッジとは高さ方向に並ぶと判断する構成とすることができる。
【００１０】
（４）上記（１）〜（３）の地物検出装置において、前記要素図形は、水平断面にて非円形の形状及び予め定めた閾値長さ以上の長さを有する第１の略垂直面と、水平断面にて非円形の形状及び前記閾値長さ未満の長さを有する第２の略垂直面と、水平断面が予め定めた閾値半径以上の半径を有する円形である第１の円柱と、水平断面が前記閾値半径未満の半径を有する円形である第２の円柱と、を含む構成とすることができる。
【００１１】
（５）本発明に係る地物検出方法は、対象空間における地物表面から抽出された点群の三次元座標データに基づいて、地表から立ち上がった目的地物を検出する方法であって、前記対象空間を水平な複数の層状空間に分割する層状空間設定ステップと、前記各層状空間にて、水平面に射影され予め設定した基準以上に近傍に集まる前記点群を地物表面の位置であるエッジとして検出するエッジ検出ステップと、前記エッジを三次元空間における予め定められた形状特徴を有する複数種類の要素図形のうち当該エッジの形状に対応する射影を生じるものに分類し、当該エッジと当該分類とを対応付けた層別オブジェクトを生成するオブジェクト生成ステップと、それぞれの前記エッジが高さ方向に沿って並ぶ複数の前記層別オブジェクトからなるグループを求めるグループ化ステップと、前記目的地物の標準形状を１つ又は高さ方向に沿って並ぶ複数の前記要素図形で表した地物モデルを予め記憶したモデル記憶手段から前記地物モデルを読み出し、前記グループにおける高さ方向に沿った前記分類の並び方を当該地物モデルと照合して前記目的地物を検出する地物モデル照合ステップと、を有する。
【００１２】
（６）本発明に係るプログラムは、対象空間における地物表面から抽出された点群の三次元座標データに基づいて、地表から立ち上がった目的地物を検出する処理をコンピュータに行わせるためのプログラムであって、当該コンピュータを、三次元空間における予め定められた形状特徴を有する複数種類の要素図形を用い、前記目的地物の標準形状を１つ又は高さ方向に沿って並ぶ複数の前記要素図形で表した地物モデルを予め記憶したモデル記憶手段、前記対象空間を水平な複数の層状空間に分割する層状空間設定手段、前記各層状空間にて、水平面に射影され予め設定した基準以上に近傍に集まる前記点群を地物表面の位置であるエッジとして検出するエッジ検出手段、前記エッジを前記要素図形のうち当該エッジの形状に対応する射影を生じるものに分類し、当該エッジと当該分類とを対応付けた層別オブジェクトを生成するオブジェクト生成手段、及び、それぞれの前記エッジが高さ方向に沿って並ぶ複数の前記層別オブジェクトからなるグループを求め、当該グループにおける高さ方向に沿った前記分類の並び方を前記地物モデルと照合して前記目的地物を検出する目的地物検出手段、として機能させる。
【発明の効果】
【００１３】
本発明によれば、点群データから複数種類の目的地物を検出する処理の効率を向上させることができ、また目的地物の追加・変更に柔軟に対応できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係る地物検出システムの概略の構成を示すブロック図である。
【図２】本発明の実施形態に係る地物検出システムの層状空間設定手段、エッジ検出手段及びオブジェクト生成手段の処理の概略のフロー図である。
【図３】本発明の実施形態に係る地物検出システムの層状空間設定手段、エッジ検出手段及びオブジェクト生成手段の処理の概略のフロー図である。
【図４】本発明の実施形態に係る地物検出システムの層状空間設定手段、エッジ検出手段及びオブジェクト生成手段の処理の概略のフロー図である。
【図５】ブロック空間でのエッジの探索処理を説明する模式図である。
【図６】エッジが目的地物の可能性があるか否かを調べる処理を説明する模式的な平面図である。
【図７】エッジが目的地物の可能性があるか否かを調べる処理を説明する模式的な平面図である。
【図８】連続エッジ探索処理の概略のフロー図である。
【図９】連続エッジ探索処理の概略のフロー図である。
【図１０】連続追尾処理の概略のフロー図である。
【図１１】連続追尾処理の概略のフロー図である。
【図１２】円柱探索処理の概略のフロー図である。
【図１３】連続追尾処理により生成された連続線分の一例を示す模式的な平面図である。
【図１４】エッジの微調整処理の概略のフロー図である。
【図１５】エッジの微調整処理を説明する模式的な平面図である。
【図１６】図１３に示す連続線分に対する微調整処理により得られた代表点を示す模式図である。
【図１７】再探索空間の一例を示す模式図である。
【図１８】短エッジ処理の概略のフロー図である。
【図１９】細いポールを判定する処理を説明する模式的な平面図である。
【図２０】異なる層状空間のエッジの重なりを説明する模式的な平面図である。
【図２１】道路標識などポールを含む目的地物についての目的地物検出手段の処理例を示す概略のフロー図である。
【図２２】ポール判別処理の概略のフロー図である。
【図２３】ポール判別処理の概略のフロー図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態（以下実施形態という）である地物検出システムについて、図面に基づいて説明する。本システムは、対象空間における地物表面から抽出された点群の三次元座標データに基づいて、地表から立ち上がった目的地物を検出する地物検出装置である。点群のデータは例えば、上述のモービルマッピングシステムのように地上を走行する車両に搭載されたレーザスキャナにより取得される。また、レーザスキャナを地上に設置して計測を行っても良い。点群データが地物表面の三次元形状を表すには、地物表面の凹凸のスケールに応じた点密度でレーザスキャンが行われる必要がある。この点、車両や三脚を用いて道路等の地上から行うレーザスキャンは、例えば、道路の近傍に建つ建物、塀、看板、標識、電柱などの形状を捉えることができる程度の走査密度を実現できる。
【００１６】
図１は、地物検出システム２の概略の構成を示すブロック図である。本システムは、演算処理装置４、記憶装置６、入力装置８及び出力装置１０を含んで構成される。演算処理装置４として、本システムの各種演算処理を行う専用のハードウェアを作ることも可能であるが、本実施形態では演算処理装置４は、コンピュータ及び、当該コンピュータ上で実行されるプログラムを用いて構築される。
【００１７】
当該コンピュータのＣＰＵ（Central Processing Unit）が演算処理装置４を構成し、後述する層状空間設定手段２０、エッジ検出手段２２、オブジェクト生成手段２４及び目的地物検出手段２６として機能する。
【００１８】
記憶装置６はコンピュータに内蔵されるハードディスクなどで構成される。記憶装置６は演算処理装置４を層状空間設定手段２０、エッジ検出手段２２、オブジェクト生成手段２４及び目的地物検出手段２６として機能させるためのプログラム及びその他のプログラムや、本システムの処理に必要な各種データを記憶する。例えば、記憶装置６は、処理対象データとして解析の対象空間の点群データ３０を格納する。例えば、道路に沿った地域が解析の対象空間とされる。また、記憶装置６は、検出対象とする地物である目的地物の典型的な形状、標準的な形状又はその条件を記述した地物モデル３２を予め記憶するモデル記憶手段である。
【００１９】
入力装置８は、キーボード、マウスなどであり、ユーザが本システムへの操作を行うために用いる。
【００２０】
出力装置１０は、ディスプレイ、プリンタなどであり、例えば、本システムにより生成されたオブジェクトや検出された目的地物の対象空間内での位置を画面表示、印刷等によりユーザに示す等に用いられる。
【００２１】
層状空間設定手段２０は対象空間を水平な複数の層状空間に分割する。高さ方向の上向きを正とする軸をＺ軸とし水平面を定義する２軸をＸ軸及びＹ軸とするＸＹＺ直交座標系で対象空間を定義すると、層状空間設定手段２０は複数のＺ値に設定した水平面（ＸＹ平面）を分割面として対象空間を分割する。各層状空間の高さ方向の寸法、つまり厚みは同一にすることが好適であり、これにより処理の単純化、処理効率の確保を図ることができる。例えば、各層状空間の厚みＨＬは５０センチメートル［ｃｍ］に設定することができる。なお、層状空間設定手段２０を構成するプログラムでは、ＨＬはパラメータ化されており、例えば、ユーザが入力装置８を用いて変更することができる。また、後述するように層状空間設定手段２０は、エッジ検出の処理上、各層状空間をさらにメッシュ状に分割する。
【００２２】
エッジ検出手段２２は各層状空間にて、当該層状空間内に存在する点群を水平面に射影し、射影された点群が予め設定した基準以上に近傍に集まる線を地物表面の位置であるエッジとして検出する。
【００２３】
オブジェクト生成手段２４は各エッジを、三次元空間における予め定められた形状特徴を有する複数種類の要素図形のうち当該エッジの形状に対応する射影を生じるものに分類し、当該エッジと当該分類とを対応付けた層別オブジェクトを生成する。
【００２４】
目的地物検出手段２６は、複数の層別オブジェクトからなるグループであって、それぞれの層別オブジェクトにおけるエッジが高さ方向に沿って並ぶグループを求める。そして目的地物検出手段２６は、記憶装置６から地物モデル３２を読み出し、当該グループにおける高さ方向に沿った層別オブジェクトの分類の並び方を地物モデル３２と照合して目的地物を検出する。
【００２５】
地物モデル３２は、上述したように、１つ又は高さ方向に沿って並ぶ複数の要素図形で表された目的地物の標準形状又は当該形状を規定する条件である。要素図形は三次元空間における予め定められた特徴を有する形状である。例えば、要素図形は、水平断面にて非円形の形状を有する略垂直面、及び水平断面が円形である円柱を含む。さらに、要素図形をサイズに応じて区分することができる。例えば、本実施形態では、略垂直面を予め定めた閾値長さＬＴＨ１（例えば、１．５メートル［ｍ］）以上の長さを有する第１の略垂直面と、閾値長さＬＴＨ１未満の長さを有する第２の略垂直面とに区分する。また、円柱を水平断面が予め定めた閾値半径ＲＴＨ（例えば０．１ｍ）以上の半径を有する円形である第１の円柱と、水平断面が閾値半径ＲＴＨ未満の半径を有する円形である第２の円柱とに区分する。
【００２６】
図２〜図４は、地物検出システム２の層状空間設定手段２０、エッジ検出手段２２及びオブジェクト生成手段２４の処理の概略のフロー図である。
【００２７】
地物検出システム２は層状空間設定手段２０により、対象空間をＺ軸方向に間隔ＨＬで分割して層状空間を設定し、各層状空間に存在するエッジを検出する処理を行う。本実施形態では層状空間をさらに二次元メッシュ状に分割したブロック空間のうちエッジが存在するものを探し、エッジが存在するブロック空間が見つかると、当該エッジの層状空間内での連続性を調べる。例えば、対象空間をＸ軸方向及びＹ軸方向に沿ってメッシュ状に分割する。ここで、メッシュのＸ軸方向の間隔を幅Ｗ、Ｙ軸方向の間隔を奥行きＤとすると、Ｗ，ＤはＨＬと同様、パラメータとして設定される。本実施形態ではＷ，Ｄは５０ｃｍに設定する。対象空間をメッシュ状に分割すると、対象空間は柱状の空間に分割される。当該柱状の空間を部分空間と称する。部分空間は層状空間の層ごとのブロック空間が縦に積み重なった構造となる。対象空間のサイズ、並びに幅Ｗ及び奥行きＤの値に応じて部分空間のＸ，Ｙ各方向の配列個数が定まり、当該配列個数により、Ｘ，Ｙ各方向の部分空間の位置を示すインデックスの範囲が決定される。エッジ検出手段２２は、部分空間の二次元メッシュ状の配置を表すインデックスを所定の順番で変更し、設定されたインデックスに応じた位置（Ｘ，Ｙ各方向の座標範囲）で定義される部分空間を処理対象として選択する（ステップＳ２）。
【００２８】
インデックス指定されたメッシュの部分空間が未処理のものであれば（ステップＳ４にて「Ｎｏ」の場合）、層状空間設定手段２０は当該部分空間内の点群を例えば、ハードディスク等の記憶装置６からＲＡＭ（Random Access Memory）等の作業領域に取り込む（ステップＳ６）。部分空間に取り込んだ点群内に所定閾値Ｔｈ１以上の高低差がある場合（ステップＳ８にて「Ｙｅｓ」の場合）には、層状空間設定手段２０は当該部分空間を注目部分空間と判断して、当該注目部分空間内におけるエッジの探索等の処理が開始される（図３のノードＢへ処理が進む）。例えば、閾値Ｔｈ１は道路等の地表の略平坦な部分のみを含む部分空間を排除できる程度に小さく設定することができる。
【００２９】
設定した部分空間から取り込んだ点群の高低差が閾値Ｔｈ１未満である場合（Ｓ８にて「Ｎｏ」の場合）には、当該部分空間におけるエッジ検出処理は行わない。この場合は、層状空間設定手段２０が次の部分空間を選択する（ノードＡへ処理が戻る）。
【００３０】
全てのメッシュについて処理が終わっている場合は（Ｓ４にて「Ｙｅｓ」の場合）、演算処理装置４はエッジ検出処理及びオブジェクト生成処理を終える（ステップＳ１０）。
【００３１】
対象空間に設定される層状空間の層数をｎとし、各層状空間をインデックスＩを用いて下から順に第Ｉ層(Ｉ＝１，２，…，ｎ）と表す。
【００３２】
層状空間設定手段２０は選択された部分空間に含まれるｎ段のブロック空間を順番に選択する。例えば、層状空間設定手段２０はインデックスＩを１ずつ増加させて、エッジの存在を調べるブロック空間を選択する（ステップＳ２０，Ｓ２２）。ここで、Ｉがｎを越えた場合には、図２のノードＡに戻り、次の注目部分空間を選択する（ステップＳ２４）。エッジ検出手段２２は選択された第Ｉ層のブロック空間に含まれる点群を読み込み（ステップＳ２６）、当該ブロック空間にエッジが存在するかを調べる（ステップＳ２８）。エッジ検出手段２２は、選択した第Ｉ層のブロック空間にエッジが存在しない場合には（ステップＳ３０にて「Ｎｏ」の場合）、次のブロック空間を選択する（Ｓ２２）。なお、ステップＳ２８にてブロック空間に属する点群の個数が所定の閾値以下の場合はエッジ検出処理を省略して、ステップＳ３０にてエッジが存在しないと判断することができる。
【００３３】
図５はブロック空間でのエッジの探索処理Ｓ２８を説明する模式図である。図５は、ブロック空間を上面から見た図であり、ブロック空間の幅Ｗ及び奥行きＤで定義される矩形４０と、ブロック空間内の点群のＸＹ面内での配置の一例が示されている。エッジ検出手段２２は、ブロック空間内の点群から任意の２つのデータ点ＰＡ，ＰＢを選択し、それら２点を両端とするＸＹ面内での線分Ｌ０をエッジの候補線として設定すると共に、線分Ｌ０を中心としてその両側にそれぞれ幅ｗ（合計幅２ｗ）の帯状領域ＥＡを設定する。エッジ検出手段２２は点群のうちＸＹ平面での座標が当該領域ＥＡ内に位置するデータ点の個数をカウントする。データ点が領域ＥＡ内であるか否かは例えば、ＸＹ平面上での当該データ点から線分Ｌ０への垂線の長さがｗ以下であるか否かによって判定可能である。また、エッジの条件として、領域ＥＡ内の点群が表す三次元形状が平坦でないことを課す。具体的には、エッジ検出手段２２は、領域ＥＡ内に包含されるデータ点の高低差（最大標高と最小標高との差）ΔＺが予め設定した段差閾値γ以上であれば平坦ではないと判定する。
【００３４】
ここで、幅ｗはパラメータであり、目的地物の表面に対応するデータ点のエッジに直交する方向の位置のばらつきを吸収する。例えば、ｗは３ｃｍ程度とすることができる。また、高低差の閾値γは例えば２ｃｍ程度に設定できる。
【００３５】
エッジ検出手段２２は、ブロック空間内の２つのデータ点の全ての組み合わせについて候補線を設定して上述の判定を行い、領域ＥＡ内に最もデータ点が多く集まり、かつΔＺが閾値γ以上である線分Ｌ０をブロック空間にて見つけられたエッジとする。エッジが存在した場合には（Ｓ３０にて「Ｙｅｓ」の場合）、当該エッジが新規に検出されたものであるか判定される（ステップＳ３２）。具体的には、当該エッジが同じ層の層状空間の別のブロック空間にて検出されたエッジに連続するものとして既に検知されたエッジではなければ新規エッジと判定される。当該判定は、以前に検出されたエッジを検索して、処理Ｓ２８で見つけられたエッジと同一のものが存在するか否かに基づいて行われる。リストに同一のものが存在しなければ新規なエッジと判定し（Ｓ３２にて「Ｎｏ」の場合）、リストにエッジの両端ＰＡ，ＰＢの座標（ａｘ，ａｙ），（ｂｘ，ｂｙ）を登録すると共に、エッジの長さとして線分Ｌ０（線分ＰＡ−ＰＢ）の長さＬＥを求める（ステップＳ３４）。
【００３６】
一方、処理Ｓ２８にて見つけられたエッジと同一のエッジが既に登録されている場合は（Ｓ３２にて「Ｙｅｓ」の場合）、当該エッジについての登録は省略され、演算処理装置４は次のブロック空間について処理を行う（ノードＣへ処理が戻る）。
【００３７】
エッジ検出手段２２は新規検出エッジが、ＬＥが閾値ＬＴＨ２（ＬＴＨ２＜ＬＴＨ１）以下である短いエッジである場合には（Ｓ４０にて「Ｙｅｓ」の場合）、後述する短いエッジに関する処理（短エッジ処理）を行う（ステップＳ４２）。
【００３８】
一方、新規検出エッジのＬＥが閾値ＬＴＨ２より大きい場合には（Ｓ４０にて「Ｎｏ」の場合）、エッジ検出手段２２は当該エッジが壁面などの目的地物である可能性があるか、または本実施形態では目的地物とはしない植栽（樹木の葉）などであるかを調べる（ステップＳ４４）。植栽ではなく目的地物とする人工構造物である場合は（ステップＳ４６にて「Ｎｏ」の場合）、エッジ検出手段２２は後述する連続エッジ探索処理を行う（ステップＳ４８）。
【００３９】
エッジが植栽であると判定された場合（Ｓ４６にて「Ｙｅｓ」の場合）、並びに短エッジ処理Ｓ４２及び連続エッジ探索処理Ｓ４８が完了した場合は、演算処理装置４は次のブロック空間についての処理に移行する（ノードＣへ処理が戻る）。
【００４０】
図６及び図７はエッジが目的地物の可能性があるか否かを調べるステップＳ４４の処理を説明する模式的な平面図である。エッジ検出手段２２は図６に示す空間ＳＡ、図７に示す空間ＳＢ１，ＳＢ２を、処理対象としているブロック空間と同じ層状空間内に設定し、エッジ近傍の点群の分布を調べる。そして当該点群がエッジの位置に好適に集中している場合、人工的な面であると判定し、エッジの位置に対する点群のばらつきが大きい場合、植栽であると判定する。具体的には、図６に示す空間ＳＡは水平断面が線分Ｌ０を中心線とする矩形４２である直方体である。当該直方体の高さはＨＬであり、エッジ方向のサイズはＬＥであり、エッジに直交する方向のサイズは線分Ｌ０を中心としてその両側にそれぞれ幅ｗＡ（合計幅２ｗＡ）とする。幅ｗＡはパラメータであり、例えば、２０ｃｍ程度とすることができる。図７に示す空間ＳＢ１，ＳＢ２は線分Ｌ０を間に挟んで線分Ｌ０に直交する方向に並び、それぞれ線分から距離ｇＢの位置に置かれた直方体である。当該直方体の高さはＨＬであり、エッジ方向のサイズはＬＥであり、エッジに直交する方向のサイズはｗＢとする。ｇＢ，ｗＢはそれぞれパラメータであり、例えば、ｇＢは３ｃｍ程度とすることができる。
【００４１】
エッジ検出手段２２は以下の（Ａ１）〜（Ａ３）のいずれかの場合に、エッジが人工的な面によるものであり植栽ではないと判定する。
（Ａ１）空間ＳＡ内の点群のうち線分Ｌ０への垂線の長さが閾値（例えば、３ｃｍ）内である点が予め定めた個数（例えば１０個）より多い場合。
（Ａ２）空間ＳＡ内の点群から線分Ｌ０への垂線の長さの平均値が閾値（例えば、３ｃｍ）内である場合。
（Ａ３）空間ＳＢ１，ＳＢ２内に点群が存在しない場合。
【００４２】
図８及び図９は連続エッジ探索処理Ｓ４８の概略のフロー図である。エッジ検出手段２２は、エッジの情報をバッファするための線形リストを生成する。連続エッジ探索処理では、ステップＳ２８にて検出されたエッジを基点としてこれにつながるエッジを追尾する処理が行われる。エッジの追尾処理では、基点となるエッジをブロック空間内にて探索したのと同様に、直方体の空間を設定し当該空間内にてエッジを探索する。以降、基点となるエッジの抽出を行ったブロック空間を基点空間とし、追尾処理で設定される直方体の空間を追尾空間と呼ぶことにする。
【００４３】
追尾処理はエッジの両端ＰＡ，ＰＢから互いに反対方向に行われることに対応して線形リストを２つ作成する。ここではエッジの一方端ＰＡからの追尾をＡ方向の追尾、エッジの他方端ＰＢからの追尾をＢ方向の追尾と称する。エッジ検出手段２２はＡ方向に追尾するための線形リストと、Ｂ方向に追尾するための線形リストとを作成する（Ｓ６０）。ステップＳ２８にて得られた追尾の基点となるエッジの図形データは、例えば、Ａ方向の線形リストに格納することができる（Ｓ６２）。しかる後、エッジ検出手段２２は、Ａ方向の連続追尾処理Ｓ６４とＢ方向の連続追尾処理Ｓ６６とを行う。
【００４４】
Ａ方向及びＢ方向それぞれの連続追尾処理で得られたエッジの情報は、Ａ方向及びＢ方向の線形リストに格納される。エッジ検出手段２２は或る基点空間にて得られたエッジについての２方向の追尾が終了すると、Ａ方向の線形リスト及びＢ方向の線形リストに格納されているエッジの端点を追尾順序に従ってつなぎ合わせて連続線分を作成する（Ｓ６８）。なお、連続線分は直線とは限らず、折れ線であり得る。
【００４５】
処理は図９のノードＥへ続き、オブジェクト生成手段２４は連続線分の長さＬＣが閾値長さＬＴＨ１以上である場合（ステップＳ８０にて「Ｙｅｓ」の場合）、当該連続線分を第１の略垂直面に分類し、作成された連続線分と当該分類とを対応付けて層別オブジェクトを生成し、記憶装置６に登録する（ステップＳ８２）。この場合、連続エッジ探索処理は、分類が決定されたことを意味する“ＴＲＵＥ”を戻り値に設定されて終了し（ステップＳ８４）、連続エッジ探索処理をサブルーチンとして呼び出した呼び出し元に処理が戻る。層別オブジェクトは連続線分の形状の情報及び位置の情報を含む。
【００４６】
なお、本実施形態では、第１の略垂直面を当該層別オブジェクトが存在する層状空間の高さに応じて「建物壁面」及び「塀・柵」の２種類に分類する。具体的には、塀・柵の高さ程度に設定された閾値（例えば路面から３ｍ）を用い、当該閾値未満であるオブジェクトは「塀・柵」に分類し、当該閾値以上であるオブジェクトは「建物壁面」に分類する。但し、この「建物壁面」か「塀・柵」かの分類は便宜的・暫定的なものであり、必ずしもそのオブジェクトが当該分類と同じ地物であることを意味しない。ここで層別オブジェクトに対応付けられた要素図形の分類を表すコードを図形コードとし、「建物壁面」は図形コード２０１、「塀・柵」は図形コード２０２と定義する。
【００４７】
連続線分の長さＬＣが閾値長さＬＴＨ１未満である場合（ステップＳ８０にて「Ｎｏ」の場合）、オブジェクト生成手段２４はさらに長さＬＣが閾値長さＬＴＨ３より大きいかを調べる（ステップＳ８６）。閾値長さＬＴＨ３は例えば、目的地物のうち最も小さいもののサイズに応じて設定でき、本実施形態では０．２ｍとする。
【００４８】
長さＬＣが閾値長さＬＴＨ３以下である場合（Ｓ８６にて「Ｎｏ」の場合）、オブジェクト生成手段２４は当該連続線分に対する分類を行わず、連続エッジ探索処理は分類が決定されなかったことを意味する“ＦＡＬＳＥ”を戻り値に設定されて終了し（ステップＳ８８）、処理は呼び出し元に戻る。
【００４９】
一方、長さＬＣが閾値長さＬＴＨ３より大きい場合、つまりＬＴＨ３＜ＬＣ＜ＬＴＨ１である場合（Ｓ８６にて「Ｙｅｓ」の場合）、オブジェクト生成手段２４は層状空間における連続線分に対応する略垂直面が円柱形状であるかを調べる円柱探索処理を行う（ステップＳ９０）。具体的には、連続線分の形状が円であるかを調べる。
【００５０】
円柱形状である場合（ステップＳ９２にて「Ｙｅｓ」の場合）、オブジェクト生成手段２４は当該連続線分を第１の円柱（図形コード２００５）に分類し、作成された連続線分と当該分類とを対応付けて層別オブジェクトを生成し、記憶装置６に登録する（ステップＳ９４）。この場合、連続エッジ探索処理は“ＴＲＵＥ”を戻り値に設定されて終了し（ステップＳ９６）、処理は呼び出し元に戻る。
【００５１】
円柱形状でない場合（Ｓ９２にて「Ｎｏ」の場合）、オブジェクト生成手段２４は当該連続線分をそれを構成する個々のエッジに分解し、当該個々のエッジを第２の略垂直面（図形コード２００３）に分類して層別オブジェクトを生成し、記憶装置６に登録する（ステップＳ９８）。当該分類は「短い線分で円の要素を持たない」という属性を有する。例えば、道路標識や看板などの目的地物がこの分類に該当し得る。この場合、連続エッジ探索処理は“ＴＲＵＥ”を戻り値に設定されて終了し（ステップＳ１００）、処理は呼び出し元に戻る。
【００５２】
図１０及び図１１はエッジ検出手段２２による連続追尾処理Ｓ６４，Ｓ６６の概略のフロー図である。エッジ検出手段２２は、基点空間又は先行して設定された追尾空間にてエッジが検出されると、それら先行してエッジ検出が行われた空間（解析単位空間と呼ぶ）に隣接する追尾空間を設定する（ステップＳ１２０）。新たな追尾空間は切断平面における断面である矩形の中心線を、先行する解析単位空間にて検出されているエッジの向きに合わせて配置される。また、先行して設定された追尾空間にてエッジが検出された場合には、当該追尾空間を求めた方向と同一方向上に、当該エッジの方向線を延長して、さらに追尾が行われる。
【００５３】
エッジ検出手段２２は追尾空間を設定すると、当該追尾空間内の点群を記憶装置６からＲＡＭ等の作業領域に取り込み（ステップＳ１２２）、先行する解析単位空間のエッジの延長線に沿って設定した追尾空間にエッジが存在するかを調べる（ステップＳ１２４）。延長線に沿って設定した追尾空間内に基準以上の点群が集まっており、その高低差が閾値γ以上であれば、当該追尾空間にエッジが存在すると判定する（ステップＳ１２６にて「Ｙｅｓ」の場合）。
【００５４】
エッジ検出手段２２は抽出したエッジ（エッジ候補）が線形リスト上に格納されているエッジと交差するか否かを調べる（ステップＳ１２８）。ここで、線形リストに登録されているエッジは新たに追尾空間から抽出されたエッジと同じ基点空間に端を発するものである。トンネルの横断面のようにエッジが閉じた図形を形成する場合、或る１つの基点空間からの連続追尾処理で当該閉じた図形が抽出される可能性がある。そこで、ステップＳ１２８にて、新たに抽出されたエッジと線形リスト上のエッジとの交差（一致を含む）の有無を判定し、交差が検出された場合（ステップＳ１３０にて「Ｙｅｓ」の場合）、自己ループ又は無限ループを回避するために、新たに抽出されたエッジは線形リストに追加せずに連続追尾処理を終了する（ステップＳ１３２）。
【００５５】
交差が検出されなかった場合（Ｓ１３０にて「Ｎｏ」の場合）、さらにエッジ検出手段２２は、新たに抽出されたエッジがすでに図形登録されているかを調べる（ステップＳ１３４）。図形登録されている場合（ステップＳ１３６にて「Ｙｅｓ」の場合）、新たに抽出されたエッジは線形リストに追加せずに連続追尾処理を終了し（Ｓ１３８）、当該処理をサブルーチンとして呼び出した図８のステップＳ６４，Ｓ６６に戻る。
【００５６】
一方、図形登録されていなければ（Ｓ１３６にて「Ｎｏ」の場合）、エッジ検出手段２２は、現在の追尾空間についてのエッジの情報を線形リストに追加して（ステップＳ１４０）、図１０のノードＦに戻り、現在の追尾空間に続く新たな追尾空間を設定する。このようにしてエッジ検出手段２２は追尾空間を順次設定してエッジを追尾する。
【００５７】
エッジ検出手段２２は既検出エッジの延長線に沿って設定した追尾空間内にてエッジを検出できない場合（Ｓ１２６にて「Ｎｏ」の場合）、図１１のノードＧに進み、既検出エッジの延長線からずれた方向における探索処理が行われる。当該探索処理では、追尾空間をその中心軸を切断平面内にて当該延長線の位置から時計回り方向と反時計回り方向とに変化させて設定する。例えば、延長線の向きからの中心軸の向きの変化範囲（±θ）とその分割数ｋを設定し、θ／ｋずつ切断平面内での角度が異なる複数の追尾空間を設定し、各追尾空間にてエッジを探し、そして角度を変えて設定した複数の追尾空間にて得られたエッジのうち最も点群が集まるものを抽出する（ステップＳ１６０）。
【００５８】
これによりエッジが抽出された場合（ステップＳ１６２にて「Ｙｅｓ」の場合）、エッジ検出手段２２はステップＳ１２８〜Ｓ１４０と同様の処理を行う。すなわち、抽出したエッジと線形リスト上のエッジとの交差の有無を調べ（ステップＳ１６６）、また、抽出したエッジがすでに図形登録されているものの中にあるかを調べる（ステップＳ１７２）。そして、交差が検出された場合（ステップＳ１６８にて「Ｙｅｓ」の場合）及び図形登録されている場合（ステップＳ１７４にて「Ｙｅｓ」の場合）は、新たに抽出されたエッジは線形リストに追加せずに連続追尾処理を終了し（ステップＳ１７０及びＳ１７６）、当該処理をサブルーチンとして呼び出した図８のステップＳ６４，Ｓ６６に戻る。一方、交差が検出されず（Ｓ１６８にて「Ｎｏ」の場合）、かつ図形登録されていなければ（Ｓ１７４にて「Ｎｏ」の場合）、エッジ検出手段２２は、抽出したエッジの情報を線形リストに追加して（ステップＳ１７８）、図１０のノードＦに戻り、現在の追尾空間に続く新たな追尾空間を設定する。なお、エッジが抽出されなかった場合（Ｓ１６２にて「Ｎｏ」の場合）は連続追尾処理をサブルーチンとして呼び出した図８のステップＳ６４，Ｓ６６に戻る（Ｓ１６４）。
【００５９】
次に図９の円柱探索処理Ｓ９０について説明する。図１２は円柱探索処理Ｓ９０の概略のフロー図である。図１３は図８のステップＳ６８で生成された連続線分の一例を示す模式的な平面図であり、円柱５０に対応して検出される連続線分５２を示している。複数の垂直平面が折れ曲がって接続された地物表面からは当然に連続線分５２のような複数の直線（線分）がつながった折れ線のエッジが生じ得るが、上述したようにブロック空間などにてエッジを検出する処理は基本的に直線近似であるので、滑らかに曲がる円柱側面からも連続線分５２のようなエッジが検出され得る。そこで、エッジ検出手段２２は、比較的大きな基点空間（ブロック空間）や追尾空間にて検出されたエッジを地物の概略のエッジであると位置づけ、円柱探索処理Ｓ９０では、概略エッジである線分に基づいてより詳細な地物表面のエッジを表す折線を求めるエッジの微調整処理を行う（ステップＳ２００）。
【００６０】
図１４はエッジの微調整処理Ｓ２００の概略のフロー図であり、図１５はエッジの微調整処理を説明する模式的な平面図である。図１４及び図１５を用いて微調整処理Ｓ２００を説明する。図１５は、連続線分５２を構成する１つの概略エッジＬ０に対応して生成される詳細エッジＬｆの例を示している。エッジ検出手段２２は概略エッジを示す線分Ｌ０を一方端から一定の長さずつ区切り（ステップＳ２２０）、これにより生成された各区間にて詳細エッジが通る点（代表点）を探索し、ＸＹ面内にてＰＡ，ＰＢを結ぶ概略エッジを示す線分Ｌ０に代えて、各区間にて求めた代表点をつなぐ折線Ｌｆをエッジとする。ここでは区間数をＮとする。演算処理装置４は、図１４のエッジ微調整処理のＳ２２４〜Ｓ２３２のループ処理において、選択した区間Ｋから代表点ＰＫが得られると、当該代表点ＰＫのＸＹ面内の座標（ＸＫ，ＹＫ）を代表点情報として求める。
【００６１】
エッジ検出手段２２は、エッジ微調整処理において、区間番号Ｋを１ずつ増加させて、区間を選択し（ステップＳ２２２，Ｓ２２４）、各区間にて代表点を探索する（ステップＳ２２８）。探索は、エッジ周辺空間６０を区間ごとに分割したコンパートメント６２内で行われる。エッジ周辺空間６０はＸＹ面に射影した形状が概略エッジの近傍領域であり、Ｚ方向に層状空間の高さＨＬを有する空間に設定することができる。具体的にはエッジ周辺空間６０のＸＹ面上の形状は、対向する２辺の中点に概略エッジの両端ＰＡ，ＰＢが位置した矩形である。当該矩形の概略エッジに直交する方向の寸法は、検出対象とする円柱地物の断面形状に想定される曲率や凹凸の大きさを考慮して設定することができる。本実施形態における検出対象の円柱地物は電柱とし、エッジ周辺空間６０の概略エッジに直交する方向の寸法は、電柱の切断平面でのエッジを正確に捉えることができる程度に大きくする必要がある。一方、当該寸法は、電柱のエッジに起因しない点群が代表点として誤検出されにくいようにする観点からは小さくすることが好適であり、例えば部分空間の幅Ｗや奥行きＤより小さく設定される。コンパートメント６２は、概略エッジを区切った区間の境界点を通り概略エッジに直交する面でエッジ周辺空間６０を区切って生成される。エッジ検出手段２２は区間ごとに当該区間に対応するコンパートメント６２内に点群データを取り込んで、当該コンパートメント６２のＸＹ面内における最も点群が密集する位置を求める。密集位置は、当該点群の任意の点を中心とする円内に包含される点群の数で判断される。例えば、円の半径は２ｃｍとすることができる。そして当該位置に密集する点の数が予め定めた個数以上であれば（ステップＳ２３０にて「Ｙｅｓ」の場合）、当該位置を代表点としてエッジ代表点リストに追加し（ステップＳ２３２）、次の区間の処理に進む（ステップＳ２２４）。一方、当該位置に密集する点の数が予め定めた個数未満であれば（Ｓ２３０にて「Ｎｏ」の場合）、当該区間にエッジの代表点が存在しないとしてエッジ代表点リストに追加せずに次の区間の処理に進む（Ｓ２２４）。全ての区間について処理が終わると（ステップＳ２２６にて「Ｙｅｓ」の場合）、エッジ形状の微調整処理を終了する。
【００６２】
図１５に示す例では、概略エッジを示す線分Ｌ０は例えば４つの区間に分割されており、Ｌ０を中心線とする点線の矩形で表されるエッジ周辺空間６０も区間に対応して４つのコンパートメント６２ａ〜６２ｄに区画される。例えば、コンパートメント６２ａ，６２ｂ，６２ｄにて代表点Ｐｋ，Ｐｋ＋１，Ｐｋ＋２が抽出され、それらをコンパートメントの並び順につないだ折線ＰｋＰｋ＋１Ｐｋ＋２が詳細エッジＬｆとなる。ちなみに、図１５に示す例では、エッジ周辺空間６０の分割はＰＡ側から一定間隔ごとに行われており、その結果、最後の区間が他の区間より小さくなり得ることが示されている。
【００６３】
上述の微調整処理は、図１３に示す連続線分５２を構成する複数の概略エッジについて行われ、それが完了するとエッジ検出手段２２は図１２の処理に戻り、円柱か否かを推定する（ステップＳ２０２）。図１６は連続線分５２に対する微調整処理により得られた代表点７０を示しており、この図を用いてステップＳ２０２の処理を説明する。
【００６４】
エッジ検出手段２２は連続線分５２に沿って並ぶ代表点７０のうち両端のもの（代表点７０ａ，７０ｂ）を結ぶ直線７２に対して、代表点７０ａ，７０ｂ以外の代表点が全て同じ側にあるか否かを調べる。同じ側にない場合は連続線分５２は円柱ではないと判定する（ステップＳ２０４にて「Ｎｏ」の場合）。
【００６５】
図１６のように代表点７０ａ，７０ｂ以外の代表点が全て直線７２に対して同じ側にある場合には、各代表点７０から直線７２への垂線の長さを求める。そして、最大の垂線７４の長さが所定の基準長以上である場合は、円柱であると判定し（ステップＳ２０４にて「Ｙｅｓ」の場合）、その垂線の足を円柱の仮の中心点Ｃαに定める（ステップＳ２０６）。一方、最大の垂線長が基準長未満である場合は円柱ではないと判定する（ステップＳ２０４にて「Ｎｏ」の場合）。所定の基準長は例えば、代表点７０ａ，７０ｂ間の距離の所定割合（例えば、３〜４割程度）に設定することができる。
【００６６】
円柱と判定した場合には、再探索空間を設定し、当該空間内に存在する点群のデータを記憶装置６から読み込む（ステップＳ２０８）。図１７は再探索空間の一例を示す模式図である。図１７は、対象空間を上から見た図であり、再探索空間の配置（矩形８０）、及び電柱の円柱面から得られる点群８２の分布が示されている。再探索空間は、水平断面の中心を円柱の仮の中心点Ｃαに一致させて設定される。また矩形８０の一辺はブロック空間より大きく設定することができる。例えば、本実施形態ではブロック空間のＷ，Ｄを５０ｃｍとしており、矩形８０の一辺はそれより１０ｃｍ大きい６０ｃｍに設定される。このように再探索空間の大きさに余裕を持たせることにより、円柱面から生じる点群が漏れなく再探索空間に処理対象点群として取り込まれ得る。
【００６７】
エッジ検出手段２２は再探索空間内の処理対象点群の広がりが目的地物のサイズに基づいて設定された上限以下であるかを調べる（ステップＳ２１０）。本実施形態では、処理対象点群のＸ軸方向の広がり、及びＹ軸方向の広がりがそれぞれ５０ｃｍ以下であるか調べる。そして上限以下でない場合は（Ｓ２１０にて「Ｎｏ」の場合）、目的地物の円柱、具体的には電柱ではないと判定され、円柱探索処理Ｓ９０のサブルーチンの呼び出し元に戻る。
【００６８】
一方、上限以下である場合は（Ｓ２１０にて「Ｙｅｓ」の場合）、エッジ検出手段２２は再探索空間内の処理対象点群に基づいて円柱面の中心及び半径を求める処理を行う（ステップＳ２１２）。具体的には、処理対象点群から選択された４点を通る円を探索する処理を、処理対象点群における４点の全ての組み合わせについて行う。そして探索された円のうちその円の近傍に存在する処理対象点の数が最も多いものを選択する。例えば、探索された円（中心Ｃ、半径Ｒ）のうち、中心がＣで半径が［Ｒ−δ，Ｒ＋δ］であるドーナツ状の領域内に存在する点が最も多くなる円（中心Ｃβ、半径Ｒβ）を選択する。ここでδは予め定められた値であり、検出対象の円柱地物に応じて設定することができ、例えば、電柱については２〜３ｃｍとすることができる。
【００６９】
そして、上述の処理で求めた円の中心Ｃβ、半径Ｒβを用い、中心がＣβで半径が［Ｒβ−δ，Ｒβ＋δ］であるドーナツ状の領域内に存在する点を抽出し、当該抽出した点群に適合する円の中心Ｃγ、半径Ｒγを最小二乗法により算出する。円柱探索処理は当該円（中心Ｃγ、半径Ｒγ）を探索結果とし、呼び出し元に処理を戻す。図９の連続エッジ探索処理では円柱探索処理Ｓ９０にて探索結果として円（中心Ｃγ、半径Ｒγ）が得られると、連続線分５２に対し、分類が第１の円柱である層別オブジェクト（図形コード２００５）を生成する。オブジェクト生成手段２４は当該層別オブジェクトに、図１６に示す連続線分５２の形状特徴を表す情報として中心Ｃγ、半径Ｒγを対応付けることができる。
【００７０】
図１８は図４のステップＳ４２の短エッジ処理の概略のフロー図である。オブジェクト生成手段２４は検出された短エッジが細いポールであるかを調べ（ステップＳ２４０）、細いポールと判定した場合（ステップＳ２４２にて「Ｙｅｓ」の場合）、当該エッジについて第２の円柱を分類として設定された層別オブジェクトを生成し記憶装置６に登録する（ステップＳ２４４）。本実施形態では具体的には当該層別オブジェクトは第２の円柱の１つの種類である「細いポール」（図形コード１００１）に分類される。
【００７１】
図１９は細いポールを判定する処理Ｓ２４０を説明する模式的な平面図である。短エッジ９０を内包する水平断面を有する空間ＳＣを設定し、当該空間ＳＣ内の点群データを処理対象点群として取り込む。空間ＳＣの水平断面は短エッジ９０に沿った方向（ζ軸とする）の辺と直交する方向（η軸とする）の辺とを有する矩形とすることができる。当該矩形はζ軸方向に関しては、エッジ９０の両端から当該矩形の辺までそれぞれ距離ｄＣとし、空間ＳＣのζ軸方向のサイズを（ＬＥ＋２ｄＣ）とすることができる。一方、η軸方向に関しては、エッジ９０を中心としてサイズ２ｗＣとすることができる。また、空間ＳＣのＺ軸方向の範囲はエッジ９０が検出された層状空間と同じとすることができる。オブジェクト生成手段２４は空間ＳＣ内の処理対象点群の水平面内での広がりが目的地物である細いポールのサイズに基づいて設定された上限以下であるかを調べる。本実施形態では、処理対象点群のＸ軸方向の広がり、及びＹ軸方向の広がりがそれぞれ２０ｃｍ以下であるか調べる。
【００７２】
そして上限以下である場合は空間ＳＣ内の点群は細いポールであると判定され（ステップＳ２４２にて「Ｙｅｓ」の場合）、オブジェクト生成手段２４は、エッジ９０に対し、分類が第２の円柱「細いポール」である層別オブジェクトを生成する（ステップＳ２４４）。オブジェクト生成手段２４は当該層別オブジェクトに、細いポールの中心点として処理対象点群の分布の中心を対応付け、また細いポールの半径として例えば０を対応付けることができる。なお、当該層別オブジェクトを生成すると、処理は短エッジ処理Ｓ４２のサブルーチンの呼び出し元に戻る。
【００７３】
一方、処理対象点群の分布が上限より広い場合は空間ＳＣ内の点群は細いポールではないと判定される（ステップＳ２４２にて「Ｎｏ」の場合）。この場合は、エッジ検出手段２２が図４のステップＳ４４と同様の処理を行い、当該エッジが植栽（樹木の葉）などであるかを調べる（ステップＳ２４６）。植栽ではなく目的地物とする人工構造物である場合は（ステップＳ２４８にて「Ｎｏ」の場合）、エッジ検出手段２２は図４のステップＳ４８と同様に図８、図９等を用いて説明した連続エッジ探索処理を行う（ステップＳ２５０）。その後、図４の短エッジ処理Ｓ４２のサブルーチンの呼び出し元に戻る。
【００７４】
以上説明した、層状空間設定手段２０、エッジ検出手段２２及びオブジェクト生成手段２４の処理により、地物検出システム２は対象空間をＺ軸方向に積み重なる層状空間に分け、各層状空間内の点群から、予め定められた形状特徴を有する複数種類の要素図形のオブジェクトを抽出し、記憶装置６に登録する。
【００７５】
目的地物検出手段２６は層別オブジェクトを垂直方向に組み合わせ、それが地表から立ち上がった目的地物であるかを調べる。具体的には、目的地物検出手段２６は、層別オブジェクトのうちエッジが高さ方向に沿って並ぶものを組み合わせる。ここで、地表から立ち上がった１つの目的地物の各層状空間における断面は、理想的には、隣接する層状空間では共通部分を有したり交差したりするものかもしれないが、点群から生成したエッジで表される地物表面はそうならないことも多い。そこで、目的地物検出手段２６は、互いに異なる層状空間に存在する第１のエッジと第２のエッジの水平面内での位置が或る程度近ければ高さ方向に並んでいると扱う。図２０は異なる層状空間のエッジの重なりを説明する模式的な平面図である。目的地物検出手段２６は、互いに異なる層状空間に属する第１のエッジ１００及び第２のエッジ１０２について、第１のエッジ１００を中心線とし所定幅ｗＭを有するエッジ近傍領域１０４と第２のエッジ１０２とが重なりを有する場合にエッジ１００，１０２が高さ方向に並んでいると判断する。ｗＭは例えば、５ｃｍ程度に設定することができる。
【００７６】
目的地物検出手段２６は層別オブジェクトの垂直方向の並びが図１の地物モデル３２に記述されている目的地物の特徴を有するかどうかを調べ、有している場合、その垂直方向に並ぶ層別オブジェクトが当該目的地物であると判断する。簡単な例としては、目的地物「道路脇の道路標識」は支柱に相当する円柱とその上の標識に相当する垂直面とからなり、その地物モデル３２として、高さが０〜３ｍの範囲に要素図形として「細いポール」のような第２の円柱が縦に並ぶ部分を有し、その上部に要素図形として標識に想定される大きさに対応した第２の略垂直面が存在するといった特徴が記憶装置６に格納される。また、目的地物「道路上の案内標識」の地物モデル３２として、比較的高い位置の複数の連続する層状空間に要素図形として第１の略垂直面が縦に並び、その下は要素図形が存在しないといった特徴が記憶装置６に格納される。このように地物モデル３２が要素図形の簡単な配列パターンで表現される場合には、目的地物検出手段２６は層別オブジェクトの垂直方向の並びを当該配列パターンと照合する比較的簡単な処理で目的地物を判別することができる。しかし、地物モデル３２は要素図形に関するより複雑な条件を定めるものであってもよく、当該条件を満たすか否かを判別するプログラムが実質的に地物モデル３２として記憶装置６に格納されるものであってもよい。
【００７７】
目的地物検出手段２６のより詳細な処理の例を説明する。図２１は道路標識などポールを含む目的地物についての目的地物検出手段２６の処理例を示す概略のフロー図であり、当該処理を記述したプログラムを上述したように地物モデル３２として記憶装置６に予め格納しておくことができる。オブジェクト生成手段２４により対象空間に生成された層別オブジェクトには１から順番に自然数の番号Ｉｎｄｅｘが付される。目的地物検出手段２６はＩｎｄｅｘを処理開始時に設定される初期値０（ステップＳ２８０）から順番にインクリメントして処理対象の層別オブジェクトを選択し（ステップＳ２８２）、Ｉｎｄｅｘが層別オブジェクトの総数ＮＴＯＴを超えると処理を終了する（ステップＳ２８４にて「Ｎｏ」の場合）。
【００７８】
層別オブジェクトを選択すると（ステップＳ２８４にて「Ｙｅｓ」の場合）、目的地物検出手段２６は当該層別オブジェクトの図形コードＣｏｄｅが“１００１”で、かつ当該層別オブジェクトが地物の構成に既に使用されているか否かを示す図形マークＭａｒｋが、未使用であることを示す値“０”であり（ステップＳ２８６にて「Ｙｅｓ」の場合）、さらに当該層別オブジェクトに高さ方向に並ぶ他の層別オブジェクトの個数ＮＶが予め定めた基準値ＮＶＴＨ以上であれば（ステップＳ２８８にて「Ｙｅｓ」の場合）、高さ方向に並ぶ位置関係にある複数の層別オブジェクトを標高の低い順にソートする（ステップＳ２９０）。ＮＶＴＨは例えば２又は３とすることができる。
【００７９】
なお、選択した層別オブジェクトのＣｏｄｅが“１００１”でない場合及び当該層別オブジェクトのＭａｒｋが既使用を示す値“１”である場合（ステップＳ２８６にて「Ｎｏ」の場合）、並びに高さ方向に並ぶ層別オブジェクトの個数ＮＶが基準値未満である場合（ステップＳ２８８にて「Ｎｏ」の場合）は、処理はノードＡに戻り、次の層別オブジェクトを選択する（ステップＳ２８２）。
【００８０】
ステップＳ２９０のソート処理後、目的地物検出手段２６は後述するポール判別処理Ｓ２９２を行う。ポール判別処理のサブルーチンからの戻り値が“１”であれば、ポールが検出されたことになり（ステップＳ２９４にて「Ｙｅｓ」の場合）、目的地物検出手段２６はその水平断面の中心と半径を計算する（ステップＳ２９６）。そして、その計算結果等に基づいて、当該ポールがすでに検出済みの地物として記憶装置６に登録されているか否かを調べる。既登録でなければ（ステップＳ２９８にて「Ｎｏ」の場合）、ポールの半径と中心点からポールの下側及び上側の標高を求め（ステップＳ３００）、当該ポールを検出済みの地物として記憶装置６に新規登録する（ステップＳ３０２）。さらに、現在、ステップＳ２８２にて設定されたＩｎｄｅｘを有しＣｏｄｅ＝“１００１”である層別オブジェクト及び、当該層別オブジェクトと高さ方向に並ぶＣｏｄｅ＝“１００１”である層別オブジェクトをＭａｒｋ＝“１”とし既使用として（ステップＳ３０４）、処理はノードＡに戻り、次の層別オブジェクトを選択する（ステップＳ２８２）。
【００８１】
また、ポール判別処理Ｓ２９２の結果、ポールでないと判断された場合（ステップＳ２９４にて「Ｎｏ」の場合）、及び検出されたポールが既登録であった場合（ステップＳ２９８にて「Ｙｅｓ」の場合）も、処理はノードＡに戻り、次の層別オブジェクトを選択する（ステップＳ２８２）。
【００８２】
図２２及び図２３はポール判別処理Ｓ２９２の概略のフロー図である。ポール判別処理Ｓ２９２は高さ方向に並ぶ層別オブジェクトからなるオブジェクトグループに対応する地物がポールを含むものであるかを判別する。目的地物検出手段２６は入力装置８からの入力又は記憶装置６に設定されたパラメータを読み込むことにより、ポールと判断するのに必要とする「細いポール」オブジェクトの最低積層数ＣＭＩＮ１００１を設定する（ステップＳ３２０）。また、処理対象とするオブジェクトグループにおける各層別オブジェクトを識別するインデックスＣＩ、ポールである確からしさを示す値ＰＬ、Ｃｏｄｅ＝“１００１”である層別オブジェクトのカウント数ＦＣ１００１、Ｃｏｄｅ＝“２００１”である層別オブジェクトのカウント数ＦＣ２００１、Ｃｏｄｅ＝“２００３”である層別オブジェクトのカウント数ＦＣ２００３、Ｃｏｄｅ＝“２００５”である層別オブジェクトのカウント数ＦＣ２００５をそれぞれ０に初期化する（ステップＳ３２２）。
【００８３】
目的地物検出手段２６はＣＩを初期値０から順番にインクリメントして処理対象の層別オブジェクトを選択し（ステップＳ３２４）、ＣＩが処理対象のオブジェクトグループを構成する層別オブジェクトの個数ＮＶを超えると処理はノードＤに移る（ステップＳ３２６にて「Ｎｏ」の場合）。
【００８４】
また、カウントＦＣ１００１がＣＭＩＮ１００１以上であれば（ステップＳ３２８にて「Ｙｅｓ」の場合）、オブジェクトグループがポールを含む地物であると判断し、ＰＬの値を当該判断結果を示す値“１”に設定して（ステップＳ３３０）、処理はノードＤに移る。
【００８５】
ＦＣ１００１＜ＣＭＩＮ１００１である場合（ステップＳ３２８にて「Ｎｏ」の場合）には、目的地物検出手段２６は選択した層別オブジェクトがＣｏｄｅ＝“１００１”であれば（ステップＳ３３２にて「Ｙｅｓ」の場合）カウント数ＦＣ１００１を１増やし（ステップＳ３３４）、Ｃｏｄｅ＝“２００１”であれば（ステップＳ３３６にて「Ｙｅｓ」の場合）カウント数ＦＣ２００１を１増やし（ステップＳ３３８）、Ｃｏｄｅ＝“２００３”であれば（ステップＳ３４０にて「Ｙｅｓ」の場合）カウント数ＦＣ２００３を１増やし（ステップＳ３４２）、Ｃｏｄｅ＝“２００５”であれば（ステップＳ３４４にて「Ｙｅｓ」の場合）カウント数ＦＣ２００５を１増やし（ステップＳ３４６）、ノードＢに戻る。
【００８６】
一方、ＦＣ１００１＜ＣＭＩＮ１００１である場合（ステップＳ３２８にて「Ｎｏ」の場合）において、選択した層別オブジェクトがＣｏｄｅ＝“１００１”，“２００１”，“２００３”，“２００５”のいずれでもない場合は、選択した層別オブジェクトが下から２番目以上のものであるか判断する（ステップＳ３６４）。当該層別オブジェクトが処理対象オブジェクトグループ中、一番下のものである場合は（ステップＳ３６４にて「Ｎｏ」の場合）、処理はノードＢに戻る。
【００８７】
２番目以上である場合は（ステップＳ３６４にて「Ｙｅｓ」の場合）、当該層別オブジェクトが「建物壁面」を示すＣｏｄｅ＝“２０１”であり、かつ当該層別オブジェクトの高さＺ（ＣＩ）とその下の層別オブジェクトの高さＺ（ＣＩ−１）との差が１．５ｍ未満であるかを調べる（ステップＳ３６６）。これらの条件が満たされる場合（ステップＳ３６６にて「Ｙｅｓ」の場合）、目的地物検出手段２６はオブジェクトグループが「建物壁面」を含む地物でありポールを含む地物である可能性は低いと判断し、ＰＬの値を当該判断結果を示す値“−１”に設定し（ステップＳ３６８）、処理はノードＤに移る。ちなみに、Ｚ（ＣＩ）−Ｚ（ＣＩ−１）が１．５ｍ以上である場合については、例えば、道路標識の上方に離れて高架橋の壁面が存在するような状況が可能性として存在するため、ＰＬは０のままとする。
【００８８】
ＰＬ＝１である場合は（ステップＳ３７０にて「Ｙｅｓ」の場合）、戻り値が“１”に設定され（ステップＳ３７２）、処理はポール判別処理のサブルーチンの呼び出し元に戻る。
【００８９】
ＰＬ＝−１である場合は（ステップＳ３７４にて「Ｙｅｓ」の場合）、戻り値が“０”に設定され（ステップＳ３７６）、処理はポール判別処理のサブルーチンの呼び出し元に戻る。
【００９０】
ＦＣ１００１が１、つまり「細いポール」のオブジェクトの高さ方向への積み重なりが確認されない場合には（ステップＳ３７８にて「Ｎｏ」の場合）、戻り値が“０”に設定され（ステップＳ３８０）、処理はポール判別処理のサブルーチンの呼び出し元に戻る。
【００９１】
ＰＬが０であり、かつＦＣ１００１が２以上である場合（ステップＳ３７０及びＳ３７４にて「Ｎｏ」、かつステップＳ３７８にて「Ｙｅｓ」の場合）、処理対象オブジェクトグループがポールと標識とが組み合わさったポール標識であるかを判別する（ステップＳ３８２）。具体的にはＣｏｄｅ＝“１００１の「細いポール」にＣｏｄｅ＝“２００３”の層別オブジェクトが組み合わさっている場合、ポール標識と判断される（ステップＳ３８２にて「Ｙｅｓ」の場合）。この場合、戻り値が“１”に設定され（ステップＳ３８４）、処理はポール判別処理のサブルーチンの呼び出し元に戻る。一方、ポール標識でないと判断された場合は（ステップＳ３８２にて「Ｎｏ」の場合）、戻り値が“０”に設定され（ステップＳ３８６）、処理はポール判別処理のサブルーチンの呼び出し元に戻る。
【００９２】
以上、目的地物検出手段２６の処理の一例を説明した。当該処理では基本的に、点群データそのものではなく、高さ方向に沿って並ぶ複数の層別オブジェクトからなるグループが処理対象となる。地物検出システム２は、当該グループにおける高さ方向に沿った層別オブジェクトの分類の並び方を、例えば、図２１〜図２３を用いて説明したような処理で、地物モデル３２として記述される条件と照合して目的地物を検出する。目的地物検出手段２６における処理では、層別オブジェクトはいわば地物を構成する部品として、各種の目的地物の検出に共通に利用される。つまり、目的地物ごとに点群データから当該目的地物の形状の特徴を探索・抽出するという処理が省略され処理効率が向上する。また、部品化されたオブジェクトの組み合わせに基づいて目的地物の形状の特徴を探索・抽出する処理は、点群データから目的地物の形状の特徴を探索・抽出するという処理よりもより少ない工数で作成でき、ひいては目的地物の追加・変更に柔軟に対応できる。
【符号の説明】
【００９３】
２  地物検出システム、４  演算処理装置、６  記憶装置、８  入力装置、１０  出力装置、２０  層状空間設定手段、２２  エッジ検出手段、２４  オブジェクト生成手段、２６  目的地物検出手段、３０  点群データ、３２  地物モデル。
【図１】
0006652865.tif 000002
【図２】
0006652865.tif 000003
【図３】
0006652865.tif 000004
【図４】
0006652865.tif 000005
【図５】
0006652865.tif 000006
【図６】
0006652865.tif 000007
【図７】
0006652865.tif 000008
【図８】
0006652865.tif 000009
【図９】
0006652865.tif 000010
【図１０】
0006652865.tif 000011
【図１１】
0006652865.tif 000012
【図１２】
0006652865.tif 000013
【図１３】
0006652865.tif 000014
【図１４】
0006652865.tif 000015
【図１５】
0006652865.tif 000016
【図１６】
0006652865.tif 000017
【図１７】
0006652865.tif 000018
【図１８】
0006652865.tif 000019
【図１９】
0006652865.tif 000020
【図２０】
0006652865.tif 000021
【図２１】
0006652865.tif 000022
【図２２】
0006652865.tif 000023
【図２３】
0006652865.tif 000024