[第1の実施形態]
以下、本発明の第1の実施の形態(以下実施形態という)である壁面抽出システム2について、図面に基づいて説明する。本システムは、地物表面から抽出された点群の3次元座標データ(点群データ)に基づいて地物の壁面、すなわち地物表面のうち地表面に略垂直である面を検出するデータ解析装置である。点群データは例えば、上述のモービルマッピングシステムのように地上を走行する車両に搭載されたレーザスキャナにより取得される。また、レーザスキャナを地上に設置して計測を行っても良い。点群データが地物表面の3次元形状を表すには、地物表面の凹凸のスケールに応じた密度でレーザスキャンが行われる必要がある。この点、車両や三脚を用いて道路等の地上から行うレーザスキャンは、例えば、道路の近傍に建つ建物、塀、看板及び標識などの壁面の形状を捉えることができる程度の走査密度を実現できる。
図1は、壁面抽出システム2の概略の構成を示すブロック図である。本システムは、演算処理装置4、記憶装置6、入力装置8及び出力装置10を含んで構成される。演算処理装置4として、本システムの各種演算処理を行う専用のハードウェアを作ることも可能であるが、本実施形態では演算処理装置4は、コンピュータ及び、当該コンピュータ上で実行されるプログラムを用いて構築される。
当該コンピュータのCPU(Central Processing Unit)が演算処理装置4を構成し、後述する柱状部分空間設定手段20、柱状部分空間選択手段22、ブロック状部分空間設定手段24、水平面内探索手段26、垂直位置決定手段28、壁面形状決定手段30、追跡手段32、及び壁面要素登録手段34として機能する。水平面内探索手段26は概略エッジ探索手段40及び詳細エッジ探索手段42を含んで構成される。
記憶装置6はコンピュータに内蔵されるハードディスクなどで構成される。記憶装置6は演算処理装置4を柱状部分空間設定手段20、柱状部分空間選択手段22、ブロック状部分空間設定手段24、水平面内探索手段26、垂直位置決定手段28、壁面形状決定手段30、追跡手段32及び壁面要素登録手段34として機能させるためのプログラム及びその他のプログラムや、本システムの処理に必要な各種データを記憶する。例えば、記憶装置6は、処理対象データとして解析の対象空間の点群データを格納される。例えば、道路に沿った地域が解析の対象空間とされる。
入力装置8は、キーボード、マウスなどであり、ユーザが本システムへの操作を行うために用いる。
出力装置10は、ディスプレイ、プリンタなどであり、本システムにより求められた壁面の対象空間内での位置を画面表示、印刷等によりユーザに示す等に用いられる。
図2は、壁面抽出システム2による壁面抽出処理の概略のフロー図である。この図2を参照しながら、演算処理装置4の各手段を説明する。
柱状部分空間設定手段20は、対象空間を水平面(XYZ直交座標系でXY平面とする)内にて2次元直交格子(メッシュ)状に分割して四角柱形状の部分空間(柱状部分空間)を生成する(S40)。例えば、柱状部分空間の水平断面は幅W及び奥行きDが50cmの正方形とすることができる。柱状部分空間の高さHは対象空間の高さ(Z軸方向の寸法)と一致させることができ、その高さは検出目的とする壁面の高さ、具体的には建物の高さや、看板・標識が配置された高さより大きく設定される。なお、柱状部分空間設定手段20を構成するプログラムでは、幅W、奥行きD及び高さHはパラメータ化されており、例えば、ユーザが入力装置8を用いて変更することができる。
柱状部分空間選択手段22は、柱状部分空間のうち予め設定した閾値以上の高低差を有する点群を含むものを注目部分空間として選択する。具体的には、柱状部分空間選択手段22は、複数設定された柱状部分空間を所定の順序で選択し、当該柱状部分空間内の点群に閾値以上の高低差が存在する場合に、当該柱状部分空間を注目部分空間とする。上述したように点群データは道路等に位置するレーザスキャナからのレーザ照射によって取得され、当該レーザスキャナから見える壁面が点群データによる3次元形状上に捉えられる。そこで、柱状部分空間選択手段22は例えば、当該3次元形状にて道路等に対応する平面の部分に基づいて基準平面を決定し、また、道路に沿って道幅内に水平に当該3次元形状の中心線を設定する(S42)。そして、当該中心線に沿って順番に柱状部分空間の選択の起点を設定し、中心線に直交する線に沿って両側方向に当該起点から近い順に柱状部分空間を選択して(S44)、選択した柱状部分空間内の点群の高低差が閾値以上であれば当該柱状部分空間を注目部分空間と判定する(S46)。
ブロック状部分空間設定手段24は、注目部分空間を分割し、水平面内探索手段26での解析の単位空間として、縦に積み重なる複数のブロック状の部分空間(ブロック空間)を設定する(S48)。例えば、ブロック空間の高さHBは柱状部分空間の幅W、奥行きDと同程度に設定することができる。
水平面内探索手段26は、壁面に直交する仮想的な切断平面である水平面内において壁面により形成される境界線(エッジ)を探索するエッジ探索手段であり、既に述べたように概略エッジ探索手段40と詳細エッジ探索手段42とを有する。
概略エッジ探索手段40は、ブロック空間ごとに、水平面内にて当該水平面に射影された点群が予め設定した基準以上に近傍に集まる線分を探索して、当該線分を水平面内における壁面の位置(水平面内壁面位置)と定める(S50)。ブロック空間ごとに水平面内壁面位置を探索することで、垂直方向に細長い注目部分空間にて異なる高さに存在し得る、位置・向きが相違した複数の壁面を弁別できる。概略エッジ探索手段40により得られた水平面内壁面位置は壁面の概略のエッジとして詳細エッジ探索手段42での処理に用いられる。
詳細エッジ探索手段42は、概略エッジ探索手段40により得られた水平面内壁面位置を壁面の概略のエッジであると位置づけて、概略エッジである線分に基づいて、より詳細な壁面のエッジを表す折線を求める。本実施形態では詳細エッジ探索手段42による処理は後述する水平面内壁面位置の追跡処理S56内の微調整処理の一部として行われる。
垂直位置決定手段28は、対象空間にて水平面内壁面位置に存在する壁面の垂直方向の位置を求める(S52)。具体的には、垂直位置決定手段28は、注目部分空間にて検出される水平面内壁面位置ごとに、当該注目部分空間の点群のうち水平面への射影位置が当該水平面内壁面位置から予め設定した距離内にあるものを注目点群として抽出する。そして、水平面内壁面位置ごとに抽出された注目点群について、垂直方向の位置に関して当該注目点群が予め設定した閾値以上存在する各範囲を当該水平面内壁面位置での垂直方向壁面位置と定める。これにより、或るブロック空間で検出された水平面内壁面位置に基づいて、当該ブロック空間以外の高さ範囲にて当該水平面内壁面位置に存在する壁面も検出される。例えば、垂直方向に連続する複数のブロック空間に跨がる壁面について1つの垂直方向壁面位置が定められる。また、高さ方向に分離した複数の壁面が同じ水平面内壁面位置に存在する、つまり壁面が垂直方向に階層をなす場合には、それら階層をなす壁面それぞれについて垂直方向壁面位置が求められる。
水平面内壁面位置と当該水平面内壁面位置に対する垂直方向壁面位置との組は、注目部分空間内の1枚の壁面の配置を表す。当該壁面は当該注目部分空間の外側、つまり横方向に広がるより大きな壁面の一部であり得ることから、ここでは壁面要素と称する。
壁面形状決定手段30は、水平面内壁面位置において各垂直方向壁面位置に存在する壁面要素の形状を、当該垂直方向壁面位置での注目点群の分布範囲に基づいて求める(S54)。具体的には、壁面形状決定手段30は、水平面内壁面位置を通る鉛直面にて注目点群を射影し、射影された点群の分布範囲に基づいて壁面要素の形状を求める。当該形状は、平行な2辺である上底及び下底を鉛直方向に設定され、かつ鉛直面に射影された点群の分布範囲を近似する台形とされる。
追跡手段32(概略エッジ追尾手段)は、既に検出されている水平面内壁面位置における垂直方向壁面位置ごとに、当該水平面内壁面位置の端部に連なる新たな水平面内壁面位置を求める(S56)。追跡手段32は壁面要素の横方向に隣接する直方体の空間(追尾空間)を設定し、当該追尾空間内の点群を水平面に射影し、射影された点群が予め設定した基準以上に近傍に集まる線分を探索して新たな水平面内壁面位置と定める。当該処理を順次繰り返すことで、注目部分空間にて特定された壁面要素から横方向に連続する壁面の水平面内壁面位置がトレースされる。
具体的には、追尾空間は、平面形状が既検出の水平面内壁面位置の端部に短辺の中点を接続された長方形である直方体に設定される。ここでは、当該長方形の長辺に沿った中心線を水平面内での追尾空間の向きとする。また、当該追尾空間の高さ、つまり直方体の上面と底面とで定義される垂直方向の範囲は、垂直方向壁面位置に対応した位置に配置される。
追跡手段32はまず、既検出の水平面内壁面位置を真っ直ぐに延長した向きに追尾空間を設定する。つまり、追尾空間はその平面形状の長方形の上記中心線が既検出の水平面内壁面位置の延長線に一致するように配置される。そして、当該追尾空間内に点群が予め設定した基準以上に集まる場合には当該追尾空間内の点群の水平面内での分布に沿った線分を新たな水平面内壁面位置とする。一方、既検出の水平面内壁面位置の延長線に向きを一致させて設定した追尾空間にて新たな水平面内壁面位置が検出されなかった場合は、追跡手段32は追尾空間の向きを変化させて水平面内壁面位置を探す。つまり、向きを変化させた追尾空間のうち内部に最も点群が集まるものを探索し、得られた当該追尾空間内の点群の水平面内での分布に沿った線分を新たな水平面内壁面位置とする。
上述したように詳細エッジ探索手段42は追跡処理S56内の微調整処理の一部として、詳細エッジを求める。詳細エッジ探索手段42は、概略エッジを表す線分を内部に含むエッジ周辺空間を当該線分に直交する面で複数に分割した小空間(コンパートメント)を設定する。そして、詳細エッジ探索手段42は当該コンパートメントのうち所定個数以上の点群を包含する特定コンパートメントを選択し、当該特定コンパートメントにおける点群を切断平面に射影する。詳細エッジ探索手段42は、射影された点群の分布において、当該点群の各点のうち当該点を中心とする所定半径の円内に最も多くの点群を包含するものを探索し、当該点をコンパートメントの代表点とする。詳細エッジ探索手段42は当該代表点を節点とし、コンパートメントの並び順に代表点をつないだ折線を詳細エッジとして求める。
上述のようにして対象空間にて検出された壁面要素に関する情報は壁面要素登録手段34により記憶装置6に登録される。登録された壁面要素の形状の情報や接続関係の情報は例えば、建物の壁面形状の認識や建物の3次元モデルの構築に用いられる。
以下、壁面抽出システム2の処理例をより詳しく説明する。図3、図4、図6、図9〜図13、図15〜図17は、演算処理装置4が実行する一連の処理の流れを分割して示す処理フロー図である。図3に示す処理は上述した柱状部分空間設定手段20及び柱状部分空間選択手段22による処理に当たる。壁面抽出システム2が壁面抽出処理を開始すると(S60)、柱状部分空間設定手段20は、対象空間内に柱状部分空間を順次作成する。例えば、対象空間をX軸方向及びY軸方向に沿ってメッシュ状に分割する場合、柱状部分空間の幅W及び奥行きDがパラメータとして設定されると、それらが当該メッシュの間隔(柱状部分空間のサイズ)となり、対象空間のサイズに応じてX,Y各方向の柱状部分空間の配列個数が定まる。当該配列個数により、X,Y各方向の柱状部分空間の位置を示すインデックスの範囲が決定される。柱状部分空間設定手段20は、柱状部分空間の2次元メッシュ状の配置を表すインデックスを所定の順番で変更し、設定されたインデックスに応じた位置(X,Y各方向の座標範囲)で定義される柱状部分空間を設定する(S62)。
ここで、道路を走行する車両上からレーザ照射を行い点群データを取得した場合、上述したように、点群データが表す3次元形状にて道路等に対応する平面の部分に基づいて基準平面が設定され、道路に沿って当該3次元形状の中心線が設定される。説明を簡単にするために、当該中心線をX軸(つまりY=0)とし、車両が走行する方向にX方向のインデックスが増加し、道幅方向に対応するY方向に関しては、中心線から離れるに従ってインデックスの絶対値が増加するものとする。例えば、Y方向のインデックスは中心線の位置では0とし、走行方向に対して左向きに、1,2,3,…と設定し、右向きには−1,−2,−3,…と設定することができる。この場合、柱状部分空間設定手段20は例えば、X方向のインデックスを順番にインクリメントし、X方向のインデックスの各値にて、Y軸の正方向と負方向との両方向にY方向のインデックスを変化させる。すなわち、柱状部分空間設定手段20はX方向の或るインデックスの値にて、Y方向のインデックスを0から順番に増加させて柱状部分空間を設定し、また−1から順番に減少させて柱状部分空間を設定する。
インデックス指定されたメッシュの柱状部分空間が未処理のものであれば(S64にて「No」の場合)、柱状部分空間選択手段22は当該柱状部分空間内の点群を、例えばハードディスク等の記憶装置6からRAM(Random Access Memory)等の作業領域に取り込む(S66)。柱状部分空間に取り込んだ点群内に所定閾値Th1以上の高低差がある場合(S68にて「Yes」の場合)には、柱状部分空間選択手段22は当該柱状部分空間を注目部分空間と判断して、当該注目部分空間での水平面内壁面位置や垂直方向壁面位置の探索等の処理が開始される(図4のノードBへ処理が進む)。例えば、閾値Th1は道路等の地表の略平坦な部分のみを含む柱状部分空間を排除できる程度に小さく設定することができる。また、閾値Th1を、壁面を検出しようとする地物の高さに応じて設定して、関心のない低い地物の壁面は検出しないようにすることもできる。例えば、道路から見て建物の手前に存在するガードレールや郵便ポストなどの比較的低い地物を検出対象外とするように閾値Th1を建物の1階の高さ程度に設定することができる。
設定した柱状部分空間から取り込んだ点群の高低差が閾値Th1未満である場合(S68にて「No」の場合)には、当該柱状部分空間における壁面抽出処理は行わない。この場合は、柱状部分空間設定手段20が次の柱状部分空間を設定する(ノードAへ処理が戻る)。
全てのメッシュについて処理が終わっている場合は(S64にて「Yes」の場合)、演算処理装置4は壁面抽出の処理を終える(S70)。
図4は演算処理装置4が実行する一連の処理のうち上述したブロック状部分空間設定手段24及び水平面内探索手段26が行う部分の概略の処理フロー図である。
ブロック状部分空間設定手段24は、注目部分空間を一定の高さHBごとに分割して、縦に積み重なる複数のブロック空間を設定し、各ブロック空間内に位置する点群のデータを記憶装置6からRAM等の作業領域に取り込む(S80)。例えば、柱状部分空間の幅W、奥行きDを50cmとする場合にはブロック空間の高さHBは20〜50cmとすることができる。当該分割により設定されるブロック空間の段数をn段とし、インデックスIを用いて下から順に第I階(I=1,2,…,n)と表す。
水平面内探索手段26はn段のブロック空間を順番に選択して、当該ブロック空間に水平面内壁面位置を示すエッジ(概略エッジ)が存在するかを調べる。例えば、水平面内探索手段26はインデックスIを1ずつ増加させて、エッジの存在を調べるブロック空間を選択する(S82,S84)。水平面内探索手段26は、選択した第I階のブロック空間にエッジが存在するかを調べ(S86)、存在しない場合には(S88にて「No」の場合)次のブロック空間を選択する(S84)。なお、Iがnを越えた場合には、図3のノードAに戻り、次の注目部分空間を探す(S90)。
図5はブロック空間での概略エッジの探索処理S86を説明する模式図である。図5は、ブロック空間を上面から見た図であり、ブロック空間の幅W及び奥行きDで定義される矩形100と、ブロック空間内の点群のXY面内での配置の一例が示されている。水平面内探索手段26は、ブロック空間内の点群から任意の2つのデータ点PA,PBを選択し、それら2点を両端とするXY面内での線分L0をエッジの候補線として設定すると共に、線分L0を中心としてその両側にそれぞれ幅w(合計幅2w)の帯状領域EAを設定する。水平面内探索手段26は点群のうちXY平面での座標が当該領域EA内に位置するデータ点の個数をカウントする。データ点が領域EA内であるか否かは、例えばXY平面上での当該データ点から線分L0への垂線の長さがw以下であるか否かによって判定可能である。また、エッジの条件として、領域EA内の点群が表す3次元形状が平坦でないことを課す。具体的には、水平面内探索手段26は、領域EA内に包含されるデータ点の高低差(最大標高と最小標高との差)ΔZが予め設定した段差閾値γ以上であれば平坦ではないと判定する。
ここで、幅wはパラメータであり、壁面に対応するデータ点のエッジに直交する方向の位置のばらつきを吸収する。例えば、wは3cm程度とすることができる。また、高低差の閾値γは例えば2cm程度に設定できる。
水平面内探索手段26は、ブロック空間内の2つのデータ点の全ての組み合わせについて候補線を設定して上述の判定を行い、領域EA内に最もデータ点が多く集まり、かつΔZが閾値γ以上である線分L0をブロック空間にて見つけられた概略エッジとする。エッジが存在した場合には(S88にて「Yes」の場合)、当該エッジが壁面要素を決定するための処理を行われていない新規なものであるか判定される(S92)。当該判定は、壁面要素を決定するための処理の対象とされたエッジを登録したリストを検索して、処理S86で見つけられたエッジと同一のものが存在するか否かに基づいて行われる。リストに同一のものが存在しなければ新規なエッジと判定し(S92にて「No」の場合)、リストにエッジの両端PA,PBの座標(ax,ay),(bx,by)を登録する(S94)。このように或るブロック空間にて新たなエッジが検出されると、当該エッジについて当該注目部分空間での垂直方向壁面位置の探索、及び壁面要素の形状の決定が行われる(図6のノードDへ処理が進む)。一方、処理S86にて見つけられたエッジと同一のエッジが他のブロック空間についての処理で既にリストに登録されると共に、垂直方向壁面位置の探索等の処理が行われている場合もあり、その場合は(S92にて「Yes」の場合)、当該エッジについてのリストへの登録や垂直方向壁面位置の探索等の処理は省略され、水平面内探索手段26は次のブロック空間について処理を行う(ノードCへ処理が戻る)。
図6は垂直位置決定手段28及び壁面形状決定手段30による処理の概略のフロー図である。垂直位置決定手段28は、処理S86にて抽出された概略エッジL0での垂直方向における壁面の位置を探索するための空間として垂直探索空間を設定し、当該垂直探索空間内に位置する点群のデータを記憶装置6からRAM等の作業領域に取り込む(S110)。垂直探索空間は、平面形状がエッジL0を長手方向の中心軸とする矩形である直方体形状の空間であり、その底面及び上面は部分空間の底面及び上面と同じ高さに位置する。平面形状の矩形の短辺の寸法ξは例えば、エッジを抽出した帯状領域EAの幅2wと同じ、またはやや大きめに設定することができる。例えば、ξは10cmに設定することができる。
垂直位置決定手段28は垂直探索空間内の点群をZ方向の分布に基づいてグループ化する(S112)。これにより或る水平面内壁面位置における垂直方向の壁面の階層構造が捉えられる。
グループ化において垂直位置決定手段28は例えば、垂直探索空間に取り込んだ点群の最小標高から上へ、又は最大標高から下へ向けて一定の刻み幅hでZ方向に複数の区間を設定する。そして、当該区間に基づいて垂直探索空間内の点群を複数の階層(ランク)に区分し、ランクごとに点群の数(点数)を集計する。ここで刻み幅hに応じて、垂直方向に隣接した2つの壁面を分離して検出できる分解能が定まり、基本的にはhはHB以下に設定される。ここでhが小さいほど分解能が高くなるが、hが小さすぎると、壁面が存在する高さ範囲の区間での点数が小さくなり、壁面が存在しない高さ範囲での点数(基本的には0であることが期待される)との弁別が難しくなる。hはこれらを勘案して設定される。垂直位置決定手段28はランクごとに点群の数を集計した点群分布に基づいて、垂直探索空間における点群をグループ化する。具体的には、点群が集まっているランク範囲をそれぞれ点群の1つのグループとし、当該ランク範囲を1つの垂直方向壁面位置とする。
図7はグループ化を説明するための説明図であり、hを0.2mとしてランクごとに点群の数を集計した結果である点群分布表の一例を示している。垂直位置決定手段28は例えば、ランクを下(最小標高)から上へ順番に調べて、0より大きい点数を有するランクが連続する範囲ごとに順番にグループ番号を付与する。図7に示す例では点数が0より大きいランク範囲は、ランク1〜4、ランク9〜12、ランク18〜22、及びランク25,26の4つであり、これらランク範囲に順番にグループ番号1〜4が付与される。なお、点数が0より大きいランクが単独で現れる場合、つまり当該ランクの前後では点数が0である場合には、垂直位置決定手段28は当該1つのランクを1つのランク範囲としてグループ番号を付与する。
グループ化により定まる階層数をmと表す。図7に示す例ではmは4である。壁面形状決定手段30はm階層に設定されたランク範囲(垂直方向壁面位置)を順番に選択する。例えば、壁面形状決定手段30はグループ番号Jを1ずつ増加させて、壁面要素の形状を決定するランク範囲を選択する(S114,S116)。そして、垂直探索空間に存在する点群のうち選択したランク範囲に存在するもののデータを記憶装置6からRAM等の作業領域に取り込み(S120)、当該点群データから壁面要素となる台形を決定する処理を行う(S122)。壁面要素の形状を決定できた場合には(S124にて「Yes」の場合)、当該壁面要素の横方向につながる壁面要素の水平面内壁面位置を順次求める追跡処理が開始される(図9のノードFへ処理が進む)。
なお、m階層全てについて壁面要素の決定処理が終わると(S118にて「Yes」の場合)、図4のノードCへ戻り、次の概略エッジが探索され当該エッジについて同様の処理が繰り返される。また、或る階層にて壁面要素の形状を決定できなかった場合は(S124にて「No」の場合)、処理S116に戻り、次の階層についての処理が行われる。
図8は壁面要素の形状を求める処理S122を説明する模式図であり、垂直探索空間に存在する点群のうち1つの階層に対応するものをエッジを通る鉛直面に射影した様子の一例を示している。図8において矩形で示す鉛直面130に分布する黒点132が点群を射影した点である。矩形の鉛直面130は横方向が概略エッジに沿っており、左側が概略エッジの一方端PAの側、右側が他方端PBの側に対応している。また、鉛直面130の縦方向が鉛直方向であり、上端、下端はそれぞれランク範囲の上端、下端に対応している。壁面形状決定手段30は鉛直面130を格子状に区切り、縦横に行列配置された複数の小矩形134を定義する。例えば、小矩形134の幅は10cm程度、高さは5cm程度とすることができる。
壁面形状決定手段30は、縦に並ぶ小矩形134の列を例えば左側から順に選択し、点群が射影される小矩形134が2つ以上存在する列を探す。そのような列が現れる範囲、つまり最初の位置(第ηS列)から最後の位置(第ηE列)までの列範囲が得られた場合には、さらに壁面要素の形状を特定する処理が行われる。一方、そのような列範囲が存在しない場合には当該階層には壁面要素は存在しないと判断される。
壁面形状決定手段30は鉛直面130に射影された点群(黒点132)のうち左端部分に位置するものに基づいて台形の平行な2辺のうちの一方(ここではこれを台形の上底とする)とする鉛直線のX,Y座標を定め、左端部分に分布する点群の標高に基づいて当該辺(上底)の両端のZ座標を定める。また、右端部分に位置するものに基づいて台形の平行な2辺のうちの他方(ここではこれを台形の下底とする)とする鉛直線のX,Y座標を定め、右端部分に分布する点群の標高に基づいて当該辺(下底)の両端のZ座標を定める。例えば、壁面形状決定手段30は、第ηS列と第(ηS+1)列との2列における点群の分布に基づいて台形の上底のX,Y座標及びその両端のZ座標を定め、第ηE列と第(ηE−1)列との2列における点群の分布に基づいて台形の下底のX,Y座標及びその両端のZ座標を定める。この場合、具体的には、第ηS列と第(ηS+1)列との2列における点群のZ座標のうち最大値(点136に対応)及び最小値(点138に対応)を上底の両端のZ座標とすることができ、第ηE列と第(ηE−1)列との2列における点群のZ座標のうち最大値(点140に対応)及び最小値(点142に対応)を下底の両端のZ座標とすることができる。上底のX,Y座標は、点群のうち最も左側の点144や、第ηS列と第(ηS+1)列との境界線146でのX,Y座標で、また、下底のX,Y座標は、点群のうち最も右側の点148や、第ηE列と第(ηE−1)列との境界線150でのX,Y座標で定義することができる。
図9は水平面内壁面位置の追跡処理の概略のフロー図である。追跡手段32は注目部分空間にて検出された概略エッジを連続追跡処理の基点として設定し(S160)、エッジリストA,Bを空にする初期化処理を行う(S162)。基点エッジについて取得された壁面要素が既に図形データベースに図形登録されているか調べ(S166)、登録されていない、つまり新規である場合には(S166にて「No」の場合)、当該壁面要素をエッジリストAに追加する(S168)。
なお、基点エッジに対しても、後述する詳細エッジ探索手段42による微調整処理を行う。
さらに追跡手段32は、基点エッジの両端それぞれに連なる概略エッジを追跡する。具体的には、垂直方向壁面位置ごとに基点エッジの一方端PAから伸びる向きに連なる概略エッジを順次検出し、検出したエッジに対応する壁面要素を求める連続壁面追跡処理が行われ、取得した壁面要素はエッジリストAに追加登録される(S170)。同様に、基点エッジの他方端PBから伸びる向きにも連続壁面追跡処理が行われ、取得された壁面要素はエッジリストBに追加登録される(S172)。或る基点エッジについて追跡処理が終わると、壁面要素登録手段34による処理が行われる(図15のノードGへ処理が進む)。
一方、処理S166において、基点エッジでの壁面要素が既に図形データベースに図形登録されている場合には(S166にて「Yes」の場合)、演算処理装置4は、当該壁面要素についての追跡処理や登録処理は行わずに、処理を図16に示すノードHに進める。この場合の処理については後述する。
図10、図11は処理S170,S172にて行われる連続壁面追跡処理の概略のフロー図である。追跡手段32は既に検出されているエッジに連続するエッジを探索する追尾空間として直方体の探索空間を設定する。探索空間は既検出エッジの探索空間に隣接する空間であり、探索空間の平面形状である長方形の短辺の中点は既検出エッジの端部に配置される。また、探索空間のZ値の範囲(上面及び底面の高さ)は、既検出エッジにおける壁面要素の垂直方向の位置に応じて設定される。例えば、既検出の壁面要素の形状である台形の上側の辺と下側の辺が勾配を有し得ることを考慮して、探索空間の上面の高さを既検出の壁面要素の鉛直な2辺のうち当該探索空間が接続される側の辺の上端より高く設定し、一方、探索空間の底面の高さを当該辺の下端より低く設定することができる。探索空間の平面形状の長辺の長さは柱状部分空間の幅Wや奥行きDと同程度に設定することができ、例えば50cmとすることができる。
まず、追跡手段32は既険出のエッジである線分を追跡しようとする側に延長し、当該延長線の向きに探索空間を配置する(S180)。すなわち、探索空間はその平面形状である長方形の長辺に沿った中心線を当該延長線に一致させるように配置される。そして、当該探索空間内に位置する点群のデータを記憶装置6からRAM等の作業領域に取り込み(S180)、処理S86と同様の手法により当該探索空間にて概略エッジを探す(S182)。当該探索空間にてエッジが存在した場合(S184にて「Yes」の場合)、追跡手段32はさらに、処理S122と同様にして当該探索空間の点群データから壁面要素となる台形を決定する処理を行う(S186)。壁面要素の形状を取得できた場合には(S188にて「Yes」の場合)、詳細エッジ探索手段42を用いたエッジの微調整処理が行われる(S190)。そして処理は処理S180に戻り、今得られた概略エッジを既検出エッジとして、連続壁面の追跡処理が継続される。
既検出エッジの延長線上の探索空間にて概略エッジ又は壁面要素を検出できない場合(処理S184にて「No」の場合、及びS188にて「No」の場合)は、図11のノードCBに進み、既検出エッジの延長線からずれた方向における探索処理が行われる。当該探索処理では、探索空間をその中心軸を水平面内にて当該延長線の位置から時計回り方向と反時計回り方向とに変化させて設定する。例えば、延長線の向きからの中心軸の向きの変化範囲(±θ)とその分割数kを設定し、θ/kずつ水平面内での角度が異なる複数の探索空間を設定し、各探索空間にてエッジを探し、そして角度を変えて設定した複数の探索空間にて得られたエッジのうち最も点群が集まるものを選択する(S200)。
一番点群が集まるエッジを特定できた場合(S202にて「Yes」の場合)、追跡手段32はさらに、処理S122と同様にして探索空間の点群データから壁面要素となる台形を決定する処理を行う(S204)。壁面要素の形状を取得できた場合には(S206にて「Yes」の場合)、詳細エッジ探索手段42を用いた微調整処理が行われる(S208)。そして処理は図10のノードCAに戻り、今得られた概略エッジを既検出エッジとして、連続壁面の追跡処理が継続される。
角度を変えた探索空間にてエッジ又は壁面要素を検出できない場合(処理S202にて「No」の場合、及びS206にて「No」の場合)は、連続壁面追跡処理は終了し、当該処理をサブルーチンとして呼び出した処理S170又はS172(図9)に戻る。
図12及び図13はエッジの微調整処理S190,S208の概略のフロー図である。詳細エッジ探索手段42は概略エッジを示す線分が得られると、当該線分を一方端から一定の長さずつ区切り(S220)、これにより生成された各区間にて詳細エッジが通る点(代表点)を探索し、エッジをXY面内にてPA,PBを結ぶ線分に代えて、各区間にて求めた代表点をつなぐ折線とする。ここでは区間数をNとする。演算処理装置4は、選択した区間Kから代表点PKが得られると、当該代表点PKの水平面内の座標(XK,YK)と、当該区間での壁面要素の標高値の最小値ZLK及び最大値ZHKとを、代表点情報として求める。例えば、ZLK,ZHKはエッジの両端PA,PBでの値を補間して求めることができる。
詳細エッジ探索手段42は、区間番号Kを1ずつ増加させて、区間を選択し(S224,S226)、各区間にて代表点を探索する(S230)。探索は、エッジ周辺空間を区間ごとに分割したコンパートメント内で行われる。エッジ周辺空間は水平断面が概略エッジの近傍領域であり、垂直方向に壁面要素に応じた高さを有する空間に設定することができる。具体的にはエッジ周辺空間の水平断面は、対向する2辺の中点に概略エッジの両端PA,PBが位置した矩形である。当該矩形の概略エッジに直交する方向の寸法は、検出対象とする地物に応じて設定することができ、本実施形態では、検出対象とする壁面に想定される凹凸の大きさや壁面の屈曲の可能性を考慮して設定することができる。その寸法は、壁面の水平断面でのエッジを正確に捉えることができる程度に大きくする必要があるが、一方、壁面のエッジに起因しない点群が代表点として誤検出されにくいようにする観点からは小さくすることが好適であり、少なくとも柱状部分空間の幅Wや奥行きDより小さく設定される。コンパートメントは、概略エッジを区切った区間の境界点を通り概略エッジに直交する面でエッジ周辺空間を区切って生成される。詳細エッジ探索手段42は区間ごとに当該区間に対応するコンパートメント内の点群データを取り込んで、当該コンパートメントの水平断面内にて最も点群が密集する位置を求める。密集位置は、当該点群の任意の点を中心とする円内に包含される点群の数で判断される。例えば、円の半径は2cmとすることができる。そして当該位置に密集する点の数が予め定めた個数以上であれば(S232にて「Yes」の場合)、当該位置を代表点としてエッジ代表点リストに追加し(S234)、次の区間の処理に進む(S226)。一方、当該位置に密集する点の数が予め定めた個数未満であれば(S232にて「No」の場合)、当該区間にエッジの代表点が存在しないとしてエッジ代表点リストに追加せずに次の区間の処理に進む(S226)。全ての区間について処理が終わると(S228にて「Yes」の場合)、図13のノードCV−Rに進む。
図14は詳細エッジ探索手段42によるエッジの微調整処理を説明する模式図である。図14は、或る柱状部分空間170を上から見た図であり、当該柱状部分空間170にて検出された概略エッジL0に対応して生成される詳細エッジLfの例を示している。点PAとPBとを結ぶ線分であるL0は例えば4つの区間に分割されており、L0を中心線とする点線の矩形で表されるエッジ周辺空間172も区間に対応して4つのコンパートメント174a〜174dに区画される。例えば、コンパートメント174a,174b,174dにて代表点Pk,Pk+1,Pk+2が抽出され、それらをコンパートメントの並び順につないだ折線PkPk+1Pk+2が詳細エッジLfとなる。ちなみに、図14に示す例では、エッジ周辺空間172の分割はPA側から一定間隔ごとに行われており、その結果、最後の区間が他の区間より小さくなり得ることが示されている。
図13に戻り、演算処理装置4はエッジ代表点リストに格納されている代表点の数mをカウントする(S240)。そして、隣接する代表点PJとPJ+1の対をJを1から(m−1)まで1ずつ増加させて選択し(S242〜S244)、Jが(m−1)より大きい場合には(S246にて「Yes」の場合)、エッジの微調整処理S190,S208を終了する。一方、Jが(m−1)以下の場合には(S246にて「No」の場合)、PJの代表点情報とPJ+1の代表点情報とで表される壁面要素が既に図形データベースに図形登録されているか調べる(S248)。登録されていない場合には(S250にて「No」の場合)、当該壁面要素をエッジリストA又はBに追加し(S252)、処理S244に戻る。一方、既に図形データベースに図形登録されていた場合(S250にて「Yes」の場合)、エッジの微調整処理S190,S208を終了する。
なお、例えば、追跡処理にて得られた隣接する概略エッジそれぞれに対応して得られた詳細エッジ同士を、互いに近接する代表点間を線分で接続することができる。
また、詳細エッジ探索手段42は、S160(図9)にて基点としたエッジについても微調整処理を行う。
さて、図9の説明で述べたように、或る基点エッジについて追跡手段32による処理S170,S172が終わると、壁面要素登録手段34による処理が行われる。図15は壁面要素登録手段34による処理の概略のフロー図である。壁面要素登録手段34は、追跡手段32により生成されたエッジリストA,Bが空でなければ(S260,S264にて「No」の場合)、それらエッジリストに格納されている壁面要素を図形データベースに登録し(S262,S266)、図16のノードHへ処理を進める。
ここまで処理を行ってきた基点エッジは、処理S84で指定される第I階のブロック空間から処理S86で検出されたエッジである。演算処理装置4は当該基点エッジについて処理S116で指定された第J階層での処理を終えると、注目部分空間のうち当該階層に対応する高さ範囲にて、他のエッジを探索して壁面要素を決定する処理を行う。これにより例えば、同じ高さ範囲における多重エッジを検出して、それぞれに対応する壁面要素を決定することができる。図16は第J階層にて最初のエッジ(主エッジと称する)についての処理を終えた後の処理フロー図である。演算処理装置4は第J階層にて主エッジの処理を終えると、当該階層に存在する他のエッジ(多重エッジと称する)を探索して壁面要素を決定する処理(多重エッジ処理)S270を行う。多重エッジ処理S270が終了すると、処理は図6のノードEに戻り、次の階層における主エッジの処理が開始される。
図17は多重エッジ処理の概略のフロー図である。多重エッジ処理では、主エッジの両側に別のエッジがないか探索する。図18は多重エッジ処理を説明する模式図であり、部分空間の平面配置を示している。図18(a)に示す例では、注目部分空間280には最も点群が集まるエッジ282と、エッジ282より点群の集まり度合いが低いエッジ284とが存在している。既に説明した水平面内探索手段26、垂直位置決定手段28、壁面形状決定手段30、追跡手段32及び壁面要素登録手段34による処理で、主エッジとなるエッジ282が検出され、当該エッジ282について追跡や図形登録の処理が行われる。多重エッジ処理では、当該エッジ282を含まないようにその両側に多重エッジ探索空間286,288を設定する(図18(b))。多重エッジ探索空間は例えば、平面形状が柱状部分空間と同程度の大きさ・形状の矩形であり、Z値の範囲が第J階層と同程度である直方体の空間に設定される。例えば、主エッジ(図18のエッジ282)が延びるいずれかの方向に向かって、当該エッジより左側の領域に多重エッジ探索空間を作成して当該空間内の点群を取り込み(S300)、処理S86と同様に当該多重エッジ探索空間でエッジの探索を行い、エッジが存在するかを判定する(S302)。エッジが存在する場合(S302で「Yes」の場合)は、多重エッジ探索空間内にて当該エッジを中心として図6の処理S110における垂直探索空間と同様の平面形状の空間を設定し、当該空間内の点群から処理S122と同様にして壁面要素の形状を決定する処理を行う(S304)。壁面要素の形状を取得できた場合には(S306にて「Yes」の場合)、図9で説明した追跡手段32による連続壁面追跡処理S160〜S172、及び図15で説明した壁面要素登録手段34による登録処理S260〜S266と同様の処理S308が行われる。同様に主エッジより右側の領域に多重エッジ探索空間を作成して、上述した左側の場合の処理S300〜S308と同様の処理S310〜S318が行われる。
上記実施形態では、コンピュータを壁面抽出システム2の各手段として動作させるプログラムは記憶装置6に格納され、コンピュータはこれを読み出して実行する構成としたが、他の構成では、当該プログラムはネットワーク等の通信媒体を介してコンピュータに提供することができ、この場合、壁面抽出システム2は通信装置を備え当該通信装置がネットワーク等からプログラムを取得し、演算処理装置4に提供したり、記憶装置6に記憶させる。また、当該プログラムはCD−ROM(Compact Disc Read Only Memory)等の記録媒体に格納して提供することも可能である。
[第2の実施形態]
上記第1の実施形態では、水平面内にてエッジの探索処理、及び壁面の連続追跡処理を行い、得られた概略エッジについて微調整処理を行って詳細エッジを求める例を示した。ここで、概略エッジの検出は水平面内に限られず、例えば、鉛直面内などでも行うことができ、そして詳細エッジの探索も水平面内に限られない。
本発明の第2の実施形態はトンネルの内壁面を抽出するトンネル内壁面抽出システムであり、上述した壁面抽出システム2と同様、コンピュータシステムとして構成可能である。本トンネル内壁面抽出システムはトンネルの内壁面の検査に用いられ、ユーザは当該システムを用いて内壁面の形状変化を観察し異常を検出することができる。
当該システムはトンネルを横断する鉛直面を仮想的な切断平面として設定し、当該切断平面に現れるトンネルの内壁面等のエッジを検出する。上述した壁面抽出システム2が水平面を切断平面とし当該切断平面内におけるエッジを検出し追跡したのに対し、本システムは鉛直な切断平面内にてエッジを検出し追跡するという違いを除けば、本システムにおけるエッジ検出の手法は壁面抽出システム2の手法と基本的に類似している。ここで、水平方向をX軸、鉛直方向をY軸とすると切断平面はXY平面であり、Z軸は切断平面に垂直な方向に設定される。本システムは部分空間設定手段、概略エッジ探索手段、概略エッジ追尾手段及び詳細エッジ探索手段を備える。
部分空間設定手段は、切断平面を中心としてZ軸方向に寸法(奥行き)Dを有する空間を解析の対象空間として設定し、当該対象空間を区画して解析の単位空間となる部分空間を設定する。例えば、部分空間設定手段は対象空間を水平方向及び垂直方向に区画して、X,Y,Z各軸に沿った辺を有する直方体形状の部分空間を作成する。図19は部分空間を説明する模式図であり、切断平面(XY平面)におけるトンネル断面形状300と部分空間302の配置とを示している。対象空間はメッシュ状に区画され、部分空間302はX方向及びY方向それぞれに沿って並ぶ2次元配列をなす。本実施形態では部分空間のX軸方向の寸法(幅W)及びY軸方向の寸法(高さH)を、例えば奥行きDと同じに設定し、部分空間を立方体に設定する。部分空間設定手段は部分空間を順次、解析対象の単位空間として選択する。
概略エッジ探索手段は設定された単位空間から概略エッジを抽出する。概略エッジ追尾手段は、或る部分空間にて概略エッジが抽出されると当該概略エッジの両端から概略エッジを切断平面内にて追尾する。図20は或る部分空間310にて抽出された概略エッジ312と、当該概略エッジ312を基点とした連続追跡処理の例を示す切断平面の模式図である。追尾処理は部分空間310から時計回りと反時計回りとでそれぞれ追尾空間314を順次設定して概略エッジ316を探索する。
詳細エッジ探索手段は対象空間を追尾の基点となる部分空間や追尾空間にてそれぞれ線分として抽出される概略エッジに基づいて、より詳細なトンネルの横断面のエッジを表す折線を求める。具体的には、本システムの詳細エッジ探索手段は上記第1の実施形態の詳細エッジ探索手段42と同様、概略エッジを複数区間に区切り、各区間を内部に含む小空間であるコンパートメントを設定する。そして、詳細エッジ探索手段は当該コンパートメントのうち所定個数以上の点群を包含する特定コンパートメントを選択し、当該特定コンパートメントにおける点群を切断平面に射影する。詳細エッジ探索手段は、射影された点群の分布において、当該点群の各点のうち当該点を中心とする所定半径の円内に最も多くの点群を包含するものを探索し、当該点をコンパートメントの代表点とする。詳細エッジ探索手段は当該代表点を節点とし、コンパートメントの並び順に代表点をつないだ折線を詳細エッジとして求める。
図21〜図23は概略エッジから詳細エッジを生成する処理を説明する切断平面の模式図であり、トンネル断面形状300の道路脇の段差部分318(図20)を示している。図21は段差部分318に設定された各追尾空間320から抽出された概略エッジ322を示している。図22では概略エッジ322を中心線とする矩形の断面形状を有するエッジ周辺空間330を概略エッジ322の一方端から一定間隔の位置で分割して、コンパートメント332が設定されている。各コンパートメントでは代表点が探索され、得られた代表点334を順に接続して折線の詳細エッジ340が生成される。図23はその詳細エッジ340を示している。図23に示す詳細エッジ340は図21に示す概略エッジ322より段差部分318の形状をよく表している。本トンネル内壁面抽出システムは詳細エッジを求めることで、トンネルの内壁面の形状を精度良く抽出することによって、内壁面の形状変化を観察することを可能とする。