説明

路面標示地図生成方法及び路面標示地図生成装置

【課題】 道路を走行しながら路面を撮影した画像から、路面標示を含む路面標示地図を生成する。
【解決手段】 道路を走行しながら路面をビデオカメラで撮影するとともに、各撮影地点の位置座標をGPS等で取得する。コンピュータは、この動画の各フレーム画像を変換して真上から見た状態の正射画像を生成し、撮影地点の位置座標に基づいて走行したパス上に配置することで、連結画像を生成する。次に、位置の異なる複数パス分の連結画像PIC54,PIC55内に共通して写されている対応点P53〜P56を画像処理によって自動的に特定する。そして、画像撮影時の位置精度が低い側のパスの対応点を、位置精度が高い側のパスの対応点に一致するように、連結画像を構成する各正射画像の配置を平行移動する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、道路面に施された標示が含まれる路面標示地図を生成する技術に関する。
【背景技術】
【0002】
カーナビゲーションなどで使用される電子地図データには、多様な機能を実現するため、種々の詳細なデータが要求されている。その一つとして、横断歩道や中央線、車線境界線などの路面に描かれる標示が挙げられる。これらの標示を予め画像として取得しておくことにより、ユーザに対して実際の路面に近い画像を提供することができ、直感的に理解しやすい案内を実現することが可能となる。
【0003】
標示を含む路面の画像を効率的に生成するための技術として特許文献1、特許文献2などが挙げられる。
特許文献1は、車両の前後又は側方に対してデジタルカメラ等により取得された画像から、路面の標示を含む静止画像を生成する技術を開示している。この技術では、目的の道路を車両で走行しながら、その車両に搭載されたデジタルカメラで路面の標示等を撮影する。そして、動画を構成する各フレーム画像を真上から見た状態の正射画像に変換し、撮影位置に応じて配列する。正射画像とは、道路の垂直上方の無限遠点に視点を置いた場合の道路画像をいう。複数のフレーム画像を配列することによって、1回の走行の軌跡に沿った道路面の合成画像を得ることができる。
【0004】
特許文献2は、2つの走行レーンを走行して撮影することにより得られた画像を合成して幅広の道路画像を合成する技術を開示している。この技術では、まず一つの走行レーンの画像に対して、道路の車線境界線など、本来、直線的に描かれているものが直線として表示されるようにアフィン変換をかける。そして、2つの走行レーンで共通して撮影されている車線境界線などの座標が一致するように、一方の走行レーンの画像をアフィン変換する。また、同様の方法によって、走行レーンごとに画像をアフィン変換しながら合成することによって3以上の走行レーンの画像を合成する技術も開示している。
【0005】
また、標示を含む路面の画像を生成する技術とは異なるが、複数の画像の合成技術として特許文献3が挙げられる。特許文献3は、空中から地上を撮影したビデオ映像から広域写真地図を作成するための技術を開示している。この技術では、複数の画像に共通して存在する被写体上の特徴点を抽出し、この特徴点の移動量を求める。そして、撮影時の位置・姿勢情報に応じた変換をかけた上でこれらの画像を合成する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−249103号公報
【特許文献2】特許第3820428号公報
【特許文献3】特開2006−195540号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
地図データには、経路探索用に道路をノード、リンクで表した道路ネットワーク、および地図を表示するために道路をポリゴンで表したデータなどがある。道路ネットワークでは、道路を1本又は2本のリンクで代表させているため、リンクに付された座標は、道路のいずれの部分を表しているか厳密には分からない。描画データでは、道路を表すポリゴンの外周の位置座標は分かるものの、道路内部の地点についての位置座標は分からない。
例えば、道路内部の各地点の位置座標が詳細に得られている地図データが存在すれば、車両の現在位置に応じて、車両が道路のどの車線を走行しているかを判断して、車線変更の案内を行うことや、車両に横断歩道が接近していることを警告するなどの高機能な案内を実現することが可能となる。
しかし、従来の地図データは、これらの高精度、高機能な案内を実現するためには不十分な精度しか有していなかった。仮に車両の現在位置を精度良く把握したとしても、その位置情報を活かすだけの詳細な地図データが用意されていたとはいえなかった。
【0008】
路面の標示は道路上の位置座標を豊富にするための目的物として適している。例えば、横断歩道や車線境界線の位置座標が得られていれば、上述した高機能な案内の実現に資することができる。
しかし、上述した従来技術は、いずれも道路面の合成画像を得ることを主目的としており、路面の標示の位置座標を得ることを目的としてはいなかった。
例えば、特許文献2の技術は、道路が直線か曲線かにかかわらず車両の進行方向をX軸とし、その移動距離をX座標として画像を表しているに過ぎず、このX軸に直交する方向にのみ画像をアフィン変換するに過ぎない。複数の走行レーンの画像について、このように定められたX座標が十分に一致しているという保証はないから、特許文献2の技術では路面の標示の位置座標を精度良く得ることはできない。
【0009】
また、アフィン変換は、原画像の長方形領域を平行四辺形に歪ませる作用を持つ変換ともいえるから、特許文献2の技術では、アフィン変換によって画像の合成を行うことにより画質の劣化を招き、路面の標示の位置座標を一層低下させるという課題もある。
一方、特許文献1記載の技術は、一本の移動軌跡について得られている画像に対する処理を開示しているのみであり、1回の撮影幅は1車線分程度に限られているから、幅広の道路では、道路全体を十分にカバーすることができない。
【0010】
本発明は、これらの課題を解決し、複数の生成対象道路のルートに対応するパスに沿って配置される画像を、高い位置精度で合成することによって、路面の標示が含まれる地図を生成することを目的とする。また、この合成をする際の処理負荷の軽減を図ることを目的とする。
【課題を解決するための手段】
【0011】
本発明は、道路面に施された標示が含まれる路面標示地図をコンピュータによって生成する路面標示地図生成方法として構成することができる。
本発明では、まず、コンピュータは、標示が施された道路面の連続画像の画像データ、およびこの画像データの撮影位置を表す位置座標データを入力する。連続画像の画像データおよび位置座標データは、路面標示地図の生成対象となる道路面と、生成対象外であるその他の道路面とを混在して撮影してあるものとする。
次に、コンピュータは、生成対象となる道路面に対応する領域を包含する切出用ポリゴンを入力又は生成して、記憶部に記憶する。この記憶部は、例えば、コンピュータに内蔵されているハードディスク等である。切出用ポリゴンは、オペレータによって指定されたものを入力してもよいし、コンピュータにより自動生成してもよい。
そして、コンピュータは、位置座標データが切出用ポリゴンの領域内に存在する画像データを抽出して、連続するフレーム画像として前記記憶部に記憶する。この記憶部は、上述の切出用ポリゴンを記憶した記憶部と物理的に異なるものであってもよい。
【0012】
一般に、道路を走行して路面表示地図を生成するための撮影を行う場合、生成対象となる道路のみを連続して走行できるとは限らない。例えば、生成対象の道路を走行していても、途中に工事箇所や障害物などがあり、迂回する必要が生じることもある。また、駐停車する場所がない道路では、道路脇の駐車場や、別の道路で撮影準備をしてから、生成対象となる道路に進入することになり、対象道路とは無関係の位置から撮影が開始されることもある。路面標示地図を生成する場合には、このように生成対象である道路面と、生成対象外であるその他の道路面とが混在して撮影されている連続画像から、生成対象の道路面に関するものだけを抽出する必要がある。
上述の方法によれば、生成対象外の画像データが排除されて、位置座標データが切出用ポリゴンの領域内に存在する画像データ等を自動的に抽出することができる。そのため、撮影者が道路を走行する際の自由度が増し、撮影時の負荷が軽減される。また、生成対象となる道路の画像データを抽出する際のオペレータの負荷も軽減される。
【0013】
また、抽出された画像データおよび位置座標データのうち、連続したフレーム画像をまとめて記憶する点でも負担軽減を図ることができる。例えば、生成対象となる道路に進入して撮影を行った後、生成対象外である他の道路に迂回して、再度、生成対象となる道路に進入した場合、最初の進入時に得られた一連のフレーム画像と、迂回後の進入時に得られた一連のフレーム画像とをまとめて関連づける。
上述の画像データは、例えば、車両などの移動体に搭載した撮影装置によって撮影することができる。撮影装置としては、例えば、ディジタル・ビデオ・カメラなどを用いることができる。また、撮影装置には、撮影時の位置座標データを取得する位置計測装置を搭載しておくことが好ましい。位置計測装置は、例えば、GPS(Global Positioning System)や、ジャイロなどの慣性航法装置などを単独又は組み合わせて用いることができる。また、処理の便宜上、撮影した画像と位置座標データとを入力し、両者を同期させて記録する記録装置を用意しておくことが好ましい。
【0014】
コンピュータは、連続するフレーム画像を変換して、道路面を真上から見た状態の正射画像を得る。正射画像は、各フレーム画像の一部を利用して生成してもよい。
そして、こうして得られた正射画像を位置座標データに基づいて道路面を表す連結画像を生成する。この際、正射画像の一部が重なってもよい。正射画像は、例えば、その中心線が後述するパスの進行方向に沿う状態で配置することが好ましい。
次に、コンピュータは、連続するフレーム画像に対応する位置座標データの点列を接続したラインをパスとして定義する。「パス」は、路面標示地図を生成する対象となっている道路において、任意の始点から任意の終点までを連結した架空のラインと表現することもできる。なお、実施例においては、実際に走行した道路の走行軌跡についても便宜的に「パス」と表現している場合もある。
こうすることで連結画像がパスの本数分だけ得られる。なお、それぞれ位置座標に誤差が含まれるため、複数本の連結画像は、誤差に応じて、ずれた状態で表示される。撮影対象が複数車線の道路である場合、車線ごとに移動して撮影してもよいし、いずれかの車線上を複数回移動して撮影してもよい。
【0015】
次に、コンピュータは、複数のパスのうち、2本以上のパス上に配置された正射画像に共通して撮影されている領域内で対応する対応点を、各連結画像の所定の特徴点を抽出する画像処理に基づいて特定する。例えば、2本のパスにおける連結画像に横断歩道が共通に撮影されている場合には、それぞれの連結画像において画像処理によって、横断歩道の縞模様のいずれかの角を特徴点として抽出する。そして、これらの特徴点のうち対応するものを対応点とする。対応点として使用する特徴点は、横断歩道に限らず、画像処理によって抽出された特徴点から任意に選択可能である。また、標示と無関係に特定するようにしてもよい。上述の処理によって特定された対応点同士のずれは、位置座標の誤差を表すことになる。
【0016】
コンピュータは、対応点の位置が一致するように、パス上に配置された連結画像を補正することで、複数のパスにまたがる道路面の合成画像を生成する。
この補正は、例えば移動ベクトルに基づいて行う。具体的には、連結画像を構成する領域ごとに平行移動することによって行う。この領域は、一旦、生成された連結画像を元の正射画像に相当するサイズ又は別の任意に設定されたサイズに分割したものでもよい。また、連結画像を生成する際に、正射画像を合成せずに配置するだけに留めておく場合には、正射画像ごとに位置を修正するようにしてもよい。
本発明の路面標示地図生成方法によれば、撮影時の位置座標データに基づいて各パスの路面を表す連結画像を生成することができるため、位置精度が確保された状態で連結画像を得ることができる。そして、複数のパスに存在する対応点が一致するように修正することによって、パス間の位置の誤差を解消することができる。
【0017】
また、各パスの合成は、連結画像を領域ごとに平行移動することによって行うため、各領域の正射画像に歪みを加えることなく位置を修正することができる。従って、この修正時には路面の標示は、各領域の正射画像内での相対的な位置精度を保持しておくことができる。
更に、各パスの合成に使用する対応点は、コンピュータが画像処理によって抽出した特徴点に基づき設定することができる。このため、オペレータが逐一、対応点を指定する必要がなく、軽い処理負荷で合成を行うことができる。もっとも、対応点の特定は、完全に自動化する必要はなく、コンピュータが特定した対応点に対し、オペレータが一部を修正、削除したり、他の対応点を追加したりできるようにしてもよい。
以上の作用によって、本発明によれば、撮影時の位置精度を確保した状態で、路面の標示を含む合成画像を得ることができる。従って、この合成画像を用いることにより、路面の標示を含む路面標示地図を生成することが可能となる。ここで、路面標示地図は、この合成画像を用いた印刷物として生成してもよいし、合成画像に基づき路面標示の位置座標を取得して、電子化することにより、電子地図として生成してもよい。
【0018】
切出用ポリゴンは、生成対象となる道路面に対応する、道路ネットワークデータを構成するリンク列に基づいて生成するようにしてもよい。
このように自動生成することにより、次に示すように、切出用ポリゴンを入力するオペレータの負担をより軽減することができるとともに、切出処理を安定的に実行することができる利点がある。なぜなら、切出処理の精度は、切出用ポリゴンの形状に依存する。例えば、切出用ポリゴンが生成対象となる道路面の領域を包含できていない場合、この欠けている部分では、本来、抽出されるべきデータが抽出されずに欠落してしまう。また、切出用ポリゴンが生成対象となる道路面よりも過大な場合には、生成対象となる道路と無関係の道路面についてのデータが誤って抽出されてしまう。上述の方法で切出用ポリゴンを自動生成すれば、オペレータの負担を軽減するだけでなく、これらの誤りを回避できるため、切出処理の安定化を図ることができる。
【0019】
リンク列からの切出用ポリゴンの生成は種々の方法で行うことができる。例えば、まず、リンク列を構成する各リンクを対称軸とする矩形状の矩形ポリゴンを生成する。この状態では、それぞれのリンクに対応した矩形ポリゴン同士を重ねたときに、接続点に接続される2つのリンクがなす角における鈍角側に凹部ができることがある。従って、この凹部を埋めて凸形状化する補助ポリゴンを生成する。そして、矩形ポリゴンと補助ポリゴンとを合成して、切出用ポリゴンを生成する。
かかる方法では、補助ポリゴンによって凹部を埋めるため、道路面に沿う形状で、道路面を包含する切出用ポリゴンを生成することができる。
【0020】
本発明において、連結画像から特徴点を抽出し、複数のパスの連結画像の対応点を特定する際、パスの位置精度が低い場合には、無関係の点を対応点としてしまうことも起き得る。例えば、各連結画像から車線境界線の角を特徴点として抽出した場合を考える。この場合は、複数の連結画像間で近くにある特徴点について、同じ車線境界線を表す点であると認識し、対応点として特定することになる。しかし、車線境界線は各車線に描かれているため、パスの位置精度が1車線に相当する程にずれていると、本来は対応していない隣車線の車線境界線を対応点として特定してしまうおそれがある。
【0021】
こうした弊害を回避するため、本発明では、対応点の特定に先立って、次の処理を含めてもよい。
まず、各パスに対応する連結画像の解析に基づいて撮影位置を求める。このように画像解析によって得られた撮影位置に基づき、撮影時に取得された位置座標データの位置精度の評価を行う。そして、所定の位置精度以下となる連結画像の位置座標データについては、解析によって得られた撮影位置に基づいて修正する。こうすることにより連結画像の位置精度を確保することができるから、対応点が誤って特定される可能性を抑制できる。
【0022】
連結画像の解析に基づいて撮影位置を求める方法としては、例えば、次の方法をとることができる。
まず、各パスに共通して含まれる道路との位置関係が固定された所定の地物を撮影したフレーム画像を抽出する。そして、各パスについて、抽出されたフレーム画像内での地物の2次元座標値と、撮影時の画角および撮影方向を含む撮影パラメータとに基づいて、地物と撮影位置との相対的な位置関係を求める。そして、各パスについて得られた位置関係を用いればパス間の距離を算出することができる。
一方、道路の撮影時に得られた位置座標データに基づいて、各パス間の距離を求めることもできる。
位置座標データが十分な位置精度であれば画像解析から得られたパス間の距離と、位置座標データから得られたパス間の距離は、概ね一致するはずである。従って、両者の比較によって位置座標データの位置精度を評価することができる。この結果、所定の位置精度に満たないと評価されたパスについては、画像解析から得られた位置関係に基づいて、位置座標を修正する。
ここでは、フレーム画像の解析から撮影位置を求める方法を採ったが、例えば、各パスの連結画像を用いて固定の地物と各パスの位置関係を求め、パス間の距離を算出するようにしてもよい。
【0023】
上述の固定の地物としては、例えば、信号機を用いることができる。信号機は発光体であるため、天候等の撮影条件に左右されずに比較的安定した色で撮影される。従って、色に着目することによって、フレーム画像から比較的容易かつ精度よく抽出することが可能だからである。また、信号機は比較的単純な外形をしているため、パターンマッチングにも適しており、画像データから相対的な位置関係を算出しやすいという利点もある。
なお、信号機を固定の地物として用いる場合には、位置関係の算出には、フレーム画像を用いることが好ましい。連結画像のように真上から見た状態の画像では、信号機を明瞭に認識することは困難だからである。
【0024】
本発明では、各パスの連結画像の特徴点を抽出することによって対応点を特定する。この特徴点の抽出は、いわゆる純粋の画像処理によって、例えば、明度、色相などが周囲と急激に変化する点などを抽出する方法を採ることができる。
また、本発明では、道路面を撮影した画像を対象としているため、各パスの連結画像に含まれる路面に描かれた標示の種別および位置を認識し、複数のパス間で、認識された同一種別の標示の特徴点に基づいて対応点を特定してもよい。
こうすることにより、簡易かつ精度良く特徴点を抽出することが可能となる。
【0025】
標示の認識には、例えば、次の方法で、パターンマッチングを用いることができる。
まず、二次元平面において予め設定された方向に、パス上の基準点からの距離を表す直線状の距離軸を定義する。この距離軸は、パターンマッチング用に用意されたパターンを配置するのに適した方向に定義する。そして、パスに沿った基準点からの距離に基づいて、フレーム画像を真上から見た状態に変換して得られた正射画像を距離軸上に配置することにより、各パスの路面を表す直線状の連結画像を生成する。こうして得られた連結画像に基づいて、路面に描かれた標示の種別および位置を認識する。こうすることにより、パターンマッチングの精度を向上させることができる。
【0026】
標示の認識結果に基づいて特徴点を抽出した後は、それぞれのパスから予め設定されている距離を越える点を除いて対応点を特定することが好ましい。対応点とは、パスを平行移動して複数パスにまたがる道路面の合成画像を生成する際の基準となる点である。上述の方法によれば、対応点を、パスから上記距離内にある比較的近傍の点に限定することができ、平行移動における位置合わせの精度向上を図ることができる。距離は合成画像に要求される位置精度に応じて、任意に設定可能である。例えば、道路の1車線分の幅などを用いることができる。
【0027】
また、特定された対応点については、更に次の方法による取捨選択を行ってもよい。
まず、特定された対応点のうち、パスごとに、そのパスから予め設定されている距離内にある対応点の集合を求める。つまり、多数得られた対応点のうち、第1のパスに対して比較的近傍(上記距離内)にある対応点のみを選択し、これを第1のパスに対するグループとして関連づける。また、第2のパスに対しても同様に、第2のパスの比較的近傍にある対応点のみでグループを形成する。なお、この距離についても任意に設定可能である。
【0028】
次に、各パスの集合に含まれる対応点の数が最多の集合を選択する。上述の第1のパスおよび第2のパスに関連づけたグループに含まれる対応点の数を比較し、いずれか多い側のグループを選択する。そして、合成画像の生成には、この選択された集合に含まれる対応点を用いる。
こうすることにより、第1のパス又は第2のパスに近い対応点のみを用いて合成画像が生成されることになる。こうすることによって、パスの平行移動の精度を、パスに沿ってほぼ均一に保つことができ、違和感のない合成画像を生成することが可能となる。
仮に、かかる取捨選択を行わずに合成画像を生成すると、第1のパスの近傍にある対応点と、そうでない対応点とが混在した状態で平行移動がなされるため、その精度がパスに沿ってまちまちとなり、平行移動後は、パスの形状がいびつに歪んでしまうなど、違和感のある合成画像となる場合がある。
【0029】
特定された対応点については、更に、次の取捨選択を行ってもよい。
フレーム画像の撮影位置はパスに沿って連続的に位置する訳ではなく間欠的に配置されている。このように配置される撮影位置のうち、CPUは、各パスに対して、抽出された各対応点の直前直後に位置する撮影位置を求め、これらの撮影位置を包含するポリゴンを求める。第1の対応点を第1および第2のパスに投影し、それぞれのパスについて、その直前直後の撮影位置(合計4点)を求め、第2の対応点についても同様にして撮影位置を求める。そして、これらの8点の撮影位置を包含するポリゴンを求める。
対応点ごとに、上述のポリゴンが得られると、次に、このポリゴン同士が重なる箇所では、いずれか一組の対応点を残し、他の対応点を削除する。いずれの対応点を残すかは、任意の方法を採ることができる。例えば、それぞれのパスに対する距離が最短となるものを残してもよいし、パスに沿う方向に前側に位置するもの、又は後ろ側に位置するものを残すようにしてもよい。
【0030】
上述のポリゴン同士が重なる箇所というのは、対応点同士がパスに双方向に近接して位置することを意味している。従って、かかる箇所で、一組の対応点だけを残すようにすることによって、パスに沿う方向に対応点を適度に間引くことができ、処理速度を向上させることができる。
本発明は、必ずしも上述した特徴を全て備えている必要はなく、適宜、その一部を省略してもよいし、いくつかの特徴を適宜、組み合わせて備えるようにしてもよい。
本発明は、上述の路面標示地図生成方法に限らず、この生成方法によって道路面に施された標示を含む路面標示地図を生成する路面標示地図生成装置として構成してもよい。
また、上述の生成方法をコンピュータに実現させるためのコンピュータプログラムとして構成してもよいし、かかるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体として構成してもよい。記録媒体としては、例えば、フレキシブルディスクやCD−ROM、光磁気ディスク、ICカード、ROMカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置(RAMやROMなどのメモリ)および外部記憶装置等、コンピュータが読み取り可能な種々の媒体を利用できる。
【発明の効果】
【0031】
生成対象の道路面と、生成対象外であるその他の道路面とが混在して撮影されている連続画像から、生成対象の道路面に関するものだけを自動的に抽出することができるため、オペレータの負荷を軽減することができる。
【図面の簡単な説明】
【0032】
【図1】実施例としての道路面撮影システムの構成を示す説明図である。
【図2】実施例としての路面標示地図生成装置の構成を示す説明図である。
【図3】路面標示地図の生成過程における中間データを示す説明図である。
【図4】実施例における道路画像の生成例を示す説明図である。
【図5】位置合わせ加工の概要を示す説明図である。
【図6】交差点が存在する場合の位置合わせの手順を示す説明図である。
【図7】連結画像生成処理のフローチャートである。
【図8】位置合わせ加工のフローチャートである。
【図9】基準パス設定処理のフローチャートである。
【図10】連結画像移動処理のフローチャートである。
【図11】位置合わせ加工の処理例(1)を示す説明図である。
【図12】位置合わせ加工の処理例(2)を示す説明図である。
【図13】位置合わせ加工の処理(2)の加工結果を示す説明図である。
【図14】路面標示の絶対位置座標の取得方法を示す説明図である。
【図15】透明化ポリゴン設定処理の概要を示す説明図である。
【図16】透明化ポリゴン設定処理のフローチャートである。
【図17】透明化ポリゴンを設定する前の道路画像例を示す説明図である。
【図18】透明化ポリゴンの設定後の道路画像例を示す説明図である。
【図19】自動位置合わせ処理のフローチャートである。
【図20】画像前処理のフローチャートである。
【図21】ギザギザ除去処理の処理例を示す説明図である。
【図22】エッジ太らせ処理の処理例を示す説明図である。
【図23】面領域の除去例を示す説明図である。
【図24】処理領域設定の様子を模式的に示す説明図である。
【図25】処理領域の設定例を示す説明図である。
【図26】対応点フィルタリング処理を示す説明図である。
【図27】対応点フィルタリング処理のフローチャートである。
【図28】図28は道路面撮影時の走行経路を例示する説明図である。
【図29】フレームデータ切出処理のフローチャートである。
【図30】補助ポリゴンの生成方法を示す説明図である。
【図31】ポリゴンの合成方法を示す説明図である。
【図32】切出用ポリゴンの変形例を示す説明図である。
【図33】フレームデータ選択処理のフローチャートである。
【図34】ペイント認識処理のフローチャートである。
【図35】縦配置処理の内容を示す説明図である。
【図36】相対座標変換処理の内容を示す説明図である。
【図37】対応点探索処理のフローチャート(1)である。
【図38】対応点探索処理のフローチャート(2)である。
【図39】グループ選択の効果を示す説明図である。
【図40】パスの位置修正の概要を示す説明図である。
【図41】パスの位置修正処理のフローチャートである。
【図42】信号機が写ったフレームデータの抽出例を示す説明図である。
【発明を実施するための形態】
【0033】
本発明の実施例について以下の順序で説明する。
A.システム構成:
A1.道路面撮影システム:
A2.路面標示地図生成装置:
B.処理概要:
B1.中間データ構成:
B2.処理例:
B3.位置合わせ加工概要:
C.路面標示地図生成方法:
C1.連結画像生成処理:
C2.位置合わせ加工:
C3.基準パス設定処理:
C4.連結画像移動処理:
C5.透明化ポリゴン設定処理:
D.自動位置合わせ処理:
D1.画像前処理:
D2.処理領域設定:
D3.対応点フィルタリング処理:
E.他の実施例:
E1.フレームデータ読み込み処理:
E2.特徴点抽出処理:
E3.対応点探索処理:
【0034】
A.システム構成:
本実施例では、車両に搭載したビデオカメラで撮影した道路面の画像を用いて、路面の標示を含む地図(以下、「路面標示地図」と呼ぶ)を生成する方法を示す。
本実施例のシステムは、道路面撮影システムと路面標示地図生成装置とを備える。道路面撮影システムは、道路を走行しながら道路面の画像をビデオカメラで撮影するシステムである。本実施例では、対象となる道路を、異なる走行軌跡で複数回走行し、それぞれ画像を撮影する。
路面標示地図生成装置は、道路面撮影システムで撮影された道路面の画像に基づいて路面標示地図を生成する装置である。まず、上述の各走行軌跡上に、撮影された画像を正射画像に変換した上で配置することで、道路面の一部の車線についての画像を生成する。そして、複数の走行軌跡の画像を、位置座標が整合するように配置することで道路全体の画像を生成する。
以下、道路面撮影システムと路面標示地図生成装置のシステム構成について説明する。
【0035】
A1.道路面撮影システム:
図1に示すように、道路面撮影システム100は、車両に搭載されたシステムである。ビデオカメラ120は、走行中の道路面の画像を撮影する。位置計測部110は、撮影中の位置座標を計測する装置である。位置計測部110は、GPS(Global Positioning System)114、IMU(InertialMeasurement Unit)116、DMI(Distance Measuring Instrument)118およびコントローラ112を備える。GPS114は、全地球測位システムである。IMU116は、内部に3軸のジャイロおよび加速度センサを備えた慣性計測装置である。DMI118は、車輪の回転を検出して移動距離を計測する装置である。
【0036】
コントローラ112は、GPS114、IMU116、DMI118からの信号を受け、撮影時の位置座標を逐次出力する。位置座標は任意の座標系を採ることができるが、本実施例では、緯度経度および標高を用いた。
また、これらの信号の取得後、位置座標の計測精度の評価値である自己推定位置精度σを併せて出力する。一般にGPS114は、位置座標の検出に使用される人工衛星の配置、電波の受信状況、建造物などに反射した電波を受信することによるマルチパスの有無などによって検出精度が変動することが知られている。またディファレンシャル測位では、基準局の稼働状況によっても検出精度は影響を受ける。
自己推定位置精度σは、任意に定義可能である。例えば、GPS114の人工衛星の配置によって定まる精度低下率(DOP(Dilution of Precision))を用いて自己推定位置精度σを算出するようにしてもよい。また、自己推定位置精度σは、取得されたデータを後述する路面標示地図生成装置で処理する際に、解析するようにしてもよい。
【0037】
記録装置130は、ビデオカメラ120および位置計測部110の出力信号を同期して記録する。本実施例では、記録装置130は、汎用のパーソナルコンピュータに、記録用のハードディスク140を増設した装置によって構成した。ハードディスク140内には、図示する通り、画像データ142、同期データ144、計測データ146が記録される。画像データ142は、ビデオカメラで撮影された画像の動画ファイルである。計測データ146は、位置計測部110で得られた位置座標である。同期データ144は、画像データ142と計測データ146との取得時刻を対応づけるデータである。同期データ144および計測データ146を参照することにより、画像データ142のフレームごとに撮影地点の位置座標を得ることができる。
【0038】
撮影時の記録用のデータ構造は、上述した構造に限られない。例えば、計測データ146は、画像データ142の各フレームの位置座標を順次、格納するデータとしてもよい。こうすることにより、同期データ144を省略することが可能となる。かかるデータを取得するためには、例えば、記録装置130がビデオカメラ120のフレームごとに同期信号を位置計測部110に出力し、そのときの位置座標を取得する方法を採ることができる。
【0039】
図の上方に、車両に搭載した状態を模式的に示した。
ビデオカメラ120は、前方画像を撮影できるよう、車両の前方に設置する。画角を広げるために広角レンズを装着してもよい。
GPS114のアンテナ114Aは、車両のルーフ上部に設置する。本実施例では、GPS用の人工衛星からの電波を確実に受信し、十分な位置精度を確保することができるよう、アンテナ114Aを車両の前後に主副の2台設置した。いずれか一台のみを用いるものとしてもよい。
IMU116、DMI118、コントローラ112は、それぞれ車両の後部に設置した。DMI118は、後輪の回転を検出可能に装着されている。
記録装置130およびハードディスク140は車室内の任意の場所に設置可能であるため、図示を省略した。
【0040】
A2.路面標示地図生成装置:
図2に示す路面標示地図生成装置は、道路面撮影システムで撮影された道路面の画像に基づいて路面標示地図を生成するための装置である。本実施例では、完全に自動で路面標示地図を生成するのではなく、適宜、オペレータからのコマンドによる指示を受けながら対話型又は半自動で処理を進める方法を採用した。
図2には、路面標示地図生成装置200の機能ブロックを示した。本実施例では、路面標示地図生成装置200は、図示する各機能を実現するためのコンピュータプログラムを、汎用のパーソナルコンピュータにインストールすることによってソフトウェア的に構築した。これらの機能ブロックの一部は、OS(Operating System)によって提供してもよい。また、これらの機能ブロックは、それぞれハードウェア的に構成することも可能である。また、ここでは説明の便宜上、スタンドアロンで稼働する装置として説明するが、各機能ブロックをネットワークで接続された複数のコンピュータに分散して用意してもよい。
【0041】
主制御部201は、各機能ブロックを統合制御する。データ入力部204は、道路面撮影システム100で取得した各種データを記録したハードディスク140から、画像データ142、同期データ144、計測データ146を入力する。本実施例では、ハードディスク140を道路面撮影システム100から路面標示地図生成装置200に接続し直すことによって、これらのデータを受け渡す方法を採ったが、ネットワーク経由でデータを送信する方法や、DVDなどの記録媒体を用いてデータを受け渡す方法を採ってもよい。計測データには、位置計測部110で得られた位置座標が含まれるから、データ入力部204は、本発明における入力部に相当する。
【0042】
コマンド入力部202は、コンピュータに備えられたキーボードやマウスなどの操作を介して、オペレータからのコマンドを入力する。
表示制御部203は、コンピュータのディスプレイに、路面標示地図生成装置200での処理結果を表示したり、オペレータが種々のコマンドを指示するための画面を表示したりする。コマンド入力部202、表示制御部203の機能は、コンピュータのOS(Operating System)によって提供してもよい。
【0043】
軌跡データ算出部205は、計測データ146に基づき、画像データ142を撮影したときの走行軌跡を表すデータを生成する。本実施例では、軌跡データ算出部205は、道路面撮影システム100によって得られる位置座標を記録した計測データ146に対して、位置座標が既知の基準局から提供されている検出情報に基づく補正を施すことによって軌跡データを生成する。基準局の情報を用いて位置座標を補正する技術は周知であるため、説明を省略する。この処理によって位置座標の精度を向上させることが可能となる。
もっとも、基準局からのデータを用いることは必須ではない。計測データ146で得られた位置座標をそのまま用いるものとしてもよい。かかる場合には、軌跡データ算出部205は省略することも可能である。
【0044】
画像変換部206は、正射投影、即ち画像データ142の各フレーム画像を真上から見た状態に変換して正射画像を生成する。
連結画像生成部としての1パス合成部207は、画像変換部206によって得られた各フレーム画像の正射画像を、その正射画像内の代表点が、撮影時の位置座標に基づいて定まる位置座標に来るように配置することによって、撮影時の走行軌跡に沿った道路面の画像を合成する。こうして合成された画像を、連結画像と呼ぶものとする。合成された連結画像は、記憶部としての処理データ記憶部210に保存される。
本実施例では、それぞれの道路に対して、異なる走行軌跡で、複数回走行して、撮影を行う。1パス画像合成部207は、それぞれのパスごとに合成画像を生成する。この結果、連結画像は、パスの本数に応じて、複数生成される。
なお、撮影対象が複数車線の道路である場合、車線ごとに1回ずつ移動して撮影してもよいし、いずれかの車線上を複数回移動して撮影してもよい。前者の場合は、車線とパスとが1対1に対応することになる。後者の場合は、パスと車線とが複数対1に対応することになる。本実施例では、特に断らない場合には、各車線について1回ずつ走行した場合、つまり車線とパスとが1対1に対応している場合を例にとって説明する。
【0045】
合成画像生成部としての位置合わせ処理部220は、1パス画像合成部207で生成された複数の連結画像を、位置合わせ処理、即ち連結画像間の位置座標の誤差を修正して路面の画像が整合するように配置する処理を行うことで、道路全体の正射画像(以下、「道路画像」と呼ぶこともある)を生成する。位置合わせ処理は、オペレータからの指示に応じて行う。処理内容は後述する。
位置合わせで得られた道路画像は、処理データ記憶部210に保存される。
対応点特定部および豪勢画像生成部として機能する自動位置合わせ処理部222は、上述の位置合わせ処理部220の機能を自動で行う。自動位置合わせ処理部222と位置合わせ処理部220とを併用しているのは、連結画像が自動処理に適さない場合には、オペレータが手動で位置合わせ処理を行うことができるようにしておくのが好ましいからである。
【0046】
透明化ポリゴン設定部221は、得られた道路画像上に、オペレータの指示によって、透明化ポリゴンを設定する。上述の位置合わせを行う際には、隣接するパスに対応する正射画像の一部が重なり合うことがある。そして重なった部分では、下側に配置された正射画像の方に、路面標示が鮮明に写されている場合もある。透明化ポリゴンは、このような場合に、下側の画像が表示されるように上側の正射画像の一部を透明化する処理を施す領域を指定するためのポリゴンである。透明化ポリゴンを設定することにより、路面標示を正確に把握可能な地図を提供することが可能となる。
路面標示地図生成装置は、以上で生成された道路画像に基づいて路面標示地図を出力することができる。例えば、道路画像を印刷可能なファイルとして出力してもよい。また、路面標示地図を電子地図として生成するように、道路画像を電子データとして出力してもよい。また、これらの出力に先立って、道路画像に基づいて路面標示の位置座標や形状データを取得する処理を行うようにしてもよい。
【0047】
B.処理概要:
B1.中間データ構成:
図3に示す路面標示地図の生成過程における中間データは、順次、処理データ記憶部210(図2参照)に記憶される。本実施例では、道路を走行しながらビデオカメラ120および位置計測部110で取得したデータが記録装置130としてのパーソナルコンピュータによってハードディスク140内に格納されている。格納されるデータとしては、画像データ142、計測データ146、および両者の同期をとるための同期データ144がある。
【0048】
計測データ146は、撮影時の位置座標データの記録である。本実施例では、基準局データ150を参照して、計測データ146を補正することにより、軌跡データ210aを算出する。これは、先に図2で説明した軌跡データ算出部205が行う処理である。基準局データ150は、位置座標が既知の基準点におけるGPSでの検出結果を表すデータであり、例えば、国土地理院が提供している基準点データなどを用いることができる。ここで得られた軌跡データ210aは、以下、それぞれの処理において、道路面の画像を撮影した際の軌跡を緯度経度、高度からなる絶対座標で表すデータとして利用される。
【0049】
一方、画像データ142、同期データ144、軌跡データ210aからは、路面テクスチャ210cが生成される。また、同期データ144と軌跡データ210aから、路面軌跡データが生成される。
本実施例では、各道路を複数回走行して、道路面の画像を撮影する。従って、路面軌跡データ210bおよび路線軌跡データ210bは、各道路に対して複数パス分、生成されることになる。
【0050】
路面テクスチャ210cおよび路線軌跡データ210bを用いて、連結画像210dが生成される。連結画像210dは、図2中の1パス画像合成部207によって生成される画像である。つまり、連結画像210dとは、路線軌跡データ210bで表される位置座標に基づき、各路面テクスチャ210cを配置することによって生成される各パスの路面画像である。連結画像210dも、各道路に対して複数パス分、生成されることになる。
連結画像210dは、路面テクスチャ210cを結合した一つの画像ファイルとして生成することもできる。本実施例では、後に続く処理の便宜上、合成画像として生成するのではなく、路面テクスチャ210cを配置して連結画像210dを生成するための情報(以下、「登録データ」と呼ぶこともある)を、路面テクスチャ210cの各画像と対応づけて格納するものとした。かかる情報には、路面テクスチャ210cを配置する位置座標、配置する際の姿勢(角度)、および隣接する路面テクスチャ210cを特定する情報、隣接する路面テクスチャ210cとの上下関係などを含めることができる。
【0051】
こうして得られた連結画像210dを用いて、位置合わせおよび透明化ポリゴン設定などの処理を行う。これらの処理は、図2の位置合わせ処理部220、透明化ポリゴン設定部221が行う処理である。この処理によって、複数パス分の連結画像210dを合成して、道路ごとに道路画像210eを得ることができる。
道路画像210eについても、合成画像として生成してもよいし、路面テクスチャ210cを配置して道路画像210eを生成するための情報を、路面テクスチャ210cの各画像と対応づけて格納するようにしてもよい。本実施例では、後者の方法を採用した。それぞれの路面テクスチャ210cを配置する位置座標、配置する際の姿勢(角度)などの情報は、道路画像用登録データ210fとして保存されている。また、位置合わせの過程で、路線軌跡データ210bに対して、位置誤差を修正する処理が施されるため、この原データに対する修正過程を表す情報を、軌跡用登録データ210gとして保存する。
【0052】
この他、連結画像210dのデータ(路面テクスチャ210c、路線軌跡データ210bを含む)も併せて保存する。原データである画像データ142、軌跡データ210aも保存しておくことが好ましい。仮に、合成画像化された形で連結画像210dを保存している場合には、道路画像210eは、連結画像210dを合成することになるため、合成の繰り返しで原データに比較して画質が劣化するおそれがある。これに対し、本実施例のように、路面テクスチャ210cも含めて、原データに近いデータを残しておくことにより、これらのデータを利用して道路画像210eを生成することが可能となる。従って、合成の繰り返しなど、画像データに重畳的に画像処理が施されることを抑制でき、道路画像210eの画質を向上させることが可能となる。
【0053】
B2.処理例:
次に、本実施例における処理の概要理解を容易にするため、処理例を示す。
図4(a)中の直線L41〜L44は、それぞれ道路面撮影システム100で走行しながら道路画像を撮影した際の走行軌跡を表している。図4(a)のPIC41は、パスL43を走行して得られた画像データに基づいて生成された連結画像である。本実施例では、広角レンズを用いて撮影しているため、1回のパスでも複数車線を覆うだけの連結画像を得ることができている。連結画像の両端が、のこぎり刃状にギザギザになっているのは、画像データの各フレームを正射投影した際に生じる形状歪みの影響である。この連結画像PIC41は、ギザギザの山数に応じたフレーム数の正射画像(路面テクスチャ)を配置して生成されている。
このような連結画像は、図中のパスL41〜L44のそれぞれに対して得られる。
【0054】
図4(b)は、パスL41〜L44に対する連結画像を合成して得られた道路画像PIC42を示している。図4(a)よりも幅広く、反対車線まで含めて道路画像が生成されていることが分かる。複数パスの連結画像を合成する際、各パスの位置座標に誤差があると、連結画像間にずれが生じる。これらのずれが存在すると、図4(b)中の横断歩道、車線境界線などの標示も途中でずれた状態で表示されてしまう。本実施例では、各パスの連結画像間の位置座標の誤差を修正しつつ合成を行う。この処理を位置合わせと呼ぶ。このように位置合わせを行って連結画像を合成することにより、図4(b)に示すように、横断歩道、車線境界線などの標示が整合した道路画像を得ることができる。
【0055】
B3.位置合わせ加工概要:
図5は位置合わせ加工の概要を示す説明図である。本実施例では、複数の連結画像に共通して撮影されている対応点の位置を合わせるように、連結画像を平行移動することによって位置合わせを行う。本実施例では、対応点を自動認識して位置合わせする方法と、オペレータが対応点を標示に基づいて指定して位置合わせを行う方法の双方を採ることができる。以下では、まずオペレータが対応点を指示した場合を例にとって処理内容を説明する。
図5(a)には対応点が1つだけ指定された場合の処理方法を示した。図中には、2本の連結画像PIC51、PIC52が描かれている。これらには、それぞれ菱形の標示、つまり横断歩道の予告標示が含まれている。ただし、図5(a)左側の状態では、連結画像PIC51、PIC52には相対的に位置誤差があるため、標示の位置がずれている。
【0056】
オペレータは、この表示画面を見ながら、マウス等のポインティングデバイスを用いて対応点を指定する。図の例では、横断歩道の予告表示の頂点に当たるP51、P52を指定した状態を示した。これらの対応点P51、P52は、連結画像PIC51、PIC52に位置誤差がなければ、本来、同じ位置に重なるはずの点である。そこで、本実施例では、対応点P51、P52が一致するよう、図中に矢印で示すように連結画像PIC51、PIC52を平行移動させる。
この際、連結画像PIC51、PIC52の一方を基準とし、他方を平行移動する方法を採った。図の例では、連結画像PIC51を基準とし、連結画像PIC52を移動させた例を示している。このように移動することにより、予告標示のずれが解消した状態の道路画像PIC53を得ることができる。
【0057】
図5(b)には対応点が複数指定された場合の処理方法を示した。図中には、2本の連結画像PIC54、PIC55が描かれている。これらには、それぞれ横断歩道の予告標示が含まれている。但し、図5(b)の左側の状態では、連結画像PIC54、PIC55には相対的に位置誤差があるため、標示の位置がずれている。
この状態で、オペレータが、2組の対応点を指定したとする。対応点P54、P53の組と、対応点P56、P55の組である。連結画像PIC54では、連結画像PIC55に含まれる予告標示M52は全体が描かれており、連結画像PIC54に含まれる予告標示M51は一部が消えている。このような状態であっても、対応点P55、P56が対応することは明らかであるため、対応点として指定することは可能である。
このように複数組の対応点が指定されると、連結画像PIC54を基準として、それぞれの対応点が一致するように、連結画像PIC55を移動させる。ただし、対応点P53をP54に一致させるための第1の移動量と、対応点P55をP56に一致させるための第2の移動量とが同じであるとは限らない。そこで、対応点P53とP55との間の領域では、第1の移動量、第2の移動量を直線補間して、各点の移動量を設定する。こうすることにより、予告標示のずれが解消した状態の道路画像PIC56を得ることができる。
【0058】
図5(b)中には、透明化ポリゴンの設定例も併せて示した。
この例では、連結画像PIC54中の予告標示M51は半分が欠けている。この状態で位置合わせを行うと、この例では、連結画像PIC54をPIC55の上側に重ねるように表示しているから、連結画像PIC55の予告標示M52は、連結画像PIC54によって覆い隠されてしまう。この結果、連結画像PIC55では完全な状態で描かれている標示M52を道路画像PIC56で活かすことができない。
そこで、このような場合に、オペレータの指示によって予告標示M52を取り囲むように透明化ポリゴンTP50を設定する。透明化ポリゴンTP50が設定された箇所では、上側の連結画像が透明化され、切り取られたように表示される。この結果、透明化ポリゴンTP50の部分では、連結画像PIC54の下側に配置された連結画像PIC55に描かれている予告標示M52が表示される。
本実施例では、このように透明化ポリゴンを設定可能とすることによって、それぞれの連結画像で描かれている標示を、道路画像においても有効活用することができる。
【0059】
図6は交差点が存在する場合の位置合わせの手順を示す説明図である。図の煩雑化を避けるため、ここでは連結画像のパスの位置関係のみを示した。図中には、2つの交差点周辺の道路が描かれている。縦の道路では、それぞれパスBP61、BP62に沿って連結画像が得られているとする。横の道路については、破線で示したパスBP63b、BP64b、NP61bに沿って連結画像が得られているとする。
本実施例では、複数のパス間の位置合わせを行う際には、いずれか一つのパスを基準パスに設定し、他のパスを平行移動して基準パスに合わせる。基準パス以外のパスを、以下、標準パスと呼ぶものとする。基準パスおよび標準パスは、任意の方法で設定可能であるが、本実施例では、後述する通り、位置精度が高いものを基準パスとして設定している。
【0060】
図6の例では、縦の道路については、それぞれ単一のパスしか存在しないため、パスBP61、BP62が基準パスとなる。
横の道路については、区間D61ではパスBP63bとNP61bのうち位置精度が高い側を基準パスとし、区間D62についてはBP64bとNP61bのうち位置精度が高い側を基準パスとする。ここでは、それぞれパスBP63b、BP64bが基準パスとして設定されているものとする。更に、パスBP63b、BP64b間の位置精度を比較して、優劣を決める。パスBP63b、BP64bはそれぞれ区間D61、D62の基準パスではあるが、一本の道路に配置された連続するパスなので、これらのパス間でも位置合わせを行う必要があるからである。図6の例では、パスBP63bの方が、パスBP64bよりも位置精度が高いものとする。
この結果、横のパスについては、基準パスBP63b>基準パスBP64b>標準パスNP61bの順に位置合わせの優先度が定まる。
【0061】
次に、上述の優先度に従って、それぞれのパスの位置合わせを行う。縦のパスBP61、BP62は既に位置合わせが完了しているものとする。
まず、基準パスBP63bの位置合わせを行う。オペレータの指示によって、基準パスBP63b上の対応点P63bが指定され、その本来の位置として、点P63aが指定されたとする。この結果、基準パスBP63bは、対応点P63bが、点P63aに一致するように移動され、実線で示した基準パスBP63aが得られる。
図示を省略したが、基準パスBP63bに対応した連結画像も基準パスBP63aに合わせて移動する。本実施例では、基準パスBP63bに沿って路面テクスチャを配置することによって連結画像を表示しており、これらの路面テクスチャを合成してはいない。従って、基準パスBP63aへの移動が行われた場合には、基準パスBP63aに沿うように、各路面テクスチャの位置を平行移動することによって、基準パスBP63aの連結画像を得ることができる。
【0062】
次に、基準パスBP64bの位置合わせを行う。オペレータの指示によって、基準パスBP64b上の対応点P65b、P64bが指定され、その本来の位置として、点P65a、P64aが指定されたとする。この対応点は、基準パスBP63aの連結画像に基づいて指定されている。つまり、基準パスBP63bを基準パスBP63aに位置合わせする処理の結果に応じて、基準パスBP64bの位置合わせは影響を受けることになる。
対応点が指定されると、基準パスBP64bは、対応点P65b、P64bが、点P65a、P64aに一致するように移動され、実線で示した基準パスBP64aが得られる。これに合わせて、基準パスBP64bの連結画像を構成していた路面テクスチャも、それぞれ基準パスBP64a上に平行移動される。
【0063】
最後に、標準パスNP61bの位置合わせを行う。オペレータの指示によって、標準パスNP61b上の対応点P68b、P67b、P66bが指定され、その本来の位置として、点P68a、P67a、P66aが指定されたとする。この対応点は、基準パスBP63a、BP64aの連結画像に基づいて指定されている。つまり、基準パスBP63bを基準パスBP63aに位置合わせする処理、および基準パスBP64bを基準パスBP64aに位置合わせする処理の結果に応じて、標準パスNP61bの位置合わせは影響を受けることになる。
対応点が指定されると、標準パスNP61bは、対応点P68b、P67bが、点P68a、P67aに一致するように移動されるとともに、対応点P67b、P66bが、点P67a、P66aに一致するように移動される。これらの3点は一直線上にはないから、結果として、標準パスNP61bは、折れ線状の標準パスN61aに移動される。これに合わせて、標準パスNP61bの連結画像を構成していた路面テクスチャも、それぞれ標準パスNP61a上に平行移動される。
【0064】
本実施例では、図6に示すように複数のパスが存在する場合には、以上で説明した手順によって、位置精度が高いパスから優先的に位置合わせが行われる。こうすることによって、全体の位置精度を十分に確保しつつ位置合わせを行うことができる。
例えば、図6の処理において、位置精度が低い順、つまり標準パスNP61b、基準パスBP64b、基準パスBP63bの順に位置合わせをしたとする。この場合には、基準パスBP64bの位置合わせは、標準パスNP61bの位置合わせの影響を受け、位置精度が低下する。基準パスBP63bの位置合わせは、標準パスNP61b、基準パスBP64bの位置合わせの影響を受け、位置精度が低下する。従って、位置精度が低い順に位置合わせを行うと、パス間の相互作用によって全体の位置精度が低下してしまう。
本実施例では、これとは逆に、位置精度が高い順に位置合わせを行う。従って、最も位置精度が高いパスの位置精度を劣化させることなく、全体の位置合わせを行うことが可能となる。
【0065】
C.路面標示地図生成方法:
以下、図1〜6で説明した路面標示地図の生成方法について、詳細に説明する。
まず、連結画像生成処理、つまり図3中の路面テクスチャ210c、路面軌跡データ210bに基づいて各パスの連結画像210dを得る処理について説明する。
次に、位置合わせ加工、つまり複数パスに対する連結画像210dの位置合わせを行う処理、および位置合わせ加工の中で行われる基準パス設定処理、連結画像移動処理について説明する。ここでは、まずオペレータが対応点を指示する場合を例にとって説明する。そして、透明化ポリゴンの設定処理について説明する。最後に、位置合わせ加工を自動的に行うための処理、即ち自動位置合わせ処理について説明する。
【0066】
C1.連結画像生成処理:
図7は連結画像生成処理のフローチャートである。ハードウェア的には路面標示地図生成装置200のCPUが実行する処理である。これは、図2に示した画像変換部206、1パス合成部207の処理に相当する。
処理を開始すると、CPUは、まずフレームデータを読み込む(ステップS10)。フレームデータとは、道路面撮影システム100(図1)のビデオカメラ120で撮影された画像データ142を構成する各フレームの画像である。
【0067】
図中にフレームデータの例を示した。ビデオカメラ120は、道路面撮影システム100の前方に向けて設置されているため、フレームデータには、車両の前方の道路、前方車両などが写っている。本実施例では、道路面の画像を生成したいため、このフレームデータの一部の領域を切り出して使用する。図中の領域A71は、道路面のみが含まれるように設定された切り出し領域を現している。本実施例では、車両の前方5〜7mの領域の画像を取得するように領域A71を設定した。領域A71の各フレーム内での相対的な位置は一定である。
領域A71は、上述の例に限らず、任意に設定可能である。ビデオカメラ120が一定のフレームレートで画像を撮影するため、フレームデータは、道路面を間欠的に撮影した画像群となる。従って、領域A71は、間欠的に撮影された画像群を並べたときに、道路が連続画像として再現できるように範囲を決定することが好ましい。例えば、領域A71の縦幅を狭くすれば、車両の速度が速い場合には、あるフレームデータから切り出された領域と、次のフレームデータから切り出された領域との間に隙間が生じやすくなる。一方、領域A71の縦幅を広くすれば、前方車両や空、建物など、道路画像とは異なる雑多な映像が含まれやすくなる。領域A71は、これらの影響を考慮した上で、設定すればよい。
【0068】
次に、CPUは、取得されたフレームデータを正射画像(路面テクスチャ)に画像変換する(ステップS12)。図中に処理の概要を示した。上側にはフレームデータの例である。ここでは路面の状態のみが撮影され、道路の左右の車線境界線L71、L72および標示M7が写されている例を示した。前方を撮影した画像であるため、パース(遠近法)の影響で、本来平行な車線境界線L71、L72が、ハの字状に写されている。
先に説明した通り、このフレームデータの一部の領域A71を切り出して使用する。
下段には、領域A71の画像を正射投影変換した状態を例示した。道路を真上から見た画像に変換するため、左右の車線境界線L71、L72は図示する通り、平行な線分に変換される。標示M7も同様に真上から見た状態の形状に変換される。
【0069】
正射投影変換の方法を説明する。
まず、道路面撮影システム100を搭載した車両は水平面上を走行しており、被写体である道路も同一水平面上にあるものとする。
このとき、道路画像、即ちフレームデータの画面上の2次元座標をm=[u,v]とする。また、地面に固定された世界座標系の3次元座標をM=[X,Y,Z]とする。これらの各座標に1の要素を直積で加えたベクトルを、次式(1)の通り定義する。
【0070】
【数1】

