(57)【要約】ある場面の映像を取り込むように構成された１つ以上のカメラを備え、映像がオブジェクトの画像を有している、外観検索システムが提供される。本システムは、１つ以上のプロセッサおよびメモリに記憶されるコンピュータプログラムコードを含むメモリを備え、１つ以上のプロセッサによって実行されたときにその１つ以上のプロセッサがある方法を実施するように構成される。本方法は、オブジェクトの画像内にある１つ以上のオブジェクトを識別することを含む。本方法はさらに、識別したオブジェクトのシグネチャを生成し、関心オブジェクトのシグネチャを生成するように構成された学習機械を実装することを含む。本システムはさらに、カメラからのオブジェクトの画像を１つ以上のプロセッサに送信するように構成されたネットワークを含む。本方法はさらに、識別したオブジェクトのシグネチャを関心オブジェクトのシグネチャと比較して識別したオブジェクトに対する類似度スコアを生成することと、類似度スコアに基づいてオブジェクトの画像の１つ以上をディスプレイに提示する命令を伝送することとを含む。
2020503604.tif 000002
【特許請求の範囲】
【請求項１】
外観検索システムであって、
ある場面の映像を取り込むように構成された１つ以上のカメラであって、前記映像がオブジェクトの画像を有している、１つ以上のカメラと、
１つ以上のプロセッサおよびメモリであって、前記メモリに記憶されるコンピュータプログラムコードを含み、前記１つ以上のプロセッサによって実行されたときに前記１つ以上のプロセッサが、
前記オブジェクトの前記画像内にある１つ以上の前記オブジェクトを識別することと、
前記識別したオブジェクトのシグネチャを生成し、関心オブジェクトのシグネチャを生成するように構成された学習機械を実装することと
を含む方法を実施するように構成された、１つ以上のプロセッサおよびメモリと、
前記カメラからの前記オブジェクトの前記画像を前記１つ以上のプロセッサに送信するように構成されたネットワークと
を備え、
前記方法はさらに、
前記識別したオブジェクトの前記シグネチャを前記関心オブジェクトの前記シグネチャと比較して前記識別したオブジェクトに対する類似度スコアを生成することと、
前記類似度スコアに基づいて前記オブジェクトの画像の１つ以上をディスプレイに提示する命令を伝送することと
を含む、システム。
【請求項２】
前記識別したオブジェクトの前記生成したシグネチャ、および前記映像を記憶する記憶システムを備えている、請求項１に記載のシステム。
【請求項３】
前記実装された学習機械は、第２の学習機械であり、前記識別は、前記１つ以上のプロセッサによって実装された第１の学習機械によって実施される、請求項１または２に記載のシステム。
【請求項４】
前記第１および第２の学習機械は、ニューラルネットワークを含む、請求項３に記載のシステム。
【請求項５】
前記ニューラルネットワークは、畳み込みニューラルネットワークを含む、請求項４に記載のシステム。
【請求項６】
前記第１および第２の学習機械を稼働させる１つ以上のグラフィックスプロセッシングユニットをさらに含む、請求項３〜５のいずれか一項に記載のシステム。
【請求項７】
前記１つ以上のカメラはさらに、映像解析を用いて前記オブジェクトの前記画像を取り込むように構成される、請求項１〜６のいずれか一項に記載のシステム。
【請求項８】
前記１つ以上のカメラはさらに、前記オブジェクトの分類によって前記オブジェクトの前記画像を選別するように構成される、請求項１〜７のいずれか一項に記載のシステム。
【請求項９】
前記１つ以上のカメラはさらに、ヒトオブジェクトを含む１つ以上の前記画像を識別するように構成され、前記ネットワークはさらに、前記識別した画像のみを前記１つ以上のプロセッサに送信するように構成される、請求項８に記載のシステム。
【請求項１０】
前記オブジェクトの前記画像は、前記映像の画像フレームの部分を含む、請求項１〜９のいずれか一項に記載のシステム。
【請求項１１】
前記画像フレームの前記部分は、前記画像フレームの第１の画像部分を含み、前記第１の画像部分は、少なくとも前記オブジェクトを含む、請求項１０に記載のシステム。
【請求項１２】
前記画像フレームの前記部分は、前記画像フレームの第２の画像部分を含み、前記第２の画像部分は、前記第１の画像部分よりも大きい、請求項１１に記載のシステム。
【請求項１３】
前記第１の学習機械は、前記第２の学習機械に対して、前記第２の画像部分内の１つ以上の前記オブジェクトの輪郭を描くように構成される、請求項１２に記載のシステム。
【請求項１４】
前記第１の学習機械は、前記第２の学習機械に対して、前記第２の画像部分内の前記オブジェクトの輪郭を描くように構成される、請求項１２に記載のシステム。
【請求項１５】
前記１つ以上のカメラはさらに、前記映像から前記オブジェクトの前記画像を抜き出せるように基準座標を生成するように構成される、請求項１〜１４のいずれか一項に記載のシステム。
【請求項１６】
前記記憶システムは、前記基準座標を記憶するように構成される、請求項１５に記載のシステム。
【請求項１７】
前記１つ以上のカメラはさらに、ある一定時間にわたって取り込まれた前記映像から１つ以上の画像を選択して前記オブジェクトの１つ以上の前記画像を得るように構成される、請求項１〜１６のいずれか一項に記載のシステム。
【請求項１８】
前記オブジェクトの前記識別は、前記画像にある前記１つ以上のオブジェクトの輪郭を描くことを含む、請求項１〜１７のいずれか一項に記載のシステム。
【請求項１９】
前記識別は、
少なくとも１つの前記画像内の複数の前記オブジェクトを識別することと、
前記少なくとも１つの画像を複数の分割画像に分割し、１つ１つの分割画像が前記識別したオブジェクトのうちの１つの少なくとも一部を含むことと
を含む、請求項１〜１８のいずれか一項に記載のシステム。
【請求項２０】
前記本方法はさらに、
１つ１つの識別したオブジェクトに対し、
信頼度を判定することと、
前記信頼度が信頼要件を満たしていない場合に、前記識別および分前記割を前記第１の学習機械に実施させるか、または、
前記信頼度が前記信頼要件を満たしている場合に、前記識別および前記分割を前記第２の学習機械に実施させることと
を含む、請求項１９に記載のシステム。
【請求項２１】
前記１つ以上のカメラはさらに、前記信頼度を判定する１つ以上の映像解析モジュールを備えている、請求項２０に記載のシステム。
【請求項２２】
方法であって、
ある場面の映像を取り込み、前記映像がオブジェクトの画像を有していることと、
前記オブジェクトの前記画像内にある１つ以上の前記オブジェクトを識別することと、
学習機械を用いて、前記識別したオブジェクトのシグネチャ、および関心オブジェクトのシグネチャを生成することと、
前記識別したオブジェクトの前記シグネチャを前記関心オブジェクトの前記第１のシグネチャと比較することによって、前記識別したオブジェクトに対する類似度スコアを生成することと、
前記類似度スコアに基づいて前記オブジェクトの１つ以上の前記画像をディスプレイに提示することと
を含む、方法。
【請求項２３】
識前記別したオブジェクトの前記生成したシグネチャ、および前記映像を記憶することをさらに含む、請求項２２に記載の方法。
【請求項２４】
前記学習機械は、第２の学習機械であり、前記識別は、前記１つ以上のプロセッサによって実装された第１の学習機械によって実施される、請求項２２または２３に記載の方法。
【請求項２５】
前記第１および第２の学習機械は、ニューラルネットワークを含む、請求項２４に記載の方法。
【請求項２６】
前記ニューラルネットワークは、畳み込みニューラルネットワークを含む、請求項２５に記載の方法。
【請求項２７】
前記取り込みは、映像解析を用いることを含む、請求項２２〜２６のいずれか一項に記載の方法。
【請求項２８】
前記オブジェクトを分類することによって前記オブジェクトの前記画像を選別することをさらに含む、請求項２２〜２７のいずれか一項に記載の方法。
【請求項２９】
前記方法はさらに、ヒトオブジェクトを含む１つ以上の前記画像を識別することを含む、請求項２８に記載の方法。
【請求項３０】
前記オブジェクトの前記画像は、前記映像の画像フレームの部分を含む、請求項２２〜２９のいずれか一項に記載の方法。
【請求項３１】
前記画像フレームの前記部分は、前記画像フレームの第１の画像部分を含み、前記第１の画像部分は、少なくとも前記オブジェクトを含む、請求項３０に記載の方法。
【請求項３２】
前記画像フレームの前記部分は、前記画像フレームの第２の画像部分を含み、前記第２の画像部分は、前記第１の画像部分よりも大きい、請求項３１に記載の方法。
【請求項３３】
前記第１の学習機械は、前記第２の学習機械に対して、前記第２の画像部分内の１つ以上の前記オブジェクトの輪郭を描くように構成される、請求項３２に記載の方法。
【請求項３４】
前記第１の学習機械は、前記第２の学習機械に対して、前記第２の画像部分内の前記オブジェクトの輪郭を描くように構成される、請求項３３に記載の方法。
【請求項３５】
前記映像から前記オブジェクトの前記画像を抜き出せるように基準座標を生成することをさらに含む、請求項２２〜３４のいずれか一項に記載の方法。
【請求項３６】
前記基準座標を記憶することをさらに含む、請求項３５に記載の方法。
【請求項３７】
ある一定時間にわたって取り込まれた前記映像から１つ以上の画像を選択して前記オブジェクトの１つ以上の前記画像を得ることをさらに含む、請求項２２〜３６のいずれか一項に記載の方法。
【請求項３８】
前記オブジェクトの前記識別は、前記画像にある前記１つ以上のオブジェクトの輪郭を描くことを含む、請求項２２〜３７のいずれか一項に記載の方法。
【請求項３９】
前記識別は、
少なくとも１つの前記画像内の複数の前記オブジェクトを識別することと、
前記少なくとも１つの画像を複数の分割画像に分割し、１つ１つの分割画像が前記識別したオブジェクトのうちの１つの少なくとも一部を含むことと
を含む、請求項２２〜３８のいずれか一項に記載の方法。
【請求項４０】
前記本方法はさらに、
１つ１つの識別したオブジェクトに対し、
信頼度を判定することと、
前記信頼度が信頼要件を満たしていない場合に、前記識別および分前記割を前記第１の学習機械に実施させるか、または、
前記信頼度が前記信頼要件を満たしている場合に、前記識別および前記分割を前記第２の学習機械に実施させることと
を含む、請求項３９に記載の方法。
【請求項４１】
１つ以上のプロセッサで実行可能なコンピュータプログラムコードが記憶され、１つ以上のプロセッサによって実行されたときに１つ以上のプロセッサが、
ある場面の映像を取り込み、前記映像がオブジェクトの画像を有していることと、
前記オブジェクトの前記画像内にある１つ以上の前記オブジェクトを識別することと、
学習機械を用いて、前記識別したオブジェクトのシグネチャ、および関心オブジェクトのシグネチャを生成することと、
前記識別したオブジェクトの前記シグネチャを前記関心オブジェクトの前記第１のシグネチャと比較することによって、前記識別したオブジェクトに対する類似度スコアを生成することと、
前記類似度スコアに基づいて前記オブジェクトの１つ以上の前記画像をディスプレイに提示することと
を含む、方法
を実施するように構成される、コンピュータ可読媒体。
【請求項４２】
前記方法はさらに、前記識別したオブジェクトの前記生成したシグネチャ、および前記映像を記憶することを含む、請求項４１に記載のコンピュータ可読媒体。
【請求項４３】
前記学習機械は、第２の学習機械であり、前記識別は、第１の学習機械によって実施される、請求項４１または４２に記載のコンピュータ可読媒体。
【請求項４４】
前記第１および第２の学習機械は、ニューラルネットワークを含む、請求項４３に記載のコンピュータ可読媒体。
【請求項４５】
前記ニューラルネットワークは、畳み込みニューラルネットワークを含む、請求項４４に記載のコンピュータ可読媒体。
【請求項４６】
前記取り込みは、映像解析を用いることを含む、請求項４１〜４５のいずれか一項に記載のコンピュータ可読媒体。
【請求項４７】
前記方法はさらに、前記オブジェクトの分類によって前記オブジェクトの前記画像を選別することを含む、請求項４１〜４６のいずれか一項に記載のコンピュータ可読媒体。
【請求項４８】
前記方法はさらに、ヒトオブジェクトを含む１つ以上の前記画像を識別することを含む、請求項４７に記載のコンピュータ可読媒体。
【請求項４９】
前記オブジェクトの前記画像は、前記映像の画像フレームの部分を含む、請求項４１〜４８のいずれか一項に記載のコンピュータ可読媒体。
【請求項５０】
前記画像フレームの前記部分は、前記画像フレームの第１の画像部分を含み、前記第１の画像部分は、少なくとも前記オブジェクトを含む、請求項４９に記載のコンピュータ可読媒体。
【請求項５１】
前記画像フレームの前記部分は、前記画像フレームの第２の画像部分を含み、前記第２の画像部分は、前記第１の画像部分よりも大きい、請求項５０に記載のコンピュータ可読媒体。
【請求項５２】
前記第１の学習機械は、前記第２の学習機械に対して、前記第２の画像部分内の１つ以上の前記オブジェクトの輪郭を描くように構成される、請求項５１に記載のコンピュータ可読媒体。
【請求項５３】
前記第１の学習機械は、前記第２の学習機械に対して、前記第２の画像部分内の前記オブジェクトの輪郭を描くように構成される、請求項５２に記載のコンピュータ可読媒体。
【請求項５４】
前記方法はさらに、前記映像から前記オブジェクトの前記画像を抜き出せるように基準座標を生成することを含む、請求項４１〜５３のいずれか一項に記載のコンピュータ可読媒体。
【請求項５５】
前記方法はさらに、前記基準座標を記憶することを含む、請求項５４に記載のコンピュータ可読媒体。
【請求項５６】
前記方法はさらに、ある一定時間にわたって取り込まれた前記映像から１つ以上の画像を選択して前記オブジェクトの１つ以上の前記画像を得ることを含む、請求項４１〜５５のいずれか一項に記載のコンピュータ可読媒体。
【請求項５７】
前記オブジェクトの前記識別は、前記画像にある前記１つ以上のオブジェクトの輪郭を描くことを含む、請求項４１〜５６のいずれか一項に記載のコンピュータ可読媒体。
【請求項５８】
前記識別は、
少なくとも１つの前記画像内の複数の前記オブジェクトを識別することと、
前記少なくとも１つの画像を複数の分割画像に分割し、１つ１つの分割画像が前記識別したオブジェクトのうちの１つの少なくとも一部を含むことと
を含む、請求項４１〜５７のいずれか一項に記載のコンピュータ可読媒体。
【請求項５９】
前記本方法はさらに、
１つ１つの識別したオブジェクトに対し、
信頼度を判定することと、
前記信頼度が信頼要件を満たしていない場合に、前記識別および分前記割を前記第１の学習機械に実施させるか、または、
前記信頼度が前記信頼要件を満たしている場合に、前記識別および前記分割を前記第２の学習機械に実施させることと
を含む、請求項５８に記載のコンピュータ可読媒体。
【請求項６０】
システムであって、
ある場面の映像を取り込むように構成された１つ以上のカメラと、
１つ以上のプロセッサおよびメモリであって、前記メモリに記憶されるコンピュータプログラムコードを含み、前記１つ以上のプロセッサによって実行されたときに前記１つ以上のプロセッサが、
前記映像からチップを抜き出し、前記チップは、オブジェクトの画像を含むことと、
少なくとも１つの前記チップ内にある複数のオブジェクトを識別することと、
前記少なくとも１つのチップを複数の分割チップに分割し、１つ１つの分割チップが前記識別したオブジェクトのうちの１つの少なくとも一部を含むことと
を含む方法を実施するように構成された、１つ以上のプロセッサおよびメモリと、
を備えているシステム。
【請求項６１】
前記方法はさらに、
前記識別したオブジェクトのシグネチャを生成し、関心オブジェクトのシグネチャを生成するように構成された学習機械を実装すること
を含む、請求項６０に記載のシステム。
【請求項６２】
前記学習機械は、第２の学習機械であり、前記識別および前記分割は、前記１つ以上のプロセッサによって実装された第１の学習機械によって実施される、請求項６１に記載のシステム。
【請求項６３】
前記本方法はさらに、
１つ１つの識別したオブジェクトに対し、
信頼度を判定することと、
前記信頼度が信頼要件を満たしていない場合に、前記識別および分前記割を前記第１の学習機械に実施させるか、または、
前記信頼度が前記信頼要件を満たしている場合に、前記識別および前記分割を前記第２の学習機械に実施させることと
を含む、請求項６２に記載のシステム。
【請求項６４】
前記１つ以上のカメラは、前記信頼度を判定する１つ以上の映像解析モジュールを備えている、請求項６３に記載のシステム。
【請求項６５】
前記少なくとも１つのチップは、少なくとも１つのパディング済チップを含み、１つ１つのパディング済チップは、前記映像の画像フレームの第１の画像部分を含む、請求項６０〜６４のいずれか一項に記載のシステム。
【請求項６６】
前記少なくとも１つのチップはさらに、少なくとも１つのパディングしていないチップを含み、１つ１つのパディングしていないチップは、前記映像の画像フレームの第２の画像部分を含み、前記第２の画像部分は、前記第１の画像部分よりも小さい、請求項６５に記載のシステム。
【請求項６７】
１つ以上のプロセッサで実行可能なコンピュータプログラムコードが記憶され、１つ以上のプロセッサによって実行されたときに１つ以上のプロセッサが、
ある場面の映像を得ることを含むことと、
前記映像からチップを抜き出し、前記チップは、オブジェクトの画像を含むことと、
少なくとも１つの前記チップ内にある複数のオブジェクトを識別することと、
前記少なくとも１つのチップを複数の分割チップに分割し、１つ１つの分割チップが前記識別したオブジェクトのうちの１つの少なくとも一部を含むことと
を含む、方法
を実施するように構成される、コンピュータ可読媒体。
【請求項６８】
前記方法はさらに、
前記識別したオブジェクトのシグネチャを生成し、関心オブジェクトのシグネチャを生成するように構成された学習機械を実装すること
を含む、請求項６７に記載のコンピュータ可読媒体。
【請求項６９】
前記学習機械は、第２の学習機械であり、前記識別および前記分割は、前記１つ以上のプロセッサによって実装された第１の学習機械によって実施される、請求項６８に記載のコンピュータ可読媒体。
【請求項７０】
前記本方法はさらに、
１つ１つの識別したオブジェクトに対し、
信頼度を判定することと、
前記信頼度が信頼要件を満たしていない場合に、前記識別および分前記割を前記第１の学習機械に実施させるか、または、
前記信頼度が前記信頼要件を満たしている場合に、前記識別および前記分割を前記第２の学習機械に実施させることと
を含む、請求項６９に記載のコンピュータ可読媒体。
【請求項７１】
前記少なくとも１つのチップは、少なくとも１つのパディング済チップを含み、１つ１つのパディング済チップは、前記映像の画像フレームの第１の画像部分を含む、請求項６７〜７０のいずれか一項に記載のコンピュータ可読媒体。
【請求項７２】
前記少なくとも１つのチップはさらに、少なくとも１つのパディングしていないチップを含み、１つ１つのパディングしていないチップは、前記映像の画像フレームの第２の画像部分を含み、前記第２の画像部分は、前記第１の画像部分よりも小さい、請求項７１に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本明細書は、２０１６年１２月５日に出願された米国仮特許出願第６２／４３０，２９２号、および２０１７年６月３０日に出願された米国仮特許出願第６２／５２７，８９４号の利益を主張するものであり、両文献を参照してその全容を本願に援用する。
【０００２】
技術分野
本主題は、映像監視、さらに詳細には、映像監視システムの映像にある関心オブジェクトを識別することに関する。
【背景技術】
【０００３】
コンピュータ実行型の視覚オブジェクト分類は、オブジェクト認識とも呼ばれ、カメラで撮影した静止画または動画に見られる実生活のオブジェクトの視覚表現を分類することに関わるものである。視覚によるオブジェクト分類を実施することによって、静止画または動画に見られる各視覚オブジェクトは、その種類（例えばヒト、車両、または動物など）に応じて分類される。
【０００４】
自動のセキュリティおよび監視システムでは、通常ビデオカメラまたはその他の撮像装置またはセンサを用いて映像または映像フィート数などの画像データを収集する。最も単純なシステムでは、画像データで表現された画像は、セキュリティ担当者によって同時放映用に表示され、かつ／またはセキュリティが侵害された後にあとで見直すために記録される。そのようなシステムでは、視覚的関心オブジェクトを検知し分類する作業は、人間の観察者によって行われる。システム自体がオブジェクトの検知および分類を一部であっても全部であっても実施する能力がある場合は、著しい進歩が生じる。
【０００５】
通常の監視システムでは、環境内で動くヒト、車両、動物などのオブジェクトを検知することに関心を寄せることがある。しかしながら、例えば子どもが大型ショッピングモールで迷子になった場合、セキュリティ担当者がその迷子の子どもに対して映像フィート数を手作業で見直すには非常に時間がかかる可能性がある。カメラで取り込んだ画像データで表現された画像内のオブジェクトのコンピュータ実行型の検知では、関連する映像セグメントをセキュリティ担当者が見直す作業を著しく容易にして、迷子の子どもを適時に発見することができる。
【０００６】
とは言うものの、オブジェクトを検知して認識し、どのオブジェクトが似ているのかを検知して認識するためのコンピュータ実行型の映像解析は、とりわけ所望の精度が上がるにつれて相当な計算資源を必要とする。資源の利用を最適にするために処理を分散できれば、コンピュータによる実行が容易になる。
【発明の概要】
【０００７】
本開示の第１の態様では、ある場面の映像を取り込むように構成された１つ以上のカメラを備え、映像がオブジェクトの画像を有している、外観検索システムが提供される。本システムは、１つ以上のプロセッサおよびメモリであって、メモリに記憶されるコンピュータプログラムコードを含み、１つ以上のプロセッサによって実行されたときにその１つ以上のプロセッサがある方法を実施するように構成される、プロセッサおよびメモリを備えている。本方法は、オブジェクトの画像内にある１つ以上のオブジェクトを識別することを含む。本方法はさらに、識別したオブジェクトのシグネチャを生成し、関心オブジェクトのシグネチャを生成するように構成された学習機械を実装することを含む。本システムはさらに、カメラからのオブジェクトの画像を１つ以上のプロセッサに送信するように構成されたネットワークを含む。本方法はさらに、識別したオブジェクトのシグネチャを関心オブジェクトのシグネチャと比較して識別したオブジェクトに対する類似度スコアを生成することと、類似度スコアに基づいてオブジェクトの画像の１つ以上をディスプレイに提示する命令を伝送することとを含む。
【０００８】
本システムはさらに、識別したオブジェクトから生成したシグネチャ、および映像を記憶する記憶システムを備えていてよい。
【０００９】
実装された学習機械は第２の学習機械であってよく、識別は、１つ以上のプロセッサによって実装された第１の学習機械によって実施されてよい。
【００１０】
第１および第２の学習機械は、ニューラルネットワークを含んでいてよい。ニューラルネットワークは、畳み込みニューラルネットワークを含んでいてよい。ニューラルネットワークまたは畳み込みニューラルネットワークは、訓練モデルを含む。
【００１１】
本システムはさらに、第１および第２の学習機械を稼働させる１つ以上のグラフィックスプロセッシングユニットを含んでいてよい。
【００１２】
１つ以上のカメラはさらに、映像解析を用いてオブジェクトの画像を取り込むように構成されてよい。
【００１３】
１つ以上のカメラはさらに、オブジェクトの分類によってオブジェクトの画像を選別するように構成されてよい。１つ以上のカメラはさらに、ヒトオブジェクトを含む１つ以上の画像を識別するように構成されてよく、ネットワークはさらに、識別した画像のみを１つ以上のプロセッサに送信するように構成されてよい。
【００１４】
オブジェクトの画像は、映像の画像フレームの部分を含んでいてよい。画像フレームの部分は、画像フレームの第１の画像部分を含んでいてよく、第１の画像部分は、少なくともオブジェクトを含む。画像フレームの部分は、画像フレームの第２の画像部分を含んでいてよく、第２の画像部分は、第１の画像部分よりも大きい。第１の学習機械は、第２の学習機械に対して、第２の画像部分内の１つ以上のオブジェクト、またはそのすべての輪郭を描くように構成されてよい。
【００１５】
１つ以上のカメラはさらに、映像からオブジェクトの画像を抜き出せるように基準座標を生成するように構成されてよい。記憶システムは、基準座標を記憶するように構成されてよい。
【００１６】
１つ以上のカメラはさらに、ある一定時間にわたって取り込まれた映像から１つ以上の画像を選択してオブジェクトの１つ以上の画像を得るように構成されてよい。
【００１７】
オブジェクトの識別は、画像にある１つ以上のオブジェクトの輪郭を描くことを含んでいてよい。
【００１８】
識別は、少なくとも１つの画像内の複数のオブジェクトを識別することと、少なくとも１つの画像を複数の分割画像に分割し、１つ１つの分割画像が識別したオブジェクトのうちの１つの少なくとも一部を含むこととを含んでいてよい。本方法はさらに、１つ１つの識別したオブジェクトに対し、信頼度を判定することと、信頼度が信頼要件を満たしていない場合に、識別および分割を第１の学習機械に実施させるか、または、信頼度が信頼要件を満たしている場合に、識別および分割を第２の学習機械に実施させることとを含んでいてよい。
【００１９】
１つ以上のカメラはさらに、信頼度を判定する１つ以上の映像解析モジュールを備えていてよい。
【００２０】
本開示のさらに別の態様では、ある場面の映像を取り込み、映像がオブジェクトの画像を有していることを含む方法が提供される。本方法はさらに、オブジェクトの画像内にある１つ以上のオブジェクトを識別することを含む。本方法はさらに、学習機械を用いて、識別したオブジェクトのシグネチャ、および関心オブジェクトのシグネチャを生成することを含む。本方法はさらに、識別したオブジェクトのシグネチャを関心オブジェクトの第１のシグネチャと比較することによって、識別したオブジェクトに対する類似度スコアを生成することを含む。本方法はさらに、類似度スコアに基づいてオブジェクトの１つ以上の画像をディスプレイに提示することを含む。
【００２１】
本方法はさらに、上記の工程または動作のいずれかを本開示の第１の態様と合わせて実施することを含んでいてよい。
【００２２】
本開示のさらに別の態様では、１つ以上のプロセッサで実行可能なコンピュータプログラムコードが記憶され、１つ以上のプロセッサによって実行されたときに１つ以上のプロセッサがある方法を実施するように構成される、コンピュータ可読媒体が提供される。本方法は、ある場面の映像を取り込み、映像がオブジェクトの画像を有していることを含む。本方法はさらに、オブジェクトの画像内にある１つ以上のオブジェクトを識別することを含む。本方法はさらに、学習機械を用いて、識別したオブジェクトのシグネチャ、および関心オブジェクトのシグネチャを生成することを含む。本方法はさらに、識別したオブジェクトのシグネチャを関心オブジェクトの第１のシグネチャと比較することによって、識別したオブジェクトに対する類似度スコアを生成することを含む。本方法はさらに、類似度スコアに基づいてオブジェクトの１つ以上の画像をディスプレイに提示することを含む。
【００２３】
１つ以上のプロセッサによって実施される方法はさらに、上記の工程または動作のいずれかを本開示の第１の態様と合わせて実施することを含んでいてよい。
【００２４】
本開示のさらに別の態様では、ある場面の映像を取り込むように構成された１つ以上のカメラを備えているシステムが提供される。本システムはさらに、１つ以上のプロセッサおよびメモリに記憶されるコンピュータプログラムコードを含むメモリを備え、１つ以上のプロセッサによって実行されたときにその１つ以上のプロセッサがある方法を実施するように構成される。本方法は、映像からチップを抜き出すことを含み、チップは、オブジェクトの画像を含む。本方法はさらに、少なくとも１つのチップ内にある複数のオブジェクトを識別することを含む。本方法はさらに、少なくとも１つのチップを複数の分割チップに分割することを含み、１つ１つの分割したチップは、識別したオブジェクトのうちの１つの少なくとも一部を含む。
【００２５】
本方法はさらに、識別したオブジェクトのシグネチャを生成して関心オブジェクトのシグネチャを生成するように構成された学習機械を実装することを含んでいてよい。学習機械は第２の学習機械であってよく、識別および分割は、１つ以上のプロセッサによって実装された第１の学習機械によって実施されてよい。本方法はさらに、１つ１つの識別したオブジェクトに対して：信頼度を判定することと、信頼度が信頼要件を満たしていない場合に、第１の学習機械による識別および分割を実施させるか、または、信頼度が信頼要件を満たしている場合に、第２の学習機械による識別および分割を実施させることとを含んでいてよい。１つ以上のカメラは、信頼度を判定する１つ以上の映像解析モジュールを備えていてよい。
【００２６】
少なくとも１つのチップは、少なくとも１つのパディング済チップを含んでいてよい。１つ１つのパディング済チップは、映像の画像フレームの第１の画像部分を含んでいてよい。少なくとも１つのチップはさらに、少なくとも１つのパディングしていないチップを含んでいてよい。１つ１つのパディングしていないチップは、映像の画像フレームの第２の画像部分を含んでいてよく、第２の画像部分は第１の画像部分よりも小さい。
【００２７】
本開示のさらに別の態様では、１つ以上のプロセッサで実行可能なコンピュータプログラムコードが記憶され、１つ以上のプロセッサによって実行されたときに１つ以上のプロセッサがある方法を実施するように構成される、コンピュータ可読媒体が提供される。本方法は、ある場面の映像を得ることを含む。本方法はさらに、映像からチップを抜き出すことを含み、チップは、オブジェクトの画像を含む。本方法はさらに、少なくとも１つのチップ内にある複数のオブジェクトを識別することを含む。本方法はさらに、少なくとも１つのチップを複数の分割チップに分割することを含み、１つ１つの分割したチップは、識別したオブジェクトのうちの１つの少なくとも一部を含む。
【００２８】
１つ以上のプロセッサによって実施される方法はさらに、上記の工程または動作のいずれかを上記のシステムと直に合わせて実施することを含んでいてよい。
【００２９】
本開示のさらに別の態様では、場面の映像を取り込み、映像がオブジェクトの画像を有している、カメラと、映像に関連するオブジェクトの画像からシグネチャを生成し、関心オブジェクトの第１の画像から第１のシグネチャを生成する学習機械を含むプロセッサと、カメラからのオブジェクトの画像をプロセッサに送信するためのネットワークと、生成したオブジェクトのシグネチャおよび関連映像を記憶する記憶システムとを備え、プロセッサはさらに、画像からのシグネチャを関心オブジェクトの第１のシグネチャと比較して類似度スコアを生成し、さらに、類似度スコアがより高いオブジェクトの画像を準備してディスプレイでユーザに提示する、外観検索システムが提供される。
【００３０】
いくつかの例示的な実施形態によれば、学習機械は、ニューラルネットワークである。
【００３１】
いくつかの例示的な実施形態によれば、ニューラルネットワークは、畳み込みニューラルネットワークである。
【００３２】
いくつかの例示的な実施形態によれば、ニューラルネットワークは、訓練モデルである。
【００３３】
いくつかの例示的な実施形態によれば、グラフィックスプロセッシングユニットは、学習機械を稼働させるために使用される。
【００３４】
いくつかの例示的な実施形態によれば、オブジェクトの画像は、カメラで取り込まれ、映像解析を用いてカメラで処理される。
【００３５】
いくつかの例示的な実施形態によればオブジェクトの画像は、プロセッサに送信される前にカメラでオブジェクトの種類を分類することによって選別される。
【００３６】
いくつかの例示的な実施形態によれば、プロセッサに送信されるオブジェクトの種類は、ヒトである。
【００３７】
いくつかの例示的な実施形態によれば、映像からオブジェクトの画像を取り込むカメラはさらに、映像内の画像の基準座標を取り込んで、その基準座標に基づいてオブジェクトの画像を映像から抜き出せるようにすることを含む。
【００３８】
いくつかの例示的な実施形態によれば、映像から抜き出された画像は削除され、記憶システムは、シグネチャ、基準座標、および映像を記憶する。
【００３９】
いくつかの例示的な実施形態によれば、映像解析は、ある一定時間にわたってオブジェクトの１つ以上の画像を選択し、その期間に取り込んだオブジェクトの画像を表現する。
【００４０】
本開示のさらに別の態様では、カメラによって取り込まれた映像にある関心オブジェクトに対して外観検索するコンピュータ実行型の方法であって、本方法は、カメラが撮った映像からオブジェクトの画像を抜き出すことと、オブジェクトの画像および映像をネットワーク上でプロセッサに送信することと、学習機械を用いて、オブジェクトの画像からのシグネチャをプロセッサによって生成することと、オブジェクトのシグネチャおよびオブジェクトに関連する映像を記憶システムに記憶することと、学習機械を用いて、任意の関心オブジェクトの画像からのシグネチャをプロセッサによって生成することと、プロセッサによって、記憶システムにある画像からのシグネチャを関心オブジェクトのシグネチャと比較して、１つ１つの比較に対して類似度スコアを生成することと、類似度スコアがより高いオブジェクトの画像を準備してディスプレイでユーザに提示することとを含む、方法が提供される。
【００４１】
本開示のさらに別の態様では、カメラによって取り込まれた映像にある関心オブジェクトに対して外観検索するコンピュータ実行型の方法であって、本方法は、カメラが撮った映像からオブジェクトの画像を抜き出すことと、オブジェクトの画像および映像をネットワーク上でプロセッサに送信することと、学習機械を用いて、オブジェクトの画像からのシグネチャをプロセッサによって生成し、オブジェクトの画像が、関心オブジェクトの画像を含むことと、オブジェクトのシグネチャおよびオブジェクトに関連する映像を記憶システムに記憶することと、記憶システムを介して関心オブジェクトの画像のインスタンスを検索することと、関心オブジェクトの画像のインスタンスに対する関心オブジェクトのシグネチャを記憶部から引き出すことと、プロセッサによって、記憶システムにある画像からのシグネチャを関心オブジェクトのシグネチャと比較して、１つ１つの比較に対して類似度スコアを生成することと、類似度スコアがより高いオブジェクトの画像を準備してディスプレイでユーザに提示することとを含む、方法が提供される。
【００４２】
本開示のさらに別の態様では、プロセッサによって実行されたときに、カメラによって取り込まれた映像にある関心オブジェクトを外観検索する方法であって、本方法は、カメラが撮った映像からオブジェクトの画像を抜き出すことと、オブジェクトの画像および映像をネットワーク上でプロセッサに送信することと、学習機械を用いて、オブジェクトの画像からのシグネチャをプロセッサによって生成し、オブジェクトの画像が、関心オブジェクトの画像を含むことと、オブジェクトのシグネチャおよびオブジェクトに関連する映像を記憶システムに記憶することと、記憶システムを介して関心オブジェクトの画像のインスタンスを検索することと、関心オブジェクトの画像のインスタンスに対する関心オブジェクトのシグネチャを記憶部から引き出すことと、プロセッサによって、記憶システムにある画像からのシグネチャを関心オブジェクトのシグネチャと比較して、１つ１つの比較に対して類似度スコアを生成することと、類似度スコアがより高いオブジェクトの画像を準備してディスプレイでユーザに提示することとを含む、方法をプロセッサに実施させる命令を記憶している、非一過性のコンピュータ可読記憶媒体が提供される。
【００４３】
詳細な説明では、以下の図面を参照する。
【図面の簡単な説明】
【００４４】
【図１】例示的な実施形態による映像取り込み再生システムの接続済みデバイスのブロック図である。
【００４５】
【図２Ａ】１つの例示的な実施形態による映像取り込み再生システムの一連の動作モジュールのブロック図である。
【００４６】
【図２Ｂ】映像解析モジュール２２４、映像管理モジュール２３２および記憶デバイス２４０が１つ以上の画像取り込みデバイス１０８に全面的に実装されている１つの特定の例示的な実施形態の一連の動作モジュールのブロック図である。
【００４７】
【図３】映像取り込みデバイスによって取り込まれた映像の１つ以上の画像フレームに対して映像解析を実施する方法の例示的な実施形態の流れ図である。
【００４８】
【図４】映像取り込みデバイス（カメラ）によって取り込まれた映像の１つ以上の画像フレームに対して関心オブジェクトの位置を特定する外観照合を実施する方法の例示的な実施形態の流れ図である。
【００４９】
【図５】クライアントで外観照合を実施して関心オブジェクトが録画された映像の場所を特定するための外観検索の詳細を示す図４の例示的な実施形態の流れ図である。
【００５０】
【図６】クライアント４２０で外観照合を実施して選択した時間の前または後のいずれかで関心オブジェクトが録画された映像の場所を特定するための時間指定外観検索の詳細を示す図４の例示的な実施形態の流れ図である。
【００５１】
【図７】記憶される前のオブジェクトプロファイルおよび記憶するためにサイズを縮小したオブジェクトプロファイルの例示的なメタデータのブロック図である。
【００５２】
【図８】図４の例示的な実施形態の場面およびトリミング境界ボックスを示す図である。
【００５３】
【図９】１つの例示的な実施形態による映像解析モジュールの一連の動作サブモジュールのブロック図である。
【００５４】
【図１０Ａ】１つの例示的な実施形態による特徴ベクトルを生成するための処理のブロック図である。
【００５５】
【図１０Ｂ】別の例示的な実施形態による特徴ベクトルを生成するための代替的な処理のブロック図である。
【００５６】
【図１１】トリミング境界ボックを生成する例示的な実施形態の流れ図である。
【００５７】
【図１２】カメラが見た画像、パディング済トリミング境界ボックス、および解析モジュールによって生成されたトリミング境界ボックスの例を示す図である。
【発明を実施するための形態】
【００５８】
簡略化のため、かつ説明を明瞭にするため、図面に示した要素は必ずしも原寸通りには描かれていないことが理解されるであろう。例えば、一部の要素の寸法は、明瞭にするために他の要素よりも誇張されていることがある。さらに、必要に応じて、対応する要素または同じ要素を示すために図面を通して符号が繰り返し用いられていることがある。
【００５９】
本明細書に記載した例示的な実施形態を徹底的に理解してもらうため、数々の具体的な詳細を記載している。しかしながら、本明細書に記載した実施形態は、これらの具体的な詳細がなくとも実施され得ることが当業者には理解されるであろう。他の事例では、本明細書に記載した実施形態を不明瞭にしないように、公知の方法、手順および構成要素を記載していない。さらに、この説明を決して本明細書に記載した実施形態の範囲を限定するものとしてとらえてはならず、むしろ本明細書に記載した様々な実施形態の実施を単に説明するものとしてとらえるべきである。
【００６０】
「ａ（１つの）」または「ａｎ（１つの）」という単語が請求項および／または明細書で「ｃｏｍｐｒｉｓｉｎｇ（備えている）」または「ｉｎｃｌｕｄｉｎｇ（含む）」という用語と一緒に用いられている場合、それは「１つ」を意味することがあるが、特に明記しない限り、「１つ以上の」、「少なくとも１つの」、および「１つよりも多い」の意味とも同じである。同じように、「ａｎｏｔｈｅｒ（別の）」という単語は、特に明記しない限り、少なくとも２つ目以降を意味することがある。
【００６１】
本明細書で使用した「ｃｏｕｐｌｅｄ（連結した）」、「ｃｏｕｐｌｉｎｇ（連結している）」または「ｃｏｎｎｅｃｔｅｄ（接続した）」という用語は、これらの用語が使用されている文脈に応じていくつかの異なる意味を持つ可能性がある。例えば、連結した、連結している、接続したという用語は、機械的または電気的な意味合いを有する可能性がある。例えば、本明細書で使用したように、連結した、連結している、接続したという用語は、特定の文脈に応じて、電気要素、電気信号または機械要素を介して、２つの要素またはデバイスが互いに直接接続されているか、１つ以上の仲介する要素またはデバイスによって互いに接続されていることを指している可能性がある。
【００６２】
本明細書では、画像は、複数の連続する画像フレームを包含することがあり、画像フレームは、映像撮影装置で撮影された映像を一緒に形成するものである。各画像フレームは、画素の行列で表現されてよく、各画素は画素画像値を有する。例えば、画素画像値は、グレースケールでの数値（例えば０〜２５５）であってもよいし、カラー画像の場合は複数の数値であってもよい。画像データの画素画像値を表すのに使用される色空間の例として、ＲＧＢ、ＹＵＶ、ＣＹＫＭ、ＹＣＢＣＲ４：２：２、ＹＣＢＣＲ４：２：０の画像がある。
【００６３】
本明細書での「メタデータ」またはその派生語は、映像内の画像などの画像のコンピュータ実行型の解析で得た情報を指す。例えば、映像の処理は、映像データの画像処理作業、解析、管理、圧縮、符号化、記憶、伝送および／または再生を含み得るが、これに限定されない。映像の解析は、画像フレーム領域のセグメント化、および視覚オブジェクトの検知、画像データで表現された撮影場面内に位置する視覚オブジェクトの追跡および／または分類を含み得る。画像データの処理で、画像データまたは画像内に取り込まれた視覚オブジェクトに関する追加情報を出力させることも可能である。例えば、そのような追加情報は、一般にはメタデータであると理解される。メタデータは、画像データの他の処理、例えば画像フレーム内で検知されたオブジェクトの周りに境界ボックスを描くなどのためにも使用され得る。
【００６４】
当業者には理解されるように、本明細書に記載した様々な例示的な実施形態は、方法、システム、またはコンピュータプログラム製品として具現化され得る。したがって、様々な例示的な実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）またはソフトウェアとハードウェアの側面を兼ね備えている実施形態の形態をとることが可能で、これらすべてを本明細書では総じて「回路」、「モジュール」または「システム」と称することがある。さらに、様々な例示的な実施形態は、媒体に組み込まれたコンピュータ使用可能プログラムコードを有するコンピュータ使用可能記憶媒体上のコンピュータプログラム製品の形態をとることが可能である。
【００６５】
何らかの適切なコンピュータ使用可能媒体またはコンピュータ可読媒体を使用してよい。コンピュータ使用可能媒体またはコンピュータ可読媒体は、例えば、電子、磁気、光学、電磁気、赤外線、または半導体のシステム、装置、デバイス、または伝搬媒体であってよいが、これに限定されない。本明細書の文脈では、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、またはこれらに接続して使用するためのプログラムを含むことができ、記憶でき、通信でき、伝搬でき、または運搬できる任意の媒体であってよい。
【００６６】
様々な例示的な実施形態の動作を実行するためのコンピュータプログラムコードは、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋、Ｐｙｔｈｏｎなどのオブジェクト指向プログラミング言語で書かれてよい。ただし、様々な例示的な実施形態の動作を実行するためのコンピュータプログラムコードは、従来の手続き型プログラミング言語、例えば「Ｃ」プログラミング言語または同様のプログラミング言語などで書かれてもよい。プログラムコードは、完全にコンピュータ上で、一部をコンピュータ上で、独立型のソフトウェアパッケージとして、一部をコンピュータ上でかつ一部を遠隔コンピュータ上で、または完全に遠隔コンピュータ上もしくはサーバ上で実行してよい。最後に記載した状況では、遠隔コンピュータは、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）を通してコンピュータに接続されてよく、あるいはこの接続は、外部コンピュータ（例えば、インターネットサービスプロバイダを利用するインターネットを通して）に対して行われてよい。
【００６７】
様々な例示的な実施形態を、本発明の実施形態による方法、装置（システム）およびコンピュータプログラム製品のフローチャート図および／またはブロック図を参照して以下に説明する。フローチャート図および／またはブロック図の各ブロック、およびフローチャート図および／またはブロック図にあるブロックを組み合わせたものは、コンピュータプログラム命令によって実行され得ることが理解されるであろう。これらのコンピュータプログラム命令は、機械を製造するために、汎用コンピュータ、特殊用途のコンピュータ、またはその他のプログラム可能なデータ処理装置のプロセッサに提供されてよく、それによってコンピュータのプロセッサまたはその他のプログラム可能なデータ処理装置を介して実行する命令は、フローチャートおよび／またはブロック図の１つまたは複数のブロックで指定された機能／動作を実行する手段を作り出す。
【００６８】
これらのコンピュータプログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置に特定の方法で機能するよう指示できるコンピュータ可読メモリに記憶されることも可能で、それによってコンピュータ可読メモリに記憶された命令は、フローチャートおよび／またはブロック図の１つまたは複数のブロックで指定された機能／動作を実行する命令を含む製造の項目を生み出す。
【００６９】
コンピュータプログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置にロードされて一連の動作工程をコンピュータまたはその他のプログラム可能な装置で実施させて、コンピュータ実行型のプロセスを生み出すことも可能であり、それによってコンピュータまたはその他のプログラム可能な装置で実行する命令は、フローチャートおよび／またはブロック図の１つまたは複数のブロックで指定された機能／動作を実行する工程を提供する。
【００７０】
図１を参照すると、図示されているのは、例示的な実施形態による映像取り込み再生システム１００の接続デバイスのブロック図である。例えば、映像取り込み再生システム１００は、映像監視システムとして使用されてよい。映像取り込み再生システム１００は、本明細書に記載したプロセスおよび機能を実施するハードウェアおよびソフトウェアを備えている。
【００７１】
映像取り込み再生システム１００は、複数の画像を取り込み、取り込んだ複数の画像を表現する画像データを生成するよう動作する映像取り込みデバイス１０８を少なくとも１つ備えている。映像取り込みデバイス１０８またはカメラ１０８は、画像取り込みデバイスであり、セキュリティ映像カメラを含む。
【００７２】
各々の映像取り込みデバイス１０８は、複数の画像を取り込むための少なくとも１つの画像センサ１１６を備えている。映像取り込みデバイス１０８は、デジタル映像カメラであってよく、画像センサ１１６は、取り込んだ光をデジタルデータとして出力してよい。例えば、画像センサ１１６は、ＣＭＯＳ、ＮＭＯＳ、またはＣＣＤであってよい。いくつかの実施形態では、映像取り込みデバイス１０８は、符号化器に接続しているアナログカメラであってよい。
【００７３】
少なくとも１つの画像センサ１１６は、１つ以上の周波数範囲で光を取り込むよう動作し得る。例えば、少なくとも１つの画像センサ１１６は、実質的に可視光線の周波数範囲に相当する範囲で光を取り込むよう動作し得る。他の例では、少なくとも１つの画像センサ１１６は、可視光線の範囲外の光、例えば赤外線および／または紫外線の範囲内の光を取り込むよう動作し得る。他の例では、映像取り込みデバイス１０８は、別々の周波数範囲の光を取り込むよう動作する２つ以上のセンサを備えているマルチセンサカメラであってよい。
【００７４】
少なくとも１つの映像取り込みデバイス１０８は、専用のカメラを備えていてよい。本明細書での専用のカメラとは、主な特徴が画像または映像を取り込むことであるカメラを指すことが理解されるであろう。いくつかの例示的な実施形態では、専用のカメラは、取り込んだ画像または映像に関連する機能を実施してよく、例えばカメラまたは別の映像取り込みデバイス１０８によって生成された画像データを処理するなどだが、これに限定されない。例えば、専用のカメラは、監視カメラであってよく、例えばパンチルトズームカメラ、ドームカメラ、天井内カメラ、ボックスカメラ、弾丸カメラのいずれか１つであってよい。
【００７５】
これに加えて、またはこの代わりに、少なくとも１つの映像取り込みデバイス１０８は、埋め込みカメラを備えていてよい。本明細書での埋め込みカメラとは、取り込んだ画像または映像とは無関係の機能を実施するよう動作するデバイス内に埋め込まれているカメラを指すことが理解されるであろう。例えば、埋め込みカメラは、ラップトップ、タブレット、ドローンデバイス、スマートフォン、映像ゲームのコンソールまたはコントローラのいずれか１つに見られるカメラであってよい。
【００７６】
各々の映像取り込みデバイス１０８は、１つ以上のプロセッサ１２４、このプロセッサおよび１つ以上のネットワークインターフェースに接続している１つ以上のメモリデバイス１３２を備えている。メモリデバイスは、プログラム命令の実行過程で用いられるローカルメモリ（例えば、ランダムアクセスメモリおよびキャッシュメモリなど）を備えることができる。プロセッサは、コンピュータプログラム命令（例えば、オペレーティングシステムおよび／またはアプリケーションプログラムなど）を実行し、この命令はメモリデバイスに記憶され得る。
【００７７】
様々な実施形態では、プロセッサ１２４は、デジタルシグナルプロセッサ（ＤＳＰ）、グラフィックスプロセッシングユニット（ＧＰＵ）が埋め込まれたプロセッサなど、およびこの任意の適切な組み合わせを含む１つ以上の回路ユニットを有する任意の適切な処理回路によって実装されてよく、これらのプロセッサは、別々に動作するか平行して動作し、冗長に動作する可能性のあるものを含む。このような処理回路は、１つ以上の集積回路（ＩＣ）によって実装されてよく、モノリシック集積回路（ＭＩＣ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）など、またはこの任意の適切な組み合わせによって実装されることを含む。これに加えて、またはこの代わりに、このような処理回路は、例えばプログラマブルロジックコントローラ（ＰＬＣ）として実装されてよい。プロセッサは、デジタルデータなどのメモリを記憶する回路を備えていてよく、かつメモリ回路を含むか、例えばメモリ回路と有線通信していてよい。
【００７８】
様々な例示的な実施形態では、プロセッサ回路に接続しているメモリデバイス１３２は、データおよびコンピュータプログラム命令を記憶するよう動作する。典型的には、メモリデバイスは、デジタル電子集積回路の全体または一部であるか、あるいは複数のデジタル電子集積回路から形成されている。メモリデバイスは、例えば、リードオンリーメモリ（ＲＯＭ）、プログラマブルリードオンリーメモリ（ＰＲＯＭ）、消去可能なプログラマブルリードオンリーメモリ（ＥＰＲＯＭ）、電気消去可能なプログラマブルリードオンリーメモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、１つ以上のフラッシュドライブ、メモリユニットに接続しているユニバーサルシリアルバス（ＵＳＢ）、磁気記憶装置、光学記憶装置、光磁気記憶装置など、またはこの任意の組み合わせとして実装されてよい。メモリデバイスは、揮発メモリ、不揮発メモリ、動的メモリなどのメモリ、またはこの任意の組み合わせを記憶するよう動作してよい。
【００７９】
様々な例示的な実施形態では、画像取り込みデバイス１０８の複数の構成要素は、システムオンチップ（ＳＯＣ）の中にまとめて実装されてよい。例えば、プロセッサ１２４、メモリデバイス１１６およびネットワークインターフェースは、ＳＯＣの中に実装されてよい。さらに、このように実装した場合、汎用プロセッサとＧＰＵおよびＤＳＰの１つ以上とは、ＳＯＣの中にまとめて実装されてよい。
【００８０】
引き続き図１では、少なくとも１つの映像取り込みデバイス１０８の各々は、ネットワーク１４０に接続されている。各映像取り込みデバイス１０８は、このデバイスが取り込む画像が表現する画像データを出力し、画像データをネットワーク上に伝送するよう動作する。
【００８１】
ネットワーク１４０は、データの送受信を行う任意の適切な通信ネットワークであってよいことが理解されるであろう。例えば、ネットワーク１４０は、ローカルエリアネットワーク、外部ネットワーク（例えば、ＷＡＮ、またはインターネットなど）またはこの組み合わせであってよい。他の例では、ネットワーク１４０は、クラウドネットワークを含んでいてよい。
【００８２】
いくつかの例では、映像取り込み再生システム１００は、処理機器１４８を備えている。処理機器１４８は、映像取り込みデバイス１０８によって出力された画像データを処理するよう動作する。処理機器１４８は、１つ以上のプロセッサおよびプロセッサ（ＣＰＵ）に接続している１つ以上のメモリデバイスも備えている。処理機器１４８は、１つ以上のネットワークインターフェースも備えていてよい。説明の便宜上、１つの処理機器１４８のみを示しているが、映像取り込み再生システム１００は、任意の適切な数の処理装置１４８を備えていてよいことが理解されるであろう。
【００８３】
例えば、図示したように、処理機器１４８は、画像データを処理するためのメモリ１３２またはＣＰＵ１２４を有していないことがある映像取り込みデバイス１０８に接続されている。処理機器１４８は、さらにネットワーク１４０に接続されていてよい。
【００８４】
１つの例示的な実施形態によれば、また図１に示したように、映像取り込み再生システム１００は、少なくとも１つのワークステーション１５６（例えばサーバなど）を備え、その各々は、グラフィックスプロセッシングユニット（ＧＰＵ）を含む１つ以上のプロセッサを有している。少なくとも１つのワークステーション１５６は、記憶メモリも備えていてよい。ワークステーション１５６は、少なくとも１つの映像取り込みデバイス１０８から画像データを受信し、画像データの処理を実施する。ワークステーション１５６は、さらに、画像取り込みデバイス１０８を１つ以上管理かつ／または制御するコマンドを送信してよい。ワークステーション１５６は、映像取り込みデバイス１０８から未処理の画像データを受信してよい。この代わりに、またはこれに加えてワークステーション１５６は、映像取り込みデバイス１０８および／または処理機器１４８での処理などの何らかの中間処理をすでに受けた画像データを受信してよい。ワークステーション１５６は、画像データからメタデータを受信して画像データのさらに別の処理を実施してもよい。
【００８５】
図１には単一のワークステーション１５６が示されているが、ワークステーションは複数のワークステーションの集合として実装されてよいことが理解されるであろう。
【００８６】
映像取り込み再生システム１００は、ネットワーク１４０に接続している少なくとも１つのクライアントデバイス１６４をさらに備えている。クライアントデバイス１６４は、１人以上のユーザに使用されて映像取り込み再生システム１００と相互作用する。したがって、クライアントデバイス１６４は、少なくとも１つの表示デバイスおよび少なくとも１つのユーザ入力デバイス（例えば、マウス、キーボード、またはタッチ画面など）を備えている。クライアントデバイス１６４はその表示デバイスに、情報を表示し、ユーザの入力内容を受信し、映像を再生するユーザインターフェースを表示するよう動作する。例えば、クライアントデバイスは、パーソナルコンピュータ、ラップトップ、タブレット、携帯情報端末（ＰＤＡ）、携帯電話、スマートフォン、ゲーム機器、およびその他の移動型デバイスのいずれか１つであってよい。
【００８７】
クライアントデバイス１６４は、ネットワーク１４０上で画像データを受信するよう動作し、さらに、受信した画像データを再生するよう動作する。クライアントデバイス１６４は、画像データを処理する機能も有していてよい。例えば、クライアントデバイス１６４の処理機能を、受信した画像データを再生する能力に関連する処理に限定することが可能である。他の例では、画像処理機能は、ワークステーションと１つ以上のクライアントデバイス１６４との間で共有されてよい。
【００８８】
いくつかの例では、画像取り込み再生システム１００は、ワークステーション１５６なしで実装されてよい。したがって、画像処理機能は、全面的に１つ以上の映像取り込みデバイス１０８で実施されてよい。その代わりに、画像処理機能は、映像取り込みデバイス１０８、処理機器１４８およびクライアントデバイス１６４のうちの２つ以上で共有されてよい。
【００８９】
次に図２Ａを参照すると、図示されているのは、１つの例示的な実施形態による映像取り込み再生システム１００の動作モジュールのセット２００のブロック図である。動作モジュールは、図１に示したような映像取り込み再生システム１００のデバイスの１つ以上にあるハードウェア、ソフトウェアまたはこの両方に実装されてよい。
【００９０】
動作モジュールのセット２００は、少なくとも１つの映像取り込みモジュール２０８を含む。例えば、各映像取り込みデバイス１０８は、映像取り込みモジュール２０８を実装してよい。映像取り込みモジュール２０８は、映像取り込みデバイス１０８の１つ以上の構成要素（例えば、センサ１１６など）を制御して画像を取り込むよう動作する。
【００９１】
動作モジュールのセット２００は、画像データ処理モジュールのサブセット２１６を含む。例えば、図示したように、画像データ処理モジュールのサブセット２１６は、映像解析モジュール２２４および映像管理モジュール２３２を含む。
【００９２】
映像解析モジュール２２４は、画像データを受信し、画像データを解析して、取り込んだ画像または映像の特性もしくは特徴、および／または画像または映像で表現された場面に見られるオブジェクトの特性もしくは特徴を決定する。決定内容に基づいて、映像解析モジュール２２４はさらに、その決定に関する情報を提供するメタデータを出力してよい。映像解析モジュール２２４が行う決定の例として、前景／背景のセグメント化、オブジェクト検知、オブジェクト追跡、オブジェクト分類、仮想トリップワイヤ、異常な検知、顔検知、顔認識、ナンバープレート認識、「背後にある」または「削除された」オブジェクトの識別、およびビジネスインテリジェンスのうちの１つ以上を挙げ得る。ただし、先行技術で公知の他の映像解析機能も映像解析モジュール２２４によって実装されてよいことが理解されるであろう。
【００９３】
映像管理モジュール２３２は、画像データを受信し、映像の伝送、再生および／または記憶に関連する画像データに対して処理機能を実施する。例えば、映像管理モジュール２３２は、帯域幅要件および／または容量に従って画像データの伝送が可能になるように画像データを処理できる。映像管理モジュール２３２は、クライアントデバイス１６４のディスプレイの処理能力および／または解像度など、映像を再生するクライアントデバイス１６４の再生能力に応じて画像データを処理することもある。映像管理モジュール２３２は、画像データを記憶するために映像取り込み再生システム１００内の記憶容量に応じて画像データを処理することもある。
【００９４】
いくつかの例示的な実施形態によれば、映像処理モジュールのサブセット２１６は、映像解析モジュール２２４および映像管理モジュール２３２のいずれか一方のみを含むことがあることが理解されるであろう。
【００９５】
動作モジュールのセット２００は、記憶モジュールのサブセット２４０をさらに含む。例えば、図示したように、記憶モジュールのサブセット２４０は、映像記憶モジュール２４８およびメタデータ記憶モジュール２５６を含む。映像記憶モジュール２４８は、画像データを記憶し、この画像データは、映像管理モジュールによって処理される画像データであってよい。メタデータ記憶モジュール２５６は、映像解析モジュール２２４から出力された情報データを記憶する。
【００９６】
映像記憶モジュール２４８およびメタデータ記憶モジュール２５６は、別々のモジュールとして示されているが、両者は同じハードウェア記憶デバイス内に実装されてよく、それによって記憶されたメタデータから記憶された映像を分離するための論理規則が実装されることが理解されるであろう。他の例示的な実施形態では、映像記憶モジュール２４８および／またはメタデータ記憶モジュール２５６は、分散記憶方式を実施してよい複数のハードウェア記憶デバイス内に実装されてよい。
【００９７】
動作モジュールのセットは、少なくとも１つの映像再生モジュール２６４をさらに含み、この映像再生モジュールは、画像データを受信し、画像データを映像として再生するよう動作する。例えば、映像再生モジュール２６４は、クライアントデバイス１６４に実装されてよい。
【００９８】
セット２００の動作モジュールは、画像取り込みデバイス１０８、処理機器１４８、ワークステーション１５６およびクライアントデバイス１６４のうちの１つ以上に実装されてよい。いくつかの例示的な実施形態では、動作モジュールが単一のデバイスに全面的に実装されてよい。例えば、映像解析モジュール２２４は、ワークステーション１５６に全面的に実装されてよい。同じように、映像管理モジュール２３２は、ワークステーション１５６に全面的に実装されてよい。
【００９９】
他の例示的な実施形態では、セット２００の動作モジュールのいくつかの機能は、一部が第１のデバイスに実装されてよく、動作モジュールの残りの機能が第２のデバイスに実装されてよい。例えば、映像解析機能は、画像取り込みデバイス１０８、処理機器１４８およびワークステーション１５６のうちの１つ以上で分担されてよい。同じように、映像管理機能は、画像取り込みデバイス１０８、処理機器１４８およびワークステーション１５６のうちの１つ以上で分担されてよい。
【０１００】
次に図２Ｂを参照すると、図示されているのは、１つの特定の例示的な実施形態による映像取り込み再生システム１００の動作モジュールのセット２００のブロック図であり、この実施形態では、映像解析モジュール２２４、映像管理モジュール２３２および記憶デバイス２４０は、１つ以上の画像取り込みデバイス１０８に全面的に実装される。あるいは、映像解析モジュール２２４、映像管理モジュール２３２および記憶デバイス２４０は、処理機器１４８に全面的に実装される。
【０１０１】
画像データ（映像）処理モジュールのサブセット２１６を映像取り込み再生システム１００の単一のデバイスまたは様々なデバイスに実装できるようにすることで、システム１００の柔軟な構築が可能になることが理解されるであろう。
【０１０２】
例えば、何らかの機能を有している特定のデバイスをそのような機能のない別のデバイスと一緒に使用することを選択してよい。これは、別々の当事者（例えば製造業者）からのデバイスを統合したり、既存の映像取り込み再生システムを取り付けたりする場合に有用となり得る。
【０１０３】
次に図３を参照すると、図示されているのは、映像取り込みデバイス１０８で取り込んだ映像の１つ以上の画像フレームに対して映像解析を実施する方法３５０の例示的な実施形態の流れ図である。映像解析は、映像解析モジュール２２４によって実施されて、取り込んだ画像または映像の特性または特徴、および／または映像内に取り込まれている場面に見られる視覚オブジェクトの特性または特徴を決定する。
【０１０４】
３００では、映像の少なくとも１つの画像フレームを前景領域と背景領域とにセグメント化する。このセグメント化で、取り込まれた場面内の動いているオブジェクト（または事前に動いているオブジェクト）に対応する画像フレームの領域をその場面の静止領域から分離する。
【０１０５】
３０２では、画像フレームで表現された場面内の１つ以上の前景視覚オブジェクトを３００のセグメント化に基づいて検知する。例えば、何らかのばらばらに隣接している前景領域または「ブロブ（ｂｌｏｂ）」は、場面内の前景視覚オブジェクトとして識別されてよい。例えば、ある特定のサイズ（例えば画素数など）よりも大きい隣接する前景領域のみが場面内の前景視覚オブジェクトとして識別される。
【０１０６】
検知された１つ以上の前景領域に関してさらにメタデータが生成されてよい。メタデータは、画像フレーム内で前景視覚オブジェクト、またはオブジェクトの位置、基準座標を規定してよい。例えば、位置メタデータをさらに使用して、検知した前景視覚オブジェクトの輪郭を示す境界ボックス（例えば映像を符号化するとき、または映像を再生するときなど）を生成してよい。境界ボックス内の画像は、抜き出され、トリミング境界ボックス（「チップ」とも呼ぶ）と呼ばれてメタデータに含められ、このメタデータは、関連する映像と共に、ネットワーク１４０上のワークステーション１５６などの他のデバイスでさらに処理されてよい。要するに、トリミング境界ボックス、またはチップは、検知した前景視覚オブジェクトが入っている映像の画像フレームを切り取った一部である。抜き出された画像は、トリミング境界ボックスであり、境界ボックス内にあるものより小さくても境界ボックス内のものより大きくてもどちらでもよい。抜き出される画像のサイズは、例えば検知されたオブジェクトの実際の境界に近いものであるべきだが、それを超えてはならない。境界ボックスは通常は矩形だが、オブジェクトの輪郭とほぼ同じである不規則な形状であってもよい。境界ボックスは、例えばヒトオブジェクトの境界（輪郭）にほぼ沿ったものでもよい
【０１０７】
さらに別の実施形態では、抜き出した画像のサイズは、検知したオブジェクトの実際の境界よりも大きく、本明細書では、パディング済トリミング境界ボックスと称する（「パディング済チップ」とも呼ぶ）。パディング済トリミング境界ボックスは、例えば、検知した前景視覚オブジェクトに近い、またはこれと重なるオブジェクトの全体または一部を含むように、境界ボックスの２倍の領域であってよい。さらに明確にすると、パディング済トリミング境界ボックスは、境界ボックス内のオブジェクトの画像のトリミング境界ボックスよりも大きい画像を有する（本明細書ではパディングしていないトリミング境界ボックスと称する）。明確にすると、本明細書で用いるトリミング境界ボックスには、パディング済トリミング境界ボックスと、パディングしていないトリミング境界ボックスとがある。パディング済トリミング境界ボックスの画像サイズは、やや大きいもの（例えば１０％大きい）からかなり大きいもの（例えば１０００％大きい）までサイズが変化してよいことが理解されるであろう。
【０１０８】
本明細書の実施形態では、パディング済トリミング境界ボックスは、パディングしていないトリミング境界ボックスを拡大して余分な画素を含んでいるが元のパディングしていないトリミング境界ボックスの基準座標を依然として維持しているものとして記載されているが、この拡大または余分な画素は、垂直軸の代わりに水平軸でさらに追加されてよい。さらに、余分な画素の拡大は、オブジェクトに関する軸周りに対称であっても非対称であってもよい。パディングしていないトリミング境界ボックスのオブジェクトは、パディング済トリミング境界ボックスの中心にもパディングしていないトリミング境界ボックスの中心にもあってよいが、いくつかの実施形態ではこのようなオブジェクトが中心からずれていてよい。
【０１０９】
いくつかの実施形態では、パディング済トリミング境界ボックスおよびパディングしていないトリミング境界ボックスを包含するトリミング境界ボックスは、映像の画像フレームから実際に抜き出した画像の代わりに、映像の画像フレームの基準座標であってよい。トリミング境界ボックスの画像は、その場合、必要なときに画像フレームから抜き出されてよい。カメラ１０８が見た画像、パディング済トリミング境界ボックス、およびパディング済トリミング境界ボックスから生じたトリミング境界ボックスの例は、映像解析モジュール２２４に送信され、映像解析モジュールは、例えばトリミング境界ボックスをサーバ上で処理してよい。
【０１１０】
検知した１つ以上の前景視覚オブジェクトの１つ１つを視覚により識別するために、画像フレームに視覚インジケータを追加してよい。視覚インジケータは、画像フレーム内にある１つ以上の前景視覚オブジェクトの１つ１つを取り囲む境界ボックスであってよい
【０１１１】
いくつかの例示的な実施形態では、映像解析は、３０２で検知した前景視覚オブジェクト（またはオブジェクト）を分類することを３０４でさらに含んでいてよい。例えば、前景視覚オブジェクトを分類するためにパターン認識が行われてよい。前景視覚オブジェクトは、人物、車または動物などのクラスに分類されてよい。これに加えて、またはこの代わりに、視覚オブジェクトは、視覚オブジェクトの動きおよび動く方向などの行為によって分類されてよい。色、サイズ、向きなど、他の分類要素が決定されてもよい。さらに具体的な例では、視覚オブジェクトの分類は、顔検知に基づく人物識別およびナンバープレートなどの文字認識を含んでいてよい。視覚による分類は、共同所有の米国特許第８，９３４，７０９号に記載されているシステムおよび方法に従って実施されてよく、同文献を参照してその全容を本願に援用する。
【０１１２】
映像解析は、３０６で、イベントが起きたがどうか、およびそのイベントの種類を検知することをさらに含んでいてよい。イベントの検知は、１つ以上の前景視覚オブジェクトの分類を１つ以上の所定規則と比較することに基づいていてよい。イベントは、異常な検知またはビジネスインテリジェンスにあってよく、例えば映像のトリップワイヤが起動されたかどうか、１つの領域にいる人物の数、場面内のオブジェクトが「背後にある」かどうか、または場面内のオブジェクトが削除されたかどうかなどである。
【０１１３】
３０６での映像解析の一例が、ヒトのみを検知する設定であってよく、それを検知すると、ヒトオブジェクトのトリミング境界ボックスを抜き出し、トリミング境界ボックスの１つ１つの基準座標と共にメタデータに含め、このメタデータは、関連する映像と共に、ネットワーク１４０上のワークステーション１５６などの他のデバイスでさらに処理されてよい３１０。
【０１１４】
次に図４を参照すると、図示されているのは、映像取り込みデバイス１０８（カメラ１０８）で取り込んだ映像の１つ以上の画像フレームにある関心オブジェクトの位置を特定するために外観照合を実施する方法４００の例示的な実施形態の流れ図である。映像は、ある時間にわたってカメラ１０８によって取り込まれる。時間は、数時間、数日、または数ヶ月にわたることがあり、複数の映像ファイルまたはセグメントに及ぶことがある。本明細書で使用している「映像」の意味は、時間を示唆するものを含み、２つ以上のカメラがある場合にどのカメラ１０８かを識別する関連メタデータを含む映像ファイルおよび映像セグメントを包含している。映像の処理は、複数の段階に分けられ、関心のあるオブジェクト（または人物）を後で検索するための資源利用および索引付けを最適化するよう分散される。検索中にそのような関心のある人物が見つかった映像は、その場合、ユーザに見直されてよい。
【０１１５】
場面４０２の映像は、カメラ１０８に取り込まれる。場面４０２は、カメラ１０８の視野の中にある。映像は、カメラ１０８内の映像解析モジュール２２４によって処理されてトリミング境界ボックス４０４を含むメタデータを生成する。映像解析モジュール２２４は、オブジェクトの検知および分類を実施し、場面４０２内のオブジェクトを最もよく表現している映像から画像（トリミング境界ボックス）も生成する。この例では、人またはヒトとして分類されたオブジェクトの画像は、映像から抜き出され、さらに識別処理するためにトリミング境界ボックス４０４としてメタデータに含まれる。トリミング境界ボックス４０４を含むメタデータおよび映像は、ネットワーク１４０上でサーバ４０６に送られる。サーバ４０６は、ワークステーション１５６またはクライアントデバイス１６４であってよい。
【０１１６】
サーバ４０６には、トリミング境界ボックス１０８および生成された特徴ベクトル（または「シグネチャ」または「バイナリ表現」）４１０をさらに処理して４０８場面４０２内のオブジェクトを表現するための遙かに多くの資源がある。処理４０８は、例えば先行技術では特徴記述子として知られている。
【０１１７】
コンピュータのビジョンでは、画像を撮って画像変換を介して特徴記述または特徴ベクトルを出力するアルゴリズムとしての特徴記述子が一般に知られている。特徴記述子は、情報すなわち画像を一連の数字に符号化して、特徴を互いに区別するために使用できる数字の「指紋」として機能する。この情報は、同じオブジェクト内の別の画像内で特徴を再度見つけられるように、画像変換を受けても不変であることが理想である。特徴記述子のアルゴリズムの例として、ＳＩＦＴ（Ｓｃａｌｅ−ｉｎｖａｒｉａｎｔ  ｆｅａｔｕｒｅ  ｔｒａｎｓｆｏｒｍ、スケール不変特徴変換）、ＨＯＧ（ｈｉｓｔｏｇｒａｍ  ｏｆ  ｏｒｉｅｎｔｅｄ  ｇｒａｄｉｅｎｔｓ、配向勾配のヒストグラム）、およびＳＵＲＦ（Ｓｐｅｅｄｅｄ  Ｕｐ  Ｒｏｂｕｓｔ  Ｆｅａｔｕｒｅｓ、高速化ロバスト特徴）がある。
【０１１８】
特徴ベクトルとは、コンピュータで処理できるオブジェクトの画像を表現する数値的特徴（数字）のｎ次元ベクトルである。１つのオブジェクトの１つの画像の特徴ベクトルを別の画像の特徴ベクトルと比較することによって、コンピュータで実行可能な処理で、その１つの画像と別の画像とが同じオブジェクトの画像であるかどうかを判断し得る。画像シグネチャ（または特徴ベクトル、または埋め込み、または表現など）は、（例えば畳み込みの）ニューラルネットワークで計算された多次元ベクトルである。
【０１１９】
カメラ１０８によって取り込まれた２つの画像の２つの特徴ベクトルの間のユークリッド距離を計算することによって、コンピュータで実行可能な処理が、２つの画像がどれだけ類似している可能性があるかを示す類似度スコアを決定できる。ニューラルネットワークは、ニューラルネットワークが画像用に算出する特徴ベクトルが、類似画像に対しては近く（ユークリッド距離が短い）、非類似画像に対しては遠く（ユークリッド距離が長い）なるように訓練される。関連画像を引き出すために、クエリ画像の特徴ベクトルは、データベース４１４内の画像の特徴ベクトルと比較される。検索結果は、クエリ画像までのその距離（０から１の間の値）の昇順で示されてよい。類似度スコアは、例えば０から１の間の値から変換されたパーセンテージであってよい。
【０１２０】
この例示的な実施形態では、処理４０８は、学習機械を用いてトリミング境界ボックス４０４を処理し、映像に取り込まれたオブジェクトの画像の特徴ベクトルまたはシグネチャを生成する。学習機械は、例えばグラフィックスプロセッシングユニット（ＧＰＵ）上で動作する畳み込みニューラルネットワーク（ＣＮＮ）などのニューラルネットワークである。ＣＮＮは、類似画像と非類似画像との対が無数に入っている訓練データセットを用いて訓練されてよい。ＣＮＮは、例えば、ニューラルネットワークを訓練するために対照的な損失関数を用いて訓練されたシャムネットワークのアーキテクチャである。シャムネットワークの一例が、Ｂｒｏｍｌｅｙ，Ｊａｎｅ，ｅｔ  ａｌ．「Ｓｉｇｎａｔｕｒｅ  ｖｅｒｉｆｉｃａｔｉｏｎ  ｕｓｉｎｇ  ａ  「Ｓｉａｍｅｓｅ」  ｔｉｍｅ  ｄｅｌａｙ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ  ａｎｄ  Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  ７．０４（１９９３）：６６９−６８８に記載されており、この内容を参照してその全容を本願に援用する。
【０１２１】
処理４０８は、訓練モデルを、外観検索システムが使用される前にすべての訓練が行われるバッチ学習として知られているものを活用する。訓練モデルは、この実施形態では、１つの可能なパラメータ群を含む畳み込みニューラルネットワーク学習モデルである。所与の学習モデルに対して可能なパラメータ群は無限にある。目的関数（ＡＫＡ損失関数）を最小にするパラメータ群を見つけるために最適化法（確率的勾配降下法など）、および数の勾配計算法（バックプロパゲーションなど）を用いてよい。対照的な損失関数は目的関数として使用される。この関数は、現在の訓練モデルの精度が低い場合に高い値を取り（類似の対に長い距離を割り当て、または非類似の対に短い距離を割り当てる）、現在の訓練済みモデルの精度が高い場合に低い値を取る（類似の対に短い距離を割り当て、非類似の対に長い距離を割り当てる）ように定義される。訓練処理は、このように最小の問題に軽減される。精度が最も高いモデルを見つける処理は訓練処理であり、パラメータ群を含む仕上がりモデルは訓練済みモデルであり、パラメータ群は、外観検索システムに展開されたあとは変更されない。
【０１２２】
処理部４０８に対する代替の実施形態は、オンライン機械学習アルゴリズムとして知られているものを用いて学習機械を活用することである。学習機械は、処理部４０８で最初のパラメータ群を用いて活用されるが、外観検索システムは、何らかの真実の源（例えば、関心オブジェクトの画像を選択した際のユーザフィードバック）に基づいてモデルのパラメータを更新し続ける。このような学習機械は、他の種類のニューラルネットワークも畳み込みニューラルネットワークも含んでいてよい。
【０１２３】
ヒトオブジェクトのトリミング境界ボックス４０４は、処理部４０８によって処理されて特徴ベクトル４１０を生成する。特徴ベクトル４１０は、索引付けされ４１２、映像と共にデータベース４１４に記憶される。特徴ベクトル４１０は、ヒトオブジェクトのトリミング境界ボックス４０４が映像内のどこに位置し得るかについての基準座標にも関連付けられる。データベース４１４の記憶は、タイムスタンプおよびカメラの識別情報のほか、トリミング境界ボックス４０４の特徴ベクトル４１０と、トリミング境界ボックス４０４が映像内のどこに位置し得るかについての基準座標とを含む関連メタデータも一緒に映像を記憶することを含む。
【０１２４】
映像内の特定の人物の位置を特定するため、関心人物の特徴ベクトルが生成される。関心人物の特徴ベクトルに類似特徴ベクトル４１６がデータベース４１４から抜き出される。抜き出された特徴ベクトル４１６は、閾値の類似度スコアと比較され４１８、その閾値を超えているものは、ユーザに提示するためにクライアント４２０に提供される。クライアント４２０は、抜き出された特徴ベクトル４１６に関連する映像をユーザが見られるように映像再生モジュール２６４も有する。
【０１２５】
さらに詳細には、訓練済みモデルは、計算された特徴ベクトルと比較するために使用される所定の距離関数を用いて訓練されている。訓練済みモデルが外観検索システムで活用されるときは同じ距離関数を使用する。距離関数は、特徴ベクトルが単位ノルムを有するように正規化されている特徴ベクトルどうしの間のユークリッド距離であるため、特徴ベクトルはすべて単位ノルムの超球上にある。データベースにある検知されたオブジェクトの特徴ベクトルを計算して記憶した後、正確な最近傍検索を用いて類似オブジェクトの検索が行われ、照会された特徴ベクトル（関心オブジェクトの特徴ベクトル）から対象となる時間フレームにある他の全ベクトルまでの距離を徹底的に評価する。検索結果は、照会された特徴ベクトルまでの距離の降順でランク付けされて返される。
【０１２６】
別の実施形態では、近似最近傍検索を使用してよい。近似最近傍検索は、最近傍検索「そのもの」に似ているが、すべての結果を見ずに最も類似性が高い結果を引き出す。こちらの方が速いが、誤検知を招くおそれがある。近似最近傍の一例では、特徴ベクトルのハッシングの索引付けを用いることがある。検索時間フレームが長いときなど、特徴ベクトルの数が多い場合に近似最近傍検索の方が速いことがある。
【０１２７】
さらに正確に言うと、「関心オブジェクト」は「関心人物」を包含し、「関心人物」は「関心オブジェクト」を包含することが理解されるであろう。
【０１２８】
次に図５を参照すると、図示されているのは、図４の例示的な実施形態の流れ図であり、クライアント４２０で外観照合を実施して関心オブジェクトの録画映像の場所を特定する外観検索５００の詳細を示している。関心オブジェクトに対する外観検索を開始するには、類似の特徴ベクトルに対してデータベース４１４を検索するために関心オブジェクトの特徴ベクトルが必要である。外観検索５００には、外観検索を開始する２つの例示的な方法が示されている。
【０１２９】
外観検索５００を開始する第１の方法では、関心オブジェクトの画像をクライアント４２０で受信し５０２、クライアントではそれを処理部４０８に送信して関心オブジェクトの特徴ベクトルを生成する５０４。第２の方法では、ユーザは、関心オブジェクトの画像に対するデータベース４１４を検索し５１４、データベース４１４に記憶するために映像が処理されていたときに事前に生成されていた関心オブジェクトの特徴ベクトルを引き出す５１６。
【０１３０】
次に、第１の方法または第２の方法のいずれかから、関心オブジェクトの特徴ベクトルと比較して、閾値を超えていて例えば７０％となることがある類似度スコアを有する候補特徴ベクトルに対してデータベース４１４の検索５０６を行う。候補特徴ベクトルの画像を受信し５０８、その後クライアント４２０でユーザに提示して、関心オブジェクトのものであるか、関心オブジェクトのものである可能性がある候補特徴ベクトルの画像を選択する５１０。クライアント４２０は、リスト内の選択された画像を追跡する。ユーザが選択した画像を含むリストは、関心オブジェクトのものである。任意選択として、ユーザは選択５１０のところで、ユーザがリストから選択して後に不適当と思われた画像を削除してもよい。
【０１３１】
関心オブジェクトの新たな１つの画像（または複数の画像）を選択５１０で選択するたびに、新たな画像の特徴ベクトルがデータベース４１４で検索され５０６、関心オブジェクトの新たな候補画像がクライアント４２０でユーザに提示されて、関心オブジェクトのものであるか、関心オブジェクトのものである可能性がある新たな画像を再度選択する５１０。この外観検索の検索ループ５００は、関心オブジェクトの十分な画像を特定したとユーザが判断して検索５１２を終了するまで続いてよい。次にユーザは、例えば、リストにある画像に関連する映像を見るかダウンロードしてよい。
【０１３２】
次に図６を参照すると、図示されているのは、図４の例示的な実施形態の流れ図であり、クライアント４２０で外観照合を実施して選択した時間の前または後のいずれかで関心オブジェクトの録画映像の場所を特定する時間指定外観検索６００の詳細を示している。この種の検索は、例えば、現時刻に近い画像を特定することによって紛失した鞄の場所を突き止め、時間を遡って追跡して誰が鞄を置き忘れた可能性があるかを突き止めるのに有用である。
【０１３３】
関心オブジェクトの外観検索を開始するには、類似の特徴ベクトルに対してデータベース４１４を検索するために関心オブジェクトの特徴ベクトルが必要である。時間指定外観検索６００には、外観検索５００のように、時間指定外観検索を開始する２つの例示的な方法が示されている。外観検索６００を開始する第１の方法では、関心オブジェクトの画像をクライアント４２０で受信し６０２、クライアントではそれを処理部４０８に送信して関心オブジェクトの特徴ベクトルを生成する６０４。第２の方法では、ユーザは、関心オブジェクトの画像に対するデータベース４１４を検索し６１４、データベース４１４に記憶する前に映像が処理されたときに事前に生成されていた関心オブジェクトの特徴ベクトルを引き出す６１６。
【０１３４】
第１の方法または第２の方法のいずれかから、時間指定外観検索６００は、時間を前向きまたは後ろ向きのいずれかで検索するよう設定される６１８。第１の方法では、ユーザが手動で検索時間を設定してよい。第２の方法では、検索開始時刻は、画像がカメラ１０８によって取り込まれた時刻に設定される。この例では、時間指定外観検索６００は、例えば現時刻により近いところで迷子を突き止めるために時間を前向きに検索するよう設定される。別の例では、時間指定外観検索６００は、ユーザが例えば誰が鞄（関心オブジェクト）を置き忘れたかを明らかにしたいと思った場合に時間を後ろ向きに検索するよう設定されてよい。
【０１３５】
次に、関心オブジェクトの特徴ベクトルと比較して、閾値を超えていて例えば８０％となることがある類似度スコアを有する候補特徴ベクトルに対して、検索時刻から時間を前向きにデータベース４１４の検索６０６を行う。候補特徴ベクトルの画像を受信し６０８、その後クライアント４２０でユーザに提示して、関心オブジェクトのものであるか、関心オブジェクトのものである可能性がある候補特徴ベクトルの画像から１つの画像を選択する６１０。クライアント４２０は、リスト内の選択された画像を追跡する。リストは、ユーザが選択した画像を関心オブジェクトのものとして含む。任意選択として、ユーザは選択６１０のところで、ユーザがリストから選択して後に不適当と思われた画像を削除してもよい。
【０１３６】
関心オブジェクトの新たな画像を選択６１０で選択するたびに、新たな画像の特徴ベクトルが検索時刻から時間を前向きにデータベース４１４で検索される６０６。検索時刻は、新たな画像がカメラ１０８によって取り込まれた時刻である。関心オブジェクトの新たな候補画像は、クライアント４２０でユーザに提示されて、関心オブジェクトのものであるか、関心オブジェクトのものである可能性がある別の新たな画像を再度選択する６１０。この時間指定外観検索の検索ループ６００は、関心オブジェクトの十分な画像を特定したとユーザが判断して検索６１２を終了するまで続いてよい。次にユーザは、例えば、リストにある画像に関連する映像を見るかダウンロードしてよい。この例は時間を前向きに検査するものだが、時間を後ろ向きに検索するのは、データベース４１４の検索が検索時刻から遡る的中事項、または検索時刻よりも前に起きた的中事項を対象に選別されるという点を除いては結果的にほぼ同じである。
【０１３７】
次に図７を参照すると、図示されているのは、カメラ１０８によってサーバ４０６に送信されたときのトリミング境界ボックス４０４を含むオブジェクトプロファイル７０２のメタデータの一例と、画像７０６（トリミング境界ボックス４０４）に代わって、データベース４１４に記憶するためにトリミング境界ボックス４０４の特徴ベクトル７０８を含むオブジェクトプロファイル７０４の一例とのブロック図である。画像７０６のファイルサイズは特徴ベクトル７０８のファイルサイズよりも大きいため、画像７０６の代わりに特徴ベクトル７０８を含むオブジェクトプロファイル７０４を記憶することによって記憶スペースをいくらか節約できる。その結果、データ記憶領域を大幅に節約できる。なぜならトリミング境界ボックスはかなり大きく多数であることが多いからである。
【０１３８】
オブジェクトプロファイル７０２およびオブジェクトプロファイル７０４のデータ７１０は、例えば、タイムスタンプ、フレーム番号、場面の幅および高さを基準とする画素単位の解像度、画素単位での幅および高さを基準とするこのフレームのセグメンテーションマスク、ならびにバイト単位の行幅を基準とするストライド、分類（人物、車両、その他）、分類のパーセント単位の信頼度、正規化したセンサ座標での幅および高さを基準とするボックス（縁取ったオブジェクトを囲んでいる境界ボックス）、画素単位での画像の幅および高さと画像のストライド（バイト単位の行幅）、画像のセグメンテーションマスク、向き、ならびに画像ボックスのｘｙ座標などの内容を含む。特徴ベクトル７０８は、例えば４８次元、すなわち４８の浮動小数点数の画像７０６のバイナリ表現（０と１で構成されている場面でのバイナリ）である。次元数は、特徴ベクトルを生成するのに使用される学習機械に応じてこれよりも大きくても小さくてもよい。次元が高いほど一般には精度が高いが、必要とされる計算資源も極めて高くなることがある。
【０１３９】
トリミング境界ボックス４０４または画像７０６は、基準座標を用いて録画映像から再度抜き出せるため、トリミング境界ボックス４０４を映像に追加して保存する必要はない。基準座標は、例えば、タイムスタンプ、フレーム番号、およびボックスを含んでいてよい。例として、基準座標は、単に関連する映像ファイルを含むタイムスタンプであり、タイムスタンプが元の画像フレームに遡るのに十分な精度を有している場合と、タイムスタンプが元の画像フレームに遡るのに十分な精度を有していない場合とでは、元の画像フレームに近い画像フレームで十分よいことがある。なぜなら映像内で時間的に近い画像フレームは一般によく似ているからである。
【０１４０】
この例示的な実施形態では、特徴ベクトルを画像に代えたオブジェクトプロファイル７０４を有するが、他の実施形態では従来の方法を用いて圧縮した画像を有していてよい。
【０１４１】
次に図８を参照すると、図示されているのは、図４の例示的な実施形態の場面４０２およびトリミング境界ボックス４０４である。場面４０２には、検知された３人が示されている。彼らの画像８０２、８０６、８０８は、カメラ１０８で抜き出され、トリミング境界ボックス４０４としてサーバ４０６に送信される。画像８０２、８０６、８０８は、ある時間にわたって映像にある３人の代表画像である。映像内の３人は動いていて、それに伴い取り込まれた彼らの画像は、ある一定時間にわたって違ったものになる。画像を管理可能な数になるよう選別するため、代表的な１つの画像（または複数の画像）をトリミング境界ボックス４０４として選択してさらに処理する。
【０１４２】
次に図９を参照すると、図示されているのは、１つの例示的な実施形態による映像解析モジュール２２４の動作サブモジュール一式のブロック図である。映像解析モジュール２２４は、様々なタスクを実行するいくつかのモジュールを含む。例えば、映像解析モジュール２２４は、映像取り込みデバイス１０８の視野に現れているオブジェクトを検知するオブジェクト検知モジュール９０４を含む。オブジェクト検知モジュール９０４は、例えば動き検知およびブロブ検知など、任意の公知のオブジェクト検知方法を用いてよい。オブジェクト検知モジュール９０４は、「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｄｅｔｅｃｔｉｎｇ  Ｏｂｊｅｃｔｓ  ｏｆ  Ｉｎｔｅｒｅｓｔ  ｉｎ  Ｓｐａｔｉｏ−Ｔｅｍｐｏｒａｌ  Ｓｉｇｎａｌｓ」と題する米国特許第７，６２７，１７１号に記載のシステムを含んで同文献に記載の検知方法を用いてよく、同文献の全容を参照して本願に援用する。
【０１４３】
映像解析モジュール２２４は、オブジェクト検知モジュール９０４に接続または連結しているオブジェクト追跡モジュール９０８も含む。オブジェクト追跡モジュール９０８は、オブジェクト検知モジュール９０８によって検知されたオブジェクトのインスタンスを時間に関連づけるよう動作する。オブジェクト追跡モジュール９０８は、「Ｏｂｊｅｃｔ  Ｍａｔｃｈｉｎｇ  ｆｏｒ  Ｔｒａｃｋｉｎｇ，Ｉｎｄｅｘｉｎｇ，ａｎｄ  Ｓｅａｒｃｈ」と題する米国特許第８，２２４，０２９号に記載のシステムを含んで同文献に記載の検知方法を用いてよく、同文献の全容を参照して本願に援用する。オブジェクト追跡モジュール９０８は、同モジュールが追跡する視覚オブジェクトに対応するメタデータを生成する。メタデータは、オブジェクトの外観またはその他の特徴を表現する視覚オブジェクトのシグネチャに対応していてよい。メタデータは、処理するためにサーバ４０６に伝送される。
【０１４４】
映像解析モジュール２２４は、オブジェクト検知モジュール９０４で検知したオブジェクトを分類してオブジェクト追跡モジュール９０８に接続するオブジェクト分類モジュール９１６も含む。オブジェクト分類モジュール９１６は、瞬間的オブジェクト分類モジュール９１８および一時的オブジェクト分類モジュール９１２を内部に含んでいてよい。瞬間的オブジェクト分類モジュール９１８は、オブジェクトの単一のインスタンスに基づいて視覚オブジェクトの種類（例えば、ヒト、車両、または動物など）を判定する。瞬間的オブジェクト分類モジュール９１６への入力は、画像フレーム全体ではなく視覚関心オブジェクトが位置している画像の下位領域（例えば境界ボックス内）であることが好ましい。画像フレームの下位領域を分類モジュール９１６に入力する利点は、分類のために場面全体を解析する必要がないために必要な処理力が少ないことである。映像解析モジュール２２４は、例えばヒト以外のあらゆるオブジェクトの種類を選別してさらに処理してよい。
【０１４５】
一時的オブジェクト分類モジュール９１２は、オブジェクトのクラス（例えば、ヒト、車両、または動物など）情報をある一定時間にわたって維持してもよい。一時的オブジェクト分類モジュール９１２は、瞬間的オブジェクト分類モジュール９１８から提供されたオブジェクトの瞬間的なクラス情報を、オブジェクトが存在している間のある一定時間にわたって平均する。換言すると、一時的オブジェクト分類モジュール９１２は、複数のフレームにあるオブジェクトの外観に基づいてオブジェクトの種類を判定する。例えば、ある人の歩き方の足取りを分析すると、人を分類するのに有用となり得るし、あるいは人の足を分析するとサイクリストを分類するのに有用となり得る。一時的オブジェクト分類モジュール９１２は、オブジェクトの軌跡に関する情報（例えば、軌跡が滑らかであるか無秩序であるか、またはオブジェクトが動いているか止まっているかなど）と、複数のフレームにわたって平均された瞬間的オブジェクト分類モジュール９１８によって行われた分類の信頼情報とを組み合わせてよい。例えば、オブジェクト分類モジュール９１６によって判定される分類信頼値は、オブジェクトの軌跡の滑らかさに基づいて調整されてよい。一時的オブジェクト分類モジュール９１２は、視覚オブジェクトが瞬間的オブジェクト分類モジュール９１８によって十分な回数分類されて所定数の統計が収集されるまで、オブジェクトを未知のクラスに割り当ててよい。オブジェクトを分類する際、一時的オブジェクト分類モジュール９１２は、オブジェクトがどのくらいの時間にわたって視野にあったかも計算に入れてよい。一時的オブジェクト分類モジュール９１２は、前述した情報に基づいてオブジェクトのクラスに関して最終決定を下してよい。一時的オブジェクト分類モジュール９１２は、オブジェクトのクラスを変更するためにヒステリシス手法を用いてもよい。さらに詳細には、オブジェクトの分類を未知のクラスから確定したクラスに移すために閾値を設定してよく、その閾値は、逆に移す（例えば、ヒトから未知にするなど）ための閾値よりも大きくてよい。オブジェクト分類モジュール９１６は、オブジェクトのクラスに関するメタデータを生成してよく、メタデータは、データベース４１４に記憶されてよい。一時的オブジェクト分類モジュール９１２は、瞬間的オブジェクト分類モジュール９１８によって行われた分類を集約してよい。
【０１４６】
代替構成では、オブジェクト分類モジュール９１６は、オブジェクト分類がオブジェクト追跡よりも前に起こるようにオブジェクト検知モジュール９０４の後かつオブジェクト追跡モジュール９０８の前に配置される。別の代替構成では、オブジェクト検知モジュール、追跡モジュール、一時的分類モジュール、および分類モジュール９０４、９０８、９１２、および９１６は、前述したように相関している。さらに他の代替実施形態では、映像解析モジュール２２４は、（先行技術で公知の）顔認識を用いてヒトの画像にある顔を検知し、それに応じた信頼度を提供してよい。このような実施形態の外観検索システムは、図８に示したようにヒト全体の代わりに顔の画像の特徴ベクトルまたはトリミング境界ボックスを使用することを含んでいてよい。このような顔の特徴ベクトルは、単独で使用してもよいし、オブジェクト全体の特徴ベクトルと合わせて使用してもよい。さらに、オブジェクトの一部の特徴ベクトルも同じように、単独で使用してもよいし、オブジェクト全体の特徴ベクトルと合わせて使用してもよい。例えば、オブジェクトの一部とは、ヒトの耳の画像であってよい。個体を識別する耳の認識は、先行技術で公知である。
【０１４７】
映像の各画像フレームでは、映像解析モジュール２２４は、オブジェクトを検知し、各オブジェクトの画像を抜き出す。これらの画像から選択された画像を、オブジェクトの最終物と称する。オブジェクトの最終物は、場面にオブジェクトが存在している間に１つ１つのオブジェクトの視覚的外観が最良である表現を選択するよう意図されたものである。最終物を使用してシグネチャ／特徴ベクトルを抜き出し、このシグネチャ／特徴ベクトルをさらに使用して他の最終物を照会し、外観検索を設定する際に最も近い一致を引き出すことができる。
【０１４８】
オブジェクトの最終物は、オブジェクトの存在期間の１つ１つのフレームで生成できることが理想である。これが行われた場合、映像の１秒間でさえ多くの画像フレームがあるため、外観検索を実際に実用するには計算要件が高すぎることがある。以下は、計算要件を軽減するために、ある一定時間にわたってオブジェクトを表現するオブジェクトの可能な最終物を選別する、またはオブジェクトの可能性のある画像から一画像を選択する一例である。
【０１４９】
オブジェクト（ヒト）が場面４０２に入ってくると、オブジェクト検知モジュール９０４によってオブジェクトとして検知される。次にオブジェクト分類モジュール９１６は、そのオブジェクトがヒトであるとする信頼度を有するオブジェクトをヒトまたは人物として分類する。オブジェクトは、カメラ１０８に取り込まれた映像の１つ１つの画像フレームを通して、オブジェクト追跡モジュール９０８によって場面４０２内を追跡される。オブジェクトは、追跡されるときの追跡番号によって識別されてもよい。
【０１５０】
各画像フレームでは、オブジェクトを囲んでいる境界ボックス内にあるオブジェクトの画像が画像フレームから抜き出され、画像はトリミング境界ボックスである。オブジェクト分類モジュール９１６は、例えば、各画像フレームに対してオブジェクトがヒトであるとする信頼度を提供する。さらに他の例示的な実施形態として、オブジェクト分類モジュール９１６が、オブジェクトが（例えば）ヒトであるとする分類に比較的低い信頼度を提供した場合、パディング済トリミング境界ボックスが抜き出され、それによってより計算力の強いオブジェクト検知および分類モジュール（例えば処理４０８）がサーバで、特徴ベクトルが生成される前に、オブジェクトのパディング済トリミング境界ボックスを解像する。より計算力の強いオブジェクト検知および分類モジュールは、重なっているか密に隣接している別のオブジェクトからオブジェクトを解像または抜き出す別のニューラルネットワークであってよい。特徴ベクトルが生成される前に、トリミング境界ボックスまたはパディング済トリミング境界ボックスのどれをさらに処理して境界ボックス内にある他のオブジェクトなどの問題を解決すべきかを示すために、比較的低い信頼度（例えば５０％）を使用してもよい。映像解析モジュール２２４は、ある特定数のトリミング境界ボックスのリストを維持し、例えばオブジェクトとしての信頼度が最も高い上位１０個のトリミング境界ボックスを場面４０２内で追跡する。オブジェクト追跡モジュール９０８がオブジェクトの追跡し損なったとき、またはオブジェクトが場面から出たとき、トリミング境界ボックス４０４は、前景画素（またはオブジェクト画素）が最多数であるオブジェクトを示す１０個のトリミング境界ボックスのリストから選択される。トリミング境界ボックス４０４は、メタデータと一緒にサーバ４０６に送信されてさらに処理される。トリミング境界ボックス４０４は、この追跡期間にわたるオブジェクトの画像を表現する。信頼度は、オブジェクトが影にまたがっているときなど、オブジェクトが良好な画像ではない可能性があるトリミング境界ボックスを棄却するのに使用される。その代わりに、上位１０個のトリミング境界ボックスのリストから２つ以上のトリミング境界ボックスを選び抜いてサーバ４０６に送信してもよい。例えば、最も高い信頼度を基準に選択した別のトリミング境界ボックスも送信してよい。
【０１５１】
上位１０個のトリミング境界ボックスのリストは、１つの実施形態である。その代わりに、このリストは、さらに他の例として、５個のみのトリミング境界ボックスまたは２０個のトリミング境界ボックスとすることもできる。さらに、トリミング境界ボックスのリストからのトリミング境界ボックス４０４としてトリミング境界ボックスを選択することは、追跡し損なった跡だけではなく定期的に行われてよい。あるいは、リストからのトリミング境界ボックスの選択は、最大数のオブジェクト画素に基づく代わりに最も高い信頼度に基づくものであってよい。あるいは、映像解析モジュール２２４は、サーバ４０６（ワークステーション１５６）、処理機器１４８、クライアントデバイス１６４、またはカメラの外部にある他のデバイスに配置されてよい。
【０１５２】
上記のトリミング境界ボックスの選択基準は、オブジェクトの存在期間を単一のトリミング境界ボックスで表現するという問題に対して可能性のある解決策である。以下は別の選択基準である。
【０１５３】
代わりに、オブジェクト分類モジュール９１６の高さ推定アルゴリズムによって提供された情報を用いて、ｎ個のトリミング境界ボックスのうち上位１０個の選別を実施できる。高さ推定モジュールは、ある一定時間にわたって観察された頭部（上部）と足部（下部）に基づいてホモロジーマトリクスを作成する。ホモロジーを学習する期間を本明細書では学習段階と称する。得られたホモロジーは、特定の場所に現れている実際のオブジェクトの高さを推定するためにさらに使用され、その場所で観察されたオブジェクトの高さと比較される。学習が完了すると、高さ推定モジュールによって提供された情報を用いて、トリミング境界ボックスの高さをトリミング境界ボックスが取り込まれた場所で予想されるオブジェクトの高さと比較することによって、上位ｎ個のリストにあるトリミング境界ボックスを選別することができる。この選別方法は、オブジェクト分類モジュール９１６によって報告された高い信頼性で偽陽性となる可能性があるトリミング境界ボックスの棄却基準となることが意図されている。次にその結果選別されたトリミング境界ボックスは、オブジェクトによって取り込まれた前景画素数によってさらにランク付けできる。この多段階の選別基準により、オブジェクトの最終物が高い分類信頼性を有するだけでなく、その場所で予想されたオブジェクトの寸法にも準拠し、さらにはオブジェクト検知モジュール９０４によって報告された通りの良好な数の前景画素も有することを実現する。多段階の選別基準から得られたトリミング境界ボックスは、単独で適用した前述のいずれの基準から得たトリミング境界ボックスと比較しても、オブジェクトの外観はフレーム内での存在期間にわたってよりよく見える可能性がある。本明細書では機械学習モジュールは、先行技術で公知の機械学習アルゴリズムを含む。
【０１５４】
次に図１０Ａを参照すると、図示されているのは、別の例示的な実施形態による図４の処理４０８のブロック図である。オブジェクトの画像（パディング済トリミング境界ボックスを含むトリミング境界ボックス）４０４は、処理部４０８に受信され、そこで第１のニューラルネットワーク１０１０によって処理されてトリミング境界ボックス４０４内のオブジェクトを検知し、分類し、輪郭を描く。第１のニューラルネットワーク１０１０および第２のニューラルネットワーク１０３０は、例えば、畳み込みニューラルネットワークである。第１のニューラルネットワーク１０１０は、例えば、クリップ４０４の所与のトリミング境界ボックスに対して（分類された通りの）０人、１人、２人またはそれ以上のヒトを検知する。０であれば、ヒトオブジェクトは検知されず、最初の分類（カメラ１０８で）は誤りだったということであり、その所与のトリミング境界ボックスに対しては特徴ベクトル４１０を生成すべきではないということである（終了１０２０）。ヒトオブジェクトが１つ検知された場合、その所与のトリミング境界ボックスをさらに処理する必要がある。所与のトリミング境界ボックスがパディング済トリミング境界ボックスである場合、その所与のトリミング境界ボックスのオブジェクトの画像は、任意選択で、他のパディングしていないトリミング境界ボックスと同じように、オブジェクトの境界ボックス内に収まるようにサイズを縮小される。所与のトリミング境界ボックスで２つ以上（２＋）のヒトオブジェクトが検知された場合、この実施形態では、画像フレーム内の「オブジェクト」の中心の座標に最も近い（または中心に最も近い）オブジェクトの画像は、トリミング境界ボックス４０４内の所与のトリミング境界ボックスに取って代わる新たなトリミング境界ボックスの画像フレームから抜き出されて、さらに処理される。
【０１５５】
第１のニューラルネットワーク１０１０は、オブジェクトの輪郭を描いた画像（トリミング境界ボックス）１０４０を出力して第２のニューラルネットワーク１０３０で処理し、特徴ベクトル４１０を生成してトリミング境界ボックス４０４と関連付ける。第１のニューラルネットワーク１０１０の一例が、先行技術で公知の単一のシングルショットマルチボックス検知器（ＳＳＤ）である。
【０１５６】
次に図１０Ｂを参照すると、図示されているのは、さらに他の例示的な実施形態による図４の処理部４０８のブロック図である。オブジェクトの画像（パディング済トリミング境界ボックスを含むトリミング境界ボックス）４０４は、処理部４０８に受信され、比較器１０５０がトリミング境界ボックス４０４に関連する信頼度を判定する。カメラ１０８からのトリミング境界ボックス４０４は、カメラ１０８の映像解析モジュールによって判定された通りの関連するメタデータ（信頼度など）を有する。
【０１５７】
所与のトリミング境界ボックスの信頼度が比較的低い場合（例えば５０％未満）、その所与のトリミング境界ボックスは、第１のニューラルネットワーク１０１０で始まり特徴ベクトル４１０で終わる図１０Ａの実施形態に従って処理される。所与のトリミング境界ボックスの信頼度が比較的高い（例えば５０％以上）、所与のトリミング境界ボックスは、第２のニューラルネットワーク１０３０によって直接処理され、第１のニューラルネットワーク１０１０を通らずに特徴ベクトル４１０を生成する。
【０１５８】
カメラ１０８でパディング済トリミング境界ボックスを抜き出すことを説明している実施形態は、オブジェクトの全画像をパディング済トリミング境界ボックスとして抜き出すことを含むが、他の実施形態では、分類された関連オブジェクトに対する信頼度が比較的低い場合にはパディング済トリミング境界ボックスのみを抜き出す。第１のニューラルネットワーク１０１０は、精度を上げるためにパディング済トリミング境界ボックスとパディングしていないトリミング境界ボックスの両方を処理してよく、いくつかの実施形態では、計算資源が利用可能な場合は第１のニューラルネットワークにすべてのトリミング境界ボックスを処理させてよいことに注意されたい。第１のニューラルネットワーク１０１０は、すべてのパディング済トリミング境界ボックスを処理してよいが、信頼度が低いパディングしていないトリミング境界ボックスの一部のみを処理してもよい。比較器１０５０によって設定された閾値信頼度は、カメラ１０８でパディング済トリミング境界ボックスを抜き出すよう設定された閾値信頼度よりも低くてよい。いくつかの実施形態では、パディング済トリミング境界ボックスのいくつかは、特に計算資源がサーバ４０６の他の機能と結びついている場合は、第１のニューラルネットワーク１０１０による処理を飛ばして直接第２のニューラルネットワーク１０３０に行ってもよい。そのため、第１のニューラルネットワークによって処理されるトリミング境界ボックス処理の数は、サーバ４０６で利用可能な計算資源の量に応じて設定されてよい。
【０１５９】
次に図１１を参照すると、図示されているのは、別の例示的な実施形態による図１１Ａおよび図１１Ｂの処理部４０８流れ図である。所与のトリミング境界ボックス１１１０（パディングしていないものでもパディング済みのものでもよい）にヒトオブジェクトが３つある場合、第１のニューラルネットワーク１０１０は、３つのヒトオブジェクトの１つ１つを検知し、３つのヒトオブジェクトの１つ１つの画像の輪郭を描いてトリミング境界ボックス１１２０、１１３０、１１４０にする。次に第２のニューラルネットワーク１０３０によってトリミング境界ボックス１１２０、１１３０、１１４０の特徴ベクトルを生成する。トリミング境界ボックス１１２０、１１３０、１１４０はその関連する特徴ベクトルと共に、索引４１２およびデータベース４１４内のトリミング境界ボックス４０４の所与のトリミング境界ボックス１１１０を置き換える。画像に複数のオブジェクトが入っている代替実施形態では、最大に重なっているオブジェクトのみが維持され（トリミング境界ボックス１１３０）、他のトリミング境界ボックスは破棄される。
【０１６０】
そのため、一実施形態では、オブジェクト検知を次の２段階で実施する。（１）カメラ１０８は、精度は低いが電力効率のよいオブジェクト検知を実施し、パディング済オブジェクトのトリミング境界ボックスをサーバ４０６に送信する。トリミング境界ボックスをパディングすることで、サーバ側のアルゴリズムにオブジェクト検知を実施するためのより多くの画素背景を与え、カメラ側のアルゴリズムによって切り捨てられたオブジェクトの一部をサーバ側のアルゴリズムに復元させる。次に（２）サーバ４０６は、精度は高いが電力がより強いアルゴリズムを用いて、パディング済トリミング境界ボックスに対してオブジェクト検知を実施する。
【０１６１】
これによって、ネットワーク帯域幅の使用中に妥協点を提供する。というのも、オブジェクトのトリミング境界ボックスを抱えているネットワークストリームは帯域幅が非常に低いことがあるからである。高速のフレームレートで全フレームを送信することは、映像コーデック（これはサーバ４０６上での映像の復号化を必要とする）を使用しないかぎり、そのような環境では実用的でない。
【０１６２】
サーバ側のオブジェクト検知が符号化した映像ストリームに対して実施された場合（映像の録画に使用したもののように）、オブジェクト検知アルゴリズムを実行する前に映像の復号化を実施する必要がある。ただし、複数の映像ストリームを復号化するのに必要な計算要件は高すぎて実用的でない可能性がある。
【０１６３】
そのため、この実施形態では、カメラ１０８は、「おおよその」オブジェクト検知を実施し、比較的低い帯域幅の通信チャネルを用いて関連するパディング済トリミング境界ボックスをサーバに送信する。したがってカメラ１０８は、コンピュータをあまり駆使しないアルゴリズムを用いて関心オブジェクトを含んでいそうなパディング済トリミング境界ボックスを作成する。
【０１６４】
以上の説明では、ヒトオブジェクトが主な関心オブジェクトである実施形態の例を挙げているが、オブジェクトからトリミング境界ボックスを抜き出し、そこから特徴ベクトルの表現を計算し、さらにはこの特徴ベクトルを基底として用いてそれに反する特徴ベクトルを他のオブジェクトと比較するという基本的方法は、検討しているオブジェクトのクラスを断定するものではないことが理解されるであろう。標本オブジェクトとして、例えば鞄、バックパックまたはスーツケースがあり得る。したがって、車両、動物、および無生物オブジェクトの位置を特定する外観検索システムは、記載した実施形態の動作の趣旨および原理を逸脱しないかぎり、本明細書に記載した特徴および／または機能を用いて実施し得る。
【０１６５】
以上の説明では、実施形態の例を挙げているが、記載した実施形態のいくつかの特徴および／または機能は、記載した実施形態の動作の趣旨および原理を逸脱しないかぎり、修正が可能であることが理解されるであろう。したがって、上記に記載したことは、非限定的に説明していることを意図しており、本明細書に添付の請求項に記載した本発明の範囲を逸脱しないかぎり、他の変形例および修正例を加えてよいことが当業者には理解されるであろう。さらに、本明細書に記載したどの実施形態のどの特徴も、本明細書に記載した他のどの実施形態の他のどの特徴とも適切に組み合わせてよい。
【図１】
2020503604.tif 000003
【図２Ａ】
2020503604.tif 000004
【図２Ｂ】
2020503604.tif 000005
【図３】
2020503604.tif 000006
【図４】
2020503604.tif 000007
【図５】
2020503604.tif 000008
【図６】
2020503604.tif 000009
【図７】
2020503604.tif 000010
【図８】
2020503604.tif 000011
【図９】
2020503604.tif 000012
【図１０Ａ】
2020503604.tif 000013
【図１０Ｂ】
2020503604.tif 000014
【図１１】
2020503604.tif 000015
【図１２】
2020503604.tif 000016
【国際調査報告】
2020503604.tif 000017
2020503604.tif 000018
2020503604.tif 000019