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

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

▶ オキュラス ブイアール,エルエルシーの特許一覧

特許7528114ヘッドセットカメラからアバターをアニメーション化すること
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-26
(45)【発行日】2024-08-05
(54)【発明の名称】ヘッドセットカメラからアバターをアニメーション化すること
(51)【国際特許分類】
   G06T 1/40 20060101AFI20240729BHJP
   G06N 20/00 20190101ALI20240729BHJP
   G06T 7/00 20170101ALI20240729BHJP
   G06V 10/70 20220101ALI20240729BHJP
   G06F 3/01 20060101ALI20240729BHJP
   G06T 13/40 20110101ALI20240729BHJP
【FI】
G06T1/40
G06N20/00
G06T7/00 350B
G06V10/70
G06F3/01 510
G06T13/40
【請求項の数】 20
(21)【出願番号】P 2021557405
(86)(22)【出願日】2020-06-05
(65)【公表番号】
(43)【公表日】2022-08-17
(86)【国際出願番号】 US2020036407
(87)【国際公開番号】W WO2020256969
(87)【国際公開日】2020-12-24
【審査請求日】2023-03-10
(31)【優先権主張番号】16/449,117
(32)【優先日】2019-06-21
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】515046968
【氏名又は名称】メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】META PLATFORMS TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】弁理士法人World IP
(72)【発明者】
【氏名】サラギ, ジェーソン
(72)【発明者】
【氏名】ウェイ, シー-エン
【審査官】渡部 幸和
(56)【参考文献】
【文献】米国特許出願公開第2018/0158246(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00 - 1/40
G06T 13/40
G06T 17/00 - 19/20
G06N 20/00
G06T 7/00
G06V 10/70
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
命令を具現する1つまたは複数の非一時的コンピュータ可読記憶媒体と、
前記記憶媒体に結合された1つまたは複数のプロセッサであって、
第1のスペクトルドメインにおいてキャプチャされた、ユーザの複数の第1のキャプチャされた画像にアクセスすることと、
第1の機械学習モデルを使用して、前記第1のキャプチャされた画像に基づいて、複数の第1のドメイン転移された画像を生成することであって、前記第1のドメイン転移された画像が第2のスペクトルドメイン中にある、複数の第1のドメイン転移された画像を生成することと、
第1のアバターに基づいて、前記第1のアバターのビューを含む複数の第1のレンダリングされた画像をレンダリングすることであって、前記第1のアバターが前記ユーザの仮想表現である、複数の第1のレンダリングされた画像をレンダリングすることと、
前記第1のドメイン転移された画像と前記第1のレンダリングされた画像との間の比較に基づいて前記第1の機械学習モデルを更新することであって、更新された前記第1の機械学習モデルが、前記第1のスペクトルドメイン中の画像を前記第2のスペクトルドメインにトランスレートするように設定された、前記第1の機械学習モデルを更新することと
を行うために前記命令を実行するように動作可能な、1つまたは複数のプロセッサと
を備える、システム。
【請求項2】
前記プロセッサは、
第2の機械学習モデルを使用して、前記第1のキャプチャされた画像に基づいて前記第1のアバターを生成すること
を行うために前記命令を実行するようにさらに動作可能である、請求項1に記載のシステム。
【請求項3】
前記第1のアバターが、複数のアバターパラメータに基づいてパラメトリック顔モデルを使用してレンダリングされる、請求項1または2に記載のシステム。
【請求項4】
前記第1のドメイン転移された画像中の前記アバターパラメータの分布が、前記第1のレンダリングされた画像中の前記アバターパラメータの分布に対応する、請求項3に記載のシステム。
【請求項5】
前記第1の機械学習モデルが、各第1のドメイン転移された画像と各対応する第1のレンダリングされた画像との間の差に基づく損失関数を使用して更新される、請求項1からのいずれか一項に記載のシステム。
【請求項6】
前記損失関数が、前記画像をキャプチャするカメラ間の1つまたは複数の空間関係にさらに基づく、請求項に記載のシステム。
【請求項7】
前記プロセッサは、
前記第1のスペクトルドメインにおいてキャプチャされた複数の第2のキャプチャされた画像にアクセスすることと、
更新された前記第1の機械学習モデルを使用して、前記第2のキャプチャされた画像に基づいて、複数の第2のドメイン転移された画像を生成することであって、前記第2のドメイン転移された画像が前記第2のスペクトルドメイン中にある、複数の第2のドメイン転移された画像を生成することと、
第2の機械学習モデルを使用して、前記第2のキャプチャされた画像に基づいて第2のアバターを生成することと、
前記第2のアバターに基づいて、前記第2のアバターのビューを含む複数の第2のレンダリングされた画像をレンダリングすることと、
前記第2のドメイン転移された画像と前記第2のレンダリングされた画像との間の比較に基づいて前記第2の機械学習モデルを更新することであって、前記第2の機械学習モデルが、1つまたは複数の第1の入力画像に基づいて、前記第1の入力画像に対応するアバターをレンダリングするための1つまたは複数のアバターパラメータを生成するように設定された、前記第2の機械学習モデルを更新することと
を行うために前記命令を実行するようにさらに動作可能である、請求項1からのいずれか一項に記載のシステム。
【請求項8】
更新された前記第2の機械学習モデルが、前記1つまたは複数の第1の入力画像に基づいて、前記アバターの空間定位を表すポーズ情報を生成するようにさらに設定される、請求項7に記載のシステム。
【請求項9】
前記第1のキャプチャされた画像および前記第2のキャプチャされた画像が、トレーニングヘッドセットに関連するカメラによってキャプチャされる、請求項7または8に記載のシステム。
【請求項10】
前記プロセッサは、
複数の第3のキャプチャされた画像にアクセスすることであって、前記第3のキャプチャされた画像が前記第2のキャプチャされた画像のサブセットからのものである、複数の第3のキャプチャされた画像にアクセスすることと、
更新された前記第2の機械学習モデルを使用して、前記第3のキャプチャされた画像に対応するアバターパラメータを生成することと、
1つまたは複数の第2の入力画像に基づいて、前記第2の入力画像に対応する1つまたは複数のアバターパラメータを生成するために、前記第3のキャプチャされた画像と前記対応するアバターパラメータとの間の前記対応に基づいて第3の機械学習モデルをトレーニングすることと
を行うために前記命令を実行するようにさらに動作可能である、請求項7から9のいずれか一項に記載のシステム。
【請求項11】
前記第3の機械学習モデルが、リアルタイムで、出力されたアバターパラメータを生成する、請求項10に記載のシステム。
【請求項12】
前記第3のキャプチャされた画像が、トレーニングヘッドセットに関連する複数のトレーニングカメラによってキャプチャされ、前記第2の入力画像が、非侵入型ヘッドセットに関連する複数の非侵入型カメラによってキャプチャされる、請求項10または11に記載のシステム。
【請求項13】
前記非侵入型ヘッドセット上の前記非侵入型カメラの位置が、前記トレーニングヘッドセット上の前記トレーニングカメラのサブセットの位置に対応する、請求項12に記載のシステム。
【請求項14】
前記第3の機械学習モデルが、
1次元ベクトルを生成する複数の畳み込みニューラルネットワーク分岐であって、各分岐が、カメラに対応し、前記第1のスペクトルドメインにおいて対応する前記カメラによってキャプチャされた受信された画像を、前記1次元ベクトルのうちの対応する1つにコンバートする、複数の畳み込みニューラルネットワーク分岐と、
前記ベクトルをアバターパラメータにコンバートする多層パーセプトロンと
を備える、請求項10から13のいずれか一項に記載のシステム。
【請求項15】
前記プロセッサは、
前記第1のスペクトルドメインにおいてキャプチャされた複数の第3の画像にアクセスすることであって、前記第3の画像が非侵入型カメラによってキャプチャされ、第2の画像が侵入型カメラによってキャプチャされ、前記非侵入型カメラが前記侵入型カメラよりも数が少ない、複数の第3の画像にアクセスすることと、
前記第3の機械学習モデルを使用して、前記第3の画像に基づいてアバターパラメータを生成することと、
前記アバターパラメータに基づいて、第3のアバターのビューを含む複数の第3のレンダリングされた画像をレンダリングすることと、
前記第3のレンダリングされた画像をユーザに提示することと
を行うために前記命令を実行するようにさらに動作可能である、請求項10から14のいずれか一項に記載のシステム。
【請求項16】
前記システムが第1のグラフィックス処理ユニット(GPU)および第2のGPUをさらに備え、前記プロセッサが、
前記第1のスペクトルドメインにおいてキャプチャされた、第1のユーザの複数の画像にアクセスすることと、
前記第1のGPU上で前記第3の機械学習モデルを実行することによって、前記第1のユーザの前記画像に基づいて第1のアバターパラメータを生成することと、
通信ネットワークを介して、前記第1のアバターパラメータを第2のユーザのコンピューティングデバイスに送ることと
を行うために前記命令を実行するようにさらに動作可能である、請求項10から15のいずれか一項に記載のシステム。
【請求項17】
前記プロセッサが、
前記通信ネットワークを介して、第2のアバターパラメータを前記第2のユーザの前記コンピューティングデバイスから受信することと、
前記第2のGPUを使用して、および前記第2のアバターパラメータに基づいて、前記第2のユーザのアバターのビューを含む複数の第3のレンダリングされた画像をレンダリングすることと、
前記第3のレンダリングされた画像を前記第1のユーザに提示することと
を行うために前記命令を実行するようにさらに動作可能である、請求項16に記載のシステム。
【請求項18】
前記第1のスペクトルドメインが赤外線であり、前記第2のスペクトルドメインが可視光である、請求項1から17のいずれか一項に記載のシステム。
【請求項19】
ソフトウェアを具現する1つまたは複数のコンピュータ可読非一時的記憶媒体であって、前記ソフトウェアは、実行されたとき、
第1のスペクトルドメインにおいてキャプチャされた、ユーザの複数の第1のキャプチャされた画像にアクセスすることと、
第1の機械学習モデルを使用して、前記第1のキャプチャされた画像に基づいて、複数の第1のドメイン転移された画像を生成することであって、前記第1のドメイン転移された画像が第2のスペクトルドメイン中にある、複数の第1のドメイン転移された画像を生成することと、
第1のアバターに基づいて、前記第1のアバターのビューを含む複数の第1のレンダリングされた画像をレンダリングすることであって、前記第1のアバターが前記ユーザの仮想表現である、複数の第1のレンダリングされた画像をレンダリングすることと、
前記第1のドメイン転移された画像と前記第1のレンダリングされた画像との間の比較に基づいて前記第1の機械学習モデルを更新することであって、更新された前記第1の機械学習モデルが、前記第1のスペクトルドメイン中の画像を前記第2のスペクトルドメインにトランスレートするように設定された、前記第1の機械学習モデルを更新することと
を行うように動作可能である、1つまたは複数のコンピュータ可読非一時的記憶媒体。
【請求項20】
コンピューティングデバイスによって、第1のスペクトルドメインにおいてキャプチャされた、ユーザの複数の第1のキャプチャされた画像にアクセスすることと、
前記コンピューティングデバイスによって、第1の機械学習モデルを使用して、前記第1のキャプチャされた画像に基づいて、複数の第1のドメイン転移された画像を生成することであって、前記第1のドメイン転移された画像が第2のスペクトルドメイン中にある、複数の第1のドメイン転移された画像を生成することと、
前記コンピューティングデバイスによって、第1のアバターに基づいて、前記第1のアバターのビューを含む複数の第1のレンダリングされた画像をレンダリングすることであって、前記第1のアバターが前記ユーザの仮想表現である、複数の第1のレンダリングされた画像をレンダリングすることと、
前記コンピューティングデバイスによって、前記第1のドメイン転移された画像と前記第1のレンダリングされた画像との間の比較に基づいて前記第1の機械学習モデルを更新することであって、更新された前記第1の機械学習モデルが、前記第1のスペクトルドメイン中の画像を前記第2のスペクトルドメインにトランスレートするように設定された、前記第1の機械学習モデルを更新することと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、その内容全体がすべての目的のために参照により本明細書に組み込まれる、2019年6月21日に出願された米国出願第16/449,117号からの優先権を主張する。
【0002】
本開示は、一般に、AR/VRヘッドセット上に取り付けられたカメラからのキャプチャされた顔画像を、ユーザのグラフィカル表現にマッピングすることに関する。
【背景技術】
【0003】
人工現実は、ユーザへの提示の前に何らかの様式で調整された形式の現実であり、これは、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、あるいはそれらの何らかの組合せおよび/または派生物を含み得る。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされたコンテンツ(たとえば、現実世界の写真)と組み合わせられた生成されたコンテンツを含み得る。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはそれらの何らかの組合せを含み得、それらのいずれも、単一のチャネルまたは複数のチャネルにおいて提示され得る(観察者に3次元効果をもたらすステレオビデオなど)。人工現実は、たとえば、人工現実におけるコンテンツを作成するために使用される、および/または人工現実において使用される(たとえば、人工現実におけるアクティビティを実施する)アプリケーション、製品、アクセサリ、サービス、またはそれらの何らかの組合せに関連し得る。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントディスプレイ(HMD)、スタンドアロンHMD、モバイルデバイスまたはコンピューティングシステム、あるいは、1人または複数の観察者に人工現実コンテンツを提供することが可能な任意の他のハードウェアプラットフォームを含む、様々なプラットフォーム上に実装され得る。
【発明の概要】
【0004】
本発明の第1の態様によれば、命令を具現する1つまたは複数の非一時的コンピュータ可読記憶媒体と、記憶媒体に結合された1つまたは複数のプロセッサであって、第1のスペクトルドメインにおいてキャプチャされた、ユーザの複数の第1のキャプチャされた画像にアクセスすることと、第1の機械学習モデルを使用して、第1のキャプチャされた画像に基づいて、複数の第1のドメイン転移された(domain-transferred)画像を生成することであって、第1のドメイン転移された画像が第2のスペクトルドメイン中にある、複数の第1のドメイン転移された画像を生成することと、第1のアバターに基づいて、第1のアバターのビューを含む複数の第1のレンダリングされた画像をレンダリングすることであって、第1のアバターがユーザの仮想表現である、複数の第1のレンダリングされた画像をレンダリングすることと、第1のドメイン転移された画像と第1のレンダリングされた画像との間の比較に基づいて第1の機械学習モデルを更新することであって、更新された第1の機械学習モデルが、第1のスペクトルドメイン中の画像を第2のスペクトルドメインにトランスレート(translate)するように設定された、第1の機械学習モデルを更新することとを
行うために命令を実行するように動作可能な、1つまたは複数のプロセッサとを備えるシステムが提供される。
【0005】
プロセッサは、第2の機械学習モデルを使用して、第1のキャプチャされた画像に基づいて第1のアバターを生成することを行うために命令を実行するようにさらに動作可能であり得る。
【0006】
第1のアバターは、複数のアバターパラメータに基づいてパラメトリック顔モデルを使用してレンダリングされ得る。
【0007】
第1のドメイン転移された画像中のアバターパラメータの分布は、第1のレンダリングされた画像中のアバターパラメータの分布に対応し得る。
【0008】
第1の機械学習モデルは、各第1のドメイン転移された画像と各対応する第1のレンダリングされた画像との間の差に基づく損失関数を使用して更新され得る。
【0009】
損失関数は、画像をキャプチャするカメラ間の1つまたは複数の空間関係にさらに基づき得る。
【0010】
プロセッサは、第1のスペクトルドメインにおいてキャプチャされた複数の第2のキャプチャされた画像にアクセスすることと、更新された第1の機械学習モデルを使用して、第2のキャプチャされた画像に基づいて、複数の第2のドメイン転移された画像を生成することであって、第2のドメイン転移された画像が第2のスペクトルドメイン中にある、複数の第2のドメイン転移された画像を生成することと、第2の機械学習モデルを使用して、第2のキャプチャされた画像に基づいて第2のアバターを生成することと、第2のアバターに基づいて、第2のアバターのビューを含む複数の第2のレンダリングされた画像をレンダリングすることと、第2のドメイン転移された画像と第2のレンダリングされた画像との間の比較に基づいて第2の機械学習モデルを更新することであって、第2の機械学習モデルが、1つまたは複数の第1の入力画像に基づいて、第1の入力画像に対応するアバターをレンダリングするための1つまたは複数のアバターパラメータを生成するように設定された、第2の機械学習モデルを更新することとを行うために命令を実行するようにさらに動作可能であり得る。
【0011】
更新された第2の機械学習モデルは、1つまたは複数の第1の入力画像に基づいて、アバターの空間定位を表すポーズ情報を生成するようにさらに設定され得る。
【0012】
第1のキャプチャされた画像および第2のキャプチャされた画像は、トレーニングヘッドセットに関連するカメラによってキャプチャされ得る。
【0013】
プロセッサは、複数の第3のキャプチャされた画像にアクセスすることであって、第3のキャプチャされた画像が第2のキャプチャされた画像のサブセットからのものである、複数の第3のキャプチャされた画像にアクセスすることと、更新された第2の機械学習モデルを使用して、第3のキャプチャされた画像に対応するアバターパラメータを生成することと、1つまたは複数の第2の入力画像に基づいて第2の入力画像に対応する1つまたは複数のアバターパラメータを生成するために、第3のキャプチャされた画像と対応するアバターパラメータとの間の対応に基づいて第3の機械学習モデルをトレーニングすることとを行うために命令を実行するようにさらに動作可能であり得る。
【0014】
第3の機械学習モデルは、リアルタイムで、出力されたアバターパラメータを生成し得る。
【0015】
第3のキャプチャされた画像は、トレーニングヘッドセットに関連する複数のトレーニングカメラによってキャプチャされ得、第2の入力画像は、非侵入型ヘッドセットに関連する複数の非侵入型カメラによってキャプチャされ得る。
【0016】
非侵入型ヘッドセット上の非侵入型カメラの位置は、トレーニングヘッドセット上のトレーニングカメラのサブセットの位置に対応し得る。
【0017】
第3の機械学習モデルは、1次元ベクトルを生成する複数の畳み込みニューラルネットワーク分岐であって、各分岐が、カメラに対応し、第1のスペクトルドメインにおいて対応するカメラによってキャプチャされた受信された画像を、1次元ベクトルのうちの対応する1つにコンバートする、複数の畳み込みニューラルネットワーク分岐と、ベクトルをアバターパラメータにコンバートする多層パーセプトロンとを備え得る。
【0018】
プロセッサは、第1のスペクトルドメインにおいてキャプチャされた複数の第3の画像にアクセスすることであって、第3の画像が非侵入型カメラによってキャプチャされ、第2の画像が侵入型カメラによってキャプチャされ、非侵入型カメラが侵入型カメラよりも数が少ない、複数の第3の画像にアクセスすることと、第3の機械学習モデルを使用して、第3の画像に基づいてアバターパラメータを生成することと、アバターパラメータに基づいて、第3のアバターのビューを含む複数の第3のレンダリングされた画像をレンダリングすることと、第3のレンダリングされた画像をユーザに提示することとを行うために命令を実行するようにさらに動作可能であり得る。
【0019】
システムは、第1のグラフィックス処理ユニット(GPU)および第2のGPUをさらに備え得、プロセッサは、第1のスペクトルドメインにおいてキャプチャされた、第1のユーザの複数の画像にアクセスすることと、第1のGPU上で第3の機械学習モデルを実行することによって、第1のユーザの画像に基づいて第1のアバターパラメータを生成することと、通信ネットワークを介して、第1のアバターパラメータを第2のユーザのコンピューティングデバイスに送ることとを行うために命令を実行するようにさらに動作可能であり得る。
【0020】
プロセッサは、通信ネットワークを介して、第2のアバターパラメータを第2のユーザのコンピューティングデバイスから受信することと、第2のGPUを使用して、および第2のアバターパラメータに基づいて、第2のユーザのアバターのビューを含む複数の第3のレンダリングされた画像をレンダリングすることと、第3のレンダリングされた画像を第1のユーザに提示することとを行うために命令を実行するようにさらに動作可能であり得る。
【0021】
第1のスペクトルドメインは赤外線であり得、第2のスペクトルドメインは可視光であり得る。
【0022】
本発明の第2の態様によれば、ソフトウェアを具現する1つまたは複数のコンピュータ可読非一時的記憶媒体であって、ソフトウェアは、実行されたとき、第1のスペクトルドメインにおいてキャプチャされた、ユーザの複数の第1のキャプチャされた画像にアクセスすることと、第1の機械学習モデルを使用して、第1のキャプチャされた画像に基づいて、複数の第1のドメイン転移された画像を生成することであって、第1のドメイン転移された画像が第2のスペクトルドメイン中にある、複数の第1のドメイン転移された画像を生成することと、第1のアバターに基づいて、第1のアバターのビューを含む複数の第1のレンダリングされた画像をレンダリングすることであって、第1のアバターがユーザの仮想表現である、複数の第1のレンダリングされた画像をレンダリングすることと、第1のドメイン転移された画像と第1のレンダリングされた画像との間の比較に基づいて第1の機械学習モデルを更新することであって、更新された第1の機械学習モデルが、第1のスペクトルドメイン中の画像を第2のスペクトルドメインにトランスレートするように設定された、第1の機械学習モデルを更新することとを行うように動作可能である、1つまたは複数のコンピュータ可読非一時的記憶媒体が提供される。
【0023】
本発明の第3の態様によれば、コンピューティングデバイスによって、第1のスペクトルドメインにおいてキャプチャされた、ユーザの複数の第1のキャプチャされた画像にアクセスすることと、コンピューティングデバイスによって、第1の機械学習モデルを使用して、第1のキャプチャされた画像に基づいて、複数の第1のドメイン転移された画像を生成することであって、第1のドメイン転移された画像が第2のスペクトルドメイン中にある、複数の第1のドメイン転移された画像を生成することと、コンピューティングデバイスによって、第1のアバターに基づいて、第1のアバターのビューを含む複数の第1のレンダリングされた画像をレンダリングすることであって、第1のアバターがユーザの仮想表現である、複数の第1のレンダリングされた画像をレンダリングすることと、コンピューティングデバイスによって、第1のドメイン転移された画像と第1のレンダリングされた画像との間の比較に基づいて第1の機械学習モデルを更新することであって、更新された第1の機械学習モデルが、第1のスペクトルドメイン中の画像を第2のスペクトルドメインにトランスレートするように設定された、第1の機械学習モデルを更新することとを含む方法が提供される。
【0024】
特定の実施形態では、システムが、ヘッドマウントキャプチャデバイスによってキャプチャされた画像を、ユーザのアバターのステータス(たとえば、顔の表情(facial expression))に自動的にマッピングし得る。ヘッドセットは、顔の部分画像を提供するIRカメラを有し得る。ユーザの顔の顔の表情を模倣するアバターが、ヘッドセットに取り付けられたIRカメラからの画像に基づいてアニメーション化され得る。アバターは、たとえば、テレプレゼンスセッション中に、ユーザおよび他のユーザのヘッドセットによって表示され得る。アバターは、顔の3D形状を表すパラメータのセットを決定することと、3D形状を生成するアバター生成器にパラメータを提供することとによってアニメーション化され得る。
【0025】
IRカメラによって提供される入力に基づいてアバターをアニメーション化することは、IRカメラが、顔の完全なビューではなく、異なる視点(viewpoint)からの顔のクローズアップの斜めのビューの寄せ集めを提供するので、困難である。問題は、IRカメラによって提供される部分的な「画像」に基づいて顔の表情を模倣するアバターを構築することである。特定の実施形態では、追加の、より侵入型のIRカメラを有するトレーニングヘッドセットが、機械学習モデルをトレーニングするために顔の追加のビューをキャプチャするために使用され得、より少ない、あまり侵入型でないカメラを有するヘッドセットが、トレーニングされたモデルとともに使用され得る。しかしながら、トレーニングヘッドセットは、依然として、顔のクローズアップの、斜めのビューの寄せ集めを生成することがある。可視光カメラが、トレーニングプロセスにおいてIRカメラを補うために使用され得るが、可視光カメラは、ヘッドセットによって隠蔽(occlude)された顔の部分のビューを提供しないことがある。さらに、可視スペクトルを検知しないことがあるIRカメラと、可視スペクトルにおいて生成され得るアバターとの間にモダリティギャップがあることがある。その上、キャプチャされたIR画像とユーザの実際の顔の表情との間に(ユーザの実際の顔の表情がAR/VRヘッドセットによって隠蔽されるので)明らかな対応がなく、また、ユーザの実際の顔の表情にマッチするアバターをレンダリングするアバター生成器のための所望のパラメータもない。モダリティギャップは、IRスペクトルにおいてキャプチャされた画像と可視光スペクトルにおいてキャプチャされた画像との間にも存在することがある。キャプチャされたIR画像とキャプチャされた可視光画像との間には、IR画像が、可視光画像とは異なる、顔の部分を示すので、明らかな対応がない。
【0026】
本開示は、キャプチャされたIR画像と、アバターの顔の表情および頭部ポーズを制御するアバターパラメータとの間の対応を決定するための方法を教示する。対応は、レンダリングされたアバター画像にIR画像を転移するためにドメイン転移(domain-transfer)機械学習モデルをトレーニングし、次いで、ドメイン転移機械学習モデルを使用して、IR画像に基づいてアバターパラメータを識別するためにパラメータ抽出機械学習モデルをトレーニングすることによって決定され得る。パラメータ抽出モデルは、次いで、非侵入型カメラ(たとえば、3つのカメラ)によって生成されたIR画像の部分と、パラメータ抽出モデルによって識別された対応するアバターパラメータとの間の対応に基づいて、リアルタイム追跡モデルをトレーニングするために使用され得る。リアルタイム追跡モデルは、非侵入型カメラによって生成されたIR画像に基づいてアバターパラメータを識別するために、非侵入型カメラを有するヘッドセットによって使用され得る。
【0027】
本発明の実施形態は、人工現実システムを含むか、または人工現実システムに関連して実装され得る。人工現実は、ユーザへの提示の前に何らかの様式で調整された形式の現実であり、これは、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、あるいはそれらの何らかの組合せおよび/または派生物を含み得る。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされたコンテンツ(たとえば、現実世界の写真)と組み合わせられた生成されたコンテンツを含み得る。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはそれらの何らかの組合せを含み得、それらのいずれも、単一のチャネルまたは複数のチャネルにおいて提示され得る(観察者に3次元効果をもたらすステレオビデオなど)。さらに、特定の実施形態では、人工現実は、たとえば、人工現実におけるコンテンツを作成するために使用される、および/または人工現実において使用される(たとえば、人工現実におけるアクティビティを実施する)アプリケーション、製品、アクセサリ、サービス、またはそれらの何らかの組合せに関連し得る。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントディスプレイ(HMD)、スタンドアロンHMD、モバイルデバイスまたはコンピューティングシステム、あるいは、1人または複数の観察者に人工現実コンテンツを提供することが可能な任意の他のハードウェアプラットフォームを含む、様々なプラットフォーム上に実装され得る。
【0028】
本明細書で開示される実施形態は例にすぎず、本開示の範囲はそれらに限定されない。特定の実施形態は、上記で開示された実施形態の構成要素、要素、特徴、機能、動作、またはステップのすべてを含むか、いくつかを含むか、またはいずれをも含まないことがある。本発明による実施形態は、特に、方法、記憶媒体、システムおよびコンピュータプログラム製品を対象とする添付の特許請求の範囲で開示され、1つの請求項カテゴリー、たとえば、方法において述べられた任意の特徴は、別の請求項カテゴリー、たとえば、システムにおいても請求され得る。添付の特許請求の範囲における従属関係または参照は、形式的理由で選定されるにすぎない。ただし、前の請求項への意図的な参照(特に複数の従属関係)から生じる主題も請求され得、その結果、請求項とその特徴との任意の組合せが、開示され、添付の特許請求の範囲で選定された従属関係にかかわらず請求され得る。請求され得る主題は、添付の特許請求の範囲に記載の特徴の組合せだけでなく、特許請求の範囲における特徴の任意の他の組合せをも含み、特許請求の範囲において述べられた各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組合せと組み合わせられ得る。さらに、本明細書で説明または示される実施形態および特徴のいずれかは、別個の請求項において、ならびに/あるいは、本明細書で説明もしくは示される任意の実施形態もしくは特徴との、または添付の特許請求の範囲の特徴のいずれかとの任意の組合せで請求され得る。
【図面の簡単な説明】
【0029】
図1A】可視光スペクトルドメインにおいてキャプチャされた画像に基づいてアバターを作成するための例示的な方法を示す図である。
図1B】異なるスペクトルドメイン間で画像を転移するために、ドメイン転移機械学習モデルをトレーニングするための例示的な方法を示す図である。
図2】赤外線スペクトルドメイン中の画像からアバターパラメータを抽出するために、アバターパラメータ抽出機械学習モデルをトレーニングするための例示的な方法を示す図である。
図3】赤外線スペクトルドメイン中の画像からアバターパラメータを抽出するために、リアルタイム追跡モデルをトレーニングするための例示的な方法を示す図である。
図4】リアルタイム追跡モデルを使用して、赤外線画像に基づいてアバターをアニメーション化するための例示的な方法を示す図である。
図5】ドメイン転移機械学習モデルとパラメータ抽出機械学習モデルとをトレーニングすることによって、赤外線画像とアバターパラメータとの間の対応を確立するための例示的なパイプラインを示す図である。
図6A】侵入型赤外線カメラと非侵入型赤外線カメラとを有する例示的なトレーニングヘッドセットを示す図である。
図6B】トレーニングヘッドセットによって生成された例示的な画像を示す図である。
図6C】非侵入型赤外線カメラを有する例示的な追跡ヘッドセットを示す図である。
図6D】追跡ヘッドセットによって生成された例示的な画像を示す図である。
図6E】トレーニングヘッドセットおよび追跡ヘッドセット中のカメラを較正するために使用される例示的な多平面較正パターンを示す図である。
図6F】ヘッドセット上の人間工学的カメラ配置における課題の例を示す図である。
図7】アバターおよびヘッドマウントカメラ画像のテクスチャマップ上の例示的なランドマークを示す図である。
図8】異なるスペクトルドメインにおける画像の空間構造の分布の例示的なマッチングを示す図である。
図9】異なるスペクトルドメイン間のマルチビュー画像ドメイントランスレーションにおける例示的なクロスビューサイクル一貫性(cycle consistency)を示す図である。
図10】マルチビュー画像ドメイントランスレーションのためにトレーニングするための例示的なアルゴリズムを示す図である。
図11】例示的な背景認識微分可能レンダリングを示す図である。
図12】赤外線画像とアバターパラメータとの間の対応を確立するための例示的な方法を示す図である。
図13】例示的なネットワーキング環境を示す図である。
図14】例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【0030】
特定の実施形態では、システムが、ヘッドマウントキャプチャデバイスによってキャプチャされた画像を、ユーザのアバターのステータス(たとえば、顔の表情)に自動的にマッピングし得る。ヘッドセットは、顔の部分画像を提供するIRカメラを有する。ユーザの顔の顔の表情を模倣するアバターが、ヘッドセットに取り付けられたIRカメラからの画像に基づいて生成され得る。アバターは、たとえば、テレプレゼンスセッション中に、ユーザおよび他の人々のヘッドセットによって表示され得る。アバターは、顔の3D形状を表すパラメータのセットを決定することと、3D形状を生成するアバター生成器にパラメータを提供することとによって構築され得る。
【0031】
IRカメラによって提供される入力に基づいてアバターを構築することは、IRカメラが、顔の完全なビューではなく、異なる視点からの顔のクローズアップの斜めのビューの寄せ集めを提供するので、困難である。問題は、IRカメラによって提供される部分的な「画像」に基づいて顔の表情を模倣するアバターを構築することである。特定の実施形態では、追加の、より侵入型のIRカメラを有するトレーニングヘッドセットが、機械学習モデルをトレーニングするために顔の追加のビューをキャプチャするために使用され得、より少ない、あまり侵入型でないカメラを有する追跡ヘッドセットが、トレーニングされたモデルとともに使用され得る。しかしながら、トレーニングヘッドセットは、依然として、顔のクローズアップの、斜めのビューの寄せ集めを生成する。可視光カメラが、トレーニングプロセスにおいてIRカメラを補うために使用され得るが、可視光カメラは、ヘッドセットによって隠蔽された顔の部分のビューを提供しない。さらに、可視スペクトルを検知しないIRカメラと、可視スペクトルにおいて生成されたアバターとの間にモダリティギャップがある。その上、キャプチャされたIR画像とユーザの実際の顔の表情との間に(ユーザの実際の顔の表情がAR/VRヘッドセットによって隠蔽されるので)明らかな対応がなく、また、ユーザの実際の顔の表情にマッチするアバターをレンダリングするアバター生成器のための所望のパラメータもない。モダリティギャップは、IRスペクトルにおいてキャプチャされた画像と可視光スペクトルにおいてキャプチャされた画像との間にも存在する。キャプチャされたIR画像とキャプチャされた可視光画像との間には、IR画像が、可視光画像とは異なる、顔の部分を示すので、明らかな対応がない。
【0032】
本開示は、キャプチャされたIR画像と、アバターの顔の表情および頭部ポーズを制御するアバターパラメータとの間の対応を決定するための方法を教示する。対応は、レンダリングされたアバター画像にIR画像を転移するためにドメイン転移機械学習モデルをトレーニングし、次いで、ドメイン転移機械学習モデルを使用して、IR画像に基づいてアバターパラメータを識別するためにパラメータ抽出機械学習モデルをトレーニングすることによって決定され得る。パラメータ抽出モデルは、次いで、非侵入型カメラ(たとえば、3つのカメラ)によって生成されたIR画像の部分と、パラメータ抽出モデルによって識別された対応するアバターパラメータとの間の対応に基づいて、リアルタイム追跡モデルをトレーニングするために使用され得る。リアルタイム追跡モデルは、非侵入型カメラによって生成されたIR画像に基づいてアバターパラメータを識別するために、非侵入型カメラを有する追跡ヘッドセットによって使用され得る。
【0033】
図1Aは、可視光スペクトルドメインにおいてキャプチャされた画像に基づいてアバターを作成するための例示的な方法を示す。1つまたは複数の可視光(「RGB」)カメラ108が、可視光に基づいて、ユーザ102の1つまたは複数のRGB画像110をキャプチャし得る。RGB画像110をキャプチャするためのRGBカメラ108のこの使用は、本明細書では「モデリングキャプチャ」と呼ばれる。RGBカメラ108は、マルチビューカメラ装置の一部であり得、これは、たとえば、20個、30個、40個、または他の好適な数のRGBカメラ108を含み得る。RGB画像110は、パラメトリック顔モデル109と顔の表情コード113とを作成するために、顔モデルトレーニングプロセス111によって使用され得る。表情コード113は、ユーザの顔の状態の表現であり得、視線方向、口のポーズ、舌の表情など、顔の様相を符号化し得る。顔モデル109および表情コード113は、ユーザ102の顔に対応するアバターをアニメーション化(たとえば、レンダリング)するために使用され得る。
【0034】
図1Bは、異なるスペクトルドメイン間で画像を転移するために、ドメイン転移機械学習(ML)モデル114をトレーニングするための例示的な方法を示す。スペクトルドメインは、赤外線、可視光、または画像がカメラによってキャプチャされ得る他のドメインを含み得る。ユーザ102によって装着されるヘッドセット104は、1つまたは複数の赤外線(IR)画像106をキャプチャし得る、1つまたは複数のIRカメラを有し得る。各IR画像106は、本明細書では「フレーム」と呼ばれることがあり、キャプチャの時間に関連し得る。ヘッドセット104は、特定のスペクトルドメインのカメラのセットを有するトレーニングヘッドセットであり得る。たとえば、トレーニングカメラのセットは、図6Aを参照しながら以下で説明されるように、5つ、9つ、11個、12個、または他の好適な数のIRカメラを含み得る。ドメイン転移MLモデルトレーニングプロセス112は、IR画像106とレンダリングされた画像116とに基づいて、ドメイン転移MLモデル114をトレーニングし得る。レンダリングされた画像116は、RGB画像110から生成された、パラメトリック顔モデル109と顔の表情コード113とに基づいてレンダラ115によってレンダリングされ得る。ドメイン転移MLモデル114は、ヘッドセット104のIRカメラから受信された各フレームに関してトレーニングされ得る。ドメイン転移MLモデル144は、トレーニングされた後に、IRスペクトルにおいて受信されたIR画像106に基づいてRGB(可視光)スペクトルにおいて、ドメイン転移された画像118を生成することによって、画像ドメイン転移を実施し得る。
【0035】
特定の実施形態では、IRスペクトルドメインとRGBスペクトルドメインとの間のマッピングを作るために、IR画像106とドメイン転移されたRGB画像118との間に、顔の表情と頭部ポーズとを含む画像ファクタの同等の分布があるべきである。RGBカメラ108によってキャプチャされたRGB画像110は、ユーザが、たとえば、文章を読みながら、一連の表情をする、会話中に様々な動きを実施する、などを行うので、(トレーニングヘッドセットを装着することなしに)ユーザ102の顔の高解像度画像であり得る。たとえば、ユーザ102は、RGBカメラ108によって撮像されながら、スクリプトに従い得る。ユーザ102は、次いで、トレーニングヘッドセット104を装着しながら、同様のスクリプトに従い得、これは、ヘッドセット104上のIRカメラのセット、たとえば、9つ、11個、または他の好適な数のカメラを使用して、ユーザの顔を撮像し得る。RGB画像110は、IR画像106における顔の表情の分布が、ドメイン転移されたRGB画像118における顔の表情の分布と同等であることを保証するために(および、同様に、2つのドメインにおける頭部ポーズの分布についても)使用され得る。
【0036】
特定の実施形態では、IR画像106は、RGB画像110とは異なる時間においてキャプチャされ得る。ヘッドセット104はユーザの顔の部分を隠蔽し得、ヘッドセット104中のIRカメラは、通常、顔の隠蔽された部分をキャプチャしない。特定の実施形態では、RGBカメラ108は、RGB画像110がキャプチャされるとき、ユーザ102がヘッドセット104を装着していないので、ヘッドセット104中のIRカメラから隠蔽された顔の部分をキャプチャすることができる。RGBスペクトルドメインとIRスペクトルドメインとの間に対応があるが、この対応は、最初は知られていない。RGB画像110とIR画像106とは、ヘッドセット104によるユーザの顔の隠蔽(occlusion)のために、通常、同時にキャプチャされ得ない。したがって、アバターをレンダリングするために、IR画像106と顔の表情コード113との間の対応を識別することが、本明細書で開示される技法によって解決される問題である。対応が、教師あり学習における直接使用について利用可能でないので、ドメイン転移MLモデル114を学習することの問題は、教師なし学習問題として理解され得る。言い換えれば、その問題は、2つのドメインにわたってフレームごとの対応を提供するグランドトゥルース情報なしにIR画像106とRGB画像110との間のマッピングを構築するためにドメイン転移MLモデル114をトレーニングすることである。
【0037】
特定の実施形態では、特定のユーザ102のためにアバターを生成することにおいて使用される、ドメイン転移MLモデル114などのMLモデルは、その特定のユーザの顔の表情に基づいてトレーニングされ得る。アバターが、ヘッドセットカメラからと同じである視点から、ドメイン転移MLモデル114を使用してヘッドセットIR画像から生成されたドメイン転移されたRGB画像に基づいて設定されるとき、アバターの画像は、IR画像106に対応するRGB画像110によってキャプチャされた空間構造との一貫性があるべきである。テクスチャは異なり得るが、眼、鼻孔、口などのロケーションなど、アバター上の顔の特徴のロケーションは、概して、RGB画像において、IR画像106の場合と同じであるべきである。RGBカメラ位置が変化する場合、RGB画像110は、それに応じて変化し、空間構造に関してIR画像106と同じに見えるはずである。トレーニングプロセス112は、図5を参照しながら以下でさらに詳細に説明される。特定の実施形態では、十分なデータが収集され、十分な数の人々についての対応が確立されると、トレーニングプロセス112が各ユーザについて実施されることを必要としないことが可能であり得る。次いで、アバター生成器および追跡システムが、たとえば、各ユーザについて別個のMLモデルをトレーニングすることなしに、ユーザのソーシャルネットワークプロファイルピクチャに基づいて、直接生成され得る。
【0038】
図2は、赤外線スペクトルドメイン中の画像106からアバターパラメータを抽出するために、アバターパラメータ抽出機械学習(ML)モデル206をトレーニングするための例示的な方法を示す。アバターパラメータ抽出モデルトレーニングプロセス204が、IR画像106と、パラメトリック顔モデル109と、ドメイン転移MLモデル114とを使用して、アバターパラメータ抽出モデル206をトレーニングし得る。ドメイン転移MLモデル114は、IR画像106に基づいてドメイン転移されたRGB画像118を生成するために使用され得、アバターパラメータ抽出モデルトレーニングプロセス204は、パラメトリック顔モデル109に、ドメイン転移されたRGB画像118に類似した外観を有するアバターをレンダリングさせる、アバターパラメータを学習し得る。アバターパラメータは、顔の表情コード113と、頭部ポーズ(図示せず)とを含み得る。アバター画像とRGB画像118との間の類似度が、損失関数を使用して測定され得、これは、学習されたアバターパラメータに基づいてレンダリングされたアバターの(たとえば、ピクセルレベルにおける)画像を、ドメイン転移されたRGB画像118と比較し得る。アバターパラメータ抽出モデルトレーニングプロセスは、図5を参照しながら以下でさらに詳細に説明される。
【0039】
図3は、非侵入型カメラからの入力画像312に基づいてアバターパラメータを生成するために、リアルタイム追跡機械学習(ML)モデル318をトレーニングするための例示的な方法を示す。リアルタイム追跡MLモデル318は、IR画像306とアバターパラメータ308との間の対応に基づいて、アバターをアニメーション化するために、入力IR画像320をアバターパラメータ322に直接マッピングするためにトレーニングされ得る。アバターパラメータ308は、顔の表情コードと、頭部ポーズとを含み得る。トレーニングのために使用される(IR画像306とアバターパラメータ308との間の)対応は、アバターパラメータ抽出MLモデル206によって識別され得る。リアルタイム追跡MLモデル318をトレーニングする(および、その後駆動する)ために使用される入力IR画像は、アバターパラメータ抽出モデル206を生成するために使用されるトレーニングカメラのサブセットであり得る、非侵入型IRカメラのセットからのものであり得る。たとえば、非侵入型カメラは、非侵入型ヘッドセット420上の非侵入型ロケーションにおける3つのカメラを含み得、トレーニングカメラは、トレーニングヘッドセット104上の9つのカメラを含み得る。9つのカメラは、非侵入型ヘッドセット420上の非侵入型カメラロケーションと同様の非侵入型ロケーションにおける3つのカメラと、トレーニングヘッドセット104を装着しているユーザに対してより侵入型であるロケーションにあり得る6つの追加のカメラとを含み得る。例示的な非侵入型ヘッドセット420は、図6Cを参照しながら以下で説明される。
【0040】
特定の実施形態では、アバターパラメータ抽出モデル206は、リアルタイム追跡MLモデル318をトレーニングする際に使用するために、9つのトレーニングカメラによってキャプチャされた9つのIR画像306のセットと、対応するアバターパラメータ308のセットとの間の対応を見つけるために使用され得る。リアルタイム追跡MLモデル318は、非侵入型ヘッドセット420とともに使用され得る。非侵入型ヘッドセット420は、トレーニングヘッドセット104よりも少ないカメラを有し得るが、非侵入型ヘッドセット420のカメラの位置は、トレーニングヘッドセット104上のそれぞれのカメラの位置に対応し得る。たとえば、トレーニングヘッドセット104は、非侵入型位置にある3つを含む、9つのカメラを有し得る。非侵入型ヘッドセット420は、トレーニングヘッドセット104上の3つの非侵入型カメラと同様の非侵入型位置において3つのカメラを有し得る。
【0041】
一例として、9つのIR画像306が、(アバターパラメータ抽出モデル206に従って)アバターパラメータ308のセットに対応することが知られているので、アバターパラメータ308のセットは、リアルタイム追跡モデルトレーニングプロセス316などの教師あり学習プロセスにおけるグランドトゥルースとして使用され得る。リアルタイム追跡MLモデル318は、トレーニングヘッドセット104の3つの非侵入型カメラからの3つのIR画像312のセットと、IR画像312に対応する(アバターパラメータ308から選択された)アバターパラメータ314の対応するセットとに基づいてトレーニングされ得る。ブロック310は、それぞれ、トレーニングIR画像306と、トレーニングアバターパラメータ308とから、3つの非侵入型IR画像312の各セットと、対応する非侵入型アバターパラメータ314とを選択し得る。トレーニングされると、リアルタイム追跡MLモデル318は、非侵入型ヘッドセットの非侵入型カメラから受信された3つのIR画像320のセットに基づいて、アバターパラメータ322を直接出力し得る。アバターパラメータは、以下で説明されるように、アバターをアニメーション化するために使用され得る。MLモデルとMLモデルのトレーニングとが特定のスペクトルドメインにおける特定の数の画像に関して説明されるが、MLモデルは、任意の好適なスペクトルドメインにおいて任意の好適な数の画像に関してトレーニングおよび使用され得る。
【0042】
図4は、リアルタイム追跡モデル318を使用して、赤外線画像402に基づいてアバターをアニメーション化するための例示的な方法を示す。IR画像402は、非侵入型ヘッドセット420からキャプチャされ得る。たとえば、(たとえば、トレーニングヘッドセット104からの9つのIR画像106の代わりに)非侵入型ヘッドセット420からの各フレーム中に3つのIR画像402があり得る。リアルタイム追跡モデル312は、アバターパラメータ404を生成し得、アバターパラメータ404は、レンダリングされたアバター408をレンダリングするためにパラメトリック顔モデル406と組み合わせて使用され得る。アバターパラメータ404は、以下で説明されるように、顔の表情およびヘッドセットポーズパラメータを含み得る。
【0043】
図5は、ドメイン転移機械学習モデルとパラメータ抽出機械学習モデルとをトレーニングすることによって、赤外線画像とアバターパラメータとの間の対応を確立するための例示的なパイプラインを示す。特定の実施形態では、パイプラインは、推定された顔の表情113および推定されたポーズ510などのアバターパラメータに基づいて設定され得るアバターとして理解され得る、事前トレーニングされた個人化されたパラメトリック顔モデルD406を使用し得る。パラメトリック顔モデルD406は、アバターパラメータに基づいて、ジオメトリとテクスチャとを含むアバターの表現を生成する、深層外観モデル、たとえば、深層逆畳み込みニューラルネットワークであり得る。推定された顔の表情113は、1次元の潜在的な顔の表情コード
113であり得る。推定されたポーズ510は、(基準カメラによって表される)アバターの基準フレームからヘッドセットへの6DOF剛性ポーズ変換
510であり得る。推定されたポーズ510は、ユーザの頭部からカメラに向かうベクトルとして表される(たとえば、追跡アルゴリズムから推定され得る頭部定位に対する)ビューベクトル(view vector)であり得る。メッシュM514であり得るジオメトリと、テクスチャT516とが、パラメトリック顔モデルD406を使用して、顔の表情コードz113とポーズv510とに基づいて、以下のように生成され得る。
M,T←D(z,v)。 (1)
【0044】
特定の実施形態では、メッシュ
514は、n頂点を備える顔の形状を表し、テクスチャ
516は、生成されたテクスチャである。レンダリングされた画像R506が、メッシュM514と、テクスチャT516と、カメラの投影関数A511とに基づいて、レンダラR115によって、ラスタ化を通して、この形状とテクスチャとから生成され得る。
R←R(M,T,A(v))。 (2)
【0045】
すなわち、ポーズ510は、レンダラR115に送られるより前に、カメラの投影関数A511によって変換され得る。
【0046】
ヘッドセットカメラのセットCから取得されたマルチビュー画像
500があるとすれば、特定の実施形態は、画像500におけるビューに見られるように、ユーザの顔の表情を推定し得る。画像500は、たとえば、侵入型ヘッドセット104上のカメラの9つまたは11個のカメラビューからのものであり得る。損失関数504による比較のために、レンダリングされたアバター画像506を、取得された画像500に最も良く整合させる、潜在的な顔の表情コードz113とヘッドセットポーズv510とを推定することによって、解が識別され得る。特定の実施形態では、このタスクを、記録中に各フレームについて別々に実施する代わりに、これらの属性は、たとえば、数千個のマルチビューフレームを備えるデータセットを介して同時に推定され得る。モデルパラメータθは、アバターパラメータ抽出モデルEθ206(たとえば、予測器ネットワーク)について推定され得、アバターパラメータ抽出モデルEθ206は、{z,v}、画像500の各フレームt∈Tについての顔の表情コード113およびヘッドセットポーズ510を、(時刻に対応し得る)そのフレームについての複数の(たとえば、大部分のまたはすべての)カメラからのデータを一緒に考慮することによって、抽出する。
,v←Eθ(H)。 (3)
【0047】
同じアバターパラメータ抽出モデルE206が、データセット中のすべてのフレームについて(たとえば、各フレームt∈Tについて)使用され得ることに留意されたい。動きによる非剛性構造に類似して、E206をこのようにして使用することは、時間にわたる顔の表情における規則性が最適化プロセスをさらに制約し、その結果を、不十分な局所最小値で終わりにくくさせることができるという、利益を有する。
【0048】
特定の実施形態では、レンダリングされたアバター画像R506と、カメラが取得した画像H500との間のドメインギャップのために、それらの画像は直接比較できない。この非互換性に対処するために、ドメイン転移モデルF114のモデルパラメータΦ(たとえば、ビュー依存ニューラルネットワーク)も学習され得る。
【0049】
この関数F114は、各カメラについて(たとえば、各i∈Cについて)評価され得、各カメラiについて独立したネットワークを備え得る。次いで、合成による分析(analysis-by-synthesis)再構築損失が次のように定式化され得る。
上式で、
506は、知られている投影関数A511を使用してラスタ化された、式(2)からのレンダリングされた顔モデルであり、そのパラメータは、較正されたカメラiから得られ得る。ここで、δは、潜在的な顔の表情z113にわたる正則化項であり、λは、ドメイン転移された画像
502のLノルム再構築に対するそれの寄与を重み付けする(2つの棒が、ドメイン転移された画像とレンダリングされた顔モデルとの間の差のノルムを表す)。
【0050】
特定の実施形態では、一方のネットワーク(たとえば、F114)が他方(たとえば、E206)によって招かれるセマンティクス誤差を補償することができる、解空間(space of solution)があり、これは、小さい再構築誤差につながるが、顔の表情z113およびヘッドセットポーズv510の不正確な推定につながり得る。追加の制約なしに、この現象は、実際にはしばしば起こり得る。この性質は共同的自己監視(collaborative self-supervision)と呼ばれる。ドメインギャップが主に外観差を備えるとき、共同的自己監視は、空間構造を保持しないアーキテクチャにおいてより顕著であり得る。これは、本明細書で開示される特定の実施形態において、潜在的な顔の表情コードz113が、画像のベクトル化された符号化であり得る場合である。
【0051】
したがって、特定の実施形態では、式(5)は、2つの段階に分離され得る。第1に、ドメイン転移モデルF114は、E206とは別々に学習され得る。その後、F114は、明らかな顔の表情(たとえば、セマンティクス)を変更することなしに、ヘッドセット画像H500をドメイン転移された画像
502にコンバートし得る。ドメイン転移MLモデルトレーニングブロック112によって表される第1のトレーニング段階は、ドメイン転移モデルF114をもたらす。パラメータ抽出モデルトレーニングブロック204によって表される第2のトレーニング段階では、F114は固定で保持され得、式(5)が、レンダリングされた画像
506をドメイン転移された画像
502にマッチさせることによって、アバターパラメータ抽出モデルE206をもたらすために、E206に対して最適化され得る。
【0052】
特定の実施形態では、顔の表情保存(facial-expression-preserving)ドメイン転移が、不対画像トランスレーションネットワークに基づき得る。このアーキテクチャは、ドメイン間のサイクリック一貫性と、2つのドメインの各々についての敵対的損失(adversarial loss)とをエンフォースする(enforce)ことによって双方向ドメインマッピング(FΦおよびGΨ114)を学習し得る。したがって、ヘッドセットからレンダへのドメイン転移ネットワークFに加えて、レンダからヘッドセットへの転移ネットワークGも、図9に示されているように、トレーニングされ得る。表情の保存を達成するために、画像の空間構造を修正する生成器の傾向が、低減または除去されるべきである。ランダム初期化が、保持された画像構造にすでにつながる、完全畳み込みアーキテクチャの場合、この傾向は、主に、相対する弁別器がそれらの空間構造から偽の画像を見つけるのを防ぐというプレッシャーから来得る。言い換えれば、特定の実施形態では、ヘッドセットポーズv510と顔の表情z113とによって一緒に決定される、空間構造の分布が平衡している場合、生成器は、それらを修正し始めるというプレッシャーを有しないことがある。
【0053】
特定の実施形態では、空間構造の平衡した分布は、トレーニングするより前に、データセットを準備するときに生成され得る。より詳細には、画像ドメイン転移ネットワークFΦおよびGΨ114をトレーニングするために、{H}500のデータセットカウンターパートが、サイクル敵対的生成ネットワーク(CycleGAN:Cycle Generative Adversarial Network)または他の好適な画像間トランスレーションを適用する前に、画像のセットをレンダリングするためにパラメトリック顔モデルD406を使用して準備され得る。不変に保たれるべきである画像ファクタの分布は、ドメインにわたって同等であるべきである。これらのファクタは、レンダリングが、それぞれ、vおよびzによって制御され得る、ヘッドセットポーズv510および顔の表情z113であり得る。キャプチャされたヘッドセットデータ中の、基礎をなす顔の表情zおよびヘッドセットポーズvは、通常、制御可能でないが、所望の統計値を有するレンダリングされた画像のセット
が、同時分布P(z,v)の推定値
に基づいて生成され得る。しかしながら、ヘッドセットデータについてzとvとを推定することが元の問題であるので、
を近似するために、プロキシが使用され得る。
【0054】
特定の実施形態では、空間構造のマッチする分布が、図8の例において示されている。zとvとの間の独立した分布、または
が仮定され、
とが個々に推定される。顔の表情にわたる分布
について、特定の実施形態は、ユーザが同じ刺激を用いて(たとえば、「モデリング」キャプチャのためのRGBカメラ108と別のキャプチャのためのヘッドセット104のIRカメラとを使用して)2回キャプチャされ得る、データキャプチャプロセスに依拠し得る。2つのキャプチャを使用することは、キャプチャ間のフレーム間マッピングにつながらないことがあるが、顔の表情の統計的分布は同等であると仮定され得る。したがって、モデリングキャプチャのRGBカメラ108からの顔の表情コードz113のセットが、P(z)からの近似サンプルとして使用され得る。
【0055】
特定の実施形態では、ヘッドセットポーズにわたる分布
について、顔モデルD406の3Dジオメトリが、2Dランドマークアノテーションを収集することと、ランドマーク検出器をトレーニングすることとによって、ヘッドセット画像500上の検出されたランドマークに適合され得る。例示的なランドマークが図7に示されている。ランドマーク適合が、単独で、必ずしも顔の表情の正確な推定値をもたらすとは限らないが、ランドマーク適合は、それの低い次元数と変動の限られた範囲とのために、ヘッドセットポーズvについての妥当な推定値を与えることができる。3Dメッシュを2D検出に適合させる際の課題のうちの1つは、メッシュ頂点と検出されたランドマークとの間の対応を定義することである。アノテーションが利用可能であるランドマークセットが、必ずしも、特定のメッシュトポロジーにおける頂点に厳密にマッチするとは限らない。単一の頂点を各ランドマークに手動で割り当てることは、粗いメッシュトポロジーについての準最適な適合結果につながることがある。この問題に対処するために、個別のメッシュを適合させながら、特定の実施形態は、同時に、テクスチャのuv空間
における(たとえば、すべてのフレームにわたって使用される)各ランドマークのメッシュ対応について解決し得、ここで、mは利用可能なランドマークの数である。各ランドマークmを、あらゆるビューのレンダリングされた画像上に投影するために、特定の実施形態は、頂点が
によってインデックス付けされた、その包含する三角形中の現在のuの重心座標
の行ベクトルを計算し、次いで、包含する三角形の3D頂点の投影を線形補間し得、
、ここで、Mは、式(1)からの(顔の形状を表す)メッシュ514である。したがって、以下の最適化問題が解決され得る。
上式で、
は、HMCカメラiにおけるランドマークjの2D検出であり、Pは、
における2D点を生成するカメラ投影であり、
は、[0,1]におけるランドマークの検出信頼度である。ビューiによって観測できないランドマークjの場合、
が0であることに留意されたい。uは、ダイバージェンスを防ぐために、テンプレートメッシュ中の頂点のあらかじめ定義されたセットに初期化され得る。特定の実施形態はまた、たとえば、瞳孔および口の内部であり得る、メッシュ頂点をアバターが有しない領域におけるランドマークを使用することを回避し得る。図7は、収束におけるuの一例を示す。
【0056】
式(6)を解決することは、各フレームHからのヘッドセットポーズのセット{vt∈Tを提供する。特定の実施形態は、データセット
を、ヘッドセットポーズを{vt∈Tから
、および顔の表情コードを顔モデリングキャプチャの符号化された値のセットから同じく
、独立して、ランダムにサンプリングすることによって、レンダリングし得る。ランダムにサンプリングされたポーズおよび表情コードは、
とともに、不対ドメイン転移についてのトレーニングデータを形成し得る。特定の実施形態では、式(6)によって解決される推定されたzは、zの推定値が、ランドマークのみに依拠するときに不十分であり得るので、廃棄され得る。
【0057】
特定の実施形態では、2つのドメイン
からの画像が与えられれば、サイクル一貫性のある敵対的ネットワークを使用する、不対画像トランスレーションのための好適な方法が使用されて、ドメイン間であちこちに画像をトランスレートするビュー固有マッピングFΦ,iおよびGΨ,i114を学習し得る。(上記で説明されたように)ドメイン間の平衡した分布P(z,v)が奨励されているので、この手法は妥当な結果をもたらす。しかしながら、パラメトリック顔アバターモデル406の限られたレンダリング忠実度の結果として、失敗事例が起こり得る。これらの事例は、ニアフィールドレンダリングへのビュー調整された(view-conditioned)レンダリング方法の不十分な一般化のために、睫毛と輝きとがほとんど完全にないことがある、眼の画像において最も顕著であり得る。より詳細には、ドメイン転移された画像502は、ソース画像500と比較して、修正された視線方向を呈し得る。さらに、この修正は、異なるカメラビューにわたって一貫性のないことがある。この最後の効果は、眼の場合と同程度までではないが、顔の残部についても観測され得る。式(5)においてカメラビューにわたる(z,v)について一緒に解決するとき、これらの一貫性のないおよび独立した誤差は、平均化効果を有し得、これは、抑制された顔の表情として現れることがある。
【0058】
特定の実施形態では、この問題を克服するために、画像ドメイントランスレーション中のカメラ間の空間関係が活用され得る。サイクリック一貫性は、クロスビュー予測を通してエンフォースされ得る。詳細には、0および1と示される、一対のビューについて、「空間予測器」PおよびPが、画像をビュー0からビュー1に変換するようにトレーニングされ得、その逆も同様である。これらの対は、顔の同様の部分を観測し、したがって、それらのコンテンツが相互に予測可能であるように、選定され得る(たとえば、ステレオ眼カメラ対(stereo eye-camera pair)および同じ側の下側顔カメラ)。CycleGANの項とともに、損失関数は、以下の形式のものであり得る。
L=L+λ+λ+λ (7)
上式で、L=LCH+LCRは、各ドメインについての、および各ビューについての、サイクル一貫性損失である。
=LGH+LGRは、各ドメインについての、および各ビューについての、(生成器と弁別器の両方についての)GAN損失である。
は、ビュー予測器についての損失である。
および、クロスビューサイクル一貫性L=LVH+LVRであり、
上式で、LCRとLGRとLVRとは対称的に定義され得、DおよびDは、それぞれ、両方のドメインにおける弁別器である。
とは対にされないが、
とは、
とのように、対にされることに留意されたい。これらの成分の説明が、図9に示されている。ビュー間の相対的な構造差が、両方のドメインにおいて同じであるべきであるので、PとPとは、ドメインにわたって共有される。
【0059】
特定の実施形態では、問題は、ミニマックス最適化問題の形態をとる。
【0060】
{P,P,FΦ,GΨ}中のパラメータが、{D,D}中のパラメータとともに交互にトレーニングされる場合、PとFΦ(またはGΨ)との間の結託(collusion)が、ドメインにわたって表情を保存することなしに損失関数を最小化し、それにより、実データと顔データとに関する異なる性質を効果的に学習して、互いによってもたらされる誤差を補償し得る。その結果、不変に保たれるべきであるセマンティクスが、ドメイン変換中に失われ得る。この問題に対処するために、「非協働的トレーニング(uncooperative training)」技法が、最適化をより多くのステップに分けることによって、この「ごまかす(cheating)」性質を防ぐために使用され得る。各ステップにおいて、損失関数は、現実データ上に関して動作する項のみが残り、その現実データを入力としてとるモジュールのみが更新されるように、再調整され得る。アルゴリズムの概要が、アルゴリズム1として図10に示されている。このようにして、モジュールは、前のモジュールによってもたらされる誤差を補償することを学習する機会を有しないことがある。その結果、顔の表情は、ドメイン転移を通してより良く保存され得、クロスビュー予測がマルチビュー一貫性を提供し得る。
【0061】
特定の実施形態では、微分可能レンダラR115が、パラメトリック顔モデル406のために使用され得る。微分可能レンダラR115は、上記で説明されたドメイン転移についての合成サンプルを生成するために、また、式(5)において、推定された表情およびポーズパラメータq=(z,v)があるとすれば、再構築精度を評価するために、使用され得る。レンダリング関数は、顔モデルの形状および背景のラスタ化をブレンドし得、したがって、ピクセルについて、画像位置pにおける色C(p)が以下によって決定され得る。
C(p)=W(p)C(p)+(1-W(p))C (13)
上式で、C(p)は、位置pにおけるテクスチャからのラスタ化された色であり、Cは、一定の背景である。pが三角形を伴って割り当てられる場合、W(p)=1であり、他の場合、W(p)=0である、Wが、ラスタ化のピクセルカバレージのバイナリマスクとして定義される場合、
は、ラスタ化の分離性のために、すべてのpについて0である。この場合、前景ピクセル(たとえば、W(p)=1)では、C(p)の勾配は、依然として、(ピクセル色がそこからサンプリングされる)テクスチャにおける座標を、そのピクセルの、その現在包含する三角形中の重心座標によってパラメータ化することによって、
から計算され得る。レンダリング関数とそれの導関数とを定式化するこのやり方は、マルチビュー制約の存在下で、実際には良好な結果をもたらし得るが、このやり方は、W(p)からの0勾配から生じ得る失敗事例を呈し得る。より詳細には、ピクセルpが、背景(たとえば、W(p)=0)としてレンダリングされるが、そのピクセルについてのターゲットが前景値である場合、表情およびポーズパラメータq=(z,v)に伝搬される勾配がないことがある。同様に、ラスタ化の境界における前景ピクセルは、拡大するというプレッシャーを有しない。実際には、これらの状態は、実質的な再構築誤差を伴って、不十分な局所最小値で終わることにつながることがある。たとえば、図11に示されているように、ターゲット画像の前景画像が画像のより大きいエリアを占有する傾向がある、ふくれた頬の表情において、推定された表情は、頬の輪郭にうまくマッチすることに失敗することがある。
【0062】
特定の実施形態では、前景エリアを拡大する力は、前景と背景との間の境界の周りのソフトブレンディングから来るべきである。したがって、テクスチャマップからサンプリングされた色または背景色のいずれかへの、境界の周りのピクセルのバイナリ割当ての代わりに、アンチエイリアシングと同様のソフトブレンディングが使用され得る。より良い勾配流れを得るために、ブレンディング重みは、ラスタ化の境界に沿った再構築誤差が表情およびポーズパラメータq=(z,v)に逆伝搬され得るように、顔モデルの投影されたジオメトリによってパラメータ化され得る。このために、減衰ブレンド関数が、境界から離れて使用され得る。
上式で、dは、pから、ラスタ化カバレージ外のピクセルについての任意の投影された三角形の最も近いエッジまでの垂直2D距離であり、σは減衰率を制御する。W(p)について式(13)において使用されるCの値は、最も近いエッジにおける三角形のテクスチャにおける色にセットされ得る。カバレージ内のピクセルの場合、d=0である。実際には、σは1にセットされ得、Wは、効率のために、各投影された三角形の包含する矩形内のピクセルについてのみ評価され得る。この背景認識レンダリングの場合、背景ピクセルの小さい部分が、勾配を与えて、各反復において境界を拡大するかまたは収縮させ得るが、その数は、最適化が不十分な局所最小値で終わることを防ぐのに十分である。
【0063】
特定の実施形態では、ドメイン変換の場合、(256×256)サイズの画像が、両方のドメインのために使用され得る。FΦとGΨとPとについて、ResNetが使用され、4xダウンサンプリングを伴い、その後に、3つのResNetモジュールと別の4xアップサンプリングとが続き得る。弁別器DおよびDについて、スペクトル正規化が、生成された画像のより良い品質と、より安定したトレーニングとのために適用され得る。Eθをトレーニングするために、別個の畳み込みネットワークが作られて、|C|ベクトルが、多層パーセプトロン(MLP:multilayer perceptron)を使用して連結され、次いでzとvの両方に別々にコンバートされる前に、個々の
をこれらのベクトルにコンバートし得る。式(5)における前のδ(z)の場合、Dに関連する潜在空間が、正規分布に対して、カルバックライブラー(KL:Kullback-Leibler)ダイバージェンスを用いて学習され得るので、Lペナルティ
が使用され得る。
【0064】
特定の実施形態では、図5に示されているトレーニングの後に、収束されたアバターパラメータ抽出モデルEθ206が、フレームごとの対応{(H,z)}t∈Tを得るために、フレームHに適用され得る。Hにおける補助(たとえば、侵入型)ビューは、非侵入型ヘッドマウントカメラ(HMC)において利用可能なビューを保持しながら、ドロップされ得
、ここで、|C’|=3である。保持されたビューとそれらの対応するパラメータとは、リアルタイムアニメーション中に使用されることになるリアルタイムリグレッサ312をトレーニングするために使用され得るトレーニングデータ
を形成する。
【0065】
特定の実施形態では、zの潜在空間におけるL損失を最小化するのではなく、損失は、ネットワークが、微妙な唇の形状および視線方向など、最も視覚的に慎重な扱いを要する部分に容量を費やすのを促進するやり方で測定され得る。さらに、ジオメトリおよびテクスチャマップにおける、特に、眼の領域と口の領域とにおける誤差は、アバターが、不十分なジオメトリ詳細を有し得、したがって、これらの領域においてフォトリアリスティックであるためにビュー依存テクスチャに依拠し得るので、最小化され得る。リグレッサ
が、
をターゲットzにコンバートするように作られ得る。
ここで、
および、κは、(図7に示されている)眼および口のエリアに焦点を合わせる、テクスチャマップ上のクロップであり、vは、アバターの固定された正面ビューである。
【0066】
特定の実施形態では、リアルタイム追跡モデル
318のアーキテクチャ設計が、ターゲットzに良好な適合を提供することと、周囲の照明およびヘッドセット装着位置など、現実世界の変動に対してロバストであることと、リアルタイムまたはほぼリアルタイム推測速度を達成することとが望ましい。これらの基準は、関数が、式(5)を最小化するzおよびvを学習すること(たとえば、過剰適合(overfitting))に関する、アバターパラメータ抽出モデルEθ206とは異なる。したがって、Eθと比較して、より小さい入力画像(たとえば、192×192など)と、より少ない数の畳み込みフィルタおよび層とが、
のために使用され得る。アーキテクチャ設計は、同様であり得る。入力画像が、顔の異なる部分を観察しており、したがって、必ずしも空間構造を共有するとは限らないので、
を3つの1次元ベクトルにコンバートするために、畳み込みネットワークの3つの分離された分岐が作られ得る。最終的に、これらの1次元ベクトルは、多層パーセプトロンを通して連結され、zにコンバートされ得る。トレーニング中に、入力画像は、カメラ取付けの製造誤差を考慮するためのカメラ回転をシミュレートするためのランダム小角ホモグラフィ、ならびに、ライティング変動を考慮するための方向性画像強度ヒストグラム摂動を用いて、拡張され得る。
【0067】
とDとが両方ともリアルタイムで評価され得るとすれば、両方のユーザが、非侵入型ヘッドセット420上などのヘッドマウントカメラを装着しながら、互いの個人化されたアバターの高忠実度アニメーションを見得る、二方向ソーシャル仮想現実(VR)システムが作られ得る。一方の側では、コンピューティングノードが、1つのGPU上で第1のユーザの
を実行し、符号化されたzを、通信ネットワークを介して他方の側に送り得る。同時に、コンピューティングノードは、第2のユーザのzを、通信ネットワークを介して別の側から受信し、第2のユーザのDを実行し、第2のGPU上で第2のユーザのアバターの(左眼および右眼のための)ステレオ画像をレンダリングし得る。
【0068】
図6Aは、侵入型赤外線カメラと非侵入型赤外線カメラとを有する例示的なトレーニングヘッドセット602を示す。トレーニングヘッドマウントディスプレイ(HMD)602は、拡張されたカメラ606a~fと標準カメラ604a~cとを含む。HMD602は、HMD画像とアバターパラメータとの間のより良い対応を確立するのを助けるためのデータを収集するために使用され得る。特定の実施形態は、同じヘッドセット設計の2つのバージョン、すなわち、最小侵入型カメラ構成をもつ非侵入型で消費者に配慮した設計と、対応を見つけることをサポートするためのより順応性のある視点を有する、拡張されたカメラセットをもつトレーニング設計とを使用する。拡張されたトレーニングヘッドセット602は、データを収集し、非侵入型ヘッドセットカメラ構成とユーザの顔の表情との間のマッピングを作るために使用され得る。詳細には、非侵入型カメラ604は、口604b、左眼604c、および右眼604aの各々のためのVGA解像度カメラを含み得る。6つの拡張されたカメラ606は、各眼に追加のビュー606a、bを追加し、ならびに、唇の接触および縦の口の動きをキャプチャし、どちら側でも唇の突出をキャプチャするために、戦略的に下側に配置された、口の4つの追加のビュー606c~fを追加する。カメラ604、606は、この例では、90Hzにおいて同期され、キャプチャする。カメラ604、606は、パターンの一部が各カメラの被写界深度内にあることを保証するために、カスタムプリント3D較正パターン640を使用して、一緒に幾何学的に較正され得る。トレーニングデータセットを作るために、各被写体は、同じ刺激を使用して、すなわち、一度、RGBカメラ106などのモデリングセンサーを使用して、および一度、拡張された追跡センサー604、606を使用して、キャプチャされ得る。刺激は、たとえば、70個の表情、50個の文、動きの範囲、視線方向の範囲、および10分間の自由な会話を含み得る。この刺激は、自然な表情の範囲をカバーするように設計される。両方のデバイスを使用して同じコンテンツを収集することは、不対ドメイン転移アルゴリズムへの入力として使用するために2つのドメイン間の顔の表情のほぼ平衡した分布を提供する。図6Bは、トレーニングヘッドセット602によってキャプチャされた例示的な画像614、616を示す。キャプチャされた画像は、それぞれ、非侵入型カメラ604a~cによってキャプチャされ得る、非侵入型フレーム614a~cと、それぞれ、拡張されたカメラ606a~fによってキャプチャされ得る、拡張されたフレーム616a~fとを含む。
【0069】
図6Cは、非侵入型赤外線カメラを有する例示的な追跡ヘッドセット602を示す。追跡ヘッドマウントディスプレイ620は標準カメラ624a~cを含み、標準カメラ624a~cは、(たとえば、装着者の顔に対する)位置においてトレーニングヘッドマウントディスプレイ602の標準カメラ604a~cに対応し得る。追跡ヘッドマウントディスプレイ620は、最小化カメラ構成を用いてリアルタイムまたはほぼリアルタイム顔アニメーションのために使用され得る。図6Dは、追跡ヘッドセット620によって生成された例示的な画像634を示す。キャプチャされた画像634は、それぞれ、非侵入型カメラ624a~cによってキャプチャされ得る、非侵入型フレーム634a~cを含む。非侵入型ヘッドセット620によってキャプチャされたIR画像634a~cは、少なくともカメラ視点(point-of-view)に関して、トレーニングヘッドセットによってキャプチャされたIR画像614a~cに対応し得る。
【0070】
図6Eは、トレーニングヘッドセットおよび追跡ヘッドセット中のカメラを較正するために使用される例示的な多平面較正パターン640を示す。多平面較正パターン640は、非侵入型ヘッドセット620中のカメラ624a~cを、トレーニングヘッドセット602中の対応するそれぞれのカメラ604a~cを用いて幾何学的に較正するために使用され得、したがって、非侵入型ヘッドセット620によってIR画像634a~cをキャプチャする視点は、対応するそれぞれのトレーニングヘッドセットIR画像614a~cをキャプチャする視点に対応する。
【0071】
図6Fは、ヘッドセット620上の人間工学的カメラ配置における課題の例を示す。図示のように、ユーザ650によって装着されるヘッドセット620上に取り付けられたカメラの場合、口が開くことなどの大きい動きは、投影されて、非侵入型カメラ624cによってキャプチャされた画像の小さい変化になる。比較すると、ユーザ650にとってより侵入型であるカメラ配置は、トレーニングプロセスに関してより順応性があり得る。たとえば、口の前により直接的に配置されたカメラ606fの場合、口が開くことなどの大きい動きは、キャプチャされた画像の大きい変化に対応し、キャプチャされた画像の大きい変化は、本明細書で説明される機械学習モデルをより効果的にトレーニングするために使用され得る。
【0072】
図7は、アバターおよびヘッドマウントカメラ画像のテクスチャマップ上の例示的なランドマークを示す。ランドマークの色は、HMC画像701、702、703、およびテクスチャマップ700にわたる対応を示す。ランドマークは、人間アノテーションによってトレーニングされた検出器からの9つのビュー(3つのビューのみが示されている)において検出され得る。これらのランドマークのuv座標は、複数のフレームにわたるzとvとを用いて一緒に解決され得る。ランドマークの投影された距離が、必ずしも、対応を見つけるために式(5)の全体的な最適化において最小化されるとは限らないことに留意されたい。画像701上のランドマークは、テクスチャマップ700上のそれぞれのランドマーク706a、bに対応する、左眼ランドマーク726a、bを含む。画像703上のランドマークは、テクスチャマップ700上のそれぞれのランドマーク704a、bに対応する、右眼ランドマーク724a、bを含む。下側顔画像702上のランドマーク画像は、テクスチャマップ700上のそれぞれのランドマーク708、712に対応する、左鼻孔ランドマーク728、732を含む。下側顔画像705はまた、テクスチャマップ700上のそれぞれのランドマーク710、714a、および714bに対応する、右鼻孔ランドマーク730、および口ランドマーク734a、734bを含む。
【0073】
図8は、異なるスペクトルドメインにおける画像の空間構造の分布の例示的なマッチングを示す。IRドメインにおけるキャプチャされた画像の空間構造の統計的分布は、RGBドメインにおけるレンダリングされたアバター画像804の空間構造の統計的分布とマッチされ得る。空間構造の近似された分布
808は、ヘッドポーズ分布
についてのキャプチャされたHMC画像802上のランドマーク検出を使用して、および、顔の表情分布
についてのRGBモデリングカメラによってキャプチャされたRGB画像を使用して、推定され得る。顔の表情zの実際の分布
は、被写体についての共通刺激があるとすれば、アバターを作るためのモデリングカメラキャプチャからの分布
と統計的に同等であると仮定される。次いで、画像が従うことになる分布が
として決定され得る。
【0074】
図9は、異なるスペクトルドメイン間のマルチビュー画像ドメイントランスレーションにおける例示的なクロスビューサイクル一貫性を示す。各ドメイン内のクロスドメインサイクル一貫性に加えて、ドメイン変換器は、各ドメイン中の対にされたマルチビューデータがあるとすれば、顔画像の空間構造を保存することを奨励するためにさらに制約され得る。(式(11)の場合のように、4つの可能な方向からの)1つの損失項のみが図9に示されている。ビューは、第1のフレームに対応する、「ビュー0」と標示された第1のビュー902と、第2のフレームに対応する、「ビュー1」と標示された第2のビュー904とを含む。第1のビュー902は、フレーム910、912を含む。第2のビュー904は、画像914、916を含む。クロスビュー一貫性は、ビュー902とビュー904との間で評価され得る。ドメインは、HMC画像106に対応するドメインH906と、ドメイン転移された画像502に対応するドメインR908とを含む。ドメインH906はフレーム910、914を含み、ドメインRはフレーム912、916を含む。ドメインHからドメインRへのトランスレーションはFを介し、ドメインRからドメインHへのトランスレーションはGを介する。さらに、ビュー0からビュー1へのトランスレーションはPを介し、ビュー1からビュー0へのトランスレーションはPを介する。FとGとを介してドメインHとドメインRとの間にサイクルが確立され得、PとPとを介してビュー0とビュー1との間にサイクルが確立され得る。ドメインとビューとの間の損失は、FとGとをトレーニングしながら、計算および最小化され得る。
【0075】
図10は、マルチビュー画像ドメイントランスレーションのためにトレーニングするための例示的なアルゴリズムを示す。アルゴリズム1が、入力として、不対HMC画像H106とレンダリングされた画像R506とを受信し得、画像Hのうちの1つと画像Rのうちの1つとが第1のビュー中にあり、他の画像Hと他の画像Rとが第2のビュー中にある。アルゴリズムは、出力として、収束されたFΦおよびGΨ114を生成し得る。アルゴリズムは、FΦおよびGΨ114が収束されるまで、以下のステップ、すなわち、i∈{0,1}について
を得るために(t,s)をサンプリングする(4つの画像)、LCH+LGH+LVHを最小化する勾配を使用してFについてΦを更新する、LCR+LGR+LVRを最小化する勾配を使用してGについてΨを更新する、Lを最小化する勾配を使用してPを更新する、およびLを最大化する勾配を使用してDとDとを更新する、を繰り返し得る。
【0076】
図11は、例示的な背景認識微分可能レンダリングを示す。この例では、微分可能レンダリングが、ふくれた頬の入力HMC画像1102に関して実施される。ドメイン転移された(ターゲット)画像1104がもたらされ得る。現在のレンダリングされたアバター1106も示されている。より大きい画像が、画像1104と画像1106とをオーバーレイした結果を示す。ボックス1110中のピクセルは、背景ピクセルとして現在レンダリングされているが、前景ピクセルとしてレンダリングされるべきである。顔輪郭の周りのピクセルのより詳細に見たものが、ボックス1110に示されている。三角形1114など、任意の投影された三角形のバウンディングボックス1110(破線矩形)内の背景ピクセルpについて、pの色は、距離dに関係する重み付けを伴って、最も近いエッジp1p2上で最も近い点における色Cと、背景色cとからブレンドされる。右下に向かう矢印は、ダークグレーピクセルから生成された勾配が、顔のジオメトリに逆伝搬され得ることを示す。
【0077】
図12は、赤外線画像とアバターパラメータとの間の対応を確立するための例示的な方法1200を示す。方法は、ステップ1210において開始し得、ここで、方法は、第1のスペクトルドメインから第2のスペクトルドメインへの画像ドメイントランスレーションを実施するために第1の機械学習モデルをトレーニングし得、第1の機械学習モデルは、第1の画像と、対応するレンダリングされた画像のセットとに関してトレーニングされ、レンダリングされた画像は、対応するモデリングされたアバターパラメータおよびランドマークポーズに基づいて生成される。ステップ1220において、方法は、第1の機械学習モデルを使用して、第1の画像に基づいて、複数のドメイン転移された画像を生成し得、ドメイン転移された画像は第2のスペクトルドメイン中にある。ステップ1230において、方法は、第1のドメイン中の特定の画像に対応する、1つまたは複数の識別されたアバターパラメータおよび識別されたポーズを識別するために第2の機械学習モデルをトレーニングし得、第2の機械学習モデルは、第1の画像と、対応するドメイン転移された画像とに関してトレーニングされる。ステップ1240において、方法は、第2の機械学習モデルを使用して、第1の画像のうちの少なくとも1つについての識別されたアバターパラメータおよびポーズを生成し得る。ステップ1250において、方法は、識別されたパラメータおよびポーズに基づくアバターモデルを使用して、装着者の顔を表すアバターを生成し得る。ステップ1260において、方法は、入力画像に基づいてアバターパラメータを識別するために第3の機械学習モデルをトレーニングし得、第3の機械学習モデルは、非侵入型カメラからの第1の画像と、第2の機械学習モデルによって生成された、対応するアバターパラメータとを使用してトレーニングされる。
【0078】
特定の実施形態は、適切な場合、図12の方法の1つまたは複数のステップを繰り返し得る。本開示は、図12の方法の特定のステップを、特定の順序で行われるものとして説明し、示すが、本開示は、図12の方法の任意の好適なステップが任意の好適な順序で行われることを企図する。その上、本開示は、図12の方法の特定のステップを含む、赤外線画像とアバターパラメータとの間の対応を確立するための例示的な方法を説明し、示すが、本開示は、適切な場合、図12の方法のステップのすべてを含むか、いくつかを含むか、またはいずれも含まないことがある、任意の好適なステップを含む、赤外線画像とアバターパラメータとの間の対応を確立するための任意の好適な方法を企図する。さらに、本開示は、図12の方法の特定のステップを行う特定の構成要素、デバイス、またはシステムを説明し、示すが、本開示は、図12の方法の任意の好適なステップを行う任意の好適な構成要素、デバイス、またはシステムの任意の好適な組合せを企図する。
【0079】
図13は、ソーシャルネットワーキングシステムに関連する例示的なネットワーク環境1300を示す。ネットワーク環境1300は、ネットワーク1310によって互いに接続された、ユーザ1301と、クライアントシステム1330と、ソーシャルネットワーキングシステム1360と、サードパーティシステム1370とを含む。図13は、ユーザ1301、クライアントシステム1330、ソーシャルネットワーキングシステム1360、サードパーティシステム1370、およびネットワーク1310の特定の構成を示すが、本開示は、ユーザ1301、クライアントシステム1330、ソーシャルネットワーキングシステム1360、サードパーティシステム1370、およびネットワーク1310の任意の好適な構成を企図する。限定としてではなく一例として、クライアントシステム1330、ソーシャルネットワーキングシステム1360、およびサードパーティシステム1370のうちの2つまたはそれ以上が、ネットワーク1310をバイパスして、直接互いに接続され得る。別の例として、クライアントシステム1330、ソーシャルネットワーキングシステム1360、およびサードパーティシステム1370のうちの2つまたはそれ以上が、全体的にまたは部分的に、物理的にまたは論理的に互いとコロケートされ得る。その上、図13は、特定の数のユーザ1301、クライアントシステム1330、ソーシャルネットワーキングシステム1360、サードパーティシステム1370、およびネットワーク1310を示すが、本開示は、任意の好適な数のユーザ1301、クライアントシステム1330、ソーシャルネットワーキングシステム1360、サードパーティシステム1370、およびネットワーク1310を企図する。限定としてではなく一例として、ネットワーク環境1300は、複数のユーザ1301と、クライアントシステム1330と、ソーシャルネットワーキングシステム1360と、サードパーティシステム1370と、ネットワーク1310とを含み得る。
【0080】
特定の実施形態では、ユーザ1301は、ソーシャルネットワーキングシステム1360と、またはソーシャルネットワーキングシステム1360上で、対話または通信する個人(人間ユーザ)、エンティティ(たとえば、企業、ビジネス、またはサードパーティアプリケーション)、または(たとえば、個人またはエンティティの)グループであり得る。特定の実施形態では、ソーシャルネットワーキングシステム1360は、オンラインソーシャルネットワークをホストするネットワークアドレス指定可能なコンピューティングシステムであり得る。ソーシャルネットワーキングシステム1360は、たとえば、ユーザプロファイルデータ、概念プロファイルデータ、ソーシャルグラフ情報、またはオンラインソーシャルネットワークに関係する他の好適なデータなど、ソーシャルネットワーキングデータを生成し、記憶し、受信し、送り得る。ソーシャルネットワーキングシステム1360は、直接的にまたはネットワーク1310を介してのいずれかで、ネットワーク環境1300の他の構成要素によってアクセスされ得る。特定の実施形態では、ソーシャルネットワーキングシステム1360は、ユーザ1301が、たとえば、適切なプライバシーセッティングをセットすることによって、そのユーザのアクションがソーシャルネットワーキングシステム1360によってロギングされるか、または他のシステム(たとえば、サードパーティシステム1370)と共有されることをオプトインまたはオプトアウトすることを可能にする許可サーバ(または(1つまたは複数の)他の好適な構成要素)を含み得る。ユーザのプライバシーセッティングは、ユーザに関連するどの情報がロギングされ得るか、ユーザに関連する情報がどのようにロギングされ得るか、ユーザに関連する情報がいつロギングされ得るか、ユーザに関連する情報を誰がロギングし得るか、ユーザに関連する情報が誰と共有され得るか、およびユーザに関連する情報がどのような目的でロギングまたは共有され得るかを決定し得る。許可サーバは、ブロッキング、データのハッシュ化、匿名化、または適宜に他の好適な技法を通して、ソーシャルネットワーキングシステム30のユーザの1つまたは複数のプライバシーセッティングを施行するために使用され得る。サードパーティシステム1370は、直接的にまたはネットワーク1310を介してのいずれかで、ネットワーク環境1300の他の構成要素によってアクセスされ得る。特定の実施形態では、1つまたは複数のユーザ1301は、ソーシャルネットワーキングシステム1360またはサードパーティシステム1370にアクセスし、そこにデータを送り、そこからデータを受信するために、1つまたは複数のクライアントシステム1330を使用し得る。クライアントシステム1330は、直接的に、ネットワーク1310を介して、またはサードパーティシステムを介して、ソーシャルネットワーキングシステム1360またはサードパーティシステム1370にアクセスし得る。限定としてではなく一例として、クライアントシステム1330は、ソーシャルネットワーキングシステム1360を介してサードパーティシステム1370にアクセスし得る。クライアントシステム1330は、たとえば、パーソナルコンピュータ、ラップトップコンピュータ、セルラー電話、スマートフォン、タブレットコンピュータ、または拡張/仮想現実デバイスなど、任意の好適なコンピューティングデバイスであり得る。
【0081】
本開示は、任意の好適なネットワーク1310を企図する。限定としてではなく一例として、ネットワーク1310の1つまたは複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、ローカルエリアネットワーク(LAN)、ワイヤレスLAN(WLAN)、ワイドエリアネットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、セルラー電話ネットワーク、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。ネットワーク1310は、1つまたは複数のネットワーク1310を含み得る。
【0082】
リンク1350は、クライアントシステム1330と、ソーシャルネットワーキングシステム1360と、サードパーティシステム1370とを、通信ネットワーク1310にまたは互いに接続し得る。本開示は、任意の好適なリンク1350を企図する。特定の実施形態では、1つまたは複数のリンク1350は、1つまたは複数の、(たとえば、デジタル加入者回線(DSL)またはデータオーバーケーブルサービスインターフェース仕様(DOCSIS)などの)ワイヤラインリンク、(たとえば、Wi-Fiまたはワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX)などの)ワイヤレスリンク、または(たとえば、同期光ネットワーク(SONET)または同期デジタルハイアラーキ(SDH)などの)光リンクを含む。特定の実施形態では、1つまたは複数のリンク1350は、各々、アドホックネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラー技術ベースネットワーク、衛星通信技術ベースネットワーク、別のリンク1350、または2つまたはそれ以上のそのようなリンク1350の組合せを含む。リンク1350は、ネットワーク環境1300の全体にわたって必ずしも同じである必要はない。1つまたは複数の第1のリンク1350は、1つまたは複数の第2のリンク1350とは1つまたは複数の点で異なり得る。
【0083】
図14は、例示的なコンピュータシステム1400を示す。特定の実施形態では、1つまたは複数のコンピュータシステム1400は、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施する。特定の実施形態では、1つまたは複数のコンピュータシステム1400は、本明細書で説明または示される機能性を提供する。特定の実施形態では、1つまたは複数のコンピュータシステム1400上で稼働しているソフトウェアは、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施するか、あるいは本明細書で説明または示される機能性を提供する。特定の実施形態は、1つまたは複数のコンピュータシステム1400の1つまたは複数の部分を含む。本明細書では、コンピュータシステムへの言及は、適切な場合、コンピューティングデバイスを包含し得、その逆も同様である。その上、コンピュータシステムへの言及は、適切な場合、1つまたは複数のコンピュータシステムを包含し得る。
【0084】
本開示は、任意の好適な数のコンピュータシステム1400を企図する。本開示は、任意の好適な物理的形態をとるコンピュータシステム1400を企図する。限定としてではなく例として、コンピュータシステム1400は、組込み型コンピュータシステム、システムオンチップ(SOC)、(たとえば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)などの)シングルボードコンピュータシステム(SBC)、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、拡張/仮想現実デバイス、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。適切な場合、コンピュータシステム1400は、1つまたは複数のコンピュータシステム1400を含むか、単一または分散型であるか、複数のロケーションにわたるか、複数のマシンにわたるか、複数のデータセンターにわたるか、あるいは1つまたは複数のネットワーク中の1つまたは複数のクラウド構成要素を含み得るクラウド中に常駐し得る。適切な場合、1つまたは複数のコンピュータシステム1400は、実質的な空間的または時間的制限なしに、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。限定としてではなく一例として、1つまたは複数のコンピュータシステム1400は、リアルタイムでまたはバッチモードで、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。1つまたは複数のコンピュータシステム1400は、適切な場合、異なる時間においてまたは異なるロケーションにおいて、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。
【0085】
特定の実施形態では、コンピュータシステム1400は、プロセッサ1402と、メモリ1404と、ストレージ1406と、入出力(I/O)インターフェース1408と、通信インターフェース1410と、バス1412とを含む。本開示は、特定の構成において特定の数の特定の構成要素を有する特定のコンピュータシステムを説明し、示すが、本開示は、任意の好適な構成において任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータシステムを企図する。
【0086】
特定の実施形態では、プロセッサ1402は、コンピュータプログラムを作り上げる命令など、命令を実行するためのハードウェアを含む。限定としてではなく一例として、命令を実行するために、プロセッサ1402は、内部レジスタ、内部キャッシュ、メモリ1404、またはストレージ1406から命令を取り出し(またはフェッチし)、それらの命令を復号および実行し、次いで、内部レジスタ、内部キャッシュ、メモリ1404、またはストレージ1406に1つまたは複数の結果を書き込み得る。特定の実施形態では、プロセッサ1402は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ1402を企図する。限定としてではなく一例として、プロセッサ1402は、1つまたは複数の命令キャッシュと、1つまたは複数のデータキャッシュと、1つまたは複数のトランスレーションルックアサイドバッファ(TLB)とを含み得る。命令キャッシュ中の命令は、メモリ1404またはストレージ1406中の命令のコピーであり得、命令キャッシュは、プロセッサ1402によるそれらの命令の取出しを高速化し得る。データキャッシュ中のデータは、プロセッサ1402において実行する命令が動作する対象のメモリ1404またはストレージ1406中のデータのコピー、プロセッサ1402において実行する後続の命令によるアクセスのための、またはメモリ1404もしくはストレージ1406に書き込むための、プロセッサ1402において実行された前の命令の結果、あるいは他の好適なデータであり得る。データキャッシュは、プロセッサ1402による読取りまたは書込み動作を高速化し得る。TLBは、プロセッサ1402のための仮想アドレストランスレーション(virtual-address translation)を高速化し得る。特定の実施形態では、プロセッサ1402は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ1402を企図する。適切な場合、プロセッサ1402は、1つまたは複数の算術論理ユニット(ALU)を含むか、マルチコアプロセッサであるか、または1つまたは複数のプロセッサ1402を含み得る。本開示は、特定のプロセッサを説明し、示すが、本開示は任意の好適なプロセッサを企図する。
【0087】
特定の実施形態では、メモリ1404は、プロセッサ1402が実行するための命令、またはプロセッサ1402が動作する対象のデータを記憶するためのメインメモリを含む。限定としてではなく一例として、コンピュータシステム1400は、ストレージ1406または(たとえば、別のコンピュータシステム1400などの)別のソースからメモリ1404に命令をロードし得る。プロセッサ1402は、次いで、メモリ1404から内部レジスタまたは内部キャッシュに命令をロードし得る。命令を実行するために、プロセッサ1402は、内部レジスタまたは内部キャッシュから命令を取り出し、それらの命令を復号し得る。命令の実行中またはその後に、プロセッサ1402は、(中間結果または最終結果であり得る)1つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込み得る。プロセッサ1402は、次いで、メモリ1404にそれらの結果のうちの1つまたは複数を書き込み得る。特定の実施形態では、プロセッサ1402は、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ1406または他の場所とは対照的な)メモリ1404中の命令のみを実行し、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ1406または他の場所とは対照的な)メモリ1404中のデータのみに対して動作する。(アドレスバスおよびデータバスを各々含み得る)1つまたは複数のメモリバスが、プロセッサ1402をメモリ1404に結合し得る。バス1412は、以下で説明されるように、1つまたは複数のメモリバスを含み得る。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ1402とメモリ1404との間に常駐し、プロセッサ1402によって要求されるメモリ1404へのアクセスを容易にする。特定の実施形態では、メモリ1404は、ランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であり得る。その上、適切な場合、このRAMは、シングルポートまたはマルチポートRAMであり得る。本開示は、任意の好適なRAMを企図する。メモリ1404は、適切な場合、1つまたは複数のメモリ1404を含み得る。本開示は、特定のメモリを説明し、示すが、本開示は任意の好適なメモリを企図する。
【0088】
特定の実施形態では、ストレージ1406は、データまたは命令のための大容量ストレージを含む。限定としてではなく一例として、ストレージ1406は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサルシリアルバス(USB)ドライブ、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。ストレージ1406は、適切な場合、リムーバブルまたは非リムーバブル(または固定)媒体を含み得る。ストレージ1406は、適切な場合、コンピュータシステム1400の内部または外部にあり得る。特定の実施形態では、ストレージ1406は、不揮発性ソリッドステートメモリである。特定の実施形態では、ストレージ1406は、読取り専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、またはフラッシュメモリ、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。本開示は、任意の好適な物理的形態をとる大容量ストレージ1406を企図する。ストレージ1406は、適切な場合、プロセッサ1402とストレージ1406との間の通信を容易にする1つまたは複数のストレージ制御ユニットを含み得る。適切な場合、ストレージ1406は、1つまたは複数のストレージ1406を含み得る。本開示は、特定のストレージを説明し、示すが、本開示は任意の好適なストレージを企図する。
【0089】
特定の実施形態では、I/Oインターフェース1408は、コンピュータシステム1400と1つまたは複数のI/Oデバイスとの間の通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム1400は、適切な場合、これらのI/Oデバイスのうちの1つまたは複数を含み得る。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータシステム1400との間の通信を可能にし得る。限定としてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカー、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なI/Oデバイス、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。I/Oデバイスは1つまたは複数のセンサーを含み得る。本開示は、任意の好適なI/Oデバイスと、それらのI/Oデバイスのための任意の好適なI/Oインターフェース1408とを企図する。適切な場合、I/Oインターフェース1408は、プロセッサ1402がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイスまたはソフトウェアドライバを含み得る。I/Oインターフェース1408は、適切な場合、1つまたは複数のI/Oインターフェース1408を含み得る。本開示は、特定のI/Oインターフェースを説明し、示すが、本開示は任意の好適なI/Oインターフェースを企図する。
【0090】
特定の実施形態では、通信インターフェース1410は、コンピュータシステム1400と、1つまたは複数の他のコンピュータシステム1400または1つまたは複数のネットワークとの間の(たとえば、パケットベース通信などの)通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、通信インターフェース1410は、イーサネットまたは他のワイヤベースネットワークと通信するためのネットワークインターフェースコントローラ(NIC)またはネットワークアダプタ、あるいはWI-FIネットワークなどのワイヤレスネットワークと通信するためのワイヤレスNIC(WNIC)またはワイヤレスアダプタを含み得る。本開示は、任意の好適なネットワークと、そのネットワークのための任意の好適な通信インターフェース1410とを企図する。限定としてではなく一例として、コンピュータシステム1400は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つまたは複数の部分、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスであり得る。一例として、コンピュータシステム1400は、(たとえば、BLUETOOTH WPANなどの)ワイヤレスPAN(WPAN)、WI-FIネットワーク、WI-MAXネットワーク、(たとえば、モバイル通信用グローバルシステム(GSM)ネットワークなどの)セルラー電話ネットワーク、または他の好適なワイヤレスネットワーク、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。コンピュータシステム1400は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース1410を含み得る。通信インターフェース1410は、適切な場合、1つまたは複数の通信インターフェース1410を含み得る。本開示は、特定の通信インターフェースを説明し、示すが、本開示は任意の好適な通信インターフェースを企図する。
【0091】
特定の実施形態では、バス1412は、コンピュータシステム1400の構成要素を互いに結合する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、バス1412は、アクセラレーテッドグラフィックスポート(AGP)または他のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、HYPERTRANSPORT(HT)相互接続、業界標準アーキテクチャ(ISA)バス、INFINIBAND相互接続、ローピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺構成要素相互接続(PCI)バス、PCI-Express(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス規格協会ローカル(VLB)バス、または別の好適なバス、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。バス1412は、適切な場合、1つまたは複数のバス1412を含み得る。本開示は、特定のバスを説明し、示すが、本開示は任意の好適なバスまたは相互接続を企図する。
【0092】
本明細書では、1つまたは複数のコンピュータ可読非一時的記憶媒体は、適切な場合、(たとえば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向けIC(ASIC)などの)1つまたは複数の半導体ベースまたは他の集積回路(IC)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタルカードまたはドライブ、任意の他の好適なコンピュータ可読非一時的記憶媒体、あるいはこれらのうちの2つまたはそれ以上の任意の好適な組合せを含み得る。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性との組合せであり得る。
【0093】
本明細書では、「または」は、明確に別段に示されていない限り、またはコンテキストによって別段に示されていない限り、包括的であり、排他的ではない。したがって、本明細書では、「AまたはB」は、明確に別段に示されていない限り、またはコンテキストによって別段に示されていない限り、「A、B、またはその両方」を意味する。その上、「および」は、明確に別段に示されていない限り、またはコンテキストによって別段に示されていない限り、共同と個別の両方である。したがって、本明細書では、「AおよびB」は、明確に別段に示されていない限り、またはコンテキストによって別段に示されていない限り、「共同でまたは個別に、AおよびB」を意味する。
【0094】
本開示の範囲は、当業者が理解するであろう、本明細書で説明または示される例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または示される例示的な実施形態に限定されない。その上、本開示は、本明細書のそれぞれの実施形態を、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして説明し、示すが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書のどこかに説明または示される構成要素、要素、特徴、機能、動作、またはステップのうちのいずれかの任意の組合せまたは置換を含み得る。さらに、特定の機能を実施するように適応されるか、構成されるか、実施することが可能であるか、実施するように設定されるか、実施することが可能にされるか、実施するように動作可能であるか、または実施するように動作する、装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲における参照は、その装置、システム、または構成要素が、そのように適応されるか、構成されるか、可能であるか、設定されるか、可能にされるか、動作可能であるか、または動作する限り、その装置、システム、構成要素またはその特定の機能が、アクティブにされるか、オンにされるか、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。さらに、本開示は、特定の実施形態を、特定の利点を提供するものとして説明するかまたは示すが、特定の実施形態は、これらの利点のいずれをも提供しないか、いくつかを提供するか、またはすべてを提供し得る。
図1A
図1B
図2
図3
図4
図5
図6A
図6B
図6C
図6D
図6E
図6F
図7
図8
図9
図10
図11
図12
図13
図14