JP2014142737A - 入力プログラム、入力装置および入力方法 - Google Patents

入力プログラム、入力装置および入力方法 Download PDF

Info

Publication number
JP2014142737A
JP2014142737A JP2013009769A JP2013009769A JP2014142737A JP 2014142737 A JP2014142737 A JP 2014142737A JP 2013009769 A JP2013009769 A JP 2013009769A JP 2013009769 A JP2013009769 A JP 2013009769A JP 2014142737 A JP2014142737 A JP 2014142737A
Authority
JP
Japan
Prior art keywords
image
input
pressing operation
feature point
angle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013009769A
Other languages
English (en)
Other versions
JP6028589B2 (ja
Inventor
Taichi Murase
太一 村瀬
Takahiro Matsuda
高弘 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013009769A priority Critical patent/JP6028589B2/ja
Priority to US14/086,535 priority patent/US9348465B2/en
Publication of JP2014142737A publication Critical patent/JP2014142737A/ja
Application granted granted Critical
Publication of JP6028589B2 publication Critical patent/JP6028589B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • G06F3/0426Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected tracking fingers with respect to a virtual keyboard projected or printed on the surface

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

【課題】 より操作者の操作性を向上させたメニュー選択を実現することを課題とする。
【解決手段】 コンピュータに、撮像装置から画像を取得し、前記画像における対象物の形状に基づき、該対象物における先端部分を構成する特徴点を検出し、前記特徴点と、該画像から抽出された該対象物の領域の情報とに基づき、該特徴点を支点とする押下操作がなされた面に対する前記対象物の角度を算出し、前記角度に基づき、複数の入力候補のうちの一つの入力候補を選択する処理を実行させる入力プログラム。
【選択図】 図1

Description

本明細書に開示する技術は、情報処置装置への入力を制御する技術に関する。
近年、スマートフォンやスレートPC(Personal Computer)やiPad(登録商標)をはじめとしたタブレット型デバイスなど、キーボードやマウスを使用しないデバイスの市場が急拡大している。例えば、タッチパネルディスプレイを用いて指でメニューを選択する電子機器は、ユーザのタッチパネルに対する押下操作に基づき、複数のメニューを表示する。そして、当該電子機器は、タッチパネルに対する他の押下操作がなされたときのタッチ位置に基づき、複数のメニューのうちいずれかを選択する。
また、キーボードやマウスの代わりに入力ペンを利用する入力方式もある。例えば、複数のメニューから一つのメニューを選択可能なデジタイザも存在する(例えば、特許文献1)。デジタイザは、複数のループコイルが配列された座標検出部、および該座標検出部と電磁的に結合して指示位置を入力する入力ペンを備える。
デジタイザは、検出した電圧に基づき、入力ペンの指示位置情報および入力ペンの傾き方向を検出する。なお、ユーザが入力ペンを所定角度だけ傾けることで、主ピーク電圧Vaのほかに、傾けられた方向にサイドロープ的な副ピーク電圧Vbが現れることにより、傾き方向が検出される。
デジタイザは、まず傾き方向に基づき、複数のメインメニューより一つのメインメニューを選択する。つぎに、デジタイザは、筆圧により、選択されたメインメニューに関する複数のサブメニューのうち、いずれかを決定する。
特開平08−95737号公報
タッチパネルを利用する電子機器は、ユーザはメニューを選択するために、所望のメニューに対応する位置を適格に指示する必要がある。また、先に述べたデジタイザは、特殊なペンや特殊なセンサを装着した指による操作が必要となる。
そこで、本実施例に開示の技術は、先の技術と比較して、より操作者の操作性を向上させたメニュー選択を実現することを目的とする。
上記課題を解決する為に、本実施例に開示の入力プログラムは、コンピュータに、撮像装置から画像を取得し、前記画像における対象物の形状に基づき、該対象物における先端部分を構成する特徴点を検出し、前記特徴点と、該画像から抽出された該対象物の領域の情報とに基づき、該特徴点を支点とする押下操作がなされた面に対する前記対象物の角度を算出し、前記角度に基づき、複数の入力候補のうちの一つの入力候補を選択する処理を実行させる。
本発明の一観点によれば、より操作者の操作性を向上させるメニュー選択を実現することが可能になる。
図1は、情報処理装置の利用形態の一例を示す図である。 図2は、入力装置の機能ブロック図である。 図3Aおよび図3Bは、対象物の領域を抽出する処理を説明するための図である。 図4は、押下操作を検出する処理を説明するための図である。 図5は、指の角度を算出する処理を説明するための図である。 図6は、表示用情報に基づき表示される表示イメージの図である。 図7は、入力処理のフローチャートである。 図8は、入力処理のフローチャートである。 図9A乃至図9Cは、第一の押下継続判定を説明するための図である。 図10は、第二の押下継続判定を説明するための図である。 図11は入力装置のハードウェア構成の一例を示す図である。
以下詳細な本発明の実施例に関して説明する。なお、以下の各実施例は、処理の内容を矛盾させない範囲で適宜組み合わせることが可能である。以下、図面に基づいて各実施例について説明する。
まず、実施例における入力方法について説明する。図1は、情報処理装置1の利用形態の一例を示す図である。なお、情報処理装置1は、本実施例にかかる入力装置を備えるコンピュータである。
情報処理装置1は、コンピュータであり、例えば、スマートフォンや、スレートPC、タブレット型デバイスなどである。情報処理装置1は、キーボードやマウスを有さなくともよい。本実施例においては、情報処理装置1は、後述の入力装置からの入力を受け付けるとともに、入力に応じた処理を実行する。なお、入力装置は、操作領域5に対する手4の指3の角度に応じて、情報処理装置1に対して所定の入力を行う。
ここで、図1では、情報処理装置1にプロジェクター2が接続されている例を示す。プロジェクター2は、操作領域5へ画像を投影する機能を有する。なお、投影される画像は、情報処理装置1が備える入力装置によって指示される。プロジェクター2は、さらにカメラを備える。また、本実施例おいては、プロジェクター2は、カメラ2台を備える。2台のカメラは、所定のフレーム間隔で、各々操作領域5やユーザの手4、さらには指3を撮影する。
プロジェクター2が備えるカメラは、操作領域5を含む撮像範囲を撮影する。そして、情報処理装置1における入力装置は、プロジェクター2から画像を取得する。入力装置は、カメラが撮影した画像から対象物である手4の領域を抽出する。
本実施例においては、メニュー選択を望むユーザは、操作領域5に指3を接地させるとともに、接地点を支点として、指3を傾ける操作を実行する。なお、以下、面(例えば、図1の操作領域5)に指3を接地させるユーザの行為を、押下操作を称する。
一方、入力装置は、画像から抽出した手4の領域に基づき、指3の角度を算出する。そして、入力装置は、指3の角度に応じて、複数の入力候補のうちの一つを選択する。そして、入力装置は、情報処理装置1へ選択した入力内容を入力する。
情報処理装置1は、入力装置からの入力に基づき、対応する処理を実行する。なお、プロジェクター2は、複数のメニューを操作領域5に投影する。さらに、メニューが選択された場合には、プロジェクター2は、選択されたメニューを表示する。
なお、カメラは、図1に示された位置に限らず、他の位置に設置されていても良い。さらに、情報処理装置1が2台のカメラを有してもよい。さらに、情報処理装置1が有するディスプレイに、複数のメニューや選択されたメニューを表示するとしてもよい。
図2は、入力装置10の機能ブロック図である。先に述べたように、入力装置10は、情報処理装置1に備えられていても良い。また、入力装置10は、撮像装置21と表示装置22と通信可能である。また、本実施例においては、撮像装置21は、2つである。
撮像装置21は、例えば、図1におけるプロジェクター2に備えられたカメラである。また、表示装置22は、例えば、図1におけるプロジェクター2である。入力装置10は、取得部11、検出部12、演算部13、推定部14、選択部15、表示制御部16、出力部17、記憶部18を有する。取得部11は、撮像装置21から画像を取得する。
取得部11は、撮像装置21が所定のフレーム間隔で撮影した画像を、順次取得する。なお、2つの撮像装置21から、各々画像を取得する。ここで、2つの撮像装置21における撮影タイミングは同期していることが望ましい。
検出部12は、取得した画像における対象物の形状に基づき、対象物における先端部分を構成する特徴点を検出する。例えば、検出部12は、画像から対象物の領域を検出する。対象物が手4である場合には、画像における各画素の色情報、および抽出するための色に関する条件に基づき、肌色領域を抽出する。
例えば、検出部12は、色に関する条件として、以下の式1および式2を利用する。なお、式1は、画像の画素値がHSV表色系で示されたときの色相(H)の値に関する条件を示す。式1は、HSV表色系で示されたときの彩度(S)の値に関する条件を示す。
0.11<H<0.22 (式1)
0.2<S<0.5 (式2)
検出部12は、色に関する条件に該当する画素に「1(黒)」を設定し、該当しない画素に「0(白)」を設定することで、二値画像を生成する。二値画像において黒で表現されている領域が、肌色領域であって、つまり対象物である手4の領域である。なお、色情報が、HSV表色系以外の表色系で表現されている場合には、検出部12は、色情報をHSV表色系へ変換する。
図3Aおよび図3Bは、対象物の領域を抽出する処理を説明するための図である。図3Aは、取得部11取得した画像を示す図である。なお、図3Aは、2つの撮像装置21から各々取得した画像のうちの一方である。ただし、検出部12は、各々の画像に対して、同様の処理を実行することで、各々の画像における対象物の領域を抽出する。例えば、図3Aに示す画像において、手41、物体60、物体61および背景が撮影されているとする。ここで、手41と、物体60と、物体61とは、実際の画像において各々異なる色を有するものとする。
図3Bは、図3Aに対応する二値画像である。二値画像においては、手41に対応する手領域42のみが示されている。つまり、図3Aの画像に対して、検出部12が手領域を検出する処理を実行することで、図3Aの画像において色に関する条件に合致する画素からなる領域が、手領域42として二値画像に表される。
そして、検出部12は、対象物の領域の形状に基づき、例えば、特徴点として、指の先端部分を構成する画素を検出する。具体的には、図3Bにおける手領域42の形状を利用して、特徴点を検出する。そして、検出部12は、各々の二値画像における特徴点の座標(x,y)を取得する。
ここで、特徴点の検出においては、指の先端の形状モデルと、抽出した手領域42の形状とのパターンマッチングが利用される。また、手領域42の形状を認識するとともに、指領域を抽出し、指領域の傾きを利用する方法が用いられてもよい。例えば、特開2003−346162号公報に開示の技術が利用される。
次に、演算部13は、特徴点と、対象物の領域とに基づき、押下操作がなされた面に対する対象物の角度を算出する。例えば、操作領域5に対する指3の角度を算出する。まず、演算部13は、対象物と撮像装置21との距離Zを算出する。例えば、2つの撮像装置が平行に設置されている場合には、以下の式3を用いて、距離Zが求められる。なお、本実施例においては、先に検出した特徴点を利用して、指先と撮像装置21との距離Zが求められる。
Figure 2014142737
fはカメラの焦点距離である。Tはカメラ間の距離である。x1は、一方のカメラが撮影した画像における特徴点の座標位置である。x2は、他方のカメラが撮影した画像における特徴点の座標位置である。距離Zは、実空間における、2つのカメラの中間点から指先までの距離である。
次に、演算部13は、距離Zを利用して、ユーザによる押下操作の有無を検出する。例えば、演算部13は、距離Zが、撮像装置21から操作領域5の1点までの距離Mと等しい場合に、押下操作を行われたと判定する。また、以下の式4のように、オフセットαを考慮して、押下操作の有無を判定してもよい。つまり、距離Zが、距離Mにオフセットαを加算した値よりも大きい場合に、演算部13は、ユーザによる押下操作が行われたことを判定する。
Figure 2014142737
図4は、押下操作を検出する処理を説明するための図である。なお、図4において、撮像装置21は、紙面の手前から奥方向(y方向)に2つ存在する。また、2つの撮像装置が撮影する画像における横方向は、図4におけるx方向に相当する。そして、2つの撮像装置21は、z方向をカメラの中心軸として、互いに平行に設置されている。
例えば、距離Mは、x方向における撮像装置21の位置x1から、z方向の位置m1までの距離である。なお、距離Mは、プロジェクター2が図1のようなスタンド型である場合のスタンドの高さに応じて予め設定される。
図4の例では、ユーザは押下操作を行っていない例である。なぜなら、撮像装置21から指先までの距離Zは距離Mよりも小さいためである。なお、式4において利用される距離Mは、x軸方向の複数の位置に対して、複数記憶されても良い。図4のように、位置x2からm2までの距離M'など複数のMを記憶することで、手指の位置に応じて、比較対照となるMを適宜選択することも可能である。
演算部13は、式4に基づき押下操作を検出した場合には、検出部12が検出した特徴点および手領域に基づき、指の角度を算出する。なお、押下操作を検出しない場合は、後述の選択部15へ押下操作を検出しない旨を出力する。
図5は、指の角度を算出する処理を説明するための図である。本実施例においては、特徴点と手領域の重心を利用して、角度を算出するが、これに限られない。例えば、重心の代わりに、指の付け根部分に相当する点を手領域から抽出し、特徴点および付け根部分に相当する点から、指の角度を算出しても良い。
演算部13は、特徴点Pの三次元位置(px,py,pz)と、重心Gの三次元位置(gx,gy,gz)を取得する。ここでは、2つの撮像装置21のうち一方の撮像装置により撮影された画像における特徴点の座標(x,y)を、特徴点Pの三次元位置(px,py)とする。さらに、上述の検出部12により算出された、撮像装置21と指先の距離Zを、特徴点Pの三次元位置pzとする。
演算部13は、二値画像における手領域の重心Gを、2つの撮像装置21が撮影した画像それぞれに対して求める。なお、ここでは重心Gの位置として、x座標およびy座標が求められる。2つの重心Gの座標および式3に基づき、撮像装置21から手の重心Gまでの距離Zを求める。
演算部13は、2つの二値画像のうちいずれかに対応するGの座標(x,y)を、重心Gの三次元位置(gx,gy)として設定する。さらに、距離Zを、重心Gの三次元位置gzに設定する。
演算部13は、特徴点Pの三次元位置(px,py,pz)と、重心Gの三次元位置(gx,gy,gz)とを、以下の式5に代入することで、指の角度θを演算する。そして、演算部13は、角度θを、選択部15へ出力する。
Figure 2014142737
推定部14は、検出部12が特徴点を検出できなかった場合に、現在の指の角度を推定する。具体的には、推定部14は、過去の画像における特徴点と、現画像における対象物の領域とに基づき、現在の指の角度を推定する。例えば、過去の画像における特徴点Pの三次元位置と、現在の画像(最新の画像)における対象物の重心Gの三次元位置とを式5に代入することで、推定の角度θを算出する。なお、推定部14は、押下操作が継続しているか否かを判定して、指の角度の推定を行っても良い。特徴点が検出できない場合における、押下操作の継続判定については、後述する。
ここで、先に述べたとおり、ユーザが押下操作を行ったあとに、所望のメニューを選択するために、指の角度θを調節する場合がある。このとき、操作領域5に対する撮像装置21の角度と、指の角度との関係によっては、押下操作の支点を含む指の全部または一部を画像に捉えることができない場合がある。撮像装置21により撮影された画像には、指先部分が含まれない場合に、検出部12は、特徴点を検出することができない。
例えば、一般的な指の長さLに対して、L/n以上の指が撮影されている場合に、指先を検出するアルゴリズムが、一般的に知られている。つまり、このアルゴリズムにおいては、指がL/n以下しか写っていない場合には、指先を検出することはできないということになる。
ここで、カメラの中心軸と、操作領域5に対する垂線とのなす角γが、小さくなるほど、指を徐々に傾けていった場合に、指先が写らなくなる境界の角度が小さな値となる。つまり、カメラが操作領域5に対して、真下方向を向く形で取り付けられている場合ほど、指先を検出することができない状況が発生しやすくなる。
また、nが小さいほど、指を徐々に傾けていった場合に、指先が写らなくなる境界の角度が小さな値となる。つまり、nが小さいことは、指先を検出するアルゴリズムの検出精度が高い(誤検出を排除するために、より指らしいものを認識する)ことを示すが、検出精度が高いほど、指先を検出することができない状況が発生しやすくなる。例えば、指先が写らなくなる境界の角度βと、角度γおよびnの間には、以下の式6が成り立つ。
Figure 2014142737
図2の説明に戻り、選択部15は、演算部13が演算した角度θ、および推定部14が推定した角度θに基づき、複数の入力候補のうちの一つの入力候補を選択する。例えば、複数のメニューのうちの一つのメニューが選択される。
ここで、選択部15は、一度押下操作が検出された以降に取得した画像において、押下操作が継続している間は、各々の画像における角度に基づき、メニューを仮決定する。ここで、予め複数のメニュー各々に対応する角度は、設定情報として予め設定されるものとする。記憶部18に記憶された設定情報が、選択部15によって参照される。
一方、押下操作が解除された場合には、選択部15は、直前に仮決定したメニューを確定する。一度押下操作が検出された後に、演算部13が押下操作を検出しなかった場合や、推定部14が後述の押下継続判定において押下が継続していないことを判定した場合に、選択部15は、押下操作が解除されたことを判定し、メニューを確定する。
仮決定されたメニューの情報は、表示制御部16へ出力される。一方、確定されたメニューの情報は、出力部17へ出力される。
表示制御部16は、選択中のメニューを他のメニューとは異なる態様で表示するための表示用情報を生成する。例えば、表示制御部16は、仮決定されたメニューを強調表示するための表示用情報を生成する。図6は、表示用情報に基づき、表示装置22により表示される表示イメージの図である。
図6の例では、指の角度に応じてメニュー2が選択されていることを示している。ユーザは、強調表示されているメニューが所望のメニューであれば、押下操作を解除する。一方、強調表示されているメニューが所望のメニューでない場合は、ユーザは、指の角度を調整する。
出力部17は、確定された入力内容を、情報処理装置1へ出力する。例えば、出力部17は、確定されたメニューを情報処理装置1へ出力する。
記憶部18は、設定情報を記憶する。設定情報は、入力候補ごとに、入力候補を選択するための、角度の最大値と最小値とを含む情報である。例えば、記憶部18は、「メニュー1」に割り当てられた角度の範囲として、最大の角度と、最小の角度を記憶する。さらに、記憶部18は、後述する処理の過程で生成される情報を記憶する。
次に、図7および図8を用いて、入力装置10による処理を説明する。図7および図8は、入力処理のフローチャートである。
まず、取得部11は、2つの撮像装置21から、2つの画像を取得する(Op.1)。なお、撮像装置21における撮影タイミングは、入力装置10の制御の下、同期していることが望ましい。次に、各々の画像について、検出部12は、色空間を変換する(Op.2)。例えば、RGB表色系で示された色情報を、HSV表色系へ変換する。
検出部12は、色に関する条件を利用して、手領域を表す二値画像を、各々の撮像装置21から取得した画像について生成する(Op.3)。なお、二値画像においては、肌色に相当する画素が「1(黒)」で、それ以外の色に相当する画素が「0(白)」で表されている。よって、以下、二値画像において「1(黒)」が設定されている領域が、対象物である手指の領域である。
次に、検出部12は、指先を検出できたか否かを判定する(Op.4)。ここで、検出部12は、先に述べた方法で、手指領域の形状に基づき、特徴点の検出を試みる。特徴点が検出された場合には、検出部12は、指先を検出できたと判断する。
検出部12が指先を検出できた場合には(Op.4Yes)、演算部13は、指先とカメラとの距離Zを、式3に基づき算出する(Op.5)。なお、ここでは、距離Zの算出において、各々の画像から検出された2つの特徴点のx座標が、利用される。
つぎに、演算部13は、距離Zをもちいて、ユーザによる押下操作を検出する(Op.6)。なお、式4を満たす場合に、演算部13は、押下操作がなされたことを検出する。
押下操作が検出された場合は(Op.6Yes)、演算部13は、Op.1で取得した2枚の画像のうちのいずれかを利用して、手指領域の重心位置G1を算出する(Op.7)。なお、重心位置G1は、以下の式7乃至式10に基づき、算出される。
Figure 2014142737
Figure 2014142737
Figure 2014142737
Figure 2014142737
F(x、y)は、手領域を表す関数である。m0,0は、手領域全体の面積を表す。m1,0およびm0,1は一次モーメントである。手領域の重心位置G1(x、y)は、一次モーメントを手領域全体の面積で除算することで得られる。
つぎに、演算部13は、過去に押下操作が検出されているかを判定する(Op.8)。なお、過去に押下操作が検出されているか否かは、記憶部18に、押下位置P1および、押下位置P1と重心位置G1との距離L1とが記憶されているか否かに基づき、行われる。
押下操作が検出されていない場合は(Op.8No)、演算部13は、押下位置P1と重心位置G1との距離L1を、算出する(Op.9)。押下位置P1は、Op.6において押下操作を検出した際の特徴点Pの三次元位置(px,py,pz)である。重心位置G1は、Op.6において押下操作を検出した際の重心Gの三次元位置(gx,gy,gz)である。距離L1は、押下位置P1および重心位置G1の座標に基づき算出される。
つぎに、演算部13は、初めて押下を検出した際の押下位置P1と、距離L1とを記憶部18へ格納する(Op.10)。つまり、Op.10において、記憶部18に押下位置P1と距離L1とが記憶されることで、Op.8において、記憶部18に押下位置P1および距離L1が記録されているか否かに基づき、過去に押下操作が検出されているか否かが判定できる。
過去に押下操作が検出されている場合(Op.8Yes)、または、距離L1および押下位置P1を記憶(Op.10)した後、演算部13は、押下位置P1および重心位置G1を用いて、指の角度θ1を算出する(Op.11)。なお、θ1は、式5に基づき算出される。
算出されたθ1に基づき、選択部15は、複数のメニューのうち、いずれかのメニューを、仮メニューとして決定する(Op.12)。ここで決定された仮メニューは、一時的に記憶部18へ記憶される。なお、新たに受け付けた画像に対して、同様の処理を行った結果、新たに仮メニューが決定された場合は、記憶部18に記憶された仮メニューは、新たに決定された仮メニューで更新される。
つぎに、表示制御部16は、表示装置22に、仮メニューとして決定されたメニューを、他のメニューとは異なる態様で表示させる(Op.13)。つまり、表示制御部16は、表示用の情報を生成し、出力部17を介して、表示用の情報を表示装置22へ出力する。
そして、入力装置10は、一連の処理を終了するが、新たに画像を受け付けるため、再度Op.1より処理を開始する。
ここで、Op.6において、押下操作が検出されなかった場合は(Op.6No)、検出部12は、押下操作が検出されなかった旨を、選択部15へ出力する。選択部15は、過去に押下操作が検出されているか否かを判定する(Op.14)。なお、選択部15は、記憶部18に、押下位置P1および距離L1が記憶されている場合に、過去に押下操作が検出されたことを判定する。
過去に押下操作が検出されている場合には(Op.14Yes)、選択部15は、過去に決定された仮メニューを、情報処理装置1に対する入力として確定する(Op.15)。つぎに、出力部17は、選択部15が確定したメニューを、情報処理装置1へ出力する(Op.16)。なお、選択部15は、メニューを確定した後、記憶部18に記憶されている押下位置P1および距離L1を消去する。
つまり、ある画像に基づき仮メニューが決定されたあとに、他の画像において押下操作を検出しなかった場合、選択部15は、押下操作が解除されたとして、ある画像に基づき決定された仮メニューを、情報処理装置1に対する入力として決定する。
一方、過去に押下操作が検出されていない場合には(Op.14No)、入力装置10は、処理を終了する。つまり、取得した画像において押下操作が検出されず(Op.6No)、さらに過去にも押下操作が検出されていない場合には(Op.14No)、ユーザは押下操作を行っていないため、情報処理装置1に入力を行わない。
ここで、Op,4において、検出部12が、指先を構成する特徴点を検出できなかった場合に(Op.4No)、推定部12は、過去に押下操作を検出しているか否かを判定する(Op.21)。推定部14は、記憶部18に、押下位置P1および距離L1が記憶されている場合に、過去に押下操作が検出されたことを判定する。
過去に押下操作を検出していない場合は(Op.21No)、入力装置10は、処理を終了する。このとき、メニューは選択されない。
一方、過去に押下操作を検出している場合は(Op.21Yes)、推定部14は、押下が継続しているかを、判定する(Op.22)。なお、Op.22において行われる押下の継続判定を、第一の押下継続判定と称する。
ここで、第一の押下継続判定について説明する。図9A乃至図9Cは、第一の押下継続判定を説明するための図である。なお、図9A乃至図9Cは、2つの撮像装置21に基づく2つの二値画像のうちの一方の二値画像における手指領域を示している。ただし、図9A乃至図9Cでは、指先は、手の甲部分に隠れて、画像には写っていないことを示している。
図9A乃至図9Cは、手指領域91乃至手指領域93と、記憶部18に記憶されている押下位置P1との関係を示している。例えば、図9Aを対象として、検出部12が特徴点の検出処理を実行した結果、指先を検出することはできない。
そこで、推定部14は、押下操作が継続しているか否かを、最新の二値画像における手指領域91の情報と、記憶部18に記憶されている押下位置P1とに基づき、推定する。ここでは、最新の二値画像における手指領域に、押下位置P1が含まれる場合に、推定部14は、ユーザによる押下操作は継続していると判定する。
ユーザは、過去に押下操作を行った際の指先の位置(押下位置P1)を、固定した状態で、指の角度を調整するため、押下操作が継続されている限りは、押下位置P1は、最新の二値画像においても、ほぼ同様の位置であることが推定できる。言い換えると、押下操作が継続されている限り、押下位置P1に指先を配置することができる位置に手の甲も存在することになる。したがって、最新の画像における手指領域は、過去の押下位置P1を含むことができる場合、押下操作が継続していると判定することができる。例えば、図9Aや図9Bの場合、推定部14は、第一の押下継続判定において、押下操作が継続していることを判定する。
一方、最新の画像から指先を検出することができず、さらに、最新の画像における手指領域が過去の押下位置P1を含まない場合は、推定部14は、押下操作が解除されたと推定することができる。例えば、図9Cの場合、推定部14は、第一の押下継続判定において、押下操作が解除されたことを判定する。手領域93と押下位置P1とが重複していないことは、押下位置P1をほぼ動かさない状態でユーザが指の角度を調節する限りはありえないためである。
押下操作が継続されている場合には(Op.22Yes)、2つの撮像装置が各々撮影した最新の画像の二値画像における手指領域にもとづき、重心位置G2を算出する(Op.23)。重心位置G2の算出方法は、重心位置G1の算出方法と同様である。重心位置G2は、重心位置G1と同様、いずれかの二値画像における重心位置(x,y)を、重心位置G2のX座標、およびY座標とする。さらに、実空間における、重心と撮像装置21との距離を、重心位置G2のZ座標とする。
つぎに、過去の押下位置P1と、最新の重心位置G2とに基づき、推定部14は、過去の押下位置P1と最新の重心位置G2との距離L2を算出する(Op.24)。そして、推定部14は、ここで、さらに押下操作が継続しているか否かを判定する(Op.25)。なお、Op.25において行われる押下の継続判定を、第二の押下継続判定と称する。
図10は、第二の押下継続判定を説明するための図である。押下操作を検出した時点での、押下位置P1と過去の重心位置G1との距離L1よりも、押下位置P1と現時点での重心位置G2との距離L2のほうが大きければ、推定部14は、押下操作は解除されていることが推定できる。図10のように、距離L2のほうが距離L1よりも大きければ、ユーザは押下操作を解除している。
押下操作が継続されている場合には(Op.25Yes)、推定部14は、過去の押下位置P1と、最新の重心位置G2を用いて、指の角度θ2を算出する(Op.26)。そして、算出されたθ2に基づき、選択部15は、複数のメニューのうち、いずれかのメニューを、仮メニューとして決定する(Op.27)。ここで決定された仮メニューは、一時的に記憶部18へ記憶される。
つぎに、表示制御部16は、Op.13と同様、表示装置22に、仮メニューとして決定されたメニューを、他のメニューとは異なる態様で表示させる(Op.28)。
一方、第一の押下継続判定において押下が解除されていることが判定された場合(Op.22No)、または、第二の押下継続判定において押下が解除されていることが判定された場合(Op.25No)、推定部14は、押下の解除を、選択部15へ通知する。そして、選択部15は、記憶部18を参照し、記憶部18に仮メニューとして登録されているメニューを、情報処理装置1への入力として確定する(Op.29)。
さらに、つぎに、出力部17は、選択部15が確定したメニューを、情報処理装置1へ出力する(Op.30)。なお、選択部15は、メニューを確定した後、記憶部18に記憶されている押下位置P1および距離L1を消去する。
以上のように、入力装置10は、押下操作およびそれに続く指の角度調節に応じて、ユーザが希望するメニューを、情報処理装置1へ入力することができる。ユーザは、タッチパネルを利用するメニュー選択方式等と比較して、より直感的にメニュー選択を行うことができる。つまり、ユーザにとって、操作性が向上する。
さらに、入力装置10は、押下操作の支点となる指の先端が、手の甲に隠れている場合であっても、押下操作が継続しているか否かを判定することができる。そして、押下操作が継続している場合には、推定した指の角度に基づき、角度に応じた仮メニューを決定することができる。また、押下操作が解除された場合には、解除を検出して、メニューを確定することができる。
図11は入力装置10のハードウェア構成の一例を示す図である。コンピュータ1000は、上述した入力処理を実行し、入力装置10として機能する。なお、コンピュータ1000は、入力装置10を含む情報処理装置1として機能しても良い。さらに、図1に示すプロジェクター2が、入力装置10として機能してもよい。この場合には、プロジェクター2がコンピュータ1000である。
コンピュータ1000はCPU(Central Processing Unit)1001、ROM(Read Only Memory)1002、RAM(Random Access Memory)1003、HDD(Hard Disk Drive)1005、媒体読取装置1006を有しており、各部はバス1007を介して相互に接続されている。そしてCPU1001による管理下で相互にデータの送受を行うことができる。
各実施例のフローチャートに示した入力処理が記述された入力プログラムは、コンピュータが読み取り可能な記録媒体に記録される。コンピュータが読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、HDD、フレキシブルディスク(FD)、磁気テープ(MT)などがある。
光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc − Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto − OPtical disk)などがある。このプログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売されることが考えられる。
そして入力プログラムを実行するコンピュータ1000は、例えば媒体読取装置1006が、入力プログラムを記録した記録媒体から、該プログラムを読み出す。CPU1001は、読み出されたプログラムをHDD1005若しくはROM1002、RAM1003に格納する。
CPU1001は、入力装置10全体の動作制御を司る中央処理装置である。そして、CPU1001が、入力プログラムをHDD1005から読み出して実行することで、CPU1001は、図2に示す取得部11、検出部12、演算部13、推定部14、選択部15、表示制御部16、出力部17として機能するようになる。入力プログラムはCPU1001とアクセス可能なROM1002またはRAM1003に格納されていても良い。
なお、取得部11が、ネットワークを介して、撮像装置21から画像を取得する場合は、通信装置1004が取得部11として機能する。つまり、コンピュータ1000は、さらに通信装置1004を有しても良い。また、入力装置10が表示装置22とネットワークを介して通信する場合は、通信装置1004が出力部17として機能する。
さらにHDD1005は、CPU1001の管理下で図2に示す記憶部18として機能する。つまり、HDD1005は、設定情報を記憶する。プログラム同様、設定情報はCPU1001とアクセス可能なROM1002またはRAM1003に格納されても良い。
また、図7および図8の処理の過程で生成される情報は、記憶部18として機能するRAM1003に、一時的に記憶される。つまり、記憶部18のデータは、HDD1005や、ROM1002またはRAM1003などの記憶装置に格納される。
また、入力装置10が通信装置1004を有する場合は、ネットワークを介して他の装置からの信号を受信し、その信号の内容をCPU1001に渡す。さらに通信装置1004はCPU1001からの指示に応じてネットワークを介して他の装置に信号を送信する。
なお、入力装置10または情報処理装置1が、撮像装置21や表示装置22を有してもよい。撮像装置21は、所定のフレーム間隔で撮影を行い、デジタル信号に変換したのち、撮影した画像をCPU1001に対して出力する。撮像装置21は、例えばCCD(Charge Coupled Device)センサ又はCMOS(Complementary Metal Oxide Semiconductor)センサを有し、例えば、ユーザの手を撮影する。
表示装置22は、例えばプロジェクターやディスプレイである。ユーザが、指の角度に対応して選択されているメニューがいずれのメニューであるかを、投影または表示する。
(変形例)
ここで、図1に示す利用形態とは異なる他の利用形態の例を説明する。例えば、車内に設置されたカメラが、ユーザの手および指を撮影する。なお、操作領域はカメラから撮像可能な領域であって、例えば、ユーザの足(腿)等である。そして、カーナビゲーションシステムがカメラから画像を取得する。
カーナビゲーションシステムは、入力装置を備えるとともに、情報処理装置としても機能する。カーナビゲーションシステムは、カメラから取得した画像に基づき、指の角度を算出し、メニューを選択する。そして、カーナビゲーションシステムは、選択されたメニューを実行する。また、選択されたメニューを、カーナビゲーションシステムが有するディスプレイに表示してもよい。
1 情報処理装置
10 入力装置
11 取得部
12 検出部
13 演算部
14 推定部
15 選択部
16 表示制御部
17 出力部
18 記憶部
21 撮像装置
22 表示装置
1000 コンピュータ
1001 CPU
1002 ROM
1003 RAM
1004 通信装置
1005 HDD
1006 媒体読取装置
1007 バス

