挙動認識システム
【課題】ビデオフレームの取得されたストリームに基づいて挙動を解析及び学習する方法及びシステムを提供する。
【解決手段】ストリーム中に示される物体が、ビデオフレームの解析に基づいて決定される。各物体は、物体の運動をフレームごとに追跡するのに使用される、対応する探索モデルを有することができる。物体のクラスが求められ、物体の意味表現が生成される。意味表現は、物体の挙動を求め、取得されたビデオストリームによって示される環境内で生じている挙動について学習するのに使用される。環境内のそうした物体の移動又は活動或いは不在を解析することにより、任意の環境についての正常な挙動及び異常な挙動を、迅速に、リアルタイムで学習し、学習したものに基づいて、異常な挙動又は疑わしい挙動を識別及び予測する。
【解決手段】ストリーム中に示される物体が、ビデオフレームの解析に基づいて決定される。各物体は、物体の運動をフレームごとに追跡するのに使用される、対応する探索モデルを有することができる。物体のクラスが求められ、物体の意味表現が生成される。意味表現は、物体の挙動を求め、取得されたビデオストリームによって示される環境内で生じている挙動について学習するのに使用される。環境内のそうした物体の移動又は活動或いは不在を解析することにより、任意の環境についての正常な挙動及び異常な挙動を、迅速に、リアルタイムで学習し、学習したものに基づいて、異常な挙動又は疑わしい挙動を識別及び予測する。
【発明の詳細な説明】
【発明の分野】
【0001】
[0001]本発明は、一般にはビデオ解析に関し、より詳細には、ストリーミングビデオデータに基づいて挙動を解析及び学習することに関する。
【関連技術の説明】
【0002】
[0002]現在入手可能なビデオ監視システムには、単純な認識機能を有するものがある。しかし、多くのそのような監視システムは、(システムが開発される前に)システムが探し出すことができなければならないアクション及び/又は物体の事前知識を必要とする。こうした監視システムを動作可能にし、十分に機能的にするために、特定の「異常な」挙動を対象とする、基礎となるアプリケーションコードを開発しなければならない。言い換えれば、システム基礎コードが一定の挙動の記述を含むのでなければ、システムは、そのような挙動を認識することができなくなる。さらに、多くの場合、別個の各挙動について、別々のソフトウェア製品を開発する必要がある。これにより、認識機能を備える監視システムが労働集約的なものとなり、法外にコストの高いものとなる。例えば、潜伏中の犯罪者に関して空港入口を監視すること、及びプール内で移動していない泳者を識別することは、2つの別個の状況であり、したがって、それぞれの「異常な」挙動を事前コーディングする2つの別個のソフトウェア製品の開発を必要とする。
【0003】
[0003]正常なシーンを記憶し、正常であると考えられるものが変化したときにはいつでも警報を生成するように監視システムを設計することもできる。しかし、どれほどの変化が異常であるかを認識するように、こうしたタイプの監視システムを事前プログラムしなければならない。さらに、そのようなシステムは、何が実際に生じたかを正確に特徴付けることができない。むしろ、こうしたシステムは、以前には「正常」であるとみなされた何かが変化したことを判定する。したがって、そのような方式で開発された製品は、限定された範囲の事前定義されたタイプの挙動のみを検出するように構成される。
【発明の概要】
【0004】
[0004]本発明の実施形態は、ビデオフレームの取得されたストリームに基づいて挙動を解析及び学習する方法及びシステムを提供する。ストリーム中に示される物体が、ビデオフレームの解析に基づいて決定される。各物体は、対応する探索モデルを有することができ、探索モデルは、物体の運動をフレームごとに追跡するのに使用される。物体のクラスが求められ、物体の意味表現が生成される。意味表現は、物体の挙動を求め、取得されたビデオストリームによって示される環境内で生じている挙動について学習するのに使用される。このようにして、このシステムは、環境内のそうした物体の移動又は活動或いは不在を解析することにより、任意の環境についての正常な挙動及び異常な挙動を、迅速に、リアルタイムで学習し、学習したものに基づいて、異常な挙動又は疑わしい挙動を予測する。
【0005】
[0005]本発明の特定の一実施形態は、シーン内のイベントを記録するビデオフレームのストリームを処理する方法を含む。この方法は一般に、ストリームの第1フレームを受け取ることを含むことができる。第1フレームは、フレーム内に含まれる複数のピクセルに関するデータを含む。この方法は、第1フレーム内のピクセルの1つ又は複数のグループを識別することをさらに含むことができる。各グループは、シーン内の物体を示す。この方法は、識別した各物体に関連する1つ又は複数の特徴を格納する探索モデルを生成すること、トレーニングされたクラシファイアを使用して各物体を分類すること、探索モデルを使用して、第1フレームで識別された各物体を第2フレームで追跡すること、並びに第1フレーム、第2フレーム、及び物体分類を機械学習エンジンに供給することをさらに含むことができる。この方法は、機械学習エンジンにより、複数のフレームにわたってシーン内の物体が関与する挙動の1つ又は複数の意味表現を生成することをさらに含むことができる。一般に、複数のフレームにわたってシーン内で観測される挙動のパターンを学習し、分類された物体が関与する挙動のパターンの発生を識別するように機械学習エンジンを構成することができる。
【0006】
[0006]上記で列挙した本発明の特徴、利点、及び目的を達成する方式を詳細に理解することができるように、添付の図面に示される実施形態を参照することにより、上記で簡潔に要約した本発明のより具体的な説明を得ることができる。
【0007】
[0007]しかし、添付の図面は本発明の典型的な実施形態のみを示し、したがって添付の図面を本発明の範囲の限定とみなすべきではないことに留意されたい。本発明は、他の同様に有効な実施形態を許容することができるからである。
【図面の簡単な説明】
【0008】
【図1】本発明の一実施形態による挙動認識システムの高レベルブロック図である。
【図2】本発明の一実施形態による、ビデオフレームのストリームに基づいて挙動を解析及び学習する方法の流れ図である。
【図3】本発明の一実施形態による、コンピュータビジョンエンジンのバックグラウンド−フォアグラウンドモジュールを示す図である。
【図4】本発明の一実施形態による、コンピュータビジョンエンジン内の注目の物体を追跡するモジュールを示す図である。
【図5】本発明の一実施形態による、コンピュータビジョンエンジンの推定器/識別器モジュールを示す図である。
【図6】本発明の一実施形態による、コンピュータビジョンエンジンのコンテキストプロセッサ構成要素を示す図である。
【図7】本発明の一実施形態による、機械学習エンジンの意味解析モジュールを示す図である。
【図8】本発明の一実施形態による、機械学習エンジンの認識モジュールを示す図である。
【図9A】本発明の一実施形態による、挙動認識システムが異常な挙動を検出し、警報を発行する場合のビデオフレームのシーケンスを示す図である。
【図9B】本発明の一実施形態による、挙動認識システムが異常な挙動を検出し、警報を発行する場合のビデオフレームのシーケンスを示す図である。
【図9C】本発明の一実施形態による、挙動認識システムが異常な挙動を検出し、警報を発行する場合のビデオフレームのシーケンスを示す図である。
【好ましい実施形態の詳細な説明】
【0009】
[0017]本明細書で説明する本発明の実施形態などの機械学習挙動認識システムは、経時的に取得した情報に基づいて挙動を学習する。本発明の状況では、ビデオストリーム(すなわち、個々のビデオフレームのシーケンス)からの情報が解析される。本開示は、経時的に移動及び/又は活動(或いはその不在)を解析することにより、シーン内の正常な挙動と異常な挙動を識別し、区別するように学習する挙動認識システムを説明する。正常な挙動/異常な挙動は、事前定義されず、ハードコーディングされない。その代わりに、本明細書で説明する挙動認識システムは、任意の環境について何が「正常」であるかを迅速に学習し、位置を監視することによって、すなわち記録されたビデオの内容をフレームごとに解析することによって学習したものに基づいて、異常な挙動又は疑わしい挙動を識別する。
【0010】
[0018]以下では、本発明の実施形態に対して参照が行われる。しかし、本発明は、具体的に説明されるどんな実施形態にも限定されないことを理解されたい。むしろ、以下の特徴及び要素の任意の組合せが、様々な実施形態に関係するか否かに関わらず、本発明を実装及び実施するのに企図される。さらに、様々な実施形態では、本発明は、従来技術に勝る多数の利点を実現する。しかし、本発明の実施形態は、他の可能な解決策に勝る利点、及び/又は従来技術に勝る利点を達成することができるが、特定の利点が所与の実施形態で達成されるか否かは、本発明の限定ではない。したがって、以下の態様、特徴、実施形態、及び利点は例示的なものに過ぎず、請求項(複数可)に明示的に記載されている場合を除いて、添付の特許請求の範囲の要素又は制限とはみなされない。同様に、「本発明」に対する参照は、本明細書で開示される本発明の何らかの主題の一般化とは解釈されないものとし、請求項(複数可)に明示的に記載されている場合を除いて、添付の特許請求の範囲の要素又は制限であるとは解釈されないものとする。
【0011】
[0019]本発明の一実施形態は、コンピュータシステムと共に使用されるプログラム製品として実装される。プログラム製品のプログラム(複数可)は、実施形態(本明細書で説明される方法を含む)の機能を定義し、プログラム(複数可)を様々なコンピュータ可読記憶媒体上に収容することができる。例示的なコンピュータ可読記憶媒体は、限定はしないが、(i)情報が永続的に格納される非書込み可能記憶媒体(例えば、CD−ROMドライブで読取り可能なCD−ROMディスクなどのコンピュータ内の読取り専用メモリ装置)と、(ii)変更可能な情報が格納される書込み可能記憶媒体(例えば、ディスケットドライブ内のフロッピィディスク又はハードディスクドライブ)とを含む。そのようなコンピュータ可読記憶媒体は、本発明の機能を指示するコンピュータ可読命令を担持するとき、本発明の実施形態である。他の媒体は、コンピュータや、ワイヤレス通信ネットワークを含む電話網などの、情報がそれを通じてコンピュータに搬送される通信媒体を含む。後者の実施形態は、具体的には、インターネット及び他のネットワークに情報を送り、インターネット及び他のネットワークから情報を送ることを含む。そのような通信媒体は、本発明の機能を指示するコンピュータ可読命令を搬送するとき、本発明の実施形態である。広義には、コンピュータ可読記憶媒体及び通信媒体が、本明細書ではコンピュータ可読媒体と呼ばれることがある。
【0012】
[0020]一般には、本発明の実施形態を実施するために実行されるルーチンは、オペレーティングシステム又は特定のアプリケーションの一部、コンポーネント、プログラム、モジュール、オブジェクト、或いは命令のシーケンスでよい。本発明のコンピュータプログラムは通常、ネイティブコンピュータによって機械可読フォーマットに変換される多数の命令、したがって実行可能命令から構成される。さらに、プログラムは、プログラムに対してローカルに常駐し、或いはメモリ内又は記憶装置上に見出される変数及びデータ構造からなる。さらに、本明細書で説明される様々なプログラムを、本発明の特定の実施形態でプログラムがそれに関して実装される応用例に基づいて識別することができる。しかし、以下のどんな特定のプログラム用語も便宜上使用されずに過ぎず、したがって、本発明がそのような用語で識別及び/又は示唆される何らかの特定の応用例でもっぱら使用されることに限定されないものとすることを理解されたい。
【0013】
[0021]本発明の実施形態は、挙動を解析、学習、及び認識する挙動認識システム及び方法を提供する。図1は、本発明の一実施形態による挙動認識システム100の高レベルブロック図である。図示されるように、挙動認識システム100は、ビデオ入力105、ネットワーク110、コンピュータシステム115、並びに入力装置及び出力装置145(例えば、モニタ、キーボード、マウス、プリンタなど)を含む。
【0014】
[0022]ネットワーク110は、ビデオ入力105からビデオデータ(例えば、ビデオストリーム(複数可)、ビデオイメージなど)を受け取る。ビデオ入力105は、ビデオカメラ、VCR、DVR、DVD、コンピュータなどでよい。例えば、ビデオ入力105は、一定のエリア(例えば地下鉄の駅)に向けられ、そのエリア及びその中で生じるイベントを継続的に記録する静止ビデオカメラでよい。一般に、カメラにとって可視であるエリアは「シーン」と呼ばれる。特定のフレームレート(例えば毎秒24フレーム)の個々のビデオフレームのシーケンスとしてシーンを記録するようにビデオ入力105を構成することができ、各フレームは固定のピクセル数を含む(例えば320×240)。各フレームの各ピクセルは、カラー値(例えばRGB値)を指定する。さらに、ビデオストリームを周知のそのようなフォーマット、例えばMPEG2、MJPEG、MPEG4、H.263、H.264などを使用してフォーマットすることができる。以下でより詳細に論じるように、挙動認識システムは、この生情報を解析して、ストリーム中のアクティブな物体を識別し、そのような要素を分類し、そのような要素のアクション及び相互作用に関する様々なメタデータを導出し、この情報を機械学習エンジンに供給する。機械学習エンジンを、経時的に評価、学習、及び記憶するように構成することができる。さらに、「学習」に基づいて、機械学習エンジンは、一定の挙動を異常と識別することができる。
【0015】
[0023]ビデオ入力105で記録されたビデオデータをコンピュータシステム115に送信するのにネットワーク110を使用することができる。一実施形態では、ネットワーク110は、受け取ったビデオフレームのストリームをコンピュータシステム115に送信する。
【0016】
[0024]例示的には、コンピュータシステム115は、CPU120と、ストレージ125(例えば、ディスクドライブ、光ディスクドライブ、フロッピィディスクドライブなど)と、コンピュータビジョンエンジン135及び機械学習エンジン140を含むメモリ130とを含む。コンピュータビジョンエンジン135は、ビデオ入力105によって供給されたビデオフレームのシーケンスを解析するように構成されたソフトウェアアプリケーションを提供することができる。例えば、一実施形態では、ビデオフレームを解析して、注目のターゲットを識別し、そうした注目のターゲットを追跡し、注目のターゲットについての特性を推論し、注目のターゲットをカテゴリごとに分類し、観測されたデータをタグ付けするようにコンピュータビジョンエンジン135を構成することができる。一実施形態では、コンピュータビジョンエンジン135は、分類された注目の物体の属性のリスト(テクスチャ、カラーなど)を生成し、そのリストを機械学習エンジン140に供給する。さらに、コンピュータビジョンエンジンは、シーン内の追跡される各物体についての様々な情報(例えば、運動データ、深さデータ、カラーデータ、外観データなど)を機械学習エンジン140に供給することができる。
【0017】
[0025]機械学習エンジン140は、ビデオフレームと、コンピュータビジョンエンジン135によって生成された結果とを受け取る。機械学習エンジン140は、受け取ったデータを解析し、ビデオフレーム中に示されるイベントの意味表現を構築し、パターンを決定し、こうした観測される挙動から学習して、正常なイベント及び/又は異常なイベントを識別する。コンピュータビジョンエンジン135及び機械学習エンジン140並びにその構成要素が、以下でより詳細に説明される。正常/異常な挙動/イベントが判定されたかどうか、及び/又はそのような挙動/イベントが何であるかを記述するデータを、出力装置145に供給し、警報、例えばGUIインターフェース画面上に提示される警報メッセージを発行することができる。
【0018】
[0026]一般に、コンピュータビジョンエンジン135と機械学習エンジン140は、受け取ったビデオデータをリアルタイムで処理する。しかし、コンピュータビジョンエンジン135と機械学習エンジン140によって情報を処理する時間スケールは、異なることがある。例えば、一実施形態では、コンピュータビジョンエンジン135は、受け取ったビデオデータフレームをフレームごとに処理し、一方、機械学習エンジンは、受け取ったデータをNフレームごとに処理する。言い換えれば、コンピュータビジョンエンジン135は、各フレームをリアルタイムで解析して、所与のフレーム内で何が生じているかについての1組の情報を導出するのに対して、機械学習エンジン140は、ビデオ入力のリアルタイムフレームレートによって制限されない。
【0019】
[0027]しかし、図1は、挙動認識システム100の可能な一構成を示しているに過ぎないことに留意されたい。例えば、ビデオ入力105がネットワーク110を介してコンピュータシステム115に接続されるように示されているが、ネットワーク110が常に存在するわけではなく、常に必要であるわけではない(例えば、ビデオ入力105をコンピュータシステム115に直接的に接続することができる)。さらに、一実施形態では、コンピュータビジョンエンジン135をビデオ入力装置の一部として(例えば、ビデオカメラに直接的に配線されるファームウェア構成要素として)実装することができる。そのような場合、ビデオカメラの出力を、解析のために機械学習エンジン140に供給することができる。
【0020】
[0028]図2は、本発明の一実施形態による、ビデオフレームのストリームから挙動を解析及び学習する方法200を示す。図示されるように、方法200はステップ205で始まる。ステップ210で、1組のビデオフレームがビデオ入力源から受信される。ステップ215で、ビデオフレームを処理して、ビデオノイズ、不規則又は異常なシーン照明、カラー関連の問題などを最小限に抑えることができる。すなわち、挙動認識システムの構成要素(例えば、上記で論じたコンピュータビジョンエンジン135及び機械学習エンジン140)による処理前にイメージの可視性を改善するようにビデオフレームの内容を改善することができる。
【0021】
[0029]ステップ220で、連続する各ビデオフレームが解析され、方法200の後続のステージの間に使用するためにフォアグラウンドイメージ及びバックグラウンドイメージが識別及び/又は更新される。一般には、バックグラウンドイメージは、ビデオ入力によって取り込まれているシーンの静止要素(例えば、地下鉄の駅のプラットホームを示すピクセル)を含み、フォアグラウンドイメージは、ビデオ入力によって取り込まれる揮発性要素(例えば、プラットホームの周囲で移動中の人を示すピクセル)を含む。言い換えれば、バックグラウンドイメージは、フォアグラウンド要素が進入し、互いに相互作用し、退出するステージを提供する。バックグラウンドイメージは、バックグラウンドイメージ内の各ピクセルについてのカラー値を含む。一実施形態では、いくつかのフレームにわたって所与のピクセルについてカラー値をサンプリングすることによってバックグラウンドイメージを導出することができる。さらに、新しいフレームが受信されるときに、連続する各フレーム内に含まれる追加の情報に基づいてバックグラウンドイメージの要素を更新することができる。通常、どのピクセルがバックグラウンドの部分か、それともフォアグラウンドの部分かを、ビデオフレームのシーケンス中の各フレームについて判定することができ、バックグラウンドイメージを所与のフレーム内のピクセルカラー値と比較することによってフォアグラウンド要素を識別することができる。フォアグラウンドピクセルが識別されると、マスクをフレームに適用することができ、バックグラウンドの部分であるピクセルがイメージから効果的に切り離され、イメージ内のフォアグラウンドピクセルの1つ又は複数のみが残る。例えば、各フォアグラウンドピクセルが白として表現され、各バックグラウンドピクセルが黒として表現されるようにマスクをフレームに適用することができる。得られる白黒イメージ(2次元配列として表現される)を挙動認識システムの後続の要素に供給することができる。一実施形態では、コンピュータシステム115は、所与のシーンについてのバックグラウンドイメージの初期モデルを備えることができる。
【0022】
[0030]ステップ225で、所与のフレームに関連するフォアグラウンドイメージを解析して、フォアグラウンドイメージを注目のターゲットにセグメント化することによって1組のブロブ(すなわち、関連するピクセルのグループ)を識別することができる。言い換えれば、フォアグラウンドイメージ内の別個のブロブを分離するようにシステムを構成することができ、各ブロブは、フレーム内の異なるフォアグラウンド物体を表す可能性が高い(例えば、自動車、人間、スーツケースなど)。各フォアグラウンドブロブについて、フォアグラウンドブロブが最初に識別されたときに探索モデルを開始することができる。スキーム内のブロブの位置を取り込み、どのピクセルがブロブの部分として含まれるかを識別し、フレームごとの観測されるブロブの挙動に関する様々なメタデータを格納するのに探索モードが使用される。さらに、追跡モジュールで探索モデルを使用して、対応する物体の運動をフレームごとに予測、発見、及び追跡することができる。連続するフレームが受信されるにつれて、フォアグラウンドブロブが連続するビデオフレームを通じて引き続き存在するときに、探索モデルが更新される。そのような更新を、追加の各ビデオフレームと共に、周期的に、探索モデルの改善を可能にする新しい情報が受信されたとき、必要に応じて、などで実施することができる。
【0023】
[0031]様々な方式で探索モードを実装することができる。例えば、一実施形態では、探索モデルは、所与のフォアグラウンド物体についての、どのピクセルがそのフォアグラウンド物体の部分であるとみなされるかを含むいくつかの特徴を取り込むように構成された外観モデルでよい。次いで、フレームごとのその物体を表すピクセルに基づいて、所与の物体の外観モデルを更新することができる。別の実施形態では、探索モデルは、物体を包含するための最小の境界長方形でよい。最小の境界長方形は、より迅速に計算されるが、実際にはバックグラウンドの部分であるブロブの部分としてのピクセルを含む。それでも、あるタイプの解析について、この手法は効果的であることがある。こうした探索モデルが以下に詳細に説明される。ステップ230で、探索モデルが使用され、フォアグラウンド物体がフレームごとにシーンの中を動き回るときにフォアグラウンド物体の運動が追跡される。すなわち、物体が第1フレームで識別され、外観モデル(及び/又は境界ボックス)がその物体について生成されると、探索モデルを使用して、フォアグラウンド物体がシーンから退出するまで、外観モデル(及び/又は境界ボックス)に基づいて、後続のフレームで物体を識別及び追跡することができる。探索モデルを使用して、例えば物体が位置を変更した後にビデオフレーム内の物体を識別することができる。したがって、同一の物体に関する様々なタイプの情報が、そのような物体がシーンの中を移動するときに求められる(例えば、物体の運動特性、向き、運動方向など)。
【0024】
[0032]ステップ235で、挙動認識システムは、フォアグラウンドブロブを離散的な数の分類のうちの1つとして分類することを試みる。例えば、一実施形態では、挙動認識システムを構成して、各フォアグラウンド物体を「人間」、「車両」、「その他」、又は「不明」のうちの1つとして分類することができる。もちろん、より多くの分類を使用することができ、さらには、個々のケースの必要に適合するように分類を合わせることができる。例えば、手荷物コンベヤベルトのビデオイメージを受け取る挙動認識システムは、ベルト上の物体を様々なタイプ/サイズの手荷物として分類することができる。フォアグラウンド物体を分類した後、そのような物体に関するより詳しい推定を行うことができ、例えば、物体のポーズ(例えば、向き、姿勢など)、位置(例えば、ビデオイメージで示されるシーン内の位置、注目の他の物体に対する位置など)、及び運動(例えば、軌跡、速さ、方向など)が推定される。この情報を機械学習エンジン140で使用して、類似の物体(例えば、人間として分類された他の物体)の過去の観測に基づいて、一定の挙動を正常又は異常と特徴付けることができる。
【0025】
[0033]ステップ240で、前のステップの結果(例えば、追跡結果、バックグラウンド/フォアグラウンドイメージデータ、分類結果など)が組み合わされ、解析されて、ビデオフレームで示されるシーンのマップが作成される。一実施形態では、シーンが、空間的に分離された領域にセグメント化され、各セグメントが1組のピクセルで定義される。領域が、z深さに従ってソートされ(すなわち、どのセグメントがビデオ取込み装置に近く、どのセグメントがビデオ取込み装置から離れているか)、任意選択でラベルが付けられる(例えば、自然物、人工物など)。ステップ245で、物体の運動の意味表現が作成される。言い換えれば、追跡される物体の移動及び/又はアクションの記号表現が作成される(例えば、「自動車が駐車する」、「自動車が停止する」、「人がかがむ」、「人が消える」など)。ステップ250で、意味表現が、認識可能なパターンについて解析される。
【0026】
[0034]ステップ255で、得られる意味表現、シーンの注釈付きマップ、及び分類結果が解析される。挙動認識システムは、そのような結果を解析して挙動のパターンを学習し、観測に基づいて一般化し、類推を行うことによって学習する。これにより、どの種類の挙動が正常であり、どの種類の挙動が異常であるかを認識システムが判定及び/又は学習することも可能となる。すなわち、認識可能なパターンを識別し、所要の物体について新しい挙動を評価し、所与の物体について学習した挙動のパターンを補強又は修正することなどを行うように機械学習エンジンを構成することができる。
【0027】
[0035]ステップ260で、任意選択で、以前のステップの結果が、認識された挙動について解析される。さらに、所与のイベントの発生を認識したことに応答して指定のアクションを実施するように挙動認識システムを構成することができる。例えば、以前のステップの結果に基づいて、挙動認識システムは、人間と識別されたフォアグラウンド物体が異常な挙動に関与するときに警報を発行することができる。さらに、ある挙動が「異常」であるかどうかは、学習エンジンが何を所与のシーン内の人間の「正常な」挙動であると「学習」したかに基づくことができる。一実施形態では、異常な挙動が判定された場合にのみ警報が発行される(例えば、人が地下鉄の駅に放置されたバッグを残したことを示す警報)。別の実施形態では、シーン内で正常なイベントが行われていることを示す警報が発行される(例えば、車が駐車したことを示す警報)。方法はステップ270に進む。
【0028】
[0036]上述のステップのすべてを、列挙した順序で実施することが必要であるわけではないことに留意されたい。さらに、記載の方法が動作するために記載のステップのすべてが必要であるわけではない。どのステップを使用すべきか、ステップをどの順序で実施すべきか、あるステップを他のステップよりも頻繁に反復すべきかどうかが、例えば特定のユーザの必要、観測される環境の特定の品質などに基づいて決定される。
【0029】
[0037]図3から6は、本発明の一実施形態による、図1に示されるコンピュータビジョンエンジン135の様々な構成要素を示す。具体的には、図3は、バックグラウンド−フォアグラウンドモジュール300の構成要素を示す。バックグラウンド−フォアグラウンドモジュール300は、各ビデオフレーム内の特徴を使用して、どのピクセルがバックグラウンドイメージに属し、どれがフォアグラウンドイメージに属するかを識別する。一実施形態では、ビデオフレームが解析されて、各ピクセルが、シーン(及びそのフレーム)についてのバックグラウンドイメージの部分を表示すると分類され、又はそのフレームについてのフォアグラウンドイメージの部分を表示すると分類される。
【0030】
[0038]通常、経時的にカラーを変更しないピクセルが、バックグラウンドイメージの部分とみなされる。ピクセルのカラー値を経時的にサンプリングすることにより、あるフレーム内のフォアグラウンド物体の存在を除くことができる。さらに、バックグラウンドイメージを動的に更新することができるので、バックグラウンドイメージは、光と影の変化を補償することができる。同様に、バックグラウンドイメージに対してカラーを変更するピクセルは、フォアグラウンド物体を表示していると想定される。言い換えれば、シーン内のフォアグラウンド物体の運動は、連続するビデオフレーム内のピクセルカラー値間の差に基づく。一般に、バックグラウンドイメージを、フォアグラウンド物体が切り離されたピクセルのビデオフレームと想定することができる。フォアグラウンドイメージを、バックグラウンドの間を埋めるピクセルと想定することができる。或いは、ただ1つのフォアグラウンドイメージを使用することもできる。そのようなフォアグラウンドイメージを、フォアグラウンドピクセルのパッチを伴う透明なビデオフレームと想定することができる。所与のフォアグラウンド物体を追跡するのに2つの連続するフレームで十分であるが、所与のシーンに関するバックグラウンドイメージを求めるときに、複数の連続するフレームを比較することにより、より正確な結果が得られることに留意されたい。
【0031】
[0039](あるフレームで)当初バックグラウンドピクセルと判定されたピクセルが(別のフレームで)フォアグラウンドピクセルとなることがあり、逆も同様であることにも留意されたい。例えば、バックグラウンド内のピクセルのカラー値が変化し始めた場合、ピクセルをフォアグラウンドピクセルと再分類することが適切であることがある(例えば、長期間駐車場に駐車している自動車が移動し始める)。同様に、変化するピクセルが静的となることがあり、したがって、そのようなピクセルをバックグラウンドピクセルとして再分類することが必要となることがある(例えば、ごみ箱が永続的な使用のために地下鉄の駅に運び込まれた)。しかし、不必要なピクセル再分類を回避し、バックグラウンドイメージ及びフォアグラウンドイメージ内に何が含まれるかについての解釈を改善するために、一実施形態では、挙動認識システムは、ピクセルを短期バックグラウンド(STBG)、短期フォアグラウンド(STFG)、長期バックグラウンド(LTBG)、及び長期フォアグラウンド(LTFG)の部分として分類することができる。STBG及びSTFGが、短期間(例えば数秒以下)用のメモリに格納され、LTBG及びLTFGが、より長期間(例えば数分)用のメモリ内に格納される。最初にピクセルをSTBG/STFGと判定し、次いで適性のあるピクセルのみをLTBG/LTFGと解釈することにより、どのピクセルがバックグラウンド/フォアグラウンドイメージの部分であるかをより正確に判定することが可能となる。もちろん、特定のシーン内で生じるイベントに従って時間枠を調節することができる。
【0032】
[0040]図3は、本発明の一実施形態による、ビデオフレームに関するバックグラウンドイメージ及びフォアグラウンドイメージを生成するのに使用することのできるバックグラウンド−フォアグラウンドモジュール300の構成要素を示す。最初に、ビデオフレームがバックグラウンドトレーニングモジュール305によって受信される。フレームの初期シーケンスを使用してバックグラウンド−フォアグラウンドモジュール300をトレーニングすることができる。トレーニングにより、バックグラウンド−フォアグラウンドモジュール300が、取得されたビデオフレーム内に示されるシーンのバックグラウンドイメージを構築することが可能となる。トレーニングプロセスは、システムの初期化ステージ中、すなわちシーンのバックグラウンドイメージが求められる前に行うことができる。
【0033】
[0041]ダークシーン補償モジュール310が、ピクセル値を処理して、シーンの各部分内の低照明条件又は暗照明条件を補償することができる。さらに、処理されたビデオフレームをSTFG/STBGモジュール315及びLTBG/LTBGモジュール320に供給するようにダークシーン補償モジュール310を構成することができる。所与のフレーム内のSTFGピクセル及びSTBGピクセルを識別し、この情報をそれぞれステールFGモジュール325及び照明補償モジュール335に供給するようにSTFG/STBGモジュール315を構成することができる。LTFGピクセル及びLTBGピクセルを識別し、STFG/STBGモジュール315と同様にこの情報をそれぞれステールFGモジュール325及び照明補償モジュール335に供給するようにLTFG/LTBGモジュール320を構成することができる。ステールFGモジュール325は、古いフォアグラウンドピクセルを識別し、結果を更新BGモジュール330に供給する。BG/FG決定が陳腐化し、再評価する必要があるときに、ピクセルは「古く」なることがある。受信した後、照明補償モジュール335は、照明の変化(例えば、太陽を覆い隠す雲によるシーンの増光/減光、又は人工光源に対する調節)に対して処理を動的に調節することができ、ダークシーン補償モジュール310は、極めて暗い領域及び/又は微光条件の限界内で特殊処理を動的に実現する。更新BGモジュール330は、バックグラウンドイメージモデルを更新し、結果を照明補償モジュール335に転送し、照明補償モジュール335は、受信したすべての結果を処理した後、処理済みの結果をLTFG/LTBGモジュールに供給する。
【0034】
[0042]したがって、集合的に、バックグラウンド−フォアグラウンドモジュール300は、挙動認識システムの他の構成要素で使用される1組のバックグラウンドイメージ及びフォアグラウンドイメージ並びに/或いはバックグラウンドモデル及びフォアグラウンドモデルを求める。バックグラウンドモデル及びフォアグラウンドモデルは、シーンバックグラウンドの部分(すなわちステージの部分)と、フォアグラウンド物体(すなわち、ステージ上で何らかのアクションを実施する要素)を表示するピクセルとを区別する。バックグラウンド−フォアグラウンドモジュール300の上記の説明では、ただ1つのバックグラウンドイメージに対して参照が行われるが、別法として、バックグラウンド−フォアグラウンドモジュール300は、複数のバックグラウンドイメージを使用できることに留意されたい(例えば、より正確なバックグラウンド識別のために、イメージフレームのシーンをいくつかのバックグラウンドゾーンに分割することができる)。
【0035】
[0043]一実施形態では、バックグラウンドモデル/イメージは、ピクセルカラーなどの追加の情報を含むことができる。さらに、フォアグラウンドモデル/イメージは通常、カラーなどの追加のピクセル特性を含む。しかし、そのような情報を保持又は収集することを省略することができる(例えば、カラーの認識が注目の物体間の区別を大幅に改善するわけではない環境、例えば大部分が同一又は類似のカラーの物体を移送するコンベヤラインの環境で、リソースを節約するため)。
【0036】
[0044]図4は、本発明の一実施形態による、シーンのフォアグラウンドイメージ内に表示される物体を識別するように構成されたフォアグラウンド物体モジュール400を示す。一般には、所与のフレームについてバックグラウンド−フォアグラウンドモジュール300によって生成されたフォアグラウンドイメージを受け取り、フォアグラウンドイメージに関する探索モデルを構築/更新し、フォアグラウンドイメージ内の表示される物体の運動がフレームごとにシーンの中を動き回るときに、その物体を追跡するように試みるようにフォアグラウンド物体モジュール400を構成することができる。
【0037】
[0045]図4に示されるように、フォアグラウンド物体モジュール400は、ブロブ検出モジュール405、構築/更新モジュール410、追跡モジュール420、及び1〜Mの探索モデル、探索モデル1(4151)、探索モデル2(4152)から探索モデルM(415M)までを含む。一実施形態では、フォアグラウンドイメージを解析して、フォアグラウンドブロブと呼ばれる、関連するピクセルのグループを検出するようにブロブ検出モジュール405を構成することができ、そのようなピクセルの各グループは、シーン内の別個の物体を表す可能性が高い。さらに、示される各フォアグラウンドブロブに追跡識別番号が割り当てられる。フォアグラウンドブロブが構築/更新モジュール410によって使用されて、探索モデル4151〜415Mが構築/更新され、前のビデオフレームで識別されたブロブについて既存の探索モデルが構築又は更新されている。一実施形態では、探索モデル4151〜415Mを更新するために、構築/更新モジュール410は、追跡モジュール420によって生成された結果も使用する。現在検出されているブロブが探索モデルを有さない場合、そのような探索モデルが構築(作成)される。
【0038】
[0046]所与の瞬間に、フォアグラウンド物体モジュール400は、異なるフォアグラウンドブロブをそれぞれ表す複数の探索モデルを含むことができる。探索モデルの数は、フォアグラウンドイメージ内のブロブ検出モジュール405によってフォアグラウンドブロブがいくつ識別されるかに依存する。一実施形態では、フォアグラウンドブロブが後続のビデオフレームで何を行うことができるかに関する予測機能と共に探索モデルを構成することができる。例えば、所与のフォアグラウンドブロブに関連する探索モデルは、現在位置及び運動データに基づくそのブロブの予想未来位置(及び形状)を含むことができる。さらに、各探索モデルはまた、所与のフォアグラウンドブロブについて導出される様々な情報をも含むことができる(例えば、テクスチャ、カラー、パターン、シーン内のz深さ位置、サイズ、移動率、カイネマティックスなど)。
【0039】
[0047]さらに、本発明の原理に従って様々なタイプの探索モデルを使用することができる。上述のように、探索モデルを追跡モジュール420で使用して、フレームごとの対応する物体の運動を予測、発見、及び追跡することができる。一実施形態では、外観モデルが使用される。外観モデルは、物体を表示するのに使用されるピクセルを含む(例えば、フレームがフォアグラウンドイメージ内に人間を表示する場合、外観モデルは主に、人間の輪郭を描くピクセルと、輪郭内部のピクセルとを含む)。別の実施形態では、探索モデルが特徴ベースのモデルとして実装され、特徴ベースのモデルは、物体を包含する最小の境界長方形などの長方形内のピクセルを表す(例えば、物体が人間である場合、特徴ベースのモデルは、人間を包含する境界長方形を含むことができる)。或いは、特徴ベースのモデルは、所与の物体の異なる領域を包含する最小限の可能なサイズの長方形など、所与の物体について複数の境界長方形を含むことができる(例えば、フレームが人間を表示する場合、そのような物体に関する特徴ベースのモデルは、最小限のサイズのいくつかの長方形を含むことができ、各長方形は、腕、脚、頭、胴などの人間の異なる領域を包含する)。
【0040】
[0048]どの探索モデルが使用されるかは、例えば、観測される環境、挙動認識システムのユーザのプリファレンスなどに依存することがある。例えば、外観モデルは、より厳密な追跡を実現する可能性が高いが、特徴ベースのモデルは、例えば、追跡される注目の物体の形状が単純である場合(例えば手荷物コンベヤベルト)、リソースを節約することができる。
【0041】
[0049]上述のように、追跡モジュール420は、探索モデル415を使用して、ビデオシーケンス内に示される、対応する物体の運動を、そのような物体がシーンの中を動き回るときにフレームごとに追跡する。追跡モジュール420は、現ビデオフレームの検出されたフォアグラウンドブロブを取り、フォアグラウンドブロブとの最も近い合致を実現する以前のビデオフレームの探索モデルを探す。一実施形態では、現在検出されている各フォアグラウンドブロブについて、追跡モジュール420は、探索モデルとフォアグラウンドブロブとの間の相対次元ベクタリング距離が大域的最小となる探索モデル415を探す。このようにして、追跡モジュール420は、探索モデル415のうちの1つによって表される各物体の位置をフレームごとに追跡することができる。一実施形態では、追跡モジュール420は、以前のビデオフレームに基づいて取得された運動情報を使用して、現ビデオフレーム内の探索モデルの位置を推定する。
【0042】
[0050]図5は、本発明の一実施形態による、コンピュータビジョンエンジンの推定器/識別器モジュール500を示す。一般に、推定器/識別器500は、フォアグラウンドブロブ及びそれぞれの探索モデルを受け取り、フォアグラウンドブロブによって表されるビデオフレーム内の物体を、既知のカテゴリ(クラス)のメンバとして分類することを試みる。一実施形態では、注目の物体が識別されている場合、推定器/識別器モジュール500は、注目の物体のポーズ、位置、及び運動を推定する。推定器/識別器500は通常、所与のクラスの例を表す多数の肯定的例及び否定的例に関してトレーニングされる。さらに、ビデオをフレームごとに解析中に、オンライントレーニングを使用して、クラシファイアを動的に更新することができる。
【0043】
[0051]図示されるように、推定器/識別器500は、クラシファイア505、クラス1(5101)からクラスN(510N)、及び識別器515を含む。クラシファイア505は、フォアグラウンド物体をクラスのうちの1つ、クラス1(5101)からクラスN(510N)として分類することを試みる。それに成功した場合、分類された物体の静的データ(例えば、サイズ、カラーなど)及び運動データ(例えば、速さ、速度、方向など)も期間(例えば、X個のフレーム)にわたって識別器515で求めることができる。識別された各物体について、推定器/識別器500は、注目の物体の上述の静的特性及び運動特性を含む生コンテキストイベントと、識別された物体のクラスの平均メンバの静的特性及び運動特性を含む既知の物体観測値とを出力する。
【0044】
[0052]一実施形態では、システムは、人間、車両、その他、及び不明という4つのクラシファイアを使用する。注目の物体のクラスが求められるまで、そのような物体はクラス「不明」のメンバとして扱われる。各クラスは、クラスの平均メンバに関するポーズ、静的データ、及び運動データを含む。一実施形態では、さらに多くの注目物体が分類及び識別され、そのポーズ、静的データ、及び運動データが求められ、収集されるにつれて、そのようなデータが継続的に更新される。通常、推定器/識別器500は、リアルタイムでフレームごとに情報を処理することに留意されたい。
【0045】
[0053]図6は、本発明の一実施形態による、コンピュータビジョンエンジン135のコンテキストプロセッサ600を示す。一般に、コンテキストプロセッサ600は、バックグラウンド−フォアグラウンドモジュール300、フォアグラウンド物体モジュール400、推定器/識別器モジュール500などのコンピュータビジョンエンジン135の他の構成要素から受け取った結果を組み合わせ、ビデオフレーム内に取り込まれるシーンの注釈付きマップを作成する。一実施形態では、シーンが空間的に分離された領域にセグメント化され、各領域が、シーンのz深さに従ってソートされ、任意選択で、自然要素又は人工要素を示すものとしてラベルが付けられる。
【0046】
[0054]図示されるように、コンテキストプロセッサ600は、シーンをより小さいエリア(領域)に分割する領域セグメンタ605と、領域間の関係を(例えば、互いに対してビデオ取込み装置に近く/離れていると)定義する領域シーケンサ610と、注釈付きマップを生成するシーンマッパ615とを含むことができる。一実施形態では、コンテキストプロセッサ600は、追跡される注目の物体の運動(軌跡など)及び位置に関する情報を使用して、注釈付きマップを生成する。
【0047】
[0055]図7及び8は、図1に示される機械学習エンジン140の様々な構成要素を示す。具体的には、図7は、本発明の一実施形態による、意味解析モジュール700の構成要素を示し、図8は、認識モジュール800の構成要素を示す。一般に、意味モジュール700は、追跡される物体の運動及びアクションの意味表現(すなわち記号表現)を作成する。意味表現は、特定の追跡される物体の運動に基づいて(且つ最終的には、フレームごとのピクセル−カラー値の変化に基づいて)シーン内で何が生じていると考えられるかを記述する形式的な方式を提供する。シーン内のイベントを記述するのに形式言語文法(例えば、名詞及び動詞)が使用される(例えば、「自動車が駐車する」、「人が現れる」など)。
【0048】
[0056]その後で、認識可能なパターンについて意味表現が解析され、結果が、図8に示される認識モジュール800に供給される。一実施形態では、意味モジュール700はまた、シーン内の物体の軌跡の記号表現など、シーン内で生じるイベントの様々な側面を含むシーンの記号マップをも構築する。一実施形態では、記号マップはまた、頻度分布をも含むことができる(例えば、一定のクラス又は種類の物体がシーン内にどれだけの頻度で、どこに存在するかに関するデータ)。
【0049】
[0057]図7に示されるように、意味モジュール700は、知覚メモリ710、潜在的意味解析モジュール(LSA)715、基本イベントモジュール725、位相空間区分化モジュール730、増分潜在的意味解析モジュール(iLSA)735、及び形式言語モジュール740を含む。知覚メモリ710は、意味モジュール700に対して供給された情報を取得し、基本イベントモジュール725及び位相空間区分化モジュール730による後続での使用のためにこの情報を格納する。一実施形態では、知覚メモリ710は、より詳しい解析のために基本イベントモジュール725及び位相空間区分化モジュール730にどの情報を供給すべきかを識別する。
【0050】
[0058]知覚メモリ710で基本イベント(例えば、自動車が停止する、方向を反転する、消滅する、出現する、人がかがむ、倒れる、会話など)の発生を識別するように基本イベント検出モジュール725を構成することができる。基本イベントは通常、追跡される物体の運動特性の変化を反映する。したがって、物体が「自動車」であると分類されると、基本イベント検出モジュール725は、自動車に関するデータを評価して、様々な挙動イベントが発生するときにそれを識別する。一実施形態では、(例えば、自己学習挙動認識システムが使用される特定の環境について)基本イベントが事前定義される。別の実施形態では、基本イベントのうちの一部のみが事前定義され(例えば、駐車、方向転換、転倒)、他の基本イベントが経時的に学習される(例えば、一定のクラスの物体をシーンの特定のスポットで見つけることができる)。
【0051】
[0059]位相空間区分化モジュール730は、シーン内の物体の速度を有する幾何学的位置に関する情報を求める。したがって、基本イベントモジュール725及び位相空間区分化モジュール730は、意味モジュール700が2つの別個の方式でデータを解析することを可能にする。基本イベントモジュール725及び位相空間区分化モジュール730の結果に基づいて、LSA715及びiLSA735は、シーンのモデルを構築/更新し、モデルは、注目の物体を含む。
【0052】
[0060]LSA715は一般に、意味モジュール700の初期トレーニングモジュールである。LSAは、LSA715が十分な統計的重みの結果を生成するまで、期間にわたってデータを収集する。言い換えれば、LSA715は、シーンの基本レイアウトを学習し、iLSA735は、そのようなレイアウトを増分式に更新する。iLSA735は、シーン内で生じる挙動のパターンの変化を処理するのに十分な柔軟性があることに留意されたい。形式言語学習モジュール740は、iLSA735で生成されたデータを使用して、意味表現(シーン内で何が生じているかについての記号表現)を作成し、作成された意味表現が何を意味するかを学習するために、意味表現を認識モジュール800に供給する。
【0053】
[0061]図8は、本発明の一実施形態による機械学習エンジンの認識モジュールを示す。コンピュータビジョン135及び機械学習エンジン140の構成要素の少なくとも一部(例えば、推定器/識別器モジュール500、コンテキストプロセッサ600、意味モジュール700など)によって生成された結果を処理するように認識モジュール800を構成することができる。一般に、認識モジュール800は、パターンを学習し、観測に基づいて一般化し、類推を行うことによって学習する。
【0054】
[0062]図8に示されるように、認識モジュール800は、認識連想メモリ805、スケジューラ830、作業スペース815、エピソードメモリ820、及び長期メモリ825を含むことができる。作業スペース815は、どんな情報が機械学習エンジン140によって現在評価されているかを反映するメモリ領域を提供する。すなわち、作業スペース815は、データのどんな要素が、機械学習環境140の「注意」を現在引いているかを格納する。以下で説明されるように、作業スペース815内のデータは、規則(それぞれイベントを記述する)及びコードレットの集合を含むことができる。認識連想メモリ805は、認識モジュール800に供給されるデータを収集し、そのようなデータを認識対象として格納する。各認識対象は、基本イベントなどの、ビデオ内で生じる何かを記述するデータを提供することができる。認識連想メモリ805は、認識対象及び/又はコードレットを作業スペース815に供給する。
【0055】
[0063]コードレットは、1つの実行可能コードを提供し、実行可能コードは、異なる認識対象間の関係を記述及び/又は探索する。言い換えれば、コードレットは、特定の挙動/イベント(例えば駐車イベント)を判定する規則を要約し、挙動/イベントは1つ又は複数の認識対象を含む。1組の規則を取り、それを特定の方式で処理するように各コードレットを構成することができる。例えば、コードレットは、1組の入力認識対象を取り、それを評価して、特定のイベント(例えば自動車の駐車)が発生したかどうかを判定することができる。自動車の駐車の例を用いると、規則は、どの自動車か、自動車のカラー、どこに自動車が駐車したかなどについての情報でエピソードメモリ820を更新することができる。さらに、この検出した基本イベントについての情報を使用して、長期メモリ825内の基本イベントの定義を更新することができる。さらに、異常を認識するコードレットは、認識モジュール800で使用される。そのようなコードレットは、認識対象にアクセスし、一定の認識対象が以前に蓄積された統計データと統計的に相関しない場合、異常イベントを識別することができる。
【0056】
[0064]一実施形態では、コードレットが完全に事前書込みされる。別の実施形態では、少なくとも一部のコードレットが完全には事前書込みされず、経時的に生成される。例えば、一定の認識対象(複数可)に関する正常な挙動を記述するコードレットを、対応する観測イベントを記述する蓄積データに基づいて自己生成/修正することができる。
【0057】
[0065]スケジューラ810は、どのコードレットを所与の時間に活動化する必要があるかを判定する。例えば、スケジューラ810は、作業スペース815内に配置された認識対象とコードレットとの間の合致を識別しようとする。所与のコードレット(例えば1組の規則)に対して必要な、適切な1組の入力が利用可能であるとき、そのコードレットを作業スペース815内に配置して、起動することができる。複数のコードレットが活動化のために利用可能であるとき、いつ、どのコードレットが活動化されるかについての判定はランダムでよい。しかし、一実施形態では、構成された一定のコードレットは、他に勝る優先順位を有する(例えば、一定の異常な挙動を定義するコードレット)。所与の各瞬間に、作業スペース815内のスケジューラ810で多数のコードレットを活動化することができる。
【0058】
[0066]認識モジュール800はまた、エピソードメモリ820及び長期メモリ825をも使用して、基本イベントに関する短期データと長期データをどちらも取り込む。エピソードメモリ820は、最近の認識対象を格納する短期メモリである。例えば、最近変更された認識対象が、エピソードメモリ820内で見つかる。認識対象は、作業スペース815からエピソードメモリ820に配置される。同時に、作業スペース815は、エピソードメモリ820内に格納された認識対象を使用して、それをそれぞれのコードレットと突き合わせることができる。
【0059】
[0067]通常、少なくとも一部の認識対象が、エピソードメモリ820から長期メモリ825に移行する。しかし、エピソードメモリ820内に配置されるあらゆるデータが長期メモリ825に移行するわけではない。一部のデータは、長期メモリ825に達することなく、エピソードメモリ820から消滅する(例えば、異常と判定されなかった1回限りのイベントを記述するデータ)。
【0060】
[0068]同時に、そのイベントの側面を使用して、長期メモリ825内の情報を補強することができる(例えば、どのように、どこで、どれくらいの期間、自動車が駐車スペース内に駐車したかについての各側面)。したがって、長期メモリ825を使用して、所与のシーン内の挙動の一般的パターンを構築及び累積することができる。一実施形態では、エピソードメモリ820内に格納された挙動のパターンと、十分な統計的重みを取得した挙動のパターンとが、挙動の一般的パターンとして長期メモリ825に移動される。しかし、長期メモリ825内に配置されるすべてのデータがそこにとどまるわけではない。一部のデータは最終的には消滅する(例えば、特定の詳細)。例えば、異なるカラーのいくつかの自動車が期間にわたって同じ場所に駐車している場合、その特定の場所に駐車することのできる自動車の一般的パターンを学習し、それを長期メモリ825内に配置することができる。しかし、以前に駐車した自動車に関する、その自動車のカラーなどの詳細は、ある期間の後に長期メモリ825から消滅する。
【0061】
[0069]一実施形態では、作業スペース815は、長期メモリ825内で見つかった挙動の一般的パターンを使用して、シーン内で生じるイベントを判定する。イベントが認識されると、認識されたイベントが識別されたことを示す情報が生成される。その後で、そのような情報が警報を生成するのに使用される。一実施形態では、識別された異常な挙動に関する警報のみが発行され(例えば暴行)、別の実施形態では、識別された正常を記述する警報も発行される(例えば、自動車が駐車した)。
【0062】
[0070]図9A〜9Cは、本発明の一実施形態による、挙動認識システムが異常な挙動を検出し、警報を発行する、地下鉄の駅900で生じるシナリオを示す。図示されるように、静止ビデオカメラ915が、地下鉄の駅900で生じるイベントを取り込み、イベントを示すビデオイメージを挙動認識システムに供給する。図9A〜9Cに示されるように、ビデオカメラ915は、バッグ910を搬送する人905がごみ箱920(図9A)に近づき、ごみ箱920の隣の地面にバッグ910を置き(図9B)、バッグ910を後に残して去る(図9C)間に、人905のビデオイメージを取り込む。人間が地下鉄の駅900に進入することを観測することからの学習に基づいて、人間として分類される物体によって持ち込まれた「その他」の物体(すなわちバッグ)を残す行為を異常と識別することができ、したがって、挙動認識システムは、警報を発行して、そのようなイベントの発生を示すことができる。
【0063】
[0071]上記で論じた原理によれば、挙動認識システムは、ごみ箱920をごみ箱と具体的に識別することなく、静止ごみ箱920を表示するピクセルをバックグラウンドイメージの一部として処理する。対照的に、挙動認識システムは、人905とバッグ910をどちらもフォアグラウンドイメージ(複数可)として処理する。当初(図9A)、自己学習挙動認識システムは、人905及びバッグ910を1つのフォアグラウンドブロブとみなすことができる。しかし、人905がバッグ910を下に置くとき(図9B〜9C)、人及びバッグ910は、別々のフォアグラウンドブロブの部分となる。一実施形態では、人905がバッグ910を拾い上げるとき、それぞれのフォアグラウンドブロブが新しいフォアグラウンドブロブに併合され、別の実施形態では、人905及びバッグ910が、引き続き2つの別個のフォアグラウンドブロブとして処理される。さらに別の実施形態では、人905及びバッグ910が、最初(図9A)から別々のフォアグラウンドブロブであるとみなされる。
【0064】
[0072]人905とバッグ910の両方について、挙動認識システムは、探索モデルを構築及び更新して、こうした物体をフレームごとに追跡する。さらに、挙動認識システムは、人905を「人間」として分類し、バッグ910を「その他」(或いは「バッグ」)として分類し、人905及びバッグ910についての情報を収集し、以前に学習した地下鉄の駅での人々及びバッグの挙動に基づいて、人905及びバッグ910のアクションを予測する。バッグを後に残すことが正常な学習挙動に関連しないので、挙動認識システムは、そのような挙動を異常と識別し、警報を発行する。或いは、バッグを後に残す状況が異常な挙動であることをシステムが以前に学習しているので、そのような挙動を異常と識別することができる。
【0065】
[0073]上記は本発明の実施形態を対象とするが、本発明の基本的範囲から逸脱することなく、本発明の別の実施形態を考案することができ、本発明の範囲は、以下の特許請求の範囲によって決定される。
【発明の分野】
【0001】
[0001]本発明は、一般にはビデオ解析に関し、より詳細には、ストリーミングビデオデータに基づいて挙動を解析及び学習することに関する。
【関連技術の説明】
【0002】
[0002]現在入手可能なビデオ監視システムには、単純な認識機能を有するものがある。しかし、多くのそのような監視システムは、(システムが開発される前に)システムが探し出すことができなければならないアクション及び/又は物体の事前知識を必要とする。こうした監視システムを動作可能にし、十分に機能的にするために、特定の「異常な」挙動を対象とする、基礎となるアプリケーションコードを開発しなければならない。言い換えれば、システム基礎コードが一定の挙動の記述を含むのでなければ、システムは、そのような挙動を認識することができなくなる。さらに、多くの場合、別個の各挙動について、別々のソフトウェア製品を開発する必要がある。これにより、認識機能を備える監視システムが労働集約的なものとなり、法外にコストの高いものとなる。例えば、潜伏中の犯罪者に関して空港入口を監視すること、及びプール内で移動していない泳者を識別することは、2つの別個の状況であり、したがって、それぞれの「異常な」挙動を事前コーディングする2つの別個のソフトウェア製品の開発を必要とする。
【0003】
[0003]正常なシーンを記憶し、正常であると考えられるものが変化したときにはいつでも警報を生成するように監視システムを設計することもできる。しかし、どれほどの変化が異常であるかを認識するように、こうしたタイプの監視システムを事前プログラムしなければならない。さらに、そのようなシステムは、何が実際に生じたかを正確に特徴付けることができない。むしろ、こうしたシステムは、以前には「正常」であるとみなされた何かが変化したことを判定する。したがって、そのような方式で開発された製品は、限定された範囲の事前定義されたタイプの挙動のみを検出するように構成される。
【発明の概要】
【0004】
[0004]本発明の実施形態は、ビデオフレームの取得されたストリームに基づいて挙動を解析及び学習する方法及びシステムを提供する。ストリーム中に示される物体が、ビデオフレームの解析に基づいて決定される。各物体は、対応する探索モデルを有することができ、探索モデルは、物体の運動をフレームごとに追跡するのに使用される。物体のクラスが求められ、物体の意味表現が生成される。意味表現は、物体の挙動を求め、取得されたビデオストリームによって示される環境内で生じている挙動について学習するのに使用される。このようにして、このシステムは、環境内のそうした物体の移動又は活動或いは不在を解析することにより、任意の環境についての正常な挙動及び異常な挙動を、迅速に、リアルタイムで学習し、学習したものに基づいて、異常な挙動又は疑わしい挙動を予測する。
【0005】
[0005]本発明の特定の一実施形態は、シーン内のイベントを記録するビデオフレームのストリームを処理する方法を含む。この方法は一般に、ストリームの第1フレームを受け取ることを含むことができる。第1フレームは、フレーム内に含まれる複数のピクセルに関するデータを含む。この方法は、第1フレーム内のピクセルの1つ又は複数のグループを識別することをさらに含むことができる。各グループは、シーン内の物体を示す。この方法は、識別した各物体に関連する1つ又は複数の特徴を格納する探索モデルを生成すること、トレーニングされたクラシファイアを使用して各物体を分類すること、探索モデルを使用して、第1フレームで識別された各物体を第2フレームで追跡すること、並びに第1フレーム、第2フレーム、及び物体分類を機械学習エンジンに供給することをさらに含むことができる。この方法は、機械学習エンジンにより、複数のフレームにわたってシーン内の物体が関与する挙動の1つ又は複数の意味表現を生成することをさらに含むことができる。一般に、複数のフレームにわたってシーン内で観測される挙動のパターンを学習し、分類された物体が関与する挙動のパターンの発生を識別するように機械学習エンジンを構成することができる。
【0006】
[0006]上記で列挙した本発明の特徴、利点、及び目的を達成する方式を詳細に理解することができるように、添付の図面に示される実施形態を参照することにより、上記で簡潔に要約した本発明のより具体的な説明を得ることができる。
【0007】
[0007]しかし、添付の図面は本発明の典型的な実施形態のみを示し、したがって添付の図面を本発明の範囲の限定とみなすべきではないことに留意されたい。本発明は、他の同様に有効な実施形態を許容することができるからである。
【図面の簡単な説明】
【0008】
【図1】本発明の一実施形態による挙動認識システムの高レベルブロック図である。
【図2】本発明の一実施形態による、ビデオフレームのストリームに基づいて挙動を解析及び学習する方法の流れ図である。
【図3】本発明の一実施形態による、コンピュータビジョンエンジンのバックグラウンド−フォアグラウンドモジュールを示す図である。
【図4】本発明の一実施形態による、コンピュータビジョンエンジン内の注目の物体を追跡するモジュールを示す図である。
【図5】本発明の一実施形態による、コンピュータビジョンエンジンの推定器/識別器モジュールを示す図である。
【図6】本発明の一実施形態による、コンピュータビジョンエンジンのコンテキストプロセッサ構成要素を示す図である。
【図7】本発明の一実施形態による、機械学習エンジンの意味解析モジュールを示す図である。
【図8】本発明の一実施形態による、機械学習エンジンの認識モジュールを示す図である。
【図9A】本発明の一実施形態による、挙動認識システムが異常な挙動を検出し、警報を発行する場合のビデオフレームのシーケンスを示す図である。
【図9B】本発明の一実施形態による、挙動認識システムが異常な挙動を検出し、警報を発行する場合のビデオフレームのシーケンスを示す図である。
【図9C】本発明の一実施形態による、挙動認識システムが異常な挙動を検出し、警報を発行する場合のビデオフレームのシーケンスを示す図である。
【好ましい実施形態の詳細な説明】
【0009】
[0017]本明細書で説明する本発明の実施形態などの機械学習挙動認識システムは、経時的に取得した情報に基づいて挙動を学習する。本発明の状況では、ビデオストリーム(すなわち、個々のビデオフレームのシーケンス)からの情報が解析される。本開示は、経時的に移動及び/又は活動(或いはその不在)を解析することにより、シーン内の正常な挙動と異常な挙動を識別し、区別するように学習する挙動認識システムを説明する。正常な挙動/異常な挙動は、事前定義されず、ハードコーディングされない。その代わりに、本明細書で説明する挙動認識システムは、任意の環境について何が「正常」であるかを迅速に学習し、位置を監視することによって、すなわち記録されたビデオの内容をフレームごとに解析することによって学習したものに基づいて、異常な挙動又は疑わしい挙動を識別する。
【0010】
[0018]以下では、本発明の実施形態に対して参照が行われる。しかし、本発明は、具体的に説明されるどんな実施形態にも限定されないことを理解されたい。むしろ、以下の特徴及び要素の任意の組合せが、様々な実施形態に関係するか否かに関わらず、本発明を実装及び実施するのに企図される。さらに、様々な実施形態では、本発明は、従来技術に勝る多数の利点を実現する。しかし、本発明の実施形態は、他の可能な解決策に勝る利点、及び/又は従来技術に勝る利点を達成することができるが、特定の利点が所与の実施形態で達成されるか否かは、本発明の限定ではない。したがって、以下の態様、特徴、実施形態、及び利点は例示的なものに過ぎず、請求項(複数可)に明示的に記載されている場合を除いて、添付の特許請求の範囲の要素又は制限とはみなされない。同様に、「本発明」に対する参照は、本明細書で開示される本発明の何らかの主題の一般化とは解釈されないものとし、請求項(複数可)に明示的に記載されている場合を除いて、添付の特許請求の範囲の要素又は制限であるとは解釈されないものとする。
【0011】
[0019]本発明の一実施形態は、コンピュータシステムと共に使用されるプログラム製品として実装される。プログラム製品のプログラム(複数可)は、実施形態(本明細書で説明される方法を含む)の機能を定義し、プログラム(複数可)を様々なコンピュータ可読記憶媒体上に収容することができる。例示的なコンピュータ可読記憶媒体は、限定はしないが、(i)情報が永続的に格納される非書込み可能記憶媒体(例えば、CD−ROMドライブで読取り可能なCD−ROMディスクなどのコンピュータ内の読取り専用メモリ装置)と、(ii)変更可能な情報が格納される書込み可能記憶媒体(例えば、ディスケットドライブ内のフロッピィディスク又はハードディスクドライブ)とを含む。そのようなコンピュータ可読記憶媒体は、本発明の機能を指示するコンピュータ可読命令を担持するとき、本発明の実施形態である。他の媒体は、コンピュータや、ワイヤレス通信ネットワークを含む電話網などの、情報がそれを通じてコンピュータに搬送される通信媒体を含む。後者の実施形態は、具体的には、インターネット及び他のネットワークに情報を送り、インターネット及び他のネットワークから情報を送ることを含む。そのような通信媒体は、本発明の機能を指示するコンピュータ可読命令を搬送するとき、本発明の実施形態である。広義には、コンピュータ可読記憶媒体及び通信媒体が、本明細書ではコンピュータ可読媒体と呼ばれることがある。
【0012】
[0020]一般には、本発明の実施形態を実施するために実行されるルーチンは、オペレーティングシステム又は特定のアプリケーションの一部、コンポーネント、プログラム、モジュール、オブジェクト、或いは命令のシーケンスでよい。本発明のコンピュータプログラムは通常、ネイティブコンピュータによって機械可読フォーマットに変換される多数の命令、したがって実行可能命令から構成される。さらに、プログラムは、プログラムに対してローカルに常駐し、或いはメモリ内又は記憶装置上に見出される変数及びデータ構造からなる。さらに、本明細書で説明される様々なプログラムを、本発明の特定の実施形態でプログラムがそれに関して実装される応用例に基づいて識別することができる。しかし、以下のどんな特定のプログラム用語も便宜上使用されずに過ぎず、したがって、本発明がそのような用語で識別及び/又は示唆される何らかの特定の応用例でもっぱら使用されることに限定されないものとすることを理解されたい。
【0013】
[0021]本発明の実施形態は、挙動を解析、学習、及び認識する挙動認識システム及び方法を提供する。図1は、本発明の一実施形態による挙動認識システム100の高レベルブロック図である。図示されるように、挙動認識システム100は、ビデオ入力105、ネットワーク110、コンピュータシステム115、並びに入力装置及び出力装置145(例えば、モニタ、キーボード、マウス、プリンタなど)を含む。
【0014】
[0022]ネットワーク110は、ビデオ入力105からビデオデータ(例えば、ビデオストリーム(複数可)、ビデオイメージなど)を受け取る。ビデオ入力105は、ビデオカメラ、VCR、DVR、DVD、コンピュータなどでよい。例えば、ビデオ入力105は、一定のエリア(例えば地下鉄の駅)に向けられ、そのエリア及びその中で生じるイベントを継続的に記録する静止ビデオカメラでよい。一般に、カメラにとって可視であるエリアは「シーン」と呼ばれる。特定のフレームレート(例えば毎秒24フレーム)の個々のビデオフレームのシーケンスとしてシーンを記録するようにビデオ入力105を構成することができ、各フレームは固定のピクセル数を含む(例えば320×240)。各フレームの各ピクセルは、カラー値(例えばRGB値)を指定する。さらに、ビデオストリームを周知のそのようなフォーマット、例えばMPEG2、MJPEG、MPEG4、H.263、H.264などを使用してフォーマットすることができる。以下でより詳細に論じるように、挙動認識システムは、この生情報を解析して、ストリーム中のアクティブな物体を識別し、そのような要素を分類し、そのような要素のアクション及び相互作用に関する様々なメタデータを導出し、この情報を機械学習エンジンに供給する。機械学習エンジンを、経時的に評価、学習、及び記憶するように構成することができる。さらに、「学習」に基づいて、機械学習エンジンは、一定の挙動を異常と識別することができる。
【0015】
[0023]ビデオ入力105で記録されたビデオデータをコンピュータシステム115に送信するのにネットワーク110を使用することができる。一実施形態では、ネットワーク110は、受け取ったビデオフレームのストリームをコンピュータシステム115に送信する。
【0016】
[0024]例示的には、コンピュータシステム115は、CPU120と、ストレージ125(例えば、ディスクドライブ、光ディスクドライブ、フロッピィディスクドライブなど)と、コンピュータビジョンエンジン135及び機械学習エンジン140を含むメモリ130とを含む。コンピュータビジョンエンジン135は、ビデオ入力105によって供給されたビデオフレームのシーケンスを解析するように構成されたソフトウェアアプリケーションを提供することができる。例えば、一実施形態では、ビデオフレームを解析して、注目のターゲットを識別し、そうした注目のターゲットを追跡し、注目のターゲットについての特性を推論し、注目のターゲットをカテゴリごとに分類し、観測されたデータをタグ付けするようにコンピュータビジョンエンジン135を構成することができる。一実施形態では、コンピュータビジョンエンジン135は、分類された注目の物体の属性のリスト(テクスチャ、カラーなど)を生成し、そのリストを機械学習エンジン140に供給する。さらに、コンピュータビジョンエンジンは、シーン内の追跡される各物体についての様々な情報(例えば、運動データ、深さデータ、カラーデータ、外観データなど)を機械学習エンジン140に供給することができる。
【0017】
[0025]機械学習エンジン140は、ビデオフレームと、コンピュータビジョンエンジン135によって生成された結果とを受け取る。機械学習エンジン140は、受け取ったデータを解析し、ビデオフレーム中に示されるイベントの意味表現を構築し、パターンを決定し、こうした観測される挙動から学習して、正常なイベント及び/又は異常なイベントを識別する。コンピュータビジョンエンジン135及び機械学習エンジン140並びにその構成要素が、以下でより詳細に説明される。正常/異常な挙動/イベントが判定されたかどうか、及び/又はそのような挙動/イベントが何であるかを記述するデータを、出力装置145に供給し、警報、例えばGUIインターフェース画面上に提示される警報メッセージを発行することができる。
【0018】
[0026]一般に、コンピュータビジョンエンジン135と機械学習エンジン140は、受け取ったビデオデータをリアルタイムで処理する。しかし、コンピュータビジョンエンジン135と機械学習エンジン140によって情報を処理する時間スケールは、異なることがある。例えば、一実施形態では、コンピュータビジョンエンジン135は、受け取ったビデオデータフレームをフレームごとに処理し、一方、機械学習エンジンは、受け取ったデータをNフレームごとに処理する。言い換えれば、コンピュータビジョンエンジン135は、各フレームをリアルタイムで解析して、所与のフレーム内で何が生じているかについての1組の情報を導出するのに対して、機械学習エンジン140は、ビデオ入力のリアルタイムフレームレートによって制限されない。
【0019】
[0027]しかし、図1は、挙動認識システム100の可能な一構成を示しているに過ぎないことに留意されたい。例えば、ビデオ入力105がネットワーク110を介してコンピュータシステム115に接続されるように示されているが、ネットワーク110が常に存在するわけではなく、常に必要であるわけではない(例えば、ビデオ入力105をコンピュータシステム115に直接的に接続することができる)。さらに、一実施形態では、コンピュータビジョンエンジン135をビデオ入力装置の一部として(例えば、ビデオカメラに直接的に配線されるファームウェア構成要素として)実装することができる。そのような場合、ビデオカメラの出力を、解析のために機械学習エンジン140に供給することができる。
【0020】
[0028]図2は、本発明の一実施形態による、ビデオフレームのストリームから挙動を解析及び学習する方法200を示す。図示されるように、方法200はステップ205で始まる。ステップ210で、1組のビデオフレームがビデオ入力源から受信される。ステップ215で、ビデオフレームを処理して、ビデオノイズ、不規則又は異常なシーン照明、カラー関連の問題などを最小限に抑えることができる。すなわち、挙動認識システムの構成要素(例えば、上記で論じたコンピュータビジョンエンジン135及び機械学習エンジン140)による処理前にイメージの可視性を改善するようにビデオフレームの内容を改善することができる。
【0021】
[0029]ステップ220で、連続する各ビデオフレームが解析され、方法200の後続のステージの間に使用するためにフォアグラウンドイメージ及びバックグラウンドイメージが識別及び/又は更新される。一般には、バックグラウンドイメージは、ビデオ入力によって取り込まれているシーンの静止要素(例えば、地下鉄の駅のプラットホームを示すピクセル)を含み、フォアグラウンドイメージは、ビデオ入力によって取り込まれる揮発性要素(例えば、プラットホームの周囲で移動中の人を示すピクセル)を含む。言い換えれば、バックグラウンドイメージは、フォアグラウンド要素が進入し、互いに相互作用し、退出するステージを提供する。バックグラウンドイメージは、バックグラウンドイメージ内の各ピクセルについてのカラー値を含む。一実施形態では、いくつかのフレームにわたって所与のピクセルについてカラー値をサンプリングすることによってバックグラウンドイメージを導出することができる。さらに、新しいフレームが受信されるときに、連続する各フレーム内に含まれる追加の情報に基づいてバックグラウンドイメージの要素を更新することができる。通常、どのピクセルがバックグラウンドの部分か、それともフォアグラウンドの部分かを、ビデオフレームのシーケンス中の各フレームについて判定することができ、バックグラウンドイメージを所与のフレーム内のピクセルカラー値と比較することによってフォアグラウンド要素を識別することができる。フォアグラウンドピクセルが識別されると、マスクをフレームに適用することができ、バックグラウンドの部分であるピクセルがイメージから効果的に切り離され、イメージ内のフォアグラウンドピクセルの1つ又は複数のみが残る。例えば、各フォアグラウンドピクセルが白として表現され、各バックグラウンドピクセルが黒として表現されるようにマスクをフレームに適用することができる。得られる白黒イメージ(2次元配列として表現される)を挙動認識システムの後続の要素に供給することができる。一実施形態では、コンピュータシステム115は、所与のシーンについてのバックグラウンドイメージの初期モデルを備えることができる。
【0022】
[0030]ステップ225で、所与のフレームに関連するフォアグラウンドイメージを解析して、フォアグラウンドイメージを注目のターゲットにセグメント化することによって1組のブロブ(すなわち、関連するピクセルのグループ)を識別することができる。言い換えれば、フォアグラウンドイメージ内の別個のブロブを分離するようにシステムを構成することができ、各ブロブは、フレーム内の異なるフォアグラウンド物体を表す可能性が高い(例えば、自動車、人間、スーツケースなど)。各フォアグラウンドブロブについて、フォアグラウンドブロブが最初に識別されたときに探索モデルを開始することができる。スキーム内のブロブの位置を取り込み、どのピクセルがブロブの部分として含まれるかを識別し、フレームごとの観測されるブロブの挙動に関する様々なメタデータを格納するのに探索モードが使用される。さらに、追跡モジュールで探索モデルを使用して、対応する物体の運動をフレームごとに予測、発見、及び追跡することができる。連続するフレームが受信されるにつれて、フォアグラウンドブロブが連続するビデオフレームを通じて引き続き存在するときに、探索モデルが更新される。そのような更新を、追加の各ビデオフレームと共に、周期的に、探索モデルの改善を可能にする新しい情報が受信されたとき、必要に応じて、などで実施することができる。
【0023】
[0031]様々な方式で探索モードを実装することができる。例えば、一実施形態では、探索モデルは、所与のフォアグラウンド物体についての、どのピクセルがそのフォアグラウンド物体の部分であるとみなされるかを含むいくつかの特徴を取り込むように構成された外観モデルでよい。次いで、フレームごとのその物体を表すピクセルに基づいて、所与の物体の外観モデルを更新することができる。別の実施形態では、探索モデルは、物体を包含するための最小の境界長方形でよい。最小の境界長方形は、より迅速に計算されるが、実際にはバックグラウンドの部分であるブロブの部分としてのピクセルを含む。それでも、あるタイプの解析について、この手法は効果的であることがある。こうした探索モデルが以下に詳細に説明される。ステップ230で、探索モデルが使用され、フォアグラウンド物体がフレームごとにシーンの中を動き回るときにフォアグラウンド物体の運動が追跡される。すなわち、物体が第1フレームで識別され、外観モデル(及び/又は境界ボックス)がその物体について生成されると、探索モデルを使用して、フォアグラウンド物体がシーンから退出するまで、外観モデル(及び/又は境界ボックス)に基づいて、後続のフレームで物体を識別及び追跡することができる。探索モデルを使用して、例えば物体が位置を変更した後にビデオフレーム内の物体を識別することができる。したがって、同一の物体に関する様々なタイプの情報が、そのような物体がシーンの中を移動するときに求められる(例えば、物体の運動特性、向き、運動方向など)。
【0024】
[0032]ステップ235で、挙動認識システムは、フォアグラウンドブロブを離散的な数の分類のうちの1つとして分類することを試みる。例えば、一実施形態では、挙動認識システムを構成して、各フォアグラウンド物体を「人間」、「車両」、「その他」、又は「不明」のうちの1つとして分類することができる。もちろん、より多くの分類を使用することができ、さらには、個々のケースの必要に適合するように分類を合わせることができる。例えば、手荷物コンベヤベルトのビデオイメージを受け取る挙動認識システムは、ベルト上の物体を様々なタイプ/サイズの手荷物として分類することができる。フォアグラウンド物体を分類した後、そのような物体に関するより詳しい推定を行うことができ、例えば、物体のポーズ(例えば、向き、姿勢など)、位置(例えば、ビデオイメージで示されるシーン内の位置、注目の他の物体に対する位置など)、及び運動(例えば、軌跡、速さ、方向など)が推定される。この情報を機械学習エンジン140で使用して、類似の物体(例えば、人間として分類された他の物体)の過去の観測に基づいて、一定の挙動を正常又は異常と特徴付けることができる。
【0025】
[0033]ステップ240で、前のステップの結果(例えば、追跡結果、バックグラウンド/フォアグラウンドイメージデータ、分類結果など)が組み合わされ、解析されて、ビデオフレームで示されるシーンのマップが作成される。一実施形態では、シーンが、空間的に分離された領域にセグメント化され、各セグメントが1組のピクセルで定義される。領域が、z深さに従ってソートされ(すなわち、どのセグメントがビデオ取込み装置に近く、どのセグメントがビデオ取込み装置から離れているか)、任意選択でラベルが付けられる(例えば、自然物、人工物など)。ステップ245で、物体の運動の意味表現が作成される。言い換えれば、追跡される物体の移動及び/又はアクションの記号表現が作成される(例えば、「自動車が駐車する」、「自動車が停止する」、「人がかがむ」、「人が消える」など)。ステップ250で、意味表現が、認識可能なパターンについて解析される。
【0026】
[0034]ステップ255で、得られる意味表現、シーンの注釈付きマップ、及び分類結果が解析される。挙動認識システムは、そのような結果を解析して挙動のパターンを学習し、観測に基づいて一般化し、類推を行うことによって学習する。これにより、どの種類の挙動が正常であり、どの種類の挙動が異常であるかを認識システムが判定及び/又は学習することも可能となる。すなわち、認識可能なパターンを識別し、所要の物体について新しい挙動を評価し、所与の物体について学習した挙動のパターンを補強又は修正することなどを行うように機械学習エンジンを構成することができる。
【0027】
[0035]ステップ260で、任意選択で、以前のステップの結果が、認識された挙動について解析される。さらに、所与のイベントの発生を認識したことに応答して指定のアクションを実施するように挙動認識システムを構成することができる。例えば、以前のステップの結果に基づいて、挙動認識システムは、人間と識別されたフォアグラウンド物体が異常な挙動に関与するときに警報を発行することができる。さらに、ある挙動が「異常」であるかどうかは、学習エンジンが何を所与のシーン内の人間の「正常な」挙動であると「学習」したかに基づくことができる。一実施形態では、異常な挙動が判定された場合にのみ警報が発行される(例えば、人が地下鉄の駅に放置されたバッグを残したことを示す警報)。別の実施形態では、シーン内で正常なイベントが行われていることを示す警報が発行される(例えば、車が駐車したことを示す警報)。方法はステップ270に進む。
【0028】
[0036]上述のステップのすべてを、列挙した順序で実施することが必要であるわけではないことに留意されたい。さらに、記載の方法が動作するために記載のステップのすべてが必要であるわけではない。どのステップを使用すべきか、ステップをどの順序で実施すべきか、あるステップを他のステップよりも頻繁に反復すべきかどうかが、例えば特定のユーザの必要、観測される環境の特定の品質などに基づいて決定される。
【0029】
[0037]図3から6は、本発明の一実施形態による、図1に示されるコンピュータビジョンエンジン135の様々な構成要素を示す。具体的には、図3は、バックグラウンド−フォアグラウンドモジュール300の構成要素を示す。バックグラウンド−フォアグラウンドモジュール300は、各ビデオフレーム内の特徴を使用して、どのピクセルがバックグラウンドイメージに属し、どれがフォアグラウンドイメージに属するかを識別する。一実施形態では、ビデオフレームが解析されて、各ピクセルが、シーン(及びそのフレーム)についてのバックグラウンドイメージの部分を表示すると分類され、又はそのフレームについてのフォアグラウンドイメージの部分を表示すると分類される。
【0030】
[0038]通常、経時的にカラーを変更しないピクセルが、バックグラウンドイメージの部分とみなされる。ピクセルのカラー値を経時的にサンプリングすることにより、あるフレーム内のフォアグラウンド物体の存在を除くことができる。さらに、バックグラウンドイメージを動的に更新することができるので、バックグラウンドイメージは、光と影の変化を補償することができる。同様に、バックグラウンドイメージに対してカラーを変更するピクセルは、フォアグラウンド物体を表示していると想定される。言い換えれば、シーン内のフォアグラウンド物体の運動は、連続するビデオフレーム内のピクセルカラー値間の差に基づく。一般に、バックグラウンドイメージを、フォアグラウンド物体が切り離されたピクセルのビデオフレームと想定することができる。フォアグラウンドイメージを、バックグラウンドの間を埋めるピクセルと想定することができる。或いは、ただ1つのフォアグラウンドイメージを使用することもできる。そのようなフォアグラウンドイメージを、フォアグラウンドピクセルのパッチを伴う透明なビデオフレームと想定することができる。所与のフォアグラウンド物体を追跡するのに2つの連続するフレームで十分であるが、所与のシーンに関するバックグラウンドイメージを求めるときに、複数の連続するフレームを比較することにより、より正確な結果が得られることに留意されたい。
【0031】
[0039](あるフレームで)当初バックグラウンドピクセルと判定されたピクセルが(別のフレームで)フォアグラウンドピクセルとなることがあり、逆も同様であることにも留意されたい。例えば、バックグラウンド内のピクセルのカラー値が変化し始めた場合、ピクセルをフォアグラウンドピクセルと再分類することが適切であることがある(例えば、長期間駐車場に駐車している自動車が移動し始める)。同様に、変化するピクセルが静的となることがあり、したがって、そのようなピクセルをバックグラウンドピクセルとして再分類することが必要となることがある(例えば、ごみ箱が永続的な使用のために地下鉄の駅に運び込まれた)。しかし、不必要なピクセル再分類を回避し、バックグラウンドイメージ及びフォアグラウンドイメージ内に何が含まれるかについての解釈を改善するために、一実施形態では、挙動認識システムは、ピクセルを短期バックグラウンド(STBG)、短期フォアグラウンド(STFG)、長期バックグラウンド(LTBG)、及び長期フォアグラウンド(LTFG)の部分として分類することができる。STBG及びSTFGが、短期間(例えば数秒以下)用のメモリに格納され、LTBG及びLTFGが、より長期間(例えば数分)用のメモリ内に格納される。最初にピクセルをSTBG/STFGと判定し、次いで適性のあるピクセルのみをLTBG/LTFGと解釈することにより、どのピクセルがバックグラウンド/フォアグラウンドイメージの部分であるかをより正確に判定することが可能となる。もちろん、特定のシーン内で生じるイベントに従って時間枠を調節することができる。
【0032】
[0040]図3は、本発明の一実施形態による、ビデオフレームに関するバックグラウンドイメージ及びフォアグラウンドイメージを生成するのに使用することのできるバックグラウンド−フォアグラウンドモジュール300の構成要素を示す。最初に、ビデオフレームがバックグラウンドトレーニングモジュール305によって受信される。フレームの初期シーケンスを使用してバックグラウンド−フォアグラウンドモジュール300をトレーニングすることができる。トレーニングにより、バックグラウンド−フォアグラウンドモジュール300が、取得されたビデオフレーム内に示されるシーンのバックグラウンドイメージを構築することが可能となる。トレーニングプロセスは、システムの初期化ステージ中、すなわちシーンのバックグラウンドイメージが求められる前に行うことができる。
【0033】
[0041]ダークシーン補償モジュール310が、ピクセル値を処理して、シーンの各部分内の低照明条件又は暗照明条件を補償することができる。さらに、処理されたビデオフレームをSTFG/STBGモジュール315及びLTBG/LTBGモジュール320に供給するようにダークシーン補償モジュール310を構成することができる。所与のフレーム内のSTFGピクセル及びSTBGピクセルを識別し、この情報をそれぞれステールFGモジュール325及び照明補償モジュール335に供給するようにSTFG/STBGモジュール315を構成することができる。LTFGピクセル及びLTBGピクセルを識別し、STFG/STBGモジュール315と同様にこの情報をそれぞれステールFGモジュール325及び照明補償モジュール335に供給するようにLTFG/LTBGモジュール320を構成することができる。ステールFGモジュール325は、古いフォアグラウンドピクセルを識別し、結果を更新BGモジュール330に供給する。BG/FG決定が陳腐化し、再評価する必要があるときに、ピクセルは「古く」なることがある。受信した後、照明補償モジュール335は、照明の変化(例えば、太陽を覆い隠す雲によるシーンの増光/減光、又は人工光源に対する調節)に対して処理を動的に調節することができ、ダークシーン補償モジュール310は、極めて暗い領域及び/又は微光条件の限界内で特殊処理を動的に実現する。更新BGモジュール330は、バックグラウンドイメージモデルを更新し、結果を照明補償モジュール335に転送し、照明補償モジュール335は、受信したすべての結果を処理した後、処理済みの結果をLTFG/LTBGモジュールに供給する。
【0034】
[0042]したがって、集合的に、バックグラウンド−フォアグラウンドモジュール300は、挙動認識システムの他の構成要素で使用される1組のバックグラウンドイメージ及びフォアグラウンドイメージ並びに/或いはバックグラウンドモデル及びフォアグラウンドモデルを求める。バックグラウンドモデル及びフォアグラウンドモデルは、シーンバックグラウンドの部分(すなわちステージの部分)と、フォアグラウンド物体(すなわち、ステージ上で何らかのアクションを実施する要素)を表示するピクセルとを区別する。バックグラウンド−フォアグラウンドモジュール300の上記の説明では、ただ1つのバックグラウンドイメージに対して参照が行われるが、別法として、バックグラウンド−フォアグラウンドモジュール300は、複数のバックグラウンドイメージを使用できることに留意されたい(例えば、より正確なバックグラウンド識別のために、イメージフレームのシーンをいくつかのバックグラウンドゾーンに分割することができる)。
【0035】
[0043]一実施形態では、バックグラウンドモデル/イメージは、ピクセルカラーなどの追加の情報を含むことができる。さらに、フォアグラウンドモデル/イメージは通常、カラーなどの追加のピクセル特性を含む。しかし、そのような情報を保持又は収集することを省略することができる(例えば、カラーの認識が注目の物体間の区別を大幅に改善するわけではない環境、例えば大部分が同一又は類似のカラーの物体を移送するコンベヤラインの環境で、リソースを節約するため)。
【0036】
[0044]図4は、本発明の一実施形態による、シーンのフォアグラウンドイメージ内に表示される物体を識別するように構成されたフォアグラウンド物体モジュール400を示す。一般には、所与のフレームについてバックグラウンド−フォアグラウンドモジュール300によって生成されたフォアグラウンドイメージを受け取り、フォアグラウンドイメージに関する探索モデルを構築/更新し、フォアグラウンドイメージ内の表示される物体の運動がフレームごとにシーンの中を動き回るときに、その物体を追跡するように試みるようにフォアグラウンド物体モジュール400を構成することができる。
【0037】
[0045]図4に示されるように、フォアグラウンド物体モジュール400は、ブロブ検出モジュール405、構築/更新モジュール410、追跡モジュール420、及び1〜Mの探索モデル、探索モデル1(4151)、探索モデル2(4152)から探索モデルM(415M)までを含む。一実施形態では、フォアグラウンドイメージを解析して、フォアグラウンドブロブと呼ばれる、関連するピクセルのグループを検出するようにブロブ検出モジュール405を構成することができ、そのようなピクセルの各グループは、シーン内の別個の物体を表す可能性が高い。さらに、示される各フォアグラウンドブロブに追跡識別番号が割り当てられる。フォアグラウンドブロブが構築/更新モジュール410によって使用されて、探索モデル4151〜415Mが構築/更新され、前のビデオフレームで識別されたブロブについて既存の探索モデルが構築又は更新されている。一実施形態では、探索モデル4151〜415Mを更新するために、構築/更新モジュール410は、追跡モジュール420によって生成された結果も使用する。現在検出されているブロブが探索モデルを有さない場合、そのような探索モデルが構築(作成)される。
【0038】
[0046]所与の瞬間に、フォアグラウンド物体モジュール400は、異なるフォアグラウンドブロブをそれぞれ表す複数の探索モデルを含むことができる。探索モデルの数は、フォアグラウンドイメージ内のブロブ検出モジュール405によってフォアグラウンドブロブがいくつ識別されるかに依存する。一実施形態では、フォアグラウンドブロブが後続のビデオフレームで何を行うことができるかに関する予測機能と共に探索モデルを構成することができる。例えば、所与のフォアグラウンドブロブに関連する探索モデルは、現在位置及び運動データに基づくそのブロブの予想未来位置(及び形状)を含むことができる。さらに、各探索モデルはまた、所与のフォアグラウンドブロブについて導出される様々な情報をも含むことができる(例えば、テクスチャ、カラー、パターン、シーン内のz深さ位置、サイズ、移動率、カイネマティックスなど)。
【0039】
[0047]さらに、本発明の原理に従って様々なタイプの探索モデルを使用することができる。上述のように、探索モデルを追跡モジュール420で使用して、フレームごとの対応する物体の運動を予測、発見、及び追跡することができる。一実施形態では、外観モデルが使用される。外観モデルは、物体を表示するのに使用されるピクセルを含む(例えば、フレームがフォアグラウンドイメージ内に人間を表示する場合、外観モデルは主に、人間の輪郭を描くピクセルと、輪郭内部のピクセルとを含む)。別の実施形態では、探索モデルが特徴ベースのモデルとして実装され、特徴ベースのモデルは、物体を包含する最小の境界長方形などの長方形内のピクセルを表す(例えば、物体が人間である場合、特徴ベースのモデルは、人間を包含する境界長方形を含むことができる)。或いは、特徴ベースのモデルは、所与の物体の異なる領域を包含する最小限の可能なサイズの長方形など、所与の物体について複数の境界長方形を含むことができる(例えば、フレームが人間を表示する場合、そのような物体に関する特徴ベースのモデルは、最小限のサイズのいくつかの長方形を含むことができ、各長方形は、腕、脚、頭、胴などの人間の異なる領域を包含する)。
【0040】
[0048]どの探索モデルが使用されるかは、例えば、観測される環境、挙動認識システムのユーザのプリファレンスなどに依存することがある。例えば、外観モデルは、より厳密な追跡を実現する可能性が高いが、特徴ベースのモデルは、例えば、追跡される注目の物体の形状が単純である場合(例えば手荷物コンベヤベルト)、リソースを節約することができる。
【0041】
[0049]上述のように、追跡モジュール420は、探索モデル415を使用して、ビデオシーケンス内に示される、対応する物体の運動を、そのような物体がシーンの中を動き回るときにフレームごとに追跡する。追跡モジュール420は、現ビデオフレームの検出されたフォアグラウンドブロブを取り、フォアグラウンドブロブとの最も近い合致を実現する以前のビデオフレームの探索モデルを探す。一実施形態では、現在検出されている各フォアグラウンドブロブについて、追跡モジュール420は、探索モデルとフォアグラウンドブロブとの間の相対次元ベクタリング距離が大域的最小となる探索モデル415を探す。このようにして、追跡モジュール420は、探索モデル415のうちの1つによって表される各物体の位置をフレームごとに追跡することができる。一実施形態では、追跡モジュール420は、以前のビデオフレームに基づいて取得された運動情報を使用して、現ビデオフレーム内の探索モデルの位置を推定する。
【0042】
[0050]図5は、本発明の一実施形態による、コンピュータビジョンエンジンの推定器/識別器モジュール500を示す。一般に、推定器/識別器500は、フォアグラウンドブロブ及びそれぞれの探索モデルを受け取り、フォアグラウンドブロブによって表されるビデオフレーム内の物体を、既知のカテゴリ(クラス)のメンバとして分類することを試みる。一実施形態では、注目の物体が識別されている場合、推定器/識別器モジュール500は、注目の物体のポーズ、位置、及び運動を推定する。推定器/識別器500は通常、所与のクラスの例を表す多数の肯定的例及び否定的例に関してトレーニングされる。さらに、ビデオをフレームごとに解析中に、オンライントレーニングを使用して、クラシファイアを動的に更新することができる。
【0043】
[0051]図示されるように、推定器/識別器500は、クラシファイア505、クラス1(5101)からクラスN(510N)、及び識別器515を含む。クラシファイア505は、フォアグラウンド物体をクラスのうちの1つ、クラス1(5101)からクラスN(510N)として分類することを試みる。それに成功した場合、分類された物体の静的データ(例えば、サイズ、カラーなど)及び運動データ(例えば、速さ、速度、方向など)も期間(例えば、X個のフレーム)にわたって識別器515で求めることができる。識別された各物体について、推定器/識別器500は、注目の物体の上述の静的特性及び運動特性を含む生コンテキストイベントと、識別された物体のクラスの平均メンバの静的特性及び運動特性を含む既知の物体観測値とを出力する。
【0044】
[0052]一実施形態では、システムは、人間、車両、その他、及び不明という4つのクラシファイアを使用する。注目の物体のクラスが求められるまで、そのような物体はクラス「不明」のメンバとして扱われる。各クラスは、クラスの平均メンバに関するポーズ、静的データ、及び運動データを含む。一実施形態では、さらに多くの注目物体が分類及び識別され、そのポーズ、静的データ、及び運動データが求められ、収集されるにつれて、そのようなデータが継続的に更新される。通常、推定器/識別器500は、リアルタイムでフレームごとに情報を処理することに留意されたい。
【0045】
[0053]図6は、本発明の一実施形態による、コンピュータビジョンエンジン135のコンテキストプロセッサ600を示す。一般に、コンテキストプロセッサ600は、バックグラウンド−フォアグラウンドモジュール300、フォアグラウンド物体モジュール400、推定器/識別器モジュール500などのコンピュータビジョンエンジン135の他の構成要素から受け取った結果を組み合わせ、ビデオフレーム内に取り込まれるシーンの注釈付きマップを作成する。一実施形態では、シーンが空間的に分離された領域にセグメント化され、各領域が、シーンのz深さに従ってソートされ、任意選択で、自然要素又は人工要素を示すものとしてラベルが付けられる。
【0046】
[0054]図示されるように、コンテキストプロセッサ600は、シーンをより小さいエリア(領域)に分割する領域セグメンタ605と、領域間の関係を(例えば、互いに対してビデオ取込み装置に近く/離れていると)定義する領域シーケンサ610と、注釈付きマップを生成するシーンマッパ615とを含むことができる。一実施形態では、コンテキストプロセッサ600は、追跡される注目の物体の運動(軌跡など)及び位置に関する情報を使用して、注釈付きマップを生成する。
【0047】
[0055]図7及び8は、図1に示される機械学習エンジン140の様々な構成要素を示す。具体的には、図7は、本発明の一実施形態による、意味解析モジュール700の構成要素を示し、図8は、認識モジュール800の構成要素を示す。一般に、意味モジュール700は、追跡される物体の運動及びアクションの意味表現(すなわち記号表現)を作成する。意味表現は、特定の追跡される物体の運動に基づいて(且つ最終的には、フレームごとのピクセル−カラー値の変化に基づいて)シーン内で何が生じていると考えられるかを記述する形式的な方式を提供する。シーン内のイベントを記述するのに形式言語文法(例えば、名詞及び動詞)が使用される(例えば、「自動車が駐車する」、「人が現れる」など)。
【0048】
[0056]その後で、認識可能なパターンについて意味表現が解析され、結果が、図8に示される認識モジュール800に供給される。一実施形態では、意味モジュール700はまた、シーン内の物体の軌跡の記号表現など、シーン内で生じるイベントの様々な側面を含むシーンの記号マップをも構築する。一実施形態では、記号マップはまた、頻度分布をも含むことができる(例えば、一定のクラス又は種類の物体がシーン内にどれだけの頻度で、どこに存在するかに関するデータ)。
【0049】
[0057]図7に示されるように、意味モジュール700は、知覚メモリ710、潜在的意味解析モジュール(LSA)715、基本イベントモジュール725、位相空間区分化モジュール730、増分潜在的意味解析モジュール(iLSA)735、及び形式言語モジュール740を含む。知覚メモリ710は、意味モジュール700に対して供給された情報を取得し、基本イベントモジュール725及び位相空間区分化モジュール730による後続での使用のためにこの情報を格納する。一実施形態では、知覚メモリ710は、より詳しい解析のために基本イベントモジュール725及び位相空間区分化モジュール730にどの情報を供給すべきかを識別する。
【0050】
[0058]知覚メモリ710で基本イベント(例えば、自動車が停止する、方向を反転する、消滅する、出現する、人がかがむ、倒れる、会話など)の発生を識別するように基本イベント検出モジュール725を構成することができる。基本イベントは通常、追跡される物体の運動特性の変化を反映する。したがって、物体が「自動車」であると分類されると、基本イベント検出モジュール725は、自動車に関するデータを評価して、様々な挙動イベントが発生するときにそれを識別する。一実施形態では、(例えば、自己学習挙動認識システムが使用される特定の環境について)基本イベントが事前定義される。別の実施形態では、基本イベントのうちの一部のみが事前定義され(例えば、駐車、方向転換、転倒)、他の基本イベントが経時的に学習される(例えば、一定のクラスの物体をシーンの特定のスポットで見つけることができる)。
【0051】
[0059]位相空間区分化モジュール730は、シーン内の物体の速度を有する幾何学的位置に関する情報を求める。したがって、基本イベントモジュール725及び位相空間区分化モジュール730は、意味モジュール700が2つの別個の方式でデータを解析することを可能にする。基本イベントモジュール725及び位相空間区分化モジュール730の結果に基づいて、LSA715及びiLSA735は、シーンのモデルを構築/更新し、モデルは、注目の物体を含む。
【0052】
[0060]LSA715は一般に、意味モジュール700の初期トレーニングモジュールである。LSAは、LSA715が十分な統計的重みの結果を生成するまで、期間にわたってデータを収集する。言い換えれば、LSA715は、シーンの基本レイアウトを学習し、iLSA735は、そのようなレイアウトを増分式に更新する。iLSA735は、シーン内で生じる挙動のパターンの変化を処理するのに十分な柔軟性があることに留意されたい。形式言語学習モジュール740は、iLSA735で生成されたデータを使用して、意味表現(シーン内で何が生じているかについての記号表現)を作成し、作成された意味表現が何を意味するかを学習するために、意味表現を認識モジュール800に供給する。
【0053】
[0061]図8は、本発明の一実施形態による機械学習エンジンの認識モジュールを示す。コンピュータビジョン135及び機械学習エンジン140の構成要素の少なくとも一部(例えば、推定器/識別器モジュール500、コンテキストプロセッサ600、意味モジュール700など)によって生成された結果を処理するように認識モジュール800を構成することができる。一般に、認識モジュール800は、パターンを学習し、観測に基づいて一般化し、類推を行うことによって学習する。
【0054】
[0062]図8に示されるように、認識モジュール800は、認識連想メモリ805、スケジューラ830、作業スペース815、エピソードメモリ820、及び長期メモリ825を含むことができる。作業スペース815は、どんな情報が機械学習エンジン140によって現在評価されているかを反映するメモリ領域を提供する。すなわち、作業スペース815は、データのどんな要素が、機械学習環境140の「注意」を現在引いているかを格納する。以下で説明されるように、作業スペース815内のデータは、規則(それぞれイベントを記述する)及びコードレットの集合を含むことができる。認識連想メモリ805は、認識モジュール800に供給されるデータを収集し、そのようなデータを認識対象として格納する。各認識対象は、基本イベントなどの、ビデオ内で生じる何かを記述するデータを提供することができる。認識連想メモリ805は、認識対象及び/又はコードレットを作業スペース815に供給する。
【0055】
[0063]コードレットは、1つの実行可能コードを提供し、実行可能コードは、異なる認識対象間の関係を記述及び/又は探索する。言い換えれば、コードレットは、特定の挙動/イベント(例えば駐車イベント)を判定する規則を要約し、挙動/イベントは1つ又は複数の認識対象を含む。1組の規則を取り、それを特定の方式で処理するように各コードレットを構成することができる。例えば、コードレットは、1組の入力認識対象を取り、それを評価して、特定のイベント(例えば自動車の駐車)が発生したかどうかを判定することができる。自動車の駐車の例を用いると、規則は、どの自動車か、自動車のカラー、どこに自動車が駐車したかなどについての情報でエピソードメモリ820を更新することができる。さらに、この検出した基本イベントについての情報を使用して、長期メモリ825内の基本イベントの定義を更新することができる。さらに、異常を認識するコードレットは、認識モジュール800で使用される。そのようなコードレットは、認識対象にアクセスし、一定の認識対象が以前に蓄積された統計データと統計的に相関しない場合、異常イベントを識別することができる。
【0056】
[0064]一実施形態では、コードレットが完全に事前書込みされる。別の実施形態では、少なくとも一部のコードレットが完全には事前書込みされず、経時的に生成される。例えば、一定の認識対象(複数可)に関する正常な挙動を記述するコードレットを、対応する観測イベントを記述する蓄積データに基づいて自己生成/修正することができる。
【0057】
[0065]スケジューラ810は、どのコードレットを所与の時間に活動化する必要があるかを判定する。例えば、スケジューラ810は、作業スペース815内に配置された認識対象とコードレットとの間の合致を識別しようとする。所与のコードレット(例えば1組の規則)に対して必要な、適切な1組の入力が利用可能であるとき、そのコードレットを作業スペース815内に配置して、起動することができる。複数のコードレットが活動化のために利用可能であるとき、いつ、どのコードレットが活動化されるかについての判定はランダムでよい。しかし、一実施形態では、構成された一定のコードレットは、他に勝る優先順位を有する(例えば、一定の異常な挙動を定義するコードレット)。所与の各瞬間に、作業スペース815内のスケジューラ810で多数のコードレットを活動化することができる。
【0058】
[0066]認識モジュール800はまた、エピソードメモリ820及び長期メモリ825をも使用して、基本イベントに関する短期データと長期データをどちらも取り込む。エピソードメモリ820は、最近の認識対象を格納する短期メモリである。例えば、最近変更された認識対象が、エピソードメモリ820内で見つかる。認識対象は、作業スペース815からエピソードメモリ820に配置される。同時に、作業スペース815は、エピソードメモリ820内に格納された認識対象を使用して、それをそれぞれのコードレットと突き合わせることができる。
【0059】
[0067]通常、少なくとも一部の認識対象が、エピソードメモリ820から長期メモリ825に移行する。しかし、エピソードメモリ820内に配置されるあらゆるデータが長期メモリ825に移行するわけではない。一部のデータは、長期メモリ825に達することなく、エピソードメモリ820から消滅する(例えば、異常と判定されなかった1回限りのイベントを記述するデータ)。
【0060】
[0068]同時に、そのイベントの側面を使用して、長期メモリ825内の情報を補強することができる(例えば、どのように、どこで、どれくらいの期間、自動車が駐車スペース内に駐車したかについての各側面)。したがって、長期メモリ825を使用して、所与のシーン内の挙動の一般的パターンを構築及び累積することができる。一実施形態では、エピソードメモリ820内に格納された挙動のパターンと、十分な統計的重みを取得した挙動のパターンとが、挙動の一般的パターンとして長期メモリ825に移動される。しかし、長期メモリ825内に配置されるすべてのデータがそこにとどまるわけではない。一部のデータは最終的には消滅する(例えば、特定の詳細)。例えば、異なるカラーのいくつかの自動車が期間にわたって同じ場所に駐車している場合、その特定の場所に駐車することのできる自動車の一般的パターンを学習し、それを長期メモリ825内に配置することができる。しかし、以前に駐車した自動車に関する、その自動車のカラーなどの詳細は、ある期間の後に長期メモリ825から消滅する。
【0061】
[0069]一実施形態では、作業スペース815は、長期メモリ825内で見つかった挙動の一般的パターンを使用して、シーン内で生じるイベントを判定する。イベントが認識されると、認識されたイベントが識別されたことを示す情報が生成される。その後で、そのような情報が警報を生成するのに使用される。一実施形態では、識別された異常な挙動に関する警報のみが発行され(例えば暴行)、別の実施形態では、識別された正常を記述する警報も発行される(例えば、自動車が駐車した)。
【0062】
[0070]図9A〜9Cは、本発明の一実施形態による、挙動認識システムが異常な挙動を検出し、警報を発行する、地下鉄の駅900で生じるシナリオを示す。図示されるように、静止ビデオカメラ915が、地下鉄の駅900で生じるイベントを取り込み、イベントを示すビデオイメージを挙動認識システムに供給する。図9A〜9Cに示されるように、ビデオカメラ915は、バッグ910を搬送する人905がごみ箱920(図9A)に近づき、ごみ箱920の隣の地面にバッグ910を置き(図9B)、バッグ910を後に残して去る(図9C)間に、人905のビデオイメージを取り込む。人間が地下鉄の駅900に進入することを観測することからの学習に基づいて、人間として分類される物体によって持ち込まれた「その他」の物体(すなわちバッグ)を残す行為を異常と識別することができ、したがって、挙動認識システムは、警報を発行して、そのようなイベントの発生を示すことができる。
【0063】
[0071]上記で論じた原理によれば、挙動認識システムは、ごみ箱920をごみ箱と具体的に識別することなく、静止ごみ箱920を表示するピクセルをバックグラウンドイメージの一部として処理する。対照的に、挙動認識システムは、人905とバッグ910をどちらもフォアグラウンドイメージ(複数可)として処理する。当初(図9A)、自己学習挙動認識システムは、人905及びバッグ910を1つのフォアグラウンドブロブとみなすことができる。しかし、人905がバッグ910を下に置くとき(図9B〜9C)、人及びバッグ910は、別々のフォアグラウンドブロブの部分となる。一実施形態では、人905がバッグ910を拾い上げるとき、それぞれのフォアグラウンドブロブが新しいフォアグラウンドブロブに併合され、別の実施形態では、人905及びバッグ910が、引き続き2つの別個のフォアグラウンドブロブとして処理される。さらに別の実施形態では、人905及びバッグ910が、最初(図9A)から別々のフォアグラウンドブロブであるとみなされる。
【0064】
[0072]人905とバッグ910の両方について、挙動認識システムは、探索モデルを構築及び更新して、こうした物体をフレームごとに追跡する。さらに、挙動認識システムは、人905を「人間」として分類し、バッグ910を「その他」(或いは「バッグ」)として分類し、人905及びバッグ910についての情報を収集し、以前に学習した地下鉄の駅での人々及びバッグの挙動に基づいて、人905及びバッグ910のアクションを予測する。バッグを後に残すことが正常な学習挙動に関連しないので、挙動認識システムは、そのような挙動を異常と識別し、警報を発行する。或いは、バッグを後に残す状況が異常な挙動であることをシステムが以前に学習しているので、そのような挙動を異常と識別することができる。
【0065】
[0073]上記は本発明の実施形態を対象とするが、本発明の基本的範囲から逸脱することなく、本発明の別の実施形態を考案することができ、本発明の範囲は、以下の特許請求の範囲によって決定される。
【特許請求の範囲】
【請求項1】
ビデオイメージデータを処理する方法であって、
一又は複数のプロセッサの動作によって、シーンを取り込むビデオフレームのシーケンスにおいて示される一又は複数の物体を識別するステップと、
前記ビデオフレームのシーケンスから、前記識別された一又は複数の物体を特徴付ける複数の情報ストリームを生成するステップと、
前記複数の情報ストリームから、機械学習エンジンによって、一又は複数の物体分類を生成して、前記ビデオフレームのシーケンスに示された物体に割り当てるステップであって、前記機械学習エンジンが、共通の物体分類を有する物体が関与する挙動のパターンを導出し、前記ビデオフレームのシーケンスに示された物体が関与する前記挙動のパターンの場合を、該場合が発生するときに識別するように構成されている、ステップと、
を含む、方法。
【請求項2】
前記複数の情報ストリームが、前記少なくとも一つの物体の運動を前記ビデオフレームのシーケンスに示されるように特徴付けるストリームを有する、請求項1に記載の方法。
【請求項3】
前記複数の情報ストリームが、前記少なくとも一つの物体の外観を前記ビデオフレームのシーケンスに示されるように特徴付けるストリームを有する、請求項1に記載の方法。
【請求項4】
前記複数の情報ストリームが、前記ビデオフレームのシーケンスから前記少なくとも一つの物体のために導出された運動データ及び外観データに基づいて、前記少なくとも一つの物体の分類に基づく特徴を特定するストリームを有する、請求項1に記載の方法。
【請求項5】
ビデオフレームのシーケンスに示される一又は複数の物体を識別するステップが、
前記シーンのバックグラウンドモデルを生成するステップと、
前記ビデオフレームのシーケンスの各々に示された一又は複数のフォアグラウンド物体を、前記生成されたバックグラウンドモデルに基づいてセグメント化するステップと、
を有する、請求項1に記載の方法。
【請求項6】
前記ビデオフレームの複数のシーケンスにわたって前記セグメント化されたフォアグラウンド物体の一又は複数を追跡するステップを更に有し、前記複数の情報ストリームの一つが、前記セグメント化された物体の一又は複数の追跡された軌跡を有する、請求項5に記載の方法。
【請求項7】
前記識別された物体の一つが関与する挙動の前記特定されたパターンの一つの発生を示す少なくとも一つの警報を発行するステップを更に有する、請求項1に記載の方法。
【請求項8】
前記機械学習エンジンが、さらに、前記複数の情報ストリームから、前記識別された挙動のパターンの一つの発生が、前記ビデオフレームのシーケンスに示された前記識別された物体の以前の分析に対して、前記ビデオフレームのシーケンスから生成された前記複数の情報ストリームによって表示されるように、正常イベント又は異常イベントであるかを判断するように構成されている、請求項1に記載の方法。
【請求項1】
ビデオイメージデータを処理する方法であって、
一又は複数のプロセッサの動作によって、シーンを取り込むビデオフレームのシーケンスにおいて示される一又は複数の物体を識別するステップと、
前記ビデオフレームのシーケンスから、前記識別された一又は複数の物体を特徴付ける複数の情報ストリームを生成するステップと、
前記複数の情報ストリームから、機械学習エンジンによって、一又は複数の物体分類を生成して、前記ビデオフレームのシーケンスに示された物体に割り当てるステップであって、前記機械学習エンジンが、共通の物体分類を有する物体が関与する挙動のパターンを導出し、前記ビデオフレームのシーケンスに示された物体が関与する前記挙動のパターンの場合を、該場合が発生するときに識別するように構成されている、ステップと、
を含む、方法。
【請求項2】
前記複数の情報ストリームが、前記少なくとも一つの物体の運動を前記ビデオフレームのシーケンスに示されるように特徴付けるストリームを有する、請求項1に記載の方法。
【請求項3】
前記複数の情報ストリームが、前記少なくとも一つの物体の外観を前記ビデオフレームのシーケンスに示されるように特徴付けるストリームを有する、請求項1に記載の方法。
【請求項4】
前記複数の情報ストリームが、前記ビデオフレームのシーケンスから前記少なくとも一つの物体のために導出された運動データ及び外観データに基づいて、前記少なくとも一つの物体の分類に基づく特徴を特定するストリームを有する、請求項1に記載の方法。
【請求項5】
ビデオフレームのシーケンスに示される一又は複数の物体を識別するステップが、
前記シーンのバックグラウンドモデルを生成するステップと、
前記ビデオフレームのシーケンスの各々に示された一又は複数のフォアグラウンド物体を、前記生成されたバックグラウンドモデルに基づいてセグメント化するステップと、
を有する、請求項1に記載の方法。
【請求項6】
前記ビデオフレームの複数のシーケンスにわたって前記セグメント化されたフォアグラウンド物体の一又は複数を追跡するステップを更に有し、前記複数の情報ストリームの一つが、前記セグメント化された物体の一又は複数の追跡された軌跡を有する、請求項5に記載の方法。
【請求項7】
前記識別された物体の一つが関与する挙動の前記特定されたパターンの一つの発生を示す少なくとも一つの警報を発行するステップを更に有する、請求項1に記載の方法。
【請求項8】
前記機械学習エンジンが、さらに、前記複数の情報ストリームから、前記識別された挙動のパターンの一つの発生が、前記ビデオフレームのシーケンスに示された前記識別された物体の以前の分析に対して、前記ビデオフレームのシーケンスから生成された前記複数の情報ストリームによって表示されるように、正常イベント又は異常イベントであるかを判断するように構成されている、請求項1に記載の方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9A】
【図9B】
【図9C】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9A】
【図9B】
【図9C】
【公開番号】特開2012−230686(P2012−230686A)
【公開日】平成24年11月22日(2012.11.22)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−132879(P2012−132879)
【出願日】平成24年6月12日(2012.6.12)
【分割の表示】特願2009−549265(P2009−549265)の分割
【原出願日】平成20年2月8日(2008.2.8)
【出願人】(509217507)ビヘイヴィアラル レコグニション システムズ, インコーポレイテッド (2)
【Fターム(参考)】
【公開日】平成24年11月22日(2012.11.22)
【国際特許分類】
【出願番号】特願2012−132879(P2012−132879)
【出願日】平成24年6月12日(2012.6.12)
【分割の表示】特願2009−549265(P2009−549265)の分割
【原出願日】平成20年2月8日(2008.2.8)
【出願人】(509217507)ビヘイヴィアラル レコグニション システムズ, インコーポレイテッド (2)
【Fターム(参考)】
[ Back to top ]