(57)【要約】【課題】主成分分析に要する計算負荷を低減する。【解決手段】Ｎ個のＰ次元のベクトルに対し、固有ベクトルｕ1（Ｎ），・・・，ｕM（Ｎ）を算出する主成分分析装置が提供される。一部のＬ個のベクトルの共分散行例ＣLが導出され、固有ベクトルｕ1（Ｌ），・・・，ｕM（Ｌ）が算出される。ｋ＝Ｌ＋１，・・・，Ｎに対し、以下の処理が繰り返される。ベクトルＶkに基づいて、固有ベクトルｕ1（ｋ−１），・・・，ｕM（ｋ−１）に直交する単位ベクトルが算出され、固有ベクトルｕM+1（ｋ−１）として設定される。ベクトルＶ1，・・・，Ｖkの共分散行列Ｃkとして近似的に、固有ベクトルｕ1（ｋ−１），・・・，ｕM+1（ｋ−１）を用いて、Ｍ＋１次元の共分散行列Ｃk’が導出される。共分散行列Ｃk’の固有ベクトルが算出され、Ｐ次元の固有ベクトルｕ1（ｋ），・・・，ｕM（ｋ）に変換される。【選択図】図２
2015179413.tif 000002
【特許請求の範囲】
【請求項１】
対象画像の背景を抽出する背景抽出装置であって、
Ｎ枚（Ｎは、２以上の整数）のテスト画像にそれぞれ対応するＮ個のＰ次元（Ｐは、３以上の整数）のテストベクトルＶ1，Ｖ2，・・・，ＶNを主成分分析することにより、Ｍ個（Ｍは、Ｍ＋１＜Ｐを満たす整数）の固有ベクトルｕ1（Ｎ），ｕ2（Ｎ），・・・，ｕM（Ｎ）を算出する主成分分析部と、
前記対象画像に対応する対象ベクトルをＭ個の固有ベクトルｕ1（Ｎ），ｕ2（Ｎ），・・・，ｕM（Ｎ）の線形結合として近似し、前記線形結合を前記対象画像の背景に対応する背景ベクトルとして設定する近似部と、
を備え、
前記主成分分析部は、
テストベクトルＶ1，Ｖ2，・・・，ＶL（Ｌは、Ｌ＜Ｎを満たす自然数）の共分散行例ＣLを導出する初期共分散行列導出部と、
共分散行列ＣLのＭ個の固有ベクトルｕ1（Ｌ），ｕ2（Ｌ），・・・，ｕM（Ｌ）を算出する初期固有ベクトル算出部と、
ｋ＝Ｌ＋１，Ｌ＋２，・・・，Ｎに対し順次、
テストベクトルＶkに基づいて、Ｍ個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM（ｋ−１）に直交する単位ベクトルを算出し、Ｍ＋１番目の固有ベクトルｕM+1（ｋ−１）として設定する固有ベクトル追加部と、
テストベクトルＶkに基づいて、テストベクトルＶ1，Ｖ2，・・・，Ｖkの共分散行列Ｃkとして近似的に、Ｍ＋１個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM+1（ｋ−１）を用いて、Ｍ＋１次元の共分散行列Ｃk’を導出する低次元共分散行列導出部と、
共分散行列Ｃk’のＭ個の（Ｍ＋１）次元の固有ベクトルを算出し、Ｍ個のＰ次元の固有ベクトルｕ1（ｋ），ｕ2（ｋ），・・・，ｕM（ｋ）に変換する固有ベクトル更新部と
を有する、
背景抽出装置。
【請求項２】
Ｎ個（Ｎは、２以上の整数）のＰ次元（Ｐは、３以上の整数）のベクトルＶ1，Ｖ2，・・・，ＶNを主成分分析することにより、Ｍ個（Ｍは、Ｍ＋１＜Ｐを満たす整数）の固有ベクトルｕ1（Ｎ），ｕ2（Ｎ），・・・，ｕM（Ｎ）を算出する主成分分析装置であって、
ベクトルＶ1，Ｖ2，・・・，ＶNを格納するベクトル格納部と、
前記ベクトル格納部からベクトルＶ1，Ｖ2，・・・，ＶL（Ｌは、Ｌ＜Ｎを満たす自然数）を読み出し、ベクトルＶ1，Ｖ2，・・・，ＶLの共分散行例ＣLを導出する初期共分散行列導出部と、
共分散行列ＣLを格納する初期共分散行列格納部と、
前記初期共分散行列格納部から共分散行列ＣLを読み出し、共分散行列ＣLのＭ個の固有ベクトルｕ1（Ｌ），ｕ2（Ｌ），・・・，ｕM（Ｌ）を算出する初期固有ベクトル算出部と、
ｋ＝Ｌ＋１，Ｌ＋２，・・・，Ｎに対し順次、
前記ベクトル格納部からベクトルＶkを読み出し、ベクトルＶkに基づいて、Ｍ個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM（ｋ−１）に直交する単位ベクトルを算出し、Ｍ＋１番目の固有ベクトルｕM+1（ｋ−１）として設定する固有ベクトル追加部と、
前記ベクトル格納部からベクトルＶkを読み出し、ベクトルＶkに基づいて、ベクトルＶ1，Ｖ2，・・・，Ｖkの共分散行列Ｃkとして近似的に、Ｍ＋１個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM+1（ｋ−１）を用いて、Ｍ＋１次元の共分散行列Ｃk’を導出する低次元共分散行列導出部と、
共分散行列Ｃk’を格納する低次元共分散行列格納部と、
前記低次元共分散行列格納部から共分散行列Ｃk’を読み出し、共分散行列Ｃk’のＭ個のＭ＋１次元の固有ベクトルを算出し、Ｍ個のＰ次元の固有ベクトルｕ1（ｋ），ｕ2（ｋ），・・・，ｕM（ｋ）に変換する固有ベクトル更新部と、
を備える、
主成分分析装置。
【請求項３】
Ｎ個（Ｎは、２以上の整数）のＰ次元（Ｐは、３以上の整数）のベクトルＶ1，Ｖ2，・・・，ＶNを主成分分析することにより、Ｍ個（Ｍは、Ｍ＋１＜Ｐを満たす整数）の固有ベクトルｕ1（Ｎ），ｕ2（Ｎ），・・・，ｕM（Ｎ）を算出するための主成分分析プログラムであって、記憶部を有するコンピュータに、
前記記憶部に、ベクトルＶ1，Ｖ2，・・・，ＶNを格納するステップと、
前記記憶部からベクトルＶ1，Ｖ2，・・・，ＶL（Ｌは、Ｌ＜Ｎを満たす自然数）を読み出し、ベクトルＶ1，Ｖ2，・・・，ＶLの共分散行例ＣLを導出するステップと、
前記記憶部に、共分散行列ＣLを格納するステップと、
前記記憶部から共分散行列ＣLを読み出し、共分散行列ＣLのＭ個の固有ベクトルｕ1（Ｌ），ｕ2（Ｌ），・・・，ｕM（Ｌ）を算出するステップと、
ｋ＝Ｌ＋１，Ｌ＋２，・・・，Ｎに対し順次、
前記記憶部からベクトルＶkを読み出し、ベクトルＶkに基づいて、Ｍ個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM（ｋ−１）に直交する単位ベクトルを算出し、Ｍ＋１番目の固有ベクトルｕM+1（ｋ−１）として設定するステップと、
前記記憶部からベクトルＶkを読み出し、ベクトルＶkに基づいて、ベクトルＶ1，Ｖ2，・・・，Ｖkの共分散行列Ｃkとして近似的に、Ｍ＋１個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM+1（ｋ−１）を用いて、Ｍ＋１次元の共分散行列Ｃk’を導出するステップと、
前記記憶部に、共分散行列Ｃk’を格納するステップと、
前記記憶部から共分散行列Ｃk’を読み出し、共分散行列Ｃk’のＭ個のＭ＋１次元の固有ベクトルを算出し、Ｍ個のＰ次元の固有ベクトルｕ1（ｋ），ｕ2（ｋ），・・・，ｕM（ｋ）に変換するステップと
を実行させる、
主成分分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の背景を抽出する背景抽出装置、及び、画像の背景の抽出等に特に適した主成分分析を行う主成分分析装置及び主成分分析プログラムに関する。
【背景技術】
【０００２】
主成分分析を行うための一般的な方法としては、対象となるデータセットの共分散行列を算出し、当該共分散行列の固有ベクトルを算出する方法がある。主成分分析は、様々な分野で利用されており、例えば、画像の背景の抽出にも利用することができる。この場合、具体的には、多数の画像を各々ベクトルとみなしてこれらのベクトルの集合を主成分分析することにより、比較的低次元の固有空間（固有ベクトルにより形成される空間）を形成する（非特許文献１参照）。そして、入力画像を当該固有空間に射影した射影画像を入力画像の背景画像と推定し、対象画像と当該背景画像との差分を算出することで、前景を抽出する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】鳥生隆ら，固有空間への非線形射影に基づく画像各部の注目度の定量化，一般社団法人映像情報メディア学会，映像情報メディア学会誌：映像情報メディア５９巻６号，８９４−９００，２００５年６月１日
【発明の概要】
【発明が解決しようとする課題】
【０００４】
対象となるデータセットの個数が非常に多い場合や、対象となるデータセットの次元数が非常に高い場合等には、主成分分析に要する計算負荷は多大なものとなる。ところで、主成分分析を行うと、対象となるデータセットの次元数だけ固有ベクトルが算出されることになる。しかしながら、以上の背景抽出の例のように、用途によっては、データセットの次元数と同じ個数だけの固有ベクトルは必要ではなく、より少ない個数の固有ベクトルさえ算出できれば十分な場合が多々ある。
【０００５】
本発明は、画像の背景の抽出を行う場合等、必要とされる固有ベクトルの個数が少ない場合に、主成分分析に要する計算負荷を低減することができる背景抽出装置、主成分分析装置及び主成分分析プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１観点に係る背景抽出装置は、対象画像の背景を抽出する装置であって、主成分分析部と、近似部とを備える。前記主成分分析部は、Ｎ枚（Ｎは、２以上の整数）のテスト画像にそれぞれ対応するＮ個のＰ次元（Ｐは、３以上の整数）のテストベクトルＶ1，Ｖ2，・・・，ＶNを主成分分析することにより、Ｍ個（Ｍは、Ｍ＋１＜Ｐを満たす整数）の固有ベクトルｕ1（Ｎ），ｕ2（Ｎ），・・・，ｕM（Ｎ）を算出する。前記近似部は、前記対象画像に対応する対象ベクトルをＭ個の固有ベクトルｕ1（Ｎ），ｕ2（Ｎ），・・・，ｕM（Ｎ）の線形結合として近似し、前記線形結合を前記対象画像の背景に対応する背景ベクトルとして設定する。前記主成分分析部は、初期共分散行列導出部と、初期固有ベクトル算出部と、固有ベクトル追加部と、低次元共分散行列導出部と、固有ベクトル更新部とを有する。前記初期共分散行列導出部は、テストベクトルＶ1，Ｖ2，・・・，ＶL（Ｌは、Ｌ＜Ｎを満たす自然数）の共分散行例ＣLを導出する。前記初期固有ベクトル算出部は、共分散行列ＣLのＭ個の固有ベクトルｕ1（Ｌ），ｕ2（Ｌ），・・・，ｕM（Ｌ）を算出する。前記固有ベクトル追加部は、ｋ＝Ｌ＋１，Ｌ＋２，・・・，Ｎに対し順次、テストベクトルＶkに基づいて、Ｍ個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM（ｋ−１）に直交する単位ベクトルを算出し、Ｍ＋１番目の固有ベクトルｕM+1（ｋ−１）として設定する。前記低次元共分散行列導出部は、ｋ＝Ｌ＋１，Ｌ＋２，・・・，Ｎに対し順次、テストベクトルＶkに基づいて、テストベクトルＶ1，Ｖ2，・・・，Ｖkの共分散行列Ｃkとして近似的に、Ｍ＋１個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM+1（ｋ−１）を用いて、Ｍ＋１次元の共分散行列Ｃk’を導出する。前記固有ベクトル更新部は、ｋ＝Ｌ＋１，Ｌ＋２，・・・，Ｎに対し順次、共分散行列Ｃk’のＭ個のＭ＋１次元の固有ベクトルを算出し、Ｍ個のＰ次元の固有ベクトルｕ1（ｋ），ｕ2（ｋ），・・・，ｕM（ｋ）に変換する。
【０００７】
本発明の第２観点に係る主成分分析装置は、Ｎ個（Ｎは、２以上の整数）のＰ次元（Ｐは、３以上の整数）のベクトルＶ1，Ｖ2，・・・，ＶNを主成分分析することにより、Ｍ個（Ｍは、Ｍ＋１＜Ｐを満たす整数）の固有ベクトルｕ1（Ｎ），ｕ2（Ｎ），・・・，ｕM（Ｎ）を算出する主成分分析装置であって、ベクトル格納部と、初期共分散行列導出部と、初期共分散行列格納部と、初期固有ベクトル算出部と、固有ベクトル追加部と、低次元共分散行列導出部と、低次元共分散行列格納部と、固有ベクトル更新部を備える。前記ベクトル格納部は、ベクトルＶ1，Ｖ2，・・・，ＶNを格納する。前記初期共分散行列導出部は、前記ベクトル格納部からベクトルＶ1，Ｖ2，・・・，ＶL（Ｌは、Ｌ＜Ｎを満たす自然数）を読み出し、ベクトルＶ1，Ｖ2，・・・，ＶLの共分散行例ＣLを導出する。前記初期共分散行列格納部は、共分散行列ＣLを格納する。前記初期固有ベクトル算出部は、前記初期共分散行列格納部から共分散行列ＣLを読み出し、共分散行列ＣLのＭ個の固有ベクトルｕ1（Ｌ），ｕ2（Ｌ），・・・，ｕM（Ｌ）を算出する。前記固有ベクトル追加部は、ｋ＝Ｌ＋１，Ｌ＋２，・・・，Ｎに対し順次、前記ベクトル格納部からベクトルＶkを読み出し、ベクトルＶkに基づいて、Ｍ個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM（ｋ−１）に直交する単位ベクトルを算出し、Ｍ＋１番目の固有ベクトルｕM+1（ｋ−１）として設定する。前記低次元共分散行列導出部は、ｋ＝Ｌ＋１，Ｌ＋２，・・・，Ｎに対し順次、前記ベクトル格納部からベクトルＶkを読み出し、ベクトルＶkに基づいて、ベクトルＶ1，Ｖ2，・・・，Ｖkの共分散行列Ｃkとして近似的に、Ｍ＋１個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM+1（ｋ−１）を用いて、Ｍ＋１次元の共分散行列Ｃk’を導出する。前記低次元共分散行列格納部は、ｋ＝Ｌ＋１，Ｌ＋２，・・・，Ｎに対し順次、共分散行列Ｃk’を格納する。前記固有ベクトル更新部は、ｋ＝Ｌ＋１，Ｌ＋２，・・・，Ｎに対し順次、前記低次元共分散行列格納部から共分散行列Ｃk’を読み出し、共分散行列Ｃk’のＭ個のＭ＋１次元の固有ベクトルを算出し、Ｍ個のＰ次元の固有ベクトルｕ1（ｋ），ｕ2（ｋ），・・・，ｕM（ｋ）に変換する。
【０００８】
本発明の第３観点に係る主成分分析プログラムは、Ｎ個（Ｎは、２以上の整数）のＰ次元（Ｐは、３以上の整数）のベクトルＶ1，Ｖ2，・・・，ＶNを主成分分析することにより、Ｍ個（Ｍは、Ｍ＋１＜Ｐを満たす整数）の固有ベクトルｕ1（Ｎ），ｕ2（Ｎ），・・・，ｕM（Ｎ）を算出するためのプログラムである。前記主成分分析プログラムは、記憶部を有するコンピュータに、以下のステップ１〜８を実行させる。なお、ステップ５〜８は、ｋ＝Ｌ＋１，Ｌ＋２，・・・，Ｎに対し順次繰り返し実行される。
１）前記記憶部に、ベクトルＶ1，Ｖ2，・・・，ＶNを格納するステップ。
２）前記記憶部からベクトルＶ1，Ｖ2，・・・，ＶL（Ｌは、Ｌ＜Ｎを満たす自然数）を読み出し、ベクトルＶ1，Ｖ2，・・・，ＶLの共分散行例ＣLを導出するステップ。
３）前記記憶部に、共分散行列ＣLを格納するステップ。
４）前記記憶部から共分散行列ＣLを読み出し、共分散行列ＣLのＭ個の固有ベクトルｕ1（Ｌ），ｕ2（Ｌ），・・・，ｕM（Ｌ）を算出するステップ。
５）前記記憶部からベクトルＶkを読み出し、ベクトルＶkに基づいて、Ｍ個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM（ｋ−１）に直交する単位ベクトルを算出し、Ｍ＋１番目の固有ベクトルｕM+1（ｋ−１）として設定するステップ。
６）前記記憶部からベクトルＶkを読み出し、ベクトルＶkに基づいて、ベクトルＶ1，Ｖ2，・・・，Ｖkの共分散行列Ｃkとして近似的に、Ｍ＋１個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM+1（ｋ−１）を用いて、Ｍ＋１次元の共分散行列Ｃk’を導出するステップ。
７）前記記憶部に、共分散行列Ｃk’を格納するステップ。
８）前記記憶部から共分散行列Ｃk’を読み出し、共分散行列Ｃk’のＭ個のＭ＋１次元の固有ベクトルを算出し、Ｍ個のＰ次元の固有ベクトルｕ1（ｋ），ｕ2（ｋ），・・・，ｕM（ｋ）に変換するステップ。
【０００９】
従来の主成分分析の方法では、Ｎ個のＰ次元のデータセット（ベクトルＶ1，Ｖ2，・・・，ＶN）を主成分分析する場合、Ｎ個のＰ次元のデータセットからＰ次元（Ｐ行Ｐ列）の共分散行列を算出し、これを固有値分解する必要がある。これに対し、本発明の以上の観点では、まず、Ｎ個のベクトルＶ1，Ｖ2，・・・，ＶNのうち、一部のベクトルＶ1，Ｖ2，・・・，ＶLのみを用いて（Ｌ＜Ｎ）、共分散行列ＣLが算出される。この処理は、Ｎ個のベクトルＶ1，Ｖ2，・・・，ＶNの全てを用いて共分散行列を算出するのに比べ、計算負荷が低い。そして、共分散行列ＣLから、Ｍ個の固有ベクトルｕ1（Ｌ），ｕ2（Ｌ），・・・，ｕM（Ｌ）が算出され、初期値として設定される。以後、残りのベクトルＶL+1，ＶL+2，・・・，ＶNを順次用いて、Ｍ個の固有ベクトルのセットが順次更新されてゆき、最終的には、Ｎ個のベクトルＶ1，Ｖ2，・・・，ＶNに対する固有ベクトルｕ1（Ｎ），ｕ2（Ｎ），・・・，ｕM（Ｎ）が算出される。
【００１０】
Ｍ個の固有ベクトルのセットの更新時には、近似的にＰ次元よりも次元数の低いＭ＋１次元の共分散行列が算出され、当該低次元の共分散行列から新たなＭ個の固有ベクトルのセットが算出される。具体的には、最新のベクトルＶkの情報に基づいて、最新のＭ個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM（ｋ−１）に直交する単位ベクトルが算出される。これにより、当該単位ベクトルと、最新のＭ個の固有ベクトルのセットとを併せて、Ｍ＋１個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM（ｋ−１），ｕM+1（ｋ−１）が定義される。そして、これらのＭ＋１個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM+1（ｋ−１）を用いて、Ｐ次元の共分散行列Ｃkが、Ｍ＋１次元の共分散行列Ｃk’として近似的に導出される。すなわち、固有ベクトルのセットの更新時には、高次元の共分散行列に代えて、低次元の共分散行列が算出され、かつ、高次元の共分散行列に代えて、低次元の共分散行列から固有ベクトルのセットが算出されるため、計算負荷が低減される。
【００１１】
すなわち、本発明の以上の観点では、まず、全体の個数Ｎよりも少ないＬ個のデータセットを用いることで、高次元（Ｐ次元）の共分散行列を低負荷で算出する。そして、以後は、近似的に低次元（Ｍ＋１次元）の共分散行列を算出し、これに基づいて固有ベクトルのセットを算出するため、更新時の処理も低負荷となる。従って、必要とされる固有ベクトルの個数Ｍが少ない場合に、主成分分析に要する計算負荷を低減することができる。
【００１２】
なお、画像（オプティカルフローを含む）の情報を表現するには、原則として、画素数程度の（ＲＧＢ値を各々を表現する場合であれば、画素数×３）情報が必要となる。従って、画像をベクトルで表現するとき、当該ベクトルの次元数Ｐは、非常に大きな値となる。そのため、画像に対応するベクトルを主成分分析する場合には、共分散行列の次元数Ｐも非常に大きくなり、計算負荷が多大になりがちである。しかしながら、一方で、画像の背景（オプティカルフローを含む）は、画像の次元数Ｐよりも大幅に少ない個数の固有ベクトルさえあれば、表現することができる。従って、以上の主成分分析のアルゴリズムを用いた第１観点の背景抽出装置によれば、画像の背景の抽出に必要な固有ベクトルのセットを、極めて低負荷で抽出することができる。
【発明の効果】
【００１３】
本発明によれば、画像の背景の抽出を行う場合等、必要とされる固有ベクトルの個数が少ない場合に、主成分分析に要する計算負荷を低減することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る背景抽出装置／主成分分析装置を含む見守りシステムの概略構成を示すブロック図。
【図２】学習処理の流れを示すフローチャート。
【図３】オプティカルフローの概念図。
【図４】認識処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１５】
以下、図面を参照しつつ、本発明に係る背景抽出装置、主成分分析装置及び主成分分析プログラムを、高齢者等の見守りシステムに適用した場合の一実施形態について説明する。
【００１６】
＜１．見守りシステムの構成＞
図１に示す見守りシステム１００は、カメラ３と、カメラ３の遠隔に存在し、インターネットやＬＡＮ等のネットワーク６を介してカメラ３に接続されている監視コンピュータ１とを有する。カメラ３は、見守りの対象が存在する空間に配置され、見守りの対象を撮影するとともに、撮影した動画像（以下、対象動画像）をネットワーク６を介して監視コンピュータ１にリアルタイムに送信する。この機能を実現するため、カメラ３には、外付け又は内蔵の通信装置４が付属している。
【００１７】
監視コンピュータ１は、本発明の一実施形態に係る背景抽出装置／主成分分析装置である。監視コンピュータ１には、ＣＤ−ＲＯＭ、ＵＳＢメモリ等のコンピュータで読み取り可能な記録媒体５から、又はネットワーク６を介して別のコンピュータから、画像処理プログラム２がインストールされている。画像処理プログラム２は、対象動画像から移動体、すなわち、見守りの対象を検出する機能を有するアプリケーションソフトウェアである。画像処理プログラム２には、本発明の一実施形態に係る主成分分析プログラムである、主成分分析を行うためのプログラムモジュール２ａが含まれる。画像処理プログラム２及びこれに含まれるプログラムモジュール２ａは、監視コンピュータ１に後述する動作に含まれるステップを実行させる。
【００１８】
本実施形態におけるカメラ３は、例えば、首振り式のカメラや、移動式のロボットに搭載されているカメラであり、対象動画像を撮影する視点が移動するカメラである。後述されるとおり、監視コンピュータ１に実装されている移動体を検出するためのアルゴリズムは、固定されているカメラで撮影した動画像を対象とする場合はもちろん、移動しているカメラで撮影した動画像を対象とする場合にも対応している。従って、監視コンピュータ１は、視点が移動するカメラ３で撮影された対象動画像においても、正しく移動体を検出することができる。
【００１９】
監視コンピュータ１は、例えば、見守りの対象の異常を監視するサービスを提供する会社により管理されているサーバコンピュータである。この場合、このような会社の従業員が、見守りの対象を監視することもできるし、見守りの対象の家族等が、携帯電話やパーソナルコンピュータ等の機器をネットワーク６を介して監視コンピュータ１に接続することにより、外出先から見守りの対象を監視することも可能である。また、上記のようなサーバコンピュータを省略し、カメラ３から直接、見守りの対象の家族等が所有している携帯電話やパーソナルコンピュータ等の機器に対象動画像が送信されるようにしてもよい。この場合、このような携帯電話やパーソナルコンピュータ等の機器が、監視コンピュータ１（本発明に係る背景抽出装置／主成分分析装置）に相当する。
【００２０】
図１に示すとおり、監視コンピュータ１は、表示部１０、入力部２０、記憶部３０、制御部４０および通信部５０を有する。これらの部１０〜５０は、互いにバス線７で接続されており、相互に通信可能である。本実施形態では、表示部１０は、液晶ディスプレイ等で構成されており、適当な画面をユーザ（監視者）に対し表示するユーザーインターフェースである。また、入力部２０は、マウスやキーボード、タッチパネル、操作ボタン等で構成されており、監視コンピュータ１に対するユーザ（監視者）からの操作を受け付けるユーザーインターフェースである。通信部５０は、監視コンピュータ１をネットワーク６に接続するほか、ＵＳＢメモリやメモリカード、ＣＤ−ＲＯＭ、外付けハードディスク、デジタルカメラなどの外部記憶装置との間でデータ通信を行う通信インターフェースである。
【００２１】
記憶部３０は、ＲＡＭのような揮発性の記憶装置に加え、ＲＯＭやハードディスク、フラッシュメモリ等の不揮発性の記憶装置から構成されている。記憶部３０内の不揮発性の領域には、画像処理プログラム２が格納されている。また、記憶部３０内の揮発性及び／又は不揮発性の記憶領域は、ベクトル格納部３１、初期共分散行列格納部３２、固有ベクトル格納部３３及び低次元共分散行列格納部３４として動作する。これらの部３１〜３４の詳細については、後述する。
【００２２】
制御部４０は、ＣＰＵ等から構成されており、記憶部３０内に格納されている画像処理プログラム２を読み出して実行することにより、仮想的に学習部４１、動き導出部４２、近似部４３、領域検出部４４及び解釈部４５として動作する。また、学習部４１は、仮想的にオプティカルフロー導出部４１ａ、初期共分散行列導出部４１ｂ、初期固有ベクトル導出部４１ｃ、固有ベクトル追加部４１ｄ、低次元共分散行列導出部４１ｅ及び固有ベクトル更新部４１ｆとして動作する。各部４１〜４５，４１ａ〜４１ｆの動作については、後述する。
【００２３】
＜２．監視処理＞
以下、見守りシステム１００により高齢者等の見守りの対象が監視される処理（以下、監視処理）の流れについて、詳細に説明する。監視処理は、主として、学習処理と、認識処理とにより構成される。学習処理は、固有ベクトルのセットを学習する処理である。固有ベクトルのセットとは、学習用に撮影されるテスト動画像に含まれるテスト画像のオプティカルフローの集合を主成分分析することにより得られる固有ベクトルのセットである。固有ベクトルのセットは、対象動画像に捉えられたカメラ３の視点の動き（背景の動き）を評価するためのパラメータとなる。認識処理は、学習処理により設定された固有ベクトルのセットを用いて、対象動画像に捉えられたカメラ３の視点の動きをキャンセルし、それにより、対象動画像に捉えられた移動体の動きを検出する処理である。また、認識処理では、移動体の動きの解釈も行われる。以下、学習処理について説明した後、認識処理について説明する。
【００２４】
＜２−１．学習処理＞
学習処理は、図２に示すフローチャートのとおりに実行される。まず、カメラ３によるテスト動画像の撮影処理が開始される（ステップＳ１）。テスト動画像は、固有ベクトルのセットの算出の元となる動画像である。なお、このとき使用されるカメラは、必ずしも認識処理で対象動画像を撮影するために使用されるカメラ３そのものである必要はなく、さらに、カメラ３と同じ機種のカメラである必要もない。しかしながら、学習処理では、カメラ３そのものか、又はカメラ３と同じ機種のカメラが使用されることが好ましい。なぜならば、レンズの歪曲度等の属性の異なるカメラにより撮影された動画像どうしは、カメラを全く同じように移動させながら、全く同一の風景を撮影したとしても、相違することになる。従って、認識処理で使用されるカメラと、学習処理で使用されるカメラとが相違すると、その分だけ、学習処理で導出されたパラメータを用いる認識処理での認識の精度が低下するからである。
【００２５】
また、ステップＳ１で撮影される空間（以下、テスト空間）は、認識処理でカメラ３が見守る空間と同じである必要はない。なぜならば、後述するアルゴリズムから明らかなとおり、本実施形態に係る学習処理は、認識処理で見守られる空間の模様や明るさ等の図形のパターンを学習する処理ではなく、カメラ３の視点の動きのパターンを表現するための固有ベクトルのセットを学習する処理だからである。また、ステップＳ１では、カメラ３の視点を様々な方向に移動させながら、テスト空間が撮影される。これは、学習処理で学習される固有ベクトルのセットが、カメラ３のあらゆる視点の動きのパターンを表現することが可能なようにするためである。
【００２６】
さらに、ステップＳ１で撮影されるテスト空間は、移動体が存在しない空間とされることが好ましい。なぜならば、既に述べたとおり、学習処理で学習されるのは、対象動画像に含まれるカメラ３の視点の動きを評価するためのパラメータだからである。従って、このようなパラメータの算出の基礎となるテスト動画像には、移動体の動きが反映されておらず、カメラ３の視点の動きのみが反映されていることが好ましい。
【００２７】
続くステップＳ２では、ステップＳ１で撮影されたテスト動画像をカメラ３から監視コンピュータ１へネットワーク６を介して送信する送信処理が開始される。送信処理では、以上の撮影処理により一定量のテスト動画像が撮影される度に、当該一定量のテスト動画像が送信される。なお、他の実施形態では、テスト動画像は、ネットワーク６経由で送信されるのではなく、ＵＳＢメモリ等の外部記憶装置を介して監視コンピュータ１へ受け渡されてもよい。或いは、カメラ３を直接監視コンピュータ１へ接続することで受け渡されてもよい。この場合には、固有ベクトルのセットの算出に必要な量のテスト動画像の撮影が完了した後、当該テスト動画像が一括して受け渡されるように構成することができる。
【００２８】
次に、ステップＳ３では、オプティカルフロー導出部４１ａが、ステップＳ２のテスト動画像から、時々刻々のオプティカルフローＤkを導出する導出処理を開始する（ｋは、時刻を表し、ｋ＝１，２，・・・と増加する）。オプティカルフローＤkとは、図３に示すように、テスト動画像に含まれる時刻ｋでのフレーム内の各点ｐijにその点ｐijの動きを表すベクトルｄij（ｋ）を割り当てたものである（ｉ＝１，２，・・・，Ｉ、かつ、ｊ＝１，２，・・・，Ｊ）。ここで、点ｐijとは、テスト動画像のフレーム上に等間隔に並べられた点の格子状配列のうち、上からｉ番目で左からｊ番目の点である。ベクトルｄij（ｋ）は、テスト動画像の時刻ｋにおける点ｐijに対応する１又は複数個の画素が、時刻ｋから時刻ｋ＋１の間に移動した移動量で表される２次元ベクトル（ｄijx（ｋ），ｄijy（ｋ））である。また、ｄijx（ｋ）及びｄijy（ｋ）はそれぞれ、テスト動画像のフレームが存在するＸＹ平面内での時刻ｋでのＸ方向への移動量及びＹ方向への移動量であり、テスト動画像の時刻ｋ及び時刻ｋ＋１でのフレームの画素値に基づいて算出される。
【００２９】
すなわち、オプティカルフローＤkとは、テスト動画像の時刻ｋにおけるフレーム内の様々な局所領域の動きを表すベクトル場であり、数１のとおり表すことができる。
【数１】
2015179413.tif 000003
なお、このようなオプティカルフローＤkの具体的な算出方法については、勾配法やブロックマッチング法等の様々な方法が公知であるため、ここでは詳細な説明を省略する。
【００３０】
オプティカルフロー導出部４１ａは、導出処理において、以上の送信処理により一定量のテスト動画像を取得する度に、当該一定量のテスト動画像に含まれるフレームのオプティカルフローＤkを時系列に沿って順次導出してゆく。また、オプティカルフロー導出部４１ａは、オプティカルフローＤkを導出する度に、これをベクトル格納部３１内に格納する。すなわち、テスト動画像の送信、並びにオプティカルフローＤkの導出及び格納は、テスト動画像の撮影に並行してリアルタイムに実行される。オプティカルフロー導出部４１ａは、Ｎ個のオプティカルフローＤ1，Ｄ2，・・・，ＤNが格納されるまで、ベクトル格納部３１内にオプティカルフローＤkを順次格納してゆく。Ｎは、本実施形態では、１０００程度である。
【００３１】
以下では、説明の便宜上、オプティカルフローＤkを列ベクトルとして捉え直し、ベクトルＶkと表すこととする。ベクトルＶkの次元数Ｐは、２×Ｉ×Ｊである。本実施形態では、ベクトルＶkは、画像のオプティカルフローであるための、例えば、Ｐ＝１００００程度である。
【００３２】
続くステップＳ４，Ｓ５では、学習部４１は、ベクトル格納部３１内にＬ個のベクトルＶ1，Ｖ2，・・・，ＶL（Ｌは、Ｌ＜Ｎを満たす自然数）が格納されるのを待って、これらのＬ個のベクトルＶ1，Ｖ2，・・・，ＶLに対し主成分分析を行う。本実施形態では、Ｌは、１００程度である。
【００３３】
まず、ステップＳ４では、初期共分散行列導出部４１ｂは、ベクトル格納部３１からベクトルＶ1，Ｖ2，・・・，ＶLを読み出し、ベクトルＶ1，Ｖ2，・・・，ＶLの共分散行例ＣLを導出する。共分散行列ＣLは、数２の式に基づいて導出される。なお、行列（ベクトル）を表す記号の右肩に付される「ｔ」の文字は、転置行列を意味する。
【数２】
2015179413.tif 000004
共分散行列ＣLの次元数は、Ｐ＝２×Ｉ×Ｊである。初期共分散行列導出部４１ｂは、共分散行列ＣLを、初期共分散行列格納部３２内に格納する。
【００３４】
続くステップＳ５では、初期固有ベクトル算出部４１ｃは、初期共分散行列格納部３２から共分散行列ＣLを読み出し、共分散行列ＣLのＭ個の固有ベクトルｕ1（Ｌ），ｕ2（Ｌ），・・・，ｕM（Ｌ）及びＭ個の固有値λ1（Ｌ），λ2（Ｌ），・・・，λM（Ｌ）を算出する。また、共分散行列ＣLから導出可能な固有ベクトルの数はＰ個であるが、Ｐ個の全ての固有ベクトルが算出される必要はない。固有ベクトルは、背景の動きを表すオプティカルフロー（以下、背景オプティカルフロー）を表すのに十分な個数だけあれば足り、Ｍは、Ｐより大幅に小さく、例えば、５〜１０程度である。固有値λi（Ｌ）は、Ｐ個中ｉ番目に大きい固有値であり、固有ベクトルｕi（Ｌ）は、固有値λi（Ｌ）に対応する（ｉ＝１，２，・・・，Ｍ）。そして、初期固有ベクトル算出部４１ｃは、これらのＭ個の固有ベクトルｕ1（Ｌ），ｕ2（Ｌ），・・・，ｕM（Ｌ）及びＭ個の固有値λ1（Ｌ），λ2（Ｌ），・・・，λM（Ｌ）を、固有ベクトル格納部３３内に格納する。
【００３５】
以後、ベクトルＶL+1，ＶL+2，・・・，ＶNが順次１つずつ選択され、ステップＳ６〜Ｓ８が、現在選択されているベクトル（以下、選択ベクトル）Ｖkに対し繰り返し実行される。なお、ステップＳ６〜Ｓ８において様々な数式が使用されるが、数式の根拠については後述することとし、まずは処理の流れについて説明する。
【００３６】
ステップＳ６では、固有ベクトル追加部４１ｄは、ベクトル格納部３１から選択ベクトルＶkを読み出すとともに、固有ベクトル格納部３３からＭ個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM（ｋ−１）を読み出す。そして、固有ベクトル追加部４１ｄは、選択ベクトルＶkに基づいて、Ｍ個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM（ｋ−１）に直交する単位ベクトルを算出し、Ｍ＋１番目の固有ベクトルｕM+1（ｋ−１）として設定する。固有ベクトルｕM+1（ｋ−１）は、数３の式に基づいて算出される。また、固有ベクトルｕM+1（ｋ−１）に対応する固有値λM+1（ｋ−１）が、０と設定される。
【数３】
2015179413.tif 000005
【００３７】
ただし、ベクトルＶkΔは、数４の式に基づいて算出される。なお、（行列，行列）は、２つの行列の内積を表す。
【数４】
2015179413.tif 000006
固有ベクトル追加部４１ｄは、固有ベクトルｕM+1（ｋ−１）及びλM+1（ｋ−１）を、固有ベクトル格納部３３内に格納する。
【００３８】
ステップＳ７では、低次元共分散行列導出部４１ｅは、ベクトル格納部３１から選択ベクトルＶkを読み出すとともに、固有ベクトル格納部３３からＭ＋１個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM+1（ｋ−１）及びＭ＋１個の固有値λ1（ｋ−１），λ2（ｋ−１），・・・，λM+1（ｋ−１）を読み出す。そして、低次元共分散行列導出部４１ｅは、これらの情報に基づいて、ベクトルＶ1，Ｖ2，・・・，Ｖkの共分散行列Ｃkを導出する。共分散行列Ｃkは、実際には、Ｐ次元の行列である。しかしながら、ここでは、低次元共分散行列導出部４１ｅは、Ｍ＋１個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM+1（ｋ−１）を用いて、共分散行列Ｃkを近似的にＭ＋１次元の共分散行列Ｃk’として算出する。具体的には、低次元共分散行列導出部４１ｅは、Ｍ＋１次元の共分散行列Ｃk’のｌ行ｍ列の要素ｇlm（ｋ）を、数５の式に基づいて算出する（ｌ＝１，２，・・・，Ｍ＋１、かつ、ｍ＝１，２，・・・，Ｍ＋１）。
【数５】
2015179413.tif 000007
【００３９】
ただし、δは、０〜１の間の定数であり、ｃiは、数６の式に基づいて（ｉ＝１，２，・・・，Ｍ＋１）、δlmは、数７の式に基づいて算出される（ｌ＝１，２，・・・，Ｍ＋１、かつ、ｍ＝１，２，・・・，Ｍ＋１）。
【数６】
2015179413.tif 000008
【数７】
2015179413.tif 000009
すなわち、ステップＳ７では、Ｐ次元空間内のベクトルＶ1，Ｖ2，・・・，Ｖkを、Ｍ＋１個の固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM+1（ｋ−１）から形成されるＭ＋１次元の固有空間内のベクトルとして近似的に捉えることにより、共分散行列Ｃkの次元数を低下させている。低次元共分散行列導出部４１ｅは、Ｍ＋１次元の共分散行列Ｃk’を、低次元共分散行列格納部３４内に格納する。
【００４０】
続くステップＳ８では、固有ベクトル更新部４１ｆは、低次元共分散行列格納部３４から共分散行列Ｃk’を読み出し、共分散行列Ｃk’のＭ個の固有ベクトルｖ1（ｋ），ｖ2（ｋ），・・・，ｖM（ｋ）及びＭ個の固有値λ1（ｋ），λ2（ｋ），・・・，λM（ｋ）を算出する。固有ベクトルｖi（ｋ）は、固有値λi（ｋ）に対応し、固有値λi（ｋ）は、Ｐ個中ｉ番目に大きい固有値である（ｉ＝１，２，・・・，Ｍ）。
【００４１】
固有ベクトルｖ1（ｋ），ｖ2（ｋ），・・・，ｖM（ｋ）は、Ｍ＋１次元のベクトルである。従って、固有ベクトル更新部４１ｆは、数８の式に基づいて（ｉ＝１，２，・・・，Ｍ）、これらのＭ＋１次元の固有ベクトルｖ1（ｋ），ｖ2（ｋ），・・・，ｖM（ｋ）を、Ｐ次元の固有ベクトルｕ1（ｋ），ｕ2（ｋ），・・・，ｕM（ｋ）に変換する。
【数８】
2015179413.tif 000010
ただし、ｖij（ｋ）は、列ベクトルであるベクトルｖi（ｋ）のｊ番目の要素である。すなわち、ベクトルｖi（ｋ）は、ｖij（ｋ）を用いて、数９の式のように与えられる（ｉ＝１，２，・・・，Ｍ）。
【数９】
2015179413.tif 000011
【００４２】
固有ベクトル更新部４１ｆは、Ｍ個のＰ次元の固有ベクトルｕ1（ｋ），ｕ2（ｋ），・・・，ｕM（ｋ）及びＭ個の固有値λ1（ｋ），λ2（ｋ），・・・，λM（ｋ）を、固有ベクトル格納部３３内に格納する。
【００４３】
そして、最後のベクトルＶNに対するステップＳ６〜Ｓ８が終了すると、学習処理が終了する。学習処理が終了すると、固有ベクトル格納部３３内には、Ｎ個のベクトルＶ1，Ｖ2，・・・，ＶNの最終的な主成分分析の結果として、Ｍ個のＰ次元の固有ベクトルｕ1（Ｎ），ｕ2（Ｎ），・・・，ｕM（Ｎ）が保持されている。以下では、簡単のため、固有ベクトルｕ1（Ｎ），ｕ2（Ｎ），・・・，ｕM（Ｎ）を、それぞれ固有ベクトルＵ1，Ｕ2，・・・，ＵNと表す。
【００４４】
なお、固有ベクトルＵ1，Ｕ2，・・・，ＵNとは、既に述べたとおり、テスト動画像から導出される多数のオプティカルフローＤkから抽出される主成分である。また、テスト動画像とは、カメラ３の視点を様々な方向に移動させながらテスト空間を撮影したものである。従って、以上のような固有ベクトルＵ1，Ｕ2，・・・，ＵNを線型結合すれば、カメラ３のあらゆる視点の動き、すなわち、背景オプティカルフローを作成することが可能になる。
【００４５】
以上のとおり、ステップＳ４〜Ｓ８における主成分分析では、Ｎ個のベクトルＶ1，Ｖ2，・・・，ＶNの主成分分析を行うに当たり、まずはＮ個よりも少ないＬ個のベクトルＶ1，Ｖ2，・・・，ＶLに対して、低負荷で固有ベクトル及び固有値の初期値が算出される。そして、以後、残りのベクトルＶL+1，ＶL+2，・・・，ＶNを順次用いて、固有ベクトル及び固有値が順次更新されてゆく。また、更新時のステップＳ７，Ｓ８は、初期値計算時のステップＳ４，Ｓ５と比べると、扱われる共分散行列の次元数がＰからＭ＋１まで低下している。従って、Ｎ個のベクトルＶ1，Ｖ2，・・・，ＶNからＰ次元の共分散行列ＣNを算出し、これを固有値分解する従来の処理に比べて、本実施形態に係る処理は短時間で終了する。特に、本実施形態では、Ｎは、１０００程度、Ｐは、１００００程度、Ｍは、５〜１０程度であるため、計算負荷は大幅に減少する。
【００４６】
また、以上の学習処理では、Ｌ個のオプティカルフローＤ1，Ｄ2，・・・，ＤLが準備された後は、ステップＳ４〜Ｓ８における主成分分析の処理が、テスト動画像の撮影及び送信、オプティカルフローＤkの導出の処理と並行してリアルタイムに実行される。従って、計算時間がさらに短縮されるようになっている。
【００４７】
以下、ステップＳ６〜Ｓ８における固有ベクトルの更新時のアルゴリズムについて説明する。すなわち、固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM（ｋ−１）及び固有値λ1（ｋ−１），λ2（ｋ−１），・・・，λM（ｋ−１）が与えられている場合に、固有ベクトルｕ1（ｋ），ｕ2（ｋ），・・・，ｕM（ｋ）及び固有値λ1（ｋ），λ2（ｋ），・・・，λM（ｋ）を算出する方法について、説明する。
【００４８】
まず、Ｖ1，Ｖ2，・・・，Ｖkの共分散行列Ｃkは、数１０のとおり表される。ただし、簡単のため、平均はゼロとする。
【数１０】
2015179413.tif 000012
数１０の式を変形すると、共分散行列Ｃkは、共分散行列Ｃk-1を用いて数１１のとおり表される。
【数１１】
2015179413.tif 000013
δは、０＜δ＜１の範囲内で適宜設定可能な定数である。δが大きい程、直近のベクトルＶkの影響が大きく、δが小さい程、過去の記憶が残っていることになる。
【００４９】
ところで、ベクトルＶkは、固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM（ｋ−１）を用いて、数１２の式のＶk’に近似することができる。ただし、ｃiは、数１３（数６に同じ）の式で表されるものとする。
【数１２】
2015179413.tif 000014
【数１３】
2015179413.tif 000015
【００５０】
このとき、ベクトルＶkとベクトルＶk’との差分ベクトルＶkΔは、以下の数１４のように表される。
【数１４】
2015179413.tif 000016
ここで、差分ベクトルＶkΔと任意の固有ベクトルｕj（ｋ−１）（ｊ＝１，２，・・・，Ｍ）との内積を数１４に基づいて計算すると、数１５のように変形され、値が０となる。
【数１５】
2015179413.tif 000017
【００５１】
すなわち、ベクトルＶkΔは、固有ベクトルｕ1（ｋ−１），ｕ2（ｋ−１），・・・，ｕM（ｋ−１）に直交している。従って、共分散行列Ｃk-1のもう１つの固有ベクトルｕM+1（ｋ−１）を、ベクトルＶkΔをベクトルＶkΔの大きさで除した単位ベクトルとして、数１６（数３と同じ）のように表すことができる。
【数１６】
2015179413.tif 000018
【００５２】
ところで、共分散行列Ｃkは、Ｍ個の固有ベクトルｕ1（ｋ），ｕ2（ｋ），・・・，ｕM（ｋ）を用いて、数１７の式のとおり近似することができる。
【数１７】
2015179413.tif 000019
数１１の式に数１７の式を代入すると、数１８の式となる。
【数１８】
2015179413.tif 000020
【００５３】
ここで、共分散行列Ｃkのｌ行ｍ列の要素は、数１９の式により定義されるｇlm（ｋ）表すことができる（ｌ，ｍは、自然数）。
【数１９】
2015179413.tif 000021
数１９の式に数１８の式を代入して変形すると、数２０（数５と同じ）の式が得られる。
【数２０】
2015179413.tif 000022
【００５４】
ここで、ｌ行ｍ列（ｌ＝１，２，・・・，Ｍ＋１，ｍ＝１，２，・・・，Ｍ＋１）の要素をｇlm（ｋ）とするＭ＋１次元の行列Ｃk’を定義したとき、この行列Ｃk’の固有値方程式は、数２１のようになる（ｉは、自然数）。
【数２１】
2015179413.tif 000023
数２１の式は、数２２の式（ｉは、自然数）で表されるＰ次元の共分散行列Ｃkの固有値方程式の別表現である。
【数２２】
2015179413.tif 000024
このとき、以上の２つの固有値方程式中のｕi（ｋ）とｖi（ｋ）との間には、数２３（数８と同じ）の関係がある。ただし、ｖij（ｋ）は、数２４（数９と同じ）で表される。
【数２３】
2015179413.tif 000025
【数２４】
2015179413.tif 000026
【００５５】
以上より、固有ベクトルの更新時において、Ｐ次元の共分散行列Ｃkの固有値問題を、より低次元のＭ＋１次元の固有値問題へと変換し、計算負荷を低減することができる。
【００５６】
＜２−２．認識処理＞
続いて、図４を参照しつつ、学習処理後の認識処理について説明する。まず、認識処理と並行して、カメラ３により、時々刻々、認識処理の対象となる対象動画像が撮影される。対象動画像に含まれるフレームは、時々刻々、カメラ３から監視コンピュータ１へネットワーク６を介して送信され、記憶部３０内に順次格納されてゆく。そして、記憶部３０内に一定量のフレームが蓄積されると、図４に示す認識処理が開始される。
【００５７】
認識処理では、図４に示すとおり、記憶部３０内に格納されている対象動画像の各フレームに対し、ステップＳ１１〜Ｓ１４が繰り返し実行される。まず、ステップＳ１１では、その後のステップＳ１２〜Ｓ１４の処理の対象として、記憶部３０内に格納されている未処理のフレームのうち、最も過去の時刻ｋに撮影されたフレーム（以下、対象フレーム）が選択される。
【００５８】
続いて、ステップＳ１２では、動き導出部４２が、時刻ｋでの対象フレームに対応するオプティカルフローＥkを導出する。オプティカルフローＥkは、テスト動画像の代わりに対象動画像を対象として、オプティカルフローＤkと同様の方法で導出される。
【００５９】
すなわち、オプティカルフローＥkとは、対象フレーム内の様々な局所領域の動きを表すベクトル場である。また、オプティカルフローＥkとは、時刻ｋから時刻ｋ＋１の間の移動体の動きと、カメラ３の視点の動き、すなわち、移動体の背景の動きとを表すベクトル場である。以下では、オプティカルフローＤkと同様、オプティカルフローＥkを列ベクトルとして捉え直し、ベクトルＷkと表す。
【００６０】
次に、ステップＳ１３では、近似部４３が、最小二乗法等の方法により、ステップＳ１２で導出されたベクトルＷkを、記憶部３０内に格納されている固有ベクトルＵ1，Ｕ2，・・・，ＵNの線型結合として近似する。以下、この線型結合を表すベクトルをＷk’と表す。このとき、ベクトルＷk’は、Ｍ個の係数ａ1（ｋ），ａ2（ｋ），・・・，ａM（ｋ）を用いて、数２５のように表される。従って、ステップＳ１３は、Ｎ個の係数ａ1（ｋ），ａ2（ｋ），・・・，ａM（ｋ）を算出するステップである。
【数２５】
2015179413.tif 000027
【００６１】
ここで、既に述べたとおり、カメラ３の視点の動きは、固有ベクトルＵ1，Ｕ2，・・・，ＵNの線型結合として表すことが可能である。従って、ベクトルＷkを固有ベクトルＵ1，Ｕ2，・・・，ＵNの線型結合として近似したベクトルＷk’は、時刻ｋから時刻ｋ＋１の間のカメラ３の視点の動きを表していることになる。
【００６２】
次に、ステップＳ１４では、領域検出部４４が、ベクトルＷkとベクトルＷk’との差分である差分ベクトルＦk＝Ｗk−Ｗk’を導出する。なお、ここでは、ベクトルＷkからカメラ３の視点の動きを表すベクトルＷk’を引くことで、ベクトルＷkからカメラ３の視点の動きをキャンセルしている。すなわち、差分ベクトルＦkは、時刻ｋから時刻ｋ＋１の間の移動体の動きを表すものとなる。
【００６３】
続けて、領域検出部４４は、差分ベクトルＦkの各成分となるベクトルｆij（ｋ）の大きさを判断する（ｉ＝１，２，・・・，Ｉ、かつ、ｊ＝１，２，・・・，Ｊ）。そして、領域検出部４４は、所定値よりも大きさの大きいベクトルｆij（ｋ）に対応する点ｐijを検出し、このような点ｐijを、時刻ｋの対象フレーム内で移動体の存在する領域として認識する。また、領域検出部４４は、対象フレーム内で移動体の存在する領域を示す情報を記憶部３０内に格納する。
【００６４】
以上のステップＳ１１〜Ｓ１４が繰り返されることにより、時々刻々のフレーム内での移動体の位置が検出される。図４に示すとおり、解釈部４５は、適当な枚数のフレーム分の、移動体の存在する領域を示す情報が記憶部３０内に蓄積される度に、対象動画像に捉えられた移動体の動きを解釈する（ステップＳ１５）。また、解釈部４５は、必要に応じて、その解釈の結果を表示部１０及び通信部５０を介して出力する。なお、移動体の動きを解釈するためのアルゴリズムとしては、様々なものが考えられるが、例えば、対象動画像から移動体として検出される見守りの対象となる高齢者等に何らかの異常が起こっていないか（適切な時間に起きて、活動しているか等）を判断することが考えられる。
【００６５】
図４に示す認識処理は、以上のステップを記憶部３０内から未処理のフレームがなくなるまで繰り返した後、終了する。
【００６６】
＜３．変形例＞
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。例えば、以下の変更が可能である。また、以下の変形例の要旨は、適宜組み合わせることができる。
【００６７】
＜３−１＞
上記実施形態に係る主成分分析の方法は、画像の背景の抽出以外の任意の用途で利用可能である。ただし、画像の背景の抽出を行う場合等、必要とされる固有ベクトルの個数が少ない場合には、主成分分析に要する計算負荷を低減することができるため、特に有用である。
【００６８】
＜３−２＞
上記実施形態に係る画像の背景の抽出の機能は、画像のオプティカルフローではなく、画像の画素値そのものを表すベクトルを対象とする場合にも使用することができる。この場合、ベクトルＶkやＷkを、画素値を表すベクトルとすればよい。なお、画像の背景を、オプティカルフローではなく画像の画素値そのもので表現する場合、画像の背景は、照明の変化や長時間放置される物体がある等、時間的に少しずつ変化する。このような場合には、学習処理を定期的に実行し、背景画像を表すための固有ベクトルのセットを定期的に更新することが好ましい。例えば、認識処理のステップＳ１１において対象フレームを選択する度に、学習処理のステップＳ６〜Ｓ８と同様の固有ベクトルの更新処理を実行し、その後、ステップＳ１３において、当該最新の固有ベクトルのセットを用いて背景画像を表す線形結合を算出してもよい。
【００６９】
＜３−３＞
上記実施形態では、ＬとＭの大きさに関して特に制約は設けられなかったが、Ｌ≧Ｍとすることが好ましい。Ｌ＜Ｍの場合、ステップＳ５で算出されるλ1（Ｌ），λ2（Ｌ），・・・，λM（Ｌ）の中にゼロとなるものが２つ以上出現することがあり、その場合、Ｍ個の固有値及び固有ベクトルの選択に任意性が生じてしまうからである。Ｍ個の固有ベクトルを用いて背景画像又は背景オプティカルフローを近似するに当たっては、固有値の大きい固有ベクトルＵ1，Ｕ2，・・・，ＵMを用意することが重要となるため、精度の観点からは、Ｌ≧Ｍが好ましい。
【符号の説明】
【００７０】
１  監視コンピュータ（背景抽出装置、主成分分析装置）
２  画像処理プログラム
２ａ  プログラムモジュール（主成分分析プログラム）
３０  記憶部
３１  ベクトル格納部
３２  初期共分散行列格納部
３３  固有ベクトル格納部
３４  低次元共分散行列格納部
４１  学習部（主成分分析部）
４１ａ  オプティカルフロー導出部
４１ｂ  初期共分散行列導出部
４１ｃ  初期固有ベクトル算出部
４１ｄ  固有ベクトル追加部
４１ｆ  固有ベクトル更新部
４３  近似部
【図１】
2015179413.tif 000028
【図２】
2015179413.tif 000029
【図３】
2015179413.tif 000030
【図４】
2015179413.tif 000031