Claims (6)

  1. コンピュータに、
    撮像装置から画像を取得し、
    前記画像における対象物の形状に基づき、該対象物における先端部分を構成する特徴点を検出し、
    前記特徴点と、該画像から抽出された該対象物の領域の情報とに基づき、該特徴点を支点とする押下操作がなされた面に対する前記対象物の角度を算出し、
    前記角度に基づき、複数の入力候補のうちの一つの入力候補を選択する処理を実行させる入力プログラム。
  2. 前記画像よりも後に撮像された他の画像を取得し、
    前記他の画像から特徴点を検出できない場合に、該他の画像から抽出された対象物の領域の情報と、前記画像から検出した前記特徴点とに基づき、該他の画像における前記対象物の角度を算出し、
    前記他の角度に基づき、複数の入力候補のうちの一つの入力候補を選択する処理を実行する請求項1記載の入力プログラム。
  3. 前記他の画像における特徴点を検出できない場合は、前記押下操作が継続しているかを判定し、
    前記押下操作が継続していない場合に、過去に選択された前記一つの入力候補を、他の装置へ入力する処理を実行する請求項2に記載の入力プログラム。
  4. 前記押下操作が継続しているかの判定は、前記画像から検出した特徴点と、前記他の画像における対象物の領域との位置関係に基づき行われることを特徴とする請求項2または3に記載の入力プログラム。
  5. 撮像装置から画像を取得する取得部と
    前記画像における対象物の形状に基づき、該対象物における先端部分を構成する特徴点を検出する検出部と、
    前記特徴点と、該画像から抽出された該対象物の領域の情報とに基づき、該特徴点を支点とする押下操作がなされた面に対する前記対象物の角度を算出する演算部と、
    前記角度に基づき、複数の入力候補のうちの一つの入力候補を選択する選択部とを有する入力装置。
  6. コンピュータが、
    撮像装置から画像を取得し、
    前記画像における対象物の形状に基づき、該対象物における先端部分を構成する特徴点を検出し、
    前記特徴点と、該画像から抽出された該対象物の領域の情報とに基づき、該特徴点を支点とする押下操作がなされた面に対する前記対象物の角度を算出し、
    前記角度に基づき、複数の入力候補のうちの一つの入力候補を選択する処理を実行することを特徴とする入力方法。
