JP2012063824A - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP2012063824A
JP2012063824A JP2010205311A JP2010205311A JP2012063824A JP 2012063824 A JP2012063824 A JP 2012063824A JP 2010205311 A JP2010205311 A JP 2010205311A JP 2010205311 A JP2010205311 A JP 2010205311A JP 2012063824 A JP2012063824 A JP 2012063824A
Authority
JP
Japan
Prior art keywords
user
movement
pointer
calculated
processing unit
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.)
Withdrawn
Application number
JP2010205311A
Other languages
English (en)
Inventor
Kazumi Munekata
和視 宗片
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2010205311A priority Critical patent/JP2012063824A/ja
Priority to CN2011102642023A priority patent/CN102402283A/zh
Priority to US13/226,966 priority patent/US9013402B2/en
Publication of JP2012063824A publication Critical patent/JP2012063824A/ja
Withdrawn legal-status Critical Current

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/0304Detection arrangements using opto-electronic means
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry

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)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】ユーザの動きに応じて、ユーザの意図する処理を正確に実行する。
【解決手段】画像処理部17は、異なる複数の座標軸上の値により表される、ユーザの位置を表すユーザ位置を検出し、モード処理部19は、ユーザ位置を表す複数の座標軸上の値のうち、少なくとも1軸上の値により定義される座標点に基づいて、ユーザの動きを示すユーザ動き情報を算出し、算出したユーザ動き情報に基づいて、ユーザの動きに応じて実行される複数の処理の中から、実行すべき処理を決定し、決定した処理を実行する。本発明は、例えばユーザの3次元位置を検出する検出装置に適用できる。
【選択図】図1

Description

