(57)【要約】      （修正有）【課題】局所的な情報で路面と立体物とを区別して正確に判定する。【解決手段】異なる視点の各々からカメラ１０Ｒ，１０Ｌにより対象物を撮影することにより、視差を有する左右画像を取得し、照合手段１４で左右画像の各々において対応した点における視差を演算し、立体・路面判定手段１６で、一方の辺が視差、他方の辺が画像の横方向の位置に各々対応し、かつ視差が大きくなるに従って視差に対応する辺及び横方向の位置に対応する辺が長くなるように定められたブロックを複数配列した視差マップの各々のブロックに、視差が演算された視差点に関する情報を投票し、近距離のブロックの情報に基づいてカメラの高さ及びピッチ角を更新し、更新されたカメラの高さ及びピッチ角及び遠距離のマップの情報に基づいて、縦断曲率を更新し、更新されたカメラの高さ及びピッチ角、及び更新された縦断曲率で定まる道路形状を示す方程式に基づいて立体か路面かを判断する。【選択図】図１
2006234682.tif 000002
【特許請求の範囲】
【請求項１】
異なる視点の各々から対象物を撮影することにより、視差を有する複数の画像を表す画像データを取得する撮影手段と、
前記複数の画像を表す画像データに基づいて、複数の画像の各々において対応した点における視差を演算する演算手段と、
一方の辺が視差、他方の辺が画像の横方向の位置に各々対応し、かつ視差が大きくなるに従って前記視差に対応する辺及び前記横方向の位置に対応する辺が長くなるように定められたブロックを複数配列した視差マップの各々のブロックに、視差が演算された視差点に関する情報を対応させ、近距離に属するブロックに対応する情報に基づいて前記撮影手段のピッチ角及び高さを推定すると共に、推定された前記撮影手段のピッチ角及び高さと遠距離に属するブロックに対応する情報とに基づいて、縦断曲率を推定する演算手段と、
推定されたピッチ角、高さ、及び縦断曲率に基づいて定まる路面の形状を示す方程式の値に基づいて、各ブロックに立体の属性、路面の属性、及び立体及び路面のいずれにも属さないことを示す不定の属性を与える属性付与手段と、
を含む対象物判定装置。
【請求項２】
対応された視差点の視差方向への分布が小さくかつ画像の縦方向への分布が大きい第１ブロック、対応された視差点の視差方向への分布が大きくかつ画像の縦方向への分布が小さい第２ブロック、対応された視差点の視差方向への分布が所定範囲内でかつ画像の縦方向への分布が所定範囲内の第３ブロックを判定するブロック判定手段を更に備え、
前記属性付与手段は、前記第１ブロック、前記第２ブロック、及び前記第３ブロックに対する前記方程式の値に基づいて、各ブロックに立体の属性、路面の属性、及び不定の属性を与える請求項１記載の対象物判定装置。
【請求項３】
前記ブロック判定手段は、前記視差点に関する情報が対応されたブロックの各々について、視差の偏差及び画像の縦方向位置の偏差を演算し、対応された視差点の個数が第１の閾値以上、前記縦方向位置の偏差が第２の閾値以上、かつ視差の偏差に対する前記縦方向位置の偏差の比が第３の閾値以上のブロックを第１ブロックと判定し、対応された視差点の個数が前記第１の閾値以上、前記縦方向位置の偏差が前記第２の閾値より小さい第４の閾値未満、かつ視差の偏差に対する前記縦方向位置の偏差の比が前記第３の閾値より小さい第５の閾値未満のブロックを第２ブロックと判定し、対応された視差点の個数が前記第１の閾値以上、前記縦方向位置の偏差が前記第２の閾値未満でかつ前記第４の閾値以上、かつ視差の偏差に対する前記縦方向位置の偏差の比が前記第３の閾値未満でかつ前記第５の閾値以上のブロックを第３ブロックと判定する請求項２記載の対象物判定装置。
【請求項４】
異なる視点の各々から対象物を撮影することにより、視差を有する複数の画像を表す画像データを取得する撮影手段と、
前記複数の画像を表す画像データに基づいて、複数の画像の各々において対応した点における視差を演算すると共に、前記演算された視差及び視差が演算された視差点の画像上の位置に基づいて、該視差点の実空間における横方向の位置、高さ方向の位置、及び前記視点からの距離を演算する演算手段と、
一方の辺が前記距離、他方の辺が前記横方向の位置に各々対応し、かつ大きさが同一になるように定められたブロックを複数配列した視差マップの各々のブロックに、視差が演算された視差点に関する情報を対応させ、近距離に属するブロックに対応する情報に基づいて前記撮影手段のピッチ角及び高さを推定すると共に、推定された前記撮影手段のピッチ角及び高さと遠距離に属するブロックに対応する情報とに基づいて、縦断曲率を推定する演算手段と、
推定されたピッチ角、高さ、及び縦断曲率に基づいて定まる路面の形状を示す方程式の値に基づいて、各ブロックに立体の属性、路面の属性、及び立体及び路面のいずれにも属さないことを示す不定の属性を与える属性付与手段と、
を含む対象物判定装置。
【請求項５】
対応された視差点の前記距離方向への分布が小さくかつ前記高さ方向への分布が大きい第１ブロック、対応された視差点の前記距離方向への分布が大きくかつ高さ方向への分布が小さい第２ブロック、及び対応された視差点の前記距離方向への分布が所定範囲内でかつ高さ方向への分布が所定範囲内の第３ブロックを判定するブロック判定手段を更に備え、
前記属性付与手段は、前記第１ブロック、前記第２ブロック、及び前記第３ブロックに対する前記方程式の値に基づいて、各ブロックに立体の属性、路面の属性、及び不定の属性を与える請求項４記載の対象物判定装置。
【請求項６】
前記ブロック判定手段は、前記視差点に関する情報が対応されたブロックの各々について、前記距離の偏差及び前記高さ方向の位置の偏差を演算し、対応された視差点の個数が第１の所定値以上、前記高さ方向の位置の偏差が第２の所定値以上、かつ前記距離の偏差に対する前記高さ方向の位置の偏差の比が第３の所定値以上のブロックを第１ブロックと判定し、対応された視差点の個数が前記第１の所定値以上、前記高さ方向の位置の偏差が前記第２の所定値より小さい第４の所定値未満、かつ前記距離の偏差に対する前記高さ方向の位置の偏差の比が前記第３の所定値より小さい第５の所定値未満のブロックを第２ブロックと判定し、対応された視差点の個数が第１の所定値以上、前記高さ方向の位置の偏差が前記第２の所定値未満でかつ前記第４の所定値以上、かつ前記距離の偏差に対する前記高さ方向の位置の偏差の比が前記第３の所定値未満でかつ前記第５の所定値以上のブロックを第３ブロックと判定する請求項５記載の対象物判定装置。
【請求項７】
前記属性付与手段は、前記方程式の値を基準とした視差点の画像の縦方向の位置が第１の値を超えるときに立体の属性を与え、前記位置が第２の値未満のときに路面の属性を与え、前記位置が第１の値以下でかつ前記第２の値以上のときに不定の属性を与える請求項１〜請求項６のいずれか１項記載の対象物判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物判定装置に係り、特に、車両前方の対象物が立体物であるか路面であるかを判定する車両用の対象物判定装置に関する。
【背景技術】
【０００２】
従来より、道路表面からの高さに基づいて、道路と立体物とを区別する車両用車外監視装置が知られている（特許文献１）。この車両用車外監視装置で道路を検出する場合には、道路面に近い（高さの低い）距離データを選択し、道路モデルを用いて道路形状を検出している。一方、立体物を検出するには、予め求められた視差点のうち道路面からの高さが１０ｃｍ以下の視差点を削除する。そして、視差と画像横幅が一定（視差解像度１、画像は横幅４画素）の格子毎に視差点数のヒストグラムを求め、その最大値を立体物のデータとして選択している。
【０００３】
また、道路や床等のパターンの特徴が少ない地面を大局的に平面近似することにより、地面を平面として認識する平面推定方法が提案されている（特許文献２）。この平面推定方法では、ｍ画素×ｎ画素のブロックについて対応を取り、距離（視差点）を求め、画像の縦位置（ｉＹ）が共通する領域内に存在するブロックを取り出し、対応の取れたブロックを用いて直線近似を行なう。この直線近似を行なうことにより、対応の取れていないブロックに対して距離が補間される。そして、画像の縦位置（ｉＹ）を変化させて各々で直線近似を行い、全ての画像の縦位置（ｉＹ）で直線近似が終了した後、画像全体で平面の推定を行なうことで路面を検出している。
【０００４】
また、複数のラインセンサで得られる距離データに基づいて、縦断曲率を計算して道路構造を測定する道路構造測定装置が知られている。
【特許文献１】特開平５−２６５５４７号公報
【特許文献２】特開平９−８１７５５号公報
【特許文献３】特開平８−３１３２５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の特許文献１の技術では、路面に近い距離データを検出することで路面モデルを作成しているので、路面に白線等が存在していない場合には、路面に近い距離データを検出することができず、路面モデルを作成することができない場合が発生する。また、特許文献２の技術では、道路パターンが少ない場合にも適用することができるが、地面を大局的に近似しているため、道路上に歩行者が立っている場合も平面として見なしてしまう場合がある、という問題がある。
【０００６】
また、特許文献３の技術では、縦断曲率のみを計算しているため、ピッチ等を伴う実走行では正確に道路構造を測定することが困難である、という問題がある。この問題を解決するために、カメラのピッチ角及び高さを推定し、縦断曲率を補正することが考えられる。しかしながら、視差を有する画像の特徴として近距離程距離の分解能が高く、かつ視差点の数も多い。一方、遠距離では距離の分解能が低く、かつ視差点も少なくなので、遠距離に属するブロックか近距離に属するブロックかを判断することなく、カメラのピッチ角を推定すると、近距離に対応するブロックの情報の影響を受け易い、という問題が発生する。また、近距離に対応するブロックの情報に基づいて縦断曲率を推定すると、ノイズ等の影響で遠距離において大きな誤差になる、という問題が発生する。
【０００７】
また、従来の技術では、一定の視差間隔と画像横位置間隔とで定まるブロックを用いているため、マップの１つの要素の横幅の大きさは、実空間の３次元空間座標での距離と大きさが不均一になるため、視差の最大値やマップへの視差点の投票数で対象物を判断しており、正確に対象物を判断することが困難になる、という問題があった。
【０００８】
本発明は、上記問題を解決すべく成されたもので、ピッチ等を伴う実走行においても正確に道路構造を測定し、局所的な情報で路面と立体物とを正確に区別して判定することができる対象物判定装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明は、異なる視点の各々から対象物を撮影することにより、視差を有する複数の画像を表す画像データを取得する撮影手段と、前記複数の画像を表す画像データに基づいて、複数の画像の各々において対応した点における視差を演算する演算手段と、一方の辺が視差、他方の辺が画像の横方向の位置に各々対応し、かつ視差が大きくなるに従って前記視差に対応する辺及び前記横方向の位置に対応する辺が長くなるように定められたブロックを複数配列した視差マップの各々のブロックに、視差が演算された視差点に関する情報を対応させ、近距離に属するブロックに対応する情報に基づいて前記撮影手段のピッチ角及び高さを推定すると共に、推定された前記撮影手段のピッチ角及び高さと遠距離に属するブロックに対応する情報とに基づいて、縦断曲率を推定する演算手段と、推定されたピッチ角、高さ、及び縦断曲率に基づいて定まる路面の形状を示す方程式の値に基づいて、各ブロックに立体の属性、路面の属性、及び立体及び路面のいずれにも属さないことを示す不定の属性を与える属性付与手段と、を含んで構成したものである。
【００１０】
本発明では、近距離に属するブロックに対応する情報に基づいて撮影手段のピッチ角及び高さを推定すると共に、推定された撮影手段のピッチ角及び高さと遠距離に属するブロックに対応する情報とに基づいて、縦断曲率を推定しているので、撮影手段のピッチ角及び高さ、縦断曲率を正確に推定することができ、これにより、ピッチ等を伴う実走行においても正確に道路構造を測定し、局所的な情報で路面と立体物とを正確に区別して判定することができる。
【００１１】
本発明では、対応された視差点の視差方向への分布が小さくかつ画像の縦方向への分布が大きい第１ブロック、対応された視差点の視差方向への分布が大きくかつ画像の縦方向への分布が小さい第２ブロック、対応された視差点の視差方向への分布が所定範囲内でかつ画像の縦方向への分布が所定範囲内の第３ブロックを判定するブロック判定手段を更に設け、属性付与手段によって、前記第１ブロック、前記第２ブロック、及び前記第３ブロックに対する前記方程式の値に基づいて、各ブロックに立体の属性、路面の属性、及び不定の属性を与えるようにすることができる。
【００１２】
立体物の視差点は、実空間座標において距離方向の広がりが小さくかつ高さ方向に大きく広がって分布し、すなわち視差点は画像上で視差方向の分布が小さくかつ縦方向に大きく分布し、一方、路面の視差点は、実空間座標において高さ方向の広がりが小さくかつ距離方向に大きく広がって分布する、という特性を持っているので、上記のように第１ブロック、第２ブロック、及び第３ブロックを判定することにより、局所的な各ブロックに立体、路面、または不定の属性を与えることができ、この与えられた属性から対象物が立体なのか路面なのかを判断することができる。
【００１３】
本発明で第１ブロック、第２ブロック、及び第３ブロックを判定する場合、前記視差点に関する情報が対応されたブロックの各々について、視差の偏差及び画像の縦方向位置の偏差を演算し、対応された視差点の個数が第１の閾値以上、前記縦方向位置の偏差が第２の閾値以上、かつ視差の偏差に対する前記縦方向位置の偏差の比が第３の閾値以上のブロックを第１ブロックと判定し、対応された視差点の個数が前記第１の閾値以上、前記縦方向位置の偏差が第２の閾値より小さい第４の閾値未満、かつ視差の偏差に対する前記縦方向位置の偏差の比が第３の閾値より小さい第５の閾値未満のブロックを第２ブロックと判定し、対応された視差点の個数が前記第１の閾値以上、前記縦方向位置の偏差が前記第２の閾値未満でかつ前記第４の閾値以上、かつ視差の偏差に対する前記縦方向位置の偏差の比が前記第３の閾値未満でかつ前記第５の閾値以上のブロックを第３ブロックと判定することができる。
【００１４】
上記では、視差マップのブロックを視差と画像の横方向位置とによって定めたが、視差は実空間における視点からの距離に対応し、画像の縦方向の位置は実空間における高さ方向の位置に対応し、画像の横方向の位置は実空間における横方向の位置に対応するので、一方の辺が前記距離、他方の辺が前記実空間における横方向の位置に各々対応し、かつ大きさが同一になるように定められたブロックを複数配列して視差マップを定めるようにしてもよい。
【００１５】
この場合には、視差マップの各々のブロックに演算された視差点に関する情報を例えば投票する等によって対応させ、対応された視差点の前記距離方向への分布が小さくかつ前記高さ方向への分布が大きいブロックを第１ブロック、対応された視差点の前記距離方向への分布が大きくかつ高さ方向への分布が小さいブロックを第２ブロック、対応された視差点の前記距離方向への分布が所定範囲内でかつ高さ方向への分布が所定範囲内のブロックを第３ブロックと判定することができる。
【００１６】
また、実空間の情報を用いて第１ブロック、第２ブロック、及び第３を判定する場合には、前記視差点に関する情報が対応されたブロックの各々について、前記距離の偏差及び前記高さ方向の位置の偏差を演算し、対応された視差点の個数が第１の所定値以上、前記高さ方向の位置の偏差が第２の所定値以上、かつ前記距離の偏差に対する前記高さ方向の位置の偏差の比が第３の所定値以上のブロックを第１ブロックと判定し、対応された視差点の個数が前記第１の所定値以上、前記高さ方向の位置の偏差が第２の所定値より小さい第４の所定値未満、かつ前記距離の偏差に対する前記高さ方向の位置の偏差の比が第３の所定値より小さい第５の所定値未満のブロックを第２ブロックと判定し、対応された視差点の個数が第１の所定値以上、前記高さ方向の位置の偏差が前記第２の所定値未満でかつ前記第４の所定値以上、かつ前記距離の偏差に対する前記高さ方向の位置の偏差の比が前記第３の所定値未満でかつ前記第５の所定値以上のブロックを第３ブロックと判定することができる。
【発明の効果】
【００１７】
以上説明したように本発明によれば、近距離に属するブロックに対応する情報に基づいて撮影手段のピッチ角及び高さを推定すると共に、推定された撮影手段のピッチ角及び高さと遠距離に属するブロックに対応する情報とに基づいて、縦断曲率を推定しているので、撮影手段のピッチ角及び高さ、縦断曲率を正確に推定することができ、これにより、ピッチ等を伴う実走行においても正確に道路構造を測定し、局所的な情報で路面と立体物とを正確に区別して判定することができる、という効果が得られる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明の実施の形態を詳細に説明する。図１に示すように、本実施の形態には、異なる視点から車両の前方を撮影するように車両のフロントウインドウ上部等に所定間隔隔て取り付けられた右側カメラ１０Ｒ、及び左側カメラ１０Ｌが設けられている。この右側カメラ１０Ｒ、及び左側カメラ１０Ｌは、小型のＣＣＤカメラまたはＣＭＯＳカメラで構成され、自車両の前方の道路状況を含む領域を撮影し、撮影により得られた画像データを出力する。
【００１９】
右側カメラ、及び左側カメラは、所定間隔隔てて取り付けられているため、図２に示すように対象物を撮影すると視差を有する複数の画像である左画像及び右画像が得られる。得られた２つの画像は視差を有しているので、２つの画像間で対応点や対応領域等の対応部位を対応させることにより三角測量の原理に基づいて物体までの距離を演算するステレオ画像処理によって、視差（距離データ）を求めることができる。
【００２０】
なお、上記では、右側カメラ及び左側カメラの２台のカメラを備えた撮影装置を用いて異なる視点から対象物を撮影することにより視差画像を取得する例について説明したが、１台のカメラを左右方向に往復移動させて異なる視点から対象物を撮影することにより視差画像を取得するようにしてもよい。
【００２１】
右側カメラ１０Ｒ、及び左側カメラ１０Ｌは、撮影により得られた画像データをデジタル信号に変換するＡ／Ｄ変換器を備えた画像入力手段１２に接続されている。画像入力手段１２は、左右画像間の類似度を検出することにより距離の照合を行ない、左右画像間で対応する点の視差を検出する照合手段１４に接続されている。照合手段１４では、図２に示すように左画像及び右画像にＭ×Ｎの大きさの相関の領域内に視差算出点を設定し、差分絶対和（ＳＡＤ）を用いて視差を算出する。すなわち、以下の式に従って相関指標Ｓ（ｉＸ，ｉＹ，ｄ）を演算し、この相関指標Ｓ（ｉＸ，ｉＹ，ｄ）の値を最小にするｄの値（０≦ｄ≦視差検出幅）を視差算出点（ｉＸ，ｉＹ）における視差ｉＤとして求め、視差算出点における座標（ｉＸ，ｉＹ）及び視差ｉＤを出力する。
【００２２】
なお、右画像及び左画像のサイズは、各々Ｖ×Ｈであり、０≦ｉＸ≦Ｖ、０≦ｉＹ≦Ｈである。
【００２３】
【数１】
2006234682.tif 000003
【００２４】
ただし、Ｉｒは、右側カメラで撮影された画像の各比較点における比較量（明度等）、Ｉｌは、左側カメラで撮影された画像の各比較点における比較量、Ｍは画像の縦方向の相関領域サイズ、Ｎは画像の横方向の相関領域サイズである。
【００２５】
なお、照合手段１４では、差分絶対値和に代えて、差分の自乗和や正規化関数を用いて視差を演算するようにしてもよい。
【００２６】
照合手段１４は、立体・路面判定手段１６に接続されている。この立体・路面判定手段１６では、以下で説明する視差投票マップを用いて視差マップのブロックに視差算出点における情報を投票し、対象となる局所領域が立体に属しているか、路面に属しているかの判定を行なう。
【００２７】
立体・路面判定手段１６には、予め定められた縦断曲率、カメラピッチ角、及びカメラ高さを修正し、修正した縦断曲率Ｔａ、ピッチ角Ｔｂ、及びカメラ高さＴｃに基づいて、以下の式に従って路面の形状を表す方程式Ｙｗの値を演算し、演算された方程式Ｙｗの値に基づいて、立体・路面判定手段１６で判定された判定結果を修正することにより、路面であるか立体であるかを推定する路面推定手段１８が接続されている。なお、Ｚｗはカメラ位置を基準とした車両前方側の距離である。
【００２８】
Ｙｗ＝Ｔａ・Ｚｗ2＋Ｔｂ・Ｚｗ＋Ｔｃ          ・・・（２）
上記照合手段１４、立体・路面判定手段１６、及び路面推定手段１８はは、１つのＭＰＵ（マイクロプロセッシングユニット）で構成することができるが、別々のＭＰＵで構成してもよい。
【００２９】
まず、本実施の形態の立体・路面判定手段で実行される立体・路面の判定処理を図３を参照して説明する。立体・路面判定手段１６には、図４に示す視差投票マップが用意されている。この視差投票マップは、横方向の辺を画面の横方向（ｉＸ軸方向）の位置に対応させ、かつ縦方向の辺が視差ｉＤの大きさに対応するように定められた複数の矩形状のブロックを配列させて構成されている。各ブロックは、視差が大きくなるに従って画像の横方向の長さを長くすると共に、視差が大きくなるに従って視差の解像度を大きくする、すなわち視差に対応する辺の長さを長くすることにより、視差が大きくなるに従って領域が大きくなるように定められている。
【００３０】
本実施の形態では、視差投票マップは平面１〜平面５の複数の領域に分割されており、複数の領域の各々は、所定の視差幅に対応するように定められている。本実施の形態では、視差を８ビットで表した場合、平面１が視差０〜１５、平面２が視差１６〜３１、平面３が視差３２〜６３、平面４が視差６４〜１２７、平面５が視差１２８〜２５５に対応するように定められている。
【００３１】
また、平面１の各ブロックの大きさは横方向をＮ画素、縦方向（視差方向）を１画素の大きさ、平面２の各ブロックの大きさは横方向を２Ｎ画素、縦方向（視差方向）を２画素の大きさ、平面３の各ブロックの大きさは横方向を４Ｎ画素、縦方向（視差方向）を４画素の大きさ、平面４の各ブロックの大きさは横方向を８Ｎ画素、縦方向（視差方向）を８画素の大きさ、平面５の各ブロックの大きさは横方向を１６画素、縦方向（視差方向）を１６画素の大きさになるように定めら、各平面のブロックは格子状に配列されている。なお、Ｎは、例えば４とすることができる。
【００３２】
本実施の形態のように、視差投票マップを構成する要素であるブロックの大きさを視差が大きくなるに従って領域が画面上で大きくなるように定めることにより、視差投票マップを構成する１つの要素が３次元実空間では略同じ大きさになる。また、このように視差投票マップを構成することで、視差が大きな領域のブロック数が少なくなるので、視差投票マップ及びマップの各ブロックに対応する情報を記憶するメモリの容量を低減することができる。
【００３３】
立体・路面判定手段１６では、照合手段１４で算出された視差ｉＤ、及び座標（ｉＸ，ｉＹ）を含む視差に関する情報が入力されると、視差に関する情報を視差投票マップの視差ｉＤ及び座標ｉＸに対応するブロックに投票することにより、視差投票マップのブロックと視差算出点に関する情報とを対応させる。そして、照合手段で照合が取れた視差算出点、すなわち視差が算出された視差算出点の全ての投票が終了した後、各ブロックの各々について視差算出点の投票数、視差ｉＤの平均、視差ｉＤの偏差、画像の縦方向の座標ｉＹの平均、縦方向の座標ｉＹの偏差が演算され、各ブロックに対応させてメモリに記憶される。
【００３４】
図３のステップ１００では、各ブロックに対応させて記憶した投票数、座標ｉＹの偏差、及び視差ｉＤの偏差を１つのブロックについて読み込み、ステップ１０２において投票数が平面毎に設定された閾値１以上か否かを各ブロック毎に判断する。距離が近い程、左右画像の対応を取ることができ、視差算出点の個数が多くなるので、閾値１は平面１から平面５に向かって徐々に大きくなるように設定することができる。
【００３５】
投票数が閾値１未満の場合には、左右画像間で対応が取れた視差算出点の個数が少ないことから立体か路面かの判定が困難なため、ステップ１０４においてそのブロックに対してはノイズとして判定対象外であることを示す属性を設定する。
【００３６】
ステップ１０２で、投票数が閾値１以上と判断されたときは、ステップ１０６において座標ｉＹの偏差が閾値２以上で、かつ視差ｉＤの偏差に対する座標ｉＹの偏差の比（座標ｉＹの偏差／視差ｉＤの偏差）が閾値３以上かを判断する。座標ｉＹの偏差が閾値２以上の場合は、視差算出点が縦方向に大きく分布していることを表し、比が閾値３以上の場合は、視差算出点の視差方向への分布が小さいことを表しているので、立体と判断し、ステップ１０８においてそのブロックに立体の属性を設定する。
【００３７】
一方、ステップ１０６で否定判断された場合は、ステップ１１０において、座標ｉＹの偏差が閾値４（＜閾値２）未満で、かつ比（座標ｉＹの偏差／視差ｉＤの偏差）が閾値５（＜閾値３）未満か否かを判断する。座標ｉＹの偏差が閾値４未満で、かつ比が閾値５未満の場合は、視差算出点の縦方向の分布が小さく、かつ視差方向の分布が大きいので、路面と判断し、ステップ１１２においてそのブロックに路面の属性を設定する。
【００３８】
一方、ステップ１１０において否定判断された場合、すなわち、閾値４≦ｉＹの偏差＜閾値２で、かつ閾値５≦比＜閾値３の場合には、路面とも立体とも判断ができないのでステップ１１８において不定の属性を設定する。
【００３９】
次のステップ１２０では、上記のように判定したブロックが最後のブロックか否かを判断し、最後のブロックで無い場合は、ステップ１２２で次のブロックの視差算出点に関する情報を読み込み、上記と同様の処理を行なって、全てのブロックについて属性を判断が終了するまで上記の処理を繰り返す。
【００４０】
全てのブロックについて判断が終了した後、ステップ１１４で最初のブロックの属性データを読み込み、ステップ１１６において路面の属性か否かを判断する。路面の属性でない場合はこのルーチンを終了し、路面の属性の場合にはステップ１２４において、図５に示すように、路面の属性を設定したブロック（注目ブロック）の近傍のブロックに路面の属性が設定されたブロックが存在するか否かを判断し、近傍に路面の属性が設定されたブロックが存在しない場合には、ステップ１２６において路面の属性を設定したブロックの属性を対象外の属性に設定を変更する。
【００４１】
近傍に路面の属性が存在する場合には、ステップ１２８で最後のブロックか否かを判断し、最後のブロックでない場合にはステップ１２９で次のブロックの属性データを読み込んだ後ステップ１１６に戻って上記の処理を繰返し、全てのブロックについて近傍に路面の属性が設定されたブロックが存在するか否かを判断する。
【００４２】
一般的に、路面は画面の縦方向に連続しているので、近傍のブロックに路面の属性が設定されたブロックが存在しない場合に、上記のように設定された路面の属性を対象外の属性に変更することにより、路面の判定精度を向上させることができる。
【００４３】
以上の処理を行なうことにより、ブロック毎、すなわち局所領域毎に路面、立体、不定、及び対象外の属性を与えることができる。
【００４４】
上記では一方の辺が視差、他方の辺が画像の横方向の位置に各々対応し、かつ視差が大きくなるに従って視差に対応する辺及び横方向の位置に対応する辺が長くなるように定められたブロックを複数配列した視差マップを用いる例について説明したが、視差は３次元実空間におけるカメラから対象物までの距離Ｚｗに対応し、画像の横方向の位置は３次元実空間における横方向の位置（Ｘ軸方向）に対応し、画像の縦方向の位置は３次元実空間における高さ方向の位置に対応するので、一方の辺が距離Ｚｗ、他方の辺が３次元実空間における横方向の位置に各々対応し、かつ大きさが同一になるように定めたブロックを複数配列したを用いるようにしてもよい。この場合には、視差投票マップは、各辺の大きさが等しい複数のブロック、例えば５０ｃｍ×５０ｃｍの同じ大きさの複数のブロックを格子状に配列して構成することができる。
【００４５】
この大きさが同じ複数のブロックを配列した視差投票マップを用いた場合には、視差算出点の個数が所定値１以上、空間座標での高さ方向（Ｙ軸方向）の偏差が所定値２以上で、かつ比（高さ方向の偏差／距離方向（Ｚｗ軸方向）の偏差）が所定値３以上のブロックを立体と判断して立体の属性を与え、視差算出点の個数が所定値１以上、高さ方向の偏差が所定値４（＜所定値２）未満で、かつ比が所定値５（＜所定値３）未満のブロックを路面と判断して路面の属性を与え、所定値４≦高さ方向の偏差＜所定値２で、かつ所定値５≦高さ方向の偏差／距離方向＜所定値３のブロックは、路面とも立体とも判断ができないので不定の属性を設定する。
【００４６】
次に、路面推定手段１８の処理について説明する。ステレオ視の性質から視差算出点は近距離程多くなり、また近距離程距離の分解能が高くなる。これは、同じ大きさの物体でも近距離程画像上で良好に目視できることからも理解できる。従って、本実施の形態では、車両前方の対象物を推定する場合、図２に示すように、ステップ３０で視差投票マップの情報を取り込んだ後、ステップ３２で近距離のブロックを選択してステップ３４で近距離のブロックの情報に基づいてカメラの取り付け高さ及びピッチ角を推定し、ステップ３６で遠距離のブロックを選択してステップ３８で、上記で推定したカメラの取り付け高さ及びピッチ角、及び遠距離のブロックの情報に基づいて縦断曲率を推定し、推定したカメラの取り付け高さ及びピッチ角、及び縦断曲率に基づいて対象物を判断する。
【００４７】
以下、具体的に説明すると、図６のステップ１３０においてブロック番号ＦｒａｍｅＮｏを初期値０に設定し、ステップ１３２においてピッチ角Ｔｂ、カメラの高さＴｃ、及び縦断曲率Ｔａを初期値に設定する。次のステップ１３４では例えば平面１に含まれるブロックの個数をカウントすることにより、遠距離のブロック（遠方ブロック）の個数ＮｕｍＦａｒをカウントし、ステップ１３６において平面２〜平面５に含まれるブロックの個数をカウントすることにより、近距離のブロック（近方ブロック）の個数ＮｕｍＮｅａｒをカウントする。例えば、平面１には画角４０°、基線長３０ｃｍで距離∞から１６ｍまでの視差算出点が含まれ、平面２〜平面５には１６ｍ以内の視差算出点が含まれている。
【００４８】
次のステップ１３８では、各ブロック画面上の座標（例えば、各ブロックの重心の座標）を路面を表す方程式上座標に変換したときの３次元位置座標（Ｙｗｉ，Ｚｗｉ）を演算する。Ｙｗｉは３次元空間の高さであり、Ｚｗｉは距離である。距離Ｚｗｉとして視差を用いてもよい。
【００４９】
次のステップ１４０において近方ブロックの個数ＮｕｍＮｅａｒが予め設定された所定値Ｎｕｍｔｈ１を越えているかを判断し、越えていれば、ステップ１４２で以下で説明するようにカメラ高さ及びピッチ角を推定した後、ステップ１４４でカメラ高さ及びピッチ角を推定した値に更新することにより、カメラ高さ及びピッチ角を修正する。近方ブロックの個数ＮｕｍＮｅａｒが予め設定された所定値Ｎｕｍｔｈ１以下の場合には前回の値を使用する。
【００５０】
また、ステップ１４６で遠方ブロックの個数ＮｕｍＦａｒが予め設定された所定値Ｎｕｍｔｈ２を越えているか否かを判断し、越えていれば、ステップ１４８で以下で説明するように路面形状の縦断曲率を推定した後、ステップ１５０で縦断曲率を推定した値に更新することにより、路面形状の縦断曲率を修正する。遠方ブロックの個数ＮｕｍＦａｒが予め設定された所定値Ｎｕｍｔｈ２以下の場合には、前回の値を使用する。
【００５１】
ステップ１５２では最後のブロックについて処理が終了したか否かを判断し、最後のブロックについて処理が終了していなければステップ１５４で次のブロックの情報を読み込んで上記の処理を繰返し、最後のブロックの処理が終了したと判断された場合には、この処理ルーチンを終了する。
【００５２】
次に、上記ステップ１４２及びステップ１４４のカメラ高さ及びピッチ角を推定して更新する処理について図７を参照して説明する。この推定処理では、設定されたカメラピッチ角を所定範囲（例えば、±２°）内で例えば０．１°間隔で変化させると共に、設定されたカメラの高さを所定値範囲（例えば、±２０ｃｍ）内で例えば１ｃｍ間隔で変化させ、ロバスト推定により推定して更新する。
【００５３】
まず、ステップ１６０において設定カメラピッチ角を上限値（例えば、２）だけ大きくした値をＴｂとすると共に、ステップ１６２で設定カメラ高さを上限値（例えば、０．２）だけ大きくした値をＴｃとする。ステップ１６４において、基準値ｍｉｎＤｉｓｔを所定値（例えば、１０００）に設定し、ステップ１６６〜ステップ１７０において最初のブロックから最後のブロックまで全てのブロックの路面の方程式の値Ｙｗｉ及び距離データＺｗｉを読み込み、ステップ１７２において以下の式に従って残差の中央値ＬＭｅｄＳを演算する。すなわち、各ブロックについて、今回演算された道路形状の方程式の値と方程式（ＴｂＺｗｉ＋Ｔｃ）との差の絶対値を演算し、演算された差を降順または昇順に並べたときの中央値を残差の中央値ＬＭｅｄＳとして算出する。
【００５４】
ＬＭｅｄＳ＝ｍｉｎ  ｍｅｄ｜Ｙｗｉ−（ＴｂＺｗｉ＋Ｔｃ）｜
次のステップ１７４では、残差の中央値が基準値ｍｉｎＤｉｓｔより小さいか否かを判断し、小さい場合にはステップ１７６において基準値ｍｉｎＤｉｓｔを残差の中央値ＬＭｅｄＳに設定すると共に、ピッチ角をＴｂ、カメラ高さをＴｃに設定する。なお、ステップ１７４において残差の中央値が基準値ｍｉｎＤｉｓｔ以上と判断されたときは、ピッチ角、及びカメラ高さ等は変更せず、前回の値をそのまま使用する。
【００５５】
次のステップ１７８及びステップ１８０では、カメラ高さＴｃが設定カメラ高さから下限値（例えば、０．２）を減算した差を越えているか否か、及びピッチ角Ｔｂが設定カメラピッチ角から下限値（例えば、２）を減算した差を越えているか否かを判断し、カメラ高さＴｃが差以下の場合はステップ１８２においてカメラ高さＴｃを所定値（例えば、０．０１）減算する。また、ピッチ角Ｔｂが差以下の場合はステップ１８４においてカメラピッチ角を所定値（例えば、０．１）減算し、上記の処理を繰り返す。カメラ高さＴｃが設定カメラ高さから下限値を減算した差より大きい場合及びカメラピッチ角が設定カメラピッチ角から下限値を減算した差より大きい場合は、カメラ高さまたはカメラピッチ角を変更すると下限値を越えるのでカメラ高さまたはカメラピッチ角を変更することなくこの処理ルーチンを終了する。
【００５６】
以上の結果、設定カメラ高さ及びカメラピッチ角が所定範囲内で所定値ずつ変更され、カメラ高さとカメラピッチ角とが推定されて更新される。
【００５７】
次に図８を参照して図７で推定したカメラ高さとカメラピッチ角とを用いて、縦断曲率を推定して更新する場合について説明する。
【００５８】
まずステップ１９２において設定縦断曲率を上限値（例えば、０．０００２）だけ大きくした値をＴａとし、ステップ１９４において、基準値ｍｉｎＤｉｓｔを所定値（例えば、１０００）に設定し、ステップ１９６〜ステップ２００において最初のブロックから最後のブロックまでの全てのブロックについて路面形状を示す方程式の値Ｙｗｉ及び距離Ｚｗｉを読み込み、ステップ２０２において以下の式に従って残差の中央値ＬＭｅｄＳを演算する。すなわち、各ブロックについて、前回演算された道路形状の方程式の値と図７で推定したカメラ高さ及びカメラピッチ角、ステップ１９２で設定されたＴａ等から定まる道路形状の方程式の値との差の絶対値を演算し、演算された差を降順または昇順に並べたときの中央値を残差の中央値ＬＭｅｄＳとして算出する。
【００５９】
ＬＭｅｄＳ＝ｍｉｎ  ｍｅｄ｜Ｔｗｉ−（ＴａＺｗｉ2＋ＴｂＺｗｉ＋Ｔｃ）｜
次のステップ２０４では、残差の中央値が基準値ｍｉｎＤｉｓｔより小さいか否かを判断し、小さい場合にはステップ２０６において基準値ｍｉｎＤｉｓｔを残差の中央値ＬＭｅｄＳに設定すると共に、縦断曲率をＴａに設定する。なお、ステップ２０４において残差の中央値が基準値ｍｉｎＤｉｓｔ以上と判断されたときは、縦断曲率は変更せず、前回の値をそのまま使用する。
【００６０】
次のステップ２０８では、縦断曲率が設定縦断曲率から所定値（例えば、０．０００２）を減算した差より大きいか否かを判断し、大きい場合はこのルーチンを終了し、小さい場合はステップ２１０で縦断曲率を所定値（例えば、０．００００１）小さくした後、ステップ１９２に戻って上記の処理を繰り返す。
【００６１】
以上の結果、設定縦断曲率が上限値から下限値までの所定範囲内の間（例えば、±０．０００２）で所定値（例えば、０．００００１）ずつ変化されて、近方ブロックに対応する情報から推定されたカメラ高さ及びカメラピッチ角を用いて遠方ブロックに対応する情報から縦断曲率が推定されて更新される。
【００６２】
次に、図９を参照して立体・路面判定手段１６によって各ブロックに設定された属性を更新する処理について説明する。ステップ２１２では、上記のようにして更新されたカメラ高さＴｃ、カメラピッチ角Ｔｂ、及び縦断曲率Ｔａを用いて路面形状を示す方程式Ｙｗを決定し、ステップ２１４において最初のブロックに対応する３次元空間の高さ方向の位置Ｙｗｉ及び距離Ｚｗｉを読み込み、ステップ２１６において、立体・路面判定手段１６においてブロックに設定された属性が不定、立体、または路面か否かを判断する。
【００６３】
上記のいずれかの属性が設定されている場合には、ステップ２１８において求められた路面の方程式に距離Ｚｗｉを代入して求められる値（路面の３次元空間における高さ）と３次元空間の高さ方向の位置Ｙｗｉとの差、すなわち路面形状を基準としたブロックの３次元空間上の高さが、設定高さ１を越えているか否かを判断する。路面形状を基準としたブロックの高さが設定高さ１を越えている場合には、ステップ２２６においてそのブロックに立体の属性を設定し、路面形状を基準としたブロックの高さが設定高さ１以下の場合には、ステップ２２０において路面形状を基準としたブロックの高さが設定高さ２（＜設定高さ１）未満か否かを判断し、路面形状を基準としたブロックの高さが設定高さ２未満の場合にはステップ２２４で路面の属性を設定し、路面形状を基準としたブロックの高さが設定高さ２以上でかつ設定高さ１以下の場合にはステップ２２２で不定の属性を設定する。
【００６４】
そして、ステップ２２８において最後のブロックについて属性を設定する処理を終了したか否かを判断し、最後のブロックでない場合は次のブロックのデータを読み込んで上記と同様の処理を行い、最後のブロックの場合はこの処理ルーチンを終了する。
【００６５】
以上の結果、ピッチ等を伴う実走行においても正確に路面形状を求めることができるので、求めた路面形状を基準にすることにより、視差投票マップのブロックが路面に属しているのか立体に属しているのかを正確に区別して判定することができる。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の形態のブロック図である。
【図２】本発明の実施の形態における処理の概略を示す流れ図である。
【図３】本発明の実施の形態の立体・路面判定手段の処理を示す示す流れ図である。
【図４】視差投票マップを示す図である。
【図５】路面の属性を設定した注目ブロックとその近傍のブロックとを示す図である。
【図６】本発明の実施の形態のカメラ高さ、ピッチ角、及び縦断曲率を更新する処理を示す流れ図である。
【図７】カメラ高さ及びピッチ角を更新する処理の詳細を示す流れ図である。
【図８】縦断曲率を更新する処理の詳細を示す流れ図である。
【図９】本実施の形態の各ブロックに設定された属性を更新する処理を示す流れ図である。
【符号の説明】
【００６７】
１０Ｒ      右側カメラ
１０Ｌ      左側カメラ
１２      画像入力手段
１４      照合手段
１４      上記照合手段
１６      立体・路面判定手段
１８      路面推定手段
【図１】
2006234682.tif 000004
【図２】
2006234682.tif 000005
【図３】
2006234682.tif 000006
【図４】
2006234682.tif 000007
【図５】
2006234682.tif 000008
【図６】
2006234682.tif 000009
【図７】
2006234682.tif 000010
【図８】
2006234682.tif 000011
【図９】
2006234682.tif 000012