JP2013009769A 2013-01-23 2013-01-23 入力プログラム、入力装置および入力方法 Active JP6028589B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013009769A JP6028589B2 (ja) 2013-01-23 2013-01-23 入力プログラム、入力装置および入力方法
US14/086,535 US9348465B2 (en) 2013-01-23 2013-11-21 Input method, input device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013009769A JP6028589B2 (ja) 2013-01-23 2013-01-23 入力プログラム、入力装置および入力方法

Publications (2)

Publication Number Publication Date
JP2014142737A true JP2014142737A (ja) 2014-08-07
JP6028589B2 JP6028589B2 (ja) 2016-11-16

Family

ID=51207315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013009769A Active JP6028589B2 (ja) 2013-01-23 2013-01-23 入力プログラム、入力装置および入力方法

Country Status (2)

Country Link
US (1) US9348465B2 (ja)
JP (1) JP6028589B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201528119A (zh) * 2014-01-13 2015-07-16 Univ Nat Taiwan Science Tech 一種基於筆影偵測模擬手繪板之方法
JP6482196B2 (ja) * 2014-07-09 2019-03-13 キヤノン株式会社 画像処理装置、その制御方法、プログラム、及び記憶媒体
JP6452456B2 (ja) * 2015-01-09 2019-01-16 キヤノン株式会社 情報処理装置とその制御方法、プログラム、記憶媒体
JP7051287B2 (ja) 2016-12-05 2022-04-11 株式会社ソニー・インタラクティブエンタテインメント システム、治具、および情報処理方法
JP6705738B2 (ja) * 2016-12-05 2020-06-03 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理方法、およびプログラム
KR101979537B1 (ko) * 2018-02-06 2019-05-16 윤일식 모니터를 이용한 엘리베이터의 동작제어장치 및 방법
JP6705950B2 (ja) * 2017-02-08 2020-06-03 ユン,イル シク モニタを用いたエレベータの動作制御装置および方法
EP3677997B1 (en) * 2019-01-03 2021-10-13 HTC Corporation Electronic system and controller

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009280A (ja) * 2007-06-27 2009-01-15 Toyota Infotechnology Center Co Ltd 3次元署名認証システム
JP2011008424A (ja) * 2009-06-24 2011-01-13 Sharp Corp 電子機器、動作モード設定方法、およびプログラム
JP2011113133A (ja) * 2009-11-24 2011-06-09 Sharp Corp 画像処理装置、制御プログラム、コンピュータ読み取り可能な記録媒体及び画像処理装置の制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895737A (ja) 1994-09-28 1996-04-12 Wacom Co Ltd デジタイザによる操作メニュー表示方法
JP3804212B2 (ja) 1997-09-18 2006-08-02 ソニー株式会社 情報入力装置
US20090167702A1 (en) * 2008-01-02 2009-07-02 Nokia Corporation Pointing device detection
HK1147905A2 (en) * 2010-06-30 2011-08-19 Chi Ching Lee System and method for virtual touch sensing
JP2013065061A (ja) * 2011-09-15 2013-04-11 Funai Electric Co Ltd プロジェクタ
US9092090B2 (en) * 2012-05-17 2015-07-28 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Structured light for touch or gesture detection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009280A (ja) * 2007-06-27 2009-01-15 Toyota Infotechnology Center Co Ltd 3次元署名認証システム
JP2011008424A (ja) * 2009-06-24 2011-01-13 Sharp Corp 電子機器、動作モード設定方法、およびプログラム
JP2011113133A (ja) * 2009-11-24 2011-06-09 Sharp Corp 画像処理装置、制御プログラム、コンピュータ読み取り可能な記録媒体及び画像処理装置の制御方法