【0071】
3次元座標Mと、その投影画像の2次元座標mとの関係を以下の関係式(2)(3)によりモデル化する。
【数2】

【0072】
ここで、sはスケール・ファクター;
[Rt]は、外部パラメータ行列;
Rは回転行列;
tは平行移動行列;
Aは内部パラメータ行列である。
【0073】
内部パラメータ行列Aは、ビデオカメラ120の焦点距離等を考慮した内部的なパラメータであり、実画像座標系(xy座標系)からフレーム座標系(uv座標系)への写像パラメータを表す。
α、βはそれぞれu軸、v軸方向のスケール因子、γは2つの画像軸のスキューにより表されるパラメータ;
[u0,v0は、画像の主点の座標(主点座標)である。
画像のピクセルサイズを(k、k)、u軸とv軸とのなす角をθ、焦点距離をfとすると、α、β、γは次式(4)で表される。
【0074】
【数3】

【0075】
外部パラメータ行列[Rt]は、ビデオカメラ120の設置位置、設置姿勢などによる外部的なパラメータであり、世界座標系(XYZ座標系)から実画像座標系(xy座標系)への写像パラメータを表す。世界座標系は、ビデオカメラ120の真下の路面を原点とし、車両の進行方向に対し垂直な水平軸をX軸、鉛直軸をY軸、進行方向の水平軸をZ軸とする。
平行移動ベクトルtは、世界座標系において原点に対する実画像の画像主点の移動ベクトルである。
ビデオカメラ120の高さ(実画像の画像主点の高さ)をhとすると、平行移動ベクトルtは次式(5)で表される。
【0076】
【数4】

【0077】
また、世界座標系において、実画像のヘディング方向の回転角(ヨー角)をφ、ピッチ角をω、ロール角をκとすると、回転行列Rは次式(6)で表される。
【数5】

【0078】
内部パラメータ行列Aは、事前の測定によって得られる。
ヨー角φ、ピッチ角ω、ロール角κおよび画像主点の高さhは、次の手順で得られる。まず、初期状態、即ち車両が水平な地面に設置されている状態において、ヨー角φ0、ピッチ角ω0、ロール角κ0、および高さh0の基準値を計測しておく。次に、走行中には逐次、車両の姿勢角の変化および車高の変化をジャイロ、加速度センサ等で記録しておき、上述の基準値にこの変化を反映することで、各地点でのヨー角φ、ピッチ角ω、ロール角κおよび高さを得ることができる。
【0079】
正射投影変換は、これらのパラメータに基づき、式(2)を用いることにより、行われ、フレーム座標系(uv座標系)の道路画像を、世界座標系(XYZ座標系)の投射道路画像に変換することができる。その手順は次の通りである。
まず、被写体である道路面を水平面(Y=0)の画像であると仮定する。このとき、式(2)より、次式(7)の関係が成立する。
【0080】
【数6】

【0081】
この結果、ピクセル(u,v)に対する世界座標(X,Z)およびスケールパラメータsは次式(8)により求めることができる。
【数7】

【0082】
次に、路面標示地図生成装置200のCPUは、被写体である道路面の傾斜を考慮した補正を行う。
まず、フレームデータを取得した各地点の位置座標データ(X,Y,Z)と、被写体である道路面付近の複数点の位置座標(X,Y,Z)とから、被写体である道路面の勾配を計算する。本実施例では、勾配は一様であるものと仮定した。
具体的には、撮影地点の世界座標点(X,Y,Z)付近の位置座標データから、高さの変化Δhを求める。つまり、Δh=Y−Yである。このとき、一様な勾配を仮定すると、道路面上の世界座標系(X’,Y’,Z’)の点の奥行きZ’は次式(9)で求めることができる。
【0083】
【数8】

【0084】
補正した道路面上の奥行きZ’が決まると、式(2)より、フレーム座標点(u,v)と世界座標点(X’,Y’,Z’)との関係は次式(10)の通りとなる。
【数9】

【0085】
これより、世界座標点のX’,Y’を次式(11)によって計算することができる。
【数10】

【0086】
以上の通り、フレームデータ上の点(u,v)を、それぞれ(X’,Z’)に写像すれば、正射画像(路面テクスチャ)を得ることができる。図7中に示すように、フレームデータを矩形の領域A71で切り出した上で正射投影すると、上方が広がる台形状の正射画像(路面テクスチャ)A72が得られる。
本実施例では、後に続く処理の便宜のため、正射画像(路面テクスチャ)を低解像度/高解像度の2通りで生成するものとした。高解像度の正射画像(路面テクスチャ)(以下、「高解像度画像」と呼ぶ)は、もとのフレームデータの切り出し領域A71をそのまま利用して生成された画像、即ち原画像と同じ解像度で生成された画像である。低解像度の正射画像(路面テクスチャ)(以下、「低解像度画像」と呼ぶ)は、解像度を原データよりも下げた画像である。低解像度画像の解像度は、路面標示地図生成装置200が軽い負荷で画像を表示することができる程度の値とすることが好ましく、原画像の解像度の半分など、任意に設定可能である。
【0087】
次に、路面標示地図生成装置200のCPUは、得られた正射画像(路面テクスチャ)を配置して1パス画像の合成を行う(ステップS14)。図中に1パス画像合成の例を示した。この例では、正射画像(路面テクスチャ)A72[0]〜A72[5]が合成されている。
各正射画像(路面テクスチャ)A72は、フレーム座標系(uv座標系)の原点に対応する点を、各フレームデータの撮影時の位置座標に基づいて配置すればよい。フレームデータは車両の位置よりも前方を写したものであるため、正射画像(路面テクスチャ)は、フレームデータ毎に車両位置とフレーム座標系の位置関係を計算して配置する。また、正射画像(路面テクスチャ)は、時系列的に古い画像から新しい画像に順次、配置するものとした。
【0088】
このように正射画像(路面テクスチャ)を配置することによって、道路面の車線境界線L71、L72および標示M7が再現される。
本実施例では、連結画像生成処理の段階では、正射画像(路面テクスチャ)を1枚の画像に結合することなく、配置して表示する状態に留めている。従って、1パス画像合成処理(ステップS14)で生成されるのは、合成画像ではなく、各正射画像(路面テクスチャ)の配置を決定する情報となる。もっとも、この処理において、正射画像(路面テクスチャ)を1枚の画像に結合する方法を採ることもできる。
【0089】
C2.位置合わせ加工:
図8は位置合わせ加工のフローチャートである。ハードウェア的には路面標示地図生成装置200のCPUが実行する処理である。これは、図2に示した位置合わせ処理部220の処理に相当する。
処理を開始すると、CPUは、まず処理の対象となる道路(以下、「対象道路」ともいう)についてのオペレータからの指定を入力する(ステップS20)。そして、対象道路に対応する連結画像を入力する(ステップS22)。本実施例では、それぞれの道路について、走行位置を変えながら複数回走行して、路面画像を撮影している。従って、各走行に対応するパスに基づいて、それぞれ連結画像が生成されている。ステップS22では、これらの複数の連結画像を読み込む。
【0090】
次に、CPUは基準パスを設定する(ステップS30)。基準パスとは、複数のパスの位置合わせをする際に、基準となるパスである。本実施例では、対象道路に対応するパスのうち、位置精度の評価値、即ち自己推定位置精度が最も高いものを選択する。基準パスの設定方法については、後述する。
基準パスが設定されると、CPUはオペレータの操作に従い、各パスについて対応点を設定する処理を行う(ステップS40)。
本実施例では、図中に示すように、基準パスおよび標準パスの連結画像をディスプレイに表示し、オペレータが、マウスなどのポインティングデバイスを操作して、この画面内で対応点を設定するという方法を採った。図の例では、標準パスの画像内で菱形をした横断歩道予告標示の頂点を対応点として指定し、次に、これに対応する頂点を基準パスの画像内で指定する例を示した。対応点は、1点に限らず、複数の点を指定可能である。
【0091】
本実施例では、この連結画像の表示には、低解像度画像を用いる。こうすることにより、対応点を指定する際に、表示の移動、拡大・縮小を円滑に行うことができ、作業効率を高めることができる利点がある。
対応点が指定されると、CPUは、対応点同士が一致するように、標準パスの連結画像を基準パスの連結画像に合わせるよう移動する処理を行って、位置合わせ加工を終了する(ステップS50)。
先に説明した通り、本実施例では、連結画像は一枚の合成画像として生成されている訳ではなく、正射画像(路面テクスチャ)を配置して表示している。従って、ステップS50の処理では、それぞれの正射画像(路面テクスチャ)を移動することで、連結画像の移動処理が行われる。移動処理と併せて、それぞれの正射画像を低解像度画像から高解像度画像に置換する処理が行われる。高解像度画像を用いて、正射画像を再配置する処理を行うものとしてもよい。
連結画像移動処理の内容は、後で詳述する。
【0092】
C3.基準パス設定処理:
図9は基準パス設定処理のフローチャートである。位置合わせ加工(図8)のステップS30に相当する処理であり、複数のパスの位置合わせをする際に、自己推定位置精度が最も高いものを基準パスとして設定するための処理である。
CPUは、処理を開始すると、対象道路の各パスについて、フレーム画像が取得されている各地点での位置精度を入力する(ステップS31)。撮影時には、図中に示すように、パスにそって点P91,P92、P93等でフレーム画像を撮影するとともに、各点ごとに東西方向の位置精度AC1、南北方向の位置精度AC2が記録されている。
【0093】
一般にGPS114は、位置座標の検出に使用される人工衛星の配置、電波の受信状況、建造物などに反射した電波を受信することによるマルチパスの有無などによって検出精度が変動することが知られている。またディファレンシャル測位では、基準局の稼働状況によっても検出精度は影響を受ける。位置精度は、これらの影響を定量的に評価したものである。位置精度は、任意に定義可能であり、例えば、精度低下率(DOP(Dilution of Precision))等を用いてもよい。
【0094】
CPUは、各点の位置精度に基づいて、パスごとに自己推定位置精度σを算出する(ステップS32)。
自己位置推定精度は、GPSと、IMU、DMI等とのずれに基づいて定まる値としてもよい。この場合は、例えば、ずれ量の標準偏差を用いてもよい。また、東西方向の標準偏差の自乗と、南北方向の標準偏差の自乗の和を求め、この平方根を自己位置推定精度として用いてもよい。このように、GPSと、IMU、DMI等のずれ量に応じた値とする場合には、自己位置推定精度は、ずれが大きい程、大きい値となる。つまり、自己推定位置精度は値が小さい方が、精度が高いことを示す評価値となる。
各パスの自己推定位置精度σが得られると、CPUはこの値が最小となるパスを基準パスとして設定する(ステップS33)。対象道路に対して単一のパスしか存在しない場合には、無条件にそのパスが基準パスとして設定されることになる。この基準パスの自己推定位置精度をσとする。
【0095】
ステップS33で設定された基準パスの自己推定位置精度σが、所定の閾値σTHよりも低い場合には(ステップS34)、基準パス設定処理を終了する。
これに対し、自己推定位置精度σが、所定の閾値σTH以上の場合には、エラー表示を行って(ステップS35)、処理を終了する。この場合には、基準パスの位置精度が十分確保されていないことを意味するため、位置合わせ処理を行っても、位置精度が十分に保証されないからである。
所定の閾値σTHは、上述の通り、路面標示地図として確保すべき位置精度に基づいて任意に設定可能である。
【0096】
エラー表示(ステップS35)を行うか否かの判断対象となるのは、基準パスの自己推定位置精度σのみとした。他の標準パスについては、自己推定位置精度が低い場合でも、基準パスを基準として位置合わせを行うことにより、位置精度を高めることが可能だからである。
もっとも、位置合わせ処理における修正は、いずれのパスに対してもできるだけ小さい方が、より好ましいといえる。従って、ステップS34において、全てのパスの自己推定位置精度を閾値σTHと比較し、いずれか一本でも、この閾値を下回る精度のパスが存在する場合にはエラー表示を行うようにしてもよい。
ただし、標準パスにも基準パスと同等の位置精度を要求すると、エラー表示が頻繁になされるおそれがある。かかる弊害を回避するため、標準パスでは基準パスよりも高い閾値σTHを用いるようにしてもよい。つまり、標準パスについては位置精度の要求を基準パスよりも緩める。こうすることによって、標準パスについても最低限の位置精度を保証しつつ、エラー表示が頻繁になされるのを回避することができる。
【0097】
C4.連結画像移動処理:
(1)フローチャート:
図10は連結画像移動処理のフローチャートである。位置合わせ処理(図8)のステップS50の処理に相当する。
処理を開始すると、CPUは移動対象となる標準パスのデータおよび対応点のデータを入力する(ステップS51)。標準パスのデータとは、フレーム画像が撮影されたときの位置座標を順次、記録した点列からなる軌跡データである。対応点のデータは、図8のステップS20において、基準パスおよび標準パスが表示された画面内でオペレータが指定した対応点の座標値である。
【0098】
CPUは、次に、標準パス上で正射画像(路面テクスチャ)が配置されている点ごとに、移動ベクトルを算出する(ステップS52)。
図中に移動ベクトルの算出例を示した。この例では、標準パスNP10について、対応点P101、P103が指定されているものとする。標準パス上には、図中に台形で示すように正射画像(路面テクスチャ)が配置されている。
対応点P101、P103に対応する点としては、基準パス上では、対応点P102、P104が指定されているものとする。CPUは、これらの指定結果に基づき、対応点について移動ベクトルを求める。図の例では、標準パスの対応点P101からP102に向かう移動ベクトルV10と、対応点P103からP104に向かう移動ベクトルV11が得られる。
【0099】
対応点は、標示の頂点など、オペレータが基準パスと標準パスとで対応をとりやすい点を指定するため、必ずしも標準パスNP10上で指定されるとは限らない。対応点が標準パスNP10からずれた場所で指定されている場合には、図中に破線で示すように標準パスNP10からずれた場所に移動ベクトルV10aが得られる。従って、この移動ベクトルV10aの始点が標準パスNP10上に来るように、標準パスNP10に垂直方向に移動させて移動ベクトルV10を求めればよい。
【0100】
対応点での移動ベクトルV10、V11が得られると、CPUは、これらを補間することによって、対応点P101、P103の間に位置する各点での移動ベクトルを求める。例えば、図中に示すように、フレーム画像の撮影地点PP10で移動ベクトルを求める場合には、この地点を始点とするように移動ベクトルV10、V11を平行移動し、両ベクトルの終点を結ぶ線分を、対応点P101〜PP10の距離、P103〜PP10の距離の比で内分する点を求める。こうすることによって、点PP10を始点とし、この内分点を終点とする移動ベクトルVP10を求めることができる。
【0101】
2つの移動ベクトルV10、V11に挟まれた区間に存在しない点については、最も近い位置にある移動ベクトルをそのまま用いる。図中の例では、点P101よりも右側の区間では、移動ベクトルV10をそのまま用い、点P103の左側の区間では、移動ベクトルV11をそのまま用いることになる。
また、対応点が一つしか指定されておらず、移動ベクトルが一つしか与えられない場合は、この移動ベクトルを用いる。
【0102】
CPUは以上の処理で得られた移動ベクトルに従って、正射画像(路面テクスチャ)を平行移動して(ステップS53)、連結画像移動処理を終了する。図の例では、標準パスNP10の点PP10に配置されていた路面テクスチャTX11が、移動ベクトルVP10に従って路面テクスチャTX12の位置に平行移動される例を示している。
この処理と併せて、標準パスNP10上の点PP10の位置も移動ベクトルVP10によって修正される。従って、ステップS53の処理では、路面テクスチャの移動とともに、標準パスNP10の軌跡も修正されることになる。
【0103】
(2)位置合わせ加工の処理例(1):
図11は位置合わせ加工の処理例(1)を示す説明図である。図11(a)〜図11(c)のそれぞれには、標準パスNP11および基準パスBP11に対する連結画像を重ねて表示した表示した状態を示している。図11(a)は標準パスNP11の連結画像を、基準パスBP11の連結画像よりも上に配置した状態である。先に説明した通り、連結画像は多数の路面テクスチャを配置することで構成されているが、図中には、説明の便宜上、一つの路面テクスチャTX11に輪郭を付して示した。
オペレータは、この画面中で、標準パスNP11における対応点P111を指定する。対応点P111は、任意に設定可能である。本実施例では、分離帯標示M11の白線の斜め縞模様の端点の一つを対応点P111として選択している。
【0104】
図11(b)は、基準パスBP11の連結画像を上側にして配置した状態を示している。この状態では、標準パスNP11と基準パスBP11の位置がずれている。従って、基準パスBP11の連結画像を上側に表示すると、対応点P111の位置は、分離帯標示M12の白線の斜め縞模様からずれてしまう。
図11(c)は、基準パスBP11の連結画像を上側にした状態で、対応点P112を指定した状態を示している。つまり、基準パスBP11を上側にした画像内で、分離帯標示M11の白線の斜め縞模様の端点を対応点P112として選択すればよい。
対応点P112が指定されると、標準パスNP11の対応点P111から基準パスBP11の対応点P112に向かうように移動ベクトルV11が求められる。この移動ベクトルV11に従って、路面テクスチャTX11を移動すれば、対応点P111は対応点P112に一致し、分離帯標示M11、M12の位置も一致させることができる。
【0105】
路面テクスチャTX11だけでなく、位置合わせ加工では、標準パスNP11を構成する他の路面テクスチャも同様に、移動ベクトルV11に従って移動させる。ここでは対応点を一つだけ指定した処理例を示したが、対応点は複数指定してもよい。例えば、図の例では、横断歩道の縞模様、停止線、車線境界線の端点などを対応点として利用することが考えられる。
【0106】
(3)位置合わせ加工の処理例(2):
図12は位置合わせ加工の処理例(2)を示す説明図である。標準パスNP12、基準パスBP12の連結画像を重ねた状態を示した。説明の便宜上、双方の路面標示を視認可能な状態で示している。位置合わせ前は、標準パスNP12、基準パスBP12の位置がずれているため、車線境界線などの標示の位置はずれている。
オペレータは、ここでは破線での車線境界線の端点の一つを対応点として選択している。標準パスNP12については車線境界線L122の端点を対応点P122として選択し、基準パスBP12については車線境界線L121の端点を対応点P121として選択する。この結果、標準パスNP12の対応点P122から基準パスBP12の対応点P121に向かう移動ベクトルV12が定まる。
【0107】
図13は位置合わせ加工の処理(2)の加工結果を示す説明図である。
上述の通り、標準パスNP12の連結画像を、移動ベクトルV12に従って移動することによって、車線境界線の位置を合わせることができる。位置合わせの結果が車線境界線L13である。
また、この位置合わせ加工によって、標準パスも基準パスの位置に合わせられる。本実施例は、本来、異なる位置を走行した複数のパスを位置合わせすることによって、道路面の画像を生成する。この際、図12、図13の比較から分かる通り、対応点に基づいて設定される移動ベクトルに従って、標準パスを平行移動することにより、複数のパス間で、路面標示の位置関係およびパスの位置関係を、非常によく一致させることができる。
【0108】
(4)絶対座標の取得:
図14は路面標示の絶対位置座標の取得方法を示す説明図である。図の例では、標準パスNP14上の路面テクスチャTX142、基準パスBP14上の路面テクスチャTX141を例示した。路面テクスチャTX141、TX142内には、それぞれ標示M141、M142が含まれている。路面テクスチャTX141、TX142は、それぞれの代表点が、基準パスBP14上の点P141、および標準パスNP14上の点P143に一致するように配置される。
【0109】
路面テクスチャTX141内で、標示M141の頂点P142の位置は、代表点を原点とする相対的な座標(x142,y142)で特定することができる。従って、代表点の絶対座標、即ち路面テクスチャTX141が配置されている位置座標(X141,Y141)が分かれば、これに、上述の相対的な座標を加えることによって、標示M141の頂点P142の絶対位置座標を取得することができる。
路面テクスチャTX142内も同様に、標示M142の頂点P145の位置は、代表点を原点とする相対的な座標(x145,Y145)で特定することができる。従って、代表点の絶対座標、即ち路面テクスチャTX142が配置されている位置座標(X143,Y143)が分かれば、これに、上述の相対的な座標を加えることによって、標示M142の頂点P145の絶対位置座標を取得することができる。
【0110】
路面テクスチャTX142については、位置合わせ加工によって、移動ベクトルV14に従って、代表点の位置P143が点P144に移動したとする。このとき、位置合わせ後の点P144の絶対位置座標は、移動前の点P143の位置座標(X143,Y143)に、移動ベクトルV14の成分(VX14,VY14)を加えることで得ることができる。更に、こうして得られた点P144の絶対位置座標に対して、点P145の相対的な座標(x145,Y145)を加えれば、位置合わせ加工後の標示M142の頂点P145の絶対位置座標を取得することができる。
ここでは、路面テクスチャ内の標示M141,M142の頂点について絶対位置座標を取得する方法を示したが、路面テクスチャ内の任意の点は、それぞれ路面テクスチャの代表点を基準とする相対的な座標で特定可能であるから、同様の方法によって任意の点の絶対位置座標を取得することが可能である。
【0111】
C5.透明化ポリゴン設定処理:
(1)処理概要:
図15は透明化ポリゴン設定処理の概要を示す説明図である。透明化ポリゴン設定処理は、重ねられた道路画像上に、オペレータの指示によって、透明化ポリゴンを設定することによって、隣接するパスに対応する正射画像同士が重なり合っている部分で、上側の正射画像の一部を透明化して、下側の正射画像を透視可能とする処理である。
図の中央に、正射画像P152の上に正射画像P151が重ねられている様子を斜視図的に示した。下側の正射画像P152には、横断歩道A154が分断された状態で含まれており、停止線A153が完全な状態で含まれている。上側の正射画像P151には、横断歩道A152が完全な形で含まれており、停止線A151が分断された状態で含まれている。それぞれ分断された部分を、破線で囲んで示した。
この状態で正射画像P151、P152を重ねると、左側に示したように表示される。つまり、両者が重なった部分では、上側の正射画像P151の画像のみが表示されるため、横断歩道A152は完全な状態で表示されるが、停止線A151は分断された状態で示されてしまう。
【0112】
仮に、正射画像P151、P152の上下関係を変えたとすれば、今度は、停止線A153は完全な状態で表示することができるが、横断歩道A154が分断された状態で表示されることになる。このように、正射画像P151、P152の上下関係だけでは、横断歩道、停止線の双方を完全な状態で表示させることはできない。
そこで、本実施例では、透明化ポリゴンPOL15を設定する。この例では、上側の正射画像P151において、分断されている停止線A151を覆うように設定した例を示した。透明化ポリゴンPOL15内では、上側の正射画像P151は透過した状態で表示される。従って、図の右側に示すように、正射画像P151、P152を重ねた状態では、透明化ポリゴンPOL15の内部では、下側の正射画像P152が表示され、その他の部分では、上側の正射画像P151が表示される。この結果、下側の正射画像P152に含まれる停止線A153と、上側の正射画像P151に含まれる横断歩道A152が表示され、停止線および横断歩道の双方を完全な形で表示することができる。
【0113】
(2)フローチャート:
図16は透明化ポリゴン設定処理のフローチャートである。ハードウェア的には路面標示地図生成装置200のCPUが実行する処理である。これは、図2に示した透明化ポリゴン設定部221の処理に相当する。
処理を開始すると、CPUは、オペレータからの対象道路の指定を入力し(ステップS100)、対象道路に対応する連結画像を入力する(ステップS102)。対象道路に対して複数のパスが対応している場合には、これらのパスに対応する複数の連結画像が入力される。
【0114】
CPUは、これらの連結画像を表示し、オペレータの操作に基づいて優先パスの指定を入力する(ステップS104)。優先パスとは、複数のパスのうち路面画像が最も良好なパスをいい、複数のパスの連結画像を重ねる際に最も上に位置するパスをいう。優先パスは、位置合わせ加工で用いられた基準パスとは異なる。基準パスは位置精度が最もよいものを意味したが、位置精度がよいからといって、路面画像が良好とは限らないからである。複数のパス間の連結画像の重ね合わせの上下関係がどのような状態であっても、位置合わせは支障なく行うことが可能であるから、位置合わせ用の基準パスと優先パスとは相互に独立して設定可能である。
本実施例では、優先パスは、オペレータが各パスの連結画像を比較しながら、任意に設定することができる。仮に、路面画像が最も粗いパスを優先パスに指定しても構わない。このような場合には、後述する透明化ポリゴンの設定数が増えるだけのことである。
【0115】
優先パスが設定されると、CPUは、オペレータの操作に従い透明化ポリゴンを設定する(ステップS106)。
図中に透明化ポリゴンの設定例を示した。この例では、優先パスに沿った路面テクスチャTX161と、その他のパスに沿った路面テクスチャTX162を示した。
撮影時には矩形の画像が、正射画像変換により、台形になるため、路面テクスチャTX161、TX162を配置すると、図示するようにのこぎり刃状になる。のこぎり刃状の部分からは、路面画像の見栄えを落とすとともに、分断された路面画像しか得られないため、完全な路面画像を得るという目的からは不要な部分となる。そこで、図の例では、路面テクスチャTX161、TX162が重なり合った部分では、のこぎり刃状になった路面テクスチャTX161の左端の部分に透明化ポリゴンPOL161を設定し、のこぎり刃状の部分が表示されないようにしている。
【0116】
一方、路面テクスチャTX161、TX162が重なりあっていない部分、図の例では、両端の領域A161、A162の部分には、透明化ポリゴンは設定しない。この部分では、それぞれ路面テクスチャTX161、TX162によって得られる画像が、唯一の画像情報となるからである。両端の領域に透明化ポリゴンを設定すると、この部分に含まれる路面画像の情報は活用し得なくなる。本実施例では、このように他の路面テクスチャと重なり合っていない部分には、透明化ポリゴンを設定しないようにすることで、路面テクスチャに含まれる路面画像の情報を有効活用できるようにした。
かかる設定は、単に路面テクスチャが重なっていない部分を避けて、オペレータが透明化ポリゴンを設定するという運用によって実現してもよいが、透明化ポリゴンの設定処理(ステップS106)において、透明化ポリゴンの設定位置を制限するようにしてもよい。つまり、路面テクスチャが重なり合っている部分についてのみ、オペレータによる透明化ポリゴンの設定操作を受け付けるようにしてもよい。
【0117】
路面テクスチャTX161によって隠されている標示がある場合には、オペレータはその標示が視認できるように透明化ポリゴンを設定する。図の例では、矢印の標示を覆うように、透明化ポリゴンPOL162が設定されている例を示した。矢印の標示は、テクスチャTX161の下側に配置されているテクスチャに含まれている画像である。
このように標示を覆う透明化ポリゴンPOL162を設定するためには、一旦、路面テクスチャTX161を他の路面テクスチャよりも下側に位置するように上下関係を変更したり、路面テクスチャTX161を非表示としたりすればよい。これらの操作によって、路面テクスチャTX161に隠された標示を視認可能な状態にした上で、その標示を覆うように透明化ポリゴンPOL162を設定し、路面テクスチャTX161の表示を元に戻せばよい。
以上の処理によって、透明化ポリゴンの設定が終わると、CPUは、設定結果を出力して、透明化ポリゴン設定処理を終了する。
【0118】
(3)処理例:
図17は透明化ポリゴンを設定する前の道路画像例を示す説明図である。この例では、パスP171、P172の2本に沿って得られた連結画像の位置合わせを行って生成された道路画像を示した。パスP172の連結画像と、パスP171の連結画像とで、のこぎり刃状の両端の形状が逆向きになっているのは、これらのパスP171,P172を道路面撮影システム100の車両が走行する方向が逆だからである。
【0119】
パスP172の連結画像が、パスP171の連結画像と重なっている部分では、パスP172の連結画像の端部B17ののこぎり刃状の境界が現れており、道路画像の画質を劣化させている。ただし、図17では、図示の都合上、のこぎり刃状の輪郭を付して端部B17の形状を強調してある。
また、パスP172の路面画像が端の方で不鮮明なため、例えば、領域A171では横断歩道の縞模様が歪んでいる。領域A172では、停止線が分断された状態となっている。領域A173では、路線バス等優先通行帯(いわゆるバスレーン)であることを示す「バス専用」の文字が読めない程に崩れている。領域A174では、破線状の車線境界線が途中で分断された状態となっている。
【0120】
これらの影響を回避するため、図17では、領域A171〜A174および端部B17を包含する透明化テクスチャPOL17を図中の一点鎖線のように設定した。
このように透明化ポリゴンPOL17を設定すると、パスP172側の路面テクスチャは、透明化ポリゴンPOL17の内部では透視状態となり、下側に配置されたパスP171側の路面テクスチャが視認されるようになる。
【0121】
図18は透明化ポリゴンの設定後の道路画像例を示す説明図である。上述の透明化ポリゴンの作用により、領域A181では、下側の画像が表示されるため、図17で示した横断歩道の分断状態が解消される。領域A182でも同様に、停止線が完全な状態で表示される。また、領域B18に例示するように、路面テクスチャの端部ののこぎり刃状の輪郭は視認されなくなり、道路画像全体の画質が向上する。
領域A183では、バス専用の文字が、はっきりと判読可能な状態となる。領域A184では、車線境界線が完全な状態で表示される。
このように、本実施例では、透明化ポリゴンを設定することにより、道路画像の画質を向上させることができるとともに、道路面の標示の画質も向上させることができる。
【0122】
D.自動位置合わせ処理:
以上の処理では、オペレータが対応点を指示することによって位置合わせ加工を行う例を示した(図8のステップS40参照)。
連結画像の画像処理によって、対応点を自動で指定することができれば、位置合わせ加工を自動で行うことが可能である。以下では、位置合わせを自動で行うための処理について説明する。位置合わせを自動で行うか、手動で行うかは、実行時のメニュー等でオペレータが選択するようにしてもよいし、自動での位置合わせを行った後、この処理がうまくいかなかった連結画像を対象として、手動での位置合わせを行うようにしてもよい。
また、本実施例における自動位置合わせ処理は、オペレータが一切介入しない全自動の処理として構成してもよいし、必要に応じてオペレータが介入する半自動の処理として構成してもよい。
【0123】
図19は自動位置合わせ処理のフローチャートである。ハードウェア的には路面標示地図生成装置200のCPUが実行する処理である。これは、図2に示した自動位置合わせ処理部222の処理に相当する。オペレータの指示に応じて、自動位置合わせ処理と位置合わせ加工(図8)とのいずれか一方を行うようにしてもよいし、位置合わせ加工(図8)に先だって、行うようにしてもよい。
本実施例では、路面標示地図生成装置200の画像処理の負荷を抑制するため、自動位置合わせ処理は、地図を所定サイズのメッシュに分割し、メッシュごとに行うものとした。こうすることによって、1回の処理で扱う連結画像を一定サイズに抑え、画像処理の負荷が過大となることを回避できる。また、各連結画像を共通のメッシュで分割するため、分割された画像データを管理しやすくなる利点があるからである。
【0124】
連結画像は、例えば、パスに沿って所定の距離ごとに分割する方法も可能である。しかし、かかる方法では、異なるパスに沿って生成された連結画像間では、分割したピースが統一できないことになり、特徴点同士の対応付けも困難となる。本実施例では、連結画像の位置とは無関係に設定されたメッシュ、即ち複数パスの連結画像に対して共通のメッシュを用いることにより、各連結画像を分割したピース間の対応づけなどのデータ管理が容易となる利点がある。
【0125】
処理を開始すると、CPUは処理対象となるメッシュ、即ち対象メッシュ内のパス、連結画像を読み込む(ステップS200)。この処理によって、連結画像はメッシュ単位に分割されることになる。
CPUは、読み込んだ連結画像に対して、画像前処理を行う(ステップS210)。画像前処理とは、対応点を自動的に認識する際に、誤認識の可能性を抑制するための処理である。画像前処理の内容は後述するが、本実施例では、連結画像の両端に生じる、のこぎり刃状のギザギザ部分を削除する処理、横断歩道、分離帯その他を示す縞模様の標示を削除する処理などを行う。
【0126】
画像前処理が終了すると、CPUは処理領域を設定する(ステップS220)。本実施例では、メッシュ単位で読み込んだ連結画像内に、メッシュよりも小面積の処理領域を設定し、処理領域ごとに処理を実行している。処理領域の位置を順次、移動させて繰り返し処理を行うことによりメッシュの全領域をカバーすることができる。処理領域の設定方法および移動方法については、後述する。
こうして処理領域を設定すると、CPUはその中で特徴点抽出処理を行う(ステップS230)。特徴点とは、2つの連結画像間で対応する点を安定的に特定できる点を任意に定義して用いることができる。本実施例では、連結画像から種々のエッジを抽出し、エッジが折れ曲がる点(屈折点)、端点、交点などを特徴点として用いるものとした。
【0127】
特に、道路上には白線又は黄線で種々の標示が描かれているため、この標示の輪郭をエッジとして抽出することにより、上述の特徴点を抽出することができる。白線又は黄色線で描かれた白線は、道路面とは異なる色を有しているから、連結画像の各画素の階調値の差異に基づいて、標示部分を抽出することが可能である。
抽出は、RGBなど種々の色系で行うことが可能である。本実施例では、連結画像を、H(色相)、S(彩度)、V(明度)の色空間に変換した上で、V(明度)画像を用いて標示領域を抽出した。V画像は、無彩色で明度だけを成分として有する画像となるため、いわゆるグレースケールの画像である。種々の色空間で抽出を試みた結果、V画像を用いた場合に標示を最も精度良く抽出できることが見いだされた。
【0128】
CPUは、処理領域の設定(ステップS220)および特徴点抽出処理(ステップS230)を、各連結画像に関し、メッシュ全体で特徴点の抽出が完了するまで(ステップS240)、繰り返し実行する。
こうして特徴点の抽出が完了すると、CPUは、対応点探索処理を行う(ステップS250)。これは、連結画像間で、特徴点同士を比較し、対応するもの同士を対応点として関連づける処理である。例えば、抽出された特徴点の座標、連結画像内での複数の特徴点の配置などに基づいて、連結画像間の対応をとることができる。特徴点同士を関連づける処理自体は、周知の画像処理技術であるため、詳細な説明は省略する。
【0129】
CPUは、こうして抽出された対応点のフィルタリング処理を行う(ステップS260)。対応点探索処理(ステップS250)では、誤認識された対応点が含まれている可能性があるからである。本実施例の位置合わせ加工は、先に図10で説明したように、対応点ごとに求まる移動ベクトルを補間することで、各路面テクスチャの位置合わせ用の移動量を設定する。従って、位置合わせ加工には、必ずしも多くの対応点を要しない。種々の処理を行った実験結果からは、数十メートルに1点程度の間隔で得られれば、十分な精度で位置合わせ加工ができることが見いだされた。
対応点のフィルタリング処理の詳細は後述する。本実施例では、上述の観点から、対応点のうち、誤認識の可能性が高いと思われるもの、および対応点の位置精度が低いと考えられるものを削除するものとした。フィルタリング処理は、完全に自動で行う態様の他、オペレータの介入を許す半自動の形で行う方法を採ってもよい。
このように、対応点を減らすことは、抽出された対応点を表示した場合に、オペレータが比較的容易に、誤認識の有無を判断できる利点もある。仮に、多数の対応点が表示されていると、オペレータが、これらの中から、対応点の誤認識を見いだすことは非常に困難となるが、対応点の数が少ない場合には、対応点の位置をそれぞれの連結画像内で比較的容易に認識することができ、背景の画像との関係も考慮しながら、対応関係の正誤を比較的容易に判断することができるようになるからである。
【0130】
こうして対応点が決まると、CPUは連結画像の移動処理を行って(ステップS270)、自動位置合わせ処理を終了する。連結画像の移動処理は、先に図10で説明したのと同様である。つまり、設定された対応点ごとに移動ベクトルを設定し、この対応点の移動ベクトルを補間することで、パス上の各点の移動ベクトルを設定する(図10のステップS52)。そして、この移動ベクトルに従って、各路面テクスチャを移動する(ステップS53)。こうすることで、自動位置合わせ処理によっても、図12、13に示したように良好な結果を得ることができる。
以下、上述の自動位置合わせ処理で行う各処理のうち、画像前処理(ステップS210)、処理領域設定(ステップS220)、および対応点フィルタリング処理(ステップS260)について、それぞれ詳細な内容を説明する。
【0131】
D1.画像前処理:
図20は画像前処理のフローチャートである。自動位置合わせ処理(図19)のステップS210に相当する処理であり、対応点を自動的に認識する際に、誤認識の可能性を抑制するための処理である。
処理を開始すると、CPUは、まずギザギザ除去処理を行う(ステップS211)。図中に処理概要を模式的に示した。本実施例では、路面テクスチャTX20をパスにそって配置して連結画像を生成する。路面テクスチャTX20は、ビデオカメラで撮影した画像を正射変換して得られる画像であり、この変換の過程で、もともとは矩形の画像が台形状に変形される。この結果、路面テクスチャTX20を配置した連結画像には両端に、ギザギザののこぎり刃状の領域A20が生じる。ギザギザ除去処理では、領域A20を削除する処理を行う。
【0132】
ギザギザ除去処理には、2つの意義がある。
領域A20内の、のこぎり刃状の頂点は、それぞれエッジが折れ曲がっている屈折点となるから、特徴点として抽出され易い点である。従って、ギザギザ除去を行わずに、特徴点の抽出を行うと、非常に高い密度で特徴点が多数抽出されることになる。このように高密度で多数の特徴点が抽出されると、特徴点同士の対応関係に誤認識を生じやすい。また、誤認識が生じたときに、オペレータが目視で誤認識を発見しづらくなる。ギザギザ除去処理を行うことにより、こうした弊害を回避することが可能となる。
また、領域A20は、路面テクスチャの両端の部分である。正射変換して路面テクスチャを生成する際には、画像の左右中央付近に比して、両端では変換時の歪みが大きくなる。路面テクスチャの両端付近の各画素は、これらの歪みの影響で、中央付近よりも、位置精度が低くなる。それぞれの連結画像の位置精度を十分に確保した状態で位置合わせを行うためには、位置精度の高い対応点を用いることが好ましい。ギザギザ除去処理では、領域A20を削除することにより、予め位置精度が低い特徴点を排除しておくことができるから、位置合わせ時の位置精度の低下を回避することができる。
【0133】
図21はギザギザ除去処理の処理例を示す説明図である。図21(a)には、のこぎり刃状の領域が残存した状態を示した。図中の×印は、抽出された特徴点を表している。のこぎり刃状のエッジの屈折点が多数、特徴点として抽出されていることが分かる。しかし、全ての点が抽出されている訳ではなく、エッジの屈折点の中でも特徴点として抽出されていないものもあれば、屈折点からややずれたところの点が抽出されているものもある。このように特徴点が、不正確かつ高密度で多数抽出されると、対応点を特定する上で誤認識を生じやすい。
図21(b)は、ギザギザ除去処理後の連結画像の様子を示した。特徴点の抽出は行っていない。連結画像の両端のギザギザ領域を除去することにより、両端がほぼ直線状となっているため、特徴点の抽出を行ったとしても、両端の領域から、図21(a)ほどの多くの特徴点が高密度で抽出されることを回避することが可能となる。
【0134】
図20に戻り、画像前処理の内容を引き続き説明する。
ギザギザ除去処理が完了すると、CPUは、次に、横断歩道やゼブラを除去する処理を行う。ゼブラとは、説明の便宜上付した名称であり、道路標示のうち横断歩道を除く縞模様をいう。例えば、中央分離帯や、交差点付近に設けられた右左折用の車線への移行領域などに付されている縞模様が挙げられる。
この除去処理を行うため、CPUは、まずV(明度)画像を用いてエッジを抽出する(ステップS212)。エッジの抽出は、RGB色系などで行うこともできるが、H(色相)、S(彩度)、V(明度)の色空間で行った方が、道路標示に使われる白色および黄色の線を精度良く抽出できることが分かったからである。エッジ抽出は、周知の画像処理技術であるため、詳細な説明を省略する。エッジ抽出に当たっては、Sobelフィルタその他のフィルタによって、エッジを強調する処理を施してもよい。
【0135】
次に、CPUはエッジ太らせ処理を行う(ステップS213)。
図22はエッジ太らせ処理の処理例を示す説明図である。図22(a)は、道路面の標示例を示している。道路には、複数の車線境界線で区画された複数の車線が中央付近に縦方向に横断歩道がある。中央分離帯部分はゼブラとなっている。
図22(a)の上方に、横断歩道の一部を拡大して示した。横断歩道のような縞模様では、拡大図中の×印に示すように、縞模様の角が特徴点として抽出され易い。拡大図中では、1個だけが抽出されている例を示したが、縞模様のそれぞれの角が抽出されるため、多数の特徴点が高密度で抽出されることになる。ゼブラも同様である。このように高密度で抽出された特徴点は、連結画像の両端のギザギザ領域と同じく対応点の誤認識につながる。横断歩道やゼブラの除去処理には、特徴点が高密度で多数抽出される領域を予め排除しておくことにより、対応点の誤認識を低減させるという目的がある。
【0136】
図22(b)には、横断歩道に対してエッジを抽出した状態を示した。エッジ抽出によって、横断歩道の縞模様の輪郭が抽出されることになる。この例では、ほぼ連続的な形状で縞模様が抽出されている状態を示しているが、連結画像の画質や、エッジ抽出の際の設定によっては、それぞれの線分が分断されたような状態で抽出されることもある。エッジ抽出された画像は、2値画像となっている。
図22(c)は、抽出されたエッジに太らせ処理(「膨脹処理」ともいう)を施した例である。太らせ処理とは、処理対象となる画素に対して、その周囲8画素のいずれかに黒画素がある場合には、処理対象となる画素も黒に置換する処理である。こうすることによって、図示するように、黒画素によって構成される境界線の幅を太くすることができる。
【0137】
図22(d)は、太らせ処理を更に施した例である。このように、太らせ処理を繰り返し施すと、横断歩道の縞模様同士が結合されるようになり、いずれ横断歩道全体が一つの面として認識されるようになる。ここでは、横断歩道を例示したが、ゼブラも同様である。
太らせ処理においては、横断歩道やゼブラが面領域として抽出されるよう、連結画像の解像度に応じて、エッジの太らせ量を予め設定しておけばよい。横断歩道およびゼブラの縞模様の間隔および線の幅は、同等であるため、双方を面領域として抽出するのに適した太らせ量は、比較的容易に設定可能である。
【0138】
図20に戻り、画像前処理について説明する。
CPUは、エッジの太らせ処理を行った後(ステップS213)、面積が閾値Sth以下となる領域を、解除する(ステップS214)。解除とは、抽出した領域から外すことを意味する。その後、CPUは解除されずに残った領域を連結画像から除去する(ステップS215)。例えば、横断歩道に対応する面領域の面積が、閾値Sthを超える場合には、この面領域は抽出された状態のまま解除されずに残っているから、ステップS215の処理で除去されることになる。
【0139】
上述の閾値Sthは、横断歩道およびゼブラから構成される面領域の面積よりも小さく、車線境界線その他の道路標示から構成される面領域の領域よりも小さい範囲で設定する。
道路標示のサイズは一定ではなく道路幅等によっても変動する。閾値Sthは、道路標示のサイズの変化も考慮して設定することが好ましい。閾値Sthは固定値である必要はなく、道路幅などに応じて、変化させてもよい。
また、閾値Sthを半自動で設定するようにしてもよい。例えば、太らせ処理を終えた連結画像内で、オペレータが指定した領域の面積を基準として、その面積に所定の係数を乗じて閾値Sthを設定するようにしてもよい。こうすることによって、道路標示の状態に応じて柔軟に閾値Sthを設定可能となる利点がある。
【0140】
閾値Sthの設定値によっては、車線境界線など、横断歩道およびゼブラ以外の道路標示が連結画像から除去される可能性もある。しかし、画像前処理は、対応点の誤認識を避けるために、誤認識を生じやすい特徴点を含む部分を予め除去しておくための処理であるから、横断歩道およびゼブラ以外の道路標示が、多少、連結画像から除去されることがあったとしても構わない。位置合わせに支障がない程度、つまり数十メートルに1点程度の特徴点を抽出できるだけの道路標示が連結画像内に残っていれば足りるからである。
【0141】
図23は面領域の除去例を示す説明図である。図23(a)は、連結画像に対して、エッジの抽出(図22のステップS212)および太らせ処理(図22のステップS213)を施した状態を示している。領域A23は、横断歩道に対応する面領域である。領域M23は、車線の進行方向規制を示す矢印に対応する面領域である。
図23(b)は、図22のステップS214の処理を施した状態、つまり閾値Sth以下の領域を解除した状態を示している。この例では、横断歩道に対応する領域A23は解除されずに残っている。矢印に対応する領域M23は面積が小さいため、解除されている。領域M23以外の矢印や車線境界線の一部も、同様に解除されている。停止線や車線境界線の中には、抽出されたままのものも存在するが、先に説明した通り、この状態で処理を継続しても構わない。
図23(c)は、図22のステップS215の処理を施した状態、つまり抽出されている画像を除去した状態を示している。この処理によって、横断歩道の領域A23が除去されることが分かる。同様に、車線境界線や停止線の一部に対応する部分も除去されている。しかし、車線境界線の一部や矢印などの道路標示は除去されずに残っているため、これらのエッジに基づいて特徴点の抽出が可能な状態となっている。
【0142】
このように画像前処理を施すことによって、対応点の誤認識を招きやすい部分、即ち特徴点が高密度で多数抽出されやすい部分を予め連結画像から除去することができる。また、ギザギザ領域の除去処理(図20のステップS211)には、連結画像両端の位置精度が低い部分を除去しておくことによって、位置精度が低い特徴点が抽出されるのを回避できるという利点もある。
【0143】
D2.処理領域設定:
図24は処理領域設定の様子を模式的に示す説明図である。
本実施例では、先に説明した通り、メッシュに分けて特徴点の自動抽出を行う。図24の太線で示した外枠ME24が、メッシュを表している。メッシュ内に、処理対象となる連結画像R24を模式的に示した。
特徴点の自動抽出は、メッシュ内に設定された処理領域PA24(図中のハッチングを付した領域)を単位として行う。この例では、図示する通り、メッシュME24を、7×7のマスに分割し、3×3の配列で処理領域PA24を設定した。
本実施例では、処理領域PA24の位置を順次、移動させながら処理を行う。図24(a)〜図24(f)には処理領域PA24の移動例を示した。図24(a)〜図24(c)に示すように、メッシュME24内の最下段から3段のマスを用いつつ、1マスずつ右側に処理領域PA24を移動させる。図24(c)の後も、メッシュME24の右端に処理領域PA24が到達するまで、同様に移動させる。
【0144】
次に、図24(d)〜図24(f)に示すように、メッシュME24内の下から2〜4段目のマスを用いつつ、1マスずつ右側に処理領域PA24を移動させる。図24(f)の後も、メッシュME24の右端に処理領域PA24が到達するまで、同様に移動させる。
このように処理領域PA24を徐々に移動させると、連結画像R24と処理領域PA24との位置関係を相対的に変化させることができる。図24(a)では、処理領域PA24内に連結画像R24は、わずかしか存在していない。この状態では、位置合わせを精度良く行うのに十分な対応点を抽出することはできない。一方、図24(c)では、処理領域PA24内に、連結画像R24が十分に含まれている。従って、位置合わせを精度良く行うに足りるだけの対応点を抽出することが可能である。
【0145】
処理領域の設定は、位置合わせ用の対応点を設定するために行う処理である。つまり、図24(a)〜図24(f)に示す処理領域PA24は、特徴点の抽出、対応点の設定に用いられるだけであり、処理領域PA24を単位として連結画像R24の移動処理が行われる訳ではない。従って、図24(a)に示すように、処理領域PA24内に連結画像R24が十分に存在せず、特徴点を十分に抽出できない位置関係となる場合が生じたとしても、他の位置関係(例えば、図24(c))で、十分に特徴点の抽出、対応点の設定ができれば、位置合わせ処理は支障なく行うことができる。
連結画像R24は、道路の形状およびメッシュME24との相対的な位置関係に応じて、処理領域PA24との位置関係が変化する。従って、処理領域PA24を予め固定したサイズ、位置で用いると、処理対象となる道路に応じて、対応点の抽出に適した位置関係となったり、不適切な位置関係となったりする。これに対し、処理領域PA24を移動させる場合には、いずれかの位置関係では特徴点の抽出を適切に行うことが可能となる。従って、道路とメッシュME24との位置関係に依らず、安定的に特徴点を抽出することができる利点がある。
【0146】
図24では、処理領域が順次、移動する様子を示したが、図25に示す処理領域の設定例では、この処理領域を方眼状に配置した状態を例示した。図25(b)は、図25(a)に対して処理領域を相対的に右側に移動した状態を表している。
図25(a)では、処理領域T251、T252には、連結画像がごくわずかしか含まれておらず、対応点を精度良く設定することができない状態となっている。これに対し、処理領域が図25(b)よりも右側にずれた図25(b)の状態では、図25(a)で処理領域T251、T252に分属していた画像が、一つの処理領域T253に含まれる。従って、処理領域T253からは対応点を良好に設定することが可能となる。
このように、処理領域を連結画像に対して相対的に移動させることによって、道路とメッシュとの位置関係に依らず、安定的に特徴点の抽出、対応点の設定を行うことが可能となる。
【0147】
D3.対応点フィルタリング処理:
図26(a)には、基準パスBP26および標準パスNP26にそれぞれ沿った連結画像を示した。図中の□印は、それぞれのパスの連結画像に対して設定された対応点を表している。矢印は、それぞれの対応点に基づいて定まる移動ベクトルである。つまり、対応点について、標準パスNP261の連結画像の位置を基準パスBP26に合わせるための移動量を表している。
移動ベクトルは、標準パスNP261の対応点を始点とし、基準パスBP26の対応点を終点とするベクトルである。図の例では、このようにして移動ベクトルを設定した結果、矢印A26のみが左向きとなり、他の移動ベクトルは右向きとなっていることが分かる。図中には他の対応点も存在するが、図の煩雑化を回避するため、4つの対応点についてのみ移動ベクトルを示した。
【0148】
図26(b)は、図26(a)の状態で位置合わせを行った結果を示す説明図である。移動ベクトルに従って、標準パスNP261の各点および路面テクスチャを移動する。標準パスNP261上で、対応点と対応点の間の点については、移動ベクトルを補間して、各点での移動ベクトルを設定する。矢印A26の移動ベクトルのみが他の移動ベクトルと方向が異なっているため、補間した各点の移動ベクトルも不自然に変化する。この結果、図26(b)の領域B26に示すように、位置合わせ後のパスが不自然に屈曲してしまう。また、横断歩道の縞模様がずれていることから分かる通り、連結画像同士もきちんと位置合わせされてはいない。
このような現象は、矢印A26で示した移動ベクトルを用いて位置合わせを行ったことが原因である。従って、かかる現象を回避するためには、予め矢印A26に対応する対応点を排除しておくことが好ましい。このように、適切な位置合わせを実現するために、用いるべき対応点を取捨選択する処理を、対応点フィルタリング処理と呼ぶ。
【0149】
図27は自動位置合わせ処理(図19)のステップS260に相当する処理である。
処理を開始するとCPUは、対応点探索結果を入力する(ステップS261)。対応点は、各連結画像から抽出された特徴点同士を比較し、対応づけた点をいう。
CPUは次に、路面テクスチャの両端領域の対応点を除去する(ステップS262)。図中にこの処理の内容を模式的に示した。
路面テクスチャTX27が配置された連結画像から、P271〜P274の対応点が設定されたとする。この処理では、パスを含む幅W27の領域A27を規定し、この領域から外れる対応点を両端領域の対応点として除去するものとした。領域A27を規定する幅W27は任意に設定可能である。幅W27を大きくとれば、両端領域の対応点を十分に排除することができないし、幅W27を小さくとれば、ほとんどの対応点が除去されてしまい、位置合わせに使用する対応点を十分に残すことができなくなる。幅W27は、これらの両面を考慮して、任意の値を設定すればよい。
また、幅W27は固定値とする必要はなく、例えば、道路幅に応じて変化させてもよい。また、道路幅の○%というように、道路幅を基準とする値としてもよい。
【0150】
次に、CPUは統計的に外れる対応点を除去する(ステップS263)。本実施例では各移動ベクトルの向きおよび大きさが統計的に外れているものを除去するものとした。
図中に処理例を示した。パスNP27に沿って、対応点ごとに移動ベクトルQ271〜Q275が得られているとする。下側に、各移動ベクトルの大きさおよび向きをグラフにして示した。パスNP27の上向きを正、下向きを負として向きを表すとともに、大きさをグラフの高さで表した。
図示する通り、移動ベクトルQ272は負の向きとなり、他の移動ベクトルQ271、Q273〜Q275は正の向きとなる。また、移動ベクトルQ271,Q273,Q274はほぼ同じ大きさであり、移動ベクトルQ275は他の移動ベクトルよりも大きい。CPUは、これらの結果に基づき、向きが異なる移動ベクトルQ272および大きさが異なる移動ベクトルQ275を除去する。
向きについては、図中の例のように正負で評価する他、パスNP27の進行方向を基準とする角度で評価してもよい。
【0151】
統計的な除去を行う際、除去するか否かの判断基準は任意に設定可能である。例えば、移動ベクトルの向きおよび大きさの各平均値との偏差が所定値以上のものを除去するようにしてもよいし、このときの所定値は任意の値としてもよいし、標準偏差を用いて設定してもよい。
統計的な除去を終えると、CPUはオペレータの操作に従って、標示(ペイント)近傍の対応点を選択する処理を行う(ステップS264)。ステップS262、S263の処理で対応点のフィルタリングが十分に行われている場合には、この処理は省略しても差し支えない。
【0152】
図中には選択例を示した。対応点R271,R272は標示とは無関係の点である。対応点R273、R274は、それぞれ標示の角である。本実施例では、これらの対応点R271〜R274は自動位置合わせ処理(図19)のステップS250で設定されている。
オペレータは、設定された対応点PR271〜R274が表示された画面内で、マウス等のポインティングデバイスによって使用する対応点を選択する。例えば、対応点R271、R272は、標示と無関係の点であるため、オペレータは連結画像間で、適切に対応関係が設定されているか否かを判断しづらい。そこで、オペレータは、このような点については位置合わせに使用する対応点の候補から排除する。一方、対応点R273、R274は、道路標示の角であるため、連結画像間で適切に対応関係が設定されていることを比較的容易に確認することができる。そこで、オペレータは、対応点R273、R274について、対応関係の適否を判断し、適切に対応関係が設定されていると判断した場合には、位置合わせで使用する候補として選択する。
【0153】
このようにオペレータが目視確認して対応点を指定可能とすることにより、対応点の誤認識を抑制でき、位置精度が高いと考えられる適切な対応点を位置合わせに利用することが可能となる。
本実施例では、CPUによって自動的に設定された対応点の中から、位置合わせに使用するものを選択する例を示した。この画面内で、オペレータがポインティングデバイスを操作することで、新たな対応点を指定可能としてもよい。
【0154】
以上で説明した実施例の道路面撮影システム100および路面標示地図生成装置200によれば、道路を走行しながら取得したフレーム画像を正射変換して得られた路面テクスチャを配置することにより、走行軌跡に沿って位置精度のよい連結画像を得ることができる。更に、複数のパスに沿って得られた連結画像同士を、位置合わせして合成することにより、道路全体の路面画像を得ることができる。この際、画像を撮影した際の各パスの位置精度が最も高いものを基準パスとして、他のパスをこの基準パスに合わせる方法を採ることにより、全体の位置精度を確保しつつ路面画像を生成することができる。
本実施例では、各パスの連結画像は、路面テクスチャを配置するまでに留め、これらを一枚の画像として合成していない。従って、路面テクスチャ単位で配置を平行移動することによって、複数パスの連結画像を容易に合成可能である。
【0155】
本実施例では、各パスの連結画像の生成、および複数パスの連結画像の合成のいずれの処理も、路面テクスチャに対するアフィン変換を施す必要がなく、単純な平行移動で行う。従って、複雑な画像処理に伴う画質の劣化を回避することができ、路面標示が鮮明な状態で表示された路面画像を得ることが可能である。また、平行移動で行うため、路面テクスチャ内の代表点を基準とする相対的な座標系は、連結画像の生成および合成の前後で維持される。この結果、代表点の絶対位置座標が得られれば、路面テクスチャ内の各点の絶対位置座標を容易に取得することが可能となり、路面標示の絶対位置座標を取得することも可能となる。
【0156】
本実施例では、連結画像を構成する複数の路面テクスチャが重なっている領域では、生成された路面画像に対して、透明化ポリゴンを設定可能である。こうすることにより、重なり合っている路面テクスチャに含まれる路面標示の中で、最も鮮明なものを有効活用することが可能となる。従って、路面テクスチャを合成して得られる路面画像の画質を向上させることが可能である。
【0157】
更に、本実施例では、対応点を自動的に設定し、位置合わせを行うことが可能であるため、オペレータの負荷を軽減することができる。また、特徴点の抽出に先立って画像前処理を行うことにより、位置精度の悪い特徴点や、対応関係に誤認識が生じやすい特徴点を予め排除することができるため、対応点の設定精度を向上することができる。また、対応点の設定後に、フィルタリングを行うことによって、不適切に設定された対応点を排除することができ、位置合わせの精度向上を図ることもできる。
【0158】
E.他の実施例:
E1.フレームデータ読み込み処理:
上記実施例では、画像データは、パスごとに処理対象となる道路面を撮影した部分のみが記録されているものとして、道路画像の生成方法を説明した。しかし、実際に道路面の撮影を行う場合には、次に示すように処理対象となる道路のみを撮影できるとは限らない。図28に示すように、リンクL281に沿う道路R281の道路画像を生成する場合を考える。この場合、処理対象となる道路R281に沿って、直線状に車線を変えながら必要な回数だけ走行するのが無駄のない理想的な走行経路となる。
【0159】
しかし、例えば、道路R281に駐停車する場所がない場合には、他の道路又は駐車場などで撮影開始の準備を行った上で撮影を開始しなくてはならない。また、道路R281上に工事などで通行できない箇所があれば、迂回しなくてはならない。この結果、実際の走行経路は、図中に破線および実線で示すように道路R281以外の道路も含んだ経路となる。
この例では、道路R281以外の場所で撮影準備を行い、矢印P281に沿って道路R281に進入している。その後、矢印P282の部分で道路R281の撮影を行う。しかし、工事などの事情によって矢印P283のように迂回する必要が生じている。そして、矢印284に沿って、道路R281を横断した後、更に、矢印P285に沿って再度迂回をし、矢印P286に沿って、道路R281の残り部分の撮影を行っている。
このように実際の処理対象となる道路R281を撮影した画像(矢印P282、P284、およびP286の部分)と、その他の道路を撮影した画像(矢印P281、P283、P285の部分)とが混在した状態で撮影データが取得されるのが通常である。
そこで、本実施例では、上記実施例の前処理として、このように処理対象となる道路と、そうでない処理対象外となる道路とが混在して撮影された画像データから、処理対象となる道路を撮影した部分を切り出す方法について説明する。
【0160】
データの切出は、例えば、撮影時に矢印P282、P284、P286に入った時点で、オペレータが有用なデータの開始を示すマーカを、画像データや位置座標データに記録可能とし、矢印P282、P284、P286の終端では終了を示すマーカを記録可能としておいてもよい。こうすることにより、路面標示地図生成装置は、これらのマーカに基づいて有用なデータを切り出すことができる。ただし、撮影時にオペレータがマーカの記録を誤ると、この方法は利用できない。また、図28の走行経路で取得した画像データを、当初の計画と異なり、矢印P281の部分の道路画像の生成にも利用しようとすると、マーカが何の役にも立たないという点で柔軟性に欠けるという短所もある。本実施例では、このように撮影時にオペレータの操作を要することなく、取得された画像データ等を事後的に処理することで、道路画像の生成に有用なデータを切り出す方法を示す。
【0161】
本実施例の方法では、道路R281に対応する切出用ポリゴンA281を設定する。そして、取得された画像データに対応する位置座標データの位置座標が、この切出用ポリゴンA281内にある部分のみを切り出す。
図の例では、矢印P282、P284、P286の部分が切り出されることになる。画像データおよび位置座標データは、時系列的に連続して記録されているから、矢印P282、P284、P286の部分は、それぞれ連続したデータとなっている。本実施例では、これらの連続した一連のデータを、それぞれパスP282、P284、P286として記録する。こうして記録することにより、各パスのデータは、上記実施例で示した道路画像の生成処理に供することが可能となる。
【0162】
切出用ポリゴンA281は、オペレータが指定してもよいが、本実施例では、リンクL281に基づいて自動生成するものとした。次に、切出用ポリゴンA281を自動生成する場合を例にとって、画像データおよび位置座標データの切出処理(以下、「フレームデータ切出処理」ともいう)の内容を説明する。
(1)フレームデータ切出処理:
この処理は、上記実施例で説明した連続画像生成処理(図7)の前処理である。ハードウェア的には路面標示地図生成装置200のCPUが実行する処理であり、図2に示したデータ入力部204の機能とすることができる。
【0163】
図29に示すように、フレームデータ切出処理を開始すると、CPUは、道路ネットワーク地図データベースから、オペレータが指定した対象リンク列を読み込む(ステップS291)。道路ネットワーク地図データベースとは、経路探索用に道路をノードおよびリンクの結合で表したものである。各道路はリンクと呼ばれる線分で表現され、リンクとリンクとの接続地点はノードと呼ばれる交点で表現される。各リンクおよびノードは、緯度経度などの座標で表される位置データおよび種別などの属性データを含んでいる。
CPUは、指定された対象リンク列に基づき、基本ポリゴンおよび補助ポリゴンを生成する(ステップS292)。図29におけるL291等の線分がリンク列を表しており、N29s等の点がノードを表している。
【0164】
基本ポリゴンとは、リンクを対称軸とする矩形のポリゴンである。
リンク列の途中に位置するリンクL291等では、それぞれのリンクを、リンクに直交する方向両側に所定幅Wだけ平行移動することで矩形のポリゴンP291を生成する。幅Wは、対象となる道路をカバーできる範囲で任意に設定可能である。例えば、対象となる道路における半幅分の1.1倍程度の値とすることができる。幅Wは、リンクの属性として付与されている道路幅データから自動で抽出することもできる。
リンク列のスタートのリンクL29sおよび終端のリンクL29eでは、リンクに直交する方向にリンクを平行移動させる他、リンク列の端点方向にも延伸して基本ポリゴンを形成する。例えば、スタートのリンクL29sでは、リンク列の端点ノードN29s側に延伸して基本ポリゴンP29sを生成する。終端のリンクL29eでは、リンク列の終点ノードN29e側に延伸して基本ポリゴンP29eを生成する。延伸させる量は、やはり対象となる道路を基本ポリゴンがカバーできる範囲で任意に設定可能である。例えば、交差点部分をカバーできるようにするため、対象となる道路における半幅分の1.1倍程度の値とすることができる。
【0165】
補助ポリゴンは、図29中にハッチングで示したように、隣接する2つの基本ポリゴンの接続部分に生じる凹部を埋めるためのポリゴンである。図29の例では、ノードN291で接続されるリンクL29s、L291のなす角における鈍角側にできる、基本ポリゴンP29s、P291の間に生じる凹部を埋めるために補助ポリゴンQ291が生成されている。また、終端のリンクL29e側では、同様に鈍角側に補助ポリゴンQ292が生成されている。
【0166】
(2)補助ポリゴンの生成方法:
図30に示すように、x、yの2次元平面上に配置したときに第1のリンクL1、第2のリンクL2がx軸となす角度をθ1、θ2とし、両者のなす角度をθ(0≦θ<180°)とする。補助ポリゴンは、θ1、θ2および2つのリンクの曲がり(θ)の大きさに応じてケースA〜Dの4通りに分類して求める。
ケースA:θ1>θ2、曲り大(0°≦θ<150°)
このケースは、リンクL1から見てリンクL2が右側に折れるとともに、その曲りが比較的大きく、基本ポリゴンの間には大きな隙間が生じるケースに当たる。このケースでは、大きな隙間を埋めるよう、図示するように、リンクL1、L2の接続部分に点q0、q1,q2の3点を発生させる。
【0167】
点q0は、リンクL1、L2の鈍角側のなす角度の2等分線上で、接続ノードN0から距離Wだけ離れた点である。
点q1は、リンクL1の基本ポリゴンにおいて点q0に最も近い頂点と、点q0との間に設けられる点である。基本ポリゴンの頂点および点q0と、ノードN0とをそれぞれ結ぶ線のなす角の2等分線上で、接続ノードN0から距離Wだけ離れた点とした。
点q2は、点q1と同様、リンクL2の基本ポリゴンにおいて点q0に最も近い頂点と、点q0との間に設けられる点である。
【0168】
補助ポリゴンは、図29中のポリゴンQ292に示すように、点q0〜q2の3つの点、リンクL1、L2の基本ポリゴンの頂点、および接続ノードN0の6点で構成される。ノードN0の座標を(x0、y0)とすると、点q0〜q2のいずれの座標も(x0+Wcosα,y0+Wsinα)の形で表すことができる。但し、αの値は、それぞれ次の通りである。
点q0の場合…α=(θ1+θ2+π)/2;
点q1の場合…α=(3θ1+θ2+2π)/4;
点q2の場合…α=(θ1+3θ2+2π)/4;
なお、図中では混乱を避けるため、点q1の場合をα1、点q2の場合をα2として示した。
【0169】
ケースB:θ1>θ2、曲り小(150°≦θ<180°)
このケースは、リンクL1から見てリンクL2が右側に折れるとともに、その曲りが比較的小さく、基本ポリゴンの間には小さな隙間が生じるケースに当たる。このケースでは、図示するように、リンクL1、L2の接続部分に点q0のみを発生させる。点q0の座標は、ケースAの点q0と同じである。
【0170】
ケースC:θ1<θ2、曲り大(0°≦θ<150°)
このケースは、リンクL1から見てリンクL2が左側に折れるとともに、その曲りが比較的大きく、基本ポリゴンの間には大きな隙間が生じるケースに当たる。このケースでは、大きな隙間を埋めるよう、図示するように、リンクL1、L2の接続部分に点q0、q1,q2の3点を発生させる。点q0〜q2は、ケースAと同様に定義される。ただし、これらの点は鈍角側に生成するため、ケースAではリンクL1からみて左側に生成したのに対し、ケースCではリンクL1からみて右側に生成する点で相違する。ノードN0の座標を(x0、y0)とすると、点q0〜q2のいずれの座標も(x0+Wcosα,y0+Wsinα)の形で表せる。但し、αの値は、それぞれ次の通りである。
点q0の場合…α=(θ1+θ2−π)/2;
点q1の場合…α=(3θ1+θ2−2π)/4;
点q2の場合…α=(θ1+3θ2−2π)/4;
【0171】
ケースD:θ1<θ2、曲り小(150°≦θ<180°)
このケースは、リンクL1から見てリンクL2が左側に折れるとともに、その曲りが比較的小さく、基本ポリゴンの間には小さな隙間が生じるケースに当たる。このケースでは、図示するように、リンクL1、L2の接続部分に点q0のみを発生させる。点q0の座標は、ケースCの点q0と同じである。
【0172】
(3)切出用ポリゴンの合成:
図29に戻り、フレームデータ切出処理について説明する。
基本ポリゴンおよび補助ポリゴンの生成が完了すると、CPUは、これらのポリゴンを合成して、切出用ポリゴンCP29を生成する(ステップS293)。
ポリゴンの一部拡大図(図31)に示すように、合成処理は、基本ポリゴンおよび補助ポリゴンの構成点が、右回りに格納されていることが前提となっている。左回りに格納されている場合には、以下で説明する手順を逆方向に進めればよい。
合成処理は、スタート側のリンク列について形成された基本ポリゴンP31aの最初の構成点を見いだすことから開始する。図31の例では、左上の点A31aが最初の構成点に当たるものとする。CPUは、この点から基本ポリゴンの構成点を順次、切出用ポリゴンCP29の構成点として格納して行く。構成点は右回りに格納されているから、点A31aの次は、矢印Ar1のように進み点A31bを格納する。
【0173】
ここでCPUは、構成点を一つ拾う度に、他のポリゴンに移行すべきか否かを判断する。拾った構成点に至るまでに他のポリゴンに移行可能な箇所があれば、移行すべきと判断する。図31の例では、構成点A31bは、補助ポリゴンQ31bの構成点を兼用しているため、次の補助ポリゴンQ31bに移行すべきと判断することになる。従って、CPUは、補助ポリゴンQ31bの構成点B31a、C31aを順次、切出用ポリゴンCP29の構成点として拾っていく(矢印Ar2)。
構成点C31aは、次の基本ポリゴンP31cの構成点と兼用されているため、CPUは、基本ポリゴンP31cに移行し、その構成点C31bを拾う(矢印Ar3)。ここで、構成点C31aとC31bとを結ぶ境界線は、次の基本ポリゴンP31eの境界線と交差している。このように他のポリゴンの境界線と交差する場合、CPUは交差する点に新たに構成点CP31aを生成し、先に格納していた構成点C31bに上書きする。そして、次のポリゴンP31eに移行し、矢印Ar4のように構成点を拾っていく。
【0174】
CPUは、図31の右側の省略した部分についても同様に上述の処理を続けていった後、矢印Ar5のように構成点E31dを拾う。この点で、次の補助ポリゴンQ31dに移行して、構成点D31a、C31cを拾う(矢印Ar6)。また、次の基本ポリゴンP31cに移行して、構成点C31dを拾う(矢印Ar7)。構成点C31c、C31dを結ぶ境界線は、基本ポリゴンP31aの境界線と交差しているから、CPUは、交差する点に新たな構成点CP31bを生成し、格納済みの構成点C31dに上書きする。
そして、基本ポリゴンP31aに移行し、構成点A31dを拾い(矢印Ar8),構成点A31aに戻る(矢印A31d)。
このように、CPUは、順次、ポリゴンを移行しながら、構成点を右回りに拾っていくことによって、切出用ポリゴンを生成することができる。
【0175】
(4)フレームデータの切出:
図29に戻り、フレームデータ切出処理について説明する。
CPUは切出用ポリゴンCP29の生成が完了すると、切出用ポリゴンCP29内のフレームデータを切り出す(ステップS294)。矢印で示す走行経路がある場合、CPUは、位置座標が切出用ポリゴンCP29内にある部分(図中の実線部分)を切り出す。この場合、図示する2カ所の実線部分は、それぞれパスとして、関連づけて切り出される。
【0176】
(5)効果:
以上で示したフレームデータ切出処理によれば、道路画像の生成対象となる道路と、その他の道路とが混在して撮影されている連続画像から、生成対象の道路面に関するものだけを自動的に抽出することができるため、オペレータの負荷を軽減することができる。また、切出用ポリゴンも自動生成できるため、オペレータの負荷を軽減できるとともに、フレームデータの切出処理の精度を安定化させることができる。
【0177】
(6)変形例1:
切出用ポリゴンは、必ずしも図29、図30で示したように、基本ポリゴンと補助ポリゴンとから構成する必要はなく、全てを基本ポリゴンで構成してもよい。
基本ポリゴンのみで切出用ポリゴンを構成する例を図32に示した。この例では、終端のリンクL32dだけでなく、中間のリンク列L32a、L32b、L32cについても各リンク列の両端のノードを包含するように、各リンクを直交する方向に平行移動するとともに、リンクに沿う方向に延長して基本ポリゴンP32a、P32b、P32cを生成する。終端のリンクL32dについても、同様にして基本ポリゴンP32dを生成する。
このようにリンクに沿う方向に十分に長い基本ポリゴンを生成すれば、図31に示した例と異なり、比較的曲りが小さいリンクの接続点(例えば、リンクL32aとL32bとの間や、リンクL32bとL32cの間)では、鈍角側においても、基本ポリゴン同士を隙間なく重ねることができるため、補助ポリゴンの生成を省略することができる。
【0178】
ただし、リンクL32cとL32dのように、曲りが大きい箇所では、基本ポリゴンP32cとP32dの鈍角側に図示する通り、隙間ができてしまう。仮に、図中の矢印で示す走行軌跡で撮影が行われたとすると、このように隙間がある切出用ポリゴンでは、隙間部分に当たる矢印Pa322は、処理対象となる道路面と無関係のデータとして削除され、矢印Pa321、Pa323の2本のパスとしてフレームデータが切り出されるおそれがある。
従って、基本ポリゴンのみで切出用ポリゴンを生成する場合には、このような隙間が生じない範囲で、リンクに沿う方向に十分に延長した状態で基本ポリゴンを生成したり、曲りが大きい部分にのみ補助ポリゴンを生成するなどの対策を施しておくことが好ましい。
【0179】
(7)変形例2:
フレームデータ切出処理においては、図29で示したように、切出用ポリゴン内にあるフレームデータを無条件に切り出すものとしてもよいが、所定の条件に従って取捨選択するようにしてもよい。
図33に、図29の処理で切り出されたフレームデータのうち、道路画像の合成処理に有用なものを選択する例を示した。こうすることにより、処理対象となるフレームデータ量を抑制することができるため、連結画像の生成、道路画像の合成処理の処理負荷を軽減することができる。
【0180】
フレームデータ選択処理では、CPUは、まず、処理対象のリンクに対して切り出されたフレームデータ群、およびパスを読み込む(ステップS331)。パスとは、一連のフレームデータとして関連づけられているまとまりとしても規定することができる。また、パスの読み込みとは、各パスの位置座標データの読み込みを意味する。
CPUは、次に、パス長の長い順にソートする(ステップS332)。そして、最長のパスを、対象リンクに投影し、カバー範囲を算出する(ステップS333)。図33の右側に、この処理の概要を示した。対象リンクL281に対して、図29のフレームデータ切出処理によって、パスP282、P286、P284が切り出されたとする。この中で最長のパスは、パスP286である。従って、CPUはステップS333では、対象リンクL281上に、このパスP286を投影し、図中にハッチングで示したカバー範囲R286を得る。
【0181】
こうしてカバー領域が得られると、CPUは、既にカバーされている範囲との重複率が70%を超えるか否か判断する(ステップS334)。70%という閾値は、例示に過ぎず、フレームデータを間引く必要性に応じて、任意に設定可能である。
パスP286のカバー範囲R286を求めた時点では、他のカバー範囲は得られていないから、重複率は0%である。重複率が70%以下の場合には(ステップS334)、そのパスを、処理対象パスとして選択する(ステップS336)。
CPUは、こうして得られたカバー範囲が対象リンクを100%カバーするまで(ステップS337)、ステップS333〜S336の処理を繰り返し実行する。
【0182】
上述のカバー範囲R286が得られた時点では、対象リンクL281は完全にカバーされてはいないから、CPUは、ステップS333に戻り、残されたパスの中から最長のパス、つまりパスP282に基づいてカバー範囲R282を算出する(ステップS333)。
カバー範囲R282は、部分的にカバー範囲R286と重なっているが、重複率は70%には至らない(ステップS334)。従って、パスP282も処理対象パスとして選択されることになる(ステップS336)。
更に、次の処理では、CPUはパスP284に基づいてカバー範囲R284を算出する(ステップS333)。しかし、カバー範囲R284は、カバー範囲R286に完全に包含されているため、重複率は70%を超えている(ステップS334)。従って、CPUは、パスP284は無用なデータと判断して、削除する(ステップS335)。
そして、選択対象となるパスが無くなるため、フレームデータ選択処理を終了する。
【0183】
フレームデータ選択処理を適用すれば、パスP284のように、無用なパスのフレームデータを削除することができ、連結画像の生成処理等の処理効率を高めることができる。
図33では、カバー率に基づいて選択する例を示したが、選択方法は、これに限られるものではない。例えば、各パスと対象リンクL281とのなす角度を基準に選択してもよい。対象リンクL281となす角度が大きいパスは、対象リンクL281を横断するパスに過ぎず、連結画像等の生成にあまり有用でないと判断されるからである。また、なす角度と図33のカバー率を併用して選択を行ってもよい。
【0184】
E2.特徴点抽出処理:
上記実施例では、連結画像から種々のエッジを抽出し、エッジが折れ曲がる点(屈折点)、端点、交点などを特徴点として用いる例を示した(図19のステップS230)。本実施例では、道路面を撮影した画像を対象としているため、各パスの連結画像に含まれる路面に描かれたペイントの種別および位置を認識し、複数のパス間で、認識された同一種別のペイントの特徴点を求める方法をとってもよい。
以下では、この方法による特徴点抽出について説明する。この処理は、図19のステップS220、S230に代わる処理となる。
【0185】
(1)ペイント認識処理:
本実施例の方法では、まず連結画像に含まれるペイントを認識する必要がある。ハードウェア的には路面標示地図生成装置200のCPUが実行する処理である。
図34に示すように、ペイント認識処理を開始すると、CPUは処理データ記憶部210から、処理対象となっている道路の画像、即ち路面テクスチャ、パスのデータを読み込む(ステップS341)。次に、CPUは縦配置処理を行って(ステップS342)、縦配置画像を生成し、処理データ記憶部210に格納する。
【0186】
図35(a)に示すように、一点鎖線の矢印PA35は画像を撮影した際のパスを表している。通常の処理では、パスPA35に沿って路面テクスチャTx35を配置する。パスPA35の位置座標は、緯度経度などの絶対座標系XYで得られている。従って、絶対座標系でパスPA35および路面テクスチャTx35を配置すると、図35(a)に示すように連結画像は斜めに表示されることがある。この例では、直線状の道路を例示しているが、道路がカーブしている場合には、連結画像もカーブした状態となる。
【0187】
図35(b)は、道路が直線状のため、図35(a)の向きを矢印A35方向に回転した状態の画像となっている。縦配置の画像は、次の手順で生成することができる。まず、2次元座標xyの縦(y)方向に距離軸を定義する。距離軸とは、パスPA35に沿って画像を撮影する際の開始点からの移動距離を表す軸である。パスPA35が直線状のときは、パスPA35の進行方向を上向きに表示した状態となる。パスが曲線状のときは、パスを直線状に伸ばした状態となる。
【0188】
それぞれの路面テクスチャTx35については、撮影時の位置座標データおよび撮影開始からの移動距離が得られているから(図1の位置計測部110参照)、これらのデータに基づき、距離軸上に路面テクスチャTx35を配置する。路面テクスチャTx35は、画像内の代表点を距離軸上に置き、左右対称軸が距離軸に平行になるよう配置する。こうすることによって、パスが曲線状か否かにかかわらず、進行方向が縦方向に直線状に伸ばされた状態の連結画像を表示することができる。この連結画像によれば、図示する通り、横断歩道および停止線は距離軸に直交する方向(図中の左右方向)に描かれ、車線境界線は距離軸に沿う方向(図中の上下方向)に描かれる。縦配置画像には、このように道路の標示が一定の位置関係で描画されるため、これらの認識がしやすくなるという利点がある。ここでは、距離軸を縦に配置する例を示したが、横又は斜めなど任意の方向に配置可能である。
【0189】
図34に戻り、ペイント認識処理について説明する。
縦配置処理が完了すると、CPUは横断関連ペイント抽出処理を行う(ステップS343)。これは、横断歩道、自転車横断帯、停止線など交差点近辺の標示を抽出する処理である。本実施例では、処理データ記憶部210に格納された縦配置画像を用い、そこに描かれた標示を画像処理で抽出するとともに、標示に含まれる線分の位置関係や長さなどに基づく条件判断によって標示の種別を判断するようにした。
【0190】
横断関連ペイント処理が終わると、CPUは各種ペイント抽出処理を行う(ステップS344)。この処理で抽出対象となる標示を図中に示した。
「境界線」とは、実線および破線などで描かれた車線境界線である。
「矢印」とは、交差点内の進行方向の規制を示すために、交差点付近で各車線に示されている矢印である。
「ゼブラ」とは、横断歩道とは異なり、中央分離帯や右左折用の車線が増える箇所などに標示されている縞模様である。
「Uターン」とは、Uターン禁止道路に描かれているU字形状の矢印である。
「転回禁止」とは、Uターンの矢印とともに描かれている×印である。
「規制」とは、通行規制の時刻標示等である。例えば、バスレーンなどの標示と併せて描かれる「17−19」の標示(17時〜19時であることを意味)のような通行態様の規制等である。
【0191】
「数字」とは、速度規制などの数字である。
「横断歩道予告」とは、横断歩道手前に描かれている菱形の記号である。
「減速帯」とは、車速の減速を促すために、路面上にパスに直交する方向の線分をパスの進行方向に沿って平行に複数本配置することで描かれている縞模様である。
「路面塗装」は、急カーブその他の運転者の注意を喚起すべき箇所に対し、通行の安全のために施されている赤色等の舗装領域である。
「バスレーン文字」とは、バスレーンとして使用される車線に付される「バス専用」「バス優先」という文字である。本実施例では、バスレーンを例示しているが、バスレーンに限らず、路面に標示される文字一般を対象としてもよい。
「終わり記号」とは、バスレーンなどの終了地点を示す「0」形状の記号である。
本実施例では、これらの標示を対象としているが、これらは例示に過ぎず、更に多くの標示を対象としてもよいし、この中の一部を抽出処理の対象外としても構わない。
【0192】
各種ペイント抽出処理(ステップS344)では、予め用意されたモデルを用いて、パターンマッチングを行う。本実施例では、人工モデル画像、OCRモデル画像の2種類を用いるものとした。これらのモデルは、予め処理データ記憶部210に記憶されている。人工モデル画像とは、コンピュータグラフィックスによって生成されたモデルである。Uターン、転回禁止など、比較的単純な標示のマッチング用のモデルとして適している。
OCRモデル画像とは、撮影された画像から、オペレータが手作業で切り出した画像に基づいて生成されたモデルである。例えば、数字、バスレーンなどの複雑な形状をした標示のマッチング用のモデルとして適している。これらのモデルをコンピュータグラフィックスによって生成することも不可能ではないが、文字の形状を現実の道路標示に併せてモデルを生成するためには、結局、撮影した画像をトレース等する必要が生じるため、結果としてOCRモデルを利用しているのと大差ない。
CPUは、以上の処理を連結画像単位で、実行し、ペイント認識結果を処理データ記憶部210に格納し、相対座標変換処理を行って(ステップS345)、ペイント認識処理を終了する。
【0193】
(2)相対座標変換処理:
図36は相対座標変換処理の内容を示す説明図である。本実施例では、以上で説明した各種標示の認識結果は、全て距離軸に沿って路面テクスチャを配置した直線状の画像を用いて得られている。従って、認識結果は、この直線状の画像を表示する座標系における相対的な位置が取得されているに過ぎない。相対座標変換処理は、この相対的な位置を、撮影時の位置座標に対応する絶対座標系の位置に変換する処理である。
図の左側には、直線状の連結画像で標示を認識した状態を示している。ここでは、矩形の存在領域M361、M362を示した。これらの存在領域M361、M362の位置は、代表点としての重心G361、G362の位置座標で表される。この座標は、直線状の連結画像を表示するための座標系xn、ynで与えられる。この座標系xn、ynは、例えば、距離軸NP36をyn軸として定義することが好ましい。
【0194】
連結画像では、路面テクスチャTx36の代表点が、撮影時の位置に応じて、距離軸上に配置されている。各路面テクスチャTx36内の各点の代表点からの相対的な座標は既知である。従って、各存在領域の重心G361、G362の路面テクスチャTx36内での相対的な座標が求まるため、重心G361、G362から距離軸におろした垂線の足R361、R362の座標も求めることができる。
図の右側には、絶対座標系XYに変換した状態を示した。道路は直線とは限らないから、絶対座標系では、撮影時に取得された位置座標に従い、パスRP36は曲線状に描かれることもある。
【0195】
各存在領域M361、M362の位置および向きは次の方法で求める。
まず、この曲線状のパスRP36の基準点からの距離に応じて、存在領域の垂線の足R361、R362のパスRP36上での位置を求め、点R361、R362から、それぞれ法線ベクトルV361、V362を描き、その終点を重心G361、G362とする。法線ベクトルV361、V362の大きさは、直線状の連結画像における点R361、G361間の距離、および点R362、G362間の距離にそれぞれ等しい。存在領域M361、M362の方向は、長手方向が法線ベクトルV361、V362と直交するように配置する。つまり、存在領域M361、M362と、重心G361、G362、および垂線の足R361、R362の相対的な位置関係が、直線状の連結画像(図の左側)と絶対座標系(図の右側)とで同一となるように、存在領域M361、M362を配置する。
この変換処理により、抽出された各標示の位置を絶対座標系の位置座標で表すことが可能となる。
【0196】
上述した絶対座標系への位置座標の変換処理は、次の方法で行ってもよい。
まず、各存在領域の構成点、つまり存在領域の頂点の位置を、それぞれの頂点が属する路面テクスチャの代表点を基準とする相対座標で求める。そして、それぞれの路面テクスチャを絶対座標系XYでの配置に変換する際に、同様の変換をそれぞれの構成点に施す。こうすることにより、比較的容易に絶対座標系での構成点の位置座標を得ることができる。ただし、この方法では、構成点ごとに座標変換するため、変換時に存在領域の形状が崩れる場合がある。従って、変換後の構成点の配置を、存在領域の形状に適合させる修正処理を施してもよい。
【0197】
(3)対応点探索処理:
各パスのペイントを認識したら、次は、この認識結果に基づいて、パス間の対応点を探索する。
図37は対応点探索処理のフローチャート(1)である。自動位置合わせ処理(図19)のステップS250、S260に代わる処理である。
この処理では、CPUは、まず各パスのペイント認識結果を読み込む(ステップS370)。そして、対応点の候補となるペイントを抽出する(ステップS371)。
【0198】
図中に候補ペイント抽出の概要を示した。左側には、パスAについてペイントP37aが認識されている状態を示している。本実施例では、ペイントP37aは、2次元座標を図中に破線で示すメッシュごとに関連づけてデータが格納されている。メッシュのサイズはペイントを管理するのに都合のよいように任意に設定可能である。図の例では、ペイントP37aは図中の中央のメッシュに対応づけて管理されていることになる。
図の右側には、パスAと位置合わせをする対象となるパスBについてのペイントP37bの認識結果を示している。パスBの認識結果も、パスAと同じ位置座標で定義されたメッシュ単位で管理されている。
【0199】
本実施例では、パスAのペイントP37aの対応点となる候補のペイントとして、このメッシュに基づいて定まる一定の領域内で、同一種別のペイントを探索するものとした。パスAで認識されたペイントP37aは、パスB側のハッチングを付したメッシュM37a内に存在している。そこで、候補ペイント抽出処理(ステップS371)では、メッシュM37aを中心として上下左右に、それぞれ1メッシュ分だけ拡大した領域M37b内で候補ペイントを抽出する。
ただし、領域M37b内に存在するペイントでも、ペイントP37aと同一種別でないものは、除外する。例えば、ペイントP37aが車線境界線のとき、領域M37b内に存在するからといって、横断歩道のペイントを候補ペイントとして抽出することはない。種別の異なるペイントを抽出しても、対応点とはなり得ないからである。この判断は、ペイント認識時の種別の認識結果に基づいて行う。
【0200】
拡大した領域M37b内で候補ペイントを抽出する理由は次の通りである。
仮に、パスAとパスBの位置座標が正確に一致していれば、ペイントP37aに対応するペイントは、メッシュM37a内に見つかるはずである。しかし、実際には、パスAとパスBには誤差があるため、対応するペイントがメッシュM37aで見つかるとは限らない。そこで、誤差を考慮して、探索する範囲を広げて領域M37b内で探索するものとした。
探索する領域M37bは、任意に設定可能である。図の例よりも拡大しても構わない。もっとも、探索する範囲を拡大すれば、ペイントP37aと無関係のペイントが候補として抽出される可能性も高くなり、ペイントの増加に伴い処理時間が増大する。一方、領域M37bを狭めれば、本来、候補とされるべきペイントが漏れる可能性もある。このように、探索する領域は、メッシュのサイズ、パスA、パスB間で想定される誤差範囲などを考慮して設定することが好ましい。
【0201】
こうして、それぞれのペイントについて対応点となるべき候補ペイントが抽出されると、CPUは候補ペイントの同一性を判定する(ステップS372)。同一性とは、位置誤差がなければパスA、パスB間で本来、重なるべきペイントとなることを意味する。
本実施例では、候補ペイントの形状および相対位置に基づいて同一性を判断した。図中には、破線の車線境界線に基づいて対応点を得る場合の例を示した。
ペイント形状として示した折れ線P37aは、破線の車線境界線の境界線を模式的に表している。車線境界線は本来、直線だが、ペイント自体の色ムラや撮影条件や種々のノイズなどによって、画像処理時には必ずしも直線状に認識されるとは限らず、このように折れ線状に認識される。CPUは、最小二乗法などによって、この折れ線の近似直線L37aを求める。こうして得られた近似直線L37aの長さをLとし、近似直線L37aと折れ線P37aの最大誤差をEとする。
一方、相対位置の評価値としては、候補ペイントの近似直線L37a、L27bの中点を結ぶベクトルRpの、x成分(Rpx)、y成分(Rpy)を用いる。また、近似直線L37a、L37bのなす角度θも評価値として用いる。
【0202】
上述の評価値は種々の方法で評価することができる。本実施例では、候補ペイント同士を同一と見なすための条件として、次に示す条件を用いた。
条件1:2つの候補ペイントの近似直線の長さLの差分が所定値以下(例えば30cm程度)であること。
条件2:2つの候補ペイント双方について、最大誤差Eが所定値以下(例えば10cm程度)となっていること。
条件3:ベクトルRpのx成分Rpx、y成分Rpyが、それぞれ所定値以下(例えばx方向に150cm程度、y方向に300cm程度)であること。x成分Rpxの方が、y成分Rpyよりも小さい閾値を用いることが好ましい。
条件4:近似直線L37a、L37bのなす角θが所定値(例えば2.5°)以下であること。
CPUは、これらの条件を全て満たす場合には、候補ペイントに同一性があるものと判断する。
【0203】
こうして候補ペイントの同一性が確認されると、CPUは、近似線の両端をそれぞれ対応点として抽出する(ステップS373)。一つの車線境界線から、両端2カ所の対応点が得られることになる。
図38は対応点探索処理のフローチャート(2)である。
上述の処理によって各パスについて、複数のペイントに基づき、多数の対応点が抽出される。次に、CPUは、この対応点を評価し、位置合わせ処理に有用な対応点に絞り込む処理を行う。
まず、CPUはパスに沿って近接位置にある対応点を抽出する(ステップS374)。図中にこの処理概要を示した。
【0204】
この例では、パスAについて認識されたペイント上の点PAと、パスBについて認識されたペイント上の点PBとが対応点として抽出されているものとする。パスA上には、連結画像を構成するフレームデータの撮影位置A371、A372、A373,A374が間欠的に配置されている。パスB上にも、フレームデータの撮影位置B371〜B374が間欠的に配置されている。
CPUは、対応点PAをパスA、B上に垂直に投影し、その直前直後の撮影位置A371、A372、B371、B372を抽出する。また、対応点PBを、パスA、Bに垂直に投影し、その直前直後の撮影位置A372、A373、B372、B373を抽出する。そして、これらの撮影位置を包含する撮影位置包含ポリゴンとしての矩形枠REを求める。処理過程で、対応点PA,PBに挟まれる撮影位置A372、B372は抽出対象から除外することで処理の簡素化を図ってもよい。
【0205】
こうして得られた矩形枠REは、パスA、Bの位置合わせにおいて、対応点PA、PBが影響を与える範囲を表していると考えられる。CPUは、各対応点について、同様の方法によって影響を与える範囲(矩形枠REに相当する領域)を求める。そして、この矩形枠RE同士が重なる対応点については、いずれか一つのみを選択する。選択方法は、次の処理と併せて説明する。
CPUは、次に、近接位置の対応点ごとに各パスにグループ分けを行う(ステップS375)。これは、パスA、Bのそれぞれにとって、位置合わせのときに都合のよい対応点を選択する処理である。つまり、パスAにとっては、パスAに近い位置にある対応点を使用した方が好ましい。一方、パスBにとっては、パスBに近い位置にある対応点を使用した方が好ましい。かかる観点から、ステップS375では、複数の対応点のうち、パスAにとって好ましい対応点を選択してグループAとし、パスBにとって好ましい対応点を選択してグループBとする。
【0206】
図中に処理概要を示した。一組の対応点PA1、PB1については、次の手順で処理を行う。まず、パスAの連結画像に基づいて得られている点PA1からパスAまでの距離LEN1を求める。また、パスBの連結画像に基づいて得られている点PB1からパスBまでの距離LEN2を求める。そして、パスAまでの距離LEN1が所定の閾値(この実施例では道路の幅に基づき3.5mとした)よりも小さい場合には対応点PA1はグループAに属する点として選択される。また、パスBまでの距離LEN2が所定の閾値(同じく3.5m)よりも小さい場合には対応点PB1はグループBに属する点として選択される。一組の対応点PA1、PB1は、グループA、Bの双方に属することもあれば、いずれか一方のみに属する場合もある。
対応点からパスまでの距離が、上述の閾値3.5mを超える対応点は、処理対象から除外され、いずれのグループにも属さない点となる。パスから所定以上の距離を隔てた対応点は、位置合わせ精度が低いと考えられるからである。このようにグループに属するために許容される距離に上限を設けておくことにより、位置合わせ処理の精度を確保することが可能となる。
【0207】
次に、3組の対応点(PA2、PB2)、(PA3、PB3)、(PA4、PB4)の処理について説明する。この3組の対応点は、ステップS374で求めた矩形枠REが相互に部分的に重なり合う対応点であるものとする。従って、ステップS375の処理では、この中のいずれか一つが選択される。
ここでは、これら3組の対応点の中から、パスA、Bにそれぞれ最も近い点を選択するものとした。パスAについては、対応点PA2、PA3、PA4の中では、対応点PA3からパスAまでの距離LEN3が最も短いため、対応点PA3がグループAに属する点として選択される。パスBについては、対応点PB2、PB3、PB4の中では、対応点PB4からパスBまでの距離LEN4が最も短いため、対応点PB4がグループBに属する点として選択される。矩形枠REが重なる対応点から一つを選択する場合には、この例のように、各グループで異なる対応点が選択される場合もある。
【0208】
対応点のグループ分けが完了すると、CPUは、対応点のグループ選択を行う。対応点の多い方のグループを選択するものとした。例えば、パスA側のグループに含まれる対応点がNA個、パスB側のグループに含まれる対応点がNB個であるとすると、NA>NBであればグループAが選択され、NB<NAであればグループBが選択される。NA=NBのときは、いずれのグループを選択してもよい。
選択されなかったグループの対応点は、処理対象から除外される。従って、グループAが選択された場合には、対応点(PA1、PB1)、(PA3、PB3)等が位置合わせ処理に使用されることになり、グループBが選択された場合には、対応点(PA4、PB4)等が位置合わせ処理に使用されることになる。このようにグループを選択することにより、位置合わせ処理に使用される対応点を、パスA又はパスBのいずれかにとって好ましい点のみに統一することができる。このように統一した場合の効果については後述する。
【0209】
ここでは、対応点の数のみでグループを選択する場合を示したが、その他の評価値を用いてもよい。例えば、対応点からパスまでの距離LEN1等の平均値が小さい側のグループを選択するようにしてもよい。また、別の例として、パスに沿う方向の分布を考慮してもよい。例えば、それぞれのパスについて、隣接する対応点間のパスに双方向の間隔を求め、この間隔の標準偏差が小さいグループを選択してもよい。標準偏差が小さい方が偏り無く対応点が配置されていると考えられるからである。これらの種々の評価値は、単独で用いてもよいし、併用してもよい。
【0210】
対応点のグループが選択されると、CPUは、そのグループについて、パス方向の対応点の間隔に基づいて対応点を間引く処理を行う(ステップS377)。
図示するように、パスに沿って対応点の間隔を求める。図の例では、対応点PA1、PA3の間隔はD1であり、対応点PA3、PA5の間隔はD2であるとする。ステップS377では、この間隔が所定の閾値(例えば、40m)未満となる対応点については、いずれか一方を削除する。いずれの対応点を削除してもよいが、ここでは後から撮影された側の対応点を削除するものとした。図の例で、左から右に走行しながら撮影が行われた場合、対応点PA1、PA3、PA5の順に取得されることになるから、例えば、距離D2が閾値未満であれば、後から取得された対応点PA5を削除するものとした。
なお、対応点の間隔は、対応点を削除した結果を反映して求める。例えば、距離D1が閾値未満であり対応点PA3が削除された場合には、対応点PA5を削除するか否かについては、削除済みの対応点PA3との間隔D2ではなく、対応点PA1との間隔に基づいて評価する。
【0211】
図39はグループ選択の効果を示す説明図である。図39(a)にはパスP39A、P39Bについて位置合わせ処理を行う前の状態を示し、図39(b)には位置合わせ後の状態を示した。
この例では、パスP39Aの対応点A391、A382、A393をパスBの対応点B391、B392、B393に合わせるように、パスP39Aのテクスチャ画像Tx39を平行移動することで位置合わせを行う。図示する通り、対応点A391、A393はパスP39Aに比較的近接しているが、対応点A392からパスP39Aまでの距離L39は、図38のステップS375で説明した閾値(3.5m)を超えているとする。図38のS375で示したグループ分けによれば、対応点A392はパスP39A側のグループから除外されるべき点である。
図39(b)は、対応点A392も含め、図39(a)中の全ての対応点を用いて位置合わせした結果を表している。この結果、対応点A392の近傍の領域C39内でパスP38Cが湾曲していることが分かる。これは、パスP39Aから遠い位置にある対応点A392を用いたため、領域C39の部分の位置合わせの精度が、他の対応点P391、P393近傍の領域に比較して低いからである。対応点A392をグループAから除外することにより、このような湾曲は回避することができる。
【0212】
図37,図38で示した対応点探索処理によれば、各パスから所定の閾値を超える対応点は、位置合わせで用いる対象から除外するため(図38のステップS375参照)、位置合わせの精度の低下を回避できる。
また、各パスからの距離に応じて、それぞれの対応点を各パスのグループに分類した後(図38のステップS375)、グループ単位で対応点を選択する(ステップS376)。こうすることによって、いずれか一方のパスにとって都合のよい対応点を統一的に利用することになるため、パスに沿う方向に位置合わせの精度を均一化させることができる。
【0213】
E3.対応点探索処理:
対応点探索処理の更なる実施例について説明する。上記施例では、各パスの連結画像から特徴点を抽出し、近い位置にある特徴点を対応点とする例を示した(図19のステップS230およびステップS250)。また、本実施例では、各パスの連結画像に基づいて路面のペイントを認識し、認識されたペイント間の同一性を評価して(図37のステップS372)、対応点を探索する例を示した。
これらの処理は、連結画像の位置座標の誤差範囲がある程度の許容範囲内におさまっていることが前提とされている。位置座標の誤差が大きい場合には、事前に誤差を評価し、パスの位置を修正する処理を施しておくことが好ましい。以下では、対応点探索処理の前処理として、パスの位置修正を行う方法について説明する。
【0214】
(1)位置修正処理の概要:
図40はパスの位置修正の概要を示す説明図である。
図40(a)は、パスの位置修正を行わない場合の影響を示す説明図である。パスP40A、P40Bの位置合わせを行う前の連結画像を表している。パスP40Aの特徴点としては、車線境界線の端点A40が存在し、パスP40Bに対応する特徴点として、車線境界線の端点B40が存在する。本来ならば、この端点A40、B40が対応点となり、位置合わせ処理が行われるものとする。
しかし、図40(a)には、これらの特徴点の他に、車線境界線の端点C40が存在する。この端点C40は、端点A40、B40が含まれる車線境界線とは異なる車線境界線の端点である。端点C40を含む連結画像のパスの位置精度が低いため、端点A40、B40の近傍に配置されてしまったものである。
上記実施例等では、近い位置にある特徴点同士を対応点として特定するため、このように位置精度が比較的低い端点C40が存在すると、CPUは、端点A40とC40とを対応点と認識してしまうおそれがある。誤って特定された端点A40と端点C40とを一致させるように位置合わせが行われると、異常な道路画像が生成されることになる。
【0215】
図40(b)は、位置修正の方法を示している。ここでは、地上に固定された地物を基準として撮影位置を算出した結果に基づいて位置修正を行う。この基準となる地物としては、信号機SIGを用いている。
まず、パスP40A上のフレームデータから信号機SIGが写っているものを選択し、信号機SIGを基準として撮影位置DSCaの相対座標xa、yaを求める。撮影した画像に信号機SIGが写る位置および大きさは、撮影位置DSCa、カメラの画角又は焦点距離、カメラの設置位置および撮影方向などに依存する。逆に、カメラの画角、撮影方向などの撮影パラメータが既知であれば、撮影した画像内での信号機SIGの位置に基づいて、信号機SIGに対する相対座標xa、yaを算出することができる。画像内の位置から相対座標を算出する方法は、周知であるため、説明を省略する。
同様にして、パスP40Ct上の撮影位置DSCcについても、信号機SIGを基準とする相対座標xc、ycを求めることができる。
こうして各パスについて信号機SIGを基準とする相対座標が得られると、パスP40A、P40Ct間の間隔XOFF2を求めることができる。
【0216】
パスP40Cは、撮影時に取得された位置座標データに基づいてパスP40Ctを配置した状態を表している。パスP40Cは、本来はパスP40Ctの近傍に来るはずであるが、この例では、位置座標データに大きな誤差があり、大きくずれた位置に配置された状態を示した。このようにずれて配置された結果、車線境界線も、本来は実線のC40tの位置に配置されるべきものが、破線のC40で示すようにパスP40Aの車線境界線の近くに配置されてしまっている。
位置座標データに基づいて得られるパスP40A、P40Cの間隔はXOFF1である。位置座標データの誤差が小さければ、間隔XOFF1と、画像解析から得られた間隔XOFF2との誤差Errは十分小さな値となるはずである。従って、この誤差Errに基づいて、パスP40Ctの位置座標の精度を評価することができる。
【0217】
誤差Errが所定の閾値(例えば、道路の半幅以上の値という意味で1m)以上ある場合には、パスP40Cは位置精度が低いと判断し、画像解析から得られた間隔XOFF2を用いて、位置修正を行う。つまり、パスP40Aを基準として間隔XOFF2となる位置に、パスP40Cを移動させ、パスP40Ctの状態にする。この結果、車線境界線もC40tの位置に移動する。従って、パスP40Aの位置合わせに利用する対応点として、特徴点A40の近くにある特徴点B40が選択されることとなり、特徴点C40が誤って選択されることを回避できる。
上述の処理では、パスP40Aを基準としてパスP40C側を移動させる形で位置修正を行う例を示した。パスP40Aを基準としたのは、この例では、パスP40Aを基準パスとして位置合わせをするものとしたからである。もっとも、画像解析から得られた間隔XOFF2となるように、パスP40cを基準としてパスP40Aを移動させて位置修正してもよい。ここで行っている位置修正は、複数のパス間の相対的な位置関係の修正であるから、パスP40cを基準とする場合でも、上述の処理と同じ結果が得られる。
【0218】
(2)パスの位置修正処理:
図41はパスの位置修正処理のフローチャートである。図40で示した処理を実現するためのものであり、自動位置合わせ処理(図19)において、対応点探索処理(ステップS250)の前処理として行うことができる。
この処理では、CPUは、まず各パスのフレームデータを読み込む(ステップS411)。そして、このフレームデータのうち、信号機が写ったフレームデータを抽出する(ステップS412)。この抽出には、信号機を表すパターンマッチングモデルを用いた。
図42は信号機が写ったフレームデータの抽出例を示す説明図である。図42(a)は信号機を、左側の車線から写した状態を表しており、図42(b)は同じ信号機を、右側の車線から写した状態を表している。信号機の周囲を囲んでいる枠がパターンM412である。
【0219】
図42(a)(b)に示すように、撮影するときの車線によって、信号機と撮影位置の相対的な位置関係が変化するため、画像内での信号機のサイズおよび形状が変化する。また、同じ車線でも、信号機までの距離に応じて、サイズおよび形状が変化する。信号機のパターンマッチングで利用されるパターンマッチングモデルは、信号機までの距離や撮影時の走行車線の違いに応じて信号機を囲む枠の形状を多数記憶したデータベースである。
パターンマッチングでは、まず、画像データ内に信号機の青色に相当する画素があるか否かによって、信号機の有無を判定する。信号機は発光体であるから、撮影時の周囲の明るさの影響をあまり受けず、安定した色で撮影されるため、色に着目することで容易に信号の有無を判断することができる。黄色や赤色に基づいて判断することも可能ではあるが、走行しながら撮影した一連の画像データには、信号機が青色に点灯している状態が含まれているから、青色に着目して判断することが好ましい。
次に、信号機があると判断されたフレームデータに対して、パターンマッチングモデルのパターンを順次、あてはめる。こうして、画像内の信号機の形状に最も適合するパターンがものに基づいて信号機の画像内での位置を特定することができる。
【0220】
図41に戻り位置修正処理の内容を説明する。
パターンマッチングでは、同じ信号機を写したフレームデータが複数抽出される。CPUは、この中から、信号機が最大面積で写ったフレームを抽出する(ステップS413)。この処理の概要を図中に示した。車両が信号機SIGに近づいていくと、信号機の面積は図中にグラフで示すように、ある地点までは徐々に大きくなり、最大値となった後、小さくなるという変化を示す。信号機までの距離が遠い場合には、フレームデータF411に示すように信号機は小さく写っているため、面積は小さい。信号機までの距離が近づくにつれて、信号機の面積は徐々に大きくなり、信号機に十分に近づいた状態では、フレームデータF412に示すように最大面積となる。更に、信号機に近づくと、フレームデータF413に示すように、信号機が画像内におさまりきらなくなるため、信号機の面積は徐々に小さくなっていく。
CPUは、各フレームデータ内の信号機の面積を求めることによって、最大面積のフレームデータF412を抽出することができる。
【0221】
位置合わせの基準となる基準パスと、位置合わせ時に平行移動すべき標準パスの各パスについて信号機が最大面積で写っているフレームが抽出されると、CPUは、同一の信号機を撮影したフレームに基づいて、基準パスから標準パスまでのオフセットXOFF2(図40(b)参照)を算出する(ステップS415)。先に図40(b)で説明したように、カメラの画角又は焦点距離、撮影方向(カメラが設置されている角度)などの撮影パラメータに基づいて、各パスについて、画面内の信号機の2次元的な位置座標から撮影位置までの相対的な位置関係を求める。そして、この相対的な位置関係に基づいて2つのパス間のオフセットを求める。
【0222】
次に、CPUは撮影時に計測された位置座標データに基づいて基準パスから標準パスまでのオフセットXOFF1を求める(ステップS416)。
そして、オフセット誤差Err(=|XOFF2−XOFF1|)を算出し、オフセット誤差Errが閾値1m以上となる場合には、標準パスの位置を、画像解析から得られたオフセットXOFF2に基づいて修正する(ステップS417)。つまり、基準パスから標準パスまでのオフセットがXOFF2となるよう、標準パスの位置座標を平行移動によって修正する。
修正するか否かの判断に用いられる閾値は1mに限らず任意に設定可能である。また、かかる判断を省略し、全てのパスについて画像解析から得られたオフセット値に基づく位置修正を行ってもよい。
【0223】
上述の位置修正処理を施せば、対応点の探索を行う前に、位置座標データの精度が低いパスの位置を修正することができる。従って、隣の車線に位置するペイントに基づいて対応点を設定するなどの誤認識を抑制でき、位置合わせ処理の精度を向上させることができる。
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。
例えば、連結画像は、路面テクスチャを合成した一枚の画像として生成してもよい。この場合、複数パスの合成を行う際には、連結画像を路面テクスチャに相当する複数の領域に分割した上で、領域ごとに平行移動すればよい。
本実施例では、車両に搭載したビデオカメラで撮影した画像を利用する例を示したが、車両に限らず自転車その他の種々の移動体を利用可能であり、歩行しながら撮影する方法を採ってもよい。
【符号の説明】
【0224】
100…道路面撮影システム
110…位置計測部
110…計測データ
112…コントローラ
114…GPS
114A…アンテナ
116…IMU
118…DMI
120…ビデオカメラ
130…記録装置
140…ハードディスク
142…画像データ
144…同期データ
146…計測データ
150…基準局データ
200…路面標示地図生成装置
201…主制御部
202…コマンド入力部
203…表示制御部
204…データ入力部
205…軌跡データ算出部
206…画像変換部
207…1パス画像合成部
210a…軌跡データ
210b…路面軌跡データ
210c…路面テクスチャ
210d…連結画像
210e…道路画像
210f…道路画像用登録データ
210g…軌跡用登録データ
210c…データ(路面テクスチャ
210…処理データ記憶部
220…位置合わせ処理部
221…透明化ポリゴン設定部
222…自動位置合わせ処理部

【特許請求の範囲】
【請求項1】
道路面に施された標示が含まれる路面標示地図をコンピュータによって生成する路面標示地図生成方法であって、
(a) 前記路面標示地図の生成対象となる道路面と、生成対象外であるその他の道路面とが混在して撮影されている連続画像の画像データ、および該画像データの位置座標データを入力する工程と、
(b) 前記生成対象となる道路面に対応する領域を包含する切出用ポリゴンを入力又は生成して、記憶部に記憶する工程と、
(c) 前記位置座標データが前記切出用ポリゴンの領域内に存在する画像データを抽出して、連続するフレーム画像として前記記憶部に記憶する工程と、
(d) 前記連続するフレーム画像から、前記道路面を真上から見た状態の正射画像を生成する工程と、
(e) 前記正射画像から、前記位置座標データに基づいて道路面を表す連結画像を生成する工程と
をコンピュータが実行する路面標示地図生成方法。
【請求項2】
請求項1記載の路面標示地図生成方法であって、
更に、
(f)前記連続するフレーム画像に対応する位置座標データの点列を接続したラインをパスとして定義する工程と、
(g) 複数の前記パスのうち、2本以上のパス上に配置された正射画像に共通して撮影されている領域内で対応する対応点を、各連結画像の所定の特徴点を抽出する画像処理に基づいて特定する工程と、
(h) 前記対応点の位置が一致するように前記連結画像を平行移動して、前記道路面の合成画像を生成する工程と
を実行する路面標示地図生成方法。
【請求項3】
請求項1又は2記載の路面標示地図生成方法であって、
前記切出用ポリゴンは、前記生成対象となる道路面に対応する、道路ネットワークデータを構成するリンク列に基づいて生成されることを特徴とする路面標示地図生成方法。
【請求項4】
請求項3記載の路面標示地図生成方法であって、
前記切出用ポリゴンは、前記リンク列を構成する各リンクを対称軸とする矩形状の矩形ポリゴンを生成し、前記リンクの接続点において、それぞれのリンクに対応した前記矩形ポリゴン同士を重ねたときに、前記接続点に接続される2つのリンクがなす角における鈍角側にできる凹部を埋めて凸形状化する補助ポリゴンを生成し、前記矩形ポリゴンと前記補助ポリゴンとを合成することにより生成されることを特徴とする路面標示地図生成方法。
【請求項5】
請求項2記載の路面標示地図生成方法であって、
前記工程(g)に先だって、
(i) 前記パスに対応する連結画像の解析に基づいて前記撮影位置を求めることにより、前記位置座標データの位置精度の評価を行い、所定の位置精度以下となる前記連結画像の位置座標データを前記解析によって得られた撮影位置に基づいて修正する工程
を実行する路面標示地図生成方法。
【請求項6】
請求項5記載の路面標示地図生成方法であって、
前記工程(i)は、
(i1) 前記各パスに共通して含まれる前記道路との位置関係が固定された所定の地物を撮影したフレーム画像を抽出する工程と、
(i2) 前記各パスについて該抽出されたフレーム画像内での前記地物の2次元座標値と、前記撮影時の画角および撮影方向を含む撮影パラメータとに基づいて、前記地物と撮影位置との相対的な位置関係を求め、該位置関係に基づいてパス間の距離を算出する工程と、
(i3) 前記道路面を撮影する際に得られた位置座標データに基づいて、各パス間の距離を算出する工程と、
(i4) 前記工程(i2)および工程(i3)で得られたパス間の距離に基づいて、前記位置精度の評価を行う工程と、
(i5) 工程(i4)において所定の位置精度に満たないと評価されたパスについて、前記工程(i2)で得られた位置関係を用いてパスの位置座標を修正する工程と
を実行する路面標示地図制方法。
【請求項7】
請求項1〜6いずれか記載の路面標示地図生成方法であって、
前記工程(g)では、前記パスの連結画像に含まれる前記道路面に施された標示の種別および位置を認識するとともに、複数のパス間で、前記認識された同一種別の標示の特徴点に基づいて前記対応点を特定する路面標示地図生成方法。
【請求項8】
請求項7記載の路面標示地図生成方法であって、
前記複数のパスから予め設定されている距離を越える点を除いて前記対応点を特定する路面標示地図生成方法。
【請求項9】
請求項7又は8記載の路面標示地図生成方法であって、
前記工程(g)は、更に、
(g1) 前記特定された対応点のうち、前記パスごとに、該パスから予め設定されている距離内にある対応点の集合を求める工程と、
(g2) 前記各パスの集合に含まれる対応点の数が最多の集合を選択する工程と
を実行し、
前記工程(h)では、前記工程(g2)で選択された集合に含まれる対応点を用いて前記合成画像を生成する路面標示地図生成方法。
【請求項10】
請求項7〜9いずれか記載の路面標示地図生成方法であって、
前記工程(g)は、更に、
(g3) 前記各パスに対して、前記抽出された各対応点の直前直後に位置する撮影位置を求め、これらの撮影位置を包含する撮影位置包含ポリゴンを求める工程と、
(g4) 前記撮影位置包含ポリゴン同士が重なる箇所では、いずれか一組の対応点を残し、他の対応点を削除する工程と
を実行する路面標示地図生成方法。
【請求項11】
道路面に施された標示が含まれる路面標示地図を生成する路面標示地図生成装置であって、
前記路面標示地図の生成対象となる道路面と、生成対象外であるその他の道路面とが混在して撮影されている連続画像の画像データ、および該画像データの位置座標データを入力する入力部と、
前記生成対象となる道路面に対応する領域を包含する切出用ポリゴンを入力又は生成して、記憶部に記憶する切出用ポリゴン記憶制御部と、
前記位置座標データが前記切出用ポリゴンの領域内に存在する画像データを抽出して連続するフレーム画像として前記記憶部に記憶するフレーム画像記憶制御部と、
前記連続するフレーム画像から、前記道路面を真上から見た状態の正射画像を生成する画像変換部と、
前記正射画像から、前記位置座標データに基づいて道路面を表す連結画像を生成する連結画像生成部と
を備える路面標示地図生成装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図19】
image rotate

【図20】
image rotate

【図22】
image rotate

【図24】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図41】
image rotate

【図4】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図17】
image rotate

【図18】
image rotate

【図21】
image rotate

【図23】
image rotate

【図25】
image rotate

【図26】
image rotate

【図39】
image rotate

【図40】
image rotate

【図42】
image rotate


【公開番号】特開2010−175756(P2010−175756A)
【公開日】平成22年8月12日(2010.8.12)
【国際特許分類】
【出願番号】特願2009−17432(P2009−17432)
【出願日】平成21年1月29日(2009.1.29)
【出願人】(597151563)株式会社ゼンリン (155)
【Fターム(参考)】