(57)【特許請求の範囲】
【請求項１】
映像データの部分領域ごとに複数の状態のそれぞれに対する背景を表すモデルの特徴量とその出現情報とを記憶するモデル記憶手段と、
入力された映像データの特徴量と前記モデルの特徴量との差分を部分領域ごとに算出する算出手段と、
前記差分に基づいて前記入力された映像データと類似する部分領域のモデルの出現情報を更新する第１の更新手段と、
前記差分に基づいて前景か背景かを判定する判定手段と、
前記前景と判定された領域から被写体領域を検出する検出手段と、
前記被写体領域に対応する部分領域のモデルの出現情報を更新する第２の更新手段と、
前記部分領域ごとにある状態に対する前記モデルの出現情報が所定の基準を満たせば、当該モデルの特徴量とその出現情報とを前記モデル記憶手段から削除する第３の更新手段とを備えたことを特徴とする画像処理装置。
【請求項２】
前記第３の更新手段は、前記出現情報に基づいて、出現が少ないある状態に対する部分領域のデータを前記モデル記憶手段から削除することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記第１または第２の更新手段は、前記出現情報として出現回数を更新することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記第３の更新手段は、各部分領域の各状態に対するデータを前記出現回数に応じた時間の経過後に前記モデル記憶手段から削除することを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記算出手段は、部分領域ごとに前記複数の状態のモデルの特徴量のうち前記入力された映像データの特徴量との差分が最も小さい状態のモデルの特徴量との差分を算出することを特徴とする請求項１記載の画像処理装置。
【請求項６】
前記部分領域は被写体より大きいサイズであることを特徴とする請求項１記載の画像処理装置。
【請求項７】
映像データの部分領域ごとに複数の状態のそれぞれに対する背景を表すモデルの特徴量とその出現情報とを記憶するモデル記憶部を参照して、入力された映像データの特徴量と前記モデルの特徴量との差分を部分領域ごとに算出する算出工程と、
前記差分に基づいて前記入力された映像データと類似する部分領域のモデルの出現情報を更新する第１の更新工程と、
前記差分に基づいて前景か背景かを判定する判定工程と、
前記前景と判定された領域から被写体領域を検出する検出工程と、
前記被写体領域に対応する部分領域のモデルの出現情報を更新する第２の更新工程と、
前記部分領域ごとにある状態に対する前記モデルの出現情報が所定の基準を満たせば、当該モデルの特徴量とその出現情報とを前記モデル記憶部から削除する第３の更新工程とを備えたことを特徴とする画像処理方法。
【請求項８】
請求項７記載の画像処理方法の各工程をコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、画像処理方法及び記憶媒体に関し、特に、移動物体等を検出するために用いて好適な技術に関する。
【背景技術】
【０００２】
カメラで撮影した画像から物体を検出する次のような技術が開示されている。まず、背景差分法によって移動物体を検出する方法がある。背景差分法では、固定したカメラにおいて、予め、被写体がいない背景の画像を撮影し、その特徴量を基準モデルとして記憶する。その後、カメラから入力された画像中の特徴量と基準モデル中の特徴量との差分を求め、異なる領域を前景（移動物体）として検出する。そして、背景差分では、背景の変化に対応していくために、しばらく出現しなかった特徴は基準モデルから削除する（忘却する）処理が行われる。これにより、精度よく前景領域の検出を可能としている。
【０００３】
また、画像から顔や人などの特定の被写体を検出する方法もある。この方法では、所定の大きさの検出ウィンドウを入力画像上で走査させ、検出ウィンドウ内の画像を切り出したパターン画像に対し被写体であるか否かの２クラス判別を行う。この判別には、アダブーストを使って多くの弱判別器を有効に組み合わせて判別器を構成し、判別精度を向上させる。また、この判別器を直列に繋ぎ、カスケード型の検出器を構成するようにしている。弱判別器はＨａａｒタイプの矩形特徴量で構成されている。そして、カスケード型の検出器は、まず前段の単純な判別器を使って明らかに被写体でないパターンの候補をその場で除去する。そして、それ以外の候補に対してのみ、より高い識別性能を持つ後段の複雑な判別器を使って被写体かどうかの判別を行う。
【０００４】
ここで、例えば、特許文献１には、背景差分によって求めた移動物体領域についてのみ、被写体（人物）かどうかの認識を行う技術が開示されている。一般的に、被写体検出は検出ウィンドウを画像中で走査し、毎回、複数の判別器を適用するために処理コストが非常に高くなる。従って、特許文献１に開示された技術のように、背景差分で検知された移動物体領域に対してのみ、被写体検出を行うことにより、画像内の全領域に対して行うよりも、全体の処理コストを削減することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−７４３７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、例えば待合室のような場所で、被写体として人物を検出する場合には以下の音大が生じる。このような場所では、人物はしばしば所定時間停止した後に動き出すといった動作を行う。図１６は、このようなケースを示したフレーム画像１０１〜１０３と、このときの従来の背景差分の検知結果１０４〜１０６とを示す図である。また、１０７は人物であり、１０８及び１０９は、前景として検出された領域を示している。なお、時間は、左から右に流れているものとする。
【０００７】
図１６において、人物１０７が停止している間（フレーム画像１０１〜１０２）に、所定の時間が経過すると人物１０７で隠れていた背景の特徴量が基準モデルから忘却されてしまう。そして、人物１０７が移動すると、人物に対応する領域１０８だけでなく、再び現れた背景も、基準モデルとの間に差分が生じるため新規の前景の領域１０９として検知されてしまう。
【０００８】
特許文献１に開示された技術のように、背景差分によって被写体検出探索範囲の絞り込みを行っても、このような事象が起こるたびに、前景領域は広くなってしまう。つまり、被写体検出の探索範囲の絞り込みを適切に行うことができず、結果として、高速な被写体の検知ができなくなってしまう。
【０００９】
本発明は前述の問題点に鑑み、安定して高速な被写体を検知できるようにすることを目的としている。
【課題を解決するための手段】
【００１０】
本発明の画像処理装置は、映像データの部分領域ごとに複数の状態のそれぞれに対する背景を表すモデルの特徴量とその出現情報とを記憶するモデル記憶手段と、入力された映像データの特徴量と前記モデルの特徴量との差分を部分領域ごとに算出する算出手段と、前記差分に基づいて前記入力された映像データと類似する部分領域のモデルの出現情報を更新する第１の更新手段と、前記差分に基づいて前景か背景かを判定する判定手段と、前記前景と判定された領域から被写体領域を検出する検出手段と、前記被写体領域に対応する部分領域のモデルの出現情報を更新する第２の更新手段と、前記部分領域ごとにある状態に対する前記モデルの出現情報が所定の基準を満たせば、当該モデルの特徴量とその出現情報とを前記モデル記憶手段から削除する第３の更新手段とを備えたことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、人などの被写体が立ち止まって、再び動き出すようなパターンの行動をするような場合であっても、背景差分の基準モデルの精度が保たれ、誤検知が生じなくなる。従って、被写体検知の探索範囲が無意味な領域まで広がることがなくなるため、安定して高速な被写体を検知することができる。
【図面の簡単な説明】
【００１２】
【図１】画像処理装置の機能構成例を示すブロック図である。
【図２】画像処理装置のハードウェア構成例を示すブロック図である。
【図３】画像処理装置のハードウェア構成の他の例を示すブロック図である。
【図４】画像処理装置の処理手順の一例を示すフローチャートである。
【図５】被写体領域情報の一例を示す図である。
【図６】図４のステップＳ４０２の詳細な手順の一例を示すフローチャートである。
【図７】基準モデルの詳細な構成の一例を示す図である。
【図８】最小差分値情報の一例を示す図である。
【図９】図４のステップＳ４０３の詳細な手順の一例を示すフローチャートである。
【図１０】アクティブ状態情報の一例を示す図である。
【図１１】図４のステップＳ４０４の詳細な手順の一例を示すフローチャートである。
【図１２】前景フラグを追加したアクティブ状態情報の一例を示す図である。
【図１３】前景領域情報の一例を示す図である。
【図１４】図４のステップＳ４０５の詳細な手順の一例を示すフローチャートである。
【図１５】図４のステップＳ４０７の詳細な手順の一例を示すフローチャートである。
【図１６】フレーム画像とこの時の従来の背景差分の検知結果とを示す図である。
【発明を実施するための形態】
【００１３】
（第１の実施形態）
図２は、本実施形態における画像処理装置のハードウェア構成例を示すブロック図である。
図２において、ＣＰＵ２０１は、ＲＯＭ２０２やＲＡＭ２０３に格納されたプログラムに従って命令を実行する。ＲＯＭ２０２は、不揮発性メモリであり、プログラムやその他の制御に必要なプログラムやデータを格納する。ＲＡＭ２０３は、揮発性メモリであり、フレーム画像データやパターン判別結果などの一時的なデータを記憶する。
【００１４】
２次記憶装置２０４は、ハードディスクドライブやフラッシュメモリーなどの書き換え可能な記憶装置であり、画像情報や画像処理プログラムや、各種設定内容などを記憶する。これらの情報はＲＡＭ２０３に転送してＣＰＵ２０１がプログラムの実行およびデータを利用する。画像入力装置２０５は、デジタルビデオカメラやネットワークカメラ、赤外線カメラなどであり、画像データを入力するものである。入力装置２０６は、キーボードやマウスなどであり、ユーザからの入力を可能とするものである。
【００１５】
表示装置２０７は、ブラウン管ＣＲＴや液晶ディスプレイなどであり、ユーザに対して処理結果などを表示するものである。ネットワークＩ／Ｆ２０８は、インターネットやイントラネットなどのネットワークと接続を行うモデムやＬＡＮなどである。バス２０９は、これらを接続して相互にデータの入出力を行う。本実施形態の画像処理装置はオペレーティングシステムの上で動作するアプリケーションとして実装されている。
【００１６】
図１は本実施形態に係る画像処理装置の機能構成例を示すブロック図である。
図１において、３０１は映像入力部であり、画像入力装置２０５により構成され、映像データ（画像データ）を入力するものである。３０２は特徴量抽出部であり、映像より特徴量を抽出するものである。
【００１７】
３０３は差分算出部であり、後述する基準モデル記憶部３０４より読み出した基準モデルと入力映像との差分を求めるものである。３０４は基準モデル記憶部であり、ＲＡＭ２０３や２次記憶装置２０４により構成され、映像内の各位置の状態を画像特徴量で代表させた基準モデルとして記憶するものである。なお、この基準モデルの詳細については後述する。３０５は第１基準モデル更新部であり、差分算出部３０３の算出結果に基づいて、基準モデル記憶部３０４に記憶している基準モデルを更新するものである。
【００１８】
３０６は前景背景判定部であり、第１基準モデル更新部３０５の結果に基づいて、入力映像中の各位置が前景であるか背景であるかを判定するものである。３０７は被写体検出部であり、映像入力部３０１で入力映像の中で、前景背景判定部３０６にて前景と判定された領域から、特定の被写体（本実施形態では人体）の領域を検出するものである。３０８は第２基準モデル更新部であり、被写体検出部３０７の結果に基づいて、基準モデル記憶部３０４に記憶されている基準モデルの更新を行うものである。３０９は第３基準モデル更新部であり、基準モデル中の所定時間以上出現していない状態を削除するものである。
【００１９】
次に、本実施形態の処理の大まかな流れについて図４を用いて説明する。図４は、本実施形態に係る画像処理装置による処理手順の一例を示すフローチャートである。
まず、映像入力部３０１において撮像などにより映像を入力し、所定時間ごとにフレーム画像を得る（ステップＳ４０１）。次に、特徴量抽出部３０２において、フレーム画像から特徴量を抽出し、差分算出部３０３において、基準モデル記憶部３０４より基準モデル中の過去の特徴量を読み出して、フレーム画像中の特徴量との差分を算出する（ステップＳ４０２）。なお、このステップＳ４０２の処理の詳細については後述する。
【００２０】
次に、第１基準モデル更新部３０５において、差分算出部３０３の結果に基づいて、フレーム画像に近い状態を求め、基準モデル記憶部３０４中の基準モデルを更新する（ステップＳ４０３）。なお、ステップＳ４０３の詳細については後述する。次に、前景背景判定部３０６において、映像中の領域を前景領域と背景領域とに分ける（ステップＳ４０４）。なお、ステップＳ４０４の詳細については後述する。
【００２１】
次に、被写体検出部３０７において、前景背景判定部３０６によって求められた前景領域に対して、被写体検出を行う（ステップＳ４０５）。なお、ステップＳ４０５の詳細については後述する。次に、検出された被写体領域を被写体領域情報として出力する（ステップＳ４０６）。図５は、被写体領域情報の一例を示す図であり、被写体領域の個数と、各被写体の外接矩形の座標とから構成される。出力された被写体領域は、表示装置２０７で入力された映像に矩形として重ね描きされて表示するなどの用途に使用される。
【００２２】
次に、第２基準モデル更新部３０８と第３基準モデル更新部３０９において、それぞれ被写体検出部３０７の検知結果、基準モデル中の出現回数（出現時間情報）を基に、基準モデルの更新を行う（ステップＳ４０７）。なお、ステップＳ４０７の詳細については後述する。次に、電源ＯＦＦなどによるユーザからの終了指示の判定を行う（ステップＳ４０８）。そして、終了指示が行われるまで、ステップＳ４０１〜Ｓ４０７の処理を繰り返す。
【００２３】
図６は、図４のステップＳ４０２の差分算出処理の詳細な手順の一例を示すフローチャートである。
まず、フレーム画像より各位置の状態を表す値として、画像特徴量を取得する（ステップＳ６０１）。画像特徴量の例としては、輝度、色、エッジなどが挙げられるが、特にこれらに限定されるものではない。また、画素ごとの特徴量であっても、部分領域ごとの特徴量であってもどのサイズでもよい。部分領域ごとの特徴量の例としては、８×８画素ブロック内の画素の平均輝度やＤＣＴ係数などがあげられる。ＤＣＴ係数とは、離散コサイン変換（Ｄｉｓｃｒｅｔｅ Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）した結果である。フレーム画像がＪＰＥＧ形式で圧縮符号化されている場合は、既に画像圧縮時に特徴量抽出されているのと同じことになる。従ってこの場合は、ＪＰＥＧ形式のフレーム画像よりＤＣＴ係数を直接取り出し、これを特徴量として使用するようにしてもよい。本実施例では、画素ごとの輝度であるとする。なお、フレーム画像の左上の画素を開始点とし、以降、左より右へ、行ごとに下へ移動しながら以降の処理を行うものとする。
【００２４】
次に、基準モデル記憶部３０４に記憶されている基準モデルより、注目している位置の画素の特徴量を取得する（ステップＳ６０２）。ここで、基準モデル記憶部３０４に記憶されている基準モデルについて、図７を用いて説明する。基準モデルは、フレーム画像中の各位置の状態を、画像特徴量で現したものである。基準モデルは基準モデル管理情報と位置毎基準モデル情報との２つの部分から構成されている。
【００２５】
基準モデル管理情報は、位置情報と各位置における位置毎基準モデル情報へのポインタとから構成される。位置情報はフレーム画像の画素の位置をＸＹ座標で示した値であってもいいし、８×８画素のブロックの位置を、左上から右へ、行ごとに順に振った番号であってもよい。なお、本実施形態では、フレーム画像の画素の位置をＸＹ座標で示した値であるものとする。
【００２６】
位置毎基準モデル情報は、各位置に対応する状態を複数保持する。これは照明の変化や新たな静止物体（花瓶など）の出現などにより時間と共に変化する背景に対応するためである。各状態には、状態の番号、状態を代表する画像特徴量、作成時刻、出現回数、及びアクティブフラグが保持されている。作成時刻とは、その状態が始めて基準モデル内に作成された時刻であり、時間やフレーム番号で表現される。出現回数は、その状態が作成されてから現在までに、入力映像中に類似した状態が出現した回数である。アクティブフラグとは、その状態が現在のフレーム画像に出現した状態と類似していることを示すフラグである。
【００２７】
そして、フレーム画像内で同じ位置における複数の状態は、基準モデル管理情報のポインタで参照された先に、連続して格納される。図７の例では、位置（Ｘ１，Ｙ１）は、１２００番地に状態番号１の状態が、続いて、１２０１番地に状態番号２の状態が格納されている。従って、注目する位置に対応する全ての状態を読み出すためには、次のようにすればよい。基準モデル管理情報から注目する位置とその次の位置のポインタを参照し、注目位置のアドレスから次の位置の一つ手前のアドレスの前までを読み出せばよい。
【００２８】
以上のようにステップＳ６０２では、基準モデル管理情報より注目している位置の位置毎基準モデル情報へのポインタを参照し、１つの状態の特徴量を取得する。初めての位置であれば、状態番号１の特徴量（図７の例では１００）を取得することになる。
【００２９】
次に、前述の基準モデル記憶部３０４から取得した特徴量と、フレーム画像中の同じ位置の特徴量との差分を算出する（ステップＳ６０３）。差分の算出方法として、ここでは２つの特徴量の差の絶対値を用いるが、特にこれに限定されるものではなく、例えば、差を２乗した値であってもよい。そして、フレーム画像内の位置と関連付けて差分値をＲＡＭ２０３に一時記憶する。
【００３０】
次に、注目する位置で差分を算出していない状態が存在するかどうかについて、基準モデル管理情報にある注目する次の位置のポインタに書かれているアドレスまで読み出したかどうかにより判定する（ステップＳ６０４）。この判定の結果、差分を算出していない状態が存在する場合は、位置毎基準モデル情報を読み出すアドレスをインクリメントして、次の状態を読み出す（ステップＳ６０５）。そして、ステップＳ６０２及びＳ６０３の処理を繰り返す。
【００３１】
一方、差分を算出していない状態が存在しない場合は、次に、注目する位置について、フレーム画像と基準モデル中の全ての状態との差分値の中から、最小の値を求める（ステップＳ６０６）。このときの最小差分値と対応する状態番号、フレーム画像内の位置を関連付けて最小差分値情報としてＲＡＭ２０３に一時記憶する。なお、図８には、最小差分値情報の一例を示す。
【００３２】
次に、フレーム画像中の全ての画素（位置）について、処理を行ったかどうかを判定し（ステップＳ６０７）、行っていなければ次の画素へ処理を進め（ステップＳ６０８）、ステップＳ６０１からＳ６０６までの処理を繰り返す。一方、すべての画素について処理が行われた場合は処理を終了する。なお、画像処理の開始時は基準モデルが記憶されていないので、差分算出の値として、最大値などを設定しておく。これらは全て、後述するように新規の状態と判定されることになる。
【００３３】
図９は、ステップＳ４０３における基準モデルの第１の更新処理の詳細な手順の一例を示すフローチャートである。
まず、ステップＳ４０２の差分差出処理の結果である最小差分値を、フレーム画像の左上の画素を開始点とし、以降、左より右へ、行ごとに下へ移動しながら順に一つずつＲＡＭ２０３に一時記憶された最小差分値情報より取得する（ステップＳ９０１）。
【００３４】
次に、注目する位置における最小差分値と閾値Ａとを比較する（ステップＳ９０２）。この比較の結果、差分値の方が小さい場合は、基準モデルに記憶されている状態に類似していると判定でき、ステップＳ９０３に進む。逆に差分値の方が大きい場合は、基準モデルに記憶されているどの状態とも違い、新しい状態であると判定でき、ステップＳ９０５に進む。
【００３５】
ステップＳ９０３においては、最小差分値情報中の状態番号を参照してその状態のアクティブフラグをＯＮに設定する。そして、出現回数をインクリメントする（ステップＳ９０４）。なお、出現回数はフレーム画像内の位置に関連付けてアクティブ状態情報（図１０がその一例である）としてＲＡＭ２０３に一時記憶される。図１０には、アクティブ状態情報の一例を示す。
【００３６】
一方、ステップＳ９０５においては、フレーム画像の特徴量を追加する。次に、現在時刻を本状態の基準モデル内に作成した時刻として追加する（ステップＳ９０６）。なお、本実施形態では現在のフレーム番号を用いるが、もちろん、何時何分何秒といった通常の時刻表現を用いても構わない。そして、出現回数は新しく出現した状態であるので１とする（ステップＳ９０７）。なお、ステップＳ９０４と同様に出現回数はフレーム画像内の位置に関連付けてアクティブ状態情報としてＲＡＭ２０３に一時記憶される。そして、アクティブフラグをＯＮに設定する（ステップＳ９０８）。
【００３７】
次に、フレーム画像中の全ての画素（位置）について、処理を行ったかどうかを判定し（ステップＳ９０９）、行っていなければ次の画素へ処理を進め（ステップＳ９１０）、ステップＳ９０１からＳ９０８までの処理を繰り返す。一方、すべての画素について処理が行われた場合は処理を終了する。なお、前述したように、画像処理の開始時は、差分値が最大値に設定されているので、全て新規の状態と判定され、全て基準モデルに追加される。
【００３８】
図１１は、図４のステップＳ４０４の前景背景判定処理の詳細な手順の一例を示すフローチャートである。
まず、ステップＳ４０３の第１の更新処理の結果であるアクティブな状態を、フレーム画像の左上の画素を開始点として、ＲＡＭ２０３中のアクティブ状態情報より取得する（ステップＳ１１０１）。なお、以降、左より右へ、行ごとに下へ移動しながら順に一つずつ同様に処理する。
【００３９】
次に、アクティブな状態の出現回数が所定の閾値よりも多いかどうかを判定する（ステップＳ１１０２）。この判定の結果、閾値よりも少なければ前景と判定され、前景であることを示す前景フラグをＯＮにして、アクティブ状態情報に追加する（ステップＳ１１０３）。また、閾値よりも多い場合は背景と判定され、前景フラグをＯＦＦにしてアクティブ状態情報に追加する（ステップＳ１１０４）。図１２には、前景フラグを追加したアクティブ状態情報の一例を示している。
【００４０】
次に、フレーム画像中の全ての画素（位置）について、処理を行ったかどうかを判定し（ステップＳ１１０５）、全ての画素について処理を行っていない場合は次の画素へ処理を進め（ステップＳ１１０７）る。そして、ステップＳ１１０１〜Ｓ１１０４までの処理を繰り返す。一方、全ての画素について、処理が終わるとそれぞれの画素が前景であるか背景であるかの判別が終了することになり、次のステップＳ１１０６に進む。
【００４１】
次に、ＲＡＭ２０３中のアクティブ状態情報を参照して、隣り合う画素が共に前景と判定された画素同士を一つの領域とみなし（領域統合）、領域ごとに外接矩形をとり、前景領域情報を作成する（ステップＳ１１０６）。前景領域情報は、前景領域の個数と、各前景領域の外接矩形の左上の点の座標（ｘ１、ｙ１）と右下の点の座標（ｘ２、ｙ２）から構成される。なお、図１３には、前景領域情報の一例を示している。
【００４２】
図１４は、図４のステップＳ４０５の前景領域からの被写体検出処理の詳細な手順の一例を示すフローチャートである。
まず、映像入力部３０１よりフレーム画像を取得する（ステップＳ１４０１）。次に、ステップＳ４０４の前景背景判定処理の結果である前景領域情報から１つの前景領域の外接矩形の座標を取得する（ステップＳ１４０２）。
【００４３】
次に、前景領域に対してのみ検出ウィンドウを走査し、被写体の検出を行う（ステップＳ１４０３）。そして、検出された被写体の領域情報として、被写体の外接矩形の座標を、被写体領域情報として作成する。次に、前景領域情報に含まれる全ての前景領域について、処理を行ったかどうかを判定し（ステップＳ１４０４）、行っていなければ次の前景領域へ処理を進め（ステップＳ１４０５）、ステップＳ１４０２〜Ｓ１４０３までの処理を繰り返す。
【００４４】
図１５は、図４のステップＳ４０７の基準モデルの第２、第３の更新処理の詳細な手順の一例を示すフローチャートである。なお、本処理では画素毎に基準モデルの第２の更新処理と第３の更新処理とを連続して行う。
まず、ステップＳ４０５の前景領域からの被写体検出処理の結果である、ＲＡＭ２０３中の被写体領域情報を取得する（ステップＳ１５０１）。
【００４５】
次に、フレーム画像の左上の画素を開始点とし、以降、左より右へ、行ごとに下へ移動しながら順に、被写体領域情報から被写体領域内であるかどうかの判定を行う（ステップＳ１５０２）。この判定の結果、被写体領域外である場合は、後述するステップＳ１５０３をスキップし、ステップＳ１５０４に進む。一方、被写体領域内である場合は、基準モデルを参照し、基準モデル中の非アクティブ状態の出現回数をインクリメントする（ステップＳ１５０３）。これは、人体によって背景に相当する状態が隠れているだけであると考えられ、出現しているものと見なすためである。ここでもし、非アクティブ状態が複数ある場合は、最も出現回数の多い、すなわち長く出現している状態を、背景に相当するものとして選択し、その出現回数をインクリメントする。ここまでの処理が基準モデルの第２の更新処理である。
【００４６】
次に、アクティブでない状態の削除予定時刻を、出現回数の値を基に算出する（ステップＳ１５０４）。削除予定時刻は次式で算出される。
削除予定時刻＝状態の作成時刻  ＋  α×出現回数  ・・・  式（１）
【００４７】
ここでαは所定の係数である。出現回数に応じて、状態の削除予定時刻を決めるのは、より少ない出現回数しかもたない状態は、一時的なものと見なせるためである。この意図を反映するものであれば、削除予定時刻の算出式は式（１）に限定されるものではない。
【００４８】
次に、現在時刻が既に削除予定時刻となっているかどうかを判定する（ステップＳ１５０５）。この判定の結果、削除予定時刻になっている場合は、対応する状態を、基準モデルから削除する（ステップＳ１５０６）。一方、削除予定時刻になっていない場合は、ステップＳ１５０６をスキップする。ここまでの処理が基準モデルの第３の更新処理である。
【００４９】
次に、注目する位置で非アクティブ状態全てについて行ったか否かを、基準モデル管理情報にある注目する次の位置のポインタに書かれているアドレスまでの状態のうち、アクティブフラグがＯＦＦのものが存在するか否かにより判定する（ステップＳ１５０７）。この判定の結果、処理を行っていない非アクティブ状態が存在する場合は、アクティブフラグがＯＦＦの次の状態を読み出す（ステップＳ１５０８）。そして、ステップＳ１５０４からＳ１５０６までの処理を繰り返す。
【００５０】
一方、ステップＳ１５０８の判定の結果、全ての非アクティブ状態について処理を行った場合は、フレーム画像中の全画素について、ステップＳ１５０２〜Ｓ１５０６の第２の基準モデル更新処理を行ったかどうかを判定する（ステップＳ１５０９）。この判定の結果、全画素について行っていない場合は、次の画素へ処理を進め（ステップＳ１５１０）、ステップＳ１５０２からステップＳ１５０８の処理を繰り返す。一方、全画素について処理を行った場合は、処理を終了する。
【００５１】
なお、ステップＳ１５０３において、出現回数をインクリメントすることによって、人体により隠れている背景の状態を出現していると見なしたが、式（１）から明らかなように作成時刻を遅らせることによっても同様な効果を得ることが可能である。また、消去禁止フラグを設けるようにしてもよい。この場合、ステップＳ１５０３で、該当する状態の消去を禁止するフラグをＯＮにしておき、消去禁止フラグがＯＮのときは、ステップＳ１５０６が実行されないように、その前に条件判定を追加する。そして、ステップＳ１５０２で、被写体領域内でなかったときに、消去禁止フラグがＯＮであった場合に、この消去禁止フラグをＯＦＦにする。これは、背景が人体に隠されなくなったので、通常の状態と同様に削除の判定をするためである。
【００５２】
また、基準モデルの第２の更新処理によって、基準モデル中の出現回数が適切に保たれる。これにより、基準モデルの第３の更新処理によって、基準モデルの状態の削除も適切に行われることになる。すなわち、人体に隠れているだけの背景に相当する基準モデルの状態を削除してしまうことによる、基準モデルの精度の劣化を防ぐことができる。
【００５３】
以上のように本実施形態によれば、人などの被写体が立ち止まって、再び動き出すようなパターンの行動をするような場合であっても、背景差分の基準モデルの精度が保たれ、誤検知が生じなくなる。従って、被写体検知の探索範囲が無意味な領域まで広がることがなくなるため、安定して高速な被写体を検知することができる。
【００５４】
（第２の実施形態）
図３は、本実施形態における画像処理装置のハード構成例を示すブロック図である。なお、第１の実施形態と共通する部分には図２と同じ番号を付与している。ブロック構成としてはプログラムを記録したＤＶＤまたはＣＤのような光ディスク１６１１、外部記憶入出力装置１６１０を追加しているところが第１の実施形態と異なる。この構成では、プログラムを記録した光ディスク１６１１を外部記憶入出力装置１６１０に挿入すると、ＣＰＵ２０１は記録媒体からプログラムを読み取って、ＲＡＭ２０３に展開することにより、第１の実施形態と同様の処理を実現することができる。
【００５５】
（その他の実施形態）
また、図２において、各装置はバス２０９によって接続されているが、一部の装置をネットワークＩ／Ｆ２０８により接続して構成してもよい。例えば、画像入力装置２０５をネットワークＩ／Ｆ２０８により接続して画像を入力するように構成してもよい。また、特徴量抽出部３０２から第３基準モデル更新部３０９までの全てを集積回路チップに納め、画像入力装置２０５と一体化させる。そして、図５に示した被写体領域情報を、ＬＡＮケーブルなどを介して、ＰＣで受信するようにしてもよい。或いは、前景背景判定部３０６までと第２基準モデル更新部３０８と第３基準モデル更新部３０９とを集積回路チップに納めて画像入力装置２０５と一体化させ、被写体検出部３０７をＰＣ上に構成する。そして、ＬＡＮケーブルを介してフレーム画像と、図１３に示した前景領域情報と図５に示した被写体領域情報とをやりとりするようにしてもよい。
【００５６】
さらに、第１の実施形態では、被写体検出部３０７は人体を検出するものとして説明したが、もちろんこれに限定されるものではなく、特定の被写体を検出するものであればよい。例えば、車両や動物などであってもよい。
【００５７】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５８】
３０５  第１基準モデル更新部、３０６  前景背景判定部、３０８  第２基準モデル更新部、３０９  第３基準モデル更新部
【図１】
0005704863.tif 000002
【図２】
0005704863.tif 000003
【図３】
0005704863.tif 000004
【図４】
0005704863.tif 000005
【図５】
0005704863.tif 000006
【図６】
0005704863.tif 000007
【図７】
0005704863.tif 000008
【図８】
0005704863.tif 000009
【図９】
0005704863.tif 000010
【図１０】
0005704863.tif 000011
【図１１】
0005704863.tif 000012
【図１２】
0005704863.tif 000013
【図１３】
0005704863.tif 000014
【図１４】
0005704863.tif 000015
【図１５】
0005704863.tif 000016
【図１６】
0005704863.tif 000017