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

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

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

特表2024-513637人間の視覚範囲からのエゴセントリック姿勢推定
<>
  • 特表-人間の視覚範囲からのエゴセントリック姿勢推定 図1A
  • 特表-人間の視覚範囲からのエゴセントリック姿勢推定 図1B
  • 特表-人間の視覚範囲からのエゴセントリック姿勢推定 図2
  • 特表-人間の視覚範囲からのエゴセントリック姿勢推定 図3A
  • 特表-人間の視覚範囲からのエゴセントリック姿勢推定 図3B
  • 特表-人間の視覚範囲からのエゴセントリック姿勢推定 図4
  • 特表-人間の視覚範囲からのエゴセントリック姿勢推定 図5
  • 特表-人間の視覚範囲からのエゴセントリック姿勢推定 図6
  • 特表-人間の視覚範囲からのエゴセントリック姿勢推定 図7
  • 特表-人間の視覚範囲からのエゴセントリック姿勢推定 図8A
  • 特表-人間の視覚範囲からのエゴセントリック姿勢推定 図8B
  • 特表-人間の視覚範囲からのエゴセントリック姿勢推定 図9
  • 特表-人間の視覚範囲からのエゴセントリック姿勢推定 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-27
(54)【発明の名称】人間の視覚範囲からのエゴセントリック姿勢推定
(51)【国際特許分類】
   G06T 7/70 20170101AFI20240319BHJP
   G06T 7/00 20170101ALI20240319BHJP
   G06T 13/40 20110101ALI20240319BHJP
   G06T 17/10 20060101ALI20240319BHJP
