JP2017523498A - 効率的なフォレストセンシングに基づくアイトラッキング - Google Patents

効率的なフォレストセンシングに基づくアイトラッキング Download PDF

Info

Publication number
JP2017523498A
JP2017523498A JP2016569403A JP2016569403A JP2017523498A JP 2017523498 A JP2017523498 A JP 2017523498A JP 2016569403 A JP2016569403 A JP 2016569403A JP 2016569403 A JP2016569403 A JP 2016569403A JP 2017523498 A JP2017523498 A JP 2017523498A
Authority
JP
Japan
Prior art keywords
eye
image
tracking
bounding box
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016569403A
Other languages
English (en)
Inventor
タオ・シェン
アルウィン・ドス・レメディオス
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2017523498A publication Critical patent/JP2017523498A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/467Encoded features or binary features, e.g. local binary patterns [LBP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/19Sensors therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/193Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/197Matching; Classification

Abstract

新規なアイトラッキング方法論のための方法、システム、コンピュータ可読媒体、および装置が提示される。具体的に言うと、FOV内における人の目の初期決定後、本開示の方法は、顔の一部が遮蔽されていても人の目を追跡し得、また、人の目がFOVから抜け出す場合でも目を迅速に再取得し得る。それぞれの目は、新規な方法論によるより高速なアイトラッキングで個別に追跡され得、また低い画像解像度および/または品質における正常なアイトラッキングが可能である。いくつかの実施形態では、本開示のアイトラッキングの方法論は、組み合わされると目が次の画像フレームにおいて移動している場所の最高信頼度ロケーションを生成する種々のアイトラッキング機能をそれぞれが実施する、一連のサブトラッカー技法を含む。

Description

本開示の実施形態はアイトラッキングに関する。より具体的には、本開示の態様は、エネルギー効率的であるとともに時間効率的である新規な手法を用いてビデオにおいて目を追跡することに関する。
近年、アイトラッキング技術の精巧化および融通性の向上により、商業部門における大きな関心が生まれている。用途には、ウェブユーザビリティ、広告、スポンサーシップ、パッケージデザイン、ゲーミング、および自動車工学が含まれる。しかしながら、現在のアイトラッキングアルゴリズムはいくつかの限界を有している。たとえば、現在のアイトラッカーは、顔全体が視野(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が、以下のように定義される入力で採用される。
Figure 2017523498
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内のすべての要素が別個に疑われると想定すると、それらは単純ベイズ分類器で以下のようにモデル化され得る。
Figure 2017523498
上式で、均一なp(y = 1) = p(y = 0)と想定され、y ∈ {0,1}は、サンプルラベルを表現するバイナリ変数である。また、H(v)における条件付き分布p(vi|y = 1)およびp(vi|y = 0)は、パラメータ(μi 1i 1i 0i 0)に関してガウス分布すると想定され、ここで、
Figure 2017523498
である。
式(4)のパラメータは、式(5)によって増分的に更新され得る。
Figure 2017523498
上式で、λ > 0は学習パラメータであり、
Figure 2017523498
である。
そのために、式(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 アプリケーションプログラム

Claims (30)

  1. 目を追跡するための方法であって、
    顔と前記目とを含む第1の画像を受信するステップと、
    前記受信された第1の画像に基づいて、視野(FOV)における前記目の初期位置を決定するステップと、
    前記目を含む前記顔の一部分を含む第2の画像を受信するステップと、
    前記受信された第2の画像に基づいて、前記目の前記初期位置からの前記目の位置の変化を追跡するステップとを含む方法。
  2. 各々が前記目の高信頼性検出を表す複数の肯定的画像サンプルを生成するステップをさらに含む、請求項1に記載の方法。
  3. 各々が前記第1の画像のうちの前記目以外の部分の高信頼性検出を表す複数の否定的画像サンプルを生成するステップをさらに含む、請求項2に記載の方法。
  4. 前記目の位置の変化を追跡することが、前記複数の肯定的画像サンプルおよび前記複数の否定的画像サンプルにさらに基づく、請求項3に記載の方法。
  5. 前記目と前記顔の前記一部分のサブセットとを含む共通部分バウンディングボックスを生成するステップをさらに含み、前記目の位置の変化を追跡することが、前記共通部分バウンディングボックスにさらに基づく、請求項1に記載の方法。
  6. 前記第1の画像と前記第2の画像との間における前記目の動きを検出するステップをさらに含む、請求項1に記載の方法。
  7. 前記目の位置の変化を追跡することが、前記目の前記検出された動きにさらに基づく、請求項6に記載の方法。
  8. 前記追跡するステップは、リアルタイムで実施される、請求項1に記載の方法。
  9. 目を追跡するための装置であって、
    1つまたは複数の画像を捕捉するように構成されたカメラと、
    1つまたは複数のトラッキングモジュールを備えるメモリと、
    前記カメラおよび前記メモリに結合されたプロセッサであって、前記1つまたは複数のトラッキングモジュールが実行されるとき、
    前記カメラを介して、顔と前記目とを含む第1の画像を受信することと、
    前記受信された第1の画像に基づいて、視野(FOV)における前記目の初期位置を決定することと、
    前記カメラを介して、前記目を含む前記顔の一部分を含む第2の画像を受信することと、
    前記受信された第2の画像に基づいて、前記目の前記初期位置からの前記目の位置の変化を追跡することとを行うように動作可能であるプロセッサとを備える装置。
  10. 前記プロセッサは、前記1つまたは複数のトラッキングモジュールが実行されるとき、各々が前記目の高信頼性検出を表す複数の肯定的画像サンプルを生成するようにさらに動作可能である、請求項9に記載の装置。
  11. 前記プロセッサは、前記1つまたは複数のトラッキングモジュールが実行されるとき、各々が前記第1の画像のうちの前記目以外の部分の高信頼性検出を表す複数の否定的画像サンプルを生成するようにさらに動作可能である、請求項10に記載の装置。
  12. 前記目の位置の変化を追跡することが、前記複数の肯定的画像サンプルおよび前記複数の否定的画像サンプルにさらに基づく、請求項11に記載の装置。
  13. 前記プロセッサは、前記1つまたは複数のトラッキングモジュールが実行されるとき、前記目と前記顔の前記一部分のサブセットとを含む共通部分バウンディングボックスを生成するようにさらに動作可能であり、前記目の位置の変化を追跡することが、前記共通部分バウンディングボックスにさらに基づく、請求項9に記載の装置。
  14. 前記プロセッサは、前記1つまたは複数のトラッキングモジュールが実行されるとき、前記第1の画像と前記第2の画像との間における前記目の動きを検出するようにさらに動作可能である、請求項9に記載の装置。
  15. 前記目の位置の変化を追跡することが、前記目の前記検出された動きにさらに基づく、請求項14に記載の装置。
  16. 前記追跡することは、リアルタイムで実施される、請求項9に記載の装置。
  17. 目を追跡するための装置であって、
    顔と前記目とを含む第1の画像を受信するための手段と、
    前記受信された第1の画像に基づいて、視野(FOV)における前記目の初期位置を決定するための手段と、
    前記目を含む前記顔の一部分を含む第2の画像を受信するための手段と、
    前記受信された第2の画像に基づいて、前記目の前記初期位置からの前記目の位置の変化を追跡するための手段とを備える装置。
  18. 各々が前記目の高信頼性検出を表す複数の肯定的画像サンプルを生成するための手段をさらに備える、請求項17に記載の装置。
  19. 各々が前記第1の画像のうちの前記目以外の部分の高信頼性検出を表す複数の否定的画像サンプルを生成するための手段をさらに備える、請求項18に記載の装置。
  20. 前記目の位置の変化を追跡することが、前記複数の肯定的画像サンプルおよび前記複数の否定的画像サンプルにさらに基づく、請求項19に記載の装置。
  21. 前記目と前記顔の前記一部分のサブセットとを含む共通部分バウンディングボックスを生成するための手段をさらに備え、前記目の位置の変化を追跡することが、前記共通部分バウンディングボックスにさらに基づく、請求項17に記載の装置。
  22. 前記第1の画像と前記第2の画像との間における前記目の動きを検出するための手段をさらに備える、請求項17に記載の装置。
  23. 前記目の位置の変化を追跡することが、前記目の前記検出された動きにさらに基づく、請求項22に記載の装置。
  24. プロセッサに、
    顔と目とを含む第1の画像を受信することと、
    前記受信された第1の画像に基づいて、視野(FOV)における前記目の初期位置を決定することと、
    前記目を含む前記顔の一部分を含む第2の画像を受信することと、
    前記受信された第2の画像に基づいて、前記目の前記初期位置からの前記目の位置の変化を追跡することとを行わせるように構成されたプロセッサ可読命令を備える、プロセッサ可読な非一時的コンピュータ可読媒体。
  25. 前記プロセッサ可読命令は、前記プロセッサに、各々が前記目の高信頼性検出を表す複数の肯定的画像サンプルを生成することを行わせるようにさらに構成される、請求項24に記載の非一時的コンピュータ可読媒体。
  26. 前記プロセッサ可読命令は、前記プロセッサに、各々が前記第1の画像のうちの前記目以外の部分の高信頼性検出を表す複数の否定的画像サンプルを生成することを行わせるようにさらに構成される、請求項25に記載の非一時的コンピュータ可読媒体。
  27. 前記目の位置の変化を追跡することが、前記複数の肯定的画像サンプルおよび前記複数の否定的画像サンプルにさらに基づく、請求項26に記載の非一時的コンピュータ可読媒体。
  28. 前記プロセッサ可読命令は、前記プロセッサに、前記目と前記顔の前記一部分のサブセットとを含む共通部分バウンディングボックスを生成することを行わせるようにさらに構成され、前記目の位置の変化を追跡することが、前記共通部分バウンディングボックスにさらに基づく、請求項24に記載の非一時的コンピュータ可読媒体。
  29. 前記プロセッサ可読命令は、前記プロセッサに、前記第1の画像と前記第2の画像との間における前記目の動きを検出することを行わせるようにさらに構成される、請求項24に記載の非一時的コンピュータ可読媒体。
  30. 前記目の位置の変化を追跡することが、前記目の前記検出された動きにさらに基づく、請求項29に記載の非一時的コンピュータ可読媒体。
JP2016569403A 2014-05-29 2015-04-14 効率的なフォレストセンシングに基づくアイトラッキング Pending JP2017523498A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/290,408 US9514364B2 (en) 2014-05-29 2014-05-29 Efficient forest sensing based eye tracking
US14/290,408 2014-05-29
PCT/US2015/025773 WO2015183420A1 (en) 2014-05-29 2015-04-14 Efficient forest sensing based eye tracking

Publications (1)

Publication Number Publication Date
JP2017523498A true JP2017523498A (ja) 2017-08-17

Family

ID=53015939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016569403A Pending JP2017523498A (ja) 2014-05-29 2015-04-14 効率的なフォレストセンシングに基づくアイトラッキング

Country Status (6)

Country Link
US (1) US9514364B2 (ja)
EP (1) EP3149654A1 (ja)
JP (1) JP2017523498A (ja)
KR (1) KR20170012287A (ja)
CN (1) CN106471440A (ja)
WO (1) WO2015183420A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102287751B1 (ko) * 2014-09-25 2021-08-09 삼성전자 주식회사 전자 장치의 홍채 인식 방법 및 장치
US20180068449A1 (en) 2016-09-07 2018-03-08 Valve Corporation Sensor fusion systems and methods for eye-tracking applications
JP6725381B2 (ja) * 2016-09-20 2020-07-15 株式会社東芝 画像照合装置および画像照合方法
TWI685772B (zh) * 2018-11-23 2020-02-21 國立臺灣大學 取得眼球追蹤位置的影像運算方法和其系統
CN112580423A (zh) * 2019-09-30 2021-03-30 托比股份公司 处理用户眼睛的图像的方法、相关联系统和计算机程序
KR102538919B1 (ko) * 2020-12-17 2023-06-01 주식회사 파인더스에이아이 하이브리드 사물 추적 시스템 및 방법
US11442543B1 (en) * 2021-01-29 2022-09-13 Apple Inc. Electronic devices with monocular gaze estimation capabilities
GB2608705B (en) * 2021-06-30 2023-11-01 Apple Inc Eye tracking data filtering

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263088B1 (en) 1997-06-19 2001-07-17 Ncr Corporation System and method for tracking movement of objects in a scene
JP3549725B2 (ja) 1998-04-13 2004-08-04 シャープ株式会社 画像処理装置
KR100361497B1 (ko) 1999-01-08 2002-11-18 엘지전자 주식회사 얼굴영역 추출방법
US6590999B1 (en) 2000-02-14 2003-07-08 Siemens Corporate Research, Inc. Real-time tracking of non-rigid objects using mean shift
US6937744B1 (en) 2000-06-13 2005-08-30 Microsoft Corporation System and process for bootstrap initialization of nonparametric color models
US7058209B2 (en) 2001-09-20 2006-06-06 Eastman Kodak Company Method and computer program product for locating facial features
CN100571624C (zh) * 2003-04-11 2009-12-23 博士伦公司 用于获取数据以及对准和跟踪眼睛的系统和方法
US20050063568A1 (en) * 2003-09-24 2005-03-24 Shih-Ching Sun Robust face detection algorithm for real-time video sequence
US7702425B2 (en) 2004-06-07 2010-04-20 Ford Global Technologies Object classification system for a vehicle
US7817822B2 (en) 2005-10-14 2010-10-19 Microsoft Corporation Bi-directional tracking using trajectory segment analysis
US7840061B2 (en) 2007-02-28 2010-11-23 Mitsubishi Electric Research Laboratories, Inc. Method for adaptively boosting classifiers for object tracking
US7756296B2 (en) 2007-03-27 2010-07-13 Mitsubishi Electric Research Laboratories, Inc. Method for tracking objects in videos using forward and backward tracking
KR100947990B1 (ko) 2008-05-15 2010-03-18 성균관대학교산학협력단 차영상 엔트로피를 이용한 시선 추적 장치 및 그 방법
FR2951565B1 (fr) 2009-10-20 2016-01-01 Total Immersion Procede, programme d'ordinateur et dispositif de suivi hybride de representations d'objets, en temps reel, dans une sequence d'images
US8600166B2 (en) 2009-11-06 2013-12-03 Sony Corporation Real time hand tracking, pose classification and interface control
CN101866215B (zh) * 2010-04-20 2013-10-16 复旦大学 在视频监控中采用视线跟踪的人机交互装置和方法
CN102236899B (zh) 2010-05-07 2013-12-04 株式会社理光 物体检测方法和装置
US8385632B2 (en) 2010-06-01 2013-02-26 Mitsubishi Electric Research Laboratories, Inc. System and method for adapting generic classifiers for object detection in particular scenes using incremental training
US10321892B2 (en) 2010-09-27 2019-06-18 Siemens Medical Solutions Usa, Inc. Computerized characterization of cardiac motion in medical diagnostic ultrasound
GB2484133B (en) 2010-09-30 2013-08-14 Toshiba Res Europ Ltd A video analysis method and system
US9619035B2 (en) 2011-03-04 2017-04-11 Microsoft Technology Licensing, Llc Gesture detection and recognition
US9141196B2 (en) 2012-04-16 2015-09-22 Qualcomm Incorporated Robust and efficient learning object tracker
KR20140019950A (ko) 2012-08-07 2014-02-18 성균관대학교산학협력단 단말기의 모노 카메라에 입력된 손가락 영상을 이용한 3차원 좌표 생성 방법 및 모노 카메라에 입력된 손가락 영상을 이용하여 3차원 좌표를 생성하는 이동 단말기
CN103677226B (zh) * 2012-09-04 2016-08-03 北方工业大学 表情识别输入方法

Also Published As

Publication number Publication date
KR20170012287A (ko) 2017-02-02
US20150347814A1 (en) 2015-12-03
EP3149654A1 (en) 2017-04-05
US9514364B2 (en) 2016-12-06
CN106471440A (zh) 2017-03-01
WO2015183420A1 (en) 2015-12-03

Similar Documents

Publication Publication Date Title
US10943126B2 (en) Method and apparatus for processing video stream
EP3467707B1 (en) System and method for deep learning based hand gesture recognition in first person view
JP2017523498A (ja) 効率的なフォレストセンシングに基づくアイトラッキング
CN111476306B (zh) 基于人工智能的物体检测方法、装置、设备及存储介质
EP3800528A1 (en) Pose prediction with recurrent neural networks
US9665804B2 (en) Systems and methods for tracking an object
US20190392587A1 (en) System for predicting articulated object feature location
CA2774974C (en) Real time hand tracking, pose classification, and interface control
CA2789887A1 (en) Face feature vector construction
Kang et al. Development of head detection and tracking systems for visual surveillance
CN110807410B (zh) 关键点定位方法、装置、电子设备和存储介质
US11720745B2 (en) Detecting occlusion of digital ink
CN112149615A (zh) 人脸活体检测方法、装置、介质及电子设备
JP2024511171A (ja) 動作認識の方法および装置
US9317770B2 (en) Method, apparatus and terminal for detecting image stability
CN111310595B (zh) 用于生成信息的方法和装置
US20220245834A1 (en) Image processing method and apparatus
CN110942033B (zh) 用于推送信息的方法、装置、电子设备和计算机介质
KR20210157052A (ko) 객체 인식 방법 및 객체 인식 장치
KR102617213B1 (ko) 소프트웨어 기반의 객체 트래킹 제공 방법 및 그를 위한 컴퓨팅 장치
KR102601233B1 (ko) Lstm 기반의 이상 인식 방법 및 시스템
US20240005529A1 (en) Software-based object tracking method and computing device therefor
CN111061367B (zh) 一种自助设备手势鼠标的实现方法
KR20230042868A (ko) 실환경 물체 인식 방법 및 장치
KR20220108378A (ko) 치아 기반 개인 식별 장치 및 방법