(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-05
(54)【発明の名称】画像ベースの指の追跡とコントローラの追跡
(51)【国際特許分類】
A63F 13/42 20140101AFI20231128BHJP
G06T 7/00 20170101ALI20231128BHJP
G06V 10/82 20220101ALI20231128BHJP
A63F 13/428 20140101ALI20231128BHJP
A63F 13/213 20140101ALI20231128BHJP
A63F 13/52 20140101ALI20231128BHJP
A63F 13/25 20140101ALI20231128BHJP
A63F 13/24 20140101ALI20231128BHJP
G06F 3/01 20060101ALI20231128BHJP
A63F 13/655 20140101ALI20231128BHJP
【FI】
A63F13/42
G06T7/00 660Z
G06T7/00 350C
G06V10/82
A63F13/428
A63F13/213
A63F13/52
A63F13/25
A63F13/24
G06F3/01 510
A63F13/655
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023531025
(86)(22)【出願日】2021-11-22
(85)【翻訳文提出日】2023-05-23
(86)【国際出願番号】 US2021060317
(87)【国際公開番号】W WO2022115375
(87)【国際公開日】2022-06-02
(32)【優先日】2020-11-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ヨコカワ、ユタカ
【テーマコード(参考)】
5E555
5L096
【Fターム(参考)】
5E555AA26
5E555BA20
5E555BB20
5E555BC04
5E555BE17
5E555CA21
5E555CA42
5E555CB02
5E555DA08
5E555DB53
5E555EA19
5E555EA22
5E555FA00
5L096AA06
5L096EA03
5L096EA35
5L096FA16
5L096FA60
5L096FA64
5L096HA11
5L096KA04
(57)【要約】
【課題】例えばVR HMD(200)上のカメラ(208)からの画像が、コンピュータゲームコントローラ(212)を握っている手の画像であると識別される。
【解決手段】画像は、処理を簡素化するために、コントローラと手とを含む領域にトリミングすることができ(306)、手の仮想表現を領域の画像分析及びコントローラからのタッチ信号(302)の両方に基づいて生成して、この仮想表現がHMDなどのディスプレイ(202)上に提示される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサであって、
コンピュータゲームコントローラを握っている手の少なくとも1つのカメラからの画像を識別することと、
前記画像を、前記コントローラ及び前記手を含む領域にトリミングすることと、
前記領域の画像分析と前記コントローラからの少なくとも1つのタッチ信号とに少なくとも部分的に基づいて生成された前記手の仮想表現を、コンピュータ制御のディスプレイ上に提示することと、
を行う命令でプログラムされる、前記少なくとも1つのプロセッサ
を含む、装置。
【請求項2】
前記少なくとも1つのカメラが、ヘッドマウントディスプレイ(HMD)に取り付けられる、請求項1に記載の装置。
【請求項3】
前記HMDを含む、請求項2に記載の装置。
【請求項4】
前記タッチ信号は、前記コントローラの制御キー要素からのものである、請求項1に記載の装置。
【請求項5】
前記タッチ信号は、前記コントローラの制御キー要素以外の前記コントローラ上のセンサからのものである、請求項1に記載の装置。
【請求項6】
前記命令は、
前記タッチ信号を使用して、前記コントローラによって前記カメラから遮られた前記手の部分の仮想表現を生成するように実行可能である、請求項1に記載の装置。
【請求項7】
前記命令は、
前記コントローラからのタッチ信号を識別することに応答して、手の認識を使用せずに、コントローラの認識を使用して、前記仮想表現を生成するように実行可能である、請求項1に記載の装置。
【請求項8】
前記命令は、
機械学習(ML)モジュールを実行して、前記領域内の前記画像と前記コントローラからの前記タッチ信号とに基づいて、テンプレート画像のキーポイントを変更することによって、前記仮想表現を生成する
ように実行可能である、請求項1に記載の装置。
【請求項9】
前記MLモデルは、少なくとも1つのニューラルネットワーク(NN)及び少なくとも1つのヒートマップを含む、請求項8に記載の装置。
【請求項10】
コンピュータシミュレーションコントローラを握っている手の画像を識別することと、
前記コンピュータシミュレーションコントローラから少なくとも1つのタッチ信号を受信することと、
前記手の前記画像と前記タッチ信号との両方に基づいて、仮想の手の画像を生成してそれを表示することと、
を含む、方法。
【請求項11】
前記仮想の手の前記画像を、コンピュータ制御のディスプレイ上に提示することを含む、請求項10に記載の方法。
【請求項12】
前記コンピュータ制御のディスプレイが、ヘッドマウントディスプレイ(HMD)を含む、請求項11に記載の方法。
【請求項13】
前記コンピュータシミュレーションコントローラを握っている前記手の前記画像を、前記コントローラと前記手とを含む領域にトリミングすることと、
前記コンピュータシミュレーションコントローラを握っている前記手の前記画像の、前記領域のみを使用して、他の部分を使用せずに、前記仮想の手の前記画像を生成することと
を含む、請求項10に記載の方法。
【請求項14】
前記タッチ信号は、前記コントローラの制御キー要素からのものである、請求項10に記載の方法。
【請求項15】
前記タッチ信号は、前記コントローラの制御キー要素以外の前記コントローラ上のセンサからのものである、請求項10に記載の方法。
【請求項16】
前記タッチ信号を使用して、前記コントローラによってカメラ視野から遮られた前記手の部分の仮想表現を生成することを含む、請求項10に記載の方法。
【請求項17】
前記コントローラからのタッチ信号を識別することに応答して、手の認識を使用せずに、コントローラの認識を使用して、前記仮想の手の前記画像を生成することを含む、請求項10に記載の方法。
【請求項18】
機械学習(ML)モジュールを実行して、前記領域内の前記画像と前記コントローラからの前記タッチ信号とに基づいて、テンプレート画像のキーポイントを変更することによって、前記仮想表現を生成すること
を含む、請求項10に記載の方法。
【請求項19】
前記MLモデルは、少なくとも1つのキーニューラルネットワーク(NN)及び少なくとも1つのヒートマップを含む、請求項18に記載の方法。
【請求項20】
一時的信号ではない、少なくとも1つのコンピュータストレージであって、少なくとも1つのプロセッサにより、
コンピュータゲームコントローラを握っている人の手の少なくとも1つの画像を受信することと、
前記コントローラから少なくとも1つのタッチ信号を受信することと、
前記画像と前記タッチ信号との両方に基づいて、前記人の手を表す仮想の手を生成して、少なくとも1つのコンピュータ制御のディスプレイ上に前記仮想の手を表示することと、
を行うように実行可能な命令を含む、前記少なくとも1つのコンピュータストレージ
を含む、デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、一般に、コンピュータゲームなどのコンピュータシミュレーションにおける画像ベースの指の追跡とコントローラの追跡に関する。
【背景技術】
【0002】
ハンドトラッキングは、仮想現実(VR)コンピュータゲームなどのアプリケーションが、例えば、ユーザが仮想オブジェクトを拾い上げるコンピュータゲームをプレイ中に、VRヘッドマウントディスプレイ(HMD)などのディスプレイ上にユーザの手の仮想化された表現を提示するために望ましいものである。
【0003】
手を追跡することは、例えば、HMD上のカメラを使用することで可能だが、本明細書で理解されるように、例えば、コンピュータゲームコントローラがユーザによって握られていることによって、ユーザの手が部分的に遮られている場合、手を認識することも、そして、そのポーズの正確な仮想描写を提示することも、いずれも複雑である。コントローラのセンサに基づいて手を追跡すると、センサの近くにない手の部分や、自由度の高い動きを想定できる親指などの手の部分に「死角」が生じる可能性がある。
【発明の概要】
【0004】
したがって、装置が、コンピュータゲームコントローラを握っている手の少なくとも1つのカメラからの画像を識別するための命令でプログラムされた少なくとも1つのプロセッサを含む。命令は、画像を、コントローラ及び手を含む領域にトリミングすることと、領域の画像分析とコントローラからの少なくとも1つのタッチ信号とに少なくとも部分的に基づいて生成された手の仮想表現を、コンピュータ制御のディスプレイ上に提示することと、を行うように実行可能である。
【0005】
いくつかの実施形態では、カメラは、ヘッドマウントディスプレイ(HMD)に取り付けられる。本装置は、HMDを含み得る。例示的実施態様では、タッチ信号は、コントローラの制御キー要素の操作から、及び/またはコントローラの制御キー要素以外のコントローラ上のセンサから、生成され得る。
【0006】
命令は、タッチ信号を使用して、コントローラによってカメラから遮られた手の部分の仮想表現を生成するように実行可能であり得る。いくつかの実施形態では、命令は、コントローラからのタッチ信号を識別することに応答して、手の認識を使用せずに、コントローラの認識を使用して、仮想表現を生成するように実行可能であり得る。
【0007】
実施例では、命令は、機械学習(ML)モジュールを実行して、領域内の画像とコントローラからのタッチ信号とに基づいて、テンプレート画像のキーポイントを変更することによって、仮想表現を生成するように実行可能であり得る。MLモデルは、少なくとも1つのニューラルネットワーク(NN)及び少なくとも1つのヒートマップを含み得る。
【0008】
別の態様では、方法が、コンピュータシミュレーションコントローラを握っている手の画像を識別することを含む。本方法はまた、コンピュータシミュレーションコントローラから少なくとも1つのタッチ信号を受信することと、手の画像とタッチ信号との両方に基づいて、仮想の手の画像を生成してそれを表示することとを含む。
【0009】
別の態様では、デバイスが、一時的信号ではない、少なくとも1つのコンピュータストレージであって、少なくとも1つのプロセッサにより、コンピュータゲームコントローラを握っている人の手の少なくとも1つの画像を受信することと、コントローラから少なくとも1つのタッチ信号を受信することと、画像とタッチ信号との両方に基づいて、人の手を表す仮想の手を生成して、少なくとも1つのコンピュータ制御のディスプレイ上に仮想の手を表示することと、を行うように実行可能な命令を含む、少なくとも1つのコンピュータストレージを含む。
【0010】
本出願の詳細は、その構造と動作との両方について、同様の参照符号が同様の部分を指す添付図面を参照して最も良く理解することができる。
【図面の簡単な説明】
【0011】
【
図1】一部または全てが様々な実施形態で使用できるコンピュータコンポーネントを示す例示的なシステムのブロック図である。
【
図2】ヘッドマウントディスプレイ、コンピュータシミュレーションコントローラ、及び仮想画像プロセッサのコンポーネントを示す例示的なシステムを示す。
【
図3】カメラ画像とコントローラからのタッチ信号との両方に基づいて仮想の手の画像を生成するための例示的なフローチャート形式の例示的な論理を示す。
【
図5】例示的なコンピュータゲームコントローラを握っている人の手の様々な例示的なポーズを示す。
【
図6】例示的なコンピュータゲームコントローラを握っている人の手の様々な例示的なポーズを示す。
【
図7】例示的なコンピュータゲームコントローラを握っている人の手の様々な例示的なポーズを示す。
【
図8】例示的なコンピュータゲームコントローラを握っている人の手の様々な例示的なポーズを示す。
【
図9】例示的なコンピュータゲームコントローラを握っている人の手の様々な例示的なポーズを示す。
【
図10】コントローラを保持している手の画像及び関連する手全体の仮想画像を示す。
【
図11】仮想の手の画像を生成するために使用できる例示的な機械学習(ML)モジュールを示す。
【発明を実施するための形態】
【0012】
本開示は、概して、限定されることなく、コンピュータゲームネットワークなどの家電(CE)デバイスネットワークの態様を含むコンピュータエコシステムに関する。本明細書のシステムは、クライアントコンポーネントとサーバコンポーネントとの間でデータが交換され得るように、ネットワークを通じて接続され得るサーバコンポーネント及びクライアントコンポーネントを含み得る。クライアントコンポーネントは、Sony PlayStation(登録商標)などのゲームコンソールまたはMicrosoft(登録商標)もしくはNintendo(登録商標)もしくは他の製造者によって作成されたゲームコンソール、仮想現実(VR)ヘッドセット、拡張現実(AR)ヘッドセット、ポータブルテレビ(例えば、スマートテレビ、インターネット対応テレビ)、ラップトップ及びタブレットコンピュータなどのポータブルコンピュータ、ならびにスマートフォン及び以下で議論される追加の実施例を含む他のモバイルデバイスを含む、1つ以上のコンピューティングデバイスを含み得る。これらのクライアントデバイスは、様々な動作環境で動作し得る。例えば、クライアントコンピュータのいくつかは、実施例として、Linux(登録商標)オペレーティングシステム、Microsoft(登録商標)のオペレーティングシステム、またはUnix(登録商標)オペレーティングシステム、またはApple,Inc.(登録商標)もしくはGoogle(登録商標)によって制作されたオペレーティングシステムを採用し得る。これらの動作環境は、Microsoft(登録商標)もしくはGoogle(登録商標)もしくはMozilla(登録商標)によって作成されたブラウザ、または以下で議論されるインターネットサーバによってホストされるウェブサイトにアクセスできる他のブラウザプログラムなど、1つ以上の閲覧プログラムを実行するために使用され得る。また、本原理による動作環境を使用して、1つ以上のコンピュータゲームプログラムを実行し得る。
【0013】
サーバ及び/またはゲートウェイは、インターネット等のネットワークを通じてデータを送受信するサーバを構成する命令を実行する1つ以上のプロセッサを含み得る。または、クライアント及びサーバは、ローカルイントラネットまたは仮想プライベートネットワークを通じて接続することができる。サーバまたはコントローラは、Sony PlayStation(登録商標)等のゲーム機、パーソナルコンピュータ等によってインスタンス化されてよい。
【0014】
クライアントとサーバとの間でネットワークを通じて情報を交換し得る。この目的及びセキュリティのために、サーバ及び/またはクライアントは、ファイアウォール、ロードバランサ、テンポラリストレージ、及びプロキシ、ならびに信頼性及びセキュリティのための他のネットワークインフラストラクチャを含むことができる。1つ以上のサーバは、ネットワークメンバーにオンラインソーシャルウェブサイトなどの安全なコミュニティを提供する方法を実装する装置を形成し得る。
【0015】
プロセッサは、アドレスライン、データライン及び制御ラインなどの様々なライン、並びにレジスタ及びシフトレジスタによって論理を実行することができる、シングルチッププロセッサまたはマルチチッププロセッサであってよい。
【0016】
一実施形態に含まれるコンポーネントは、他の実施形態では、任意の適切な組み合わせで使用することができる。例えば、本明細書に記載される、及び/または図で示される様々なコンポーネントのいずれも、組み合わされ、交換され、または他の実施形態から除外されてもよい。
【0017】
「A、B及びCのうちの少なくとも1つを有するシステム」(同様に「A、BまたはCのうちの少なくとも1つを有するシステム」及び「A、B、Cのうちの少なくとも1つを有するシステム」)は、A単独、B単独、C単独、A及びBを一緒に、A及びCを一緒に、B及びCを一緒に、及び/またはA、B及びCを一緒に有するシステムなどを含む。
【0018】
ここで、具体的に
図1を参照すると、本原理による、上述され、以下でさらに説明される例示的なデバイスのうちの1つ以上を含み得る例示的なシステム10が示されている。システム10に含まれる例示的なデバイスのうちの第1のデバイスは、限定されることなく、テレビチューナ(同等に、テレビを制御するセットトップボックス)を備えたインターネット対応テレビなどのオーディオビデオデバイス(AVD)12などの家電(CE)デバイスである。代替として、AVD12は、また、コンピュータ制御型インターネット対応(「スマート」)電話、タブレットコンピュータ、ノートブックコンピュータ、HMD、ウェアラブルコンピュータ制御デバイス、コンピュータ制御型インターネット対応ミュージックプレイヤ、コンピュータ制御型インターネット対応ヘッドフォン、インプラント可能な皮膚用デバイスなどのコンピュータ制御型インターネット対応インプラント可能デバイス、などであってもよい。それにも関わらず、AVD12は、本原理を実施する(例えば、本原理を実施するように他のCEデバイスと通信し、本明細書に記載される論理を実行し、本明細書に記載されるいずれかの他の機能及び/または動作を行う)ように構成されることを理解されたい。
【0019】
したがって、このような原理を実施するために、AVD12は、
図1に示されているコンポーネントの一部または全てによって確立することができる。例えば、AVD12は、1つ以上のディスプレイ14を備えることができ、このディスプレイは、高解像度もしくは超高解像度「4K」またはそれ以上の解像度のフラットスクリーンによって実装されてもよく、ディスプレイのタッチを介したユーザ入力信号を受信するためにタッチ対応であってもよい。AVD12は、本原理に従ってオーディオを出力するための1つ以上のスピーカ16、及び可聴コマンドをAVD12に入力してAVD12を制御するためのオーディオ受信機/マイクロホンなどの、少なくとも1つの追加入力デバイス18を含み得る。例示的なAVD12は、また、1つ以上のプロセッサ24の制御の下、インターネット、WAN、LANなどの少なくとも1つのネットワーク22を通じて通信するための1つ以上のネットワークインタフェース20を含み得る。また、グラフィックプロセッサ24Aが含まれていてもよい。したがって、インタフェース20は、限定されることなく、Wi-Fi(登録商標)送受信機であり得、このWi-Fi(登録商標)送受信機は、限定されることなく、メッシュネットワーク送受信機などの無線コンピュータネットワークインタフェースの実施例である。プロセッサ24は、画像を提示するようにディスプレイ14を制御すること及びそこから入力を受信することなど、本明細書に記載されるAVD12の他の要素を含むAVD12が本原理を実施するように、制御することを理解されたい。さらに、ネットワークインタフェース20は、有線もしくは無線のモデムもしくはルータ、または、例えば、無線テレフォニ送受信機もしくは上述したWi-Fi(登録商標)送受信機などの他の適切なインタフェースであってよいことに留意されたい。
【0020】
上記のものに加えて、AVD12はまた、例えば、別のCEデバイスに物理的に接続する高解像度マルチメディアインタフェース(HDMI(登録商標))ポートもしくはUSBポート、及び/またはヘッドフォンを通してAVD12からユーザにオーディオを提供するためにAVD12にヘッドフォンを接続するヘッドフォンポートなどの1つ以上の入力ポート26を含んでもよい。例えば、入力ポート26は、オーディオビデオコンテンツのケーブルまたは衛星ソース26aに有線でまたは無線で接続されてもよい。したがって、ソース26aは、別個のもしくは統合されたセットトップボックス、または衛星受信機であってよい。あるいは、ソース26aは、コンテンツを含むゲームコンソールまたはディスクプレイヤであってもよい。ソース26aは、ゲームコンソールとして実装されるとき、CEデバイス44に関連して以下で説明されるコンポーネントの一部または全てを含んでよい。
【0021】
AVD12は、さらに、一時的信号ではない、ディスクベースストレージまたはソリッドステートストレージなどの1つ以上のコンピュータメモリ28を含んでもよく、これらのストレージは、場合によっては、スタンドアロンデバイスとしてAVDのシャーシ内で、またはAVプログラムを再生するためにAVDのシャーシの内部もしくは外部のいずれかでパーソナルビデオ録画デバイス(PVR)もしくはビデオディスクプレイヤとして、または取り外し可能メモリ媒体として具現化されてもよい。また、ある実施形態では、AVD12は、限定されることなく、携帯電話受信機、GPS受信機、及び/または高度計30などの位置または場所の受信機を含むことができ、位置または場所の受信機は、衛星もしくは携帯電話基地局から地理的位置情報を受信し、その情報をプロセッサ24に供給し、及び/またはAVD12がプロセッサ24と併せて配置されている高度を決定するように構成される。コンポーネント30はまた、通常、加速度計、ジャイロスコープ、及び磁力計の組み合わせを含み、AVD12の位置及び方向を3次元で決定する慣性測定ユニット(IMU)によって実装されてもよい。
【0022】
AVD12の説明を続けると、いくつかの実施形態では、AVD12は、1つ以上のカメラ32を含んでよく、1つ以上のカメラは、サーマルイメージングカメラ、ウェブカメラなどのデジタルカメラ、及び/またはAVD12に統合され、本原理に従って写真/画像及び/またはビデオを収集するようプロセッサ24によって制御可能なカメラであってよい。また、AVD12に含まれるのは、Bluetooth(登録商標)及び/または近距離無線通信(NFC)技術を各々使用して、他のデバイスと通信するためのBluetooth(登録商標)送受信機34及び他のNFC要素36であってよい。例示的なNFC要素は、無線周波数識別(RFID)素子であってもよい。
【0023】
さらにまた、AVD12は、プロセッサ24に入力を供給する1つ以上の補助センサ37(例えば、加速度計、ジャイロスコープ、サイクロメータなどの運動センサ、または磁気センサ、赤外線(IR)センサ、光学センサ、速度センサ及び/またはケイデンスセンサ、ジェスチャセンサ(例えば、ジェスチャコマンドを検知するための))を含み得る。AVD12は、プロセッサ24への入力をもたらすOTA(無線)TV放送を受信するための無線TV放送ポート38を含み得る。上記に加えて、AVD12はまた、赤外線データアソシエーション(IRDA)デバイスなどの赤外線(IR)送信機及び/またはIR受信機及び/またはIR送受信機42を含み得ることに留意されたい。電池(図示せず)は、電池を充電するために及び/またはAVD12に電力を供給するために運動エネルギーを電力に変えることができる運動エネルギーハーベスタのように、AVD12に電力を供給するために提供され得る。
【0024】
さらに
図1を参照すると、AVD12に加えて、システム10は、1つ以上の他のCEデバイスタイプを含み得る。一実施例では、第1のCEデバイス44は、AVD12に直接送信されるコマンドを介して及び/または後述のサーバを通して、コンピュータゲームの音声及びビデオをAVD12に送信するために使用することができるコンピュータゲームコンソールであり得る一方で、第2のCEデバイス46は第1のCEデバイス44と同様のコンポーネントを含み得る。図示の実施例では、第2のCEデバイス46は、プレイヤによって操作されるコンピュータゲームのコントローラとして、またはプレイヤ47によって装着されるヘッドマウントディスプレイ(HMD)として構成され得る。図示の実施例では、2つのCEデバイス44、46のみが示されているが、より少ないまたはより多くのデバイスが使用されてよいことは理解されよう。本明細書のデバイスは、AVD12について示されているコンポーネントの一部または全てを実装し得る。次の図に示されているコンポーネントのいずれかに、AVD12の場合に示されているコンポーネントの一部または全てが組み込まれることがある。
【0025】
ここで、上述の少なくとも1つのサーバ50を参照すると、サーバは、少なくとも1つのサーバプロセッサ52と、ディスクベースストレージまたはソリッドステートストレージなどの少なくとも1つの有形コンピュータ可読記憶媒体54と、サーバプロセッサ52の制御下で、ネットワーク22を通じて
図1の他のデバイスとの通信を可能にし、実際に、本原理に従ってサーバとクライアントデバイスとの間の通信を容易にし得る少なくとも1つのネットワークインタフェース56とを含む。ネットワークインタフェース56は、例えば、有線もしくは無線モデムもしくはルータ、Wi-Fi(登録商標)送受信機、または、例えば、無線テレフォニ送受信機などの他の適切なインタフェースであってよいことに留意されたい。
【0026】
したがって、いくつかの実施形態では、サーバ50は、インターネットサーバまたはサーバ「ファーム」全体であってもよく、「クラウド」機能を含み、システム10のデバイスが、例えば、ネットワークゲームアプリケーションの例示的な実施形態においてサーバ50を介して「クラウド」環境にアクセスできるように、その「クラウド」機能を実行してもよい。あるいは、サーバ50は、
図1に示されている他のデバイスと同じ部屋にある、またはその近くにある、1つ以上のゲームコンソール、または他のコンピュータによって実装されてもよい。
【0027】
図2は、仮想現実(VR)ヘッドマウントディスプレイ(HMD)などのディスプレイデバイス200を示しており、これは、
図2に示されている他のコンポーネントと同様に、
図1に関連して先に述べたコンポーネントのいずれかまたは全てを組み込むことができる。
図2に示される例示的なHMD200は、1つ以上の無線ネットワークインタフェース206を使用して他のコンポーネントと無線通信し得る1つ以上のプロセッサ204によって制御される1つ以上のビデオディスプレイ202を含み得る。HMD200はまた、HMD200の着用者の手などのオブジェクトを撮像するための1つ以上の外向きカメラ208を含み得る。
【0028】
HMD200は、1つ以上のハンドヘルドコントローラ212の制御下で、ビデオゲームコンソール及び/またはリモートサーバなどのソース210によって実行されるビデオゲームをプレイするために使用され得る。コントローラ212は、ゲームまたはシミュレーションのプレイを制御するための1つ以上の操作可能な制御キー214を含むことができ、それらのそれぞれは、関連した制御キー214の操作または接触を表す信号を生成するように、1つ以上のセンサ216に関連付けられ得る。また、コントローラ212は、制御キーに関連付けられていないが、コントローラ212上の既知の位置に配置された1つ以上の非制御キーセンサ218を含んでいて、センサ218との手による接触または近接を感知し、それを示す信号を提供することができる。コントローラ212は、1つ以上のネットワークインタフェース222を使用して、センサ216、218及び制御キー214からの信号を他のコンポーネントに送信するように構成された1つ以上のプロセッサ220を含み得る。コントローラはまた、慣性センサ、全地球測位衛星センサ、加速度計、磁力計、ジャイロスコープ、及びそれらの組み合わせなどの1つ以上の位置センサ223を含むことができる。
【0029】
本明細書で説明するプロセッサのいずれかなどの1つ以上のプロセッサ224は、
図2の他のコンポーネントから信号を受信することができ、1つ以上のコンピュータストレージ226上の命令にアクセスして、本原理と一致する本明細書で一貫して説明される論理を実行し得る。
【0030】
そのような論理の例が
図3に示されており、本明細書に示される任意のプロセッサまたはプロセッサの組み合わせによって実行され得る。ブロック300で始まり、例えば、カメラ208から、人間の手によって保持され得るコントローラ212の画像を受信する。決定ダイヤモンド302に移ると、コントローラセンサ216、218のいずれかから、コントローラが実際に保持されていることを示す信号を受信したかどうかを判定する。受信していない場合、論理は、ブロック304に移行して、自由空間における手の画像認識を実行し、手の画像のみに基づいて手の仮想表現を生成することができる。
【0031】
また一方、コントローラが保持されていることをコントローラのセンサからの信号が表したため、コントローラが保持されていると判定した場合、論理は、ブロック306に移行して、画像を、コントローラと、手であると推測され得る周囲のオブジェクトとの領域のみの画像にトリミングする。このように、手を認識するためにより複雑な画像認識を行うのではなく、コントローラを認識するためのみに画像認識を行ってもよい。トリミング後の残りの画像領域は、必要に応じて超解像度を介して処理して、画像の詳細を際立たせてもよい。
【0032】
ブロック308に進むと、トリミングされた画像を分析して、画像とコントローラセンサ216、218からの信号との両方に基づいて手のポーズを判定することができる。一般に、コントローラの画像を取り囲み、人間の手の一部であると推測されるオブジェクトの部分を使用して、手の仮想画像の一部をレンダリングすることができ、接触点を表すコントローラからの信号が、コントローラの画像の背後にある手の見えない部分を「補う」のに用いられる。
【0033】
手の可視部分の基準フレームは、様々な手法でコントローラの基準フレームに登録することができる。例えば、コントローラ212の位置を、位置センサ223からの信号と、接触を示すセンサ216、218の位置にマシンビジョンを使用して登録された手の可視部分とから得て、位置センサ223の表すコントローラの基準フレームに変換してもよい。または、マシンビジョンを使用して、手の画像の重心に基づいて基準フレームを定め、接触を示すセンサ216、218の位置に基づいてコントローラの位置を重心に登録してもよい。
【0034】
さらにまた、以下でさらに説明されるように機械学習(ML)モジュールが使用される場合、モデルが、コントローラを保持している手のグラウンドトゥルース画像と併せて、付随するグラウンドトゥルースセンサ信号と、コントローラを保持している部分的な手の画像に対応する、グラウンドトゥルースの結果として得られる仮想の手全体の画像と、対応するセンサ信号とでトレーニングされてもよい。
【0035】
実際に、
図3は、手を含むコントローラのトリミングされた領域が、ブロック308でMLモジュールに入力され、画像が生成されたのと同時に生成されたコントローラセンサ216、218からの対応するタッチ信号が、ブロック310でMLモジュールに入力され得ることを例示する。MLモジュールは、センサ信号とコントローラ/手の画像との両方を使用して、ブロック312で、ブロック306で生成されたトリミングされた領域内のコントローラを握っている状態と同じポーズの完全な手の仮想画像を出力する。仮想画像は、ブロック314で、HMD200などのディスプレイ上に提示される。
【0036】
図5~
図9は、コントローラ504~904を握っている手502~902のそれぞれのトリミングされた画像500~900を示し、これらは、トレーニング用のグラウンドトゥルース画像と、
図3のブロック306で生成される実際のトレーニング後のトリミングされた画像とを表し得る。
【0037】
図10は、トリミングされたコントローラ/手の画像1000と、画像1000及びセンサ信号を使用して生成された結果として得られる仮想の手全体の画像1002とを示し、これは、MLモジュールトレーニング中のグラウンドトゥルース入力を示し、または
図3のブロック312で出力される仮想の手の画像の例示として示し得る。
【0038】
図11は、最初の手検出1102を使用する必要がない場合に使用できる例示的なMLモジュールまたはエンジン1100を示す。代わりに、前に説明したように、左及び右のキーポイント推定ステージ1104、1106(右のステージ1104の詳細は明確にするためにのみ示されている)は、本明細書の他の箇所で説明されている原則に従って、コントローラを保持している手の複数の画像1108を、必要に応じてトリミングし、必要に応じて超解像度を用いて高解像度化し、受け取ることができる。画像1108は、畳み込みニューラルネットワーク(CNN)などであるがこれに限定されないキーニューラルネットワーク1110を通じて処理することができる。
【0039】
キーNN1110は、2次元(2D)ヒートマップ及び1Dヒートマップ1112、1114の両方を生成し、それらからキーポイント1116が、そのキーポイント1116に従ってテンプレートの手1118のポーズを変更するために、導出される。モデルパラメータは、最小E(θ)を最適化することによって学習される。これは、使用できるヒートマップ技法の1つにすぎない。
【0040】
これにより、最初の手全体の仮想画像1120が生成される。画像1108内のコントローラからのコントローラセンサ信号1122は、線1124によって示されるように、キーNN1110にフィードバックされ、及び/またはコントローラタッチ入力信号1122は、画像1108と共にキーNN1108に直接供給されてもよい。
【0041】
本明細書で説明する例示的なヒートマップ技法に関して、非限定的な一実施態様では、サイズW0×H0、{H1、H2、・・・、Hk}のK個のヒートマップを推定することができる。ここで、各ヒートマップHkは、レンダリングされることになる仮想の手のk番目のキーポイントの位置信頼度を示す。(合計でK個のキーポイント)。“Efficient Object Localization Using Convolutional Networks”, Tompson et al., arXiv:1411.4280v3 (June, 2015)では、複数の解像度バンクで画像を並行して処理して、様々なスケールで特徴を同時にキャプチャすることによってヒートマップを生成するアプローチについて説明している。出力は、連続回帰ではなく離散ヒートマップである。ヒートマップは、各ピクセルで関節が生ずる確率を予測する。多重解像度CNNアーキテクチャ(粗いヒートマップモデル)を使用してスライディングウィンドウ検出器を実装し、それによって粗いヒートマップ出力を生成する。これは、使用できるヒートマップ技法の例の1つにすぎない。
【0042】
図12を参照すると、複数のそれぞれのカメラからの複数の画像に対する、本質的に互いに同一であるシステムフロー1200、1202が示されている。したがって、システムフロー1200が詳細に示され、開示される。
【0043】
画像1204が受信され、シミュレーションコントローラ1206が画像1204の矩形サブエリア1208内で認識されて、矩形内のトリミングされた画像1210が生成されることを可能にする。トリミングされた画像1210は、1つ以上のニューラルネットワーク(複数可)1212に入力され、これはまた、コントローラ追跡情報1214も受信する。追跡情報1214には、慣性運動ユニット(IMU)、磁力計、加速度計、及びジャイロスコープなどのコントローラ内の1つ以上のセンサによって示される、空間内のコントローラ1206の位置、コントローラの回転、コントローラの速度及び加速度、ならびにコントローラの回転速度が含まれ得る。前述のように、ニューラルネットワーク(複数可)1212は、コントローラを保持している手のグラウンドトゥルース画像と、それに付随するコントローラ追跡入力とを使用して、トレーニングすることができる。本明細書の他の箇所で述べられ、
図12に示すように、ニューラルネットワーク(複数可)1212は、フェイスボタン及び/またはジョイスティック及び/または指センサ及び/またはグリップボタンなどのコントローラ入力要素(複数可)1215から情報を受け取ることもできることに留意されたい。
【0044】
ニューラルネットワーク1212は、2次元ヒートマップ1216と、奥行きを表す1次元ヒートマップ1218とを出力し、結果として手の関節位置1219が3次元で生じ得る。これらのパラメータは、画像1204における手のポーズの画像1222を3次元で提示するために使用される骨格フィッティング1220に使用される。骨格フィッティングは、固定された骨長が得られるキャリブレーションプロセスの結果である。骨格フィッティングは、ヒートマップとヒートマップに投影された関節位置との差(エネルギー)と、最後のフレームとの時間的変化とを最小限に抑えようとし、その結果、キャリブレーションされた骨格構造の最適な関節回転が得られる。
【0045】
必要に応じて、コントローラ追跡1214を、矩形1208の画像の投影1224に使用することができる。
【0046】
いくつかの例示的な実施形態を参照して本原理を説明したが、これらは限定することを意図しておらず、各種の代替的な構成が本明細書で特許請求される主題を実施するために使用されてよいことを理解されよう。
【国際調査報告】