(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0029】
次に、さまざまな例示的な実施形態について、いくつかの例示的な実施形態が示されている図面を参照しながら、より十分に説明する。
【0030】
例示的な実施形態は、さまざまな修正形態および代替形態が可能であるが、実施形態は図面において例として示されており、本明細書で詳細に説明される。しかしながら、例示的な実施形態を、開示される特定の形態に制限する意図はないことを理解されたい。逆に、例示的な実施形態は、本開示の範囲に含まれるあらゆる修正形態、均等物、および代替物を包含するものである。同じ数字は、図の説明全体を通じて同じ要素を指す。
【0031】
第1の、第2の、などの用語は、さまざまな要素を説明するために本明細書で使用され得るが、これらの要素は、これらの用語によって制限されるべきではない。これらの用語は、1つの要素を他の要素と区別するためにのみ使用される。たとえば、本開示の範囲から逸脱することなく、第1の要素を第2の要素と呼んでもよいし、同様に、第2の要素を第1の要素と呼んでもよい。本明細書で用いる場合、「および/または」という用語は、関連する列挙項目のうちの1つまたは複数のいかなるすべての組合せを含む。
【0032】
ある要素が別の要素に「接続される」または「結合される」と呼ばれるとき、その要素は、他の要素に直接接続されるまたは結合されることが可能であり、または介在要素が存在することがある。対照的に、ある要素が別の要素に「直接接続される」または「直接結合される」と呼ばれるとき、介在要素は存在しない。要素間の関係について説明するために使用される他の単語は、同じように解釈されるべきである(たとえば、「の間の」と「の間の直接」、「隣接する」と「直接隣接する」など)。
【0033】
本明細書で使用する用語は、特定の実施形態を説明するためだけのものであり、制限することを意図するものではない。本明細書で使用されるとき、単数形「a」、「an」、および「the」は、文脈で明確に示さない限り、複数形も含むことを意図する。「〜を備える(comprise)」、「〜を備える(comprising)」、「を含む(include)」、および/または「を含む(including)」という用語は、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を規定するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことがさらに理解されよう。
【0034】
いくつかの代替実装形態では、言及された機能/行為は、図に示された順序以外で発生することがあることにも留意されたい。たとえば、連続して示される2つの図は、含まれる機能性/行為に応じて、実際には、実質的に同時に実行されてもよいし、逆の順序で実行されてもよいときもある。
【0035】
別途定義されない限り、本明細書で使用するすべての用語(技術用語および科学用語を含む)は、例示的な実施形態が属する技術の当業者によって一般に理解されるものと同じ意味を有する。用語、たとえば一般に使用される辞書で定義される用語は、関連技術の文脈における意味と矛盾しない意味を有すると解釈されるべきであり、本明細書で明確に理想的な意味または過度に形式的な意味に定義されない限り、そのように解釈されないことがさらに理解されよう。
【0036】
例示的な実施形態および対応する詳細な説明の一部分は、コントローラによって実行されるアルゴリズムに関して示される。アルゴリズムは、その用語が本明細書で使用されるとき、およびその用語が一般的に使用されるとき、所望の結果をもたらすステップの首尾一貫した系列であると考えられる。ステップは、物理量の物理的操作を必要とするステップである。通常、必然的にではないが、これらの量は、格納され、転送され、組み合わされ、比較され、および別の方法で操作されることが可能な光信号、電気信号、または磁気信号の形態を取る。時には、主に一般的な用法という理由で、これらの信号をビット、値、要素、記号、文字、用語、数などと呼ぶことが好都合であることがわかっている。
【0037】
以下の説明では、例示的な実施形態の完全な理解を提供するために、具体的な詳細が提供される。しかしながら、例示的な実施形態は、これらの具体的な詳細がなくても実施され得ることは、当業者には理解されよう。たとえば、例示的な実施形態を不必要に詳細に曖昧にしないように、システムがブロック図で示されることがある。他の例では、例示的な実施形態を曖昧にすることを避けるために、よく知られているプロセス、構造、および技法が、不必要な詳細なしで示されることがある。
【0038】
以下の説明では、例示的な実施形態について、特定のタスクを実行するまたは特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含むプログラムモジュールまたは機能プロセスとして実施され得、既存のネットワーク要素、既存のエンドユーザデバイスおよび/または後処理ツール(たとえば、モバイルデバイス、ラップトップコンピュータ、デスクトップコンピュータなど)における既存のハードウェアを使用して実施され得る行為および動作の記号的表現(たとえば、フローチャート、流れ図、データフロー図、構造図、ブロック図などの形態をした)を参照しながら説明する。そのような既存のハードウェアとしては、1つまたは複数の中央処理装置(CPU)、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路、フィールドプログラマブルゲートアレイ(FPGA)コンピュータなどがあり得る。
【0039】
別段に明記されていない限り、または説明から明らかであるように、「〜を処理すること」または「〜を算出すること」または「〜を計算すること」または「〜を決定すること」または「〜を表示すること」などの用語は、コンピュータシステムのレジスタおよびメモリ内の物理的な電子量として表されるデータを操作して、同様にコンピュータシステムメモリまたはレジスタまたは他のそのような情報記憶デバイス、伝送デバイス、もしくは表示デバイス内の物理量として表される他のデータに変換するコンピュータシステムまたは類似の電子的コンピューティングデバイスのアクションおよびプロセスを指す。
【0040】
フローチャートには、動作を逐次プロセスとして記載することがあるが、動作の多くは、並列に実行されてもよいし、並行して実行されてもよいし、同時に実行されてもよい。さらに、動作の順序は並べ替えられてもよい。プロセスは、その動作が完了したとき、終了されてもよいが、図に含まれない追加ステップも有してよい。プロセスは、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに相当することがある。プロセスが関数に相当するとき、その終了は、呼び出し関数またはmain関数への関数の復帰に相当することがある。
【0041】
また、例示的な実施形態のソフトウェアにより実施される態様は、一般に、有形の(または記録する)記憶媒体の何らかの形態で符号化されるか、または何らかの種類の伝送媒体で実施されることに留意されたい。本明細書で開示するように、「記憶媒体」という用語は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気RAM、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、および/または情報を記憶するための他の有形の機械可読媒体を含む、データを記憶するための1つまたは複数のデバイスを表し得る。「コンピュータ可読媒体」という用語は、限定するものではないが、携帯式記憶デバイスまたは固定記憶デバイス、光記憶デバイス、ならびに命令および/またはデータを記憶、含有、または搬送することが可能なさまざまな他の媒体を含むことがある。
【0042】
そのうえ、例示的な実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはこれらの組合せによって実施され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実施されるとき、必要なタスクを実行するプログラムコードまたはコードセグメントは、コンピュータ可読記憶媒体などの機械可読媒体またはコンピュータ可読媒体に格納され得る。ソフトウェアで実施されるとき、1つまたは複数のプロセッサは、必要なタスクを実行する。
【0043】
コードまたはコードセグメントは、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラム文の任意の組合せを表し得る。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を渡すかつ/またはこれを受け取ることによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージ受け渡し、トークンパッシング、ネットワーク伝送などを含む任意の適切な手段を介して、渡され得る、転送され得る、または伝送され得る。
【0044】
本明細書で使用されるとき、「端末」という用語は、モバイルユーザ、移動局、モバイル端末、ユーザ、加入者、ワイヤレス端末、ユーザ機器、および/または遠隔局と同義であり得、ワイヤレス通信ネットワーク内のワイヤレスリソースのリモートユーザを記述し得る。したがって、端末は、ワイヤレス電話、ワイヤレスを搭載したラップトップ、ワイヤレスを搭載したアプライアンスなどであってよい。
【0045】
「基地局」という用語は、1つまたは複数のセルサイト、基地局、nodeB、enhanced NodeB、アクセスポイント、および/または無線周波数通信の任意の末端として理解され得る。現在のネットワークアーキテクチャでは、モバイル/ユーザデバイスとアクセスポイント/セルサイトの差異を考慮することがあるが、以下で説明する例示的な実施形態は、一般に、たとえばアドホックネットワークアーキテクチャおよび/またはメッシュネットワークアーキテクチャなどの、その差異がそれほど明確でないアーキテクチャに適用され得る。
【0046】
基地局から端末への通信は、ダウンリンク通信またはフォワードリンク通信と呼ばれることがある。端末から基地局への通信は、アップリンク通信またはリバースリンク通信と呼ばれることがある。
【0047】
図1は、視覚情報を含む情報を処理するための装置の一実施形態を示す。視覚情報は、さまざまなソースから受信された、ビデオ、グラフィックス、またはそれらの組合せであってよい。視覚情報は、以下でより詳細に説明する検出機能、モニタリング機能、および/または追跡機能を実行するために処理されてよい。
【0048】
図1に示されるように、装置は、コントローラ10と、第1の記憶領域20と、第2の記憶領域30とを含む。これらの特徴は処理システムに含まれてよく、処理システムは、たとえば、パーソナルコンピュータ、スマートフォン、パッドタイプもしくはポッドタイプのデバイス、タブレット、ゲーム用システム、公共もしくは私用の制御システム、安全システム、または情報を処理するための携帯デバイスもしくは固定デバイスであってよい。
【0049】
コントローラ10は、第1の記憶領域20に記憶された制御プログラムに基づいて動作するマイクロプロセッサおよび/または1つもしくは複数の他の制御回路を含むことができる。制御プログラムは、より詳細に説明する特定の関数を実行するために、コントローラ10によって実行される。第1の記憶領域20は、読み出し専用メモリであってもよいし、ハードディスクドライブであってもよいし、他の種類の記憶領域であってもよい。
【0050】
第2の記憶領域30は、たとえばインタフェース40によって受信された視覚情報を含む情報を記憶する。第2の記憶領域は、ランダムアクセスメモリもしくは他の種類の揮発性メモリであってもよいし、ハードディスクドライブであってもよいし、データベースであってもよい。第1の記憶領域20および第2の記憶領域30は装置内の構成要素であってよく、これらの記憶領域の一方または両方は、適切なコネクタまたは他のインタフェースによって装置に結合されてよい。
【0051】
たとえば、ゲーム用アプリケーションでは、コントローラ10によって処理されるべき情報は、コンパクトディスク(CD:compact disk)もしくは装置に結合された他の着脱可能な記憶媒体に記憶された、またはCDもしくは装置に結合された他の着脱可能な記憶媒体からのデータに基づいて生成された、ビデオ情報および/またはグラフィックス情報とすることができる。または、視覚情報は、インターネットまたは他のネットワークを介して、ストリーミング形式またはダウンロード形式で受信され得る。
【0052】
前述のように、少なくとも1つの実施形態では、コントローラ10は、インタフェース40を介して視覚情報を受信する。視覚情報がビデオを含むとき、インタフェース40は、ビデオソース50に結合され得る。ビデオソースは、装置に含まれてもよいし、ローカルに、またはリモートフィードまたはリモート接続を介して、装置に結合されてもよい。たとえば、ビデオソースは、有線、監視機構、またはネットワークを介して装置に結合されたウェブカメラであってもよいし、ビデオソースは、装置の内部カメラであってもよい。
【0053】
装置は、コマンド、命令、またはコントローラ10への入力のための他の信号を受信するための入力デバイス60をさらに含んでもよいし、これに結合されてもよい。入力デバイスは、たとえば、キーボード、キーパッド、マウス、ゲームコントローラ、または第1の記憶領域20内の制御プログラムに基づいて1つもしくは複数の機能を実行する目的でコントローラに信号を入力するためにユーザによって動作可能な他のデバイスであってよい。
【0054】
装置は、コントローラ10によって実行される処理機能の結果を出力するためのディスプレイ70をさらに含んでもよいし、これに結合されてもよい。一実施形態によれば、ディスプレイは、コントローラ10によって実行される機能に対応するイベント検出情報、緊急情報またはアラート情報、統計情報および/または画像、ビデオ情報および/またはテキスト情報を出力する。表示される情報の具体例について、より詳細に説明する。
【0055】
図2は、視覚情報を含む情報を処理するための方法の一実施形態を示す。この方法は、
図1に示される装置によって実行されてもよいし、異なる装置によって実行されてもよい。この実施形態によれば、視覚情報は、イベントの検出を実行するために処理される。イベントは、1人もしくは複数の人間もしくは人々の群衆、人間もしくは物体のモーション、緊急状況もしくは緊急状態、ゲーム用アクティビティ、人間もしくは物体の追跡、行動認識、パターン認識、または他の種類のアクティビティ、状態、もしくはイベントであってよい。特定の例示的な実施形態について、以下でより詳細に説明する。
【0056】
イベント検出を実行する際、初期動作としては、少なくとも1つの興味のある物体を有する視覚情報を受信すること(S210)がある。視覚情報は、ビデオであってもよいし、グラフィックスであってもよいし、これらの組合せであってもよい。一実施形態では、視覚情報としては、ビデオソースからのビデオがある。ビデオソースは、処理のためにリアルタイムで、またはリアルタイムに近く、ビデオを受信するカメラであってよく、またはビデオは、あらかじめ記録され、その後でイベント検出のために分析されるために記憶されてよい。追加または代替として、視覚情報は、たとえばゲーム用アプリケーションまたは他の適用例で使用されるべき、コンピュータにより生成されたビデオ、データ、またはグラフィックスであってよい。
【0057】
視覚情報中の物体は、適用例に応じて異なってよい。たとえば、物体は、屋内または屋外の公共区域または私用区域にいる人間または人々の集団または群衆であってよい。追加または代替として、物体は、モニタリングもしくは追跡されるべきまたはその存在もしくは移動が他の方法で決定されるべきである、人間以外の対象である。代替または追加として、物体は、たとえばゲームアプリケーションで現れることがあるものなどのグラフィカルオブジェクトの位置または移動であってよい。
【0058】
視覚情報がひとたび受信されると、方法が、少なくとも3つの段階で実行される:1)モーション特徴計算、2)シーンアクティビティベクトル決定、および3)イベント検出。これらの段階は、以下で説明する様式で実行され得る。これらの段階における動作について説明する際、視覚情報はビデオ情報であると仮定される。しかしながら、これらの段階は、単独でまたはビデオと組み合わせて取得されたグラフィックスまたは他の種類の視覚情報に同様に適用することができる。
【0060】
第1の段階としては、視覚情報内の少なくとも1つの空間エッジの位置を特定すること(S220)がある。空間エッジは、興味のある物体に対応し得る。しかしながら、物体のアプリオリな知識が、方法に知られていないことがある。むしろ、方法の第1の段階は、空間エッジの位置を特定するにすぎず、次いで、後の段階で、エッジがイベントに対応するかどうかに関して決定がなされる(説明のために、空間エッジは、興味のある物体、より具体的には、物体のステータス、状態、またはアクティビティに基づいてイベントを検出することに関して説明される)。
【0061】
空間エッジは、たとえば、最小領域エッジ検出器を使用して位置を特定されることがあり、最小領域エッジ検出器の一例は、Sobelエッジ検出法を使用してエッジの位置を特定する検出器である。この空間エッジは、受信したビデオの第1のフレーム内で位置を特定されることがあり、またはこの空間エッジの位置を特定する動作は、特定の時刻に、またはビデオ内の特定の数のフレームが経過した後に、開始され得る。この特定の時刻またはフレームの数は、制御プログラムによって決定されてもよいし、コントローラによって生成された制御信号に応答して実行されてもよいし、かつ/またはユーザによるアクションに基づいて入力デバイスによって受信された制御信号に応答して開始されてもよい。
【0062】
位置特定動作は、物体の1つの空間エッジのみを検出することを含んでもよいし、物体の複数の空間エッジを検出することを含んでもよい。たとえば、物体が一人の人間または人々の群衆である場合、位置特定動作は、たとえば人間の輪郭もしくはシルエットのすべてもしくは一部分および/または群衆の中のさまざまな人間の輪郭もしくはエッジに対応する複数のエッジの位置を特定することであってよい。追加または代替として、位置特定動作は、ビデオの同じフレーム内の複数の物体の1つまたは複数の空間エッジを検出することを含んでよく、これらの物体は、複数の人々、構造、乗り物、もしくは他の対象、またはそれらの組合せであってもよい。
【0063】
ビデオのフレーム内で少なくとも1つの空間エッジの位置が特定された後、方法は、N個のフレームにわたって少なくとも1つの空間エッジに対する複数の時空間勾配を生成すること(S230)によって継続する。Nの値は2以上であってよく、一実施形態ではN≧3である。追加または代替として、フレームの数は、ビデオに対するある時間期間に基づいて決定され得る。時間期間は、ビデオの全長に及んでもよいし、たとえばユーザ入力信号に基づいて指定されるまたは別の方法で制御される、興味となる特定の時間に対応してもよい。イベント検出の可能性は、フレームの数を増加させることが考慮に入れられるときに、改善することがある。
【0064】
一実施形態では、時空間勾配は、次の式に従って空間差の時間差「Δ」として生成される:
【0065】
【数1】
ここで、Gt(x,y)はフレームtおよびそのフレーム内の位置(x,y)における時空間勾配、I(x,y)は光強度、ΔI(x,y)/Δxはxにおける(同様にyにおける)空間エッジである。図示のように、空間エッジは、たとえば、先に示したようなSobel検出器などの最小領域エッジ検出器によって見つけられ得る。
【0067】
【数2】
は、複数のフレームに関して測定され得る、ある時間の期間にわたって位置が特定された1つまたは複数のエッジ内の空間的な変化に基づいて勾配が算出されることを示す。複数のフレームは、わずか2つのフレームを含んでもよいし、2つよりも多くのフレームを含んでもよい。時間の期間がかなりのものであるとき、数秒または数分にわたって、数百のフレームが考慮に入れられ得る。1つの適用例では、特に方法の公共安全適用例において、24時間またはそれ以上の期間にわたってビデオの連続分析が実行されることがある。
【0068】
勾配を生成する際、空間エッジの差分(すなわち変化)は、現在の空間エッジ画像と、同じまたは他のフレーム内でのその画像の指数移動平均との差分に基づくことがある。指数移動平均は、たとえば、位置が特定されたxおよびyの空間エッジと同じフレーム内の背景エッジ画像に対応することがある。勾配は、考慮に入れられる時間期間(複数のフレーム)にわたる複数の勾配画像として表され得る。
【0069】
図3は、どのようにして勾配画像G
t(x,y)が式(1)に基づいてN個のフレームにわたって生成され得るかの一例を示す。最初に、空間エッジに対応する光強度I(x,y)が第1のフレーム内で決定される(S310)。複数の空間エッジの位置が特定されているとき、光強度は、これらのエッジのそれぞれに対して決定されてよい。各空間エッジに対する光強度I(x,y)がひとたび決定されると、xにおける空間エッジ画像
【0070】
【数3】
がフレームに対して決定される(S320)。この動作に続いて、フレームに対してyにおける空間エッジ画像
【0072】
次の動作では、時空間勾配G
t(x,y)が、光強度、ならびにxおよびyにおける空間エッジ画像、ならびにたとえば画像背景エッジに対応する移動平均に基づいて生成される(S340)。これらの動作は、対応する勾配G
t(x,y)画像として表され得る時空間勾配が、検討中の時間期間Δt(フレームの数)に対して生成されるまで継続する(S350)。
【0073】
勾配G
t(x,y)画像(すなわち差分画像)が取得された後、画像は、かなりのエッジの2値画像を取得するために選ばれた値τに関して1つまたは複数の閾値に基づいて量子化され得る(S360)。量子化は、式(2)に基づいて実行され得る:
【0075】
この量子化プロセスのより具体的な説明は、式(3)に基づいて実行されてよく、ここで、∇Eは、勾配画像における時刻tとt−1の差分に対応する。
【0076】
E(x,y,t)=B(x,y,t−1)=0の場合、∇E(x,y,t)=0 (3)
E(x,y,t)=B(x,y,t−1)≠0の場合、∇E(x,y,t)=1
E(x,y,t)≠B(x,y,t−1)の場合、∇E(x,y,t)=2
【0077】
上記の式では、時刻t−1は、あるフレームが時刻tに対応する前に発生するフレームに対応し得る。このフレームは、tに対応するフレームの前の隣接するフレームであってもよいし、時刻tに対応するフレームと時刻t−1に対応するフレームの間に1つまたは複数の介在フレームが存在してもよい。
【0078】
また、式(3)では、表記B(x,y,t−1)は時刻t−1における空間エッジの勾配に対応し、表記E(x,y,t)は時刻tにおける空間エッジの勾配に対応する。したがって、∇Eは、たとえばこれらのフレーム間での空間エッジの移動の結果として生成され得る、対応するフレーム内でのこの空間エッジの差分を示す勾配を表す。空間エッジは、以前に位置が特定された空間エッジを含むn×n個の数のピクセルに対応することがある。
【0079】
式(3)の条件を仮定すると、空間エッジEとBの間に差がない(または、少なくとも、この空間エッジ内の差分が閾値を下回る)場合、勾配画像∇Eは0の値に量子化される。これらの空間エッジ間に差がある場合、勾配画像は、1の値に量子化される。空間画像が時刻tに対応するフレームと時刻t−1に対応するフレームの両方に現れない場合、勾配画像は、2の値に量子化される。
【0080】
図2に戻ると、次の動作では、複数のモーションブラー画像が時空間勾配から生成される(S240)。より具体的には、モーションブラー画像は、式(4)および(5)に示されるように、各フレーム内のそれぞれの量子化された勾配画像を、前のk個のフレームの単調に減衰する重みw
kと結合させることによって生成され得る:
【0081】
【数6】
w
k=W−k+1、1≦k≦K、W≧K (5)
【0082】
式(4)では、「重み付き論理OR」関数が実行され、その結果は、
【0083】
【数7】
の場合は0でも1でもなくw
kであり、その他の場合は0である(複数の
【0084】
【数8】
が1に等しい場合、最も長い減衰するエッジに対応する最小値の重みが選ばれる)。したがって、一実施形態によれば、モーションブラー画像は、K個のフレームに対して、現在のフレーム内の空間エッジに対する高い値と、前のフレームに対して1小さい値などを含む。この画像は、ブラーを引き起こす動いた物体のエッジの、単一のスナップショットのように見える。
【0085】
次の動作では、N個のフレーム全体を通して物体のモーション情報の方向を決定するために、モーションブラー画像に対して回帰分析が実行される(S250)。より具体的には、各モーションブラー結果に寄与する各フレーム持続時間にわたって(K個のフレームにわたって)xおよびyにおいて平均モーションブラー位置に線形回帰フィッティング(linear regression fit)が適用され、w×wのウィンドウが各モーションブラーフレームの位置(x,y)の周囲にある。
【0086】
フィッティングの傾きすなわちρ
xおよびρ
yから、モーションθの方向が、次のように計算され得る:
【0088】
【数10】
θ(x,y,t)=arctan(ρ
y/ρ
x) (8)
【0089】
上記の式では、フレーム時刻tにおける各フレーム遅延1≦k≦Kに対する平均モーションブラー位置が、w×wのサイズのウィンドウの中に見つけられ(−w/2≦(i,j)≦w/2)、
【0092】
位置xとyの共分散および平均モーションブラー位置はそれぞれ
【0095】
平均モーションブラー位置の分散はそれぞれ
【0098】
モーションブラー画像の回帰フィッティングによって、本実施形態は、わずか2つの隣接するフレームよりも多くのフレームに基づいて高レベルモーション特徴を生成することが可能になり得るが、2つのフレームの実施形態も実行され得る。さらに、このフィッティングは、より大きな標本サイズの統計により改善されたノイズ抑圧を得るために、大きな時空間立方体(x,y,t)に対して実行され得る。
【0100】
方法の前述の段階は、ビデオフレームにある空間エッジからテクスチャを生成することによって修正または補足されてよい。廊下に適用される一例について、以下で説明する。
【0101】
図4を参照すると、ビデオフレーム410が廊下のカメラから受信される。ビデオフレーム410は、経時的に(フレームにわたって)動く複数の空間エッジを有する。この場合、空間エッジは、廊下をさまざまな方向に歩いている人々に関連付けられる。ビデオフレーム410内の空間エッジは、さまざまなフレーム内で経時的に動くエッジテクスチャT(t)420と記述されることがある。したがって、エッジテクスチャすなわち空間エッジは、異なる空間的および時間的特徴を有すると言いうる。
【0102】
エッジテクスチャは、以下の式に従って空間エッジをテクスチャC
Mに変換することによって生成され得る:
【0103】
【数17】
ここで、w/2≦i,j≦w/2、およびM={0,1,2}である。この式では、勾配エッジの差分は、w×wのウィンドウにわたって加算され得る。
【0104】
フレーム内のテクスチャ(空間エッジ)の位置がひとたび特定されると、移動平均が決定される。移動平均は、たとえば、ビデオフレーム410に対して時刻tに取得されたエッジテクスチャT(t)と時刻t−1に得られた前のフレーム420に対するエッジテクスチャの差分から得られる背景画像に対応することがある。たとえば、背景画像は、フレームの時刻t−tとtの間で動かない部分に対応することがある。背景画像は、移動平均430に対応すると考えられ得る。
【0105】
エッジテクスチャT(t)および移動平均(背景画像)は、勾配画像450内の勾配と表されることがある。この勾配画像では、エッジテクスチャT(t)は、時刻tにおける空間エッジに対応する線ETによって示される明るい部分として示される。移動平均は、線MAによって示される、画像450のより暗い部分によって示される。
【0106】
勾配画像がひとたび生成されると、テクスチャD(t)460の差分を生成するために、エッジテクスチャT(t)と移動平均の差分が取得される。D(t)に対応する差分画像470は、時刻tにおける入力ビデオフレームの上に重ね合わされるエッジテクスチャT(t)に対応し得る。エッジテクスチャは、差分画像内で、たとえば異なる色で示され得る。
【0107】
エッジテクスチャの差分は量子化され得、ここで、0の値はテクスチャがないことを示し、1の値は前のフレームに対する同じテクスチャを示し、2の値は異なるまたは新しいテクスチャを示し、3の値は、たとえば信頼度の低さによる、未定の状態を示す。エッジテクスチャの差分の量子化は、たとえば以下の式による統計的平均化および信頼度に基づいて実行され得る:
C
0(x,y,t)<w
2/T2の場合、∇T(x,y,t)=0 (16)
∇T(x,y,t)≠0かつC
1(x,y,t)>w
2/T3かつC
1(x,y,t)>2C
2(x,y,t)の場合、∇T(x,y,t)=1
∇T(x,y,t)≠0かつC
2(x,y,t)>w
2/T3かつC
2(x,y,t)>2C
1(x,y,t)の場合、∇T(x,y,t)=2
その他の場合、∇T(x,y,t)=3
【0109】
図2を参照すると、方法の第2の段階としては、モーション情報の方向に基づいてN個のフレームに対してシーンアクティビティベクトルを生成すること(S260)がある。より具体的には、ひとたびモーション方向情報が空間エッジに対応する各位置で決定されると、特徴が、フレームごとにシーンアクティビティベクトルSAV(t)へと組織化される。
【0110】
一実施形態によれば、これは、ブロックへのフレームの逐次2×2分割を含むマルチレベル表現によって実行される。
図5を参照すると、シーンアクティビティベクトルを生成することに向けた第1の動作としては、N個のフレームのうちの第1のフレームを1つまたは複数のブロックに分割すること(S510)がある。たとえば、レベル0では、フレーム全体はブロックと考えられ得る。レベル1では、フレームは、4つのブロックに分割され得る。レベル2では、フレームは、16つのブロックなどに分割され得る。
【0111】
ブロックが分割された後、方法は、フレーム内のブロックのそれぞれに対する特徴パラメータのセットを決定すること(S520)によって継続する。すなわち、各ブロックは、1つまたは複数の特徴パラメータによって記述される。パラメータとしては、スコア、主要方向、信頼度、速度、色、および密度、ならびに以下で識別される他のパラメータのうちの1つまたは複数があり得る(一実施形態では、これらの特徴パラメータのすべては、動作S520において検討中のN個のフレームのそれぞれに含まれる各ブロックに対して決定される)。
【0112】
スコアすなわちsは、各ブロック内の非ゼロ方向値の合計である。
【0113】
主要方向すなわちdは、ブロック内の全方向θi(x,y,t)の円周平均(0−2πラジアンにわたっての)であり、ここでi=1,…n−1である。
【0114】
信頼度すなわちC
dは、0−1の範囲を持つ円周分散の逆数であり、ここで、
【0117】
速度は、隣接するフレームのみを使用する前の方法によって直接に取得されず、より高レベルアプローチのサポートを使用する信頼性により取得可能な尺度である。
【0118】
色は主要色であり、色はいくつかの色に量子化される。たとえば、色の数は3色であってよい:赤色、緑色、および青色。または、色の数は3色よりも多くてもよい。たとえば、一実施形態では、色の数は、以下の10色であってよい:赤色、橙色、黄色、緑色、シアン、青色、紫色、黒色、灰色、および白色。
【0119】
追加パラメータとしては、密度および時間的頻度(frequency in time)がある。密度は、単位ブロック面積あたりのモーションを有するピクセルのパーセンテージに基づく。時間的頻度は、現在のフレームにおけるイベントと最も最近の以前に検出されたイベントのフレームの間のフレームの数の逆数に基づく。パラメータは、たとえば、ビデオクリップのフレーム内のブロック領域内で発生するアクティビティについて記述するモーション特徴として使用され得る。
【0120】
一実施形態によれば、信頼値は、これらのパラメータのそれぞれに対して提供され得る。信頼値は、対応するパラメータ値の分散の均一性または欠如の尺度を提供することができる。信頼値は、統計的分散の逆数に基づいてよく、統計的分散は、特定の範囲たとえば0−1にスケーリングされ得る。たとえば、ブロック領域が単一の色値のみを有する場合、その分散は0とすることができ、その信頼度は1とすることができる。ブロックが3つ(RGB)の色量子化を有し、各色が等しい重みを有する場合、分散は最大とすることができ、信頼度は0とすることができる。
【0121】
これらの特徴パラメータに基づいて、シーンアクティビティベクトルFがブロックに対して生成される(S530)。次いで、まだ他にブロックがフレーム内にあるかに関して判定がなされる(S540)。ブロックがフレーム内にある場合、シーンアクティビティベクトルがフレーム内のすべてのブロックに対して生成されるまで、前述の動作が繰り返される。レベルmのブロックbに対するシーンアクティビティベクトルはFmj(x,y,s,d,cd)と表されることがあり、ここで、(x,y)はブロックの左上座標の位置である。シーンアクティビティベクトル(SAV:scene activity vector)は、以下のように与えられるすべてのブロックに対する特徴を含む:
【0122】
【数20】
ここで、m=0,…,Lレベル、およびb=レベルごとに1,…4
m(重複しないブロックの場合)。
【0123】
次の動作では、シーンアクティビティベクトルが、フレーム内のブロックに対して生成されるシーンアクティビティベクトルに基づいてフレーム全体に対して生成される(S550)。次いで、さらなるフレームが分析されるべきか、たとえば、現在分析されているフレームが分析されるべき最後のフレームであるかに関して、判定がなされる(S560)。最後のフレームでない場合、動作S510からS550が繰り返される。最後のフレームである場合、イベント検出である、方法の次の段階が実行される。
【0124】
イベント検出段階が実行される前に、シーンアクティビティベクトルに対する方向パラメータおよび速度パラメータを生成するために第1の段階および第2の段階がどのように実行され得るかのいくつかの例について説明する。
【0125】
第1の例によれば、モーションブラー画像は、最も最近の特徴が最も高い値M(x,y)を有するように、大きさが時間減衰係数によって重み付けされるK個の異なるテクスチャフレームとともにグループ化によって決定され得る。ここで、M(x,y)は二次元モーションブラー画像を表す。
【0126】
モーションブラー画像が決定された後、モーションブラー画像に対して回帰分析が実行される。回帰分析は、以下の式によりモーションの勾配を決定するために平面をモーションブラー画像にフィッティングさせる、線形回帰であってよい:
ρ
x=Cov(x,M(x,y))/Var(x) (20)
ρ
y=Cov(y,M(x,y))/Var(y) (21)
【0127】
線形回帰が実行された後、モーションフローパラメータが算出され得る。先に示したように、モーションフォローパラメータとしては、方向および速度があり得る。方向は、線形回帰分析によって実行される平面フィッティングの傾きの方向に対応することがあり、速度は、平面フィッティングの傾きの逆数に比例することがある。
【0128】
図6A−6Dは、前述の動作の一例を示す。
図6Aでは、ビデオフレームに含まれる人610が概念的な形態で示されており、この人に対応する空間エッジ620が示されている。
【0129】
図6Bでは、この空間エッジは、t、t−1、t−2、t−3、およびt−4として例示的に示される複数の時間遅延係数によって重み付けされる。この例では、遅延係数が増加するにつれて、空間エッジの幅も増加する。モーションブラー画像は、これらの時間遅延係数のうちの1つまたは複数に基づいて生成される。
【0130】
図6Cには、回帰分析の結果としてx方向のモーションブラー画像の値M(x)をプロットするグラフが示されている。図示のように、回帰分析は、空間エッジの時間遅延に対応する点を、傾きρを持つ共通平面、または線形回帰の場合は線にフィッティングさせる。
【0131】
図6Dでは、人に対する空間エッジに対応するシーンアクティビティベクトルで使用される方向(Direction)パラメータは、この線の傾きに基づき、人に対する空間エッジに対応するシーンアクティビティベクトルで使用される速度(Velocity)パラメータは、傾きの逆数に基づく。
【0132】
第2の例によれば、2つの空間エッジ710および720は、
図7Aに示されるビデオ中の人730に割り当てられる。空間エッジ710および720はそれぞれ、リーディングエッジおよびトレーリングエッジに対応することがある。次いで、空間エッジに対するモーションブラー画像が、n個の異なるテクスチャフレームをグループ化することによって生成され、その大きさは、最も最近の特徴が最も高い値M(x,y)を有するように時間遅延係数によって重み付けされる。時間遅延係数の例は
図7Bに示されており、2つの空間エッジのそれぞれに対してプロットされるモーションブラー画像上の対応する点を生成するために使用される。
【0133】
ある傾きを有する平面または線に点をフィッティングさせるために回帰分析が実行される。線740は、この回帰分析に対応し得る。たとえば、
図7CのM(x)の傾きは、モーションブラー値M(x)への線形回帰フィッティングに対応する。
【0134】
図7Dでは、線形回帰フィッティングは、モーションブラー値自体に対してではなく、モーションブラー値の1次モーメントに対して実行され、この1次モーメント値は、各モーションブラー持続時間すなわち減衰に対して計算される。下方の線は、モーションブラー値M(x)への回帰フィッティングに対応する。この例では、各遅延に対して2つのモーションブラー値がある。上の線は、モーションブラー値の各遅延の1次モーメントへの回帰フィッティングに対応し、そのため、第1の点は下のプロット上の2つの点の1次モーメントであり、第2の点は、下のプロット上の次の2つの点の1次モーメントであり、以下同様である。
【0135】
図7Cおよび
図7Dでは、垂直軸は、M(x,y)に対するモーションブラー画像/フレームに対するモーションブラー値に対応する。しかしながら、プロットの説明を簡単にするために、垂直軸は、M(x)とラベリングする。この点に関して、x次元とy次元は分離可能であり、yの説明はxにならう。
【0136】
【数21】
はモーションブラー値の1次モーメントに対応し、値の平均は、各フレーム遅延に対して、および各位置x,yに対して取得される。
【0137】
方向パラメータおよび速度パラメータは、M(x)および
【0138】
【数22】
に示される曲線に基づいて生成され得る。一実施形態によれば、これらのパラメータは、xおよびyに対して式(20)および(21)で得られる共分散と分散の比に基づいて、ならびに次の式によって決定される方向および速度に基づいて決定される:
方向: θ=atan(ρ
x/ρ
y) (22)
速度: v 〜1/(ρ
x2+ρ
y2)
1/2
ここで、〜は比例関係を示す (23)
【0140】
図2を再び参照すると、方法の第3の段階としては、N個の
フレームに対して生成されるシーンアクティビティベクトルに基づいて視覚情報内のイベントを検出することがある(ブロックS270)。イベントは、アクティビティであってもよいし、状態であってもよいし、視覚情報の内容のステータスであってもよい。たとえば、イベントが、興味のある物体の不在の発生、またはその物体のモーションの特定の移動もしくは種類に対応することがある。イベントはまた、本明細書で別途説明する種類のいずれかに対応することもある。
【0141】
一実施形態によれば、イベントは、実質的なシーンモーションを有するフレームの連続する系列であってよく、その開始および終了は、方法の第2の段階中に生成される1つ以上のシーンアクティビティベクトルSAV(t)以上のスコア(|SAV(t)|と示される)から、または|SAV(t)|に基づいて測定され得る。
【0142】
各フレームがブロックと考えられる例示的な場合(たとえば、レベル0ブロックの場合)、イベントの開始および終了は、統計量変化検出法に基づいて抽出または決定され得る。この技法の一例は累積和(CUSUM:cumulative sum)法と呼ばれ、CUSUM法は、管理図を生成することによって実施され得る。
【0143】
より具体的には、CUSUM法は、一変量時系列における変化の証拠の逐次累積を検出するために実施され、累積された証拠が閾値を超えると、イベントの開始を知らせる。実質的なシーンアクティビティによって定義されるイベントの検出を可能にするために、軽微な変動および偶然のスパイクはノイズとして抑制または無視される。同様に、イベントの終了は、少なくとも所定の時間期間にわたる、変化なしまたは閾値を下回る変化の証拠の逐次累積によって検出される。次に、CUSUM法の特定の実装形態について説明する。
【0144】
この実装形態によれば、閾値δは、イベント検出に対して設定される。この閾値は、基づいて設定されてもよいし、たとえば、検出されるべきイベントの種類に対応するシーンアクティビティベクトルの発生に対応する前のトレーニングセッションであってもよい。たとえば、特定のサイズの群衆の集まりが特定のレベルのシーンアクティビティベクトルに対応することがあり、または1人または複数の人々の移動が特定のレベルのシーンアクティビティベクトルに対応することがある。閾値δは、これらのSAV値を下回るが興味のないイベント(たとえば、人々または物体の移動なし、群衆でないと考えられるわずか数人の人々の集まりなど)と考えられるSAV値を上回る範囲に設定され得る。
【0145】
ビデオのフレームに対して生成されるSAV値は、イベントの開始(始まり)および/または終了点(終わり)を検出するために、モニタリングされて閾値と比較され得る。追加または代替として、SAV値の変化がモニタリングされ、閾値と比較されてもよい。たとえば、Δと示される|SAV(t)|の差値が一連のフレームに対して決定されることがあり、次いで、この差値が閾値δと比較されることがある。この場合、閾値は、特定の量を上回るSAV値の変化がイベントの検出をトリガする、たとえば、連続するフレーム間のアクティビティの実質的な増加または減少得るように設定される。
【0146】
差が閾値よりも小さい場合、シーンは変わらないと考えられる。さらに、フレームが進行中のイベントを有するまたはイベントがないという条件で、ある確率が、閾値を超える差に対して割り当てられ得る。例示的な割り当ては、以下のとおりである:
p
1=Prob(|Δ|≧δ|イベント中)=p
IN (24)
p
2=Prob(|Δ|<δ|イベント中)=1−p
IN (25)
p
3=Prob(|Δ|≧δ|イベント以外)=1−p
OUT (26)
p
4=Prob(|Δ|<δ|イベント以外)=p
OUT (27)
【0147】
確率p
INおよびp
OUTは、たとえばトレーニングシーケンスから推定され得る。一実施形態では、ラベリングされたシーケンスを取得する前、p
INおよびp
OUTの両方に対して0.7の値から開始し、これを、十分にラベリングされたシーケンスが収集された後でデータから推定しようとした。また、2つのCUSUMチャートSおよびEは、イベントの始点および終点を検出するために使用され得る。方法は、次のように、チャートSを初期S=0でオンにし、チャートEをオフにすることによって始まり、次いでステップIを毎回反復して、2つのチャートの間で算出を交互に行い得る。
【0148】
最初に、対数尤度比統計量Liを差分Δiの関数として算出する:
|Δ
i|≧δの場合、L
i=log(p
1/p
3) (28)
|Δ
i|<δの場合、L
i=log(p
2/p
4) (29)
【0149】
第2に、チャートSがオンの場合、始点に対する累積和すなわちSi=max(Si−1+Li,0)を算出する。Siが閾値Hstartを超える場合、Si=0であるように前の最も近い点tstartを見つけ、この点をイベントの始まりとしてマークする。Sをオフにし、Eをオンにし、Eiを0に初期化することによって、イベント終点を見つけることに進む。
【0150】
第3に、チャートEがオンの場合、終点に対する累積和すなわちEi=max(Ei−1−Li,0)を算出する。Eiが閾値Hendを超える場合、Ei=0であるように前の最も近い点tendを見つけ、この点をイベント終点としてマークする。チャートEをオフにし、チャートSをオンにし、Siを0に初期化することによって、引き続き次の始点を探す。
【0151】
本質的に、方法のこの段階の基礎をなすアルゴリズムは、イベントが発生しているという十分な証拠を提供するために逐次ステップの同時尤度が累積される点を探し、この累積の始点を見つけるために引き返す。同様に、アルゴリズムは、逐次同時尤度を、もはや存在しないイベントを示す点に累積させ、終点を見つけるために引き返す。検出の感度に対する何らかの微調整は、ラベリングされたイベントのコレクションを使用してパラメータδ、pin、poutを調整することによって可能である。
【0152】
図8は、このアルゴリズムにより実行されるイベント検出の一例を示す。この図では、線Xは、図示の時間期間内のビデオフレームに対して生成されるSAV値(またはSAV値の変化すなわち差分)に基づいて生成される。より具体的には、この線Xは、上記で説明した値SAVに対して生成される対数値に対応し、イベントを検出するための閾値は、2の値、たとえばδ=2に設定され得る。
【0153】
線Xが閾値を超えるとき、マーカ810によって示される、イベントの起点が検出される。線Xが低下して閾値を下回るとき、マーカ820によって示される、イベントの終わりが検出される。より小さな乱れ(disturbance)(たとえば、マーカ830によって示される)は、線Xはこれらの乱れに対する閾値を超えないので、ノイズとして無視される。
【0154】
前述のアプローチでは、確率および閾値に基づくイベントが検出される。閾値は、イベントの誤検出を除外しようとする値に割り当てられる。イベントの誤検出の防止は、線Xの大きさが閾値を超えるときに検出するだけでなく、何らかの時間の最小期間にわたって線Xが閾値を超えるよう求めることによって改善され得る。この追加要件は、ノイズまたは何らかの他の異常発生によって引き起こされ得るよりも線Xの突然のスパイクを排除する。
【0155】
検出されるイベントは、可変長であってよい。追加または代替として、各イベントに対応する|SAV(t)|値は、カメラの設定(視野角)とシーン内のアクティビティのパターン(たとえば、交通監視適用例における可能な交通流)の両方によって決まる特定の形状であってよい。適切な正規化によって、プロファイル形状は、標準的な類似性測度を使用して比較され得る。次いで、クラスタプロシージャは、そのようなイベントのアーカイブから典型的なパターンおよび異常を見出すことができる。
【0156】
前述の方法および装置の実施形態は、イベント検出に対するさまざまな適用例で使用されてよく、その例について次に説明する。第1の適用例は、3つの文脈において、人々のモーションを伴う:1)明かりの少ない廊下の1人または少数の人々、2)外側環境で動いている10人、および3)地下鉄プラットフォーム上の人々の群衆。各場合において生成されるデータセットは、異なる特徴パラメータは異なるイベントおよび群衆サイズに対してどれほど異なるかを示す。
【0157】
イベント検出:
廊下にいる1人の人間のモーション
【0158】
方法のこの適用例では、シーンアクティビティベクトル(SAV)が、建物の廊下に設置されたカメラによって撮影されたビデオのK個のフレームにわたってモーションエッジに対して生成される。SAVは、フィッティングされ平均化された時空間勾配画像から生成され、それによって、ノイズを減少させる。
【0159】
図9(A)は、低照明状態下で廊下を歩く人間の形で興味のある物体を含むビデオのフレームを示す。
【0160】
図9(B)は、異なる技法、この場合は
図9(A)のビデオフレームに対して実行されるオプティカルフロー法を使用したモーション特徴の生成を示す。オプティカルフロー法では、一定の照明および小さな物体移動の仮定により、2つの連続するフレーム上のピクセル間のモーション対応関係を見つける。
図9(B)では、5×5のグリッドサイズは、モーションを見つけるために使用された。
【0161】
図9(C)は、本実施形態の一例による
図9(A)のビデオフレームに対して生成されたモーション特徴アクティビティを示す。この実施形態を実施する際、シーンアクティビティベクトル(SAV)が、K個のフレームにわたってモーションエッジをフィッティングするために生成される。
図9(A)のフレームでは、スケールレベル5のSAVに対する非モーション区域にはるかに少ないアクティビティが存在する。
【0162】
図9(B)との比較によって示されるように、時空間勾配の生成に基づいて見つけられるモーション特徴は、ノイズを大きく減少させ、フレーム内で廊下を歩いている人間のモーションのより正確な表現を提供するモーションエッジを生成する。また、本実施形態は、本実施形態の2倍の長さである90ミリ秒を必要とするOpenCVで実施された
図9(B)のオプティカルフロー法に対してフレームあたり約45ミリ秒を使用した。
【0163】
イベント検出:
廊下にいる人々のモーション
【0164】
この適用では、方法が、相互接続された廊下および/または交差する廊下のネットワークを通り抜ける複数の人々のビデオ内のモーションを検出するために適用される。
図10Aはカメラによって撮影されたビデオフレームを示し、
図10Bは廊下のレイアウトを示し、このレイアウトでは、三角形は、検出され得るさまざまな種類のモーション(たとえばイベント)に対応する。複数のビデオフレームにわたって検出できるモーションは、たとえば、カメラの方へ歩くこと、廊下で立ち止まること、左に曲がること、右に曲がること、人が立ち去ること、および人が廊下のうちの1つをぶらつくことを含む。
【0165】
この適用では、方法は次のように適用された。最初に、シーンアクティビティベクトルSAV(t)が、先に説明したように計算された。次いで、イベントが、CUSUMベースの統計量変化検出に基づいて検出された。
図10Aは、カメラの方へ歩いている、
図10Aの前景にいる人に対して生成されたSAV(t)値の一例を示す。
【0166】
イベントが検出された後、方法は、検出されるイベントの分類を含むいくつかの追加ステップを含み得る。一実施形態によれば、イベント分類は、k−meansクラスタリング、次いで異常検出を実行することによって、実行され得る。
【0167】
k−meansクラスタリングステップは、次のように時間プロファイルを比較することによって実行され得る。最初に、時間プロファイルが、各イベント中のピークスコアに基づいて同じ高さにスケーリングされる。第2に、高さが正規化されたプロファイルは、3次スプラインを使用して補間され、100回のステップに再標本化される。この時点で持続時間およびピークスコアにおいて正規化されたプロファイルは、次いで、ユークリッド距離を使用する凝集型クラスタリングプロシージャ(完全連結による)に送られる。結果として得られる樹形図は、選ばれた高さに切断され、通常発生するパターンを表す分割クラスタ(partitional cluster)を得る。それぞれのクラスタ中心に対して長い距離を持つプロファイルが、異常として識別される。
【0168】
図11Aは、このステップにより生成されるクラスタ中心の時間プロファイルの例を示す。時間プロファイルは、3つの主な形状を有する。第1の形状は、カメラ視野の近くに入り、次いでそこから歩いて去る1人または複数の人間のモーションを表す、左に歪んだ(skewed−left)形状(A1)である。その結果、モーション領域は、経時的に(フレームにわたって)減少する。
【0169】
第2の形状は、遠くからカメラ視野に入り、カメラの方へ歩いてくる1人または複数の人間を表す、右に歪んだ(skewed−right)形状(A2)である。その結果、モーション領域は、サイズが経時的に(フレームにわたって)増加する。
【0170】
第3の形状は、横切ってカメラと垂直に歩く人間を表す対称的な形状(A3)である。その結果、SAVスコアは、ほぼ一定であるか、または比較的狭い範囲内にある、たとえば、正規化された高分解能スコアの狭い範囲にある。
【0171】
図11Bは、異常検出フェーズのために生成される曲線の一例を示す。これらの曲線のそれぞれは、SAVによって測定されるモーションアクティビティの軌跡である。
図11Aは、統計的クラスタリングによって決定される最も一般的な5つの軌跡形状を示す。
図11Bの曲線は、主な軌跡クラスタのいずれにも(少なくとも、所与の許容差の範囲内に対して)近くない軌跡である。したがって、
図11Bは、これらの軌跡がより少ない頻度で発生し、したがって異常と考えられ得ることを示す。より具体的には、異常な軌跡は、クラスタ中心からの距離に基づいて検出され得、閾値を上回る距離は、軌跡がそのクラスタに属さないことを示す。
【0173】
本適用では、方法が、その区域における群衆のモーションに基づいて、屋外の構内区域における緊急事態を検出することに適用される。ビデオの開始時に、人々は、(シミュレートされる)緊急事態が発生するまで、カメラ視野内でランダムに歩いている。この時点では、ビデオは、(このビデオフレームに重ね合わされた矢印によって示されるような)一方向モーションで逃げる人々の群衆を示す。
図12は、この時点の間のビデオフレームを示す(方法はまた、複数の方向における群衆の突然の移動に基づいて緊急事態を検出するために実施され得る)。
【0174】
廊下の例とは異なり、SAVスコアプロファイルは、すべての種類のイベント検出の分類に有用でないことがある。より具体的には、廊下のモーション検出の例とは異なり、この場合のビデオは、一般に、人々が緊急事態に対して最初に反応するとき、開始時の急な同じ傾きを有する。たとえば、人々が逃げるとき、平坦なプラトーが生成され、人々がカメラ視野から出るとき、終了時の急な傾きが生成される。しかしながら、この適用例では、イベント検出および/または分類は、ビデオ中の人々の退出方向に基づいて実行され得る。
【0175】
図13は、10個のイベント(x軸上で4分17秒にわたる)に対するSAV信頼値cd(y軸上で0−1.0)を示す。主要方向dが、経験的に選ばれた閾値よりも信頼度が高いイベントの上に記号的に示されている。
図13では、主要方向は、ピークの上の上方向矢印、下方向矢印、左方向矢印、または右方向矢印によって示されており、信頼度が低い場合は、十字型矢印によって示されている。これらのパラメータに基づいて、同種および異種のモーションイベントが検出され、互いに区別され得、同種イベントは、方向によりフィルタリングされたSAVによって分類することができる。
【0176】
より正確な(よりきめの細かい)分類は、異なるスケールレベルの異なる空間ブロックにおけるSAVスコアプロファイルを使用して実行することができる。
図14Aのプロットは、位置およびスケールのレベルによってアクティビティが異なることを示す。より具体的には、シーンアクティビティスコア対時間プロットは、時刻0秒から約4分まで撮影されたビデオフレーム内の異なるブロックまたは位置におけるアクティビティを示す曲線を有する。これらのプロットは、レベル1プロットと考えられ得る。
図14BのプロットB1、B2、およびB3はそれぞれ、
図14Aの破線の間で異なるレベル(たとえば0−2)およびブロック0、1、および40で示されるピークに対応するイベントに対するSAVスコアを示す。
【0177】
イベント検出:
地下鉄プラットフォーム上での群衆のモーション
【0178】
この適用例では、方法は、地下鉄プラットフォーム上での群衆の存在および/または移動の検出に適用される。この適用例の間のビデオは、乗客が列車を待っているところ、列車に入るところ、および列車を出るところを記録する5つの15分ビデオクリップに対応する。地下鉄の駅は、列車が到着する時に常に混雑するので、SAVスコアのピークは、対応する群衆のモーションにより生成される。
【0179】
空間エッジが検出され、対応する勾配画像が生成された後、各フレームは、先に説明したように、異なるレベルのブロックに分割され得る。
図15に示されるように、レベル0はフレーム全体に対応し、レベル1は4つのブロックに対応し、レベル2は16のブロックに対応し、レベル3は64のブロックに対応する。どのレベルが使用されるべきかに関する判断は、パラメータに対して生成される信頼値を使用することによってなされ、高い信頼値(たとえば、基準値を上回る信頼値)は、そのレベルのブロックがパラメータ値の良好な均一性を有し、信頼して使用できることを示す。パラメータ値の信頼値が、特定のレベルで高くない(たとえば、基準値を下回る)場合、分析により、あるレベルが、基準値または選ばれた閾値を上回る信頼値を持つブロックを有するまで、次のレベル(より小さなブロックサイズ)に関心が向けられる。
【0180】
レベルがひとたび選択されると、各ブロック内のモーション特徴の数が決定される。
図16は、レベルごとに分割されたブロックに対して生成され得るモーション特徴の最大数の例を示す。たとえば、512×512の画像サイズおよび128、64、32、および16という辺長の4つのレベルの場合、L1=2、L2=5であり、SAV特徴の長さは、300×4=12,240(262,000ピクセルのフル画像の約5%)である。
図15は、SAVを特徴のマルチスケールベクトルとして示す。
【0181】
図17は、混雑した地下鉄プラットフォームの場合にシーンアクティビティベクトルのモーション特徴フィルタリングがどのように実行され得るかの一例を示す。シーンアクティビティベクトルSAV(t)が経時的に生成された後、これらのベクトルは、1つまたは複数のモーション特徴(たとえば、方向、速度、色など)に基づいてフィルタリングされ得る。たとえば、フィルタリングは、北東方向を有し低速と赤色または青色の主要色とを持つSAVベクトルを選択するために形成され得る。
【0182】
図18に示されるように、フレームtでは、2つのブロックがフィルタリングされる。第1のブロックは青色という色に対応し、第2のブロックは赤色という色に対応する。このフィルタリングは、フィルタリングされた特徴、この場合は赤色または青色の高い信頼度を有する、フレーム内のブロックの位置を特定することによって、実行される。次いで、これらのブロックが、時刻(後続のフレーム)SAV(t)、SAV(t+n)、SAV(t+2n)、SAV(t+3n)などを通して、時空間立方体または時空間トンネルによって追跡される。次いで、開始点および終端点(endset point)が、これらのフィルタリングされた特徴に基づいて決定され得る。終端点は、フィルタリングされるべき特徴がもはや高い信頼度で時空間トンネルに出現しないときおよび/またはトンネルが終わったときに発生する。
【0183】
図19は、午前中の駅の異なる時間期間におけるSAVスコアプロットを示し、各ピークは列車の到着を示す。アクティビティが類似しているので、すべてのピーク形状も類似している。しかしながら、ピークの持続時間または退出時間は群衆の密度を示し、ピークの周期性から、列車の頻度が得られる。たとえば、周期性は、午前8時から午前9:00時の間では4分であり、10:45から正午までは8分に延びる。
【0184】
さらなる適用例は、さまざまな位置に置かれた1つまたは複数のビデオカメラの使用を含み、さまざまな目的のために人々に支援を提供するために使用され得る。ビデオカメラは、地下鉄プラットフォームにある公共用カメラ、交通関係のカメラ、商店街のカメラ、空港および他の種類の輸送ターミナル、スポーツ会場、広告ディスプレイ、セキュリティもしくは監視を必要とする区域、大学構内、駐車場、または他の公共の場にあるカメラであってよい。ビデオカメラはまた、私的に設置されてもよく、あるいは本明細書で述べた目的による公共用カメラを持つネットワークに組み込まれてもよい。
【0185】
一実施形態によれば、イベント検出は、1つまたは複数のカメラすなわちカメラのネットワークによって提供されるビデオに基づいて実行され、カメラは、公共用カメラであってもよいし、私用カメラであってもよいし、公共用カメラと私用カメラの組合せであってもよい。イベント検出は、前述の実施形態のいずれかにより実行されてよく、公共安全および/または公共との通信へのより完全なアプローチを提供するために追加の特徴と組み合わされ得る。
【0186】
1つの実装形態は、公共安全モニタリングのためにイベント検出を実行することを含む。イベント検出は、前述の実施形態のいずれかにより実行され、受信したビデオのフレーム全体を通じて1つまたは複数の興味のある物体の空間エッジに関連するモーションをモニタリングする(または追跡する)ことも含む。
【0187】
他の適用例は、公共安全の助けおよび情報を提供することを含む。現在の監視システムは、その対象に、当局によって見られているかどうかを知る何らかの方法を提供することができない。これは、緊急時または対象が困っているときに問題となりうる。以下の実施形態によって、カメラの対象は、カメラ当局と対話することができる。
【0189】
この適用例では、イベントを検出するための前述の方法が、1つまたは複数のネットワークカメラの視界にいる公衆との対話を可能にするために適用される。検出されるべきイベントとしては、困っている人間によって行われるさまざまな種類のジェスチャーがある。これらのジェスチャーとしては、手をすばやく振る、跳び回る、叫びによって形成される頭部のジェスチャー、および地面に倒れる、ならびに他の身体のモーションがある。
【0190】
そのようなイベントが検出されるとき、カメラは、支援を必要とする対象と通信するための1つまたは複数のデバイスの中に装備されてよい。このデバイスとしては、その人間と職員の間の双方向通信を可能にするさまざまな種類の音声および/もしくは視覚によるアラームもしくはインジケータならびに/または双方向スピーカシステムまたはビデオモニタがある。方法は、イベントが検出された職員にアラートするために使用されるアラームまたは他の警告メッセージをさらに含むことができる。これは、たとえば、数十の、または数百もの公共用カメラがモニタリングされるべきである指令センターにおいて、特に有用である。アラートが発生すると、職員が、前述の種類のアラームまたはスピーカシステムのいずれかを作動させるために信号を送信することによって反応することがある。
【0191】
一変形形態によれば、ある人間が、カメラの視野内の特定の位置に立つことがある。その位置は、公衆によって容易に見られるように、目立つようにマークされてよい。方法は、その特定の位置における人間の存在としてイベントを検出し得る。そのような位置は、たとえば、地面に描かれた円によってマークされることができる。この位置における人間の検出は、管理センターにおいて職員またはコンピュータモニタリングプログラムによって注意喚起のための呼び出しと解釈されることができる。
【0192】
たとえば、職員は、カメラに関連付けられた公共のディスプレイに現れることによって、その呼び出しに応じることがある。これは、呼び出しが認められ、もう一方の側には人間がおり、この職員は、呼び出しを行った人間とその人の周囲の両方を見ていることを示す。この変形態は、GPS対応スマートフォンに搭載される構内または都市固有のアプリケーションにより達成することができる。このアプリケーションが起動されると、職員が電話を介してその人間を見聞きし、加えて、その人間のより広い面積を公共用カメラによって見ることができる音声接続またはビデオ接続を有効にするために、位置および携帯電話番号が当局に送信される。
【0194】
先に説明したように、前述の方法の実施形態のうちの少なくとも1つは、ベンチマークに対するアクティビティの傾向を測定するために適用され得る。ベンチマークは通常のアクティビティと考えられてよく、ベンチマークからの逸脱は、イベントとして検出され得る。公共安全に適用されるとき、これらのイベントの検出は、さらに重要である。
【0195】
より具体的には、前述の方法の実施形態は、公衆に対するアクティビティバロメータとして、カメラの位置におけるアクティビティがその時刻において通常のアクティビティ(たとえばベンチマーク)とどのように比較されるかを示す働きをするために適用され得る。
【0196】
図20は、職場で2日にわたって撮影されたビデオから生成されたシーンアクティビティベクトルをプロットしたものである。第1日は、(ラベリングされたように)日曜日であり、傾向プロット(何カ月ものデータに対する統計量)はは、アクティビティがほとんどないことを示している。より具体的には、日曜日のSAVプロットは、3つの検出されたイベントに対応する3つのスパイクを示す。第1のイベントは日曜日早朝に検出され、さらなる2つのイベントは午後の半ばに検出された。
【0197】
対照的に、月曜日のプロットでは、傾向を示す線は勤務時間中の多数のスパイクを示し、イベント検出は昼食のころにピークに達し、次いで、午後を通してアクティビティが少なくなる(wan)。現在のアクティビティプロットは、この日の間の「傾向を上回る」イベントに対応する5−7回のスパイクを示す。
【0198】
したがって、この実施形態のアクティビティバロメータは、たとえば、SAVプロット上でのイベント検出が少ないアクティビティを有するときに都市の路上での公共安全を脅かすイベント(たとえば犯罪)の検出をモニタリングするために使用され、犯罪の可能性がより予想される間に勤務時間を終わったことを知らせることがある。
【0199】
さらに、そのようなアクティビティバロメータは、公園、ジム、またはプールに行くのにより安全な時間を公衆に知らせるために使用されてもよいし、ショーのラインアップに参加するように最も良くタイミングを計るためにアクティビティがいつ上昇し始めるのかを識別するために使用されてもよい。また、そのようなバロメータは、交通渋滞またはその欠如に関する情報を提供することがあり、これは、都市区域を通る旅行を計画することを助けるために頼りにされることがある。
【0200】
すぐ近くに(Around the Corner)。
【0201】
イベントを検出するための前述の方法の実施形態は、ノートブックまたはパーソナルコンピュータ上で実施されてもよいし、スマートフォン、ポッドタイプまたはパッドタイプのデバイス(たとえば、ユーザデバイスまたはユーザ端末)上でアプリケーションとして実施されてもよい。たとえば、一実施形態は、たとえばインターネットを通して、ユーザデバイスまたはユーザ端末上のビデオに基づき得る。
【0202】
ビデオは、位置が特定された1つまたは複数の公共用カメラまたは私用カメラから得られることがある。たとえば、スマートフォンアプリケーションによって、運転者が、近づきつつある交差点のビデオを見ることが可能になる。この実施形態では、方法は、都市を歩いている人が意図する経路に沿っていくつかのカメラのビューを見ることを可能にする、またはアクティビティまたはイベントのコンテキスト、傾向、または状態を確認するために、ある人間が最も近いカメラからの拡大ビューと、同じ区域の眺めの鳥瞰図の両方を見ることを可能にする、アプリケーションで実施され得る。そのビデオビューで珍しいアクティビティが発生している場合、このことは、たとえば、ビデオの周りに赤色が点滅するフレームまたは何らかの他の警告によって示されることがある。人々は、十分な知識に裏付けされて(knowledgably)、以降の経路を選ぶことができる。
【0204】
イベント検出実施形態は、ゲームの形成にも適用され得る。ゲームは、たとえば、さまざまな公共の場に置かれたカメラがここで、さらなるモードまたは異なるモードすなわち対話モードで動作することが可能であることを公衆に知らせるために実施され得る。
【0205】
ゲームの一種は、次の仕様を有するように作製され得る。最初に、ゲームは、前述のイベント検出実施形態を使用して、パターン、イベント、またはアクティビティを認識し、次いで、それらを、公共安全モニタリングのためにすでに算出されたビデオ分析結果(たとえばSAVパターン)と比較し得る。たとえば、前のイベントから撮影されたビデオは、パターン認識を可能にするために基準SAV値として使用され得る。
【0206】
第2に、ゲームは、変化する環境状態または他の公共空間状態を考慮に入れてよい。例としては、変化する自然照明、気象状態、およびイベントまたはパターン検出に関して偽陽性を生じ得る他の影響がある。ゲームは、明確な境界のない大空間のビデオも考慮に入れてよく、この空間は、たとえばゲームをしていないまたはゲームの参加者でない人々を含む区域を包含し得る。ゲーム方法を実施するソフトウェアは、これらの偶発的な出来事を補うように記述され得る。
【0207】
第3に、ゲームは、通行人ならびにアクティブなプレイヤを引き入れるために実施され得る。たとえば、さまざまなカメラの位置は、双方向通信機器、モニタ、スピーカ、および/またはゲームをするように人々を誘い出す、招待する、または参加させるために使用され得る他の警告デバイスもしくは通信デバイスを備えることがある。
【0208】
第4に、ゲームは、リアルタイムで実施されることがあり、したがって、たとえばアミューズメントパークまたは他の娯楽施設における使用に適することがある。
【0209】
第5に、ゲームは、ゲームをしているおよび/またはゲームをしていないがビデオを撮影しているカメラの視野の中にいる人々の身元を保護するために実施され得る。これは、たとえば、(たとえば、アバター、アイコン、または他のグラフィックスを使用して)人々の顔および/もしくは身体ならびに/またはナンバープレートなどの識別情報をブラーする、または曖昧にすることによって達成し得る。
【0210】
前述の特徴を有する、Brooklyn Bloomsとして知られているゲームが、最近、開発された。このゲームでは、ビデオ内の人々の画像が、花の形のグラフィカルオブジェクトに置き換えられる。この花は、モーションの位置で成長し、アクティビティが多くなるにつれて、より早く密集して成長する。
【0211】
デフォルトのモードでは、通行人が、顔を上げて、自分が歩いている公共空間で気まぐれに成長する花を示すディスプレイを見ることがある。より多くの注意を払うことにより、通行人は、自分の経路に沿って、および動いている人々の他の位置で、花が成長していることを発見することがある。通行人は、引き続きより積極的にゲームに携わることもできるし、ゲームに携わるのをやめることもできる。通行人は、空間を花で満たそうとして可能な限り多くのモーションを生じさせることによって、ゲームをする。プレイヤが多いほど、画面が早く埋まる。通行人および/またはグループが、十分に大きく美しい花壇を作ることに成功すると、ゲームは停止し、ゲーム時間とビデオの報酬を表示する。
【0212】
次いで、花々の空間を掃除して、次の「植え付け」の準備をすることができる。次のチャートは、ゲームのプレイ中に集められた統計量の一例を示す:
【0214】
図21は、アクション中のゲームのスクリーンショットを示す。このショットでは、ビデオフレームは、New York UniversityのPolytechnic Instituteの構内の一部である屋外の広場の背景を含むように示されている。背景画像内の人々は除去され、花に置き換えられている。花は、カメラの視点に合致し、地面から生じるという幻想を与えるように、徐々に大きくなるスケールで各フレームの上から下までレンダリングされる。
【0215】
2つの他の任意選択のビデオ窓が背景画像の右側に示されている。右下の窓は現在のビデオを示し、右上の窓は、リアルタイムのシーンアクティビティベクトル特徴を、モーションの異なる方向を示す色のオーバレイ(overlay)(この場合、8方向に対応する8色)として示す。この窓では、アクティビティの領域、方向特徴、および成長のさまざまな段階にある花との一致を見ることができる。教育の目的で、追加ゲームが実施されてもよい。
【0217】
前述の方法の実施形態は、広告、情報、および/または娯楽の目的に使用されるべき電子署名にも適用され得る。たとえば、電子公告署名に適用されるとき、前述の方法の実施形態は、署名の上に表示されている製品またはサービスにおける興味のレベルを決定し得る。たとえば、大群衆が検出されるとき、製品またはサービスは大衆に対する多量のアピールを有することが仮定され得る。したがって、そのような適用例は、マーケティング戦略の一部として実施され得る(実施形態は、電子署名以外にも適用され得る)。
【0218】
また、電子署名は、一方向(受動的な)情報の流れから、ある程度の双方向(能動的な)情報伝送を有するように移行しつつある。たとえば、能動的署名は、署名を眺めている人々についての情報をディスプレイシステムがキャプチャする署名であってよい。キャプチャされた情報は、閲覧者の身元、年齢、および/または性別を決定する顔認識のために、ならびに署名の内容に対する注意または興味、たとえば広告を行った製品またはサービスに対する閲覧者の注意または興味のレベルを決定するために、処理され得る。しかしながら、これらの場合、閲覧者との対話は行われない。
【0219】
一実施形態によれば、対話型ディスプレイシステムの形で異なる種類の署名が提供される。このシステムにより、1人または複数の閲覧者によるアクションが、たとえば、ディスプレイを制御するおよび/またはディスプレイシステムを管理する当局と通信することが可能になる。一実装形態は、大衆にとって利用可能になったカメラネットワークの遍在性に基づいて対話型公共用カメラシステムに対応する。
【0220】
この実装形態の一例は
図22に示されており、電子署名を持つ1人または複数の閲覧者の間で行われる対話型通信を示す。この例では、スマートカメラは、ディスプレイの内容を制御するためにカメラによって積極的に通信する閲覧者を含むシーンをキャプチャする。
【0221】
別の実施形態では、従来の署名が、カメラビデオと対話的に使用され得る。また、前述の実施形態では、公共用モニタ、スマートフォン、オーディオシステム、または人間ユーザの視覚的要求時にイベント出現があり得るによって対話が行われてもよい。これらの実施形態の対話性は、わずか1人または2人の人間ではなく、人々の群衆による使用にも適する。
【0222】
したがって、前述の実施形態は、さまざまなコンテキストおよび適用例における混雑したシーンおよび混雑していないシーンのビデオからイベントを検出および/または分類するためにモーション特徴フィルタリングを実行するための方法を提供する。他のアプローチとは異なり、本実施形態のうちの少なくとも1つは、領域ではなくモーションエッジに基づいてイベントを検出する。すなわち、1つまたは複数のモーションエッジが、固定ピクセルブロック領域ではなくビデオフレーム内で検出される。これらのエッジに対してシーンアクティビティベクトルが生成され、次いで、これらのベクトルが、ビデオ内のイベントを検出および/または分類するために使用される。
【0223】
このアプローチによって、より高いレベルのモーション特徴が、オプティカルフロー法および他の技法と比較して照明変動に関する堅牢性を追加するために、時空間勾配から統計学的に計算され得る。
【0224】
これらの方法のうちの1つまたは複数によれば、人々および群衆の数ならびに複雑性に関して、トップダウンアプローチが取られる。これらの実施形態は、モーション特徴、イベント検出、およびマルチスケール表現が、さまざまな種類のイベントまたはイベント特性を検出するためにどれほど適切であるかを示すためにも適用され得る。これらの方法のうちの少なくとも1つは、スコア(またはアクティビティの大きさ)、マルチスケール位置、方向、および経時的に(またはいくつかのビデオフレームにわたって)測定されるシーンアクティビティベクトルに関連して生成されるスコアの時間的周期性の使用を含む。
【0225】
図23は、上記で説明した対話型実施形態を実施するためのシステムの図を示す。図示のように、1つまたは複数のビデオソースデバイス2300が、1つまたは複数のフィードバックデバイス2340と相対的に同じ位置に配置されてよい。ビデオソースデバイス2300はビデオカメラなどであってよい。フィードバックデバイス2340は、オーディオデバイス(スピーカ)、ビデオディスプレイなどであってよい。処理装置2310は、ビデオソースデバイス2300から視覚情報を受信し、フィードバックジェネレータインタフェース2320に出力を送信する。処理装置2300は
図1の装置であってよく、ビデオソース50はビデオソースデバイス2300であり、ディスプレイ70は、フィードバックジェネレータインタフェース2320のフォームパートであってよい。処理装置2310の出力から生じるイベント検出に基づいて、フィードバックジェネレータインタフェース2320は、フィードバック情報を生成するためにフィードバックデバイス2340を制御し得る。たとえば、公共のテレビ電話の実施形態では、フィードバックジェネレータインタフェース2320にいる職員は、処理装置2320(ディスプレイ70上などの)からアラートを受信することができ、その職員は、アラームをスピーカ(フィードバックデバイス)で再生させることができる。人間の介入に頼る代わりに、フィードバックジェネレータインタフェース2320は、完全に自動化されてもよい。たとえば、ゲーム用アプリケーションでは、フィードバックインタフェース2320(たとえばコンピュータシステム)で実行されるゲームアプリケーションは、処理装置2310の出力をビデオパターン(たとえば花)に変換し、それらのビデオパターンをディスプレイ(フィードバックデバイス)上に表示する。
【0226】
したがって、イベント検出実施形態の前述の適用例は、1つまたは複数のカメラからのビデオを使用して、公共安全、情報、モニタリング、および追跡を含むさまざまなコンテキストにおける双方向通信を可能にし、ならびにゲームを実施することができる。
【0227】
例示的な実施形態について、このように説明し、それらがさまざまな手段で変更され得ることは明らかである。そのような変形形態は、例示的な実施形態の趣旨および範囲からの逸脱と見なされるべきではなく、当業者には明らかであるようなすべてのそのような修正形態は、特許請求の範囲内に含まれることを意図するものである。