(57)【要約】  ジェスチャがソース画像のシーケンス内で実行されているかどうかを決定するための方法および装置が提示される。いくつかの実施形態では、本方法は、複数のジェスチャモデルのうちの１つまたは複数のジェスチャモデルを使用して、１つまたは複数の参照画像のそれぞれの中のジェスチャを検出するステップを含み得る。また、本方法は、１つまたは複数のジェスチャモデルから、検出されたジェスチャに最も密接に一致する第１のジェスチャモデルを選択するステップと、ソース画像のシーケンス内のジェスチャを検索するために、複数のジェスチャモデルのうちの第１のジェスチャモデルを、他のジェスチャモデルよりも優先するステップと、優先された第１のジェスチャモデルを使用して、ジェスチャが実行されているかどうかを決定するために、ソース画像のシーケンスをスキャンするステップとを含み得る。ジェスチャが実行されている場合、本方法は、ジェスチャが実行されているかどうかを決定するために、複数のジェスチャモデルのうちの別のジェスチャモデルを使用する前に、スキャンを終了することができる。
2015524115.tif 000002
【特許請求の範囲】
【請求項１】
ジェスチャがソース画像のシーケンス内で実行されているかどうかを決定するための方法であって、
複数のジェスチャモデルのうちの１つまたは複数のジェスチャモデルを使用して、１つまたは複数の参照画像のそれぞれの中の前記ジェスチャを検出するステップと、
前記１つまたは複数のジェスチャモデルから、検出された前記ジェスチャに最も密接に一致する第１のジェスチャモデルを選択するステップと、
ソース画像の前記シーケンス内の前記ジェスチャを検索するために、前記複数のジェスチャモデルのうちの第１のジェスチャモデルを、他のジェスチャモデルよりも優先するステップと、
優先された前記第１のジェスチャモデルを使用して、前記ジェスチャが実行されているかどうかを決定するために、ソース画像の前記シーケンスをスキャンするステップと、
前記ジェスチャが実行されている場合、前記ジェスチャが実行されているかどうかを決定するために、前記複数のジェスチャモデルのうちの別のジェスチャモデルを使用する前に、スキャンを終了するステップとを備える、方法。
【請求項２】
前記１つまたは複数の参照画像が、ソース画像の前記シーケンス内の以前の画像を備える、請求項１に記載の方法。
【請求項３】
前記複数のジェスチャモデルが手のポーズを備える、請求項２に記載の方法。
【請求項４】
前記複数のジェスチャモデルが顔の表情を備える、請求項２に記載の方法。
【請求項５】
前記複数のジェスチャモデルが、左の開いた手のモデル、右の開いた手のモデル、または拳のモデルを備える、請求項２に記載の方法。
【請求項６】
ソース画像の前記シーケンス内の前記ジェスチャを検索するために、前記１つまたは複数の参照画像内の検出された前記ジェスチャの位置を、他の位置よりも優先するステップと、
前記検出されたジェスチャの優先された位置を使用して、前記ジェスチャが実行されているかどうかを決定するために、ソース画像の前記シーケンスをスキャンするステップとをさらに備える、請求項１に記載の方法。
【請求項７】
ソース画像の前記シーケンス内の前記ジェスチャを検索するために、前記１つまたは複数の参照画像内の検出された前記ジェスチャのスケールを、他のスケールよりも優先するステップと、
前記検出されたジェスチャの優先された前記スケールを使用して、前記ジェスチャが実行されているかどうかを決定するために、ソース画像の前記シーケンスをスキャンするステップとをさらに備える、請求項１に記載の方法。
【請求項８】
ソース画像の前記シーケンス内の前記ジェスチャを検索するために、前記１つまたは複数の参照画像内の前記検出されたジェスチャの位置を、他の位置よりも優先するステップと、
ソース画像の前記シーケンス内の前記ジェスチャを検索するために、前記１つまたは複数の参照画像内の前記検出されたジェスチャのスケールを、他のスケールよりも優先するステップと、
前記検出されたジェスチャの優先された前記位置、前記検出されたジェスチャの前記優先されたスケール、および優先された前記第１のジェスチャモデルの組合せを使用して、前記ジェスチャが実行されているかどうかを決定するために、ソース画像の前記シーケンスをスキャンするステップとをさらに備える、請求項１に記載の方法。
【請求項９】
ソース画像の前記シーケンス内であらかじめ定められた数の前記ジェスチャが検出されると、ソース画像の前記シーケンスのフルスキャンを完了する前に、ソース画像の前記シーケンス内の前記ジェスチャのスキャンを終了するステップをさらに備える、請求項１に記載の方法。
【請求項１０】
前記１つまたは複数の参照画像内に第２のジェスチャが検出される可能性が、前記ジェスチャよりも低いと決定するステップと、
前記第２のジェスチャが検出される可能性がより低いと決定するステップに基づいて、前記ジェスチャを検出した後、前記第２のジェスチャの前記１つまたは複数の参照画像をスキャンするステップとをさらに備える、請求項１に記載の方法。
【請求項１１】
前記ジェスチャの前記１つまたは複数の参照画像をスキャンするステップと、
連続する数の段階内で順序付けられた複数のカスケード接続された段階において、前記ジェスチャの前記１つまたは複数の参照画像のスキャンを絞り込むステップであって、前記カスケード接続された段階の各段階が、前記ジェスチャを検出するために、ソース画像の前記シーケンス内の少なくとも１つの画像内のピクセルの周期数をスキャンするステップを備え、ピクセルの前記周期数が、ピクセルの前記周期数内で互いのピクセルから離れた一定の垂直方向距離および水平方向距離を有するステップであって、任意の段階におけるピクセルの前記周期数が、以前の段階のピクセルの前記周期数以下であるステップと、
前記連続する数の段階の最後の段階が、前記ジェスチャの少なくとも一部を検出するかどうかを決定することによって、前記ジェスチャを識別するステップとをさらに備える、請求項１に記載の方法。
【請求項１２】
ジェスチャがソース画像のシーケンス内で実行されているかどうかを決定するための装置であって、
１つまたは複数の参照画像、およびソース画像の前記シーケンスを格納するように構成されたメモリと、
前記メモリに通信可能に結合されており、
複数のジェスチャモデルのうちの１つまたは複数のジェスチャモデルを使用して、１つまたは複数の参照画像のそれぞれの中の前記ジェスチャを検出し、
前記１つまたは複数のジェスチャモデルから、検出された前記ジェスチャに最も密接に一致する第１のジェスチャモデルを選択し、
ソース画像の前記シーケンス内の前記ジェスチャを検索するために、前記複数のジェスチャモデルのうちの前記第１のジェスチャモデルを他のジェスチャモデルよりも優先し、
優先された前記第１のジェスチャモデルを使用して、前記ジェスチャが実行されているかどうかを決定するために、ソース画像の前記シーケンスをスキャンし、
前記ジェスチャが実行されている場合、前記ジェスチャが実行されているかどうかを決定するために、前記複数のジェスチャモデルのうちの別のジェスチャモデルを使用する前に、スキャンを終了するように構成されたプロセッサとを備える、装置。
【請求項１３】
前記１つまたは複数の参照画像が、ソース画像の前記シーケンス内の以前の画像を備える、請求項１２に記載の装置。
【請求項１４】
前記複数のジェスチャモデルが手のポーズを備える、請求項１３に記載の装置。
【請求項１５】
前記複数のジェスチャモデルが顔の表情を備える、請求項１３に記載の装置。
【請求項１６】
前記複数のジェスチャモデルが、左の開いた手のモデル、右の開いた手のモデル、または拳のモデルを備える、請求項１３に記載の装置。
【請求項１７】
前記プロセッサが、
ソース画像の前記シーケンス内の前記ジェスチャを検索するために、前記１つまたは複数の参照画像内の検出された前記ジェスチャの位置を、他の位置よりも優先し、
前記検出されたジェスチャの優先された前記位置を使用して、前記ジェスチャが実行されているかどうかを決定するために、ソース画像の前記シーケンスをスキャンするようにさらに構成される、請求項１２に記載の装置。
【請求項１８】
前記プロセッサが、
ソース画像の前記シーケンス内の前記ジェスチャを検索するために、前記１つまたは複数の参照画像内の前記検出されたジェスチャのスケールを、他のスケールよりも優先し、
前記検出されたジェスチャの前記優先されたスケールを使用して、前記ジェスチャが実行されているかどうかを決定するために、ソース画像の前記シーケンスをスキャンするようにさらに構成される、請求項１２に記載の装置。
【請求項１９】
前記プロセッサが、
ソース画像の前記シーケンス内の前記ジェスチャを検索するために、前記１つまたは複数の参照画像内の前記検出されたジェスチャの位置を、他の位置よりも優先し、
ソース画像の前記シーケンス内の前記ジェスチャを検索するために、前記１つまたは複数の参照画像内の前記検出されたジェスチャのスケールを、他のスケールよりも優先し、
前記検出されたジェスチャの優先された位置、前記検出されたジェスチャの優先されたスケール、および優先された前記第１のジェスチャモデルの組合せを使用して、前記ジェスチャが実行されているかどうかを決定するために、ソース画像の前記シーケンスをスキャンするようにさらに構成される、請求項１２に記載の装置。
【請求項２０】
前記プロセッサがソース画像の前記シーケンス内であらかじめ定められた数のジェスチャが検出されると、ソース画像の前記シーケンスのフルスキャンを完了する前に、ソース画像の前記シーケンス内の前記ジェスチャのスキャンを終了するようにさらに構成される、請求項１２に記載の装置。
【請求項２１】
前記プロセッサが、
前記１つまたは複数の参照画像内に第２のジェスチャが検出される可能性が、前記ジェスチャよりも低いと決定し、
前記第２のジェスチャが検出される可能性がより低いと決定するステップに基づいて、前記ジェスチャを検出した後、前記第２のジェスチャの前記１つまたは複数の参照画像をスキャンするようにさらに構成される、請求項１２に記載の装置。
【請求項２２】
前記プロセッサが、
前記ジェスチャの前記１つまたは複数の参照画像をスキャンし、
連続する数の段階内で順序付けられた複数のカスケード接続された段階において、前記ジェスチャの前記１つまたは複数の参照画像のスキャンを絞り込み、前記カスケード接続された段階の各段階が、前記ジェスチャを検出するために、ソース画像の前記シーケンス内の少なくとも１つの画像内のピクセルの周期数をスキャンするステップを備え、ピクセルの前記周期数が、ピクセルの前記周期数内で互いのピクセルから離れた一定の垂直方向距離および水平方向距離を有し、任意の段階におけるピクセルの前記周期数が、以前の段階のピクセルの前記周期数以下であり、
前記連続する数の段階の最後の段階が、前記ジェスチャの少なくとも一部を検出するかどうかを決定することによって、前記ジェスチャを識別するようにさらに構成される、請求項１２に記載の装置。
【請求項２３】
ジェスチャが、ソース画像のシーケンス内で実行されているかどうかを決定するための装置であって、
複数のジェスチャモデルのうちの１つまたは複数のジェスチャモデルを使用して、１つまたは複数の参照画像のそれぞれの中の前記ジェスチャを検出するための手段と、
前記１つまたは複数のジェスチャモデルから、前記検出されたジェスチャに最も密接に一致する第１のジェスチャモデルを選択するための手段と、
ソース画像の前記シーケンス内の前記ジェスチャを検索するために、前記複数のジェスチャモデルのうちの第１のジェスチャモデルを、他のジェスチャモデルよりも優先するための手段と、
優先された前記第１のジェスチャモデルを使用して、前記ジェスチャが実行されているかどうかを決定するために、ソース画像の前記シーケンスをスキャンするための手段と、
前記ジェスチャが実行されている場合、前記ジェスチャが実行されているかどうかを決定するために、前記複数のジェスチャモデルのうちの別のジェスチャモデルを使用する前に、スキャンを終了するための手段とを備える、装置。
【請求項２４】
前記１つまたは複数の参照画像が、ソース画像の前記シーケンス内の以前の画像を備える、請求項２３に記載の装置。
【請求項２５】
前記複数のジェスチャモデルが手のポーズを備える、請求項２４に記載の装置。
【請求項２６】
前記複数のジェスチャモデルが顔の表情を備える、請求項２４に記載の装置。
【請求項２７】
前記複数のジェスチャモデルが、左の開いた手のモデル、右の開いた手のモデル、または拳のモデルを備える、請求項２４に記載の装置。
【請求項２８】
ソース画像の前記シーケンス内の前記ジェスチャを検索するために、前記１つまたは複数の参照画像内の前記検出されたジェスチャの位置を、他の位置よりも優先するための手段と、
前記検出されたジェスチャの前記優先された位置を使用して、前記ジェスチャが実行されているかどうかを決定するために、ソース画像の前記シーケンスをスキャンするための手段とをさらに備える、請求項２３に記載の装置。
【請求項２９】
ソース画像の前記シーケンス内の前記ジェスチャを検索するために、前記１つまたは複数の参照画像内の前記検出されたジェスチャのスケールを、他のスケールよりも優先するための手段と、
前記検出されたジェスチャの優先された前記スケールを使用して、前記ジェスチャが実行されているかどうかを決定するために、ソース画像の前記シーケンスをスキャンするための手段とをさらに備える、請求項２３に記載の装置。
【請求項３０】
ソース画像の前記シーケンス内の前記ジェスチャを検索するために、前記１つまたは複数の参照画像内の前記検出されたジェスチャの位置を、他の位置よりも優先するための手段と、
ソース画像の前記シーケンス内の前記ジェスチャを検索するために、前記１つまたは複数の参照画像内の前記検出されたジェスチャのスケールを、他のスケールよりも優先するための手段と、
前記検出されたジェスチャの優先された位置、前記検出されたジェスチャの優先された前記スケール、および前記優先された第１のジェスチャモデルの組合せを使用して、前記ジェスチャが実行されているかどうかを決定するために、ソース画像の前記シーケンスをスキャンする手段とをさらに備える、請求項２３に記載の装置。
【請求項３１】
ソース画像の前記シーケンス内であらかじめ定められた数のジェスチャが検出されると、ソース画像の前記シーケンスのフルスキャンを完了する前に、ソース画像の前記シーケンス内の前記ジェスチャのスキャンを終了するための手段をさらに備える、請求項２３に記載の装置。
【請求項３２】
前記１つまたは複数の参照画像内に第２のジェスチャが検出される可能性が、前記ジェスチャよりも低いと決定するための手段と、
前記第２のジェスチャが検出される可能性がより低いと決定するステップに基づいて、前記ジェスチャを検出した後、前記第２のジェスチャの前記１つまたは複数の参照画像をスキャンするための手段とをさらに備える、請求項２３に記載の装置。
【請求項３３】
前記ジェスチャの前記１つまたは複数の参照画像をスキャンするための手段と、
連続する数の段階内で順序付けられた複数のカスケード接続された段階において、前記ジェスチャの前記１つまたは複数の参照画像のスキャンを絞り込むための手段であって、前記カスケード接続された段階の各段階が、前記ジェスチャを検出するために、ソース画像の前記シーケンス内の少なくとも１つの画像内のピクセルの周期数をスキャンするステップを備え、ピクセルの前記周期数が、ピクセルの前記周期数内で互いのピクセルから離れた一定の垂直方向距離および水平方向距離を有し、任意の段階におけるピクセルの前記周期数が、以前の段階のピクセルの前記周期数以下である手段と、
前記連続する数の段階の最後の段階が、前記ジェスチャの少なくとも一部を検出するかどうかを決定することによって、前記ジェスチャを識別するための手段とをさらに備える、請求項２３に記載の装置。
【請求項３４】
プロセッサに、
複数のジェスチャモデルのうちの１つまたは複数のジェスチャモデルを使用して、１つまたは複数の参照画像のそれぞれの中のジェスチャを検出させ、
前記１つまたは複数のジェスチャモデルから、検出された前記ジェスチャに最も密接に一致する第１のジェスチャモデルを選択させ、
ソース画像のシーケンス内の前記ジェスチャを検索するために、前記複数のジェスチャモデルのうちの前記第１のジェスチャモデルを、他のジェスチャモデルよりも優先させ、
優先された前記第１のジェスチャモデルを使用して、前記ジェスチャが実行されているかどうかを決定するために、ソース画像の前記シーケンスをスキャンさせ、
前記ジェスチャが実行されている場合、前記ジェスチャが実行されているかどうかを決定するために、前記複数のジェスチャモデルのうちの別のジェスチャモデルを使用する前に、スキャンを終了させるように構成されるプロセッサ可読命令を備える、非一時的プロセッサ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速ポーズ検出器に関するものである。
【背景技術】
【０００２】
本開示は、記録された画像内のジェスチャ検出に関する。より詳細には、本開示は、第１の画像および画像のシーケンス内のジェスチャを検出する際の速度、精度、および消費されるリソースを改善するための効率的な方法および装置を議論する。当分野では、手のポーズ、腕の動き、および同類のものなどのジェスチャを検出するためのいくつかの技法が知られている。しかしながら、その多くは、大型で、電力を消費する機器内にのみ見受けられる高性能プロセッサに依存し得る。ジェスチャ検出方法はそれほど効率的ではなく、より小型のモバイルデバイスで使用する際に、および／または一定のリアルタイム画像記録に使用する際に、そのような方法を困難にする場合がある。したがって、それほど時間がかからず、より電力効率のよいジェスチャ検出方法を実装することが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
これらおよび他の問題は、本明細書に記載の様々な実施形態によって解決することができる。
【課題を解決するための手段】
【０００４】
いくつかの実施形態では、ジェスチャがソース画像のシーケンス内で実行されているかどうかを決定するための方法が提示される。本方法は、複数のジェスチャモデルのうちの１つまたは複数のジェスチャモデルを使用して、１つまたは複数の参照画像のそれぞれの中のジェスチャを検出するステップを含み得る。本方法は、１つまたは複数のジェスチャモデルから、検出されたジェスチャに最も密接に一致する第１のジェスチャモデルを選択するステップと、ソース画像のシーケンス内のジェスチャを検索するために、複数のジェスチャモデルのうちの第１のジェスチャモデルを、他のジェスチャモデルよりも優先するステップと、優先された第１のジェスチャモデルを使用して、ジェスチャが実行されているかどうかを決定するために、ソース画像のシーケンスをスキャンするステップとをさらに含み得る。ジェスチャが実行されている場合、本方法は、ジェスチャが実行されているかどうかを決定するために、複数のジェスチャモデルのうちの別のジェスチャモデルを使用する前に、スキャンを終了するステップも含み得る。
【０００５】
いくつかの実施形態では、参照画像は、ソース画像のシーケンス内の以前の画像を含む。いくつかの実施形態では、複数のジェスチャモデルは手のポーズを含む。いくつかの実施形態では、複数のジェスチャモデルは顔の表情を含む。いくつかの実施形態では、複数のジェスチャモデルは、左の開いた手のモデル、右の開いた手のモデル、または拳のモデルを含む。
【０００６】
いくつかの実施形態では、本方法は、ソース画像のシーケンス内のジェスチャを検索するために、１つまたは複数の参照画像内の検出されたジェスチャの位置を、他の位置よりも優先するステップと、検出されたジェスチャの優先された位置を使用して、ジェスチャが実行されているかどうかを決定するために、ソース画像のシーケンスをスキャンするステップとをさらに含む。
【０００７】
いくつかの実施形態では、本方法は、ソース画像のシーケンス内のジェスチャを検索するために、１つまたは複数の参照画像内の検出されたジェスチャのスケールを、他のスケールよりも優先するステップと、検出されたジェスチャの優先されたスケールを使用して、ジェスチャが実行されているかどうかを決定するために、ソース画像のシーケンスをスキャンするステップとをさらに含む。
【０００８】
いくつかの実施形態では、本方法は、ソース画像のシーケンス内のジェスチャを検索するために、１つまたは複数の参照画像内の検出されたジェスチャの位置を、他の位置よりも優先するステップと、ソース画像のシーケンス内のジェスチャを検索するために、１つまたは複数の参照画像内の検出されたジェスチャのスケールを、他のスケールよりも優先するステップと、検出されたジェスチャの優先された位置、検出されたジェスチャの優先されたスケール、および優先された第１のジェスチャモデルの組合せを使用して、ジェスチャが実行されているかどうかを決定するために、ソース画像のシーケンスをスキャンするステップをさらに含む。
【０００９】
いくつかの実施形態では、本方法は、ソース画像のシーケンス内であらかじめ定められた数のジェスチャが検出されると、ソース画像のシーケンスのフルスキャンを完了する前に、ソース画像のシーケンス内のジェスチャのスキャンを終了するステップをさらに含む。
【００１０】
いくつかの実施形態では、本方法は、１つまたは複数の参照画像内に第２のジェスチャが検出される可能性が、ジェスチャよりも低いと決定するステップをさらに含む。また、本方法は、第２のジェスチャが検出される可能性がより低いと決定するステップに基づいて、ジェスチャを検出した後、第２のジェスチャの１つまたは複数の参照画像をスキャンするステップを含む。
【００１１】
いくつかの実施形態では、本方法は、ジェスチャの１つまたは複数の参照画像をスキャンするステップと、連続する数の段階内で順序付けられた複数のカスケード接続された段階において、ジェスチャの１つまたは複数の参照画像のスキャンを絞り込むステップとをさらに含む。カスケード接続された段階の各段階は、ジェスチャを検出するために、画像内のピクセルの周期数をスキャンするステップを含み得る。ピクセルの周期数は、ピクセルの周期数内で、互いのピクセルから一定の垂直方向距離および水平方向距離だけ離れていてよく、任意の段階におけるピクセルの周期数は、以前の段階のピクセルの周期数以下でよい。また、本方法は、連続する数の段階の最後の段階が、ジェスチャの少なくとも一部を検出するかどうかを決定することによって、ジェスチャを識別するステップを含み得る。
【００１２】
いくつかの実施形態では、ジェスチャがソース画像のシーケンス内で実行されているかどうかを決定するための装置が提示される。本装置は、１つまたは複数の参照画像、およびソース画像のシーケンスを格納するように構成されたメモリを含み得る。また、本装置は、メモリに通信可能に結合されたプロセッサを含み得る。本プロセッサは、複数のジェスチャモデルのうちの１つまたは複数のジェスチャモデルを使用して、１つまたは複数の参照画像のそれぞれの中のジェスチャを検出し、１つまたは複数のジェスチャモデルから、検出されたジェスチャに最も密接に一致する第１のジェスチャモデルを選択し、ソース画像のシーケンス内のジェスチャを検索するために、複数のジェスチャモデルのうちの第１のジェスチャモデルを他のジェスチャモデルよりも優先し、優先された第１のジェスチャモデルを使用して、ジェスチャが実行されているかどうかを決定するために、ソース画像のシーケンスをスキャンし、ジェスチャが実行されている場合、別のジェスチャモデルを使用する前に、スキャンを終了するように構成され得る。
【００１３】
いくつかの実施形態では、装置が提示される。本装置は、複数のジェスチャモデルのうちの１つまたは複数のジェスチャモデルを使用して、１つまたは複数の参照画像のそれぞれの中のジェスチャを検出するための手段と、１つまたは複数のジェスチャモデルから、検出されたジェスチャに最も密接に一致する第１のジェスチャモデルを選択するための手段と、ソース画像のシーケンス内のジェスチャを検索するために、複数のジェスチャモデルのうちの第１のジェスチャモデルを、他のジェスチャモデルよりも優先するための手段と、優先された第１のジェスチャモデルを使用して、ジェスチャが実行されているかどうかを決定するために、ソース画像のシーケンスをスキャンするための手段と、ジェスチャが実行されている場合、ジェスチャが実行されているかどうかを決定するために、複数のジェスチャモデルのうちの別のジェスチャモデルを使用する前に、スキャンを終了するための手段とを含み得る。
【００１４】
いくつかの実施形態では、非一時的プロセッサ可読媒体が提示される。非一時的プロセッサ可読媒体は、プロセッサに、複数のジェスチャモデルのうちの１つまたは複数のジェスチャモデルを使用して、１つまたは複数の参照画像のそれぞれの中のジェスチャを検出させ、１つまたは複数のジェスチャモデルから、検出されたジェスチャに最も密接に一致する第１のジェスチャモデルを選択させ、ソース画像のシーケンス内のジェスチャを検索するために、複数のジェスチャモデルのうちの第１のジェスチャモデルを他のジェスチャモデルよりも優先させ、優先された第１のジェスチャモデルを使用して、ジェスチャが実行されているかどうかを決定するために、ソース画像のシーケンスをスキャンさせ、ジェスチャが実行されている場合、本方法は、ジェスチャが実行されているかどうかを決定するために、複数のジェスチャモデルのうちの別のジェスチャモデルを使用する前に、スキャンを終了させるように構成されたプロセッサ可読命令を含み得る。
【００１５】
いくつかの実施形態では、手のポーズなどの、１つまたは複数のジェスチャを検出するための方法および装置が提示される。いくつかの実施形態では、方法は、たとえばカメラや視覚装置の正面に伸ばされた開いた手のひらなどの、開いた手のひらを検出するステップを含む。しかしながら、これらの実施形態は限定的なものではなく、当業者は、以下で説明する実施形態は、他のポーズおよび／またはジェスチャ、あるいは動きを検出するために使用され得ることが認識できるだろう。いくつかの実施形態では、ポーズまたはジェスチャを検出するために、カスケード接続された弱分類器が使用される。いくつかの実施形態では、本検出方法は回転集約的でよく、たとえば、検出はマルチスケールビデオフレーム、および各フレームの各ピクセルに焦点を当ててよい。
【００１６】
いくつかの実施形態では、提示される方法は、手追跡アルゴリズムの第１のステップでよい。いくつかの実施形態では、たとえば、最初の係合位置（ｅｎｇａｇｅｍｅｎｔ  ｐｏｓｉｔｉｏｎ）または再係合位置（ｒｅ−ｅｎｇａｇｅｍｅｎｔ  ｐｏｓｉｔｉｏｎ）、および／あるいは最初の係合位置に対する現在の位置の追跡が提供され得る。いくつかの実施形態では、ポーズが一定の時間、たとえば５００ミリ秒の間静止している場合、係合が認識される。いくつかの実施形態では、本方法は、デバイスの電源をオンにするためにジェスチャを認識することができるようにするために、閲覧するためのデバイスがたとえスタンバイモードでも実行すること可能である。加えて、いくつかの方法は、偽の、および／または失った追跡から回復（再係合）するために、低周期で実行することができる。
【００１７】
いくつかの実施形態では、方法は、スケーリング、前処理、応答計算、および矩形結果処理の少なくとも４つの部分を含み得る。
【００１８】
様々な実施形態の性質および利点の理解は、以下の図面を参照することによって実現され得る。添付の図面において、同様の構成要素または特徴は、同じ参照ラベルを有し得る。さらに、同じタイプの様々な構成要素は、同様の構成要素を区別するダッシュおよび第２のラベルによる参照ラベルに従うことによって区別され得る。本明細書において第１の参照ラベルのみが使用される場合、説明は、第２の参照ラベルに関係なく同じ第１の参照ラベルを有する同様の構成要素のいずれにも適用可能である。
【図面の簡単な説明】
【００１９】
【図１】いくつかの実施形態による、例示的なデバイスを示す図である。
【図２Ａ】いくつかの実施形態による、画像記録デバイスによって検出されるジェスチャの例示的なシナリオを示す図である。
【図２Ｂ】いくつかの実施形態による、画像記録デバイスによって検出されるジェスチャの例示的なシナリオを示す図である。
【図３】いくつかの実施形態による、例示的なジェスチャおよびジェスチャモデルを示す図である。
【図４】いくつかの実施形態による、例示的な処理フローを示す図である。
【図５】いくつかの実施形態による、ジェスチャを検出するための例示的な流れ図である。
【図６】いくつかの実施形態による、ジェスチャを検出するための別の例示的な流れ図である。
【図７】いくつかの実施形態による、例示的なカスケード接続された段階のサンプル分布を示す図である。
【図８】いくつかの実施形態による、ビデオフレーム上でスライドする例示的なモデルを示す図である。
【図９Ａ】いくつかの実施形態による、例示的な流れ図である。
【図９Ｂ】いくつかの実施形態による、例示的な流れ図である。
【図１０】本開示の１つまたは複数の態様が実装され得る、例示的なコンピューティングシステムを示す図である。
【発明を実施するための形態】
【００２０】
本明細書では、「例示的（ｅｘｅｍｐｌａｒｙ）」という単語は、「例、事例、または例示として役立つ」を意味するために使用される。本明細書で「例示的（ｅｘｅｍｐｌａｒｙ）」として説明されるあらゆる実施形態または設計は、必ずしも他の実施形態または設計よりも好ましいまたは有利であると解釈されるべきではない。
【００２１】
本明細書で使用される場合、「ジェスチャ（ｇｅｓｔｕｒｅ）」は、人体の一部を使って行われる非言語コミュニケーションの形式を指すことができ、スピーチなどの言語コミュニケーションと対比される。たとえば、ジェスチャは、第１の位置、ポーズ、または表情と、第２の位置、ポーズ、または表情との間の、動作、変化、または変形によって定義され得る。本明細書で使用される場合、「ジェスチャ」は、人体の一部を使って行われる静止ポーズも含み得る。たとえば、「ジェスチャ」は、行われた動きの一部のみを示す静止ポーズを含み得る。日常会話で使用される一般的なジェスチャは、たとえば、「エアクォーツ（ａｉｒ  ｑｕｏｔｅ）」ジェスチャ、お辞儀ジェスチャ、ひざを曲げるお辞儀、頬へのキス、指または手の動き、ひざまずくこと、頭を上下するまたは動かすこと、ハイタッチ、うなずくこと、悲しい顔、拳を上げること、敬礼、親指を挙げる動き、ピンチジェスチャ、開いた手のひら、握った拳、拳を揺らすこと、指差し、「ピース（ｐｅａｃｅ）」サイン、あるいは手または体をねじる任意の動きを含み得る。ジェスチャは、カメラを使用して、ユーザの画像を分析することによって、傾斜センサを使用してユーザがデバイスを保持または傾けている角度を検出することなどによって、あるいは他の任意の手法によって検出され得る。当業者は、上記の説明および以下のさらなる説明から、ジェスチャは、たとえば空中で行われる手の動作などの、非タッチ、タッチレス、またはタッチフリーのジェスチャを備え得ることが理解できるであろう。そのような非タッチ、タッチレス、またはタッチフリーのジェスチャは、たとえば、いくつかの実施形態では、タッチスクリーン上にパターンを描くことによって実行され得る様々な「ジェスチャ」から区別され得る。いくつかの実施形態では、ジェスチャは、デバイスを保持しながら空中で行うことができ、加速度計などのデバイス内の１つまたは複数のセンサを使用してジェスチャを検出することができる。
【００２２】
ユーザは、体の部分の位置を変えること（すなわち、振る動き）によってジェスチャを行う（または「ジェスチャする（ｇｅｓｔｉｃｕｌａｔｅ）」）こともでき、体の部分を一定の位置に保持したままジェスチャする（すなわち、握り拳ジェスチャを行うことによって）こともできる。いくつかの構成では、カメラ入力を介して機能を制御するために手および腕のジェスチャを使用することができ、他の構成では、他のタイプのジェスチャをさらに、または代替で使用することができる。さらに、または代替で、１つまたは複数のジェスチャを行う際に、手および／または他の体の部分（たとえば、腕、頭、顔、胴体、脚、足、等）を動かすことができる。たとえば、あるジェスチャは、片方または両方の手を動かすことによって行うことができ、他のジェスチャは、片方または両方の手を、片方または両方の腕、片方または両方の脚等と組み合わせて動かすことによって行うことができる。いくつかの実施形態では、ジェスチャは、しきい値の時間量にわたって保持される特定のポーズ、たとえば手または体のポーズを含み得る。
【００２３】
撮像デバイスの視野内のオブジェクトのジェスチャまたはポーズを効率的に検出するための方法および装置が提示される。オブジェクトのジェスチャまたはポーズを検出するステップは、従来の方法を使用するプロセッサ集約的でもよく、メモリ集約的でもよい。ジェスチャアルゴリズムおよび方法を採用する、いくつかの利用可能なジェスチャデバイスは、たとえば片手を追跡しようとするときに極めてＣＰＵ集約的である。高いＣＰＵ使用率のため、ジェスチャ検出方法を採用しようとするモバイルデバイスは、ユーザに悪い経験を与えることがある。高いＣＰＵ使用率が、ジェスチャ検出のより低いフレームレートをもたらすことがあり、場合によっては、遅く、使用不可能で、信頼できない追跡結果、高い電池消費、および過熱デバイスをもたらすことさえある。しかしながら、様々な実施形態によれば、ジェスチャまたはポーズを検出するステップは、より少ない消費電力で、より短い時間内にジェスチャまたはポーズをうまく検出することができる。たとえば、実施形態は、従来の方法と比較して精度を低下させずに、３０％短い時間を使用して、ユーザの右手の開いた手の動きを１７６×１４４ピクセルフレームで検出することができる。
【００２４】
いくつかの実施形態では、ポーズまたはジェスチャをより効率的に検出するために、ポーズまたはジェスチャのモデルが使用され得る。たとえば、当該の現在の画像に関する以前の参照画像（ソース画像と呼ばれる）では、ポーズまたはジェスチャは、より遅い、またはよりプロセッサ集約的な画像認識技法を使用して識別され得る。次いで、参照画像内で検出されたポーズまたはジェスチャのモデルが識別され得る。本明細書の開示は、このモデルをジェスチャモデルと呼ぶ場合がある。ジェスチャモデルは、同じポーズまたはジェスチャの数百または数千の画像の合成であってよい。いくつかの実施形態では、ジェスチャモデルは、同じポーズまたはジェスチャの数百または数千の画像に基づく理想的なポーズまたはジェスチャである。次いで、ソース画像内の同じタイプのジェスチャまたはポーズを検出するために、識別されたジェスチャモデルが使用され得る。いくつかの実施形態では、多くの場合、参照画像内で検出されたジェスチャまたはポーズはソース画像内で検出されたものと同じである可能性が高いので、この技法は５０％のリソースを節約することができる。いくつかの実施形態では、ジェスチャモデルおよび説明した技法を使用する検出は、ソース画像のシーケンスのために行われ得る。たとえば、いくつかの実施形態では、一旦ジェスチャモデルが選択されると、画像の一部を他のモデルと比較する前に、それらの画像の一部を、全体的なジェスチャモデル、またはジェスチャモデルの特徴と比較することによって、ソース画像がスキャンされ得る。これらの比較によって、たとえば、比較における類似性が何らかのしきい値を超えた場合、または比較があらかじめ定められた制約内であった場合、画像内でジェスチャが実行されていることを決定することができる。比較は、ジェスチャモデルを使用して参照画像内のジェスチャを検出するために使用される技法と同じタイプであってよい。しかしながら、優先されたジェスチャモデルがあるソース画像をスキャンする際の１つの利点は、優先されたジェスチャモデルは、ソース画像内のジェスチャと一致する可能性がより高く、したがって他のモデルで始まる画像をスキャンする必要がないのでリソースが節約されるということである。
【００２５】
図１を参照すると、本開示の１つまたは複数の態様を実装することができる例示的なデバイスが示されている。たとえば、コンピューティングデバイス１００は、パーソナルコンピュータ、セットトップボックス、カメラ、電子ゲーム機デバイス、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、携帯情報端末、あるいは、コンピューティングデバイス１００が、動き、および／または他の感知された状態をユーザ入力の形態でキャプチャすることを可能にする１つまたは複数のセンサを備えた他のモバイルデバイスでよい。たとえば、コンピューティングデバイス１００は、１つまたは複数のカメラ、マイク、近接センサ、ジャイロスコープ、加速度計、圧力センサ、グリップセンサ、タッチスクリーン、および／または他のセンサを備えてもよく、通信可能に結合されてもよく、および／または他の方法で含んでもよい。以下でより詳細に説明するように、１つまたは複数のセンサを含むことに加えて、コンピューティングデバイス１００は、１つまたは複数のプロセッサ、メモリユニット、および／または他のハードウェアコンポーネントも含み得る。いくつかの実施形態では、デバイス１００は、自動車、たとえば自動車の中央コンソールに組み込まれている。
【００２６】
１つまたは複数の構成では、コンピューティングデバイス１００は、ジェスチャ、たとえばユーザがデバイス１００をタッチすることを含まない場合がある、デバイスの１人または複数のユーザによって実行されるジェスチャを認識するために、これらのセンサのうちのいずれか、および／またはすべてを単独で、あるいは組み合わせて使用することができる。たとえば、コンピューティングデバイス１００は、カメラ１１０などの１つまたは複数のカメラを使用して、他の可能な動作の中でも特に、手を振ること、またはスワイプの動きなどの、ユーザによって実行される手および／または腕の動作をキャプチャすることができる。加えて、たとえば、ユーザによって実行される体全体の動作（たとえば、歩行、ダンス等）などの、より複雑な、および／またはスケールの大きい動作が、１つまたは複数のカメラ（および／または、他のセンサ）によって同様にキャプチャされて、続いてコンピューティングデバイス１００によってジェスチャとして認識され得る。さらに別の例では、コンピューティングデバイス１００は、タッチスクリーン１２０などの１つまたは複数のタッチスクリーンを使用して、他の可能な動きの中でも特に、ピンチ、スワイプ、および回転などの、ユーザによって提供されるタッチベースのユーザ入力をキャプチャすることができる。ここでは、単独でジェスチャと考えられ得る、および／またはより複雑なジェスチャを形成するために他の動作または行為と結合され得る、これらのサンプルの動作は例として説明されているが、他の任意の種類の動き、動作、行為、または他のセンサでキャプチャされるユーザ入力は、同様に、コンピューティングデバイス（以下、「デバイス」と省略する場合がある。）１００などの本開示の１つまたは複数の態様を実装するコンピューティングデバイスによってジェスチャ入力として受信されてもよく、および／またはジェスチャとして認識されてもよい。
【００２７】
いくつかの実施形態では、たとえば、ユーザのジェスチャまたはジェスチャの変化の認識に基づいてコンピュータまたはメディアハブを制御するために、深度カメラなどのカメラが使用され得る。指紋の不明瞭な悪影響という欠点があるいくつかのタッチスクリーンシステムとは異なり、カメラベースのジェスチャ入力は、ユーザの自然な体の動作またはポーズに基づいて、写真、ビデオ、または他の画像を明確に表示する、または他の方法で出力すること可能にする。この利点を念頭に置いて、ユーザが画像オブジェクトに対して、閲覧、パン（すなわち、移動）、サイズ変更、回転、および他の操作を実行することを可能にするジェスチャを認識することができる。
【００２８】
構造化光カメラ、または飛行時間型カメラなどの深度カメラは、赤外線エミッタおよびセンサを含み得る。深度カメラは、赤外線光のパルスを生成して、続いて光がオブジェクトに移動してセンサに戻ってくるまでに要する時間を測定し得る。距離は、移動時間に基づいて計算され得る。以下でより詳細に説明するように、入力を検出または受信するために、および／あるいはジェスチャの検出を助けるために、他の入力デバイスおよび／またはセンサが使用され得る。
【００２９】
図２Ａおよび図２Ｂを参照すると、例示的なシナリオとしていくつかの実施形態にしたがったジェスチャを行っているユーザを記録する画像記録デバイスとしてカメラ２００を示している。画像記録デバイスは、図１における記述、およびデバイス１００と一致し得る。図２Ａで、ユーザは、記録されている間、カメラ２００に向かってジェスチャ２１０を行う。ジェスチャ２１０は、たとえば、ユーザの左手でカメラに向かって指差す動きでよい。カメラ２００は、ジェスチャを行っているユーザの単一の写真だけを記録することもでき、手を上げてジェスチャ２１０を行うユーザの画像のシーケンスを記録することもできる。記録した間、または記録する後、カメラ２００は、ジェスチャ２１０がユーザによって実行されているかどうかを検出するために、いくつかの実施形態による方法を実行することができる。
【００３０】
図２Ｂで、ユーザは、今度は右手で異なるジェスチャ２２０を行っている。ユーザは腕を上げて、右手を開く動きをカメラ２００に示してよい。他の場合、図２Ｂで、ユーザは右手をカメラに向かって振ってよい。いくつかの実施形態による方法は、右手によるジェスチャと左手によるジェスチャを区別することができる。いくつかの実施形態による方法は、ユーザのジェスチャは何でも検出することができる。図２Ａおよび図２Ｂは、ジェスチャのタイプの簡単な例にすぎない。
【００３１】
画像のシーケンス内のジェスチャ２１０または２２０を検出するための例示的な処理は、次の通りでよい。いくつかの実施形態では、１つまたは複数の参照画像内の第１のジェスチャが検出され得る。参照画像は、カメラ２００によって記録された画像のシーケンスの第１の画像内で検出されるジェスチャ２１０などの、画像のシーケンスの第１の画像でよい。いくつかの実施形態では、第１のジェスチャを効率的に検出するための方法を以下でさらに説明する。他の場合では、参照画像内の第１のジェスチャを検出するための方法は、当分野で知られている、単一の画像のジェスチャ検出方法によって実行され得る。たとえば左手でカメラを指差すなどの、第１のジェスチャを決定した後、いくつかの実施形態では、決定された第１のジェスチャに最も密接に一致するジェスチャモデルが選択される。モデルジェスチャは合成画像でもよく、または数百または数千のサンプル画像、または同じタイプのジェスチャのポーズに基づくモデルでもよい。たとえば、左手での指差しのジェスチャモデルは、指差す動きを行っている、数百または数千の異なる左手に基づいてよい。次いで、画像のシーケンス内の後の画像におけるジェスチャをより効率的に検出するために、ユーザのジェスチャ２１０に最も密接に類似しているジェスチャモデルが使用され得る。たとえば、図２Ａでカメラ２００によって記録された画像のシーケンスにおいて、方法は、左手の指差しのジェスチャモデルと類似または同一に見えるジェスチャの残りの画像のスキャンを開始してよい。左手の指差しのジェスチャモデルは、画像のシーケンスに対して比較されるべき第１のジェスチャモデルとして、残りの画像内のジェスチャを検出するために使用される他のジェスチャモデルよりも優先され得る。参照画像内で選択されたジェスチャモデルを優先することによって、いくつかの実施形態によるジェスチャを検出するための方法は、画像のシーケンス内の残りの画像内のジェスチャをより迅速に検出することによって、エネルギーと時間を節約することができる。
【００３２】
いくつかの実施形態では、パフォーマンスおよび効率をさらに向上するために、他のタイプの優先順位付けが使用される。例示的な優先順位付けは、第１のジェスチャモデルの後に第２のジェスチャモデルを優先すること、ジェスチャが検出された参照画像内の位置に基づいて後続の画像上の位置を優先すること、参照画像内で検出されたジェスチャのサイズに基づいて後続の画像のサイズを優先すること、およびどのタイプのジェスチャが、他のジェスチャよりも検出される可能性がより高いかを決定するために統計分析を使用することを含む。本方法は、以下でさらに説明する。
【００３３】
図３を参照すると、いくつかの実施形態による、ジェスチャをより効率的に検出するために、モデルジェスチャのデータベース３００が使用され得る。ここでは、データベース３００に格納された例示的なジェスチャ３０２、３０４、３０６、３０８、３１０、３１２、３１４、３１６、３１８、および３２０が、いくつかの実施形態によって検出可能な多くのタイプのジェスチャのほんの一部を示している。上述のように、いくつかの実施形態では、データベース３００はジェスチャモデルで構成されてよく、各ジェスチャモデルは、同じタイプのジェスチャの数百または数千の異なる画像に基づいて、異なるタイプのジェスチャ、たとえばジェスチャ３０２〜３２０の理想化された合成でよい。いくつかの実施形態では、モデルジェスチャは、単なる手のポーズ以上のモデルを含み得る。たとえば、モデルジェスチャは、腕のポーズ、顔の表情、人全体のポーズ、およびポーズのシーケンスで構成される動きの、理想化された合成を含み得る。実施形態は、これに限定されない。
【００３４】
いくつかの実施形態では、モデルと同じになるためのジェスチャの検索は、単にジェスチャをより効率的に検出するための第１の技法でよい。この技法がジェスチャを検出できない場合、以下で説明する他の技法が使用され得る。したがって、いくつかの実施形態では、このモデル利用技法が他の技法よりも優先される。いくつかの実施形態では、ジェスチャモデルを使用する検出は、他のモデルを使用する検出よりも優先される。いくつかの実施形態では、ジェスチャをより効率的に検出するために、他のタイプの優先順位付け技法が使用され得る。いくつかの例を、以下でさらに説明する。
【００３５】
いくつかの実施形態では、オブジェクトを追跡する際に比較される異なるモデルを格納するために、データベースまたはルックアップテーブル（ＬＵＴ）が使用され得る。たとえば、左手の開いた手のひらは、右手の開いた手のひらとは異なる格納された画像を有する場合がある。
【００３６】
いくつかの実施形態では、現在のフレームについての特徴の特定の検索を優先するために、以前のフレーム内の以前の検出から得られた情報が使用され得る。トラッカー係合のために、ポーズおよび位置は静止していてよい。これによって、事前情報に基づいて、操作モードの優先順位付けへの洞察を与えることができる。以前に左の開いた手のひらが検出された場合、左の開いた手のひらの検索は、右の開いた手のひらなどの他の任意のモデル応答の前に実行され得る。同様に、矩形が一致を含む位置が、後続の検索の開始点として選択され得る。加えて、以前に一致があったスケールが、開始点として選択され得る。
【００３７】
いくつかの実施形態では、あらかじめ定められたピクセルのブロックが、モデルのモデルサイズとして指定され得る（たとえば、右の開いた手のひらのモデルサイズが４０×４０ピクセルであると決定される）。このモデルサイズは、ジェスチャまたはポーズをよりよく検出するために、フレーム上で垂直および水平にスライドするブロックとして使用され得る。いくつかの実施形態では、次いで、ジェスチャモデルと適切に比較できるようにするために、モデルサイズと一致するために、ソース画像内で識別されたジェスチャまたはポーズがスケーリングされ得る。
【００３８】
いくつかの実施形態では、現在のフレーム内の最も可能性が高いジェスチャまたはポーズがどこにあるかを助けるために、以前のフレームからの検出が利用される。たとえば、その時に以前のジェスチャまたはポーズが検出されたピクセルの位置が優先され得る。したがって、処理およびメモリ利用が節約できる。いくつかの実施形態では、以前ジェスチャが検出された所与のスケール内の位置が優先され得る。たとえば、小さなオブジェクトの動きを可能にするために、この位置の周囲の一定の割合の領域、たとえば１０％が選択され得る。異なるスケールおよび検索が実行されるように、最終的なオブジェクト境界ボックスがスケーリングされ得る。これによって、いくつかのスケールが除去されることを回避することができる。
【００３９】
いくつかの実施形態では、現在のソース画像の検索において、以前検出されたジェスチャまたはポーズのスケールまたはサイズが優先され得る。たとえば、サイズ４０×４０ピクセルの開いた手のひらが以前検出された場合、サイズ４０×４０ピクセルの開いた手のひらの寸法が、現在のソース画像内でまず検索され得る。たとえば、４０×４０ピクセルに近いサイズの開いた手のひらが次に優先され得る。この技法はスケール優先順位付けと呼ばれ得る。
【００４０】
いくつかの実施形態では、以前ジェスチャが正確に検出されたスケールが優先され得る。所与のスケール上で一致を提供するいくつかの矩形、および／または、ジェスチャを含む矩形に対する矩形位置が、この手段として使用され得る。たとえば、検出／追跡されているオブジェクトの小さい動き（カメラ軸に沿った）を可能にするために、選択されたスケールの上下の１つのスケールが可能になってよい。
【００４１】
いくつかの実施形態では、より可能性が高いジェスチャまたはポーズをより迅速に決定するために、確率的使用統計が実装され得る。たとえば、確率的使用統計が、左手の開いた手のひらよりも右手の開いた手のひらが現れる可能性の方が高いことを示す場合、右手の開いた手のひらのジェスチャまたはポーズがまず検索され得る。
【００４２】
一般的に、ハンドヘルドデバイスは単一のユーザデバイスである。ユーザは、左／右利き、一定の距離からのデバイスの操作、および／または開いた手のひらのサイズなどの、利用に関して関連付けられる特定の統計性質を有する場合がある。説明した処理は、より広範な検索を実行する前に、これらの特性について優先され得る。このモデルは、係合ごとに実行される最初のオブジェクト検出の処理時間を確率的に最小化することができる。
【００４３】
特性ごとの確率モデルは、デバイス上のユーザのために維持され得る。確率モデルは、使用するたびに更新され得る。たとえば、ユーザが右の開いた手のひらを係合の５０％以上使用すると、左の開いた手のひらの前に、右の開いた手のひらが検索される。開いた手のひらのサイズまたはスケーリングレベルの確率を使用して、検索のためのスケールレベルを優先することができる。
【００４４】
いくつかの実施形態では、ジェスチャまたはポーズの検索は、あらかじめ定められた数のジェスチャまたはポーズがすでに検出されると、早く終了するように指定され得る。たとえば、フレーム内で３つの開いた手のひらの画像を見つけると、追跡装置がスキャンを停止することができる。この処理によって、残りのフレームをスキャンする必要がなくなるので、処理およびメモリ利用を節約することができる。
【００４５】
たとえば、手の最大数を１と指定すると、検出器は１つの一致が見つかるとすぐに返すことができる。いくつかの実施形態では、係合は、モバイルデバイス内のジェスチャ認識の場合、ジェスチャを１つだけ見つけることを含み得る。たとえば、テレビやアプリケーションでは、検出および追跡される手の数は最大で１０である。いくつかの実施形態では、異なる数の手が検出および／または追跡され得る。
【００４６】
たとえば、処理を減らす、および／または電力を節約するために、検出されるべきジェスチャの優先順位付けと最大数、フレームの検索ピクセル位置、および／または、以下の第１のモデルの一致が取得されるフレームの組合せが使用され得る。いくつかの実施形態では、係合および／または再係合シナリオのためにオブジェクト／モデルが検出される第１のフレームまでのみ、オブジェクト検出器が過剰な計算を実行する場合がある。第１のフレーム処理時間は、利用統計またはユーザの習慣に依存する場合がある。実質的には、第１の検出処理負荷が継時的に低下し得る（たとえば、適切な利用統計が利用可能な場合）。
【００４７】
すべてのスケールの検出の数がしきい値を下回る場合、優先された検索の代わりに完全検索が実行され得る。加えて、継時的に矩形の数が減少している場合（たとえば、複数のフレームにわたって）、しきい値に達すると完全検索が実行され得る。これによって、オブジェクトの移動または向きの変化による偽陰性を回避することができる。各スケールの空間的近傍に多くの一致が存在する場合があり、加えて複数の隣接するスケールからの一致がある場合があるので、複数の矩形が検出され得る。すでに検索された位置の検索は、優先検索によって回避され得る。
【００４８】
同様に、肯定的な検索結果がしきい値を超える場合、完全検索の代わりに優先検索が実行され得る。
【００４９】
いくつかの実施形態では、画像内のオブジェクトのジェスチャまたはポーズをより効率的に検出するために、これらの優先順位付けのうちの任意のまたはすべての組合せが実装され得る。たとえば、いくつかの実施形態では、ジェスチャがソース画像のシーケンス内で実行されているかどうかを決定するために、優先されたジェスチャモデル、優先された位置、および優先されたスケールの組合せが使用され得る。組合せは、たとえば３つのすべてのタイプの優先順位付けを含んでもよく、または３つのうちの２つだけを含んでもよい。優先順位付けの組合せを使用してジェスチャが実行されているかどうかを決定する場合、たとえば、まず第１のジェスチャモデルを使用してソース画像がスキャンされて、優先されたスケールでスケーリングされて、優先された位置の位置であってよい。あるいは、組合せが、第１のジェスチャモデルと優先されたスケールだけを含む場合、第１のジェスチャモデルが使用されて、優先されたスケールでサイズ変更されてよく、たとえばソース画像の左上角などの何らかのデフォルト位置でスキャンを開始してよい。当業者は、ソース画像内でジェスチャが実行されているかどうかを決定するために、他の組合せがどのように使用され得るかを容易に理解できるであろう。
【００５０】
図４を参照すると、ブロック図４００が、いくつかの実施形態による、参照画像内のジェスチャを検出するための例示的な方法フローを示している。ここで示されているサンプル技法は、最初にジェスチャを検出するための処理でよく、その後、後続の画像内のジェスチャの検出するために、モデル優先順位付け、または上述の他のタイプの優先順位付けがこれに基づき得る。この例示的なフローは、図示されるような４つの処理、スケーリング、前処理、応答計算、および矩形結果処理を含み得る。スケーリングは、異なるサイズの開いた手のひら、あるいは他のジェスチャまたは制御の検出を処理することができる。ジェスチャと思われる画像の一部の検出は、あらかじめ定められたサイズのジェスチャモデル、または比較に使用される他のタイプのデータベース画像に適合するように拡大または縮小され得る。前処理段階は、しわ、影、およびジェスチャを行っている体の部分に共通する他の線などの特徴を生成することができる。第３の段階は、特定の分類器段階の選択された特徴への応答を計算することができる。最終段階は、任意の誤検出および／または重複検出を削除することができる。最初の２段階は、たとえばＳＩＭＤ  ＤＳＰおよびＧＰＵ内に存在する数学的ハードウェアユニットを使用する、加速のための候補でよい。いくつかの実施形態では、第３の段階（たとえば、カスケード接続された分類器）は、過剰なデータフェッチ指向を含む場合があり、処理能力およびメモリ帯域幅の大部分を消費する場合がある。第３の段階は、以下でさらに論じる。高速メモリおよびキャッシュプリフェッチを使用することによって、ＣＰＵストールに関連するデータフェッチを最小化することができる。最終段階は、検出されたジェスチャ矩形位置をグループ化することを含み、誤／重複矩形を削除して、ジェスチャを含む最終矩形位置を提供することができる。この段階は、ＣＰＵおよびメモリの使用量が少なくなるように実装され得る。
【００５１】
実施形態は、図４で説明した方法を様々な装置内で実行することができる。たとえば、入力は、たとえばジェスチャ検出システムのカメラによってキャプチャされたような、ビデオフレームまたは他の画像を備え得る。図４は、たとえば、図１内の装置、または図２内のカメラによって実装され得る。また、一定の動きまたはポーズは、係合ジェスチャとして使用され得る。ユーザは、様々なジェスチャ、動き、またはポーズを実行することができ、それらはいくつかの実施形態の装置によって検出され得る。次いで、本装置は、本明細書に記載の方法のうちの少なくともいくつかを行うことができる。
【００５２】
図５を参照すると、ブロック図５００が、応答を計算する処理の例示的な処理フローを示している。このブロック図５００は、たとえば図４の応答計算機ブロックを実装するための例示的な処理でよい。一般的に、ブロック図５００は、ジェスチャが画像内にあるかどうかを決定するための方法を示している。図５は、２段階方法を使用してジェスチャを検出するための効率的な方法を説明し得る。第２の段階は、追跡詳細のレベルを第１の段階よりも上げることを伴い得る。たとえば、検出の第１の段階は、ｎ個のピクセルごとに、水平および垂直に１つのピクセルを検索すること（たとえば、（ｘ＋／−４，ｙ＋／−４）パターン内のフレームの４番目のピクセルごとに検索すること）を伴う。これは、ブロック５０５および５１０に示されている。ブロック５１０は、計算応答機能によるジェスチャ検出分析が、ユーザの手または他の体の部分のサインを検出するかどうかを決定するために、しきい値テストを行う。処理フロー５００は、それぞれのしきい値サイズ領域（たとえば、４×４ピクセル領域、３×３ピクセル領域等）内のピクセルについて、領域ごとに応答が得られるまでブロック５０５および５１０を通じてループし得る。
【００５３】
第２の段階は、所望のジェスチャまたはポーズが検出された領域またはピクセルだけに焦点を当てることができ、したがって必要なスキャンの数が減少する。したがって、第２の段階は、詳細レベルが増加した、より焦点を絞った領域、たとえば２番目のピクセルごと（ｘ＋／−２，ｙ＋／−２）、または１つ１つのピクセル（ｘ＋／−１，ｙ＋／−１）を検索し得る。ブロック５１５および５２０は、別の反復ループを伴うこの分析を表している。ここでは、ジェスチャを検出した第１の段階におけるピクセルの周囲でのみ、より細かいレベルのジェスチャ検出が使用されている。このように、第２の段階はより細かいレベルの詳細を有するが、肯定的な検出をもたらした第１の段階からの画像の一部だけに焦点を当てている。ブロック５２０で、計算応答機能が何らかの最大しきい値を上回ると決定されると、体の一部の肯定的な検出を示し、次いで、スキャンされたピクセルでジェスチャが実行されているブロック５２５で終了し得る。
【００５４】
いくつかの実施形態では、多段階のカスケード接続された処理が使用され得る。たとえば、８段階のカスケーディング処理が使用されてよく、段階１〜４は、４番目のピクセルごとに検索し、段階５〜６は、段階１〜４において肯定的な検出を有するピクセルの周囲だけの２番目のピクセルごとに検索し、段階７〜８は、段階５〜６において肯定的な検出を有するピクセルの周囲だけのすべてのピクセルを検索する。次いで、最後のカスケード段階が一定のピクセルで肯定的な検出をもたらす場合、所望のジェスチャまたはポーズがそれらの一定のピクセルでフレーム内に存在すると決定され得る。各段階は、ジェスチャ／ポーズ検出の高い信頼性があるピクセルの周囲だけの詳細レベルの増加に焦点を当てているので、ジェスチャもポーズも検出されないピクセルの高い詳細レベルを追跡しないことによって処理および時間が節約される。
【００５５】
図６を参照すると、図６００は、本明細書に記載の多段階カスケーディング処理によるカスケーディングアルゴリズムを利用するいくつかの実施形態の例示的な処理フローを示している。たとえば、計算応答がカスケード段階０および１の４番目の位置ごとに計算応答が実行され得る場合、段階０および１の計算がすべてのピクセルに実行される場合と比較して、サイクルの約７２％が節約され得る。図６で、ブロック６０５、６１０、および６１５は、いくつかの実施形態では、たとえば４のステップサイズなどの第１のステップサイズにおいてピクセルごとに実行され得る。次いで、ブロック６０５、６１０、および６１５は、いくつかの実施形態では、たとえば２のステップサイズなどの第２のステップサイズにおいてピクセルごとに実行され、次いで、ある実施形態では、たとえば１のステップサイズなどの第３のステップサイズについて実行され得る。
【００５６】
図６で、複数のステップサイズは、たとえば上述のように４、２、１を備え得る。いくつかの実施形態では、ステップサイズは８、４、２、１を備える。いくつかの実施形態では、他のステップサイズが使用され得る。いくつかの実施形態では、４、２、１の検索ステップサイズを利用することによって、同じ検出精度の従来の方法と比較して約３０％スピードアップする。
【００５７】
本方法では、カスケード分類器上で開いた手のひらまたはオブジェクトがあり得るという確信が高まるにつれてステップサイズが徐々に減少するため、検出精度が保持または改善され得る。たとえば、真の陰性を返す最初の２段階は、たとえば４−２−１検索の場合の４などの、最大ステップサイズを保持することができる。すなわち、最初の２段階に位置が戻った時に、さらなる検索のために３つの位置をスキップする。カスケード分類器が段階３〜８に行った場合、段階３〜８に行った位置の周囲に＋／−２の検索が実行され得る。最後に、検出器からジェスチャが検出されると、検索位置が、オブジェクトが検出された位置の周囲で＋／−１改良され得る。したがって、検索ステップサイズは、オブジェクトまたは開いた手のひらの外の領域では４でよく、それによって余分な計算を回避することができる。さらに、検出されているジェスチャを含む領域内の、すべてのピクセル位置が検索され得る点に留意されたい。このように、図６に示される処理は、従来のジェスチャ検出方法と比較してサイクルを３０％節約しながら、検出精度を保持することができる。
【００５８】
いくつかの実施形態では、８個のカスケード接続された段階がある。前のカスケード段階が、すべての開いた手のひらの矩形および他の矩形を次の段階で処理されるように渡す。段階が進むにつれて、偽陰性の量が減少する。また、最後の段階が完了すると、検出されたジェスチャがある場合はそれが返される。任意のピクセル位置で、すべての段階が終了でき、それによって画像がジェスチャを有していないことを示す。
【００５９】
さらに、ステップサイズは、ビデオフレームの４つの境界のフレーム境界内に収まるように切り取られてよい。たとえば、４のステップサイズを作ることが有効なピクセル領域を越える場合、ステップサイズは、検索ピクセル位置を有効領域内の最後の可能なピクセルに保持するために切り取られてよい。これによって、境界ボックスエッジが有効なピクセル領域の境界に近いオブジェクトの検出精度を向上させることができる。
【００６０】
図７を参照すると、グラフ７００は、各カスケード接続された段階で発生し得る処理の例示的な量を示している。この例では、いくつかの実施形態では、ピクセル位置の８６％が、開いた手のひらを検出することなしに段階０で返されている。この場合、スキャンされた画像は、単一のジェスチャである開いた手のひらを含んでいる。ピクセル位置の別の１０％は段階１で返されており、その位置が開いた手のひらを有していないことを示している。残りの段階２から段階７は、開いた手のひらのないより少数の位置を返している。すべての段階が開いた手のひらを通過する場合、開いた手のひらの位置を返す位置は、ｘ軸ラベル８に表示される。図７が示すように、段階０ではピクセルの大部分が所望のポーズの兆候を有していなかったので、それらのピクセルの周囲を検索する必要はないと思われ、処理および時間を節約することができる。図７によって、時間の大部分が、ピクセル位置（４０×４０ピクセルの大きさ）の大多数を処理する際に段階０および段階１で費やされているということがわかる。検出精度に影響を与えることなく、段階０および段階１によって処理されるピクセルの量を低減して、それによってサイクルを節約することが望ましい場合がある。いくつかの実施形態は、ステップサイズを狭めて検索する、またはモデルマッチングするというアイデアを実装する。
【００６１】
図８を参照すると、図表８００は、ビデオフレーム上で水平および垂直にスライドする４０×４０ピクセルのモデルディメンションブロック８１０を示している。いくつかの実施形態では、ブロック（４０×４０）は、カスケード接続された段階における検出の第１の段階で使用される増分領域を表し得る。モデルディメンションブロック（以下、「ブロック」と省略する。）８１０は、画像にわたって垂直および水平にスライドさせることによってジェスチャの画像を徐々にスキャンすることができる。一旦ブロック８１０がそのディメンション内にジェスチャを検出すると、ブロック８１０がジェスチャを見つけた位置内のより細かい解像度のスキャンが実行され得る。このスキャンは、上述のカスケード接続された段階と一致する場合がある。たとえば、ブロック８１０は、ブロック８１０がジェスチャ８２０を見つけるまで、段階０のスキャンだけを実行することができる。ブロック８１０が、開いた手のひらのジェスチャ８２０が位置する場所まで垂直および水平にスライドすると、実際にはジェスチャがそこに位置していることをより正確に決定するために、より高い段階のスキャンが実行され得る。いくつかの実施形態では、モデルディメンションに一致するために、ビデオ内の開いた手のひらのサイズが、モデルによって表される開いた手のひらと一致するようにビデオフレームが正規化され得る。
【００６２】
様々な実施形態による方法および装置は、以下の利点を提供することができる。
【００６３】
１．カスケード分類器の応答を使用して、４、２、１のステップサイズの適合および改良で検出精度を落とさずに、サイクルおよび帯域幅を３０％以上節約する。
【００６４】
２．係合が一定の時間（たとえば、５００ミリ秒）の間静止しているオブジェクトを含む、第１のオブジェクト検出の後、サイクル、帯域幅、および電気を９０％以上節約することができる。
【００６５】
３．最初のオブジェクト検出性能が、以前の利用／係合統計から改善する。ユーザ特性に応じて、処理時間を最大５０％減少することができる。
【００６６】
４．実施形態は、ハードウェア開発および並行処理にとって使いやすい。
【００６７】
５．実施形態が高速であり、モバイル電池式デバイス上の手のジェスチャ認識を実現可能にする。
【００６８】
図９Ａを参照すると、流れ図９００は、いくつかの実施形態による例示的な方法論を示している。いくつかの実施形態では、ブロック９０２から開始して、複数のジェスチャモデルから１つまたは複数のジェスチャモデルを使用して、１つまたは複数の参照画像のそれぞれの中でジェスチャが検出され得る。検出は、たとえば、上述の処理のうちのいずれかによって実行され得る。１つまたは複数のジェスチャモデルは、図２または図３で説明した例示的なジェスチャのうちのいずれでもよく、又は任意の数のジェスチャに基づく他の任意のタイプのジェスチャモデルでもよい。ブロック９０２における検出は、１つまたは複数の参照画像内のスキャンされたジェスチャと複数のジェスチャモデルを比較することによって、１つまたは複数のジェスチャモデルを使用することができる。たとえば、右の開いた手のひらが参照画像内に記録されると、次いで、スキャンされたジェスチャが、最も一致するジェスチャモデルが見つかるまで、まず左の開いた手のひらのモデル、次いで左の握った拳のモデル、次いで右の開いた手のひらのモデル、以下同様と比較される。いくつかの実施形態では、適切な比較を実行するために、まず参照画像内のスキャンされたジェスチャが、まずジェスチャモデルの比較可能なサイズにスケーリングされ得る。ブロック９０２は、たとえば、デバイス１００またはカメラ２００によって実装され得る。
【００６９】
ブロック９０４で、第１のジェスチャモデルが、ブロック９０２で検出されたジェスチャに最も密接に一致すると選択され得る。第１のジェスチャモデルは、ブロック９０２で比較された１つまたは複数のジェスチャモデルの中のジェスチャモデルでよい。たとえば、右の開いた手のひらのジェスチャモデルが、右の開いた手のひらの検出されたジェスチャの第１のジェスチャモデルとして選択され得る。ブロック９０４は、たとえば、デバイス１００またはカメラ２００によって実装され得る。
【００７０】
ブロック９０６で、画像のシーケンス内のジェスチャを検索するために、第１のジェスチャモデルが他のジェスチャモデルよりも優先され得る。一旦１つまたは複数の参照画像内のジェスチャが検出されると、ブロック９０４で選択された第１のジェスチャモデルは、ソース画像内のジェスチャを検索する際に比較される第１のモデルでよい。いくつかの実施形態では、１つまたは複数の参照画像は、ソース画像のシーケンスの以前の画像である。たとえば、１つまたは複数の参照画像はビデオの最初のフレームでよく、ビデオの残りのフレームはジェスチャ検出を対象とする後続の画像でよい。したがって、参照画像内で検出されたジェスチャは、後続のソース画像内に存在するジェスチャである可能性が高く、第１のジェスチャモデルの優先順位付けを非常に効率的にする。ブロック９０６は、たとえば、デバイス１００またはカメラ２００によって実装され得る。
【００７１】
ブロック９０８で、ソース画像内でジェスチャが実行されているかどうかを決定するために、第１のジェスチャモデルを使用して、ソース画像のシーケンスがスキャンされ得る。言い換えれば、第１のジェスチャモデルが他のジェスチャモデルよりも優先されるので、ソース画像のシーケンスをスキャンするために第１のジェスチャモデルが使用される。ブロック９０８は、たとえば、デバイス１００またはカメラ２００によって実装され得る。
【００７２】
ブロック９１０で、ソース画像のシーケンス内でジェスチャが実行されていると決定されると、次いで、ジェスチャ検出のために別のジェスチャモデルを使用する前にスキャンが終了してよい。いくつかの実施形態では、第１のジェスチャモデルによってジェスチャが検出されない場合、スキャンを継続することができる。ブロック９１０は、たとえば、デバイス１００またはカメラ２００によって実装され得る。
【００７３】
図９Ｂを参照すると、流れ図９５０は、いくつかの実施形態による、別の例示的な方法論を示している。ブロック９５２、９５４、および９５６は、それぞれブロック９０２、９０４、および９０６に関連して論じた説明と一致し得る。ブロック９５２、９５４、および９５６は、たとえば、デバイス１００またはカメラ２００によって実装され得る。
【００７４】
いくつかの実施形態では、１つまたは複数の参照画像内で検出されたジェスチャの他の特性も同様に優先され得る。実施形態に応じて、これらの優先順位付けのうちのいくつか、またはすべてが実装されてもよく、またいずれも実装されなくてもよく、実施形態はそれに限定されない。たとえば、ブロック９５８で、１つまたは複数の参照画像内で検出されたジェスチャの位置は、画像内の他の位置よりも優先され得る。たとえば、ジェスチャのソース画像のスキャンを開始するとき、１つまたは複数の参照画像内でジェスチャが検出された位置が、他の位置よりも先にスキャンされ得る。ブロック９５８は、たとえば、デバイス１００またはカメラ２００によって実装され得る。
【００７５】
ブロック９６０で、１つまたは複数の参照画像内で検出されたジェスチャのスケールが、ソース画像内の他のスケールよりも優先され得る。たとえば、１つまたは複数の参照画像内で検出されたジェスチャのサイズが約４０×４０ピクセルだった場合、ソース画像内のジェスチャをスキャンする際に４０×４０スケールがまず使用され得る。ブロック９６０は、たとえば、デバイス１００またはカメラ２００によって実装され得る。
【００７６】
ブロック９６２で、第１のジェスチャモデルの後ではあるが、第２のジェスチャモデルが他のジェスチャモデルよりも優先され得る。たとえば、第１のジェスチャモデルが右の開いた手のひらである場合、第２のジェスチャモデルは右の握った手として指定されてよい。第２のジェスチャモデルの選択は、何らかの最初のジェスチャの後で、次に現れる最も可能性が高いジェスチャに基づいて、統計的方法または分析に基づいてよい。他の場合、第２のジェスチャは、たとえば、参照画像の異なる場所で見つかった、またはユーザ入力に基づく、以前に記録または検出されたジェスチャとして選択され得る。第１のジェスチャモデルの後ではあるが、第２のジェスチャモデルを、他のジェスチャモデルよりも優先することによって、第１のジェスチャモデルがジェスチャモデルの検出に失敗した場合、ジェスチャを検索するために第２のジェスチャモデルが使用されることを示し得る。ブロック９６２は、たとえば、デバイス１００またはカメラ２００によって実装され得る。
【００７７】
ブロック９６４で、ジェスチャがソース画像のシーケンス内で実行されているかどうかを決定するために、たとえばブロック９５６、９５８、９６０、または９６２内で、優先順位付けのうちのいずれかを使用して、ソース画像のシーケンスがスキャンされ得る。やはり、これらの優先順位付けのうちのいくつか、すべてが使用されてもよく、いずれも使用されなくてもよい。これらは単にいくつかの例にすぎないので、これらの開示において論じた説明のうちのいずれかと一致する他の優先順位付けが使用され得る。ブロック９６４は、たとえば、デバイス１００またはカメラ２００によって実装され得る。
【００７８】
決定ブロック９６６で、方法は、ソース画像のシーケンス内でジェスチャが検出されるかどうかを決定することができる。検出は、ブロック９６４で論じた優先順位付け、およびこれらの開示で論じた検出方法のいずれか（たとえば、カスケード接続された段階等）に基づいてよい。いくつかの実施形態では、本明細書で論じた優先順位付けとともに、当分野で知られている他の検出方法が使用され得る。決定ブロック９６６は、たとえば、デバイス１００またはカメラ２００によって実装され得る。
【００７９】
決定ブロック９６６での決定がイエスの場合、次いでブロック９６８で、ジェスチャ検出のために別のジェスチャモデルを使用する前にスキャンが終了してよい。ブロック９７０で、決定がノーの場合、次いで、ジェスチャが実行されているかどうかを決定するために、第２のジェスチャモデルを使用してソース画像のシーケンスがスキャンされ得る。たとえば、右の握った手が、ソース画像のシーケンス内のジェスチャをスキャンするために使用される第２のジェスチャモデルでよい。さらに、第２のジェスチャモデルとともに他の優先順位付けも採用され得る。他の場合、他の優先順位付け、たとえば、位置優先順位付け、スケール優先順位付け等は使用することができず、あるいは異なる位置、またはスケール等を優先するためにそれらが修正され得る。当業者は、本明細書の開示による優先順位付けの多くの組合せが可能であること、および実施形態はそれに限定されないことが理解できるであろう。
【００８０】
上で論じた方法、システム、およびデバイスは例である。様々な実施形態は、様々な手順または構成要素を、適宜省略、置換、または追加することができる。たとえば、代替構成では、説明された方法は、説明された順序とは異なる順序で実行されてよく、および／または様々な段階が追加、省略、および／または結合されてよい。また、特定の実施形態に関して説明された特徴は、他の様々な実施形態と結合されてよい。本実施形態の異なる態様および要素が、同様の方法で結合されてよい。また、技術は進化するので、要素の多くは、本開示の範囲をこれらの具体例に限定しない例である。
【００８１】
実施形態の完全な理解を提供するために、具体的な詳細が本明細書に記載されている。しかしながら、実施形態はこれらの具体的な詳細なしに実践され得る。たとえば、よく知られている回路、処理、アルゴリズム、構造、および技法は、実施形態を曖昧にすることを回避するために、不要な詳細なしに示されている。この説明は、例示的な実施形態を提供するにすぎず、本発明の範囲、適用性、または構成を限定することを意図するものではない。むしろ、本実施形態の上記の説明は、本発明の実施形態を実装するための可能な説明を当業者に提供するであろう。本発明の趣旨および範囲から逸脱することなしに、要素の機能および構成に様々な変更が行われてよい。
【００８２】
また、いくつかの実施形態は、流れ図またはブロック図として示される処理として説明された。それぞれは操作を連続的な処理として説明し得るが、操作の多くは並行して、または同時に実行され得る。加えて、操作の順序は並べ替えられてよい。処理は、図面には含まれていない追加のステップを有してよい。さらに、本方法の実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードに実装されると、関連するタスクを実行するためのプログラムコードまたはコードセグメントが、記憶媒体などのコンピュータ可読媒体に格納され得る。プロセッサは、関連するタスクを実行することができる。
【００８３】
本開示の趣旨から逸脱することなしに、様々な修正形態、代替構造、および均等物が使用され得る。たとえば、上記の要素は、より大きなシステムの構成要素にすぎない場合があり、他のルールが本発明の適用よりも優先されてもよく、あるいは本発明の適用を修正してもよい。また、いくつかのステップが、上記の要素が考慮される前に、その間に、またはその後に行われてよい。したがって、上記の説明は本開示の範囲を限定しない。
【００８４】
複数の態様を上記で説明してきたが、ここでは、そのような態様が実装され得るコンピューティングシステムの例を図１０に関連して説明する。１つまたは複数の態様によれば、図１０に示されるようなコンピュータシステムは、コンピューティングデバイスの一部として組み込まれてよく、本明細書に記載の特徴、方法、および／または方法ステップのうちの、いずれか、および／またはすべてを、実装、実行、および／または遂行することができる。たとえば、図４、５、６、９Ａ、および９Ｂに示されるようなブロックのうちのいずれか、またはすべてを実装するために、プロセッサ１０１０、非一時的ワーキングメモリ１０３５、および通信サブシステム１０３０のうちの１つまたは複数が使用され得る。たとえば、コンピュータシステム１０００は、ハンドヘルドデバイスの構成要素のうちのいくつかを表すことができる。ハンドヘルドデバイスは、カメラおよび／またはディスプレイユニットなどの入力センサユニットを備えた任意のコンピューティングデバイスでよい。ハンドヘルドデバイスの例には、これに限定されないが、ビデオゲーム機、タブレット、スマートフォン、およびモバイルデバイスがある。いくつかの実施形態では、コンピュータシステム１０００は、上述のデバイス１００または２００を実装するように構成される。図１０は、本明細書に記載されるように、他の様々な実施形態によって提供される方法を実行することができる、および／またはホストコンピュータシステム、遠隔キオスク／端末、販売時点情報管理システムデバイス、モバイルデバイス、セットトップボックス、および／またはコンピュータシステムとして機能することができる、コンピュータシステム１０００の一実施形態の概略的な説明を提供する。図１０は、様々な構成要素の一般的な説明を提供することを意図するにすぎず、それらの構成要素のうちのいずれか、および／またはすべては適宜利用され得る。したがって、図１０は、個々のシステム要素がどのように比較的別々に、または比較的より統合された方法で実装され得るかを広範に示している。
【００８５】
コンピュータシステム１０００は、バス１００５を介して電気的に結合され得る（または、適宜通信することができる）ハードウェア要素を備えるように示されている。ハードウェア要素は、これに限定されないが、１つまたは複数の汎用プロセッサ、および／または１つまたは複数の専用プロセッサ（デジタル信号処理チップ、グラフィックアクセラレーションプロセッサ、および／または同類のものなど）を含む１つまたは複数のプロセッサ１０１０、これに限定されないが、カメラ、マウス、キーボード、および／または同類のものを含み得る１つまたは複数の入力デバイス１０１５、ならびに、これに限定されないが、ディスプレイユニット、プリンタ、および／または同類のものを含み得る１つまたは複数の出力デバイス１０２０を含み得る。
【００８６】
コンピュータシステム１０００は、これに限定されないが、ローカルおよび／またはネットワークアクセス可能記憶装置を備え得る１つまたは複数の非一時的記憶装置１０２５をさらに含んでもよく（および／または、それと通信してもよく）、ならびに／あるいは、これに限定されないが、プログラム可能な、フラッシュで更新可能な、および／または同等の、ディスクドライブ、ドライブアレイ、光記憶装置、ランダムアクセスメモリ（「ＲＡＭ」）および／または読出し専用メモリ（「ＲＯＭ」）などのソリッドステート記憶装置を含んでもよい。そのような記憶装置は、これに限定されないが、様々なファイルシステム、データベース構造、および／または同類のものを含む、任意の適切なデータ記憶装置を実装するように構成され得る。
【００８７】
コンピュータシステム１０００は、これに限定されないが、モデム、ネットワークカード（ワイヤレスまたはワイヤード）、赤外線通信デバイス、ワイヤレス通信デバイスおよび／またはチップセット（ブルートゥース（登録商標）デバイス、８０２．１１デバイス、Ｗｉ−Ｆｉ（登録商標）デバイス、ＷｉＭＡＸ（登録商標）のデバイス、セルラー通信設備など）および／または同類のものを含み得る、通信サブシステム１０３０も含み得る。通信サブシステム１０３０は、ネットワーク（一例を挙げると、以下で説明するネットワークなど）、他のコンピュータシステム、および／または本明細書に記載の他の任意のデバイスとのデータの交換を可能にすることができる。多くの実施形態では、コンピュータシステム１０００は、上述のように、ＲＡＭまたはＲＯＭデバイスを含み得る非一時的ワーキングメモリ１０３５をさらに備え得る。
【００８８】
コンピュータシステム１０００は、オペレーティングシステム１０４０、デバイスドライバ、実行可能ライブラリ、および／または１つまたは複数のアプリケーションプログラム１０４５などの他のコードを含む、非一時的ワーキングメモリ１０３５内に位置するように示される、ソフトウェア要素も備えてよく、様々な実施形態によって提供される、ならびに／あるいは方法を実装するように、および／または本明細書に記載されるように他の実施形態によって提供されるシステムを構成するように設計され得る、コンピュータプログラムを備えてよい。単に例にすぎないが、上述の方法に関して説明した、たとえば図４、５、６、９Ａ、および９Ｂに関して説明した１つまたは複数の手順は、コンピュータ（および／またはコンピュータ内のプロセッサ）によって実行可能なコードおよび／または命令として実装されてよく、ある態様では、そのようなコードおよび／または命令は、説明した方法によって１つまたは複数の操作を実行するように汎用コンピュータ（または他のデバイス）を構成および／または適合するために使用され得る。
【００８９】
これらの命令および／またはコードのセットは、上述の非一時的記憶装置１０２５などのコンピュータ可読記憶媒体に格納され得る。場合によっては、記憶媒体は、コンピュータシステム１０００などのコンピュータシステム内に組み込まれ得る。他の実施形態では、記憶媒体は、コンピュータシステム（たとえば、コンパクトディスクなどのリムーバブル媒体）と分離していてもよく、および／またはインストールパッケージで提供されてもよいので、記憶媒体は、格納された命令および／またはコードで汎用コンピュータをプログラム、構成、および／または適合するために使用され得る。これらの命令は、コンピュータシステム１０００によって実行可能な実行可能コードの形式をとってもよく、ならびに／あるいは、ソースおよび／またはインストール可能コードの形式をとってもよく、コンピュータシステム１０００上でコンパイルおよび／またはインストールされると（たとえば、任意の多種多様な一般的に利用可能なコンパイラ、インストールプログラム、圧縮／解凍ユーティリティ等のいずれかを使用して）、実行可能コードの形式をとる。
【００９０】
実質的な変形は、特定の要件に応じて行われてよい。たとえば、カスタマイズされたハードウェアが使用されてもよく、および／あるいは特定の要素がハードウェア、ソフトウェア（アプレット等のポータブルソフトウェアを含む）、またはその両方に実装されてもよい。さらに、ネットワーク入力／出力デバイスなどの他のコンピューティングデバイスへの接続が採用されてよい。
【００９１】
いくつかの実施形態は、本開示による方法を実行するために、コンピュータシステム（コンピュータシステム１０００など）を採用することができる。たとえば、説明された方法の手順のうちのいくつかまたはすべては、非一時的ワーキングメモリ１０３５に含まれる１つまたは複数の命令の１つまたは複数のシーケンス（オペレーティングシステム１０４０、および／またはアプリケーションプログラム１０４５などの他のコードに組み込まれ得る）を実行するプロセッサ１０１０に応答してコンピュータシステム１０００によって実行され得る。そのような命令は、１つまたは複数の非一時的記憶装置１０２５などの別のコンピュータ可読媒体から、非一時的ワーキングメモリ１０３５に読み込まれてよい。単に例示にすぎないが、非一時的ワーキングメモリ１０３５に含まれる命令のシーケンスの実行は、プロセッサ１０１０に、本明細書に記載の方法の１つまたは複数の手順、たとえば、図４、５、６、９Ａ、および９Ｂのいずれかに関して説明された方法の要素のうちの１つまたは複数を実行させることができる。
【００９２】
本明細書で使用される場合、「機械可読媒体（ｍａｃｈｉｎｅ−ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）」および「コンピュータ可読媒体（ｃｏｍｐｕｔｅｒ−ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）」という用語は、機械に特定の方法で操作させるデータの提供に関与する任意の媒体を指す。コンピュータシステム１０００を使用して実装されたある実施形態では、様々なコンピュータ可読媒体は、実行するためにプロセッサ１０１０に命令／コードを提供することに関与してもよく、そのような命令／コードを（たとえば、信号として）格納および／または搬送するために使用されてもよい。多くの実装形態では、コンピュータ可読媒体は、物理的および／または有形の記憶媒体である。そのような媒体は、これに限定されないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、多くの形式をとることができる。不揮発性媒体は、たとえば、非一時的記憶装置１０２５などの光および／または磁気ディスクを含む。揮発性媒体は、これに限定されないが、非一時的ワーキングメモリ１０３５などのダイナミックメモリを含む。伝送媒体は、これに限定されないが、同軸ケーブル、バス１００５を備えるワイヤを含む銅線および光ファイバ、ならびに通信サブシステム１０３０の様々なコンポーネント（および／または通信サブシステム１０３０が他のデバイスとの通信を提供する媒体）を含む。したがって、伝送媒体は、波形（これに限定されないが、電波および赤外線データ通信中に生成されるような、無線、音響、および／または光波形を含む）の形式をとることもできる。
【００９３】
１つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装され得る。ソフトウェアに実装されると、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体に格納されてもよく、それを介して伝送されてもよい。コンピュータ可読媒体は、コンピュータデータ記憶媒体を含み得る。データ記憶媒体は、本開示に記載の技法を実装するための命令、コード、および／またはデータ構造を取り出すために、１つまたは複数のコンピュータ、あるいは１つまたは複数のプロセッサによってアクセス可能な任意の利用可能な媒体でよい。本明細書で使用される場合、「データ記憶媒体（ｄａｔａ  ｓｔｏｒａｇｅ  ｍｅｄｉａ）」は製品を指し、一時的な伝搬信号を指すものではない。例を挙げると、これに限定されないが、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、または他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは所望のプログラムコードを命令またはデータ構造の形式で格納するために使用され得る、およびコンピュータによってアクセス可能な他の任意の媒体を備え得る。本明細書で使用されるディスク（ｄｉｓｋ）およびディスク（ｄｉｓｃ）は、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピーディスク（登録商標）、およびブルーレイディスクを含み、ディスク（ｄｉｓｋ）は通常データを磁気的に再生し、ディスク（ｄｉｓｃ）はデータをレーザーで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲に含まれるべきである。
【００９４】
コードは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の同等の集積またはディスクリート論理回路などの、１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される場合、「プロセッサ（ｐｒｏｃｅｓｓｏｒ）」という用語は、上記の構造、または本明細書に記載の技法の実装に適した他の任意の構造のうちのいずれかを指すことができる。さらに、いくつかの態様では、本明細書に記載の機能は、符号化および復号化するように構成された専用ハードウェアおよび／またはソフトウェアモジュール内に提供されてもよく、結合されたコーデックに組み込まれてもよい。また、本技法は、１つまたは複数の回路あるいは論理要素に完全に実装され得る。
【００９５】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、広範なデバイスまたは装置に実装され得る。本開示において、様々なコンポーネント、モジュール、またはユニットは、開示された技法を実行するように構成されたデバイスの機能的な側面を強調するために説明されているが、必ずしも異なるハードウェアユニットによる実現を必要としない。むしろ、上述のように、様々なユニットがコーデックハードウェアユニットに組み合わされてもよく、コンピュータ可読媒体に格納された適切なソフトウェアおよび／またはファームウェアとともに、上述のような１つまたは複数のプロセッサを含む、相互運用可能なハードウェアユニットの集合によって提供されてもよい。
【００９６】
様々な例を説明してきた。これらおよび他の例は、以下の特許請求の範囲内である。
【符号の説明】
【００９７】
１００  コンピューティングデバイス
１１０  カメラ
１２０  タッチスクリーン
２００  カメラ
２１０  ジェスチャ
２２０  異なるジェスチャ
３００  データベース
３０２  例示的なジェスチャ
３０４  例示的なジェスチャ
３０６  例示的なジェスチャ
３０８  例示的なジェスチャ
３１０  例示的なジェスチャ
３１２  例示的なジェスチャ
３１４  例示的なジェスチャ
３１６  例示的なジェスチャ
３１８  例示的なジェスチャ
３２０  例示的なジェスチャ
４００  ブロック図
５００  処理フロー
６００  図
７００  グラフ
８００  図表
８１０  モデルディメンションブロック
８２０  ジェスチャ
９００  流れ図
９５０  流れ図
１０００  コンピュータシステム
１００５  バス
１０１０  プロセッサ
１０１５  入力デバイス
１０２０  出力デバイス
１０２５  非一時的記憶装置
１０３０  通信サブシステム
１０３５  非一時的ワーキングメモリ
１０４０  オペレーティングシステム
１０４５  アプリケーションプログラム
【図１】
2015524115.tif 000003
【図２Ａ】
2015524115.tif 000004
【図２Ｂ】
2015524115.tif 000005
【図３】
2015524115.tif 000006
【図４】
2015524115.tif 000007
【図５】
2015524115.tif 000008
【図６】
2015524115.tif 000009
【図７】
2015524115.tif 000010
【図８】
2015524115.tif 000011
【図９Ａ】
2015524115.tif 000012
【図９Ｂ】
2015524115.tif 000013
【図１０】
2015524115.tif 000014
【国際調査報告】
2015524115.tif 000015
2015524115.tif 000016