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

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

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

特表2024-501958ピクセル整列ボリュメトリックアバター
<>
  • 特表-ピクセル整列ボリュメトリックアバター 図1
  • 特表-ピクセル整列ボリュメトリックアバター 図2
  • 特表-ピクセル整列ボリュメトリックアバター 図3
  • 特表-ピクセル整列ボリュメトリックアバター 図4A
  • 特表-ピクセル整列ボリュメトリックアバター 図4B
  • 特表-ピクセル整列ボリュメトリックアバター 図4C
  • 特表-ピクセル整列ボリュメトリックアバター 図5
  • 特表-ピクセル整列ボリュメトリックアバター 図6
  • 特表-ピクセル整列ボリュメトリックアバター 図7
  • 特表-ピクセル整列ボリュメトリックアバター 図8
  • 特表-ピクセル整列ボリュメトリックアバター 図9
  • 特表-ピクセル整列ボリュメトリックアバター 図10
  • 特表-ピクセル整列ボリュメトリックアバター 図11
  • 特表-ピクセル整列ボリュメトリックアバター 図12
  • 特表-ピクセル整列ボリュメトリックアバター 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-17
(54)【発明の名称】ピクセル整列ボリュメトリックアバター
(51)【国際特許分類】
   G06T 15/20 20110101AFI20240110BHJP
   G06T 7/00 20170101ALI20240110BHJP
   G06T 17/00 20060101ALI20240110BHJP
   H04N 13/275 20180101ALI20240110BHJP
