(57)【要約】      （修正有）【課題】現実物体との接触可能性を低減しつつ、違和感のない複合現実感を提示可能とする画像処理装置、処理方法及びプログラムを提供する。【解決手段】画像処理装置は、現実空間が撮像された第一の画像を取得する第一の取得手段と、第一の画像に撮像されている物体の移動速度を取得する第二の取得手段と、第二の取得手段により取得された移動速度に基づいて、第一の画像を撮像した撮像装置の位置姿勢に基づいて生成される第二の画像の透明度を決定する決定手段と、決定手段により決定された透明度に従って、第二の画像を表示部に表示させる表示制御手段と、を備える。【選択図】なし【特許請求の範囲】
【請求項１】
現実空間が撮像された第一の画像を取得する第一の取得手段と、
前記第一の画像に撮像されている物体の移動速度を取得する第二の取得手段と、
前記第二の取得手段により取得された移動速度に基づいて、前記第一の画像を撮像した撮像装置の位置姿勢に基づいて生成される第二の画像の透明度を決定する決定手段と、
前記決定手段により決定された透明度に従って、前記第二の画像を表示部に表示させる表示制御手段と、を備えることを特徴とする画像処理装置。
【請求項２】
前記決定手段は、
前記第二の取得手段により取得された移動速度が所定の速度以上である場合、前記第二の画像を透明にするよう前記透明度を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記決定手段は、
前記第二の取得手段により取得された移動速度が速いほど、前記透明度を上げることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記第二の画像は、仮想物体の画像を含み、
前記決定手段は、
前記物体の位置と、前記仮想物体が配置される位置との間の距離に基づいて、前記透明度を決定することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記決定手段は、
前記第二の取得手段により移動速度を取得した第一の物体の位置と、前記第一の画像に撮像されている前記第一の物体とは異なる第二の物体の位置との距離に基づいて、前記透明度を決定することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項６】
前記決定手段は、前記距離が所定の距離以下である場合、前記第二の画像を透明にするよう前記透明度を決定することを特徴とする請求項４または５に記載の画像処理装置。
【請求項７】
前記第二の取得手段は、前記物体の移動方向をさらに取得し、
前記決定手段は、
前記第二の取得手段により取得された移動速度および移動方向に基づいて、前記透明度を決定することを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記決定手段は、
前記第二の画像のうち、前記物体を含む所定の範囲に対応する領域の透明度を決定することを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記第二の取得手段は、前記物体の移動方向をさらに取得し、
前記決定手段は、
前記第二の取得手段により取得された移動方向における前記範囲を他の方向に対して広く設定することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記物体は、観察者の体の一部であることを特徴とする請求項１から９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記第二の取得手段は、前記物体の加速度をさらに取得し、
前記決定手段は、
前記第二の取得手段により取得された加速度に基づいて、前記透明度を決定することを特徴とする請求項１から１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記表示制御手段は、
前記第一の画像に前記第二の画像を合成して前記表示部に表示させることを特徴とする請求項１から１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記表示部は、観察者が頭部に装着した頭部装着型の表示装置であり、
前記第一の画像は、前記観察者の視点位置から現実空間を撮像した画像であることを特徴とする請求項１から１２のいずれか１項に記載の画像処理装置。
【請求項１４】
現実空間が撮像された第一の画像を取得するステップと、
前記第一の画像に撮像されている物体の移動速度を取得するステップと、
前記移動速度に基づいて、前記第一の画像を撮像した撮像装置の位置姿勢に基づいて生成される第二の画像の透明度を決定するステップと、
前記透明度に従って、前記第二の画像を表示部に表示させるステップと、を含むことを特徴とする画像処理方法。
【請求項１５】
コンピュータを、請求項１から１３のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、現実空間と仮想空間との繋ぎ目のない結合を目的とした、複合現実感（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）技術の研究が盛んに行われている。ＭＲ技術において複合現実感の提示を行う画像表示装置は、ビデオシースルー方式もしくは光学シースルー方式によって実現される。
ビデオシースルー方式は、ビデオカメラ等の撮像装置によって撮像された現実空間の画像上に、撮像装置の位置および姿勢に応じて生成された仮想空間の画像を重畳描画した合成画像を表示する方式である。ここで、仮想空間の画像は、ＣＧ（コンピュータグラフィックス）により描画された仮想物体や文字情報等により構成される。また、光学シースルー方式は、観察者の頭部に装着された光学シースルー型ディスプレイに、観察者の視点の位置および姿勢に応じて生成された仮想空間の画像を表示する方式である。
【０００３】
いずれの方式においても、観察者の視界を遮って仮想空間の画像（仮想空間画像）が表示されるため、現実物体が仮想空間画像に隠れて見えない場合があり、手などを現実物体にぶつけるおそれがあった。特許文献１には、観察者の手の位置と現実物体の位置との距離に応じて、仮想空間画像の透明度を制御する画像処理装置が開示されている。この特許文献１に記載の技術では、例えば上記距離が小さいほど仮想空間画像の透明度を上げるようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２５９１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の方法では、手と現実物体との距離に応じて仮想空間画像を透明にしているため、現実物体から離れた場所から、手を高速で現実物体に近づけた場合、仮想空間画像が透明になるタイミングが遅れ、手を現実物体に衝突させてしまうおそれがある。また、現実物体の近くで手がゆっくりと動いており、手が現実物体に接触したとしても衝撃が少ない場合であっても、仮想空間画像が透明になってしまうため、観察者が仮想空間画像を見ることを阻害してしまう。
そこで、本発明は、現実物体との接触可能性を低減しつつ、違和感のない複合現実感を提示可能とすることを目的としている。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る画像処理装置の一態様は、現実空間が撮像された第一の画像を取得する第一の取得手段と、前記第一の画像に撮像されている物体の移動速度を取得する第二の取得手段と、前記第二の取得手段により取得された移動速度に基づいて、前記第一の画像を撮像した撮像装置の位置姿勢に基づいて生成される第二の画像の透明度を決定する決定手段と、前記決定手段により決定された透明度に従って、前記第二の画像を表示部に表示させる表示制御手段と、を備える。
【発明の効果】
【０００７】
本発明によれば、現実物体との接触可能性を低減しつつ、違和感のない複合現実感を提示可能とすることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態における複合現実感システムの構成例を示す図である。
【図２】マーカーの例およびＣＧモデルの表示例を表す図である。
【図３】画像処理装置のハードウェア構成図である。
【図４】画像処理装置の処理の流れを示すフローチャートである。
【図５】物体推定処理を示すフローチャートである。
【図６】ＣＧレンダリング処理を示すフローチャートである。
【図７】ＣＧをすべて透明にした場合の表示例である。
【図８】第二の実施形態のＣＧレンダリング処理を示すフローチャートである。
【図９】手の周りのＣＧだけを透明にした場合の表示例である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明を実施するための形態について詳細に説明する。なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
（第一の実施形態）
図１（ａ）は、本発明の実施形態における複合現実感システム（ＭＲシステム）１０の構成例を示す図である。本実施形態におけるＭＲシステム１０は、現実空間と仮想空間とを融合した複合現実空間（ＭＲ空間）を観察者に提示するためのシステムである。
複合現実感システム１０は、撮像装置２１Ｌおよび２１Ｒと、表示装置２２と、画像処理装置３０と、を備える。本実施形態では、撮像装置２１Ｌ、２１Ｒおよび表示装置２２は、ＭＲ空間を体感する観察者の頭部に装着される頭部装着型表示装置であるヘッドマウントディスプレイ（ＨＭＤ）に備わっているものとして説明する。ここで、ＨＭＤは、現実空間の画像とコンピュータグラフィックス（ＣＧ）等の仮想空間の画像とを合成した合成画像を観察者に提示可能なビデオシースルー型ＨＭＤとする。
【００１０】
撮像装置２１Ｌ、２１Ｒは、それぞれ、観察者がＨＭＤを頭部に装着した場合に、観察者の視点位置から視線方向の現実空間を撮像可能なように互いに固定されたカメラであり、これら２つのカメラによってステレオカメラを構成している。撮像装置２１Ｌ、２１Ｒは、観察者の視点位置から見える現実空間の物体（現実物体）を撮像する。撮像装置２１Ｌ、２１Ｒは、例えば観察者の体の一部（例えば、手４０）や、撮像装置２１Ｌ、２１Ｒの位置姿勢を計測するためのマーカー５０を撮像する。そして、撮像装置２１Ｌ、２１Ｒは、それぞれ撮像した画像を画像処理装置３０に出力する。なお、上記ステレオカメラの焦点距離やレンズ歪み係数等のカメラ内部パラメータは、予め所定の方法で求められており、既知であるとする。
【００１１】
表示装置２２は、画像処理装置３０から出力された合成画像を表示するディスプレイを備える。ディスプレイは、ＣＲＴや液晶画面などである。ここで、上記ディスプレイは、観察者の左右の目にそれぞれ対応して配置されていてもよい。この場合、観察者の左目に対応するディスプレイには左目用の合成画像が提示され、観察者の右目に対応するディスプレイには右目用の合成画像が提示される。また、表示装置２２は、ディスプレイ上の画像を眼球に導くための光学系を備えていてもよい。なお、撮像装置２１Ｌ、２１Ｒによって観察者の視野画像を撮像し、表示装置２２によって観察者に画像を提示できる構成であれば、撮像装置２１Ｌ、２１Ｒと表示装置２２との配置位置は、任意に設定することができる。
【００１２】
画像処理装置３０は、画像取得部３１と、画像記憶部３２と、物体推定部３３と、モデル形状記憶部３４と、位置姿勢推定部３５と、画像生成部３６と、画像合成部３７と、表示制御部３８と、を備える。
画像取得部３１は、撮像装置２１Ｌおよび２１Ｒによって撮像されたステレオ画像を取得し、画像記憶部３２に出力する。このステレオ画像は、ステレオ計測用の処理画像として用いられる。画像記憶部３２は、画像取得部３１から受けた画像を一時的に記憶する。画像取得部３１からは、例えば１／３０秒ごとに画像が送信される。
【００１３】
物体推定部３３は、画像記憶部３２に記憶されているステレオ画像を取得し、取得したステレオ画像から手４０の３次元形状および位置を推定する。また、手４０の位置情報を時間と共に記憶し、それに基づいて手４０の移動速度および移動方向を推定する。手４０の３次元形状および位置の推定方法、ならびに手４０の移動速度および移動方向の推定方法については後述する。物体推定部３３は、手４０の３次元形状および位置をモデル形状記憶部３４に出力し、手４０の移動速度および移動方向を画像生成部３６に出力する。
モデル形状記憶部３４は、図１（ｂ）に示すような、表示装置２２に表示させる仮想物体６０の３次元モデル（ＣＧモデル）のデータおよび物体推定部３３から受けた手４０の３次元形状のデータを保持しておく。
【００１４】
位置姿勢推定部３５は、撮像装置２１Ｌ、２１Ｒの位置姿勢を推定する。本実施形態では、位置姿勢推定部３５は、画像に映り込む矩形状のマーカー５０の投影像に基づいて、撮像装置２１Ｌ、２１Ｒの位置姿勢を推定する。例えば、位置姿勢推定部３５は、画像を二値化し、直線フィッティングにより四角形の頂点を抽出し、山登り法の繰り返し演算により画像上における投影誤差を最小化して、撮像装置２１Ｌ、２１Ｒの位置姿勢を推定することができる。
なお、位置姿勢推定部３５による位置姿勢の推定方法は、上記の方法に限定されるものではなく、モーションキャプチャ装置や磁気センサなどを用いた方法により撮像装置２１Ｌ、２１Ｒの位置姿勢を推定してもよい。
【００１５】
画像生成部３６は、モデル形状記憶部３４に記憶されたＣＧモデルのデータと、手４０の３次元形状および位置に関する情報とを入力する。また、画像生成部３６は、位置姿勢推定部３５において推定された撮像装置２１Ｌ、２１Ｒの位置姿勢と、物体推定部３３において推定された手４０の移動速度および移動方向とに関する情報を入力する。そして、画像生成部３６は、入力されたこれらの情報に基づいて、仮想物体６０の画像（ＣＧ）を生成する。
具体的には、画像生成部３６は、ＣＧモデルのデータと、撮像装置２１Ｌ、２１Ｒの位置姿勢とに基づいて、仮想物体６０の位置姿勢を決定する。そして、画像生成部３６は、仮想物体６０の描画ピクセルにおける手４０との前後関係を比較し、仮想物体６０を描画するかどうかを決定する。つまり、手４０の方が仮想物体６０よりも手前にあると判定した場合は、そのピクセルに仮想物体６０を描画せず、後述する画像合成部３７において生成される合成画像において実写画像である手４０が見えるように仮想物体６０の画像を加工する。また、画像生成部３６は、物体推定部３３により推定された手４０の移動速度と移動方向とに応じて、仮想物体６０の画像の透明度を決定する。詳細については後述する。
【００１６】
画像合成部３７は、画像記憶部３２に記憶されている撮像装置２１Ｌ、２１Ｒの夫々の画像に対して、画像生成部３６において生成された仮想物体６０の画像を上書き合成する。生成された合成画像は、表示制御部３８に出力される。表示制御部３８は、画像合成部３７から出力された合成画像を表示装置２２のディスプレイに表示させる表示制御を行う。これにより、観察者は、仮想物体６０と手４０との前後関係が正しい合成画像をディスプレイにて観察することができ、あたかもその場所に仮想物体６０が実在するかのような体験をすることができる。
なお、本実施形態では、画像記憶部３２は、物体推定部３３、位置姿勢推定部３５、画像生成部３６の処理で利用した実写画像を、画像合成部３７に入力している。これは、画像生成部３６において生成された３次元形状の画像と画像記憶部３２の画像とが同期された状態で、画像合成部３７において画像を合成するためである。画像合成部３７において同期した画像を取り扱うためには、物体推定部３３、位置姿勢推定部３５、画像生成部３６のすべての処理を１／３０秒以内で完了させることが好ましい。
【００１７】
次に、撮像装置２１Ｌ、２１Ｒの位置姿勢を計測するためのマーカー５０の例、およびＣＧの表示例について説明する。図２（ａ）はマーカー５０の例である。この図２（ａ）に示すように、車輪がついた箱状の物体５１にマーカー５０を貼り付けてもよい。また、表示装置（ディスプレイ）２２には、例えば図２（ｂ）に示すような仮想物体６０の画像を表示させてもよい。この図２（ｂ）において、仮想物体６０は、事務用のキャビネットであり、図２（ａ）の物体５１の上に重畳して表示した例を示している。このとき、観察者の手４０が図２（ａ）の物体５１よりも手前に存在する場合、図２（ｂ）に示すように、手４０が存在する領域には仮想物体６０を表示させないようにする。これにより、仮想物体６０と手４０との前後関係を提示することができる。
なお、仮想物体６０を配置する位置は、撮像装置２１Ｌ、２１Ｒの位置姿勢に応じた位置であればよく、マーカー５０を貼り付けた物体５１の位置に限定されない。
【００１８】
図３は、画像処理装置３０のハードウェア構成図である。
画像処理装置３０は、ＣＰＵ３０１と、ＲＡＭ３０２と、ＲＯＭ３０３と、キーボード３０４と、マウス３０５と、外部記憶装置３０６と、記憶媒体ドライブ３０７と、インターフェース（Ｉ／Ｆ）３０８と、システムバス３０９と、を備える。
ＣＰＵ３０１は、画像処理装置３０における動作を統括的に制御するプロセッサであり、システムバス３０９を介して、各構成部（３０２〜３０８）を制御する。ＲＡＭ３０２は、外部記憶装置３０６や記憶媒体ドライブ３０７からロードされたプログラムやデータを一時的に記憶するための領域を有する。さらに、ＲＡＭ３０２は、Ｉ／Ｆ３０８を介して外部装置（本実施形態では、撮像装置２１Ｌ、２１Ｒ）から受信したデータ（本実施形態では、現実空間のステレオ画像）を一時的に記憶するためのエリアを有する。また、ＲＡＭ３０２は、ＣＰＵ３０１が各処理を実行する際に用いるワークエリアも有する。つまり、ＲＡＭ３０２は、各種エリアを適宜提供することができる。例えば、ＲＡＭ３０２は、図１の画像記憶部３２やモデル形状記憶部３４として機能することもできる。
【００１９】
ＲＯＭ３０３は、コンピュータの設定データやブートプログラムなどを格納する。キーボード３０４およびマウス３０５は、操作入力装置の一例であり、コンピュータのユーザが操作することで、各種の指示をＣＰＵ３０１に対して入力することができる。
外部記憶装置３０６は、ハードディスクドライブ（ＨＤＤ）装置に代表される大容量情報記憶装置である。外部記憶装置３０６には、ＯＳ（オペレーティングシステム）や、画像処理装置３０が行うものとして説明した上述の各処理をＣＰＵ３０１に実行させるためのプログラムやデータが格納されている。係るプログラムには、画像取得部３１、物体推定部３３、位置姿勢推定部３５、画像生成部３６、画像合成部３７のそれぞれに対応するプログラムを含めることができる。また、係るデータには、ＣＧモデルのデータなどを含めることができる。
【００２０】
外部記憶装置３０６に保存されているプログラムやデータは、ＣＰＵ３０１による制御に従って適宜ＲＡＭ３０２にロードされる。ＣＰＵ３０１は、このロードされたプログラムやデータを用いて処理を実行することで、図１に示す画像処理装置３０の各部の機能を実現することができる。なお、外部記憶装置３０６は、図１の画像記憶部３２、モデル形状記憶部３５として機能することもできる。
記憶媒体ドライブ３０７は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記録されたプログラムやデータを読み出したり、係る記憶媒体にプログラムやデータを書き込んだりすることができる。なお、上記において、外部記憶装置３０６に保存されているものとして説明したプログラムやデータの一部若しくは全部を、この記憶媒体に記録しておいてもよい。記憶媒体ドライブ３０７が記憶媒体から読み出したプログラムやデータは、外部記憶装置３０６やＲＡＭ３０２に対して出力される。
【００２１】
Ｉ／Ｆ３０８は、撮像装置２１Ｌ、２１Ｒを接続するためのアナログビデオポートあるいはＩＥＥＥ１３９４等のデジタル入出力ポート、イーサネット（登録商標）ポートなどによって構成される。Ｉ／Ｆ３０８を介して受信したデータは、ＲＡＭ３０２や外部記憶装置３０６に入力される。
上述したように、図１に示す画像処理装置３０の各部の機能は、ＣＰＵ３０１がプログラムを実行することで実現することができる。ただし、図１に示す画像処理装置３０の各部のうち少なくとも一部が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、ＣＰＵ３０１の制御に基づいて動作する。
【００２２】
以下、画像処理装置３０において実行される処理の手順について、図４を参照しながら説明する。図４に示す処理は、例えばユーザによる指示入力に応じて開始される。ただし、図３の処理の開始タイミングは、上記のタイミングに限らない。画像処理装置３０は、ＣＰＵ３０１が必要なプログラムを読み出して実行することにより、図４に示す処理を実現することができる。ただし、上述したように、図１に示す画像処理装置３０の各要素のうち少なくとも一部が専用のハードウェアとして動作することで図４の処理が実現されるようにしてもよい。この場合、専用のハードウェアは、ＣＰＵ３０１の制御に基づいて動作する。なお、以降、アルファベットＳはフローチャートにおけるステップを意味するものとする。
【００２３】
まずＳ１において、画像取得部３１は、撮像装置２１Ｌ，２１Ｒからステレオ画像を取得する。次にＳ２において、画像記憶部３２は、画像取得部３１から取得したステレオ画像を一時的に記憶する。
Ｓ３では、物体推定部３３は、画像記憶部３２に記憶されたステレオ画像から手４０の領域を抽出し、手４０の３次元形状と位置とを推定する。また、手４０の位置情報を時間と共に記憶し、それに基づいて手４０の移動速度および移動方向を推定する。このＳ３における物体推定処理の詳細については後述する。
【００２４】
Ｓ４では、位置姿勢推定部３５は、撮像装置２１Ｌ、２１Ｒの少なくとも一方の位置姿勢を推定する。推定された位置姿勢は、画像生成部３６におけるＣＧのレンダリング処理に用いられる。Ｓ５では、画像生成部３６は、撮像装置２１Ｌ、２１Ｒの位置姿勢から見た仮想物体６０の画像を生成（レンダリング）する。このＳ５におけるＣＧレンダリング処理の詳細については後述する。
Ｓ６では、画像合成部３７は、Ｓ２において記憶された実写画像の上に、Ｓ５において生成されたＣＧを重畳し、合成画像を生成する。Ｓ７では、表示制御部３８は、Ｓ６において生成された合成画像を表示装置２２のディスプレイに表示させる表示制御を行う。
【００２５】
（物体推定処理）
図５は、物体推定部３３が図４のＳ３において実行する物体推定処理の流れを示すフローチャートである。
先ずＳ３１において、物体推定部３３は、画像記憶部３２に記憶されたステレオ画像から手４０の３次元形状を推定する。この処理は、公知の処理によって行うことができる。例えば、あらかじめ取得した背景の画像と現在の実写画像との差分を抽出することにより、前景となる手４０の領域を抽出する。さらに、ステレオ画像からそれぞれ抽出された２つの手４０の領域を対応付ける。その後、撮像装置２１Ｌ、２１Ｒの既知の配置情報に基づいて、手４０の領域をステレオ計測し、手４０の３次元形状を推定する。物体推定部３３は、推定した３次元形状をモデル形状記憶部３４に出力する。
【００２６】
Ｓ３２では、物体推定部３３は、手４０の位置を推定する。手４０の位置は、Ｓ３１において推定された手４０の３次元形状から、例えば手４０の領域の重心の座標によって表現する。なお、手４０の位置は、手４０の重心に限定されるものではなく、特定の指の先端の座標などでもよい。また、手４０の位置を推定する方法は、手４０の３次元形状をもとに推定する方法に限定されず、モーションキャプチャ装置や磁気センサなどを用いた方法であってもよい。物体推定部３３は、推定した位置をモデル形状記憶部３４に出力する。
Ｓ３３では、物体推定部３３は、Ｓ３２において推定された手４０の位置を、その時点での時刻と共に保存する。上記時刻は、手４０の３次元形状を推定するときに使用したステレオ画像のタイムコードなどから導き出すことができる。あるいはタイマ計測手段によって取得してもよい。手４０の位置を時刻と共に保存することにより、ある過去における手４０の位置の履歴を保存しておくことができる。
【００２７】
Ｓ３４では、物体推定部３３は、その時点での手４０の移動速度と移動方向とを推定する。移動速度および移動方向は、Ｓ３２において推定された手４０の位置と、Ｓ３３において保存された過去の時刻における手４０の位置の履歴とから推定することができる。例えば、時刻Ｔ１において手４０が座標（Ｘ１，Ｙ１，Ｚ１）に存在し、時刻Ｔ２において座標（Ｘ２，Ｙ２，Ｚ２）に存在した場合、２時点の距離を計算しそれを時刻の差で割ることにより、移動速度を算出することができる。また、２時点のベクトルを求めることにより、移動方向を算出することができる。ここで、移動速度の代わりに加速度を算出してもよい。物体推定部３３は、推定した移動速度と移動方向とを画像生成部３７に出力し、図５の処理を終了する。
【００２８】
（ＣＧレンダリング処理）
図６は、画像生成部３６が図４のＳ５において実行するＣＧレンダリング処理の流れを示すフローチャートである。
まずＳ５１において、画像生成部３６は、仮想物体６０の画像（ＣＧ）の透明度を決定する。透明度は、図５のＳ３４において決定された手４０の移動速度に応じて決定される。
具体的には、手４０の移動速度が所定の速度未満の場合は、ＣＧを不透明にしてそのまま表示し、所定の速度以上の場合はＣＧを透明にする。これにより、観察者が手４０を素早く動かしたときはＣＧが透明になり、仮に現実物体が仮想物体６０に隠れている場合には、その現実物体を表示させ、観察者に提示することができる。一方、観察者が手４０を動かさなかったか手４０の動きが遅い場合は、ＣＧは透明にならず、観察者は仮想物体６０を観察することができる。
【００２９】
図７は、図２（ａ）に示す物体５１およびマーカー５０を用いて図２（ｂ）に示す仮想物体６０の画像を表示する場合において、観察者が手４０を素早く動かした場合の表示例を示している。図７に示すように、手４０が所定の速度以上の移動速度で素早く動かされた場合、ＣＧは透明になり、仮想物体６０の裏側にあるマーカー５０が貼り付けられた物体５１が透けて見えることになる。
なお、手４０の移動速度が所定の速度以上の場合、移動速度に比例して透明度を高くし、ある一定の移動速度以上で完全に透明にするようにしてもよい。この場合、観察者が手４０を動かさなかったか手４０の動きが遅い場合にはＣＧは透明にならないが、手４０が所定の速度以上で動いた場合には、観察者が手４０を速く動かすほどＣＧの透明度が上がる。そして、さらに手４０がある移動速度以上で動いた場合は、ＣＧが完全に透明になる。なお、上記以外の方法で、手４０の移動速度と透明度とを連動させてもよい。また、図４のＳ３４において物体推定部３３が速度ではなく加速度を推定した場合は、加速度と透明度とを連動させてもよい。例えば、推定された加速度が所定の加速度以上である場合に、ＣＧを透明にするよう透明度を決定するようにしてもよい。
【００３０】
Ｓ５２では、画像生成部３６は、モデル形状記憶部３４に記憶されている手４０の３次元形状のデータと仮想物体６０の３次元モデルのデータと、位置姿勢推定部３５において推定された撮像装置２１Ｌ、２１Ｒの位置姿勢とを取得する。そして、画像生成部３６は、撮像装置２１Ｌ、２１Ｒの位置姿勢から見た仮想物体６０の画像を生成する。ただし、画像生成にあたり、手４０と仮想物体６０との撮像装置２１Ｌ、２１Ｒからの距離を描画ピクセルごとに判別し、手４０の方が手前にあるピクセルについては、仮想物体６０を描画せず、透明の状態にする。すなわち、手４０の方が手前にあるピクセルについては、実写画像を観察者に提示し、手４０が手前に存在しているように見せる。また、このＳ５２では、画像生成部３６は、Ｓ５１において決定された透明度に応じて、仮想物体６０の画像を生成する。
【００３１】
以上説明したように、本実施形態における画像処理装置３０は、現実空間を撮像する撮像装置２１Ｌ、２１Ｒの位置姿勢に基づいて、仮想物体６０の画像を表示させる。このとき、画像処理装置３０は、撮像装置２１Ｌ、２１Ｒの画像に撮像されている物体の移動速度を取得し、取得された移動速度に基づいて仮想物体６０の画像の透明度を決定し、決定された透明度に従って仮想物体６０の画像を表示させる。ここで、移動速度を取得する物体は、仮想物体６０の画像を観察する観察者の手４０とすることができる。
画像処理装置３０は、手４０の移動速度が所定の速度以上である場合に、仮想物体６０の画像を透明にするよう、透明度を決定することができる。このとき、画像処理装置３０は、移動速度が速いほど透明度を上げるようにしてもよい。上記のように、仮想物体６０の画像を透明にした場合、仮想物体６０の裏側に現実物体が存在する場合には、その現実物体が表示され、観察者は現実物体を確認することができる。そのため、観察者の手４０が現実物体に接触する可能性を低減することができる。
【００３２】
また、手４０の移動速度が所定の速度以上である場合に、仮想物体６０の画像が透明になるため、手４０が現実物体から離れた場所にある場合であっても、手４０が高速で移動している場合には仮想物体６０の画像を透明にすることができる。したがって、観察者は、現実物体の位置を容易に確認することができ、手４０を現実物体に衝突させてしまうことを、余裕を持って回避することができる。一方、手４０の移動速度が所定の速度未満である場合には、仮想物体６０の画像が透明になることはない。そのため、現実物体の近くで手４０がゆっくりと動いており、手４０が現実物体に接触したとしても衝撃が少ない場合には、仮想物体６０の画像を透明にせず表示させておくことができる。したがって、観察者が仮想物体６０を観察することを阻害しない。
【００３３】
また、画像処理装置３０が仮想物体６０の画像を表示させる表示装置は、観察者が頭部に装着した頭部装着型表示装置（ＨＭＤ）であり、当該ＨＭＤは、ビデオシースルー型ＨＭＤとすることができる。画像処理装置３０は、観察者の視点位置から現実空間を撮像した画像上に仮想物体６０の画像を重畳して表示させることができる。
観察者が頭部装着型表示装置を装着し、ディスプレイにＣＧを表示している状態で移動すると、ＣＧに隠れている現実物体に気が付かずに接触してしまうおそれがある。特に観察者の手が素早く動いた場合に、手がＣＧに隠れている現実物体に接触する可能性が高く、接触した際の衝撃も大きい。これに対して、本実施形態では、観察者が装着する頭部装着型表示装置に表示するＣＧの透明度を、観察者の手の移動速度に応じて制御することができるので、上述した接触可能性を適切に抑制しつつ、違和感のない複合現実感を提示することができる。
【００３４】
（変形例）
上記実施形態においては、手４０の３次元形状および位置を推定し、さらに移動速度や移動方向を推定する場合について説明したが、移動速度や移動方向の推定対象とする物体は、観察者の手４０に限らず、足や頭部といった他の体の一部であってもよい。また、上記物体は、観察者の体の一部に限定されるものではなく、観察者が操作する物体であってもよい。また、上記物体は、観察者が遠隔で操作するロボットのアームであってもよく、撮像装置２１Ｌ、２１Ｒは、観察者の視点位置からの現実空間を撮像するカメラに限定されない。
【００３５】
さらに、上記実施形態においては、表示装置としてビデオシースルー方式のＨＭＤを用いる場合について説明したが、光学シースルー方式のＨＭＤであっても実現可能である。上述した本実施形態では、画像合成部３７は、撮像装置２１Ｌ、２１Ｒの夫々の画像に対して、画像生成部３６において生成された仮想物体６０の画像を上書きするように合成した。しかしながら、撮像装置２１Ｌ、２１Ｒの画像に仮想物体６０の画像を合成するのではなく、単に仮想物体６０の画像を表示装置２２のディスプレイに表示するようにしてもよい。
また、表示装置はＨＭＤに限定されるものではなく、ハンドヘルドディスプレイ（ＨＨＤ）を用いてもよい。ＨＨＤは、手持ちのディスプレイである。つまり、観察者が手にとり、双眼鏡のように覗き込むことで画像を観察するディスプレイであってもよい。さらに、表示装置は、タブレットやスマートフォン等の表示端末であってもよい。
【００３６】
また、図６のＳ５１において、画像生成部３６は、手４０の位置と、仮想物体６０が重畳される現実物体５１の位置（仮想物体６０が配置される位置）との間の距離に基づいて、透明度を決定してもよい。例えば、手４０の移動速度が所定の速度以上であり、現実物体５１との距離が所定の距離以下である場合に、ＣＧを透明する。つまり、手４０の移動速度が所定の速度以上である場合であっても、現実物体５１との距離が所定の距離を上回っていれば、ＣＧを透明にしないようにする。
この場合、撮像装置２１Ｌ、２１Ｒによって、例えば図２（ａ）のようなマーカー５０を含む現実物体５１を撮像した場合には、図４のＳ３の物体推定処理と同様に現実物体５１の位置を推定する。次に、手４０の位置と現実物体５１の位置との差を算出することにより、手４０と現実物体５１との距離を算出する。そして、算出した距離に応じてＣＧの透明度を決定する。現実物体５１から手４０が離れた場所にあった場合に、手４０を早く動かしても、現実物体５１に接触するおそれはない。したがって、このような場合にはＣＧを透明にせず、違和感のない複合現実感を提示することができる。
【００３７】
さらに、図６のＳ５１において、画像生成部３６は、手４０の移動方向に基づいて、透明度を決定してもよい。観察者が手４０を現実物体５１から離れる方向に移動させた場合、手４０を早く動かしても、現実物体５１に接触することはない。したがって、このような場合にはＣＧを透明にしないように、手４０の移動方向が現実物体５１に近づく方向である場合にのみＣＧを透明にするようにしてもよい。
【００３８】
（第二の実施形態）
上述した第一の実施形態では、物体（手４０）の移動速度に応じて仮想物体６０の画像全体を透明にする場合について説明した。この第二の実施形態では、仮想物体６０の画像の一部を透明にする場合について説明する。
本実施形態における画像処理装置３０を備えるＭＲシステム１０の構成は、上述した図１に示す構成と同様である。また、本実施形態における画像処理装置３０の動作も、上述した図４に示す動作と同様である。ただし、図４のＳ５におけるＣＧレンダリング処理が上述した第一の実施形態とは異なる。したがって、以下、処理の異なる部分を中心に説明する。
【００３９】
図８は、本実施形態における画像生成部３６が図４のＳ５において実行するＣＧレンダリング処理の流れを示すフローチャートである。
まずＳ１５１において、画像生成部３６は、手４０の位置に応じてＣＧを透明にする領域（以下、「透明領域」と呼ぶ。）を決定する。透明領域は、手４０を含む所定の範囲に対応する領域、例えば、手４０から一定の距離の内側の領域とすることができる。この透明領域は、物体推定処理において推定された手４０の３次元形状および位置と、あらかじめ設定された上記一定の距離とから決定することができる。
【００４０】
図９（ａ）は、手４０の周りの仮想物体６０のみを透明にした様子を表している。この図９（ａ）において、透明領域７１は、手４０から一定の距離の領域であり、その透明領域７１に含まれている仮想物体６０のみが透明になってその裏にある現実物体５１の一部が表示されている様子を表している。この場合、観察者が手４０を移動することで、手４０の位置に応じて手４０の周りの現実物体５１が表示されるようになるので、手４０が現実物体５１に接触する可能性を低減することができる。また、手４０の周り以外のＣＧは透明にならないので、観察者がＣＧを見ることが阻害されない。
【００４１】
なお、本実施形態では、手４０から一定の距離の内側の領域を透明領域とする場合について説明したが、手４０の移動方向における透明領域を他の方向に対して広く設定してもよい。図９（ｂ）は、手４０が指先方向に移動している場合の表示例を示している。この場合、透明領域７２は、手４０の指先方向における範囲が他の方向に対して広くなる。
これにより、手４０の移動方向に配置された仮想物体６０の透明になる範囲が広くなり、手４０が仮想物体６０の裏に隠された現実物体５１と接触する可能性をより低減することができる。この場合の透明領域は、物体推定処理において推定された手４０の３次元形状および位置と、手４０の移動方向と、あらかじめ設定された所定の距離とから決定することができる。なお、透明領域を広げる範囲は、移動速度にかかわらず一定としてもよいし、移動速度が速いほど大きく広げるようにしてもよい。
【００４２】
図８に戻って、Ｓ１５２では、画像生成部３６は、Ｓ１５１において決定された透明領域と仮想物体６０との重なりを考慮して、仮想物体６０の画像（ＣＧ）の透明度を決定する。具体的には以下の通りである。
まず、透明領域と重ならない仮想物体６０は透明にしない。
透明領域と重なる仮想物体６０の画像の透明度は、Ｓ３４において決定された手４０の移動速度に応じて決定する。この場合の透明度の決定方法は、Ｓ５１における透明度の決定方法と同様であってもよい。あるいは、透明領域と重なる仮想物体６０の画像の透明度を、透明領域内において重み付けしてもよい。つまり、透明領域のうち手４０に近い領域はより透明度が高くなり、手４０から遠い領域は透明度が低くなるようにしてもよい。これにより、より現実物体との接触の可能性が高い、手４０に近い部分の仮想物体６０を透明にすることができ、現実物体との接触の可能性を適切に低減することができる。
【００４３】
Ｓ１５３では、画像生成部３６は、Ｓ１５２において決定された透明度に従って、仮想物体６０の画像を生成する。詳細な処理は、Ｓ５２と同様であるため説明は省略する。
なお、上述した第一の実施形態と同様に、本実施形態においても、Ｓ１５２において、現実物体と手との距離に応じて透明度を決定してもよい。この処理は第一の実施形態と同様に実施できるため説明は省略する。
このように、本実施形態における画像処理装置３０は、仮想物体６０の画像のうち、手４０を含む所定の範囲に対応する領域を透明にする。仮想物体６０の画像全体ではなく、仮想物体６０の画像の一部を透明領域とするので、不必要にＣＧを透明にすることがない。また、手４０の移動方向の透明領域を他の方向に対して広く設定するので、より確実に現実物体との接触可能性を低減することができる。
【００４４】
以上のように、上記各実施形態では、画像処理装置３０は、手などの物体の移動速度に応じてＣＧの透明度を制御するようにした。したがって、手などが素早く移動された場合にはＣＧが透明になり、通常はＣＧの裏側に隠れて見えない現実物体を表示させることができるので、手などが現実物体に接触する可能性を低減することができる。また、手などが移動しないか、ゆっくりと移動された場合には、ＣＧは透明にならないので、観察者がＣＧを見ることを阻害しないようにすることができる。
【００４５】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４６】
１０…複合現実感システム、２１Ｌ、２１Ｒ…撮像装置、２２…表示装置、３０…画像処理装置、３１…画像取得部、３２…画像記憶部、３３…物体推定部、３４…モデル形状記憶部、３５…位置姿勢推定部、３６…画像生成部、３７…画像合成部、３８…表示制御部
【図１】
2018063567.tif 000002
【図２】
2018063567.tif 000003
【図３】
2018063567.tif 000004
【図４】
2018063567.tif 000005
【図５】
2018063567.tif 000006
【図６】
2018063567.tif 000007
【図７】
2018063567.tif 000008
【図８】
2018063567.tif 000009
【図９】
2018063567.tif 000010