(57)【要約】【課題】仮想物体の操作を、手指の動作により、より直感的に行えるようにする。【解決手段】  本発明の手指動作検出装置は、手指の形状及び高さの情報を有する画像を取得する画像取得部４１と、画像から手指の所定動作に対応する手指の第１の形状、又は、手指の所定動作以外の動作に対応する手指の第２の形状を検出する手指形状検出部４４と、手指形状検出部４４で検出された第１の形状の情報又は第２の形状の情報に基づいて、手指の３次元空間上の位置及び手指の姿勢の少なくとも一方の情報と、手指形状検出部４４の検出結果に対応する情報とを検出する手指動作検出部４６とを備える。【選択図】図２
2014235634.tif 000002
【特許請求の範囲】
【請求項１】
手指の形状及び高さの情報を有する画像を取得する画像取得部と、
前記画像取得部によって取得された前記画像から、前記手指の所定動作に対応する前記手指の第１の形状、又は、前記手指の所定動作以外の動作に対応する前記手指の第２の形状を検出する手指形状検出部と、
前記手指形状検出部で検出された前記第１の形状の情報又は第２の形状の情報に基づいて、前記手指の３次元空間上の位置及び前記手指の姿勢の少なくとも一方の情報と、前記手指形状検出部の検出結果に対応する情報とを検出する手指動作検出部とを備えた
手指動作検出装置。
【請求項２】
前記手指の所定動作は、前記手指のつまみ動作である
請求項１に記載の手指動作検出装置。
【請求項３】
前記手指動作検出部は、つまみ動作時には、２本の指同士が接触している位置を前記手指の３次元空間上の位置として検出し、非つまみ動作時には、対向する２本の指の指先間の中間点の位置を前記手指の３次元空間上の位置として検出する
請求項２に記載の手指動作検出装置。
【請求項４】
前記画像取得部で取得された前記画像内において、周囲を手指領域に囲まれた内部領域を抽出する内部領域抽出部をさらに備え、
前記手指形状検出部は、前記内部領域抽出部で前記内部領域が検出された場合の前記画像内の手指の形状を前記第１の形状として検出し、前記内部領域抽出部で前記内部領域が検出されなかった場合の前記画像内の手指の形状を前記第２の形状として検出する
請求項３に記載の手指動作検出装置。
【請求項５】
前記手指動作検出部は、前記手指の姿勢として、前記内部領域内の所定の画素、及び前記指先の接触位置に位置する画素を通る第１の線の、前記画像の画像平面内における回転角及び前記画像平面に対する傾き角と、前記第１の線と前記画像の画像平面上で直交する第２の線の、前記画像平面に対する傾き角とを算出する
請求項４に記載の手指動作検出装置。
【請求項６】
前記内部領域内の所定の画素は、前記内部領域の重心に位置する画素である
請求項５に記載の手指動作検出装置。
【請求項７】
前記画像の領域を、前記手指の領域を含む前景領域と、それ以外の背景領域とに分離するフィルタ処理部をさらに備え、
前記内部領域抽出部は、前記フィルタ処理部で分離された前記前景領域の情報と前記背景領域の情報とを用いて、前記内部領域を抽出する
請求項６に記載の手指動作検出装置。
【請求項８】
前記画像内の手指形状に関する所定の特徴点を抽出する特徴点抽出部をさらに備え、
前記特徴点抽出部は、前記前景領域を構成する画素のうち、前記画像の画像平面において前記背景領域との距離が最も大きい画素を距離中心点として抽出し、前記距離中心点と前記内部領域の重心とを結ぶ線分を対角線とする正方形を構成する４つの頂点のうちの、前記距離中心点と前記重心以外の２つの頂点の中から、前記手指の甲側に位置する頂点を距離基準点として抽出し、前記内部領域内にある画素の中から指先の接触点の複数の候補点に対応する画素を抽出して、前記複数の候補点に対応する画素の中から前記距離基準点との距離が最も大きい画素を、指先の位置基準点として抽出し、前記指先の位置基準点と前記重心とを通る前記第１の線上に存在する画素のうち、前記前景領域内の画素であり、前記重心を起点とした場合の前記重心から前記指先の位置基準点に向かう第１の方向において、前記手指の高さが最も高い画素を、前記指先の接触点として抽出し、
前記手指動作検出部は、前記手指の３次元空間上の位置として、前記指先の接触点の３次元空間上の位置座標を検出する
請求項７に記載の手指動作検出装置。
【請求項９】
前記特徴点抽出部は、前記第１の線上に存在する画素のうち、前記前景領域内に位置する画素であり、前記重心を起点とした場合の前記第１の方向とは反対の第２の方向において、前記手指の高さが最も高い画素を、第１の姿勢基準点として抽出し、前記重心を通り、かつ前記第１の線と直交する第２の線上に存在する画素のうち、前記前景領域内に位置する画素であり、前記第１の線を境に対して一方の側の領域内に位置する画素の中から、前記手指の高さが最も高い画素を第２の姿勢基準点として抽出し、前記第１の線に対して他方の側の領域内に位置する画素の中から、前記手指の高さが最も高い画素を第３の姿勢基準点として抽出し、
前記手指動作検出部は、前記指先の接触点、前記第１の姿勢基準点、前記第２の姿勢基準点、及び前記第３の姿勢基準点の３次元空間上の座標位置に基づいて、前記手指の姿勢を示すオイラー角を算出する
請求項８に記載の手指動作検出装置。
【請求項１０】
前記特徴点抽出部は、前記内部領域抽出部で前記内部領域が抽出されなかった場合には、前記前景領域として抽出された手指領域を細線化し、前記細線化された手指領域の複数の端点の中から、所定の指の端点に対応する第１の端点を抽出し、前記画像の画像平面上において前記第１の端点と最も近い位置に存在する第２の端点を抽出し、前記第１の端点と前記第２の端点とを結ぶ線分の中間点を、仮想接触点として抽出し、
前記手指動作検出部は、前記手指の３次元空間上の位置として、前記仮想接触点の３次元空間上の位置座標を検出する
請求項７に記載の手指動作検出装置。
【請求項１１】
前記特徴点抽出部は、前記第１の端点と前記第２の端点とを結ぶ線分と、前記細線化された手指領域とによって囲われた領域に含まれる前記背景領域を、擬似内部領域として抽出し、
前記手指動作検出部は、前記手指の３次元空間上の位置として、前記仮想接触点の３次元空間上の位置座標を検出し、前記手指の姿勢として、前記擬似内部領域の重心と前記仮想接触点とを通る第３の線の、前記画像の画像平面内における回転角及び前記画像平面に対する傾き角と、前記擬似内部領域の重心を通る線であり、前記第３の線と前記画像の平面上で直交する第４の線の、前記画像の画像平面に対する傾き角とを算出する
請求項１０に記載の手指動作検出装置。
【請求項１２】
手指の形状及び高さの情報を有する画像を取得することと、
前記取得された前記画像から、前記手指の所定動作に対応する前記手指の第１の形状、又は、前記手指の所定動作以外の動作に対応する前記手指の第２の形状を検出することと、
前記検出された前記第１の形状の情報又は第２の形状の情報に基づいて、前記手指の３次元空間上の位置及び前記手指の姿勢の少なくとも一方の情報と、前記手指の所定動作の検出結果に対応する情報とを検出することとを含む
手指動作検出方法。
【請求項１３】
手指の形状及び高さの情報を有する画像を取得することと、
前記取得された前記画像から、前記手指の所定動作に対応する前記手指の第１の形状、又は、前記手指の所定動作以外の動作に対応する前記手指の第２の形状を検出することと、
前記検出された前記第１の形状の情報又は第２の形状の情報に基づいて、前記手指の３次元空間上の位置及び前記手指の姿勢の少なくとも一方の情報と、前記手指の所定動作の検出結果に対応する情報とを検出することとを、情報処理装置に実装して実行させる
手指動作検出プログラム。
【請求項１４】
手指の形状及び高さの情報を有する画像を取得する画像取得部と、
前記画像取得部によって取得された前記画像から、前記手指の所定動作に対応する前記手指の第１の形状、又は、前記手指の所定動作以外の動作に対応する前記手指の第２の形状を検出する手指形状検出部と、
前記手指形状検出部で検出された前記第１の形状の情報又は第２の形状の情報に基づいて、前記手指の３次元空間上の位置及び前記手指の姿勢の少なくとも一方の情報と、前記手指形状検出部の検出結果に対応する情報とを検出する手指動作検出部と、
処理対象となる仮想物体を表示するディスプレイ装置と、
前記手指動作検出部で検出された、前記手指の３次元空間上の位置及び前記手指の姿勢の少なくとも一方の情報と、前記手指形状検出部の検出結果に対応する情報とを用いて、前記ディスプレイ装置に表示された前記仮想物体に所定の処理を施す仮想物体処理部とを備えた
仮想物体処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手指動作検出装置、手指動作検出方法、手指動作検出プログラム、及び仮想物体処理システムに関する。
【背景技術】
【０００２】
従来、３ＤＣＡＤ（three-dimensional Computer Aided Design）や３ＤＣＧ（Computer Graphics）ソフトウェア等のツールを用いて、情報処理装置上で仮想的な３次元物体を生成したり、生成した仮想３次元物体を操作したりする技術が存在する。これらのツールでは、一般的に、入力インターフェースとしてマウスと呼ばれるポインティングデバイスが使用されている。ところが、マウスは２次元の平面上を移動するものであるため、仮想３次元物体を操作する場合にも、その操作は２次元上で行う必要がある。したがって、仮想３次元物体を直感的に操作したい場合においては、マウスは最適な入力インターフェースであるとは言い難い。
【０００３】
また近年、例えば３Ｄディスプレイ技術の一般化や安価な３Ｄプリンタの登場など、出力装置への３Ｄ技術の適用が普及しており、直感的に使える３次元空間操作用の入力インターフェースへの需要が高まっている。このような３次元空間操作用の入力インターフェースでは、直感性を損なわないためにも、人間が現実世界で行うような動きを、特別な入力装置を介することなく入力できることが望ましい。例えば非特許文献１には、指先を動かすジェスチャにより操作入力を行える入力インターフェースが記載されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】金次保明, 浦谷則好, 小峯一晃, “指さしポインターの開発とその性能評価実験”, 電子情報通信学会技術研究報告. EID, 電子ディスプレイ, Vol.104, No.329, pp.9-12, 2004
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１に記載された技術のように、指先のジェスチャにより入力を行える入力インターフェースを用いることで、仮想３次元物体を操作する技術が提案されているが、この分野では、より直感的な操作で、仮想３次元物体に対する所定の処理を行えることが望まれていた。
【０００６】
本発明は、仮想３次元物体の操作を、手指の動作により直感的に行えるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の手指動作検出装置は、画像取得部と、手指形状検出部と、手指動作検出部とを備える構成とし、各部の構成及び機能を次のようにする。画像取得部は、手指の形状及び高さの情報を有する画像を取得する。手指形状検出部は、画像取得部によって取得された画像から、手指の所定動作に対応する手指の第１の形状、又は、手指の所定動作以外の動作に対応する手指の第２の形状を検出する。手指動作検出部は、手指形状検出部で検出された第１の形状の情報又は第２の形状の情報に基づいて、手指の３次元空間上の位置及び手指の姿勢の少なくとも一方の情報と、手指形状検出部の検出結果に対応する情報とを検出する。
【０００８】
また、本発明の手指動作検出方法は、まず、手指の形状及び高さの情報を有する画像を取得する。次いで、取得された画像から、手指の所定動作に対応する手指の第１の形状、又は、手指の所定動作以外の動作に対応する手指の第２の形状を検出する。次いで、検出された第１の形状の情報又は第２の形状の情報に基づいて、手指の３次元空間上の位置及び手指の姿勢の少なくとも一方の情報と、手指の所定動作の検出結果に対応する情報とを検出する。
【０００９】
また、本発明の手指動作検出プログラムは、上記本発明の手指動作検出方法の各処理を、情報処理装置に実装して実行させるための手指動作検出プログラムである。
【００１０】
また、本発明の仮想３次元物体処理システムは、画像取得部と、手指形状検出部と、手指動作検出部と、ディスプレイ装置と、仮想物体処理部とを備える構成とし、各部の構成及び機能を次のようにする。画像取得部は、手指の形状及び高さの情報を有する画像を取得する。手指形状検出部は、画像取得部によって取得された画像から、手指の所定動作に対応する手指の第１の形状、又は、手指の所定動作以外の動作に対応する手指の第２の形状を検出する。手指動作検出部は、手指形状検出部で検出された第１の形状の情報又は第２の形状の情報に基づいて、手指の３次元空間上の位置及び手指の姿勢の少なくとも一方の情報と、手指形状検出部の検出結果に対応する情報とを検出する。ディスプレイ装置は、処理対象となる仮想物体を表示する。仮想物体処理部は、手指動作検出部で検出された、手指の３次元空間上の位置及び手指の姿勢の少なくとも一方の情報と、手指形状検出部の検出結果に対応する情報とを用いて、ディスプレイ装置に表示された仮想物体に所定の処理を施す。
【発明の効果】
【００１１】
本発明によれば、手指の動作の検出結果に基づいて、仮想空間内の仮想物体に所定の処理を施すための各種制御パラメータが検出される。すなわち、本発明によれば、仮想物体に対して所定の処理を施す操作を、手指の動作によってより直感的に行えるようになる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態における仮想３次元物体処理システム１のハードウェア構成図である。
【図２】本発明の一実施形態における仮想３次元物体処理システム１の機能構成図である。
【図３】本発明の一実施形態における、つまみ動作における指先の位置及び手指の姿勢と、それらを規定する座標系とを示す説明図である。
【図４】本発明の一実施形態におけるフィルタ処理を説明するための図である。
【図５】本発明の一実施形態における内部領域の抽出例を示す図である。
【図６】本発明の一実施形態における前景領域と背景領域との分離に使用する閾値の調整例を示す図である。
【図７】本発明の一実施形態における内部領域の抽出処理例を示す図である。
【図８】本発明の一実施形態におけるトリガ入力操作の例を示す図である。
【図９】本発明の一実施形態における特徴点抽出部による、内部領域の重心及び距離中心点の抽出例を示す図である。
【図１０】本発明の一実施形態における特徴点抽出部による距離基準点の抽出例を示す図である。
【図１１】本発明の一実施形態における特徴点抽出部による指先の位置基準点の抽出例を示す図である。
【図１２】本発明の一実施形態における特徴点抽出部による手指の姿勢を示す姿勢ベクトルの抽出例を示す図である。
【図１３】本発明の一実施形態における特徴点抽出部による手指の姿勢を示すピッチ角の算出に用いられる特徴点の抽出例を示す図である。
【図１４】本発明の一実施形態における特徴点抽出部による手指の姿勢を示すロール角の算出に用いられる特徴点の抽出例を示す図である。
【図１５】本発明の一実施形態におけるパラメータ算出部によって算出される指先の座標位置及び手指の姿勢の座標位置を示す図である。
【図１６】本発明の一実施形態における特徴点抽出部による、つまみ動作非検出時における、擬似内部領域及び仮想的な指先の接触点の抽出処理例を示す図である。
【図１７】本発明の一実施形態における特徴点抽出部による、つまみ動作非検出時における擬似内部領域と仮想的な指先の接触点との抽出例を示す図である。
【図１８】本発明の一実施形態における仮想３次元物体制御パラメータの取得手法を示すフローチャートである。
【図１９】本発明の一実施形態におけるつまみ動作を行っている手指の姿勢と、抽出された手指の内部領域及び姿勢ベクトルとの関係を示す図である。
【図２０】本発明の一実施形態における仮想３次元物体処理システムの具体的な外観構成例を示す図である。
【図２１】本発明の一実施形態における深度センサの撮影範囲及びジェスチャの認識範囲を示す図である。
【図２２】本発明の一実施形態における手指の位置及び姿勢と仮想３次元物体の位置及び姿勢との対応を示す説明図である。
【図２３】本発明の一実施形態における仮想３次元物体制御部が備える処理機能の例を示す図である。
【図２４】本発明の一実施形態における仮想３次元物体処理手法の例を示すフローチャートである。
【図２５】本発明の一実施形態における仮想３次元物体の造形例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、本発明に係る実施形態について説明する。本発明の一実施形態に係る仮想３次元物体処理システムは、現実空間上における手指の動作を認識及び解析して得た各種制御パラメータを用いて、仮想空間上の３次元物体を制御するものである。
【００１４】
＜ハードウェア構成＞
図１は、一実施形態に係る仮想３次元物体処理システム１のハードウェア構成図である。仮想３次元物体処理システム１は、例えば、ＣＰＵ（Central Processing Unit）１０と、ドライブ装置１１と、補助記憶装置１３と、メモリ装置１４と、インターフェース装置２０と、入力装置２１と、ディスプレイ装置２２と、画像入力インターフェース２３と、深度センサ３０とを備える。これらの構成要素は、バスやシリアル回線等を介して互いに接続される。
【００１５】
ＣＰＵ１０は、例えば、プログラムカウンタ、命令デコーダ、各種演算器、ＬＳＵ（Load Store Unit）、汎用レジスタ等を有する演算処理装置で構成される。
【００１６】
ドライブ装置１１は、その内部に装着された記憶媒体１２からプログラムやデータなどを読み込む装置である。なお、本実施形態では、記憶媒体１２は、例えば、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ＵＳＢ（Universal Serial Bus）メモリ等の可搬型の記憶媒体である。また、補助記憶装置１３は、例えば、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどで構成される。
【００１７】
本実施形態において、プログラムが記録された記憶媒体１２がドライブ装置１１に装着された場合には、該プログラムは、記憶媒体１２からドライブ装置１１を介して補助記憶装置１３にインストールされる。なお、プログラムのインストール手法は、この例に限定されない。例えば、インターフェース装置２０が、ネットワークを介して他のコンピュータからプログラムをダウンロードし、該ダウンロードしたプログラムを補助記憶装置１３にインストールしてもよい。なお、ネットワークは、インターネット、ＬＡＮ（Local Area Network）、無線ネットワーク等で構成される。また、例えば、プログラムが、仮想３次元物体処理システム１の出荷時に、補助記憶装置１３や図示しないＲＯＭ（Read Only Memory）等に予め格納（実装）されていてもよい。
【００１８】
上述のようにしてインストールされた各種プログラム、又は、予め格納された各種プログラムをＣＰＵ１０が実行することにより、本実施形態の仮想３次元物体処理システム１における後述の各種機能（各種処理）が実現される。
【００１９】
メモリ装置１４は、例えば、ＲＡＭ（Random Access Memory）やＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）などの記憶装置で構成される。インターフェース装置２０は、上述した各種ネットワーク等に接続され、該ネットワークを介して、外部の各種装置に対して所定のデータやプログラムなどの入出力動作を行う。
【００２０】
入力装置２１は、例えば、キーボード、マウス、ボタン、タッチパッド、タッチパネル、マイク等の各種入力操作装置で構成される。ディスプレイ装置２２は、例えば、ＬＣＤ（Liquid Crystal Display）やＣＲＴ（Cathode Ray Tube）等の表示装置で構成される。なお、仮想３次元物体処理システム１は、ディスプレイ装置２２以外では、例えば、プリンタ、スピーカ等の各種出力装置を備えていてもよい。
【００２１】
画像入力インターフェース２３は、深度センサ３０に接続される。そして、画像入力インターフェース２３は、深度センサ３０から入力された距離画像を、メモリ装置１４や補助記憶装置１３に出力する。
【００２２】
深度センサ３０は、物体の距離画像を撮影するセンサカメラである。距離画像とは、物体の深度情報を２次元上に画像化した画像である。深度の計測方式としては、例えば、ＴＯＦ（Time-Of-Flight）方式を用いることができる。ＴＯＦ方式とは、センサから照射した赤外線が物体表面に反射されてセンサに戻ってくるまでの時間の長さから、センサから物体までの距離、すなわち物体の深度を算出する方式である。なお、深度の計測方式としては、ＴＯＦ方式に限定されるものではなく、例えば、パターン照射方式等の他の方式を用いてもよい。深度センサ３０は、撮影した物体の距離画像を、画像入力インターフェース２３に出力する。
【００２３】
深度センサ３０には、例えば、SoftKinetic社のDepthSense（登録商標）325等を使用することができる。DepthSense325は、３２０×２４０ピクセルの深度解像度を有し、最大６０ｆｐｓ（frames per second）で距離画像の撮影を行えるセンサカメラである。
【００２４】
＜機能構成＞
図２は、本実施形態の仮想３次元物体処理システム１の機能構成図である。仮想３次元物体処理システム１は、ＣＰＵ１０がプログラムを実行することにより機能する機能ブロックとして、手指動作検出装置部４０と、仮想物体処理部としての仮想物体操作部５０とを備える。手指動作検出装置部４０は、画像取得部４１と、フィルタ処理部４２と、内部領域抽出部４３と、手指形状検出部としてのつまみ動作検出部４４と、特徴点抽出部４５と、手指動作検出部としてのパラメータ算出部４６とを含む。これらの各機能ブロックは、例えばメモリ装置１４に対して各種情報（データ）を入出力する。そして、メモリ装置１４は、各機能ブロックから出力された各種情報を記憶する。
【００２５】
これらの機能ブロックは、ソフトウェアで構成するこができる。この場合、各機能ブロックは、互いに明確に分離したプログラムによって実現されるブロックであってもよいし、例えば、サブルーチンや関数などのように、他のプログラムによって呼び出されるプログラムにより実現されるブロックであってもよい。また、これらの機能ブロックの一部又は全てが、例えば、ＬＳＩ（Large Scale Integrated circuit）、ＩＣ（Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）等のハードウェアで構成されていてもよい。
【００２６】
＜仮想３次元物体処理手法＞
［仮想３次元物体処理手法の概要］
次に、本実施形態における仮想３次元物体処理手法の内容を説明する。本実施形態における仮想３次元物体処理手法では、まず、手指動作検出装置部４０が、手指によるつまみ動作を検出し、該検出により得られた情報に基づいて、仮想３次元物体操作制御用の各種制御パラメータを検出する。
【００２７】
次に、仮想物体操作部５０が、手指動作検出装置部４０により検出された各種制御パラメータに基づいて、仮想３次元物体に所定の処理を施す。本実施形態における「つまみ動作」とは、例えば親指と人差し指等の、少なくとも２本の指の指先同士を接触させる動作を指す。
【００２８】
［手指動作検出手法の概要］
本実施形態の手指動作検出手法では、まず、深度センサ３０で得られた手指の深度分布情報を含む距離画像から、手指によるつまみ動作を検出する。次に、つまみ動作を行っている手指の指先の３次元空間上の位置を検出する。次に、検出された指先の３次元上の位置の情報を用いて、つまみ動作を行っている手指の姿勢を推定する。このようにして取得された、指先の３次元空間上の位置、及び、つまみ動作を行っている手指の姿勢の情報は、仮想３次元物体操作制御用のパラメータとして使用される。
【００２９】
また、本実施形態の手指動作検出取得手法では、つまみ動作の検出情報を用いて、つまみ動作によって指先同士が接触している状態と、つまみ動作が行われておらず指先同士が接触していない状態とを検出する。そして、この２つの状態間の遷移を検出して、検出した結果をトリガ入力パラメータとする。トリガ入力パラメータとは、仮想空間上の仮想物体に対して所定の作用を与える（所定の処理を施す）か否かを決定するためのパラメータである。
【００３０】
本実施形態の手指動作検出手法の具体的な内容を説明する前に、ここで、前述した「指先の３次元空間上の位置」と「手指の姿勢」の定義を簡単に説明する。本実施形態では、つまみ動作を行っている手指における指先の位置としては、空間座標系（カメラ座標系）における、指先同士が接触している接触位置を採用する。
【００３１】
指先の接触位置を規定する空間座標系を、図３Ａに示す。図３Ａに示した座標系において、Ｘ軸は、深度センサ３０で取得された距離画像における横方向を示し、Ｙ軸は距離画像の縦方向を示し、Ｚ軸は深度センサ３０の撮像方向（距離画像の面と直交する方向）を示す。本実施形態では、この座標系で示される、指先同士が接触している接触点ＦのＸ軸方向の座標ｘと、Ｙ軸方向の座標ｙと、Ｚ軸方向の座標ｚとにより、指先の３次元空間上の位置Ｆ（ｘ，ｙ，ｚ）を定める。
【００３２】
手指の姿勢を規定する物体座標系を、図３Ｂに示す。図３Ｂに示した座標系において、Ｘ軸は、図３Ａに示した棒状の仮想物体ＶｏのＸ軸を示し、Ｙ軸は、距離画像の平面上において仮想物体ＶｏのＸ軸と直交する軸を示す。また、Ｚ軸は、Ｘ軸及びＹ軸と直交する軸である。図３Ａに示すように、棒状の仮想物体Ｖｏは、指先同士の接触点Ｆから重心Ｏに向かう方向に延在した仮想物体である。なお、重心Ｏは、つまみ動作によって（指先同士が接触していることにより）形成される、周囲が指領域によって囲われた領域（斜線部分）の重心である。すなわち、棒状の仮想物体Ｖｏは、指先で棒状の物体をつまんでいることを想定した場合の、指先によって摘まれた仮想物体である。本実施形態では、この棒状の仮想物体Ｖｏの姿勢を、手指の姿勢として求める。
【００３３】
棒状の仮想物体Ｖｏの姿勢、すなわち手指の姿勢を、オイラー角で示す。具体的には、図３Ｂに示すように、手指の姿勢を、ロール角φ、ピッチ角θ、及びヨー角ψで定義する。ロール角φは、仮想物体Ｖｏの物体座標系のＸ軸を中心軸とする回転角であり、ピッチ角θは仮想物体Ｖｏの物体座標系のＹ軸を中心軸とする回転角であり、ヨー角ψは仮想物体Ｖｏの物体座標系のＺ軸を中心とする回転角である。手指の姿勢を示すロール角φ、ピッチ角θ、及びヨー角ψの具体的な算出方法については後述する。
【００３４】
［手指動作検出手法の詳細］
次に、本実施形態の手指動作検出手法の具体的な手法について説明する。本実施形態の手指動作検出手法は、図２に示した手指動作検出装置部４０を構成する各部によって実行される。よって、手指動作検出装置部４０の各部で行われる処理を順に説明することにより、手指動作検出手法の具体的な内容を説明する。
【００３５】
（画像取得部の処理）
画像取得部４１は、深度センサ３０（図１参照）から出力された深度情報を含む距離画像を取得する。深度センサ３０から出力される深度情報には、深度センサ３０で撮影された手指の形状に対応する深度分布情報が含まれる。
【００３６】
（フィルタ処理部の処理）
フィルタ処理部４２は、距離画像内における手指の領域を認識するために、距離画像内の領域を、手指領域が含まれる前景領域と、それ以外の背景領域とに分離する。より具体的には、所定の閾値以上の深度を有する画素が分布している領域を前景領域とし、閾値未満の深度を有する画素が分布している領域を背景領域とする。
【００３７】
距離画像に含まれる深度情報にはノイズも多く含まれているため、距離画像をそのまま用いると、前景領域と背景領域との分離を精度よく行うことができない。このため、フィルタ処理部４２は、まず、ガウシアンフィルタ等の平滑化フィルタを用いて、距離画像全体に渡ってノイズの除去処理を行う。図４Ａは、フィルタ処理を行わないときの深度情報の分布を示す図であり、図４Ｂは、フィルタ処理後の平滑化された深度情報の分布を示す図である。このフィルタ処理部４２のフィルタ処理により、深度情報に含まれるノイズが除去され、手指の領域がより認識されやすくなっていることが分かる。
【００３８】
（内部領域抽出部の処理）
内部領域抽出部４３は、フィルタ処理が施された距離画像から、指先が接触していることにより生じる閉空間領域を抽出する。閉空間領域の抽出は、距離画像の深度情報を２値化することにより得られた画像（２値化画像）を用いて、手指領域によって周囲を囲まれた領域を閉空間領域として抽出する。図５Ａに、つまみ動作時の手指の様子を示し、図５Ｂに、図５Ａに示した手指の領域を含む、距離画像の２値化画像を示す。図５Ｂには、人差し指と親指とを接触させるつまみ動作によって、人差し指と親指で囲まれた範囲に、内部領域Ａｉが形成される様子を示す。
【００３９】
内部領域抽出部４３は、手指領域を含む前景領域によって囲まれた背景領域（閉空間領域）を検出し、連続領域として検出された背景領域のうちの、最も大きい領域を内部領域Ａｉとして特定する。しかし、手指の姿勢によっては、内部領域Ａｉを精度よく抽出できない場合もある。このような場合には、前景領域と背景領域とを分離する際の閾値を変化させて、抽出される内部領域Ａｉの面積が最も大きくなったときの閾値を、前景領域と背景領域とを分離する閾値として採用する。
【００４０】
図６は、閾値Ｔｈの調整例を示す説明図である。閾値Ｔｈは、まず、深度センサ３０から最も近い位置に存在する手指の部分、すなわち深度が最も浅い画素における深度に設定する。この深度を基準深度Ｄｂとし、閾値Ｔｈを一定の増加幅で徐々に大きくする。そして、閾値Ｔｈを変更する都度、内部領域Ａｉの面積を算出し、最も面積の大きい内部領域Ａｉが抽出された際に使われていた閾値Ｔｈを、前景領域と背景領域とを分離するための最適な閾値Ｔｈとして採用する。
【００４１】
このような処理を行うことにより、図７Ａに示すように、手指のピッチ角θが大きいことにより、距離画像の平面上において認識される閉空間の面積が小さくなった場合にも、内部領域Ａｉを適切に抽出することができる。図７Ｂ及び図７Ｃは、それぞれ異なる閾値Ｔｈによって分離された前景領域と背景領域とを用いて、内部領域Ａｉを抽出した例を示したものである。図７Ｂに示した２値化画像の撮影時に用いられた閾値Ｔｈは、図７Ｃに示した２値化画像の撮影時に用いられた閾値Ｔｈよりも小さい。すなわち、手指の姿勢が図７Ａに示すようにピッチ角θが大きい姿勢である場合には、図７Ｃに示した例のように閾値Ｔｈをより大きくすることにより、内部領域Ａｉを適切に抽出することができる。
【００４２】
図７Ｄは、内部領域Ａｉの背景部分に手指の領域が重なっている場合の例を示す図である。図７Ｄに示す手指の姿勢に対応する距離画像に対して、閾値Ｔｈを変えて２値化処理を施した画像を、図７Ｅ及び図７Ｆに示す。図７Ｅに示した例の方が、図７Ｆに示した例よりも小さな閾値Ｔｈを使用している。つまり、手指の姿勢が図７Ｄに示したような姿勢である場合には、図７Ｅに示した例のように閾値Ｔｈをより小さくすることにより、内部領域Ａｉを適切に抽出することができる。
【００４３】
（つまみ動作検出部）
つまみ動作検出部４４は、内部領域抽出部４３における内部領域Ａｉの抽出結果に基づいて、手指によってつまみ動作が行われている状態と、つまみ動作が行われていない状態とを検出する。図８Ａに、つまみ動作が行われている場合における手指の形状の例を示し、図８Ｂに、つまみ動作が行われていない状態（指先同士が離れている状態）における手指の形状の例を示す。図８Ａに示すように、つまみ動作が行われている状態では、少なくとも２本の指の指先同士が接触することにより、斜線で示す閉空間（内部領域）が形成される。図８Ｂに示すように、つまみ動作が行われていない状態では、閉空間（内部領域）は形成されない。
【００４４】
つまみ動作検出部４４は、最大の閉空間領域（内部領域Ａｉ）内の画素数をカウントする処理を毎フレーム行い、カウントされた画素数を、現フレームと前フレームとで比較する処理を行う。現フレームで最大の閉空間領域としてカウントされた画素数が、前フレームのそれに対して一定数以上増えている場合には、つまみ動作検出部４４は、つまみ動作が行われたと判断する。逆に、一定数以上減った場合には、つまみ動作検出部４４は、つまみ動作が解除されたと判断する。また、現フレームで最大の閉空間領域としてカウントされた画素数が一定値以下である場合には、つまみ動作検出部４４は、つまみ動作は行われていないと判断する。
【００４５】
（特徴点抽出部及びパラメータ算出部の処理＜つまみ動作検出時＞）
特徴点抽出部４５は、指先の接触点Ｆの３次元空間上の位置と、手指の姿勢とを検出するために必要な、距離画像内の手指の特徴点を抽出する。パラメータ算出部４６は、特徴点抽出部４５で抽出された各特徴点の情報を用いて、仮想物体の操作制御に必要な各種制御パラメータを算出する。各種制御パラメータとは、つまみ動作における指先の接触位置の３次元座標、手指の姿勢を示すオイラー角、及びつまみ動作が行われたか否かを示すパラメータ（トリガ入力パラメータ）である。
【００４６】
つまみ動作が行われている時と行われていない時とでは、特徴点の抽出方法及びパラメータの算出方法が異なるため、まずは、つまみ動作が行われている場合における特徴点の抽出方法、及びパラメータの算出方法を説明する。
【００４７】
特徴点抽出部４５は、まず、フィルタ処理部４２によって前景領域に分類された手指領域を構成する全画素を対象として、各画素の画素位置から背景領域までの最短距離を算出する。この最短距離算出処理によって、手指領域内で背景領域から最も遠い画素を求め、この画素の位置を、距離中心点Ｈ（特徴点）として抽出する。なお、この最短距離算出処理で算出する「距離」とは、深度センサ３０で得られた深度情報における深度方向の距離ではなく、距離画像の画像平面上の距離である。特徴点抽出部４５は、次に、内部領域抽出部４３で抽出された内部領域Ａｉの重心Ｏを特徴点として抽出する。
【００４８】
図９Ａ及び図９Ｂに、距離中心点Ｈ、及び内部領域Ａｉの重心Ｏの抽出例を示す。図９Ａは、手指の姿勢と各特徴点との位置的な対応関係を示す概要図であり、図９Ｂは、実際の距離画像の２値化画像における各特徴点の位置を示す図である。
【００４９】
特徴点抽出部４５は、次に、図１０Ａ及び図１０Ｂに示すように、重心Ｏと距離中心点Ｈとを結ぶ線分Ｌｎ１を対角線とする正方形Ｑを定義する。特徴点抽出部４５は、続いて、この正方形Ｑを構成する４つの頂点のうちの、重心Ｏと距離中心点Ｈ以外の２頂点のうち、手の甲側にある頂点を求める。特徴点抽出部４５は、このようにして求めた手の甲側の頂点を、つまみ動作時の指先の位置座標を決定するための距離基準点Ｄ（特徴点）として抽出する。上述したように、距離基準点Ｄは、重心Ｏと距離中心点Ｈとを結ぶ線分Ｌｎ１を対角線とする正方形Ｑの頂点である。したがって、図１０Ａに示すように、線分Ｌｎ１の中間点と距離基準点Ｄとを結ぶ線分Ｌｎ２と、線分Ｌｎ１との成す角度は、９０°となる。
【００５０】
続いて、特徴点抽出部４５は、図１１Ｂに示すように、内部領域Ａｉを構成する全画素を対象としてコーナー検出処理を行うことにより、指先の位置座標となる位置基準点の候補点を抽出する。コーナー検出処理では、まず、特徴点抽出部４５は、内部領域Ａｉを構成する画素において、注目画素と所定数の近傍画素とから最小固有値をそれぞれ求める。そして、特徴点抽出部４５は、各画素での最小固有値が、近傍画素と比較して極大になっている画素のうち、その大きさが一定以上である画素を、内部領域Ａｉのコーナー部分に位置する画素（位置基準点の候補点）として抽出する。特徴点抽出部４５は、これらの候補点のうち、距離基準点Ｄから最も遠い候補点を計算し、この候補点を位置基準点Ｐとして抽出する。そして、図１２Ａ及び図１２Ｂに示すように、特徴点抽出部４５は、位置基準点Ｐ及び重心Ｏを通る線Ｌｎ３（第１の線）を求める。
【００５１】
次に、特徴点抽出部４５は、図１３Ａに示すように、線Ｌｎ３上に位置する各画素のうち、前景領域（手指領域）内に存在する画素であり、かつ深度が最も浅い（最も高い位置にある）画素を、手指領域の前方（第１の方向）と後方（第２の方向）とでそれぞれ検出する。手指領域の前方とは、重心Ｏを起点とした場合、重心Ｏから位置基準点Ｐに向かう方向であり、手指領域の後方とは、それとは反対の方向である。特徴点抽出部４５は、手指領域の前方で求められた深度が最も浅い画素を特徴点Ｆ（指先の接触点Ｆ）として抽出し、手指領域の後方で求められた深度が最も浅い画素を特徴点Ｂ（第１の姿勢基準点）として抽出する。そして、特徴点抽出部４５は、特徴点Ｆの３次元座標（Ｆｘ，Ｆｙ，Ｆｚ）及び特徴点Ｂの３次元座標（Ｂｘ，Ｂｙ，Ｂｚ）を、距離画像の画像情報及び深度情報から求める。
【００５２】
また、特徴点抽出部４５は、図１４Ａに示すように、重心Ｏを通り、線Ｌｎ３に垂直な線Ｌｎ４（第２の線）を求める。そして、線Ｌｎ４上に存在する各画素のうち、前景領域（手指領域）内に存在する画素であり、かつ深度が最も浅い画素を、線Ｌｎ３を境とした右側と左側とでそれぞれ検出する。図１４Ａの例では、右側及び左側は、それぞれ線Ｌｎ３を境とした人差し指側及び親指側である。次いで、特徴点抽出部４５は、右側で求められた深度が最も浅い画素を特徴点Ｒ（第２の姿勢基準点）として抽出し、左側で求められた深度が最も浅い画素を特徴点Ｌ（第３の姿勢基準点）として抽出する。そして、特徴点抽出部４５は、特徴点Ｒの３次元座標（Ｒｘ，Ｒｙ，Ｒｚ）及び特徴点Ｌの３次座標（Ｌｘ，Ｌｙ，Ｌｚ）の座標を、距離画像の画像情報及び深度情報から求める。
【００５３】
パラメータ算出部４６は、特徴点抽出部４５で抽出された各種特徴点の座標情報を用いて、つまみ動作時の手指の指先の３次元空間上での位置と、手指の姿勢とを算出する。パラメータ算出部４６は、つまみ動作時の手指の指先の３次元空間上での位置として、図１５Ａに示すように、接触点Ｆの３次元座標（Ｆｘ，Ｆｙ，Ｆｚ）を求める。
【００５４】
また、パラメータ算出部４６は、図１５Ｂに示すように、手指の姿勢を示すオイラー角（ヨー角ψ（Ｏｘ，Ｏｙ，Ｏｚ）、ピッチ角θ（Ｆｘ，Ｆｙ，Ｆｚ，Ｂｘ，Ｂｙ，Ｂｚ）、ロール角φ（Ｒｘ，Ｒｙ，Ｒｚ，Ｌｘ，Ｌｙ，Ｌｚ））を算出する。具体的には、Ｚ軸を中心とした回転角であるヨー角ψ（Ｏｘ，Ｏｙ，Ｏｚ）を、以下の式（１）により求める。
【００５５】
【数１】
2014235634.tif 000003
【００５６】
すなわち、本実施形態では、ヨー角ψを、内部領域Ａｉの重心Ｏと、指先の接触点Ｆとを通る線Ｌｎ３の、距離画像のｘ−ｙ座標に対する傾き角として算出する。
【００５７】
パラメータ算出部４６は、図１５Ｂに示すように、Ｙ軸を中心とした回転角であるピッチ角θ（Ｆｘ，Ｆｙ，Ｆｚ，Ｂｘ，Ｂｙ，Ｂｚ）を、以下の式（２）により求める。
【００５８】
【数２】
2014235634.tif 000004
【００５９】
すなわち、本実施形態では、ピッチ角θを、特徴点Ｆ及び特徴点Ｂを通る線Ｌｎ３の、距離画像の平面に対する傾き角として算出する。
【００６０】
パラメータ算出部４６は、図１５Ｂに示すように、Ｘ軸を中心とした回転角であるロール角φ（Ｒｘ，Ｒｙ，Ｒｚ，Ｌｘ，Ｌｙ，Ｌｚ）を、以下の式（３）により求める。
【００６１】
【数３】
2014235634.tif 000005
【００６２】
すなわち、本実施形態では、ロール角φを、線Ｌｎ３と直交する線であり、かつ特徴点Ｒと及び特徴点Ｌを通る線Ｌｎ４の、距離画像の平面に対する傾き角として求めている。
【００６３】
つまり、本実施形態では、パラメータ算出部４６は、内部領域Ａｉの重心Ｏ及び指先の接触点Ｆを通る線Ｌｎ３と、線Ｌｎ３と直交する線Ｌｎ４とを、手指の姿勢を示す姿勢ベクトルとして検出する。
【００６４】
また、パラメータ算出部４６は、つまみ動作検出部４４によってつまみ動作が検出された時には、トリガをオンにするトリガ入力パラメータを出力し、つまみ動作が検出されなかった時には、トリガをオフにするトリガ入力パラメータを出力する。トリガをオンにするトリガ入力パラメータとは、例えば、マウスを入力インターフェースとして使用した場合における、クリック、ドラッグアンドドロップ操作の検出時に出力されるパラメータに対応するパラメータである。トリガをオフにするトリガ入力パラメータとは、これらのマウスの操作が解除された際に出力されるパラメータに対応するパラメータである。本実施形態では、トリガを、つまみ動作による仮想３次元物体への操作の有効／無効を切り替えるためのフラグとして使用する。また、パラメータ算出部４６は、トリガ入力パラメータ以外に、指先の接触点Ｆの３次元位置と、手指の姿勢を示すオイラー角とを、制御パラメータとして出力する。
【００６５】
（特徴点抽出部及びパラメータ算出部の処理＜つまみ動作非検出時＞）
次に、つまみ動作非検出時における特徴点抽出処理及びパラメータ算出処理について、図１６及び図１７を参照して説明する。つまみ動作非検出時には、手指によって閉空間が形成されないため、内部領域抽出部４３により内部領域Ａｉが抽出されない。したがって、特徴点抽出部４５は、距離画像から検出された手指の形状の情報に基づいて、内部領域Ａｉに相当する擬似内部領域Ａｉ′を抽出し、この擬似内部領域Ａｉ′の情報を用いて手指の位置及び姿勢を検出する。
【００６６】
特徴点抽出部４５は、まず、図１６Ａに示すように、手指領域に対してHilditchの細線化を行い、図１６Ｂに示すように、細線化された手指領域の各端点を求める。そして、特徴点抽出部４５は、このようにして求められた手指領域の各端点の３次元座標を、指先の座標として算出する。また、特徴点抽出部４５は、指先を示す各端点の画像平面上の位置関係に基づいて、親指の端部に位置する端点を決定し、この端点を特徴点Ｔ（第１の端点）として抽出する。また、特徴点抽出部４５は、画像平面上において特徴点Ｔと最も近い位置にある端点を、特徴点Ｉ（第２の端点）として抽出する。
【００６７】
次に、特徴点抽出部４５は、図１６Ｃに示すように、特徴点Ｔと特徴点Ｉとを線分Ｌｎ５で結ぶ。そして、特徴点抽出部４５は、図１７に示すように、特徴点Ｔと特徴点Ｉとを結ぶ線分Ｌｎ５の中間点を、仮想的な指先の接触点Ｆ′（仮想接触点Ｆ′）として抽出する。
【００６８】
続いて、特徴点抽出部４５は、細線化された各手指領域と、線分Ｌｎ５とによって周囲を囲われた領域のうち、背景領域に分類された領域を、擬似内部領域Ａｉ′として検出する。そして、特徴点抽出部４５は、擬似内部領域Ａｉ′の重心Ｏ′を求める。続いて、特徴点抽出部４５は、重心Ｏ及び仮想接触点Ｆ′を通る線Ｌｎ６（第３の線）と、重心Ｏ′を通り、線Ｌｎ６と距離画像の平面上において直交する線Ｌｎ７（第４の線）も求める。また、特徴点抽出部４５は、上述したつまみ動作検出時における手法と同様の手法により、線Ｌｎ６上の特徴点Ｂ′と、線Ｌｎ７上の特徴点Ｒ′及び特徴点Ｌ′とを抽出し、これらの３次元座標も算出する。
【００６９】
パラメータ算出部４６は、上述した手指動作検出手法と同様の手法により、特徴点抽出部４５で抽出されたこれらの特徴点の３次元座標を用いて、指先の３次元空間上の位置と、手指の姿勢とを算出する。
【００７０】
（手指動作検出処理のフローチャート）
次に、本実施形態の仮想３次元物体処理システム１により手指動作検出を行う際の処理手順を、図１８を参照しながら説明する。図１８は、本実施形態の仮想３次元物体処理システム１によって実行される手指動作検出手法の処理手順を示すフローチャートである。
【００７１】
まず、仮想３次元物体処理システム１の画像取得部４１が、深度センサ３０により撮影された距離画像を取得する（ステップＳ１）。次に、フィルタ処理部４２が、距離画像にフィルタ処理を施す（ステップＳ２）。より具体的には、フィルタ処理部４２は、距離画像に対して平滑化フィルタ処理を施して画像に含まれるノイズを除去した後に、距離画像内の領域を、手指を含む前景領域と、それ以外の背景領域とに分ける。次に、内部領域抽出部４３が、前景領域と背景領域とに分けられた距離画像から、手指によって周囲を囲われた内部領域Ａｉを抽出する（ステップＳ３）。なお、ステップＳ３において内部領域Ａｉが抽出されなかった場合には、内部領域抽出部４３は、擬似内部領域Ａｉ′を抽出する。
【００７２】
続いて、内部領域抽出部４３による内部領域Ａｉの抽出結果に基づいて、特徴点抽出部４５が各種特徴点を抽出するとともに、つまみ動作検出部４４が、つまみ動作を検出する（ステップＳ４）。そして、パラメータ算出部４６が、パラメータとして、つまみ動作における指先の接触点Ｆの３次元座標と、手指の姿勢を示すオイラー角と、トリガをオン又はオフさせるトリガ入力パラメータとを算出して出力する（ステップＳ５）。
【００７３】
（仮想物体操作部の処理）
次に、仮想物体操作部５０の処理について説明する。仮想物体操作部５０は、手指動作検出装置部４０から出力された各種制御パラメータに基づいて、ディスプレイ装置２２上において仮想３次元物体を生成したり、造形したり、操作したりする処理を行う。これらの処理は、手指動作検出装置部４０で算出された手指の位置及び姿勢を、ディスプレイ装置２２に表示される仮想空間上において、仮想３次元物体に対して所定の処理を施すツールの位置及び姿勢に置き換えることによって行われる。また、手指を使った実際のオン／オフ動作と、仮想空間上の仮想３次元物体に対するツール処理のオン／オフ操作との連動又は非連動は、トリガのオン／オフ（トリガ入力パラメータ）に基づいて切り替えられる。
【００７４】
本実施形態では、上述のようにして手指動作検出処理を行う。なお、本実施形態では、上述した手指動作検出処理を、対応する手指動作検出プログラムを仮想３次元物体処理システム１に実装し、手指動作検出プログラムをＣＰＵ１０により実行することにより実現してもよい。
【００７５】
上述した本実施形態の仮想３次元物体処理システム１は、手指の形状の情報及び姿勢の情報に基づいて、仮想３次元物体に対して仮想空間上において所定の処理を施すツールの位置及び姿勢を決定するための各種制御パラメータが算出される。それゆえ、本実施形態では、ユーザは、手指の位置や姿勢を変えるという直感的かつ３次元的な操作によって、仮想３次元物体を操作することができる。このような操作には、専門的な知識や熟練を要するものではないため、子供から高齢者に渡るあらゆる世代のユーザが、容易に仮想３次元物体を操作することができる。
【００７６】
また、本実施形態の仮想３次元物体処理システム１では、手指の所定動作の有無に関する情報（トリガ入力パラメータ、つまみ動作検出部４４の検出結果に対応する情報）に基づいて、仮想３次元物体に対して所定の処理を施すツールのオン／オフ動作が制御される。具体的には、指先同士を接触させる動作によって、仮想３次元物体の操作ツールのトリガがオンされ、接触させていた指先同士を離す動作によって、仮想３次元物体の操作ツールのトリガがオフされる。したがって、ユーザは、トリガ入力用の特別な入力インターフェースを用いることなく、仮想３次元物体の操作時に手指のジェスチャによって、容易にツールのオン／オフ制御（トリガ入力）を行うことができる。
【００７７】
本実施形態の仮想３次元物体処理システム１では、ユーザは、手指の位置や姿勢を変えることによって行う仮想３次元物体の操作ツールの操作と、つまみ動作によって行う操作ツールのオン／オフ操作とを、ほぼ同時に、かつそれぞれ独立して行うことができる。つまり、本実施形態の仮想３次元物体処理システム１によれば、位置及び姿勢の６自由度にトリガ入力の１自由度を加えた計７自由度で操作可能なインターフェースが提供される。
【００７８】
また、本実施形態の仮想３次元物体処理システム１では、つまみ動作によって指先同士が接触しているか否かを、距離画像において内部領域Ａｉが抽出できたか否かによって判定する。距離画像において内部領域Ａｉが形成されている状態か否かは、比較的明確に区別できるので、トリガ入力のオン及びオフ間の切り替えも、ユーザの意図したタイミングで正確に行うことが可能となる。
【００７９】
また、指先同士を接触させたり離したりする動作は、小さな物体や細長い棒などを摘んだり離したりする動作等と同様の動作であり、日常的な場面でよく行われる動作である。したがって、ユーザは不自然なジェスチャを行う必要なく、慣れ親しんだ動作によって、仮想３次元物体に対して所定の処理を行うことができる。
【００８０】
また、本実施形態の仮想３次元物体処理システム１では、深度センサ３０で取得された距離画像から抽出した手指領域、及び手指領域によって画成される内部領域Ａｉ（擬似内部領域Ａｉ′）の３次元座標情報を用いて、現実空間上の手指の位置と姿勢とを検出する。これらの３次元座標情報は、手指のわずかな動作に対しても変化する。よって、従来用いられていた、楕円近似により求めた内部領域を用いて手指の位置及び姿勢を検出する手法や、内部領域の重心の情報のみを用いて手指の位置を検出する手法と比較して、手指の位置及び姿勢の検出精度が非常に高くなる。
【００８１】
また、本実施形態の仮想３次元物体処理システム１では、つまみ動作の検出時には、手指領域によって画成される内部領域Ａｉの重心Ｏと、指先の位置基準点Ｐとを通る線Ｌｎ３を、仮想３次元物体の姿勢ベクトルとして検出する。本実施形態では、つまみ動作の非検出時には、擬似内部領域Ａｉ′の重心Ｏ′と、仮想接触点Ｆ′とを通る線Ｌｎ６を、仮想３次元物体に対して所定の操作を行うツールの姿勢ベクトルとして検出する。また、本実施形態では、接触点Ｆ（仮想接触点Ｆ′）の３次元座標を、指先の位置として検出する。それゆえ、これらのパラメータが反映された仮想空間における仮想３次元物体の位置及び姿勢を、現実空間における指先の細かな動きに追従させて変化させることができる。
【００８２】
また、本実施形態では、内部領域Ａｉの重心Ｏと、指先の位置基準点Ｐとを通る線Ｌｎ３を用いて、手指の姿勢を検出しているため、つまみ動作におけるつまみ方や、つまみ動作を行っている手指の姿勢が様々に変化した場合にも、正確に手指の位置及び姿勢を検出できる。図１９Ａ〜図１９Ｆは、様々なつまみ動作における手指の様々な姿勢と、各姿勢において検出される内部領域Ａｉ及び手指の姿勢ベクトルを示す線Ｌｎ３との対応関係を示す図である。図１９Ａ〜図１９Ｆの各図中の右図には手指の姿勢を示し、左図には、距離画像の２値化画像において抽出した内部領域Ａｉ及び線Ｌｎ３を示す。
【００８３】
図１９Ａ〜図１９Ｆに示すように、内部領域Ａｉが理想的な楕円形として抽出されないような手指の姿勢においても、本実施形態の仮想３次元物体処理システム１によれば、手指の位置及び姿勢を検出することができる。
【００８４】
［仮想３次元物体処理システムの適用例］
続いて、上記実施形態の仮想３次元物体処理システム１を仮想造形システムに適用した例について、図２０〜図２３を参照して説明する。図２０は、仮想３次元物体処理システム１の外観を示す図である。なお、図２０には、説明を簡略化するため、仮想３次元物体処理システム１を構成する深度センサ３０とディスプレイ装置２２とを示し、他の構成部の図示を省略する。深度センサ３０は、ユーザの手指を撮影することができるように、手指によるつまみ動作が行われる空間の上方に、不図示のレンズを下向きにして配置される。ディスプレイ装置２２は、ユーザと対向する位置に配置される。また、ディスプレイ装置２２は、ディスプレイ装置２２とユーザとの間に、深度センサ３０の手指の撮影領域（つまみ動作が行われる空間）が配置されるような位置に設けられる。図２０には、深度センサ３０の位置をパイプで固定した例を示したが、この固定方法に限定されるものではなく、他の方法で固定するようにしてもよい。
【００８５】
ディスプレイ装置２２の表示画面には、立方体状の仮想的なオブジェクトＶｏ１（仮想３次元物体）と、オブジェクトＶｏ１を造形する棒状の（円柱形状の）仮想的なツールＶｏ２とが表示されている。図２０に示すシステムの例では、つまみ動作の有無及び手指の位置や姿勢の変化に応じて、ツールＶｏ２の位置及び姿勢を変化させるとともに、オブジェクトＶｏ１に対して、ツールＶｏ２による所定の処理（造形）を実施することができる。
【００８６】
ツールＶｏ２の形状は棒状に限定されるものではなく、球状やブラシ形状、その他の形状であってもよい。また、ツールＶｏ２の数は、１つに限定されるものではなく、複数のツールが用意されていてもよい。例えば、オブジェクトＶｏ１を削るツールや、オブジェクトＶｏ１に他のオブジェクトを取り付ける（結合させる）ツール、オブジェクトＶｏ１を回転又は移動させるツールなど、様々なツールを用意してもよい。
【００８７】
図２１は、深度センサ３０の撮影領域、及びつまみ動作の認識可能範囲を示した図である。深度センサ３０は、ディスプレイ装置２２が配置された平面Ｆｓから上方に５８０ｍｍ離れた位置に配置される。深度センサ３０の撮影領域Ｒｓは、平面Ｆｓ上における横５２０ｍｍ×縦４００ｍｍの撮影範囲を底面とし、高さを５８０ｍｍとする略四角錐状の形状を有する。この撮影領域Ｒｓ内において、つまみ動作等のジェスチャが認識される領域は、平面Ｆｓから高さ８０ｍｍの位置から、高さ２７０ｍｍの位置に渡る領域（四角錐台状の領域）である。なお、深度センサ３０の撮影領域Ｒｓ、及びつまみ動作の認識可能範囲は、図２１に示す例に限定されるものではなく、例えば、深度センサ３０の性能（画角）や用途等に応じて、適宜設定することができる。
【００８８】
図２２Ａ及び図２２Ｂは、手指動作検出装置部４０で検出された手指の位置及び姿勢と、仮想空間上のツールＶｏ２の位置及び姿勢との対応関係を示す図である。図２２Ａに、手指動作検出装置部４０で検出された手指の位置及び姿勢を示し、図２２Ｂに、ツールＶｏ２の仮想空間上における位置及び姿勢を示す。図２２Ｂには、ツールＶｏ２が、オブジェクトＶｏ１を回転させるスパナである場合を例示する。なお、図２２Ａ及び図２２Ｂにおいては、説明を簡略化するため、Ｘ−Ｙ座標系で表現できるパラメータのみを示す。
【００８９】
いま、図２２Ａに示すように、指先の接触点ＦのＸ軸方向の座標がｘ１であり、Ｙ軸方向の座標がｙ１であり、Ｚ軸方向の座標がｚ１（図示略）であるとする。また、手指の姿勢を示すヨー角ψがψ１であるとする。そして、この例では、スパナ（ツールＶｏ２）の、手によって把持されるグリップの根本の部分を、仮想空間における（ｘ１，ｙ１，ｚ１）の位置に配置する。さらに、スパナ（ツールＶｏ２）の軸方向の回転角であるヨー角ψが、手指の姿勢を示すヨー角ψ１と同一の角度に設定される。本実施形態では、このようにして、現実空間における手指の位置及び姿勢と、仮想空間におけるツールＶｏ２（スパナ）の位置及び姿勢とを対応付ける。それゆえ、ユーザは、つまみ動作を行う際の手指の位置や姿勢を変化させるだけで、ツールＶｏ２の位置及び姿勢を容易に変えることができる。
【００９０】
図２３は、仮想物体操作部５０の内部構成、並びに、仮想物体操作部５０を構成する各部と、入力装置２１、手指動作検出装置部４０及びメモリ装置１４との間における情報のフローを示す説明図である。仮想物体操作部５０は、トリガ判定部５１と、ボクセル操作部５２と、ポリゴン生成部５３と、描画処理部５４とを含む。
【００９１】
メモリ装置１４内には、入力装置２１、手指動作検出装置部４０、及び仮想物体操作部５０から出力された各種データが書き込まれる。メモリ装置１４に書き込まれた各種データは、仮想物体操作部５０の各部によって読み出される。メモリ装置１４には、トリガＤ１、ボクセルデータＤ２、ツールの種類・大きさ情報Ｄ３、ツールの位置・姿勢情報Ｄ４、及びオブジェクトの位置・姿勢情報Ｄ５等の各種データが格納される。
【００９２】
トリガＤ１は、オン及びオフに対応する２値データで表されるフラグであり、このフラグは、手指動作検出装置部４０から出力されるトリガ入力パラメータによって随時更新される。手指動作検出装置部４０は、上述したように、手指のつまみ動作を検出した時には、トリガをオンにするトリガ入力パラメータを出力し、手指のつまみ動作が解除された時には、トリガをオフにするトリガ入力パラメータを出力する。
【００９３】
ボクセルデータＤ２は、オブジェクトＶｏ１及びツールＶｏ２の仮想空間上における体積や形状を定義するデータである。ボクセルとは、３次元の仮想空間を立体格子状に小さく区切った場合の、区切られた１つのブロック領域を示し、各ボクセルは、一定のスカラー値／ベクトル値を有する。ボクセルデータＤ２は、仮想物体操作部５０のボクセル操作部５２によってメモリ装置１４に書き込まれる。
【００９４】
ツールの種類・大きさ情報Ｄ３は、ユーザによって選択されたツールＶｏ２の種類及び／又は大きさを示す情報である。ツールの種類・大きさの情報Ｄ３は、キーボードやマウス等より構成される入力装置２１に対して行われるユーザの操作に基づいて、変更される。
【００９５】
ツールの位置・姿勢情報Ｄ４は、現実空間上の手指の位置を示す３次元座標と、手指の姿勢を示すオイラー角とを含む。これらの情報（制御パラメータ）は、手指動作検出装置部４０によってメモリ装置１４に書き込まれる。オブジェクトの位置・姿勢情報Ｄ５は、オブジェクトＶｏ１の仮想空間上の位置と姿勢とを示す。オブジェクトの位置・姿勢情報Ｄ５は、仮想物体操作部５０のボクセル操作部５２によってメモリ装置１４に書き込まれる。
【００９６】
続いて、同じく図２３を参照して、仮想物体操作部５０を構成する各部の処理について説明する。トリガ判定部５１は、メモリ装置１４内に格納されたトリガＤ１を参照して、トリガ入力がオンであるか否かを判定する。そして、トリガ判定部５１は、トリガ入力のオンを検出した場合には、その情報をボクセル操作部５２に出力し、トリガ入力のオフを検出した場合には、その情報をポリゴン生成部５３に出力する。
【００９７】
ボクセル操作部５２は、ボクセルの生成操作、又は消滅操作を行う。ボクセル操作部５２によるこれらの操作は、トリガ入力がオンになっており、かつ、ツールＶｏ２がオブジェクトＶｏ１に接触しているときに行われる。ツールＶｏ２がオブジェクトＶｏ１に接触しているか否かの判定は、メモリ装置１４内に格納されたツールの種類・大きさ情報Ｄ３と、ツールの位置・姿勢情報Ｄ４と、オブジェクトの位置・姿勢情報Ｄ５との内容に基づいて行われる。
【００９８】
例えば、いま、ツールの種類・大きさ情報Ｄ３が、ツールＶｏ２として、オブジェクトＶｏ１のボクセルを消滅させる棒状のツールが選択されていることを示す情報である場合を考える。この場合、ボクセル操作部５２は、ツールＶｏ２の先端部分と接触する位置にあるボクセルを消滅させる。なお、トリガがオンであっても、所定のツールＶｏ２の仮想空間上における位置がオブジェクトＶｏ１から離れている場合には、ボクセル操作部５２はボクセル操作を行わない。
【００９９】
ツールＶｏ２の位置及び姿勢を規定するツールの位置・姿勢情報Ｄ４は、手指動作検出装置部４０による手指動作検出処理によって、随時書き替えられる。このため、例えばツールＶｏ２によって消滅されるボクセルの位置も、ユーザの手指の位置及び／又は姿勢の変化に応じて、その都度変化する。ボクセル操作部５２は、操作したボクセルの情報を、ボクセルデータＤ２としてメモリ装置１４内に書き込む。
【０１００】
また、ツールＶｏ２として、例えばオブジェクトＶｏ１の位置や姿勢を変化させるツールが選択されている場合には、ボクセル操作部５２は、ボクセルを消滅又は追加する処理は行わずに、ボクセルの集合体であるオブジェクトＶｏ１の位置・姿勢のみを変化させる。この場合は、ボクセル操作部５２は、移動させたボクセルの位置・姿勢の情報を、オブジェクトの位置・姿勢情報Ｄ５としてメモリ装置１４内に書き込む。
【０１０１】
ポリゴン生成部５３は、メモリ装置１４から読み出したボクセルデータＤ２からポリゴンデータを生成する。ポリゴンデータ生成処理は、例えば、マーチング・キューブズ法等のアルゴリズムを用いて行われる。マーチング・キューブズ法は、ボクセルデータの可視化方法として一般的な方法であり、詳細には、ボクセル集合の局所的な配置からボクセル集合を覆う面素を推定し、ボクセルの表面を多角形ポリゴンで近似することにより、物体の状面を構成する方法である。
【０１０２】
描画処理部５４は、ポリゴン生成部５３でポリゴンデータに変換されたオブジェクトＶｏ１及びツールＶｏ２を、仮想空間上に３ＤＣＧとして描画する。オブジェクトＶｏ１の仮想空間上での位置及び姿勢は、メモリ装置１４から読み出したオブジェクトの位置・姿勢情報Ｄ５に基づいて決定される。ツールＶｏ２の仮想空間上での位置及び姿勢は、メモリ装置１４から読み出したツールの種類・大きさ情報Ｄ３と、ツールの位置・姿勢情報Ｄ４とに基づいて決定される。３ＤＣＧの描画は、例えば、オープンソースとして公開されている、ＯｐｅｎＧＬ（登録商標）等のグラフィックＡＰＩ（Application Programming Interface）を用いて行うことができる。
【０１０３】
［仮想３次元物体処理手法の詳細］
次に、上記実施形態の仮想３次元物体処理システム１（仮想造形システム）により仮想３次元物体の造形処理を行う際の処理手順を、図２４を参照しながら説明する。図２４は、上記実施形態の仮想３次元物体処理システム１（仮想造形システム）によって実行される仮想３次元物体の造形処理手法の処理手順を示すフローチャートである。
【０１０４】
まず、仮想３次元物体処理システム１の手指動作検出装置部４０が、つまみ動作における指先の位置と、手指の姿勢と、トリガ入力のオン／オフ情報（トリガ入力パラメータ）とを取得する（ステップＳ１１）。そして、仮想物体操作部５０は、入力装置２１に対する操作入力があるかどうかを判断して（ステップＳ１２）、操作入力があった場合には、操作内容に基づいて、ツールＶｏ２の種類の変更、及び／又はツールＶｏ２の設定を行う（ステップＳ１３）。操作入力がなかった場合には、仮想物体操作部５０は、ステップＳ１４の処理を行う。
【０１０５】
ステップＳ１４では、仮想物体操作部５０は、トリガ入力がオンであるか否かの判断を行い、トリガ入力がオンであると判断した場合には、続いて、仮想空間におけるツールＶｏ２の位置とオブジェクトＶｏ１の位置との間の距離が、所定の距離以内であるかを判断する（ステップＳ１５）。仮想空間におけるツールＶｏ２の位置とオブジェクトＶｏ１の位置との間の距離が、所定距離以内である場合、すなわち、ツールＶｏ２がオブジェクトＶｏ１に接触していると判断できる距離である場合は、ボクセル操作部５２がボクセル操作を行う（ステップＳ１６）。トリガ入力がオフである場合には、仮想物体操作部５０は、ステップＳ１７の処理を行う。
【０１０６】
ステップＳ１７では、ポリゴン生成部５３がボクセルデータＤ２からポリゴンデータを生成する。続いて、描画処理部５４が、ポリゴンデータに変換されたオブジェクトＶｏ１及びツールＶｏ２を、仮想空間上に３ＤＣＧとして描画する（ステップＳ１８）。
【０１０７】
図２５は、上記実施形態の仮想３次元物体処理システム１（仮想造形システム）によるオブジェクトＶｏ１の生成例を示す図である。図２５の例では、オブジェクトＶｏ１として、壺が描かれており、壺の左側の把手の部分に、棒状のツールＶｏ２が配置されている。図２５に示す例では、ユーザは、棒状のツールＶｏ２の基端部分を摘むイメージでつまみ動作を行い、つまみ動作を行っている手指の位置や姿勢を変化させることにより、ツールＶｏ２の位置や姿勢を変化させて、オブジェクトＶｏ１である壺の形状を任意の形状に造形する。
【０１０８】
上記実施形態では、つまみ動作を行っている指先の接触点Ｆの現実空間上における位置を、仮想空間上におけるツールＶｏ２の位置に変換する。さらに、手指によって形成される内部領域Ａｉの重心Ｏと、指先の位置基準点Ｐとを通る線Ｌｎ３の姿勢を、仮想空間上のツールＶｏ２の姿勢に変換する。それゆえ、上記実施形態では、仮想空間上におけるツールＶｏ２の位置及び姿勢を、現実空間上で実際にツールを摘んだ場合における現実空間上におけるツールの位置及び姿勢と、ほぼ一致させることができる。すなわち、つまみ動作時の指先の細かな動きも、仮想空間上におけるツールＶｏ２の動作に正確に反映させることができる。したがって、上記実施形態における仮想３次元物体処理システム１では、ツールＶｏ２の位置や姿勢をわずかに変更させたり、オブジェクトＶｏ１の自由曲面を造形したりする操作も、ユーザは、意図したとおりに自在に行うことができる。
【０１０９】
［評価実験］
ここで、上記実施形態の仮想３次元物体処理技術により得られる各種効果を、実際に行った評価実験の結果に基づいてより具体的に説明する。この評価実験は、本発明が提案するつまみ動作による入力インターフェースの、操作性を評価することを目的として行った。被験者には、ディスプレイ装置の画面上の仮想空間に表示された仮想３次元物体を、つまみ動作により定められた目標位置及び姿勢に設置しなおすという作業を行わせ、その作業時間を計測した。仮想３次元物体の目標位置及び姿勢は、画面上に、半透明の目標物体を描画することにより被験者に示した。
【０１１０】
この評価実験では、操作対象の仮想３次元物体の位置及び姿勢が、目標物体の位置及び姿勢に所定範囲内で近づいた時点で、位置合わせ作業が自動的に完了されるようにし、その後、画面上に次の目標物体を表示した。被験者には、この位置合わせの作業を５つの目標物体に対して行わせ、その合計時間を計測した。被験者には、この流れを１セットとする実験を１０セット行わせ、１セット当たりの平均作業時間を求めた。また、比較のため、同様の位置合わせの作業をマウス入力により行わせ、同様に１セット当たりの平均作業時間を求めた。
【０１１１】
実験結果を以下の表１に示す。
【０１１２】
【表１】
2014235634.tif 000006
【０１１３】
表１には、上記実施形態による手法と、マウスを用いて操作を行う手法の両方のケースにおける、被験者Ａ、被験者Ｂ、被験者Ｃのそれぞれの平均作業時間（秒）を示す。表１に示されるように、被験者Ａ、被験者Ｂ、被験者Ｃのいずれにおいても、マウスを用いて操作を行った場合よりも、上記実施形態による手法を用いた場合の方が、作業時間が短くなっていることが分かる。
【０１１４】
＜各種変形例＞
本発明に係る手指動作検出装置、手指動作検出方法、手指動作検出プログラム、及び仮想物体処理システムは、上記実施形態で説明した例に限定されない。特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の変形例も本発明に含まれる。例えば、次のような各種変形例及び応用例も本発明に含まれる。
【０１１５】
上記実施形態では、仮想３次元物体を操作するための制御パラメータとして、手指の位置及び姿勢と、トリガ入力パラメータとを用いたが、本発明はこれに限定されない。手指の位置及び姿勢の一方の制御パラメータのみを用いるようにしてもよい。
【０１１６】
また、上記実施形態では、つまみ動作として、親指及び人差し指の２本の指の指先同士を接触させる動作を例に挙げたが、つまみ動作は、この動作に限定されない。つまみ動作は、親指と人差し指以外の指（中指等）とを接触させる動作であってもよいし、親指の指先とその他のすべての指の指先とを接触させる動作や、親指以外の他の２本の指の指先同士を接触させる動作（例えば、人差し指と中指とを接触させる動作）であってもよい。
【０１１７】
また、上記実施形態では、トリガ入力のオン／オフを、つまみ動作を行う指先の接触／非接触によって切り替える例を挙げたが、本発明はこれに限定されない。例えば、手指の特定の指を動かす等の、閉空間が形成されない動作を、トリガ入力検出用の動作としてもよい。
【０１１８】
また、上記実施形態では、指先の位置基準点Ｐと、内部領域Ａｉの重心Ｏとを通る線Ｌｎ３を、手指の姿勢ベクトルとして求めたが、本発明はこれに限定されない。指先の位置基準点Ｐ、あるいはそれに準ずる特徴点と、内部領域Ａｉ内における重心Ｏ以外の特徴点とを通る線を、手指の姿勢ベクトルとして検出してもよい。又は、例えば、上述した重心Ｏと上述した距離中心点Ｈとを通る線分、すなわち、指先の位置基準点Ｐを通らない線を、手指の姿勢ベクトルとして検出してもよい。
【０１１９】
また、上記実施形態では、つまみ動作によって仮想空間上のツールＶｏ２の位置及び姿勢を変化させることにより、オブジェクトＶｏ１に対して所定の処理を施す例を挙げたが、本発明はこれに限定されない。例えば、オブジェクトＶｏ１の位置及び姿勢を変化させるツールが選択された場合には、手指の位置及び姿勢に基づいて、オブジェクトＶｏ１の位置及び姿勢を直接操作するようにしてもよい。
【０１２０】
また、上記実施形態では、操作対象となる仮想物体が３次元状の仮想物体である例を説明したが、上述した本発明の仮想物体処理（操作）技術は、２次元状及び１次元状の仮想物体に対しても同様に適用可能であり、同様の効果が得られる。
【０１２１】
上記実施形態では、本発明の手指動作検出技術を、仮想３次元物体の操作に適用する例を説明したが、本発明はこれに限定されない。例えば、本発明の手指動作検出技術を、ロボットアームの操作にも同様に適用可能である。
【符号の説明】
【０１２２】
１…仮想３次元物体処理システム、１０…ＣＰＵ、１１…ドライブ装置、１２…記憶媒体、１３…補助記憶装置、１４…メモリ装置、２０…インターフェース装置、２１…入力装置、２２…ディスプレイ装置、２３…画像入力インターフェース、３０…深度センサ、４０…仮想３次元物体制御パラメータ取得部、４１…画像取得部、４２…フィルタ処理部、４３…内部領域抽出部、４４…動作検出部、４５…特徴点抽出部、４６…パラメータ算出部、５０…仮想３次元物体制御部、５１…トリガ判定部、５２…ボクセル操作部、５３…ポリゴン生成部、５４…描画処理部
【図１】
2014235634.tif 000007
【図２】
2014235634.tif 000008
【図３】
2014235634.tif 000009
【図５】
2014235634.tif 000010
【図６】
2014235634.tif 000011
【図７】
2014235634.tif 000012
【図８】
2014235634.tif 000013
【図９】
2014235634.tif 000014
【図１０】
2014235634.tif 000015
【図１１】
2014235634.tif 000016
【図１２】
2014235634.tif 000017
【図１３】
2014235634.tif 000018
【図１４】
2014235634.tif 000019
【図１５】
2014235634.tif 000020
【図１６】
2014235634.tif 000021
【図１７】
2014235634.tif 000022
【図１８】
2014235634.tif 000023
【図１９】
2014235634.tif 000024
【図２０】
2014235634.tif 000025
【図２１】
2014235634.tif 000026
【図２２】
2014235634.tif 000027
【図２３】
2014235634.tif 000028
【図２４】
2014235634.tif 000029
【図４】
2014235634.tif 000030
【図２５】
2014235634.tif 000031