(57)【要約】  新規なアイトラッキング方法論のための方法、システム、コンピュータ可読媒体、および装置が提示される。具体的に言うと、FOV内における人の目の初期決定後、本開示の方法は、顔の一部が遮蔽されていても人の目を追跡し得、また、人の目がFOVから抜け出す場合でも目を迅速に再取得し得る。それぞれの目は、新規な方法論によるより高速なアイトラッキングで個別に追跡され得、また低い画像解像度および/または品質における正常なアイトラッキングが可能である。いくつかの実施形態では、本開示のアイトラッキングの方法論は、組み合わされると目が次の画像フレームにおいて移動している場所の最高信頼度ロケーションを生成する種々のアイトラッキング機能をそれぞれが実施する、一連のサブトラッカー技法を含む。
2017523498.tif 000002
【特許請求の範囲】
【請求項１】
目を追跡するための方法であって、
顔と前記目とを含む第1の画像を受信するステップと、
前記受信された第1の画像に基づいて、視野(FOV)における前記目の初期位置を決定するステップと、
前記目を含む前記顔の一部分を含む第2の画像を受信するステップと、
前記受信された第2の画像に基づいて、前記目の前記初期位置からの前記目の位置の変化を追跡するステップとを含む方法。
【請求項２】
各々が前記目の高信頼性検出を表す複数の肯定的画像サンプルを生成するステップをさらに含む、請求項1に記載の方法。
【請求項３】
各々が前記第1の画像のうちの前記目以外の部分の高信頼性検出を表す複数の否定的画像サンプルを生成するステップをさらに含む、請求項2に記載の方法。
【請求項４】
前記目の位置の変化を追跡することが、前記複数の肯定的画像サンプルおよび前記複数の否定的画像サンプルにさらに基づく、請求項3に記載の方法。
【請求項５】
前記目と前記顔の前記一部分のサブセットとを含む共通部分バウンディングボックスを生成するステップをさらに含み、前記目の位置の変化を追跡することが、前記共通部分バウンディングボックスにさらに基づく、請求項1に記載の方法。
【請求項６】
前記第1の画像と前記第2の画像との間における前記目の動きを検出するステップをさらに含む、請求項1に記載の方法。
【請求項７】
前記目の位置の変化を追跡することが、前記目の前記検出された動きにさらに基づく、請求項6に記載の方法。
【請求項８】
前記追跡するステップは、リアルタイムで実施される、請求項1に記載の方法。
【請求項９】
目を追跡するための装置であって、
1つまたは複数の画像を捕捉するように構成されたカメラと、
1つまたは複数のトラッキングモジュールを備えるメモリと、
前記カメラおよび前記メモリに結合されたプロセッサであって、前記1つまたは複数のトラッキングモジュールが実行されるとき、
前記カメラを介して、顔と前記目とを含む第1の画像を受信することと、
前記受信された第1の画像に基づいて、視野(FOV)における前記目の初期位置を決定することと、
前記カメラを介して、前記目を含む前記顔の一部分を含む第2の画像を受信することと、
前記受信された第2の画像に基づいて、前記目の前記初期位置からの前記目の位置の変化を追跡することとを行うように動作可能であるプロセッサとを備える装置。
【請求項１０】
前記プロセッサは、前記1つまたは複数のトラッキングモジュールが実行されるとき、各々が前記目の高信頼性検出を表す複数の肯定的画像サンプルを生成するようにさらに動作可能である、請求項9に記載の装置。
【請求項１１】
前記プロセッサは、前記1つまたは複数のトラッキングモジュールが実行されるとき、各々が前記第1の画像のうちの前記目以外の部分の高信頼性検出を表す複数の否定的画像サンプルを生成するようにさらに動作可能である、請求項10に記載の装置。
【請求項１２】
前記目の位置の変化を追跡することが、前記複数の肯定的画像サンプルおよび前記複数の否定的画像サンプルにさらに基づく、請求項11に記載の装置。
【請求項１３】
前記プロセッサは、前記1つまたは複数のトラッキングモジュールが実行されるとき、前記目と前記顔の前記一部分のサブセットとを含む共通部分バウンディングボックスを生成するようにさらに動作可能であり、前記目の位置の変化を追跡することが、前記共通部分バウンディングボックスにさらに基づく、請求項9に記載の装置。
【請求項１４】
前記プロセッサは、前記1つまたは複数のトラッキングモジュールが実行されるとき、前記第1の画像と前記第2の画像との間における前記目の動きを検出するようにさらに動作可能である、請求項9に記載の装置。
【請求項１５】
前記目の位置の変化を追跡することが、前記目の前記検出された動きにさらに基づく、請求項14に記載の装置。
【請求項１６】
前記追跡することは、リアルタイムで実施される、請求項9に記載の装置。
【請求項１７】
目を追跡するための装置であって、
顔と前記目とを含む第1の画像を受信するための手段と、
前記受信された第1の画像に基づいて、視野(FOV)における前記目の初期位置を決定するための手段と、
前記目を含む前記顔の一部分を含む第2の画像を受信するための手段と、
前記受信された第2の画像に基づいて、前記目の前記初期位置からの前記目の位置の変化を追跡するための手段とを備える装置。
【請求項１８】
各々が前記目の高信頼性検出を表す複数の肯定的画像サンプルを生成するための手段をさらに備える、請求項17に記載の装置。
【請求項１９】
各々が前記第1の画像のうちの前記目以外の部分の高信頼性検出を表す複数の否定的画像サンプルを生成するための手段をさらに備える、請求項18に記載の装置。
【請求項２０】
前記目の位置の変化を追跡することが、前記複数の肯定的画像サンプルおよび前記複数の否定的画像サンプルにさらに基づく、請求項19に記載の装置。
【請求項２１】
前記目と前記顔の前記一部分のサブセットとを含む共通部分バウンディングボックスを生成するための手段をさらに備え、前記目の位置の変化を追跡することが、前記共通部分バウンディングボックスにさらに基づく、請求項17に記載の装置。
【請求項２２】
前記第1の画像と前記第2の画像との間における前記目の動きを検出するための手段をさらに備える、請求項17に記載の装置。
【請求項２３】
前記目の位置の変化を追跡することが、前記目の前記検出された動きにさらに基づく、請求項22に記載の装置。
【請求項２４】
プロセッサに、
顔と目とを含む第1の画像を受信することと、
前記受信された第1の画像に基づいて、視野(FOV)における前記目の初期位置を決定することと、
前記目を含む前記顔の一部分を含む第2の画像を受信することと、
前記受信された第2の画像に基づいて、前記目の前記初期位置からの前記目の位置の変化を追跡することとを行わせるように構成されたプロセッサ可読命令を備える、プロセッサ可読な非一時的コンピュータ可読媒体。
【請求項２５】
前記プロセッサ可読命令は、前記プロセッサに、各々が前記目の高信頼性検出を表す複数の肯定的画像サンプルを生成することを行わせるようにさらに構成される、請求項24に記載の非一時的コンピュータ可読媒体。
【請求項２６】
前記プロセッサ可読命令は、前記プロセッサに、各々が前記第1の画像のうちの前記目以外の部分の高信頼性検出を表す複数の否定的画像サンプルを生成することを行わせるようにさらに構成される、請求項25に記載の非一時的コンピュータ可読媒体。
【請求項２７】
前記目の位置の変化を追跡することが、前記複数の肯定的画像サンプルおよび前記複数の否定的画像サンプルにさらに基づく、請求項26に記載の非一時的コンピュータ可読媒体。
【請求項２８】
前記プロセッサ可読命令は、前記プロセッサに、前記目と前記顔の前記一部分のサブセットとを含む共通部分バウンディングボックスを生成することを行わせるようにさらに構成され、前記目の位置の変化を追跡することが、前記共通部分バウンディングボックスにさらに基づく、請求項24に記載の非一時的コンピュータ可読媒体。
【請求項２９】
前記プロセッサ可読命令は、前記プロセッサに、前記第1の画像と前記第2の画像との間における前記目の動きを検出することを行わせるようにさらに構成される、請求項24に記載の非一時的コンピュータ可読媒体。
【請求項３０】
前記目の位置の変化を追跡することが、前記目の前記検出された動きにさらに基づく、請求項29に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態はアイトラッキングに関する。より具体的には、本開示の態様は、エネルギー効率的であるとともに時間効率的である新規な手法を用いてビデオにおいて目を追跡することに関する。
【背景技術】
【０００２】
近年、アイトラッキング技術の精巧化および融通性の向上により、商業部門における大きな関心が生まれている。用途には、ウェブユーザビリティ、広告、スポンサーシップ、パッケージデザイン、ゲーミング、および自動車工学が含まれる。しかしながら、現在のアイトラッキングアルゴリズムはいくつかの限界を有している。たとえば、現在のアイトラッカーは、顔全体が視野(FOV)内にあることを必要とする傾向がある。顔の一部が、たとえば毛によって覆われているか、または、FOVが接近しすぎであり、そのため、顔の一部しか現れない場合、問題が起こり得る。従来のアイトラッカーは、顔の中の目を位置特定する前に、顔全体を検出することを必要とするため、アイトラッキングの速度は、顔を最初にトラッキングすることの付加的な処理が原因で、低速化または妨害される。さらに、従来のアイトラッカーは、アイトラッキングが失われたとき、たとえば、人がFOVから去り、次いで戻るか、または人が顔を背け、再び顔を向けたときに必ず、適時の再初期化段階を必要とする。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Achlioptas、D.、「Database-friendly random projections: Johnson-Lindenstrauss with binary coins」、J. Comput. Syst. Sci 66、671〜687頁(2003)
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、改善されたアイトラッキングが求められている。
【課題を解決するための手段】
【０００５】
いくつかの実施形態が、エネルギー効率的であるとともに時間効率的である新規な手法を用いてビデオにおいて目を追跡することに関して説明される。
【０００６】
いくつかの実施形態では、目を追跡するための方法が、顔と目とを含む第1の画像を受信するステップを含む。この方法はまた、受信された第1の画像に基づいて、視野(FOV)における目の初期位置を決定するステップを含む。この方法はそれに加えて、目を含む顔の一部分を含む第2の画像を受信するステップを含む。この方法は、受信された第2の画像に基づいて、目の初期位置からの目の位置の変化を追跡するステップをさらに含む。
【０００７】
いくつかの実施形態では、この方法はまた、各々が目の高信頼性検出を表す複数の肯定的画像サンプルを生成するステップを含む。
【０００８】
いくつかの実施形態では、この方法はまた、各々が第1の画像のうちの目以外の部分の高信頼性検出を表す複数の否定的画像サンプルを生成するステップを含む。
【０００９】
いくつかの実施形態では、目の位置の変化を追跡することが、複数の肯定的画像サンプルおよび複数の否定的画像サンプルにさらに基づく。
【００１０】
いくつかの実施形態では、この方法はまた、目と顔の一部分のサブセットとを含む共通部分バウンディングボックス(Intersection Bounding Box)を生成するステップを含み、目の位置の変化を追跡するステップは、共通部分バウンディングボックスにさらに基づく。
【００１１】
いくつかの実施形態では、この方法はまた、第1の画像と第2の画像との間における目の動きを検出するステップを含む。
【００１２】
いくつかの実施形態では、目の位置の変化を追跡することが、目の検出された動きにさらに基づく。
【００１３】
いくつかの実施形態では、追跡するステップはリアルタイムで実施される。
【００１４】
いくつかの実施形態では、目を追跡するための装置は、1つまたは複数の画像を捕捉するように構成されたカメラを含む。この装置は、1つまたは複数のトラッキングモジュールを含むメモリをさらに含む。この装置はまた、カメラおよびメモリに結合されたプロセッサを含む。このプロセッサは、1つまたは複数のトラッキングモジュールが実行されると、カメラを介して、顔と目とを含む第1の画像を受信することと、受信された第1の画像に基づいて、視野(FOV)における目の初期位置を決定することと、カメラを介して、目を含む顔の一部分を含む第2の画像を受信することと、受信された第2の画像に基づいて、目の初期位置からの目の位置の変化を追跡することとを行うように動作可能である。
【００１５】
いくつかの実施形態では、目を追跡するための装置が、顔と目とを含む第1の画像を受信するための手段を含む。この装置は、受信された第1の画像に基づいて、視野(FOV)における目の初期位置を決定するための手段をさらに含む。この装置はそれに加えて、目を含む顔の一部分を含む第2の画像を受信するための手段を含む。この装置はまた、受信された第2の画像に基づいて、目の初期位置からの目の位置の変化を追跡するための手段を含む。
【００１６】
いくつかの実施形態では、プロセッサ可読命令を備えるプロセッサ可読の非一時的媒体が、プロセッサに、顔と目とを含む第1の画像を受信することと、受信された第1の画像に基づいて、視野(FOV)における目の初期位置を決定することと、目を含む顔の一部分を含む第2の画像を受信することと、受信された第2の画像に基づいて、目の初期位置からの目の位置の変化を追跡することとを行わせるように構成される。
【００１７】
本開示の態様は例として示されている。添付の図面では、同様の参照符号は、類似の要素を示している。
【図面の簡単な説明】
【００１８】
【図１】1つまたは複数の実施形態を組み込み得るシステムの簡略図である。
【図２】いくつかの実施形態による、フォレストセンシングに基づくアイトラッカーの高レベルのアーキテクチャおよびフレームワークの例示的なプロセスフローである。
【図３】いくつかの実施形態による、アイトラッキングのための虹彩トラッキング、共通部分バウンディングボックストラッキング、およびモーショントラッキング技法を利用するための流れ図である。
【図４】いくつかの実施形態による、アイトラッキング復元の例を示す図である。
【図５】CSサブトラッカーモジュールによって実施される虹彩トラッキング技法の詳細を示す図である。
【図６】いくつかの実施形態による、CSサブトラッカーモジュールを介した虹彩トラッキングを初期化する例示的な方法のフローチャートである。
【図７】いくつかの実施形態による、CSサブトラッカーモジュールを介した虹彩トラッキングの例示的な方法のフローチャートである。
【図８】いくつかの実施形態による、ユーザの顔の一部分が遮蔽されているときのアイトラッキングを示す図である。
【図９】いくつかの実施形態による、複数のフレームにわたるアイトラッキングを示す図である。
【図１０】いくつかの実施形態による、目をトラッキングするための例示的な方法のフローチャートである。
【図１１】1つまたは複数の実施形態が実装され得るコンピューティングシステムの一例を示す図である。
【発明を実施するための形態】
【００１９】
次に、本明細書の一部を形成する添付の図面に関連して、いくつかの例示的な実施形態について説明する。本開示の1つまたは複数の態様が実装され得る特定の実施形態について以下で説明するが、本開示の範囲または添付の特許請求の範囲の趣旨から逸脱することなく、他の実施形態が使用されることがあり、様々な修正が行われることがある。
【００２０】
本開示は、上述の問題およびさらなる問題を解決する新規なアイトラッキングの方法論について説明するものである。具体的に言うと、FOV内における人の目の初期決定後、本開示の方法は、顔の一部が遮蔽されていても人の目をトラッキングしてよく、また、人の目がFOVから抜け出し、次いでFOVに再び入る場合でも目を迅速に再取得し得る。付加的な利益には、それぞれの目を個別にトラッキングすること、新規な方法論によるより高速なアイトラッキング、ならびに低い画像解像度および/または品質においても正常なアイトラッキングが含まれ得る。いくつかの実施形態では、本開示のアイトラッキング方法論は、それぞれが異なるアイトラッキング機能を実施する一連のサブトラッカー技法を含み、それらのアイトラッキング技法は、組み合わされると、目が次の画像フレームにおいて移動している場所の最高信頼度ロケーションを生成する。
【００２１】
図1は、1つまたは複数の実施形態を含むことができる、システム100の簡略図を示している。いくつかの実施形態では、システム100は、スマートフォン、タブレットコンピュータなどのポータブルデバイスであってもよい。システム100は、プロセッサ110と、ディスプレイ130と、入力デバイス140と、スピーカー150と、メモリ160と、カメラ170と、コンピュータ可読媒体180とを含み得る。
【００２２】
プロセッサ110は、システム100上で命令を実行するように動作可能な任意の汎用プロセッサであってよい。プロセッサ110は、ディスプレイ130と、入力デバイス140と、スピーカー150と、メモリ160と、カメラ170と、コンピュータ可読媒体180とを含む、システム100の他のユニットに結合される。
【００２３】
ディスプレイ130は、ユーザに対して情報を表示する任意のデバイスであってよい。例には、LCDスクリーン、CRTモニタ、または7セグメントディスプレイが含まれ得る。
【００２４】
入力デバイス140は、ユーザからの入力を受け取る任意のデバイスであってよい。例としては、キーボード、キーパッド、マウス、またはタッチ入力部を含んでもよい。
【００２５】
スピーカー150は、ユーザに音声を出力する任意のデバイスであってよい。例には、内蔵スピーカー、または電気音声信号に応答してサウンドを発生させる任意の他のデバイスが含まれ得る。
【００２６】
メモリ160は、任意の磁気的、電子的、または光学的なメモリであってもよい。メモリ160は、2つのメモリモジュール、すなわちモジュール1 162およびモジュール2 164を含む。メモリ160が任意の数のメモリモジュールを含んでもよいことが諒解できよう。メモリ160の一例は、ダイナミックランダムアクセスメモリ(DRAM)であってもよい。
【００２７】
カメラ170は、画像を捕捉するように構成された画像キャプチャデバイスであってもよい。カメラ170は、静止画像または連続画像(ビデオ)のいずれを捕捉してもよい。いくつかの実施形態では、カメラ170は、アイトラッキング用の画像を捕捉するように構成され得る。
【００２８】
コンピュータ可読媒体180は、任意の磁気的、電子的、光学的な、または他のコンピュータ可読記憶媒体であってもよい。コンピュータ可読媒体180は、プロセッサ110によって実行可能な1つまたは複数のソフトウェアモジュールを含んでもよい。コンピュータ可読媒体180は、圧縮センシング(CS: Compressive Sensing)サブトラッカーモジュール182と、決定フォレスト(DF: Decision Forest)サブトラッカーモジュール184と、オプティカルフロー(OF: Optical Flow)サブトラッカーモジュール186と、アイトラッキングモジュール188とを含み得る。
【００２９】
CSサブトラッカーモジュール182は、目の虹彩部分を追跡するように構成され得る。CSサブトラッカーモジュール182は、以下でさらに詳細に説明するようにアイトラッキングモジュール188を介してカメラ170とインターフェースし得る。いくつかの実施形態では、CSサブトラッカーモジュール182は、目がどのように見える可能性があるかを表現する画像のデータセット(「肯定的データセット(Positive Dataset)」と呼ばれる)と、目がどのように見えない可能性があるかを表現する画像の別のデータセット(「否定的データセット(Negative Dataset)」と呼ばれる)とを構築する。肯定的データセットと否定的データセットとの組合せにより、CSサブトラッカーモジュール182は、他のすべてと比較して画像のどの部分が目である可能性があるかをより容易に識別することが可能となる。これらのデータセットを構築することにより、本開示では、非効率性の主な原因である、複数のフレームで顔全体を繰り返し検出することが、必要とされない。むしろ、肯定的および否定的データセットは、画像のどの部分が目である可能性があるか、そしてどの部分がそうでないかを迅速に認識するためにアクセスされ、後のフレーム内の画像データと比較され得る。いくつかの実施形態では、肯定的および否定的データセットは、目自体の虹彩部分のそれぞれ肯定的および否定的識別に焦点を合わせている。
【００３０】
DFサブトラッカーモジュール184は、少なくとも1つの目と、一貫した特徴(皮膚、眉毛、鼻橋、メガネフレームなど)をその中に持つ周りの領域とを含む、顔の一部分を生成するように構成され得る。これは、「共通部分バウンディングボックス(Intersection Bounding Box)」または「包含バウンディングボックス(Encompassing Bounding Box)」と呼ばれることもある。有利にも、共通部分バウンディングボックスは顔全体を含む必要がない。たとえば、共通部分バウンディングボックスは、眉毛、頬骨の頂部、および鼻橋を含む、目の周りの矩形エリアのみを含んでもよい。DFサブトラッカーモジュール184は、虹彩自体を追跡するCSサブトラッカーモジュール182ほど微細な詳細を所有しない場合があるが、迅速に計算することができ、一方または両方の目を含む関係を提供し、たとえば、どちらの目が左で、どちらが右であるかを示す。DFサブトラッカーモジュール184はまた、目が共通部分バウンディングボックスの外部にあると報告し得る偽陽性を最小限にするために、どこに目が実際にあるかを確証するための境界として働き得る。DFサブトラッカーモジュール184はまた、目の全体的エリアを復元することにおいて効果的となり得、このことは、目がFOVから去り、再び戻るときに特に有用である。いくつかの実施形態では、共通部分バウンディングボックスが後続の画像においてどこにあるべきかを決定するのを助けるために、目の共通部分に対して異なる肯定的および否定的データセットが構築される。いくつかの実施形態では、DFサブトラッカーモジュールは、モーショントラッカーとして機能してもよい。
【００３１】
OFサブトラッカーモジュール186は、カメラ170によって捕捉された画像内のモーションを検出するように最適化されてもよい。OFサブトラッカーモジュール186は、画像の各ペア同士の差を比較してよく、したがって、いかなる肯定的または否定的データセットも生成する必要がないことがある。このOFサブトラッカーモジュール186は、特にあるフレームから次のフレームで目の位置に急激な変化が存在する場合に、概して目がどこに移動したかを迅速に特定するために使用され得る。
【００３２】
アイトラッキングモジュール188は、カメラ170とインターフェースしてアイトラッキング機能を実施するように構成されてもよい。アイトラッキングモジュール188は、CSサブトラッカーモジュール182、DFサブトラッカーモジュール184、および/またはOFサブトラッカーモジュール186の少なくとも1つからデータを受信し得るか、またはそれらにデータを送信し得る。たとえば、アイトラッキングモジュール188は、ユーザの顔またはユーザの顔の一部の画像を捕捉するために、カメラ170とインターフェースし得る。アイトラッキングモジュール188は次いで、CSサブトラッカーモジュール182、DFサブトラッカーモジュール184、および/またはOFサブトラッカーモジュール186に、捕捉された画像へのアクセスを提供してもよく、そのため、様々なモジュールが、捕捉された画像に対してそれらそれぞれのサブトラッキング技法を実施し得るようになる。この意味で、アイトラッキングモジュール188は、様々なサブトラッキングモジュールとカメラ170との間の促進モジュールとして働き得る。
【００３３】
いくつかの実施形態では、これら3つの上述のサブトラッカーの組合せ(たとえば、CSサブトラッカーモジュール182、DFサブトラッカーモジュール184、およびOFサブトラッカーモジュール186)は、目をうまく追跡するように組み合わされ、従来のアイトラッカーの上述の問題を解決するのに十分にロバストである解決策を創成し得る。注目すべきことに、従来のアイトラッキング法とは異なり、説明したサブトラッカーのいずれも、顔全体の認識を必要とせず、したがって、本開示の方法が成功するためには、顔の一部分(目を含む)のみがFOVにおいて利用可能となることが必要となる。さらに、顔(または顔の一部)がFOVを去り、後の時間にFOVに再び入る場合、サブトラッカーは、トラッキングより前に、目を検出するプロセスを再開する必要がないこともある。3つのサブトラッカーの組合せは、これらの利点と、顔全体が常にトラッキングされる必要がないことで、現行の技法と比較してより低くなる電力使用量およびより高速となる処理などのさらなる利点とをもたらす。
【００３４】
システム100はまた、さらに多くのデータベース190を含んでもよい。データベース190は、上記で説明した肯定的および否定的データセットを記憶するように動作可能であってもよい。様々なサブトラッカーが、肯定的および否定的データセットにアクセスするために、アイトラッキングモジュール188を介して1つまたは複数のデータベース190とインターフェースし得る。
【００３５】
図2は、いくつかの実施形態による、フォレストセンシングに基づくアイトラッカーの高レベルのアーキテクチャおよびフレームワークの例示的なプロセスフロー200を示す。プロセスフロー200は、1つの入力フレーム201で始まるか、複数の入力フレーム201で始まる。入力フレーム201は、カメラ170(図1)によって捕捉され得る。入力フレーム201を捕捉すると、その入力フレームは、予備処理ステップ202で使用され得る。予備処理ステップ202は、各サブトラッカー(たとえば、CSサブトラッカーモジュール182、DFサブトラッカーモジュール184、およびOFサブトラッカーモジュール186)によって実施される様々な画像処理ステップに対して各画像フレーム201を準備するために実行され得る。これらの様々な画像処理ステップは、限定はしないが、グレースケールへの変換、OFサブトラッカーモジュール186に対するいくつかのスケーリングされた画像の作成などを含み得る。いくつかの実施形態では、予備処理ステップ202はアイトラッキングモジュール188によって実施されてもよい。予備処理ステップ202の完了時に、予備処理された画像フレームが、様々なサブトラッキングモジュールに提供されても、様々なサブトラッキングモジュールによってアクセスされてもよい。いくつかの実施形態では、アイトラッキングモジュール188は、様々な画像フレームへのアクセスを様々なサブトラッキングモジュールに提供しても、許可してもよい。
【００３６】
CSサブトラッカーモジュール182は、画像フレーム内の目の虹彩部分を追跡し得る。CSサブトラッカーモジュール182は、目がどのように見える可能性があるかを表現する画像のデータセット(「肯定的データセット」と呼ばれる)と、目がどのように見えない可能性があるかを表現する画像の別のデータセット(「否定的データセット」と呼ばれる)とを構築し得る。肯定的データセットと否定的データセットとの組合せにより、CSサブトラッカーモジュール182は、画像フレーム内の他のすべてと比較して画像フレームのどの部分が目である可能性があるかをより容易に識別することが可能となる。肯定的および否定的データセットは、画像のどの部分が目である可能性があるか、そしてどの部分がそうでないかを迅速に認識するためにアクセスされ、後のフレーム内の画像データと比較され得る。いくつかの実施形態では、肯定的および否定的データセットは、目自体の虹彩部分のそれぞれ肯定的および否定的識別に焦点を合わせている。
【００３７】
DFサブトラッカーモジュール184は、少なくとも1つの目と、一貫した特徴(皮膚、眉毛、鼻橋、メガネフレームなど)を中に持つ周りの領域とを含む顔の一部分を画像フレーム内に生成してもよい。これは、「共通部分バウンディングボックス」または「包含バウンディングボックス」と呼ばれることもある。共通部分バウンディングボックスは顔全体を含む必要がない。いくつかの実施形態では、DFサブトラッカーモジュール184は、各目に対して別々の共通部分バウンディングボックスを生成してもよい。たとえば、第1の生成された共通部分バウンディングボックスは画像フレーム内の左目を包含してもよく、第2の生成された共通部分バウンディングボックスは画像フレーム内の右目を包含してもよい。
【００３８】
OFサブトラッカーモジュール186は、画像フレーム内の動きを検出し得る。OFサブトラッカーモジュール186は、画像の各ペア同士の差を比較してよく、したがって、いかなる肯定的または否定的データセットも生成する必要がないことがある。このOFサブトラッカーモジュール186は、特にあるフレームから次のフレームで目の位置に急激な変化が存在する場合に、概して目がどこに移動したかを迅速に特定するために使用され得る。
【００３９】
様々なサブトラッカーモジュールは、画像フレームに対して実施される分析の一部として、データセット208からのデータを使用してもよい。データセット208は、1つまたは複数のデータベース190(図1)内に記憶され、肯定的および否定的データセットを含み得る。
【００４０】
上記で説明したように、サブトラッカーモジュールの各々を通じて分析および処理すると、各サブトラッキングモジュール(たとえば、CSサブトラッカーモジュール182、DFサブトラッカーモジュール184、およびOFサブトラッカーモジュール186)は、画像フレーム内における目の高信頼度位置、または一連の高信頼度位置を生成してよく、これらの高信頼度位置は次いで収束モジュール204の中へ供給される。目の高信頼度位置は、画像フレーム内における可能性が最も高い目のロケーションを指示し得るものである。いくつかの実施形態では、画像フレームは、前の画像フレームに続く画像フレームであってもよい。収束段階の間、収束モジュール204は、サブトラッカーの各々による分析および処理の結果をインテリジェントに組み合わせて最終決定を作成し得る。最終決定は、画像フレーム内における決定された目のロケーションを反映し得る。
【００４１】
収束モジュール204は次いで、最終決定の結果210を報告し得る。経時的な追跡を改善しデータセット208を更新するため、それらの結果はまた、能動的学習モジュール206を介して、追跡されている対象の新たなプロパティを継続的に学習するために使用されてもよい。学習能力は、限定はしないが、方位、変形、照明、遮蔽などに起因する変化の許容をもたらし得る。最終決定の結果210は、システム100(図1)のアプリケーションまたは任意の他の構成要素によって使用されてもよい。いくつかの実施形態では、最終決定の結果210は、外部システムによって使用されてもよい。
【００４２】
DFサブトラッカーモジュール184およびOFサブトラッカーモジュール186は、共通部分を高信頼性でかつ高速に追跡することにおいて最適化され得ることが諒解できよう。しかしながら、それらは小さい虹彩を追跡することにおいては信頼性が高くない場合もある。DFサブトラッカーモジュール184は、OFサブトラッカーモジュール186およびCSサブトラッカーモジュール182が必要とし得るように、前のフレームにおけるシードロケーションを必要としないため、共通部分を復元し得る。CSサブトラッカーモジュール182は、小さな虹彩を高信頼性で追跡することに対して最適化されてもよい。しかしながら、虹彩トラッキングを高信頼性で復元することが可能でない場合もあり、また共通部分の検証なしにまったく同様の2つの虹彩を差別化することが可能でない場合もある。OFサブトラッカーモジュール186は、対象が過度に速く移動(ぼやけを引き起こす)しないと仮定して、または追跡が前のフレームで失われた場合に、動いている対象を追跡することに対して最適化されてもよい。CSサブトラッカーモジュール182は、一貫した色を持つ小さな対象物に対して信頼性となり得るが、追跡を失う可能性も存在し得る。したがって、CSサブトラッカーモジュール182は、適切な追跡結果をもたらすほど十分に強力でないこともある。しかしながら、CSサブトラッカーモジュール182、DFサブトラッカーモジュール184、およびOFサブトラッカーモジュール186の能力の組合せは、正確で信頼性がありかつよりロバストな追跡結果をもたらすように組み合わされ得る。
【００４３】
図3は、いくつかの実施形態による、アイトラッキングのための虹彩トラッキング、共通部分バウンディングボックストラッキング、およびモーショントラッキング技法を利用するための流れ図300を示す。ここに、虹彩トラッキング(CSサブトラッカーモジュール182(図1)によって実施される)および共通部分バウンディングボックストラッキング(DFサブトラッカーモジュール184(図1)およびOFサブトラッカーモジュール186(図1)によって実施される)技法のためのプロセスが示されている。このプロセスは、目の既知の位置を有する初期フレームで開始し得るものであり、前述のように肯定的および否定的データセットを構築するように継続する。モーショントラッキング(OFサブトラッカーモジュール186(図1)によって実施される)技法はまた、次のフレームからのデータの比較に基づいて組み込まれるものであり、また、モーショントラッキング技法にはデータセットを構築する必要がないため、図示のように初期のステップには含められない。
【００４４】
ステップ301において、虹彩が第1の画像フレーム内で検出され、虹彩のロケーションがアイトラッキングフレームワークに引き渡される。虹彩検出は、いくつかの異なる方式で達成され得る。一般に、現行の解決策は、顔検出器で顔のロケーションを決定し、付加的なフィルタを使用して目を発見することによって虹彩検出を達成している。このプロセスは、通常は非常に遅いものであり、また顔全体がFOV内にあることを必要とする。この虹彩検出技法も、またそれ以外の虹彩検出技法も、当技術分野でよく知られている。本実施形態では、虹彩ロケーションが決定されると、虹彩検出の必要がなくなる場合もある。各虹彩のロケーションは、小さなバウンディングボックスによって包含されてよく、バウンディングボックスは、初期化のためにアイトラッキングフレームワークに引き渡されてよい。
【００４５】
ステップ302において、第1のフレーム(初期化フレーム)における入力された虹彩のロケーションに基づいて、フレームワークは、目の虹彩部分をCSサブトラッカーモジュール182(図1)用の初期トラッキングバウンディングボックスとして登録する。CSサブトラッカーモジュール192(図1)用の初期トラッキングバウンディングボックスは、画像304に示されている。ステップ303において、フレームワークは、共通部分バウンディングボックスをDFサブトラッカーモジュール184(図1)およびOFサブトラッカーモジュール186(図1)用の初期トラッキングバウンディングボックスとして登録する。上記で説明したように、共通部分バウンディングボックスは、少なくとも1つの目と、一貫した特徴(皮膚、眉毛、鼻橋、メガネフレームなど)をその中に有する周囲の領域とを含み得る。いくつかの実施形態では、共通部分バウンディングボックスは、両方の目と、周囲の領域とを含み得る。DFサブトラッカーモジュール184(図1)およびOFサブトラッカーモジュール186(図1)用の共通部分バウンディングボックスの例が、画像305に示されている。
【００４６】
ステップ306において、虹彩に近接する肯定的バウンディングボックスおよび虹彩から離れた否定的バウンディングボックスがサンプリングされる。初期のCSの肯定的データセット318およびCSの否定的データセット320を構築する(ステップ308)ため、ハール特徴値が使用されて、サンプリングされたバウンディングボックス(肯定的バウンディングボックスおよび否定的バウンディングボックス)が特徴付けられる。CSの肯定的データセット318およびCSの否定的データセット320は、リアルタイムで更新され得る学習データセットであってもよい(以下でさらに詳細に説明する)。
【００４７】
ステップ307において、共通部分バウンディングボックスに近接する肯定的バウンディングボックスおよび共通部分バウンディングボックスから離れた否定的バウンディングボックスがサンプリングされる。初期のDFの肯定的データセット314およびDFの否定的データセット316を構築する(ステップ309)ため、バイナリ特徴値が使用されて、サンプリングされたバウンディングボックス(肯定的バウンディングボックスおよび否定的バウンディングボックス)が特徴付けられる。初期のDFの肯定的データセット314およびDFの否定的データセット316を構築することは、共通部分バウンディングボックスに近接する肯定的バウンディングボックスおよび共通部分バウンディングボックスから離れた否定的バウンディングボックスを分析することを含み得る。初期のDFの肯定的データセット314およびDFの否定的データセット316を構築するため、ピクセル強度差であるバイナリ特徴値が、サンプリングされたバウンディングボックスを特徴付けするために使用されてもよい。DFの肯定的データセット314およびDFの否定的データセット316は、リアルタイムで更新され得る学習データセットであってもよい(以下でさらに詳細に説明する)。
【００４８】
いくつかの実施形態では、2つのDF関連のバウンディングボックスが存在してもよく、各々は、単一の目の周りの画像データを含む。この技法は、たとえば、もう一方の目が覆われているかまたはFOV内にないとき、単一の目に対するトラッキングを改善し得る。「共通部分バウンディングボックス」という用語は、2つの目または1つのみの目を含む共通部分バウンディングボックスを指し得る。
【００４９】
ステップ310において、通常の継続中のトラッキング段階(初期化後)の間、共通部分バウンディングボックスは、DFサブトラッカーモジュール184(図1)およびOFサブトラッカーモジュール186(図1)によって追跡され得る。ステップ311において、通常の継続中のトラッキング段階(初期化後)の間、虹彩バウンディングボックスはCSサブトラッカーモジュール182(図1)によって追跡され得る。ステップ310および311は、例示的な画像322に示すように、後続の画像フレーム上の共通部分バウンディングボックスおよび虹彩バウンディングボックスを追跡し得る。
【００５０】
ステップ312において、新たな虹彩バウンディングボックスがCSサブトラッカーモジュール182(図1)から出力されてよく、また新たな共通部分バウンディングボックスがDFサブトラッカーモジュール184(図1)およびOFサブトラッカーモジュール186(図1)から出力され得る。出力された虹彩バウンディングボックスおよび出力された共通部分バウンディングボックスは、新たな虹彩バウンディングボックスの結果を検証するために使用され得る。CSサブトラッカーモジュール182(図1)がトラッキングを失う(たとえば、目がFOVを去る)場合、DFサブトラッカーモジュール184(図1)は、画像フレーム全体をスキャンし、共通部分バウンディングボックスを復元し得る。CSサブトラッカーモジュール182(図1)は次いで、(例示的な画像324に示すように)虹彩を復元するために使用され得る。
【００５１】
DFの肯定的データセット314、DFの否定的データセット316、CSの肯定的データセット318、およびCSの否定的データセット320は次いで、様々なサブトラッカーモジュールによって、後続の画像フレーム(たとえば画像フレーム322)の分析に基づいて更新され得る。この意味で、DFの肯定的データセット314、DFの否定的データセット316、CSの肯定的データセット318、およびCSの否定的データセット320は、各後続の画像フレームごとに改善し得る学習データセットである。
【００５２】
図4は、いくつかの実施形態による、アイトラッキング復元の例を示す。ここで、図は、アイ/虹彩トラッキングが失敗したときにどのようにしてアイトラッカーが虹彩トラッキングを復元するかを示している。アイ/虹彩トラッキングが失敗する1つの共通する理由は、目がFOVから去ることである。一般に、目はその後間もなくFOVに戻ることがあり、たとえば、ユーザが自身のモバイルデバイスを瞬間的に下に置き、次いでそれを再び取り上げることがある。
【００５３】
初期の画像フレーム410において、2つの虹彩が、CSサブトラッカーモジュール182(図1)を介してバウンディングボックスを使用して追跡され、また目はDFサブトラッカーモジュール184(図1)およびOFサブトラッカーモジュール186(図1)を介して共通部分バウンディングボックスを使用して追跡される。これらの方法は、上記で詳細に説明されている。
【００５４】
その後、虹彩および/またはアイトラッキングが次の画像フレーム420で失われ得る。一般に、これは、上記で説明したようなユーザアクションの結果であり得る。DFサブトラッカーモジュール184(図1)は、次の画像フレーム420内で目を探索し得るが、FOV内に目を発見しない場合もある。その後のある時点で、虹彩および/または目は、後続の画像フレーム430においてFOV内に復帰し得る。たとえば、ユーザは、自身の前方にモバイルデバイスを再配置し得る。CSサブトラッカーモジュール182(図1)がそれ自体では復元能力を有さないため、目を探索するために共通部分バウンディングボックスが使用される。この検出は非常に高速であり、別の人物の顔と混同することなく目を復元するために、学習されたDFの肯定的データセット314(図3)およびDFの否定的データセット316(図3)を使用し得る。次いで虹彩トラッキングが、復元されたアイトラッキング領域から復元され得る。DFの肯定的データセット314(図3)およびDFの否定的データセット316(図3)を使用して目を復元することにより、アイトラッキングシステムは、後続の画像フレーム430内でユーザ固有の特徴(皮膚、眉毛、鼻橋、メガネフレームなど)を使用している場合があることが諒解できよう。
【００５５】
DFサブトラッカーモジュール184(図1)は、ユーザがFOVに再び入ると共通部分の迅速で信頼性の検出を実施することができ、また顔全体がFOV内にあることを必要としないため、DFサブトラッカーモジュール184(図1)によって最初に構築された学習データセットは、目の共通部分バウンディングボックスを復元するために使用され得ることが諒解できよう。
【００５６】
共通部分バウンディングボックスは様々な目的に役立ち得ることが諒解できよう。共通部分バウンディングボックスは、バイオメトリックデータに基づいて虹彩を確認するために使用されてもよい。加えて、共通部分バウンディングボックスは、虹彩トラッキングを回復するために使用されてもよい。さらに、共通部分バウンディングボックスは、各虹彩のトラッキングウィンドウを限定するために使用されてもよい。
【００５７】
図5は、CSサブトラッカーモジュール182によって実施される虹彩トラッキング技法の詳細を示す。ここで、CSサブトラッカーモジュール182が虹彩の肯定的および否定的サンプルを生成することに関して、詳細を説明する。図は、肯定的サンプル504と否定的サンプル506の両方を示している。いくつかの実施形態では、肯定的サンプル504は、画像のうちの目の(既知の)ロケーションに近い部分を不規則にサンプリングすることによって生成され得る。後続の入力フレームでは、虹彩トラッカーは次いで、虹彩がこれらのサンプルに似ているべきであることを理解し得る。同様に、いくつかの実施形態では、否定的サンプル506は、画像のうちの目の(既知の)ロケーションからより遠くに離れた部分を不規則にサンプリングすることによって生成され得る。ここで、人物の皮膚および眉毛のサンプルが否定的データベース内に記録されてもよい。このようにして、虹彩トラッカーは次いで、人物の皮膚および/または眉毛に似た部分が目である可能性がなさそうであることを、後続の画像で理解し得る。
【００５８】
これらの技法は、圧縮センシング理論を用いて実行されてもよい。画像信号処理の場合、圧縮センシング理論は、信号全体を比較的少数の測定値から決定することを可能にする。ジョンソン-リンデンシュトラウスの補題では、ベクトル空間内の点が、適切な高さの次元を持つ不規則に選択された部分空間上へと射影される場合に、高確率でそれらの点の間の距離が保存され得ることが述べられている。したがって、高次元画像空間では、不規則マトリックスRがジョンソン-リンデンシュトラウスの補題を満たす場合、xが圧縮性であれば(このことは、vがx内のほとんどすべての情報を保存し得ることを意味する)、xは最小誤差でvから高確率で再構成され得る。この理論は、高次元画像信号を、その低次元のランダム射影を介して分析する上で役立ち得る。式(1)の非常に疎なランダム行列R 512を使用することは、ジョンソン-リンデンシュトラウスの補題を満たすだけでなく、リアルタイムのアイ/虹彩トラッキングのために効率的に計算され得る。
v = Rx       (1)
【００５９】
典型的なランダム行列は、ランダムガウシアン行列R ∈ Rn×mであり、ここでrij 〜 N(0, 1)である。しかしながら、mが大きく、行列が密である場合、計算およびメモリは依然として大規模なものとなる。そのために、非常に疎なランダム行列512が、以下のように定義される入力で採用される。
【数１】
2017523498.tif 000003
【００６０】
Achlioptas、D.、「Database-friendly random projections: Johnson-Lindenstrauss with binary coins」、J. Comput. Syst. Sci 66、671〜687頁(2003)により、s=2または3とするこのタイプの行列は、ジョンソン-リンデンシュトラウスの補題を満たすことが証明されている。この行列を計算することは非常に容易となり得、一様な乱数発生器のみが必要となる。S=3であるとき、行列は非常に疎であり、計算の3分の2が節約され得る。S=m/log(m)であるとき、このランダム射影は、通常のランダム射影とほぼ同様に正確であり、ここでrij 〜 N(0, 1)である。S=m/4を設定すると、非常に疎なランダム行列となり、このことは計算量が非常に少なくなることを意味し、また、Rの非ゼロ入力しか記憶する必要がなく、これによってメモリ要件もまた非常に軽微となる。
【００６１】
各サンプルz ∈ Rmに対し、その低次元表現は、m >> nとして、v = (v1, ..., vn)T ∈ Rnである。v内のすべての要素が別個に疑われると想定すると、それらは単純ベイズ分類器で以下のようにモデル化され得る。
【数２】
2017523498.tif 000004
【００６２】
上式で、均一なp(y = 1) = p(y = 0)と想定され、y ∈ {0,1}は、サンプルラベルを表現するバイナリ変数である。また、H(v)における条件付き分布p(vi|y = 1)およびp(vi|y = 0)は、パラメータ(μi1,σi1,μi0,σi0)に関してガウス分布すると想定され、ここで、
【数３】
2017523498.tif 000005
である。
【００６３】
式(4)のパラメータは、式(5)によって増分的に更新され得る。
【数４】
2017523498.tif 000006
上式で、λ > 0は学習パラメータであり、
【数５】
2017523498.tif 000007
である。
【００６４】
そのために、式(3)から、少数のサンプルBBが、最尤推定で発見され得る。次いで、新たなトラッキングBBが、それらをクラスタ分析することによって出力され得る。その後、式(5)から、CS学習データセット(CSの肯定的データセット318およびCSの否定的データセット320)が、肯定的サンプル504および否定的サンプル506によって更新され得る。
【００６５】
加えて、図5は、CSサブトラッカーモジュール182(図1)によって用いられる理論の主要構成要素のうちの1つを示している。入力フレーム502では、前のフレーム内の虹彩に近接する肯定的バウンディングボックス504と、前のフレーム内の虹彩から遠く離れた否定的バウンディングボックス506の両方がサンプリングされる。ブロック508では、多重スケールの画像特徴値が、サンプリングされた肯定的バウンディングボックス504および否定的バウンディングボックス506から生成される。その後、多重スケールの画像特徴値508は、肯定的特徴ベクトル511と否定的特徴ベクトル513の両方を含めて保存され、スパース行列射影512への入力として使用される。上述のように、非常に疎な測定行列が、制限付きの等長プロパティを満たし、画像特徴ベクトル空間から低次元圧縮センシング部分空間への効率的な射影を促進し得る。したがって、肯定的特徴ベクトルと否定的特徴ベクトルの両方が、同じスパース測定行列で射影および圧縮され(514)、上記で説明したベイズ分類器によって弁別される。学習した分類器516は、図7に関して説明する最高信頼度の新たな目のロケーションに戻るように、後続のフレームのサンプリングされたバウンディングボックスを分類するために使用される。
【００６６】
図6は、いくつかの実施形態による、CSサブトラッカーモジュールを介した虹彩トラッキングを初期化する例示的な方法のフローチャート600を示す。ボックス610では、初期化段階の間、虹彩検出器は、各虹彩の初期のバウンディングボックスを提出し、そのため、虹彩ロケーションが知られ、その結果、CSサブトラッカーモジュールは、「新たな」虹彩ロケーションの「発見」を行う必要がない。たとえば、本発明者らが選択した特徴値の数は、それぞれ2つから4つのバウンディングボックスを用いて10となり得る。これらの数は例にすぎず、変更され得ることが諒解できよう。
【００６７】
ブロック620では、ハール特徴値を作成するために、10の特徴値が選ばれ得る。各特徴値は、ある重みを有する矩形のセットであってよい。各矩形は、0から幅/高さまで不規則に選ばれ得る。開始座標は、0と対象矩形との間にあり得る。「対象」は、初期の対象ロケーションおよび寸法であり得る。矩形の数は、たとえば2から4の間でランダムに選択されてよい。重みは、公式、-1^(random(0,2)/sqrt(num_rect)を用いて決定され得る。
【００６８】
ブロック630では、肯定的サンプルをサンプリングするためのボックスが、初期のバウンディングボックスの周りに作成され得る。作成されたボックスから、maxSampleNumまでのランダムな数のボックスが選択され得る。ボックスは、0と初期のバウンディングボックスの幅および高さとの間でランダムに選択された幅および高さと、(ボックスが選択されていると仮定して)(i,j)のforループに基づいた初期のロケーションとを有し得る。選択基準は、0からある半径(たとえば16ピクセル)のユークリッド距離を有するボックスに基づき得る。これらのボックスは次いで、samplePositiveBoxSize個のボックスを有するアレイsamplePositiveBoxとして記録され得る。いくつかの場合には、アレイがフルである場合、基準を満たし得る残りのボックスは除外され得る。
【００６９】
ブロック640では、否定的サンプルをサンプリングするためのボックスが、初期のバウンディングボックスの周りに作成され得る。作成されたボックスから、maxSampleNumまでのランダムな数のボックスが選択され得る。ボックスは、提出された初期のバウンディングボックスの幅および高さと、(ボックスが選択されていると仮定して)(i,j)のforループに基づいた初期のロケーションとを有し得る。選択されたボックスが、ある最小距離からある最大距離までのユークリッド距離を有することが必要とされ得る。これは、最小距離が0ではないという点でブロック630とは異なることが諒解できよう。これらのボックスは次いで、sampleNegativeBoxSize個のボックスを有するアレイsampleNegativeBoxとして記録され得る。
【００７０】
ブロック650では、現在のピクセルの左上からの、前のピクセル値のすべてが、互いに加算され得る。得られた値は、現在のピクセルに記憶され得る。これにより、積算画像(Integral Image)が計算され得る。
【００７１】
ブロック660では、10個の特徴行列内の各入力ごとに、ブロック630で選ばれた各矩形の積算値が取得され得る。各値は、一時的なsampleFVBufに記憶され得る。これにより、肯定的ボックスサンプルおよび積算画像に基づいて特徴値が生成され得る。
【００７２】
ブロック670では、ガウスの公式のミューおよびシグマが、ブロック660に基づいて決定され得る。特徴行列の各行に対する積算値は、その行の標準偏差および平均値を算出するために使用され得る。したがって、これは、1つの標準偏差変数と1つの平均値を行ごとに(たとえば合計で10の値)を生じ得る。これらの値は次いで、各行ごとにシグマおよびミューを算出するために使用され得る(たとえば、10のシグマ値と10のミュー値を生じる)。
【００７３】
ブロック680では、否定的ボックスサンプルおよび積算画像に基づいて、特徴値が生成され得る。10個の特徴行列内の各入力ごとに、ブロック640で選ばれた各矩形の積算値が取得され得る。各値は、一時的なsampleFVBufに記憶され得る。
【００７４】
ブロック690では、ガウスの公式のミューおよびシグマが、ブロック680に基づいて決定され得る。10個の特徴行列内の各入力ごとに、標準偏差および平均が決定され得る。
【００７５】
図7は、いくつかの実施形態による、CSサブトラッカーモジュールを介した虹彩トラッキングの例示的な方法のフローチャート700を示す。新たなフレームの虹彩ロケーションは知られ得ないが、CSサブトラッキングモジュールによる分析の結果として決定され得る。ブロック705では、探索の種をまく(seed)ため、前の画像フレームからのバウンディングボックスが使用されて、虹彩ロケーションがどこにあるかの大まかなアイデアが提供され得る。加えて、新たな画像フレームが提出され得る。
【００７６】
ブロック710では、いくつかのサンプルが対象の最後のロケーションの周りで選択され得る。ボックスが、前のバウンディングボックスの周りに作成され得る。このルーチンにより、探索ウィンドウ内にすべてのボックスが作成され得、また矩形情報が記録される。ボックスは、提出された前のボックスの幅および高さと、(i,j)のforループに基づいた初期のロケーションとを有し得る。いくつかの実施形態では、選択されたボックスが0からある半径(たとえば16ピクセル)のユークリッド距離を有し得ることが必要とされ得る。これらのボックス、detectBoxSize個のボックスを有するアレイdetectBoxとして記録され得る。
【００７７】
ブロック715では、積算画像が算出される。これは、現在のピクセルの左上からの、すべての前のピクセル値を合計し、その値を現在のピクセル内に記憶することによって行われ得る。
【００７８】
ブロック720では、ブロック710からのサンプルボックスおよびブロック715からの積算画像に基づいて、特徴値が生成され得る。特徴値(たとえば10の特徴値)の各々に対して、積算値が、ブロック710で選択された各矩形ごとに取得され得、各値は、一時的なsampleFVBuf内に記憶され得る。
【００７９】
ブロック725では、最高信頼度を有する矩形が返され得る。特徴値(たとえば10の特徴値)の各々に対して、ベイズ確率の算出が公式、P(B|A)=P(B)P(AB)/P(A)に従って用いられ得る。肯定的および否定的シグマおよびミューは、ステップ720からの入力に基づいて可能性が最も高いバウンディングボックスの結果を選ぶために、ガウス型の確率関数を使用するときに用いられ得る。
【００８０】
ブロック730では、肯定的サンプルをサンプリングするためのボックスが、新たに発見されたバウンディングボックスの周りに作成され得る。作成されたボックスから、maxSampleNumまでのランダムな数のボックスが選択され得る。ボックスは、0と提出されたバウンディングボックスの幅および高さとの間でランダムに選択された幅および高さと、(ボックスが選択されていると仮定して)(i,j)のforループに基づいた初期のロケーションとを有し得る。選択基準は、0からある半径(たとえば16ピクセル)のユークリッド距離を有するボックスに基づき得る。これらのボックスは次いで、samplePositiveBoxSize個のボックスを有するアレイsamplePositiveBoxとして記録され得る。
【００８１】
ブロック735では、否定的なサンプルをサンプリングするためのボックスが、初期のバウンディングボックスの周りに作成され得る。作成されたボックスから、maxSampleNumまでのランダムな数のボックスが選択され得る。ボックスは、提出された初期のバウンディングボックスの幅および高さと、(ボックスが選択されていると仮定して)(i,j)のforループに基づいた初期のロケーションとを有し得る。選択されたボックスが、ある最小距離からある最大距離までのユークリッド距離を有することが必要とされ得る。これは、最小距離が0ではないという点でブロック730とは異なることが諒解できよう。これらのボックスは次いで、sampleNegativeBoxSize個のボックスを有するアレイsampleNegativeBoxとして記録され得る。特徴値(たとえば10の特徴値)の各々に対して、各矩形の積算値が一時的なsampleFVBuf内に記憶され得る。
【００８２】
ブロック740では、肯定的ボックスサンプルおよび積算画像に基づいて、特徴値が生成され得る。特徴値(たとえば10の特徴値)の各々に対して、選ばれた各矩形の積算値が取得され得、各値を一時的なsampleFVBuf内に記憶する。
【００８３】
ブロック745では、ガウスの公式のミューおよびシグマが決定される。特徴値(たとえば10の特徴値)の各々に対して、標準偏差が実施され得、平均値が取得され得る。平均値は、この新たな値、および学習すべき速度(learnRate)に基づいて、各特徴値に対して調節され得る。すなわち、新たな値は急激な変化を避けるために15%のみが使用され得ることが諒解できよう。
【００８４】
ブロック750では、否定的ボックスサンプルおよび積算画像に基づいて、特徴値が生成され得る。特徴値(たとえば10の特徴値)の各々に対して、選ばれた各矩形の積算値が取得され得、各値を一時的なsampleFVBuf内に記憶する。
【００８５】
ブロック755では、ガウスの公式のミューおよびシグマが、ステップ750に基づいて決定される。特徴値(たとえば10の特徴値)の各々に対して、標準偏差が実施され得、平均値が取得され得る。平均値は、この新たな値および学習すべき速度(learnRate)に基づいて、各特徴値に対して調節され得る。すなわち、新たな値は急激な変化を避けるために15%のみが使用され得ることが諒解できよう。
【００８６】
図8は、いくつかの実施形態による、ユーザの顔の一部分が遮蔽されているときのアイトラッキングを示す。ここで、図は、4つの画像フレーム、つまり、第1フレーム810、第2フレーム820、第3フレーム830、および第4フレーム840を示している。第1フレーム810では、ユーザの目の両方がFOV内にあり、両方の目と目の周りの特徴部とを包含する単一の共通部分バウンディングボックス802が作成される。加えて、2つの個別の虹彩バウンディングボックス804が作成され、それぞれのボックスは目の一方を包含する。第1フレーム810に示すこのバウンディングボックス技法は、上記で説明した技法を示している。しかしながら、しばしば、ユーザの顔はシステム100(図1)に非常に近接し、そのため、顔の一部分のみまたは片方の目のみがカメラ170(図1)のFOV内にあるようになり得る。
【００８７】
既存の解決策は、追跡の目的で顔全体がFOV内にあることだけに依存しているため、虹彩を正確に追跡できない場合がある。対照的に、システム100(図1)は、少なくとも一方の目がFOV内にあることのみを必要とし得、ユーザの顔のいかなる遮蔽をも許容し得る。一方の目のみがFOV内にあるシナリオでは、共通部分が一方の目にのみ基づいて登録され得るため、システム100(図1)は依然として虹彩を追跡することが可能となり得る。両方の目がFOV内にある場合では、共通部分は、顔上の交差領域となり得る。一方の目のみがFOV内にある場合では、その一方の目は、もう一方の目とは独立して追跡、発見、および復元され得る。
【００８８】
第2フレーム820では、顔の一部分と一方の目のみがFOV内にある。CSサブトラッカーモジュール182(図1)は、この単一の虹彩を追跡し、それを虹彩バウンディングボックス808内に包含し得る。同様に、DFサブトラッカーモジュール184(図1)は、上記で説明した方法および技法を用いて、単一の目とその単一の目を囲む特徴部とを包含する単一の共通部分バウンディングボックス806を生成し得る。共通部分バウンディングボックスによって包含される特徴部は、顔のうちのどれだけがFOV内にあるかに依存し得る。第3フレーム830では、顔はカメラ170(図1)にはるかに近接し、したがって、顔のうちのはるかに少ない部分がFOV内にある。第2フレーム820と同様に、CSサブトラッカーモジュール182(図1)は、単一の虹彩を追跡し、それを虹彩バウンディングボックス808内に包含し得、DFサブトラッカーモジュール184(図1)は、その単一の目とその単一の目を囲む特徴部とを包含する単一の共通部分バウンディングボックス806を生成し得る。第3フレーム830内の共通部分バウンディングボックス806および虹彩バウンディングボックス808は、第2フレーム820内の共通部分バウンディングボックス806および虹彩バウンディングボックス808とは異なるサイズのものであってよいことが諒解できよう。サイズにおけるこの差は、FOV内の顔のサイズにおける差に起因し得るものである。
【００８９】
第4フレーム840は、物体842によって部分的に遮蔽されたユーザの顔を示している。顔の大部分がFOV内にあり、そのため、両方の目が通常であれば検出されるのであるが、顔のほぼ半分と一方の目が物体842によって遮蔽されているので、単一の目のみがシステム100(図1)によって検出され得る。しかしながら、システム100(図1)は、上記で説明したように、単一の目を依然として正確に追跡し得る。上記で説明したように、CSサブトラッカーモジュール182(図1)は、単一の虹彩を追跡し、それを虹彩バウンディングボックス808内に包含し得、DFサブトラッカーモジュール184(図1)は、その単一の目とその単一の目を囲む特徴部とを包含する単一の共通部分バウンディングボックス806を生成し得る。
【００９０】
本明細書で開示するアイトラッキングシステムは、虹彩がFOVから去り、FOVに再び入る場合に、虹彩を復元し得ることが諒解できよう。復元は、DFサブトラッカーモジュール184(図1)から出力された共通部分バウンディングボックス806に基づき得る。すなわち、目は、既存の解決策で必要とされ得るように、再び検出される必要はない。
【００９１】
図9は、複数のフレーム902にわたるアイトラッキングを示す。図は6つの異なるフレーム902を示している。各フレーム902は、ユーザの顔と2つの目をFOV内に含んでいる。CSサブトラッカーモジュール182(図1)は、画像フレーム902内の目の虹彩部分を追跡し得る。上記で説明したように、CSサブトラッカーモジュール182(図1)は、目がどのように見える可能性があるかを表現する画像のデータセット(「肯定的データセット」と呼ばれる)と、目がどのように見えない可能性があるかを表現する画像の別のデータセット(「否定的データセット」と呼ばれる)とを構築する。肯定的データセットと否定的データセットとの組合せにより、CSサブトラッカーモジュール182(図1)は、他のすべてと比較して画像のどの部分が目である可能性があるかをより容易に識別することが可能となる。肯定的および否定的データセットは、画像のどの部分が目である可能性があるか、そしてどの部分がそうでないかを迅速に認識するためにアクセスされ、後のフレーム内の画像データと比較され得る。いくつかの実施形態では、肯定的および否定的データセットは、目自体の虹彩部分のそれぞれ肯定的および否定的識別に焦点を合わせている。
【００９２】
また、前に説明したように、DFサブトラッカーモジュール184(図1)は、少なくとも1つの目と、一貫した特徴(皮膚、眉毛、鼻橋、メガネフレームなど)をその中に持つ周りの領域とを含む、顔の一部分を生成するように構成されてもよい。これは、「共通部分バウンディングボックス」または「包含バウンディングボックス」と呼ばれることもある。
【００９３】
加えて、同様に前に説明したように、OFサブトラッカーモジュール186(図1)は、フレーム902内の動きを検出するように最適化され得る。OFサブトラッカーモジュール186(図1)は、フレームのペア同士の間の差を比較し得る。このOFサブトラッカーモジュール186(図1)は、特にあるフレームから次のフレームで目の位置に急激な変化が存在する場合に、概して目がどこに移動したかを迅速に特定するために使用されてもよい。
【００９４】
3つのサブトラッカーモジュールの組合せは、これらのフレーム902にわたる正確な虹彩トラッキングを可能にし得る。わかるように、左の虹彩バウンディングボックス904が左の虹彩を包含し、右の虹彩バウンディングボックス906が右の虹彩を包含している。虹彩が複数のフレーム902にわたってロケーションを変化させるとき、左の虹彩バウンディングボックス904および右の虹彩バウンディングボックス906もまた、対応する虹彩を追跡するようにロケーションを変化させる。この追跡は、たとえば、虹彩が眼瞼によって部分的に遮蔽されているときなど、全虹彩がFOV内にない場合でも正確であることが諒解されよう。
【００９５】
図10は、いくつかの実施形態による、目を追跡するための例示的な方法のフローチャートを示す。ブロック1010では、顔と目とを含む第1の画像が受信される。たとえば、図1では、カメラは、顔と目とを含む画像を捕捉し得る。アイトラッキングモジュールは次いで、さらなる処理のため、および/または、画像へのアクセスを様々なサブトラッカーモジュールに提供するために、捕捉された画像を受信し得る。
【００９６】
ブロック1020では、視野(FOV)における目の初期位置が、受信された第1の画像に基づいて決定される。たとえば、図1では、CSサブトラッカーモジュールは、FOVにおける目の初期位置を決定し得る。加えて、DFサブトラッカーモジュールは、FOV内の目と関連付けられる特徴を決定し得る。いくつかの実施形態では、各々が目の高信頼性検出を表す複数の肯定的画像サンプルが、CSサブトラッカーモジュールによって生成される。いくつかの実施形態では、各々が第1の画像のうちの目以外の部分の高信頼性検出を表す複数の否定的画像サンプルが、CSサブトラッカーモジュールによって生成される。いくつかの実施形態では、DFサブトラッカーモジュールは、目と顔の一部分のサブセットとを備える共通部分バウンディングボックスを生成し得る。
【００９７】
ブロック1030では、目を含む顔の一部分を含む第2の画像が受信される。たとえば、図1では、カメラは、目を含む顔の一部分を含む第2の画像を捕捉し得る。アイトラッキングモジュールは次いで、さらなる処理のため、および/または、画像へのアクセスを様々なサブトラッカーモジュールに提供するために、捕捉された画像を受信し得る。
【００９８】
ブロック1040では、受信された第2の画像に基づいて、目の初期位置からの目の位置の変化が追跡される。たとえば、図1では、CSサブトラッカーモジュール、DFサブトラッカーモジュール、およびOFサブトラッカーモジュールの組合せは、目をうまく追跡するように組み合わされ、従来のアイトラッカーの上述の問題を解決するのに十分にロバストである解決策を創成し得る。注目すべきことに、従来のアイトラッキング法とは異なり、説明したサブトラッカーのいずれも、顔全体の認識を必要とせず、したがって、本開示の方法が成功するためには、顔の一部分(目を含む)のみがFOVにおいて利用可能となることが必要となる。さらに、顔(または顔の一部)がFOVを去り、後の時間にFOVに再び入る場合、サブトラッカーは、トラッキングより前に、目を検出するプロセスを再開する必要がないこともある。3つのサブトラッカーの組合せは、これらの利点と、顔全体が常にトラッキングされる必要がないことで、現行の技法と比較してより低くなる電力使用量およびより高速となる処理などのさらなる利点とをもたらす。いくつかの実施形態では、トラッキングステップはリアルタイムで実施される。
【００９９】
いくつかの実施形態では、目の位置の変化を追跡することは、複数の肯定的画像サンプルおよび複数の否定的画像サンプルにさらに基づく。いくつかの実施形態では、目の位置の変化を追跡することは、共通部分バウンディングボックスにさらに基づく。
【０１００】
いくつかの実施形態では、OFサブトラッカーモジュールは、第1の画像と第2の画像との間における目の動きを検出する。いくつかの実施形態では、目の位置の変化を追跡することは、目の検出された動きにさらに基づく。
【０１０１】
例示的コンピューティングシステム
図11は、1つまたは複数の実施形態が実装され得るコンピューティングシステムの一例を示す。図11に示すコンピュータシステムは、上記で説明したアイトラッキングシステムの一部として組み込まれてもよい。たとえば、コンピュータシステム1100は、テレビ、コンピューティングデバイス、サーバ、デスクトップ、ワークステーション、自動車内の制御システムもしくはインタラクションシステム、タブレット、ネットブック、または任意の他の適切なコンピューティングシステムの構成要素のうちのいくつかを表し得る。コンピューティングデバイスは、画像キャプチャデバイスまたは入力感知ユニットおよびユーザ出力デバイスを備える任意のコンピューティングデバイスであってよい。画像キャプチャデバイスまたは入力感知ユニットは、カメラデバイスであってよい。ユーザ出力デバイスは、ディスプレイユニットであってよい。コンピューティングデバイスの例は、限定はしないが、ビデオゲーム機、タブレット、スマートフォン、および任意の他のハンドヘルドデバイスを含む。図11は、本明細書において説明されるような、種々の他の実施形態によって提供される方法を実行することができ、ならびに/あるいはホストコンピュータシステム、リモートキオスク/端末、販売時点情報管理デバイス、自動車内の電話インターフェースもしくはナビゲーションインターフェースもしくはマルチメディアインターフェース、コンピューティングデバイス、セットトップボックス、テーブルコンピュータ、および/またはコンピュータシステムとしての機能を果たすことができる、コンピュータシステム1100の一実施形態の概略図を提供する。図11は、種々の構成要素の一般化された図を提供することのみを意図しており、必要に応じて、そのいずれか、またはすべてが利用される場合がある。したがって、図11は、個々のシステム要素をいかにして、比較的別々に実現できるか、または比較的より統合されるように実現できるかを広く示している。いくつかの実施形態では、コンピュータシステム1100は、図1で説明したシステムの機能を実装するために使用され得る。
【０１０２】
バス1105を介して電気的に結合することができる(または、適切に他の方法で通信することができる)ハードウェア要素を備えるコンピュータシステム1100が示される。ハードウェア要素は、1つもしくは複数の汎用プロセッサおよび/または1つもしくは複数の専用プロセッサ(デジタル信号処理チップ、および/またはグラフィックス高速化プロセッサなど)を限定なしに含む1つまたは複数のプロセッサ1110と、1つもしくは複数のカメラ、センサ、マウス、キーボード、および/または超音波もしくは他の音波などを検出するように構成されたマイクロフォンなどを限定なしに含むことができる1つまたは複数の入力デバイス1115と、本発明の実施形態に使用されるデバイスなどのディスプレイユニット、および/またはプリンタなどを限定なしに含むことができる1つまたは複数の出力デバイス1120とを含み得る。
【０１０３】
本発明の実施形態のいくつかの実装形態では、様々な入力デバイス1115および出力デバイス1120は、ディスプレイデバイス、テーブル、床、壁、およびウィンドウスクリーンなどのインターフェースに埋め込まれ得る。さらに、プロセッサに結合された入力デバイス1115および出力デバイス1120は、多次元追跡システムを形成することができる。
【０１０４】
コンピュータシステム1100は、1つまたは複数の非一時的ストレージデバイス1125をさらに含むこと(および/またはそれらと通信すること)ができ、非一時的ストレージデバイス1125は、限定することなく、ローカルおよび/もしくはネットワークアクセス可能な記憶装置を含むことができ、ならびに/または限定することなく、プログラム可能、および/もしくはフラッシュ更新可能などとすることができる、ディスクドライブ、ドライブアレイ、光ストレージデバイス、ランダムアクセスメモリ(「RAM」)および/もしくはリードオンリメモリ(「ROM」)などのソリッドステートストレージデバイスを含み得る。そのような記憶デバイスは、限定はしないが、様々なファイルシステム、および/またはデータベース構造などを含む、任意の適切なデータストレージを実装するように構成され得る。
【０１０５】
コンピュータシステム1100はまた通信サブシステム1130を備えることもでき、通信サブシステム1130は、限定はしないが、モデム、ネットワークカード(ワイヤレスもしくは有線)、赤外線通信デバイス、ワイヤレス通信デバイスおよび/またはチップセット(Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備など)、および/または同様のものを含むことができる。通信サブシステム1130は、ネットワーク、他のコンピュータシステム、および/または本明細書において説明される任意の他のデバイスとデータを交換できるようにする場合がある。多くの実施形態では、コンピュータシステム1100は、上記のような、RAMまたはROMデバイスを含むことができる非一時的ワーキングメモリ1135をさらに備えることになる。
【０１０６】
コンピュータシステム1100は、本明細書で説明するように、オペレーティングシステム1140、デバイスドライバ、実行可能ライブラリ、ならびに/または、様々な実施形態によって提供されるコンピュータプログラムを含み得る、かつ/もしくは、他の実施形態によって提供される方法を実装し、かつ/もしくはシステムを構成するように設計され得る、1つもしくは複数のアプリケーションプログラム1145などの他のコードを含む、ワーキングメモリ1135内に現在配置されているものとして図示されたソフトウェア要素を含むこともできる。単に例として、上記で説明した方法に関して説明した1つまたは複数の手順は、コンピュータ(および/またはコンピュータ内のプロセッサ)によって実行可能なコードおよび/または命令として実装することも可能であり、次いで、一態様では、そのようなコードおよび/または命令は、説明した方法に従って1つまたは複数の動作を実行するように汎用コンピュータ(または他のデバイス)を構成するおよび/または適合させるために使用され得る。
【０１０７】
これらの命令および/またはコードのセットは、上記で説明した記憶デバイス1125などのコンピュータ可読記憶媒体上に記憶され得る。場合によっては、記憶媒体は、コンピュータシステム1100などのコンピュータシステム内に組み込まれる場合がある。他の実施形態では、記憶媒体は、そこに記憶された命令/コードを用いて汎用コンピュータをプログラムし、構成し、および/または適応させるために使用できるように、コンピュータシステムから分離することができ(たとえば、コンパクトディスクなどのリムーバブル媒体)、かつ/またはインストールパッケージにおいて提供することができる。これらの命令は、コンピュータシステム1100よって実行可能な実行可能コードの形態をとることができ、ならびに/または、ソースおよび/もしくはインストール可能コードの形態をとることができ、ソースおよび/もしくはインストール可能コードは、(たとえば、様々な一般的に利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティ、などのいずれかを使用する)コンピュータシステム1100上でのコンパイルおよび/またはインストールに際し、次いで、実行可能コードの形態をとる。
【０１０８】
具体的な要件に従って大幅な変形を行うことができる。たとえば、カスタマイズされたハードウェアが使用される場合もあり、かつ/または、特定の要素が、ハードウェア、ソフトウェア(アプレットなどのようなポータブルソフトウェアを含む)、もしくはその両方で実現される場合がある。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続が利用される場合もある。いくつかの実施形態では、コンピュータシステム1100の1つまたは複数の要素は、省略することができるか、または図示したシステムとは別に実現することができる。たとえば、プロセッサ1110および/または他の要素は、入力デバイス1115とは別に実現することができる。一実施形態では、プロセッサは、別個に実現される1つまたは複数のカメラから画像を受け取るように構成される。いくつかの実施形態では、図11に示された要素に加えた要素が、コンピュータシステム1100に含まれる場合がある。
【０１０９】
いくつかの実施形態は、本開示による方法を実行するために、(コンピュータシステム1100などの)コンピュータシステムを用いることができる。たとえば、説明された方法の手順のうちのいくつかまたはすべては、ワーキングメモリ1135に含まれる(オペレーティングシステム1140および/またはアプリケーションプログラム1145などの他のコードに組み込まれる場合がある)1つまたは複数の命令の1つまたは複数のシーケンスを実行しているプロセッサ1110に応答して、コンピュータシステム1100によって実行される場合がある。そのような命令は、記憶デバイス1125のうちの1つまたは複数などの、別のコンピュータ可読媒体からワーキングメモリ1135に読み込まれる場合がある。例にすぎないが、ワーキングメモリ1135内に含まれる命令のシーケンスの実行は、プロセッサ1110に、本明細書において説明される方法の1つまたは複数の手順を実行させることができる。
【０１１０】
本明細書において使用されるときに、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械を特定の方式で動作させるデータを与えることに関与する任意の媒体を指す。コンピュータシステム1100を使用して実現されるいくつかの実施形態では、種々のコンピュータ可読媒体が、実行のためにプロセッサ1110に命令/コードを与えることに関与することがあり、かつ/またはそのような命令/コードを(たとえば、信号として)記憶および/もしくは搬送するために使用されることがある。数多くの実施態様において、コンピュータ可読媒体は物理的な記憶媒体および/または有形の記憶媒体である。そのような媒体は、限定はしないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、数多くの形をとることができる。不揮発性媒体は、たとえば、記憶デバイス1125などの光ディスクおよび/または磁気ディスクを含む。揮発性媒体は、限定はしないが、ワーキングメモリ1135などのダイナミックメモリを含む。伝送媒体は、限定はしないが、バス1105、ならびに通信サブシステム1130の種々の構成要素(および/または通信サブシステム1130が他のデバイスとの通信を提供する媒体)を含む電線を含む、同軸ケーブル、銅線、および光ファイバーを含む。したがって、伝送媒体はまた、波(限定はしないが、無線波データ通信および赤外線データ通信中に生成されるような電波、音波、および/または光波を含む)の形をとることができる。
【０１１１】
物理的な、かつ/または有形のコンピュータ可読媒体の一般的な形は、たとえば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、フラッシュEPROM、任意の他のメモリチップまたはカートリッジ、以下において説明されるような搬送波、あるいはコンピュータが命令および/またはコードを読み取ることのできる任意の他の媒体を含む。
【０１１２】
様々な形のコンピュータ可読媒体が、1つまたは複数の命令の1つまたは複数のシーケンスを実行するためにプロセッサ1110に搬送する際に関与することができる。単なる例として、命令は最初に、リモートコンピュータの磁気ディスクおよび/または光ディスク上で搬送され得る。リモートコンピュータは、そのダイナミックメモリ内に命令をロードし、コンピュータシステム1100によって受信および/または実行されるべき送信媒体上の信号として命令を送信する場合がある。電磁信号、音響信号、および/または光信号などの形態であってもよいこれらの信号はすべて、本発明の様々な実施形態による、命令を符号化することができる搬送波の例である。
【０１１３】
通信サブシステム1130(および/またはその構成要素)は、一般に信号を受信し、次いで、バス1105は、信号(および/または、信号によって搬送されるデータ、命令など)をワーキングメモリ1135に搬送することができ、プロセッサ1110は、ワーキングメモリ1135から命令を取り出し、実行する。ワーキングメモリ1135によって受信された命令は、オプションで、プロセッサ1110による実行の前または後のいずれかに、非一時的記憶デバイス1125上に記憶することができる。
【０１１４】
先に論じられた方法、システム、およびデバイスは例である。種々の実施形態は、必要に応じて、種々の手順または構成要素を省略、置換、または追加することができる。たとえば、代替の構成では、説明される方法は、説明される順序とは異なる順序で実施される場合があり、かつ/または、種々のステージの追加、省略、および/もしくは組合せが行われる場合がある。さらに、特定の実施形態に関して説明された特徴は、種々の他の実施形態において組み合わせることができる。実施形態の異なる態様および要素は、同じように組み合わせることができる。また、技術は発展するので、要素のうちの多くは、本開示の範囲をそれらの具体例に限定しない例である。
【０１１５】
実施形態を十分に理解してもらうために、説明において具体的な詳細が与えられている。しかしながら、実施形態は、これらの具体的な詳細を伴わずに実践することができる。たとえば、実施形態を不明瞭することを避けるために、周知の回路、プロセス、アルゴリズム、構造、および技法は、無用に詳述することなく示されている。この説明は例示的な実施形態のみに関する説明であり、本発明の範囲、適用性、または構成を限定することは意図していない。むしろ、実施形態のこれらの説明は、本発明の実施形態を実施することを可能にする説明を当業者に与える。本発明の趣旨および範囲から逸脱することなく、要素の機能および構成に種々の変更を加えることができる。
【０１１６】
また、いくつかの実施形態は、フロー図またはブロック図として図示されているプロセスとして説明する。各々は動作を順次プロセスとして説明するが、動作の多くは、並列または同時に実施され得る。さらに、動作の順序は、並べ替えられることができる。プロセスは、図に含まれないさらなるステップを有する場合もある。さらに、方法の実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはこれらの任意の組合せによって実現されてもよい。関連するタスクを実施するためのプログラムコードまたはコードセグメントは、ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードにおいて実現されるときには、ストレージ媒体などのコンピュータ可読媒体に記憶されてもよい。プロセッサは、関連するタスクを実施してもよい。したがって、上記の説明では、コンピュータシステムによって実行されるものとして記述された機能または方法は、プロセッサ、たとえば、機能または方法を実行するように構成されたプロセッサ1110によって実行することができる。さらに、そのような機能または方法は、1つまたは複数のコンピュータ可読媒体に記憶されたプロセッサ実行命令によって実行することができる。
【０１１７】
いくつかの実施形態について説明してきたが、様々な変更、代替構造、および均等物が本開示の趣旨から逸脱することなく使用され得る。たとえば、上記の要素は、単により大きいシステムの構成要素であってもよく、他のルールが本発明の適用例よりも優先するか、そうでなければ本発明の適用例を修正してもよい。また、上記の要素が考慮される前、考慮される間、または考慮された後に、いくつかのステップが実施されてもよい。したがって、上記の説明は本開示の範囲を限定しない。
【０１１８】
種々の例が説明されてきた。これらの例および他の例は以下の特許請求の範囲内に入る。
【符号の説明】
【０１１９】
100  システム
110  プロセッサ
130  ディスプレイ
140  入力デバイス
150  スピーカー
160  メモリ
162  モジュール1
164  モジュール2
170  カメラ
180  コンピュータ可読媒体
182  圧縮センシング(CS)サブトラッカーモジュール
184  決定フォレスト(DF)サブトラッカーモジュール
186  オプティカルフロー(OF)サブトラッカーモジュール
188  アイトラッキングモジュール
190  データベース
200  プロセスフロー
201  入力フレーム
202  予備処理ステップ
204  収縮モジュール
206  能動的学習モジュール
208  データセット
210  最終決定の結果
300  流れ図
314  DFの肯定的データセット
316  DFの否定的データセット
318  CSの肯定的データセット
320  CSの否定的データセット
322  例示的な画像、画像フレーム
324  例示的な画像
410  初期の画像フレーム
420  次の画像フレーム
430  後続の画像フレーム
502  入力フレーム
504  肯定的バウンディングボックス
506  否定的バウンディングボックス
508  多重スケールの画像特徴値
511  肯定的特徴ベクトル
512  スパース行列射影
513  否定的特徴ベクトル
516  学習した分類器
600  フローチャート
700  フローチャート
802  共通部分バウンディングボックス
804  虹彩バウンディングボックス
806  共通部分バウンディングボックス
808  虹彩バウンディングボックス
810  第1フレーム
820  第2フレーム
830  第3フレーム
840  第4フレーム
842  物体
902  フレーム
904  左の虹彩バウンディングボックス
906  右の虹彩バウンディングボックス
1100  コンピュータシステム
1105  バス
1110  プロセッサ
1115  入力デバイス
1120  出力デバイス
1125  非一時的ストレージデバイス
1130  通信サブシステム
1135  ワーキングメモリ
1140  オペレーティングシステム
1145  アプリケーションプログラム
【図１】
2017523498.tif 000008
【図２】
2017523498.tif 000009
【図３】
2017523498.tif 000010
【図４】
2017523498.tif 000011
【図５】
2017523498.tif 000012
【図６】
2017523498.tif 000013
【図７】
2017523498.tif 000014
【図８】
2017523498.tif 000015
【図９】
2017523498.tif 000016
【図１０】
2017523498.tif 000017
【図１１】
2017523498.tif 000018
【手続補正書】
【提出日】平成28年11月30日(2016.11.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
目を追跡するための方法であって、
顔と前記目とを含む第1の画像を受信するステップと、
前記受信された第1の画像に基づいて、視野(FOV)における前記目の初期位置を決定するステップと、
前記目を含む前記顔の一部分を含む第2の画像を受信するステップと、
各々が前記目の高信頼性検出を表す複数の肯定的画像サンプルを生成するステップと、
各々が前記第1の画像のうちの前記目以外の部分の高信頼性検出を表す複数の否定的画像サンプルを生成するステップと、
前記受信された第2の画像に基づいて、前記目の前記初期位置からの前記目の位置の変化を追跡するステップであって、前記目の位置の変化を追跡することが、前記複数の肯定的画像サンプルおよび前記複数の否定的画像サンプルにさらに基づき、前記変化を追跡することが、複数のトラッキングモジュールによって出力される結果の収束に少なくとも部分的に基づき、前記複数のトラッキングモジュールは、(1)前記目の虹彩部分を追跡するように構成された第1のトラッキングモジュールと、(2)前記目と前記目以外の特徴を有する周囲の領域とを含む前記顔の一部分を生成するように構成された第2のトラッキングモジュールと、(3)前記第1の受信された画像と前記第2の受信された画像との差を比較するように構成された第3のトラッキングモジュールとを含む、ステップとを含む方法。
【請求項２】
前記目と前記顔の前記一部分のサブセットとを含む共通部分バウンディングボックスを生成するステップをさらに含み、前記目の位置の変化を追跡することが、前記共通部分バウンディングボックスにさらに基づく、請求項1に記載の方法。
【請求項３】
前記第1の画像と前記第2の画像との間における前記目の動きを検出するステップをさらに含む、請求項1に記載の方法。
【請求項４】
前記目の位置の変化を追跡することが、前記目の前記検出された動きにさらに基づく、請求項3に記載の方法。
【請求項５】
前記追跡するステップは、リアルタイムで実施される、請求項1に記載の方法。
【請求項６】
目を追跡するための装置であって、
1つまたは複数の画像を捕捉するように構成されたカメラと、
1つまたは複数のトラッキングモジュールを備えるメモリと、
前記カメラおよび前記メモリに結合されたプロセッサであって、前記1つまたは複数のトラッキングモジュールが実行されるとき、
前記カメラを介して、顔と前記目とを含む第1の画像を受信することと、
前記受信された第1の画像に基づいて、視野(FOV)における前記目の初期位置を決定することと、
前記カメラを介して、前記目を含む前記顔の一部分を含む第2の画像を受信することと、
各々が前記目の高信頼性検出を表す複数の肯定的画像サンプルを生成することと、
各々が前記第1の画像のうちの前記目以外の部分の高信頼性検出を表す複数の否定的画像サンプルを生成することと、
前記受信された第2の画像に基づいて、前記目の前記初期位置からの前記目の位置の変化を追跡することであって、前記目の位置の変化を追跡することが、前記複数の肯定的画像サンプルおよび前記複数の否定的画像サンプルにさらに基づき、前記変化を追跡することが、複数のトラッキングモジュールによって出力される結果の収束に少なくとも部分的に基づき、前記複数のトラッキングモジュールは、(1)前記目の虹彩部分を追跡するように構成された第1のトラッキングモジュールと、(2)前記目と前記目以外の特徴を有する周囲の領域とを含む前記顔の一部分を生成するように構成された第2のトラッキングモジュールと、(3)前記第1の受信された画像と前記第2の受信された画像との差を比較するように構成された第3のトラッキングモジュールとを含む、こととを行うように動作可能であるプロセッサとを備える装置。
【請求項７】
前記プロセッサは、前記1つまたは複数のトラッキングモジュールが実行されるとき、前記目と前記顔の前記一部分のサブセットとを含む共通部分バウンディングボックスを生成するようにさらに動作可能であり、前記目の位置の変化を追跡することが、前記共通部分バウンディングボックスにさらに基づく、請求項6に記載の装置。
【請求項８】
前記プロセッサは、前記1つまたは複数のトラッキングモジュールが実行されるとき、前記第1の画像と前記第2の画像との間における前記目の動きを検出するようにさらに動作可能である、請求項6に記載の装置。
【請求項９】
前記目の位置の変化を追跡することが、前記目の前記検出された動きにさらに基づく、請求項8に記載の装置。
【請求項１０】
前記追跡することは、リアルタイムで実施される、請求項6に記載の装置。
【請求項１１】
目を追跡するための装置であって、
顔と前記目とを含む第1の画像を受信するための手段と、
前記受信された第1の画像に基づいて、視野(FOV)における前記目の初期位置を決定するための手段と、
前記目を含む前記顔の一部分を含む第2の画像を受信するための手段と、
各々が前記目の高信頼性検出を表す複数の肯定的画像サンプルを生成するための手段と、
各々が前記第1の画像のうちの前記目以外の部分の高信頼性検出を表す複数の否定的画像サンプルを生成するための手段と、
前記受信された第2の画像に基づいて、前記目の前記初期位置からの前記目の位置の変化を追跡するための手段であって、前記目の位置の変化を追跡することが、前記複数の肯定的画像サンプルおよび前記複数の否定的画像サンプルにさらに基づき、前記変化を追跡することが、複数のトラッキングモジュールによって出力される結果の収束に少なくとも部分的に基づき、前記複数のトラッキングモジュールは、(1)前記目の虹彩部分を追跡するように構成された第1のトラッキングモジュールと、(2)前記目と前記目以外の特徴を有する周囲の領域とを含む前記顔の一部分を生成するように構成された第2のトラッキングモジュールと、(3)前記第1の受信された画像と前記第2の受信された画像との差を比較するように構成された第3のトラッキングモジュールとを含む、手段とを備える装置。
【請求項１２】
前記目と前記顔の前記一部分のサブセットとを含む共通部分バウンディングボックスを生成するための手段をさらに備え、前記目の位置の変化を追跡することが、前記共通部分バウンディングボックスにさらに基づく、請求項11に記載の装置。
【請求項１３】
前記第1の画像と前記第2の画像との間における前記目の動きを検出するための手段をさらに備える、請求項11に記載の装置。
【請求項１４】
前記目の位置の変化を追跡することが、前記目の前記検出された動きにさらに基づく、請求項13に記載の装置。
【請求項１５】
プロセッサに、
顔と目とを含む第1の画像を受信することと、
前記受信された第1の画像に基づいて、視野(FOV)における前記目の初期位置を決定することと、
前記目を含む前記顔の一部分を含む第2の画像を受信することと、
各々が前記目の高信頼性検出を表す複数の肯定的画像サンプルを生成することと、
各々が前記第1の画像のうちの前記目以外の部分の高信頼性検出を表す複数の否定的画像サンプルを生成することと、
前記受信された第2の画像に基づいて、前記目の前記初期位置からの前記目の位置の変化を追跡することであって、前記目の位置の変化を追跡することが、前記複数の肯定的画像サンプルおよび前記複数の否定的画像サンプルにさらに基づき、前記変化を追跡することが、複数のトラッキングモジュールによって出力される結果の収束に少なくとも部分的に基づき、前記複数のトラッキングモジュールは、(1)前記目の虹彩部分を追跡するように構成された第1のトラッキングモジュールと、(2)前記目と前記目以外の特徴を有する周囲の領域とを含む前記顔の一部分を生成するように構成された第2のトラッキングモジュールと、(3)前記第1の受信された画像と前記第2の受信された画像との差を比較するように構成された第3のトラッキングモジュールとを含む、こととを行わせるように構成されたプロセッサ可読命令を備える、プロセッサ可読な非一時的コンピュータ可読媒体。
【請求項１６】
前記プロセッサ可読命令は、前記プロセッサに、前記目と前記顔の前記一部分のサブセットとを含む共通部分バウンディングボックスを生成することを行わせるようにさらに構成され、前記目の位置の変化を追跡することが、前記共通部分バウンディングボックスにさらに基づく、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項１７】
前記プロセッサ可読命令は、前記プロセッサに、前記第1の画像と前記第2の画像との間における前記目の動きを検出することを行わせるようにさらに構成される、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記目の位置の変化を追跡することが、前記目の前記検出された動きにさらに基づく、請求項17に記載の非一時的コンピュータ可読媒体。
【国際調査報告】
2017523498.tif 000019
2017523498.tif 000020