(57)【要約】挙動認識システムは、ビデオデータの挙動パターンを観察し学習するように構成されたコンピュータビジョンエンジン及び機械学習エンジンの両方を含んでもよい。いくつかの実施形態は、カメラから得られたビデオストリームの画像安定化を提供することができる。挙動認識システムの画像安定化モジュールは、ビデオストリームから基準画像を得る。画像安定化モジュールは、特徴が密である画像の領域に基づいて基準画像内の位置合わせ領域を識別する。現在の画像の追跡特徴が基準画像とずれていることを決定する際に、画像安定化モジュールは最高特徴密度位置合わせ領域を使用して、アフィン変換行列を推定し、現在の画像全体に適用し、画像を適切な位置合わせへと歪ませる。【選択図】  図１
2015534202.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ記録デバイスによって捕捉されビデオ分析アプリケーションによって評価されるカメラ画像を安定化させる方法であって、
ビデオカメラによって捕捉されたフレームのストリームを位置合わせすることにおいて使用するために基準フレーム内の候補領域を識別するステップであり、前記候補領域が、各候補領域内の追跡特徴の密度によって降順にソートされる、識別するステップと、
捕捉されたフレームごとに、前記候補領域の中で最も高い密度の追跡特徴を有する候補領域を位置合わせ領域として指定するステップと、
現在のフレームの前記追跡特徴が前記基準フレームの対応する特徴に対して位置ずれしていることに基づいて、前記ストリームが不安定であると決定する際に、
前記位置合わせ領域に基づいて前記現在のフレームのアフィン変換行列を決定するステップと、
前記現在のフレームの前記位置合わせ領域の前記特徴が前記基準フレームの前記対応する特徴と一致するように、前記アフィン変換行列を使用して前記現在のフレームを歪ませるステップと、
前記歪まされた現在のフレームと前記基準フレームとの間の重ね合わせ誤差を識別するステップと、
前記重ね合わせ誤差が許容範囲閾値内にあると決定する際に、前記歪まされた現在のフレームを、安定化されたフレームとして指定するステップと、
を含む、方法。
【請求項２】
前記アフィン変換行列が、前記基準フレームと前記現在のフレームとの前記位置合わせ領域内の前記特徴の垂直平行移動、水平平行移動、及び回転に基づいて、勾配降下分析を使用して、指定の数の反復にわたって決定される、請求項１に記載の方法。
【請求項３】
前記反復の数が増加され、前記垂直平行移動及び前記水平平行移動の閾値が、指定の長さの時間の下で決定されている以前のアフィン変換行列に基づいて、減少される、請求項２に記載の方法。
【請求項４】
前記基準フレームが、開始時に前記カメラによって捕捉された初期生フレームである、請求項１に記載の方法。
【請求項５】
前記基準フレームを前記安定化されたフレームに更新するステップをさらに含む、請求項１に記載の方法。
【請求項６】
統計学的重みを前記位置合わせ領域に重ね合わせ誤差に基づいて割り当てるステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記重ね合わせ誤差が前記許容範囲閾値内にないと決定する際に、
前記位置合わせ領域の統計学的重みを減少させるステップと、
２番目に統計的に有意な候補領域を前記位置合わせ領域として指定するステップと、
をさらに含む、請求項６に記載の方法。
【請求項８】
命令を格納するコンピュータ可読記憶媒体であって、該命令は、プロセッサで実行されるときに、ビデオ記録デバイスによって捕捉されビデオ分析アプリケーションによって評価されるカメラ画像を安定化させるための演算を実行し、前記演算が、
ビデオカメラによって捕捉されたフレームのストリームを位置合わせすることにおいて使用するために基準フレーム内の候補領域を識別するステップであり、前記候補領域が、各候補領域内の追跡特徴の密度によって降順にソートされる、識別するステップと、
捕捉されたフレームごとに、前記候補領域の中で最も高い密度の追跡特徴を有する候補領域を位置合わせ領域として指定するステップと、
現在のフレームの前記追跡特徴が前記基準フレームの対応する特徴に対して位置ずれしていることに基づいて、前記ストリームが不安定であると決定する際に、
前記位置合わせ領域に基づいて前記現在のフレームのアフィン変換行列を決定するステップと、
前記現在のフレームの前記位置合わせ領域の前記特徴が前記基準フレームの前記対応する特徴と一致するように、前記アフィン変換行列を使用して前記現在のフレームを歪ませるステップと、
前記歪まされた現在のフレームと前記基準フレームとの間の重ね合わせ誤差を識別するステップと、
前記重ね合わせ誤差が許容範囲閾値内にあると決定する際に、前記歪まされた現在のフレームを、安定化されたフレームとして指定するステップと、
を含む、コンピュータ可読記憶媒体。
【請求項９】
前記アフィン変換行列が、前記基準フレームと前記現在のフレームとの前記位置合わせ領域内の前記特徴の垂直平行移動、水平平行移動、及び回転に基づいて、勾配降下分析を使用して、指定の数の反復にわたって決定される、請求項８に記載のコンピュータ可読記憶媒体。
【請求項１０】
前記反復の数が増加され、前記垂直平行移動及び前記水平平行移動の閾値が、指定の長さの時間の下で決定されている以前のアフィン変換行列に基づいて、減少される、請求項９に記載のコンピュータ可読記憶媒体。
【請求項１１】
前記基準フレームが、開始時に前記カメラによって捕捉された初期生フレームである、請求項８に記載のコンピュータ可読記憶媒体。
【請求項１２】
前記基準フレームを前記安定化されたフレームに更新するステップをさらに含む、請求項８に記載のコンピュータ可読記憶媒体。
【請求項１３】
統計学的重みを前記位置合わせ領域に重ね合わせ誤差に基づいて割り当てるステップをさらに含む、請求項８に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記重ね合わせ誤差が前記許容範囲閾値内にないと決定する際に、
前記位置合わせ領域の統計学的重みを減少させるステップと、
２番目に統計的に有意な候補領域を前記位置合わせ領域として指定するステップと、
をさらに含む、請求項１３に記載のコンピュータ可読記憶媒体。
【請求項１５】
プロセッサと、
アプリケーションのホストとして働くメモリであって、該アプリケーションが、前記プロセッサで実行されるときに、ビデオ記録デバイスによって捕捉されビデオ分析アプリケーションによって評価されるカメラ画像を安定化させるための演算を実行する、メモリと、
を備え、前記演算が、
ビデオカメラによって捕捉されたフレームのストリームを位置合わせすることにおいて使用するために基準フレーム内の候補領域を識別するステップであり、前記候補領域が、各候補領域内の追跡特徴の密度によって降順にソートされる、識別するステップと、
捕捉されたフレームごとに、前記候補領域の中で最も高い密度の追跡特徴を有する候補領域を位置合わせ領域として指定するステップと、
現在のフレームの前記追跡特徴が前記基準フレームの対応する特徴に対して位置ずれしていることに基づいて、前記ストリームが不安定であると決定する際に、
前記位置合わせ領域に基づいて前記現在のフレームのアフィン変換行列を決定するステップと、
前記現在のフレームの前記位置合わせ領域の前記特徴が前記基準フレームの前記対応する特徴と一致するように、前記アフィン変換行列を使用して前記現在のフレームを歪ませるステップと、
前記歪まされた現在のフレームと前記基準フレームとの間の重ね合わせ誤差を識別するステップと、
前記重ね合わせ誤差が許容範囲閾値内にあると決定する際に、前記歪まされた現在のフレームを、安定化されたフレームとして指定するステップと、
を含む、システム。
【請求項１６】
前記アフィン変換行列が、前記基準フレームと前記現在のフレームとの前記位置合わせ領域内の前記特徴の垂直平行移動、水平平行移動、及び回転に基づいて、勾配降下分析を使用して、指定の数の反復にわたって決定される、請求項１５に記載のシステム。
【請求項１７】
前記反復の数が増加され、前記垂直平行移動及び前記水平平行移動の閾値が、指定の長さの時間の下で決定されている以前のアフィン変換行列に基づいて、減少される、請求項１６に記載のシステム。
【請求項１８】
前記基準フレームが、開始時に前記カメラによって捕捉された初期生フレームである、請求項１５に記載のシステム。
【請求項１９】
前記基準フレームを前記安定化されたフレームに更新するステップをさらに含む、請求項１５に記載のシステム。
【請求項２０】
統計学的重みを前記位置合わせ領域に重ね合わせ誤差に基づいて割り当てるステップをさらに含む、請求項１５に記載のシステム。
【請求項２１】
前記重ね合わせ誤差が前記許容範囲閾値内にないと決定する際に、
前記位置合わせ領域の統計学的重みを減少させるステップと、
２番目に統計的に有意な候補領域を前記位置合わせ領域として指定するステップと、
をさらに含む、請求項２０に記載のシステム。
【請求項２２】
ビデオ記録デバイスによって捕捉されたカメラ画像を安定化させる方法であって、
ビデオカメラによって捕捉されたフレームを位置合わせすることにおいて使用するために基準フレーム内の候補領域を識別するステップであり、前記候補領域が、各候補領域内の追跡特徴の密度によって降順にソートされる、識別するステップと、
捕捉されたフレームごとに、前記候補領域の中で最も高い密度の追跡特徴を有する候補領域を位置合わせ領域として指定するステップと、
現在のフレームの前記追跡特徴が前記基準フレームの対応する特徴に対して位置ずれしていることに基づいて、ストリームが不安定であると決定する際に、現在のフレームを位置合わせするステップと、
を含む、方法。
【請求項２３】
前記現在のフレームが、摂動理論法を使用して位置合わせされる、請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本明細書で提示する実施形態は、ビデオフレームのシーケンスを分析するための技法を開示する。より詳細には、実施形態は、ビデオ監視システムによって捕捉されるカメラ画像を安定化させるための技法を提供する。
【関連技術の説明】
【０００２】
[0002]いくつかの現在利用可能なビデオ監視システムは簡単な物体認識能力を備えている。例えば、ビデオ監視システムは、所与のフレームの一群の画素（「ブロブ（ｂｌｏｂ）」と呼ばれる）を特定の物体（例えば、人又は車両）であるとして分類するように構成することができる。識別された後、「ブロブ」は、「ブロブ」がある期間にわたってシーンを通りすぎるのに、例えば、人がビデオ監視カメラの視野を横切って歩くのに追従するようにフレームごとに追跡され得る。さらに、そのようなシステムは、物体がある事前定義された挙動に係わったときを決定するように構成することができる。例えば、システムは、いくつかの事前定義されたイベントの発生を認識するのに使用される定義を含むことができる、例えば、システムは、自動車（車両出現イベント）が停止する（車両停止イベント）のをいくつかのフレームにわたって示すように分類された物体の出現を評価することができる。その後、新しい前景物体が現われ、人として分類される（人出現イベント）ことがあり、次に、人はフレームから歩き去る（人消失イベント）。さらに、システムは、最初の２つのイベントの組合せを「駐車イベント」として認識することができる可能性がある。
【０００３】
[0003]しかしながら、そのような監視システムは、一般に、システムが認識できる物体及び／又は挙動が予め定義されていることを必要とする。したがって、実際には、これらのシステムは、ビデオシーケンスを評価するのに物体及び／又は挙動に関して事前定義された定義に依拠する。基本システムが特定の物体又は挙動に関する記述を含まない限り、システムは、一般に、その挙動（又は特定の物体又は挙動を記述するパターンの少なくともインスタンス）を認識することができない。より一般的には、そのようなシステムは、多くの場合、ある期間にわたってシーンに何が生じるかを観察することによって、物体、イベント、挙動、又はパターンを識別する（又は正常又は異常であるとしてそのような物体、イベント、挙動などを分類する）ことができず、その代りに、そのようなシステムは予め定義された静的パターンに依拠する。
【概要】
【０００４】
[0004]本明細書で提示する１つの実施形態は、ビデオ記録デバイスによって捕捉され、ビデオ分析アプリケーションによって評価されるカメラ画像を安定化させる方法を含む。この方法は、一般に、ビデオカメラによって捕捉されたフレームのストリームを位置合わせすることにおいて使用するために基準フレーム内の候補領域を識別するステップを含む。候補領域は、各候補領域内の追跡特徴（ｔｒａｃｋｅｄ  ｆｅａｔｕｒｅ）の密度によって降順にソートされる。この方法は、捕捉されたフレームごとに、候補領域の中で最も高い密度の追跡特徴を有する候補領域を位置合わせ領域として指定するステップをさらに含む。現在のフレームの追跡特徴が基準フレームの対応する特徴に対して位置ずれしていることに基づいて、ストリームが不安定であると決定する際に、位置合わせ領域に基づく現在のフレームのアフィン変換行列が決定される。さらに、現在のフレームは、現在のフレームの位置合わせ領域の特徴が基準フレームの対応する特徴と一致するように、アフィン変換行列を使用して、歪まされる。追加として、重ね合わせ誤差が、歪まされた現在のフレームと基準フレームとの間で識別され、重ね合わせ誤差が許容範囲閾値内にあると決定する際に、歪まされた現在のフレームは、安定化されたフレームとして指定される。
【０００５】
[0005]本明細書で提示する別の実施形態は、ビデオ記録デバイスによって捕捉されたカメラ画像を安定化させる方法を含む。この方法は、ビデオカメラによって捕捉されたフレームを位置合わせすることにおいて使用するために基準フレーム内の候補領域を識別するステップを含む。候補領域は、各候補領域内の追跡特徴の密度によって降順にソートされる。この方法は、一般に、捕捉されたフレームごとに、候補領域の中で最も高い密度の追跡特徴を有する候補領域を位置合わせ領域として指定するステップをさらに含む。現在のフレームの追跡特徴が基準フレームの対応する特徴に対して位置ずれしていることに基づいて、ストリームが不安定であると決定する際に、現在のフレームは位置合わせされる。
【０００６】
[0006]他の実施形態は、限定はしないが、処理ユニットが、開示する方法の１つ又は複数の態様を実施できるようにする命令を含むコンピュータ可読媒体並びに開示する方法の１つ又は複数の態様を実施するように構成されたプロセッサ、メモリ、及びアプリケーションプログラムを有するシステムとを含む。
【図面の簡単な説明】
【０００７】
[0007]本発明の上述で列挙した特徴、利点、及び目的が達成され、詳細に理解され得るように、上述で簡単に要約した本発明のより詳細な説明を、添付図面に示した実施形態を参照することよって行うことができる。
【０００８】
[0008]しかしながら、添付図面は、本発明の典型的な実施形態のみを示し、それゆえに、本発明は他の均等に有効な実施形態を認めてもよいので本発明の範囲を限定すると考えるべきでないことに留意されたい。
【０００９】
【図１】[0009]図１は、１つの実施形態による、ビデオ分析システムの構成要素を示す図である。
【００１０】
【図２】[0010]図２は、１つの実施形態による、図１に示したビデオ分析システムの構成要素をさらに示す図である。
【００１１】
【図３】[0011]図３は、１つの実施形態による、基準画像と、カメラによって捕捉された現在の画像とのグラフィック表示を示す図である。
【００１２】
【図４】[0012]図４は、カメラによって捕捉された位置ずれした画像を安定化させる方法を示す図である。
【詳細な説明】
【００１３】
[0013]本明細書で提示する実施形態は、取得したビデオフレームのストリームを分析して、ビデオフレームがいつ位置ずれしたかを識別するための方法及びシステムを開示する。位置ずれしたフレームが検出された後、挙動認識ベースビデオ監視システムはフレームを位置合わせすることができる。
【００１４】
[0014]挙動認識システムは、普通ならビデオストリームとして知られる個別のフレームのシーケンスを観察することによって、挙動のパターンを学習し、識別し、認識するように構成してもよい。識別すべきものの事前定義されたパターンを含む規則ベースビデオ監視システムと異なり、本明細書で開示する挙動認識システムは、入力を普遍化し、観察されるもののメモリを構築することによってパターンを学習する。ある期間にわたって、挙動認識システムはこれらのメモリを使用して、ビデオストリーム内に捕捉される視野内の正常な挙動と異常な挙動とを区別する。一般に、この視野は「シーン」と呼ばれる。
【００１５】
[0015]１つの実施形態では、挙動認識システムは、コンピュータビジョンエンジン及び機械学習エンジンを含む。コンピュータビジョンエンジンは、シーンを処理し、観察した活動度を特徴づける情報ストリームを発生し、次に、ストリームを機械学習エンジンに渡すように構成してもよい。そして次に、機械学習エンジンは、そのシーンの物体挙動を学習するように構成してもよい。学習ベース挙動に加えて、機械学習エンジンは、シーン内のいくつかの挙動のモデルを構築し、モデルに比べて物体の挙動が異常であることを観察情報が示しているかどうかを決定するように構成してもよい。
【００１６】
[0016]しばしば、普通なら固定のビデオカメラが、シーンを捕捉するとき、何らかの物理的運動を受けることがある。例えば、地下鉄駅を観察するようにねらいをつけられたカメラは、列車が駅に入ったり出たりするとき、わずかなはね返りを経験することがある。同様に、屋外カメラは、風に応じてわずかに動くことがある。そのような場合、カメラで捕捉されたシーンは、カメラが上下に移動するとき、妨害され、混乱させられ、又はわずかに押し動かされることがある。その結果、画像は、様々な複雑な方法で、例えば、平行移動、回転、切り取りなどで歪まされるか又は変えられることがある。
【００１７】
[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]前述は本発明の実施形態を対象とするが、本発明の基本範囲から逸脱することなく本発明の他の及びさらなる実施形態を考案してもよく、本発明の範囲は以下の特許請求の範囲によって決定される。
【図１】
2015534202.tif 000003
【図２】
2015534202.tif 000004
【図３】
2015534202.tif 000005
【図４】
2015534202.tif 000006
【国際調査報告】
2015534202.tif 000007
2015534202.tif 000008
2015534202.tif 000009
2015534202.tif 000010
2015534202.tif 000011
2015534202.tif 000012