(57)【要約】【課題】本発明は、画像から車両の情報を高精度に検出する車両検出装置を提供することを課題とする。【解決手段】撮像手段４で撮像した画像から車両の情報を検出する車両検出装置１であって、車両の面の候補を推定する面候補推定手段１１と、車両を撮像した画像から所定の特徴量を有する複数の特徴点を抽出する特徴点抽出手段１２と、抽出した特徴点の３次元位置を推定する３次元位置推定手段１３と、異なる時刻で撮像した各画像からそれぞれ推定された面候補の組み合わせ毎に、面候補間で複数の特徴点について特徴量の差が小さくなる特徴点の対応関係を探索し、当該探索された対応関係の複数の特徴点間において３次元位置を並進移動及び回転変換した上で位置誤差を求め、当該位置誤差が最少となる組み合わせの面候補を抽出し、当該抽出した組み合わせの面候補に基づいて車両の面を検出する車両情報検出手段１４とを備えることを特徴とする。【選択図】図１
2010256040.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段で撮像した画像から車両の情報を検出する車両検出装置であって、
車両の面の候補を推定する面候補推定手段と、
前記撮像手段で車両を撮像した画像から所定の特徴量を有する複数の特徴点を抽出する特徴点抽出手段と、
前記特徴点抽出手段で抽出した特徴点の３次元位置を推定する３次元位置推定手段と、
前記撮像手段で異なる時刻で撮像した各画像からそれぞれ推定された面候補の組み合わせ毎に、面候補間で複数の特徴点について特徴量の差が小さくなる特徴点の対応関係を探索し、当該探索された対応関係の複数の特徴点間において３次元位置を並進移動及び回転変換した上で位置誤差を求め、当該位置誤差が最少となる組み合わせの面候補を抽出し、当該抽出した組み合わせの面候補に基づいて車両の面を検出する車両情報検出手段と
を備えることを特徴とする車両検出装置。
【請求項２】
前記車両情報検出手段は、検出した面に基づいて車両の端点を検出することを特徴とする請求項１に記載する車両検出装置。
【請求項３】
前記車両情報検出手段は、抽出した組み合わせの面候補間において対応する特徴点間の３次元位置の位置誤差が閾値以内の特徴点が存在する領域に基づいて車両の面の幅を検出することを特徴とする請求項１又は請求項２に記載する車両検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両検出装置に関する。
【背景技術】
【０００２】
近年、衝突防止装置、車間制御装置などの運転支援装置が開発されている。これら運転支援装置では、自車両の前方を走行する車両を検出することが重要となる。このような検出装置には、自車両に搭載したカメラで撮像した画像に基づいて車両の情報を検出するものがある。特許文献１に記載の装置では、画像から縦エッジを検出し、縦エッジの数に基づいて車両の側面と後面を判別する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−５００８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
隣接車線から自車線に車両が車線変更しているときなど、自車両に対して検出対象の車両が斜め方向を向いている場合、その車両の側方と後面が同時にカメラで撮像される。この場合、上記の装置では、側面と後面とを判別することしかできないので、２面が撮像されている画像に対して対応できず、車両の情報（２面の境界を示す車両端点、２面を含む車両の面など）を検出できない。
【０００５】
そこで、本発明は、画像から車両の情報を高精度に検出する車両検出装置を提供することを課題とする。
【課題を解決するための手段】
【０００６】
本発明に係る車両検出装置は、撮像手段で撮像した画像から車両の情報を検出する車両検出装置であって、車両の面の候補を推定する面候補推定手段と、撮像手段で車両を撮像した画像から所定の特徴量を有する複数の特徴点を抽出する特徴点抽出手段と、特徴点抽出手段で抽出した特徴点の３次元位置を推定する３次元位置推定手段と、撮像手段で異なる時刻で撮像した各画像からそれぞれ推定された面候補の組み合わせ毎に、面候補間で複数の特徴点について特徴量の差が小さくなる特徴点の対応関係を探索し、当該探索された対応関係の複数の特徴点間において３次元位置を並進移動及び回転変換した上で位置誤差を求め、当該位置誤差が最少となる組み合わせの面候補を抽出し、当該抽出した組み合わせの面候補に基づいて車両の面を検出する車両情報検出手段とを備えることを特徴とする。
【０００７】
この車両検出装置では、面候補推定手段により車両の面の候補を推定する。また、車両検出装置では、撮像手段で撮像する毎に、特徴点抽出手段により画像から所定の特徴量（例えば、エッジ、ウェーブレット、ＳＩＦＴ）を有する特徴点を複数抽出し、３次元位置推定手段によりその各特徴点の３次元位置をそれぞれ推定する。そして、車両検出装置では、車両情報検出手段により、異なる時刻で撮像した各画像からそれぞれ推定された面候補の組み合わせ毎に、異なる時刻での面候補間において面候補内の複数の特徴点について特徴量の差が小さくなる各特徴点の対応関係をそれぞれ探索し、その対応関係の複数の特徴点間において３次元位置を並進移動及び回転変換して位置誤差を求める。複数の特徴点の３次元位置の並進移動及び回転変換によって車両の挙動の変化を考慮しているので、面候補のうち車両の面を正しく推定している面候補の場合には異なる時刻での面候補間での対応する複数の特徴点の位置誤差は小さくなる。そこで、車両検出装置では、車両情報検出手段により、各組み合わせの面候補間の位置誤差を比較し、位置誤差が最少となる組み合わせの面候補を抽出し、その位置誤差が最少となる組み合わせの面候補に基づいて車両の面を検出する。このように、車両検出装置では、異なる時刻での面候補間の複数の特徴点の位置誤差を利用することにより、車両の情報（車両の面）を高精度に検出することができる。
【０００８】
なお、車両の面（面の候補）は、画像に写っている車両全体の面であり、車両の一面（前面、後面、側面）だけの場合もあれば、車両の複数の面（例えば、前面＋側面、後面＋側面）を含む場合もある。３次元位置の並進移動及び回転変換は、３次元位置を並進移動変換及び回転変換させる場合以外にも、並進移動変換だけをさせる場合、回転変換だけをさせる場合も含むものとする。
【０００９】
本発明の上記車両検出装置では、車両情報検出手段は、検出した面に基づいて車両の端点を検出する構成としてもよい。
【００１０】
検出した面が車両の２つの面を含んでいる場合、その検出した面内の２つの面の交差点から車両の端点（２つの面の境界位置）を抽出できる。したがって、この車両検出装置では、高精度に検出された面に基づいて、車両の端点を高精度に検出することができる。
【００１１】
本発明の上記車両検出装置では、車両情報検出手段は、抽出した組み合わせの面候補間において対応する特徴点間の３次元位置の位置誤差が閾値以内の特徴点が存在する領域に基づいて車両の面の幅を検出する構成としてもよい。
【００１２】
抽出された組み合わせの各面候補（検出された車両の面）内の複数の特徴点の中には、車両以外の特徴点も含まれている場合がある。異なる時刻間の対応する特徴点が車両の特徴点の場合、異なる時刻間でも各特徴点の３次元位置は近い位置関係にある。しかし、異なる時刻間の対応する特徴点が車両以外の物体の特徴点の場合、異なる時刻間での各特徴点の３次元位置は遠い位置関係にある。したがって、抽出した組み合わせの面候補間において対応する特徴点の３次元位置の位置誤差が大きい場合には車両以外の物体の特徴点とみなすことができ、位置誤差が小さい場合には車両の特徴点とみなすことがでる。そこで、この車両検出装置では、抽出した組み合わせの面候補間（すなわち、異なる時刻間）において対応する特徴点の３次元位置の位置誤差が閾値以内の特徴点が存在する領域に基づいて、車両の面の幅を高精度に検出することができる。
【発明の効果】
【００１３】
本発明によれば、異なる時刻での面候補間の複数の特徴点の位置誤差を利用することにより、車両の情報（車両の面）を高精度に検出することができる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態に係る車両検出装置の構成図である。
【図２】レーザレーダによる反射点の一例である。
【図３】反射点群の分割位置の一例である。
【図４】形状モデルの一例であり、（ａ）がモデル１であり、（ｂ）がモデル２である。
【図５】ｓｏｂｅｌフィルタであり、（ａ）が横エッジ検出用であり、（ｂ）が縦エッジ検出用である。
【図６】カメラによる画像に対するエッジ画像の一例である。
【図７】特徴点の画像上位置と３次元位置との関係を示す図であり、（ａ）が車両を斜視した場合であり、（ｂ）が上面視した場合である。
【図８】特徴点の時刻間対応付けの説明図であり、（ａ）が時刻間の比較例であり、（ｂ）が位置誤差が大きい比較例１であり、（ｃ）が位置誤差が小さい比較例２である。
【図９】車両位置・面候補推定部におけるメイン処理の流れを示すフローチャートである。
【図１０】車両位置・面候補推定部におけるメイン処理の中のグルーピング処理の流れを示すフローチャートである。
【図１１】車両位置・面候補推定部におけるメイン処理の中の形状モデル推定処理の流れを示すフローチャートである。
【図１２】車両位置・面候補推定部におけるメイン処理の中の画像上範囲推定処理（前面・後面）の流れを示すフローチャートである。
【図１３】車両位置・面候補推定部におけるメイン処理の中の画像上範囲推定処理（側面）の流れを示すフローチャートである。
【図１４】特徴点３次元位置候補推定部における処理の流れを示すフローチャートである。
【図１５】車両端点抽出部における処理の流れを示すフローチャート（前半部）である。
【図１６】車両端点抽出部における処理の流れを示すフローチャート（後半部）である。
【図１７】第２の実施の形態に係る車両検出装置の構成図である。
【図１８】２時刻間での特徴点の位置誤差の一例であり、（ａ）が前時刻ｔ１での特徴点の画像上位置と３次元位置との関係を示す図であり、（ｂ）が現時刻ｔ２での特徴点の画像上位置と３次元位置との関係を示す図であり、（ｃ）が前時刻ｔ１と現時刻ｔ２間における特徴点の３次元位置の位置誤差を示す図である。
【図１９】車両幅推定部における処理の説明図である。
【図２０】車両幅推定部における処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明に係る車両検出装置の実施の形態を説明する。
【００１６】
本実施の形態では、本発明に係る車両検出装置を、車両に搭載される車両検出装置に適用する。本実施の形態に係る車両検出装置は、自車両の前方に存在する車両を検出し、検出した車両の情報を車間距離制御装置や衝突防止装置などの運転支援装置に提供する。本実施の形態には、２つの形態があり、第１の実施の形態が車両情報として車両の端部（車両の面）を検出する形態であり、第２の実施の形態が車両情報として車両の端部の他に車両の幅も検出する形態である。
【００１７】
図１〜図８を参照して、第１の実施の形態に係る車両検出装置１について説明する。図１は、第１の実施の形態に係る車両検出装置の構成図である。図２は、レーザレーダによる反射点の一例である。図３は、反射点群の分割位置の一例である。図４は、形状モデルの一例であり、（ａ）がモデル１であり、（ｂ）がモデル２である。図５は、ｓｏｂｅｌフィルタであり、（ａ）が横エッジ検出用であり、（ｂ）が縦エッジ検出用である。図６は、カメラによる画像に対するエッジ画像の一例である。図７は、特徴点の画像上位置と３次元位置との関係を示す図であり、（ａ）が車両を斜視した場合であり、（ｂ）が上面視した場合である。図８は、特徴点の時刻間対応付けの説明図であり、（ａ）が時刻間の比較例であり、（ｂ）が位置誤差が大きい比較例１であり、（ｃ）が位置誤差が小さい比較例２である。
【００１８】
車両検出装置１は、レーダセンサによるレーダ情報を用いて車両の各面が存在する画像上の範囲を推定し、カメラによる画像情報を用いてその推定した画像上の範囲内のエッジの情報に基づいて車両の端点（２つの面の境界位置）を検出する。特に、車両検出装置１は、連続する２時刻間の各画像からそれぞれ推定された面候補の組み合わせ毎に、面候補間で複数の特徴点について特徴量の差が小さくなる特徴点の対応関係を探索し、その対応関係の複数の特徴点間において３次元位置を並進移動及び回転変換した上で最少の位置誤差を求め、全ての組み合わせの面候補の中で位置誤差が最少となる組み合わせの面候補を抽出し、その抽出した組み合わせの面候補に基づいて車両の面を検出し、その面から車両の端点を抽出する。そのために、車両検出装置１は、レーザレーダ３、カメラ４、ＥＣＵ[Electronic Control Unit]１０を備えており、ＥＣＵ１０に車両位置・面候補推定部１１、特徴点抽出部１２、特徴点３次元位置候補推定部１３、車両端点抽出部１４が構成される。
【００１９】
なお、第１の実施の形態では、車両位置・面候補推定部１１が特許請求の範囲に記載する面候補推定手段に相当し、特徴点抽出部１２が特許請求の範囲に記載する特徴点抽出手段に相当し、特徴点３次元位置候補推定部１３が特許請求の範囲に記載する３次元位置推定手段に相当し、車両端点抽出部１４が特許請求の範囲に記載する車両情報検出手段に相当する。
【００２０】
レーザレーダ３は、レーザ光を利用して物体を検出する走査型のレーダである。レーザレーダ３は、自車両の前端部の中央に取り付けられる。また、レーザレーダ３は、検出対象の車両を十分に検出可能な高さ位置かつ路面に対して略平行に取り付けられる。レーザレーダ３では、所定時間毎に、レーザ光を所定角度毎に水平方向にスキャンしながら自車両から前方に向けて出射し、反射してきたレーザ光を受光する。そして、レーザレーダ３では、所定時間毎に、受光できた各反射点（検出点）についてのデータ（水平方向の走査方位角、出射時刻、受光時刻、受光強度（反射強度）など）からなるレーダ信号をＥＣＵ１０に送信する。
【００２１】
カメラ４は、ＣＣＤ[Charge Coupled Device]やレンズなどで構成され、自車両の前方を撮像するカメラである。カメラ４は、自車両の前方の中央の所定の位置に取り付けられ、自車両前方に延びる中心軸とカメラの光軸との向きが一致する方向に向けて配置される。カメラ４では、所定時間毎に（例えば、１００ｍ秒毎に）、自車両の前方を撮像し、その撮像画像のデータを画像信号としてＥＣＵ１０に送信する。なお、カメラ４は、対象物についての少なくとも光学点な濃淡情報を取得できればよいので、白黒のカメラでもよいし、カラーのカメラでもよい。
【００２２】
レーザレーダ３とカメラ４との取り付け位置関係は、事前に計測され、レーザレーダ３の座標系とカメラ４の座標系との間での座標変換を行うために必要な各種パラメータが取得されている。
【００２３】
ＥＣＵ１０は、ＣＰＵ[CentralProcessing Unit]、ＲＯＭ[Read Only Memory]、ＲＡＭ[Random Access Memory]などからなる電子制御ユニットであり、車両検出装置１を統括制御する。ＥＣＵ１０では、ＲＯＭに格納されているアプリケーションプログラムをＲＡＭ上にロードし、ＣＰＵで実行することによって車両位置・面候補推定部１１、特徴点抽出部１２、特徴点３次元位置候補推定部１３、車両端点抽出部１４を構成する。ＥＣＵ１０では、所定時間毎に、レーザレーダ３からレーダ信号、カメラ４から画像信号を受信する。そして、ＥＣＵ１０では、この各信号を用いて各部１１，１２，１３，１４の処理を行い、車両を検出できた場合にはその車両の情報を車両情報信号として運転支援装置に送信する。
【００２４】
車両位置・面候補推定部１１について説明する。車両位置・面候補推定部１１では、レーザレーダ３で検出された多数の反射点に対して、グルーピングを行い、グループ毎にそのグループの反射点群に車両の形状モデルを当てはめ、車両の形状モデルが当てはまるグループがある場合にはその反射点群から車両の面の候補（画像上での範囲）を推定する。
【００２５】
図２には、レーザレーダ３で検出された反射点ｐｔ１，ｐｔ２，・・・，ｐｔ１９の一例を示している。車両の走行環境では、自車両の前方の車両とその周囲のガードレールなどの他の物体とはある程度以上距離が離れている。そのため、同一の物体で反射した反射点間は近いが、異なる物体で反射した反射点間は遠い。図２に示す例の場合、車両での反射点群ｐｔ１２〜ｐｔ１７では隣接する反射点間距離は小さくなり、その他の物体での反射点群ｐｔ１〜ｐｔ１１、反射点群ｐｔ１８〜ｐｔ１９でも隣接する反射点間距離がそれぞれ小さくなるが、車両での反射点群ｐｔ１２と隣接する反射点ｐｔ１１間距離は大きくなり、車両での反射点群ｐｔ１７と隣接する反射点ｐｔ１８間距離は大きくなる。
【００２６】
グルーピング処理について具体的に説明する。車両位置・面候補推定部１１では、レーザレーダ３で検出された反射点ｐｔ毎に、式（１）により、その反射点ｐｔと隣接する反射点ｐｔ−１間の距離ＬＮｐｔ，ｐｔ−１を計算する。式（１）において、ｒｐｘは３次元のレーザレーダ座標系における反射点ｐｔのｘ座標であり、ｒｐｙは３次元のレーザレーダ座標系における反射点ｐｔのｙ座標であり、ｒｐｚは３次元のレーザレーダ座標系における反射点ｐｔのｚ座標である。
【数１】
2010256040.tif 000003
【００２７】
そして、車両位置・面候補推定部１１では、反射点間距離ＬＮｐｔ，ｐｔ−１が閾値ＴＨＲ＿ＰＴＬ未満か否かを判定する。閾値ＴＨＲ＿ＰＴＬは、隣接する反射点間の距離に基づいてその隣接する２つの反射点が同一物体で反射した反射点であるか否かを判定するための閾値である。閾値ＴＨＲ＿ＰＴＬとしては、例えば、車両と路側端の物体との分離の観点で、（車線幅−車両幅）／２とする。
【００２８】
車両位置・面候補推定部１１では、反射点間距離ＬＮｐｔ，ｐｔ−１が閾値ＴＨＲ＿ＰＴＬ未満の場合にはその２つの反射点ｐｔ，ｐｔ−１を同じグループに分類し、反射点間距離ＬＮｐｔ，ｐｔ−１が閾値ＴＨＲ＿ＰＴＬ以上の場合にはその２つの反射点ｐｔ，ｐｔ−１を異なるグループに分類する。車両位置・面候補推定部１１では、この反射点間距離判定をレーザレーダ３で検出された全ての反射点に行い、全ての反射点をグループ分けする。
【００２９】
形状モデル推定処理について具体的に説明する。車両位置・面候補推定部１１では、グルーピングされたグループｇｎ毎に、グループｇｎに含まれる反射点群に対して、分割位置ｓｐｔを順次設定する。そして、車両位置・面候補推定部１１では、その分割位置ｓｐｔを境界として、グループｇｎに含まれる反射点群を２つの反射点群ＲＰＴ１＝｛ｒｐｔｇｎ，１，・・・，ｒｐｔｇｎ，ｓｐｔ｝、ＲＰＴ２＝｛ｒｐｔｇｎ，ｓｐｔ，・・・，ｒｐｔｇｎ，Ｎｇｎ｝に分割する。分割位置ｓｐｔは、隣接する２つ反射点の間の中間位置又はグループでの両端の反射点の外側の位置に設定される。したがって、反射点の数がｎ個の場合、ｎ＋１個の分割位置が設定される。図３には、あるグループの反射点群ｒｐｔｇｎ，１，・・・，ｒｐｔｇｎ，６を示しており、分割位置ｓｐｔとして隣接する反射点ｒｐｔｇｎ，３と反射点ｒｐｔｇｎ，４との間に設定され、２つの反射点群ＲＰＴ１＝｛ｒｐｔｇｎ，１，ｒｐｔｇｎ，２，ｒｐｔｇｎ，３｝、ＲＰＴ２＝｛ｒｐｔｇｎ，４，ｒｐｔｇｎ，５，ｒｐｔｇｎ，６｝に分割される。
【００３０】
分割位置ｓｐｔを設定する毎に、車両位置・面候補推定部１１では、事前に用意されている車両の形状モデルｍｏｄｅｌ毎に、２つの反射点群ＲＰＴ１＝｛ｒｐｔｇｎ，１，・・・，ｒｐｔｇｎ，ｓｐｔ｝、ＲＰＴ２＝｛ｒｐｔｇｎ，ｓｐｔ，・・・，ｒｐｔｇｎ，Ｎｇｎ｝と車両の形状モデルｍｏｄｅｌとの一致度ＳＭｍｏｄｅｌ，ｓｐｔを計算する。一致度ＳＭとしては、例えば、形状モデルと各反射点との誤差の総和として計算する。
【００３１】
車両の形状モデルは、前面・後面用モデルと側面用モデルからなる車両の２面のモデル、前面、後面、側面の中の車両の１面のモデルがある。各面のモデルは、車両を水平面で切った場合の各面の外形状を示す線からなるモデルあり、例えば、前面・後面用モデルとして１次関数や２次関数で示される線であり、側面用モデルとしては１次関数で示される線である。図４には、車両の形状モデルの一例を示しており、（ａ）に示す形状モデルｍｏｄｅｌ１は直線状の側面用モデルｓｍと曲線状の前面・後面用モデルｆｍからなり、（ｂ）に示す形状モデルｍｏｄｅｌ２は曲線状の前面・後面用モデルｆｍと直線状の側面用モデルｓｍからなる。ちなみに、分割位置ｓｐｔが隣接する反射点間の間に設定されている場合には２面のモデルとの処理を行い、分割位置ｓｐｔが反射点群の外側に設定されている場合には１面のモデルとの処理を行う。
【００３２】
図４には、図３に示す分割位置ｓｐｔで分割した２つの反射点群ＲＰＴ１＝｛ｒｐｔｇｎ，１，ｒｐｔｇｎ，２，ｒｐｔｇｎ，３｝、ＲＰＴ２＝｛ｒｐｔｇｎ，４，ｒｐｔｇｎ，５，ｒｐｔｇｎ，６｝を、図４（ａ）に示すｍｏｄｅｌ１を当てはめた場合と図４（ｂ）に示すｍｏｄｅｌ２を当てはめた場合を示しており、図４（ａ）に示す形状モデルｍｏｄｅｌ１は当てはまっているが、図４（ｂ）に示す形状モデルｍｏｄｅｌ２は当てはまっていない。
【００３３】
一致度ＳＭｍｏｄｅｌ，ｓｐｔを計算する毎に、車両位置・面候補推定部１１では、一致度ＳＭｍｏｄｅｌ，ｓｐｔが閾値ＴＨＲ＿ＳＭ未満か否かを判定する。閾値ＴＨＲ＿ＳＭは、一致度に基づいてグループの反射点群が車両の形状モデルに当てはまるか否かを判定するための閾値である。
【００３４】
車両位置・面候補推定部１１では、一致度ＳＭｍｏｄｅｌ，ｓｐｔが閾値ＴＨＲ＿ＳＭ未満の場合、２つの反射点群ＲＰＴ１＝｛ｒｐｔｇｎ，１，・・・，ｒｐｔｇｎ，ｓｐｔ｝、ＲＰＴ２＝｛ｒｐｔｇｎ，ｓｐｔ，・・・，ｒｐｔｇｎ，Ｎｇｎ｝について両端の反射点間の長さ（横方向の長さ）をそれぞれ計算し、その２つの長さのうちの長い方を最長部の長さＬＷｍｏｄｅｌ，ｓｐｔとする。そして、車両位置・面候補推定部１１では、最長部の長さＬＷｍｏｄｅｌ，ｓｐｔが所定範囲（ＴＨＲ＿ＬＷ＿ＬＯＷ〜ＴＨＲ＿ＬＷ＿ＨＩＧＨ）内か否かを判定する。所定範囲（ＴＨＲ＿ＬＷ＿ＬＯＷ〜ＴＨＲ＿ＬＷ＿ＨＩＧＨ）は、最長部の長さＬＷｍｏｄｅｌ，ｓｐｔに基づいてその各グループの反射点群の横方向の長さが車両の面に対応する範囲内の長さか否か（つまり、車両でない物体を排除）を判定するための閾値である。
【００３５】
車両位置・面候補推定部１１では、最長部の長さＬＷｍｏｄｅｌ，ｓｐｔが所定範囲（ＴＨＲ＿ＬＷ＿ＬＯＷ〜ＴＨＲ＿ＬＷ＿ＨＩＧＨ）内の場合、形状一致度ＳＭｍｏｄｅｌ，ｓｐｔが、それまでに設定されている分割位置の最少誤差ＭＩＮ＿ＳＭｓｐｔ未満か否かを判定する。最少誤差ＭＩＮ＿ＳＭｓｐｔは、最少の形状一致度ＳＭｍｏｄｅｌ，ｓｐｔを探索するためのパラメータであり、初期値としては∞が設定される。
【００３６】
車両位置・面候補推定部１１では、形状一致度ＳＭｍｏｄｅｌ，ｓｐｔが最少誤差ＭＩＮ＿ＳＭｓｐｔ未満の場合、最少誤差ＭＩＮ＿ＳＭｓｐｔとして形状一致度ＳＭｍｏｄｅｌ，ｓｐｔを設定するとともに、そのときの車両の形状モデルのモデルパラメータＭＰｍｏｄｅｌ，ｓｐｔを記憶する。モデルパラメータＭＰｍｏｄｅｌ，ｓｐｔは、車両の形状モデルを示すパラメータである。例えば、モデルパラメータＭＰｍｏｄｅｌ，ｓｐｔ＝（ａ１，ａ２，ａ３，ａ４，ａ５，ａ６）は、ＲＡＮＳＡＣ[RANdom Sample Consensus]法を用いて計算する。ただし、正面ｘ’＝ａ１ｙ’２＋ａ２ｙ’＋ａ３、側面ｙ＝ａ４ｘ＋ａ５、ａ６＝ｃｏｓφ、ｘ’＝ｃｏｓφｘ−ｓｉｎφｙ、ｙ’＝ｓｉｎφｘ＋ｃｏｓφｙである。
【００３７】
そして、車両位置・面候補推定部１１では、各グループｇｎについて用意されている全ての形状モデルｍｏｄｅｌに対して上記の処理を行い、最終的にモデルパラメータＭＰｍｏｄｅｌ，ｓｐｔが記憶されている場合（つまり、そのグループｇｎの反射点群に対して、一致度ＳＭｍｏｄｅｌ，ｓｐｔが閾値ＴＨＲ＿ＳＭ未満かつ最長部の長さＬＷｍｏｄｅｌ，ｓｐｔが所定範囲（ＴＨＲ＿ＬＷ＿ＬＯＷ〜ＴＨＲ＿ＬＷ＿ＨＩＧＨ）内かつ一致度ＳＭｍｏｄｅｌ，ｓｐｔが最少となる形状モデルがある場合）、そのグループｇｎの反射点群の分割位置ｓｐｔにおいて車両の形状モデルが１つ当てはまったと判断し、そのモデルパラメータＭＰｍｏｄｅｌ，ｓｐｔで示される形状モデルをグループｇｎの反射点群における分割位置ｓｐｔに対する車両の形状モデルとして確定する。このように形状モデルに当てはまるグループｇｎ（反射点群）がある場合、車両を検出したことになる。
【００３８】
車両位置・面候補推定部１１では、モデルパラメータＭＰｍｏｄｅｌ，ｓｐｔにデータが記憶された場合（そのグループｇｎの反射点群の分割位置ｓｐｔにおいて当てはまる車両の形状モデルがある場合）、式（２）により、モデルパラメータＭＰｍｏｄｅｌ，ｓｐｔに記憶されたデータを用いて、車両の方位φｓｐｔ（分割位置ｓｐｔでの車両の方位の候補に相当）を計算する。
【数２】
2010256040.tif 000004
【００３９】
画像上範囲推定処理について具体的に説明する。画像上の車両の形状モデルが当てはまったグループｇｎがある場合、そのグループｇｎの反射点群を用いて画像上の車両が存在する範囲を推定するが、車両の前面・後面の画像上の範囲と側面の画像上の範囲に分けて推定を行う。このように、前面・後面と側面とに分けて画像上範囲を推定するのは、特徴点３次元位置候補推定部１３において各特徴点の３次元位置を推定する際に平面フィッティングを行うので、その平面フィッティングでの精度を向上させるためである。
【００４０】
まず、前面・後面の範囲推定について説明する。車両位置・面候補推定部１１では、そのグループｇｎ内の前面・後面に属する反射点ｒｐｇｎ，ｆｒ，ｉ毎に、式（３）により、その反射点ｒｐｇｎ，ｆｒ，ｉ＝３次元位置（ｘｇｎ，ｆｒ，ｉ，ｙｇｎ，ｆｒ，ｉ，ｚｇｎ，ｆｒ，ｉ，１）Ｔから画像上の位置Ｐｉｍｇｇｎ，ｆｒ，ｉ＝２次元位置（ｕｇｎ，ｆｒ，ｉ，ｖｇｎ，ｆｒ，ｉ，１）Ｔを計算する。式（３）にけるＰは、レーザレーダ座標系から画像座標系へ変換するための３行４列の変換行列であり、カメラ４の焦点距離などの内部パラメータ、レーザレーダ３とカメラ４との相対位置や向きなどから求められる。また、式（３）におけるｓは、３次元座標系から２次元座標系に投影する際に奥行き方向がなくなることを考慮した奥行きパラメータである。
【数３】
2010256040.tif 000005
【００４１】
位置Ｐｉｍｇｇｎ，ｆｒ，ｉを計算する毎に、車両位置・面候補推定部１１では、横位置ｕｇｎ，ｆｒ，ｉが前面・後面用の左端点位置ＦＲＬＰｔｇｎより小さいか否かを判定する。車両位置・面候補推定部１１では、横位置ｕｇｎ，ｆｒ，ｉが左端点位置ＦＲＬＰｔｇｎより小さいと判定した場合、横位置ｕｇｎ，ｆｒ，ｉを左端点位置ＦＲＬＰｔｇｎとして設定する。また、車両位置・面候補推定部１１では、横位置ｕｇｎ，ｆｒ，ｉが前面・後面用の右端点位置ＦＲＲＰｔｇｎより大きいか否かを判定する。車両位置・面候補推定部１１では、横位置ｕｇｎ，ｆｒ，ｉが右端点位置ＦＲＲＰｔｇｎより大きいと判定した場合、横位置ｕｇｎ，ｆｒ，ｉを右端点位置ＦＲＲＰｔｇｎとして設定する。左端点位置ＦＲＬＰｔｇｎは、車両の形状モデルが当てはまったグループｇｎの前面・後面に属する反射点群の画像上の左端点を探索するためのパラメータであり、初期値として画像の横幅ＩＭＧ＿ＷＩＤＴＨが設定される。右端点位置ＦＲＲＰｔｇｎは、車両の形状モデルが当てはまったグループｇｎの前面・後面に属する反射点群の画像上の右端点を探索するためのパラメータであり、初期値として０が設定される。ちなみに、画像座標系では、画像上の左端の横方向位置ｕが０であり、右方ほど横方向位置ｕが大きくなる。また、画像座標系では、画像上の上端の縦方向位置ｖが０であり、下方ほど縦方向位置ｖが大きくなる。
【００４２】
車両位置・面候補推定部１１では、車両の形状モデルが当てはまったグループｇｎ内の前面・後面に属する全ての反射点に対して上記の処理を行う。最終的に設定されている左端点位置ＦＲＬＰｔｇｎがグループｇｎの画像上の車両の前面・後面の左端点に相当し、右端点位置ＦＲＲＰｔｇｎがグループｇｎの画像上の車両の前面・後面の右端点に相当する。
【００４３】
次に、車両位置・面候補推定部１１では、そのグループｇｎ内の前面・後面に属する全ての反射点ｒｐｇｎ，ｆｒ，ｉの３次元位置を用いて、その平均位置ｒｐｍｅａｎｇｎ，ｆｒ＝（ｘｍｇｎ，ｆｒ，ｙｍｇｎ，ｆｒ，ｚｍｇｎ，ｆｒ，１）Ｔを計算する。そして、車両位置・面候補推定部１１では、その平均位置ｒｐｍｅａｎｇｎ，ｆｒを用いて、式（４）により、グループｇｎの画像上の車両の前面・後面用の下端点ＦＲＶｌｏｗｇｎを計算する。また、車両位置・面候補推定部１１では、その平均位置ｒｐｍｅａｎｇｎ，ｆｒを用いて、式（５）により、グループｇｎの画像上の車両の前面・後面用の上端点ＦＲＶｈｉｇｈｇｎを計算する。式（４）、式（５）におけるＨｖｆｒは車両のボンネットの高さ（例えば、０．８ｍ）に相当する画像上の量である。式（４）、式（５）におけるｐｉｊは上記した３行４列の変換行列Ｐのｉ行ｊ列目の要素である。
【数４】
2010256040.tif 000006
【００４４】
そして、車両位置・面候補推定部１１では、左端点位置ＦＲＬＰｔｇｎ（＝上記の処理で最終的に設定されたＦＲＬＰｔｇｎ−ｄｗ）〜右端点位置ＦＲＲＰｔｇｎ（＝上記の処理で最終的に設定されたＦＲＲＰｔｇｎ＋ｄｗ）を、グループｇｎの前面・後面に属する反射点群の画像上の横方向の範囲として記憶する。また、車両位置・面候補推定部１１では、上記の処理で計算された下端点位置ＦＲＶｌｏｗｇｎ〜上端点位置ＦＲＶｈｉｇｈｇｎを、グループｇｎの前面・後面に属する反射点群の画像上の縦方向の範囲として記憶する。なお、ｄｗは、レーザレーダ３の誤差や点列が反射しなかったケースに対応するためのパラメータであり、レーザレーダ３の横分解能程度の量が設定される。
【００４５】
次に、側面の範囲推定について説明する。車両位置・面候補推定部１１では、そのグループｇｎ内の側面に属する反射点ｒｐｇｎ，ｓｄ，ｉ毎に、式（６）により、その反射点ｒｐｇｎ，ｓｄ，ｉ＝３次元位置（ｘｇｎ，ｓｄ，ｉ，ｙｇｎ，ｓｄ，ｉ，ｚｇｎ，ｓｄ，ｉ，１）Ｔから画像上の位置Ｐｉｍｇｇｎ，ｓｄ，ｉ＝２次元位置（ｕｇｎ，ｓｄ，ｉ，ｖｇｎ，ｓｄ，ｉ，１）Ｔを計算する。式（６）にけるＰは、式（３）のＰと同じ行列である。また、式（６）におけるｓは、式（３）のｓと同じパラメータである。
【数５】
2010256040.tif 000007
【００４６】
位置Ｐｉｍｇｇｎ，ｓｄ，ｉを計算する毎に、車両位置・面候補推定部１１では、横位置ｕｇｎ，ｓｄ，ｉが側面用の左端点位置ＳＤＬＰｔｇｎより小さいか否かを判定する。車両位置・面候補推定部１１では、横位置ｕｇｎ，ｓｄ，ｉが左端点位置ＳＤＬＰｔｇｎより小さいと判定した場合、横位置ｕｇｎ，ｓｄ，ｉを左端点位置ＳＤＬＰｔｇｎとして設定する。また、車両位置・面候補推定部１１では、横位置ｕｇｎ，ｓｄ，ｉが側面用の右端点位置ＳＤＲＰｔｇｎより大きいか否かを判定する。車両位置・面候補推定部１１では、横位置ｕｇｎ，ｓｄ，ｉが右端点位置ＳＤＲＰｔｇｎより大きいと判定した場合、横位置ｕｇｎ，ｓｄ，ｉを右端点位置ＳＤＲＰｔｇｎとして設定する。左端点位置ＳＤＬＰｔｇｎは、車両の形状モデルが当てはまったグループｇｎの側面に属する反射点群の画像上の左端点を探索するためのパラメータであり、初期値として画像の横幅ＩＭＧ＿ＷＩＤＴＨが設定される。右端点位置ＳＤＲＰｔｇｎは、車両の形状モデルが当てはまったグループｇｎの側面に属する反射点群の画像上の右端点を探索するためのパラメータであり、初期値として０が設定される。
【００４７】
車両位置・面候補推定部１１では、車両の形状モデルが当てはまったグループｇｎ内の側面に属する全ての反射点に対して上記の処理を行う。最終的に設定されている左端点位置ＳＤＬＰｔｇｎがグループｇｎの画像上の車両の側面の左端点に相当し、右端点位置ＳＤＲＰｔｇｎがグループｇｎの画像上の車両の側面の右端点に相当する。
【００４８】
次に、車両位置・面候補推定部１１では、そのグループｇｎ内の側面に属する全ての反射点ｒｐｇｎ，ｓｄ，ｉの３次元位置を用いて、その平均位置ｒｐｍｅａｎｇｎ，ｓｄ＝（ｘｍｇｎ，ｓｄ，ｙｍｇｎ，ｓｄ，ｚｍｇｎ，ｓｄ，１）Ｔを計算する。そして、車両位置・面候補推定部１１では、その平均位置ｒｐｍｅａｎｇｎ，ｓｄを用いて、式（７）により、グループｇｎの画像上の車両の側面用の下端点ＳＤＶｌｏｗｇｎを計算する。また、車両位置・面候補推定部１１では、その平均位置ｒｐｍｅａｎｇｎ，ｓｄを用いて、式（８）により、グループｇｎの画像上の車両の側面用の上端点ＳＤＶｈｉｇｈｇｎを計算する。式（７）、式（８）におけるＨｖｓｄは車両の高さ（例えば、２．０ｍ）に相当する画像上の量である。式（７）、式（８）におけるｐｉｊは上記した３行４列の変換行列Ｐのｉ行ｊ列目の要素である。
【数６】
2010256040.tif 000008
【００４９】
そして、車両位置・面候補推定部１１では、左端点位置ＳＤＬＰｔｇｎ（＝上記の処理で最終的に設定されたＳＤＬＰｔｇｎ−ｄｗ）〜右端点位置ＳＤＲＰｔｇｎ（＝上記の処理で最終的に設定されたＳＤＲＰｔｇｎ＋ｄｗ）を、グループｇｎの側面に属する反射点群の画像上の横方向の範囲として記憶する。また、車両位置・面候補推定部１１では、上記の処理で計算された下端点位置ＳＤＶｌｏｗｇｎ〜上端点位置ＳＤＶｈｉｇｈｇｎを、グループｇｎの側面に属する反射点群の画像上の縦方向の範囲として記憶する。この横方向の範囲と縦方向の範囲が、検出した車両の側面の画像上の範囲である。
【００５０】
前面・後面の画像上範囲及び側面の画像上範囲を推定すると、車両位置・面候補推定部１１では、同じグループｇｎの前面・後面の画像上範囲と側面の画像上範囲からなる面候補を設定する。
【００５１】
特徴点抽出部１２について説明する。車両位置・面候補推定部１１で車両を検出し、その車両の画像上の前面・後面の範囲と側面の範囲が推定されている場合、特徴点抽出部１２では、その画像上の各範囲内でカメラ４で撮像した画像からエッジ（特徴点）を抽出する。このエッジの抽出方法としては、画像から局所領域を抜き出し、ｓｏｂｅｌフィルタなどを利用してその領域の特徴量を計算する。局所領域の抜き出し方としては、一定間隔の抜き出し、Ｈａｒｒｉｓオペレータなどのコーナ検出などを使用してもよい。ｓｏｂｅｌフィルタは、図５（ａ）に示す横エッジ検出用フィルタと図５（ｂ）に示す縦エッジ検出用フィルタを用いて、画像に畳み込み積分する。具体的には、特徴点抽出部１２では、車両位置・面候補推定部１１で推定した画像上の範囲内において、その範囲内の画素（ｕ，ｖ）毎に、各画素の値（例えば、輝度値）Ｉｕ，ｖを用いて、式（９）により横方向のエッジ強度ΔＩｈｕ，ｖを計算するとともに式（１０）により縦方向のエッジ強度ΔＩｖｕ，ｖを計算する。さらに、特徴点抽出部１２では、その各エッジ強度ΔＩｈｕ，ｖ，ΔＩｖｕ，ｖを用いて、式（１１）によりエッジ強度ΔＩｕ，ｖを計算するとともに式（１２）によりエッジ方向θｕ，ｖを計算する。なお、このエッジの抽出処理は、カメラ４で撮像した画像全体に行ってもよい。
【数７】
2010256040.tif 000009
【００５２】
図６には、カメラ４で撮像したある画像に対して画素毎にエッジ処理を行い、その各画素位置にエッジ強度を設定したエッジ画像（輪郭画像）の一例（車両が写っている部分）を示しており、この画像には前面と左側面が写っている車両が存在する。
【００５３】
特徴点３次元位置候補推定部１３について説明する。特徴点３次元位置候補推定部１３では、特徴点抽出部１２で抽出した特徴点毎に、車両位置・面候補推定部１１で推定した面候補の前面・後面あるいは側面上での３次元位置を計算する。ここでは、画像上の位置から各特徴点が存在する方向ベクトルが判るので、その方向ベクトルと推定した面候補の前面・後面又は側面との交点を計算することによって３次元位置を推定する。
【００５４】
図７には、特徴点の画像上の位置とその位置から求めた３次元位置候補及び実際の３次元位置の関係を示しており、図（ａ）には車両を斜視した場合を示しており、図（ｂ）には車両を上面視した場合を示している。画像ＩＰ上の特徴点ＣＰの位置が判ると、カメラ４とレーザレーダ３の関係を示すパラメータから、カメラ４から特徴点ＣＰのある方向ｎｆが判る。車両位置・面候補推定部１１で推定した面候補に対する車両の形状モデルが推定できているので、その形状モデルの前面位置ＭＰと特徴点ＣＰの方向ｎｆとの交点によって特徴点ＣＰの３次元位置候補３Ｐ’を推定できる。なお、３次元位置候補３Ｐ’は、形状モデルの誤差により実際の特徴点の３次元位置３Ｐに対して誤差が生じるが、形状モデルを正しく推定できている場合にはその誤差は車両のサイズに比べて小さく、影響は少ない。
【００５５】
具体的には、特徴点の存在する方向ｎｆ＝（ｎｘ，ｆ，ｎｙ，ｆ，ｎｚ，ｆ，１）Ｔは、式（１３）により、特徴点ｆの画像上の位置（ｕｆ，ｖｆ，１）Ｔを用いて計算することができる。式（１３）におけるｓは、式（３）等における奥行きパラメータｓである。式（１３）における３行４列の行列は、式（３）等における３行４列の変換行列Ｐである。
【数８】
2010256040.tif 000010
【００５６】
ここで、奥行きパラメータｓはどのような値であってもよいので、ｓ＝１とすると式（１３）は式（１４）になる。さらに、式（１４）は、式（１５）に変形できる。
【数９】
2010256040.tif 000011
【００５７】
そこで、特徴点３次元位置候補推定部１３では、車両位置・面候補推定部１１で推定した面候補ｓｐｔ毎に、式（１５）により、面候補ｓｐｔの画像上範囲内に含まれる各特徴点ｆについて、特徴点ｆの画像上の位置（ｕｆ，ｖｆ，１）Ｔを用いて特徴点ＣＰの存在する方向ｎｆ＝（ｎｘ，ｆ，ｎｙ，ｆ，ｎｚ，ｆ）Ｔをそれぞれ計算する。さらに、特徴点３次元位置候補推定部１３では、その方向ｎｆ＝（ｎｘ，ｆ，ｎｙ，ｆ，ｎｚ，ｆ）Ｔを用いて、車両位置・面候補推定部１１で推定した面候補ｓｐｔの前面・後面モデルの面又は側面モデルの面と交差する位置として特徴点ｆの３次元位置候補（ｘｆ，ｓｐｔ，ｙｆ，ｓｐｔ，ｚｆ，ｓｐｔ）を計算する。例えば、形状モデルの面がｙ＝ａｘ＋ｙであり、カメラ４の光学中心位置（Ｃｘ，Ｃｙ，Ｃｚ）を通り、方向ｎｆ＝（ｎｘ，ｆ，ｎｙ，ｆ，ｎｚ，ｆ）Ｔの特徴点ｆの３次元位置（ｘｆ，ｓｐｔ，ｙｆ，ｓｐｔ，ｚｆ，ｓｐｔ）は、式（１６）によって計算できる。
【数１０】
2010256040.tif 000012
【００５８】
なお、形状モデルと交差しないケースがある場合、その特徴点を破棄する。また、複数の解がありうる場合、最も距離が近いものを３次元位置（ｘｆ，ｓｐｔ，ｙｆ，ｓｐｔ，ｚｆ，ｓｐｔ）とする。
【００５９】
車両端点抽出部１４について説明する。車両端点抽出部１４では、連続する２時刻ｔ１，ｔ２でそれぞれ撮像された各画像からそれぞれ推定された面候補間に対して処理を行う。車両端点抽出部１４では、時刻ｔ１での面候補と時刻ｔ２での面候補との組み合わせ毎に、面候補間で各特徴点の３次元位置の対応関係をそれぞれ求め、その対応関係の特徴点間での位置誤差が最少になるように一方の面候補の特徴点を並進移動変換及び回転変換で補正した上で位置誤差を計算する。全ての面候補の組み合わせについて特徴点間の位置誤差を求めると、車両端点抽出部１４では、位置誤差が最少となる組み合わせの面候補を抽出し、その面候補における分割位置に基づいて車両の端点（２つの面の境界位置）を抽出する。なお、時刻ｔ２は現時刻であり、時刻ｔ１はカメラ４の撮像間隔での１時刻前である。
【００６０】
図８に示す例では、図（ａ）に前時刻ｔ１における複数の面候補ｓｐｔｔ１（特徴点が丸で描かれている）と現時刻ｔ２における複数の面候補ｓｐｔｔ２（特徴点が矩形で描かれている）とを示しており、複数の面候補ｓｐｔｔ１と複数の面候補ｓｐｔｔ２との各組み合わせについて処理（比較）している。この各比較では、前時刻ｔ１の面候補ｓｐｔｔ１と現時刻ｔ２の面候補ｓｐｔｔ２間において、前時刻ｔ１の特徴点と現時刻ｔ２の特徴点との対応関係がとられた後に一方の時刻の面候補の各特徴点の位置を変換するための並進移動量と回転量がそれぞれ推定され、その並進移動量と回転量で回転させた上で対応する特徴点間の位置誤差が計算される。図（ｂ）に示す比較例１の場合、対応する前時刻ｔ１の特徴点の位置と現時刻ｔ２の特徴点の位置とが離れており、位置誤差が大きい。一方、図（ｃ）に示す比較例２の場合、対応する前時刻ｔ１の特徴点の位置と現時刻ｔ２の特徴点の位置とが略重なっており、位置誤差が小さい。
【００６１】
位置誤差が大きくなる理由としては、推定された形状モデルが一致しないために特徴点の３次元位置間の誤差が大きくなるという理由と、誤った形状モデルから特徴点の３次元位置を推定しているために特徴点の３次元位置間の誤差が大きくなるという理由がある。
【００６２】
具体的には、車両端点抽出部１４では、前時刻ｔ１での面候補ｓｐｔｔ１と現時刻ｔ２での面候補ｓｐｔｔ２との組み合わせ毎に、面候補ｓｐｔｔ１に含まれるＮｆｔ１個の特徴点ｆｔ１と面候補ｓｐｔｔ２に含まれるＮｆｔ２個の特徴点ｆｔ２間で対応する特徴点を探索する。この探索方法としては、式（１７）により、面候補ｓｐｔｔ２の特徴点ｆｔ２毎に、面候補ｓｐｔｔ１に含まれるＮｆｔ１個の各特徴点ｆｔ１との特徴量の差ΔＦ’をそれぞれ計算し、特徴量の差ΔＦ’が最も小さくなる特徴点ｆｔ１を特徴点ｆｔ２に対応する特徴点ｆｔ２’として記憶していく。式（１７）においてΔＩｈｆｔ１は特徴点ｆｔ１の横方向のエッジ強度であり、ΔＩｖｆｔ１は特徴点ｆｔ１の縦方向のエッジ強度であり、ΔＩｈｆｔ２は特徴点ｆｔ２の横方向のエッジ強度であり、ΔＩｖｆｔ２は特徴点ｆｔ２の縦方向のエッジ強度である。
【数１１】
2010256040.tif 000013
【００６３】
特徴点の対応関係を探索すると、車両端点抽出部１４では、前時刻ｔ１での面候補ｓｐｔｔ１と現時刻ｔ２での面候補ｓｐｔｔ２との組み合わせ毎に、対応する特徴点間で位置誤差が最少になるような並進移動量（ｄｘｓｐｔ，ｄｙｓｐｔ，ｄｚｓｐｔ）と回転量ψｓｐｔを求め、一方の面候補ｓｐｔ（ここでは、面候補ｓｐｔｔ１）の各特徴点ｆを並進移動量（ｄｘｓｐｔ，ｄｙｓｐｔ，ｄｚｓｐｔ）と回転量ψｓｐｔで変換した上で対応する特徴点間の位置誤差Ｅ（すなわち、面候補ｓｐｔｔ１，ｓｐｔｔ２間の位置誤差Ｅ）を計算する。位置誤差Ｅは、式（１８）によって計算することができる。式（１８）のＸは、式（１９）によって計算することができる。位置誤差が最少となるように並進移動量（ｄｘｓｐｔ，ｄｙｓｐｔ，ｄｚｓｐｔ）と回転量ψｓｐｔを求める方法としては、例えば、ＲＡＮＳＡＣ法を利用する。
【数１２】
2010256040.tif 000014
【００６４】
全ての組み合わせ面候補間の位置誤差Ｅを計算すると、車両端点抽出部１４では、全ての組み合わせ面候補間の位置誤差Ｅを比較し、最少の位置誤差Ｅとなる面候補の組み合わせＳＴＰ１，ＳＰＴ２を抽出する。そして、車両端点抽出部１４では、その抽出した前時刻ｔ１の面候補ＳＰＴ１に対応するグループｇｎの反射点群の中から分割位置の近傍の２つの反射点ｒｐｔｇｎ，ＳＰＴ１とｒｐｔｇｎ，ＳＰＴ１＋１を抽出し、その２つの反射点の平均値を前時刻ｔ１での車両の端点（２つの面の境界位置）とする。また、車両端点抽出部１４では、その抽出した現時刻ｔ２の面候補ＳＰＴ２に対応するグループｇｎの反射点群の中から分割位置の近傍の２つの反射点ｒｐｔｇｎ，ＳＰＴ２とｒｐｔｇｎ，ＳＰＴ２＋１を抽出し、その２つの反射点の平均値を現時刻ｔ２での車両の端点とする。さらに、車両端点抽出部１４では、その車両の端点（３次元位置）を用いて、画像上の車両の端点（２次元位置）を計算する。
【００６５】
車両検出装置１の動作について説明する。特に、ＥＣＵ１０における車両位置・面候補推定部１１の処理については図９〜１３のフローチャートに沿って説明し、特徴点３次元位置候補推定部１３の処理については図１４のフローチャートに沿って説明し、車両端点抽出部１４の処理については図１５、図１６のフローチャートに沿って説明する。図９は、車両位置・面候補推定部におけるメイン処理の流れを示すフローチャートである。図１０は、車両位置・面候補推定部におけるメイン処理の中のグルーピング処理の流れを示すフローチャートである。図１１は、車両位置・面候補推定部におけるメイン処理の中の形状モデル推定処理の流れを示すフローチャートである。図１２は、車両位置・面候補推定部におけるメイン処理の中の画像上範囲推定処理（前面・後面）の流れを示すフローチャートである。図１３は、車両位置・面候補推定部におけるメイン処理の中の画像上範囲推定処理（側面）の流れを示すフローチャートである。図１４は、特徴点３次元位置候補推定部における処理の流れを示すフローチャートである。図１５は、車両端点抽出部における処理の流れを示すフローチャート（前半部）である。図１６は、車両端点抽出部における処理の流れを示すフローチャート（後半部）である。
【００６６】
レーザレーダ３では、所定時間毎に、水平方向にスキャンしながらレーザ光を出射するとともにその反射光を受光し、受光できた各反射点についての情報をレーダ信号としてＥＣＵ１０に送信している。また、カメラ４では、所定時間毎に、自車両の前方を撮像し、画像信号をＥＣＵ１０に送信している。
【００６７】
一定時間毎に、ＥＣＵ１０では、以下の処理を行う。まず、車両位置・面候補推定部１１での処理として、ＥＣＵ１０では、レーザレーダ３からの各反射点についての情報を用いて、反射点のグルーピング処理を行う（Ｓ１）。
【００６８】
グルーピング処理（Ｓ１）に移行すると、レーザレーダ３で検出できた全ての反射点に対して処理を行うために、ＥＣＵ１０では、まず、反射点ｐｔを０で初期化する（Ｓ１０）。また、ＥＣＵ１０では、反射点ｐｔ＝０のグループＩＤであるＧＩＤ０を０で初期化する（Ｓ１１）。
【００６９】
反射点ｐｔが更新される毎に、ＥＣＵ１０では、式（１）により、今回の反射点ｐｔとそれに隣接する前回の反射点ｐｔ−１間の距離ＬＮｐｔ，ｐｔ−１を計算する（Ｓ１２）。そして、ＥＣＵ１０では、距離ＬＮｐｔ，ｐｔ−１が閾値ＴＨＲ＿ＰＴＬ未満か否かを判定する（Ｓ１３）。Ｓ１３にて距離ＬＮｐｔ，ｐｔ−１が閾値ＴＨＲ＿ＰＴＬ未満と判定した場合、ＥＣＵ１０では、今回の反射点ｐｔを前回の反射点ｐｔ−１と同じグループとするために、反射点ｐｔのグループＩＤのＧＩＤｐｔにＧＩＤｐｔ−１を設定する（Ｓ１４）。一方、Ｓ１３にて距離ＬＮｐｔ，ｐｔ−１が閾値ＴＨＲ＿ＰＴＬ以上と判定した場合、ＥＣＵ１０では、今回の反射点ｐｔを前回の反射点ｐｔ−１と異なるグループとするために、反射点ｐｔのグループＩＤのＧＩＤｐｔにＧＩＤｐｔ−１＋１を設定する（Ｓ１５）。
【００７０】
次に、ＥＣＵ１０では、反射点ｐｔを更新するために、ｐｔに１を加算する（Ｓ１６）。そして、ＥＣＵ１０では、更新したｐｔがレーザレーダ３で検出できた反射点の数Ｎｒｐ以上か否かを判定する（Ｓ１７）。Ｓ１７にてｐｔがＮｒｐ以上と判定した場合、今回のグルーピング処理を終了する。一方、Ｓ１７にてｐｔがＮｒｐ未満と判定した場合、ＥＣＵ１０では、Ｓ１２に戻って、更新した反射点ｐｔに対する処理を行う。
【００７１】
グルーピング処理を終了すると、グルーピングした全てのグループに対して処理を行うために、ＥＣＵ１０では、まず、グループｇｎを０で初期化する（Ｓ２）。
【００７２】
グループｇｎが更新される毎に、ＥＣＵ１０では、そのグループｇｎに対して形状モデル推定処理を行う（Ｓ３）。
【００７３】
形状モデル推定処理（Ｓ３）に移行すると、ＥＣＵ１０では、まず、分割位置ｓｐｔを０で初期化する（Ｓ２０）。
【００７４】
分割位置ｓｐｔを更新する毎に、ＥＣＵ１０では、まず、最少誤差ＭＩＮ＿ＳＭｓｐｔを∞で初期化する（Ｓ２１）。また、ＥＣＵ１０では、分割位置ｓｐｔ番目の位置でグループｇｎの反射点群を２つの反射点群ＲＰＴ１＝｛ｒｐｔｇｎ，１，・・・，ｒｐｔｇｎ，ｓｐｔ｝、ＲＰＴ２＝｛ｒｐｔｇｎ，ｓｐｔ，・・・，ｒｐｔｇｎ，Ｎｇｎ｝に分割する（Ｓ２２）。また、事前に用意されている全ての車両の形状モデルに対して処理を行うために、ＥＣＵ１０では、まず、形状モデルｍｏｄｅｌを０で初期化する（Ｓ２３）。
【００７５】
形状モデルｍｏｄｅｌを更新する毎に、ＥＣＵ１０では、その形状モデルの２面を、分割した反射点群ＲＰＴ１と反射点群ＲＰＴ２に当てはめ、形状一致度ＳＭｍｏｄｅｌ，ｓｐｔを計算する（Ｓ２４）。そして、ＥＣＵ１０では、その形状一致度ＳＭｍｏｄｅｌ，ｓｐｔが閾値ＴＨＲ＿ＳＭ未満か否かを判定する（Ｓ２５）。Ｓ２５にて形状一致度ＳＭｍｏｄｅｌ，ｓｐｔが閾値ＴＨＲ＿ＳＭ以上と判定した場合、ＥＣＵ１０では、Ｓ３１の処理に移行し、形状モデルｍｏｄｅｌを更新するために、ｍｏｄｅｌに１を加算する（Ｓ３１）。
【００７６】
Ｓ２５にて形状一致度ＳＭｍｏｄｅｌ，ｓｐｔが閾値ＴＨＲ＿ＳＭ未満と判定した場合、ＥＣＵ１０では、分割した反射点群ＲＰＴ１と反射点群ＲＰＴ２の中で最長部の長さＬＷｍｏｄｅｌ，ｓｐｔを計算する（Ｓ２６）。そして、ＥＣＵ１０では、その最長部の長さＬＷｍｏｄｅｌ，ｓｐｔが所定範囲（ＴＨＲ＿ＬＷ＿ＬＯＷ〜ＴＨＲ＿ＬＷ＿ＨＩＧＨ）内か否かを判定する（Ｓ２７）。最長部の長さＬＷｍｏｄｅｌ，ｓｐｔが所定範囲外と判定した場合、ＥＣＵ１０では、Ｓ３１の処理に移行し、形状モデルｍｏｄｅｌを更新するために、ｍｏｄｅｌに１を加算する（Ｓ３１）。
【００７７】
最長部の長さＬＷｍｏｄｅｌ，ｓｐｔが所定範囲内と判定した場合、ＥＣＵ１０では、形状一致度ＳＭｍｏｄｅｌ，ｓｐｔが最少誤差ＭＩＮ＿ＳＭｓｐｔ未満か否かを判定する（Ｓ２８）。Ｓ２８にて形状一致度ＳＭｍｏｄｅｌ，ｓｐｔが最少誤差ＭＩＮ＿ＳＭｓｐｔ以上と判定した場合、ＥＣＵ１０では、Ｓ３１の処理に移行し、形状モデルｍｏｄｅｌを更新するために、ｍｏｄｅｌに１を加算する（Ｓ３１）。
【００７８】
Ｓ２８にて形状一致度ＳＭｍｏｄｅｌ，ｓｐｔが最少誤差ＭＩＮ＿ＳＭｓｐｔ未満と判定した場合、ＥＣＵ１０では、最少誤差ＭＩＮ＿ＳＭｓｐｔを形状一致度ＳＭｍｏｄｅｌ，ｓｐｔで更新する（Ｓ２９）。また、ＥＣＵ１０では、今回の形状モデルｍｏｄｅｌに対応するモデルパラメータＭＰｍｏｄｅｌ，ｓｐｔを記憶する（Ｓ３０）。そして、ＥＣＵ１０では、形状モデルｍｏｄｅｌを更新するために、ｍｏｄｅｌに１を加算する（Ｓ３１）。
【００７９】
Ｓ３１でｍｏｄｅｌを更新すると、ＥＣＵ１０では、形状モデルｍｏｄｅｌが事前に用意されている形状モデルの数Ｎｍ以上か否かを判定する（Ｓ３２）。Ｓ３２にてｍｏｄｅｌがＮｍ未満と判定した場合、ＥＣＵ１０では、Ｓ２４に戻って、更新した形状モデルｍｏｄｅｌに対する処理を行う。
【００８０】
Ｓ３２にてｍｏｄｅｌがＮｍ以上と判定した場合、ＥＣＵ１０では、そのときの分割位置ｓｐｔで当てはまる形状モデルがある場合だけ、式（２）により、車両方位φｓｐｔ（方位候補に相当）を計算する（Ｓ３３）。そして、ＥＣＵ１０では、分割位置ｓｐｔを更新するために、ｓｐｔに１を加算する（Ｓ３４）。そして、ＥＣＵ１０では、ｓｐｔがグループｇｎの反射点数Ｎｇｎを超えたか否かを判定する（Ｓ３５）。Ｓ３５にてｓｐｔがＮｇｎ以下と判定した場合、ＥＣＵ１０では、Ｓ２１に戻って、更新した分割位置ｓｐｔに対する処理を行う。一方、Ｓ３５にてｓｐｔがＮｇｎ超えたと判定した場合、ＥＣＵ１０では、グループｇｎに対する形状モデル推定処理を終了する。ここで、最終的に、各分割位置ｓｐｔのモデルパラメータＭＰｍｏｄｅｌ，ｓｐｔにパラメータ値が記憶されている場合、今回のグループｇｎの分割位置ｓｐｔにおいて当てはまる車両の形状モデルｍｏｄｅｌがあったことを示しており、そのパラメータ値によって形状モデルを特定できる。
【００８１】
グループｇｎに対する形状モデル推定処理が終了すると、ＥＣＵ１０では、今回のグループｇｎに当てはまる車両形状モデルがあったか否か（すなわち、車両を検出できたか否か）を判定する（Ｓ４）。Ｓ４にて今回のグループｇｎに当てはまる車両形状モデルがなかったと判定した場合、ＥＣＵ１０では、Ｓ６の処理に移行し、グループｇｎを更新するために、ｇｎに１を加算する（Ｓ６）。
【００８２】
Ｓ４にて今回のグループｇｎのある分割位置ｓｐｔにおいて当てはまる車両形状モデルがあったと判定した場合、ＥＣＵ１０では、今回のグループｇｎの反射点群に対する画像上範囲推定処理を行う（Ｓ５）。
【００８３】
画像上範囲推定処理に移行すると、まず、そのグループｇｎの前面・後面に対する処理を行う。ＥＣＵ１０では、まず、前面・後面の左端点位置ＦＲＬＰｔｇｎを画像横幅ＩＭＧ＿ＷＩＤＴＨで初期化し、前面・後面の右端点位置ＦＲＲＰｔｇｎを０で初期化する（Ｓ４０）。また、ＥＣＵ１０では、グループｇｎの前面・後面に属する反射点群内の反射点を更新していくための変数ｉを０で初期化する（Ｓ４１）。
【００８４】
変数ｉ（反射点）を更新する毎に、ＥＣＵ１０では、式（３）により、反射点ｒｐｇｎ，ｆｒ，ｉの３次元位置から画像上の２次元位置Ｐｉｍｇｇｎ，ｆｒ，ｉを計算する（Ｓ４２）。そして、ＥＣＵ１０では、その画像上の位置Ｐｉｍｇｇｎ，ｆｒ，ｉの中の横位置ｕｇｎ，ｆｒ，ｉが左端点位置ＦＲＬＰｔｇｎより小さいか否かを判定する（Ｓ４３）。Ｓ４３にて横位置ｕｇｎ，ｆｒ，ｉが左端点位置ＦＲＬＰｔｇｎより小さいと判定した場合、ＥＣＵ１０では、左端点位置ＦＲＬＰｔｇｎを横位置ｕｇｎ，ｆｒ，ｉで更新する（Ｓ４４）。また、ＥＣＵ１０では、その画像上の位置Ｐｉｍｇｇｎ，ｓｄ，ｉの中の横位置ｕｇｎ，ｆｒ，ｉが右端点位置ＦＲＲＰｔｇｎより大きいか否かを判定する（Ｓ４５）。Ｓ４５にて横位置ｕｇｎ，ｆｒ，ｉが右端点位置ＦＲＲＰｔｇｎより大きいと判定した場合、ＥＣＵ１０では、右端点位置ＦＲＲＰｔｇｎを横位置ｕｇｎ，ｆｒ，ｉで更新する（Ｓ４６）。ＥＣＵ１０では、反射点を更新するために、ｉに１を加算する（Ｓ４７）。そして、ＥＣＵ１０では、ｉがグループｇｎの前面・後面に属する反射点の数Ｎｇｎｆｒ以上か否かを判定する（Ｓ４８）。Ｓ４８にてｉがグループｇｎの反射点の数Ｎｇｎｆｒ未満と判定した場合、ＥＣＵ１０では、Ｓ４２の処理に戻って、更新した反射点に対する処理を行う。
【００８５】
Ｓ４８にてｉがグループｇｎの前面・後面に属する反射点の数Ｎｇｎｆｒ以上と判定した場合、ＥＣＵ１０では、グループｇｎの前面・後面の反射点群の全ての反射点についての３次元位置を用いて、その平均位置ｒｐｍｅａｎｇｎ，ｆｒを計算する（Ｓ４９）。さらに、ＥＣＵ１０では、式（４）、式（５）により、その平均位置ｒｐｍｅａｎｇｎ，ｆｒを用いて、グループｇｎの前面・後面の画像上の下端点位置ＦＲＶｌｏｗｇｎと上端点位置ＦＲＶｈｉｇｈｇｎを計算する（Ｓ５０）。
【００８６】
そして、ＥＣＵ１０では、車両の形状モデルが当てはまったグループｇｎの前面・後面の画像上での範囲として、左端点位置ＦＲＬＰｔｇｎ＝ＦＲＬＰｔｇｎ−ｄｗ、右端点位置ＦＲＲＰｔｇｎ＝ＦＲＲＰｔｇｎ＋ｄｗ、下端点位置ＦＲＶｌｏｗｇｎ，上端点位置ＦＲＶｈｉｇｈｇｎを記憶する（Ｓ５１）。
【００８７】
次に、グループｇｎの側面に対する処理を行う。ＥＣＵ１０では、まず、側面の左端点位置ＳＤＬＰｔｇｎを画像横幅ＩＭＧ＿ＷＩＤＴＨで初期化し、側面の右端点位置ＳＤＲＰｔｇｎを０で初期化する（Ｓ６０）。また、ＥＣＵ１０では、グループｇｎの側面に属する反射点群内の反射点を更新していくための変数ｉを０で初期化する（Ｓ６１）。
【００８８】
変数ｉ（反射点）を更新する毎に、ＥＣＵ１０では、式（６）により、反射点ｒｐｇｎ，ｓｄ，ｉの３次元位置から画像上の２次元位置Ｐｉｍｇｇｎ，ｓｄ，ｉを計算する（Ｓ６２）。そして、ＥＣＵ１０では、その画像上の位置Ｐｉｍｇｇｎ，ｓｄ，ｉの中の横位置ｕｇｎ，ｓｄ，ｉが左端点位置ＳＤＬＰｔｇｎより小さいか否かを判定する（Ｓ６３）。Ｓ６３にて横位置ｕｇｎ，ｓｄ，ｉが左端点位置ＳＤＬＰｔｇｎより小さいと判定した場合、ＥＣＵ１０では、左端点位置ＳＤＬＰｔｇｎを横位置ｕｇｎ，ｓｄ，ｉで更新する（Ｓ６４）。また、ＥＣＵ１０では、その画像上の位置Ｐｉｍｇｇｎ，ｓｄ，ｉの中の横位置ｕｇｎ，ｓｄ，ｉが右端点位置ＳＤＲＰｔｇｎより大きいか否かを判定する（Ｓ６５）。Ｓ６５にて横位置ｕｇｎ，ｓｄ，ｉが右端点位置ＳＤＲＰｔｇｎより大きいと判定した場合、ＥＣＵ１０では、右端点位置ＳＤＲＰｔｇｎを横位置ｕｇｎ，ｓｄ，ｉで更新する（Ｓ６６）。ＥＣＵ１０では、反射点を更新するために、ｉに１を加算する（Ｓ６７）。そして、ＥＣＵ１０では、ｉがグループｇｎの側面に属する反射点の数Ｎｇｎｓｄ以上か否かを判定する（Ｓ６８）。Ｓ６８にてｉがグループｇｎの反射点の数Ｎｇｎｓｄ未満と判定した場合、ＥＣＵ１０では、Ｓ６２の処理に戻って、更新した反射点に対する処理を行う。
【００８９】
Ｓ６８にてｉがグループｇｎの側面に属する反射点の数Ｎｇｎｓｄ以上と判定した場合、ＥＣＵ１０では、グループｇｎの側面の反射点群の全ての反射点についての３次元位置を用いて、その平均位置ｒｐｍｅａｎｇｎ，ｓｄを計算する（Ｓ６９）。さらに、ＥＣＵ１０では、式（７）、式（８）により、その平均位置ｒｐｍｅａｎｇｎ，ｓｄを用いて、グループｇｎの側面の画像上の下端点位置ＳＤＶｌｏｗｇｎと上端点位置ＳＤＶｈｉｇｈｇｎを計算する（Ｓ７０）。
【００９０】
そして、ＥＣＵ１０では、車両の形状モデルが当てはまったグループｇｎの側面の画像上での範囲として、左端点位置ＳＤＬＰｔｇｎ＝ＳＤＬＰｔｇｎ−ｄｗ、右端点位置ＳＤＲＰｔｇｎ＝ＳＤＲＰｔｇｎ＋ｄｗ、下端点位置ＳＤＶｌｏｗｇｎ，上端点位置ＳＤＶｈｉｇｈｇｎを記憶する（Ｓ７１）。
【００９１】
前面・後面の画像上範囲と側面の画像上の範囲を推定すると、ＥＣＵ１０では、グループｇｎの前面・後面の画像上範囲と側面の画像上範囲からなる面候補を設定する。
【００９２】
画像上判定推定処理が終了すると、ＥＣＵ１０では、グループｇｎを更新するために、ｇｎに１を加算する（Ｓ６）。そして、ＥＣＵ１０では、ｇｎがグルーピングされたグループの数ＧＮ以上か否かを判定する（Ｓ７）。Ｓ７にてｇｎがグループの数ＧＮ未満と判定した場合、ＥＣＵ１０では、Ｓ３の処理に戻って、更新したグループｇｎに対する処理を行う。一方、Ｓ７にてｇｎがグループの数ＧＮ以上と判定した場合、ＥＣＵ１０では、車両位置・面候補推定部１１での処理を終了する。
【００９３】
車両の形状モデルに当てはまるグループｇｎがある場合、特徴点抽出部１２での処理として、ＥＣＵ１０では、カメラ４で撮像した画像を用いて、推定した画像上範囲内で画素（ｕ，ｖ）毎に、各画素の値Ｉｕ，ｖを用いて式（９）により横方向のエッジ強度ΔＩｈｕ，ｖを計算するとともに式（１０）により縦方向のエッジ強度ΔＩｖｕ，ｖを計算し、その各エッジ強度ΔＩｈｕ，ｖ，ΔＩｖｕ，ｖを用いて式（１１）によりエッジ強度ΔＩｕ，ｖを計算するとともに式（１２）によりエッジ方向θｕ，ｖを計算する。これによって、エッジ画像を生成することにより、エッジによる特徴量を有する特徴点を抽出する。
【００９４】
特徴点を抽出すると、特徴点３次元位置候補推定部１３の処理として、ＥＣＵ１０では、まず、面候補ｓｐｔを０で初期化する（Ｓ８０）。
【００９５】
面候補ｓｐｔを更新する毎に、ＥＣＵ１０では、面候補ｓｐｔに含まれる特徴点ｆを０で初期化する（Ｓ８１）。
【００９６】
特徴点ｆを更新する毎に、ＥＣＵ１０では、式（１５）により、特徴点ｆの画像上の位置を用いて特徴点の存在する方向ｎｆを計算する（Ｓ８２）。さらに、ＥＣＵ１０では、その方向ｎｆと前面・後面モデルの面又は側面モデルの面との交点を計算し、その交点を特徴点ｆの３次元位置（ｘｆ，ｓｐｔ，ｙｆ，ｓｐｔ，ｚｆ，ｓｐｔ）とする（Ｓ８３）。ＥＣＵ１０では、特徴点ｆを更新するために、ｆに１を加算する（Ｓ８４）。そして、ＥＣＵ１０では、ｆが面候補ｓｐｔに含まれる特徴点の数以上か否かを判定する（Ｓ８５）。Ｓ８５にｆが特徴点の数未満と判定した場合、ＥＣＵ１０では、Ｓ８２の処理に戻って、更新した特徴点ｆに対する処理を行う。
【００９７】
Ｓ８５にてｆが特徴点の数以上と判定した場合、ＥＣＵ１０では、面候補ｓｐｔを更新するために、ｓｐｔに１を加算する（Ｓ８６）。そして、ＥＣＵ１０では、ｓｐｔが面候補の数以上か否かを判定する（Ｓ８７）。Ｓ８７にｓｐｔが面候補の数未満と判定した場合、ＥＣＵ１０では、Ｓ８１の処理に戻って、更新した面候補ｓｐｔに対する処理を行う。
【００９８】
Ｓ８７にｓｐｔが面候補の数以上と判定した場合、ＥＣＵ１０では、特徴点３次元位置候補推定部１３での処理を終了する。
【００９９】
特徴点の３次元位置を推定すると、車両端点抽出部１４での処理として、ＥＣＵ１０では、まず、最少位置誤差Ｅｓｐｔｔ１，ｓｐｔｔ２をＴＨＲ＿ＥＲＲＯＲ（例えば、∞）で初期化するとともに、最少誤差の面候補ＳＴＰ１，ＳＴＰ２を０で初期化する（Ｓ９０）。また、ＥＣＵ１０では、現時刻ｔ２の面候補ｓｐｔｔ２を０で初期化する（Ｓ９１）。
【０１００】
現時刻ｔ２の面候補ｓｐｔｔ２を更新する毎に、ＥＣＵ１０では、前時刻ｔ１の面候補ｓｐｔｔ１を０で初期化する（Ｓ９２）。
【０１０１】
前時刻ｔ１の面候補ｓｐｔｔ１を更新する毎に、ＥＣＵ１０では、現時刻ｔ２の特徴点ｆｔ２を０で初期化する（Ｓ９３）。
【０１０２】
現時刻ｔ２の特徴点ｆｔ２を更新する毎に、ＥＣＵ１０では、特徴点ｆｔ２に対応する前時刻ｔ１の特徴点ｆｔ２’を０で初期化するとともに、最少特徴量差ΔＦｔ１，ｔ２をＴＨＲ＿ＦＥＡＴＵＲＥ（例えば、∞）で初期化する（Ｓ９４）。また、ＥＣＵ１０では、前時刻ｔ１の特徴点ｆｔ１を０で初期化する（Ｓ９５）。
【０１０３】
前時刻ｔ１の特徴点ｆｔ１を更新する毎に、ＥＣＵ１０では、式（１７）により、特徴点ｆｔ１と特徴点ｆｔ２との特徴量の差ΔＦ’を計算する（Ｓ９６）。そして、ＥＣＵ１０では、特徴量の差ΔＦ’が最少特徴量差ΔＦｔ１，ｔ２より小さいか否かを判定する（Ｓ９７）。Ｓ９７にて特徴量の差ΔＦ’が最少特徴量差ΔＦｔ１，ｔ２以上と判定した場合、ＥＣＵ１０では、Ｓ１００の処理に移行し、前時刻ｔ１の特徴点ｆｔ１を更新するために、ｆｔ１に１を加算する（Ｓ１００）。
【０１０４】
Ｓ９７にて特徴量の差ΔＦ’が最少特徴量差ΔＦｔ１，ｔ２より小さいと判定した場合、ＥＣＵ１０では、最少特徴量差ΔＦｔ１，ｔ２として今回の特徴量の差ΔＦ’を設定し（Ｓ９８）、特徴点ｆｔ２に対応する前時刻ｔ１の特徴点ｆｔ２’として今回の特徴点ｆｔ１を設定する（Ｓ９９）。そして、ＥＣＵ１０では、前時刻ｔ１の特徴点ｆｔ１を更新するために、ｆｔ１に１を加算する（Ｓ１００）。さらに、ＥＣＵ１０では、特徴点ｆｔ１が時刻ｔ１での特徴点の数Ｎｆｔ１以上か否かを判定する（Ｓ１０１）。Ｓ１０１にてｆｔ１が時刻ｔ１での特徴点の数Ｎｆｔ１未満と判定した場合、ＥＣＵ１０では、Ｓ９６の処理に戻って、更新した特徴点ｆｔ１に対する処理を行う。
【０１０５】
Ｓ１０１にてｆｔ１が時刻ｔ１での特徴点の数Ｎｆｔ１以上と判定した場合、ｆｔ２’に記憶されている特徴点が今回の特徴点ｆｔ２に対応する前時刻ｔ１での特徴点である。そして、ＥＣＵ１０では、現時刻ｔ２の特徴点ｆｔ２を更新するために、ｆｔ２に１を加算する（Ｓ１０２）。さらに、ＥＣＵ１０では、特徴点ｆｔ２が時刻ｔ２での特徴点の数Ｎｆｔ２以上か否かを判定する（Ｓ１０３）。Ｓ１０３にてｆｔ２が時刻ｔ２での特徴点の数Ｎｆｔ２未満と判定した場合、ＥＣＵ１０では、Ｓ９４の処理に戻って、更新した特徴点ｆｔ２に対する処理を行う。
【０１０６】
Ｓ１０３にてｆｔ２が時刻ｔ２での特徴点の数Ｎｆｔ２以上と判定した場合、特徴点ｆｔ１と特徴点ｆｔ２との全ての組み合わせについての処理が終了したことになるので、現時刻ｔ２の全ての特徴点ｆｔ２について対応する前時刻ｔ１での特徴点ｆｔ２’（＝ｆｔ１）が確定したことになる。
【０１０７】
次に、ＥＣＵ１０では、ＲＡＮＳＡＣ法により、現時刻ｔ２と前時刻ｔ１で対応する特徴点間で位置誤差が最少になるような並進移動量（ｄｘｓｐｔ，ｄｙｓｐｔ，ｄｚｓｐｔ）と回転量ψｓｐｔを推定する（Ｓ１０４）。さらに、ＥＣＵ１０では、前時刻ｔ１の面候補ｓｐｔｔ１の各特徴点ｆｔ１を並進移動量（ｄｘｓｐｔ，ｄｙｓｐｔ，ｄｚｓｐｔ）と回転量ψｓｐｔで変換した上で、対応する特徴点間の位置誤差Ｅを計算する（Ｓ１０５）。そして、ＥＣＵ１０では、位置誤差Ｅが最少位置誤差Ｅｓｐｔｔ１，ｓｐｔｔ２より小さいか否かを判定する（Ｓ１０６）。Ｓ１０６にて位置誤差Ｅが最少位置誤差Ｅｓｐｔｔ１，ｓｐｔｔ２以上と判定した場合、ＥＣＵ１０では、Ｓ１０９の処理に移行し、前時刻ｔ１の面候補ｓｐｔｆ１を更新するために、ｓｐｔｔ１に１を加算する（Ｓ１０９）。
【０１０８】
Ｓ１０６にて位置誤差Ｅが最少位置誤差Ｅｓｐｔｔ１，ｓｐｔｔ２より小さいと判定した場合、ＥＣＵ１０では、最少位置誤差Ｅｓｐｔｔ１，ｓｐｔｔ２に今回の位置誤差Ｅを設定するとともに（Ｓ１０７）、面候補ＳＴＰ１に今回の面候補ｓｔｐｔ１を設定し、面候補ＳＴＰ２に今回の面候補ｓｔｐｔ２を設定する（Ｓ１０８）。そして、ＥＣＵ１０では、前時刻ｔ１の面候補ｓｐｔｔ１を更新するために、ｓｐｔｔ１に１を加算する（Ｓ１０９）。さらに、ＥＣＵ１０では、面候補ｓｐｔｔ１が時刻ｔ１での面候補の数Ｎｓｐｔｔ１以上か否かを判定する（Ｓ１１０）。Ｓ１１０にて面候補ｓｐｔｔ１が時刻ｔ１での面候補の数Ｎｓｐｔｔ１未満と判定した場合、ＥＣＵ１０では、Ｓ９３の処理に戻って、更新した面候補ｓｐｔｔ１に対する処理を行う。
【０１０９】
Ｓ１１０にて面候補ｓｐｔｔ１が時刻ｔ１での面候補の数Ｎｓｐｔｔ１以上と判定した場合、ＥＣＵ１０では、現時刻ｔ２の面候補ｓｐｔｔ２を更新するために、ｓｐｔｔ２に１を加算する（Ｓ１１１）。さらに、ＥＣＵ１０では、面候補ｓｐｔｔ２が時刻ｔ２での面候補の数Ｎｓｐｔｔ２以上か否かを判定する（Ｓ１１２）。Ｓ１１２にて面候補ｓｐｔｔ２が時刻ｔ２での面候補の数Ｎｓｐｔｔ２未満と判定した場合、ＥＣＵ１０では、Ｓ９２の処理に戻って、更新した面候補ｓｐｔｔ２に対する処理を行う。
【０１１０】
Ｓ１１２にて面候補ｓｐｔｔ２が時刻ｔ２での面候補の数Ｎｓｐｔｔ２以上と判定した場合、面候補ｓｐｔｔ２と面候補ｓｐｔｔ１の全ての組み合わせに対する処理が終了したので、ＳＴＰ１に記憶されている面候補が前時刻ｔ１での車両の面に確定したことになり、ＳＴＰ２に記憶されている面候補が現時刻ｔ２での車両の面に確定したことになる。そこで、ＥＣＵ１０では、前時刻ｔ１の面候補ＳＰＴ１に対応するグループｇｎの反射点群の中から分割位置の近傍の２つの反射点ｒｐｔｇｎ，ＳＰＴ１とｒｐｔｇｎ，ＳＰＴ１＋１を抽出し、その２つの反射点の平均値を時刻ｔ１での車両の端点（２つの面の境界位置）とする（Ｓ１１３）。また、ＥＣＵ１０では、現時刻ｔ２の面候補ＳＰＴ２に対応するグループｇｎの反射点群の中から分割位置の近傍の２つの反射点ｒｐｔｇｎ，ＳＰＴ２とｒｐｔｇｎ，ＳＰＴ２＋１を抽出し、その２つの反射点の平均値を時刻ｔ２での車両の端点とする（Ｓ１１３）。そして、ＥＣＵ１０では、車両端点の情報を少なくとも含む車両情報を車両情報信号として運転支援装置に送信する。ここでは、例えば、現時刻ｔ２の車両の端点だけを出力してもよいし、前時刻ｔ１と現時刻ｔ２の車両の端点を出力してもよい。
【０１１１】
この車両検出装置１によれば、連続する２時刻間の面候補の組み合わせ毎に対応する特徴点間において３次元位置を並進移動及び回転変換した上で最少の位置誤差を求め、全ての組み合わせの面候補の中で位置誤差が最少となる組み合わせの面候補を抽出することにより、車両の面を高精度に検出できる。さらに、この車両の面に基づいて、車両の端部を高精度に検出することができる。
【０１１２】
図１７〜図１９を参照して、第２の実施の形態に係る車両検出装置２について説明する。図１７は、第２の実施の形態に係る車両検出装置の構成図である。図１８は、２時刻間での特徴点の位置誤差の一例であり、（ａ）が前時刻ｔ１での特徴点の画像上位置と３次元位置との関係を示す図であり、（ｂ）が現時刻ｔ２での特徴点の画像上位置と３次元位置との関係を示す図であり、（ｃ）が前時刻ｔ１と現時刻ｔ２間における特徴点の３次元位置の位置誤差を示す図である。図１９は、車両幅推定部における処理の説明図である。
【０１１３】
車両検出装置２は、第１の実施の形態に係る車両検出装置１と比較すると、車両の両端の端点を推定し、この各端点と車両端点抽出部１４で抽出した車両の端点を用いて車両の幅を推定する構成を追加した点だけが異なる。そのために、車両検出装置２は、レーザレーダ３、カメラ４、ＥＣＵ２０を備えており、ＥＣＵ２０に車両位置・面候補推定部１１、特徴点抽出部１２、特徴点３次元位置候補推定部１３、車両端点抽出部１４、車両幅推定部２５が構成される。なお、第２の実施の形態では、車両端点抽出部１４及び車両幅推定部２５が特許請求の範囲に記載する車両情報検出手段に相当する。
【０１１４】
ＥＣＵ２０は、ＣＰＵ、ＲＯＭ、ＲＡＭなどからなる電子制御ユニットであり、車両検出装置２を統括制御する。ＥＣＵ２０では、ＲＯＭに格納されているアプリケーションプログラムをＲＡＭ上にロードし、ＣＰＵで実行することによって車両位置・面候補推定部１１、特徴点抽出部１２、特徴点３次元位置候補推定部１３、車両端点抽出部１４、車両幅推定部２５を構成する。ＥＣＵ２０では、所定時間毎に、レーザレーダ３からレーダ信号、カメラ４から画像信号を受信する。そして、ＥＣＵ２０では、この各信号を用いて各部１１，１２，１３，１４，２５の処理を行い、車両を検出できた場合にはその車両の情報を車両報信号として運転支援装置に送信する。ここでは、車両幅推定部２５での処理についてのみ詳細に説明する。
【０１１５】
車両幅推定部２５について説明する。車両端点抽出部１４で車両の端点（２つの面の境界位置）を抽出すると、車両幅推定部２５では、車両端点抽出部１４で推定した車両の各面ＳＴＰ１，ＳＴＰ２での対応する特徴点間の位置誤差をそれぞれ求め、位置誤差が小さい特徴点の中で車両端点抽出部１４で抽出した車両の端点（２面の境界位置）から最も離れている特徴点の位置の各面の他方側の端点として抽出し、車両の端点の各面の他方側の端点に基づいて車両の幅を推定する。
【０１１６】
図１８には、前時刻ｔ１と現時刻ｔ２間において車両前面での特徴点での位置誤差と車両以外の物体での特徴点での位置誤差の一例を示している。図（ａ）は前時刻ｔ１の場合であり、標識Ｂの特徴点としてＣＰ１ｔ１が画像ＩＰ上の特徴点であり、３Ｐ１ｔ１’が特徴点ＣＰ１ｔ１の車両端点抽出部１４で推定した車両の面ＳＴＰ１上での３次元位置候補であり、３Ｐ１ｔ１が特徴点ＣＰ１ｔ１の実際の３次元位置であり、車両Ｖの前面の特徴点としてＣＰ２ｔ１が画像ＩＰ上の特徴点であり、３Ｐ２ｔ１’が特徴点ＣＰ２ｔ１の車両の面ＳＴＰ１上で３次元位置候補であり、３Ｐ２ｔ１が特徴点ＣＰ２ｔ１の実際の３次元位置である。図（ｂ）は現時刻ｔ２の場合であり、標識Ｂの特徴点としてＣＰ１ｔ２が画像ＩＰ上の特徴点であり、３Ｐ１ｔ２’が特徴点ＣＰ１ｔ２の車両端点抽出部１４で推定した車両の面ＳＴＰ２上での３次元位置候補であり、３Ｐ１ｔ２が特徴点ＣＰ１ｔ２の実際の３次元位置であり、車両Ｖの前面の特徴点としてＣＰ２ｔ２が画像ＩＰ上の特徴点であり、３Ｐ２ｔ２’が特徴点ＣＰ２ｔ２の車両の面ＳＴＰ２上での３次元位置候補であり、３Ｐ２ｔ２が特徴点ＣＰ２ｔ２の実際の３次元位置である。さらに、図（ｃ）には前時刻ｔ１と現時刻ｔ２間における３次元位置候補の位置誤差を示しており、標識Ｂの特徴点についての３次元位置候補３Ｐ１ｔ１’，３Ｐ１ｔ２’間の位置誤差Ｌ１と、車両Ｖの特徴点についての３次元位置候補３Ｐ２ｔ１’，３Ｐ２ｔ２’間の位置誤差Ｌ２を示している。この例からも判るように、車両の特徴点の場合、２時刻ｔ１，ｔ２間の画像上の特徴点についての車両の面ＳＴＰ１，ＳＴＰ２上での各３次元位置候補の位置の差は小さく、２時刻ｔ１，ｔ２間で特徴点の対応がつく。しかし、車両Ｖ以外の物体（標識Ｂ）の場合、２時刻ｔ１，ｔ２間の画像上の特徴点についての車両の面ＳＴＰ１，ＳＴＰ２上での各３次元位置候補の位置の差は大きく、２時刻ｔ１，ｔ２間で特徴点の対応がつかない。したがって、特徴点群の中から、この２時刻ｔ１，ｔ２間の位置誤差が大きくなる特徴点を排除することにより、車両の特徴点のみが残ることになる。
【０１１７】
図１９には、車両幅推定部２５での処理（車両の前面に対するもの）の概要を示している。現時刻ｔ２の画像Ｉから抽出された特徴点（３次元位置候補）３Ｐ１ｔ２’，３Ｐ２ｔ２’，・・・，３Ｐ１２ｔ２’，・・・の一例を示しており、この例の場合、特徴点３Ｐ１ｔ２’，３Ｐ９ｔ２’，３Ｐ１２ｔ２’が車両以外の物体の特徴点である。この各特徴点について、前時刻ｔ１と現時刻ｔ２間で対応する特徴点の３次元位置候補の位置誤差Ｅをそれぞれ計算し、その各位置誤差Ｅを画像上の横位置ｕを横軸としたグラフＧ１に示している。このグラグＧ１から判るように、車両以外の物体の特徴点３Ｐ１ｔ２’，３Ｐ９ｔ２’，３Ｐ１２ｔ２’についての各位置誤差は所定の閾値ＴＨＲ＿ＥＲＲＯＲ＿ＦＰより大きくなるので、この特徴点を排除する。そして、残った特徴点についてのみ、特徴点の数を横位置ｕ毎（１画素単位毎ではなく、数画素単位毎）にカウントし、そのカウント値（頻度ＥＨｉｓｔｕ）を横位置ｕ（数画素単位）を横軸としたグラフＧ２に示している。このグラフＧ２から判るように、車両端点抽出部１４で抽出した車両の端部Ｕｅｄｇｅでは頻度ＥＨｉｓｔｕが所定の閾値ＴＨＲ＿ＥＲＲＯＲ＿ＦＰＣＮＴを超えており、それ以外で頻度ＥＨｉｓｔｕが閾値ＴＨＲ＿ＥＲＲＯＲ＿ＦＰＣＮＴを超える横位置ｕのうち車両の端部Ｕｅｄｇｅから最も離れている横位置ｕＬを車両の前面の他方側の端部とする。
【０１１８】
具体的には、車両幅推定部２５では、前時刻ｔ１での面ＳＴＰ１と現時刻ｔ２での面候補ＳＴＰ２において対応する特徴点ｆｔ２’，ｆｔ２毎に、特徴点ｆｔ２’，ｆｔ２間で位置誤差が最少になるような並進移動量（ｄｘｓｐｔ，ｄｙｓｐｔ，ｄｚｓｐｔ）と回転量ψｓｐｔを用いて、特徴点ｆｔ２’（＝ｆｔ１）を並進移動量（ｄｘｓｐｔ，ｄｙｓｐｔ，ｄｚｓｐｔ）と回転量ψｓｐｔで変換した上で、対応する特徴点ｆｔ２’，ｆｔ２間の位置誤差Ｅｆｔ２を計算する。位置誤差Ｅｆｔ２は、式（２０）によって計算することができる。式（２０）のＸは、式（２１）によって計算することができる。なお、式（２１）における対応する特徴点ｆｔ２’，ｆｔ２間についての並進移動量（ｄｘｓｐｔ，ｄｙｓｐｔ，ｄｚｓｐｔ）と回転量ψｓｐｔについては、車両端点抽出部１４で既に求められている。
【数１３】
2010256040.tif 000015
【０１１９】
位置誤差Ｅｆｔ２を計算する毎に、車両幅推定部２５では、特徴点のｆｔ２’，ｆｔ２間の位置誤差Ｅｆｔ２が閾値ＴＨＲ＿ＥＲＲＯＲ＿ＦＰより小さいか否かを判定する。閾値ＴＨＲ＿ＥＲＲＯＲ＿ＦＰは、特徴点間の位置誤差Ｅｆｔ２に基づいて、車両の特徴点かあるいは車両以外の特徴点かを判別するための閾値である。位置誤差Ｅｆｔ２が閾値ＴＨＲ＿ＥＲＲＯＲ＿ＦＰより小さい場合、車両幅推定部２５では、その特徴点の横位置ｕ（数画素毎の横位置）の頻度ＥＨｉｓｔｕをカウントアップする。
【０１２０】
対応する全ての特徴点ｆｔ２’，ｆｔ２間に対する処理が終了すると、車両幅推定部２５では、各横位置ｕでの頻度ＥＨｉｓｔｕの中から閾値ＴＨＲ＿ＥＲＲＯＲ＿ＦＰＣＮＴを超えるか否かを判定する。閾値ＴＨＲ＿ＥＲＲＯＲ＿ＦＰＣＮＴは、頻度ＥＨｉｓｔｕに基づいて、車両の端点として所定数以上の特徴点があるか否か判定するための閾値である。
【０１２１】
車両幅推定部２５では、頻度ＥＨｉｓｔｕが閾値ＴＨＲ＿ＥＲＲＯＲ＿ＦＰＣＮＴを超える横位置ｕの中から、車両端点抽出部１４で抽出した車両の端点（２面の境界位置）から最も離れている横位置ｕを抽出し、その横位置ｕを車両の面の他方側の端点とする。
【０１２２】
車両幅推定部２５では、車両端点抽出部１４で抽出した車両の面ＳＴＰ１，ＳＴＰ２における前面・後面と側面とに分けて上記処理を行い、前面・後面の他方側の端点と側面の他方側の端点をそれぞれ推定する。そして、車両幅推定部２５では、推定した前面・後面の他方側の端点と側面の他方側の端点及び車両端点抽出部１４で抽出した車両の端点を用いて、端点間距離により車両の幅を計算する。前面・後面の他方側の端点と側面の他方側の端点間距離の場合、画像に写っている車両全体の幅である。前面・後面の他方側の端点と車両端点抽出部１４で抽出した車両の端点間距離の場合、画像に写っている車両の前面の幅である。側面の他方側の端点と車両端点抽出部１４で抽出した車両の端点間距離の場合、画像に写っている車両の側面の長さである。
【０１２３】
車両検出装置２の動作について説明する。車両検出装置２の動作では、第１の実施の形態に係る車両検出装置１の動作と比較すると、車両端点抽出部１４が終了した後に車両幅推定部２５での処理を行うことだけが異なるので、ＥＣＵ２０における車両幅推定部２５での処理についてのみ説明する。ＥＣＵ２０における車両幅推定部２５の処理については図２０のフローチャートに沿って説明する。図２０は、車両幅推定部における処理の流れを示すフローチャートである。
【０１２４】
車両幅推定部２５での処理として、ＥＣＵ２０では、まず、現時刻ｔ２の特徴点ｆｔ２を０で初期化し（Ｓ１２０）、各横位置での頻度ＥＨｉｓｔｕを０で初期化する。
【０１２５】
特徴点ｆｔ２を更新する毎に、ＥＣＵ２０では、現時刻ｔ２での面候補ＳＴＰ２における特徴点ｆｔ２に対応する前時刻ｔ１での面候補ＳＰＴ１における特徴点ｆｔ２’について、並進移動量（ｄｘｓｐｔ，ｄｙｓｐｔ，ｄｚｓｐｔ）と回転量ψｓｐｔｄｙｓｐｔ，ｄｚｓｐｔ）で変換した上で特徴点ｆｔ２，ｆｔ２’間の位置誤差Ｅｆｔ２を計算する（Ｓ１２１）。そして、ＥＣＵ２０では、位置誤差Ｅｆｔ２が閾値ＴＨＲ＿ＥＲＲＯＲ＿ＦＰより小さいか否かを判定する（Ｓ１２２）。Ｓ１２２にて位置誤差Ｅｆｔ２が閾値ＴＨＲ＿ＥＲＲＯＲ＿ＦＰより小さいと判定した場合、ＥＣＵ２０では、特徴点ｆｔ２の画像上での横位置ｕに対する頻度ＥＨｉｓｔｕを１カウントアップする（Ｓ１２３）。
【０１２６】
ＥＣＵ２０では、現時刻ｔ２の特徴点ｆｔ２を更新するために、ｆｔ２に１を加算する（Ｓ１２４）。さらに、ＥＣＵ２０では、特徴点ｆｔ２が時刻ｔ２での特徴点の数Ｎｆｔ２以上か否かを判定する（Ｓ１２５）。Ｓ１２５にてｆｔ２が時刻ｔ２での特徴点の数Ｎｆｔ２未満と判定した場合、ＥＣＵ２０では、Ｓ１２１の処理に戻って、更新した特徴点ｆｔ２に対する処理を行う。
【０１２７】
Ｓ１２５にてｆｔ２が時刻ｔ２での特徴点の数Ｎｆｔ２以上と判定した場合、全ての対応する特徴点ｆｔ２，ｆｔ２’間についての処理が終了したことになる。そこで、ＥＣＵ２０では、頻度ＥＨｉｓｔｕが閾値ＴＨＲ＿ＥＲＲＯＲ＿ＦＰＣＮＴを超える横位置ｕ中で、車両の端点（２面の境界位置）から最も離れている横位置ｕを車両の面の他方側の端点とする（Ｓ１２６）。そして、ＥＣＵ２０では、その車両の面の他方側の端点と車両の端点（２面の境界位置）の差により車両の幅を推定する（Ｓ１２７）。
【０１２８】
ＥＣＵ２０では、前面・後面と側面とに分けて上記処理を行い、前面・後面の他方側の端点と側面の他方側の端点をそれぞれ推定し、車両の幅を推定する。そして、ＥＣＵ２０では、車両の面、車両の各端点及び車両の幅の情報を少なくとも含む車両情報を車両情報信号として運転支援装置に送信する。
【０１２９】
この車両検出装置２によれば、第１の実施の形態に係る車両検出装置１と同様の効果を有する上に、下記の効果も有する。車両検出装置２によれば、時刻ｔ１，ｔ２間での対応する特徴点間の位置誤差を利用することにより、車両の各面の他方側の残端点を高精度に推定でき、その残端点と車両の端点から車両の幅を高精度に推定することができる。
【０１３０】
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
【０１３１】
例えば、本実施の形態では車両に搭載される車両検出装置に適用したが、衝突防止装置、車間制御装置などの運転支援装置や周辺監視装置などの他の装置にも適用可能である。
【０１３２】
また、本実施の形態では自車両の前方の車両を検出する場合に適用したが、後方などの他の方向での車両の検出にも適用可能である。
【０１３３】
また、本実施の形態では車両を検出し、車両の面候補や車両の画像上の範囲を推定するためにレーザレーダのレーダ情報を用いる構成としたが、ミリ波レーダなどの他のレーダのレーダ情報を用いてもよい、あるいは、カメラによる画像を用いてパターン認識などによる他の方法で推定してもよい。
【０１３４】
また、本実施の形態では所定の特徴量（特徴点）としてエッジを適用したが、ウェーブレット、ＳＩＦＴなどの他の特徴量でもよい。
【０１３５】
また、本実施の形態では推定した車両の面に基づいて車両の端点までの求める構成としたが、車両の面の推定だけを行う構成としてもよい。
【０１３６】
また、本実施の形態では連続する２時刻間について処理を行ったが、３時刻間や４時刻間でもよいし、時刻間の周期が短い場合には連続する時刻間でなくてもよい。
【符号の説明】
【０１３７】
１，２…車両検出装置、３…レーザレーダ、４…カメラ、１０，２０…ＥＣＵ、１１…車両位置・面候補推定部、１２…特徴点抽出部、１３…特徴点３次元位置候補推定部、１４…車両端点抽出部、２５…車両幅推定部
【図１】
2010256040.tif 000016
【図２】
2010256040.tif 000017
【図３】
2010256040.tif 000018
【図４】
2010256040.tif 000019
【図５】
2010256040.tif 000020
【図６】
2010256040.tif 000021
【図７】
2010256040.tif 000022
【図８】
2010256040.tif 000023
【図９】
2010256040.tif 000024
【図１０】
2010256040.tif 000025
【図１１】
2010256040.tif 000026
【図１２】
2010256040.tif 000027
【図１３】
2010256040.tif 000028
【図１４】
2010256040.tif 000029
【図１５】
2010256040.tif 000030
【図１６】
2010256040.tif 000031
【図１７】
2010256040.tif 000032
【図１８】
2010256040.tif 000033
【図１９】
2010256040.tif 000034
【図２０】
2010256040.tif 000035