(57)【要約】【課題】画像の合成と接触判定の両方を高精度に行う。【解決手段】情報処理装置であって、現実物体を撮影した画像から抽出した現実物体の輪郭点を結ぶ面で構成される第一のモデルを生成するモデル生成部と、現実物体の表面形状を表す第二のモデルを取得するモデル取得部と、第二のモデルと仮想物体のＣＧモデルとに基づいて現実物体と仮想物体との接触を判定する接触判定部と、第一のモデルと仮想物体のＣＧモデルとに基づいて画像中に仮想物体を合成する画像合成部とを備える。【選択図】  図３
2018142273.tif 000002
【特許請求の範囲】
【請求項１】
現実物体を撮影した画像から抽出した前記現実物体の輪郭点を結ぶ面で構成される第一のモデルを生成するモデル生成手段と、
前記現実物体の表面形状を表す第二のモデルを取得するモデル取得手段と、
前記第二のモデルと仮想物体のＣＧモデルとに基づいて前記現実物体と前記仮想物体との接触を判定する接触判定手段と、
前記第一のモデルと前記仮想物体の前記ＣＧモデルとに基づいて前記画像中に前記仮想物体を合成する画像合成手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記接触判定手段は、前記第二のモデルと仮想物体のＣＧモデルとの重なりに基づいて前記接触を判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記画像合成手段は、前記第一のモデルと前記仮想物体の前記ＣＧモデルとの前後関係に基づいて前記画像中に前記仮想物体を合成することを特徴とする請求項1又は２に記載の情報処理装置。
【請求項４】
前記接触判定手段は、前記第二のモデルと仮想物体のＣＧモデルとが重なっており、且つ、前記第一のモデルの前記画像への投影領域と前記仮想物体の前記ＣＧモデルの前記画像への投影領域とが重なっている場合に、前記現実物体と前記仮想物体とが接触していると判定することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記接触判定手段は、前記第二のモデルと仮想物体のＣＧモデルとが重なっていても、前記第一のモデルの前記画像への投影領域と前記仮想物体の前記ＣＧモデルの前記画像への投影領域とが重なっていない場合には、前記現実物体と前記仮想物体とが接触していないと判定することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記第一のモデルの前記画像への投影領域と前記第二のモデルの前記画像への投影領域との重なり度合に基づいて、前記第一のモデルと前記第二のモデルとの組み合わせを判断する組み合わせ判断手段をさらに備え、
前記組み合わせ判断手段は、前記重なり度合が閾値以上である場合には、前記接触判定手段の処理で前記第二のモデルを使用し、前記画像合成手段の処理で前記第一のモデルを使用するように判断することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
現実物体を撮影した画像から抽出した前記現実物体の輪郭点を結ぶ面で構成される第一のモデルを生成するモデル生成手段と、
前記現実物体の表面形状を表す第二のモデルを取得するモデル取得手段と、
前記第一のモデルの前記画像への投影領域と前記第二のモデルの前記画像への投影領域との重なり度合に基づき前記第一のモデルまたは前記第二のモデルから選択されたいずれかのモデルと、仮想物体のＣＧモデルとに基づいて前記現実物体と前記仮想物体との接触を判定する接触判定手段と、
前記第一のモデルの前記画像への投影領域と前記第二のモデルの前記画像への投影領域との重なり度合に基づき前記第一のモデルまたは前記第二のモデルから選択されたいずれかのモデルと、前記仮想物体の前記ＣＧモデルとに基づいて前記画像中に前記仮想物体を合成する画像合成手段と、
を備えることを特徴とする情報処理装置。
【請求項８】
前記接触判定手段は、前記重なり度合が閾値未満である場合には、前記第一のモデルを選択し、前記画像合成手段は、前記重なり度合が閾値未満である場合には、前記第一のモデルを選択することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記接触判定手段は、前記重なり度合が閾値未満である場合には、前記第二のモデルを選択し、前記画像合成手段は、前記重なり度合が閾値未満である場合には、前記第二のモデルを選択することを特徴とする請求項７に記載の情報処理装置。
【請求項１０】
前記重なり度合が閾値未満である場合に警告を出力する警告手段をさらに備えることを特徴とする請求項７乃至９の何れか１項に記載の情報処理装置。
【請求項１１】
前記画像合成手段は、前記接触判定手段の判定結果に基づいて、合成された画像上の前記仮想物体の表示態様を動的に変更することを特徴とする請求項１乃至１０の何れか１項に記載の情報処理装置。
【請求項１２】
情報処理装置の制御方法であって、
現実物体を撮影した画像から抽出した前記現実物体の輪郭点を結ぶ面で構成される第一のモデルを生成するモデル生成工程と、
前記現実物体の表面形状を表す第二のモデルを取得するモデル取得工程と、
前記第二のモデルと仮想物体のＣＧモデルとに基づいて前記現実物体と前記仮想物体との接触を判定する接触判定工程と、
前記第一のモデルと前記仮想物体の前記ＣＧモデルとに基づいて前記画像中に前記仮想物体を合成する画像合成工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項１３】
コンピュータを、請求項１乃至１１の何れか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法及びプログラムに関し、特に、現実物体と仮想物体とのインタラクションを実現する技術に関する。
【背景技術】
【０００２】
現実空間と仮想空間を融合し、体験者が仮想の物体とのインタラクションを行えるようにする複合現実感（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ：ＭＲ）の技術がある。ＭＲ技術では、現実の風景に対して仮想物体を表すコンピュータグラフィックス（以下、「ＣＧ」と記述）を合成して提示したり、現実物体と仮想物体との接触を表現したりことで、インタラクションを実現する。
【０００３】
特許文献１では、撮影画像から抽出した現実物体の輪郭を結ぶことでポリゴンを生成し、そのポリゴンと仮想物体との前後関係に基づいて、撮影画像に仮想物体を合成する技術が開示されている。また、特許文献２では、撮影画像から手指形状を推定し、仮想物体との接触を判定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５５７４８５２号公報
【特許文献２】特開２００９−３８１３公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の技術で生成するポリゴンは現実物体の輪郭を結んだものであり、厚みを反映していないので、このポリゴンを用いて接触判定を行うと、厚み分だけ判定結果がずれてしまう恐れがある。また、特許文献２の技術で推定した手指形状は必ずしも輪郭線に沿ったものとはならないため、この手指形状を用いて画像合成を行うと、輪郭をはみ出して画像が合成されてしまうことがある。このように、従来の技術では、画像の合成と接触判定の両方を高精度に行うことが難しいという課題がある。
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、画像の合成と接触判定の両方を高精度に行うための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成する本発明に係る情報処理装置は、
現実物体を撮影した画像から抽出した前記現実物体の輪郭点を結ぶ面で構成される第一のモデルを生成するモデル生成手段と、
前記現実物体の表面形状を表す第二のモデルを取得するモデル取得手段と、
前記第二のモデルと仮想物体のＣＧモデルとに基づいて前記現実物体と前記仮想物体との接触を判定する接触判定手段と、
前記第一のモデルと前記仮想物体の前記ＣＧモデルとに基づいて前記画像中に前記仮想物体を合成する画像合成手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、画像の合成と接触判定の両方を高精度に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１に係る情報処理装置のハードウェア構成を示す図である。
【図２】実施形態１に係る情報処理装置の機能構成を示す図である。
【図３】実施形態１に係る情報処理装置が実施する処理の手順を示すフローチャートである。
【図４】実施形態１に係る手指の輪郭点抽出方法の一例を示す図である。
【図５】実施形態１に係る接触判定部の処理を模式的に示す図である。
【図６】実施形態１に係る画像合成部の処理を模式的に示す図である。
【図７】実施形態１に係る輪郭モデルと表面モデルを模式的に示す図である。
【図８】表実施形態１に係る面モデルを用いた接触判定処理を模式的に示す図である。
【図９】実施形態３に係る情報処理装置の機能構成を示す図である。
【図１０】実施形態３に係る情報処理装置が実施する処理の手順を示すフローチャートである。
【図１１】実施形態３に係る輪郭モデルと表面モデルの投影領域を模式的に示す図である。
【図１２】実施形態３に係る組み合わせ判断部による判断の例を示す図である。
【図１３】実施形態２に係る情報処理装置が実施する処理の手順を示すフローチャートである。
【図１４】実施形態２に係る接触判定部の処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
（実施形態１）
本実施形態では、接触判定処理では現実物体の表面モデルを使用（選択）し、画像合成処理では現実物体の輪郭モデルを使用（選択）することにより、現実物体の厚みを考慮した高精度な接触判定処理と、現実物体の輪郭線に沿った綺麗な合成処理との両方を実現する例を説明する。
【００１２】
＜ハードウェア構成＞
図１は、本実施形態に係る情報処理装置のハードウェア構成を示す図である。情報処理装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、ＨＤＤ１０４、インタフェース１０５、システムバス１０６を含んで構成されている。、情報処理装置１００は、インタフェース１０５を介してＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）１０７及びセンサ１０８と接続されている。
【００１３】
ＣＰＵ１０１は、ＲＡＭ１０２をワークメモリとして、ＲＯＭ１０３に格納されたプログラムを実行し、システムバス１０６を介して後述する各構成を統括的に制御する。これにより、後述する様々な処理が実行される。
【００１４】
ＨＤＤ１０４は、二次記憶装置としての役割を持つ。ＣＰＵ１０１は、ＨＤＤ１０４からのデータ読み出し、およびＨＤＤ１０４へのデータ書き込みが可能である。なお、二次記憶装置は、ＨＤＤの他、光ディスクドライブ等の記憶デバイスでもよい。
【００１５】
インタフェース１０５は、ＨＭＤ１０７やセンサ１０８などの外部機器とのデータのやり取りを行う。ＨＭＤ１０７は、撮影部１０９，１１０と表示部１１１，１１２とを備えており、撮影部１０９，１１０の撮影画像や後述の合成画像を表示部１１１，１１２に表示する。なお、本発明は情報処理装置１００にＨＭＤ１０７が接続されている場合に限定されず、現実物体の撮影画像を取得できる構成であれば適用可能である。
【００１６】
センサ１０８は、特定の現実物体の形状を計測するセンサである。以下では、センサ１０８が手指の形状を計測するセンサであるものとして説明を行うが、本発明はこれに限定されず、任意の現実物体を計測する場合に適用できる。センサ１０８として、例えば、デプスセンサ、ＩＲ（Ｉｎｆｒａｒｅｄ  Ｒａｙ）センサ、ハンドトラッキング用のデータグローブなどを用いることができる。
【００１７】
なお、情報処理装置１００の構成要素は上記以外にも存在するが、本発明の主眼ではないので、説明を省略する。
【００１８】
＜機能構成＞
図２は、本実施形態に係る情報処理装置の機能構成を示す図である。情報処理装置１００は、画像取得部２０１、輪郭点抽出部２０２、三次元位置算出部２０３、輪郭モデル生成部２０４、表面モデル取得部２０５、接触判定部２０６、及び画像合成部２０７を備えている。
【００１９】
画像取得部２０１は、撮影部１０９，１１０からそれぞれ撮影画像を取得する。輪郭点抽出部２０２は、画像取得部２０１により取得された撮影画像のそれぞれから手指の輪郭点を抽出する。三次元位置算出部２０３は、輪郭点抽出部２０２により抽出された輪郭点の三次元位置を算出する。
【００２０】
輪郭モデル生成部２０４は、三次元位置算出部２０３により算出された輪郭点の三次元位置に基づいて、輪郭点抽出部２０２により抽出された輪郭点を結ぶことで輪郭モデルを生成する。表面モデル取得部２０５は、センサ１０８から手指の表面形状を表す表面モデルを取得する。
【００２１】
接触判定部２０６は、表面モデル取得部２０５により取得された表面モデルと仮想物体との重なりに基づいて、手指と仮想物体との接触を判定する。仮想物体の詳細については後述する。画像合成部２０７は、輪郭モデルと仮想物体のＣＧモデルとの前後関係に基づいて、画像取得部２０１により取得された撮影画像中に仮想物体を合成する。
【００２２】
＜処理＞
また、図３は、本実施形態に係る情報処理装置が実施する処理の手順を示すフローチャートである。ステップＳ３０１において、画像取得部２０１は、撮影部１０９，１１０からそれぞれ撮影画像を取得する。以下、撮影部１０９、１１０から取得した撮影画像をまとめて、「ステレオ画像」とも記述する。
【００２３】
ステップＳ３０２において、輪郭点抽出部２０２が、ステップＳ３０１において取得したステレオ画像のそれぞれから手指の輪郭点を抽出する。ここで図４は、手指の輪郭点抽出方法の一例を示す図である。輪郭点抽出部２０２は、まず、あらかじめ登録しておいた手の色に基づいて、撮影画像４０１，４０２から手指領域４０３，４０４を抽出する。そして、撮影画像４０１，４０２中の一定間隔で引かれた水平線（もしくは、エピポーラ線）と手指領域４０３，４０４との交点を輪郭点として抽出する。なお、本発明における輪郭点抽出はこの方法に限定されず、任意の方法で手指の輪郭点を抽出することができる。
【００２４】
ステップＳ３０３において、三次元位置算出部２０３は、ステップＳ３０２で抽出された輪郭点の三次元位置を算出する。ここで、三次元位置の算出には任意の方法を用いることができる。例えば、特許文献１に記載されているように、撮影画像４０１，４０２のそれぞれから抽出した輪郭点の対応付けを行い、三角測量技術を適用することで、輪郭点の三次元位置を算出することができる。
【００２５】
ステップＳ３０４において、輪郭モデル生成部２０４は、ステップＳ３０２で抽出された輪郭点を結ぶことで手指の輪郭モデルを生成する。その際、輪郭モデル生成部２０４は、ステップＳ３０３で算出された三次元位置を用いることで、三次元ポリゴンとして輪郭モデルを生成する。輪郭モデルの詳細については後述する。
【００２６】
ステップＳ３０５において、表面モデル取得部２０５は、センサ１０８から手指の表面形状を表す表面モデルを取得する。手指の表面モデルの詳細については後述する。
【００２７】
ステップＳ３０６において、接触判定部２０６は、ステップＳ３０５で取得された表面モデルと仮想物体のＣＧモデルとの重なりに基づいて、手指と仮想物体との接触を判定する。ここで、図５は、本実施形態に係る接触判定部２０６の処理を模式的に示す図である。図５（ａ）は手指５０１と仮想物体５０２とが接触していない状態を示しており、図５（ｂ）は手指５０１と仮想物体５０２とが接触している状態を示している。接触判定部２０６は、仮想物体５０２の形状を表すＣＧモデルをＲＡＭ１０２、ＲＯＭ１０３、ＨＤＤ１０４などから取得し、手指５０１の形状を表す表面モデルとの重なりの有無を調べることで、手指５０１と仮想物体５０２との接触を判定する。
【００２８】
ステップＳ３０７において、画像合成部２０７は、ステップＳ３０４で生成された輪郭モデルと、仮想物体５０２のＣＧモデルとの前後関係に基づいて、撮影画像４０１，４０２上に仮想物体５０２を合成する。ここで、図６は、本実施形態に係る画像合成部２０７の処理を模式的に示す図である。図６（ａ）は手指５０１が仮想物体５０２の手前にある状態を示しており、図６（ｂ）は手指５０１が仮想物体５０２の奥にある状態を示している。図６（ａ）では仮想物体５０２の一部が手指５０１に隠され、図６（ｂ）では手指５０１の一部が仮想物体５０２に隠されている。画像合成部２０７は、手指５０１と仮想物体５０２との前後関係に基づいてレンダリング処理を行うことで、合成画像を生成する。
【００２９】
具体的には、撮影部１０９，１１０から手指５０１と仮想物体５０２までの距離をそれぞれ算出し、各画素について手指５０１と仮想物体５０２とのうちのより近い方を描画する。また、画像合成部２０７は、接触判定部２０６による判定結果に基づいて、合成された画像上の仮想物体５０２を点滅させたり動かしたりすることで、合成された画像上の仮想物体５０２の表示態様を動的に変更してもよい。例えば、接触している場合に点滅させたり、動かしたりすればよい。これにより、手指５０１と仮想物体５０２とのインタラクションを実現することができる。
【００３０】
以下では、図７を参照して、輪郭モデルと表面モデルの特徴について説明する。図７（ａ）は輪郭モデル７０１を模式的に示し、図７（ｂ）は表面モデル７０２を模式的に示している。図７（ａ）に示すように、輪郭モデル７０１は輪郭点抽出部２０２が抽出した輪郭点を結んだモデルであるため、その形状は撮影画像４０１，４０２上の手指５０１の輪郭線に沿ったものとなる。そのため、画像合成部２０７の処理において手指５０１の形状を表すために輪郭モデル７０１を用いると、手指５０１の輪郭線に沿って綺麗に合成を行うことができる（輪郭のはみ出しを少なくすることができる）。しかし、輪郭モデル７０１は輪郭以外の部分（手のひらや手の甲など、手指５０１の内部）に頂点を持たないため、手指５０１の厚みを反映することができない。そのため、接触判定部２０６の処理において手指５０１の形状を輪郭モデル７０１で表すと、手指５０１の厚み分だけ判定結果がずれてしまう。
【００３１】
一方、図７（ｂ）に示すように、表面モデル７０２は、手指の関節を結ぶボーンに対して手指の厚み分だけ肉付けを行うことで生成される手指の表面形状を表すモデルであり、手指５０１の厚みを反映したモデルである。そのため、接触判定部２０６の処理において手指５０１の形状を表面モデル７０２で表すと、手指５０１の厚みを考慮した高精度な接触判定を行うことができる。しかし、表面モデル７０２は、輪郭点を結んだ輪郭モデル７０１とは異なり、撮影画像４０１，４０２上の手指５０１の輪郭線に沿った形状であるとは限らない。なぜなら、関節の位置や手指の厚みが実際と異なると、その分だけ撮影画像４０１，４０２上の手指５０１の輪郭線からずれるからである。そのため、画像合成部２０７の処理において手指５０１の形状を表面モデル７０２で表すと、手指５０１と仮想物体５０２の輪郭線に沿って綺麗に合成を行うことができない（輪郭のはみ出しが多くなってしまう）。
【００３２】
これに対し、本発明の主眼は、接触判定部２０６及び画像合成部２０７の処理において、輪郭モデル７０１及び表面モデル７０２という複数のモデルを適切に用いることである。特に、本実施形態では、接触判定部２０６の処理に表面モデル７０２を用い、画像合成部２０７の処理に輪郭モデル７０１を用いる。これによって、手指５０１の厚みを考慮した高精度な接触判定処理と、手指５０１の輪郭線に沿った綺麗な合成処理との両方を同時に実現することができる。
【００３３】
なお、手指５０１の表面モデルを撮影画像４０１，４０２に投影し、その結果を半透明表示するなどして、表面モデルが撮影画像４０１，４０２上のどこにあるかをユーザが認識できるようにしてもよい。
【００３４】
以上説明したように、本実施形態では、接触判定処理では現実物体の表面モデルを使用し、画像合成処理では現実物体の輪郭モデルを使用する。これにより、現実物体の厚みを考慮した高精度な接触判定処理と、現実物体の輪郭線に沿った綺麗な合成処理との両方を実現することができる。
【００３５】
（実施形態２）
実施形態１では、接触判定部２０６の処理に表面モデル７０２を用い、画像合成部２０７の処理に輪郭モデル７０１を用いる例を説明した。これに対し、本実施形態では、接触判定部２０６の処理に輪郭モデル７０１と表面モデル７０２との両方を用いることで、より違和感の少ない接触判定処理を実現する例を説明する。すなわち、本実施形態と実施形態１とは、接触判定部２０６の処理に輪郭モデル７０１と表面モデル７０２との両方を用いる点が主として異なる。したがって、本実施形態の説明において、実施形態１と同一の部分については、図１〜図７に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００３６】
＜処理＞
図１３は、本実施形態に係る情報処理装置が実施する処理の手順を示すフローチャートである。なお、図１３におけるステップＳ３０１〜Ｓ３０５及びＳ３０７の各処理は、それぞれ実施形態１で図３を参照して説明した各処理と同様であるため、説明を省略する。
【００３７】
ステップＳ１３０１において、接触判定部２０６は、輪郭モデル７０１、表面モデル７０２と仮想物体５０２との重なりに基づいて、手指５０１と仮想物体５０２との接触を判定する。詳細は後述する。
【００３８】
ここで図８は、表面モデル７０２を用いた接触判定処理を模式的に示す図である。以下では、図８を参照して、表面モデル７０２を用いた接触判定処理の問題点を説明する。図８に示すように、表面モデル７０２を撮影画像４０１，４０２に投影すると、その形状が手指５０１の輪郭線に沿っていない場合がある。そのため、撮影画像４０１，４０２上で手指５０１が仮想物体５０２に重なっていない場合でも、手指５０１と仮想物体５０２とが接触していると判定される場合がある。これは、ＭＲ体験を行っているユーザの視覚情報と接触判定との間に不整合がある状態であり、ユーザに違和感を与えてしまう。本実施形態では、こうした問題を解決するために、仮想物体５０２の形状を表すＣＧモデルと表面モデル７０２とが重なっており、かつ、撮影画像４０１，４０２上で手指５０１が仮想物体５０２に重なっている場合に、両者が接触していると判定する。このように判定することで、ユーザの視覚上（撮影画像４０１，４０２上）で接触していないにも関わらず、接触していると判定されることを防ぐことができる。
【００３９】
続いて、図１４は、本実施形態に係る接触判定部の処理の手順を示すフローチャートである。ステップＳ１４０１において、接触判定部２０６は、表面モデル７０２と仮想物体５０２との重なりを判定する。ステップＳ１４０１で重なっていないと判定された場合、ステップＳ１４０２において、接触判定部２０６は、手指５０１と仮想物体５０２とが接触していないと判定し、処理を終了する。一方、ステップＳ１４０１で重なっていると判定された場合、ステップＳ１４０３へ進む。
【００４０】
ステップＳ１４０３において、接触判定部２０６は、輪郭モデル７０１と仮想物体５０２とを、撮影画像４０１，４０２に投影する。ステップＳ１４０４において、接触判定部２０６は、輪郭モデル７０１の投影結果と仮想物体５０２の投影結果とが重なっているか判定する。ステップＳ１４０４で重なっていないと判定された場合、ステップＳ１４０２へ進み、接触判定部２０６は、手指５０１と仮想物体５０２とが接触していないと判定し、処理を終了する。一方、ステップＳ１４０４で重なっていると判定された場合、ステップＳ１４０５へ進み、接触判定部２０６は、手指５０１と仮想物体５０２とが接触していると判定し、処理を終了する。
【００４１】
なお、ステップＳ１４０４における輪郭モデル７０１の投影領域の代わりに、ステップＳ３０２で抽出した手指領域４０３，４０４を利用してもよい。その他の処理については、実施形態１と同様であるため、説明を省略する。
【００４２】
以上説明したように、本実施形態では、仮想物体５０２の形状を表すＣＧモデルと表面モデル７０２とが重なっており、かつ、撮影画像４０１，４０２上で手指５０１が仮想物体５０２に重なっている場合に、両者が接触していると判定する。これにより、撮影画像４０１，４０２上で手指５０１と仮想物体５０２とが重なっていない場合に、手指５０１と仮想物体５０２が接触していると判定されることを防ぐことができる。
【００４３】
（実施形態３）
実施形態１及び実施形態２では、接触判定部２０６と画像合成部２０７の処理に、あらかじめ決められた輪郭モデル７０１と表面モデル７０２との組み合わせを用いる例を説明した。これに対し、本実施形態では、接触判定部２０６と画像合成部２０７の処理に用いる輪郭モデル７０１と表面モデル７０２との組み合わせを判断し、その判断結果に基づいて処理を行う例を説明する。本実施形態と実施形態１及び実施形態２とは、接触判定部２０６と画像合成部２０７の処理に用いる輪郭モデル７０１と表面モデル７０２との組み合わせを判断する点が主として異なる。したがって、本実施形態の説明において、実施形態１及び実施形態２と同一の部分については、図１〜図８に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００４４】
＜機能構成＞
図９は、本実施形態に係る情報処理装置の機能構成を示す図である。情報処理装置１００は、実施形態１、２に関して図２を参照して説明した構成に加えて、組み合わせ判断部９０１をさらに備えている。組み合わせ判断部９０１は、接触判定部２０６と画像合成部２０７の処理に用いる輪郭モデル７０１と表面モデル７０２との組み合わせを判断する。判断処理の詳細は後述する。
【００４５】
＜処理＞
図１０は、本実施形態に係る情報処理装置が実施する処理の手順を示すフローチャートである。なお、ステップＳ３０１〜Ｓ３０５の各処理は、実施形態１で図３を参照して説明した処理と同様であるため、説明を省略する。
【００４６】
ステップＳ１００１において、組み合わせ判断部９０１は、接触判定部２０６と画像合成部２０７の処理に用いる輪郭モデル７０１と表面モデル７０２の組み合わせを判断する。組み合わせ判断部９０１の処理の詳細は後述する。
【００４７】
ステップＳ１００２において、接触判定部２０６は、ステップＳ１００１で判断された組み合わせのモデルを用いて、手指５０１と仮想物体５０２との接触を判定する。接触判定方法は実施形態１と同様であるため、説明を省略する。
【００４８】
ステップＳ１００３において、画像合成部２０７は、ステップＳ１００１で判断された組み合わせのモデルを用いて、撮影画像４０１，４０２上に仮想物体５０２を合成する。画像合成方法は実施形態１と同様であるため、説明を省略する。
【００４９】
ここで、図１１は、輪郭モデル７０１と表面モデル７０２の投影領域を模式的に示す図である。以下では、図１１を参照して、組み合わせ判断部９０１の処理で算出する投影領域の重なり度合について説明する。
【００５０】
組み合わせ判断部９０１は、輪郭モデル７０１と表面モデル７０２との両方を撮影画像４０１，４０２に投影し、輪郭モデル７０１の投影領域１１０１と、表面モデル７０２の投影領域１１０２との重なり度合に応じて組み合わせを判断する。重なり度合を示す指標として、例えば、以下の式で表されるＦ値を用いることができる。
【００５１】
【数１】
2018142273.tif 000003
【００５２】
ここで、ＴＰは「輪郭モデルの投影領域１１０１」と「表面モデルの投影領域１１０２」の論理和領域、ＦＮは「輪郭モデルの投影領域１１０１」と「表面モデルの投影領域１１０２の論理否定」の論理和領域の画素数である。また、ＦＰは「輪郭モデルの投影領域１１０１の論理否定」と「表面モデルの投影領域１１０２」の論理和領域、ＴＮは「輪郭モデルの投影領域１１０１の論理否定」と「表面モデルの投影領域１１０２の論理否定」の論理和領域の画素数である。なお、本発明は重なり度合にＦ値を用いる場合に限定されず、重なり度合として任意の他の指標を用いることができる。
【００５３】
続いて、図１２は、組み合わせ判断部９０１による判断の例を示す図である。以下では、図１２を参照して、組み合わせ判断部９０１の処理の詳細について説明する。以下の例では、輪郭モデルの投影領域１１０１と表面モデルの投影領域１１０２との重なり度合があらかじめ決められた閾値以上か閾値未満かによって組み合わせを判断する。
【００５４】
図１２の例１では、重なり度合が閾値以上（高い）である場合は接触判定に表面モデル７０２、画像合成に輪郭モデル７０１を用い、重なり度合が閾値未満（低い）である場合は接触判定に用いるモデルを輪郭モデル７０１に切り替える。すなわち、どちらの処理でも輪郭モデルを使用する。また、例２では、重なり度合が閾値未満である場合は画像合成に用いるモデルを表面モデル７０２に切り替える。すなわち、どちらの処理でも表面モデルを使用する。
【００５５】
これらの処理によって、重なり度合が高い場合には接触判定と画像合成の両方を高精度に行いつつ、重なり度合が低い場合には接触判定の結果と画像合成の結果とが異なることによる違和感を防ぐことができる。
【００５６】
なお、本発明は図１２の例に限定されず、任意の組み合わせを判定できる。また、実施形態２と同様に、１つの処理について輪郭モデル７０１と表面モデル７０２との両方を用いるように組み合わせを判断してもよい。また、本発明は輪郭モデル７０１と表面モデル７０２との組み合わせを判断するのに重なり度合を用いる場合に限定されない。例えば、高精度モードや速度優先モードなどのモード設定に応じてモデルの組み合わせを判断してもよい。その場合、例えば、高精度モードでは接触判定と画像合成とに異なるモデルを用い、速度優先モードでは接触判定と画像合成とに同じモデルを用いる。
【００５７】
また、ユーザが表面モデル７０２と輪郭モデル７０１との組み合わせを直接指定するようにしてもよい。また、重なり度合があらかじめ設定した閾値よりも低い場合にユーザに警告を行うようにしてもよい。警告の方法は自由であるが、例えば、表示部１１１，１１２に文章で警告を出力したり、不図示のスピーカから音を鳴らしたりすることで警告を行ってもよい。
【００５８】
以上説明したように、本実施形態では、接触判定部２０６と画像合成部２０７の処理に用いる輪郭モデル７０１と表面モデル７０２との組み合わせを判断し、その判断結果に基づいて処理を行う。これによって、適したモデルの組み合わせで処理を行い、より高精度に接触判定と画像合成とを行うことができる。
【００５９】
[変形例]
以上説明した各実施形態では、センサ１０８から取得した表面モデル７０２を利用する場合を例に挙げて説明した。しかしながら、本発明はこれに限定されず、センサ１０８から取得した情報（デプス画像やＩＲ画像など）や撮影画像４０１，４０２を利用して表面モデル７０２を生成し、それを利用してもかまわない。
【００６０】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６１】
１００：情報処理装置、２０１：画像取得部、２０２：輪郭点抽出部、２０３：三次元位置算出部、２０４：輪郭モデル生成部、２０５：表面モデル取得部、２０６：接触判定部、２０７：画像合成部、９０１：組み合わせ判断部
【図１】
2018142273.tif 000004
【図２】
2018142273.tif 000005
【図３】
2018142273.tif 000006
【図４】
2018142273.tif 000007
【図５】
2018142273.tif 000008
【図６】
2018142273.tif 000009
【図７】
2018142273.tif 000010
【図８】
2018142273.tif 000011
【図９】
2018142273.tif 000012
【図１０】
2018142273.tif 000013
【図１１】
2018142273.tif 000014
【図１２】
2018142273.tif 000015
【図１３】
2018142273.tif 000016
【図１４】
2018142273.tif 000017