(57)【要約】  ユーザが手で操作する機器であって、当該機器の表面に、ユーザの手の表面との空間的位置関係に係る情報を出力する複数のセンサが配列された機器に接続され、この機器が備えるセンサの各々からの出力を受け入れ、機器の表面のうち、少なくともセンサが配されている部分を平面展開した写像空間上で、センサの各々の配置された位置に対応する位置に、各センサの出力が表す値に基づいて定めた画素値で描画した画像要素を配した画像を生成する。そして生成した画像を入力して、機器を操作するユーザの手の各関節の位置に係る情報を推定して、当該機器とともに移動する点を原点とした三次元空間の座標情報として出力する情報処理装置である。
2021001911.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが手で操作する機器であって、当該機器の表面に、ユーザの手の表面との空間的位置関係に係る情報を出力する複数のセンサが配列された機器に接続され、
前記機器が備える前記センサの各々からの出力を受け入れる手段と、
前記機器の表面のうち、少なくともセンサが配されている部分を平面展開した写像空間上で、前記センサの各々の配置された位置に対応する位置に、各センサの出力が表す値に基づいて定めた画素値で描画した画像要素を配した画像を生成する手段と、
当該生成した画像を入力し、前記機器を操作するユーザの手の各関節の位置に係る情報を推定して、当該機器とともに移動する点を原点とした三次元空間の座標情報として出力する手段と、
を有する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記関節の位置に係る情報を推定する手段は、前記入力した画像と同じ空間で、前記機器を操作するユーザの手の各関節に最も近い位置及び当該位置から関節までの距離を推定する機械学習結果を利用し、機械学習結果を利用した当該推定の結果を用いて、当該機器とともに移動する点を原点とした三次元空間の座標情報に変換して出力する情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
当該前記入力した画像と、前記機器を操作するユーザの手の各関節の位置に係る情報との関係を機械学習した機械学習結果を利用して、前記機器を操作するユーザの手の各関節の位置に係る情報を推定し、当該機器とともに移動する点を原点とした三次元空間の座標情報として出力する情報処理装置。
【請求項４】
請求項１から３のいずれか一項に記載の情報処理装置であって、
前記機器に配されたセンサは静電容量センサであり、前記受け入れたセンサの出力は、静電容量センサの検出結果である情報処理装置。
【請求項５】
ユーザが手で操作する機器であって、当該機器の表面に、ユーザの手の表面との空間的位置関係に係る情報を出力する複数のセンサが配列された機器に接続された情報処理装置を、
前記機器が備える前記センサの各々からの出力を受け入れ、
前記機器の表面のうち、少なくともセンサが配されている部分を平面展開した写像空間上で、前記センサの各々の配置された位置に対応する位置に、各センサの出力が表す値に基づいて定めた画素値で描画した画像要素を配した画像を生成し、
当該生成した画像を入力し、前記機器を操作するユーザの手の各関節の位置に係る情報を推定して、当該機器とともに移動する点を原点とした三次元空間の座標情報として出力するよう制御する情報処理装置の制御方法。
【請求項６】
ユーザが手で操作する機器であって、当該機器の表面に、ユーザの手の表面との空間的位置関係に係る情報を出力する複数のセンサが配列された機器に接続されたコンピュータを、
前記機器が備える前記センサの各々からの出力を受け入れる手段と、
前記機器の表面のうち、少なくともセンサが配されている部分を平面展開した写像空間上で、前記センサの各々の配置された位置に対応する位置に、各センサの出力が表す値に基づいて定めた画素値で描画した画像要素を配した画像を生成する手段と、
当該生成した画像を入力し、前記機器を操作するユーザの手の各関節の位置に係る情報を推定して、当該機器とともに移動する点を原点とした三次元空間の座標情報として出力する手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、ユーザの実際の手や指の動きを検出して、仮想空間内のオブジェクトの動きに反映させる技術が開発されている。【０００３】
このような処理のために、従来から手を検出するデバイスとして、カメラ等でユーザの手を撮像し、当該撮像した画像と手の形状との関係を機械学習した装置を利用して手の形状を認識し、ユーザの指が曲げられているか伸ばされているかを検出するものがある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一方、ユーザが手で把持して操作するゲームコントローラ等において、当該ゲームコントローラの表面上に配されたセンサでそれぞれユーザの手との空間的位置関係を表す情報を得る技術がある。この技術では、ゲームコントローラの筐体の表面形状に沿ってセンサが配されており、また得られた情報が、各センサからの空間的位置関係を表すものとなっている。このため、空間上の一点から撮像した画像の情報とは情報の性質が大きく異なり、上記従来の手の形状を認識するための技術を適用しても十分な精度が得られず、手の形状の推定を行うことが困難であるのが実情である。【０００５】
本発明は上記実情に鑑みて為されたもので、ユーザが手で操作する機器上に配されたセンサでの検出結果に基づいた手の形状の推定を行うことのできる情報処理装置、情報処理方法、及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００６】
上記従来例の問題点を解決するための本発明の一態様は、ユーザが手で操作する機器であって、当該機器の表面に、ユーザの手の表面との空間的位置関係に係る情報を出力する複数のセンサが配列された機器に接続される情報処理装置であって、前記機器が備える前記センサの各々からの出力を受け入れる手段と、前記機器の表面のうち、少なくともセンサが配されている部分を平面展開した写像空間上で、前記センサの各々の配置された位置に対応する位置に、各センサの出力が表す値に基づいて定めた画素値で描画した画像要素を配した画像を生成する手段と、当該生成した画像を入力し、前記機器を操作するユーザの手の各関節の位置に係る情報を推定して、当該機器とともに移動する点を原点とした三次元空間の座標情報として出力する手段と、を有することとしたものである。
【発明の効果】
【０００７】
本発明によると、ユーザが手で操作する機器上に配されたセンサでの検出結果に基づいた手の形状の推定を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態に係る情報処理装置を含む情報処理システムの構成例を表すブロック図である。
【図２】本発明の実施の形態に係る情報処理装置に接続されるコントローラ装置の例を表す概略斜視図である。
【図３】本発明の実施の形態に係る情報処理装置に接続されるコントローラ装置の例を表すもう一つの概略斜視図である。
【図４】本発明の実施の形態に係る情報処理装置の例を表す機能ブロック図である。
【図５】本発明の実施の形態に係る情報処理装置が生成する展開図画像の例を表す説明図である。
【図６】本発明の実施の形態に係る情報処理装置が生成する展開図画像の別の例を表す説明図である。
【発明を実施するための形態】
【０００９】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理システム１は、情報処理装置１０と、ユーザが手で操作する機器の一例としてのコントローラ装置３０とを含んで構成される。
【００１０】
ここで情報処理装置１０は、コントローラ装置３０と表示装置４０とに接続される。この情報処理装置１０は、コントローラ装置３０が出力する情報を処理する装置であって、例えば家庭用ゲーム機、携帯型ゲーム機、パーソナルコンピューター、スマートフォン、タブレット等であってよい。また、この情報処理装置１０は、コントローラ装置３０と一体に構成されてもよい。図１に示されるように、情報処理装置１０は、制御部１１と、記憶部１２と、インタフェース部１３と、を含んで構成される。
【００１１】
制御部１１は、ＣＰＵ等のプロセッサを少なくとも一つ含み、記憶部１２に記憶されているプログラムを実行して各種の情報処理を実行する。なお、本実施形態において制御部１１が実行する処理の具体例については、後述する。記憶部１２は、ＲＡＭ等のメモリデバイスを少なくとも一つ含み、制御部１１が実行するプログラム、及び当該プログラムによって処理されるデータを格納する。
【００１２】
インタフェース部１３は、コントローラ装置３０、及び表示装置４０との間のデータ通信のためのインタフェースである。情報処理装置１０は、インタフェース部１３を介して有線又は無線のいずれかでコントローラ装置３０、及び表示装置４０のそれぞれと接続される。具体的にインタフェース部１３は、情報処理装置１０が供給する映像データを表示装置４０に送信する。またこのインタフェース部１３は、コントローラ装置３０から受信した情報を制御部１１に出力する。
【００１３】
本実施の形態の一例に係るコントローラ装置３０は、図２，図３に例示するように、ユーザーの手に装着され、ユーザの操作を受け入れて、当該操作に係る情報を出力するデバイスである。図２，図３は、コントローラ装置３０の外観の一例を示す概略斜視図である。図２はコントローラ装置３０をユーザが把持したときにユーザの親指が位置する側（便宜的に表側と呼ぶ）から見た概略斜視図であり、図３はコントローラ装置３０をユーザが把持したときにユーザの人差し指から小指までが位置する側（裏側）から見た概略斜視図である。なお、各図に示したコントローラ装置３０の各部の大きさやその比、配置等は一例であり、本実施の形態の例は、図示等した大きさや比率、配置に限られるものではない。
【００１４】
この図の例では、コントローラ装置３０は本体部３１と固定具３２とを備えており、ユーザーは自身の手の平をこの固定具３２に通すことによってコントローラ装置３０を自身の手に装着する。なお、固定具３２はユーザーの手の大きさに合わせて長さを調整可能なベルト等によって構成されてよい。
【００１５】
コントローラ装置３０の本体部３１の筐体表面には、この表面形状に沿って、ユーザーの手（及び指）との位置関係を検出する、複数のセンサ３３が配置されている。図２，図３の例では、本体部３１の筐体表面にマトリクス状に複数のセンサ３３が配された状態を示している。またこのコントローラ装置３０には、例えば人差指等で操作可能なスイッチやボタン３４を備えてもよい。この場合、センサ３３はスイッチやボタン３４の表面にも配されてよい。
【００１６】
ここでセンサ３３は、例えば赤外線センサや静電容量センサなど、検出範囲内に存在する物体の空間的な位置を検出可能なセンサでよい。本実施の形態では、このセンサ３３の検出結果を用いて、情報処理装置１０が、検出対象となるユーザーの手の各関節の位置を特定する。
【００１７】
また本実施形態においてセンサ３３の検出対象となる手や指は、ユーザーがコントローラ装置３０を装着した手の各指であることとする。なお、ここではユーザーはいずれか一方の手にコントローラ装置３０を装着することとしているが、ユーザーは左右両方の手にそれぞれ別々のコントローラ装置３０を装着してもよい。
【００１８】
本実施の形態のコントローラ装置３０は、これらセンサ３３の検出の結果を表す情報を、情報処理装置１０に対して所定のタイミングごとに（例えば１／６０秒ごとなど定期的に）出力する。
【００１９】
次に本実施の形態の情報処理装置１０の制御部１１の動作について説明する。本実施の形態の制御部１１は、図４に例示するように、受入部２１と、入力画像生成部２２と、推定処理部２３と、出力部２４とを含んで構成されている。
【００２０】
ここで受入部２１は、コントローラ装置３０からセンサ３３の検出結果を表す情報を受け入れる。入力画像生成部２２は、コントローラ装置３０の筐体表面のうち、少なくともセンサ３３が配されている部分を平面展開した写像空間（以下、展開図空間と呼ぶ）上で、センサ３３の各々の配置された位置に対応する位置に、各センサ３３の検出結果が表す値に基づいて定めた画素値で描画した画像要素を配した画像を生成する。
【００２１】
本実施の形態の例では、この入力画像生成部２２は、コントローラ装置３０の筐体表面を、図５，図６に例示するように、平面に展開した状態の画像を生成する。このような展開した状態の画像は、例えば図５に例示するように、コントローラ装置３０の表面の表側を射影した部分Ｘと、裏側を射影した部分Ｙとをそれぞれ一つの平面に配して生成されてもよい。
【００２２】
また別の例では入力画像生成部２２は、図６に例示するように、コントローラ装置３０の筐体表面に仮想的なシーム（切り込み）を入れて展開図を生成してもよい。このような展開図の生成は、テクスチャを仮想的な立体物に貼り付ける際に用いる、ＵＶ空間を生成する種々の広く知られた処理（円柱マッピングや球面マッピング等の処理、仮想的なシームを形成する処理等）を採用できるため、ここでの詳しい説明は省略する。
【００２３】
入力画像生成部２２は、得られたコントローラ装置３０の筐体表面の展開図上で、筐体表面に配されているセンサ３３の各々に対応する位置を特定する。そして入力画像生成部２２は、当該特定した、各センサ３３に対応する位置に、対応するセンサ３３の検出結果の値（受入部２１が受け入れた情報）に基づいて定めた画素値で描画した画像要素を配して入力画像を生成する。
【００２４】
ここで画像要素は例えば展開図上でのセンサ３３の形状の図形の画像であってもよいし、予め定めた大きさの矩形等の図形の画像であってもよい。またその画素値は、例えば輝度など一次元の値であり、指または手が近接しているほど輝度が高くなるように定められてもよい。この例では、入力画像生成部２２が生成する画像は二次元のグレースケールの画像データとなる。
【００２５】
推定処理部２３は、入力画像生成部２２が生成した入力画像を入力とし、この入力画像を用いてコントローラ装置３０を操作するユーザの手の各関節の位置に係る情報を推定する処理を行う。
【００２６】
具体的にこの推定処理部２３は、入力画像と、ユーザの手の各関節の位置に係る情報に関連する情報との関係を機械学習したニューラルネットワークを用いて、この推定を行ってもよい。このようなニューラルネットワークは、例えば多層のニューラルネットワークを用いればよく、その構成は特に限定されない。このニューラルネットワークは例えばＣＮＮ（畳み込みネットワーク）であってもよい。
【００２７】
またこのニューラルネットワークは例えば次のように機械学習される。機械学習を行わせるユーザは、学習用データを収集するため、例えば自らの手において位置を推測するポイントにマーカーを貼り付け、カメラ等で撮影したマーカーの位置等から三次元的な位置を計測する装置で計測しつつ、コントローラ装置３０を装着した状態で種々の手のポーズをとって、各ポーズをとった各時点での上記計測結果と、各センサ３３の検出結果を表す情報とを得る。
【００２８】
ここで位置を計測するポイントは、例えば
（１）人差指から小指までの遠位指節間関節（ＤＩＰ；４箇所）、
（２）人差指から小指までの近位指節間関節（ＰＩＰ；４箇所）、
（３）親指の指節間関節（ＩＰ；１箇所）、
（４）親指から小指までの中手指節関節（ＭＰ；５箇所）、
（５）手根中手関節（ＣＭ；５箇所）、
（６）手関節（橈骨手根関節；１箇所）
の合計２０箇所、
あるいは、
（１）親指から小指までの末端指骨先端（指の先端；５箇所）
（２）人差指から小指までの遠位指節間関節（ＤＩＰ；４箇所）、
（３）人差指から小指までの近位指節間関節（ＰＩＰ；４箇所）、
（４）親指の指節間関節（ＩＰ；１箇所）、
（５）親指から小指までの中手指節関節（ＭＰ；５箇所）、
（６）親指の手根中手関節（ＣＭ；１箇所）
の合計２０箇所などとすればよい。これらの箇所（医学上の関節に相当しない箇所を含んでもよい、位置推測のポイント）を、以下、説明のため「関節」と称する。
【００２９】
なお、ここで得られる計測結果は、ワールド座標系（Ｘ，Ｙ，Ｚ）で表される値となるので、最終的に求めたい座標系での値に変換しておく。本実施の形態の一例では、最終的に求めたい座標系は、コントローラ装置３０とともに移動する予め定めた一点（例えばコントローラ装置３０の外接矩形の中心など機器上の所定の点）を原点として、この原点からコントローラ装置３０の長手方向をｚ軸、このｚ軸を法線とする面をｘｙ平面として、コントローラ装置３０の外接矩形において、表側の平面から裏側の平面に向かう、表側の平面の法線方向をｙ軸、これに直交するｘｙ平面内の軸をｘ軸としたものとする（図２を参照）。
【００３０】
計測したワールド座標系からこのｘｙｚ座標系（以下、ローカル座標と呼ぶ）への変換の処理については、広く知られた方法を採用できるので、ここでの詳しい説明は省略する。またこの目的のため、ユーザはコントローラ装置３０の姿勢を表す情報（原点の位置、ｘ軸、ｙ軸、ｚ軸の方向を表す情報）を、ユーザの手の上記各ポイントの座標の情報とともに取得してもよい。
【００３１】
情報処理装置１０の推定処理部２３が利用するニューラルネットワークを機械学習するコンピュータ（情報処理装置１０自身であってもよい）は、このようにして得られた、複数の手のポーズのそれぞれをとったときの、ローカル座標でのユーザの手の各関節の位置を表す情報と、各センサ３３の検出結果との組を得る。
【００３２】
そしてこのコンピュータは、得られた各組を順次選択しながら次の処理を行う。すなわち、機械学習処理を行うコンピュータは、情報処理装置１０の入力画像生成部２２と同じ処理により、選択した組に含まれる、各センサ３３の検出結果が表す情報に基づいて入力画像を生成する。コンピュータは、生成した入力画像をニューラルネットワークの入力したとき、当該ニューラルネットワークが出力する情報（ここでは例えばローカル座標でのユーザの手の各関節の位置を表す情報と同じ次元（ここでは２０×３次元＝６０次元）の情報とする）と、選択した組に含まれる、ローカル座標でのユーザの手の各関節の位置を表す情報との差を求め、この差に基づいてニューラルネットワークの各層間の重みを制御する。この制御は、いわゆるバックプロパゲーションの処理として知られたものであるので、説明は省略する。
【００３３】
コンピュータは、この処理によってニューラルネットワークの各層間の重みを逐次的に更新し、ニューラルネットワークが、上記の入力画像に基づいてユーザの手の各関節の位置の推定結果を出力するようニューラルネットワークを機械学習する。
【００３４】
なお、ここではニューラルネットワークが入力画像に基づいて、ローカル座標でのユーザの手の各関節の位置を表す情報を直接推定することとなるよう機械学習する例について説明したが、本実施の形態ではこの限りではなく、例えばニューラルネットワークが、入力画像と同じ空間（コントローラ装置３０の筐体表面を展開した二次元空間、つまりここでの展開図空間）内で、上記各関節の位置と３次元空間内での距離が最も近い、コントローラ装置３０の筐体表面上の点（最近接点）と、当該最近接点から当該関節までの距離とを推定するように機械学習を行ってもよい。この場合、ニューラルネットワークの出力は、ユーザの手の関節ごとの情報であって、上記展開図の空間の各点が、対応する関節の最近接点となる確率を表すヒートマップ画像と、この展開図の空間の面（つまりコントローラ装置３０の表面）から当該関節までの距離とを含む情報となる。
【００３５】
このように機械学習されたニューラルネットワークを用いる、本実施の形態の推定処理部２３は、コントローラ装置３０から受入部２１が受け入れた情報に基づいて、入力画像生成部２２が生成した入力画像を、機械学習されたニューラルネットワークに入力する。そして推定処理部２３は、ニューラルネットワークの出力を得る。
【００３６】
ここでニューラルネットワークが、入力画像に基づいて、ローカル座標でのユーザの手の各関節の位置を表す情報を直接推定するものである場合は、推定処理部２３は、当該出力をそのまま出力部２４に出力する。
【００３７】
またニューラルネットワークが、入力画像に基づいて、ユーザの手の関節ごとに、当該関節に最も近い、展開図空間（入力画像と同じ空間）上の最近接点とコントローラ装置３０の表面からの距離とを表す情報を推定するものである場合は、推定処理部２３は、これらの情報から座標変換により、ローカル座標でのユーザの手の各関節の位置を表す情報を求める。
【００３８】
具体的に、この例では推定処理部２３は、関節ごとに得られたヒートマップ画像を用いて、統計的処理等により関節ごとの最近接点の推定結果を求める。例えば推定処理部２３は、当該ヒートマップ画像が表すコントローラ装置３０の筐体表面を展開した二次元空間上の各点が最近接点となる確率を重みづけ平均（各点ごとに確率に座標値を乗じた値を得て総和し、点の数で除したもの）して最近接点の推定値を求める。あるいは推定処理部２３は、このヒートマップ画像が表す各点のうち、最近接点である確率が最大となっている点を最近接点の推定結果としてもよい。
【００３９】
次に推定処理部２３は、関節ごとに推定された最近接点の、コントローラ装置３０のローカル座標の値を求め、当該求めた座標の値で表されるコントローラ装置３０の筐体表面上の位置での筐体表面に対する法線の方向を表すベクトルの値を求める。このベクトルの値は近似的に次のように求めてもよい。すなわち推定処理部２３は、ローカル座標の原点を通りｚ軸に平行な方向に中心軸を有する円柱を仮想的に設定し、法線を求めようとする最近接点に対応するローカル座標の点Ｑから最も近い中心軸上の点Ｐとを結んだ線分と、この円柱との交点であって、上記点Ｑに近い側の交点Ｒを求め、この交点Ｒでの円柱の法線のベクトル（点Ｐを始点とし、点Ｒを終点とするベクトル）を、求めるベクトルＶ（Ｑ）としてもよい。
【００４０】
また、このコントローラ装置３０の筐体表面の形状が例えばメッシュモデル等の三次元グラフィックモデルで表されている場合は、推定処理部２３は、上記法線を求めようとする最近接点に対応するローカル座標の点Ｑでの当該グラフィックモデルの法線のベクトルを、求めるベクトルＶ（Ｑ）としてもよい。
【００４１】
推定処理部２３は、各関節ｉ＝１，２，…２０について、当該関節の最近接点に対応するローカル座標の点Ｑi（ｉ＝１，２…２０）から上記求めたベクトルＶ（Ｑi）に平行な単位ベクトルｖiに、ニューラルネットワークが出力する、対応する関節ｉまでの距離ｒiを乗じて加算し、関節ｉのローカル座標系上での位置を表す座標情報Ｘiを得る：
Ｘi＝Ｑi＋ｒi・ｖi
ここで、Ｘ，Ｑ，ｖはいずれも座標値を表す三次元の量である。
【００４２】
出力部２４は、推定処理部２３が求めた、コントローラ装置３０を操作するユーザの手の各関節の、上記ローカル座標系での座標情報を、アプリケーションプログラムの処理等に供する。
【００４３】
例えば、情報処理装置１０は、実行しているゲームアプリケーションプログラムの処理において、ローカル座標系でのユーザの手の各関節の座標情報を、この出力部２４から受け入れて、当該情報に基づいて、キャラクタの動作を制御する等の処理を行う。なお、情報処理装置１０がコントローラ装置３０と一体的に構成されている場合は、当該情報処理装置１０がゲームアプリケーションプログラム等を実行する代わりに、ゲームアプリケーションプログラム等を実行している他の情報処理装置に対し、情報処理装置１０がローカル座標系でのユーザの手の各関節の座標情報を送出し、上記他の情報処理装置が、コントローラ装置３０と一体の情報処理装置１０から受信した、ローカル座標系でのユーザの手の各関節の座標情報を用いたキャラクタの動作の制御等、種々のアプリケーションの処理を行ってもよい。
【００４４】
［動作］
本発明の実施の形態の情報処理システム１は以上の構成を基本的に備えており、次のように動作する。
【００４５】
ユーザがコントローラ装置３０を手に装着した状態で、手を開いたり握ったりといった動作を行うと、コントローラ装置３０の筐体表面に配された複数のセンサ３３がそれぞれの検出範囲内にあるユーザの手の表面の空間的な位置を検出する。そしてコントローラ装置３０は、各センサ３３の検出結果を出力する。
【００４６】
情報処理装置１０は、予め、機械学習されたニューラルネットワークを構成するための情報（ニューラルネットワークのモデルを特定する情報と、当該特定されたモデルにおける各層間の重みを表す情報とを含む）を保持しているものとする。ここで、このニューラルネットワークは、入力画像と同じ展開図空間（コントローラ装置３０の筐体表面を展開した二次元空間）内で、予め定められた手の関節のそれぞれの最も近い点（最近接点）を表すヒートマップ画像と、当該最近接点から各関節までの距離とを推定するように機械学習を行ってあるものとする。なお、手の関節は既に述べた２０箇所のものとする。
【００４７】
情報処理装置１０は、コントローラ装置３０からセンサ３３の検出結果を受け入れ、コントローラ装置３０の筐体表面を平面展開した写像空間上で、センサ３３の各々の配置された位置に対応する位置に、各センサ３３の検出結果の値に基づいて定めた画素値で描画した画像要素を配した入力画像を生成する。
【００４８】
そして情報処理装置１０は、この生成した入力画像を、機械学習済みのニューラルネットワークに入力し、ユーザの手の関節ごとに、展開図空間（入力画像と同じ空間）上の各点がその最近接点となる確率を表したヒートマップ画像と、当該関節のコントローラ装置３０の表面からの距離とを表す情報とを含む推定結果を得る。
【００４９】
情報処理装置１０は、関節ｉ（ｉ＝１，２，…２０）ごとに、得られたヒートマップ画像を用い、ヒートマップ画像が表す、コントローラ装置３０の筐体表面を展開した二次元空間上の各点が最近接点となる確率を重みづけ平均（各点ごとに確率に座標値を乗じた値を得て総和し、点の数で除したもの）して最近接点Ｎiを推定する。
【００５０】
そして情報処理装置１０は、関節ｉ（ｉ＝１，２，…２０）ごとに推定した最近接点Ｎiの座標（展開図の座標系となっている）を、コントローラ装置３０のローカル座標の値に変換する。具体的に情報処理装置１０は、最近接点Ｎiに対応する、コントローラ装置３０の筐体表面上の点Ｑiでの筐体表面に対する法線の方向を表すベクトル（法線ベクトルＶ（Ｑi））を求める。ここでは予めコントローラ装置３０の筐体表面の形状を表す、三次元グラフィックモデルの情報が保持されているものとし、この三次元グラフィックモデルの情報に基づいて、上記対応する、コントローラ装置３０の筐体表面上の点Ｑiでの法線ベクトルＶ（Ｑi）を求めるものとする。
【００５１】
情報処理装置１０は、各関節ｉ＝１，２，…２０について、当該関節の最近接点に対応するローカル座標の点Ｑi（ｉ＝１，２…２０）から上記求めたベクトルＶ（Ｑi）に平行な単位ベクトルｖiに、ニューラルネットワークが出力する、対応する関節ｉまでの距離ｒiを乗じて加算し、関節ｉのローカル座標系上での位置を表す座標情報Ｘiを、
Ｘi＝Ｑi＋ｒi・ｖi
として得る。
【００５２】
そして情報処理装置１０は、ここで求めたユーザの手の各関節の、ローカル座標系での座標情報Ｘi（ｉ＝１，２，…２０）を用いて、ゲームアプリケーションにおけるキャラクタの動作を制御する処理等、アプリケーションプログラムの処理を実行する。
【００５３】
このように本実施の形態では、ユーザが手で操作する機器上に配されたセンサでの検出結果に基づいた手の形状の推定を行うことができる。
【符号の説明】
【００５４】
１  情報処理システム、１０  情報処理装置、１１  制御部、１２  記憶部、１３  インタフェース部、２１  受入部、２２  入力画像生成部、２３  推定処理部、２４  出力部、３０  コントローラ装置、３１  本体部、３２  固定具、３３  センサ、３４  ボタン、４０  表示装置。
【図１】
2021001911.tif 000003
【図２】
2021001911.tif 000004
【図３】
2021001911.tif 000005
【図４】
2021001911.tif 000006
【図５】
2021001911.tif 000007
【図６】
2021001911.tif 000008
【国際調査報告】
2021001911.tif 000009
2021001911.tif 000010
2021001911.tif 000011
2021001911.tif 000012