(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024179618
(43)【公開日】2024-12-26
(54)【発明の名称】表示プログラムおよび電子機器
(51)【国際特許分類】
G06T 19/00 20110101AFI20241219BHJP
G06F 3/01 20060101ALI20241219BHJP
G06F 3/04815 20220101ALI20241219BHJP
【FI】
G06T19/00 600
G06F3/01 510
G06F3/04815
【審査請求】未請求
【請求項の数】21
【出願形態】OL
(21)【出願番号】P 2023098602
(22)【出願日】2023-06-15
(71)【出願人】
【識別番号】000004112
【氏名又は名称】株式会社ニコン
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】高階 知巳
(72)【発明者】
【氏名】安藤 良次
(72)【発明者】
【氏名】堀内 俊介
(72)【発明者】
【氏名】福本 研索
(72)【発明者】
【氏名】東 啓輔
【テーマコード(参考)】
5B050
5E555
【Fターム(参考)】
5B050CA08
5B050DA01
5B050EA07
5B050EA09
5B050EA19
5B050FA02
5B050FA05
5B050FA17
5E555AA22
5E555AA23
5E555AA27
5E555BA08
5E555BA87
5E555BB08
5E555BE16
5E555BE17
5E555CA42
5E555CB47
5E555DA08
5E555DA09
5E555DB57
5E555DC10
5E555DC11
5E555DC35
5E555DC37
5E555DD03
5E555DD08
5E555EA22
5E555FA00
(57)【要約】
【課題】仮想オブジェクトの視認性の向上を図ること。
【解決手段】電子機器は、3次元実空間を検出する検出部と、3次元仮想空間における仮想オブジェクトを表示画面に表示する表示部と、前記検出部によって検出された前記3次元実空間に存在する物体における3次元位置と、前記3次元仮想空間における前記仮想オブジェクトの3次元位置と、に基づいて、前記仮想オブジェクトの表示態様を変更する表示制御部と、を有する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
プロセッサに、
3次元実空間を検出する検出処理と、
3次元仮想空間における仮想オブジェクトを表示する表示画面を制御して、前記検出処理によって検出された前記3次元実空間に存在する物体における3次元位置と、前記3次元仮想空間における前記仮想オブジェクトの3次元位置と、に基づいて、前記仮想オブジェクトの表示態様を変更する表示制御処理と、
を実行させる表示プログラム。
【請求項2】
請求項1に記載の表示プログラムであって、
前記表示制御処理では、前記プロセッサに、前記検出処理によって検出された前記3次元実空間を前記3次元仮想空間として前記表示画面に表示させる、
表示プログラム。
【請求項3】
請求項1または2に記載の表示プログラムであって、
前記表示制御処理では、前記プロセッサに、前記仮想オブジェクトが前記表示画面の面方向で前記物体と重複する場合、前記仮想オブジェクトの表示態様を変更させる、
表示プログラム。
【請求項4】
請求項3に記載の表示プログラムであって、
前記表示制御処理では、前記プロセッサに、前記仮想オブジェクトの色情報を変更させる、
表示プログラム。
【請求項5】
請求項3に記載の表示プログラムであって、
前記表示制御処理では、前記プロセッサに、前記仮想オブジェクトのうち、少なくとも前記表示画面の面方向で重複する部分の透過率を変更させる、
表示プログラム。
【請求項6】
請求項3に記載の表示プログラムであって、
前記表示制御処理では、前記プロセッサに、前記仮想オブジェクトのうち、少なくとも前記表示画面の面方向で重複する部分を非表示にさせる、
表示プログラム。
【請求項7】
請求項3に記載の表示プログラムであって、
前記表示制御処理では、前記プロセッサに、前記仮想オブジェクトのうち、少なくとも前記表示画面の面方向で重複する部分を点滅させる、
表示プログラム。
【請求項8】
請求項3に記載の表示プログラムであって、
前記表示制御処理では、前記プロセッサに、前記仮想オブジェクトが前記表示画面の面方向で前記物体と重複状態であることを示す警告情報を表示させる、
表示プログラム。
【請求項9】
請求項3に記載の表示プログラムであって、
前記表示制御処理では、前記プロセッサに、前記仮想オブジェクトが、前記表示画面の奥行方向において前記物体と重複する、または前記物体よりも奥に位置する場合、前記仮想オブジェクトの表示態様を変更させる、
表示プログラム。
【請求項10】
請求項3に記載の表示プログラムであって、
前記表示制御処理では、前記プロセッサに、前記仮想オブジェクトが前記表示画面の奥行方向において前記物体よりも手前に位置する場合、前記仮想オブジェクトの表示態様を変更させる、
表示プログラム。
【請求項11】
請求項3に記載の表示プログラムであって、
前記プロセッサに、
前記仮想オブジェクトが前記複数の部分仮想オブジェクトに分割可能な構成であれば、前記仮想オブジェクトを前記複数の部分仮想オブジェクトに分割する分割処理を実行させる、
表示プログラム。
【請求項12】
請求項11に記載の表示プログラムであって、
前記表示制御処理では、前記プロセッサに、前記分割処理によって分割された複数の部分仮想オブジェクトのうち、少なくとも前記面方向で前記物体と重複する前記部分仮想オブジェクトを前記物体と前記面方向で重複しない位置に表示させる、
表示プログラム。
【請求項13】
請求項3に記載の表示プログラムであって、
前記表示制御処理では、前記プロセッサに、前記仮想オブジェクトを、前記物体と前記面方向で重複しない位置に表示させる、
表示プログラム。
【請求項14】
請求項3に記載の表示プログラムであって、
前記表示制御処理では、前記プロセッサに、前記仮想オブジェクトを、前記物体よりも手前に表示させる、
表示プログラム。
【請求項15】
請求項3に記載の表示プログラムであって、
前記プロセッサに、
前記物体が作業対象物であるか否かを認識する認識処理を実行させ、
前記表示制御処理では、前記プロセッサに、前記仮想オブジェクトが前記表示画面の奥行方向において前記物体よりも手前に位置する場合で、かつ、前記認識処理によって前記物体が前記作業対象物であると認識された場合、前記仮想オブジェクトの表示態様を変更させる、
表示プログラム。
【請求項16】
請求項1に記載の表示プログラムであって、
前記プロセッサに、
前記検出処理によって検出された前記3次元実空間に存在する手が、前記3次元実空間に存在する特定被写体を保持しているか否かを認識する認識処理を実行させ、
前記表示制御処理では、前記プロセッサに、前記認識処理による認識結果に基づいて、前記仮想オブジェクトの表示態様を変更させる、
表示プログラム。
【請求項17】
請求項16に記載の表示プログラムであって、
前記表示制御処理では、前記プロセッサに、前記3次元実空間に存在する前記手の3次元位置と、前記仮想オブジェクトの3次元位置に基づいて、前記仮想オブジェクトの表示態様を変更させる、
表示プログラム。
【請求項18】
請求項16に記載の表示プログラムであって、
前記認識処理では、前記プロセッサに、前記3次元実空間に存在する前記手の形状が所定の形状である場合、または、前記3次元実空間における前記手の3次元位置および前記特定被写体の3次元位置が重複する場合、前記手が前記特定被写体を保持していると認識させる、
表示プログラム。
【請求項19】
請求項16に記載の表示プログラムであって、
前記表示制御処理では、前記プロセッサに、前記認識処理によって、前記手が前記特定被写体を保持していると認識され、かつ、前記3次元実空間における前記手または前記特定被写体の3次元位置と前記3次元仮想空間における前記仮想オブジェクトの3次元位置の間の距離が所定の範囲であると認識された場合、前記仮想オブジェクトの表示態様を変更させる、
表示プログラム。
【請求項20】
請求項16に記載の表示プログラムであって、
前記表示制御処理では、前記プロセッサに、前記認識処理によって、前記手が前記特定被写体を保持していると認識され、かつ、前記3次元実空間における前記手または前記特定被写体の3次元位置と前記3次元仮想空間における前記仮想オブジェクトの3次元位置の間の距離が所定の範囲であると認識された場合、前記仮想オブジェクトが操作不能であることを示す警告情報を表示させる、
表示プログラム。
【請求項21】
3次元実空間を検出する検出部と、
3次元仮想空間における仮想オブジェクトを表示画面に表示する表示部と、
前記検出部によって検出された前記3次元実空間に存在する物体における3次元位置と、前記3次元仮想空間における前記仮想オブジェクトの3次元位置と、に基づいて、前記仮想オブジェクトの表示態様を変更する表示制御部と、
を有する電子機器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示プログラムおよび電子機器に関する。
【背景技術】
【0002】
液晶ディスプレイに表示される仮想空間の画像をハーフミラーで反射させることで、現実空間に仮想空間の画像を重ねて表示するゴーグル表示システムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【0004】
第1開示技術の電子機器は、3次元実空間を検出する検出部と、3次元仮想空間における仮想オブジェクトを表示画面に表示する表示部と、前記検出部によって検出された前記3次元実空間に存在する物体における3次元位置と、前記3次元仮想空間における前記仮想オブジェクトの3次元位置と、に基づいて、前記仮想オブジェクトの表示態様を変更する表示制御部と、を有する。
【0005】
第2開示技術の表示プログラムは、プロセッサに、3次元実空間を検出する検出処理と、3次元仮想空間における仮想オブジェクトを表示する表示画面を制御して、前記検出処理によって検出された前記3次元実空間に存在する物体における3次元位置と、前記3次元仮想空間における前記仮想オブジェクトの3次元位置と、に基づいて、前記仮想オブジェクトの表示態様を変更する表示制御処理と、を実行させる。
【図面の簡単な説明】
【0006】
【
図1】
図1は、電子機器システムのシステム構成例を示す説明図である。
【
図2】
図2は、手の3次元位置データおよび形状データの一例を示す説明図である。
【
図3】
図3は、サーバのハードウェア構成例を示すブロック図である。
【
図4】
図4は、ヘッドマウントディスプレイのハードウェア構成例を示すブロック図である。
【
図5】
図5は、仮想物体表示態様変更例1を示す説明図である。
【
図6】
図6は、仮想物体表示態様変更例2を示す説明図である。
【
図7】
図7は、仮想物体表示態様変更例3を示す説明図である。
【
図8】
図8は、ヘッドマウントディスプレイによる表示態様変更処理手順例1を示すフローチャートである。
【
図9】
図9は、ヘッドマウントディスプレイによる表示態様変更処理手順例2を示すフローチャートである。
【
図10】
図10は、仮想オブジェクトの分割例を示す説明図である。
【
図11】
図11は、
図9に示した仮想オブジェクトの分割処理(ステップS901)の詳細な処理手順例を示すフローチャートである。
【
図12】
図12は、力学系を用いたレイアウトアルゴリズムの適用した場合の仮想オブジェクトの分割処理例を示す説明図である。
【
図13】
図13は、仮想物体配置変更例1を示す説明図である。
【
図14】
図14は、仮想物体配置変更例2を示す説明図である。
【
図15】
図15は、ヘッドマウントディスプレイによる配置変更処理手順例1を示すフローチャートである。
【
図16】
図16は、仮想オブジェクトの操作抑制例1を示す説明図である。
【
図17】
図17は、仮想オブジェクトの操作抑制例2を示す説明図である。
【
図18】
図18は、仮想オブジェクトの操作抑制処理手順例を示すフローチャートである。
【発明を実施するための形態】
【実施例0007】
<電子機器システムのシステム構成例>
図1は、電子機器システムのシステム構成例を示す説明図である。電子機器システム100は、サーバ101と、ヘッドマウントディスプレイDa、Dbと、複合装置112と、を有する。ヘッドマウントディスプレイDa、Dbを区別しない場合は、ヘッドマウントディスプレイDと表記する。
【0008】
サーバ101とヘッドマウントディスプレイDとは、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などのネットワーク130を介して通信可能に接続される。
【0009】
指示者環境110には、ヘッドマウントディスプレイDaと複合装置112と指示者S1、S2と第1作業対象物TaRとが存在する。第1作業対象物TaRの末尾の「R」は実物であることを強調するために付与した符号である。他の符号においても、実物であることを強調する場合には、末尾に「R」が付与される。
【0010】
指示者S1、S2を区別しない場合は指示者Sと表記する。ヘッドマウントディスプレイDaは、指示者S1が装着する表示装置である。指示者S2は、ヘッドマウントディスプレイDを装着していない。ヘッドマウントディスプレイDは、カメラ102とディスプレイ103とを有する。なお、指示者環境110における指示者は、指示者S1と指示者S2のうちいずれか1人が存在していればよい。カメラ102は、3次元実空間を撮像し、3次元実空間(3次元実空間内の物体や背景を含む)の画像データをヘッドマウントディスプレイD内に出力する。3次元実空間の画像データが表示される空間を3次元仮想空間と称す。
【0011】
複合装置112は、TOF(Time Of Flight)カメラとハンドトラッカとを有する。TOFカメラは、指示者S2および第1作業対象物TaRに対し、撮像と撮像した3次元実空間内の物体の測距とをおこなう。ハンドトラッカは、赤外線により指示者S2の手を検出し、手の形状を認識し、撮像した3次元実空間内における手の関節や指先などの特徴点の座標値を取得する。
【0012】
なお、TOFカメラおよびハンドトラッカは別々に設けられていてもよい。この場合、サーバ101は、TOFカメラが撮像した3次元実空間の座標原点を基準とするハンドトラッカの設置位置を認識しており、ハンドトラッカが検出した手の関節や指先などの特徴点の座標値をTOFカメラが撮像した3次元実空間内の座標値となるように補正する。
【0013】
第1作業対象物TaRは、指示者Sが作業指示を作業者Wに対して操作を実演するための装置の実物であり、たとえば、工作機械である。仮想第1作業対象物TaVは、第1作業対象物TaRの仮想的な3次元モデル(仮想オブジェクト)であり、ヘッドマウントディスプレイDaが生成してディスプレイ103に表示され、指示者S1は視認可能である。
【0014】
仮想第1作業対象物TaVの末尾の「V」は仮想オブジェクトであることを強調するために付与した符号である。他の符号においても、仮想オブジェクトであることを強調する場合には、末尾に「V」が付与される。第1作業対象物TaRおよび仮想第1作業対象物TaVを区別しない場合は、第1作業対象物Taと表記する。
【0015】
3次元実空間である作業者環境120には、ヘッドマウントディスプレイDbと作業者Wと第2作業対象物TbRとが存在する。ヘッドマウントディスプレイDbは、作業者Wが装着する表示装置である。第2作業対象物TbRは、作業者Wが操作する装置の実物であり、たとえば、第1作業対象物TaRと同種の工作機械である。
【0016】
第1作業対象物Taおよび第2作業対象物Tbを区別しない場合は、作業対象物Tと表記する。なお、指示者Sおよび作業者Wを区別しない場合は、ユーザS/Wと表記する。なお、第1作業対象物TaRは、第2作業対象物TbRに対して形状等が簡略化されていてもよい。
【0017】
カメラ102は、可視光域の赤(R)、緑(G)、青(B)の光を電気信号に変換するとともに、たとえば、TOF方式により被写体までの距離を取得する撮像素子(RGB-Dカメラ)である。カメラ102は、被写体の撮像面上の平面位置と被写体までの距離とにより、被写体の3次元位置を取得する。
【0018】
ディスプレイ103は、表示画面を有する。また、ディスプレイ103の方式がビデオ透過型(ビデオシースルー)であれば、カメラ102で撮像または再生された動画を表示画面に表示する。一方、ディスプレイ103の方式が光学透過型(光学シースルー)であれば、ユーザは、目の前の実物を視認でき、それに重畳して仮想データを表示させることができる。
【0019】
図2は、手の3次元位置データおよび形状データの一例を示す説明図である。(A)は、ユーザの手Hを撮像したローカル3次元座標系200における手Hの3次元位置データ201を示す。(B)は、ユーザの手Hを撮像したローカル3次元座標系200における手Hの形状データ202を示す。
【0020】
なお、指示者Sの手Hを手Haと表記し、作業者Wの手Hを手Hbと表記する。手Hの左右を区別する場合は、符号の末尾にr、lを付与する。たとえば、指示者Sの右手は、Harと表記し、指示者Sの左手は、Halと表記する。
【0021】
ユーザの手Hの3次元位置データ201は、画像に加えて距離情報を取得できるRGB-Dカメラであるカメラ102から取得される。ユーザの手Hの3次元位置データ201は、ユーザの手Hの特徴点の集合である。特徴点は3次元座標値を有する。特徴点は、たとえば、ユーザの手Hの指先および関節である骨格点である。特徴点は、ユーザの手Hの輪郭を構成する点でもよい。
【0022】
手Hの形状データ202は、手Hの3次元位置を示す3次元位置データ201から生成される。具体的には、たとえば、3次元位置データ201が手Hの骨格点の集合である場合、手Hの骨格に沿うように骨格点を連結し、骨格点および骨格点間のリンクに所定の幅を持たせて手Hの輪郭を生成することで、手Hの形状データ202が生成される。また、3次元位置データ201が手Hの輪郭を構成する点の集合である場合、隣り合う点を連結することにより、手Hの形状データ202が生成される。なお、手Hの仮想データとして、骨格点間のリンクに所定の幅を持たせることなく、骨格点間をリンクさせたリンクモデルとして構成してもよい。
【0023】
なお、ヘッドマウントディスプレイDは、物体の特徴点から、機械学習や形状のパターンマッチングを用いた既存の物体認識を実行可能である。また、ヘッドマウントディスプレイDが、物体の特徴点をサーバ101に送信し、サーバ101が物体の特徴点から物体認識を実行し、ヘッドマウントディスプレイDに物体認識結果を送信してもよい。
【0024】
<サーバ101のハードウェア構成例>
図3は、サーバ101のハードウェア構成例を示すブロック図である。サーバ101は、プロセッサ301と、記憶デバイス302と、入力デバイス303と、出力デバイス304と、通信インターフェース(通信IF)305と、を有する。プロセッサ301、記憶デバイス302、入力デバイス303、出力デバイス304、および通信IF305は、バス306により接続される。プロセッサ301は、サーバ101を制御する。記憶デバイス302は、プロセッサ301の作業エリアとなる。また、記憶デバイス302は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス302としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス303は、データを入力する。入力デバイス303としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナ、マイク、センサがある。出力デバイス304は、データを出力する。出力デバイス304としては、たとえば、ディスプレイ、プリンタ、スピーカがある。通信IF305は、ネットワーク130と接続し、データを送受信する。
【0025】
<ヘッドマウントディスプレイDのハードウェア構成例>
図4は、ヘッドマウントディスプレイDのハードウェア構成例を示すブロック図である。ヘッドマウントディスプレイDは、プロセッサ301、記憶デバイス302、通信IF305、およびバス306のほか、操作デバイス403、ディスプレイ103、カメラ102、マイク404およびスピーカ405を有する。
【0026】
操作デバイス403は、指示者Sまたは作業者Wの操作により、カメラ102で撮像する動画の記録の開始、停止および一時停止、記録された動画の再生の開始、停止および一時停止など各種入力を受け付ける。なお、操作デバイス403は、カメラ102が撮像する静止画の記録等を受け付けてもよい。
【0027】
マイク404は、ヘッドマウントディスプレイDの周囲の音声を電気信号に変換してヘッドマウントディスプレイD内部に入力する。スピーカ405は、音声に関する電気信号を音声に変換してヘッドマウントディスプレイD外部に出力する。
【0028】
なお、ヘッドマウントディスプレイD間では、直接通信されてもよく、サーバ101経由で通信されてもよい。
【0029】
なお、カメラ102は、3次元実空間を検出する検出部として機能する。ディスプレイ103は、3次元仮想空間における仮想オブジェクトを表示画面に表示する表示部として機能する。記憶デバイス302に記憶されたプログラムをプロセッサ301が実行することにより実現する機能として、表示制御部と、認識部と、分割部と、がある。
【0030】
表示制御部は、3次元実空間に存在する物体における3次元位置と、3次元仮想空間における仮想オブジェクトの3次元位置と、に基づいて、仮想オブジェクトの表示態様を変更する。
【0031】
認識部は、物体が作業対象物であるか否かを認識する。表示制御部による表示制御の詳細および認識部による認識の詳細は、
図5~
図18で後述する。
【0032】
分割部は、仮想オブジェクトが複数の部分仮想オブジェクトに分割可能な構成であれば、仮想オブジェクトを前記複数の部分仮想オブジェクトに分割する。分割部による分割の詳細は、
図10~
図12で後述する。
【0033】
なお、以降の図面において、3次元実空間における実物と、実物がヘッドマウントディスプレイDのカメラ102で撮像されてディスプレイ103に表示される3次元仮想空間におけるオブジェクトとを区別するため、実物の符号を()で囲むことでオブジェクトとして表記する。たとえば、ユーザの実物の右手Hrのオブジェクトは右手(Hr)と表記し、実物の左手Hlのオブジェクトは左手(Hl)と表記し、実物の作業対象物Tのオブジェクトは作業対象物(T)と表記する。なお、カメラ102で撮像されずにヘッドマウントディスプレイDで生成されてディスプレイ103に表示されるオブジェクトについては、符号を()で囲まずに表記する。
【0034】
<仮想物体表示態様変更>
図5は、仮想物体表示態様変更例1を示す説明図である。
図5は、作業対象物Tが存在する3次元実空間500Rにおいて、ヘッドマウントディスプレイDを装着したユーザS/Wが、ヘッドマウントディスプレイDのカメラ102により作業対象物Tおよびその周囲を撮像した状態を示す。3次元撮像空間500Iは、当該撮像によりヘッドマウントディスプレイDのディスプレイ103に表示される3次元実空間500Rの3次元画像であり、世界座標系501により規定される。
【0035】
世界座標系501は、互いに直交しあうX軸、Y軸およびZ軸によって規定される座標系である。X軸、Y軸およびZ軸の交点を原点とする。X軸、Y軸およびZ軸の終端(矢頭がある端部)側をプラス方向、始端(矢頭がない端部)側をマイナス方向とする。たとえば、Z軸であれば、Zプラス方向は、Z軸の始端から終端に向かう方向であり、Zマイナス方向は、Z軸の終端から始端に向かう方向である。X軸、Y軸についても同様である。プラス方向およびマイナス方向を区別しない場合は、単に、X方向、Y方向、Z方向と称す。また、X軸およびY軸で張られる平面をXY平面と称す。X軸およびZ軸の場合はXZ平面、Y軸およびZ軸の場合はYZ平面と称す。
【0036】
XY平面は、ディスプレイ103の画面に対応する。Z軸は、ディスプレイ103の画面の奥行に対応する。
【0037】
仮想オブジェクト502A,502Bは、透過度が異なる同一内容のコンテンツである。具体的には、たとえば、仮想オブジェクト502Aは、仮想オブジェクト502Bよりも透過度が低い。仮想オブジェクト502A,502Bを区別しない場合は、単に、仮想オブジェクト502と表記する。
【0038】
仮想オブジェクト502は、ユーザS/Wが作業対象物Tを操作するためのテキストや画像データを含む操作マニュアルの電子データである。仮想オブジェクト502は、3次元撮像空間500I内において、自動的に、または、ユーザS/Wの手(H)の動きの検出結果にしたがって、ページ捲り、拡大、縮小、移動、回転が可能である。
【0039】
ヘッドマウントディスプレイDは、ディスプレイ103に表示された仮想オブジェクト502を表示させるための不図示の項目をユーザS/Wの手(H)が選択することにより、仮想オブジェクト502Aを3次元撮像空間500Iに表示する。
【0040】
また、ヘッドマウントディスプレイDは、作業対象物Tの形状や色、寸法といった特徴情報と仮想オブジェクト502とを関連付けた関連情報を参照して、既存の物体認識により作業対象物(T)の特徴情報を特定し、特定した作業対象物(T)に関連する仮想オブジェクト502を取得して、3次元撮像空間500Iに表示してもよい。なお、関連情報は、ヘッドマウントディスプレイDの記憶デバイス302に記憶されていてもよく、サーバ101の記憶デバイス302に記憶されていてもよい。
【0041】
図5(A)に示すように、仮想オブジェクト502は、3次元撮像空間500I内において、あらかじめ設定されたデフォルト位置に表示される。
図5(A)では、ユーザS/Wから見て3次元撮像空間500Iの奥行を示すZ方向において、仮想オブジェクト502は、作業対象物(T)よりも手前(より具体的には、作業対象物(T)の最も手前側の面(503)よりも手前)に位置し、かつ、XY平面において作業対象物(T)と重複する。この場合、ユーザS/Wは、Z方向において、作業対象物(T)のうち、仮想オブジェクト502とXY平面において重複する部分を視認できない。このため、作業対象物(T)を操作しようとするときに仮想オブジェクト502の存在により作業対象物(T)の視認性が落ち、作業対象物(T)の操作性が悪化することになる。
【0042】
そこで、
図5(B)に示すように、ヘッドマウントディスプレイDは、
図5(A)のような仮想オブジェクト502Aと作業対象物(T)との配置関係を検出すると、仮想オブジェクト502Aの透過度を作業対象物(T)が視認できる程度まで上げて、仮想オブジェクト502Bに変換する。
【0043】
作業対象物(T)が視認できる程度の透過度とは、たとえば、仮想オブジェクト502Aと作業対象物(T)との重複部分において、作業対象物(T)が仮想オブジェクト502に隠蔽されずに表示され、かつ、仮想オブジェクト502が消失しない範囲内での仮想オブジェクト502の透過率である。これにより、ユーザS/Wは、作業対象物(T)のうち、仮想オブジェクト502BとXY平面において重複する部分も視認することができる。なお、仮想オブジェクト502Aの透過度を作業対象物(T)が視認できる程度まで上げる代わりに、作業対象物(TA)の透過度を作業対象物(T)が視認できる程度まで下げてもよい。
【0044】
このように、作業対象物(T)のうち、仮想オブジェクト502Aに隠れた重複部分の視認が容易になるため、作業対象物(T)の操作性を向上させることができる。また、3次元撮像空間500I内の仮想オブジェクト502Bと3次元実空間500Rの作業対象物Tとの相対位置の把握が容易になる。したがって、仮想オブジェクト502Aを操作しようとするときに、手Hや手Hに保持している工具と作業対象物Tとの意図しない干渉を抑制することができ、手Hの負傷や、工具および作業対象物Tの破損を抑制することができる。
【0045】
なお、
図5では、ヘッドマウントディスプレイDは、仮想オブジェクト502Aの全体の透過度を上げて仮想オブジェクト502Bに変換したが、仮想オブジェクト502Aのうち、XY平面において作業対象物(T)との重複する部分のみの透過度を上げて仮想オブジェクト502Bに変換してもよい。
【0046】
また、ヘッドマウントディスプレイDは、仮想オブジェクト502Aの全体またはXY平面における作業対象物(T)との重複部分の透過度を上げるのではなく、仮想オブジェクト502Aを色変換してもよい。この場合、ユーザS/Wは、色変換された仮想オブジェクト502Bにより重複部分の作業対象物(T)を視認できないが、XY平面において仮想オブジェクト502Bおよび作業対象物(T)が重複していることを視認することができる。
【0047】
また、色変換の場合、ヘッドマウントディスプレイDは、ユーザS/Wに注意喚起するために、仮想オブジェクト502Bの色変換された重複部分の色を点滅させてもよい。
【0048】
また、ヘッドマウントディスプレイDは、仮想オブジェクト502Aを非表示にしてもよい。具体的には、たとえば、ヘッドマウントディスプレイDは、3次元撮像空間500Iから仮想オブジェクト502Aを削除してもよく、仮想オブジェクト502Aが消失する透過率に設定してもよい。この場合、仮想オブジェクト502Aのうち、XY平面において作業対象物(T)との重複する部分のみを仮想オブジェクト502Aが消失する透過率に設定してもよい。
【0049】
図6は、仮想物体表示態様変更例2を示す説明図である。
図5と異なり、ユーザS/Wから見て3次元撮像空間500Iの奥行を示すZ方向において、仮想オブジェクト502Aが、作業対象物(T)よりも奥(より具体的には、作業対象物(T)の最も手前側の面(503)よりも奥)に位置し、かつ、XY平面において作業対象物(T)と重複する。この場合、ユーザS/Wは、Z方向において、仮想オブジェクト502のうち、作業対象物(TA)とXY平面において重複する部分は作業対象物(TA)と重なった状態で視認することになる。
【0050】
このため、
図6(B)に示すように、ヘッドマウントディスプレイDは、
図6(A)のような仮想オブジェクト502Aと作業対象物(TA)との配置関係を検出すると、仮想オブジェクト502Aの透過度を仮想オブジェクト502Aが視認できなくなる程度まで上げて、仮想オブジェクト502Bに変換する。
【0051】
仮想オブジェクト502が視認できなくなる程度の透過度とは、たとえば、仮想オブジェクト502と作業対象物(T)との重複部分において、仮想オブジェクト502Aのコンテンツの内容を認識できない程度の透過率である。これにより、ユーザS/Wは、仮想オブジェクト502のうち、作業対象物(TB)とXY平面において重複する部分を視認することができなくなる。なお、仮想オブジェクト502Aの透過度を仮想オブジェクト502が視認できなくなる程度まで上げる代わりに、作業対象物(T)の透過度を仮想オブジェクト502が視認できなくなる程度まで下げてもよい。
【0052】
これにより、ユーザS/Wは、仮想オブジェクト502Aのうち、作業対象物(T)とXY平面において重複する部分については仮想オブジェクト502Aや仮想オブジェクト502Aのコンテンツを視認できなくなるため、仮想オブジェクト502Aの操作を行うことがない。この結果、仮想オブジェクト502を操作しようとして、手Hや手Hに保持している工具と作業対象物Tとの意図しない干渉を抑制することができ、手Hの負傷や、工具および作業対象物Tの破損を抑制することができる。また、操作対象である作業対象物(T)の視認性の向上を図ることができる。
【0053】
なお、仮想オブジェクト502Aの透過度を仮想オブジェクト502Aが視認できなくなる程度まで上げる代わりに、仮想オブジェクト502Aの透過度を仮想オブジェクト502が視認できる程度まで上げてもよい。仮想オブジェクト502Aが視認できる程度の透過度とは、たとえば、仮想オブジェクト502Aと作業対象物(T)との重複部分において、仮想オブジェクト502Aのコンテンツを認識できる程度の透過率である。これにより、ユーザS/Wは、作業対象物(TB)、および仮想オブジェクト502のうち、作業対象物(TB)とXY平面において重複する部分のいずれも良好に視認することができる。
【0054】
なお、
図6では、ヘッドマウントディスプレイDは、仮想オブジェクト502Aの全体の透過度を上げて仮想オブジェクト502Bに変換したが、仮想オブジェクト502Aのうち、XY平面において仮想オブジェクト502との重複する部分のみの透過度を上げて仮想オブジェクト502Bに変換してもよい。
【0055】
また、ヘッドマウントディスプレイDは、作業対象物(TA)の全体またはXY平面における仮想オブジェクト502との重複部分の透過度を上げるのではなく、作業対象物(TA)を色変換してもよい。この場合、ユーザS/Wは、色変換された作業対象物(TB)により重複部分の仮想オブジェクト502を視認できないが、XY平面において重複していることを視認することができる。
【0056】
また、色変換の場合、ヘッドマウントディスプレイDは、ユーザS/Wに注意喚起するために、作業対象物(TB)の色変換された重複部分の色を点滅させてもよい。
【0057】
図7は、仮想物体表示態様変更例3を示す説明図である。
図7は、仮想オブジェクト502を分割する例を示す。仮想オブジェクト502は、複数のブロックが結合されたデータ構造を有し、ブロック単位で分割可能である。
図7では、仮想オブジェクト502は2分割される。分割された一方のデータを分割仮想オブジェクト502d1、他方を分割仮想オブジェクト502d2と称す。なお、
図7では、2分割としたが、3分割以上でもよい。
【0058】
(A)は、
図6の(A)と同じ状態を示す。(B)に示すように、ヘッドマウントディスプレイDは、(A)のような仮想オブジェクト502と作業対象物(TA)との配置関係を検出すると、XY平面方向において、仮想オブジェクト502を分割仮想オブジェクト502d1,502d2に分割し、作業対象物(T)と重複しないように、分割仮想オブジェクト502d1,502d2をXY平面方向に移動させる。
【0059】
このように、仮想オブジェクト502を分割することで、ユーザS/Wは、作業対象物(T)と重なって表示されることなく、分割仮想オブジェクト502d1,502d2を視認することができることから、仮想オブジェクト502のコンテンツを容易に把握することができる。また、仮想オブジェクト502を操作しようとして、手Hや手Hに保持している工具と作業対象物Tとの意図しない干渉を抑制することができ、手Hの負傷や、工具および作業対象物Tの破損を抑制することができる。さらに、作業対象物(T)が仮想オブジェクト502と重なって表示されることがないため、作業対象物(T)の操作性を向上させることができる。
【0060】
なお、
図7では、仮想オブジェクト502が、作業対象物(T)よりも奥(より具体的には、作業対象物(T)の最も手前側の面(503)よりも奥)に位置し、かつ、XY平面において作業対象物(T)と重複する場合について、ヘッドマウントディスプレイDは、仮想オブジェクト502を分割したが、仮想オブジェクト502が、作業対象物(T)よりも手前(より具体的には、作業対象物(T)の最も手前側の面(503)よりも手前)に位置し、かつ、XY平面において作業対象物(T)と重複する場合についても、ヘッドマウントディスプレイDは、仮想オブジェクト502を分割してもよい。
【0061】
<表示態様変更処理手順>
図8は、ヘッドマウントディスプレイDによる表示態様変更処理手順例1を示すフローチャートである。
図9は、ヘッドマウントディスプレイDによる表示態様変更処理手順例2を示すフローチャートである。ヘッドマウントディスプレイDは、カメラ102で撮像したローカル3次元座標系200における3次元撮像空間500Iの物体の特徴点を取得する(ステップS801)。
【0062】
ヘッドマウントディスプレイDは、ステップS801で取得した3次元撮像空間500Iの物体の特徴点を世界座標系501の特徴点に座標変換する(ステップS802)。ローカル3次元座標系200の座標点から世界座標系501の座標点への変換行列は、あらかじめ設定されているものとする。
【0063】
ヘッドマウントディスプレイDは、世界座標系501での仮想オブジェクト(たとえば、仮想オブジェクト502)を取得する(ステップS803)。
【0064】
ヘッドマウントディスプレイDは、3次元撮像空間500Iの物体と仮想オブジェクトとが世界座標系501のXY平面方向において重複するか否かを判定する(ステップS804)。
【0065】
3次元撮像空間500Iの物体と仮想オブジェクトとがXY平面方向において重複しない場合(ステップS804:No)、ヘッドマウントディスプレイDは、3次元撮像空間500Iの物体と仮想オブジェクトとを3次元撮像空間500Iに表示して(ステップS805)、一連の処理を終了する。
【0066】
一方、3次元撮像空間500Iの物体と仮想オブジェクトとがXY平面方向において重複する場合(ステップS804:Yes)、ヘッドマウントディスプレイDは、Z方向において、仮想オブジェクトが3次元撮像空間500Iの物体よりも手前に位置するか否かを判定する(ステップS806)。具体的には、たとえば、ヘッドマウントディスプレイDは、仮想オブジェクトが3次元撮像空間500Iの物体のZ方向における最も手前側の面(たとえば、作業対象物(T)の面(503))よりも手前に位置するか否かを判定する。
【0067】
仮想オブジェクトが3次元撮像空間500Iの物体よりも手前にある場合(ステップS806:Yes)、ヘッドマウントディスプレイDは、3次元撮像空間500Iの物体が作業対象物であるか否かを判定する(ステップS807)。この判定処理は、ヘッドマウントディスプレイDのカメラ102が撮像した画像データを学習モデルに入力することにより実行される。
【0068】
この学習モデルは、作業対象物名と、CADデータを基にして作成される作業対象物についての複数方向の画像データとをセットにした教師データセットにより学習された識別モデルであり、記憶デバイス302に記憶されている。なお、教師データセットは、複数種あってもよい。
【0069】
ユーザS/Wは、作業を行う前に作業対象物名を指定する。カメラ102は、作業を行う物体を撮像し、プロセッサ301が、カメラ102が撮像した画像データを学習モデルに入力すると、学習モデルは、撮像した画像データに含まれる複数の物体の中から学習された作業対象物に対応する物体を特定し、特定された画像データとセットで学習された作業物体名を出力する。
【0070】
ユーザS/Wが作業を行う前に指定した作業対象物名と学習モデルから出力された作業対象物名とが一致した場合、プロセッサ301は、3次元撮像空間500Iの物体が作業対象物であると判定する。なお、撮像した画像データに作業対象物が複数種含まれている場合、学習モデルは対応する複数種の作業対象物名を出力してもよい。
【0071】
この判定処理は、具体的には、たとえば、ヘッドマウントディスプレイDは、物体認識により3次元撮像空間500I内の物体を認識する。ヘッドマウントディスプレイDは、当該認識物体およびユーザS/Wの手(H)が、3次元撮像空間500IのXY平面上で重複し、かつ、ユーザS/Wの手(H)の特定のゼスチャ(たとえば、手(H)が認識物体の1以上の頂点と干渉するようなゼスチャ)を検出した場合に、当該認識物体を作業対象物(T)に決定する。
【0072】
また、ヘッドマウントディスプレイDは、手(H)が認識物体と重複していなくても、ユーザS/Wの手(H)が当該認識物体を包含する図形を3次元撮像空間500IのXY平面上に描くようなゼスチャを検出した場合に、当該認識物体を作業対象物(T)に決定してもよい。
【0073】
ステップS807において、物体が作業対象物(T)でないと判定された場合(ステップS807:No)、ヘッドマウントディスプレイDは、3次元撮像空間500Iの物体と仮想オブジェクト502とを3次元撮像空間500Iに表示して(ステップS805)、一連の処理を終了する。
【0074】
一方、ステップS807において、物体が作業対象物(T)であると判定された場合(ステップS807:Yes)、ヘッドマウントディスプレイDは、仮想オブジェクト502が分割可能であるか否かを判定する(ステップS808)。仮想オブジェクト502が複数ブロックで構成されていれば、仮想オブジェクト502は分割可能である。仮想オブジェクト502が分割可能である場合(ステップS808:Yes)、
図9に移行する。
【0075】
なお、仮想オブジェクト502が分割可能(ステップS808:Yes)であっても、ヘッドマウントディスプレイDは、3次元撮像空間500Iの物体/作業対象物(T)と仮想オブジェクト502との表示態様変更を選択することを示す手(H)のゼスチャを検出した場合には、ヘッドマウントディスプレイDは、
図9の処理に移行せずに、ステップS809の処理を実行してもよい。
【0076】
ステップS808において、仮想オブジェクト502が分割可能でない場合(ステップS808:No)、ヘッドマウントディスプレイDは、3次元撮像空間500Iの物体(ステップS806:Noの場合)/作業対象物(T)(ステップS807:Yesの場合)と仮想オブジェクト502とのXY平面方向の重複範囲を計算する(ステップS809)。
【0077】
ヘッドマウントディスプレイDは、
図5および
図6に示したように、3次元撮像空間500Iの物体/作業対象物(T)および仮想オブジェクト502のいずれか一方の重複範囲の表示態様を変更する(ステップS810)。
【0078】
具体的には、たとえば、ヘッドマウントディスプレイDは、仮想オブジェクト502が3次元撮像空間500Iの物体/作業対象物(T)よりも手前に位置する場合(ステップS806:Yes)は、XY平面方向において仮想オブジェクト502が作業対象物(T)と重複する仮想オブジェクト502の重複範囲を計算する。
【0079】
また、ヘッドマウントディスプレイDは、仮想オブジェクト502が3次元撮像空間500Iの物体/作業対象物(T)よりも手前に位置しない場合(ステップS806:No)は、XY平面方向において3次元撮像空間500Iの物体/作業対象物(T)が仮想オブジェクト502と重複する3次元撮像空間500Iの物体/作業対象物(T)の重複範囲を計算する。
【0080】
つぎに、ヘッドマウントディスプレイDは、ステップS809で計算された重複範囲の表示態様を変更する(ステップS810)。具体的には、たとえば、ヘッドマウントディスプレイDは、ステップS809において仮想オブジェクト502の重複範囲が計算された場合、
図5および
図6に示したように、仮想オブジェクト502のうち少なくとも仮想オブジェクト502の重複範囲の表示態様を変更する。
【0081】
なお、表示態様の変更とは、
図5および
図6に示したように、透過度の変更や色変換、点滅を含む。
【0082】
このあと、ヘッドマウントディスプレイDは、ステップS810の表示態様変更後における3次元撮像空間500Iの物体/作業対象物(T)および仮想オブジェクト502を3次元撮像空間500Iに表示して(ステップS811)、一連の処理を終了する。
【0083】
図9において、ヘッドマウントディスプレイDは、ステップS808において仮想オブジェクト502が分割可能であると判定された場合に(ステップS808:Yes)、仮想オブジェクト502の分割処理を実行する(ステップS901)。そして、ヘッドマウントディスプレイDは、物体/作業対象物および分割された仮想オブジェクト502を3次元撮像空間500Iに表示して(ステップS902)、一連の処理を終了する。ここで、仮想オブジェクトの分割処理(ステップS901)について、具体的に説明する。
【0084】
図10は、仮想オブジェクトの分割例を示す説明図である。
図10において、仮想オブジェクト1000は、3つのブロックb1~b3で構成される。仮想オブジェクト1000は、ブロックb1~b3に分割可能である。なお、ヘッドマウントディスプレイDは、2以上の最大ブロック数で仮想オブジェクト1000を分割してもよい。
【0085】
たとえば、仮想オブジェクト1000の場合、ブロックb1とブロックb2,b3の結合ブロックとに分割可能であり、ブロックb2とブロックb1,b3の結合ブロックとに分割可能であり、ブロックb3とブロックb1,b2の結合ブロックとに分割可能である。
【0086】
図11は、
図9に示した仮想オブジェクトの分割処理(ステップS901)の詳細な処理手順例を示すフローチャートである。
図12は、力学系を用いたレイアウトアルゴリズムを適用した場合の仮想オブジェクト1000の分割処理例を示す説明図である。
図11では、位置を調整するアルゴリズムの例として、力学系でモデル化したグラフレイアウトアルゴリズムを適用する。また、
図12では、仮想オブジェクト1000が作業対象物(T)の手前の面(503)よりもZ方向の奥側に位置するものとする。以下、
図11の仮想オブジェクトの分割処理(ステップS901)について、
図12を例示しながら説明する。
【0087】
図11に示すように、ヘッドマウントディスプレイDは、XY平面方向において、ブロック集合から物体/作業対象物との重複範囲が最小のブロックをアンカーブロックに決定する(ステップS1101)。ブロック集合とは、仮想オブジェクト1000に含まれるすべてのブロックb1~b3である。
【0088】
また、アンカーブロックとは、ブロック集合のうち他のブロックの基準となるブロックである。
図12の例では、(A)ブロックb1が、作業対象物(T)との重複範囲が最小のブロックである。したがって、ヘッドマウントディスプレイDは、ブロックb3をアンカーブロックに決定する。
【0089】
図11に戻り、ヘッドマウントディスプレイDは、XY平面方向において、アンカーブロックに対する他のブロックの配置方向を検出する(ステップS1102)。配置方向とは、アンカーブロックの配置位置から、アンカーブロック以外の他のブロックの配置位置への方向である。
【0090】
具体的には、たとえば、ヘッドマウントディスプレイDは、アンカーブロックの重心と他のブロックとの重心を結ぶ線分が示す方向を検出する。そして、ヘッドマウントディスプレイDは、線分が示す方向とX軸、Y軸との角度差を算出し、最小角度差となる軸が示す方向を配置方向として検出する。
【0091】
図12の例では、(A)ブロックb1の配置方向は、Yプラス方向であり、ブロックb2の配置方向は、Xマイナス方向であり、ブロックb3の配置方向は、Xプラス方向である。
【0092】
図11に戻り、ヘッドマウントディスプレイDは、XY平面方向において、物体/作業対象物とアンカーブロックとが重複しないよう、物体/作業対象物の代表点から離間する方向にアンカーブロックを移動させる(ステップS1103)。物体/作業対象物の代表点とは、たとえば、XY平面方向における物体/作業対象物の面(503)上の点であり、たとえば、重心である。なお、ヘッドマウントディスプレイDは、ユーザの手(H)で示した位置を代表点に決定してもよい。
【0093】
そして、ヘッドマウントディスプレイDは、物体/作業対象物の代表点から離間する方向にアンカーブロックを移動させる。
図12の例では、(B)ヘッドマウントディスプレイDは、面(503)と重複しないよう、面(503)上の代表点Pから離間するXプラス方向にアンカーブロックb3を移動させる。移動後は、アンカーブロックb3の位置は固定される。
【0094】
図11に戻り、ヘッドマウントディスプレイDは、XY平面方向において、物体/作業対象物の代表点から配置方向に他のブロックを配置する(ステップS1104)。具体的には、たとえば、
図12の例では、(B)ヘッドマウントディスプレイDは、代表点PからYプラス方向の位置にブロックb1を配置し、代表点PからXマイナス方向の位置にブロックb2を配置する。
【0095】
図11に戻り、ヘッドマウントディスプレイDは、XY平面方向において、物体/作業対象物と重複しなくなるまで、他のブロックを配置方向に移動させ(ステップS1105)、ステップS902に移行する。具体的には、たとえば、
図12の例では、(C)ヘッドマウントディスプレイDは、代表点PからXマイナス方向に、作業対象物(T)と重複しなくなるまで、ブロックb2を移動させる。また、(D)ヘッドマウントディスプレイDは、代表点PからYプラス方向に、作業対象物(T)と重複しなくなるまで、ブロックb1を移動させる。
【0096】
このように、実施例1によれば、仮想オブジェクトの表示態様を変更することで、3次元撮像空間500Iにおいて作業対象物(T)と重複しないよう仮想オブジェクト502を表示することができる。したがって、作業対象物(T)や仮想オブジェクト502,1000の視認性の向上を図ることができる。
つぎに、実施例2について説明する。実施例1では、XY平面方向で重複しあう作業対象物(T)と仮想オブジェクト502,1000とのZ方向の配置関係により、作業対象物(T)および仮想オブジェクト502,1000のいずれか一方の表示態様を変更した例について説明した。実施例2では、このような配置関係にある仮想オブジェクト502,1000の位置を、XY平面方向で作業対象物(T)と重複しないように変更する例について説明する。なお、実施例2では、実施例1との相違点を中心に説明するため、実施例1と同一構成には同一符号を付し、その説明を省略する。
具体的には、たとえば、ヘッドマウントディスプレイDは、作業対象物(T)のXY平面における領域と仮想オブジェクト502のXY平面における領域を計算し、作業対象物(T)のXY平面における領域外に仮想オブジェクト502を移動させる。また、ヘッドマウントディスプレイDは、一定時間経過後に、仮想オブジェクト502を元の位置に、(B)の位置から(A)の位置に戻してもよい。
なお、ヘッドマウントディスプレイDは、ユーザS/Wの手(H)のゼスチャから仮想オブジェクト502のXY平面における移動方向を検出して、検出した移動方向に仮想オブジェクト502を移動させてもよい。たとえば、(A)の状態において、ヘッドマウントディスプレイDは、手(H)の形状が仮想オブジェクト502のXY平面における重複回避を示す第1形状である場合に、当該第1形状を検出し、かつ、当該第1形状のまま手(H)のXプラス方向への移動を検出した場合に、仮想オブジェクト502をXプラス方向に移動させてもよい。
同様に、(A)から(B)に遷移した状態において、ヘッドマウントディスプレイDは、手(H)の形状が仮想オブジェクト502の元の位置への復帰を示す第2形状である場合に、当該第2形状を検出し、かつ、当該第2形状のまま手(H)のXマイナス方向への移動を検出した場合に、仮想オブジェクト502をXマイナス方向に移動させて、(A)に示しように、仮想オブジェクト502を元の位置に復帰させてもよい。
また、ヘッドマウントディスプレイDは、3次元撮像空間500Iにおける作業対象物(T)が表示されていない領域のうち、最も広い領域に仮想オブジェクト502を移動させてもよい。3次元撮像空間500I内で作業対象物(T)が表示される領域はユーザS/Wが作業を進めるなかで変わっていくが、最も広い領域に仮想オブジェクト502を配置しておけば、作業対象物(T)と仮想オブジェクト502が重複する機会が減ることになる。この結果、頻繁に仮想オブジェクト502を移動させることがなくなり、ユーザによる仮想オブジェクト502のコンテンツの確認が容易になる。
また、ヘッドマウントディスプレイDは、作業対象物(T)と仮想オブジェクト502が重複している場合に、仮想オブジェクト502の移動距離が短くなる方向に仮想オブジェクト502を移動させてもよい。この結果、仮想オブジェクト502が大きく移動することが無くなり、ユーザによる仮想オブジェクト502のコンテンツの確認が容易になる。
具体的には、たとえば、ヘッドマウントディスプレイDは、仮想オブジェクト502のZ方向の座標値を、面(503)のZ方向の座標値よりも手前の座標値に変換することで、仮想オブジェクト502を面(503)よりも手前の位置に移動させる。また、ヘッドマウントディスプレイDは、一定時間経過後に、仮想オブジェクト502を元の位置に、(B)の位置から(A)の位置に戻してもよい。
なお、ヘッドマウントディスプレイDは、ユーザS/Wの手(H)のゼスチャから仮想オブジェクト502のZ軸における移動方向を検出して、検出した移動方向に仮想オブジェクト502を移動させてもよい。たとえば、(A)の状態において、ヘッドマウントディスプレイDは、手(H)の形状が仮想オブジェクト502のZ方向への移動を示す第3形状である場合に、当該第3形状を検出し、かつ、当該第3形状のまま手(H)のZマイナス方向への移動を検出した場合に、仮想オブジェクト502をZマイナス方向に移動させてもよい。
同様に、(A)から(B)に遷移した状態において、ヘッドマウントディスプレイDは、手(H)の形状が仮想オブジェクト502の元の位置への復帰を示す第2形状である場合に、当該第2形状を検出し、かつ、当該第2形状のまま手(H)のZプラス方向への移動を検出した場合に、仮想オブジェクト502をZプラス方向に移動させて、(A)に示しように、仮想オブジェクト502を元の位置に復帰させてもよい。
このように、仮想オブジェクト502の配置位置を変更することにより、ユーザS/Wは、仮想オブジェクト502が作業対象物(T)に重なって表示されることなく視認することができる。また、仮想オブジェクト502を操作しようとして、手Hや手Hに保持している工具と作業対象物Tとの意図しない干渉を抑制することができ、手Hの負傷や、工具および作業対象物Tの破損を抑制することができる。
そして、ヘッドマウントディスプレイDは、ステップS1510の移動後における3次元撮像空間500Iの物体/作業対象物(T)および仮想オブジェクト502を3次元撮像空間500Iに表示して(ステップS811)、一連の処理を終了する。
このように、実施例2によれば、仮想オブジェクト502,1000を移動することで、3次元撮像空間500Iにおいて作業対象物(T)と重複しないよう仮想オブジェクト502を表示することができる。したがって、作業対象物(T)や仮想オブジェクト502,1000の視認性の向上を図ることができる。