(57)【特許請求の範囲】
【請求項１】
取得した距離画像から算出した、手指の長さ及び方向を示す第１ベクトルと、前記手指の指先がオクルージョン領域に含まれる場合の、前記オクルージョン領域に含まれていない手指領域の長さ及び方向を示す第２ベクトルとに基づき、前記オクルージョン領域に含まれる手指領域の長さ及び方向を示す第３ベクトルを算出する算出手段と、
前記第２ベクトルの前記オクルージョン領域に接している端に前記第３ベクトルを加えて、前記指先の位置を推定する推定手段と、
推定した前記指先の位置と、予め算出された前記オクルージョン領域に含まれる所定の面の位置とに基づいて、該所定の面に前記指先が触れたか否かを判定するタッチ判定手段と
を有することを特徴とする操作判定装置。
【請求項２】
前記タッチ判定手段は、前記オクルージョン領域に含まれる所定の面の位置と、推定した前記指先の位置との関係が所定の条件を満たした場合に、前記所定の面に前記指先が触れたと判定することを特徴とする請求項１に記載の操作判定装置。
【請求項３】
取得した距離画像から算出した、手指の長さ及び方向を示す第１ベクトルと、前記手指の指先がオクルージョン領域に含まれる場合の、前記オクルージョン領域に含まれていない手指領域の長さ及び方向を示す第２ベクトルとに基づき、前記オクルージョン領域に含まれる手指領域の長さ及び方向を示す第３ベクトルを算出する算出手段と、
前記第２ベクトルの前記オクルージョン領域に接している端に前記第３ベクトルを加えて、前記指先の位置を推定する推定手段と、を有し、
前記第１ベクトルは、前記手指の指先が前記オクルージョン領域に含まれる前の、前記手指の所定の基準点の位置と前記指先の位置とに基づいて算出され、
前記第２ベクトルは、前記オクルージョン領域に接している位置と、前記基準点の位置とに基づいて算出されることを特徴とする指先位置推定装置。
【請求項４】
前記算出手段は、前記第１ベクトルと前記第２ベクトルとの差分を算出することで、前記第３ベクトルを算出することを特徴とする請求項３に記載の指先位置推定装置。
【請求項５】
前記基準点は、前記指先の位置に近い第１の基準点と、前記指先の位置に対して該第１の基準点より離れた第２の基準点とを少なくとも有し、
前記第１ベクトル及び前記第２ベクトルは、前記手指領域が前記オクルージョン領域に含まれる量に基づいて、該第１の基準点または該第２の基準点のいずれかを用いて算出されることを特徴とする請求項３に記載の指先位置推定装置。
【請求項６】
手指の指先が物体の背後のオクルージョン領域に到達した場合に、該指先の位置から該物体のオクルージョン領域に含まれる所定形状の面までの距離を、予め算出した前記オクルージョン領域の境界面の位置に基づいて算出する第１の算出手段と、
前記手指の指先が前記オクルージョン領域に到達した場合に、前記手指の所定の基準点の位置を算出する第２の算出手段と、
前記手指の指先が前記オクルージョン領域に到達して以降の前記基準点の前記所定形状の面方向への移動量と、算出した前記所定形状の面までの距離とに基づいて、前記所定形状の面に前記手指の指先が触れたか否かを判定するタッチ判定手段と
を有することを特徴とする操作判定装置。
【請求項７】
測定範囲に含まれる手指までの距離を測定し、距離画像を生成する距離測定装置と、
前記距離測定装置より取得した距離画像に基づいて、前記手指の指先の位置を推定する指先位置推定装置と、
を有する指先位置推定システムであって、
前記指先位置推定装置は、
取得した距離画像から算出した、手指の長さ及び方向を示す第１ベクトルと、前記手指の指先がオクルージョン領域に含まれる場合の、前記オクルージョン領域に含まれていない手指領域の長さ及び方向を示す第２ベクトルとに基づき、前記オクルージョン領域に含まれる手指領域の長さ及び方向を示す第３ベクトルを算出する算出手段と、
前記第２ベクトルの前記オクルージョン領域に接している端に前記第３ベクトルを加えて、前記指先の位置を推定する推定手段と、を有し、
前記第１ベクトルは、前記手指の指先が前記オクルージョン領域に含まれる前の、前記手指の所定の基準点の位置と前記指先の位置とに基づいて算出され、
前記第２ベクトルは、前記オクルージョン領域に接している位置と、前記基準点の位置とに基づいて算出されることを特徴とする指先位置推定システム。
【請求項８】
取得した距離画像から算出した、手指の長さ及び方向を示す第１ベクトルと、前記手指の指先がオクルージョン領域に含まれる場合の、前記オクルージョン領域に含まれていない手指領域の長さ及び方向を示す第２ベクトルとに基づき、前記オクルージョン領域に含まれる手指領域の長さ及び方向を示す第３ベクトルを算出し、
前記第２ベクトルの前記オクルージョン領域に接している端に前記第３ベクトルを加えて、前記指先の位置を推定する、
処理をコンピュータに実行させ、
前記第１ベクトルは、前記手指の指先が前記オクルージョン領域に含まれる前の、前記手指の所定の基準点の位置と前記指先の位置とに基づいて算出され、
前記第２ベクトルは、前記オクルージョン領域に接している位置と、前記基準点の位置とに基づいて算出される指先位置推定プログラム。
【請求項９】
コンピュータが、
取得した距離画像から算出した、手指の長さ及び方向を示す第１ベクトルと、前記手指の指先がオクルージョン領域に含まれる場合の、前記オクルージョン領域に含まれていない手指領域の長さ及び方向を示す第２ベクトルとに基づき、前記オクルージョン領域に含まれる手指領域の長さ及び方向を示す第３ベクトルを算出し、
前記第２ベクトルの前記オクルージョン領域に接している端に前記第３ベクトルを加えて、前記指先の位置を推定する、
処理を実行し、
前記第１ベクトルは、前記手指の指先が前記オクルージョン領域に含まれる前の、前記手指の所定の基準点の位置と前記指先の位置とに基づいて算出され、
前記第２ベクトルは、前記オクルージョン領域に接している位置と、前記基準点の位置とに基づいて算出されることを特徴とする指先位置推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指先位置推定装置、操作判定装置、指先位置推定システム、指先位置推定プログラム及び指先位置推定方法に関する。
【背景技術】
【０００２】
従来より、操作部のない物体にユーザの手指が触れたことを、深度センサ等を用いて検出し、触れた位置に応じたアクション（例えば、物体の情報表示等）を行うことで、物体とのインタラクションを実現する情報操作出力システムが知られている。
【０００３】
情報操作出力システムでは、深度センサ等を物体の上方に設置することで、物体と手指との位置関係を距離画像として取得し、取得した距離画像を用いて、手指が物体に触れたか否かを判定するタッチ判定や、触れた位置の算出等を行う。これにより、情報操作出力システムでは、触れた位置に応じた様々な情報を、プロジェクタ等を用いて物体近傍の任意の位置に投影表示することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２８２４５６号公報
【非特許文献】
【０００５】
【非特許文献１】渡邊航（東芝研究開発センター）、外３名「プロジェクタとデプスカメラを用いた投影面タッチＵＩの開発と操作性向上」、ＳＳＩＩ２０１５、平成２７年６月
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の情報操作出力システムは、平面形状の物体の上面を対象として指先が触れたか否かのタッチ判定を行っており、指先が物体に触れた際の距離画像から指先が検出できることが前提となっていた。
【０００７】
このため、例えば、立体形状の物体の背面を対象とするタッチ判定に適用した場合に、精度よくタッチ判定を行うことができないという問題があった。指先が深度センサ等から見て物体の背後の陰領域（オクルージョン領域）に含まれ物体の背後に隠れることで、距離画像から指先が検出できない場合があるからである。
【０００８】
一つの側面では、オクルージョン領域に含まれる指先の位置を推定することを目的としている。
【課題を解決するための手段】
【０００９】
一態様によれば、指先位置推定装置は、
取得した距離画像から算出した、手指の長さ及び方向を示す第１ベクトルと、前記手指の指先がオクルージョン領域に含まれる場合の、前記オクルージョン領域に含まれていない手指領域の長さ及び方向を示す第２ベクトルとに基づき、前記オクルージョン領域に含まれる手指領域の長さ及び方向を示す第３ベクトルを算出する算出手段と、
前記第２ベクトルの前記オクルージョン領域に接している端に前記第３ベクトルを加えて、前記指先の位置を推定する推定手段と、を有し、
前記第１ベクトルは、前記手指の指先が前記オクルージョン領域に含まれる前の、前記手指の所定の基準点の位置と前記指先の位置とに基づいて算出され、
前記第２ベクトルは、前記オクルージョン領域に接している位置と、前記基準点の位置とに基づいて算出されることを特徴とする。
【発明の効果】
【００１０】
オクルージョン領域に含まれる指先の位置を推定できるようになる。
【図面の簡単な説明】
【００１１】
【図１】情報操作出力システムの外観構成の一例を示す図である。
【図２】情報操作出力システムのシステム構成の一例を示す図である。
【図３】情報操作出力システムの適用例を示す図である。
【図４】操作判定装置のハードウェア構成の一例を示す図である。
【図５】物体のオクルージョン領域を説明するための図である。
【図６】物体モデル情報の一例を示す図である。
【図７】物体と手指との位置関係及び距離画像データの一例を示す図である。
【図８】操作判定装置の機能構成の一例を示す第１の図である。
【図９】物体モデル情報生成処理の第１のフローチャートである。
【図１０】タッチ判定処理の第１のフローチャートである。
【図１１】タッチ判定処理の第２のフローチャートである。
【図１２】複数のタッチ面を有する物体の物体モデル情報の一例を示す図である。
【図１３】複数のタッチ面を有する物体に対するタッチ判定処理の第１のフローチャートである。
【図１４】複数のタッチ面を有する物体に対するタッチ判定処理の第２のフローチャートである。
【図１５】所定形状のタッチ面を有する物体の物体モデル情報の一例を示す図である。
【図１６】所定形状のタッチ面を有する物体と手指との位置関係及び距離画像データの一例を示す図である。
【図１７】操作判定装置の機能構成の一例を示す第２の図である。
【図１８】所定形状のタッチ面を有する物体の物体モデル情報生成処理のフローチャートである。
【図１９】所定形状のタッチ面を有する物体に対するタッチ判定処理の第１のフローチャートである。
【図２０】所定形状のタッチ面を有する物体に対するタッチ判定処理の第２のフローチャートである。
【発明を実施するための形態】
【００１２】
以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１３】
［第１の実施形態］
はじめに、第１の実施形態に係る指先位置推定システムを含む情報操作出力システムの外観構成について説明する。図１は、情報操作出力システムの外観構成の一例を示す図である。
【００１４】
図１に示すように、情報操作出力システム１００は、距離測定装置１１０と、プロジェクタ装置１２０と、操作判定装置１３０とを有する。距離測定装置１１０及びプロジェクタ装置１２０と、操作判定装置１３０とは、通信可能に接続されている。また、距離測定装置１１０及びプロジェクタ装置１２０は、立体形状の物体１６０が載置される基準面１５０から上方に延びる架台１４０に取り付けられている。
【００１５】
これにより、距離測定装置１１０は、基準面１５０の各位置及び基準面１５０に載置された物体１６０表面の各位置までの距離を、上方から測定することができる。また、プロジェクタ装置１２０は、予め記憶された物体１６０のデジタル情報を、基準面１５０上または物体１６０上の任意の位置に、上方から投影表示することができる。
【００１６】
なお、第１の実施形態では、物体１６０が有する各面のうち、図１においてハッチングした面をタッチ面（手指の指先が触れたか否かを判定する際の対象となる面）として説明する。また、第１の実施形態では、物体１６０が載置された基準面１５０を含む空間内の各位置を、図１に示すｘ軸、ｙ軸、ｚ軸に基づく座標により規定するものとする。なお、以下の説明では、距離測定装置１１０の位置を原点とするｘｙｚ空間として、各位置の座標を規定するものとする。
【００１７】
次に、情報操作出力システム１００のシステム構成について説明する。図２は、情報操作出力システムのシステム構成の一例を示す図である。
【００１８】
距離測定装置１１０は、いわゆる深度センサと呼ばれるＴＯＦ（Top Of Flight）方式の距離画像センサである。距離測定装置１１０では、基準面１５０上の所定の測定範囲に向けて赤外線レーザを投射し、基準面１５０の各位置までの往復にかかる時間から、基準面１５０の各位置までの距離データを測定することで距離画像データを生成する。なお、ここで生成する距離画像データは、各画素に距離データが対応付けられていればよく、距離データに応じた階調の濃淡値に変換することで可視化しておく必要はない。
【００１９】
基準面１５０上に物体１６０が載置されている場合、距離画像データは、物体１６０が載置された位置に対応する画素に、物体１６０表面の各位置までの距離データが含まれることになる。また、測定範囲に手指が含まれる場合、距離画像データには、手指の位置に対応する画素に手指までの距離データが含まれることになる。
【００２０】
距離測定装置１１０では所定のフレーム周期で距離画像データを生成し、生成した距離画像データを測定結果として操作判定装置１３０に送信する。
【００２１】
操作判定装置１３０は、指先位置推定装置の機能を含む。操作判定装置１３０には、指先位置推定プログラムを含む操作判定プログラムと、画像投影プログラムとがインストールされており、これらのプログラムが実行されることで、操作判定装置１３０は、操作判定部２１０及び画像投影部２２０として機能する。
【００２２】
操作判定部２１０は、物体モデル情報記憶部２３０に記憶された物体１６０の形状を示す物体形状データと、距離測定装置１１０より送信された距離画像データとに基づいて、基準面１５０上に載置された物体１６０のタッチ面１６１の座標を算出する。
【００２３】
また、操作判定部２１０は、距離測定装置１１０より送信された距離画像データを用いて、距離測定装置１１０から見た場合の物体１６０の背後の陰領域（オクルージョン領域：物体１６０の背後の距離データを検出できない領域）の座標を算出する。なお、操作判定部２１０は、算出したタッチ面１６１の座標及びオクルージョン領域の座標を、物体モデル情報記憶部２３０に記憶する。
【００２４】
また、操作判定部２１０は、距離測定装置１１０より送信された距離画像データに基づいて、ユーザの手指の指先を検出する。更に、操作判定部２１０は、ユーザの手指の一部が物体１６０の背後に隠れた場合に（つまり、オクルージョン領域に含まれた場合に）、指先の位置を推定し、物体１６０のタッチ面１６１に指先が触れたか否かを判定するタッチ判定を行う。なお、操作判定部２１０では、タッチ判定の結果、物体１６０のタッチ面１６１に指先が触れたと判定した場合には、判定結果を画像投影部２２０に通知する。
【００２５】
画像投影部２２０は、操作判定部２１０より判定結果を受信した場合に、投影画像データ記憶部２４０に予め記憶されている投影画像データを、プロジェクタ装置１２０に送信する。
【００２６】
プロジェクタ装置１２０は、画像投影部２２０より送信された投影画像データを、基準面１５０上の所定の位置に投影表示する。
【００２７】
これにより、ユーザは、操作部のない物体１６０とのインタラクションを実現することができる。
【００２８】
次に、情報操作出力システム１００の適用例について説明する。図３は、情報操作出力システムの適用例を示す図であり、ユーザが、操作部のない物体１６０とのインタラクションを実現する様子を具体的に示したものである。
【００２９】
図３（ａ）は、情報操作出力システム１００において、物体１６０が載置された基準面１５０上の測定範囲内の各位置に、距離測定装置１１０より赤外線レーザ３１０が投射されている様子を示している。かかる状態で、ユーザが物体１６０のタッチ面１６１に触れるために、手指３００を物体１６０に近づけると、操作判定装置１３０では、距離画像データに基づいて、ユーザの手指領域を抽出し、抽出した手指領域から指先を検出することで、指先の位置を算出する。なお、ここでいう指先の位置とは、ｘｙｚ空間における座標を指す。更に、手指３００が物体１６０に近づき物体１６０の背後の陰領域（オクルージョン領域）に含まれると、距離画像データにおいては手指領域の一部の領域が物体１６０の背後に隠れることになる。この場合、操作判定装置１３０では、物体１６０の背後に隠れていない手指領域に基づいて、指先の位置を推定する（推定方法の詳細は後述）。
【００３０】
図３（ｂ）は、情報操作出力システム１００において操作判定部２１０が、物体１６０のタッチ面１６１にユーザの指先が触れたと判定したことにより、プロジェクタ装置１２０が、基準面１５０に投影画像３０１を投影表示した様子を示している。なお、図３（ｂ）では、距離測定装置１１０より赤外線レーザ３１０が投射されている様子を省略しているが、実際には、距離測定装置１１０からは継続して赤外線レーザ３１０が投射されているものとする。
【００３１】
このように、情報操作出力システム１００では、立体形状の物体１６０のオクルージョン領域に手指の一部が含まれた場合でも、ユーザは、操作部のない物体１６０とのインタラクションを実現することができる。
【００３２】
続いて、操作判定装置１３０のハードウェア構成について説明する。図４は、操作判定装置のハードウェア構成の一例を示す図である。
【００３３】
図４に示すように、操作判定装置１３０は、ＣＰＵ（Central Processing Unit）４０１、ＲＯＭ（Read Only Memory）４０２、ＲＡＭ（Random Access Memory）４０３、補助記憶装置４０４を有する。また、操作判定装置１３０は、操作装置４０５、Ｉ／Ｆ（Interface）装置４０６、ドライブ装置４０８を有する。なお、操作判定装置１３０の各部は、バス４０９を介して相互に接続されている。
【００３４】
ＣＰＵ４０１は、補助記憶装置４０４にインストールされた各種プログラム（例えば、操作判定プログラム、画像投影プログラム等）を実行するコンピュータである。ＲＯＭ４０２は、不揮発性メモリである。ＲＯＭ４０２は、補助記憶装置４０４に格納された各種プログラムをＣＰＵ４０１が実行するために必要な各種プログラム、データ等を格納する主記憶装置として機能する。具体的には、ＲＯＭ４０２はＢＩＯＳ（Basic Input/Output System）やＥＦＩ（Extensible Firmware Interface）等のブートプログラム等を格納する。
【００３５】
ＲＡＭ４０３は、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）等の揮発性メモリであり、主記憶装置として機能する。ＲＡＭ４０３は、補助記憶装置４０４に格納された各種プログラムがＣＰＵ４０１によって実行される際に展開される、作業領域を提供する。
【００３６】
補助記憶装置４０４は、各種プログラムや、各種プログラムを実行することで生成される情報（例えば、物体モデル情報等）、ならびに各種プログラムを実行する際に用いられる情報（例えば、投影画像データ等）を格納する。
【００３７】
操作装置４０５は、操作判定装置１３０の管理者が操作判定装置１３０に対して各種指示を入力するためのデバイスである。
【００３８】
Ｉ／Ｆ装置４０６は、距離測定装置１１０及びプロジェクタ装置１２０と、操作判定装置１３０とを通信可能に接続するためのデバイスである。
【００３９】
ドライブ装置４０８は記録媒体４１０をセットするためのデバイスである。ここでいう記録媒体４１０には、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体４１０には、ＲＯＭ、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等も含まれる。
【００４０】
なお、補助記憶装置４０４に格納される各種プログラムは、例えば、配布された記録媒体４１０がドライブ装置４０８にセットされ、該記録媒体４１０に記録された各種プログラムがドライブ装置４０８により読み出されることでインストールされる。
【００４１】
次に、物体１６０のオクルージョン領域について説明する。図５は、物体のオクルージョン領域を説明するための図である。
【００４２】
図５（ａ）に示すように、物体１６０が基準面１５０上に載置されている状態で、操作判定部２１０は、距離画像データに基づいて、原点Ｏ（距離測定装置１１０の位置）から物体１６０のそれぞれの頂点（特徴点と称す）までの距離データを取得する。図５（ａ）の例では、操作判定部２１０は、物体１６０の特徴点Ｐ１、Ｐ２、・・・Ｐ１１までの距離データを取得する。
【００４３】
また、操作判定部２１０は、取得した距離データ及び距離画像データ内における各特徴点Ｐ１、Ｐ２、・・・Ｐ１１の位置に基づいて、ｘｙｚ空間における各特徴点Ｐ１、Ｐ２、・・・Ｐ１１の座標を算出する。
【００４４】
図５（ｂ）は、操作判定部２１０が、算出した各特徴点の座標のうち、基準面１５０より高い位置にある特徴点であって、タッチ面１６１を形成する特徴点Ｐ１、Ｐ２、Ｐ３、Ｐ４を、オクルージョン領域を算出するための特徴点として抽出した様子を示している。
【００４５】
また、図５（ｂ）は、操作判定部２１０が、オクルージョン領域を算出するために抽出した各特徴点Ｐ１、Ｐ２、Ｐ３、Ｐ４と、原点Ｏとを結ぶ直線を算出することで、オクルージョン領域５００の座標を算出した様子を示している。具体的には、操作判定部２１０では、オクルージョン領域５００の座標として、オクルージョン領域５００の境界面（オクルージョン領域を形成する最も外側の面）の座標を示す関数を算出する。
【００４６】
このように、操作判定装置１３０によれば、距離画像データから各特徴点Ｐ１、Ｐ２、Ｐ３、Ｐ４を抽出し、それぞれの座標を算出することで、オクルージョン領域５００の座標を算出することができる。
【００４７】
次に、操作判定装置１３０の物体モデル情報記憶部２３０に格納される物体モデル情報について説明する。図６は、物体モデル情報の一例を示す図である。
【００４８】
図６に示すように、物体モデル情報６００には、ｘｙｚ空間における原点Ｏの位置及び基準面１５０を形成する平面の名称が定義されている。図６の例は、ｘｙｚ空間における原点Ｏの位置が"距離測定装置"の位置であること、基準面１５０が"平面α"であることを示している。
【００４９】
また、物体モデル情報６００は、情報の項目として、"物体ＩＤ"、"物体名"、"物体形状データ"、"距離画像データ"を含む。更に、物体モデル情報６００は、情報の項目として、"オクルージョン領域算出用特徴点座標"、"オクルージョン領域の境界面の座標を示す関数"、"タッチ面の座標を示す関数"を含む。
【００５０】
"物体ＩＤ"には、物体１６０を識別するための識別子（"００１"）が格納される。"物体名"には、物体１６０の用途を示す名称（"容器"）が格納される。"物体形状データ"には、物体１６０の３次元形状を示すデータ（例えば、ＣＡＤ（Computer Aided Design）データ）のファイル名（"ＣＡＤ００１"）が格納される。
【００５１】
"距離画像データ"には、物体１６０の物体モデル情報６００を生成する際に用いた距離画像データのフレーム番号（"Ｆｒａｍｅ００１"）が格納される。
【００５２】
"オクルージョン領域算出用特徴点座標"には、距離測定装置１１０にて生成された距離画像データより抽出された物体１６０の特徴点のうち、オクルージョン領域５００を算出するのに用いられる特徴点Ｐ１〜Ｐ４の座標が格納される。具体的には、特徴点Ｐ１〜Ｐ４の座標として、"Ｐ１（ｘ１，ｙ１，ｚ１）、Ｐ２（ｘ２，ｙ２，ｚ２）、Ｐ３（ｘ３，ｙ３，ｚ３）、Ｐ４（ｘ４，ｙ４，ｚ４）"が格納される。
【００５３】
"オクルージョン領域の境界面の座標を示す関数"には、特徴点Ｐ１〜Ｐ４の座標に基づいて算出された、オクルージョン領域５００の境界面の座標を示す関数（"Ｂ（ｘ，ｙ，ｚ）"）が格納される。
【００５４】
"タッチ面の座標を示す関数"には、物体１６０のタッチ面１６１の座標を示す関数（"Ｔ（ｘ，ｙ，ｚ）"）が格納される。物体１６０のタッチ面１６１の座標は、物体形状データ（"ＣＡＤ００１"）により特定される物体１６０の各特徴点の座標と、距離画像データ（"Ｆｒａｍｅ００１"）より抽出された各特徴点の座標とをマッチングさせることで算出される。
【００５５】
次に、物体と手指との位置関係及び距離画像データを示す図を参照しながら、手指領域の一部の領域である指先が物体１６０の背後に隠れた場合の、指先の位置を推定する推定方法について説明する。図７は、物体と手指との位置関係及び距離画像データの一例を示す図である。
【００５６】
このうち、図７（ａ−１）〜（ｃ−１）は、基準面１５０に載置された物体１６０をｘ軸方向から見た場合の物体１６０と手指３００との位置関係を示している。なお、図７（ａ−１）〜（ｃ−１）では、参考としてオクルージョン領域５００も合わせて示している。一方、図７（ａ−２）〜（ｃ−２）は、距離測定装置１１０から送信される距離画像データ７０１〜７０３を示している（説明の便宜上、可視化したものを示している）。
【００５７】
はじめに、手指３００が、オクルージョン領域５００に含まれていない状態（図７（ａ−１））について説明する。この状態では、図７（ａ−２）に示すように、手指領域７００が物体の背後に隠れていないため、距離画像データ７０１（"Ｆｒａｍｅ１０１"）に基づいて、手指領域７００を抽出することができる。また、手指領域７００より指先Ｆｔを検出することができる。そこで、操作判定部２１０では、距離画像データ７０１（"Ｆｒａｍｅ１０１"）に基づいて指先Ｆｔの座標を算出する。
【００５８】
次に、手指３００の指先Ｆｔが、オクルージョン領域５００の境界面に到達した状態（図７（ｂ−１））について説明する。なお、手指３００の指先Ｆｔがオクルージョン領域５００の境界面に到達した際の境界面上の位置をＦ０とおく。
【００５９】
この状態では、図７（ｂ−２）に示すように、距離画像データ７０２（"Ｆｒａｍｅ１２５"）に基づいて、物体１６０の背後に隠れる直前の手指領域７００を抽出することができる。また、手指領域７００より指先Ｆｔを検出することができる。このため、操作判定部２１０では、距離画像データ７０２（"Ｆｒａｍｅ１２５"）に基づいて指先Ｆｔの座標を算出する。
【００６０】
手指領域７００の指先Ｆｔがオクルージョン領域５００の境界面上の位置Ｆ０に到達した状態において、操作判定部２１０では、更に、手指領域７００上の所定の基準点Ｆｂ（例えば、指の付け根部分Ｆｂ１や手首部分Ｆｂ２）の座標を算出する。また、操作判定部２１０では、指先Ｆｔの座標と、基準点Ｆｂの座標との差分を算出することで、基準点Ｆｂから指先Ｆｔまでのベクトル（「相対ベクトル」と称す）を算出する。相対ベクトルは、手指の長さ及び方向（基準点Ｆｂから指先Ｆｔまでの長さ及び方向）を示すベクトルである。
【００６１】
次に、手指３００が更にタッチ面方向に近づき、手指３００の一部の領域がオクルージョン領域５００に含まれることで、指先Ｆｔがタッチ面１６１に触れた状態（図７（ｃ−１））について説明する。この状態では、図７（ｃ−２）に示すように、物体１６０の背後に手指領域７００の一部の領域が隠れるため、距離画像データ７０３（"Ｆｒａｍｅ１４２"）の手指領域７００から指先Ｆｔを検出することができない。
【００６２】
そこで、操作判定部２１０では、指先Ｆｔの座標を推定したうえで、指先Ｆｔがタッチ面１６１に触れたか否かのタッチ判定を行う。
【００６３】
具体的には、操作判定部２１０では、距離画像データ７０３（"Ｆｒａｍｅ１４２"）から、物体１６０の背後に隠れていない手指領域７００を抽出し、基準点Ｆｂの座標を算出する。また、操作判定部２１０では、距離画像データ７０３（"Ｆｒａｍｅ１４２"）から、物体１６０の背後に隠れていない手指領域７００とオクルージョン領域５００とが接している境界面上の位置Ｆ０'の座標を算出する。更に、操作判定部２１０では、基準点Ｆｂの座標と境界面上の位置Ｆ０'の座標との差分を算出することで、基準点Ｆｂから境界面上の位置Ｆ０'までのベクトル（「差分ベクトル」と称す）を算出する。差分ベクトルは、手指領域７００のうち、物体１６０の背後に隠れていない（オクルージョン領域５００に含まれていない）領域の長さ及び方向（基準点Ｆｂから境界面上の位置Ｆ０'までの長さ及び方向）を示すベクトルである。なお、差分ベクトルの算出に際しては、指の付け根部分Ｆｂ１または手首部分Ｆｂ２のいずれか一方を、基準点Ｆｂとして用いるものとする。
【００６４】
ここで、図７（ｃ−１）に示すように、指先Ｆｔの座標は、境界面上の位置Ｆ０'の座標に、境界面上の位置Ｆ０'から指先Ｆｔまでのベクトル（「補正ベクトル」と称す）を加えることで算出することができる。そして、境界面上の位置Ｆ０'から指先Ｆｔまでの補正ベクトルは、基準点Ｆｂから指先Ｆｔまでのベクトル（相対ベクトル）と、基準点Ｆｂから境界面上の位置Ｆ０'までのベクトル（差分ベクトル）との差分を算出することで求めることができる。つまり、補正ベクトルは、手指領域のうち物体１６０の背後に隠れていない領域に基づいて算出された、物体１６０の背後に隠れた（オクルージョン領域５００に含まれた）領域の長さ及び方向を示すベクトルである。
【００６５】
そこで、操作判定部２１０では、距離画像データ７０２（"Ｆｒａｍｅ１２５"）に基づいて算出した相対ベクトルと、距離画像データ７０３（"Ｆｒａｍｅ１４２"）に基づいて算出した差分ベクトルとの差分を算出することにより、補正ベクトルを算出する。更に、操作判定部２１０では、境界面上の位置Ｆ０'の座標に補正ベクトルを加えることで、指先Ｆｔの座標を推定する（下式１参照）。
（式１）
Ｆｔ＝Ｆ０'＋ａ×（補正ベクトル）  ただし、ａは所定の係数。
【００６６】
次に、操作判定装置１３０の機能構成について説明する。図８は、操作判定装置の機能構成の一例を示す第１の図である。図８に示すように、操作判定部２１０は、距離画像データ取得部８０１、対象物体検出部８０２、オクルージョン領域算出部８０３、タッチ面座標算出部８０４を有する。
【００６７】
また、操作判定部２１０は、指先位置算出部８０５、オクルージョン領域挿入判定部８０６、基準点抽出部８０７、相対ベクトル算出部８０８、補正ベクトル算出部８０９、指先位置推定部８１０、タッチ判定部８１１を有する。
【００６８】
距離画像データ取得部８０１は、距離測定装置１１０より送信される距離画像データを取得する。操作判定装置１３０が物体モデル情報を生成するフェーズでは、距離画像データ取得部８０１は、取得した距離画像データを対象物体検出部８０２に送信する。また、操作判定装置１３０がタッチ判定を行うフェーズでは、距離画像データ取得部８０１は、取得した距離画像データを指先位置算出部８０５に送信する。
【００６９】
対象物体検出部８０２は、距離画像データに含まれる物体１６０の各特徴点Ｐ１〜Ｐ１１を抽出する。対象物体検出部８０２では、抽出した各特徴点Ｐ１〜Ｐ１１を、オクルージョン領域算出部８０３及びタッチ面座標算出部８０４に送信する。
【００７０】
オクルージョン領域算出部８０３は、対象物体検出部８０２から送信された各特徴点Ｐ１〜Ｐ１１から、オクルージョン領域算出用の特徴点Ｐ１〜Ｐ４を抽出する。また、オクルージョン領域算出部８０３は、抽出した特徴点Ｐ１〜Ｐ４に基づいて、オクルージョン領域の境界面の座標を示す関数を算出する。更に、オクルージョン領域算出部８０３は、算出したオクルージョン領域の境界面の座標を示す関数を、物体モデル情報６００として物体モデル情報記憶部２３０に記憶する。
【００７１】
タッチ面座標算出部８０４は、対象物体検出部８０２から送信された各特徴点Ｐ１〜Ｐ１１の座標と、物体モデル情報記憶部２３０に記憶されている物体形状データより抽出された物体１６０の各特徴点の座標とのマッチングを行う。これにより、タッチ面座標算出部８０４では、基準面１５０上における物体１６０の各面の座標を認識することができる。
【００７２】
また、タッチ面座標算出部８０４は、基準面１５０上における物体１６０の各面の座標に基づいて、物体１６０のタッチ面１６１の座標を示す関数を算出する。なお、タッチ面座標算出部８０４では、算出したタッチ面１６１の座標を示す関数を、物体モデル情報６００として、物体モデル情報記憶部２３０に記憶する。
【００７３】
指先位置算出部８０５は、距離画像データ取得部８０１より送信される距離画像データについて、フレームごとに手指領域７００を抽出し、抽出した手指領域７００より指先Ｆｔを検出することで、指先Ｆｔの座標を算出する。
【００７４】
オクルージョン領域挿入判定部８０６は、物体モデル情報記憶部２３０に記憶されているオクルージョン領域５００の境界面の座標を示す関数を読み出す。また、オクルージョン領域挿入判定部８０６は、距離画像データのフレームごとに算出された指先Ｆｔの座標が、オクルージョン領域５００の境界面に到達したか否かを判定する。オクルージョン領域５００の境界面に到達したと判定した場合、オクルージョン領域挿入判定部８０６では、判定結果を基準点抽出部８０７に送信する。
【００７５】
また、オクルージョン領域挿入判定部８０６は、指先Ｆｔがオクルージョン領域境界面に到達したと判定して以降、距離画像データの各フレームにおいて、手指領域７００とオクルージョン領域５００の境界面とが接している境界面上の位置Ｆ０'の座標を算出する。更に、オクルージョン領域挿入判定部８０６は、手指領域７００とオクルージョン領域５００の境界面とが接している境界面上の位置Ｆ０'の座標を、補正ベクトル算出部８０９及びタッチ判定部８１１に送信する。
【００７６】
基準点抽出部８０７は、オクルージョン領域挿入判定部８０６より、判定結果を受信した場合に、判定に用いられた距離画像データを参照する。また、基準点抽出部８０７は、当該距離画像データより基準点Ｆｂ（例えば、指の付け根部分Ｆｂ１、手首部分Ｆｂ２）を抽出し、抽出した基準点Ｆｂの座標を算出し、相対ベクトル算出部８０８に送信する。更に、基準点抽出部８０７は、オクルージョン領域挿入判定部８０６より、判定結果を受信して以降の基準点Ｆｂの座標を、補正ベクトル算出部８０９に送信する。
【００７７】
相対ベクトル算出部８０８は、基準点抽出部８０７より、基準点Ｆｂの座標を受信すると、当該基準点Ｆｂの座標が算出された際の指先Ｆｔの座標を、指先位置算出部８０５より取得する。また、相対ベクトル算出部８０８は、受信した基準点Ｆｂの座標と、取得した指先Ｆｔの座標との差分を算出することで、基準点Ｆｂと指先Ｆｔとの間の相対ベクトルを算出する。相対ベクトル算出部８０８は、算出した相対ベクトルを補正ベクトル算出部８０９に送信する。
【００７８】
補正ベクトル算出部８０９は、オクルージョン領域挿入判定部８０６より、手指領域７００とオクルージョン領域５００の境界面とが接している境界面上の位置Ｆ０'の座標を受信すると、基準点抽出部８０７にて算出された基準点Ｆｂの座標を取得する。また、補正ベクトル算出部８０９は、取得した基準点Ｆｂの座標と境界面上の位置Ｆ０'の座標との差分ベクトルを算出する。また、補正ベクトル算出部８０９は、相対ベクトル算出部８０８より送信された相対ベクトルと、算出した差分ベクトルとの差分を算出することで、補正ベクトルを求める。更に、補正ベクトル算出部８０９は、補正ベクトルを指先位置推定部８１０に送信する。
【００７９】
指先位置推定部８１０は、オクルージョン領域挿入判定部８０６より送信された境界面上の位置Ｆ０'の座標に、補正ベクトル算出部８０９より送信された補正ベクトルを加えることで、指先Ｆｔの座標（補正ベクトルの先端の座標）を推定する。
【００８０】
タッチ判定部８１１は、物体モデル情報記憶部２３０に記憶されたタッチ面１６１の座標を示す関数を読み出し、所定の条件を満たすか否か（推定された指先Ｆｔの座標と一致するか否か）を判定するタッチ判定を行う。タッチ判定部８１１では、所定の条件を満たす（推定された指先Ｆｔの座標が、タッチ面１６１の座標を示す関数により特定される座標と一致していた）場合には、手指３００の指先Ｆｔがタッチ面１６１に触れたと判定する。一方、所定の条件を満たさない（推定された指先Ｆｔの座標が、タッチ面１６１の座標を示す関数により特定される座標と一致していない）場合には、手指３００の指先Ｆｔがタッチ面１６１に触れていないと判定する。なお、手指３００の指先Ｆｔがタッチ面１６１に触れたと判定した場合、タッチ判定部８１１では、判定結果を、画像投影部２２０に通知する。
【００８１】
続いて、操作判定装置１３０の各フェーズ（物体モデル情報を生成するフェーズ、タッチ判定を行うフェーズ）において実行される処理（物体モデル情報生成処理、タッチ判定処理）の流れについて説明する。
【００８２】
はじめに、操作判定装置１３０における物体モデル情報生成処理の流れについて説明する。図９は、物体モデル情報生成処理の第１のフローチャートである。図９に示すフローチャートは、基準面１５０に物体１６０が載置され、物体形状データが物体モデル情報記憶部２３０に格納された状態で、処理が開始される。
【００８３】
ステップＳ９０１において、距離画像データ取得部８０１は、距離測定装置１１０より距離画像データ（"Ｆｒａｍｅ００１"）を取得する。
【００８４】
ステップＳ９０２において、対象物体検出部８０２は、距離画像データ（"Ｆｒａｍｅ００１"）より物体１６０の特徴点（Ｐ１〜Ｐ１１）を抽出する。ステップＳ９０３において、対象物体検出部８０２は、抽出した特徴点（Ｐ１〜Ｐ１１）の座標を算出する。
【００８５】
ステップＳ９０４において、オクルージョン領域算出部８０３は、算出された各特徴点（Ｐ１〜Ｐ１１）の座標のうち、オクルージョン領域算出用の各特徴点（Ｐ１〜Ｐ４）の座標を抽出する。なお、オクルージョン領域算出部８０３は、算出したオクルージョン領域算出用の各特徴点（Ｐ１〜Ｐ４）の座標（"Ｐ１（ｘ１，ｙ１，ｚ１）、・・・Ｐ４（ｘ４，ｙ４，ｚ４）"）を物体モデル情報記憶部２３０に記憶する。
【００８６】
ステップＳ９０５において、オクルージョン領域算出部８０３は、抽出したオクルージョン領域算出用の特徴点の座標（Ｐ１〜Ｐ４）を用いて、オクルージョン領域５００の境界面の座標を示す関数（"Ｂ（ｘ，ｙ，ｚ）"）を算出する。なお、オクルージョン領域算出部８０３は、算出したオクルージョン領域５００の境界面の座標を示す関数（"Ｂ（ｘ，ｙ，ｚ）"）を、物体モデル情報記憶部２３０に記憶する。
【００８７】
ステップＳ９０６において、タッチ面座標算出部８０４は、物体モデル情報記憶部２３０より、物体形状データ（"ＣＡＤ００１"）を読み出す。ステップＳ９０７において、タッチ面座標算出部８０４は、読み出した物体形状データ（"ＣＡＤ００１"）に含まれる各特徴点（Ｐ１〜Ｐ１１）の座標と、対象物体検出部８０２により抽出された各特徴点（Ｐ１〜Ｐ１１）の座標とをマッチングさせる処理を行う。
【００８８】
ステップＳ９０８において、タッチ面座標算出部８０４は、マッチングした状態におけるタッチ面１６１の座標を示す関数（"Ｔ（ｘ，ｙ，ｚ）"）を、物体形状データ（"ＣＡＤ００１"）に基づいて算出する。なお、タッチ面座標算出部８０４は、算出したタッチ面１６１の座標を示す関数（"Ｔ（ｘ，ｙ，ｚ）"）を、物体モデル情報記憶部２３０に記憶する。
【００８９】
次に、操作判定装置１３０におけるタッチ判定処理の流れについて説明する。図１０及び図１１は、タッチ判定処理の第１及び第２のフローチャートである。図１０に示すフローチャートは、物体モデル情報記憶部２３０に、オクルージョン領域算出用の各特徴点の座標、オクルージョン領域５００の境界面の座標を示す関数及びタッチ面１６１の座標を示す関数が記憶された状態で、処理が開始される。
【００９０】
ステップＳ１００１において、オクルージョン領域挿入判定部８０６は、挿入中フラグＩに"０"を代入する。
【００９１】
ステップＳ１００２において、距離画像データ取得部８０１は、距離画像データ１フレーム分を取得する。ステップＳ１００３において、指先位置算出部８０５は、取得された１フレーム分の距離画像データより、手指領域７００を抽出する。
【００９２】
ステップＳ１００４において、指先位置算出部８０５は、ステップＳ１００３において抽出した手指領域７００から、指先Ｆｔを検索する。ステップＳ１００５において、指先位置算出部８０５では、抽出した手指領域７００より指先Ｆｔを検出できたか否かを判定する。
【００９３】
ステップＳ１００５において、指先Ｆｔを検出できたと判定した場合には、ステップＳ１００６に進む。ステップＳ１００６において、オクルージョン領域挿入判定部８０６は、ステップＳ１００４において検出した指先Ｆｔの座標と、オクルージョン領域５００の境界面の座標とを比較する。
【００９４】
比較の結果、指先Ｆｔの座標と、オクルージョン領域５００の境界面の座標とが一致しないと判定した場合には、ステップＳ１００７からステップＳ１００２に戻る。この場合、次のフレームの距離画像データを取得して引き続きステップＳ１００３以降の処理を行う。
【００９５】
一方、比較の結果、一致すると判定した場合には、ステップＳ１００７からステップＳ１００８に進む。ステップＳ１００８において、オクルージョン領域挿入判定部８０６は、指先Ｆｔがオクルージョン領域５００の境界面に到達したと判定する。
【００９６】
ステップＳ１００９において、オクルージョン領域挿入判定部８０６は、挿入中フラグＩが"０"であるか否かを判定する。挿入中フラグＩが"０"でないと判定した場合には、ステップＳ１００２に戻る。この場合、次のフレームの距離画像データを取得し、引き続きステップＳ１００３以降の処理を行う。
【００９７】
一方、ステップＳ１００９において、挿入中フラグＩが"０"であると判定した場合には、ステップＳ１０１０に進む。ステップＳ１０１０において、基準点抽出部８０７は、距離画像データより基準点Ｆｂ（Ｆｂ１またはＦｂ２）を抽出し、抽出した基準点Ｆｂ（Ｆｂ１またはＦｂ２）の座標を算出する。
【００９８】
ステップＳ１０１１において、相対ベクトル算出部８０８は、ステップＳ１００４において算出した指先Ｆｔの座標（＝Ｆ０の座標）と、ステップＳ１０１０において算出した基準点Ｆｂ（Ｆｂ１またはＦｂ２）の座標との差分を算出する。これにより、相対ベクトル算出部８０８では、相対ベクトルを算出する。
【００９９】
ステップＳ１０１２において、オクルージョン領域挿入判定部８０６は、挿入中フラグＩに"１"を代入した後、ステップＳ１００２に戻る。そして、次のフレームの距離画像データを取得し、引き続きステップＳ１００３以降の処理を行う。
【０１００】
一方、ステップＳ１００５において、指先Ｆｔが検出できなかったと判定した場合には、図１１のステップＳ１１０１に進む。ステップＳ１００５において、指先Ｆｔが検出できなかったと判定された場合とは、指先Ｆｔがオクルージョン領域５００に含まれている状態である。したがって、この時点では、既に、挿入中フラグＩには"１"が代入され、相対ベクトルが算出されている。
【０１０１】
ステップＳ１１０１において、基準点抽出部８０７は、現在のフレームの距離画像データにおいて、基準点Ｆｂ１を抽出する。ステップＳ１１０１において、基準点Ｆｂ１を抽出できたと判定した場合には、ステップＳ１１０２に進む。
【０１０２】
ステップＳ１１０２において、オクルージョン領域挿入判定部８０６は、現在のフレームの距離画像データに基づいて、物体１６０に隠れていない手指領域７００とオクルージョン領域５００の境界面とが接している境界面上の位置Ｆ０'の座標を算出する。また、補正ベクトル算出部８０９は、算出した境界面上の位置Ｆ０'の座標と、基準点Ｆｂ１の座標との差分を算出することで、差分ベクトルを求める。更に、補正ベクトル算出部８０９は、差分ベクトルと相対ベクトルとの差分を算出することで、補正ベクトルを算出する。
【０１０３】
ステップＳ１１０３において、指先位置推定部８１０は、算出した境界面上の位置Ｆ０'の座標に補正ベクトルを加えることで、指先Ｆｔの座標を推定する。
【０１０４】
一方、ステップＳ１１０１において、基準点Ｆｂ１を抽出できなかったと判定した場合には、ステップＳ１１０４に進む。ステップＳ１１０４において、補正ベクトル算出部８０９は、現在のフレームの距離画像データに基づいて、物体１６０の背後に隠れていない手指領域７００とオクルージョン領域５００の境界面とが接している境界面上の位置Ｆ０'の座標を算出する。また、補正ベクトル算出部８０９は、算出した境界面上の位置Ｆ０'の座標と、基準点Ｆｂ２の座標との差分を算出することで、差分ベクトルを求める。更に、補正ベクトル算出部８０９は、差分ベクトルと相対ベクトルとの差分を算出することで、補正ベクトルを算出する。
【０１０５】
ステップＳ１１０５において、指先位置推定部８１０は、算出した境界面上の位置Ｆ０'の座標に補正ベクトルを加えることで、指先Ｆｔの座標を推定する。
【０１０６】
ステップＳ１１０６において、タッチ判定部８１１は、ステップＳ１１０３またはステップＳ１１０５において推定された指先Ｆｔの座標と、物体モデル情報記憶部２３０に記憶されているタッチ面１６１の座標を示す関数とを比較する。
【０１０７】
ステップＳ１１０７において、タッチ判定部８１１は、所定の条件を満たさない（指先Ｆｔの座標とタッチ面１６１の座標を示す関数により特定されるタッチ面１６１の座標とが一致していない）と判定した場合には、ステップＳ１１０２に戻る。この場合、次のフレームの距離画像データに基づいて、ステップＳ１００３以降の処理を行う。
【０１０８】
一方、ステップＳ１１０７において、所定の条件を満たす（指先Ｆｔの座標とタッチ面１６１の座標を示す関数により特定されるタッチ面１６１の座標とが一致している）と判定した場合には、ステップＳ１１０８に進む。ステップＳ１１０８において、タッチ判定部８１１は、指先Ｆｔがタッチ面１６１に触れたと判定し、判定結果を画像投影部２２０に送信したうえで、タッチ判定処理を終了する。
【０１０９】
以上の説明から明らかなように、情報操作出力システム１００では、情報操作出力システム１００では、手指の一部の領域が物体１６０の背後のオクルージョン領域に含まれる直前の基準点の座標と指先の座標とに基づいて、相対ベクトルを算出する。また、情報操作出力システム１００では、手指の一部の領域が物体１６０のオクルージョン領域５００に含まれて以降、基準点の座標とオクルージョン領域５００に接している位置の座標とに基づいて、差分ベクトルを算出する。更に、情報操作出力システム１００では、相対ベクトルと差分ベクトルとを用いて、オクルージョン領域５００に含まれている手指の一部の領域の長さ及び方向を示す補正ベクトルを算出する。
【０１１０】
これにより、情報操作出力システム１００によれば、距離画像データの各フレームにおいて算出した、オクルージョン領域５００に接している位置の座標と補正ベクトルとを用いて、指先の座標を推定することができる。
【０１１１】
つまり、情報操作出力システム１００によれば、オクルージョン領域に含まれる指先の位置を推定することができる。
【０１１２】
更に、情報操作出力システム１００では、推定した指先の位置の座標と、予め算出したタッチ面１６１の座標を示す関数により特定されるタッチ面１６１の座標と比較する。
【０１１３】
これにより、情報操作出力システム１００によれば、手指の一部の領域が物体の背後のオクルージョン領域に含まれることで指先が検出できない場合であっても、ユーザの指先がタッチ面に触れたか否かの判定を行うことができる。
【０１１４】
［第２の実施形態］
上記第１の実施形態では、物体１６０におけるタッチ面として、オクルージョン領域に含まれるタッチ面１６１を１面のみ規定した。しかしながら、物体１６０のタッチ面は１面に限定されず、複数面あってもよい。また、物体１６０のタッチ面にはオクルージョン領域に含まれていない面が含まれていてもよい。以下、第２の実施形態について、上記第１の実施形態との相違点を中心に説明する。
【０１１５】
図１２は、複数のタッチ面を有する物体の物体モデル情報の一例を示す図である。図１２（ａ）は物体１６０の外観構成を示しており、ハッチングされた面は、第２の実施形態において、タッチ面として規定された面である。
【０１１６】
図１２（ａ）に示すように、第２の実施形態では、タッチ面として、タッチ面１６１に加え、タッチ面１２０１、１２０２を規定している。なお、タッチ面１２０１、タッチ面１２０２は、基準面１５０に物体１６０が載置された際に、上側に位置する面であり、オクルージョン領域５００には含まれない面である。
【０１１７】
図１２（ｂ）は、タッチ面１６１に加え、タッチ面１２０１、１２０２が規定された物体１６０の物体モデル情報１２１０の一例を示している。図６に示した物体モデル情報６００との相違点は、オクルージョン領域に含まれるタッチ面１６１の座標を示す関数と、オクルージョン領域に含まれない（非オクルージョン領域の）タッチ面１２０１、１２０２の座標を示す関数とが算出されている点である。
【０１１８】
次に、オクルージョン領域に含まれるタッチ面１６１と、オクルージョン領域に含まれないタッチ面１２０１、１２０２とを含む複数のタッチ面を有する物体に対するタッチ判定処理の流れについて説明する。図１３及び図１４は、複数のタッチ面を有する物体に対するタッチ判定処理の第１及び第２のフローチャートである。
【０１１９】
図１０及び図１１に示したタッチ判定処理のフローチャートとの相違点は、ステップＳ１３０１〜Ｓ１３０３及びステップＳ１４０１である。
【０１２０】
指先Ｆｔの座標とオクルージョン領域５００の境界面の座標とが一致しないと判定した場合、第２の実施形態では、ステップＳ１３０１に進む。ステップＳ１３０１において、タッチ判定部８１１は、指先Ｆｔの座標とタッチ面１２０１、１２０２の座標を示す関数（非オクルージョン領域）により特定されるタッチ面１２０１または１２０２の座標とを比較する。
【０１２１】
比較の結果、指先Ｆｔの座標とタッチ面１２０１または１２０２の座標を示す関数（非オクルージョン領域）により特定されるタッチ面１２０１または１２０２の座標とが一致すると判定した場合には、ステップＳ１３０２からステップＳ１３０３に進む。
【０１２２】
ステップＳ１３０３において、タッチ判定部８１１は、指先Ｆｔがタッチ面１２０１または１２０２（非オクルージョン領域）に触れたと判定し、ステップＳ１００２に戻る。この場合、タッチ判定部８１１では、判定結果を画像投影部２２０に通知したうえで、次のフレームの距離画像データについて、ステップＳ１００３以降の処理を行う。
【０１２３】
一方、比較の結果、一致しないと判定した場合には、ステップＳ１３０２から、直接、ステップＳ１２０２に戻り、次のフレームの距離画像データについて、ステップＳ１００３以降の処理を行う。
【０１２４】
また、図１４のステップＳ１４０１では、タッチ判定部８１１が、指先Ｆｔの座標とタッチ面１６１の座標を示す関数（オクルージョン領域）により特定されるタッチ面１６１の座標とを比較する。
【０１２５】
このように、第２の実施形態では、手指領域７００の一部の領域がオクルージョン領域５００に含まれている場合と、含まれていない場合とで、タッチ判定を行う際に用いるタッチ面の座標を示す関数を切り替える。これにより、第２の実施形態によれば、オクルージョン領域に含まれていないタッチ面とオクルージョン領域に含まれているタッチ面とを有する物体において、いずれのタッチ面に対してもタッチ判定を行うことができる。
【０１２６】
［第３の実施形態］
上記第１及び第２の実施形態では、物体形状データを用いて物体のタッチ面の座標を示す関数を算出した。しかしながら、タッチ面が所定形状を有しており、特徴点Ｐ１〜Ｐ４の座標を算出することで、タッチ面の座標を示す関数が一意に定まる場合においては、物体形状データを用いる必要はない。また、この場合、第１及び第２の実施形態のように指先の座標を算出しなくても、より簡単な処理でタッチ判定を行うことができる。そこで、第３の実施形態では、物体が所定形状のタッチ面を有する場合のタッチ判定について説明する。以下、第３の実施形態について、上記第１の実施形態との相違点を中心に説明する。
【０１２７】
図１５は、所定形状のタッチ面を有する物体の物体モデル情報の一例を示す図である。図１５（ａ）に示すように、物体１５００が有するタッチ面１５０１は、凹凸のない平坦面により形成され、基準面１５０に載置した場合に、基準面１５０に対して略直交する。つまり、特徴点Ｐ１〜Ｐ４の座標が算出されることで、タッチ面１５０１の座標を一意に定めることができる。このため、第３の実施形態における物体モデル情報１５１０には、図１５（ｂ）に示すように、"物体形状データ"は格納されず、"タッチ面形状"として"基準面に直交する平面"が格納される。
【０１２８】
次に、物体と手指との位置関係及び距離画像データを示す図１６を参照しながら、手指領域の一部の領域である指先が物体１５００の背後に隠れた場合のタッチ判定について説明する。図１６は、所定形状のタッチ面を有する物体と手指との位置関係及び距離画像データの一例を示す図である。
【０１２９】
図１６（ａ−１）〜（ｃ−１）は、基準面１５０に載置された物体１５００をｘ軸方向から見た場合の物体１５００と手指との位置関係を示している。なお、図１６（ａ−１）〜（ｃ−１）では、参考としてオクルージョン領域５００も合わせて示している。一方、図１６（ａ−２）〜（ｃ−２）は、距離測定装置１１０から送信される距離画像データ１６０１〜１６０３を示している（図７と同様、可視化したものを示している）。
【０１３０】
なお、図１６（ａ−１）、（ｂ−１）及び図１６（ａ−２）、（ｂ−２）において算出される指先Ｆｔ、基準点Ｆｂ、境界面上の位置Ｆ０の算出方法は、図７（ａ−１）、（ｂ−１）及び図７（ａ−２）、（ｂ−２）において説明済みである。したがって、ここでは、指先Ｆｔ、基準点Ｆｂ、境界面上の位置Ｆ０の算出方法についての説明は省略する。
【０１３１】
上述したとおり、物体１５００のタッチ面１５０１は、基準面１５０に対して略直交する平坦面により形成されている。このため、オクルージョン領域５００の境界面からタッチ面１５０１までの距離は、オクルージョン領域５００の境界面の高さ方向の位置（ｚ軸方向の座標）によって決まる。
【０１３２】
そこで、操作判定部２１０では、まず、手指３００がタッチ面方向に近づき、手指領域１６００の指先Ｆｔがオクルージョン領域５００の境界面に到達した際の境界面上の位置Ｆ０のｚ軸座標を算出する。また、操作判定部２１０では、算出した境界面上の位置Ｆ０のｚ軸座標に基づいて、タッチ面１５０１までの距離Ｌを算出する（図１６（ｂ−１）、（ｂ−２））。また、操作判定部２１０では、手指領域１６００の指先Ｆｔがオクルージョン領域５００の境界面に到達した際の基準点Ｆｂ（Ｆｂ１またはＦｂ２）の座標を算出する（図１６（ｂ−１）、（ｂ−２））。
【０１３３】
更に、操作判定部２１０では、手指領域１６００の指先Ｆｔが、オクルージョン領域５００の境界面に到達して以降の、距離画像データの各フレームについて、基準点Ｆｂのｙ軸方向の移動量Ｌｙを算出する。具体的には、手指領域１６００の指先Ｆｔがオクルージョン領域５００の境界面に到達した際の基準点Ｆｂの座標と、現在の基準点Ｆｂの座標とに基づいて、ｙ軸方向の移動量Ｌｙを算出する（図１６（ｃ−２））。
【０１３４】
操作判定部２１０では、基準点Ｆｂの移動量Ｌｙがタッチ面１５０１までの距離Ｌに等しければ、手指３００の指先Ｆｔがタッチ面１５０１に触れたと判定する。
【０１３５】
このように、所定形状のタッチ面１５０１を有する物体１５００に対しては、より簡単な処理でタッチ判定を行うことができる。
【０１３６】
次に、操作判定装置１３０の機能構成について説明する。図１７は、操作判定装置の機能構成の一例を示す第２の図である。図８に示した機能構成との相違点は、オクルージョン領域挿入判定部１７０１、タッチ判定部１７０３の機能が、図８のオクルージョン領域挿入判定部８０６、タッチ判定部８１１の機能とは異なる点である。更に、図８に示した機能構成との相違点は、相対ベクトル算出部８０８、補正ベクトル算出部８０９、指先位置推定部８１０の代わりに、基準点移動量算出部１７０２が含まれている点である。
【０１３７】
オクルージョン領域挿入判定部１７０１は、物体モデル情報記憶部２３０に記憶されているオクルージョン領域５００の境界面の座標を示す関数を読み出す。また、オクルージョン領域挿入判定部１７０１は、距離画像データのフレームごとに算出された指先Ｆｔの座標が、オクルージョン領域５００の境界面に到達したか否かを判定する。オクルージョン領域５００の境界面に到達したと判定した場合、オクルージョン領域挿入判定部１７０１では、判定結果を基準点抽出部８０７に送信する。
【０１３８】
また、オクルージョン領域挿入判定部１７０１は、オクルージョン領域挿入判定部１７０１は、手指領域１６００とオクルージョン領域５００の境界面とが接している境界面上の位置Ｆ０のｚ軸座標に基づいて、タッチ面１５０１までの距離Ｌを算出する。更に、オクルージョン領域挿入判定部１７０１は、算出した距離Ｌをタッチ判定部１７０３に送信する。
【０１３９】
基準点移動量算出部１７０２は、現在の基準点Ｆｂの座標と、基準点抽出部８０７において算出された基準点Ｆｂの座標（指先Ｆｔがオクルージョン領域５００の境界面に到達した際の基準点Ｆｂの座標）との差分を算出し、移動量Ｌｙを算出する。また、算出した移動量Ｌｙをタッチ判定部１７０３に送信する。
【０１４０】
タッチ判定部１７０３は、オクルージョン領域挿入判定部１７０１より送信されたタッチ面１５０１までの距離Ｌと、基準点移動量算出部１７０２より送信された移動量Ｌｙとを比較する。タッチ判定部１７０３では、所定の条件を満たす（両者が一致した）場合に、手指３００の指先Ｆｔがタッチ面１５０１に触れたと判定する。一方、所定の条件を満たさない（両者が一致していない）場合には、手指３００の指先Ｆｔがタッチ面１５０１に触れていないと判定する。
【０１４１】
次に、第３の実施形態における物体モデル情報生成処理の流れについて説明する。図１８は、所定形状のタッチ面を有する物体の物体モデル情報生成処理のフローチャートである。図９に示すフローチャートとの相違点は、図１８の場合、ステップＳ９０６、Ｓ９０７の処理がない点、及び、ステップＳ１８０１の処理内容が、ステップＳ９０８の処理内容とは異なる点である。
【０１４２】
ステップＳ１８０１において、タッチ面座標算出部８０４は、ステップＳ９０３において算出された各特徴点のうち、タッチ面１５０１の座標を示す関数の算出に用いる特徴点Ｐ１〜Ｐ４の座標を抽出する。また、タッチ面座標算出部８０４は、タッチ面１５０１が基準面１５０に直交することを利用し、抽出した座標を用いて、タッチ面１５０１の座標を示す関数を算出する。
【０１４３】
次に、第３の実施形態におけるタッチ判定処理の流れについて説明する。図１９及び図２０は、所定形状のタッチ面を有する物体に対するタッチ判定処理の第１及び第２のフローチャートである。図１０に示すフローチャートとの相違点は、図１９の場合、ステップＳ１０１１の代わりにステップＳ１９０１が実行される点である。また、図１１に示すフローチャートとの相違点は、図２０の場合、ステップＳ１１０２〜Ｓ１１０６の代わりに、ステップＳ２００１〜Ｓ２００３が実行される点である。
【０１４４】
ステップＳ１９０１において、オクルージョン領域挿入判定部１７０１は、手指領域１６００とオクルージョン領域５００の境界面とが接している境界面上の位置Ｆ０のｚ軸座標に基づいて、タッチ面１５０１までの距離を算出する。
【０１４５】
ステップＳ２００１において、基準点移動量算出部１７０２は、基準点Ｆｂ１の移動量Ｌｙを算出する。また、ステップＳ２００２において、基準点移動量算出部１７０２は、基準点Ｆｂ２の移動量Ｌｙを算出する。
【０１４６】
ステップＳ２００３において、タッチ判定部１７０３は、ステップＳ１９０１において算出した距離Ｌと、ステップＳ２００１において算出した基準点Ｆｂ１の移動量Ｌｙまたは基準点Ｆｂ２の移動量Ｌｙとを比較する。これにより、タッチ判定部１７０３では、ステップＳ１１０８において、距離Ｌと移動量Ｌｙとが一致しているか否かを判定する。なお、タッチ判定部１７０３では、所定の条件を満たす（距離Ｌと移動量Ｌｙとが一致している）と判定した場合、判定結果を画像投影部２２０に通知する。
【０１４７】
以上の説明から明らかなように、第３の実施形態において情報操作出力システム１００では、特徴点に基づいてタッチ面の座標が一意に定まる場合には、物体形状データを用いることなく、距離画像データに基づいて、タッチ面の座標を算出する。これにより、第３の実施形態によれば、より簡単な処理で物体モデル情報を生成することができる。
【０１４８】
また、第３の実施形態において情報操作出力システム１００では、手指領域の一部の領域が物体１５００の背後に隠れる直前の基準点の座標を算出する。また、情報操作出力システム１００では、手指領域の一部の領域が物体１５００の背後に隠れる直前の手指領域１６００とオクルージョン領域５００の境界面とが接している境界面上の位置Ｆ０のｚ軸座標に基づいて、タッチ面１５０１までの距離を算出する。また、情報操作出力システム１００では、手指領域の一部の領域が物体１５００の背後に隠れた後の距離画像データの各フレームにおいて、物体１５００の背後に隠れる直前の基準点からのタッチ面方向への移動量を算出する。更に、情報操作出力システム１００では、タッチ面１５０１までの距離と移動量とを比較することで、タッチ判定を行う。
【０１４９】
これにより、第３の実施形態によれば、より簡単な処理でタッチ判定を行うことができる。
【０１５０】
［その他の実施形態］
上記第１乃至第３の実施形態では、物体に関するデジタル情報を、プロジェクタ装置１２０を介して投影表示した。しかしながら、物体に関するデジタル情報は、プロジェクタ装置１２０以外の装置を用いて表示するようにしてもよい。また、物体に関するデジタル情報は、表示に代えて、あるいは表示とともに、音声を用いて出力するようにしてもよい。つまり、操作判定装置１３０には、プロジェクタ装置１２０の代わりに任意の出力装置が接続されてもよい。
【０１５１】
また、上記第１乃至第３の実施形態では、距離測定装置１１０として、ＴＯＦ方式の距離画像センサを用いることとしたが、ＴＯＦ方式以外の距離画像センサを用いてもよいことはいうまでもない。
【０１５２】
また、上記第１乃至第３の実施形態では、基準点Ｆｂとして、指の付け根部分Ｆｂ１または手首部分Ｆｂ２のいずれかを用いるものとして説明したが、いずれの基準点を用いるかは、手指領域がオクルージョン領域５００に含まれる量に基づいて切り替えてもよい。例えば、指の付け根部分Ｆｂ１を第１の基準点、手首部分Ｆｂ２を第２の基準点とし、手指領域がオクルージョン領域５００に含まれる量が所定の閾値以上になった場合に、第１の基準点から第２の基準点に切り替えるようにしてもよい。
【０１５３】
また、上記第１乃至第３の実施形態では、基準点Ｆｂとして、指の付け根部分Ｆｂ１と手首部分Ｆｂ２とを例示したが、基準点Ｆｂとして抽出する部位は、これに限定されない。ただし、オクルージョン領域５００の境界面からタッチ面までの距離よりも、指先Ｆｔから基準点Ｆｂまでの距離の方が長くなるように、基準点Ｆｂを抽出するものとする。
【０１５４】
換言すると、抽出する基準点Ｆｂに応じて概ね特定される指先Ｆｔからの距離よりも、オクルージョン領域５００の境界面からタッチ面までの距離の方が短くなるように、物体の載置位置を決定するか、距離測定装置１１０の設置位置を決定するものとする。物体の載置位置または距離測定装置１１０の設置位置は、好ましくは、オクルージョン領域５００の境界面からタッチ面までの距離が、指先Ｆｔから手首部分Ｆｂ２までの距離よりも短くなるように決定されるものとする。また、物体の載置位置または距離測定装置１１０の設置位置は、より好ましくは、オクルージョン領域５００の境界面からタッチ面までの距離が、指先Ｆｔから指の付け根部分Ｆｂ１あるいは第２関節までの距離よりも短くなるように決定されるものとする。
【０１５５】
更に、上記第１及び第２の実施形態では、手指領域の一部の領域が物体１６０の背後に隠れる直前に相対ベクトルを算出した。しかしながら、相対ベクトルの算出タイミングは、手指領域の一部の領域が物体１６０の背後に隠れる前であれば、直前でなくてもよい。例えば、オクルージョン領域５００の境界面までの距離が所定値以下となったタイミングで、相対ベクトルを算出するようにしてもよい。
【０１５６】
なお、開示の技術では、以下に記載する付記のような形態が考えられる。
（付記１）
取得した距離画像から算出した、手指の長さ及び方向を示す第１ベクトルと、前記手指の指先がオクルージョン領域に含まれる場合の、前記オクルージョン領域に含まれていない手指領域の長さ及び方向を示す第２ベクトルとに基づき、前記オクルージョン領域に含まれる手指領域の長さ及び方向を示す第３ベクトルを算出する算出手段と、
前記第２ベクトルの前記オクルージョン領域に接している端に前記第３ベクトルを加えて、前記指先の位置を推定する推定手段と
を有することを特徴とする指先位置推定装置。
（付記２）
推定した前記指先の位置と、予め算出された前記オクルージョン領域に含まれる所定の面の位置とに基づいて、該所定の面に前記指先が触れたか否かを判定するタッチ判定手段を更に有することを特徴とする付記１に記載の指先位置推定装置。
（付記３）
前記タッチ判定手段は、前記オクルージョン領域に含まれる所定の面の位置と、推定した前記指先の位置との関係が所定の条件を満たした場合に、前記所定の面に前記指先が触れたと判定することを特徴とする付記２に記載の指先位置推定装置。
（付記４）
前記第１ベクトルは、前記手指の指先が前記オクルージョン領域に含まれる前の、前記手指の所定の基準点の位置と前記指先の位置とに基づいて算出され、
前記第２ベクトルは、前記オクルージョン領域に接している位置と、前記基準点の位置とに基づいて算出されることを特徴とする付記１に記載の指先位置推定装置。
（付記５）
前記算出手段は、前記第１ベクトルと前記第２ベクトルとの差分を算出することで、前記第３ベクトルを算出することを特徴とする付記４に記載の指先位置推定装置。
（付記６）
前記基準点は、前記指先の位置に近い第１の基準点と、前記指先の位置に対して該第１の基準点より離れた第２の基準点とを少なくとも有し、
前記第１ベクトル及び前記第２ベクトルは、前記手指領域が前記オクルージョン領域に含まれる量に基づいて、該第１の基準点または該第２の基準点のいずれかを用いて算出されることを特徴とする付記４に記載の指先位置推定装置。
（付記７）
手指の指先が物体の背後のオクルージョン領域に到達した場合に、該指先の位置から該物体のオクルージョン領域に含まれる所定形状の面までの距離を、予め算出した前記オクルージョン領域の境界面の位置に基づいて算出する第１の算出手段と、
前記手指の指先が前記オクルージョン領域に到達した場合に、前記手指の所定の基準点の位置を算出する第２の算出手段と、
前記手指の指先が前記オクルージョン領域に到達して以降の前記基準点の前記所定形状の面方向への移動量と、算出した前記所定形状の面までの距離とに基づいて、前記所定形状の面に前記手指の指先が触れたか否かを判定するタッチ判定手段と
を有することを特徴とする操作判定装置。
（付記８）
測定範囲に含まれる手指までの距離を測定し、距離画像を生成する距離測定装置と、
前記距離測定装置より取得した距離画像に基づいて、前記手指の指先の位置を推定する指先位置推定装置と、
を有する指先位置推定システムであって、
前記指先位置推定装置は、
取得した距離画像から算出した、手指の長さ及び方向を示す第１ベクトルと、前記手指の指先がオクルージョン領域に含まれる場合の、前記オクルージョン領域に含まれていない手指領域の長さ及び方向を示す第２ベクトルとに基づき、前記オクルージョン領域に含まれる手指領域の長さ及び方向を示す第３ベクトルを算出する算出手段と、
前記第２ベクトルの前記オクルージョン領域に接している端に前記第３ベクトルを加えて、前記指先の位置を推定する推定手段と
を有することを特徴とする指先位置推定システム。
（付記９）
推定した前記指先の位置と、予め算出された前記オクルージョン領域に含まれる所定の面の位置とに基づいて、該所定の面に前記指先が触れたか否かを判定するタッチ判定手段を更に有することを特徴とする付記８に記載の指先位置推定システム。
（付記１０）
前記タッチ判定手段は、前記オクルージョン領域に含まれる所定の面の位置と、推定した前記指先の位置との関係が所定の条件を満たした場合に、前記所定の面に前記指先が触れたと判定することを特徴とする付記９に記載の指先位置推定システム。
（付記１１）
取得した距離画像から算出した、手指の長さ及び方向を示す第１ベクトルと、前記手指の指先がオクルージョン領域に含まれる場合の、前記オクルージョン領域に含まれていない手指領域の長さ及び方向を示す第２ベクトルとに基づき、前記オクルージョン領域に含まれる手指領域の長さ及び方向を示す第３ベクトルを算出し、
前記第２ベクトルの前記オクルージョン領域に接している端に前記第３ベクトルを加えて、前記指先の位置を推定する、
処理をコンピュータに実行させる指先位置推定プログラム。
（付記１２）
推定した前記指先の位置と、予め算出された前記オクルージョン領域に含まれる所定の面の位置とに基づいて、該所定の面に前記指先が触れたか否かを判定する、処理を前記コンピュータに実行させる付記１１に記載の指先位置推定プログラム。
（付記１３）
前記オクルージョン領域に含まれる所定の面の位置と、推定した前記指先の位置との関係が所定の条件を満たした場合に、前記所定の面に前記指先が触れたと判定することを特徴とする付記１２に記載の指先位置推定プログラム。
（付記１４）
コンピュータが、
取得した距離画像から算出した、手指の長さ及び方向を示す第１ベクトルと、前記手指の指先がオクルージョン領域に含まれる場合の、前記オクルージョン領域に含まれていない手指領域の長さ及び方向を示す第２ベクトルとに基づき、前記オクルージョン領域に含まれる手指領域の長さ及び方向を示す第３ベクトルを算出し、
前記第２ベクトルの前記オクルージョン領域に接している端に前記第３ベクトルを加えて、前記指先の位置を推定する、
処理を実行することを特徴とする指先位置推定方法。
（付記１５）
前記コンピュータが、
推定した前記指先の位置と、予め算出された前記オクルージョン領域に含まれる所定の面の位置とに基づいて、該所定の面に前記指先が触れたか否かを判定する、処理を実行することを特徴とする付記１４に記載の指先位置推定方法。
（付記１６）
前記オクルージョン領域に含まれる所定の面の位置と、推定した前記指先の位置との関係が所定の条件を満たした場合に、前記所定の面に前記指先が触れたと判定することを特徴とする付記１５に記載の指先位置推定方法。
【０１５７】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１５８】
１００              ：情報操作出力システム
１１０              ：距離測定装置
１２０              ：プロジェクタ装置
１３０              ：操作判定装置
１４０              ：架台
１５０              ：基準面
１６０              ：物体
１６１              ：タッチ面
２１０              ：操作判定部
２２０              ：画像投影部
３００              ：手指
５００              ：オクルージョン領域
６００              ：物体モデル情報
８０１              ：距離画像データ取得部
８０２              ：対象物体検出部
８０３              ：オクルージョン領域算出部
８０４              ：タッチ面座標算出部
８０５              ：指先位置算出部
８０６              ：オクルージョン領域挿入判定部
８０７              ：基準点抽出部
８０８              ：相対ベクトル算出部
８０９              ：補正ベクトル算出部
８１０              ：指先位置推定部
８１１              ：タッチ判定部
１２０１、１２０２  ：タッチ面
１５００            ：物体
１５０１            ：タッチ面
１５１０            ：物体モデル情報
１７０１            ：オクルージョン領域挿入判定部
１７０２            ：基準点移動量算出部
１７０３            ：タッチ判定部
【図１】
0006575400.tif 000002
【図２】
0006575400.tif 000003
【図３】
0006575400.tif 000004
【図４】
0006575400.tif 000005
【図５】
0006575400.tif 000006
【図６】
0006575400.tif 000007
【図７】
0006575400.tif 000008
【図８】
0006575400.tif 000009
【図９】
0006575400.tif 000010
【図１０】
0006575400.tif 000011
【図１１】
0006575400.tif 000012
【図１２】
0006575400.tif 000013
【図１３】
0006575400.tif 000014
【図１４】
0006575400.tif 000015
【図１５】
0006575400.tif 000016
【図１６】
0006575400.tif 000017
【図１７】
0006575400.tif 000018
【図１８】
0006575400.tif 000019
【図１９】
0006575400.tif 000020
【図２０】
0006575400.tif 000021