以下、図面を参照して、本発明に係る道路環境認識方法及び道路環境認識装置の実施の形態を説明する。
本実施の形態では、本発明を、コンピュータと車載される道路環境認識装置からなる道路環境認識システムに提供する。本実施の形態に係るコンピュータでは、事前に学習を行い、属性推定規則に相当する推論規則を生成する。本実施の形態に係る道路環境認識装置では、コンピュータで生成した推論規則を保持し、この推論規則に基づいて道路環境を認識する。本実施の形態では、推論規則としてベイジアンネットを利用し、道路環境としてレーンマーカと道路境界を認識する。本実施の形態には、4つの形態があり、第1の実施の形態がセグメント(線分)の各特徴量を考慮した推論規則を用いる基本構成の形態であり、第2の実施の形態がセグメントを検出する際にセグメント間の連続性を考慮する形態であり、第3の実施の形態が2つのセグメントの位置関係を考慮した推論規則も用いる形態であり、第4の実施の形態が道路構造(道路状態)を考慮した推論規則も用いる形態である。
図1〜図8を参照して、第1の実施の形態に係る道路環境認識システムについて説明する。図1は、第1の実施の形態に係る道路環境認識装置の構成図である。図2は、認識対象の道路環境の説明図である。図3は、撮像画像の一例であり、(a)が撮像画像であり、(b)が矩形領域に分割した撮像画像である。図4は、本実施の形態におけるセグメントの特徴量の説明図であり、(a)が水平位置、鉛直位置、角度の説明図であり、(b)が平行線分距離、平行線分角度差の説明図であり、(c)が輝度比、勾配方向の説明図である。図5は、第1の実施の形態における各セグメントの属性及び特徴量からなるデータベースの一例である。図6は、第1の実施の形態における推論規則(ベイジアンネット)のテーブルの一例であり、(a)が生起回数テーブルであり、(b)が条件付確率テーブルである。図7は、第1の実施の形態における推論規則(ベイジアンネット)のネットワーク構造の一例である。図8は、クラスとセグメントの関係を示す図である。
第1の実施の形態に係る道路環境認識システムは、事前に学習を行うためのコンピュータ(図示せず)と実際に道路環境を認識するための道路環境認識装置1からなる。コンピュータは、カメラで撮像された動画像を処理することができるコンピュータであり、例えば、パーソナルコンピュータである。コンピュータでは、道路環境認識装置1に保持させる推論規則(ベイジアンネット)を生成する。道路環境認識装置1は、車両に搭載され、推論規則に基づいて車両前方の道路環境を認識する。この認識した道路環境の情報は、レーンキープ、自動操舵、歩行者衝突警報、車線変更可否判断等の各種制御に利用される。
まず、図2を参照して、認識対象となる道路環境と属性について説明しておく。道路環境としては、レーンマーカと道路境界である。レーンマーカとしては、車線を示し、例えば、白実線、白破線、黄実線がある。道路境界としては、車道の端部であり、例えば、路肩、車道と歩道との段差、ブロック、側溝、縁石、草むらである。各種制御で利用する場合には自車両が走行している車線とその車線の左右両側の車線情報が判ればよいので、自車両が走行している車線とその両側の車線に関するレーンマーカと道路境界のみを認識対象の道路境界として定義する。
レーンマーカについては、自車両Vの位置を基準として相対位置を考慮し、自車両Vの左側のレーンマーカRL1を「レーンマーカ左1」、レーンマーカRL1の左側のレーンマーカRL2を「レーンマーカ左2」、自車両Vの右側のレーンマーカRR1を「レーンマーカ右1」、レーンマーカRR1の右側のレーンマーカRR2を「レーンマーカ右2」とそれぞれ定義する。道路境界についても、自車両Vの位置を基準として相対位置を考慮し、自車両Vの左側の道路境界BL1を「道路境界左1」、道路境界BL1の左側の道路境界BL2を「道路境界左2」、自車両Vの右側の道路境界RR1を「道路境界右1」、道路境界RR1の右側の道路境界RR2を「道路境界右2」とそれぞれ定義する。「道路境界左1」は「レーンマーカ左1」の外側にある道路境界であり、「道路境界右1」は「レーンマーカ右1」の外側にある道路境界であり、「道路境界左2」は「レーンマーカ左2」の外側にある道路境界であり、「道路境界右2」は「レーンマーカ右2」の外側にある道路境界である。
本実施の形態では、上記で定義した「レーンマーカ左1」、「レーンマーカ左2」、「レーンマーカ右1」、「レーンマーカ右2」、「道路境界左1」、「道路境界左2」、「道路境界右1」、「道路境界右2」に「どれでもない」を加えた9種類がセグメント属性である。このセグメント属性には、0,1,・・・と属性を示す番号がそれぞれ付与される。また、レーンマーカについては、白実線、白破線、黄実線などのレーンマーカ属性がある。道路境界については、車道と歩道とのブロック、縁石、側溝、草むらなどの道路境界属性がある。
なお、道路には車線なし、片側一車線、片側二車線、片側三車線など様々な構造があるので、道路構造によっては定義したセグメント属性が全て存在するわけではない。
まず、コンピュータで事前に行う学習について説明する。コンピュータでは、オペレータによる指令に基づいて、セグメント属性を推定するための推論規則を求める。そのために、コンピュータには、予め学習用のプログラムが組み込まれており、オペレータによって操作される。また、コンピュータには、学習用の撮像画像が入力される。学習用の撮像画像は、数百〜数千枚程度の多数枚であり、カメラにより様々な道路を撮像した撮像画像である。撮像する道路としては、片側一車線など様々な道路構造の道路、同じ道路構造の道路でも道路境界の違う道路あるいは直線路やカーブ路路などの様々な道路である。図3(a)には、片側一車線の撮像画像の一例を示しており、道路の両側に白実線のレーンマーカがあり、中央に黄実線のレーンマーカがあり、さらに、白実線のレーンマーカの外側に車道と歩道とを区画するブロックが存在する。したがって、図3の例では、レーンマーカ左1、レーンマーカ右1、レーンマーカ右2、道路境界左1、道路境界右2が存在する。
コンピュータでは、オペレータによって学習用プログラムが起動されると、ディスプレイ上に学習用ツールを表示させる。そして、コンピュータでは、オペレータからの指令に従って、学習用の撮像画像から認識対象(レーンマーカ、道路境界)の候補となる線(直線、曲線など)を抽出する。この線の抽出手法は、撮像画像の処理すべき画像範囲(通常、道路の存在する画像の下側)に対してSobelフィルタやLaplaceフィルタなどを用いてエッジ抽出を行い、エッジ画像に対してHough変換を行う。そして、式(1)で表される曲線(直線も含む)を抽出する。
(1)式において、xは画像上の横方向、yは縦方向とする。コンピュータでは、撮像画像毎に式(1)の曲線を抽出すると、撮像画像を任意の高さ毎に矩形領域に区画する。この矩形領域に区画された曲線を線分(以下、セグメントを呼ぶ)に近似する。図3(b)に示すように、図3(a)の撮像画像の下側が複数の矩形領域に分割されている。ちなみに、各矩形領域には縦位置番号が付与され、縦位置番号は撮像画像の最下の矩形領域から0,1,・・・と付与される。
ここで、セグメントが抽出されると、オペレータは、撮像画像を見ながら、各セグメントに対してそのセグメント属性の正解を入力する。このセグメント属性の正解の付与については、セグメント抽出のパラメータの調整毎に新たに正解を付与する必要があり、効率的でない。そこで、オペレータが学習画像毎に事前に各認識対象の正解位置を付与し、コンピュータ側で正解位置との距離が閾値以内で最も近いセグメントにそのセグメント属性を付与するようにしてもよい。これにより、セグメント抽出のパラメータ調整をした場合、その正解付与をやり直す必要がなく、工数を大幅に削減できる。また、オペレータは、レーンマーカに対しては白実線、白破線、黄実線などのレーンマーカ属性を入力し、道路境界に対しては車道と歩道とのブロック、縁石、側溝、草むらなどの道路境界属性を入力する。
属性の正解が入力されると、コンピュータでは、セグメント毎に、その特徴量を算出する。特徴量は、図4(a)〜(c)に示すように、水平位置、鉛直位置、角度、平行線分距離、平行線分角度差、輝度比、勾配方向の7つある。水平位置は、画像の左端を基準としたセグメントの中点の水平方向の位置である。鉛直位置は、画像の上端を基準としたセグメントの中点の鉛直方向の位置である。角度は、鉛直線を基準としたセグメントの角度である。平行線分距離は、セグメントの中点から高輝度側に水平方向一定距離以内に角度差が閾値以下、かつ、勾配方向が逆のセグメントが存在する場合には2つのセグメントの水平位置の差であり、該当するセグメントが存在しない場合には平行線分が存在しないことを示す値である。平行線分角度差は、セグメントの中点から高輝度側に水平方向一定距離以内に角度差が閾値以下、かつ、勾配方向が逆のセグメントが存在する場合には2つのセグメントの角度差であり、該当するセグメントが存在しない場合には平行線分が存在しないことを示す値である。輝度比は、セグメントの中点から水平方向一定距離内にある画素の最大輝度値と最小輝度値との比である。勾配方向は、セグメントの中点から水平方向一定距離内で最大輝度値と最小輝度値を与える画素の水平位置の差である。なお、特徴量としては、これら以外のものを設定してもよい。
続いて、コンピュータでは、セグメント毎に、セグメント属性、レーンマーカ属性、道路境界属性及び7つの特徴量をデータベースに格納する。図5には、そのデータベースの一例を示している。ちなみに、撮像画像から抽出されるセグメントにはレーンマーカや道路境界以外の道路上のもの(例えば、横断歩道)のセグメントも存在するので、それらセグメントにはセグメント属性として「どれでもない」が付与されている。コンピュータでは、入力した全ての学習用の撮像画像に対して以上の処理を行い、データベースを構築する。
そして、コンピュータでは、ベイジアンネットによる統計分析手法を利用して、データベースに基づいて各セグメントの属性を推定するための推論規則を作成する。ここでは、各ノード間の親子関係の有無、親子関係にある場合には親ノードの状態が決まったときに子ノードの状態に関する事後確率(条件付確率)を算出する。そして、ノードの親子関係を示したネットワークを構築する。ノードは、各データ項目からなる。データ項目は、7つの特徴量と3つの属性(セグメント属性、レーンマーカ属性、道路境界属性)である。ノードとなるデータ項目には、0,1,・・・と番号がそれぞれ付与される。
具体的には、まず、10個のデータ項目を順に基準ノードとし、基準ノードに対して親候補となるノードをデータ項目から選択する。この選択では、各データ項目の定性的な意味を利用できる。例えば、水平位置がセグメント属性により決まると考えられる場合、セグメント属性を水平位置の親候補のノードとする。このような知識が使えない場合、自ノードより若いノード番号(データ項目番号)を持つノード(データ項目)を全て親候補とするなどのルールを用いる。
さらに、親候補のノードの数をN個とし、N個の親候補の組み合せ(2N個)を求める。例えば、番号8のノードの親候補が番号2、番号4、番号5の3つのノードとすると、実際の親は、(NULL)、(2)、(4)、(5)、(2,4)、(2,5)、(4,5)、(2,4,5)の8通りの組み合せのいずれかである。これら組み合せに対して0から2N−1までの組み合せ番号を付与する。そして、各組み合せ番号の親候補に対して、条件付確率をそれぞれ算出する。各ノードが離散値の場合、条件付確率は、単純に生起回数をカウントし、正規化することによって求めることができる。各ノードが連続値をとる場合には、K−meanなどの手法で離散化することにより、離散値として取り扱うことができる。
図6には、(a)に生起回数をカウントしたテーブル及び(b)に条件付確率のテーブルの一例を示している。この例では、番号8のノード(データ項目8)の番号2、番号4、番号5の3つの組み合せ(データ項目2、データ項目4、データ項目5)の親候補に対するテーブルである。ここでは、簡略化して各ノードの離散値と「Y」と「N」としているが、実際にはデータ項目毎に値やその離散値の個数が異なる。例えば、ノード(データ項目)がセグメント属性の場合にはレーンマーカ左1、レーンマーカ左2などであり、水平位置の場合には0,1,・・・である。図6(a)に示す生起回数のテーブルには、全ての学習用の撮像画像から抽出されたセグメントにおいて、データ項目8及びデータ項目2、データ項目4、データ項目5の各離散値に該当するセグメントがある場合にはそのセグメントの個数がカウントされ、そのカウント値が生起回数として示されている。そして、図6(b)に示す条件付確率テーブルには、全ての学習用の撮像画像から抽出されたセグメントの全数と各生起回数とから正規化した条件付確率が示されている。
続いて、親候補の組み合せ毎に、評価値を算出する。評価値は、式(2)で示すAIC[Akaike's Information Criteria](赤池の情報基準)などの情報量基準を利用する。この条件付確率と評価値については、基準ノード毎に、2N個の親候補の全ての組み合せについて求める。そして、各組み合せの評価値から、最大の評価値の親候補の組み合せを基準ノードの親とする。
式(2)では、右辺第1項が親候補の組み合せにより基準ノード(データ項目)がよく表現されているかを表しており、右辺第2項が親の数が増えてモデルが複雑になることへのペナルティを表している。
以上の処理を全てのデータ項目を基準ノードとして行い、各基準ノード(データ項目)の親をそれぞれ決める。そして、この親子関係から、ベイジアンネットのネットワーク構造を求める。図7には、ネットワーク構造の一例を示している。図7の例では、例えば、平行線分距離の親はセグメント属性と鉛直位置であり、セグメント属性は親がなく、子が道路境界属性、レーンマーカ属性、勾配方向、角度、平行線分距離、水平位置であり、鉛直位置は親がなく、子が平行線分距離、平行線分角度、水平位置である。ちなみに、セグメント属性を推定する場合、その子である道路境界属性、レーンマーカ属性、勾配方向、角度、平行線分距離、水平位置を参照し、更に、その子の親や子を参照することによりセグメント属性を推定することができる。
このように、コンピュータによる事前の学習により、各セグメントの特徴量からセグメント属性を推定するための推論規則を求める。推論規則は、ベイジアンネットのネットワーク構造と条件付確率を組み合せたものである。
次に、道路環境認識装置1について説明する。道路環境認識装置1は、車両に搭載され、走行中の道路における道路環境を認識する。特に、道路環境認識装置1では、事前の学習のよって作成した推論規則を用いてセグメント毎にセグメント属性を推定し、道路環境を認識する。そして、道路環境認識装置1では、認識結果をレーンマーカや道路境界の情報を必要とする他の装置に出力する。そのために、道路環境認識装置1は、カメラ2及び画像ECU[Electronic Control Unit]3を備え、画像ECU3にセグメント検出部3a、セグメント特徴算出部3b、セグメント属性推定部3c、結果出力部3dが構成される。
なお、第1の実施の形態ではカメラ2が特許請求の範囲に記載する撮像手段に相当し、セグメント検出部3aが特許請求の範囲に記載する線分検出手段に相当し、セグメント特徴算出部3bが特許請求の範囲に記載する特徴算出手段に相当し、セグメント属性推定部3cが特許請求の範囲に記載する属性推定手段に相当する。
カメラ2は、例えば、CCD[Charge Coupled Device]カメラであり、道路環境認識装置1を搭載する自動車の前方かつ中央に取り付けられる。カメラ2では、自動車の前方を撮像し、その撮像したカラー画像(例えば、RGB[Red Green Blue]による画像)を取得する。カメラ2では、その撮像画像のデータを画像ECU3に送信する。カメラ2は、左右方向に撮像範囲が広く、車道の外側に設けられる歩道、路側帯等まで撮像可能である。
画像ECU3は、CPU[Central Processing Unit]、ROM[Read Only Memory]、RAM[Random Access Memory]等からなり、各処理部が構成される。画像ECU3では、カメラ2から撮像画像のデータを取り入れ、その撮像画像からセグメントを抽出し、各セグメントの特徴量を算出する。そして、画像ECU3では、推論規則を用いて、セグメントの特徴量に基づいてセグメント属性を推定し、道路環境を認識する。画像ECU3には、ROMにコンピュータで作成した推論規則(ベイジアンネットのネットワーク構造と条件付確率)が記憶されている。なお、第1の実施の形態では、画像ECU3のROMが特許請求の範囲に記載する記憶手段に相当する。
セグメント検出部3aでは、撮像画像から認識対象(レーンマーカ、道路境界)の候補となるセグメントを検出する。この検出手法は、コンピュータで行った手法と同じである。セグメント特徴算出部3bでは、セグメント毎に、その特徴量を算出する。
セグメント属性推定部3cでは、推論規則を用いて、セグメント毎に、そのセグメントが各セグメント属性である生起確率を求める。さらに、各レーンマーカ属性である生起確率や各道路境界属性である生起確率を求めてもよい。生起確率を求める場合、ベイジアンネットワークの確率伝播技術を用いる。さらに、セグメント属性推定部3cでは、セグメント毎に、各セグメント属性に対する生起確率に基づいてセグメント属性を推定する。このセグメント属性の推定では、基本的には、最も生起確率の高いセグメント属性を採用する。また、同じ矩形領域において同一のセグメント属性となるセグメントが2つ以上存在する場合、2つ以上のセグメントの中からそのセグメント属性である生起確率が最も高いセグメントを1つ採用する。
結果出力部3dでは、ノイズを取り除くために、フィルタリングを行う。このフィルタリングでは、セグメントのクラスタリングを行い、属するセグメントが最も多いクラスを、各セグメント属性に対する真の解釈として採用する。具体的には、まず、処理対象のセグメント属性を決定し、さらに、処理対象の矩形領域を決定する。そして、処理対象の矩形領域から処理対象のセグメント属性と確定されているセグメントを抽出し、式(3)により、既に作成しているクラスとその抽出したセグメントとの距離を算出する。クラスが複数ある場合、各クラスとの距離を算出する。図8には、式(3)で用いるパラメータを示している。S1は既に作成されているクラスに属する矩形領域の縦位置が最も上方のセグメントであり、S2は現在処理対象のセグメントである。θはセグメントS1とセグメントS2との角度差であり、hはセグメントS1とセグメントS2との鉛直位置差であり、dは同じ矩形領域におけるセグメントS1の延長線とセグメントS2との水平位置差である。
式(3)におけるα、βは、実験やシミュレーション等によって求められた定数である。式(3)では、セグメントS1とセグメントS2の位置関係と角度関係からセグメントS1とセグメントS2との距離が算出される。また、式(3)では、θ
thdは角度差θの閾値であり、d
thdは(水平位置差d/鉛直位置差h)の閾値値であり、角度差θがθ
thd以上かあるいは(水平位置差d/鉛直位置差h)がd
thd以上の場合、そのセグメントはクラスに属さないこと示すために、距離として無限大が設定される。
各クラスと現在処理対象セグメントとの距離を算出すると、その距離が閾値以下か否かをそれぞれ判定する。閾値以下の場合、そのセグメントを距離が最小のクラスに帰属させる。閾値より大きい場合や最下の矩形領域のセグメントの場合、新たにクラスを作成し、そのセグメントを帰属させる。以上の処理を全ての矩形領域に対して行い、処理対象の全てのセグメントをいずれかのクラスに帰属させる。
そして、投票数最大の(すなわち、属するセグメントの数が最も多い)クラスに属するセグメント群を、その処理対象のセグメント属性であると確定する。以上の処理を全てのセグメント属性に対して行い、各セグメント属性のセグメント群を確定する。このように、各セグメント属性について、各矩形領域から最も距離が近く、繋がる可能性の高いセグメントが選ばれ、撮像画像におけるセグメント群が確定する。この際、矩形領域間で繋がらないセグメントは排除され、ノイズとして除去される。
結果出力部3dでは、各セグメント属性とその確定されたセグメント群とを認識結果として出力する。この際、セグメント群を1本の線(曲線、直線)の情報としてもよい。また、セグメント属性の他に、レーンマーカ属性や道路境界属性も情報としてもよい。
次に、道路環境認識システムにおける動作について説明する。ここでは、コンピュータによる学習については、図9のフローチャートに沿って説明し、特に、推測規則作成処理については図10のフローチャートに沿って説明する。また、道路環境認識装置1における実際の道路環境認識については、図11のフローチャートに沿って説明し、特に、フィルタリング処理については図12のフローチャートに沿って説明する。図9は、第1の実施の形態に係るコンピュータにおける学習過程の処理の流れを示すフローチャートである。図10は、図9のフローチャートにおける推測規則作成処理の流れを示すフローチャートである。図11は、図1の道路環境認識装置における処理の流れを示すフローチャートである。図12は、図11のフローチャートにおけるフィルタリング処理の流れを示すフローチャートである。
まず、コンピュータによる学習について説明する。コンピュータでは、学習用の撮像画像毎に、レーンマーカや道路環境の候補となるセグメント(矩形領域単位)を抽出する(S10)。コンピュータでは、オペレータによって、各セグメントに対してセグメント属性、レーンマーカ属性、道路境界属性の正解が入力される(S11)。さらに、コンピュータでは、各セグメントについてその特徴量を算出する(S12)。そして、コンピュータでは、セグメント毎に各データ項目(3つの属性の正解と7つの特徴量)をデータベースに格納する(S13)。学習用撮像画像中の全てのセグメントについてデータベースの格納が終了すると、コンピュータでは、全ての学習用撮像画像についてS10〜S13の処理が終了したか否かを判定し、全ての学習用撮像画像について処理が終了するまでS10〜S13の処理を繰り返し実行する(S14)。
全ての学習用撮像画像について処理が終了すると、コンピュータでは、データベースに格納されているセグメント毎の各データ項目の相関関係(条件付確率)を求め、セグメント属性を推論するための推論規則(ベイジアンネット)を作成する(S15)。以下で、この推論規則の作成処理について説明する。
まず、コンピュータでは、基準ノード番号Iを0に初期化する(S15a)。ノードとなる各データ項目については番号が付与されているので、基準ノード番号Iと一致する番号のデータ項目が処理対象となる。
続いて、コンピュータでは、データ項目から、基準ノードIの親候補となるノード(N個)を選択する(S15b)。そして、コンピュータでは、親候補のノードの組み合せを求め、各組み合せに対して通し番号を組み合せ番号Jとして付与する(S15c)。組み合せ番号Jは、0,1,・・・2N−1である。コンピュータでは、組み合せ番号Jを0に初期化する(S15d)。
コンピュータでは、データベースに格納されているセグメント毎の各データ項目に基づいて、基準ノードIにおける組み合せ番号Jの親候補ノードの組み合せに対して、生起回数をカウントし、正規化することにより条件付確率Pを算出する(S15e)。さらに、コンピュータでは、式(2)により、組み合せ番号Jの親候補ノードの組み合せについて評価値(AIC)を算出する(S15f)。コンピュータでは、次の親候補ノードの組み合せについて処理を行うために、組み合せ番号Jに1を加算する(S15g)。そして、コンピュータでは、組み合せ番号Jが組み合せ番号の最大番号2N−1より大きいか否かを判定し、組み合せ番号Jが2N−1より大きくなるまでS15e〜S15gの処理を繰り返し実行する(S15h)。ここでは、基準ノードIについて、その親候補ノードの全ての組み合せに対する評価値を求める。
組み合せ番号Jが2N−1より大きくなると、コンピュータでは、基準ノードIについて算出された全ての評価値から最大の評価値を抽出し、その最大の評価値の親候補ノードの組み合せを基準ノードIの親に設定する(S15i)。コンピュータでは、次のデータ項目について処理を行うために、基準ノード番号Iに1を加算する(S15j)。そして、コンピュータでは、基準ノード番号Iが(データ項目数−1)より大きいか否かを判定し、基準ノード番号Iが(データ項目数−1)より大きくなるまでS15b〜S15jの処理を繰り返し実行する(S15k)。ここでは、全てのデータ項目を基準ノードとし、全ての基準ノードに対する親をそれぞれ設定する。そして、コンピュータでは、各データ項目の親子関係からベイジアンネットのネットワーク構造を求める。
次に、道路環境認識装置1における道路環境認識について説明する。道路環境認識装置1では、カメラ2により前方の道路を撮像し、その撮像画像のデータを画像ECU3に送信する。画像ECU3では、その撮像画像からレーンマーカや道路環境の候補となるセグメント(矩形領域単位)を抽出する(S20)。そして、道路環境認識装置1では、各セグメントについてその特徴量を算出する(S21)。
画像ECU3では、推論規則(ベイジアンネットのネットワーク構造と条件付確率)を用いて、セグメント毎に、そのセグメントの特徴量から各セグメント属性である生起確率を推論する(S22)。そして、画像ECU3では、セグメント毎に、生起確率からセグメント属性を確定する(S23)。ここでは、レーンマーカ属性や道路境界属性についても同様の処理を行い、各属性を確定するようにしてもよい。S23までの処理により、画像ECU3では、撮像画像の全ての矩形領域に対して、全てのセグメントについて属性をそれぞれ確定する。
そして、画像ECU3では、フィルタリングを行い、ノイズのセグメントを除去するとともに各セグメント属性に対して矩形領域間で繋がるセグメント群を確定する(S24)。そして、画像ECU3では、各セグメント属性とそのセグメント群を認識結果として、道路環境の情報を必要とする他の装置に出力する(S25)。最後に、画像ECU3では、カメラ2から送信された全ての撮像画像に対して処理が終了したか否かを判定し、全て終了していない場合には終了するまでS20〜S25の処理を繰り返し実行する(S26)。なお、S24のフィルタリング処理については以下で詳細に説明する。
画像ECU3では、処理対象のセグメントの属性番号Pを0に初期化し(S24a)、処理対象の矩形領域の縦位置番号Vを0に初期化する(S24b)。
画像ECU3では、縦位置番号Vの矩形領域において、属性番号Pのセグメント属性のセグメントを抽出し、式(3)により、そのセグメントと既に作成されているクラスとの距離を算出する(S24c)。ここでは、縦位置番号Vの矩形領域中の属性番号Pのセグメント属性の全てのセグメントについて、既に作成されている全てのクラスに対する距離がそれぞれ算出される。ただし、クラスが全く作成されていない場合、S24fの処理において新しいクラスを作成する。
画像ECU3では、属性番号Pのセグメント属性の全てのセグメントについて、各距離が閾値以下のクラスが存在するか否かを判定する(S24d)。画像ECU3では、閾値以下のクラスが複数存在する場合には複数のクラスから最小の距離のクラスにセグメントを帰属させ、閾値以下のクラスが一つ存在する場合にはそのクラスにセグメントを帰属させる(S24e)。一方、画像ECU3では、閾値以下のクラスが存在しない場合には新たにクラスを作成し、そのクラスにセグメントを帰属させる(S24f)。これにより、縦位置番号Vの矩形領域中の属性番号Pの全てのセグメントが、いずれかのクラスに属すことになる。
画像ECU3では、属性番号Pのセグメント属性に対して、撮像画像の全ての矩形領域について処理が終了したか否かを判定する(S24g)。全ての矩形領域について処理が終了していない場合、画像ECU3では、次の矩形領域に処理対象を変えるために、縦位置番号Vに1を加算し、S24cの処理に戻る(S24h)。これにより、撮像画像における全ての矩形領域中の属性番号Pの全てのセグメントが、いずれかのクラスに属することになる。
全ての矩形領域について処理が終了した場合、画像ECU3では、属性番号Pのセグメントに対するクラスタリング結果に基づいて、投票数最大のクラスに属するセグメント群を属性番号Pのセグメント属性の解釈として出力する(S24i)。つまり、セグメントの数が最大のクラスを構成するセグメント群が属性番号Pのセグメント属性として認識される。
画像ECU3では、全てのセグメント属性について処理が終了したか否かを判定する(S24j)。全てのセグメント属性について処理が終了していない場合、画像ECU3では、次のセグメント属性に処理対象を変えるために、属性番号Pに1を加算し、S24bの処理に戻る(S24k)。一方、全てのセグメント属性について処理が終了した場合、画像ECU3では、処理を終了する。これにより、各セグメント属性となるセグメント群(線)が抽出され、いずれのセグメント属性にならないセグメントがノイズとして除去される。この抽出されたセグメント群は、矩形領域間での繋がり性もよい。
図13に、ベイジアンネットのネットワークにおいて使用したノードに応じて、道路環境認識装置1によりセグメント属性(道路環境)の認識を行った認識性能を示す。図13に示すグラフでは、横軸「Recall」が認識しなければいけない道路環境を認識した確率であり、縦軸「Precision」が認識してはいけない道路環境を認識しなかった確率であり、1を最大として、1に近づくほど正確に認識したことを表す。全てのノード(データ項目)を使用した場合、「Recall」、「Precision」共に1に近く、認識性能が最も高いことを示す(黒塗りの菱形参照)。ノードの一部を使用しなかった場合(勾配方向なし、水平位置なし、平行線分角度差なし、平行線分距離なし、角度なし)、全てのノードを使用した場合に比べて「Recall」、「Precision」のうちの少なくとも一方が低く、認識性能が低下する。
この第1の実施の形態に係る道路環境認識システムによれば、ベイジアンネットを利用することにより、各セグメントの複数の特徴量を用いてセグメント属性を総合的に判断でき、セグメント属性(道路環境)の認識精度が高い。また、この道路環境認識システムによれば、画像全体ではなく矩形領域に分けて処理を行うので、処理負荷を軽減できる。さらに、道路環境認識装置1では、フィルタリングを行うので、矩形領域間で繋がりのよいセグメント群を抽出できるとともに、ノイズも除去できる。
次に、図14〜図16を参照して、第2の実施の形態に係る道路環境認識システムについて説明する。図14は、第2の実施の形態に係る道路環境認識装置の構成図である。図15は、図14の連続性評価部における第1段階の連続性評価の説明図である。図16は、図14の連続性評価部における第2段階の連続性評価の説明図である。なお、第2の実施の形態では、第1の実施の形態に係る道路環境認識システムと同様の構成について同一の符号を付し、その説明を省略する。
第2の実施の形態に係る道路環境認識システムは、第1の実施の形態と同様にコンピュータと道路環境認識装置11からなるが、コンピュータ及び道路環境認識装置11におけるセグメントの検出処理が第1の実施の形態と異なる。この道路環境認識システムでは、撮像画像から滑らかな線(曲線や直線)の一部としてのセグメントを検出するために、隣接する矩形領域のセグメント間の連続性を考慮してセグメント検出を行う。なお、第2の実施の形態では、道路環境認識装置11についてのみ説明するが、コンピュータでも道路環境認識装置11と同様の処理によりセグメント検出を行う。
道路環境認識装置11は、第1の実施の形態に係る道路環境認識装置1に対して、セグメント検出処理のみが異なる。そのために、道路環境認識装置11は、カメラ2及び画像ECU13を備え、画像ECU13に画像分割部13a、セグメント検出部13b、連続性評価部13c、曲線近似部13d、セグメント特徴算出部3b、セグメント属性推定部3c、結果出力部3dが構成される。
画像ECU13では、ノイズの影響が少なくかつ高速に、矩形領域間の繋がりが滑らかなセグメントを抽出することができる。そのために、画像ECU13では、隣接する矩形領域のセグメント間の連続性を評価し、隣接する矩形領域間で連続性を有しているセグメント群を曲線(直線を含む)に当てはめてからセグメント化する。以下の説明では、画像ECU13における画像分割部13a、セグメント検出部13b、連続性評価部13c、曲線近似部13dの処理について詳細に説明する。なお、第2の実施の形態では、画像分割部13a、セグメント検出部13b、連続性評価部13c及び曲線近似部13dが特許請求の範囲に記載する線分検出手段を構成する。
画像分割部13aでは、撮像画像を任意の高さ毎に矩形領域に区画する。各矩形領域には、第1の実施の形態と同様に、縦位置番号が付与される。
セグメント検出部13bでは、Sobelフィルタなどを用いて、撮像画像からエッジを抽出する。そして、セグメント検出部13bでは、エッジの影響を低減するために、抽出したエッジを細線化する。さらに、セグメント検出部13bでは、細線化したエッジを2値化する。この2値化では、閾値を画像の輝度に比例して変化させ、日陰などのコントラストの絶対値が小さいところでも安定してエッジを抽出できるようにしている。そして、セグメント検出部13bでは、Hough変換を用いて、矩形領域毎に2値化したエッジからセグメントを抽出する。この際、処理を安定化させるために、エッジ勾配角度とρ−θ空間のθの誤差が閾値より大きい場合は投票せず、また、1つのセグメント抽出後にそのセグメントに属するエッジ点の投票を投票空間から削除する。
連続性評価部13cでは、隣接する矩形領域におけるセグメントの連続性を評価する。そのために、連続性評価部13cでは、まず、矩形領域(縦位置番号V)内のセグメントから基準セグメント(基準セグメント番号S)を順次抽出する。この基準セグメントを(V,S)で表す(図15参照)。連続性評価部13cでは、V=0の矩形領域、S=0の基準セグメントから処理を開始する。ちなみに、各矩形領域内のセグメントには、0,1,・・・と通し番号が付与されている。次に、連続性評価部13cでは、式(4)により、縦位置番号Vの矩形領域の上側に隣接する縦位置番号V+1の矩形領域の各セグメントと基準セグメント(V,S)との距離をそれぞれ算出する。図15には、式(4)で用いるパラメータを示している。θは2つのセグメント間の角度差であり、dは2つのセグメント間の水平位置の差である。
式(4)のα,βは、実験やシミュレーション等によって求まられた定数である。式(4)では、2つのセグメントの位置関係と角度関係から2つのセグメント間の距離が算出される。連続性評価部13cでは、縦位置番号V+1の矩形領域から、基準セグメント(V,S)との距離が最小となるセグメントを抽出する。このセグメントを(V+1,S1)で表す(図15参照)。さらに、連続性評価部13cでは、基準セグメント(V,S)とセグメントを(V+1,S1)との距離が閾値以下か否かを判定し、閾値より大きい場合には基準セグメント(V,S)とセグメント(V+1,S1)とは連続性がないと評価する。ここでは、まだ、セグメント(V+1,S1)は縦位置番号Vの矩形領域において基準セグメント(V,S)より距離が小さいセグメントが存在するかもしれないので、基準セグメント(V,S)とセグメント(V+1,S1)とは連続性があるとは評価できない。
そこで、連続性評価部13cでは、式(4)により、縦位置番号Vの矩形領域の各セグメントとセグメント(V+1,S1)との距離をそれぞれ算出する。そして、連続性評価部13cでは、縦位置番号Vの矩形領域から、セグメント(V+1,S1)との距離が最小となるセグメントを抽出する。このセグメントを(V,S2)で表す(図16参照)。ここで、連続性評価部13cでは、基準セグメント(V,S)とセグメント(V,S2)とが一致するか否かを判定し、基準セグメント(V,S)とセグメント(V,S2)とが一致する場合には基準セグメント(V,S)とセグメント(V+1,S1)とは連続性があると評価し、基準セグメント(V,S)とセグメント(V,S2)とが一致しない場合には基準セグメント(V,S)とセグメント(V+1,S1)とは連続性がないと評価する。連続性評価部13cでは、基準セグメント(V,S)とセグメント(V+1,S1)とは連続性があると評価した場合には、基準セグメント(V,S)とセグメント(V+1,S1)とを結合する。
連続性評価部13cでは、以上の処理を縦位置番号Vの矩形領域の全てのセグメントを基準セグメントとして実行する。さらに、連続性評価部13cでは、以上の処理を撮像画像の全ての矩形領域に対して実行する。このように、連続性評価部13cでは、撮像画像の全てのセグメントに対してその上側に隣接する矩形領域に存在するセグメントとの連続性を評価し、撮像画像において連続性を有しているセグメント群を結合する。このように、隣接する矩形領域において2つのセグメントが連続性を有するか否かを、その2つのセグメントの位置関係及び角度関係に基づいて2つの矩形領域の両方向から評価する。
曲線近似部13dでは、結合されたセグメント群に対して、最小2乗法を用いて周辺のエッジ点を曲線式に当てはめる。その際、短いセグメント群に高次のモデルを当てはめると、エッジ点に過剰にフィッティングして大きく曲がった曲線が得られる。逆に、長いセグメント群に低次のモデルを当てはめるとフィッティングしきれないエッジ点が多く存在する。そこで、セグメント群の長さとモデル次数の最適な関係を実験やシミュレーションによって予め求め、その最適な関係を用いて最適なフィッティングを行っている。このように、最小2乗法による当てはめを行う前にセグメント群の長さが判っているので、適正なモデル次数をコントロールすることができる。
そして、曲線近似部13dでは、求めた曲線(直線も含む)を矩形領域単位で分割し、セグメント化する。なお、曲線近似部13dでは、フィッティングによって求めた曲線の長さや形状等に基づいてその曲線がレーンマーカや道路境界を表すものか否かを判定し、その曲線についてのみセグメント化を行う。このように、連続性を有するセグメント群を曲線に当てはめ、その曲線からセグメントを抽出するので、非常に滑らかなセグメントを得ることができる。
次に、道路環境認識装置11におけるセグメント処理を図17のフローチャートに沿って説明する。図17は、図14の道路環境認識装置におけるセグメント検出処理の流れを示すフローチャートである。
道路環境認識装置11では、カメラ2で撮像した撮像画像のデータを画像ECU13に送信する。画像ECU13では、その撮像画像からエッジを抽出する(S30)。そして、画像ECU13では、その抽出したエッジを細線化し(S31)、細線化したエッジを2値化する(S32)。さらに、画像ECU13では、Hough変換を用いて、各矩形領域の2値化エッジからセグメントを抽出する(S33)。
画像ECU13では、矩形領域の縦位置番号を0に初期化するとともに(S34)、基準セグメント番号Sを0に初期化する(S35)。そして、画像ECU13では、縦位置番号V+1の矩形領域において、基準セグメント(V,S)との距離が最小となるセグメント(V+1,S1)を抽出する(S36)。画像ECU13では、基準セグメント(V,S)とセグメント(V+1,S1)との距離が閾値以下か否かを判定する(S37)。S37にて距離が閾値より大きい場合、画像ECU13では、基準セグメント(V,S)とセグメント(V+1,S1)とは連続性がないと判断し、S41の処理に移行する。
S37にて距離が閾値以下の場合、画像ECU13では、縦位置番号Vの矩形領域において、セグメント(V+1,S1)との距離が最小となるセグメント(V,S2)を抽出する(S38)。そして、画像ECU13では、セグメント(V,S2)と基準セグメント(V,S)とが一致するか否かを判定する(S39)。S39にてセグメント(V,S2)と基準セグメント(V,S)とが一致しない場合、画像ECU13では、基準セグメント(V,S)とセグメント(V+1,S1)とは連続性がないと判断し、S41の処理に移行する。S39にてセグメント(V,S2)と基準セグメント(V,S)とが一致する場合、画像ECU13では、基準セグメント(V,S)とセグメント(V+1,S1)とは連続性があると判断し、基準セグメント(V,S)とセグメント(V+1,S1)とを結合する(S40)。
そして、画像ECU13では、縦位置番号Vの矩形領域の全てのセグメントを基準セグメントとした処理が終了したか否かを判定する(S41)。S41にて全てのセグメントに対して終了していない場合、画像ECU13では、基準セグメント番号Sに1を加算し(S42)、S36の処理に戻る。S41にて全てのセグメントに対して終了している場合、画像ECU13では、S43の処理に移行する。さらに、画像ECU13では、撮像画像の全ての矩形領域に対して処理が終了したか否かを判定する(S43)。S43にて全ての矩形領域に対して終了していない場合、画像ECU13では、縦位置番号Vに1を加算し(S44)、S35の処理に戻る。S43にて全ての矩形領域に対して終了している場合、画像ECU13では、S45の処理に移行する。
そして、画像ECU13では、結合したセグメント群を最小2乗法により曲線式に当てはめ、フィッティングを行う(S45)。さらに、画像ECU13では、求められた曲線を縦方向に等間隔で(すなわち、矩形領域単位で)分割し、セグメント化する(S46)。
第2の実施の形態に係る道路環境認識システムによれば、第1の実施の形態に係る道路環境認識システムと同様の効果を有する上に、非常に滑らかな曲線の一部であるセグメントを抽出でき、セグメント属性(道路環境)の認識精度が更に向上する。特に、この道路環境認識システムによれば、隣接する矩形領域間において2つのセグメントの連続性を、2つのセグメントの位置関係と角度関係に基づいて矩形領域の両方向から評価を行うので、隣接する矩形領域から連続性の有するセグメントを高精度に抽出することができ、ノイズも除去できる。
次に、図18〜図22を参照して、第3の実施の形態に係る道路環境認識システムについて説明する。図18は、第3の実施の形態に係る道路環境認識装置の構成図である。図19は、第3実施の形態における各セグメント対属性の鉛直位置及び水平相対位置からなる第2データベースの一例である。図20は、第3の実施の形態における推論規則2(ベイジアンネット)のネットワーク構造の一例である。図21は、第3に実施の形態における推論規則1による推論の説明図であり、(a)が基準セグメントに対する各セグメント属性の生起確率テーブルの一例であり、(b)が参照セグメントに対する各セグメント属性の生起確率テーブルの一例であり、(c)が基準セグメントと参照セグメントの一例である。図22は、第3の実施の形態における推論規則2によるセグメント対属性に対する生起確率テーブルの一例である。
第3の実施の形態に係る道路環境認識システムは、第1〜第2の実施の形態と同様にコンピュータと道路環境認識装置21からなるが、同じ矩形領域内の2つのセグメントの位置関係も考慮してセグメント属性の認識を行う点で第1〜第2の実施の形態と異なる。そのために、この道路環境認識システムでは、第1の実施の形態で用いた推論規則を推論規則1とし、2つのセグメントの位置関係を推論するための推論規則を推論規則2とし、2つの推論規則を用いる。したがって、コンピュータでは2つの推論規則を作成し、道路環境認識装置21では2つの推論規則を保持して認識を行う。なお、第3の実施の形態では、セグメント検出については、第1の実施の形態での処理を適用してもよいし、第2の実施の形態での処理を適用してもよい。
まず、コンピュータで事前に行う学習について説明する。コンピュータは、第1の実施の形態や第2の実施の形態に係るコンピュータに対して、推論規則2を作成する点が異なる。コンピュータでは、第1の実施の形態と同様の処理により、入力した全ての学習用の撮像画像のセグメント毎にセグメント属性、レーンマーカ属性、道路境界属性及び7つの特徴量のデータからなる第1データベースを構築し、第1データベースに基づいて各セグメントの属性を推定するための推論規則1を作成する。この第1データベースは、第1の実施の形態で構築するデータベースである(図5参照)。この推論規則1は、第1の実施の形態で作成する推論規則であり(図6、図7参照)、セグメント単独の特徴量と属性から導かれたものである。これは、セグメントの画像上での絶対位置を特徴として、例えば、「レーンマーカ右1」は画像の中央からやや右に存在するなどの条件を表現したものである。実際に認識を行う上では、絶対位置のみでなく、セグメント間の相対位置も重要となる。そこで、このセグメント間の相対位置の関係を表す推論規則2を作成する。
コンピュータでは、同じ矩形領域における2つのセグメントの全ての組み合せに対して、2つのセグメントのセグメント属性の正解、鉛直位置、水平相対位置のデータを第2データベースに格納する。鉛直位置は矩形領域の縦位置番号であり、水平相対位置は2つのセグメント間の水平位置の差である。ここでは、2つのセグメントのセグメント属性正解を組み合せて1つの変数(セグメント対属性)として表す。例えば、「レーンマーカ左1」と「レーンマーカ右1」の組み合せであれば、「レーンマーカ左1&レーンマーカ右1」とする。この際、「レーンマーカ左2」は「レーンマーカ左1」より右側にないなど、セグメント属性正解の左右関係が既知であり、セグメント属性名の先頭にくるセグメントを画像上の左側にあるものと定義することにより、処理負荷を軽減できる。図19には、その第2データベースの一例を示している。コンピュータでは、入力した全ての学習用の撮像画像に対して以上の処理を行い、第2データベースを構築する。
そして、コンピュータでは、ベイジアンネットによる統計分析手法を利用して、第2データベースに基づいて2つのセグメント間(セグメント対属性)の相対位置関係を表す推論規則2を作成する。この推論規則2は、セグメント対属性、鉛直位置及び水平相対位置の関係からなる。図20には、その推論規則2のベイジアンネットのネットワーク構造の一例を示している。
次に、道路環境認識装置21について説明する。道路環境認識装置21は、第1の実施の形態に係る道路環境認識装置1や第2の実施の形態に係る道路環境認識装置11に対して、2つの推論規則を用いて道路環境(セグメント属性)を認識する点が異なる。そのために、道路環境認識装置21は、カメラ2及び画像ECU23を備え、画像ECU23にセグメント検出部3a、セグメント特徴算出部3b、セグメント属性推定部3c、セグメント属性更新部23a、結果出力部3dが構成される。なお、セグメント検出部3aの代わりに、第2の実施の形態の画像分割部13a、セグメント検出部13b、連続性評価部13c、曲線近似部13dを構成してもよい。
画像ECU23では、第1の実施の形態に係る画像ECU3や第2の実施の形態に係る画像ECU13より、更に高い認識精度でセグメント属性を認識することができる。そのため、画像ECU23では、推論規則1によりセグメント属性を推定し、さらに、推論規則2を用いてその推定したセグメント属性を更新する。画像ECU23には、ROMにコンピュータで作成した推論規則1及び推論規則2が記憶されている。以下の説明では、画像ECU23におけるセグメント属性更新部23aの処理について詳細に説明する。なお、第3の実施の形態では、セグメント属性推定部3c及びセグメント属性更新部23aが特許請求の範囲に記載する属性推定手段を構成し、画像ECU23のROMが特許請求の範囲に記載する記憶手段に相当する。
セグメント属性推定部3cでは、第1の実施の形態と同様に、推論規則1を用いてセグメント毎にそのセグメントが各セグメント属性である生起確率を求め、セグメント属性を推定する。図21(a)、(b)には、ある矩形領域における2つのセグメント(基準セグメントI、参照セグメントJ)の各セグメント属性に対する生起確率をテーブル化したものを示している。ちなみに、第1の実施の形態では、基準セグメントIに対しては生起確率が最も大きい「レーンマーカ右1」がセグメント属性とされ(図21(a)参照)、参照セグメントJに対しては「どちらでもない」とされる(図21(b)参照)。
セグメント属性更新部23aでは、まず、矩形領域(縦位置番号V)内のセグメントから、基準セグメント(基準セグメント番号I)と参照セグメント(参照セグメント番号J)を順次抽出する(図21(c)参照)。セグメント属性更新部23aでは、V=0の矩形領域、I=0の基準セグメント、J=0の参照セグメントから処理を開始する。セグメント属性更新部23aでは、基準セグメント(V,I)と参照セグメント(V,J)との水平位置の差(水平相対位置)を算出する。そして、セグメント属性更新部23aでは、推論規則2を用いて、基準セグメント(V,I)と参照セグメント(V,J)毎に、水平相対位置から、この2つのセグメントが各セグメント属性である場合の各セグメント対属性である生起確率を求める。図22には、ある2つのセグメントの各セグメント対属性の生起確率をテーブル化したものを示している。同じセグメント属性の場合やセグメント属性の左右関係からありえない関係の場合、生起確率は算出されずに、「−」としている。
そして、セグメント属性更新部23aでは、式(5)の更新式により、基準セグメントIの各セグメント属性である生起確率の更新値をそれぞれ算出する。そして、セグメント属性更新部23aでは、基準セグメントIの生起確率の更新値を正規化し、その各正規化した確率を基準セグメントIの各セグメント属性である生起確率とする。
式(5)では、推論規則1によって求めた基準セグメントIの各セグメント属性の生起確率に対して、推論規則1によって求めた参照セグメントJの各セグメント属性の生起確率と推論規則2によって求めた基準セグメントIと参照セグメントJとのセグメント対属性の生起確率を加味して、基準セグメントIの各セグメント属性の生起確率の更新値を求めている。なお、式(5−1)、式(5−2)には、図21の推論規則1による各セグメントの生起確率の一例と図22の推論規則2によるセグメント対属性の生起確率の一例とを用いた場合の基準セグメントIの「レーンマーカ左2」と「レーンマーカ左1」の生起確率の更新式を示している。
セグメント属性更新部23aでは、以上の処理を縦位置番号Vの矩形領域の全てのセグメントを基準セグメントと参照セグメントとして実行する。さらに、セグメント属性更新部23aでは、以上の処理を撮像画像の全ての矩形領域に対して実行する。そして、セグメント属性更新部23aでは、セグメント毎に、各セグメント属性に対する生起確率(更新値)に基づいてセグメント属性を確定する。このように、同一の矩形領域における2つのセグメントのセグメント対属性の水平位置関係も考慮して、各セグメントのセグメント属性を決定する。
次に、道路環境認識システムにおける動作について説明する。ここでは、コンピュータによる学習については、図23のフローチャートに沿って説明する。また、道路環境認識装置21における実際の道路環境認識については、図24のフローチャートに沿って説明し、特に、セグメント属性更新処理については図25のフローチャートに沿って説明する。23は、第3の実施の形態に係るコンピュータにおける学習過程の処理の流れを示すフローチャートである。図24は、図18の道路環境認識装置における処理の流れを示すフローチャートである。図25は、図24のフローチャートにおけるセグメント属性更新処理の流れを示すフローチャートである。
まず、コンピュータによる学習について説明する。コンピュータにおけるS40〜S43の各処理は、第1の実施の形態に係るコンピュータにおけるS10〜S13の各処理と同様の処理でなので、その説明を省略する(図9参照)。コンピュータでは、同じ矩形領域にある2つのセグメントを順次抽出し、2つのセグメント間の水平相対位置を求める。そして、コンピュータでは、セグメント対属性毎に、鉛直位置と水平相対位置を第2データベースに格納する(S44)。学習用撮像画像中の全てのセグメントについて第1データベース及び第2データベースの格納が終了すると、コンピュータでは、全ての学習用撮像画像についてS40〜S44の処理が終了したか否かを判定し、全ての学習用撮像画像について処理が終了するまでS40〜S44の処理を繰り返し実行する(S45)。
全ての学習用撮像画像について処理が終了すると、コンピュータでは、第1データベースに格納されているセグメント毎の各データ項目の相関関係(条件付確率)を求め、推論規則1(ベイジアンネット)を作成する(S46)。さらに、コンピュータでは、第2データベースに格納されているセグメント間(セグメント対属性)の相関関係を求め、推論規則2(ベイジアンネット)を作成する(S47)。
次に、道路環境認識装置21における道路環境認識について説明する。道路環境認識装置21におけるS50〜S51及びS54〜S56の各処理は、第1の実施の形態に係る道路環境認識装置1におけるS20〜S21及びS24〜S26の各処理と同様の処理でなので、その説明を省略する(図11参照)。
画像ECU23では、推論規則1を用いて、セグメント毎に各セグメント属性である生起確率を求め、その生起確率から各セグメントのセグメント属性を推論する(S52)。さらに、画像ECU23では、推論規則2を用いて、同じ矩形領域内の2つのセグメント毎にセグメント対属性である生起確率を求める。そして、画像ECU3では、推論規則1による生起確率と推論規則2による生起確率によりセグメント毎の各セグメント属性である生起確率を更新し、各セグメントのセグメント属性を更新する(S53)。なお、S53のセグメント属性更新処理については以下で詳細に説明する。
画像ECU23では、矩形領域の縦位置番号Vを0に初期化する(S53a)。さらに、画像ECU23では、基準セグメント番号Iを0に初期化し(S53b)、参照セグメント番号Jを0に初期化する(S53c)。画像ECU23では、基準セグメント番号Iと参照セグメント番号Jとが一致するか否かを判定し、一致する場合にはS53hの処理に移行する(S53d)。
S53dにて一致しない場合、画像ECU23では、基準セグメント(V,I)と参照セグメント(V,J)との水平相対位置を算出する(S53e)。そして、画像ECU23では、推論規則2により、基準セグメント(V,I)と参照セグメント(V,J)の全てのセグメント対属性の生起確率を算出する(S53f)。画像ECU23では、推論規則1による基準セグメント(V,I)の各セグメント属性の生起確率、推論規則1による参照セグメント(V,J)の各セグメント属性の生起確率及び推論規則2による各セグメント対属性の生起確率を用いて、基準セグメント(V,I)の各セグメント属性の生起確率を更新する(S53g)。
画像ECU23では、次のセグメントを参照セグメントとして処理を行うために、参照セグメント番号Jに1を加算する(S53h)。そして、画像ECU23では、参照セグメント番号Jが縦位置番号Vの矩形領域内に存在するセグメントの数N以上か否かを判定する(S53i)。S53iにて参照セグメント番号JがN未満の場合、画像ECU23では、S53dの処理に戻る。S53iにて参照セグメント番号JがN以上の場合、画像ECU23では、次のセグメントを基準セグメントとして処理を行うために、基準セグメント番号Iに1を加算する(S53j)。そして、画像ECU23では、基準セグメント番号Iが縦位置番号Vの矩形領域内に存在するセグメントの数N以上か否かを判定する(S53k)。S53kにて基準セグメント番号IがN未満の場合、画像ECU23では、S53cの処理に戻る。S53kにて基準セグメント番号IがN以上の場合、画像ECU23では、次の矩形領域に対して処理を行うために、縦位置番号Vに1を加算する(S53l)。そして、画像ECU23では、縦位置番号Vが撮像画像内に存在する矩形領域数以上か否かを判定する(S53m)。画像ECU23では、S53mにて縦位置番号Vが矩形領域数未満の場合にはS53bの処理に戻り、S53mにて縦位置番号Vが矩形領域数以上の場合には処理を終了する。
第3の実施の形態に係る道路環境認識システムによれば、第1の実施の形態に係る道路環境認識システムと同様の効果を有する上に、セグメント属性を推定するために同じ矩形領域の2つのセグメント間の水平位置関係も加味しているので、セグメント属性(道路環境)の認識精度が更に向上する。
次に、図26〜図29を参照して、第4の実施の形態に係る道路環境認識システムについて説明する。図26は、第4の実施の形態に係る道路環境認識装置の構成図である。図27は、第4の実施の形態における推論規則3(ベイジアンネット)のネットワーク構造の一例である。図28は、第4の実施の形態における推論規則妥当性に対する評価基準を説明するための一例である。図29は、第4の実施の形態における各道路構造に対する評価基準値を説明するための一例である。
第4の実施の形態に係る道路環境認識システムは、第1〜第3の実施の形態と同様にコンピュータと道路環境認識装置31からなるが、道路構造も考慮してセグメント属性の認識を行う点で第1〜第3の実施の形態と異なる。そのために、この道路環境認識システムでは、第1〜第3の実施の形態で用いた推論規則の他に、道路構造を推論するための推論規則3を用いる。道路構造としては、例えば、車線なし、片側一車線、片側二車線、交差点である。第1〜第3の実施の形態で用いた推論規則(推論規則1、推論規則2)については、道路構造毎に必要となる。したがって、コンピュータでは道路構造毎の推論規則1あるいは推論規則1と推論規則2及び推論規則3を作成し、道路環境認識装置31ではこれらの推論規則を保持して認識を行う。なお、第4の実施の形態では、セグメント検出については第1の実施の形態での処理を適用してもよいし、第2の実施の形態での処理を適用してもよい。また、第4の実施の形態では、セグメント属性の推定については、第1の実施の形態での処理を適用してもよいし、第3の実施の形態での処理を適用してもよい。
まず、コンピュータで事前に行う学習について説明する。コンピュータでは、第1の実施の形態のコンピュータで作成した推論規則1あるいは第3の実施の形態のコンピュータで作成した推論規則1及び推論規則2を作成する。この際、コンピュータでは、道路構造(車線なし、片側一車線等)に応じて推論規則1あるいは推論規則1及び推論規則2をそれぞれ作成する。
また、コンピュータでは、ベイジアンネットによる統計分析手法を利用して、GPS[Global Positioning System]による妥当性と撮像画像による妥当性とを組み合せて総合的に判断を行うための推論規則3を作成する。この推論規則3は、GPSデータから求めた妥当性、道路構造に応じた利用すべき推論規則、画像認識結果からの妥当性の評価尺度からなる。GPSデータから求めた妥当性とは、GPSを利用した現在位置から得られた現在位置から得られた地図情報に基づく道路構造についての妥当性である。図27には、推論規則3のベイジアンネットのネットワーク構造の一例を示している。
次に、道路環境認識装置31について説明する。道路環境認識装置31は、第1〜3の実施の形態に係る道路環境認識装置1,11,21に対して、道路構造を考慮した推論規則3を用いて道路環境(セグメント属性)を認識する点が異なる。そのために、道路環境認識装置31は、カメラ2,GPS受信機32及び画像ECU33を備え、画像ECU33に道路構造仮説生成部33a、仮説検証部33b、最適道路構造選択部33c、結果出力部3dが構成される。
なお、第4の実施の形態では、GPS衛星32が特許請求の範囲に記載する位置取得手段に相当し、道路構造仮説生成部33aが特許請求の範囲に記載する地図情報取得手段に相当し、仮説検証部33b及び最適道路構造選択部33cが特許請求の範囲に記載する道路状態推定手段に相当する。
GPS受信機32は、GPS衛星から発信される電波を受信する受信機である。GPS受信機32では、24個GPS衛星のうちのいくつかのGPS衛星の電波を受信し、その受信した電波をGPS信号として画像ECU33に送信する。ちなみに、少なくとも3つのGPS衛星からの電波を受信できれば、GPS衛星の位置と電波の到達時間等から現在位置(緯度、経度)を計算することができる。
画像ECU33では、第1〜第3の実施の形態に係る画像ECU3,13,23より、更に高い認識精度でセグメント属性を認識することができる。そのために、画像ECU33では、推論規則3により推定した道路構造に応じて、セグメント属性を推定するための推論規則1あるいは推論規則1及び推論規則2を切り替える。その際、画像ECU33では、GPSを利用して現在位置を取得し、取得した現在位置の地図情報を利用する。画像ECU23には、ROMにコンピュータで作成した推論規則3及び推論規則1あるいは推論規則1と推論規則2が記憶され、さらに、ROMに地図情報が記憶されている。この地図情報は、少なくとも各道路の道幅情報を含む道路地図とする。なお、各道路の車線数の情報を備える道路地図がある場合、その地図情報を利用する。
なお、現在位置を取得する手段としては、GPSを利用する手段だけでなく、路車間通信あるいはナビゲーションシステムが搭載されている場合にはそのシステムの現在位置情報を利用するなど、他の手段を用いてもよい。さらに、ナビゲーションシステムが搭載されている場合、そのシステムから地図情報を取得してもよい。また、道路構造を推定する手段としては、GPSと地図情報を利用するが、信号機や横断歩道等の画像による認識など、他の手段を用いてもよい。
道路構造仮説生成部33aでは、GPS受信機32から複数のGPS信号を受信し、これらのGPS信号に基づいて現在位置を算出する。ただし、GPS測位による位置情報には数10〜数100m程度の誤差が含まれているので、現在位置は誤差楕円として与えられる。そして、道路構造仮説生成部33aでは、取得した現在位置周辺の地図情報を読み出す。この際、地図情報では各道路の道幅が判るので、この道幅から各道路の車線数を推定でき、複数の道路の交差状態から交差点を推定することができる。道路構造仮説生成部33aでは、現在位置周辺の地図情報と現在位置の誤差楕円とを比較し、現在位置周辺の各道路構造の生起確率を算出する。例えば、現在位置周辺に2本の道路があり、その2本の道路が道幅から「車線なし」と「片側一車線」の場合、誤差楕円の中心からの距離に基づいて、「車線なし」の生起確率をX%、「片側一車線」の生起確率を(100−X)%とする。
ちなみに、利用する道路構造が一意に定まらないのは、現在位置に誤差を含んでいること及び道路構造を完全に区別する情報を有する道路地図がないことによる。一般に、ナビゲーションで現在利用されている道路地図は、道幅に対する大まかな情報は持っているが、正確な車線数を持っていない。
仮説検証部33bでは、道路構造仮説生成部33aで仮説生成した各道路構造に対する推論規則を用いてセグメント属性の認識処理をそれぞれ行う。ここでは、第1の実施の形態(推論規則1のみ)または第3の実施の形態(推論規則1及び推論規則2)で説明したいずれかの手法によって認識を行う。この際、生起確率がない道路構造の推論規則については認識処理を行う必要はない。また、道路構造が異なるので、異なる推論規則を利用して認識する場合、セグメントを抽出する処理については共通であり、各セグメント属性を推定する処理については各推論規則を利用して道路構造毎に処理を行う。セグメント属性を推定する処理は処理負荷が軽いので、複数の道路構造に対して行っても全体の処理速度に大きな影響は与えない。なお、セグメントを抽出する処理については、第1の実施の形態あるいは第2の実施の形態で説明したいずれかの手法によって行う。
最適道路構造選択部33cでは、推論規則3を用いて各道路構造に対する推論規則を利用する妥当性を評価し、最適な道路構造を選択する。つまり、GPSと地図情報による道路構造の妥当性と各道路構造に対する推論規則を利用した場合の認識結果の妥当性から総合的に判断し、最も妥当な道路構造に対する推論規則によるセグメント属性を採用する。
この総合的な判断の手法について説明する。GPSと地図情報による妥当性は明確であるので、各推論規則を利用した認識結果から妥当性を求める基準を決める。一般に、推論規則作成時より車線が少ない道路構造を認識すると、必要なセグメント属性が全て認識することができない。例えば、「片側一車線」で作成した推論規則で「車線なし」の道路構造を認識する場合、「レーンマーカ右2」は認識されない。逆に、推論規則作成時より車線が多い道路構造を認識すると、必要なセグメント属性が全て認識され、その推論規則を利用する妥当性を判断することが困難である。そこで、多い車線数に対して学習された推論規則を利用して認識を行った場合に認識できないセグメント属性がどれだけあるかで、推論規則の妥当性を評価する。
実際の評価では、推論規則作成時の道路構造にあるべきセグメント属性(例えば、「片側一車線」の場合、「レーンマーカ左1」、「レーンマーカ右1」、「レーンマーカ右2」、「道路境界左1」、「道路境界右2」)として認識されたセグメント属性全てに対してそのセグメント属性である生起確率を矩形領域の縦位置番号毎にそれぞれ算出し、その生起確率の総和を算出する。この生起確率の総和が高いほど、認識対象の撮像画像から推論規則作成時の道路構造にあるべきセグメント属性を認識できているので、利用している推論規則の妥当性が高い。この生起確率の総和に対する評価とGPSと地図情報による各道路構造の生起確率に基づいて、最も妥当性の高い道路構造を決め、その道路構造に対する推論規則を利用した場合の認識結果を最終的な認識結果とする。
図28には、「片側一車線」の推論規則を利用した場合に認識された各セグメント属性の矩形領域の縦位置番号毎の生起確率の一例を示している。また、図29には、「片側一車線」の道路構造を撮像した撮像画像または「車線なし」の道路構造を撮像した撮像画像を認識対象として、「片側一車線」の推論規則を利用した場合の評価の一例をグラフ化している。このグラフでは、横軸が認識対象の撮像画像毎の生起確率の総和であり、縦軸が多数枚の撮像画像に対して評価を行った場合の各生起確率の総和であった撮像画像の枚数(度数)である。「車線なし」を認識対象とした場合、生起確率の総和は、殆どの撮像画像について10以下となり、低い値である(図29の一点鎖線のグラフ参照)。「片側一車線」を認識対象とした場合、生起確率の総和は、殆どの撮像画像について10以上となり、高い値である(図29の実線のグラフ参照)。この場合、生起確率の総和に対する評価基準値を10とすることにより、推論規則の妥当性を判断することができる。つまり、生起確率の総和が10以上となった場合、認識対象の道路構造(「片側一車線」)と利用している推論規則の道路構造(「片側一車線」)が一致していると判断できる。この生起確率の総和に対する評価基準値については、コンピュータにおいて予め各道路構造に評価基準値を求め、道路環境認識装置31のROMに記憶させておく。
次に、道路環境認識システムにおける動作について説明する。ここでは、道路環境認識装置31における実際の道路環境認識については、図30のフローチャートに沿って説明する。図30は、図26の道路環境認識装置における処理の流れを示すフローチャートである。
まず、コンピュータによる学習について説明する。コンピュータでは、第1の実施の形態あるいは第3の実施の形態と同様の手法により、各道路構造に対する推論規則をそれぞれ作成する。また、コンピュータでは、GPSデータから求めた妥当性、利用すべき推論規則の妥当性及び画像認識結果からの妥当性評価尺度からなる推論規則3を作成する。さらに、コンピュータでは、画像認識結果からの妥当性評価を行うために、各道路構造に対する評価基準値を求める。
次に、道路環境認識装置31における道路環境認識について説明する。道路環境認識装置31では、GPS受信機32により複数のGPS衛星からの電波を受信し、その電波をGPS信号として画像ECU33に送信する。また、道路環境認識装置31では、カメラ2により前方の道路を撮像し、その撮像画像のデータを画像ECU33に送信する。
画像ECU33では、複数のGPS信号から現在位置を誤差楕円として算出する(S60)。そして、画像ECU33では、現在位置周辺の地図情報を取得する(S61)。さらに、画像ECU33では、その地図情報から得られる各道路の道幅に基づいて、現在位置周辺の各道路構造の生起確率を算出する(S62)。
また、画像ECU33では、GPSと地図情報によって得られた各道路構造の推論規則をそれぞれ利用し、撮像画像に対するセグメント属性の認識処理をそれぞれ行う(S63)。
さらに、画像ECU33では、GPSと地図情報によって得られた道路構造のうち車線数の多い道路構造に対する推論規則を利用して認識処理を行った場合に認識された全てのセグメント属性の生起確率の総和を算出する。そして、画像ECU33では、その生起確率の総和を評価基準値と比較し、撮像画像の認識結果からの妥当性を評価する。さらに、画像ECU33では、その認識結果からの妥当性の評価にGPSデータから求めた妥当性(すなわち、GPSと地図情報による各道路構造の生起確率)を加味して各推論規則を利用する妥当性を検証し、最も妥当な推論規則を決定する(S64)。利用すべき推論規則が決まるということは、必然的に、道路構造も判る。
画像ECU33では、最も妥当な推論規則によって推論したセグメント属性を最終的な認識結果とする(S65)。そして、画像ECU33では、第1の実施の形態などと同様に、その認識結果に対してフィルタリングを行い、各セグメント属性とそのセグメント群を認識結果として道路環境の情報を必要とする他の装置に出力する(S65)。
第4の実施の形態に係る道路環境認識システムによれば、第1〜第3の実施の形態に係る道路環境認識システムと同様の効果を有する上に、セグメント属性を推定するために道路構造も加味しているので、セグメント属性(道路環境)の認識精度が更に向上する。
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
例えば、本実施の形態ではコンピュータと道路環境認識装置からなる道路環境認識システムとして構成したが、学習機能も有する道路環境認識装置だけで構成するなどの他の構成としてもよい。
また、本実施の形態では認識対象の属性としてレーンマーカ左1、道路境界左1等の8つとしたが、これら以外の属性としてもよい。例えば、レーンマーカや道路境界以外の横断歩道等の他の道路環境を属性としてもよい。
また、本実施の形態では統計分析手法としてベイジアンネットを利用したが、ニューラルネットなどの他の手法を利用してもよい。
1,11,21,31…道路環境認識装置、2…カメラ、3,13,23,33…画像ECU、3a…セグメント検出部、3b…セグメント特徴算出部、3c…セグメント属性推定部、3d…結果出力部,13a…画像分割部、13b…セグメント検出部、13c…連続性評価部、13d…曲線近似部、23a…セグメント属性更新部,32…GPS受信機、33a…道路構造仮説生成部、33b…仮説検証部、33c…最適道路構造選択部