(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-19
(45)【発行日】2023-05-29
(54)【発明の名称】視線追跡方法およびシステム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230522BHJP
G06N 3/04 20230101ALI20230522BHJP
【FI】
G06T7/00 660A
G06T7/00 350C
G06N3/04
(21)【出願番号】P 2020568010
(86)(22)【出願日】2019-02-22
(86)【国際出願番号】 CA2019050218
(87)【国際公開番号】W WO2019161503
(87)【国際公開日】2019-08-29
【審査請求日】2022-02-16
(32)【優先日】2018-02-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520318801
【氏名又は名称】イノデム ニューロサイエンシズ
【氏名又は名称原語表記】INNODEM NEUROSCIENCES
(74)【代理人】
【識別番号】100080447
【氏名又は名称】太田 恵一
(72)【発明者】
【氏名】ドゥ ビレール-シダニ,エティエンヌ
(72)【発明者】
【氏名】ドルアン-ピカロ, ポール アレクサンドル
【審査官】新井 則和
(56)【参考文献】
【文献】米国特許出願公開第2016/0210503(US,A1)
【文献】米国特許出願公開第2017/0287112(US,A1)
【文献】Cristian Emanuel Ordonez et al.,Real-Time Pupil-Tracking embedded-system based on neural networks,2017 XVII Workshop on Information Processing and Control (RPIC),2017年09月22日
【文献】Cristian Emanuel Ordonez et al.,Real-time gaze-tracking embedded-system,2017 Eight Argentine Symposium and Conference on Embedded Systems (CASE),2017年08月31日
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
G06N 3/04
(57)【特許請求の範囲】
【請求項1】
ユーザの凝視位置を決定するためのコンピュータ実装方法において、
ユーザの少なくとも1つの眼の初期画像を受信するステップと、
初期画像の少なくとも1つのカラー成分を抽出して、対応する少なくとも1つの成分画像を得るステップと、
少なくとも1つの成分画像の各々に対してそれぞれの一次ストリームを適用して、少なくとも1つの成分画像の各々についてそれぞれの内部表現を得るステップと、
少なくとも1つの成分画像の各々についてのそれぞれの内部表現を用いて前記初期画像についての推定凝視位置を決定するステップと、および、
推定凝視位置を出力するステップと、
を含
み、
少なくとも1つのカラー成分を抽出する前記ステップが、初期画像の少なくとも2つの明確に異なるカラー成分を抽出して、対応する少なくとも2つの成分画像を得るステップを含み、さらに、推定凝視位置を決定する前記ステップが、重み因子を用いて前記それぞれの内部表現の各々を共に組み合わせるステップを含む方法。
【請求項2】
前記一次ストリームを適用してそれぞれの内部表現を得る前記ステップおよび推定凝視位置を決定する前記ステップが、組み合わせた形で行なわれ、および、
ニューラルネットワークを用いて少なくとも1つの成分画像を処理するステップであって、ニューラルネットワークの少なくとも1つの部分が少なくとも1つの成分画像の各々に個別のそれぞれの一次ストリームであるステップを含み、そこでニューラルネットワークは単数または複数のコンピュータにより実装され、単数または複数のニューラルネットワーク層を含み、ニューラルネットワークは、ランタイムにおいておよびニューラルネットワークがトレーニングされた後で、単数または複数のニューラルネットワーク層を用いて少なくとも1つの成分画像を処理して前記推定凝視位置を生成するように構成されている、請求項1に記載のコンピュータ実装方法。
【請求項3】
それぞれの一次ストリームを適用してそれぞれの内部表現を得る前記ステップが、少なくとも1つの成分画像の各々について別個に行なわれ、および、少なくとも1つの成分画像の各々について少なくとも1つの完全接続層を含む、請求項2に記載のコンピュータ実装方法。
【請求項4】
それぞれの一次ストリームを適用してそれぞれの内部表現を得るステップが、少なくとも1つの畳み込み層を含む、請求項2に記載のコンピュータ実装方法。
【請求項5】
各々のそれぞれの一次ストリームが、少なくとも1つの畳み込み層の下流側に少なくとも1つの完全接続層を含む、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記ニューラルネットワークが、それぞれの一次ストリームの下流側に別の部分、すなわち内部ストリームを含み、そこで推定凝視位置を決定する前記ステップが、少なくとも1つのフュージョン層を含む内部ストリームを用いて行なわれ、内部ストリームが少なくとも1つの完全接続層を有する、請求項2から5のいずれか一つに記載のコンピュータ実装方法。
【請求項7】
前記内部ストリームは、フュージョン層が少なくともそれぞれの内部表現を受信した時点で開始し、少なくとも1つの完全接続層を含みフュージョン層の下流側にある出力層をさらに含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
少なくとも1つのカラー成分を抽出する前記ステップが、初期画像の3つのRGB成分の各々を抽出するステップを含む、請求項
1に記載のコンピュータ実装方法。
【請求項9】
前記受信初期画像が少なくとも1つの眼以外の追加の特徴を含む、請求項1から
8のいずれか一つに記載のコンピュータ実装方法。
【請求項10】
受信初期画像の内部の前記少なくとも1つの眼を識別するステップと、および、
少なくとも1つの眼のみを含む前記初期画像の一部分を抽出し、こうしてクロッピングされた画像を得るステップと、
をさらに含み、
ここで、少なくとも1つのカラー成分を抽出する前記ステップが、対応する少なくとも1つの成分画像を得るために、クロッピングされた画像内で行なわれる、請求項
9に記載のコンピュータ実装方法。
【請求項11】
前記少なくとも1つの眼を識別する前記ステップが、顔面特徴またはランドマーク認識方法を用いて行なわれる、請求項
10に記載のコンピュータ実装方法。
【請求項12】
前記少なくとも1つの眼を識別する前記ステップが、少なくとも1つの眼の輪郭、少なくとも1つの眼の縁、虹彩および瞳孔のうちの少なくとも1つのものの位置、のうちの少なくとも1つのものを識別するステップを含む、請求項
10または
11に記載のコンピュータ実装方法。
【請求項13】
対応する少なくとも2つの成分画像の各々について、対応する少なくとも2つの成分画像の各々の初期画像に対する相対的寄与を表わす光源値を決定するステップ、
をさらに含み、
ここで、推定凝視位置を決定する前記ステップが、少なくとも1つの成分画像のそれぞれの内部表現と光源値とを組み合わせるステップをさらに含む、請求項1から
12のいずれか一つに記載のコンピュータ実装方法。
【請求項14】
前記光源値が、単数または複数の完全接続ニューラルネットワーク層を含む光源ニューラルネットワークを用いて処理される、請求項
13に記載のコンピュータ実装方法。
【請求項15】
前記受信初期画像がさらに少なくとも1つの顔面ランドマークを含んでおり、
ここで、対応する少なくとも1つのランドマーク位置を得るために少なくとも1つの顔面ランドマークを抽出するステップ、
をさらに含み、
推定凝視位置を決定する前記ステップが、少なくとも1つの成分画像のそれぞれの内部表現と少なくとも1つのランドマーク位置とを組み合わせるステップ、
をさらに含む、請求項1から
14のいずれか一つに記載のコンピュータ実装方法。
【請求項16】
前記組合せステップが、単数または複数の完全接続ニューラルネットワーク層を含むランドマークニューラルネットワークを用いて行なわれる、請求項
15に記載のコンピュータ実装方法。
【請求項17】
推定凝視位置を決定する前記ステップが、推定凝視位置の第1の座標および第2の座標の各々を独立して決定するステップを含む、請求項1から
16のいずれか一つに記載のコンピュータ実装方法。
【請求項18】
較正位置と結び付けられたユーザの少なくとも1つの較正画像を受信するステップと、および、
前記少なくとも1つの較正画像に基づいて、較正済みの推定凝視位置を決定し出力するステップと、
をさらに含む、請求項1から
17のいずれか一つに記載のコンピュータ実装方法。
【請求項19】
較正済み推定凝視位置を決定し出力する前記ステップが、第1の座標および第2の座標の各々を独立して決定するステップを含む、請求項
18に記載のコンピュータ実装方法。
【請求項20】
較正済み推定凝視位置を決定し出力する前記ステップが、単数または複数の完全接続ニューラルネットワーク層を含む較正ニューラルネットワーク、リッジ回帰、決定木、サポートベクトルマシン、および線形回帰のうちの1つを用いて行なわれる、請求項
18または
19に記載のコンピュータ実装方法。
【請求項21】
基準との関係における初期画像の配向を決定するステップ、
をさらに含み、
推定凝視位置を決定する前記ステップが、初期画像の既定の1つの配向について行なわれる、
請求項1から
20のいずれか一つに記載のコンピュータ実装方法。
【請求項22】
カメラを用いてユーザの少なくとも1つの眼の初期画像を取得するステップをさらに含む、請求項1から
21のいずれか一つに記載のコンピュータ実装方法。
【請求項23】
基準変換を用いて電子デバイスのスクリーンとの関係における前記推定凝視位置を決定するステップと、基準変換を行なうために電子デバイスのスクリーン特性の問い合わせを行なうステップと、電子デバイスのスクリーンとの関係において前記推定凝視位置を決定するステップに基づいて電子デバイスとのユーザインタラクションを行なうステップと、をさらに含む、請求項1から
22のいずれか一つに記載のコンピュータ実装方法。
【請求項24】
ユーザの凝視位置を決定するためのコンピュータプログラ
ムにおいて、コンピュータによって実行された時点で請求項1から
23のいずれか一つに記載の方法ステップを行なうコンピュータにより実行可能な命令を記憶するコンピュータ可読メモリをコンピュータプログラ
ムに含む、コンピュータプログラ
ム。
【請求項25】
ユーザの凝視位置を決定するためのシステムにおいて、データの受信および送信のうちの少なくとも1つを行なうための通信ユニット、メモリ、および請求項1から
23のいずれか一つに記載の前記方法ステップを実行するために構成された少なくとも1つの処理ユニットを含むシステム。
【請求項26】
ユーザの凝視位置を決定するためのシステムにおいて、
ユーザの少なくとも1つの眼の初期画像を受信し、初期画像の少なくとも1つのカラー成分を抽出して、対応する少なくとも1つの成分画像を得るために構成された抽出ユニットと、
少なくとも1つの成分画像の各々に対してそれぞれの一次ストリームを適用して、少なくとも1つの成分画像の各々についてそれぞれの内部表現を得るために構成された内部表現決定ユニットと、および、
少なくとも1つの成分画像の各々の前記それぞれの内部表現にしたがって初期画像内の推定凝視位置を決定し推定凝視位置を推定するために構成された凝視位置推定ユニットと、
を含
み、
前記抽出ユニットが、初期画像の少なくとも2つの明確に異なるカラー成分を抽出して、対応する少なくとも2つの成分画像を得るために構成されており、そこで前記凝視位置推定ユニットが、重み因子を用いてそれぞれの凝視位置の各々を共に組み合わせるために構成されている、システム。
【請求項27】
前記内部表現決定ユニットおよび前記凝視位置推定ユニットが、単数または複数のコンピュータにより実装され単数または複数のニューラルネットワーク層を含むニューラルネットワークの一部を成し、そこでニューラルネットワークは、ランタイムにおいておよびニューラルネットワークがトレーニングされた後で、単数または複数のニューラルネットワーク層を用いて少なくとも1つの成分画像を処理して推定凝視位置を生成するように構成されている、請求項
26に記載の凝視位置を決定するためのシステム。
【請求項28】
前記ニューラルネットワークが、
各々がそれぞれの内部表現を生成するように構成されている少なくとも1つの第1のニューラルネットワークストリームと、および、
推定凝視位置を生成するように構成された第2のニューラルネットワークストリームと、
を含む、請求項
27に記載のシステム。
【請求項29】
前記少なくとも1つの第1のニューラルネットワークストリームの各々が、少なくとも1つの完全接続層を含む、請求項
28に記載のシステム。
【請求項30】
前記少なくとも1つの第1のニューラルネットワークストリームの各々が、少なくとも1つの畳み込み層を含む、請求項
28に記載のシステム。
【請求項31】
前記少なくとも1つの第1のニューラルネットワークストリームの各々が、対応する少なくとも1つの畳み込み層の下流側に少なくとも1つの完全接続層をさらに含む、請求項
30に記載のシステム。
【請求項32】
前記第2のニューラルネットワークストリームが少なくとも1つのフュージョン層を含み、前記少なくとも1つのフュージョン層の各々が少なくとも1つの完全接続層を有する、請求項
28から
31のいずれか一つに記載のシステム。
【請求項33】
前記第2のニューラルネットワークストリームが、少なくとも1つの完全接続層を含み、少なくとも1つのフュージョン層の下流側にある出力層をさらに含む、請求項
32に記載のシステム。
【請求項34】
前記抽出ユニットが、初期画像の3つのRGB成分の各々を抽出するために構成されている、請求項
26に記載のシステム。
【請求項35】
前記受信初期画像が少なくとも1つの眼以外の追加の特徴を含む、請求項
26から
34のいずれか一つに記載のシステム。
【請求項36】
前記抽出ユニットが、さらに、
受信初期画像の内部の前記少なくとも1つの眼を識別するため、
少なくとも1つの眼のみを含む前記初期画像の一部分を抽出して、クロッピングされた画像を得るため、および、
クロッピングされた画像の前記少なくとも1つのカラー成分を抽出して、対応する少なくとも1つの成分画像を得るため、
に構成されている、請求項
35に記載のシステム。
【請求項37】
前記凝視位置決定ユニットが、顔面特徴またはランドマーク認識方法を用いて少なくとも1つの眼を識別するために構成されている、請求項
36に記載のシステム。
【請求項38】
前記凝視位置決定ユニットが、少なくとも1つの眼の輪郭、少なくとも1つの眼の縁、虹彩および瞳孔のうちの少なくとも1つのものの位置、のうちの少なくとも1つのものを識別するために構成されている、請求項
36または
37に記載のシステム。
【請求項39】
前記抽出ユニットがさらに、成分画像の各々について、少なくとも1つの成分画像の各々の、初期画像に対する相対的寄与を表わす光源値を決定するために構成されており、前記凝視位置推定ユニットが、各光源値をそれぞれの凝視位置と組み合わせるために構成されている、請求項
26から
38のいずれか一つに記載のシステム。
【請求項40】
単数または複数の完全接続ニューラルネットワーク層を含みかつ、光源値を処理し凝視位置推定ユニットに対する伝送用の光源データを生成するように構成されている光源ニューラルネットワークをさらに含む、請求項
39に記載のシステム。
【請求項41】
前記受信初期画像が、少なくとも1つの顔面ランドマークをさらに含み、前記抽出ユニットがさらに、少なくとも1つの顔面ランドマークを抽出して、対応する少なくとも1つのランドマーク位置を得るために構成されており、さらに、凝視位置推定ユニットはさらにそれぞれの凝視位置と少なくとも1つのランドマークとを組み合わせるために構成されている、請求項
26から
40のいずれか一つに記載のシステム。
【請求項42】
単数または複数の完全接続ニューラルネットワーク層を含みかつ、少なくとも1つのランドマーク位置を処理し凝視位置推定ユニットに対する伝送用のランドマークデータを生成するように構成されたランドマークニューラルネットワークをさらに含む、請求項
41に記載のシステム。
【請求項43】
前記第1および第2のニューラルネットワークストリームが、推定凝視位置の第1の座標および第2の座標の各々を独立して処理するように構成されている、請求項
27から
42のいずれか一つに記載のシステム。
【請求項44】
較正済み推定凝視位置を決定し出力するように構成された、較正ニューラルネットワーク、リッジ回帰、決定木、サポートベクトルマシンまたは線形回帰のうちの1つを含む較正モデルをさらに含む、請求項
27から
43のいずれか一つに記載のシステム。
【請求項45】
前記較正モデルが、較正済み推定凝視位置の第1の座標および第2の座標の各々を独立して処理するように構成されている、請求項
44に記載のシステム。
【請求項46】
基準との関係における初期画像の配向を決定するための画像配向決定モジュールをさらに含み、そこで前記凝視位置推定ユニットが各々4つの配向モジュールを含み、各配向モジュールは初期画像の既定の1つの配向について初期画像を処理するために構成されている、請求項
26から
45のいずれか一つに記載のシステム。
【請求項47】
前記ユーザの少なくとも1つの眼の初期画像を取得するためのカメラをさらに含む、請求項
26から
46のいずれか一つに記載のシステム。
【請求項48】
推定凝視位置が関係するスクリーンを有する電子デバイスをさらに含む、請求項
47に記載のシステム。
【請求項49】
前記電子デバイスが前記カメラを含む、請求項
48に記載のシステム。
【請求項50】
前記電子デバイスが、デバイス上にインストールされた請求項
24に記載の前記コンピュータプログラ
ムを含む、請求項
49に記載のシステム。
【請求項51】
前記コンピュータプログラ
ムが、凝視追跡に基づいて、電子デバイスとのユーザインタラクションを行なうために、電子デバイス内で動作させられる、請求項
50に記載のシステム。
【請求項52】
ユーザの凝視位置を決定するためのコンピュータ実装方法において、
ユーザの少なくとも1つの眼の初期画像を受信するステップと、
初期画像の少なくとも
2つの明確に異なるカラー成分を抽出して、対応する少なくとも
2つの成分画像を得るステップと、
対応する少なくとも
2つの成分画像の各々についてそれぞれの凝視位置を決定
して、それぞれの凝視位置を得るステップと、
少なくとも1つの成分画像の各々の前記それぞれの凝視位置にしたがって初期画像内の推定凝視位置を決定するステップと、および、
推定凝視位置を出力するステップと、
を含
み、
推定凝視位置を決定する前記ステップが、重み因子を用いて前記それぞれの凝視位置の各々を共に組み合わせるステップを含む方法。
【請求項53】
それぞれの凝視位置を決定する前記ステップが回帰方法を行なうステップを含む、請求項
52に記載のコンピュータ実装方法。
【請求項54】
推定凝視位置を決定する前記ステップが回帰方法を行なうステップを含む、請求項
52または
53に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、明細書全体が参照により本明細書に組込まれている2018年2月22日出願の米国仮特許出願第62/633646号明細書の優先権またはそれに由来する利益を主張するものである。
【0002】
本発明は概して、視線追跡方法およびシステムに関し、より詳細には、カメラを使用し他のいかなる追跡デバイスも必要としない凝視追跡方法およびシステムに関する。
【背景技術】
【0003】
眼球運動は極めて速く正確であり、全身性脱力および話したり、書いたりすることができなくなる神経学的および医学的身体条件においてもほとんど無傷であり続ける。このような比較的一般的な身体条件としては、脳卒中、筋萎縮性側索硬化症(ルー・ゲーリック病)、炎症性多発性ニューロパシーおよび重症疾患に起因する挿管などが含まれる。
【0004】
眼球運動単独でのコミュニケーションは、バーチャル・リアリティ、ゲーム、マーケティングにとって、そして話すことが不可能であるかまたは望ましくないさまざまな環境においても同様に貴重であり得ると考えられる。
【0005】
複数の視線追跡解決法が提案されてきている。そのうちのいくつかは、典型的には、赤外線カメラなどの専用ハードウェアの使用を必要とし、それによって、その利用可能性は削減され、このような技術のコストは増大する。例えば麻痺のある人向けに設計された視線追跡システムは非常に高価であるため、大部分の患者および臨床病棟にとっては手の届かないものである。
【0006】
周囲光のみを使用する実験システムおよび通常のウェブカメラが存在するが、それらのパフォーマンスは、照明条件が劣化した場合(薄暗い照明/サイド照明)またはユーザの顔面特徴が厳密に制御されていない場合(顔面がカメラと直角を成していない、眼の色が淡い、皮膚の色が浅黒い、など)低くなる。
【0007】
通常のモバイルデバイスカメラを用いて眼球運動を捕捉することは、頭部および眼の平行運動を含めたこのようなシステムの多くの自由度、変化する照明条件、眼および顔の形状および色の可変性、通常のモバイルデバイスカメラのサンプリングレートの限界、および/またはモバイルデバイスのプロセッサ速度限界などの要素を理由として、困難なことであり得る。
【発明の概要】
【発明が解決しようとする課題】
【0008】
したがって、周囲光条件の下で動作し得る改良された視線追跡方法およびシステムに対する必要性がある。
【課題を解決するための手段】
【0009】
一実施形態によると、ユーザの凝視位置を決定するためのコンピュータ実装方法において、
ユーザの少なくとも1つの眼の初期画像を受信するステップと、
初期画像の少なくとも1つのカラー成分を抽出して、対応する少なくとも1つの成分画像を得るステップと、
少なくとも1つの成分画像の各々に対してそれぞれの一次ストリームを適用して、少なくとも1つの成分画像の各々についてそれぞれの内部表現を得るステップと、
少なくとも1つの成分画像の各々についてのそれぞれの内部表現を用いて初期画像についての推定凝視位置を決定するステップと、および、
推定凝視位置を出力するステップと、
を含む方法が提供されている。
【0010】
一実施形態によると、一次ストリームを適用してそれぞれの内部表現を得る前記ステップおよび推定凝視位置を決定する前記ステップは、組み合わせた形で行なわれ、および、
ニューラルネットワークを用いて少なくとも1つの成分画像を処理するステップであって、ニューラルネットワークの少なくとも1つの部分が少なくとも1つの成分画像の各々に個別のそれぞれの一次ストリームであるステップを含み、そこで、ニューラルネットワークは単数または複数のコンピュータにより実装され、単数または複数のニューラルネットワーク層を含み、ニューラルネットワークは、ランタイムにおいておよびニューラルネットワークがトレーニングされた後で、単数または複数のニューラルネットワーク層を用いて少なくとも1つの成分画像を処理して推定凝視位置を生成するように構成されている。
【0011】
一実施形態によると、それぞれの一次ストリームを適用してそれぞれの内部表現を得る前記ステップは、少なくとも1つの成分画像の各々について別個に行なわれ、および、少なくとも1つの成分画像の各々について少なくとも1つの完全接続層を含む。
【0012】
一実施形態によると、それぞれの一次ストリームを適用してそれぞれの内部表現を得るステップは、少なくとも1つの畳み込み層を含む。
【0013】
一実施形態によると、各々のそれぞれの一次ストリームは、少なくとも1つの畳み込み層の下流側に少なくとも1つの完全接続層を含む。
【0014】
一実施形態によると、ニューラルネットワークは、それぞれの一次ストリームの下流側に別の部分、すなわち内部ストリームを含み、そこで推定凝視位置を決定する前記ステップは、少なくとも1つのフュージョン層を含む内部ストリームを用いて行なわれ、内部ストリームは少なくとも1つの完全接続層を有する。
【0015】
一実施形態によると、内部ストリームは、フュージョン層が少なくともそれぞれの内部表現を受信した時点で開始し、少なくとも1つの完全接続層を含みフュージョン層の下流側にある出力層をさらに含む。
【0016】
一実施形態によると、少なくとも1つのカラー成分を抽出する前記ステップは、初期画像の少なくとも2つの明確に異なるカラー成分を抽出して、対応する少なくとも2つの成分画像を得るステップを含み、さらに、推定凝視位置を決定する前記ステップは、重み因子を用いてそれぞれの内部表現の各々を共に組み合わせるステップを含む。
【0017】
一実施形態によると、少なくとも1つのカラー成分を抽出する前記ステップは、初期画像の3つのRGB成分の各々を抽出するステップを含む。
【0018】
一実施形態によると、受信初期画像は少なくとも1つの眼以外の追加の特徴を含む。
【0019】
一実施形態によると、
受信初期画像の内部の少なくとも1つの眼を識別するステップと、および、
少なくとも1つの眼のみを含む初期画像の一部分を抽出し、こうしてクロッピングされた画像を得るステップと、
がさらに提供され、
ここで、少なくとも1つのカラー成分を抽出する前記ステップは、対応する少なくとも1つの成分画像を得るために、クロッピングされた画像内で行なわれる。
【0020】
一実施形態によると、少なくとも1つの眼を識別する前記ステップは、顔面特徴またはランドマーク認識方法を用いて行なわれる。
【0021】
一実施形態によると、少なくとも1つの眼を識別する前記ステップは、少なくとも1つの眼の輪郭、少なくとも1つの眼の縁、虹彩および瞳孔のうちの少なくとも1つのものの位置、のうちの少なくとも1つのものを識別するステップを含む。
【0022】
一実施形態によると、少なくとも1つのカラー成分を抽出する前記ステップは、初期画像の少なくとも2つの明確に異なるカラー成分を抽出して、対応する少なくとも2つの成分画像を得るステップを含んでおり、該方法はさらに、
対応する少なくとも2つの成分画像の各々について、対応する少なくとも2つの成分画像の各々の初期画像に対する相対的寄与を表わす光源値を決定するステップ、
をさらに含み、
ここで、推定凝視位置を決定する前記ステップは、少なくとも1つの成分画像のそれぞれの内部表現と光源値とを組み合わせるステップをさらに含む。
【0023】
一実施形態によると、光源値は、単数または複数の完全接続ニューラルネットワーク層を含む光源ニューラルネットワークを用いて処理される。
【0024】
一実施形態によると、受信初期画像はさらに少なくとも1つの顔面ランドマークを含んでおり、該方法は、
対応する少なくとも1つのランドマーク位置を得るために少なくとも1つの顔面ランドマークを抽出するステップ、
をさらに含み、
ここで、推定凝視位置を決定する前記ステップは、少なくとも1つの成分画像のそれぞれの内部表現と少なくとも1つのランドマーク位置とを組み合わせるステップをさらに含む。
【0025】
一実施形態によると、前記組み合わせステップは、単数または複数の完全接続ニューラルネットワーク層を含むランドマークニューラルネットワークを用いて行なわれる。
【0026】
一実施形態によると、推定凝視位置を決定する前記ステップは、推定凝視位置の第1の座標および第2の座標の各々を独立して決定するステップを含む。
【0027】
一実施形態によると、較正位置と結び付けられたユーザの少なくとも1つの較正画像を受信するステップと、および、
前記少なくとも1つの較正画像に基づいて、較正済みの推定凝視位置を決定し出力するステップと、
がさらに提供される。
【0028】
一実施形態によると、較正済み推定凝視位置を決定し出力する前記ステップは、第1の座標および第2の座標の各々を独立して決定するステップを含む。
【0029】
一実施形態によると、較正済み推定凝視位置を決定し出力する前記ステップは、単数または複数の完全接続ニューラルネットワーク層を含む較正ニューラルネットワーク、リッジ回帰、決定木、サポートベクトルマシン、および線形回帰のうちの1つを用いて行なわれる。
【0030】
一実施形態によると、基準との関係における初期画像の配向を決定するステップ、
がさらに提供され、
ここで、推定凝視位置を決定する前記ステップは、初期画像の既定の1つの配向について行なわれる。
【0031】
一実施形態によると、カメラを用いてユーザの少なくとも1つの眼の初期画像を取得するステップがさらに提供される。
【0032】
一実施形態によると、基準変換を用いて電子デバイスのスクリーンとの関係における推定凝視位置を決定するステップと、基準変換を行なうために電子デバイスのスクリーン特性の問い合わせを行なうステップと、電子デバイスのスクリーンとの関係において推定凝視位置を決定するステップに基づいて電子デバイスとのユーザインタラクションを行なうステップがさらに提供される。
【0033】
一本発明の別の態様によると、ユーザの凝視位置を決定するためのコンピュータプログラムプロダクトにおいて、コンピュータによって実行された時点で上述の方法のいずれか一つに記載の方法ステップを行なうコンピュータにより実行可能な命令を記憶するコンピュータ可読メモリをコンピュータプログラムプロダクトに含むコンピュータプログラムプロダクトが提供される。
【0034】
一本発明の別の態様によると、ユーザの凝視位置を決定するためのシステムにおいて、データの受信および送信のうちの少なくとも1つを行なうための通信ユニット、メモリ、および上述の方法のいずれか一つに記載の方法ステップを実行するために構成された少なくとも1つの処理ユニットを含むシステムが提供される。
【0035】
一本発明の別の態様によると、ユーザの凝視位置を決定するためのシステムにおいて、
ユーザの少なくとも1つの眼の初期画像を受信し、初期画像の少なくとも1つのカラー成分を抽出して、対応する少なくとも1つの成分画像を得るために構成された抽出ユニットと、
少なくとも1つの成分画像の各々に対してそれぞれの一次ストリームを適用して、少なくとも1つの成分画像の各々についてそれぞれの内部表現を得るために構成された内部表現決定ユニットと、および、
少なくとも1つの成分画像の各々のそれぞれの内部表現にしたがって初期画像内の推定凝視位置を決定し推定凝視位置を出力するために構成された凝視位置推定ユニットと、
を含むシステムが提供される。
【0036】
一実施形態によると、内部表現決定ユニットおよび凝視位置推定ユニットは、単数または複数のコンピュータにより実装され単数または複数のニューラルネットワーク層を含むニューラルネットワークの一部を成し、そこでニューラルネットワークは、ランタイムにおいておよびニューラルネットワークがトレーニングされた後で、単数または複数のニューラルネットワーク層を用いて少なくとも1つの成分画像を処理して推定凝視位置を生成するように構成されている。
【0037】
一実施形態によると、ニューラルネットワークは、
各々がそれぞれの内部表現を生成するように構成されている少なくとも1つの第1のニューラルネットワークストリームと、および、
推定凝視位置を生成するように構成された第2のニューラルネットワークストリームと、
を含む。
【0038】
一実施形態によると、少なくとも1つの第1のニューラルネットワークストリームの各々は、少なくとも1つの完全接続層を含む。
【0039】
一実施形態によると、少なくとも1つの第1のニューラルネットワークストリームの各々は、少なくとも1つの畳み込み層を含む。
【0040】
一実施形態によると、少なくとも1つの第1のニューラルネットワークストリームの各々は、対応する少なくとも1つの畳み込み層の下流側に少なくとも1つの完全接続層をさらに含む。
【0041】
一実施形態によると、第2のニューラルネットワークストリームは、少なくとも1つのフュージョン層を含み、少なくとも1つのフュージョン層の各々は少なくとも1つの完全接続層をさらに有する。
【0042】
一実施形態によると、第2のニューラルネットワークストリームは、少なくとも1つの完全接続層を含み、少なくとも1つのフュージョン層の下流側にある出力層をさらに含む。
【0043】
一実施形態によると、抽出ユニットは、初期画像の少なくとも2つの明確に異なるカラー成分を抽出して、対応する少なくとも2つの成分画像を得るために構成されており、そこで前記凝視位置推定ユニットは、重み因子を用いてそれぞれの凝視位置の各々を共に組み合わせるために構成されている。
【0044】
一実施形態によると、抽出ユニットは、初期画像の3つのRGB成分の各々を抽出するために構成されている。
【0045】
一実施形態によると、受信初期画像は、少なくとも1つの眼以外の追加の特徴を含んでいる。
【0046】
一実施形態によると、抽出ユニットは、さらに、
受信初期画像の内部の少なくとも1つの眼を識別するため、
少なくとも1つの眼のみを含む初期画像の一部分を抽出して、クロッピングされた画像を得るため、および、
クロッピングされた画像の少なくとも1つのカラー成分を抽出して、対応する少なくとも1つの成分画像を得るため、
に構成されている。
【0047】
一実施形態によると、凝視位置決定ユニットは、顔面特徴またはランドマーク認識方法を用いて少なくとも1つの眼を識別するために構成されている。
【0048】
一実施形態によると、凝視位置決定ユニットは、少なくとも1つの眼の輪郭、少なくとも1つの眼の縁、虹彩および瞳孔のうちの少なくとも1つのものの位置、のうちの少なくとも1つのものを識別するために構成されている。
【0049】
一実施形態によると、抽出ユニットはさらに、成分画像の各々について、少なくとも1つの成分画像の各々の、初期画像に対する相対的寄与を表わす光源値を決定するために構成されており、前記凝視位置推定ユニットは、各光源値をそれぞれの凝視位置と組み合わせるために構成されている。
【0050】
一実施形態によると、単数または複数の完全接続ニューラルネットワーク層を含みかつ、光源値を処理し凝視位置推定ユニットに対する伝送用の光源データを生成するように構成されている光源ニューラルネットワークがさらに提供される。
【0051】
一実施形態によると、受信初期画像は、少なくとも1つの顔面ランドマークをさらに含み、抽出ユニットはさらに、少なくとも1つの顔面ランドマークを抽出して、対応する少なくとも1つのランドマーク位置を得るために構成されており、さらに、凝視位置推定ユニットはさらにそれぞれの凝視位置と少なくとも1つのランドマークとを組み合わせるために構成されている。
【0052】
一実施形態によると、単数または複数の完全接続ニューラルネットワーク層を含みかつ、少なくとも1つのランドマーク位置を処理し凝視位置推定ユニットに対する伝送用のランドマークデータを生成するように構成されたランドマークニューラルネットワークがさらに提供される。
【0053】
一実施形態によると、第1および第2のニューラルネットワークストリームは、推定凝視位置の第1の座標および第2の座標の各々を独立して処理するように構成されている。
【0054】
一実施形態によると、較正済み推定凝視位置を決定し出力するように構成された、較正ニューラルネットワーク、リッジ回帰、決定木、サポートベクトルマシンまたは線形回帰のうちの1つを含む較正モデルがさらに提供される。
【0055】
一実施形態によると、較正モデルは、較正済み推定凝視位置の第1の座標および第2の座標の各々を独立して処理するように構成されている。
【0056】
一実施形態によると、基準との関係における初期画像の配向を決定するための画像配向決定モジュールがさらに提供され、そこで凝視位置推定ユニットは各々4つの配向モジュールを含み、各配向モジュールは初期画像の既定の1つの配向について初期画像を処理するために構成されている。
【0057】
一実施形態によると、ユーザの少なくとも1つの眼の初期画像を取得するためのカメラがさらに提供される。
【0058】
一実施形態によると、推定凝視位置が関係するスクリーンを有する電子デバイスがさらに提供される。
【0059】
一実施形態によると、電子デバイスはカメラを含む。
【0060】
一実施形態によると、電子デバイスは、デバイス上にインストールされた上述のコンピュータプログラムプロダクトを含む。
【0061】
一実施形態によると、コンピュータプログラムプロダクトは、凝視追跡に基づいて、電子デバイスとのユーザインタラクションを行なうために、電子デバイス内で動作させられる。
【0062】
本発明の別の態様によると、ユーザの凝視位置を決定するためのコンピュータ実装方法において、
ユーザの少なくとも1つの眼の初期画像を受信するステップと、
初期画像の少なくとも1つのカラー成分を抽出して、対応する少なくとも1つの成分画像を得るステップと、
少なくとも1つの成分画像の各々についてそれぞれの凝視位置を決定するステップと、
少なくとも1つの成分画像の各々のそれぞれの凝視位置にしたがって初期画像内の推定凝視位置を決定するステップと、および、
推定凝視位置を出力するステップと、
を含む方法が提供されている。
【0063】
一実施形態によると、それぞれの凝視位置を決定する前記ステップは回帰方法を行なうステップを含む。
【0064】
一実施形態によると、推定凝視位置を決定する前記ステップは回帰方法を行なうステップを含む。
【0065】
本発明のさらなる特徴および利点は、添付図面と組み合せて以下の詳細な説明を考慮することによって明白になるものである。
【図面の簡単な説明】
【0066】
【
図1】一実施形態に係る、ユーザの凝視位置を決定するための方法を例示するフローチャートである。
【
図2】一実施形態に係る、顔面ランドマークの投影に対する頭部の回転の影響を示す。
【
図3】一実施形態に係る、9個の画素を含む画像の3つのRGB成分への分解を例示する。
【
図4】一実施形態に係る、RGB画像の個別のカラーチャネル内の強膜と眼の色の間、およびそれらのグレースケール等価物の間のコントラストの一例を示す。
【
図5】一実施形態に係る、
図1に示された方法を実装するために使用される回帰アルゴリズムを例示する概略ブロック図である。
【
図6】一実施形態に係る、2つの画像のリサイズ処理、平坦化および連結を例示する。
【
図7】別の実施形態に係る、2つの画像のリサイズ処理、平坦化および連結を例示する。
【
図8】一実施形態に係る、凝視位置を決定するためのシステムを例示する概略ブロック図である。
【
図9】一実施形態に係る、
図1の方法の諸ステップのうちの少なくともいくつかを実行するように適応された処理モジュールを例示するブロック図である。
【
図10】ニューラルネットワークの人工ニューロンの構造を例示する。
【
図11】一実施形態に係る、ニューラルネットワークの完全接続層の構造を例示する。
【
図12】一実施形態に係る、ニューラルネットワークの畳み込み層の構造を例示する。
【
図13】一実施形態に係る、畳み込みストリームの構造を例示する。
【
図14】一実施形態に係る、完全接続ストリームの構造を例示する。
【
図15】一実施形態に係る、
図1の方法を実装するための多層パーセプトロンを用いたアーキテクチャを例示する概略ブロック図である。
【
図16】別の実施形態に係る、
図1の方法を実装するための畳み込みニューラルネットワークを用いたアーキテクチャを例示する概略ブロック図である。
【
図17】一実施形態に係る、較正モデルが使用されている、
図1の方法を例示する概略ブロック図である。
【
図18】別の実施形態に係る、別の較正モデルが使用されている、
図1の方法を例示する概略ブロック図である。
【
図19】別の実施形態に係る、較正モデルが垂直較正モデルおよび水平較正モデルを有する、
図1の方法を例示する概略ブロック図である。
【
図20】一実施形態に係る、ユーザの凝視位置を決定するためのシステム全体の詳細なブロック図である。
【0067】
本発明およびその利点のさらなる詳細は、以下に含まれる詳細な説明から明らかになるものとする。
【発明を実施するための形態】
【0068】
実施形態についての以下の説明において、添付図面に対する参照は、本発明を実践できる実施例の例示を目的とするものである。開示されている本発明の範囲から逸脱することなく他の実施形態を作製し得るということが理解されるものとする。
【0069】
図1は、一実施形態に係る、初期画像からユーザの凝視位置を決定するための方法10を例示する。以下で詳述する通り、一実施形態において、該方法10は、少なくとも処理ユニット、メモリおよび通信ユニットが具備されたコンピュータマシンによって実行される。ユーザの画像は、スマートホン、タブレット、ファブレット、ラップトップ型コンピュータ、ウェブカメラなどのカメラを備えたコンピュータマシンなどのモバイルおよび/またはポータブルデバイスに内蔵可能なカメラ、あるいは、ユーザの画像を得ることを可能にする任意の専用デバイスを用いて撮影され得る。較正プロシージャを行なう必要のある一実施形態においては、例えば使用されるモバイルおよび/またはポータブルデバイスのディスプレイなどのディスプレイがユーザに対して提供されなければならない。
【0070】
以下で明らかになるように、いくつかの実施形態において、該方法は、ニューラルネットワークの使用の際に実装される。ニューラルネットワークは、受信された入力についての出力を予測するために非線形ユニットの単数または複数の後続する層を利用する機械学習モデルである。適切にトレーニングされたニューラルネットワークを使用することによって、凝視位置の決定の精度を大幅に改善することが可能になる。しかしながら、以下で詳述するように、適切に実装されたより単純な回帰アルゴリズムを特定のアプリケーションのために考慮することができるが、位置決定の精度は十分に満足のいくものでない可能性があるということを当業者であれば認識するものである。
【0071】
以下の説明において、ユーザの凝視位置を決定するための方法およびそれに結び付けられたシステムは、第一に、いくつかの実施形態にしたがって、単純な回帰アルゴリズムを用いた基本的アーキテクチャにおいて説明される。その後、ニューラルネットワークを使用するさらに複雑なアーキテクチャが、
図15から20を参照して説明される。
【0072】
方法10のステップ12では、ユーザの少なくとも1つの眼の初期画像が受信される。一実施形態において、初期画像はユーザの眼しか含まない。別の実施形態では、受信初期画像はユーザの両眼を含む。さらなる実施形態において、受信初期画像は同様に、以下で詳述するように、ユーザの眼に加えて他の顔面特徴も含んでいる。例えば、初期画像は、眉毛、耳、鼻、口などを含み得る。別の実施形態において、初期画像はユーザの顔面全体を含む。
【0073】
ステップ14では、対応する少なくとも1つの成分画像を得るために、少なくとも1つのカラー成分が初期画像から抽出される。一実施形態においては、2つの対応する成分画像を得るために初期画像から2つのカラー成分が抽出される。さらなる実施形態においては、3つの対応する成分画像を得るために初期画像から3つのカラー成分が抽出される。実際、一実施形態においては、ユーザの眼の初期画像は、赤色チャネル、緑色チャネルおよび青色チャネルが備わったRGB(赤-緑-青)画像である。この例示的RGB例では、対応する成分画像を構築するために、単一のカラーチャネルが選択される。より詳細には、ステップ12において受信された初期画像の各画素と結び付けられる10進コードは、赤色値、緑色値および青色値を含む。赤色画像は、初期画像の画素の赤色値のみを考慮することによって生成される。すなわち、赤色画像は、初期画像の画素アレイと同じ画素アレイを含むが、10進コードの赤色値のみが各画素と結び付けられた状態にとどまるように、画素の緑色および青色値は考慮されない。赤色画像は、初期画像と同じ画像を表わすが、それを赤色のみで表わす。同様にして、緑色画像は、初期画像の画素の緑色値のみを考慮することによって生成される。すなわち、緑色画像は、初期画像の画素アレイと同じ画素アレイを含むが、緑色値のみが各画素と結び付けられた状態にとどまるように、画素の赤色および青色値は考慮されない。青色画像は、初期画像の画素の青色値のみを考慮することによって生成される。すなわち、青色画像は、初期画像の画素アレイと同じ画素アレイを含むが、青色値のみが各画素と結び付けられた状態にとどまるように、画素の緑色および赤色値は考慮されない。
【0074】
結果として、この例では、ステップ14の出力は、3つのRBG成分画像、すなわち、ユーザの眼の赤色画像、眼の緑色画像および眼の青色画像からなる。
【0075】
同じ抽出または分解プロセスは、例えばYCbCr、HSVまたはHSLなどの他の色空間にも同様に適用可能であるということを認識すべきである。しかしながら、RGB色空間は典型的に、色がデジタルカメラによって捕捉されコンピュータ内に記憶される色空間であることから、RGB空間が選好され得る。実際、他の色空間の使用には、RGB値を選択された色空間に変換するための追加の処理ステップが必要となる。該方法は、本明細書中で説明されているように、RGBなどのカラー成分または他の実質的に等価のカラー成分を使用して収集された画像について適用可能である。しかしながら、例えば赤外線画像を用いて、可視的でない光成分を含むと思われる光条件の下で、該方法を適用することができると考えられる。本明細書中に記載の方法は赤外線プロジェクタおよびカメラを必要としないにもかかわらず、可視スペクトル外の成分を含む画像に対して該方法を適用することが可能である。しかしながら、赤外光条件下では、強膜と虹彩の間の差は、これらが両方共画像中で灰色に見えるために識別するのが非常にむずかしく、したがって赤外線の使用は、特に有利ではないことを指摘しておくべきである。
【0076】
ステップ16では、少なくとも1つの成分画像の各々についてのそれぞれの凝視位置が決定される。以下で詳述するように、凝視位置を決定するために任意の適切な方法またはアルゴリズムを使用してよい、ということを理解すべきである。結果として、3つのRGB成分画像を使用する例では、第1の凝視位置が赤色成分画像について決定され、第2の凝視位置が緑色成分画像について決定され、第3の凝視位置が青色成分画像について決定される。単一の成分画像が使用される実施形態においては、単一の凝視位置がこのステップ16で決定される。それぞれの凝視位置の代りに、成分画像はむしろ、それぞれの内部表現を得るために使用されるそれぞれの一次ストリーム(例えば畳み込み層を有するさらに大きいニューラルネットワークのそれぞれの部分など)によって個別に処理され得る。内部表現は、出力層でないニューラルネットワークの所与の層のニューラルネットワーク内部の出力である。
【0077】
ステップ18では、少なくとも1つの成分画像のうちの各々のもののそれぞれの凝視位置にしたがって、初期画像内の推定凝視位置が決定される。単一の成分画像が使用される実施形態においては、推定凝視位置は、ステップ16で決定される単一のそれぞれの凝視位置に対応する。
【0078】
少なくとも2つのカラー成分が初期画像から抽出される実施形態においては、決定された少なくとも2つのそれぞれの凝視位置は、以下で説明されるように、任意の適切な組み合わせ方法を使用して、推定凝視位置を得るため、重み因子を用いて共に組合わされる。RGB画像を使用する例においては、推定凝視位置を得るために重み因子を用いて3つのそれぞれの凝視位置が共に組み合わされる。
【0079】
このようにして得られた推定凝視位置は、次に、ステップ20において出力される。例えば、推定凝視位置はさらなる処理のためメモリ内に記憶され得る。
【0080】
初期画像は一方の眼または両方の眼の表現を含み得るということを理解すべきである。同様に、初期画像は2つの画像、すなわち第1の眼の表現を含む第1の画像と第2の眼の表現を含む第2の画像とを含み得る、ということも理解すべきである。
【0081】
初期画像が眼に加えて少なくとも1つの追加の顔面特徴を含む実施形態においては、該方法10はさらに、初期画像のサイズに比べて縮小されたサイズを有しかつ1つまたは2つの眼のみの表現を含むクロッピングされた画像(例えば共に接合されることによって複合画像を形成し、こうして鼻の上部部域を効果的に除去する2つのクロッピングされた眼の部域)を生成するために初期画像をクロッピングするステップを含む。凝視位置をクロッピングするために、眼は予め初期画像の内部で識別され抽出される。初期画像の内部で眼を識別するためには、任意の適切な顔面特徴認識方法を使用することができるということを理解すべきである。例えばこれは、当該技術分野において公知の通り、眼の輪郭を識別し、初期画像の内部での縁(すなわち強膜-虹彩境界)および/または各眼の虹彩および瞳孔の位置を決定することによって行なうことができる。画像内部で眼を識別するための任意の適切な方法を使用してよいということを理解すべきである。
【0082】
初期画像の内部でひとたび眼が識別されたならば、眼だけを含む画像の部分は、初期画像から抽出されて、クロッピングされた画像を創出する。クロッピングされた画像のサイズは、クロッピングされた画像が、初期画像のサイズよりも小さいサイズをなおも有しながら例えば眼以上のものを含み得るような形で変動し得る、ということを理解すべきである。
【0083】
一実施形態においては、初期画像内部の眼を識別するためにConstrained Local Model(CLM)法が使用される。この方法は、右眼の内側コーナーまたは鼻梁などの特定の顔面特徴を認識するために各々トレーニングされた多数の専門デテクタを使用する。顔の画像が与えられると、これらの専門家は、自らが検出するようにトレーニングされた特徴の場所の推定を生成する。次に、顔の解剖学的特徴の輪郭を生成するため、適切な場所が関連付けされる。一般に検出される特徴としては、眼、眉毛、鼻梁、唇および顎が含まれる。耳も同様に、時として検出される。異なる点の互いとの関係における位置を使用することによって、顔の3次元モデルを構築することができる。
【0084】
一実施形態において、対象の領域、例えば眼を隔離するための初期画像のクロッピングは、視線追跡アルゴリズム(特徴抽出)にフィードされるデータの信号対雑音比を改善すること、ならびに計算負荷を減少させること(次元削減)およびデータを記憶するためのメモリ要件を削減すること、を可能にする。
【0085】
一実施形態において、初期画像からの眼を抽出することによって、関連する非冗長情報のみを含むように入力空間を大幅に削減することが可能になる。
【0086】
一例として、理想的な欧米男性の顔面比率を仮定し、ユーザの顔面がフレーム内部に完全に内接させられていると仮定すると、眼は併せて初期画像の水平空間の約40%および垂直空間の約7%に相当することになる。これはすなわち、両方の眼を併せた画像が初期画像の画素の約2.8%に相当することを意味する。ユーザの顔が画像のフレームよりも小さい場合、メリットはさらに一層大きくなる。これにより、以下でさらに詳述する通り、記憶需要および以下で説明する回帰問題の計算上の複雑性を削減することが可能である。
【0087】
さらなる実施形態においては、初期画像内のユーザの頭部姿勢または態度を決定するために、少なくとも1つの追加の顔面ランドマークが初期画像から抽出される。この実施形態において、少なくとも1つの追加のランドマークは、推定凝視位置を決定するためにそれぞれの凝視位置と組み合わされる。以下で明らかになるように、このような実施形態は、該方法を頭部姿勢に対してより高い不変性にさせることを可能にする。
【0088】
頭部姿勢は、カメラとの関係における頭部の位置として定義される。これには、並進と回転が含まれる。カメラからの初期画像から測定されるように、顔面の中心と初期画像の中心の間の距離から並進が測定されると考えられる。回転は、多くの方法で表現され得、そのうち人間にとって最も直感的であるのは、頭部のオイラー角、ピッチ(頭部の上下の動き)、ヨー(頭部の揺れ)およびロール(頭部の傾き)であると思われる。
【0089】
先に言及した通り、現代の赤外線凝視追跡方法およびシステムは典型的に、頭部との関係における眼球の回転を推定し、次に凝視位置の推定値を生成するために、制御された光源を使用する。したがって、このようなシステムは、頭部姿勢に対して本質的に不変であると言うことができる。
【0090】
反対に、
図1の上述の方法は、相対的眼球回転の直接的測定を全く行なわず、したがって、頭部姿勢不変性があると言うことはできない。先に言及した通り、凝視位置を推定するための最も関連性の高い特徴は、縁、つまり強膜と虹彩の間の境界の位置、および眼の輪郭であることが予期される。これは、頭部が固定され凝視の位置が変化したときに変化するが、同様に、凝視が固定され、並進運動または回転のいずれかを通して頭部の位置が変化する場合にも変化する。
【0091】
したがって、一実施形態においては、より精確な凝視位置推定値を生成する目的で、頭部姿勢についてのいくつかの情報が該方法の入力データに追加される。ユーザの顔面の画像から全ての特徴を抽出しなければならないことから、このための明白な特徴候補セットは、頭部が動き回転するにつれて互いとの関係におけるその位置が変化する1組の顔面ランドマークである。これらの特徴から、例えば画像上の固定点と特定の顔面ランドマークの間か、または画像上の固定点と1組の顔面ランドマークの図心との間の距離を測ることによって、頭部の並進運動を容易に決定することができる。
【0092】
頭部のオイラー角は、推定するのがはるかに困難であり、ユーザの顔面の3Dモデル上への顔面ランドマークの2D座標の投影を必要とする。使用されるモデルがユーザの顔面の完璧なモデルであると仮定すると、角度についての不確実性は、顔面ランドマークの位置についての不確実性と同じである。当該方法は一般大衆による使用のために展開されることが意図されていることから、このような仮定を立てることはできず、人間の顔面の少数のモデルを代りに使用する必要があり、オイラー角についての不確実性がさらに増すことになる。
【0093】
機械学習アルゴリズムのトレーニングとの関連で、理想的な特徴セットは、問題を解決するのに必要な全ての情報、そして問題を解決するのに必要な情報のみを含むべきである。顔面ランドマークの座標をオイラー角度に変換することによって、データセットを通して比較的不変的である顔面モデルのトポロジについての情報が特徴に加えられ、その一方でこれらのものの不確実性を増大することにより特徴の質は劣化する。これらの理由で、顔面ランドマークセットの画像空間内の座標は、我々の方法の中に頭部姿勢の不変性を導入するための一つの特徴として使用するために選択されてきた。
【0094】
このような特徴はすでに眼の画像中に自然に出現しているということを指摘しておくべきである。実際、頭部が動き、カメラとの関係において向きを変えるにつれて、眼の見かけの高さおよび幅も同様に変化する。しかしながら、自然の視認条件下では、カメラとの関係における頭部の角度は、視認が不快になる点である30度よりも大きくなることがほとんどない。このことはすなわち、眼の見かけの幅および高さがそれらの最大値の15%を超えて変動することはほぼ絶対にないということを意味する。これらの測定値は不確実であることから、これによって強い頭部姿勢不変性が生み出される可能性は低い。
【0095】
頭部姿勢をより良く推定するために、一実施形態において、これらのランドマークが3D空間内の同じ平面内に存在しないことを条件として、ある種の顔面ランドマークXY座標が代りに使用される。この効果は
図2に例示される。ここでは、F
1、F
2およびF
3は、それぞれ、上から見た場合の左眼、右眼および鼻根点の位置を表わし得ると考えられる(鼻根点は、鼻梁の直上の、両眼間の直接落ち込んだ部分として顔面上に見える、前頭骨の鼻部および鼻骨を接合する前頭鼻骨縫合の最も前方の点として定義される)。ここでは2つの特徴、すなわち、P
3、視認表面上の両眼間の距離の投影の長さ、またはP
1-P
2、左眼と鼻根点および右眼と鼻根点の間の距離の投影の長さの差を選択することができると考えられる。これらの特徴および頭部の角度
の値の間の関係は、方程式1および2によって求められる。
【0096】
【0097】
【0098】
P1-P2をP3よりも使用することの1つの直接の利点は、前者が回転方向についての情報を保持しているということにある。実際、P3の値は、自然の頭部角度については常に正であり、一方P1-P2は一方の方向では正、他方の方向では負である。さらに、優れた特徴の1つの重要な側面は、特徴の端部間の大きさの差異にある。換言すると、優れた特徴はその最小値と最大値の間の差を最大化するはずである。この例においては、これは、顔面の平面に対し直角を成す両眼と鼻根点間の距離をHとし、顔面の平面内の1つの眼と鼻根点間の距離をD1として、D1<Hである場合にあてはまる。この例において、ユーザの顔面は対称であるとみなされており、したがってD2=2D1である。ここで当然明らかであるように、こうして顔面ランドマークを適切に選択することによって、これらの特性を保証することができ、こうして、2D平面内に存在しない特徴の選択が、頭部姿勢にとってはるかに興味深いものとなる。
【0099】
オイラー角よりも顔面ランドマーク座標を使用することの別の利点は、顔面ランドマーク座標が顔面とカメラの間の距離についての情報を含むのに対し、オイラー角はそれを含まない、という点にある。
【0100】
最後に、該方法を行なうための選択されたアルゴリズムおよびアーキテクチャに応じて、モデルが十分なパフォーマンスを示すのにこの情報が厳密に必要とされないということを指摘しておくべきである。しかしながら、それが省略された場合、以下で詳述する通り、ユーザが頭を較正中にあった典型的位置から離れるように動かしたならば、パフォーマンスは急速に劣化することが予測される。
【0101】
図3は、カラー画像30をそのRGB成分の典型的な分解を示している。画像30は、それが両眼を含んでいる限り原初の初期画像またはクロッピングされた画像であってよいということを理解すべきである。
【0102】
画像30は、各々異なる色を有する9個の画素を含む。各画素は、それに結び付けられた赤色値、緑色値および青色値を有し、こうして画像30のRGB成分32、34および36が形成される。赤色成分32は、画像30の9個の画素についての赤色値のみを含む。緑色成分34は、画像30の9個の画素についての緑色値のみを含む。青色成分36は、画像30の9個の画素についての青色値のみを含む。次に、RBG成分は分離されて、赤色値のみが結び付けられている9個の画素を含む赤色画像40、緑色値のみが結び付けられている9個の画素を含む緑色画像42、および青色値のみが結び付けられている9個の画素を含む青色画像44を創出する。
【0103】
各RGB成分画像がグレースケール画像に対応することを理解すべきである。実際、単一のカラー画像はグレースケールカラー画像などの2次元マトリックスであることから、新しい単一のカラー画像、すなわちRGB成分画像は、カラーチャネルを表わすにもかかわらず、グレースケール画像に対応する。したがって、カラー成分のグレースケーリングは単に、分解の結果である。
【0104】
典型的なコンピュータビジョンアプリケーションにおいては、画像は通常、画像のRGB成分の1つに各々対応する3層を含むM×N×3個の3次元マトリックスとしてフィードされる。このマトリックスは、典型的には、ネットワークの第1層にフィードされ、全体でバルク処理され(すなわち3つの層と共に、かつ同じ深さを有するカーネルまたはフィルタを用いて)、RGB成分の各々に関係する情報は、全てのデータが後続層の形に混合されるネットワークの後続する層内で「失われる」ことになる。このような場合、3次元マトリックスに適用されているネットワークの第1層から始まって全てがすでに混合されているため、1つのカラー成分のみに特定的に関連する情報をネットワークの内部表現において識別することは可能ではないと思われる。
【0105】
その代りに、本発明では、M×N×3マトリックスは、M×Nサイズ(またはM×N×1)の3つの異なる2次元マトリックスに分割され、各々は、独自の明確に異なる一次ストリームの少数の層の後にフュージョンされる前に、ニューラルネットワークの独自の部分(すなわち独自の明確に異なる一次ストリーム)によって個別に処理される。例えば、3つのM×N×1マトリックスの各々は、1つ以上の層を含むと思われるその独自の個別の明確に異なる一次ストリーム(ニューラルネットワークの部分)に対してフィードされる。例えば、カラー成分画像の各々についてのこれらの個別の明確に異なる一次ストリームは、フュージョンの前に、2つまたは3つの畳み込み層および2つまたは3つの完全接続層を含み得ると考えられる。これにより、単一のカラー成分画像内に見い出され得る情報が個別に正しく分析されることが保証される。各々のカラー成分画像についてのそれぞれの一次ストリームの個別の明確に異なる出力は、ネットワーク全体の出力(トレーニングされ得るもの)と混同されてはならず、それはむしろ(下流側のさらなる処理のために特徴フュージョンと呼ばれるステップにおいてフュージョンされるべき)その層におけるネットワークの内部表現と呼ばれる。
【0106】
個別のカラー成分画像が確実にその独自の明確に異なる一次ストリームにしたがって処理されるようにすることには、利点がある。実際、我々は経験的に、状況に応じてカラー成分のうちの1つ(例えば、RGBカラー空間内では、R、GまたはBのうちの1つ)が他のものに比べてより適切であるかまたは有用であり得る、ということを発見した。これにより、以下で説明するように、精度を改善することができる。明確に異なる一次ストリームを並行して適用した後、3つのカラー成分画像から(またはより一般的に、少なくとも1つのカラー成分画像から)の結果として得られる全ての内部表現は、照明情報および顔面ランドマーク(または補助ストリームに後続するその内部表現)とフュージョンさせられる。カラー成分画像の1つがより適切である条件は、経験的に、環境内の照明情報によって左右される。あらゆる状況下で他のものよりも適応した単一のカラー成分は全く存在しない。したがって、ニューラルネットワークは、各々のカラー成分画像(独自の個別の明確に異なる一次ストリームの終りにある)と照明情報(これは同様に補助ストリームを受けることができる)の間のフュージョンを行なうことによって、照明コンテキストに適応する。こうすることで、ニューラルネットワークは自動的に現実の照明コンテキストに適応し、ネットワークの後続層すなわち、フュージョン層の下流側のニューラルネットワークの部分である内部ストリームを通して追加の動作を行なうことによって、この特殊な状況において最も有用なカラー成分を使用する。一実施形態において、周囲光内での視線追跡のための最も関連性のある特徴は、眼の輪郭との関係における強膜-虹彩境界または縁の位置であり得る。したがって、強膜と虹彩の間のより優れたコントラストが、この境界のより良い定義、ひいてはよりロバストな視線追跡方法またはアルゴリズムを可能にすると思われる。異なる眼の色が、異なる量の赤色、緑色および青色光を反射する。この理由から、縁の識別はユーザの眼の色および周囲照明条件によって左右されると予測することが可能であり、上述の複数の理由から、ニューラルネットワークは、システム内にフィードされフュージョン層における成分画像の内部表現と組み合わされるために特定の光源値の下で強膜と虹彩の間および強膜と眼の輪郭の間の縁部がより容易に識別される特定のカラー成分画像(または複数のカラー成分画像)に由来する内部表現を識別し使用するようにトレーニングされる。画像をそのRGB成分に分割することにより、結果として得られる画像の少なくとも1つは、強膜と虹彩の間のより優れたコントラストを有し得る。したがって、ユーザの眼の色および周囲光の温度に応じて、3つのRGB成分画像のうちの1つが、縁の最良のコントラストを提供するはずである。さらに我々は、カラーチャネルのうちの1つが常に、等価のグレースケール画像よりも高いコントラストを有するという仮説を立てる。このことは
図4中に例示されており、この図では、RGBカラーチャネルの各々についておよび等価のグレースケール値について、さまざまな照明条件下の異なる眼の色の間のコントラストが示されている。各々の眼の色および照明の組み合わせについて、全てのカラーチャネル間の最大のコントラストが常にグレースケールの場合よりも大きいということは言及に値する。
【0107】
どのチャネルを優先させるかを選択するタスクは、周囲照明条件および眼の色の組み合せが無限に存在することから、自明のものではない。一実施形態においては、回帰アルゴリズムが使用される。カラー画像がグレースケールへと転換されてしまっているか、またはカラーチャネルが同じパイプライン内で処理されるべく互いに連結されてしまっている可能性があるが、これにより、カラーチャネル間のこれらの差異の活用が可能になったとは考えられない。この理由から、3つのカラーチャネルは別個に処理され、その後、以下に説明する通り、場合によっては、光源値などの追加の予め計算されたデータを用いて、決定または特徴レベルでフュージョンされる。
【0108】
各カラーチャネルを別個に処理するための別個のストリームを有することは、モデル/アルゴリズムのパフォーマンスにとって有益であるとみなされているものの、3つのカラーチャネル全てを含むことは必要ではない。実際、単一チャネルストリームのフュージョンが、深層学習モデルの場合においては過度の単純化であるが不正確ではない各ストリームの加重和を通して行なわれることを考えると、1つ以上のカラーチャネルの省略は、加重和内のこれらのチャネルに適用される重みをゼロに設定することを意味すると思われる。2つのチャネルまたは単一のチャネルのみを使用するモデル、または実際、カラー画像のグレースケール表現を使用するモデルは、1つまたは2つの処理ストリームが本質的に無視されている特殊なケースとして見ることができる。
【0109】
一実施形態において、先に言及したように、3つの成分画像のためのそれぞれの凝視位置の決定は、回帰アルゴリズム/方法を用いて行なわれる。例えば、線形回帰、最小二乗法、決定木回帰および/または人工ニューラルネットワークを使用することができる。
【0110】
さらなる実施形態において、推定凝視位置の決定は同様に、回帰方法またはアルゴリズムを用いて行なわれる。例えば、線形回帰、最小二乗法、決定木回帰および/または人工ニューラルネットワークを使用することができる。
【0111】
回帰アルゴリズムは通常、同じトレーニングプロシージャに従う。本明細書のためには、入力データはXと名付けられ、推定値は
と名付けられ、標的はYと名付けられている。この場合は、Xは、ユーザの眼の初期画像であり、
は、回帰法により生成されたユーザの凝視の位置の推定値であり、Yはユーザの凝視の実際の位置であると考えられる。
【0112】
トレーニングプロシージャは、XとYの間の数学的関係を近似しXから
を生み出すモデルF(X)を創出する。換言すると、
である。トレーニングプロシージャの目的は、任意の所与のXについてのYと
の間の誤差を最小限に抑えるような方法でこの数学的関係を調整することである。
【0113】
線形回帰の場合、F(X)を以下のように表現することができる。
【0114】
【0115】
ここで、Xjは入力ベクトルXのj番目の特徴であり、Wjはこの特徴に結び付けられた重みであり、Bは、線形回帰モデルのY-切片またはバイアスである。この場合、トレーニングプロシージャの目的は、予測誤差を最小限に抑えるように重みおよびバイアスを調整することであると思われる。
【0116】
一実施形態において、回帰アルゴリズムは、トレーニングプロシージャ、ひいては最終モデルに影響を及ぼすハイパーパラメータも同様に有しており、これらも同様に最適化されなければならない。線形回帰のこの例においては、ハイパーパラメータは、方程式内にバイアス項を含み入れるべきか否かを示すと思われる。
【0117】
ハイパーパラメータの最適化は、データセットを2つの部分すなわちトレーニングセットと検証セットに分割することを含んでいる。トレーニングに先立ち、検討すべきハイパーパラメータの考えられる値の境界を示すハイパーパラメータのサーチ空間が定義される。各々の値セットについて、上述のトレーニングプロシージャは完遂され、トレーニングされたモデルのパフォーマンスは検証セットから得られる。最高のパフォーマンスを生み出したハイパーパラメータ値のセットは、最終的に最終モデルとして保持されることになる。
【0118】
方法10のステップ18で説明されているように、3つのRGB成分画像について決定されたそれぞれの凝視位置は共に組み合わされて、推定凝視位置を提供する。異なる組み合わせ方法を使用することができるということを理解すべきである。
【0119】
一実施形態において、推定凝視位置は、3つのRGB成分画像について決定されたそれぞれの凝視位置の加重平均に対応する。
【0120】
【0121】
ここで、Wcは各々のRBG成分cと結び付けられた重み因子である。
【0122】
一実施形態において、重み因子は、各カラーチャネルがどれほどカラー画像に寄与するかの尺度を用いて、決定される。
【0123】
例えば、重み因子は、カラーチャネルの全ての画素の値を加算し、結果を画像内の全ての画素の和で除することによって、各カラーチャネルの相対的寄与を計算して決定され得る。一実施形態において、重み因子を計算するためのこのような方法は単純で、高速で計算可能であり、光強度に対しかなり不変である。実際、周囲照明の強度を増減させると、全てのチャネル内の全ての画素の値は、画素が飽和し始めるまで同じ係数で増減することになる。一実施形態において、各カラーチャネルの相対的寄与を表わす3つの値は、重み因子Wcに対応する。
【0124】
別の実施形態においては、3つのRGB成分画像について得られた3つのそれぞれの凝視位置を組み合わせるために、さらなる回帰アルゴリズムを使用することができる。さらなる回帰アルゴリズムの入力は、トレーニングを通して周囲光とカラーチャネルの寄与との関係を近似すると考えられる3つのRGB成分画像について得られた3つの凝視位置および各カラーチャネルの相対的寄与を表わす3つの値である。
【0125】
先に言及したように、改良型凝視位置推定においては、3つのRGB成分画像について得られた3つのそれぞれの凝視位置の組み合わせはさらに、初期画像の各カラーチャネルの相対的寄与を表わす光源値の一関数として行なわれ得ると考えられる。
【0126】
一実施形態において、光源値は、Yang,K.F.、Gao,S.B.、およびLi,Y.J.(2015)、Efficient illuminant estimation for color constancy using grey pixels、 In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition(pp.2254-2263)中で提案されている方法を用いて決定され得るが、他の方法を使用してもよい。例えば、先に説明したように、カラーチャネルの全ての画素の値を加算し画像内の全ての画素の和で結果を除することによって各々のカラーチャネルの相対的寄与を計算することを考慮することができる。
【0127】
当業者にとっては当然明らかであるように、全範囲制約型光源推定(Gamut Constrained Illuminant Estimation)およびグレー画素光源不変尺度(Grey Pixel Illuminant-Invariant Measure)などの他の方法も使用することができる。
【0128】
ひとたび光源値が決定されたならば、それらは、初期画像内の凝視位置の推定を決定するためにそれぞれの凝視位置と組み合わされる。
【0129】
図5は、一実施形態に係る
図1に示された方法10を実装するために使用される回帰アルゴリズムを示す。3つのリグレッサが、ユーザの眼の完全カラー画像の異なるカラーチャネル上で各々、単一チャネルリグレッサとしてトレーニングされる。その決定は次に、3つのチャネル全てからの予測および画像に対する各カラーチャネルの相対的寄与を入力として取り上げる、予測フュージョンとも呼ばれる4番目のリグレッサにより組み合わされる。
【0130】
この実施形態においては、以下のパラメータ、初期データセットの小さなサイズ、低いメモリ要件および比較的低いトレーニング時間というパラメータを考慮して適切とみなされた4つの回帰アルゴリズムが、単一チャネルリグレッサとしてテストされた。これらのアルゴリズムは、リッジ回帰、サポートベクトルマシン(SVM)、Extremely Randomized Trees(ETR)およびElasticNetであった。
【0131】
トレーニング用に使用される画像データベースは、ボランティアから収集され、彼らはコンピュータスクリーン上にある13の既定の十字形を見詰めるように求められた。各々の十字形は続々と出現し、3秒間視界内にとどまる。対象者には、標的を発見するために最初の1秒が与えられた。次の2秒の間、対象者の顔面および周囲環境の10個の画像をカメラを用いて捕捉して、モバイルデバイスの前向きカメラから得たものと類似する画像を得た。その後、標的は消滅し、次の標的が出現した。まばたきが起った場合に使用可能なデータを提供するため、全ての十字形について10個の画像を捕捉した。
【0132】
トレーニングのために使用されるデータベースを構築するために、対象者の右眼および左眼を含む画像は、初期画像内の眼および眉毛の場所を決定するために顔面特徴認識アルゴリズムを用いて初期画像からクロッピングされた。この情報は、各々の眼についての境界ボックスを定義するために使用され、これらのボックスは次に眼をクロッピングするために使用された。これら2つの眼の画像は次に、画像取得時点におけるスクリーン上の十字形の中心の場所を表わす座標の(X、Y)セットと結び付けられた。
【0133】
ここで
図6を参照すると、この実施形態内で使用されるアルゴリズムは入力として固定サイズの一次元マトリックス(すなわちベクトル)のみを受入れることから、眼の画像は、使用可能となる前に、リサイズ処理され平担化される必要がある。リサイズ処理は、クロッピングされた眼の画像がフレーム毎に同じサイズ、さらには互いに同じサイズであることの保証が全く無いことから必要であった。プロセスを簡略化するために、正方形のクロップを使用し、両方の画像を25×25画素となるようにリサイズ処理した。このサイズは、許容可能な解像度損失とサイズ増大の間の妥協点として、経験的に選択された。その後、画素の合計数を保ちながら高さを一画素とするために画素を平担化する。最終的に、画像は、画素数が2倍になった単一の画像を生成するために連結される。最終的に、画像は、画素数が2倍になった単一の画像を生成するために連結される。この画像は、単一カラーリグレッサに対する入力である。
【0134】
視線追跡システムをトレーニングするのには、再整形、連結および平担化された眼の画像で十分であると考えられるが、システムは、頭部の動きに対して非常に敏感であることが考えられる。この問題を未然に防ぐため、
図7に例示されているように、一実施形態にしたがって、アルゴリズムに対する入力を形成するために(X、Y)顔面ランドマークのベクトルも眼のベクトルに対して同様に連結させることができる。一実施形態においては、第3者の顔面ランドマーク検出アルゴリズムを用いて8つの顔面ランドマークのXY座標を検索する。これらの座標は、16個の値のベクトルへと平担化される。
図6に描かれている処理ステップの後、眼のベクトルは、個別のカラーチャネルに分離される。これらのベクトルの各々はその後、顔面ランドマークベクトルのコピーと連結される。結果として得られた3つのベクトルは、最終的に、単一チャネル回帰アルゴリズムに対する入力として使用される。
【0135】
トレーニングの前に、考えられるハイパーパラメータ値のサーチ空間が、考慮中の全てのアルゴリズムについて定義された。その後、各チャネル、各アルゴリズムそして各関連ハイパーパラメータセットについて、モデルがトレーニングされ、テストされた。モデルのパフォーマンスを評価するために使用されたパフォーマンスメトリックは、平均絶対誤差(MAE)および決定係数R2であった。
【0136】
MAEは、推定値と目標値の間の平均的距離である。この場合、推定値および目標は、2次元座標セットであったことから、ユークリッド距離は、距離メトリックであった。
【0137】
R2は、モデルによって将来の値がどの程度正しく予測可能であるかの指標である。値は、典型的に0から1の範囲内にある。1という値は、考えられるあらゆる入力値について目標値を生み出す完全な予測力を有するモデルを表わす。0という値は、入力値の如何に関わらず、常に同じ値を出力する恒常モデルを表わす。モデルは任意には不良であり得ることから、値は負数へと広がる可能性がある。
【0138】
各カラーチャネルについて、最高のR2を達成したモデルは、最終モデルとして保持された。このモデルをトレーニングするために使用されたハイパーパラメータは、将来の使用のためにセーブされた。
【0139】
一実施形態において、単一チャネルリグレッサのために決められたアーキテクチャは、リッジリグレッサとSVMの組合せであり、これらの出力が平均化された。テスティングにより、これら2つのアルゴリズムが同じ規模の相補的ミスを犯すことが示された。すなわち、一方が一定量だけ凝視位置を過大に推定した場合、他方は、実質的に同じ量だけ凝視位置を過小に推定した。それらの予測を平均化することにより、それらのミスは平均化され、こうしてモデルはより精度の高いものとなった。
【0140】
予測フュージョン、すなわちそれぞれの凝視位置に基づく推定凝視位置の決定のためには、線形回帰に加えて、前述の回帰アルゴリズムの全てがテストされた。線形回帰は、このリグレッサについての入力空間の非常に低い次元性のため、候補として追加された。実際、入力は、3つの単一カラーリグレッサ全ての2次元出力、ならびに合計9次元の、3つのカラーチャネル全ての相対的寄与で構成されていた。
【0141】
より複雑な回帰アルゴリズムを使用することによる有意な利益は全く無かったことから、モデルの検討およびハイパーパラメータの最適化のための単一カラーリグレッサと同じアプローチにしたがって、カラー補正を行なうために線形回帰アルゴリズムが決定された。したがって、組み合わせのために使用された方法は、方程式5で示された上述の方法であり、ここでGは最終的凝視推定値、Wcは重み、Icは特定のカラーチャネルについての光源値、Gcは特定のカラーチャネルについての凝視推定値である。
【0142】
【0143】
重み因子Wcを決定した手段は、先に説明した通り、各々のカラーチャネルの相対的寄与、すなわち、各チャンネルについての各画素の強度の和で除した所与のチャンネルについての各画素の強度の和であった。
【0144】
これらの初期アルゴリズムは、非常に迅速にトレーニングできるが、インクリメンタル学習の能力はなく、このため、それがトレーニングされる対象のモデルのデータセットのサイズ、ひいてはその一般化能力は大幅に限定される。テストによって、応用には定期的較正が必要であり、1人のユーザについての較正によって得た知識を広いユーザーセットへと都合よく拡大できないということが示された。これらの理由から、
図15から20を参照しながら以下で詳細に説明されるように、畳み込みニューラルネットワークがこの問題に極めて好適であると考えられることから、所与の応用、具体的には人工ニューラルネットワークのためにはインクリメンタル学習能力を有する機械学習アルゴリズムが好まれる可能性がある。
【0145】
一実施形態において、上述の方法10は、コンピュータによって実行された時点で方法10の諸ステップを行なうコンピュータ実行可能メモリを記憶しているコンピュータ可読メモリを含むコンピュータプログラムプロダクトとして具体化され得る。
【0146】
一実施形態において、上述の方法10は、データの受信および送信のうちの少なくとも1つの通信ユニット、メモリ、および方法10の諸ステップを実行するために構成された少なくとも1つの処理ユニットを含むシステムとして具体化され得る。
【0147】
ここで
図8を参照して、一実施形態に係る初期画像内のユーザの凝視位置を決定するためのシステム80について説明する。システム80には、抽出ユニット82、凝視位置決定ユニット84および凝視位置推定ユニット86が具備されている。
【0148】
抽出ユニット82は、上記で詳述した通り、ユーザの少なくとも1つの眼の初期画像を受信し、初期画像の少なくとも1つのカラー成分を抽出して、対応する少なくとも1つの成分画像を得るために構成されている。一実施形態において、抽出ユニット82は、初期画像の少なくとも2つの明確に異なるカラー成分を抽出して、対応する少なくとも2つの成分画像を得るために構成されている。さらなる実施形態において、抽出ユニット82は、初期画像の3つの明確に異なるカラー成分を抽出して、対応する3つの成分画像を得るために構成されている。一実施形態において、抽出ユニット82は、先に説明した通り、初期画像の3つのRGB成分の各々を抽出するために構成されている。さらなる実施形態において、抽出ユニット82は、上述した通り、さらに初期画像をクロッピングするために構成されている。
【0149】
凝視位置決定ユニット84は、上述した通り、抽出ユニット82から成分画像の各々を受信し、成分画像の各々1つについてそれぞれの凝視位置を決定するために構成されている。
【0150】
凝視位置推定ユニット86は、少なくとも1つの成分画像各々のそれぞれの凝視位置にしたがって初期画像内の推定凝視位置を決定し、推定凝視位置を出力するために構成されている。2つまたは3つの成分画像が抽出される場合、凝視位置推定ユニット86は、先に詳述した通り、例えば重み因子を用いて、それぞれの凝視位置の各々を共に組み合わせるために構成される。
【0151】
一実施形態においては、先に説明した通り、受信初期画像は、少なくとも1つの眼以外の追加の特徴を含み、抽出ユニット82は、さらに、受信初期画像の内部で少なくとも1つの眼を識別するため、少なくとも1つの眼のみを含む初期画像の一部分を抽出して、クロッピングされた画像を得るため、およびクロッピングされた画像の少なくとも1つのカラー成分を抽出して、対応する少なくとも1つの成分画像を得るために構成されている。
【0152】
光源値が使用される実施形態においては、先に説明した通り、抽出ユニット82はさらに、各成分画像について初期画像に対応する成分画像の相対的寄与を表わす光源値を決定するために構成されている。この場合、凝視位置推定ユニット86はさらに、光源値をそれぞれの凝視位置と組み合わせるために構成されている。
【0153】
頭部姿勢不変性が実装される実施形態においては、受信初期画像は、上記で詳述した通り、少なくとも1つの顔面ランドマークをさらに含む。抽出ユニット82はさらに、少なくとも1つの顔面ランドマークを抽出して、対応する少なくとも1つのランドマーク位置を得るために構成されている。この実施形態においては、凝視位置推定ユニット86はさらに、少なくとも1つのランドマーク位置をそれぞれの凝視位置と組み合わせるために構成されている。
【0154】
一実施形態において、ユニット82、84および86の各々には、それぞれの処理ユニット、例えばマイクロプロセッサ、それぞれのメモリおよびそれぞれの通信手段が具備されている。別の実施形態において、ユニット82、84および86のうちの少なくとも2つは、同じ処理ユニット、同じメモリおよび/または同じ通信手段を共有してよい。例えば、システム80は、各ユニット82、84および86によって使用される単一の処理ユニット、単一のメモリおよび単一の通信ユニットを含み得る。
【0155】
図9は、いくつかの実施形態に係る、該方法10のステップ12~20を実行するための例示的処理モジュール90を示すブロック図である。処理モジュール90は典型的には、メモリ94内に記憶されたモジュールまたはプログラムおよび/または命令を実行し、それにより処理動作を行なうための単数または複数のコンピュータ処理ユニット(CPU)および/またはグラフィック処理ユニット(GPU)92、メモリ94、およびこれらの成分を相互接続するための単数または複数の通信バス96を含む。通信バス96は任意には、システム成分を相互接続し通信を制御する回路(時としてチップセットと呼ばれる)を含む。メモリ94は、高速ランダムアクセスメモリ、例えばDRAM、SRAM、DDR RAMまたは他のランダムアクセスソリッドステートメモリデバイスを含み、不揮発性メモリ、例えば単数または複数の磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイス、または他の不揮発性ソリッドステートストレージデバイスを含むことができる。メモリ94は、任意には、CPU92から遠隔に位置設定された単数または複数のストレージデバイスを含む。メモリ94または代替的にはメモリ94内部の不揮発性メモリデバイスは、非一時的コンピュータ可読記憶媒体を含む。いくつかの実施形態において、メモリ94またはメモリ94のコンピュータ可読記憶媒体は、以下のプログラム、モジュールおよびデータ構造またはそれらのサブセットを記憶する。
初期画像の少なくとも1つのカラー成分を抽出して、対応する少なくとも1つの成分画像を得るための抽出モジュール91、
成分画像内の凝視位置を決定するための凝視位置決定モジュール93、
少なくとも1つの成分画像の各々のもののそれぞれの凝視位置にしたがって初期画像内の推定凝視位置を決定するための凝視位置推定モジュール95、
画像をクロッピングするためのクロッピングモジュール97、および、
画像を平坦化するための平坦化モジュール99。
【0156】
上記で説明された要素の各々は、先に言及したメモリデバイスのうちの単数または複数の中に記憶され得、上述の機能を果たすための一命令セットに対応する。上記で説明されたモジュールまたはプログラム(すなわち命令セット)は、別個のソフトウェアプログラム、プロシージャまたはモジュールとして実装される必要はなく、したがって、これらのモジュールのさまざまなサブセットをさまざまな実施形態において組み合わせるかまたは別の方法で再配設することが可能である。いくつかの実施形態において、メモリ94は、上記で説明されたモジュールおよびデータ構造のサブセットを記憶することができる。さらに、メモリ94は、上記で説明されていない追加のモジュールおよびデータ構造を記憶することができる。
【0157】
図9は、処理モジュール90を示しているが、本明細書中に記載されている実施形態の概略的構造図としてよりも管理モジュール内に存在し得るさまざまな特徴の機能的説明として意図されている。実際には、当業者が認識するように、別個に示されたアイテムを組み合わせることができ、一部のアイテムは分離することができると考えられる。
【0158】
ここで、以下の説明は、先に言及されているように、初期画像内の凝視位置の推定を改善するために使用し得る深層学習アルゴリズムまたはモデルの使用について記述する。深層学習を使用する方法は、上述の方法との類似性を有する。しかしながら注目すべき1つの差異は、明確に異なるカラー成分画像の第1の「一次」処理の結果が、概してそれぞれの凝視出力と同じでない「内部表現」であるという点にある。内部表現はすでに上記で言及されており、他の内部表現とフュージョンされるべきニューラルネットワークの内側の層の出力である。通常、それは、トレーニングの結果得られる最終的ネットワーク出力ではなく、何らかの推定となるように設定されていない(それは単に、その層の出力にすぎない)ことから、いかなる具体的意味合いも有していない。
【0159】
しかしながら、上記で説明したニューラルネットワークが関与しない方法は、中間ステップにおいてそれぞれの凝視出力を出力し、
図5中のリグレッサR、GまたはBのそれぞれの出力などのこのそれぞれの凝視出力は、トレーニングからの結果であり中間推定となるように設計されているために内部表現が期せずして意味を有する、すなわちそれぞれの凝視出力を有することになった「内部表現」の具体的な事例と見なすことができる。
【0160】
ここで
図10を参照すると、複数の接続されたニューロン層の形で配設され得る人工ニューラルネットワークの基本単位である人工ニューロンの典型的構造が示されている。人工ニューロンは、出力を生成するために加重和に適用される数学演算を表わす。人工ニューロンは、4つの主要成分を有する。ニューロンの入力は、サイズ数NのベクトルI
Nである。ニューロンの重みも同様に入力ベクトルを要素毎に乗算する、サイズNのベクトルW
Nである。ニューロンは、バイアス項Bを有することができる。最後に、ニューロンはその出力つまり活性化a(t)を決定する活性化関数f(x)を有する。したがって、ニューロンの出力を、a(t)=ft(B+Σli×Wi)として表現することができる。
【0161】
図11は、ニューロンが入力として先行する層の出力全てを有するニューロン層である完全接続ニューロン層の構造を例示する。すなわち、層の各ニューロンは、入力ベクトルとして、先行する層の出力ベクトル全体を受け入れる。サイズNの完全接続層およびサイズMの入力ベクトルIを所与として、各ニューロンはM個の入力ひいてはM個の重みを有することになり、したがって層はM×Nの重みマトリックスWおよびサイズNのバイアスベクトルBを有する。計算を簡略化するため、全てのニューロンは、同じ活性化関数を有するようになっている。したがって、層の出力は、マトリックス演算I×W+Bによって得られたベクトルの各要素に対する活性化関数の適用によって得られるベクトルである。
【0162】
図12は、入力として一次元ベクトルの代りに多次元マトリックスを取る層である畳み込みニューロン層の構造を例示する。層は、それが含むニューロン数によって定義される代りに、その畳み込みカーネルによって定義され、完全接続層ではそのようになる。これらの層は最初、グレースケール画像について使用されるように設計されているが、それらの作動原理をより高次元の入力まで拡大することができる。単純さのため、入力の一要素を画素と呼ぶが、それは、画像でなくてもよいマトリックスの一要素であることしか必要でない。
【0163】
畳み込み層の働きがここで説明され、
図12に例示されている。サイズH×Wの所与の入力について、畳み込み層は、各々1つの画素と結び付けられたH×Wのニューロンを有するといわれている。層には同様に、本質的に1組の重みであるM×Nの畳み込みカーネルセットも与えられる。しかしながら、各ニューロンが独自の重みセットを有する完全接続層とは異なり、畳み込み層では、全てのニューロンが同じ重みを共有する。各ニューロンは、ニューロンが受容フィールド内でセンタリングされている状態で、畳み込みカーネルと同じサイズの受容フィールドを入力上に有する。例えば
図12では、単一の3×3カーネルが使用されている。ニューロンNiおよびNjのそれぞれのフィールドが示されている。
【0164】
層の出力は、入力と同じサイズの、各カーネルに1つずつの特徴マップセットである。特徴マップの各ピクセルは、カーネルの適切な重みで乗算された画素値の和に対して活性化関数を適用することによって得られる。この演算の結果は、入力上でのカーネルの畳み込み、ひいてはカーネルでの入力のフィルタリングおよび結果に対する活性化関数の適用と同じであり、「畳み込みの」という名前はこれに由来する。
【0165】
図13は、一実施形態に係る、本発明の方法を実装するために使用可能であるニューロンの完全接続層を用いたニューラルネットワークの畳み込みストリームの構造を例示している。
【0166】
一次畳み込みストリームは、眼の画像の個別のカラーチャネルを処理するために使用可能なニューラルネットワーク層の処理ストリームである。これらは畳み込みであることから、各ストリーム内に少なくとも1つの畳み込み層が含まれているが、一実施形態では、複数のストリームが使用される。一定数の畳み込み層の後、下流側に一定数の完全接続層を追加し得るが、これは必須ではない。実際、モデルの予測力を改善する傾向があるので、畳み込み層セットに対して完全接続層を追加することが一般的な実践方法である。例えば、非限定的に、所与のカラー成分画像の一次ストリームは、この所与のカラー成分画像についてのそれぞれの一次ストリームから内部表現を受信する下流側のフュージョン層に到達する前に、2つまたは3つの畳み込み層および2つまたは3つの完全接続層を含むことができる。畳み込み層についてはバッチ正規化方法を使用することができ、一方、完全接続層についてはL2正規化およびドロップアウト正則化方法を使用することができる。これらの畳み込み層に対しては、他の正則化方法またはそれらの組合せを適用することもできる。しかしながら、上述方法が応用に好適であることが、経験的に決定されている。さらに、次の層に対する入力の次元性を削減する目的で、各々の畳み込み層の後、マックスプーリングを使用することも可能である。ここでもまた、プーリングは広く使用されるツールではあるが、必須ではない。平均プーリングなどの他のプーリング方法も同様に使用され得る。プーリング演算は、値を平均化することまたは最大値をとることなど、近傍に対する何らかの演算を行なうことにより、画素の近傍を単一の値まで縮小する。
【0167】
畳み込みストリームが完全接続層を使用しない場合、畳み込みストリームの出力は特徴マップセットであり、その数は最後の畳み込み層内のカーネルの数に対応する。単数または複数の完全接続層が使用される場合、畳み込みストリームの出力は、最後の完全接続層内のニューロンの数と同じ数の要素を含むベクトルとなる。さらに、単数または複数の完全接続層が使用される場合、最後の畳み込み層の出力は、
図6および7を参照して先に説明した通り、第1の完全接続層によって入力として受入れられるようなベクトルへと平坦化されなければならない
【0168】
図14は、別の実施形態に係る、本発明の方法を実装するために使用可能であるニューラルネットワークの完全接続ストリームの構造を例示する。
【0169】
一次完全接続ストリームは、眼の画像の個別のチャネルを処理するために使用可能であるニューラルネットワーク層のストリームである。それらは専ら完全接続層で構成されていることから、眼の画像は、
図6および7を参照して先に詳述した通り、ストリームの第1の完全接続層により入力として受け入れられるようなベクトルの形式へと平坦化される必要がある。いかなる完全接続層も使用されない場合、このようなストリームの出力は、ベクトル化された入力画像である。このような事例は稀であるかもしれないが、さらなる処理のためにストリームの出力が別のストリーム内に入力される場合、有用であり得る。単数または複数の完全接続層が使用される場合、出力は、最後の完全接続層内のニューロンの数と同じ数の要素を含むベクトルである。
【0170】
一実施形態において、完全接続層に対しては、L2正則化およびドロップアウト正則化方法が使用されるが、これらの完全接続層に対して他の正則化方法またはその組み合わせを適用することも同様に可能である。
【0171】
補助入力、すなわち光源値および顔面ランドマーク座標などが使用される場合には、これらを直接フュージョン層にフィードすることができ、あるいは代替的にかつ有利にも、ニューラルネットワークの補助入力ストリームを使用して何らかの処理を補助入力に適用することができる。このとき、フュージョン層は、これらの補助入力に由来する内部表現(光源値および顔面ランドマーク座標)を受信する。これらの入力は、先に説明した例においてそれぞれサイズ3および16である低い次元性のものであることから、これらのストリーム内に使用される層は、一実施形態においては完全接続層である。単数または複数の完全接続層が使用される場合、補助ストリームの出力は、最後の完全接続層の中に存在するニューロンの数と同じ数の要素を含むベクトルとなる。完全接続層が全く使用されない場合、補助ストリームの出力がその入力である。一実施形態においては、完全接続層に対してはL2正則化およびドロップアウト正則化方法またはアルゴリズムを使用することができるが、他の方法を考慮してもよい。補助入力ストリームの構造は、
図14中で例示されている一次完全接続ストリームの構造と類似である。
【0172】
下記でさらに明らかになるように、上流側層の出力(すなわち、複数の明確に異なる一次ストリームおよび補助ストリームからのそれぞれの内部表現)を単一のベクトルへとフュージョンするために、フュージョン層が使用される。これは、システムの出力を生成するために少なくとも1つの完全接続層が使用され、上記で論述した通り、完全接続層が1つのおよび1つだけのベクトルを受け入れることを理由として求められる。このことはすなわち、出力層への入力として使用されるように単一のベクトルへと畳み込みおよび補助ストリームの出力をフュージョンするために、単数または複数のフュージョン層が必要になる可能性があるということを意味している。
【0173】
この層に対する入力は、少なくとも2つの上流側ストリームの出力である。畳み込みストリーム内でいかなる完全接続層も使用されない場合、このストリームの出力は、先に説明した通り、フュージョン演算に先立ってベクトルへと平坦化される必要がある。
【0174】
フュージョン演算自体は、全ての入力ベクトルの長さの和に等しい長さを有する単一のベクトルへと入力ベクトルを連結することからなる。このレベルにおけるフュージョンは、
図5で示された実施形態において使用される予測フュージョンの対語として、特徴フュージョン(feature fusion)であると言われている。ニューラルネットワーク内の特徴フュージョンは同様に、内部表現のフュージョンと呼ぶこともできる。
【0175】
ニューラル層の内部ストリームは、フュージョン層の出力に対してさらなる処理を適用するために使用可能である任意の完全接続層セットである。したがってストリームの入力は、フュージョン層の出力である。単数または複数の完全接続層が使用される場合、ストリームの出力は、最後の完全接続層内に存在する数と同じ数の要素を含むベクトルである。完全接続層が全く使用されない場合、このストリームの出力はその入力であり、したがってフュージョン層の出力である。内部ストリームの出力はそれ自体、フュージョン層に対する入力として使用され得る。完全接続層に対して、L2正則化およびドロップアウト正則化方法またはアルゴリズムを使用することができるが、他の方法を考慮することも可能である。
【0176】
完全接続層は専らこのタイプのストリーム内で使用可能であるが、いくつかの入力の潜在的に比較的高い次元性を考えると、1D畳み込み層を代りに使用することも同様に可能である。しかしながら畳み込み層は、このタイプの層が近傍の値間の関係または値の近傍内の関係を活用することを主な理由として、不適切であると思われる。内部ストリームの構造は、
図14中に例示されている一次完全接続ストリームのものと類似したものである。
【0177】
下記でより明らかになるように、一実施形態において、システムの出力は、下記でさらにより詳細に説明される通り、システムがXおよびYの両方の凝視座標の生成を目的とするものかまたはこれらのうちの一方の生成を目的とするかに応じて、サイズ1または2の完全接続層によって提供される。この実施形態においては、この層に対する入力は、内部ストリームの出力かまたはフュージョン層の出力のいずれかである。
【0178】
人工ニューラルネットワーク内では、非常に多数の活性化関数が一般に使用され、微分可能であるかぎりにおいて任意の関数を使用することができる。このような関数には、恒等関数、ロジスティック関数(例えばシグモイド関数)、双曲線正接関数および正規化線形ユニット(ReLU)関数が含まれるが、これらに限定されるわけではない。
【0179】
一実施形態においては、恒等関数を使用する出力層以外の全ての層について、ReLU関数が使用される。このような実施形態は、優れた結果を示したが、異なるパフォーマンス測定基準を有するモデルを生み出すためには他の関数を使用することができる。
【0180】
ここで
図15~20を参照して、いくつかの実施形態に係る、ニューラルネットワークアーキテクチャに依存するユーザの凝視位置を決定するための方法およびシステムについて全般的により詳細に説明する。
【0181】
下記で明らかになるように、方法10の一実施形態において、それぞれの凝視位置またはこの場合がそうであるようにニューラルネットワークのための内部表現を決定するステップおよび推定凝視位置を決定するステップが組み合わされた形で行なわれる。実際、少なくとも1つの成分画像は、ニューラルネットワークを用いて処理される。ニューラルネットワークは、単数または複数のコンピュータによって実装され、単数または複数のニューラルネットワーク層を有する。ニューラルネットワークは、ランタイムにおいておよびニューラルネットワークがトレーニングされた後で、単数または複数のニューラルネットワーク層を用いて少なくとも1つの成分画像を処理して推定凝視位置を生成するように構成されている。ニューラルネットワークのトレーニングについて下記で説明する。
【0182】
この方法は、ニューラルネットワークが具備されている先に説明したシステム80を用いて実装される。この実施形態において、ニューラルネットワークは、ランタイムにおいておよびニューラルネットワークがトレーニングされた後で、単数または複数のニューラルネットワーク層を用いて少なくとも1つの成分画像を処理して推定凝視位置を生成するように構成されている。一実施形態において、システム80は、取得画像のカラー成分に各々対応するニューラルネットワークの第1の部分を形成する少なくとも1つの一次ストリームを有し、各一次ストリームは、他のものとフュージョンされるべき、および場合によっては光源値および顔面ランドマーク座標などの補助入力からの内部表現ともフュージョンされるべきそれぞれの内部表現を生成するように各々構成されている。換言すると、RGB画像の3つの成分画像が使用される場合、システム80は、下記の
図15および16の説明で明らかになるように、3つの明確に異なる一次ストリームを有する。システム80は同様に、推定凝視位置を生成するように構成されたニューラルネットワークの第2の部分すなわち内部ストリームも有している。ここで明白であるように、ニューラルネットワークの第1の部分の出力(すなわち、少なくとも1つのカラー成分画像からの少なくとも1つの一次ストリーム、および存在する場合には補助ストリーム)は、ニューラルネットワークの第2の部分の入力として使用される。第1のニューラルネットワークのためのさまざまなアーキテクチャを使用することができる。それは、単数または複数の完全接続層のみ、および/または単数または複数の畳み込み層を含み得る。畳み込み層が使用される場合、下記で詳述するように、最後の畳み込み層の下流側に完全接続層が提供される。ニューラルネットワークの第2の部分は、各々少なくとも1つの完全接続層を有する少なくとも1つのフュージョン層を有する。ニューラルネットワークのこの第2の部分、つまり内部ストリームは、少なくとも1つのフュージョン層の少なくとも1つから始まる。第2のニューラルネットワークは同様に単数または複数のフュージョン層の下流側に出力層を含み得る。出力層は、1つ以上の完全接続層を含むことができる。
【0183】
ここで、いくつかの実施形態にしたがって、
図15および16を参照して、2つの一般的なタイプのアーキテクチャについて説明する。ニューラルネットワークの層の詳細はハイパーパラメータの最適化の分野に入り、所与のアーキテクチャについて層数および層パラメータの多くの組み合わせが検討可能であることから、アーキテクチャは単に一般的に説明される。
【0184】
ここで
図15を参照して、多層パーセプトロンを用いたシステムの一実施形態について説明する。このアーキテクチャは、各入力に1つずつの5つの完全接続ニューラル層ストリームを含む。ストリームのうち3つは、その最後の層においてそれぞれの内部表現(ネットワーク出力ではなく)を出力する、眼の画像の3つのカラーチャネルのための3つの明確に異なるニューラルネットワークとして作用する。残りの2つのストリームは、1つは光源値用、1つは顔面ランドマーク座標用の補助入力ストリームである。これら5つのストリームの出力は、出力層への入力として使用されるようにフュージョン層と共に単一のベクトルへとフュージョンされる。この例において、フュージョン層は、先に説明した第2のニューラルネットワーク内に含まれる。
【0185】
先に言及した通り、ハイパーパラメータ最適化を行なう開始点を提供するべく適切なモデルサイズの推定値を得るために多層パーセプトロンが使用される。一実施形態において、MLPは、適正に条件付けするすなわち実行可能なモデルを生成するハイパーパラメータセットを選択するのがConvNetsに比べてはるかに容易であることを理由として選ばれる。このアーキテクチャの下でトレーニングされたモデルはいくつかの実行可能な結果を生成したものの、MLPは、画像処理問題についてはConvNetsよりも性能がはるかに劣る。このような理由から、下記で説明する後続する実施形態においては、ConvNetsが使用されるものとする。
【0186】
図15に示されるアーキテクチャは、ニューラル層の入力ストリームおよびフュージョン層のみを含んでいた。フュージョン層と出力層の間には内部ストリームが全く存在しなかった。さらに、使用された眼の画像は、40×80画素のサイズのものであった。初期の畳み込みアーキテクチャ内では、同じサイズが使用されていたが、その後、結果の改善を目指して80×160画素まで増大された。
【0187】
図16は、畳み込みニューラルネットワークを用いたシステムの実施形態を示す。実際、最良の結果を提供すると思われるアーキテクチャは、眼の画像のカラーチャネル各々に対し1つずつの、それぞれの3つの第1のニューラルネットワークストリームとしての3つの畳み込みストリーム、ならびに光源値用に1つ、顔面ランドマーク座標用に1つの2つの補助入力ストリームを使用する。これら5つのストリームをフュージョンするために、単一のフュージョン層が使用される。フュージョン層は次に、内部ストリーム内にフィードされ、アーキテクチャは、凝視推定値を生成する出力層によってキャッピングされる。
【0188】
アーキテクチャ内の異なる深さで畳み込みストリームおよび補助ストリームをフュージョンさせるいくつかの試みがなされてきたが、より良い結果が生み出されることはなかった。これらのアーキテクチャでは、一実施形態によると、畳み込みストリームは1つのフュージョン層内でフュージョンされ、補助ストリームは別のフュージョン層内でフュージョンされるものと考えられる。このとき、これら2つのフュージョン層の出力を処理するために、内部ストリームが使用されることになる。次に、別のフュージョン層が、これらの内部ストリームの出力をフュージョンさせる。このフュージョン層の出力は第3の内部ストリームにフィードされ、これは最終的に出力層に出力されることになる。
【0189】
このようなアーキテクチャを実装するためには、ニューラルネットワークのトレーニングが行なわれなければならない。使用されたデータベースは、約1500名の人に属する250万個の顔面画像で構成されていた。データベースは、70-20-10%のスプリットを用いて、トレーニングセット、検証セットおよびテストセットに分割された。これらの画像は、スマートホン(例えばiPhone(登録商標)など)であれまたはタブレット(例えばiPad(登録商標)など)であれ、異なるスクリーンサイズのモバイルデバイスのスクリーン上での一連の刺激を見詰めるよう課せられたボランティアから得たものであった。各々の捕捉画像について、下記で詳述するように、デバイスタイプ、スクリーンサイズ、スクリーン座標内の刺激の位置、カメラからのセンチメートル単位での刺激の位置、デバイスの配向(縦置き、縦置き反転、横置き右、横置き左)を含めたいくつかのメタデータが捕捉された。
【0190】
1つの例示的実施形態によると、非限定的に、モデルトレーニングは、機械学習機能ライブラリとしてKerasおよびTensorflowを用いて、例えばAmazonEC2(登録商標) p3.8×largeインスタンスなどのクラウド内のサーバ上で行なわれた。モデル正則化には、畳み込み層についてのバッチ正規化および完全接続層についてのL2およびドロップアウトが含まれていた。L2正則化の重みは、全てのモデルについて0.01であった。ドロップアウトレートは、全てのモデルについて25%であった。これらの値は経験的に見い出されたものであり、考えられる最良の値を表していない可能性がある。さまざまなモデルの選択されたアーキテクチャは、下記の表1~3に示されている。全ての畳み込み層について、サイズ2×2のマックスプーリングが使用された。ハイパーパラメータ最適化を簡略化するため、全ての畳み込みストリートに同じアーキテクチャが使用され、両方の補助ストリームに同じアーキテクチャが使用される。
【0191】
下記の表1は、畳み込み層のサイズを示す。層サイズは、入力から出力まで、データがそれらを横断する順序で示されている。畳み込み層については、X M×Nカーネルとは、この層内でXという数のカーネルが使用され、各カーネルがM×Nのサイズを有することを意味する。表2は、補助ストリーム内の層の数、および各層のサイズを示す。表3は、内部ストリーム内の層の数、および各層のサイズを示す。
【0192】
【0193】
【0194】
【0195】
先に説明したアルゴリズムが所与の応用のための十分に正確な凝視推定値を生成しない場合には、較正プロシージャを使用することができ、その間に特定のユーザから小さいデータセットが収集されて一般的モデルの予測を調整する。
【0196】
較正プロシージャを行なうためには、追加のピクチャセットを捕捉する必要があると思われる。これらの捕捉ピクチャの各々について、スクリーン上にいくつかの刺激が表示され、この刺激の位置(標的)は記録され、ピクチャが撮影されているときユーザはこの刺激を見つめる必要がある。これが較正プロシージャ用の最小限のデータベースを構成することになる。このデータベースは、デバイスのタイプ、スクリーンサイズ、スクリーン解像度およびデバイスの配向などの他のメタデータを格納することができる。
【0197】
そこから、各々の捕捉画像について、一般的モデルにより使用される同じ特徴がピクチャから抽出され、処理のため一般的モデルにフィードされることになる。ここで、較正モデルをトレーニングするために2つのオプションが利用可能である。1つのオプションは、各画像について一般的モデルの出力を捕捉することである。これらの凝視推定値は較正モデルの入力を構成し、一方画像捕捉時点での刺激の真の位置は標的となる。ひとたびトレーニングされたならば、このようなモデルは、それを入力として取り上げ新しい凝視座標を生成する一般的モデルの出力に付加されることになる。このようなモデルは、
図17に示されている。
【0198】
図18に例示されている通り、第2のオプションは、上述の一般的モデルに特徴をフィードすること、ただし、出力層以外の層の出力、ひいてはモデルの内部表現を、較正モデルへの入力として捕捉することにある。トレーニングの標的は、ここでもまた、画像捕捉の時点におけるスクリーン上の刺激の真の位置であると思われる。ひとたびトレーニングされたならば、較正モデルは、例示されているように、トレーニングのために使用された層の下流側の層を全て置換する。
【0199】
較正データベースのためのデータ収集プロシージャには、当該技術分野において公知であるように、スクリーンが完全にかつ均等にカバーされていることを保証しながらユーザに対し一連の刺激を示すことが関与すると思われる。データの質を保証するために、較正プロシージャは同様に可能なかぎり短くなければならず、ユーザの関与を最大限にするよう試みなければならない。
【0200】
ここでは多くの方策が利用可能である。スクリーン全体を通して無作為の場所に刺激を出現させ、ユーザにピクチャが撮られる前に各刺激を見つけるよう求めることができる。無作為に選択されたスクリーン上の組になっている点の間にシーケンスで刺激を出現させ、ユーザに開始点を見つけるよう求めることができる。一組の既定のただし切断された組になっている点の間にシーケンスで刺激を出現させ、こうして単一の刺激を既定のただし切断された経路に沿って移動するように見せることができる。最後に、既定の連続する経路に沿ってシーケンスで刺激を出現させ、こうして前記経路に沿って単一の刺激が移動する錯覚を創出することができる。これらの方策を混合して、1つの較正プロシージャを創出し、このプロシージャの間に各々の方策を一定の時間使用することも可能である。
【0201】
一実施形態において、選択された刺激は、ユーザの顔面のビデオを捕捉しながら、既定の経路に沿って移動する。同じ効果は、一定のフレームレートでピクチャを捕捉することによっても達成可能である。この方策を使用することで、ユーザは、刺激がジャンプした後に新しいその位置を発見する必要が全くなく、こうしてユーザが刺激を探している間に不良なデータ点が捕捉される尤度は削減される。刺激を場所から場所へと「ジャンプ」させることによって、上述の問題を回避するには次の刺激を見い出すのにユーザに一定の時間を割当てる必要があることから、この方策は同様に、設定された時間内で最大限のデータ点を捕捉することをも可能にする。最後に、この方策は、決定論的であって、ユーザが較正プロシージャになじむことができるようにし、こうして、ユーザが刺激の経路を正確にたどる尤度を増大させる。
【0202】
ひとたびデータが捕捉されると、較正モデルをトレーニングすることになる機械学習アルゴリズムを選択する必要がある。データの複雑性が比較的低いことを考えると、これらのアルゴリズムは、先に説明したアルゴリズムタイプ、つまりリッジ回帰、決定木、サポートベクトルマシンさらには線形回帰である可能性が高いと思われる。人工ニューラルネットワークなどのより複雑なアルゴリズムを特定の応用のために使用することも同様に可能であると思われる。
【0203】
図19は、一実施形態に係る、提案された較正モデル実装の概略図を例示する。一般的モデルは、2つのサブシステムで構成されており、その各々が同じ特徴を取り入れ、XまたはYのいずれかの凝視座標を出力する。これらの凝視位置は次に両方共、同じく2つのサブシステムで構成された較正モデルにフィードされる。これらのサブシステムの各々は、両方の凝視座標を取り入れ、補正されたXまたはYのいずれかの凝視座標を出力する。
【0204】
その後、サポートベクトルマシンを用いて、較正モデルがトレーニングされた。各々のデバイス配向について、2つの較正モデルがトレーニングされた。各モデルは、適切なデバイス配向に特有の一般的モデルによって出力されたXY凝視座標を取り入れ、XまたはYのいずれかの補正済み凝視座標を出力する。同様に、両方の凝視座標を出力する単一のモデルを有することも可能であったと思われるが、テストにより、XまたはYの補正済み凝視座標の独立した決定がより優れた結果を提供することが示されている。
【0205】
ここで、一実施形態に係る、ユーザの凝視位置を決定するためのシステム全体を示す
図20を参照する。
【0206】
推定すべき全ての凝視位置について、システムがインストールされているデバイスは、ユーザの顔面およびシステムに応じたデバイスまたはカメラの配向を示すデジタルカメラで撮影された画像を生成する。例えば、スマートホンまたはタブレットは、前向きカメラを使用し、同様にデバイスの配向も提供すると思われ、一方、デスクトップ型コンピュータは、典型的にスクリーンの頂部に組付けられたウェブカメラを使用し、ウェブカメラの配向を提供すると思われる。
【0207】
初期画像から、5つの入力特徴が抽出される。これらの特徴は、ユーザの両眼、または眼が存在すると思われる顔面の領域を含む原初の画像の3つのクロップを含む。これらの特徴は同様に、顔面ランドマークセットのXY座標、および初期画像の推定光源値を含んでいる。
【0208】
システムは、縦置き、縦置き反転、横置き右および横置き左という4つのデバイス配向の各々に1つずつの、4つの予測ストリームを有する。これらの予測ストリームの各々は、一般的モデル、そしてこの配向について較正が行なわれている場合には較正モデルを含む。各ストリームのための一般的モデルおよび較正モデルの両方が、2つのサブシステムを含む。一方のサブシステムは、入力特徴から水平凝視座標を推定し、他方のサブシステムは同じ特徴から垂直凝視座標を推定する。
【0209】
使用すべき予測ストリームは、セレクタのように作用するデバイス配向によって決定される。システムは、いずれも全てのストリームに凝視位置推定値を生成させることができ、どの出力を使用すべきかを選択するためにセレクタが使用されている。代替的には、セレクタは、予測ストリームのうちどれを所与の特徴について使用すべきかを選択するために使用され得る。後者のオプションは、計算コストの削減を可能にする。
【0210】
本明細書中に記載の方法は、スマートホン上、タブレット上またはいずれかの種類のスクリーン上のユーザインタフェースなどのユーザインタフェースのための凝視追跡に関与するさまざまなアプリケーションを作製するために、極めて高いパフォーマンスを示す。これらのインタフェース上に現われるコンテンツとの対話に関与する実践的アプリケーションは、当該方法を用いて達成できる高い精度(1cm未満)をうまく利用することによって作製される。この精度は、とりわけ、入力画像の慎重な選択(例えば環境が除去された状態でのクロッピングされた眼の画像の連結など)によって達成される。この精度は、同様に、上述のアーキテクチャを通して、アルゴリズムすなわちニューラルネットワークが照明コンテキストに対し自動的に適応でき、その照明コンテキストにおいて最良の結果を与えるカラー成分画像のうちの1つに由来する内部表現を優先する、ということを保証することによって生じるものである。明確に異なるニューラルネットワークストリームを各画像に適用する前にカラー成分画像(例えば連結されたクロッピングされた眼の3つのカラー成分画像)を完全に分離することで、各々が明確に異なる形で処理され、照明コンテキストを考慮して最も適切なカラー成分画像を用いるニューラルネットワークによるさらなる処理のために単独で後日選択され得るということが保証される。
【0211】
本明細書中に記載の方法は、文献、例えばhttp://gazecapture.csail.mit.edu/cvpr2016_gazecapture.pdf.で入手可能であるMITからのKrafkaらによる研究「Eye Tracking for Everyone」などの中で見い出される他の方法と比較した場合、高性能である。この研究では、4つの入力、すなわち各々の別個の眼(クロッピングされたもの)、全画像、および画像内の顔面の位置を標示するバイナリマスクが使用されている。
【0212】
本発明は、全顔面ではなく顔面ランドマーク座標のみの使用について説明している。MITプロジェクトにおいては、第1の層は、完全な画像内で人物の頭部およびその位置を識別するようにトレーニングされるのに多大な時間を必要とする。頭部の周りの環境が画像内に存在することは余分であり、モデルのトレーニングを複雑にする。MITモデルは同様に、モバイルフォン上で1.34cm~2.12cmの正確性を標示する。この精度は、1cm未満のスクリーン高さまたは幅を有するキーボード要素の識別などの実生活における応用にとっては十分ではない。本明細書中に記載の方法は、1cm未満、すなわち実生活での応用にとって十分なXまたはYでの精度で、典型的なスマートホンキーボードのボタンを識別できるようにする入力およびアーキテクチャをうまく利用する。その理由は少なくとも、取得中の全画像の使用が有用でなくかなりの計算資源を必要とすることを我々が確認したということにある。本方法においては、カラー成分画像のための入力として使用されるクロッピングされた眼の画像の複合画像(単一の画像内に共に入れられた眼のクロッピングされた画像)に加えて、ネットワークの第1の層に対して顔面ランドマーク座標(単独)がフィードされる。計算資源についての要件は、これによって削減される。ニューラルネットワークに対してフィードされる環境の全ピクチャの代りに我々は環境条件のためのプロキシとして、光源値を使用し、ここでもまた、実時間応用においておよびトレーニング中の両方で、計算資源に対する要件を削減する。その上、MITプロジェクトは、凝視追跡に有用である眼の生体構造内の縁部を検出するときの精度の観点から見た技術的な利点も同様に提供する本明細書中に記載の入力における画像のRGB成分の分離のメリットを確認することができていない。
【0213】
本明細書中に記載の方法は同様に、文献中に見い出される他の方法と比較した場合、極めて高性能である。例えばhttps://arxiv.org/pdf/1504.02863.pdf、において入手可能であるZhangらは、いかなる並列ネットワークも伴わない、順次でしかない方法について記述している。彼らはまた、片眼のみの使用を教示しており、このために精度が失われている。本方法は同様に異なる問題、すなわち頭部位置に対応していないために独自の特異性を有する眼の角度の発見も解決しており、これは所望される出力がX、Y位置である場合に考慮する必要のあるものである。
【0214】
該方法は同様に、Vodafonにより開発されhttp://www.fundacionvodafone.es/app/eva-facial-mouse、で入手可能であるモバイルアプリケーションであるEVA Facial Mouseと比較した場合、極めて高性能である。このアプリケーションは、デバイススクリーン上のマウスポインタを制御するために、眼ではなく顔面の動きを使用する。これは、自分の顔面を動かすことのできない完全に麻痺した人には全く応用できない。
【0215】
本明細書中に記載の方法は同様に、米国特許第10127680号明細書と比較した場合、極めて高性能である。この文書中では、ネットワークの事前トレーニングは全く存在しない。まず最初にネットワークに対して較正画像をフィードする必要がある。ネットワークは、較正画像の収集後にトレーニングされる。実際の精度は、さまざまな要因、とりわけネットワークのトレーニングの欠如に起因して、非常に低いものと予期される。したがって、この方法は、その中で記載されているように実生活条件下での機能を期待すべきものではない。
【0216】
本方法を行なうのに必要なハードウェアとしては、通常、カメラと呼ばれる、画像取得能力を有するあらゆるデバイスが含まれる。カメラは、分析システムにフィードすべき適当なレートおよびカラー条件で適切なフォーマットで画像を収集することから、絶対不可欠である。分析システムはトレーニングされる必要があるため、適切なコンピュータシステムが使用される必要がある。この適切なコンピュータシステムは、トレーニングのために求められるが、トレーニング以外のステップのためには求められない可能性がある。実際の実時間凝視決定は、コンピュータシステムによって行われる必要があるが、計算能力についての要件は、高品質のスマートホンまたはタブレットなどの典型的なモバイルデバイスによって通常満たすことができる。したがって、画像取得のためのカメラと通信状態にあるコンピュータシステム(必ずしもトレーニング用と同じである必要は無い)を有することが、本方法を実行するために不可欠である。
【0217】
計算は、状況に応じてさまざまな具体的方法で行なうことができる。上述のように、システムのトレーニングには著しい計算能力を発揮させる必要があるが、ひとたびトレーニングされた時点で、アルゴリズムは、タブレットコンピュータなどのより単純なコンピュータ上で実行することができる。しかしながら、較正を行なう必要がある場合、有利には、ネットワーク上で、較正モデルを作製できる遠隔サーバ(またはクラウド計算配設内のサーバ)に対して較正画像を送ることができる。遠隔サーバ(恐らくはタブレットまたはスマートホンよりもさらに大きな計算能力を有するもの)上でひとたびモデルが較正されたならば、較正済みモデルは、クライアントコンピュータ上で局所的に較正済みモデルを実際に使用するため、タブレットまたはスマートホンまたは他の類似のデバイスに送り返される。クライアントコンピュータが較正を行うのに十分な計算能力を有するものと仮定し、同様に完全な較正モデルがコンピュータ上にインストールされていて、その場合遠隔サーバへの較正画像の送信および較正済みモデルの検索ステップをバイパスすることができるものと仮定して、クライアントコンピュータ上で較正を直接に行なうことを企図してもよい。
【0218】
以上で説明した凝視追跡方法の実施形態は、さまざまな目的のために使用することができる。上述の凝視追跡方法の実装の一例には、スクリーンとの関係におけるユーザの凝視を追跡してその上での動作をトリガするかまたはスクリーン上に提示されているものに関連する情報を収集するために、スマートホン、タブレットなどの電子デバイス上にインストールされたアプリケーション内でこの方法を使用することに関与し得る。
【0219】
該方法の出力、すなわちカメラとの関係において定義された基準点との関係におけるX、Y座標は、他の入力を用いてスクリーン座標に変換可能である。例えば、カメラと基準点(例えばスクリーンの左上コーナー)との間の相対的位置(通常は固定)は、デバイス上にインストールされたモバイルアプリケーションによってデバイス設定値/パラメータ内でクエリされ得るスクリーンサイズおよびスクリーン解像度と同様に、公知であるはずである。これらのデータを用いて、X、Y出力を、スクリーン上の画素座標またはその任意の他の等価物に変換させることができる。X値またはY値のみが必要とされる場合には、これは、スクリーン上の画素行または列へと変換される。
【0220】
見詰められているスクリーンの場所へのこの変換を使用することは、眼の動きのみを用いて見詰められているスクリーン上に提示されたコンテンツとユーザが対話する方法を提供するために有用であり得る。他のタイプの身体の動きが存在し得るが、眼の方向で十分であるため、上述の方法を使用するためには必要とされない。これは、全ての運動(小さい顔面運動を含む)および言語コミュニケーションを妨げる別の問題で苦しむかまたは麻痺のあるユーザにとっては有用である。通常、麻痺のある人は眼を動かすことはできる。
【0221】
例えば、グラフィカルユーザインタフェースを構成しているオンスクリーン要素は、本方法によりそれらを指しているものとして識別された凝視のみを用いて、トリガまたは起動され得る。これらのオンスクリーン要素としては、ボタン、リンク、キーボード要素、などが含まれ得る。したがって、電子デバイス使用のより大きなコンテキストと凝視追跡方法を統合することにより、麻痺のある人と電子デバイスのスクリーンとの適切な対話性を保証し、これにより眼だけを用いて効果的にユーザインタフェースを使用することが可能になる。これには、デバイスのオペレーティングシステムまたはその上で実行するアプリケーションに対してスクリーンの位置の観点から見た追跡の結果を伝達して、その人があたかもマウスポインタを使用するかまたはタッチスクリーン上をタップしているかのように実時間対話性を可能にするための凝視追跡アプリケーションが必要である。本方法がこのような状況下で応用される場合には、スクリーンを有する電子デバイスの使用が絶対不可欠になる。
【0222】
例えば、いずれかのディスプレイ要素上のどこをその人が見ているかを査定することによって、他の利用分野も同様に企図することができる。例えば、カメラがポスタまたはパネルを見つめる人の画像を取得する可能性があり、その人が見ているポスタまたはパネル上の場所を識別するために該方法を使用することができる。このことは同様に、デバイススクリーン以外の技術、例えば投影または没入型環境を用いて表示されるユーザインタフェースにもあてはまる可能性がある。したがって、該方法は、(例えばスクリーン上の画素の場所への)リファレンシャル幾何学的変換を通して、その人が、投影された画像または仮想画像上でボタン、リンク、キーボード要素などの表示されたユーザインタフェース要素を見つめていることを決定でき、次にインタフェース要素とのユーザの対話がトリガされ得る。
【0223】
以上の説明は現在発明人らが企図する具体的な好ましい実施形態に関するものであるが、本発明はその広い態様の中に本明細書中に記載の要素の物理的および機能的等価物を含むものであることが理解されるものとする。
【符号の説明】
【0224】
10 初期画像からユーザの凝視位置を決定するための方法
12 ユーザの少なくとも1つの眼の初期画像を受信するステップ
14 初期画像の少なくとも1つのカラー成分を抽出して、対応する少なくとも1つの成分画像を得るステップ
16 少なくとも1つの成分画像の各々についてそれぞれの凝視位置もしくは内部表現を決定するステップ
18 少なくとも1つの成分画像の各々のそれぞれの凝視位置もしくは内部表現にしたがって初期画像内の推定凝視位置を決定するステップ
20 推定凝視位置を出力するステップ
30 画像
32 赤色成分
34 緑色成分
36 青色成分
40 赤色画像
42 緑色画像
44 青色画像
80 システム
82 抽出ユニット
84 凝視位置/内部表現決定ユニット
86 凝視位置推定ユニット
90 処理モジュール
91 抽出モジュール
92 CPU・GPU
93 凝視位置または内部表現決定モジュール
94 メモリ
95 凝視位置推定モジュール
96 通信バス
97 クロッピングモジュール
99 平坦化モジュール