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