(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-07
(45)【発行日】2025-01-16
(54)【発明の名称】画像処理装置、画像処理方法、およびプログラム
(51)【国際特許分類】
G06T 7/254 20170101AFI20250108BHJP
【FI】
G06T7/254 B
G06T7/254 A
(21)【出願番号】P 2020099483
(22)【出願日】2020-06-08
【審査請求日】2023-06-08
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】小林 究
【審査官】小池 正彦
(56)【参考文献】
【文献】特開2001-043458(JP,A)
【文献】特開2013-152669(JP,A)
【文献】特開平09-128546(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/254
(57)【特許請求の範囲】
【請求項1】
時間的に連続して撮像して生成される入力画像を都度取得する取得手段と、
第一の期間において前記入力画像の画素値の変化が所定の閾値以下であると判定される領域が所定回数連続する部分を表す第1のマスクを生成する第1のマスク生成手段と、
第二の期間ごとに、前記入力画像と背景画像との画素値の差異が所定の閾値以下であると判定される領域を表す第2のマスクを生成する第2のマスク生成手段と、
前記第1のマスクと前記第2のマスクとに基づいて、背景更新マスクを設定する設定手段と、
前記設定手段にて設定された前記背景更新マスク及び前記入力画像を用いて前記背景画像を更新する更新手段と、
を備え、
前記第二の期間は、前記第一の期間と同じである、
ことを特徴とする画像処理装置。
【請求項2】
前記設定手段は、前記第1のマスクと前記第2のマスクとの論理和となる領域を、前記背景更新マスクとして設定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記更新手段は、前記背景更新マスクにおいて特定される注目する画素位置について、前記背景画像における画素値を前記入力画像における画素値に置き換えることで、前記背景画像を更新することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記更新手段は、前記背景更新マスクにおいて特定される注目する画素位置について、前記背景画像における画素値を、当該画素値と前記入力画像における画素値とを重みづけ平均した値に置き換えることで、前記背景画像を更新することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項5】
時間的に連続して撮像して生成される入力画像を都度取得する取得手段と、
第一の期間において前記入力画像の画素値の変化が所定の閾値以下であると判定される領域が所定回数連続する部分を表す第1のマスクを生成する、複数の第1のマスク生成手段と、
第二の期間ごとに、前記入力画像と背景画像との画素値の差異が所定の閾値以下であると判定される領域を表す第2のマスクを生成する第2のマスク生成手段と、
前記第1のマスクと前記第2のマスクとに基づいて、背景更新マスクを設定する設定手段と、
前記設定手段にて設定された前記背景更新マスク及び前記入力画像を用いて前記背景画像を更新する更新手段と、
を備え、
前記第1のマスク生成手段の数は、前記所定回数の値よりも小さく、かつ、前記所定回数の値と整数比であり、
前記設定手段は、前記複数
の第1のマスク生成手段によって生成された複数の第1のマスクのうちいずれか1つの第1のマスクと前記第2のマスクとに基づいて、前記背景更新マスクを設定する、
ことを特徴とする画像処理装置。
【請求項6】
前記複数の第1のマスク生成手段は、互いに所定の時間差をもって、前記第1のマスクを生成することを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記所定の時間差は、前記所定回数を前記第1のマスク生成手段の数で割った商に対応する周期であることを特徴とする請求項6に記載の画像処理装置。
【請求項8】
時間的に連続して撮像して生成される入力画像を取得する取得手段と、
第一の期間において前記入力画像の画素値の変化が所定の閾値以下であると判定される領域が所定回数連続する部分を表す第1のマスクを生成する第1のマスク生成手段と
第二の期間ごとに、前記入力画像と背景画像との画素値の差異が所定の閾値以下であると判定される領域を表す第2のマスクを生成する第2のマスク生成手段と、
前記第1のマスク及び前記入力画像を用いて前記背景画像を更新する第1の更新手段と、
前記第2のマスク及び前記入力画像を用いて前記背景画像を更新する第2の更新手段と、
前記第1の更新手段による更新後の背景画像と前記第2の更新手段による更新後の背景画像の何れか一方を出力する出力手段と、
を備えることを特徴とする画像処理装置。
【請求項9】
前記第2の更新手段が更新を行う頻度は、前記第1の更新手段が更新を行う頻度よりも高く、
前記出力手段は、前記第1の更新手段による更新後の背景画像と前記第2の更新手段による更新後の背景画像を交互に出力する、
ことを特徴とする請求項8に記載の画像処理装置。
【請求項10】
時間的に連続して撮像して生成される入力画像を取得するステップと、
第一の期間において前記入力画像の画素値の変化が所定の閾値以下であると判定される領域が所定回数連続する部分を表す第1のマスクを生成するステップと、
第二の期間ごとに、前記入力画像と背景画像との画素値の差異が所定の閾値以下であると判定される領域を表す第2のマスクを生成するステップと、
前記第1のマスクと第2のマスクとに基づいて、背景更新マスクを設定するステップと、
設定された前記背景更新マスク及び前記入力画像を用いて前記背景画像を更新するステップと、
を含み、
前記第二の期間は、前記第一の期間と同じである、
ことを特徴とする画像処理方法。
【請求項11】
時間的に連続して撮像して生成される入力画像を都度取得するステップと、
第一の期間において前記入力画像の画素値の変化が所定の閾値以下であると判定される領域が所定回数連続する部分を表す第1のマスクを複数生成するステップと、
第二の期間ごとに、前記入力画像と背景画像との画素値の差異が所定の閾値以下であると判定される領域を表す第2のマスクを生成するステップと、
前記第1のマスクと前記第2のマスクとに基づいて、背景更新マスクを設定するステップと、
設定された前記背景更新マスク及び前記入力画像を用いて前記背景画像を更新するステップと、
を含み、
生成される前記第1のマスクの数は、前記所定回数の値よりも小さく、かつ、前記所定回数の値と整数比であり、
前記背景更新マスクは
、複数の前記第1のマスクのうちいずれか1つの第1のマスクと前記第2のマスクとに基づいて設定される、
ことを特徴とする画像処理方法。
【請求項12】
コンピュータを、請求項1乃至9のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像画像から背景画像を生成する技術に関する。
【背景技術】
【0002】
カメラを用いて撮像された画像から背景画像を生成する技術がある。特許文献1には、フレームバッファに記憶された入力画像と、その1時刻前の入力画像との差分を検出し、変化が検出された画素をカウントアップすることが記載されている。そして、カウントアップした値が所定値に達した場合、その画素を背景画像の更新に用いることが記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1では、所定の時間差のある入力フレーム間の差異が所定値以下である画素をカウントアップし、カウント値が所定値に達した画素を、静止している領域の画素と判定している。この方法では、所定値に達する間に日照変化や環境変化などによって画素値変化が起こった場合に、上記所定値に達するまでの期間、実際の背景と画像処理用に保持している背景画像との間に乖離が生じてしまう。この点、上記所定値として小さい値を設定することにより、乖離を小さくすることは可能である。しかしながら、画素値変化の起きた画素が静止している領域に属する画素なのか動いている領域に属する画素なのかを判定する期間が短くなるため、誤判定の可能性が高くなるという問題が生じてしまう。
【0005】
そこで本発明の一実施形態は、上記の課題に鑑み、背景画像を適切に更新することを目的とする。
【課題を解決するための手段】
【0006】
本開示に係る画像処理装置は、時間的に連続して撮像して生成される入力画像を都度取得する取得手段と、第一の期間において前記入力画像の画素値の変化が所定の閾値以下であると判定される領域が所定回数連続する部分を表す第1のマスクを生成する第1のマスク生成手段と、第二の期間ごとに、前記入力画像と背景画像との画素値の差異が所定の閾値以下であると判定される領域を表す第2のマスクを生成する第2のマスク生成手段と、前記第1のマスクと前記第2のマスクとに基づいて、背景更新マスクを設定する設定手段と、前記設定手段にて設定された前記背景更新マスク及び前記入力画像を用いて前記背景画像を更新する更新手段と、を備え、前記第二の期間は、前記第一の期間と同じである、ことを特徴とする。
【発明の効果】
【0007】
本開示に係る技術によれば、背景画像を適切に更新することができる。
【図面の簡単な説明】
【0008】
【
図1】(a)は本実施形態画像処理のシステムの概略構成を説明する図、(b)はカメラ画像処理装置及び統合画像処理装置に共通する基本的なハードウェア構成を示すブロック図
【
図2】画像処理システムにおける機能構成の一例を示すブロック図
【
図3】画像処理システムにおける機能構成の一例を示すブロック図
【
図4】実施形態1に係る、背景生成部の内部構成を示す図
【
図6】実施形態1に係る、背景画像生成処理の流れを示すフローチャート
【
図7】実施形態1に係る、背景画像生成処理の流れを示すフローチャート
【
図8】実施形態2に係る、背景生成部の内部構成を示す図
【
図9】実施形態2に係る、背景画像生成処理の流れを示すフローチャート
【
図10】実施形態2に係る、背景画像生成処理の流れを示すフローチャート
【
図11】(a)は実施形態2に係る背景生成部の動作タイミングを示す図、(b)は実施形態1に係る背景生成部の動作タイミングを示す図
【
図12】実施形態3に係る、背景生成部の内部構成を示す図
【
図13】(a)及び(b)は実施形態3に係る背景生成部の動作タイミングを示す図
【発明を実施するための形態】
【0009】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【0010】
[実施形態1]
本実施形態では、仮想視点画像の生成に用いられる背景画像を生成する形態を説明する。まず、実施形態の理解を容易にするために、仮想視点画像の概要を簡単に説明する。複数の視点で撮像された複数視点の画像を用いて、任意の仮想視点における仮想視点画像を生成する技術がある。例えば、仮想視点画像を用いると、サッカーやバスケットボールのハイライトシーンを様々な角度から視聴閲覧することができるので、通常の画像と比較してユーザに高臨場感を与えることができる。
【0011】
仮想視点画像を生成する際には、主な被写体(オブジェクト)である前景を背景部分から切り離してモデル化した上でレンダリングする処理が行われる。前景をモデル化する際には、複数のカメラから見たときの前景のシルエットに相当する前景マスクの情報と前景のテクスチャの情報(例えば前景の各画素のR、G、Bの色情報)とが必要となる。
【0012】
前景を背景部分から切り離す処理は、前景背景分離処理と呼ばれる。前景背景分離処理は、前景領域の推定を行う処理であり、一般的に背景差分法によって行われる。背景差分法とは、背景画像と、前景を含む入力画像との差分を求め、差分値が所定の閾値以上と判定された画素の集まりである領域を前景領域とする、というものである。つまり、前景を求めるために、背景画像が必要となる。
【0013】
背景画像を得る際には、基本的には前景を撮像領域から除いた状態で撮像を行い、得られた入力画像を背景画像として利用することができる。ただし、撮像環境・撮像条件が常に同じ状態であるとは限らない、例えば、屋外で撮像する場合、時間によって日ざしの状況が変化する。また、天候の変化によって、環境の照度が変化する。このような変化に追従する背景画像を生成することが求められている。
【0014】
本実施形態では、このような撮像環境の変化に追従することができ、かつ、動きの少ないオブジェクトを誤って背景として取り込むことを抑制することができる背景画像の生成手法について説明する。なお、本実施形態では、背景画像が仮想視点画像の生成に用いられる例を説明するが、必ずしも仮想視点画像の生成に用いられるものでなくてよい。このため、複数カメラ間の相対的な幾何学的設置条件に縛られるものではない。さらには、複数のカメラを用いる形態でなくてもよい。例えば、構内、遠隔地、または屋外に設置された監視カメラなどの単一のカメラで撮像した画像の背景画像の生成に用いられる形態でもよい。
【0015】
<システム構成>
図1(a)は、本実施形態の画像処理システム100の概略構成を説明する図である。競技場101では、例えばサッカーなどの競技が行われており、競技場101の中に前景のオブジェクトとなる人物102が存在しているものとする。オブジェクトとは、例えば選手、監督、または審判等の特定の人物である。オブジェクトは、ボール、またはゴール等のように画像パターンが予め定められている物体であってもよい。また、オブジェクトは動体であってもよいし、静止体であってもよい。競技場101の周囲には、複数のカメラ画像処理装置103が並べて配置され、複数の視点から競技場101が撮像されるように構成されている。複数のカメラ画像処理装置103それぞれは、撮像機能と画像処理機能を有している。カメラ画像処理装置103同士は、例えばネットワークケーブル104を使ったリング型のネットワーク接続がされており、ネットワークを介して隣のカメラ画像処理装置103へ画像データを順次伝送するように構成されている。つまり、各カメラ画像処理装置103は、受信した画像データと、自身で撮像・処理して得られた画像データとを併せて隣のカメラ画像処理装置103に伝送するように構成されている。そして、各カメラ画像処理装置103において処理された画像データは、最終的に統合画像処理装置105に送られる。統合画像処理装置105では、受信した各画像データを用いて、仮想視点画像を生成する処理が行われる。なお、
図1(a)に示すシステム構成は一例であって、例えばリング型のネットワーク接続に限定されず、スター型など他の接続形態でもよい。
【0016】
<ハードウェア構成>
図1(b)は、カメラ画像処理装置103と統合画像処理装置105に共通する、基本的なハードウェア構成を示すブロック図である。画像処理装置103/105は、CPU11、ROM12、RAM13、補助記憶装置14、表示部15、操作部16、通信I/F17、及びバス18を有する。CPU11は、ROM12やRAM13に格納されているコンピュータプログラムやデータを用いて装置全体を制御することで、画像処理装置103/105における各機能を実現する。なお、CPU11とは異なる1又は複数の専用のハードウェアを有し、CPU11による処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)、およびDSP(デジタルシグナルプロセッサ)などがある。ROM12は、変更を必要としないプログラムなどを格納する。RAM13は、補助記憶装置14から供給されるプログラムやデータ、及び通信I/F17を介して外部から供給されるデータなどを一時記憶する。補助記憶装置14は、例えばハードディスクドライブ等で構成され、画像データや音声データなどの種々のデータを記憶する。表示部15は、例えば液晶ディスプレイやLED等で構成され、ユーザが画像処理装置105を操作するためのGUI(Graphical User Interface)などを表示する。操作部16は、例えばキーボードやマウス、ジョイスティック、タッチパネル等で構成され、ユーザによる操作を受けて各種の指示をCPU11に入力する。CPU11は、表示部15を制御する表示制御部、及び操作部16を制御する操作制御部として動作する。通信I/F17は、画像処理装置103/105の外部の装置との通信に用いられる。例えば、外部装置と有線で接続される場合には、通信用のケーブルが通信I/F17に接続される。また、外部装置と無線通信する機能を有する場合には、通信I/F17はアンテナを備える。バス18は、装置内各部を繋いで情報を伝達する。本実施形態では表示部15と操作部16が装置内部に存在するものとして説明したが、表示部15と操作部16との少なくとも一方が装置外部に別の装置として存在していてもよい。また、カメラ画像処理装置103においては表示部15や操作部16は必須の構成ではなく、例えば外部のコントローラ(不図示)から遠隔操作可能なシステム構成であってもよい。
【0017】
<機能構成>
図2は、本実施形態の画像処理システム100における主要な機能の構成を示すブロック図である。カメラ画像処理装置103は、撮像制御部106、画像前処理部107、背景生成部108、前景マスク生成部109、前景テクスチャ生成部110からなる。統合画像処理装置105は、形状モデル生成部111、仮想視点画像生成部112からなる。以下、カメラ画像処理装置103と統合画像処理装置105を構成する各部について、順に説明する。
【0018】
まず、カメラ画像処理装置103の内部構成について説明する。撮像制御部106は、不図示の光学系を制御して、所定のフレームレート(例えば60fps)の動画像による撮像を行う。撮像制御部106によって得られた撮像画像(RAW画像)は、画像前処理部107に入力される。画像前処理部107は、入力された撮像画像に対し、現像、歪み補正、振動補正などの前処理を行う。前処理後の画像は、背景生成部108、前景マスク生成部109及び前景テクスチャ生成部110にそれぞれ入力される。背景生成部108は、画像前処理部107から入力された前処理後の画像(入力フレーム)を基に背景画像を生成する。生成された背景画像は、前景マスク生成部109に入力される。前景マスク生成部109は、入力フレームと背景生成部108から入力された背景画像とを用いて背景差分法による前景背景分離処理を行って、前景マスクを生成する。生成された前景マスクは、前景テクスチャ生成部110に入力される。前景テクスチャ生成部110は、入力フレームから前景マスクに相当する部分を抽出して、前景テクスチャを生成する。そして、上記のようにして得られた背景画像、前景マスク、前景テクスチャを一まとめにした画像データ(以下、「カメラ画像データ」と呼ぶ)が、全てのカメラ画像処理装置103から順次送信され、統合画像処理装置105に集約される。
【0019】
次に、統合画像処理装置105の内部構成について説明する。形状モデル生成部111は、受信した各カメラ画像処理103に対応するカメラ画像データに含まれる前景マスクを基に、オブジェクトの三次元形状を表す形状データ(以下、「形状モデル」と呼ぶ。)を生成する。仮想視点画像生成部112は、仮想的な視点位置や姿勢の情報に従って、形状モデルに対し前景テクスチャを貼り付けて色付けし、背景画像と合成することにより、仮想視点からの見えを表す仮想視点画像を生成する。
【0020】
上述した各機能部は、ASICやFPGAの内部に実装されている。或いは、CPU11がROM12等に記憶されたプログラムをRAM13に読み出して実行することで、CPU11が
図2に示す各部として機能する形態でもよい。すなわち、カメラ画像処理装置103及び統合画像処理装置105は、ソフトウェアのモジュールとして
図2に示す各機能モジュールを実現してもよい。また、
図3は、カメラ画像処理装置103及び統合画像処理装置105の機能を併有する1つの情報処理装置と複数のカメラとから成るシステム構成であった場合の機能構成を示すブロック図である。
図3に示す再合成画像生成部115は、
図2に示す形状モデル生成部111と仮想視点画像生成部112とを合わせた機能モジュールであるが、
図2と同様に別々のモジュールであってもよい。
【0021】
<背景生成部の詳細>
続いて、背景生成部108による背景画像の生成について詳しく説明する。背景画像生成部108の詳しい動作説明に入る前に、本実施形態における背景画像生成の基本的な考え方を説明しておく。
【0022】
本実施形態においては、タイプの異なる2つの背景作成手法を連携させることにより、背景更新の高速化と背景画像の品質向上との両立を図っている。2つの背景作成手法のうちの1つは、フレーム間で変化のない状態が所定期間継続した領域を対象として背景画像を更新する手法(以下、「不変化基準更新手法」と呼ぶ。)である。そして、もう1つは、最新フレームと直近の背景画像が示す背景領域との間で差分の小さい部分(類似度が高い部分)を対象として背景画像を更新する手法(以下、「類似度基準更新手法」と呼ぶ。)である。
【0023】
不変化基準更新手法では、まず、所定の時間差をもって順次入力される二つのフレーム(最新フレームと直近フレーム)を比較し、変化が所定の閾値以下の領域を「不変化領域」として決定する。次に、決定した不変化領域の時間的な連続性を評価する。具体的には、不変化領域が所定の回数まで連続する場合に、当該不変化領域を「連続不変化領域」とし、当該領域を対象として背景画像の更新を行う。
【0024】
これに対し、類似度基準更新手法では、まず、入力された最新フレームと、その時点で保持している背景画像とを所定の周期で比較し、両者の差異が所定の閾値以下である領域を「類似領域」として決定する。そして、当該類似領域を対象として背景画像の更新を行う。この場合において、“その時点で保持している背景画像”は、処理開始時においては、予め用意・設定される背景画像であり、処理中においては本手法による背景更新において1つ前に更新された背景画像である。
【0025】
不変化基準更新手法と類似度基準更新手法とにはそれぞれ一長一短があり、本実施形態は、この2つの手法を組み合わせることにより両手法の短所を補う仕組みを提案するものである。具体的にどのように短所を補い合っているのかを説明する。
【0026】
不変化基準更新手法の場合は、不変化領域の時間的連続性を評価する回数が過小であると、サッカーやラグビーにおける選手など動いたり止まったりするオブジェクトの領域を、止まっている領域(すなわち背景部分)と誤判定してしまう可能性が増してしまう。一方で、評価回数が過大であると、本来的に背景に属すべき画素が動きのない領域の画素であると特定するのに(つまり背景更新の対象領域を決めるのに)時間が掛かってしまう。そうなると、日照変化や環境変化があった場合に実際の背景と保持している背景画像との間に、部分的または全体的に明るさや色温度が異なる状態が発生してしまう。以下、このような時間経過に伴う状態変化に起因する実際の背景からの乖離を「経時乖離」と表現することとする。
【0027】
類似度基準更新手法の場合は、入力された最新フレームと背景画像とを比較する毎に更新領域が決まる。このため、比較の周期を短くすることにより背景更新の周期を短くでき、上述した経時依存乖離の発生を少なくすることができる。その一方で、常に過去の背景画像との相対的な類似性に基づいて更新領域が決まるので、例えば、閾値を超えない程度の僅かな変化があった場合、その僅かな変化の部分が更新時に新しい背景画像に書き込まれてしまう。このため、更新が進むに連れて背景画像に徐々に汚れが混入し、異物が混入したような状態になってしまう。以下、このような僅かな量の変化が蓄積することに起因する実際の背景からの乖離を「蓄積乖離」と表現することとする。
【0028】
以上を踏まえ、本実施形態では、類似度基準更新手法による背景の更新処理と不変化基準更新手法による背景の更新処理とを並行して行い、両手法によって得られた結果を選択的に適用して背景画像を更新する。このように、タイプの異なる2つの手法を組み合わせることにより、上述した経時乖離と蓄積乖離の双方を抑制することを実現するものである。
【0029】
≪用語の定義≫
背景生成部108を構成する各部の具体的な説明に入る前に、用語の定義を行っておくこととする。
【0030】
・所定のフレームレートで撮像された動画像から新しく取り込んだ最新のフレームを「新_入力フレーム」と呼び、その直前に取得したフレームを「前_入力フレーム」と呼ぶ。
【0031】
・フレーム間の不変化領域を示すマスクを「不変化領域マスク」と呼ぶ。この不変化領域マスクは、各画素が、黒を示す“1”又は白を示す“0”のいずれかの値を持つ2値画像であり、不変化領域に属すると判定された画素には“1”が、そうでない画素には“0”が設定される。
【0032】
・暫定的な連続不変化領域を示すマスク画像を「暫定連続不変化領域マスク」と呼ぶ。暫定連続不変化領域マスクは、各画素が、黒を示す“1”又は白を示す“0”のいずれかの値を持つ2値画像であり、暫定連続不変化領域に属すると判定された画素には“1”が、そうでない画素には“0”が設定される。
【0033】
・不変化基準更新手法によって決定された更新後の背景領域を示すマスク画像を「不変化基準更新マスク」と呼ぶ。不変化基準更新マスクは、各画素が、黒を示す“1”又は白を示す“0”のいずれかの値を持つ2値画像であり、背景領域に属すると判定された画素には“1”が、そうでない画素には“0”が設定される。
【0034】
・類似度基準更新手法によって決定された更新後の背景領域を示すマスク画像を「類似度基準更新マスク」と呼ぶ。類似度基準更新マスクは、黒を示す“1”又は白を示す“0”のいずれかの値を持つ2値画像であり、背景領域に属すると判定された画素には“1”が、そうでない画素には“0”が設定される。
【0035】
・不変化基準更新マスクと類似度基準更新マスクとを統合したマスク画像を「統合更新マスク」と呼ぶ。統合更新マスクは、各画素が、黒を示す“1”又は白を示す“0”のいずれかの値を持つ2値画像であり、背景領域に属すると判定された画素には“1“が、そうでない画素には“0“が設定される。
【0036】
≪背景生成部の内部構成≫
図4は、本実施形態に係る、背景生成部108の内部構成を示す図である。背景生成部108の構成要素は、不変化基準更新マスクの生成を担う第1処理モジュールと、類似度基準更新マスクの生成を担う第2処理モジュール、双方の処理結果に基づく背景更新マスクの生成と背景画像の更新を担う第3処理モジュールとに大別できる。そして、第1処理モジュールには、新_入力フレーム保持部201、前_入力フレーム保持部202、不変化領域抽出部205、暫定連続不変化領域マスク保持部206、AND部207、第1マスク整形部208、不変化基準更新マスク209が含まれる。また、第2処理モジュールには、新_入力フレーム保持部201、前_背景画像保持部203、類似領域抽出部210、第2マスク整形部211、類似度基準更新マスク212が含まれる。また、第3処理モジュールには、新_入力フレーム保持部201、前_背景画像保持部203、新_背景画像保持部204、OR部213、スイッチ部214、領域限定更新部215が含まれる。以下、背景生成部108の第1~第3処理モジュールを構成する各部の機能・動作について説明する。
【0037】
新_入力フレーム保持部201は、画像前処理部107から順次送られてくる最新フレームを新_入力フレームとして格納する。前_入力フレーム保持部202は、新_入力フレーム保持部201における最新フレームの格納に先立って、新_入力フレーム保持部201にそれまで格納されていたフレームを取得し、前回のフレーム(前_入力フレーム)として格納する。ここで、新_入力フレーム保持部201及び前_入力フレーム保持部202においてフレームの格納が実行される周期をNd1で表することとする。つまり、両保持部に格納されているフレーム間の時間差もNd1となる。
【0038】
新_背景画像保持部204は、後述する領域限定更新部215から順次送られてくる画像を、最新の背景画像として格納する。前_背景画像保持部203は、新_背景画像保持部204における最新の背景画像の格納に先立って、それまで新_背景画像保持部204に格納されていた背景画像を取得し、前_背景画像として格納する。ここで、前_背景画像保持部203が背景画像を取得する周期をNd2で表することとする。
【0039】
上述した2つの周期(Nd1及びNd2)は、いずれも過小であると(つまり周期が短すぎると)、ゆっくり動いているオブジェクトに対応する画素値変化を捉えにくくなり、動き続けているにもかかわらず静止していると誤判定してしまう。また、いずれも過大であると(つまり周期が長すぎると)、日照変化や環境変化などに伴うゆっくりとした画素値変化についても変化あり(つまり動いていないオブジェクトであっても動いている)と誤判定してしまう。そこで、新_入力フレーム保持部201の更新タイミングに同期して、前_入力フレーム保持部202と前_背景画像保持部203においてもフレーム/背景画像の取得が同時に行われる。すなわち、周期Nd1と周期Nd2は同じ値である。このように本実施形態においては、周期Nd1と周期Nd2とは等しいため、以下、両者をまとめて「周期Nd」と表記することとする。
【0040】
不変化領域抽出部205は、新_入力フレームと前_入力フレームとを比較し、両フレーム間の差分が所定の閾値以下である領域を抽出して、当該領域を表す不変化領域マスクを作成する。暫定連続不変化領域マスク保持部206は、AND部207からの論理積の結果であるマスク画像を、暫定連続不変化領域マスクとして保持する。AND部207は、不変化領域抽出部205で抽出された不変化領域と暫定連続不変化領域マスク保持部206に保持されている暫定連続不変化領域マスクの論理積となる領域を生成する。論理積を取る処理は、予め決められたNa回(所定回数)だけ実行される。論理積を取って得られた領域が、新しい暫定連続不変化領域マスクとして暫定連続不変化領域マスク保持部206において上書きされる。暫定連続不変化領域マスク保持部206はカウンタを持ち、AND部207にて論理積を取る処理が1回行われて暫定連続不変化領域マスクが1回更新される都度、カウント値Jがインクリメント(+1)される。暫定連続不変化領域マスク保持部206は、上記カウント値Jが上記所定回数Naに達した時点で保持している暫定連続不変化領域マスクを、連続不変化領域マスクとして第1マスク整形部208に送る。それと同時に、現時点のカウント値Jと暫定連続不変化領域マスクを初期化し、カウンタの新たな計数と暫定連続不変化領域マスクの更新を始める。なお、この初期化は、暫定連続不変化領域マスク保持部206自体で行ってもよいし、外部からの制御によって行ってもよい。
【0041】
第1マスク整形部208は、暫定連続不変化領域マスク保持部206から受け取った連続不変化領域マスクに対してノイズを取り除く処理(整形処理)を行って、不変化基準更新マスクを生成する。整形には、膨張処理と収縮処理の組み合わせから成るクロージング処理(或いはオープニング処理)を用いる。膨張処理は、所定サイズの画素領域内に1つでも白画素があれば当該画素領域内を全て白画素に置き換える処理である。収縮処理はその逆で、所定サイズの画素領域内に1つでも黒画素があれば当該画素領域内を全て黒画素に置き換える処理である。膨張処理においては黒い孤立点(黒ノイズ)が消滅する代わりにフィルタサイズに応じてマスクが一回り大きくなってしまうことから、これを解消するために同じサイズのフィルタで収縮処理を行う。これがクロージング処理である。クロージング処理の場合、連続不変化領域マスクに含まれる黒ノイズが除去され、その結果、背景画像内の黒画素と白画素の境界付近の汚れに相当する不確実な部分を取り除くことができる。なお、フィルタの特性など条件によっては取り除かれる部分がない場合もある。
【0042】
不変化基準更新マスク保持部209は、第1マスク整形部208から受け取ったノイズ除去後の連続不変化領域マスクを、不変化基準更新手法による新たな背景領域を示す不変化基準更新マスクとして保持する。
【0043】
類似領域抽出部210は、新_入力フレームと前_背景画像とを比較し、両者の差分が所定の閾値以下である領域を抽出して、当該領域を表す類似領域マスクを作成する。第2マスク整形部211は、第1マスク整形部208と同様の整形(すなわち、ノイズ除去処理)を類似領域抽出部210が作成した類似領域マスクに対して行い、類似度基準更新マスクを生成する。類似度基準更新マスク保持部212は、第2マスク整形部211から受け取った整形後の類似領域マスクを、類似度基準更新手法による新たな背景領域を示す類似度基準更新マスクとして保持する。
【0044】
OR部213は、不変化基準更新マスクと類似度基準更新マスクの論理和を取る処理を行う。そして、注目画素位置においていずれか一方のマスクにおける画素値が“1”であれば、その対応する画素位置に画素値“1”を設定して、統合更新マスクを生成する。ここで、統合更新マスクの生成周期は、必然的にNdとなる。また、不変化基準更新マスクの生成周期は、必然的にNd×Naとなる。このため、スイッチ214にて、それぞれの生成周期に応じ、背景画像の更新に使用するマスク(以下、「背景更新マスク」と呼ぶ。)を選択するための切り替えを行う。統合更新マスクと不変化基準更新マスクの両方が同時に生成されるとき、スイッチ214は、OR部213の出力が接続される側を選択し、OR部213で生成された統合更新マスクを背景更新マスクとして領域限定更新部215に送る。一方、不変化基準更新マスクが未生成で、類似度基準更新マスクのみが生成されている間は、OR部213の出力をショートカットする側を選択し、類似度基準更新マスクを背景更新マスクとして領域限定更新部215に送る。
【0045】
領域限定更新部215は、新_入力フレームと前_背景画像と背景更新マスクとに基づいて、背景画像を更新する。ここで、
図5を参照して、領域限定更新部215の動作を説明する。
図5に示すように、領域限定更新部215は4個の端子を備える。ここで言う端子とは、領域限定更新部215で入力または出力される信号(つまり接続先)と、領域限定更新部215の内部処理において定義される変数との関係を対応付けるものである。それぞれの端子の入出力属性が図中に矢印で示されている。まず、入力に関しては、スイッチ214が出力する背景更新マスクが端子1から、新_入力フレーム保持部201が出力する新_入力フレームが端子2から、前_背景画像保持部203が出力する前_背景画像が端子3からそれぞれ入力される。そして、領域限定更新部215において生成された画像が、新_背景画像として端子4から出力される。
図5に示す各変数と各端子との対応関係は以下のとおりである。
端子1:Mask[m][n]
端子2:New_Input[m][n]
端子3:Old_Image[m][n]
端子4:New_Imege[m][n]
【0046】
ここで、m及びnは、処理対象となる画像(最新フレームと背景画像)や背景更新マスクにおいて注目する画素位置を特定するための、x方向とy方向それぞれにおける画素番号を示す。また、Maskは、更新する領域を表す背景更新マスクを表し、[m][n]で特定される注目画素位置の画素値が“1“であるか“0“であるかによって更新の有無を指定する。また、Old_Imageは更新前の背景画像を表し、New_Imegeは更新後の背景画像を表す。そして、New_Inputは、[m][n]で特定される注目画素について、更新後の画素値を決定するために用いる最新フレームを表す。
【0047】
領域限定更新部215は、Mask[m][n]の値が“1”の場合、[m][n]で特定される注目画素位置について、下記式(1)に従って、New_Imege[m][n]の画素値を決定する。
New_Image[m][n] = ( 1 - Avr ) * Old_Image[m][n] + Avr * New_Input[m][n]
・・・式(1)
上記式(1)において、AvrはMask[m][n]=1のときにNew_Imege[m][n]を求めるための係数であり、0<Avr≦1の値を取る。
【0048】
また、領域限定更新部215は、Mask[m][n]の値が“0”のときに、[m][n]で特定される注目画素の画素値として、下記式(2)に従って、New_Imege[m][n]を求める。
New_Image[m][n] = Old_Image[m][n] ・・・式(2)
【0049】
上記のような仕組みによって、新たな背景画像を構成する各画素の画素値が決定されることになる。
【0050】
新_背景画像保持部204は、上記のようにして得られた更新後の背景画像を受け取り、新_背景画像として格納する。そして、所定のタイミングで後段の統合画像処理装置105に対し、その時点で保持している背景画像を送信する。
【0051】
≪背景画像生成処理の流れ≫
図6及び
図7は、本実施形態に係る背景画像生成処理の流れを示すフローチャートである。
図6と
図7は連続した一つのフローチャートであり、丸印Aと丸印Bの目印によって繋がっている。また、各処理の説明における記号「S」はステップを意味する。以下、
図6と
図7を参照しつつ、本実施形態の背景生成部108における具体的な処理の流れを説明する。
【0052】
S601では、必要な初期化処理が実行される。具体的には、前_背景画像、前_入力フレーム、暫定連続不変化領域マスクに対し、それぞれ所定の初期値が設定される。前_背景画像の初期値として設定される画像は、入力フレームと同一サイズであればどんな画像でもよいが現実の背景に近いものが望ましい。或いは入力フレームをそのまま設定してもよい。前_入力フレームの初期値として設定される画像は、入力フレームと同一サイズであればどんな画像でもよい。暫定連続不変化領域マスクの初期値は、入力フレームと同一サイズ、かつ、すべての画素に“1“を設定したマスクとする。また、フレームを識別するフレーム番号i及び暫定連続不変化領域マスク保持部206が持つ更新回数カウンタのカウント値Jに対し、それぞれ初期値“1”が設定される。さらには、予め決定された更新周期Ndや論理積を取る回数Naの値が補助記憶装置14などから取得され設定される。
【0053】
S602では、更新周期Ndが到来しているかどうかが判定される。ここでは、Mod関数を用いた演算処理によって判定を行う例を示す。具体的には、フレーム番号iにおいてMod (i ,Nd) = 0であれば、更新のタイミングであるとしてS603に進む。一方、フレーム番号iにおいてMod(i ,Nd) ≠0であれば更新のタイミングではないとして、フレーム番号iをインクリメントして次のフレームに送り、S602の処理を繰り返す。
【0054】
S603では、フレーム番号iに対応するフレームが取り込まれ、新_入力フレームとして新_入力フレーム保持部201に格納される。この際、従前の新_入力フレームは前_入力フレームとして前_入力フレーム保持部202に移動・格納される。次のS604~S606までの処理は不変化基準更新手法に対応し、S607~S609までの処理は類似度基準更新手法に対応しており、それぞれが並行して実行される。ただし、リソースなどを考慮して順番に処理しても構わない。
【0055】
S604では、S603にて取り込まれた最新フレームである新_入力フレームとその1つ前のフレームである前_入力フレームとが比較され、両者の差異が所定の閾値より小さい領域が抽出される。そして、抽出された領域を不変化領域としたマスク画像(不変化領域マスク)が作成される。続くS605では、暫定連続不変化領域マスクが更新される。具体的には、S604にて作成された不変化領域マスクと現在保持されている暫定連続不変化領域マスクとの論理積を取ることにより、新たな暫定連続不変化領域マスクが作成・保持される。次のS606では、暫定連続不変化領域マスク保持部206の更新回数カウンタのカウント値Jがインクリメント(+1)される。こうして暫定連続不変化領域マスクの更新が完了した後は、S610に進む。
【0056】
一方のS607では、新_背景画像保持部204に格納されている背景画像が、前_背景画像として前_背景画像保持部203に格納される。続くS608では、新_入力フレームと前_背景画像とが比較され、両者の差異が所定の閾値以下の領域が抽出される。そして、抽出された領域を類似領域としたマスク画像(類似領域マスク)が作成される。次のS09では、S608にて作成された類似領域マスクが整形される。そして、整形後の類似領域マスク(=類似度基準更新マスク)が類似度基準更新マスク保持部212に格納される。こうして類似度基準更新マスクの作成が完了した後は、S610に進む。
【0057】
S610では、更新回数カウンタのカウント値Jが、論理積を取る所定回数Naと一致するか否かが判定される。Jの値とNaの値が一致する場合はS611に進み、一致しない場合はS615に進む。
【0058】
S611では、暫定連続不変化領域マスク保持部206に現時点で格納されている暫定連続不変化領域マスクが、連続不変化領域マスクとして読み出され、第1マスク整形部208に入力される。
【0059】
次のS612では、暫定連続不変化領域マスク保持部206から出力された連続不変化領域マスクが整形される。整形後の連続不変化領域マスクは、不変化基準更新マスクとして不変化基準更新マスク保持部209に格納される。
【0060】
次のS613では、暫定連続不変化領域マスク保持部206が保持する暫定連続不変化領域マスク、及び、更新回数カウンタのカウント値Jがリセットされる。具体的には、暫定連続不変化領域マスクについては全画素に“1”が設定される。また、カウント値J=0が設定される。
【0061】
次のS614では、S612で作成・保持された不変化基準更新マスクとS609にて作成・保持された類似度基準更新マスクの論理和を取ることにより、統合更新マスクが作成される。そして、統合更新マスクは背景更新マスクとして領域限定更新部215に入力される。
【0062】
カウント値J≠NaのS615では、S609にて作成・保持された類似度基準更新マスクが背景更新マスクとして領域限定更新部215に入力される。
【0063】
S616では、更新回数カウンタのカウント値Jがインクリメント(+1)される。
【0064】
S617では、領域限定更新部215にて、入力された背景更新マスクを用いて、前_背景画像における背景領域が更新され、新_背景画像が生成される。具体的には、背景更新マスクにおける画素値“1”を持つ画素の領域について、新_入力フレームにおける対応する画素の画素値が、新_背景画像における対応する画素の画素値として設定される。また、背景更新マスクにおける画素値“0”を持つ画素の領域については、前_背景画像における対応する画素の画素値が、新_背景画像における対応する画素の画素値として設定される。
【0065】
S618では、S617で生成された新_背景画像のデータが、後段の統合画像処理装置105に送信される。送信完了後はフレーム番号iがインクリメントされ、S602に戻る。こうした処理が、カメラ画像処理装置103に入力された動画像を構成する全フレームについての処理が完了するまで繰り返される。
【0066】
以上が、本実施形態に係る、背景画像生成処理の内容である。
【0067】
<変形例>
本実施形態のS617では、背景更新マスクにおける画素値“1”を持つ画素の領域について、新_入力フレームにおける対応する画素の画素値を、そのまま新_背景画像における対応する画素の画素値としたが、これに限定されない。例えば、前_背景画像における対応する画素の画素値と新_入力フレームにおける対応する画素の画素値とを(1-Avr):Avrの比率で重みづけ平均した値を、新_背景画像における対応する画素の画素値としてもよい。
【0068】
<仮想視点画像の生成>
続いて、統合画像処理装置105における、仮想視点画像の生成について簡単に説明する。前述の
図2に示すとおり、カメラ画像処理装置103から受け取ったカメラ画像データのうち前景マスクは形状モデル生成部111に入力され、前景テクスチャと背景画像は仮想視点画像生成部112に入力される。
【0069】
形状モデル生成部111は、カメラ毎の前景マスクをオブジェクトの輪郭情報として用いてオブジェクトの三次元形状を推定するVisual‐hull手法によって形状推定を行う。形状推定の手法としては、三角測量を用いたMulti‐view stereo手法など他にもあり、公知の手法が適用可能である。これにより、オブジェクトの3次元形状を、ポリゴン、ボクセル、点群などで表現した形状データ(以下、「三次元モデル」と呼ぶ。)が生成される。形状推定によって得られた三次元モデルは、仮想視点画像生成部112に入力される。
【0070】
仮想視点画像生成部112は、入力された三次元モデルに対するレンダリングを行って仮想視点画像を生成する。具体的には、まず、三次元モデルによって特定されるオブジェクト形状の表面に、別途入力された仮想視点と対応関係にある各カメラの前景テクスチャを重み付けするなどして張り付ける処理を行う。そして、入力された背景画像を基にコンピュータグラフィクスの技術を用いて空間変換し統合することにより、仮想視点から見たときの背景画像を再構築する。さらに再構築された背景画像の上にテクスチャ付き三次元モデルを置くことで、仮想視点画像が得られる。この生成処理には公知の技術を適宜適用すればよく、本実施例の主眼ではないので詳細な説明は省略する。
【0071】
以上のとおり本実施形態では、日照変化や環境変化に追従可能でかつ汚れなどの異物の混入の無い背景画像を生成することができる。また、本実施形態の手法で得られた背景画像を利用することで高品質の仮想視点画像の生成が可能となる。
【0072】
[実施形態2]
実施形態1では、不変化基準更新手法を実現するための、不変化領域マスクの論理積を取るAND部と、論理積の結果を暫定連続不変化領域マスクとして保持する暫定連続不変化領域マスク保持部とがいずれも1つであった。次に、AND部と暫定連続不変化領域マスク保持部とを複数組設け、不変化基準更新マスクをより短い周期で生成する態様を、実施形態2として説明する。なお、システムの基本構成など実施形態1と共通する内容については説明を省略し、以下では差異点である不変化基準更新手法による背景領域の更新を中心に説明を行うものとする。
【0073】
≪背景生成部の内部構成≫
図8は、本実施形態に係る背景生成部108の内部構成のうち、不変化基準更新マスクの生成に関わる第1処理モジュールだけを抜き出して示した図である。実施形態1の
図4ではそれぞれ1つであったAND部と暫定連続不変化領域マスク保持部とが、
図8の例ではそれぞれ4つずつ設けられている。また、4つの暫定連続不変化領域マスク保持部216a~216dの出力を制御するスイッチ218a~218dが追加されている。
【0074】
図8に示すように、暫定連続不変化領域マスク保持部216aとAND部217aとが1つの組になっており、同様に、216bと217bが1つの組、216cと217cが1つの組、216dと217dが1つの組になっている。ここで、組数をPhで表すこととする。組数Phは、論理積を取る回数Naよりも小さく、かつ、Naと整数比であることが必要である。
図8の例ではPh=4としているが、これに限定されない。組数Phは、上記条件を満たす範囲で大きな値に設定するほど、不変化基準更新マスクの生成周期(更新周期)を短くすることができる。Ph個の組み合わせそれぞれに対しては順番に初期化の指示がかかり、各暫定連続不変化領域マスク保持部216a~216dが有する更新回数カウンタのカウント値と暫定連続不変化領域マスクが初期化される。これにより、論理積を取る回数Naの値を実施形態1のときと同じに保ったまま、不変化基準更新マスクの生成周期を短く(実際には1/Phに)することができる。以下、
図8を参照しつつ、本実施形態に係る背景生成部108の不変化基準更新手法に関わる各部の動作を詳しく説明する。
【0075】
ここで、それぞれPh個ずつある暫定連続不変化領域マスク保持部216a~216d、AND部217a~217dに対し、“0”から始まる番号kp(0~Ph-1まで)を付与する。いま、Ph=4なので、kpは、0、1、2、3となる。暫定連続不変化領域マスク保持部216a~216dにて保持されるマスク画像は「暫定連続不変化領域マスクkp」と表現する。
【0076】
新_入力フレーム保持部201、前_入力フレーム保持部202及び不変化領域抽出部205の動作は実施形態1と同じである。すなわち、新_入力フレーム保持部201は、画像前処理部107から順次送られてくる最新フレームを格納する。また、前_入力フレーム保持部202は、新_入力フレーム保持部201に格納されていたフレーム(最新フレームの1つ前のフレーム)を取得して格納する。また、新_入力フレーム保持部201及び前_入力フレーム保持部202におけるフレームを格納する周期Nd1と、前_背景画像保持部203(
図8では不図示)における背景画像を取得する周期Nd2とは、実施形態1のときと同様、同じであるものとする。また、不変化領域抽出部205は、新_入力フレームと前_入力フレームとの差分が所定の閾値以下である領域を抽出して不変化領域マスクを作成する。作成された不変化領域マスクは4つのAND部217a~217dそれぞれにおける一方の入力端子に入力される。
【0077】
4つの暫定連続不変化領域マスク保持部216a~216dのそれぞれは実施形態1の暫定連続不変化領域マスク保持部206と同じ機能を持つ。すなわち、不変化領域抽出部205で順次生成される不変化領域マスクの論理積の結果を暫定連続不変化領域マスクとして保持する。また、更新回数のカウンタをそれぞれ有している。ここで、暫定連続不変化領域マスク保持部216a~216dそれぞれにおけるカウント値をJ_kpで表すこととする。いま、kp=0~3なので、J_0、J_1、J_2、J_3となる。また、4つのAND部217a~217dのそれぞれも実施形態1のAND部207と同じ機能を持つ。すなわち、不変化領域抽出部205で抽出された不変化領域と暫定連続不変化領域マスク保持部206に保持されている暫定連続不変化領域マスクの論理積を取る処理をNa回だけ実行する。そして、AND部217a~217dにて論理積を取る処理が1回行われて暫定連続不変化領域マスクkpが1回更新されると、カウント値J_kpがそれぞれインクリメント(+1)される。上記のような仕組みによって、4つの暫定連続不変化領域マスク保持部216a~216dは、論理積を取る回数Naの周期の1/Ph(ここでは1/4)の時間差をもって初期化されることになる。すなわち「Nd×Na/Ph」のフレーム数分の時間差をもって初期化されることになる。ここで、Na/Phを「Np」とおくと、「Nd×Na/Ph」は「Nd×Np」と表すことができる。つまり、各暫定連続不変化領域マスク保持部216a~216dは、Nd×Npのフレーム数に相当する時間差をもって順番に初期化されることになる。この結果、4つの暫定連続不変化領域マスク保持部216a~216dそれぞれのカウント値J_kpが論理積を取る回数Naに達するタイミングは、上記初期化のタイミングと同様、順番にNd×Npのフレーム数に相当する時間差をもったタイミングとなる。
【0078】
スイッチ218a~218dはそれぞれ、対応する暫定連続不変化領域マスク保持部216a~216dのカウント値J_kpがNaに達するタイミングに同期して順番に一つだけONとなる。このため、第1マスク整形部208は、Nd×Npフレームの周期で、暫定連続不変化領域マスク保持部216a~216dのうち何れかから順番に、連続不変化領域マスクを受け取ることになる。この結果、第1マスク整形部208が連続不変化領域マスクを受け取る周期は、実施形態1の場合と比較して1/4の周期となる。また、上述のとおり、論理積を取る回数Naの値を実施形態1と共通とすると、不変化領域マスクの時間的な連続性に関する信頼度は同等である。また、本実施形態における不変化基準更新マスクの生成周期は実施形態1の場合と比較して1/Ph、すなわち1/4の周期となる。つまり、本実施形態では、実施形態1と比較すると4倍の頻度で連続不変化領域マスクが第1マスク整形部208に送られてくる。この結果、不変化基準更新マスク保持部209が保持する不変化基準更新マスクは、実施形態1に比べて4倍の速度で更新されることとなる。
【0079】
≪背景生成処理の流れ≫
図9及び
図10は、本実施形態に係る背景画像生成処理の流れを示すフローチャートである。
図9と
図10は連続した一つのフローチャートであり、丸印Cと丸印Dの目印によって繋がっている。また、各処理の説明における記号「S」はステップを意味する。以下、
図9と
図10を参照しつつ、本実施形態の背景生成部108における具体的な処理の流れを説明する。ただし、実施形態1の
図6及び
図7のフローチャートと共通する部分については説明を省略ないしは簡略化することとする。
【0080】
S901では、実施形態1のS601と同様、必要な初期化処理が実行される。具体的には、前_背景画像、前_入力フレーム、暫定連続不変化領域マスクkp(ここではkp=0~3)、フレームを識別するフレーム番号iに対し、それぞれ所定の初期値が設定される。各初期値の内容については実施形態1で説明したとおりである。また、更新周期Ndや論理積を取る回数Naの値が補助記憶装置14などから取得される点も同じである。実施形態1と異なる点としては、まず、暫定連続不変化領域マスク保持部206が持つ更新回数カウンタのカウント値の初期化が挙げられる。本実施形態のカウント値J_kp(ここではkp=0~3)に対しては、以下の式(3)に従って初期値が設定される。
J_kp =1 - kp * ( Na / Ph ) ・・・式(3)
【0081】
上記式(3)によって決まるJ_kpの初期値のうち、kp=0のとき(J_0)の値は“1”なので一般的であるが、kp=1~3のとき(J_1、J_2、J_3)の値は一定の期間、負の値となる。こうすることで、それぞれのカウント値が最初に所定の値(Na)に達するまでの時間が等間隔でずれるようにしている。さらに、本実施形態では4つの暫定連続不変化領域マスク保持部216a~216dのうち参照する暫定連続不変化領域マスク保持部を上述の番号kpによって特定することから、その初期値としてkp = 0が設定される。
【0082】
続くS902及びS903は、実施形態1のS602及びS603にそれぞれ対応する。すなわち、更新周期Ndが到来しているかどうかが判定され(S902)、更新のタイミングであればS903に進む(S902でYes)。そして、フレーム番号iに対応する最新フレームが新_入力フレームとして新_入力フレーム保持部201に格納されると共に、従前の新_入力フレームが前_入力フレーム保持部202に移動・格納される。次のS904~S906までの処理が不変化基準更新手法に対応し、S907~S909までの処理が類似度基準更新手法に対応している点は、実施形態1と同じである。
【0083】
S904では、実施形態1のS604と同様である。すなわち、S903にて取り込まれた最新フレームである新_入力フレームとその1つ前のフレームである前_入力フレームとが比較され、両者の差異が所定の閾値より小さい領域が抽出される。そして、抽出された領域を不変化領域としたマスク画像(不変化領域マスク)が作成される。続くS905では、kp=0~3それぞれに対応する暫定連続不変化領域マスクkpが更新される。具体的には、S904にて作成された不変化領域マスクと各暫定連続不変化領域マスク216a~216dにて保持されている暫定連続不変化領域マスクkpとの論理積を取って得られた新たな暫定連続不変化領域マスクkpが作成・保持される。次のS906では、各暫定連続不変化領域マスク保持部216a~216dの更新回数カウンタのカウント値J_kpがそれぞれインクリメント(+1)される。こうして暫定連続不変化領域マスクkpの更新が完了した後は、S910に進む。
【0084】
類似度基準更新手法による背景更新に対応するS907~S909については、実施形態1のS606~S609にそれぞれ対応し特に異なるところはないので説明を省く。
【0085】
S910では、4つの暫定連続不変化領域マスク保持部216a~216dそれぞれにおける更新回数カウンタのカウント値J_kp(ここでは、J_0、J_1、J_2、J_3)のうちいずれかが、論理積を取る回数Naと一致するか否かが判定される。Naの値がいずれかのカウント値J_kpと一致する場合はS911に進み、一致しない場合はS916に進む。
【0086】
S911では、Naと一致したkpの暫定連続不変化領域マスク保持部216に現時点で格納されている暫定連続不変化領域マスクkpが、連続不変化領域マスクとして読み出され、第1マスク整形部208に入力される。
【0087】
S912では、Naと一致したkpの暫定連続不変化領域マスク保持部216から出力された連続不変化領域マスクkpが整形される。整形後の連続不変化領域マスクkpは、不変化基準更新マスクとして不変化基準更新マスク保持部209に格納される。
【0088】
S913では、Naと一致したkpの暫定連続不変化領域マスク保持部216が保持する暫定連続不変化領域マスクkp、及び、当該暫定連続不変化領域マスク保持部216の更新回数カウンタのカウント値J_kpがリセットされる。具体的には、暫定連続不変化領域マスクkpについては全画素に“1”が設定される。また、カウント値J_kp=0が設定される。
【0089】
S914では、kpの値がインクリメント(kp=kp+1)され、その結果が“4”以上(kp≧4)であれば、kp=0とする。
【0090】
S915では、S912で作成・保持された不変化基準更新マスクとS909にて作成・保持された類似度基準更新マスクの論理和を取ることにより、統合更新マスクが作成される。そして、統合更新マスクが背景更新マスクとして領域限定更新部215に入力される。
【0091】
一方、カウント値J_kp≠Naの場合のS916では、S909にて作成・保持された類似度基準更新マスクが背景更新マスクとして領域限定更新部215に入力される。
【0092】
S917では、すべての暫定連続不変化領域マスク保持部216a~216dの更新回数カウンタのカウント値J_kp(ここでは、J_0、J_1、J_2、J_3)がインクリメント(+1)される。
【0093】
S918では、S915又はS916で作成された背景更新マスクを用いて、前_背景画像における背景領域が更新され、新_背景画像が生成される。続くS919では、S918で生成された新_背景画像のデータが、後段の統合画像処理装置105に送信される。送信完了後はフレーム番号iがインクリメントされ、S902に戻る。こうした処理が、カメラ画像処理装置103に入力された動画像を構成する全フレームについての処理が完了するまで繰り返される。
【0094】
以上が、本実施形態に係る、背景画像生成処理の内容である。
図11(a)は、本実施形態において、更新周期Nd=Cフレームである場合における、不変化基準更新手法による背景更新と類似度基準更新手法による背景更新の動作タイミングを示している。そして、
図11(b)は、同一条件下での前述の実施形態1の場合における背景更新の動作タイミングを示している。
図11の(a)と(b)の双方において、類似度基準更新手法については、いずれもBsec毎に類似度基準更新マスクの更新が行われることになる。一方、不変化基準更新手法については、実施形態1の場合はAsec毎に不変化基準更新マスクの更新が行われるのに対し、本実施形態の場合はA/4sec毎にその更新が行われる。このように、AND部と暫定連続不変化領域マスク保持部とを4組設けた場合は、1組しか有さない場合と比較して、4倍の速度で不変化基準更新マスクを更新できる。つまり、組数Phを、「論理積を取る回数Na未満かつNaと整数比」という条件に従いつつより大きな数とすることにより、不変化基準更新手法による背景の更新周期を短くすることができる。
【0095】
以上のとおり本実施形態の手法によれば、AND部と暫定連続不変化領域マスク保持部とを複数組設けることで、不変化基準更新手法による背景更新をその組数に比例した速度で実行できる。これにより、より高品位な背景画像を得ることができる。
【0096】
[実施形態3]
実施形態1及び2においては、不変化基準更新手法による背景領域(不変化基準更新マスク)の更新と類似度基準更新手法による背景領域(類似度基準更新マスク)の更新は、整数倍で同期していた。また、両マスクの論理和を取った統合更新マスクを生成することにより、上記二つの更新手法による結果を統合していた。次に、両更新手法を非同期で動作させ、かつ、双方の結果の統合を行わない態様を、実施形態3として説明する。なお、実施形態1及び2と共通する内容については説明を省略し、以下では差異点を中心に説明を行うものとする。
【0097】
図12は、本実施形態に係る、背景生成部108の内部構成を示す図である。実施形態1及び2との構成上の大きな違いは2つある。1つ目は、不変化基準更新マスクと類似度基準更新マスクとの論理和を取るOR部213、及び、領域限定更新部215への入力を選択するスイッチ214が存在しない点である。2つ目は、領域限定更新部が複数ある点、具体的には、不変化基準更新マスクのための第1領域限定更新部220と、類似度基準更新マスクのための第2領域限定更新部221が存在する点である。
【0098】
第1領域限定更新部220及び第2領域限定更新部221の機能・構造は、実施形態1の領域限定更新部215と同じである。ただし、端子1に接続される信号、すなわち、更新する領域を決めるMask[m][n]の参照元については両者でそれぞれ異なる。第1領域限定更新部220はMask[m][n]として不変化基準更新マスク保持部209からの出力を参照し、第2領域限定更新部221はMask[m][n]として類似度基準更新マスク保持部212からの出力を参照する。一方、残りの端子2~4に接続される信号は、両者で共通である。すなわち、更新前の背景画像(Old_Image[m][n])の参照元は共通であり、いずれも前_背景画像保持部203の前_背景画像が端子3に入力される。そして、更新に必要な最新フレーム(New_Input [m][n])の参照元も共通であり、いずれも新_入力フレーム保持部201の新_入力フレームが端子2に入力される。さらに、更新後の背景画像(New_Imege[m][n])の格納先も共通であり、いずれも新_背景画像保持部204である。ただし、同時書き込みを行わないように、スイッチ219によって切り替え制御されている。つまり、2つの領域限定更新部220/221それぞれの出力結果である背景画像が、共通の新_背景画像保持部204にタイミングをずらして交互に格納される。
【0099】
本実施形態においては、実施形態1及び2とは異なり、不変化基準更新マスクの更新頻度と類似度基準更新マスクの更新頻度とは、整数倍の関係には無い。しかしながら、類似度基準更新マスクの更新頻度を、不変化基準更新マスクの頻度よりも大きく設定(すなわち、周期を短く設定)することが、上述した経時乖離及び蓄積乖離の増大を抑制するためには必須である。
【0100】
なお、上述のとおり、不変化基準更新マスク及び類似度基準更新マスクが生成される仕組みは実施形態1と異なるところはない。ただし、本実施形態の場合、新_入力フレームが更新される周期Nd1と、新_背景画像が更新される周期Nd2とは同じである必要はない。つまり、
図13(a)に示すように、不変化基準更新マスクの更新と類似度基準更新マスクの更新とが同期している必要はなく、それぞれ独自のタイミングで更新を行えばよい。さらには、
図13(b)に示すように、不変化基準更新マスクの更新を一定間隔ではなく不定期に行ってもよい。
【0101】
また、第1領域限定更新部220と第2領域限定更新部221に対しては、それぞれに適したAvrの値を設定可能である。つまり、本実施形態においては、不変化基準更新手法と類似度基準更新手法のそれぞれに対し、状況に応じた異なるタイミングで、それぞれ適した背景領域の更新が可能となる。
【0102】
以上のとおり本実施形態によれば、不変化基準更新手法と類似度基準更新手法とを連携する際の動作条件を緩く設定し、より柔軟性のあるシステム構成を実現できる。
【0103】
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0104】
103 カメラ画像処理装置
108 背景生成部
205 不変化領域抽出部
206 暫定連続不変化領域マスク保持部
107 AND部
210 類似領域抽出部210
213 OR部
214 スイッチ部
215 領域限定更新部