JP2018063555A - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP2018063555A JP2018063555A JP2016201227A JP2016201227A JP2018063555A JP 2018063555 A JP2018063555 A JP 2018063555A JP 2016201227 A JP2016201227 A JP 2016201227A JP 2016201227 A JP2016201227 A JP 2016201227A JP 2018063555 A JP2018063555 A JP 2018063555A
- Authority
- JP
- Japan
- Prior art keywords
- distance
- specifying
- information processing
- sensor
- distance image
- 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
Abstract
【課題】精度よく操作位置を特定することを目的とする。【解決手段】操作面と操作体の距離画像に基づいて、操作体による操作面上の操作位置を特定する情報処理装置であって、操作体から距離画像を取得したセンサまでの距離を表すセンサ距離を特定する距離特定手段と、センサ距離に基づいて、距離画像における部分領域のサイズを決定するサイズ決定手段と、距離画像において、操作体を含み、サイズ決定手段により決定されたサイズの部分領域を特定する領域特定手段と、領域特定手段により特定された部分領域の画素値に基づいて、実空間における操作位置を特定する位置特定手段とを有する。【選択図】図2
Description
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
近年、各種カメラやセンサを使って検出した人の手の動きや位置に応じてUI(ユーザインターフェース)を操作するジェスチャ認識技術による機器操作が広まりつつある。テーブル面に画像やUIを映し、その画像やUIを手やペン等で触れて操作するテーブルトップインタフェースにおいても、タッチパネルを用いずに、指先やペン先等、所定の操作体の端部がテーブルにタッチした状態を検出する方式が使用され始めている。
特許文献1には、距離センサ等で取得した距離画像において、指先位置を検出する技術が開示されている。特許文献1の技術においては、距離センサ等で取得した距離画像内で、距離値を用いた背景差分法によって背景でない領域(手やペン等の領域)を検出する。さらに、この検出された領域で、距離画像の枠部から距離画像の内側の方向へと伸びている領域を検出し、この検出した領域内で、該枠部から最も遠い位置を指先の位置とする。そして、距離画像で、この指先位置周辺の画素値を平均して、この平均値を指先位置の画素値(距離センサから指先までの距離)とする。上記のように指先位置周辺の画素で平均化処理を行う理由は、指先位置を距離センサ等で測定する時に、測定環境の様々な要因により距離測定ノイズが発生する場合があり、このノイズの影響を軽減するためである。
しかしながら、上記で記載した画素値の平均化処理を行う場合に、平均化処理の対象となる指先位置周辺の領域の大きさを適切に設定しないと、指先位置の距離値の精度が低くなる。例えば、ユーザが手を指先ポーズの形にして指先位置で操作を行っている場合に、指先位置周辺の領域が大き過ぎると、指先だけではなく手の甲や手首等の部分も平均化処理の対象となってしまい、本来の指先位置の距離値とはズレが生じてしまう。この指先位置の距離値を用いて、座標変換により指先位置の実空間における三次元座標を算出するので、距離にズレがある場合は、当然実空間における三次元座標にもズレが生じてしまう。逆に、指先位置周辺の領域が小さ過ぎると、距離測定ノイズの影響が大きくなるため、指先位置の距離精度が低下する。
本発明は、上記を鑑みてなされたものであり、精度よく操作位置を特定することを目的とする。
そこで、本発明は、操作面と操作体の距離画像に基づいて、前記操作体による前記操作面上の操作位置を特定する情報処理装置であって、前記操作体から前記距離画像を取得したセンサまでの距離を表すセンサ距離を特定する距離特定手段と、前記センサ距離に基づいて、前記距離画像における部分領域のサイズを決定するサイズ決定手段と、前記距離画像において、前記操作体を含み、前記サイズ決定手段により決定されたサイズの部分領域を特定する領域特定手段と、前記領域特定手段により特定された前記部分領域の画素値に基づいて、実空間における前記操作位置を特定する位置特定手段とを有することを特徴とする。
本発明によれば、精度よく操作位置を特定することができる。
以下、本発明の実施形態について図面に基づいて説明する。
図1(a)は、テーブルトップインタフェースシステムの全体図である。テーブルトップインタフェースシステムは、操作面101に投影されたアイテムに対してユーザが行うタッチ操作を認識するシステムである。操作面101は、テーブルトップインタフェースのテーブル部分であり、ユーザは、操作面101をタッチすることでタッチ操作を入力することが可能である。ただし、操作面101にタッチセンサは搭載されておらず、情報処理装置100は、距離画像センサ102により得られた距離画像に基づいてタッチ操作の有無を判定する。さらに、情報処理装置100は、操作面101とユーザが操作する指やペンなどの操作体が実際に操作面101に接触したかではなく、接触したとみなせる程度に近接した場合に、タッチ入力中の状態(以下、タッチ状態)と判定する。なお、距離画像とは、各画素の値に、当該距離画像を撮像する撮像手段の基準位置(例えばレンズ中心など)から、当該画素に撮像された被写体表面までの距離に対応する情報が反映された画像である。
本実施形態では、操作面101の外周部の上方に、操作面を斜め上方から見下ろすようにして距離画像センサ102が設置される。本実施形態において、距離画像センサ102が撮像する距離画像の画素値には、距離画像センサ102から、操作面101あるいはその上方に存在する物体表面までの距離が反映される。撮像された距離画像は、情報処理装置100に入力される。情報処理装置100は、距離画像を解析することでユーザの手106や操作面101等の三次元位置を取得し、入力される操作を認識する。
従って、ユーザは、操作面上の空間(操作面101と距離画像センサ102の間の空間)のうち、距離画像センサ102によって撮像可能な範囲において、手などの所定の物体を動かすことにより空間ジェスチャ操作を入力することが可能である。また、情報処理装置100は、手などの所定の物体と操作面101の近接状態に基づくタッチ操作による入力についても認識することができる。
本実施形態では、距離画像を取得するために、赤外光の反射時間(または反射パターン)によって距離情報を取得する方式の距離画像センサ102を利用することとする。ただし、他の例としては、例えばステレオカメラシステムや、赤外光発光素子と赤外受光素子を設置することで距離画像を得ることも可能である。また、操作面101を含む空間において、操作体の高さ方向を含む三次元の位置情報が得られる手段であれば、距離画像を撮像する形態に限らず、例えば静電センサや感圧センサや温度センサにより三次元の位置情報を得る方法でも、本実施形態を実施可能である。
また本実施形態においては、可視光カメラ103が斜め上方から操作面101を見下ろすようにして設置される。情報処理装置100は、可視光カメラ103を制御して、操作面101に載置された物体を撮像して、その読み取り画像を得る書画カメラとして機能することができる。従って情報処理装置100は、可視光カメラ103によって得られる可視光画像や、距離画像センサ102によって得られる距離画像に基づいて、操作面101上の空間に存在する物体を検出し、さらに識別する。検出される物体には、例えば、ユーザの手、紙媒体や本などのドキュメントやその他の立体物を含む。ただし、図1(a)に例示するシステムの場合は、距離画像センサ102と可視光カメラ103の画角には、テーブル周囲に存在するユーザの頭部は含まれない。そのため得られた距離画像では、画像端部がユーザの腕(肩から先の部分)の何処か一部と交差する。
プロジェクタ104は、操作面101の上面に画像の投影を行う。本システムでは、ユーザは投影された画像に含まれるアイテムに対して、タッチや空間ジェスチャによる操作を行う。上述したように、本実施形態では、情報処理装置100は、手106の検出および操作の認識には、距離画像センサ102で取得した距離画像を用いる。距離画像を用いることで、プロジェクタ104の投影光の影響でユーザの手の色が変化しても影響を受けにくいという利点がある。本システムの表示装置は、プロジェクタ104に替えて、操作面101を液晶ディスプレイとするなどで構成することもできる。その場合、可視光画像からの肌色領域を検出するなどして画像から人の手を検出する方式を用いても、投影光の影響は受けずに手の検出が可能である。
なお、操作面101を上方から見た画像が得られる構成であれば、必ずしも距離画像センサ102及び可視光カメラ103自体が上方に設置されている必要はなく、例えばミラーを用いて反射光を撮像するように構成しても構わない。プロジェクタ104も同様に、図1(a)の例では、斜め上方から見下ろすように操作面101上への投影を行うが、異なる方向に向けて投影された投影光を、ミラーなどを利用して操作面101に反射させてもよい。操作面101が、壁面やホワイトボードのような鉛直方向に沿った面に設置される場合も同様である。
本実施形態では、操作面101上の三次元空間に、図1(a)に示すx、y、z軸を定義し、位置情報を扱う。図1(a)の例では、107を座標軸の原点とする。ここでは一例として、テーブルの上面に平行な二次元がxy平面、テーブル上面に直交し上方に伸びる方向(法線方向)をz軸の正方向としている。本実施形態では、z軸方向は、実空間における世界座標系での高さ方向に相当する。しかしながら本実施形態は、ホワイトボードや壁面など、水平ではない面を操作面101とするシステムや、操作面が凹凸を有する場合や、MRを利用して生成された仮想面である場合にも適用可能である。
図1(b)は、距離画像センサ102によって撮像された距離画像の一例を示す図である。距離画像108は、図1(a)に対応している。情報処理装置100が利用する距離画像は、受光された反射光の位相遅れを計測することで、画素毎に反射するまでにかかった時間に対応する被写体表面までの距離を、画素値に反映させたものである。ただし、ここでは、画素値に反映された距離情報は省略し、被写体のエッジのみを明示する。
本実施形態では、距離画像センサ102は操作面101を斜め上方から見下ろすように距離画像を撮像するため、距離画像の画素値が表す距離情報は、距離画像センサ102から操作面101を見下ろす方向の奥行き方向の距離である。言い換えれば、距離画像の各画素値は、操作面101からの高さ方向の位置情報(z座標)を得るための情報を含む。ただし、本実施形態では、距離画像センサ102は、z軸に対して斜めに角度をもつように設置されている。従って、情報処理装置100は、距離画像の画素値をそのままz座標として利用するのではなく、後述するようにセンサや設置環境に応じたパラメータを使った座標変換を施した上で利用する。
操作面101及び原点107は図1(a)に対応している。画像端111は、距離画像センサ102の画角に相当する。距離画像には、図1(b)に示すようにu軸及びv軸による二次元座標系が設定される。なお図1(b)の例では、距離画像の解像度は640[dot]×480[dot]とする。ユーザの手の先端部である操作位置110の距離画像内の位置座標が(u,v)であり、距離画像センサ102から操作位置までの距離に相当する画素値がdであるとする。
情報処理装置100は、このように距離画像内で定義される位置情報に対して、距離画像センサ102のレンズ特性および操作面101との相対位置関係等に基づく座標変換を施す。これにより、情報処理装置100は、各画素の座標をテーブルに定義された実世界上の座標系にマッピングし、操作位置110について、実空間の三次元位置(x,y,z)を取得することができる。なお、座標変換に利用する変換行列は、距離画像センサ102が設置された時等において、予め調整作業が行われ、情報処理装置100に設定されているものとする。
109の斜線で示す領域は、距離画像108に写っているユーザの手106の像である(以下では単に手領域109という)。情報処理装置100は、z座標に閾値処理を施すことで、テーブル表面である操作面101より高い位置に存在する被写体が写る領域を、手領域として検出する。情報処理装置100は、検出される手領域のそれぞれに対して1箇所の操作位置を検出する。操作位置とは、ユーザが手指を使って指し示していると推定される位置の座標である。情報処理装置100においては、前提として、ユーザがタッチ操作のために点を指定する場合には、1本だけ指を伸ばした「指さしポーズ」を取ることが規定される。1本指を延ばすポーズが、多くの人にとっては1点を指し示すのに自然な体勢だからである。
従って、情報処理装置100は、操作位置として、手領域109のうち端部だと推定される位置を特定する。指差しポーズであれば、端部が操作位置に相当する。情報処理装置100は、具体的には、距離画像から、手領域109を検出し、手領域109のうち画像端111から最も遠い位置に存在する画素を示す座標を、操作位置にあたる1点とみなす。図1(b)に示される手領域109の場合、画像端111から最も遠い点が操作位置110として特定される。なお、操作位置の特定方法はこれに限らず、例えば、手領域から手の五指を検出して、所定の指の端部を特定して操作位置としてもよい。
また情報処理装置100は、フレームレートに従い繰り返し撮像される距離画像の各フレームで、手領域109が画像端111と交差する部分の中央を、手の侵入位置として特定する。図1(b)に示す手領域109に対しては、侵入位置112が特定される。情報処理装置100は、侵入位置112についても、距離画像内に定義された位置情報を変換することで、実空間内での三次元位置情報として取得する。情報処理装置100は、距離画像から複数の手領域が検出された場合、そのそれぞれについて、操作位置及び侵入位置を特定する。そして、情報処理装置100は、複数の手領域のそれぞれについてタッチ操作を認識する。
以下、本明細書ではユーザがタッチ操作の入力に用いる操作体及びその端部の一例として、ユーザの手106及びその指が利用されること想定する。ただし、本実施形態では操作体として、手指だけでなくスタイラスやロボットアームなどの器具を利用する場合にも適用可能である。なお操作体の端部とは、タッチ操作のために操作位置を指し示すのに用いられる部位を示すが、操作体の一部に属し、タッチ操作の入力が可能な部位であれば、突起形状の端部に限定せずともよい。
図2(a)は、情報処理装置100を含むテーブルトップインタフェースのハードウェア構成図である。中央処理ユニット(CPU)200は、RAM202をワークメモリとして、ROM201や記憶装置203に格納されたOSやプログラムを実行して、各種処理の演算や論理判断などを行う。CPU200は、さらにシステムバス204に接続された各構成を制御する。記憶装置203は、ハードディスクドライブや各種インタフェースによって接続された外部記憶装置などであり、実施形態の操作認識処理にかかるプログラムや各種データを記憶する。なお、後述する情報処理装置100の機能や処理は、CPU200がROM201又は記憶装置203に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
距離画像センサ102は、CPU200の制御に従い、アイテムが表示されるテーブルとアイテムを操作するユーザの手を含む、操作面101上の空間の距離画像を撮像し、撮影した距離画像をシステムバス204に出力する。本実施形態では、距離画像の取得方法として、環境光やテーブル面の表示の影響が小さい反射時間方式(Time−of−Flight方式)を用いる場合について説明するが、用途に応じて視差方式や赤外パターン方式などを利用することも可能である。プロジェクタ104は、CPU200の制御に従い、テーブルに操作対象となる画像アイテムを投影表示する。
なお上述したシステムでは、可視光カメラ103、距離画像センサ102、プロジェクタ104はそれぞれ情報処理装置100に入出力用のインタフェースを介して接続された外部装置であり、情報処理装置100と協同して情報処理システムを構成する。ただし、これらのデバイスは、情報処理装置100に一体化されていても構わない。なお、距離画像センサ102は、静電センサや感圧センサや温度センサ等でもよく、操作位置の三次元の位置情報や操作位置の接触圧力や接触面積等の接触情報を取得する。
図2(b)は、情報処理装置100のソフトウェアの構成を示すブロック図の一例である。これらの各機能部は、CPU200が、ROM201に格納されたプログラムをRAM202に展開し、後述する各フローチャートに従った処理を実行することで実現されている。そして、各処理の実行結果をRAM202に保持する。また例えば、CPU200を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
距離取得部210は、距離画像センサ102によって撮像された距離画像をフレームレートに従う一定時間毎に取得し、RAM202に随時保持する。なお距離取得部210が取得し、各機能部とやりとりする対象は、実際には画像データに対応する信号であるが、本明細書では単に「距離画像を取得する」として説明する。
操作位置特定部211は、距離取得部210によって取得された距離画像の各画素について、距離情報に基づく閾値判定を施し、距離画像中の手領域(腕を含む)を検出する。手領域とは、入力された距離画像のうち、ユーザが操作体として利用する手が被写体として写っている画素群である。そして、操作位置特定部211は、検出した手領域にIDを付与し、RAM202に保持する。操作位置特定部211は、異なる距離画像のフレームで検出された手領域が、同一の手領域とみなされた場合には、同じIDを付与する。同一の手領域とみなされる条件とは、時間的に近い距離画像のフレームで検出され、かつ手領域の侵入位置112の距離が近いことである。一方、同一の手領域とみなされない場合には、操作位置特定部211は、手領域が検出された順番に数字を付与する(ID=1、2、・・・)。
さらに、操作位置特定部211は、検出された手領域の輪郭情報に基づき、手領域の端部に当たる1点を操作位置として特定する。具体的には、操作位置特定部211は、手領域の輪郭のうち、画像端111から最も遠くに存在する画素を示す座標を、操作位置として検出する。この際、操作位置特定部211は、手領域と画像端111が交差する部分の中心を手領域の侵入位置とし、この侵入位置から最も遠くに存在する画素を示す座標を、操作位置として検出する。そして、操作位置特定部211は、検出された操作位置の距離画像における位置情報を、世界座標のxyz座標に変換し、手領域と同じIDを付与して、RAM202に保存する。
なお、操作位置特定部211は、静電センサや感圧センサ等により、操作面101に近接する指先位置の三次元の位置情報(座標値)や接触情報(接触圧力や接触面積等)を取得し、操作位置情報としてRAM202に保存してもよい。
第1の決定部212は、距離取得部210により取得された距離に基づいて、操作位置特定部211が操作位置を取得するために用いる距離画像における部分領域を決定する。詳細は図5を参照しつつ後述する。第2の決定部213は、距離取得部210により取得された距離画像に基づいて、判定部214が操作位置と操作面101のタッチ状態を判定する判定方法を決定する。詳細は図3を参照しつつ後述する。
判定部214は、操作位置の操作面101に対する近接の度合いに応じて、操作位置における操作状態を判定し、判定結果と操作位置とに基づいて、操作位置における操作を認識する。ここで、操作状態は、タッチ状態とリリース状態を含む。判定部214は、操作状態の判定結果をRAM202に保存する。判定部214は、例えば、操作位置と操作面101の間の距離(高さに相当するz座標)が所定の閾値より小さい場合は、タッチ状態と判定する。そして、判定部214は、タッチ状態で、操作位置により指示された操作面101上の位置を追跡することで、タッチ、リリース、ムーブ、フリック、ピンチ、ローテート等のタッチイベントを生成する。そして、判定部214は、生成したタッチイベントを表示制御部215に通知する。ただし、操作位置により指示された操作面101上の位置は、操作位置の操作面に平行な二次元の位置情報(xy座標)とする。
表示制御部215は、判定部214により通知されるユーザ操作に応じて実行される各処理の結果(タッチイベント等)を反映した描画データを生成し、プロジェクタ104に出力することで、操作面101に表示する内容を制御する。ユーザ操作とは、操作位置や操作位置の動き等によって定義され、情報処理装置100に対して何らかの指示を入力することができるものである。
図3は、情報処理装置100のメイン処理の流れを表すフローチャートである。情報処理装置100は、電源がオンになると、メイン処理を開始する。S301において、表示制御部215は、記憶装置203から取得したデータに基づいてUI部品を配置した画面を生成し、プロジェクタ104へ出力する。そして、プロジェクタ104が操作面101の上面に画面を投影する。次に、S302において、距離取得部210は、距離画像センサ102から距離画像を取得する。なお、距離画像センサ102は、情報処理装置100の電源がONになっている間、操作面101の上面の操作領域の距離画像を、所定の時間間隔で撮像する。
次に、S303において、操作位置特定部211は、ユーザの手領域(腕を含む)を検出する。操作位置特定部211は、手領域が検出された場合(S303、Yes)、処理をS304へ進める。操作位置特定部211は、手領域が検出されなかった場合(S303、No)、処理をS302へ進め、手領域が検出されるまでS302とS303の処理を繰り返す。S304において、操作位置特定部211は、S303で検出した手領域にIDを付与し、RAM202に保存する。次に、S305において、操作位置特定部211は、S303で検出された手領域の、距離画像における操作位置(指先位置)を特定し、特定した操作位置に手領域と同じIDを付与して、RAM202に保存する。
S306において、距離取得部210は、S305で取得された操作位置から距離画像センサ102までの距離を表す情報をセンサ距離として特定する。なお、センサ距離は、絶対値であるものとするが、他の例としては、所定の長さを基準とした相対値であってもよい。図4は、センサ距離特定処理(S306)における詳細な処理を示すフローチャートである。S401において、距離取得部210は、指先位置を中心とする、予め定められたサイズの矩形領域を距離画像に設定する。次に、S402において、距離取得部210は、S401において設定された矩形領域に含まれる手領域を特定する。次に、S403において、距離取得部210は、S402で特定された矩形領域内の手領域に含まれる複数の画素の画素値の平均値を算出する。そして、距離取得部210は、平均値を、距離画像センサと指先位置の間の距離として、RAM202に保存する。以上で、センサ距離特定処理が終了する。
図3に戻り、S306の処理の後、S307において、操作位置特定部211は、S305で特定された操作位置の実世界座標における位置情報を特定する。図5は、操作位置特定処理(S307)における詳細な処理を示すフローチャートである。S501において、操作位置特定部211は、センサ距離に基づいて、正方形の部分領域のサイズを決定する。ここで、部分領域は、実空間における操作位置を特定する処理において用いられる領域である。S501の処理は、サイズ決定処理の一例である。なお、本実施形態においては、部分領域は、正方形であり、S501においては、部分領域の幅の長さをサイズとして決定することとする。なお、本実施形態においては、部分領域は正方形であるものとするが、操作位置の近傍の領域を定義できる形状であればよく、任意の形でよい。またS501においては、部分領域のサイズを決定可能な値を決定すればよい。
次に、S502において、操作位置特定部211は、距離画像において、指先位置を中心とした、S501で決定したサイズの部分領域を特定する。S502の処理は、部分領域を特定する領域特定処理の一例である。なお、部分領域は、指先位置を含み、S501で決定したサイズの領域であればよく、実施形態に限定されるものではない。次に、S503において、操作位置特定部211は、S502において特定された部分領域においてS303で検出された手領域を特定する。ここで、手領域は操作体の領域の一例であり、S503の処理は、操作体特定処理の一例である。
次に、S504において、操作位置特定部211は、S503において特定した手領域に含まれる複数の画素の画素値の平均値を算出し、平均値を距離画像の操作位置のdの値とする。操作位置特定部211は、このd値と、S305において特定された操作位置(u,v)を用いて、距離画像において定義されるuvd座標における操作位置を、実空間において定義される座標系xyz座標における操作位置に変換する。この座標変換は、距離画像センサ102のレンズ特性及び操作面101との相対位置関係等に基づいて行われる。なお、この座標変換に利用される変換行列は、距離画像センサ102が設置された時に、予め調整作業を行い取得し、情報処理装置100に設定しておくものとする。そして、操作位置特定部211は、操作位置(x,y,z)をRAM202に保存する。以上で、操作位置特定処理が終了する。
図3に戻り、S307の処理の後、S308において、判定部214は、S306において特定したセンサ距離と距離閾値とを比較する。判定部214は、センサ距離が距離閾値以上の場合には(S308、Yes)、操作判定処理として第1の操作判定処理を行うことを決定し、処理をS310へ進める。判定部214は、センサ距離が距離閾値未満の場合には(S308でNo)、操作判定処理として第2の操作判定処理を行うことを決定し、処理をS309へ進める。
ここで、第1の操作判定処理及び第2の操作判定処理は、いずれも操作状態を判定する判定処理の一例である。但し、第1の操作判定処理と第2の操作判定処理においては、判定に用いる判定条件が異なる。第1の操作判定処理においては、第1の条件が用いられ、第2の操作判定処理においては、第2の条件が用いられる。第1の判定条件は、S307において特定された1つの操作位置に基づいて、操作状態を判定するための判定条件である。また、第2の判定条件は、S307において特定された操作位置と、この操作位置から時系列に沿って過去に遡って得られた複数の操作位置に基づいて、操作状態を判定するための判定条件である。ここで、S308の処理は、判定条件を決定する条件決定処理の一例である。
S309において、判定部214は、第1の操作判定処理を行うことにより操作状態を判定し、その判定結果をRAM202に保存し、その後処理をS311へ進める。また、S310においては、判定部214は、第2の操作判定処理を行うことにより操作状態を判定し、その結果をRAM202に保存し、その後処理をS311へ進める。
図6は、第1の操作判定処理(S309)及び第2の操作判定処理(S310)の説明図である。図6(a)〜(c)は、いずれもXY平面の一部である操作面101上の空間を、Z軸に直行する方向から見た図である。白丸は、S307において特定された操作位置を示す。時系列に沿って得られた複数の操作位置の軌跡が、時間軸tに沿って示されている。
図6(a)は、第1の操作判定処理(S309)の説明図である。第1の操作判定処理に係る第1の条件は、以下の2つの条件を含む。
・操作位置の高さZの値が、タッチ閾値以下となった場合に、タッチ状態と判定する。
・操作位置の高さZの値が、リリース閾値以上となった場合に、リリース状態と判定する。
第1の操作判定処理において利用されるタッチ閾値とリリース閾値は、XY平面からの高さZの値で、情報処理装置100において予め設定されているものとする。また、図6(a)に示すように、本実施形態においては、第1の操作判定処理において利用されるリリース閾値は、タッチ閾値に比べて大きい値であるものとする。
・操作位置の高さZの値が、タッチ閾値以下となった場合に、タッチ状態と判定する。
・操作位置の高さZの値が、リリース閾値以上となった場合に、リリース状態と判定する。
第1の操作判定処理において利用されるタッチ閾値とリリース閾値は、XY平面からの高さZの値で、情報処理装置100において予め設定されているものとする。また、図6(a)に示すように、本実施形態においては、第1の操作判定処理において利用されるリリース閾値は、タッチ閾値に比べて大きい値であるものとする。
なお、判定部214は、リリース状態からタッチ状態に移行した場合に、タッチイベントを発行してもよい。同様に、判定部214は、タッチ状態からリリース状態に移行した場合に、リリースイベントを発行してもよい。なお、タッチ閾値とリリース閾値は等しい値であってもよい。
図6(b)は、第2の操作判定処理(S310)の説明図である。第2の操作判定処理に係る第2の条件について説明する。第2の条件は、以下の2つの条件を含む。
・操作位置の高さZの値が、N回連続してタッチ閾値以下となった場合に、タッチ状態と判定する。
・操作位置の高さZの値が、M回連続してリリース閾値以上となった場合に、リリース状態と判定する。
本実施形態においては、N及びMはいずれも「3」とするが、いずれも任意の値であればよい。また、第2の操作判定処理において利用されるタッチ閾値とリリース閾値は、等しいZ値であるものとするが、タッチ閾値とリリース閾値は異なるZ値であってもよい。
・操作位置の高さZの値が、N回連続してタッチ閾値以下となった場合に、タッチ状態と判定する。
・操作位置の高さZの値が、M回連続してリリース閾値以上となった場合に、リリース状態と判定する。
本実施形態においては、N及びMはいずれも「3」とするが、いずれも任意の値であればよい。また、第2の操作判定処理において利用されるタッチ閾値とリリース閾値は、等しいZ値であるものとするが、タッチ閾値とリリース閾値は異なるZ値であってもよい。
このように、第2の条件は、時系列に沿って得られた複数の操作位置に対する複数回の閾値判定結果に基づいて操作状態を判定するものである。したがって、距離測定ノイズが発生し得る状況においても、操作状態の誤判定を低減することができる。
なお、判定部214は、リリース状態からタッチ状態に移行した場合に、タッチイベントを発行してもよい。同様に、判定部214は、タッチ状態からリリース状態に移行した時に、リリースイベントを発行してもよい。また、タッチイベントに付与するタッチ座標は、タッチ状態となった時の操作位置の座標とする。一方、リリースイベントに付与するリリース座標は、リリース状態となった時の操作位置から、(M−1)回前の操作位置の座標とする。このように、タッチ及びリリースそれぞれのイベントに付与するタッチ及びリリース座標を、各々の閾値を超えた操作位置の内で操作面に最も近い操作位置とする。これにより、操作面に対する操作におけるユーザの操作感に近い操作認識を行うことができ、操作感を向上できる。
図6(c)は、第2の操作判定処理(S310)の他の例の説明図である。本例に係る第2の条件は、以下の2つの条件を含む。
・操作位置の高さZの値がタッチ閾値以下となり、かつN回前までの操作位置のZ値の変位が全てマイナスとなる場合に、タッチ状態と判定する。
・操作位置の高さZの値がリリース閾値以上となり、かつM回前までの操作位置のZ値の変位が全てプラスとなる場合に、リリース状態と判定する。
本例においては、N及びMはいずれも「2」とするが、いずれも任意の値であればよい。
また、本例においては、タッチ閾値とリリース閾値は、異なるZ値であるものとするが、タッチ閾値とリリース閾値は、等しいZ値であってもよい。
・操作位置の高さZの値がタッチ閾値以下となり、かつN回前までの操作位置のZ値の変位が全てマイナスとなる場合に、タッチ状態と判定する。
・操作位置の高さZの値がリリース閾値以上となり、かつM回前までの操作位置のZ値の変位が全てプラスとなる場合に、リリース状態と判定する。
本例においては、N及びMはいずれも「2」とするが、いずれも任意の値であればよい。
また、本例においては、タッチ閾値とリリース閾値は、異なるZ値であるものとするが、タッチ閾値とリリース閾値は、等しいZ値であってもよい。
このように、本例に係る第2の条件は、時系列に沿って得られた複数の操作位置における変位履歴に基づいて、操作状態を判定するものである。したがって、距離測定ノイズが発生し得る状況においても、操作状態の誤判定を低減することができる。
なお、本例においても、判定部214は、リリース状態からタッチ状態に移行した場合にタッチイベントを発行し、タッチ状態からリリース状態に移行した場合に、リリースイベントを発行してもよい。
図3に戻り、S311において、判定部214は、操作位置と判定結果とに基づいて、操作位置における操作を認識する。次に、S312において、表示制御部215は、S311において認識された操作に応じて、プロジェクタ104によって投影されている画面中のオブジェクト(画像、データ、UI等)の表示を更新する。次に、S313において、CPU200は、情報処理装置100の電源がオフされたか否かを判定する。CPU200は、電源がオフされた場合には(S313、Yes)、処理を終了する。CPU200は、電源がオフされていない場合には(S313でNo)、処理をS302へ進める。
次に、図7(a)、(b)を参照して、ユーザの手の状態に応じた情報処理装置100による動作を説明する。なお、特徴的な処理が行われるステップの番号を括弧書きで示す。図7(a)、(b)は、2人のユーザが操作面101の上空に手を差し伸べてから、指先を操作面101に接触(もしくは近接)させてタッチ操作を入力する様子である。図7(a)、(b)は、距離画像センサ102により撮像された距離画像である(S302)。そして、操作位置特定部211は、距離画像において2つの手領域(801、802)を検出し(S303)、手領域801にID=1、手領域802にID=2を付与する(S304)。そして、操作位置特定部211は、距離画像における各手領域の侵入位置と操作位置を特定する(S305)。手領域801に対しては、侵入位置803と操作位置804が特定される。一方、手領域802に対しては、侵入位置805と操作位置806が特定される。
そして、距離取得部210は、操作位置を中心として40×40[pixel]の矩形領域を設定する(S401)。図7(a)においては、操作位置804を中心に矩形領域807が設定され、操作位置806を中心に矩形領域808が設定される。次に、距離取得部210は、設定された矩形領域内の手領域を特定する処理を、矩形領域807、808それぞれに対して行う(S402)。次に、距離取得部210は、各矩形領域807、808の手領域の画素値の平均値を算出する(S403)。矩形領域807における選択画像の平均値は87.5で、矩形領域808における選択画像の平均値は641.3である。これらの値から、操作位置804におけるセンサ距離は87.5[mm]で、操作位置806におけるセンサ距離は641.3[mm]となる。
次に、操作位置特定部211は、センサ距離に基づいて、部分領域のサイズを決定する(S501)。このとき、操作位置特定部211は、図8に示すような関数を利用する。図8に示すグラフは、横軸がセンサ距離、縦軸が領域の幅の長さである。操作位置特定部211は、図8に示す関数と、操作位置804におけるセンサ距離87.5[mm]とに基づいて、部分領域の幅を27[mm]に決定する。また、操作位置特定部211は、操作位置806におけるセンサ距離641.3[mm]に基づいて、部分領域の幅を8[mm]に決定する。
次に、操作位置特定部211は、距離画像において部分領域を設定する(S502)。図7(b)に示すように、操作位置804を中心に27×27[pixel]の大きさの部分領域809が設定され、操作位置806を中心に8×8[pixel]の大きさの部分領域810が設定される。次に、操作位置特定部211は、部分領域内の手領域を特定する処理を、部分領域809、810のそれぞれに対して行う(S503)。
次に、操作位置特定部211は、各部分領域809、810の手領域の画素値の平均値を算出し、平均値を用いて実空間における三次元位置を特定する(S504)。例えば、部分領域809の平均値として88が算出され、部分領域810の平均値として645が算出される。この場合、操作位置804におけるセンサ距離は88[mm]で、操作位置806におけるセンサ距離は645[mm]となる。このように、距離画像内における操作位置を基準とし、センサ距離を特定するために参照する部分領域を適切に設定することで、センサ距離算出を高い精度で行うことができる。
そして、操作位置特定部211は、図8(b)に示す矩形領域を用いて取得された距離と、S305で取得された操作位置の座標(u,v)を座標変換し、操作位置804及び操作位置806の実空間における三次元座標を特定する。
次に、判定部214は、操作位置の操作面101に対する操作状態の判定処理を行う(S308〜310)。S309における距離閾値は500[mm]に設定されているとする。これに対し、操作位置804の距離は、87.5[mm]であるため、距離閾値未満と判定され、第1の操作判定処理が施される。また、操作位置806の距離は、641.3[mm]であるため、距離閾値以上と判定され、第2の操作判定処理が施される。次に、判定部214は、操作位置と操作状態の判定結果とに基づいて、操作認識を行う(S311)。次に、表示制御部215は、S311における認識結果に基づいて、表示を更新する(S312)。
以上のように、本実施形態に係る情報処理装置100は、センサ距離に基づいて、適切な部分領域のサイズを決定することにより、精度よくセンサ距離を特定することができる。これにより、精度よく操作位置を特定することができる。さらに、情報処理装置100は、センサ距離に応じて、異なる判定条件を用いて操作状態を判定することにより、精度よく操作状態を判定することができる。
なお、情報処理装置100は、センサ距離に応じて、異なる複数の判定条件に応じた処理を行えばよく、判定条件の数は2つに限定されるものではない。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 情報処理装置
210 距離取得部
211 操作位置特定部
214 判定部
210 距離取得部
211 操作位置特定部
214 判定部
Claims (9)
- 操作面と操作体の距離画像に基づいて、前記操作体による前記操作面上の操作位置を特定する情報処理装置であって、
前記操作体から前記距離画像を取得したセンサまでの距離を表すセンサ距離を特定する距離特定手段と、
前記センサ距離に基づいて、前記距離画像における部分領域のサイズを決定するサイズ決定手段と、
前記距離画像において、前記操作体を含み、前記サイズ決定手段により決定されたサイズの部分領域を特定する領域特定手段と、
前記領域特定手段により特定された前記部分領域の画素値に基づいて、実空間における前記操作位置を特定する位置特定手段と
を有することを特徴とする情報処理装置。 - 前記部分領域において、前記操作体の領域を特定する操作体特定手段をさらに有し、
前記位置特定手段は、前記操作体の領域の画素値に基づいて、前記操作位置を特定することを特徴とする請求項1に記載の情報処理装置。 - 前記センサ距離に基づいて、前記操作面上への操作状態を判定するための判定条件を決定する条件決定手段と、
前記条件決定手段により決定された前記判定条件に基づいて、前記操作状態を判定する判定手段と
をさらに有することを特徴とする請求項1又は2に記載の情報処理装置。 - 前記条件決定手段は、前記センサ距離が閾値未満の場合と、前記センサ距離が閾値以上の場合とにおいて異なる判定条件を決定することを特徴とする請求項3に記載の情報処理装置。
- 前記条件決定手段は、前記センサ距離が閾値未満の場合には、1つの操作位置に基づいて、前記操作面上への操作の有無を判定する第1の条件を、前記判定条件として決定し、前記センサ距離が閾値以上の場合には、時系列に沿って得られた複数の操作位置に基づいて、前記操作状態を判定する第2の条件を、前記判定条件として決定することを特徴とする請求項4に記載の情報処理装置。
- 前記第2の条件は、前記複数の操作位置それぞれと前記操作面の距離とに基づいて、前記操作状態を判定する条件であることを特徴とする請求項5に記載の情報処理装置。
- 前記第2の条件は、前記複数の操作位置の変位履歴に基づいて、前記操作状態を判定する条件であることを特徴とする請求項5に記載の情報処理装置。
- 操作面と操作体の距離画像に基づいて、前記操作体による前記操作面上の操作位置を特定する情報処理装置が実行する情報処理方法であって、
前記操作体から前記距離画像を取得したセンサまでの距離を表すセンサ距離を特定する距離特定ステップと、
前記センサ距離に基づいて、前記距離画像における部分領域のサイズを決定するサイズ決定ステップと、
前記距離画像において、前記操作体を含み、前記サイズ決定ステップにおいて決定されたサイズの部分領域を特定する領域特定ステップと、
前記領域特定ステップにおいて特定された前記部分領域の画素値に基づいて、実空間における前記操作位置を特定する位置特定ステップと
を含むことを特徴とする情報処理方法。 - 操作面と操作体の距離画像に基づいて、前記操作体による前記操作面上の操作位置を特定する情報処理装置におけるコンピュータを、
前記操作体から前記距離画像を取得したセンサまでの距離を表すセンサ距離を特定する距離特定手段と、
前記センサ距離に基づいて、前記距離画像における部分領域のサイズを決定するサイズ決定手段と、
前記距離画像において、前記操作体を含み、前記サイズ決定手段により決定されたサイズの部分領域を特定する領域特定手段と、
前記領域特定手段により特定された前記部分領域の画素値に基づいて、実空間における前記操作位置を特定する位置特定手段と
して機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016201227A JP2018063555A (ja) | 2016-10-12 | 2016-10-12 | 情報処理装置、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016201227A JP2018063555A (ja) | 2016-10-12 | 2016-10-12 | 情報処理装置、情報処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018063555A true JP2018063555A (ja) | 2018-04-19 |
Family
ID=61967827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016201227A Pending JP2018063555A (ja) | 2016-10-12 | 2016-10-12 | 情報処理装置、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018063555A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021005248A (ja) * | 2019-06-26 | 2021-01-14 | 富士通株式会社 | 判別システム、判別制御プログラムおよび判別制御方法 |
WO2022254592A1 (ja) * | 2021-06-01 | 2022-12-08 | 株式会社ソシオネクスト | 画像処理装置、画像処理方法、及び画像処理プログラム |
-
2016
- 2016-10-12 JP JP2016201227A patent/JP2018063555A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021005248A (ja) * | 2019-06-26 | 2021-01-14 | 富士通株式会社 | 判別システム、判別制御プログラムおよび判別制御方法 |
JP7298337B2 (ja) | 2019-06-26 | 2023-06-27 | 富士通株式会社 | 判別システム、判別制御プログラムおよび判別制御方法 |
WO2022254592A1 (ja) * | 2021-06-01 | 2022-12-08 | 株式会社ソシオネクスト | 画像処理装置、画像処理方法、及び画像処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120169671A1 (en) | Multi-touch input apparatus and its interface method using data fusion of a single touch sensor pad and an imaging sensor | |
JP6723814B2 (ja) | 情報処理装置、その制御方法、プログラム、及び記憶媒体 | |
US9916043B2 (en) | Information processing apparatus for recognizing user operation based on an image | |
US9035889B2 (en) | Information processing apparatus and information processing method | |
CN108027656B (zh) | 输入设备、输入方法和程序 | |
US10042426B2 (en) | Information processing apparatus for detecting object from image, method for controlling the apparatus, and storage medium | |
US10254893B2 (en) | Operating apparatus, control method therefor, and storage medium storing program | |
JP6452369B2 (ja) | 情報処理装置とその制御方法、プログラム、記憶媒体 | |
JP2016103137A (ja) | ユーザインタフェース装置、画像処理装置及び制御用プログラム | |
JP2017084307A (ja) | 情報処理装置、その制御方法、プログラム、及び記憶媒体 | |
JP6746419B2 (ja) | 情報処理装置、及びその制御方法ならびにコンピュータプログラム | |
JP2018063555A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2017219942A (ja) | 接触検出装置、プロジェクタ装置、電子黒板装置、デジタルサイネージ装置、プロジェクタシステム、接触検出方法、プログラム及び記憶媒体。 | |
JP6618301B2 (ja) | 情報処理装置、その制御方法、プログラム、及び記憶媒体 | |
JP6555958B2 (ja) | 情報処理装置、その制御方法、プログラム、および記憶媒体 | |
JP2017162126A (ja) | 入力システム、入力方法、制御用プログラム、及び記憶媒体 | |
JP6452658B2 (ja) | 情報処理装置、およびその制御方法ならびにプログラム | |
JP6643825B2 (ja) | 装置及び方法 | |
TWI444875B (zh) | 多點觸碰輸入裝置及其使用單點觸控感應板與影像感測器之資料融合之介面方法 | |
JP6898021B2 (ja) | 操作入力装置、操作入力方法、及びプログラム | |
KR20090037535A (ko) | 터치스크린의 입력 처리 방법 | |
JP2017228216A (ja) | 情報処理装置、その制御方法、プログラム、及び記憶媒体 | |
JP2019016029A (ja) | 情報処理装置及びその制御方法、並びに、プログラム | |
JP2017022590A (ja) | 画像処理装置、画像処理装置の制御方法、及びプログラム | |
JP2018173907A (ja) | 情報処理装置、および情報処理装置の制御方法、プログラム |