(57)【特許請求の範囲】
【請求項１】
移動体の映像から移動体の移動を検出する移動体組合せ検出装置において、
移動体の映像を入力する手段と、該入力された映像から移動体を検出する移動体検出手段とを組にした複数の手段と、
それぞれの組において検出された前記移動体に関する情報をもとに、該移動体の検出を判定する移動体組合せ判定手段と、
前記判定された移動体検出情報を出力する手段を備え、
前記移動体検出手段は、
前記入力された映像に対して移動体の有無の判定を行なう着目領域を設定する手段と、
前記入力された映像のある特定のフレーム画像における該着目領域のデータと前記入力された映像の各フレーム画像における該着目領域のデータとの相関を算出する手段と、
該算出された少なくとも１つの相関値のパターンから、移動体の存在有無情報と背景画像の変更情報に基づいて移動体検出イベントを作成する手段を有し、
前記移動体組合せ判定手段は、
前記それぞれの移動体検出手段によって作成される移動体検出イベントを、該イベントに対応する移動体の識別子、該移動体の検出時刻、該移動体の検出種別、前記着目領域における該移動体の画像、前記着目領域における背景画像及び前記入力された映像に含まれるフレーム画像を含む前記移動体に関するイベントリストとして格納し、前記入力された映像に関するイベント組合せ条件に基づいて、前記移動体に対する検出結果を判定し、
該判定結果をもとに、前記入力された映像における移動体の検出を決定することを特徴とした移動体組合せ検出装置。
【請求項２】
請求項１記載の移動体組合せ検出装置において、前記移動体組合せ判定手段の移動体検出手段以外の入力として、外部入力手段と外部検出手段を用意し、それを組み合わせて検出することを特徴とする移動体組合せ検出装置。
【請求項３】
請求項１記載の移動体組合せ検出装置において、前記移動体検出手段から出力される移動体検出情報として、複数個ある移動体検出手段を識別する識別子を有することを特徴とする移動体組合せ検出装置。
【請求項４】
請求項１記載の移動体組合せ検出装置において、各々の移動体検出手段で用いる着目領域を、直線や曲線といった一筆書きが可能な線状とすることを特徴とする移動体組合せ検出装置。
【請求項５】
請求項１記載の移動体組合せ検出装置において、各々の移動体検出手段で用いる着目領域を、枠状や円状といった一筆書きが可能な閉曲線状とすることを特徴とする移動体組合せ検出装置。
【請求項６】
請求項１と請求項３に記載の移動体組合せ検出装置において、複数個の移動体検出手段で用いる着目領域を、複数個の線分からなる着目領域として配置することを特徴とする移動体組合せ検出装置。
【請求項７】
請求項１と請求項３に記載の移動体組合せ検出装置において、複数個の移動体検出手段で用いる着目領域を、格子状に配置することを特徴とする移動体組合せ検出装置。
【請求項８】
請求項１と請求項３に記載の移動体組合せ検出装置において、複数個の移動体検出手段で用いる着目領域を、十字状に配置することを特徴とする移動体組合せ検出装置。
【請求項９】
請求項１記載の移動体組合せ検出装置において、映像入力手段と移動体検出手段の組のうち、前記移動体組合せ判定手段の判定結果によって、前記移動体組合せ判定手段が不必要と判断した組は使用しないことを制御することを特徴とする移動体組合せ検出装置。
【請求項１０】
請求項１記載の移動体組合せ検出装置において、移動体組合せ判定手段は、過去一定時間分の移動体検出情報を格納することを特徴とする移動体組合せ検出装置。
【請求項１１】
入力された映像に対して移動体の有無の判定を行なう着目領域を設定し、
ある特定のフレームにおける着目領域のデータと各フレームでの着目領域のデータとの相関を算出し、算出された少なくとも１つの相関値のパターンから、移動体の存在有無や背景画像の変更などの移動体検出イベントを決定し、
上記移動体の検出を、それぞれ違う入力映像、着目領域、相関値パターンに対して複数行い、
上記決定されたそれぞれの移動体検出イベントを、該イベントに対応する移動体の識別子、該移動体の検出時刻、該移動体の検出種別、前記着目領域における該移動体の画像、前記着目領域における背景画像及び前記入力された映像に含まれるフレーム画像を含む前記移動体に関するイベントリストとして格納し、前記入力された映像に関するイベント組合せ条件に基づいて、前記移動体に対する検出結果を判定し、
該判定結果をもとに、前記入力された映像における移動体の検出を決定することを特徴とした移動体組合せ検出方法。
【請求項１２】
指定された映像から移動体の数をカウントする移動体カウント装置において、請求項１から１０のいずれかの項に記載の移動体組合せ検出装置と、該装置が出力した検出イベントの数をカウントする装置と、カウントした移動体の数を出力する装置を有することを特徴とした、移動体カウント装置。
【請求項１３】
請求項１と請求項３に記載の移動体組合せ検出装置において、少なくとも２つの移動体検出手段で得られた移動体検出イベントを用いて、移動体の向きまたは速度を求めることを特徴とする移動体組合せ検出装置。
【請求項１４】
請求項１と請求項３に記載の移動体組合せ検出装置において、請求項７に記載の格子状の監視着目領域により検出された移動体検出情報の組合せから、移動体の位置と移動体の大きさを判定することを特徴とした移動体位置判定装置。
【請求項１５】
請求項１記載の移動体組合せ検出装置において、複数の移動体検出手段で用いられる複数個の監視着目領域を１つの画面上で設定することを特徴とした、移動体検出条件設定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、道路における交通量の計測や、線路・踏み切りにおける犯罪防止など、カメラにより入力された映像監視のための、移動体組合せ検出装置及び方法に関する。
【０００２】
【従来の技術】
現在、道路や踏み切り、銀行のサービスフロント等のいたる場所でカメラ映像による監視が行なわれている。これらは、特定の場所を移動する物体（以下では、移動体または移動体という）を監視することによって、交通集中を解消したり、事故や犯罪を未然に防止することを目的としている。このような移動体に対する映像監視のニーズはきわめて高い。ところが、現在の映像監視は技術的な問題から人手に頼らざるをえない状況にある。こうした背景から、コンピュータなどによる監視処理の自動化が求められており、モデルやテンプレートを等を用いた様々な方法が提案されている。
【０００３】
移動体を検出する方法としては、特開平８−２２１５７７号公報に記載される「移動体検出・抽出装置及び方法」が提案されている。この方式では、複雑背景下での移動体検出・抽出と、映像処理時間の短縮とを実現している。以下に図２を用いてこの方式を説明する。
【０００４】
図２のうち、フレーム画像Ｆ１（２４１）からＦ５（２４５）は、それぞれ時刻Ｔ１（２２１）からＴ５（２２５）での入力映像のフレーム画像である。図２のフレーム画像中に記されている線分Ｓ（２３１）は、入力映像中での監視を行なう着目領域を線分として指定したものであり、以降、この線分状の着目領域をスリットと呼ぶことにする。図２の２０１から２０５は、それぞれ時刻Ｔ１（２２１）からＴ５（２２５）までの、スリットＳ上の画像（以降スリット画像と呼ぶ）と背景画像を表したものである。本例では、処理開始時の背景画像として、移動体がカメラに移っていない時の監視着目領域の画像を設定している。
【０００５】
本方法では、それぞれのフレーム画像について、次の処理を行なう。（１）ある特定のフレームにおけるスリット画像と背景画像を抽出し、（２）スリット画像と背景画像の画像差分量を、画像のピクセル値の２乗差分などの方法により算出し、（３）該画像差分量を時系列的に眺め、画像差分量が山形のパターン等に従って変移していた場合、移動体と判断し、（４）画像差分量の変動がなく平坦な場合、背景画像と判断する。
【０００６】
上記のステップ（３）について、図２のフレーム画像列を用いて説明する。本例のように、物体がスリット状を横切る場合、画像差分量は図２の画像変化量グラフ（２１１）のように山形に遷移する。まず、物体がスリットに入る前（時刻Ｔ１（２２１））では、スリット上の画像と背景画像はほぼ同一（２０１）なので、画像差分量は小さい。次に、物体がスリットを横切り始める（時刻Ｔ２（２２２））と、スリット画像と背景画像は異なる（２０２）ため、画像差分量は大きくなる。最後に、物体がスリットを通り抜けると（時刻Ｔ３（２２３））、画像差分量は、また小さい値に戻る。このように物体がスリットを横切ると画像差分量は山形になる。したがって、移動体を見つけるには、画像差分量を時系列的に眺めて、山形になった瞬間を見つければよい。本例では、山形になった瞬間として、画像差分量が、しきい値ａ（２１３）を超えて、かつ、その後しきい値ａ（２１３）を下回った時点を用いている。
【０００７】
上記のステップ（４）について、図２のフレーム画像列を用いて説明する。本例のように、スリット上に荷物（２５２）などが放置されると（時刻Ｔ４（２２４））、当初画像差分量が増加するが、その後荷物（２５２）は静止したままなので、画像差分量は、高どまりしたまま変動しなくなる（時刻Ｔ４（２２４）から時刻Ｔ５（２２５））。この方式では、一定時間以上画像差分量の変動値が小さかった場合、その時点のスリット画像を背景としている。
【０００８】
以上の通り、特開平８−２２１５７７号公報では、監視を行なう着目領域として線分を用いることができるため、画面全体を着目領域とするそれ以前の方式に比べ、画像差分量の算出時間を大幅に短縮できる。また、この方式では、画像差分量の時系列変化を見ることにより背景更新のタイミングを見つけることができるため、屋外の映像などのように、背景が常時変更される可能性のある場所でも、監視処理を適用できる。
【０００９】
【発明が解決しようとする課題】
ところが、上記従来技術を単純に利用する際、次のような問題点が存在する。
【００１０】
第一の問題点は、監視を行なう着目領域を画面上に１つしか設けられない点である。実際の監視映像では、４台のカメラで別々に撮影した映像を一台のモニタＴＶで表示できるよう、４映像を２×２の配列状に表示することが多い。この場合、一台のＴＶモニタ画面上に監視着目領域を４つ指定できることが望ましい。
【００１１】
第二の問題点は、仮に複数台の移動体検出・抽出装置を用意したとしても、その検出時刻の前後関係や、検出結果画像の類似性の判定など、移動物の内容に基づいた高度な検出判断が行なえないことである。
【００１２】
【課題を解決するための手段】
まず、本発明を構成する手段として、映像を入力する手段と入力された映像から移動体を検出するする手段とを組にした手段を複数個設け、それぞれの組から出力される移動体検出結果を判定する移動体組合せ判定手段と、検出された結果を出力する手段を有する。
【００１３】
それぞれの移動体検出手段では、移動体の有無や背景更新などを出力するだけでなく、その移動体検出手段の識別子や、検出時刻、検出イベントの種類、および検出判定に用いたスリット画像といった移動体検出情報も出力できるようにする。移動体組合せ判定手段では、それぞれの移動体検出手段から出力された情報から総合的な条件判断などを行なうことによって、最終的な移動体検出を決定する。
【００１４】
このように、移動体検出情報と移動体組合せ判定手段とを新たに加えることにより、本発明の第一の目的である、入力映像中に複数個の着目領域を設けることを実現でき、さらに本発明の第二の目的である、移動体の検出時刻の前後判定や検出結果画像の類似性の判定など、移動物の内容に基づいた高度な検出判断を行なわせることができる。移動体組合せ判定手段の補助入力として、赤外線通り抜けセンサーや、カメラ画像が切り替わる映像変化点検出装置など、移動体検出装置以外の装置を設ければ、単独の映像解析方法では難しい複雑な移動物の判定も可能となる。
【００１５】
その他の特徴的な移動体組合せ検出装置及び方法は、明細書中の記載から自ずと明らかになるであろう。
【００１６】
【発明の実施の形態】
以下に本発明の実施例について次の４つの例を細かく説明する。４つの実施例として、（１）移動体組合せ判定手段の１実施例、（２）２本のスリットを用いた、移動体の向きと速度の判定方法と、それを用いた移動体カウント装置の１実施例、（３）複数のスリットを格子状に配置させることによって物体の位置を追尾する追尾監視カメラの１実施例、（４）複数本のスリットを設定する画面入力方法の１実施例、について述べる。
【００１７】
本発明の１つ目の実施例として、移動体組合せ判定手段の１実施例について以下に述べる。
【００１８】
図１は、移動体組合せ検出装置の構成図である。図２は、図１の各々の移動体検出手段の実現方法である。図３は、移動体組合せ判定手段の処理手順の例である。図４は、移動体組合せ判定手段で用いる、移動体検出情報の列の例である。なお以降では、移動体検出情報の列とイベントリストを呼ぶ（移動体検出情報をイベント情報と呼ぶ場合もある）。
【００１９】
まず図１の移動体組合せ検出装置（１００）の構成内容について述べる。移動体組合せ検出装置（１００）は、以下の手段から構成される。１つ目の映像入力手段１（１１１）からｎ個目の映像入力手段ｎ（１２１）までの映像入力手段は、各々ＴＶカメラ１（１１０）からＴＶカメラｎ（１２０）までの複数の映像作成手段によって作成された映像を、移動体組合せ検出装置（１００）内に読込む機能を実現している。この場合、ＴＶカメラ１（１１０）の映像は映像入力手段１（１１１）にへと入力され、以下同様に、１からｎまでの番号ｉに対して、ｉ番目のＴＶカメラｉの映像は映像入力手段ｉへと入力される。次に映像入力装置１（１１１）に読込まれた映像は、映像を構成するフレーム画像の列として、移動体検出手段１（１１２）に入力され、移動体の有無が検出される。以下同様に、ｉ番目の移動体検出手段ｉにおいて、映像入力装置ｉに読込まれた映像は、移動体検出手段ｉに入力され、移動体の有無が検出される。
【００２０】
移動体検出手段１（１１２）は、入力されたある特定のフレームにおける着目領域のデータと各フレームでの着目領域のデータとの相関を算出し、算出された少なくとも１つの相関値のパターンから、移動体の存在有無や背景画像の変更などの移動体検出イベントを判定する。この実現方法として、本実施例では、「従来の方法」で述べた図２に示される方法を用いるものとする。移動体検出手段１（１１２）の出力（１１３）には、移動体がスリットに触れた時点や、移動体がスリットを抜け出た時点や、背景が更新された時点など、相関値のパターンとして求めることが可能な、様々な移動体検出イベントを想定することができる。たとえば図２を用いて説明すると、移動体がスリットに触れた時点は、図２の画像変化量があるしきい値ａ（２１３）を超えた時点（時刻Ｔ２（２２２））として検出できる。また同様に、移動体がスリットを抜け出た時点は、画像変化量がしきい値ａ（２１３）を超えた後に、また画像変化量がしきい値ａ（２１３）を下回った時点（時刻Ｔ３（２２３））として検出できる。また同様に、背景が更新された時点は、画像変化量があるしきい値ａ（２１３）を超えた後、数秒間画像変化量が動かなかった時点（時刻Ｔ５（２２５））として検出できる。
【００２１】
なお、移動体検出手段１（１１２）以外の移動体検出手段ｉ（ｉは２からｎ）についても、同様な方法によって移動体を検出し、その検出結果を出力するものとする。
【００２２】
移動体検出手段１（１１２）から移動体検出手段ｎ（１２２）までのそれぞれの移動体検出手段は、検出した移動体検出イベントを、移動体検出イベントの種類や発生時刻などの移動体検出情報とともに、移動体組合せ判定手段（１０１）に入力する。本例での移動体検出情報は、図４のイベントリストのうちの１要素（４０１）に示されるような、移動体検出手段の識別子ｉｄ（４５２）（以降ではスリットＩＤと呼ぶ。文字列などにより実現する）、検出時刻ｔｉｍｅ（４５３）、スリットに触れた時点や背景更新の時点などの検出した移動体検出イベントの種類ｔｙｐｅ（４５４）、移動体検出処理に用いたスリット画像ｓｌｉｔ（４５５）、同じく背景画像ｂｇｒ（４５６）、および、同じくフレーム全体の画像ｉｍｇ（４５７）、から構成されている。
【００２３】
本例では、スリット画像ｓｌｉｔ（４５５）、背景画像ｂｇｒ（４５６）、フレーム画像ｉｍｇ（４５７）は、実際の画像データを指すポインタとして実現されており、それぞれ画像４１１、４１２、４１３を指している。
【００２４】
なお、ここに述べた移動体検出手段以外にも、移動体組合せ判定手段（１０１）の入力として、赤外線による物体通過センサーや、カメラの切り替わりを自動的に認識できるシーン変化点検出手段など、外部入力手段（１３０）から入力されたデータを解析する外部検出手段（１３２）も追加してもよい。
【００２５】
次に、移動体検出手段などから出力された、移動体検出イベントやそれに付随する移動体検出情報（１１３、１２３、１３３など）は、移動体組合せ判定手段１０１により、その情報の組み合わせの条件が判定され、判定された結果が、より高度な移動体検出イベント（１０２）となって出力される。結果出力手段（１０３）では、より高度な移動体検出イベント（１０２）を、ディスプレイ装置（１０４）などによって最終的な移動体組合せ検出結果をユーザに提示する。
【００２６】
なお、本例では、上記の移動体組合せ検出装置（１００）を、メモリと入出力装置と演算装置などから構成されるコンピュータによって実現している。
【００２７】
次に、本例での移動体組合せ判定手段（１０１）の実現方法について、図３と図４を用いて細かく説明する。図３の手続き３００は、移動体組合せ判定手段（１０１）に接続された、ｎ個の移動体検出手段（１１２、１２２など）、または、外部検出手段（１３２）のうちの、いずれかで移動体検出イベントが発生した際に実行される処理であり、その入力データは、先に述べた移動体検出情報（ここでは変数ｅｖｅｎｔとして実現している）である。図４は、移動体組合せ判定手段が内部に持つ移動体検出イベントの列（イベントリスト）である。イベントリストは、先に述べた移動体検出手段が作成して移動体検出情報を、リスト構造により複数個格納している。イベントリストは、その先頭を表す先頭ポインタ４００を持ち、そのリスト構造の１要素として１つの移動体検出情報を格納し、各要素間をポインタによって連結している。図４の例では、イベントリストの要素として、要素４０１と要素４０２があり、それらは先頭ポインタ４００、要素４０１の次ポインタ領域ｎｅｘｔ（４５１）などにより、連鎖的に繋がっている。要素の移動体検出情報の各項目（符号４５２から符号４５７まで）は先に述べたのでここでは説明を割愛する。
【００２８】
図３の手続き３００についてステップを追いながら説明する。手続き３００は、大きく分けて、過去Ｔ秒分のイベントを保持する処理と、過去Ｔ秒分のイベントを組み合わせた条件を判定する処理との２つの部分からなる。
【００２９】
まず、過去Ｔ秒分のイベントを保持する処理の部分を説明する。イベントリストの先頭ポインタを用いて、イベントリストの先頭項目にアクセスし、その位置を１イベントを表す変数ｅに代入する（３０１）。次に変数ｅ用いて、イベントリストの終わりまで順々に読込むループを行なう（３０２）。なお、イベントリストの最後の要素の次ポインタ領域には、値ｎｉｌが入っているものとする。ループ（３０２）では、次の処理を行なう。
【００３０】
初めに一時変数ｎｘにイベントリストの次の要素を待避しておく（３１１）。次に本処理の実行時間と現在のリスト位置のイベントｅの時間差を求めるために、入力イベントｅｖｅｎｔの時間ｅｖｅｎｔ．ｔｉｍｅと、現リスト位置ｅの時間ｅ．ｔｉｍｅの差を求める（３１２）。求めた時間長があらかじめ決められた時間長Ｔより大きい場合（３１４）、その時点のイベントをイベントリストから削除する（３２１）。ループ３０２の最後の処理として、先ほど待避しておいたリストの次要素位置ｎｘをイベントの変数ｅに再代入し（３１５）、次のリスト要素に対して同様の処理を繰り返す。ループが終了したら、イベントリストの先頭に入力イベントｅｖｅｎｔを追加する（３０２）。以下の処理により、イベントリストのうち過去Ｔ秒より古いイベント情報はリストから削除され、イベントリストの時間長がＴ秒以内になる。
【００３１】
次に、過去Ｔ秒分のイベントを組み合わせた条件を判定する処理を説明する。ループ３０４では、あらかじめ用意しておいたイベント組合せ条件の個数の分だけ、次の処理を繰り返し、また何回目の繰り返しであるかを変数ｉにセットする（３０４）。ループの中では、まず、あらかじめ用意しておいたイベント組合せ条件のｉ番目の条件の判定処理を実行する（３１７）。この判定処理（３１７）は、移動体組合せ検出装置の対象とする移動体の内容により、様々な処理に置き換えることができる。それらの詳しい実現例については後述する。本例では、判定処理３１７の入力として、先に作成した時間長Ｔ秒分のイベントリストを与え、判定処理３１７の出力として、移動体の検出有無を表すフラグと、移動体を検出した場合のその移動体の移動体検出情報ｅｏｕｔを得ることにしている。判定処理３１７の後、判定結果が真ならば（３１８）、移動体検出イベントを発行し、その移動体検出情報として判定処理３１７にて得たｅｏｕｔを出力する。
【００３２】
これらの処理をあらかじめ用意したイベント組合せ条件の数だけ繰り返すことにより、１つのイベントリストから、複数の種類の移動体検出イベントを見つけることができるようになる。
【００３３】
なお、イベントリストの時間長Ｔと、イベント組合せ条件とを、どのように設定すればよいのかは、以降の実施例において詳しく説明する。
【００３４】
本発明の２つ目の実施例として、２本のスリットを用いた、移動体の向きと速度の判定方法と、それを用いた移動体カウント装置の１実施例について以下に述べる。
【００３５】
図５は、移動体組合せ検出装置の入力となる映像を、１つのＴＶカメラから入力するようにした場合のシステム構成例であり、本実施例以降の実施例での基本システム構成である。図６は、２本のスリットを用いた、移動体の向きと速度の判定方法でのスリット配置方法である。図７は、２本のスリットを用いた、移動体の向きのイベント組合せ条件判定の説明図である。図８は、２本のスリットを用いた、移動体の向きと速度の判定方法の、イベント組合せ条件判定の処理フロー図である。図９は、２本のスリットを用いた、移動体カウント装置の画面出力例である。
【００３６】
図５は、図１とは別のシステム構成例であり、１つのＴＶカメラ（５０１）の映像中に複数のスリットを指定できるようにしたシステム構成である。本構成により、一台のＴＶカメラ中に現れた移動体を、ｎ個の移動体検出手段を用いて、つまりｎ本のスリットを用いて、従来の１本のスリットによる検出方法では検出できなかった、移動体の向きや映像中の移動体の場所などの、高度な移動体検出を行なうことができる。本例では、映像入力手段１（５１１）から映像入力手段ｎ（５２１）までのｎ個の映像入力手段は、同一のＴＶカメラ（５０１）から映像を入力するが、入力された映像に対しては、各々の映像入力手段に対応するｎ個の移動体検出手段（５１２、５２２など）によって処理
される。移動体組合せ判定手段５０２では、ｎ個の移動体検出手段（５１２、５２２など）の出力を元に最終的な移動体の検出を判定し、その結果を、結果出力手段５０３を用いて、ディプレイ装置５０４などにより、ユーザに提示する。その他、図５の詳細な実現内容については、図１の説明から自ずと明らかである。
【００３７】
図６は、２本のスリットを用いた、移動体の向きと速度の判定方法のスリット指定方法である。本例では、車の交通量を調査するために、道路を通行する車に対してＴＶカメラを向けている。本システムは図５のシステム構成を用いて実現されているものとし、図５の中の移動体検出手段の個数ｎは、本例では２となる。図６のＴＶカメラ映像６０１には、左向きに走行する車６２１と、右向きに走行する車６２２が映っている。本実施例では、移動体の速度とその向きとを高い精度で判定するために、移動体検出手段１が監視するスリットＳＬ（６１１）と、移動体検出手段２が監視するスリットＳＲ（６１２）の２本のスリットとを、距離Ｌメートル（６１３）を隔てて並べて配置している。
【００３８】
次に、図７と図６を用いて、図６のようにスリットを配置した際、どのように移動体の向きと速度を判定すればよいのかを、６２１の左向きの車を例に取りながら、説明する。
【００３９】
車６２１がＴＶ映像６０１の右側から現れ、ＴＶ映像６０１の左側に向かったとすると、まず、まずスリットＳＲ（６１２）、つまり移動体検出手段２で、移動体検出イベントが発生し、それから少し経った後に、スリットＳＬ（６１１）、つまり移動体検出手段１で、移動体検出イベントが発生することが分かる。この際に発生する２つの移動体検出イベントに対する移動体検出情報は、スリットＳＬ（６１１）では移動体検出情報Ｅ１（７０１）のように、スリットＳＲ（６１２）では移動体検出情報Ｅ２（７０２）のようになる。移動体検出情報には、スリットＳＲ（６１２）での検出時刻Ｅ２．ｔｉｍｅ（７２２）の値である「３」と、スリットＳＬ（６１１）での検出時刻Ｅ１．ｔｉｍｅ（７１２）の値である「５」とが記録されている。以上から、移動体が左向きに通過した場合、必ずＥ１．ｔｉｍｅ（７１２）の方がＥ２．ｔｉｍｅ（７２２）よりも大きくなることが分かる。また右向きでは、これの逆が成り立つことが分かる。このため、この移動体検出の時間情報から移動体の向きを判定することができる。
【００４０】
また自ずと、移動体が、スリットＳＲ（６１２）とスリットＳＬ（６１１）の間を、時間ｔ＝Ｅ１．ｔｉｍｅ−Ｅ２．ｔｉｍｅの時間で通り抜けたことが判定できるので、移動体の速度Ｖを、あらかじめ測っておいた距離Ｌ（６１３）を用いて、Ｖ＝  Ｌ／ｔとして求められる。
【００４１】
以上のように、移動体の向きと速度を２本のスリットにより判定することができた。しかし、この方式の場合、移動体が２本のスリットの中央位置まで来た後に、折り返して反対側に戻ったり、複数の移動体が同時に画面内に侵入したりした場合、正しい移動体判定ができない。これは、２つのスリットを通過した移動体が同一であるなど、移動体の内容まで判定していないことに原因がある。本例では、上記例にさらに条件を加えることによって、より正確な移動体の向きと速度の判定を行なえるようにしている。この実現方法について、以下に述べる。
【００４２】
まず、先ほどのスリットの配置条件に、次のような平行・直交配置条件を加える。移動体検出手段１の監視するスリットＳＬ（６１１）と、移動体検出手段２の監視するスリットＳＲ（６１２）の２本のスリットを、距離Ｌメートル（６１３）を隔てて平行に並べ、かつ、移動体６２１または６２２の進行方向または道路に対して垂直の位置に配置する。このようにすることにより、車などが通過した際、スリットＳＬ（６１１）のスリット画像Ｅ１．ｓｌｉｔ（７１３）と、スリットＳＲ（６１２）のスリット画像Ｅ２．ｓｌｉｔ（７２３）とが、ほぼ同一の画像になるため、移動体検出時に２つのスリット画像の類似度を算出することによって、２つのスリットを通過した移動体が同一か否かを判定することができる。
【００４３】
以上の検出条件をまとめたものが、左向きの車の検出条件式ＣＬ（７０３）であり、「Ｅ１．ｓｌｉｔ（７１３）とＥ２．ｓｌｉｔ（７２３）がほぼ同一の画像で、かつ、Ｅ１．ｔｉｍｅ＞Ｅ２．ｔｉｍｅ」となる。ただし、ここの条件式ＣＬ（７０３）は、移動体の向きが左向きである条件なので、検出イベント点の識別子の制約条件、「Ｅ１．ｉｄ（７１１）＝“ＳＬ”、かつ、Ｅ２．ｉｄ（７２１）＝“ＳＲ”」が、加わることとなる。
【００４４】
次に、図８を用いて、以上に示した検出条件を満たすイベントを判定するための、実際の処理フローを説明する。手続き８０１は、図３の移動体組合せ判定手段の処理フローにて説明した、イベント組合せ条件判定処理（３１７）の、本実施例における処理方式を表している。手続き８０１では、入力は過去Ｔ秒分のイベントリストであり、出力は移動体有無を表すフラグｆとイベントの移動体検出情報ｅｏである。また、本例の移動体の向きと速度の検出方法では、図３のイベント組合せ条件判定処理（３１７）を実行するにあたり、イベントリスト時間長Ｔを５秒に、イベント組合せ条件数を１に設定する（８０２）。
【００４５】
はじめに移動体有無フラグを偽に初期化しておく（８１１）。その後、手続き内一時変数ｅｔにイベントリストの先頭のイベントを設定する（８１２）。次に、手続き内一時変数ｅを用いて、イベントリストの先頭から２番目のイベントから、末尾のイベントに向かってリストをたどっていく処理を行なう。このために、まず、変数ｅにイベントリストの先頭の次のイベントを設定し（８１３）、次にｅの値がｎｉｌになるまで以下の処理を繰り返す（８１４）。
【００４６】
なお、以降においては、イベントリストは、先のイベント組合せ条件判定処理（３１７）により、最新の検出イベントがイベントリストの先頭に置かれ、また、イベントリストを末尾に向かって行くにしたがって時刻が古い検出イベントとなっていくことに注意されたい。
【００４７】
ループ（８１４）の中では、初めに最新のイベントｅｔと現在のイベントリストの位置でのイベントｅとのイベント識別子を比較し（８２１）、値が違う場合のみステップ８３１以降を行なう。本例のイベント識別子には“ＳＬ”または“ＳＲ”のどちらかしか存在しないため、これにより、最新のイベントｅｔの時点より以前に反対側のスリットを通り抜けた移動体が存在したか否かを判定できる。ステップ８３１に処理が移った場合、最新のイベントｅｔでの移動体と、現リスト位置ｅでの移動体が同じかどうかを判定するために、２つのイベント時点のスリット画像ｅ．ｓｌｉｔとｅｔ．ｓｌｉｔとの画像差分量を求める（８３１）。この２つ移動体が同一であると、スリット画像がほぼ同一の画像になるので、画像差分量が小さくなる。この差分量があるしきい値よりも小さい場合（８３２）、右向きまたは左向きの移動体を検出したと見なし、移動体検出フラグｆを真にする（８４１）。ステップ（８４１）の後、出力用の移動体検出情報を設定する処理を行なう（８４２）。
【００４８】
イベント情報設定処理（８４２）では、最新のイベントｅｔのスリット識別子を見ることにより、右向き移動物体検出なのか、左向き移動物体検出なのかの判定を行なう。移動体が左向きの場合、先に図６のスリットＳＲ（６１２）の検出イベントｅ、次にスリットＳＬ（６１１）の検出イベントｅｔが発生するはずである。したがって、イベント識別子ｅｔ．ｉｄが“ＳＬ”の場合（８５１）、検出されたイベントは左向きであり、結果、出力する移動体検出情報ｅｏの識別子には、“左向き”を格納する（８６１）。また、イベント識別子ｅｔ．ｉｄが“ＳＬ”でない場合（８５１）、移動体検出情報ｅｏの識別子には、“右向き”を格納する（８６２）。イベント情報設定処理の最後の処理として、移動体の速度ｅｏ．ｓｐｅｅｄや検出時刻ｅｏ．ｔｉｍｅやフレーム画像ｉｍｇを最新のイベント情報ｅｔを元に設定する（８５２）。移動体の速度ｅｏ．ｓｐｅｅｄについては、あらかじめ測定しておいたスリット間の距離Ｌ（図６の６１３）を、最新のイベントｅｔの時間と見つけたイベントｅの時間との差で割った値を代入すればよい。
【００４９】
イベント情報設定処理（８４２）が終了したら、イベントを検出できたとして、そのままループ８１４を終了する（８４３）。
【００５０】
なお、ステップ８２１にて、イベントの識別子が同じ場合（どちらも“ＳＬ”の場合など）や、ステップ８３２にて、画像差分量がしきい値より大きい場合は、現リスト位置のイベントｅは、最新の移動体検出イベントｅｔに対応していないと判断し、イベントリストの末尾に向かってループを続ける。
【００５１】
ループ８１４がイベントリストの全てイベントを操作したのにも関わらず、ｅｔに対応する移動体検出イベントが見つからない場合は、移動体なしと判断し、移動体検出有無フラグｆを偽に設定し、手続き８０１を終了する。
【００５２】
図９は、以上に説明した移動体の向きと速度を判定する方法を用いた移動体カウント装置の結果出力例方法を示している。ウィンドウ９００は、結果を表示する領域であり、コンピュータのＯＳなどにより表示される。
【００５３】
ウィンドウ９００には、入力映像を表示する領域９０１と、移動体の数を数える調査を開始させる調査開始ボタン９０４と、同じく調査を終了させる調査終了ボタン９０５と、入力映像９０１中に指定した２本のスリット９０２と９０３との距離を表示する領域９０６（本例ではあらかじめ測定しておいた「５ｍ」の値が表示されている）と、移動体の数と向きと速度と移動体の画像などの一台ずつの調査結果を表示する領域９０７と、最終的な移動体の数や移動体の平均速度を表示する領域９０８が存在する。
【００５４】
入力映像９０１と２本のスリット９０２，９０３の配置の指定は、図６と同様とする。調査開始ボタン９０４を押下すると、移動体の向きと台数と速度の調査処理が開始し、調査終了ボタン９０５を押下すると、該調査処理を終了する。
【００５５】
以下に、該調査処理について簡単に説明する。調査の開始時には、右向きの車両台数と、左向きの車両台数と、合計速度値を０に初期化する。その後移動体を検出するたびに、結果領域９０７に移動体検出情報を追加表示する。本例では、移動体検出情報の表示方法として、図中の９２１のように、上から移動体画像、移動体検出時刻、移動体の速度、移動体の向きを順に表示している。
【００５６】
移動体検出時の処理では、この他にも、右向きの車両台数または左向きの車両台数をカウントする処理と、移動体の平均速度を計算する処理と、これらの処理結果を、合計結果表示領域９０８に表示する処理とを行う。移動体の平均速度の計算方法については、移動体を検出するごとに移動体の速度値を合計速度値に累算し、その合計速度値をこれまでの全移動体台数（右向き台数と左向き台数の和）で割ることによって求めればよい。
【００５７】
本発明の３つ目の実施例として、複数のスリットを格子状に配置させることによって物体の位置を追尾する追尾監視カメラの１実施例について以下に述べる。
【００５８】
図１０は、本追尾監視カメラで用いるスリットの格子状配置方法と、そのスリットを用いた、移動体の位置を判定する条件を説明する図である。図１１は、図１０で示した移動体位置判定方法を用いた追尾監視カメラの画面表示例である。図１２は、追尾監視カメラの移動体イベント組合せ条件を判定する処理フローである。なお、本追尾監視カメラは、図５に示したシステム構成により実現され、また、図５の移動体組合せ判定手段は、図３の全体フローと、図１２のフローで示す手続き１２０１によって実現されるものとする。
【００５９】
図１０は、本追尾監視カメラで用いるスリットの格子状配置方法と、そのスリットを用いた、移動体の位置を判定する条件を説明する図である。本例では、入力されたＴＶ映像１０００の中に存在する移動体１０４１の縦の位置と横の位置を、格子状に配列されたスリット群（１０１１から１０１５と、１０２１から１０２４）を用いて検出する。
【００６０】
このスリット群は、縦線の形状のスリットを複数並べた、スリットＶ１（１０１１）、スリットＶ２（１０１２）、スリットＶ３（１０１３）、スリットＶ４（１０１４）、スリットＶ５（１０１５）から構成される縦スリット群と、同様に横線の形状のスリットを複数並べた、スリットＨ１（１０２１）、スリットＨ２（１０２２）、スリットＨ３（１０２３）、スリットＨ４（１０２４）から構成される横スリット群とを、直交に配置することによって、構成される。縦スリット群の各々のスリットは、幅Ｌｗ（１０３２）の間隔で平行に並んでいる。同様に、横スリット群の各々のスリットは、高さＬｈ（１０３１）の間隔で平行に並んでいる。
【００６１】
なお、これらのスリットを実現するための、図５のシステム構成中の移動体検出手段１（５１２）から移動体検出手段ｎ（５２２）は、スリットに移動体が重なった場合、移動体検出イベントを発行するものとする。具体的には、図２の移動体検出手段の実現方法において、画像変化量がしきい値ａ（２１３）を超えている間、つまり時刻Ｔ２（２２２）から時刻Ｔ３（２２３）までの区間と、時刻Ｔ４（２２４）以降の区間において、常に移動体検出イベントが発行されるものとする。また、移動体検出情報のスリット識別子として、図１０に示したスリットの一本一本を識別するために、“Ｖ１”、“Ｖ２”、“Ｈ１”、“Ｈ４”といったスリットの名称に値する文字列を設定されるものとする。
【００６２】
次に、以上で述べたスリット群を用いて移動体の存在する位置を判定する方法について説明する。スリットＶ２（１０１２）とスリットＨ２（１０２２）の交点上に移動体が存在する場合、スリットＶ２（１０１２）とスリットＨ２（１０２２）の両方に移動体検出イベントが発生することとなる。このように、ある番号ｘとｙにおいて（ｘ＝１〜５，ｙ＝１〜４）、移動体が存在する場合、スリット“Ｖｘ”とスリット“Ｖｙ”にて移動体検出イベントが発生することが分かる。ここで、“Ｖｘ”という表記は、番号ｘの値により、“Ｖ１”“Ｖ２”“Ｖ３”“Ｖ４”“Ｖ５”と変化するスリット識別子を表し、同様に“Ｈｙ”という表記は、“Ｈ１”“Ｈ２”“Ｈ３”“Ｈ４”のスリット識別子を表すものとする。以降にて同様の表記をした場合、ここに示した意味を表すものとする。
【００６３】
以上をまとめると、ある位置（ｘ，ｙ）での移動体検出条件Ｃｘｙ（１００１）は、ある２つのイベントに対する移動体検出情報Ｅ１，Ｅ２を用いることにより、次のように定義される：「Ｅ１．ｉｄ＝“Ｖｘ”かつＥ２．ｉｄ＝“Ｈｙ”、但し、｜Ｅ１．ｔｉｍｅ−Ｅ２．ｔｉｍｅ｜＜Δｔ」。ここで、「｜Ｅ１．ｔｉｍｅ−Ｅ２．ｔｉｍｅ｜＜Δｔ」とは、移動体検出イベントＥ１と移動体検出イベントＥ２が、ほぼ同時期に発生したことを表す制約条件を表し、Δｔはあらかじめ固定値を設定しておくものとする。
【００６４】
図１１は、図１０で示した移動体位置判定方法を用いた追尾監視カメラの画面表示例である。追尾監視カメラを実現するウィンドウ１１０１は、入力されたＴＶカメラ映像を表示する領域１１１０と、  ＴＶカメラ映像のうち、移動体１１１４が存在する部分１１１３だけを拡大表示する拡大映像表示領域１１２０と、移動体の追尾処理を開始させる追尾開始ボタン１１３１と、移動体追尾処理を終了させる追尾終了ボタン１１３２、から構成される。なお、ＴＶカメラ映像表示領域１１１０中に表示されている格子状の線（１１１１や１１１２やそれらに平行する直線）は、スリットを表している。これらスリットの詳細な配置方法や実現方法は、図１０の説明から自ずと明らかである。
【００６５】
図１２は、図１１の追尾監視カメラの実現方法のうち、イベント組合せ条件判定の処理について、詳しく説明するものである。手続き１２０１は、図３に示した移動体組合せ判定手段の処理フローの中のステップ３１７から呼ばれる手続きであり、入力は過去Ｔ秒間のイベントリストであり、出力は移動体の検出有無フラグｆと、移動体検出情報ｅｏである。なお、本追尾監視カメラでは、イベントリスト時間長Ｔを極短い時間である０．１秒に、イベント組合せ条件の数を１に指定している（１２０２）。
【００６６】
手続き１２０１は、大きく分けて、イベントリストを縦スリット群のイベントリストと横スリットのイベントリストに分類する処理と、その後分類された縦横のイベントリストの組み合わせから、移動体の存在位置を判定していく処理の２つから構成される。
【００６７】
まず、イベントリストを先頭から末尾にたどりながら、リストの要素ｅの識別子が“Ｈｙ”である横スリットの検出イベントだけを抽出し、この結果を元に新たなイベントリストＬｈを作成する（１２１１）。同様に、イベントリストから、リストの要素ｅの識別子が“Ｖｘ”である縦スリットの検出イベントだけを抽出し、この結果を元に新たなイベントリストＬｖを作成する（１２１２）。
【００６８】
その後、以下に示すステップによって、分類された縦横のイベントリストの組み合わせから、移動体の存在位置を判定していく処理を行なっていく。一般に、移動体の存在する縦横スリットの交点（例えば図１０のスリットＶ２（１０１２）とスリットＨ２（１０２２）の交点（１０５１）など）は、複数存在する。以降の処理では、これら複数個のスリット交点を含む最小の矩形領域を求め、その値を、変数ｘ１（矩形左位置を意味する），ｙ１（同矩形上位置），ｘ２（同矩形右位置），ｙ２（同矩形下位置）に代入する処理を行なっている。
【００６９】
ステップ１２１４では、まず矩形領域を表す変数ｘ１，ｙ１，ｘ２，ｙ２と、スリット交点の個数ｎとを初期化する（１２１４）。以降のステップにて、最小の矩形領域を求めるため、ｘ１を∞、ｙ１を∞、ｘ２を０、ｙ２を０に初期化している。また交点の個数ｎを０に初期化している。
【００７０】
次に、一時変数ｅｈに横イベントリストＬｈの先頭を代入し（１２１５）、横イベントリストＬｈの末尾まで読み出していくループ（１２１６）を行なう。横イベントリストも最後の要素のポインタ値はｎｉｌであるので、ｅｈの値がｎｉｌになるまでループする。
【００７１】
横イベントリストのループ（１２１６）の中では、まず、移動体イベントの検出情報ｅｈの識別子ｉｄ（この値は先に分類したので必ず“Ｈｙ”である）から、横スリットの行番号ｙを求め、その行番号ｙからスリット“Ｈｙ”のｙ座標を求め、変数ｓｙに代入する（１２２１）。スリット“Ｈｙ”からｙ座標を求めるには、例えば、各スリットの識別子とそのｘｙ座標をテーブル化しておき、イベント情報ｅｈから得たスリットの行番号またはｅｈの識別子から、テーブルを引くことによって、そのスリットのｘｙ座標を求めることができる。
【００７２】
ステップ１２２２では、横イベントリストの順次読み出しのために、イベント情報ｅｈの次ポインタｅｈ．ｎｅｘｔをｅｈに代入している（１２２２）。
【００７３】
次のステップ１２２３，１２２４によって縦イベントリストＬｖの全要素に対してループを行なっている。まず、縦イベントリストＬｖの先頭要素を変数ｅｖに代入し（１２２３）、そのｅｖの値がｎｉｌになるまで、縦イベントリストを末尾に向かって読み出すループを行なう（１２２４）。
【００７４】
縦イベントリストの読み出しループの中では、縦スリットと横スリットの交点が見つかったとして矩形計算処理を行なう。まず、交点の数を表す変数ｎに１を加算する（１２４１）。次に、移動体イベントの移動体検出情報ｅｖの識別子ｉｄ（この値は先に分類したので必ず“Ｖｘ”である）から、縦スリットの行番号ｘを求め、その行番号ｘからスリット“Ｖｘ”のｘ座標を求め、変数ｓｘに代入する（１２４２）。このステップの実現方法についても、ステップ１２２１と同様の手法を適用すればよい。
【００７５】
ステップ１２４３では、縦イベントリストの順次読み出しのために、イベント情報ｅｖの次ポインタｅｖ．ｎｅｘｔをｅｖに代入している（１２４３）。以降のステップでは、ステップ１２２１と１２４２にて求めたスリット交点の座標ｓｘ，ｓｙを元に、移動体の存在する最小矩形を更新する処理を行なう。
【００７６】
矩形左位置の更新処理として、スリット交点位置ｓｘが、現左位置ｘ１より小さい場合（１２４４）、現左位置ｘ１をスリット交点位置ｓｘの値に更新する（１２５４）。
【００７７】
矩形上位置の更新処理として、スリット交点位置ｓｙが、現上位置ｙ１より小さい場合（１２４５）、現上位置ｙ１をスリット交点位置ｓｙの値に更新する（１２５５）。
【００７８】
矩形右位置の更新処理として、スリット交点位置ｓｘが、現右位置ｘ２より大きい場合（１２４６）、現右位置ｘ２をスリット交点位置ｓｘの値に更新する（１２５６）。
【００７９】
矩形下位置の更新処理として、スリット交点位置ｓｙが、現下位置ｙ２より大きい場合（１２４７）、現下位置ｙ２をスリット交点位置ｓｙの値に更新する（１２５７）。
【００８０】
以上の２つのループ１２１６と１２２４を行なうことにより、縦横スリットの交点の数ｎと、移動体が存在する最小矩形領域ｘ１，ｙ１，ｘ２，ｙ２が求まる。
【００８１】
本手続き１２０１の最後の処理として、移動体の存在有無を判定する。縦横スリットの交点の数ｎの値が０より大きい場合（１２１７）、移動体ありと判断し、移動体検出有無フラグｆを真にする（１２３１）。次に先に求めた最小矩形を元に追尾カメラで映像を拡大する場所を計算し、その結果を出力する移動体検出イベントの移動体検出情報ｅｏに設定する（１２３２）。映像を拡大する領域としては、先に求めた最小矩形の上下それぞれにスリットの縦間隔である図１０のＬｈ（１０３１）の半分の余裕領域を追加し、同様に最小矩形の左右それぞれにスリットの横間隔である図１０のＬｗ（１０３２）の半分の余裕領域を追加する。
【００８２】
縦横スリットの交点の数ｎの値が０の場合（１２１７）、移動体なしと判断し、移動体検出有無フラグｆを偽にする（１２３３）。
【００８３】
以上のようなイベント組合せ条件判定処理を用意することにより、映像中に移動体が存在する場合、図５の移動体検出組合せ判定手段５０２が移動体検出イベントを発行する。結果出力手段５０３では、移動体検出イベントが発生した場合、その移動体検出情報に格納されている映像拡大領域に従って、入力となるＴＶカメラ映像の一部を図１１の拡大映像領域１１２０のように拡大表示する。
【００８４】
もちろん上記以外にも、あらかじめ用意しておいたもう一台の高精細ＴＶカメラまたは高精細デジタルスチルカメラなどにより、指定された拡大領域の部分を別途詳細に撮影することも可能である。
【００８５】
さらには、移動体の矩形領域１１１３の中央ｘｙ座標とＴＶカメラ映像１１２０の中央ｘｙ座標との差分ベクトルから、入力ＴＶカメラの向きやズーム度合いを制御するこ
とも可能である。ただしこの場合、ＴＶカメラを動かすと元となる背景画像も更新されるため、ＴＶカメラを動かした際は、一度追尾処理を終了し、再度追尾処理を開始するなどにより、背景を新しく更新する必要がある。なお、該差分ベクトルを求める際の移動体の矩形領域の中央ｘｙ座標の代わりとして、スリット交点群の重心のｘｙ座標を用いることができる。重心のｘｙ座標を求めるには、図１２のループ１２２４の際に、スリット交点座標（ｓｘ，ｓｙ）の累算を行ない、ループ終了後、累算したｘｙ座標をスリット交点数ｎで割ればよい。
【００８６】
本発明の４つ目の実施例として、複数本のスリットを設定する画面入力方法の１実施例について以下に述べる。
【００８７】
図１３は、複数本のスリットの条件を設定する画面の１実施例である。図１４は、本実施例で用いるスリット位置情報の配列構造である。図１５は、本実施例での画面初期化処理を表すフローである。図１６は、本実施例での画面表示時のユーザ操作イベントに対応する処理フローである。図１７は、複数スリットの条件設定において、入力映像を複数にした場合の設定画面の１実現例である。
【００８８】
図１３は、複数本のスリットの条件を設定する画面の１実施例である。スリット条件設定画面（１３００）には、現在選択するスリットの番号を指定するチェックボックス１（１３０１）、チェックボックス２（１３０２）、チェックボックス３（１３０３）、と、スリットの座標位置を入力可能なエディットボックス群１３０５と、入力映像とスリット位置を表示する領域（１３１０）と、スリットの組合せ条件を指定するエディットボックス（１３０６）と、設定の反映を表すＯＫボタン（１３２０）と、設定を取り消すキャンセルボタン（１３２１）から構成されている。入力映像表示領域（１３１０）には、現在指定されているスリット群（１３１１、１３１２）が表示され、そのうち選択中のスリット（１３１２）は太線などにより強調表示される。スリット番号を指定するチェックボックス１から３まで（１３０１、１３０２、１３０３）は、どれか１つだけが選択可能になるように設定されている。
【００８９】
本画面では、３つのスリットの条件を設定できるようになっている。次にその画面の操作方法について概説する。まず、チェックボックス（１３０１、１３０２、１３０３）を指定することにより、現在設定するスリットを１つ選択する。この際、エディットボックス群１３０５に、各々のスリットの左（変数ｘ１）、上（同ｙ１）、右（同ｘ２）、下（同ｙ２）の現在の座標値が表示されるので、ユーザは必要に応じて数字を修正する。ユーザは必要ならば、チェックボックス（１３０１、１３０２、１３０３）の選択番号を変更して、次のスリット情報を変更できる。複数のスリットの組合せ条件を設定するには、エディットボックス（１３０６）に、スリット番号「１」「２」「３」と「ａｎｄ」「ｏｒ」などの演算子を用いた条件式を記述する。図１３のスリット組みあわせ条件では、「１ａｎｄ  ２  ｏｒ  ３」となっており、これは、「スリット１とスリット２とで移動体検出イベントが発生し、かつ、スリット３では移動体検出イベントが発生していない場合」、を表している。
【００９０】
図１４は、本実施例で用いるスリット位置情報の配列構造である。スリット位置情報の配列ｓｌｉｔｐｏｓ［］（１４０１）は、配列の１要素が１本のスリットの位置情報を表している。配列（１４０１）の１要素には、スリットの左位置（１４２１，要素ｘ１）、上位置（１４２２，同ｙ１）、右位置（１４２３，同ｘ２）、下位置（１４２４，同ｙ２）が格納されている。図１４の配列１４０１には、スリット１の位置情報ｓｌｉｔｐｏｓ［１］（１４１１）と、スリット２の位置情報ｓｌｉｔｐｏｓ［２］（１４１２）と、スリット３の位置情報ｓｌｉｔｐｏｓ［３］（１４１３）とが格納されている。
【００９１】
図１５と図１６は、本実施例でのスリット位置入力方法の処理フローである。図１５は、本実施例での画面初期表示処理を表すフローで、図１６は、本実施例での画面表示中のユーザ操作イベントに対応する処理フローである。
【００９２】
まず、図１５の画面初期表示処理フローを説明する。ユーザがスリット条件を設定しようとして、図１３の画面１３００を表示した場合、初期表示処理（１５０１）実行される。まずループ（１５１１）により、現在移動体組合せ検出装置で設定されているスリット位置情報、つまり複数個の移動体検出手段の設定情報を、配列ｓｌｉｔｐｏｓに取得する。ループ（１５１１、ループカウンタｉ）内では、ｉ番目の移動体検出手段のスリット位置情報を、スリット位置配列ｓｌｉｔｐｏｓ［ｉ］のｘ１（図１４の１４２１の欄），ｙ１（同１４２２），ｘ２（同１４２３），ｙ２（同１４２４）に設定する。次に、移動体組合せ判定装置から現在設定されている検出条件の文字列を得て、エディットボックス１３０６に設定する（１５１２）。この検出条件の取得方法については後述する。次に、入力映像表示領域１３１０に入力ＴＶ映像を常時表示させる（１５１３）。その後現選択スリット番号の初期化として、選択スリット番号ｓｅｌに１を設定し、チェックボタン１３０１の選択状態をＯＮにする（１５１４）。その後、現在のスリット位置を表示するために、先に設定したスリット位置情報の配列ｓｌｉｔｐｏｓと、選択スリット番号ｓｅｌとをパラメタとしてスリット表示処理１５０２を呼び出す（１５１５）。初期表示処理の最後として、ＯＫボタン（１３２０）またはキャンセルボタン（１３２１）が押されるまで、ユーザの画面操作に対応する処理を繰り返す。このために、ループ終了フラグｆを用意し、ループ開始前に「偽」に初期化し（１５１６）、その後ループ終了フラグｆが真になるまでループする（１５１７）。このループ終了フラグｆは、ＯＫボタン（１３２０）またはキャンセルボタン（１３２１）が押されると「真」になる。ループ内では、キーボードやマウスなどのユーザ操作イベントを取得（１５２３）した後、ユーザ操作イベントに対応する処理を行う（１５２４）。なお、スリット位置の表示処理（１５０２）では、スリット３本分のループ（１５３１、ループカウンタｉ）により、３本のスリットを表示する処理をする。ループ１５３１内では、まずこれから表示するスリット番号ｉと現在選択しているスリット番号ｓｅｌとを比較し（１５３２）、これから表示するスリットが現在選択するスリットの場合、これから描画する線の太さを太くし（１５４１）、そうでない場合は、これから描画する線の太さを細くする（１５４３）。描画する線の太さの設定には、たとえばＯＳの描画属性の変更によって実現できる。この描画する線の太さの変更の後、ｉ番目のスリット位置情報ｓｌｉｔｐｏｓ［ｉ］の値に従って、入力ＴＶ映像表示領域（１３１０）上の座標（ｘ１，ｙ１）から座標（ｘ２，ｙ２）までの線を描画する。
【００９３】
図１６は、本実施例での画面表示時のユーザ操作イベントに対応する処理フローである。ユーザ操作イベント処理（１６０１）では、まずユーザイベントの種別を判断して各々の操作イベントに対応する処理を行う（１６１１）。設定するスリット番号を指定するチェックボタン（１３０１，１３０２，１３０３）の選択状態が変化した場合、選択スリット番号ｓｅｌを現在のチェックボックスの番号の値に更新し（１６２１）、スリットを再描画する（１６２２）。スリット位置指定エディットボックス群（１３０５）の値が変化した場合、該エディットボックスの値ｘ１，ｙ１，ｘ２，ｙ２を、スリット位置配列ｓｌｉｔｐｏｓのｓｅｌ番目であるｓｌｉｔｐｏｓ［ｓｅｌ］に格納し（１６３１）、その後スリット位置の再描画を行う（１６３２）。ＯＫボタン（１３２０）が押下された場合、３本分のスリットに対してループ（１６４１、ループカウンタｉ）することによって、スリット位置配列のｉ番目であるｓｌｉｔｐｏｓ［ｉ］の位置情報ｘ１，ｙ１，ｘ２，ｙ２を、ｉ番目の移動体検出手段のスリット位置情報として設定する（１６６１）。その後検出条件を設定するエディットボックス１３０６の文字列を、移動体組合せ判定装置の検索条件として設定する（１６４２）。
【００９４】
ここで文字列を検索条件式として移動体組合せ判定装置に設定する実現方法としては、コンパイラなどで用いる構文解析処理によって、条件文字列を条件式を表した木構造データに変換して、その木構造データを移動体組合せ判定手段に設定すればよい。移動体組合せ判定手段では、入力となる移動体検出手段が出力した移動体検出情報を元に、上記木構造条件式を葉ノードから計算順次根のノードに向かってａｎｄ，ｏｒなどの演算をすれば、最終的な条件の評価値（真または偽）を得ることができる。また逆に、木構造条件式を文字列に変換するには、木構造のツリーウォークなど、一般的に知られている方法に従って木構造を文字列化すればよい。
【００９５】
移動体検出手段のスリット位置情報と、移動体組合せ判定手段の検出条件とを更新した後、ループ終了フラグｆを真にする（１６４３）ことによって、ユーザ操作イベント処理ループ（１５１６）を終了させる。キャンセルボタン（１３２１）が押下された場合、移動体検出手段のスリット位置情報の更新は行わず、ループ終了フラグｆを真にして（１６５１）、ユーザ操作イベント処理ループ（１５１６）を終了させる。
【００９６】
以上が図１３の複数スリット条件設定画面の１実施例であるが、上記方法以外にも次のような実施方法によって、複数スリット条件設定画面を実現することも可能である。たとえば、スリット位置指定エディットボックス群１３０５によるスリットの位置座標の指定方法を変更して、入力映像表示領域１３１０上でマウスをドラッグするなどにより、直接的にスリット線の位置を指定することもできる。この場合、ドラッグの開始点とドラッグの終了点をスリットの左右上下の位置とすればよい。
【００９７】
次の例として、入力映像表示領域１３１０での表示方法を上記のようなＴＶ映像ではなく、本設定画面を表示した時点のＴＶ映像中の１フレーム画像を表示することがあげられる。映像表示を静止画表示にすれば、コンピュータの処理負荷を軽減できる。
【００９８】
その他の例として、移動体組合せ条件設定エディットボックスに指定する条件文に、「１  ａｆｔｅｒ  ２」などの時間制約条件を指定可能にすることである。この条件文は、「スリット２で移動体検出イベントを発行された後に、スリット１で移動体検出イベントが発生した」ことを表す。これを実現するには、２つ目の実施例「２本のスリットを用いた移動体の向きと速度の判定方法」で示したような、過去のイベントリストをたどって、対応するスリット識別子を探す処理によって実現することができる。
【００９９】
最後の例として、図１７に示されるような、入力ＴＶ映像が、１つではなく、複数ある場合の複数スリット条件設定画面があげられる。このような複数の入力映像のスリット条件設定が必要となる場合として、ＴＶ会議システムや集中監視センタなどでのＴＶ映像があげられる。図１７は、ＴＶ会議映像に対するスリット条件設定を行う画面の一部であり、ここでは、図１３の入力映像表示領域１３１０の部分を変更し、多地点映像表示領域１７１０としている。多地点映像表示領域１７１０には、４地点のＴＶ会議の映像（１７１１，１７１２，１７１３，１７１４）が表示され、それぞれの映像に対して、４本のスリット（１７３１，１７３２，１７３３，１７３４）位置を表示している。
【０１００】
なお、図１７には明記していないが、図１７のようなＴＶ会議映像でのスリット設定として、次のような全員着席したことを表す条件を考えることができる。まず、１つの入力映像１７１１に人物が着席した条件として、「スリット１７３１に人物が侵入たイベントが発生し、かつ、その後スリット１７３１にて人物が静止したことによる背景更新のイベントが発生した場合」を定義する。したがって、全員着席の条件は、前記と同様の条件が、４つの入力映像（１７１１，１７１２，１７１３，１７１４）に含まれる４つのスリット（１７３１，１７３２，１７３３，１７３４）の、全てにおいて発生した場合として、定義できる。
【０１０１】
【発明の効果】
本発明によれば、入力映像中に複数個の監視着目領域を設けることができるため、１モニタ画像中に複数のＴＶカメラ画像などを含む入力映像などに対して、どのＴＶカメラで移動体を検出したのか等を容易に判定できる。
【０１０２】
また、複数個ある監視着目領域を、格子状や平行線上など様々に組み合わせた検出条件を加えることによって、移動体の向きや速度を判断したり、移動体を追尾したり、移動体の静止状態を把握したりするなど、移動体の内容をより精密に判定できるようになる。
【図面の簡単な説明】
【図１】本発明の一実施例における移動体組合せ検出装置の構成図である。
【図２】移動体検出手段の一実現方法を説明する図である。
【図３】本発明の一実施例における移動体組合せ判定手段の処理手順を説明する処理フロー図である。
【図４】移動体組み合わせ判定手段が内部に持つ移動体検出イベントの列（イベントリスト）の一実現例を説明する説明図である。
【図５】本発明の第２の実施例における１台のＴＶカメラを用いた移動体組合せ検出装置のシステム構成図である。
【図６】本発明の一実施例における２スリットによる移動体の向きと速度の判定方法を説明する図である。
【図７】本発明の一実施例における２スリットによる移動体の向きのイベント組合せ条件判定を説明する説明図である。
【図８】本発明の一実施例における２スリットによるイベント組合せ条件判定の処理フロー図である。
【図９】本発明の一実施例における２スリットによる移動体カウント装置の画面出力例を説明する図である。
【図１０】本発明の一実施例における追尾監視カメラで用いる格子状スリット配置方法と移動体の位置の判定方法を説明する図である。
【図１１】本発明の実施例における移動体の位置判定方法を用いた追尾監視カメラの画面の表示例を説明する図である。
【図１２】本発明の実施例における追尾監視カメラの移動体イベント組合せ判定の処理フロー図である。
【図１３】本発明の一実施例における複数本のスリット条件を設定する画面を説明する説明図である。
【図１４】本発明の一実施例におけるスリット条件指定画面でのスリット位置情報の配列構造を説明する説明図である。
【図１５】本発明の一実施例におけるスリット条件指定画面での画面初期化処理フロー図である。
【図１６】本発明の一実施例におけるスリット条件指定画面でのユーザ操作イベントに対応する処理フロー図である。
【図１７】本発明の一実施例における複数の映像が入力された場合のスリット条件指定画面を説明する図である。
【符号の説明】
１００    コンピュータで実現された移動体組合せ検出装置
１０１    移動体組合せ判定手段
１０２    移動体組合せ判定手段が出力する移動体検出情報
１０３    結果出力手段
１０４    ディスプレイ
１１０    １つ目のＴＶカメラ
１１１    １つ目の映像入力手段
１１２    １つ目の移動体検出手段
１１３    １つ目の移動体検出手段が出力する移動体検出情報
１１０    ｎ個目のＴＶカメラ
１１１    ｎ個目の映像入力手段
１１２    ｎ個目の移動体検出手段
１１３    ｎ個目の移動体検出手段の移動体検出情報
１３０    外部入力手段
１３２    外部検出手段
１３３    外部検出手段が出力する検出情報
【図１】
0003567066.tif 000002
【図２】
0003567066.tif 000003
【図３】
0003567066.tif 000004
【図４】
0003567066.tif 000005
【図５】
0003567066.tif 000006
【図６】
0003567066.tif 000007
【図７】
0003567066.tif 000008
【図８】
0003567066.tif 000009
【図９】
0003567066.tif 000010
【図１０】
0003567066.tif 000011
【図１１】
0003567066.tif 000012
【図１２】
0003567066.tif 000013
【図１３】
0003567066.tif 000014
【図１４】
0003567066.tif 000015
【図１５】
0003567066.tif 000016
【図１６】
0003567066.tif 000017
【図１７】
0003567066.tif 000018