(57)【要約】【課題】先行車両のテールランプを安定性よく確実に検出することが可能な先行車両検出装置を提供する。【解決手段】先行車両検出装置１は、自車両の周囲を撮像する撮像手段２と、撮像画像Ｔ中から先行車両Ｖahを検出する先行車両検出手段１３と、画像中の画素列pls上で閾値br_th2以上の輝度ｐ１ijを有する画素領域を検出し、画素列plsを基準として左右方向に画素列plをシフトさせながら各画素列plで画素領域を検出して画像中から先行車両のテールランプが撮像されている領域を検出するテールランプ検出手段１４とを備え、テールランプ検出手段１４は、画像上で左右方向に画素列plをシフトさせながら各画素列上に検出される画素領域の画素数が画素列をシフトさせるに従って減少する傾向にあると場合に、画素数の最小値Ｒminの定数ｂ倍より多い画素数の画素領域が検出された画素列で画素領域の検出を終了する。【選択図】図１
2008186344.tif 000002
【特許請求の範囲】
【請求項１】
自車両の周囲を撮像する撮像手段と、
前記撮像手段により撮像された画像中から先行車両を検出する先行車両検出手段と、
前記画像中で縦方向に延在する画素列上で予め設定された閾値以上の輝度を有する画素領域を検出し、前記画素列を基準として前記画像上の左方向および右方向に画素列をシフトさせながら各画素列でそれぞれ前記画素領域を検出して前記画像中から前記先行車両のテールランプが撮像されている領域を検出するテールランプ検出手段と
を備え、
前記テールランプ検出手段は、前記画像上で左方向および右方向に画素列をシフトさせながら各画素列上に検出される前記画素領域の画素数が当該方向に画素列をシフトさせるに従って減少する傾向にあると判断した場合に、前記画素数の最小値の定数倍より多い画素数の画素領域が検出された画素列で前記画素領域の検出を終了することを特徴とする先行車両検出装置。
【請求項２】
前記テールランプ検出手段は、前記各画素列上に検出した前記画素領域の画素数の最大値を更新しながら記憶し、ある画素列に前記最大値の定数倍より少ない画素数の画素領域が検出された時点で前記減少傾向にあると判断し、以後の前記画素領域の検出の間、前記判断を維持することを特徴とする請求項１に記載の先行車両検出装置。
【請求項３】
前記テールランプ検出手段は、検出した前記先行車両の左右のテールランプが撮像されている領域からそれぞれその中心点となる画素を検出し、検出した前記左右の中心点となる画素間の距離を算出することを特徴とする請求項１または請求項２に記載の先行車両検出装置。
【請求項４】
前記テールランプ検出手段は、前記画像上で前記先行車両の右側のテールランプが撮像されている領域の検出の際、前記画像上での左側のテールランプの右端の画素列から過去に算出された前記左右の中心点の画素間の距離だけ離れた画素列およびそれより右側の画素列での前記画素領域の検出において、検出された前記画素領域の前記画像上での上端の位置が前記左側のテールランプの上端の位置より高くなった時点、または検出された前記画素領域の下端の位置が前記左側のテールランプの下端の位置より低くなった時点で前記画素領域の検出を終了することを特徴とする請求項３に記載の先行車両検出装置。
【請求項５】
前記テールランプ検出手段は、前記画素領域の検出の基準となる画素列を、過去に前記テールランプの中心点として検出した前記画素を含む画素列に設定することを特徴とする請求項３に記載の先行車両検出装置。
【請求項６】
前記テールランプ検出手段は、前記過去にテールランプの中心点として検出した画素の今回の検出での輝度が前記閾値よりさらに高輝度に設定された閾値以上の輝度を有する場合には、前記画素列上で前記画素を含む前記画素領域のみを検出することを特徴とする請求項５に記載の先行車両検出装置。
【請求項７】
前記テールランプ検出手段は、前記画素領域の検出の基準となる画素列を、検出している側のテールランプとは反対側のテールランプの前記中心点となる画素から過去に算出した前記左右の中心点となる画素間の距離だけ離れた画素を含む画素列に設定することを特徴とする請求項３に記載の先行車両検出装置。
【請求項８】
前記画像に撮像された前記先行車両の左右端を検出する手段を備え、
前記テールランプ検出手段は、前記画素領域の検出の基準となる画素列を、前記手段により検出された前記先行車両の左端または右端から前記左右端の幅の所定割合だけ内側の位置の画素列に設定することを特徴とする請求項３に記載の先行車両検出装置。
【請求項９】
前記先行車両検出手段は、前記画像に撮像された前記先行車両を矩形状の枠線で包囲して検出し、
前記テールランプ検出手段は、前記枠線内の画像領域中で前記画素列上に複数の前記画素領域を検出した場合には、画素数が最も多い画素領域を前記先行車両のテールランプが撮像されている領域として検出することを特徴とする請求項５、請求項７または請求項８に記載の先行車両検出装置。
【請求項１０】
前記テールランプ検出手段は、前記画素列上に検出された前記複数の画素領域の中に、前記枠線の下端を含む画素領域がある場合には、前記枠線の下端を含む画素領域よりも他の画素領域の方が過去に前記テールランプの中心点として検出した画素または前記枠線の上端と下端との中央に近い場合は、前記他の画素領域を優先して検出することを特徴とする請求項９に記載の先行車両検出装置。
【請求項１１】
前記テールランプ検出手段は、今回の検出で前記先行車両の左右のテールランプが撮像されている領域のうち一方の領域が検出されなかった場合に、前記左右の中心点となる画素間の距離に基づいて前記画像上での他方の領域の位置を推定して前記画像中の先行車両が撮像された画像領域を推定することを特徴とする請求項３から請求項１０のいずれか一項に記載の先行車両検出装置。
【請求項１２】
自車両と前記先行車両との距離を測定する距離測定手段を備え、
前記テールランプ検出手段は、検出した前記左右の中心点となる画素間の距離に基づいて前記距離測定手段が測定した前記距離を修正することを特徴とする請求項３から請求項１１のいずれか一項に記載の先行車両検出装置。
【請求項１３】
前記撮像手段は、複数備えられ、
前記テールランプ検出手段は、前記複数の撮像手段により撮像された複数の画像中の前記先行車両のテールランプが撮像されている各領域のエッジ部分に対するステレオマッチング処理により得られた視差の情報に基づいて自車両と前記先行車両との距離を算出することを特徴とする請求項１から請求項１２のいずれか一項に記載の先行車両検出装置。
【請求項１４】
前記テールランプ検出手段は、前記先行車両のテールランプが撮像されている領域に属する画素数が所定割合以上増加したことを認識して、ブレーキランプの点灯を認識することを特徴とする請求項１から請求項１３のいずれか一項に記載の先行車両検出装置。
【請求項１５】
前記テールランプ検出手段は、検出した２つの前記領域の前記画像中での縦方向の画素差が所定の画素数以内であり、一方の領域に属する画素数の他方の領域に属する画素数に対する割合が所定の割合以内である場合には、前記２つの領域が含まれる立体物を車両であると判定することを特徴とする請求項１から請求項１４のいずれか一項に記載の先行車両検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、先行車両検出装置に係り、特に、先行車両のテールランプを検出可能な先行車両検出装置に関する。
【背景技術】
【０００２】
近年、乗用車等の車両の周囲に存在する立体物をＣＣＤ（Charge Coupled Device）カメラ等で撮像した画像の画像解析やレーダ装置から発射された電波の反射波解析等により検出する技術の開発が進められている（例えば特許文献１等参照）。これらの技術は、例えば検出した立体物との衝突の可能性を判断し、警報を鳴らしてドライバの注意を喚起したり衝突を回避するように自動操舵や自動制動制御等を行う車両の安全走行のための技術等に応用される。
【０００３】
また、車両の安全走行性をさらに向上させ、特に先行車両に対する追突等を防止することを目的として、自車両の前方を撮像した画像から先行車両のブレーキランプやテールランプの点灯を検出する技術が種々開発されている。
【０００４】
例えば、特許文献２では、ブレーキランプが赤色でありウィンカランプが橙色であることから、カラー画像中から赤色の領域と橙色の領域とを分離して抽出して、先行車両の右左折やブレーキを踏んだことを検出する装置が提案されている。また、特許文献３では、画像中から先行車両を枠線で検出し、枠線内の画素の輝度平均値の例えば１．５倍以上の輝度を有する画素領域を点灯しているテールランプやブレーキランプとして検出する装置が提案されている。
【特許文献１】特開平７−２２５８９２号公報
【特許文献２】特開平８−２４１５００号公報
【特許文献３】特開平１１−３９５９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献２に記載の技術を夜間のテールランプ検出に応用することも可能である。しかしながら、特許文献２に記載の装置では、撮像手段がカラー画像を撮像するものに限定され、いわゆるグレースケールで撮像する撮像手段しか備えていない装置には適用できない。また、発光の色で見分けられないため、テールランプやブレーキランプ、ウィンカランプ、ナンバープレートの照明等を区別して検出することができない。
【０００６】
一方、特許文献３に記載の装置では、グレースケールで撮像された画像に基づいて先行車両のテールランプを検出することが可能である。そして、この装置では、左右のテールランプの発光と思われる２つの高輝度領域の面積や画像上での位置から先行車両のテールランプを検出する。
【０００７】
しかし、後述する図２１に示すように、例えば先行車両Ｖahの横に対向車両Ｖoncが検出されるような場合、画像上で、先行車両Ｖahのテールランプの光Ｌtailが撮像された画素領域と対向車両Ｖoncのヘッドライトの光Ｌheadが撮像された画素領域とが一体となって高輝度領域として撮像されるため、両者を区別できなくなり、左右の高輝度領域の面積の差が許容される差を超えてしまったり画像上での位置が異なると判断されたりして、先行車両のテールランプを有効に検出できなかったり検出が不安定になってしまう場合があった。
【０００８】
本発明は、このような事情に鑑みてなされたものであり、先行車両のテールランプを安定性よく確実に検出することが可能な先行車両検出装置を提供することを目的とする。また、本発明は、検出した先行車両のテールランプの情報に基づいて種々の処理を行うことが可能な先行車両検出装置を提供することをも目的とする。
【課題を解決するための手段】
【０００９】
前記の問題を解決するために、第１の発明は、
先行車両検出装置において
自車両の周囲を撮像する撮像手段と、
前記撮像手段により撮像された画像中から先行車両を検出する先行車両検出手段と、
前記画像中で縦方向に延在する画素列上で予め設定された閾値以上の輝度を有する画素領域を検出し、前記画素列を基準として前記画像上の左方向および右方向に画素列をシフトさせながら各画素列でそれぞれ前記画素領域を検出して前記画像中から前記先行車両のテールランプが撮像されている領域を検出するテールランプ検出手段と
を備え、
前記テールランプ検出手段は、前記画像上で左方向および右方向に画素列をシフトさせながら各画素列上に検出される前記画素領域の画素数が当該方向に画素列をシフトさせるに従って減少する傾向にあると判断した場合に、前記画素数の最小値の定数倍より多い画素数の画素領域が検出された画素列で前記画素領域の検出を終了することを特徴とする。
【００１０】
第２の発明は、第１の発明の先行車両検出装置において、前記テールランプ検出手段は、前記各画素列上に検出した前記画素領域の画素数の最大値を更新しながら記憶し、ある画素列に前記最大値の定数倍より少ない画素数の画素領域が検出された時点で前記減少傾向にあると判断し、以後の前記画素領域の検出の間、前記判断を維持することを特徴とする。
【００１１】
第３の発明は、第１または第２の発明の先行車両検出装置において、前記テールランプ検出手段は、検出した前記先行車両の左右のテールランプが撮像されている領域からそれぞれその中心点となる画素を検出し、検出した前記左右の中心点となる画素間の距離を算出することを特徴とする。
【００１２】
第４の発明は、第３の発明の先行車両検出装置において、前記テールランプ検出手段は、前記画像上で前記先行車両の右側のテールランプが撮像されている領域の検出の際、前記画像上での左側のテールランプの右端の画素列から過去に算出された前記左右の中心点の画素間の距離だけ離れた画素列およびそれより右側の画素列での前記画素領域の検出において、検出された前記画素領域の前記画像上での上端の位置が前記左側のテールランプの上端の位置より高くなった時点、または検出された前記画素領域の下端の位置が前記左側のテールランプの下端の位置より低くなった時点で前記画素領域の検出を終了することを特徴とする。
【００１３】
第５の発明は、第３の発明の先行車両検出装置において、前記テールランプ検出手段は、前記画素領域の検出の基準となる画素列を、過去に前記テールランプの中心点として検出した前記画素を含む画素列に設定することを特徴とする。
【００１４】
第６の発明は、第５の発明の先行車両検出装置において、前記テールランプ検出手段は、前記過去にテールランプの中心点として検出した画素の今回の検出での輝度が前記閾値よりさらに高輝度に設定された閾値以上の輝度を有する場合には、前記画素列上で前記画素を含む前記画素領域のみを検出することを特徴とする。
【００１５】
第７の発明は、第３の発明の先行車両検出装置において、前記テールランプ検出手段は、前記画素領域の検出の基準となる画素列を、検出している側のテールランプとは反対側のテールランプの前記中心点となる画素から過去に算出した前記左右の中心点となる画素間の距離だけ離れた画素を含む画素列に設定することを特徴とする。
【００１６】
第８の発明は、第３の発明の先行車両検出装置において、
前記画像に撮像された前記先行車両の左右端を検出する手段を備え、
前記テールランプ検出手段は、前記画素領域の検出の基準となる画素列を、前記手段により検出された前記先行車両の左端または右端から前記左右端の幅の所定割合だけ内側の位置の画素列に設定することを特徴とする。
【００１７】
第９の発明は、第５、第７または第８の発明の先行車両検出装置において、
前記先行車両検出手段は、前記画像に撮像された前記先行車両を矩形状の枠線で包囲して検出し、
前記テールランプ検出手段は、前記枠線内の画像領域中で前記画素列上に複数の前記画素領域を検出した場合には、画素数が最も多い画素領域を前記先行車両のテールランプが撮像されている領域として検出することを特徴とする。
【００１８】
第１０の発明は、第９の発明の先行車両検出装置において、前記テールランプ検出手段は、前記画素列上に検出された前記複数の画素領域の中に、前記枠線の下端を含む画素領域がある場合には、前記枠線の下端を含む画素領域よりも他の画素領域の方が過去に前記テールランプの中心点として検出した画素または前記枠線の上端と下端との中央に近い場合は、前記他の画素領域を優先して検出することを特徴とする。
【００１９】
第１１の発明は、第３から第１０のいずれかの発明の先行車両検出装置において、前記テールランプ検出手段は、今回の検出で前記先行車両の左右のテールランプが撮像されている領域のうち一方の領域が検出されなかった場合に、前記左右の中心点となる画素間の距離に基づいて前記画像上での他方の領域の位置を推定して前記画像中の先行車両が撮像された画像領域を推定することを特徴とする。
【００２０】
第１２の発明は、第３から第１１のいずれかの発明の先行車両検出装置において、
自車両と前記先行車両との距離を測定する距離測定手段を備え、
前記テールランプ検出手段は、検出した前記左右の中心点となる画素間の距離に基づいて前記距離測定手段が測定した前記距離を修正することを特徴とする。
【００２１】
第１３の発明は、第１から第１２のいずれかの発明の先行車両検出装置において、
前記撮像手段は、複数備えられ、
前記テールランプ検出手段は、前記複数の撮像手段により撮像された複数の画像中の前記先行車両のテールランプが撮像されている各領域のエッジ部分に対するステレオマッチング処理により得られた視差の情報に基づいて自車両と前記先行車両との距離を算出することを特徴とする。
【００２２】
第１４の発明は、第１から第１３のいずれかの発明の先行車両検出装置において、前記テールランプ検出手段は、前記先行車両のテールランプが撮像されている領域に属する画素数が所定割合以上増加したことを認識して、ブレーキランプの点灯を認識することを特徴とする。
【００２３】
第１５の発明は、第１から第１４のいずれかの発明の先行車両検出装置において、前記テールランプ検出手段は、検出した２つの前記領域の前記画像中での縦方向の画素差が所定の画素数以内であり、一方の領域に属する画素数の他方の領域に属する画素数に対する割合が所定の割合以内である場合には、前記２つの領域が含まれる立体物を車両であると判定することを特徴とする。
【発明の効果】
【００２４】
第１の発明によれば、撮像手段により撮像される先行車両のテールランプの形状に着目し、撮像画像上では先行車両のテールランプの光が後述する図２０（Ａ）〜（Ｃ）に示されるようにその左右端に向かうに従って縦方向の長さが短くなっていき、若しくは少なくとも縦方向の長さが長くはならず、一旦減少傾向を示し始めると縦方向の長さが再び長くなることはないという知見を利用して、撮像画像中からテールランプが撮像されている領域の検出を行うように構成される。
【００２５】
すなわち、テールランプが撮像されている領域を検出するにあたって、検出の基準となる縦方向に延在する画素列を設定し、その画素列から左右方向に画素列をシフトさせながら画素列上に高輝度の領域を検出していく。その際、テールランプの光の縦方向の長さに対応する高輝度の領域の縦方向の画素数を監視する。そして、その画素数が減少傾向にあると判断され、高輝度領域の画素数が一旦最小値となった後、再び増加に転じた時点で画素列のシフトを中止しテールランプ領域の検出を終了する。
【００２６】
このような検出のしかたを採用することで、グレースケールで撮像する撮像手段しか備えていなくても、例えば対向車両のヘッドライトの光のように画像上で先行車両のテールランプの光と一体的に撮像されてしまう先行車両のテールランプ以外の光の影響を有効に排除することが可能となる。そのため、先行車両のテールランプの光とそれ以外の光を効果的に区別できるようになり、撮像画像中から先行車両のテールランプを安定性よく確実に検出することが可能となる。
【００２７】
第２の発明によれば、検出の基準となる画素列から左右方向に画素列をシフトさせながら画素列上に高輝度の領域を検出していく際に、画素列上に高輝度領域の画素数の最大値を記憶し、ある画素列で最大値の定数倍より少ない画素数の高輝度領域が検出された時点で例えばフラグを立てるなどして減少傾向にあることを認識することで、画素列の高輝度領域が減少傾向にあることを的確に認識することが可能となり、前記第１の発明の効果がより的確に発揮される。
【００２８】
第３の発明によれば、検出した先行車両の左右のテールランプが撮像されている領域の中心点となる画素を検出し、検出した左右の中心点となる画素間の距離を算出することで、次回以降のサンプリング周期におけるテールランプが撮像されている領域の検出に中心点の情報やその間の距離の情報を活用できるようになるとともに、その他の種々の処理にそれらの情報を活用することが可能となり、前記各発明の効果がより有効に発揮される。
【００２９】
第４の発明によれば、対向車両は先行車両の右側に撮像され、前述したようにそのヘッドライトの光が先行車両のテールランプの光と一体的に撮像されてしまうことがある。そのため、先行車両の右側のテールランプが撮像されている領域の検出において、先行車両の左側のテールランプが撮像されている領域の情報を活用して、対向車両のヘッドライトの光に引きずられて画像上で上下方向に拡大する右側のテールランプが撮像されている領域の検出を適切な時点で終了させることにより、右側のテールランプが撮像されている領域を適切に検出することが可能となる。そのため、前記各発明の効果がより適切に発揮される。
【００３０】
第５の発明によれば、サンプリング周期が短い場合、今回のサンプリング周期においては、前回或いは現在に近い過去のサンプリング周期で先行車両のテールランプが撮像された画像上の領域の近くにテールランプが撮像されている可能性が高い。そのため、検出の基準となる画素列を過去にテールランプの中心点として検出した画素を含む画素列に設定し、そこから左右方向に探索していくことで、テールランプが撮像されている領域を確実にかつ効率よく確実に検出することが可能となり、前記各発明の効果がより的確に発揮される。
【００３１】
第６の発明によれば、前記第５の発明で、過去にテールランプの中心点として検出した画素が今回のサンプリング周期で撮像された画像においても非常に高輝度である場合には、その画素はテールランプを撮像した画素であるとしてその画素を含む領域のみを検出し、他の高輝度領域の探索を行わないことで、テールランプが撮像されている領域を効率よく確実に検出することが可能となり、前記各発明の効果がより的確に発揮される。
【００３２】
第７の発明によれば、先行車両の左右のテールランプの実空間上の距離は一定であり、撮像画像中でそれらは上下方向で同じような位置に撮像されるから、検出しようとしている側の反対側のテールランプの中心点からランプ間距離だけ離れた位置で検出を行うことで、テールランプが撮像されている領域を確実に検出することが可能となり、前記各発明の効果がより的確に発揮される。
【００３３】
第８の発明によれば、先行車両の左右のテールランプは、先行車両の左右の端から車幅の１／８や１／６程度内側の位置に配置されることが多い。そのため、撮像画像上で先行車両が撮像されている領域について同様の位置で検出を行うことで、テールランプが撮像されている領域を確実に検出することが可能となり、前記各発明の効果がより的確に発揮される。
【００３４】
第９の発明によれば、画像に撮像された先行車両を矩形状の枠線で包囲して検出して、例えば枠線内で縦方向に延在する画素列上に複数の高輝度領域を検出した場合に、最も画素数が多い高輝度領域をテールランプが撮像されている領域として検出することで、テールランプが撮像されている領域を確実に検出することが可能となり、前記各発明の効果がより的確に発揮される。
【００３５】
第１０の発明によれば、降雨で道路面が濡れているような場合には、撮像画像中の先行車両の下側にテールランプの反射光が撮像されることがある。そして、画像に撮像された先行車両を矩形状の枠線で包囲して検出した場合、その反射光が枠線の下端を含んで比較的大きな面積を持つことがある。このような場合、前記第９の発明において、画素列上に検出された最も画素数が多い高輝度領域が枠線の下端を含む場合には、画素数が最も多くても排除し、過去のテールランプの中心点や枠線の上下端の中央に近い方の高輝度領域を優先して検出することで、テールランプが撮像されている領域を確実に検出することが可能となり、前記各発明の効果がより的確に発揮される。
【００３６】
第１１の発明によれば、例えば先行車両を矩形状の枠線で包囲して検出する場合、片方のテールランプが撮像されている領域しか検出できないと、先行車両の約半分のみが枠線で囲まれた状態で先行車両が検出される場合がある。このような場合には、左右の中心点となる画素間の距離に基づいて画像上での他方の領域の位置を推定して枠線を拡大することができる。
【００３７】
このように、画像中の先行車両撮像された領域を正常な状態に修復することで、前記各発明の効果に加え、先行車両を確実に検出することが可能となると同時に、片方のテールランプが撮像された領域が検出されている限り先行車両が自車両の前方を走行していることは確実であると判断されるから、片方のテールランプ領域が検出されている限りこのような領域の拡大処理を続行して、領域を正常な状態に戻すことで、先行車両の検出の安定性を維持、向上させることが可能となり、先行車両を確実に追跡することが可能となる。
【００３８】
第１２の発明によれば、例えば激しい降雨時等には、距離測定手段で先行車両までの距離が異常な値に算出されたり、先行車両までの距離が検出できなかったりする場合がある。このような場合、検出した左右のテールランプの中心点となる画素間の距離に基づいて先行車両までの距離を算出して距離測定手段が測定した距離を修正することができるように構成する。
【００３９】
このように構成すること、前記各発明の効果に加え、距離測定手段が異常な値の距離を測定したり、距離を測定できなかったりしても、自車両と先行車両との正常な値の距離或いは正常な値に近い距離を算出して修正することが可能となる。また、このように自車両に対する先行車両の位置関係を的確に把握することで、先行車両を見失うことなく的確に追跡して、先行車両の検出の安定性を維持、向上させることが可能となる。
【００４０】
第１３の発明によれば、テールランプ検出手段で、複数の撮像手段により撮像された複数の画像中の先行車両のテールランプが撮像されている各領域のエッジ部分に対してステレオマッチング処理を行い、得られた視差の情報に基づいて自車両と先行車両との距離を算出する。
【００４１】
そのため、前記各発明の効果に加え、例えば夜間、暗い道路上で先行車両の車体のエッジ部分が明確に撮像できないため車体のエッジ部分に対するステレオマッチング処理に基づいて自車両と先行車両との距離を算出できず、また、算出できても信頼性が乏しい場合にも、周囲の低輝度部分とは明確に区別される高輝度のテールランプ領域のエッジ部分に対するステレオマッチング処理により自車両と先行車両との距離を的確に測定することが可能となる。また、自車両と先行車両との距離の信頼性を向上させることが可能となるとともに、自車両に対する先行車両の位置関係を的確に把握することで、先行車両を見失うことなく的確に追跡して、先行車両の検出の安定性を維持、向上させることが可能となる。
【００４２】
第１４の発明によれば、前記各発明の効果に加え、先行車両のテールランプが撮像されている領域に属する画素数の増加や減少を認識することでブレーキランプの点灯、消灯を認識することが可能となり、また、その情報に基づいて例えば先行車両に対する追突防止機構を正常に作動させるなど適切な自動操舵や自動制動制御等の安全走行機構を作動させることが可能となる。また、先行車両の挙動を的確に把握することが可能となり、先行車両を的確に追跡して、先行車両の検出の安定性を維持、向上させることが可能となる。
【００４３】
第１５の発明によれば、例えば自車両から遠方の前方に立体物が存在する場合、それが障害物であれば障害物の横を通過するように自動操舵するが、前方の立体物が先行車両であって停車している場合には、その横を通過させるのではなくその後方で停車するように自動制動制御させなければならない。このように立体物の種別の判定次第で自動制御のしかたが大きく異なるため、立体物の種別の判定は非常に重要になる。
【００４４】
このような場合、自車両の前方に検出された立体物の左右２つの高輝度領域が第１５の発明に示した条件を満たす場合にその立体物を車両であると判定することで、前記各発明の効果に加え、自車両前方の立体物の種別を的確に判定することが可能となり、立体物が車両である場合には、例えば前方の車両の十分手前から自動制動制御を作動させたり、自車両前方に設定する先行車両の検出可能距離を変更して増大させたりして自車両の安全走行性能を向上させることが可能となる。
【発明を実施するための最良の形態】
【００４５】
以下、本発明に係る先行車両検出装置の実施の形態について、図面を参照して説明する。
【００４６】
本実施形態では、先行車両のテールランプを安定性よく確実に検出することが可能な先行車両検出装置について説明する。
【００４７】
なお、本実施形態では、自車両の周囲を撮像する撮像手段として２台のカメラを用いてステレオ撮像を行う形態が示されるが、撮像手段を例えば単数のカメラ等で構成することも可能である。また、先行車両検出手段は、撮像された画像中から先行車両を検出できるものであればよく、本実施形態の構成に限定されない。
【００４８】
本実施形態に係る先行車両検出装置１は、図１に示すように、主に撮像手段２や変換手段３、画像処理手段６等で構成される位置情報収集手段９と、先行車両検出手段１３とテールランプ検出手段１４を含む検出手段１０とで構成されている。
【００４９】
なお、撮像手段２から検出手段１０の立体物検出手段１１までの構成は本願出願人により先に提出された特開平５−１１４０９９号公報、特開平５−２６５５４７号公報、特開平６−２６６８２８号公報、特開平１０−２８３４６１号公報、特開平１０−２８３４７７号公報、特開２００６−７２４９５号公報等に詳述されており、詳細な説明はそれらの公報に委ねる。以下、簡単に説明する。
【００５０】
撮像手段２は、本実施形態では、互いに同期が取られたＣＣＤやＣＭＯＳセンサ等のイメージセンサがそれぞれ内蔵され例えばルームミラー近傍に車幅方向に所定の間隔をあけて取り付けられた一対のメインカメラ２ａおよびサブカメラ２ｂからなるステレオカメラであり、所定のサンプリング周期で車両前方の道路を含む風景を撮像して一対の画像を出力するように構成されている。一対のカメラのうちメインカメラ２ａは、運転者に近い側のカメラであり、例えば図２に示すような基準画像Ｔを撮像するようになっている。
【００５１】
なお、本実施形態では、後述するように基準画像Ｔに基づいて先行車両のテールランプが検出されるようになっている。また、サブカメラ２ｂで撮像された画像を比較画像という。
【００５２】
メインカメラ２ａとサブカメラ２ｂから出力された画像データは、変換手段３であるＡ／Ｄコンバータ３ａ、３ｂでアナログ画像からそれぞれ画素ごとに例えば２５６階調のグレースケール等の所定の輝度階調の輝度を有するデジタル画像にそれぞれ変換され、画像補正部４で、ずれやノイズの除去等の画像補正が行われ、画像データメモリ５に格納されると同時に検出手段１０に送信されるようになっている。
【００５３】
画像処理手段６のイメージプロセッサ７では、基準画像Ｔと比較画像の各画像データにステレオマッチング処理やフィルタリング処理を施して実空間上の距離に対応する視差ｄｐを算出するようになっている。以下、視差ｄｐが割り当てられた画像を距離画像という。このようにして算出された視差ｄｐの情報すなわち距離画像は、画像処理手段６の距離データメモリ８に格納されるようになっている。
【００５４】
なお、視差ｄｐ、距離画像上の点（ｉ，ｊ）と、前記一対のカメラ２ａ、２ｂの中央真下の道路面上の点を原点とし、自車両の車幅方向をＸ軸方向、車高方向をＹ軸方向、車長方向をＺ軸方向とした場合の実空間上の点（Ｘ，Ｙ，Ｚ）とは、下記（１）〜（３）式で表される座標変換により一意に対応づけられる。なお、下記各式において、ＣＤは一対のカメラの間隔、ＰＷは１画素当たりの視野角、ＣＨは一対のカメラの取り付け高さ、ＩＶおよびＪＶは自車両正面の無限遠点の距離画像上のｉ座標およびｊ座標、ＤＰは消失点視差を表す。
Ｘ＝ＣＤ／２＋Ｚ×ＰＷ×（ｉ−ＩＶ）    …（１）
Ｙ＝ＣＨ＋Ｚ×ＰＷ×（ｊ−ＪＶ）        …（２）
Ｚ＝ＣＤ／（ＰＷ×（ｄｐ−ＤＰ））        …（３）
【００５５】
本実施形態では、以上の撮像手段２からイメージプロセッサ７や距離データメモリ８を含む画像処理手段６までで、自車両前方の所定領域内に存在する立体物までの自車両からの距離Ｚすなわち前記（３）式により距離Ｚと一意に対応づけられる視差ｄｐを測定する位置情報収集手段９が構成されており、位置情報収集手段９が本発明において自車両と先行車両との距離Ｚを測定する距離測定手段に相当する。
【００５６】
なお、距離測定手段は自車両と先行車両との距離Ｚを測定できるものであればよく、本実施形態の他にも、例えば自車両前方にレーザ光や赤外線等を照射してその反射光の情報に基づいて立体物までの距離Ｚを測定するレーダ装置等で構成することも可能であり、検出の手法は特定の手法に限定されない。
【００５７】
検出手段１０は、図示しないＣＰＵやＲＯＭ、ＲＡＭ、入出力インターフェース等がバスに接続されたマイクロコンピュータより構成されている。また、検出手段１０には、車速センサやヨーレートセンサ、ステアリングホイールの舵角を測定する舵角センサ等のセンサ類Ｑが接続されている。なお、ヨーレートセンサの代わりに自車両の車速等からヨーレートを推定する装置等を用いることも可能である。
【００５８】
検出手段１０は、図１に示すように、立体物検出手段１１と、走行軌跡推定手段１２と、先行車両検出手段１３と、テールランプ検出手段１４とを備えており、さらに図示しないメモリを備えている。また、検出手段１０の各手段には、センサ類Ｑから必要なデータが入力されるようになっている。
【００５９】
立体物検出手段１１は、本実施形態では、前述したように特開平１０−２８３４６１号公報等に記載された車外監視装置等をベースに構成されている。詳細な説明はそれらの公報に委ねる。以下、簡単にその構成について説明する。
【００６０】
立体物検出手段１１は、立体物の位置情報すなわち視差ｄｐに基づいて互いに隣接する位置情報をそれぞれグループにまとめ、各グループ内の視差ｄｐを自車両の車幅方向に略平行なサブグループと自車両の進行方向に略平行なサブグループとに分類して立体物を検出するようになっている。
【００６１】
具体的には、立体物検出手段１１は、距離データメモリ８から前述した距離画像を読み出して、距離画像を所定の画素幅で垂直方向に延びる短冊状の区分に分割する。そして、短冊状の各区分に属する各視差ｄｐを前記（３）式に従ってそれぞれ距離Ｚに変換し、各距離Ｚのうち道路面より上方に存在すると位置付けられる距離に関してヒストグラムを作成して、度数が最大の区間までの距離をその短冊状の区分における立体物までの距離とする。これを全区分について行うようになっている。以下、各区分を代表する距離を距離Ｚという。
【００６２】
例えば、図２に示した基準画像Ｔから作成された距離画像に対して前記距離Ｚの算出を行い、算出された各区分ごとの距離Ｚを実空間上にプロットすると、図３に示すように自車両前方の立体物の自車両ＭＣに面した部分に対応する部分に多少バラツキを持って各点としてプロットされる。
【００６３】
立体物検出手段１１は、このようにプロットされる各点を図４に示すように近接する各点の距離や方向性に基づいて互いに隣接する各点をそれぞれグループＧ１〜Ｇ７にまとめ、図５に示すようにそれぞれのグループ内の各点が自車両ＭＣの車幅方向すなわちＸ軸方向に略平行に並ぶサブグループには“物体”Ｏ１〜Ｏ３とラベルし、各点が自車両ＭＣの進行方向すなわちＺ軸方向に略平行に並ぶサブグループには“側壁”Ｓ１〜Ｓ４とラベルして分類する。また、同一の立体物の“物体”と“側壁”の交点をコーナー点Ｃとしてラベルするようになっている。
【００６４】
立体物検出手段１１は、このようにして、［物体Ｏ１、コーナー点Ｃ、側壁Ｓ１］、［側壁Ｓ２］、［物体Ｏ２］、［物体Ｏ３］、［側壁Ｓ３］、［側壁Ｓ４］をそれぞれ立体物として検出するようになっている。また、立体物検出手段１１は、図６に示すように、基準画像Ｔ上の立体物を矩形状の枠線で包囲するようにして検出するようになっている。
【００６５】
立体物検出手段１１は、このようにして検出した立体物の情報や各サブグループの端点の座標や基準画像Ｔにおける各枠線の頂点の座標等をそれぞれメモリに保存するようになっている。
【００６６】
走行軌跡推定手段１２は、自車両の挙動に基づいて自車両の走行軌跡を推定するようになっている。具体的には、走行軌跡推定手段１２は、センサ類Ｑである車速センサやヨーレートセンサ、舵角センサから入力される自車両の挙動すなわち自車両の車速Ｖやヨーレートγ、ステアリングホイールの舵角δ等に基づいて自車両の旋回曲率Ｃuaを算出し、図７の実空間上に示すように、算出した旋回曲率Ｃuaに基づいて自車両ＭＣの走行軌跡Ｌestを算出して推定するようになっている。
【００６７】
旋回曲率Ｃuaは、例えば車速Ｖとヨーレートγとを用いて、
Ｃua＝γ／Ｖ    …（４）
に従って算出することができる。また、例えば車速Ｖと舵角δとを用いて、
Ｒｅ＝（１＋Ａsf・Ｖ２）・（Ｌwb／δ）    …（５）
Ｃua＝１／Ｒｅ    …（６）
に従って算出することができる。ここで、Ｒｅは旋回半径、Ａsfは車両のスタビリティファクタ、Ｌwbはホイールベースである。
【００６８】
また、本実施形態では、走行軌跡推定手段１２は、図７に示すように走行軌跡Ｌestを中心とする自車両の車幅分の領域を自車両の進行路Ｒestとして把握するようになっている。走行軌跡推定手段１２は、このようにして推定した自車両ＭＣの走行軌跡Ｌestおよび進行路Ｒestの情報をメモリに保存するようになっている。
【００６９】
先行車両検出手段１３は、自車両に最も近接する立体物を先行車両として検出するようになっており、本実施形態では、走行軌跡推定手段１２により把握された自車両の進行路Ｒest上に存在する立体物の中で自車両に最も近接する立体物すなわち上記の例では物体Ｏ２を先行車両として検出するようになっている。
【００７０】
先行車両検出手段１３は、さらに、前回検出された先行車両の情報をメモリから読み出し、前回検出した先行車両と今回検出した自車両に最も近接する立体物との位置関係や移動速度等に基づいて前回の先行車両と今回検出した立体物とが同一の立体物である確率をそれぞれ算出し、算出された確率が予め設定された閾値以上であれば今回検出した立体物を先行車両とラベル付けして先行車両を検出し、先行車両の情報を今回検出した立体物の情報で更新してメモリに継続登録することで、先行車両の情報を更新しながらそれを追跡するようになっている。
【００７１】
また、先行車両検出手段１３は、図４に示したようにグループＧ１〜Ｇ７のうち先行車両Ｏ２に対応するグループＧ４の両端のプロット間の距離を算出し、先行車両Ｏ２の車幅car_widthとしてメモリに保存するようになっている。なお、図６に示した先行車両Ｏ２を示す矩形状の枠線の横幅を先行車両Ｏ２の車幅car_widthとして算出するように構成することも可能である。
【００７２】
テールランプ検出手段１４は、本実施形態では、基準画像Ｔ上に枠線で示される先行車両が撮像された画像領域中から先行車両のテールランプが撮像されている領域（以下、テールランプ領域という）を検出するようになっている。
【００７３】
以下、本実施形態のテールランプ検出手段１４におけるテールランプ検出処理の手順を説明する。なお、以下では、基準画像上に図８に示すような先行車両Ｖahが検出され、矩形状の枠線Ｆｒが設定された場合について説明する。
【００７４】
テールランプ領域の検出処理は、図９に示す基本フローチャートに従って、まず、基準画像の縦方向にテールランプ候補領域の検出処理（ステップＳ１）を行い、続いて、横方向にテールランプ候補領域の検出（ステップＳ２）を行って、最後に、テールランプ領域の検出・データ算出処理（ステップＳ３）を行うという順番で行われる。
【００７５】
ここで、テールランプ候補領域とは先行車両のテールランプが撮像されていると考えられる画素領域のことをいい、テールランプ領域の検出・データ算出処理（ステップＳ３）でテールランプが撮像されていると評価された段階でテールランプ領域とされる画素領域である。
【００７６】
また、縦方向および横方向のテールランプ候補領域の検出処理（ステップＳ１、Ｓ２）においては、左右のテールランプ候補領域についてそれぞれ独立に検出が行われる。以下では主に左側のテールランプ候補領域の検出処理について述べるが、右側のテールランプ候補領域の検出処理も同様にして左側と同時に行われる。
【００７７】
［縦方向のテールランプ候補領域の検出処理］
縦方向のテールランプ候補領域の検出処理（ステップＳ１）は、基準画像Ｔ中の先行車両Ｖahが撮像され枠線Ｆｒで示される画像領域内で、テールランプ領域を検出するための基準となる縦方向に延在する画素列plsを見出し、その画素列pls中にテールランプ領域である可能性が高い画素領域を見出すための処理である。この検出処理は、図１０のフローチャートに示す手順に従って行われる。
【００７８】
縦方向のテールランプ候補領域の検出処理では、まず、メモリから過去のサンプリング周期でテールランプの中心点として検出された基準画像上の画素（cl_i，cl_j）（以下、ランプ検出点（cl_i，cl_j）という。図８参照）が読み出される。
【００７９】
なお、過去のサンプリング周期とはランプ検出点（cl_i，cl_j）が検出された最後のサンプリング周期をいう。また、メモリに過去のランプ検出点が記憶されていない場合は、図１０のフローチャートのステップＳ１１およびステップＳ１４の判定はスキップされ、ステップＳ１５からスタートする。
【００８０】
過去のランプ検出点（cl_i，cl_j）が読み出されると、続いて、過去のランプ検出点（cl_i，cl_j）の今回のサンプリング周期における輝度ｐ１ijが、予め設定された輝度の第１閾値br_th1以上か否かが判定される（ステップＳ１１）。
【００８１】
ここで、輝度の第１閾値br_th1は例えば０〜２５５の２５６階調の輝度階調で高輝度の２５０の輝度に設定され、後述する輝度の第２閾値br_th2はこの第１閾値br_th1よりも低い例えば２３０の輝度に設定される。なお、この第１閾値br_th1および第２閾値br_th2は、撮像手段２の感度や設定される輝度階調等に基づいて適宜設定される。
【００８２】
過去のランプ検出点（cl_i，cl_j）の今回の輝度ｐ１ijが第１閾値br_th1以上であると判定されると（ステップＳ１１：ＹＥＳ）、過去のランプ検出点（cl_i，cl_j）を含む領域は今回のサンプリング周期でもテールランプを表す高輝度領域すなわちテールランプ領域である可能性が高い。そのため、テールランプ候補領域の検出の基準となる画素列plsを、この過去のランプ検出点（cl_i，cl_j）を含む画素列に設定する。
【００８３】
続いて、高輝度の画素領域が過去のランプ検出点（cl_i，cl_j）の縦方向にどこまで連続しているかを検出する。この検出は、下記の上方領域検出処理SUB1および下方領域検出処理SUB2に従って行われ、高輝度画素領域がテールランプ候補領域として検出される（ステップＳ１２）。
【００８４】
［上方領域検出処理SUB1］
上方領域検出処理SUB1では、図１１に示すように、過去のランプ検出点（cl_i，cl_j）を含む基準画像中で縦方向に延在する１画素幅の画素列上を過去のランプ検出点（cl_i，cl_j）から出発して上向きに１画素ずつシフトしながら各画素の輝度ｐ１ijを探索していき、輝度ｐ１ijが第２閾値br_th2未満になる画素の直前の画素の座標（ｉmax，ｊmax）を検出する。
【００８５】
［下方領域検出処理SUB2］
下方領域検出処理SUB2では、同様に過去のランプ検出点（cl_i，cl_j）を含む画素列上を過去のランプ検出点（cl_i，cl_j）から出発して基準画像上を今度は下向きに１画素ずつシフトしながら各画素の輝度ｐ１ijを探索していき、輝度ｐ１ijが第２閾値br_th2未満になる画素の直前の画素の座標（ｉmin，ｊmin）を検出する。
【００８６】
そして、このようにして検出したテールランプ候補領域の上端の座標（ｉmax，ｊmax）と下端の座標（ｉmin，ｊmin）をそれぞれメモリに記憶し（ステップＳ１３）、縦方向のテールランプ候補領域の検出処理（ステップＳ１）を終了する。
【００８７】
一方、前記判定（ステップＳ１１）において、過去のランプ検出点（cl_i，cl_j）の輝度ｐ１ijが第１閾値br_th1未満であると判定された場合には（ステップＳ１１：ＮＯ）、過去のランプ検出点（cl_i，cl_j）の輝度はそれほど高くなく、テールランプ領域は別の画素領域にある可能性がある。そのため、テールランプ候補領域を探索する処理に移行する。
【００８８】
まず、過去のランプ検出点（cl_i，cl_j）の上下を探索してテールランプ候補領域を探索する（ステップＳ１４）。すなわち、過去のランプ検出点（cl_i，cl_j）を含む１画素幅の画素列上を探索して、テールランプ候補領域が検出されれば、テールランプ候補領域の検出の基準となる画素列plsをこの過去のランプ検出点（cl_i，cl_j）を含む画素列に設定する。
【００８９】
ここでの探索は、図１２のフローチャートに示されるテールランプ候補領域検出処理SUB3のサブルーチンに従って行われる。図１２のテールランプ候補領域検出処理SUB3は、後述するステップＳ１５、Ｓ１６においても共通して用いられる。
【００９０】
［テールランプ候補領域検出処理SUB3］
テールランプ候補領域検出処理SUB3では、まず、図１３に示すように、探索領域の下端のｊ座標ｊsおよび上端のｊ座標ｊeが設定される（ステップＳ１０１）。本実施形態では、探索される画素列の下端および上端は、先行車両Ｖahを示す枠線Ｆｒの下限線Ｂlimおよび上限線Ｔlimの各ｊ座標に設定される。
【００９１】
そして、下端ｊsから出発して上端ｊeまでの探索が終了していなければ（ステップＳ１０２：ＮＯ）、画素列上を上向きに１画素ずつシフトしながら各画素の輝度ｐ１ijが第２閾値br_th2以上であるか否かを判定して画素の輝度ｐ１ijが第２閾値br_th2以上の画素が連続する範囲を抽出する（ステップＳ１０３）。これにより、例えば図１３に示すような範囲Ｒ１がまず抽出される。
【００９２】
範囲が抽出されると（ステップＳ１０３：ＹＥＳ）、抽出された範囲中に高輝度の第１閾値br_th1以上の輝度ｐ１ijを有する画素が存在しない場合には（ステップＳ１０４：ＮＯ）、その範囲は棄却され（ステップＳ１０５）、画素列上の上向きの探索が続行される。例えば図１３の範囲Ｒ１に第１閾値br_th1以上の輝度を有する画素が含まれなければ範囲Ｒ１は棄却される。
【００９３】
抽出された範囲中に高輝度の第１閾値br_th1以上の輝度ｐ１ijを有する画素が存在する場合には（ステップＳ１０４：ＹＥＳ）、続いて、その範囲中に過去のランプ検出点（cl_i，cl_j）が含まれるか否かを判定し（ステップＳ１０６）、含まれれば（ステップＳ１０６：ＹＥＳ）、その範囲がテールランプ領域である可能性が高いからその範囲をテールランプ候補領域として検出して（ステップＳ１０７）、テールランプ候補領域検出処理SUB3を終了する。
【００９４】
しかし、例えば図１３の範囲Ｒ１のように第１閾値br_th1以上の輝度を有する画素を含んでいても過去のランプ検出点（cl_i，cl_j）を含んでいなければ（ステップＳ１０６：ＮＯ）、続いて、過去のサンプリング周期で検出された反対側すなわち右側のランプ検出点（cr_i，cr_j）をメモリから読み出して、前記範囲中に右側の過去のランプ検出点（cr_i，cr_j）と同じｊ座標cr_jが含まれているか否かを判断する（ステップＳ１０８）。
【００９５】
なお、後述するテールランプ領域の検出・データ算出処理（ステップＳ３）で説明するように、右側の過去のランプ検出点（cr_i，cr_j）は、左側の過去のランプ検出点（cl_i，cl_j）と同一のサンプリング周期で検出されたものであるとは限らない。
【００９６】
そして、前記範囲中に右側の過去のランプ検出点（cr_i，cr_j）と同じｊ座標cr_jが含まれていれば（ステップＳ１０８：ＹＥＳ）、その範囲をテールランプ候補領域として検出しその範囲をテールランプ候補領域として検出して（ステップＳ１０７）、テールランプ候補領域検出処理SUB3を終了する。左側のテールランプは右側のテールランプとほぼ同じ高さにあるものであるからである。
【００９７】
なお、前記ステップＳ１０６とステップＳ１０８の判定で、テールランプ候補領域検出処理SUB3を即座に終了し、画素列の上端ｊeまで探索しない理由は、各判定で検出された範囲はテールランプ領域である可能性が高く、それ以上探索を続ける必要がないためであり、処理時間を短縮するためである。
【００９８】
図１３の範囲Ｒ１は過去のランプ検出点（cl_i，cl_j）を含んでおらず、右側の過去のランプ検出点（cr_i，cr_j）と同じｊ座標cr_jを含んでいない（ステップＳ１０８：ＮＯ）。このような場合、本実施形態では、テールランプ領域として最も適切であると判断される範囲を優先的に残すための下記の条件１〜３が設定されており、各条件が判断されて（ステップＳ１０９）、優先される範囲の上端の座標（cl_i，ｊmax）と下端の座標（cl_i，ｊmin）がそれぞれメモリに記憶されるようになっている（ステップＳ１１０）。
【００９９】
条件１：すでにメモリに記憶されている範囲と今回抽出された範囲との２つの範囲を比較して、範囲に属する画素数が多い範囲が優先される。
条件２：（ａ）属する画素数が同じ場合、或いは（ｂ）今回抽出された範囲の方が画素数が少なくてもメモリに記憶されている範囲が画素列の下端ｊsの画素を含む場合には、２つの範囲のそれぞれの中央の画素が、過去のランプ検出点（cl_i，cl_j）に近い方の範囲、或いは過去のランプ検出点が検出されていない場合には画素列の下端ｊsと上端ｊeとの中央（ｊs＋ｊe）／２に近い方の範囲が優先される。
【０１００】
条件３：２つの範囲のそれぞれの中央の画素と過去のランプ検出点（cl_i，cl_j）または画素列の下端ｊsと上端ｊeとの中央（ｊs＋ｊe）／２との距離が同じ場合には、画素列内での位置が低い範囲が優先される。
【０１０１】
なお、前記条件２で画素列の下端ｊsの画素を含む範囲よりも下端ｊsの画素を含まない範囲を優先する理由は、降雨で道路面が濡れているような場合、図１４に示すように基準画像にはテールランプ検出の対象としている先行車両Ｖahの下方にテールランプの反射光ＧＨが写り込み、それが探索領域内で大きな面積を持つことがあるからであり、それを排除する必要があるからである。
【０１０２】
今回のルーチンで図１３の範囲Ｒ１が抽出された段階では、メモリには他の範囲が記憶されていないから、ここでは自動的に範囲Ｒ１が優先され（ステップＳ１０９）、メモリにその範囲の上端の座標（cl_i，ｊmax）と下端の座標（cl_i，ｊmin）がそれぞれ記憶される（ステップＳ１１０）。
【０１０３】
続いて、ステップＳ１０２の判定に戻り、まだ画素列の上端ｊeには達しておらず（ステップＳ１０２：ＮＯ）、ステップＳ１０３で今度は範囲Ｒ２が抽出されると（ステップＳ１０３：ＹＥＳ）、範囲Ｒ２は高輝度の第１閾値br_th1以上の輝度ｐ１ijを有する画素を有し（ステップＳ１０４：ＹＥＳ）、過去のランプ検出点（cl_i，cl_j）を含むから（ステップＳ１０６：ＹＥＳ）、範囲Ｒ２がテールランプ候補領域として検出されて（ステップＳ１０７）、テールランプ候補領域検出処理SUB3を終了する。その際、メモリには範囲Ｒ１の情報が記憶されているが、範囲Ｒ２の情報が上書きされて記憶される。
【０１０４】
しかし、仮に抽出された範囲Ｒ２が過去のランプ検出点（cl_i，cl_j）を含んでおらず（ステップＳ１０６：ＮＯ）、右側の過去のランプ検出点（cr_i，cr_j）と同じｊ座標cr_jを含んでいない場合（Ｓ１０８：ＮＯ）は、範囲Ｒ２とメモリに記憶されている範囲Ｒ１とが前記条件１〜３に基づいて対比され（ステップＳ１０９）、優先される範囲の上端の座標（cl_i，ｊmax）と下端の座標（cl_i，ｊmin）がそれぞれメモリに上書き保存されていく（ステップＳ１１０）。図１３の範囲Ｒ３についても同様である。
【０１０５】
そして、探索が画素列の上端ｊeまで達した時点で（ステップＳ１０２：ＹＥＳ）、メモリに記憶されている範囲をテールランプ候補領域として検出して（ステップＳ１１１）、テールランプ候補領域検出処理SUB3を終了する。
【０１０６】
以上のテールランプ候補領域検出処理SUB3により、図１０に示した過去のランプ検出点（cl_i，cl_j）の上下の探索（ステップＳ１４）においてテールランプ候補領域が検出されれば（ステップＳ１４：ＹＥＳ）、検出したテールランプ候補領域の上端の座標（cl_i，ｊmax）と下端の座標（cl_i，ｊmin）がそれぞれメモリに記憶される（ステップＳ１３）。
【０１０７】
そして、テールランプ候補領域の検出の基準となる画素列plsをこの過去のランプ検出点（cl_i，cl_j）を含むｉ座標cl_iの画素列に設定して、図９の基本フローチャートの基準画像の縦方向のテールランプ候補領域の検出処理（ステップＳ１）を終了する。
【０１０８】
しかし、過去のランプ検出点（cl_i，cl_j）の上下の探索（ステップＳ１４）で、テールランプ候補領域が検出されなければ（ステップＳ１４：ＮＯ）、続いて、過去のサンプリング周期で検出された反対側すなわち右側のランプ検出点（cr_i，cr_j）の情報を活用して左側のテールランプ候補領域の探索が行われる（ステップＳ１５）。
【０１０９】
ステップＳ１５では、後述するランプ間距離の算出（図２５のステップＳ４１）において過去に算出されてメモリに記憶されている左右のテールランプ領域の中心点間の距離すなわちランプ間距離を読み出す。そして、右側の過去の検出点（cr_i，cr_j）（図１３参照）からこのランプ間距離だけ離れた点を算出して仮の「過去のランプ検出点（cl_i，cl_j）」とし、前記ステップＳ１４と同様に図１２のテールランプ候補領域検出処理SUB3のサブルーチンに従ってその上下を探索してテールランプ候補領域を探す。
【０１１０】
なお、ランプ間距離は実空間上の距離として算出されているので、この処理および下記の処理では必要に応じて前記（１）、（３）式に基づいて基準画像上の距離に変換されて用いられる。
【０１１１】
そして、探索が終了し、テールランプ候補領域を検出した場合には（ステップＳ１５：ＹＥＳ）、検出したテールランプ候補領域の上端の座標（ｉ，ｊmax）と下端の座標（ｉ，ｊmin）をそれぞれメモリに記憶し（ステップＳ１３）、テールランプ候補領域の検出の基準となる画素列plsをこの反対側のランプ検出点からランプ間距離だけ離れた画素列に設定して、図９の基本フローチャートの基準画像の縦方向のテールランプ候補領域の検出処理（ステップＳ１）を終了する。
【０１１２】
なお、過去のサンプリング周期で左右のランプ検出点がともに検出されていない場合には、この探索（図１０のステップＳ１５）はスキップされる。
【０１１３】
ステップＳ１５でもテールランプ候補領域が検出されなければ（ステップＳ１５：ＮＯ）、続いて、前述した先行車両Ｖahの車幅car_widthに対する所定割合を算出し、先行車両の左端からその所定割合だけ内側の位置の上下で左側のテールランプ候補領域の探索を行う（ステップＳ１６）。
【０１１４】
具体的には、テールランプは、通常、先行車両Ｖahの背面のうち左右の端部から車幅の１／８や１／６程度の所に存在するから、ステップＳ１６では、メモリに記憶されている先行車両Ｖahの車幅car_widthを読み出して、その車幅car_widthに例えば１／８に設定された所定割合を乗算する。そして先行車両Ｖahの左端Ｌlimから車幅car_widthの所定割合だけ離れた位置の画素列上で図１２のテールランプ候補領域検出処理SUB3のサブルーチンに従ってその上下を探索してテールランプ候補領域を探す。
【０１１５】
そして、探索が終了し、テールランプ候補領域を検出した場合には（ステップＳ１６：ＹＥＳ）、検出したテールランプ候補領域の上端の座標（ｉ，ｊmax）と下端の座標（ｉ，ｊmin）をそれぞれメモリに記憶し（ステップＳ１３）、テールランプ候補領域の検出の基準となる画素列plsをこの先行車両Ｖahの左端Ｌlimから車幅car_widthの所定割合だけ離れた位置の画素列に設定して、図９の基本フローチャートの基準画像の縦方向のテールランプ候補領域の検出処理（ステップＳ１）を終了する。
【０１１６】
また、探索が終了しても、テールランプ候補領域が検出されなければ（ステップＳ１６：ＮＯ）、メモリにはテールランプ候補領域の情報が記憶されておらず、基準となる画素列plsが決まらない状態で、図９の基本フローチャートの基準画像の縦方向のテールランプ候補領域の検出処理（ステップＳ１）を終了する。
【０１１７】
なお、先行車両Ｖahの車幅car_widthに対する所定割合は、本実施形態のように車幅car_widthの１／８に限定されない。また、車幅car_widthの１／８の位置の画素列でテールランプ候補領域を検出できなければ車幅car_widthの１／６の位置の画素列で探索するなど種々の割合の複数の位置においてテールランプ候補領域の探索を行うように構成することも可能である。さらに、先行車両を示す枠線内の全域を探索するように構成してもよい。
【０１１８】
以上のようにして、基準画像の縦方向のテールランプ候補領域の検出処理（ステップＳ１）を終了すると、続いて、図９の基本フローチャートの横方向にテールランプ候補領域の検出処理（ステップＳ２）が行われる。
【０１１９】
なお、横方向のテールランプ候補領域の検出処理（ステップＳ２）においても、左右のテールランプ候補領域についてそれぞれ独立に検出が行われ、以下では、主に左側のテールランプ候補領域の検出処理について述べる。右側のテールランプ候補領域の検出処理も同様にして左側と同時に行われる。
【０１２０】
［横方向のテールランプ候補領域の検出処理］
横方向のテールランプ候補領域の検出処理（ステップＳ２）は、前記縦方向の検出処理（ステップＳ１）で設定されたテールランプ候補領域の検出の基準となる画素列plsから基準画像上で左方向および右方向に画素列をシフトさせて探索領域を基準となる画素列plsの左右に広げながら各画素列でそれぞれテールランプ候補領域を検出するための処理である。この検出処理は、図１５のフローチャートに示す手順に従って行われる。
【０１２１】
横方向のテールランプ候補領域の検出処理では、まず、前記縦方向の検出でテールランプ候補領域が検出され、基準となる画素列plsが設定されているか否かが判断される（ステップＳ２１）。
【０１２２】
ここで、テールランプ候補領域が検出されず、基準となる画素列plsが設定されていなければ（ステップＳ２１：ＮＯ）、メモリ中のロストカウンタを１増加させる（ステップＳ２２）。そして、ロストカウンタの値が予め設定された閾値count_th以上であれば（ステップＳ２３：ＹＥＳ）、メモリ中に記憶されている左側のランプ検出点の座標（cl_i，cl_j）をリセットする（ステップＳ２４）。
【０１２３】
ロストカウンタの閾値count_thは例えば３秒間に対応する値に設定される。すなわち、この場合、３秒以上左側のテールランプが検出されない状態が続くと、最後に検出されたランプ検出点の座標（cl_i，cl_j）は意味がなくなるからメモリから消去される。
【０１２４】
逆に、ロストカウンタの値が閾値count_thに達していなければ（ステップＳ２３：ＮＯ）、メモリ中に記憶されている最後の左側のランプ検出点の座標（cl_i，cl_j）はそのまま記憶しておく。例えばワイパ等で左側のテールランプが一瞬見えなくなってもワイパが通過すれば見えるようになり、以前の座標を有効に使うことができるからである。
【０１２５】
前記縦方向の検出でテールランプ候補領域が検出されていなければ（ステップＳ２１：ＮＯ）、以上の処理を行って、図９の基本フローチャートの基準画像の横方向のテールランプ候補領域の検出処理（ステップＳ２）を終了する。
【０１２６】
一方、前記縦方向の検出で、テールランプ候補領域が検出されていれば（ステップＳ２１：ＹＥＳ）、続いて、前述した左方向および右方向に画素列をシフトさせながらのテールランプ候補領域の検出処理が行われる。
【０１２７】
まず、前記縦方向の検出で検出されメモリに記憶されている前記テールランプ候補領域の上端のｊ座標ｊmaxと下端のｊ座標ｊminがそれぞれ読み出され、その中心座標ｊmidと上端から下端までの画素数Ｒmaxがそれぞれ下記（７）、（８）式に従って計算され、初期設定される。また、減少フラグflg←０とする（ステップＳ２５）。
ｊmid←（ｊmax＋ｊmin）／２    …（７）
Ｒmax←ｊmax−ｊmin＋１    …（８）
【０１２８】
なお、上記各式中の矢印はメモリ中の各値が後述するように更新される値であることを意味し、具体的には上書き保存されるという意味である。以下の式中の矢印も同様の意味で用いられる。また、減少フラグflgはテールランプ候補領域の画素数が減少傾向にあるか否かを示す指標であるが後で詳しく説明する。また、テールランプ候補領域等の上端から下端までの画素数を、以下、テールランプ候補領域等の長さと表現する。
【０１２９】
続いて、探索領域の左右端、すなわち左右方向にどのｉ座標まで探索を行うかが設定される（ステップＳ２６）。
【０１３０】
本実施形態では、探索領域の左右端のｉ座標は、基本的に、過去のサンプリング周期で検出された左右のランプ検出点（cl_i，cl_j）、（cr_i，cr_j）のｉ座標cl_i、cr_iから計算されメモリに記憶された後述するランプ間距離lamp_widthに基づいて設定される。
【０１３１】
具体的には、前記縦方向の検出（ステップＳ１）でテールランプ候補領域が検出された画素列plsのｉ座標は、上記のように過去の左側のランプ検出点（cl_i，cl_j）のｉ座標cl_iと同じ場合もあるし異なる場合もあるが、その画素列plsのｉ座標をｉdで表すと、探索領域の左端のｉ座標ｉlim(l)、および右端のｉ座標ｉlim(r)は、それぞれ
ｉlim(l)＝ｉd−lamp_width／４    …（９）
ｉlim(r)＝ｉd＋lamp_width／４    …（１０）
に設定される。
【０１３２】
また、ランプ間距離lamp_widthが記憶されていない場合には、前記（９）、（１０）式でランプ間距離lamp_widthの代わりに車幅car_widthを代入して探索領域の左右端のｉ座標ｉlim(l)、ｉlim(r)を算出する。
【０１３３】
なお、左側のテールランプ候補領域の検出処理における探索領域の左端のｉ座標ｉlim(l)が前述した先行車両を示す枠線の左端線より枠線の内側にある場合、および右側のテールランプ候補領域の検出処理における探索領域の右端のｉ座標ｉlim(r)が先行車両を示す枠線の右端線より枠線の内側にある場合には、探索領域を広くとるため、図１６に示すように、探索領域の左右端がそれぞれ枠線の左端線Ｌlimや右端線Ｒlimにまで広げられる。
【０１３４】
横方向のテールランプ候補領域の検出処理では、続いて、前記縦方向の検出処理で設定されたテールランプ候補領域の検出の基準となる画素列plsから左方向（ステップＳ２７）および右方向（ステップＳ２８）に画素列をシフトさせながら順次各画素列でそれぞれテールランプ候補領域の検出処理が行われる。なお、画素列のいずれの方向で先に検出するかは適宜設定される。
【０１３５】
画素列の左方向および右方向でのテールランプ候補領域の検出処理は、それぞれ図１７のフローチャートに示す左右方向検出処理SUB4のサブルーチンに従って行われる。下記の左右方向検出処理SUB4のサブルーチンは、左側および右側のテールランプにつきそれぞれ画素列の左方向および右方向でのテールランプ候補領域の検出処理に、「右端」を「左端」に修正するなど必要な修正を加えられながら少なくとも計４回用いられる。
【０１３６】
そのため、ここでは、下記の左右方向検出処理SUB4の特徴が最もよく現れる右側のテールランプにおける基準となる画素列plsの右方向でのテールランプ候補領域の検出処理について述べる。なお、以下では、左側のテールランプにおけるテールランプ候補領域の検出処理はすでに終了しているものとして説明する。
【０１３７】
［左右方向検出処理SUB4］
左右方向検出処理SUB4では、まず、検出が探索領域の右端のｉ座標ｉlim(r)まで終了していなければ（ステップＳ２０１：ＮＯ）、図１８に示すように、テールランプ候補領域の検出の基準となる画素列pls（そのｉ座標をｉdとする）の右隣の画素列plに移行し、右隣の画素列plで、基準となる画素列plsの前記中心座標ｊmidと同じｊ座標の画素（ｉd＋１，ｊmid）を開始点として、前述した上方領域検出処理SUB1および下方領域検出処理SUB2に従って上方向および下方向にテールランプ候補領域を検出する（ステップＳ２０２）。
【０１３８】
すなわち、画素（ｉd＋１，ｊmid）から出発して縦方向の画素列pl上を上向きおよび下方向に１画素ずつシフトしながら各画素の輝度ｐ１ijを探索していき、輝度ｐ１ijが第２閾値br_th2未満になる画素の直前の画素の座標（ｉd＋１，ｊmax）、（ｉd＋１，ｊmin）を検出する。ただし、図１３に示した探索領域の下端ｊsおよび上端ｊeを超えて探索は行われない。
【０１３９】
その際、新たな画素列plの画素（ｉd＋１，ｊmid）の輝度ｐ１ijがすでに第２閾値br_th2未満であれば、テールランプ候補領域は検出されなかったとして（ステップＳ２０３：ＮＯ）、当該方向すなわち基準となる画素列plsから右方向の左右方向検出処理SUB4を終了する。
【０１４０】
一方、新たな画素列plの画素（ｉd＋１，ｊmid）の輝度ｐ１ijが第２閾値br_th2以上でテールランプ候補領域が検出された場合には（ステップＳ２０３：ＹＥＳ）、検出したテールランプ候補領域の上端の座標（ｉd＋１，ｊmax）と下端の座標（ｉd＋１，ｊmin）をそれぞれメモリに記憶する（ステップＳ２０４）。
【０１４１】
なお、フローチャートが煩雑になるため記載を省略するが、本実施形態では、テールランプ候補領域の基準画像上での最高点および最低点を検出するために、検出されたテールランプ候補領域の上端のｊ座標ｊmaxが過去の最大値より大きければその値を過去の最大値とし、下端のｊ座標ｊminが過去の最小値より小さければその値を過去の最小値として更新してメモリに記憶するようになっている。
【０１４２】
続いて、減少フラグflgが０か否かが判断される（ステップＳ２０５）。いま、減少flgは０であるから（ステップＳ２０５：ＹＥＳ）、続いて、テールランプ候補領域の縦方向の長さｊmax−ｊmin＋１がテールランプ候補領域の長さの最大値Ｒmaxより大きいか否かが判断される（ステップＳ２０６）。
【０１４３】
前述したように、長さの最大値Ｒmaxには基準となる画素列plsで検出されたテールランプ候補領域の長さが初期設定されているから、現在の画素列plで検出されたテールランプ候補領域の長さがそれよりも長ければ（ステップＳ２０６：ＹＥＳ）、長さの最大値Ｒmaxが現在の画素列plでのテールランプ候補領域の長さに更新され（ステップＳ２０７）、メモリに記憶される。
【０１４４】
このようにして、減少フラグflgが０の間は、順次画素列plが右方向にシフトされながら検出されるテールランプ候補領域の中で、最も長いテールランプ候補領域の長さが最大値Ｒmaxとして更新されていく。
【０１４５】
そして、各画素列plでテールランプ候補領域が検出されるごとにその上端および下端の中心座標ｊmidが前記（７）式に基づいて算出され（ステップＳ２０８）、ステップＳ２０１に戻り、次の右隣の画素列plでのテールランプ候補領域の検出処理（ステップＳ２０２）の開始点とされる。
【０１４６】
また、現在の画素列plで検出されたテールランプ候補領域の長さｊmax−ｊmin＋１が最大値Ｒmaxより長くなくても（ステップＳ２０６：ＮＯ）、その長さが最大値Ｒmaxの予め設定された定数ａ倍よりも大きければ（ステップＳ２０９：ＮＯ）、ステップＳ２０８の処理に移る。ここで、定数ａは０＜ａ＜１の範囲の値が設定され、例えば０．８に設定される。
【０１４７】
すなわち、例えば図１９（Ａ）のように現在の画素列plで検出されたテールランプ候補領域の長さＲpreが最大値Ｒmaxに等しいか、図１９（Ｂ）のように現在のテールランプ候補領域の長さＲpreが最大値Ｒmaxより短くても最大値Ｒmaxの０．８倍よりも長ければ（ステップＳ２０９：ＮＯ）、直ちにステップＳ２０８の処理に移る。
【０１４８】
しかし、図１９（Ｃ）のように現在のテールランプ候補領域の長さＲpreが最大値Ｒmaxの定数ａ（例えば０．８）倍以下になると（ステップＳ２０９：ＹＥＳ）、減少フラグflg←１とされる（ステップＳ２１０）。このように減少フラグflgは、横方向に画素列plをシフトさせるに従ってテールランプ候補領域の長さが減少する傾向にあることを示す指標となる。
【０１４９】
減少フラグflgが１とされ、テールランプ候補領域の長さが減少傾向にあると判断されると、今度はテールランプ候補領域の長さの最小値Ｒminが設定されて更新されるようになり、テールランプ候補領域の長さの最小値Ｒminの監視が始まる。長さの最小値Ｒminには、まず現在の画素列plで検出されたテールランプ候補領域の長さｊmax−ｊmin＋１が設定される（ステップＳ２１１）。
【０１５０】
また、減少フラグflgが１とされると、ステップＳ２０５の判断で減少フラグflgは０ではないと判断されるため（ステップＳ２０５：ＮＯ）、次回以降の画素列plでの検出においては上記とは異なるルーチンで処理が行われる（ステップＳ２１２〜Ｓ２１４）。そして、通常の状態（ステップＳ２１２：ＮＯ）では、検出されたテールランプ候補領域の長さｊmax−ｊmin＋１が最小値Ｒminより小さければ（ステップＳ２１３：ＹＥＳ）、最小値Ｒminを更新して（ステップＳ２１４）、右隣の画素列plでの検出が続行される。
【０１５１】
ここで、図１７のフローチャートから分かるように減少フラグflgは現在の当該方向の左右方向検出処理SUB4が終了するまで０に戻ることはなく、次回以降の画素列plでの検出においてはテールランプ候補領域の長さが減少傾向にあるという判断が維持される。
【０１５２】
これは、通常、車のテールランプの光が撮像されると図２０（Ａ）、（Ｂ）に示すように基準画像上では高輝度領域が破線で示されるテールランプの周囲に略方形状や円形状に広がるように撮像され、また、降雨時等に撮像された場合には図２０（Ｃ）に示すように高輝度領域がテールランプの中央付近で大きく広がるように撮像されるという知見に基づく。
【０１５３】
すなわち、テールランプの光が撮像された高輝度領域は、通常の状態では、テールランプの中央付近から左右端に向かうに従って縦方向の長さが短くなっていくように撮像され、少なくとも一旦減少し始めた縦方向の長さが再び長くなることはない。逆の言い方をすれば、基準となる画素列plsから左右方向に画素列plをシフトしながら検出する縦方向のテールランプ候補領域の長さが一旦減少傾向に入った後、増加する場合には何らかの異常が発生したと考えられる。
【０１５４】
そのため、テールランプ候補領域の長さが減少傾向にあるという判断を維持し、その最小値Ｒminを更新しながらテールランプ候補領域の長さを監視する。そして、最小値Ｒminより長いテールランプ候補領域が検出された場合には、その段階で異常が発生したことを把握でき、当該方向の左右方向検出処理SUB4を強制的に終了させることが可能となる。
【０１５５】
この異常の例としては、例えば図２１に示すように、基準画像上で、先行車両Ｖahのテールランプの光Ｌtailが撮像された画素領域と対向車両Ｖoncのヘッドライトの光Ｌheadが撮像された画素領域とが一体的な高輝度領域として撮像され、両者を区別できなくなる場合がある。この現象は、特に右側のテールランプにおける基準となる画素列plsから右方向へのテールランプ候補領域の検出処理において生じ易い。
【０１５６】
このような場合、例えば図１９（Ａ）〜（Ｃ）に示した右方向へのテールランプ候補領域の検出処理を続けると、図２２に示すように、一旦減少傾向にあったテールランプ候補領域の長さＲpreが再度増加に転じ、このまま検出を続けると対抗車両Ｖoncのヘッドライトの光Ｌheadを先行車両Ｖahのテールランプの光Ｌtailとして誤検出してしまう。
【０１５７】
そのため、左右方向検出処理SUB4では、テールランプ候補領域の長さｊmax−ｊmin＋１（すなわちＲpre）がそれまで更新されてきた長さの最小値Ｒminの定数ｂ倍以上になった段階で（ステップＳ２１２：ＹＥＳ）、左右方向検出処理SUB4を強制的に終了し、それ以上テールランプ候補領域の検出処理を行わないようになっている。
【０１５８】
ここで、定数ｂはｂ＞１の範囲の値が設定される。しかし、定数ｂを１に非常に近い値に設定すると、テールランプ候補領域の長さＲpreの誤差で検出処理が終了してしまう。また、逆に定数ｂを非常に大きな値に設定すると、誤検出が生じているのに処理が終了しなくなる。そのため、定数ｂは１＜ｂ≦１．５程度の範囲で設定されることが好ましく、例えば１．２に設定される。
【０１５９】
以上が左右方向検出処理SUB4の基本的なフローであるが、特に自車両から見て対向車線側すなわち右側のテールランプにおける右方向へのテールランプ候補領域の検出処理では上記のような誤検出の問題があるので、本実施形態のテールランプ検出手段１４には、さらに厳密に誤検出を防止するために、特に対向車両Ｖoncのヘッドライトの光Ｌheadを認識するための機構が設けられており、この機構で対向車両Ｖoncのヘッドライトの光Ｌheadが認識されると、下記の右側テールランプ検出時限定処理SUB5を作動させるようになっている。
【０１６０】
本実施形態では、この対向車両Ｖoncのヘッドライトの光Ｌheadを認識するための機構として、図２３に示すように、先行車両Ｖahを示す枠線Ｆｒが設定されると、例えばその右端線Ｒlimのさらに右側外側で基準画像上での無限遠点の横側に右端線Ｒlimに接するように所定の画素領域の監視領域ＷＲoncが設定されるようになっている。そして、監視領域ＷＲonc内を監視し、例えばその内部に所定の閾値br_th3以上の輝度ｐ１ijを有する画素が所定個数以上検出された場合に対向車両Ｖoncのヘッドライトの光Ｌheadが認識されるようになっている。
【０１６１】
［右側テールランプ検出時限定処理SUB5］
そして、対向車両Ｖoncのヘッドライトの光Ｌheadが認識されると、まず、メモリから過去のランプ間距離lamp_widthが読み出される。そして、図２４に示すように、右側のテールランプにおいてテールランプ候補領域が検出される画素列plが、既に検出された左側のテールランプのテールランプ候補領域全域の右端の画素列から前記ランプ間距離lamp_widthだけ離れた画素列に達した時点で右側テールランプ検出時限定処理SUB5が開始される。
【０１６２】
右側テールランプ検出時限定処理SUB5では、その画素列およびそれより右側の画素列での検出において検出されたテールランプ候補領域の上端のｊ座標ｊmaxが左側のテールランプのテールランプ領域の最高点のｊ座標より大きい値となるか否か、およびテールランプ候補領域の下端のｊ座標ｊminが左側のテールランプのテールランプ領域の最低点のｊ座標より小さい値となるか否かが常時判定され、そのいずれかの条件が満たされた時点で、左右方向検出処理SUB4を強制的に終了して、それ以上テールランプ候補領域の検出処理を行わないようになっている。
【０１６３】
図２４に示した例では、この右側テールランプ検出時限定処理SUB5よりも左右方向検出処理SUB4のステップＳ２１２の判断が働いて左右方向検出処理SUB4が強制的に終了されるが、右側テールランプ検出時限定処理SUB5は、対向車両ＶoncのヘッドライトＬhead等の影響でテールランプ候補領域の長さが減少傾向に入ったことを認識できなかったり、テールランプ候補領域の長さがそれほど減少しない状態で対向車両ＶoncのヘッドライトＬhead等に引きずられて基準画像上での位置が上昇、下降していくような場合に有効に左右方向検出処理SUB4を終了させることができる。
【０１６４】
以上のようにして、左右方向検出処理SUB4によりテールランプ候補領域の検出の基準となる画素列plsの左方向（図１５のステップＳ２７）および右方向（ステップＳ２８）でテールランプ候補領域の検出処理が行われ、さらにその検出処理が左右のテールランプの両方について完了すると、図１５のフローチャートに基づく処理が終了し、図９の基本フローチャートの基準画像の横方向のテールランプ候補領域の検出処理（ステップＳ２）が終了する。
【０１６５】
なお、この検出の終了時点で、メモリには、左右のテールランプについてそれぞれ各画素列pls、plにおけるテールランプ候補領域の上端の座標（ｉd±ｎ，ｊmax）と下端の座標（ｉd±ｎ，ｊmin）がそれぞれ記憶されている。すなわち、左右のテールランプのそれぞれについて、テールランプ候補領域の全領域がそれぞれ検出され、テールランプ領域に属する全画素列pls、plの上端と下端の座標がすべて記憶されている。
【０１６６】
以上のようにして、基準画像の横方向のテールランプ候補領域の検出処理（ステップＳ２）を終了すると、続いて、図９の基本フローチャートのテールランプ領域の検出・データ算出処理（ステップＳ３）が行われる。
【０１６７】
［テールランプ領域の検出・データ算出処理］
テールランプ領域の検出・データ算出処理（ステップＳ３）のうち、テールランプ領域の検出処理は、先行車両の左右に検出された２つのテールランプ候補領域の整合性を評価し、整合性がとれているテールランプ候補領域を先行車両のテールランプが撮像されている領域であると評価し、テールランプ領域として検出するための処理である。また、データ算出処理は、先行車両の左右のテールランプが撮像されている領域の中心点すなわちランプ検出点（cl_i，cl_j）、（cr_i，cr_j）や、左右のテールランプ領域の中心点間の距離すなわちランプ間距離lamp_width等を算出するための処理である。この検出処理は、図２５のフローチャートに示す手順に従って行われる。
【０１６８】
この処理では、まず、テールランプ領域の検出・データ算出処理に先立って、前述した画素列pls、pl上でのテールランプ候補領域の検出に用いられる第１閾値br_th1および第２閾値br_th2の調整処理を行う（ステップＳ３１）。この調整処理では、メモリに記憶されている左右のテールランプ候補領域の各全領域の上端と下端の座標から左右のテールランプ候補領域にそれぞれ含まれる全画素数を計数して、その全画素数に基づいて第１閾値br_th1や第２閾値br_th2の数値を可変させる。
【０１６９】
具体的には、左右の全画素数のうち少なくとも一方が予め設定された閾値Ar_th1未満の場合には、２５６階調の輝度階調で表される第１閾値br_th1と第２閾値br_th2の数値を例えばそれぞれ５ずつ減少させる。つまり、テールランプが撮像されていると考えられるテールランプ候補領域の全画素数が閾値Ar_th1より小さい場合には、テールランプの光を検出し易くするために、１回のサンプリング周期ごとに第１閾値br_th1と第２閾値br_th2の数値を少しずつ下げる。ただし、第１閾値br_th1や第２閾値br_th2の数値にはそれぞれ下限が設けられる。
【０１７０】
一方、左右の全画素数のうち少なくとも一方が予め設定された閾値Ar_th2（ただしAr_th2＞Ar_th1）より大きい場合には、第１閾値br_th1と第２閾値br_th2の数値を例えばそれぞれ５ずつ増加させる。つまり、テールランプ候補領域の全画素数が閾値Ar_th2より大きい場合には、テールランプの光を検出しすぎているから検出し難くするために、１回のサンプリング周期ごとに第１閾値br_th1と第２閾値br_th2の数値を少しずつ上げる。ただし、第１閾値br_th1や第２閾値br_th2の数値にはそれぞれ上限が設けられる。
【０１７１】
以上のようにして、第１閾値br_th1および第２閾値br_th2が調整される。
【０１７２】
続いて、テールランプ領域の検出・データ算出処理が行われる。まず、データ算出処理として、左右のテールランプ候補領域の中心点すなわちランプ検出点（cl_i，cl_j）、（cr_i，cr_j）が算出され、メモリに記憶される（ステップＳ３２）。
【０１７３】
本実施形態では、前述したように、テールランプ候補領域の基準画像上での最高点および最低点が検出されてメモリに記憶されているから、図２６に示すように左右のランプ検出点のｊ座標cl_j、cr_jはそれぞれ最高点Ｊmaxと最低点Ｊminの中点として算出される。また、左右のランプ検出点のｉ座標cl_i、cr_iは、それぞれ前記基準となる画素列plsの左右方向への検出でテールランプ候補領域が検出された左端の画素列plのｉ座標Ｉminと右端の画素列plのｉ座標Ｉmaxの中点として算出される。
【０１７４】
なお、左右のランプ検出点（cl_i，cl_j）、（cr_i，cr_j）の算出のしかたは本実施形態の算出法に限らず、例えば左右のテールランプ候補領域において、長さが最大値Ｒmaxのテールランプ候補領域が検出された画素列におけるテールランプ候補領域の上端と下端との中点として算出することも可能である。
【０１７５】
続いて、テールランプ領域の検出処理が行われる。テールランプ領域の検出処理では、まず、図２７に示す左側のテールランプ候補領域の右端と右側のテールランプ候補領域の左端との距離Ｗminが閾値ＴＨ１以下であるか否かが判断される（ステップＳ３３）。
【０１７６】
この場合、左右のテールランプ候補領域の最短距離である距離Ｗminは、本実施形態では左右のテールランプ候補領域のエッジ部分の視差ｄｐが距離画像として与えられているから、前記（３）式と（１）式とに基づいて実空間上の距離として算出される。つまり、左側のテールランプ候補領域の右端と右側のテールランプ候補領域の左端のそれぞれについて、前記（３）式からＺを算出し、そのＺと各ｉ座標を前記（１）式に代入してそれぞれ車幅方向のＸ座標を算出して、その差をとることで実空間上の距離が算出される。
【０１７７】
なお、距離Ｗminをエッジ部分の視差ｄｐに基づいて算出する代わりに、前記（１）式のＺにレーダ装置等で測定した自車両と先行車両Ｖahまでの距離を代入して算出してもよい。また、前記閾値ＴＨ１は例えば３ｍ等に設定される。
【０１７８】
左右のテールランプ候補領域の最短距離Ｗminが閾値ＴＨ１より大きい場合には（ステップＳ３３：ＮＯ）、左右のランプ検出点（cl_i，cl_j）、（cr_i，cr_j）と枠線Ｆｒの左端線Ｌlim、右端線Ｒlimとが対比され、左端線Ｌlimや右端線Ｒlimから枠線Ｆｒの外にはずれる方のランプ検出点の座標等の情報をメモリから削除して（ステップＳ３４）、テールランプ領域の検出・データ算出処理を終了する。両方ともはずれる場合は左端線Ｌlimや右端線Ｒlimからの距離が遠い方を削除する。
【０１７９】
また、左右のテールランプ候補領域の最短距離Ｗminが閾値ＴＨ１以下である場合には（ステップＳ３３：ＹＥＳ）、続いて、左側のテールランプ候補領域の左端と右側のテールランプ候補領域の右端との距離Ｗmaxが閾値ＴＨ２以上であるか否かが判断される（ステップＳ３５）。左右のテールランプ候補領域の最長距離である距離Ｗmaxも前記と同様にして実空間上の距離として算出される。また、前記閾値ＴＨ２は例えば１ｍ等に設定される。
【０１８０】
左右のテールランプ候補領域の最長距離Ｗmaxが閾値ＴＨ２より小さい場合には（ステップＳ３５：ＮＯ）、左右のテールランプとして検出したはずのテールランプ候補領域が例えばナンバープレートの照明を検出している場合があるので、この場合は、左側のテールランプ候補領域の右端と右側のテールランプ候補領域の左端のうちいずれか枠線Ｆｒの中央線Ｃfrを超えて反対側にある方のランプ検出点の座標等の情報をメモリから削除して（ステップＳ３６）、テールランプ領域の検出・データ算出処理を終了する。両方とも反対側にある場合には両方とも削除される。
【０１８１】
左右のテールランプ候補領域の最長距離Ｗmaxが閾値ＴＨ２以上である場合には（ステップＳ３５：ＹＥＳ）、続いて、今回のサンプリング周期で検出された左右のテールランプ候補領域のランプ検出点（cl_i，cl_j）、（cr_i，cr_j）間の実空間上の距離Ｗと過去のランプ間距離lamp_widthとの対比を行う。
【０１８２】
まず、今回のランプ検出点間の距離Ｗの過去のランプ間距離lamp_widthに対する拡大が所定範囲以内か否かが判断される（ステップＳ３７）。本実施形態では、下記の条件４、５をともに満たす場合にのみ所定範囲内にあると判断するようになっている。
【０１８３】
条件４：Ｗ＜lamp_width×１．５    …（１１）
条件５：Ｗ−lamp_width＜２５０ｍｍ    …（１２）
なお、（１１）式の定数および（１２）式の右辺の値は適宜決められる。
【０１８４】
そして、条件４および条件５のうち少なくとも１つが満たされないと判断すると（ステップＳ３７：ＮＯ）、ステップＳ３４に移行して、左右のランプ検出点（cl_i，cl_j）、（cr_i，cr_j）のうち左端線Ｌlimや右端線Ｒlimから枠線Ｆｒの外にはずれる方のランプ検出点の座標等の情報をメモリから削除して、テールランプ領域の検出・データ算出処理を終了する。両方ともはずれる場合は左端線Ｌlimや右端線Ｒlimからの距離が遠い方を削除する。
【０１８５】
また、条件４と条件５がともに満たされると判断されると（ステップＳ３７：ＹＥＳ）、今度は、今回のランプ検出点間の距離Ｗの過去のランプ間距離lamp_widthに対する縮小が所定範囲以内か否かが判断される（ステップＳ３８）。本実施形態では、下記の条件６、７をともに満たす場合にのみ所定範囲内にあると判断するようになっている。
【０１８６】
条件６：Ｗ＞lamp_width×２／３    …（１３）
条件７：lamp_width−Ｗ＞５００ｍｍ    …（１４）
なお、（１３）式の定数および（１４）式の右辺の値は適宜決められる。
【０１８７】
そして、条件６および条件７のうち少なくとも１つが満たされないと判断すると（ステップＳ３８：ＮＯ）、ステップＳ３６に移行して、左側のテールランプ候補領域の右端と右側のテールランプ候補領域の左端のうちいずれか枠線Ｆｒの中央線Ｃfrを超えて反対側にある方のランプ検出点の座標等の情報、若しくは両方とも超えている場合は両方のランプ検出点の座標等の情報をメモリから削除して、テールランプ領域の検出・データ算出処理を終了する。
【０１８８】
一方、前記のいずれの判断（ステップＳ３３、Ｓ３５、Ｓ３７、Ｓ３８）もクリアすると判断されると、左右のテールランプ候補領域が、基準画像中で先行車両Ｖahのテールランプが撮像されている領域すなわちテールランプ領域であると評価されてテールランプ領域の検出（ステップＳ３９）が完了する。
【０１８９】
本実施形態では、ステップＳ３９が終了すると、今度は、データ算出処理として、今回のサンプリング周期で得られた左右のランプ検出点（cl_i，cl_j）、（cr_i，cr_j）の画像上での横方向の距離cr_i−cl_iとメモリに記憶されている過去のランプ間距離lamp_widthに基づいて自車両と先行車両Ｖahとの距離を算出し、前記視差ｄｐに基づいて算出された自車両と先行車両Ｖahとの距離と比較していずれかを選択して更新するようになっている（ステップＳ４０）。なお、以下、前者の距離をＺc、後者の距離をＺdpと表す。
【０１９０】
後者の視差ｄｐに基づく先行車両Ｖahまでの距離Ｚdpは、位置情報収集手段９で算出された視差ｄｐに基づいて立体物検出手段１１によりすでに算出されている。距離Ｚcは、今回のランプ検出点間の距離cr_i−cl_iを前記（１）式のｉに代入し、メモリに記憶されているランプ間距離lamp_widthを読み出して前記（１）式のＸに代入して算出する。
【０１９１】
そして、距離Ｚcおよび距離Ｚdpを、過去のサンプリング周期で選択、更新されてメモリに記憶されている先行車両Ｖahまでの距離Ｚと対比させて変化量がより小さい方の値を選択して距離Ｚとしてメモリに上書き保存する。つまり、距離Ｚcの方が距離Ｚdpよりも過去の先行車両Ｖahまでの距離Ｚに近ければ立体物検出手段１１で算出され測定された距離Ｚdpを距離Ｚcで修正して距離Ｚcの方を記憶する。
【０１９２】
このようにして、自車両と先行車両Ｖahとの距離Ｚを更新していく。なお、距離測定手段としてレーダ装置等の他の手段を用いる場合には測定結果である距離Ｚと前記距離Ｚcとを比較、選択するように構成されることは言うまでもない。また、例えば、距離Ｚc自体の信頼度および距離Ｚdp自体の信頼度をそれぞれ算出して、距離Ｚからの変化量が小さくても信頼度が低い場合は信頼度が高い方の距離を距離Ｚとして更新するように構成することも可能である。
【０１９３】
テールランプ領域の検出・データ算出処理では、最後に、ランプ間距離lamp_widthを算出して更新する（ステップＳ４１）。本実施形態では、ランプ間距離lamp_widthは今回検出されたランプ検出点間の実空間上の距離Ｗを用いて下記（１５）式で表される時定数フィルタにより平滑化されて算出されるようになっている。
lamp_width←lamp_width×０．９５＋Ｗ×０．０５    …（１５）
【０１９４】
なお、平滑化は、例えばカルマンフィルタや移動平均フィルタ等の他の平滑化フィルタを用いて行ってもよい。
【０１９５】
以上のように、本実施形態に係る先行車両検出装置１によれば、撮像手段２により撮像される先行車両Ｖahのテールランプの形状に着目し、撮像画像上では先行車両Ｖahのテールランプの光が図２０（Ａ）〜（Ｃ）に示されるようにその左右端に向かうに従って縦方向の長さが短くなっていき、若しくは少なくとも縦方向の長さが長くはならず、一旦減少傾向を示し始めると縦方向の長さが再び長くなることはないという知見を利用して、撮像画像中からテールランプが撮像されている領域（テールランプ領域）の検出を行う。
【０１９６】
すなわち、テールランプ領域を検出するにあたって、まず、検出の基準となる縦方向に延在する画素列plsを設定し、その画素列plsから左右方向に画素列plをシフトさせながら画素列pl上に高輝度の領域を検出していく。その際、高輝度の領域の長さを監視し、その長さが減少する傾向にあるか否かを判断する。
【０１９７】
そして、減少傾向にあると判断すると、その判断を維持しながら高輝度領域の長さの監視を続け、高輝度領域の長さが一旦最小値となった後、再び増加に転じた時点で画素列plのシフトを中止しテールランプ領域の検出を終了する。
【０１９８】
このような検出のしかたを採用することで、グレースケールで撮像する撮像手段しか備えていなくても、例えば図２１に示される対向車両Ｖoncのヘッドライトの光Ｌheadのように、画像上で先行車両Ｖahのテールランプの光Ｌtailと一体的に撮像されてしまう先行車両のテールランプ以外の光の影響を有効に排除することが可能となる。
【０１９９】
そして、そのために先行車両Ｖahのテールランプの光とそれ以外の光を効果的に区別できるようになり、撮像画像中から先行車両のテールランプを安定性よく確実に検出することが可能となる。
【０２００】
なお、本実施形態では、テールランプ領域の検出処理を施す画像として、基準画像Ｔを用いる構成について説明したが、これに限らず、基準画像Ｔと比較画像とでテールランプの撮像安定度が高い方の画像を選択するように構成しても良い。
【０２０１】
具体的には、まず、テールランプの撮像安定度として、基準画像Ｔと比較画像とにおけるテールランプの左右方向長さについて長さの時間変化率を各画像に対してそれぞれ独立に算出する。続いて、基準画像Ｔと比較画像に対してそれぞれ独立に上述のテールランプ領域の検出処理を施し、時間変化率が小さい方の画像から検出されたテールランプ領域を最終的な出力として選択するように構成する。
【０２０２】
このように構成すれば、先行車両のテールランプをより安定性よく確実に検出することが可能となる。また、テールランプの撮像安定度は、テールランプの左右方向長さの時間変化率に代えて、テールランプの上下高さ、テールランプの面積又は左右のテールランプ間距離についての時間変化率を用いるようにしても良い。さらに、先行車両の中心位置を基準に左右のテールランプ位置の左右対象性を求め、この左右対象性をテールランプの撮像安定度とすることもできる。
【０２０３】
次に、本実施形態に係る先行車両検出装置１で検出した先行車両のテールランプの情報を活用すると、種々の処理を行うことが可能となる。以下、それらの処理について説明する。
【０２０４】
［先行車両の画像領域の推定］
前述したように、本実施形態に係る先行車両検出装置１では、２台のカメラ２ａ、２ｂで自車両の周囲をステレオ撮像し、基準画像と比較画像を形成して、それらに対してステレオマッチング処理を施して視差ｄｐを算出する。そして、その視差ｄｐに基づいて基準画像上に撮像された各点までの実空間上の距離を算出して、立体物を検出し、先行車両を検出している。
【０２０５】
このような先行車両検出装置１において、例えば夜間の降雨の際に、カメラの前方をワイパが横切ると、図２８に示すように、基準画像Ｔと比較画像Ｔｃのうち、例えば比較画像ＴｃにワイパＷｉｐが写り込み、先行車両Ｖahの一方のテールランプが撮像されなくなる場合がある。
【０２０６】
このような場合、撮像されなかった側のテールランプ（図２８では左側のテールランプ）の画像領域ではマッチングを行うことができないため、図２９に示すように先行車両Ｖahの約半分のみが枠線Ｆｒで囲まれた状態で先行車両Ｖahが検出される。そのため、先行車両Ｖahの検出の安定性が低下する。
【０２０７】
また、この先行車両検出装置１では、前述したように先行車両Ｖahの情報を更新しながら追跡するようになっているため、一旦先行車両Ｖahの片側だけを先行車両と認識すると先行車両の片側のみを追跡してしまい、左右両方のテールランプが含まれる先行車両の背面全体を先行車両として捉える正常な状態に戻り難くなる場合がある。
【０２０８】
そこで、前述した本実施形態の構成に加えて、先行車両検出装置１のテールランプ検出手段１４を、テールランプの検出処理において先行車両Ｖahの左右のテールランプ領域のうち一方の領域しか検出できなかった場合、すなわち例えば図２５に示したテールランプ領域の検出・データ算出処理のステップＳ３４やステップＳ３６の処理で一方のテールランプ候補領域の情報しかメモリから削除されなかった場合などに、そのテールランプ候補領域の中心点すなわちランプ検出点の座標と過去のランプ間距離とに基づいて他方のテールランプ領域の位置を推定して先行車両の背面全体が撮像された画像領域を推定するように構成することが可能である。
【０２０９】
具体的には、例えば図２９のように枠線Ｆｒを設定するために用いられた自車両と先行車両Ｖahとの実空間上の距離Ｚを前記（１）式のＺに代入し、メモリに記憶されている過去のランプ間距離lamp_widthを読み出して前記（１）式のＸに代入してｉを求める。このｉは、基準画像Ｔ上における左右のテールランプ領域の中心点間の画素数を表しているから、図３０に示すように、この場合は検出されている右側のテールランプのランプ検出点（cr_i，cr_j）から前記ｉだけ左側の点を左側のテールランプのランプ検出点として推定する。そして、メモリに記憶されているランプ間距離lamp_widthと車幅car_widthとの比に基づいて枠線Ｆｒの左端線Ｌlimの位置を推定して左側に拡大させるように構成する。
【０２１０】
このように構成することで、先行車両Ｖahを表す枠線Ｆｒすなわち画像中の先行車両Ｖahが撮像された画像領域を正常な状態で検出することが可能となる。また、片方のテールランプ領域が検出されている限り先行車両Ｖahが自車両の前方を走行していることは確実であると判断されるから、片方のテールランプ領域が検出されている限りこのような枠線Ｆｒの拡大処理を続行し、枠線Ｆｒを正常な状態に戻すことで、先行車両Ｖahの検出の安定性を維持、向上させることが可能となり、先行車両Ｖahを確実に追跡することが可能となる。
【０２１１】
［自車両と先行車両の距離の推定］
また、雨の降り方がさらに激しくなると、カメラの前方のフロントガラスが濡れて、図３１に模式的に示すように先行車両Ｖahが基準画像Ｔや比較画像Ｔｃ上で歪んで撮像されるようになる。このような状態では、メインカメラ２ａの前方とサブカメラ２ｂの前方のフロントガラスで濡れ方が異なるため、同じ先行車両Ｖahを撮像しても基準画像Ｔと比較画像Ｔｃとでそのエッジ部分の形状が異なって撮像される。
【０２１２】
そのため、前述のようにステレオマッチング処理を行った場合、マッチングが正常に行われず、誤った視差ｄｐが算出されて、自車両と先行車両Ｖahとの距離Ｚが異常な値に算出される場合がある。また、マッチングを行うことができなくなる場合もある。また、レーダ装置等で先行車両Ｖahまでの距離Ｚを測定する場合にも雨の影響で良好に測定できない場合がある。
【０２１３】
このような場合、前述したように、本実施形態に係る先行車両検出装置１では、図２５に示したテールランプ領域の検出・データ算出処理のステップＳ４０で、今回のサンプリング周期で得られた左右のランプ検出点（cl_i，cl_j）、（cr_i，cr_j）の画像上での横方向の距離cr_i−cl_i等に基づいて算出した距離Ｚcと、視差ｄｐに基づいて算出された自車両と先行車両Ｖahとの距離Ｚdpとが比較されるようになっており、より適切な値を示す方の距離を先行車両Ｖahまでの距離Ｚとして更新するようになっている。
【０２１４】
そのため、距離測定手段が異常な値の距離を測定したり、距離を測定できなかったりしても、自車両と先行車両Ｖahとの正常な値の距離Ｚ或いは正常な値に近い距離Ｚを算出することが可能となる。また、このように自車両に対する先行車両Ｖahの位置関係を的確に把握することで、先行車両Ｖahを見失うことなく的確に追跡して、先行車両Ｖahの検出の安定性を維持、向上させることが可能となる。
【０２１５】
なお、自車両と先行車両Ｖahとの距離Ｚをさらに正確に検出するために、例えば、距離Ｚcと距離Ｚdpとが比較されてより正常な値に近い値として選択された距離が、メモリに記憶されている過去の自車両と先行車両Ｖahとの距離Ｚと対比した場合にその変化量が所定範囲以内の値でない場合には、選択された距離をメモリには上書き保存せずに棄却して、今回のサンプリング周期では自車両と先行車両Ｖahとの距離Ｚが検出されなかったものとして処理するように構成することも可能である。
【０２１６】
［テールランプ領域の情報に基づく距離の測定］
この処理は、前記の処理例のように降雨時とは関係ないが、前記の本実施形態に係る先行車両検出装置１によれば、先行車両Ｖahのテールランプ領域を明確に検出することができる。従って、前記の本実施形態のような立体物検出とは別に、明確に検出されているテールランプ領域のエッジ部分に対するステレオマッチング処理の結果得られた視差ｄｐに基づいて、自車両と先行車両Ｖahとの距離Ｚを測定することが可能となる。
【０２１７】
そこで、前述した本実施形態の構成に加えて、先行車両検出装置１のテールランプ検出手段１４を、画像処理手段６の距離データメモリ８から距離画像を読み出し、メモリから過去のテールランプ領域の情報を読み出して、距離画像から過去のテールランプ領域を含む所定範囲の画像部分の視差ｄｐを抜き出して例えばそれらの平均値や最頻値等を算出し、視差ｄｐの平均値や最頻値等を前記（３）式のｄｐに代入して解くことで自車両と先行車両Ｖahとの距離Ｚを算出するように構成することが可能である。
【０２１８】
このように構成することで、例えば夜間、暗い道路上で先行車両の車体のエッジ部分は明確に撮像できず、車体のエッジ部分に対するステレオマッチング処理に基づいて自車両と先行車両との距離を算出できず、また、算出できても信頼性が乏しい場合にも、周囲の低輝度部分とは明確に区別される高輝度のテールランプ領域のエッジ部分に対するステレオマッチング処理により自車両と先行車両Ｖahとの距離Ｚを的確に測定することが可能となる。
【０２１９】
そして、このようにして自車両と先行車両Ｖahとの距離Ｚの信頼性を向上させることが可能となるとともに、自車両に対する先行車両Ｖahの位置関係を的確に把握することで、先行車両Ｖahを見失うことなく的確に追跡して、先行車両Ｖahの検出の安定性を維持、向上させることが可能となる。
【０２２０】
［ブレーキランプの点灯認識］
通常の車両においては、テールランプとブレーキランプはその背面の同じ位置にあったり、非常に近接した位置にあることが多い。そのため、夜間、テールランプが点灯している状態でブレーキランプが点灯すると、それを撮像した画像上では、テールランプの光の面積が拡大したように撮像される。
【０２２１】
そのため、本実施形態では前述したようにテールランプ領域の全画素数を計数しているが、その全画素数の変化を認識することでブレーキランプの点灯を認識することが可能となる。
【０２２２】
そこで、前述した本実施形態の構成に加えて、先行車両検出装置１のテールランプ検出手段１４を、検出したテールランプ領域の全画素数を監視し、その数が所定割合以上増加した場合に、ブレーキランプの点灯を認識するように構成することが可能である。
【０２２３】
具体的には、例えば先行車両Ｖahの左右のテールランプ領域に属する全画素数を左右それぞれ過去のサンプリング周期の所定周期分メモリに保存するように構成し、全画素数が下記の各条件を満たす場合にブレーキランプが点灯したと判断して例えば点灯情報を出力するように構成する。
【０２２４】
条件８：図３２のグラフに示すように、左右のテールランプ領域の各全画素数の合計が、現在のサンプリング周期ｔからそれ以前のτ１周期分の前記合計の平均値ｎ１と、インターバル周期τ２をおいてさらにそれ以前のτ３周期分の前記合計の平均値ｎ２とを比較した場合に、平均値ｎ１が平均値ｎ２に比べて例えば４０％以上増加している。
条件９：左右のテールランプ領域の各全画素数についてそれぞれ図３２と同様のグラフを作成し、条件８と同様にしてそれぞれ平均値を比較した場合、左右ともに２０％以上増加している。
【０２２５】
また、反対に平均値ｎ１が平均値ｎ２に比べて所定割合だけ減少した時点でブレーキランプの消灯を認識して、例えば前記点灯情報の出力を停止するように構成する。
【０２２６】
なお、この場合、図２５に示したテールランプ領域の検出・データ算出処理の第１閾値br_th1および第２閾値br_th2の調整処理（ステップＳ３１）が作動する。そのため、この閾値の調整やその他カメラのシャッタ制御等の補正処理、或いは自車両と先行車両Ｖahとの距離等により左右のテールランプ領域の全画素数を計数する基準が変化するが、このブレーキランプの点灯認識では基準が各サンプリング周期で統一されるように再補正処理されて前記平均値が比較される。
【０２２７】
このように構成することで、ブレーキランプの点灯および消灯を確実に認識することが可能となり、また、その情報に基づいて例えば先行車両Ｖahに対する追突防止機構を正常に作動させるなど適切な自動操舵や自動制動制御等の安全走行機構を作動させることが可能となる。
【０２２８】
また、先行車両Ｖahの挙動を的確に把握することが可能となり、先行車両Ｖahを的確に追跡して、先行車両Ｖahの検出の安定性を維持、向上させることが可能となる。
【０２２９】
［車両認識］
例えば自車両から遠方の前方に立体物が存在する場合、それが障害物であれば、現在の速度を減速することなく障害物の横を通過するように自車両に自動操舵させればよい。しかし、前方の立体物が先行車両であり、かつ停車している場合には、その横を通過させるのではなく、その後方で停車するように自動制動制御させなければならない。
【０２３０】
このように立体物の種別の判定次第で自動制御のしかたが大きく異なるため、特に自車両が走行している進行路上に存在している立体物が障害物であるか先行車両であるかの判定は非常に重要になる。
【０２３１】
そこで、前述した本実施形態の構成に加えて、先行車両検出装置１のテールランプ検出手段１４を、立体物検出手段１１が検出した立体物、特に自車両の進行路上に存在する立体物について、例えばその立体物を示す枠線Ｆｒの左端線Ｌlimや右端線Ｒlimからその幅の１／８や１／６等の位置を探索する。そして、左右２つの高輝度領域が検出された場合には、その２つの領域の各最高点Ｊmax（図２６参照）の縦方向の画素差および各最低点Ｊminの縦方向の画素差がそれぞれ例えば５画素以内であり、一方の高輝度領域に属する画素数の他方の高輝度領域に属する画素数に対する割合が例えば１．５倍以内等の所定の割合以内である場合には、この２つの高輝度領域が含まれる立体物を車両であると判定するように構成することが可能である。
【０２３２】
このように構成することで、前記条件を満たす場合には自車両前方の立体物が車両であることを判定することが可能となり、例えば前方の車両の十分手前から自動制動制御を作動させたり、自車両前方に設定する先行車両の検出可能距離を変更して増大させたりして自車両の安全走行性能を向上させることが可能となる。
【図面の簡単な説明】
【０２３３】
【図１】本実施形態に係る先行車両検出装置の構成を示すブロック図である。
【図２】基準画像の一例を示す図である。
【図３】区分ごとの距離を実空間上にプロットした各点を表す図である。
【図４】図３の各点をグループ化した場合の各グループを表す図である。
【図５】図４の各グループを分類して形成された各サブグループを表す図である。
【図６】矩形状の枠線で示される基準画像上の立体物を示す図である。
【図７】自車両の走行軌跡と進行路を説明する図である。
【図８】枠線で示される先行車両およびランプ検出点を説明する図である。
【図９】テールランプ領域の検出処理の手順を示す基本フローチャートである。
【図１０】縦方向のテールランプ候補領域の検出処理の手順を示すフローチャートである。
【図１１】上方領域検出処理と下方領域検出処理の手法を説明する図である。
【図１２】テールランプ候補領域検出処理の手順を示すフローチャートである。
【図１３】テールランプ候補領域検出処理の手法を説明する図である。
【図１４】先行車両の下方に写り込むテールランプの反射光を説明する図である。
【図１５】横方向のテールランプ候補領域の検出処理の手順を示すフローチャートである。
【図１６】横方向のテールランプ候補領域の検出処理における探索領域の設定の手法を説明する図である。
【図１７】左右方向検出処理の手順を示すフローチャートである。
【図１８】左右方向検出処理で基準となる画素列の右隣の画素列におけるテールランプ候補領域の検出の手法を説明する図である。
【図１９】現在のテールランプ候補領域の長さと長さの最大値との関係を説明する図であり、（Ａ）は現在の長さと最大値が等しい場合、（Ｂ）は現在の長さが最大値の定数倍よりは長い場合、（Ｃ）は現在の長さが最大値の定数倍より短い場合を表す。
【図２０】画像中に撮像されたテールランプの光を表す高輝度領域を説明する図であり、（Ａ）はテールランプが方形状の場合、（Ｂ）はテールランプが円形状の場合、（Ｃ）は降雨時等に撮像された場合を表す。
【図２１】先行車両のテールランプの光と対向車両のヘッドライトの光の画素領域とが一体の高輝度領域として撮像されることを説明する図である。
【図２２】減少傾向にあったテールランプ候補領域の長さが増加に転じた状態を説明する図である。
【図２３】画像上に設定された監視領域を説明する図である。
【図２４】右側テールランプ検出時限定処理の手法を説明する図である。
【図２５】テールランプ領域の検出・データ算出処理の手順を示すフローチャートである。
【図２６】各テールランプ候補領域の最高点、最低点、左端の画素列、右端の画素列およびランプ検出点を説明する図である。
【図２７】左右のテールランプ候補領域の最短距離、最長距離およびランプ検出点間の距離を説明する図である。
【図２８】画像中に写り込んだワイパによりテールランプが撮像されなくなった状態を説明する図である。
【図２９】枠線により約半分しか検出されない先行車両を表す図である。
【図３０】枠線の拡大を説明する図である。
【図３１】歪んで撮像された先行車両を模式的に表した図である。
【図３２】テールランプ領域の全画素数の増加を示すグラフである。
【符号の説明】
【０２３４】
１  先行車両検出装置
２、２ａ、２ｂ  撮像手段
９  距離測定手段（位置情報収集手段）
１１  先行車両の左右端を検出する手段（立体物検出手段）
１３  先行車両検出手段
１４  テールランプ検出手段
ａ、b  定数
br_th1  高輝度の閾値（第１閾値）
br_th2  閾値（第２閾値）
（cl_i，cl_j），（cr_i，cr_j）  テールランプの中心点（ランプ検出点）
ｄｐ  視差
Ｆｒ  枠線
ｊe  枠線の上端
ｊs  枠線の下端
Ｊmax  テールランプの上端（最高点）
Ｊmin  テールランプの下端（最低点）
ｊmax  画素領域の上端
ｊmin  画素領域の下端
lamp_width  左右のテールランプ領域の中心点間の距離（ランプ間距離）
ＭＣ  自車両
ｐ１ij  輝度
pl  シフトされる画素列
pls  画素列（基準となる画素列）
Ｒmax   画素数の最大値
Ｒmin  画素数の最小値
Ｔ  画像（基準画像）
Ｖah  先行車両
Ｚ、Ｚdp、Ｚc  先行車両までの距離
【図１】
2008186344.tif 000003
【図２】
2008186344.tif 000004
【図３】
2008186344.tif 000005
【図４】
2008186344.tif 000006
【図５】
2008186344.tif 000007
【図６】
2008186344.tif 000008
【図７】
2008186344.tif 000009
【図８】
2008186344.tif 000010
【図９】
2008186344.tif 000011
【図１０】
2008186344.tif 000012
【図１１】
2008186344.tif 000013
【図１２】
2008186344.tif 000014
【図１３】
2008186344.tif 000015
【図１４】
2008186344.tif 000016
【図１５】
2008186344.tif 000017
【図１６】
2008186344.tif 000018
【図１７】
2008186344.tif 000019
【図１８】
2008186344.tif 000020
【図１９】
2008186344.tif 000021
【図２０】
2008186344.tif 000022
【図２１】
2008186344.tif 000023
【図２２】
2008186344.tif 000024
【図２３】
2008186344.tif 000025
【図２４】
2008186344.tif 000026
【図２５】
2008186344.tif 000027
【図２６】
2008186344.tif 000028
【図２７】
2008186344.tif 000029
【図２８】
2008186344.tif 000030
【図２９】
2008186344.tif 000031
【図３０】
2008186344.tif 000032
【図３１】
2008186344.tif 000033
【図３２】
2008186344.tif 000034