JP3601951B2 - Moving object display method, display system using the same, and program recording medium therefor - Google Patents

Moving object display method, display system using the same, and program recording medium therefor Download PDF

Info

Publication number
JP3601951B2
JP3601951B2 JP25460397A JP25460397A JP3601951B2 JP 3601951 B2 JP3601951 B2 JP 3601951B2 JP 25460397 A JP25460397 A JP 25460397A JP 25460397 A JP25460397 A JP 25460397A JP 3601951 B2 JP3601951 B2 JP 3601951B2
Authority
JP
Japan
Prior art keywords
image
moving object
moving
area
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP25460397A
Other languages
Japanese (ja)
Other versions
JPH10150657A (en
Inventor
勝美 谷口
孝文 宮武
晃朗 長坂
武洋 藤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP25460397A priority Critical patent/JP3601951B2/en
Publication of JPH10150657A publication Critical patent/JPH10150657A/en
Application granted granted Critical
Publication of JP3601951B2 publication Critical patent/JP3601951B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Closed-Circuit Television Systems (AREA)
  • Burglar Alarm Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、監視カメラ等により撮影した画像から、その視野内を移動する物体を抽出し、表示装置に表示する移動物体の表示方法、それを用いた表示システムおよびそのためのプログラム記録媒体に関する。
【0002】
【従来の技術】
現在、道路や踏切やダム、コンビニエンスストア等の様々な場所でカメラによる映像の監視が行われている。これらは、特定場所に現れる物体を監視することにより、事故や犯罪を防ぐことを目的としている。例えば、コンビニエンスストア等のような場所では、挙動不審な人物を監視したり、ダムのような絶対的に侵入を禁止している地域では、人間の侵入がないかを監視している。しかし、現在このような監視は、リアルタイムで人間が映像を見て監視したり、ビデオテープのような記憶媒体に録画し、後になって確認を行うことが一般的であり、わづらわしい作業となっていた。このような事情から、コンピュータを用いた映像監視の自動化が求められており、様々な方法が提案されている。
【0003】
中井等の論文、電子情報通信学会論文誌D−II、Vol.J77−D−II,No.7,pp.1209−1218,1994(以下、第1の参考文献と呼ぶ)には、変化検出、部分追跡、運動解釈という3段階の連続処理モジュールを用いて、歩行者等の運動物体を映像中から自動検出する方法が提案されている。ここでは、一般的な店舗内の通行客の移動経路を抽出する実験の結果も報告されている。また、仲西等の論文、電子情報通信学会論文誌D−II、Vol.J77−D−II,No.9,pp.1716−1726,1994(以下、第2の参考文献と呼ぶ)には、時空間画像処理を用いて屋外を走行する自動車等の車両を自動抽出する方法が提案されている。本出願人による特許出願に係る特開平08−221577号明細書には、屋外で移動物体を検出するための一つの方法として画像中にスリットを設定し,予め記憶した背景画像と現在画像との相関をとって,変化を検出し、それにより移動物体検出方法が提案されている。屋外で移動物体を監視できるシステム、たとえば走行する自動車の車番を自動認識するシステムも販売されている。
【0004】
【発明が解決しようとする課題】
従来の監視システムでは、監視カメラにより得られた映像を、その映像の取得時に同時にモニターに表示するか、もしくは、監視カメラにより得られた画像を蓄積して、後から確認するため、映像の確認は映像の取得時間に等しいか、早送り再生のような再生時間の短縮しか行えておらず、監視カメラのオペレータの作業の効率化は図られていない。なお、中井等による実験は、店舗内での複数の通行客の移動経路を抽出しているが、抽出された経路とその経路を通過した通行客の画像とをどのように対応させるかは説明されていない。さらに、この抽出には、店舗内の映像をVTRに記録し、その記録された映像を使用している。このために、この抽出を実時間で行うことができない。
【0005】
また、仲西等による手法は、監視対象物体が等速に直線状に走行を行う自動車等に限定される。特開平08−221577号明細書に記載の技術では、移動物体の検出に動き特徴だけしか使ってないため,木々の揺れも動き物体の一部と誤認してしまうという問題がある。
【0006】
すでに販売されている上記システムでは、屋外で確実な監視を行うためには、木々が映っている領域を監視対象領域から除外する操作を行う必要があり、全ての自然環境で自動的に移動物体を監視を行うことができない。また、そのシステムでは、監視位置が変わるたびに動作パラメータの設定を変更するという煩雑な作業が生じていた。このように、並木や雑木を映像中に含む自然環境において、移動物体を正しく検出するためには、事前に動作パラメータの設定を調整する必要があった。
【0007】
本発明の目的は、映像の中の移動物体の確認のためにオペレータが費やす負担を軽減することができる移動物体の表示方法およびその方法を使用する表示システムを提供することを目的とする。
【0008】
本発明の他の目的は、様々な自然環境においても上記オペレータへの負担を軽減できる移動物体の表示方法およびその方法を使用するシステムを提供することを目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成する為に、本発明に係る移動物体の表示方法および表示システムは、以下のステップを実行する。
【0010】
撮像装置により撮像される所定の視野に進入した移動物体の上記視野内での移動経路を該撮像装置から供給される動画像信号に基づいて抽出し、
その移動物体に対して抽出された上記移動経路の画像を表す第1の画像データを生成し、
その移動物体の画像を表す第2の画像データを上記動画像信号に基づいて生成し、
その移動物体に対して抽出された移動経路の画像とその移動物体の画像との重畳からなる重畳画像を上記第1と第2の画像データに基づいて表示装置に表示する。
【0011】
本発明のより望ましい態様では、上記抽出するステップから表示するステップが、上記移動物体より後に上記視野内に進入した少なくとも一つの他の移動物体に対して繰り返され、
上記移動物体に対する上記重畳画像と上記他の移動物体に対する重畳画像は上記表示装置に並べて表示される。
【0012】
本発明の他の望ましい態様では、上記移動経路の画像は、移動物体の上記画像上に半透明色で重畳して表示される。
【0013】
本発明の他の望ましい態様では、上記移動物体の画像は、上記移動物体が所定の領域に位置するときに上記撮像装置により供給される画像である。
【0014】
本発明の他の望ましい態様では、上記移動物体の画像は、上記移動物体が所定の領域に位置するときに上記撮像装置により供給される画像の縮小画像である。
【0015】
【発明の実施の形態】
以下、本発明に係る移動物体表示システムを図面に示した実施の形態を参照してさらに詳細に説明する。
【0016】
(1)装置の概要
図1において、1はCRT等のディスプレイであり、そのディスプレイは、コンピュータ3の出力画面を表示する。コンピュータ3に対する命令は、マウス等のポインティングデバイス7、またはキーボード8を使って行うことができる。カメラ9は、撮像装置であり、カメラ9から出力される映像信号は、逐次、映像入力装置11によってコンピュータの扱えるデジタル画像データ12に変換され、コンピュータ3に送られる。コンピュータ内部ではデジタル画像データ12は、インターフェース6を介してメモリ5に格納され、そのメモリ5に格納されたプログラムに従ってCPU4で処理される。また、この処理に必要な各種情報を外部記憶装置13に蓄積することができる。また、その処理で得られた各種データあるいは画像データもこの外部記憶装置13に記憶される。更に、カメラ9はコンピュータからの制御信号10により、操作することも可能である。メモリ5には、以下に説明する処理によって作成される各種のデータが格納され、必要に応じて参照される。
【0017】
図2はディスプレイ1に表示する画面例である。領域50は入力したデジタル画像データ12の表示領域であり、本システムの動作中はカメラ9から供給される動画像が表示される。領域60は本システムを制御するボタンと動作状況を表示する領域である。領域60内の開始ボタン61は経路付き移動物体画像表示処理の実行開始を指示するボタンであり、このボタンを押す操作は、オペレータがポインティングデバイス7を介してカーソル80をボタン上に位置合わせ、この状態でクリックすることで行なう。停止ボタン62は処理の実行停止を指示するボタンである。参照番号63は実行開始から現在までに抽出した経路付き移動物体画像の個数を示し、64は上記表示処理の実行開始時間を示す。領域70は経路付き移動物体画像の表示領域である。以下では、カメラ9は、道路あるいは建物の外側に設けられた階段等の通路を有する屋外に配置されているものとする。移動物体として人物を想定している。複数の移動物体がカメラの視野内には異なる時間に進入するが、一時には一つの移動物体のみが視野内に存在すると仮定する。すなわち、ある移動物体がこの視野進入したときには、その移動物体がこの視野から退出した後に他の移動物体がこの視野に入るものと仮定する。
【0018】
本システムでは、移動物体が監視対象視野内に進入すると、その移動経路が自動的に抽出される。この抽出はその移動物体が視野外に退出するまで継続される。その結果、移動経路が時々刻々更新される。この抽出された移動経路が、後に生成される、その移動物体を表す画像に重畳して半透明色で表示されるように、その移動経路を表す画像データが生成される。その移動物体があらかじめ定められた所定の領域、たとえば画面50の中央の縦方向に細長い領域に対応する空間を通ると、そのときのデジタル画像データ12が、適切な大きさたとえば1/2に縮小されて移動物体画像として記憶され、その通過時刻がその移動物体の画像を抽出した時刻として記憶される。その後、その移動物体が上記視野から退出すると、先に抽出された移動物体画像にその移動物体の経路との重畳からなる経路付き移動物体画像が生成され、上記画像抽出時間と合わせて上記領域70に表示される。
【0019】
その後、後続の移動物体が同じ視野に入ってきたときには、この後続の移動物体に対しても同じ処理が自動的に繰り返される。この後続の移動物体に対して抽出された経路付き移動物体画像は、先に表示された経路付き移動物体画像に並べて表示される。こうして、上記視野に順次進入する複数の移動物体に対する複数の経路付き移動物体画像が自動的に一覧として表示されることになる。したがって、オペレータは極めて平易に移動物体を監視することができる。なお、抽出した経路付き移動物体画像が領域70に表示可能な画像の数を越えた場合には、自動的に領域70が上にスクロールする。したがって、常時、最新の複数の経路付き移動物体画像が最下段に表示されることになる。尚、全ての経路付き移動物体画像を確認するには、オペレータがスクロールボタン71、73とスクロールバー72を操作すればよい。
【0020】
(2)処理の概要
図3は本システムで実行される経路付き移動物体画像表示プログラムの概略フローチャートである。図において、処理90はプログラムが使用する変数の初期設定を行う。フレーム画像入力処理100は、映像入力装置11によって供給される、1フレームのデジタル画像データ12をメモリ5へ取り込む。この処理100およびその後の処理200から700は、各フレーム毎に繰り返される。
【0021】
動き特徴抽出処理200は、各区分領域に移動物体の少なくとも一部が存在するか否かをその区分領域の動き特徴として検出し、移動物体の少なくとも一部が存在する複数の区分領域をそれぞれ動き特徴領域として抽出する。具体的には、この処理200は、先行するフレーム内の位置と異なった位置に存在する複数の変動エッジを抽出する。それぞれの変動エッジを構成する複数の変動エッジ画素を、画面を分割して得られる複数の区分領域の各々ごとに計数し、各区分領域毎に、先行するフレームおよび現在のフレームのいずれにおいても一定数を超えた変動エッジ画素を有するか否かを判定する。いずれかの区分領域がその判定条件を満たすとき、その区分領域を動き特徴領域として抽出する。各動き特徴領域は、その領域内に移動物体の少なくとも一部が存在すると判定された区分領域である。
【0022】
色特徴抽出処理300は、各区分領域ごとに色特徴を抽出する処理であり、具体的には、各区分領域毎にその区分領域内の画素の色のヒストグラムをもとめ、その区分領域内で最も頻度の高い色をその区分領域の代表色として抽出する。本実施の形態ではこの区分領域の代表色をその区分領域の色特徴として使用する。
【0023】
画像変動領域抽出処理400は、処理200で抽出した複数の動き特徴領域と、それぞれの動き特徴領域に対して処理300で抽出された色特徴とから、移動物体が存在すると思われる複数の区分領域を抽出する。移動物体が存在すると思われるこれらの区分領域を画像変動領域と呼ぶ。
【0024】
経路抽出処理500は、処理400で抽出された複数の画像変動領域の中から、更に、それらの中心となる一つの区分領域をその移動物体の移動物体の通過点として抽出し、その区分領域を、半透明色で塗りつぶすための画像データを生成する。この処理500が異なるフレームに渡り繰り返されることにより、同じ移動物体の他の複数の通過点が抽出され、後に説明するその移動物体を表す画像に重畳して半透明色でもってそれぞれの通過点が属する区分領域を表示するための画像データが生成される。これらの通過点に対して生成された画像データが、移動経路を表示するための経路画像データを構成する。
【0025】
移動物体画像抽出処理600は、移動物体の少なくとも一部が、視野内の所定の領域を通過したとき、すなわち、画面50内の対応する予め定められた領域を通過したとき、移動物体画像を抽出する。具体的には、視野内の上記所定の領域は、カメラ9の視野の中央部の縦長の空間領域であり、画面50内の上記対応する予め定められた領域は、画面50の中央に位置する縦長のスリット領域である。移動物体が上記空間領域を通過した時点の検出は、上記処理400で抽出した複数の画像変動領域の少なくとも一部が、上記スリット領域に位置した時点の検出により行う。この処理600では、この検出された時点にカメラ9から与えられるフレーム画像を例えば1/2に縮小した画像が生成され、移動物体画像として記憶される。したがって、このようにして生成された移動物体画像は、移動経路に依らないで、予め定められた画面内の領域に移動物体を含んでいるので、見やすい。
【0026】
経路付き移動物体画像表示処理700は、移動物体がカメラ9の視野外に出たとき、すでに生成された移動物体画像と経路画像を合成し、経路付き移動物体画像として、さらに付属データたとえば移動物体画像抽出時刻と共にディスプレイ1の領域70に表示する。その後に上記視野内に進入した移動物体に対する他の経路付き移動物体画像をディスプレイ1の領域70に表示するときには、すでに表示された経路付き移動物体画像に並べて当該他の経路付き移動物体画像を表示する。
【0027】
上記処理400での画像変動領域の抽出では、各区分領域に対して判定された動き特徴と色特徴を利用して、風に揺らぐ木の葉のような動く物体を含む区分領域を画像変動領域として抽出しないようにしている。また、この画像変動領域の抽出では、各区分領域に対して判定された動き特徴と色特徴の他に、同じ移動物体についてすでに判定された経路の通過点も考慮して、人間が立ち止って動いていると考えられる区分領域は、画像変動領域として抽出している。
【0028】
更に、処理500では、ある区分領域が複数フレームに渡り移動物体の通過点と判定された場合には、その区分領域の半透明色を濃くするように、その区分領域に対する、経路画像データを生成する。この為、移動物体の同じ位置での滞在の有無を含めた、移動物体の動きの時間的な要素を経路画像から知ることができる。
【0029】
また、経路付き移動物体画像は、縮小画像であり、各経路付き移動物体画像と抽出時間の組が、静止画として一覧表示されるため、移動物体画像の検索が容易になる。
【0030】
(3)データ
図4はメモリ5に記憶されるプログラムとデータの一覧である。図において、プログラム5−1は図3にそのフローチャートを示した経路付き移動物体画像表示プログラムである。5−2から5−23はプログラム5−1が生成あるいは参照するデータであって、その中で、5−2はプログラム5−1が生成するデータ、5−3と5−4は予め設定しておくべきパラメータ、5−5から5−23はプログラム5−1が一フレームの画像の処理に利用するワーク用のデータである。
【0031】
経路付き移動物体画像構造体5−2は抽出した経路付き移動物体画像と時刻等の付属データを格納する構造体である。図5にその詳細を示す。第1の闘値5−3は画像中の強エッジ画素を抽出する際に使用する閾値であり、第2の閾値5−4は動き特徴領域を検出するための闘値である。
【0032】
まず、フレーム画像入力処理100により作成するデータを説明する。フレーム画像データ5−5は映像入力装置11によって与えられる最新フレームのデジタル画像データであり、赤画像データ5−5−1、緑画像データ5−5−2、青画像データ5−5−3という三つの色成分に対応する3つの配列データからなる。各色データは、各画素の一つの色成分を表す8ビットのデータからなり、各色成分は0ないし255の値を有する。本実施の形態では、一つのフレーム画像は、水平方向(X方向)に160個の画素を有し、垂直方向(Y方向)に120個の画素を有すると仮定している。さらに、一つのフレームの画像は、水平方向に、例えば16個配置され、垂直方向に例えば12個配置された複数の区分領域に区分されていると仮定する。各区分領域は10×10個の画素からなる。具体的には図の赤画像データ[160][120]は、この配列データが一つのフレーム内の画素の数160×120に等しい数の要素からなることを示す。緑画像データ5−5−2,青画像データ5−5−3についても同様である。以下では、各画素の水平方向(X方向)座標Xおよび垂直方向(Y方向)座標Yを用いて画素(X、Y)と呼ぶことがある。また、後に説明する参照番号5−12の変動エッジデータ[16][12]は、この配列データが区分領域の数16×12に等しい数の要素からなることを示す。以下では各区分領域をX、Y方向の番号X、Yでもって区分領域(X、Y)と呼ぶことがある。
【0033】
次に、動き特徴抽出処理200で作成する各種データを説明する。横エッジデータ5−6は、各画素が、近傍の画素に対して画像の横方向の色差が大きい横エッジを構成する画素(横エッジ画素)であるか否かを表す配列データ、縦エッジデータ5−7は、各画素が、近傍の画素に対して画像の縦方向の色差が大きい縦エッジを構成する画素(縦エッジ画素)であるか否かを表す配列データである。前フレーム横エッジデータ5−8、前フレーム縦エッジデータ5−9は、それぞれ現在処理中のフレームの1フレーム前の横エッジデータ5−6、縦エッジデータ5−7を格納した配列データである。
【0034】
変動横エッジデータ5−10は、各画素が、現在のフレームと一つ前のフレーム内の異なった位置に存在した変動横エッジを構成する画素(変動横エッジ画素)であるか否かを表す配列データである。同様に変動縦エッジデータ5−11は、各画素が、現在のフレームと一つ前のフレーム内の異なった位置に存在した変動縦エッジを構成する画素(変動縦エッジ画素)であるか否かを表す配列データである。
【0035】
変動エッジデータ5−12は、各区分領域別に、その区分領域に含まれた変動横エッジ画素または変動縦エッジ画素の総数を格納した配列データである。前フレーム変動エッジデータ5−13は、現在処理中のフレームの1フレーム前の変動エッジデータ5−12を格納した配列データである。動き特徴領域データ5−14は、各区分領域に対応して、その区分領域が時間的に位置が変化するエッジを構成する画素(変動エッジ画素)を含んでいるか否かを表す配列データであり、具体的には、この配列データは、現在のフレームの変動エッジ画素の総数と、一つ前のフレームの変動エッジ画素の総数が共に第2の閾値5−4を超えたか否かを表す配列データである。本実施の形態では、各区分領域に関するこの判定結果をその区分領域の動き特性として使用する。ある区分領域がこの判定条件を満たすとき、その区分領域を動き特徴領域と呼ぶことがある。
【0036】
次に、色特徴抽出処理300、画像変動領域抽出処理400、経路抽出処理500、移動物体画像抽出処理600、経路付き移動物体画像表示処理700で作成するデータを説明する。ヒストグラムデータ5−15は、各区分領域に対応して、その区分領域内の画素の色の度数分布を表す3次元の配列データである。ヒストグラムデータ5−15を作成するには、各画素の色を64階調に変換し、各区分領域毎に、各階調に対応して、その階調の色を有するに画素を計数した値を算出する。領域代表色データ5−16は、各区分領域で最も多く表示された色階調すなわち代表色の色番号を格納した配列データである。本実施の形態では各区分領域の代表色をその区分領域の色特性の一例として使用する。前フレーム領域代表色データ5−17は現在処理中のフレームの1フレーム前の領域代表色データ5−16を格納した配列データである。前々フレーム領域代表色データ5−17は現在処理中のフレームの2フレーム前の領域代表色データ5−16を格納した配列データである。
【0037】
画像変動領域データ5−19は、各区分領域毎に、その区分領域が移動物体の画像のエッジを構成する画素(変動画素)を含んでいるか否かを示す配列であり、具体的には、この判定は、各区分領域に対して判定された動き特徴と色特徴に基づいて行われる。前フレーム画像変動領域データ5−20は現在処理中のフレームの1フレーム前の画像変動領域データ5−19を格納した配列データである。
【0038】
経路領域データ5−21は、各区分領域が、移動物体の通過点であるか否かを示す配列データである。いずれかの区分領域が移動物体の通過点であり、その区分領域にその移動物体が存在したと判断された回数が多いほど、すなわち、その区分領域におけるその移動物体の滞在時間が長いほど、その経路領域データ5−21内の、その区分領域に対する要素には高い数値が格納される。経路画像データ5−22は、移動物体が通過した経路を構成する区分領域を特定の半透明色で塗りつぶした画像を表すデータであり、経路赤画像データ5−22−1、経路緑画像データ5−22−2、経路青画像データ5−22−3という3つの色に対する画像データと経路透明度データ5−22−4とからなる。経路透明度データ5−22−4は、経路画像を表示するのに使用する半透明色の濃さを指定するデータである。移動物体画像データ5−23は移動物体の画像を表すデータであり、赤画像データ5−23−1、緑画像データ5−23−2、青画像データ5−23−3からなる。
【0039】
図5は、経路付き移動物体画像のデータとその付属情報を格納する経路付き移動物体画像構造体を示している。経路付き移動物体画像識別番号5−2−1は経路付き移動物体画像の番号であり、経路付き移動物体画像データ5−2−2は経路付き移動物体画像を格納した配列データである。経路付き移動物体画像表示位置X(5−2−3)及び経路付き移動物体画像表示位置Y(5−2−4)は経路付き移動物体画像をディスプレイ1の領域70(図2)に表示する際のX、Y座標位置である。移動物体画像抽出時間5−2−5は移動物体がカメラ1の視野内の所定の領域あるいはそれに対応する画面50内の所定の領域に進入した時間を記憶する。
【0040】
(4)処理の詳細
以下、図4のデータを参照しながら、図3に示した経路付き移動物体画像表示プログラムの処理を図6から図24に示すフローチャートを用いて詳細に説明する。なお、これらのフローチャートは、C言語を用いて記述されている。
【0041】
(4a)動き特徴抽出処理200
処理201から処理212(図6)までは、縦および横の強エッジの画素を抽出する処理である。ここで縦のエッジおよび横のエッジは、それぞれ画像を縦方向(垂直方向)あるいは横方向(水平方向)にスキャンしたときに検出可能なエッジである。強エッジとは、画像内のより鮮明なエッジであり、本実施の形態では、人物の顔あるいは手足の輪郭あるいは衣服の輪郭などのごとく人物の外郭を表すエッジであり、これらは人物の移動を検出するのに適している。一方、人物の顔の中の鼻の輪郭等を表すエッジは人物の移動を検出するのに適さない。これらのエッジは先に述べたエッジよりは一般に不鮮明である。したがって、本実施の形態は主として強エッジを検出するようにプログラムされている。
【0042】
処理201では、処理すべき画素のX座標、Y座標を表す変数X、Yを1に初期化する。処理202は映像入力装置11から供給された1フレームの画像データに基づいて、赤画像データ5−7−1、緑画像データ5−7−2または青画像データ5−7−3のそれぞれ内の、画素(X、Y)の横方向に隣接する一対の画素(X+1,Y)と画素(X−1、Y)に対応する一対の要素の間の色差が第1の闘値Aより大きいか否かを調べる。もし、これらの一対の画素の間のすべての色成分の色差が第1の闘値Aより大きければ、この画素(X、Y)は、画像内の横方向エッジを構成する画素と考えることができる。この場合には、プログラムは、処理203へ移り、そうでなければ処理204へ移る。
【0043】
処理203では横エッジデータ5−6内の画素(X、Y)に対応する要素に1を書き込み、処理204ではその要素に0を書き込む。処理205から処理207では、同様に、縦エッジデータ5−7を作成する。処理208から処理212は上述の処理を全ての画素に対して行うためのアドレス更新処理である。すべての処理が完了すると、プログラムは、処理213に移る。本実施の形態では、処理202,205でエッジの検出に使用する第1の閾値Aとして比較的大きな値、例えば55を使用する。これにより主として強横エッジあるいは強縦エッジが検出される。本実施の形態で処理されるエッジは全て強エッジであるので、以下では強エッジのことを単にエッジと呼ぶ。
【0044】
処理213から処理224(図7)までは、複数のフレームの間で異なった位置に表れた横エッジあるいは縦エッジを抽出する処理である。これらのエッジを変動横エッジあるいは変動縦エッジと呼ぶことがある。また、これらのエッジを併せて変動エッジと呼ぶことがある。また、変動横エッジ、変動縦エッジあるいは変動エッジを構成する画素を変動横エッジ画素、変動縦エッジ画素あるいは変動エッジ画素と呼ぶことがある。
【0045】
処理213では、処理すべき画素のX座標、Y座標を表す変数X、Yを0に初期化する。処理214は、横エッジデータ内の画素(X、Y)に対する要素の値と前フレーム横エッジデータ内の同じ画素(X、Y)に対する要素の値の一方が1であり、他方が0であるかを調べ、画素(X、Y)がこの条件を満たしていれば、この画素は、前のフレームでは横エッジ画素であり現在のフレームではそうでないかあるいはその逆である。したがって、この画素は、前のフレームと現在のフレームでの間で位置が変化した変動横エッジを表す変動横エッジ画素として扱う。この場合には、プログラムは、処理215へ、そうでなければ処理216へ移る。処理215では変動横エッジデータ5−10内の画素(X、Y)に対応する要素に1を書き込み、処理216では同じ要素に0を書き込む。同様に、処理217から219により変動縦エッジデータ5−11を作成する。処理220から処理224は上述の処理を全ての画素に対して行うためのアドレス更新処理である。すべての処理が完了すると、プログラムは処理225に移る。
【0046】
上記処理213から224は、すくなくとも過去2フレーム以上において異なった場所に存在したエッジを抽出している。カメラ9は静止させているため、背景のエッジは不動である。従って以上の変動横エッジあるいは変動縦エッジの検出により背景で生じたエッジを取り除くことができ、監視区域内に侵入した移動物体の動きに由来するエッジのみ抽出できる。
【0047】
処理225から処理238(図8)までは、区分領域毎にそこに含まれる変動エッジ画素を計数する処理である。処理225では処理すべき区分領域に付されたX、Y方向の番号を表す変数Xb、Ybおよびその区分領域内の処理すべき画素に付されたX、Y方向の番号を表す変数i、jを0に初期化する。処理226は、変動横エッジデータ5−10内の、区分領域(Xb、Yb)内の(i、j)番目の画素に対応する要素の値または変動縦エッジデータ5−11内の、同じ画素に対応する要素の値の少なくとも一方が1であるか否かを調べる。本実施の形態では、もし、この画素がこの条件を満たすときには、その画素は変動エッジ画素として扱う。この場合には、プログラムは、処理227へ移り、そうでなければ処理228へ移る。処理227では変動エッジデータ5−12内の、上記区分領域(Xb、Yb)に対応する要素の値に1を加える。処理228から処理238は上述の処理を全ての画素に対して行なうためのアドレス更新処理である。すべての処理が完了するとプログラムは処理239へ移る。
【0048】
処理239から処理247(図9)までは、各区分領域が動きのある画像を含んでいるか否かを検出する処理である。処理239では処理すべき区分領域に付されたX、Y方向の番号を表す変数Xb、Ybを0に初期化する。処理240は、変動エッジデータ5−12内の、区分領域(Xb、Yb)に対応する要素の値が第2の闘値B以上であり、かつ前フレーム変動エッジデータ5−13内の、その区分領域に対応する要素の値が第2の闘値B以上であるか否かを調べる。本実施の形態では、その区分領域がこれらの2つの条件を満たせば、その区分領域は複数のフレームにおいて継続して変動エッジ画素を所定数以上含んでいるので、その区分領域は動きのある画像を含んでいる領域として扱う。このようにその区分領域に対応する、複数のフレームにおける変動エッジデータの要素の値をチェックするのは、画像処理により発生するノイズ等の影響を除去するためである。その区分領域がこれらの条件を満たすか否かをその区分領域の動き特徴と呼ぶ。さらに、その区分領域がこれらの条件を満たす場合には、その区分領域は動き特徴を有するとも呼び、その区分領域を動き特徴領域と呼ぶことがある。その区分領域がこれらの2つの条件を満す場合には、プログラムは処理241へ移り、そうでなければ処理242へ移る。処理241ではその区分領域に対応する、動き特徴領域データ5−14の要素に1を書き込み、処理242では同じ要素に0を書き込む。処理243から処理247は上述の処理を全領域に対して行うためのアドレス更新処理である。すべての処理が完了するとプログラムは処理248に移る。
【0049】
処理248から処理254(図10)までは、前フレーム横エッジデータ5−8および前フレーム縦エッジデータ5−9の更新処理である。処理248では、処理すべき区分領域に付されたX、Y方向の番号を表す変数X、Yを0に初期化する。処理249は前フレーム横エッジデータ5−8内の区分領域(X、Y)に対応する要素に、横エッジデータ5−6内の、その区分領域(X、Y)に対応する要素を代入し、さらに、前フレーム縦エッジデータ5−9内の、区分領域(X、Y)に対応する要素に、縦エッジデータ5−7内の、区分領域(X、Y)に対応する要素を代入する。処理250から処理254は上述の処理を全ての画素に対して行うためのアドレス更新処理である。
【0050】
処理255から処理262(図11)までは、前フレーム変動エッジデータ5−13の更新処理及び変動エッジデータ5−12のゼロクリアを行う処理である。処理255では、処理すべき区分領域に付されたX、Y方向の番号を表す変数Xb、Ybを0に初期化する。処理256は前フレーム変動エッジデータ5−13内の、区分領域(Xb、Yb)に対応する要素に、変動エッジデータ5−12内の、その区分領域(Xb、Yb)に対応する要素の値を代入する。処理257は、変動エッジデータ5−12内の、区分領域(Xb、Yb)に対応する要素に0を代入する。処理258から処理262は上述の処理を全ての領域に対して行うためのアドレス更新処理である。
【0051】
(4b)色特徴抽出処理300
処理301から処理314(図12)までは、後に各区分領域ごとに代表色を求める処理の前処理として、各区分領域毎に、その区分領域に属する10×10個の画素の色のヒストグラムを作成する。処理301では処理すべき区分領域に付されたX、Y方向の番号を表す変数Xb、Yb、その区分領域内の処理すべき画素に付されたX、Y方向の番号を表す変数i、j、色のヒストグラムの色番号を表す変数colを0に初期化する。処理302は、区分領域(X、Y)内の(i,j)番目の画素、すなわち、画素(X×10+i、Y×10+j)の色を64階調の色の一つに変換し、その色の番号を変数colに書き込む。
【0052】
すなわち、各画素の赤画像データ5−5−1、緑画像データ5−5−2、青画像データ5−5−3は8ビットからなり、各色成分は256階調で表されている。処理302では、赤画像データ5−5−1、緑画像データ5−5−2、青画像データ5−5−3内の、同じ画素に対する3つの要素をそれぞれ上位2ビットずつ切り出し、これらの切り出された合計6ビットのデータをその画素の色番号として使用する。具体的には、処理302において、0xc0は2進データ11000000に対する16進表示である。その第1式は、赤画像データ5−5−1内の、画素(X×10+i、Y×10+j)に対する要素と2進データ11000000との論理積により得られるデータを6ビットだけ右シフトすることを表す。同様に、第2式は、緑画像データ5−5−2内の、画素(X×10+i、Y×10+j)に対する要素とデータ11000000との論理積により得られるデータを4ビットだけ右シフトすることを表す。第3式は、青画像データ5−5−3内の、の画素(X×10+i、Y×10+j)に対する要素とデータ11000000との論理積により得られるデータを2ビットだけ右シフトすることを表す。処理302はこのようにして得られた3組の2ビットデータの論理和の結果得られる6ビットの色番号を変数colに代入することを示す。
【0053】
ヒストグラムデータ5−15は、各区分領域(X、Y)に対して64個の要素を有する3次元の配列である。処理303は色番号のヒストグラムデータ5−15内の、区分領域(X、Y)と処理302で算出された変数colの値との組に対応する要素に1を加える。処理304から処理314は上述の処理を全ての画素に対して行なうためのアドレス更新処理である。すべての処理が完了すると、プログラムは処理315へ移る。
【0054】
処理315から処理326(図13)までは、各区分領域毎の代表色を抽出する処理を行なう。処理315は処理すべき区分領域に付されたX、Y方向の番号を表す変数Xb、Ybを0に初期化する。処理316は処理中の色番号を表す変数colと64階調の色番号の内で処理中の区分領域における最大の出現頻度を有する色番号を表す変数max_colを0に初期化する。処理317は区分領域(Xb、Yb)で一番使用頻度の高い色番号を調べるため、ヒストグラムデータ5−15内の要素(Xb、Yb、col)の値が変数max_colより大きいか否かを調べ、前者が後者より大きければプログラムは処理318へ移り、前者が後者より小さければ処理320に移る。処理318では変数max_colをヒストグラムデータ5−15内のその要素(Xb、Yb、col)の値で置き換えて処理319に移る。処理319は色番号を示す変数colを領域代表色データ5−16内の要素(Xb、Yb)に書き込む。処理320から処理321は上記の処理を64種類の階調全てに対して行うためのアドレス更新処理である。処理322から処理326は以上の処理を全ての領域に対して行なうためアドレス更新処理である。こうして、全区分領域に対する代表色の色番号を保持する領域代表色データ5−16が生成される。後に図16を用いて説明するように、画像変動領域抽出処理400が終了すると、この領域代表色データ5−16は、前フレーム領域代表色データ5−17に移される。そのときまの前フレーム領域代表色データ5−17は、前々フレーム領域代表色データ5−18に移される。
【0055】
処理327から処理336(図14)までは、ヒストグラムデータ5−15のゼロクリア処理を行なう。処理327は処理すべき区分領域に付されたX、Y方向の番号を表す変数Xb、Ybを0に初期化する。処理328は処理すべき色番号を表す変数colを0に初期化する。処理329はヒストグラムデータ5−15をゼロクリアするためにそこに0を書き込み、プログラムは処理330に移る。処理330から処理331は上記の処理を、ヒストグラムデータ5−15内の区分領域(X、Y)に対する色番号の全てに対して行うためのアドレス更新処理である。処理332から処理336は以上の処理を全ての区分領域に対して行なうためアドレス更新処理である。
【0056】
(4c)画像変動領域抽出処理400
処理401から処理412(図15)までは、各区分領域対して検出された動き特徴と色特徴とから、移動物体の画像を含むと考えられる領域(画像変動領域)を抽出する処理である。既に説明されたように、各区分領域について検出された動き特徴は、その区分領域が変動エッジ画素を所定数以上含んでいるか否かを示す。しかし、動き特徴領域と判断された区分領域をそのまま追跡すべき移動物体の画像を含む領域として使用すると、いくつかの問題が生じる。とくに、それらの区分領域の代表色が複数のフレームに渡り変化しないことが生じる。そのようなことが生じるのは、ある区分領域が木の葉の揺らぎを表すと思われる場合と、逆に、立ち止まっていると思われる移動物体の画像を保持する場合である。処理401から412は、前者の区分領域を移動物体画像を保持する区分領域(画像変動領域)としては扱わないで、後者の区分領域を、移動物体の画像を含む領域(画像変動領域)として扱うようにする。
【0057】
処理401では処理すべき区分領域に付されたX、Y方向の番号を表す変数Xb、Ybを0に初期化する。処理402は動き特徴領域データ5−14内の区分領域(X、Y)に対する要素の値が1であるか否かを調べ、その値が1であればプログラムは処理403へ移り、1でなければ処理406へ移る。処理403では、その区分領域(X、Y)の代表色が複数のフレームの間で変化しているか否かを判別する。すなわち、前々フレーム領域代表色データ5−18内のその区分領域(X、Y)に対する要素の値が領域代表色データ5−16内のその区分領域(X、Y)に対する要素の値と等しく、かつ前フレーム領域代表色データ5−17内のその区分領域(X、Y)に対する要素の値が領域代表色データ5−16内のその区分領域(X、Y)に対する要素の値と等しいかを調べる。その区分領域(X、Y)が上記2つの条件を満たせば、この区分領域の代表色は前々フレームから現在のフレームに至る3フレームの間変化していない。本実施の形態は、区分領域(X、Y)が上記2つの条件を満たすのは次の二つの場合である推定する。まず、この区分領域内の画像が、実質的に同じ位置に立ち止まっている移動物体の画像を含む場合である。今一つの場合は、この区分領域の背景が風で揺れる木の葉を含んでいて、それらの背景が移動物体として検出された場合のように、背景も動いている物体も同じ場合である。
【0058】
区分領域(X、Y)が上記2つの条件を満たせば、プログラムは処理404へ移り、その区分領域が上記2つの条件を満たさなければ処理407へ移る。処理404では処理405で最外周領域の処理を実行するのを避けるため、Xbの値が1以上であり14以下、Ybの値が1以上であり10以下であるかを調べ、 Xb、Ybがこれらの条件を満たしていれば、プログラムは処理405へ移り、満たしていなければ処理406へ移る。
【0059】
処理405では、この区分領域内の画像が、実質的に同じ位置に立ち止まっている移動物体の画像を含む場合か否かを判定する。すなわち、後に説明するように、経路領域データ5−21は、各区分領域に対応した要素を有し、いずれかの区分領域が移動物体の通過点と判断されたときには、経路領域データ5−21内のその区分領域に対応した要素にゼロでないデータが書き込まれる。処理405では、経路領域データ5−21内の、処理中の区分領域(X、Y)の四近傍の区分領域(X−1、Y)、(X+1、Y)、(X、Y−1)、(X、Y+1)に対する4つの要素が全て0であるかを調べる。もし、経路領域データ5−21内のこれらの4つの要素のいずれかが1であれば、そのいずれかの区分領域を移動物体が通過したことを先行するフレーム画像により検出されたことになる。この場合には、現在処理中の区分領域はその移動物体の移動経路の極く近くにあることになる。従って処理中の区分領域(X、Y)に対する代表色が処理403の条件を満たしているのは、この区分領域は、ほとんど立ち止まっている移動物体の画像を保持しているためであると推測される。したがって、処理中の区分領域(X、Y)が処理403の二つの条件を満たし、処理405の条件を満たさなかった場合、この区分領域は注目する移動物体の画像を含む画像変動領域として扱われる。
【0060】
一方、処理中の区分領域が処理403の二つの条件を満たし、さらに処理405の条件を満たした場合、この区分領域は木の葉のような揺れる物体の画像を含み、この区分領域の代表色は、背景にある多くの木の葉の色を表していて、そのためにその代表色が複数のフレームに渡り変化しなかったと判断される。従って、処理中の区分領域が処理405の条件を満たしていれば、プログラムは処理406へ移り、処理406ではこの区分領域内では、注目している移動物体に起因する画像の変化はなかったとみなして、画像変動領域データ5−19内のこの区分領域(X、Y)に対応する要素に0を書き込み、処理408へ移る。
【0061】
処理中の区分領域が処理405の条件を満たしていなければ、プログラムは処理407へ移る。処理407ではこの区分領域内で注目している移動物体に起因する画像の変化があったとして、画像変動領域データ5−19内の上記要素に1を書き込み、処理408へ移る。画像変動領域データ5−19内のある区分領域に対応する要素の値が1であるとき、その区分領域を画像変動領域と呼ぶ。処理408から処理412は上述の処理を全領域に対して行うためのアドレス更新処理である。
【0062】
上記のようにして画像変動領域を抽出するため、木の葉の揺れの様な画像の動き変化を含む区分領域を、誤って画像変動領域として抽出することがなくなる。また、人物が立ち止って動いている様な動きを含む区分領域に対しては、隣接する経路領域データに1があるかを調べることにより、その区分領域を画像変動領域と判断することができる。後に説明するように、画像変動領域抽出処理400で検出された画像変動領域は、現フレーム画像における移動物体の通過点の検出に使用される。
【0063】
なお、処理中の区分領域がほとんど立ち止まっている移動物体の像を含むと判断される場合、その区分領域から少しあるいは大きく隔たった他の区分領域にも同じ移動物体の画像が含まれているはずである。しかし、これらの他の区分領域は既に抽出された移動経路と隣接していない場合が多い。その場合には、これらの他の区分領域は処理405の条件を満すので、これらの他の区分領域は画像変動領域とは判断されない。したがって、画像変動領域抽出処理400では、ほとんど立ち止まっている移動物体の画像を実際は含んでいる複数の区分領域の内の一部の区分領域のみが画像変動領域と判断されることになる。検出された一部の画像変動領域は、後に説明する現フレーム画像における移動物体の通過点の検出にはそのまま使用することができ、従って、このような一部の画像変動領域しか検出されないことは通過点の検出には問題とならない。
【0064】
処理413から処理419(図16)では、前々フレーム領域代表色データ5−18および前フレーム領域代表色データ5−17の更新処理である。処理413では、処理すべき区分領域に付されたX、Y方向の番号を表す変数Xb、Ybを0に初期化する。処理414は前々フレーム領域代表色データ5−18内の区分領域(Xb、Yb)に対応する要素に、前フレーム領域代表色データ5−17内の区分領域(Xb、Yb)に対応する要素を代入し、前フレーム領域代表色データ5−17内の区分領域(Xb、Yb)に対応する要素に、領域代表色データ5−16内の区分領域(Xb、Yb)に対応する要素を代入する。処理415から処理419は上述の処理を全ての区分領域に対して行うためのアドレス更新処理である。
【0065】
(4d)経路抽出処理500
画像変動領域抽出処理400により検出された複数の画像変動領域は注目している移動物体の画像を保持する区分領域と考えられる。本実施の形態ではこれらの画像変動領域により表される図形の中心の位置を移動物体の通過点として扱う。処理500から処理533(図17と18)までは、これらの複数の画像変動領域中により表される図形の中心となる画像変動領域を注目している移動物体の現在の通過点として抽出する処理である。
【0066】
処理501では処理すべき区分領域に付されたX、Y方向の番号を表す変数Xb、Ybと上記図形の最下位位置を表す変数bottomを0に初期化する。処理502は画像変動領域データ5−19内の処理中の区分領域(X、Y)に対する要素の値が1であるか否か、すなわち、その区分領域が画像変動領域か否かを調べ、1であればプログラムは処理503に移り、1でなければ処理504へ移る。処理503ではYbの値をbottomに書き込み、プログラムは処理509へ移る。処理504から処理508は、画像変動領域データ5−19内の処理中の区分領域(X、Y)に対する要素の値が1でない場合のみに上述の処理を全ての領域に対して行うためのアドレス更新処理である。このアドレス更新処理では、変数Ybの小さい値から順にアドレスが更新される。この結果、いずれかの区分領域が最初に画像変動領域と判断されたときには、その区分領域のY方向の番号が、画像変動領域抽出処理400により検出された複数の画像変動領域により表される図形の最下位位置を表す。
【0067】
処理509では処理510から処理516で使用する変数Xb、Yb、topを0に初期化する。処理510は画像変動領域データ5−19内の処理中の区分領域(X、Y)に対する要素の値が1であるか否かを調べ、1であれば、プログラムは処理511に移り、1でなければ処理512へ移る。処理511ではYbの値をtopに書き込み処理517へ移る。処理512から処理516は上述の処理を全ての領域に対して行うためのアドレス更新処理である。このアドレス更新処理では、変数Ybの大きい値から順にアドレスが更新される。この結果、いずれかの区分領域が最初に画像変動領域と判断されたときには、その区分領域のY方向の番号が、画像変動領域抽出処理400により検出された複数の画像変動領域により表される図形の最上位位置を表す。
【0068】
処理517では処理518から処理524で使用する変数Xb、Yb、leftを0に初期化する。処理518は画像変動領域データ5−19内の処理中の区分領域(X、Y)に対する要素の値が1であるか否かを調べ、1であれば、プログラムは処理519に移り、1でなければ処理520へ移る。処理519ではXbの値をleftに代入し処理525へ移る。処理520から処理524は上述の処理を全ての領域に対して行うためのアドレス更新処理である。このアドレス更新処理では、変数Xbの小さい値から順にアドレスが更新される。この結果、いずれかの区分領域が最初に画像変動領域と判断されたときには、その区分領域のX方向の番号が、画像変動領域抽出処理400により検出された複数の画像変動領域により表される図形の最左位置を表す。
【0069】
処理525では処理526から処理532で使用する変数Xb、Yb、rightを0に初期化する。処理526は画像変動領域データ5−19内の処理中の区分領域(X、Y)に対する要素の値が1であるか否かを調べ、1であれば、プログラムは処理527に移り、1でなければ処理528へ移る。処理527ではXbの値をrightに代入し、プログラムは処理533へ移る。処理528から処理532は上述の処理を全ての領域に対して行うためのアドレス更新処理である。このアドレス更新処理では、変数Xbの大きい値から順にアドレスが更新される。この結果、いずれかの区分領域が最初に画像変動領域と判断されたときには、その区分領域のX方向の番号が、画像変動領域抽出処理400により検出された複数の画像変動領域により表される図形の最右位置を表す。
【0070】
処理533は、得られたbottomとtopの平均値と、leftとrightの平均値から、上記複数の画像変動領域により表される画像の中心となる区分領域のX、Y方向の番号を求め、経路領域データ5−21内のこの区分領域に対応する要素の値に1を加える。経路領域データ5−21内のこの区分領域に対応する要素のそれまでの値が0である場合には、その要素の値は1に変更される。移動物体が何度も同じ区分領域を通過したり、同じ区分領域に長く滞在した場合は、経路領域データ5−21内のこの区分領域に対応する要素のそれまでの値はすでに0でない。この場合には、処理533により、経路領域データ5−21内のこの区分領域に対応する要素の値がさらに大きくなる。したがって、経路領域データ5−21は移動物体の同じ区分領域内での滞在時間に関する情報も含んで
いる。
【0071】
処理534から処理548(図19)までは、経路画像データ5−22を作成する処理である。処理534では、処理すべき区分領域に付されたX、Y方向の番号を表す変数Xb、Ybおよびその区分領域内の処理すべき画素に付されたX、Y方向の番号を表す変数i、jを0に初期化する。処理535は経路領域データ5−21内の区分領域(X、Y)に対応する要素の値が0であるか否かを調べ、0でなければ、プログラムは処理536へ移り、0であれば処理537へ移る。
【0072】
処理536では経路領域データ5−21内の区分領域(Xb、Yb)に対応する要素の値を、経路透明度データ5−22−4内の、画素(Xb×10+i、Yb×10+j)に対応する要素に書き込み、また、経路赤画像データ5−22−1、経路緑画像データ5−22−2、経路青画像データ5−22−3内の同じ画素に対する要素には、経路を所定の色で表示するための3つの色成分データを書き込み、プログラムは処理538へ移る。本実施の形態では経路が緑色で表示されるように、経路緑画像データ5−22−2に数値255を書き込み、他の経路画像データ5−22−1,5−22−3には0を書き込んでいる。この数値255は適宜変更可能である。処理537では、区分領域(Xb、Yb)が経路上にないため、全ての経路画像データ5−22−1から5−22−3内の、画素(Xb×10+i、Yb×10+j)に対応する要素に0を書き込み、プログラムは処理538へ移る。処理538から処理548は上記の処理を全ての画素に対して行なうためのアドレス更新処理である。
【0073】
後に説明するように、経路上に位置する区分領域は半透明な色でもって移動物体画像に重畳して表示される。今の場合には経路は半透明の緑色でもって表示されることになる。処理536では、上記経路透明度データ5−22−4には経路領域データ5−21の値をそのまま使用しているため、複数回移動物体が通過したりあるいは移動物体の滞在時間が長い区分領域ほどその区分領域に対する経路透明度データの値が大きくなる。後に示されるように、本実施の形態では、経路透明度データの値が大きい区分領域は、それだけ濃い半透明色で表示される。このため、オペレータは、一目で移動物体の移動の滞在時間等の時間的な要因も確認することができる。
【0074】
(4e)移動物体画像抽出処理600
処理601から処理611(図20)までは、カメラ9の視野内の所定の領域あるいはフレーム画像50(図2)内のそれに対応する所定の領域に移動物体の少なくとも一部が位置したときに、その移動物体の画像を抽出する処理である。本実施の形態では、具体的には、視野内の上記所定の領域は、カメラ9の視野の中央部の縦長の空間領域であり、画面50内の上記対応する所定の領域は、画面50の中央に位置する縦長のスリット領域であると仮定している。フレーム画像上のこの所定の領域を以下では移動物体画像抽出領域と呼ぶ。すなわち、フレーム画像上の区分領域(8、0)から(8、12)までが、移動物体画像抽出領域として使用される。本実施の形態では移動物体の内の一定の割合が、この移動物体画像抽出領域に進入した時点を検出し、その時点のフレーム画像をこの移動物体の画像として記憶する方法を採る。この方法により、移動物体の大きさあるいはその移動経路に依らないで、移動物体が移動物体画像抽出領域に対してほぼ一定の相対的位置関係にあるときにその移動物体の画像を記憶することができる。
【0075】
処理601から609は、移動物体と移動物体画像抽出領域との間の相対的位置関係の変化を後に検出するときに用いる3つの画像変動領域数を計数するための処理である。処理601では処理すべき区分領域に付されたX方向の番号を表す変数Xbを、移動物体画像抽出領域を構成するすべての区分領域に共通なX方向の番号8に初期化し、処理すべき区分領域に付されたY方向の番号を表す変数Ybおよび移動物体画像抽出領域内に含まれる画像変動領域の数に関連する3つの変数now_count、old_count、same_countを0に初期化する。処理602は、画像変動領域データ5−19内の区分領域(Xb、Yb)に対応する要素の値が1であるかを調べ、1であれば、プログラムは処理603へ移り、1でなければ処理604へ移る。処理603はnow_countに1を加える。now_countは現在のフレーム画像内の、移動物体画像抽出領域に含まれる画像変動領域の総数を表す変数である。
【0076】
処理604は前フレーム画像変動領域データ5−20内の、区分領域(Xb、Yb)に対応する要素の値が1であるかを調べ、1であれば、プログラムは処理605へ移り、1でなければ処理606へ移る。処理603はold_countに1を加える。 old_countは前のフレーム画像内の移動物体画像抽出領域に含まれる画像変動領域の総数を表す変数である。
【0077】
処理606は画像変動領域データ5−19内の区分領域(Xb、Yb)に対応する要素の値が1であり、かつ前フレーム画像変動領域データ5−20内の区分領域(Xb、Yb)に対応する要素の値が1であるかを調べ、この区分領域(Xb、Yb)が2つの条件を満たせば処理607へ移り、2つの条件を満たせなければ処理608へ移る。処理607はsame_countに1を加える。same_countは、現在のフレーム画像および前のフレームのいずれにおいても画像変動領域であると判定された、移動物体画像抽出領域に属する区分領域の総数を表す変数である。処理608から処理609は上記の処理を移動物体画像抽出領域内の全区分領域に対して行うためのアドレス更新処理である。今の例では移動物体画像抽出領域は、区分領域(8、0)から(8、12)までであるので、このアドレス更新処理では、区分領域のY方向アドレスYbのみが更新されている。
【0078】
処理610から処理619(図21)では、移動物体画像データを作成する処理である。処理610は変数now_countが1以上であり、かつsame_countに2をかけた値を、now_countとold_countを足した値で割った値が0.48以下であるかを調べる。第1の条件は、現在のフレームの移動物体画像の少なくとも一部が移動物体画像抽出領域内の少なくとも一つの区分領域に保持されていることを示す。第2の条件の左辺は、移動物体画像の内、移動物体画像抽出領域内に存在する部分の割合を計るパラメータである。あるフレームで、移動物体画像が移動物体画像抽出領域に初めて進入したときには、 same_countはまだ0であるので、第2式左辺は0である。その後、移動物体画像の内、移動物体画像抽出領域内に存在する部分の割合が増えると、第2式左辺は増大する。しかし、この割合がそれほど大きくないとき、 same_countの値も小さく、第2式左辺は1よりかなり小さい値を採る。この割合が大きくなるほど、old_count、 now_count、same_countの値はいずれもほぼ同じ値に近づき、第2の条件の左辺は1に近づく。この割合がある程度の値に達すると、左辺の値は余り変化しない。したがって、第2式左辺の値は、移動物体画像の内、移動物体画像抽出領域内に存在する部分の割合がそれほど大きくないときに、比較的大きく変化する。本実施の形態は、以上のことを考慮して第2式左辺の値が飽和値1の半分より少し小さな値0.48以下の時のフレーム画像を移動物体画像として記憶するように構成されている。
【0079】
現在のフレームが処理610が指定する上記2つの条件を満たしていれば、プログラムは処理611へ移り、現在のフレームが2つの条件を満たしていなければ、プログラムは処理620へ移る。処理611では、処理すべき画素の座標X、Yを表す変数X、Yを0に初期化する。処理612は、移動物体画像データ5−23内の、画素(X、Y)に対応する要素に現在のフレーム画像データ5−5内の、同じ画素に対する要素を代入し処理613へ移る。処理613では経路付き移動物体画像抽出時間として、その時点の時間を経路付き移動物体画像抽出時間5−2−3に書き込む。処理614から処理618は上述の処理を全ての画素に対して行うためのアドレス更新処理である。処理619は移動物体画像データの作成が終了したことを示す変数Paste_flagに1を代入する。
【0080】
なお、移動物体画像抽出処理600が異なるフレームに対して繰り返される過程で、あるフレーム画像が処理610に示す二つの条件を満足した後に、後続のフレーム画像が同じ条件を満たすことが起きうる。その場合にも、上記処理612、613、614が繰り返され、それまでに記憶されていた移動物体画像データ5−23、経路付き移動物体画像抽出時間5−2−3は、上記後続のフレーム画像に対して抽出された移動物体画像データ、経路付き移動物体画像抽出時間により上書きされる。したがって、上記処理610の左辺の値が0.48を越えたフレーム画像の直前のフレーム画像に対する移動物体画像データ、経路付き移動物体画像抽出時間が、移動物体画像データ5−23、経路付き移動物体画像抽出時間5−2−3として保存されることになる。
【0081】
処理620から処理626(図22)までは、前フレーム画像変動領域データ5−20の更新処理である。処理620では、処理すべき区分領域に付された、X、Y方向の番号を表す変数Xb、Ybを0に初期化する。処理621は前フレーム画像変動領域データ5−20内の、区分領域(Xb、Yb)に対応する要素に画像変動領域データ5−19内の、区分領域(Xb、Yb)に対応する要素を代入し処理622へ移る。処理622から処理626は上述の処理を全ての区分領域に対して行うためのアドレス更新処理である。
【0082】
(4f)経路付き移動物体画像表示処理700
処理700から処理708(図23)までは、画像変動領域データ5−19により、フレーム画面内に存在する画像変動領域の総数をカウントする処理である。処理701では、処理すべき区分領域に付された、X、Y方向の番号を表す変数Xb、Ybおよび画像変動領域の数を表す変数all_countを0に初期化する。処理702は画像変動領域データ5−19内の区分領域(Xb、Yb)に対応する要素が1であるかを調べ、1であれば処理703へ移り、1でなければ処理704へ移る。処理703はall_countに1を加え処理704へ移る。処理704から処理708は上述の処理を全ての区分領域に対して行うためのアドレス更新処理である。このようにして、 all_countは、現フレーム画面内に存在する画像変動領域の総数を表す。この総数は以下に述べる処理において、移動物体がカメラ9の視野外に退出したタイミングを検出するのに使用される。
【0083】
処理709から処理726(図24)は、経路付き移動物体画像データ5−2−2を作成し表示する処理である。ここでは、移動物体が移動物体画像抽出領域を通過後画面から退出したときに、移動物体画像データ5−23の1/2縮小画像と経路画像データ5−22の1/2縮小画像を合成して経路付き移動物体画像データ5−2−2が生成される。このとき、経路画像が移動物体画像に半透明色で重畳して表示されるように、移動物体画像データ5−23と経路画像データ5−22が合成される。
【0084】
まず、処理709では移動物体画像の抽出後に移動物体が画面から退出したか否かを調べるため、Paste_flagが1であり、かつall_countが0であるか否かを判定する。現在のフレーム画像が2つの条件を満たしていれば、プログラムは処理710へ移り、現在のフレーム画像が2つの条件を満たしていなければ、プログラムは処理100へ移る。
【0085】
処理710では処理すべき画素のX、Y座標を表す変数X、Yを0に初期化する。処理711ではために、移動物体画像データ5−23の各色成分データ5−23−1、5−23−2または5−23−3内の画素(X×2、Y×2)に対応する要素と重み(1―α)との積に、経路画像データ5−22の対応する色成分データ5−22−1、5−22−2または5−22−3内の、画素(X×2、Y×2)に対応する要素と、経路画像データ5−22の経路透明度データ5−22−4内の、画素(X×2、Y×2)に対応する要素と、重みαとの積を加算し、得られる色データを経路付き移動物体画像データ5−2−2内の、画素(X、Y)に対応する要素に代入する。ここで重みαは1より小さく、0より大きい適当な値である。この処理711は赤、緑、青の各色成分に対して実行される。こうして、経路画像を半透明色で移動物体画像に重畳して表示するための画像データが得られる。なお、以上の計算から明らかなように、経路透明度データ5−22−4の要素の値が大きいほど、経路はより濃い半透明色で表示される。処理712から処理716は上記の処理を全ての画素に対して行うためのアドレス更新処理である。こうして、経路付き移動物体画像データ5−2−2が生成される。このとき、さらに、経路付き移動物体画像識別番号55−2−1が決定される。
【0086】
処理719から処理724は経路領域データ5−21と変数Paste_flagをゼロクリアするための処理である。処理718では処理すべき区分領域に付された、X、Y方向の番号を表す変数Xb、Ybを0に初期化する。処理719では経路領域データ5−21内の区分領域(X、Y)に対応する要素をゼロクリアする。処理720から処理724は上記の処理を全ての区分領域に対して行うためのアドレス更新処理である。処理725は経路付き移動物体画像データの作成が終わったことを示すためにPaste_flagに0を代入して処理726へ移る。
【0087】
処理726は、処理711で作成した経路付き移動物体画像データ5−2−2に対して、経路付き移動物体画像表示位置X(5−2−4)および経路付き移動物体画像表示位置Y(5−2−5)を決定し、その経路付き移動物体画像データ5−2−2を画面上の領域70内の決定された位置へ表示する。すでに表示されている経路付き移動物体画像があるときには、その画像に並べて新たな経路付き移動物体画像を表示するように、新たな画像の表示位置が決定される。処理726が終了すると新しいフレーム画像の入力を行う処理100へ移る。上記の処理により、移動物体を含んだ画像に、その移動物体の移動経路を付加した画像が作成され、表示される。
【0088】
以上の説明から明らかなように、本実施の形態によれば、移動物体の動き特徴の検出に過去2フレーム以上において異なった場所に存在した変動エッジを利用している。一般に監視カメラは静止させて撮影するため、背景のエッジは不動である。変動エッジを利用すると、背景で生じた部分のエッジを取り除くことができ、監視区域内に侵入した物体の動きのある部分のエッジのみ抽出できる。
【0089】
更に、移動物体の抽出に、領域毎に色特徴の時間的変化を調べる色特徴処理も利用すると、木の葉の揺れの様な画像の動き変化を含む領域がある場合にも、誤って抽出することがなくなる。
【0090】
また、人物が一旦立ち止って、その場で作業しているような動きを含む領域も、隣接する領域の経路領域データを用いると、移動物体の画像変動領域(経路領域)として判断することができる。
【0091】
更に、移動物体の経路となる領域を半透明色で表し、さらに、同一移動物体が何度も通過した領域や滞在時間が長い領域ほど半透明色を濃くして表示すると、オペレータは、一目で移動物体の経路の時間的な変化を確認することができる。
【0092】
なお、本発明は以上の実施の形態に限定されるのではなく、いろいろの実施の形態により実現可能である。たとえば、例えば、移動物体の検出方法も他の方法により実現可能である。本実施の形態は、移動物体画像抽出領域が画面中央に位置すると仮定したが、本発明はね他の位置と大きさを有する移動物体画像抽出領域の場合にも適用でき、その場合には処理600での初期設定値および処理608から処理609までのアドレス更新処理を適宜変更すればよい。
【0093】
以上の実施の形態に示された技術は、通行者という移動物体に適用されたが、車その他の移動物体にも適用可能である。さらに、以上の技術は、屋外を移動する移動物体の画像の抽出と移動経路の抽出に適用されたが、もとより屋内を移動する物体にも適用可能である。さらに、以上の技術は同時には一つの移動物体のみがカメラの視野内に存在する場合に適用されたが、同時に複数の物体が存在する場合にも、以上の技術の基本的なところはそのまま適用可能である。さらに、それらの複数の移動物体が同時にカメラの視野内に存在する場合にもそれぞれの移動物体の画像と移動経路を検出するように以上の技術を変形することも可能である。
【0094】
なお、実施の形態では、実時間で経路付き移動物体画像を表示していたが、複数の移動物体に対する複数の経路画像を外部情報記憶装置13に順次記憶し、後にこれらの画像を順次もしくは並べて表示する方法を採ってもよい。
【0095】
【発明の効果】
本発明によれば、移動物体を含んだ画像に、その移動物体の経路を付加した画像が自動的に生成され、表示されるため、監視者は監視領域への侵入物とその移動経路を簡単に知ることができる。
【図面の簡単な説明】
【図1】本発明に係る移動物体表示システムの一つの実施の形態の概略構成図である。
【図2】図1の装置においてディスプレイに表示される画面の一例を示す図である。
【図3】図1の装置において実行される移動物体の表示プログラムの概略フローチャートである。
【図4】図1の装置において使用されるプログラムとデータの一覧を示す図である。
【図5】図2に示されたデータの内、経路付き移動物体画像構造体のフォーマットを示す図である。
【図6】図3のフローチャート内の動き特徴抽出処理(200)の一部のフローチャートである。
【図7】図3のフローチャート内の動き特徴抽出処理(200)の他の部分のフローチャートである。
【図8】図3のフローチャート内の動き特徴抽出処理(200)のさらに他の部分のフローチャートである。
【図9】図3のフローチャート内の動き特徴抽出処理(200)のさらに他の部分のフローチャートのである。
【図10】図3のフローチャート内の動き特徴抽出処理(200)のさらに他の部分のフローチャートである。
【図11】図3のフローチャート内の動き特徴抽出処理(200)のさらに他の部分のフローチャートである。
【図12】図3のフローチャート内の色特徴抽出処理(300)の一部のフローチャートである。
【図13】図3のフローチャート内の色特徴抽出処理(300)の他の部分のフローチャートである。
【図14】図3のフローチャート内の色特徴抽出処理(300)のさらに他の部分のフローチャートである。
【図15】図3のフローチャート内の画像変動領域抽出処理(400)の一部のフローチャートである。
【図16】図3のフローチャート内の画像変動領域抽出処理(400)の他の部分のフローチャートである。
【図17】図3のフローチャート内の経路抽出処理(500)の一部のフローチャートである。
【図18】図3のフローチャート内の経路抽出処理(500)の他の部分のフローチャートである。
【図19】図3のフローチャート内の経路抽出処理(500)のさらに他の部分のフローチャートである。
【図20】図3のフローチャート内の移動物体画像抽出処理(600)の一部のフローチャートである。
【図21】図3のフローチャート内の移動物体画像抽出処理(600)の他の部分のフローチャートである。
【図22】図3のフローチャート内の移動物体画像抽出処理(600)のさらに他の部分のフローチャートである。
【図23】図3のフローチャート内の経路付き移動物体画像表示処理(700)の一部のフローチャートである。
【図24】図3のフローチャート内の経路付き移動物体画像表示処理(700)の他の部分のフローチャートである。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method for extracting a moving object within its field of view from an image captured by a monitoring camera or the like and displaying the moving object on a display device, a display system using the same, and a program recording medium therefor.
[0002]
[Prior art]
Currently, cameras monitor images at various places such as roads, railroad crossings, dams, and convenience stores. These are aimed at preventing accidents and crimes by monitoring objects appearing in specific places. For example, in places such as convenience stores, suspicious persons are monitored, and in areas where entry is absolutely prohibited, such as dams, the presence of human entry is monitored. However, at present, such monitoring is generally performed in such a manner that a human watches and monitors a video in real time, or records the video on a storage medium such as a video tape, and then confirms it later. It was. Under such circumstances, automation of video monitoring using a computer has been demanded, and various methods have been proposed.
[0003]
Nakai et al., IEICE Transactions D-II, Vol. J77-D-II, No. 7, pp. 1209-1218, 1994 (hereinafter referred to as a first reference) automatically detects a moving object such as a pedestrian from an image by using a three-stage continuous processing module of change detection, partial tracking, and motion interpretation. A way to do that has been proposed. Here, the results of an experiment for extracting a traveling route of a general customer in a store are also reported. Also, a paper by Nakanishi et al., IEICE Transactions D-II, Vol. J77-D-II, No. 9, pp. 1716-1726, 1994 (hereinafter referred to as a second reference) proposes a method for automatically extracting vehicles such as automobiles running outdoors using spatiotemporal image processing. Japanese Patent Application Laid-Open No. 08-221577, which is a patent application filed by the present applicant, discloses that a slit is set in an image as one method for detecting a moving object outdoors, and a background image stored in advance and a current image are compared. A method of detecting a moving object by detecting a change by taking a correlation has been proposed. A system that can monitor a moving object outdoors, for example, a system that automatically recognizes the number of a running car is also on sale.
[0004]
[Problems to be solved by the invention]
In a conventional surveillance system, the image obtained by the surveillance camera is displayed on the monitor at the same time as the image is acquired, or the image obtained by the surveillance camera is stored and checked later to check the image. Can shorten the playback time, such as fast forward playback, which is equal to the video acquisition time, and does not attempt to increase the efficiency of the operation of the surveillance camera operator. The experiment by Nakai et al. Extracted the travel routes of multiple passers in the store, but we explained how the extracted routes correspond to the images of passers passing through the routes. It has not been. Further, for this extraction, the video in the store is recorded on a VTR, and the recorded video is used. This makes it impossible to perform this extraction in real time.
[0005]
The method by Nakanishi et al. Is limited to an automobile or the like in which a monitored object travels linearly at a constant speed. In the technique described in Japanese Patent Application Laid-Open No. 08-221577, since only a moving feature is used for detecting a moving object, there is a problem that the sway of trees is erroneously recognized as a part of the moving object.
[0006]
With the above-mentioned systems already sold, it is necessary to perform an operation to exclude the area where trees are reflected from the monitoring target area in order to perform reliable monitoring outdoors, and moving objects are automatically detected in all natural environments. Can not monitor. Further, in such a system, a complicated operation of changing the setting of the operation parameter every time the monitoring position changes has occurred. As described above, in a natural environment including a row of trees and miscellaneous trees in an image, it is necessary to adjust the setting of the operation parameter in advance to correctly detect a moving object.
[0007]
SUMMARY OF THE INVENTION It is an object of the present invention to provide a moving object display method and a display system using the method, which can reduce the burden on an operator for confirming a moving object in a video.
[0008]
Another object of the present invention is to provide a moving object display method capable of reducing the burden on the operator even in various natural environments, and a system using the method.
[0009]
[Means for Solving the Problems]
In order to achieve the above object, a moving object display method and a display system according to the present invention execute the following steps.
[0010]
Extracting a moving path in the visual field of the moving object that has entered a predetermined visual field captured by the imaging device based on the moving image signal supplied from the imaging device,
Generating first image data representing an image of the moving path extracted for the moving object;
Generating second image data representing an image of the moving object based on the moving image signal;
A superimposed image formed by superimposing an image of the moving path extracted on the moving object and an image of the moving object is displayed on the display device based on the first and second image data.
[0011]
In a more desirable aspect of the present invention, the step of displaying from the step of extracting is repeated for at least one other moving object that has entered the field of view after the moving object,
The superimposed image for the moving object and the superimposed image for the other moving object are displayed side by side on the display device.
[0012]
In another preferred aspect of the present invention, the image of the moving path is displayed in a translucent color on the image of the moving object.
[0013]
In another preferred aspect of the present invention, the image of the moving object is an image supplied by the imaging device when the moving object is located in a predetermined area.
[0014]
In another preferred aspect of the present invention, the image of the moving object is a reduced image of an image supplied by the imaging device when the moving object is located in a predetermined area.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a moving object display system according to the present invention will be described in more detail with reference to embodiments shown in the drawings.
[0016]
(1) Outline of the device
In FIG. 1, reference numeral 1 denotes a display such as a CRT, which displays an output screen of the computer 3. Instructions to the computer 3 can be given using a pointing device 7 such as a mouse or a keyboard 8. The camera 9 is an imaging device, and a video signal output from the camera 9 is sequentially converted into digital image data 12 that can be handled by a computer by a video input device 11 and sent to the computer 3. Inside the computer, the digital image data 12 is stored in the memory 5 via the interface 6, and is processed by the CPU 4 according to the program stored in the memory 5. Further, various information necessary for this processing can be stored in the external storage device 13. Further, various data or image data obtained by the processing is also stored in the external storage device 13. Further, the camera 9 can be operated by a control signal 10 from a computer. The memory 5 stores various data created by the processing described below, and is referred to as needed.
[0017]
FIG. 2 is an example of a screen displayed on the display 1. An area 50 is a display area for the input digital image data 12, and displays a moving image supplied from the camera 9 during operation of the present system. An area 60 is an area for displaying buttons for controlling the present system and an operation state. The start button 61 in the area 60 is a button for instructing the start of execution of the moving object image display processing with a route. When the button is pressed, the operator positions the cursor 80 on the button via the pointing device 7, and It is done by clicking in the state. The stop button 62 is a button for instructing stop of the execution of the process. Reference numeral 63 indicates the number of moving object images with a path extracted from the start of execution to the present, and reference numeral 64 indicates an execution start time of the display processing. The area 70 is a display area of a moving object image with a route. In the following, it is assumed that the camera 9 is arranged outdoors having a passage such as a road or a stair provided outside the building. A person is assumed as a moving object. Assume that multiple moving objects enter the field of view of the camera at different times, but only one moving object is in the field of view at a time. That is, when a certain moving object enters this visual field, it is assumed that another moving object enters this visual field after the moving object exits this visual field.
[0018]
In this system, when a moving object enters the field of view to be monitored, its moving path is automatically extracted. This extraction is continued until the moving object leaves the field of view. As a result, the movement route is updated every moment. Image data representing the moving route is generated such that the extracted moving route is displayed in a translucent color so as to be superimposed on an image representing the moving object, which will be generated later. When the moving object passes through a predetermined area, for example, a space corresponding to a vertically elongated area at the center of the screen 50, the digital image data 12 at that time is reduced to an appropriate size, for example, 1 /. Is stored as a moving object image, and the passing time is stored as the time when the image of the moving object is extracted. Thereafter, when the moving object exits from the field of view, a moving object image with a path is generated by superimposing the path of the moving object on the previously extracted moving object image. Will be displayed.
[0019]
Thereafter, when a subsequent moving object enters the same field of view, the same processing is automatically repeated for the subsequent moving object. The moving object image with a path extracted for the subsequent moving object is displayed side by side with the moving object image with a path displayed earlier. In this way, a plurality of moving object images with a route for a plurality of moving objects sequentially entering the field of view are automatically displayed as a list. Therefore, the operator can monitor the moving object very easily. If the extracted moving object image with a route exceeds the number of images that can be displayed in the area 70, the area 70 automatically scrolls up. Therefore, the latest moving object images with multiple routes are always Bottom Will be displayed. The operator can operate the scroll buttons 71 and 73 and the scroll bar 72 to check all the moving object images with a route.
[0020]
(2) Outline of processing
FIG. 3 is a schematic flowchart of a moving object image display program with a route executed by the present system. In the figure, a process 90 initializes variables used by the program. The frame image input processing 100 loads one frame of digital image data 12 supplied by the video input device 11 into the memory 5. This process 100 and subsequent processes 200 to 700 are repeated for each frame.
[0021]
The motion feature extraction processing 200 detects whether or not at least a part of the moving object exists in each of the segmented areas as a motion feature of the segmented area, and moves each of the plurality of segmented areas in which at least a part of the moving object exists. Extract as a characteristic region. Specifically, the process 200 extracts a plurality of changing edges existing at positions different from the positions in the preceding frame. A plurality of fluctuating edge pixels constituting each fluctuating edge are counted for each of a plurality of divided areas obtained by dividing the screen, and are constant for each of the divided areas in both the preceding frame and the current frame. It is determined whether or not the number of the changed edge pixels exceeds the number. When any of the segmented regions satisfies the determination condition, the segmented region is extracted as a motion feature region. Each motion feature region is a segmented region in which it is determined that at least a part of the moving object exists within the region.
[0022]
The color feature extraction process 300 is a process of extracting a color feature for each of the divided regions. Specifically, for each of the divided regions, a histogram of the colors of the pixels in the divided region is obtained, and A frequently-used color is extracted as a representative color of the divided area. In the present embodiment, the representative color of the divided area is used as a color feature of the divided area.
[0023]
The image variation area extraction processing 400 includes a plurality of divided areas where a moving object is considered to exist, based on the plurality of motion feature areas extracted in the processing 200 and the color features extracted in the processing 300 for each of the motion feature areas. Is extracted. These segmented areas where a moving object is considered to be present are called image fluctuation areas.
[0024]
The path extraction processing 500 further extracts, from among the plurality of image fluctuation areas extracted in the processing 400, one section area that is the center of the areas as a passing point of the moving object of the moving object, and extracts the section area. , To generate image data for painting in a translucent color. By repeating this process 500 over different frames, another plurality of passing points of the same moving object are extracted, and each passing point is superimposed on an image representing the moving object, which will be described later, with a translucent color. Image data for displaying the section area to which the image belongs is generated. The image data generated for these passing points constitutes route image data for displaying a moving route.
[0025]
The moving object image extraction processing 600 extracts a moving object image when at least a part of the moving object passes through a predetermined area in the visual field, that is, when it passes through a corresponding predetermined area in the screen 50. I do. Specifically, the predetermined area in the field of view is a vertically long spatial area in the center of the field of view of the camera 9, and the corresponding predetermined area in the screen 50 is located at the center of the screen 50. This is a vertically long slit area. The detection of the point in time when the moving object has passed through the space area is performed by detecting the point in time at which at least a part of the plurality of image fluctuation areas extracted in the process 400 is located in the slit area. In the process 600, an image obtained by reducing the frame image given from the camera 9 at the time of this detection to, for example, 生成 is generated and stored as a moving object image. Therefore, the moving object image generated in this way is easy to see because the moving object is included in a predetermined area on the screen without depending on the moving path.
[0026]
When the moving object goes out of the field of view of the camera 9, the moving object image with route display processing 700 combines the already generated moving object image and the route image, and generates a moving object image with route as additional data such as moving object. It is displayed in the area 70 of the display 1 together with the image extraction time. Thereafter, when another moving object image with a route for the moving object that has entered the field of view is displayed in the area 70 of the display 1, the other moving object image with a route is displayed alongside the moving object image with a route already displayed. I do.
[0027]
In the extraction of the image fluctuation region in the above process 400, a region including a moving object such as a leaf fluctuating in the wind is extracted as an image fluctuation region by using the motion feature and the color feature determined for each of the segment regions. I try not to. In addition, in the extraction of the image variation region, in addition to the motion feature and the color feature determined for each of the segmented regions, the human stops and takes into consideration the passing points of the route already determined for the same moving object. The segmented area considered to be moving is extracted as an image fluctuation area.
[0028]
Further, in the process 500, when it is determined that a certain divided area is a passing point of a moving object over a plurality of frames, path image data for the divided area is generated so that the semi-transparent color of the divided area is darkened. I do. For this reason, a temporal element of the movement of the moving object, including whether or not the moving object stays at the same position, can be known from the route image.
[0029]
In addition, the moving object image with a route is a reduced image, and a set of each moving object image with a route and the extraction time is displayed as a list of still images, so that the search for the moving object image is facilitated.
[0030]
(3) Data
FIG. 4 is a list of programs and data stored in the memory 5. In the figure, a program 5-1 is a moving object image display program with a route whose flowchart is shown in FIG. 5-2 to 5-23 are data generated or referred to by the program 5-1. Among them, 5-2 is data generated by the program 5-1 and 5-3 and 5-4 are preset. The parameters to be stored, 5-5 to 5-23, are work data used by the program 5-1 for processing one frame of image.
[0031]
The moving object image structure with route 5-2 is a structure for storing the extracted moving object image with route and additional data such as time. FIG. 5 shows the details. The first threshold value 5-3 is a threshold value used when extracting a strong edge pixel in an image, and the second threshold value 5-4 is a threshold value for detecting a motion feature region.
[0032]
First, data created by the frame image input processing 100 will be described. The frame image data 5-5 is digital image data of the latest frame provided by the video input device 11, and is referred to as red image data 5-5-1, green image data 5-5-2, and blue image data 5-5-3. It consists of three array data corresponding to three color components. Each color data is composed of 8-bit data representing one color component of each pixel, and each color component has a value of 0 to 255. In the present embodiment, it is assumed that one frame image has 160 pixels in the horizontal direction (X direction) and 120 pixels in the vertical direction (Y direction). Further, it is assumed that an image of one frame is divided into a plurality of divided areas arranged, for example, 16 in the horizontal direction and, for example, 12 in the vertical direction. Each partitioned area is composed of 10 × 10 pixels. Specifically, the red image data [160] [120] in the figure indicates that this array data is composed of elements equal in number to 160 × 120 pixels in one frame. The same applies to the green image data 5-5-2 and the blue image data 5-5-3. Hereinafter, a pixel (X, Y) may be referred to using a horizontal direction (X direction) coordinate X and a vertical direction (Y direction) coordinate Y of each pixel. Also, the variable edge data [16] [12] of reference numeral 5-12 described later indicates that this array data is composed of the number of elements equal to the number 16 × 12 of the divided areas. In the following, each divided area may be referred to as a divided area (X, Y) using numbers X and Y in the X and Y directions.
[0033]
Next, various data created in the motion feature extraction processing 200 will be described. The horizontal edge data 5-6 includes array data indicating whether each pixel is a pixel forming a horizontal edge (horizontal edge pixel) having a large color difference in a horizontal direction of an image with respect to a neighboring pixel, and vertical edge data. 5-7 is array data indicating whether or not each pixel is a pixel (vertical edge pixel) forming a vertical edge having a large color difference in the vertical direction of the image with respect to a neighboring pixel. The previous frame horizontal edge data 5-8 and the previous frame vertical edge data 5-9 are array data storing the horizontal edge data 5-6 and the vertical edge data 5-7 one frame before the currently processed frame, respectively. .
[0034]
The variable horizontal edge data 5-10 indicates whether each pixel is a pixel (variable horizontal edge pixel) that forms a variable horizontal edge existing at a different position in the frame immediately before the current frame. Sequence data. Similarly, the fluctuating vertical edge data 5-11 indicates whether each pixel is a fluctuating vertical edge pixel (fluctuating vertical edge pixel) existing at a different position in the frame immediately before the current frame. Is array data representing.
[0035]
The fluctuating edge data 5-12 is array data in which the total number of fluctuating horizontal edge pixels or fluctuating vertical edge pixels included in each of the divided areas is stored. The previous frame variable edge data 5-13 is array data storing the variable edge data 5-12 one frame before the frame currently being processed. The motion feature area data 5-14 is array data indicating whether or not each of the divided areas includes a pixel (a fluctuating edge pixel) that forms an edge whose position changes with time. Specifically, the array data includes an array indicating whether the total number of the variable edge pixels of the current frame and the total number of the variable edge pixels of the immediately preceding frame have both exceeded the second threshold value 5-4. Data. In the present embodiment, the result of this determination for each partitioned area is used as the motion characteristic of that partitioned area. When a certain segment area satisfies the determination condition, the segment area may be called a motion feature area.
[0036]
Next, data created in the color feature extraction processing 300, the image variation area extraction processing 400, the path extraction processing 500, the moving object image extraction processing 600, and the moving object image display processing with path 700 will be described. The histogram data 5-15 is three-dimensional array data corresponding to each of the divided areas and representing the frequency distribution of the colors of the pixels in the divided area. In order to create the histogram data 5-15, the color of each pixel is converted into 64 gradations, and the value obtained by counting the pixels having the color of the gradation corresponding to each gradation for each divided area is calculated. calculate. The area representative color data 5-16 is array data that stores the color gradation displayed most frequently in each divided area, that is, the color number of the representative color. In the present embodiment, a representative color of each divided area is used as an example of the color characteristics of the divided area. The previous frame area representative color data 5-17 is array data storing the area representative color data 5-16 one frame before the currently processed frame. The before-before-frame area representative color data 5-17 is array data storing the area representative color data 5-16 two frames before the frame currently being processed.
[0037]
The image fluctuation region data 5-19 is an array indicating, for each of the divided regions, whether or not the divided region includes a pixel (variable pixel) constituting an edge of the image of the moving object. This determination is made based on the motion characteristics and color characteristics determined for each of the divided areas. The previous frame image fluctuation area data 5-20 is array data storing the image fluctuation area data 5-19 one frame before the frame currently being processed.
[0038]
The route area data 5-21 is array data indicating whether or not each section area is a passing point of a moving object. The larger the number of times that any one of the divided areas is a passing point of the moving object and the moving object is determined to be present in the divided area, that is, the longer the staying time of the moving object in the divided area is, In the route area data 5-21, a high numerical value is stored in an element corresponding to the section area. The route image data 5-22 is data representing an image obtained by filling a specific translucent color in a segmented area forming a route on which a moving object has passed, and includes route red image data 5-22-1 and route green image data 5. -22-2, route blue image data 5-22-3, and image data for three colors and route transparency data 5-22-4. The route transparency data 5-22-4 is data for specifying the density of the translucent color used to display the route image. The moving object image data 5-23 is data representing an image of a moving object, and includes red image data 5-23-1, green image data 5-23-2, and blue image data 5-23-3.
[0039]
FIG. 5 shows a moving object image structure with a route that stores data of a moving object image with a route and information attached thereto. The moving object image with route identification number 5-2-1 is the number of the moving object image with route, and the moving object image data with route 5-2-2 is array data storing the moving object image with route. The moving object image with route display position X (5-2-3) and the moving object image with route displaying position Y (5-2-4) display the moving object image with route in the area 70 of the display 1 (FIG. 2). X, Y coordinate position. The moving object image extraction time 5-2-5 stores the time when the moving object enters a predetermined area in the field of view of the camera 1 or a predetermined area in the screen 50 corresponding to the moving object.
[0040]
(4) Details of processing
Hereinafter, with reference to the data of FIG. 4, the processing of the moving object image display program with a route illustrated in FIG. 3 will be described in detail with reference to flowcharts illustrated in FIGS. These flowcharts are described using the C language.
[0041]
(4a) Motion feature extraction processing 200
Processes 201 to 212 (FIG. 6) are processes for extracting pixels having strong vertical and horizontal edges. Here, the vertical edge and the horizontal edge are edges that can be detected when the image is scanned in the vertical direction (vertical direction) or the horizontal direction (horizontal direction), respectively. A strong edge is a sharper edge in an image, and in the present embodiment, is an edge representing the outline of a person, such as the outline of a person's face, the outline of a limb, or the outline of clothes. Suitable for detection. On the other hand, an edge representing a contour of a nose or the like in a person's face is not suitable for detecting the movement of the person. These edges are generally less sharp than the previously described edges. Therefore, the present embodiment is programmed to mainly detect a strong edge.
[0042]
In process 201, variables X and Y representing the X and Y coordinates of the pixel to be processed are initialized to 1. The processing 202 is based on one frame of image data supplied from the video input device 11 and is performed in each of the red image data 5-7-1, the green image data 5-7-2, or the blue image data 5-7-3. Whether the color difference between the pair of pixels (X + 1, Y) horizontally adjacent to the pixel (X, Y) and the pair of elements corresponding to the pixel (X-1, Y) is greater than the first threshold value A Check whether or not. If the color difference of all the color components between the pair of pixels is larger than the first threshold value A, this pixel (X, Y) can be considered as a pixel constituting a horizontal edge in the image. it can. In this case, the program moves to step 203, and otherwise moves to step 204.
[0043]
In the process 203, 1 is written to the element corresponding to the pixel (X, Y) in the horizontal edge data 5-6, and in the process 204, 0 is written to the element. In steps 205 to 207, the vertical edge data 5-7 is similarly created. Processes 208 to 212 are address update processes for performing the above process for all pixels. When all processes are completed, the program moves to process 213. In the present embodiment, a relatively large value, for example, 55 is used as the first threshold value A used for edge detection in the processes 202 and 205. As a result, a strong horizontal edge or a strong vertical edge is mainly detected. Since all edges processed in the present embodiment are strong edges, the strong edges are hereinafter simply referred to as edges.
[0044]
Processes 213 to 224 (FIG. 7) are processes for extracting horizontal edges or vertical edges appearing at different positions among a plurality of frames. These edges may be referred to as fluctuating horizontal edges or fluctuating vertical edges. These edges may be collectively referred to as a fluctuating edge. In addition, pixels that form a fluctuating horizontal edge, a fluctuating vertical edge, or a fluctuating edge may be referred to as fluctuating horizontal edge pixels, fluctuating vertical edge pixels, or fluctuating edge pixels.
[0045]
In process 213, variables X and Y representing the X and Y coordinates of the pixel to be processed are initialized to zero. In the process 214, one of the element value for the pixel (X, Y) in the horizontal edge data and the element value for the same pixel (X, Y) in the previous frame horizontal edge data is 1 and the other is 0. If the pixel (X, Y) satisfies this condition, it is a horizontal edge pixel in the previous frame and not in the current frame, or vice versa. Therefore, this pixel is treated as a variable horizontal edge pixel representing a variable horizontal edge whose position has changed between the previous frame and the current frame. In this case, the program proceeds to step 215, otherwise to program 216. In step 215, 1 is written to the element corresponding to the pixel (X, Y) in the variable horizontal edge data 5-10, and in step 216, 0 is written to the same element. Similarly, the variable vertical edge data 5-11 is created by the processes 217 to 219. Processes 220 to 224 are address update processes for performing the above process for all pixels. When all the processes are completed, the program moves to the process 225.
[0046]
In the above processes 213 to 224, edges existing at different locations in at least two past frames are extracted. Since the camera 9 is stationary, the background edge does not move. Therefore, the edge generated in the background can be removed by detecting the above-mentioned fluctuating horizontal edge or fluctuating vertical edge, and only the edge derived from the movement of the moving object that has entered the monitoring area can be extracted.
[0047]
Processes 225 to 238 (FIG. 8) are processes for counting the changing edge pixels included in each of the divided areas. In the process 225, variables Xb and Yb indicating the numbers in the X and Y directions assigned to the divided area to be processed and variables i and j indicating the numbers in the X and Y directions assigned to the pixels to be processed in the divided area. Is initialized to 0. The process 226 determines whether the value of the element corresponding to the (i, j) -th pixel in the segmented area (Xb, Yb) in the variable horizontal edge data 5-10 or the same pixel in the variable vertical edge data 5-11. It is checked whether at least one of the values of the element corresponding to is 1. In this embodiment, if this pixel satisfies this condition, it is treated as a variable edge pixel. In this case, the program proceeds to processing 227, and otherwise proceeds to processing 228. In process 227, 1 is added to the value of the element corresponding to the above-mentioned segmented area (Xb, Yb) in the variable edge data 5-12. Processes 228 to 238 are address update processes for performing the above process for all pixels. When all processes are completed, the program moves to process 239.
[0048]
Processes 239 to 247 (FIG. 9) are processes for detecting whether or not each of the divided areas includes a moving image. In a process 239, variables Xb and Yb indicating the numbers in the X and Y directions assigned to the divided areas to be processed are initialized to 0. The process 240 determines that the value of the element corresponding to the segmented area (Xb, Yb) in the variable edge data 5-12 is greater than or equal to the second threshold value B, and that It is checked whether or not the value of the element corresponding to the segmented area is equal to or greater than the second threshold value B. In this embodiment, if the segmented region satisfies these two conditions, the segmented region contains a predetermined number or more of variable edge pixels continuously in a plurality of frames. Is treated as an area containing. The reason why the value of the element of the variable edge data in a plurality of frames corresponding to the divided area is checked is to remove the influence of noise or the like generated by the image processing. Whether or not the segmented area satisfies these conditions is called the motion feature of the segmented area. Further, when the segmented region satisfies these conditions, the segmented region may be referred to as having a motion feature, and the segmented region may be referred to as a motion feature region. If the segment area satisfies these two conditions, the program proceeds to step 241; otherwise, the program proceeds to step 242. In the process 241, 1 is written to the element of the motion characteristic region data 5-14 corresponding to the segmented region, and in the process 242, 0 is written to the same element. Processes 243 to 247 are address update processes for performing the above-described process for all areas. When all processes are completed, the program moves to process 248.
[0049]
Processing 248 to processing 254 (FIG. 10) are processing for updating the previous frame horizontal edge data 5-8 and the previous frame vertical edge data 5-9. In the process 248, variables X and Y representing the numbers in the X and Y directions assigned to the divided areas to be processed are initialized to 0. A process 249 substitutes an element corresponding to the divided area (X, Y) in the horizontal edge data 5-6 for an element corresponding to the divided area (X, Y) in the previous frame horizontal edge data 5-8. Further, the element corresponding to the segmented area (X, Y) in the vertical edge data 5-7 is substituted for the element corresponding to the segmented area (X, Y) in the previous frame vertical edge data 5-9. . Processes 250 to 254 are address update processes for performing the above process for all pixels.
[0050]
Processes 255 to 262 (FIG. 11) are processes for updating the previous frame variable edge data 5-13 and zero clearing the variable edge data 5-12. In the process 255, variables Xb and Yb representing the numbers in the X and Y directions assigned to the divided areas to be processed are initialized to 0. The process 256 is performed to calculate the value of the element corresponding to the segmented area (Xb, Yb) in the preceding frame variable edge data 5-13 and the element corresponding to the segmented area (Xb, Yb) in the variable edge data 5-12. Is assigned. The process 257 assigns 0 to an element corresponding to the segmented area (Xb, Yb) in the variable edge data 5-12. Processes 258 to 262 are address update processes for performing the above-described process for all areas.
[0051]
(4b) Color feature extraction processing 300
Processing 301 to processing 314 (FIG. 12) are performed before each processing for obtaining a representative color for each of the divided areas, and for each of the divided areas, a histogram of the colors of 10 × 10 pixels belonging to the divided area is obtained. create. In the process 301, variables Xb and Yb indicating the numbers in the X and Y directions assigned to the divided area to be processed, and variables i and j indicating the numbers in the X and Y directions assigned to the pixels to be processed in the divided area. , The variable col representing the color number of the color histogram is initialized to zero. The process 302 converts the color of the (i, j) th pixel in the segmented area (X, Y), that is, the color of the pixel (X × 10 + i, Y × 10 + j) into one of 64 gradation colors, and Write the color number to the variable col.
[0052]
That is, the red image data 5-5-1, the green image data 5-5-2, and the blue image data 5-5-3 of each pixel are composed of 8 bits, and each color component is represented by 256 gradations. In the processing 302, three elements for the same pixel in the red image data 5-5-1, the green image data 5-5-2, and the blue image data 5-5-3 are respectively cut out in upper 2 bits, and these cut outs are extracted. The total 6-bit data thus obtained is used as the color number of the pixel. Specifically, in the process 302, 0xc0 is a hexadecimal representation for the binary data 11000000. The first expression is to shift the data obtained by the logical product of the binary data 11000000 and the element for the pixel (X × 10 + i, Y × 10 + j) in the red image data 5-5-1 to the right by 6 bits. Represents Similarly, the second equation is to shift the data obtained by the logical AND of the element for the pixel (X × 10 + i, Y × 10 + j) and the data 11000000 in the green image data 5-5-2 to the right by 4 bits. Represents The third expression indicates that data obtained by the logical product of an element for pixel (X × 10 + i, Y × 10 + j) and data 11000000 in the blue image data 5-5-3 is right-shifted by 2 bits. . Processing 302 indicates that the 6-bit color number obtained as a result of the logical sum of the three sets of 2-bit data obtained in this way is substituted for the variable col.
[0053]
The histogram data 5-15 is a three-dimensional array having 64 elements for each of the divided areas (X, Y). The process 303 adds 1 to an element in the histogram data 5-15 of the color number corresponding to the set of the segmented area (X, Y) and the value of the variable col calculated in the process 302. Processes 304 to 314 are address update processes for performing the above process for all pixels. When all processes are completed, the program moves to process 315.
[0054]
From processing 315 to processing 326 (FIG. 13), processing for extracting a representative color for each of the divided areas is performed. A process 315 initializes variables Xb and Yb indicating the numbers in the X and Y directions assigned to the segmented area to be processed to 0. The process 316 initializes the variable col representing the color number being processed and the variable max_col representing the color number having the maximum appearance frequency in the partitioned area being processed among the color numbers of 64 gradations to zero. The process 317 checks whether the value of the element (Xb, Yb, col) in the histogram data 5-15 is larger than the variable max_col in order to check the color number most frequently used in the segmented area (Xb, Yb). If the former is larger than the latter, the program proceeds to step 318, and if the former is smaller than the latter, the program proceeds to step 320. In the process 318, the variable max_col is replaced with the value of the element (Xb, Yb, col) in the histogram data 5-15, and the process proceeds to the process 319. A process 319 writes a variable col indicating a color number to an element (Xb, Yb) in the area representative color data 5-16. Processes 320 to 321 are address update processes for performing the above process for all 64 types of gradations. Processes 322 to 326 are address update processes for performing the above process for all areas. Thus, area representative color data 5-16 holding the color numbers of the representative colors for all the divided areas is generated. As will be described later with reference to FIG. 16, when the image variation area extraction processing 400 ends, the area representative color data 5-16 is moved to the previous frame area representative color data 5-17. The previous frame area representative color data 5-17 up to that time is moved to the two-before frame area representative color data 5-18.
[0055]
From processing 327 to processing 336 (FIG. 14), zero clear processing of the histogram data 5-15 is performed. A process 327 initializes variables Xb and Yb, which represent numbers in the X and Y directions, assigned to the segmented area to be processed to 0. A process 328 initializes a variable col representing a color number to be processed to zero. A process 329 writes 0 to the histogram data 5-15 to clear the histogram data 5-15 to zero, and the program proceeds to a process 330. Processes 330 to 331 are address update processes for performing the above process for all the color numbers for the divided areas (X, Y) in the histogram data 5-15. Processes 332 to 336 are address update processes for performing the above process for all the divided areas.
[0056]
(4c) Image fluctuation area extraction processing 400
Processing 401 to processing 412 (FIG. 15) are processing for extracting a region (image variation region) that is considered to include a moving object image from the motion features and color features detected for each segmented region. As described above, the motion feature detected for each segmented region indicates whether or not the segmented region includes a predetermined number or more of variable edge pixels. However, when the segmented area determined as the motion feature area is used as it is as an area including the image of the moving object to be tracked, some problems occur. In particular, the representative colors of the divided areas do not change over a plurality of frames. Such a case occurs when a certain segmented region seems to represent the fluctuation of the leaves of a tree, and conversely, when an image of a moving object that seems to be standing still is held. In the processes 401 to 412, the former divided area is not treated as a divided area (image fluctuation area) holding a moving object image, but the latter divided area is treated as an area including an image of a moving object (image fluctuation area). To do.
[0057]
In a process 401, variables Xb and Yb representing numbers in the X and Y directions assigned to the segmented area to be processed are initialized to 0. The process 402 checks whether or not the value of the element for the segmented area (X, Y) in the motion feature area data 5-14 is 1, and if the value is 1, the program proceeds to the process 403 and the program must be 1. If so, the process proceeds to step 406. In the process 403, it is determined whether or not the representative color of the divided area (X, Y) has changed between a plurality of frames. That is, the value of the element for the segmented area (X, Y) in the two-frame area representative color data 5-18 is equal to the value of the element for the segmented area (X, Y) in the area representative color data 5-16. And whether the value of the element for the divided area (X, Y) in the preceding frame area representative color data 5-17 is equal to the value of the element for the divided area (X, Y) in the area representative color data 5-16. Find out. If the divided area (X, Y) satisfies the above two conditions, the representative color of this divided area has not changed during the three frames from the frame immediately before the current frame to the current frame. In the present embodiment, it is estimated that the divided area (X, Y) satisfies the above two conditions in the following two cases. First, there is a case where an image in the divided area includes an image of a moving object that stops at substantially the same position. In another case, the background of the divided area includes leaves of trees swaying by the wind, and the background and the moving object are the same as in the case where the background is detected as a moving object.
[0058]
If the segmented area (X, Y) satisfies the above two conditions, the program proceeds to step 404. If the segmented area does not satisfy the two conditions, the program proceeds to step 407. In step 404, it is checked whether the value of Xb is 1 or more and 14 or less, and the value of Yb is 1 or more and 10 or less in order to avoid executing the processing of the outermost peripheral area in step 405. If these conditions are satisfied, the program proceeds to step 405; otherwise, the program proceeds to step 406.
[0059]
In the process 405, it is determined whether or not the image in the divided area includes an image of a moving object that is stopped at substantially the same position. That is, as will be described later, the route area data 5-21 has an element corresponding to each section area, and when any of the section areas is determined to be a passing point of the moving object, the route area data 5-21 The non-zero data is written to the element corresponding to the segmented area in. In the process 405, in the route area data 5-21, the divided areas (X-1, Y), (X + 1, Y), (X, Y-1) near the four divided areas (X, Y) being processed. , (X, Y + 1) are checked to see if all four elements are 0. If any one of these four elements in the path area data 5-21 is 1, it means that the moving object has passed through any of the divided areas by the preceding frame image. In this case, the currently processed segmented area is very close to the moving path of the moving object. Therefore, it is assumed that the reason why the representative color for the segmented area (X, Y) being processed satisfies the condition of the process 403 is that this segmented area holds the image of the moving object which is almost stopped. You. Therefore, when the segmented region (X, Y) being processed satisfies the two conditions of the process 403 and does not satisfy the condition of the process 405, the segmented region is treated as an image variation region including the image of the moving object of interest. .
[0060]
On the other hand, when the segmented region being processed satisfies the two conditions of the process 403 and further satisfies the condition of the process 405, the segmented region includes an image of a swinging object such as a leaf of a tree, and the representative color of the segmented region is It represents the color of the leaves of many trees in the background, so that it is determined that the representative color has not changed over a plurality of frames. Therefore, if the segmented area being processed satisfies the condition of step 405, the program proceeds to step 406, where it is assumed that there is no change in the image due to the moving object of interest in this sectioned area. Then, 0 is written in the element corresponding to the segmented area (X, Y) in the image fluctuation area data 5-19, and the process proceeds to processing 408.
[0061]
If the segmented area being processed does not satisfy the condition of step 405, the program proceeds to step 407. In the process 407, it is determined that there is a change in the image due to the moving object of interest in the divided area, 1 is written in the above element in the image variation area data 5-19, and the process proceeds to the processing 408. When the value of an element corresponding to a certain divided area in the image fluctuation area data 5-19 is 1, the divided area is called an image fluctuation area. Processes 408 to 412 are address update processes for performing the above-described process for all areas.
[0062]
Since the image fluctuation region is extracted as described above, a segmented region including a change in the image motion such as the swaying of a leaf is prevented from being erroneously extracted as the image fluctuation region. In addition, for a segmented region including a motion in which a person stops and moves, it is possible to determine that the segmented region is an image variation region by checking whether there is 1 in the adjacent route region data. . As described later, the image change area detected in the image change area extraction processing 400 is used for detecting a passing point of the moving object in the current frame image.
[0063]
If it is determined that the segmented area being processed contains an image of a moving object that has almost stopped, the image of the same moving object should be included in other segmented areas slightly or greatly separated from the segmented area. It is. However, these other segmented areas are often not adjacent to the already extracted movement route. In this case, these other divided areas satisfy the condition of the processing 405, and thus these other divided areas are not determined to be image fluctuation areas. Therefore, in the image fluctuation area extraction processing 400, only a part of the plurality of division areas actually including the image of the moving object that is almost stopped is determined to be the image fluctuation area. The detected part of the image fluctuation region can be used as it is for the detection of the passing point of the moving object in the current frame image described later, and therefore, it is unlikely that only such a part of the image fluctuation region is detected. There is no problem in detecting the passing point.
[0064]
Processing 413 to processing 419 (FIG. 16) are processing for updating the preceding frame area representative color data 5-18 and the preceding frame area representative color data 5-17. In the process 413, variables Xb and Yb representing the numbers in the X and Y directions assigned to the divided areas to be processed are initialized to 0. The processing 414 is performed on the element corresponding to the segmented area (Xb, Yb) in the preceding two-frame area representative color data 5-18 and the element corresponding to the segmented area (Xb, Yb) in the previous frame area representative color data 5-17. To the element corresponding to the segmented area (Xb, Yb) in the previous frame area representative color data 5-17, and the element corresponding to the segmented area (Xb, Yb) in the area representative color data 5-16. I do. Processes 415 to 419 are address update processes for performing the above-described process for all the divided areas.
[0065]
(4d) Route extraction processing 500
The plurality of image fluctuation areas detected by the image fluctuation area extraction processing 400 are considered to be divided areas that hold an image of a moving object of interest. In the present embodiment, the position of the center of the graphic represented by these image fluctuation areas is treated as the passing point of the moving object. Processing 500 to processing 533 (FIGS. 17 and 18) are processings for extracting the image change area at the center of the graphic represented by the plurality of image change areas as the current passing point of the moving object of interest. It is.
[0066]
In a process 501, variables Xb and Yb indicating the numbers in the X and Y directions and the variable bottom indicating the lowest position of the figure are initialized to 0. The process 502 checks whether or not the value of the element for the segment area (X, Y) being processed in the image variation area data 5-19 is 1, that is, whether or not the segment area is the image variation area. If so, the program proceeds to step 503; otherwise, the program proceeds to step 504. In process 503, the value of Yb is written to bottom, and the program proceeds to process 509. Processes 504 to 508 are addresses for performing the above-described process on all the regions only when the value of the element for the segmented region (X, Y) being processed in the image fluctuation region data 5-19 is not 1. This is an update process. In this address updating process, the address is updated in ascending order of the value of the variable Yb. As a result, when any one of the divided areas is first determined to be an image change area, the number of the divided area in the Y direction is represented by a plurality of image change areas detected by the image change area extraction processing 400. Represents the lowest position of.
[0067]
In process 509, variables Xb, Yb, and top used in processes 510 to 516 are initialized to 0. The process 510 checks whether or not the value of the element for the segmented region (X, Y) being processed in the image fluctuation region data 5-19 is 1, and if it is 1, the program proceeds to the process 511, and If not, the process proceeds to step 512. In process 511, the value of Yb is written to top, and the process proceeds to process 517. Processes 512 to 516 are address update processes for performing the above-described process for all areas. In this address updating process, the address is updated in order from the larger value of the variable Yb. As a result, when any one of the divided areas is first determined to be an image change area, the number of the divided area in the Y direction is represented by a plurality of image change areas detected by the image change area extraction processing 400. Represents the highest position of.
[0068]
In step 517, the variables Xb, Yb, and left used in steps 518 to 524 are initialized to zero. The process 518 checks whether or not the value of the element for the segmented region (X, Y) being processed in the image fluctuation region data 5-19 is 1, and if it is 1, the program proceeds to the process 519, and the program proceeds to the process 519. If not, the process proceeds to step 520. In processing 519, the value of Xb is substituted for left, and the flow advances to processing 525. Processes 520 to 524 are address update processes for performing the above process for all areas. In this address update process, the address is updated in ascending order of the value of the variable Xb. As a result, when any one of the divided areas is first determined to be an image change area, the number of the divided area in the X direction is represented by a plurality of image change areas detected by the image change area extraction processing 400. Represents the leftmost position of
[0069]
In the process 525, the variables Xb, Yb, and right used in the processes 526 to 532 are initialized to 0. The process 526 checks whether or not the value of the element for the segmented region (X, Y) being processed in the image variation region data 5-19 is 1, and if it is 1, the program proceeds to the process 527, and the program proceeds to the process 527. If not, the process proceeds to step 528. In process 527, the value of Xb is substituted for right, and the program proceeds to process 533. Processes 528 to 532 are address update processes for performing the above-described process for all areas. In this address updating process, the address is updated in order from the larger value of the variable Xb. As a result, when any one of the divided areas is first determined to be an image change area, the number of the divided area in the X direction is represented by a plurality of image change areas detected by the image change area extraction processing 400. Represents the rightmost position of
[0070]
The process 533 obtains the numbers in the X and Y directions of the divided area that is the center of the image represented by the plurality of image fluctuation areas from the obtained average value of bottom and top and the average value of left and right, One is added to the value of the element corresponding to this segment area in the route area data 5-21. If the previous value of the element corresponding to this segment area in the route area data 5-21 is 0, the value of the element is changed to 1. When the moving object passes through the same partitioned area many times or stays in the same partitioned area for a long time, the previous value of the element corresponding to this partitioned area in the route area data 5-21 is not already 0. In this case, the value of the element corresponding to this segmented area in the route area data 5-21 is further increased by the process 533. Therefore, the route area data 5-21 also includes information on the staying time of the moving object in the same sectioned area.
I have.
[0071]
Processes 534 to 548 (FIG. 19) are processes for creating the route image data 5-22. In the process 534, variables Xb and Yb indicating the numbers in the X and Y directions assigned to the segmented area to be processed, and variables i indicating the numbers in the X and Y directions assigned to the pixels to be processed in the segmented area, Initialize j to 0. The process 535 checks whether or not the value of the element corresponding to the segmented area (X, Y) in the route area data 5-21 is 0. If the value is not 0, the program proceeds to the process 536; Move to processing 537.
[0072]
In the process 536, the value of the element corresponding to the segment area (Xb, Yb) in the path area data 5-21 corresponds to the pixel (Xb × 10 + i, Yb × 10 + j) in the path transparency data 5-22-4. The path is written in a predetermined color in the element for the same pixel in the path red image data 5-22-1, the path green image data 5-22-2, and the path blue image data 5-22-3. The three color component data to be displayed are written, and the program proceeds to processing 538. In the present embodiment, a numerical value 255 is written in the route green image data 5-22-2 and 0 is set in the other route image data 5-22-1 and 5-22-3 so that the route is displayed in green. Writing. This numerical value 255 can be appropriately changed. In the process 537, since the segmented area (Xb, Yb) is not on the route, it corresponds to the pixel (Xb × 10 + i, Yb × 10 + j) in all the route image data 5-22-1 to 5-22-3. Write 0 to the element and the program moves to operation 538. Processes 538 to 548 are address update processes for performing the above process for all pixels.
[0073]
As described later, the segmented area located on the route is displayed in a semi-transparent color so as to be superimposed on the moving object image. In this case, the route will be displayed in translucent green. In the process 536, since the value of the route area data 5-21 is used as it is in the route transparency data 5-22-4, the divided area in which the moving object has passed a plurality of times or the moving object stays for a longer time is used. The value of the route transparency data for the segmented area increases. As will be described later, in the present embodiment, a segmented area having a large value of the route transparency data is displayed in a darker translucent color. Therefore, the operator can confirm at a glance the temporal factors such as the stay time of the movement of the moving object.
[0074]
(4e) Moving object image extraction processing 600
Steps 601 to 611 (FIG. 20) are performed when at least a part of the moving object is located in a predetermined area in the field of view of the camera 9 or a predetermined area corresponding thereto in the frame image 50 (FIG. 2). This is a process of extracting an image of the moving object. In the present embodiment, specifically, the predetermined area in the field of view is a vertically long spatial area at the center of the field of view of the camera 9, and the corresponding predetermined area in the screen 50 is It is assumed that it is a vertically elongated slit region located at the center. This predetermined area on the frame image is hereinafter referred to as a moving object image extraction area. That is, the divided areas (8, 0) to (8, 12) on the frame image are used as the moving object image extraction areas. In the present embodiment, a method is employed in which a point in time when a certain percentage of the moving object enters the moving object image extraction area is detected, and a frame image at that time is stored as an image of the moving object. According to this method, an image of a moving object can be stored when the moving object has a substantially constant relative positional relationship to the moving object image extraction area, regardless of the size of the moving object or its moving path. it can.
[0075]
Processes 601 to 609 are processes for counting the number of three image change regions used when detecting a change in the relative positional relationship between the moving object and the moving object image extraction region later. In a process 601, a variable Xb indicating the number in the X direction assigned to the segmented region to be processed is initialized to the number 8 in the X direction common to all the segmented regions constituting the moving object image extraction region, and the segment to be processed is initialized. A variable Yb indicating a number in the Y direction attached to the area and three variables now_count, old_count, and same_count related to the number of image fluctuation areas included in the moving object image extraction area are initialized to zero. The process 602 checks whether the value of the element corresponding to the segmented region (Xb, Yb) in the image fluctuation region data 5-19 is 1, and if it is 1, the program proceeds to the process 603; Move to processing 604. Process 603 adds 1 to now_count. now_count is a variable representing the total number of image fluctuation areas included in the moving object image extraction area in the current frame image.
[0076]
The process 604 checks whether the value of the element corresponding to the segmented region (Xb, Yb) in the previous frame image variation region data 5-20 is 1, and if it is 1, the program proceeds to the process 605, and the program proceeds to the process 605. If not, the process proceeds to step 606. The process 603 adds 1 to old_count. old_count is a variable representing the total number of image fluctuation areas included in the moving object image extraction area in the previous frame image.
[0077]
The process 606 determines that the value of the element corresponding to the segmented area (Xb, Yb) in the image variation area data 5-19 is 1 and the segmented area (Xb, Yb) in the previous frame image variation area data 5-20 is It is checked whether the value of the corresponding element is 1, and if the divided area (Xb, Yb) satisfies the two conditions, the process proceeds to a process 607; otherwise, the process proceeds to a process 608. The process 607 adds 1 to the same_count. The same_count is a variable that represents the total number of divided areas belonging to the moving object image extraction area that have been determined to be image fluctuation areas in both the current frame image and the previous frame. Processes 608 to 609 are address update processes for performing the above process on all the divided areas in the moving object image extraction area. In the present example, the moving object image extraction region is from the segmented regions (8, 0) to (8, 12), so in this address updating process, only the Y-direction address Yb of the segmented region is updated.
[0078]
Processes 610 to 619 (FIG. 21) are processes for creating moving object image data. The process 610 checks whether the variable now_count is 1 or more, and whether the value obtained by dividing the value obtained by multiplying the same_count by 2 by the value obtained by adding now_count and old_count is 0.48 or less. The first condition indicates that at least a part of the moving object image of the current frame is held in at least one segmented area in the moving object image extraction area. The left side of the second condition is a parameter for measuring a ratio of a portion existing in the moving object image extraction area in the moving object image. When the moving object image enters the moving object image extraction area for the first time in a certain frame, the left side of the second expression is 0 because the value of “same_count” is still 0. After that, when the ratio of the portion existing in the moving object image extraction area in the moving object image increases, the left side of the second expression increases. However, when this ratio is not so large, the value of “same_count” is also small, and the left side of the second equation takes a value considerably smaller than 1. As the ratio increases, the values of old_count, now_count, and same_count all approach the same value, and the left side of the second condition approaches 1. When this ratio reaches a certain value, the value on the left side does not change much. Therefore, the value on the left side of the second expression changes relatively largely when the ratio of the portion existing in the moving object image extraction region in the moving object image is not so large. In consideration of the above, the present embodiment is configured to store a frame image when the value on the left side of Expression 2 is 0.48 or less, which is slightly smaller than half the saturation value 1, as a moving object image. I have.
[0079]
If the current frame satisfies the above two conditions specified by the process 610, the program proceeds to the process 611, and if the current frame does not satisfy the two conditions, the program proceeds to the process 620. In process 611, variables X and Y representing the coordinates X and Y of the pixel to be processed are initialized to zero. In the process 612, an element corresponding to the same pixel in the current frame image data 5-5 is substituted for an element corresponding to the pixel (X, Y) in the moving object image data 5-23, and the process proceeds to a process 613. In process 613, the time at that point is written as the moving object image with path extraction time 5-2-3 as the moving object image with path extraction time. Processes 614 to 618 are address update processes for performing the above process for all pixels. A process 619 substitutes 1 for a variable Paste_flag indicating that the creation of the moving object image data has been completed.
[0080]
In the process in which the moving object image extraction process 600 is repeated for different frames, after a certain frame image satisfies the two conditions shown in the process 610, a subsequent frame image may satisfy the same condition. Also in this case, the above processes 612, 613, and 614 are repeated, and the moving object image data 5-23 and the moving object image with route extraction time 5-2-3 that have been stored so far are replaced with the subsequent frame image. Is overwritten by the extracted moving object image data and the moving object image with route extraction time. Therefore, the moving object image data and the moving object image with route extraction time for the frame image immediately before the frame image in which the value on the left side of the above process 610 exceeds 0.48 are the moving object image data 5-23, the moving object with route, This is stored as the image extraction time 5-2-3.
[0081]
Processing 620 to processing 626 (FIG. 22) is processing for updating the previous frame image fluctuation area data 5-20. In the process 620, variables Xb and Yb representing the numbers in the X and Y directions assigned to the segmented area to be processed are initialized to 0. Processing 621 substitutes the element corresponding to the segmented area (Xb, Yb) in the image variable area data 5-19 into the element corresponding to the segmented area (Xb, Yb) in the previous frame image variable area data 5-20. Then, the process proceeds to processing 622. Processes 622 to 626 are address update processes for performing the above-described process for all the divided areas.
[0082]
(4f) Moving object image display processing with route 700
Processing 700 to processing 708 (FIG. 23) are processing for counting the total number of image fluctuation areas existing in the frame screen based on the image fluctuation area data 5-19. In a process 701, variables Xb and Yb representing numbers in the X and Y directions and a variable all_count representing the number of image fluctuation regions, which are assigned to the segmented region to be processed, are initialized to zero. The process 702 checks whether the element corresponding to the segmented region (Xb, Yb) in the image fluctuation region data 5-19 is 1, and if it is 1, the process proceeds to the process 703. If it is not 1, the process proceeds to the process 704. In the process 703, 1 is added to all_count, and the process proceeds to a process 704. Processes 704 to 708 are address update processes for performing the above-described process for all the divided areas. In this way, all_count represents the total number of image fluctuation areas existing in the current frame screen. This total number is used to detect the timing at which the moving object has left the field of view of the camera 9 in the processing described below.
[0083]
Processes 709 to 726 (FIG. 24) are processes for creating and displaying moving object image data with a route 5-2-2. Here, when the moving object exits the screen after passing through the moving object image extraction area, a 1/2 reduced image of the moving object image data 5-23 and a 1/2 reduced image of the route image data 5-22 are synthesized. Thus, moving object image data with a route 5-2-2 is generated. At this time, the moving object image data 5-23 and the route image data 5-22 are combined such that the route image is displayed in a semi-transparent color superimposed on the moving object image.
[0084]
First, in processing 709, it is determined whether or not Paste_flag is 1 and all_count is 0 in order to check whether or not the moving object has exited the screen after the extraction of the moving object image. If the current frame image satisfies the two conditions, the program proceeds to the process 710. If the current frame image does not satisfy the two conditions, the program proceeds to the process 100.
[0085]
In processing 710, variables X and Y representing the X and Y coordinates of the pixel to be processed are initialized to zero. In the process 711, an element corresponding to the pixel (X × 2, Y × 2) in each color component data 5-23-1, 5-23-2 or 5-23-3 of the moving object image data 5-23 And the weight (1−α), the pixel (X × 2, X × 2, X) in the corresponding color component data 5-22-1, 5-22-2 or 5-22-3 of the path image data 5-22. Y × 2), the product of the element corresponding to the pixel (X × 2, Y × 2) in the path transparency data 5-22-4 of the path image data 5-22, and the weight α. The obtained color data is substituted for the element corresponding to the pixel (X, Y) in the moving object image data with route 5-2-2. Here, the weight α is an appropriate value smaller than 1 and larger than 0. This process 711 is executed for each of the red, green, and blue color components. In this manner, image data for displaying the route image in a translucent color and superimposed on the moving object image is obtained. Note that, as is clear from the above calculation, the larger the value of the element of the route transparency data 5-22-4, the darker the translucent color is displayed on the route. Processes 712 to 716 are address update processes for performing the above process for all pixels. Thus, the moving object image data with route 5-2-2 is generated. At this time, the moving object image identification number with route 55-2-1 is further determined.
[0086]
Processes 719 to 724 are processes for clearing the route area data 5-21 and the variable Paste_flag to zero. In a process 718, variables Xb and Yb, which represent numbers in the X and Y directions, assigned to the segmented area to be processed are initialized to zero. In a process 719, the element corresponding to the segment area (X, Y) in the route area data 5-21 is cleared to zero. Processes 720 to 724 are address update processes for performing the above process for all the divided areas. In a process 725, 0 is substituted for Paste_flag to indicate that the creation of the moving object image data with a route is completed, and the process proceeds to a process 726.
[0087]
The process 726 is for the moving object image with route display position X (5-2-4) and the moving object image with route displaying position Y (5) for the moving object image data with route 5-2-2 created in the process 711. 2-2-5) is determined, and the moving object image data with route 5-2-2 is displayed at the determined position in the area 70 on the screen. If there is a moving object image with a route already displayed, the display position of the new image is determined so that a new moving object image with a route is displayed alongside the image. When the process 726 ends, the process moves to the process 100 for inputting a new frame image. By the above processing, an image in which the moving path of the moving object is added to the image including the moving object is created and displayed.
[0088]
As is clear from the above description, according to the present embodiment, a moving edge existing in a different place in the past two or more frames is used for detecting a motion feature of a moving object. Generally, since a surveillance camera is stationary and shoots, the background edge is immobile. By using the moving edge, it is possible to remove the edge of the portion generated in the background and extract only the edge of the moving portion of the object that has entered the monitoring area.
[0089]
In addition, if a color feature process for examining a temporal change of a color feature for each region is also used for extracting a moving object, erroneous extraction may be performed even when there is a region including a motion change of an image such as a leaf sway. Disappears.
[0090]
Also, an area including a motion in which a person stops and works on the spot may be determined as an image variation area (path area) of a moving object using the path area data of an adjacent area. it can.
[0091]
Further, the region that is the path of the moving object is represented by a semi-transparent color, and the region where the same moving object has passed many times or the region where the staying time is longer is displayed with a darker semi-transparent color. It is possible to confirm a temporal change of the path of the moving object.
[0092]
Note that the present invention is not limited to the above embodiments, but can be realized by various embodiments. For example, for example, a moving object detection method can be realized by another method. Although the present embodiment assumes that the moving object image extraction region is located at the center of the screen, the present invention can also be applied to moving object image extraction regions having other positions and sizes. The initial setting value at 600 and the address update processing from processing 608 to processing 609 may be appropriately changed.
[0093]
The techniques described in the above embodiments have been applied to a moving object called a passer-by, but can also be applied to vehicles and other moving objects. Further, the above-described technology has been applied to the extraction of the image of the moving object moving outdoors and the extraction of the moving path, but can also be applied to the object moving indoors. Furthermore, the above technology was applied when only one moving object was within the field of view of the camera at the same time, but even when there are multiple objects at the same time, the basics of the above technology are applied as they are It is possible. Further, even when the plurality of moving objects are present in the field of view of the camera at the same time, the above technique can be modified so as to detect the image and the moving path of each moving object.
[0094]
In the embodiment, the moving object image with the path is displayed in real time. However, a plurality of path images for a plurality of moving objects are sequentially stored in the external information storage device 13, and later these images are sequentially or arranged. A display method may be adopted.
[0095]
【The invention's effect】
According to the present invention, an image in which the path of the moving object is added to the image including the moving object is automatically generated and displayed, so that the observer can easily identify the intruder into the monitoring area and the moving path. You can know.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of one embodiment of a moving object display system according to the present invention.
FIG. 2 is a diagram showing an example of a screen displayed on a display in the apparatus of FIG.
FIG. 3 is a schematic flowchart of a moving object display program executed in the apparatus of FIG. 1;
FIG. 4 is a diagram showing a list of programs and data used in the apparatus of FIG. 1;
FIG. 5 is a diagram showing a format of a moving object image structure with a path in the data shown in FIG. 2;
FIG. 6 is a flowchart of a part of a motion feature extraction process (200) in the flowchart of FIG. 3;
FIG. 7 is a flowchart of another part of the motion feature extraction process (200) in the flowchart of FIG. 3;
8 is a flowchart of still another part of the motion feature extraction process (200) in the flowchart of FIG.
FIG. 9 is a flowchart of still another part of the motion feature extraction processing (200) in the flowchart of FIG. 3;
FIG. 10 is a flowchart of still another part of the motion feature extraction processing (200) in the flowchart of FIG. 3;
11 is a flowchart of still another part of the motion feature extraction processing (200) in the flowchart of FIG.
FIG. 12 is a flowchart of a part of a color feature extraction process (300) in the flowchart of FIG. 3;
FIG. 13 is a flowchart of another part of the color feature extraction processing (300) in the flowchart of FIG. 3;
FIG. 14 is a flowchart of still another part of the color feature extraction processing (300) in the flowchart of FIG. 3;
FIG. 15 is a flowchart of a part of the image fluctuation area extraction processing (400) in the flowchart of FIG. 3;
FIG. 16 is a flowchart of another part of the image change area extraction processing (400) in the flowchart of FIG. 3;
FIG. 17 is a flowchart of a part of the route extraction processing (500) in the flowchart of FIG. 3;
FIG. 18 is a flowchart of another part of the route extraction processing (500) in the flowchart of FIG. 3;
FIG. 19 is a flowchart of still another part of the route extraction processing (500) in the flowchart of FIG. 3;
20 is a flowchart of a part of a moving object image extraction process (600) in the flowchart of FIG. 3;
FIG. 21 is a flowchart of another part of the moving object image extraction processing (600) in the flowchart of FIG. 3;
FIG. 22 is a flowchart of still another part of the moving object image extraction processing (600) in the flowchart of FIG. 3;
FIG. 23 is a flowchart of a part of the moving object image display process with route (700) in the flowchart of FIG. 3;
24 is a flowchart of another portion of the moving object image with route display processing (700) in the flowchart of FIG. 3;

