(57)【要約】【課題】  ユーザが把持する現実物体又はユーザの体の一部とその他の現実物体との衝突による、ユーザの体の一部や現実物体へのダメージを低減するための情報処理を提供することを目的とする。【解決手段】  ユーザが把持するツールの位置情報と現実物体の位置情報とに基づいて、前記ツールと前記現実物体との衝突を予測する予測手段と、前記予測手段によって前記ツールが前記現実物体と衝突すると予測された場合、前記衝突の衝撃に関するパラメータに基づいて、前記衝突が前記ツール又は前記現実物体にダメージを与えるか否かを判定する判定手段と、前記判定手段によって前記衝突が前記ツール又は前記現実物体にダメージを与えると判定された場合、前記ユーザに対して警告するための制御を行う制御手段と、を有することを特徴とする情報処理装置。【選択図】  図１
2019070909.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが把持するツールの位置情報を取得する取得手段と、
現実空間における現実物体の位置情報を記憶する記憶手段と、
前記ツールの位置情報と前記現実物体の位置情報とに基づいて、前記ツールと前記現実物体との衝突を予測する予測手段と、
前記予測手段によって前記ツールが前記現実物体と衝突すると予測された場合、前記衝突の衝撃に関するパラメータに基づいて、前記衝突が前記ツール又は前記現実物体にダメージを与えるか否かを判定する判定手段と、
前記判定手段によって前記衝突が前記ツール又は前記現実物体にダメージを与えると判定された場合、前記ユーザに対して警告するための制御を行う制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、表示手段を有する頭部装着装置を含むシステムを制御するための装置であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ツールは、前記表示手段に表示された仮想物体に所定の操作を行うために前記ユーザが把持する操作ツールであって、
前記システムは、前記ツールを含むことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記ツールは、音を出力する音提示手段を有し、
前記制御手段は、前記判定手段によって前記衝突が前記ツール又は前記現実物体にダメージを与えると判定された場合、前記音提示手段を制御することによって、前記ユーザに対して音により警告することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記ツールは、振動を生成する振動提示手段を有し、
前記制御手段は、前記判定手段によって前記衝突が前記ツール又は前記現実物体にダメージを与えると判定された場合、前記振動提示手段を制御することによって、前記ユーザに対して振動により警告することを特徴とする請求項３又は請求項４に記載の情報処理装置。
【請求項６】
警告を行うための警告表示を描画し、前記表示手段に前記警告表示を表示させる描画手段をさらに有し、
前記制御手段は、前記判定手段によって前記衝突が前記ツール又は前記現実物体にダメージを与えると判定された場合、前記描画手段を制御することによって、前記ユーザに対して前記警告表示により警告することを特徴とする請求項２乃至請求項５のいずれか一項に記載の情報処理装置。
【請求項７】
前記予測手段は、前記ツールと前記現実物体とが衝突すると予測した場合、前記衝撃に関するパラメータとして、前記衝突時の前記ツールの速度を取得し、
前記判定手段は、前記速度が閾値より大きい場合に、前記衝突が前記ツール又は前記現実物体にダメージを与えると判定することを特徴とする請求項１乃至請求項６のいずれか一項に記載の情報処理装置。
【請求項８】
前記予測手段は、前記ツールと前記現実物体とが衝突すると予測した場合、前記衝撃に関するパラメータとして、前記衝突時の前記ツールの移動方向を取得し、
前記判定手段は、前記移動方向が所定の移動方向である場合に、前記衝突が前記ツール又は前記現実物体にダメージを与えると判定することを特徴とする請求項１乃至請求項７のいずれか一項に記載の情報処理装置。
【請求項９】
前記予測手段は、前記ツールと前記現実物体とが衝突すると予測した場合、前記衝撃に関するパラメータとして、前記衝撃に関するパラメータとして、前記ツールの重さと材質と形状との少なくとも１つを取得することを特徴とする請求項１乃至請求項８のいずれか一項に記載の情報処理装置。
【請求項１０】
前記ユーザからの指示入力に基づいて、前記閾値を設定する設定手段をさらに有することを特徴とする請求項７に記載の情報処理装置。
【請求項１１】
前記取得手段は、前記ツールの位置情報に加えて、前記操作ツールの姿勢情報を取得し、
前記予測手段は、さらに前記姿勢情報に基づいて、前記衝突を予測することを特徴とする請求項１乃至請求項１０のいずれか一項に記載の情報処理装置。
【請求項１２】
前記システムは、前記現実空間を測定する測定手段を有し、
前記記憶手段は、前記測定手段によって得られた測定結果に基づいて生成した前記現実物体の位置情報を記憶することを特徴とする請求項２乃至請求項１１のいずれか一項に記載の情報処理装置。
【請求項１３】
前記頭部装着装置は、撮像を行う撮像手段をさらに有し、
前記記憶手段は、前記撮像手段によって得られた画像を取り込み、前記画像に基づいて生成した前記現実物体の位置情報を記憶することを特徴とする請求項２乃至請求項１２のいずれか一項に記載の情報処理装置。
【請求項１４】
前記記憶手段は、前記現実物体の位置情報として、前記現実空間の３Ｄモデルを示すモデルデータを記憶することを特徴とする請求項１乃至請求項１３のいずれか一項に記載の情報処理装置。
【請求項１５】
前記予測手段は、仮想空間において、多角形要素によって構成された所定時間後の前記ツールと、多角形要素によって構成された前記現実物体と、を生成し、所定時間後の前記ツールを構成する多角形要素と前記現実物体を構成する多角形要素とが交差している場合に、前記ツールと前記現実空間における前記現実物体とが衝突すると予測することを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記頭部装着装置は、ビデオシースルー型のヘッドマウントディスプレイであることを特徴とする請求項２乃至請求項１５のいずれか一項に記載の情報処理装置。
【請求項１７】
前記頭部装着装置は、光学シースルー型のヘッドマウントディスプレイであることを特徴とする請求項２乃至請求項１５のいずれか一項に記載の情報処理装置。
【請求項１８】
第１現実物体と第２現実物体との衝突を予測する予測手段と、
前記予測手段によって前記第１現実物体と前記第２現実物体とが衝突すると予測された場合、前記衝突が前記第１現実物体又は前記第２現実物体にダメージを与えるか否かを判定する判定手段と、
前記判定手段によって前記衝突が前記第１現実物体又は前記第２現実物体にダメージを与えると判定された場合、前記ユーザに対して警告するための制御を行う制御手段と、
を有することを特徴とする情報処理装置。
【請求項１９】
ユーザの頭部に装着する頭部装着装置であって、
ユーザが把持するツールの位置情報を取得する取得手段と、
現実空間における現実物体の位置情報を記憶する記憶手段と、
前記ツールの位置情報と前記現実物体の位置情報とに基づいて、前記ツールと前記現実物体との衝突を予測する予測手段と、
前記予測手段によって前記ツールが前記現実物体と衝突すると予測された場合、前記衝突が前記ツール又は前記現実物体にダメージを与えるか否かを判定する判定手段と、
前記判定手段によって前記衝突が前記ツール又は前記現実物体にダメージを与えると判定された場合、前記ユーザに対して警告するための制御を行う制御手段と、
を有することを特徴とする頭部装着装置。
【請求項２０】
頭部装着装置と、ユーザが把持するツールと、前記ツールと前記頭部装着装置とを制御する情報処理装置と、を有するシステムであって、
前記ツールの位置情報を取得する取得手段と、
現実空間における現実物体の位置情報を記憶する記憶手段と、
前記ツールの位置情報と前記現実物体の位置情報とに基づいて、前記ツールと前記現実物体との衝突を予測する予測手段と、
前記予測手段によって前記ツールが前記現実物体と衝突すると予測された場合、前記衝突が前記ツール又は前記現実物体にダメージを与えるか否かを判定する判定手段と、
前記判定手段によって前記衝突が前記ツール又は前記現実物体にダメージを与えると判定された場合、前記ユーザに対して警告を提示する提示手段と、
を有することを特徴とするシステム。
【請求項２１】
コンピュータを請求項１乃至請求項１７のいずれか一項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項２２】
ユーザが把持するツールの位置情報を取得する取得ステップと、
現実空間における現実物体の位置情報を記憶する記憶ステップと、
前記ツールの位置情報と前記現実物体の位置情報とに基づいて、前記ツールと前記現実物体との衝突を予測する予測ステップと、
前記予測ステップにおいて前記ツールが前記現実物体と衝突すると予測された場合、前記衝突の衝撃に関するパラメータに基づいて、前記衝突が前記ツール又は前記現実物体にダメージを与えるか否かを判定する判定ステップと、
前記判定ステップにおいて前記衝突が前記ツール又は前記現実物体にダメージを与えると判定された場合、前記ユーザに対して警告するための制御を行う制御ステップと、
を有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザに複合現実感を提供する技術に関する。
【背景技術】
【０００２】
近年、設計・製造分野において、現実空間にあたかも仮想物体が実在しているかのような感覚を起こさせる複合現実感システムが用いられている。この複合現実感システムは、現実空間を撮像して得られる実写映像に、ＣＧ（コンピュータグラフィックス）によって作成した仮想空間の映像を重畳させて表示する技術を用いている。以下、複合現実感をＭＲ（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）と呼び、複合現実感システムをＭＲシステムと呼ぶ。特許文献１においては、仮想物体の面上の距離を仮想計測工具によって計測するためのＭＲシステムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−４９９５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上述したＭＲシステムにおいて、その仮想空間の映像における物体が現実物体であるか仮想物体であるかを、ユーザが判断し辛くなる状況が往々にして発生する。観察している物体が現実物体であるにも関わらず仮想物体であると誤認して、ユーザが手や把持している現実物体を動かす場合がある。この場合、手や把持している現実物体がその他の現実物体に衝突してしまい、その衝突が手や現実物体にダメージを与えてしまうという課題がある。
【０００５】
本発明は、上記課題に鑑みてなされたものであり、ユーザが把持する現実物体又はユーザの体の一部とその他の現実物体との衝突による、ユーザの体の一部や現実物体へのダメージを低減するための情報処理を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る情報処理装置は、ユーザが把持するツールの位置情報を取得する取得手段と、現実空間における現実物体の位置情報を記憶する記憶手段と、前記ツールの位置情報と前記現実物体の位置情報とに基づいて、前記ツールと前記現実物体との衝突を予測する予測手段と、前記予測手段によって前記ツールが前記現実物体と衝突すると予測された場合、前記衝突の衝撃に関するパラメータに基づいて、前記衝突が前記ツール又は前記現実物体にダメージを与えるか否かを判定する判定手段と、前記判定手段によって前記衝突が前記ツール又は前記現実物体にダメージを与えると判定された場合、前記ユーザに対して警告するための制御を行う制御手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ユーザが把持する現実物体又はユーザの体の一部とその他の現実物体との衝突による、ユーザの体の一部や現実物体へのダメージを低減することができる。
【図面の簡単な説明】
【０００８】
【図１】ＭＲシステムの機能構成を示すブロック図
【図２】ＭＲシステムにおける処理を示すフローチャート
【図３】操作ツールと仮想物体とのインタラクションについての処理を示すフローチャート
【図４】ＭＲシステムの機能構成を示すブロック図
【図５】ＭＲシステムにおける処理を示すフローチャート
【図６】操作ツールと現実物体との衝突に関する警告表示の例を示す図
【図７】仮想物体の断面の生成方法を示す模式図
【図８】操作ツールを用いて仮想物体を切断する例を示す図
【図９】情報処理装置のハードウェア構成の例を示す図
【発明を実施するための形態】
【０００９】
［実施形態１］
以下、本発明の実施形態について、図面を参照して説明する。尚、以下の実施形態は本発明を必ずしも限定するものではない。また、本実施形態において説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、同一の構成については、同一の符号を付して説明する。
【００１０】
本実施形態においては、ＭＲ技術を利用したＭＲシステムにおいて用いられる操作ツールとその他の現実物体との衝突による、操作ツールや現実物体への影響（ダメージ）を低減する例を説明する。ＭＲシステムは、現実空間を撮像した実写映像に、ＣＧによって作成した仮想空間の映像を重畳させて表示する技術を用いるシステムである。以下、実写映像によって表わされる空間を現実空間、仮想映像によって表わされる空間を仮想空間、現実空間と仮想空間とが融合した空間を複合現実空間と呼ぶ。
【００１１】
＜操作ツールと現実物体との衝突＞
本実施形態のＭＲシステムにおける操作ツールは、図８に示すような、ユーザが手に把持する棒状の道具であり、仮想物体を切断するツールである。以下、本実施形態における操作ツールを切断ツールと呼ぶ。尚、把持することは、物体（ツール）全体を持ち上げていることである。ユーザは、仮想物体を切断するように切断ツールを動かすと、仮想物体が切断されてその断面を観察することができる。ユーザが仮想物体と思い違いをして現実物体に対して切断ツールを当てようとすると、図８に示すように、切断ツールが現実物体に衝突し、切断ツールあるいは現実物体にダメージを与えてしまったり、壊してしまったりする場合がある。図８（ａ）及び図８（ｂ）は、ユーザが仮想物体を切断しようとしている様子を示しており、図８（ｃ）及び図８（ｄ）は、ユーザが現実物体を仮想物体と誤認して切断しようとしている様子を示している。
【００１２】
図８（ａ）は仮想物体５００に対して切断ツール２００を用いて切断操作を行おうとしている図であり、切断操作を行うと図８（ｂ）に示すように仮想物体５００が切断ツール２００の位置姿勢に応じて切断される。これに対し、図８（ｃ）は現実物体６００に対して切断ツール２００を用いて切断操作を行おうとしている図であり、切断操作を行うと図８（ｄ）に示すように切断ツール２００が現実物体６００に衝突して壊れてしまう。以下においては、切断ツールのような操作ツールを用いて仮想物体に所定の操作を行う際の、衝突によって生じた操作ツールあるいはその他の現実物体へのダメージを低減する例を説明する。具体的には、操作ツールが閾値以上の速度で現実物体に衝突しそうになった場合に、操作ツールのユーザに警告を提示する。尚、ユーザの頭部に装着されている装置は、ヘッドマウントディスプレイ（ＨＭＤ）３００である。尚、上述した位置姿勢は、物体の位置と姿勢とを意味する。具体的には、位置は物体の三次元空間における位置（座標）であり、姿勢は物体の傾き（角度）である。
【００１３】
＜情報処理装置のハードウェア構成＞
図９は、本実施形態における情報処理装置１００のハードウェア構成図である。図９において、中央処理装置（ＣＰＵ）１９１は、バス１９０を介して接続する各デバイスを統括的に制御する。ＣＰＵ１９１は、読み出し専用メモリ（ＲＯＭ）１９２に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム（ＯＳ）や、本実施形態に係る各処理プログラム、デバイスドライバ等はＲＯＭ１９２に記憶されており、ランダムアクセスメモリ（ＲＡＭ）１９３に一時記憶され、ＣＰＵ１９１によって適宜実行される。また、入力インタフェース（入力Ｉ／Ｆ）１９４は、情報処理装置１００において処理可能な形式の入力信号を外部の装置から入力する。また、出力インタフェース（出力Ｉ／Ｆ）１９５は、外部の装置が処理可能な形式の出力信号を外部の装置に出力する。
【００１４】
＜ＭＲシステムの機能構成＞
図１は本実施形態におけるＭＲシステムの機能構成を示すブロック図である。ＭＲシステムは、情報処理装置１００と、ＨＭＤ３００と、切断ツール２００と、現実空間測定部４００と、入力装置５００と、を有する。情報処理装置１００は、ＨＭＤ３００における撮像部３０１から取り込んだ現実空間の画像と仮想空間の画像とを合成し、合成した画像を複合現実感映像としてＨＭＤ３００における表示部３０２に出力する。
【００１５】
ＨＭＤ３００は、ユーザの頭部に装着する頭部装着装置である。ＨＭＤ３００は、撮像部３０１と、表示部３０２と、を有する。撮像部３０１は、現実空間を撮像し、撮像によって得られた画像を情報処理装置１００に出力する。撮像によって得られた画像は、合成部１１０において仮想空間の画像と合成され、表示部３０２によって合成画像として表示される。本実施形態においては、撮像部３０１は、ＨＭＤ３００に内蔵されているものとする。表示部３０２は、合成部１１０において生成された合成画像をユーザに提示する。本実施形態においては、ＨＭＤ３００に内蔵されたディスプレイを用いて合成画像の提示を行う。
【００１６】
切断ツール２００は、音提示部２０１と、振動提示部と、入力部２０３と、を有する。切断ツール２００は、現実物体に切断ツール２００が衝突しそうになった際に警告を行う機能を搭載している。具体的な警告方法は、警告音や警告振動を提示する方法である。本実施形態においては説明を省くが、この音や振動は、通常、仮想物体に切断ツール２００が接触していることをユーザに通知するために用いられる。
【００１７】
音提示部２０１は、ユーザに音を提示するためのスピーカーやその駆動回路である。尚、音の提示を簡易的に実施するのであればブザーのような物でも良い。本実施形態における音提示部２０１は、切断ツール２００と現実物体との衝突を警告するために使用される。尚、入力に対する応答に使用するなど、その他の目的に使用してもよい。振動提示部２０２は、ユーザに何らかの触覚を振動によって提示するための振動モーターやその駆動回路である。具体的に、振動モーターは、形状に偏りがある重りをモーターの軸に取り付け、それを回転させることで振動を作り出す偏心モーターである。尚、圧電素子やリニアバイブレータなどを用いて振動を生成してもよい。本実施形態においては、切断ツール２００と現実物体との衝突を警告するために使用する。尚、仮想物体へ接触した際の触感を提示するために使用するなど、その他の目的に使用してもよい。入力部（断面固定ボタン）２０３は、本システムの動作モードを切り替えるためのスイッチである。本実施形態においては、切断ツール２００を用いて仮想物体を切断した際の切断面を固定させるか否かの切り替えに使用する。具体的には、切断ツール２００によって仮想物体が切断された状態において入力部２０３が押下されると、仮想物体から切断ツール２００が離れたとしても、入力部２０３が押下されたときの断面の表示が維持される。尚、処理の開始や処理の停止等、様々な動作の切り替えに使用してもよい。
【００１８】
現実空間測定部４００は、現実空間の３Ｄモデルを生成する。本実施形態においては、測距用レーザーを用いて得られる距離データを基に３Ｄモデルを生成する。尚、３Ｄモデルの生成方法は、測距用レーザーを用いる方法に限定されない。例えば、複数のカメラからの撮像データを基に３Ｄモデルを生成してもよい。
【００１９】
入力装置５００は、キーボードやマウスなど、ユーザが指示入力を行うための装置である。
【００２０】
情報処理装置１００は、位置姿勢取得部１０１と、衝突予測部１０２と、現実空間３Ｄモデル記憶部１０３と、衝突判定部１０４と、警告表示描画部１０５と、接触判定部１０６と、を有する。さらに、情報処理装置１００は、仮想物体データベース１０７と、接触部位算出部１０８と、仮想物体描画部１０９と、合成部１１０と、閾値設定部１１１と、警告制御部１１２と、を有する。これらの各機能部は、ＣＰＵ１９１が、ＲＯＭ１９２に格納されたプログラムをＲＡＭ１９３に展開し、後述する各フローチャートに従った処理を実行することによって実現されている。尚、ＣＰＵ１９１を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
【００２１】
位置姿勢取得部１０１は、撮像部３０１から取り込んだ画像に基づいて、現実空間における撮像部３０１の位置姿勢（即ち、ＨＭＤ３００の位置姿勢）と、切断ツール２００の位置姿勢と、を推定する。本実施形態においては、撮像部３０１の位置姿勢をユーザの視点の位置姿勢とする。撮像部３０１の位置姿勢の算出は、現実空間に配置されたマーカを撮像して得られる画像に基づいて行われる。切断ツール２００の位置姿勢は、以下のように推定する。まず、切断ツール２００にマーカを貼りつけておき、そのマーカを撮像部３０１によって撮像する。撮像によって得られた画像に基づいて、ユーザの視点に対する切断ツール２００の相対的な位置姿勢を推定する。さらに、ユーザの視点に対する切断ツール２００の相対的な位置姿勢と撮像部３０１の位置姿勢とに基づいて、現実空間における切断ツール２００の位置姿勢を算出する。これにより、ユーザが把持した切断ツール２００を動かした場合でも、切断ツール２００の位置姿勢を算出することが可能となる。尚、仮想物体５０１は予め設定された位置に基づいて表示すれば良いが、切断ツール２００と仮想物体５０１とのインタラクションに応じて、あるいは、仮想物体５０１が可動物体である場合はその動きに応じて位置姿勢を計算により変更してもよい。尚、インタラクションは、切断ツール２００と仮想物体５０１とが接触又は重なり合うことを意味する。以下、インタラクションについての処理をインタラクション処理と呼ぶ。
【００２２】
また、ユーザの視点の位置姿勢や仮想物体の位置姿勢を取得する方法はこれに限定されない。例えば、切断ツール２００に三次元の位置姿勢を計測するモーションセンサを付設または内蔵させてもよい。市販のモーションキャプチャシステムを利用して撮像部３０１に対する現実物体の位置姿勢を計測することによって、仮想物体の位置姿勢を求めることも可能である。
【００２３】
衝突予測部１０２は、現実空間測定部４００により取り込んだ現実空間の３Ｄモデルと、切断ツール２００の位置姿勢及び形状と、に基づいて、現実物体と切断ツール２００との衝突の有無を仮想空間上で予測する。具体的には、現実物体と切断ツール２００との衝突予測は、以下の手順で行う。まず、現実空間の３Ｄモデルに基づいて、三角形要素を組み合わせることによって仮想空間を生成する。次に、切断ツール２００の位置姿勢から三角形要素を組み合わせることによって、仮想空間における仮想物体としての切断ツール２００を生成する。過去の切断ツール２００の位置姿勢に関する情報と現在の位置姿勢に関する情報との差分に基づいて、切断ツール２００の軌道、速度及び加速度を求める。尚、過去の切断ツール２００の位置姿勢に関する情報としては、この後の処理によって所定時間ごとに求められる切断ツール２００の位置姿勢を保持しておいて用いる。求めた切断ツール２００の軌道、速度及び加速度に基づいて、所定時間（例えば、０．１秒）後の切断ツール２００の位置姿勢を求める。三角形要素を組み合わせることによって仮想空間における仮想物体としての切断ツール２００を生成する。生成された仮想空間における仮想物体と所定時間後の切断ツール２００とから三角形要素を一つずつ取り出し、その三角形要素同士が交差しているか否かを判定する。この判定を全ての三角形要素の組み合わせに対して行い、一つでも交差している場合は現実物体と切断ツール２００とが所定時間後に衝突すると判定する。衝突すると判定した場合には、衝突するときの時間（衝突予測時間）と、仮想空間における衝突予測箇所と、衝突の衝撃に関するパラメータと、を記憶する。本実施形態における衝突の衝撃に関するパラメータは、衝突するときの予測速度（衝突予測速度）である。衝突しないと判定した場合には、さらに所定時間（例えば、０．１秒）後に関して、同様の処理を行う。これを、規定時間（例えば、０．５秒）後まで行っても衝突しないと判定した場合は、衝突しないと判定する。尚、衝突予測時間や衝突予測速度を求める方法は、上記方法に限るものではなく、公知の各種シミュレーション技法を用いても良い。尚、衝突の衝撃に関するパラメータは衝突予測速度に限定されず、衝突する際のツールの移動方向などでもよい。また、衝突予測速度や移動方向に加えて、予め保持されているツールの重さや形状、材質などを取得してパラメータとして用いてもよい。
【００２４】
現実空間３Ｄモデル記憶部１０３は、現実空間測定部４００の測定結果に基づいて、現実空間の３Ｄモデルを記憶しておく記憶部である。本実施形態においては、最初に現実空間の３Ｄモデルを生成して記憶しておき、それを使い回す。尚、定期的に現実空間の３Ｄモデルを取り込んで最新のデータに更新することも可能である。
【００２５】
衝突判定部１０４は、衝突予測部１０２において取得した衝突予測時間と衝撃に関するパラメータとに基づいて、衝突がツール又は現実物体にダメージを与えるか否かを判定し、判定結果を警告制御部１１２に送る。衝突予測時間が所定時間（例えば、０．５秒）より大きければ、予測された衝突はまだ先の事象であり、衝突の確実性に欠けるため警告は行わないと判定する。また、衝突予測速度が遅い場合、即ちゆっくり操作ツールと現実物体とが衝突する場合は、衝突によるダメージが少ないため警告は行わないと判定する。ダメージの有無は、現実物体としての切断ツール２００の形状や材質等に応じて変わるため、本実施形態においては、ユーザが衝突予測速度の閾値を入力できるようにする。閾値の設定は、閾値設定部１１１が行う。閾値設定部１１１は、情報処理装置１００に接続されたディスプレイなどの表示装置にユーザインタフェース（ＵＩ）を含む画面を表示させ、入力装置５００を用いて入力されたユーザからの閾値に関する指示を受け付ける。ユーザからの指示入力に基づいて、閾値の設定を行う。尚、入力装置には、タッチパネルとディスプレイとが一体化したタッチパネルディスプレイを用いてもよい。尚、衝突の衝撃に関するパラメータが移動方向の場合は、移動方向が所定の移動方向である場合に、ダメージが大きいとして警告を行うと判定する。
【００２６】
警告制御部１１２は、衝突判定部１０４における判定結果に応じて、ユーザに対する警告の提示を制御する。具体的には、警告制御部１１２は、衝突判定部１０４による判定結果が警告を行うべきであるという判定結果であった場合は、ツール制御部１１３に警告を提示させるための情報を出力する。ツール制御部１１３は、警告制御部１１２から出力される情報に基づいて、切断ツール２００における音提示部２０１に音を出力させ、振動提示部２０２に振動を生成させる。さらに、警告制御部１１２は、警告表示描画部１０５に警告表示を描画させる。
【００２７】
警告表示描画部１０５は、衝突判定部１０４において警告すべきと判定された場合に、衝突予測部１０２において記憶された衝突予測箇所を、位置姿勢取得部１０１において取得された位置姿勢に基づいて設定された投影面に投影する。さらに、図６に示すように、投影された衝突予測箇所を略中心にして警告表示６０３を描画する。尚、警告表示は、表示の背景が見えるように、光を透過する半透明な表示とする。
【００２８】
接触判定部１０６は、仮想物体の位置姿勢及び形状に基づいて、複数の仮想物体同士の接触の有無を判定する。仮想物体同士の接触は、例えば、仮想物体５０１と切断ツール２００との接触である。２つの仮想物体同士の接触判定は、以下の手順で行う。ここで、仮想物体は三角形要素を組み合わせることによって生成されているものとする。まず、それぞれの仮想物体から三角形要素を一つずつ取り出し、その三角形要素同士が交差しているか否かを判定する。これを全ての三角形要素の組み合わせに対して行い、一つでも交差している場合は仮想物体同士が接触していると判定する。さらに、この処理を全ての仮想物体の組み合わせに対して行う。
【００２９】
しかしながら、接触判定の方法はこれに限るものではない。例えば、仮想物体５０１の一面を有限あるいは無限に延伸し、延伸した面と切断ツール２００の三角形要素とが交差する際に、仮想物体５０１と切断ツール２００とが接触していると判定してもよい。また、例えば、仮想物体５０１の周囲に仮想的なバウンダリーボックスを設け、バウンダリーボックスと切断ツール２００とが交差した際に、仮想物体５０１と切断ツール２００とが接触していると判定してもよい。さらに、このような接触状態の判定に代えて、所定の近接した位置関係であるか否かを判定してもよい。例えば、仮想物体５０１と切断ツール２００との距離が閾値未満であることを判定して、後述する接触した場合の処理と同様の処理を行うようにしてもよい。
【００３０】
仮想物体データベース１０７は、仮想物体の３Ｄモデルを保持するデータベースである。仮想物体の３Ｄモデルには、仮想物体５０１や切断ツール２００が含まれる。仮想物体の３Ｄモデルは、例えば、仮想物体の形状、表示色、初期位置姿勢を含んでいる。本実施形態においては、図７（ａ）に示すような切断ツール２００を用いて、仮想物体５０１を切断する場合を例にとって説明する。
【００３１】
接触部位算出部１０８は、接触判定部１０６において接触していると判定された仮想物体に基づいて、接触部位を算出する。本実施形態においては、交差している三角形要素の集合と、三角形要素同士の交差における交線の集合と、を接触部位として算出する。接触部位算出部１０８は、算出した交線の集合を接触部位情報として出力する。
【００３２】
仮想物体描画部１０９は、接触部位と仮想物体５０１及び切断ツール２００とを描画した仮想空間の画像を生成する。具体的には、仮想物体データベース１０７に保存されているモデルデータや接触部位算出部１０８において算出された接触部位情報に基づいて、仮想空間の画像を生成する。まず、仮想空間の画像を生成するための仮想視点の位置姿勢を位置姿勢取得部１０１から取得する。仮想視点の位置姿勢は、基準とする世界座標系における撮像部３０１の位置姿勢情報を入力する。また、仮想物体５０１の三次元の頂点位置及び切断ツール２００の三次元の頂点位置は、位置姿勢取得部１０１において取得された位置姿勢に基づいて更新される。接触部位は、仮想物体５０１の三次元の頂点位置及び切断ツール２００の三次元の頂点位置の更新に応じて更新される。更新された仮想物体の三次元の頂点と接触部位とは、仮想視点に基づいて設定された投影面に投影される。投影後の三角形要素及び線分の描画処理は、一般的な三次元画像の生成における描画処理と同じであるため詳細な説明は省略する。
【００３３】
本実施形態においては、仮想物体５０１と切断ツール２００とが接触した際、仮想物体５０１が切断ツール２００の刃２０５に平行な断面５０２が生成される。したがって、接触判定部１０６において接触していると判定されると、接触部位算出部１０８において接触部位が算出される。算出された接触部位に関する情報に基づいて、仮想物体描画部１０９が演算を行う。仮想物体データベース１０７に保存された切断ツール２００及び仮想物体５０１のモデルデータを呼び出す。さらに、接触部位情報が示す接触部位を含む切断ツール２００の刃２０５に平行な断面において切断した仮想物体５０１及び切断ツール２００を表示させる。
【００３４】
合成部１１０は、撮像部３０１から取り込んだ現実空間の画像と、警告表示描画部１０５において描画された警告表示と、仮想物体描画部１０９において描画された仮想空間の画像と、を合成する。合成処理は、撮像部３０１を用いた撮像により得られた現実空間の実写画像の上に仮想空間の画像を描画することにより行う。すなわち、仮想物体５０１に対応する領域及び切断ツール２００に対応する領域以外の領域は、現実空間画像の画素が表示される合成画像となる。尚、仮想空間の画像を半透明にして、背景の現実空間の画像が透けて見えるようにしてもよい。表示部３０２は、合成部１１０において描画した合成画像を複合現実画像としてユーザに提示する。
【００３５】
＜警告表示＞
図６は本実施形態における操作ツールと現実物体との衝突に対する警告表示の例を示す図である。図６（ａ）は撮像部３０１を用いた撮像により得られた撮像画像の例である。図６（ａ）の撮像画像には、現実物体６０１が含まれており、衝突予測部１０２において予測された衝突予測箇所が衝突予測箇所６０２である。衝突判定部１０４において警告すべきと判定された場合、衝突予測箇所６０２を、位置姿勢取得部１０１において取得された位置姿勢に基づいて設定された投影面に投影する。さらに、警告表示描画部１０５において、投影された衝突予測箇所を略中心にして半透明な警告表示６０３を投影面に描画する。警告表示描画部１０５において描画する警告表示の例として、３種類の警告表示を図６（ｂ）〜図６（ｄ）に示す。
【００３６】
図６（ｂ）は、撮像部３０１から取り込んだ現実空間の画像に、円形の警告表示６０３ｂを重畳した複合現実画像を示した図である。円形の警告表示６０３ｂは、大凡どの辺りに衝突しそうかということが判る程度の警告表示である。円形の警告表示６０３ｂはあまり警告表示を強調したくない場合などに好適である。表示の色も黒色や灰色などの暗い色にすることにより、突然表示される警告に対するユーザの驚きを軽減することが可能となる。
【００３７】
図６（ｃ）は、撮像部３０１から取り込んだ現実空間の画像に、星形の警告表示６０３ｃを重畳した複合現実画像を示した図である。星形の警告表示６０３ｃは、大凡どの辺りに衝突しそうかということが判る程度の警告表示である。星形の警告表示６０３ｃは、円形より警告が強調されるため、警告表示を強調したい場合などに好適である。表示の色も赤色や黄色などの明るい色にすることにより、突然表示される警告に対するユーザの驚きを増強することが可能となる。
【００３８】
図６（ｄ）は、撮像部３０１から取り込んだ現実空間の画像に、中心部の表示を抜いた放射線状の警告表示６０３ｄを重畳した複合現実画像を示した図である。中心部の表示を抜いた放射線状の警告表示６０３ｄは、衝突しそうな箇所が明確に判る警告表示である。中心部の表示を抜いた放射線状の警告表示６０３ｄは、星形より警告が強調されるため、警告表示をより強調したい場合などに好適である。表示の色も明るい色にすることにより、突然表示される警告に対するユーザの驚きを増強し、どこに衝突しそうかをピンポイントに提示することが可能となる。
【００３９】
尚、図６（ｂ）、図６（ｃ）、図６（ｄ）の各警告表示は、常にいずれか一種類を表示するようにしても良いし、衝突予測部１０２において予測した衝突予測時間、衝突予測速度、衝突予測箇所等に応じて段階的に変えて表示しても良い。例えば、衝突予測時間が０．５秒から０．４秒の間は警告表示６０３ｂを、０．４秒から０．２秒の間は警告表示６０３ｃを、０．２秒以下の場合は警告表示６０３ｄを描画する等、段階的に警告表示を変更するようにしても良い。衝突予測速度、衝突予測箇所等に対しても同様に、段階的に警告表示を変更するようにしても良い。
【００４０】
＜仮想物体の断面の生成方法＞
図７は本実施形態における仮想物体の断面の生成方法を示す模式図である。図７（ａ）において、仮想空間における仮想物体５０１と仮想物体としての切断ツール２００とを示す。仮想物体としての切断ツール２００は、現実空間においてユーザが操作する切断ツール２００の位置姿勢に対応して位置姿勢を逐次変更できる。ユーザは、切断ツール２００を用いて仮想物体５０１の任意の位置を指定し、断面５０２を生成することが可能である。切断ツール２００には、刃２０５が備わっており、この刃２０５の方向に仮想物体５０１を切断可能である。ユーザが操作する切断ツール２００には、断面の固定指示を行うための断面固定ボタン２０３を設けている。本実施形態における断面固定ボタン２０３は断面固定解除ボタンを兼ねており、断面固定ボタン２０３を押下すると、押下した時点の断面を固定して表示できる断面固定モードとなる。再度断面固定ボタン２０３を押下すると断面の固定が解除される断面非固定モードとなる。尚、断面固定ボタン２０３と断面固定解除ボタンとを別に設けてもよい。
【００４１】
図７（ｂ）は、仮想物体５０１が切断ツール２００によって切断された様子を示している。図７（ｂ）においては、刃２０５が仮想物体５０１に接触し、刃２０５に平行な断面５０２が生成されている。尚、断面５０２を仮想物体５０１の表面と識別可能な表示態様で表示してもよい。具体的には、断面を物体の表面と異なる色で着色するようにしてもよい。これにより、ユーザはより断面を見やすくなる。切断ツール２００によって切断された仮想物体５０１は、断面固定ボタン２０３を押下して断面固定モードとすることにより、切断ツール２００を離しても図７（ｃ）に示すような切断された仮想物体５０１の表示を維持する。
【００４２】
＜ＭＲシステムにおける処理＞
次に、図２及び図３のフローチャートを用いて、本実施形態における処理の流れについて説明する。図２は、本実施形態におけるＭＲシステムの処理を示すフローチャートである。図３は、インタラクション処理を示すフローチャートである。以下、各ステップ（工程）は符号の前にＳをつけて表す。
【００４３】
Ｓ７０１において、閾値設定部１１１は、衝突予測速度の閾値をユーザに入力させ、ユーザの入力に基づいて衝突予測速度の閾値を設定する。尚、予め保持していた値を閾値として設定してもよい。Ｓ７０２において、現実空間測定部４００は、現実空間を測定し、測定結果を用いて現実空間を３Ｄモデル化する。３Ｄモデル化した現実空間情報を、現実空間３Ｄモデル記憶部１０３に書き込む。Ｓ７０３において、仮想物体の３Ｄモデルを保持している仮想物体データベース１０７から、仮想物体５０１や切断ツール２００の形状や表示色、初期位置姿勢等を含んだ３Ｄモデルを読み込む。
【００４４】
Ｓ７０４において、撮像部３０１は、現実空間を撮像し、現実空間の画像を得る。情報処理装置１００は、撮像部３０１から撮像によって得られた画像を取り込み、位置姿勢取得部１０１と合成部１１０とに送る。Ｓ７０５において、位置姿勢取得部１０１は、撮像部３０１から取り込んだ画像に基づいて、現実空間の撮像部３０１の位置姿勢（即ち、ＨＭＤ３００の位置姿勢）と、切断ツール２００の位置姿勢と、仮想物体の位置姿勢と、を推定する。Ｓ７０６において、衝突予測部１０２は、現実空間３Ｄモデル記憶部１０３から読み出した現実空間３Ｄモデルと、切断ツール２００の位置姿勢及び形状と、に基づいて、現実物体と切断ツール２００との衝突の有無を仮想空間上で予測する。また、衝突すると判定した場合には、そのときの時間（衝突予測時間）と、そのときの予測速度（衝突予測速度）と、仮想化した現実空間の衝突予測箇所と、を記憶する。
【００４５】
Ｓ７０７において、衝突判定部１０４は、衝突予測部１０２において求めた衝突までの衝突予測時間が閾値（例えば、０．５秒）以下であるか否かを判定する。衝突予測時間が閾値より大きい場合は、インタラクション処理を実行するため、Ｓ７１０に移行する。衝突予測時間が閾値以下の場合は、Ｓ７０８に移行する。Ｓ７０８において、衝突判定部１０４は、衝突予測部１０２において求めた衝突時の衝突予測速度がＳ７０１において設定した閾値以下であるか否かを判定する。衝突予測速度が閾値以下の場合は、インタラクション処理を実行するため、Ｓ７１０に移行する。衝突予測速度が閾値より大きい場合は、Ｓ７０９に移行する。
【００４６】
Ｓ７０９において、警告制御部１１２は、警告表示描画部１０５に警告表示を描画するよう指示する。指示を受けた警告表示描画部１０５は、衝突予測部１０２において記憶された衝突予測箇所を、位置姿勢取得部１０１において取得された位置姿勢に基づいて設定された投影面に投影する。警告表示描画部１０５は、さらに、図６に示すように、投影された衝突予測箇所を略中心にして半透明な警告表示６０３を描画する。また、警告制御部１１２は、警告表示６０３の描画と同時にツール制御部１１３を制御し、音提示部２０１に警告用の音を出力させ、振動提示部２０２に警告用の振動を生成させる。ここで、警告用の音としては、サイレン等のような音でも良く、「衝突します」や「それは現実物体です」等の音声で警告を提示しても良い。また、警告用の振動としては、振動強度の大きな振動や警告を想定するような触覚を提示しても良い。Ｓ７１０において、インタラクション処理が実行される。インタラクション処理の詳細は後述する。
【００４７】
Ｓ７１１において、合成部１１０は、撮像部３０１から取り込んだ現実空間の画像と、警告表示描画部１０５において描画された警告表示と、仮想物体描画部１０９において描画された仮想空間の画像と、を合成する。さらに、合成部１１０は、合成された複合現実感画像をＨＭＤ３００に内蔵されている表示部３０２に表示させる。Ｓ７１２において、情報処理装置１００は、ユーザから終了コマンドが送信されたか否かを判定し、終了コマンドが送信されていないと判定された場合はＳ７０４に戻って処理を行い、終了コマンドが送信されたと判定された場合は処理を終了する。
【００４８】
＜インタラクション処理＞
以下において、図３を用いてインタラクション処理の流れを説明する。Ｓ８０１において、ツール制御部１１３は、動作モードが断面固定モードになっているか、断面非固定モードになっているかを判定する。ここで、動作モードの初期モードは、断面非固定モードとする。動作モードが断面固定モードであった場合、Ｓ８０２に移行する。動作モードが断面非固定モードであった場合、Ｓ８０４に移行する。Ｓ８０２において、ツール制御部１１３は、断面固定ボタン２０３が押されたか否かを判定する。断面固定ボタン２０３が押された場合は、Ｓ８０３において動作モードを断面非固定モードに変更し、Ｓ８０４に移行する。断面固定ボタン２０３が押されていない場合は、Ｓ８０７に移行する。
【００４９】
Ｓ８０４において、接触判定部１０６は、仮想物体の位置姿勢及び形状に基づいて、仮想物体５０１と切断ツール２００との接触の有無を判定する。仮想物体５０１と切断ツール２００とが接触していると判定した場合は、Ｓ８０５に移行する。仮想物体５０１と切断ツール２００とが接触していないと判定した場合は、Ｓ８０９に移行する。Ｓ８０５において、ツール制御部１１３は、断面固定ボタン２０３が押されたか否かを判定する。断面固定ボタン２０３が押された場合は、Ｓ８０６において動作モードを断面固定モードに変更し、Ｓ８０７に移行する。断面固定ボタン２０３が押されていない場合は、Ｓ８０８に移行する。
【００５０】
Ｓ８０７において、仮想物体描画部１０９は、接触部位算出部１０８が算出した接触部位に基づいて、図７（ｃ）に示すような固定された断面５０２で切断された仮想物体５０１、及び他の仮想物体を仮想空間の画像として描画する。Ｓ８０８において、仮想物体描画部１０９は、接触部位と位置姿勢とに基づいて、図７（ｂ）に示すような接触位置で切断された仮想物体５０１、及び他の仮想物体を仮想空間の画像として描画する。Ｓ８０９において、仮想物体描画部１０９は、位置姿勢取得部１０１において取得された位置姿勢に基づいて、未切断の仮想物体５０１、及び他の仮想物体を仮想空間の画像として描画する。
【００５１】
これら仮想空間画像の描画を行った後、Ｓ７１１における実写画像と仮想画像との合成へ処理を移行する。
【００５２】
＜実施形態１の効果＞
以上説明したように、本実施形態における画像処理装置１は、操作ツールの位置情報と、現実物体の位置情報と、に基づいて、ツールと現実物体との衝突を予測する。操作ツールが現実物体と衝突すると予測された場合、衝突がツール又は現実物体にダメージを与えるか否かを判定する。衝突がツール又は現実物体にダメージを与えると判定された場合、ユーザに対して警告するための制御を行う。これにより、現実物体とツールとの衝突が予測された場合に提示される警告によって、ユーザは衝突の危険があることに気づき、衝突を回避することができる。よって、ユーザが把持する現実物体又はユーザの体の一部とその他の現実物体との衝突による、ユーザの体の一部や現実物体へのダメージを低減することができる。また、衝突がツール又は現実物体にダメージを与えるか否かを判定することによって、ツール又は現実物体にダメージを与えない衝突が予測された場合に不要な警告を行わないため、頻繁な警告によってユーザが感じる煩わしさを低減することができる。
【００５３】
＜変形例＞
尚、本実施形態においては、ユーザが把持する現実物体を切断ツール２００として説明しているが、これに限るものでない。例えば、長さを計測するための仮想定規や仮想ねじを締めるための仮想レンチなどの操作ツールであってもよい。また、ユーザが把持する現実物体であれば、仮想物体に操作を行う操作ツールでなくてもよい。またツールでなくでも、ユーザの手とユーザの周囲にある物体との衝突に対する警告を行う形態であってもよい。さらに、モーションキャプチャシステムのようにユーザの体の各部位の位置姿勢を検出できる機能を備えれば、手や足等、体の一部が現実物体に衝突することを回避することも可能となる。
【００５４】
また、本実施形態においては、ユーザが把持する切断ツール２００は、振動によってユーザに触覚を提示するハプティックデバイスである例を説明したが、これに限るものではない。ユーザに所定の力や動きを伝えることによって触覚を提示するハプティックデバイスであってもよい。
【００５５】
また、本実施形態においては、操作ツールと現実物体との衝突を予測するために位置と姿勢とを取得したが、位置姿勢取得部において物体の位置のみを取得し、取得した位置に基づいて衝突予測を行ってもよい。
【００５６】
また、本実施形態においては、現実物体の位置情報を特定する現実空間の３Ｄモデルを用いて衝突予測を行ったが、現実物体の位置情報として、各現実物体の三次元空間における座標を示す座標データを用いてもよい。この場合、例えば、現実物体に対応する座標と操作ツールに対応する座標とが重なった場合に衝突すると予測する。
【００５７】
また、本実施形態におけるＨＭＤ３００は、撮像部３０１を用いた撮像により得られた現実空間の画像に基づいて生成された複合現実感画像を表示部３０２に表示するビデオシースルー型のＨＭＤであった。しかしながら、ＨＭＤ３００は、現実空間を透過して観察することが可能な表示媒体に仮想画像を重畳して表示する光学シースルー型のＨＭＤを用いてもよい。
【００５８】
また、本実施形態においては、現実空間のモデルデータを用いて現実物体と操作ツールとが衝突するか否かを判定した。しかしながら、測距レーザーなどを用いて物体との距離を測定する機能を有する操作ツールやジャイロセンサなどのセンサを搭載した操作ツールから得られた情報を用いて、現実物体と操作ツールとが衝突するか否かを判定してもよい。
【００５９】
また、本実施形態においては、衝突判定部１０４が衝突予測時間に関する判定を行った後、衝突速度に関する判定を行ったが、どちらか少なくとも一方に関する判定を行うのであれば、判定処理は上記一例に限定されない。例えば、衝突判定部１０４は、衝突速度に関する判定のみを行ってもよいし、衝突予測時間に関する判定のみを行ってもよい。また、衝突判定部１０４は、衝突速度の判定を行った後、衝突予測時間の判定を行ってもよい。また、衝突判定部１０４は、２つの判定を同時に行い、衝突速度が閾値より大きく、かつ、衝突予測時間が閾値より小さい場合に、ユーザに対する警告を行うと判定してもよい。
【００６０】
また、本実施形態においては、ユーザに対する警告の提示を音、振動、表示の３つによって行ったが、ユーザが衝突の危険性を認識することができれば、警告の提示方法は上記一例に限定されない。例えば、警告表示のみ行ってもよい。この場合、操作ツールは音提示部２０１及び振動提示部２０２を備えている必要はない。また、音による警告のみ行う場合は、情報処理装置１００は警告表示を描画する必要はなく、操作ツールは振動提示部２０２を備えている必要はない。
【００６１】
また、本実施形態における切断ツール２００は入力部２０３を有する操作ツールであったが、操作ツールは入力部２０３を有していなくてもよい。この場合は、操作ツールが接触している仮想物体の断面は固定せず、常に上述した非断面固定モードである場合の処理を行う。
【００６２】
また、本実施形態においては、三角形要素を組み合わせることによって仮想空間における仮想物体を生成したが、要素は三角形に限らず、四角形要素など他の多角形要素であってもよい。
【００６３】
また、本実施形態においては、ＭＲを体験するユーザが把持するツールと現実物体との衝突を予測して警告する例を示したが、衝突予測及び警告を行うための制御は他の形態に応用が可能である。例えば、ユーザが把持するスマートフォンとその他の現実物体との衝突に応用できる。
【００６４】
［実施形態２］
実施形態１においては、現実空間３Ｄモデル記憶部１０３に記憶する現実空間の３Ｄモデルは、現実空間測定部４００を用いて生成される。本実施形態においては、ＨＭＤ３００に内蔵されている撮像部３０１の撮像画像を基に現実空間の３Ｄモデルを生成する。以下に、本実施形態と実施形態１との異なる部分を主に説明する。本実施形態における情報処理装置１００のハードウェア構成は、図９に示した実施形態１における情報処理装置１００のハードウェア構成と同じである。
【００６５】
＜ＭＲシステムの機能構成＞
図４は、本実施形態におけるＭＲシステムの機能構成を示すブロック図である。図４において、実施形態１におけるＭＲシステムと異なる点は、現実空間測定部４００が無くなり、代わりに３Ｄモデル生成部１２０が追加されている点である。
【００６６】
３Ｄモデル生成部１２０は、ＨＭＤ３００に内蔵されている撮像部３０１から取り込んだ左右２枚のステレオ画像及び過去に取得した撮像画像に基づいて、現実空間の３Ｄモデル化を行う。現実空間を３Ｄモデル化する方法としては、まず、撮像部３０１から取り込んだ画像に含まれるマーカ画像のパターンや位置、形状等に基づいて、撮像部３０１の現実空間における位置姿勢を位置姿勢取得部１０１において推定する。撮像部３０１の位置姿勢と撮像画像とをセットする。左右二つの視点位置からの２つの撮像画像や過去の撮像画像等、幾つかの視点からの撮像画像と位置姿勢とのセットを用いた三角測量法により、各視点位置からの各現実物体の距離を算出する。これら幾つかの視点からの距離情報から、各現実物体の現実空間の位置情報を求める。それら各現実物体の位置情報を基に、現実空間の３Ｄモデルを生成し、現実空間３Ｄモデル記憶部１０３へ書き込む。
【００６７】
本実施形態においては、最初に周囲の現実空間を撮像部３０１を用いて撮像しながら３Ｄモデルを更新することにより、３Ｄモデル化した現実空間の範囲や精度を向上させ、充分な３Ｄモデルデータを生成してから処理を開始する。また、処理開始後も撮像部３０１を用いた撮像によって得られる現実空間の撮像画像から３Ｄモデルを更新しているため、現実物体が移動しているような状況にも対応することが可能である。尚、移動している現実物体に関してもその後の位置予測を行うことによって、その情報を基に衝突予測を行った方が衝突予測の予測精度を向上させることが可能となる。また、移動する現実物体が存在しないような状況の場合には、処理開始後の３Ｄモデルの更新は行わないようにすることも可能である。
【００６８】
＜ＭＲシステムにおける処理＞
図５は、本実施形態におけるＭＲシステムの処理を示すフローチャートである。尚、Ｓ７０１〜Ｓ７１２は上述の実施形態１と同様の処理である。
【００６９】
Ｓ９０１において、情報処理装置１００は、複合現実感を体験しているユーザの周囲の現実空間を撮像部３０１を用いて撮像し、撮像によって得られた画像を取り込む。ＨＭＤ３００を装着したユーザの周囲の現実空間を撮像するためには、表示部３０２や操作ツールなどを用いてユーザに指示を出し、周囲を見回させればよい。Ｓ９０２において、位置姿勢取得部１０１は、撮像部３０１から取り込んだ画像に基づいて、現実空間の撮像部３０１の位置姿勢を推定する。また、３Ｄモデル生成部１２０は、左右二つの視点位置からの２つの撮像画像や過去の撮像画像等、幾つかの視点からの撮像画像から三角測量法により、各視点位置からの各現実物体の距離を算出する。さらに、これら幾つかの視点からの距離情報から、各現実物体の現実空間の位置情報を求め、それら各現実物体の位置情報を基に、現実空間の３Ｄモデルを生成する。Ｓ９０３において、生成した現実空間の３Ｄモデルを現実空間３Ｄモデル記憶部１０３に書き込み、３Ｄモデルを更新する。
【００７０】
Ｓ９０４において、３Ｄモデル生成部１２０は、充分な３Ｄモデルを生成するための撮像データを取得したか否かを判定する。充分な撮像データを取得した場合はＳ７０４に移行する。充分な撮像データを取得していない場合はＳ９０１に戻る。尚、充分な３Ｄモデルを生成するための撮像データを取得した場合は、表示部３０２や操作ツールなどを用いてユーザに通知するようにしてもよい。
【００７１】
Ｓ９０５において、３Ｄモデル生成部１２０は、位置姿勢取得部１０１において推定した左右二つの視点位置からの２つの撮像画像から三角測量法により、各視点位置からの各現実物体の距離を算出する。さらに、これら二つの視点からの距離情報に基づいて各現実物体の現実空間の位置情報を求め、それら各現実物体の位置情報を基に、現実空間の３Ｄモデルを生成する。Ｓ９０６において、３Ｄモデル生成部１２０は、現実空間３Ｄモデル記憶部１０３から直前の３Ｄモデルを読み出し、Ｓ９０５において新たに生成した現実空間の３Ｄモデルとの差分を現実空間３Ｄモデル記憶部１０３に書き込み、３Ｄモデルを更新する。
【００７２】
＜実施形態２の効果＞
以上説明したように、本実施形態における画像処理装置１は、現実空間測定部４００を利用せずに得られた現実空間のモデルデータを用いて、現実物体とツールとの衝突の予測を行うことができる。よって、現実空間測定部４００を利用できない場合であっても、ユーザが把持する現実物体又はユーザの体の一部とその他の現実物体との衝突による、ユーザの体の一部や現実物体へのダメージを低減することができる。
【００７３】
［その他の実施形態］
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、コンピュータによって読み取り可能なプログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００７４】
更に、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【００７５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【００７６】
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７７】
１００  情報処理装置
１０１  位置姿勢取得部
１０２  衝突予測部
１０３  現実空間３Ｄモデル記憶部
１０４  衝突判定部
１１２  警告制御部
【図１】
2019070909.tif 000003
【図２】
2019070909.tif 000004
【図３】
2019070909.tif 000005
【図４】
2019070909.tif 000006
【図５】
2019070909.tif 000007
【図６】
2019070909.tif 000008
【図７】
2019070909.tif 000009
【図８】
2019070909.tif 000010
【図９】
2019070909.tif 000011