【FI】
G06T7/70 Z
G06T7/00 350C
G06T13/40
G06T17/10
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023547420
(86)(22)【出願日】2022-03-29
(85)【翻訳文提出日】2023-10-04
(86)【国際出願番号】 US2022022282
(87)【国際公開番号】W WO2022212325
(87)【国際公開日】2022-10-06
(31)【優先権主張番号】63/169,012
(32)【優先日】2021-03-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/475,063
(32)【優先日】2021-09-14
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】515046968
【氏名又は名称】メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】META PLATFORMS TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】弁理士法人World IP
(72)【発明者】
【氏名】チアン, ハオ
(72)【発明者】
【氏名】イサプ, ヴァムシ クリシュナ
【テーマコード(参考)】
5B050
5B080
5L096
【Fターム(参考)】
5B050AA08
5B050AA09
5B050BA08
5B050BA09
5B050BA12
5B050DA01
5B050EA24
5B050EA26
5B050FA02
5B050FA06
5B050FA10
5B080AA17
5B080BA00
5B080CA00
5B080FA00
5B080FA03
5B080GA00
5L096AA06
5L096CA02
5L096DA02
5L096FA67
5L096FA69
5L096HA05
5L096HA11
(57)【要約】
一実施形態では、コンピューティングシステムは、ユーザによって装着されたヘッドセット上のカメラによって、ユーザの身体部分をキャプチャする画像をキャプチャし得る。システムは、キャプチャされた画像に基づいて、ユーザの動き履歴を符号化する動き特徴を決定し得る。システムは、画像において、ユーザの身体部分に対応する前景ピクセルを検出し得る。システムは、前景ピクセルに基づいて、カメラによってキャプチャされたユーザの身体部分を符号化する形状特徴を決定し得る。システムは、動き特徴および形状特徴に基づいて、ユーザの3次元身体姿勢および3次元頭部姿勢を決定し得る。システムは、前景ピクセルとユーザの3次元頭部姿勢とに基づいて、姿勢ボリューム表現を生成し得る。システムは、姿勢ボリューム表現および3次元身体姿勢に基づいて、ユーザの改善された3次元身体姿勢を決定し得る。
【選択図】図2
【特許請求の範囲】
【請求項1】
コンピューティングシステムによって、
ユーザによって装着されたヘッドセット上のカメラによって、前記カメラを装着した前記ユーザの身体部分の少なくとも一部をキャプチャする1つまたは複数の画像をキャプチャすることと、
前記カメラによってキャプチャされた前記1つまたは複数の画像に基づいて、前記ユーザの身体の動き履歴を符号化する複数の動き特徴を決定することと、
前記1つまたは複数の画像において、前記ユーザの前記身体部分の前記一部に対応する前景ピクセルを検出することと、
前記前景ピクセルに基づいて、前記カメラによってキャプチャされた前記ユーザの前記身体部分の前記一部を符号化する複数の形状特徴を決定することと、
前記複数の動き特徴および前記複数の形状特徴に基づいて、前記ユーザの3次元身体姿勢および3次元頭部姿勢を決定することと、
前記前景ピクセルと前記ユーザの前記3次元頭部姿勢とに基づいて、姿勢ボリューム表現を生成することと、
前記姿勢ボリューム表現および前記3次元身体姿勢に基づいて、前記ユーザの改善された3次元身体姿勢を決定することと
を含む、方法。
【請求項2】
前記ユーザの前記改善された3次元身体姿勢が、前記ユーザの前記身体の前記動き履歴を符号化する前記複数の動き特徴に基づいて決定される、請求項1に記載の方法。
【請求項3】
前記カメラの視野が前向きであり、前記カメラによってキャプチャされた前記1つまたは複数の画像が魚眼画像であり、前記ユーザの前記身体部分の前記一部が、前記ユーザの手、腕、足、または脚を含む、請求項1または2に記載の方法。
【請求項4】
前記ヘッドセットが前記ユーザの頭部に装着され、
前記ヘッドセットに関連付けられた1つまたは複数のIMUを使用してIMUデータを収集することであって、前記複数の動き特徴が、前記IMUデータと前記カメラによってキャプチャされた前記1つまたは複数の画像とに基づいて決定される、IMUデータを収集すること
をさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記IMUデータおよび前記1つまたは複数の画像を同時位置特定・マッピング(SLAM)モジュールに供給することと、
前記同時位置特定・マッピングモジュールを使用して、前記IMUデータおよび前記1つまたは複数の画像に基づいて、1つまたは複数の動き履歴表現を決定することであって、前記複数の動き特徴が前記1つまたは複数の動き履歴表現に基づいて決定される、1つまたは複数の動き履歴表現を決定することと
をさらに含む、請求項4に記載の方法。
【請求項6】
各動き履歴表現が、所定の持続時間にわたって複数のベクトルを含み、前記複数のベクトルの各ベクトルが、前記ユーザの3次元回転、3次元並進、または高さに関連付けられたパラメータを含む、請求項5に記載の方法。
【請求項7】
前記複数の動き特徴が動き特徴モデルを使用して決定され、前記動き特徴モデルが、動き履歴表現から動き特徴を抽出するように訓練されたニューラルネットワークモデルを含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記1つまたは複数の画像を前景-背景セグメント化モジュールに供給することと、
前記前景-背景セグメント化モジュールを使用して、前記1つまたは複数の画像の各画像について前景マスクを決定することであって、前記前景マスクが、前記ユーザの前記身体部分の前記一部に関連付けられた前記前景ピクセルを含み、前記複数の形状特徴が前記前景ピクセルに基づいて決定される、前景マスクを決定することと
をさらに含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記複数の形状特徴が形状特徴モデルを使用して決定され、前記形状特徴モデルが、画像の前景マスクから形状特徴を抽出するように訓練されたニューラルネットワークモデルを含む、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記複数の動き特徴および前記複数の形状特徴の重みのバランスをとることと、
バランスのとれた前記重みに基づいて、融合モジュールに前記複数の動き特徴および前記複数の形状特徴を供給することであって、前記ユーザの前記3次元身体姿勢および前記3次元頭部姿勢が前記融合モジュールによって決定される、前記複数の動き特徴および前記複数の形状特徴を供給することと
をさらに含む、請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記姿勢ボリューム表現が、前記ユーザの前記3次元身体姿勢および前記3次元頭部姿勢のための3次元身体形状エンベロープに対応する、請求項1から10のいずれか一項に記載の方法。
【請求項12】
前記姿勢ボリューム表現が、前記ユーザの前記前景ピクセルを3次元立方体空間に逆投影することによって生成される、請求項1から11のいずれか一項に記載の方法。
【請求項13】
前記前景ピクセルが、前記3次元身体姿勢と前記3次元頭部姿勢とを互いに一致させたままにする制約の下で、前記3次元立方体空間に逆投影される、請求項12に記載の方法。
【請求項14】
前記姿勢ボリューム表現と、前記複数の動き特徴と、前記1つまたは複数の画像の前記前景ピクセルとを、3次元姿勢改善モデルに供給することをさらに含み、前記ユーザの前記改善された3次元身体姿勢が、前記3次元姿勢改善モデルによって決定される、請求項1から13のいずれか一項に記載の方法。
【請求項15】
前記3次元姿勢改善モデルが、前記姿勢ボリューム表現から特徴を抽出するための3次元ニューラルネットワークを含み、前記姿勢ボリューム表現から抽出された前記特徴が、前記複数の動き特徴および前記3次元身体姿勢と連結される、請求項14に記載の方法。
【請求項16】
前記3次元姿勢改善モデルが改善回帰ネットワークを含み、
前記改善回帰ネットワークに、前記複数の動き特徴および前記3次元身体姿勢と連結された前記姿勢ボリューム表現から抽出された前記特徴を供給することであって、前記ユーザの前記改善された3次元身体姿勢が前記改善回帰ネットワークによって出力される、前記特徴を供給すること
をさらに含む、請求項14または15に記載の方法。
【請求項17】
前記改善された3次元身体姿勢がリアルタイムで決定され、
前記ユーザの前記改善された3次元身体姿勢に基づいて、前記ユーザのためのアバターを生成することと、
前記アバターをディスプレイに表示することと
をさらに含む、請求項1から16のいずれか一項に記載の方法。
【請求項18】
前記ユーザの前記改善された3次元身体姿勢に基づいて、ステレオ音信号を生成することと、
前記ステレオ音信号に基づくステレオ音響を前記ユーザに対して再生することと
をさらに含む、請求項1から17のいずれか一項に記載の方法。
【請求項19】
ソフトウェアを具現化する1つまたは複数のコンピュータ可読非一時的記憶媒体であって、前記ソフトウェアは、実行されたとき、
ユーザによって装着されたヘッドセット上のカメラによって、前記カメラを装着した前記ユーザの身体部分の少なくとも一部をキャプチャする1つまたは複数の画像をキャプチャすることと、
前記カメラによってキャプチャされた前記1つまたは複数の画像に基づいて、前記ユーザの身体の動き履歴を符号化する複数の動き特徴を決定することと、
前記1つまたは複数の画像において、前記ユーザの前記身体部分の前記一部に対応する前景ピクセルを検出することと、
前記前景ピクセルに基づいて、前記カメラによってキャプチャされた前記ユーザの前記身体部分の前記一部を符号化する複数の形状特徴を決定することと、
前記複数の動き特徴および前記複数の形状特徴に基づいて、前記ユーザの3次元身体姿勢および3次元頭部姿勢を決定することと、
前記前景ピクセルと前記ユーザの前記3次元頭部姿勢とに基づいて、姿勢ボリューム表現を生成することと、
前記姿勢ボリューム表現および前記3次元身体姿勢に基づいて、前記ユーザの改善された3次元身体姿勢を決定することと
を行うように動作可能である、
1つまたは複数のコンピュータ可読非一時的記憶媒体。
【請求項20】
命令を具現化する1つまたは複数の非一時的コンピュータ可読記憶媒体と、
前記記憶媒体に結合された1つまたは複数のプロセッサと、を備えるシステムであって、前記プロセッサは、
ユーザによって装着されたヘッドセット上のカメラによって、前記カメラを装着した前記ユーザの身体部分の少なくとも一部をキャプチャする1つまたは複数の画像をキャプチャすることと、
前記カメラによってキャプチャされた前記1つまたは複数の画像に基づいて、前記ユーザの身体の動き履歴を符号化する複数の動き特徴を決定することと、
前記1つまたは複数の画像において、前記ユーザの前記身体部分の前記一部に対応する前景ピクセルを検出することと、
前記前景ピクセルに基づいて、前記カメラによってキャプチャされた前記ユーザの前記身体部分の前記一部を符号化する複数の形状特徴を決定することと、
前記複数の動き特徴および前記複数の形状特徴に基づいて、前記ユーザの3次元身体姿勢および3次元頭部姿勢を決定することと、
前記前景ピクセルと前記ユーザの前記3次元頭部姿勢とに基づいて、姿勢ボリューム表現を生成することと、
前記姿勢ボリューム表現および前記3次元身体姿勢に基づいて、前記ユーザの改善された3次元身体姿勢を決定することと
を行うために前記命令を実行するように動作可能である、
システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、人間-コンピュータ対話技術に関し、特に、ユーザ身体姿勢を追跡することに関する。
【背景技術】
【0002】
人工現実は、ユーザへの提示の前に何らかの様式で調整された形式の現実であり、これは、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、あるいはそれらの何らかの組合せおよび/または派生物を含み得る。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされたコンテンツ(たとえば、現実世界の写真)と組み合わせられた生成されたコンテンツを含み得る。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはそれらの何らかの組合せを含み得、それらのいずれも、単一のチャネルまたは複数のチャネルにおいて提示され得る(観察者に3次元効果をもたらすステレオビデオなど)。人工現実は、たとえば人工現実におけるコンテンツの生成および/または人工現実における使用(たとえば、人工現実における活動の実施)がなされるアプリケーション、製品、付属品、サービス、またはこれらの何らかの組合せと関連付けられている場合がある。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントディスプレイ(HMD)、スタンドアロンHMD、モバイルデバイスまたはコンピューティングシステム、あるいは、1人または複数の観察者に人工現実コンテンツを提供することが可能な任意の他のハードウェアプラットフォームを含む、様々なプラットフォーム上に実装され得る。
【0003】
現在のAR/VRシステムは、ユーザの身体姿勢を決定するために磁気センサーおよび慣性センサーなどの非光学センサーを使用し得る。しかしながら、これらのセンサーは、ユーザの身体に取り付けられる必要があり得、ユーザが装着するには、煩わしく不便であり得る。あるいは、既存のシステムは、装着者の身体姿勢を推定するために、ヘッドマウントトップダウンカメラを使用し得る。しかしながら、そのようなトップダウンカメラは、突出しており、カメラを装着したユーザにとって不便であり得る。
【0004】
本開示は、上記で説明された欠点および短所のいずれかまたはすべてに少なくとも部分的に対処しようとするものである。
【発明の概要】
【0005】
本開示の第1の態様によれば、コンピューティングシステムによって、ユーザによって装着されたヘッドセット上のカメラによって、カメラを装着したユーザの身体部分の少なくとも一部をキャプチャする1つまたは複数の画像をキャプチャすることと、カメラによってキャプチャされた1つまたは複数の画像に基づいて、ユーザの身体の動き履歴を符号化する複数の動き特徴を決定することと、1つまたは複数の画像において、ユーザの身体部分の一部に対応する前景ピクセルを検出することと、前景ピクセルに基づいて、カメラによってキャプチャされたユーザの身体部分の一部を符号化する複数の形状特徴を決定することと、複数の動き特徴および複数の形状特徴に基づいて、ユーザの3次元身体姿勢および3次元頭部姿勢を決定することと、前景ピクセルとユーザの3次元頭部姿勢とに基づいて、姿勢ボリューム表現を生成することと、姿勢ボリューム表現および3次元身体姿勢に基づいて、ユーザの改善された3次元身体姿勢を決定することとを含む、方法が提供される。
【0006】
いくつかの実施形態では、ユーザの改善された3次元身体姿勢は、ユーザの身体の動き履歴を符号化する複数の動き特徴に基づいて決定され得る。
【0007】
いくつかの実施形態では、カメラの視野は前向きであり得、カメラによってキャプチャされた1つまたは複数の画像は魚眼画像であり得、ユーザの身体部分の一部は、ユーザの手、腕、足、または脚を含み得る。
【0008】
いくつかの実施形態では、ヘッドセットはユーザの頭部に装着され得、ヘッドセットに関連付けられた1つまたは複数のIMUを使用してIMUデータを収集することであって、複数の動き特徴が、IMUデータとカメラによってキャプチャされた1つまたは複数の画像とに基づいて決定され得る、収集することをさらに含む。
【0009】
いくつかの実施形態では、本方法は、IMUデータおよび1つまたは複数の画像を同時位置特定・マッピング(SLAM)モジュールに供給することと、同時位置特定・マッピングモジュールを使用して、IMUデータおよび1つまたは複数の画像に基づいて、1つまたは複数の動き履歴表現を決定することであって、複数の動き特徴が1つまたは複数の動き履歴表現に基づいて決定され得る、決定することとをさらに含み得る。
【0010】
いくつかの実施形態では、各動き履歴表現は、所定の持続時間にわたって複数のベクトルを含み得、複数のベクトルの各ベクトルは、ユーザの3次元回転、3次元並進、または高さに関連付けられたパラメータを含み得る。
【0011】
いくつかの実施形態では、複数の動き特徴は動き特徴モデルを使用して決定され得、動き特徴モデルは、動き履歴表現から動き特徴を抽出するように訓練されたニューラルネットワークモデルを含み得る。
【0012】
いくつかの実施形態では、本方法は、1つまたは複数の画像を前景-背景セグメント化モジュールに供給することと、前景-背景セグメント化モジュールを使用して、1つまたは複数の画像の各画像について前景マスクを決定することであって、前景マスクが、ユーザの身体部分の一部に関連付けられた前景ピクセルを含み得、複数の形状特徴が前景ピクセルに基づいて決定され得る、決定することとをさらに含み得る。
【0013】
いくつかの実施形態では、複数の形状特徴は形状特徴モデルを使用して決定され得、形状特徴モデルは、画像の前景マスクから形状特徴を抽出するように訓練されたニューラルネットワークモデルを含み得る。
【0014】
いくつかの実施形態では、本方法は、複数の動き特徴および複数の形状特徴の重みのバランスをとることと、バランスのとれた重みに基づいて、複数の動き特徴および複数の形状特徴を融合モジュールに供給することであって、ユーザの3次元身体姿勢および3次元頭部姿勢が融合モジュールによって決定され得る、供給することとをさらに含み得る。
【0015】
いくつかの実施形態では、姿勢ボリューム表現は、ユーザの3次元身体姿勢および3次元頭部姿勢のための3次元身体形状エンベロープに対応し得る。
【0016】
いくつかの実施形態では、姿勢ボリューム表現は、ユーザの前景ピクセルを3次元立方体空間に逆投影することによって生成され得る。
【0017】
いくつかの実施形態では、前景ピクセルは、3次元身体姿勢と3次元頭部姿勢とを互いに一致させたままにする制約の下で、3次元立方体空間に逆投影され得る。
【0018】
いくつかの実施形態では、本方法は、姿勢ボリューム表現と、複数の動き特徴と、1つまたは複数の画像の前景ピクセルとを、3次元姿勢改善モデルに供給することであって、ユーザの改善された3次元身体姿勢が、3次元姿勢改善モデルによって決定され得る、供給することをさらに含み得る。
【0019】
いくつかの実施形態では、3次元姿勢改善モデルは、姿勢ボリューム表現から特徴を抽出するための3次元ニューラルネットワークを含み得、姿勢ボリューム表現からの抽出された特徴は、複数の動き特徴および3次元身体姿勢と連結され得る。
【0020】
いくつかの実施形態では、3次元姿勢改善モデルは改善回帰ネットワークを含み得、それは、複数の動き特徴および3次元身体姿勢と連結された姿勢ボリューム表現からの抽出された特徴を、改善回帰ネットワークに供給することであって、ユーザの改善された3次元身体姿勢が改善回帰ネットワークによって出力され得る、供給することをさらに含み得る。
【0021】
いくつかの実施形態では、改善された3次元身体姿勢はリアルタイムで決定され得、それは、ユーザの改善された3次元身体姿勢に基づいて、ユーザのためのアバターを生成することと、アバターをディスプレイに表示することとをさらに含み得る。
【0022】
いくつかの実施形態では、本方法は、ユーザの改善された3次元身体姿勢に基づいて、ステレオ音信号を生成することと、ステレオ音信号に基づくステレオ音響をユーザに対して再生することとをさらに含み得る。
【0023】
本開示の第2の態様によれば、実行されたとき、ユーザによって装着されたヘッドセット上のカメラによって、カメラを装着したユーザの身体部分の少なくとも一部をキャプチャする1つまたは複数の画像をキャプチャすることと、カメラによってキャプチャされた1つまたは複数の画像に基づいて、ユーザの身体の動き履歴を符号化する複数の動き特徴を決定することと、1つまたは複数の画像において、ユーザの身体部分の一部に対応する前景ピクセルを検出することと、前景ピクセルに基づいて、カメラによってキャプチャされたユーザの身体部分の一部を符号化する複数の形状特徴を決定することと、複数の動き特徴および複数の形状特徴に基づいて、ユーザの3次元身体姿勢および3次元頭部姿勢を決定することと、前景ピクセルとユーザの3次元頭部姿勢とに基づいて、姿勢ボリューム表現を生成することと、姿勢ボリューム表現および3次元身体姿勢に基づいて、ユーザの改善された3次元身体姿勢を決定することとを行うように動作可能であるソフトウェアを具現化する、1つまたは複数のコンピュータ可読非一時的記憶媒体が提供される。
【0024】
本開示の第3の態様によれば、命令を具現化する1つまたは複数の非一時的コンピュータ可読記憶媒体と、その記憶媒体に結合された1つまたは複数のプロセッサであって、ユーザによって装着されたヘッドセット上のカメラによって、カメラを装着したユーザの身体部分の少なくとも一部をキャプチャする1つまたは複数の画像をキャプチャすることと、カメラによってキャプチャされた1つまたは複数の画像に基づいて、ユーザの身体の動き履歴を符号化する複数の動き特徴を決定することと、1つまたは複数の画像において、ユーザの身体部分の一部に対応する前景ピクセルを検出することと、前景ピクセルに基づいて、カメラによってキャプチャされたユーザの身体部分の一部を符号化する複数の形状特徴を決定することと、複数の動き特徴および複数の形状特徴に基づいて、ユーザの3次元身体姿勢および3次元頭部姿勢を決定することと、前景ピクセルとユーザの3次元頭部姿勢とに基づいて、姿勢ボリューム表現を生成することと、姿勢ボリューム表現および3次元身体姿勢に基づいて、ユーザの改善された3次元身体姿勢を決定することとを行うために命令を実行するように動作可能な、1つまたは複数のプロセッサとを備える、システムが提供される。
【0025】
本明細書で開示される実施形態は例にすぎず、本開示の範囲はそれらに限定されない。特定の実施形態は、上記で開示された実施形態の構成要素、要素、特徴、機能、動作、またはステップのすべてを含むか、いくつかを含むか、またはいずれをも含まないことがある。本発明による実施形態は、特に、方法、記憶媒体、システムおよびコンピュータプログラム製品を対象とする添付の特許請求の範囲で開示され、1つの請求項カテゴリー、たとえば、方法において述べられた任意の特徴は、別の請求項カテゴリー、たとえば、システムにおいても請求され得る。添付の特許請求の範囲における従属関係または参照は、形式的理由で選定されるにすぎない。ただし、任意の先行請求項に対する意図的な前方参照(特に、マルチ従属関係)の結果としての如何なる主題も、同様に請求可能であるため、請求項およびその特徴の任意の組合せが開示され、添付の特許請求の範囲において選定した従属関係に関わらず請求可能である。請求され得る主題は、添付の特許請求の範囲に記載の特徴の組合せだけでなく、特許請求の範囲における特徴の任意の他の組合せをも含み、特許請求の範囲において述べられた各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組合せと組み合わせられ得る。さらに、本明細書で説明または示される実施形態および特徴のいずれも、別個の請求項において、ならびに/あるいは、本明細書で説明もしくは示される任意の実施形態もしくは特徴との、または添付の特許請求の範囲の特徴のいずれかとの任意の組合せで請求され得る。
【0026】
本開示の1つまたは複数の態様または実施形態への組込みに好適であるものとして本明細書で説明される任意の特徴は、本開示の任意のおよびすべての態様および実施形態にわたって一般化可能であるものとすることが諒解されよう。本開示の他の態様が、本開示の発明を実施するための形態、特許請求の範囲、および図面に照らして当業者によって理解され得る。上記の概略的な説明および以下の発明を実施するための形態は、例示的および説明的なものにすぎず、特許請求の範囲を限定しない。
【図面の簡単な説明】
【0027】
図1A】前向きカメラを有する例示的な人工現実システムを示す図である。
図1B】前向きカメラを有する例示的な拡張現実システムを示す図である。
図2】人間の視覚範囲に基づくユーザの身体姿勢および頭部姿勢の例示的な推定結果を示す図である。
図3A】例示的なシステムアーキテクチャを示す図である。
図3B】改善段階のための例示的なプロセスを示す図である。
図4】例示的な動き履歴画像および対応する人間の姿勢を示す図である。
図5】例示的な前景画像および対応する姿勢ボリューム表現を示す図である。
図6】合成人物モデルに基づいて生成された例示的な訓練サンプルを示す図である。
図7】グラウンドトゥルースデータおよび動きのみの方法の身体姿勢推定結果と比較した例示的な身体姿勢推定結果を示す図である。
図8A】推定された自己頭部姿勢およびカメラSLAMに基づいて、推定された自己姿勢をグローバル座標系において元に戻す例示的な結果を示す図である。
図8B】推定された自己頭部姿勢およびカメラSLAMに基づいて、推定された自己姿勢をグローバル座標系において元に戻す例示的な結果を示す図である。
図9】ユーザによって装着されたカメラによってキャプチャされた画像に基づいてユーザの全身姿勢を決定する例示的な方法を示す図である。
図10】例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【0028】
本明細書で説明される特定の実施形態は、ユーザの3D身体姿勢および頭部姿勢を推定するために頭部動きデータと可視身体部分画像の両方を使用するシステムおよび方法に関する。本方法は、2つの段階を含み得る。第1の段階では、本システムは、魚眼画像およびユーザの頭部のIMUデータに基づいて、3D身体姿勢および頭部姿勢の初期推定結果を決定し得る。第2の段階では、本システムは、姿勢ボリューム表現に基づいて第1の段階の推定結果を改善し得る。第1の段階において初期3D身体姿勢および頭部姿勢を推定するために、本システムは、SLAM(同時位置特定・マッピング)技法を使用して、ユーザの頭部姿勢のための動き履歴画像を生成し得る。動き履歴画像は、経時的なユーザの頭部の(たとえば、3×3行列によって表されるような)回転、並進(x,y,z)、および(たとえば、地面に対する)高さを表すためのベクトルを含む、ユーザの頭部動きデータの2D表現であり得る。本システムは、動き履歴画像を生成するために、ユーザの頭部の動きのIMUデータとHDMカメラの魚眼画像とをSLAMモジュールに供給し得る。次いで、本システムは、動き履歴画像を動き特徴ネットワークに供給し得、動き特徴ネットワークは、動き履歴画像から動き特徴ベクトルを抽出するように訓練され得る。同時に、本システムは、魚眼画像を前景形状セグメント化ネットワークに供給し得、前景形状セグメント化ネットワークは、画像の前景および背景をピクセルレベルで分離するように訓練され得る。前景/背景セグメント化結果は、前景画像の形状特徴ベクトルを抽出するように訓練され得る形状特徴抽出ネットワークに供給され得る。次いで、本システムは、ユーザの初期3D身体姿勢および頭部姿勢を決定するために、融合ネットワークを使用して動き特徴ベクトルと形状特徴ベクトルとを一緒に融合し得る。融合の前に、本システムは、バランサ(たとえば、全結合ネットワーク)を使用して、2つのタイプのベクトルの重みを、それらのベクトル長を制御することによって制御し得る。
【0029】
第1の段階において決定された初期3D身体姿勢および頭部姿勢を改善するために、本システムは、前景ピクセルを3D空間(たとえば、2m×2m×2mのボリューム)に逆投影して姿勢ボリューム表現(たとえば、41×41×41の3D行列)を生成し得る。姿勢ボリューム表現は、現在の頭部姿勢および身体形状推定のための3D身体形状エンベロープを明示的に表し得る。特定の実施形態では、姿勢ボリューム表現は、3Dボリューム空間内の1つまたは複数の特徴ベクトルまたは組込みを含み得る。姿勢ボリューム表現は、ニューラルネットワークまたは他の機械学習モデルによって生成され得る。次いで、本システムは、特徴抽出のために姿勢ボリューム表現を3D CNNに供給する。抽出された特徴は、平坦化され、(動き履歴画像から抽出された)動き特徴および初期3D姿勢推定と連結され得、次いで、3D身体姿勢推定のために全結合改善回帰ネットワークに供給される。改善回帰ネットワークは、融合ネットワークと同様の構造を有し得るが、身体姿勢推定のみを出力し得る。ユーザの身体の3Dジオメトリを直接キャプチャする明示的な3D表現により、本システムは、より正確な身体姿勢推定を達成し得る。訓練プロセスのために、本システムは、合成訓練データを生成し得る。本システムは、最初に、アニメーションを生成するために、骨格を人物メッシュモデルに再ターゲッティングし得る。次いで、本システムは、(たとえば、各人物モデルの2つの目の間に、または目の位置において)1つまたは複数の仮想前向き魚眼カメラを取り付け、アニメーションにおける仮想カメラ姿勢および位置履歴を使用して動き履歴マップを生成し得る。次いで、本システムは、等距離の魚眼モデルを用いてカメラ視界をレンダリングし得る。その結果、本システムは、自己姿勢推定モデルを訓練および検証するための高品質データを提供する。
【0030】
図1Aは、コントローラ106を有する例示的な仮想現実システム100Aを示す。特定の実施形態では、仮想現実システム100Aは、ヘッドマウントヘッドセット104、コントローラ106、およびコンピューティングシステム108を含み得る。ユーザ102は、視覚人工現実コンテンツをユーザ102に表示し得るヘッドマウントヘッドセット104を装着し得る。ヘッドセット104は、オーディオ人工現実コンテンツをユーザ102に提供し得るオーディオ機器を含み得る。特定の実施形態では、ヘッドセット104は、環境の画像およびビデオをキャプチャすることができる1つまたは複数のカメラを含み得る。たとえば、ヘッドセット104は、ユーザ102の前方の画像をキャプチャするための前向きカメラ105Aおよび105Bを含み得、ユーザの身体の画像をキャプチャするための1つまたは複数の下向きカメラ(図示せず)を含み得る。ヘッドセット104は、ユーザ102の輻輳距離を決定する視線追跡システムを含んでいてもよい。ヘッドセット104は、ヘッドマウントディスプレイ(HMD)と呼ばれることがある。コントローラ106は、トラックパッドおよび1つまたは複数のボタンを含み得る。コントローラ106は、ユーザ102からの入力を受け、この入力をコンピューティングシステム108に伝えるようにしてもよい。また、コントローラ106は、触覚フィードバックをユーザ102に提供するようにしてもよい。コンピューティングシステム108は、ケーブルまたはワイヤレス通信接続によって、ヘッドセット104およびコントローラ106に接続され得る。コンピューティングシステム108は、ヘッドセット104およびコントローラ106を制御して人工現実コンテンツをユーザ102に提供することができ、ユーザ102からの入力を受けることができる。コンピューティングシステム108は、スタンドアロンホストコンピュータシステムであってもよいし、ヘッドセット104と一体化されたオンボードコンピュータシステムであってもよいし、モバイルデバイスであってもよいし、人工現実コンテンツをユーザ102に与えるとともに、ユーザ102からの入力を受けることが可能なその他任意のハードウェアプラットフォームであってもよい。
【0031】
図1Bは、例示的な拡張現実システム100Bを示す。拡張現実システム100Bは、フレーム112、1つまたは複数のディスプレイ114Aおよび114B、ならびにコンピューティングシステム120などを備えるヘッドマウントディスプレイ(HMD)110(たとえば、AR眼鏡)を含み得る。ディスプレイ114は透明または半透明であってもよく、HMD110を装着したユーザが、ディスプレイ114Aおよび114Bを通して現実世界を見ることを可能にすると同時に、視覚人工現実コンテンツをユーザに表示し得る。HMD110は、オーディオ人工現実コンテンツをユーザに提供し得るオーディオ機器を含んでいてもよい。特定の実施形態では、HMD110は、周囲環境の画像およびビデオをキャプチャすることができる1つまたは複数のカメラ(たとえば、117Aおよび117B)を含み得る。HMD110は、当該HMD110を装着したユーザの輻輳運動を追跡する視線追跡システムを含んでいてもよい。拡張現実システム100Bは、トラックパッドおよび1つまたは複数のボタンを有するコントローラ(図示せず)をさらに含み得る。コントローラは、ユーザからの入力を受け、この入力をコンピューティングシステム120に伝えるようにしてもよい。コントローラは、触覚フィードバックをユーザに提供し得る。コンピューティングシステム120は、ケーブルまたはワイヤレス接続によって、HMD110およびコントローラに接続されていてもよい。コンピューティングシステム120は、HMD110およびコントローラを制御して拡張現実コンテンツをユーザに提供し、ユーザからの入力を受けることができる。コンピューティングシステム120は、スタンドアロンホストコンピュータシステムであってもよいし、HMD110と一体化されたオンボードコンピュータシステムであってもよいし、モバイルデバイスであってもよいし、人工現実コンテンツをユーザに与えるとともに、ユーザからの入力を受けることが可能なその他任意のハードウェアプラットフォームであってもよい。
【0032】
現在のAR/VRシステムは、ユーザの身体姿勢を決定するために磁気センサーおよび慣性センサーなどの非光学センサーを使用し得る。しかしながら、これらのセンサーは、ユーザの身体に取り付けられる必要があり得、ユーザが装着するには、煩わしく不便であり得る。あるいは、既存のシステムは、装着者の身体姿勢を推定するために、ヘッドマウントトップダウンカメラを使用し得る。しかしながら、そのようなトップダウンカメラは、突出しており、カメラを装着したユーザにとって不便であり得る。
【0033】
これらの問題を解決するために、少なくとも部分的に、本システムの特定の実施形態は、より自然な人間の視覚範囲を使用してユーザの身体姿勢を推定し得る。カメラ装着者は周辺視界において見られてもよく、頭部姿勢に応じて、装着者は、見えなくなる場合があるか、または限定された部分的な視界を有する。これは、前向きカメラを有するAR/VR眼鏡のようなユーザセントリックウェアラブルデバイスの現実的な視野であり得る。本システムは、カメラSLAMからの動的特徴と身体形状画像の両方を利用する深層学習システムを使用して、姿勢属性にわたって、ある幾何学的一貫性を明示的に施行しながら、3D頭部姿勢、3D身体姿勢、図/地分離をすべて同時に計算し得る。たとえば、本システムは、頭部動きデータと可視身体部分画像の両方を使用して、ユーザの3D身体姿勢および頭部姿勢を推定し得る。本方法は、2つの段階を含み得る。第1の段階において、本システムは、魚眼画像およびユーザの頭部の慣性測定ユニット(IMU)データに基づいて、3D身体姿勢および頭部姿勢の初期推定結果を決定し得る。第2の状態において、本システムは、姿勢ボリューム表現に基づいて第1の段階の推定結果を改善し得る。
【0034】
第1の段階において初期3D身体姿勢および頭部姿勢を推定するために、本システムは、SLAM(同時位置特定・マッピング)技法を使用して、ユーザの頭部姿勢のための動き履歴画像を生成し得る。本システムは、動き履歴画像を生成するために、ユーザの頭部の動きのIMUデータとHDMカメラの魚眼画像とをSLAMモジュールに供給し得る。次いで、本システムは、動き履歴画像を動き特徴ネットワークに供給し得、動き特徴ネットワークは、動き履歴画像から動き特徴ベクトルを抽出するように訓練される。同時に、本システムは、魚眼画像を前景形状セグメント化ネットワークに供給し得、前景形状セグメント化ネットワークは、画像の前景および背景をピクセルレベルで分離するように訓練された。前景/背景セグメント化結果は、前景画像の形状特徴ベクトルを抽出するように訓練された形状特徴抽出ネットワークに供給され得る。次いで、本システムは、ユーザの初期3D身体姿勢および頭部姿勢を決定するために、融合ネットワークを使用して動き特徴ベクトルと形状特徴ベクトルとを一緒に融合し得る。融合の前に、本システムは、バランサ(たとえば、全結合ネットワーク)を使用して、2つのタイプのベクトルの重みを、それらのベクトル長を制御することによって制御し得る。第1の段階において決定された初期3D身体姿勢および頭部姿勢を改善するために、本システムは、前景ピクセルを3D空間(たとえば、2m×2m×2mのボリューム)に逆投影して姿勢ボリューム表現(たとえば、41×41×41の3D行列)を生成し得る。姿勢ボリューム表現は、現在の頭部姿勢および身体形状推定のための3D身体形状エンベロープを明示的に表し得る。次いで、本システムは、特徴抽出のために姿勢ボリューム表現を3D CNNに供給し得る。抽出された特徴は、平坦化され、(動き履歴画像から抽出された)動き特徴および初期3D姿勢推定と連結され得、次いで、3D身体姿勢推定のために全結合改善回帰ネットワークに供給され得る。改善回帰ネットワークは、融合ネットワークと同様の構造を有するが、身体姿勢推定のみを出力し得る。ユーザの身体の3Dジオメトリを直接キャプチャする明示的な3D表現により、本システムは、より正確な身体姿勢推定を達成し得る。
【0035】
特定の実施形態では、AV/VRシステムは、人間の目と同様の視野を有する、装着者の顔に近いカメラを有し得る。大部分で、カメラは、周辺視界においてのみ、ウェアの手および身体のいくつかの他の部分を見ることができる。時間のかなりの部分で、カメラは、(たとえば、装着者が上を見ているとき)装着者をまったく見ない場合がある。特定の実施形態では、本システムは、装着者がカメラのFOVに可視であるかどうかにかかわらず、カメラ動きデータと可視身体部分の両方を使用してユーザの身体姿勢のロバストな推定を決定し得る。本システムは、ユーザの身体姿勢を推定するために、カメラSLAMから取得された動的動き情報と、時々可視の身体部分の両方を使用し得る。ユーザの身体姿勢を予測することに加えて、本システムは、エゴセントリックな視界におけるユーザの3D頭部姿勢および図と地のセグメント化を計算し得る。頭部および身体姿勢のこの共同推定のために、本システムは、推論中に幾何学的一貫性を保つことができ、これは、結果をさらに改良し、システムが、カメラSLAM情報を用いてユーザの全身姿勢をグローバル座標系に再配置することを可能にすることができる。さらに、本システムは、装着者が、カメラの視野内で見えないか、または部分的に可視であることを可能にし得る。深層学習を使用することによって、本システムは、姿勢属性にわたって幾何学的一貫性を保ちながら、ユーザの3D頭部姿勢、3D身体姿勢、および図/地分離をすべて同時に計算し得る。特定の実施形態では、本システムは、モデルを訓練するために、mocapデータを含む既存のデータセットを利用し得る。これらのmocapデータは、身体関節運動のみをキャプチャし得、エゴセントリックビデオを含まない場合がある。本システムは、訓練データを生成するために、仮想視界エゴセントリック画像と、姿勢変更に関連付けられた動的情報とを合成し得る。合成されたデータを訓練のために使用することによって、本システムは、大きな新しいデータセットを収集し、注釈付けすることなく、ロバストに訓練され得る。2段階プロセスを使用することによって、本システムは、高い精度を維持しながら、オンザフライで、リアルタイムでユーザの身体姿勢および頭部姿勢を推定し得る。
【0036】
図2は、人間の視覚範囲に基づくユーザの身体姿勢および頭部姿勢の例示的な推定結果200を示す。特定の実施形態では、ヘッドマウント前向き魚眼カメラは、装着者をほとんど見ない場合があり、装着者が周辺視界において可視であるとき、可視身体部分は限定され得る。図2において、第1の行は、身体部分セグメント化結果を示す。第2の行は、動き履歴画像を示す。第3の行は、装着者の推定された身体姿勢および頭部姿勢を示す。第4の行は、装着者の身体姿勢および頭部姿勢のグラウンドトゥルースを示す。図2に示すように、本システムは、装着者の身体姿勢および頭部姿勢を効果的かつ正確に決定し得る。特定の実施形態では、各時間インスタンスtにおける前向きヘッドマウント魚眼カメラのビデオフレームのシーケンス{I}が与えられると、本システムは、3D自己身体姿勢Bおよび自己頭部姿勢Hを推定し得る。Bは、N×3身体キーポイント行列であり得、Hは、2×3頭部配向行列であり得る。本開示では、「自己身体姿勢」という用語は、カメラまたはカメラを有するヘッドマウントデバイスの装着者の(身体姿勢および頭部姿勢を含む)全身姿勢を指し得る。自己身体姿勢は、ヒップラインがx-z平面に平行になるように水平に回転され、ヒップラインの中心が図1に示すように原点にあり得るローカル座標系において定義され得る。自己頭部姿勢は、2つのベクトル、すなわち、対向する方向f、および頭頂部が向いている方向uを含み得る。頭部姿勢と身体姿勢を一緒に推定することにより、カメラSLAMを使用して身体姿勢をグローバル座標系に変換することが可能になる。本システムは、効率的かつ正確な深層学習モデルを使用することによるリアルタイム自己姿勢推定をターゲッティングし得る。特定の実施形態では、本システムは、約180度のFOVを有するヘッドマウント前向き魚眼カメラによって駆動され得る。動機付けされると、人間の視覚範囲と同様に、カメラは、ほとんど装着者の前方のシーンに焦点を合わせてもよく、周辺視界を介して装着者の身体部分の最小限のビジュアルを有し得る。そのような設定では、頭部の動きまたは可視部分画像のみを使用する自己姿勢推定は、信頼できない場合がある。特定の実施形態では、本システムは、これらの情報ストリーム(たとえば、IMUデータおよび魚眼カメラビデオ)の両方を利用し、組合せについて効率的に最適化し得る。
【0037】
図3Aは、例示的なシステムアーキテクチャ300Aを示す。特定の実施形態では、システムアーキテクチャ300は、2つの段階、すなわち、初期推定段階310および改善段階320を含み得る。初期推定段階310は、複数の分岐を含み得る。1つの分岐では、グローバル座標系におけるカメラ姿勢および位置を抽出するために、魚眼ビデオ302およびオプションのIMUデータ301が使用され得る。本システムは、オプションのIMUデータ301および魚眼ビデオ302をSLAMモジュール311に供給し得、SLAMモジュール311は、カメラの動きおよび位置を、動き履歴画像312として示されるコンパクトな表現に変換し得る。動き履歴画像(たとえば、312)は、(たとえば、3×3行列によって表される)頭部の3D回転、3D空間内の頭部の並進(たとえば、x,y,z)、および地面に対するユーザの頭部の高さを含む、3D空間内のユーザの頭部の動きの表現であり得る。特定の実施形態では、動き履歴画像は、所定の持続時間にわたるユーザの頭部の3D回転、並進、および高さに関係するいくつかのパラメータ(たとえば、13個のパラメータ)を含むいくつかのベクトルを含み得る。カメラはユーザの頭部に固定されるため、カメラの動きはユーザの頭部の動きに対応し得る。
【0038】
特定の実施形態では、本システムは、動き履歴画像312を動き特徴ネットワーク313に供給し得、動き特徴ネットワーク313は、ユーザの頭部の動きに関係する動的特徴を抽出するように動き履歴画像312を処理し得る。別の分岐では、本システムは、魚眼ビデオを前景形状ネットワーク317に供給し得、前景形状ネットワーク317は、装着者の前景形状を抽出し得る。装着者の前景形状は、(前向きである)魚眼カメラのFOV内に入るユーザの1つまたは複数の身体部分を含み得る。装着者の前景形状は、前景形状セグメント化ネットワーク317によって魚眼ビデオ302の画像から(たとえば、ピクセルレベルで)セグメント化された前景画像において表され得る。本システムは、キーポイントに基づく方法とは異なるセグメント化方法を使用して、ユーザの身体形状を追跡し得る。ユーザの身体の大部分はヘッドマウントカメラのFOV内に入らないため、本システムは、ユーザの身体姿勢を決定するのに十分な数のキーポイントを決定することができない場合がある。セグメント化方法を使用して決定された前景身体形状画像は、ユーザの身体姿勢を決定するために使用され得る空間情報を提供し、従来のキーポイントベースの方法よりも多くの情報を提供し得る。本システムは身体形状を追跡するので、本システムは、利用可能な画像データをより効率的かつ効果的に使用し、たとえば、腕がカメラ画像内で可視であるときに腕の姿勢を提供し得る。
【0039】
次いで、本システムは、抽出された前景画像を、前景画像からユーザの身体形状特徴を抽出するように訓練された形状特徴ネットワーク318に送り得る。形状特徴ネットワーク318は、前景形状画像から形状特徴を抽出し得る。動き履歴画像312から動き特徴ネットワーク313によって抽出された動き特徴338と、前景形状画像から形状特徴ネットワーク318によって抽出された形状特徴とは、融合モジュール314に供給され得る。動き特徴338は、動き履歴画像から抽出されたユーザの動き履歴に関係する情報を含み得る。本システムは、バランサ319を使用して、これらの2つの分岐によって出力された動的動き特徴および形状特徴の重みのバランスをとり、バランスのとれた動き特徴および形状特徴を融合モジュール314に供給し得る。本システムは、前景画像から抽出された身体形状特徴を、ユーザの身体姿勢の指標として使用し得る。本システムは、最終結果に対する相対的な重要性に基づいて、動的に、動き特徴および形状特徴の重みのバランスをとる。本システムは、2つのタイプのベクトルの長さを制御することによって、ユーザの身体/頭部の動きに関係するパラメータを含むベクトルとして提示され得る動き特徴と、ユーザの身体形状に関係するパラメータ(たとえば、エンベロープ)を含むベクトルによって表され得る形状特徴との重みのバランスをとり得る。ユーザが移動するとき、動きデータは、身体形状画像よりも利用可能であり得る。しかしながら、形状特徴は、ユーザの上半身姿勢(たとえば、腕の姿勢)を決定するためにより重要であり得る。動きが最小である(たとえば、ユーザがほとんど静止している)とき、形状特徴は、身体姿勢、詳細には上半身姿勢を把握するために重要であり得る。バランサは、現在利用可能なデータに基づいてどの特徴がより重要であるかを決定することができる、訓練されたニューラルネットワークであり得る。ニューラルネットワークは、単純、高速であり、ユーザがAR/VRシステムを使用するときにリアルタイムで稼働するために消費する電力がより少ない場合がある。融合モジュール314は、初期身体姿勢315および初期頭部姿勢推定316を含む自己姿勢推定を出力し得る。
【0040】
図3Bは、改善段階320のための例示的なプロセス300Bを示す。特定の実施形態では、初期身体/頭部姿勢推定が決定された後に、本システムは、改善段階320を使用して、初期推定段階310の初期身体/頭部姿勢推定結果を改善し得る。本システムは、3D姿勢改善モデル322を使用して、姿勢ボリューム表現321に基づいてユーザの改善された3D姿勢323を決定し得る。本システムは、最初に、(前景ピクセルを含む)セグメント化された前景マスクを3Dボリューム空間に逆投影することによって、姿勢ボリュームを決定し得る。本システムは、ニューラルネットワークまたは他の機械学習モデルを使用して、姿勢ボリュームを表す姿勢ボリューム表現を生成し得る。SLAMからの直接頭部姿勢は、全身部分に対して相対的でない場合がある。初期推定段階320では、SLAMに基づいて決定されたユーザの頭部姿勢は、ユーザの身体姿勢に対して局所化される必要があり得る。第1の段階のネットワーク出力は、全身部分に対する頭部姿勢であり得る。本システムは、ローカルシステムにおける推定された頭部姿勢と、SLAMによるグローバル頭部姿勢データとを使用して、全身姿勢をグローバルシステムに戻し得る。本システムは、ユーザの身体姿勢315と2D前景セグメント化マスク339の初期推定結果とを組み合わせて、姿勢ボリューム表現321を生成し得る。本システムは、身体姿勢と頭部姿勢とを互いに一致するように保つ制約を使用して、姿勢ボリューム表現321を生成し得る。ボリュームは、キーポイントに基づくものではなく、カメラ配向からのものであり得る。3D姿勢ボリューム表現を生成するために、本システムは、空間内に光線を投射し得、2D身体形状を3D空間に引数。初期段階の最後に、本システムは、頭部姿勢および前景セグメント化に基づいて身体/頭部姿勢の初期推定を有し得る。2D身体形状を3D空間に投影することによって、本システムは、身体部分が3D空間内のどこにあるかを示す3Dの大まかな表現を有し得る。姿勢ボリューム表現321は、前景画像ピクセルを3D立方体ボリューム(たとえば、図5の右列に示すように2m×2m×2mのボリューム)に逆投影することによって生成され得る。姿勢ボリューム表現321は、41×41×41の3D行列であり得る。姿勢ボリューム表現321は、現在の身体/頭部姿勢および身体形状推定のための3D身体形状エンベロープを明示的に表し得る。次いで、本システムは、特徴抽出のために姿勢ボリューム表現321を3D畳み込みニューラルネットワーク331に供給し得る。抽出された特徴は、平坦化され、動き履歴画像から抽出された動き特徴および初期3D身体姿勢推定315と連結され得る。次いで、本システムは、これらの連結された特徴を、3D身体姿勢推定のために全結合改善回帰ネットワーク333に供給し得る。改善回帰ネットワーク333は、融合ネットワーク314と同様の構造を有し得るが、身体姿勢推定のみを出力し得る。ユーザの身体の3Dジオメトリを直接キャプチャする明示的な3D姿勢ボリューム表現321により、本システムは、初期身体姿勢推定結果よりも正確な身体姿勢推定である、改善された3D身体姿勢323を提供し得る。
【0041】
図4は、例示的な動き履歴画像および対応する人間の姿勢を示す。特定の実施形態では、動き履歴画像は、シーン構造に対して不変であり、所定の持続時間にわたって、回転、並進、および高さの発展を特徴付けることができる表現であり得る。いくつかの例示的な動き履歴画像が、図4の第2の行に示されている。各時点tにおいて、本システムは、SLAMからのカメラ姿勢および位置を使用して、前の時点t-1からの増分カメラ回転Rおよび並進dを計算し得る。本システムは、R-I3×3を動き表現に組み込むことができ、ここで、Iは単位行列である。本システムは、並進dを、装着者が対向する配向に対してそれが不変であるように、各時点tにおいてカメラローカルシステムに変換し得る。未知のスケーリング係数を除去するために、本システムは、未知のスケーリング係数を装着者の高さ推定値でさらにスケーリングし得る。変換され、正規化されたdは、
と表され得る。SLAMに基づいて、本システムは、装着者が立ち、次いでしゃがむ較正手順を使用し得、この手順は、人物の高さおよび地面の大まかな位置を抽出するために使用され得る。
【0042】
特定の実施形態では、Rおよびdは、静的な立位姿勢と座位姿勢とを区別するのに十分でない場合がある。シーンコンテキスト画像は有用であり得るが、人の高さの大きな変動に敏感であり得る。たとえば、子供の立位の視点は、大人の座位の視点と同様であり得る。この問題を解決するために、本システムは、動き表現において人物の立位姿勢(たとえば、gによって表される)に対するカメラの高さを使用し得る。本システムは、運動特徴R、d、およびgを経時的に集約して、動き履歴画像を構築し得る。本システムは、平坦化されたR-I3×3、スケーリングされた遷移ベクトル
、およびスケーリングされた相対高さc(g-m)を連結し得、ここで、a=15、m=0.5、およびc=0.3である。図4は、対応する人間の姿勢とともに、動き履歴画像の例を示す。動き履歴画像は、周期的運動または/および非周期的運動の両方における姿勢変化のダイナミクスをキャプチャし得る。本システムは、動き履歴画像から特徴を抽出するために、ディープネットワーク、たとえば、動き特徴ネットワークを使用し得る。特定の実施形態では、動き履歴画像は、各々が所定の時間期間にわたって13個のパラメータ値を含むいくつかのベクトルを含み得る。パラメータは、経時的なユーザの頭部の(たとえば、3×3行列によって表されるような)3D回転、3D並進(x,y,z)、および(たとえば、地面に対する)高さに対応し得る。特定の実施形態では、動き特徴ネットワークは、入出力チャネル、カーネルサイズ、ストライド、およびパディングのための畳み込み層についてのパラメータを有し得る。最大プーリング層では、パラメータは、カーネルサイズ、ストライドおよびパディングであり得る。図4の動き履歴画像は、頭部データのみから抽出され得る。各動き履歴画像は、XYZ 3D空間内の面によって表され得る。面の各位置は、特定のパラメータの値(たとえば、ユーザの頭部の高さ、頭部の回転、頭部の並進)を有し得る。Y次元は異なるパラメータ(たとえば、13個のパラメータ)についてのものであり得、X次元は時間に対応し得る。
【0043】
時間の大部分において、本システムが光学的動きフロー方法を使用する場合、シーン構造は、動き特徴の結果に影響を及ぼし得る。光学的動きフロー方法を使用する代わりに、本システムは、SLAMを使用してユーザの動きを決定し得、これは、光学的動きフロー方法よりもロバストである。その結果、本システムは、シーン内の環境変化にかかわらず、同じ動きについて同じ動き特徴を提供し得る。SLAMは、ユーザの頭部姿勢を決定し、同時に3Dシーンを抽出することができる。本システムは、カメラ姿勢の回転および並進に基づいてユーザの頭部の動きを決定し得る。本システムは、ユーザの頭部の動きを、ユーザの身体姿勢および動きを決定するための手がかりとして使用し得る。しかしながら、異なる身体姿勢が、同様の頭部姿勢または動きに関連付けられ得る。したがって、本システムは、地面レベルに対するカメラの高さ情報をさらに使用して、ユーザの身体姿勢を決定し得る。本開示の後のセクションにおいて説明されるように、本システムは、IMUデータと、人間と同様の視覚空間である180度のFOVを有する前向きカメラによってキャプチャされた画像とに基づいて、ユーザの身体姿勢および頭部姿勢を同時に決定し得る。本システムは、ユーザの身体/頭部姿勢を、ユーザの身体姿勢と頭部姿勢とを互いに一致するように保つ制約の下で決定し得る。
【0044】
特定の実施形態では、本システムは、頭部動きデータを使用することに加えて、装着者の前景形状を使用して、ユーザの身体姿勢を推定し得る。装着者の前景形状は、自己頭部姿勢および自己身体姿勢と厳密に結合され得、特に、上半身姿勢を明確にするのに有用であり得る。その目的のために、本システムは、身体形状を抽出するために既存のキーポイント抽出方式とは異なる効率的な方法を使用し得る。前景身体形状は、この問題を解決するためのより好適な表現であり得る。人間の視覚範囲内では、装着者の身体は、カメラのFOV内でほとんど可視でないことが多い場合があり、可視キーポイントが非常に少ない場合がある。したがって、キーポイント推定は、全体的な形状抽出よりも困難であり得る。そのような設定では、前景身体形状は、切り離されたキーポイントよりも多くの、可能な身体姿勢に関する情報を含み得る。たとえば、2つの手および腕の一部分のみが可視である場合、キーポイントは手のロケーションのみを与えることができ、前景身体形状はまた、腕が空間内にどのように配置されるかを示し得る。前景形状は、より効率的に計算され得、したがって、リアルタイムアプリケーションにより好適である場合がある。
【0045】
特定の実施形態では、形状ネットワークは、完全に畳み込みであり得、したがって、空間不変推定を生成するために、魚眼ビデオを入力として直接使用し得る。限定としてではなく一例として、形状ネットワークは、双線形アップサンプリング層を含み得る。目標解像度は、256×256であり得る。ネットワーク層は、チャネル次元に沿って異なるスケールからの特徴を連結し得る。装着者の前景は、ほとんど画像の下部分に集中している場合があり、腕は特定の領域において現れることが多いので、セグメント化ネットワークは空間的に可変であり得る。この目的のために、本システムは、2つの空間グリッド、すなわち、正規化されたxおよびy座標マップを収縮し、それらを深度次元に沿って入力画像と連結して、256×256×5のテンソルを生成し得る。これらの追加の空間マップは、訓練および推論中に、カメラFOV内の人物前景セグメント化の構造およびロケーションの空間事前分布をネットワークに組み込むのを助けることができる。空間マップは、誤警報を低減するだけでなく、前景における欠落した検出を補正するためにも使用され得る。特定の実施形態では、前景確率マップの閾値は、最終の前景形状表現を取得するために0.5であり得る。次いで、前景形状は、特徴抽出のために、小さな畳み込みニューラルネットワークに渡され得る。
【0046】
特定の実施形態では、本システムは、(1)動き特徴ネットワークによって動き履歴画像から抽出された動的特徴(たとえば、動き特徴)と、(2)形状特徴ネットワークによって抽出された形状特徴とを融合して、ロバストな自己姿勢推定を決定し得る。特定の実施形態では、本システムは、それらを直接連結し、回帰ネットワークを介して連結を処理し得る。特定の実施形態では、本システムは、連結を実施する前に形状特徴の次元を低減するために、全結合ネットワーク(たとえば、図3のバランサ319)を使用して2つの特徴セットのバランスをとり得る。バランサは、暗黙的に、特徴セット間の重みのバランスをとり得る。特定の実施形態では、形状特徴は低次元(たとえば、16次元)であり得、運動特徴は長い(たとえば、512次元)場合があり得る。より短い入力では、本システムは、それに接続されている全結合層内のニューロンがより少ないことを必要とし得、したがって、出力についてより少ない議決権を有し得る。この方式はまた、ノイズの多い形状観察を平滑化する効果を有し得る。これらの調整が行われると、バランスのとれた形状特徴を有する連結された動き特徴は、姿勢ベクトルおよび2つの頭部配向ベクトルを推論するために、3つの全結合ネットワークに供給され得る。
【0047】
図5は、例示的な前景画像(たとえば、510、530)および対応する姿勢ボリューム表現(たとえば、521A~B、541A~B)を示す。特定の実施形態では、本システムは、初期推定結果を改善し、改善された全身3D姿勢を決定するために、3D手法を使用し得る。3D手法は、姿勢ボリューム表現に基づき得る。自己姿勢の推定が与えられると、本システムは、初期姿勢推定結果から頭部姿勢推定を固定し、全身3D姿勢を再推定することによって、それを改善し得る。頭部/カメラ姿勢および第1の段階からの前景形状推定を使用して、本システムは、図5に示すように、所定のサイズ(たとえば、2m×2m×2mのボリューム)を有する立方体ボリューム空間において前景ピクセルを逆投影することによって、3Dボリュームを構築し得る。ボリュームは、41×41×41のサイズの3D行列に離散化され得る。本システムは、ボクセルが装着者の前景に投影する場合は値1を割り当て、そうでない場合は0を割り当て得る。ボリュームは、現在の頭部姿勢および身体形状推定に対応する3D身体形状エンベロープを明示的に表し得る。次いで、本システムは、特徴抽出のために3D姿勢ボリューム表現を3D CNNに渡し得る。得られた特徴は、平坦化され、動き特徴、初期3D姿勢推定と連結され得、次いで、3D姿勢推定のために全結合ネットワークに供給され得る。改善回帰ネットワークは、入力が初期3Dキーポイント推定をも含み得、出力が身体姿勢推定のみであり得る融合ネットワークと同様の構造を有し得る。本システムは、ボリュームにおいて、改善された3D姿勢をオーバーレイし得る。3Dジオメトリを直接キャプチャする明示的な3D表現により、本システムは、より正確な身体姿勢推定を提供し得る。一例として、前景マスクを有する前景画像510は、装着者の右手および腕511と、左手512とを含み得る。本システムは、抽出された情報を3D立方体ボリュームに逆投影し得る。再構築された姿勢ボリューム(たとえば、521Aおよび521B)は、姿勢ボリューム表現520の立方体ボリューム空間内の影エリアによって表され得る。改善された姿勢推定522は、点のセットによって表され得る。別の例として、前景マスクを有する前景画像530は、装着者の右手532と、左手531とを含み得る。本システムは、抽出された情報を3D立方体ボリュームに逆投影し得る。再構築姿勢ボリューム(たとえば、541Aおよび541B)は、姿勢ボリューム表現540内の影エリアによって表され得る。改善された姿勢推定541は、より黒っぽい点のセットによって表され得る。
【0048】
特定の実施形態では、本システムは、最初に、初期推定段階のためのモデルを訓練し得る。および、訓練データ結果に関する推定に応じて、本システムは、その後、改善の第2の段階のためにモデルを訓練し得る。特定の実施形態では、本システムは、L1ノルムを使用して、身体キーポイントおよび頭部配向推定における誤差を定量化し得る。
=|b-b|+|h-h| (1)
ここで、bおよびbは、平坦化された身体キーポイント3D座標およびそれらのグラウンドトゥルースであり、hは頭部配向ベクトル(ベクトルfとuの連結)であり、hはその対応するグラウンドトゥルースである。一般化を改良するために、本システムは、回帰結果の構造を制約するいくつかの正則化項をさらに含み得る。2つの頭部配向ベクトルは正規直交である。本システムは、Lを最小化するために以下の損失関数を使用し得る。
=|f・u|+||f|-1|+||u|-1| (2)
ここで、・は2つのベクトルの内積であり、|・|はL2ノルムである。人間の身体は対称であり、2つの辺は本質的に等しい長さを有するので、本システムは、身体長対称性制約を施行し得る。l(i)およびl(j)を一対の対称骨長とし、対称骨のセットがPである。本システムは、Lを最小化するために以下の式を使用し得る。
=Σ(i,j)∈P|l-l| (3)
本システムはまた、頭部姿勢、身体姿勢および身体形状マップの一貫性を施行し得る。頭部姿勢から、本システムは、カメラローカル座標系を計算し得る。等距離魚眼カメラモデルでは、(x,y),k=1...Kを、3D身体キーポイントの2D投影とする。本システムは、Lを最小化するために以下の式を使用し得る。
ここで、Dは二値身体形状マップの距離変換であり、qは切り捨て閾値(たとえば、20ピクセル)である。α、βを0.01に設定し、γを0.001に設定すると、最終損失関数は以下のようになり得る。
L=L+αL+βL+γL (5)
改善段階では、頭部ベクトル関連項が損失から除去され得ることは、注目に値する。特定の実施形態では、本システムは、カメラ視界を推定するために3D姿勢を逆投影し得、これは前景推定に適合するべきである。たとえば、ユーザの手が画像内で可視である場合、本システムがこれらのピクセルをカメラ視界に投影するとき、投影は、画像上および領域内であるべきである。
【0049】
図6は、合成人物モデルに基づいて生成された例示的な訓練サンプルを示す。特定の実施形態では、本システムは、合計2538のCMU mocapシーケンスおよびブレンダを使用して合成訓練データを生成し得るが、これは、同期されたヘッドマウントカメラビデオの大きなセットと、対応する「一致した」身体mocapデータとをキャプチャすることが困難であり得るためである。特定の実施形態では、シーケンスは数百の異なる対象を含み得、全長は約10時間であり得る。各mocapシーケンスについて、本システムは、合成データを生成するために190個の異なるメッシュモデルから人物メッシュをランダムに選定し得る。限定としてではなく一例として、図6の第1の行は、合成人物モデルの例を示す。図6の第2の行は、合成人物モデルに基づいて生成された例示的な訓練サンプルを示す。モデルは、人間のモデルに基づいて生成された合成メッシュ(たとえば、605、606、607、608、609)によって表され得る。本システムは、合成モデルの頭部に仮想カメラを取り付け得、カメラFOVのためのローカル座標系(たとえば、X方向601、Y方向602、およびZ方向603)を定義し得る。次いで、本システムは、合成モデル(たとえば、605、606、607、608、609)の身体姿勢を変更し、仮想カメラを使用して装着者の身体部分(たとえば、腕、手または/および足)をキャプチャし、身体姿勢推定モデルを訓練するために使用され得る訓練サンプルを生成し得る。モデルの各身体姿勢は、図6の点によって表されるような、いくつかのキーポイント(たとえば、604)に関連付けられ得る。特定の身体姿勢に関連付けられたキーポイントは、その身体姿勢を正確に記述し、表すために使用され得る。訓練サンプルを生成するために使用される身体姿勢は、訓練プロセスのためのグラウンドトゥルースとして使用され得る。合成モデルの身体姿勢に応じて、仮想カメラによってキャプチャされた画像は、異なる身体部分を含み得る。たとえば、キャプチャされた画像は、装着者の手と足(たとえば、610、620、630、640、652)または腕と手(たとえば、653)を含み得る。本システムは、訓練中に、レンダリングされた人物画像のアルファチャネル内の前景画像を使用し得る。
【0050】
特定の実施形態では、本システムは、複数のステップを含む合成プロセスを使用して訓練データサンプルを生成し得る。本システムは、最初に、アニメーションを生成するために、mocapデータにおける骨格を人物メッシュモデルに再ターゲッティングし得る。本システムは、各人物モデルの2つの目の間に、仮想前向き魚眼カメラをしっかりと取り付けることができる。本システムは、アニメーションにおける仮想カメラ姿勢および位置履歴を使用して、動き履歴マップを計算し得る。このカメラセットアップを使用して、本システムは、等距離の魚眼モデルを用いてカメラ視界をレンダリングし得る。レンダリングされた画像のアルファチャネルは、人物の前景マスクを与え得る。この設定では、カメラの-Z軸およびY軸が2つの頭部配向ベクトルと整合されることは、注目に値する。全体として、これは、訓練をブーストし、ならびに、提案された自己姿勢深層モデルを検証するための、高品質データを提供し得る。最後に、この合成データはシーンおよび装着者の外観に対して不変であるので、本システムは、このデータを使用して高品質データを生成し、一般化可能なモデルを訓練し得る。
【0051】
図7は、グラウンドトゥルースデータおよび動きのみの方法の身体姿勢推定結果と比較した例示的な身体姿勢推定結果700を示す。特定の実施形態では、本システムは、身体および頭部姿勢推定誤差を使用して、自己姿勢推定精度を定量化し得る。身体姿勢推定誤差は、正規化された座標系における推定された3Dキーポイントとグラウンドトゥルースキーポイントとの間の平均ユークリッド距離であり得る。訓練および試験中に、グラウンドトゥルース3D身体姿勢は、約170センチメートルの身長を有するように正規化され得る。頭部姿勢推定誤差は、2つの推定された頭部配向とグラウンドトゥルース方向との間の角度によって定量化され得る。特定の実施形態では、本システムは、たとえば、xr-egopose方法、dp-egopose方法、動きのみの方法、形状のみの方法、段階1のみの方法、高さなしの方法、段階1-RNN方法、ハンドマップ法などを含む他の方法よりも正確な姿勢推定を提供し得る。たとえば、図7の第1の行は、本開示で説明される方法およびプロセスを試験するために使用されるグラウンドトゥルース身体姿勢のグループを示す。図7の第2の行は、身体姿勢推定結果を示す。図7の第3の行は、動きのみの方法の身体姿勢推定結果を示す。図7に示すように、第2の行に示されている身体姿勢は、動きのみの方法による身体姿勢推定結果よりも、第1の行に示されているグラウンドトゥルース身体姿勢に近い。本開示で説明される方法およびプロセスは、動きのみの方法よりも正確な身体姿勢推定結果を提供し得る。
【0052】
図8A図8Bは、推定された自己頭部姿勢およびカメラSLAMに基づいて、推定された自己姿勢をグローバル座標系において元に戻す例示的な結果800Aおよび800Bを示す。図8Aの例示的な結果は、元のフレームレートの0.25倍である。図8Bの例示的な結果は、元のフレームレートの0.0625倍である。特定の実施形態では、2段階深層学習方法は、新しい動き履歴画像特徴および身体形状特徴を利用し得る。本システムは、幾何学的制約を明示的に施行しながら、頭部姿勢と身体姿勢の両方を同時に推定し得る。本システムは、合成データソースを使用しながら、より良好な性能を提供し、カメラ設定の変動に対してよりロバストであり、それにより、大きな新しいデータセットを再収集することを回避し得る。本システムは、リアルタイムで動作し、ARおよびVRにおけるエゴセントリック体験およびアプリケーションのためのリアルタイム身体姿勢推定を提供し得る。
【0053】
特定の実施形態では、本システムは、ユーザが(たとえば、VR/ARヘッドセット上の)カメラを装着している間に、リアルタイムで、ユーザの初期身体/頭部姿勢およびユーザの改善された身体/頭部姿勢を決定し得る。一例として、ユーザは、遠隔会議のためにAR/VRヘッドセットを使用し得る。本システムは、本システムによって決定されたユーザのリアルタイムの身体/頭部姿勢に基づいて、ユーザのためのアバターを生成し得る。本システムは、そのアバターを、カメラを装着したユーザと通信する他のユーザに表示し得る。その結果、互いにリモートで通信するユーザは、互いのリアルタイムの身体姿勢を見ることができる。別の例として、AR/VRゲームをプレイするユーザは、異なる身体姿勢または頭部姿勢を使用してゲームシーンと対話し得る。本システムは、ユーザの身体に取り付けられた外部センサーを使用せずに、AR/VRヘッドセット上の前向きカメラを使用して、ユーザの身体/頭部姿勢を決定し得る。ユーザは、異なる身体/頭部姿勢および動きを使用して、仮想環境内のゲームシーンと対話し得る。
【0054】
別の例として、本システムは、リアルタイムで決定されたユーザの身体/頭部姿勢を使用して、仮想環境内のユーザに現実的な音効果を合成し得る。本システムは、ユーザを3D仮想環境内に配置し得る。本システムは、仮想環境内の音源に対するユーザの身体/頭部姿勢に基づいて、現実的な音効果を合成し得る。ユーザが自分の身体または/および頭部を動かすと、本システムは、ユーザのリアルタイムの身体/頭部姿勢に基づいて、ユーザに音を再合成し得る。同時に、本システムは、ユーザのための現実的なAR/VR体験を容易にするために、ユーザのリアルタイムの身体/頭部姿勢を使用して仮想環境内のアバターを制御し得る。
【0055】
特定の実施形態では、本開示で説明される方法、プロセス、およびシステムは、ARシステムまたはVRシステムに適用され得る。限定としてではなく一例として、VRヘッドセットは、その上に取り付けられた1つまたは複数のカメラを有し得る。カメラは、VRヘッドセットのサイズのために、使用面から突き出ている場合がある。VRヘッドセット上に取り付けられたいくつかのカメラは、視野がユーザの前方の領域をカバーして、前方を向くことができる。VRヘッドセット上に取り付けられたいくつかのカメラは、視野がユーザの身体の前側をカバーして、下方を向くことができる。VRヘッドセットの前向きカメラまたは/および下向きカメラは、ユーザの身体の一部(たとえば、腕、手、足、脚、体幹など)をキャプチャし得る。VRヘッドセット上に取り付けられたカメラによってキャプチャされた画像は、ユーザの顔までのカメラの距離、カメラの対向する方向、およびカメラの視野に依存し得る。特定の実施形態では、本開示で説明される方法、プロセス、およびシステムは、特に、ARヘッドセットのカメラよりもユーザの顔から遠い位置に取り付けられたカメラを有するVRヘッドセットのために構成され得る。たとえば、本システムにおいて使用される機械学習モデル(たとえば、CNNネットワーク)は、ユーザの顔までの所定の閾値距離よりも大きい距離でヘッドセット上に取り付けられたカメラによってキャプチャされたサンプル画像を使用して訓練され得る。
【0056】
限定としてではなく別の例として、ARヘッドセットは、その上に取り付けられた1つまたは複数のカメラを有し得る。ARヘッドセット上に取り付けられたカメラは、ARヘッドセットのサイズのために、ユーザの顔により近くなり得る(たとえば、ARヘッドセットはVRヘッドセットよりも薄い場合がある)。ARヘッドセット上に取り付けられたいくつかのカメラは、視野がユーザの前方の領域をカバーして、前方を向くことができる。ARヘッドセット上に取り付けられたいくつかのカメラは、視野がユーザの身体の前側をカバーして、下方を向くことができる。ARヘッドセットの前向きカメラまたは/および下向きカメラは、ユーザの身体の一部(たとえば、腕、手、足、脚、体幹など)をキャプチャし得る。ARヘッドセット上に取り付けられたカメラによってキャプチャされた画像は、ユーザの顔までのカメラの距離、カメラの対向する方向、およびカメラの視野に依存し得る。特定の実施形態では、本開示で説明される方法、プロセス、およびシステムは、特に、ARヘッドセットよりもユーザの顔に近い位置に取り付けられたカメラを有するARヘッドセットのために構成され得る。たとえば、本システムにおいて使用される機械学習モデル(たとえば、CNNネットワーク)は、ユーザの顔までの所定の閾値距離よりも小さい距離でヘッドセット上に取り付けられたカメラによってキャプチャされたサンプル画像を使用して訓練され得る。VRヘッドセット上に取り付けられたカメラと比較して、ARヘッドセット上に取り付けられたカメラは、ユーザの顔に比較的近い位置に取り付けられる(したがって、ユーザの身体の前方にある、手、腕、足、脚などのユーザの身体部分に対して相対的に後方にある)ため、ユーザ身体のより大きな部分をキャプチャし得る。
【0057】
図9は、ユーザによって装着されたカメラによってキャプチャされた画像に基づいてユーザの全身姿勢を決定する例示的な方法900を示す。本方法は、ステップ910において開始し得、コンピューティングシステムが、ユーザによって装着されたヘッドセット上のカメラによって、カメラを装着したユーザの身体部分の少なくとも一部をキャプチャする1つまたは複数の画像をキャプチャし得る。ステップ920において、システムは、カメラによってキャプチャされた1つまたは複数の画像に基づいて、ユーザの身体の動き履歴を符号化するいくつかの動き特徴を決定し得る。ステップ930において、システムは、1つまたは複数の画像において、ユーザの身体部分の一部に対応する前景ピクセルを検出し得る。ステップ940において、システムは、前景ピクセルに基づいて、カメラによってキャプチャされたユーザの身体部分の一部を符号化するいくつかの形状特徴を決定し得る。ステップ950において、システムは、動き特徴および形状特徴に基づいて、ユーザの3次元身体姿勢および3次元頭部姿勢を決定し得る。ステップ960において、システムは、前景ピクセルとユーザの3次元頭部姿勢とに基づいて、姿勢ボリューム表現を生成し得る。ステップ970において、システムは、姿勢ボリューム表現および3次元身体姿勢に基づいて、ユーザの改善された3次元身体姿勢を決定し得る。
【0058】
特定の実施形態では、ユーザの改善された3次元身体姿勢は、ユーザの身体の動き履歴を符号化する動き特徴に基づいて決定され得る。特定の実施形態では、カメラの視野は前向きであり得る。カメラによってキャプチャされた1つまたは複数の画像は魚眼画像であり得る。ユーザの身体部分の一部は、ユーザの手、腕、足、または脚を含み得る。特定の実施形態では、ヘッドセットは、ユーザの頭部に装着され得る。システムは、ヘッドセットに関連付けられた1つまたは複数のIMUを使用してIMUデータを収集し得る。動き特徴は、IMUデータとカメラによってキャプチャされた1つまたは複数の画像とに基づいて決定され得る。特定の実施形態では、システムは、IMUデータおよび1つまたは複数の画像を同時位置特定・マッピング(SLAM)モジュールに供給し得る。システムは、同時位置特定・マッピングモジュールを使用して、IMUデータおよび1つまたは複数の画像に基づいて1つまたは複数の動き履歴表現を決定し得る。動き特徴は、1つまたは複数の動き履歴表現に基づいて決定され得る。特定の実施形態では、各動き履歴表現は、所定の持続時間にわたっていくつかのベクトルを含み得る。それらのベクトルの各ベクトルは、ユーザの3次元回転、3次元並進、または高さに関連付けられたパラメータを含み得る。
【0059】
特定の実施形態では、動き特徴は、動き特徴モデルを使用して決定され得る。動き特徴モデルは、動き履歴表現から動き特徴を抽出するように訓練されたニューラルネットワークモデルを含み得る。特定の実施形態では、システムは、1つまたは複数の画像を前景-背景セグメント化モジュールに供給し得る。システムは、前景-背景セグメント化モジュールを使用して、1つまたは複数の画像の各画像について前景マスクを決定し得る。前景マスクは、ユーザの身体部分の一部に関連付けられた前景ピクセルを含み得る。形状特徴は、前景ピクセルに基づいて決定され得る。特定の実施形態では、形状特徴は、形状特徴モデルを使用して決定され得る。形状特徴モデルは、画像の前景マスクから形状特徴を抽出するように訓練されたニューラルネットワークモデルを含み得る。
【0060】
特定の実施形態では、システムは、動き特徴および形状特徴の重みのバランスをとり得る。システムは、バランスのとれた重みに基づいて、動き特徴および形状特徴を融合モジュールに供給し得る。ユーザの3次元身体姿勢および3次元頭部姿勢は融合モジュールによって決定され得る。特定の実施形態では、姿勢ボリューム表現は、ユーザの3次元身体姿勢および3次元頭部姿勢のための3次元身体形状エンベロープに対応し得る。特定の実施形態では、姿勢ボリューム表現は、ユーザの前景ピクセルを3次元立方体空間に逆投影することによって生成され得る。特定の実施形態では、前景ピクセルは、3次元身体姿勢と3次元頭部姿勢とを互いに一致させたままにする制約の下で、3次元立方体空間に逆投影され得る。特定の実施形態では、システムは、姿勢ボリューム表現、動き特徴、および1つまたは複数の画像の前景ピクセルを3次元姿勢改善モデルに供給し得る。ユーザの改善された3次元身体姿勢は、3次元姿勢改善モデルによって決定され得る。
【0061】
特定の実施形態では、3次元姿勢改善モデルは、姿勢ボリューム表現から特徴を抽出するための3次元ニューラルネットワークを含み得る。姿勢ボリューム表現からの抽出された特徴は、動き特徴および3次元身体姿勢と連結され得る。特定の実施形態では、3次元姿勢改善モデルは、改善回帰ネットワークを含み得る。システムは、動き特徴および3次元身体姿勢と連結された姿勢ボリューム表現からの抽出された特徴を、改善回帰ネットワークに供給し得る。ユーザの改善された3次元身体姿勢は改善回帰ネットワークによって出力され得る。特定の実施形態では、改善された3次元身体姿勢はリアルタイムで決定され得る。システムは、ユーザの改善された3次元身体姿勢に基づいてユーザのためのアバターを生成し得る。システムは、ディスプレイにアバターを表示し得る。特定の実施形態では、システムは、ユーザの改善された3次元身体姿勢に基づいてステレオ音信号を生成し得る。システムは、ステレオ音信号に基づくステレオ音響をユーザに対して再生し得る。
【0062】
特定の実施形態は、適切な場合、図9の方法の1つまたは複数のステップを繰り返し得る。本開示は、図9の方法の特定のステップを、特定の順序で行われるものとして説明し、示すが、本開示は、図9の方法の任意の好適なステップが任意の好適な順序で行われることを企図する。その上、本開示は、図9の方法の特定のステップを含む、ユーザによって装着されたカメラによってキャプチャされた画像に基づいてユーザの全身姿勢を決定するための例示的な方法を説明し、示すが、本開示は、適切な場合、図9の方法のステップのすべてを含むか、いくつかを含むか、またはいずれをも含まないことがある、任意の好適なステップを含む、ユーザによって装着されたカメラによってキャプチャされた画像に基づいてユーザの全身姿勢を決定するための任意の好適な方法を企図する。さらに、本開示は、図9の方法の特定のステップを行う特定の構成要素、デバイス、またはシステムを説明し、示すが、本開示は、図9の方法の任意の好適なステップを行う任意の好適な構成要素、デバイス、またはシステムの任意の好適な組合せを企図する。
【0063】
特定の実施形態では、オンラインソーシャルネットワークのコンテンツオブジェクトのうちの1つまたは複数が、プライバシー設定に関連付けられ得る。オブジェクトについてのプライバシー設定(または「アクセス設定」)は、たとえば、オブジェクトに関連して、許可サーバ上のインデックス中で、別の好適な様式で、またはそれらの任意の組合せなど、任意の好適な様式で記憶され得る。オブジェクトのプライバシー設定は、オンラインソーシャルネットワークを使用してオブジェクト(またはオブジェクトに関連付けられた特定の情報)がどのようにアクセス(たとえば、閲覧または共有)され得るかを指定し得る。オブジェクトについてのプライバシー設定が、特定のユーザがそのオブジェクトにアクセスすることを可能にするとき、オブジェクトは、そのユーザに関して「可視」であるものとして説明され得る。限定としてではなく一例として、オンラインソーシャルネットワークのユーザは、ユーザプロファイルページに関する職歴情報にアクセスし得るユーザのセットを識別するユーザプロファイルページについてのプライバシー設定を指定し、したがって、他のユーザがその情報にアクセスすることを除外し得る。特定の実施形態では、プライバシー設定は、オブジェクトに関連付けられたある情報にアクセスすることを可能にされるべきでないユーザの「ブロックリスト」を指定し得る。言い換えれば、ブロックリストは、オブジェクトが可視でない1つまたは複数のユーザまたはエンティティを指定し得る。限定としてではなく一例として、ユーザは、ユーザに関連付けられた写真アルバムにアクセスしない場合があるユーザのセットを指定し、したがって、それらのユーザが写真アルバムにアクセスすることを除外し得る(また、場合によってはユーザのセット内にない何人かのユーザが写真アルバムにアクセスすることを可能にする)。特定の実施形態では、プライバシー設定は、特定のソーシャルグラフ要素に関連付けられ得る。ノードまたはエッジなど、ソーシャルグラフ要素のプライバシー設定は、ソーシャルグラフ要素、ソーシャルグラフ要素に関連付けられた情報、またはソーシャルグラフ要素に関連付けられたコンテンツオブジェクトが、どのようにオンラインソーシャルネットワークを使用してアクセスされ得るかを指定し得る。限定としてではなく一例として、特定の写真に対応する特定の概念ノード#04は、写真が、写真においてタグ付けされたユーザとユーザの友達とによってのみアクセスされ得ることを指定するプライバシー設定を有し得る。特定の実施形態では、プライバシー設定は、ユーザが、そのユーザのアクションがソーシャルネットワーキングシステムによってロギングされるか、または他のシステム(たとえば、サードパーティシステム)と共有されることをオプトインまたはオプトアウトすることを可能にし得る。特定の実施形態では、オブジェクトに関連付けられたプライバシー設定は、許諾されるアクセスまたはアクセスの拒否の任意の好適なグラニュラリティを指定し得る。限定としてではなく一例として、アクセスまたはアクセスの拒否は、特定のユーザ(たとえば、私のみ、私のルームメート、および私の上司)、特定の分離の程度内のユーザ(たとえば、友達、または友達の友達)、ユーザグループ(たとえば、ゲーミングクラブ、私の家族)、ユーザネットワーク(たとえば、特定の雇用主の従業員、特定の大学の学生または卒業生)、すべてのユーザ(「公開」)、ユーザなし(「プライベート」)、サードパーティシステムのユーザ、特定のアプリケーション(たとえば、サードパーティアプリケーション、外部ウェブサイト)、他の好適なユーザまたはエンティティ、あるいはそれらの任意の組合せについて指定され得る。本開示は、特定の様式で特定のプライバシー設定を使用することについて説明するが、本開示は、任意の好適な様式で任意の好適なプライバシー設定を使用することを企図する。
【0064】
特定の実施形態では、1つまたは複数のサーバが、プライバシー設定を施行するための許可/プライバシーサーバであり得る。データストアに記憶された特定のオブジェクトについてのユーザ(または他のエンティティ)からの要求に応答して、ソーシャルネットワーキングシステムは、オブジェクトについての要求をデータストアに送り得る。要求は、要求に関連付けられたユーザを識別し得、オブジェクトに関連付けられたプライバシー設定に基づいてユーザがオブジェクトにアクセスすることを許可されると許可サーバが決定した場合、ユーザ(またはユーザのクライアントシステム)にのみ送られ得る。要求元ユーザがオブジェクトにアクセスすることを許可されない場合、許可サーバは、要求されたオブジェクトがデータストアから取り出されることを防ぎ得るか、または要求されたオブジェクトがユーザに送られることを防ぎ得る。検索クエリコンテキストでは、クエリを行っているユーザがオブジェクトにアクセスすることを許可される場合にのみ、オブジェクトが検索結果として生成され得る。言い換えれば、オブジェクトは、クエリを行っているユーザに可視であるという可視性を有しなければならない。オブジェクトがユーザに可視でないという可視性を有する場合、オブジェクトは検索結果から除外され得る。本開示は、特定の様式でプライバシー設定を施行することについて説明するが、本開示は、任意の好適な様式でプライバシー設定を施行することを企図する。
【0065】
図10は、例示的なコンピュータシステム1000を示す。特定の実施形態では、1つまたは複数のコンピュータシステム1000は、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施する。特定の実施形態では、1つまたは複数のコンピュータシステム1000は、本明細書で説明または示される機能性を提供する。特定の実施形態では、1つまたは複数のコンピュータシステム1000上で稼働しているソフトウェアは、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施するか、あるいは本明細書で説明または示される機能性を提供する。特定の実施形態は、1つまたは複数のコンピュータシステム1000の1つまたは複数の部分を含む。本明細書では、コンピュータシステムへの言及は、適切な場合、コンピューティングデバイスを包含し得、その逆も同様である。その上、コンピュータシステムへの言及は、適切な場合、1つまたは複数のコンピュータシステムを包含し得る。
【0066】
本開示は、任意の好適な数のコンピュータシステム1000を企図する。本開示は、任意の好適な物理的形態をとるコンピュータシステム1000を企図する。限定としてではなく例として、コンピュータシステム1000は、組込み型コンピュータシステム、システムオンチップ(SOC)、(たとえば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)などの)シングルボードコンピュータシステム(SBC)、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、拡張/仮想現実デバイス、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。適切な場合、コンピュータシステム1000は、1つまたは複数のコンピュータシステム1000を含むか、単一または分散型であるか、複数のロケーションにわたるか、複数の機械にわたるか、複数のデータセンターにわたるか、あるいは1つまたは複数のネットワーク中の1つまたは複数のクラウド構成要素を含み得るクラウド中に常駐し得る。適切な場合、1つまたは複数のコンピュータシステム1000は、実質的な空間的または時間的制限なしに、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。限定としてではなく一例として、1つまたは複数のコンピュータシステム1000は、リアルタイムでまたはバッチモードで、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。1つまたは複数のコンピュータシステム1000は、適切な場合、異なる時間においてまたは異なるロケーションにおいて、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。
【0067】
特定の実施形態では、コンピュータシステム1000は、プロセッサ1002と、メモリ1004と、ストレージ1006と、入出力(I/O)インターフェース1008と、通信インターフェース1010と、バス1012とを含む。本開示は、特定の配置において特定の数の特定の構成要素を有する特定のコンピュータシステムを説明し、示すが、本開示は、任意の好適な配置において任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータシステムを企図する。
【0068】
特定の実施形態では、プロセッサ1002は、コンピュータプログラムを作成する命令など、命令を実行するためのハードウェアを含む。限定としてではなく一例として、命令を実行するために、プロセッサ1002は、内部レジスタ、内部キャッシュ、メモリ1004、またはストレージ1006から命令を取り出し(またはフェッチし)、それらの命令を復号および実行し、次いで、内部レジスタ、内部キャッシュ、メモリ1004、またはストレージ1006に1つまたは複数の結果を書き込み得る。特定の実施形態では、プロセッサ1002は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ1002を企図する。限定としてではなく一例として、プロセッサ1002は、1つまたは複数の命令キャッシュと、1つまたは複数のデータキャッシュと、1つまたは複数のトランスレーションルックアサイドバッファー(TLB)とを含み得る。命令キャッシュ中の命令は、メモリ1004またはストレージ1006中の命令のコピーであり得、命令キャッシュは、プロセッサ1002によるそれらの命令の取出しを高速化し得る。データキャッシュ中のデータは、プロセッサ1002において実行する命令が動作する対象のメモリ1004またはストレージ1006中のデータのコピー、プロセッサ1002において実行する後続の命令によるアクセスのための、またはメモリ1004もしくはストレージ1006に書き込むための、プロセッサ1002において実行された前の命令の結果、あるいは他の好適なデータであり得る。データキャッシュは、プロセッサ1002による読取りまたは書込み動作を高速化し得る。TLBは、プロセッサ1002のための仮想アドレストランスレーションを高速化し得る。特定の実施形態では、プロセッサ1002は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ1002を企図する。適切な場合、プロセッサ1002は、1つまたは複数の算術論理ユニット(ALU)を含むか、マルチコアプロセッサであるか、または1つまたは複数のプロセッサ1002を含み得る。本開示は、特定のプロセッサを説明し、示すが、本開示は任意の好適なプロセッサを企図する。
【0069】
特定の実施形態では、メモリ1004は、プロセッサ1002が実行するための命令、またはプロセッサ1002が動作する対象のデータを記憶するためのメインメモリを含む。限定としてではなく一例として、コンピュータシステム1000は、ストレージ1006または(たとえば、別のコンピュータシステム1000などの)別のソースからメモリ1004に命令をロードし得る。プロセッサ1002は、次いで、メモリ1004から内部レジスタまたは内部キャッシュに命令をロードし得る。命令を実行するために、プロセッサ1002は、内部レジスタまたは内部キャッシュから命令を取り出し、それらの命令を復号し得る。命令の実行中またはその後に、プロセッサ1002は、(中間結果または最終結果であり得る)1つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込み得る。プロセッサ1002は、次いで、メモリ1004にそれらの結果のうちの1つまたは複数を書き込み得る。特定の実施形態では、プロセッサ1002は、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ1006または他の場所とは対照的な)メモリ1004中の命令のみを実行し、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ1006または他の場所とは対照的な)メモリ1004中のデータのみに対して動作する。(アドレスバスおよびデータバスを各々含み得る)1つまたは複数のメモリバスが、プロセッサ1002をメモリ1004に結合し得る。バス1012は、以下で説明されるように、1つまたは複数のメモリバスを含み得る。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ1002とメモリ1004との間に常駐し、プロセッサ1002によって要求されるメモリ1004へのアクセスを容易にする。特定の実施形態では、メモリ1004は、ランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であり得る。その上、適切な場合、このRAMは、シングルポートまたはマルチポートRAMであり得る。本開示は、任意の好適なRAMを企図する。メモリ1004は、適切な場合、1つまたは複数のメモリ1004を含み得る。本開示は、特定のメモリを説明し、示すが、本開示は任意の好適なメモリを企図する。
【0070】
特定の実施形態では、ストレージ1006は、データまたは命令のための大容量ストレージを含む。限定としてではなく一例として、ストレージ1006は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサルシリアルバス(USB)ドライブ、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。ストレージ1006は、適切な場合、リムーバブルまたは非リムーバブル(または固定)媒体を含み得る。ストレージ1006は、適切な場合、コンピュータシステム1000の内部または外部にあり得る。特定の実施形態では、ストレージ1006は、不揮発性ソリッドステートメモリである。特定の実施形態では、ストレージ1006は、読取り専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、またはフラッシュメモリ、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。本開示は、任意の好適な物理的形態をとる大容量ストレージ1006を企図する。ストレージ1006は、適切な場合、プロセッサ1002とストレージ1006との間の通信を容易にする1つまたは複数のストレージ制御ユニットを含み得る。適切な場合、ストレージ1006は、1つまたは複数のストレージ1006を含み得る。本開示は、特定のストレージを説明し、示すが、本開示は任意の好適なストレージを企図する。
【0071】
特定の実施形態では、I/Oインターフェース1008は、コンピュータシステム1000と1つまたは複数のI/Oデバイスとの間の通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム1000は、適切な場合、これらのI/Oデバイスのうちの1つまたは複数を含み得る。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータシステム1000との間の通信を可能にし得る。限定としてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカー、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なI/Oデバイス、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。I/Oデバイスは1つまたは複数のセンサーを含み得る。本開示は、任意の好適なI/Oデバイスと、それらのI/Oデバイスのための任意の好適なI/Oインターフェース1008とを企図する。適切な場合、I/Oインターフェース1008は、プロセッサ1002がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイスまたはソフトウェアドライバを含み得る。I/Oインターフェース1008は、適切な場合、1つまたは複数のI/Oインターフェース1008を含み得る。本開示は、特定のI/Oインターフェースを説明し、示すが、本開示は任意の好適なI/Oインターフェースを企図する。
【0072】
特定の実施形態では、通信インターフェース1010は、コンピュータシステム1000と、1つまたは複数の他のコンピュータシステム1000または1つまたは複数のネットワークとの間の(たとえば、パケットベース通信などの)通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、通信インターフェース1010は、イーサネットまたは他のワイヤベースネットワークと通信するためのネットワークインターフェースコントローラ(NIC)またはネットワークアダプタ、あるいはWI-FIネットワークなどのワイヤレスネットワークと通信するためのワイヤレスNIC(WNIC)またはワイヤレスアダプタを含み得る。本開示は、任意の好適なネットワークと、そのネットワークのための任意の好適な通信インターフェース1010とを企図する。限定としてではなく一例として、コンピュータシステム1000は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つまたは複数の部分、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスであり得る。一例として、コンピュータシステム1000は、(たとえば、BLUETOOTH WPANなどの)ワイヤレスPAN(WPAN)、WI-FIネットワーク、WI-MAXネットワーク、(たとえば、モバイル通信用グローバルシステム(GSM)ネットワークなどの)セルラー電話ネットワーク、または他の好適なワイヤレスネットワーク、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。コンピュータシステム1000は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース1010を含み得る。通信インターフェース1010は、適切な場合、1つまたは複数の通信インターフェース1010を含み得る。本開示は、特定の通信インターフェースを説明し、示すが、本開示は任意の好適な通信インターフェースを企図する。
【0073】
特定の実施形態では、バス1012は、コンピュータシステム1000の構成要素を互いに結合する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、バス1012は、アクセラレーテッドグラフィックスポート(AGP)または他のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、HYPERTRANSPORT(HT)相互接続、業界標準アーキテクチャ(ISA)バス、INFINIBAND相互接続、ローピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺構成要素相互接続(PCI)バス、PCI-Express(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス規格協会ローカル(VLB)バス、または別の好適なバス、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。バス1012は、適切な場合、1つまたは複数のバス1012を含み得る。本開示は、特定のバスを説明し、示すが、本開示は任意の好適なバスまたは相互接続を企図する。
【0074】
本明細書では、1つまたは複数のコンピュータ可読非一時的記憶媒体は、適切な場合、(たとえば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向けIC(ASIC)などの)1つまたは複数の半導体ベースまたは他の集積回路(IC)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタルカードまたはドライブ、任意の他の好適なコンピュータ可読非一時的記憶媒体、あるいはこれらのうちの2つまたはそれ以上の任意の好適な組合せを含み得る。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性との組合せであり得る。
【0075】
本明細書では、「または」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、包括的であり、排他的ではない。したがって、本明細書では、「AまたはB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「A、B、またはその両方」を意味する。その上、「および」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、共同と個別の両方である。したがって、本明細書では、「AおよびB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「共同でまたは個別に、AおよびB」を意味する。
【0076】
本開示の範囲は、当業者が理解するであろう、本明細書で説明または示される例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または示される例示的な実施形態に限定されない。その上、本開示は、本明細書のそれぞれの実施形態を、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして説明し、示すが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書のどこかに説明または示される構成要素、要素、特徴、機能、動作、またはステップのうちのいずれかの任意の組合せまたは置換を含み得る。さらに、特定の機能を実施するように適応されるか、配置されるか、実施することが可能であるか、実施するように構成されるか、実施することが可能にされるか、実施するように動作可能であるか、または実施するように動作する、装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲における参照は、その装置、システム、または構成要素が、そのように適応されるか、配置されるか、可能であるか、構成されるか、可能にされるか、動作可能であるか、または動作する限り、その装置、システム、構成要素またはその特定の機能が、アクティブにされるか、オンにされるか、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。さらに、本開示は、特定の実施形態を、特定の利点を提供するものとして説明するかまたは示すが、特定の実施形態は、これらの利点のいずれをも提供しないか、いくつかを提供するか、またはすべてを提供し得る。
図1A
図1B
図2
図3A
図3B
図4
図5
図6
図7
図8A
図8B
図9
図10
【国際調査報告】