JP2023160579A - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP2023160579A JP2023160579A JP2022071022A JP2022071022A JP2023160579A JP 2023160579 A JP2023160579 A JP 2023160579A JP 2022071022 A JP2022071022 A JP 2022071022A JP 2022071022 A JP2022071022 A JP 2022071022A JP 2023160579 A JP2023160579 A JP 2023160579A
- Authority
- JP
- Japan
- Prior art keywords
- user
- information processing
- determination area
- virtual object
- angle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 26
- 238000003672 processing method Methods 0.000 title claims description 3
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims abstract description 23
- 230000008859 change Effects 0.000 claims abstract description 22
- 230000003190 augmentative effect Effects 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 36
- 238000012544 monitoring process Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 238000012986 modification Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 9
- 210000005252 bulbus oculi Anatomy 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 210000001508 eye Anatomy 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
【課題】仮想オブジェクトに対する誤操作を防止する技術を提供すること。【解決手段】一態様による情報処理装置は、ユーザが操作可能な仮想オブジェクトが少なくとも配置された拡張現実空間又は複合現実空間を表示する情報処理装置であって、前記ユーザに関する情報を用いて、前記仮想オブジェクト上の操作位置を特定するように構成されている特定部と、前記ユーザに関する情報の位置を表す基準点と、前記操作位置とを用いて、前記ユーザが前記仮想オブジェクトを操作する際の操作方向を表す角度を算出するように構成されている算出部と、前記角度を用いて、前記仮想オブジェクトに対して操作が行われたか否かを判定するための操作判定領域を変更するように構成されている変更部と、を有する。【選択図】図7
Description
本開示は、情報処理装置、情報処理方法及びプログラムに関する。
拡張現実(AR:Augmented Reality)や複合現実(MR:Mixed Reality)と呼ばれる技術が従来から知られている。これらの技術では、現実空間内に仮想的なオブジェクト(以下、仮想オブジェクトともいう。)を重ねて表示したり、そのオブジェクトに対してユーザが操作を行ったりすることができる。仮想オブジェクトに対する操作に関連する技術として、例えば、特許文献1~3等が知られている。
しかしながら、従来技術では、操作対象の仮想オブジェクトに対するユーザの向きによっては、その仮想オブジェクトに隣接する他の仮想オブジェクトを誤って操作してしまうことがあった。
本開示は、上記の点に鑑みてなされたもので、仮想オブジェクトに対する誤操作を防止する技術を提供する。
本開示の一態様による情報処理装置は、ユーザが操作可能な仮想オブジェクトが少なくとも配置された拡張現実空間又は複合現実空間を表示する情報処理装置であって、前記ユーザに関する情報を用いて、前記仮想オブジェクト上の操作位置を特定するように構成されている特定部と、前記ユーザに関する情報の位置を表す基準点と、前記操作位置とを用いて、前記ユーザが前記仮想オブジェクトを操作する際の操作方向を表す角度を算出するように構成されている算出部と、前記角度を用いて、前記仮想オブジェクトに対して操作が行われたか否かを判定するための操作判定領域を変更するように構成されている変更部と、を有する。
仮想オブジェクトに対する誤操作を防止する技術が提供される。
以下、本発明の一実施形態について説明する。
<仮想オブジェクトに対する操作>
仮想オブジェクトとは、拡張現実空間(以下、AR空間ともいう。)又は複合現実空間(以下、MR空間ともいう。)内に配置される2次元又は3次元CG(Computer Graphics)等の画像のことである。仮想オブジェクトにはユーザが操作可能なものとユーザが操作可能でないものとが存在する。以下では、主に、ユーザが操作可能な仮想オブジェクトを想定し、「操作画像」と呼ぶことにする。また、ユーザが操作対象としている操作画像を「操作対象画像」、それ以外の操作対象画像を「非操作対象画像」と呼ぶことにする。
仮想オブジェクトとは、拡張現実空間(以下、AR空間ともいう。)又は複合現実空間(以下、MR空間ともいう。)内に配置される2次元又は3次元CG(Computer Graphics)等の画像のことである。仮想オブジェクトにはユーザが操作可能なものとユーザが操作可能でないものとが存在する。以下では、主に、ユーザが操作可能な仮想オブジェクトを想定し、「操作画像」と呼ぶことにする。また、ユーザが操作対象としている操作画像を「操作対象画像」、それ以外の操作対象画像を「非操作対象画像」と呼ぶことにする。
以下では、一例として、主に、図1に示す操作画像1000を想定する。図1に示す操作画像1000は、3次元のxyz座標系が設定されたAR空間又はMR空間内の或るxy平面上に配置(つまり、或るz=z0が表すxy平面(x,y,z0)上に配置)されており、操作画像1001~1009で構成されている。例えば、操作画像1001~1006は、ユーザの操作によってそれぞれ設備A~設備Fの状態等を表示させるための画像である。また、例えば、操作画像1007及び1009は、ユーザの操作によってそれぞれ前の画面を表す画像及び次の画面を表す画像を表示させるための画像である。例えば、操作画像1008は、ユーザの操作によって設定画面を表す画像を表示させるための画像である。
ここで、一般に、各操作画像1001~1006の各々には、その操作画像に対する操作を判定するための操作判定領域が当該操作画像上に設定される。例えば、図2に示すように、操作画像1003上には操作判定領域1103、操作画像1006には操作判定領域1106、操作画像1009には操作判定領域1109がそれぞれ設定される。なお、図2は、或るyz平面上で操作画像1000を構成する操作画像1003、1006及び1009と、それらの操作画像1003、1006及び1009上にそれぞれ設定された操作判定領域1103、1106及び1109とを表している。
或るユーザUが操作画像1006を操作したい場合、ユーザUは、例えば、指等で操作画像1006を押下するジェスチャを行う。このとき、ユーザUの指等が、操作判定領域1109の或る閾値Dの位置まで移動した場合、操作画像1006が操作されたと判定される。なお、図2に示す例では、操作画像の垂直方向(z軸方向)に対して閾値Dが設定されているが、これは一例であって、閾値Dが設定される方向に垂直方向に限定されるものではなく、閾値Dは様々な方向に対して設定され得る。例えば、操作画像と水平な任意のxy平面内の任意の方向に対して閾値Dが設定されてもよいし、z軸方向とxy平面内の任意の方向の両方に対して閾値Dが設定されてもよい。
このように、一般に、多くのAR技術又はMR技術では、操作画像上に操作判定領域を設定し、その操作判定領域を指等が或る閾値の位置まで移動したか否かにより、当該操作画像が操作されたか否かを判定している。
しかしながら、従来技術では、操作対象画像に隣接する非操作対象画像を誤って操作してしまうことがある。
例えば、図3に示すように、操作画像1000がユーザUの前方の斜め上方に存在する場合、当該ユーザUは、その斜め下方から操作画像1006を指当で押下するジェスチャを行うことになる。なお、Pはポインタ位置であり、操作画像1006中でユーザUが押下しようとしている位置を表している。
このような場合、ユーザUの指等が、操作画像1006の下側に配置された操作画像1009の操作判定領域1109中も移動することになり、その結果、ユーザUの指等が、当該操作判定領域1109の閾値Dの位置まで移動してしまい、操作画像1009が操作されたと判定されてしまうことがある。
このように、従来技術では、操作対象画像に対するユーザの向きによっては、その操作対象画像に隣接する非操作対象画像を誤って操作してしまうことがある。これは、特に、ユーザが狭い場所で操作対象画像を操作しようとしたり、しゃがんだ姿勢で操作対象画像を操作しようとしたりする場合に発生し易い。また、複数の操作画像が密に配置されているほど発生し易い。このため、例えば、機器や設備、プラント等の保守点検作業や修理作業等といった多くの操作を必要する作業をAR/MRデバイスを用いて行う場合には、非操作対象画像を誤って操作してしまう事態が発生し易いと考えられる。
そこで、以下では、AR空間又はMR空間内の操作画像に設定された操作判定領域の向きを変更することで、非操作対象画像に対する誤操作を防止することが可能なデバイス10について説明する。ここで、デバイス10としては、AR技術又はMR技術により現実空間内に操作画像を配置可能なものであれば任意の情報処理装置を採用することができるが、以下では、主に、ヘッドマウントディスプレイ(HMD:Head Mounted Display)を想定する。ただし、デバイス10はヘッドマウントディスプレイに限られるものではなく、例えば、スマートフォン、タブレット端末、ウェアラブルデバイス等であってもよい。また、デバイス10は、例えば、PC(パーソナルコンピュータ)等の情報処理装置と通信可能に接続されており、以下で説明するデバイス10の構成要素の一部をPC等の情報処理装置が備えていてもよいし、デバイス10が実行する処理の一部をPC等の情報処理装置が実行してもよい。
なお、図2及び図3に示す操作判定領域の形状は一例である。図2及び図3に示す操作判定領域の形状は立方体であることを想定しているが、これに限られるものではなく、例えば、多面体であってもよいし、一部又は全部の面に曲面を持つ立方体であってもよいし、仮想オブジェクトの形状に応じた立体領域(例えば、仮想オブジェクトを囲むような立体領域等)であってもよい。また、例えば、操作判定領域は立体(3次元領域)に限られず、平面や曲面等といった2次元領域であってもよい。操作判定領域がどのような形状であっても、操作対象の仮想オブジェクトとユーザの向き、複数の仮想オブジェクトの配置密度によっては、操作対象の仮想オブジェクトに隣接する他の仮想オブジェクトへの誤操作が発生し得る。
更に、仮想オブジェクトが操作されたか否かの判定に関しても、その仮想オブジェクトに設定された操作判定領域を指等が閾値の位置まで移動したか否かにより行う場合に限られない。例えば、操作判定領域を指等が触れたか否かにより判定してもよいし、操作判定領域を指等が通過したか否かにより判定してもよい。また、指を用いることも一例であって、これに限られず、例えば、指の代わりに、ペン型の入力デバイスが用いられもよいし、それ以外の何等かの入力デバイスが用いられてもよい。
以下では、簡単のため、主に、操作判定領域の形状は操作画像上に設定された立方体形状の領域であり、ユーザは指により操作画像に対して操作を行うものとする。
<デバイス10のハードウェア構成例>
本実施形態に係るデバイス10のハードウェア構成例を図4に示す。図4に示すように、本実施形態に係るデバイス10は、入力装置11と、表示装置12と、外部I/F13と、通信I/F14と、センサ15と、メモリ装置16と、プロセッサ17とを有する。また、これら各ハードウェアは、バス18を介して通信可能に接続される。
本実施形態に係るデバイス10のハードウェア構成例を図4に示す。図4に示すように、本実施形態に係るデバイス10は、入力装置11と、表示装置12と、外部I/F13と、通信I/F14と、センサ15と、メモリ装置16と、プロセッサ17とを有する。また、これら各ハードウェアは、バス18を介して通信可能に接続される。
入力装置11は、例えば、各種物理ボタン等である。なお、デバイス10がスマートフォンやタブレット端末等である場合には、入力装置11には、タッチパネル等が含まれていてもよい。
表示装置12は、例えば、ディスプレイ、表示パネル等である。AR空間又はMR空間とその空間内に配置された仮想オブジェクトは表示装置12上に表示される。
外部I/F13は、記録媒体13a等の外部装置とのインタフェースである。記録媒体13aとしては、例えば、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
通信I/F14は、デバイス10を通信ネットワークに接続するためのインタフェースである。センサ15は、例えば、深度センサ等を含む各種センサである。なお、深度センサ以外にも、センサ15には、例えば、加速度センサ、ジャイロセンサ、可視光カメラ、赤外線カメラ等が含まれていてもよい。
メモリ装置16は、例えば、フラッシュメモリ、SSD(Solid State Drive)等の各種記憶装置である。プロセッサ17は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の各種演算装置である。
なお、図4に示すハードウェア構成は一例であって、デバイス10は、他のハードウェア構成を有していてもよい。例えば、デバイス10は、複数のメモリ装置16や複数のプロセッサ17を有していてもよいし、図示したハードウェア以外の種々のハードウェアを有していてもよい。
<デバイス10の機能構成例>
本実施形態に係るデバイス10の機能構成例を図5に示す。図5に示すように、本実施形態に係るデバイス10は、操作位置監視処理部101と、操作判定領域変更処理部102と、操作実行処理部103とを有する。これら各部は、例えば、デバイス10にインストールされた1以上のプログラムが、プロセッサ17に実行させる処理により実現される。また、本実施形態に係るデバイス10は、記憶部104を有する。記憶部104は、例えば、メモリ装置16等により実現される。
本実施形態に係るデバイス10の機能構成例を図5に示す。図5に示すように、本実施形態に係るデバイス10は、操作位置監視処理部101と、操作判定領域変更処理部102と、操作実行処理部103とを有する。これら各部は、例えば、デバイス10にインストールされた1以上のプログラムが、プロセッサ17に実行させる処理により実現される。また、本実施形態に係るデバイス10は、記憶部104を有する。記憶部104は、例えば、メモリ装置16等により実現される。
操作位置監視処理部101は、ユーザが操作しようとしている位置を示す操作位置(例えば、図3に示すポインタ位置P等)を監視する操作位置監視処理を実行する。以下では、一例として、操作位置はポインタ位置であり、またポインタ位置はユーザが特定の指(例えば、右手の人差し指)で指し示した方向を表すベクトルと何等かのオブジェクト(仮想オブジェクトに限られず、現実空間に存在する実在のオブジェクトも含む。)との交点を表す位置である。ここで、操作位置監視処理部101には、操作者情報取得部111と、操作位置特定部112と、操作位置判定部113とが含まれる。
操作者情報取得部111は、操作位置を特定するための操作者情報を記憶部104から取得する。以下では、操作者情報はユーザの手に関するメッシュデータを表すハンドメッシュデータであるものとする。ハンドメッシュデータとは、ユーザの手をカメラや深度センサ等により撮影又は測定した情報から既知の画像認識処理(例えば、ディープラーニング等を用いた物体認識処理)等により作成されるデータである。ハンドメッシュデータでは、AR空間又はMR空間内におけるユーザの手の特徴点(例えば、指の関節や先端等)の座標を容易に算出することができる。なお、ハンドメッシュデータを作成する処理とその特徴点の座標を算出する処理はいずれも既知の処理であるため、以下では、ハンドメッシュデータは作成済であり、また特徴点の座標はいずれも既知であるものとする。
操作位置特定部112は、操作者情報取得部111によって取得されたハンドメッシュデータからポインタ位置を特定する。操作位置特定部112は、例えば、ハンドメッシュデータからユーザの右手の人差し指で指し示した方向を表す3次元ベクトルを算出し、その3次元ベクトルと何等かのオブジェクトとの交点をポインタ位置と特定すればよい。
操作位置判定部113は、操作位置特定部112によって特定されたポインタ位置が操作画像上に存在するか否かを判定する。
操作判定領域変更処理部102は、操作位置監視処理部101の操作位置判定部113によってポインタ位置が操作画像上に存在する判定された場合、当該操作画像に対するユーザの向きに応じて操作判定領域を変更する操作判定領域変更処理を実行する。ここで、操作判定領域変更処理部102には、距離算出部121と、角度算出部122と、操作判定領域変更部123とが含まれる。
距離算出部121は、所定の基準点が含まれるyz平面において、当該基準点から当該操作画像に対して垂直に下ろした垂線の長さを表す距離aと、当該垂線と当該操作画像との交点からポインタ位置を当該yz平面に射影した点までの距離bとを算出する。基準点は、操作画像を操作するユーザの位置を表す点のことである。例えば、指等によりポインタ位置を指し示す場合には、その指等の先端(例えば、右手の人差し指の先端等)を基準点とすればよい。
また、距離算出部121は、当該基準点が含まれるxz平面において、当該基準点から当該操作画像に対して垂直に下ろした垂線の長さを表す距離a'と、当該垂線と当該操作画像との交点からポインタ位置を当該xz平面に射影した点までの距離b'とを算出する。
角度算出部122は、距離算出部121によって算出された各距離を用いて、当該操作画像に対するユーザのyz平面内の向きとxz平面内の向きとをそれぞれ表す角度θ及びγ(以下、入射角θ及びγともいう。)を算出する。入射角θはyz平面内におけるユーザの操作方向を表しており、同様に入射角γはxz平面内におけるユーザの操作方向を表している。
操作判定領域変更部123は、角度算出部122によって算出された入射角θ及びγを用いて、操作判定領域の向きを変更する。すなわち、操作判定領域変更部123は、yz平面内で操作判定領域の向きを-θだけ変更すると共に、xz平面内で操作判定領域の向きを-γだけ変更する。これにより、当該操作判定領域がユーザの正面方向を向くことになるため、操作画像に対する誤操作が防止される。
操作実行処理部103は、操作画像に対する操作が行われたか否かを判定すると共にその判定結果に応じて操作を行う操作実行処理を実行する。ここで、操作実行処理部103には、閾値判定部131と、操作実行部132とが含まれる。
閾値判定部131は、ユーザの指が操作判定領域の閾値Dの位置まで移動したか否かを判定する。なお、これは、ユーザが、操作判定領域を閾値Dの距離分、指で押したことを意味する。
操作実行部132は、閾値判定部131によってユーザの指が操作判定領域の閾値Dの位置まで移動した場合、その操作判定領域が設定されている操作画像に対応する操作処理を実行する。
記憶部104は、各種情報(例えば、ハンドメッシュデータ、操作画像、閾値D等)を記憶する。なお、AR空間又はMR空間内に配置された操作画像の座標は既知の技術により算出できるため、以下では、各操作画像の座標はいずれも既知であるものとする。
<操作位置監視処理>
以下、本実施形態に係る操作位置監視処理について、図6を参照しながら説明する。なお、図6に示す操作位置監視処理は、所定の時間間隔(例えば、数ミリ秒~数十ミリ等といった時間間隔)毎に繰り返し実行される。
以下、本実施形態に係る操作位置監視処理について、図6を参照しながら説明する。なお、図6に示す操作位置監視処理は、所定の時間間隔(例えば、数ミリ秒~数十ミリ等といった時間間隔)毎に繰り返し実行される。
操作位置監視処理部101の操作者情報取得部111は、ハンドメッシュデータを記憶部104から取得する(ステップS101)。
次に、操作位置監視処理部101の操作位置特定部112は、上記のステップS101で取得されたハンドメッシュデータからポインタ位置を特定する(ステップS102)。
次に、操作位置監視処理部101の操作位置判定部113は、上記のステップS103で特定されたポインタ位置が操作画像上に存在するか否かを判定する(ステップS103)。
上記のステップS103でポインタ位置が操作画像上に存在すると判定されなかった場合、操作位置監視処理部101は、操作位置監視処理を終了する。一方で、上記のステップS103でポインタ位置が操作画像上に存在すると判定された場合、操作判定領域変更処理部102は、操作判定領域変更処理を実行する(ステップS104)。
<操作判定領域変更処理>
以下、本実施形態に係る操作判定領域変更処理について、図7を参照しながら説明する。
以下、本実施形態に係る操作判定領域変更処理について、図7を参照しながら説明する。
操作判定領域変更処理部102の距離算出部121は、距離a、距離b、距離a'及び距離b'を算出する(ステップS201)。
次に、操作判定領域変更処理部102の角度算出部122は、上記のステップS201で算出された距離a、距離b、距離a'及び距離b'を用いて、当該操作画像に対するユーザのyz平面内の向きを表す入射角θとxz平面内の向きを表す入射角γとを算出する(ステップS202)。
ここで、一例として、図8に示すように、ユーザUの前方の斜め上方に操作画像1000が存在し、この操作画像1000を構成する操作画像1001~1009のうち、操作画像1006を操作したい場合を考える。
このとき、基準点Qが含まれるyz平面において、基準点Qから操作画像1000に対して下ろした垂線と当該操作画像1000との交点をR、ポインタ位置Pを当該yz平面に射影した点をP1とすれば、図8に示すように、距離aはQとRを端点とする線分の長さ、距離bはRとP1を端点とする線分の長さとなる。したがって、入射角θは、θ=tan-1(b/a)と算出される。この様子を当該yz平面上で表すと図9のようになる。なお、P、P1及びRの座標は、基準点Qの座標と各操作画像の座標から算出することが可能である。
同様に、基準点Qが含まれるxz平面において、基準点Qから操作画像1000に対して下ろした垂線と当該操作画像1000との交点をR'、ポインタ位置Pを当該xz平面に射影した点をP2とすれば、図10に示すように、距離a'はQとR'を端点とする線分の長さ、距離b'はR'とP2を端点とする線分の長さとなる。したがって、入射角γは、γ=tan-1(b'/a')と算出される。この様子を当該xz平面上で表すと図11のようになる。なお、P、P2及びR'は、基準点Qの座標と各操作画像の座標から算出することが可能である。
図7の説明に戻る。ステップS202に続いて、操作判定領域変更処理部102の操作判定領域変更部123は、上記のステップS202で算出された入射角θ及びγを用いて、操作判定領域の向きを変更する(ステップS203)。すなわち、操作判定領域変更部123は、yz平面内で操作判定領域の向きを-θだけ変更すると共に、xz平面内で操作判定領域の向きを-γだけ変更する。
例えば、図12に示すように、yz平面内において、操作判定領域1106の上面又は底面の辺のうち、操作画像1006と接している辺のいずれかを軸として、ユーザUの方向を向くように操作判定領域1106を-θだけ回転させる。図12に示す例では、操作判定領域1106の底面の辺であって、操作画像1006と接している辺を軸として-θだけ回転させた場合を表している。
同様に、例えば、図13に示すように、xz平面内において、操作判定領域1106の左側面又は右側面の辺のうち、操作画像1006と接している辺のいずれかを軸として、ユーザUの方向を向くように操作判定領域1106を-γだけ回転させる。図13に示す例では、操作判定領域1106の右側面の辺であって、操作画像1006と接している辺を軸として-γだけ回転させた場合を表している。
これにより、各操作判定領域が、ユーザが操作する方向に対して正面を向くことなり、その結果、隣接する操作画像に対して誤操作してしまう事態を防止することができる。しかも、操作画像自体は変更されないため、ユーザは違和感なく、操作画像に対して操作を行うことができる。
<操作実行処理>
以下、本実施形態に係る操作実行処理について、図14を参照しながら説明する。
以下、本実施形態に係る操作実行処理について、図14を参照しながら説明する。
操作実行処理部103の閾値判定部131は、ユーザの指が操作判定領域の閾値Dの位置まで移動したか否かを判定する(ステップS301)。
上記のステップS302でユーザの指が操作判定領域の閾値Dの位置まで移動したと判定されなかった場合、操作実行処理部103は、操作実行処理を終了する。一方で、上記のステップS302でユーザの指が操作判定領域の閾値Dの位置まで移動したと判定された場合、操作実行処理部103の操作実行部132は、当該操作判定領域が設定されている操作画像に対応する操作処理を実行する(ステップS302)。これにより、その操作処理により、例えば、他の画面に遷移したり、何等かの情報を表示したり、何等かの情報処理が行われたりする。
<変形例>
以下、本実施形態の変形例について説明する。
以下、本実施形態の変形例について説明する。
≪変形例1≫
上記の実施形態では、指等が指し示す方向と何等かのオブジェクトとの交点をポインタ位置としたが、例えば、既知のアイトラッキング技術を用いて、指等が指し示す方向の代わりに、視線方向としてもよい。この場合、操作者情報はユーザの眼球を撮影した眼球画像であり、また基準点はユーザの両目の間の点(例えば、左眼球の中心と右眼球の中心とを結ぶ線分の中点)となる。
上記の実施形態では、指等が指し示す方向と何等かのオブジェクトとの交点をポインタ位置としたが、例えば、既知のアイトラッキング技術を用いて、指等が指し示す方向の代わりに、視線方向としてもよい。この場合、操作者情報はユーザの眼球を撮影した眼球画像であり、また基準点はユーザの両目の間の点(例えば、左眼球の中心と右眼球の中心とを結ぶ線分の中点)となる。
≪変形例2≫
上記の実施形態では、指等が指し示す方向と何等かのオブジェクトとの交点をポインタ位置としたが、例えば、デバイス10がヘッドマウントディスプレイである場合には、指等の先端を基準点としたが、例えば、これに代えて、ヘッドマウントディスプレイの位置(言い換えれば、ユーザの頭の位置)を基準点としてもよい。この場合、操作者情報はデバイス10の位置を示す情報となる。
上記の実施形態では、指等が指し示す方向と何等かのオブジェクトとの交点をポインタ位置としたが、例えば、デバイス10がヘッドマウントディスプレイである場合には、指等の先端を基準点としたが、例えば、これに代えて、ヘッドマウントディスプレイの位置(言い換えれば、ユーザの頭の位置)を基準点としてもよい。この場合、操作者情報はデバイス10の位置を示す情報となる。
ここで、一例として、図15に示すように、ヘッドマウントディスプレイであるデバイス10を装着しているユーザの前方の斜め上方に操作画像2000が存在し、この操作画像2000を操作したい場合を考える。なお、簡単のため、デバイス10の位置(基準点)を原点Oとする。また、操作画像2000は或るz=z0が表すxy平面(x,y,z0)上に配置されており、ポインタ位置をP=(x0,y0,z0)とする。ポインタ位置はユーザの視線方向と何等かのオブジェクトとの交点である。
このとき、基準点(原点O)が含まれるyz平面において、基準点(原点O)から操作画像2000に対して下ろした垂線と当該操作画像2000との交点をR=(x0,0,z1)、ポインタ位置Pを当該yz平面に射影した点をP1とすれば、図15に示すように、距離aはOとRを端点とする線分の長さ、距離bはRとP1を端点とする線分の長さとなる。したがって、入射角θは、θ=tan-1(b/a)=tan-1(y0/x0)と算出される。この様子を当該yz平面上で表すと図16のようになる。なお、P、P1及びRの座標は、各操作画像の座標から算出することが可能である。
同様に、基準点(原点O)が含まれるxz平面において、基準点(原点O)から操作画像2000に対して下ろした垂線と当該操作画像2000との交点をR'、ポインタ位置Pを当該xz平面に射影した点をP2とする。また、ポインタ位置Pは当該xz平面上に存在するものとする。このとき、図17に示すように、R'=P1、P2=Pであり、距離a'はOとR'を端点とする線分の長さ、距離b'はR'とP2を端点とする線分の長さとなる。したがって、入射角γは、γ=tan-1(b'/a')=tan-1(z0-z1/√(x0
2+y0
2))と算出される。この様子を当該xz平面上で表すと図18のようになる。なお、P、P2及びRの座標は、各操作画像の座標から算出することが可能である。
≪変形例3≫
上記の実施形態では、入射角θ及びγを算出した上で、yz平面内で操作判定領域の向きを-θ、xz平面内で操作判定領域の向きを-γだけ変更したが、例えば、入射角θ及びγに対してそれぞれ閾値を設定し、閾値を超えた場合にのみ操作判定領域の向きを変更してもよい。
上記の実施形態では、入射角θ及びγを算出した上で、yz平面内で操作判定領域の向きを-θ、xz平面内で操作判定領域の向きを-γだけ変更したが、例えば、入射角θ及びγに対してそれぞれ閾値を設定し、閾値を超えた場合にのみ操作判定領域の向きを変更してもよい。
具体的には、入射角θが所定の閾値th1を超えた場合にのみyz平面内で操作判定領域の向きを-θだけ変更し、入射角γが所定の閾値th2を超えた場合にのみxz平面内で操作判定領域の向きを-γだけ変更してもよい。なお、th1=th2でもよいし、th1≠th2でもよい。
≪変形例4≫
上記の変形例3において、入射角θ及びγが閾値を超えた場合にのみ操作判定領域の向きを一定値だけ変更してもよい。
上記の変形例3において、入射角θ及びγが閾値を超えた場合にのみ操作判定領域の向きを一定値だけ変更してもよい。
具体的には、入射角θが所定の閾値th1を超えた場合にのみyz平面内で操作判定領域の向きをユーザの正面方向に一定値c1だけ変更し、入射角γが所定の閾値th2を超えた場合にのみxz平面内で操作判定領域の向きをユーザの正面方向に一定値c2だけ変更してもよい。なお、c1=c2でもよいし、c1≠c2でもよい。
≪変形例5≫
上記の実施形態では、操作画像の向きは変更していないが、操作画像の向きも変更するようにしてもよい。すなわち、yz平面内で操作画像の向きを-θだけ変更すると共に、xz平面内で操作画像の向きを-γだけ変更してもよい。
上記の実施形態では、操作画像の向きは変更していないが、操作画像の向きも変更するようにしてもよい。すなわち、yz平面内で操作画像の向きを-θだけ変更すると共に、xz平面内で操作画像の向きを-γだけ変更してもよい。
ただし、操作画像の向きを頻繁に変更すると、ユーザに違和感を生じさせる恐れがあるため、入射角θ及びγに対してそれぞれ閾値を設定し、閾値を超えた場合にのみ操作画像の向きを変更してもよい。
具体的には、入射角θが所定の閾値th3を超えた場合にのみyz平面内で操作画像の向きを-θだけ変更し、入射角γが所定の閾値th4を超えた場合にのみxz平面内で操作画像の向きを-γだけ変更してもよい。なお、th3=th4でもよいし、th3≠th4でもよい。
更に、上記の閾値を設定した場合において、入射角θ及びγが閾値を超えた場合にのみ操作画像の向きを一定値だけ変更してもよい。
具体的には、入射角θが所定の閾値th3を超えた場合にのみyz平面内で操作画像の向きをユーザの正面方向に一定値c3だけ変更し、入射角γが所定の閾値th4を超えた場合にのみxz平面内で操作画像の向きをユーザの正面方向に一定値c4だけ変更してもよい。なお、c3=c4でもよいし、c3≠c4でもよい。
<まとめ>
以上のように、本実施形態に係るデバイス10は、AR空間又はMR空間内でユーザが仮想オブジェクトを操作する際に、仮想オブジェクトに設定されている操作判定領域の向きをユーザの正面方向に変更する。これにより、操作判定領域がユーザの正面方向に存在することになるため、例えば、ユーザが操作画像を斜め方向から操作する場合等であっても、他の操作画像を誤操作してしまう事態を防止することが可能となる。
以上のように、本実施形態に係るデバイス10は、AR空間又はMR空間内でユーザが仮想オブジェクトを操作する際に、仮想オブジェクトに設定されている操作判定領域の向きをユーザの正面方向に変更する。これにより、操作判定領域がユーザの正面方向に存在することになるため、例えば、ユーザが操作画像を斜め方向から操作する場合等であっても、他の操作画像を誤操作してしまう事態を防止することが可能となる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
10 デバイス
11 入力装置
12 表示装置
13 外部I/F
13a 記録媒体
14 通信I/F
15 センサ
16 メモリ装置
17 プロセッサ
18 バス
101 操作位置監視処理部
102 操作判定領域変更処理部
103 操作実行処理部
104 記憶部
111 操作者情報取得部
112 操作位置特定部
113 操作位置判定部
121 距離算出部
122 角度算出部
123 操作判定領域変更部
131 閾値判定部
132 操作実行部
11 入力装置
12 表示装置
13 外部I/F
13a 記録媒体
14 通信I/F
15 センサ
16 メモリ装置
17 プロセッサ
18 バス
101 操作位置監視処理部
102 操作判定領域変更処理部
103 操作実行処理部
104 記憶部
111 操作者情報取得部
112 操作位置特定部
113 操作位置判定部
121 距離算出部
122 角度算出部
123 操作判定領域変更部
131 閾値判定部
132 操作実行部
Claims (8)
- ユーザが操作可能な仮想オブジェクトが少なくとも配置された拡張現実空間又は複合現実空間を表示する情報処理装置であって、
前記ユーザに関する情報を用いて、前記仮想オブジェクト上の操作位置を特定するように構成されている特定部と、
前記ユーザに関する情報の位置を表す基準点と、前記操作位置とを用いて、前記ユーザが前記仮想オブジェクトを操作する際の操作方向を表す角度を算出するように構成されている算出部と、
前記角度を用いて、前記仮想オブジェクトに対して操作が行われたか否かを判定するための操作判定領域を変更するように構成されている変更部と、
を有する情報処理装置。 - 前記ユーザに関する情報は、前記ユーザの手を表すハンドメッシュデータであり、
前記特定部は、
前記ハンドメッシュデータを用いて、前記手の特定の指が指し示す方向を表す3次元ベクトルと前記仮想オブジェクトとの交点を前記操作位置として特定するように構成されている請求項1に記載の情報処理装置。 - 前記ユーザに関する情報は、前記ユーザが装着しているヘッドマウントディスプレイの位置を示す情報であり、
前記特定部は、
前記ヘッドマウントディスプレイの位置を示す情報を用いて、前記ユーザの視線方向を表す3次元ベクトルと前記仮想オブジェクトとの交点を前記操作位置として特定するように構成されている請求項1に記載の情報処理装置。 - 前記変更部は、
前記角度が所定の閾値を超えている場合、前記操作判定領域を変更するように構成されている請求項1に記載の情報処理装置。 - 前記変更部は、
前記ユーザの正面方向に、前記操作判定領域の向きを前記角度だけ変更するように構成されている請求項1乃至4の何れか一項に記載の情報処理装置。 - 前記算出部は、
前記基準点を含む鉛直面内における前記操作方向を表す第1の角度と、前記基準点を含む水平面内における前記操作方向を表す第2の角度とをそれぞれ算出するように構成されており、
前記変更部は、
前記鉛直面内において、前記ユーザの正面方向に、前記操作判定領域の向きを前記第1の角度だけ変更し、
前記水平面内において、前記ユーザの正面方向に、前記操作判定領域の向きを前記第2の角度だけ変更するように構成されている請求項5に記載の情報処理装置。 - ユーザが操作可能な仮想オブジェクトが少なくとも配置された拡張現実空間又は複合現実空間を表示する情報処理装置が、
前記ユーザに関する情報を用いて、前記仮想オブジェクト上の操作位置を特定する特定手順と、
前記ユーザに関する情報の位置を表す基準点と、前記操作位置とを用いて、前記ユーザが前記仮想オブジェクトを操作する際の操作方向を表す角度を算出する算出手順と、
前記角度を用いて、前記仮想オブジェクトに対して操作が行われたか否かを判定するための操作判定領域を変更する変更手順と、
を実行する情報処理方法。 - ユーザが操作可能な仮想オブジェクトが少なくとも配置された拡張現実空間又は複合現実空間を表示する情報処理装置に、
前記ユーザに関する情報を用いて、前記仮想オブジェクト上の操作位置を特定する特定手順と、
前記ユーザに関する情報の位置を表す基準点と、前記操作位置とを用いて、前記ユーザが前記仮想オブジェクトを操作する際の操作方向を表す角度を算出する算出手順と、
前記角度を用いて、前記仮想オブジェクトに対して操作が行われたか否かを判定するための操作判定領域を変更する変更手順と、
を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022071022A JP2023160579A (ja) | 2022-04-22 | 2022-04-22 | 情報処理装置、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022071022A JP2023160579A (ja) | 2022-04-22 | 2022-04-22 | 情報処理装置、情報処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023160579A true JP2023160579A (ja) | 2023-11-02 |
Family
ID=88516048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022071022A Pending JP2023160579A (ja) | 2022-04-22 | 2022-04-22 | 情報処理装置、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023160579A (ja) |
-
2022
- 2022-04-22 JP JP2022071022A patent/JP2023160579A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kim et al. | Touch and hand gesture-based interactions for directly manipulating 3D virtual objects in mobile augmented reality | |
US10732725B2 (en) | Method and apparatus of interactive display based on gesture recognition | |
US7834893B2 (en) | Mixed-reality presentation system and control method therefor | |
EP3311249B1 (en) | Three-dimensional user input | |
US11573641B2 (en) | Gesture recognition system and method of using same | |
JP4356983B2 (ja) | 画像処理方法、画像処理装置 | |
Lu et al. | Immersive manipulation of virtual objects through glove-based hand gesture interaction | |
US11294475B1 (en) | Artificial reality multi-modal input switching model | |
JP6350772B2 (ja) | 情報処理システム、情報処理装置、制御方法、及びプログラム | |
US11054896B1 (en) | Displaying virtual interaction objects to a user on a reference plane | |
CN102884492A (zh) | 增强现实的指向装置 | |
KR102147430B1 (ko) | 가상 공간 멀티 터치 인터랙션 장치 및 방법 | |
JP6344530B2 (ja) | 入力装置、入力方法、及びプログラム | |
JP6110893B2 (ja) | 仮想空間位置指定方法、プログラム、プログラムを記録した記録媒体、および、装置 | |
US11009949B1 (en) | Segmented force sensors for wearable devices | |
JP2022534639A (ja) | 指マッピング自己触覚型入力方法を有する人工現実システム | |
JP2019008623A (ja) | 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体 | |
JP2016122392A (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
US20180165853A1 (en) | Head-mounted display apparatus and virtual object display system | |
US11500453B2 (en) | Information processing apparatus | |
CN117784926A (zh) | 控制装置、控制方法和计算机可读存储介质 | |
JP2023160579A (ja) | 情報処理装置、情報処理方法及びプログラム | |
US11775064B1 (en) | Multiple-magnet hand-mounted position-tracking device | |
US20230267667A1 (en) | Immersive analysis environment for human motion data | |
JP2006343954A (ja) | 画像処理方法、画像処理装置 |