IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

<>
  • 特表-視線分類 図1A
  • 特表-視線分類 図1B
  • 特表-視線分類 図2A
  • 特表-視線分類 図2B
  • 特表-視線分類 図3A
  • 特表-視線分類 図3B
  • 特表-視線分類 図4
  • 特表-視線分類 図5
  • 特表-視線分類 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-24
(54)【発明の名称】視線分類
(51)【国際特許分類】
   G06F 3/01 20060101AFI20240717BHJP
   G06T 7/00 20170101ALI20240717BHJP
   G06T 7/20 20170101ALI20240717BHJP
【FI】
G06F3/01 510
G06T7/00 350C
G06T7/20 300Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023580480
(86)(22)【出願日】2022-07-01
(85)【翻訳文提出日】2024-02-14
(86)【国際出願番号】 US2022073337
(87)【国際公開番号】W WO2023279076
(87)【国際公開日】2023-01-05
(31)【優先権主張番号】17/305,219
(32)【優先日】2021-07-01
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ロジャーズ,イバナ・トシッチ
(72)【発明者】
【氏名】ファネロ,ショーン・ライアン・フランチェスコ
(72)【発明者】
【氏名】ブアジズ,ソフィアン
(72)【発明者】
【氏名】パンディ,ロヒット・クマール
(72)【発明者】
【氏名】アボウソウアン,エリック
(72)【発明者】
【氏名】コードル,アダルシュ・プラカシュ・ムルティー
【テーマコード(参考)】
5E555
5L096
【Fターム(参考)】
5E555AA12
5E555AA79
5E555BA38
5E555BB38
5E555BE17
5E555CA42
5E555CB65
5E555DA08
5E555DA09
5E555DC09
5E555EA19
5E555EA27
5E555FA00
5L096AA02
5L096AA06
5L096CA04
5L096DA02
5L096FA67
5L096FA69
5L096GA30
5L096HA02
5L096HA11
5L096KA04
5L096KA15
5L096MA07
(57)【要約】
ユーザの注視を追跡する技術は、ユーザの注視が向けられているディスプレイの領域を識別することを含み、領域は複数のピクセルを含む。点ではなく、領域を決定することにより、領域がユーザインタフェースの要素に対応している場合、改善された技術は、システムによる、決定された領域が選択されている要素の起動を可能にする。いくつかの実施態様では、システムは、畳込みニューラルネットワークを含む分類エンジンを使用して決定し、このようなエンジンは、ユーザの眼の画像を入力として獲得し、注視が複数の領域の各々に向けられている確率のリストを出力する。
【特許請求の範囲】
【請求項1】
方法であって、
ある瞬間にディスプレイを見ているユーザの眼の少なくとも1つの画像を表す画像データを受け取ることを含み、
前記ディスプレイは複数の領域を含み、拡張現実感(AR)アプリケーションで動作するように構成され、前記複数の領域の各々は複数のピクセルを含み、ユーザインタフェースのそれぞれの要素に対応し、
前記方法は、
前記画像データに基づいて、前記ディスプレイの前記複数の領域のうち、前記瞬間にユーザの注視が向けられている領域を識別することをさらに含み、
前記識別は、前記ユーザの眼の前記少なくとも1つの画像を、前記複数の領域のうちの1つに向けられているものとして前記注視を分類するように構成された分類エンジンに入力することを含み、
前記方法は、
前記識別された領域が対応している前記ユーザインタフェースの前記要素を起動することとをさらに含む方法。
【請求項2】
前記分類エンジンは畳込みニューラルネットワーク(CNN)を表す第1の分岐を含む、請求項1に記載の方法。
【請求項3】
前記分類エンジンは、出力として、前記複数の領域の領域の数に等しい数の要素を有するベクトルを生成するように構成され、前記ベクトルの各々の要素は前記複数の領域のそれぞれの領域に対応する数を含み、前記数は前記ユーザの前記注視が、前記数が対応している領域に向けられている可能性を表す、請求項1に記載の方法。
【請求項4】
前記分類エンジンは、前記分類エンジンの出力として、前記複数の領域の各々の領域に対応する可能性として、ゼロとユニティの間の確率を生成するように構成されたソフトマックス層を含み、
前記領域の識別は、
前記識別された領域として、前記複数の領域のうち、前記複数の領域のうちの他の領域の各々の確率よりも高い確率を有する領域を選択すること
をさらに含む、請求項3に記載の方法。
【請求項5】
前記領域の識別は、
前記ディスプレイ上の前記複数の領域が対応している画像クラスターのセットを表す画像クラスターデータを生成すること
をさらに含み、
前記分類エンジンは、前記画像クラスターのセットからの距離に基づく損失関数を含む、
請求項3に記載の方法。
【請求項6】
前記方法は、
前記分類エンジンを訓練することをさらに含み、
前記訓練は、前記ユーザの眼の画像と、前記複数の領域のうちの、前記ユーザの前記注視が向けられている領域を識別する領域識別子との間のマッピングに基づいている、請求項1に記載の方法。
【請求項7】
前記ディスプレイはスマート眼鏡の中に埋め込まれた透明ディスプレイである、請求項1に記載の方法。
【請求項8】
前記分類エンジンはニューラルネットワークを表す第2の分岐をさらに含み、
前記方法は、
前記第2の分岐から、前記画像データに基づいて、前記スマート眼鏡の上に取り付けられたカメラに対する前記ユーザの眼の姿勢を出力すること
をさらに含む、
請求項7に記載の方法。
【請求項9】
前記分類エンジンはアテンション層を含み、
前記領域の識別は、
前記出力された眼の姿勢に基づいて、前記ディスプレイの前記領域に向けられている前記注視の確率を前記アテンション層に調整させること
をさらに含む、
請求項8に記載の方法。
【請求項10】
前記ユーザは第1のユーザであり、
前記分類エンジンはニューラルネットワークを表す第2の分岐をさらに含み、
前記方法は、
前記第1のユーザと第2のユーザの間の相違を示すパラメータ値を前記第2の分岐に入力することと、
前記パラメータ値に基づいて、前記ディスプレイの前記領域に向けられている前記注視の確率を前記第2の分岐に調整させることと
をさらに含む、
請求項1に記載の方法。
【請求項11】
前記ユーザは第1のユーザであり、
前記分類エンジンはニューラルネットワークを表す第2の分岐をさらに含み、
前記方法は、
前記複数の領域の幾何学的構成を示すパラメータ値を前記第2の分岐に入力することと、
前記パラメータ値に基づいて、前記ディスプレイの前記領域に向けられている前記注視の確率を前記第2の分岐に調整させることと
をさらに含む、
請求項1に記載の方法。
【請求項12】
前記ユーザは第1のユーザであり、
前記分類エンジンはニューラルネットワークを表す第2の分岐をさらに含み、
前記方法は、
前記画像データの一時的な滑らかさを示すパラメータ値を前記第2の分岐に入力することと、
前記パラメータ値に基づいて、前記ディスプレイの前記領域に向けられている前記注視の確率を前記第2の分岐に調整させることと
をさらに含む、
請求項1に記載の方法。
【請求項13】
非一時的記憶媒体を備えるコンピュータプログラム製品であって、前記コンピュータプログラム製品は、処理回路機構によって実行されると、前記処理回路機構が方法を実施することになるコードを含み、前記方法は、
ある瞬間にディスプレイを見ているユーザの眼の少なくとも1つの画像を表す画像データを受け取ることを含み、前記ディスプレイは複数の領域を含み、拡張現実感(AR)アプリケーションで動作するように構成され、前記複数の領域の各々は複数のピクセルを含み、ユーザインタフェースのそれぞれの要素に対応し、
前記画像データに基づいて、前記ディスプレイの前記複数の領域のうち、前記瞬間にユーザの注視が向けられている領域を識別することを含み、前記識別は、前記ユーザの眼の前記少なくとも1つの画像を、前記複数の領域のうちの1つに向けられているものとして前記注視を分類するように構成された分類エンジンに入力することを含み、
前記識別された領域が対応している前記ユーザインタフェースの前記要素を起動することを含む、コンピュータプログラム製品。
【請求項14】
前記分類エンジンは畳込みニューラルネットワーク(CNN)を表す第1の分岐を含む、請求項13に記載のコンピュータプログラム製品。
【請求項15】
前記分類エンジンは、出力として、前記複数の領域の各々に対応する数を生成するように構成され、前記数は前記ユーザの前記注視が、前記数が対応している領域に向けられている可能性を表す、請求項13に記載のコンピュータプログラム製品。
【請求項16】
前記方法は、
前記分類エンジンを訓練することをさらに含み、前記訓練は、前記ユーザの眼の画像と、前記複数の領域のうちの、前記ユーザの前記注視が向けられている領域を識別する領域識別子との間のマッピングに基づいている、請求項13に記載のコンピュータプログラム製品。
【請求項17】
前記ディスプレイはスマート眼鏡の中に埋め込まれた透明ディスプレイである、請求項13に記載のコンピュータプログラム製品。
【請求項18】
前記分類エンジンはニューラルネットワークを表す第2の分岐をさらに含み、
前記方法は、
前記第2の分岐から、前記画像データに基づいて、前記スマート眼鏡の上に取り付けられたカメラに対する前記ユーザの眼の姿勢を出力すること
をさらに含む、
請求項17に記載のコンピュータプログラム製品。
【請求項19】
前記分類エンジンはアテンション層を含み、
前記領域の識別は、
前記出力された眼の姿勢に基づいて、前記ディスプレイの前記領域に向けられている前記注視の確率を前記アテンション層に調整させること
をさらに含む、
請求項18に記載のコンピュータプログラム製品。
【請求項20】
電子装置であって、前記電子装置は、
メモリと、
前記メモリに結合された制御回路機構と
を備え、前記制御回路機構は、
ある瞬間にディスプレイを見ているユーザの眼の少なくとも1つの画像を表す画像データを受け取るように構成され、前記ディスプレイは複数の領域を含み、拡張現実感(AR)アプリケーションで動作するように構成され、前記複数の領域の各々は複数のピクセルを含み、ユーザインタフェースのそれぞれの要素に対応し、
前記画像データに基づいて、前記ディスプレイの前記複数の領域のうち、前記瞬間にユーザの注視が向けられている領域を識別するように構成され、前記識別は、前記ユーザの眼の前記少なくとも1つの画像を、前記複数の領域のうちの1つに向けられているものとして前記注視を分類するように構成された分類エンジンに入力することを含み、
前記識別された領域が対応している前記ユーザインタフェースの前記要素を起動するように構成される、
電子装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年7月1日に出願した米国出願第17/305,219号の継続出願であり、また、その利益を主張するものであり、その開示は参照によりその全体が本明細書に組み込まれている。
【0002】
技術分野
本説明は、ユーザの視線が向けられているディスプレイの領域の決定に関する。
【背景技術】
【0003】
背景
いくつかの拡張現実感(AR)システムは、視線方向、すなわちユーザの眼が配向されている方向を追跡している。例えばARシステムは、透明ディスプレイ上で内容をユーザに表示するためのスマート眼鏡を含むことができる。いくつかのスマート眼鏡は、ユーザの眼の画像を生成して視線方向を追跡するように構成されたカメラを眼鏡フレーム上に含む。
【0004】
このようなARシステムにより、透明ディスプレイ上のユーザインタフェースは視線方向を追跡することができる。例えば透明ディスプレイ上に描写された第1の内容および第2の内容が存在し得る。ARシステムは、ユーザの視線方向を決定することにより、ユーザが第1の内容または第2の内容を見ているかどうかを推測することができる。
【発明の概要】
【0005】
概要
本明細書において開示される実施態様は、ディスプレイに対するユーザの注視を追跡するための改善された技術を提供する。いくつかの実施態様では、ディスプレイは、ARシステムに使用されるスマート眼鏡の中に埋め込まれたディスプレイなどの透明ディスプレイである。いくつかの実施態様では、ディスプレイは、モバイルコンピューティングシステム、例えばスマートフォン、タブレットコンピュータ、等々に使用されるディスプレイである。しかしながらディスプレイ上の特定の点に対するユーザの注視を追跡するのではなく、改善された技術は、ユーザの注視が向けられているディスプレイの領域を決定することを含む。点ではなく、領域を決定することにより、領域がユーザインタフェースの要素に対応している場合、改善された技術は、システムによる、決定された領域が選択されている要素の起動を可能にする。いくつかの実施態様では、システムは、畳込みニューラルネットワークを含む分類エンジンを使用して決定し、このようなエンジンは、ユーザの眼の画像を入力として獲得し、注視が複数の領域の各々に向けられている確率のリストを出力する。
【0006】
一般的な一態様では、方法は、ある瞬間にディスプレイを見ているユーザの眼の少なくとも1つの画像を表す画像データを受け取ることを含むことができ、ディスプレイは複数の領域を含み、拡張現実感(AR)アプリケーションで動作するように構成され、複数の領域の各々は複数のピクセルを含み、ユーザインタフェースのそれぞれの要素に対応する。方法は、画像データに基づいて、ディスプレイの複数の領域のうち、その瞬間にユーザの注視が向けられている領域を識別することを同じく含むことができ、この識別は、ユーザの眼の少なくとも1つの画像を、複数の領域のうちの1つに向けられているものとして注視を分類するように構成された分類エンジンに入力することを含む。方法は、識別された領域が対応しているユーザインタフェースの要素を起動することをさらに含むことができる。
【0007】
別の一般的な態様では、コンピュータプログラム製品は非一時的記憶媒体を備え、コンピュータプログラム製品は、コンピューティングデバイスの処理回路機構によって実行されると、その処理回路機構が方法を実施することになるコードを含む。方法は、ある瞬間にディスプレイを見ているユーザの眼の少なくとも1つの画像を表す画像データを受け取ることを含むことができ、ディスプレイは複数の領域を含み、拡張現実感(AR)アプリケーションで動作するように構成され、複数の領域の各々は複数のピクセルを含み、ユーザインタフェースのそれぞれの要素に対応する。方法は、画像データに基づいて、ディスプレイの複数の領域のうち、その瞬間にユーザの注視が向けられている領域を識別することを同じく含むことができ、この識別は、ユーザの眼の少なくとも1つの画像を、複数の領域のうちの1つに向けられているものとして注視を分類するように構成された分類エンジンに入力することを含む。方法は、識別された領域が対応しているユーザインタフェースの要素を起動することをさらに含むことができる。
【0008】
別の一般的な態様では、電子装置は、メモリおよびメモリに結合された制御回路機構を備える。制御回路機構は、ある瞬間にディスプレイを見ているユーザの眼の少なくとも1つの画像を表す画像データを受け取るように構成することができ、ディスプレイは複数の領域を含み、拡張現実感(AR)アプリケーションで動作するように構成され、複数の領域の各々は複数のピクセルを含み、ユーザインタフェースのそれぞれの要素に対応する。制御回路機構は、画像データに基づいて、ディスプレイの複数の領域のうち、その瞬間にユーザの注視が向けられている領域を識別するように同じく構成することができ、この識別は、ユーザの眼の少なくとも1つの画像を、複数の領域のうちの1つに向けられているものとして注視を分類するように構成された分類エンジンに入力することを含む。制御回路機構は、識別された領域が対応しているユーザインタフェースの要素を起動するようにさらに構成することができる。
【0009】
以下、1つまたは複数の実施態様について、添付の図面および説明の中で詳細に示す。他の特徴は、説明および図面から、また、特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0010】
図1A】拡張現実感(AR)システムに使用される例示的スマート眼鏡を示す図である。
図1B】本明細書において説明される改善された技術を実現することができる例示的電子環境を示す図である。
図2A】起動された領域を含む、ディスプレイ上の例示的領域を示す図である。
図2B】この場合、領域は連続していなくてもよい、起動された領域を含む、ディスプレイ上の例示的領域を示す図である。
図3A】ユーザの眼の画像を、特定の領域に向けられた注視を有している、として分類するように構成された例示的畳込みニューラルネットワーク(CNN)を示す図である。
図3B】ユーザの眼の画像を分類し、かつ、注視が向けられている特定の点を決定するように構成された例示的畳込みニューラルネットワーク(CNN)を示す図である。
図4】この場合、異なる領域すなわちタイル幾何学に対して適合するように構成されたCNNの別の分岐を形成する例示的畳込み層を示す図である。
図5】電子環境内で改善された技術を実施する例示的方法を示すフローチャートである。
図6】説明される技術を実現するために使用することができるコンピュータデバイスおよびモバイルコンピュータデバイスの例を示す図である。
【発明を実施するための形態】
【0011】
詳細な説明
従来の視線方向追跡器は、ユーザの眼が最も見ていそうな透明ディスプレイのピクセルを予測するように構成されている。例えば従来の視線方向追跡器は、透明ディスプレイのためのピクセル-ベースヒートマップを引き出すことができ、各々のピクセルは、ユーザがそのピクセルを見ている確率に基づく色を有している。
【0012】
従来の視線方向追跡器の出力は、透明ディスプレイのピクセルの識別を対象としているため、ユーザの注視を追跡するための上で説明した従来の手法が抱えている技術的問題は、従来の視線方向追跡器は資源集約的であり、また、誤りがちであり得ることである。例えば従来の視線方向追跡器は、ユーザが最も見ていそうなピクセルを識別することができるが、透明ディスプレイ上に描写された何らかの内容でこのようなピクセルを識別することはできない。したがってこのような視線方向追跡器を使用しているシステムには、場合によってはそのピクセルを表示された内容にマップすることが同じく必要であり、このようなマッピングは、場合によっては他のタスクのために必要なコンピューティング資源を消費し、また、ユーザの経験を妨害し得る。
【0013】
本明細書において説明される実施態様によれば、上で説明した技術的問題に対する技術的解決法は、ユーザの注視が向けられているディスプレイの領域を識別することを含み、領域は複数のピクセルを含む。点ではなく、領域を決定することにより、領域がユーザインタフェースの要素に対応している場合、改善された技術は、システムによる、決定された領域が選択されている要素の起動を可能にする。いくつかの実施態様では、システムは、畳込みニューラルネットワークを含む分類エンジンを使用して決定し、このようなエンジンは、ユーザの眼の画像を入力として獲得し、注視が複数の領域の各々に向けられている確率のリストを出力する。
【0014】
開示される実施態様の技術的利点は、このような実施態様が使用するコンピューティング資源がより少なく、また、誤りがより少ないことである。例えばいくつかの実施態様では、領域は、ユーザインタフェース要素、例えばディスプレイ上に描写された内容を含むウィンドウと関連付けることができ、ディスプレイ上のウィンドウを起動するためにこのような関連付けが使用するコンピューティング資源は、従来の視線方向追跡器が実施しているように、識別されたピクセルをこのようなウィンドウにマッピングするために使用するコンピューティング資源より少ない。
【0015】
上で説明した従来の手法とは対照的に、改善された技術の出力は、個別のピクセルではなく、領域に対応する可能性のベクトルであることに留意されたい。したがってこの出力のサイズは、従来の手法のサイズよりはるかに小さい。
【0016】
図1Aは、ヘッドとして拡張現実感(AR)システムに使用される例示的スマート眼鏡110を示す図である。図1Aは、スマート眼鏡110の透明ディスプレイ112のワールドサイド112(a)を示している。スマート眼鏡110は、ARシステム内のヘッド-マウンテドディスプレイ(HMD)として使用することができる。スマート眼鏡110はフレーム111を含み、フレーム111には透明ディスプレイ112が結合されている。いくつかの実施態様では、音響出力デバイス113がフレーム111に結合されている。いくつかの実施態様では、ユーザは、タッチ表面114によってスマート眼鏡110の入力、等々を制御することができる。スマート眼鏡110は、様々な知覚システムデバイスを含む知覚システム116、およびスマート眼鏡110の操作を容易にする様々な制御システムデバイスを含む制御システム117を含むことができる。制御システム117は、制御システム117の構成要素に動作可能に結合されたプロセッサ119、および外部デバイスおよび/またはネットワークとの通信を提供する通信モジュール115を含むことができる。また、スマート眼鏡110は、画像センサ118(すなわちカメラ118)、深度センサ、光センサおよび他のこのような知覚デバイスを同じく含むことができる。いくつかの実施態様では、画像センサ118すなわちカメラ118は、静止画像および/または動画像、パターン、特徴、光、等々を捕獲することができる。
【0017】
いくつかの実施態様では、スマート眼鏡110は、透明ディスプレイを含む任意の種類のHMDに置き換えることができ、HMDの形態は必ずしも着用可能眼鏡またはゴーグルではないことに留意されたい。例えば1つのこのようなHMDは、AR内容を表示し、かつ、ワールド-サイド環境の観察を許容するように構成されたビューファインダーを備えたカメラの形態を取ることができる。
【0018】
図1Bは、上で説明した技術的解決法を実現することができる例示的電子環境100を示す図である。コンピュータ120は、ユーザの注視が向けられているディスプレイの領域を決定するように構成されている。
【0019】
コンピュータ120は、ネットワークインタフェース122、1つまたは複数の処理ユニット124およびメモリ126を含む。ネットワークインタフェース122は、ネットワーク150から受け取った電子信号および/または光信号をコンピュータ120が使用するための電子形態に変換するための例えばイーサネット(登録商標)アダプタ、等々を含む。処理ユニット124のセットは、1つまたは複数の処理チップおよび/またはアセンブリを含む。メモリ126は、揮発性メモリ(例えばRAM)と、1つまたは複数のROM、ディスクドライブ、ソリッドステートドライブ、等々などの不揮発性メモリの両方を含む。処理ユニット124のセットおよびメモリ126は、相俟って、本明細書において説明されている様々な方法および機能を実施するように構成され、かつ、配置されている制御回路機構を形成している。
【0020】
いくつかの実施態様では、コンピュータ120の複数の構成要素のうちの1つまたは複数は、メモリ126に記憶されている命令を処理するように構成されたプロセッサ(例えば処理ユニット124)であってもよく、あるいはそのようなプロセッサ(例えば処理ユニット124)を含むことができる。図1に示されているこのような命令の例は、入力管理プログラム130、分類管理プログラム140および起動管理プログラムを含む。さらに、図1に示されているように、メモリ126は様々なデータを記憶するように構成されており、この様々なデータについては、このようなデータを使用するそれぞれの管理プログラムに関連して説明される。
【0021】
入力管理プログラム130は、画像データ132、領域データ134、スリッページデータ136およびユーザデータ138などの入力データを受け取るように構成されている。いくつかの実施態様では、ディスプレイ、例えば透明ディスプレイ112(図1A)に接続されたハードウェアを介して様々な入力データが捕獲される。例えばハードウェアは、ユーザの眼の画像を捕獲するように構成されたカメラ、例えばカメラ118を含むことができる。いくつかの実施態様では、ハードウェアは、スリッページデータ136およびユーザデータ138などの入力データを獲得するためのジャイロスコープ、磁力計、GPSレシーバ、等々のうちのいずれかを含む。いくつかの実施態様では、入力管理プログラム130は、ネットワークインタフェース122を介して入力データを受け取るように構成されている。
【0022】
画像データ132はユーザの眼の少なくとも1つの画像を表している。画像データ132は分類管理プログラム140に入力されるようになされている。いくつかの実施態様では、画像データ132は、注視方向を追跡するためのユーザの眼の一連の画像を表している。いくつかの実施態様では、この一連の画像は、ユーザの眼の動きを追跡するビデオのフレームである。
【0023】
領域データ134はディスプレイの領域を表している。複数の領域の各々はディスプレイの複数のピクセルを含む。いくつかの実施態様では、各々の領域は、ユーザインタフェースのそれぞれの要素、例えばユーザによって観察される内容を含むウィンドウと対応している。いくつかの実施態様では、各々の領域はピクセルのアレイを含む長方形の形を有している。いくつかの実施態様では、少なくとも1つの領域は非連続であり、複数の長方形を含む。いくつかの実施態様では、領域データ134は各々の領域を識別する識別子を含む。
【0024】
スリッページデータ136は、ディスプレイがスマート眼鏡に使用される透明ディスプレイである実施態様に対して、ユーザの顔の公称場所からのスマート眼鏡のスリッページの程度に対応するパラメータ値を表している。注視追跡システムの公称構成では、眼は、ディスプレイに対して既知の(設計された)姿勢で公称場所に存在している。着用している間、眼鏡の位置をこの公称場所から変更することができる(鼻の上でのスリップ、ユーザによる調整、等々)。スリッページが生じると、眼と眼追跡カメラの間の姿勢が変化し、ユーザの眼の画像が公称構成の場合とは異なって出現する。さらに、スマート眼鏡のスリッページに応じてディスプレイの位置が変化するため、注視角度も異なることになる。したがっていくつかの実施態様では、スリッページデータ136は、パラメータ値として、カメラに対する眼の位置の予測を含む。いくつかの実施態様では、このような相対的な眼の位置は三次元ベクトルとして表現される。いくつかの実施態様では、このような相対的な眼の位置は球上の角座標として表現される。
【0025】
ユーザデータ138は、ユーザの注視が向けられている領域の決定に影響を及ぼし得る、ユーザ同士の間の物理的相違を記述しているパラメータ値を表している。例えば眼の外観、視軸、頭の形、等々のユーザ相違は、すべて決定の精度に影響を及ぼし得る。したがっていくつかの実施態様では、ユーザデータ138は、眼の外観、視軸および頭の形を定義しているパラメータの値を表している。いくつかの実施態様では、このようなパラメータ値は、画像データ134から直接推測される。
【0026】
分類管理プログラム140は、ユーザの注視が向けられているディスプレイの領域を決定し、それにより少なくとも画像データ132に基づいて分類データ144を生成するように構成されている。いくつかの実施態様では、分類データ144は、領域データ134、スリッページデータ136およびユーザデータ138のうちのいずれかに基づいている。分類管理プログラム140は、いくつかの実施態様では、分類エンジンとして作用する畳込みニューラルネットワーク(CNN)の少なくとも1つの分岐を含む。分類管理プログラム140は訓練管理プログラム141および識別管理プログラム144を含む。分類データ144は訓練データ145および識別データ146を含む。
【0027】
いくつかの実施態様では、CNNは画像データ132を入力として獲得する。いくつかの実施態様では、CNNは、領域データ134、スリッページデータ136およびユーザデータ138のうちのいずれかを同じく入力として獲得する。いくつかの実施態様では、CNNは規定された数の層を有しており、そのうちの1つは出力を生成する出力層である。このようなニューラルネットワークは分類結果を生成するように構成されており、ディスプレイのその領域はユーザの注視が向けられている領域である。いくつかの実施態様では、出力は、ユーザの注視が各々の領域に向けられている可能性を示す値のベクトルを含む。
【0028】
訓練管理プログラム141は、分類エンジン、すなわち訓練データ145に基づいてニューラルネットワークを生成するように構成されている。例えばいくつかの実施態様では、訓練データ145は、ユーザの眼の画像と共に、その画像が撮影された時にユーザの注視が向けられていた領域の対応する識別子を表している。訓練管理プログラム141は、次に、ニューラルネットワークの隠れている層の内のノードの重みを調整して、規定された損失関数を最適化する。いくつかの実施態様では、損失関数は、上で説明したCNNなどの多重-クラス分類エンジンのために適した分類別交差エントロピーを含む。いくつかの実施態様では、損失関数はKullback-Leibler発散損失を含む。いくつかの実施態様では、分類エンジンは、領域データ134に基づいて、異なる領域レイアウトに対する較正を学習し、さらなる詳細は図4に関連して示される。訓練管理プログラム141、およびニューラルネットワークのアーキテクチャを表す他のデータによって調整された重みは分類データ144に含まれている。
【0029】
識別管理プログラム142は、画像データ132を分類して、ユーザの注視が向けられているディスプレイの領域を識別するように構成されている。図1Bに示されているように、分類データ144は識別管理プログラム142から出力された識別データ146を含む。いくつかの実施態様では、識別データ146は、可能性の値、例えばユーザの注視がディスプレイの複数の領域の各々に向けられている確率のベクトルを表している。
【0030】
いくつかの実施態様では、識別管理プログラム142は、分類エンジンを訓練するために使用される、上で説明した損失関数に基づいて分類データを生成するように構成されている。いくつかの実施態様では、識別管理プログラム142は、領域データ134、スリッページデータ136およびユーザデータ138のいずれかを入力として受け入れるように構成されている。いくつかの実施態様では、訓練データ145は、ユーザの注視が向けられている領域の識別子と結合された領域データ、スリッページデータおよびユーザデータを含む。いくつかの実施態様では、上記のタイプのデータの各々を使用して分類エンジンの追加分岐が生成され、さらなる詳細は図4に関連して示される。
【0031】
いくつかの実施態様では、領域データ134で説明した領域の各々は、ユーザインタフェースの要素、例えばウィンドウに対応している。起動管理プログラム150は、そのユーザインタフェース要素が、ユーザの注視が向けられている領域であることが決定された領域に対応していることに応答して、ディスプレイ上のユーザインタフェース要素を起動するように構成されている。例えばユーザの注視があるウィンドウに対応するディスプレイのある領域に向けられていることが決定され、例えばそのウィンドウがその領域に含まれ、そのウィンドウがその領域であり、等々である場合、起動管理プログラム150はそのウィンドウを起動する、すなわちそのタイトルバーを強調し、かつ、他のウィンドウのタイトルバーを暗くすることによってそのウィンドウをアクティブにするように構成されている。ディスプレイをスマート眼鏡の中に埋め込む必要がある実施態様では、ユーザは、例えば音声コマンドを使用して、ウィンドウに表示された内容に対する操作を実施することができる。ユーザが自身の注視を別の領域に向け、分類管理プログラム140が他の領域を、ユーザの注視が向けられている領域、として識別すると、起動管理プログラム150は、上記他の領域に対応するウィンドウを起動する。
【0032】
ユーザデバイス120の構成要素(例えばモジュール、処理ユニット124)は、1つまたは複数のタイプのハードウェア、ソフトウェア、ファームウェア、オペレーティングシステム、ランタイムライブラリおよび/または等々を含むことができる1つまたは複数のプラットフォーム(例えば1つまたは複数の同様の、または異なるプラットフォーム)に基づいて動作するように構成することができる。いくつかの実施態様では、コンピュータ120の構成要素は、デバイスのクラスター(例えばサーバファーム)内で動作するように構成することができる。このような実施態様では、コンピュータ120の構成要素の機能性および処理は、デバイスのクラスターのいくつかのデバイスに分散させることができる。
【0033】
コンピュータ120の構成要素は、属性を処理するように構成された任意のタイプのハードウェアおよび/またはソフトウェアであってもよく、あるいはそのようなハードウェアおよび/またはソフトウェアを含むことができる。いくつかの実施態様では、図1Bのコンピュータ120の構成要素で示されている構成要素のうちの1つまたは複数の部分は、ハードウェア-ベースモジュール(例えばデジタル信号プロセッサ(DSP)、書替え可能ゲートアレイ(FPGA)、メモリ)、ファームウェアモジュールおよび/またはソフトウェア-ベースモジュール(例えばコンピュータコードのモジュール、コンピュータで実行することができるコンピュータ可読命令のセット)であってもよく、あるいはそれらを含むことができる。例えばいくつかの実施態様では、コンピュータ120の構成要素のうちの1つまたは複数の部分は、少なくとも1つのプロセッサ(図示せず)によって実行するように構成されたソフトウェアモジュールであってもよく、あるいはそのようなソフトウェアモジュールを含むことができる。いくつかの実施態様では、構成要素の機能性は、図1Bに示されているモジュールおよび/または構成要素とは異なるモジュールおよび/または異なる構成要素に含めることも可能であり、2つの構成要素として示されている機能性を組み合わせて単一の構成要素にすることを含む。
【0034】
示されていないが、いくつかの実施態様では、コンピュータ120の構成要素(またはその一部)は、例えばデータセンター(例えばクラウドコンピューティング環境)、コンピュータシステム、1つまたは複数のサーバ/ホストデバイス、および/または等々内で動作するように構成することができる。いくつかの実施態様では、コンピュータ120の構成要素(またはその一部)はネットワーク内で動作するように構成することができる。したがってコンピュータ120の構成要素(またはその一部)は、1つまたは複数のデバイスおよび/または1つまたは複数のサーバデバイスを含むことができる様々なタイプのネットワーク環境内で機能するように構成することができる。例えばネットワークは、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)および/または等々であってもよく、あるいはそれらを含むことができる。ネットワークは、無線ネットワーク、および/または例えばゲートウェイデバイス、ブリッジ、スイッチおよび/または等々を使用して実現された無線ネットワークであってもよく、あるいはそれらを含むことができる。ネットワークは1つまたは複数のセグメントを含むことができ、および/またはインターネットプロトコル(IP)および/または所有権を主張できるプロトコルなどの様々なプロトコルに基づく部分を有することができる。ネットワークはインターネットの少なくとも一部を含むことができる。
【0035】
いくつかの実施態様では、コンピュータ120の構成要素のうちの1つまたは複数は、メモリに記憶されている命令を処理するように構成されたプロセッサであってもよく、あるいはそのようなプロセッサを含むことができる。例えば入力管理プログラム130(および/またはその一部)、分類管理プログラム140(および/またはその一部)および起動管理プログラム150(および/またはその一部)は、1つまたは複数の機能を実現するためのプロセスに関連する命令を実行するように構成されたプロセッサとメモリの組合せであってもよい。
【0036】
いくつかの実施態様では、メモリ126は、ランダム-アクセスメモリ、ディスクドライブメモリ、フラッシュメモリおよび/または等々などの任意のタイプのメモリであってもよい。いくつかの実施態様では、メモリ126は、VRサーバコンピュータ120の構成要素と関連付けられた2つ以上のメモリ構成要素(例えば2つ以上のRAM構成要素またはディスクドライブメモリ)として実現することができる。いくつかの実施態様では、メモリ126はデータベースメモリであってもよい。いくつかの実施態様では、メモリ126は、非局所メモリであってもよく、あるいは非局所メモリを含むことができる。例えばメモリ126は、複数のデバイス(図示せず)によって共有されるメモリであってもよく、あるいはそのようなメモリを含むことができる。いくつかの実施態様では、メモリ126はネットワーク内のサーバデバイス(図示せず)と関連付けることができ、また、コンピュータ120の構成要素にサービスするように構成することができる。図1に示されているように、メモリ126は、画像訓練データ131、リファレンスオブジェクトデータ136および予測エンジンデータ150を含む様々なデータを記憶するように構成されている。
【0037】
図2Aは、起動された領域220(1)を含むディスプレイ200上の例示的領域220(1~4)を示す図である。いくつかの実施態様では、ディスプレイ200は、ARアプリケーションのためにスマート眼鏡の中に埋め込まれた透明ディスプレイである。いくつかの実施態様では、ディスプレイ200は、スマートフォンまたはタブレットコンピュータなどの携帯型コンピューティングデバイス上のディスプレイである。
【0038】
ディスプレイ200はピクセル210のアレイを含み、各々のピクセルは、表示される内容のビルディングブロックである色またはグレースケールレベルを表している。領域220(1~4)の各々はピクセルのそれぞれのアレイを含む。図2Aに示されているように領域210(1~4)は丸い隅を有しているが、これは決して要求事項ではない。
【0039】
示されている領域220(1)は、ユーザの注視が向けられている領域として識別されており、他の領域220(2~4)はそのようには識別されていない。これは、識別管理プログラム142によって、ユーザの注視が領域220(1)に向けられていることが決定されたことを意味している。分類エンジン140は領域の識別を実時間で実施するように構成されており、したがって領域は、ユーザが自身の注視の方向を変えた場合に、ほとんど待ち時間がなく識別される。したがって図2Aに示されている領域の配置は、ユーザが、現在、領域220(1)を見ていることをほのめかしている。
【0040】
図2Bは、起動された領域260(1)を含むディスプレイ上の例示的領域260(1~4)を示す図であり、この場合、領域は連続していなくてもよい。例えば図2Bに示されているように、領域260(1)は、互いに分離された2つの個別の副領域を含む。このような非連続領域は、例えば副領域が単一のアプリケーションにおいて異なるウィンドウに対応している場合に生じ得る。いくつかの実施態様では、領域260(1)は長方形の形を有していなくてもよいが連続しており、このような実施態様では、領域をいくつかの長方形に分解することができ、あるいはピクセル210の格子上の多角形として領域を画定することができる。
【0041】
識別管理プログラム142には、注視の厳密なピクセルを提供するための眼追跡器は不要であるが、単に注視が向けられている方向の領域を見つけるものが必要であることに留意されたい。図2Aおよび図2Bに示されている例では、注視が領域220(1~4)上である場合、カメラは入力データを提供しなければならないことになる。問題をこの方法で公式化することにより、ユーザの注視を追跡するための精度要求事項を緩めて、所与のユーザインタフェース設計のために必要な精度のみにすることができる。さらに、そのようにすることにより、コンピューテーション時間、電力消費、メモリを低減することができ、また、恐らくは注視追跡をより頑丈にすることができる。
【0042】
図3Aは、ユーザの眼の画像を、特定の領域に向けられた注視を有している、として分類するように構成された例示的畳込みニューラルネットワーク(CNN)300を示す図である。これは、CNN層、プーリング層およびDense層からなる畳込みニューラルネットワーク(CNN)である。入力は、スマート眼鏡フレームに取り付けられ、ユーザの眼を画像化するカメラから獲得される画像である。ネットワークの出力は長さNのベクトルであり、Nは領域の数である。出力ベクトル350における最も大きい値の指数は、注視の識別された領域を与える。任意選択で、最後のDense層の後にソフトマックス層340を追加することができ、ソフトマックス層340は、出力ベクトルの内側の各々の値を0と1の間になるように正規化し、また、そのすべての値を1に合計する。この場合、各々の値は、注視が特定の領域に向けられている確率を表す。いくつかの実施態様では、各々のCNN層は、整流化線形ユニット、シグモイドまたは双曲線正接などの活性化関数を含む。
【0043】
同様の確率(すなわち確率の相違が規定閾値差未満である)を有する2つのクラス、すなわち領域が存在するいくつかの実施態様では、コンピュータ120は、これらの2つの領域のみを描写し、表示することができる。いくつかの実施態様では、コンピュータ120は、表示された2つから領域を手動で選択するようにユーザに要求する。
【0044】
いくつかの実施態様では、領域データ134は、ディスプレイの外側の空間に対する識別子を含み、すなわちどの領域にも含まれていない、また、ピクセルを全く含んでいない新しい領域を画定する。このような実施態様では、ユーザがディスプレイを見ていないことを決定することができる。
【0045】
図3Aに示されているように、入力データ305は2D畳込み層310(1)に導入され、2D畳込み層310(1)にはプーリング層320(1)が後続している。図3に示されている例では、4つの2D畳込み層310(1~4)が存在しており、各々の2D畳込み層にはそれぞれのプーリング層320(1~4)が後続している。示されている4つの畳込み層310(1~4)の各々は3×3のカーネルサイズを有しており、ストライドは2である。2D畳込み層310(1~4)からの出力サイズは、それぞれ16、32、64および128である。
【0046】
これらの畳込み層310(1~4)およびそれらのそれぞれのプーリング層320(1-4)にはDense層330(1)および330(2)が後続している。いくつかの実施態様では、Dense層330(1)および330(2)を使用して、CNNの他の分岐を、畳込み層310(1~4)およびそれらのそれぞれのプーリング層320(1~4)を有している、として定義された分岐に併合している。例えばCNNの第2の分岐を訓練して、領域データ134、スリッページデータ136および/またはユーザデータ138に基づく出力値を生成することができる。Dense層330(1)および330(2)は、次に、領域の配置、ユーザの顔を滑り落ちるスマート眼鏡のあらゆるスリッページ、または他のユーザ特性に基づいて、CNNの第1の分岐によって定義された分類モデルに調整を提供することができる。
【0047】
分類モデルは、訓練データ145を使用して訓練管理プログラム141によって生成される。訓練データ145は、訓練データセットおよびその訓練データセットの中で表されている注視が向けられている領域に対する識別子を表している。訓練データセットは、時間経過に伴うユーザの眼の画像を含む。いくつかの実施態様では、画像は周期的に生成され、例えば1秒毎、0.5秒毎、0.1秒毎、等々毎に生成される。これらの画像および対応する領域識別子は損失関数に入力され、また、層ノードの値は損失関数を最適化することによって生成される。
【0048】
いくつかの実施態様では、領域データ134はピクセル座標または角度の形で表現される。このような実施態様では、訓練管理プログラム141は座標または角度を領域識別子に変換する。いくつかの実施態様では、この変換はルックアップテーブルを使用して達成することができる。いくつかの実施態様では、この変換は、例えば注視ベクトルと領域の中心を表すベクトルとの間のユークリッド距離または余弦距離に従って最も近いタイル中心をコンピューティングすることによって達成される。
【0049】
損失関数は、いくつかの実施態様では、多重-クラス分類問題のために適した分類別交差エントロピーを含む。このような交差-エントロピー損失は、
【0050】
【数1】
【0051】
として数学的に表すことができ、Cはクラスの数(例えばディスプレイ全体にわたる領域の数)、pはクラスiに対するラベル、qはネットワークの出力であり、いくつかの構成ではソフトマックス層の出力である。いくつかの実施態様では、クラスに対するラベルはワン-ホット表現で表現され、例が属しているクラスに対してのみp=1であり、それ以外はp=0である。上記の式は、例(すなわち訓練データ145からの画像)毎の損失を表しており、総損失は、バッチ中のすべての例に対する交差エントロピー損失を合計し、かつ、バッチサイズで割ることによって得られる。
【0052】
いくつかの実施態様では、損失関数はKullback-Leibler発散損失を含む。このようなKullback-Leibler発散損失は、
【0053】
【数2】
【0054】
として数学的に表すことができ、Cはクラスの数(例えばディスプレイ全体にわたる領域の数)、pはクラスiに対するラベル、qはネットワークの出力であり、いくつかの構成ではソフトマックス層の出力である。上記の式は、例(すなわち訓練データからの画像)毎の損失を表しており、総損失は、バッチ中のすべての例に対するKullback-Leibler発散損失を合計し、かつ、バッチサイズで割ることによって得られる。
【0055】
いくつかの実施態様では、損失関数は、注視空間を包含する面積、すなわちユーザが見ることができるすべての場所によって画定されるメトリック空間を最適化するために使用されるトリプレット損失を含み、このようなメトリック空間に画像クラスターを画定することができる。これらの画像クラスターが、今度はアンカー点を画定し、損失関数は、部分的にアンカー点からの距離に基づくことができる。このようなトリプレット損失は、
【0056】
【数3】
【0057】
として数学的に表すことができ、f(x)はニューラルネットワーク変換を表し、Aはアンカー入力(すなわち画像)を表し、Pは正の例であり、Nは負の例である。合計は、(アンカー、正の例、負の例)の全体として可能トリプレットである。αは、すべてのゼロの些細な解決を回避するために使用される、正の例と負の例の間にマージンを導入する小さい数を表している。
【0058】
図3Bは、ユーザの眼の画像を、特定の点に向けられた注視を有している、として分類するように構成された例示的畳込みニューラルネットワーク(CNN)360を示す図である。CNN360は、新しいDense層370(1~4)が存在している点を除き、CNN300(図3A)と同様である。Dense層370(1、2)は図3AのDense層330(1、2)と同様である。しかしながらDense層370(3、4)は、ユーザの注視が向けられているディスプレイ上の最も可能性の高い点の座標を生成するように構成されている。
【0059】
上で言及したように、図3AのDense層330(1)および330(2)、または図3Bの370(1~4)は、領域データ134、スリッページデータ136およびユーザデータ138などの他の入力データに基づく分類モデルの調整を許容している。Dense層、例えばDense層330(1)に出力を提供する例示的分岐が図4に示されている。
【0060】
図4は、この場合、異なる領域すなわちタイル幾何学に対して適合するように構成されたCNN400の別の分岐を形成する例示的畳込み層を示す図である。同様の分岐をスリッページおよびユーザ調整に対して定義することができることに留意されたい。他の分岐の出力は、画像データ132のみを使用してそれからの出力を調整するDense層に供給されている。
【0061】
CNN400は、第1の分岐の畳込み層410の中に入力405を取り込み、第1の出力を第1のDense層を介して連結層440に提供している。第2の分岐では、CNNは、タイル設計420、すなわち領域の配置を学習済み埋込み層430に入力している。この学習済み埋込み層430の出力も同じく連結層440に入力されている。連結層440は、第1のDense層の出力を埋込み層430の出力と連結している。連結された出力を使用して、注視が向けられている領域が決定される。
【0062】
図4に示されている手法以外に、注視が向けられている領域を決定するためのいくつかの代替手法が存在している。いくつかの実施態様では、複数のモデルが訓練され、各々のモデルはそれぞれの構成に対応している。いくつかの実施態様では、訓練は小さい領域上で実施され、構成毎に出力が組み合わされる。いくつかの実施態様では、ネットワークは、ネットワークがすべての構成に対して固定された畳込み層を有し、ただし構成毎に異なるDense層を有するように訓練される。
【0063】
他の入力データに関しても同様の手法を使用することができる。例えばスリッページデータ136に基づくユーザ較正に関して、眼は、ディスプレイに対して既知の(設計された)姿勢で公称場所に存在している。着用している間、眼鏡の位置をこの公称場所から変更することができる(鼻の上でのスリップ、ユーザによる調整、等々)。スリッページが生じると、眼と眼追跡カメラの間の姿勢が変化し、眼の画像が公称構成の場合とは異なって出現する。さらに、眼鏡のスリッページに応じてディスプレイの位置が変化するため、注視角度も異なることになる。そのため、ニューラルネットワークは誤った分類を生成することになり得る。
【0064】
いくつかの実施態様では、カメラに対する眼の姿勢(位置および配向)が推定される。そのために以下の手法を取ることができる。注視分類の結合解除を学習し、また、カメラ(またはディスプレイ)に対する眼の位置の予測を学習するネットワークを訓練する。ディスプレイに対する眼の位置の予測には、眼の画像のうちの注視によって変化しない部分(眼の隅など)を使用することが可能である。これらの画像部分の選択は、例えばアテンションニューラルネットワークモデルを使用して実施することができる。これらの画像部分は2つのセットの画像の中で比較することができ、第1のセットは較正段階からのものであり、また、第2のセットは、注視分類ランタイムの間に捕獲された画像からのものであってもよい。
【0065】
スリッページデータ136を使用して分類モデルを調整する他の代替は、可能なスリッページ位置の有限セットを仮定し、かつ、その有限セットに基づいて眼の位置の分類を実施することを含む。ユーザキューを使用して、スリッページが生じたかどうかを検出することも可能である。最後に、CNNがスリッページによる位置変化に対して不変であるように訓練される腕力手法を使用することも可能である。
【0066】
ユーザデータ138に関して、CNNを較正して、眼の外観、視軸、頭の形、等々の相違を考慮することができる。例えば較正スキームは、ユーザに既知の領域関係を有するディスプレイ上の特定のターゲットを見させることを含む。較正中、眼のカメラ画像が記録され、また、ターゲットの領域識別子がユーザデータ138の一部としてのラベルとして保存される。ユーザデータ138は、次に、以下の方法で使用することができる。
【0067】
・既存の事前訓練済みニューラルネットワークを微調整する
・追加ネットワーク分岐またはとりわけ較正のために追加された構造を訓練する
・入力として較正データのみを取る訓練の間、符号器を学習し、かつ、ユーザ特化埋込み層を予測する
・ユーザデータ138中の眼ランドマークが訓練データ141中の眼ランドマークと整列するよう、画像を整列させる
いくつかの実施態様では、滑らかで、安定した一時的注視がのぞましい。このような実施態様では、以下のように、一時的フィルタリングを使用して、滑らかで、安定した一時的注視を達成することができる。
【0068】
・画像データ132中の連続するビデオフレームからのソフトマックス層出力から平均または中央値スコアをコンピュートする
・畳込み層の出力を取るように構成された帰納的ニューラルネットワーク(RNN)層を組み込み、かつ、頂部のRNNセル(例えば長短-期間メモリセル、GRUセル、等々)を訓練する
・いくつかの実施態様では、固定、衝動性眼球運動または追求として眼の運動を分類する
いくつかの実施態様では、CNNの出力は、領域識別子ならびに注視が向けられているディスプレイ内の予測された場所を含む。
【0069】
図5は、ユーザの注視が向けられている領域を決定する例示的方法500を示すフローチャートである。方法500は、図1Bに関連して説明した複数のソフトウェア構造によって実施することができ、これらのソフトウェア構造はコンピューティング回路機構120のメモリ126に常駐しており、処理ユニット124のセットによって実行され、あるいはコンピューティング回路機構120のメモリに常駐しているソフトウェア構造によって実施することができる。
【0070】
502で、コンピュータ120は、ある瞬間にディスプレイを見ているユーザの眼の少なくとも1つの画像を表す画像データ(例えば画像データ132)を受け取り、ディスプレイは複数の領域(例えば領域220(1~4))を含み、拡張現実感(AR)アプリケーションで(例えばスマート眼鏡110の中で)動作するように構成され、複数の領域の各々は複数のピクセル(例えばピクセル210)を含み、ユーザインタフェースのそれぞれの要素に対応する。
【0071】
504で、コンピュータ120は、画像データに基づいて、ディスプレイの複数の領域のうち、その瞬間にユーザの注視が向けられている領域を識別し、この識別は、ユーザの眼の少なくとも1つの画像を、複数の領域のうちの1つに向けられているものとして注視を分類するように構成された分類エンジンに入力することを含む。
【0072】
506で、コンピュータ120は、識別された領域が対応しているユーザインタフェースの要素を起動する。
【0073】
図6は、汎用コンピュータデバイス600および汎用モバイルコンピュータデバイス650の例を示したものであり、これらは、ここで説明されている技術と共に使用することができる。コンピュータデバイス600は、図1および図2のコンピュータ120の一例示的構成である。
【0074】
図6に示されているように、コンピューティングデバイス600には、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームおよび他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことが意図されている。コンピューティングデバイス650には、パーソナルデジタルアシスタント、セルラー電話、スマートフォンおよび他の同様のコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すことが意図されている。ここで示されている構成要素、それらの接続および関係、ならびにそれらの機能には、単に例示的なものにすぎないことが意味されており、また、本文書で記述され、および/または特許請求されている本発明の実施態様を制限することは意味されていない。
【0075】
コンピューティングデバイス600は、プロセッサ602、メモリ604、記憶デバイス606、メモリ604および高速拡張ポート610に接続する高速インタフェース608、および低速バス614および記憶デバイス606に接続する低速インタフェース612を含む。これらの構成要素602、604、606、608、610および612の各々は、様々なバスを使用して相互接続されており、また、共通のマザーボードの上に取り付けることができ、あるいは適切な他の方法で取り付けることができる。プロセッサ602は、コンピューティングデバイス600内で実行するために命令を処理することができ、命令は、高速インタフェース608に結合されたディスプレイ616などの外部入力/出力デバイス上のGUIのための図形情報を表示するための、メモリ604の中または記憶デバイス606の上に記憶されている命令を含む。他の実施態様では、適切である場合、複数のメモリおよび複数のタイプのメモリと共に複数のプロセッサおよび/または複数のバスを使用することができる。また、複数のコンピューティングデバイス600を接続することができ、各々のデバイスが必要な操作の一部を提供する(例えばサーババンク、ブレードサーバのグループまたは多重プロセッサシステムとして)。
【0076】
メモリ604は、コンピューティングデバイス600内の情報を記憶している。一実施態様では、メモリ604は1つまたは複数の揮発性メモリユニットである。別の実施態様では、メモリ604は1つまたは複数の不揮発性メモリユニットである。メモリ604は、磁気ディスクまたは光ディスクなどの別の形態のコンピュータ可読媒体であってもよい。
【0077】
記憶デバイス606は、コンピューティングデバイス600のための大容量記憶装置を提供することができる。一実施態様では、記憶デバイス606は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイスまたはテープデバイス、フラッシュメモリまたは他の同様のソリッドステートメモリデバイス、あるいは記憶領域ネットワークまたは他の構成のデバイスを含むデバイスのアレイなどのコンピュータ可読媒体であってもよく、あるいはそのようなコンピュータ可読媒体を含むことができる。コンピュータプログラム製品は、情報キャリアの中に触覚可能に埋め込むことができる。コンピュータプログラム製品も、実行されると、上で説明した方法などの1つまたは複数の方法を実施する命令を同じく含むことができる。情報キャリアは、メモリ604、記憶デバイス606またはプロセッサ602上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0078】
高速コントローラ608はコンピューティングデバイス500のための帯域幅集約操作を管理し、一方、低速コントローラ612は、より狭い帯域幅集約操作を管理している。機能のこのような割振りは単に例示的なものにすぎない。一実施態様では、高速コントローラ608は、メモリ604、ディスプレイ616(例えばグラフィックプロセッサまたは加速度計を介して)、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート610に結合されている。実施態様では、低速コントローラ612は記憶デバイス506および低速拡張ポート614に結合されている。様々な通信ポート(例えばUSB、ブルートゥース(登録商標)、イーサネット、無線イーサネット)を含むことができる低速拡張ポートは、キーボード、位置決め装置、スキャナーなどの1つまたは複数の入力/出力デバイス、または例えばネットワークアダプタを介したスイッチまたはルータなどのネットワーキングデバイスに結合することができる。
【0079】
コンピューティングデバイス600は、図に示されているように多くの異なる形態で実現することができる。例えばコンピューティングデバイス600は、標準サーバ620として実現することができ、あるいはこのようなサーバのグループの複数倍として形成することができる。コンピューティングデバイス600はラックサーバシステム624の部分として実現することも同じく可能である。さらに、コンピューティングデバイス600は、ラップトップコンピュータ622などのパーソナルコンピュータの中で実現することも可能である。別法として、コンピューティングデバイス600からの構成要素は、デバイス650などのモバイルデバイス(図示せず)の中の他の構成要素と組み合わせることができる。このようなデバイスの各々は、コンピューティングデバイス600、650のうちの1つまたは複数を含むことができ、また、互いに連絡している複数のコンピューティングデバイス600、650でシステム全体を構築することも可能である。
【0080】
ここで説明されているシステムおよび技術の様々な実施態様は、デジタル電子回路機構、集積回路機構、専用に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェアおよび/またはそれらの組合せの中で実現することができる。これらの様々な実施態様は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または翻訳可能な1つまたは複数のコンピュータプログラムの中の実施態様を含むことができ、少なくとも1つのプログラマブルプロセッサは、記憶システム、少なくとも1つの入力デバイスおよび少なくとも1つの出力デバイスからデータおよび命令を受け取り、また、それらにデータおよび命令を送信するために結合された専用または汎用のプログラマブルプロセッサであってもよい。
【0081】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとして同じく知られている)は、プログラマブルプロセッサのための機械命令を含み、また、高水準手続き形および/またはオブジェクト指向プログラミング言語で、および/またはアセンブリ/機械言語で実現することができる。本明細書において使用されているように、「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受け取る機械可読媒体を含む、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、装置および/またはデバイス(例えば磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を意味している。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を意味している。
【0082】
ユーザとの対話を提供するために、ここで説明されているシステムおよび技術は、情報をユーザに表示するための表示デバイス(例えばCRT(陰極線管)モニタまたはLCD(液晶ディスプレイ)モニタ)、およびユーザがコンピュータに入力を提供することができるキーボードおよび位置決め装置(例えばマウスまたはトラックボール)を有するコンピュータ上で実現することができる。他の種類のデバイスを使用してユーザとの対話を提供することも可能であり、例えばユーザに提供されるフィードバックは、任意の形態の知覚フィードバック(例えば視覚フィードバック、聴覚フィードバックまたは触覚フィードバック)であってもよく、また、ユーザからの入力は、音響入力、音声入力または触覚入力を含む任意の形態で受け取ることができる。
【0083】
ここで説明されているシステムおよび技術は、後置構成要素(例えばデータサーバとして)を含むコンピューティングシステム、またはミドルウェア構成要素(例えばアプリケーションサーバ)を含むコンピューティングシステム、あるいは前置構成要素(例えばユーザがここで説明されているシステムおよび技術の実施態様と対話することができるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ)を含むコンピューティングシステム、もしくはこのような後置構成要素、ミドルウェア構成要素または前置構成要素の任意の組合せの中で実現することができる。システムの構成要素は、任意の形態または任意の媒体のデジタルデータ通信(例えば通信ネットワーク)によって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)およびインターネットがある。
【0084】
コンピューティングシステムはクライアントおよびサーバを含むことができる。クライアントおよびサーバは、通常、互いに遠隔であり、また、典型的には通信ネットワークを介して対話している。クライアントとサーバの関係は、それぞれのコンピュータ上で走るコンピュータプログラムによって生じ、また、クライアント-サーバ関係を互いに有している。
【0085】
以上、多くの実施態様について説明した。しかしながら本明細書の精神および範囲を逸脱することなく、様々な修正を加えることができることは理解されよう。
【0086】
要素が、別の要素の上に存在している、別の要素に接続されている、別の要素に電気接続されている、別の要素に結合されている、別の要素に電気結合されている、として参照されている場合、それは、他の要素の上に直接存在し、他の要素に直接接続され、または他の要素に直接結合されていてもよく、あるいは1つまたは複数の介在する要素が存在していてもよいことも同じく理解されよう。一方、要素が、別の要素の上に直接存在している、別の要素に直接接続されている、または別の要素に直接結合されている、として参照されている場合、介在する要素は存在していない。の上に直接、に直接接続され、またはに直接結合され、という用語は、場合によっては詳細な説明全体を通して使用されていないが、の上に直接存在している、直接接続されている、または直接結合されている、として示されている要素は、そのようなものとして参照することができる。本出願の請求項は、補正して、本明細書において説明されている、または図に示されている例示的関係を記載することができる。
【0087】
説明されている実施態様の特定の特徴は、本明細書において説明されている通りに例証されているが、当業者には、現時点で多くの修正、置換、変更および等価物が思い浮かぶであろう。したがって添付の特許請求の範囲には、実施態様の範囲の範疇としてこのような修正および変更すべてを包含することが意図されていることを理解されたい。それらは、制限するためではなく、単に一例として提示されているにすぎず、形態および詳細に様々な変更を加えることができることを理解されたい。本明細書において説明されている装置および/または方法のあらゆる部分は、相互に排他的な組合せを除き、任意の組合せで組み合わせることができる。本明細書において説明されている実施態様は、説明されている異なる実施態様の機能、構成要素および/または特徴の様々な組合せおよび/または副組合せを含むことができる。
【0088】
さらに、図に示されている論理フローには、所望の結果を達成するための示されている特定の順序または逐次順序は不要である。さらに、他のステップを提供することも可能であり、あるいは説明されているフローからステップを除去することも可能であり、また、他の構成要素を説明されているシステムに追加し、あるいはシステムから除去することも可能である。したがって他の実施態様は、以下の特許請求の範囲の範囲内である。
【0089】
以下、いくつかの例について説明する。
例1 方法であって、ある瞬間にディスプレイを見ているユーザの眼の少なくとも1つの画像を表す画像データを受け取ることを含む。ディスプレイは複数の領域を含み、拡張現実感(AR)アプリケーションで動作するように構成され、複数の領域の各々は複数のピクセルを含み、ユーザインタフェースのそれぞれの要素に対応する。方法は、画像データに基づいて、ディスプレイの複数の領域のうち、その瞬間にユーザの注視が向けられている領域を識別することをさらに含み、この識別は、ユーザの眼の少なくとも1つの画像を、複数の領域のうちの1つに向けられているものとして注視を分類するように構成された分類エンジンに入力することを含む。方法、識別された領域が対応しているユーザインタフェースの要素を起動することとをさらに含む。
【0090】
例2 例1に記載されている方法であって、分類エンジンは畳込みニューラルネットワーク(CNN)を表す第1の分岐を含む。
【0091】
例3 請求項2に記載されている方法であって、分類エンジンは、出力として、複数の領域の領域の数に等しい数の要素を有するベクトルを生成するように構成され、ベクトルの各々の要素は複数の領域のそれぞれの領域に対応する数を含み、その数はユーザの注視が、上記数が対応している領域に向けられている可能性を表す。
【0092】
例4 例3に記載されている方法であって、分類エンジンは、分類エンジンの出力として、複数の領域の各々の領域に対応する可能性として、ゼロとユニティの間の確率を生成するように構成されたソフトマックス層を含み、領域の識別は、識別された領域として、複数の領域のうち、複数の領域のうちの他の領域の各々の確率よりも高い確率を有する領域を選択することをさらに含む。
【0093】
例5 例3に記載されている方法であって、領域の識別は、ディスプレイ上の複数の領域が対応している画像クラスターのセットを表す画像クラスターデータを生成することをさらに含み、分類エンジンは、画像クラスターのセットからの距離に基づく損失関数を含む。
【0094】
例6 例1に記載されている方法であって、分類エンジンを訓練することをさらに含み、訓練は、ユーザの眼の画像と、複数の領域のうちの、ユーザの注視が向けられている領域を識別する領域識別子との間のマッピングに基づいている。
【0095】
例7 例1に記載されている方法であって、ディスプレイはスマート眼鏡の中に埋め込まれた透明ディスプレイである。
【0096】
例8 例7に記載されている方法であって、分類エンジンはニューラルネットワークを表す第2の分岐をさらに含み、方法は、第2の分岐から、画像データに基づいて、スマート眼鏡の上に取り付けられたカメラに対するユーザの眼の姿勢を出力することをさらに含む。
【0097】
例9 例8に記載されている方法であって、分類エンジンはアテンション層を含み、領域の識別は、出力された眼の姿勢に基づいて、ディスプレイの領域に向けられている注視の確率をアテンション層に調整させることをさらに含む。
【0098】
例10 例1に記載されている方法であって、ユーザは第1のユーザであり、分類エンジンはニューラルネットワークを表す第2の分岐をさらに含み、方法は、第1のユーザと第2のユーザの間の相違を示すパラメータ値を第2の分岐に入力することと、パラメータ値に基づいて、ディスプレイの領域に向けられている注視の確率を第2の分岐に調整させることとをさらに含む。
【0099】
例11 例1に記載されている方法であって、ユーザは第1のユーザであり、分類エンジンはニューラルネットワークを表す第2の分岐をさらに含み、方法は、複数の領域の幾何学的構成を示すパラメータ値を第2の分岐に入力することと、パラメータ値に基づいて、ディスプレイの領域に向けられている注視の確率を第2の分岐に調整させることとをさらに含む。
【0100】
例12 例1に記載されている方法であって、ユーザは第1のユーザであり、分類エンジンはニューラルネットワークを表す第2の分岐をさらに含み、方法は、画像データの一時的な滑らかさを示すパラメータ値を第2の分岐に入力することと、パラメータ値に基づいて、ディスプレイの領域に向けられている注視の確率を第2の分岐に調整させることとをさらに含む。
【0101】
例13 非一時的記憶媒体を備えるコンピュータプログラム製品はであって、コンピュータプログラム製品は、コンピュータの処理回路機構によって実行されると、その処理回路機構が方法を実施することになるコードを含み、方法は、ある瞬間にディスプレイを見ているユーザの眼の少なくとも1つの画像を表す画像データを受け取ることを含み、ディスプレイは複数の領域を含み、拡張現実感(AR)アプリケーションで動作するように構成され、複数の領域の各々は複数のピクセルを含み、ユーザインタフェースのそれぞれの要素に対応し、画像データに基づいて、ディスプレイの複数の領域のうち、その瞬間にユーザの注視が向けられている領域を識別することを含み、この識別は、ユーザの眼の少なくとも1つの画像を、複数の領域のうちの1つに向けられているものとして注視を分類するように構成された分類エンジンに入力することを含み、識別された領域が対応しているユーザインタフェースの要素を起動することとを含む。
【0102】
例14 例13に記載されているコンピュータプログラム製品であって、分類エンジンは畳込みニューラルネットワーク(CNN)を表す第1の分岐を含む。
【0103】
例15 例13に記載されているコンピュータプログラム製品であって、分類エンジンは、出力として、複数の領域の各々に対応する数を生成するように構成され、その数はユーザの注視が、上記数が対応している領域に向けられている可能性を表す。
【0104】
例16 例13に記載されているコンピュータプログラム製品であって、方法は、分類エンジンを訓練することをさらに含み、訓練は、ユーザの眼の画像と、複数の領域のうちの、ユーザの注視が向けられている領域を識別する領域識別子との間のマッピングに基づいている。
【0105】
例17 例13に記載されているコンピュータプログラム製品であって、ディスプレイはスマート眼鏡の中に埋め込まれた透明ディスプレイである。
【0106】
例18 例17に記載されているコンピュータプログラム製品であって、分類エンジンはニューラルネットワークを表す第2の分岐をさらに含み、方法は、第2の分岐から、画像データに基づいて、スマート眼鏡の上に取り付けられたカメラに対するユーザの眼の位置および配向を出力することをさらに含む。
【0107】
例19 例18に記載されているコンピュータプログラム製品であって、分類エンジンはアテンション層を含み、領域の識別は、出力された眼の位置および配向に基づいて、ディスプレイの領域に向けられている注視の確率をアテンション層に調整させることをさらに含む。
【0108】
例20 電子装置であって、電子装置は、メモリと、メモリに結合された処理回路機構
とを備える。処理回路機構は、ある瞬間にディスプレイを見ているユーザの眼の少なくとも1つの画像を表す画像データを受け取るように構成され、ディスプレイは複数の領域を含み、拡張現実感(AR)アプリケーションで動作するように構成され、複数の領域の各々は複数のピクセルを含み、ユーザインタフェースのそれぞれの要素に対応し、画像データに基づいて、ディスプレイの複数の領域のうち、その瞬間にユーザの注視が向けられている領域を識別するように構成され、この識別は、ユーザの眼の少なくとも1つの画像を、複数の領域のうちの1つに向けられているものとして注視を分類するように構成された分類エンジンに入力することを含み、識別された領域が対応しているユーザインタフェースの要素を起動するように構成されている。
図1A
図1B
図2A
図2B
図3A
図3B
図4
図5
図6
【国際調査報告】