鉄道用軌道の経路情報の生成方法および生成装置、ならびに生成処理用のプログラム
【課題】鉄道軌道を表す連続性の高い特徴を抽出して、鉄道用軌道の経路を精度良く表す情報を生成する。
【解決手段】鉄道用軌道を含む所定広さのエリアを対象として生成されたオルソ画像に、画像中のレール21,22間の画素数より小さく、枕木23間の画素数より大きく、かつ周囲より暗い部位をレール21,22間の間隔の1/2より小さな幅をもって各方向に膨張させる大きさの最小値フィルタ100を適用する。これにより、各レール21,22の幅が広がって、線状領域L1,L2が生成される。また各枕木23が線状領域L1,L2の間で一体化されることにより、線状領域L3が生成される。さらに、この変換後の画像から線状領域L1,L2,L3が幅方向に沿って並ぶ特徴パターンを抽出し、その特徴パターンから長手方向に沿うラインを生成する。さらにこのラインの位置および方向の変化を数値化することによって、鉄道用軌道の経路を表す情報を生成する。
【解決手段】鉄道用軌道を含む所定広さのエリアを対象として生成されたオルソ画像に、画像中のレール21,22間の画素数より小さく、枕木23間の画素数より大きく、かつ周囲より暗い部位をレール21,22間の間隔の1/2より小さな幅をもって各方向に膨張させる大きさの最小値フィルタ100を適用する。これにより、各レール21,22の幅が広がって、線状領域L1,L2が生成される。また各枕木23が線状領域L1,L2の間で一体化されることにより、線状領域L3が生成される。さらに、この変換後の画像から線状領域L1,L2,L3が幅方向に沿って並ぶ特徴パターンを抽出し、その特徴パターンから長手方向に沿うラインを生成する。さらにこのラインの位置および方向の変化を数値化することによって、鉄道用軌道の経路を表す情報を生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、鉄道用軌道(以下、単に「軌道」という場合もある。)を含む所定広さのエリアにつき生成されたオルソ画像を処理することによって、鉄道用軌道の経路を表す情報を生成する方法、およびこの方法を実施するための装置ならびにプログラムに関する。
【背景技術】
【0002】
近年、列車を安全かつ安定して走行させることを目的として、走行する列車が軌道上のどの地点にあるかを判別し、その地点の勾配やカーブに応じて速度を制御する技術が開発されている。
【0003】
上記の制御を行うには、軌道の長さ、カーブの向きや曲率、勾配などを精度良く表した情報が必要である。この点に鑑み、発明者らは、オルソ画像をコンピュータで処理することによって、鉄道用軌道の経路を数値化することを検討した。
【0004】
オルソ画像は、空中三角測量により求めた3次元座標を用いて作成されるもので、歪みが少なく、観測対象エリアを真上から観察した状態を精度良く表すことで知られている。また、空中三角測量によって、各地点の高さ情報を取得することもできるので、斜面の勾配を算出することが可能である。したがって、オルソ画像から鉄道用軌道の特徴を精度良く抽出することができれば、この特徴に基づいて、鉄道用軌道の経路の3次元情報を生成することができ、さらに、これを分析することにより、鉄道用軌道の特徴を詳細に表した情報を生成することもできる。
【0005】
オルソ画像を用いて車両の走行路の経路情報を生成する先行技術を開示する文献としては、下記の特許文献1,2が認められる。
いずれの文献も、鉄道用軌道ではなく道路を対象とするものであるが、特許文献1には、オルソ画像から道路を表すエッジを検出し、検出されたエッジをベクトル化することによって、高精度な道路データを生成することが記載されている。また、エッジ検出により道路を表す線分として認識されたもののうち、距離や角度が一定以内であるものを接続することにより、橋などにより道路の特徴が分断された箇所の情報を補完することも記載されている。
【0006】
また特許文献2には、高さを表すオルソ画像に地図データを引き込むことによって、オルソ画像上の道路や当該道路に関連する立体情報を抽出することが記載されている。
【0007】
【特許文献1】特開2008−170611号公報(段落0011〜0020参照。)
【特許文献2】特開平11−184375号公報(段落0028〜0035参照。)
【発明の開示】
【発明が解決しようとする課題】
【0008】
オルソ画像から抽出する鉄道用軌道の特徴としては、両側のレールのエッジを選択するのが最も望ましいように思われる。しかし、単なるエッジ検出では、レール以外の物体のエッジも検出されるため、レールのエッジを特定するのは困難である。
【0009】
また、鉄道用軌道の経路を精度良く示す情報を得るには、レールの長さ方向の位置や向きの変化を連続的に検出するのが望ましいが、レールは道路に比べて幅狭である上に、周囲の明暗のばらつきが大きいため、エッジの検出精度が悪く、途切れの少ない情報を得るのは困難である。また、周囲の枕木や架線などによる多数のエッジがノイズとして現れ、軌道の特徴を精度良く数値化するのが困難である。
【0010】
本発明では、上記の問題点に着目して、オルソ画像中の鉄道用軌道を、その経路の特徴を明瞭化したパターン画像に変換することによって、軌道の経路を表す連続性の高い特徴を抽出し、その情報から軌道の経路を精度良く表す情報を生成することを、課題とする。
【課題を解決するための手段】
【0011】
上記の課題に関して、本発明では、オルソ画像に現れる鉄道用軌道の特徴に着目して以下の第1、第2、第3の各ステップを実行することにより、鉄道用軌道の経路を表す情報を生成する。
【0012】
第1ステップでは、一辺の長さが画像中のレール間の画素数より小さく、枕木間の画素数より大きく、かつ周囲より暗い部位をレール間の画素数の1/2より小さな幅をもって各方向に膨張させる大きさの最小値フィルタをオルソ画像に適用することによって、各レールの幅が広がり、各レールの間で枕木間の間隔が消失して、各枕木が線状に連なった状態に変換された画像を生成する。
【0013】
第2ステップでは、第1ステップの変換処理により生成された画像から、所定明るさの線状領域を中央にしてこの線状領域と当該領域より暗い2つの線状領域とが幅方向に沿って並んでいる特徴パターンを抽出する。第3ステップでは、第2ステップで抽出された特徴パターンからその長手方向に沿うラインを生成し、生成されたラインが示す位置および方向の変化を数値化した情報を作成する。
【0014】
上記の第1ステップは、オルソ画像中の鉄道用軌道を、本来とは異なる特徴パターンに変換することによって、これらを容易に検出できるようにすることを目的とするものである。以下、この変換処理を模式的に示した図1〜3を用いて、第1ステップの処理の原理を説明する。
【0015】
一般に、オルソ画像中のレールや枕木は、周囲より暗く、さらにレールの方が枕木より暗くなる(発明者の計測では、256階調の画像で約40階調の差が認められた。)。また、レール間の間隔は枕木間の間隔より広く、これらの間隔はほぼ一定である。
第1ステップでは、これらの特性を利用した最小値フィルタを使用することにより、図1に例示するような変換処理を行う。
【0016】
図1の左手の図は、オルソ画像の鉄道用軌道に対応する範囲を拡大した模式図である。この図中の21,22はレールであり、23は枕木である。また、図中の点線で表す矩形枠は1画素に相当する。
また、この図では、軌道の方向が画像の上下方向に対応するものとして、各レール21,22の幅を1画素、レール21,22間の画素数(レール21,22の内側縁の間にある画素の数をいう。)を9画素、枕木23の縦幅を2画素、枕木23間の画素数(1つの枕木23とその隣の枕木23との端縁間に存在する画素の数をいう。)を4画素としている。なお、1画素は約10cmに相当する。
【0017】
図1の例は、オルソ画像に5×5のサイズの最小値フィルタ100を適用する。この最小値フィルタ100の一辺の長さ(5画素)は、画像中のレール21,22間の画素数(9画素)より小さく、枕木23間の画素数(4画素)より大きい。また、最小値フィルタ100により変換された画像では、右手の図に示すように、各レール21,22が左右に2画素ずつ膨張して、5画素幅の線状領域L1,L2が生成される。また、枕木23については、横幅が5画素に縮小されるが、縦方向は上下に2画素ずつ膨張されて枕木23同士が一体化され、その結果、5画素幅の線状領域L3が生成される。また、線状領域L1,L2には元のレール21,22の濃度が反映され、線状領域L3には元の枕木23の濃度が反映される。
【0018】
上記の変換処理の原理について説明する。
最小値フィルタとは、原画像中のフィルタに対応づけられた範囲内の最小濃度(最も暗い画素の濃度)を、フィルタの中心位置の画素に適用するものである。図2は、図1に示したオルソ画像に対し、最小値フィルタ100を左から右に向かう方向に走査した例を示す。図3は、同じ最小値フィルタ100を上から下に向かう方向に走査した例を示す。
【0019】
図2(1)は、5×5の最小値フィルタ100の右一列が左側のレール21に対応づけられた状態を示す。この場合の最小値フィルタ100に対応する範囲では、レール21の濃度が最小になるから、フィルタ100の中央の画素、すなわちレール21から2画素離れた位置にある画素にレール21の濃度が採用される。
【0020】
図2(2)は、最小値フィルタ100の左一列が左側のレール21に対応づけられた状態を示す。この場合の最小値フィルタ100に対応する範囲には、レール21のほか枕木23も含まれるが、枕木23よりレール21の方が暗くなるから、この場合にも、フィルタ100に対応する範囲ではレール21の濃度が最小の濃度となる。よってフィルタ100の中央の画素には、レール21の濃度が採用される。
【0021】
またここには図示していないが、最小値フィルタ100が図2(1)の状態から図2(2)の状態まで移動する間の各位置においても、同様に、フィルタ100に対応する範囲では、レール21の濃度が最小になる。よって、レール21より2画素外側の位置からレール21より2画素内側までの範囲にある各画素では、いずれもレール21の濃度が採用されることになる。
【0022】
つぎに図2(3)は、最小値フィルタ100が、図2(2)の状態からさらに1画素右にずれた状態を示す。この段階で最小値フィルタ100に対応する範囲にはレール21が含まれない状態になるから、この範囲では枕木の濃度が最小の濃度となる。よって、この場合のフィルタ100の中央に対応する画素には、枕木23の濃度が採用される。
【0023】
この後、最小値フィルタ100が右側に移動して、右側のレール22がフィルタ100内に含まれる状態(図2(3)の位置から5画素分移動したとき)になるまでは、フィルタ100の中央に対応する画素には、いずれも枕木23の濃度が採用される。しかし、右側のレール21が最小値フィルタ100に含まれる状態になると、再び、レール21の濃度が採用される状態となる。右側のレール21に対しても、フィルタ100による作用は、左側のレール21に対するのと同様である。
【0024】
上記したように、左右のレール21,22は、それぞれ内外に2画素ずつ膨張して5画素幅になる。しかし、この膨張幅は、レール21,22の間の画素数の1/2より小さいから、各レール21,22が膨張した後も、枕木23の画像が残る余地がある。具体的には、枕木22は、レール21の膨張によって、9画素幅から5画素幅になる。
【0025】
図3は、最小値フィルタ100を、図2(3)の状態から、1画素ずつ下方に移動させた状態を示す。最小値フィルタ100の一辺の長さは、枕木23間の画素数(4画素)より大きく設定されているので、上下方向のいずれの位置にあっても、常に最小値フィルタ100内に枕木23の画素が含まれる。したがって図3(1)(2)(3)に示すように、レール21,22間のレール21,22が入らない範囲で最小値フィルタ100が移動する場合には、どの位置においてもフィルタ100の中央に対応する画素に枕木23の濃度が採用される。この結果、各枕木23の間にある画素の濃度はすべて枕木23の濃度に置き換えられて、枕木23間の間隔が消失し、各枕木23が一体化される。
【0026】
上記の原理に基づく処理を行うことにより、各レール21,22の幅が広がって線状領域L1,L2が生成されるとともに、これらの間に、枕木23の濃度を反映した線状領域L3が生成される。この結果、鉄道用軌道のオルソ画像は、図1の右手に示すように、枕木23による線状領域L3を中心にして、この領域L3と当該領域L3より暗い2つの線状領域L1,L2(レール21,22による線状領域)とが幅方向に沿って並んだ状態の画像に変換される。
【0027】
最小値フィルタ100はオルソ画像中の鉄道用軌道以外の部分にも適用されるので、周囲より暗い部位があれば、その部位もレール21,22や枕木23と同様に、各方向に2画素ずつ膨張する。しかし、鉄道用軌道と同様の形状のものでなければ、図1〜3により説明したような変換が行われるとは考えにくい。よって、第1ステップを実行した後に、「第1ステップの変換処理により生成された画像から、所定明るさの線状領域を中心にしてこの線状領域と当該領域より暗い2つの線状領域とが幅方向に沿って並んでいる特徴パターンを抽出する第2ステップ」を実行することによって、鉄道用軌道を表す連続性の高い特徴パターンを抽出することが可能になる。
【0028】
さらに本発明では、抽出された特徴パターンからその長手方向に沿うラインを生成し、さらにこのラインが示す位置および方向の変化を数値化した情報を作成するので、鉄道用軌道の特徴(カーブの向き、長さ、曲率、カーブの切り替わり地点など)の導出に利用可能な数値化情報を精度良く求めることが可能になる。さらに、オルソ画像の生成に際して導出された高さ情報を加味した処理を行えば、勾配の大きさや勾配が変化する地点を求めることも可能になる。
なお、数値化情報としては、後記するベクトルによる情報のほか、たとえば、鉄道用軌道を表す近似直線や近似曲線の式を設定することもできる。
【0029】
つぎに、本発明による鉄道用軌道の経路情報の生成方法に関して、好ましい3つの実施態様を説明する。
【0030】
第1の実施態様では、第2ステップにおいて、ステップ1の変換処理により生成された画像にラプラシアン・ガウシアンフィルタを走査し、このフィルタからの出力を正負2種類のしきい値により照合して正のしきい値を上回る画素および負のしきい値を下回る画素をそれぞれ抽出する。また、その抽出結果を表す処理結果画像を生成する。また第3ステップでは、処理結果画像を対象に、負の値を下回る画素が所定数並ぶ範囲の両端にそれぞれ正の値を上回る画素が所定数並ぶ画素配列を検索するステップAと、検索により検出された画素配列の中央部を特定するステップBと、特定された中央部の連なり状態をベクトル化するステップCと、ベクトル化により設定された複数のベクトルを含むベクトル鎖情報を生成するステップDとを実行する。
【0031】
ラプラシアン・ガウシアンフィルタには、周囲より暗い範囲に対しては負の方向に変化するデータを出力し、周囲より明るい範囲に対しては、正の方向に変化するデータを出力するという性質がある。上記の態様ではこの性質を利用して、変換画像にラプラシアン・ガウシアンフィルタを走査し、正負のしきい値により、レールに対応する線状領域を構成する可能性が高い画素と、枕木に対応する線状領域を構成する可能性が高い画素とを、それぞれ抽出し、これらの抽出結果から、3つの線状領域の幅方向に対応する画素配列が現れている箇所を抽出することになる。図1の例を参照して説明すると、たとえば、負の値を下回る画素(枕木23に対応)が5画素並ぶ範囲の両端に、それぞれ正の値を上回る画素(レール21,22に対応)が5画素並ぶ画素配列を抽出することになる。
【0032】
さらにこの態様では、抽出された画素配列の中心部の連なり状態をベクトル化して、複数のベクトルを導出し、これらのベクトルを含むベクトル鎖情報を生成することにより、鉄道用軌道の位置および長さ方向の変化を複数のベクトルに分解して表すことができる。
【0033】
つぎに、第2の態様では、上記のステップDに、他のベクトルに連結していない端点を具備する2つのベクトルの組み合わせのうち、両ベクトル間の方向の差が所定の許容値以内になるという第1条件と、これらのベクトル間を連結させる直線に対して両ベクトルがなす角度(180度以下の角度をさす。)が所定のしきい値を上回るという第2条件とを満たす組み合わせを対象に、その組み合わせに係る2つのベクトルを結合するベクトルを補完するステップが含まれる。また、このベクトルを補完するステップでは、第2条件のしきい値を、ベクトル間の距離が大きくなるほど180度に近づくように値を変動設定する。
【0034】
上記の態様によれば、鉄道用軌道を横切るノイズ(影、ビームなど)によって、鉄道用軌道の経路を表すベクトルが生成されない箇所があった場合にも、その前後のベクトルを結ぶようにベクトルを補完することが可能になり、欠けのないベクトル鎖情報を生成することができる。また、ベクトル間の距離が比較的短い場合には、ある程度大きな段差のあるベクトルの連結を許容する一方で、2つのベクトル間に相当の距離がある場合には、これらのベクトルの段差が小さい状態でなければ連結しないようにしたので、誤った連結が行われるのを防止することができる。
【0035】
第3の態様では、オルソ画像の各画素にはそれぞれ高さ情報が対応づけられる。またステップDでは、高さ情報に基づき、ベクトル化により設定された各ベクトルに対応する勾配を算出し、この勾配が所定の上限値を上回るベクトルをベクトル鎖から除外する。
【0036】
上記の態様によれば、ベクトル化の際に、ノイズにより鉄道用軌道以外の物(列車やビームなど)に向かうベクトルが設定された場合には、そのベクトルが鉄道用軌道の取り得る勾配を超えていることをもって、ベクトル鎖情報から除外することができる。よって、ノイズの影響を軽減し、精度の良いベクトル鎖情報を生成することができる。
【0037】
つぎに、上記の方法が適用された経路情報の生成装置は、鉄道用軌道を含む所定広さのエリアを対象に生成されたオルソ画像を入力する画像入力手段と、入力したオルソ画像から鉄道用軌道の経路を表す情報を生成する画像処理手段とを具備する。さらに画像処理手段は、以下の画像変換手段、特徴抽出手段、数値化情報作成手段、情報確定手段を具備する。
【0038】
画像変換手段は、入力対象のオルソ画像中のレール間の画素数および枕木間の画素数につき設定されたモデル値に基づき、一辺の長さが画像中のレール間の画素数より小さく、枕木間の画素数より大きく、かつ周囲より暗い部位をレール間の画素数の1/2より小さな幅をもって各方向に膨張させる大きさの最小値フィルタを設定して、この最小値フィルタによりオルソ画像を変換する。
【0039】
特徴抽出手段は、画像変換手段により変換された画像から、所定明るさの線状領域を中央にしてこの線状領域と当該領域より暗い2つの線状領域とが幅方向に沿って並んでいる特徴パターンを抽出する。数値化情報作成手段は、特徴抽出手段により抽出された特徴パターンからその長手方向に沿うラインを生成して、生成されたラインの位置および方向の変化を数値化した情報を作成する。
【0040】
情報確定手段は、数値化情報作成手段により作成された情報、またはこの情報を加工したものを鉄道用軌道の経路を示す情報として確定する。情報を加工する場合には、たとえば、鉄道用軌道に特有の特徴に基づき数値化された情報を補正して、より情報の精度を高めた上で、これを鉄道用軌道の経路を表す情報として確定する。また数値化により2次元ベクトルによる情報を作成した場合には、これに高さ情報を加味して3次元ベクトル情報を作成し、これを鉄道用軌道の経路を示す情報として確定することもできる。
【0041】
上記の装置によれば、たとえば、モデルのオルソ画像から求めたレール間や枕木間の間隔をモデル値として設定することにより、先に説明した第1〜第3の各ステップを実行して、鉄道用軌道の経路を表す情報を作成することができる。
【0042】
さらに前出の第1の態様による方法を実施する装置では、特徴抽出手段は、画像変換手段により変換された画像にラプラシアン・ガウシアンフィルタを走査し、このフィルタからの出力を正負2種類のしきい値により照合して正のしきい値を上回る画素および負のしきい値を下回る画素をそれぞれ抽出する手段と、この抽出結果を表す処理結果画像を生成する手段とが含まれる。また、数値化情報作成手段には、処理結果画像を対象に、負の値を下回る画素が所定数並ぶ範囲の両端にそれぞれ正の値を上回る画素が所定数並んでいる画素配列を検索する検索手段と、検索により検出された画素配列の中央部を特定する中央部特定手段と、特定された中央部の連なり状態をベクトル化するベクトル化手段と、ベクトル化により設定された複数のベクトルを含むベクトル鎖情報を生成するベクトル鎖情報生成手段とが含まれる。
【0043】
第2の態様による方法を実施する装置では、ベクトル鎖情報生成手段に、他のベクトルに連結していない端点を具備する2つのベクトルの組み合わせのうち、両ベクトル間の方向の差が所定の許容値以内になるという第1条件と、これらのベクトル間を連結させる直線に対して両ベクトルがなす角度が所定のしきい値を上回るという第2条件とを満たす組み合わせを対象に、その組み合わせに係る2つのベクトルを結合するベクトルを補完するベクトル補完手段が含まれる。またベクトル補完手段は、第2条件のしきい値を、ベクトル間の距離が大きくなるほど180度に近づくように値を変動設定する。
【0044】
さらに、第3の態様を実施する装置には、オルソ画像の各画素に対応する高さ情報を入力する高さ情報入力手段が設けられる。またベクトル鎖情報生成手段には、入力された高さ情報に基づき、ベクトル化により設定された各ベクトルに対応する勾配を算出し、この勾配が所定のしきい値を上回るベクトルをベクトル鎖から除外する手段が含まれる。
【0045】
さらに、本発明による鉄道用軌道の経路情報の生成装置には、オルソ画像中のレール間の画素数および枕木間の画素数に関するモデル値の入力を受け付けるモデル値入力手段と、入力されたモデル値に基づき、最小値フィルタのサイズを変更するフィルタサイズ変更手段とが設けられる。この構成によれば、入力されるオルソ画像の解像度が変わった場合でも、その画像中のレール間の画素数および枕木間の画素数に応じてモデル値を設定し直すことによって、図1に示したような画像変換処理を容易に行うことが可能になる。
【0046】
さらに、本発明では、上記の装置の画像処理手段に含まれる各手段、すなわち画像変換手段、特徴抽出手段、数値化情報作成手段、および情報確定手段として、コンピュータを機能させるためのプログラムを提供する。
【発明の効果】
【0047】
本発明によれば、鉄道用軌道に特有の特徴を、3つの線状領域による特徴パターンに変換することによって、オルソ画像から鉄道用軌道を精度良く表し、連続性の高い特徴を抽出することが可能になる。さらに、上記の特徴パターンの長手方向に沿うラインを生成して、そのラインが示す位置および方向の変化を数値化した情報を生成することによって、鉄道用軌道の経路を精度良く表す情報を提供することができる。
【発明を実施するための最良の形態】
【0048】
[システムの概略説明]
図4は、この発明が適用された軌道プロファイル生成システムの機能ブロック図を示す。このシステムは、列車に搭載されたコンピュータ(「車上装置」と呼ばれる。)が列車の走行を制御する目的で使用する情報を生成するためのもので、1台のコンピュータ内または複数台のコンピュータによるネットワークシステム内に設定される。
【0049】
このシステムでは、オルソ画像のほか、オルソ画像に派生して生成されたDSM情報(Digital Surface Model)や、地図情報とオルソ画像との関係を表すワールドファイルなどを利用する。これらは、いずれも個別のデータファイル5,6,7として構成されて、コンピュータの図示しないメモリ(ハードディスク)内に格納される。
【0050】
図中、GUI(グラフィカル・ユーザ・インターフェース)アプリケーション1は、図示しないモニタや入力部(キーボード、マウスなど)と連動して、ユーザによる設定操作を受け付けながら、3次元ベクトル情報を生成する処理、生成した3次元ベクトル情報を編集する処理、および3次元情報から軌道プロファイルを生成する処理を実行する。
【0051】
ベクトル化エンジン2は、オルソ画像およびDSM情報から、鉄道用軌道の経路を表す3次元ベクトル情報10を生成する。この3次元ベクトル情報10は、複数の3次元ベクトルの集合(以下、これを「3次元ベクトル鎖」という。)11を複数含むものである。
【0052】
生成された3次元ベクトル情報10は、GUIアプリケーション1に渡される。GUIアプリケーション1は、この3次元ベクトル情報10から処理対象の3次元ベクトル鎖11を順に取り出して、演算パラメータとともに軌道プロファイル生成エンジン3に出力する。なお、演算パラメータには、各種判定のためのしきい値や判定用テーブルなどが含まれる。
【0053】
軌道プロファイル生成エンジン3は、供給された3次元ベクトル鎖11を処理することによって、鉄道用軌道の特徴を表す情報群(以下、「軌道プロファイル」という。)13を生成する。生成された軌道プロファイル13は、GUIアプリケーション1によって車上装置用のデータベース9に格納される。このデータベース9が各列車の車上装置に移植され、走行制御に利用されることになる。
【0054】
また、GUIアプリケーション1は、軌道プロファイル13の生成に用いられる前の3次元ベクトル情報10を適宜モニタに表示して、ユーザによる簡易な補正作業を受け付け、3次元ベクトル情報10を編集する。具体的な編集は、編集対象の3次元ベクトル鎖10をDXFファイル8に変換し、CAD専用のソフトウェアによる編集エンジン4を用いて行われる。
【0055】
図5は、上記システムで使用されるオルソ画像を模式的に表したものである(画像全体の中から軌道の部分を抜き出し、拡大したイメージを示す。)。
この画像は、上空での空中三角測量により生成されたもので、各地点の真上から観測した状態が現れるように歪みが除去されている。前述のDSM情報も、この空中三角測量により求められたもので、オルソ画像中の各画素に対応する高さ情報(Z座標)を有する。また、ワールドファイルを参照することによって、このオルソ画像の1画素に対応する地点における地図上の座標(X,Y座標)を特定することができる。
【0056】
図5の画像には、2本の軌道20A,20Bのほかに、架線支持用のビーム25およびその影24が現れている。このほか、作図の都合上、表していないが、各軌道20A,20Bの近傍には、バラストからの反射などによる明暗差や架線などが現れている。
【0057】
なお、実際のオルソ画像はカラー画像であるが、ベクトル化エンジン2により処理される際には、グレースケール画像に変換される。また、図5では、作図の都合上、ビーム25を黒線で表しているが、実際の画像では、ビーム25の色彩は白色系である。
【0058】
上記のオルソ画像はGUIアプリケーション1により表示され、表示画面上の軌道に対し、ユーザにより処理範囲の始点および終点が指定される。ただし、この指定より前にベクトル化エンジン2は、このオルソ画像を処理して2次元ベクトル段階の処理を終えており、ユーザが始点および終点を指定すると、その指定に応じた範囲の3次元ベクトル鎖を生成する。
【0059】
3次元ベクトル鎖の生成が終了すると、表示画面は図6に示すようなものに変更される。この画面には、図5と同様のオルソ画像に、ベクトル化エンジン2により生成された3次元ベクトル鎖の各ベクトルを表す線分画像26が表示されている。
【0060】
ユーザは、表示された3次元ベクトル鎖を確認し、適宜、不要なベクトルを削除したり、欠落しているベクトルを補完するなどの補正作業を行うことができる。また、ユーザが3次元ベクトル鎖の抽出精度を確認して確定操作を行うと、確定された3次元ベクトル鎖が軌道プロファイル生成エンジン3に渡され、軌道プロファイルの生成処理が開始される。
【0061】
以下、ベクトル化エンジン2および軌道プロファイル生成エンジン3により実行される処理を、詳細に説明する。
【0062】
[ベクトル化エンジン2による処理について]
図7は、ベクトル化エンジン2により実行される処理の概略手順を示すフローチャートである。この図7によれば、この実施例のベクトル化処理は、フィルタ処理、2次元ベクトル情報生成処理、ベクトル推定処理、3次元ベクトル情報生成処理に大別される。
以下、このフローチャートの流れに沿いながら、適宜、他の図面を参照して上記3種類の処理の詳細を説明する。
【0063】
(1)フィルタ処理
1−1)軌道の特徴の強調処理(ステップS11)
この処理は、先に[課題を解決するための手段]において原理説明を行った処理である。ベクトル化エンジン2には、事前にモデルのオルソ画像中のレール21,22および枕木23に対する計測により定めた最小値フィルタのサイズがセットされている。ただし、オルソ画像の分解能が変わった場合に対応できるように、適宜、GUIアプリケーション1を介してレール21,22間の画素数および枕木23間の画素数に関するモデル値の入力を受け付け、入力されたモデル値に応じて最小値フィルタのサイズを変更する。
【0064】
最小値フィルタは、先に説明したとおり、一辺の長さがレール21,22間の画素数より小さく、枕木23間の画素数より大きく、かつ周囲より暗い部位をレール21,22間の画素数の1/2より小さな幅をもって各方向に膨張させる大きさに設定されている。この実施例では、最小値フィルタをオルソ画像の全範囲にわたって走査して、各画素の変換後の濃度を決定する。
【0065】
図8は、図5に示したオルソ画像に最小値フィルタを適用する処理により生成された変換画像を模式的に示す。この画像では、各軌道20A,20Bが、それぞれレール21による2本の線状領域L1,L2の間に枕木22による線状領域L3が挟まれた形態の特徴パターンに変換される。ただし、この画像には、ビーム25や影24を反映したノイズN1,N2が出現するほか、各レールの周囲にも、微小な明暗差を反映したノイズ(図示せず。)が出現する。特に、ノイズN1,N2は、軌道20A,20Bの幅方向にまたがって発生するため、ベクトル鎖が分断される原因になる。
【0066】
1−2)線形特徴の抽出処理(ステップS12)
ステップS12では、最小値フィルタにより変換された画像を対象に、ラプラシアン・ガウシアンフィルタ(以下「LoGフィルタ」と略す。)を適用して、線形の特徴を抽出する。具体的には、変換後のレールや枕木の幅長さの1/2程度の値(図1〜3の例で言えば、2.5前後)がカーネルパラメータとして設定されたLoGフィルタを、変換後の画像に走査する。また、LoGフィルタからの出力を正負2種類のしきい値と比較し、出力が正のしきい値を上回った範囲と負の値を下回った範囲とを抽出し、その抽出結果を表す処理結果画像を生成する。
【0067】
LoGフィルタは、走査方向の前後より濃度が低い範囲に対応づけられたときには正の方向に変化するデータを出力し、走査方向の前後より濃度が高い範囲に対応づけられたときには負の方向に変化するデータを出力する。したがって、周囲より濃度が低いレール21,22に対応する線状領域の幅方向にLoGフィルタが対応づけられたときには、その対応範囲が正のしきい値により検出される。またレール21,22より濃度が高い枕木23に対応する線状領域L3の幅方向にLoGフィルタが対応づけられたときには、その対応範囲が負のしきい値により検出される。よって、LoGフィルタを画像の全範囲にわたって走査することにより、レール21,22および枕木23に対応する線状領域L1,L2,L3を検出することができる。
【0068】
ただし、このLoGフィルタは、単に濃度の変化に応じた処理を行うだけであるから、、ノイズN1,N2などの細長形状の特徴も検出されてしまう。
【0069】
1−3)軌道中心部の抽出処理(ステップS13)
この処理では、LoGフィルタの適用により生成された処理結果画像を対象に、鉄道用軌道に対応する特徴を特定し、さらにその特徴の中心部を抽出する。
【0070】
具体的には、処理結果画像の各画素に順に着目して、正のしきい値を超えた画素を検索する。そして、該当する画素Gが見つかると、図9に示すように、この画素Gを基準に、上下および左右ならびに斜め45度の各方向を検索方向に設定して、検索を実行する。
【0071】
この検索は、「正のしきい値を超えた画素がn個連続し、次に負のしきい値を超えた画素がm個連続し、さらに正のしきい値を超えた画素がn個連続している画素の配列を見つけること」を目的とする。n,mの値は、先の最小値フィルタの適用により変換されるレール21,22や枕木23の幅に応じて定められる。たとえば図1の例であれば、n=5,m=5となるが、誤差を考慮して、n,mとも所定の数値範囲を設定してもよい(たとえば4≦n≦6,4≦m≦6)。
【0072】
ステップS13では、正のしきい値を超えた画素Gを見つける都度、上記の4方向への検索を実行する。さらに条件にあてはまる画素配列が見つかると、その配列中の中央部の画素(具体的には、負のしきい値を超えた画素群中の中央位置にある画素およびその前後の3画素程度)を抽出する。これにより軌道の中心部に対応する画素群が検出される。また検索により検出された画素配列に含まれた画素は、以後の検索対象から除外される。
【0073】
図10は、上記の検索および検索により見つけた画素配列の中心部を抽出する処理の結果を示す。この処理結果は、具体的には、抽出された中心部を構成する画素を黒画素(値が「1」)とし、その他の画素を白画素(値が「0」)とする2値画像として表される。
【0074】
この処理により、1本の軌道の画像から生成された線状領域L1,L2,L3の組み合わせ毎に、その長手方向を表す黒画素群が抽出される。この段階でも、ノイズ成分による黒画素群も多少生成され、図中のD1,D2に示すように、軌道を表す黒画素群に途切れが生じている箇所もあるが、各線状領域L1、L2,L3が明確に現れている範囲での黒画素群は、殆ど途切れずに連なった状態となる。
【0075】
1−4)ノイズ除去(ステップS14)
このステップでは、中心部の抽出結果を表す画像(図10)を対象に、孤立点除去、膨張・収縮処理、端点・突起除去の各処理を実行する。いずれも、2次元画像のノイズを除去する方法としてよく知られたものであるが、以下に簡単に説明しておく。
【0076】
いずれの処理でも、3×3のフィルタを2値画像に走査し、フィルタ内の画像データが所定の条件を満たしたときに、中央の画素(以下、「着目画素」という。)の値を変更する。
【0077】
孤立点の除去処理では、図11に示すように、着目画素が「1」で、周囲8近傍の画素がすべて「0」であったとき、着目画素を「0」に変更する。
【0078】
膨張処理では、図12(a)に示すように、着目画素が「0」で、周囲8近傍に1つでも「1」の画素がある場合に、着目画素を「1」に変更する。収縮処理では、図12(b)に示すように、着目画素が「1」で、周囲8近傍に1つでも「0」がある場合に、着目画素を「0」に変更する。この実施例では、まず膨張処理を行った後に、膨張処理後の画像を対象に収縮処理を行うことにより、抽出された黒画素群を円滑にし、かつ微小なラインの途切れを復元するようにしている。
【0079】
端点の除去処理では、図13に示すように、着目画素が「1」で、周囲8近傍中に「1」の画素が1つしかない場合に、着目画素を「0」に変更する。突起の除去処理では、フィルタ内に図14の(a)〜(d)のいずれかのパターンが成立したときに、着目画素を「0」に変更する。端点や突起の除去処理も、中心部を表す黒画素群を円滑化することを目的とするものである。
【0080】
1−5)細線化処理(ステップS15)
このステップでは、ノイズ除去後の2値画像中の黒画素群を対象に、その画素群の中心線を抽出することによって、複数の画素を含む幅を持つ黒画素群を1画素幅の細線に変換する。
図15は、この処理により細線化された後の2値画像を示す。つぎの2次元ベクトル情報の生成処理は、この2値画像を対象に実施されることになる。
【0081】
(2)2次元ベクトル情報生成処理
2−1)チェーンコードの設定(ステップS21)
このステップは、上記の細線化された画像を対象に、黒画素の連なり状態をコード化するものである。具体的には、図16(1)に示すように、着目画素の周囲8近傍にそれぞれ0〜7のコードを割り当てるというルールに基づき、実際の着目画素に、それぞれその画素の連結状態に応じたコードを割り当てる。
【0082】
図16(2)は、黒画素群の連結状態の例と、この黒画素群から設定されたチェーンコードを対応づけて示す。このようなチェーンコードを生成するには、まず先頭の画素に着目して、この画素の周囲8近傍を検索して着目画素に連続する画素を見つけ、その連続状態に応じたチェーンコードをあてはめる。この後は、新たに見つけた画素に着目して、同じ処理を繰り返すことにより、図16(2)の下段に示すようなコードが生成される。
【0083】
2−2)2次元ベクトル鎖の生成(ステップS22)
ステップS22では、上記のチェーンコードを参照しながら、チェーンコードが表す黒画素群から所定数の2次元ベクトルの連結体(2次元ベクトル鎖)を生成する。
【0084】
図17は、先の図16(2)の黒画素群に対してステップS22の処理を実行した例を示す。この図に基づき説明すると、まず、先頭の画素および最後の画素をそれぞれ端点A,Bとしてベクトルf1を設定する(図17(1))。そして前出のチェーンコードを参照して、A−B間に含まれる各画素をたどりながら、各画素のベクトルf1に対する距離を算出し、この距離を所定のしきい値ERと照合する。
【0085】
ここで、上記の距離がしきい値ERを超える画素が見つかると、この画素を点Cとして、ベクトルf1を削除し、新たに点Aと点Cとを結ぶベクトルf2と、点Cと点Bとを結ぶベクトルf3とを設定する(図17(2))。
【0086】
これらのベクトルf2,f3についても、端点間にある各画素との距離を求める。そしてしきい値ERを上回る画素が見つかった場合には、上記と同様の手法でベクトルを分割する。一方、しきい値ERを上回る画素が見つからなかった場合には、その時点でのベクトルを確定する。
【0087】
図17の例の場合は、点Cを一方の端点として設定されたベクトルf2とベクトルf3のうち、ベクトルf3はそのまま確定される(図17(3))。一方、ベクトルf2については、このベクトルf2に対する距離がしきい値ERを超える画素が見つかったため、ベクトルf2を削除し、見つかった画素を点Dとして、点Aと点Dとを結ぶベクトルf4と、点Dと点Cとを結ぶベクトルf5とを設定する(図17(4))。ベクトルf4,f5に対する端点間の画素の距離は、いずれもしきい値ER以内となるので、これをもって、これらのベクトルを確定する(図17(5))。
【0088】
このように、がたついて連結していた黒画素群の連結構造を分析して複数のベクトルを設定することにより、2次元ベクトル鎖が生成される。この2次元ベクトル鎖の具体的な情報は、各端点の座標をベクトル毎に組み合わせたものになる。
なお、この段階の2次元ベクトルの向きは定まっていない。この後、ユーザがオルソ画像上で始点と終点とを指定すると、各ベクトルの始点に近い方の端点が始点に設定され、終点に近い方の端点が終点に設定されて、ベクトルの向きが特定される。
【0089】
(3)ベクトル推定処理
上記までの処理により、基本的な2次元ベクトル鎖が出来上がるが、この段階の2次元ベクトル鎖には、ノイズN1,N2などの影響により途切れた箇所が含まれる場合がある。このベクトル推定処理は、このような2次元ベクトル鎖の途切れを解消することを目的とするものである。
【0090】
3−1)2次元ベクトル鎖の結合(ステップS31)
この処理では、他のベクトルに連結されていない端点を有するベクトルのうち、条件にあてはまるもの同士を対象に、両者を結合するためのベクトルを補完する。
【0091】
図18は、ベクトルを結合する例を示す。
この実施例では、2つのベクトルa,bの結合について2つの条件を設定し、ベクトルa,bがこれらの条件を2つとも満たしていれば、ベクトルa,b間に、これらを結ぶベクトルcを補完するようにしている。
【0092】
具体的には、2つのベクトルa,bがほぼ平行であること、言い換えれば、各ベクトルa,bの方向の差が所定の角度範囲内になることを第1の条件とする。さらに、ベクトルa,bを結ぶ直線に対して各ベクトルa,bのなす角度θ1,θ2がそれぞれ所定のしきい値以上になる(ただし、180度以下)ことを第2の条件とする。
【0093】
後記するように、鉄道用軌道の向きは少なくとも20mは一定に保たれるように設定されている。したがって、2次元段階でも、20mに対応する範囲内でベクトルの方向が大きく変化することはない、という大前提に基づけば、第1の条件のしきい値を0度に近い値に設定し、第2の条件に関するしきい値を180度に近い値にするべきである。
【0094】
ただし、実際の画像では、オルソ画像の誤差、ノイズ、周囲の明暗などの影響によって、レール21,22や枕木23から変化した線状領域L1〜L3にがたつきが生じ、その影響で途切れ部分の前後のベクトル間の段差が大きくなる可能性がある。
【0095】
したがって図19に示すように、第2の条件に関する角度θ1,θ2(いずれも180度より小さい方の角度)が180度からかなり離れている場合でも、ベクトル間の距離が小さい場合には結合するのが望ましい。一方で、ベクトルa,b間の距離が比較的大きい場合には、これらのベクトルa,bが同じ軌道に対応するとは考えにくいから、結合対象から除外する必要がある。
【0096】
つぎに、単純に角度θ1,θ2が180度に近いものを優先して結合すると、図20に示すような問題が生じる。
図20は、2次元ベクトル鎖に複数の分断箇所がある例を示すものである。本来は、図20(1)に示すように、最も近いベクトル同士(ベクトルaとb、ベクトルbとc)を結合する必要があるが、角度θ1,θ2が180度に近い組み合わせを優先するようなロジックを設定すると、図20(2)に示すように、近い方のベクトルの組み合わせが無視されて、離れた位置にあるベクトルaとベクトルcとが結合される可能性がある。
【0097】
上記の問題点に鑑み、この実施例では、他のベクトルに連結されていない端点を有するベクトルを第1の条件を満たすもの毎に組み合わせ、組み合わせ毎に下記の[1]式により評価値V(a,b)を求め、評価値V(a,b)が高い順に、ベクトル間の結合を行うようにしている。ただし、評価値V(a,b)が所定のしきい値以下であったものは、結合対象から除外される。
【0098】
【数1】
【0099】
上記[1]式の意味について、図21を参照して説明する。[1]式では、ベクトルa,bを結ぶ直線mとベクトルaとのなす角度をθ1(a,b)とし、当該直線mとベクトルbとのなす角度をθ2(a,b)とする。なお、θ1(a,b),θ2(a,b)とも、ベクトルa,bと直線mとがなす角度のうち、180度以下になる角度を指す。また、D(x,y)はベクトルa,b間の距離である。
【0100】
[1]式中の右辺の分子の関数U(x)はx>0のときに1、x≦0のときに0となる単位ステップ関数である。この関数U(x)のxの部分に組み込まれているT(D(a,b))は距離D(a,b)に応じて値が変化する関数であって、角度θ1(a,b),θ2(a,b)に対するしきい値として機能する。さらに、この実施例では、この関数T(D(a,b))について図22に示す2通りの関数を設定し、距離D(a,b)の値に応じて使用する関数を切り替えるようにしている。
【0101】
図22によれば、T(D(a,b))はベクトルa,b間の距離が0のときに最小値の135度となり、D(a,b)が8mのときに173度となる。また、距離D(a,b)が8mに達するまでは、D(a,b)に比例する関係をもって増加するが、D(a,b)が8.0を超えた後は変化が緩やかになって、徐々に180度に近づく。
【0102】
[1]式によれば、角度θ1(a,b),θ2(a,b)のいずれか一方がT(D(a,b))以下になると、評価値V(a,b)は0となる。またθ1(a,b),θ2(a,b)の双方がT(D(a,b))より大きくなる場合には、V(a,b)は0より大きくなる。
【0103】
また、θ1(a,b),θ2(a,b)の値がともにT(D(a,b))より大きく、それぞれ一定の値をとる場合でも、距離D(a,b)が大きくなると、分母の[D(a,b)]2の影響により評価値V(a,b)が下がる。また、距離D(a,b)が8mを大きく上回ると、しきい値T(D(a,b))が180度に近づくため、θ1(a,b)やθ2(a,b)がT(D(x,y))より小さくなって、評価値V(a,b)が0となる可能性が高まる。すなわち、ベクトルa,b間の距離が大きくなると、これらの間の段差が殆どない状態でなければ、これらのベクトルa,bを結合することはできなくなる。
【0104】
これに対し、距離D(a,b)が8mより小さい場合には、しきい値T(D(a,b))が180度よりかなり小さくなるので、ある程度の段差があるベクトルでも、結合が許容される。よって、図19に示したような結合処理を実現することができる。
【0105】
また、[1]式の右辺の分子は、ベクトル間の距離の大小に関係なく、θ1(a,b),θ2(a,b)がしきい値T(D(a,b))より大きくなれば1になるのに対し、分母はベクトル間の距離D(a,b)が小さいほど値が小さくなり、これにより評価値V(a,b)が引き上げられる。また、分母中の[(180−θ1(a,b))+(180−θ2(a,b))+1]の部分は、θ1(a,b),θ2(a,b)が180度に近づくにつれて、小さな値となり、これにより評価値V(a,b)の値が引き上げられる。
【0106】
よって、あるベクトルに対し、θ1(a,b)およびθ2(a,b)がそれぞれしきい値T(D(a,b))を上回るようなベクトルの組み合わせが複数存在する場合には、これらの中で距離が最小になるものが結合対象となる。また、ベクトル間の距離が殆ど変わらない組み合わせが複数ある場合には、各ベクトルa,b間の段差がより小さい組み合わせが結合対象となる。したがって、先の図20(2)に示したような誤った結合が生じるのを防止することができる。
【0107】
3−2)始点・終点との対応づけ(ステップS32)
この処理は、ユーザが原画像(オルソ画像)の表示画面上で指定した始点および終点に対応する2次元ベクトル鎖を特定するものである。特定された2次元ベクトル鎖が始点や終点まで延びていない場合には、無理に補完せずに、抽出されている範囲での特定に留める。また複数の軌道の始点・終点が指定された場合には、指定されたもの毎に2次元ベクトル鎖を特定する。
なお、上記の始点・終点は、始点から終点に向かう方向が列車の進行方向に対応するように行われる。またこの指定により、各2次元ベクトルの向きも、列車の進行方向に対応する方向に確定される。
【0108】
(4)3次元ベクトル情報生成処理
4−1)3次元ベクトル鎖の生成(ステップS41)
この処理は、上記のステップS32により特定された2次元ベクトル鎖を対象に、DSM情報から、2次元ベクトル鎖に含まれる各ベクトルの始点、終点に対応する高さ情報(Z座標)を読み出し、各始点、終点に対応づける。また、ワールドファイルを参照して、始点および終点に対応するX,Y座標を特定する。これにより、ピクセル単位の2次元ベクトルは実際の地点や高さを表す3次元ベクトル鎖に変換される。
【0109】
4−2)ノイズ除去(ステップS42)
このステップS42では、3次元ベクトル鎖のノイズを除去する処理として、以下の2つの処理を実行する。
【0110】
まず1つ目の処理として、鉄道用軌道にはあり得ない勾配(35‰(パーミル)以上)を持つベクトルを3次元ベクトル鎖から除外する。具体的には、3次元ベクトル鎖に含まれる各3次元ベクトル毎に、下記の[2]式により、ベクトルの勾配を求める。[2]式中の各変数は、図23に示すように、ベクトルの始点、終点の座標である。また、算出された勾配は1km単位のものに換算される。
【0111】
【数2】
【0112】
つぎに、2つ目のノイズ除去処理として、先のステップS31で補完されたベクトルのうち、ベクトル長の短いベクトルを前後のベクトルに統合する処理を行う。ステップS31では、2次元ベクトルの連なりを完成させるために、短い途切れの前後のベクトル間の段差を許容して途切れ部分にベクトルを補完したが、元来、鉄道用軌道は滑らかに変化するはずであるから、短い間隔で向きが変化するベクトルに基づいて軌道プロファイルを生成すると、現実の軌道の特性に合わない情報が生成される可能性がある。
【0113】
そこでこの実施例では、ステップS31で補完されたベクトルに対応する3次元ベクトルの長さを算出し、この長さが所定の基準値以下であれば、図24に示すように、このベクトルを、前後のベクトルのうちの短い方と統合するようにしている。なお、図24は、3次元ベクトル鎖を上方から見たものである。
【0114】
さらにこの実施例では、上記の統合処理を行ったベクトルについて、同様に長さを算出して基準値との比較を行い、ベクトルの長さが基準値以下であれば、再度の統合処理を行うようにしている。以下、統合後のベクトルが基準値を上回る状態になるまで、上記の処理を繰り返す。
【0115】
上記の1番目のノイズ除去処理によれば、生成された3次元ベクトル鎖の中に、軌道以外の要素(ビーム25などによるもの)と連結しているベクトルがある場合には、その連結を断ち切って、3次元ベクトル鎖の精度を高めることができる。また2番目のノイズ除去処理によれば、3次元ベクトル鎖を、軌道に応じた滑らかな変化を表すものに補正することができる。よって、これらの処理により、以後の軌道プロファイルの生成処理を安定して行うことが可能になる。
【0116】
なお、2番目のノイズ除去処理は、軌道以外の要素により短い2次元ベクトル鎖が生成されている場合に、これを除外する目的に使用することもできる。また、2番目のノイズ除去処理は、3次元ベクトル鎖に対するものに限らず、ステップS31の結合処理後の2次元ベクトル鎖に対して行ってもよい。
【0117】
[軌道プロファイル生成エンジンによる処理について]
この実施例では、3次元ベクトル鎖中の各3次元ベクトルを分析して、ユーザにより指定された範囲内の鉄道用軌道を所定数の区間に分割する。そして、区間毎に、その区間内の軌道の特徴および制限速度を属性として設定し、これらの属性情報をまとめたデータファイルを軌道プロファイルとして出力する。
【0118】
図25は、軌道プロファイルの生成に関する処理の概略手順を示すフローチャートである。以下、このフローチャートの流れに沿って、各ステップ(S51〜57)の詳細な内容を説明する。
【0119】
5−1)カーブの向きの特定(ステップS51)
この実施例では、3次元ベクトル鎖中で連続する関係にあるベクトル間には、微小であっても軌道の長さ方向に変化が生じている点に着目し、始点側端縁のベクトル(以下、「先頭のベクトルという。)および終点側端縁のベクトル(以下、「最後のベクトル」という。)を除く各ベクトルがそれぞれ右カーブまたは左カーブに対応するものとして、そのカーブの向きが左右いずれであるかを特定する。
【0120】
具体的に図26を用いて説明する。この例も、3次元ベクトルを上方から見た状態を示すものであり、ベクトルβが着目中ベクトルで、ベクトルαが1つ前のベクトルである。また説明の都合上、各ベクトルα,βのなす角度を誇張して描いている。
【0121】
この実施例では、着目中のベクトルβおよび1つ前のベクトルαに、それぞれ垂直二等分線を設定し、これらの交点Pの座標を求める。以下、これらのベクトルα,βの方向が列車の進行方向に対応していることを利用して説明すると、図26の例に示すように、進行方向に対して左手に交点Pが現れた場合には、着目中のベクトルbに対応するカーブの向きを「左」と判定する。これに対し、進行方向に対して右手に交点Pが現れた場合には、着目中のベクトルβに対応するカーブの向きを「右」と判定する。
このように3次元ベクトル鎖の中の前後のベクトルの関係を利用して、カーブの向きを容易に特定することができる。なお、交点Pの座標は、ステップS54で使用するために、メモリ内に保存される。
【0122】
5−2)あり得ないS字曲線を補正(ステップS52)
鉄道用軌道では、安全を確保するために、進行方向の切り替えが生じた地点から次の切り替えが生じる地点までに、必ず20m以上の直線区間を設けるようにしている。ステップS52は、この特徴に対応していない3次元ベクトルを検出して、補正することを目的とするものである。
【0123】
具体的には、ステップS51の処理結果に基づき、カーブの向きが変更される地点を抽出し、この変更直後の3次元ベクトルの長さを算出する。ここで算出されたベクトルの長さが20m未満であれば、図27に示すように、このベクトルを前後いずれかのベクトルに統合する(統合の手法は先の図24の例と同様である。)。
【0124】
さらに、図25には示していないが、上記の統合処理が終了した後は、処理後の3次元ベクトル鎖を対象に、再びステップS51,S52を実行する。以下、カーブが変更された直後のベクトルの長さがすべて20m以上になるまで、同様の処理を繰り返す。これにより、3次元ベクトル鎖の精度をより高め、軌道以外の要因による短い3次元ベクトル鎖を除去することができる。
【0125】
なお、上記のステップS51,52は、軌道プロファイル生成エンジン3で行う処理に限らず、ベクトル化処理エンジン2側の3次元ベクトルのノイズ除去処理(ステップS42)に含めて行ってもよい。また、上記の20mをピクセル単位の情報に変換して、2次元ベクトル鎖のノイズ除去処理を行ってもよい。
【0126】
5−3)ベクトルの属性設定(ステップS53)
この処理では、S字曲線に関する補正が終了した3次元ベクトル鎖を対象にして、各ベクトルの属性を定める。ここでは、各ベクトルに直線または曲線の属性を設定するとともに、ステップS51で特定したカーブの向きも属性に含める。さらに曲線に分類されたベクトルについては、曲率を表すカーブ半径も属性として設定する。
【0127】
図28は、ベクトルの属性の設定に関する具体的手順を示すフローチャートである。
このフローチャートに沿って説明する。この処理でも3次元ベクトル鎖の始点側のベクトルを先頭として各ベクトルに順に着目し(ST101)、先頭および最後のベクトルを除く各ベクトルに対してカーブ半径を算出する(ST102,103)。
【0128】
図29は、カーブ半径の算出方法の具体例を示す。
この例でも、先の図26と同様に、ベクトルβを着目中のベクトルとする。ベクトルαはベクトルβの1つ前のベクトルであり、ベクトルγは1つ後のベクトルである。また図29(1)の例と図29(2)の例とでは、ベクトルγが表すカーブの向きが逆になっている。
【0129】
図中の点Pは、ベクトルβとベクトルαとの間で図26に示した処理を行うことにより求められた交点である。また点Qは、ベクトルγとベクトルβとの間で同様の処理を行うことにより求められた交点である。
【0130】
これらの交点P,Qに関しては、図29(1)に示すように各点が進行方向に対して同じ側に現れる場合と、図29(2)に示すように各点が進行方向に対してそれぞれ異なる側に現れる場合とがある。しかし、この実施例では、交点P,Qの関係に関わらず、いずれの場合でも、着目中のベクトルβに対する各点P,Qの距離を求め、これらのうちの短い方(図示例では(1)(2)とも点Qとの距離になる。)を、ベクトルβに対応するカーブ半径とする。
【0131】
上記において、交点Pとベクトルβとの距離は、ベクトルβの中点と1つ前のベクトルαの中点とが同じ円弧上に位置するとした場合の当該円弧の半径に相当する。また交点Qとベクトルβとの距離は、ベクトルβの中点と1つ後のベクトルγの中点とが同じ円弧上に位置するとした場合の当該円弧の半径に相当する。すなわち上記の処理は、ベクトルαとβとの組み合わせ、ベクトルβとγとの組み合わせにつき、それぞれその組み合わせが1つの曲線に対応するものとして当該曲線に近似する円弧の半径を求め、そのうちの短い方を着目中ベクトルが表すカーブのカーブ半径として特定するものである。後記するように、カーブ半径は制限速度の導出に用いられるので、安全性を確保するために、より急峻なカーブを表す円弧の半径を採用している。
【0132】
このようにして着目中のベクトルのカーブ半径が算出されると、つぎは、算出されたカーブ半径により図30のテーブルを参照する。このテーブルでは、カーブ半径の値を所定の範囲毎に区切って、各範囲にそれぞれ規格のカーブ半径として当該範囲内の最小のカーブ半径を対応づけている。
【0133】
ここで、算出されたカーブ半径が2200mより小さい場合(ST104が「NO」)には、着目中のベクトルの属性を曲線に設定する(ST105)。ついで、上記のテーブルを参照することによって、算出されたカーブ半径を規格のカーブ半径に置き換え、この規格のカーブ半径と先のステップS51で特定したカーブの向きを、着目中のベクトルの属性に追加する(ST106)。
【0134】
図30のテーブルでは、カーブ半径が2200m以上であれば、該当するベクトルを直線に相当するとしている。これに基づき、着目中のベクトルにつき算出されたカーブ半径が2200m以上であった場合(ST104が「YES」)には、このベクトルの属性を「直線」に設定する(ST107)。ただし、このベクトルは、先に述べた進行の方向の切り替え後の直線区間に相当する可能性があるので、この場合にも、カーブの向きをベクトルの属性に追加する(ST108)。
【0135】
なお、3次元ベクトル鎖の先頭のベクトルおよびベクトル鎖の最後尾のベクトル(以下、「最後のベクトル」という。)については、図29に示した方法によりカーブ半径を算出することができないので、属性を「直線」に設定する。また、図28のフローチャートには示していないが、先頭および最後のベクトルについては、カーブの向きに代えて、ベクトル鎖の先頭または最後であることを示す情報を属性として設定する。また、図28には示していないが、ベクトルの中に、カーブ半径が100m未満のものがあった場合には、処理を中止し、そのベクトルの情報を異常値として出力する。
【0136】
5−4)区間設定処理(ステップS54)
このステップS54では、上記の処理により属性が定まった3次元ベクトルに順に着目して、各ベクトルを所定数の区間にグループ分けする。具体的には、「直線」の属性を有するベクトルと「曲線」の属性を有するベクトルとを分類し、さらに「曲線」の属性を有するベクトルについては、カーブの向きが同じものが続く間、同じ区間に分類する。
以下、「直線」の属性を有するベクトルによる区間を「直線区間」といい、「曲線」の属性を有するベクトルによる区間を「曲線区間」という。
【0137】
図31は、区間設定処理の詳細な手順を示す。
この図を参照して説明すると、この例でも3次元ベクトル鎖の各ベクトルに、先頭から順に着目する。まず先頭のベクトルには、「直線」の属性が設定されているから、つぎのST202の判定は「NO」となり、着目中のベクトルによる直線区間を設定する(ST208)。なお、この直線区間には、着目中ベクトルに関する情報(始点および終点の座標)も属性として包含される。
【0138】
2番目以降のベクトルでも、「直線」の属性が設定されているものに対しては、上記と同様に、着目中のベクトルによる直線区間を設定する(ST208)。また、この場合には、着目中のベクトルに属性として設定されているカーブの向きが、区間の属性としても設定される。一方、着目中のベクトルに「曲線」の属性が設定されている場合には、1つ前のベクトルの属性によって処理内容が変動する。
【0139】
まず、1つ前のベクトルの属性が「直線」の場合(ST203が「YES」)には、着目中ベクトルを先頭とする新規の曲線区間を設定する(ST204)。この場合には、着目中ベクトルの始点、終点、およびカーブの向きが、この曲線区間の属性に組み込まれる。
【0140】
1つ前のベクトルの属性が「曲線」で、そのカーブの向きが着目中ベクトルと同じ場合(ST203が「NO」、ST205が「YES」)には、着目中ベクトルを1つ前のベクトルと同じ曲線区間に分類する。この場合も、着目中ベクトルの始点、終点、およびカーブ半径ならびにカーブの向きが、曲線区間の属性に追加される。
【0141】
1つ前のベクトルの属性が「曲線」で、そのカーブの向きが着目中ベクトルと異なる場合(ST203が「NO」、ST205が「NO」)には、着目中ベクトルの属性を、「曲線」から「直線」に変更し(ST207)、このベクトルによる新たな直線区間を設定する(ST208)。この場合にも、着目中ベクトルの始点および終点、ならびにこのベクトルに属性として設定されていたカーブの向きが、そのまま直線区間の属性に組み込まれる。
【0142】
前述したように、鉄道用軌道のカーブの向きが切り替えられた地点の後には、必ず20m以上の直線区間が存在する。上記ST207の処理は、この特徴を反映したものである。先のステップS52で20m未満のベクトルを統合する処理を行ったことにより、この時点で設定される直線区間は、必ず20m以上の距離を有するものとなる。
【0143】
よって、すべてのベクトルに対する処理が終了したとき(ST209が「YES」)には、鉄道用軌道の特徴を精度良く反映した区間を得ることができる。各区間には、直線/曲線およびカーブの向きを表す属性のほか、当該区間に含まれる3次元ベクトルの始点および終点の座標が包含される。
【0144】
5−5)ベクトルの勾配・長さの算出(ステップS55)
ステップS55では、各3次元ベクトルが表す勾配およびベクトルの長さを算出する。勾配については、ベクトル化処理のステップS42と同様に1km換算の勾配を算出する。長さの算出は、ベクトルの始点と終点との距離を求める演算により行われる。これらの算出結果は、各ベクトルの属性に追加される。
【0145】
さらに勾配に関しても、カーブ半径と同様に、複数のしきい値を用いて規格の値に変更する。具体的には、算出された勾配が1‰未満であれば、勾配を0‰(すなわち平坦面)とする。以下は、5‰の単位で各勾配に範囲を設定し、各範囲での最も急な勾配を規格の値として採用する。たとえば算出された勾配が1〜5‰の範囲に入る場合には、5‰を勾配として採用し、算出された勾配が5‰〜10‰の範囲に入る場合には、10‰を勾配として採用する。
【0146】
5−5)ベクトルの勾配・長さに基づく区間の再設定(ステップS56)
ステップS56では、ステップS54の処理により設定された各区間に順に着目し、着目中の区間に含まれる3次元ベクトルの勾配および長さに基づき、着目中の区間をさらに細かく分割する。
【0147】
図32は、勾配に基づいて区間を分割する例を示す。
この例は、同一の区間に含まれる6つのベクトルa,b,c,d,e,fを勾配に基づきグループ化するものである。ここでは、各ベクトルa〜fを、それぞれの規格の勾配に基づいてグループ分けし、1つ1つのグループをそれぞれ一区間とする。これにより、各ベクトルa〜fは、4つの区間A,B,C,Dに分割される。
【0148】
なお、上記の例では、上り勾配を対象にしたグループ分けを示しているが、下り勾配を対象にする場合も、同様の方法でグループ分けが行われる。また処理前の区間に上り勾配と下り勾配とが含まれる場合には、これらを別々の区間に分ける。
【0149】
このようにして勾配に基づく区間の再設定が行われると、さらに各区間毎に、区間内に属するベクトルの長さの総和を求める。そして、この長さの総和(区間の長さ)が1000m以上になる場合には、1000mより小さくなるように、区間を分割する。
【0150】
再設定された各区間には、それぞれ元の区間の属性(直線/曲線およびカーブの向き)や所属のベクトルの属性が引き継がれる。さらに各区間には、新たに、勾配の上り/下りの区分、規格の勾配、区間の長さの各情報が属性として追加される。
【0151】
5−6)制限速度の設定(ステップS57)
ステップS57では、上記ステップS56の処理により再設定された区間に、制限速度を設定する。具体的には、カーブ半径、勾配の上り/下り、および規格の勾配の組み合わせを複数設けて、これらの組み合わせと制限速度とを対応づけたテーブルが用意されており、このテーブルを参照することによって、着目中の区間の各ベクトルに対応する範囲毎に制限速度を決定する。そして決定された制限速度を、それぞれのベクトルの属性に追加する。
【0152】
さらに、各区間の接続地点のうちカーブの向きが変わる地点については、この地点の前後の所定範囲における制限速度がそれぞれ同じ区間内の他の箇所より低くなるようにするなど、1つ1つの区間における制限速度およびその適用範囲を細かく設定し直す処理を行う。そして、これらの再設定に応じて各区間の属性を更新し、処理を終了する。
【0153】
上記の処理により、最終的に、複数の区間について、直線/曲線の種別、勾配の上り/下りの種別、カーブの向き、勾配、区間の長さ、区間内に含まれるベクトルの情報などの属性が対応づけられる。また、各ベクトルの情報には、始点、終点の座標や長さのほか、制限速度が含められる。このような構成の軌道プロファイルにより、列車の進行方向、カーブを切り替える地点、制限速度およびその制限速度を適用すべき走行範囲などの情報を取得して、列車の走行制御に利用することが可能になる。
【0154】
[まとめ]
以上に説明したように、ベクトル化エンジン2では、オルソ画像中の鉄道用軌道を所定幅の3つの線状領域L1〜L3が幅方向に沿って並ぶ構成のパターン画像に変換した後に、この変換後画像にLoGフィルタを適用することにより、鉄道用軌道の特徴を容易に抽出することができる。また、各線状領域L1〜L3の幅方向の画素配列を抽出して、その中心部を抽出することにより、軌道の長手方向に沿うラインの連続性を確保する(切れ目が少ない。)ことができる。さらに、抽出した軌道の特徴をベクトル化して2次元ベクトル鎖を生成するので、オルソ画像を用いた画像処理のみで、軌道の経路を表す情報(2次元ベクトル鎖)を生成することが可能になる。また、ベクトル間の距離や位置関係によって値が変動する評価値V(a,b)を用いて2次元ベクトル鎖の途切れた箇所にベクトルを補完するので、2次元ベクトル鎖の精度をさらに高めることができる。
【0155】
さらに、ベクトル化エンジン2において、DSM情報を用いて2次元ベクトル鎖を3次元化した後に、軌道プロファイル生成エンジン3において、3次元ベクトル鎖のベクトル間の関係や個々のベクトルの特徴に基づく情報処理を行って、上記内容のプロファイルを生成するので、列車の走行制御に利用可能な情報を容易に生成することが可能になる。
【図面の簡単な説明】
【0156】
【図1】最小値フィルタによる変換処理の原理を説明する図である。
【図2】最小値フィルタによる変換処理の原理を説明する図である。
【図3】最小値フィルタによる変換処理の原理を説明する図である。
【図4】軌道プロファイル生成システムの機能ブロック図である。
【図5】オルソ画像中の鉄道用軌道に対応する範囲を模式化した図である。
【図6】図5の画像にベクトル化処理により生成された3次元ベクトル鎖を重畳した画像を模式化した図である。
【図7】ベクトル化処理の概略手順を示すフローチャートである。
【図8】図5のオルソ画像に最小値フィルタを適用する処理により変換された画像を模式化した図である。
【図9】3つの線状領域に対応する画素配列を抽出する方法を説明する図である。
【図10】画素配列の中心部の抽出結果を示す2値画像を模式化した図である。
【図11】孤立点除去処理の内容を示す図である。
【図12】膨張・収縮処理の内容を示す図である。
【図13】端点除去処理の内容を示す図である。
【図14】突起除去処理の内容を示す図である。
【図15】図10の2値画像の黒画素群を細線化した結果を模式化した図である。
【図16】チェーンコードの設定処理の内容を示す図である。
【図17】2次元ベクトル鎖の生成処理の具体例を示す図である。
【図18】ベクトルを結合する条件を説明する図である。
【図19】ベクトル間の距離によって結合の条件を変更する例を示す図である。
【図20】ベクトルの正しい結合例と誤った結合例とを対比して示す図である。
【図21】ベクトルの結合を判定するための評価値の演算式に用いられるパラメータを示す図である。
【図22】評価値の演算式に組み込まれるしきい値を表す関数のグラフである。
【図23】3次元ベクトルのデータ構成を示す図である。
【図24】3次元ベクトルに対するノイズ除去処理の例を示す図である。
【図25】軌道プロファイルの作成処理の概略手順を示すフローチャートである。
【図26】ベクトルが表すカーブの向きを特定する処理を説明する図である。
【図27】あり得ないS字曲線に対応するベクトルを補正する処理を説明する図である。
【図28】ベクトルの属性設定処理に関する手順を示すフローチャートである。
【図29】カーブ半径を算出する方法を説明する図である。
【図30】カーブ半径の算出値を規格のカーブ半径に置き換えるためのテーブルの内容を示す図である。
【図31】区間設定処理に関する手順を示すフローチャートである。
【図32】勾配に基づいて区間を再設定する処理を説明する図である。
【符号の説明】
【0157】
1 GUIアプリケーション
2 ベクトル化エンジン
3 軌道プロファイル生成エンジン
5 オルソ画像のデータファイル
10 3次元ベクトル情報
11 3次元ベクトル鎖
21,22 レール
23 枕木
L1,L2,L3 線状領域
【技術分野】
【0001】
本発明は、鉄道用軌道(以下、単に「軌道」という場合もある。)を含む所定広さのエリアにつき生成されたオルソ画像を処理することによって、鉄道用軌道の経路を表す情報を生成する方法、およびこの方法を実施するための装置ならびにプログラムに関する。
【背景技術】
【0002】
近年、列車を安全かつ安定して走行させることを目的として、走行する列車が軌道上のどの地点にあるかを判別し、その地点の勾配やカーブに応じて速度を制御する技術が開発されている。
【0003】
上記の制御を行うには、軌道の長さ、カーブの向きや曲率、勾配などを精度良く表した情報が必要である。この点に鑑み、発明者らは、オルソ画像をコンピュータで処理することによって、鉄道用軌道の経路を数値化することを検討した。
【0004】
オルソ画像は、空中三角測量により求めた3次元座標を用いて作成されるもので、歪みが少なく、観測対象エリアを真上から観察した状態を精度良く表すことで知られている。また、空中三角測量によって、各地点の高さ情報を取得することもできるので、斜面の勾配を算出することが可能である。したがって、オルソ画像から鉄道用軌道の特徴を精度良く抽出することができれば、この特徴に基づいて、鉄道用軌道の経路の3次元情報を生成することができ、さらに、これを分析することにより、鉄道用軌道の特徴を詳細に表した情報を生成することもできる。
【0005】
オルソ画像を用いて車両の走行路の経路情報を生成する先行技術を開示する文献としては、下記の特許文献1,2が認められる。
いずれの文献も、鉄道用軌道ではなく道路を対象とするものであるが、特許文献1には、オルソ画像から道路を表すエッジを検出し、検出されたエッジをベクトル化することによって、高精度な道路データを生成することが記載されている。また、エッジ検出により道路を表す線分として認識されたもののうち、距離や角度が一定以内であるものを接続することにより、橋などにより道路の特徴が分断された箇所の情報を補完することも記載されている。
【0006】
また特許文献2には、高さを表すオルソ画像に地図データを引き込むことによって、オルソ画像上の道路や当該道路に関連する立体情報を抽出することが記載されている。
【0007】
【特許文献1】特開2008−170611号公報(段落0011〜0020参照。)
【特許文献2】特開平11−184375号公報(段落0028〜0035参照。)
【発明の開示】
【発明が解決しようとする課題】
【0008】
オルソ画像から抽出する鉄道用軌道の特徴としては、両側のレールのエッジを選択するのが最も望ましいように思われる。しかし、単なるエッジ検出では、レール以外の物体のエッジも検出されるため、レールのエッジを特定するのは困難である。
【0009】
また、鉄道用軌道の経路を精度良く示す情報を得るには、レールの長さ方向の位置や向きの変化を連続的に検出するのが望ましいが、レールは道路に比べて幅狭である上に、周囲の明暗のばらつきが大きいため、エッジの検出精度が悪く、途切れの少ない情報を得るのは困難である。また、周囲の枕木や架線などによる多数のエッジがノイズとして現れ、軌道の特徴を精度良く数値化するのが困難である。
【0010】
本発明では、上記の問題点に着目して、オルソ画像中の鉄道用軌道を、その経路の特徴を明瞭化したパターン画像に変換することによって、軌道の経路を表す連続性の高い特徴を抽出し、その情報から軌道の経路を精度良く表す情報を生成することを、課題とする。
【課題を解決するための手段】
【0011】
上記の課題に関して、本発明では、オルソ画像に現れる鉄道用軌道の特徴に着目して以下の第1、第2、第3の各ステップを実行することにより、鉄道用軌道の経路を表す情報を生成する。
【0012】
第1ステップでは、一辺の長さが画像中のレール間の画素数より小さく、枕木間の画素数より大きく、かつ周囲より暗い部位をレール間の画素数の1/2より小さな幅をもって各方向に膨張させる大きさの最小値フィルタをオルソ画像に適用することによって、各レールの幅が広がり、各レールの間で枕木間の間隔が消失して、各枕木が線状に連なった状態に変換された画像を生成する。
【0013】
第2ステップでは、第1ステップの変換処理により生成された画像から、所定明るさの線状領域を中央にしてこの線状領域と当該領域より暗い2つの線状領域とが幅方向に沿って並んでいる特徴パターンを抽出する。第3ステップでは、第2ステップで抽出された特徴パターンからその長手方向に沿うラインを生成し、生成されたラインが示す位置および方向の変化を数値化した情報を作成する。
【0014】
上記の第1ステップは、オルソ画像中の鉄道用軌道を、本来とは異なる特徴パターンに変換することによって、これらを容易に検出できるようにすることを目的とするものである。以下、この変換処理を模式的に示した図1〜3を用いて、第1ステップの処理の原理を説明する。
【0015】
一般に、オルソ画像中のレールや枕木は、周囲より暗く、さらにレールの方が枕木より暗くなる(発明者の計測では、256階調の画像で約40階調の差が認められた。)。また、レール間の間隔は枕木間の間隔より広く、これらの間隔はほぼ一定である。
第1ステップでは、これらの特性を利用した最小値フィルタを使用することにより、図1に例示するような変換処理を行う。
【0016】
図1の左手の図は、オルソ画像の鉄道用軌道に対応する範囲を拡大した模式図である。この図中の21,22はレールであり、23は枕木である。また、図中の点線で表す矩形枠は1画素に相当する。
また、この図では、軌道の方向が画像の上下方向に対応するものとして、各レール21,22の幅を1画素、レール21,22間の画素数(レール21,22の内側縁の間にある画素の数をいう。)を9画素、枕木23の縦幅を2画素、枕木23間の画素数(1つの枕木23とその隣の枕木23との端縁間に存在する画素の数をいう。)を4画素としている。なお、1画素は約10cmに相当する。
【0017】
図1の例は、オルソ画像に5×5のサイズの最小値フィルタ100を適用する。この最小値フィルタ100の一辺の長さ(5画素)は、画像中のレール21,22間の画素数(9画素)より小さく、枕木23間の画素数(4画素)より大きい。また、最小値フィルタ100により変換された画像では、右手の図に示すように、各レール21,22が左右に2画素ずつ膨張して、5画素幅の線状領域L1,L2が生成される。また、枕木23については、横幅が5画素に縮小されるが、縦方向は上下に2画素ずつ膨張されて枕木23同士が一体化され、その結果、5画素幅の線状領域L3が生成される。また、線状領域L1,L2には元のレール21,22の濃度が反映され、線状領域L3には元の枕木23の濃度が反映される。
【0018】
上記の変換処理の原理について説明する。
最小値フィルタとは、原画像中のフィルタに対応づけられた範囲内の最小濃度(最も暗い画素の濃度)を、フィルタの中心位置の画素に適用するものである。図2は、図1に示したオルソ画像に対し、最小値フィルタ100を左から右に向かう方向に走査した例を示す。図3は、同じ最小値フィルタ100を上から下に向かう方向に走査した例を示す。
【0019】
図2(1)は、5×5の最小値フィルタ100の右一列が左側のレール21に対応づけられた状態を示す。この場合の最小値フィルタ100に対応する範囲では、レール21の濃度が最小になるから、フィルタ100の中央の画素、すなわちレール21から2画素離れた位置にある画素にレール21の濃度が採用される。
【0020】
図2(2)は、最小値フィルタ100の左一列が左側のレール21に対応づけられた状態を示す。この場合の最小値フィルタ100に対応する範囲には、レール21のほか枕木23も含まれるが、枕木23よりレール21の方が暗くなるから、この場合にも、フィルタ100に対応する範囲ではレール21の濃度が最小の濃度となる。よってフィルタ100の中央の画素には、レール21の濃度が採用される。
【0021】
またここには図示していないが、最小値フィルタ100が図2(1)の状態から図2(2)の状態まで移動する間の各位置においても、同様に、フィルタ100に対応する範囲では、レール21の濃度が最小になる。よって、レール21より2画素外側の位置からレール21より2画素内側までの範囲にある各画素では、いずれもレール21の濃度が採用されることになる。
【0022】
つぎに図2(3)は、最小値フィルタ100が、図2(2)の状態からさらに1画素右にずれた状態を示す。この段階で最小値フィルタ100に対応する範囲にはレール21が含まれない状態になるから、この範囲では枕木の濃度が最小の濃度となる。よって、この場合のフィルタ100の中央に対応する画素には、枕木23の濃度が採用される。
【0023】
この後、最小値フィルタ100が右側に移動して、右側のレール22がフィルタ100内に含まれる状態(図2(3)の位置から5画素分移動したとき)になるまでは、フィルタ100の中央に対応する画素には、いずれも枕木23の濃度が採用される。しかし、右側のレール21が最小値フィルタ100に含まれる状態になると、再び、レール21の濃度が採用される状態となる。右側のレール21に対しても、フィルタ100による作用は、左側のレール21に対するのと同様である。
【0024】
上記したように、左右のレール21,22は、それぞれ内外に2画素ずつ膨張して5画素幅になる。しかし、この膨張幅は、レール21,22の間の画素数の1/2より小さいから、各レール21,22が膨張した後も、枕木23の画像が残る余地がある。具体的には、枕木22は、レール21の膨張によって、9画素幅から5画素幅になる。
【0025】
図3は、最小値フィルタ100を、図2(3)の状態から、1画素ずつ下方に移動させた状態を示す。最小値フィルタ100の一辺の長さは、枕木23間の画素数(4画素)より大きく設定されているので、上下方向のいずれの位置にあっても、常に最小値フィルタ100内に枕木23の画素が含まれる。したがって図3(1)(2)(3)に示すように、レール21,22間のレール21,22が入らない範囲で最小値フィルタ100が移動する場合には、どの位置においてもフィルタ100の中央に対応する画素に枕木23の濃度が採用される。この結果、各枕木23の間にある画素の濃度はすべて枕木23の濃度に置き換えられて、枕木23間の間隔が消失し、各枕木23が一体化される。
【0026】
上記の原理に基づく処理を行うことにより、各レール21,22の幅が広がって線状領域L1,L2が生成されるとともに、これらの間に、枕木23の濃度を反映した線状領域L3が生成される。この結果、鉄道用軌道のオルソ画像は、図1の右手に示すように、枕木23による線状領域L3を中心にして、この領域L3と当該領域L3より暗い2つの線状領域L1,L2(レール21,22による線状領域)とが幅方向に沿って並んだ状態の画像に変換される。
【0027】
最小値フィルタ100はオルソ画像中の鉄道用軌道以外の部分にも適用されるので、周囲より暗い部位があれば、その部位もレール21,22や枕木23と同様に、各方向に2画素ずつ膨張する。しかし、鉄道用軌道と同様の形状のものでなければ、図1〜3により説明したような変換が行われるとは考えにくい。よって、第1ステップを実行した後に、「第1ステップの変換処理により生成された画像から、所定明るさの線状領域を中心にしてこの線状領域と当該領域より暗い2つの線状領域とが幅方向に沿って並んでいる特徴パターンを抽出する第2ステップ」を実行することによって、鉄道用軌道を表す連続性の高い特徴パターンを抽出することが可能になる。
【0028】
さらに本発明では、抽出された特徴パターンからその長手方向に沿うラインを生成し、さらにこのラインが示す位置および方向の変化を数値化した情報を作成するので、鉄道用軌道の特徴(カーブの向き、長さ、曲率、カーブの切り替わり地点など)の導出に利用可能な数値化情報を精度良く求めることが可能になる。さらに、オルソ画像の生成に際して導出された高さ情報を加味した処理を行えば、勾配の大きさや勾配が変化する地点を求めることも可能になる。
なお、数値化情報としては、後記するベクトルによる情報のほか、たとえば、鉄道用軌道を表す近似直線や近似曲線の式を設定することもできる。
【0029】
つぎに、本発明による鉄道用軌道の経路情報の生成方法に関して、好ましい3つの実施態様を説明する。
【0030】
第1の実施態様では、第2ステップにおいて、ステップ1の変換処理により生成された画像にラプラシアン・ガウシアンフィルタを走査し、このフィルタからの出力を正負2種類のしきい値により照合して正のしきい値を上回る画素および負のしきい値を下回る画素をそれぞれ抽出する。また、その抽出結果を表す処理結果画像を生成する。また第3ステップでは、処理結果画像を対象に、負の値を下回る画素が所定数並ぶ範囲の両端にそれぞれ正の値を上回る画素が所定数並ぶ画素配列を検索するステップAと、検索により検出された画素配列の中央部を特定するステップBと、特定された中央部の連なり状態をベクトル化するステップCと、ベクトル化により設定された複数のベクトルを含むベクトル鎖情報を生成するステップDとを実行する。
【0031】
ラプラシアン・ガウシアンフィルタには、周囲より暗い範囲に対しては負の方向に変化するデータを出力し、周囲より明るい範囲に対しては、正の方向に変化するデータを出力するという性質がある。上記の態様ではこの性質を利用して、変換画像にラプラシアン・ガウシアンフィルタを走査し、正負のしきい値により、レールに対応する線状領域を構成する可能性が高い画素と、枕木に対応する線状領域を構成する可能性が高い画素とを、それぞれ抽出し、これらの抽出結果から、3つの線状領域の幅方向に対応する画素配列が現れている箇所を抽出することになる。図1の例を参照して説明すると、たとえば、負の値を下回る画素(枕木23に対応)が5画素並ぶ範囲の両端に、それぞれ正の値を上回る画素(レール21,22に対応)が5画素並ぶ画素配列を抽出することになる。
【0032】
さらにこの態様では、抽出された画素配列の中心部の連なり状態をベクトル化して、複数のベクトルを導出し、これらのベクトルを含むベクトル鎖情報を生成することにより、鉄道用軌道の位置および長さ方向の変化を複数のベクトルに分解して表すことができる。
【0033】
つぎに、第2の態様では、上記のステップDに、他のベクトルに連結していない端点を具備する2つのベクトルの組み合わせのうち、両ベクトル間の方向の差が所定の許容値以内になるという第1条件と、これらのベクトル間を連結させる直線に対して両ベクトルがなす角度(180度以下の角度をさす。)が所定のしきい値を上回るという第2条件とを満たす組み合わせを対象に、その組み合わせに係る2つのベクトルを結合するベクトルを補完するステップが含まれる。また、このベクトルを補完するステップでは、第2条件のしきい値を、ベクトル間の距離が大きくなるほど180度に近づくように値を変動設定する。
【0034】
上記の態様によれば、鉄道用軌道を横切るノイズ(影、ビームなど)によって、鉄道用軌道の経路を表すベクトルが生成されない箇所があった場合にも、その前後のベクトルを結ぶようにベクトルを補完することが可能になり、欠けのないベクトル鎖情報を生成することができる。また、ベクトル間の距離が比較的短い場合には、ある程度大きな段差のあるベクトルの連結を許容する一方で、2つのベクトル間に相当の距離がある場合には、これらのベクトルの段差が小さい状態でなければ連結しないようにしたので、誤った連結が行われるのを防止することができる。
【0035】
第3の態様では、オルソ画像の各画素にはそれぞれ高さ情報が対応づけられる。またステップDでは、高さ情報に基づき、ベクトル化により設定された各ベクトルに対応する勾配を算出し、この勾配が所定の上限値を上回るベクトルをベクトル鎖から除外する。
【0036】
上記の態様によれば、ベクトル化の際に、ノイズにより鉄道用軌道以外の物(列車やビームなど)に向かうベクトルが設定された場合には、そのベクトルが鉄道用軌道の取り得る勾配を超えていることをもって、ベクトル鎖情報から除外することができる。よって、ノイズの影響を軽減し、精度の良いベクトル鎖情報を生成することができる。
【0037】
つぎに、上記の方法が適用された経路情報の生成装置は、鉄道用軌道を含む所定広さのエリアを対象に生成されたオルソ画像を入力する画像入力手段と、入力したオルソ画像から鉄道用軌道の経路を表す情報を生成する画像処理手段とを具備する。さらに画像処理手段は、以下の画像変換手段、特徴抽出手段、数値化情報作成手段、情報確定手段を具備する。
【0038】
画像変換手段は、入力対象のオルソ画像中のレール間の画素数および枕木間の画素数につき設定されたモデル値に基づき、一辺の長さが画像中のレール間の画素数より小さく、枕木間の画素数より大きく、かつ周囲より暗い部位をレール間の画素数の1/2より小さな幅をもって各方向に膨張させる大きさの最小値フィルタを設定して、この最小値フィルタによりオルソ画像を変換する。
【0039】
特徴抽出手段は、画像変換手段により変換された画像から、所定明るさの線状領域を中央にしてこの線状領域と当該領域より暗い2つの線状領域とが幅方向に沿って並んでいる特徴パターンを抽出する。数値化情報作成手段は、特徴抽出手段により抽出された特徴パターンからその長手方向に沿うラインを生成して、生成されたラインの位置および方向の変化を数値化した情報を作成する。
【0040】
情報確定手段は、数値化情報作成手段により作成された情報、またはこの情報を加工したものを鉄道用軌道の経路を示す情報として確定する。情報を加工する場合には、たとえば、鉄道用軌道に特有の特徴に基づき数値化された情報を補正して、より情報の精度を高めた上で、これを鉄道用軌道の経路を表す情報として確定する。また数値化により2次元ベクトルによる情報を作成した場合には、これに高さ情報を加味して3次元ベクトル情報を作成し、これを鉄道用軌道の経路を示す情報として確定することもできる。
【0041】
上記の装置によれば、たとえば、モデルのオルソ画像から求めたレール間や枕木間の間隔をモデル値として設定することにより、先に説明した第1〜第3の各ステップを実行して、鉄道用軌道の経路を表す情報を作成することができる。
【0042】
さらに前出の第1の態様による方法を実施する装置では、特徴抽出手段は、画像変換手段により変換された画像にラプラシアン・ガウシアンフィルタを走査し、このフィルタからの出力を正負2種類のしきい値により照合して正のしきい値を上回る画素および負のしきい値を下回る画素をそれぞれ抽出する手段と、この抽出結果を表す処理結果画像を生成する手段とが含まれる。また、数値化情報作成手段には、処理結果画像を対象に、負の値を下回る画素が所定数並ぶ範囲の両端にそれぞれ正の値を上回る画素が所定数並んでいる画素配列を検索する検索手段と、検索により検出された画素配列の中央部を特定する中央部特定手段と、特定された中央部の連なり状態をベクトル化するベクトル化手段と、ベクトル化により設定された複数のベクトルを含むベクトル鎖情報を生成するベクトル鎖情報生成手段とが含まれる。
【0043】
第2の態様による方法を実施する装置では、ベクトル鎖情報生成手段に、他のベクトルに連結していない端点を具備する2つのベクトルの組み合わせのうち、両ベクトル間の方向の差が所定の許容値以内になるという第1条件と、これらのベクトル間を連結させる直線に対して両ベクトルがなす角度が所定のしきい値を上回るという第2条件とを満たす組み合わせを対象に、その組み合わせに係る2つのベクトルを結合するベクトルを補完するベクトル補完手段が含まれる。またベクトル補完手段は、第2条件のしきい値を、ベクトル間の距離が大きくなるほど180度に近づくように値を変動設定する。
【0044】
さらに、第3の態様を実施する装置には、オルソ画像の各画素に対応する高さ情報を入力する高さ情報入力手段が設けられる。またベクトル鎖情報生成手段には、入力された高さ情報に基づき、ベクトル化により設定された各ベクトルに対応する勾配を算出し、この勾配が所定のしきい値を上回るベクトルをベクトル鎖から除外する手段が含まれる。
【0045】
さらに、本発明による鉄道用軌道の経路情報の生成装置には、オルソ画像中のレール間の画素数および枕木間の画素数に関するモデル値の入力を受け付けるモデル値入力手段と、入力されたモデル値に基づき、最小値フィルタのサイズを変更するフィルタサイズ変更手段とが設けられる。この構成によれば、入力されるオルソ画像の解像度が変わった場合でも、その画像中のレール間の画素数および枕木間の画素数に応じてモデル値を設定し直すことによって、図1に示したような画像変換処理を容易に行うことが可能になる。
【0046】
さらに、本発明では、上記の装置の画像処理手段に含まれる各手段、すなわち画像変換手段、特徴抽出手段、数値化情報作成手段、および情報確定手段として、コンピュータを機能させるためのプログラムを提供する。
【発明の効果】
【0047】
本発明によれば、鉄道用軌道に特有の特徴を、3つの線状領域による特徴パターンに変換することによって、オルソ画像から鉄道用軌道を精度良く表し、連続性の高い特徴を抽出することが可能になる。さらに、上記の特徴パターンの長手方向に沿うラインを生成して、そのラインが示す位置および方向の変化を数値化した情報を生成することによって、鉄道用軌道の経路を精度良く表す情報を提供することができる。
【発明を実施するための最良の形態】
【0048】
[システムの概略説明]
図4は、この発明が適用された軌道プロファイル生成システムの機能ブロック図を示す。このシステムは、列車に搭載されたコンピュータ(「車上装置」と呼ばれる。)が列車の走行を制御する目的で使用する情報を生成するためのもので、1台のコンピュータ内または複数台のコンピュータによるネットワークシステム内に設定される。
【0049】
このシステムでは、オルソ画像のほか、オルソ画像に派生して生成されたDSM情報(Digital Surface Model)や、地図情報とオルソ画像との関係を表すワールドファイルなどを利用する。これらは、いずれも個別のデータファイル5,6,7として構成されて、コンピュータの図示しないメモリ(ハードディスク)内に格納される。
【0050】
図中、GUI(グラフィカル・ユーザ・インターフェース)アプリケーション1は、図示しないモニタや入力部(キーボード、マウスなど)と連動して、ユーザによる設定操作を受け付けながら、3次元ベクトル情報を生成する処理、生成した3次元ベクトル情報を編集する処理、および3次元情報から軌道プロファイルを生成する処理を実行する。
【0051】
ベクトル化エンジン2は、オルソ画像およびDSM情報から、鉄道用軌道の経路を表す3次元ベクトル情報10を生成する。この3次元ベクトル情報10は、複数の3次元ベクトルの集合(以下、これを「3次元ベクトル鎖」という。)11を複数含むものである。
【0052】
生成された3次元ベクトル情報10は、GUIアプリケーション1に渡される。GUIアプリケーション1は、この3次元ベクトル情報10から処理対象の3次元ベクトル鎖11を順に取り出して、演算パラメータとともに軌道プロファイル生成エンジン3に出力する。なお、演算パラメータには、各種判定のためのしきい値や判定用テーブルなどが含まれる。
【0053】
軌道プロファイル生成エンジン3は、供給された3次元ベクトル鎖11を処理することによって、鉄道用軌道の特徴を表す情報群(以下、「軌道プロファイル」という。)13を生成する。生成された軌道プロファイル13は、GUIアプリケーション1によって車上装置用のデータベース9に格納される。このデータベース9が各列車の車上装置に移植され、走行制御に利用されることになる。
【0054】
また、GUIアプリケーション1は、軌道プロファイル13の生成に用いられる前の3次元ベクトル情報10を適宜モニタに表示して、ユーザによる簡易な補正作業を受け付け、3次元ベクトル情報10を編集する。具体的な編集は、編集対象の3次元ベクトル鎖10をDXFファイル8に変換し、CAD専用のソフトウェアによる編集エンジン4を用いて行われる。
【0055】
図5は、上記システムで使用されるオルソ画像を模式的に表したものである(画像全体の中から軌道の部分を抜き出し、拡大したイメージを示す。)。
この画像は、上空での空中三角測量により生成されたもので、各地点の真上から観測した状態が現れるように歪みが除去されている。前述のDSM情報も、この空中三角測量により求められたもので、オルソ画像中の各画素に対応する高さ情報(Z座標)を有する。また、ワールドファイルを参照することによって、このオルソ画像の1画素に対応する地点における地図上の座標(X,Y座標)を特定することができる。
【0056】
図5の画像には、2本の軌道20A,20Bのほかに、架線支持用のビーム25およびその影24が現れている。このほか、作図の都合上、表していないが、各軌道20A,20Bの近傍には、バラストからの反射などによる明暗差や架線などが現れている。
【0057】
なお、実際のオルソ画像はカラー画像であるが、ベクトル化エンジン2により処理される際には、グレースケール画像に変換される。また、図5では、作図の都合上、ビーム25を黒線で表しているが、実際の画像では、ビーム25の色彩は白色系である。
【0058】
上記のオルソ画像はGUIアプリケーション1により表示され、表示画面上の軌道に対し、ユーザにより処理範囲の始点および終点が指定される。ただし、この指定より前にベクトル化エンジン2は、このオルソ画像を処理して2次元ベクトル段階の処理を終えており、ユーザが始点および終点を指定すると、その指定に応じた範囲の3次元ベクトル鎖を生成する。
【0059】
3次元ベクトル鎖の生成が終了すると、表示画面は図6に示すようなものに変更される。この画面には、図5と同様のオルソ画像に、ベクトル化エンジン2により生成された3次元ベクトル鎖の各ベクトルを表す線分画像26が表示されている。
【0060】
ユーザは、表示された3次元ベクトル鎖を確認し、適宜、不要なベクトルを削除したり、欠落しているベクトルを補完するなどの補正作業を行うことができる。また、ユーザが3次元ベクトル鎖の抽出精度を確認して確定操作を行うと、確定された3次元ベクトル鎖が軌道プロファイル生成エンジン3に渡され、軌道プロファイルの生成処理が開始される。
【0061】
以下、ベクトル化エンジン2および軌道プロファイル生成エンジン3により実行される処理を、詳細に説明する。
【0062】
[ベクトル化エンジン2による処理について]
図7は、ベクトル化エンジン2により実行される処理の概略手順を示すフローチャートである。この図7によれば、この実施例のベクトル化処理は、フィルタ処理、2次元ベクトル情報生成処理、ベクトル推定処理、3次元ベクトル情報生成処理に大別される。
以下、このフローチャートの流れに沿いながら、適宜、他の図面を参照して上記3種類の処理の詳細を説明する。
【0063】
(1)フィルタ処理
1−1)軌道の特徴の強調処理(ステップS11)
この処理は、先に[課題を解決するための手段]において原理説明を行った処理である。ベクトル化エンジン2には、事前にモデルのオルソ画像中のレール21,22および枕木23に対する計測により定めた最小値フィルタのサイズがセットされている。ただし、オルソ画像の分解能が変わった場合に対応できるように、適宜、GUIアプリケーション1を介してレール21,22間の画素数および枕木23間の画素数に関するモデル値の入力を受け付け、入力されたモデル値に応じて最小値フィルタのサイズを変更する。
【0064】
最小値フィルタは、先に説明したとおり、一辺の長さがレール21,22間の画素数より小さく、枕木23間の画素数より大きく、かつ周囲より暗い部位をレール21,22間の画素数の1/2より小さな幅をもって各方向に膨張させる大きさに設定されている。この実施例では、最小値フィルタをオルソ画像の全範囲にわたって走査して、各画素の変換後の濃度を決定する。
【0065】
図8は、図5に示したオルソ画像に最小値フィルタを適用する処理により生成された変換画像を模式的に示す。この画像では、各軌道20A,20Bが、それぞれレール21による2本の線状領域L1,L2の間に枕木22による線状領域L3が挟まれた形態の特徴パターンに変換される。ただし、この画像には、ビーム25や影24を反映したノイズN1,N2が出現するほか、各レールの周囲にも、微小な明暗差を反映したノイズ(図示せず。)が出現する。特に、ノイズN1,N2は、軌道20A,20Bの幅方向にまたがって発生するため、ベクトル鎖が分断される原因になる。
【0066】
1−2)線形特徴の抽出処理(ステップS12)
ステップS12では、最小値フィルタにより変換された画像を対象に、ラプラシアン・ガウシアンフィルタ(以下「LoGフィルタ」と略す。)を適用して、線形の特徴を抽出する。具体的には、変換後のレールや枕木の幅長さの1/2程度の値(図1〜3の例で言えば、2.5前後)がカーネルパラメータとして設定されたLoGフィルタを、変換後の画像に走査する。また、LoGフィルタからの出力を正負2種類のしきい値と比較し、出力が正のしきい値を上回った範囲と負の値を下回った範囲とを抽出し、その抽出結果を表す処理結果画像を生成する。
【0067】
LoGフィルタは、走査方向の前後より濃度が低い範囲に対応づけられたときには正の方向に変化するデータを出力し、走査方向の前後より濃度が高い範囲に対応づけられたときには負の方向に変化するデータを出力する。したがって、周囲より濃度が低いレール21,22に対応する線状領域の幅方向にLoGフィルタが対応づけられたときには、その対応範囲が正のしきい値により検出される。またレール21,22より濃度が高い枕木23に対応する線状領域L3の幅方向にLoGフィルタが対応づけられたときには、その対応範囲が負のしきい値により検出される。よって、LoGフィルタを画像の全範囲にわたって走査することにより、レール21,22および枕木23に対応する線状領域L1,L2,L3を検出することができる。
【0068】
ただし、このLoGフィルタは、単に濃度の変化に応じた処理を行うだけであるから、、ノイズN1,N2などの細長形状の特徴も検出されてしまう。
【0069】
1−3)軌道中心部の抽出処理(ステップS13)
この処理では、LoGフィルタの適用により生成された処理結果画像を対象に、鉄道用軌道に対応する特徴を特定し、さらにその特徴の中心部を抽出する。
【0070】
具体的には、処理結果画像の各画素に順に着目して、正のしきい値を超えた画素を検索する。そして、該当する画素Gが見つかると、図9に示すように、この画素Gを基準に、上下および左右ならびに斜め45度の各方向を検索方向に設定して、検索を実行する。
【0071】
この検索は、「正のしきい値を超えた画素がn個連続し、次に負のしきい値を超えた画素がm個連続し、さらに正のしきい値を超えた画素がn個連続している画素の配列を見つけること」を目的とする。n,mの値は、先の最小値フィルタの適用により変換されるレール21,22や枕木23の幅に応じて定められる。たとえば図1の例であれば、n=5,m=5となるが、誤差を考慮して、n,mとも所定の数値範囲を設定してもよい(たとえば4≦n≦6,4≦m≦6)。
【0072】
ステップS13では、正のしきい値を超えた画素Gを見つける都度、上記の4方向への検索を実行する。さらに条件にあてはまる画素配列が見つかると、その配列中の中央部の画素(具体的には、負のしきい値を超えた画素群中の中央位置にある画素およびその前後の3画素程度)を抽出する。これにより軌道の中心部に対応する画素群が検出される。また検索により検出された画素配列に含まれた画素は、以後の検索対象から除外される。
【0073】
図10は、上記の検索および検索により見つけた画素配列の中心部を抽出する処理の結果を示す。この処理結果は、具体的には、抽出された中心部を構成する画素を黒画素(値が「1」)とし、その他の画素を白画素(値が「0」)とする2値画像として表される。
【0074】
この処理により、1本の軌道の画像から生成された線状領域L1,L2,L3の組み合わせ毎に、その長手方向を表す黒画素群が抽出される。この段階でも、ノイズ成分による黒画素群も多少生成され、図中のD1,D2に示すように、軌道を表す黒画素群に途切れが生じている箇所もあるが、各線状領域L1、L2,L3が明確に現れている範囲での黒画素群は、殆ど途切れずに連なった状態となる。
【0075】
1−4)ノイズ除去(ステップS14)
このステップでは、中心部の抽出結果を表す画像(図10)を対象に、孤立点除去、膨張・収縮処理、端点・突起除去の各処理を実行する。いずれも、2次元画像のノイズを除去する方法としてよく知られたものであるが、以下に簡単に説明しておく。
【0076】
いずれの処理でも、3×3のフィルタを2値画像に走査し、フィルタ内の画像データが所定の条件を満たしたときに、中央の画素(以下、「着目画素」という。)の値を変更する。
【0077】
孤立点の除去処理では、図11に示すように、着目画素が「1」で、周囲8近傍の画素がすべて「0」であったとき、着目画素を「0」に変更する。
【0078】
膨張処理では、図12(a)に示すように、着目画素が「0」で、周囲8近傍に1つでも「1」の画素がある場合に、着目画素を「1」に変更する。収縮処理では、図12(b)に示すように、着目画素が「1」で、周囲8近傍に1つでも「0」がある場合に、着目画素を「0」に変更する。この実施例では、まず膨張処理を行った後に、膨張処理後の画像を対象に収縮処理を行うことにより、抽出された黒画素群を円滑にし、かつ微小なラインの途切れを復元するようにしている。
【0079】
端点の除去処理では、図13に示すように、着目画素が「1」で、周囲8近傍中に「1」の画素が1つしかない場合に、着目画素を「0」に変更する。突起の除去処理では、フィルタ内に図14の(a)〜(d)のいずれかのパターンが成立したときに、着目画素を「0」に変更する。端点や突起の除去処理も、中心部を表す黒画素群を円滑化することを目的とするものである。
【0080】
1−5)細線化処理(ステップS15)
このステップでは、ノイズ除去後の2値画像中の黒画素群を対象に、その画素群の中心線を抽出することによって、複数の画素を含む幅を持つ黒画素群を1画素幅の細線に変換する。
図15は、この処理により細線化された後の2値画像を示す。つぎの2次元ベクトル情報の生成処理は、この2値画像を対象に実施されることになる。
【0081】
(2)2次元ベクトル情報生成処理
2−1)チェーンコードの設定(ステップS21)
このステップは、上記の細線化された画像を対象に、黒画素の連なり状態をコード化するものである。具体的には、図16(1)に示すように、着目画素の周囲8近傍にそれぞれ0〜7のコードを割り当てるというルールに基づき、実際の着目画素に、それぞれその画素の連結状態に応じたコードを割り当てる。
【0082】
図16(2)は、黒画素群の連結状態の例と、この黒画素群から設定されたチェーンコードを対応づけて示す。このようなチェーンコードを生成するには、まず先頭の画素に着目して、この画素の周囲8近傍を検索して着目画素に連続する画素を見つけ、その連続状態に応じたチェーンコードをあてはめる。この後は、新たに見つけた画素に着目して、同じ処理を繰り返すことにより、図16(2)の下段に示すようなコードが生成される。
【0083】
2−2)2次元ベクトル鎖の生成(ステップS22)
ステップS22では、上記のチェーンコードを参照しながら、チェーンコードが表す黒画素群から所定数の2次元ベクトルの連結体(2次元ベクトル鎖)を生成する。
【0084】
図17は、先の図16(2)の黒画素群に対してステップS22の処理を実行した例を示す。この図に基づき説明すると、まず、先頭の画素および最後の画素をそれぞれ端点A,Bとしてベクトルf1を設定する(図17(1))。そして前出のチェーンコードを参照して、A−B間に含まれる各画素をたどりながら、各画素のベクトルf1に対する距離を算出し、この距離を所定のしきい値ERと照合する。
【0085】
ここで、上記の距離がしきい値ERを超える画素が見つかると、この画素を点Cとして、ベクトルf1を削除し、新たに点Aと点Cとを結ぶベクトルf2と、点Cと点Bとを結ぶベクトルf3とを設定する(図17(2))。
【0086】
これらのベクトルf2,f3についても、端点間にある各画素との距離を求める。そしてしきい値ERを上回る画素が見つかった場合には、上記と同様の手法でベクトルを分割する。一方、しきい値ERを上回る画素が見つからなかった場合には、その時点でのベクトルを確定する。
【0087】
図17の例の場合は、点Cを一方の端点として設定されたベクトルf2とベクトルf3のうち、ベクトルf3はそのまま確定される(図17(3))。一方、ベクトルf2については、このベクトルf2に対する距離がしきい値ERを超える画素が見つかったため、ベクトルf2を削除し、見つかった画素を点Dとして、点Aと点Dとを結ぶベクトルf4と、点Dと点Cとを結ぶベクトルf5とを設定する(図17(4))。ベクトルf4,f5に対する端点間の画素の距離は、いずれもしきい値ER以内となるので、これをもって、これらのベクトルを確定する(図17(5))。
【0088】
このように、がたついて連結していた黒画素群の連結構造を分析して複数のベクトルを設定することにより、2次元ベクトル鎖が生成される。この2次元ベクトル鎖の具体的な情報は、各端点の座標をベクトル毎に組み合わせたものになる。
なお、この段階の2次元ベクトルの向きは定まっていない。この後、ユーザがオルソ画像上で始点と終点とを指定すると、各ベクトルの始点に近い方の端点が始点に設定され、終点に近い方の端点が終点に設定されて、ベクトルの向きが特定される。
【0089】
(3)ベクトル推定処理
上記までの処理により、基本的な2次元ベクトル鎖が出来上がるが、この段階の2次元ベクトル鎖には、ノイズN1,N2などの影響により途切れた箇所が含まれる場合がある。このベクトル推定処理は、このような2次元ベクトル鎖の途切れを解消することを目的とするものである。
【0090】
3−1)2次元ベクトル鎖の結合(ステップS31)
この処理では、他のベクトルに連結されていない端点を有するベクトルのうち、条件にあてはまるもの同士を対象に、両者を結合するためのベクトルを補完する。
【0091】
図18は、ベクトルを結合する例を示す。
この実施例では、2つのベクトルa,bの結合について2つの条件を設定し、ベクトルa,bがこれらの条件を2つとも満たしていれば、ベクトルa,b間に、これらを結ぶベクトルcを補完するようにしている。
【0092】
具体的には、2つのベクトルa,bがほぼ平行であること、言い換えれば、各ベクトルa,bの方向の差が所定の角度範囲内になることを第1の条件とする。さらに、ベクトルa,bを結ぶ直線に対して各ベクトルa,bのなす角度θ1,θ2がそれぞれ所定のしきい値以上になる(ただし、180度以下)ことを第2の条件とする。
【0093】
後記するように、鉄道用軌道の向きは少なくとも20mは一定に保たれるように設定されている。したがって、2次元段階でも、20mに対応する範囲内でベクトルの方向が大きく変化することはない、という大前提に基づけば、第1の条件のしきい値を0度に近い値に設定し、第2の条件に関するしきい値を180度に近い値にするべきである。
【0094】
ただし、実際の画像では、オルソ画像の誤差、ノイズ、周囲の明暗などの影響によって、レール21,22や枕木23から変化した線状領域L1〜L3にがたつきが生じ、その影響で途切れ部分の前後のベクトル間の段差が大きくなる可能性がある。
【0095】
したがって図19に示すように、第2の条件に関する角度θ1,θ2(いずれも180度より小さい方の角度)が180度からかなり離れている場合でも、ベクトル間の距離が小さい場合には結合するのが望ましい。一方で、ベクトルa,b間の距離が比較的大きい場合には、これらのベクトルa,bが同じ軌道に対応するとは考えにくいから、結合対象から除外する必要がある。
【0096】
つぎに、単純に角度θ1,θ2が180度に近いものを優先して結合すると、図20に示すような問題が生じる。
図20は、2次元ベクトル鎖に複数の分断箇所がある例を示すものである。本来は、図20(1)に示すように、最も近いベクトル同士(ベクトルaとb、ベクトルbとc)を結合する必要があるが、角度θ1,θ2が180度に近い組み合わせを優先するようなロジックを設定すると、図20(2)に示すように、近い方のベクトルの組み合わせが無視されて、離れた位置にあるベクトルaとベクトルcとが結合される可能性がある。
【0097】
上記の問題点に鑑み、この実施例では、他のベクトルに連結されていない端点を有するベクトルを第1の条件を満たすもの毎に組み合わせ、組み合わせ毎に下記の[1]式により評価値V(a,b)を求め、評価値V(a,b)が高い順に、ベクトル間の結合を行うようにしている。ただし、評価値V(a,b)が所定のしきい値以下であったものは、結合対象から除外される。
【0098】
【数1】
【0099】
上記[1]式の意味について、図21を参照して説明する。[1]式では、ベクトルa,bを結ぶ直線mとベクトルaとのなす角度をθ1(a,b)とし、当該直線mとベクトルbとのなす角度をθ2(a,b)とする。なお、θ1(a,b),θ2(a,b)とも、ベクトルa,bと直線mとがなす角度のうち、180度以下になる角度を指す。また、D(x,y)はベクトルa,b間の距離である。
【0100】
[1]式中の右辺の分子の関数U(x)はx>0のときに1、x≦0のときに0となる単位ステップ関数である。この関数U(x)のxの部分に組み込まれているT(D(a,b))は距離D(a,b)に応じて値が変化する関数であって、角度θ1(a,b),θ2(a,b)に対するしきい値として機能する。さらに、この実施例では、この関数T(D(a,b))について図22に示す2通りの関数を設定し、距離D(a,b)の値に応じて使用する関数を切り替えるようにしている。
【0101】
図22によれば、T(D(a,b))はベクトルa,b間の距離が0のときに最小値の135度となり、D(a,b)が8mのときに173度となる。また、距離D(a,b)が8mに達するまでは、D(a,b)に比例する関係をもって増加するが、D(a,b)が8.0を超えた後は変化が緩やかになって、徐々に180度に近づく。
【0102】
[1]式によれば、角度θ1(a,b),θ2(a,b)のいずれか一方がT(D(a,b))以下になると、評価値V(a,b)は0となる。またθ1(a,b),θ2(a,b)の双方がT(D(a,b))より大きくなる場合には、V(a,b)は0より大きくなる。
【0103】
また、θ1(a,b),θ2(a,b)の値がともにT(D(a,b))より大きく、それぞれ一定の値をとる場合でも、距離D(a,b)が大きくなると、分母の[D(a,b)]2の影響により評価値V(a,b)が下がる。また、距離D(a,b)が8mを大きく上回ると、しきい値T(D(a,b))が180度に近づくため、θ1(a,b)やθ2(a,b)がT(D(x,y))より小さくなって、評価値V(a,b)が0となる可能性が高まる。すなわち、ベクトルa,b間の距離が大きくなると、これらの間の段差が殆どない状態でなければ、これらのベクトルa,bを結合することはできなくなる。
【0104】
これに対し、距離D(a,b)が8mより小さい場合には、しきい値T(D(a,b))が180度よりかなり小さくなるので、ある程度の段差があるベクトルでも、結合が許容される。よって、図19に示したような結合処理を実現することができる。
【0105】
また、[1]式の右辺の分子は、ベクトル間の距離の大小に関係なく、θ1(a,b),θ2(a,b)がしきい値T(D(a,b))より大きくなれば1になるのに対し、分母はベクトル間の距離D(a,b)が小さいほど値が小さくなり、これにより評価値V(a,b)が引き上げられる。また、分母中の[(180−θ1(a,b))+(180−θ2(a,b))+1]の部分は、θ1(a,b),θ2(a,b)が180度に近づくにつれて、小さな値となり、これにより評価値V(a,b)の値が引き上げられる。
【0106】
よって、あるベクトルに対し、θ1(a,b)およびθ2(a,b)がそれぞれしきい値T(D(a,b))を上回るようなベクトルの組み合わせが複数存在する場合には、これらの中で距離が最小になるものが結合対象となる。また、ベクトル間の距離が殆ど変わらない組み合わせが複数ある場合には、各ベクトルa,b間の段差がより小さい組み合わせが結合対象となる。したがって、先の図20(2)に示したような誤った結合が生じるのを防止することができる。
【0107】
3−2)始点・終点との対応づけ(ステップS32)
この処理は、ユーザが原画像(オルソ画像)の表示画面上で指定した始点および終点に対応する2次元ベクトル鎖を特定するものである。特定された2次元ベクトル鎖が始点や終点まで延びていない場合には、無理に補完せずに、抽出されている範囲での特定に留める。また複数の軌道の始点・終点が指定された場合には、指定されたもの毎に2次元ベクトル鎖を特定する。
なお、上記の始点・終点は、始点から終点に向かう方向が列車の進行方向に対応するように行われる。またこの指定により、各2次元ベクトルの向きも、列車の進行方向に対応する方向に確定される。
【0108】
(4)3次元ベクトル情報生成処理
4−1)3次元ベクトル鎖の生成(ステップS41)
この処理は、上記のステップS32により特定された2次元ベクトル鎖を対象に、DSM情報から、2次元ベクトル鎖に含まれる各ベクトルの始点、終点に対応する高さ情報(Z座標)を読み出し、各始点、終点に対応づける。また、ワールドファイルを参照して、始点および終点に対応するX,Y座標を特定する。これにより、ピクセル単位の2次元ベクトルは実際の地点や高さを表す3次元ベクトル鎖に変換される。
【0109】
4−2)ノイズ除去(ステップS42)
このステップS42では、3次元ベクトル鎖のノイズを除去する処理として、以下の2つの処理を実行する。
【0110】
まず1つ目の処理として、鉄道用軌道にはあり得ない勾配(35‰(パーミル)以上)を持つベクトルを3次元ベクトル鎖から除外する。具体的には、3次元ベクトル鎖に含まれる各3次元ベクトル毎に、下記の[2]式により、ベクトルの勾配を求める。[2]式中の各変数は、図23に示すように、ベクトルの始点、終点の座標である。また、算出された勾配は1km単位のものに換算される。
【0111】
【数2】
【0112】
つぎに、2つ目のノイズ除去処理として、先のステップS31で補完されたベクトルのうち、ベクトル長の短いベクトルを前後のベクトルに統合する処理を行う。ステップS31では、2次元ベクトルの連なりを完成させるために、短い途切れの前後のベクトル間の段差を許容して途切れ部分にベクトルを補完したが、元来、鉄道用軌道は滑らかに変化するはずであるから、短い間隔で向きが変化するベクトルに基づいて軌道プロファイルを生成すると、現実の軌道の特性に合わない情報が生成される可能性がある。
【0113】
そこでこの実施例では、ステップS31で補完されたベクトルに対応する3次元ベクトルの長さを算出し、この長さが所定の基準値以下であれば、図24に示すように、このベクトルを、前後のベクトルのうちの短い方と統合するようにしている。なお、図24は、3次元ベクトル鎖を上方から見たものである。
【0114】
さらにこの実施例では、上記の統合処理を行ったベクトルについて、同様に長さを算出して基準値との比較を行い、ベクトルの長さが基準値以下であれば、再度の統合処理を行うようにしている。以下、統合後のベクトルが基準値を上回る状態になるまで、上記の処理を繰り返す。
【0115】
上記の1番目のノイズ除去処理によれば、生成された3次元ベクトル鎖の中に、軌道以外の要素(ビーム25などによるもの)と連結しているベクトルがある場合には、その連結を断ち切って、3次元ベクトル鎖の精度を高めることができる。また2番目のノイズ除去処理によれば、3次元ベクトル鎖を、軌道に応じた滑らかな変化を表すものに補正することができる。よって、これらの処理により、以後の軌道プロファイルの生成処理を安定して行うことが可能になる。
【0116】
なお、2番目のノイズ除去処理は、軌道以外の要素により短い2次元ベクトル鎖が生成されている場合に、これを除外する目的に使用することもできる。また、2番目のノイズ除去処理は、3次元ベクトル鎖に対するものに限らず、ステップS31の結合処理後の2次元ベクトル鎖に対して行ってもよい。
【0117】
[軌道プロファイル生成エンジンによる処理について]
この実施例では、3次元ベクトル鎖中の各3次元ベクトルを分析して、ユーザにより指定された範囲内の鉄道用軌道を所定数の区間に分割する。そして、区間毎に、その区間内の軌道の特徴および制限速度を属性として設定し、これらの属性情報をまとめたデータファイルを軌道プロファイルとして出力する。
【0118】
図25は、軌道プロファイルの生成に関する処理の概略手順を示すフローチャートである。以下、このフローチャートの流れに沿って、各ステップ(S51〜57)の詳細な内容を説明する。
【0119】
5−1)カーブの向きの特定(ステップS51)
この実施例では、3次元ベクトル鎖中で連続する関係にあるベクトル間には、微小であっても軌道の長さ方向に変化が生じている点に着目し、始点側端縁のベクトル(以下、「先頭のベクトルという。)および終点側端縁のベクトル(以下、「最後のベクトル」という。)を除く各ベクトルがそれぞれ右カーブまたは左カーブに対応するものとして、そのカーブの向きが左右いずれであるかを特定する。
【0120】
具体的に図26を用いて説明する。この例も、3次元ベクトルを上方から見た状態を示すものであり、ベクトルβが着目中ベクトルで、ベクトルαが1つ前のベクトルである。また説明の都合上、各ベクトルα,βのなす角度を誇張して描いている。
【0121】
この実施例では、着目中のベクトルβおよび1つ前のベクトルαに、それぞれ垂直二等分線を設定し、これらの交点Pの座標を求める。以下、これらのベクトルα,βの方向が列車の進行方向に対応していることを利用して説明すると、図26の例に示すように、進行方向に対して左手に交点Pが現れた場合には、着目中のベクトルbに対応するカーブの向きを「左」と判定する。これに対し、進行方向に対して右手に交点Pが現れた場合には、着目中のベクトルβに対応するカーブの向きを「右」と判定する。
このように3次元ベクトル鎖の中の前後のベクトルの関係を利用して、カーブの向きを容易に特定することができる。なお、交点Pの座標は、ステップS54で使用するために、メモリ内に保存される。
【0122】
5−2)あり得ないS字曲線を補正(ステップS52)
鉄道用軌道では、安全を確保するために、進行方向の切り替えが生じた地点から次の切り替えが生じる地点までに、必ず20m以上の直線区間を設けるようにしている。ステップS52は、この特徴に対応していない3次元ベクトルを検出して、補正することを目的とするものである。
【0123】
具体的には、ステップS51の処理結果に基づき、カーブの向きが変更される地点を抽出し、この変更直後の3次元ベクトルの長さを算出する。ここで算出されたベクトルの長さが20m未満であれば、図27に示すように、このベクトルを前後いずれかのベクトルに統合する(統合の手法は先の図24の例と同様である。)。
【0124】
さらに、図25には示していないが、上記の統合処理が終了した後は、処理後の3次元ベクトル鎖を対象に、再びステップS51,S52を実行する。以下、カーブが変更された直後のベクトルの長さがすべて20m以上になるまで、同様の処理を繰り返す。これにより、3次元ベクトル鎖の精度をより高め、軌道以外の要因による短い3次元ベクトル鎖を除去することができる。
【0125】
なお、上記のステップS51,52は、軌道プロファイル生成エンジン3で行う処理に限らず、ベクトル化処理エンジン2側の3次元ベクトルのノイズ除去処理(ステップS42)に含めて行ってもよい。また、上記の20mをピクセル単位の情報に変換して、2次元ベクトル鎖のノイズ除去処理を行ってもよい。
【0126】
5−3)ベクトルの属性設定(ステップS53)
この処理では、S字曲線に関する補正が終了した3次元ベクトル鎖を対象にして、各ベクトルの属性を定める。ここでは、各ベクトルに直線または曲線の属性を設定するとともに、ステップS51で特定したカーブの向きも属性に含める。さらに曲線に分類されたベクトルについては、曲率を表すカーブ半径も属性として設定する。
【0127】
図28は、ベクトルの属性の設定に関する具体的手順を示すフローチャートである。
このフローチャートに沿って説明する。この処理でも3次元ベクトル鎖の始点側のベクトルを先頭として各ベクトルに順に着目し(ST101)、先頭および最後のベクトルを除く各ベクトルに対してカーブ半径を算出する(ST102,103)。
【0128】
図29は、カーブ半径の算出方法の具体例を示す。
この例でも、先の図26と同様に、ベクトルβを着目中のベクトルとする。ベクトルαはベクトルβの1つ前のベクトルであり、ベクトルγは1つ後のベクトルである。また図29(1)の例と図29(2)の例とでは、ベクトルγが表すカーブの向きが逆になっている。
【0129】
図中の点Pは、ベクトルβとベクトルαとの間で図26に示した処理を行うことにより求められた交点である。また点Qは、ベクトルγとベクトルβとの間で同様の処理を行うことにより求められた交点である。
【0130】
これらの交点P,Qに関しては、図29(1)に示すように各点が進行方向に対して同じ側に現れる場合と、図29(2)に示すように各点が進行方向に対してそれぞれ異なる側に現れる場合とがある。しかし、この実施例では、交点P,Qの関係に関わらず、いずれの場合でも、着目中のベクトルβに対する各点P,Qの距離を求め、これらのうちの短い方(図示例では(1)(2)とも点Qとの距離になる。)を、ベクトルβに対応するカーブ半径とする。
【0131】
上記において、交点Pとベクトルβとの距離は、ベクトルβの中点と1つ前のベクトルαの中点とが同じ円弧上に位置するとした場合の当該円弧の半径に相当する。また交点Qとベクトルβとの距離は、ベクトルβの中点と1つ後のベクトルγの中点とが同じ円弧上に位置するとした場合の当該円弧の半径に相当する。すなわち上記の処理は、ベクトルαとβとの組み合わせ、ベクトルβとγとの組み合わせにつき、それぞれその組み合わせが1つの曲線に対応するものとして当該曲線に近似する円弧の半径を求め、そのうちの短い方を着目中ベクトルが表すカーブのカーブ半径として特定するものである。後記するように、カーブ半径は制限速度の導出に用いられるので、安全性を確保するために、より急峻なカーブを表す円弧の半径を採用している。
【0132】
このようにして着目中のベクトルのカーブ半径が算出されると、つぎは、算出されたカーブ半径により図30のテーブルを参照する。このテーブルでは、カーブ半径の値を所定の範囲毎に区切って、各範囲にそれぞれ規格のカーブ半径として当該範囲内の最小のカーブ半径を対応づけている。
【0133】
ここで、算出されたカーブ半径が2200mより小さい場合(ST104が「NO」)には、着目中のベクトルの属性を曲線に設定する(ST105)。ついで、上記のテーブルを参照することによって、算出されたカーブ半径を規格のカーブ半径に置き換え、この規格のカーブ半径と先のステップS51で特定したカーブの向きを、着目中のベクトルの属性に追加する(ST106)。
【0134】
図30のテーブルでは、カーブ半径が2200m以上であれば、該当するベクトルを直線に相当するとしている。これに基づき、着目中のベクトルにつき算出されたカーブ半径が2200m以上であった場合(ST104が「YES」)には、このベクトルの属性を「直線」に設定する(ST107)。ただし、このベクトルは、先に述べた進行の方向の切り替え後の直線区間に相当する可能性があるので、この場合にも、カーブの向きをベクトルの属性に追加する(ST108)。
【0135】
なお、3次元ベクトル鎖の先頭のベクトルおよびベクトル鎖の最後尾のベクトル(以下、「最後のベクトル」という。)については、図29に示した方法によりカーブ半径を算出することができないので、属性を「直線」に設定する。また、図28のフローチャートには示していないが、先頭および最後のベクトルについては、カーブの向きに代えて、ベクトル鎖の先頭または最後であることを示す情報を属性として設定する。また、図28には示していないが、ベクトルの中に、カーブ半径が100m未満のものがあった場合には、処理を中止し、そのベクトルの情報を異常値として出力する。
【0136】
5−4)区間設定処理(ステップS54)
このステップS54では、上記の処理により属性が定まった3次元ベクトルに順に着目して、各ベクトルを所定数の区間にグループ分けする。具体的には、「直線」の属性を有するベクトルと「曲線」の属性を有するベクトルとを分類し、さらに「曲線」の属性を有するベクトルについては、カーブの向きが同じものが続く間、同じ区間に分類する。
以下、「直線」の属性を有するベクトルによる区間を「直線区間」といい、「曲線」の属性を有するベクトルによる区間を「曲線区間」という。
【0137】
図31は、区間設定処理の詳細な手順を示す。
この図を参照して説明すると、この例でも3次元ベクトル鎖の各ベクトルに、先頭から順に着目する。まず先頭のベクトルには、「直線」の属性が設定されているから、つぎのST202の判定は「NO」となり、着目中のベクトルによる直線区間を設定する(ST208)。なお、この直線区間には、着目中ベクトルに関する情報(始点および終点の座標)も属性として包含される。
【0138】
2番目以降のベクトルでも、「直線」の属性が設定されているものに対しては、上記と同様に、着目中のベクトルによる直線区間を設定する(ST208)。また、この場合には、着目中のベクトルに属性として設定されているカーブの向きが、区間の属性としても設定される。一方、着目中のベクトルに「曲線」の属性が設定されている場合には、1つ前のベクトルの属性によって処理内容が変動する。
【0139】
まず、1つ前のベクトルの属性が「直線」の場合(ST203が「YES」)には、着目中ベクトルを先頭とする新規の曲線区間を設定する(ST204)。この場合には、着目中ベクトルの始点、終点、およびカーブの向きが、この曲線区間の属性に組み込まれる。
【0140】
1つ前のベクトルの属性が「曲線」で、そのカーブの向きが着目中ベクトルと同じ場合(ST203が「NO」、ST205が「YES」)には、着目中ベクトルを1つ前のベクトルと同じ曲線区間に分類する。この場合も、着目中ベクトルの始点、終点、およびカーブ半径ならびにカーブの向きが、曲線区間の属性に追加される。
【0141】
1つ前のベクトルの属性が「曲線」で、そのカーブの向きが着目中ベクトルと異なる場合(ST203が「NO」、ST205が「NO」)には、着目中ベクトルの属性を、「曲線」から「直線」に変更し(ST207)、このベクトルによる新たな直線区間を設定する(ST208)。この場合にも、着目中ベクトルの始点および終点、ならびにこのベクトルに属性として設定されていたカーブの向きが、そのまま直線区間の属性に組み込まれる。
【0142】
前述したように、鉄道用軌道のカーブの向きが切り替えられた地点の後には、必ず20m以上の直線区間が存在する。上記ST207の処理は、この特徴を反映したものである。先のステップS52で20m未満のベクトルを統合する処理を行ったことにより、この時点で設定される直線区間は、必ず20m以上の距離を有するものとなる。
【0143】
よって、すべてのベクトルに対する処理が終了したとき(ST209が「YES」)には、鉄道用軌道の特徴を精度良く反映した区間を得ることができる。各区間には、直線/曲線およびカーブの向きを表す属性のほか、当該区間に含まれる3次元ベクトルの始点および終点の座標が包含される。
【0144】
5−5)ベクトルの勾配・長さの算出(ステップS55)
ステップS55では、各3次元ベクトルが表す勾配およびベクトルの長さを算出する。勾配については、ベクトル化処理のステップS42と同様に1km換算の勾配を算出する。長さの算出は、ベクトルの始点と終点との距離を求める演算により行われる。これらの算出結果は、各ベクトルの属性に追加される。
【0145】
さらに勾配に関しても、カーブ半径と同様に、複数のしきい値を用いて規格の値に変更する。具体的には、算出された勾配が1‰未満であれば、勾配を0‰(すなわち平坦面)とする。以下は、5‰の単位で各勾配に範囲を設定し、各範囲での最も急な勾配を規格の値として採用する。たとえば算出された勾配が1〜5‰の範囲に入る場合には、5‰を勾配として採用し、算出された勾配が5‰〜10‰の範囲に入る場合には、10‰を勾配として採用する。
【0146】
5−5)ベクトルの勾配・長さに基づく区間の再設定(ステップS56)
ステップS56では、ステップS54の処理により設定された各区間に順に着目し、着目中の区間に含まれる3次元ベクトルの勾配および長さに基づき、着目中の区間をさらに細かく分割する。
【0147】
図32は、勾配に基づいて区間を分割する例を示す。
この例は、同一の区間に含まれる6つのベクトルa,b,c,d,e,fを勾配に基づきグループ化するものである。ここでは、各ベクトルa〜fを、それぞれの規格の勾配に基づいてグループ分けし、1つ1つのグループをそれぞれ一区間とする。これにより、各ベクトルa〜fは、4つの区間A,B,C,Dに分割される。
【0148】
なお、上記の例では、上り勾配を対象にしたグループ分けを示しているが、下り勾配を対象にする場合も、同様の方法でグループ分けが行われる。また処理前の区間に上り勾配と下り勾配とが含まれる場合には、これらを別々の区間に分ける。
【0149】
このようにして勾配に基づく区間の再設定が行われると、さらに各区間毎に、区間内に属するベクトルの長さの総和を求める。そして、この長さの総和(区間の長さ)が1000m以上になる場合には、1000mより小さくなるように、区間を分割する。
【0150】
再設定された各区間には、それぞれ元の区間の属性(直線/曲線およびカーブの向き)や所属のベクトルの属性が引き継がれる。さらに各区間には、新たに、勾配の上り/下りの区分、規格の勾配、区間の長さの各情報が属性として追加される。
【0151】
5−6)制限速度の設定(ステップS57)
ステップS57では、上記ステップS56の処理により再設定された区間に、制限速度を設定する。具体的には、カーブ半径、勾配の上り/下り、および規格の勾配の組み合わせを複数設けて、これらの組み合わせと制限速度とを対応づけたテーブルが用意されており、このテーブルを参照することによって、着目中の区間の各ベクトルに対応する範囲毎に制限速度を決定する。そして決定された制限速度を、それぞれのベクトルの属性に追加する。
【0152】
さらに、各区間の接続地点のうちカーブの向きが変わる地点については、この地点の前後の所定範囲における制限速度がそれぞれ同じ区間内の他の箇所より低くなるようにするなど、1つ1つの区間における制限速度およびその適用範囲を細かく設定し直す処理を行う。そして、これらの再設定に応じて各区間の属性を更新し、処理を終了する。
【0153】
上記の処理により、最終的に、複数の区間について、直線/曲線の種別、勾配の上り/下りの種別、カーブの向き、勾配、区間の長さ、区間内に含まれるベクトルの情報などの属性が対応づけられる。また、各ベクトルの情報には、始点、終点の座標や長さのほか、制限速度が含められる。このような構成の軌道プロファイルにより、列車の進行方向、カーブを切り替える地点、制限速度およびその制限速度を適用すべき走行範囲などの情報を取得して、列車の走行制御に利用することが可能になる。
【0154】
[まとめ]
以上に説明したように、ベクトル化エンジン2では、オルソ画像中の鉄道用軌道を所定幅の3つの線状領域L1〜L3が幅方向に沿って並ぶ構成のパターン画像に変換した後に、この変換後画像にLoGフィルタを適用することにより、鉄道用軌道の特徴を容易に抽出することができる。また、各線状領域L1〜L3の幅方向の画素配列を抽出して、その中心部を抽出することにより、軌道の長手方向に沿うラインの連続性を確保する(切れ目が少ない。)ことができる。さらに、抽出した軌道の特徴をベクトル化して2次元ベクトル鎖を生成するので、オルソ画像を用いた画像処理のみで、軌道の経路を表す情報(2次元ベクトル鎖)を生成することが可能になる。また、ベクトル間の距離や位置関係によって値が変動する評価値V(a,b)を用いて2次元ベクトル鎖の途切れた箇所にベクトルを補完するので、2次元ベクトル鎖の精度をさらに高めることができる。
【0155】
さらに、ベクトル化エンジン2において、DSM情報を用いて2次元ベクトル鎖を3次元化した後に、軌道プロファイル生成エンジン3において、3次元ベクトル鎖のベクトル間の関係や個々のベクトルの特徴に基づく情報処理を行って、上記内容のプロファイルを生成するので、列車の走行制御に利用可能な情報を容易に生成することが可能になる。
【図面の簡単な説明】
【0156】
【図1】最小値フィルタによる変換処理の原理を説明する図である。
【図2】最小値フィルタによる変換処理の原理を説明する図である。
【図3】最小値フィルタによる変換処理の原理を説明する図である。
【図4】軌道プロファイル生成システムの機能ブロック図である。
【図5】オルソ画像中の鉄道用軌道に対応する範囲を模式化した図である。
【図6】図5の画像にベクトル化処理により生成された3次元ベクトル鎖を重畳した画像を模式化した図である。
【図7】ベクトル化処理の概略手順を示すフローチャートである。
【図8】図5のオルソ画像に最小値フィルタを適用する処理により変換された画像を模式化した図である。
【図9】3つの線状領域に対応する画素配列を抽出する方法を説明する図である。
【図10】画素配列の中心部の抽出結果を示す2値画像を模式化した図である。
【図11】孤立点除去処理の内容を示す図である。
【図12】膨張・収縮処理の内容を示す図である。
【図13】端点除去処理の内容を示す図である。
【図14】突起除去処理の内容を示す図である。
【図15】図10の2値画像の黒画素群を細線化した結果を模式化した図である。
【図16】チェーンコードの設定処理の内容を示す図である。
【図17】2次元ベクトル鎖の生成処理の具体例を示す図である。
【図18】ベクトルを結合する条件を説明する図である。
【図19】ベクトル間の距離によって結合の条件を変更する例を示す図である。
【図20】ベクトルの正しい結合例と誤った結合例とを対比して示す図である。
【図21】ベクトルの結合を判定するための評価値の演算式に用いられるパラメータを示す図である。
【図22】評価値の演算式に組み込まれるしきい値を表す関数のグラフである。
【図23】3次元ベクトルのデータ構成を示す図である。
【図24】3次元ベクトルに対するノイズ除去処理の例を示す図である。
【図25】軌道プロファイルの作成処理の概略手順を示すフローチャートである。
【図26】ベクトルが表すカーブの向きを特定する処理を説明する図である。
【図27】あり得ないS字曲線に対応するベクトルを補正する処理を説明する図である。
【図28】ベクトルの属性設定処理に関する手順を示すフローチャートである。
【図29】カーブ半径を算出する方法を説明する図である。
【図30】カーブ半径の算出値を規格のカーブ半径に置き換えるためのテーブルの内容を示す図である。
【図31】区間設定処理に関する手順を示すフローチャートである。
【図32】勾配に基づいて区間を再設定する処理を説明する図である。
【符号の説明】
【0157】
1 GUIアプリケーション
2 ベクトル化エンジン
3 軌道プロファイル生成エンジン
5 オルソ画像のデータファイル
10 3次元ベクトル情報
11 3次元ベクトル鎖
21,22 レール
23 枕木
L1,L2,L3 線状領域
【特許請求の範囲】
【請求項1】
鉄道用軌道を含む所定広さのエリアにつき生成されたオルソ画像から前記鉄道用軌道の経路を表す情報を生成する方法であって、
一辺の長さが画像中のレール間の画素数より小さく、枕木間の画素数より大きく、かつ周囲より暗い部位をレール間の画素数の1/2より小さな幅をもって各方向に膨張させる大きさの最小値フィルタを前記オルソ画像に適用することによって、各レールの幅が広がり、各レールの間で枕木間の間隔が消失して、各枕木が線状に連なった状態に変換された画像を生成する第1ステップと、
前記第1ステップの変換処理により生成された画像から、所定明るさの線状領域を中央にしてこの線状領域と当該領域より暗い2つの線状領域とが幅方向に沿って並んでいる特徴パターンを抽出する第2ステップと、
前記第2ステップで抽出された特徴パターンからその長手方向に沿うラインを生成し、生成されたラインが示す位置および方向の変化を数値化した情報を作成する第3ステップとを、
実行することにより、前記鉄道用軌道を表す情報を生成することを特徴とする、鉄道用軌道の経路情報の生成方法。
【請求項2】
前記第2ステップでは、前記変換処理により生成された画像にラプラシアン・ガウシアンフィルタを走査し、このフィルタからの出力を正負2種類のしきい値により照合して正のしきい値を上回る画素および負のしきい値を下回る画素をそれぞれ抽出し、その抽出結果を表す処理結果画像を作成し、
前記第3ステップでは、前記処理結果画像を対象に、負の値を下回る画素が所定数並ぶ範囲の両端にそれぞれ正の値を上回る画素が所定数並ぶ画素配列を検索するステップAと、前記検索により検出された画素配列の中央部を特定するステップBと、特定された中央部の連なり状態をベクトル化するステップCと、前記ベクトル化により設定された複数のベクトルを含むベクトル鎖情報を生成するステップDとを実行する、請求項1に記載された鉄道用軌道の経路情報の生成方法。
【請求項3】
前記ステップDには、他のベクトルに連結していない端点を具備する2つのベクトルの組み合わせのうち、両ベクトル間の方向の差が所定の許容値以内になるという第1条件と、これらのベクトル間を連結させる直線に対して両ベクトルがなす角度が所定のしきい値を上回るという第2条件とを満たす組み合わせを対象に、その組み合わせに係る2つのベクトルを結合するベクトルを補完するステップが含まれており、
前記ベクトルを補完するステップでは、第2条件のしきい値を、ベクトル間の距離が大きくなるほど180度に近づくように値を変動設定する、請求項2に記載された鉄道用軌道の経路情報の生成方法。
【請求項4】
前記オルソ画像の各画素にはそれぞれ高さ情報が対応づけられており、
前記ステップDでは、前記高さ情報に基づき、ベクトル化により設定された各ベクトルに対応する勾配を算出し、この勾配が所定の上限値を上回るベクトルをベクトル鎖から除外する、請求項2または3に記載された鉄道用軌道の経路情報の生成方法。
【請求項5】
鉄道用軌道を含む所定広さのエリアを対象に生成されたオルソ画像を入力する画像入力手段と、入力したオルソ画像から前記鉄道用軌道を表す情報を生成する画像処理手段とを具備する装置であって、
前記画像処理手段は、
入力対象のオルソ画像中のレール間の画素数および枕木間の画素数につき設定されたモデル値に基づき、一辺の長さが画像中のレール間の画素数より小さく、枕木間の画素数より大きく、かつ周囲より暗い部位をレール間の画素数の1/2より小さな幅をもって各方向に膨張させる大きさの最小値フィルタを設定して、この最小値フィルタにより前記オルソ画像を変換する画像変換手段、
前記画像変換手段により変換された画像から、所定明るさの線状領域を中央にしてこの線状領域と当該領域より暗い2つの線状領域とが幅方向に沿って並んでいる特徴パターンを抽出する特徴抽出手段、
前記特徴抽出手段により抽出された特徴パターンからその長手方向に沿うラインを生成して、生成されたラインの位置および方向の変化を数値化した情報を作成する数値化情報作成手段、
数値化情報作成手段により作成された情報、またはこの情報を加工したものを前記鉄道用軌道の経路を示す情報として確定する情報確定手段、
の各手段を具備する、鉄道用軌道の経路情報の生成装置。
【請求項6】
前記特徴抽出手段は、前記画像変換手段により変換された画像にラプラシアン・ガウシアンフィルタを走査し、このフィルタからの出力を正負2種類のしきい値により照合して正のしきい値を上回る画素および負のしきい値を下回る画素をそれぞれ抽出する手段と、この抽出結果を表す処理結果画像を生成する手段とが含まれており、
前記数値化情報作成手段には、前記処理結果画像を対象に、負の値を下回る画素が所定数並ぶ範囲の両端にそれぞれ正の値を上回る画素が所定数並んでいる画素配列を検索する検索手段と、検索により検出された画素配列の中央部を特定する中央部特定手段と、特定された中央部の連なり状態をベクトル化するベクトル化手段と、前記ベクトル化により設定された複数のベクトルを含むベクトル鎖情報を生成するベクトル鎖情報生成手段とが含まれている、請求項5に記載された鉄道用軌道の経路情報の生成方法。
【請求項7】
前記ベクトル鎖情報生成手段には、他のベクトルに連結していない端点を具備する2つのベクトルの組み合わせのうち、両ベクトル間の方向の差が所定の許容値以内になるという第1条件と、これらのベクトル間を連結させる直線に対して両ベクトルがなす角度が所定のしきい値を上回るという第2条件とを満たす組み合わせを対象に、その組み合わせに係る2つのベクトルを結合するベクトルを補完するベクトル補完手段が含まれており、
前記ベクトル補完手段は、第2条件のしきい値を、ベクトル間の距離が大きくなるほど180度に近づくように値を変動設定する、請求項6に記載された鉄道用軌道の経路情報の生成装置。
【請求項8】
前記オルソ画像の各画素に対応する高さ情報を入力する高さ情報入力手段を、さらに具備し、
前記ベクトル鎖情報生成手段には、入力された高さ情報に基づき、前記ベクトル化により設定された各ベクトルに対応する勾配を算出し、この勾配が所定のしきい値を上回るベクトルをベクトル鎖から除外する手段が含まれる、請求項6または7に記載された鉄道用軌道の経路情報の生成装置。
【請求項9】
請求項1に記載された装置において、
前記オルソ画像中のレール間の画素数および枕木間の画素数に関するモデル値の入力を受け付けるモデル値入力手段と、入力されたモデル値に基づき、前記最小値フィルタのサイズを変更するフィルタサイズ変更手段とを、さらに具備する鉄道用軌道の経路情報の生成装置。
【請求項10】
鉄道用軌道を含む所定広さのエリアを対象に生成されたオルソ画像から前記鉄道用軌道の経路を表す情報を生成する機能を、コンピュータに設定するためのプログラムであって、
入力対象のオルソ画像中のレール間の画素数および枕木間の画素数について、それぞれあらかじめ定められたモデル値に基づき、一辺の長さが画像中のレール間の画素数より小さく、枕木間の画素数より大きく、かつ周囲より暗い部位をレール間の画素数の1/2より小さな幅をもって各方向に膨張させる大きさの最小値フィルタを設定して、この最小値フィルタにより前記オルソ画像を変換する画像変換手段、
前記画像変換手段により変換された画像から、所定明るさの線状領域を中央にしてこの線状領域と当該領域より暗い2つの線状領域とが幅方向に沿って並んでいる特徴パターンを抽出する特徴抽出手段、
前記特徴抽出手段により抽出された特徴パターンからその長手方向に沿うラインを検出して、検出されたラインの位置および方向の変化を数値化した情報を作成する数値化情報作成手段、
数値化情報作成手段により作成された情報、またはこの情報を加工したものを前記鉄道用軌道の経路を示す情報として確定する情報確定手段、
の各手段として前記コンピュータを機能させることを特徴とする鉄道用軌道の経路情報の生成処理用のプログラム。
【請求項1】
鉄道用軌道を含む所定広さのエリアにつき生成されたオルソ画像から前記鉄道用軌道の経路を表す情報を生成する方法であって、
一辺の長さが画像中のレール間の画素数より小さく、枕木間の画素数より大きく、かつ周囲より暗い部位をレール間の画素数の1/2より小さな幅をもって各方向に膨張させる大きさの最小値フィルタを前記オルソ画像に適用することによって、各レールの幅が広がり、各レールの間で枕木間の間隔が消失して、各枕木が線状に連なった状態に変換された画像を生成する第1ステップと、
前記第1ステップの変換処理により生成された画像から、所定明るさの線状領域を中央にしてこの線状領域と当該領域より暗い2つの線状領域とが幅方向に沿って並んでいる特徴パターンを抽出する第2ステップと、
前記第2ステップで抽出された特徴パターンからその長手方向に沿うラインを生成し、生成されたラインが示す位置および方向の変化を数値化した情報を作成する第3ステップとを、
実行することにより、前記鉄道用軌道を表す情報を生成することを特徴とする、鉄道用軌道の経路情報の生成方法。
【請求項2】
前記第2ステップでは、前記変換処理により生成された画像にラプラシアン・ガウシアンフィルタを走査し、このフィルタからの出力を正負2種類のしきい値により照合して正のしきい値を上回る画素および負のしきい値を下回る画素をそれぞれ抽出し、その抽出結果を表す処理結果画像を作成し、
前記第3ステップでは、前記処理結果画像を対象に、負の値を下回る画素が所定数並ぶ範囲の両端にそれぞれ正の値を上回る画素が所定数並ぶ画素配列を検索するステップAと、前記検索により検出された画素配列の中央部を特定するステップBと、特定された中央部の連なり状態をベクトル化するステップCと、前記ベクトル化により設定された複数のベクトルを含むベクトル鎖情報を生成するステップDとを実行する、請求項1に記載された鉄道用軌道の経路情報の生成方法。
【請求項3】
前記ステップDには、他のベクトルに連結していない端点を具備する2つのベクトルの組み合わせのうち、両ベクトル間の方向の差が所定の許容値以内になるという第1条件と、これらのベクトル間を連結させる直線に対して両ベクトルがなす角度が所定のしきい値を上回るという第2条件とを満たす組み合わせを対象に、その組み合わせに係る2つのベクトルを結合するベクトルを補完するステップが含まれており、
前記ベクトルを補完するステップでは、第2条件のしきい値を、ベクトル間の距離が大きくなるほど180度に近づくように値を変動設定する、請求項2に記載された鉄道用軌道の経路情報の生成方法。
【請求項4】
前記オルソ画像の各画素にはそれぞれ高さ情報が対応づけられており、
前記ステップDでは、前記高さ情報に基づき、ベクトル化により設定された各ベクトルに対応する勾配を算出し、この勾配が所定の上限値を上回るベクトルをベクトル鎖から除外する、請求項2または3に記載された鉄道用軌道の経路情報の生成方法。
【請求項5】
鉄道用軌道を含む所定広さのエリアを対象に生成されたオルソ画像を入力する画像入力手段と、入力したオルソ画像から前記鉄道用軌道を表す情報を生成する画像処理手段とを具備する装置であって、
前記画像処理手段は、
入力対象のオルソ画像中のレール間の画素数および枕木間の画素数につき設定されたモデル値に基づき、一辺の長さが画像中のレール間の画素数より小さく、枕木間の画素数より大きく、かつ周囲より暗い部位をレール間の画素数の1/2より小さな幅をもって各方向に膨張させる大きさの最小値フィルタを設定して、この最小値フィルタにより前記オルソ画像を変換する画像変換手段、
前記画像変換手段により変換された画像から、所定明るさの線状領域を中央にしてこの線状領域と当該領域より暗い2つの線状領域とが幅方向に沿って並んでいる特徴パターンを抽出する特徴抽出手段、
前記特徴抽出手段により抽出された特徴パターンからその長手方向に沿うラインを生成して、生成されたラインの位置および方向の変化を数値化した情報を作成する数値化情報作成手段、
数値化情報作成手段により作成された情報、またはこの情報を加工したものを前記鉄道用軌道の経路を示す情報として確定する情報確定手段、
の各手段を具備する、鉄道用軌道の経路情報の生成装置。
【請求項6】
前記特徴抽出手段は、前記画像変換手段により変換された画像にラプラシアン・ガウシアンフィルタを走査し、このフィルタからの出力を正負2種類のしきい値により照合して正のしきい値を上回る画素および負のしきい値を下回る画素をそれぞれ抽出する手段と、この抽出結果を表す処理結果画像を生成する手段とが含まれており、
前記数値化情報作成手段には、前記処理結果画像を対象に、負の値を下回る画素が所定数並ぶ範囲の両端にそれぞれ正の値を上回る画素が所定数並んでいる画素配列を検索する検索手段と、検索により検出された画素配列の中央部を特定する中央部特定手段と、特定された中央部の連なり状態をベクトル化するベクトル化手段と、前記ベクトル化により設定された複数のベクトルを含むベクトル鎖情報を生成するベクトル鎖情報生成手段とが含まれている、請求項5に記載された鉄道用軌道の経路情報の生成方法。
【請求項7】
前記ベクトル鎖情報生成手段には、他のベクトルに連結していない端点を具備する2つのベクトルの組み合わせのうち、両ベクトル間の方向の差が所定の許容値以内になるという第1条件と、これらのベクトル間を連結させる直線に対して両ベクトルがなす角度が所定のしきい値を上回るという第2条件とを満たす組み合わせを対象に、その組み合わせに係る2つのベクトルを結合するベクトルを補完するベクトル補完手段が含まれており、
前記ベクトル補完手段は、第2条件のしきい値を、ベクトル間の距離が大きくなるほど180度に近づくように値を変動設定する、請求項6に記載された鉄道用軌道の経路情報の生成装置。
【請求項8】
前記オルソ画像の各画素に対応する高さ情報を入力する高さ情報入力手段を、さらに具備し、
前記ベクトル鎖情報生成手段には、入力された高さ情報に基づき、前記ベクトル化により設定された各ベクトルに対応する勾配を算出し、この勾配が所定のしきい値を上回るベクトルをベクトル鎖から除外する手段が含まれる、請求項6または7に記載された鉄道用軌道の経路情報の生成装置。
【請求項9】
請求項1に記載された装置において、
前記オルソ画像中のレール間の画素数および枕木間の画素数に関するモデル値の入力を受け付けるモデル値入力手段と、入力されたモデル値に基づき、前記最小値フィルタのサイズを変更するフィルタサイズ変更手段とを、さらに具備する鉄道用軌道の経路情報の生成装置。
【請求項10】
鉄道用軌道を含む所定広さのエリアを対象に生成されたオルソ画像から前記鉄道用軌道の経路を表す情報を生成する機能を、コンピュータに設定するためのプログラムであって、
入力対象のオルソ画像中のレール間の画素数および枕木間の画素数について、それぞれあらかじめ定められたモデル値に基づき、一辺の長さが画像中のレール間の画素数より小さく、枕木間の画素数より大きく、かつ周囲より暗い部位をレール間の画素数の1/2より小さな幅をもって各方向に膨張させる大きさの最小値フィルタを設定して、この最小値フィルタにより前記オルソ画像を変換する画像変換手段、
前記画像変換手段により変換された画像から、所定明るさの線状領域を中央にしてこの線状領域と当該領域より暗い2つの線状領域とが幅方向に沿って並んでいる特徴パターンを抽出する特徴抽出手段、
前記特徴抽出手段により抽出された特徴パターンからその長手方向に沿うラインを検出して、検出されたラインの位置および方向の変化を数値化した情報を作成する数値化情報作成手段、
数値化情報作成手段により作成された情報、またはこの情報を加工したものを前記鉄道用軌道の経路を示す情報として確定する情報確定手段、
の各手段として前記コンピュータを機能させることを特徴とする鉄道用軌道の経路情報の生成処理用のプログラム。
【図4】
【図7】
【図10】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図1】
【図2】
【図3】
【図5】
【図6】
【図8】
【図9】
【図11】
【図12】
【図13】
【図14】
【図7】
【図10】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図1】
【図2】
【図3】
【図5】
【図6】
【図8】
【図9】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2010−117662(P2010−117662A)
【公開日】平成22年5月27日(2010.5.27)
【国際特許分類】
【出願番号】特願2008−292356(P2008−292356)
【出願日】平成20年11月14日(2008.11.14)
【出願人】(000196587)西日本旅客鉄道株式会社 (202)
【出願人】(391039173)株式会社ジェイアール西日本テクノス (26)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
【公開日】平成22年5月27日(2010.5.27)
【国際特許分類】
【出願日】平成20年11月14日(2008.11.14)
【出願人】(000196587)西日本旅客鉄道株式会社 (202)
【出願人】(391039173)株式会社ジェイアール西日本テクノス (26)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
[ Back to top ]