(57)【特許請求の範囲】
【請求項１】
ビデオイメージデータを処理する方法であって、
（ａ）一又は複数のプロセッサの動作によって、シーンを取り込むビデオフレームのシーケンスにおいて示される一又は複数のフォアグラウンド物体を識別するステップと、
（ｂ）前記ビデオフレームのシーケンスから、前記識別された一又は複数のフォアグラウンド物体を特徴付ける複数の情報ストリームを生成するステップであって、前記複数の情報ストリームが、ビデオフレームごとに観測される前記識別されたフォアグラウンド物体に関する外観データを格納する、ステップと、
（ｃ）前記複数の情報ストリームから、機械学習エンジンによって、一又は複数の物体分類を生成して、前記ビデオフレームのシーケンスに示されたフォアグラウンド物体に割り当てるステップであって、前記機械学習エンジンが、共通の物体分類を有するフォアグラウンド物体が関与する挙動のパターンを導出し、挙動パターンの以前の観測結果から導出された統計的に重みづけされた一般的パターンを使用して、前記ビデオフレームのシーケンスに示されたフォアグラウンド物体が関与する前記導出された挙動のパターンの場合を正常イベント又は異常イベントと、該場合が発生するときに識別するように構成されている、ステップと、
を含む、方法。
【請求項２】
前記複数の情報ストリームが、前記少なくとも一つのフォアグラウンド物体の運動を前記ビデオフレームのシーケンスに示されるように特徴付けるストリームを有する、請求項１に記載の方法。
【請求項３】
前記複数の情報ストリームが、前記少なくとも一つのフォアグラウンド物体の外観を前記ビデオフレームのシーケンスに示されるように特徴付けるストリームを有する、請求項１に記載の方法。
【請求項４】
前記複数の情報ストリームが、前記ビデオフレームのシーケンスから前記少なくとも一つのフォアグラウンド物体のために導出された運動データ及び外観データに基づいて、前記少なくとも一つのフォアグラウンド物体の分類に基づく特徴を特定するストリームを有する、請求項１に記載の方法。
【請求項５】
前記ステップ（ａ）が、
前記シーンのバックグラウンドモデルを生成するステップと、
前記ビデオフレームのシーケンスの各々に示された一又は複数のフォアグラウンド物体を、前記生成されたバックグラウンドモデルに基づいてセグメント化するステップと、
を有する、請求項１に記載の方法。
【請求項６】
前記ステップ（ｂ）が、前記ビデオフレームの複数のシーケンスにわたって前記セグメント化されたフォアグラウンド物体の一又は複数を追跡するステップを更に有し、前記複数の情報ストリームの一つが、前記セグメント化されたフォアグラウンド物体の一又は複数の追跡された軌跡を有する、請求項５に記載の方法。
【請求項７】
前記ステップ（ｃ）後に、前記識別されたフォアグラウンド物体の一つが関与する挙動の前記特定されたパターンの一つの発生を示す少なくとも一つの警報を発行するステップを更に有する、請求項１に記載の方法。
【請求項８】
前記機械学習エンジンが、さらに、前記複数の情報ストリームから、前記識別された挙動のパターンの一つの発生が、前記ビデオフレームのシーケンスに示された前記識別されたフォアグラウンド物体の以前の分析に対して、前記ビデオフレームのシーケンスから生成された前記複数の情報ストリームによって表示されるように、正常イベント又は異常イベントであるかを判断するように構成されている、請求項１に記載の方法。
【発明の詳細な説明】
【発明の分野】
【０００１】
[0001]本発明は、一般にはビデオ解析に関し、より詳細には、ストリーミングビデオデータに基づいて挙動を解析及び学習することに関する。
【関連技術の説明】
【０００２】
[0002]現在入手可能なビデオ監視システムには、単純な認識機能を有するものがある。しかし、多くのそのような監視システムは、（システムが開発される前に）システムが探し出すことができなければならないアクション及び／又は物体の事前知識を必要とする。こうした監視システムを動作可能にし、十分に機能的にするために、特定の「異常な」挙動を対象とする、基礎となるアプリケーションコードを開発しなければならない。言い換えれば、システム基礎コードが一定の挙動の記述を含むのでなければ、システムは、そのような挙動を認識することができなくなる。さらに、多くの場合、別個の各挙動について、別々のソフトウェア製品を開発する必要がある。これにより、認識機能を備える監視システムが労働集約的なものとなり、法外にコストの高いものとなる。例えば、潜伏中の犯罪者に関して空港入口を監視すること、及びプール内で移動していない泳者を識別することは、２つの別個の状況であり、したがって、それぞれの「異常な」挙動を事前コーディングする２つの別個のソフトウェア製品の開発を必要とする。
【０００３】
[0003]正常なシーンを記憶し、正常であると考えられるものが変化したときにはいつでも警報を生成するように監視システムを設計することもできる。しかし、どれほどの変化が異常であるかを認識するように、こうしたタイプの監視システムを事前プログラムしなければならない。さらに、そのようなシステムは、何が実際に生じたかを正確に特徴付けることができない。むしろ、こうしたシステムは、以前には「正常」であるとみなされた何かが変化したことを判定する。したがって、そのような方式で開発された製品は、限定された範囲の事前定義されたタイプの挙動のみを検出するように構成される。
【発明の概要】
【０００４】
[0004]本発明の実施形態は、ビデオフレームの取得されたストリームに基づいて挙動を解析及び学習する方法及びシステムを提供する。ストリーム中に示される物体が、ビデオフレームの解析に基づいて決定される。各物体は、対応する探索モデルを有することができ、探索モデルは、物体の運動をフレームごとに追跡するのに使用される。物体のクラスが求められ、物体の意味表現が生成される。意味表現は、物体の挙動を求め、取得されたビデオストリームによって示される環境内で生じている挙動について学習するのに使用される。このようにして、このシステムは、環境内のそうした物体の移動又は活動或いは不在を解析することにより、任意の環境についての正常な挙動及び異常な挙動を、迅速に、リアルタイムで学習し、学習したものに基づいて、異常な挙動又は疑わしい挙動を予測する。
【０００５】
[0005]本発明の特定の一実施形態は、シーン内のイベントを記録するビデオフレームのストリームを処理する方法を含む。この方法は一般に、ストリームの第１フレームを受け取ることを含むことができる。第１フレームは、フレーム内に含まれる複数のピクセルに関するデータを含む。この方法は、第１フレーム内のピクセルの１つ又は複数のグループを識別することをさらに含むことができる。各グループは、シーン内の物体を示す。この方法は、識別した各物体に関連する１つ又は複数の特徴を格納する探索モデルを生成すること、トレーニングされたクラシファイアを使用して各物体を分類すること、探索モデルを使用して、第１フレームで識別された各物体を第２フレームで追跡すること、並びに第１フレーム、第２フレーム、及び物体分類を機械学習エンジンに供給することをさらに含むことができる。この方法は、機械学習エンジンにより、複数のフレームにわたってシーン内の物体が関与する挙動の１つ又は複数の意味表現を生成することをさらに含むことができる。一般に、複数のフレームにわたってシーン内で観測される挙動のパターンを学習し、分類された物体が関与する挙動のパターンの発生を識別するように機械学習エンジンを構成することができる。
【０００６】
[0006]上記で列挙した本発明の特徴、利点、及び目的を達成する方式を詳細に理解することができるように、添付の図面に示される実施形態を参照することにより、上記で簡潔に要約した本発明のより具体的な説明を得ることができる。
【０００７】
[0007]しかし、添付の図面は本発明の典型的な実施形態のみを示し、したがって添付の図面を本発明の範囲の限定とみなすべきではないことに留意されたい。本発明は、他の同様に有効な実施形態を許容することができるからである。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態による挙動認識システムの高レベルブロック図である。
【図２】本発明の一実施形態による、ビデオフレームのストリームに基づいて挙動を解析及び学習する方法の流れ図である。
【図３】本発明の一実施形態による、コンピュータビジョンエンジンのバックグラウンド−フォアグラウンドモジュールを示す図である。
【図４】本発明の一実施形態による、コンピュータビジョンエンジン内の注目の物体を追跡するモジュールを示す図である。
【図５】本発明の一実施形態による、コンピュータビジョンエンジンの推定器／識別器モジュールを示す図である。
【図６】本発明の一実施形態による、コンピュータビジョンエンジンのコンテキストプロセッサ構成要素を示す図である。
【図７】本発明の一実施形態による、機械学習エンジンの意味解析モジュールを示す図である。
【図８】本発明の一実施形態による、機械学習エンジンの認識モジュールを示す図である。
【図９Ａ】本発明の一実施形態による、挙動認識システムが異常な挙動を検出し、警報を発行する場合のビデオフレームのシーケンスを示す図である。
【図９Ｂ】本発明の一実施形態による、挙動認識システムが異常な挙動を検出し、警報を発行する場合のビデオフレームのシーケンスを示す図である。
【図９Ｃ】本発明の一実施形態による、挙動認識システムが異常な挙動を検出し、警報を発行する場合のビデオフレームのシーケンスを示す図である。
【好ましい実施形態の詳細な説明】
【０００９】
[0017]本明細書で説明する本発明の実施形態などの機械学習挙動認識システムは、経時的に取得した情報に基づいて挙動を学習する。本発明の状況では、ビデオストリーム（すなわち、個々のビデオフレームのシーケンス）からの情報が解析される。本開示は、経時的に移動及び／又は活動（或いはその不在）を解析することにより、シーン内の正常な挙動と異常な挙動を識別し、区別するように学習する挙動認識システムを説明する。正常な挙動／異常な挙動は、事前定義されず、ハードコーディングされない。その代わりに、本明細書で説明する挙動認識システムは、任意の環境について何が「正常」であるかを迅速に学習し、位置を監視することによって、すなわち記録されたビデオの内容をフレームごとに解析することによって学習したものに基づいて、異常な挙動又は疑わしい挙動を識別する。
【００１０】
[0018]以下では、本発明の実施形態に対して参照が行われる。しかし、本発明は、具体的に説明されるどんな実施形態にも限定されないことを理解されたい。むしろ、以下の特徴及び要素の任意の組合せが、様々な実施形態に関係するか否かに関わらず、本発明を実装及び実施するのに企図される。さらに、様々な実施形態では、本発明は、従来技術に勝る多数の利点を実現する。しかし、本発明の実施形態は、他の可能な解決策に勝る利点、及び／又は従来技術に勝る利点を達成することができるが、特定の利点が所与の実施形態で達成されるか否かは、本発明の限定ではない。したがって、以下の態様、特徴、実施形態、及び利点は例示的なものに過ぎず、請求項（複数可）に明示的に記載されている場合を除いて、添付の特許請求の範囲の要素又は制限とはみなされない。同様に、「本発明」に対する参照は、本明細書で開示される本発明の何らかの主題の一般化とは解釈されないものとし、請求項（複数可）に明示的に記載されている場合を除いて、添付の特許請求の範囲の要素又は制限であるとは解釈されないものとする。
【００１１】
[0019]本発明の一実施形態は、コンピュータシステムと共に使用されるプログラム製品として実装される。プログラム製品のプログラム（複数可）は、実施形態（本明細書で説明される方法を含む）の機能を定義し、プログラム（複数可）を様々なコンピュータ可読記憶媒体上に収容することができる。例示的なコンピュータ可読記憶媒体は、限定はしないが、（ｉ）情報が永続的に格納される非書込み可能記憶媒体（例えば、ＣＤ−ＲＯＭドライブで読取り可能なＣＤ−ＲＯＭディスクなどのコンピュータ内の読取り専用メモリ装置）と、（ｉｉ）変更可能な情報が格納される書込み可能記憶媒体（例えば、ディスケットドライブ内のフロッピィディスク又はハードディスクドライブ）とを含む。そのようなコンピュータ可読記憶媒体は、本発明の機能を指示するコンピュータ可読命令を担持するとき、本発明の実施形態である。他の媒体は、コンピュータや、ワイヤレス通信ネットワークを含む電話網などの、情報がそれを通じてコンピュータに搬送される通信媒体を含む。後者の実施形態は、具体的には、インターネット及び他のネットワークに情報を送り、インターネット及び他のネットワークから情報を送ることを含む。そのような通信媒体は、本発明の機能を指示するコンピュータ可読命令を搬送するとき、本発明の実施形態である。広義には、コンピュータ可読記憶媒体及び通信媒体が、本明細書ではコンピュータ可読媒体と呼ばれることがある。
【００１２】
[0020]一般には、本発明の実施形態を実施するために実行されるルーチンは、オペレーティングシステム又は特定のアプリケーションの一部、コンポーネント、プログラム、モジュール、オブジェクト、或いは命令のシーケンスでよい。本発明のコンピュータプログラムは通常、ネイティブコンピュータによって機械可読フォーマットに変換される多数の命令、したがって実行可能命令から構成される。さらに、プログラムは、プログラムに対してローカルに常駐し、或いはメモリ内又は記憶装置上に見出される変数及びデータ構造からなる。さらに、本明細書で説明される様々なプログラムを、本発明の特定の実施形態でプログラムがそれに関して実装される応用例に基づいて識別することができる。しかし、以下のどんな特定のプログラム用語も便宜上使用されずに過ぎず、したがって、本発明がそのような用語で識別及び／又は示唆される何らかの特定の応用例でもっぱら使用されることに限定されないものとすることを理解されたい。
【００１３】
[0021]本発明の実施形態は、挙動を解析、学習、及び認識する挙動認識システム及び方法を提供する。図１は、本発明の一実施形態による挙動認識システム１００の高レベルブロック図である。図示されるように、挙動認識システム１００は、ビデオ入力１０５、ネットワーク１１０、コンピュータシステム１１５、並びに入力装置及び出力装置１４５（例えば、モニタ、キーボード、マウス、プリンタなど）を含む。
【００１４】
[0022]ネットワーク１１０は、ビデオ入力１０５からビデオデータ（例えば、ビデオストリーム（複数可）、ビデオイメージなど）を受け取る。ビデオ入力１０５は、ビデオカメラ、ＶＣＲ、ＤＶＲ、ＤＶＤ、コンピュータなどでよい。例えば、ビデオ入力１０５は、一定のエリア（例えば地下鉄の駅）に向けられ、そのエリア及びその中で生じるイベントを継続的に記録する静止ビデオカメラでよい。一般に、カメラにとって可視であるエリアは「シーン」と呼ばれる。特定のフレームレート（例えば毎秒２４フレーム）の個々のビデオフレームのシーケンスとしてシーンを記録するようにビデオ入力１０５を構成することができ、各フレームは固定のピクセル数を含む（例えば３２０×２４０）。各フレームの各ピクセルは、カラー値（例えばＲＧＢ値）を指定する。さらに、ビデオストリームを周知のそのようなフォーマット、例えばＭＰＥＧ２、ＭＪＰＥＧ、ＭＰＥＧ４、Ｈ．２６３、Ｈ．２６４などを使用してフォーマットすることができる。以下でより詳細に論じるように、挙動認識システムは、この生情報を解析して、ストリーム中のアクティブな物体を識別し、そのような要素を分類し、そのような要素のアクション及び相互作用に関する様々なメタデータを導出し、この情報を機械学習エンジンに供給する。機械学習エンジンを、経時的に評価、学習、及び記憶するように構成することができる。さらに、「学習」に基づいて、機械学習エンジンは、一定の挙動を異常と識別することができる。
【００１５】
[0023]ビデオ入力１０５で記録されたビデオデータをコンピュータシステム１１５に送信するのにネットワーク１１０を使用することができる。一実施形態では、ネットワーク１１０は、受け取ったビデオフレームのストリームをコンピュータシステム１１５に送信する。
【００１６】
[0024]例示的には、コンピュータシステム１１５は、ＣＰＵ１２０と、ストレージ１２５（例えば、ディスクドライブ、光ディスクドライブ、フロッピィディスクドライブなど）と、コンピュータビジョンエンジン１３５及び機械学習エンジン１４０を含むメモリ１３０とを含む。コンピュータビジョンエンジン１３５は、ビデオ入力１０５によって供給されたビデオフレームのシーケンスを解析するように構成されたソフトウェアアプリケーションを提供することができる。例えば、一実施形態では、ビデオフレームを解析して、注目のターゲットを識別し、そうした注目のターゲットを追跡し、注目のターゲットについての特性を推論し、注目のターゲットをカテゴリごとに分類し、観測されたデータをタグ付けするようにコンピュータビジョンエンジン１３５を構成することができる。一実施形態では、コンピュータビジョンエンジン１３５は、分類された注目の物体の属性のリスト（テクスチャ、カラーなど）を生成し、そのリストを機械学習エンジン１４０に供給する。さらに、コンピュータビジョンエンジンは、シーン内の追跡される各物体についての様々な情報（例えば、運動データ、深さデータ、カラーデータ、外観データなど）を機械学習エンジン１４０に供給することができる。
【００１７】
[0025]機械学習エンジン１４０は、ビデオフレームと、コンピュータビジョンエンジン１３５によって生成された結果とを受け取る。機械学習エンジン１４０は、受け取ったデータを解析し、ビデオフレーム中に示されるイベントの意味表現を構築し、パターンを決定し、こうした観測される挙動から学習して、正常なイベント及び／又は異常なイベントを識別する。コンピュータビジョンエンジン１３５及び機械学習エンジン１４０並びにその構成要素が、以下でより詳細に説明される。正常／異常な挙動／イベントが判定されたかどうか、及び／又はそのような挙動／イベントが何であるかを記述するデータを、出力装置１４５に供給し、警報、例えばＧＵＩインターフェース画面上に提示される警報メッセージを発行することができる。
【００１８】
[0026]一般に、コンピュータビジョンエンジン１３５と機械学習エンジン１４０は、受け取ったビデオデータをリアルタイムで処理する。しかし、コンピュータビジョンエンジン１３５と機械学習エンジン１４０によって情報を処理する時間スケールは、異なることがある。例えば、一実施形態では、コンピュータビジョンエンジン１３５は、受け取ったビデオデータフレームをフレームごとに処理し、一方、機械学習エンジンは、受け取ったデータをＮフレームごとに処理する。言い換えれば、コンピュータビジョンエンジン１３５は、各フレームをリアルタイムで解析して、所与のフレーム内で何が生じているかについての１組の情報を導出するのに対して、機械学習エンジン１４０は、ビデオ入力のリアルタイムフレームレートによって制限されない。
【００１９】
[0027]しかし、図１は、挙動認識システム１００の可能な一構成を示しているに過ぎないことに留意されたい。例えば、ビデオ入力１０５がネットワーク１１０を介してコンピュータシステム１１５に接続されるように示されているが、ネットワーク１１０が常に存在するわけではなく、常に必要であるわけではない（例えば、ビデオ入力１０５をコンピュータシステム１１５に直接的に接続することができる）。さらに、一実施形態では、コンピュータビジョンエンジン１３５をビデオ入力装置の一部として（例えば、ビデオカメラに直接的に配線されるファームウェア構成要素として）実装することができる。そのような場合、ビデオカメラの出力を、解析のために機械学習エンジン１４０に供給することができる。
【００２０】
[0028]図２は、本発明の一実施形態による、ビデオフレームのストリームから挙動を解析及び学習する方法２００を示す。図示されるように、方法２００はステップ２０５で始まる。ステップ２１０で、１組のビデオフレームがビデオ入力源から受信される。ステップ２１５で、ビデオフレームを処理して、ビデオノイズ、不規則又は異常なシーン照明、カラー関連の問題などを最小限に抑えることができる。すなわち、挙動認識システムの構成要素（例えば、上記で論じたコンピュータビジョンエンジン１３５及び機械学習エンジン１４０）による処理前にイメージの可視性を改善するようにビデオフレームの内容を改善することができる。
【００２１】
[0029]ステップ２２０で、連続する各ビデオフレームが解析され、方法２００の後続のステージの間に使用するためにフォアグラウンドイメージ及びバックグラウンドイメージが識別及び／又は更新される。一般には、バックグラウンドイメージは、ビデオ入力によって取り込まれているシーンの静止要素（例えば、地下鉄の駅のプラットホームを示すピクセル）を含み、フォアグラウンドイメージは、ビデオ入力によって取り込まれる揮発性要素（例えば、プラットホームの周囲で移動中の人を示すピクセル）を含む。言い換えれば、バックグラウンドイメージは、フォアグラウンド要素が進入し、互いに相互作用し、退出するステージを提供する。バックグラウンドイメージは、バックグラウンドイメージ内の各ピクセルについてのカラー値を含む。一実施形態では、いくつかのフレームにわたって所与のピクセルについてカラー値をサンプリングすることによってバックグラウンドイメージを導出することができる。さらに、新しいフレームが受信されるときに、連続する各フレーム内に含まれる追加の情報に基づいてバックグラウンドイメージの要素を更新することができる。通常、どのピクセルがバックグラウンドの部分か、それともフォアグラウンドの部分かを、ビデオフレームのシーケンス中の各フレームについて判定することができ、バックグラウンドイメージを所与のフレーム内のピクセルカラー値と比較することによってフォアグラウンド要素を識別することができる。フォアグラウンドピクセルが識別されると、マスクをフレームに適用することができ、バックグラウンドの部分であるピクセルがイメージから効果的に切り離され、イメージ内のフォアグラウンドピクセルの１つ又は複数のみが残る。例えば、各フォアグラウンドピクセルが白として表現され、各バックグラウンドピクセルが黒として表現されるようにマスクをフレームに適用することができる。得られる白黒イメージ（２次元配列として表現される）を挙動認識システムの後続の要素に供給することができる。一実施形態では、コンピュータシステム１１５は、所与のシーンについてのバックグラウンドイメージの初期モデルを備えることができる。
【００２２】
[0030]ステップ２２５で、所与のフレームに関連するフォアグラウンドイメージを解析して、フォアグラウンドイメージを注目のターゲットにセグメント化することによって１組のブロブ（すなわち、関連するピクセルのグループ）を識別することができる。言い換えれば、フォアグラウンドイメージ内の別個のブロブを分離するようにシステムを構成することができ、各ブロブは、フレーム内の異なるフォアグラウンド物体を表す可能性が高い（例えば、自動車、人間、スーツケースなど）。各フォアグラウンドブロブについて、フォアグラウンドブロブが最初に識別されたときに探索モデルを開始することができる。スキーム内のブロブの位置を取り込み、どのピクセルがブロブの部分として含まれるかを識別し、フレームごとの観測されるブロブの挙動に関する様々なメタデータを格納するのに探索モデルが使用される。さらに、追跡モジュールで探索モデルを使用して、対応する物体の運動をフレームごとに予測、発見、及び追跡することができる。連続するフレームが受信されるにつれて、フォアグラウンドブロブが連続するビデオフレームを通じて引き続き存在するときに、探索モデルが更新される。そのような更新を、追加の各ビデオフレームと共に、周期的に、探索モデルの改善を可能にする新しい情報が受信されたとき、必要に応じて、などで実施することができる。
【００２３】
[0031]様々な方式で探索モデルを実装することができる。例えば、一実施形態では、探索モデルは、所与のフォアグラウンド物体についての、どのピクセルがそのフォアグラウンド物体の部分であるとみなされるかを含むいくつかの特徴を取り込むように構成された外観モデルでよい。次いで、フレームごとのその物体を表すピクセルに基づいて、所与の物体の外観モデルを更新することができる。別の実施形態では、探索モデルは、物体を包含するための最小の境界長方形でよい。最小の境界長方形は、より迅速に計算されるが、実際にはバックグラウンドの部分であるブロブの部分としてのピクセルを含む。それでも、あるタイプの解析について、この手法は効果的であることがある。こうした探索モデルが以下に詳細に説明される。ステップ２３０で、探索モデルが使用され、フォアグラウンド物体がフレームごとにシーンの中を動き回るときにフォアグラウンド物体の運動が追跡される。すなわち、物体が第１フレームで識別され、外観モデル（及び／又は境界ボックス）がその物体について生成されると、探索モデルを使用して、フォアグラウンド物体がシーンから退出するまで、外観モデル（及び／又は境界ボックス）に基づいて、後続のフレームで物体を識別及び追跡することができる。探索モデルを使用して、例えば物体が位置を変更した後にビデオフレーム内の物体を識別することができる。したがって、同一の物体に関する様々なタイプの情報が、そのような物体がシーンの中を移動するときに求められる（例えば、物体の運動特性、向き、運動方向など）。
【００２４】
[0032]ステップ２３５で、挙動認識システムは、フォアグラウンドブロブを離散的な数の分類のうちの１つとして分類することを試みる。例えば、一実施形態では、挙動認識システムを構成して、各フォアグラウンド物体を「人間」、「車両」、「その他」、又は「不明」のうちの１つとして分類することができる。もちろん、より多くの分類を使用することができ、さらには、個々のケースの必要に適合するように分類を合わせることができる。例えば、手荷物コンベヤベルトのビデオイメージを受け取る挙動認識システムは、ベルト上の物体を様々なタイプ／サイズの手荷物として分類することができる。フォアグラウンド物体を分類した後、そのような物体に関するより詳しい推定を行うことができ、例えば、物体のポーズ（例えば、向き、姿勢など）、位置（例えば、ビデオイメージで示されるシーン内の位置、注目の他の物体に対する位置など）、及び運動（例えば、軌跡、速さ、方向など）が推定される。この情報を機械学習エンジン１４０で使用して、類似の物体（例えば、人間として分類された他の物体）の過去の観測に基づいて、一定の挙動を正常又は異常と特徴付けることができる。
【００２５】
[0033]ステップ２４０で、前のステップの結果（例えば、追跡結果、バックグラウンド／フォアグラウンドイメージデータ、分類結果など）が組み合わされ、解析されて、ビデオフレームで示されるシーンのマップが作成される。一実施形態では、シーンが、空間的に分離された領域にセグメント化され、各セグメントが１組のピクセルで定義される。領域が、ｚ深さに従ってソートされ（すなわち、どのセグメントがビデオ取込み装置に近く、どのセグメントがビデオ取込み装置から離れているか）、任意選択でラベルが付けられる（例えば、自然物、人工物など）。ステップ２４５で、物体の運動の意味表現が作成される。言い換えれば、追跡される物体の移動及び／又はアクションの記号表現が作成される（例えば、「自動車が駐車する」、「自動車が停止する」、「人がかがむ」、「人が消える」など）。ステップ２５０で、意味表現が、認識可能なパターンについて解析される。
【００２６】
[0034]ステップ２５５で、得られる意味表現、シーンの注釈付きマップ、及び分類結果が解析される。挙動認識システムは、そのような結果を解析して挙動のパターンを学習し、観測に基づいて一般化し、類推を行うことによって学習する。これにより、どの種類の挙動が正常であり、どの種類の挙動が異常であるかを認識システムが判定及び／又は学習することも可能となる。すなわち、認識可能なパターンを識別し、所要の物体について新しい挙動を評価し、所与の物体について学習した挙動のパターンを補強又は修正することなどを行うように機械学習エンジンを構成することができる。
【００２７】
[0035]ステップ２６０で、任意選択で、以前のステップの結果が、認識された挙動について解析される。さらに、所与のイベントの発生を認識したことに応答して指定のアクションを実施するように挙動認識システムを構成することができる。例えば、以前のステップの結果に基づいて、挙動認識システムは、人間と識別されたフォアグラウンド物体が異常な挙動に関与するときに警報を発行することができる。さらに、ある挙動が「異常」であるかどうかは、学習エンジンが何を所与のシーン内の人間の「正常な」挙動であると「学習」したかに基づくことができる。一実施形態では、異常な挙動が判定された場合にのみ警報が発行される（例えば、人が地下鉄の駅に放置されたバッグを残したことを示す警報）。別の実施形態では、シーン内で正常なイベントが行われていることを示す警報が発行される（例えば、車が駐車したことを示す警報）。方法はステップ２７０に進む。
【００２８】
[0036]上述のステップのすべてを、列挙した順序で実施することが必要であるわけではないことに留意されたい。さらに、記載の方法が動作するために記載のステップのすべてが必要であるわけではない。どのステップを使用すべきか、ステップをどの順序で実施すべきか、あるステップを他のステップよりも頻繁に反復すべきかどうかが、例えば特定のユーザの必要、観測される環境の特定の品質などに基づいて決定される。
【００２９】
[0037]図３から６は、本発明の一実施形態による、図１に示されるコンピュータビジョンエンジン１３５の様々な構成要素を示す。具体的には、図３は、バックグラウンド−フォアグラウンドモジュール３００の構成要素を示す。バックグラウンド−フォアグラウンドモジュール３００は、各ビデオフレーム内の特徴を使用して、どのピクセルがバックグラウンドイメージに属し、どれがフォアグラウンドイメージに属するかを識別する。一実施形態では、ビデオフレームが解析されて、各ピクセルが、シーン（及びそのフレーム）についてのバックグラウンドイメージの部分を表示すると分類され、又はそのフレームについてのフォアグラウンドイメージの部分を表示すると分類される。
【００３０】
[0038]通常、経時的にカラーを変更しないピクセルが、バックグラウンドイメージの部分とみなされる。ピクセルのカラー値を経時的にサンプリングすることにより、あるフレーム内のフォアグラウンド物体の存在を除くことができる。さらに、バックグラウンドイメージを動的に更新することができるので、バックグラウンドイメージは、光と影の変化を補償することができる。同様に、バックグラウンドイメージに対してカラーを変更するピクセルは、フォアグラウンド物体を表示していると想定される。言い換えれば、シーン内のフォアグラウンド物体の運動は、連続するビデオフレーム内のピクセルカラー値間の差に基づく。一般に、バックグラウンドイメージを、フォアグラウンド物体が切り離されたピクセルのビデオフレームと想定することができる。フォアグラウンドイメージを、バックグラウンドの間を埋めるピクセルと想定することができる。或いは、ただ１つのフォアグラウンドイメージを使用することもできる。そのようなフォアグラウンドイメージを、フォアグラウンドピクセルのパッチを伴う透明なビデオフレームと想定することができる。所与のフォアグラウンド物体を追跡するのに２つの連続するフレームで十分であるが、所与のシーンに関するバックグラウンドイメージを求めるときに、複数の連続するフレームを比較することにより、より正確な結果が得られることに留意されたい。
【００３１】
[0039]（あるフレームで）当初バックグラウンドピクセルと判定されたピクセルが（別のフレームで）フォアグラウンドピクセルとなることがあり、逆も同様であることにも留意されたい。例えば、バックグラウンド内のピクセルのカラー値が変化し始めた場合、ピクセルをフォアグラウンドピクセルと再分類することが適切であることがある（例えば、長期間駐車場に駐車している自動車が移動し始める）。同様に、変化するピクセルが静的となることがあり、したがって、そのようなピクセルをバックグラウンドピクセルとして再分類することが必要となることがある（例えば、ごみ箱が永続的な使用のために地下鉄の駅に運び込まれた）。しかし、不必要なピクセル再分類を回避し、バックグラウンドイメージ及びフォアグラウンドイメージ内に何が含まれるかについての解釈を改善するために、一実施形態では、挙動認識システムは、ピクセルを短期バックグラウンド（ＳＴＢＧ）、短期フォアグラウンド（ＳＴＦＧ）、長期バックグラウンド（ＬＴＢＧ）、及び長期フォアグラウンド（ＬＴＦＧ）の部分として分類することができる。ＳＴＢＧ及びＳＴＦＧが、短期間（例えば数秒以下）用のメモリに格納され、ＬＴＢＧ及びＬＴＦＧが、より長期間（例えば数分）用のメモリ内に格納される。最初にピクセルをＳＴＢＧ／ＳＴＦＧと判定し、次いで適性のあるピクセルのみをＬＴＢＧ／ＬＴＦＧと解釈することにより、どのピクセルがバックグラウンド／フォアグラウンドイメージの部分であるかをより正確に判定することが可能となる。もちろん、特定のシーン内で生じるイベントに従って時間枠を調節することができる。
【００３２】
[0040]図３は、本発明の一実施形態による、ビデオフレームに関するバックグラウンドイメージ及びフォアグラウンドイメージを生成するのに使用することのできるバックグラウンド−フォアグラウンドモジュール３００の構成要素を示す。最初に、ビデオフレームがバックグラウンドトレーニングモジュール３０５によって受信される。フレームの初期シーケンスを使用してバックグラウンド−フォアグラウンドモジュール３００をトレーニングすることができる。トレーニングにより、バックグラウンド−フォアグラウンドモジュール３００が、取得されたビデオフレーム内に示されるシーンのバックグラウンドイメージを構築することが可能となる。トレーニングプロセスは、システムの初期化ステージ中、すなわちシーンのバックグラウンドイメージが求められる前に行うことができる。
【００３３】
[0041]ダークシーン補償モジュール３１０が、ピクセル値を処理して、シーンの各部分内の低照明条件又は暗照明条件を補償することができる。さらに、処理されたビデオフレームをＳＴＦＧ／ＳＴＢＧモジュール３１５及びＬＴＢＧ／ＬＴＢＧモジュール３２０に供給するようにダークシーン補償モジュール３１０を構成することができる。所与のフレーム内のＳＴＦＧピクセル及びＳＴＢＧピクセルを識別し、この情報をそれぞれステールＦＧモジュール３２５及び照明補償モジュール３３５に供給するようにＳＴＦＧ／ＳＴＢＧモジュール３１５を構成することができる。ＬＴＦＧピクセル及びＬＴＢＧピクセルを識別し、ＳＴＦＧ／ＳＴＢＧモジュール３１５と同様にこの情報をそれぞれステールＦＧモジュール３２５及び照明補償モジュール３３５に供給するようにＬＴＦＧ／ＬＴＢＧモジュール３２０を構成することができる。ステールＦＧモジュール３２５は、古いフォアグラウンドピクセルを識別し、結果を更新ＢＧモジュール３３０に供給する。ＢＧ／ＦＧ決定が陳腐化し、再評価する必要があるときに、ピクセルは「古く」なることがある。受信した後、照明補償モジュール３３５は、照明の変化（例えば、太陽を覆い隠す雲によるシーンの増光／減光、又は人工光源に対する調節）に対して処理を動的に調節することができ、ダークシーン補償モジュール３１０は、極めて暗い領域及び／又は微光条件の限界内で特殊処理を動的に実現する。更新ＢＧモジュール３３０は、バックグラウンドイメージモデルを更新し、結果を照明補償モジュール３３５に転送し、照明補償モジュール３３５は、受信したすべての結果を処理した後、処理済みの結果をＬＴＦＧ／ＬＴＢＧモジュールに供給する。
【００３４】
[0042]したがって、集合的に、バックグラウンド−フォアグラウンドモジュール３００は、挙動認識システムの他の構成要素で使用される１組のバックグラウンドイメージ及びフォアグラウンドイメージ並びに／或いはバックグラウンドモデル及びフォアグラウンドモデルを求める。バックグラウンドモデル及びフォアグラウンドモデルは、シーンバックグラウンドの部分（すなわちステージの部分）と、フォアグラウンド物体（すなわち、ステージ上で何らかのアクションを実施する要素）を表示するピクセルとを区別する。バックグラウンド−フォアグラウンドモジュール３００の上記の説明では、ただ１つのバックグラウンドイメージに対して参照が行われるが、別法として、バックグラウンド−フォアグラウンドモジュール３００は、複数のバックグラウンドイメージを使用できることに留意されたい（例えば、より正確なバックグラウンド識別のために、イメージフレームのシーンをいくつかのバックグラウンドゾーンに分割することができる）。
【００３５】
[0043]一実施形態では、バックグラウンドモデル／イメージは、ピクセルカラーなどの追加の情報を含むことができる。さらに、フォアグラウンドモデル／イメージは通常、カラーなどの追加のピクセル特性を含む。しかし、そのような情報を保持又は収集することを省略することができる（例えば、カラーの認識が注目の物体間の区別を大幅に改善するわけではない環境、例えば大部分が同一又は類似のカラーの物体を移送するコンベヤラインの環境で、リソースを節約するため）。
【００３６】
[0044]図４は、本発明の一実施形態による、シーンのフォアグラウンドイメージ内に表示される物体を識別するように構成されたフォアグラウンド物体モジュール４００を示す。一般には、所与のフレームについてバックグラウンド−フォアグラウンドモジュール３００によって生成されたフォアグラウンドイメージを受け取り、フォアグラウンドイメージに関する探索モデルを構築／更新し、フォアグラウンドイメージ内の表示される物体の運動がフレームごとにシーンの中を動き回るときに、その物体を追跡するように試みるようにフォアグラウンド物体モジュール４００を構成することができる。
【００３７】
[0045]図４に示されるように、フォアグラウンド物体モジュール４００は、ブロブ検出モジュール４０５、構築／更新モジュール４１０、追跡モジュール４２０、及び１〜Ｍの探索モデル、探索モデル１（４１５１）、探索モデル２（４１５２）から探索モデルＭ（４１５Ｍ）までを含む。一実施形態では、フォアグラウンドイメージを解析して、フォアグラウンドブロブと呼ばれる、関連するピクセルのグループを検出するようにブロブ検出モジュール４０５を構成することができ、そのようなピクセルの各グループは、シーン内の別個の物体を表す可能性が高い。さらに、示される各フォアグラウンドブロブに追跡識別番号が割り当てられる。フォアグラウンドブロブが構築／更新モジュール４１０によって使用されて、探索モデル４１５１〜４１５Ｍが構築／更新され、前のビデオフレームで識別されたブロブについて既存の探索モデルが構築又は更新されている。一実施形態では、探索モデル４１５１〜４１５Ｍを更新するために、構築／更新モジュール４１０は、追跡モジュール４２０によって生成された結果も使用する。現在検出されているブロブが探索モデルを有さない場合、そのような探索モデルが構築（作成）される。
【００３８】
[0046]所与の瞬間に、フォアグラウンド物体モジュール４００は、異なるフォアグラウンドブロブをそれぞれ表す複数の探索モデルを含むことができる。探索モデルの数は、フォアグラウンドイメージ内のブロブ検出モジュール４０５によってフォアグラウンドブロブがいくつ識別されるかに依存する。一実施形態では、フォアグラウンドブロブが後続のビデオフレームで何を行うことができるかに関する予測機能と共に探索モデルを構成することができる。例えば、所与のフォアグラウンドブロブに関連する探索モデルは、現在位置及び運動データに基づくそのブロブの予想未来位置（及び形状）を含むことができる。さらに、各探索モデルはまた、所与のフォアグラウンドブロブについて導出される様々な情報をも含むことができる（例えば、テクスチャ、カラー、パターン、シーン内のｚ深さ位置、サイズ、移動率、カイネマティックスなど）。
【００３９】
[0047]さらに、本発明の原理に従って様々なタイプの探索モデルを使用することができる。上述のように、探索モデルを追跡モジュール４２０で使用して、フレームごとの対応する物体の運動を予測、発見、及び追跡することができる。一実施形態では、外観モデルが使用される。外観モデルは、物体を表示するのに使用されるピクセルを含む（例えば、フレームがフォアグラウンドイメージ内に人間を表示する場合、外観モデルは主に、人間の輪郭を描くピクセルと、輪郭内部のピクセルとを含む）。別の実施形態では、探索モデルが特徴ベースのモデルとして実装され、特徴ベースのモデルは、物体を包含する最小の境界長方形などの長方形内のピクセルを表す（例えば、物体が人間である場合、特徴ベースのモデルは、人間を包含する境界長方形を含むことができる）。或いは、特徴ベースのモデルは、所与の物体の異なる領域を包含する最小限の可能なサイズの長方形など、所与の物体について複数の境界長方形を含むことができる（例えば、フレームが人間を表示する場合、そのような物体に関する特徴ベースのモデルは、最小限のサイズのいくつかの長方形を含むことができ、各長方形は、腕、脚、頭、胴などの人間の異なる領域を包含する）。
【００４０】
[0048]どの探索モデルが使用されるかは、例えば、観測される環境、挙動認識システムのユーザのプリファレンスなどに依存することがある。例えば、外観モデルは、より厳密な追跡を実現する可能性が高いが、特徴ベースのモデルは、例えば、追跡される注目の物体の形状が単純である場合（例えば手荷物コンベヤベルト）、リソースを節約することができる。
【００４１】
[0049]上述のように、追跡モジュール４２０は、探索モデル４１５を使用して、ビデオシーケンス内に示される、対応する物体の運動を、そのような物体がシーンの中を動き回るときにフレームごとに追跡する。追跡モジュール４２０は、現ビデオフレームの検出されたフォアグラウンドブロブを取り、フォアグラウンドブロブとの最も近い合致を実現する以前のビデオフレームの探索モデルを探す。一実施形態では、現在検出されている各フォアグラウンドブロブについて、追跡モジュール４２０は、探索モデルとフォアグラウンドブロブとの間の相対次元ベクタリング距離が大域的最小となる探索モデル４１５を探す。このようにして、追跡モジュール４２０は、探索モデル４１５のうちの１つによって表される各物体の位置をフレームごとに追跡することができる。一実施形態では、追跡モジュール４２０は、以前のビデオフレームに基づいて取得された運動情報を使用して、現ビデオフレーム内の探索モデルの位置を推定する。
【００４２】
[0050]図５は、本発明の一実施形態による、コンピュータビジョンエンジンの推定器／識別器モジュール５００を示す。一般に、推定器／識別器５００は、フォアグラウンドブロブ及びそれぞれの探索モデルを受け取り、フォアグラウンドブロブによって表されるビデオフレーム内の物体を、既知のカテゴリ（クラス）のメンバとして分類することを試みる。一実施形態では、注目の物体が識別されている場合、推定器／識別器モジュール５００は、注目の物体のポーズ、位置、及び運動を推定する。推定器／識別器５００は通常、所与のクラスの例を表す多数の肯定的例及び否定的例に関してトレーニングされる。さらに、ビデオをフレームごとに解析中に、オンライントレーニングを使用して、クラシファイアを動的に更新することができる。
【００４３】
[0051]図示されるように、推定器／識別器５００は、クラシファイア５０５、クラス１（５１０１）からクラスＮ（５１０Ｎ）、及び識別器５１５を含む。クラシファイア５０５は、フォアグラウンド物体をクラスのうちの１つ、クラス１（５１０１）からクラスＮ（５１０Ｎ）として分類することを試みる。それに成功した場合、分類された物体の静的データ（例えば、サイズ、カラーなど）及び運動データ（例えば、速さ、速度、方向など）も期間（例えば、Ｘ個のフレーム）にわたって識別器５１５で求めることができる。識別された各物体について、推定器／識別器５００は、注目の物体の上述の静的特性及び運動特性を含む生コンテキストイベントと、識別された物体のクラスの平均メンバの静的特性及び運動特性を含む既知の物体観測値とを出力する。
【００４４】
[0052]一実施形態では、システムは、人間、車両、その他、及び不明という４つのクラシファイアを使用する。注目の物体のクラスが求められるまで、そのような物体はクラス「不明」のメンバとして扱われる。各クラスは、クラスの平均メンバに関するポーズ、静的データ、及び運動データを含む。一実施形態では、さらに多くの注目物体が分類及び識別され、そのポーズ、静的データ、及び運動データが求められ、収集されるにつれて、そのようなデータが継続的に更新される。通常、推定器／識別器５００は、リアルタイムでフレームごとに情報を処理することに留意されたい。
【００４５】
[0053]図６は、本発明の一実施形態による、コンピュータビジョンエンジン１３５のコンテキストプロセッサ６００を示す。一般に、コンテキストプロセッサ６００は、バックグラウンド−フォアグラウンドモジュール３００、フォアグラウンド物体モジュール４００、推定器／識別器モジュール５００などのコンピュータビジョンエンジン１３５の他の構成要素から受け取った結果を組み合わせ、ビデオフレーム内に取り込まれるシーンの注釈付きマップを作成する。一実施形態では、シーンが空間的に分離された領域にセグメント化され、各領域が、シーンのｚ深さに従ってソートされ、任意選択で、自然要素又は人工要素を示すものとしてラベルが付けられる。
【００４６】
[0054]図示されるように、コンテキストプロセッサ６００は、シーンをより小さいエリア（領域）に分割する領域セグメンタ６０５と、領域間の関係を（例えば、互いに対してビデオ取込み装置に近く／離れていると）定義する領域シーケンサ６１０と、注釈付きマップを生成するシーンマッパ６１５とを含むことができる。一実施形態では、コンテキストプロセッサ６００は、追跡される注目の物体の運動（軌跡など）及び位置に関する情報を使用して、注釈付きマップを生成する。
【００４７】
[0055]図７及び８は、図１に示される機械学習エンジン１４０の様々な構成要素を示す。具体的には、図７は、本発明の一実施形態による、意味解析モジュール７００の構成要素を示し、図８は、認識モジュール８００の構成要素を示す。一般に、意味モジュール７００は、追跡される物体の運動及びアクションの意味表現（すなわち記号表現）を作成する。意味表現は、特定の追跡される物体の運動に基づいて（且つ最終的には、フレームごとのピクセル−カラー値の変化に基づいて）シーン内で何が生じていると考えられるかを記述する形式的な方式を提供する。シーン内のイベントを記述するのに形式言語文法（例えば、名詞及び動詞）が使用される（例えば、「自動車が駐車する」、「人が現れる」など）。
【００４８】
[0056]その後で、認識可能なパターンについて意味表現が解析され、結果が、図８に示される認識モジュール８００に供給される。一実施形態では、意味モジュール７００はまた、シーン内の物体の軌跡の記号表現など、シーン内で生じるイベントの様々な側面を含むシーンの記号マップをも構築する。一実施形態では、記号マップはまた、頻度分布をも含むことができる（例えば、一定のクラス又は種類の物体がシーン内にどれだけの頻度で、どこに存在するかに関するデータ）。
【００４９】
[0057]図７に示されるように、意味モジュール７００は、知覚メモリ７１０、潜在的意味解析モジュール（ＬＳＡ）７１５、基本イベントモジュール７２５、位相空間区分化モジュール７３０、増分潜在的意味解析モジュール（ｉＬＳＡ）７３５、及び形式言語モジュール７４０を含む。知覚メモリ７１０は、意味モジュール７００に対して供給された情報を取得し、基本イベントモジュール７２５及び位相空間区分化モジュール７３０による後続での使用のためにこの情報を格納する。一実施形態では、知覚メモリ７１０は、より詳しい解析のために基本イベントモジュール７２５及び位相空間区分化モジュール７３０にどの情報を供給すべきかを識別する。
【００５０】
[0058]知覚メモリ７１０で基本イベント（例えば、自動車が停止する、方向を反転する、消滅する、出現する、人がかがむ、倒れる、会話など）の発生を識別するように基本イベント検出モジュール７２５を構成することができる。基本イベントは通常、追跡される物体の運動特性の変化を反映する。したがって、物体が「自動車」であると分類されると、基本イベント検出モジュール７２５は、自動車に関するデータを評価して、様々な挙動イベントが発生するときにそれを識別する。一実施形態では、（例えば、自己学習挙動認識システムが使用される特定の環境について）基本イベントが事前定義される。別の実施形態では、基本イベントのうちの一部のみが事前定義され（例えば、駐車、方向転換、転倒）、他の基本イベントが経時的に学習される（例えば、一定のクラスの物体をシーンの特定のスポットで見つけることができる）。
【００５１】
[0059]位相空間区分化モジュール７３０は、シーン内の物体の速度を有する幾何学的位置に関する情報を求める。したがって、基本イベントモジュール７２５及び位相空間区分化モジュール７３０は、意味モジュール７００が２つの別個の方式でデータを解析することを可能にする。基本イベントモジュール７２５及び位相空間区分化モジュール７３０の結果に基づいて、ＬＳＡ７１５及びｉＬＳＡ７３５は、シーンのモデルを構築／更新し、モデルは、注目の物体を含む。
【００５２】
[0060]ＬＳＡ７１５は一般に、意味モジュール７００の初期トレーニングモジュールである。ＬＳＡは、ＬＳＡ７１５が十分な統計的重みの結果を生成するまで、期間にわたってデータを収集する。言い換えれば、ＬＳＡ７１５は、シーンの基本レイアウトを学習し、ｉＬＳＡ７３５は、そのようなレイアウトを増分式に更新する。ｉＬＳＡ７３５は、シーン内で生じる挙動のパターンの変化を処理するのに十分な柔軟性があることに留意されたい。形式言語学習モジュール７４０は、ｉＬＳＡ７３５で生成されたデータを使用して、意味表現（シーン内で何が生じているかについての記号表現）を作成し、作成された意味表現が何を意味するかを学習するために、意味表現を認識モジュール８００に供給する。
【００５３】
[0061]図８は、本発明の一実施形態による機械学習エンジンの認識モジュールを示す。コンピュータビジョン１３５及び機械学習エンジン１４０の構成要素の少なくとも一部（例えば、推定器／識別器モジュール５００、コンテキストプロセッサ６００、意味モジュール７００など）によって生成された結果を処理するように認識モジュール８００を構成することができる。一般に、認識モジュール８００は、パターンを学習し、観測に基づいて一般化し、類推を行うことによって学習する。
【００５４】
[0062]図８に示されるように、認識モジュール８００は、認識連想メモリ８０５、スケジューラ８３０、作業スペース８１５、エピソードメモリ８２０、及び長期メモリ８２５を含むことができる。作業スペース８１５は、どんな情報が機械学習エンジン１４０によって現在評価されているかを反映するメモリ領域を提供する。すなわち、作業スペース８１５は、データのどんな要素が、機械学習環境１４０の「注意」を現在引いているかを格納する。以下で説明されるように、作業スペース８１５内のデータは、規則（それぞれイベントを記述する）及びコードレットの集合を含むことができる。認識連想メモリ８０５は、認識モジュール８００に供給されるデータを収集し、そのようなデータを認識対象として格納する。各認識対象は、基本イベントなどの、ビデオ内で生じる何かを記述するデータを提供することができる。認識連想メモリ８０５は、認識対象及び／又はコードレットを作業スペース８１５に供給する。
【００５５】
[0063]コードレットは、１つの実行可能コードを提供し、実行可能コードは、異なる認識対象間の関係を記述及び／又は探索する。言い換えれば、コードレットは、特定の挙動／イベント（例えば駐車イベント）を判定する規則を要約し、挙動／イベントは１つ又は複数の認識対象を含む。１組の規則を取り、それを特定の方式で処理するように各コードレットを構成することができる。例えば、コードレットは、１組の入力認識対象を取り、それを評価して、特定のイベント（例えば自動車の駐車）が発生したかどうかを判定することができる。自動車の駐車の例を用いると、規則は、どの自動車か、自動車のカラー、どこに自動車が駐車したかなどについての情報でエピソードメモリ８２０を更新することができる。さらに、この検出した基本イベントについての情報を使用して、長期メモリ８２５内の基本イベントの定義を更新することができる。さらに、異常を認識するコードレットは、認識モジュール８００で使用される。そのようなコードレットは、認識対象にアクセスし、一定の認識対象が以前に蓄積された統計データと統計的に相関しない場合、異常イベントを識別することができる。
【００５６】
[0064]一実施形態では、コードレットが完全に事前書込みされる。別の実施形態では、少なくとも一部のコードレットが完全には事前書込みされず、経時的に生成される。例えば、一定の認識対象（複数可）に関する正常な挙動を記述するコードレットを、対応する観測イベントを記述する蓄積データに基づいて自己生成／修正することができる。
【００５７】
[0065]スケジューラ８１０は、どのコードレットを所与の時間に活動化する必要があるかを判定する。例えば、スケジューラ８１０は、作業スペース８１５内に配置された認識対象とコードレットとの間の合致を識別しようとする。所与のコードレット（例えば１組の規則）に対して必要な、適切な１組の入力が利用可能であるとき、そのコードレットを作業スペース８１５内に配置して、起動することができる。複数のコードレットが活動化のために利用可能であるとき、いつ、どのコードレットが活動化されるかについての判定はランダムでよい。しかし、一実施形態では、構成された一定のコードレットは、他に勝る優先順位を有する（例えば、一定の異常な挙動を定義するコードレット）。所与の各瞬間に、作業スペース８１５内のスケジューラ８１０で多数のコードレットを活動化することができる。
【００５８】
[0066]認識モジュール８００はまた、エピソードメモリ８２０及び長期メモリ８２５をも使用して、基本イベントに関する短期データと長期データをどちらも取り込む。エピソードメモリ８２０は、最近の認識対象を格納する短期メモリである。例えば、最近変更された認識対象が、エピソードメモリ８２０内で見つかる。認識対象は、作業スペース８１５からエピソードメモリ８２０に配置される。同時に、作業スペース８１５は、エピソードメモリ８２０内に格納された認識対象を使用して、それをそれぞれのコードレットと突き合わせることができる。
【００５９】
[0067]通常、少なくとも一部の認識対象が、エピソードメモリ８２０から長期メモリ８２５に移行する。しかし、エピソードメモリ８２０内に配置されるあらゆるデータが長期メモリ８２５に移行するわけではない。一部のデータは、長期メモリ８２５に達することなく、エピソードメモリ８２０から消滅する（例えば、異常と判定されなかった１回限りのイベントを記述するデータ）。
【００６０】
[0068]同時に、そのイベントの側面を使用して、長期メモリ８２５内の情報を補強することができる（例えば、どのように、どこで、どれくらいの期間、自動車が駐車スペース内に駐車したかについての各側面）。したがって、長期メモリ８２５を使用して、所与のシーン内の挙動の一般的パターンを構築及び累積することができる。一実施形態では、エピソードメモリ８２０内に格納された挙動のパターンと、十分な統計的重みを取得した挙動のパターンとが、挙動の一般的パターンとして長期メモリ８２５に移動される。しかし、長期メモリ８２５内に配置されるすべてのデータがそこにとどまるわけではない。一部のデータは最終的には消滅する（例えば、特定の詳細）。例えば、異なるカラーのいくつかの自動車が期間にわたって同じ場所に駐車している場合、その特定の場所に駐車することのできる自動車の一般的パターンを学習し、それを長期メモリ８２５内に配置することができる。しかし、以前に駐車した自動車に関する、その自動車のカラーなどの詳細は、ある期間の後に長期メモリ８２５から消滅する。
【００６１】
[0069]一実施形態では、作業スペース８１５は、長期メモリ８２５内で見つかった挙動の一般的パターンを使用して、シーン内で生じるイベントを判定する。イベントが認識されると、認識されたイベントが識別されたことを示す情報が生成される。その後で、そのような情報が警報を生成するのに使用される。一実施形態では、識別された異常な挙動に関する警報のみが発行され（例えば暴行）、別の実施形態では、識別された正常を記述する警報も発行される（例えば、自動車が駐車した）。
【００６２】
[0070]図９Ａ〜９Ｃは、本発明の一実施形態による、挙動認識システムが異常な挙動を検出し、警報を発行する、地下鉄の駅９００で生じるシナリオを示す。図示されるように、静止ビデオカメラ９１５が、地下鉄の駅９００で生じるイベントを取り込み、イベントを示すビデオイメージを挙動認識システムに供給する。図９Ａ〜９Ｃに示されるように、ビデオカメラ９１５は、バッグ９１０を搬送する人９０５がごみ箱９２０（図９Ａ）に近づき、ごみ箱９２０の隣の地面にバッグ９１０を置き（図９Ｂ）、バッグ９１０を後に残して去る（図９Ｃ）間に、人９０５のビデオイメージを取り込む。人間が地下鉄の駅９００に進入することを観測することからの学習に基づいて、人間として分類される物体によって持ち込まれた「その他」の物体（すなわちバッグ）を残す行為を異常と識別することができ、したがって、挙動認識システムは、警報を発行して、そのようなイベントの発生を示すことができる。
【００６３】
[0071]上記で論じた原理によれば、挙動認識システムは、ごみ箱９２０をごみ箱と具体的に識別することなく、静止ごみ箱９２０を表示するピクセルをバックグラウンドイメージの一部として処理する。対照的に、挙動認識システムは、人９０５とバッグ９１０をどちらもフォアグラウンドイメージ（複数可）として処理する。当初（図９Ａ）、自己学習挙動認識システムは、人９０５及びバッグ９１０を１つのフォアグラウンドブロブとみなすことができる。しかし、人９０５がバッグ９１０を下に置くとき（図９Ｂ〜９Ｃ）、人及びバッグ９１０は、別々のフォアグラウンドブロブの部分となる。一実施形態では、人９０５がバッグ９１０を拾い上げるとき、それぞれのフォアグラウンドブロブが新しいフォアグラウンドブロブに併合され、別の実施形態では、人９０５及びバッグ９１０が、引き続き２つの別個のフォアグラウンドブロブとして処理される。さらに別の実施形態では、人９０５及びバッグ９１０が、最初（図９Ａ）から別々のフォアグラウンドブロブであるとみなされる。
【００６４】
[0072]人９０５とバッグ９１０の両方について、挙動認識システムは、探索モデルを構築及び更新して、こうした物体をフレームごとに追跡する。さらに、挙動認識システムは、人９０５を「人間」として分類し、バッグ９１０を「その他」（或いは「バッグ」）として分類し、人９０５及びバッグ９１０についての情報を収集し、以前に学習した地下鉄の駅での人々及びバッグの挙動に基づいて、人９０５及びバッグ９１０のアクションを予測する。バッグを後に残すことが正常な学習挙動に関連しないので、挙動認識システムは、そのような挙動を異常と識別し、警報を発行する。或いは、バッグを後に残す状況が異常な挙動であることをシステムが以前に学習しているので、そのような挙動を異常と識別することができる。
【００６５】
[0073]上記は本発明の実施形態を対象とするが、本発明の基本的範囲から逸脱することなく、本発明の別の実施形態を考案することができ、本発明の範囲は、以下の特許請求の範囲によって決定される。
【図１】
0005602792.tif 000002
【図２】
0005602792.tif 000003
【図３】
0005602792.tif 000004
【図４】
0005602792.tif 000005
【図５】
0005602792.tif 000006
【図６】
0005602792.tif 000007
【図７】
0005602792.tif 000008
【図８】
0005602792.tif 000009
【図９Ａ】
0005602792.tif 000010
【図９Ｂ】
0005602792.tif 000011
【図９Ｃ】
0005602792.tif 000012