Also Published As

Publication number Publication date
US20140204018A1 (en) 2014-07-24
JP6028589B2 (ja) 2016-11-16
US9348465B2 (en) 2016-05-24

Similar Documents

Publication Publication Date Title
JP6028589B2 (ja) 入力プログラム、入力装置および入力方法
US10082879B2 (en) Head mounted display device and control method
JP6089722B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP6248533B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP6417702B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP5077956B2 (ja) 情報端末装置
JP6221505B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP6201379B2 (ja) 位置算出システム、位置算出プログラム、および、位置算出方法
US9916043B2 (en) Information processing apparatus for recognizing user operation based on an image
JP5769277B2 (ja) 入力装置、入力方法及びプログラム
JP7378354B2 (ja) ライブ動画ストリームからの指の押下の検出
JP6455186B2 (ja) 指先位置推定装置、指先位置推定方法、及び、プログラム
JP5962249B2 (ja) 文字入力プログラム、情報処理装置および文字入力方法
GB2530150A (en) Information processing apparatus for detecting object from image, method for controlling the apparatus, and storage medium
WO2011142313A1 (ja) 物体認識装置、方法、プログラム、および該ソフトウェアを格納したコンピュータ可読媒体
JP2014029656A (ja) 画像処理装置および画像処理方法
JP6229554B2 (ja) 検出装置および検出方法
US10416814B2 (en) Information processing apparatus to display an image on a flat surface, method of controlling the same, and storage medium
US10365770B2 (en) Information processing apparatus, method for controlling the same, and storage medium
CN113673536B (zh) 一种图像颜色提取方法、系统及介质
KR101200009B1 (ko) 사용자의 손 동작을 이용하여 제어 기능을 제공하기 위한 프리젠테이션 시스템 및 그 방법
JP2021056899A (ja) 画像処理装置、画像処理方法およびプログラム
JP2024032043A (ja) 検出方法、検出装置及びプログラム
KR20060018193A (ko) 카메라가 부착된 마우스 및 그를 이용한 마우스 위치신호생성 방법.
JP5983132B2 (ja) 位置決定装置、位置決定システム、位置決定方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150903

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20160401

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160808

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160920

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161003

R150 Certificate of patent or registration of utility model

Ref document number: 6028589

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150