(57)【要約】  画像処理装置は、複数の撮影画像における物体の距離に応じた画素値を有する距離画像に基づいて、前記距離画像の水平方向の距離値の頻度分布を示す分布データを生成する生成部と、前記生成部により生成された、以前の複数の距離画像に対する前記分布データに基づいて、今回のフレームの距離画像に対する前記分布データにおける前記物体の予測位置を予測する位置予測部と、以前のフレームにおける前記物体の領域と、前記予測位置に対する今回のフレームにおける領域との類似度に基づいて、前記物体の追跡を継続する追跡部と、を備える。
2017130640.tif 000002
【特許請求の範囲】
【請求項１】
複数の撮影画像における物体の距離に応じた画素値を有する距離画像に基づいて、前記距離画像の水平方向の距離値の頻度分布を示す分布データを生成する生成部と、
前記生成部により生成された、以前の複数のフレームの距離画像に対する前記分布データに基づいて、今回のフレームの距離画像に対する前記分布データにおける前記物体の予測位置を予測する位置予測部と、
以前のフレームにおける前記物体の領域と、前記予測位置に対する今回のフレームにおける領域との類似度に基づいて、前記物体の追跡を継続する追跡部と、
を備える画像処理装置。
【請求項２】
前記位置予測部は、前回のフレームの距離画像に対する前記分布データにおける前記物体の位置と、前記物体の自車両に対する相対速度に基づいて、複数の予測位置を予測し、
前記追跡部は、以前のフレームにおける前記物体の領域と、前記複数の予測位置に対する今回のフレームにおける各領域との類似度に基づいて、前記物体の追跡を継続する、
請求項１記載の画像処理装置。
【請求項３】
前記位置予測部は、前記複数の予測位置の各々に、所定の優先順位を付加し、
前記追跡部は、前記優先順位に従って、前記複数の予測位置のうちの一の予測位置を順に選択し、以前のフレームにおける前記物体の領域と、当該選択した予測位置に対する今回のフレームにおける領域との類似度が所定の閾値以上であれば、当該選択した予測位置に基づいて前記物体の追跡を継続する、
請求項１または２記載の画像処理装置。
【請求項４】
前記追跡部は、以前のフレームにおける前記物体の領域と、前記予測位置に対する今回のフレームにおける領域との類似度に応じて、前記物体の追跡を継続する以降のフレームの数を決定する、
請求項１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
前記追跡部は、前記予測位置と、今回のフレームの距離画像に対する前記分布データにおける前記物体の位置との距離、または、前記予測位置に対する今回のフレームにおける前記物体の領域と、今回のフレームにおける前記物体の領域とが重複する割合に基づいて前記物体を追跡し、当該追跡に失敗した場合、以前のフレームにおける前記物体の領域と、前記予測位置に対応する今回のフレームにおける領域との類似度に基づいて、前記物体の追跡を継続する、
請求項１乃至４のいずれか一項に記載の画像処理装置。
【請求項６】
前記追跡部は、以前のフレームにおける前記物体の領域と、前記予測位置に対する今回のフレームにおける領域との第１の類似度を算出し、以前のフレームにおける前記物体の領域と、今回のフレームで検出された前記物体の領域との第２の類似度を算出し、前記第１の類似度および前記第２の類似度に基づいて、前記物体の追跡を継続する
ことを特徴とする請求項１乃至５のいずれか一項に記載の画像処理装置。
【請求項７】
前記追跡部は、前記物体が所定の条件に該当する場合には、以前のフレームにおける前記物体の領域と、前記予測位置に対する今回のフレームにおける領域との第１の類似度を算出し、以前のフレームにおける前記物体の領域と、今回のフレームで検出された前記物体の領域との第２の類似度を算出し、前記第１の類似度および前記第２の類似度に基づいて、前記物体の追跡を継続する
請求項６に記載の画像処理装置。
【請求項８】
前記追跡部は、以前の所定数のフレームにおける前記物体の領域の位置またはサイズの変動が所定の閾値以下である場合には、以前のフレームにおける前記物体の領域と、前記予測位置に対する今回のフレームにおける領域との第１の類似度を算出し、以前のフレームにおける前記物体の領域と、今回のフレームで検出された前記物体の領域との第２の類似度を算出し、前記第１の類似度および前記第２の類似度に基づいて、前記物体の追跡を継続する
請求項７に記載の画像処理装置。
【請求項９】
前記追跡部は、画像特徴量に基づいた判定により前記物体の種別が所定の種別であると判定された場合には、以前のフレームにおける前記物体の領域と、前記予測位置に対する今回のフレームにおける領域との第１の類似度を算出し、今回のフレームで検出された前記物体の領域と、以前のフレームから予測した前記物体の領域との第２の類似度を算出し、前記第１の類似度および前記第２の類似度に基づいて、前記物体の追跡を継続する
請求項７に記載の画像処理装置。
【請求項１０】
複数の撮像部と、
前記複数の撮像部により得られた複数の撮影画像から、前記複数の撮影画像における物体の距離に応じた画素値を有する距離画像を生成する距離画像生成部と、
前記距離画像の水平方向の距離値の頻度分布を示す分布データを生成する生成部と、
前記生成部により生成された、以前の複数の距離画像に対する前記分布データに基づいて、今回のフレームの距離画像に対する前記分布データにおける前記物体の予測位置を予測する位置予測部と、
以前のフレームの距離画像における前記物体の領域と、前記予測位置に対する今回のフレームの距離画像における領域との類似度に基づいて、前記物体の追跡を継続する追跡部と、
を備える撮像装置。
【請求項１１】
移動体に搭載され、前記移動体の前方を撮像する複数の撮像部と、
前記複数の撮像部により得られた複数の撮影画像から、前記複数の撮影画像における物体の距離に応じた画素値を有する距離画像を生成する距離画像生成部と、
前記距離画像の水平方向の距離値の頻度分布を示す分布データを生成する生成部と、
前記生成部により生成された、以前の複数の距離画像に対する前記分布データに基づいて、今回のフレームの距離画像に対する前記分布データにおける前記物体の予測位置を予測する位置予測部と、
以前のフレームの距離画像における前記物体の領域と、前記予測位置に対する今回のフレームの距離画像における領域との類似度に基づいて、前記物体の追跡を継続する追跡部と、
前記追跡部による追跡結果に基づいて、前記移動体の制御を行う制御部と、
を備える移動体機器制御システム。
【請求項１２】
画像処理装置が、
複数の撮影画像における物体の距離に応じた画素値を有する距離画像に基づいて、前記距離画像の水平方向の距離値の頻度分布を示す分布データを生成するステップと、
以前の複数の距離画像に対する前記分布データに基づいて、今回のフレームの距離画像に対する前記分布データにおける前記物体の予測位置を予測するステップと、
以前のフレームの距離画像における前記物体の領域と、前記予測位置に対する今回のフレームの距離画像における領域との類似度に基づいて、前記物体の追跡を継続するステップと、
を実行する、画像処理方法。
【請求項１３】
画像処理装置に、
複数の撮影画像における物体の距離に応じた画素値を有する距離画像に基づいて、前記距離画像の水平方向の距離値の頻度分布を示す分布データを生成するステップと、
以前の複数の距離画像に対する前記分布データに基づいて、今回のフレームの距離画像に対する前記分布データにおける前記物体の予測位置を予測するステップと、
以前のフレームの距離画像における前記物体の領域と、前記予測位置に対する今回のフレームの距離画像における領域との類似度に基づいて、前記物体の追跡を継続するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置、移動体機器制御システム、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
自動車の安全性において、従来は歩行者や自動車と衝突したときに、いかに歩行者を守れるか、乗員を保護できるかの観点から自動車のボディー構造などの開発が行われてきた。しかしながら近年、情報処理技術、画像処理技術の発達により、高速に人や自動車等を検出する技術が開発されてきている。これらの技術を応用して、衝突する前に自動的にブレーキをかけ、衝突を未然に防ぐという自動車もすでに発売されている。【０００３】
自動的にブレーキをかけるには人や他車等の物体までの距離を測定する必要があり、そのために、ステレオカメラの画像を用いた測定が実用化されている。【０００４】
このステレオカメラの画像を用いた測定では、あるフレームの視差画像で自車両よりも前方にある車両等の物体を検出した後、それ以降のフレームの視差画像において、当該物体をトラッキング（追跡）する技術が知られている（例えば、特許文献１参照）。【０００５】
このトラッキングにより、物体の移動のベクトルが分かるため、物体の危険度を正しく判定することができる。例えば、同じように自車両よりも２０ｍ前方に位置する物体でも、相対速度が０ｋｍ/ｈ（自車両と同じ速度で移動）のものと、相対速度が−５０ｋｍ/ｈ（自車両に接近）のものとでは危険度が大きく異なるためである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４８５６６１２号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、従来技術には、物体の検出に一時的に失敗し、当該物体をロストしてしまった場合、当該物体に対してトラッキングを継続できないという問題がある。【０００８】
そこで、安定して精度の高いトラッキングを継続できる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
画像処理装置は、複数の撮影画像における物体の距離に応じた画素値を有する距離画像に基づいて、前記距離画像の水平方向の距離値の頻度分布を示す分布データを生成する生成部と、前記生成部により生成された、以前の複数の距離画像に対する前記分布データに基づいて、今回のフレームの距離画像に対する前記分布データにおける前記物体の予測位置を予測する位置予測部と、以前のフレームにおける前記物体の領域と、前記予測位置に対する今回のフレームにおける領域との類似度に基づいて、前記物体の追跡を継続する追跡部と、を備える。
【発明の効果】
【００１０】
開示の技術によれば、安定して精度の高いトラッキングを継続することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係る車載機器制御システムの構成を示す模式図である。
【図２】撮像ユニット及び画像解析ユニットの構成を示す模式図である。
【図３】三角測量の原理を利用することで視差値から距離を算出する原理を説明するための図である。
【図４】実施形態に係る物体検出処理を行う機能ブロック図である。
【図５Ａ】視差画像データ、及びその視差画像データから生成されるＶマップについて説明するための図である。
【図５Ｂ】視差画像データ、及びその視差画像データから生成されるＶマップについて説明するための図である。
【図６Ａ】一方の撮像部で撮像された基準画像としての撮影画像の画像例と、その撮影画像に対応するＶマップを示す図である。
【図６Ｂ】一方の撮像部で撮像された基準画像としての撮影画像の画像例と、その撮影画像に対応するＶマップを示す図である。
【図７】基準画像の一例を模式的に表した画像例を示す図である。
【図８Ａ】画像例に対応するＵマップを示す図である。
【図８Ｂ】画像例に対応するＵマップを示す図である。
【図９】Ｕマップに対応するリアルＵマップを示す図である。
【図１０】Ｕマップの横軸の値からリアルＵマップの横軸の値を求める方法を説明するための図である。
【図１１】孤立領域検出部で行う孤立領域検出処理の流れを示すフローチャートである。
【図１２】孤立領域検出部で検出された孤立領域が内接する矩形領域を設定したリアル頻度Ｕマップを示す図である。
【図１３】矩形領域に対応する走査範囲を設定した視差画像を示す図である。
【図１４】走査範囲を探索してオブジェクト領域を設定した視差画像を示す図である。
【図１５】視差画像の対応領域検出部及びオブジェクト領域抽出部で行われる処理の流れを示すフローチャートである。
【図１６】オブジェクトタイプの分類を行うためのテーブルデータの一例を示す図である。
【図１７】オブジェクトデータリストのデータ項目の一例を示す説明図である。
【図１８】オブジェクトの追跡状態の状態遷移の一例を示す図である。
【図１９】オブジェクトトラッキング処理のフローチャートである。
【図２０】Ｃａｎｄｉｄａｔｅ処理のフローチャートである。
【図２１】トラッキング処理のフローチャートである。
【図２２】推定トラッキング処理のフローチャートである。
【図２３】推定トラッキング処理の変形例のフローチャートである。
【図２４】オブジェクトの相対速度を算出する処理について説明する図である。
【図２５Ａ】予測位置の候補について説明する図である。
【図２５Ｂ】予測位置の候補について説明する図である。
【図２６Ａ】複数の予測位置に対応する各領域を算出する処理について説明する図である。
【図２６Ｂ】複数の予測位置に対応する各領域を算出する処理について説明する図である。
【図２７】第２の実施形態に係るトラッキング処理の一例を示すフローチャートである。
【図２８Ａ】第２の実施形態に係るトラッキング処理を説明する図である。
【図２８Ｂ】第２の実施形態に係るトラッキング処理を説明する図である。
【図２８Ｃ】第２の実施形態に係るトラッキング処理を説明する図である。
【発明を実施するための形態】
【００１２】
以下、実施形態に係る画像処理装置を有する移動体機器制御システムについて説明する。
【００１３】
［第１の実施形態］
〈車載機器制御システムの構成〉
図１は、本発明の実施形態に係る移動体機器制御システムとしての車載機器制御システムの構成を示す図である。
【００１４】
この車載機器制御システム１は、移動体である自動車などの自車両１００に搭載されており、撮像ユニット１０１、画像解析ユニット１０２、表示モニタ１０３、及び車両走行制御ユニット１０４からなる。そして、撮像ユニット１０１で、移動体の前方を撮像した自車両進行方向前方領域（撮像領域）の複数の撮像画像データ（フレーム）から、自車両前方の物体を検知して追跡し、その追跡結果を利用して移動体や各種車載機器の制御を行う。移動体の制御には、例えば、警告の報知、自車両１００（自移動体）のハンドルの制御、または自車両１００（自移動体）のブレーキが含まれる。
【００１５】
撮像ユニット１０１は、例えば、自車両１００のフロントガラス１０５のルームミラー（図示せず）付近に設置される。撮像ユニット１０１の撮像によって得られる撮像画像データ等の各種データは、画像処理手段としての画像解析ユニット１０２に入力される。
【００１６】
画像解析ユニット１０２は、撮像ユニット１０１から送信されてくるデータを解析して、自車両１００が走行している路面部分（自車両の真下に位置する路面部分）に対する自車両前方の走行路面上の各地点における相対的な高さ（位置情報）を検出し、自車両前方の走行路面の３次元形状を把握する。また、自車両前方の他車両、歩行者、各種障害物などの認識対象物を認識する。
【００１７】
画像解析ユニット１０２の解析結果は、表示モニタ１０３及び車両走行制御ユニット１０４に送られる。表示モニタ１０３は、撮像ユニット１０１で得られた撮像画像データ及び解析結果を表示する。なお、表示モニタ１０３を備えなくてもよい。車両走行制御ユニット１０４は、画像解析ユニット１０２による自車両前方の他車両、歩行者、各種障害物などの認識対象物の認識結果に基づいて、例えば、自車両１００の運転者へ警告を報知したり、自車両のハンドルやブレーキを制御するなどの走行支援制御を行う。
【００１８】
〈撮像ユニット１０１及び画像解析ユニット１０２の構成〉
図２は、撮像ユニット１０１及び画像解析ユニット１０２の構成を示す図である。
【００１９】
撮像ユニット１０１は、撮像手段としての２つの撮像部１１０ａ，１１０ｂを備えたステレオカメラで構成されており、２つの撮像部１１０ａ，１１０ｂは同一のものである。各撮像部１１０ａ，１１０ｂは、それぞれ、撮像レンズ１１１ａ，１１１ｂと、受光素子が２次元配置された画像センサ１１３ａ，１１３ｂを含んだセンサ基板１１４ａ，１１４ｂと、センサ基板１１４ａ，１１４ｂから出力されるアナログ電気信号（画像センサ１１３ａ，１１３ｂ上の各受光素子が受光した受光量に対応する電気信号）をデジタル電気信号に変換した撮像画像データを生成して出力する信号処理部１１５ａ，１１５ｂとから構成されている。撮像ユニット１０１からは、輝度画像データと視差画像データが出力される。
【００２０】
また、撮像ユニット１０１は、ＦＰＧＡ（Field-Programmable Gate Array）等からなる処理ハードウェア部１２０を備えている。この処理ハードウェア部１２０は、各撮像部１１０ａ，１１０ｂから出力される輝度画像データから視差画像を得るために、各撮像部１１０ａ，１１０ｂでそれぞれ撮像した撮像画像間の対応画像部分の視差値を演算する視差画像情報生成手段としての視差演算部１２１を備えている。
【００２１】
ここでいう視差値とは、各撮像部１１０ａ，１１０ｂでそれぞれ撮像した撮像画像の一方を基準画像、他方を比較画像とし、撮像領域内の同一地点に対応した基準画像上の画像部分に対する比較画像上の画像部分の位置ズレ量を、当該画像部分の視差値として算出したものである。三角測量の原理を利用することで、この視差値から当該画像部分に対応した撮像領域内の当該同一地点までの距離を算出することができる。
【００２２】
図３は、三角測量の原理を利用することで視差値から距離を算出する原理を説明するための図である。図において、ｆは撮像レンズ１１１ａ，１１１ｂのそれぞれの焦点距離であり、Ｄは光軸間の距離である。また、Ｚは撮像レンズ１１１ａ，１１１ｂから被写体３０１までの距離（光軸に平行な方向の距離）である。この図において、被写体３０１上にある点Ｏに対する左右画像での結像位置は、結像中心からの距離がそれぞれΔ１とΔ２となる。このときの視差値ｄは、ｄ＝Δ１＋Δ２と規定することができる。
【００２３】
図２の説明に戻る。画像解析ユニット１０２は、画像処理基板等から構成され、撮像ユニット１０１から出力される輝度画像データ及び視差画像データを記憶するＲＡＭやＲＯＭ等で構成される記憶手段１２２と、識別対象の認識処理や視差計算制御などを行うためのコンピュータプログラムを実行するＣＰＵ（Central Processing Unit）１２３と、データＩ／Ｆ（インタフェース）１２４と、シリアルＩ／Ｆ１２５を備えている。
【００２４】
処理ハードウェア部１２０を構成するＦＰＧＡは、画像データに対してリアルタイム性が要求される処理、例えばガンマ補正、ゆがみ補正（左右の撮像画像の平行化）、ブロックマッチングによる視差演算を行って視差画像の情報を生成し、画像解析ユニット１０２のＲＡＭに書き出す処理などを行う。画像解析ユニット１０２のＣＰＵは、各撮像部１１０Ａ，１１０Ｂの画像センサコントローラの制御および画像処理基板の全体的な制御を担うとともに、路面の３次元形状の検出処理、ガードレールその他の各種オブジェクト（物体）の検出処理などを実行するプログラムをＲＯＭからロードして、ＲＡＭに蓄えられた輝度画像データや視差画像データを入力として各種処理を実行し、その処理結果をデータＩ／Ｆ１２４やシリアルＩ／Ｆ１２５から外部へと出力する。このような処理の実行に際し、データＩ／Ｆ１２４を利用して、自車両１００の車速、加速度（主に自車両前後方向に生じる加速度）、操舵角、ヨーレートなどの車両動作情報を入力し、各種処理のパラメータとして使用することもできる。外部に出力されるデータは、自車両１００の各種機器の制御（ブレーキ制御、車速制御、警告制御など）を行うための入力データとして使用される。
【００２５】
なお、撮像ユニット１０１及び画像解析ユニット１０２は、一体の装置である撮像装置２として構成してもよい。
【００２６】
〈物体検出処理〉
図４は、図２における処理ハードウェア部１２０及び画像解析ユニット１０２で実現される物体検出処理を行う機能ブロック図である。以下、本実施形態における物体検出処理について説明する。
【００２７】
ステレオカメラを構成する２つの撮像部１１０ａ，１１０ｂからは輝度画像データが出力される。このとき、撮像部１１０ａ，１１０ｂがカラーの場合には、そのＲＧＢ信号から輝度信号（Ｙ）を得るカラー輝度変換を、例えば下記の式〔１〕を用いて行う。
【００２８】
Ｙ＝０．３Ｒ＋０．５９Ｇ＋０．１１Ｂ  …式〔１〕
《平行化画像生成処理》
輝度画像データに対して、まず、平行化画像生成部１３１で平行化画像生成処理が実行される。この平行化画像生成処理は、撮像部１１０ａ，１１０ｂにおける光学系の歪みや左右の撮像部１１０ａ，１１０ｂの相対的な位置関係から、各撮像部１１０ａ，１１０ｂから出力される輝度画像データ（基準画像と比較画像）を、２つのピンホールカメラが平行に取り付けられたときに得られる理想的な平行化ステレオ画像となるように変換する。これは、各画素での歪み量を、Δｘ＝ｆ（ｘ，ｙ）、Δｙ＝ｇ（ｘ，ｙ）という多項式を用いて計算し、その計算結果を用いて、各撮像部１１０ａ，１１０ｂから出力される輝度画像データ（基準画像と比較画像）の各画素を変換する。多項式は、例えば、ｘ（画像の横方向位置）、ｙ（画像の縦方向位置）に関する４次多項式を用いる構成としてもよい。また、多項式を用いて各画素での歪み量を計算する代わりに、各画素での歪み量が予め設定されたテーブルを用いて決定する構成としてもよい。
【００２９】
《視差画像生成処理》
このようにして平行化画像処理を行った後、次に、視差演算部１２１によって構成される視差画像生成部１３２において、視差画像データ（視差画像情報）を生成する視差画像生成処理を行う。視差画像生成処理では、まず、２つの撮像部１１０ａ，１１０ｂのうちの一方の撮像部１１０ａの輝度画像データを基準画像データとし、他方の撮像部１１０ｂの輝度画像データを比較画像データとし、これらを用いて両者の視差を演算して、視差画像データを生成して出力する。この視差画像データは、基準画像データ上の各画像部分について算出される視差値ｄに応じた画素値をそれぞれの画像部分の画素値として表した視差画像を示すものである。
【００３０】
具体的には、視差画像生成部１３２は、基準画像データのある行について、一つの注目画素を中心とした複数画素（例えば１６画素×１画素）からなるブロックを定義する。一方、比較画像データにおける同じ行において、定義した基準画像データのブロックと同じサイズのブロックを１画素ずつ横ライン方向（ｘ方向）へずらし、基準画像データにおいて定義したブロックの画素値の特徴を示す特徴量と比較画像データにおける各ブロックの画素値の特徴を示す特徴量との相関を示す相関値を、それぞれ算出する。そして、算出した相関値に基づき、比較画像データにおける各ブロックの中で最も基準画像データのブロックと相関があった比較画像データのブロックを選定するマッチング処理を行う。その後、基準画像データのブロックの注目画素と、マッチング処理で選定された比較画像データのブロックの対応画素との位置ズレ量を視差値ｄとして算出する。このような視差値ｄを算出する処理を基準画像データの全域又は特定の一領域について行うことで、視差画像データを得ることができる。
【００３１】
マッチング処理に用いるブロックの特徴量としては、例えば、ブロック内の各画素の値（輝度値）を用いることができ、相関値としては、例えば、基準画像データのブロック内の各画素の値（輝度値）と、これらの画素にそれぞれ対応する比較画像データのブロック内の各画素の値（輝度値）との差分の絶対値の総和を用いることができる。この場合、当該総和が最も小さくなるブロックが最も相関があると言える。
【００３２】
視差画像生成部１３２でのマッチング処理をハードウェア処理によって実現する場合には、例えばＳＳＤ（Sum of Squared Difference）、ＺＳＳＤ（Zero-mean Sum of Squared Difference）、ＳＡＤ（Sum of Absolute Difference）、ＺＳＡＤ（Zero-mean Sum of Absolute Difference）、ＮＣＣ（Normalized cross correlation）などの方法を用いることができる。なお、マッチング処理では画素単位での視差値しか算出できないので、１画素未満のサブピクセルレベルの視差値が必要な場合には推定値を用いる必要がある。その推定方法としては、例えば、等角直線方式、二次曲線方式等を利用することができる。
【００３３】
《視差画像補間処理》
視差画像生成処理を行ったら、次に画像解析ユニット１０２によって構成される視差補間部１３３において、視差画像補間処理を行う。
【００３４】
視差値ｄは水平方向の位置ズレの度合いなので、撮像画像３１０の水平エッジ部分や輝度変化の少ない部分では視差が計算できないため、車両を一つのオブジェクトとして認識できなくなる。そこで、視差補間部１３３では、例えば、視差画像の２点間の距離が所定の長さより短く、２点間に他の視差値が存在しない場合などの所定の条件を満たした場合に、２点間を補間する。
【００３５】
《Ｖマップ生成処理》
視差画像補間処理を行ったら、次に、Ｖマップ生成部１３４において、Ｖマップを生成するＶマップ生成処理を実行する。視差画像データに含まれる各視差画素データは、ｘ方向位置とｙ方向位置と視差値ｄとの組（ｘ，ｙ，ｄ）で示される。これを、Ｘ軸にｄ、Ｙ軸にｙ、Ｚ軸に頻度ｆを設定した三次元座標情報（ｄ，ｙ，ｆ）に変換したもの、又はこの三次元座標情報（ｄ，ｙ，ｆ）から所定の頻度閾値を超える情報に限定した三次元座標情報（ｄ，ｙ，ｆ）を、視差ヒストグラム情報として生成する。本実施形態の視差ヒストグラム情報は、三次元座標情報（ｄ，ｙ，ｆ）からなり、この三次元ヒストグラム情報をＸ−Ｙの２次元座標系に分布させたものを、Ｖマップ（視差ヒストグラムマップ、V-disparity map）と呼ぶ。
【００３６】
具体的に説明すると、Ｖマップ生成部１３４は、画像を上下方向に複数分割して得られる視差画像データの各行領域について、視差値頻度分布を計算する。この視差値頻度分布を示す情報が視差ヒストグラム情報である。
【００３７】
図５は視差画像データ、及びその視差画像データから生成されるＶマップについて説明するための図である。ここで、図５Ａは視差画像の視差値分布の一例を示す図であり、図５Ｂは、図５Ａの視差画像の行毎の視差値頻度分布を示すＶマップを示す図である。
【００３８】
図５Ａに示すような視差値分布をもった視差画像データが入力されたとき、Ｖマップ生成部１３４は、行毎の各視差値のデータの個数の分布である視差値頻度分布を計算し、これを視差ヒストグラム情報として出力する。このようにして得られる各行の視差値頻度分布の情報を、Ｙ軸に視差画像上のｙ方向位置（撮像画像の上下方向位置）をとりＸ軸に視差値をとった二次元直交座標系上に表すことで、図５Ｂに示すようなＶマップを得ることができる。このＶマップは、頻度ｆに応じた画素値をもつ画素が前記二次元直交座標系上に分布した画像として表現することもできる。
【００３９】
図６は、一方の撮像部で撮像された基準画像としての撮影画像の画像例と、その撮影画像に対応するＶマップを示す図である。ここで、図６Ａが撮影画像であり、図６ＢがＶマップである。即ち、図６Ａに示すような撮影画像から図６Ｂに示すＶマップが生成される。Ｖマップでは、路面より下の領域には視差は検出されないので、斜線で示した領域Ａで視差がカウントされることはない。
【００４０】
図６Ａに示す画像例では、自車両が走行している路面４０１と、自車両の前方に存在する先行車両４０２と、路外に存在する電柱４０３が映し出されている。また、図６Ｂに示すＶマップには、画像例に対応して、路面５０１、先行車両５０２、及び電柱５０３がある。
【００４１】
この画像例は、自車両の前方路面が相対的に平坦な路面、即ち、自車両の前方路面が自車両の真下の路面部分と平行な面を自車両前方へ延長して得られる仮想の基準路面（仮想基準移動面）に一致している場合のものである。この場合、画像の下部に対応するＶマップの下部において、高頻度の点は、画像上方へ向かうほど視差値ｄが小さくなるような傾きをもった略直線状に分布する。このような分布を示す画素は、視差画像上の各行においてほぼ同一距離に存在していてかつ最も占有率が高く、しかも画像上方へ向かうほど距離が連続的に遠くなる識別対象物を映し出した画素であると言える。
【００４２】
撮像部１１０ａでは自車両前方領域を撮像するため、その撮像画像の内容は、図６Ａに示すように、画像上方へ向かうほど路面の視差値ｄは小さくなる。また、同じ行（横ライン）内において、路面を映し出す画素はほぼ同じ視差値ｄを持つことになる。従って、Ｖマップ上において上述した略直線状に分布する高頻度の点は、路面（移動面）を映し出す画素が持つ特徴に対応したものである。よって、Ｖマップ上における高頻度の点を直線近似して得られる近似直線上又はその近傍に分布する点の画素は、高い精度で、路面を映し出している画素であると推定することができる。また、各画素に映し出されている路面部分までの距離は、当該近似直線上の対応点の視差値ｄから高精度に求めることができる。
【００４３】
《路面形状検出処理》
次に、本実施形態では、Ｖマップ生成部１３４が生成したＶマップの情報（視差ヒストグラム情報）から、路面形状検出部１３５において、自車両１００の前方路面の３次元形状を検出する路面形状検出処理が実行される。
【００４４】
図５Ａに示す画像例では、自車両１００が走行している路面４０１と、自車両１００の前方に存在する先行車両４０２と、路外に存在する電柱４０３が映し出されている。この画像例は、自車両１００の前方路面が相対的に平坦な路面、すなわち、自車両１００の前方路面が自車両１００の真下の路面部分と平行な面を自車前方へ延長して得られる仮想の基準路面（仮想基準移動面）に一致している場合のものである。この場合、画像の下部に対応するＶマップの下部において、高頻度の点（路面５０１）は、画像上方へ向かうほど視差値ｄが小さくなるような傾きをもった略直線状に分布する。このような分布を示す画素は、視差画像上の各行においてほぼ同一距離に存在していてかつ最も占有率が高く、しかも画像上方へ向かうほど距離が連続的に遠くなる検出対象物を映し出した画素であると言える。
【００４５】
撮像部１１０Ａでは自車前方領域を撮像するため、その撮像画像の内容は、図６Ｂに示すように、画像上方へ向かうほど路面の視差値ｄは小さくなる。また、同じ行（横ライン）内において、路面を映し出す画素はほぼ同じ視差値ｄを持つことになる。したがって、Ｖマップ上において上述した略直線状に分布する高頻度の点（路面５０１）は、路面（移動面）を映し出す画素が持つ特徴に対応したものである。よって、Ｖマップ上における高頻度の点を直線近似して得られる近似直線上又はその近傍に分布する点の画素は、高い精度で、路面を映し出している画素であると推定することができる。また、各画素に映し出されている路面部分までの距離は、当該近似直線上の対応点の視差値ｄから高精度に求めることができる。
【００４６】
《路面高さテーブル算出処理》
次に、路面高さテーブル算出部１３６において、路面高さ（自車の真下の路面部分に対する相対的な高さ）を算出してテーブル化する路面高さテーブル算出処理を行う。路面形状検出部１３５により生成されたＶマップ上の近似直線の情報から、撮像画像上の各行領域（画像上下方向の各位置）に映し出されている各路面部分までの距離を算出できる。一方、自車の真下に位置する路面部分をその面に平行となるように自車進行方向前方へ延長した仮想平面の自車進行方向における各面部分が、撮像画像中のどの各行領域に映し出されるかは予め決まっており、この仮想平面（基準路面）はＶマップ上で直線（基準直線）により表される。路面形状検出部１３５から出力される近似直線を基準直線と比較することで、自車前方の各路面部分の高さを得ることができる。簡易的には、路面形状検出部１３５から出力される近似直線上のＹ軸位置から、これに対応する視差値から求められる距離だけ自車前方に存在する路面部分の高さを算出できる。路面高さテーブル算出部１３６では、近似直線から得られる各路面部分の高さを、必要な視差範囲についてテーブル化する。
【００４７】
なお、ある視差値ｄにおいてＹ軸位置がｙ'である地点に対応する撮像画像部分に映し出されている物体の路面からの高さは、当該視差値ｄにおける近似直線上のＹ軸位置をｙ０としたとき、（ｙ'−ｙ０）から算出することができる。一般に、Ｖマップ上における座標（ｄ，ｙ'）に対応する物体についての路面からの高さＨは、下記の式（２）より算出することができる。ただし、下記の式（２）において、「ｚ」は、視差値ｄから計算される距離（ｚ＝ＢＦ／（ｄ−ｏｆｆｓｅｔ））であり、「ｆ」はカメラの焦点距離を（ｙ'−ｙ０）の単位と同じ単位に変換した値である。ここで、「ＢＦ」は、ステレオカメラの基線長と焦点距離を乗じた値であり、「ｏｆｆｓｅｔ」は無限遠の物体を撮影したときの視差値である。
【００４８】
Ｈ  ＝  ｚ×（ｙ'−ｙ０）／ｆ  ・・・（２）
《Ｕマップ生成処理》
次に、Ｕマップ生成部１３７は、Ｕマップ（U-disparity map）を生成するＵマップ生成処理として、頻度Ｕマップ生成処理及び高さＵマップ生成処理を実行する。
【００４９】
頻度Ｕマップ生成処理では、視差画像データに含まれる各視差画素データにおけるｘ方向位置とｙ方向位置と視差値ｄとの組（ｘ，ｙ，ｄ）を、Ｘ軸にｘ、Ｙ軸にｄ、Ｚ軸に頻度を設定し、Ｘ−Ｙの２次元ヒストグラム情報を作成する。これを頻度Ｕマップと呼ぶ。本実施形態のＵマップ生成部１３７では、路面高さテーブル算出部１３６によってテーブル化された各路面部分の高さに基づいて、路面からの高さＨが所定の高さ範囲（たとえば２０ｃｍから３ｍ）にある視差画像の点（ｘ，ｙ，ｄ）についてだけ頻度Ｕマップを作成する。この場合、路面から当該所定の高さ範囲に存在する物体を適切に抽出することができる。
【００５０】
また、高さＵマップ生成処理では、視差画像データに含まれる各視差画素データにおけるｘ方向位置とｙ方向位置と視差値ｄとの組（ｘ，ｙ，ｄ）を、Ｘ軸にｘ、Ｙ軸にｄ、Ｚ軸に路面からの高さを設定して、Ｘ−Ｙの２次元ヒストグラム情報を作成する。これを高さＵマップと呼ぶ。このときの高さの値は路面からの高さが最高のものである。
【００５１】
図７は、撮像部１１０ａで撮像される基準画像の一例を模式的に表した画像例であり、図８は、図７の画像例に対応するＵマップである。ここで、図８Ａは頻度Ｕマップであり、図８Ｂは高さＵマップである。
【００５２】
図７に示す画像例では、路面の左右両側にガードレール４１３，４１４が存在し、他車両としては、先行車両４１１と対向車両４１２がそれぞれ１台ずつ存在する。このとき、頻度Ｕマップにおいては、図８Ａに示すように、左右のガードレール４１３，４１４に対応する高頻度の点は、左右両端側から中央に向かって上方へ延びるような略直線状６０３，６０４に分布する。一方、先行車両４１１と対向車両４１２に対応する高頻度の点は、左右のガードレールの間で、略Ｘ軸方向に平行に延びる線分の状態６０１，６０２で分布する。なお、先行車両４１１の背面部分又は対向車両４１２の前面部分以外に、これらの車両の側面部分が映し出されているような状況にあっては、同じ他車両を映し出している画像領域内において視差が生じる。このような場合、図８Ａに示すように、他車両に対応する高頻度の点は、略Ｘ軸方向に平行に延びる線分と略Ｘ軸方向に対して傾斜した線分とが連結した状態の分布を示す。
【００５３】
また、高さＵマップにおいては、左右のガードレール４１３，４１４、先行車両４１１、及び対向車両４１２における路面からの高さが最高の点が頻度Ｕマップと同様に分布する。ここで、先行車両に対応する点の分布７０１及び対向車両に対応する点の分布７０２の高さはガードレールに対応する点の分布７０３，７０４よりも高くなる。これにより、高さＵマップにおける物体の高さ情報を物体検出に利用することができる。
【００５４】
《リアルＵマップ生成処理》
次に、リアルＵマップ生成部１３８について説明する。リアルＵマップ生成部１３８では、リアルＵマップ（Real U-disparity map）（「分布データ」の一例）を生成するＵマップ生成処理として、リアル頻度Ｕマップ生成処理及びリアル高さＵマップ生成処理を実行する。
【００５５】
リアルＵマップは、Ｕマップにおける横軸を画像の画素単位から実際の距離に変換し、縦軸の視差値を距離に応じた間引き率を有する間引き視差に変換したものである。
【００５６】
リアルＵマップ生成部１３８は、リアル頻度Ｕマップ生成処理において、視差画像データに含まれる各視差画素データにおけるｘ方向位置とｙ方向位置と視差値ｄとの組（ｘ，ｙ，ｄ）を、Ｘ軸に水平方向の実際の距離、Ｙ軸に間引き視差、Ｚ軸に頻度を設定して、Ｘ−Ｙの２次元ヒストグラム情報を作成する。なお、本実施形態のリアルＵマップ生成部１３８は、Ｕマップ生成部１３７と同様に、路面高さテーブル算出部１３６によってテーブル化された各路面部分の高さに基づいて、路面からの高さＨが所定の高さ範囲にある視差画像の点（ｘ，ｙ，ｄ）についてだけリアル頻度Ｕマップを作成する。なお、リアルＵマップ生成部１３８は、Ｕマップ生成部１３７が生成したＵマップに基づいて、リアルＵマップを生成する構成としてもよい。
【００５７】
図９は、図８Ａに示す頻度Ｕマップに対応するリアルＵマップ（以下、リアル頻度Ｕマップ）を示す図である。図示のように、左右のガードレールは垂直の線状のパターン８０３，８０４で表され、先行車両、対向車両も実際の形に近いパターン８０１、８０２で表される。
【００５８】
縦軸の間引き視差は、遠距離（ここでは５０ｍ以上）については間引きなし、中距離（２０ｍ以上、５０ｍ未満）については１／２に間引き、近距離（１０ｍ以上、２０ｍ未満）については１／３に間引き、近距離（１０ｍ以上、２０ｍ未満）については１／８に間引いたものである。
【００５９】
つまり、遠方ほど、間引く量を少なくしている。その理由は、遠方では物体が小さく写るため、視差データが少なく、距離分解能も小さいので間引きを少なくし、逆に近距離では、物体が大きく写るため、視差データが多く、距離分解能も大きいので間引きを多くする。
【００６０】
横軸を画像の画素単位から実際の距離へ変換する方法、Ｕマップの（ｘ，ｄ）からリアルＵマップの（Ｘ，ｄ）を求める方法の一例について図１０を用いて説明する。
【００６１】
カメラから見て左右１０ｍずつ、即ち２０ｍの幅をオブジェクト検出範囲として設定する。リアルＵマップの横方向１画素の幅を１０ｃｍとすると、リアルＵマップの横方向サイズは２００画素となる。
【００６２】
カメラの焦点距離をｆ、カメラ中心からのセンサの横方向の位置をｐ、カメラから被写体までの距離をＺ、カメラ中心から被写体までの横方向の位置をＸとする。センサの画素サイズをｓとすると、ｘとｐの関係は「ｘ＝ｐ／ｓ」で表される。また、ステレオカメラの特性から、「Ｚ＝Ｂｆ／ｄ」の関係がある。
【００６３】
また、図より、「ｘ＝ｐ＊Ｚ／ｆ」の関係があるから、「Ｘ＝ｓｘＢ／ｄ」で表すことができる。Ｘは実距離であるが、リアルＵマップ上での横方向１画素の幅が１０ｃｍあるので、容易にＸのリアルＵマップ上での位置を計算することができる。
【００６４】
図８Ｂに示す高さＵマップに対応するリアルＵマップ（以下、リアル高さＵマップ）も同様の手順で作成することができる。
【００６５】
リアルＵマップには、縦横の長さをＵマップより小さくできるので処理が高速になるというメリットがある。また、横方向が距離に非依存になるため、遠方、近傍いずれでも同じ物体は同じ幅で検出することが可能になり、後段の周辺領域除去や、横分離、縦分離への処理分岐の判定（幅の閾値処理）が簡単になるというメリットもある。
【００６６】
Ｕマップにおける縦方向の長さは、測定可能な最短距離を何メートルにするかで決定される。つまり、「ｄ＝Ｂｆ／Ｚ」であるから、測定可能な最短のＺに応じて、ｄの最大値は決定される。また、視差値ｄはステレオ画像を扱うため、通常画素単位で計算されるが、少数を含むため、視差値に所定値を乗じて小数部分を四捨五入して整数化した視差値を使用する。
【００６７】
測定可能な最短のＺが１／２になると、ｄは２倍になるので，それだけＵマップのデータは巨大となる。そこで、リアルＵマップを作成するときには、近距離ほど画素を間引いてデータを圧縮し、Ｕマップよりもデータ量を削減する。
そのため、ラベリングによるオブジェクト検出を高速に行うことができる。
【００６８】
《孤立領域検出》
次に、孤立領域検出部１３９について説明する。図１１は、孤立領域検出部１３９で行う孤立領域検出処理の流れを示すフローチャートである。孤立領域検出部１３９では、まずリアルＵマップ生成部１３８で生成されたリアル頻度Ｕマップの情報の平滑化を行う（ステップＳ１１１）。
【００６９】
これは、頻度値を平均化することで、有効な孤立領域を検出しやすくするためである。即ち、視差値には計算誤差等もあって分散があり、かつ、視差値がすべての画素について計算されているわけではないので、リアルＵマップは図９に示した模式図とは異なり、ノイズを含んでいる。そこで、ノイズを除去するためと、検出したいオブジェクトを分離しやすくするため、リアルＵマップを平滑化する。これは画像の平滑化と同様に、平滑化フィルタ(例えば３×３画素の単純平均)をリアルＵマップの頻度値（リアル頻度Ｕマップ）に対して適用することで、ノイズと考えられるような頻度は減少し、オブジェクトの部分では頻度が周囲より高い、まとまったグループとなり、後段の孤立領域検出処理を容易にする効果がある。
【００７０】
次に、二値化の閾値を設定する（ステップＳ１１２）。最初は小さい値（＝０）を用いて、平滑化されたリアルＵマップの二値化を行う（ステップＳ１１３）。その後、値のある座標のラベリングを行って、孤立領域を検出する（ステップＳ１１４）。
【００７１】
この二つのステップでは、リアル頻度Ｕマップで頻度が周囲より高い孤立領域(島と呼ぶことにする)を検出する。検出には、リアル頻度Ｕマップをまず二値化する（ステップＳ１１３）。最初は閾値０で二値化を行う。これは、オブジェクトの高さや、その形状、路面視差との分離などがあるため、島は孤立しているものもあれば他の島と連結しているものもあることの対策である。即ち、小さい閾値からリアル頻度Ｕマップを二値化することで最初は孤立した適切な大きさの島を検出し、その後、閾値を増加させていくことで連結している島を分離し、孤立した適切な大きさの島として検出することを可能にしたものである。
【００７２】
二値化後の島を検出する方法はラベリングを用いる（ステップＳ１１４）。二値化後の黒である座標(頻度値が二値化閾値より高い座標)をその連結性に基づいてラベリングして、同一ラベルが付いた領域を島とする。
【００７３】
検出された複数の孤立領域についてそれぞれ大きさの判定を行う（ステップＳ１１５）。これは、検出対象が歩行者から大型自動車であるため、孤立領域の幅がそのサイズの範囲であるか否かを判定するのである。もし、その大きさが大きければ（ステップＳ１１５：YES）、二値化閾値を１だけインクリメントして（ステップＳ１１２）、リアル頻度Ｕマップの当該孤立領域内だけ二値化を行う（ステップＳ１１３）。そしてラベリングを行い、より小さな孤立領域を検出して（ステップＳ１１４）、その大きさを判定する（ステップＳ１１５）。
【００７４】
上記の閾値設定からラベリングの処理を繰り返し行い、所望の大きさの孤立領域を検出するのである。所望の大きさの孤立領域が検出できたなら（ステップＳ１１５：NO）、次に周辺領域除去を行う（ステップＳ１１６）。これは、遠方にある物体で、路面検出の精度が悪く、路面の視差がリアルＵマップ内に導入され、物体と路面の視差が一塊になって検出された場合のその左右、近傍の高さが路面に近い部分の領域（孤立領域内の周辺部分）を削除する処理である。除去領域が存在する場合は（ステップＳ１１７：YES）、もう一度ラベリングを行って孤立領域の再設定を行う（ステップＳ１１４）。
【００７５】
除去領域がなくなったら（ステップＳ１１７：NO）、周辺領域除去を行った孤立領域の大きさ(幅と高さ、距離)を判定し（ステップＳ１１８）、その結果に応じて、横方向分離（ステップＳ１１９）又は縦方向分離（ステップＳ１２０）又は何もしないでオブジェクト候補として登録する。横方向分離又は縦方向分離を行った場合は（ステップＳ１２１：YES、ステップＳ１２２：YES）、もう一度ラベリングを行って孤立領域の再設定を行う（ステップＳ１１４）。
【００７６】
物体同士が横に並んで近接している(自動車とバイク、自動車と歩行者、自動車同士など)場合、リアル頻度Ｕマップの平滑化が原因で一つの孤立領域として検出されることがある。或いは視差画像の視差補間の悪影響で異なる物体同士の視差がつながってしまうことがある。横方向分離はこのようなケースを検出して分離する処理である（詳細については後述）。
【００７７】
また、複数の先行車両が隣の車線を走行しているときに、それらが遠方にいる場合、ステレオ画像から得られる視差の分散が大きい場合、リアル頻度Ｕマップ上では物体それぞれの視差値が上下に伸び、連結してしまうことがある。このため、これを一つの孤立領域として検出してしまう場合がある。縦方向分離はこのようなケースを検出して、手前を走る先行車両とその向こうを走る先行車両とに分離する処理である（詳細については後述）。
【００７８】
《視差画像の対応領域検出、及びオブジェクト領域抽出》
次に、視差画像の対応領域検出部１４０及びオブジェクト領域抽出部１４１について説明する。図１２は、孤立領域検出部で検出された孤立領域が内接する矩形領域を設定したリアル頻度Ｕマップを示す図であり、図１３は、図１２における矩形領域に対応する走査範囲を設定した視差画像を示す図であり、図１４は、図１３における走査範囲を探索してオブジェクト領域を設定した視差画像を示す図である。
【００７９】
孤立領域検出部１３９によりオブジェクト候補領域として決定された孤立領域について、図１２に示すように、当該孤立領域としての第１車両８０１、第２車両８０２が内接する矩形領域として第１検出島８１１及び第２検出島８１２を設定したとき、この矩形領域の幅（Ｕマップ上のＸ軸方向長さ）は、当該孤立領域に対応する識別対象物（オブジェクト）の幅に対応する。また、設定した矩形領域の高さは、当該孤立領域に対応する識別対象物（オブジェクト）の奥行き（自車両進行方向長さ）に対応している。一方で、各孤立領域に対応する識別対象物（オブジェクト）の高さについては、この段階では不明である。視差画像の対応領域検出部１４０は、オブジェクト候補領域に係る孤立領域に対応したオブジェクトの高さを得るために、当該孤立領域に対応する視差画像上の対応領域を検出する。
【００８０】
視差画像の対応領域検出部１４０は、孤立領域検出部１３９から出力される孤立領域の情報に基づき、リアルＵマップから検出した第１検出島８１１及び第２検出島８１２島の位置、幅と最小視差から、図１３に示す視差画像で検出すべき範囲である第１検出島対応領域走査範囲４８１及び第２検出島対応領域走査範囲４８２のｘ方向範囲（ｘmin，ｘmax)を決定できる。また、視差画像においてオブジェクトの高さと位置(ｙmin="最大視差ｄmaxの時の路面からの最大高さに相当するｙ座標"からｙmax="最大視差ｄmaxから得られる路面の高さを示すｙ"まで)を決定できる。
【００８１】
次に、オブジェクトの正確な位置を検出するため、設定した走査範囲を走査し、孤立領域検出部１３９で検出した矩形の奥行き(最小視差ｄmin,最大視差ｄmax)の範囲の値を視差にもつ画素を候補画素として抽出する。そして、抽出した候補画素群の中で検出幅に対して横方向に所定の割合以上あるラインを候補ラインとする。
【００８２】
次に、縦方向に走査して、ある注目しているオブジェクト候補ラインの周囲に他のオブジェクト候補ラインが所定の密度以上ある場合には、その注目しているオブジェクト候補ラインをオブジェクトラインとして判定する。
【００８３】
次に、オブジェクト領域抽出部１４１は、視差画像の探索領域でオブジェクトラインを探索して、オブジェクトラインの最下端、最上端を決定し、図１４に示すように、オブジェクトライン群の外接矩形４６１，４６２を視差画像におけるオブジェクト（第１車両、第２車両）の領域４５１，４５２として決定する。
【００８４】
図１５は、視差画像の対応領域検出部１４０及びオブジェクト領域抽出部１４１で行われる処理の流れを示すフローチャートである。まずリアルＵマップにおける島の位置、幅と最小視差から、視差画像に対するｘ軸方向の探索範囲を設定する（ステップＳ１６１）。
【００８５】
次に島の最大視差ｄmaxと路面高さの関係から、視差画像に対するｙ軸方向の最大探索値ｙmaxを設定する（ステップＳ１６２）。次にリアル高さＵマップにおける島の最大高さ、及びステップＳ１７２で設定したymaxとdmaxとから、視差画像に対するｙ軸方向の最小探索値ｙminを求めて設定することで、視差画像に対するｙ軸方向の探索範囲を設定する（ステップＳ１６３）。
【００８６】
次いで設定した探索範囲で視差画像を探索して、島の最小視差ｄmin，最大視差ｄmaxの範囲内にある画素を抽出し、オブジェクト候補画素とする（ステップＳ１６４）。そのオブジェクト候補画素が横方向に一定以上の割合にあるとき、そのラインをオブジェクト候補ラインとして抽出する（ステップＳ１６５）。
【００８７】
オブジェクト候補ラインの密度を計算して、密度が所定の値より大きい場合はそのラインをオブジェクトラインと決定する（ステップＳ１６６）。最後にオブジェクトライン群の外接矩形を視差画像内のオブジェクト領域として検出する（ステップＳ１６７）。
【００８８】
それにより、識別対象物（オブジェクト、物体）を認識することができる。
【００８９】
《オブジェクトタイプ分類》
次に、オブジェクトタイプ分類部１４２について説明する。
【００９０】
前記オブジェクト領域抽出部１４１で抽出されるオブジェクト領域の高さ（ｙomax−ｙomin）から、下記の式〔５〕より、そのオブジェクト領域に対応する画像領域に映し出されている識別対象物（オブジェクト）の実際の高さＨｏを計算できる。ただし、「ｚo」は、当該オブジェクト領域内の最小視差値ｄから計算される当該オブジェクト領域に対応するオブジェクトと自車両との距離であり、「ｆ」はカメラの焦点距離を（ｙomax−ｙomin）の単位と同じ単位に変換した値である。
【００９１】
Ｈo＝ｚo×（ｙomax−ｙomin）／ｆ  …式〔５〕
同様に、オブジェクト領域抽出部１４１で抽出されるオブジェクト領域の幅（ｘomax−ｘomin）から、下記の式〔６〕より、そのオブジェクト領域に対応する画像領域に映し出されている識別対象物（オブジェクト）の実際の幅Ｗoを計算できる。
【００９２】
Ｗo＝ｚo×（ｘomax−ｘomin）／ｆ  …式〔６〕
また、当該オブジェクト領域に対応する画像領域に映し出されている識別対象物（オブジェクト）の奥行きＤoは、当該オブジェクト領域に対応した孤立領域内の最大視差ｄmaxと最小視差ｄminから、下記の式〔７〕より計算することができる。
【００９３】
Ｄo＝ＢＦ×｛（１／（ｄmin−offset）−１／（ｄmax−offset）｝  …式〔７〕
オブジェクトタイプ分類部１４２は、このようにして計算できるオブジェクト領域に対応するオブジェクトの高さ、幅、奥行きの情報から、そのオブジェクトタイプの分類を行う。図１６に示す表は、オブジェクトタイプの分類を行うためのテーブルデータの一例を示すものである。これによれば、自車両前方に存在する識別対象物（オブジェクト）が、歩行者なのか、自転車なのか、小型車なのか、トラックなどか等を区別して認識することが可能となる。
【００９４】
《３次元位置決定》
次に、３次元位置決定部１４３について説明する。検出されたオブジェクト領域に対応するオブジェクトまでの距離や、視差画像の画像中心と視差画像上のオブジェクト領域の中心との画像上の距離も把握されることから、オブジェクトの３次元位置を決定することができる。
【００９５】
視差画像上のオブジェクト領域の中心座標を（region_centerＸ，region_centerＹ）とし、視差画像の画像中心座標を（image_centerＸ，image_centerＹ）としたとき、識別対象物（オブジェクト）の撮像部１１０ａ，１１０ｂに対する相対的な横方向位置および高さ方向位置は、下記の式〔８〕及び式〔９〕より計算できる。
【００９６】
Ｘo＝Ｚ×（region_centerＸ−image_centerＸ）／ｆ  …式〔８〕
Ｙo＝Ｚ×（region_centerＹ−image_centerＹ）／ｆ  …式〔９〕
《オブジェクトデータリスト》
次に、オブジェクトトラッキング部１４４等が使用する、オブジェクトデータリスト１４６について説明する。オブジェクトデータリスト１４６は、例えば、オブジェクトデータリスト１４６により、一のフレームから検出された各オブジェクトを、それ以降の複数のフレームに渡って追跡するために使用される。
【００９７】
オブジェクトデータリスト１４６は、図１７に示すように、「オブジェクトデータ」、「オブジェクト予測データ」、「オブジェクト特徴量」、「トラッキングデータ」のデータを含む。
【００９８】
「オブジェクトデータ」は、「位置」、「大きさ」、「距離」、「相対速度」、「実位置」、「実際の大きさ」のデータを含む。「位置」は、視差画像における当該オブジェクトの左上の座標である。「大きさ」は、視差画像における当該オブジェクトの大きさ（幅、及び高さの画素数）である。「距離」は、自車両から当該オブジェクトまでの実距離である。「相対速度」は、前回と今回のフレームからそれぞれ生成された各リアルＵマップに基づいて算出された、自車両と当該オブジェクトとの相対速度である。「相対速度」は、自車両の進行方向Ｚ（奥行き方向）及び水平方向Ｘ（横方向）の１フレーム当たりの移動量（ｍ：メートル）のデータを含む。「実位置」は、今回のフレームに対するリアルＵマップに基づいて算出された、自車両に対する当該オブジェクトの相対的な実際の位置である。「実位置」は、例えば、当該オブジェクトの左端と右端の中心の、横方向Ｚの位置（ｍ：メートル）と奥行きＺ方向の位置（ｍ：メートル）のデータを含む。「実際の大きさ」は、今回のフレームに対するリアルＵマップ及びリアル高さＵマップに基づいて算出された、自車両に対する当該オブジェクトの実際の大きさである。「実際の大きさ」は、当該オブジェクトの幅（ｍ：メートル）と高さ（ｍ：メートル）のデータを含む。
【００９９】
「オブジェクト予測データ」は、「位置」、「大きさ」、「距離」、「相対速度」等のデータを含む。「オブジェクト予測データ」は、以前のフレーム（例えば直前のフレーム）に基づいて算出された、次回のフレームにおいて当該オブジェクトがどの位置にいるかを推測するデータである。
【０１００】
「オブジェクト特徴量」は、「ヒストグラムピーク位置」、「ピーク間距離」のデータを含む。「ヒストグラムピーク位置」は、リアルＵマップにおける視差頻度の値が比較的大きい位置の座標である。「ピーク間距離」は、リアルＵマップにおける「ヒストグラムピーク位置」間の実距離である。
【０１０１】
「トラッキングデータ」は、「検出フレーム数」、「未検出フレーム数」、「追跡状態」、「画像」のデータを含む。「検出フレーム数」、及び「未検出フレーム数」は、それぞれ、当該オブジェクトが何フレーム連続して検出されたか／何フレーム連続して検出されなかったかを示す値である。「追跡状態」は、当該オブジェクトのトラッキング（追跡）の継続性についての状態を示す。「追跡状態」は、「トラッキング」、「推定トラッキング」、「Ｃａｎｄｉｄａｔｅ」の３種類の状態を有する。「トラッキング」状態は、当該オブジェクトのトラッキングを安定して継続している状態である。「推定トラッキング」状態は、当該オブジェクトのトラッキングを継続して行っていないが、当該オブジェクトを再度「トラッキング」状態に遷移させるために、「オブジェクト予測データ」に基づいて当該オブジェクトの検出を試みている状態である。「Ｃａｎｄｉｄａｔｅ」状態は、当該オブジェクトをロストしたため、当該オブジェクトのトラッキングを継続して行っていないが、当該オブジェクトを再度「トラッキング」状態に遷移させるために、当該オブジェクトの安定的な検出を試みている状態である。「画像」は、「追跡状態」が「トラッキング」状態であった際の、視差画像における当該オブジェクトを含む領域の画像である。
【０１０２】
《オブジェクトトラッキング》
次に、オブジェクトトラッキング部１４４について説明する。オブジェクトトラッキング部１４４は、オブジェクトデータリスト１４６を用いて、以前（過去）のフレームの視差画像から検出されたオブジェクト（物体）をトラッキング（追跡）する処理を実行する。
【０１０３】
オブジェクトトラッキング部１４４は、位置予測部１４４１、及び追跡部１４４２を有する。
【０１０４】
位置予測部１４４１は、リアルＵマップ生成部１３８により生成された、以前の複数のフレームの視差画像に対するリアルＵマップに基づいて、今回のフレームの視差画像に対するリアルＵマップにおける各オブジェクトの予測位置を予測する。
【０１０５】
位置予測部１４４１は、以前（例えば前回）の視差画像に対するリアルＵマップにおけるオブジェクトの位置と、当該オブジェクトの自車両に対する相対速度に基づいて、複数の予測位置を予測し、複数の予測位置の各々に、所定の優先順位を付加する。
【０１０６】
追跡部１４４２は、以前のフレームの視差画像におけるオブジェクトの領域の視差画像と、位置予測部１４４１により予測された予測位置に対する今回のフレームの視差画像における領域の視差画像との類似度に基づいて、オブジェクトの追跡を継続する。
【０１０７】
追跡部１４４２は、位置予測部１４４１に付加された優先順位に従って、複数の予測位置のうちの一の予測位置を順に選択し、以前のフレームの視差画像におけるオブジェクトの領域と、当該選択した予測位置に対する今回のフレームの視差画像における領域との類似度が所定の閾値以上であれば、当該選択した予測位置に基づいて前記物体の追跡を継続する。
【０１０８】
追跡部１４４２は、予測位置と、今回のフレームの視差画像に対するリアルＵマップにおけるオブジェクトの位置との距離、または、予測位置に対する今回のフレームの視差画像における領域と、今回のフレームの視差画像におけるオブジェクトの領域とが重複する割合に基づいて当該オブジェクトを追跡し、当該追跡に失敗した場合、以前のフレームの視差画像における当該オブジェクト領域と、予測位置に対応する今回のフレームの視差画像における領域との類似度に基づいて、当該オブジェクトの追跡を継続する。
【０１０９】
以下で、オブジェクトトラッキング部１４４の処理例について説明する。
【０１１０】
オブジェクトトラッキング部１４４の追跡部１４４２は、オブジェクトの追跡の精度に関する状態を、「追跡状態」として管理する。図１８を参照し、「追跡状態」の状態遷移について説明する。図１８は、オブジェクトの追跡状態の状態遷移の一例を示す図である。
【０１１１】
まず、追跡部１４４２は、自車両から所定の範囲内に位置する等の所定の条件を満たすオブジェクトが検出されると、当該オブジェクトのデータをオブジェクトデータリスト１４６に保存し、「Ｃａｎｄｉｄａｔｅ」状態とする。
【０１１２】
そして、追跡部１４４２は、「Ｃａｎｄｉｄａｔｅ」状態で、当該オブジェクトが安定的に検出される等の所定の条件を満たす場合は、「トラッキング」状態に遷移させる。一方、「Ｃａｎｄｉｄａｔｅ」状態で、所定数のフレームで連続して検出されない等の所定の条件を満たす場合は、当該オブジェクトのデータを、オブジェクトデータリスト１４６から破棄する。
【０１１３】
追跡部１４４２は、「トラッキング」状態で、トラッキングを継続するための所定の条件を満たさない場合、「トラッキング」状態時の当該オブジェクトの画像と、今回のフレームにおいて当該オブジェクトが位置すると予測される予測位置の画像との類似度が高ければ、「推定トラッキング」状態に遷移させる。当該類似度が低ければ、「Ｃａｎｄｉｄａｔｅ」状態に遷移させる。
【０１１４】
追跡部１４４２は、「推定トラッキング状態」で、トラッキングを継続するための所定の条件を満たす場合、「トラッキング」状態に遷移させる。「推定トラッキング状態」で、所定数のフレームで連続してトラッキングを継続するための所定の条件を満たさない等の場合は、当該オブジェクトのデータを、オブジェクトデータリスト１４６から破棄する。
【０１１５】
次に、図１９を参照し、オブジェクトトラッキング部１４４が、視差画像から検出されたオブジェクトをトラッキングする処理について説明する。図１９は、オブジェクトトラッキング部１４４によるオブジェクトトラッキング処理のフローチャートである。
【０１１６】
オブジェクトトラッキング部１４４の追跡部１４４２は、ステレオカメラで撮像された一のフレームから検出されたオブジェクトのデータを取得する（ステップＳ１１０１）。
【０１１７】
追跡部１４４２は、当該オブジェクトに対応するデータがオブジェクトデータリスト１４６に格納されているか判断する（ステップＳ１１０２）。
【０１１８】
当該オブジェクトに対応するデータがオブジェクトデータリスト１４６に格納されていない場合（ステップＳ１１０２でＮＯ）、追跡部１４４２は、オブジェクトデータリスト１４６に、当該オブジェクトに対するオブジェクトデータを登録し（ステップＳ１１０３）、処理を終了する。
【０１１９】
当該オブジェクトに対応するデータがオブジェクトデータリスト１４６に格納されている場合（ステップＳ１１０２でＮＯ）、オブジェクトデータリスト１４６の当該オブジェクトに対するオブジェクトデータ、及びオブジェクト特徴量を更新し、追跡部１４４２は、オブジェクトデータリスト１４６の当該オブジェクトの「追跡状態」を判断する（ステップＳ１１０４）。
【０１２０】
「追跡状態」が「Ｃａｎｄｉｄａｔｅ」である場合（ステップＳ１１０４で「Ｃａｎｄｉｄａｔｅ」）、追跡部１４４２は、Ｃａｎｄｉｄａｔｅ処理を行い（ステップＳ１１０５）、処理を終了する。なお、Ｃａｎｄｉｄａｔｅ処理の詳細は後述する。
【０１２１】
「追跡状態」が「トラッキング」である場合（ステップＳ１１０４で「トラッキング」）、追跡部１４４２は、トラッキング処理を行い（ステップＳ１１０６）、処理を終了する。なお、トラッキング処理の詳細は後述する。
【０１２２】
「追跡状態」が「推定トラッキング」である場合（ステップＳ１１０４で「推定トラッキング」）、追跡部１４４２は、推定トラッキング処理を行い（ステップＳ１１０７）、処理を終了する。なお、推定トラッキング処理の詳細は後述する。
【０１２３】
次に、図２０を参照し、図１９のステップＳ１１０５の、「Ｃａｎｄｉｄａｔｅ」状態のオブジェクトをトラッキングする処理について説明する。図２０は、オブジェクトトラッキング部１４４によるＣａｎｄｉｄａｔｅ処理のフローチャートである。
【０１２４】
オブジェクトトラッキング部１４４の追跡部１４４２は、今回のフレームで検出されたオブジェクトが、安定条件を満たすか判断する（ステップＳ１２０１）。なお、安定条件は、例えば、前回のフレームにおける当該オブジェクトを含む領域（枠）と、今回のフレームにおける当該オブジェクトを含む領域が、縦横共に半分以上重なっていることを条件とする。
【０１２５】
安定条件を満たさない場合（ステップＳ１２０１でＮＯ）、オブジェクトデータリスト１４６の当該オブジェクトに対応する「未検出フレーム数」を１つ増加させ、「検出フレーム数」を「０」に更新する（ステップＳ１２０２）。
【０１２６】
追跡部１４４２は、「未検出フレーム数」が所定の閾値（例えば５）以上であるか判断し（ステップＳ１２０３）、「未検出フレーム数」が所定の閾値以上であれば（ステップＳ１２０３でＹＥＳ）、オブジェクトデータリスト１４６の当該オブジェクトに対応するデータを破棄し（ステップＳ１２０４）、処理を終了する。「未検出フレーム数」が所定の閾値以上でなければ（ステップＳ１２０３でＮＯ）、処理を終了する。
【０１２７】
安定条件を満たす場合（ステップＳ１２０１でＹＥＳ）、オブジェクトデータリスト１４６の当該オブジェクトに対応する「検出フレーム数」を１つ増加させ、「未検出フレーム数」を「０」に更新する（ステップＳ１２０５）。
【０１２８】
追跡部１４４２は、オブジェクトデータリスト１４６の当該オブジェクトが、「Ｃａｎｄｉｄａｔｅ」から「トラッキング」に移行するための所定の条件を満たすか判断する（ステップＳ１２０６）。
【０１２９】
なお、「Ｃａｎｄｉｄａｔｅ」から「トラッキング」に移行するための所定の条件は、例えば、以下のような条件のうちの少なくとも１つとする。（１）オブジェクトデータリスト１４６の当該オブジェクトの「検出フレーム数」が所定の閾値（例えば３）以上であること。（２）当該オブジェクトが、「トラッキング」から「Ｃａｎｄｉｄａｔｅ」に遷移してから所定の閾値（例えば３）フレーム以内であること。かつ、後述するトラッキング継続条件を満たすこと。かつ、今回のフレームにおける当該オブジェクトを含む領域と、最後に「トラッキング」状態であった際の当該オブジェクトを含む視差画像の領域と画像の類似度が所定の閾値以上であること。
【０１３０】
「Ｃａｎｄｉｄａｔｅ」から「トラッキング」に移行するための所定の条件を満たす場合（ステップＳ１２０６でＹＥＳ）、当該オブジェクトをトラッキング対象とするため、オブジェクトデータリスト１４６の当該オブジェクトの「追跡状態」を「トラッキング」に更新し（ステップＳ１２０７）、処理を終了する。なお、この際、オブジェクトデータリスト１４６の当該オブジェクトに対するオブジェクト予測データ、及びトラッキングデータの「画像」を更新してもよい。
【０１３１】
「Ｃａｎｄｉｄａｔｅ」から「トラッキング」に移行するための所定の条件を満たさない場合（ステップＳ１２０６でＮＯ）、処理を終了する。
【０１３２】
次に、図２１を参照し、図１９のステップＳ１１０６の、「トラッキング」状態のオブジェクトをトラッキングする処理について説明する。図２１は、オブジェクトトラッキング部１４４によるトラッキング処理のフローチャートである。
【０１３３】
オブジェクトトラッキング部１４４の追跡部１４４２は、リアルＵマップ生成部１３８が生成したリアルＵマップ等に基づいて、今回のフレームで検出されたオブジェクトが、トラッキング継続条件を満たすか判断する（ステップＳ１３０１）。なお、トラッキング継続条件は、例えば、以下のような条件とする。以前のフレームから予測したオブジェクトの位置と、今回のフレームに基づいて生成されたオブジェクトの位置との実距離が、所定の範囲（例えば２ｍ）以内であること。かつ、視差画像における検出されたオブジェクトを含む領域をＫ、以前のフレームから予測した、視差画像における当該オブジェクトを含む領域をＬ、ＫとＬが重なる領域をＭとした場合に、Ｋ及びＭの面積に対するＭの面積の割合が所定の閾値Ｓ（例えば０．５）より大きい場合。例えば、Ｍの面積／｛（Ｋの面積＋Ｌの面積）／２｝＞Ｓであること。
【０１３４】
当該オブジェクトが、トラッキング継続条件を満たす場合（ステップＳ１３０１でＹＥＳ）、オブジェクトデータリスト１４６の当該オブジェクトに対する、オブジェクト予測データ、及びトラッキングデータの「画像」を更新し（ステップＳ１３０２）、処理を終了する。
【０１３５】
当該オブジェクトが、トラッキング継続条件を満たさない場合（ステップＳ１３０１でＮＯ）、オブジェクトトラッキング部１４４の位置予測部１４４１は、オブジェクトデータリスト１４６の当該オブジェクトの「相対速度」、「実位置」及び「実際の大きさ」に基づいて、当該オブジェクトの今回のフレームにおける複数の予測位置に対応する各領域を算出する（ステップＳ１３０３）。
【０１３６】
続いて、追跡部１４４２は、当該オブジェクトの今回のフレームにおける複数の予測位置に対応する各領域の画像と、オブジェクトデータリスト１４６の当該オブジェクトの「画像」（当該オブジェクトが「トラッキング」状態であった際の最後の画像）の類似度を算出する（ステップＳ１３０４）。
【０１３７】
続いて、追跡部１４４２は、各領域のうちで最も高い類似度が、所定の閾値以上であるか判断する（ステップＳ１３０５）。
【０１３８】
最も高い類似度が、所定の閾値以上である場合（ステップＳ１３０５でＹＥＳ）、オブジェクトデータリスト１４６の当該オブジェクトの「追跡状態」を「推定トラッキング」に更新し、（ステップＳ１３０６）、処理を終了する。なお、この際、最も高い類似度であった領域の画像に基づいて、オブジェクトデータリスト１４６の当該オブジェクトに対するオブジェクトデータ、オブジェクト予測データ、オブジェクト特徴量、及びトラッキングデータの「画像」を更新してもよい。
【０１３９】
最も高い類似度が、所定の閾値以上でない場合（ステップＳ１３０５でＮＯ）、オブジェクトデータリスト１４６の当該オブジェクトの「追跡状態」を「Ｃａｎｄｉｄａｔｅ」に更新し（ステップＳ１３０７）、処理を終了する。
【０１４０】
次に、図２２を参照し、図１９のステップＳ１１０７の、「推定トラッキング」状態のオブジェクトをトラッキングする処理について説明する。図２２は、オブジェクトトラッキング部１４４による推定トラッキング処理のフローチャートである。
【０１４１】
オブジェクトトラッキング部１４４の追跡部１４４２は、今回のフレームで検出されたオブジェクトが、上述のトラッキング継続条件を満たすか判断する（ステップＳ１４０１）。
【０１４２】
当該オブジェクトが、トラッキング継続条件を満たす場合（ステップＳ１４０１でＹＥＳ）、当該オブジェクトをトラッキング対象とするため、オブジェクトデータリスト１４６の当該オブジェクトの「追跡状態」を「トラッキング」に更新するとともに、「推定回数」を０に初期化し（ステップＳ１４０２）、処理を終了する。なお、この際、オブジェクトデータリスト１４６の当該オブジェクトに対するオブジェクト予測データ、及びトラッキングデータの「画像」を更新してもよい。
【０１４３】
当該オブジェクトが、トラッキング継続条件を満たさない場合（ステップＳ１４０１でＮＯ）、追跡部１４４２は、オブジェクトデータリスト１４６の当該オブジェクトの「推定回数」を１つ増加させ（ステップＳ１４０３）、オブジェクトトラッキング部１４４の位置予測部１４４１は、オブジェクトデータリスト１４６の当該オブジェクトの「推定回数」、「相対速度」、「実位置」及び「実際の大きさ」に基づいて、当該オブジェクトの今回のフレームにおける複数の予測位置に対応する各領域を算出する（ステップＳ１４０４）。
【０１４４】
続いて、追跡部１４４２は、当該オブジェクトの今回のフレームにおける複数の予測位置に対応する各領域の画像と、オブジェクトデータリスト１４６の当該オブジェクトの「画像」の類似度を算出する（ステップＳ１４０５）。
【０１４５】
続いて、追跡部１４４２は、各領域のうちで最も高い類似度が所定の閾値以上であるか判断する（ステップＳ１４０６）。
【０１４６】
最も高い類似度が所定の閾値以上でなければ（ステップＳ１４０６でＮＯ）、オブジェクトデータリスト１４６の当該オブジェクトに対応するデータを破棄し（ステップＳ１４０７）、処理を終了する。
【０１４７】
最も高い類似度が所定の閾値以上であれば（ステップＳ１４０６でＹＥＳ）、「推定回数」が所定の閾値である最大推定回数以上であるか判断する（ステップＳ１４０８）。なお、物体の追跡を継続する以降のフレームの数である最大推定回数は、予め外部等から設定できる構成としてもよい。あるいは、追跡部１４４２が、ステップＳ１４０５で算出した類似度のうち、最も高い類似度に応じて最大推定回数を決定してもよい。その場合、例えば、初回（「推定回数」が１の場合）の類似度のみに応じて最大推定回数を決定してもよい。それにより、誤った推定で、追跡が継続されることを防ぐことができる。
【０１４８】
「推定回数」が最大推定回数以上の場合（ステップＳ１４０８でＹＥＳ）、ステップＳ１４０６の処理に進み、オブジェクトデータリスト１４６の当該オブジェクトに対応するデータを破棄し、処理を終了する。
【０１４９】
「推定回数」が最大推定回数以上でない場合（ステップＳ１４０８でＹＥＳ）、処理を終了する。なお、この際、最も高い類似度であった領域の画像に基づいて、オブジェクトデータリスト１４６の当該オブジェクトに対するオブジェクトデータ、オブジェクト予測データ、オブジェクト特徴量、及びトラッキングデータの「画像」を更新してもよい。
【０１５０】
＜変形例＞
図２１のトラッキング処理のステップＳ１３０３〜ステップＳ１３０５、及び図２２の推定トラッキング処理のステップＳ１４０４〜ステップＳ１４０６では、以下のような処理を行う例について説明した。複数の予測位置に対応する各領域を算出し、複数の予測位置に対応する各領域の画像と、オブジェクトの「画像」の類似度を算出し、各領域のうちで最も高い類似度が所定の閾値以上であるか判断する。
【０１５１】
これに代えて、位置予測部１４４１に負荷された予測位置の優先順位に従って、順次、予測位置に対する類似度を算出し、第１の閾値以上であれば、以降の予測位置に対する類似度の算出を行わない構成としてもよい。それにより、処理をより高速化できる。
【０１５２】
この場合の例を、図２３を参照して説明する。図２３は、推定トラッキング処理において、上記の処理を行う変形例のフローチャートである。図２３の処理の例では、図２２のステップＳ１４０４〜ステップＳ１４０６に代えて、ステップＳ２０１〜ステップＳ２０
の処理を行う。
【０１５３】
まず、ステップＳ２０１で、追跡部１４４２は、当該オブジェクトの今回のフレームにおける複数の予測位置のうち、最も優先順位が高い一の予測位置を選択する。
【０１５４】
続いて、追跡部１４４２は、オブジェクトデータリスト１４６の当該オブジェクトの「推定回数」、「相対速度」、「実位置」及び「実際の大きさ」に基づいて、選択した予測位置に対応する領域を算出する（ステップＳ２０２）。
【０１５５】
続いて、追跡部１４４２は、当該領域の画像と、オブジェクトの「画像」の類似度を算出する（ステップＳ２０３）。
【０１５６】
続いて、追跡部１４４２は、当該類似度が第１の閾値以上であるか判断する（ステップＳ２０４）。
【０１５７】
当該類似度が第１の閾値以上であれば（ステップＳ２０４でＹＥＳ）、ステップＳ１４０８の処理に進む。
【０１５８】
当該類似度が第１の閾値以上でなければ（ステップＳ２０４でＮＯ）、追跡部１４４２は、当該オブジェクトの今回のフレームにおける複数の予測位置のうち、次に優先順位が高い予測位置があるか判断する（ステップＳ２０５）。
【０１５９】
次に優先順位が高い予測位置があれば（ステップＳ２０５でＹＥＳ）、追跡部１４４２は、次に優先順位が高い予測位置を選択し（ステップＳ２０６）、ステップＳ２０２の処理に進む。
【０１６０】
次に優先順位が高い予測位置がなければ（ステップＳ２０５でＮＯ）、追跡部１４４２は、全ての予測位置に対する類似度のうち、最も高い類似度が第１の閾値よりも低い第２の閾値以上であるか判断する（ステップＳ２０７）。
【０１６１】
最も高い類似度が第２の閾値以上であれば（ステップＳ２０７でＹＥＳ）、ステップＳ１４０８の処理に進む。
【０１６２】
最も高い類似度が第２の閾値以上でなければ（ステップＳ２０７でＮＯ）、ステップＳ１４０７の処理に進む。
【０１６３】
なお、トラッキング処理において、上記の処理を行う場合は、図２３と同様に、図２１のステップＳ１３０３〜ステップＳ１３０５に代えて、図２３のステップＳ２０１〜ステップＳ２０６の処理を行う構成とすればよい。
【０１６４】
次に、図２４を参照し、位置予測部１４４１による、図２１のステップＳ１３０３、及び図２２のステップＳ１４０４において用いられるオブジェクトの「相対速度」を算出する処理について説明する。図２４は、オブジェクトの相対速度を算出する処理について説明する図である。
【０１６５】
図２４は、図１２のリアル頻度Ｕマップの例において、今回のフレームにおける第１検出島８１１及び第２検出島８１２に対する、前回のフレームにおける第１検出島８１１ｐ及び第２検出島８１２ｐの位置を破線で示している。この場合、第１車両８０１の自車両に対する相対速度（フレームあたりの移動距離）は、例えば、８１１と８１１ｐの中心間の距離８１３により算出できる。同様に、第２車両８０２の自車両に対する相対速度は、例えば、８１２と８１２ｐの中心間の距離８１４により算出できる。なお、前回のフレームにおける各オブジェクトの位置等は、オブジェクトデータリスト１４６にて記憶されている。
【０１６６】
なお、「相対速度」は、前後のフレームにおける相対速度を複数回算出し、複数回算出した相対速度の平均を用いる構成としてもよい。その場合、所定回数以上（例えば５回）算出している場合は、複数回算出した相対速度のうちの最大と最小のものを除いた平均を用いる構成としてもよい。
【０１６７】
次に、図２５Ａ及び図２５Ｂを参照し、位置予測部１４４１による、図２１のステップＳ１３０３、及び図２２のステップＳ１４０４において複数の予測位置（予測位置の候補）を算出する処理について説明する。図２５Ａ及び図２５Ｂは、予測位置の候補の算出処理について説明する図である。図２５Ａは、自車両の前を、自車両よりも高速に走行する先行車両の例である。図２５Ｂは、自車両の前を右折方向に進行する先行車両の例である。予測位置の候補の算出処理は、図２５Ａと図２５Ｂの場合とも同様である。
【０１６８】
まず、位置予測部１４４１は、オブジェクトデータリスト１４６の当該オブジェクトに対応する「推定回数」、「相対速度」及び「実位置」に基づき、今回のフレームにおける自車両と当該オブジェクトの横方向（水平方向）Ｘ及び奥行き方向（進行方向）Ｚの、自車両に対する実際の位置を、第１の予測位置９０１として算出する。例えば、「相対速度」に「推定回数」を乗算した値を、「実位置」に加算した位置を、第１の予測位置９０１とする。
【０１６９】
続いて、位置予測部１４４１は、第１の予測位置９０１と、オブジェクトデータリスト１４６の当該オブジェクトに対応する「実位置」との間の、自車両に対する実際の位置を、第２の予測位置として算出する。例えば、第１の予測位置９０１と、当該「実位置」との間の中間の位置を、第２の予測位置９０２とする。
【０１７０】
続いて、位置予測部１４４１は、第１の予測位置９０１と、当該「実位置」とを結ぶ直線上で、第１の予測位置９０１よりも当該「実位置」から離れた位置を、第３の予測位置９０３とする。例えば、第１の予測位置９０１と、当該「実位置」との間の距離の１／４離れた位置を、第３の予測位置９０３とする。
【０１７１】
続いて、位置予測部１４４１は、第２の予測位置を通り、第１の予測位置９０１と、当該「実位置」とを結ぶ直線に垂直な直線上で、第２の予測位置９０２から左右に離れた位置を、それぞれ、第４の予測位置９０４、第５の予測位置９０５とする。例えば、第２の予測位置９０２から、第１の予測位置９０１と、当該「実位置」との間の距離の１／２離れた位置を、それぞれ、第４の予測位置９０４、第５の予測位置９０５とする。
【０１７２】
続いて、位置予測部１４４１は、当該「実位置」を、第６の予測位置９０６とする。
【０１７３】
続いて、位置予測部１４４１は、例えば上述した対応領域検出部１４０及びオブジェクト領域抽出部１４１と同様の処理により、第１の予測位置９０１から第６の予測位置９０６の各々に基づいて、今回のフレームにおける当該オブジェクトの画素（座標）単位の各々の領域の「位置」と「大きさ」を算出する。この処理について、図２６を参照して以下に説明する。
【０１７４】
図２６Ａ及び図２６Ｂは、位置予測部１４４１による、今回のフレームにおける複数の予測位置に対応する各領域を算出する処理について説明する図である。図２６Ａは、以前（例えば前回）のフレームにて、図１４のように第１車両のオブジェクト領域４６１ｐが検出された場合の、第１の予測位置９０１から第２の予測位置９０２に対する領域の例を示す図である。図２６Ａのように、自車両よりも高速に走行する先行車両の場合、第１の予測位置９０１、第２の予測位置９０２に対する領域は、それぞれ領域９１１、領域９１２のようになる。
【０１７５】
図２６Ｂは、図２６Ａの例と同様に、以前のフレームにて、図１４のように第１車両のオブジェクト領域４６１ｐが検出された場合の、第３の予測位置９０３から第６の予測位置９０６に対する領域の例を示す図である。図２６Ａの例と同様に、自車両よりも高速に走行する先行車両の場合、第３の予測位置９０３から第６の予測位置９０６に対する領域は、それぞれ領域９１３から領域９１６のようになる。
【０１７６】
続いて、位置予測部１４４１は、第１の予測位置から第６の予測位置の各々に、所定の優先順位を付加する。例えば、第１の予測位置から第６の予測位置に、それぞれ、最も高い優先順位である「１」から、最も低い優先順位である「６」の優先順位を付ける。
【０１７７】
次に、追跡部１４４２による、図２１のステップＳ１３０３、及び図２２のステップＳ１４０４において、複数の予測位置に対応する各領域の画像（図２５の領域９１１から領域９１６）と、オブジェクトの画像の類似度を算出する処理について説明する。
【０１７８】
追跡部１４４２は、例えば、高次局所自己相関特徴抽出法（ＨＬＡＣ：Higher-order Local AutoCorrelation）や、ＨＯＧ(Histogram of Oriented Gradient)等の公知の方法を用いて、各画像の特徴量を算出する。
【０１７９】
ＨＬＡＣは、画像の濃淡を表す関数g(x, y)の自己相関をＮ次に拡張し、g(x, y)g(x+a1, y+b1)‥g(x+aN, y+bN)の変位ai, biを、参照画素(x, y)周辺の局所領域に限定して、画像の特徴を抽出する方法である。相関の次数を二次まで（３点相関）、変位を３×３画素の局所領域に限定すると、白黒２値画像の場合は、２５次元のパターンとなり、この２５次元のパターンで示される画素値を画像の特徴量とする。
【０１８０】
ＨＯＧは、入力画像から計算したエッジ画像に対して、各ブロック領域ごとの方位ヒストグラムを特徴量として計算する方法である。
【０１８１】
そして、追跡部１４４２は、２つの画像の特徴量を比較することにより、画像間の類似度を算出する。例えば、ＨＬＡＣ等を用いて算出した２つの画像の２５次元の各特徴量間のユークリッド距離を、２つの画像間の類似度として算出する。
【０１８２】
次に、オブジェクト選択部１４５について説明する。
【０１８３】
オブジェクト選択部１４５は、オブジェクトデータリスト１４６に保存されているオブジェクトについて、当該オブジェクトが追跡対象とするのにふさわしい位置にいるか等を判断基準にして、当該オブジェクトを追跡するか否かを選択する。具体的には、オブジェクトデータリスト１４６のオブジェクト予測データに基づいて当該オブジェクトが位置すると予測される視差画像データ中の予測範囲を設定し、その予測範囲内における当該オブジェクトの高さを特定した後、オブジェクトデータリスト１４６のオブジェクト特徴量を参照して、特定した高さから当該オブジェクトの幅を特定し、特定した幅から視差画像データ上におけるオブジェクトの横方向位置を推定する。このようにして推定したオブジェクトの横方向位置が所定の追跡対象条件（当該オブジェクトが画像内に存在する確度が高い位置である場合、当該オブジェクトが追跡対象とするのにふさわしい位置である場合等）を満たせば、当該オブジェクトを追跡対象として選択する。なお、オブジェクト選択部１４５は、追跡対象として選択しなかったオブジェクトのデータを、オブジェクトデータリスト１４６から削除してもよい。
【０１８４】
［第２の実施形態］
第１の実施形態では、図２１のトラッキング処理において、オブジェクト領域抽出部１４１により抽出されたオブジェクトの領域を用いて、トラッキングを行う例について説明した。
【０１８５】
第２の実施形態では、トラッキング処理において、当該オブジェクトの画像特徴量に基づいて、オブジェクト領域抽出部１４１により抽出されたオブジェクトの領域と、以前のフレームに基づいて推定された今回のフレームにおける当該オブジェクトの領域とのいずれを用いてトラッキングするかを決定する例について説明する。
【０１８６】
第２の実施形態によれば、これにより、オブジェクト領域抽出部１４１により抽出された当該オブジェクトの領域が不適切な場合であっても、適切な当該オブジェクトの領域を決定できる。
【０１８７】
なお、第２の実施形態は一部を除いて第１の実施形態と同様であるため、適宜説明を省略する。
【０１８８】
≪トラッキング処理≫
次に、図２７を参照し、図１９のステップＳ１１０６の、「トラッキング」状態のオブジェクトをトラッキングする処理の一例について説明する。図２７は、第２の実施形態に係るトラッキング処理の一例を示すフローチャートである。
【０１８９】
ステップＳ２００１の処理は、図２１のステップＳ１３０１の処理と同様である。
【０１９０】
検出されたオブジェクトが、トラッキング継続条件を満たす場合（ステップＳ２００１でＹＥＳ）、オブジェクトトラッキング部１４４の追跡部１４４２は、当該オブジェクトが優先設定されているか否かを判定する（ステップＳ２００２）。ここで、オブジェクトトラッキング部１４４の追跡部１４４２は、例えば、以前の所定数のフレームにおける当該オブジェクトの領域の位置及びサイズの変動が所定の閾値以下である場合に、当該オブジェクトが優先設定されていると判定してもよい。当該オブジェクトの領域の位置またはサイズの少なくとも一方の変動が所定の閾値以下であることを条件としても良い。また、オブジェクトトラッキング部１４４の追跡部１４４２は、例えば、当該オブジェクトのＨＬＡＣやＨＯＧ等による画像特徴量に基づいて、当該オブジェクトの種別を判定し、判定した種別が車両等である場合に、当該オブジェクトが優先設定されていると判定してもよい。
【０１９１】
当該オブジェクトが優先設定されていない場合（ステップＳ２００２でＮＯ）、ステップＳ２００３の処理に進む。
【０１９２】
ステップＳ２００３の処理は、図２１のステップＳ１３０２の処理と同様である。すなわち、ステップＳ２００３において、オブジェクトトラッキング部１４４の追跡部１４４２は、オブジェクトデータリスト１４６の当該オブジェクトに対する、オブジェクト予測データ、及びトラッキングデータの「画像」を、「トラッキング継続条件を満たした物体」の情報で更新し、処理を終了する。ここで、「トラッキング継続条件を満たした物体」とは、オブジェクト領域抽出部１４１により抽出されたオブジェクトである。
【０１９３】
当該オブジェクトが優先設定されている場合（ステップＳ２００２でＹＥＳ）、ステップＳ２００４、ステップＳ２００５の処理を行う。ステップＳ２００４及びステップＳ２００５の処理は、図２１のステップＳ１３０３及びステップＳ１３０４の処理とそれぞれ同様である。すなわち、以前のフレームに基づいて推定された今回のフレームにおける当該オブジェクトの各領域と、オブジェクトデータリスト１４６に登録されている当該オブジェクトの画像との類似度（「第１の類似度」の一例。）がそれぞれ算出される。
【０１９４】
続いて、オブジェクトトラッキング部１４４の追跡部１４４２は、ステップＳ２００５で算出した類似度のうち最も高い類似度が、今回のフレームで検出されて「トラッキング継続条件を満たした物体」の画像と、オブジェクトデータリスト１４６に登録されている当該オブジェクトの画像との類似度（「第２の類似度」の一例。）よりも高いか否かを判定する（ステップＳ２００６）。
【０１９５】
高くない場合（ステップＳ２００６でＮＯ）、ステップＳ２００３の処理に進む。
【０１９６】
以前のフレームに基づいて推定された領域の類似度の方が高い場合（ステップＳ２００６でＮＯ）、オブジェクトトラッキング部１４４の追跡部１４４２は、オブジェクトデータリスト１４６の当該オブジェクトに対する、オブジェクト予測データ、及びトラッキングデータの「画像」を、「推定トラッキングの物体」の情報で更新し、処理を終了する。ここで、「推定トラッキングの物体」とは、以前のフレームに基づいて推定された今回のフレームにおける当該オブジェクトの各領域のうち、オブジェクトデータリスト１４６に登録されている当該オブジェクトの画像との類似度が最も高い領域のオブジェクトである。
【０１９７】
検出されたオブジェクトが、トラッキング継続条件を満たさない場合（ステップＳ２００１でＮＯ）、ステップＳ２００８の処理に進む。ステップＳ２００８乃至ステップＳ２０１２の処理は、図２１のステップＳ１３０３乃至ステップＳ１３０７の処理とそれぞれ同様である。
【０１９８】
このように、検出されたオブジェクトが優先設定されている場合は、推定トラッキングと同様の処理も行い、推定された領域に対する類似度が、今回のフレームにおいて検出された領域の類似度より高い場合は、当該検出された領域の情報を破棄し、当該推定された領域に基づいてトラッキングを行う。これにより、今回のフレームにおいて検出された領域が誤検出であった場合でも、以前のフレームに基づいて推定された領域をトラッキング対象とすることにより、比較的適切なトラッキングを行うことができる。
【０１９９】
次に、図２８Ａ乃至図２８Ｃを参照し、第２の実施形態に係るトラッキング処理について説明する。図２８Ａ乃至図２８Ｃは、第２の実施形態に係るトラッキング処理を説明する図である。
【０２００】
図２８Ａの例では、以前のフレームに基づいて、自車両の前方の車両１７０１の領域１７０２を適切に検出できているとする。図２８Ｂの例では、今回のフレームにおいて、オブジェクト領域抽出部１４１により抽出された自車両の前方の車両１７０１の領域１７０３が、不適切であるとする。
【０２０１】
この場合、上述したステップＳ２００２、ステップＳ２００４乃至２００７の処理を行わない場合、以前のフレームにおける領域１７０２、及び今回のフレームにおける領域１７０３に基づいて、図２８Ｃのように、次回のフレームにおける領域１７０５が推定されたとする。この場合、次回のフレームにおいて、車両１７０１の領域１７０６を適切に検出されると、領域１７０５と領域１７０６との重なる面積の割合が比較的小さいため、今回のフレームまでにおいて検出していた車両１７０１をロストし、次回のフレームにおいて新規に検出された物体として、車両１７０１が登録される。この場合、車両１７０１について、今回のフレームまでにおいて検出した情報を、次回以降は利用できなくなる。
【０２０２】
一方、上述したステップＳ２００２、ステップＳ２００４乃至２００７の処理を行う場合は、今回のフレームにおいて、抽出された不適切な領域１７０３は破棄され、以前のフレームに基づいて推定された領域１７０７が、トラッキングの対象とされる。このため、次回のフレームにおいて、車両１７０１の領域１７０６を適切に検出されると、領域１７０６と領域１７０７との重なる面積の割合が比較的大きいため、次回のフレームにおいても、継続してトラッキングできる。
【０２０３】
＜まとめ＞
従来、ステレオカメラで追跡している物体に、車のワイパーや、フロントガラスに付着した雨粒が一部重なったため等により、所定のトラッキング継続条件を一時的に満たさなくなったため、当該物体をロストした場合、次の問題がある。ロストした以降のフレームで検出された当該物体が、新規に検出したと判断され、当該物体の相対速度が分からないため、急に飛び出して来たと判断される可能性がある。
【０２０４】
上述した実施形態によれば、一時的に物体をロストした場合であっても、推定位置の視差画像と、当該物体を検出していた際の視差画像との類似度等が所定の条件を満たせば、当該物体の追跡を継続する。それにより、安定して精度の高いトラッキングを継続できる。
【０２０５】
本実施形態においては、視差値が距離値と等価に扱えることから、距離画像の一例として視差画像を示しているが、これに限らない。例えば、ミリ波レーダやレーザレーダの距離情報と、ステレオカメラで生成される視差画像とを融合させて距離画像を生成してもよい。
【０２０６】
上述した実施形態におけるシステム構成は一例であり、用途や目的に応じて様々なシステム構成例があることは言うまでもない。
【０２０７】
例えば、処理ハードウェア部１２０及び画像解析ユニット１０２の各機能部は、ハードウェアによって実現される構成としてもよいし、ＣＰＵが記憶装置に格納されたプログラムを実行することによって実現される構成としてもよい。このプログラムは、インストール可能な形式又は実行可能な形式のファイルによって、コンピュータで読み取り可能な記録メディアに記録されて流通されるようにしても良い。また、上記記録メディアの例として、ＣＤ−Ｒ(Compact Disc Recordable)、ＤＶＤ(Digital Versatile Disk)、ブルーレイディスク等が挙げられる。また、各プログラムが記憶されたＣＤ−ＲＯＭ等の記録メディア、並びに、これらプログラムが記憶されたＨＤ５０４は、プログラム製品(Program Product)として、国内又は国外へ提供されることができる。
【０２０８】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【０２０９】
本願は、日本特許庁に２０１６年１月２８日に出願された基礎出願２０１６―０１４５９４号の優先権を主張するものであり、その全内容を参照によりここに援用する。
【符号の説明】
【０２１０】
１  車載機器制御システム（「移動体機器制御システム」の一例）
１００  自車両
１０１  撮像ユニット
１０２  画像解析ユニット（「画像処理装置」の一例）
１０３  表示モニタ
１０４  車両走行制御ユニット（「制御部」の一例）
１１０ａ，１１０ｂ  撮像部
１２０  処理ハードウェア部
１３１  平行化画像生成部
１３２  視差画像生成部
１３４  Ｖマップ生成部
１３５  路面形状検出部
１３６  路面高さテーブル算出部
１３７  Ｕマップ生成部
１３８  リアルＵマップ生成部（「生成部」の一例）
１３９  孤立領域検出部
１４０  対応領域検出部
１４１  オブジェクト領域抽出部
１４４  オブジェクトトラッキング部
１４４１  位置予測部
１４４２  追跡部
１４６  オブジェクトデータリスト
２  撮像装置
【図１】
2017130640.tif 000003
【図２】
2017130640.tif 000004
【図３】
2017130640.tif 000005
【図４】
2017130640.tif 000006
【図５Ａ】
2017130640.tif 000007
【図５Ｂ】
2017130640.tif 000008
【図６Ａ】
2017130640.tif 000009
【図６Ｂ】
2017130640.tif 000010
【図７】
2017130640.tif 000011
【図８Ａ】
2017130640.tif 000012
【図８Ｂ】
2017130640.tif 000013
【図９】
2017130640.tif 000014
【図１０】
2017130640.tif 000015
【図１１】
2017130640.tif 000016
【図１２】
2017130640.tif 000017
【図１３】
2017130640.tif 000018
【図１４】
2017130640.tif 000019
【図１５】
2017130640.tif 000020
【図１６】
2017130640.tif 000021
【図１７】
2017130640.tif 000022
【図１８】
2017130640.tif 000023
【図１９】
2017130640.tif 000024
【図２０】
2017130640.tif 000025
【図２１】
2017130640.tif 000026
【図２２】
2017130640.tif 000027
【図２３】
2017130640.tif 000028
【図２４】
2017130640.tif 000029
【図２５Ａ】
2017130640.tif 000030
【図２５Ｂ】
2017130640.tif 000031
【図２６Ａ】
2017130640.tif 000032
【図２６Ｂ】
2017130640.tif 000033
【図２７】
2017130640.tif 000034
【図２８Ａ】
2017130640.tif 000035
【図２８Ｂ】
2017130640.tif 000036
【図２８Ｃ】
2017130640.tif 000037
【国際調査報告】
2017130640.tif 000038
2017130640.tif 000039
2017130640.tif 000040
2017130640.tif 000041