Claims (15)

撮像装置により撮像される所定の視野に進入した移動物体の移動経路を該撮像装置から供給される動画像信号に基づいて抽出する第1のステップと、
上記移動物体に対して抽出された上記移動経路の画像を表す第1の画像データを生成する第2のステップと
上記移動物体の画像を表す第2の画像データを上記動画像信号に基づいて生成する第3のステップと
上記移動物体に対して抽出された上記移動経路の画像と上記移動物体の画像との重畳画像を上記第1と第2の画像データに基づいて表示装置に表示する第4のステップを有し、
上記表示装置の表示画面は、複数の区分領域に分割され、
上記移動経路は、上記複数の区分領域の内の、上記移動物体が存在する画像変動領域に含まれる一つの区分領域を通過点とする経路であることを特徴とする移動物体の表示方法。
A first step of extracting a moving path of a moving object that has entered a predetermined field of view imaged by the imaging device based on a moving image signal supplied from the imaging device ;
A second step of generating first image data representing an image of the moving path extracted for the moving object;
A third step of generating second image data representing the image of the moving object based on the moving image signal;
The superimposed image of the image of the image and the moving object of the moving path which is extracted for the moving objects have a fourth step of displaying on the display device based on the first and second image data ,
The display screen of the display device is divided into a plurality of divided areas,
The moving object display method according to claim 1, wherein the moving path is a path having a passing point of one of the plurality of divided areas included in the image fluctuation area where the moving object is present .
記移動物体より後に上記視野内に進入した少なくとも一つの他の移動物体に対して、他の重畳画像が当該他の移動物体に対して上記表示装置に表示されるように、上記第1のステップ〜上記第4のステップが繰り返されることを特徴とする請求項1記載の移動物体の表示方法。For at least one other moving object entered after the above Symbol moving object within the field of view, as the other superimposed image is displayed on the display device with respect to the other moving objects, the first The method for displaying a moving object according to claim 1 , wherein steps from step 4 to step 4 are repeated. 上記移動物体に対する上記重畳画像と上記他の移動物体に対する重畳画像は並べて表示されることを特徴とする請求項2に記載の移動物体の表示方法。 3. The moving object display method according to claim 2, wherein the superimposed image on the moving object and the superimposed image on the other moving object are displayed side by side. 上記移動物体に対する上記重畳画像と上記他の移動物体に対する重畳画像は順次表示されることを特徴とする請求項2に記載の移動物体の表示方法。The method according to claim 2, wherein the superimposed image on the moving object and the superimposed image on the other moving object are sequentially displayed. 上記第2の画像データは、上記移動物体が上記視野内の所定の位置に存在するときに上記撮像装置により供給された上記移動物体の画像を表す画像データであり、
上記第1の画像データは、上記移動物体の画像に上記移動経路を重畳して表示するための画像データであることを特徴とする請求項1に記載の移動物体の表示方法。
The second image data is image data representing an image of the moving object supplied by the imaging device when the moving object is present at a predetermined position in the field of view,
The first image data, the display method for a mobile object according to claim 1, characterized in that the image data for displaying by superimposing the movement path to an image of the moving object.
上記第4のステップは、
上記移動物体が上記視野外に退出したタイミングを上記移動物体の画像データの作成が既に終了していることと上記移動物体のいずれの一部も上記視野に存在しなくなった場合とから検出し、
上記移動物体に対して検出された上記タイミングにおいて上記重畳画像を上記表示装置に表示するステップを有する請求項1に記載の移動物体の表示方法。
The fourth step is
Detected from a case where the moving object body that no longer exists in any of the above viewing a part of it and the moving object the creation of image data outside the moving object a timing exited in the visual field has already ended And
Oite above timing detected with respect to the moving object, the display method for a mobile object according to claim 1 comprising the step of displaying the superimposed image on the display device.
上記第1のステップは、
複数のフレームの各々において、上記移動物体が存在する画像変動領域の中の中心となる区分領域上記一つの区分領域として検出するステップを有し、
上記移動経路の画像を表す上記第1の画像データは、上記複数のフレームの各々において検出された上記中心となる区分領域を表示するための画像データからなることを特徴とする請求項1に記載の移動物体の表示方法。
The first step is
In each of the plurality of frames , the method has a step of detecting, as the one partitioned area , a partitioned area that is the center of the image fluctuation area in which the moving object is present ,
The said first image data representing the image of the movement path, according to claim 1, characterized in that it consists of the image data for displaying the divided regions to be detected above the center in each of said plurality of frames How to display moving objects.
撮像装置から供給される動画像信号を処理するコンピュータと、
上記コンピュータに接続された表示装置とを有する移動物体の表示システムであって、
上記コンピュータは、
撮像装置により撮像される所定の視野に進入した移動物体に対して上記視野内での移動経路を該撮像装置から供給される動画像信号に基づいて抽出する移動経路抽出手段と
上記移動物体に対して抽出された上記移動経路の画像を表す第1の画像データを生成する第1の画像データ生成手段と
上記移動物体の画像を表す第2の画像データを上記動画像信号に基づいて生成する第2の画像データ生成手段と
上記移動物体に対して抽出された移動経路の画像と上記移動物体の画像との重畳からなる重畳画像を上記第1と第2の画像データに基づいて表示装置に表示する重畳画像表示手段とを構成し、
上記表示装置の表示画面は、複数の区分領域に分割され、
上記移動経路は、上記複数の区分領域の内の、上記移動物体が存在する画像変動領域に含まれる一つの区分領域を通過点とする経路であるようにプログラムされることを特徴とする表示システム。
A computer that processes a moving image signal supplied from the imaging device;
A display system for a moving object having a display device connected to the computer,
The computer is
Moving path extracting means for extracting a moving path within the visual field for a moving object that has entered a predetermined visual field captured by the image capturing apparatus based on a moving image signal supplied from the image capturing apparatus;
First image data generating means for generating first image data representing an image of the moving path extracted for the moving object;
Second image data generating means for generating second image data representing the image of the moving object based on the moving image signal;
Superimposed image display means for displaying a superimposed image formed by superimposing an image of the moving path extracted on the moving object and an image of the moving object on a display device based on the first and second image data ; Make up,
The display screen of the display device is divided into a plurality of divided areas,
The display system is characterized in that the moving path is programmed to be a path having a passing point through one of the plurality of divided areas included in the image fluctuation area where the moving object is present. .
上記移動経路抽出手段、上記第1の画像データ生成手段、上記第2の画像データ生成手段及び上記重畳画像表示手段は、上記移動物体より後に上記視野内に進入した少なくとも一つの他の移動物体に対して繰り返し構成され、
上記移動物体に対する上記重畳画像と上記他の移動物体に対する重畳画像は上記表示装置に並べて表示されることを特徴とする請求項8記載の表示システム。
The moving path extracting unit, the first image data generating unit, the second image data generating unit, and the superimposed image displaying unit are configured to detect at least one other moving object that has entered the field of view after the moving object. It is composed repeatedly for,
Display system according to claim 8, wherein the superposition image against the said superimposed image and the other mobile object with respect to the moving object are displayed side by side on the display device.
上記移動経路抽出手段は、
複数のフレームにおける、上記移動物体が存在する画像変動領域の中の中心となる区分領域上記一つの区分領域として検出する検出手段を有し、
上記移動経路の画像を表す上記第1の画像データは、上記複数のフレームの各々において検出された上記中心となる区分領域を表示するための画像データからなることを特徴とする請求項8に記載の移動物体の表示システム。
The moving route extraction hand stage,
In a plurality of frames, having a detecting means for detecting a central partitioned area in the image fluctuation area where the moving object is present as the one partitioned area ,
The said first image data representing the image of the movement path, according to claim 8, characterized in that it consists of the image data for displaying the divided regions to be detected above the center in each of said plurality of frames Moving object display system.
上記検出手段は、
複数のフレームの各々に対して、その各フレームに対して上記撮像装置により供給された、上記移動物体を含む複数のエッジの内、時間的に位置が変動する複数の変動エッジに属する複数の変動エッジ画素を検出する手段と、
上記各フレームに対して検出された上記複数の変動エッジ画素の位置に基づいて、上記移動物体を表す画像のエッジが位置する上記画像変動領域を検出する手段と、
上記各フレームに対して検出された上記画像変動領域の位置に基づいて、上記一つの区分領域を検出する手段とを有することを特徴とする請求項10記載の移動物体の表示システム。
The detecting means includes:
Plurality for each of a plurality of frames, supplied by the imaging device with respect to its respective frame, belonging to a plurality of variation edges of the plurality of or falling edge of di including the moving object, which temporally positions varies Means for detecting a fluctuating edge pixel of
Based on the detected position of said plurality of variation edge pixels for each frame, means for detecting the image change area edge of the image representing the moving object is located,
Based on the detected position of the image change region with respect to each frame, the display system of the moving object according to claim 10, characterized in that it comprises a means for detecting the one segmented region.
上記移動経路抽出上記手段は、
区分領域毎に、複数のフレームの各々に対して画像の動き特徴を抽出する動き特徴抽出手段と、
区分領域毎に、複数のフレームの各々に対して色特徴を抽出する色特徴抽出手段と、
区分領域毎に、複数のフレームの各々に対して、その各フレームに対して抽出された動き特徴と、その各フレームおよびそのフレームに先行する複数のフレームの各々に対して抽出された色特徴とに基づいて、その区分領域に移動物体が存在するかを判定する判定手段と、
上記判定手段の判定結果に依存して、そのフレームでの上記移動物体の位置を判別する判別手段を有することを特徴とする請求項8に記載の移動物体の表示システム。
The moving route extracting upper Symbol means,
A motion feature extraction unit configured to extract a motion feature of an image for each of the plurality of frames for each of the divided areas;
A color feature extraction unit for extracting a color feature for each of the plurality of frames for each of the divided areas;
For each segmented region, for each of a plurality of frames, a motion feature extracted for each frame, and a color feature extracted for each frame and each of a plurality of frames preceding the frame. Determining means for determining whether a moving object is present in the segmented area based on
Depending on the judgment result of the judging means, the display system of the moving object according to claim 8, characterized in that it comprises a determining means for determining the position of the moving object in the frame.
各区分領域の上記画像の動き特徴は、上記撮像装置により撮影された画像の内、時間的に位置が変動する部分がその区分領域に含まれているか否かに関連し、
各区分領域の上記色特徴は、その区分領域を代表する色に関連する請求項12に記載の移動物体の表示システム。
The motion feature of the image of each of the divided areas is related to whether or not a part whose position changes with time is included in the divided area in the image captured by the imaging device,
13. The moving object display system according to claim 12, wherein the color feature of each segmented area is related to a color representing the segmented area.
撮像装置から供給される動画像信号を処理するコンピュータと、上記コンピュータに接続された表示装置とを有する移動物体表示システムにおいて使用されるべきプログラムを記憶したプログラム記録媒体であって、
上記プログラムは、上記コンピュータに、
撮像装置により撮像される所定の視野に進入した移動物体に対して上記視野内での移動経路を該撮像装置から供給される動画像信号に基づいて抽出する第1のステップと
上記移動物体に対して抽出された上記移動経路の画像を表す第1の画像データを生成する第2のステップと
上記移動物体の画像を表す第2の画像データを上記動画像信号に基づいて生成する第3のステップと
上記移動物体に対して抽出された移動経路の画像と上記移動物体の画像との重畳からなる重畳画像を上記第1と第2の画像データに基づいて表示装置に表示する第4のステップとを実行し、
上記表示装置の表示画面は、複数の区分領域に分割され、
上記移動経路は、上記複数の区分領域の内の、上記移動物体が存在する画像変動領域に含まれる一つの区分領域を通過点とする経路であることを特徴とするプログラム記録媒体。
A computer that processes a moving image signal supplied from an imaging device, and a program recording medium that stores a program to be used in a moving object display system having a display device connected to the computer,
The above program is stored in the above computer,
A first step of extracting, based on a moving image signal supplied from the imaging device, a moving path in the visual field for a moving object that has entered a predetermined visual field captured by the imaging device;
A second step of generating first image data representing an image of the moving path extracted for the moving object;
A third step of generating second image data representing the image of the moving object based on the moving image signal;
A fourth step of displaying a superimposed image formed by superimposing an image of the moving path extracted on the moving object and an image of the moving object on a display device based on the first and second image data. Run ,
The display screen of the display device is divided into a plurality of divided areas,
The program recording medium according to claim 1, wherein the moving path is a path having a passing point in one of the plurality of divided areas included in the image fluctuation area where the moving object exists .
上記第1のステップ〜上記第4のステップは、上記移動物体より後に上記視野内に進入した少なくとも一つの他の移動物体に対して繰り返し実行され、
上記移動物体に対する上記重畳画像と上記他の移動物体に対する重畳画像は上記表示装置に表示されることを特徴とする請求項14記載のプログラム記録媒体。
The first step - the fourth step is executed repeatedly for at least one other moving object has entered the said field of view after the above moving object,
Program recording medium according to claim 14, wherein superposition image against the said superimposed image and the other mobile object with respect to the moving object, characterized in that displayed on the display device.
JP25460397A 1996-09-20 1997-09-19 Moving object display method, display system using the same, and program recording medium therefor Expired - Lifetime JP3601951B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25460397A JP3601951B2 (en) 1996-09-20 1997-09-19 Moving object display method, display system using the same, and program recording medium therefor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP24959196 1996-09-20
JP8-249591 1996-09-20
JP25460397A JP3601951B2 (en) 1996-09-20 1997-09-19 Moving object display method, display system using the same, and program recording medium therefor

