JP2017084307A - Information processing device, control method therefor, program, and recording medium - Google Patents
Information processing device, control method therefor, program, and recording medium Download PDFInfo
- Publication number
- JP2017084307A JP2017084307A JP2015215218A JP2015215218A JP2017084307A JP 2017084307 A JP2017084307 A JP 2017084307A JP 2015215218 A JP2015215218 A JP 2015215218A JP 2015215218 A JP2015215218 A JP 2015215218A JP 2017084307 A JP2017084307 A JP 2017084307A
- Authority
- JP
- Japan
- Prior art keywords
- hand
- operating body
- information
- information processing
- processing apparatus
- 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.)
- Pending
Links
Images
Landscapes
- Position Input By Displaying (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
Description
本発明は、撮像された画像に基づいて操作者の操作を認識する技術に関する。 The present invention relates to a technique for recognizing an operator's operation based on a captured image.
近年では、AR(Augmented Reality)やMR(Mixed Reality)といった環境において、物理的には存在しない操作面(仮想面)に対するタッチ操作が行われる場面がある。また、プロジェクションによって操作者インタフェース(以下、UI)を壁や机など任意の操作面に投影し、投影したUIに対してタッチ操作が行われる場面がある。このような場面においては、ステレオカメラや距離画像センサ等の撮像手段を用い、操作面と、所定の操作体の一部(例えば操作者の指先)との間の距離に基づく判断により、両者が接触しているか否かを判断することが多い。具体的には、操作面と、操作者の指先との間の距離に所定の閾値を設け、間の距離が閾値を下回った場合を両者が接触している状態であるとみなす。 In recent years, in an environment such as AR (Augmented Reality) and MR (Mixed Reality), there is a scene where a touch operation is performed on an operation surface (virtual surface) that does not physically exist. In addition, there is a scene in which an operator interface (hereinafter referred to as UI) is projected onto an arbitrary operation surface such as a wall or a desk by projection, and a touch operation is performed on the projected UI. In such a scene, both are determined based on the distance between the operation surface and a part of a predetermined operation body (for example, the fingertip of the operator) using imaging means such as a stereo camera or a distance image sensor. It is often determined whether or not they are in contact. Specifically, a predetermined threshold is provided for the distance between the operation surface and the fingertip of the operator, and the case where the distance is less than the threshold is regarded as a state where both are in contact.
画像を用いる体の一部の動きに基づく操作の認識においては、撮像手段と操作者の位置関係によっては、検出すべき操作者の体の一部が、撮像手段の死角に入り、その動きを正しく認識できないことが問題となる。 In recognition of an operation based on the movement of a part of the body using an image, depending on the positional relationship between the imaging means and the operator, a part of the operator's body to be detected enters the blind spot of the imaging means, and the movement is detected. The problem is that it cannot be recognized correctly.
上記の問題に対して、特許文献1が開示する技術は、操作者の手先の3次元モデルを用いてその位置と姿勢を連続的にトラッキングすることで、死角に入った場合でも手先位置を大まかに推定し、その動きに基づく空間ジェスチャ操作を継続して認識できる。また、特許文献2では、障害物により遮られて、一時的に画像センサに映らなくなった手の動きを、予め登録された移動軌跡により補完する。 With respect to the above problem, the technique disclosed in Patent Document 1 uses a three-dimensional model of the operator's hand to continuously track its position and posture, so that the hand position can be roughly determined even when entering the blind spot. It is possible to continuously recognize a spatial gesture operation based on the motion. Moreover, in patent document 2, the movement of the hand which was interrupted by the obstacle and temporarily disappeared from the image sensor is complemented by a movement locus registered in advance.
特許文献1および特許文献2は、操作体が描く軌跡の形状に対応づけられた指示を解釈する操作認識方法において、軌跡の一部が欠損した場合に、欠損部分を補完して操作の認識を継続することを可能とするものである。しかしながら、いずれの補完方法を用いても、撮像手段の死角に入った操作体が操作面に接触しているか否かの判定を正確に行うことは困難である。 In Patent Document 1 and Patent Document 2, in an operation recognition method for interpreting an instruction associated with a shape of a trajectory drawn by an operating body, when a part of the trajectory is missing, the missing part is complemented to recognize the operation. It is possible to continue. However, regardless of which complementing method is used, it is difficult to accurately determine whether or not the operating tool that has entered the blind spot of the imaging means is in contact with the operating surface.
そこで本発明は、操作体の一部が撮像手段の死角に入った影響で入力中の操作を構成する複数の指示位置の少なくとも1つの検出が困難となった場合でも、タッチ状態が継続されていることを認識可能とすることを目的とする。 Therefore, the present invention allows the touch state to be continued even when it becomes difficult to detect at least one of a plurality of designated positions constituting the input operation due to the influence of a part of the operating body entering the blind spot of the imaging means. The purpose is to be able to recognize that
本発明は、操作体の端部による操作面への操作の入力を認識する情報処理装置であって、前記操作面上の空間のうち、前記操作面からの距離が所定の基準より小さい範囲内に前記操作体の端部が存在する場合、前記操作面上の空間を撮像した画像から、前記操作体の、前記画像を撮像した撮像手段に対する状態を表す情報を取得する取得手段と、前記取得手段によって取得された情報に関連して前記操作体の端部が前記撮像手段の死角に入っているとみなされる場合は、前記操作体の端部が前記撮像手段の死角に入っているとみなされない場合とは異なる基準を用いて、前記操作体の端部が前記操作面に対する操作の入力中であることを認識する認識手段と、を備える。 The present invention relates to an information processing apparatus for recognizing an input of an operation on an operation surface by an end of an operation body, wherein a distance from the operation surface in a space on the operation surface is smaller than a predetermined reference. An acquisition means for acquiring information representing a state of the operation body with respect to an imaging means for capturing the image from an image obtained by imaging a space on the operation surface; If the end of the operating body is considered to be in the blind spot of the imaging means in relation to the information acquired by the means, the end of the operating body is considered to be in the blind spot of the imaging means. Recognizing means for recognizing that the end of the operation body is inputting an operation on the operation surface, using a different standard from the case where the operation is not performed.
本発明によれば、操作体の一部が撮像手段の死角に入った影響で入力中の操作を構成する複数の指示位置の少なくとも1つの検出が困難となった場合でも、タッチ状態が継続されていることを認識可能となる。 According to the present invention, even when it becomes difficult to detect at least one of a plurality of designated positions constituting an operation being input due to the influence of a part of the operating body entering the blind spot of the imaging unit, the touch state is continued. It becomes possible to recognize that.
以下、本発明に係る実施例の情報処理を、図面を参照して詳細に説明する。なお、実施例に記載する構成は例示であり、本発明の範囲をそれらの構成に限定する趣旨のものではない。 Hereinafter, information processing according to an embodiment of the present invention will be described in detail with reference to the drawings. In addition, the structure described in an Example is an illustration and is not the meaning which limits the scope of the present invention to those structures.
<第1の実施形態>
まず、第1の実施形態として、テーブルトップインタフェースシステムのテーブル面に投影されたアイテムに対し操作者が行うタッチ操作を認識する処理の例を説明する。
<First Embodiment>
First, as a first embodiment, an example of processing for recognizing a touch operation performed by an operator on an item projected on a table surface of a table top interface system will be described.
[システムの構成]
図1(a)は、本実施形態に係る情報処理装置100を設置したテーブルトップインタフェースシステムの外観の一例である。操作面101は、テーブルトップインタフェースのテーブル部分であり、操作者は、操作面101をタッチすることでタッチ操作を入力することが可能である。ただし、本実施形態においてタッチ操作とは、操作者が用いる操作体の一部が所定の操作面に対して所定の基準を満たす程度に近接した状態で入力する操作のことを意味する。タッチ操作の入力中に、実際に操作面と操作体とが接触しているか否かは問わない。本実施形態では、操作面101の上方に、操作面を見下ろすようにして距離画像センサ102が設置される。距離画像とは、各画素の値に、当該距離画像を撮像する撮像手段の基準位置(例えばレンズ中心など)から、当該画素に撮像された被写体表面までの距離に対応する情報が反映された画像である。本実施形態において、距離画像センサ102が撮像する距離画像の画素値には、距離画像センサ102から、操作面101あるいはその上方に存在する物体表面までの距離が反映される。本実施形態で利用する距離画像センサ102はTOFセンサ(Time-Of-Flightセンサ)である。TOFセンサでは、被写体表面で反射された光を受光し、その位相遅れを計測することで、光が反射するまでにかかった時間の違いを被写体表面までの距離(深度方向の距離)の違いに対応するものとして検出する。距離画像は、画素毎に上記のようにして得られた距離情報が、画素値として反映されている。また距離画像センサ102は、深度方向の距離の距離情報を得ることから、デプスセンサと呼ばれることもある。なお、本実施形態の距離画像センサ102はTOFセンサに限らず、例えば赤外パターン照射方式のセンサや、ステレオカメラシステムを設置することで距離画像を得ることも可能である。距離画像センサ102によって撮像された距離画像は、情報処理装置100に入力画像として入力される。情報処理装置100は、入力画像を解析することで操作者の手106の三次元位置を取得し、入力される操作を認識する。従って操作者は、操作面上の空間(操作面100と距離画像センサ102の間の空間)のうち、距離画像センサ102によって撮像可能な範囲において、手などの所定の物体を動かすことにより空間ジェスチャ操作を入力することが可能である。
[System configuration]
FIG. 1A is an example of the appearance of a tabletop interface system in which the
また本実施形態では、可視光カメラ103が上方から操作面101を見下ろすようにして設置される。情報処理装置100は、可視光カメラ103を制御して、操作面101に載置された物体を撮像してその読み取り画像を得る書画カメラとして機能することができる。情報処理装置100は、可視光カメラ103によって得られる可視光画像や、距離画像センサ102によって得られる距離画像に基づいて、操作面101上の空間に存在する物体を検出し、さらに識別する。物体には、例えば、操作者の手、紙媒体や本などのドキュメントやその他の立体物を含む。ただし、図1(a)に例示するシステムの場合は、距離画像センサ102と可視光カメラ103の画角には、テーブル周囲に存在する操作者の頭部は含まれない。そのため得られた入力画像では、画像端部がユーザの腕(肩から先の部分)の何処か一部と交差する。
In the present embodiment, the
プロジェクタ104は、操作面101の上面に画像の投影を行う。本システムでは、操作者は投影された画像に含まれるアイテム105に対して、タッチや空間ジェスチャによる操作を行う。上述したように、本実施形態では、手106の検出および操作の認識には、距離画像センサ102で取得した距離画像を用いる。距離画像を用いることで、プロジェクタ104の投影光の影響で操作者の手の色が変化しても影響を受けにくいという利点がある。本システムの表示装置は、プロジェクタ104に替えて、操作面101を液晶ディスプレイとするなどで構成することもできる。その場合、可視光画像からの肌色領域を検出するなどして画像から人の手を検出する方式を用いても、投影光の影響は受けずに手の検出が可能である。
The
なお、操作面101を上方から見た画像が得られる構成であれば、必ずしも距離画像センサ102及び可視光カメラ103自体が上方に設置されている必要はなく、例えば操作面に対向するようにミラー設置し、ミラーを撮像するように構成しても構わない。プロジェクタ104も同様に、図1(a)の例では、斜め上方から見下ろすように操作面101上への投影を行うが、異なる方向に向けて投影された投影光を、ミラーなどを利用して操作面101に反射させてもよい。操作面101が鉛直方向に沿って設置されたような場合も同様である。
If the image obtained by viewing the
本実施形態では、操作面101上の三次元空間に図1に示すx、y、z軸を定義し、位置情報を扱う。図1(a)の例では、点107を座標軸の原点とする。ここでは一例として、テーブルの上面に平行な二次元がxy平面、テーブル上面に直交し上方に伸びる方向をz軸の正方向としている。本実施形態では、z軸方向は、世界座標系での高さ方向に相当する。しかしながら本実施形態は、ホワイトボードや壁面など、水平ではない面を操作面101とするシステムや、操作面が凹凸を有する場合や、MRを利用して生成された仮想面である場合にも適用可能である。
In the present embodiment, the x, y, and z axes shown in FIG. 1 are defined in a three-dimensional space on the
図1(b)は、距離画像センサ102によって撮像される距離画像とシステムの関係を表す図である。画像108は、距離画像センサ102によって撮像される距離画像の内容の一例を表す。距離画像の各画素には、距離画像センサ102から被写体までの距離に対応する値が、画素値として保持される。本実施形態では、距離画像センサ102は操作面101を見下ろすように距離画像を撮像する。従って、距離画像の各画素値は、操作面101からの高さ方向の位置情報(z座標)を得るための情報を含む。ただし、本実施形態では、距離画像センサ102は、z軸に対して斜めに角度をもつように設置されている。従って、本実施形態では距離画像の画素値をそのままz座標として利用するのではなく、センサや設置環境に応じたパラメータを使った座標変換を施すことで、画像内に定義された位置情報を世界座標のxyz座標に変換して利用する。図1(b)に示す距離画像の例では、各画素値に反映された距離情報は省略し、被写体のエッジのみを明示する。テーブル101及び原点107は図1(a)に対応している。範囲111は、距離画像センサ102の画角に相当する。以下では、画像端111と称する。
FIG. 1B is a diagram illustrating the relationship between the distance image captured by the
斜線で示す領域109は、距離画像108に写っている操作者の手106の像である(以下では単に手領域109という)。本実施形態では、検出される手のそれぞれに対して1箇所の指示位置を検出する。指示位置とは、操作者が手指を使って指し示していると推定される位置の座標である。本実施形態では、前提として、操作者がタッチ操作のために点を指定する場合には、1本だけ指を伸ばした「指さしポーズ」を取ることが規定される。1本指を延ばすポーズが、多くの人にとっては1点を指し示すのに自然な体勢だからである。従って、指示位置としては、手領域109のうち指先だと推定される位置を特定する。具体的には、距離画像から、手領域109を抽出し、手領域109のうち画像端111から最も遠い位置に存在する画素を示す座標を、指示位置とする。これにより、1本だけ伸ばした指の指先位置が、指示位置として特定される。図1(b)に示される手領域109の場合、画像端111から最も遠い点が指示位置110として特定される。ただし、指示位置の特定方法はこれに限らず、例えば、手領域から手の五指を検出して、所定の指の先端を指示位置としてもよい。
A hatched
距離画像には、図1(b)に示すようにu軸及びv軸による2次元座標系が設定される。なお図1(b)の例では、距離画像の解像度は640[dot]×480[dot]とする。指示位置110の距離画像内の位置座標が(u,v)であり、距離画像センサ102から指示位置までの距離に相当する画素値がdであるとする。本実施形態では、このように距離画像内で定義される位置情報に対して、距離画像センサ102のレンズ特性および操作面101との相対位置関係等に基づく座標変換を施す。これにより、各画素の座標をテーブルに定義された実世界上の座標系にマッピングし、指示位置110について、実空間の3次元位置(x,y,z)を取得することができる。座標変換に利用する変換行列は、距離画像センサ102が設置された時に、予め調整作業を行い取得する。なお、3次元座標の算出に用いる距離dは、単一の画素値だけでなく、手領域内で指示位置110の近傍の数ピクセル分の画素を対象に、ノイズ除去処理や平均化処理を実施した上で特定してもよい。
As shown in FIG. 1B, a two-dimensional coordinate system based on the u axis and the v axis is set in the distance image. In the example of FIG. 1B, the resolution of the distance image is 640 [dot] × 480 [dot]. Assume that the position coordinate in the distance image of the designated
また本実施形態では、各フレームで、手領域109が画像端111と交差する部分の中央を、手の侵入位置として定義する。図1(b)の手領域109の場合、侵入位置112が特定される。侵入位置112もまた、距離画像内に定義された位置情報を変換することで、実空間内での三次元位置情報として取得される。本実施形態では、距離画像から複数の手領域が検出された場合、そのそれぞれについて、指示位置及び侵入位置が特定される。そして、複数の手領域のそれぞれについてタッチ操作を認識する。本明細書では操作者がタッチ操作の入力に用いる操作体及びその端部の一例として、操作者の手106及びその指が利用されること想定する。ただし、本実施形態では操作体として、手指だけでなくスタイラスやロボットアームなどの器具を利用する場合にも適用可能である。なお操作体の端部とは、タッチ操作のために指示位置を指し示すのに用いられる部位を示す。端部は、操作体の一部に属し、タッチ操作の入力が可能な部位であれば、必ずしも突起部分の先端に限定せずともよい。
In this embodiment, the center of the portion where the
ここで図2を参照して、本実施形態が解決する課題を改めて説明する。図2は、タッチ操作中の手の状況と手領域の対応関係の一例を表す。図2(a)は、図1(a)に示したテーブルトップインタフェースシステムについて、操作者の手106付近をx軸正方向に沿って見た図である。このとき、操作者の手106は人差指を伸ばして、操作面101をタッチしている。情報処理装置100は、上方から撮像した距離画像に基づいて、人差指の指先の位置を指示位置200として特定し、指示位置200のz座標に対する閾値処理により、操作者が操作面101をタッチしている状態にあると判定する。具体的には、z座標が閾値として設定された操作面101からの高さを表す値よりも小さい場合に、操作面101が指先によってタッチされていると判定する。ここで、操作者の指が操作面101と物理的に接触していなかったとしても、z座標が閾値より低い場合は全てタッチ状態であるとみなされる。なお、この判定処理を、以下ではタッチ判定と言う。また、操作面101が指先によってタッチされている、つまり情報処理装置100が処理対象となっている指示位置に基づくタッチ操作の受け付け中であることを、当該指示位置あるいはその操作体がタッチ状態であると言う。
Here, with reference to FIG. 2, the problem which this embodiment solves is demonstrated anew. FIG. 2 shows an example of the correspondence relationship between the hand situation during the touch operation and the hand region. FIG. 2A is a view of the vicinity of the operator's
図1(a)のシステムの構成では、距離画像センサ102は操作面101に対して斜め上方に設置されるため、図2(a)に示すように、手106の角度によっては、手の甲によって指が隠され、指先が距離画像センサ102の死角201に入ってしまう。なお、装置の小型化を実現するためには、距離画像センサ102を設置する高さを制限する必要があり、設置する高さをむやみに高くすることはできない。図2(b)は、図2(a)の状態を距離画像センサ102が撮像した距離画像における、手領域109を表す。指先が死角に入っているため、手領域109のうち画像端111から最も遠い点として特定される指示位置202は、中指の付け根付近となる。図2(a)に示すように、指示位置202は、高さ203の分、実際の指先位置200よりも高い位置に存在する。従って、操作者による操作面101へのタッチの有無を判定するに用いる高さ(z座標)の閾値が、高さ203より小さければ、操作者はタッチしているつもりでいるにも関わらず、情報処理装置100は、タッチされたことを検出できないという課題が生じ得る。なお、手領域から手の五指を検出して、所定の指の先端を指示位置として特定する場合にも、指先が死角201に入ってしまうことにより、所定の指が検出できなかったり、指の長さが実際よりも短く検出されたりするなどの課題が生じ得る。
In the system configuration of FIG. 1A, the
そこで本実施形態では、操作体の距離画像センサ102に対する状態に基づいて、指先が距離画像センサ102の死角201に入っているとみなされるかを判定する。言い換えれば、指示位置として指先を検出できているとみなされるかを判定する。そして、その結果に応じて、タッチ判定の基準を使い分けることで、指先位置200が距離画像センサ102の死角201に入っている場合にも、タッチ判定の誤判定を低減する。
Therefore, in the present embodiment, it is determined whether the fingertip is considered to be in the
[判定処理の概要]
ここで、情報処理装置100が実行する、指示位置の高さと、距離画像中の操作者の腕の方向と、撮像位置から指示位置までの方向とに基づいて、操作体の距離画像センサに対する状態を取得し、指先を含む死角の有無を判定する処理の概要を説明する。
[Overview of judgment processing]
Here, based on the height of the designated position, the direction of the operator's arm in the distance image, and the direction from the imaging position to the designated position, executed by the
本実施形態での判定処理は、具体的には、図13(a)に示す条件に従って実行される。図13(a)は、検出した指示位置の高さ、距離画像センサ102が指示位置を撮像する撮像方向と操作体であるユーザの操作体自体の方向の関係、及びそれらに基づく判定結果を表したテーブルである。本実施形態では、まず、検出された指示位置の高さがタッチ閾値よりも低い(タッチ状態にあるとみなされる程度に低い)場合は、指先を含むような死角は存在しないとみなす。なぜなら、本実施形態の課題の発生要因である「指先が手の甲など同じ手の他の部位によって生じた死角に入ってしまった場合」では、図2(b)のように、タッチ中であってもタッチ閾値よりも高い位置で指示位置が検出されることが多い。言いかえれば、検出された指示位置の高さが十分に低い場合は、指先を含むような死角は存在しない可能性が高いと言える。
Specifically, the determination process in the present embodiment is executed according to the conditions shown in FIG. FIG. 13A shows the detected height of the designated position, the relationship between the imaging direction in which the
本実施形態では、検出された指示位置の高さがタッチ閾値よりも高い(タッチ状態であるとみなされない)場合は、距離画像センサ102の撮像位置と操作体の方向の関係に応じて、指先を含むような死角の有無を区別する。距離画像センサ102の撮像位置と操作体の方向の関係は、具体的には次の2つの方向の角度の差に基づいて区別される。1つは、操作面101上の空間における操作体自体の方向を表す第1の方向である。もう1つは、撮像位置から指示位置の方を見た方向(撮像方向)を表す第2の方向であって、距離画像センサ102の撮像位置と、検出された指示位置とに基づいて特定される。ただし、2つの方向はxy平面上での方向を比較するとする。
In the present embodiment, when the height of the detected indication position is higher than the touch threshold (not considered to be in the touch state), the fingertip is determined according to the relationship between the imaging position of the
図13(b)は、検出された指示位置の高さが、タッチ閾値より高く、かつ、第1の方向と第2の方向とに、十分な角度差が生じている場合における、操作体の状態とシステムの関係を説明する図である。ユーザの手1300に関し、指示位置1301が検出されているとする。一例として、撮像方向1304の基準となる撮像位置としては、撮像素子1302の中心位置が定義される。図13(b)に示すように、本システムでは、ユーザの手1300の方向1303(第1の方向)と撮像方向1304(第2の方向)に十分に角度の差がある場合、撮像位置からユーザの指先までの間に、手1300の指以外の部位による障害物は生じにくい。従って、死角に指先が入っている可能性は無いとみなすことができる。
FIG. 13B shows that the height of the detected pointing position is higher than the touch threshold value and the operating body has a sufficient angle difference between the first direction and the second direction. It is a figure explaining the relationship between a state and a system. It is assumed that the designated
図13(c)は、検出された指示位置の高さがタッチ閾値より高く、かつ、撮像方向と操作体自体の方向とが平行に近い場合における、操作体の状態とシステムの関係を説明する図である。ただし、撮像素子1302と指示位置1301の位置関係は図13(b)と一致しており、撮像方向1304(第2の方向)も、図13(b)の場合と同一であるとする。図13(b)と図13(c)の違いは、操作体であるユーザの手1305の方向1306(第1の方向)にある。図13(c)においても、ユーザの手1305は指さしポーズを取っているが、指先が低く、それより手の甲の方が高い位置に存在し、撮像素子1302はさらに上方に存在し、それらが略直線状に並ぶ。従って、撮像位置から操作者の手の指先を見た場合に手の甲などが障害物となる。このように本システムでは、操作体自体の方向1306(第1の方向)と撮像方向1304(第2の方向)に十分な角度差が無い場合、撮像位置からユーザの指先までの間で、手1300の指以外の部位が障害物となってしまいやすい。従って、本実施形態では、このような場合は指先を含むような死角が存在しているとみなす。
FIG. 13C illustrates the relationship between the state of the operating tool and the system when the height of the detected pointing position is higher than the touch threshold and the imaging direction and the direction of the operating tool itself are nearly parallel. FIG. However, the positional relationship between the
[装置の構成]
本実施形態では、図13(a)のテーブルに表される規則に基づく判定結果に応じて、タッチ判定の基準を使い分ける。以下では、本実施形態に係る情報処理装置100の構成を説明する。図3(a)は、本実施形態に係る情報処理装置100を含むテーブルトップインタフェースのハードウェア構成図である。中央処理ユニット(CPU)300は、RAM302をワークメモリとして、ROM301や記憶装置303に格納されたOSやプログラムを実行して、各種処理の演算や論理判断などを行い、システムバス304に接続された各構成を制御する。記憶装置303は、ハードディスクドライブや各種インタフェースによって接続された外部記憶装置などであり、実施形態の操作認識処理にかかるプログラムや各種データを記憶する。距離画像センサ102は、CPU300の制御に従い、アイテムが表示されるテーブルとアイテムを操作する操作者の手を含む、操作面101上の空間の距離画像を撮像し、撮影した距離画像をシステムバス304に出力する。本実施形態では、距離画像の取得方法として、環境光やテーブル面の表示の影響が小さいTOF方式を基に説明するが、用途に応じて視差方式や赤外パターン投影方式などを利用することも可能である。プロジェクタ104は、CPU300の制御に従い、テーブルに操作対象となる画像アイテムを投影表示する。
[Device configuration]
In the present embodiment, different touch determination criteria are used according to the determination results based on the rules shown in the table of FIG. Below, the structure of the
なお上述したシステムでは、可視光カメラ103、距離画像センサ102、プロジェクタ104はそれぞれ情報処理装置100に入出力用のインタフェースを介して接続された外部装置であり、情報処理装置100と協同して情報処理システムを構成する。ただし、これらのデバイスは、情報処理装置100に一体化されていても構わない。
In the above-described system, the visible
図3(b)は、情報処理装置100のソフトウェアの構成を示すブロック図の一例である。これらの各機能部は、CPU300が、ROM301に格納されたプログラムをRAM302に展開し、後述する各フローチャートに従った処理を実行することで実現されている。そして、各処理の実行結果をRAM302に保持する。また例えば、CPU300を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
FIG. 3B is an example of a block diagram illustrating a software configuration of the
画像取得部310は、距離画像センサ102によって撮像された距離画像を、入力画像として一定時間毎に取得し、RAM302に随時保持する。なお画像取得部310が取得し、各機能部とやりとりする対象は、実際には画像データに対応する信号であるが、本明細書では単に「距離画像を取得する」あるいは「入力画像を取得する」として説明する。
The
手領域抽出部311は、画像取得部310によって取得された入力画像の各画素について、閾値判定やノイズ低減処理を施し、距離画像中の手領域を抽出する。手領域とは、入力された距離画像のうち、操作者が操作体として利用する手が写っている領域である。位置検出部312は、手領域抽出部311によって抽出された手領域の輪郭情報に基づき、操作者の手の指先位置を検出し、指示位置として座標値を特定する。本実施形態では手領域の輪郭のうち画像端111から最も遠くに存在する画素を示す座標を、指示位置として検出する。この際、本実施形態の位置検出部312は、手領域と画像端111が交差する部分の中心を、手領域の侵入位置として検出する。
The hand
状態取得部313は、距離画像センサ102が、操作面101上の空間に存在する操作体を撮像した距離画像から、操作体の距離画像センサ102に対する状態を表す情報を取得する。本実施形態では、操作面101上の空間における操作体自体の方向(第1の方向)を表す情報と、撮像方向(第2の方向)を表す情報を取得する。操作面101上の空間における操作体自体の方向は、位置検出部312が検出した侵入位置と指示位置に基づいて特定される直線の方向とし、具体的には、侵入位置を始点とし指示位置を終点とするベクトル情報(第1ベクトル)を取得する。また本実施形態では、撮像方向を表す情報として、距離画像センサ102の撮像位置と検出された指示位置とに基づいて特定される直線の方向を表す情報を取得する。具体的には、撮像位置を始点とし指示位置を終点とするベクトル情報(第2ベクトル)を取得する。第2ベクトルは、距離画像センサ102の撮像位置として定義された位置から、位置検出部312が検出した指示位置を見る方向を示す。なお、距離画像センサ102が、被写体表面で反射された光を1つ以上のミラーなどを介した撮像系を持つ場合、図13(a)に示した規則が適用可能なように、ミラーの位置や数に応じた適切な撮像位置が設定される必要がある。少なくとも、1つ以上のミラーのうち最も被写体に近い位置に設置されたミラーから指示位置を見た方向と、操作体自体の方向が平行に近い場合、図2(b)及び図13(c)と同様の課題が発生し得る。本実施形態に係るタッチ判定の基準の制御を加えることで、課題を解決するためには、少なくとも最も被写体に近い位置に設置されたミラーに基づいて撮像位置が決定される必要がある。
The
なお、本実施形態では、撮像範囲における操作体の状態を表す情報として、上述した2つの方向を表すベクトルの情報を扱うが、図13(a)及び(b)で示した状態を区別するために利用可能な情報であれば、これに限らない。例えば、方向を表す情報として、ベクトルではなく直線を定義する2点の座標や式、所定の座標軸に対する具体的な回転角度の情報を扱っても良い。また例えば、手領域の慣性主軸に基づいて、操作体自体の方向を表す情報を得てもよい。その他、操作体と距離画像センサ102の位置関係を予め定義された位置関係のパターンに分類した結果を表す情報や、各々の位置を表す座標情報そのものを扱っても良い。
In the present embodiment, the information on the vector representing the two directions described above is handled as the information representing the state of the operating tool in the imaging range, but the state shown in FIGS. 13A and 13B is distinguished. However, the information is not limited to this as long as it can be used. For example, as the information indicating the direction, coordinates of two points that define a straight line instead of a vector, an expression, and information on a specific rotation angle with respect to a predetermined coordinate axis may be handled. Further, for example, information representing the direction of the operating body itself may be obtained based on the inertial principal axis of the hand region. In addition, information indicating the result of classifying the positional relationship between the operating tool and the
判定部314は、状態取得部313が取得した操作体の距離画像センサ102に対する状態を表す情報に関連して、操作体のうちタッチ操作の入力に用いられる部分が距離画像センサ102の死角に入っているとみなされるかを判定する。本実施形態では、操作体のうちタッチ操作の入力に用いられる部分とは、操作体の端部である。判定部314は、操作体の端部が、同一の操作体の端部以外の他の部分によって生じる距離画像センサ102の死角に入っているとみなされるかを判定する。操作体が操作者の手の場合、判定部314は、指先が図2(a)に示したように、手の甲など指先以外の部分によって生じる距離画像差センサ102の死角に入っているとみなされるかを判定する。判定部314の具体的な処理は、図5のフローチャートを参照して後述する。
The
基準決定部315は、認識部316によって実行される、操作体の端部が、操作面101にタッチ操作を入力中であるか(タッチ状態であるか)を判定するタッチ判定処理に用いられる基準を決定する。本実施形態では、判定部314によって指先が距離画像センサ102の死角に入っているとみなされると判定された場合は、指先が距離画像センサ102の死角に入っているとみなされないと判定された場合とは異なる基準を用いて、タッチ判定を行う。タッチ判定に用いられる基準とは、指示位置の高さ(z座標)と比較する閾値である。本実施形態では、操作体の端部が操作面101にタッチしたかを判定する場合に用いる閾値はタッチ閾値、操作面101にタッチしていた操作体の端部が操作面101から離れたかを判定する場合に用いる閾値はリリース閾値と呼ぶ。基準決定部315は、操作体の端部が距離画像センサ102の死角に入っているとみなされると判定された場合に利用される基準として、操作体の端部が死角に入っているとみなされない場合に利用される基準よりも大きい値による閾値を決定する。
The
認識部316は、タッチ判定処理によってタッチ状態であることが特定された操作体により操作面101に入力されるタッチ操作を認識し、タッチ操作を示すタッチイベント情報が表示制御部317など入力に応答する機能部やアプリケーションに通知する。本実施形態ではタッチ状態の指示位置の軌跡が満たす条件に応じて、少なくとも、「TOUCH」、「MOVE」、「RELEASE」の3つのイベントが認識部316によって発行され、表示制御部317に通知される。「TOUCH」は、タッチ状態ではなかった操作体によるタッチが開始されたことを示し、「MOVE」は、操作体がタッチ状態を維持したまま移動したことを示し、「RELEASE」は、タッチ状態にあった操作体が非タッチ状態になった事を示す。なお、本実施形態で説明するタッチイベントは一例であり、情報処理装置100の用途や利用されるセンサなどに応じて通知するタッチイベントは追加あるいは削減することができる。
The recognizing
表示制御部317は、ROM301や記憶装置303に記憶された情報を用いて、本実施形態の表示部であるプロジェクタ104によって操作面101上に投影させる画像を生成する。例えば、認識部316の認識結果に基づいて、表示部に表示させている画像の少なくとも一部に対して、移動や拡大/縮小、回転などの変形を施し、表示部に出力させる。出力された画像は、プロジェクタ104によって、操作面101上に投影表示される。投影される画像は、複数のアイテムを含み、アイテム毎に移動や拡大/縮小、回転が可能であってもよく、画像全体が移動や拡大/縮小、回転の対象であってもよい。
The
[タッチ操作認識処理の流れ]
図4のフローチャートは、本実施形態に係る情報処理装置100が実行するタッチ操作認識処理の流れを表す。本実施形態では、情報処理装置100が起動されたことに応じて図4のフローチャートの処理が開始されるとする。
[Touch operation recognition process flow]
The flowchart in FIG. 4 represents the flow of touch operation recognition processing executed by the
ステップS400において、表示制御部317は、ROM301などから操作面101上に表示する画像の情報を取得し、プロジェクタ104に出力する。プロジェクタ104は、出力された情報に基づいて、操作面101上に画像を投影する。ここで投影される画像は例えば、操作メニューが一覧された初期画面や、情報処理装置100が前回操作された時の最終状態を表す画面などである。ステップS401において、画像取得部310は、RAM302のワーク領域を初期化し、距離画像センサ102によって撮像された距離画像を、入力画像として取得し、RAM302に保持する。
In step S <b> 400, the
ステップS402において、手領域抽出部311は、入力画像から、1以上の手領域を抽出し、その情報をRAM302に保持する。本実施形態では、入力画像の各画素が示すz方向の座標値に対して閾値処理を行うことで、操作面101よりも高さが高い座標値を持つ領域を、手領域として抽出する。ただし、抽出方法はこれに限られず、例えば別途撮像された可視光画像のRGB値を解析し、肌色領域に対応する部分を抽出する等してもよい。
In step S <b> 402, the hand
ステップS403において、位置検出部312は、RAM302に保持された手領域の情報を参照することで、ステップS402において抽出された各手領域について、画像端111から最も遠い点を指示位置として特定する。さらに、画像端111と手領域109との交差部分の中央に相当する1点を、侵入位置として特定する。そして、それぞれの入力画像内での位置情報(u,v)をRAM302に保持する。ステップS404において、位置検出部312は、ステップS403で特定した指示位置及び侵入位置の位置情報(u,v)を、実世界での位置情報(x,y,z)に変換する。
In step S <b> 403, the
ステップS405では、判定部314及び基準決定部315により、タッチ判定に用いる基準を決定する処理が実行される。本実施形態の場合は、予めROM301に保持されている複数パターンのタッチ閾値およびリリース閾値のうち、いずれを用いるかの選択が行われる。ステップS405の処理の詳細は図5のフローチャートを参照して後述する。
In step S405, the
ステップS406において、認識部316は、決定された基準に従ってタッチ判定を行う。すなわち、指示位置の高さ(z座標)が、決定されたタッチ閾値より小さいかを判定する。指示位置の高さがタッチ閾値より小さいと判定された場合(ステップS406でYes)には、ステップS407に進む。指示位置の高さがタッチ閾値以上と判定された場合(ステップS406でNo)には、ステップS414に進む。ただし、指示位置の高さがタッチ閾値に一致する場合をいずれの判定結果に含むかは、システムの設置状況などに合わせて適宜選択されればよい。
In step S406, the
ステップS407では、認識部316が、RAM302に保持された情報を参照し、直前までの処理において、既に処理中の指示位置がタッチ状態に遷移していたかを判定する。既にタッチ状態に遷移してはいなかったと判定された場合(ステップS407でNo)、ステップS408に進む。既にタッチ状態に遷移していたと判定された場合(ステップS407でYes)、ステップS411に進む。
In step S407, the recognizing
ステップS408では、認識部316が、処理対象となっている指示位置の状態をタッチ状態に遷移させ、それを示す情報をRAM302に保持させる。ステップ409では、指示位置の位置情報(x,y,z)を、タッチ状態での指示位置の移動の有無を判定するための基準位置としてRAM302に保持する。なおこのとき、ステップS407で利用されたタッチ判定の基準毎に、移動の有無を判定する基準位置を保持する。本実施形態では、後述するようにタッチ判定の基準がデフォルト値である第1のタッチ閾値である場合と、第1の閾値より大きい第2の閾値である場合がある。従って、移動の有無を判定する基準位置は、最大で第1の閾値に関連付けられた位置情報と、第2の閾値に関連付けられた位置情報の2つが保持される。ステップS410では、CPU300が、タッチイベント「TOUCH」を生成し、操作の応答に関連する各機能部に通知する。本実施形態では、少なくとも表示制御部317に対して通知を行う。
In step S408, the recognizing
一方、ステップS407において、既にタッチ状態に遷移していると判定された場合、ステップS411では、認識部316によって、指示位置の基準位置からの移動距離が所定の距離の閾値より大きいかが判定される。本実施形態では、所定の検出周期で繰り返し検出される指示位置について、直近の2回の検出の間に指示位置が移動した距離の大きさによって移動の有無を判定する。所定の距離の閾値は、指示位置の移動が、操作者が意図して指示位置を動かしたことによる移動の場合と、システムの検出誤差によるブレの場合を区別するために適切な大きさの値が設定される。ステップS411では、基準位置としてROM301に保持されている位置情報と、ステップS403で特定された最新の指示位置の位置情報との間の距離を求めることで、指示位置の移動距離を取得し、閾値と比較する。ただし、ステップS407の判定は、直前のステップS407の処理で利用されたタッチ判定の基準に関連付けられた基準位置を使って行われる。例えば、第1の閾値をタッチ判定の基準としてタッチ状態が検出されたフレームでは、第1の閾値に関連付けられた基準位置から最新の指示位置までの移動距離が所定の距離の閾値と比較される。指示位置の移動距離が所定の距離の閾値より大きいと判定された場合(ステップS411でYes)、ステップS412に進む。指示位置の移動距離が所定の距離の閾値以下であると判定された場合(ステップS411でNo)、ステップS417に進む。
On the other hand, if it is determined in step S407 that the state has already been changed to the touch state, in step S411, the
ステップS412では、認識部316が、移動の基準位置として保持されている位置情報を、ステップS403で特定された最新の指示位置の位置情報で更新する。つまり本実施形態では、所定の検出周期で繰り返し検出される指示位置について、直近の2回の検出の間に指示位置が移動した距離の大きさによって移動の有無を判定する。ステップS413では、認識部316が、タッチイベント「MOVE」を生成し、操作の応答に関連する各機能部に通知する。本実施形態では、少なくとも表示制御部317に対して通知を行う。
In step S412, the
ステップS414では、認識部316によって、指示位置の高さがリリース閾値より大きいかが判定される。リリース閾値は、指示位置が操作面から十分に離れたことを判定するための高さ(z座標の値)の閾値であって、指示位置の高さがリリース閾値より大きい場合、タッチ操作が終了されたと判定される。つまり情報処理装置100、検出した指示位置の高さがリリース閾値より大きくなったことをもって、操作者が明確に操作面から指を離したとみなす。本実施形態では、タッチ閾値とリリース閾値の値の大きさは異なり、リリース閾値はタッチ閾値よりも大きく設定されるとする。このような設定により、処理対象となっている指示位置がタッチ状態に遷移した後で、検出誤差などによる高さのブレがタッチ閾値を超えたり下回ったりすることがあっても、操作者が明確に操作面から指を離さない限り、継続してタッチ操作を認識可能となる。ただし、タッチ閾値とリリース閾値は同一の値を設定することも可能である。指示位置の高さがリリース閾値より大きいと判定された場合(ステップS414でYes)、ステップS415に進む。指示位置の高さがリリース閾値より以下であると判定された場合(ステップS414でNo)、ステップS417に進む。なお、指示位置の高さがリリース閾値に一致する場合をいずれの判定結果に含むかは、システムの設置状況などに合わせて適宜選択されればよい。
In step S414, the
ステップS415では、認識部316が、処理対象となっている指示位置の状態をリリース状態に遷移させ、それを示す情報をRAM302に保持させる。ステップS416では、認識部316が、タッチイベント「RELEASE」を生成し、操作の応答に関連する各機能部に通知する。本実施形態では、少なくとも表示制御部317に対して通知を行う。ステップS417では、表示制御部317によって、操作面に投影される画像が更新される。具体的には、通知されたタッチイベントに応じた表示画像が生成され、プロジェクタ104に出力される。ステップS418では、CPU300が、情報処理装置100の電源を切る等所定の終了操作が入力されたかを判定する。終了操作が入力されたと判定された場合(ステップS418でYes)は、情報処理装置100は全ての処理を終了する。終了操作が入力されてはいないと判定された場合(ステップS418でNo)は、ステップS401の処理へ戻り、新たに取得された距離画像を対象に処理が繰り返される。
In step S415, the recognizing
次に図5のフローチャートを参照して、ステップS405において実行されるタッチ判定基準の決定処理の流れを説明する。ステップS500において、判定部314は、検出された指示位置の高さが、閾値Hより大きいかを判定する。閾値Hとは、指示位置として特定された座標が、タッチ操作中の操作者の指先部分の位置を表しているか、あるいは、指先ではない他の部分(例えば、指の付け根)の位置を表している可能性が高いかを判定するために設けられた閾値である。指示位置として特定された座標がタッチ操作中の操作者の指先部分の位置を表す場合、指示位置の高さは操作面に極力近づいた状態にあることが想定される。それに対し、図2(a)及び(b)で課題として示したように、指先が死角に入ったことで指先ではない部分が手領域の中で侵入位置から最も遠い点として特定された場合、その高さは、その時点で指先が存在する高さよりも傾けられた指の長さ程度高くなる。閾値Hとは、このような2つの状況を識別するために設けられる高さの閾値であって、情報処理装置100の設置環境に合わせて予め適切な値が設定される。検出された指示位置の高さが、閾値Hより大きいと判定された場合(ステップS500でYes)、ステップS501に進む。ステップS501に進むのは、図2(a)及び(b)で示したような、指先が死角に入ってしまった状況であるか、あるいは、指先が正しく検出できているがその指先が閾値Hより高い位置に存在する場合である。検出された指示位置の高さが、閾値H以下であると判定された場合(ステップS500でNo)、ステップS507に進む。ステップS507に進むのは、図2(a)及び(b)で説明したような課題が発生していない可能性が高い場合である。ただし、指示位置の高さが閾値Hと一致する場合をいずれの判定結果に含むかは、システムの設置状況などに合わせて適宜選択されればよい。
Next, the flow of touch determination criterion determination processing executed in step S405 will be described with reference to the flowchart of FIG. In step S <b> 500, the
ステップS501では、判定部314が、操作面101上の空間での、タッチ操作に用いられる操作体自体の方向を表す情報として、ステップS403で特定された侵入位置から指示位置への方向を表す第1ベクトルを生成する。
In step S501, the
そしてステップS502では、判定部314が、距離画像センサ102から、操作体のタッチ操作に用いられる端部を見る方向を表す情報として、撮像位置からステップS403で特定された指示位置への方向を表す第2ベクトルを生成する。なお撮像位置とは、入力された距離画像を撮像した時点での、距離画像センサ102の視野となる範囲の基準を表す位置情報であり、実空間における2次元座標(x,y)として取得される。より詳細には、距離画像センサ102の撮像素子の中心に対応する位置をxy平面上で特定した値であることが好ましい。なお、第2のベクトルに関しては、撮像位置から操作体のうちタッチ操作に用いられる部分を見る方向を大凡表すことが可能であれば、指示位置の位置情報を使う以外の方法で特定されても構わない。例えば、手領域から手首や手の甲を抽出し、それらの位置を撮像位置から見る方向を第2ベクトルとして特定してもよい。人の手の構造上、手首や手の甲と指の位置関係は固定的であり、位置も近いため、手首や手の甲の位置を使った場合も、撮像位置から操作体を見る方向として、指示位置を使った場合に近い方向の情報が得られる。
In step S <b> 502, the
ステップS503では、判定部314が、ステップS501で生成された第1ベクトルと、ステップS502で生成された第2ベクトルとの角度差を取得する。本実施形態では、xy平面内に生じる角度(z軸周りの回転角度)の差を取得する。ステップS504では、判定部314が、ステップS503で取得された角度差が、閾値Dより小さいかを判定する。閾値Dとは、所定の角度の閾値であって、距離画像センサ102の視野の中で、操作者の腕自体が、距離画像センサ102の死角を作る要因となり得るかを判定するための基準である。
In step S503, the
本実施形態では、第1ベクトルと第2ベクトルの角度差が閾値Dより小さきとき、すなわち第1ベクトルと第2ベクトルが基準となる角度より平行状態に近い場合は、操作者の指先が距離画像センサ102の死角に入っている可能性が高いと判定する。図13(c)に示した通り、第1ベクトルと第2ベクトルが平行に近い状態とは、撮像位置から操作者の手の指先を見た場合に、操作者の腕が、撮像位置と指先の間に存在する可能性が高い状態である。さらに人の腕及び腕は関節を有しており、操作者が操作面に接触させる目的で指先の高さを下げる場合、腕の中で指先以外の部分(例えば、手の甲や手首)は相対的に高くなる。従って、上方に設置された距離画像センサ102から見れば、操作者が指先で操作面をタッチしようとする姿勢は、指先との間に障害物が生じやすい姿勢である。従って本実施形態では、上述した2つのベクトルと、角度の閾値を利用して、操作者の指先が距離画像センサ102の死角に入っている可能性が高い状態を検出する。取得された角度差が、閾値Dより小さいと判定された場合(ステップS504でYes)、ステップS505に進む。取得された角度差が、閾値D以上である場合(ステップS504でNo)、ステップS507に進む。ただし、取得した角度差が閾値Dと一致する場合をいずれの判定結果に含むかは、システムの設置状況などに合わせて適宜選択されればよい。
In the present embodiment, when the angle difference between the first vector and the second vector is smaller than the threshold D, that is, when the first vector and the second vector are closer to a parallel state than the reference angle, the fingertip of the operator is a distance image. It is determined that there is a high possibility that the
ステップS505では、表示制御部317が、操作体の端部が死角に入っていることを操作者に向けて通知する。具体的には、操作体が操作者の手106である場合は指先がセンサの死角内に存在すること、あるいはその可能性が高いことを、例えば投影されている画像中のアラート等によって表示する。
In step S505, the
ここで通知を行うのは、操作者に姿勢の変更を促すためである。図2(b)で示すように、指先が死角201に入ってしまっている場合、手領域のエッジを構成する画素のうち侵入位置112からの距離が同程度の画素が複数存在してしまう。そのため、フレーム毎に侵入位置112が変わることが有り得る。また、タッチ状態が継続された状態でも、手の姿勢に変化があれば高さに変動が起こるなど、指示位置202を用いる場合は指先位置200を用いる場合に比べてタッチ判定処理の精度が不安定となってしまう。そこで、操作者に姿勢の変更を促し、次フレーム以降の距離画像から指先の検出を可能とすれば、タッチ判定を安定的に行えるようになる。
The notification is performed here to prompt the operator to change the posture. As shown in FIG. 2B, when the fingertip has entered the
ステップS506では、基準決定部315が、タッチ判定の基準を変更する。本実施形態では、予めROM301あるいは記憶装置303に、タッチ判定の基準の選択肢となる情報が保持され、RAM302に読み出されている。具体的には、タッチ閾値とリリース閾値を組み合わせた情報が、デフォルト値として設定される組み合わせを含めて少なくとも複数保持される。本実施形態の場合、デフォルト値では、指示位置が操作者の手のうち指先の位置に対応している場合に用いられるべきタッチ判定の閾値が設定される。すなわち、指先の高さが、指先が操作面に接触しているとみなさる程度かを判定するための第1のタッチ閾値と、指の高さが、指先が操作面から十分に離れたとみなされ程度かを判定する第1のリリース閾値が、タッチ判定の基準のデフォルト値となる。ステップS506では、複数のタッチ閾値とリリース閾値の組み合わせのうち、検出された指示位置が操作者の指の付け根付近に対応している場合に用いられるべき閾値の組み合わせが、タッチ判定の基準として設定される。すなわち、指先の高さが第1のタッチ閾値及び第1のリリース閾値の高さに存在するときに、その指の付け根付近が存在する可能性が高い高さに、それぞれ第2のタッチ閾値及び第2のリリース閾値が設定され、タッチ判定の基準とされる。第2のタッチ閾値及び第2のリリース閾値の値は、予め実験値や統計的解析の結果等に基づいて適切な値が設定されればよい。なお、第2のタッチ閾値及び第2のリリース閾値を設定するのは、指の付け根付近の高さでなくてもよい。例えば、手の甲の中心であったり、手首の中央付近であったりしてもよい。
In step S506, the
一方、ステップS500において、指示位置の高さが閾値H以下であった場合、本実施形態では、ステップS507において、基準決定部315が、タッチ判定の基準としてデフォルト値を設定する。本実施形態では、複数のタッチ閾値とリリース閾値の組み合わせのうち、上述した第1のタッチ閾値と第1のリリース閾値の組み合わせが採用される。
On the other hand, in step S500, when the height of the designated position is equal to or less than the threshold value H, in this embodiment, in step S507, the
ステップS506あるいはステップS507において、タッチ判定の基準が設定されたら、図4のフローチャートの処理に戻り、ステップS406以降の処理が実行される。以上が、本実施形態におけるタッチ操作認識処理の一連の流れである。本実施形態では、検出された指示位置の高さに関する判定処理(ステップS500)と、距離画像センサ102の視野内での2つのベクトルの方向に関する判定処理(ステップS504)に基づき、タッチ判定の基準を切り替える。上記2つの判定は、操作体の端部が、操作体自体によって生じる距離画像センサ102の死角に入っているとみなされるかを判定する処理に相当する。
If the reference for touch determination is set in step S506 or step S507, the process returns to the process of the flowchart of FIG. 4 and the processes after step S406 are executed. The above is a series of flow of the touch operation recognition process in this embodiment. In the present embodiment, the reference for touch determination is based on the determination process regarding the height of the detected indication position (step S500) and the determination process regarding the direction of two vectors within the field of view of the distance image sensor 102 (step S504). Switch. The above two determinations correspond to processing for determining whether the end of the operating tool is considered to be within the blind spot of the
<操作例1>
次に、図1(a)のテーブルトップシステムが操作されている状況の例を挙げて、情報処理装置100による具体的な処理とその作用を説明する。なお、以下の操作例において、閾値Hはデフォルト値のタッチ閾値(第1のタッチ閾値)と一致するとする。第1のタッチ閾値はT1、第2のタッチ閾値はT2と表記する。なお、各変数は例えば、T1=20mm、T2=100mmのように設定される。リリース閾値は各タッチ閾値よりも10mm大きい値が設定される。また、ステップS504の判定処理に用いる角度の閾値Dは30度であるとする。
<Operation example 1>
Next, an example of a situation in which the table top system of FIG. In the following operation example, it is assumed that the threshold value H matches the default touch threshold value (first touch threshold value). The first touch threshold is denoted as T1, and the second touch threshold is denoted as T2. Each variable is set such that T1 = 20 mm and T2 = 100 mm, for example. The release threshold is set to a value that is 10 mm larger than each touch threshold. Further, it is assumed that the threshold value D of the angle used for the determination process in step S504 is 30 degrees.
まず、操作例1として、図6及び図7を参照して、操作者が操作面をタッチしたまま指をスライド移動させる状況を説明する。図6(a)及び(b)は、操作者が右手の人差指で操作面101上をタッチ中であって、操作者の指先が距離画像センサ102によって撮像可能である状況を表す。図7(a)及び(b)は、図6(a)及び(b)の状況の後、操作者が右手の人差指で操作面101上をタッチしたままx軸の負方向に指をスライド移動させたことで、操作者の指先が距離画像センサ102の死角に入った状況を表す。なお、図6(a)及び図7(a)は、z軸の負方向に沿ってxy平面を見た状態を模式的に表す。破線600は、xy平面において、距離画像中の画像端111に対応する位置を示す。図6(b)及び図7(b)にx軸の正方向に沿ってzy平面を見た状態を模式的に表す。また図7(a)及び(b)において、領域700は、距離画像センサ102の死角となった部分を表す。
First, as an operation example 1, a situation where the operator slides a finger while touching the operation surface will be described with reference to FIGS. 6 and 7. 6A and 6B show a situation where the operator is touching the
図6(a)の場合、距離画像から抽出された手領域に関し、ステップS403及びステップS404の処理により、手106の侵入位置として、手106と破線106が交差する部分の中央にあたるp1(x11,y11)が特定される。また指示位置としては、手領域のうち侵入位置p1から最も遠い点であるp2(x21,y21,z21)が特定される。また、p3(x31,y31)は、距離画像センサ102の撮像位置として予め保持されている位置情報であるとする。
In the case of FIG. 6A, regarding the hand region extracted from the distance image, p1 (x11, x11, which corresponds to the center of the portion where the
図6(b)に示すように、指示位置p2の高さz2は、閾値H=T1である高さ601より小さい(ステップS500でNo)。そこで、タッチ判定の基準は、デフォルト値である第1のタッチ閾値と第1のリリース閾値となる。指示位置の高さz2がタッチ閾値T1よりも小さい(ステップS406でYes)ため、図6(a)及び(b)の状態は、指示位置p2はタッチ状態であると判定される。この時点までにタッチ状態に遷移していない場合は(ステップS407でNo)、指示位置p2をタッチ状態に遷移させ(ステップS408)。p2(x21,y21,z21)が、移動操作の基準位置として保持され(ステップS409)、タッチイベント「TOUCH」が表示制御部317に通知され(ステップS410)、投影画像の制御等が実行される(ステップS417)。
As shown in FIG. 6B, the height z2 of the designated position p2 is smaller than the
その後距離画像が取得された時、図7(a)のように状況に変化があったとする。操作者の手106が動かされた後の図7(a)の場合、ステップS403及びステップS404の処理により、手106の侵入位置として、手106と破線106が交差する部分の中央にあたるp4(x12,y12)が特定される。図7(b)の状態では、手自体(操作体自体)の一部によって、距離画像センサ102の視野が遮られたことで死角700が生じている。このとき、距離画像からは図2(b)で示したように、伸ばされた指が検出できないため、手領域のうち侵入位置p4から最も遠い点であるp5(x22,y22,z22)が指示位置として特定される。p3(x31,y31)は、固定されているため変化しない。
Then, when the distance image is acquired, it is assumed that the situation has changed as shown in FIG. In the case of FIG. 7A after the operator's
図7(b)に示すように、このとき、指示位置p5の高さz22は、閾値H=T1である高さ601よりも大きい(ステップS500でYes)。従って本実施形態では、侵入位置p4が始点で指示位置p5が終点の第1のベクトルV1と、撮像位置p3が始点で指示位置p5が終点のベクトルV2を生成する(ステップS501、ステップS502)。生成された2つのベクトルの角度差は18°であるとする(ステップS503)。取得された角度差18°が閾値D=30°より小さい(ステップS504でYes)。従って、本実施形態では、指の端部が距離画像センサ102の死角に入っていることが、操作者に通知される(ステップS505)。例えば、“指先がセンサから見えません”等の文字を投影画像に加えたり、手に赤色のオブジェクトを重ねたりして投影する。そして、タッチ判定の基準を変更する(ステップS506)。本実施形態では、第2のタッチ閾値(閾値T2)と第2のリリース閾値が設定される(ステップS506)。
As shown in FIG. 7B, at this time, the height z22 of the designated position p5 is larger than the
指示位置p5の高さz22はタッチ判定の閾値T2である高さ701より小さい(ステップS406でYes)。既にタッチ状態であるので(ステップS407でYes)、ステップS411では基準位置から今回の指示位置p5までの距離とムーブ判定の閾値Mとの比較が行われる。ただし、この時点で保持されている基準位置は、タッチ判定の基準として閾値T1が用いられた時に保持されたp2の情報だけであり、直前に用いられた閾値T2に関連付けられた基準位置は保持されていない。p2からp5までの距離は、ユーザの指先が移動した距離とみなすことはできない。本実施形態では、このような場合には移動距離を算出しない。従って、図7の状況では、閾値Mより大きい移動は生じていないということからステップS411の判定結果はNoとなる。この結果、「MOVE」イベントは通知されず、処理は終了する。情報処理装置100に操作終了指示が入力されるまで、上記のような処理が繰り返し実行される。
The height z22 of the designated position p5 is smaller than the
本実施形態では、図6及び図7の例で示したように、指先が検出できている状態で開始されたタッチ操作中に指先が死角に入ってしまった場合には、タッチ状態であることの認識は継続するが、操作としてムーブが行われたか否かの判定は回避する。これは、操作体の端部が死角に入った場合にはステップS505でユーザに対してそれを通知するので、それを受けたユーザが姿勢を変えるなどの対策行うことを前提としているからである。このような前提において、本実施形態では、図7で示したように指先ではない位置に指示位置が検出される状態が、数フレーム分発生したとしても、その後には修正され、再び指先が検出されるようになる可能性が高いと考える。そのため、指先が死角に入ってしまった場合でも、タッチ状態であることの認識は継続することで、ユーザに操作のやり直し強いることなく、次フレーム以降で再び指先の検出が可能となった場合に、操作の続きを認識可能とする。 In the present embodiment, as shown in the examples of FIGS. 6 and 7, when the fingertip enters the blind spot during the touch operation started with the fingertip being detected, the touch state is set. However, the determination of whether or not a move has been performed as an operation is avoided. This is because when the end of the operating body enters the blind spot, the user is notified of this in step S505, and it is assumed that the user who has received it takes measures such as changing the posture. . Under this premise, in this embodiment, even if several frames of the state where the indicated position is detected at a position other than the fingertip as shown in FIG. 7 occurs, it is corrected after that and the fingertip is detected again. I think that there is a high possibility of becoming. Therefore, even if the fingertip has entered the blind spot, the recognition of the touch state continues, so that the fingertip can be detected again in the next frame or later without forcing the user to redo the operation. The continuation of the operation can be recognized.
操作例1で示したように本実施形態では、操作体の端部が、操作体自体によって生じる距離画像センサ102の死角に入った場合、検出される指示位置の高さが、端部の実際の高さより高くなることを利用し、端部が死角に入ったとみなされるか判定する。また、操作体の端部が、操作体自体によって生じる距離画像センサ102の死角に入ったかを判定するために、操作体自体の方向に対応する第1ベクトルと、撮像位置から操作体を見る方向に対応する第2ベクトルを用いる。本実施形態では、検出された指示位置の高さが所定の高さよりも高く、第1ベクトルと第2ベクトルの角度差が所定の角度の閾値より小さい場合は、操作体の端部が、操作体自体によって生じる距離画像センサ102の死角に入ったと判定している。
As shown in the operation example 1, in this embodiment, when the end of the operating body enters the blind spot of the
なお、図6(a)に示す手106が、xy平面における位置情報はそのまま、指先に対応する指示位置p2の高さz21が、閾値H=T1である高さ601よりも大きくなる位置に存在した場合、実行される処理は以下のようになる。なお図6(a)に示す手106の高さが高い場合とは、指先は正確に検出されているが、ステップS500の判定結果がYesとなる場合の例である。ステップS500の判定結果がYesとなるため、p1からp2に向かう方向の第1ベクトルV1が生成され(ステップS501)、p3からp2に向かう方向の第2ベクトルV2が生成される(ステップS502)。V1とV2の角度差は35度と取得されるとする(ステップS503)。角度差が閾値Dよりも大きいため(ステップS504でNo)、タッチ判定の基準としてはデフォルトの値が設定される(ステップS507)。このように本実施形態では、検出された指示位置の高さが閾値Hより高い場合でも、操作体の方向に対応するV1と、撮像位置から操作体を見る方向に対応するV2の角度差が十分に大きい場合は、距離画像センサ102は操作体の端部を検出可能とみなされる。従って、調整しない初期状態の指先の高さに関する閾値を使ったタッチ判定が実行される。本実施形態では特に、第2ベクトルV2は、撮像位置を始点とし指示位置を終点とするベクトルを生成する。
Note that the
上述したように、本実施形態によれば、タッチ操作に用いられている操作体の端部が、距離画像センサ102の死角に入った場合でも、タッチ状態の認識を継続可能となる。また、タッチ状態の認識を途切れさせることなく操作体の端部が距離画像センサ102の死角に入ったことを操作者に通知することで、操作者がより安定的なタッチ判定が可能な姿勢を取るように促すことができる。この際ユーザは、入力を改めてやり直すことなく、姿勢を変えれば入力中の操作を継続することができるようになる。このように本実施形態によれば、タッチセンサを用いないシステムでのタッチ操作の認識において操作性が向上する。
As described above, according to the present embodiment, even when the end of the operating body used for the touch operation enters the blind spot of the
[変形例1]
ここまで第1の実施形態では、情報処理装置100が認識可能なタッチ操作は、いわゆるシングルタッチ操作と呼ばれる、1つの指示位置の動きに基づいて認識される操作であると説明していた。しかしながら本実施形態では、複数の操作体の端部によって複数の指示位置が入力され、いわゆるマルチタッチ操作が入力されるシステムにも適用可能である。以下では変形例1として、図1(a)と同じテーブルトップシステムにおいて、マルチタッチ操作を認識する場合の情報処理装置100について説明する。
[Modification 1]
So far, in the first embodiment, the touch operation that can be recognized by the
変形例1に係る情報処理装置100のハードウェア構成、及び機能構成は、図3(a)及び(b)で説明した第1の実施形態に準じる。ただし、変形例1の認識部316は、複数の指示位置がタッチ状態と判定された場合には、複数の指示位置の間の距離や相対移動の軌跡に基づいて、マルチタッチ操作のコマンドを認識し、認識結果に応じたタッチイベントを生成する。例えば、タッチ状態の複数の指示位置の間の距離が拡大/縮小した場合は、投影されているアイテムを拡大/縮小させるマルチタッチ操作として認識する。また例えば、タッチ状態にある複数の指示位置が相対的に回転した場合、その回転量に応じて投影されているアイテムを回転させるマルチタッチとして認識する。以上は一例であり、情報処理装置100が認識するマルチタッチ操作はこれに限らない。
The hardware configuration and functional configuration of the
変形例1の場合も、情報処理装置100は、図4のフローチャートに沿って、タッチ操作の認識処理を実行する。ステップS402において、手領域抽出部311により複数の手領域が検出された場合、ステップS403では各手領域について指示位置及び侵入位置を特定し、ステップS405では、基準決定部315が、各手領域についてタッチ判定の基準を定める。そして変形例1の場合は、認識部316が、ステップS406でYesと判定される指示位置の数をカウントし、複数の指示位置が同時にタッチ状態に遷移したかの判定を行う。複数の指示位置が同時にタッチ状態に遷移してはいない場合、図4のフローチャートのステップS408の処理が実行される。複数の指示位置が同時にタッチ状態に遷移した場合、マルチタッチ状態であるとして、マルチタッチ操作の認識処理を実行する。なお、タッチ状態である指示位置の数をカウントし、タッチ状態の指示位置が複数ある場合、マルチタッチ状態であるとして、マルチタッチ操作の認識処理を実行してもよい。マルチタッチ操作の認識処理では、上述した拡大/縮小操作や回転操作が認識される。ここでの認識処理は公知の技術であり、本願発明の主題ではないため、説明は省略する。
Also in the case of the modification 1, the
<操作例2>
操作例2として、図1(a)のテーブルトップシステムが、複数の操作者の手(複数の操作体)によって同時に操作されている状況の例を挙げて、情報処理装置100による具体的な処理とその作用を説明する。ただし、図6及び図7で説明した操作例1と共通する部分は同じ符番を振り、説明は適宜省略する。図8(a)及び(b)は、向かい合う2人の操作者がそれぞれの右手(手800及び手801)でタッチ入力を行っている状態を表す。このとき、いずれの指先も操作面100に接触しており、2人で1つのマルチタッチ操作を入力している状況であるが、手800の指先は、死角700に入ってしまっている。なお、マルチタッチ操作は1人の操作者の両手で入力されても構わない。
<Operation example 2>
As an operation example 2, an example of a situation in which the table top system of FIG. 1A is simultaneously operated by a plurality of operator's hands (a plurality of operation bodies) will be given, and specific processing by the
操作例2の場合、情報処理装置100は、取得した距離画像から2つの手領域を抽出し、ステップS403及びステップS404において、各手領域について侵入位置と指示位置を特定し、位置情報を得る。手800については、侵入位置p1(x1,y1)と指示位置p2(x2,y2,z2)が特定される。手801については、侵入位置p4(x4,y4)と指示位置p5(x5,y5,z5)が特定される。なお、操作例2においても、撮像位置p3(x3,y3)は固定されている。
In the case of the operation example 2, the
ステップS405の処理では、まず、手800に対応する手領域に関してタッチ判定の基準を決定する処理が実行される。指示位置p2の高さz2は、閾値T1の高さ601よりも高い(ステップS500でYes)。図8(a)の場合、侵入位置p1から指示位置p2までの方向を表す第1ベクトルV1と、撮像位置p3から指示位置p2に向かう方向を表す第2ベクトルV2の角度差は、19度であり、閾値Dよりも小さい(ステップS504でYes)。従って、指先が死角にあることがユーザに通知され(ステップS505)、タッチ判定の基準が第2のタッチ閾値と第2のリリース閾値に変更される(ステップS506)。一方、手801に対応する手領域に関して、指示位置p5の高さz5は、閾値T1の高さ601よりも小さい(ステップS500でNo)。従って、タッチ判定の基準はデフォルトの値である第1のタッチ閾値と第1のリリース閾値が設定される(ステップS507)。
In the process of step S405, first, a process of determining a reference for touch determination regarding the hand region corresponding to the
以上のようにステップS405の処理が各手領域について実行され、タッチ判定の基準が設定された結果、指示位置p2及び指示位置p5は、いずれもタッチ状態にあると判定される(ステップS406でYes)。変形例1では、タッチ状態の指示位置が複数であることからマルチタッチ操作の認識処理が実行される。 As described above, the process of step S405 is executed for each hand region, and as a result of setting the reference for touch determination, it is determined that both the indicated position p2 and the indicated position p5 are in the touch state (Yes in step S406). ). In Modification 1, since there are a plurality of touched instruction positions, multi-touch operation recognition processing is executed.
上述したように、変形例1によれば、マルチタッチ操作に用いられている複数の操作体のうち少なくとも1つについて、端部が距離画像センサ102の死角に入って検出されない場合でも、マルチタッチ操作の認識が継続可能となる。更に、特定の操作体の端部が距離画像センサ102の死角に入ったことを操作者に通知することで、操作者がより安定的なタッチ判定が可能な姿勢を取るように促すことができる。
As described above, according to the first modification, even when at least one of the plurality of operation objects used for the multi-touch operation is not detected because the end portion enters the blind spot of the
[変形例2]
さらに、操作体の端部が距離画像センサ102の死角に入ったか否かを判定する処理の精度を上げるために、判定処理を加える変形例を説明する。まず、変形例2では、操作体が手であることを想定し、手の甲の中心位置を特定し、さらに手の甲の中心位置の検出された指示位置との距離の大きさに基づいて、指先が距離画像センサ102の死角に入ったか否かの判定を行う。変形例2では、手領域を抽出した際、慣性主軸に直交する方向を幅として幅の大きさが最も大きい部分を特定し、その幅の中点を手の甲の中心位置とする。そして、手の甲の中心位置を中心とする、所定の半径Rの円内の範囲に、検出された指示位置が含まれる場合は、指先が距離画像センサ102の死角に入っているとみなす。これは、指先が死角に入っている場合には、図2(b)に示したように、検出される指示位置は指の付け根付近に相当し、指先が検出される場合に比較すれば、手の甲の中心に近い範囲で検出されることが多いことを利用する判定方法である。
[Modification 2]
Furthermore, a modified example in which a determination process is added in order to increase the accuracy of the process of determining whether or not the end of the operating body has entered the blind spot of the
図9(a)は、操作面上の空間に差し出された手を、z軸の負方向に沿ってxy平面を見た状態を模式的に表す。図9(a)において、手900は、死角が生じておらず、全体が距離画像センサ102によって撮像可能な状態にある。手900については、距離画像から抽出され手領域のうち、侵入位置901から最も遠い点を特定する処理に基づき、指示位置902の3次元位置情報が取得される。そして、中心位置として位置903が特定される。このとき、手の甲の中心位置を中心として、所定の半径Rの円の範囲内に、指示位置902は含まれない。一方、手904は、死角700が生じ、指示位置905が、指先ではなく人差指の付け根付近で検出されてしまった状態を表す。この場合は、手の甲の中心位置906を中心とした半径Rの園内に、指示位置905が含まれる。
FIG. 9A schematically shows a state in which the hand placed in the space on the operation surface is viewed along the xy plane along the negative direction of the z-axis. In FIG. 9A, the
以上により変形例2では、手900では、指先は距離画像センサ102の死角に入っておらず、手904では、指先は距離画像センサ102の死角に入っていると判定する。変形例2では、手の甲の中心位置を中心とする、所定の半径Rの円内の範囲に、検出された指示位置が含まれるかを判定する判定部314による処理が、図5のフローチャートのステップS504の直後に追加される。手の甲の中心位置を中心とする、所定の半径Rの円内の範囲に、検出された指示位置が含まれると判定される場合は、ステップS505に進む。そして、手の甲の中心位置を中心とする、所定の半径Rの円内の範囲に、検出された指示位置が含まれないと判定される場合は、ステップS507に進む。これにより、指示位置の高さが閾値Hより高く(ステップS500でYes)、2つのベクトルの角度差が閾値Dより小さい場合(ステップS504でYes)であっても、タッチ判定の基準がデフォルトの値になる場合が発生する。
As described above, in Modification 2, it is determined that the fingertip is not in the blind spot of the
例えば、図9(b)のように、操作者の指が上を向いている場合、距離画像センサ102から指先は検出可能な状態にある。しかし第1の実施形態では、指示位置が高さ601より高く、腕の方向と撮像位置から指先に向かう方向が平行に近ければ、タッチ閾値が通常の高さ601より大きく設定されるため、誤判定となる可能性がある。しかしながら、第1の実施形態に、上述したような変形例2の処理を加えることによって、図9(b)のように、操作者の指が上を向いているために、指先が閾値Hより高くなってしまう場合のタッチ状態の誤認識を低減できる。なお、変形例2は、変形例1と併用されてもよい。
For example, as shown in FIG. 9B, when the operator's finger is facing upward, the fingertip is in a state that can be detected from the
[変形例3]
変形例3では、タッチ操作に用いられる操作体が、1本の指だけを伸ばす「指さしポーズ」をとった手であることを想定し、手領域の形状と予め用意された形状モデルとの類似度に基づいて、指先が距離画像センサ102の死角に入ったか否かの判定を行う。変形例3では、手領域を抽出した際、慣性主軸に直交する方向を幅として幅の大きさが最も大きい部分の中点を手の甲の中心とし、幅が最も小さい部分を手首の位置とする。指先が距離画像センサ102の死角に入っている場合は、手領域のうち手首から先の部分の形状が、「指さしポーズ」をとっている手とは大きく異なる。具体的な形状の比較は、例えば、手領域のうち手首の位置から先の部分の形状と、予め記憶された所定の形状モデルとで、外周上の複数点抽出し、抽出された点毎に距離計算を行い、距離を積算した合計値で形状の一致度を判定することで行う。
[Modification 3]
In Modification 3, assuming that the operating body used for the touch operation is a hand in a “pointing pose” that extends only one finger, the shape of the hand region is similar to the shape model prepared in advance. Whether or not the fingertip has entered the blind spot of the
図10は、指先が検出できていない手領域109について、手の甲の中心1001を基準位置として人差指が伸ばされた状態の形状モデル1000と比較し、手首1002から先の部分の形状を比較する処理を模式的に表すものである。特に人差指部分について、形状が大きくことなることから、指先が検出されていないことが判定できる。
FIG. 10 shows a process of comparing the shape of the portion ahead of the wrist 1002 with respect to the
変形例3では、上記のように、手領域とモデルとの形状を比較するする判定部314による処理が、図5のフローチャートのステップS504の直後に追加される。比較の結果、手領域の形状が「指さしポーズ」であるとみなされない場合、ステップS505に進む。手領域の形状が「指さしポーズ」であるとみなされた場合、ステップS507に進む。なお、変形例2で説明した手の甲の中心位置から指示位置までの距離の大きさを判定する処理の後に、変形例3の手領域とモデルとの形状を比較する判定処理を加えることで、さらに判定精度を向上させることができる。変形例3によれば、変形例2と同様に、図9(b)のように、操作者の指が上を向いているために、指先が閾値Hより高くなってしまう場合のタッチ状態の誤認識を低減できる。なお、変形例3は、変形例1または2と併用されてもよい。
In the third modification, as described above, the process performed by the
[変形例4]
上述した第1の実施形態及びその変形例では、指先が距離画像センサ102から検出できない場合に検出される指示位置が、指先の位置に対応してはいないことを考慮し、タッチ判定の基準とする高さを変更した。それにより、指先の正確な位置が検出されない状況であっても、操作者の手の高さの実際の変化に基づいて、タッチ状態が継続されているか否かを判定可能とした。
[Modification 4]
In the above-described first embodiment and its modification example, it is considered that the indication position detected when the fingertip cannot be detected from the
一方でタッチ操作では、タッチ状態である間の指示位置の位置情報の軌跡が、入力されるコマンドの解釈において重要な意味を持つことが多い。上述した第1の実施形態とその変形例では、タッチ操作を入力している操作体の端部が死角に入った場合、検出される指示位置の高さ情報を使ってタッチ状態が継続されているか否かが正確に判定されたとしても、指示位置のxy座標が操作者の意図とは異なる。従って、その場合には指示位置のxy座標を操作の解釈に利用しなかった。そこで、変形例4では、タッチ判定の基準を変更した場合、タッチ操作を解釈する根拠とする位置情報を、その時点で検出された指示位置ではなく、推定される指先位置の情報とする。具体的には、タッチ操作中の操作体が、「指さしポーズ」をとった手であることと、指先が検出できていた状態での手の甲の中心と指示位置との位置関係とに基づいて、指先が検出できていない状態での指先位置を推定し、3次元座標情報を特定する。そして、推定された指先情報に基づいて、タッチ判定およびタッチ操作の判定を行う。 On the other hand, in the touch operation, the locus of the position information of the designated position while in the touch state often has an important meaning in interpreting the input command. In the above-described first embodiment and its modification, when the end of the operating body that is inputting the touch operation enters the blind spot, the touch state is continued using the detected height information of the indicated position. Even if it is accurately determined whether or not there is, the xy coordinates of the indicated position are different from the intention of the operator. Therefore, in that case, the xy coordinates of the designated position are not used for the interpretation of the operation. Therefore, in the fourth modification, when the reference for touch determination is changed, the position information that is the basis for interpreting the touch operation is not the indicated position detected at that time but the information on the estimated fingertip position. Specifically, on the basis of the positional relationship between the center of the back of the hand and the indicated position in the state where the fingertip has been detected, the operating body being touched is a hand that has taken a “pointing pose” The fingertip position in a state where the fingertip is not detected is estimated, and the three-dimensional coordinate information is specified. Then, based on the estimated fingertip information, touch determination and touch operation determination are performed.
図11は、変形例4に係る情報処理装置100における指示位置の推定処理の概要を模式的に表す図である。変形例4においても、手領域を抽出した際、慣性主軸に直交する方向を幅として幅の大きさが最も大きい部分の中点を手の甲の中心とする。手1100に関しては、指先が距離画像センサ102で検出可能な位置に存在し、指示位置P1(X1,Y1,Z1)が適正に検出されている。このとき、手の甲の中心位置P2(X2,Y2,Z2)と指示位置P1の位置関係を示す情報として、P2からP1に向かうベクトル1101を生成し保持する。その後、手1102のように、指先が死角701に入ってしまった場合は、手の中心位置P3(X3,Y3,Z3)を特定する。さらに、ベクトル1101に基づいて、指先の位置であることが推定される位置P4(X3+(X1−X2),Y3+(Y1−Y2),Z3+(Z1−Z2))を特定する。変形例4では、指先が死角701に入っている場合、指示位置として特定される位置情報を、指先位置P4の位置情報で補正することで、手の高さに連動したタッチ判定を可能とし、かつ、操作者が意図した軌跡に近い情報を得ることができる。
FIG. 11 is a diagram schematically illustrating an overview of an instruction position estimation process in the
変形例4では、ステップS506において、基準決定部315がタッチ判定の基準を変更する場合、保持されているタッチ閾値とリリース閾値の基準のうち、推定された指先位置の高さを対象としてタッチ判定を実行するための基準が選択される。ここでは、第3のタッチ閾値と第3のリリース閾値とする。第3のタッチ閾値及び第3のリリース閾値は、第1のタッチ閾値と第1のリリース閾値に一致してもよいが、変形例4では、指先位置の推定処理に生じる誤差を考慮するため、第1のタッチ閾値と第1のリリース閾値よりは、少し大きく設定されるとする。さらに変形例4では、ステップS506の直後に、推定された指先位置の情報によって、保持されている指示位置の位置情報を補正する処理が追加される。従って、ステップS409及びステップS412で、移動の基準位置として保持される位置情報は、推定された指先位置となる。なお変形例4では、ステップS507において、タッチ判定の基準がデフォルト値とされた直後に、指示位置の値として保持する情報をステップS403で特定した情報に再設定する。
In the modified example 4, when the
なお変形例4では、ステップS406のタッチ判定には、第1の実施形態と同様侵入位置から距離の遠さに基づいて特定された指示位置の高さを利用し、タッチ操作を解釈するためのステップS409以降の処理では、推定された指先位置を用いるとしてもよい。推定された指先位置は、あくまでも最後に指先が検出された時点での、手の甲の中心の位置との位置関係に基づいているため、その後、指の角度や関節の曲がり方が変化した場合には対応できない。従って、タッチ操作中か否かという根本的な判定には、リアルタイムに得ている距離画像から取得される手の高さの情報を利用し、タッチ操作中であると判定された場合にのみ、推定された指先位置の情報を利用することで、誤認識を低減することが可能である。なお、変形例4は、変形例1から3と併用されてもよい。 In Modification 4, the touch determination in step S406 is performed for interpreting the touch operation by using the height of the indicated position specified based on the distance from the intrusion position as in the first embodiment. In the processes after step S409, the estimated fingertip position may be used. The estimated fingertip position is based on the positional relationship with the center position of the back of the hand at the time when the fingertip was last detected, so if the finger angle or how the joint bends subsequently changes I can not cope. Therefore, the fundamental determination of whether or not the touch operation is being performed uses information on the height of the hand acquired from the distance image obtained in real time, and only when it is determined that the touch operation is being performed. It is possible to reduce misrecognition by using information on the estimated fingertip position. Note that Modification 4 may be used in combination with Modifications 1 to 3.
[変形例5]
変形例5では、操作体が手である場合について、指先が距離画像センサ102の死角に入ったか否かを判定するために比較するベクトルの定義を変更する。具体的には、抽出された手領域から手首の位置を特定し、ステップS502では、操作体の方向を表す第1ベクトルとして、手首の位置が始点で手の中心位置が終点となるベクトルを生成する。手首の位置は、変形例3と同様、手領域を抽出した際、慣性主軸に直交する方向を幅として幅の大きさが最も小さい部分として特定する。変形例5ではさらに、ステップS503では、撮像位置から操作体を見る方向を表す第2ベクトルとして、撮像位置が始点で手の中心位置もしくは手首の位置が終点となるベクトルを生成する。
[Modification 5]
In the fifth modification, the definition of a vector to be compared in order to determine whether or not the fingertip has entered the blind spot of the
変形例5では、侵入位置に替えて、手首の位置を利用して操作体の方向を表すベクトルを生成することで、ユーザが手首を曲げて操作した場合でも、操作体の方向として妥当なベクトルを得ることができる。また、撮像位置から操作体を見る方向として、指示位置に替えて手首の位置あるいは手の中心位置を利用することで、指示位置の検出のブレによる影響を抑えて精度のよい方向ベクトルを生成することができる。従って、変形例5によれば、操作体である操作者の手の手首が曲がった状態であっても、指先が隠れているかを精度よく判定することができる。 In the fifth modification, a vector representing the direction of the operating tool is generated using the position of the wrist instead of the entry position, so that even when the user operates by bending the wrist, the vector is valid as the direction of the operating tool. Can be obtained. In addition, by using the wrist position or the center position of the hand as the direction of viewing the operating body from the imaging position instead of the pointing position, an accurate direction vector can be generated while suppressing the influence of blurring of the pointing position. be able to. Therefore, according to the modified example 5, it is possible to accurately determine whether the fingertip is hidden even when the wrist of the operator's hand as the operation body is bent.
図12(a)は、操作空間に差し出された手を、z軸の負方向に沿ってxy平面を見た状態を模式的に表す。図12(a)において、手1200は、死角が生じておらず、全体が距離画像センサ102によって撮像可能な状態にある。また手1200は、手首部分が曲げられている。このように手首を曲げて操作をする状況は例えば、投影された画像に手1200の影を重ねないようにしたいなどの理由により生じることがある。手1200については、距離画像から抽出され手領域のうち、侵入位置1201から最も遠い点を特定する処理に基づき、指示位置1202が特定される。このとき、侵入位置1201から指示位置1202に向かう方向を表す第1ベクトルV1と、撮像位置1203から指示位置1202に向かう向きを表す第2ベクトルV2の角度の差は、18度と、閾値D=30度を下回る。そのため、第1の実施形態によれば、指示位置の高さが大きいような場合には、実際には撮像位置から指先が検出可能であるにも関わらず、指先が死角に入ったと判定される可能性がある。
FIG. 12A schematically shows a state in which the hand placed in the operation space is viewed along the xy plane along the negative direction of the z axis. In FIG. 12A, the
図12(b)は、図12(a)と同じ状態の手1200を対象に、変形例5に係る処理を行う場合に扱われる位置情報を表す。変形例では、第1ベクトルとして、手首の中心位置1204が始点で手の中心位置1205が終点となるベクトルV3と、第2ベクトルとして、撮像位置が始点で手首の位置が終点となるベクトルV4が生成される。図12(b)は図12(a)と同一の状況であるが、V3とV4の角度差は45度となり、閾値D=30度より大きい。従って、指先を対象にデフォルトの基準を使ったタッチ判定が行われる。このように変形例4によれば、操作体として利用される人の手の柔軟な形状に対応しつつ、精度のよい判定結果を得ることが可能となる。なお、変形例5は、変形例1から4と併用されてもよい。
FIG. 12B illustrates position information that is handled when processing according to the modification 5 is performed on the
<その他の実施形態>
本発明は、上述の実施形態の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.
310 画像取得部
311 手領域抽出部
312 位置検出部
313 状態取得部
314 判定部
315 基準決定部
316 認識部
317 表示制御部
310
Claims (21)
前記操作面上の空間のうち、前記操作面からの距離が所定の基準より小さい範囲内に前記操作体の端部が存在する場合、前記操作面上の空間を撮像した画像から、前記操作体の、前記画像を撮像した撮像手段に対する状態を表す情報を取得する取得手段と、
前記取得手段によって取得された情報に関連して前記操作体の端部が前記撮像手段の死角に入っているとみなされる場合は、前記操作体の端部が前記撮像手段の死角に入っているとみなされない場合とは異なる基準を用いて、前記操作体の端部が前記操作面に対する操作の入力中であることを認識する認識手段と、
を備えることを特徴とする情報処理装置。 An information processing apparatus for recognizing an input of an operation on an operation surface by an end of an operation body,
When the end of the operating body is present within a range in which the distance from the operating surface is smaller than a predetermined reference in the space on the operating surface, the operating body is obtained from an image of the space on the operating surface. Obtaining means for obtaining information representing the state of the imaging means that has captured the image;
When the end of the operating body is considered to be in the blind spot of the imaging means in relation to the information acquired by the acquiring means, the end of the operating body is in the blind spot of the imaging means Recognizing means for recognizing that an end of the operating body is being input for an operation on the operation surface, using a different standard from that not considered
An information processing apparatus comprising:
前記認識手段は、前記判定手段による判定の結果に応じて、前記操作体の端部が前記操作面に対する操作の入力中であることを認識する基準を決定することを特徴とする請求項3に記載の情報処理装置。 Furthermore, an angular difference between the two directions specified based on information indicating the direction of the operating body in the space and information indicating the direction of viewing the end of the operating body from the imaging position of the imaging means. Relatedly, a determination unit that determines whether an end portion of the operation body is considered to be within a blind spot of the imaging unit,
The said recognition means determines the reference | standard which recognizes that the edge part of the said operation body is inputting the operation with respect to the said operation surface according to the determination result by the said determination means. The information processing apparatus described.
更に、前記画像に反映された位置情報に基づいて、前記操作体の端部の位置情報を、前記操作体によって指し示される指示位置として検出する位置検出手段を備え、
前記判定手段は、前記位置検出手段によって検出された指示位置の前記操作面からの距離が所定の基準より小さい場合に、前記2つの方向の角度差を用いて、前記操作体の端部が前記撮像手段の死角に入っているとみなされるかを判定することを認識する基準を決定することを特徴とする請求項4に記載の情報処理装置。 Each pixel constituting the image reflects position information in the space,
Furthermore, based on the position information reflected in the image, provided with position detection means for detecting the position information of the end of the operating body as an indicated position pointed to by the operating body,
When the distance from the operation surface of the indicated position detected by the position detection unit is smaller than a predetermined reference, the determination unit uses the angle difference between the two directions, and the end of the operation body is The information processing apparatus according to claim 4, wherein a criterion for recognizing that it is determined whether the image is regarded as being within a blind spot of the imaging unit is determined.
前記取得手段によって取得された情報に関連して前記操作体の端部が前記撮像手段の死角に入っているとみなされる場合は、前記操作体の端部が前記撮像手段の死角に入っているとみなされない場合よりも大きい距離を前記基準として決定することを特徴とする請求項5に記載の情報処理装置。 The recognizing unit recognizes that the end of the operating body is inputting a touch operation to the operation surface using a reference regarding the distance from the operation surface of the indicated position detected by the position detecting unit. A means of recognition,
When the end of the operating body is considered to be in the blind spot of the imaging means in relation to the information acquired by the acquiring means, the end of the operating body is in the blind spot of the imaging means The information processing apparatus according to claim 5, wherein a distance larger than a case where the distance is not regarded as a reference is determined as the reference.
前記撮像手段の撮像位置から前記操作体の端部を見る方向を表す情報とは、前記撮像手段の撮像位置と、前記位置検出手段によって検出される前記指示位置とに基づいて特定される直線の方向を表す情報であることを特徴とする請求項5又は6に記載の情報処理装置。 The information indicating the direction of the operating body in the space is the indicated position detected by the position detecting means from the position where the end of the space specified by using the image intersects the operating body. Information indicating the direction of the straight line specified based on
The information indicating the direction of viewing the end of the operating body from the imaging position of the imaging means is a straight line specified based on the imaging position of the imaging means and the indicated position detected by the position detection means. The information processing apparatus according to claim 5, wherein the information processing apparatus is information representing a direction.
前記取得手段によって取得された情報に関連して、前記操作体の端部が、前記操作体のうち端部以外の部分によって生じる死角に入っているとみなされる場合は、前記操作体の端部が前記死角に入っているとみなされない場合とは異なる基準を用いて、前記操作体の端部が前記操作面に対するタッチ操作の入力中であることを認識することを特徴とする請求項6乃至10のいずれか1項に記載の情報処理装置。 The recognition means is
In relation to the information acquired by the acquisition means, when the end of the operating body is considered to be in a blind spot caused by a portion other than the end of the operating body, the end of the operating body 7. The method according to claim 6, further comprising: recognizing that an end of the operation body is inputting a touch operation on the operation surface using a different standard from a case where the operation object is not considered to be in the blind spot. The information processing apparatus according to any one of 10.
前記撮像手段は、前記テーブルトップインタフェースシステムを構成する距離画像センサによって撮像され、各画素に前記操作面からの高さ方向に対応する位置情報が反映された距離画像であって、
前記認識手段は、前記距離画像に基づいて特定される前記操作体の一部の高さと、前記操作面からの前記操作体の一部の高さに関する基準とに基づいて、前記操作体の端部が前記操作面にタッチしていることを認識することを特徴とする請求項1乃至12のいずれか1項に記載の情報処理装置。 The information processing apparatus constitutes a table top interface system,
The imaging means is a distance image that is captured by a distance image sensor that constitutes the table top interface system, and position information corresponding to a height direction from the operation surface is reflected on each pixel,
The recognizing unit is configured to determine an end of the operating body based on a height of a part of the operating body specified based on the distance image and a reference regarding a height of the part of the operating body from the operating surface. The information processing apparatus according to claim 1, wherein the information processing apparatus recognizes that a part touches the operation surface.
更に、前記画像から、前記操作者の手のうち指先とみなされる位置情報を検出する位置検出手段を備え、
前記認識手段は、前記取得手段によって取得された情報と、前記位置検出手段によって検出された位置の前記画像から前記操作者の手のうち手の甲とみなされる部分からの距離の大きさに基づいて、前記操作者の手のうち指先が前記撮像手段の死角に入っているとみなされるかを判定することを特徴とする請求項1に記載の情報処理装置。 When an operator's hand is used as the operating body, the end of the operating body corresponds to a portion corresponding to a fingertip of the operator's hand,
Furthermore, it comprises a position detection means for detecting position information that is regarded as a fingertip of the operator's hand from the image,
The recognizing means is based on the information acquired by the acquiring means and the magnitude of the distance from the image of the position detected by the position detecting means from the portion considered as the back of the hand of the operator's hand, The information processing apparatus according to claim 1, wherein it is determined whether a fingertip of the operator's hand is considered to be in a blind spot of the imaging unit.
前記認識手段は、前記取得手段によって取得された情報と、前記画像から抽出される前記操作体が写る領域の形状と所定の手のモデルの形状とを比較した結果に基づいて、前記操作者の手のうち指先が前記撮像手段の死角に入っているとみなされるかを判定することを特徴とする請求項1に記載の情報処理装置。 When an operator's hand is used as the operating body, the end of the operating body corresponds to a portion corresponding to a fingertip of the operator's hand,
The recognizing means is based on a result of comparing the information acquired by the acquiring means with the shape of a region in which the operating body extracted from the image is captured and the shape of a predetermined hand model. The information processing apparatus according to claim 1, wherein it is determined whether a fingertip of a hand is considered to be in a blind spot of the imaging unit.
前記認識手段は、前記操作者の手のうち指先が前記撮像手段の死角に入っているとみなされる場合、前記操作者の手のうち指先が前記撮像手段の死角に入っていないとみなされた時点で撮像された前記画像における前記操作者の手のうち指先とみなされる位置情報と、前記操作体の手の甲の中心の位置情報とに基づいて推定された指先の位置情報を用いてタッチ操作を認識することを特徴とする請求項1に記載の情報処理装置。 When an operator's hand is used as the operating body, the end of the operating body corresponds to a portion corresponding to a fingertip of the operator's hand,
When the fingertip of the operator's hand is considered to be in the blind spot of the imaging means, the recognition means is considered not to be in the blind spot of the imaging means when the fingertip is considered to be in the blind spot of the imaging means. The touch operation is performed using the position information of the fingertip estimated based on the position information regarded as the fingertip of the operator's hand in the image captured at the time and the position information of the center of the back of the hand of the operating body. The information processing apparatus according to claim 1, wherein the information processing apparatus is recognized.
前記空間における前記操作体の方向を表す情報とは、前記画像を用いて特定される前記操作者の手のうち手首の位置から、前記操作者の手の甲の中心の位置に基づいて特定される直線の方向を表す情報であって、
前記撮像手段の撮像位置から前記操作体の端部を見る方向を表す情報とは、前記撮像手段の撮像位置と、前記操作者の手のうち手首の位置から、前記操作者の手の甲の中心の位置とに基づいて特定される直線の方向を表す情報であることを特徴とする請求項3乃至6のいずれか1項に記載の情報処理装置。 When an operator's hand is used as the operating body, the end of the operating body corresponds to a portion corresponding to a fingertip of the operator's hand,
The information indicating the direction of the operating body in the space is a straight line specified based on the position of the center of the back of the operator's hand from the position of the wrist of the operator's hand specified using the image. Information indicating the direction of
The information indicating the direction of viewing the end of the operating body from the imaging position of the imaging means is the center of the back of the operator's hand from the imaging position of the imaging means and the wrist position of the operator's hand. The information processing apparatus according to claim 3, wherein the information processing apparatus is information indicating a direction of a straight line specified based on the position.
前記操作面上の空間のうち、前記操作面からの距離が所定の基準より小さい範囲内に前記操作体の端部が存在する場合、取得手段により、前記操作面上の空間を撮像した画像から、前記操作体の、前記画像を撮像した撮像手段に対する状態を表す情報を取得する取得工程と、
認識手段により、前記取得工程において取得された情報に関連して前記操作体の端部が前記撮像手段の死角に入っているとみなされる場合は、前記操作体の端部が前記撮像手段の死角に入っているとみなされない場合とは異なる基準を用いて、前記操作体の端部が前記操作面に対する操作の入力中であることを認識する認識工程と、
を備えることを特徴とする情報処理装置の制御方法。 A control method for an information processing device that recognizes an input of an operation on an operation surface by an end of an operation body,
In the space on the operation surface, when the end of the operation body exists within a range in which the distance from the operation surface is smaller than a predetermined reference, an acquisition unit obtains an image of the space on the operation surface. An acquisition step of acquiring information representing a state of the operation body with respect to an imaging unit that has captured the image;
When the recognition means regards the end of the operating body as being within the blind spot of the imaging means in relation to the information acquired in the acquisition step, the end of the operating body is the blind spot of the imaging means. A recognition step for recognizing that an end of the operating body is being input for an operation on the operation surface, using a different standard than when not considered to be included,
An information processing apparatus control method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015215218A JP2017084307A (en) | 2015-10-30 | 2015-10-30 | Information processing device, control method therefor, program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015215218A JP2017084307A (en) | 2015-10-30 | 2015-10-30 | Information processing device, control method therefor, program, and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017084307A true JP2017084307A (en) | 2017-05-18 |
Family
ID=58711240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015215218A Pending JP2017084307A (en) | 2015-10-30 | 2015-10-30 | Information processing device, control method therefor, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017084307A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019083004A (en) * | 2017-10-27 | 2019-05-30 | 三星電子株式会社Samsung Electronics Co.,Ltd. | Method and apparatus for tracking object |
JP2019168251A (en) * | 2018-03-22 | 2019-10-03 | 株式会社Jvcケンウッド | Shape measuring apparatus, shape measuring method, and program |
CN111373732A (en) * | 2017-12-27 | 2020-07-03 | 索尼公司 | Information processing apparatus, information processing method, and information processing system |
WO2022064881A1 (en) * | 2020-09-28 | 2022-03-31 | ソニーグループ株式会社 | Information processing device, information processing method, and program |
-
2015
- 2015-10-30 JP JP2015215218A patent/JP2017084307A/en active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019083004A (en) * | 2017-10-27 | 2019-05-30 | 三星電子株式会社Samsung Electronics Co.,Ltd. | Method and apparatus for tracking object |
JP7163129B2 (en) | 2017-10-27 | 2022-10-31 | 三星電子株式会社 | Object tracking method and apparatus |
US11676421B2 (en) | 2017-10-27 | 2023-06-13 | Samsung Electronics Co., Ltd. | Method and apparatus for tracking object |
CN111373732A (en) * | 2017-12-27 | 2020-07-03 | 索尼公司 | Information processing apparatus, information processing method, and information processing system |
EP3734960A4 (en) * | 2017-12-27 | 2021-01-27 | Sony Corporation | Information processing device, information processing method and information processing system |
US11501459B2 (en) | 2017-12-27 | 2022-11-15 | Sony Corporation | Information processing apparatus, method of information processing, and information processing system |
JP2019168251A (en) * | 2018-03-22 | 2019-10-03 | 株式会社Jvcケンウッド | Shape measuring apparatus, shape measuring method, and program |
JP7000940B2 (en) | 2018-03-22 | 2022-01-19 | 株式会社Jvcケンウッド | Shape measuring device, shape measuring method and program |
WO2022064881A1 (en) * | 2020-09-28 | 2022-03-31 | ソニーグループ株式会社 | Information processing device, information processing method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6618276B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
US8933882B2 (en) | User centric interface for interaction with visual display that recognizes user intentions | |
US10456918B2 (en) | Information processing apparatus, information processing method, and program | |
JP6482196B2 (en) | Image processing apparatus, control method therefor, program, and storage medium | |
JP6711817B2 (en) | Information processing apparatus, control method thereof, program, and storage medium | |
EP2846308A2 (en) | Pointing direction detecting device and its method, program and computer readable-medium | |
JP6723814B2 (en) | Information processing apparatus, control method thereof, program, and storage medium | |
CN102541365A (en) | System and method for generating multi-touch commands | |
US10254893B2 (en) | Operating apparatus, control method therefor, and storage medium storing program | |
JP6562752B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
JP6452369B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
JP6335695B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
JP2017084307A (en) | Information processing device, control method therefor, program, and recording medium | |
US20180373392A1 (en) | Information processing device and information processing method | |
JP6555958B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
JP2016139396A (en) | User interface device, method and program | |
JP6618301B2 (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 | |
JP2018063555A (en) | Information processing device, information processing method, and program | |
JP2018055685A (en) | Information processing device, control method thereof, program, and storage medium | |
JP2018185563A (en) | Information processing apparatus, information processing method, computer program and storage medium | |
JP6570376B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
JP2017228216A (en) | Information processing apparatus, control method therefor, program, and storage medium | |
US20240069647A1 (en) | Detecting method, detecting device, and recording medium | |
EP3059664A1 (en) | A method for controlling a device by gestures and a system for controlling a device by gestures |