(57)【要約】【課題】任意の方向に移動する人や車などの対象物の個数を種類別に高精度で検出することができる対象個数検出装置を提供すること。【解決手段】対象個数検出装置は、検出対象を撮影した動画像データからフレーム間差分データを生成し、２値化する手段、画素毎に直近の複数のフレーム間差分２値化データから立体高次局所自己相関によって特徴データを抽出する手段、対象の移動方向が異なる複数の学習データから得られた特徴データに基づいて重回帰分析によって検出対象の個数を算出するための係数行列を生成するものであって、学習データの教師信号として、対象の移動方向の違いを無視し、対象の個数を足し合わせた数値を用いる学習手段、係数行列を使用して特徴データから個数を求める手段、小数点未満を四捨五入して整数化する手段を備える。対象の移動方向の違いやこれらの動的変化にロバストな認識が可能となる。【選択図】図２
2011090708.tif 000002
【特許請求の範囲】
【請求項１】
検出対象を撮影した複数の画像フレームデータからなる動画像データからフレーム間差分データを生成し、２値化する差分２値化データ生成手段と、
直近の複数の前記フレーム間差分２値化データからなる３次元データから立体高次局所自己相関によって特徴データを抽出する特徴データ抽出手段と、
画面上の対象の移動方向が異なる複数の学習データから得られた前記特徴データに基づいて重回帰分析によって検出対象の個数を算出するための係数行列を生成するものであって、前記重回帰分析においては、前記対象の移動方向が異なる複数の学習データの教師信号として、前記対象の移動方向の違いを無視し、対象の個数を足し合わせた数値を用いる学習手段と、
予め得られた前記係数行列を使用して、認識すべきデータから得られた特徴データから個数を求める個数生成手段と、
前記個数生成手段の出力値の小数点未満を四捨五入して整数化する整数化手段と
を備えたことを特徴とする対象個数検出装置。
【請求項２】
コンピュータが、検出対象を撮影した複数の画像フレームデータからなる動画像データからフレーム間差分データを生成し、２値化するステップ、
コンピュータが、直近の複数の前記２値化されたフレーム間差分データからなる３次元データから立体高次局所自己相関によって特徴データを抽出するステップ、
コンピュータが、画面上の対象の移動方向が異なる複数の学習データから得られた前記特徴データに基づいて重回帰分析によって検出対象の個数を算出するための係数行列を生成するものであって、前記重回帰分析においては、前記対象の移動方向が異なる複数の学習データの教師信号として、前記対象の移動方向の違いを無視し、対象の個数を足し合わせた数値を用いるステップ、
コンピュータが、前記係数行列を使用して、認識すべきデータから得られた特徴データから個数値を求めるステップ、
コンピュータが、前記個数値の小数点未満を四捨五入して整数化するステップ
を含むことを特徴とする対象個数検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を取り込んで任意の方向に移動する人や車などの複数種の対象物の個数を種類別に検出することができる対象個数検出装置および対象個数検出方法に関するものである。
【背景技術】
【０００２】
現在、監視カメラシステム、高度道路交通システム、ロボットの視覚などにおいて、移動物体の認識は重要な課題である。また、人の流れや混雑具合を時々刻々と監視し記録することで、人が一ヶ所に集中するために生じる事故を未然に防いだり、空き／混雑情報の提供、店舗内での人員配置プラン等の戦略などに利用するため、人の流れや混雑具合などをモニタリングするニーズもある。
【０００３】
人の流れや混雑具合といったものを自動的にモニタリングするようなシステムの場合、移動物体の流れや数といった全体の状況を高速かつロバストに認識を行うことができる必要がある。しかし、コンピュータによって自動的に移動物体を認識することは非常に難しい課題である。認識を難しくしている要因としては、たとえば以下のものが挙げられる。
（１）カメラの画像内には複数の人が存在したり、自転車などといったさまざまな種類の移動物体が存在する。
（２）同じ移動物体でもさまざまな方向や速度の動きが存在する。
（３）カメラと対象の距離や大人と子供、身長差などのため画面内での対象のスケール（大きさ）がさまざまである。
【０００４】
移動物体の検出や認識を行う研究は数多く存在するが、それらのほとんどは、移動物体の切り出しとトラッキングを行うため、対象の数や種類に比例した計算コストがかかってしまい、多数の対象を高速かつ高精度で認識することは困難であった。また、スケールの違い等によって検出精度も低かった。
【０００５】
一方、本発明者らが出願した下記の特許文献１には、静止画像に対して高次局所自己相関特徴を抽出し、多変量解析手法を使用して対象の個数の推定を行う技術が開示されている。
また、本発明者らは、画像全体から対象物の動きの違いを認識する異常動作認識の研究を行い、本発明者らが出願した下記の特許文献２には、立体高次局所自己相関特徴（以下、CHLACデータとも記す）を用いて異常動作認識を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第２８３４１５３号公報
【特許文献２】特開２００６−０７９２７２号公報
【０００７】
移動物体の数やその流れといった全体の状況を知りたい場合、個々の物体の位置情報は不要である。右に歩く人が１人、左に歩く人が２人、左に走る自転車が１台という全体の状況が分かることが大切であり、登場するすべての移動物体をトラッキングしなくても、このような状況についての情報とその変化のみで人の流れや混雑具合を把握することは十分可能である。
【０００８】
上記した異常動作認識技術においては、動作特徴として動画面全体から抽出したCHLACデータを用いており、このCHLACデータは対象の場所や時間に依らない位置不変な値である。また、画面内に複数個の対象がある場合、全体の特徴値はそれぞれの個別の特徴値の和になるという加法性がある。即ち、例えば「右に歩く人」が２人いる場合には、特徴値は「右に歩く人」１人の特徴値の２倍になる。そこで、CHLACデータを移動物体の数やその移動方向の検出に適用することが考えられる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記したCHLACデータを移動物体の数やその流れの検出に適用しようとした場合には、動画面上の対象のスケール（大きさ）や動き方の種別（速度や方向）によって特徴値が変化するので個数の検出精度が低下してしまうという問題点があった。
本発明の目的は、上記したような従来例の問題点を解決し、動画像を取り込んで立体高次局所自己相関特徴を用いて所定の方向に移動する人や車などの複数種の対象物の個数を種類別に高精度で検出することができる対象個数検出装置および対象個数検出方法を提供する点にある。
【課題を解決するための手段】
【００１０】
本発明の対象個数検出装置は、検出対象を撮影した複数の画像フレームデータからなる動画像データからフレーム間差分データを生成し、２値化する差分２値化データ生成手段と、直近の複数の前記フレーム間差分２値化データからなる３次元データから立体高次局所自己相関によって特徴データを抽出する特徴データ抽出手段と、予め学習により生成された、１つの検出対象について複数の因子ベクトルを並べた因子行列と前記特徴データから各因子ベクトルの係数を求める係数取得手段と、１つの検出対象についての複数の前記係数を加算する加算手段と、前記加算手段の出力値の小数点未満を四捨五入して整数化することにより個数を生成する整数化手段とを備えたことを主要な特徴とする。
【００１１】
また、前記した対象個数検出装置において、更に、学習データから得られた特徴データに基づいて因子行列を生成する学習手段を備えた点にも特徴がある。また、前記した対象個数検出装置において、前記学習手段は、学習データである検出対象を撮影した複数の画像フレームデータからなる動画像データからフレーム間差分データを生成し、２値化する差分２値化データ生成手段と、複数の前記フレーム間差分２値化データからなる３次元データから立体高次局所自己相関によって特徴データを抽出する特徴データ抽出手段と、学習データにおける対象の既知の個数を使用し、複数の学習データと対応する前記特徴データから因子分析によって因子行列を求める因子行列生成手段とを備えている点にも特徴がある。
【００１２】
また、前記した対象個数検出装置において、前記因子行列に含まれる、１つの検出対象と対応する複数の因子ベクトルは画面上の対象のスケール、移動速度、移動方向の内の少なくとも１つが異なる複数の学習データからそれぞれ生成されたものである点にも特徴がある。
【００１３】
本発明の他の対象個数検出装置は、検出対象を撮影した複数の画像フレームデータからなる動画像データからフレーム間差分データを生成し、２値化する差分２値化データ生成手段と、直近の複数の前記フレーム間差分２値化データからなる３次元データから立体高次局所自己相関によって特徴データを抽出する特徴データ抽出手段と、画面上の対象のスケール、移動速度、移動方向の内の少なくとも１つが異なる複数の学習データから得られた特徴データに基づいて検出対象の個数を算出するための係数行列を生成する学習手段と、予め前記学習手段により生成された係数行列と、認識データから得られた特徴データから個数を求める個数生成手段と、前記個数生成手段の出力値の小数点未満を四捨五入して整数化する整数化手段とを備えたことを主要な特徴とする。
【００１４】
本発明の対象個数検出方法は、学習データに基づき、立体高次局所自己相関に基づく因子行列を生成するステップ、検出対象を撮影した複数の画像フレームデータからなる動画像データからフレーム間差分データを生成し、２値化するステップ、直近の複数の前記フレーム間差分２値化データからなる３次元データから立体高次局所自己相関によって特徴データを抽出するステップ、予め学習により生成された、１つの検出対象について複数の因子ベクトルを並べた因子行列および前記特徴データから各因子ベクトルの係数を求めるステップ、１つの検出対象についての複数の前記係数を加算するステップ、前記加算手段の出力値の小数点未満を四捨五入して整数化することにより個数を生成するステップを含むことを主要な特徴とする。
【発明の効果】
【００１５】
本発明によれば、以下のような効果がある。
（１）１つの検出対象について、予め因子分析を使用した学習によってスケールや移動速度の異なる対象と対応する複数の因子ベクトルを並べた因子行列を用意し、認識時において各因子ベクトルの係数を加算してから四捨五入して整数化することにより個数を生成するようにしたので、係数の和の変動が小さく、かつ認識したい対象の個数と高精度で一致する。従って対象のスケール、速度、方向の違いやこれらの動的変化にロバストな認識が可能となり、個数の検出精度が向上する。
（２）対象物の切り出しを行わずに複数の対象物を同時に認識するので、特徴抽出や個数識別判定のための計算量が少ない。また、計算量は対象物の個数に依らず一定である。従って実時間処理が可能である。
（３）予めスケール、移動速度、方向の異なる対象の画像を用いた重回帰分析に基づく学習によって係数行列を生成し、直接的かつ高速に個数を算出することができる。速度や方向、スケールにロバストな個数の検出が可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明による対象個数検出装置の構成を示すブロック図である。
【図２】本発明による対象個数検出処理の概要を示す説明図である。
【図３】３次元画素空間における自己相関処理座標を示す説明図である。
【図４】自己相関マスクパターンの例を示す説明図である。
【図５】本発明による動画像の実時間処理の内容を示す説明図である。
【図６】学習モードで生成された因子行列の例を示す説明図である。
【図７】本発明による対象個数検出処理（学習モード）の内容を示すフローチャートである。
【図８】本発明による対象個数検出処理（認識モード）の内容を示すフローチャートである。
【図９】Ｓ１３の画素CHLACデータ抽出処理の内容を示すフローチャートである。
【発明を実施するための最良の形態】
【００１７】
以下の実施例においては、対象物が左または右に歩行する人である例について説明するが、対象物については動画として撮影可能な任意の移動体あるいは運動体、形状や大きさ、色、明るさのいずれかが変化する対象物に適用可能である。
【実施例１】
【００１８】
図１は、本発明による対象個数検出装置の構成を示すブロック図である。ビデオカメラ１０は対象となる人や車等の動画像フレームデータをリアルタイムで出力する。ビデオカメラ１０はモノクロでもよいしカラーカメラであってもよい。コンピュータ１１は例えば動画像を取り込むためのビデオキャプチャー回路を備えた周知のパソコン（ＰＣ）であってもよい。本発明は、パソコンなどの周知の任意のコンピュータ１１に後述する処理のプログラムを作成してインストールして起動することにより実現される。
モニタ装置１２はコンピュータ１１の周知の出力装置であり、例えば対象の検出個数をオペレータに表示するために使用される。キーボード１３およびマウス１４は、オペレータが入力に使用する周知の入力装置である。なお、実施例においては、例えばビデオカメラ１０から入力された動画像データを実時間で処理してもよいし、一旦動画像ファイルに保存してから順次読み出して処理してもよい。また、ビデオカメラ１０は任意の通信網を介してコンピュータ１１と接続されていてもよい。
【００１９】
図２は、本発明による対象個数検出処理の概要を示す説明図である。例えばビデオカメラ１０によって、３６０画素×２４０画素のグレースケール（モノクロ多値）動画像が撮影され、順次コンピュータ１１に取り込まれる。
取り込まれたフレームデータ（ａ）から直前のフレームの同じ画素の輝度値との差分の絶対値を求め、この値が例えば所定の閾値以上である場合に１、そうでない場合に０とする差分２値化フレームデータ（ｃ）を得る。次に、直近の３枚の差分２値化フレームデータ（ｄ）から後述する方法で、画素毎にCHLACデータを計算し、この画素対応CHLACデータを１フレーム分加算してフレーム対応CHLACデータ（ｆ）を得る。以上の処理は学習モードと認識モード共通の処理である。
【００２０】
学習モードにおいては、所定領域（例えば時間幅３０フレーム分）のフレーム対応CHLACデータ（ｇ）を加算する処理（ｈ）を実行することにより、複数の学習データと対応する複数の学習データ対応CHLAC特徴データを求める。そして、学習データにおける既知の対象物の各因子の個数情報を使用して因子分析（ｉ）によって因子行列を求める。因子行列（ｊ）は、１つの対象、例えば「右に歩く人」に対して、「右に早足で歩くスケールの大きい人」、「右に普通に歩くスケールの小さい人」などと対応する複数の因子ベクトルデータを並べたものである。
【００２１】
一方、認識モードにおいては、直近の所定領域（例えば時間幅３０フレーム分）のフレーム対応CHLACデータ（ｋ）を加算する処理（ｌ）を実行することにより、（Ｍ）CHLAC特徴データを得る。そして、学習モードにて予め求めた因子行列（ｊ）を使用して（Ｎ）後述する方法により対象物の個数を推定する。
個数推定処理（Ｎ）においては、個々の因子ベクトルの係数を求め、１つの対象と対応する複数の係数を加算してから小数点未満を四捨五入して個数を算出する。この処理によって、対象のスケールや速度の違いやこれらの動的変化にロバストな認識が可能となる。
【００２２】
以下に、処理の詳細について説明する。図７は、本発明による対象個数検出処理（学習モード）の内容を示すフローチャートである。Ｓ１０においては、未処理の学習データを選択する。学習データは、例えば２種類の対象である「右に歩く人」および「左に歩く人」について、それぞれ任意の人数を異なる移動速度（普通、早足、駆け足）やスケール（大（近）、中、小（遠））で撮影した動画像データである。２種類の対象が任意の個数混在していてもよい。なお、学習データにおける各対象の個数、移動速度、スケールは既知である。なお、この時点において学習データ対応CHLACデータをクリアしておく。
【００２３】
Ｓ１１においては、フレームデータを入力（メモリに読み込む）する。このときの画像データは例えば２５６階調のグレイスケールデータである。Ｓ１２においては、動画像データに対して「動き」の情報を検出し、背景など静止しているものを除去する目的で差分データを生成する。
【００２４】
差分の取り方としては、隣接するフレーム間の同じ位置の画素の輝度の変化を抽出するフレーム間差分方式を採用するが、フレーム内における輝度の変化部分を抽出するエッジ差分、あるいは両方を採用してもよい。なお、画素毎にＲＧＢのカラーデータを持っている場合には、２つの画素の差分データとして、２つのＲＧＢカラーベクトル間の距離を算出してもよい。
【００２５】
更に、「動き」に無関係な色情報やノイズを除去するために自動閾値選定による２値化を行う。なお、２値化の方法としては、例えば一定閾値、下記非特許文献１に開示されている判別最小二乗自動閾値法、閾値０及びノイズ処理方式（濃淡画像において差が０以外を全て動き有り＝１とし、公知のノイズ除去法によってノイズを除去する方法）等を採用可能である。
【００２６】
判別最小二乗自動閾値法では対象が全く存在しないシーンではノイズを検出してしまうので、二値化を行う輝度差分値の閾値が所定の下限値より小さい場合には、下限値を閾値とする。以上の前処理により入力動画データは画素値に「動いた（１）」「動かない（０）」の論理値をもつフレームデータ（ｃ）の列となる。
【非特許文献１】大津展之、“判別および最小２乗規準に基づく自動しきい値選定法”電子通信学会論文誌Ｄ、J63-D-4、P349-356、1980年。
【００２７】
Ｓ１３においては、１フレームの画素それぞれについて２５１次元特徴データである画素CHLACデータを抽出し、１フレーム分加算してフレーム対応CHLACデータを得る。
ここで、立体高次局所自己相関(CHLAC)特徴について説明する。Ｎ次自己相関関数は次の数式１のように表せる。
【００２８】
【数１】
2011090708.tif 000003
【００２９】
ここで、ｆは画素値（差分値）であり、参照点（注目画素）ｒおよび参照点からみたＮ個の変位ａi（ｉ＝１，…，Ｎ）は差分２値化フレーム内の二次元座標および時間も成分として持つ三次元のベクトルである。
【００３０】
高次自己相関関数は変位方向、次数のとり方により無数に考えられるが、これを局所領域に限定したものが高次局所自己相関関数である。立体高次局所自己相関特徴では変位方向を参照点ｒを中心とする３×３×３画素の局所領域内、即ち参照点ｒの２６近傍に限定している。１組の変位方向に対応する数式１の積分値が特徴量の１つの要素になる。従って変位方向の組み合わせ（＝マスクパターン）の数だけ特徴量の要素が生成される。
【００３１】
特徴量の要素数、つまり特徴ベクトルの次元はマスクパターンの種類に相当する。２値画像の場合、画素値１を何回乗算しても１であるので、二乗以上の項は乗数のみが異なる１乗の項と重複するものとして削除する。また数式１の積分操作（平行移動：スキャン）で重複するパターンは１つの代表パターンを残して他を削除する。数式１右辺の式は参照点（ｆ(r)：局所領域の中心）を必ず含むので、代表パターンとしては中心点を含み、パターン全体が３×３×３画素の局所領域内に収まるものを選択する。
【００３２】
この結果、中心点を含むマスクパターンの種類は、選択画素数が１個のもの：１個、２個のもの：２６個、３個のもの：２６×２５／２＝３２５個の計３５２個あるが、数式１の積分操作（平行移動：スキャン）で重複するパターンを除くと、マスクパターンの種類は２５１種類となる。即ち、１つの３次元データに対する立体高次局所自己相関特徴ベクトルは２５１次元となる。
【００３３】
なお、画素の値が多値の濃淡画像の場合には、例えば画素値をａとすると、相関値はａ（０次）≠ａ×ａ（１次）≠ａ×ａ×ａ（２次）となり、選択画素が同じでも乗数の異なるものを重複削除できない。従って、多値の場合には、２値の場合より選択画素数が１の場合に２個、選択画素数が２の場合に２６個増加し、マスクパターンの種類は計２７９種類となる。
【００３４】
図３は、３次元画素空間における自己相関処理座標を示す説明図である。図３においては、ｔ−１フレーム、ｔフレーム、ｔ＋１フレームの３つの差分フレームのｘｙ平面を並べて図示してある。本発明においては、注目する参照画素を中心とする３×３×３（＝２７）画素の立方体の内部の画素について相関を取る。マスクパターンは、相関を取る画素の組合せを示す情報であり、マスクパターンによって選択された画素のデータは相関値の計算に使用されるが、マスクパターンによって選択されなかった画素は無視される。マスクパターンでは注目画素（中心の画素：参照点）は必ず選択される。
【００３５】
図４は、自己相関マスクパターンの例を示す説明図である。図４（１）は注目画素のみの最も簡単な０次のマスクパターンである。（２）はハッチングを施した２つの画素が選択されている１次マスクパターン例、（３）、（４）はハッチングを施した３つの画素が選択されている３次マスクパターン例であり、この他に多数のパターンがある。そして、前記したように、重複するパターンを除くと、マスクパターンの種類は２５１種類となる。即ち、３×３×３画素の３次元データに対する立体高次局所自己相関特徴ベクトルは２５１次元となり、要素の値は０か１である。
【００３６】
図７に戻って、Ｓ１４においては、フレーム対応CHLACデータを学習データ対応CHLACデータに要素毎に加算する。Ｓ１５においては、学習データの全フレームの処理が完了したか否かが判定され、判定結果が否定の場合にはＳ１３に移行するが、肯定の場合にはＳ１６に移行する。Ｓ１６においては、学習データ対応CHLACデータを保存する。Ｓ１７においては、学習データ全て処理完了か否かが判定され、判定結果が否定の場合にはＳ１０に移行するが、肯定の場合にはＳ１８に移行する。
【００３７】
Ｓ１８においては、既知の因子の個数データに基づいて、因子分析を行って因子行列を求める。ここで因子分析について説明する。まず実施例における因子とは形状、スケール、移動速度などによって識別される対象物の種別のことである。実施例においては、例えば「右に歩く人」という１つの対象の中の「右に普通速度で歩くスケール大の人」が１つの因子であり、速度やスケールが違えば同じ対象でも別の因子となる。
【００３８】
そして、例えば画面上に１つの因子のみが存在する学習データより抽出された立体高次局所自己相関特徴ベクトルは因子ベクトルと等価となる。つまり因子ベクトルとは個々の因子に固有な特徴ベクトルである。
ここで立体データとしての動画像がｍ個の因子ベクトルｆj（0≦j≦m-1）の組み合わせから成るとすると、その立体データから得られる立体高次局所自己相関特徴ｚはその加法性および位置不変性により、ｆjの線形結合によって以下のように表現される。
【００３９】
【数２】
2011090708.tif 000004
【００４０】
ここでＦを因子行列、線形結合で表す際の係数ａjを因子付加量、それを並べてベクトル化したａを因子付加量ベクトルと定義する。また、ｅは誤差を表す。因子付加量は因子と対応する対象物の個数を表している。例えばｆ0が人が右に歩く因子だとするとａ0＝２なら動画像中で右に歩いている人が２人いることを示している。従って、因子付加量ベクトルを得ることができれば、どの対象物が画面中にどれだけ存在するかが分かる。そのために、学習によって因子行列を予め獲得し、認識時には因子行列を使用して因子付加量ベクトルを求める。
【００４１】
学習モードでは因子行列Ｆ=[f0;f1;・・;fm-1]Tを求める。教師信号としては各因子に対応する個数である因子付加量ベクトルａを与える。以下に具体的な学習過程について述べる。学習データとして用いる動画像データの数をＮ、ｉ番目（1≦i≦N）の学習データに対応する立体高次局所自己相関特徴をｚi、因子付加量ベクトルをａi=[ai0;ai1;・・・;ai(m-1)]とする。このとき因子行列Ｆは以下の数式３において誤差ｅを最小にすることにより陽に求めることができる。
【００４２】
【数３】
2011090708.tif 000005
【００４３】
数式３の平均２乗誤差は以下のようになる。
【００４４】
【数４】
2011090708.tif 000006
【００４５】
ＲaaおよびＲazはそれぞれａiの自己相関行列、ａiとｚiの相互相関行列である。このとき誤差ｅを最小にするＦは以下の数式５を解いて、解は数式６のように線形代数の範囲で陽に求まる。
【００４６】
【数５】
2011090708.tif 000007
【００４７】
【数６】
2011090708.tif 000008
【００４８】
この学習方法による長所は以下に示す３点である。
（１）個々の対象を切り出して教示する必要がない。
（２）画面内にいる対象の個数を教示するだけで認識に必要な因子をシステムが自動的かつ適応的に獲得する。
（３）解は線形代数の範囲で陽に求まるので、解の収束性や局所解への収束を考える必要がなく、計算量が少ない。
【００４９】
図６は、学習モードで生成された因子行列の例を示す説明図である。この例では、対象として「右に歩く人」と「左に歩く人」の２種類を含む因子行列を示している。「右に歩く人」には、移動速度（駆け足、早歩き、普通歩き）やスケール（大、中、小）の異なる９個の因子ベクトルｆ0〜ｆ16（添え字が偶数）が属し、「左に歩く人」にも９個の因子ベクトルｆ1〜ｆ17（添え字が奇数）が属している。図６に示した画像は個々の因子ベクトルと対応する学習データの差分２値画像例である。
【００５０】
図８は、本発明による対象個数検出処理（認識モード）の内容を示すフローチャートである。Ｓ２０においては、フレーム入力されるまで待ち、Ｓ２１においては、フレームデータを入力する。Ｓ２２においては、前記したように差分データを生成し、２値化する。Ｓ２３においては、１フレームの画素それぞれについて画素CHLACデータを抽出し、１フレーム分を加算してフレーム対応CHLAC特徴データを得る。Ｓ２１〜Ｓ２３の処理は前記した学習モードにおけるＳ１１〜Ｓ１３と同一である。Ｓ２４においては、フレーム対応CHLACデータを保存する。Ｓ２５においては、直近の所定時間幅のフレーム対応CHLACデータを加算してCHLAC特徴データを得る。
【００５１】
図５は、本発明による動画像の実時間処理の内容を示す説明図である。Ｓ２４において得られるCHLAC特徴データはフレームのシーケンスとなっている。そこで時間方向に一定幅の時間窓を設定し、窓内のフレーム集合を１つの３次元データとする。そして、新たなフレームが入力される度に時間窓を移動させ、古いフレームを削除することで有限な３次元データが得られる。この時間窓の長さは、認識しようとする動作の１周期と等しいか、より長く設定することが望ましい。
【００５２】
なお、実際には画像フレームデータは差分を取るために１フレームのみ保存され、フレームと対応するフレーム対応CHLACデータが時間窓分だけ保存される。即ち、時刻ｔに新たなフレームが入力された時点では、直前の時間窓（t-1，t-n-1）に対応するフレーム対応CHLACデータはすでに算出されている。但し、フレームCHLACデータを計算するためには直近の３つの差分フレームが必要であるが、（t-1）フレームは端なのでフレームCHLACデータは（t-2）フレームに対応するものまで算出されている。
【００５３】
そこで、新たに入力されたｔフレームを用いて（t-1）フレームに対応するフレーム対応CHLACデータを生成してCHLAC特徴データに加算する。また、最も古い（t-n-1）フレームと対応するフレーム対応CHLACデータをCHLAC特徴データから減算する。このような処理により、時間窓と対応するCHLAC特徴データが更新される。
【００５４】
図８に戻って、Ｓ２６においては、学習によって得られた既知の因子行列に基づき、各因子ベクトルの因子付加量（係数）ａを求める。認識したい動画像から得られた立体高次局所自己相関特徴ｚがあるとき、数式３のようにｚは学習によって得られた因子ベクトルｆの線形結合として表されるはずである。従って、このとき誤差ｅを最小にするような係数のベクトルである因子付加量ベクトルａを求める。
【００５５】
以下に数式３における誤差ｅを最小とする因子付加量ａを求める具体的な過程について説明する。最小２乗誤差は、以下の数式７のようになる。
【００５６】
【数７】
2011090708.tif 000009
【００５７】
これを最小とする係数ａは、以下の数式８を解いて、数式９のように陽に求まる。
【００５８】
【数８】
2011090708.tif 000010
【００５９】
【数９】
2011090708.tif 000011
【００６０】
このようにして求まる因子付加量ａは整数とはならず、小数点未満を含む実数となる。Ｓ２７においては、同じ対象に属する複数の因子の係数の合計を求める。即ち、例えば図６に示す「右に移動する人」に属する９個の因子（f0,f2,f4…f16）の係数の合計を求める。
Ｓ２８においては、係数の合計の小数点未満を四捨五入して整数化し、各対象毎の個数として出力する。Ｓ２９においては、処理終了か否かが判定され、判定結果が否定の場合にはＳ２０に移行するが、肯定の場合には処理を終了する。
【００６１】
従来のCHLACデータによる個数認識においては、単純に各因子の係数である因子付加量を四捨五入してそれを個数の認識結果としていた。しかし、それではスケールや速度の違う因子が存在するような場合に個数の認識がうまくいかなかった。そこで本発明者が各種の実験を行った結果、１つの対象について、画面内のスケールや歩く速度の違いによって因子を分けて設け、更に、同じ対象に属する因子の因子付加量を足し合わせてから四捨五入するという方式を用いることでスピードや速度の違いに頑健な認識ができることが判明した。
【００６２】
図９は、Ｓ１３の画素CHLACデータ抽出処理の内容を示すフローチャートである。Ｓ３０においては、２５１個の相関パターン対応の相関値群データをクリアする。Ｓ３１においては、未処理の画素（参照点）を１つ選択する（フレーム内で参照点である注目画素を順にスキャンする）。Ｓ３２においては、未処理の相関マスクパターンを１つ選択する。
【００６３】
Ｓ３３においては、前記した数式１を用いてパターンと対応する位置の差分値（０または１）を乗算して相関値を計算する。なお、この処理は前記した数式１におけるf(r)f(r+a1)…f(r+aN)の演算に相当する。
Ｓ３４においては、相関値は１か否かが判定され、判定結果が肯定の場合にはＳ３５に移行するが、否定の場合にはＳ３６に移行する。Ｓ３５においては、マスクパターンと対応する相関値データに１を加算する。Ｓ３６においては、全てのマスクパターンについて処理が完了したか否かが判定され、判定結果が肯定の場合にはＳ３７に移行するが、否定の場合にはＳ３２に移行する。
【００６４】
Ｓ３７においては、全ての画素について処理が完了したか否かが判定され、判定結果が肯定の場合にはＳ３８に移行するが、否定の場合にはＳ３１に移行する。Ｓ３８においては、１フレーム分が加算された相関値群データをフレーム対応CHLACデータとして出力する。
【実施例２】
【００６５】
実施例１の因子分析では、求めたい計測結果を得るため、学習時に個々の移動物体の種類や動き、スケール等に固有の因子ベクトルを求め、認識時に各因子ベクトルの係数の和の形で対象の個数を求めた。この際、スケールやスピードの違いに応じた因子を用意し、それらの係数を加算してから四捨五入することで対象のスケールやスピードの変化に頑健な認識を行うことができた。この手法は、各因子に対応する特徴ベクトルを求めているため、それらを利用した手法、例えば交通量計測や異常検出には有用である。
【００６６】
しかし、実験の結果、単純に個数のみを知りたい場合には、因子分析に比べてより直接的な手法である重回帰分析を用いることにより、高速かつロバストに個数の計測が可能であることが判明した。
重回帰分析を用いて、スケールやスピードに対して頑健な認識を行うためには、因子分析の場合と同様に様々なスケールやスピードの対象を含んだ学習データを用いて学習を行う。ただし、学習データに対する教師信号については因子分析とは異なる与え方をする。
【００６７】
因子分析ではスケールやスピードの違いも含めた教師信号を用い、認識時に検出対象の係数を足し合わせることを行うが、重回帰分析では予め教師信号の段階で足し合わせたものを用いる。すなわちスケールやスピードの違いを無視した教師信号を用いる。
【００６８】
例えば、「右に歩く人」としてスケール大中小が含まれるデータがあった場合、因子分析ではそれらを分けて「右に歩くスケール大の人」が１人というように教師信号を与えるが、重回帰分析ではスケールやスピードの違いを無視して単純に「右に歩く人」の個数を与える。認識時においては加算を行う必要はなく、スケールやスピードの違いに頑健に人数を計測することが可能である。以下、具体的な内容について説明する。
【００６９】
実施例２において用いる重回帰分析とは、ある特徴量ｚiが得られる際の望ましい計測結果をａiとしたとき、出力ｙi=ＢTｚiとａiの最小２乗誤差を最も小さくするような係数行列Ｂを決定する手法である。この場合、最適な係数行列は一意に求まり、得られた最適な係数行列Ｂを用いることにより、システムは新たな入力特徴ベクトルに対する計測値（個数）を高速に算出することができる。以下に詳しい算出方法を説明する。
【００７０】
＜＜学習フェーズ＞＞
学習データとして用いる立体データの数、すなわち学習データ数をＮ、ｉ番目（１≦ｉ≦Ｎ）の立体データに対応する立体高次局所自己相関特徴をｚi、教師信号をａi＝［ａi0,ａi1,・・・,ａi(m-1)］Tとする。教師信号は学習データがスケールやスピードが様々な「右に歩く人」と「左に歩く人」がいるデータであっても、スケールやスピードの違いを無視し、ａ＝(右に歩く人の数、左に歩く人の数)Tとする。教師信号ａiと出力ｙi=ＢTｚiの平均２乗誤差は以下のようになる。
【００７１】
【数１０】
2011090708.tif 000012
【００７２】
ＲzzおよびＲzaはそれぞれ、ｚiの自己相関行列およびｚiとａiの相互相関行列である。このとき、平均２乗誤差を最小にするＢは下記の数式１１を解いて、数式１２に示すように線形代数の範囲で陽に求まる。
【００７３】
【数１１】
2011090708.tif 000013
【００７４】
【数１２】
2011090708.tif 000014
【００７５】
＜＜認識フェーズ＞＞
認識においては、得られた特徴ベクトルに対し学習フェーズで得られた係数行列Ｂを以下のように掛け合わせることで直接的に対象の個数を得ることができる。
【００７６】
【数１３】
2011090708.tif 000015
【００７７】
重回帰分析を用いた場合、各因子ベクトルを直接的に得ていないため、各因子ベクトルのなす部分空間との距離を用いることによる異常検出や、交通量計測の際に必要となる付加的な情報などは得られない。従って、対象や状況により、実施例１と実施例２の手法を使い分ける必要がある。また、２つの手法を組み合わせて使用することにより、処理速度の向上と認識精度の向上の両立を図ることも可能である。
【００７８】
以上、実施例を説明したが、本発明は、例えば画面内を通過した車や人の数を計測する交通量計測システムに適用可能である。実施例のシステムにおいては、画面内の対象の個数がリアルタイムに出力されるが、例えば１時間当たりの通過個数は実施例のシステムから直接得ることはできない。そこで、単位時間当たりの対象の通過個数は、本発明のシステムから出力される個数情報を時間積分し、この積分値を対象の平均移動速度等から求めた画面を通過する平均時間で除算することによって算出できる。対象が画面を通過する平均時間は、本発明のシステムから出力される個数情報の変動からも推定可能である。
【００７９】
また、本発明には以下のような変形例も考えられる。実施例においては、１つの対象についてスケールや移動速度などが異なる複数の因子ベクトルを全て学習データから因子分析によって生成する例を開示したが、例えばスケール大と対応する因子ベクトルとスケール小に対応する因子ベクトルからスケール中と対応する因子ベクトルを計算によって生成するなど、因子ベクトルを他の因子ベクトルから内挿補間演算あるいは外挿補間演算により求めてもよい。
【００８０】
実施例においては、対象画像のスケールや速度について各種の学習用データを用いる例を開示したが、対象の移動方向についても、スケールや速度と同様にロバストな個数計測が可能である。例えば、因子分析を用いたロバストな個数計測の応用例として、様々な方向に歩く人を上方から撮影し、任意の方向に移動する人の合計数を計測することが可能である。
【００８１】
人が歩く方向の因子としては、例えば上下、左右、斜め右上(下)、斜め左上(下) の８方向を採用する。そして８方向の因子を学習する。認識時には、学習した因子行列を用いて各因子付加量を求め、スケールやスピードの場合と同様にそれらの因子付加量を加算し、四捨五入することにより歩行者の数とする。なお、用意する方向としては、用途に応じて増減が可能である。また、重回帰分析を用いる場合には方向性を無視して単に歩行者の数のみを教師信号とすればよい。
【００８２】
以上の方法により、様々な方向に動く対象を扱う場合においてもロバストに個数の計測ができる。実用的なアプリケーションとしては(スクランブル)交差点などを上方から撮影したカメラによる歩行者や車両の個数計測、動いている生物や粒子の個数計測、特に顕微鏡などを用いた微細生物、粒子等の個数計測。静止しているものと動いているものの個数比較、動きの傾向分析などが考えられる。
【符号の説明】
【００８３】
１０…ビデオカメラ
１１…コンピュータ
１２…モニタ装置
１３…キーボード
１４…マウス
【図１】
2011090708.tif 000016
【図２】
2011090708.tif 000017
【図３】
2011090708.tif 000018
【図４】
2011090708.tif 000019
【図５】
2011090708.tif 000020
【図６】
2011090708.tif 000021
【図７】
2011090708.tif 000022
【図８】
2011090708.tif 000023
【図９】
2011090708.tif 000024