(57)【要約】【課題】  追跡対象の車両オブジェクトと車両番号との時間的な連続性が途絶えることを防止しつつオクルージョンに対して頑健で高精度かつ高効率な車両追跡が可能な車両追跡装置を得る。【解決手段】  道路画像から個々の車両をオブジェクトとして検出する車両検出部１と、この検出された個々のオブジェクトに対して複数の車両番号を割当てる車両番号割当て部２と、車両番号割当て部により割当てられた車両番号の各々に基づいて走行経路を追跡する走行経路追跡部３と、行経路追跡部により得られた追跡経路情報から各経路の確率的な確からしさを尤度として算出する経路尤度算出部４と、車両番号割当て部により割当てられた車両番号のうち経路尤度算出部により算出された尤度が小なる経路に対応した車両番号を削除する車両番号枝刈り部５とを含むことを特徴とする。【選択図】      図１
2010092248.tif 000002
【特許請求の範囲】
【請求項１】
道路画像から個々の車両をオブジェクトとして検出する車両検出手段と、
この検出された個々のオブジェクトに対して複数の車両番号を割当てる車両番号割当て手段と、
前記車両番号割当て手段により割当てられた車両番号の各々に基づいて走行経路を追跡する走行経路追跡手段と、
前記行経路追跡手段により得られた追跡経路情報から各経路の確率的な確からしさを尤度として算出する経路尤度算出手段と、
前記車両番号割当て手段により割当てられた前記車両番号のうち前記経路尤度算出手段により算出された尤度が小なる経路に対応した車両番号を削除する車両番号枝刈り手段とを含むことを特徴とする車両追跡装置。
【請求項２】
前記経路尤度算出手段は、前記割当てられた車両番号の各々に対して、注目オブジェクトが該車両番号を持つ時間的に同一視されるオブジェクトとみなして、現時刻のろ過位置、１時刻先の予測位置、並びに現時刻までの追跡経路の確率的な確からしさを前記尤度として算出することを特徴とする請求項１記載の車両追跡装置。
【請求項３】
前記車両番号枝刈り手段は、前記割当てられた車両番号に対応した尤度が予め設定された閾値を下回る場合に、その車両番号を割当て対象の車両番号から除外することを特徴とする請求項１または２記載の車両追跡装置。
【請求項４】
前記走行経路追跡手段は、１時刻前に算出した予測位置に現時刻における車両観測データが存在しない場合には、追跡方法を切替えることを特徴とする請求項２または３記載の車両追跡装置。
【請求項５】
１時刻前に算出された予測位置に現時刻における観測データが存在しない注目オブジェクトに対して、現時刻で予測位置と観測データとの対応が付いている他オブジェクトとの位置関係に基づいて、前記注目オブジェクトの現時刻におけるろ過位置を算出することを特徴とする請求項４記載の車両追跡装置。
【請求項６】
１時刻前に算出された予測位置に現時刻における観測データが存在しない注目オブジェクトの現在時刻におけるろ過位置を、現時刻で予測位置と観測データとの対応が付いている他オブジェクトのうち、前記注目オブジェクトと同一車線上に存在するオブジェクトのろ過位置を追い越さないように設定することを特徴とする請求項５記載の車両追跡装置。
【請求項７】
前記注目オブジェクトと他オブジェクトとの位置関係に基づく前記注目オブジェクトのろ過位置算出を、セルオートマトンなどのオブジェクト移動モデルに従って行うことを特徴とする請求項６記載の車両追跡装置。
【請求項８】
１時刻前に算出された予測位置に現時刻における観測データが存在しない注目オブジェクトに対して、予測位置と観測データとの未対応状態の継続時間が予め設定された閾値以下である場合には、この予測位置を現時刻における観測データとみなし、
閾値より大である場合には、１時刻前に算出された予測位置に現時刻における観測データが存在しない注目オブジェクトに対して、現時刻で予測位置と観測データとの対応が付いている他オブジェクトとの位置関係に基づいて、前記注目オブジェクトの現時刻におけるろ過位置を算出することを特徴とする請求項４記載の車両追跡装置。
【請求項９】
前記オブジェクトに対して１時刻前に算出された予測位置と現時刻におけるろ過位置との相違量に基づいて追跡方法を切替えることを特徴とする請求項２または３記載の車両追跡装置。
【請求項１０】
現時刻のろ過位置、１時刻先の予測位置の算出をカルマンフィルタやパークフィルタなどの位置予測が可能な計算方法を用いることを特徴とする請求項２記載の車両追跡装置。
【請求項１１】
複数の車両番号の割当をオブジェクトの予測位置と観測データとの対応が未対応な状態から対応付いた状態に遷移したオブジェクトに対してのみ行い、オブジェクトの予測位置と観測データの対応付いた状態が継続しているオブジェクトに対しては、前時刻でのこのオブジェクトの車両番号を現時刻における該オブジェクトの車両番号として引継ぐことを特徴とする請求項１〜４いずれか記載の車両追跡装置。
【請求項１２】
追跡経路の尤度を１時刻前に算出されたろ過位置に基づいて算出することを特徴とする請求項２記載の車両追跡装置。
【請求項１３】
走行経路追跡を実行中のオブジェクト間に仮想的なオブジェクトの存在を導入して、注目オブジェクトと同一車線上に存在する他オブジェクトのろ過位置を追い越さないように設定することを特徴とする請求項６記載の車両追跡装置。
【請求項１４】
道路画像から個々の車両をオブジェクトとして検出する車両検出ステップと、
この検出された個々のオブジェクトに対して複数の車両番号を割当てる車両番号割当てステップと、
この割当てられた車両番号の各々に基づいて走行経路を追跡する走行経路追跡ステップと、
追跡経路情報から各経路の確率的な確からしさを尤度として算出する経路尤度算出ステップと、
前記割当てられた車両番号のうち前記経路尤度算出ステップにより算出された尤度が小なる経路に対応した車両番号を削除する車両番号枝刈りステップとを含むことを特徴とする車両追跡方法。
【請求項１５】
前記経路尤度算出ステップは、前記割当てられた車両番号の各々に対して、注目オブジェクトが該車両番号を持つ時間的に同一視されるオブジェクトとみなして、現時刻のろ過位置、１時刻先の予測位置、並びに現時刻までの追跡経路の確率的な確からしさを前記尤度として算出することを特徴とする請求項１４記載の車両追跡方法。
【請求項１６】
前記車両番号枝刈りステップは、前記割当てられた車両番号に対応した尤度が予め設定された閾値を下回る場合に、その車両番号を割当て対象の車両番号から除外することを特徴とする請求項１４または１５記載の車両追跡方法。
【請求項１７】
前記走行経路追跡ステップは、１時刻前に算出した予測位置に現時刻における車両観測データが存在しない場合には、追跡方法を切替えることを特徴とする請求項１５または１６記載の車両追跡方法。
【請求項１８】
１時刻前に算出された予測位置に現時刻における観測データが存在しない注目オブジェクトに対して、現時刻で予測位置と観測データとの対応が付いている他オブジェクトとの位置関係に基づいて、前記注目オブジェクトの現時刻におけるろ過位置を算出することを特徴とする請求項１７記載の車両追跡方法。
【請求項１９】
１時刻前に算出された予測位置に現時刻における観測データが存在しない注目オブジェクトの現在時刻におけるろ過位置を、現時刻で予測位置と観測データとの対応が付いている他オブジェクトのうち、前記注目オブジェクトと同一車線上に存在するオブジェクトのろ過位置を追い越さないように設定することを特徴とする請求項１８記載の車両追跡方法。
【請求項２０】
前記注目オブジェクトと他オブジェクトとの位置関係に基づく前記注目オブジェクトのろ過位置算出を、セルオートマトンなどのオブジェクト移動モデルに従って行うことを特徴とする請求項１９記載の車両追跡方法。
【請求項２１】
１時刻前に算出された予測位置に現時刻における観測データが存在しない注目オブジェクトに対して、予測位置と観測データとの未対応状態の継続時間が予め設定された閾値以下である場合には、この予測位置を現時刻における観測データとみなし、閾値より大である場合には、請求項１８記載の方法を用いることを特徴とする請求項１７記載の車両追跡方法。
【請求項２２】
前記オブジェクトに対して１時刻前に算出された予測位置と現時刻におけるろ過位置との相違量に基づいて追跡方法を切替えることを特徴とする請求項１５または１６記載の車両追跡方法。
【請求項２３】
現時刻のろ過位置、１時刻先の予測位置の算出をカルマンフィルタやパークフィルタなどの位置予測が可能な計算方法を用いることを特徴とする請求項１５記載の車両追跡方法。
【請求項２４】
複数の車両番号の割当をオブジェクトの予測位置と観測データとの対応が未対応な状態から対応付いた状態に遷移したオブジェクトに対してのみ行い、オブジェクトの予測位置と観測データの対応付いた状態が継続しているオブジェクトに対しては、前時刻でのこのオブジェクトの車両番号を現時刻における該オブジェクトの車両番号として引継ぐことを特徴とする請求項１４〜１７いずれか記載の車両追跡方法。
【請求項２５】
追跡経路の尤度を１時刻前に算出されたろ過位置に基づいて算出することを特徴とする請求項１５記載の車両追跡方法。
【請求項２６】
走行経路追跡を実行中のオブジェクト間に仮想的なオブジェクトの存在を導入して、注目オブジェクトと同一車線上に存在する他オブジェクトのろ過位置を追い越さないように設定することを特徴とする請求項１９記載の車両追跡方法。
【請求項２７】
車両追跡方法をコンピュータにより実行するためのプログラムであって、
道路画像から個々の車両をオブジェクトとして検出する処理と、
この検出された個々のオブジェクトに対して複数の車両番号を割当てる処理と、
この割当てられた車両番号の各々に基づいて走行経路を追跡する処理と、
追跡経路情報から各経路の確率的な確からしさを尤度として算出する処理と、
前記割当てられた車両番号のうち前記経路尤度算出ステップにより算出された尤度が小なる経路に対応した車両番号を削除する処理とを含むことを特徴とするコンピュータ読取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は車両追跡装置及び車両追跡方法に関し、特にカメラによる撮像画像中に存在する車両を追跡する車両追跡方式に関するものである。
【背景技術】
【０００２】
近年の自動車開発のキーワードとして、「安全・安心」がある。日本社会の高齢化に伴い、ドライバーの高齢者人口が今後増大していくのは避けられないが、判断力、注意力、体力などが衰えた高齢者ドライバに対して安全で安心できる運転をサポートすることは、自動車業界にとって強く望まれていることである。自動車にとっての安全、安心とは、交通事故の発生を回避するか、発生した場合にその損害を最小限に食い止めることと考えることができる。
【０００３】
自動車の高性能化や道路交通法の改正等により、交通事故死者数は平成９年の９，６４０人から平成１８年の６，３５２人と着実に減少を続けているものの、負傷者数はほぼ横ばいであり、自動車の安全性に関しては更なる向上が求められている。自動車と人や物との衝突を回避するために必要な自動車周辺状況認識技術として、例えばミリ波レーダを用いた前方車両衝突回避システムや、遠赤外線画像をカーナビゲーション画面に表示することによる夜間道路画像明瞭化システム、更には前方カメラを用いて白線を認識することによる車線逸脱警報システムなどが実用化されている。
【０００４】
これらは、１台の車両で処理が完結する技術であるが、より高度な状況認識を実現するアプローチとして、車車連携技術や路車連携技術がある。車車連携では、道路上を走行する各車両が互いに無線通信を行い、自車両の周辺状況を他車両に対して提供することによって、自車両のみでは把握が困難な周辺状況の取得が可能となる。車車連携が実現することにより、例えば死角から他車両が飛び出してくることによる出会い頭の衝突事故の回避が期待される。
【０００５】
路車連携では、道路脇に設置したセンサを用いて個々の車両の走行状態をモニタリングし、これらの走行情報を各車両に配信する。路車連携が実現することにより、例えば渋滞末尾の検出と通知が可能となる。また、路車連携で用いるセンサの一つとしてカメラを用いることがあるが、カメラで取得した道路画像から個々の車両を検出しその走行経路を追跡することで、交差点内での右折車と直進車の衝突防止警告システムの構築も可能となる。カメラをセンサとして用いることの利点には、簡易な設定および低コストで広範囲をモニタリングでき、また個々の車両を道路上の任意の位置で計測できることが挙げられる。
【０００６】
一方、大きな問題点として、注目車両が他車両に遮蔽されることにより画像上で注目車両の一部が欠落して観測されるいわゆるオクルージョンの場合、注目車両が未検出扱いとなる可能性が高くなるという点が挙げられる。特に、路車連携技術が強く望まれている交差点付近では、信号待ち時に車両が停車して画像上でオクルージョンが多発する。従って、画像センサを使った路車連携では、オクルージョンに頑健な車両追跡技術が必須である。路側に設置したセンサから車両を検出し、その走行経路を追跡する従来技術には、以下のようなものが知られている。
【０００７】
特許文献１を参照すると、注目車両を構成する部分毎にテンプレートを用意し、これらのテンプレートを入力画像中のオブジェクトにマッチングすることにより個々の車両を検出する。その際、車両位置に対してカルマンフィルタ（Kalman Filter ）を適用して得られる１時刻先の予測位置付近に限定してマッチングを行うことによって、車両追跡の高精度化を図っている。
【０００８】
また、特許文献２を参照すると、ミリ波レーダを用いた自動追従走行機能のように、先行車両の位置および速度情報が必要な状況において、先行車両の速度低下により先行車両を車両として検出できなくなった場合、それまでの先行車両の速度と位置の情報から現時刻における先行車両の位置を推定している。
【０００９】
更に、特許文献３を参照すると、路側に車両感知センサが密に設置されていない道路区間での交通状態の推定精度を上げるために、図２２に示すように、実際の道路を車線毎（車線の総数をLaneNum と記す）に等間隔に分割した「セル」を導入する（以下では、このセルを画像化したものをセル画像と記す）。そして、交通流を圧縮性流体と見なし、各セルにおける車両の密度、空間平均速度などをモデル内部状態として、その推定にKalman Filter を用いている。
【００１０】
また、非特許文献１に示される交通流シミュレーションモデルには、セルオートマトン（Cell Automaton：ＣＡ）を利用したものもよく知られている。このＣＡでは、セル画像の各セルを車両の存在／不在セルに分ける。注目する車両存在セルが更新条件を満たす時に注目車両存在セルを移動させる。更新条件としては、例えば、ルール１８４や、Nagel-Schreckenberg アルゴリズムなどがある。
【００１１】
いま、セル画像の左から右が車両進行方向と仮定した場合、ルール１８４では、図２３に示すように、現時刻における各車両存在セルに注目し、注目車両存在セルの右隣のセルが車両不在セルの場合には、次時刻において注目車両存在セルを右隣のセルに移動させ、車両存在セルの場合には、注目車両存在セルの位置を移動させない。
【００１２】
Nagel-Schreckenberg アルゴリズムは、上記のルール１８４に実際の車両の挙動（加速や減速）を考慮したものであり、その内容は以下のようにまとめることができる。
（１）注目車両の現時刻での速度をｖ（セル単位）とする。
（２）加速：ｖ＜ｖmax でかつ前方車との距離がｖ＋１以上であれば、速度を１つ上げる（ｖ→ｖ＋１）。
（３）減速：注目車両がセルｉにいて、前方車がセルｉ＋ｊ（ｊ＜ｖ）にあるとき、速度をｊ−１まで落とす（ｖ→ｊ−１）。
（４）ランダム化：ｖ＞０のとき、確率ｐで速度を一つ下げる（ｖ→ｖ−１）。
（５）移動：ｖセル進む。
【００１３】
このようなNagel-Schreckenberg アルゴリズムから分かるとおり、Cell Automatonを用いた交通流シミュレーションモデルでは、同一車線上の車両の追い越しという現実にはあり得ない状況を排除したシミュレーションが可能となる。
【００１４】
なお、他の技術として、特許文献４に開示のものもある。特許文献４では、複数物体の検出、追跡におけるオクルージョンの影響を極力抑圧すべく、観測領域の周辺にカメラを複数台設置しておき、これらのカメラから得られる各物体の複数方向からのアパーチャ情報を統合して、確率的に尤もらしい各物体の内部状態（位置や方向及びそれらの変化量）を推定するようになっている。
【００１５】
【特許文献１】特開２００１−３５７４０３号公報
【特許文献２】特開２００１−０４３４９９号公報
【特許文献３】特開２００４−０７８４８２号公報
【特許文献４】特開２００４−２２０２９２号公報
【非特許文献１】杉山雄規著「交通流の物理」、ながれ２２，２００３，ｐ９５−ｐ１０８
【発明の開示】
【発明が解決しようとする課題】
【００１６】
特許文献１の技術では、オブジェクトの追跡に従来のカルマンフィルタを用いている。カルマンフィルタは与えられた観測データを用いて隠れ状態を推定する方法であり、現時刻における隠れ状態を算出するろ過処理と１時刻先の隠れ状態を算出する予測処理から構成される。時刻ｎにおける観測データを、
【数１】
2010092248.tif 000003
として、ろ過処理の結果得られる隠れ状態が従う正規分布の平均ベクトルと分散共分散行列とを、それぞれ、
【数２】
2010092248.tif 000004
とする。
【００１７】
同様に、予測処理の結果得られる隠れ状態が従う正規分布の平均ベクトルと分散共分散行列とを、それぞれ、
【数３】
2010092248.tif 000005
とすると、カルマンフィルタでは異なる時刻の隠れ状態間でマルコフ性が、隠れ変数と観測データの間では線形の演算がそれぞれ成り立つと見なして、
【数４】
2010092248.tif 000006
【数５】
2010092248.tif 000007
と、それぞれ定式化する。
【００１８】
式（１）はシステム方程式、式（２）は観測方程式と呼ばれる。また、行列Ｆは状態遷移行列、Ｈは観測行列であり、
【数６】
2010092248.tif 000008
は、それぞれ行列分散がＱ，Ｒのホワイトノイズである。このときろ過処理、予測処理は、それぞれ、
【数７】
2010092248.tif 000009
【数８】
2010092248.tif 000010
【数９】
2010092248.tif 000011
【数１０】
2010092248.tif 000012
で逐次計算される。
【００１９】
なお、式（３），（４）の行列Ｋはカルマンゲインと呼ばれ、
【数１１】
2010092248.tif 000013
で計算される。例えば、隠れ状態を現時刻および１時刻前の真の車両位置
【数１２】
2010092248.tif 000014
を用いて、
【数１３】
2010092248.tif 000015
と定義し、隣接した３時刻間での車両運動が等速直線運動で近似できるとすると、状態遷移行列と観測行列は、
【数１４】
2010092248.tif 000016
【数１５】
2010092248.tif 000017
の形で記述できる。
【００２０】
式（１）〜（１０）から分かるとおり、カルマンフィルタは観測データが毎時刻与えられることを前提とした時に精度が保証される処理である。注目車両のオクルージョンが著しい場合には検出漏れが発生し、対応した観測データが存在しないことになる（以下、欠測状態と略す）。観測データが存在しない場合には、一般的に、１時刻前に算出した予測位置を現時刻のろ過位置とするが、欠測状態が長くなればなるほど、実際の車両の挙動との乖離が大きくなり、追跡精度は低下する。
【００２１】
特許文献２の技術では、先行車両の速度が予め設定した閾値以下となった場合、自車両の絶対位置と絶対速度、それまでに蓄積した自車両の位置との相対速度、相対速度の変化量から、最尤推定法により現時刻における先行車両の絶対位置と絶対速度を求めているが、特許文献１の技術と同じく、閾値以下の低速走行状態が長くなる程、実際の先行車両の挙動との乖離が大きくなる。
【００２２】
特許文献３の技術では、交通量シミュレーションモデルに対してプローブ情報を発信している車両の走行速度情報と、路側に設置した車両感知センサからの交通流および速度に関する情報とを入力として、カルマンフィルタの状態変数を推定しているが、これらの情報の欠測状態が長くなると推定精度が劣化するのは前記の特許文献１や２と同じである。
【００２３】
また、特許文献１〜３の技術は、同一車両に同一車両番号が割当てられていることが前提であり、この割当てが正しくない場合には処理が破綻する。オクルージョンが発生しているカメラ画像からの車両検出のように、欠測状態が長期化しやすい状況下で従来どおりカルマンフィルタを用いると、推定した状態と実際の先行車両の挙動との乖離から実際の車両と車両番号とにずれが生じ、前記の同一車両／同一車両番号の前提が成り立たなくなる。
【００２４】
特許文献４の技術では、物体番号ｉと内部状態ｘとを一対一で対応付けして内部状態を確率分布で表現している。よって、時刻毎の確率分布の更新計算において、オクルージョンの影響で物体ｉと物体ｊの確率分布の入れ替りが発生する可能性があり、この場合には、元の物体番号の対応関係に回復することはできず、よって信頼性が乏しいという問題がある。
【００２５】
本発明の目的は、追跡対象の車両オブジェクトと車両番号との時間的な連続性が途絶えることを防止しつつオクルージョンに対して頑健で高精度かつ高効率な車両追跡が可能な車両追跡装置及び車両追跡方法ならびにそのプログラムを提供することである。
【課題を解決するための手段】
【００２６】
本発明による車両追跡装置は、道路画像から個々の車両をオブジェクトとして検出する車両検出手段と、この検出された個々のオブジェクトに対して複数の車両番号を割当てる車両番号割当て手段と、前記車両番号割当て手段により割当てられた車両番号の各々に基づいて走行経路を追跡する走行経路追跡手段と、前記行経路追跡手段により得られた追跡経路情報から各経路の確率的な確からしさを尤度として算出する経路尤度算出手段と、前記車両番号割当て手段により割当てられた前記車両番号のうち前記経路尤度算出手段により算出された尤度が小なる経路に対応した車両番号を削除する車両番号枝刈り手段とを含むことを特徴とする。
【００２７】
本発明による車両追跡方法は、道路画像から個々の車両をオブジェクトとして検出する車両検出ステップと、この検出された個々のオブジェクトに対して複数の車両番号を割当てる車両番号割当てステップと、この割当てられた車両番号の各々に基づいて走行経路を追跡する走行経路追跡ステップと、追跡経路情報から各経路の確率的な確からしさを尤度として算出する経路尤度算出ステップと、前記割当てられた車両番号のうち前記経路尤度算出ステップにより算出された尤度が小なる経路に対応した車両番号を削除する車両番号枝刈りステップとを含むことを特徴とする。
【００２８】
本発明によるプログラムは、車両追跡方法をコンピュータにより実行するためのプログラムであって、道路画像から個々の車両をオブジェクトとして検出する処理と、この検出された個々のオブジェクトに対して複数の車両番号を割当てる処理と、この割当てられた車両番号の各々に基づいて走行経路を追跡する処理と、追跡経路情報から各経路の確率的な確からしさを尤度として算出する処理と、前記割当てられた車両番号のうち前記経路尤度算出ステップにより算出された尤度が小なる経路に対応した車両番号を削除する処理とを含むことを特徴とする。
【発明の効果】
【００２９】
本発明によれば、道路画像を用いた車両追跡において欠測状態が生じた場合に、車両検出結果に複数の車両番号を割当てることにより、車両検出結果と車両番号との時間的な連続性を確保すると共に、該車両番号のうち追跡処理の結果得られる尤度が小さいものは削除することによって、追跡処理の効率化を図ることができるという効果がある。また、本発明によれば、観測データが存在する場合には尤度を大きく、欠測状態である場合には尤度を小さくすることにより、追跡処理の精度向上を図ることができるという効果がある。
【発明を実施するための最良の形態】
【００３０】
以下に、図面を参照しつつ本発明について詳細に説明する。図１は本発明の実施の形態の概略機能ブロック図である。図１を参照すると、本発明の実施の形態による車両追跡装置は、道路画像から個々の車両を検出して座標と共に出力する車両検出部１と、車両検出部１の処理結果である個々の車両を車両オブジェクトと見なして複数の車両番号を割当てる車両番号割当て部２と、車両検出部１から得られた個々の車両オブジェクトの位置情報及び車両番号割当て部２で割当てられた車両番号を用いて、個々の車両番号に対応した車両オブジェクトの走行経路を追跡、記録する走行経路追跡部３と、走行経路追跡部３の出力結果である追跡経路情報から、各経路の確率的な尤もらしさを尤度として算出する経路尤度算出部４と、車両番号割当て部２で割当てられた車両番号のうち、経路尤度算出部４で算出された尤度が小さい経路に対応した車両番号を車両オブジェクトから削除する車両番号枝刈り部５とから構成されている。
【００３１】
次に、図１に示した本実施の形態の全体の動作について説明する。車両検出部１では、路側に設置したカメラから得られる道路画像から車両を検出する。車両番号割当て部２では、車両検出部１で検出されて走行経路の追跡を開始すると判定された車両オブジェクトに対して車両番号の割当てを行う。車両番号割当て部２の動作を、時刻ｔ＝Ｔにおける車両オブジェクトの追跡状況を表す図２を用いて説明する。
【００３２】
図２において、車両オブジェクトαが走行経路の追跡を開始するオブジェクトと判定されたと仮定する。車両番号割当て部２では、先ず、車両オブジェクトαが走行する車線２上に存在する追跡中の車両オブジェクトのうち、車両オブジェクトαの前方、後方で最も近い位置にある車両オブジェクトの位置を算出する（図２では車両オブジェクトＡ，Ｂで表現）。
【００３３】
更に、車両オブジェクトαに隣接した車線１、車線３上に存在する追跡中の車両オブジェクトのうち、車両進行方向で車両オブジェクトαと同じ位置（図２の破線）を基点として、前方および後方を探索し、基点に最も近い車両オブジェクトの位置を算出する（図２では、車両オブジェクトＣ，Ｄで表現）。車両オブジェクトαには、これらの追跡中の車両オブジェクトに割当ててある車両番号に合わせて、未使用の車両番号を新規に１つ採用して割当てる。
【００３４】
図２の場合、車両オブジェクトＡ〜Ｄにそれぞれ、｛１０，２１｝、｛１８｝、｛３３、４７｝、｛５３｝の車両番号が割当てられているので、未使用の車両番号８０とこれらの車両番号を合わせて｛８０／１０，２１，１８，３３，４７，５３｝の７つの車両番号が割り当てられる。なお、車両番号集合のうち、／の右側が継承した車両番号、左側が新規に採用した車両番号を表す。
【００３５】
走行経路追跡部３では、前記車両番号割当て部２で割り当てた車両番号を用いて、個々の車両オブジェクトの走行経路を追跡してその結果を記録する。この走行経路追跡部３の動作を図３、図４を用いて説明する。図３は、車両オブジェクトαに車両オブジェクトＡ，Ｂが保持している車両番号を割当てることによって発生する経路の分岐を表す。図３から分かるとおり、車両オブジェクトαに対して車両番号１０を割当てて走行経路を追跡することは、車両オブジェクトαを車両番号１０の２番目の経路を走行する車両と仮定して追跡を行うことを意味する。
【００３６】
同様に考えることで、車両オブジェクトαは、車両番号１０の２番目の経路、車両番号１８の２番目の経路、車両番号２１の２番目の経路、車両番号８０の１番目の経路のそれぞれを走行経路として保持し得る車両を表現していることになる。車両オブジェクトαが保持し得るこれら複数の経路のうち、最も尤度が高い経路を用いて車両オブジェクトαの位置計算などを行う。
【００３７】
図４は、図３で説明した各車両番号が持つ複数の経路における車両位置推定を説明するもので、車両番号１０が割当てられた車両オブジェクトの走行経路を表す。図２より、時刻ｔ＝Ｔにおいて車両番号１０が割当てられている車両実オブジェクトには、車両オブジェクトαとＡとがある。
【００３８】
図４の太破線で示した時刻ｔ＝Ｔ−１までの車両番号１０の走行経路情報を用い、車両検出部１の出力結果のうち、図４の黒丸印「・」で示した車両オブジェクトＡの観測位置を、時刻ｔ＝Ｔにおける車両番号１０の車両オブジェクトの観測位置と見なした場合（＝車両番号１０の１番目の経路）、及び図４のバツ印「×」で示した車両オブジェクトαの観測位置を、時刻ｔ＝Ｔにおける車両番号１０の車両オブジェクトの観測位置と見なした場合（＝車両番号１０の２番目の経路）のそれぞれについて真の車両位置を推定し、その値を走行経路追跡部３の処理結果として出力する。
【００３９】
経路尤度算出部４では、走行経路追跡部３で推定した車両オブジェクトの真の位置と観測データの位置とを用いて、推定した走行経路の確率的な確からしさやスコアを尤度として算出する。スコアＳとしては、例えば１時刻前に推定した車両実オブジェクトの現時刻ｉでの予測位置及び観測位置を、それぞれ、
【数１６】
2010092248.tif 000018
とし、更に、任意の微小正数をεとし、また、時刻Ｔにおける車両実オブジェクトの前後関係に基づいて調整を行う係数をηとして、
【数１７】
2010092248.tif 000019
と定義することにより、推定した予測位置と観測位置とのずれが小さいほど大きな値をとるスコア関数を採用することが可能である。
【００４０】
車両番号枝刈り部５では、追跡中の各車両オブジェクトに割当てられた車両番号のうち、経路尤度算出部４で算出された尤度が小さい経路に対応した車両番号を削除する。図２において、進行方向を逆走する車両がないという前提の下で、車両実オブジェクトαにおける車両番号枝刈り部５の動作を説明する。走行経路追跡部３と経路尤度算出部４において、車両実オブジェクトαに割当てられた各車両番号の時刻ｔ＝Ｔ−１までで持つ走行経路情報を用い、時刻ｔ＝Ｔにおける観測位置が車両検出部１で得られた車両実オブジェクトαの位置と見なした時の真の車両位置と尤度とが、各車両番号に対して計算される。
【００４１】
車両が逆走することはないので、車両実オブジェクトαの前方を走行する車両Ａから継承した車両番号１０，２１については、式（１１）のηを小さくすることにより、その尤度を小さくすることができる。車両番号枝刈り部５では、車両実オブジェクトαに割当てられた車両番号のうち、車両番号１０，２１が削除される。
【００４２】
本実施の形態における車両検出部１において、車両検出方法には、多層Neural Network、SVM(Support Vector Machine) 、Adaboost等の学習済みの識別器を用いることができる。また、オプティカルフロー法、背景差分法、モーションステレオ法、複眼ステレオ法等を用いて検出を行ってもよい。
【００４３】
また、本実施の形態における車両番号割当て部２において、車線変更を考慮しない場合には、隣接車線上の車両実オブジェクトが持つ車両番号の継承を除外してもよい。更に、本実施の形態における走行経路追跡部３では、HMM(Hidden Markov Model)、Kalman Filter 、DBN(Dynamic Bayesian Network) のように、観測データから隠れ状態を推定する統計的な手法を用いてもよい。また、Cell Automatonのように隣接する車両間の挙動に制限を加えるモデルを用いてもよい。
【００４４】
更にはまた、本実施の形態における走行経路追跡部３では、観測データと車両オブジェクトとの対応が付いている場合には、Kalman Filter などの隠れ状態推定法、対応が付かない場合には、Cell Automatonなどの車両挙動制限モデルを組み合わせて用いてもよい。隠れ状態推定法としてKalman  Filter、車両挙動制限モデルとしてCell Automatonを用いた場合の走行経路追跡方法を、図５を用いて説明する。
【００４５】
観測データに基づき走行経路追跡を行っている車両オブジェクトを車両実オブジェクトと記す。また、車両実オブジェクト間に車両が存在するものと見なして配置する車両オブジェクトを車両仮想オブジェクトと記す。Kalman Filter を用いて走行経路追跡を行っている車両実オブジェクトについては、車両仮想オブジェクトの存在に関係なく、尤度の高い走行経路から算出される真の車両位置に基づいてセル画像上でその位置を更新し、同一車線後方に存在する他の車両実オブジェクトの手前まで車両仮想オブジェクトを、図６に示すように設定する。
【００４６】
Cell Automatonを用いて走行経路追跡を行っている車両実オブジェクトおよび車両仮想オブジェクトについては、同一車線前方に存在する車両実／仮想オブジェクトの追い越しが発生しないように、車両オブジェクトのセル画像上の位置を更新する。
【００４７】
本実施の形態における経路尤度算出部４において用いられる尤度は、車両実オブジェクトの真の位置と観測位置との差が小さいほど大きくなる関数であれば、どのようなものを用いてもよい。
【００４８】
以下に、本発明の実施の形態の動作の詳細について、図７から図１７のフローチャートを参照して説明する。図７は全体の処理の流れを表しており、図７のステップＡ１が車両検出部１の動作であり、ステップＡ２〜Ａ５が車両番号割当て部２の動作を示し、ステップＡ７〜Ａ８が走行経路追跡部３の動作を示し、またステップＡ１０〜Ａ１２が経路尤度算出部４の動作を示す。そして、ステップＡ６，Ａ９が車両番号枝刈り部５の動作を表している。
【００４９】
図８は図７におけるステップＡ３の処理の流れの詳細を示し、図９は図８におけるステップＢ３の動作の詳細を示す。図１０は図８におけるステップＢ１４の動作の詳細を示し、図１１は図１０におけるステップＤ４の動作の詳細を示し、図１２は図１１におけるステップＥ９の動作の詳細を示す。
【００５０】
また、図１３は図１１におけるステップＥ１５の動作の詳細を示し、図１４は図１３におけるステップＧ５の動作の詳細を示し、図１５は図８におけるステップＢ１５の動作の詳細を示す。更に、図１６は図７におけるステップＡ４の動作の詳細を示し、図１７は図７におけるステップＡ８の動作の詳細を示したものである。
【００５１】
なお、図１０のステップＤ２，Ｄ５，Ｄ１０及び図１５のステップＩ２，Ｉ６が車両番号割当て部２の動作に対応し、図１２のステップＦ４、図１４のステップＨ５が経路尤度算出部４の動作にに対応し、それ以外が走行経路追跡部３の動作に対応する。
【００５２】
以下の説明では、車両オブジェクトの１時刻前の真の位置（ろ過位置と略す）と現時刻の観測位置との対応が取れている、もしくは欠測状態の継続時間が予め定めた閾値以下の場合は、Kalman Filter （以下ＫＭと略す）、それ以外の場合はCell Automaton（以下ＣＡと略す）を用いることとし、セル画像上に図５で示した車両実オブジェクト及び車両仮想オブジェクトを設定して、車両オブジェクトの挙動制御を行うものとする。
【００５３】
また、各車両実オブジェクト及び各車両番号が持つ走行経路追跡情報を保存するための構造体を、図１８及び図１９に示し、処理に共通な情報を保存するための構造体を図２０のように定義する。図１８及び図１９において、追跡状態、追跡モードは、注目車両番号の走行経路追跡状態と、走行経路追跡に用いている手法を表す。追跡状態は、初期状態（＝０）、待機状態（＝１）、実行状態（＝２）の３状態、及び追跡モードは、初期モード（＝０）、ＫＭを用いるモード（＝１）、ＣＡを用いるモード（＝２）の３モードを取り、これらの状態間、モード間を図２１のように遷移するものとする。また、MaxObjは車両番号の最大数、MaxPath は車両番号１つ当りに対して許容する走行経路の最大数である。
【００５４】
ステップＡ１では、車両検出処理により画像上の座標系（画像座標）で算出された車両の観測データ座標を、道路上に設定した実スケールの座標系（世界座標）に変換して、現時刻における観測データ座標として構造体od[1][i].info[j].Obs.{x/y}に保存する。なお、ｉ（=0,1, …,LaneNum-1）は、観測座標が存在する車線番号、ｊ（=0,1, …,od[1][i].DatNum−1 ）は車両実オブジェクトの識別番号であり、od[1][i].DatNum は、現時刻において車線番号ｉの車線上に存在する観測座標の総数となる。
【００５５】
ステップＡ２では、現時刻における各車両の観測座標od[1][i].info[j].Obs.{x/y}（i=0,1,  …,LaneNum-1、j=0,1,…,od[1][i].DatNum-1）と、１時刻前の車両実オブジェクトの予測位置od[0][k].info[l].Prd.{x/y}（k=0,1,…,LaneNum-1,l=0,1, …,od[1][k].DatNum-1）の距離を比較し、その値が予め設定した閾値以外の組を対応付ける。od[1][i].info[j].Obs.{x/y}とod[0][k].info[l].Prd.{x,y}が対応付けられた場合（オブジェクト対応状態と略す）には、対応関係をod[1][i].info[j].CorObsLane=k 、od[1][i].info[j].CorObsNo=l として保存する。
【００５６】
更に、od[0][k].info[l]のメンバの値をod[1][i].info[j]にコピーする。現時刻の車両実オブジェクトに対してはステップＡ３で、１時刻前の車両実オブジェクトのうち現時刻の車両実オブジェクトと対応付いていないものに対してはステップＡ４で走行経路追跡を実行する。
【００５７】
ステップＡ５では、各車両実オブジェクトに注目し、割振られている車両番号、すなわちod[i][j].info[k].UseFlg[l]=1(i=0,1 j=0, …,LaneNum-1 k=0, …,od[i][j].DatNum-1 l=0, …,MaxObj-1)となるｌの経路ｍ（m=0,…,MaxPath-1）で注目車両実オブジェクトを含むもののうち、そのスコアiif[l].info[m][1].Score が最大となる車両番号ObjNo と経路番号PathNoが算出される。
【００５８】
そして、
od[i][j].info[k].CurPosi.{x/y}=iif[ObjNo].info[PathNo][1].FltMean[0/1]
od[i][j].info[k].Prd.{x/y}=iif[ObjNo].info[PathNo][1].PrdMean[0/1]
od[i][j].info[k].Obs.{x/y}=iif[ObjNo].info[PathNo][1].Obs.{x/y}
od[i][j].info[k].Velo.{x/y}=追跡開始から現時刻までの注目実オブジェクトの平均速度
od[i][j].info[k].CurTrkStat=iif[ObjNo].info[PathNo][1].TrkStat
od[i][j].info[k].CurTrkMode=iif[ObjNo].info[PathNo][1].TrkMode
od[i][j].info[k].ObsLack=iif[ObjNo].info[PathNo][1].ObsLack
の関係により、個々の車両番号に基づく追跡情報を車両実オブジェクトに対応付ける。
【００５９】
ステップＡ６では、各車両実オブジェクトが保持している車両番号と走行経路の組み合わせの中から、スコアの値が予め定めた閾値より小さいものを特定し、該当するものを車両番号毎の追跡情報構造体iif から削除すると共に、必要に応じて該当車両番号に対応した車両実オブジェクト毎の追跡情報構造体odのメンバ配列UseFlgの値を０に初期化する。
【００６０】
ステップＡ７では、１時刻前と現時刻における車両実オブジェクトのうち、棄却扱いされなかったものを現時刻における車両実オブジェクト毎の追跡情報構造体od[1] に保存し直す。ステップＡ８では、車両仮想オブジェクトの設定並びに全車両オブジェクトのセル画像上での位置座標の更新が行わなわれ、その結果がpc.CellImg[1] 、pc.ObjPosInfo[1]、pc.ObjVeloInfo[1] に保存される。
【００６１】
ステップＡ９では、棄却扱いと判定された現時刻の車両実オブジェクトが保持している車両番号と走行経路を、対応した車両番号毎の追跡情報構造体から削除する。ステップＡ１０では、棄却扱いされなかった現時刻の車両実オブジェクトを１時刻前における車両実オブジェクト毎の追跡情報構造体od[0] に保存する。
【００６２】
なお、追跡状態と追跡モードに関しては、
od[0][i].info[j].PastTrkStat=od[1][i].info[j].CurTrkStat
od[0][i].info[j].PastTrkMode=od[1][i].info[j].CurTrkMode
で更新する。
【００６３】
ステップＡ１１では、現時刻における車両番号毎の追跡情報構造体iif[i].info[j][1](i=0,, …,MaxObj −1 j=0,…,MaxPath−1)を１時刻前の車両番号毎の追跡情報構造体iif[i].info[j][0] に保存する。ステップＡ１２では、現時刻におけるセル情報pc.CellImg[1] 、pc.ObjPosInfo[1]、pc.ObjVeloInfo[1] を、１時刻前のセル情報として、pc.CellImg[0、pc.ObjPosInfo[0]、pc.ObjVeloInfo[0] に保存し、現時刻におけるセル情報の初期化を行う。
【００６４】
図７のステップＡ３の処理を図８を用いて説明する。なおステップＢ８、Ｂ１１は同じ処理である。図８のステップＢ１において、現時刻の車両実オブジェクト構造体をA=od[1][i].info[j]として、可能な全てのｉ，ｊに対してステップＢ２〜ステップＢ１５が行われる。ステップＢ２では、構造体ＡをＣＡへの入力構造体InCAに設定し、現時刻の車両実オブジェクトろ過位置A.CurPosi をInCA.FltMean、速度ベクトルA.VeloCAをInCA.Velo とする。
【００６５】
ステップB3では、入力InCAに対してＣＡによる車両位置NewPosi.{x/y} と速度ベクトルNewVelo.{x/y} を算出する。ステップＢ４では、ステップＢ３の出力NewPosi 、NewVelo をそれぞれA.PosCA 、A.VeloCAに保存する。ステップＢ５では、注目オブジェクトの識別のため、TimeNo=1、LaneNo=i、ObsNo=j とされる。
【００６６】
ステップＢ６では、追跡状態TSおよび追跡モードTMを、TS=od[1][i].info[j].CurTrkStat、TM=od[1][i].info[j].CurTrkModeとしてそれぞれ設定する。ステップＢ７では、注目車両実オブジェクトＡの１時刻前の車両実オブジェクトとの対応状態について判定が行われ、対応関係が存在する場合はステップＢ９、存在しない場合はステップＢ８に処理がそれぞれ移る。ステップＢ８では、A.CurTrkStat=0、A.CurTrkMode=1として注目車両実オブジェクトＡを追跡準備状態に遷移させる。ステップＢ９では、ＴＭの値の判定が行われ、TM=0の場合はステップＢ１０へ、それ以外の場合はＢ１３へ処理がそれぞれ移る。
【００６７】
ステップＢ１０では、ＴＳの値の判定が行われ、TS=0の場合はステップＢ１１へ、それ以外の場合はＢ１２へ処理がそれぞれ移る。ステップＢ１２では、フラグを立てることにより、注目車両実オブジェクトＡを棄却扱いとする。ステップＢ１３では、ＴＭの値の判定が行われ、TM=1の場合はステップＢ１４へ、それ以外の場合はＢ１５へ処理がそれぞれ移る。ステップＢ１４では、A.Obs.{x/y} を観測座標として、注目車両実オブジェクトが現時刻において保持している全ての車両番号（現時刻に新規に生成した車両番号も含む）に対して、ＫＭをベースとした走行経路の追跡を行う。ステップＢ１５では、ステップＢ１４と同じ走行経路の追跡をＣＡをベースに用いて行う。
【００６８】
図８におけるステップＢ３の動作を図９を用いて説明する。ステップＣ１では、車両位置を表すInCA.FltMean[0/1] を座標Pos1.{x/y}に設定する。ステップＣ２では、セル画像上においてPos1.{x/y}に対応したセル座標C1.{x/y}が設定される。ステップＣ３では、１時刻前のセル画像pc.CellImg[0] において、C1と同一ｘ座標（すなわち同一車線上）の前方を探索し、pc.CellImg[0][C2] ≠0 （後述の図１７で説明するとおり、車両オブジェクトが存在するセルを表す）となるセル座標C2.{x/y}およびそれに対応した車両位置Pos2.{x/y}を算出する。
【００６９】
ステップＣ４では、乱数Randomが生成され、ステップＣ５でｙ方向速度Velo.y=InCA.Velo.y+Random が設定される。ステップＣ６では、Pos3.y=Pos1.y+Velo.y、Pos3.x=Pos1.x の関係式で座標Pos3.{x/y}を設定する。ステップＣ７では、Pos3とPos2の位置関係が判定される。Pos3がPos2より前方となる場合は、同一車線上での車両の追い越しというあり得ない状況を意味しているため、ステップＣ８でPos3.y=Pos2.y と設定し直す。ステップＣ９では、Pos3.{x/y}をNewPosi.{x/y} 、NewVelo.{x/y}=Pos3.{x/y}-Pos1.{x/y} として保存する。
【００７０】
なお、ステップＣ５のRandomの加算は車両の加減速を再現するものである。また、ｘ方向速度についても乱数を加算し、ステップＣ６で車線変更の可能性を加味して良い。
【００７１】
図８のステップＢ１４の処理を図１０を用いて説明する。なお、ステップＤ４とＤ８とＤ１２とは同じ処理であり、またステップＤ６とＤ１０とは同じ処理であり、更にステップＤ７とＤ１１とは同じ処理を表す。ステップＤ１では、TSの値の判定が行われ、TS=0の場合はステップＤ２へ、それ以外の場合はステップＤ９へ処理がそれぞれ移る。
【００７２】
ステップＤ２では、現時刻において未使用の車両番号を新規車両番号として生成し、その値をNewNo とする。ステップＤ３では、ＫＭへの入力車両番号をステップＤ２で生成したNewNo とする。ステップＤ４では、入力車両番号に対して観測座標A.Obs.{x/y} を用いてＫＭもしくはＣＡを用いた走行経路追跡処理を実行する。
【００７３】
ステップＤ５では、NewNo を既存車両番号扱いするためにA.UseFlg[NewNo]=1 、pc.UseFlg[NewNo]=1としてフラグを立てた上で、A.CurTrkStat=2として追跡状態を実行状態に遷移させる。ステップＤ６では、注目車両実オブジェクトＡの観測位置A.Obs.{x/y} を基準として、自走車線、隣接車線の前後に存在する１時刻前の車両実オブジェクトを探索する。そして、各車線、各方向（前後）で最も注目車両実オブジェクトＡに近い車両実オブジェクト（図２を用いた説明を参照）が保持する車両番号を継承し、それらの車両番号ｘに対してA.UseFlg[x]=1 としてフラグを立て、保持既存車両番号と見なす。
【００７４】
ステップＤ７では、現時刻における注目実車両オブジェクトＡの保持既存車両番号をＫＭへの入力番号として設定する。ステップＤ９では、現時刻における注目車両実オブジェクトの欠測状態継続フレーム数A.ObsLack の値の判定が行われ、A.ObsLack ≠0 の場合はステップＤ１０へ、それ以外の場合はステップＤ１１へ処理がそれぞれ移る。
【００７５】
図１０のステップＤ４の処理を図１１を用いて説明する。ステップＥ１で、車両番号ｉ（=0,1, …,MaxObj-1 ）を設定し、全てのｉに対してステップＥ２〜Ｅ１６の処理を実行する。ステップＥ２では、pc.UseFlg[i]の値の判定が行われ、その値が１の場合は、走行経路追跡に使用中の車両番号と見なして処理をステップＥ３に移す。ステップＥ３では、車両番号ｉが新規に生成した車両番号か否かの判定が行われ、Yes の場合はステップＥ４で探索経路上限数End を１に設定し、Noの場合はステップＥ５でEnd=MaxPath に設定する。
【００７６】
ステップＥ６では、経路番号ｊ（=0,1, …,End-1）を設定し、全てのｊに対してステップＥ７〜Ｅ１５の処理を行う。ステップＥ７では、車両番号ｉのｊ番目の経路の１時刻前の追跡状態をTS=iif[i].info[j][0].TrkStatとし、追跡モードをTM=iif[i].info[j][0].TrkModeとする。ステップＥ８では、ＴＭの値の判定が行われ、１の場合はステップＥ９へ、それ以外の場合はステップＥ１０へ処理をそれぞれ移す。
【００７７】
ステップＥ９では、車両番号ｉのｊ番目の走行経路情報iif[i].info[j][0] と、与えられている観測座標を用いてＫＭを実行する。ステップＥ１０では、ＴＭの値の判定が行われ、ＴＭの値が２の場合はステップＥ１１及びＥ１２でＴＳの値の判定が行われる。TS=1の場合はステップＥ１３で、mode=1と設定され、TS=2の場合はステップＥ１４でmode=0と設定される。ステップＥ１５で、車両番号ｉのｊ番目の走行経路情報iif[i].info[j][0] 及び与えらたmodeの値をモジュール実行モードとしてＣＡを実行する。
【００７８】
ステップＥ１６では、更新された走行経路追跡情報iif[i].info[j][1] をそのスコアiif[i].info[j][1].Score の降順に並び替える。後述のとおり、車両のろ過位置、予測位置、スコアの計算結果はiif[i].info[MaxPath][1] に保存される。ステップＥ１６を行うことにより、iif[i].info[j][1] は常にスコアの大きい順に並んでいることになり、図７のステップＡ５で行う各車両番号に対する最大スコア経路の探索が容易になる。
【００７９】
図１１におけるステップＥ９の動作を図１２を用いて説明する。ステップＦ１では、車両番号ｉのｊ番目の走行経路追跡情報iif[i].info[j][0] のろ過分布平均ベクトルFltMean 、分散共分散行列FltVar、予測分布平均ベクトルPrdMean 、分散共分散行列PrdVarを、それぞれ式（１）〜（１０）で示した
【数１８】
2010092248.tif 000020
とする。ステップＦ２で、これらのベクトル、行列と与えられた観測座標を用いてろ過処理と予測処理とを行う。
【００８０】
ステップＦ３では、ステップＦ２で得られた
【数１９】
2010092248.tif 000021
を、MaxPath+1 番目の走行経路追跡情報iif[i].info[MaxPath][1] のFltMean 、FltVar、PrdMean 、PrdVarにそれぞれ保存する。
【００８１】
ステップＦ４では、iif[i].info[j][0].PrdMean[0/1]（すなわち１時刻前に予測した現時刻での車両位置）と与えられた観測座標から、例えば式（１１）等を用いて経路スコアが計算される。ステップＦ５では、ステップＦ４で得られたスコアがiif[i].info[MatPath][1].Score に保存され、追跡状態iif[i].info[MaxPath][1].TrkStat=2 、追跡モードiif[i].info[MaxPath][1].TrkMode=1 が設定される。
【００８２】
ステップＦ６において、注目車両実オブジェクトが１時刻前の車両実オブジェクトと対応付いていると判定された場合にはステップＦ７に、未対応と判定された場合にはステップＦ９に処理がそれぞれ移る。ステップＦ７では、iif[i].info[MaxPath][1].Obs.{x/y} に入力観測座標が保存される。ステップＦ８では、欠測状態継続フレーム数を表すiif[i].info[MaxPath][1].ObsLack の値が０に設定される。ステップＦ９では、iif[i].info[j][0].ObsLack の値をiif[i].info[MaxPath][1].ObsLack にコピーした上で、ステップＦ１０で、iif[i].info[MaxPath][1].ObsLack に１を加算して欠測状態継続フレーム数を更新する。
【００８３】
ステップＦ１１では、注目車両実オブジェクトが欠測状態、すなわち対応する観測座標が存在しない状態であるため、ステップＦ３で得られたろ過処理の平均ベクトルの第０、１成分を観測座標と見なして、iif[i].info[MaxPath][1].Obs.{x/y} に保存される。ステップＦ１２で、iif[i].info[MaxPath][1].ObsLack が予め設定した閾値ObsLackThre と一致したと判定された場合は、ＣＡによる追跡へ追跡モードを遷移させるために、ステップＦ１３で、追跡モードiif[i].info[MaxPath][1].TrkMode の値を２に設定する。
【００８４】
図１１におけるステップＥ１５の動作を図１３を用いて説明する。なお、ステップＧ７は図１１のステップＥ９と、ステップＧ８は図１１のステップＥ１６とそれぞれ同じであるため、説明を省略する。ステップＧ１では、１時刻前の予測処理で得られた予測位置iif[i].info[j][0].PrdMean[0/1]と、入力観測座標との変位ベクトルΔｘ，Δｙとがそれぞれ算出される。ステップＧ２では、入力されたmodeの値が判定され、０の場合はステップＧ３に、それ以外の場合はステップＧ４にそれぞれ処理が移る。
【００８５】
ステップＧ３において、Δｘ，Δｙが共に予め設定された閾値以下となる場合はステップＧ６に、それ以外の場合はステップＧ５にそれぞれ処理が移る。ステップＧ４において、Δｘ，Δｙ共に予め設定された閾値以下となる場合はステップＧ７に、それ以外の場合はステップＧ５にそれぞれ処理が移る。ステップＧ５では、注目車両実オブジェクトに対してＣＡが実行される。ステップＧ６では、ＣＡで追跡を実行中の注目車両実オブジェクトの追跡状態を実行状態から待機状態へ遷移させる処理が行われる。
【００８６】
図１３におけるステップＧ５の動作を図１４を用いて説明する。なお、図１４のステップＨ７，Ｈ８はそれぞれ図１２のステップＦ９，Ｆ１０とそれぞれ同一であるため説明を省略する。ステップＨ１では、図８のステップＢ５や後述する図１６のステップＪ５で設定した車両実オブジェクトを識別するTimeNo、LaneNo、ObsNo を用いて、od[TimeNo][LaneNo].info[ObsNo]が構造体Ａにコピーされる。ステップＨ２では、与えられている観測座標とＣＡを用いた更新後の座標との差Disp.{x/y}がDisp.{x/y}=A.PosCA.{x/y}−A.Obs.{x/y} で計算される。
【００８７】
ステップＨ３では、１時刻前のろ過処理分布iif[i].info[j][0].{FltMean,FltVar}と、予測処理分布iif[i].info[j][0].{PrdMean,PrdVar}とが、それぞれiif[i].info[MaxPath][1].{FltMean,FltVar}、iif[i].info[MaxPath][1].{PrdMean,PrdVar}にそれぞれ保存される。ステップＨ４では、iif[i].info[MaxPath][1].{PrdMean,FltMean}[0/2]にはDisp.xが、iif[i].info[MaxPath][1].{PrdMean,FltMean}[1/3]にはDisp.yがそれぞれ加算される。
【００８８】
ステップＨ５では、注目車両番号ｉの注目走行経路ｊについて、例えば式（１１）を用いたスコア計算が行われ、iif[i].info[MaxPath][1].Score にその値が保存される。ステップＨ６では、現時刻における追跡状態iif[i].info[MaxPath][1].TrkStat が追跡実行状態を表す２に設定され、追跡モードiif[i].info[MaxPath][1].TrkMode にはＣＡを表す２が設定される。
【００８９】
また、ＣＡで走行経路の追跡を行うのは欠測状態のときであるので、入力観測座標には、注目車両実オブジェクトのＣＡを用いた場合の更新座標od[TimeNo][LaneNo].info[ObsNo].PosCA.{x/y}を用いることとし、その値をiif[i].info[MaxPath][1].Obs.{x/y} に保存する。ステップＨ４の処理を行う理由を説明する。ＣＡが実行モードである間は、ろ過と予測を行うことができないので、ＣＡによる追跡開始時点におけるろ過位置と予測位置との位置関係を時間的に保持するために、ＣＡで算出される車両オブジェクトの位置の分を逐次オフセットとして加算する処理がステップＨ４である。
【００９０】
図１３におけるステップＧ６の動作は、図１４のステップＨ６において、追跡状態iif[i].info[MaxPath][1].TrkStat を、追跡待機状態を表す１に設定する以外は、全て図１４と同一である。
【００９１】
図８におけるステップＢ１５の動作を図１６を用いて説明する。なお、図１５のステップＩ２〜Ｉ８、Ｉ９〜Ｉ１０はそれぞれ図１０のステップＤ２〜Ｄ８、Ｄ１１〜Ｄ１２と同一であるため説明を省略する。ステップＩ１では、TSの値が判定され、TS=1の場合はステップＩ２に、それ以外の場合はステップＩ９にそれぞれ処理を移す。
【００９２】
図７におけるステップＡ４の動作を図１６を用いて説明する。なお、図１６のステップＪ２〜Ｊ４は図８のステップＢ２〜Ｂ４と同一であり、図１６のステップＪ１６、ステップＪ１７は、それぞれ図１１のステップＥ９、図１３のステップＧ５と同一であるので説明を省略する。図１６のステップＪ１において、１時刻前の車両実オブジェクト構造体をA=od[0][i].info[j]として、可能な全てのｉ，ｊに対して、ステップＪ２〜Ｊ１７が行われる。
【００９３】
ステップＪ５では、注目オブジェクトの識別のため、TimeNo=0、LaneNo=i、ObsNo=j とされる。ステップＪ６では、追跡状態TSおよび追跡モードTMを、TS=od[0][i].info[j].CurTrkStat、TM=od[0][i].info[j].CurTrkModeとしてそれぞれ設定する。ステップＪ７では、注目車両実オブジェクトＡの１時刻前の車両実オブジェクトとの対応状態について判定が行われ、対応関係が存在しない場合はステップＪ８に処理が移る。ステップＪ８では、TSとTMの値の判定が行われ、TM=1かつTS=0の場合は、ステップＪ９で注目車両実オブジェクトを棄却扱いとし、それ以外の場合はステップＪ１０に処理を移す。
【００９４】
ステップＪ１０では、車両番号ｋ（=0,1, …,MaxObj-1 ）を設定し、全てのｋに対してステップＪ１１〜Ｊ１７の処理を実行する。ステップＪ１１では、pc.UseFlg[k]の値の判定が行われ、その値が１の場合は走行経路追跡に使用中の車両番号と見なして処理をステップＪ１２に移す。ステップＪ１２では、経路番号ｌ（=0,1, …,MaxPath-1）を設定し、全てのｌに対してステップＪ１３〜Ｊ１７の処理を行う。
【００９５】
ステップＪ１３では、１時刻前における車両番号ｋのｌ番目の経路の追跡モードiif[k].info[l][0].TrkMode がtmに保存される。ステップＪ１４において、tm=1の場合はステップＪ１６に、それ以外の場合はステップＪ１５に処理が移る。ステップJ15 においてtm=2と判定された場合はステップJ17 にそれぞれ処理が移る。
【００９６】
図７におけるステップＡ８の動作を図１７わ用いて説明する。なお、図１７のステップＫ５は図８のステップＢ３と同一であるため説明を省略する。ステップＫ１では、各車両実オブジェクトの車両位置od[1][i].info[j].CurPosi.{x/y}(i=0, …,LaneNum-1、j=0,…,od[1][i].DatNum-1) に対応したセル座標Ｃを求め、現時刻のセル画像上で対応した画素pc.CellImg[1][C]の値を１に設定する。ステップＫ２では、全てのｋ（=0, …,CellNum-1）に対してステップＫ３〜Ｋ７の処理を行う。
【００９７】
ステップＫ３では、１時刻前のセル画像における座標ｋでの画素値pc.CellImg[0][k]が判定され、その値が２の場合は、該当セル座標上に車両仮想オブジェクトが存在すると見なしてステップＫ４に処理を移す。ステップＫ４では、セル座標ｋ上にある車両仮想オブジェクトが持つ位置情報pc.ObjPosInfo[0][k].{x/y} 及び速度情報pc.ObjVeloInfo[0][k].{x/y}がCAの入力InCAに設定される。
【００９８】
ステップＫ６では、ステップＫ５で算出した車両仮想オブジェクトの更新後車両位置座標NewPosi.{x/y} に対応したセル座標Ｃ’が算出される。ステップＫ７では、更新後の車両仮想オブジェクトの情報が、現時刻の情報としてpc.CellImg[1][C ’]=2 、pc.ObjPosInfo[1][C’].{x/y}=NewPosi.{x/y} 、pc.ObjVeloInfo[1][C ’].{x/y}=NewVelo.{x/y} として保存される。ステップＫ８では、全てのｍ（=0, …,CellNum-1）に対してステップＫ９〜Ｋ１３の処理を行う。
【００９９】
ステップＫ９では、現時刻でのセル画像pc.CellImg[1][m]の値が判定され、その値が１の場合はステップＫ１０に処理が移る。ステップＫ１０では、セル座標ｍ上に存在する車両実オブジェクトの現時刻における追跡モードがTrkMode に保存される。ステップＫ１１では、TrkMode の値に対する判定が行われ、その値が１の場合はステップＫ１２に処理が移る。ステップＫ１２では、現時刻におけるセル画像pc.CellImg[1] 上においてセル座標ｍと同一ｘ座標（すなわち同一車線）かつ後方において、車両実オブジェクトが存在するセルの探索が行われ、該当するセル座標がｎとして保存される。
【０１００】
ステップＫ１３では、セル座標ｍとセル座標ｎで挟まれた全てのセル座標Ｃ’’に対して、pc.CellImg[1][C ’’]=2 、pc.ObjPosInfo[1][C’’].{x/y}=C ’’に対応した世界座標、pc.ObjVeloInfo[1][C ’’].{x/y}=セル座標ｍ上に存在する車両実オブジェクトが持つ速度ベクトルとして、車両仮想オブジェクトの設定が行われる（図６参照）。
【０１０１】
このように、欠測状態のように車両番号の一意的な割当てが困難な場合には、複数の車両番号の割当てを許容することで、車両オブジェクトと車両番号の時間的な連続性が途絶することを防止が可能なことである。また、車両オブジェクトと観測データとの対応付けの有無によって、追跡経路の尤度計算を制御し、この尤度の大小関係に基づいて割当てた車両番号の枝刈りを行うことにより、オクルージョンに頑健で高精度かつ高効率な車両追跡ができることになる。
【０１０２】
以上をまとめると、本発明によれば、車両走行経路追跡処理において車両オブジェクトと車両番号の時間的な連続性が途絶することを防止しつつ、オクルージョンに頑健で高精度かつ高効率な車両追跡ができることになる。
【０１０３】
なお、上記の実施の形態における各動作フローは、予めその動作手順をプログラムとして記録媒体に格納しておき、これをコンピュータにより読込ませて実行させる様に構成できることは明白である。
【図面の簡単な説明】
【０１０４】
【図１】本発明の実施の形態の概略機能ブロック図である。
【図２】注目車両オブジェクトへの複数車両番号割当て方法を説明する図である。
【図３】注目車両オブジェクトが保持する複数車両番号の複数経路を説明する図である。
【図４】注目車両番号の複数経路に対して推定される真の車両位置を説明する図である。
【図５】車両実オブジェクトと車両仮想オブジェクトとを用いた走行経路追跡を説明する図である。
【図６】車両仮想オブジェクトの設定方法を説明する図である。
【図７】本発明の実施の形態の全体の動作を示すフローチャートである。
【図８】図７のステップＡ３の詳細を示すフローチャートである。
【図９】図８のステップＢ３の詳細を示すフローチャートである。
【図１０】図８のステップＢ１４の詳細を示すフローチャートである。
【図１１】図１０のステップＤ４の詳細を示すフローチャートである。
【図１２】図１１のステップＥ９の詳細を示すフローチャートである。
【図１３】図１１のステップＥ１５の詳細を示すフローチャートである。
【図１４】図１３のステップＧ５の詳細を示すフローチャートである。
【図１５】図８のステップＢ１５の詳細を示すフローチャートである。
【図１６】図７のステップＡ４の詳細を示すフローチャートである。
【図１７】図７のステップＡ８の詳細を示すフローチャートである。
【図１８】車両実オブジェクト毎の追跡情報構造体を説明する図表である。
【図１９】車両番号毎の追跡情報構造体を説明する図表である。
【図２０】追跡処理共通情報構造体を説明する図表である。
【図２１】注目車両番号に対する追跡状態と追跡モードとの遷移関係を示す図である。
【図２２】セル画像の概念を表す図である。
【図２３】Cell Automatonのルール１８４を説明する図である。
【符号の説明】
【０１０５】
１  車両検出部
２  車両番号割当部
３  走行経路追跡部
４  経路尤度算出部
５  車両番号枝刈り部
【図１】
2010092248.tif 000022
【図２】
2010092248.tif 000023
【図３】
2010092248.tif 000024
【図４】
2010092248.tif 000025
【図５】
2010092248.tif 000026
【図６】
2010092248.tif 000027
【図７】
2010092248.tif 000028
【図８】
2010092248.tif 000029
【図９】
2010092248.tif 000030
【図１０】
2010092248.tif 000031
【図１１】
2010092248.tif 000032
【図１２】
2010092248.tif 000033
【図１３】
2010092248.tif 000034
【図１４】
2010092248.tif 000035
【図１５】
2010092248.tif 000036
【図１６】
2010092248.tif 000037
【図１７】
2010092248.tif 000038
【図１８】
2010092248.tif 000039
【図１９】
2010092248.tif 000040
【図２０】
2010092248.tif 000041
【図２１】
2010092248.tif 000042
【図２２】
2010092248.tif 000043
【図２３】
2010092248.tif 000044