(57)【要約】【課題】  ユーザが自然な感覚でＣＧを操作することが可能になる。【解決手段】  撮像部を有する表示装置と通信し、当該表示装置に表示すべき画像を生成する情報処理装置であって、撮像部で撮像した画像を取得する画像取得部と、ユーザが操作する操作部の厚みに関する情報を設定する設定部と、画像取得部により取得した画像内の操作部が存在する領域を検出し、当該領域に基づき操作部の撮像部から見える表面モデルを生成する表面モデル生成部と、設定部で設定した厚みに関する情報に基づき、表面モデルから厚みを有する厚みモデルを生成する厚みモデル生成部と、該厚みモデル生成部で生成した厚みモデルに基づきＣＧオブジェクトとの接触判定を行って、表示装置に表示すべき画像を生成する画像生成部とを有する。【選択図】  図１
2019046096.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段を有する表示装置と通信し、当該表示装置に表示すべき画像を生成する情報処理装置であって、
前記撮像手段で撮像した画像を取得する画像取得手段と、
ユーザが操作する操作部の厚みに関する情報を設定する設定手段と、
前記画像取得手段により取得した画像内の前記操作部が存在する領域を検出し、当該領域に基づき前記操作部の前記撮像手段から見える表面モデルを生成する表面モデル生成手段と、
前記設定手段で設定した厚みに関する情報に基づき、前記表面モデルから厚みを有する厚みモデルを生成する厚みモデル生成手段と、
該厚みモデル生成手段で生成した厚みモデルに基づきＣＧオブジェクトとの接触判定を行って、前記表示装置に表示すべき画像を生成する画像生成手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記厚みモデル生成手段は、
前記表面モデルの法線方向に厚みをつける厚み付け手段と、
前記厚みモデルを前記操作部が示す領域に投影した際の領域の外に出ないようにモデルを変形する変形手段と、
を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記変形手段は、領域外に出る領域を前記撮像手段の視線方向に変形することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記厚みモデル生成手段は、厚みを体積から算出する手段を有することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記表示装置は、頭部装着ディスプレイであることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
撮像手段を有する表示装置と通信し、当該表示装置に表示すべき画像を生成する情報処理装置の制御方法であって、
前記撮像手段で撮像した画像を取得する画像取得工程と、
前記ユーザが操作する操作部の厚みに関する情報を設定する設定工程と、
前記画像取得工程により取得した画像内の前記操作部が存在する領域を検出し、当該領域に基づき前記操作部の前記撮像手段から見える表面モデルを生成する表面モデル生成工程と、
前記設定工程で設定した厚みに関する情報に基づき、前記表面モデルから厚みを有する厚みモデルを生成する厚みモデル生成工程と、
該厚みモデル生成工程で生成した厚みモデルに基づきＣＧオブジェクトとの接触判定を行って、前記表示装置に表示すべき画像を生成する画像生成工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項７】
コンピュータが読み込み実行することで、前記コンピュータに、請求項６に記載の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像画像から特定の現実物をモデル化するための情報処理装置に関する。
【背景技術】
【０００２】
近年、現実空間に仮想空間の情報をリアルタイムに重ね合せて利用者に提示する複合現実感（ＭＲ:Mixed Reality）に関する研究が行われている。複合現実感では、頭部装着ディスプレイ（ＨＭＤ:Head Mounted Display)などの撮像装置によって撮像された現実の映像の全域、または一部に、撮像装置の位置姿勢に応じた仮想空間の画像（ＣＧ:Computer Graphics）を重畳した合成画像を表示する。
【０００３】
このとき、現実物と仮想物体の距離に応じて撮像画像領域にある特定の現実物領域に仮想物体を表示しないことで物体間の距離感を表現することができる。例えば、ＨＭＤを装着したユーザが自分の手や工具などの現実物を仮想物体の前にかざしたとき、撮像画像上の手や工具の領域に仮想物体を描画しなければ自分の手や工具が仮想物体の手前にあるように表示される。これにより、ユーザは仮想物体と現実物の位置関係を把握しやすくなり、仮想空間上で現実の手や工具を用いた作業の検証が容易になる。
【０００４】
このように、現実物と仮想物体の位置関係を正しく表現するためには、現実物領域の検出、および現実物の距離計測が必要となる。しかしながら、ＨＭＤに取り付けられた距離計測装置で現実物までの距離を計測しても、得られるのは、ＨＭＤと現実物の表面間の距離であり、現実物そのものの奥行き（ＨＭＤ側の面とその反対側の面の距離）を取得することはできない。この結果、複合現実感において現実の手とＣＧモデルの接触判定を行う場合、カメラから現実の手の表面までの距離を計測しても、実際にＣＧモデルと接触している手の裏面との接触判定が行えないという問題がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−８２２８８号公報
【特許文献２】特開２０１６−７１６４５号公報
【非特許文献】
【０００６】
【非特許文献１】J.P.Lewis, Matt Corder, and Nickson Fong. Pose space deformations. A unified approach to shape interpolation and skeleton-driven deformation. Proceedings of SIGGRAPH 2000, pp.165-172, July 2000
【発明の概要】
【発明が解決しようとする課題】
【０００７】
例えば、特許文献１は、複数視点カメラで奥行き推定する場合に、画像間で対応付けができない点の奥行きを、対応付けできた点の奥行きから推定する手法を開示している。また、非特許文献１は、事前に用意した体や手のＣＧモデルを利用してモーションキャプチャで得られた関節に厚み付けを行っている。また、特許文献２は、深度画像を基に正面領域だけでなく側面領域も含めた広範囲の三次元モデルを復元する手法を提案している。
【０００８】
しかしながら、特許文献１では複数のカメラ間でマッチングできない領域に対して奥行きを推定できる一方で、すべてのカメラで見えない領域の奥行きを推定することはできない。また、非特許文献１では、モーションキャプチャで得られる関節位置などからモデルを再構築した際にＣＧモデルと現実物の位置や太さ、長さを一致させることは難しく、複合現実感において見た目のずれが生じる問題がある。さらに、特許文献２ではボクセルを利用することを前提としており、精度良くモデルの奥行きを推定する場合には、ボクセルを細かくしなければならず奥行モデルの生成に多大なメモリと時間を要する、という問題がある。
【０００９】
ＭＲにおいてユーザが自身の手でＣＧモデルを操作する場合がある。この場合、ステレオカメラや深度センサからユーザの手をモデル化し、モデル化した手とＣＧモデルの前後関係を表現しながら高速な接触判定を行う必要がある。ここで、モデル化された手を表示するとき、表示位置に実写の手画像を重ね合わせることでユーザは現実の手でＣＧモデルを操作するように感じる。
【００１０】
一方で、モデル化した手が現実の手形状と異なると現実映像と見た目のずれが生じてしまい、ユーザに違和感を与える。また、ＨＭＤに取り付けられた距離計測装置を用いて物体表面だけをモデル化する場合、厚みを考慮することができずＣＧモデルとの接触判定が正しく行えずユーザに違和感を与える問題がある。
【００１１】
本発明は係る問題に鑑みなされたものであり、ユーザが自然な感覚でＣＧを操作する技術を提供しようとするものである。
【課題を解決するための手段】
【００１２】
この課題を解決するため、例えば本発明の情報処理装置は以下の構成を備える。すなわち、
撮像手段を有する表示装置と通信し、当該表示装置に表示すべき画像を生成する情報処理装置であって、
前記撮像手段で撮像した画像を取得する画像取得手段と、
ユーザが操作する操作部の厚みに関する情報を設定する設定手段と、
前記画像取得手段により取得した画像内の前記操作部が存在する領域を検出し、当該領域に基づき前記操作部の前記撮像手段から見える表面モデルを生成する表面モデル生成手段と、
前記設定手段で設定した厚みに関する情報に基づき、前記表面モデルから厚みを有する厚みモデルを生成する厚みモデル生成手段と、
該厚みモデル生成手段で生成した厚みモデルに基づきＣＧオブジェクトとの接触判定を行って、前記表示装置に表示すべき画像を生成する画像生成手段とを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ユーザが自然な感覚でＣＧを操作することが可能になる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態におけるシステム構成図。
【図２】第１の実施形態における厚み登録部の登録方法を示す図。
【図３】第１の実施形態における厚みモデル生成部の処理を示すフローチャート。
【図４】第１の実施形態における対象物領域検出部の入力画像の例を示す図。
【図５】第１の実施形態における対象物領域検出部の出力画像の例を示す図。
【図６】第１の実施形態における厚みモデル生成部における法線方向に厚み付けしたモデルを示す図。
【図７】第１の実施形態における厚みモデル生成部における頂点の修正位置を示す図。
【図８】変形例における厚みモデルと圧力の関係を示す図。
【発明を実施するための形態】
【００１５】
以下図面に従って本発明に係る実施形態を詳細に説明する。
【００１６】
＜装置構成＞
図１に本実施形態に係る撮像装置を制御する情報処理装置のブロック図を示す。本実施形態では、撮像装置１００、入力装置２００、表示装置３００が情報処理装置１０００に接続された構成となる。ただし、撮像装置１００はステレオ構成とする。例えば、撮像装置１００はビデオシースルー型ＨＭＤ（ＨｅａｄＭｏｕｎｔｅｄＤｉｓｐｌａｙ）に設けられる撮像カメラであり、表示装置３００はＨＭＤやＰＣモニタなどのディスプレイである。また、ＨＭＤの位置姿勢の検出は、ＨＭＤの撮像装置が撮像した画像内に写っているマーカ（マーカーの種類と位置が既知）に基づいて行うものとするが、ＨＭＤの位置姿勢を検出する手段についてが、その種類を問わない。
【００１７】
情報処理装置１０００は、パーソナルコンピュータなどに代表される装置であって、内部にプロセッサ、ＲＡＭ（メモリ）、ＯＳ（オペレーティングシステム）や以下に説明する各種処理を実現するためのアプリケーションプログラムを記憶する外部記憶装置（ハードディスク等が代表である）、各種外部機器（ＨＭＤ（撮像装置１００、表示装置３００）、入力装置２００（キーボード、ポインティングデバイス等））と通信するインターフェースを有する。そして、本装置の電源がＯＮになると、プロセッサは外部記憶装置からメモリにＯＳをロードし実行し、次いでアプリケーションを実行する。この結果、プロセッサは、情報処理装置１０００内の厚み登録部１０２０、データ記憶部１０３０、対象物領域検出部１０４０、表面モデル生成部１０５０、厚みモデル生成部１０６０、接触判定部１０７０、表示画像生成部１０８０が機能する。なお、これらの全てがソフトウェアで実現するのではなく、その一部がハードウェアで実現させても構わない。以下は各構成要素の機能の説明である。
【００１８】
撮像画像取得部１０１０は、ＨＭＤから、ＨＭＤに搭載された撮像装置１００による撮像画像を受信し、データ記憶部１０３０に一時的に格納する。厚み登録部１０２０は、入力部２００より入力した、実施形態におけるモデル化対象物の厚みに関する情報（厚みパラメータ）をデータ記憶部１０３０に格納する。データ記憶部１０３０は、例えばＲＡＭに確保されるメモリ領域である。なお、モデル化対象物は、実施形態では、ＨＭＤを装着したユーザが操作する操作部であり、具体的にはユーザの手である。
【００１９】
対象物領域検出部１０４０は、データ記憶部１０３０に記憶された撮像画像を読出し、その撮像画像内に存在するモデル化対象となる現実物（実施形態では手）の領域を検出する。例えば、現実物の色辞書を用いて画像内の特定の色領域を検出しても良いし、機械学習によって対象物領域を検出しても良い。撮像画像から現実物領域を検出可能であれば、その検出の種類は問わない。
【００２０】
表面モデル生成部１０５０は、対象物領域検出部１０４０で検出した検出領域から三次元モデルを生成する。例えば、ステレオ画像の検出領域の輪郭で対応点を求めステレオマッチングすることで対象の三次元のポリゴンモデルを生成する。なお、ステレオマッチングにより生成した三次元モデルは、あくまで撮像装置の視線方向に厚みを持たない薄い表面モデルである。ただし、この三次元モデルを撮像画像に投影すると検出領域と一致する。
【００２１】
厚みモデル生成部１０６０は、表面モデル生成部１０５０で生成した表面モデルに対して撮像画像に投影した際の見た目を変えないように、データ記憶部１０３０に登録された厚みパラメータに応じた厚みを付ける。つまり、厚みモデル生成部１０６０は、単に撮像装置から見える、厚みの無い表面の３次元形状から、奥行きのある「物」としてのモデルを生成する。
【００２２】
接触判定部１０７０は、厚みモデル生成部１０６０で生成した厚みモデルとデータ記憶部に記憶されたＣＧモデルとの接触判定を行う。接触判定は境界ボリュームの階層構造やＧＪＫ法など何れの判定手法でも良い。このとき、モデル同士がめり込まないようにＣＧモデルに対して衝突応答を行っても良いし、接触をトリガーとしてＣＧモデルに対する操作（移動処理等）を行っても良い。
【００２３】
表示画像生成部１０８０は、接触判定部１０７０で計算されたＣＧモデルと厚みモデル、およびデータ記憶部１０３０に記憶した撮像画像の重畳する画像生成を行い、表示装置３００に生成された画像を表示出力する。このとき、最初に撮像画像を背景に描画し、次に深度テストを有効にして透明な厚みモデルをレンダリング、最後にＣＧモデルをレンダリングすることで、厚みモデルの位置に現実物の画像を重畳することができる。
【００２４】
＜処理の手順＞
本実施形態の特徴は、厚み登録部１０２０と厚みモデル生成部の２つの処理にある。厚み登録部１０２０は、対象となるモデルの厚みをＵＩ上から入力する。厚みの登録はモデルの厚みをキーボードやマウスから入力しても良いし、対象の現実物をステレオカメラで撮影してステレオマッチングから自動的に厚みを入力してもよい。例えば、図２に示すように対象の現実物を撮影し、表面モデル生成部１０５０で生成した表面モデルの横幅を厚みとする。
【００２５】
図３は、実施形態の表面モデル生成部１０５０の処理の流れを示したフロー図である。また、図４は撮像画像を示し、図５は対象物領域検出部１０４０が検出し、生成した領域画像を示しておる。
【００２６】
ステップＳ２０１０にて、表面モデル生成部１０５０は、生成した表面モデル１１０を構成する頂点の法線を計算する（実施形態では、この頂点は、対象物領域検出部１０４０が検出した領域における最も垂直方向に位置している点とする）。次に、表面モデル生成部１０５０は、図６に示すように、厚みパラメータに基づき、法線の正負方向に新たな頂点を生成して上下表面モデル１２０を生成する。さらに、表面モデル１１０は、上下表面モデル生成後に側面モデルを生成する。側面モデルは上下表面モデル１２０の対応する頂点と表面モデル１１０の輪郭から得られる隣接頂点を３頂点としたポリゴンの組み合わせで表現できる。
【００２７】
ステップＳ２０２０にて、表面モデル生成部１０５０は、ステップＳ２０１０で生成した厚みモデルの各頂点を対象物領域検出部１０４０で生成した検出領域画像に投影する。
【００２８】
次にステップＳ２０３０にて、表面モデル生成部１０５０は、各頂点が検出領域画像の内か外か判定する。例えば、図６の頂点１４０を投影すると図５の頂点１４０位置が検出領域外に出ていることが判る。
【００２９】
最後に、ステップＳ２０４０にて、表面モデル生成部１０５０は、検出領域画像の外にある場合は、図７に示すように頂点１４０を視線上に移動して厚みモデルを変形する。ここで、移動後の頂点を１５０とする。例えば、頂点１４０の法線がn、視線方向がe、厚みがd[mm]のとき、頂点の移動量は視線と逆方向にx[mm]となる。移動量xの算出方法を次式（１）に示す。
【００３０】
【数１】
2019046096.tif 000003
【００３１】
＜変形例１＞
上記実施形態では、厚み登録部１０２０で現実物の厚みを入力したが、厚みの代わりに体積を登録しても良い。例えば、モデルの体積をキーボードやマウスから入力しても良いし、カメラを用いて対象の現実物の三次元再構成を行うことでモデルの体積を算出しても良い。
【００３２】
実施形態における厚みモデル生成部１０６０は、入力された厚みだけ法線方向に厚みを付けていたが、変形例１では設定した体積にするように厚み量を動的に計算する。厚みモデルの体積は、ガウスの発散定理より次式（２）で計算できる。
【００３３】
【数２】
2019046096.tif 000004
ここで、Vはモデルの体積、Sはモデルの表面積、Aは任意のベクトルである。Aは任意のベクトルなのでdivA=1（例えば、A=(x, 0, 0)）とすると次式（３）となる。
【００３４】
【数３】
2019046096.tif 000005
ここで、厚みモデルを構成するポリゴンiの頂点をvi1,vi2,vi3とするとdSは次式（４）で表せる。
【００３５】
【数４】
2019046096.tif 000006
【００３６】
式（３）、（４）より、厚みモデルの体積は次式（５）で近似できる。
【００３７】
【数５】
2019046096.tif 000007
【００３８】
次に体積が設定値となるように頂点を移動する。例えば、圧力モデルによって頂点を動的に移動すればよい。圧力モデルは厚みモデルの内部に気体が入っているものと考え、体積の変化に応じた圧力変化によって変形する手法である。
【００３９】
例えば、現在の体積をV、設定した体積をV’とするとボイル=シャルルの法則より次式（６）が成り立つ。
【００４０】
【数６】
2019046096.tif 000008
【００４１】
ただし、Tは現在の気体の温度、pは現在の圧力、T’は設定した体積での気体の温度、p’は設定した体積での圧力である。ここで変形前後の気体の温度が等しければ次式（７）が成り立ち、体積から気体の圧力が求められる。
【００４２】
【数７】
2019046096.tif 000009
【００４３】
また、体積V’で内圧と外圧が釣り合っている状態と考えると外圧はp’となり、内外圧差はp-p’となる。ここで、圧力は単位面積当たりの応力なので、ポリゴンの面積に応じてポリゴンを構成する頂点に力を加えて厚みモデルを変形していく。図８に厚みモデルと圧力の関係を示す。厚みモデルの体積が小さいときは大きな内圧により厚みモデルの頂点が外側に膨らんでいき、設定した体積に近づくと内圧が小さくなり体積の変動も少なくなる。
【００４４】
このように、厚みモデルが設定した体積になるまで同様の計算を繰り返すことで体積を一定にすることができる。
【００４５】
なお、頂点が検出領域から出る場合には視線方向に直交する向きに、はみ出した大きさに応じた力を加えることで検出領域画像からモデルがはみ出さないようにできる。
【００４６】
以上説明したように実施形態によれば、ユーザの手の表面モデルから、厚みモデルを求め、その厚みモデルを用いてＣＧオブジェクトとの衝突判定を行った画像を生成するので、違和感の発生しにくい画像を生成することが可能になる。
【００４７】
なお、実施形態ではユーザは表示装置としてＨＭＤを例にして説明したが、例えばスマートホンやタブレット等のカメラ付きの表示装置であっても構わないので、上記実施形態により本願発明が限定されるものではない。
【００４８】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４９】
１００…撮像装置、２００…入力装置、３００…表示装置、１０００…情報処理装置、１０１０…撮像画像取得部、１０２０…厚み登録部、１０３０…データ記憶部、１０４０…対象物領域検出部、１０５０…表面モデル生成部、１０６０…厚みモデル生成部、１０７０…接触判定部、１０８０…表示画像生成部
【図１】
2019046096.tif 000010
【図２】
2019046096.tif 000011
【図３】
2019046096.tif 000012
【図４】
2019046096.tif 000013
【図５】
2019046096.tif 000014
【図６】
2019046096.tif 000015
【図７】
2019046096.tif 000016
【図８】
2019046096.tif 000017