【FI】
G06T15/20
G06T7/00 350B
G06T17/00
H04N13/275
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023538974
(86)(22)【出願日】2021-12-21
(85)【翻訳文提出日】2023-08-22
(86)【国際出願番号】 US2021064690
(87)【国際公開番号】W WO2022140445
(87)【国際公開日】2022-06-30
(31)【優先権主張番号】63/129,989
(32)【優先日】2020-12-23
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/556,367
(32)【優先日】2021-12-20
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.JAVA
3.PYTHON
(71)【出願人】
【識別番号】515046968
【氏名又は名称】メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】META PLATFORMS TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】弁理士法人World IP
(72)【発明者】
【氏名】ロンバルディ, スティーヴン アンソニー
(72)【発明者】
【氏名】サラギ, ジェーソン
(72)【発明者】
【氏名】サイモン クロイツ, トマス
(72)【発明者】
【氏名】齋藤 隼介
(72)【発明者】
【氏名】ソルフーファー, マイケル
(72)【発明者】
【氏名】ラジ, アミット
(72)【発明者】
【氏名】ヘイズ, ジェームズ ヘンリー
【テーマコード(参考)】
5B080
5L096
【Fターム(参考)】
5B080AA17
5B080BA04
5B080CA00
5B080FA02
5B080FA17
5B080GA06
5B080GA22
5L096DA02
5L096HA11
5L096JA11
5L096KA04
(57)【要約】
ピクセル整列ボリュメトリックアバターを形成する方法は、対象の少なくとも2つ以上の視野を有する複数の二次元画像を受信することを含む。方法は、学習可能な重みのセットを使用して二次元画像から複数の画像特徴を抽出することと、画像特徴を、対象の三次元モデルと観察者のために選択された観測点との間の方向に沿って投影することと、観察者に、対象の三次元モデルの画像を提供することとをも含む。上記方法を実施するための命令を記憶するシステムおよび非一時的コンピュータ可読メディアも提供される。
【選択図】図3
【特許請求の範囲】
【請求項1】
対象の少なくとも2つ以上の視野を有する複数の二次元画像を受信することと、
学習可能な重みのセットを使用して前記二次元画像から複数の画像特徴を抽出することと、
前記画像特徴を、前記対象の三次元モデルと観察者のために選択された観測点との間の方向に沿って投影することと、
前記観察者に、前記対象の前記三次元モデルの画像を提供することと
を含む、コンピュータ実装方法。
【請求項2】
画像特徴を抽出することが、前記二次元画像を収集するために使用されるカメラの内的特性を抽出することを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記対象の三次元モデルと観察者のために選択された観測点との間の方向に沿って画像特徴を投影することが、第1の方向に関連付けられた特徴マップを第2の方向に関連付けられた特徴マップで補間することを含む、請求項1または2に記載のコンピュータ実装方法。
【請求項4】
前記対象の三次元モデルと選択された観測点との間の方向に沿って画像特徴を投影することが、前記対象の前記三次元モデルと前記選択された観測点との間の前記方向に沿って複数のピクセルについて前記画像特徴を集約することを含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
【請求項5】
前記対象の三次元モデルと選択された観測点との間の方向に沿って画像特徴を投影することが、順列不変組み合わせにおいて複数のカメラの各々によって生成された複数の特徴マップを連結することを含み、前記複数のカメラの各々が内的特性を有する、請求項1から4のいずれか一項に記載のコンピュータ実装方法。
【請求項6】
前記対象の前記三次元モデルの前記画像と前記対象のグランドトゥルース画像との間の差に基づいて、損失関数を評価することと、前記損失関数に基づいて、学習可能な重みの前記セットのうちの少なくとも1つを更新することとを更に含む、請求項1から5のいずれか一項に記載のコンピュータ実装方法。
【請求項7】
前記対象がクライアントデバイスのユーザであり、前記クライアントデバイスが、前記ユーザに向けられたウェブカメラを有し、前記選択された観測点を、前記クライアントデバイスから前記ユーザに向けられた前記ウェブカメラのロケーションとして識別することを更に含む、請求項1から6のいずれか一項に記載のコンピュータ実装方法。
【請求項8】
前記観察者がネットワーク結合クライアントデバイスを使用しており、前記対象の前記三次元モデルの画像を提供することが、前記対象の前記三次元モデルの複数の画像を有するビデオを前記ネットワーク結合クライアントデバイスにストリーミングすることを含む、請求項1から7のいずれか一項に記載のコンピュータ実装方法。
【請求項9】
前記対象が、クライアントデバイスであって、前記クライアントデバイスで動作している没入型現実アプリケーションを有するクライアントデバイスのユーザであり、前記選択された観測点を、前記没入型現実アプリケーション内の、前記観察者が位置するロケーションとして識別することを更に含む、請求項1から8のいずれか一項に記載のコンピュータ実装方法。
【請求項10】
複数の命令を記憶するメモリと、
1つまたは複数のプロセッサと
を備えるシステムであって、前記1つまたは複数のプロセッサが、前記システムに請求項1から9のいずれか一項に記載の方法を実施させるために前記命令を実行するように構成された、システム。
【請求項11】
対象のビューを仮想現実ヘッドセット内の自動立体視ディスプレイに提供するようにモデルをトレーニングするためのコンピュータ実装方法であって、
複数のユーザの顔から、複数のグランドトゥルース画像を収集することと、
画像の記憶され、較正された立体視ペアを用いて前記グランドトゥルース画像を修正することと、
三次元顔モデルを用いて、対象の複数の合成ビューを生成することであって、対象の前記合成ビューが、前記対象の複数のビューに対応する異なる方向に沿って投影された複数の特徴マップの補間を含む、対象の複数の合成ビューを生成することと、
前記グランドトゥルース画像と対象の前記合成ビューとの間の差に基づいて前記三次元顔モデルをトレーニングすることと
を含む、コンピュータ実装方法。
【請求項12】
複数の合成ビューを生成することが、選択された観測方向に沿って前記グランドトゥルース画像の各々から画像特徴を投影することと、順列不変組み合わせにおいて前記グランドトゥルース画像の各々によって生成された複数の特徴マップを連結することとを含み、前記グランドトゥルース画像の各々が内的特性を有する、請求項11に記載のコンピュータ実装方法。
【請求項13】
前記三次元顔モデルをトレーニングすることが、前記グランドトゥルース画像と対象の前記合成ビューとの間の前記差を示す損失関数の値に基づいて、前記特徴マップ中の複数の特徴の各々について、学習可能な重みのセット中の少なくとも1つを更新することを含む、請求項11または12に記載のコンピュータ実装方法。
【請求項14】
前記三次元顔モデルをトレーニングすることが、
前記複数のグランドトゥルース画像から投影されたピクセル背景値に基づいて、前記グランドトゥルース画像中の複数のピクセルの各々について背景値をトレーニングすること、および/または
前記複数のグランドトゥルース画像を収集する複数のカメラの各々について特定の特徴を使用して背景モデルを生成すること
を含む、請求項11から13のいずれか一項に記載のコンピュータ実装方法。
【請求項15】
所望の点において種々の方向にわたってカメラ要約特徴ベクトルを形成するために、複数のカメラからの複数の特徴ベクトルを平均化することによって、前記特徴マップを補間することを更に含む、請求項11から14のいずれか一項に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本開示は、その内容全体があらゆる目的のために参照により本明細書に組み込まれる、2020年12月23日に出願された、Lombardiらによる「LEARNING TO PREDICT IMPLICIT VOLUMETRIC AVATARS」と題する、米国仮出願第63/129,989号に関係し、その米国特許法第119条(e)項に基づく優先権を主張する。
【0002】
本開示は、仮想現実(VR)アプリケーションおよび拡張現実(AR)アプリケーションにおいてリアルタイム・ボリュメトリック・アバターを生成するための忠実な顔の表情の生成に関する。より具体的には、本開示は、VR/ARアプリケーションのためのマルチアイデンティティ設定におけるリアルタイム・ボリュメトリック・アバターを提供する。
【背景技術】
【0003】
VR/ARアプリケーションの分野では、写真のようにリアルな人間の頭部の獲得およびレンダリングは、仮想テレプレゼンスを達成するための困難な問題である。現在、最高の品質は、マルチビューデータに関して人固有の方法でトレーニングされるボリュメトリック手法によって達成される。これらのモデルは、より単純なメッシュベースのモデルと比較して、毛髪などの微細構造をより良好に表す。ボリュメトリックモデルは、典型的には、小さいアニメーション・パラメータ・セットによって動かすことができるように、顔の表情を表すためにグローバルコードを採用する。そのようなアーキテクチャは、印象的なレンダリング品質を達成するが、マルチアイデンティティ設定に容易に拡張することができず、計算コストが高く、「リアルタイム」アプリケーションにおいて実践することが難しい。
【発明の概要】
【0004】
第1の態様では、対象の少なくとも2つ以上の視野を有する複数の二次元画像を受信することと、学習可能な重みのセットを使用して二次元画像から複数の画像特徴を抽出することと、画像特徴を、対象の三次元モデルと観察者のために選択された観測点との間の方向に沿って投影することと、観察者に、対象の三次元モデルの画像を提供することとを含む、コンピュータ実装方法が提供される。
【0005】
画像特徴を抽出することは、二次元画像を収集するために使用されるカメラの内的特性を抽出することを含み得る。
【0006】
対象の三次元モデルと観察者のために選択された観測点との間の方向に沿って画像特徴を投影することは、第1の方向に関連付けられた特徴マップを第2の方向に関連付けられた特徴マップで補間することを含み得る。
【0007】
対象の三次元モデルと選択された観測点との間の方向に沿って画像特徴を投影することは、対象の三次元モデルと選択された観測点との間の方向に沿って複数のピクセルについて画像特徴を集約することを含み得る。
【0008】
対象の三次元モデルと選択された観測点との間の方向に沿って画像特徴を投影することは、順列不変組み合わせにおいて複数のカメラの各々によって生成された複数の特徴マップを連結することを含み得、複数のカメラの各々が内的特性を有する。
【0009】
本方法は、対象の三次元モデルの画像と対象のグランドトゥルース画像との間の差に基づいて、損失関数を評価することと、損失関数に基づいて、学習可能な重みのセットのうちの少なくとも1つを更新することとを更に含み得る。
【0010】
対象はクライアントデバイスのユーザであり得、クライアントデバイスはユーザに向けられたウェブカメラを有する。本方法は、選択された観測点を、クライアントデバイスからユーザに向けられたウェブカメラのロケーションとして識別することを更に含み得る。
【0011】
観察者はネットワーク結合クライアントデバイスを使用していることがあり、対象の三次元モデルの画像を提供することは、対象の三次元モデルの複数の画像を有するビデオをネットワーク結合クライアントデバイスにストリーミングすることを含み得る。
【0012】
対象は、そこで動作している没入型現実アプリケーションを有するクライアントデバイスのユーザであり得、本方法は、選択された観測点を、没入型現実アプリケーション内の、観察者が位置するロケーションとして識別することを更に含み得る。
【0013】
第2の態様では、複数の命令を記憶するメモリと、1つまたは複数のプロセッサとを備えるシステムが提供され、1つまたは複数のプロセッサは、システムに第1の態様の方法を実施させるために命令を実行するように構成される。
【0014】
命令を含むコンピュータプログラム製品も記載され、命令は、プログラムがコンピュータによって実行されると、コンピュータに第1の態様の方法を実行させる。
【0015】
命令を含むコンピュータ可読記憶メディアも記載され、命令は、コンピュータによって実行されると、コンピュータに第1の態様の方法を実行させる。メディアは非一時的であり得る。
【0016】
第3の態様では、対象のビューを仮想現実ヘッドセット内の自動立体視ディスプレイに提供するようにモデルをトレーニングするためのコンピュータ実装方法が提供され、本方法は、複数のユーザの顔から、複数のグランドトゥルース画像を収集することと、画像の記憶され、較正された立体視ペアを用いてグランドトゥルース画像を修正することと、三次元顔モデルを用いて、対象の複数の合成ビューを生成することであって、対象の合成ビューが、対象の複数のビューに対応する異なる方向に沿って投影された複数の特徴マップの補間を含む、生成することと、グランドトゥルース画像と対象の合成ビューとの間の差に基づいて三次元顔モデルをトレーニングすることとを含む。
【0017】
複数の合成ビューを生成することは、選択された観測方向に沿ってグランドトゥルース画像の各々から画像特徴を投影することと、順列不変組み合わせにおいてグランドトゥルース画像の各々によって生成された複数の特徴マップを連結することとを含み得、グランドトゥルース画像の各々が内的特性を有する。
【0018】
三次元顔モデルをトレーニングすることは、グランドトゥルース画像と対象の合成ビューとの間の差を示す損失関数の値に基づいて、特徴マップ中の複数の特徴の各々について、学習可能な重みのセット中の少なくとも1つを更新することを含み得る。
【0019】
三次元顔モデルをトレーニングすることは、複数のグランドトゥルース画像から投影されたピクセル背景値に基づいて、グランドトゥルース画像中の複数のピクセルの各々について背景値をトレーニングすることを含み得る。
【0020】
本方法は、所望の点において種々の方向にわたってカメラ要約特徴ベクトルを形成するために、複数のカメラからの複数の特徴ベクトルを平均化することによって、特徴マップを補間することを更に含み得る。
【0021】
三次元顔モデルをトレーニングすることは、複数のグランドトゥルース画像を収集する複数のカメラの各々について特定の特徴を使用して背景モデルを生成することを含み得る。
【0022】
複数の命令を記憶するメモリと、1つまたは複数のプロセッサとを備えるシステムも記載され、1つまたは複数のプロセッサは、システムに第3の態様の方法を実施させるために命令を実行するように構成される。
【0023】
命令を含むコンピュータプログラム製品も記載され、命令は、プログラムがコンピュータによって実行されると、コンピュータに第3の態様の方法を実行させる。
【0024】
命令を含むコンピュータ可読記憶メディアも記載され、命令は、コンピュータによって実行されると、コンピュータに第3の態様の方法を実行させる。メディアは非一時的であり得る。
【図面の簡単な説明】
【0025】
図1】仮想現実環境において、リアルタイムの、衣服を着た対象のアニメーションを提供するのに適した例示的なアーキテクチャを示す図である。
図2図1のアーキテクチャからの例示的なサーバおよびクライアントを示すブロック図である。
図3】VR/ARヘッドセットユーザの顔の一部分の3D描画のために使用されるモデルアーキテクチャのブロック図である。
図4A】入力として2つのビューのみが与えられた場合に計算されたボリュメトリックアバターを示す図である。
図4B】入力として2つのビューのみが与えられた場合に計算されたボリュメトリックアバターを示す図である。
図4C】入力として2つのビューのみが与えられた場合に計算されたボリュメトリックアバターを示す図である。
図5】グランドトゥルースアイデンティティと比較した異なる技法、すなわち、現実キャプチャ、ニューラルボリューム、グローバル調整、ニューラル・ラジアンス・フィールド(NeRF)、およびピクセル整列技法を示す図である。
図6】グランドトゥルースと比較した、eNerfおよびピクセル整列アバターを使用してカノニカル視点において生成されたアルファ/ノーマル/アバターを示す図である。
図7】ビューの数に対する予測テクスチャを示す図である。
図8】背景除去結果を示す図である。
図9】浅い畳み込みネットワークを含む、採用される特徴抽出器の選択に対するピクセル整列特徴の感度を示す図である。
図10】カメラアウェアな特徴要約戦略を示す図である。
図11】ユーザの顔の一部分の複数の二次元(2D)画像からユーザの顔の一部分の三次元(3D)ビューをレンダリングするための方法におけるフローチャートである。
図12】ユーザの顔の一部分の複数の二次元(2D)画像からユーザの顔の一部分の三次元(3D)ビューをレンダリングするようにモデルをトレーニングするための方法におけるフローチャートである。
図13】ARまたはVRデバイスを使用するための方法のうちの少なくともいくつかを実施するように構成されたコンピュータシステムを示す図である。
【発明を実施するための形態】
【0026】
図面では、別段に明記されていない限り、同様の要素は、それらの説明に従って同様にラベリングされる。
【0027】
以下の詳細な説明では、本開示の完全な理解を提供するため、多数の具体的な詳細が説明される。しかしながら、本開示の実施形態はこれらの具体的な詳細のいくつかがなくても実践できることが、当業者には明白となるであろう。他の例では、よく知られている構造および技法については、本開示の妨げとならないよう、詳細には示していない。
【0028】
全体の概要
仮想テレプレゼンスアプリケーションは、人間の頭部を高い精度および忠実度で表すことを試みる。人間の頭部は、それらの複雑な幾何学的形状および外観特性、すなわち、皮膚の表面下散乱、微細スケールの表面細部、細い構造の毛髪、ならびに人間の目および歯が反射性かつ透光性であるために、モデル化およびレンダリングすることが困難である。既存の手法には、人間の頭部の人固有のモデルさえも再構成するための(最大数百個のカメラを有する)複雑で高価なマルチビュー・キャプチャ・リグがある。現在、高品質の手法は、テクスチャメッシュではなくボリュメトリックモデルを採用されるが、これは、それらが、写真のようにリアルな外観を達成するのに重要である、毛髪のような顔の微細構造を表すことをより良く学習することができるためである。ボリュメトリックモデルは、典型的には、顔の表情を表すためにグローバルコードを採用するか、または静的シーンにのみ有効である。そのようなアーキテクチャは、印象的なレンダリング品質を達成するが、マルチアイデンティティ設定に適応することが難しい。表情を制御するために使用されるグローバルコードは、対象間のアイデンティティバリエーションをモデル化するために十分ではない。この問題を解決するためのいくつかの試みは、シーンおよびオブジェクトを表すための暗黙的モデルを含む。これらのモデルは、シーンが連続空間内のパラメトリック関数として表され、これが幾何学的形状およびテクスチャのきめ細かい推論を可能にするという利点を有する。しかしながら、これらの手法は、例えばテクスチャ表面を有する毛髪で提示されるビュー依存効果をモデル化することができない。本手法は、オブジェクトにわたって、ただし低分解能においてのみ一般化することができ、単にランバート面のみを扱うことができ、これは、人間の頭部に十分でない。上記の方法の1つの欠点は、それらが単一のシーンまたはオブジェクトのみをモデル化するようにトレーニングされることである。複数のオブジェクトを生成することができる方法は、典型的には、予測テクスチャおよび幾何学的形状の品質および分解能に関して制限される。例えば、グローバル画像符号化(例えば、画像ごとの単一の潜在コードベクトル)から重みのセットを生成する、シーン表現ネットワーク(SRN)などの方法は、ローカルな変化(例えば、顔の表情)に一般化することが困難であり、入力画像において可視であるときでも高周波の細部を復元することができない。これは、グローバル潜在コードが画像中の情報を要約し、データのコンパクトな符号化を生成するために一部の情報を破棄しなければならないためである。
【0029】
コンピュータネットワークのための没入型現実アプリケーションの分野における上記の問題を解決するために、本明細書で開示される実施形態は、限られた数の入力から予測された、人間の頭部のボリュメトリックアバターを実現する。これを達成するために、本明細書で開示される実施形態は、ニューラル・ラジアンス・フィールドをモデル入力から直接抽出されたローカルなピクセル整列特徴と組み合わせるパラメータ化によって、複数のアイデンティティにわたるモデル一般化を可能にする。この手法は、リアルタイム没入型アプリケーションにおいて実現され得る浅い単純なネットワークをもたらす。いくつかの実施形態では、測光再レンダリング損失関数に関してトレーニングされたモデルは、対象ベースのアバターをリアルタイムでレンダリングするために明示的な3D監督を使用しないことがある。本明細書で開示されるモデルは、マルチアイデンティティ設定において忠実な顔の表情を生成し、したがって、リアルタイムのグループ没入型アプリケーションの分野において適用可能である。本明細書で開示される実施形態は、リアルタイムで複数の見えないアイデンティティおよび表情に一般化し、時間的画像シーケンスの良好な表現を提供する。
【0030】
いくつかの実施形態は、人間の頭部の少数の入力画像のみを使用してボリュメトリック3Dアバターを推定するためのピクセル整列ボリュメトリックアバター(PVA)モデルを含む。PVAモデルは、リアルタイムで、見えないアイデンティティに一般化することができる。アイデンティティにわたる一般化を改善するために、PVAモデルは、入力画像から抽出されたローカルなピクセル整列特徴を介してボリュメトリックモデルをパラメータ化する。したがって、PVAモデルは、レンダリングされたアバターにおける高周波の細部を保持しながら、見えないアイデンティティおよび表情のための新規のビューを合成することができる。加えて、いくつかの実施形態は、任意のビュー方向において、空間内の任意の点について提示された画像のスパースなセットから暗黙的形状および外観を予測するピクセル整列ラジアンスフィールドを含む。
【0031】
例示的なシステムアーキテクチャ
図1は、ボリュメトリック・アバター・モデル・エンジンにアクセスするのに適した例示的なアーキテクチャ100を示す。アーキテクチャ100は、ネットワーク150を介してクライアントデバイス110および少なくとも1つのデータベース152と通信可能に結合されたサーバ130を含む。多くのサーバ130のうちの1つは、プロセッサによって実行されると、サーバ130に本明細書で開示される方法におけるステップのうちの少なくともいくつかを実施させる命令を含むメモリをホストするように構成される。いくつかの例では、プロセッサは、没入型現実アプリケーションを用いてボリュメトリック・アバター・モデル・エンジンにアクセスするクライアントデバイス110のうちの1つのユーザのためのグラフィカル・ユーザ・インターフェース(GUI)を制御するように構成される。したがって、プロセッサは、GUIを介してユーザに構成要素およびグラフィック結果を表示するように構成されたダッシュボードツールを含み得る。負荷分散の目的で、複数のサーバ130が、1つまたは複数のプロセッサへの命令を含むメモリをホストすることができ、複数のサーバ130は、ボリュメトリック・アバター・モデル・エンジンのために使用される複数のトレーニングアーカイブを含む履歴ログおよびデータベース152をホストすることができる。更に、いくつかの例では、クライアントデバイス110の複数のユーザが、1つまたは複数の没入型現実アプリケーションを実行するために同じボリュメトリック・アバター・モデル・エンジンにアクセスし得る。いくつかの例では、単一のクライアントデバイス110を有する単一のユーザが、1つまたは複数のサーバ130において並列に動作する1つまたは複数の機械学習モデルをトレーニングするために画像およびデータを提供し得る。したがって、クライアントデバイス110およびサーバ130は、ネットワーク150、およびデータベース152中のデータなど、そこに位置するリソースを介して、互いに通信し得る。
【0032】
サーバ130は、関連付けられた複数のツールを含むボリュメトリック・アバター・モデル・エンジンをホストするための適切なプロセッサ、メモリ、および通信能力を有する任意のデバイスを含み得る。ボリュメトリック・アバター・モデル・エンジンは、ネットワーク150を介して様々なクライアント110によってアクセス可能であり得る。クライアント110は、例えば、デスクトップコンピュータ、モバイルコンピュータ、(例えば、電子書籍リーダを含む)タブレットコンピュータ、モバイルデバイス(例えば、スマートフォンまたはPDA)、または、サーバ130のうちの1つまたは複数上のボリュメトリック・アバター・モデル・エンジンにアクセスするための適切なプロセッサ、メモリ、および通信能力を有する任意の他のデバイスであり得る。いくつかの例では、クライアントデバイス110は、サーバ130のうちの1つまたは複数によってサポートされるボリュメトリック・アバター・モデルを使用して没入型現実アプリケーションを実行するように構成されたVR/ARヘッドセットを含み得る。ネットワーク150は、例えば、ローカル・エリア・ツール(LAN)、ワイド・エリア・ツール(WAN)、インターネットなどのうちの任意の1つまたは複数を含むことができる。更に、ネットワーク150は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スターバスネットワーク、ツリーまたは階層ネットワークなどを含む、以下のツールトポロジのうちの任意の1つまたは複数を含むことができるが、それらに限定されない。
【0033】
図2は、アーキテクチャ100からの例示的なサーバ130およびクライアントデバイス110を示すブロック図200である。クライアントデバイス110およびサーバ130は、それぞれの通信モジュール218-1および218-2(以下、「通信モジュール218」と総称される)を介して、ネットワーク150を介して通信可能に結合される。通信モジュール218は、ネットワーク150を介して他のデバイスに、データ、要求、応答、およびコマンドなどの情報を送信および受信するために、ネットワーク150とインターフェースするように構成される。通信モジュール218は、例えば、モデムまたはイーサネットカードであり得、(例えば、無線周波数(RF)、ニアフィールド通信(NFC)、WiFi、およびBlueTooth無線技術などの電磁放射を介して)ワイヤレス通信のための無線ハードウェアおよびソフトウェアを含み得る。ユーザは、入力デバイス214および出力デバイス216を介してクライアントデバイス110と対話し得る。入力デバイス214は、マウス、キーボード、ポインタ、タッチスクリーン、マイクロフォン、ジョイスティック、仮想ジョイスティックなどを含み得る。いくつかの例では、入力デバイス214は、カメラ、マイクロフォン、ならびに、タッチセンサ、音響センサ、慣性運動ユニット(IMU)、およびVR/ARヘッドセットに入力データを提供するように構成された他のセンサなどのセンサを含み得る。例えば、いくつかの例では、入力デバイス214は、VR/ARヘッドセット内にユーザの瞳孔の位置を検出するための視線追跡デバイスを含み得る。出力デバイス216は、スクリーンディスプレイ、タッチスクリーン、スピーカなどであり得る。クライアントデバイス110は、メモリ220-1およびプロセッサ212-1を含み得る。メモリ220-1は、クライアントデバイス110内で動作し、入力デバイス214および出力デバイス216と結合するように構成された、アプリケーション222およびGUI225を含み得る。アプリケーション222は、ユーザによってサーバ130からダウンロードされ得、サーバ130によってホストされ得る。いくつかの例では、クライアントデバイス110はVR/ARヘッドセットであり、アプリケーション222は没入型現実アプリケーションである。
【0034】
サーバ130は、メモリ220-2と、プロセッサ212-2と、通信モジュール218-2とを含む。以下、プロセッサ212-1および212-2、ならびにメモリ220-1および220-2は、それぞれ、「プロセッサ212」および「メモリ220」と総称される。プロセッサ212は、メモリ220に記憶された命令を実行するように構成される。いくつかの例では、メモリ220-2は、ボリュメトリック・アバター・モデル・エンジン232を含む。ボリュメトリック・アバター・モデル・エンジン232は、没入型現実アプリケーション(例えば、アプリケーション222)のための三次元アバター・レンダリング・モデルをトレーニングし、使用することに関連付けられた複数のツールを含む、特徴およびリソースを共有するか、またはGUI225に提供し得る。ユーザは、クライアントデバイス110のメモリ220-1にインストールされたアプリケーション222を通してボリュメトリック・アバター・モデル・エンジン232にアクセスし得る。したがって、GUI225を含むアプリケーション222は、サーバ130によってインストールされ、複数のツールのいずれか1つを通してサーバ130によって提供されるスクリプトおよび他のルーチンを実施し得る。アプリケーション222の実行は、プロセッサ212-1によって制御され得る。
【0035】
その点に関して、ボリュメトリック・アバター・モデル・エンジン232は、本明細書で開示されるように、PVAモデル240を作成、記憶、更新、および維持するように構成され得る。PVAモデル240は、エンコーダ-デコーダツール242と、レイ・マーチング・ツール244と、ラジアンス・フィールド・ツール246とを含み得る。エンコーダ-デコーダツール242は、対象の複数の同時ビューを有する入力画像を収集し、レイ・マーチング・ツール244におけるレイマーチング手順を介してラジアンス・フィールド・ツール246を調整するためにピクセル整列特徴を抽出する。PVAモデル240は、エンコーダ-デコーダツール242によって処理された1つまたは複数のサンプル画像から、見えない対象の新規のビューを生成することができる。いくつかの例では、エンコーダ-デコーダツール242は、(例えば、少数の1ノード層または2ノード層を含む)浅い畳み込みネットワークである。いくつかの例では、ラジアンス・フィールド・ツール246は、三次元ロケーションおよびピクセル整列特徴を、任意の所望のビュー方向に投影され得る色および不透明度フィールドに変換する。
【0036】
いくつかの例では、ボリュメトリック・アバター・モデル・エンジン232は、トレーニングデータベース252に記憶された1つまたは複数の機械学習モデルにアクセスし得る。トレーニングデータベース252は、アプリケーション222を通したユーザの入力に従って、機械学習モデルのトレーニングにおいてボリュメトリック・アバター・モデル・エンジン232によって使用され得るトレーニングアーカイブおよび他のデータファイルを含む。更に、いくつかの例では、少なくとも1つまたは複数のトレーニングアーカイブまたは機械学習モデルは、メモリ220のいずれか1つに記憶され得、ユーザは、アプリケーション222を通したそれらへのアクセスを有し得る。
【0037】
ボリュメトリック・アバター・モデル・エンジン232は、そこに含まれるエンジンおよびツールの特定の目的のためにトレーニングされたアルゴリズムを含み得る。アルゴリズムは、ニューラル・ネットワーク・アルゴリズム、または多変量回帰アルゴリズムなど、任意の線形または非線形アルゴリズムを利用する、機械学習または人工知能アルゴリズムを含み得る。いくつかの例では、機械学習モデルは、ニューラルネットワーク(NN)、畳み込みニューラルネットワーク(CNN)、敵対的生成ニューラルネットワーク(GAN)、深層強化学習(DRL)アルゴリズム、深層リカレント・ニューラル・ネットワーク(DRNN)、ランダムフォレスト、k近傍法(KNN)アルゴリズム、k平均クラスタリングアルゴリズムなどの古典的な機械学習アルゴリズム、またはそれらの任意の組み合わせを含み得る。より一般的には、機械学習モデルは、トレーニングステップおよび最適化ステップを含む任意の機械学習モデルを含み得る。いくつかの例では、トレーニングデータベース252は、機械学習モデルの所望の結果に従って係数を変更するためのトレーニングアーカイブを含み得る。したがって、いくつかの例では、ボリュメトリック・アバター・モデル・エンジン232は、機械学習モデルのための入力として文書およびアーカイブを検索するために、トレーニングデータベース252にアクセスするように構成される。いくつかの例では、ボリュメトリック・アバター・モデル・エンジン232、そこに含まれるツール、およびトレーニングデータベース252の少なくとも一部は、サーバ130またはクライアントデバイス110によってアクセス可能である異なるサーバにおいてホストされ得る。
【0038】
図3は、VR/ARヘッドセットユーザの顔部分の3D描画のために使用されるモデルアーキテクチャ300のブロック図を示す。モデルアーキテクチャ300は、ピクセル整列ボリュメトリックアバター(PVA)モデルである。PVAモデル300は、複数の2D入力画像301-1、301-2、および301-n(以下、「入力画像301」と総称される)を生成するマルチビュー画像集合から学習される。入力画像301の各々は、その特定の画像についてのユーザの顔のビュー方向を示す、カメラ・ビュー・ベクトルv(例えば、v、vおよびv)に関連付けられる。いくつかの例では、入力画像301は、同時に、またはほぼ同時に収集されるため、異なるビューベクトルvが対象の同じボリュメトリック表現を指す。ベクトルvの各々は、カメラ内的パラメータKおよび回転R(例えば、{K,[R|t]})に関連付けられた既知の視点311である。カメラ内的パラメータKは、輝度、色マッピング、センサ効率および他のカメラ依存パラメータを含み得る。回転Rは、カメラに対する対象の頭部の向き(および距離)を示す。異なるカメラセンサは、それらが同じカメラモデルであるという事実にもかかわらず、同じ入射ラジアンスに対してわずかに異なる応答を有する。これに対処するために何も行われない場合、強度差は、最終的にシーン表現Nに織り込まれ、これにより、画像が、特定の視点から不自然に明るくなるかまたは暗くなる。これに対処するために、カメラごとのバイアスおよび利得値を学習する。これは、システムが、データのこの変動を説明する「より容易な」方法を有することを可能にする。
【0039】
当業者が任意の数n個の入力画像301が使用され得ることを理解するように、「n」の値は純粋に例示的なものである。PVAモデル300は、ヘッドセットユーザのボリュメトリック描画321を生成する。ボリュメトリック描画321は、ターゲット視点から対象の2D画像を生成するために使用され得る3Dモデル(例えば、「アバター」)である。この2D画像は、ターゲット視点が変化するにつれて(例えば、観察者がヘッドセットユーザの周りを移動するにつれて)変化する。
【0040】
PVAモデル300は、畳み込みエンコーダ-デコーダ310A、レイ・マーチング・ステージ310B、およびラジアンス・フィールド・ステージ310C(以下、「PVAステージ310」と総称される)を含む。PVAモデル300は、勾配降下を使用して、マルチアイデンティティ・トレーニング・コーパスから選択された入力画像301でトレーニングされる。したがって、PVAモデル300は、複数の対象からの予測画像と対応するグランドトゥルースとの間で定義される損失関数を含む。これは、PVAモデル300が、対象とは無関係に正確なボリュメトリック描画321をレンダリングすることを可能にする。
【0041】
畳み込みエンコーダ-デコーダネットワーク310Aは、入力画像301を取り、ピクセル整列特徴マップ303-1、303-2、および303-n(以下、「特徴マップ303」f(i)と総称される)を生成する。レイ・マーチング・ステージ310Bは、ターゲットビューj中でレイに沿ってピクセルの各々をたどり、これは{Kj,[R|t]j}によって定義され、各点においてラジアンス・フィールド・ステージ310Cによって生成された色cおよび光学濃度(「不透明度」)を累積する。ラジアンス・フィールド・ステージ310C(N)は、3Dロケーションおよびピクセル整列特徴を色および不透明度に変換して、ラジアンスフィールド315をレンダリングする(c,σ)。
【0042】
入力画像301は、方向vに沿ってカメラによって収集された2D画像に対応する高さ(h)および幅(w)、ならびに各色ピクセルR、G、Bについての3つの層の深さを有する3Dオブジェクトである。特徴マップ303は、寸法h×w×dを有する3Dオブジェクトである。エンコーダ-デコーダネットワーク310Aは、学習可能な重み320-1、320-2...320-n(以下、「学習可能な重み320」と総称される)を使用して入力画像301を符号化する。レイ・マーチング・ステージ310Bは、世界-カメラ投影323と、双一次補間325と、位置符号化327と、特徴集約329とを実施する。
【0043】
いくつかの例では、調整ビューv∈Rh×w×3の場合、特徴マップ303は、関数として定義され得る。
【0044】
ここで、φ(X):R→R6×lは、2×lの異なる基底関数での点330(X∈R)の位置符号化である。点330(X)は、対象の2D画像から特定の視点331(r)に向けられたレイに沿った点である。特徴マップ303(f(i)∈Rh×w×d)は、カメラ位置ベクトルvに関連付けられ、ここで、dは特徴チャネルの数であり、hおよびwは画像の高さおよび幅であり、f∈Rd’は点Xに関連付けられた集約画像特徴である。各特徴マップf(i)について、レイ・マーチング・ステージ310Bは、その特定の視点のカメラ内的(K)および外的(R,t)パラメータを使用してレイに沿って3D点Xを投影することによって、f∈Rを取得する。
【0045】
ここで、Πはカメラピクセル座標への透視投影関数であり、F(f,x)はピクセルロケーションxにおけるfの双一次補間325である。レイ・マーチング・ステージ310Bは、ラジアンス・フィールド・ステージ310Cのための複数の画像からのピクセル整列特徴f(i) を組み合わせる。
【0046】
カメライントリンシクスKならびに回転および並進R,tを有する各所与のトレーニング画像vについて、カメラの焦点面における所与の視点および中心331(r)∈Rについてのピクセルp∈Rの予測色は、カメラ-世界投影行列P-1=[R|t-1-1 を使用してレイをシーンにマーチさせることによって取得され、レイの方向は、
によって与えられる。
【0047】
レイ・マーチング・ステージ310Bは、以下のように、t∈[tnear,tfar]についてr(t)=r+tdによって定義される、レイ335に沿ったラジアンスおよび不透明度値を累積する。
【0048】
ここで、
【0049】
いくつかの例では、レイ・マーチング・ステージ310Bは、n個の点のセットt~[tnear,tfar]を均一にサンプリングする。X=r(t)を設定して、積分6および7を近似するために直交規則が使用され得る。関数Iα(p)は、以下のように定義され得る。
【0050】
ここで、α=1-exp(-δ・σ)であり、δはレイ335に沿ったi+1番目のサンプル点とi番目のサンプル点との間の距離である。
【0051】
既知のカメラ視点vおよび固定数の調整ビューを有するマルチビュー設定では、レイ・マーチング・ステージ310Bは、単純な連結によって特徴を集約する。具体的には、式(3)の場合のように各点Xについて特徴{f(i) i=1を使用して、{R i=1および{ti}ni=1によって与えられる対応する回転行列および並進行列を有するn個の調整画像{v i=1について、レイ・マーチング・ステージ310Bは、以下のように最終特徴を生成する。
【0052】
ここで、
は深さ寸法に沿った連結を表す。これは、視点{v i=1からの特徴情報を保持し、PVAモデル300が最良の組み合わせを決定し、調整情報を採用するのを助ける。
【0053】
いくつかの例では、PVAモデル300は、視点および調整ビューの数に依存しない。調整ビューの数は事前に知られていないことがあり、これは推論時間中に異なる特徴寸法(d)をもたらすため、上記のような単純な連結は、この場合不十分である。マルチビュー設定についての特徴を要約するために、いくつかの例は、任意の置換ψについて、
G(f(1),...,f(n))=G([fψ(1),fψ(2)...,fψ(n)])
であるような、順列不変関数G:Rn×d→Rを含む。
【0054】
特徴集約のための単純な順列不変関数は、サンプリングされた特徴マップ303の平均である。この集約手順は、トレーニング中の深さ情報が利用可能であるときに望ましいことがある。しかしながら、(例えば、サンプリング前に特徴マップ303に投影された点について)深さのあいまいさが存在する場合、上記の集約はアーチファクトをもたらし得る。これを回避するために、いくつかの例は、放射フィールドステージ310Cにおける効果的な調整を含むべきカメラ情報を考慮する。したがって、いくつかの例は、特徴ベクトルf(i) 、およびカメラ情報(ci)を取り、カメラ要約特徴ベクトルf’(i) を生成する調整関数ネットワークNcf:Rd+7→Rd’を含む。次いで、これらの変更されたベクトルは、以下のように、複数のまたは全ての調整ビューにわたって平均化される。
【0055】
この手法の利点は、特徴平均が実施される前に、カメラ要約特徴が、起こり得るオクルージョンを考慮に入れることができることである。カメラ情報は、4D回転四元数および3Dカメラ位置として符号化される。
【0056】
いくつかの例はまた、シーン表現において背景の一部を学習することを回避するために、背景推定ネットワークNbgを含み得る。背景推定ネットワークNbgは、カメラごとの固定背景を学習するために、Nbg:Rnc:→Rh×w×3として定義され得る。いくつかの例では、放射フィールドステージ310Cは、Nbgを使用して、最終画像ピクセルを以下のように予測し得る。
=Irgb+(1-Iα)・Ibg (11)
【0057】
カメラcについてIbg
+Nbg(c)であり、ここで、
は、インペインティングを使用して抽出された背景の初期推定値であり、Iαは式(8)によって定義される通りである。これらのインペイントされた背景は、しばしばノイズが多く、人の頭部の周りに「ハロー」効果をもたらす。これを回避するために、Nbgモデルは、インペイントされた背景に対する残差を学習する。これは、背景を考慮するために大容量ネットワークを必要としないという利点を有する。
【0058】
グランドトゥルースターゲット画像vについて、PVAモデル300は、単純な測光再構成損失を使用して、ラジアンス・フィールド・ステージ310Cと特徴抽出ネットワークの両方をトレーニングする。
【0059】
図4A図4Cは、ボリュメトリックアバター421A-1、421A-2、421A-3、421A-4、および421A-5(以下、「ボリュメトリックアバター421A」と総称される)、421B-1、421B-2、421B-3、421B-4、および421B-5(以下、「ボリュメトリックアバター421B」と総称される)、421C-1、421C-2、421C-3、421C-4、および421C-5(以下、「ボリュメトリックアバター421C」と総称される)を示す。ボリュメトリックアバター421A、421B、および421C(以下、「ボリュメトリックアバター421」と総称される)は、入力として2つの対象ビューのみを使用して取得された、多様な対象の高忠実度の再現である。
【0060】
ボリュメトリックアバター421は、本明細書で開示されるPVAモデルが、多数の新規の視点から、入力として2つのビューのみが与えられた場合の異なる対象アバターの複数のビューを生成することができることを示す。
【0061】
図5は、アバター521A-1、521A-2、521A-3、521A-4(以下、「現実キャプチャアバター521A」と総称される)、アバター521B-1、521B-2、521B-3、521B-4(以下、「ニューラル・ボリューム・アバター521B」と総称される)、アバター521C-1、521C-2、521C-3、521C-4(以下、「グローバル調整cNeRFアバター521C」と総称される)、およびアバター521D-1、521D-2、521D-3、521D-4(以下、「ボリュメトリックアバター521D」と総称される)を示す。アバター521A、521B、521C、および521Dは、以下で「アバター521」と総称される。アバター521は、再構成を計算するための入力として、新規のアイデンティティの2つの入力画像から取得され、グランドトゥルース画像501-1、501-2、501-3、および501-4(以下、「グランドトゥルース画像501」と総称される)と比較される。
【0062】
現実キャプチャアバター521Aは、キャプチャされた画像のセットから3Dモデルを再構成する、動きからの構造復元(SFM)およびマルチビューステレオ(MVS)アルゴリズムで取得される。ニューラル・ボリューム・アバター521Bは、シーンの動的画像をグローバルに符号化し、シーンを表すボクセルグリッドおよびワープフィールドを復号するボクセルベースの推論方法で取得される。cNeRFアバター521Cは、グローバルアイデンティティ調整を伴うNeRFアルゴリズムの変形(cNeRF)である。いくつかの例では、cNeRFアバター521Cは、各トレーニングアイデンティティについて単一の64D特徴ベクトルを抽出し、この入力に対して更にNeRFモデルを調整するために、VGGネットワークを採用する。ボリュメトリックアバター521Dは、本明細書で開示されるように、PVAモデルで取得される。
【0063】
ボリュメトリックアバター521Dは、典型的には更に多くのグランドトゥルース画像501を使用して良好な再構成を取得する、現実キャプチャアバター521Aよりも完全な再構成である。ボリュメトリックアバター521Dはまた、本明細書で開示されるPVAモデルにおけるピクセル整列特徴により、cNerfアバター521Cよりも詳細な再構成をもたらし、これは、試験時間においてモデルについてのより完全な情報を提供する。
【0064】
以下の表1は、異なるメトリクスを使用した、性能ボリュメトリックアバター521DとNVアバター521BおよびcNeRFアバター521Cとの比較である。構造的類似性指数(SSIM)は、好ましくは1の最大値を有し、学習知覚画像パッチ類似性(LPIPS)メトリックおよび平均二乗誤差(MSE)メトリックは、好ましくはより低い値を有する。
表1
【0065】
本明細書で開示されるPVAモデルは、見えないアイデンティティにうまく一般化しない、ニューラルボリュームおよびcNeRFのようなシーン固有の方法でトレーニングされたグローバルアイデンティティ符号化方法の特定の短所を解決する。例えば、cNeRFアバター521Cは顔の特徴が滑らかにされ、このモデルは学習されたグローバル先行物に大きく依存するため、(521C-3および521C-4中の顔の毛、ならびに521C-2中の毛の長さのような)見えないアイデンティティのローカルな細部のうちのいくつかが失われる。現実キャプチャアバター521Aは、SfM+MVSフレームワークに構築された先行モデルがないので頭部構造をキャプチャすることができず、これは不完全な再構成をもたらす。RC521Aモデルのための新規のアイデンティティを忠実に再構成するために、多数の画像が必要とされる。ニューラル・ボリューム・アバター521Bは、ある程度のローカル情報を考慮する生成されたワープフィールドのために、より良好なテクスチャを生成する。しかしながら、ニューラル・ボリューム・アバター521Bは、グローバル符号化で構成されたエンコーダを使用し、試験時間アイデンティティを最も近いトレーニング時間アイデンティティに投影し、これは不正確なアバター予測をもたらす。ボリュメトリックアバター521Dは、毛髪の構造と共に、ほんの2つの例示的な視点からボリュメトリック頭部を再構成する。
【0066】
図6は、生成されたアルファビュー631A-1、631A-2、および631A-3(以下、「アルファビュー631A」と総称される)、ノーマルビュー633A-1、633A-2、および633A-3(以下、「ノーマルビュー633A」と総称される)、eNerfを使用したアバタービュー621A-1、621A-2、および621A-3(以下、「アバター621A」と総称される)、ならびに3つの異なる対象についての関連するグランドトゥルース画像601-1、601-2、および601-3を示す。本明細書で開示されるように、アルファビュー631B-1、631B-2、および631B-3(以下、「アルファビュー631B」と総称される)、ノーマルビュー633B-1、633B-2、および633B-3(以下、「ノーマルビュー633B」と総称される)、ならびにPVAモデルで取得されたピクセル整列アバターについてのアバタービュー621B-1、621B-2、および621B-3(以下、「アバター621B」と総称される)。
【0067】
アバター621Bは、顔の表情を新規のアイデンティティに一般化するのがより困難であるアバター621Aと比較して、表情情報をキャプチャするのに良く適している。621Aアバターを取得するために、NeRFモデルは、ワンホット表情コードと、試験時間アイデンティティに関するワンホットアイデンティティ情報(eNeRF)とが条件とされている。しかしながら、トレーニング中に全てのアイデンティティを見たにもかかわらず、アバター621Bは、アバター621Aと比較して、複数のアイデンティティの動的表情により良く一般化する。PVAモデルは調整のためにローカル特徴を活用するため、アバター621Bは、アバター621Aよりも良好に、特定のアイデンティティ(幾何学的形状とテクスチャの両方)に対する動的効果をキャプチャする。
【0068】
図7は、ビュー(行)の数に対する予測アバター721-1、721-2、721-3、721-4、および725-5(以下、「アバター721」と総称される)を示す。ノーマルビュー733-1、733-2、733-3、733-4、および733-5(以下、「ノーマルビュー733」と総称される)が、アバター721の各々に関連付けられている。
【0069】
アバター721およびノーマルビュー733は、画像701-1、701-2、701-3、701-4、および701-5(以下、「グランドトゥルース画像701」と総称される)においてキャプチャされたものとは異なる、対象のビューを示す。PVAモデルはトレーニングアイデンティティから形状先行物を学習するため、ノーマルビュー733は、グランドトゥルース画像701のアイデンティティと一致する。しかしながら、一番端のビュー(733-1および721-1)に外挿すると、「調整」グランドトゥルース画像701中で見えない顔の部分にアーチファクトが現れる。これは、サンプル点のグランドトゥルース画像701-1への投影による、固有の深さのあいまいさに起因する。PVAモデルは、現在、異なるビューからの特徴に関するさらなる情報、したがって深さ情報を有するので、第2のビュー(例えば、グランドトゥルース画像701-2)の追加は、ノーマルビュー733-2およびアバター721-2中でこれらのアーチファクトを既に大幅に低減する。一般に、本明細書で開示されるPVAモデルは、ほんの2つの調整ビューで大きなビュー外挿を達成することができる。
【0070】
図8は、入力画像801-1および801-2(以下、「入力画像801」と総称される)に基づいてノーマルビュー833-1および833-2(以下、「ノーマルビュー833」と総称される)から導出されたアバター821-1および821-2(以下、「アバター821」と総称される)の背景除去結果を示す。
【0071】
図9は、調整ビュー901に基づく、採用される特徴抽出器921A(「砂時計型ネットワーク」)、921B(「UNet」)、および921C(浅い畳み込みネットワーク)の選択に対するPVAモデルの感度を示す。921Aおよび921Bは、信頼できる特徴抽出器である。いくつかの例では、浅いエンコーダ-デコーダアーキテクチャ921Cは、全てのピクセルレベル情報をボトルネック層に符号化する必要なしにより多くのローカル情報を保持するので、実施し、望ましいことがある。
【0072】
図10は、カメラアウェアな特徴要約戦略を示す。第1の対象について、異なるビューに対応し、異なるカメラで収集された入力画像1001A-1、1001B-1、および1001C-1(以下、「入力画像1001-1」と総称される)は、カメラ固有情報なし(アバター1021A-1)で、またはカメラ固有情報あり(アバター1021B-1)で平均化される。同様に、第2の対象について、異なるビューおよびカメラに対応する入力画像1001A-2、1001B-2、および1001C-2(以下、「入力画像1001-2」と総称される)は、カメラ固有情報なし(アバター1021A-2)で、またはカメラ固有情報あり(アバター1021B-2)で平均化される。および第3の対象について、異なるビューおよびカメラに対応する入力画像1001A-3、1001B-3、および1001C-3(以下、「入力画像1001-3」と総称される)は、カメラ固有情報(カメラ内的(K)および外的(R,t)パラメータ、式(3)参照)なし(アバター1021A-3)で、またはカメラ固有情報あり(アバター1021B-3)で平均化される。
【0073】
特に、カメラ情報なしでは、アバター1021A-1、1021A-2、および1021A-3は、(特に、アバター1021A-1および1021A-2中の)異なる視点からの情報の一貫性のない平均化により、生成された画像中にストリーキングを提示する。
【0074】
図11は、ユーザの顔の一部分の複数の二次元(2D)画像からユーザの顔の一部分の三次元(3D)ビューをレンダリングするための方法1100におけるフローチャートを示す。方法1100におけるステップは、少なくとも部分的に、メモリに記憶された命令を実行するプロセッサによって実施され得、プロセッサおよびメモリは、本明細書で開示されるようなクライアントデバイスまたはVR/ARヘッドセット(例えば、メモリ220、プロセッサ212、クライアントデバイス110)の一部である。更に他の例では、方法1100と一致する方法におけるステップのうちの少なくとも1つまたは複数は、メモリに記憶された命令を実行するプロセッサによって実施され得、プロセッサおよびメモリのうちの少なくとも1つは、クラウドサーバ内に遠隔配置され、ヘッドセットデバイスは、ネットワークに結合された通信モジュールを介してクラウドサーバに通信可能に結合される(サーバ130、通信モジュール218参照)。いくつかの例では、方法1100は、エンコーダ-デコーダツールとレイ・マーチング・ツールとラジアンス・フィールド・ツールとを含むPVAモデルをトレーニングするように構成されたボリュメトリック・アバター・モデル・エンジンを使用して実施され得、これらのツールは、本明細書で開示されるように、機械学習または人工知能アルゴリズムにおけるニューラル・ネットワーク・アーキテクチャ(例えば、ボリュメトリック・アバター・モデル・エンジン232、PVAモデル240、エンコーダ-デコーダツール242、レイ・マーチング・ツール244、およびラジアンス・フィールド・ツール246)を含む。いくつかの例では、本開示と一致する方法は、異なる順序で、同時に、ほぼ同時に、または時間的に重複して実施される、方法1100からの少なくとも1つまたは複数のステップを含み得る。
【0075】
ステップ1102は、対象の少なくとも2つ以上の視野を有する複数の二次元画像を受信することを含む。
【0076】
ステップ1104は、学習可能な重みのセットを使用して二次元画像から複数の画像特徴を抽出することを含む。いくつかの例では、ステップ1104は、二次元画像を収集するために使用されるカメラの内的特性を抽出することを含む。
【0077】
ステップ1106は、画像特徴を、対象の三次元モデルと観察者のために選択された観測点との間の方向に沿って投影することを含む。いくつかの例では、ステップ1106は、第1の方向に関連付けられた特徴マップを第2の方向に関連付けられた特徴マップで補間することを含み、備える。いくつかの例では、ステップ1106は、対象の三次元モデルと選択された観測点との間の方向に沿って複数のピクセルについて画像特徴を集約することを含む。いくつかの例では、ステップ1106は、順列不変組み合わせにおいて複数のカメラの各々によって生成された複数の特徴マップを連結することを含み、複数のカメラの各々が内的特性を有する。
【0078】
いくつかの例では、対象は、ユーザに向けられたウェブカメラを有するクライアントデバイスのユーザであり、ステップ1106は、選択された観測点を、クライアントデバイスからユーザに向けられたウェブカメラのロケーションとして識別することを含む。いくつかの例では、対象は、そこで動作している没入型現実アプリケーションを有するクライアントデバイスのユーザであり、ステップ1106は、選択された観測点を、没入型現実アプリケーション内の、観察者が位置するロケーションとして識別することを更に含む。
【0079】
ステップ1108は、観察者に、対象の三次元モデルの画像を提供することを含む。いくつかの例では、ステップ1108は、対象の三次元モデルの画像と対象のグランドトゥルース画像との間の差に基づいて、損失関数を評価することと、損失関数に基づいて、学習可能な重みのセットのうちの少なくとも1つを更新することとを含む。いくつかの例では、観察者はネットワーク結合クライアントデバイスを使用しており、ステップ1108は、対象の三次元モデルの複数の画像を有するビデオをネットワーク結合クライアントデバイスにストリーミングすることを含む。
【0080】
図12は、ユーザの顔の一部分の複数の二次元(2D)画像からユーザの顔の一部分の三次元(3D)ビューをレンダリングするようにモデルをトレーニングするための方法1200におけるフローチャートを示す。方法1200におけるステップは、少なくとも部分的に、メモリに記憶された命令を実行するプロセッサによって実施され得、プロセッサおよびメモリは、本明細書で開示されるようなクライアントデバイスまたはVR/ARヘッドセット(例えば、メモリ220、プロセッサ212、クライアントデバイス110)の一部である。更に他の例では、方法1200と一致する方法におけるステップのうちの少なくとも1つまたは複数は、メモリに記憶された命令を実行するプロセッサによって実施され得、プロセッサおよびメモリのうちの少なくとも1つは、クラウドサーバ内に遠隔配置され、ヘッドセットデバイスは、ネットワークに結合された通信モジュールを介してクラウドサーバに通信可能に結合される(サーバ130、通信モジュール218参照)。いくつかの例では、方法1200は、エンコーダ-デコーダツールとレイ・マーチング・ツールとラジアンス・フィールド・ツールとを含むPVAモデルをトレーニングするように構成されたボリュメトリック・アバター・モデル・エンジンを使用して実施され得、これらのツールは、本明細書で開示されるように、機械学習または人工知能アルゴリズムにおけるニューラル・ネットワーク・アーキテクチャ(例えば、ボリュメトリック・アバター・モデル・エンジン232、PVAモデル240、エンコーダ-デコーダツール242、レイ・マーチング・ツール244、およびラジアンス・フィールド・ツール246)を含む。いくつかの例では、本開示と一致する方法は、異なる順序で、同時に、ほぼ同時に、または時間的に重複して実施される、方法1200からの少なくとも1つまたは複数のステップを含み得る。
【0081】
ステップ1202は、複数のユーザの顔から、複数のグランドトゥルース画像を収集することを含む。
【0082】
ステップ1204は、画像の記憶され、較正された立体視ペアを用いてグランドトゥルース画像を修正することを含む。
【0083】
ステップ1206は、三次元顔モデルを用いて、対象の複数の合成ビューを生成することを含み、対象の合成ビューが、対象の複数のビューに対応する異なる方向に沿って投影された複数の特徴マップの補間を含む。いくつかの例では、ステップ1206は、選択された観測方向に沿ってグランドトゥルース画像の各々から画像特徴を投影することと、順列不変組み合わせにおいてグランドトゥルース画像の各々によって生成された複数の特徴マップを連結することとを含み、グランドトゥルース画像の各々が内的特性を有する。いくつかの例では、ステップ1206は、所望の点において種々の方向にわたってカメラ要約特徴ベクトルを形成するために、複数のカメラからの複数の特徴ベクトルを平均化することによって、特徴マップを補間することを更に含む。
【0084】
ステップ1208は、グランドトゥルース画像と対象の合成ビューとの間の差に基づいて三次元顔モデルをトレーニングすることを含む。いくつかの例では、ステップ1208は、グランドトゥルース画像と対象の合成ビューとの間の差を示す損失関数の値に基づいて、特徴マップ中の複数の特徴の各々について、学習可能な重みのセット中の少なくとも1つを更新することを含む。いくつかの例では、ステップ1208は、複数のグランドトゥルース画像から投影されたピクセル背景値に基づいて、グランドトゥルース画像中の複数のピクセルの各々について背景値をトレーニングすることを含む。いくつかの例では、ステップ1208は、複数のグランドトゥルース画像を収集する複数のカメラの各々について特定の特徴を使用して背景モデルを生成することを含む。
【0085】
ハードウェアの概要
図13は、ヘッドセットおよび他のクライアントデバイス110、ならびに方法1100および1200が実現され得る例示的なコンピュータシステム1300を示すブロック図である。特定の態様では、コンピュータシステム1300は、専用サーバ内にあるか、別のエンティティに統合されているか、または複数のエンティティにわたって分散されているかのいずれかで、ハードウェア、またはソフトウェアとハードウェアの組み合わせを使用して、実現され得る。コンピュータシステム1300は、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、ファブレット、スマートフォン、フィーチャフォン、サーバコンピュータ、その他を含み得る。サーバコンピュータは、データセンタ内に遠隔配置されてもよく、または、ローカルに格納されてもよい。
【0086】
コンピュータシステム1300は、情報を通信するためのバス1308または他の通信機構と、情報を処理するためにバス1308と結合されたプロセッサ1302(例えば、プロセッサ212)とを含む。例として、コンピュータシステム1300は、1つまたは複数のプロセッサ1302で実現され得る。プロセッサ1302は、汎用マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、ステートマシン、ゲート論理、個別ハードウェア構成要素、あるいは、情報の計算または他の操作を実施することができる任意の他の好適なエンティティであり得る。
【0087】
コンピュータシステム1300は、ハードウェアに加えて、ランダム・アクセス・メモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能PROM(EPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、DVD、または情報およびプロセッサ1302によって実行されるべき命令を記憶するためのバス1308と結合された任意の他の好適な記憶デバイスなど、含まれるメモリ1304(例えば、メモリ220)に記憶された、問題のコンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェアを構成するコード、プロトコルスタック、データベース管理システム、オペレーティングシステム、あるいはそれらのうちの1つまたは複数の組み合わせを含むことができる。プロセッサ1302およびメモリ1304は、専用論理回路によって補完されるか、または専用論理回路に組み込まれ得る。
【0088】
命令は、メモリ1304に記憶され、1つまたは複数のコンピュータプログラム製品、例えば、コンピュータシステム1300による実行のために、またはその動作を制御するためにコンピュータ可読メディア上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールにおいて、また、データ指向言語(例えば、SQL、dBase)、システム言語(例えば、C、オブジェクティブC、C++、アセンブリ)、アーキテクチャ言語(例えば、Java、.NET)、およびアプリケーション言語(例えば、PHP、Ruby、Perl、Python)などのコンピュータ言語を含むがそれらに限定されない、当業者によく知られている任意の方法に従って、実現され得る。命令はまた、アレイ言語、アスペクト指向言語、アセンブリ言語、オーサリング言語、コマンド・ライン・インターフェース言語、コンパイル言語、並列言語、カーリーブラケット言語、データフロー言語、データ構造化言語、宣言型言語、難解言語、拡張言語、第4世代言語、関数型言語、インタラクティブモード言語、インタープリタ型言語、反復言語、リストベース言語、小言語、論理ベース言語、機械言語、マクロ言語、メタプログラミング言語、マルチパラダイム言語、数値解析、非英語ベース言語、オブジェクト指向クラスベース言語、オブジェクト指向プロトタイプベース言語、オフサイドルール言語、手続き型言語、反射言語、ルールベース言語、スクリプト言語、スタックベース言語、同期言語、構文処理言語、視覚言語、ヴィルト言語、およびxmlベース言語などのコンピュータ言語で実現され得る。メモリ1304はまた、プロセッサ1302によって実行されるべき命令の実行中に一時変数または他の中間情報を記憶するために使用され得る。
【0089】
本明細書で説明されるコンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータ(例えば、マークアップ言語文書に記憶された1つまたは複数のスクリプト)を保持するファイルの一部分に、問題のプログラムに専用の単一のファイルに、あるいは複数の協調ファイル(例えば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、あるいは、1つのサイトに配置されたか、または複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開され得る。本明細書に記載されるプロセスおよび論理フローは、入力データに作用し、出力を生成することによって機能を実施するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実施され得る。
【0090】
コンピュータシステム1300は、情報および命令を記憶するための、バス1308と結合された、磁気ディスクまたは光ディスクなどのデータ記憶デバイス1306を更に含む。コンピュータシステム1300は、入出力モジュール1310を介して様々なデバイスに結合され得る。入出力モジュール1310は、任意の入出力モジュールであり得る。例示的な入出力モジュール1310は、USBポートなどのデータポートを含む。入出力モジュール1310は、通信モジュール1312に接続するように構成される。例示的な通信モジュール1312は、イーサネットカードおよびモデムなどのネットワーキング・インターフェース・カードを含む。特定の態様では、入出力モジュール1310は、入力デバイス1314および/または出力デバイス1316などの複数のデバイスに接続するように構成される。例示的な入力デバイス1314は、消費者がコンピュータシステム1300に入力を提供することができるキーボードおよびポインティングデバイス、例えばマウスまたはトラックボールを含む。触覚入力デバイス、視覚入力デバイス、オーディオ入力デバイス、または脳コンピュータ・インターフェース・デバイスなど、他の種類の入力デバイス1314も、消費者との対話を提供するために使用され得る。例えば、消費者に提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、消費者からの入力は、音響入力、音声入力、触覚入力、または脳波入力を含む任意の形態で受信され得る。例示的な出力デバイス1316は、消費者に情報を表示するための、LCD(液晶ディスプレイ)モニタなどのディスプレイデバイスを含む。
【0091】
本開示の一態様によれば、ヘッドセットおよびクライアントデバイス110は、メモリ1304に含まれる1つまたは複数の命令の1つまたは複数のシーケンスを実行するプロセッサ1302に応答して、少なくとも部分的に、コンピュータシステム1300を使用して実現され得る。そのような命令は、データ記憶デバイス1306などの別の機械可読メディアからメモリ1304に読み込まれ得る。メインメモリ1304に含まれる命令のシーケンスの実行は、プロセッサ1302に本明細書に記載されるプロセスステップを実施させる。メモリ1304に含まれる命令のシーケンスを実行するために、多重処理構成における1つまたは複数のプロセッサも採用され得る。代替態様では、本開示の様々な態様を実現するために、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、ハードワイヤード回路が使用され得る。したがって、本開示の態様は、ハードウェア回路とソフトウェアとの任意の特定の組み合わせに限定されない。
【0092】
本明細書に記載される主題の様々な態様は、バックエンド構成要素、例えばデータサーバを含むか、ミドルウェア構成要素、例えばアプリケーションサーバを含むか、フロントエンド構成要素、例えば、本明細書に記載される主題の実現例と消費者が対話することができるグラフィカル消費者インターフェースまたはウェブブラウザを有するクライアントコンピュータを含むか、あるいは、1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の任意の組み合わせを含む、コンピューティングシステムにおいて実現され得る。システムの構成要素は、任意の形態またはメディアのデジタルデータ通信、例えば通信ネットワークによって相互接続され得る。通信ネットワークは、例えば、LAN、WAN、インターネットなどのうちの任意の1つまたは複数を含むことができる。更に、通信ネットワークは例えば、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スターバスネットワーク、ツリーまたは階層ネットワークなどを含む、以下のネットワークトポロジのうちの任意の1つまたは複数を含むことができるが、それらに限定されない。通信モジュールは、例えば、モデムまたはイーサネットカードであり得る。
【0093】
コンピュータシステム1300は、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに遠隔にあり、典型的には、通信ネットワークを通して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作し、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。コンピュータシステム1300は、例えば、限定はしないが、デスクトップコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータであり得る。コンピュータシステム1300はまた、別のデバイス、例えば、限定はしないが、携帯電話、PDA、モバイル・オーディオ・プレーヤ、全地球測位システム(GPS)受信機、ビデオ・ゲーム・コンソール、および/またはテレビジョン・セット・トップ・ボックスに埋め込まれ得る。
【0094】
本明細書で使用される「機械可読記憶メディア」または「コンピュータ可読メディア」という用語は、実行のためにプロセッサ1302に命令を提供することに関与する任意の1つまたは複数のメディアを指す。そのようなメディアは、不揮発性メディア、揮発性メディア、および送信メディアを含むがそれらには限定されない多くの形態を取ることが可能である。不揮発性メディアは、例えば、データ記憶デバイス1306など、光ディスクまたは磁気ディスクを含む。揮発性メディアは、メモリ1304など、ダイナミックメモリを含む。送信メディアは、バス1308を形成するワイヤを含む、同軸ケーブル、銅線、および光ファイバを含む。機械可読メディアの一般的な形態は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気メディア、CD-ROM、DVD、任意の他の光学メディア、パンチカード、紙テープ、穴のパターンを有する任意の他の物理メディア、RAM、PROM、EPROM、FLASH EPROM、任意の他のメモリチップもしくはカートリッジ、またはコンピュータが読み取ることができる任意の他のメディアを含む。機械可読記憶メディアは、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝搬信号に影響を及ぼす組成物、またはそれらの1つまたは複数の組み合わせであり得る。
【0095】
ハードウェアとソフトウェアの互換性を説明するために、様々な例示的なブロック、モジュール、構成要素、方法、動作、命令、およびアルゴリズムなどの項目は、一般的にそれらの機能性に関して説明された。そのような機能性が、ハードウェアとして実現されるのか、ソフトウェアとして実現されるのか、ハードウェアとソフトウェアの組み合わせとして実現されるのかは、特定の用途およびシステム全体に課される設計制約に依存する。当業者は、各特定の用途について様々な方法で、説明された機能性を実現し得る。
【0096】
本明細書で使用するとき、一連の項目の前にある「少なくとも1つの」という語句は、その項目のいずれかを区切る「および」または「または」という用語を伴って、リストの各要素(例えば、各項目)ではなくリスト全体を修飾する。「少なくとも1つの」という語句は、少なくとも1つの項目を選択することを要するのではなく、それよりもむしろ、この語句により、項目のいずれか1つの少なくとも1つ、および/または項目のいずれかの組み合わせの少なくとも1つ、および/または項目それぞれの少なくとも1つを含むという意味を可能にしている。例として、「A、B、およびCのうち少なくとも1つ」または「A、B、またはCのうち少なくとも1つ」という語句はそれぞれ、Aのみ、Bのみ、またはCのみ、A、B、およびCの任意の組み合わせ、ならびに/あるいはA、B、およびCそれぞれのうち少なくとも1つを指す。
【0097】
「例示的」という語句は、本明細書では、「例、実例、または例示としての役割を果たす」ことを意味するのに使用される。本明細書において「例示」として記載されるあらゆる実施形態は、必ずしも他の実施形態よりも好ましいかまたは有利なものとして解釈されるものではない。1つの態様、その態様、別の態様、いくつかの態様、1つまたは複数の態様、1つの実現例、その実現例、別の実現例、いくつかの実現例、1つまたは複数の実現例、1つの実施形態、その実施形態、別の実施形態、いくつかの実施形態、1つまたは複数の実施形態、1つの構成、その構成、別の構成、いくつかの構成、1つまたは複数の構成、主題の技術、本開示(the disclosure)、本開示(the present disclosure)、およびそれらの他の変形例などの語句は、便宜上のものであり、そのような(1つまたは複数の)語句に関連する開示が主題の技術に必須であること、またはそのような開示が主題の技術の全ての構成に適用されることを暗示するものではない。(1つまたは複数の)そのような語句に関連する開示は、全ての構成、または1つまたは複数の構成に適用され得る。(1つまたは複数の)そのような語句に関連する開示は、1つまたは複数の例を提供し得る。1つの態様またはいくつかの態様などの語句は、1つまたは複数の態様を指すことがあり、その逆も同様であり、これは、他の前述の語句に同様に適用される。
【0098】
単数形での要素の参照は、具体的に規定されていない限り、「唯1つのもの」であることを意味しようとするものではなく、「1つまたは複数」を意味する。「いくつか」という用語は、1つまたは複数を指す。下線および/または斜体の見出しおよび小見出しは、便宜上使用されるにすぎず、主題の技術を限定するものではなく、主題の技術の説明の解釈に関連して言及されるものではない。第1および第2などの関連用語は、あるエンティティまたは行動を別のエンティティまたは行動と区別するために、そのようなエンティティまたは行動間の実際のそのような関係または順序を必ずしも必要とするかまたは暗示することなしに、使用され得る。当業者に知られている、または後に当業者に知られるようになる、本開示全体にわたって記載する様々な構成の要素に対する全ての構造的および機能的同等物は、参照により本明細書に明示的に組み込まれ、主題の技術に包含されるものとする。更に、本明細書に開示するものはいずれも、かかる開示が上記記載に明示的に列挙されているか否かにかかわらず、公衆が利用可能にされるものではない。請求項のいかなる要素も、要素が「ための手段(means for)」という語句を使用して明示的に列挙されないか、または方法クレームの場合、要素が「ためのステップ(step for)」という語句を使用して列挙されない限り、米国特許法第112条の第6パラグラフの規定の下で解釈されるべきではない。
【0099】
本明細書は多くの詳細を包含するが、これらは、説明することができる範囲に対する限定としてではなく、主題の特定の実現例の説明として解釈されるべきである。別個の実施形態の文脈において本明細書に記載される特定の特徴は、単一の実施形態において組み合わせで実現することもできる。逆に、単一の実施形態の文脈において記載される様々な特徴を、複数の実施形態において別個に、または任意の好適な下位の組み合わせで実現することもできる。更に、特徴は、特定の組み合わせで作用するものとして上記に記載され、更にはそのように最初に記載されることがあるが、記載される組み合わせからの1つまたは複数の特徴は、場合によっては、その組み合わせから削除されてもよく、記載される組み合わせは下位の組み合わせまたは下位の組み合わせの変形例を対象としてもよい。
【0100】
本明細書の主題を特定の態様の観点で記載してきたが、他の態様を実現することができ、それらの態様は以下の特許請求の範囲内である。例えば、動作は特定の順序で図面に示されるが、これは、所望の結果を達成するのに、かかる動作が図示される特定の順序または連続順序で実施されること、あるいは図示される全ての動作が実施されることを要するものと理解されるべきではない。特許請求の範囲で列挙される行動は、異なる順序で実施し、かつ依然として望ましい結果を達成することができる。一例として、添付図面に示されるプロセスは、所望の結果を達成するのに、図示される特定の順序または連続順序を必ずしも要するものではない。特定の状況では、マルチタスキングおよび並列処理が有利であってもよい。更に、上述した態様における様々なシステム構成要素の分離は、全ての態様においてかかる分離を要するものと理解されるべきではなく、記載するプログラム構成要素およびシステムを、一般に、単一のソフトウェア製品で互いに統合するか、または複数のソフトウェア製品にパッケージングすることができるものと理解されるべきである。
【0101】
発明の名称、背景技術、図面の簡単な説明、要約、および図面は、本明細書によって本開示に組み込まれ、限定的な説明としてではなく、本開示の例示的な例として提供される。それは、それらが特許請求の範囲またはその意味を限定するために使用されないという理解と共に提出される。加えて、詳細な説明では、説明が例示的な例を提供し、様々な特徴が、本開示を簡素化する目的で様々な実現例において一緒にグループ化されることが分かる。本開示の方法は、記載された主題が各請求項に明示的に列挙されているよりも多くの特徴を必要とするという意図を反映すると解釈されるべきではない。むしろ、特許請求の範囲が反映するように、本発明の主題は、単一の開示された構成または動作の全ての特徴よりも少ないものにある。特許請求の範囲は、本明細書によって詳細な説明に組み込まれ、各請求項は、別個に記載された主題として独立している。
【0102】
特許請求の範囲は、本明細書に記載された態様に限定されるものではなく、クレーム文言と一致する全範囲を与えられ、全ての法的同等物を包含するものとする。それにもかかわらず、特許請求の範囲のいずれも、適用可能な特許法の要件を満たすことができない主題を包含するものではなく、そのように解釈されるべきでもない。
図1
図2
図3
図4A
図4B
図4C
図5
図6
図7
図8
図9
図10
図11
図12
図13
【国際調査報告】