Publications (2)

Publication Number Publication Date
JPH10150657A JPH10150657A (en) 1998-06-02
JP3601951B2 true JP3601951B2 (en) 2004-12-15

Family

ID=26539378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25460397A Expired - Lifetime JP3601951B2 (en) 1996-09-20 1997-09-19 Moving object display method, display system using the same, and program recording medium therefor

Country Status (1)

Country Link
JP (1) JP3601951B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001313861A (en) * 2000-02-21 2001-11-09 Fujitsu Ltd Image pickup device, data management unit, medium, and program
JP4706535B2 (en) * 2006-03-30 2011-06-22 株式会社日立製作所 Moving object monitoring device using multiple cameras
JP4541316B2 (en) 2006-04-06 2010-09-08 三菱電機株式会社 Video surveillance search system
JP4957263B2 (en) * 2007-01-23 2012-06-20 カシオ計算機株式会社 Imaging apparatus, imaging method, and program thereof
JP6400260B1 (en) * 2017-10-20 2018-10-03 三菱電機株式会社 Data processing apparatus, programmable display and data processing method

Also Published As

Publication number Publication date
JPH10150657A (en) 1998-06-02

Similar Documents

Publication Publication Date Title
EP0831422B1 (en) Method of displaying moving object for enabling identification of its moving route, display system using the same, and program recording medium therefor
US7003135B2 (en) System and method for rapidly tracking multiple faces
US6404455B1 (en) Method for tracking entering object and apparatus for tracking and monitoring entering object
Jabri et al. Detection and location of people in video images using adaptive fusion of color and edge information
KR101064573B1 (en) System for tracking a moving object, by using particle filtering
Cavallaro et al. Shadow-aware object-based video processing
JP6364743B2 (en) Information processing apparatus, control method, program, and information system
CN109271886A (en) A kind of the human body behavior analysis method and system of examination of education monitor video
KR20180003304A (en) System and method for video summary
CN111191570B (en) Image recognition method and device
JPH07168932A (en) Method for search of human being in video image
CN111932596B (en) Method, device and equipment for detecting camera occlusion area and storage medium
KR101645959B1 (en) The Apparatus and Method for Tracking Objects Based on Multiple Overhead Cameras and a Site Map
KR20180003309A (en) System and method for video summary
KR101548639B1 (en) Apparatus for tracking the objects in surveillance camera system and method thereof
JP2010057105A (en) Three-dimensional object tracking method and system
CN106934819A (en) A kind of method of moving object segmentation precision in raising image
US9436996B2 (en) Recording medium storing image processing program and image processing apparatus
EP0780003B1 (en) Method and apparatus for determining the location of a reflective object within a video field
JP3601951B2 (en) Moving object display method, display system using the same, and program recording medium therefor
US20240096094A1 (en) Multi-view visual data damage detection
CN112989958A (en) Helmet wearing identification method based on YOLOv4 and significance detection
JP4192719B2 (en) Image processing apparatus and method, and program
JP2001043383A (en) Image monitoring system
JPH08249471A (en) Moving picture processor

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20031219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040303

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040914

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040921

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081001

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091001

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101001

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111001

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121001

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121001

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121001

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131001

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term