(57)【要約】【課題】仮想物体が重畳される現実物体を掴みやすく、且つ現実物体を掴んだ後は仮想物体を観察しやすい画像をユーザに提示する。【解決手段】情報処理装置４０は、ユーザが現実物体５０を掴んでいるか否かを判定する。そして、情報処理装置４０は、ユーザが現実物体５０を掴んでいないと判定された場合、現実物体５０の位置姿勢に対応する位置姿勢で現実物体５０に重畳させる仮想物体６０の画像を、現実物体５０の形状と仮想物体６０の形状とを認識可能な第一の描画形態で表示部３１に表示させる。一方、情報処理装置４０は、ユーザが現実物体５０を掴んでいると判定された場合、仮想物体６０の画像を、仮想物体６０を観察可能な第二の描画形態で表示部３１に表示させる。【選択図】      図１
2018092313.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが現実物体を掴んでいるか否かを判定する判定手段と、
前記判定手段によりユーザが現実物体を掴んでいないと判定された場合、前記現実物体の位置姿勢に対応する位置姿勢で前記現実物体に重畳させる仮想物体の画像を、前記現実物体の形状と前記仮想物体の形状とを認識可能な第一の描画形態で表示部に表示させ、
前記判定手段によりユーザが現実物体を掴んでいると判定された場合、前記仮想物体の画像を、前記仮想物体を観察可能な第二の描画形態で前記表示部に表示させる表示制御手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記第一の描画形態は、
前記仮想物体を半透明で描画する形態、前記仮想物体の輪郭のみを描画する形態、前記仮想物体と前記現実物体とが重なる部分を予め決められた色またはパターンで描画する形態、および前記仮想物体のうち前記現実物体と重ならない部分のみを描画する形態の少なくとも１つであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第二の描画形態は、
前記仮想物体を不透明で描画する形態であることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記判定手段は、
前記ユーザの体の部位と前記現実物体とが接触しているか否かを判定し、接触している場合にユーザが現実物体を掴んでいると判定することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記判定手段は、
前記現実物体が移動しているか否かを判定し、移動している場合にユーザが現実物体を掴んでいると判定することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項６】
前記判定手段は、
前記ユーザの体の部位と前記現実物体とが接触しているか否かを判定すると共に、前記現実物体が移動しているか否かを判定し、接触しており且つ移動している場合に、ユーザが現実物体を掴んでいると判定することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項７】
現実空間の画像を取得する第一の取得手段と、
前記現実物体の形状をモデル化した第一の形状モデルを取得する第二の取得手段と、
前記ユーザの体の部位の形状をモデル化した第二の形状モデルを取得する第三の取得手段と、
前記第一の形状モデルおよび前記第二の形状モデルを、前記現実空間の画像をもとに検出された前記現実物体および前記ユーザの体の部位の位置姿勢にそれぞれ対応させて仮想空間上に配置する配置手段と、をさらに備え、
前記判定手段は、前記配置手段により配置された第一の形状モデルと第二の形状モデルとの間の接触判定を行うことで、前記ユーザの体の部位と前記現実物体とが接触しているか否かを判定することを特徴とする請求項４または６に記載の情報処理装置。
【請求項８】
現実空間の画像を取得する第一の取得手段と、
前記第一の取得手段により取得された現実空間の画像をもとに、前記現実物体と前記ユーザの体の部位との距離を算出する算出手段と、をさらに備え、
前記判定手段は、
前記算出手段により算出された距離が予め定められた閾値未満である場合、前記ユーザの体の部位と前記現実物体とが接触していると判定することを特徴とする請求項４または６に記載の情報処理装置。
【請求項９】
時系列上連続して撮像された現実空間の画像を複数取得する第四の取得手段と、
前記第四の取得手段により取得された現実空間の画像をもとに、前記現実物体の位置姿勢を検出する第一の検出手段と、をさらに備え、
前記判定手段は、前記第一の検出手段により検出された前記現実物体の位置姿勢が変化している場合に、前記現実物体が移動していると判定することを特徴とする請求項５または６に記載の情報処理装置。
【請求項１０】
時系列上連続して撮像された現実空間の画像を複数取得する第四の取得手段と、
前記第四の取得手段により取得された現実空間の画像をもとに、前記現実物体の移動速度を検出する第二の検出手段と、をさらに備え、
前記判定手段は、前記第二の検出手段により検出された前記現実物体の移動速度が予め定められた閾値以上である場合に、前記現実物体が移動していると判定することを特徴とする請求項５または６に記載の情報処理装置。
【請求項１１】
前記表示制御手段は、
前記判定手段による判定結果が変化してから一定時間後に前記仮想物体の画像の描画形態を切替えることを特徴とする請求項１から１０のいずれか１項に記載の情報処理装置。
【請求項１２】
ユーザが現実物体を掴んでいるか否かを判定するステップと、
前記ユーザが前記現実物体を掴んでいないと判定された場合、前記現実物体の位置姿勢に対応する位置姿勢で前記現実物体に重畳させる仮想物体の画像を、前記現実物体の形状と前記仮想物体の形状とを認識可能な第一の描画形態で表示部に表示させ、
前記ユーザが前記現実物体を掴んでいると判定された場合、前記仮想物体の画像を、前記仮想物体を観察可能な第二の描画形態で前記表示部に表示させるステップと、
を含むことを特徴とする情報処理方法。
【請求項１３】
コンピュータを、請求項１から１１のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、設計・製造分野において、プロトタイプを用いた評価の期間短縮や費用削減が求められている。そこで、ＣＡＤ（コンピュータ支援設計）システムにおいて作成された設計データを用いて、組み立てやすさやメンテナンス性等の作業性を評価するために、複合現実感（ＭＲ：Ｍｉｘｅｄ Ｒｅａｌｉｔｙ）システムが導入されている。
ＭＲシステムを利用した評価の例として、工具を目的の部品以外に干渉させずに作業が行えるかどうかを評価するというものがある。このような評価を行うためのＭＲシステムでは、システム体験者（ユーザ）が仮想物体（例えば工具）を掴んで動かすという機能が求められる。その場合、ユーザが実際に掴んで動かせる単純な形状の現実物体を用意し、その現実物体に重畳するように仮想物体の画像を表示することで、あたかも仮想物体を掴んで動かしているような感覚をユーザに与えることができる。
【０００３】
ところが、上記のようなＭＲシステムでは、現実物体が仮想物体の画像に完全に隠蔽される場合、ユーザが仮想物体のみを観察しながら現実物体を掴もうと試みても、現実物体をうまく掴めない場合がある。例えば、現実物体として工具の持ち手部分のみを用意し、仮想物体として工具先端を含む工具全体を表示した場合、ユーザは実際に掴むことのできない工具先端部分を掴んで動かそうとしてしまう場合がある。
特許文献１には、ユーザの体の特定部位が仮想物体に接触しようとしていると判定した場合、現実物体に重ね合わせて表示する仮想物体を半透明に表示することで、現実物体の存在をユーザに知らしめる点が開示されている。また、特許文献２には、ユーザの体の部位を現実物体に近づけると仮想空間画像の透明度を上げ、ユーザの体の部位と現実物体との距離が閾値以下である時間が予め定めた時間以上となった場合に、仮想空間画像の透明度を不透明に戻す点が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１６９６２２号公報
【特許文献２】特開２００９−２５９１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１、２に記載の技術では、ユーザは、現実物体に重ねて表示された仮想物体に自身の体の特定部位を近づけない限り、現実物体の形状を把握することはできない。つまり、現実物体に重なるように仮想物体を表示した場合、ユーザからは現実物体が見えなくなるため、ユーザは現実物体を掴むための接近動作を適切に行えないおそれがある。
また、上記特許文献１に記載の技術では、ユーザが体の特定部位を仮想物体に近づけた場合、現実物体の形状を把握することができるため、現実物体の掴みやすさが向上する。しかしながら、この方式では、ユーザが現実物体を掴んだ後も現実物体が表示されたままとなるため、ユーザは仮想物体を掴んでいるという感覚を得にくくなり、没入感が損なわれる。さらに、仮想物体が半透明となるため、仮想物体の視認性が低下し、仮想物体を使った作業性の評価がしづらくなるおそれもある。
【０００６】
また、ユーザの体の部位が現実物体に接近して仮想物体を半透明で表示した後、一定時間経過後に不透明な表示に切替える方式では、ユーザが体の部位を現実物体に接近させただけで現実物体を実際に掴んでいない時点でも、仮想物体が不透明になり得る。この場合、ユーザは現実物体を掴みにくくなってしまう。
そこで、本発明は、仮想物体が重畳される現実物体を掴みやすく、且つ現実物体を掴んだ後は仮想物体を観察しやすい画像をユーザに提示することを目的としている。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る情報処理装置の一態様は、ユーザが現実物体を掴んでいるか否かを判定する判定手段と、前記判定手段によりユーザが現実物体を掴んでいないと判定された場合、前記現実物体の位置姿勢に対応する位置姿勢で前記現実物体に重畳させる仮想物体の画像を、前記現実物体の形状と前記仮想物体の形状とを認識可能な第一の描画形態で表示部に表示させ、前記判定手段によりユーザが現実物体を掴んでいると判定された場合、前記仮想物体の画像を、前記仮想物体を観察可能な第二の描画形態で前記表示部に表示させる表示制御手段と、を備えることを特徴とする情報処理装置。
【発明の効果】
【０００８】
本発明によれば、仮想物体が重畳される現実物体を掴みやすく、且つ現実物体を掴んだ後は仮想物体を観察しやすい画像をユーザに提示することができる。
【図面の簡単な説明】
【０００９】
【図１】第一の実施形態における複合現実感システムの機能構成を示す図である。
【図２】マーカおよび仮想物体の一例である。
【図３】複合現実画像の一例である。
【図４】情報処理装置のハードウェア構成の一例である。
【図５】情報処理装置の動作を示すフローチャートである。
【図６】シーン描画処理の流れを示すフローチャートである。
【図７】第二の実施形態における複合現実感システムの機能構成を示す図である。
【図８】第二の実施形態のシーン描画処理の流れを示すフローチャートである。
【図９】第三の実施形態のシーン描画処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明を実施するための形態について詳細に説明する。なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
（第一の実施形態）
図１は、本実施形態における複合現実感システム（ＭＲシステム）１０の構成例を示す図である。本実施形態におけるＭＲシステム１０は、現実空間と仮想空間とを融合した複合現実空間（ＭＲ空間）をシステム体験者（ユーザ）に提示するための画像処理システムである。本実施形態では、現実空間の画像とコンピュータグラフィックス（ＣＧ）により描画される仮想空間の画像とを合成した合成画像を表示することで、ユーザにＭＲ空間を提示する場合について説明する。
【００１１】
ＭＲシステム１０は、撮像装置２０と、表示装置３０と、情報処理装置４０と、を備える。情報処理装置４０は、撮像装置２０から取り込んだ現実空間の画像を、情報処理装置４０内において生成された仮想空間の画像と合成し、その合成画像を複合現実感画像（ＭＲ画像）として表示装置３０に出力することができる。なお、本発明は仮想空間の画像を表示させる情報処理装置に関するものであり、現実空間の画像と仮想空間の画像とを合成したＭＲ画像を表示させるＭＲシステムに限定されない。つまり、仮想空間の画像のみをユーザに提示するＶＲ（バーチャルリアリティ）システムにも適用可能である。
【００１２】
撮像装置２０は、撮像部２１を備える。撮像部２１は、時系列上連続して現実空間の画像を撮像し、撮像した現実空間の画像を情報処理装置４０に出力する。撮像部２１は、ユーザの視点位置から視線方向の現実空間を撮像可能なように互いに固定された２つのカメラからなるステレオカメラを含んで構成されていてもよい。
また、表示装置３０は、表示部３１を備える。表示部３１は、情報処理装置４０から出力されたＭＲ画像を表示する。表示部３１は、ユーザの左右の目にそれぞれ対応して配置された２つのディスプレイを含んで構成されていてもよい。この場合、ユーザの左目に対応するディスプレイには左目用のＭＲ画像が表示され、ユーザの右目に対応するディスプレイには右目用のＭＲ画像が表示される。
表示装置３０は、例えば頭部装着型表示装置（ＨＭＤ）とすることができる。ただし、表示装置３０はＨＭＤに限定されるものではなく、ハンドヘルドディスプレイ（ＨＨＤ）であってもよい。ＨＨＤは、手持ちのディスプレイである。つまり、使用者が手にとり、双眼鏡のように覗き込むことで画像を観察するディスプレイであってもよい。さらに、表示装置３０は、タブレットやスマートフォン等の表示端末であってもよい。
【００１３】
情報処理装置４０は、位置姿勢検出部４１と、手指モデル生成部４２と、シーン構築部４３と、データ保持部４４と、つかみ判定部４５と、シーン描画部４６と、を備える。
位置姿勢検出部４１は、現実空間の物体（現実物体）の位置姿勢を検出する。具体的には、位置姿勢検出部４１は、撮像装置２０により撮像された現実空間の画像から現実物体に取り付けられたマーカを抽出し、マーカの位置姿勢に基づいて現実物体の位置姿勢を検出する。マーカの例を図２（ａ）に示す。この図２（ａ）に示すように、本実施形態では、ユーザが実際に掴んで操作可能な円柱状の現実物体５０に、矩形状のマーカ５１が取り付けられている場合について説明する。情報処理装置４０は、図２（ｂ）に示す形状の仮想物体６０を、現実物体５０の位置姿勢に対応した位置姿勢で現実物体５０に重畳させるように仮想空間上に配置した画像（仮想画像）を生成し、表示装置３０の表示部３１に表示させる表示制御を行う。
【００１４】
なお、本実施形態では、画像処理により現実物体５０の位置姿勢を検出する場合について説明するが、赤外光を用いて位置姿勢を計測してもよいし、超音波を用いて位置姿勢を計測してもよいし、磁気センサを用いて位置姿勢を計測してもよい。さらに、奥行きセンサを用いて位置姿勢を計測してもよいし、機械的に位置姿勢を計測してもよい。また、本実施形態では、現実空間上における撮像装置３０に対する現実物体５０の位置姿勢を検出する例を示すが、現実空間上に定めた世界座標系に対する撮像装置３０および現実物体５０の位置姿勢をそれぞれ検出してもよい。
【００１５】
手指モデル生成部４２は、撮像装置３０により撮像された現実空間の画像から、ユーザの体の部位の領域（手指領域）を推定し、当該部位の形状をモデル化した平面または三次元の形状モデル（手指モデル）を生成する。本実施形態において、形状モデルは、対象物体の形状を複数のポリゴンにより近似したポリゴンモデルとすることができる。例えば、手指モデル生成部４２は、画像から肌色抽出を行うことで手指領域を抽出し、手指領域に合わせたポリゴンモデルを生成してもよいし、多数の手画像から手指の形状を予め学習しておき、画像から手指形状を推定してポリゴンモデルを生成してもよい。
【００１６】
シーン構築部４３は、後述するデータ保持部４４に保持されている仮想物体６０の形状モデルおよび現実物体５０の形状モデルを、位置姿勢検出部４１により検出された現実物体５０の位置姿勢に対応する位置姿勢でシーン中（仮想空間上）に配置する。さらに、シーン構築部４３は、手指モデル生成部４２により生成された手指モデルを、現実空間の画像から検出された手指領域に合わせてシーン中に配置する。このように、シーン構築部４３は、上記の各形状モデルを、現実空間上における位置姿勢にそれぞれ対応させて仮想空間上に配置する。なお、本実施形態では、シーンを描画する際に使用する仮想カメラの位置姿勢は、撮像装置２０の位置姿勢と一致しているものとする。
【００１７】
データ保持部４４は、現実物体５０の形状をモデル化した形状モデルと、現実物体５０に対するマーカ５１の取り付け位置姿勢と、現実物体５０に対応する仮想物体６０のデータとを保持する。ここで、仮想物体６０のデータは、仮想物体６０の形状をモデル化した形状モデル、色やテクスチャ、透明度の情報を保持するマテリアルデータから構成することができる。以下の説明では、仮想空間上に配置された仮想物体６０を、データ保持部４４に保持されているマテリアルデータに基づいて描画する形態を、「既定の描画形態」と呼ぶ。
【００１８】
つかみ判定部４５は、ユーザが現実物体５０を実際に掴んでいるか否かを判定する。本実施形態では、つかみ判定部４５は、ユーザの体の部位が現実物体５０に接触しているか否かを判定することで、ユーザが現実物体５０を掴んでいるか否かを判定する。
具体的には、つかみ判定部４５は、シーン構築部４３により構築されたシーン中に配置された、手指モデルと現実物体５０の形状モデルとの間の接触判定を行う。そして、接触判定の結果、手指モデルと現実物体５０の形状モデルとが接触していると判定された場合、つかみ判定部４５は、ユーザが現実物体５０を掴んでいると判定する。一方、手指モデルと現実物体５０の形状モデルとが接触していないと判定された場合、つかみ判定部４５は、ユーザが現実物体５０を掴んでいないと判定する。
【００１９】
シーン描画部４６は、シーン構築部４３により構築されたシーンを、つかみ判定部４５による判定結果に基づいて描画した仮想画像を生成する。そして、シーン描画部４６は、撮像装置２０により撮像された現実空間の画像と仮想画像とを合成し、ＭＲ画像を生成する。
図３は、シーン描画部４６により生成されるＭＲ画像の模式図の一例である。つかみ判定部４５において、ユーザが現実物体５０を掴んでいないと判定された場合、シーン描画部４６は、仮想物体６０を図３（ａ）に示す描画形態にて描画する。ここで、図３（ａ）に示す描画形態は、現実空間の画像と合成した際に、仮想物体６０の形状と仮想物体６０が重畳された現実物体５０の形状との両方が認識可能な描画形態であり、以下の説明では「半透明の描画形態」と呼ぶ。ここで、物体の形状が認識可能な状態とは、少なくとも物体の形状が判別可能であり、物体の色やテクスチャ等の視認性は低くてもよい状態をいう。半透明の描画形態の一例としては、仮想物体６０のマテリアルデータの透明度を上げて描画する方法があるが、半透明の描画形態は上記に限定されない。
【００２０】
一方、つかみ判定部４５において、ユーザが現実物体５０を掴んでいると判定された場合、シーン描画部４６は、仮想物体６０を図３（ｂ）に示す既定の描画形態にて描画する。この既定の描画形態は、仮想物体６０を不透明で描画する描画形態であり、現実空間の画像と合成した際に、仮想物体６０が重畳された現実物体５０の形状が仮想物体６０の画像に隠れて認識できなくなる描画形態である。つまり、既定の描画形態は、良好な視認性を有する仮想物体６０を観察可能な描画形態であり、仮想物体６０の形状のみならず、色やテクスチャ等も含めて適切に観察可能な描画形態であるといえる。また、この既定の描画形態では、ユーザの手７０があたかも仮想物体６０を掴んでいるように描画され、ユーザに良好な没入感を与えることができる。
【００２１】
図４は、情報処理装置４０のハードウェア構成の一例を示す図である。
情報処理装置４０は、ＣＰＵ４０１と、ＲＡＭ４０２と、ＲＯＭ４０３と、入力Ｉ／Ｆ４０４と、出力Ｉ／Ｆ４０５と、システムバス４０６と、を備える。
ＣＰＵ４０１は、情報処理装置４０における動作を統括的に制御するプロセッサであり、システムバス４０６を介して、各構成部（４０２〜４０５）を制御する。ＲＡＭ４０２は、ＲＯＭ４０３や不図示の外部記憶媒体からロードされたプログラムやデータを一時的に記憶するための領域を有する。さらに、ＲＡＭ４０２は、入力Ｉ／Ｆ４０４を介して外部装置から受信したデータを一時的に記憶するためのエリアを有する。また、ＲＡＭ４０２は、ＣＰＵ４０１が各処理を実行する際に用いるワークエリアも有する。
【００２２】
ＲＯＭ４０３は、制御プログラム、各種アプリケーションプログラム、データ等を記憶する。ＣＰＵ４０１は、ＲＯＭ４０３から必要なプログラムをＲＡＭ４０２にロードし、ロードしたプログラムを実行することで、図１に示す情報処理装置４０の各部の機能を実現することができる。
入力Ｉ／Ｆ４０４は、外部装置から情報処理装置４０が処理可能な形式で入力信号を入力する。例えば、上記外部装置が撮像装置２０である場合、入力Ｉ／Ｆ４０４は、撮像装置２０により撮像された現実空間の画像を入力する。出力Ｉ／Ｆ４０５は、外部装置へ当該外部装置が処理可能な形式で出力信号を出力する。例えば、上記外部装置が表示装置３０である場合、出力Ｉ／Ｆ４０５は、表示装置３０へＭＲ画像を出力する。
上述したように、図１に示す情報処理装置４０の各部の機能は、ＣＰＵ４０１がプログラムを実行することで実現することができる。ただし、図１に示す情報処理装置４０の各部のうち少なくとも一部が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、ＣＰＵ４０１の制御に基づいて動作する。
【００２３】
以下、情報処理装置４０において実行される処理の手順について、図５を参照しながら説明する。図５に示す処理は、例えばユーザによる指示入力に応じて開始される。ただし、図５の処理の開始タイミングは、上記のタイミングに限らない。
情報処理装置４０は、ＣＰＵ４０１が必要なプログラムを読み出して実行することにより、図５に示す処理を実現することができる。ただし、上述したように、図１に示す情報処理装置４０の各要素のうち少なくとも一部が専用のハードウェアとして動作することで図５の処理が実現されるようにしてもよい。この場合、専用のハードウェアは、情報処理装置４０のＣＰＵ４０１の制御に基づいて動作する。なお、以降、アルファベットＳはフローチャートにおけるステップを意味するものとする。
【００２４】
まずＳ１において、シーン構築部４３は、データ保持部４４に保持されている現実物体５０の形状モデルと、仮想物体６０のデータとを読み込む。また、位置姿勢検出部４１は、データ保持部４４に保持されている現実物体５０に対するマーカ５１の取り付け位置姿勢を読み込む。次に、Ｓ２において、位置姿勢検出部４１は、入力Ｉ／Ｆ４０４を介して撮像装置２０の撮像部２１により撮像された現実空間の画像を取り込む。
Ｓ３では、位置姿勢検出部４１は、Ｓ２において取得された現実空間の画像から、マーカ５１の位置姿勢を検出する。そして、位置姿勢検出部４１は、検出したマーカ５１の位置姿勢と、Ｓ１においてデータ保持部４４から読み込んだマーカ５１の取り付け位置姿勢とに基づいて、現実物体５０の位置姿勢を検出する。
【００２５】
Ｓ４では、手指モデル生成部４２は、Ｓ２において取得された現実空間の画像からユーザの手指領域を抽出し、手指モデルを生成する。Ｓ５では、シーン構築部４３は、シーン（仮想空間）の構築を行う。まず、シーン構築部４３は、Ｓ１においてデータ保持部４４から読み込んだ現実物体５０の形状モデルおよび仮想物体６０の形状モデルを、Ｓ３において検出された現実物体５０の位置姿勢に基づいてシーンに配置する。さらに、シーン構築部４３は、Ｓ４において生成された手指モデルを、ユーザの手指領域に合わせてシーンに配置する。シーンを描画する仮想視点は、撮像装置２０の位置姿勢と一致しているものとする。
【００２６】
Ｓ６では、シーン描画部４６は、Ｓ５において構築されたシーンを、つかみ判定部４５による判定結果に応じた描画形態で描画し、ＭＲ画像を生成するシーン描画処理を実行する。シーン描画処理の詳細については後述する。Ｓ７では、シーン描画部４６は、Ｓ６において生成されたＭＲ画像を、出力Ｉ／Ｆ４０５を介して表示装置３０へ出力する。Ｓ８では、情報処理装置４０は、例えばユーザによる処理終了の指示入力の有無に基づいて、処理を終了するか否かを判定する。そして、情報処理装置４０は、処理を終了すると判定した場合には、そのまま図５の処理を終了する。一方、情報処理装置４０は、処理を継続すると判定した場合には、次のフレーム（画像）に対する処理を行うためにＳ２に戻る。
【００２７】
図６は、図５のＳ６において実行されるシーン描画処理の具体的な手順を示すフローチャートである。
Ｓ６１では、つかみ判定部４５は、図５のＳ５において構築されたシーンに配置された現実物体５０の形状モデルと、ユーザの手指モデルとの接触判定を行う。つかみ判定部４５は、シーンに配置された現実物体５０の形状モデルと手指モデル、およびそれぞれの位置姿勢に基づいて、以下の手順で接触判定を行う。まず、それぞれのモデルを構成する三角形ポリゴンを１つずつ取り出し、その三角形ポリゴン同士が交差しているかどうかを判定する。この判定を全ての三角形ポリゴンの組み合わせに対して行い、１つでも交差している場合はモデル同士が干渉している、つまり、接触していると判定する。ただし、本実施形態における接触判定の実現方法は、上記に限るものではない。
つかみ判定部４５は、Ｓ６１において現実物体５０の形状モデルと手指モデルとが接触していないと判定した場合、ユーザが現実物体５０を掴んでいないと判定し、Ｓ６２に移行する。一方、つかみ判定部４５は、Ｓ６１において現実物体５０の形状モデルと手指モデルとが接触していると判定した場合、ユーザが現実物体５０を掴んでいると判定し、Ｓ６３に移行する。
【００２８】
Ｓ６２では、シーン描画部４６は、図５のＳ５において構築されたシーンに配置された仮想物体６０を半透明の描画形態で描画する。具体的には、シーン構築部４６は、仮想物体６０をマテリアルデータの透明度を上げて半透明とした上で、図５のＳ２において取得された現実空間の画像上に描画する。これにより、ユーザが現実物体５０を掴んでいないと判定された場合に表示装置３０の表示部３１に表示させるＭＲ画像が生成される。このとき生成されるＭＲ画像は、図３（ａ）に示すように、ユーザが現実物体５０の形状と仮想物体６０の形状の両方を認識可能な画像となる。
図３（ａ）に示すようなＭＲ画像から、ユーザは、どのような形状の仮想物体６０がどの位置にあるのかを認識することができ、かつ、どのような形状の現実物体５０を掴めば、その仮想物体６０の位置姿勢を操作できるのかを理解することができる。ただし、図３（ａ）に示すＭＲ画像では、仮想物体６０が既定の描画形態（不透明）とは異なる見え方（半透明）で描画されるため、仮想物体６０の視認性は低下する。
【００２９】
一方、Ｓ６３では、シーン描画部４６は、図５のＳ５において構築されたシーンに配置された仮想物体６０を既定の描画形態で描画する。具体的には、シーン構築部４６は、図５のＳ１において読み込んだ時点での仮想物体６０のマテリアルデータに基づいて、仮想物体６０を図５のＳ２において取得された現実空間の画像上に描画する。つまり、仮想物体６０を不透明で描画する。これにより、ユーザが現実物体５０を掴んでいると判定された場合に表示装置３０の表示部３１に表示させるＭＲ画像が生成される。
【００３０】
このとき生成されるＭＲ画像は、図３（ｂ）に示すように、仮想物体６０を不透明で描画した画像であり、図３（ａ）に示すＭＲ画像と比べて仮想物体６０の視認性が高く、ユーザが仮想物体６０を観察しやすい画像である。ただし、図３（ｂ）に示すＭＲ画像では、仮想物体６０によって現実物体５０の一部または全部が隠され、現実物体５０の形状を認識できない。そのため、このＭＲ画像からでは、ユーザは、どのような形状の現実物体５０がどの位置にあるのかを認識しにくく、現実物体５０を掴みにくい。したがって、本実施形態では、ユーザが現実物体５０を掴んでいる場合にのみ、図３（ｂ）に示すＭＲ画像を提示する。
【００３１】
以上説明したように、本実施形態における情報処理装置４０は、ユーザが現実物体５０を掴んでいるか否かを判定し、その判定結果に応じて、現実物体５０の位置姿勢に対応する位置姿勢で現実物体５０に重畳させる仮想物体６０の画像の描画形態を切替える。具体的には、情報処理装置４０は、ユーザが現実物体５０を掴んでいると判定された場合、仮想物体６０の画像を、仮想物体６０を観察可能な描画形態で表示部３１に表示させる表示制御を行う。一方。情報処理装置４０は、ユーザが現実物体５０を掴んでいないと判定された場合、仮想物体６０の画像を、現実物体５０の形状と仮想物体６０の形状とを認識可能な描画形態で表示部３１に表示させる表示制御を行う。
【００３２】
ここで、仮想物体６０を観察可能な描画形態は、仮想物体６０を不透明で描画する形態とすることができる。また、現実物体５０の形状と仮想物体６０の形状とを認識可能な描画形態は、仮想物体６０を半透明で描画する形態とすることができる。これにより、ユーザが現実物体５０を掴むまでは、ユーザの体の部位（手）と現実物体５０との距離にかかわらず、現実物体５０の形状を認識可能な状態を維持することができる。したがって、ユーザは、適切に現実物体５０を掴むための接近動作を行うことができ、容易に現実物体５０を把持することができる。また、このときユーザは、現実物体５０の形状だけでなく、仮想物体６０の形状も認識することができる。したがって、ユーザは現実物体５０を掴むことでどのような形状の仮想物体６０を操作可能となるのかを容易に理解することができる。
【００３３】
そして、ユーザが現実物体５０を掴んだら、情報処理装置４０は、仮想物体６０を観察可能な状態に切替える。そのため、ユーザが現実物体５０を掴んだ後も現実物体５０が見えたままの状態となることを回避することができる。現実物体５０を掴んだ状態では、仮想物体６０が不透明となり、仮想物体６０の形状だけでなく色やテクスチャ等も含めて仮想物体６０を観察することができる。このように、ユーザは高い視認性を有する仮想物体６０を観察することができるので、ユーザは良好な没入感を得ることができる。
以上のように、必要なときにだけ現実物体５０の形状をユーザに提示することができるので、仮想物体６０を重畳させた現実物体５０に対する操作性の向上と、仮想物体６０を用いた作業性の評価の効率化とを実現することができる。
【００３４】
また、ユーザが現実物体５０を掴んでいるか否かのつかみ判定に際し、情報処理装置４０は、ユーザの体の部位（手）と現実物体５０とが接触しているか否かを判定する。そして、情報処理装置４０は、ユーザの体の部位と現実物体５０とが接触していると判定した場合に、ユーザが現実物体５０を掴んでいると判定する。これにより、ユーザの体の部位が現実物体５０に近づいただけで、現実物体５０を実際に掴んでいない場合には、現実物体５０の形状を認識可能な状態を維持することができる。したがって、適切なタイミングで仮想物体６０の描画形態の切替えを行うことができる。
【００３５】
情報処理装置４０は、ユーザの体の部位と現実物体５０との接触判定に際し、現実物体５０の形状をモデル化した形状モデルと、ユーザの体の部位の形状をモデル化した形状モデル（手指モデル）とを取得する。具体的には、情報処理装置４０は、データ保持部４４から現実物体５０の形状モデルを取得し、現実空間の画像に対して画像処理を行うことにより手指モデルを取得（生成）する。また、情報処理装置４０は、現実物体５０の形状モデルおよび手指モデルを、現実空間の画像をもとに検出された現実物体５０およびユーザの手の位置姿勢に対応させて仮想空間上に配置する。
そして、情報処理装置４０は、仮想空間上に配置された形状モデル間の接触判定を行うことで、ユーザの体の部位と現実物体５０との接触判定を行う。このように、ユーザの体の部位の形状モデルと現実物体５０の形状モデルとを用いて接触判定を行うので、ユーザの体の部位と現実物体５０とが接触しているか否かを適切に判定することができる。
【００３６】
以上のように、本実施形態の情報処理装置４０は、ユーザが現実物体を掴む前は現実物体の形状を認識しやすく、現実物体を掴んだ後は仮想物体を観察しやすいＭＲ画像を提示することができる。これにより、組み立てやすさやメンテナンス性といった作業性を評価する際に、現実物体を掴みやすく且つ作業時には仮想物体を観察しやすい画像をユーザに提示することができるため、評価を効率的に行うことができる。
【００３７】
（第二の実施形態）
次に、本発明の第二の実施形態について説明する。
上述した第一の実施形態では、現実物体５０の形状モデルとユーザの体の部位の形状モデル（手指モデル）との接触判定に基づいて、つかみ判定を行う場合について説明した。この第二の実施形態では、現実物体５０の移動判定に基づいて、つかみ判定を行う場合について説明する。
図７は、本実施形態におけるＭＲシステム１０の構成を示すブロック図である。この図７において、図１と同様の構成を有する部分には図１と同一符号を付し、以下、構成の異なる部分を中心に説明する。
【００３８】
本実施形態における情報処理装置４０Ａは、上述した第一の実施形態のように手指モデルを生成する必要がないため、図７に示すように、図１の情報処理装置４０から手指モデル生成部４２を取り除いた構成を有する。また、情報処理装置４０Ａにおいて、シーン構築部４３Ａおよびつかみ判定部４５Ａの構成が、図１の情報処理装置４０のシーン構築部４３およびつかみ判定部４５の構成とは異なる。
シーン構築部４３Ａは、シーン構築部４３と同様に、データ保持部４４から読み込んだ現実物体５０の形状モデルおよび仮想物体６０の形状モデルを、現実物体５０の位置姿勢に基づいてシーンに配置する。ただし、シーン構築部４３Ａは、シーン構築部４３のように手指モデルをシーンに配置する処理は行わない。
【００３９】
また、つかみ判定部４５Ａは、現実物体５０が移動しているか否かを判定することで、ユーザが現実物体５０を掴んでいるか否かを判定する。具体的には、つかみ判定部４５Ａは、現実物体５０の位置姿勢が変化しているか否かを判定することで、ユーザが現実物体５０を掴んでいるか否かを判定する。本実施形態では、情報処理装置４０Ａは、時系列上連続して撮像された現実空間の画像を複数取得し、複数取得された現実空間の画像をもとに、それぞれ現実物体５０の位置姿勢を検出する。そして、情報処理装置４０Ａは、現実物体５０の位置姿勢の変化の有無を判定し、位置姿勢が変化している場合にユーザが現実物体５０を掴んでいると判定する。
【００４０】
情報処理装置４０Ａは、図５に示す処理のうち、手指モデルを生成するＳ４を除く処理（Ｓ１〜Ｓ３、Ｓ５〜Ｓ８）を実行する。ただし、Ｓ５において、第一の実施形態とは異なり、シーン構築部４３Ａは、手指モデルをシーンに配置する処理は行わない。また、Ｓ６におけるシーン描画処理も第一の実施形態とは異なる。
図８は、Ｓ６において実行されるシーン描画処理の具体的な手順を示すフローチャートである。なお、図８において、図６と同一処理を行う部分には同一ステップ番号を付し、以下、処理の異なる部分を中心に説明する。
【００４１】
Ｓ６４では、つかみ判定部４５Ａは、現実物体５０の移動判定を行う。つかみ判定部４５Ａは、図５のＳ３において検出された現実物体５０の位置姿勢をＮフレーム分蓄積し、蓄積された位置姿勢の変化の有無を判定する。ここで、上記Ｎは２以上の整数である。つかみ判定部４５Ａは、位置姿勢の変化量が所定の閾値以上である場合に、位置姿勢に変化があると判定することができる。なお、上記閾値は、０以上の任意の値であってよい。つかみ判定部４５Ａは、位置姿勢に変化がある場合は現実物体５０が移動していると判定し、位置姿勢に変化がない場合には現実物体５０が移動していないと判定する。ただし、移動判定の実現方法は、上記に限るものではない。
つかみ判定部４５Ａは、Ｓ６４において現実物体５０が移動していないと判定した場合、ユーザが現実物体５０を掴んでいないと判定し、Ｓ６２に移行する。一方、つかみ判定部４５Ａは、Ｓ６４において現実物体５０が移動していると判定した場合、ユーザが現実物体５０を掴んでいると判定し、Ｓ６３に移行する。
【００４２】
以上のように、本実施形態における情報処理装置４０Ａは、現実物体５０が移動しているか否かを判定することで、ユーザが現実物体５０を掴んでいるか否かを判定する。
情報処理装置４０Ａは、現実物体５０の移動判定に際し、時系列上連続して撮像された現実空間の画像を複数取得し、取得された現実空間の画像をもとに、それぞれ現実物体の位置姿勢を検出する。そして、情報処理装置４０Ａは，現実物体の位置姿勢の変化の有無を判定することで、現実物体５０が移動しているか否かを判定する。
このように、情報処理装置４０Ａは、位置姿勢の変化の有無に基づいてつかみ判定を行うので、上述した第一の実施形態におけるつかみ判定のように、仮想空間上に形状モデルを配置して形状モデル間の接触判定を行う必要がない。つまり、第一の実施形態のように手指モデルを生成する必要がない。したがって、上述した接触判定よりも計算量の少ない方法でつかみ判定を行うことができる。
【００４３】
（第三の実施形態）
次に、本発明の第三の実施形態について説明する。
この第三の実施形態では、上述した第一の実施形態における接触判定と、上述した第二の実施形態における移動判定とを併用して、つかみ判定を行う場合について説明する。
本実施形態における情報処理装置は、図１に示す情報処理装置４０と同一構成を有し、図５に示すフローチャートの処理を行う。ただし、図５のＳ６におけるシーン描画処理が第一の実施形態とは異なる。
【００４４】
図９は、Ｓ６において実行されるシーン描画処理の具体的な手順を示すフローチャートである。なお、図９において、図６や図８と同一処理を行う部分には同一ステップ番号を付し、以下、処理の異なる部分を中心に説明する。
Ｓ６１において、つかみ判定部４５は、第一の実施形態と同様に、現実物体５０の形状モデルと手指モデルとの間の接触判定を行う。そして、接触判定の結果、ユーザが現実物体５０に接触していないと判定された場合はＳ６４に移行し、ユーザが現実物体５０に接触していると判定された場合はＳ６５に移行する。
【００４５】
Ｓ６４では、つかみ判定部４５は、第二の実施形態と同様に、現実物体５０の移動判定を行う。そして、Ｓ６４における移動判定の結果、現実物体５０が移動していないと判定された場合はＳ６２に移行し、現実物体５０が移動していると判定された場合はＳ６６に移行する。Ｓ６５では、Ｓ６４と同様の処理を行う。そして、Ｓ６５における移動判定の結果、現実物体５０が移動していると判定された場合はＳ６３に移行し、現実物体５０が移動していないと判定された場合はＳ６６に移行する。Ｓ６６では、シーン描画部４６は、構築されたシーンに配置された仮想物体６０を、前フレームと同じ描画形態で描画する。
【００４６】
つまり、本実施形態では、ユーザの手が現実物体５０に接触しておらず、かつ、現実物体５０が静止している場合には、ユーザが現実物体５０を掴んでいないと判定する。そして、図３（ａ）に示す現実物体５０の形状と仮想物体６０の形状とを認識可能なＭＲ画像を生成し表示させる。これにより、ユーザに現実物体５０を掴みやすい画像を提示することができる。
これに対して、ユーザの手が現実物体５０に接触しており、かつ、現実物体５０が移動している場合には、ユーザが現実物体５０を掴んでいると判定する。この場合には、図３（ｂ）に示すように、仮想物体６０を不透明とし、仮想物体６０を観察可能なＭＲ画像を生成し表示させる。
そして、ユーザが現実物体５０を掴んでいるとも、掴んでいないとも判定できない場合には、仮想物体６０を前フレームのつかみ判定結果に応じて設定された描画形態を用いて描画する。すなわち、前フレームでＳ６２の処理が行われていれば、Ｓ６６では仮想物体６０を半透明の描画形態を用いて描画する。一方、前フレームでＳ６３の処理が行われていれば、Ｓ６６では仮想物体６０を既定の描画形態を用いて描画する。なお、最初のフレームであれば、既定の描画形態を用いて描画すればよい。
【００４７】
ここで、Ｓ６６の処理により得られる効果について説明する。例えば、ユーザが現実物体５０を手で触れて移動させると、Ｓ６１およびＳ６５により掴んでいると判定され、Ｓ６３によって仮想物体６０は既定の描画形態で描画される。そのため、ユーザには、あたかも仮想物体６０を掴んで動かしているような画像が表示される。この状態から、ユーザが仮想物体６０を落下させた時の見え方を確認しようとして空中で手を離したものとする。この場合、現実物体５０は自由落下するため、手は接触していないが現実物体５０は移動しているという状況になる。すると、Ｓ６６に処理が遷移し、前フレームでの描画形態である既定の描画形態が維持される。そのため、ユーザには、引き続き仮想物体６０を観察しやすい画像が提示され、仮想物体６０の落下の様子を適切に示すことができる。
また、ユーザが現実物体５０に触れておらず、かつ現実物体５０が静止している場合には、Ｓ６１およびＳ６４により掴んでいないと判定され、Ｓ６２によって仮想物体６０は半透明の描画形態で描画される。この状態から、ユーザが現実物体５０の表面に触れ、手は接触しているが現実物体５０は動いていないという状況になったものとする。すると、Ｓ６６に処理が遷移し、前フレームの描画形態である半透明の描画形態が維持される。そのため、ユーザには引き続き現実物体５０を掴みやすい画像が提示される。
【００４８】
つまり、接触判定に基づくつかみ判定だけでは、ユーザが現実物体５０に触れているが未だ掴んでいない場合にも、掴んでいると誤判定されてしまう。また、移動判定に基づくつかみ判定だけでは、糸で吊り下げられた現実物体５０が揺れている場合であっても、掴んでいると誤判定されてしまう。本実施形態では、接触判定と移動判定とを併用することで、上記のような誤判定を回避し、より正確につかみ判定を行うことができる。
【００４９】
（変形例）
上記各実施形態においては、仮想物体６０の半透明の描画形態として、マテリアルデータの透明度を上げる方法について説明した。しかしながら、半透明の描画形態は上記に限定されるものではなく、現実物体５０の形状と仮想物体６０の形状とを認識できるＭＲ画像を生成できる描画形態であればよい。例えば、仮想物体６０の輪郭のみを描画してもよい。また、仮想物体６０と現実物体５０とが重なる部分を予め決められた色やパターンで描画（仮想物体６０中に現実物体５０のシルエットを表示）してもよい。さらに、仮想物体６０のうち現実物体５０と重ならない部分のみを描画（仮想物体６０の一部を切り抜き、現実物体５０を表示）してもよい。
【００５０】
また、上記各実施形態においては、シーン描画部４６は、つかみ判定部４５においてユーザが現実物体５０を掴んだと判定した時点で、仮想物体６０を既定の描画形態で描画するものとして説明した。しかしながら、ユーザは、現実物体５０を掴んだ後、しばらく掴み方を調整する場合があり、その間は仮想物体６０を半透明の描画形態で描画することが望ましい。したがって、シーン描画部４６は、つかみ判定部４５の判定結果が変化してから一定時間後に仮想物体６０の描画形態を切替えるようにしてもよい。
【００５１】
さらに、第一の実施形態および第三の実施形態においては、現実物体５０の形状モデルと手指モデルとの接触判定に基づいて、ユーザの手と現実物体５０との接触判定を行う場合について説明した。しかしながら、現実物体５０の形状モデルが未知である場合には、現実物体５０の形状を近似して手指モデルとの接触判定を行ってもよい。例えば、現実物体５０の形状を仮想物体６０の形状で近似し、仮想物体６０の形状モデルと手指モデルとの接触判定を行ってもよい。
また、現実物体５０の位置と手指モデルの位置との間の距離を算出し、算出した距離が予め定められた閾値未満である場合は接触していると判定し、予め定められた閾値以上である場合は接触していないと判定してもよい。なお、当該閾値は、ユーザの体の部位（手）が現実物体５０に接触していると判定可能な程度に短い距離に設定する。この場合、現実物体５０の形状モデルが未知である場合や、手指モデルが正確に生成できない場合にもつかみ判定を行うことができる。
【００５２】
また、第二の実施形態および第三の実施形態においては、現実物体５０の位置姿勢の変化の有無に基づいて、現実物体５０の移動判定を行う場合について説明した。しかしながら、移動判定の実現方法は、上記に限るものではない。例えば、現実物体５０の位置姿勢の変化から移動速度を検出し、移動速度が予め定められた閾値以上である場合に現実物体５０が移動していると判定し、移動速度が予め定められた閾値未満である場合には現実物体５０が移動していないと判定してもよい。この場合、ユーザが現実物体５０に僅かに触れて現実物体５０の位置姿勢がぶれた程度（現実物体５０をしっかりと掴めていない状況）で、現実物体５０が表示されなくなる（仮想物体６０が不透明になる）ことを回避することができる。
【００５３】
さらに、上記各実施形態においては、ユーザが手で現実物体を掴んでいるか否かを判定する場合について説明したが、現実物体を掴む物体はユーザの体の部位に限定されない。例えば、ユーザが直接操作する器具や、ユーザが遠隔操作するロボットアーム等が現実物体を掴んでいるか否かを判定することで、ユーザが現実物体を掴んでいるか否かを判定してもよい。
【００５４】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５５】
１０…複合現実感システム、２０…撮像装置、３０…表示装置、４０…情報処理装置、４１…位置姿勢検出部、４２…手指モデル生成部、４３…シーン構築部、４４…データ保持部、４５…つかみ判定部、４６…シーン描画部、５０…現実物体、６０…仮想物体
【図１】
2018092313.tif 000003
【図２】
2018092313.tif 000004
【図３】
2018092313.tif 000005
【図４】
2018092313.tif 000006
【図５】
2018092313.tif 000007
【図６】
2018092313.tif 000008
【図７】
2018092313.tif 000009
【図８】
2018092313.tif 000010
【図９】
2018092313.tif 000011