本発明は、情報処理装置、情報処理方法、及びプログラムに関し、特に、例えば、ユーザの手等の動きに基づいて、ユーザの意図する処理を正確に実行できるようにした情報処理装置、情報処理方法、及びプログラムに関する。
ユーザを撮像して得られる撮像画像上から、ユーザの顔や手などのように肌が露出している領域(以下、肌領域という)を検出する肌検出技術が存在する(例えば、特許文献1乃至4を参照)。
この肌検出技術では、波長λ1の光が照射されている被写体(ユーザ)を撮像した第1の画像と、波長λ1とは異なる波長λ2の光が照射されている被写体を撮像した第2の画像との輝度値の差分が所定の閾値よりも大きな領域を肌領域として検出する。
なお、波長λ1,λ2は、人間の肌の反射特性に依存して決定される。すなわち、波長λ1,λ2は、人の肌に照射したときの反射率が異なり、かつ、人の肌以外(例えば、髪の毛、衣服など)に照射したときの反射率がほぼ等しいものに決定されている。具体的には、例えば、波長λ1は850nm、波長λ2は970nmとされている。
また、肌検出技術では、検出した肌領域に基づいて、肌領域に対応するユーザの手等の3次元位置(x,y,z)を検出する。そして、検出した3次元位置(x,y,z)に基づいて、ディスプレイ上のポインタを移動させるポインタ移動処理や、ポインタが存在する位置でのクリック操作を検出するクリック検出処理等を行なう。
特開2006−47067号公報 特開平06−123700号公報 特開平05−329163号公報 特開2008−27242号公報
しかしながら、肌検出技術のように、肌領域に基づいてユーザの手等の3次元位置(x,y,z)を検出する場合、3次元位置(x,y,z)の検出精度によっては、検出される3次元位置(x,y,z)が大きく変動することが生じ得る。
具体的には、例えば、ユーザが、ディスプレイ上のポインタを移動させるために、自身の手を、X方向及びY方向(ユーザを基準とする水平方向及び垂直方向)にのみ移動させたとしても、検出される3次元位置(x,y,z)において、x及びyの他、zも大きく変動することが生じ得る。
この場合、ユーザの意図した処理として、ディスプレイ上のポインタを移動させるポインタ移動処理が行なわれるとともに、ユーザの意図しない処理として、ユーザの手がZ方向に移動したことに対応して、クリック操作を検出するクリック検出処理が行なわれてしまうことになる。
また、例えば、ユーザがポインタを所定の位置に移動させた後、所定の位置でのクリック操作を行うために、自身の手をZ方向(ユーザを基準とする前後方向)にのみ移動させたとしても、検出される3次元位置(x,y,z)において、zの他、x及びyも大きく変動することが生じ得る。
この場合、ユーザの意図した処理として、クリック検出処理が行なわれるのみならず、ユーザの意図しない処理として、ポインタ移動処理が行なわれることが生じ得る。
本発明は、このような状況に鑑みてなされたものであり、ユーザの動きに応じて、ユーザの意図する処理を正確に実行できるようにしたものである。
本発明の一側面の情報処理装置は、異なる複数の座標軸上の値により表される、ユーザの位置を表すユーザ位置を検出するユーザ位置検出手段と、前記ユーザ位置を表す前記複数の座標軸上の値のうち、少なくとも1軸上の値により定義される座標点に基づいて、前記ユーザの動きを示すユーザ動き情報を算出する算出手段と、算出された前記ユーザ動き情報に基づいて、前記ユーザの動きに応じて実行される複数の処理の中から、実行すべき処理を決定する決定手段と、決定された前記処理を実行する実行手段とを含む情報処理装置である。
前記算出手段には、前記ユーザ動き情報として、所定の時間内における前記座標点の移動量、移動方向、速さ、又は前記座標点が描く軌跡の曲率の少なくとも1つを算出させることができる。
第1の波長の光を前記ユーザに照射する第1の照射手段と、前記第1の波長よりも長波長である第2の波長の光を前記ユーザに照射する第2の照射手段と、前記第1の波長の光が照射されているときに入射される前記ユーザからの反射光に基づいて第1の画像を生成するとともに、前記第2の波長の光が照射されているときに入射される前記ユーザからの反射光に基づいて第2の画像を生成する撮像生成手段と、生成された前記第1及び第2の画像に基づいて、前記ユーザの肌を表す肌領域を検出する肌領域検出手段とをさらに設けることができ、前記ユーザ位置検出手段には、前記肌領域に基づいて、前記ユーザ位置を検出させることができる。
前記ユーザ動きに応じて移動するポインタを表示させる表示制御手段をさらに設けることができる。
前記表示制御手段には、前記ユーザ動き情報、前記決定手段により決定された処理、前記ユーザ位置検出手段の検出結果、前記肌領域検出手段の検出結果、又は前記ポインタの動きを示すポインタ動き情報の少なくとも1つを表示させることができる。
前記表示制御手段には、前記ユーザ位置検出手段による検出結果として、検出された前記ユーザ位置を表す前記複数の座標軸上の値の少なくとも1つを表示させることができる。
前記表示制御手段には、前記ポインタ動き情報として、前記ポインタが移動している方向、又は前記ポインタの軌跡を示す情報の少なくとも1つを表示させることができる。
検出された前記ユーザ位置が異常なデータであるか否かを判定するデータ判定手段をさらに設けることができ、
前記算出手段には、検出された複数の前記ユーザ位置のうち、異常なデータではないと判定された前記ユーザ位置を表す前記複数の座標軸上の値のうち、少なくとも1軸上の値により定義される座標点に基づいて、前記ユーザ動き情報を算出させることができる。
前記ユーザ位置検出手段には、前記ユーザ位置として、異なる3本の座標軸上の値により表される3次元位置を検出させ、前記算出手段には、前記3本の座標軸のうち、2本の座標軸上の値により定義される第1の座標点に基づいて、第1の前記ユーザ動き情報を算出させ、前記3本の座標軸のうち、残りの座標軸上の値により定義される第2の座標点に基づいて、前記第1のユーザ動き情報とは異なる第2の前記ユーザ動き情報を算出させることができる。
前記決定手段には、前記ユーザの動きに応じて実行すべき処理として、表示部に表示しているポインタを移動させるポインタモード処理、前記ユーザによる選択又は実行を指示するクリック操作を検出するクリックモード処理、前記ポインタが円の軌跡を描いて移動したことに対応して、前記円の軌跡に対応する処理を行なう回転モード処理、前記ポインタが直線の軌跡を描いて移動したことに対応して、前記直線の軌跡に対応する処理を行なうラインモード処理のいずれか1つを決定させることができる。
本発明の一側面の情報処理方法は、ユーザの動きに応じた処理を実行する情報処理装置の情報処理方法であって、前記情報処理装置は、ユーザ位置検出手段と、算出手段と、選択手段と、実行手段とを含み、前記ユーザ位置検出手段が、異なる複数の座標軸上の値により表される、ユーザの位置を表すユーザ位置を検出し、前記算出手段が、前記ユーザ位置を表す前記複数の座標軸上の値のうち、少なくとも1軸上の値により定義される座標点に基づいて、前記ユーザの動きを示すユーザ動き情報を算出し、前記決定手段が、算出された前記ユーザ動き情報に基づいて、前記ユーザの動きに応じて実行される複数の処理の中から、実行すべき処理を決定し、前記実行手段が、決定された前記処理を実行するステップを含む情報処理方法である。
本発明の一側面のプログラムは、コンピュータを、異なる複数の座標軸上の値により表される、ユーザの位置を表すユーザ位置を検出するユーザ位置検出手段と、前記ユーザ位置を表す前記複数の座標軸上の値のうち、少なくとも1軸上の値により定義される座標点に基づいて、前記ユーザの動きを示すユーザ動き情報を算出する算出手段と、算出された前記ユーザ動き情報に基づいて、前記ユーザの動きに応じて実行される複数の処理の中から、実行すべき処理を決定する決定手段と、決定された前記処理を実行する実行手段として機能させるためのプログラムである。
本発明によれば、異なる複数の座標軸上の値により表される、ユーザの位置を表すユーザ位置が検出され、前記ユーザ位置を表す前記複数の座標軸上の値のうち、少なくとも1軸上の値により定義される座標点に基づいて、前記ユーザの動きを示すユーザ動き情報が算出され、算出された前記ユーザ動き情報に基づいて、前記ユーザの動きに応じて実行される複数の処理の中から、実行すべき処理が決定され、決定された前記処理が実行される。
本発明によれば、ユーザの動きに応じて、ユーザの意図する処理を正確に実行することが可能となる。
本発明を適用した検出装置の構成例を示すブロック図である。 表示部の表示例を示す第1の図である。 表示部の表示例を示す第2の図である。 ユーザの手から撮像部の集光レンズまでの距離に応じて、ポインタが描く円の軌跡が異なることを示す図である。 画像処理部が3次元位置を変換するときの様子の一例を示す図である。 検出装置が行なう第1の割込処理を説明するためのフローチャートである。 座標算出処理の詳細を説明するためのフローチャートである。 クリックモード処理の詳細を説明するためのフローチャートである。 回転モード処理の詳細を説明するためのフローチャートである。 検出装置が行なう第2の割込処理を説明するためのフローチャートである。 モード選択処理の詳細を説明するためのフローチャートである。 ラインモード処理の詳細を説明するためのフローチャートである。 チュートリアルモードを説明するための第1の図である。 チュートリアルモードを説明するための第2の図である。 コンピュータの構成例を示すブロック図である。
以下、発明を実施するための形態(以下、本実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.本実施の形態(ユーザの3次元位置に応じて、実行する処理を1つ選択する場合の一例)
2.変形例
<1.本実施の形態>
[検出装置の構成例]
図1は、本実施の形態である検出装置1の構成例を示している。この検出装置1は、撮像した画像から検出対象物21となる人の肌領域(例えば、顔、手など)を検出するものである。そして、検出した肌領域に基づいて、後述する図2及び図3に示されるポインタ61の移動や、ユーザによる選択又は実行を指示するクリック操作の検出等を行わせるものである。
検出装置1は、制御部11、LED(light emitting diode)制御部12、LED13−1及び13−2、光学フィルタ14、撮像部15、撮像制御部16、画像処理部17、保持部18、モード処理部19並びに表示部20から構成される。
制御部11は、検出装置1の各部の動作を統括して制御する。LED制御部12は、制御部11からの制御に従い、LED13−1及び13−2の点灯タイミング、消灯タイミング、出力レベルを制御する。LED13−1は、LED制御部12の制御に従い、発光スペクトルのピーク波長がλ1である光(以下、波長λ1の光という)を発光する。LED13−2は、LED制御部12の制御に従い、発光スペクトルのピーク波長がλ2である光(以下、波長λ2の光という)を発光する。
なお、波長λ1及びλ2の値は、人間の肌の反射特性に依存して決定される。すなわち、波長λ1,λ2は、人の肌に照射したときの反射率が異なり、かつ、人の肌以外(例えば、髪の毛、衣服など)に照射したときの反射率がほぼ等しいものに決定されている。
具体的には、例えば、波長λ1の値は640nmから1000nm、波長λ1よりも長波長側の波長λ2の値は900nmから1100nmとされる。
光学フィルタ14は、撮像部15に入射する光を制限するよう撮像部15の前面に設けられており、その分光特性として第1の波長から第2の波長までの光を透過し、それ以外の光を吸収(遮断)するようになされている。
なお、第1の波長及び第2の波長は、光学フィルタ14が、波長λ1の光及びλ2の光を透過できるように、波長λ1及びλ2の値に応じて決定される。
撮像部15は、集光レンズ(図4及び図5の集光レンズ71)と、CCD、CMOSなどの撮像素子とを内蔵しており、撮像制御部16からの制御に従い、光学フィルタ14を透過してきた光(被写体からの反射光)を受光して画像を生成する。なお、LED13−1が波長λ1の光を発光しているときに生成される画像を第1の画像とし、LED13−2が波長λ2の光を発光しているときに生成される画像を第2の画像とする。
撮像制御部16は、制御部11からの制御に従い、撮像部15の撮像タイミング、輝度増幅のゲインなどを制御する。また、撮像制御部16は、撮像部15により生成された第1及び第2の画像を画像処理部17に出力する。
画像処理部17は、第1の画像及び第2の画像に基づいて、被写体の肌領域を検出する。そして、画像処理部17は、検出した肌領域に基づいて、被写体の3次元位置(x,y,z)tを算出し、保持部18に供給して記憶させる。なお、3次元位置(x,y,z)tは、t番目に算出された3次元位置(x,y,z)を表す。3次元位置(x,y,z)は、例えば、撮像部15の集光レンズの光軸方向をZ軸とし、撮像部15の水平方向をX軸とし、撮像部15の垂直方向をY軸とするXYZ座標軸上に定義される。
また、画像処理部17は、3次元位置(x,y,z)tを保持部18に供給して記憶させる際に、3次元位置(x,y,z)tに対して所定の変換式を用いた変換処理を行う。この変換処理の詳細は、図4及び図5を参照して後述する。
保持部18は、画像処理部17により算出される最新の3次元位置(x,y,z)t、及び表示部20に表示されるアイコンがフォーカス(選択)されているか否かを表すフォーカス情報を保持(記憶)する。なお、保持部18には、被写体の3次元位置(x,y,z)tとして、例えば、最新に算出された10個以上の3次元位置(x,y,z)が記憶されているものとする。
モード処理部19は、保持部18に記憶されている被写体の3次元位置(x,y,z)tに基づいて、ユーザによるクリック操作が行なわれたか否かを判定するクリックモード処理、ポインタ61の移動に応じて、フォーカスするアイコンを順次変更する回転モード処理、又はポインタ61を移動させるポインタモード処理のいずれかの処理を実行する。
表示部20は、モード処理部19からの制御にしたがって、図2や図3に示されるような画像を表示する。
[表示部20における第1の表示例]
図2は、モード処理部19により、ポインタモード処理が行なわれた場合における表示部20の表示画面の一例を示している。
図2には、6枚の画像データそれぞれを表すアイコン41乃至46が表示されている。
モード処理部19は、ポインタモード処理を行なう場合、保持部18に保持されている被写体の3次元位置(x,y,z)tのうち、最新に算出された3次元位置(x,y,z)tに対応する、表示部20の表示画面上の位置に、ポインタ61を移動させる。
具体的には、例えば、ユーザが、検出装置1における撮像部15の前で、点線で示されるポインタ61を、アイコン41上の位置に移動させるように、ユーザの手を右下から左上方向に移動させたことに対応して、ポインタ61を、表示部20の表示画面における右下の位置から、アイコン41上の位置に移動させる。
[表示部20における第2の表示例]
次に、図3は、モード処理部19により、回転モード処理が行なわれた場合における表示部20の表示画面の一例を示している。
モード処理部19は、回転モード処理を行なう場合、保持部18に保持されている被写体の3次元位置(x,y,z)により、ポインタ61が、時計回り(右回り)に円を描くように移動されたか、それとも、反時計回り(左回り)に円を描くように移動されたかを判定する。
そして、モード処理部19は、図3に示されるように、ポインタ61が、時計回りに円を描くように移動されたと判定する毎に、時計回りに新たにアイコンを選択する。
具体的には、例えば、現在、アイコン41が選択されている場合に、モード処理部19が、ポインタ61が時計回りに円を描くように移動されたと判定したとき、選択されているアイコンを、アイコン41から、アイコン41の右隣に存在するアイコン42に変化させる。
なお、モード処理部19は、ポインタ61が、反時計回りに円を描くように移動されたと判定した場合には、反時計回りに新たにアイコンを選択するものとなる。
検出装置1によれば、ユーザが自身の手等を円を描くように移動することに応じて、図3に示されるように、表示部20の表示画面上のポインタ61も同様にして円を描くように移動する。
しかしながら、図4に示されるように、撮像部15の集光レンズ71からユーザの手までの距離に拘らず、ユーザの手が同一半径Xrの円を描くように移動した場合でも、距離に応じて、ポインタ61が描く円の軌跡(特に、円の半径)は異なるものとなる。
すなわち、例えば、ユーザの手が、近距離zmin(例えば、図4でいう距離50mm)で半径Xrの円の軌跡72aを描くように移動された場合、撮像部15の撮像により得られる画像において、ユーザの手は、比較的大きな半径Ximinの円の軌跡72bを描くものとなる。
これに対して、例えば、ユーザの手が、遠距離zmax(例えば、図4でいう距離220mm)で半径Xrの円の軌跡73aを描くように移動された場合、撮像部15の撮像により得られる画像において、ユーザの手は、比較的小さな半径Ximaxの円の軌跡73bを描くものとなる。
この場合、ユーザの手が、同一半径Xrの円の軌跡を描くように移動されたにも拘らず、ユーザの手から集光レンズ71までの距離に応じて、ポインタ61の動きが異なるものとなってしまう。
なお、集光レンズ71の焦点距離をfとすれば、ユーザの手が描く円の半径Xrと、撮像画像上における半径Ximin及びXiminとは、以下の関係式(1)により表される。
Xr={(zmin-f)×Ximin}/f={(zmax-f)×Ximax}/f ・・・(1)
したがって、例えば、画像処理部17は、所定の距離z0を、基準となる基準距離z0とする。そして、画像処理部17は、同一半径Xrで円の軌跡を描くようにユーザの手が移動された場合、任意の距離zにおいて算出した3次元位置(x,y,z)のうちの(x,y)を、距離zに拘らず、基準距離z0において得られる撮像画像上の3次元位置(x',y',z0)のうちの(x',y')に変換するようにしている。そして、画像処理部17は、変換後の3次元位置(x,y,z)(=(x',y',z))を、保持部18に供給して記憶させる。
次に、図5は、画像処理部17が、算出した3次元位置(x,y,z)を変換するときの一例を示している。
図5において、3次元位置74及び75は、ユーザの手等が現実に存在する3次元空間上の位置を表す。また、3次元位置74及び75は、同一のXY位置を表し、異なる距離z(Z位置)を表す。
例えば、ユーザの手が、基準距離z0において3次元位置74に存在する場合、画像処理部17は、基準距離z0における3次元位置(x',y',z0)を算出する。また、例えば、ユーザの手が、任意の距離zにおいて3次元位置75に存在する場合、画像処理部17は、任意の距離zにおける3次元位置(x,y,z)を算出する。
ここで、任意の距離zにおいて算出されるX位置xと、基準距離z0において算出されるX位置x'との関係式(2)、及び任意の距離zにおいて算出されるY位置yと、基準距離z0において算出されるY位置y'との関係式(3)は、以下のように、上述の関係式(1)と同様にして表される。
Xr={(z-f)×x}/f={(z0-f)×x'}/f ・・・(2)
Xr={(z-f)×y}/f={(z0-f)×y'}/f ・・・(3)
関係式(2)をx'について、関係式(3)をy'についてそれぞれ解くと、以下の変換式(4)及び(5)が得られる。
x'={(z-f)×x}/(z0-f) ・・・(4)
y'={(z-f)×y}/(z0-f) ・・・(5)
したがって、画像処理部17は、変換式(4)を用いて、算出した3次元位置(x,y,z)のうちのxをx'に変換する。また、画像処理部17は、変換式(5)を用いて、算出した3次元位置(x,y,z)のうちのyをy'に変換する。そして、画像処理部17は、変換後の3次元位置(x,y,z)(=(x',y',z))を、保持部18に供給して記憶させる。
なお、画像処理部17は、内蔵するメモリ(図示せず)に、予め決められた基準距離z0を保持しているものとする。画像処理部17は、内蔵するメモリに保持されている基準距離z0と算出した3次元位置(x,y,z)とに基づき、変換式(4)及び(5)を用いて、算出した3次元位置(x,y,z)を変換するようにしている。
[検出装置の動作説明]
次に、図6のフローチャートを参照して、検出装置1が行う第1の割込処理について説明する。
なお、この第1の割込処理は、制御部11からの制御に応じて、所定のタイミング毎に開始される。具体的には、例えば、制御部11は、時間を計時するタイマーを有しており、そのタイマーにより所定の時間が経過する毎に、第1の割込処理を実行させる。
ステップS1において、制御部11乃至画像処理部17は、被写体の3次元位置(x,y,z)tを算出する座標算出処理を行う。なお、座標算出処理の詳細は、図7を参照して後述する。
ステップS2において、画像処理部17は、例えば、保持部18に保持されている3次元位置(x,y,z)t-9乃至3次元位置(x,y,z)tに基づいて、修正トンプソン法等の統計処理方法により、今回のステップS1の処理により算出した3次元位置(x,y,z)tが異常データであるか否かを判定する。
なお、修正トンプソン法とは、座標算出処理により算出される複数の3次元位置(x,y,z)に基づく統計処理により、算出した3次元位置(x,y,z)tが統計的に有り得ない異常データであるか否かを判定する方法をいう。
また、修正トンプソン法を用いる場合、少なくとも10個以上の3次元位置(x,y,z)を必要とする。したがって、保持部18は、最新の3次元位置(x,y,z)を、少なくとも10個以上保持するものとなっている。なお、この修正トンプソン法により用いられる3次元位置(x,y,z)は、統計処理による信頼性を確保する観点から、30個以上であることが望ましい。
ステップS2において、画像処理部17は、修正トンプソン法により、算出した3次元位置(x,y,z)tが異常データであると判定した場合、処理をステップS3に進める。そして、画像処理部17は、算出した3次元位置(x,y,z)tを破棄する(保持部18に記憶させない)。
また、ステップS2において、画像処理部17は、修正トンプソン法により、算出した3次元位置(x,y,z)tが異常データではないと判定した場合、処理をステップS4に進める。
ステップS4において、画像処理部17は、保持部18に記憶されている3次元位置(x,y,z)のうち、最も過去に記憶された3次元位置(x,y,z)を削除する。そして、画像処理部17は、算出した3次元位置(x,y,z)tを、保持部18に供給して記憶させる。これにより、保持部18には、常に、最新の3次元位置(x,y,z)が保持されることとなる。
ステップS5において、モード処理部19は、保持部18に記憶されている複数の3次元位置(x,y,z)に基づいて、所定の時間内における座標点(x,y)の移動距離Dxy、及び座標点zの移動距離Dzを算出する。
なお、座標点(x,y)とは、3次元位置(x,y,z)のうち、X軸及びY軸上の値x及びyにより定義される座標点を表す。また、座標点zとは、3次元位置(x,y,z)のうち、Z軸上の値zにより定義される座標点を表す。
すなわち、例えば、ステップS5において、モード処理部19は、保持部18に記憶されている複数の3次元位置(x,y,z)のうち、例えば3次元位置(x,y,z)t及び3次元位置(x,y,z)t-1を読み出す。
そして、モード処理部19は、読み出した3次元位置(x,y,z)t及び3次元位置(x,y,z)t-1に基づいて、座標点(x,y)の移動距離Dxy、及び座標点zの移動距離Dzを算出する。
なお、3次元位置(x,y,z)tにおけるx,y,zをそれぞれ、xt,yt,ztと表すこととすれば、座標点(x,y)の移動距離Dxyは式{(xt-xt-1)2+(yt-yt-1)2}1/2により表され、座標点zの移動距離Dzは式|zt-zt-1|により表される。
ステップS6において、モード処理部19は、算出した移動距離Dxyが、算出した移動距離Dzよりも大きいか否かを判定する。そして、モード処理部19は、算出した移動距離Dxyが、算出した移動距離Dzよりも大きくないと判定した場合、処理をステップS7に進める。
ステップS7では、モード処理部19は、座標点(x,y)及び座標点zのうちの座標点zを選択し、選択した座標点z(保持部18が保持する複数の3次元位置(x,y,z)それぞれの座標点z)に基づくクリックモード処理を行なう。なお、クリックモード処理の詳細は、図8を参照して後述する。
ステップS6において、モード処理部19は、算出した移動距離Dxyが、算出した移動距離Dzよりも大きいと判定した場合、処理をステップS8に進める。
そして、モード処理部19は、座標点(x,y)及び座標点zのうちの座標点(x,y)を選択し、選択した座標点(x,y)(保持部18が保持する複数の3次元位置(x,y,z)それぞれの座標点(x,y))に基づいて、所定の時間における座標点(x,y)の移動速度Vxyを算出する。
ステップS9において、モード処理部19は、算出した移動速度Vxyの大きさが、予め決められた閾値A以上であるか否かを判定し、閾値A以上であると判定した場合、処理をステップS10に進め、回転モード処理を実行する。なお、回転モード処理の詳細は、図9を参照して後述する。
また、ステップS9において、モード処理部19は、算出した移動速度Vxyの大きさが、閾値A以上ではないと判定した場合、処理をステップS11に進め、例えば、算出され保持部18に保持された3次元位置(x,y,z)tの座標点(x,y)に対応する位置に、ポインタ61を移動させるポインタモード処理を実行する。以上で第1の割込処理は終了される。
なお、モード処理部19において、移動速度Vxyの大きさが閾値A以上である場合に、回転モード処理を実行し、移動速度Vxyが閾値A未満である場合に、ポインタモード処理を実行するようにしたのは、以下の理由による。
すなわち、ユーザは、ポインタ61を時計回り又は反時計回りに円を描くように移動させて回転モード処理を実行させる場合、自身の手を移動させて、ポインタ61を移動させるポインタモード処理を実行させる場合と比較して、より速く手を移動させることが多いことによる。なお、閾値Aは、本発明者等により予め行なわれた実験等により求められ、モード処理部19が内蔵するメモリ等(図示せず)に予め記憶されているものとする。
以上説明したように、第1の割込処理によれば、ステップS6の処理において、ユーザの手等の動きを表すユーザ動き情報として算出された移動距離Dxy及び移動距離Dzに基づき、実行すべき処理を、クリックモード処理とするか否かを決定するようにした。
また、処理が、ステップS6からステップS8を介してステップS9に進められた場合、ステップS9において、ユーザ動き情報としての移動速度Vxyに基づき、実行すべき処理を、ポインタモード処理とするか否かを決定するようにしている。
すなわち、処理が、ステップS6からステップS8を介してステップS9に進められた場合には、ユーザ動き情報として、移動距離Dxy及び移動距離Dzの他、移動速度Vxyを用いて、実行すべき処理を、ポインタモード処理とするか否かを決定するようにした。
さらに、処理がステップS9からステップS10に進められた場合、ステップS10の回転モード処理では、図9を参照して後述するように、ユーザ動き情報としての曲率であって、ポインタ61の軌跡についての曲率に基づき、回転モード処理として実行すべき処理(例えば、後述する図9において、ステップS74乃至ステップS76の処理、ステップS78の処理、またはステップS79の処理のいずれか)を決定するようにしている。
すなわち、処理が、ステップS6からステップS8及びステップS9を介してステップS10に進められた場合には、ユーザ動き情報として、移動距離Dxy、移動距離Dz、及び移動速度Vxyの他、曲率を用いて、実行すべき処理を決定するようにした。
このため、第1の割込処理によれば、ユーザ動き情報に基づいて、ユーザの意図する処理を正確に識別して実行することができるとともに、ユーザの意図しない処理が行なわれることを防止できる。
なお、ステップS9乃至ステップS11において、モード処理部19は、算出した移動速度Vxyの大きさが、予め決められた閾値A以上であるか否かに基づいて、行なう処理を決定するようにしているが、移動速度Vxyの大きさに代えて、移動速度Vxyの移動方向に基づいて、行なう処理を決定することができる。
その他、例えば、移動速度Vxyの大きさと移動方向とを用いて、行なう処理を決定するようにしてもよい。
また、ステップS8において、モード処理部19は、選択した座標点(x,y)に基づいて、座標点(x,y)の移動方向と速さ(大きさ)を表すベクトル量として、座標点(x,y)の移動速度Vxyを算出するようにしている。
しかしながら、ステップS8において、モード処理部19は、スカラー量として、座標点(x,y)の速さを算出するようにしてもよい。この場合、ステップS9において、モード処理部19は、算出した座標点(x,y)の速さが、予め決められた閾値A以上であるか否かを判定するものとなる。また、ステップS9において、座標点(x,y)の移動方向に基づき、行う処理を決定する場合には、ステップS8において、座標点(x,y)の移動方向を算出すればよい。
なお、第1の割込処理において、クリックモード処理以外に座標点zを用いて行なう処理が複数存在する場合、例えば、処理がステップS6からステップS7に進められたとき、所定の時間における座標点zの移動速度Vz等が算出され、算出された移動速度Vz等に基づき、座標点zを用いて行なう処理が決定される。
また、例えば、モード処理部19において用いられる座標点として、例えば、座標点(x,y)及び座標点zを採用したが、これに限定されず、その他、例えば、3次元位置(x,y,z)のうち、X軸上の値xにより定義される座標点xや、3次元位置(x,y,z)のうち、X軸及びZ軸上の値x及びzにより定義される座標点(x,z)等を採用することができる。
さらに、例えば、モード処理部19において用いられる座標点として、2個の座標点(座標点(x,y)及び座標点z)を採用したが、座標点の個数は、3個以上とすることができる。
この場合、ステップS5において、モード処理部19は、3個以上の座標点それぞれの移動距離を算出することとなる。そして、それ以降の処理において、3個以上の座標点それぞれの移動距離が用いられて、実行すべき処理が決定される。
[座標算出処理の詳細]
次に、図7のフローチャートを参照して、図6のステップS1における座標算出処理の詳細について説明する。
ステップS31において、LED13−1は、波長λ1の光を被写体に照射する。この照射光は外光とともに被写体により反射され、光学フィルタ14を介して撮像部15に入射される。ステップS32において、撮像部15は、入射された光を光電変換することにより第1の画像を生成し、撮像制御部16に供給する。
ステップS33において、LED13−2により波長λ2の光を被写体に照射する。この照射光は外光とともに被写体により反射され、光学フィルタ14を介して撮像部15に入射される。ステップS34において、撮像部15は、入射された光を光電変換することにより第2の画像を生成し、撮像制御部16に供給する。
撮像制御部16は、撮像部15から供給される第1の画像及び第2の画像を、画像処理部17に供給する。
ステップS35において、画像処理部17は、第1の画像と第2の画像との対応する画素の輝度値Y1,Y2の差分S=Y1−Y2を算出し、その差分Sを所定の閾値と比較することにより2値化し、2値の一方の領域(所定の閾値以上となる差分Sに対応する領域)を肌領域として検出する。
ステップS36において、画像処理部17は、検出した肌領域に基づいて、被写体の3次元位置(x,y,z)tを算出する。すなわち、例えば、画像処理部17は、検出した肌領域の重心を、3次元位置(x,y,z)tのうちの(x,y)として算出する。また、例えば、画像処理部17は、検出した肌領域の大きさに基づいて、3次元位置(x,y,z)tのうちのzとして、被写体までの距離zを算出する。そして、画像処理部17は、図5を参照して説明したようにして、算出した被写体の3次元位置(x,y,z)tのうちの(x,y)を(x',y')に変換し、変換後の3次元位置(x,y,z)t(=(x',y',z)t)を保持部18に供給して記憶(保持)させる。
なお、画像処理部17は、被写体までの距離zが短い程に、肌領域の大きさは大きくなることを利用して、被写体までの距離zを算出している。
また、画像処理部17は、LED13−1及びLED13−2から被写体までの距離が短い程に、肌領域の輝度値(例えば、平均輝度値等)は大きくなることを利用して、被写体までの距離zを算出するようにしてもよい。
以上で座標算出処理は終了され、処理は、図6のステップS1にリターンされる。
[クリックモード処理の詳細]
次に、図8のフローチャートを参照して、図6のステップS7におけるクリックモード処理の詳細について説明する。
ステップS51において、モード処理部19は、選択した座標点z(例えば、保持部18に保持されている複数の3次元位置(x,y,z)それぞれの座標点z)に基づいて、選択した座標点zが所定の時間内に移動した移動距離Dzを算出する。
そして、モード処理部19は、算出した移動距離Dzが、所定の距離閾値以上であるか否かに基づいて、ユーザによるクリック操作(以下、クリック動作ともいう)が行なわれたか否かを判定する。
なお、ステップS51において、モード処理部19は、選択した座標点zに基づき新たに算出される移動距離Dzに代えて、ステップS5の処理で算出した移動距離Dzを用いるようにしてもよい。この場合、新たに移動距離Dzを算出する処理を省略できるため、より迅速に処理を行うことが可能となる。
ステップS51において、モード処理部19は、算出した移動距離Dzが、所定の距離閾値以上であると判定した場合、クリック動作が行なわれたと判定して、処理をステップS52に進める。
ステップS52において、モード処理部19は、保持部18に保持されているフォーカス情報に基づいて、すでにフォーカスされている(選択済みの)アイコンが存在するか否かを判定し、フォーカスされているアイコンが存在すると判定した場合、処理をステップS53に進める。
そして、モード処理部19は、フォーカスされているアイコンの重心位置(x,y)でクリック動作が行なわれたものとして取り扱う。すなわち、例えば、モード処理部19は、フォーカスされたアイコンがクリックされたものとして、そのアイコンがクリックされたことに対応して行われる処理を実行する。
また、ステップS52において、モード処理部19は、保持部18に保持されているフォーカス情報に基づいて、フォーカスされているアイコンが存在しないと判定した場合、処理をステップS54に進める。
ステップS54において、モード処理部19は、複数のアイコン(例えば、図2のアイコン41乃至46)それぞれの重心位置のうち、3次元位置(x,y,z)tの座標点(x,y)に対応する表示画面上の位置(ポインタ61の位置を表す)から最も近くに存在する重心位置を検出する。そして、モード処理部19は、検出した重心位置に対応するアイコンをフォーカス(選択)する。
ステップS55において、モード処理部19は、フォーカスしたアイコンの重心位置と、3次元位置(x,y,z)tの座標点(x,y)に対応する、表示部20の表示画面上の位置との距離を算出し、算出した距離が、選択したアイコンの横と縦との一片のうち、長い方の一片の長さよりも大きいか否かを判定する。
ステップS55において、モード処理部19は、算出した距離が、フォーカスしたアイコンの一片の長さよりも大きいと判定した場合、そのアイコンに対するフォーカスを解除し、クリックモード処理を終了する。
また、ステップS55において、モード処理部19は、算出した距離が、フォーカスしたアイコンの一片の長さよりも大きくないと判定した場合、処理をステップS56に進める。
ステップS56では、モード処理部19は、フォーカスしたアイコンの重心位置(x,y)でクリック動作が行なわれたものとして取り扱う。すなわち、例えば、モード処理部19は、フォーカスしたアイコンがクリックされたものとして、そのアイコンがクリックされたことに対応して行われる処理を実行する。そして、モード処理部19は、保持部18に保持されているフォーカス情報を、ステップS56の処理でクリックされたアイコンがフォーカスされていることを表す情報に更新する。
以上、クリックモード処理が終了した後、処理を、図6のステップS7にリターンし、第1の割込処理は終了される。
以上説明したように、クリックモード処理によれば、ステップS55において、モード処理部19は、算出した距離が、フォーカスしたアイコンの一片の長さよりも大きくないと判定した場合、処理をステップS56に進め、ステップS54の処理でフォーカスしたアイコンがクリックされたものとして取り扱うようにした。
よって、クリックの対象とされるアイコンが、比較的小さい場合でも、所望のアイコンをクリックすることが可能となる。このため、表示部20の表示画面に表示させるアイコンを小さくすることができるので、表示部20の表示画面上により多くのアイコンを表示させることができる。
[回転モード処理の詳細]
次に、図9のフローチャートを参照して、図6のステップS10における回転モード処理の詳細について説明する。
ステップS71において、モード処理部19は、保持部18に保持されている複数の3次元位置(x,y,z)それぞれの座標点(x,y)に基づいて、最小自乗法等により、表示部20の表示画面上におけるポインタ61の軌跡を表す関数を算出する。そして、モード処理部109は、算出した関数に基づいて、その関数が表す曲線(ポインタ61の軌跡)がどの程度曲がっているかの程度を表す曲率を算出する。
ステップS72において、モード処理部19は、ステップS71の処理で算出した関数に基づいて、ポインタ61の軌跡が、時計回りに移動したものであるのか、反時計回りに移動したものであるのかを算出する。
ステップS73では、モード処理部19は、ステップS71の処理で算出した曲率が、閾値Bよりも大きい値であって、閾値Cよりも小さい値であるか否か、すなわち、ユーザが、時計回り又は反時計回りに円を描くようにポインタ61を移動させるときに想定される曲率であるか否かを判定する。
なお、閾値B及びCは、予め決められているものであり、例えば、閾値Bは、表示部20の表示画面(ポインタ61が表示されている画像)の縦と横との長さのうち、短い方の一片の長さの逆数とされる。また、例えば、閾値Cは、閾値Bに所定値を加算したものとされる。閾値B及びCは、例えば、モード処理部19が内蔵するメモリ等(図示せず)に予め保持される。
ステップS73において、モード処理部19は、ステップS71の処理で算出した曲率が、閾値Bよりも大きい値であって、閾値Cよりも小さい値であると判定した場合、すなわち、ユーザが、時計回り又は反時計回りに円を描くようにポインタ61を移動させるときに想定される曲率であると判定した場合、処理をステップS74に進める。
ステップS74において、モード処理部19は、ステップS72の処理で算出したポインタ61の軌跡が、時計回りであるのか否かを判定し、時計回りであると判定した場合、処理をステップS75に進める。そして、モード処理部19は、表示部20に表示されている複数のアイコンを、時計回りに順次選択する。
また、ステップS74において、モード処理部19は、ステップS72の処理で算出したポインタ61の軌跡が、時計回りではない、すなわち、反時計回りであると判定した場合、処理をステップS76に進める。そして、モード処理部19は、表示部20に表示されている複数のアイコンを、反時計回りに順次選択する。
一方、ステップS73において、モード処理部19は、ステップS71の処理で算出した曲率が、閾値Bよりも大きい値であって、閾値Cよりも小さい値ではないと判定した場合、すなわち、ユーザが、時計回り又は反時計回りに円を描くようにポインタ61を移動させるときに想定される曲率ではないと判定した場合、処理をステップS77に進める。
ステップS77において、モード処理部19は、ステップS71の処理で算出した曲率が、閾値B以下であるか否かを判定し、閾値B以下であると判定した場合、処理をステップS78に進め、図8のクリックモード処理を実行して、回転モード処理は終了される。
また、ステップS77において、モード処理部19は、ステップS71の処理で算出した曲率が、閾値B以下ではない、すなわち、閾値C以上であると判定した場合、ポインタモード処理によりポインタ61を移動させてアイコンを選択しようとしている場合であるとみなし、処理をステップS79に進め、3次元位置(x,y,z)tの座標点(x,y)に基づいて、アイコンを選択する。
以上で回転モード処理は終了され、処理は、図6のステップS10にリターンされ、第1の割込処理が終了される。
なお、第1の割込処理では、ユーザ動き情報として、移動距離Dxy、移動距離Dz、移動速度Vxy、及び曲率を用いるようにしたが、その他、例えば、移動速度Vxy及び曲率のみをユーザ動き情報として用いるようにすることもできる。
[検出装置の他の動作説明]
次に、図10のフローチャートを参照して、ユーザ動き情報として、移動速度Vxy及び曲率のみを用いる第2の割込処理について説明する。
なお、この第2の割込処理は、第1の割込処理が開始される場合と同様にして、制御部11からの制御に応じて、所定のタイミング毎に開始される。
ステップS91乃至ステップS94において、図6のステップS1乃至ステップS4と同様の処理が行なわれる。ステップS96において、図6のステップS8と同様にして、所定の時間における座標点(x,y)の移動速度Vxyが算出される。
すなわち、例えば、ステップS96において、モード処理部19は、座標点(x,y)及び座標点zのうちの座標点(x,y)を選択し、選択した座標点(x,y)(保持部18が保持する複数の3次元位置(x,y,z)それぞれの座標点(x,y))に基づいて、所定の時間における座標点(x,y)の移動速度Vxyを算出する。
ステップS96において、モード処理部19は、図6のステップS9の処理と同様にして、算出した移動速度Vxyの大きさが、予め決められた閾値A1以上であるか否かを判定し、閾値A1以上であると判定した場合、処理をステップS97に進め、図9の回転モード処理を実行する。
また、ステップS96において、モード処理部19は、算出した移動速度Vxyの大きさが、閾値A1以上ではないと判定した場合、処理をステップS98に進める。そして、モード処理部19は、算出した移動速度Vxyの大きさが、閾値A1よりも小さな閾値A2以上であるか否かを判定し、閾値A2以上であると判定した場合、すなわち、算出した移動速度Vxyの大きさが、閾値A2以上であって閾値A1未満であると判定した場合、処理をステップS99に進める。ステップS99では、モード処理部19は、図6のステップS11の処理と同様のポインタモード処理を実行する。
また、ステップS98において、モード処理部19は、算出した移動速度Vxyの大きさが、閾値A2以上ではない(閾値A2未満である)と判定した場合、処理をステップS100に進め、図8のクリックモード処理を実行する。以上で第2の割込処理は終了される。
以上説明したように、第2の割込処理によれば、ステップS96及びステップS98の処理において、ユーザ動き情報として算出された移動速度Vxyに基づき、実行すべき処理を、回転モード処理、ポインタモード処理、又はクリックモード処理のいずれかに決定するようにした。
また、処理が、ステップS96からステップS97に進められた場合、ステップS97の回転モード処理では、ユーザ動き情報としての曲率に基づき、回転モード処理として実行すべき処理を決定するようにしている。
すなわち、処理が、ステップS96からステップS97に進められた場合には、ユーザ動き情報として、移動速度Vxyの他、曲率を用いて、実行すべき処理を決定するようにした。
このため、第2の割込処理によれば、ユーザ動き情報に基づいて、ユーザの意図する処理を正確に識別して実行することができるとともに、ユーザの意図しない処理が行なわれることを防止できる。
なお、第2の割込処理において、移動速度Vxyの大きさに応じて、実行する処理を決定するようにしたのは、回転モード処理、ポインタモード処理、及びクリックモード処理において、ユーザの手による移動速度が異なることが、予め行なった実験等によりわかっていることによる。なお、上述の閾値A1及びA2は、予め行なった実験等の結果から予め求められて、モード処理部19が内蔵するメモリ等(図示せず)に保持される。
第1及び第2の割込処理によれば、回転モード処理、ポインタモード処理、及びクリックモード処理のいずれかを行なうようにしたが、それらの処理の他、ポインタ61による直線方向の移動に対応して所定の処理を行なうラインモード処理を含めるようにすることができる。
具体的には、例えば、第1及び第2の割込処理における回転モード処理(図6のステップS10の処理、または図10のステップS97の処理)に代えて、図11を参照して後述するモード選択処理を行なうようにすることで、回転モード処理、ポインタモード処理、クリックモード処理、及びラインモード処理のいずれかを行なうようにすることができる。
[モード選択処理の詳細]
次に、図11のフローチャートを参照して、検出装置1が行うモード選択処理について説明する。
ステップS121において、モード処理部19は、保持部18に保持されている複数の3次元位置(x,y,z)それぞれの座標点(x,y)に基づいて、最小自乗法等により、表示部20の表示画面上におけるポインタ61の軌跡を表す関数を算出する。そして、モード処理部109は、算出した関数に基づいて、その関数が表す曲線(ポインタ61の軌跡)がどの程度曲がっているかの程度を表す曲率を算出する。
ステップS122では、モード処理部19は、ステップS121の処理で算出した曲率が、閾値C以上であるか否かを判定し、曲率が閾値C以上であると判定した場合、処理をステップS123に進め、ポインタモード処理を実行する。
また、ステップS122において、モード処理部19は、ステップS121の処理で算出した曲率が、閾値C以上ではない(閾値C未満である)と判定した場合、処理をステップS124に進める。
ステップS124では、モード処理部19は、ステップS121の処理で算出した曲率が、閾値Cよりも小さな閾値B以下であるか否かを判定する。そして、モード処理部19は、曲率が閾値B以下ではない(閾値Bよりも大きい)と判定した場合、すなわち、曲率は閾値Bよりも大きく、閾値C未満であると判定した場合、処理をステップS125に進め、回転モード処理を実行する。
すなわち、ステップS125において、モード処理部19は、回転モード処理として、図9のステップS72及びステップS74乃至ステップS76における処理を実行する。
具体的には、例えば、モード処理部19は、ステップS121の処理で算出した関数に基づいて、ポインタ61の軌跡が、時計回りに移動したものであるのか、反時計回りに移動したものであるのかを算出する。そして、モード処理部19は、算出したポインタ61の軌跡が、時計回りであるのか否かを判定し、時計回りであると判定した場合、表示部20に表示されている複数のアイコンを、時計回りに順次選択する。また、モード処理部19は、算出したポインタ61の軌跡が、時計回りではない、すなわち、反時計回りであると判定した場合、表示部20に表示されている複数のアイコンを、反時計回りに順次選択する。
また、ステップS124では、モード処理部19は、ステップS121の処理で算出した曲率が、閾値B以下であると判定した場合、処理をステップS126に進め、ラインモード処理を実行する。以上でモード選択処理は終了される。なお、モード選択処理は、図12のフローチャートを参照して後述する。
以上説明したように、モード選択処理によれば、ポインタ61が描く軌跡の曲率に応じて、実行すべき処理を、ポインタモード処理、回転モード処理、又はラインモード処理のいずれかに決定し、決定した処理を実行するようにしている。
なお、モード選択処理において、ポインタ61が描く軌跡の曲率に応じて、実行する処理を決定するようにしたのは、ポインタモード処理、回転モード処理、及びラインモード処理において、ポインタ61が描く軌跡の曲率が異なることが、予め行なった実験等によりわかっていることによる。
また、モード選択処理は、図6のステップS10、又は図10のステップS97の処理に代えて行う他、第1の割込処理において、ステップS5乃至ステップS11の処理に代えてモード選択処理を行なうようにしてもよい。この場合、ユーザ動き情報として、曲率のみを用いて、実行すべき処理を決定することとなる。
この場合、第1の割込処理において、ポインタ61が描く軌跡の曲率のみにより、実行する処理を決定できるので、図6を参照して説明した第1の割込処理(モード選択処理を行なわない場合の第1の割込処理)のように、移動速度Vxy、移動距離Dxy及び移動距離Dzを算出する必要はないので、より迅速に処理を決定して実行することが可能となる。
[ラインモード処理の詳細]
次に、図12のフローチャートを参照して、図11のステップS126におけるラインモード処理について説明する。
ステップS141において、モード処理部19は、保持部18に保持されている複数の3次元位置(x,y,z)それぞれの座標点(x,y)に基づいて、最小自乗法等により、表示部20の表示画面上におけるポインタ61の軌跡を表す関数を算出する。そして、モード処理部19は、算出した関数(いまの場合、ポインタ61の軌跡である直線を表す)に基づいて、ポインタ61の軌跡を表す直線の傾き(の絶対値)を算出する。
なお、ステップS141では、モード処理部19は、図11のステップS121において算出済みの関数に基づいて、ポインタ61の軌跡を表す直線の傾きを算出するようにしてもよい。この場合、ステップS141において関数を算出する処理を省略できる。
ステップS142において、モード処理部19は、ステップS141の処理で算出した傾きが、予め決められた閾値D以下であるか否かを判定し、傾きが閾値D(>0)以下であると判定した場合、すなわち、ポインタ61が、ほぼX方向(水平方向)に移動していると判定した場合、処理をステップS143に進める。
ステップS143では、モード処理部19は、ポインタ61がX方向に移動された場合における処理を実行する。具体的には、例えば、検出装置1が、楽曲等を再生するオーディオプレーヤに内蔵されている場合、ステップS143において、検出装置1のモード処理部19は、オーディオプレーヤを制御して、X方向に対応する処理(例えば、楽曲の早送り等)を行わせる。
また、ステップS142において、モード処理部19は、ステップS141の処理で算出した傾きが、予め決められた閾値D以下ではない(閾値Dよりも大きい)と判定した場合、処理をステップS144に進める
ステップS144では、モード処理部19は、ステップS141の処理で算出した傾きが、閾値Dよりも大きい予め決められた閾値E以上であるか否かを判定し、傾きが閾値E以上であると判定した場合、すなわち、ポインタ61が、ほぼY方向(垂直方向)に移動していると判定した場合、処理をステップS145に進める。
ステップS145では、モード処理部19は、ポインタ61がY方向に移動された場合における処理を実行する。具体的には、例えば、検出装置1が、楽曲等を再生するオーディオプレーヤに内蔵されている場合、ステップS145において、検出装置1のモード処理部19は、オーディオプレーヤを制御して、Y方向に対応する処理(例えば、楽曲の巻き戻し等)を行わせる。
また、ステップS144において、モード処理部19は、ステップS141の処理で算出した傾きが、閾値E以上ではないと判定した場合(傾きが閾値Dより大きく閾値Eより小さい場合)、すなわち、ポインタ61が、X方向でもなくY方向でもなく、XY方向(斜め方向)に移動していると判定した場合、処理をステップS146に進める。
ステップS146では、モード処理部19は、ポインタ61がXY方向に移動された場合における処理を実行する。具体的には、例えば、検出装置1が、楽曲等を再生するオーディオプレーヤに内蔵されている場合、ステップS146において、検出装置1のモード処理部19は、オーディオプレーヤを制御して、XY方向に対応する処理(例えば、楽曲の再生等)を行わせる。
以上でラインモード処理は終了され、処理は、図11のステップS126にリターンされる。
また、ラインモード処理では、移動方向として、X方向、Y方向、又はXY方向の3方向を採用し、3方向それぞれに異なる処理を対応付けて実行するようにしたが、移動方向は、3方向に限定されない。なお、傾きと比較される閾値の値や個数は、採用される移動方向の個数に応じて変更される。
さらに、ラインモード処理において、モード処理部19は、保持部18に保持されている複数の3次元位置(x,y,z)それぞれの座標点(x,y)に基づいて、ポインタ61が、どの方向からどの方向に移動しているかも算出するようにし、その算出結果にも基づいて、対応する処理を行うようにしてもよい。
この場合、例えば、ポインタ61がX方向に移動している場合でも、左方向から右方向に移動しているときと、右方向から左方向に移動しているときとで、異なる処理を行なわせるようにすることができる。
[チュートリアルモードの追加]
なお、検出装置1によれば、ユーザが、手をX方向やY方向に移動させることにより、ポインタ61を移動させたり、手をZ方向に移動させるクリック動作を検出するようにしたが、ユーザが、手を移動させることにより、ポインタ61を移動させること等に不慣れな場合には、チュートリアルモードを設けるようにしてもよい。
次に、図13は、チュートリアルモードについての一例を示している。
図13において、表示部20の表示画面には、円状に配列されたアイコン81乃至88を表示するアイコン表示領域が設けられているとともに、アイコン81乃至88の下側には、ユーザの手の移動や、肌領域の検出状況等を表示する状態表示領域が設けられている。
この状態表示領域には、3次元位置(x,y,z)tのz値を表示するZ値表示領域89、肌領域の検出結果を表示する肌検出表示領域90、ポインタ61が上方向又は下方向のいずれに移動中であるかを表示するアップダウン表示領域91、3次元位置(x,y,z)tのx値及びy値における位置を表示するxy値表示領域92、及びポインタ61の動作状態を表示する動作表示領域93により構成される。
Z値表示領域89は、3次元位置(x,y,z)tのz値を表示するための領域である。具体的には、例えば、図13に示されるように、クリック動作として認識される場合のz値の大きさを最大値とするメータにより、z値の大きさを表示するようにしている。
肌検出表示領域90は、肌領域の検出結果を表示するための領域である。具体的には、例えば、肌検出表示領域90には、肌領域を検出できなかった場合、図13に示されるようなバツ印を表示させ、肌領域を検出できた場合、手の形状を模した印を表示させることができる。
また、例えば、肌領域を検出できた場合、さらに、z値に応じて、手の形状を模した印の色を変化させるようにしてもよい。具体的には、例えば、z<Th1である場合、手の形状を模した印の色を赤色に変化させ、Th1≦z≦Th2である場合、手の形状を模した印の色を黄色に変化させ、Th2≦z≦Th3である場合、手の形状を模した印の色を緑色に変化させるようにしてもよい。さらに、例えば、肌検出表示領域90において、クリック動作が検出された場合には、その旨を示す表示を表示させるようにしてもよい。
アップダウン表示領域91は、ポインタ61の移動方向を表示するための領域である。具体的には、例えば、アップダウン表示領域91は、図13に示されるように、「Up」と「Down」とが表示された領域であり、ポインタ61が上方向に移動している場合には、「Up」と表示された領域を強調して表示させるようにし、ポインタ61が下方向に移動している場合には、「Down」と表示された領域を強調して表示させるようにする。なお、ポインタ61の移動方向として表示する方向は、上方向及び下方向に限定されない。
xy値表示領域92は、3次元位置(x,y,z)tのx値及びy値における位置を表示するための領域である。xy値表示領域92は、例えば、表示部20の表示画面全体を縮小して得られる画像を表示し、その画像内に、3次元位置(x,y,z)tのx値及びy値における位置(x,y)を表示するようになされている。なお、xy値表示領域92において、3次元位置(x,y,z)tのx値又はy値の一方のみを表示するようにしてもよい。
動作表示領域93は、ポインタ61の動作状態を表示するための領域である。具体的には、例えば、動作表示領域93は、ポインタ61が移動していない場合、図13に示されるような印を表示し、ポインタ61が移動している場合、その旨を表す印を表示する。
なお、ポインタ61が移動している場合、ポインタ61が移動していることを表す表示に代えて、ポインタ61の移動(軌跡)として直線的に移動していることを表す表示(例えば、ポインタモード処理やラインモード処理を実行する場合に表示される)や、時計回り又は反時計回りに円を描くように移動していることを表す表示を表示(例えば、回転モード処理を実行する場合に表示される)するようにしてもよい。
図13に示されるように、モード処理部19からの制御により、Z値表示領域89乃至動作表示領域93を含む状態表示領域を、表示部20の表示画面に表示させるようにした場合には、ユーザが、自身の手等の動きに応じて、ポインタ等を移動させる検出装置1に不慣れであっても、検出装置1を違和感なく操作することが可能となる。
また、ユーザが、検出装置1による操作に慣れるまで、Z値表示領域89乃至動作表示領域93を含む状態表示領域を、表示部20の表示画面に表示させるようにしておき、検出装置1による操作に慣れたところで、状態表示領域の表示を中止するように構成できる。なお、表示部20の表示画面には、Z値表示領域89乃至動作表示領域93すべてを表示する他、Z値表示領域89乃至動作表示領域93の少なくとも1つを表示するようにしてもよい。
また、例えば、表示部20の表示画面には、ユーザ動き情報(例えば、移動距離Dxy、移動距離Dz、移動速度Vxy、又は曲率等)を表示するようにしてもよいし、実行すべき処理として決定された処理の名称等を表示するようにしてもよい。
すなわち、表示部20の表示画面には、ユーザが手を移動させて、検出装置1を操作する際に、操作に不慣れなユーザによる検出装置1の操作を補助するための情報であれば、どのような情報を表示するようにしてもよい。
その他、例えば、検出装置1は、音楽や動画の記録又は再生を行なう記録再生装置に内蔵することができる。この場合、検出装置1が内蔵された記録再生装置おいて、内蔵された検出装置1により算出されるユーザの3次元位置(x,y,z)に基づいて、再生や記録(録音や録画等)を行なわせることができる。
具体的には、例えば、ユーザの3次元位置(x,y,z)に基づいて、左から右方向に手が移動するという動きを検出した場合には、早送りを行うように構成してもよいし、右から左方向に手が移動するという動きを検出した場合には、巻き戻しを行うように構成してもよい。
なお、検出装置1を、記録再生装置に内蔵して用いる場合には、チュートリアルモードにおいて、表示部20の表示画面には、例えば、図14に示されるような画像が表示されることとなる。
なお、図14に示される表示部20の表示画面には、複数のアイコン81乃至88に代えて、音楽や動画の巻き戻しを行うための巻き戻しボタン101、音楽や動画の再生を行うための再生ボタン102、音楽や動画の停止を行うための停止ボタン103、音楽や動画の早送りを行うための早送りボタン104、及び再生中の音楽の歌手や、再生する動画を表示させるための領域105が設けられている他は、図13の場合と同様である。
<2.変形例>
本実施の形態では、検出装置1が、ユーザの肌領域を検出し、検出した肌領域に基づいて、ユーザの3次元位置(x,y,z)tを算出するようにしたが、ユーザの3次元位置(x,y,z)tの算出方法は、これに限定されない。
すなわち、例えば、ユーザの3次元位置(x,y,z)tの算出方法としては、ステレオカメラ処理を用いた算出方法を採用できる。このステレオカメラ処理では、2台のカメラを用いて撮像した2枚の撮像画像を用いて、2台のカメラそれぞれの視差に基づき、ユーザの3次元位置(x,y,z)tを算出する。
また、例えば、ユーザの3次元位置(x,y,z)tのうちのzを算出する算出方法としては、肌領域の大きさや輝度値に基づいてzを算出する他、Time of Flight距離画像センサを用いてzを算出するようにしてもよい。
このTime of Flight距離画像センサは、ユーザに対して赤外線等の光を照射したときから、照射した光がユーザに反射して戻ってくるまでの時間を計測し、計測した時間と、照射した光の速さとに基づいて、ユーザまでの距離zを算出するものである。
ところで、上述した一連の処理は、専用のハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、いわゆる組み込み型のコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
[コンピュータの構成例]
図15は、上述した一連の処理をプログラムにより実行するコンピュータの構成例を示すブロック図である。
CPU(Central Processing Unit)201は、ROM(Read Only Memory)202、または記憶部208に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)203には、CPU201が実行するプログラムやデータなどが適宜記憶される。これらのCPU201、ROM202、およびRAM203は、バス204により相互に接続されている。
CPU201にはまた、バス204を介して入出力インタフェース205が接続されている。入出力インタフェース205には、キーボード、マウス、マイクロホンなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207が接続されている。CPU201は、入力部206から入力される指令に対応して各種の処理を実行する。そして、CPU201は、処理の結果を出力部207に出力する。
入出力インタフェース205に接続されている記憶部208は、例えばハードディスクからなり、CPU201が実行するプログラムや各種のデータを記憶する。通信部209は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
また、通信部209を介してプログラムを取得し、記憶部208に記憶してもよい。
入出力インタフェース205に接続されているドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア211が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部208に転送され、記憶される。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを記録する記録媒体は、図15に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini-Disc)を含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア211、または、プログラムが一時的もしくは永続的に記録されるROM202や、記憶部208を構成するハードディスクなどにより構成される。記録媒体へのプログラムの記録は、必要に応じてルータ、モデムなどのインタフェースである通信部209を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1 検出装置, 11 制御部, 12 LED制御部, 13−1,13−2 LED, 14 光学フィルタ, 15 撮像部, 16 撮像制御部, 17 画像処理部, 18 保持部, 19 モード処理部, 20 表示部

Claims (12)

  1. 異なる複数の座標軸上の値により表される、ユーザの位置を表すユーザ位置を検出するユーザ位置検出手段と、
    前記ユーザ位置を表す前記複数の座標軸上の値のうち、少なくとも1軸上の値により定義される座標点に基づいて、前記ユーザの動きを示すユーザ動き情報を算出する算出手段と、
    算出された前記ユーザ動き情報に基づいて、前記ユーザの動きに応じて実行される複数の処理の中から、実行すべき処理を決定する決定手段と、
    決定された前記処理を実行する実行手段と
    を含む情報処理装置。
  2. 前記算出手段は、前記ユーザ動き情報として、所定の時間内における前記座標点の移動量、移動方向、速さ、又は前記座標点が描く軌跡の曲率の少なくとも1つを算出する
    請求項1に記載の情報処理装置。
  3. 第1の波長の光を前記ユーザに照射する第1の照射手段と、
    前記第1の波長よりも長波長である第2の波長の光を前記ユーザに照射する第2の照射手段と、
    前記第1の波長の光が照射されているときに入射される前記ユーザからの反射光に基づいて第1の画像を生成するとともに、前記第2の波長の光が照射されているときに入射される前記ユーザからの反射光に基づいて第2の画像を生成する撮像生成手段と、
    生成された前記第1及び第2の画像に基づいて、前記ユーザの肌を表す肌領域を検出する肌領域検出手段と
    をさらに含み、
    前記ユーザ位置検出手段は、前記肌領域に基づいて、前記ユーザ位置を検出する
    請求項2に記載の情報処理装置。
  4. 前記ユーザの動きに応じて移動するポインタを表示させる表示制御手段を
    さらに含む請求項3に記載の情報処理装置。
  5. 前記表示制御手段は、前記ユーザ動き情報、前記決定手段により決定された処理、前記ユーザ位置検出手段の検出結果、前記肌領域検出手段の検出結果、又は前記ポインタの動きを示すポインタ動き情報の少なくとも1つを表示させる
    請求項4に記載の情報処理装置。
  6. 前記表示制御手段は、前記ユーザ位置検出手段による検出結果として、検出された前記ユーザ位置を表す前記複数の座標軸上の値の少なくとも1つを表示させる
    請求項5に記載の情報処理装置。
  7. 前記表示制御手段は、前記ポインタ動き情報として、前記ポインタが移動している方向、又は前記ポインタの軌跡を示す情報の少なくとも1つを表示させる
    請求項5に記載の情報処理装置。
  8. 検出された前記ユーザ位置が異常なデータであるか否かを判定するデータ判定手段をさらに含み、
    前記算出手段は、検出された複数の前記ユーザ位置のうち、異常なデータではないと判定された前記ユーザ位置を表す前記複数の座標軸上の値のうち、少なくとも1軸上の値により定義される座標点に基づいて、前記ユーザ動き情報を算出する
    請求項2に記載の情報処理装置。
  9. 前記ユーザ位置検出手段は、前記ユーザ位置として、異なる3本の座標軸上の値により表される3次元位置を検出し、
    前記算出手段は、
    前記3本の座標軸のうち、2本の座標軸上の値により定義される第1の座標点に基づいて、第1の前記ユーザ動き情報を算出し、
    前記3本の座標軸のうち、残りの座標軸上の値により定義される第2の座標点に基づいて、前記第1のユーザ動き情報とは異なる第2の前記ユーザ動き情報を算出する
    請求項1に記載の情報処理装置。
  10. 前記決定手段は、前記ユーザの動きに応じて実行すべき処理として、
    表示部に表示しているポインタを移動させるポインタモード処理、
    前記ユーザによる選択又は実行を指示するクリック操作を検出するクリックモード処理、
    前記ポインタが円の軌跡を描いて移動したことに対応して、前記円の軌跡に対応する処理を行なう回転モード処理、
    前記ポインタが直線の軌跡を描いて移動したことに対応して、前記直線の軌跡に対応する処理を行なうラインモード処理
    のいずれか1つを決定する
    請求項1に記載の情報処理装置。
  11. ユーザの動きに応じた処理を実行する情報処理装置の情報処理方法において、
    前記情報処理装置は、
    ユーザ位置検出手段と、
    算出手段と、
    選択手段と、
    実行手段と
    を含み、
    前記ユーザ位置検出手段が、異なる複数の座標軸上の値により表される、ユーザの位置を表すユーザ位置を検出し、
    前記算出手段が、前記ユーザ位置を表す前記複数の座標軸上の値のうち、少なくとも1軸上の値により定義される座標点に基づいて、前記ユーザの動きを示すユーザ動き情報を算出し、
    前記決定手段が、算出された前記ユーザ動き情報に基づいて、前記ユーザの動きに応じて実行される複数の処理の中から、実行すべき処理を決定し、
    前記実行手段が、決定された前記処理を実行する
    ステップを含む情報処理方法。
  12. コンピュータを、
    異なる複数の座標軸上の値により表される、ユーザの位置を表すユーザ位置を検出するユーザ位置検出手段と、
    前記ユーザ位置を表す前記複数の座標軸上の値のうち、少なくとも1軸上の値により定義される座標点に基づいて、前記ユーザの動きを示すユーザ動き情報を算出する算出手段と、
    算出された前記ユーザ動き情報に基づいて、前記ユーザの動きに応じて実行される複数の処理の中から、実行すべき処理を決定する決定手段と、
    決定された前記処理を実行する実行手段と
    して機能させるためのプログラム。
JP2010205311A 2010-09-14 2010-09-14 情報処理装置、情報処理方法、及びプログラム Withdrawn JP2012063824A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010205311A JP2012063824A (ja) 2010-09-14 2010-09-14 情報処理装置、情報処理方法、及びプログラム
CN2011102642023A CN102402283A (zh) 2010-09-14 2011-09-07 信息处理装置、信息处理方法、以及程序
US13/226,966 US9013402B2 (en) 2010-09-14 2011-09-07 Information processing device, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010205311A JP2012063824A (ja) 2010-09-14 2010-09-14 情報処理装置、情報処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2012063824A true JP2012063824A (ja) 2012-03-29

Family

ID=45806171

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010205311A Withdrawn JP2012063824A (ja) 2010-09-14 2010-09-14 情報処理装置、情報処理方法、及びプログラム

Country Status (3)

Country Link
US (1) US9013402B2 (ja)
JP (1) JP2012063824A (ja)
CN (1) CN102402283A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250637A (ja) * 2012-05-30 2013-12-12 Toshiba Corp 認識装置
JP2014085965A (ja) * 2012-10-25 2014-05-12 Nec Personal Computers Ltd 情報処理装置、情報処理方法、及びプログラム
JP2015064660A (ja) * 2013-09-24 2015-04-09 株式会社三菱東京Ufj銀行 情報処理装置およびプログラム
JP2015127976A (ja) * 2015-03-04 2015-07-09 株式会社東芝 認識装置
CN104915053A (zh) * 2015-05-04 2015-09-16 北京奇艺世纪科技有限公司 一种界面控件的位置确定方法和装置
JP2017157245A (ja) * 2017-06-16 2017-09-07 株式会社三菱東京Ufj銀行 情報処理装置およびプログラム
JP2018026179A (ja) * 2017-11-15 2018-02-15 株式会社三菱東京Ufj銀行 情報処理装置およびプログラム
JP2019021338A (ja) * 2018-10-04 2019-02-07 株式会社三菱Ufj銀行 情報処理装置
WO2021124709A1 (ja) * 2019-12-19 2021-06-24 ソニーグループ株式会社 画像処理装置、画像処理方法および画像処理プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102049475B1 (ko) * 2013-01-08 2020-01-08 삼성전자주식회사 입력 장치, 디스플레이 장치 및 제어 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06123700A (ja) 1992-06-03 1994-05-06 Hamamatsu Photonics Kk 赤外光吸収度の測定方法および装置
JP3255370B2 (ja) 1992-06-03 2002-02-12 浜松ホトニクス株式会社 皮膚中の水分の存在位置検出方法及び装置
AU2002321680A1 (en) * 2001-06-29 2003-01-21 Hans Rudolf Sterling Apparatus for sensing the position of a pointing object
US6948127B1 (en) * 2001-12-10 2005-09-20 Cisco Technology, Inc. Interface for compressed video data analysis
JP2007535774A (ja) * 2004-04-30 2007-12-06 ヒルクレスト・ラボラトリーズ・インコーポレイテッド 自由空間ポインティングデバイスにおける意図的でない動きを除去するための方法およびデバイス
JP2006047067A (ja) 2004-08-03 2006-02-16 Funai Electric Co Ltd 人体検出装置及び人体検出方法
JP4471910B2 (ja) * 2005-09-14 2010-06-02 任天堂株式会社 仮想位置決定プログラム
JP4819606B2 (ja) 2006-07-21 2011-11-24 株式会社豊田中央研究所 対象物の部位判別装置及び性別判定装置
US8212794B2 (en) * 2008-09-30 2012-07-03 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Optical finger navigation utilizing quantized movement information
US8619029B2 (en) * 2009-05-22 2013-12-31 Motorola Mobility Llc Electronic device with sensing assembly and method for interpreting consecutive gestures
JP4548542B1 (ja) * 2009-06-30 2010-09-22 ソニー株式会社 情報処理装置、情報処理方法及びプログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250637A (ja) * 2012-05-30 2013-12-12 Toshiba Corp 認識装置
US9405373B2 (en) 2012-05-30 2016-08-02 Kabushiki Kaisha Toshiba Recognition apparatus
JP2014085965A (ja) * 2012-10-25 2014-05-12 Nec Personal Computers Ltd 情報処理装置、情報処理方法、及びプログラム
JP2015064660A (ja) * 2013-09-24 2015-04-09 株式会社三菱東京Ufj銀行 情報処理装置およびプログラム
JP2015127976A (ja) * 2015-03-04 2015-07-09 株式会社東芝 認識装置
CN104915053A (zh) * 2015-05-04 2015-09-16 北京奇艺世纪科技有限公司 一种界面控件的位置确定方法和装置
JP2017157245A (ja) * 2017-06-16 2017-09-07 株式会社三菱東京Ufj銀行 情報処理装置およびプログラム
JP2018026179A (ja) * 2017-11-15 2018-02-15 株式会社三菱東京Ufj銀行 情報処理装置およびプログラム
JP2019021338A (ja) * 2018-10-04 2019-02-07 株式会社三菱Ufj銀行 情報処理装置
WO2021124709A1 (ja) * 2019-12-19 2021-06-24 ソニーグループ株式会社 画像処理装置、画像処理方法および画像処理プログラム

Also Published As

Publication number Publication date
US20120062456A1 (en) 2012-03-15
CN102402283A (zh) 2012-04-04
US9013402B2 (en) 2015-04-21

Similar Documents

Publication Publication Date Title
JP2012063824A (ja) 情報処理装置、情報処理方法、及びプログラム
US9529566B2 (en) Interactive content creation
US11670267B2 (en) Computer vision and mapping for audio applications
TWI628465B (zh) 發射結構光的照明模組
US9619035B2 (en) Gesture detection and recognition
JP5087532B2 (ja) 端末装置、表示制御方法および表示制御プログラム
JP5684577B2 (ja) シーンの深度データをキャプチャし、コンピュータのアクションを適用する方法
JP5892360B2 (ja) ロボット指示装置、ロボット指示方法、プログラム、及び通信システム
JP5797757B2 (ja) サーマルイメージングを用いたユーザインタフェースシステムおよび方法
CN102222347B (zh) 使用波阵面编码来创建深度图像
TWI610247B (zh) 在玩遊戲期間標識、擷取、呈現和處理照片的方法以及用於該方法的電腦可讀取儲存媒體
CN105518743A (zh) 深度图像的处理
KR20140024895A (ko) 투사된 참조 패턴을 갖는 물체 추적
CN104508597A (zh) 用于控制扩增实境的方法及设备
US10203837B2 (en) Multi-depth-interval refocusing method and apparatus and electronic device
JP2009250772A (ja) 位置検出システム、位置検出方法、プログラム、物体判断システム、および物体判断方法
TW201234261A (en) Using a three-dimensional environment model in gameplay
KR20110110147A (ko) 적어도 하나의 신호를 렌더링하기 위한 시스템을 제어하기 위한 데이터를 생성하는 방법 및 시스템
JP6263917B2 (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
JPWO2016021121A1 (ja) 修正確認方法および修正確認装置
JP6178321B2 (ja) 画像のためのir信号捕捉
CN108687759A (zh) 移动装置、移动装置的控制方法以及记录介质
JP2018072939A (ja) 映像処理プログラム、映像処理方法、及び映像処理装置
US20130106689A1 (en) Methods of operating systems having optical input devices
KR102128315B1 (ko) 가상 악기 시각화 기반 미디 음악 편곡 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20131203