JP2017045332A - Information processing device, control method thereof, program, and storage medium - Google Patents
Information processing device, control method thereof, program, and storage medium Download PDFInfo
- Publication number
- JP2017045332A JP2017045332A JP2015168293A JP2015168293A JP2017045332A JP 2017045332 A JP2017045332 A JP 2017045332A JP 2015168293 A JP2015168293 A JP 2015168293A JP 2015168293 A JP2015168293 A JP 2015168293A JP 2017045332 A JP2017045332 A JP 2017045332A
- Authority
- JP
- Japan
- Prior art keywords
- fingertip
- touch
- fingertips
- finger
- target surface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Abstract
Description
本発明は、画像に基づいてタッチ操作を認識する技術に関する。 The present invention relates to a technique for recognizing a touch operation based on an image.
近年、プロジェクタによる重畳表示を行う新しいユーザーインターフェース(以下、UI)システムが開発されている。上述のシステムでは、テーブルや壁、あるいは文書や物体にボタン等のタッチ操作可能なユーザーインターフェース部品(以下、UI部品)を投影し、UI部品をユーザがタッチ操作する。上述のシステムは、大型のディスプレイを備える装置に比べると小さく構成することが可能であるため持ち運びが比較的容易であり、かつ物理媒体と電子媒体を組み合わせたリッチなインタラクションが可能になるといった利点がある。上述のシステムにおいては、タッチパネルを利用せず、様々な物体に対象面を設け、対象面に対するタッチ操作を認識するために、センサやカメラ等で撮像した画像を使って、ユーザの指などの操作体が対象面に接触したことを検出することが多い。具体的には、対象面からの距離に閾値を設定し、閾値よりも対象面に近い範囲に指先が存在する状態を、タッチ中の状態とみなす。 In recent years, a new user interface (hereinafter referred to as UI) system that performs superimposed display by a projector has been developed. In the above-described system, a user interface component (hereinafter referred to as UI component) such as a button is projected onto a table, a wall, a document, or an object, and the user touches the UI component. The above-described system can be configured smaller than an apparatus having a large display, and thus is relatively easy to carry, and has the advantage that rich interaction combining physical and electronic media is possible. is there. In the above-described system, an operation such as a finger of a user is performed using an image captured by a sensor or a camera in order to provide a target surface on various objects and recognize a touch operation on the target surface without using a touch panel. Often it is detected that the body has touched the target surface. Specifically, a threshold is set for the distance from the target surface, and a state where the fingertip is present in a range closer to the target surface than the threshold is regarded as a touched state.
特許文献1には、距離センサを用いて指先と対象物の3次元位置を取得し、指の速さや指と対象物との距離によってタッチ認識を行う方法が開示されている。また、特許文献2では、操作体のうち最も対象面に近い位置を指先位置として決定するため、手の複数の指先のうち、最も対象面に近い指先の位置を特定してその位置を指先位置とすることが開示されている。
Japanese Patent Application Laid-Open No. 2004-228561 discloses a method of acquiring a three-dimensional position between a fingertip and an object using a distance sensor and performing touch recognition based on the speed of the finger or the distance between the finger and the object. Further, in
ユーザが複数の指のうちの一部で対象面をタッチする際には、タッチに用いられる指の動きに付随して、タッチに用いられない他の指が対象面に近づく現象がある。タッチパネルのように直接物体が接触したことを検出するデバイスを利用する場合であれば、そのようなタッチに利用されない指の動きがタッチ検出の精度に影響することはない。しかしながら、撮像画像を用い、操作体の対象面からの距離と閾値の比較に基づいてタッチを検出する場合には、タッチに利用することが意図されない指までが、閾値よりも対象面に近い範囲に侵入してしまうことでタッチが検出されることがありうる。一方で、マルチタッチ操作と呼ばれる複数の指を利用するタッチ操作が入力される場合には、ユーザが意図を持って複数の指を同時に対象面に近づけることもある。 When the user touches the target surface with a part of the plurality of fingers, there is a phenomenon that other fingers not used for the touch approach the target surface along with the movement of the finger used for the touch. When using a device that detects that an object is in direct contact, such as a touch panel, finger movement that is not used for such touch does not affect touch detection accuracy. However, when a touch is detected using a captured image based on a comparison between the distance from the target surface of the operating tool and a threshold value, the range of the finger that is not intended to be used for the touch is closer to the target surface than the threshold value The touch may be detected by intruding into the screen. On the other hand, when a touch operation using a plurality of fingers called a multi-touch operation is input, the user may bring the plurality of fingers close to the target surface simultaneously with an intention.
従来技術では、複数の指がタッチ対象面に近接する場合、操作に用いられない指が含まれる可能性と、マルチタッチ操作のために複数の指がタッチに用いられる可能性の両方が存在しえること、それらを区別することは考慮されていない。 In the prior art, when multiple fingers are close to the touch target surface, there are both the possibility of including fingers that are not used for operation and the possibility of using multiple fingers for touch for multi-touch operations. It is not considered to distinguish between them.
本発明は上記課題に鑑みてなされたものであり、所定の対象面に対する指のタッチを両者の近接の程度に基づいて検出する場合において、操作に利用される指に連動して動いてしまう他の指の影響により生じるタッチ操作の誤認識を低減することを目的とする。 The present invention has been made in view of the above problems, and in the case of detecting the touch of a finger with respect to a predetermined target surface based on the degree of proximity between the two, it moves in conjunction with the finger used for the operation. An object of the present invention is to reduce misrecognition of touch operations caused by the influence of fingers.
本発明は、上記課題を解決するため、人が手を挿入して操作を行う空間内の位置情報が反映された入力画像を取得する画像取得手段と、前記画像取得手段によって取得された入力画像のうち前記人の手が写る部分に反映された前記位置情報に基づいて、前記人の手のうちの複数の指先のそれぞれの位置情報を検出する位置検出手段と、前記位置検出手段によって検出された前記複数の指先の関係を使って、前記複数の指先のうち前記所定の対象面にタッチしたかを判定する処理の対象とする指先を特定する特定手段と、前記特定手段によって特定された指先について前記位置検出手段によって検出された位置情報と、前記タッチ対象面の位置情報を使って、前記指先によって前記所定の対象面上に入力されるタッチ操作を認識する認識手段と、を備える。 In order to solve the above-described problems, the present invention provides an image acquisition unit that acquires an input image reflecting position information in a space where a person inserts a hand and performs an operation, and the input image acquired by the image acquisition unit Position detecting means for detecting position information of each of a plurality of fingertips of the person's hand based on the position information reflected in the portion of the person's hand, and detected by the position detecting means A specifying unit that specifies a fingertip that is a target of processing for determining whether the predetermined target surface is touched among the plurality of fingertips using the relationship between the plurality of fingertips; and the fingertip specified by the specifying unit Recognizing means for recognizing a touch operation input on the predetermined target surface by the fingertip using the position information detected by the position detecting means and the position information of the touch target surface. Equipped with a.
本発明によれば、所定の対象面に対する指のタッチを両者の近接の程度に基づいて検出する場合において、操作に利用される指に連動して動いてしまう他の指の影響により生じるタッチ操作の誤認識を低減することができる。 According to the present invention, when a finger touch on a predetermined target surface is detected based on the degree of proximity between the two, a touch operation caused by the influence of another finger moving in conjunction with the finger used for the operation False recognition can be reduced.
以下に、図面を参照して本発明の実施形態を詳細に説明する。なお、以下で説明する実施形態は、本発明を具体的に実施した場合の一例を示すものであり、これに限るものではない。 Embodiments of the present invention will be described below in detail with reference to the drawings. In addition, embodiment described below shows an example at the time of implementing this invention concretely, and is not restricted to this.
[第1の実施形態]
<システムの外観と構成>
図1は、本実施形態で説明する情報処理装置100を設置したテーブルトップシステムの外観の一例を示している。情報処理装置100は、プロジェクタの投影光照射部105から投影光を照射することにより、テーブル上や壁面など、任意の平面を対象面として設定できる。図1に示すテーブルトップシステムの場合は、情報処理装置100をテーブル面101上に設置し、テーブル面上に表示画像を投影する。ここで画像102は、プロジェクタによってテーブル面上に投影されたUI部品の1つである。以下では、プロジェクタによってテーブル面上に投影されるUI部品や写真などの各種画像など全てを総称して表示アイテムという。
[First Embodiment]
<Appearance and configuration of system>
FIG. 1 shows an example of the appearance of a table top system in which an
また、受光部106は、赤外パターン投影方式(あるいはTime-of-Flight方式でもよい)の距離画像センサ115が得る距離画像の視点を示す。一例として図1のシステムの場合は、発光部107から照射された赤外光が、被写体表面で反射した反射光を受光部106で受光し、撮像する。本実施形態では、受光部106は、対象面に対して上方から見下ろす画角で撮像する位置に設置される。従って、距離画像センサ115によって得られた距離画像の各画素には、受光部106から被写体表面までの距離が反映される。なお、距離画像の取得方法は、一例として環境光やテーブル面の表示の影響が小さい赤外パターン投影方式を基に説明するが、用途に応じて視差方式や赤外光反射時間方式などを利用することも可能である。操作領域104は、本実施形態において、ユーザの操作を認識可能な範囲を表す。また操作領域104は、プロジェクタによる投影が可能な範囲、及び距離画像センサ115の視野範囲と一致する。
The
なお、対象面101を上方から見た画像が得られる構成であれば、必ずしも発光部107及び受光部106は上方に設置されている必要はない。例えばミラーを用いて反射光を撮像するように構成しても構わない。同様に投影光照射部105も、図1の例では、斜め上方から見下ろすように対象面101上への投影を行うが、図示されたものとは異なる方向に向けて投影された投影光を、ミラーなどを利用して対象面101に導いてもよい。本実施形態を、対象面101が鉛直方向に沿って設置されたシステムで利用される距離画像センサやプロジェクタに適用する場合でも、同様にミラーを含む光学系を利用可能である。
Note that the
本実施形態では、ユーザが手103aや手103bなどに示すように、複数の方向から手を、操作領域104上の操作空間(対象面101に設定された操作領域104表面と距離画像センサ115の受光部106の間の空間)に挿入可能である。ユーザが手を使って、テーブルトップシステムに対して、表示アイテムを操作対象とするジェスチャ操作を入力する場合の情報処理装置100の動作について述べる。ただし、本実施形態は、表示アイテムがテーブル面101に投影される場合だけでなく、例えばホワイトボードや任意の壁面に投影光が照射される場合や、投影面が平面でない場合であっても適用可能である。
In the present embodiment, as shown by the
本実施形態では、図1に示されるように操作領域104に対して平行な二次元平面にx軸とy軸、操作領域104に直交する高さ方向にz軸を設定し三次元位置情報を座標値として扱う。ただし、対象面が平面でない場合やユーザと対象面との位置関係によっては、必ずしも対象面に平行あるいは直交の関係の座標軸ではなくてもよい。その場合も、z軸は認識対象と対象面との近接の程度(両者の間の距離の大きさの程度)を検出するため対象面と交差する方向に設定され、x軸とy軸はz軸と交わる方向に設定される。本実施形態では、入力された距離画像の各画素値に対して、受光部106のレンズ特性および対象面101との相対位置関係に基づく座標変換を施す。本実施形態において取得される距離画像の各画素には、受光部106から被写体表面までの距離の大きさに対応する値が、画素値として保持されている。従って、座標変換により、距離画像内での各画素の座標がテーブルに定義された実世界上の座標系にマッピングされ、x、y、z座標の値を得ることができる。
In the present embodiment, as shown in FIG. 1, the x-axis and y-axis are set on a two-dimensional plane parallel to the
なお、本実施形態では、ユーザの指先がタッチ対象面に触れたか否かを判定するために検出する、指先とタッチ対象面の近接の程度は、距離画像の画素値に基づいて得られる距離情報を例に説明する。ただし、指先とタッチ対象面の近接の程度として利用可能な情報はこれに限らない。例えば、操作体がタッチ対象面に近接することによって生じる静電容量の変化量や、温度や圧力、接触面積の変化量の情報であってもよい。 In this embodiment, the degree of proximity between the fingertip and the touch target surface that is detected to determine whether or not the user's fingertip has touched the touch target surface is distance information obtained based on the pixel value of the distance image. Will be described as an example. However, information that can be used as the degree of proximity between the fingertip and the touch target surface is not limited thereto. For example, it may be information on the amount of change in capacitance caused by the operating body approaching the touch target surface, or information on the amount of change in temperature, pressure, or contact area.
図2(A)は、本実施形態における情報処理装置100のハードウェア構成の一例を示すブロック図である。同図において、CPU110は、バス113を介して接続する各デバイスを統括的に制御する。オペレーティングシステム(OS)をはじめ、後述するフローチャートに示されるような本発明に係る各処理プログラム、デバイスドライバ等はROM112に記憶されており、RAM111に一時記憶され、CPU110によって適宜実行される。RAM111は、高速にアクセス可能なCPU110の主メモリ、ワークエリア等の一時記憶領域として用いられる。ここでOSおよび各処理プログラム等は外部の記憶装置116に記憶されていてもよく、その場合は電源投入時に必要な情報がRAM111に適宜読み込まれる。また、ディスプレイI/F117は、情報処理装置100内部で生成される表示アイテム(表示画像)をプロジェクタ118が処理可能な信号に変換する。入出力I/F114は、距離画像センサ115から距離情報を取得し、情報処理装置100が処理可能な情報に変換するとともに、記憶装置116と情報処理装置100間で相互にデータの変換を行う。
FIG. 2A is a block diagram illustrating an example of a hardware configuration of the
本実施形態では、情報処理装置100で投影するデジタルデータは記憶装置116に格納されているものとする。記憶装置116としては、ディスクデバイスやフラッシュメモリ、ネットワークやUSBなどの各種の入出力I/F114を介して接続される記憶装置116を使用する。本実施形態において、距離画像センサ115は、操作領域104上の情報を取得するために用いられる撮像部である。距離画像センサ115によって取得された画像は入力画像としてRAM111で一時保存され、CPU110によって適宜処理され、破棄されるが、適宜必要なデータは記憶装置116に蓄積しても構わない。
In the present embodiment, it is assumed that the digital data projected by the
なお図2(A)の例では、距離画像センサ115、プロジェクタ118はそれぞれ情報処理装置100に一体化したデバイスである。しかしながら、入出力用のインタフェースを介して接続された外部装置であり、情報処理装置100と協働して情報処理システムを構成するようにしてもよい。また、さらに操作領域104内に載置されたドキュメントや立体物の可視光画像を撮像する可視光カメラ等を加えて、書画カメラとしての機能を有するシステムとして構成することもできる。
In the example of FIG. 2A, the
図2(B)は、本実施形態における情報処理装置100の機能構成の一例を示すブロック図である。情報処理装置100は、少なくとも画像取得部120、領域検出部121、位置検出部122、特定部123、条件決定部124、識別部125、認識部126から構成される。これらの各機能部は、CPU110が、ROM112に格納されたプログラムをRAM111に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、CPU110を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。また保持部126は、ROM112あるいは、記憶装置116のいずれかに対応する機能部であり、後述する連動指先補正に用いるルックアップテーブルや、プロジェクタ118に出力される画像の基となる画像データ等を保持する。
FIG. 2B is a block diagram illustrating an example of a functional configuration of the
画像取得部120は、距離画像センサ115によって撮像された距離画像を、入力画像として一定時間毎に取得し、RAM111に随時保持する。なお画像取得部120が取得し、各機能部とやりとりする対象は、実際には画像データに対応する信号であるが、本明細書では単に「距離画像を取得する」あるいは「入力画像を取得する」として説明する。
The
領域検出部121は、画像取得部120によって取得された入力画像の各画素について、閾値判定やノイズ低減処理を施し、距離画像から1以上の手領域を抽出する。手領域とは、入力された距離画像のうち、操作体としてユーザが利用する手が写っている領域である。本実施形態の場合は距離画像の画素値によって、対象面101よりも高い位置に存在することが示される被写体が写る領域で、かつ、画像端に接している領域を手領域として抽出する。
The
位置検出部122は、領域検出部121によって抽出された手領域の輪郭の情報に基づき、ユーザの手の1以上の指を検出し、その先端とみなした1点の3次元位置を表す座標値を、指先の位置情報として取得する。本実施形態で入力画像として扱う距離画像の場合、指先に相当する画素の画素値は、ユーザの指先の上面で反射された赤外光の輝度値に相当する。この輝度値は、発光部107から照射された赤外光の反射光強度を表すため、強度が強いほど距離画像センサ115からユーザの指の上面までの距離が近く、強度が弱いほど距離画像センサ115から指までの距離が離れているとみなせる。このように本実施形態の場合は、距離画像の中で特定された指先位置の画素値が、距離画像センサ115と指先の距離を反映した距離情報として扱われる。そのため情報処理装置100は、操作空間内での指先位置の位置情報(画像内の画素を示す位置情報)及び画素値に対し、所定のキャリブレーションパラメータを反映させて、図1に示されている(x、y、z)座標に変換し、指先の3次元位置として取得する。指先のz方向の座標値は「指先高さ」ともいう。本実施形態では指先高さの尺度として三次元空間上のユークリッド距離(mm)を用いるが、別の距離尺度を用いてもよい。
The position detection unit 122 detects one or more fingers of the user's hand based on the contour information of the hand region extracted by the
特定部123は、位置検出部122が検出した指先が複数であった場合、複数の指先のそれぞれの位置情報の相対的な関係に基づいて、タッチ操作の入力に用いられるとみなされる指を特定する。本実施形態では、最もタッチ操作の入力に用いられる可能性が高いとみなされる指先を1つ特定した上で、特定された指先に対する相対的な関係に基づいて、他の指先を、タッチ操作の入力に用いられる指とみなすか判定する条件を決定する。そして決定された条件を使って、他の指を絞り込むことにより、全体からタッチ操作の入力に用いられるとみなされる指を特定する。特定された指先は、後述する認識部126によって行われる、タッチ対象面にタッチしたかを判定する処理の対象となる。
When there are a plurality of fingertips detected by the position detection unit 122, the specifying
条件決定部124は、位置検出部122が検出した指先それぞれの指先に対して対象面であるテーブル101にタッチしたかを判定するための条件を決定する。また本実施形態では、条件決定部124はさらに、テーブル101から指先が意図的に離された、つまりはタッチ入力が終了されたことを判定するための条件を決定する。本実施形態では、タッチ対象面と指先の間の距離がと閾値の比較によって、タッチを検出する。従って条件決定部124は、上記の条件として閾値の大きさを決定する。
The
識別部125は、検出された指先の幾何学的な位置関係に基づいて、腕の左右を識別する。例えば、指先が5つ検出され、侵入位置から見て、最も左側にある指先の座標が、他のどの指先よりも侵入位置の座標に近い場合には、最も短い指(親指)が左側に位置することになるので、その腕領域は右手に相当すると認識される。ただし、腕の左右の認識方法はこれに限られず、腕形状のパターンを学習したSVM(Support Vector Machine)を用いる等してもよい。さらに識別部125は、腕の左右の識別結果と指先の幾何学的な位置関係に基づいて、検出された複数の指先の種類を識別する。例えば、右手の指先が5つ検出された場合には、侵入位置から見て、時計回りに、小指、薬指、中指、人差し指、親指であると識別する。
The
認識部126は、位置検出部122が検出したユーザの各指先の位置情報と、条件決定部124が決定した条件を使って、指先が前記所定の対象面にタッチしたことを認識する。本実施形態では、認識部126が認識可能なタッチ操作にはシングルタッチ操作とマルチタッチ操作が含まれる。認識部126がタッチを認識する処理の具体的な内容は図3を参照して後述する。
The
出力制御部127は、ROM112や記憶装置116に記憶された情報を用いて、本実施形態の表示部であるプロジェクタ118によって、テーブル101上に投影させる画像を生成する。例えば、マルチタッチ操作の認識結果に基づいて、表示中の画像の少なくとも一部に対して、拡大/縮小、回転などの変形を施し、表示部に出力させる。出力された画像は、プロジェクタ118によって、対象面であるテーブル101上に投影される。投影される画像は、複数の表示アイテムを含み、アイテム毎に移動や拡大/縮小、回転が可能であってもよく、画像全体が移動や拡大/縮小、回転の対象であってもよい。
The
この他、手ぶり等の空間ジェスチャ動作を認識するジェスチャ認識部、プロジェクタ118に出力される画像を制御する表示制御部等、情報処理装置100の使用目的やアプリケーションに応じた機能部を構成することができる。なお上述した各機能部は、RAM111を、本実施形態に係る処理で利用される情報を一時的に保持する保持部として利用する。ただし、保持部はROM112、記憶装置116等の一部であっても構わない。
In addition, a function recognition unit that configures a function unit according to the purpose of use or application of the
以下、ユーザが操作の入力に用いる操作体及びその先端の一例として、ユーザの手103a、b及びその指を挙げて第1の実施形態を説明していく。ただし、本実施形態では操作体として、生身の手指に限らず、義手やロボットアームなどを利用し、指に相当する部位を識別する必要がある場合にも適用可能である。
Hereinafter, the first embodiment will be described using the user's
<タッチの認識処理>
ここで、認識部126が実行するタッチ認識処理の概要を説明する。認識部126は、検出された各指先について、次の二つの状態を検出する。一つはタッチ状態である。タッチ状態は、指先が指先の指先高さがタッチ閾値を下回っている場合であって、指先と対象面がタッチしているとみなされる程度に十分近接している状態である。十分近接しているか否かを判定するための条件は、条件決定部124によって指毎に決定される。もう一つの状態は非タッチ状態である。非タッチ状態は、ユーザが意図的に指先を対象面から離している状態であり、指先高さがリリース閾値を上回っている場合に認識される。本実施形態では、リリース閾値もまた、条件決定部124によって指毎に決定される。
<Touch recognition process>
Here, an outline of the touch recognition process executed by the
本実施形態では、タッチ閾値とリリース閾値としては、それぞれ異なる値が用いられ、特に、タッチ閾値よりリリース閾値が大きい値である。これは、指先を近接させる時と離す時とで指先の動き方が異なることや、センサに検出誤差が発生することを踏まえた上で、タッチ状態の間は対象面から指先が十分に離れるまでリリースが検出されないようにするための工夫である。これにより、検出誤差や指先のぶれにより、タッチ操作の継続中に誤ってリリースが検出されてしまうという誤認識が低減される。ただし、タッチ閾値とリリース閾値の差分は、センサの検出精度や装置の設置環境に応じて調節されればよく、両者は一致しても構わない。また、多くの場合、タッチ閾値とリリース閾値の大きさは、指の厚みに対して十分に大きく設定される。これは、距離画像センサから得られる距離情報にノイズがある場合でもロバストなタッチ認識を可能にするためである。ただしこの点も、センサの検出精度や装置の設置環境に応じて調節されればよい。 In the present embodiment, different values are used as the touch threshold and the release threshold, and in particular, the release threshold is larger than the touch threshold. This is based on the fact that the movement of the fingertip differs between when the fingertip is brought close to and away from the fingertip, and detection errors occur in the sensor, until the fingertip is sufficiently separated from the target surface during the touch state. This is a device to prevent the release from being detected. As a result, erroneous recognition that a release is erroneously detected during the continuation of the touch operation due to detection error or fingertip shake is reduced. However, the difference between the touch threshold value and the release threshold value may be adjusted according to the detection accuracy of the sensor and the installation environment of the device, and they may be the same. In many cases, the size of the touch threshold and the release threshold is set sufficiently large with respect to the thickness of the finger. This is to enable robust touch recognition even when there is noise in the distance information obtained from the distance image sensor. However, this point may also be adjusted according to the detection accuracy of the sensor and the installation environment of the apparatus.
以降、本実施形態において「タッチの認識」とは、指先がタッチ閾値より小さいか、あるいは指先がリリース閾値より大きくなったかを判定することにより、指先の状態を判定することをいう。それに対し、「タッチ操作の認識」とは、タッチ状態での指先の位置や移動軌跡が辞書に記憶された各種コマンドに対応するものであった場合に、情報処理装置100に入力された指示として解釈することをいう。本実施形態においてタッチ操作という語は、指先高さの変動によって、タッチ状態および非タッチ状態の相互の遷移が発生する、指先による操作一般を指す。特に、シングルタッチ操作という語は、1つの指先によるタッチ操作一般を指す。本実施形態ではシングルタッチ操作の一例としてタップ操作を挙げて説明する。タップ操作とは、一般的に、対象面上のある位置をタッチした後、スライド移動させることなく所定時間内にリリースする操作を指し、主に対象面上のアイテムを選択する場合に利用される。シングルタッチ操作に対し、マルチタッチ操作という語は、複数の指先によって1つの指示が入力されるタッチ操作一般を指す。本実施形態では、マルチタッチ操作の例として、2箇所のタッチ位置の間隔を広げたり狭めたりすることによって表示画像の拡大縮小を指示するピンチ操作と、2箇所のタッチ位置を相対的に回転させることによって表示画像の回転を指示する回転操作を挙げる。
Hereinafter, “touch recognition” in the present embodiment refers to determining the state of the fingertip by determining whether the fingertip is smaller than the touch threshold or whether the fingertip is larger than the release threshold. On the other hand, “recognition of touch operation” is an instruction input to the
本実施形態では、認識部126は、指先が非タッチ状態からタッチ状態に遷移した場合、TOUCHイベントをアプリケーションに通知する。また、タッチ状態から非タッチ状態に遷移した場合は、RELEASEイベントを発行する。以後、認識部126が、後に続く処理のトリガーとなるイベントを出力制御部127やアプリケーションに通知することを、「イベントを発行する」と表現する。イベント情報は、どの指先が、どの位置で状態遷移を行ったかという情報とともに通知される。通知を受けたアプリケーションは出力制御部127に対し、イベント情報と指先の情報及びUI部品の情報に基づいて、投影される画像を更新させる。
In the present embodiment, the
ここで図3(A)〜(C)を用いて、タッチに伴う指先高さの変動、上述した指先の状態遷移、イベントの発行について具体的に説明する。図3(A)に指202の指先203のタッチを行う前の様子を示す。指先高さ204はリリース閾値201を上回っているため、指先203は非タッチ状態であると認識される。状態遷移が発生していないため、イベントは発行されない。図3(B)は、指先が対象面(Z=0の面)をタッチした瞬間の様子である。指先高さ205はタッチ閾値200を下回っているため、指先203はタッチ状態であると認識される。非タッチ状態からタッチ状態へと指先203の状態が遷移したため、TOUCHイベントが発行される。図3(C)はタッチしてすぐに(タップ操作に定義された閾値時間の間に)、指先が対象面から離された様子を表す。指先高さ206はリリース閾値201を上回っているので、指先203は非タッチ状態であると認識される。タッチ状態から非タッチ状態への指先203の状態が遷移したことで、RELEASEイベントが発行される。このとき、タッチ状態から非タッチ状態へと遷移するまでの時間がタップ時間閾値以内、かつタッチ状態になった瞬間のxy座標と非タッチ状態になった瞬間のxy座標のずれがタップずれ閾値以内であったとする。タップ操作が認識される条件が満たされたことで、タップ操作が入力されたことを示すTAPイベントが発行される。
Here, with reference to FIGS. 3A to 3C, the fingertip height variation accompanying the touch, the above-described fingertip state transition, and event issuance will be specifically described. FIG. 3A shows a state before the
認識部126におけるタッチ認識処理は、大きく分けてシングルタッチ認識処理とマルチタッチ認識処理に分かれている。シングルタッチ認識処理はある1つの指先のタッチ状態であるか非タッチ状態であるかの認識を行い、TOUCHイベント、RELEASEイベント、TAPイベントを発行する。マルチタッチ認識処理では、前段階として実行されるシングルタッチ認識処理の結果と、各指先の位置関係に基づいてタッチ状態にある複数の指先のペアリングが行われる。そして、ペアリングされた指先の位置の変化によってピンチ操作およびローテート操作が認識され、それらが入力されたことを表すPINCHイベントおよびROTATEイベントが発行される。
The touch recognition process in the
本実施形態は、上述したようなタッチ認識において、ユーザが操作に用いる意図を持って対象面に近づけた指に連動して、操作に用いられない指が動いた結果タッチ閾値よりも低い高さで指先がされてしまい、タッチが誤検出されることを課題として認識する。そこで、本実施形態では、複数の指先を検出した場合、操作に用いられる可能性が高いとみなされる指を絞り込み、絞り込まれた指を対象にタッチの認識を行う。言い換えると、操作に用いられない指であるにも関わらず他の指に連動して対象面に近づいてしまった指を、タッチ認識処理の対象としないことで、タッチの誤認識を低減する。 In this embodiment, in the touch recognition as described above, the height lower than the touch threshold as a result of the finger that is not used for the operation being moved in conjunction with the finger that is intended to be used for the operation and that is close to the target surface. It is recognized as a problem that the fingertip has been touched and touch is erroneously detected. Therefore, in the present embodiment, when a plurality of fingertips are detected, the fingers that are considered to be highly likely to be used for the operation are narrowed down, and touch recognition is performed on the narrowed fingers. In other words, erroneous recognition of a touch is reduced by not setting a finger that is close to the target surface in conjunction with another finger despite being a finger that is not used for an operation as a target of the touch recognition process.
<タッチ操作認識処理の流れ>
図8のフローチャートを参照して、本実施形態のメイン処理となるタッチ操作の認識処理の流れを説明する。本実施形態では、図8のフローチャートの処理は、距離画像センサ115から距離画像が入力される毎に周期的に繰り返される。従って処理が繰り返される周期は、距離画像センサ115の撮像映像のフレームレートに一致する。
<Flow of touch operation recognition processing>
With reference to the flowchart of FIG. 8, the flow of the recognition process of the touch operation which is the main process of this embodiment will be described. In the present embodiment, the process of the flowchart of FIG. 8 is periodically repeated every time a distance image is input from the
ステップS100において、画像取得部120は距離画像センサ115によって撮像された距離画像を、入力画像として一定時間毎に取得し、RAM111に随時保持する。距離画像センサ115によって撮像された距離画像の画素値は距離画像センサ115までの距離を反映している。ステップS101において、領域検出部121は、画像取得部120によって取得された距離画像から人の腕が写る領域(腕領域)を抽出し、その輪郭を示す位置情報を取得し、RAM111にその情報を保持する。
In step S <b> 100, the
ここで人の「腕」とは、人の肩から指先にかけての部位の全てを指し、撮像画像のうち、人の腕に該当する部分が一部写る領域が、腕領域である。操作体また本実施形態において「手」とは、腕のうち、手首から先の全てを差す。「手」には、5指、掌、甲が含まれる。領域検出部121の実際の処理としては、取得した距離画像の各画素が示すz方向の座標値に対して閾値処理を行うことで、テーブルよりも高さが高い座標値を持つ画素群からなる領域であって、かつ画像端と接触する領域を、腕領域として抽出する。図1において、腕領域は、手103aおよび手103bのうち、操作領域104に侵入している部分(破線で表された操作領域104の境界より内側の部分)が、撮像画像に写った部分に相当する。ただし、腕領域の抽出方法はこれに限られず、例えば別途撮像された操作領域104のRGB画像における肌色領域に対応する部分を抽出する等してもよい。また、本実施形態の領域検出部121は、腕領域が抽出された入力画像に微分フィルタを適用することに基づいて、輪郭線の座標を取得する。さらに、領域検出部121は腕領域と画像端が接触するピクセルの平均位置(以下では、操作領域に対する腕領域の侵入位置と称する)を算出し、これをRAM111に保持する。
Here, the person's “arm” refers to all the parts from the person's shoulder to the fingertip, and an area where a portion corresponding to the person's arm is captured in the captured image is an arm area. In the operating body or in this embodiment, the “hand” refers to all of the arms from the wrist to the tip. “Hand” includes five fingers, palm, and back. As an actual process of the
ステップS102において、位置検出部122は、取得された腕領域から、1以上の指先位置を検出する。本実施形態では、位置検出部122はまず、手領域の輪郭線が領域の内側になす角度に基づいて指の先端とみなす1画素を特定する。ただし、指の先端の特定方法は輪郭が成す内角を基準とする方法に限られず、例えば輪郭の極値を算出する等してもよい。さらに位置検出部122は検出した指先の画素の位置および画素値の情報から、指先の位置情報として高さを含む3次元位置を取得し、RAM111にその情報を保持する。ステップS103において、識別部125は、検出された指先の幾何学的な位置関係に基づいて、腕の左右と指先の種類を識別する。腕と指先の識別結果はRAM111に保持される。また、種類認識部124は腕と指先のトラッキングを行う。そして現フレームの腕や指先の種類を認識することが困難な場合には、前フレームまでの認識結果を用いて、現フレームの腕と指先の認識情報を補完する。ステップS104において、条件決定部124は、前フレームと現フレームの指先高さの変動から指先の上下移動のスピードを算出する。
In step S102, the position detection unit 122 detects one or more fingertip positions from the acquired arm region. In the present embodiment, the position detection unit 122 first identifies one pixel that is regarded as the tip of the finger based on the angle formed by the contour line of the hand region inside the region. However, the method for specifying the tip of the finger is not limited to the method based on the inner angle formed by the contour, and for example, the extreme value of the contour may be calculated. Further, the position detection unit 122 acquires a three-dimensional position including the height as the fingertip position information from the detected pixel position and pixel value information of the fingertip, and holds the information in the RAM 111. In step S103, the
ステップS105において、条件決定部124は、検出されている各指のタッチ認識条件を決定する。タッチ認識条件とは、指先がタッチ対象面をタッチしたかを判定するための条件である。第1の実施形態の場合、予め設定されているタッチ閾値及びリリース閾値の値をROM112や記憶装置116から読み出すことで、条件として決定する。
In step S <b> 105, the
ステップS106において、認識部126は、シングルタッチ認識処理を行う。本実施形態では、シングルタッチ認識処理の中で、ユーザがタッチ操作に用いる可能性が高い指を絞り込んだ上で、タッチ認識を行う。シングルタッチ操作認識処理の詳細は後述する。ステップS107において、認識部126は、マルチタッチ操作処理を行う。本実施形態では、ステップS106の処理でタッチ状態にあると認識された指が、1つの手につき複数存在した場合は、それらをペアリングし、ステップS107において、マルチタッチ操作の認識を行う。ただし、ペアリングされた指先が、マルチタッチ操作としての意味を持つ動作を成していなかった場合は、ステップS107では認識結果を出力せず、それぞれをシングルタッチ操作として認識する場合がある。マルチタッチ操作認識処理の詳細は後述する。ステップS108では、出力制御部127が、ステップS106あるいはステップS107で認識されたタッチ操作に対する応答を出力する。例えば、プロジェクタ118によってテーブル101に投影する画像を生成し、出力する。以上が、本実施形態におけるメインの処理の流れである。
In step S106, the
<指先が操作に関わる指とみなされるかの判定>
ここで、本実施形態で実行される指先が操作に関わる指とみなされるかの判定方法について説明する。本実施形態では、ステップS106において実行されるシングルタッチ認識処理の中で、ユーザがタッチ操作に用いる可能性が高い指を絞り込む処理を行う。まずは、図4(A)〜(C)を参照して、本実施形態で実行されるこの絞り込みについて説明する。
<Determining whether the fingertip is regarded as a finger related to the operation>
Here, a method for determining whether the fingertip executed in the present embodiment is regarded as a finger related to the operation will be described. In the present embodiment, in the single touch recognition process executed in step S106, a process of narrowing down fingers that are highly likely to be used by the user for the touch operation is performed. First, with reference to FIGS. 4A to 4C, this narrowing performed in the present embodiment will be described.
図4(A)は、ユーザが右手を、指を曲げたり伸ばしたりする意思を持たずに、自然な姿勢で維持している状態でテーブル面101上に静止させた状態を、y軸方向から見た図である。以下では、このようなユーザの手の自然な状態をニュートラルポジションという。図中の5つの円は指先の位置情報が検出された5つの指先を示している。タッチを認識するためにタッチ閾値と比較される指先の高さは、円の上面かつx軸と平行な接線のz座標である。図4(A)では、中指302が最も指先高さが高く、次いで薬指301や人差し指303の高さが高く、小指300と親指304は最も指先高さが低い。
FIG. 4A shows a state in which the right hand is rested on the
次に、ユーザの右手の状態が、ニュートラルポジションから変移し、人差し指303でタッチ対象面(Z=0の面)に対して、タッチを行う場合を考える。まず図4(B)は、全ての指に対して、図3で説明した一定のタッチ閾値200とリリース閾値201を適用してタッチ認識を行う場合を表す。全ての指に一定のタッチ閾値200を適用した場合に、タッチ状態であると認識される指先が、黒塗りされた円で表される。図4(B)の場合、ユーザは人差し指303でタッチをしたつもりであるにも関わらず、小指300と親指304もタッチ閾値を下回る。この場合、人差し指303に加えて、小指300と親指304もタッチ状態であると認識され、各指先ついてTOUCHイベントが発行される。こうした意図しない指先のタッチの誤認識は、意図しない場所のUI部品が反応してしまったり、シングルタッチ操作の入力が意図されているにも関わらず、マルチタッチ操作が認識されたりする原因にもなりえる。
Next, consider a case where the state of the user's right hand changes from the neutral position and the
ここで図4(C)は、本実施形態によって、指先の相対的な位置関係に基づいて、タッチ閾値200と比較する指先を絞り込み、タッチ対象面にタッチしているかを判定する場合を表す。図4(C)に示す手及び各指先の姿勢は、図4(B)と同一である。本実施形態では、検出されている複数の指先のうち、最も高さが小さい指を特定し、特定された指との相対的な高さを使って、他の指先の中でタッチ閾値200によるタッチ判定処理の対象とする指を絞り込む。本実施形態では、最も高さが小さい指はタッチ操作に用いられる可能性が最も高い指であるとみなすため、その高さを基準とすることで効率の良い絞り込みを行うことができる。図4(C)の場合、検出されている複数の指先の中で、最も高さが小さい指先は、人差し指303であると特定される。例えば、特定された人差指303の高さを、Hminとする。そして、検出されている複数の指先の中で、指先の高さが、絞り込み閾値305を表すHmin+εH(εHは正の定数)を下回るか否かを判定し、絞り込み閾値よりも高さが小さい指先を絞り込む。絞り込み閾値305は、最も高さが小さい指先を基準とする相対的な高さの閾値である。本実施形態では、このように絞り込まれた指先が、ユーザがタッチ操作の入力に用いる意図を持っている指である可能性が高いとみなす。一方で、絞り込み結果に含まれていない指先は、操作の入力に用いることが意図されていない指先であるとみなす。そして本実施形態では、絞り込まれた指先の高さが、タッチ閾値200を下回るか否かに基づいて、実際にタッチ入力が行われているかを判定する。
Here, FIG. 4C illustrates a case where it is determined whether the touch target surface is touched by narrowing down the fingertip to be compared with the
図4(C)の例では、人差し指303の指先高さはHminであり、Hmin+εHを下回っているのでタッチ閾値200との比較によるタッチ認識処理の対象となる。そして人差し指303の指先高さHminはタッチ閾値200を下回っているので、人差し指303はタッチ状態であると認識される。人差し指以外の指は指先高さがHmin+εHを上回っているので、タッチ閾値200によるタッチ判定の対象から外れ、タッチ状態であると認識されることはない。このようにして、図4(B)のように誤認識抑制を行わない場合にタッチ状態になってしまう小指300と親指304の誤認識を防ぐことができる。
In the example of FIG. 4 (C), the fingertip height of the
なお、上述したようにタッチ認識処理の対象とする指先を絞り込むことは、タッチ閾値200を予め小さい値に設定することと等価ではない。タッチ閾値200は、センサの精度や環境によって生じてしまう位置情報の検出誤差やぶれを許容できるように、ある程度大きく設定される必要があるからである。タッチ閾値を小さくすると、検出誤差やぶれにより、ユーザがタッチしたつもりなのに情報処理装置100がそれを認識できないといった問題を発生させる可能性がある。従って本実施形態では、十分な大きさを持ったタッチ閾値200を設定し、タッチ閾値200と比較する指先を絞り込むことによって、ユーザがタッチしようとしている場合の認識漏れを防いでいる。
It should be noted that narrowing down the fingertips to be subjected to touch recognition processing as described above is not equivalent to setting the
次に、指先の移動スピードの比較によって絞り込みを行う方法について、図5(A)〜(C)を参照して説明する。図5(A)では前フレームの指先位置を破線の円で、現フレームの指先位置を実線の円で示している。さらに、前フレームと現フレームの指先高さ位置を繋いだ矢印は、Z軸方向のスピードの大きさを示している。全ての指先の中で最も指先スピードが大きい指先は人差し指303であり、その指先スピードをVmaxとする。指先スピードが絞り込み閾値を表すVmax-εV(εVは正の定数)を上回った相対的な指先スピードが大きい指先のが、タッチ操作に用いられる指先である可能性が高いとみなされ、タッチ閾値200によるタッチ認識処理の対象となる。図5(A)では、人差し指303の指先スピードはVmaxであり、Vmax-εVを上回っているのでタッチ閾値200によるタッチ判定が行われる。そして、人差し指303の指先高さはタッチ閾値200を下回っているので、人差し指303はタッチ状態であると認識される。人差し指以外の指は指先スピードがVmax-εVを下回っているので、タッチ閾値200によるタッチ判定の対象から外れ、タッチ状態であると認識されることはない。
Next, a method of narrowing down by comparing the movement speeds of the fingertips will be described with reference to FIGS. In FIG. 5A, the fingertip position of the previous frame is indicated by a broken-line circle, and the fingertip position of the current frame is indicated by a solid-line circle. Furthermore, an arrow connecting the fingertip height positions of the previous frame and the current frame indicates the magnitude of the speed in the Z-axis direction. The fingertip with the highest fingertip speed among all the fingertips is the
本実施形態では、上述した、指先の高さを基準とした絞り込みと、指先のスピードを基準とした絞り込みの両方を段階的に行うことで精度のよい絞り込み結果を得ることができる。ただし、これらはそれぞれ効果を有するものであるため、システムの構成や状況によっては片方を省略してもよい。また、両方の処理を、結果のORをとる形で併用してもよい。 In the present embodiment, it is possible to obtain an accurate narrowing result by performing both the above-described narrowing based on the fingertip height and the narrowing based on the fingertip speed in stages. However, since these have their respective effects, one of them may be omitted depending on the system configuration and situation. Moreover, you may use both processing together in the form which takes OR of a result.
<シングルタッチ操作の認識処理>
次に、本実施形態のステップS106の処理で実行されるシングルタッチ操作の認識処理を、図9のフローチャートを参照して説明する。なお、図9のフローチャートの処理が開始されると、ステップS102で位置情報が検出された全ての指先のそれぞれに対し、後述するステップS201〜S214の処理を繰り返す。全ての指先に対する処理が終了した段階で、シングルタッチ認識処理は終了となり、図8のフローチャートに戻る。
<Single touch operation recognition process>
Next, the single touch operation recognition process executed in the process of step S106 of the present embodiment will be described with reference to the flowchart of FIG. When the process of the flowchart of FIG. 9 is started, the processes of steps S201 to S214 described later are repeated for each of the fingertips whose position information is detected in step S102. At the stage where the processing for all the fingertips is completed, the single touch recognition processing ends, and the process returns to the flowchart of FIG.
ステップS201において、特定部123は、その時点で処理対象としている指先が、タッチ操作に用いられる指とみなされるかを判定する。ステップS201の処理が、図4を使って説明した絞り込みに相当する。なおステップS201での判定は、ユーザが、処理対象としている指先をタッチ操作の入力に用いる意図を持っている可能性が高いことを、センサを使って検出している情報に基づいて推定するものである。従って判定結果は、実際のユーザの思考や意図には依存しない。
In step S <b> 201, the specifying
ここで、図10のフローチャートは、ステップS201で実行される処理の流れを表すものである。ステップS300において、特定部123は、指先高さとHmin+εHとを比較する。もし指先高さのほうが小さければステップS301に進み、そうでなければステップS303に進む。ステップS301において、特定部123は指先スピードとVmax-εVを比較する。もし指先スピードの方が大きければステップS302に進み、そうでなければステップS303に進む。ステップS302ではタッチ操作に用いられる指であるとの判定が行われ、ステップS201の判定結果は「YES」となる。その結果、この時処理対象とされている指先は、高さをタッチ閾値と比較することによりタッチ状態か否かを判定する処理の対象となる。ステップS303では、タッチ操作に用いられる指でないとの判定が行われ、ステップS201の判定結果は「NO」となる。ステップS302でタッチ操作に用いられる指であると判定された場合(ステップS201でYES)、ステップS202に進む。ステップS303でタッチ操作に用いられる指でないと判定された場合(ステップS201でNO)、処理はステップS208に進む。
Here, the flowchart of FIG. 10 represents a flow of processing executed in step S201. In step S300, the specifying
ステップS202では、認識部126は、ステップS102で検出された指先の位置情報のうちz座標(高さ)が、ステップS105で決定されたタッチ閾値より小さいかを判定する。指先の高さがタッチ閾値より小さいと判定された場合(ステップS202でYES)、ステップS203に進む。指先の高さがタッチ閾値より小さいと判定されない場合(ステップS202でNO)、ステップS209に進む。
In step S202, the
ステップS203において認識部126は、処理対象の指先が、この時点で既にタッチ状態であるかの判定を行う。タッチ状態であれば(ステップS203でYES)、ステップS207に進む。タッチ状態ではない、すなわち非タッチ状態であれば(ステップS203でNO)、ステップS204に進む。ステップS204において、認識部126は、処理対象の指先のタッチ状態への状態遷移があったことを確定する。本実施形態では、RAM111に保持するタッチフラグの値を「TRUE」とし、ステップS205に進む。
In step S <b> 203, the
ステップS205で、認識部126は、TOUCHイベントを発行する。ステップS206において、認識部126は、ステップS204でタッチ状態への遷移が確定した時刻の情報を、タッチ時刻としてRAM111に保持する。ステップS207において、認識部126は、処理対象の指先位置の位置情報を、この時点でのタッチ位置としてRAM111に保持する。そして検出されている全ての指先が処理されるまで、処理を繰り返す。
In step S205, the
ステップS208において、認識部126は、処理対象の指先が、この時点でタッチ状態であるかの判定を行う。タッチ状態であれば(ステップS208でYES)、ステップS209に進む。タッチ状態ではない、すなわち非タッチ状態であれば(ステップS208でNO)、図9のフローチャートの処理を終了する。あるいは、処理対象の指を変えて処理を繰り返す。
In step S208, the
ステップS209において、認識部126は、指先高さがリリース閾値より大きいかの判定を行う。指先高さがリリース閾値より大きいと判定される場合(ステップS209でYES)、ステップS210に進む。指先高さがリリース閾値より大きいと判定されない場合(ステップS209でNO)、ステップS207に進む。ステップS210において、認識部126は、対象の指先のタッチ状態から非タッチ状態への遷移を確定させ、RAM111に保持するタッチフラグの値を「FALSE」とする。ステップS211において、認識部126は、RELEASEイベントを発行する。ステップS212において、認識部126は、ステップS210で非タッチ状態への遷移が確定した時刻の情報を、リリース時刻としてRAM111に保持する。ステップS213において、認識部126は、処理対象である指先について、タッチイベントが発行されてからリリースイベントが発行されるまでに得られた情報によって、タップ操作の認識条件が満たされたかを判定する。具体的には、以下の式1の条件が満たされるかの判定を行う。
(リリース時刻−タッチ時刻)<εTかつ
(リリース位置とタッチ位置の距離)<εD(εT、εDは正の定数)…(式1)
タップ操作の条件が満たされると判定された場合(ステップS213でYES)、ステップS214に進む。タップ操作の条件が満たされると判定されない場合(ステップS213でNO)、図9のフローチャートの処理を終了する。あるいは、処理対象の指を変えて処理を繰り返す。全ての指について処理を行われた段階で、シングルタッチ認識処理は終了する。
In step S209, the
(Release time−touch time) <ε T and (Distance between release position and touch position) <ε D (ε T and ε D are positive constants) (Equation 1)
If it is determined that the condition for the tap operation is satisfied (YES in step S213), the process proceeds to step S214. If it is not determined that the tap operation condition is satisfied (NO in step S213), the process of the flowchart of FIG. 9 ends. Alternatively, the process is repeated by changing the finger to be processed. The single touch recognition process ends when the process is performed for all fingers.
<マルチタッチ操作の認識処理>
次に、本実施形態のステップS107の処理で実行されるマルチタッチ操作の認識処理を、図11のフローチャートを参照して説明する。なお本実施形態では、マルチタッチ操作の認識処理の前にシングルタッチ認識処理が行われ、各指先の状態が得られている。
<Multi-touch operation recognition process>
Next, multi-touch operation recognition processing executed in step S107 of this embodiment will be described with reference to the flowchart of FIG. In the present embodiment, the single touch recognition process is performed before the multi-touch operation recognition process, and the state of each fingertip is obtained.
ステップS400において、認識部126は、タッチ状態にある複数の指先をペアリングする。本実施形態では、タッチ時刻が最も早い指先から、タッチ時刻に沿って順次2つの指先をペアリングする。ただしこれは一例である、他のペアリング方法を用いてもよい。なお、ステップS400において複数の組み合わせがペアリングされた場合、以下のステップS401〜ステップS406の処理は全ての組み合わせのそれぞれを対象に、複数回繰り返される。
In step S400, the
ステップS401において、認識部126は、ペアリングされている2つの指先の間の距離を取得する。本実施形態では、xy平面上の二次元のユークリッド距離を用いるが、別の距離尺度を用いてもよい。ステップS402において、認識部126は、取得した指先間の距離と、前フレームで取得された距離に差が生じているかを判定する。ここでは、フレーム間での距離の差分が、所定の値より大きいか否かで判定を行う。距離に差があると判定される場合(ステップS402でYES)、ステップS403に進む。距離に差があると判定されない場合(ステップS402でNO)、ステップS404に進む。
In step S401, the
ステップS403において、認識部126は、PINCHイベントを発行する。PINCHイベントは、2つの指先間の距離が変化したことで拡大・縮小操作を認識した場合に通知されるイベントである。PINCHイベントは、2つの指先間の距離の変化から計算された、拡大・縮小の割合や差分距離といった情報を伴って出力制御部127に通知される。例えば、拡大・縮小の割合(%)は、式2で計算できる。
(現在の指先間の距離)/(ペアリングされた時点での指先間の距離)×100…(式2)
また、例えば、差分距離は(現在の指先間の距離−ペアリングされた時点での指先間の距離)で計算できる。出力制御部127は、例えば、PINCHイベントの通知を受け、表示アイテムの大きさを拡大したり縮小したりできる。
In step S403, the
(Current distance between fingertips) / (Distance between fingertips when paired) × 100 (Equation 2)
Further, for example, the difference distance can be calculated by (current distance between fingertips−distance between fingertips when paired). For example, the
ステップS404において、認識部126は、ペアリングされている指先間を結ぶ線分の角度を取得する。角度の取得方法の例は後述する。ステップS405において、認識部126は、算出した角度が前フレームと比較して変化しているかどうかを判定する。角度が変化していると判定される場合(ステップS405でYES)には、ステップS406へ進む。角度が変化していると判定されない場合(ステップS405でNO)には、処理を終了する。あるいはステップS401に戻って繰り返す。
In step S404, the recognizing
ステップS406において、認識部126は、ROTATEイベントを発行する。ROTATEイベントは、ペアリングされた2つの指先の絶対的な角度が変化したことで回転操作を認識した場合に通知されるイベントである。絶対的な角度の計算方法は、例えば、2つの指先を繋いでできる線分とx軸のなす角度を用い、時計回りの角度をプラスとし、反時計回りの角度をマイナスとすることができる。ROTATEイベントは2つの指先の絶対的な角度の変化から計算された、回転の割合等の情報を伴って出力制御部127に通知される。例えば、回転の割合は、式3で計算できる。
(現在の2つの指先の絶対的な角度−ペアリング時点の2つの指先の絶対的な角度)…(式3)
出力制御部127は例えば、ROTATEイベントの情報を用いて、表示アイテムを回転させることができる。
In step S406, the
(Absolute angles of the current two fingertips-Absolute angles of the two fingertips at the time of pairing) (Equation 3)
For example, the
<マルチタッチ操作の具体例>
マルチタッチ操作を、距離画像センサ115を用いたタッチ認識で実現する場合には、操作に用いられる複数の指先がそれぞれタッチ状態であることが認識されている必要がある。マルチタッチ操作の認識においても、操作入力に用いられない指の指先がタッチ状態であると誤認識されると、誤動作の原因となる可能性がある。
<Specific examples of multi-touch operation>
When the multi-touch operation is realized by touch recognition using the
まず、本実施形態の絞り込みを行わずに全ての指先の高さを、一定のタッチ閾値200と比較する場合、マルチタッチ操作が入力される場合に起こり得た問題を、図7(A)と図6(A)を参照して説明する。図7(A)はUI部品102に対してマルチタッチ操作をするために、手103aの人差し指303と親指304でタッチした瞬間の様子である。拡大・縮小操作や回転操作を行う場合には人差し指と親指が用いられることが多いが、ユーザにとって、人差し指と親指だけを伸ばし、他の指が誤検出されないように曲げたり向きを変えたりする姿勢を取ることは負担を伴うことがある。従って、ユーザには、図7(A)のように、手及び指を自然と開いた姿勢でマルチタッチ操作を行える環境が期待される。
First, when comparing the heights of all the fingertips with a certain
図6(A)は図7(A)における指先高さを、zx平面にマッピングしたものである。図4及び図5で示したのと同じ要素については、同じ番号を付与し、説明を省略する。この場合、ユーザが操作入力に用いることを意図したのは人差し指303と親指304であるが、他の指も広げられた状態にあるため、人差し指303と親指304の動きに連動して動く。図6(A)の場合、人差し指303と親指304とは離れた小指300が連動して下がったことで、小指300の指先高さがタッチ閾値200を下回っている。従って、例えば、誤って小指300が親指304あるいは人差指303とペアリングされてしまい、ユーザの意図と異なるマルチタッチ操作が認識されることが有り得る。
FIG. 6A shows the fingertip height in FIG. 7A mapped on the zx plane. The same elements as those shown in FIGS. 4 and 5 are given the same numbers, and the description thereof is omitted. In this case, it is the
本実施形態では、上述したように、タッチ閾値と指先高さの比較によるタッチ認識処理を行う前に、タッチ認識処理の対象とする指先を絞り込む。図6(B)に、図6(A)と同様の状況で、本実施形態の絞り込みを適用した結果を示す。図6(B)に示す手の状態では、複数の指先の中でも人差し指303の指先高さが最も小さい。その指先高さがHminとなる。操作入力に用いられる人差し指303と親指304は、絞り込み閾値305となる高さHmin+εHを下回っているため、タッチ認識の対象となる。そしてタッチ閾値200を下回っているので、タッチ状態であると認識される。一方で、操作入力に用いられる指ではない小指300の指先高さは、タッチ閾値200を下回っているものの、絞り込み閾値305である高さHmin+εHを上回っているため、タッチ閾値200との比較が行われない。従って、タッチ状態であるとは認識されない。
In the present embodiment, as described above, the fingertips to be subjected to the touch recognition process are narrowed down before performing the touch recognition process by comparing the touch threshold and the fingertip height. FIG. 6B shows the result of applying the narrowing of the present embodiment in the same situation as in FIG. In the hand state shown in FIG. 6B, the fingertip height of the
次に指先の移動スピードに基づく指先の絞り込みの例を図6(C)を参照して説明する。図6(C)では図5(A)と同様に前フレームの指先位置を破線の円で、現フレームの指先位置を実線の円で示し、前フレームと現フレームの指先高さ位置を繋いだ矢印はZ軸方向のスピードの大きさを示している。全ての指先の中で最も指先スピードが大きい指先は人差し指303である。その指先スピードをVmaxとする。指先スピードがVmax-εVを上回っているのは人差し指303と親指304である。従って、本実施形によれば、人差し指303と親指304がタッチ認識処理の対象となり、それらはタッチ閾値300より高さが小さいため、タッチ状態であると認識される。一方、小指300の指先高さは、タッチ閾値200を下回っているものの、指先のスピードがVmax-εVを下回っているため、タッチ認識の対象とされない。従って、小指300はタッチ状態であると認識されない。
Next, an example of fingertip narrowing based on the fingertip movement speed will be described with reference to FIG. In FIG. 6C, as in FIG. 5A, the fingertip position of the previous frame is indicated by a dashed circle, the fingertip position of the current frame is indicated by a solid circle, and the fingertip height position of the previous frame and the current frame are connected. The arrow indicates the magnitude of the speed in the Z-axis direction. The
図7(B)は、本実施形態によって指先のペアリングが正しく行われたことにより、縮小操作が認識され、UI部品102が縮小された様子を表す。人差し指303と親指304の距離を小さくすることでPINCHイベントが発行され、アプリケーションはPINCHイベントの拡大・縮小割合を参照し、UI部品102の大きさを変化させている。図7(C)は、UI部品102に回転操作を行われた様子を表す。人差し指303と親指304を時計回りに回転させることでROTATEイベントが発行され、アプリケーションはROTATEイベントの回転の割合を参照し、UI部品102を時計回りに回転させている。このように、本実施形態では、一部の指だけを使ったマルチタッチ操作を行った場合でも、適切な指の情報を使ってマルチタッチ操作が認識されるので、ユーザが自然と手を広げた楽な姿勢で操作を行うことができる。
FIG. 7B shows a state in which the reduction operation is recognized and the
なお、本実施形態では、ユーザが一人で片手でのマルチタッチ操作を行うことを前提として説明して来た。従って、高さやスピードの比較は、同一の手に属する複数の指先間で行われた。ただし、マルチタッチ操作は、両手で行われる場合もあり得る。また、右手での操作中に、別途左手の誤タッチが検出されてしまうといった場合があり得る。そのような場合に対応するために、抽出された複数の手領域の中で同一ユーザの両手を組み合わせを特定し、1ユーザの両手に属する指先の中で高さやスピードを比較してもよい。こうすることで、指だけでなく手に関しても、ユーザが操作に用いる意図を持っているか否かを推定することで、操作の誤認識を低減することができる。また、複数ユーザの指先の高さやスピードを全て比較して絞り込みを行うことで、あるユーザが主体的に操作している場合に、他のユーザの指先による誤タッチが認識されてしまうことを防ぐことができる。また、上述した例ではマルチタッチ操作に用いられる指先は2つずつペアリングしたが、3本以上の指先が協働してマルチタッチ操作を行う場合にも、本実施形態は有効である。
このように、意図した人差し指303と親指304のみがタッチ状態になると、この2つの指がペアリングされる。そして、人差し指303と親指304をタッチ状態のまま動かすことによって、マルチタッチ操作を行うことができる。
Note that the present embodiment has been described on the assumption that the user performs a multi-touch operation with one hand alone. Therefore, the comparison of height and speed was performed between a plurality of fingertips belonging to the same hand. However, the multi-touch operation may be performed with both hands. Further, there may be a case where an erroneous touch of the left hand is detected during the operation with the right hand. In order to cope with such a case, a combination of both hands of the same user may be specified in the extracted plurality of hand regions, and the height and speed may be compared among the fingertips belonging to both hands of one user. By doing so, it is possible to reduce misrecognition of the operation by estimating whether the user intends to use the operation for not only the finger but also the hand. Also, by comparing and narrowing down the heights and speeds of the fingertips of multiple users, it is possible to prevent an erroneous touch due to the fingertips of other users from being recognized when a user is actively operating. be able to. In the above-described example, two fingertips used for the multi-touch operation are paired, but this embodiment is also effective when three or more fingertips cooperate to perform the multi-touch operation.
In this way, when only the intended
<平面以外へのタッチ操作>
ここまで、平面を対象としたタッチ操作を例に挙げて説明してきたが、本実施形態は、任意形状の物体が対象であっても同様の方法で誤認識を抑制したタッチ操作を行うことが可能である。一例として、平面上におかれた球500を対象にタッチ操作を行う場合の例を図13(A)に示す。球400を覆うように、一定のタッチ閾値401、リリース閾値402を設定する。そして、指先403の球400の表面までの距離404が、最小となる指先の位置情報を基準として絞り込みを行う。また、指先の移動スピードを取得する際には、指先403が球400の表面へ向かう方向のスピード405を比較すればよい。
<Touch operation to other than plane>
Up to this point, the touch operation for a plane has been described as an example. However, in the present embodiment, even if an object having an arbitrary shape is the target, the touch operation with the erroneous recognition suppressed can be performed by the same method. Is possible. As an example, FIG. 13A illustrates an example in which a touch operation is performed on a
また、仮想オブジェクトが対象であっても、同様の方法で誤認識を抑制したタッチ操作を行うことが可能である。図13(B)を用いて、3Dプロジェクタで空中に投影された3Dオブジェクトである球406に対するタッチ操作の例を示す。この場合も、球406を覆うようにタッチ閾値407とリリース閾値408を設定する。そして、指先409の球406の表面までの距離410が最小距離となる乳美先指先高さ410が最小となる指先の位置情報を基準として絞り込みを行う。また、指先の移動スピードを取得する際には、指先409が球406の表面へ向かう方向のスピード411を比較すればよい。
Moreover, even if a virtual object is a target, it is possible to perform a touch operation in which erroneous recognition is suppressed by a similar method. An example of a touch operation on a
[変形例]
上述した第1の実施形態では、絞り込まれた指先がタッチ状態であるかを判定する条件は、予め設定された一定のタッチ閾値及びリリース閾値であった。それに対し変形例として、ユーザ毎に、あるいは指毎に、より適切な閾値を決定する例を説明する。なお、以下の変形例で説明するタッチ閾値の決定処理は、図8のフローチャートのステップS105の処理において行われる。変形例では、ステップS105以外の処理は、第1の実施形態に準じるため、詳細な説明は省略する。
[Modification]
In the first embodiment described above, the condition for determining whether or not the narrowed fingertip is in the touch state is a predetermined touch threshold and release threshold set in advance. On the other hand, as a modification, an example in which a more appropriate threshold is determined for each user or for each finger will be described. Note that the touch threshold value determination process described in the following modification is performed in the process of step S105 in the flowchart of FIG. In the modification, the processes other than step S105 are the same as those in the first embodiment, and thus detailed description thereof is omitted.
<変形例1:指同士の関係に基づく閾値の補正処理>
第1の実施形態、及びその変形例は、操作に利用される指に連動して動いてしまう他の指の影響により生じるタッチ操作の誤認識を低減することを目的としている。ここで、操作に利用される指の種類によっては、それに連動して動いてしまう傾向が強い指を予め想定することが可能である。例えば、ユーザやアプリケーションの都合で、小指でタッチ操作が行われる場合、小指と隣り合う薬指は、小指の動きに連動して動いてしまい易い。またその際、入力操作に用いられる小指と、高さやスピードが近いものになることが統計的に解っている。ここで変形例1では、このような指同士の関係に基づいて閾値を決定する。
<Modification 1: Threshold correction processing based on the relationship between fingers>
The first embodiment and its modification are intended to reduce erroneous recognition of touch operations caused by the influence of other fingers that move in conjunction with the fingers used for the operations. Here, depending on the type of finger used for the operation, it is possible to assume in advance a finger that tends to move in conjunction with the finger. For example, when the touch operation is performed with the little finger for the convenience of the user or the application, the ring finger adjacent to the little finger is likely to move in conjunction with the movement of the little finger. At that time, it is statistically understood that the height and speed are close to those of the little finger used for the input operation. Here, in
図5(B)は小指300でタッチした場合の様子である。このとき薬指301は、指先高さおよび指先スピードが小指300とほぼ等しいため、第1の実施形態の絞り込みによって除外することが難しい場合がある。そこで変形例1では、小指300と連動して動く傾向が強い薬指301、及び中指302に関しては、小指300がタッチ操作に用いられる可能性が最も高い指だとみなされた場合に用いるタッチ閾値及びリリース閾値を先に補正しておく。なお、第1の実施形態の場合、タッチ操作に用いられる可能性が最も高い指だとみなされるのは、最もタッチ対象面からの距離が近く、また移動スピードが速い指である。
FIG. 5B shows a state where the
図5(C)は、小指300が最もタッチ対象面からの距離が近く、また移動スピードが速い指であったことに応じて、薬指301、及び中指302のタッチが認識される条件が厳しくなった様子を表す。小指300と連動して動く薬指301のタッチ閾値306は、通常のタッチ閾値200よりも小さい値に決定されている。同様に中指302のタッチ閾値が、閾値200から閾値307に補正される。最終的に、指先高さおよび指先スピードを比較することによって、小指300と薬指301に対してタッチ判定が行われるが、薬指301の指先高さは補正されたタッチ閾値306を下回っていないためタッチ状態であると認識されない。意図したタッチである小指300だけがタッチ状態であると認識される。
In FIG. 5C, the condition for recognizing the touch of the
図12(A)は上述した、指同士の関係に基づく閾値の決定処理の流れを表すフローチャートである。この処理はステップS105の中で実行される。ステップS500において、タッチ認識部126は、指先高さが最小の指先を特定し、その指先と連動して動く指先の閾値を決定する。ステップS301において、タッチ認識部126は、指先速度が最大の指先を特定し、その指先と連動して動く指先の閾値を決定する。ステップS500及びステップS501では例えば、予め設定されているタッチ閾値に、所定の補正量を加えるあるいは減じることで、補正された閾値を算出し、対象としている指の閾値として決定する。ただしステップS300で決定済みの指先は決定しない。一例として、ステップS300およびステップS301で、連動して動く指先および補正量を取得するために、図12(B)に示すルックアップテーブルを用いる。
FIG. 12A is a flowchart showing the flow of the threshold value determination process based on the relationship between fingers described above. This process is executed in step S105. In step S500, the
なお変形例1では、連動して動く指先および補正量を取得するために図12(B)に示すルックアップテーブルを用いるが、連動して動く指先および補正量を決めるために他の方法を用いることも可能である。例えば、統計情報に基づいて確率的に決めることができる。なお、変形例1では指の種類の情報を使って、連動して動きやすい関係にある指先を特定しタッチ閾値を決定しているが、そのような情報がない場合でも、連動して動く指先を特定することは可能である。例えば、指先高さが低いあるいは指先速度が大きい指先に隣接する指先を、連動して動く指先であると判定し、その指先の閾値を決定することができる。 In the first modification, the lookup table shown in FIG. 12B is used in order to acquire the fingertips that move in conjunction and the correction amount, but other methods are used to determine the fingertips that move in conjunction and the correction amount. It is also possible. For example, it can be determined probabilistically based on statistical information. In the first modification example, the finger type information is used to identify the fingertips that are linked and move easily, and the touch threshold is determined. However, even if there is no such information, the fingertips that move in conjunction with each other are determined. It is possible to specify. For example, it is possible to determine a fingertip adjacent to a fingertip having a low fingertip height or a high fingertip speed as a fingertip that moves in conjunction with the fingertip, and determine a threshold value for the fingertip.
<変形例2:ユーザのニュートラルポジションに合わせた指毎の閾値補正>
第1の実施形態では、どのようなユーザについても一定のタッチ閾値、及びリリース閾値を使った。しかしながら、ユーザによって、ニュートラルポジション(自然な手の状態)での各指の高さは異なる。そこで、ユーザの手の状態がニュートラルポジションにあるときの各指の高さに基づいて閾値を補正する場合を説明する。
<Modification 2: Threshold correction for each finger according to the user's neutral position>
In the first embodiment, a constant touch threshold and a release threshold are used for any user. However, the height of each finger in the neutral position (natural hand state) varies depending on the user. Therefore, a case will be described in which the threshold value is corrected based on the height of each finger when the user's hand is in the neutral position.
図14(B)はニュートラルポジションの指先高さによって閾値を変動させた様子を示している。変形例2では、条件決定部124は、手がニュートラルポジションにあることが確認できた状態で得られた、各指先の高さ情報を使って閾値を補正する。例えば、手のシルエットを投影し、ユーザにそのシルエット上に手を静止させてもらうガイダンス表示を使って、ユーザの手をニュートラルポジションに誘導してから図8のフローチャートの処理を開始する。この場合、シルエット上に指先が5つ検出され、一定時間経過した場合にニュートラルポジションになったことを認識することができる。
FIG. 14B shows a state in which the threshold value is varied depending on the fingertip height at the neutral position. In the second modification, the
そして、条件決定部124は、ニュートラルポジションにある手の各指先の高さを予め設定した高さ閾値αと比較する。ここで用いる高さ閾値αは、タッチ閾値及びリリース閾値とは異なるものであり、これ以上高い位置にある指は、タッチ操作に関わる可能性が低いとみなされ、タッチ閾値の補正が必要ではないと判定するための基準の高さである。図14(B)において、薬指301、中指302、人差し指303は指先高さが一定の高さαより高いため、タッチ閾値200とリリース閾値201はデフォルトのまま変化させない。しかし小指300はニュートラルポジションにおける指先高さが低いため、その高さに合わせてタッチ閾値を510、リリース閾値が511と再設定する。同様に、親指304もタッチ閾値を512、リリース閾値を513と再設定する。変形例2では、このように、ユーザに合わせて閾値を設定することで誤認識が少ない自然なタッチ操作が可能になる。
Then, the
ただし、所定の高さαによる区別を行わず、全ての指について、ニュートラルポジションでの指の高さ応じて閾値を変えてもよい。図14(A)は指の種類に応じて閾値を設定した例を示している。小指300のタッチ閾値は500、リリース閾値は501である。同様に、薬指301のタッチ閾値は502、リリース閾値は503である。中指302のタッチ閾値は504、リリース閾値は505である。人差し指303のタッチ閾値は506、リリース閾値は507である。親指304のタッチ閾値は508、リリース閾値は509となる。このように詳細に閾値を合わせこむことで、どの指先でも直観的に同程度の認識率と操作感を実現することができる。
However, the threshold value may be changed according to the height of the finger at the neutral position for all the fingers without distinguishing by the predetermined height α. FIG. 14A shows an example in which a threshold is set according to the type of finger. The touch threshold of the
<変形例3:アプリケーションに応じた指毎の閾値補正>
また別の変形例3として、ニュートラルポジションでの高さにはよらず、ステップS103で特定した種類に応じて、所定の指のタッチ閾値を調整してもよい。例えば、アプリケーションによっては、所定の種類の指先を認識しやすくすることで、自然な操作感を実現できる場合がある。人差し指と親指によるマルチタッチ操作を頻繁に行うアプリケーションにおいて、人差し指と親指を認識しやすくし、それ以外の指を認識しにくくする場合を説明する。図14(C)は、小指300、薬指301、中指302に関して、タッチを検出する条件が厳しくなるように、閾値を設定した様子を表す。まず、小指300、薬指301、中指302のタッチ閾値514およびリリース閾値515を低く設定する。また、人差し指303および親指304のタッチ閾値516、リリース閾値517を高めに設定することでタッチを認識しやすくしている。
<Modification 3: Threshold correction for each finger according to application>
As another modified example 3, a predetermined finger touch threshold value may be adjusted according to the type specified in step S103 without depending on the height at the neutral position. For example, depending on the application, it may be possible to realize a natural feeling of operation by easily recognizing a predetermined type of fingertip. A case where the index finger and the thumb are easily recognized in an application that frequently performs multi-touch operations using the index finger and the thumb and the other fingers are difficult to recognize will be described. FIG. 14C illustrates a state in which threshold values are set for the
また、マルチタッチ操作を行う場合には、操作する以外の指が折り曲げられていると、5つ全ての指先が検出できず、指先の種類の認識結果が得られない場合がある。このような場合、指が検出できていなくても、ステップS103での指の特定結果を利用して、各指に最適な閾値を設定することができる。例えば、右手であれば、侵入位置から見て左(図14(D)においては右)から1番目の指先と2番目の指先がそれぞれ親指と人差し指であると思われるので、それらの指先を認識しやすくできる。図14(D)は右手の4つの指先518、519、520、521が検出されているが、種類は分からない状態を示している。ここで指先520と521は人差し指と親指であると思われるので、高めのタッチ閾値516、リリース閾値517が設定されており、指先518と519には低めのタッチ閾値514およびリリース閾値515が設定されている。同様に、左手であれば、侵入位置から見て右から1番目の指先と2番目の指先がそれぞれ親指と人差し指であると思われるので、それらの指先を認識しやすくできる。
In addition, when performing a multi-touch operation, if fingers other than the operated one are bent, all five fingertips cannot be detected and a fingertip type recognition result may not be obtained. In such a case, even if a finger is not detected, an optimum threshold value can be set for each finger using the finger identification result in step S103. For example, in the case of the right hand, the first fingertip and the second fingertip from the left (right in FIG. 14D) when viewed from the intrusion position are considered to be the thumb and the index finger, respectively. It can be done easily. FIG. 14D shows a state in which the four
以上説明した変形例1〜3によって、タッチ閾値を決定する場合、決定されたタッチ閾値に合わせてリリース閾値を決定することで、タッチ操作認識処理の全体の精度をより向上させることができる。変形例においても、第1の実施形態で説明したように、決定されたタッチ閾値及びリリース閾値を使ってタッチ状態か否かを判定する指先を絞り込むことで、操作に利用される指に連動して動いてしまうにより生じるタッチ操作の誤認識を低減することができる。 When the touch threshold is determined according to the first to third modifications described above, the overall accuracy of the touch operation recognition process can be further improved by determining the release threshold in accordance with the determined touch threshold. Also in the modified example, as described in the first embodiment, by using the determined touch threshold value and the release threshold value to narrow down the fingertip for determining whether or not it is in the touch state, the fingertip used for the operation is linked. Misrecognition of a touch operation caused by the movement of the user can be reduced.
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
120 画像取得部
121 領域検出部
122 位置検出部 123 特定部
124 条件決定部
125 識別部
126 認識部
127 出力制御部
DESCRIPTION OF
Claims (12)
前記画像取得手段によって取得された入力画像のうち前記人の手が写る部分に反映された前記位置情報に基づいて、前記人の手のうちの複数の指先のそれぞれの位置情報を検出する位置検出手段と、
前記位置検出手段によって検出された前記複数の指先の関係を使って、前記複数の指先のうち前記所定の対象面にタッチしたかを判定する処理の対象とする指先を特定する特定手段と、
前記特定手段によって特定された指先について前記位置検出手段によって検出された位置情報と、前記タッチ対象面の位置情報を使って、前記指先によって前記所定の対象面上に入力されるタッチ操作を認識する認識手段と、
を備えることを特徴とする情報処理装置。 An image acquisition means for acquiring an input image reflecting position information in a space where a person inserts a hand and performs an operation;
Position detection for detecting position information of each of a plurality of fingertips of the person's hand based on the position information reflected in a part of the input image acquired by the image acquisition means in which the person's hand is reflected Means,
Using the relationship between the plurality of fingertips detected by the position detection unit, a specifying unit that specifies a fingertip that is a target of a process of determining whether the predetermined target surface is touched among the plurality of fingertips;
Using the position information detected by the position detecting unit and the position information of the touch target surface for the fingertip specified by the specifying unit, a touch operation input on the predetermined target surface by the finger tip is recognized. Recognition means;
An information processing apparatus comprising:
ことを特徴とする請求項1に記載の情報処理装置。 The specifying means specifies a fingertip that is closest to the predetermined target surface based on position information of the plurality of fingertips detected by the position detecting means, and based on a distance from the specified fingertip The information processing apparatus according to claim 1, further specifying a fingertip that is a target of the determination process.
ことを特徴とする請求項1又は2に記載の情報処理装置。 The specifying means specifies a fingertip that indicates that the speed of approaching the predetermined target surface is fastest according to position information of the plurality of fingertips detected by the position detecting means from the repeatedly acquired input image, 2. The fingertip as a target of the determination process is further specified based on a relative relationship between the speed of the specified fingertip and a speed at which another fingertip approaches the predetermined target surface. Or the information processing apparatus of 2.
前記認識手段は、前記位置検出手段によって検出された前記複数の指先のそれぞれの位置情報が、前記決定手段によって決定された閾値よりも前記所定の対象面に近接していることを表す場合、前記指先によって前記所定の対象面がタッチされたと判定する
ことを特徴とする請求項4に記載の情報処理装置。 As a condition for determining the degree of proximity of the recognition means, further comprising a determination means for determining a threshold value,
When the recognizing means indicates that the position information of each of the plurality of fingertips detected by the position detecting means is closer to the predetermined target surface than the threshold value determined by the determining means, The information processing apparatus according to claim 4, wherein it is determined that the predetermined target surface is touched by a fingertip.
請求項1乃至6のいずれか1項に記載の情報処理装置。 The input image is a distance image captured at an angle of view looking down on the space from above, and each pixel value of the distance image includes position information in a direction corresponding to the height from the predetermined target surface. The information processing apparatus according to claim 1, wherein the information processing apparatus is reflected.
ことを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。 The determination unit determines the condition based on a relative relationship of positional information of each fingertip with respect to a plurality of fingertips included in one person's hand extracted from the input image. The information processing apparatus according to any one of claims 1 to 7.
前記認識手段は、前記識別手段によって識別された特定の種類の指に対して、前記閾値を決定することを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。 An identification means for identifying a plurality of types of fingertips detected by the position detection means;
The information processing apparatus according to claim 1, wherein the recognition unit determines the threshold value for a specific type of finger identified by the identification unit.
位置検出手段により、前記取得された入力画像のうち前記人の手が写る部分に反映された前記位置情報に基づいて、前記人の手のうちの複数の指先のそれぞれの位置情報を検出する位置検出工程と、
特定手段により、前記検出された前記複数の指先の関係を使って、前記複数の指先のうち前記所定の対象面にタッチしたかを判定する処理の対象とする指先を特定する特定工程と、
認識手段により、前記特定された指先について前記位置検出工程で検出された位置情報と、前記タッチ対象面の位置情報を使って、前記指先によって前記所定の対象面上に入力されるタッチ操作を認識する認識工程と、
を備えることを特徴とする情報処理装置の制御方法。 An image acquisition step of acquiring an input image reflecting position information in a space where a person inserts a hand and operates by an image acquisition means;
A position for detecting position information of each of a plurality of fingertips in the person's hand based on the position information reflected in a portion of the acquired input image in which the person's hand is captured by the position detecting means. A detection process;
A specifying step of specifying a fingertip that is a target of processing for determining whether the predetermined target surface is touched among the plurality of fingertips by using the relationship between the detected plurality of fingertips by an specifying unit;
Recognizing the touch operation input on the predetermined target surface by the fingertip using the position information detected in the position detection step and the position information of the touch target surface by the recognition means. A recognition process to
An information processing apparatus control method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015168293A JP6570376B2 (en) | 2015-08-27 | 2015-08-27 | Information processing apparatus, control method therefor, program, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015168293A JP6570376B2 (en) | 2015-08-27 | 2015-08-27 | Information processing apparatus, control method therefor, program, and storage medium |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017045332A true JP2017045332A (en) | 2017-03-02 |
JP2017045332A5 JP2017045332A5 (en) | 2018-09-20 |
JP6570376B2 JP6570376B2 (en) | 2019-09-04 |
Family
ID=58210538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015168293A Active JP6570376B2 (en) | 2015-08-27 | 2015-08-27 | Information processing apparatus, control method therefor, program, and storage medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6570376B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113531423A (en) * | 2021-07-13 | 2021-10-22 | 读书郎教育科技有限公司 | Interactive intelligent projection table lamp and method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11305895A (en) * | 1998-04-21 | 1999-11-05 | Toshiba Corp | Information processor |
JP2012108857A (en) * | 2010-10-28 | 2012-06-07 | Yoshihiro Wada | Key input device, portable terminal equipped with the same, and program allowing portable terminal to function as input device |
US20140029789A1 (en) * | 2012-07-30 | 2014-01-30 | Bruno Delean | Method and system for vision based interfacing with a computer |
JP2015102983A (en) * | 2013-11-25 | 2015-06-04 | 三菱電機株式会社 | 3d dynamic input device |
JP2015519624A (en) * | 2012-02-24 | 2015-07-09 | トーマス ジェイ モスカリッロMOSCARILLO, Thomas, J. | Gesture recognition apparatus and method |
-
2015
- 2015-08-27 JP JP2015168293A patent/JP6570376B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11305895A (en) * | 1998-04-21 | 1999-11-05 | Toshiba Corp | Information processor |
JP2012108857A (en) * | 2010-10-28 | 2012-06-07 | Yoshihiro Wada | Key input device, portable terminal equipped with the same, and program allowing portable terminal to function as input device |
JP2015519624A (en) * | 2012-02-24 | 2015-07-09 | トーマス ジェイ モスカリッロMOSCARILLO, Thomas, J. | Gesture recognition apparatus and method |
US20140029789A1 (en) * | 2012-07-30 | 2014-01-30 | Bruno Delean | Method and system for vision based interfacing with a computer |
JP2015102983A (en) * | 2013-11-25 | 2015-06-04 | 三菱電機株式会社 | 3d dynamic input device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113531423A (en) * | 2021-07-13 | 2021-10-22 | 读书郎教育科技有限公司 | Interactive intelligent projection table lamp and method |
Also Published As
Publication number | Publication date |
---|---|
JP6570376B2 (en) | 2019-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8933882B2 (en) | User centric interface for interaction with visual display that recognizes user intentions | |
US9756265B2 (en) | Information processing apparatus recognizing certain object in captured image, and method for controlling the same | |
US9916043B2 (en) | Information processing apparatus for recognizing user operation based on an image | |
JP6539816B2 (en) | Multi-modal gesture based interactive system and method using one single sensing system | |
WO2017029749A1 (en) | Information processing device, control method therefor, program, and storage medium | |
JP2016520946A (en) | Human versus computer natural 3D hand gesture based navigation method | |
JP6452456B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
JP6562752B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
US10042426B2 (en) | Information processing apparatus for detecting object from image, method for controlling the apparatus, and storage medium | |
JP2015022624A (en) | Information processing apparatus, control method thereof, computer program, and storage medium | |
US10379678B2 (en) | Information processing device, operation detection method, and storage medium that determine the position of an operation object in a three-dimensional space based on a histogram | |
US20160093055A1 (en) | Information processing apparatus, method for controlling same, and storage medium | |
JP2017219942A (en) | Contact detection device, projector device, electronic blackboard system, digital signage device, projector device, contact detection method, program and recording medium | |
JP2017084307A (en) | Information processing device, control method therefor, program, and recording medium | |
JP6570376B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
JP6555958B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
JP6579866B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
US10416814B2 (en) | Information processing apparatus to display an image on a flat surface, method of controlling the same, and storage medium | |
JP6618301B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
JP4901670B2 (en) | Electronic board system | |
KR102107182B1 (en) | Hand Gesture Recognition System and Method | |
US20200167005A1 (en) | Recognition device and recognition method | |
JP2018181169A (en) | Information processor, and information processor control method, computer program, and storage medium | |
US11789543B2 (en) | Information processing apparatus and information processing method | |
JP2017228216A (en) | Information processing apparatus, control method therefor, program, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180807 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180807 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190402 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190510 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190709 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190806 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6570376 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |