JP5567206B2 - コンピューティングデバイスインターフェース - Google Patents

コンピューティングデバイスインターフェース Download PDF

Info

Publication number
JP5567206B2
JP5567206B2 JP2013502913A JP2013502913A JP5567206B2 JP 5567206 B2 JP5567206 B2 JP 5567206B2 JP 2013502913 A JP2013502913 A JP 2013502913A JP 2013502913 A JP2013502913 A JP 2013502913A JP 5567206 B2 JP5567206 B2 JP 5567206B2
Authority
JP
Japan
Prior art keywords
hand
computing device
tracking
image
pattern
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.)
Expired - Fee Related
Application number
JP2013502913A
Other languages
English (en)
Other versions
JP2013524354A (ja
Inventor
フォルタンプーア、ババク
レン、ジャンフェン
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2013524354A publication Critical patent/JP2013524354A/ja
Application granted granted Critical
Publication of JP5567206B2 publication Critical patent/JP5567206B2/ja
Expired - Fee Related 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • 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
    • 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/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/145Illumination specially adapted for pattern recognition, e.g. using gratings

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Description

関連出願
本願は、2010年4月1日に出願された「投影画像を使用するコンピューティングデバイスインターフェース(A COMPUTING DEVICE INTERFACE USING A PROJECTED IMAGE)」と題する米国仮出願第61/320,158号に関し、その優先権を主張する。
本開示は、一般に電子デバイスに関する。より詳細には、本開示は、コンピューティングデバイスインターフェースに関する。
過去数十年、電子デバイスの使用は、一般的になってきた。特に、電子テクノロジの進歩は、ますます複雑化し有用性を増している電子デバイスのコストを削減してきた。コストの削減および消費者の需要は、電子デバイスが現在の社会において事実上ユビキタスになるほどに電子デバイスの使用を激増させた。電子デバイスの使用が拡大するにつれ、電子デバイスの新しい改善された特徴に対する需要も拡大した。より詳細には、より迅速に、より効率的に、またはより高い品質で機能を実行する電子デバイスが、しばしば求められている。
多くの電子デバイスは、動作中に1または複数のインターフェースを使用する。例えば、コンピュータは、しばしば、対話(interaction)のためのユーザ入力を得るために、キーボードおよびマウスを使用する。他の電子デバイスは、対話のためのユーザ入力を得るために、タッチスクリーンおよび/またはタッチパッドを使用する。これらのインターフェースの多くは、ハードウェアの一部との直接的な物理的対話を必要とする。例えば、ユーザは、キーボードを介してテキストまたはコマンドを入力するために、キーボードをタイプしなければならない。ユーザは、マウスを介してコンピュータと対話するために、マウス上の1または複数のボタンを物理的に動かし、および/または押さなければならない。
いくつかの場合において、入力またはコマンドをコンピューティングデバイスに提供するためにハードウェアの一部と直接的に対話することは、不便である、または最適とはいえない可能性がある。例えば、投影プレゼンテーションを行うユーザにとって、対話が望まれるたびにコンピュータに戻ることは不便となりうる。さらに、プレゼンテーションを行う間ずっとマウスやワンド(wand)のようなインターフェースデバイスを持ち運ぶことは、ユーザが方向パッドを押すことによって入力を提供しなければならないとき、またはユーザがインターフェースデバイスの操作方法に不慣れなときには、不便となりうる。この議論で示されるように、コンピューティングデバイスインターフェースを提供する、改善されたシステムおよび方法が有益でありうる。
インターフェースを提供するように構成されたコンピューティングデバイスが開示される。コンピューティングデバイスは、プロセッサと、メモリに記憶された命令とを含む。コンピューティングデバイスは、プロジェクタから投影画像を投影し、カメラを使用して画像をキャプチャする。カメラは、可視スペクトルにおいて動作する。コンピューティングデバイスは、自身を較正し、手(hand)を検出する。コンピューティングデバイスは、また、探索空間においてトラッキングパターンに基づいて手をトラッキングし、操作を実行する。
コンピューティングデバイスを較正することは、投影画像のコーナーを見つけること、および投影画像の座標をデスクトップ空間にマッピングすることを含みうる。コンピューティングデバイスを較正することは、手のサイズを決定することを含みうる。手のサイズは、投影画像に基づいて決定されることができ、この投影画像は、複数の楕円を含む。手のサイズは、顔認識に基づいて決定されうる。手は、初期対話エリアで検出されうる。
コンピューティングデバイスは、さらに、体(body)をトラッキングし、体をトラッキングすることに基づいて初期対話エリアを動かすことができる。コンピューティングデバイスは、さらに、トラッキングパターンが手にマッチしたことを決定することができる。コンピューティングデバイスは、さらに、手の動きに基づいて探索空間を動的に変化させることができる。トラッキングパターンは、3つの側部が長方形の明るい外側領域に隣接し、1つの側部が長方形の暗い外側領域に隣接した、長方形の暗い中心領域を含みうる。
操作は、手をトラッキングすることに基づいて実行されうる。コンピューティングデバイスは、さらに、ジェスチャパターンに基づいて手のジェスチャを認識することができる。手のジェスチャを認識することは、トラッキングされた手が、ある時間期間の間、動きを停止したか否かを決定すること、およびトラッキングされた手の画像を固定サイズにスケーリングすることを含みうる。ジェスチャパターンは、2つの側部が長方形の明るい外側領域に隣接した、長方形の暗い中心領域を含みうる。
コンピューティングデバイスは、さらに、認識された手のジェスチャに基づいて操作を実行することができる。コンピューティングデバイスは、さらに、手のジェスチャがいくつかのフレームのあるパーセンテージについて認識されたときに操作を実行することができる。
手のジェスチャは、親指と人差し指との間の角度に基づいて認識されることができ、コンピューティングデバイスは、さらに、親指と人差し指との間の角度に基づいて、カーソルを手から遠ざけることができる。
コンピューティングデバイスは、さらに、投影画像の手の周りの領域をより明るく照らすことができる。コンピューティングデバイスは、さらに、複数の手をトラッキングすることができる。コンピューティングデバイスは、さらに、複数の手のジェスチャを認識することができる。コンピューティングデバイスは、さらに、手の影をトラッキングすることを回避するために、手をトラッキングする前に画像の暗い部分を除去することができる。コンピューティングデバイスは、さらに、投影画像のあるエリアにおいて、画像の改善されたフォーカスおよび露出を提供することができる。操作は、カーソルをリリースすることができる。
インターフェースを提供するための方法が、また、開示される。方法は、プロジェクタから投影画像を投影すること、およびカメラを使用して画像をキャプチャすることを含む。カメラは、可視スペクトルにおいて動作する。方法は、また、コンピューティングデバイスを較正すること、および手を検出することを含む。方法は、また、探索空間においてトラッキングパターンに基づいて手をトラッキングすること、および操作を実行することを含む。
インターフェースを提供するためのコンピュータプログラムプロダクトが、また、開示される。コンピュータプログラムプロダクトは、命令を備える非一時的な有形のコンピュータ可読媒体を含む。命令は、コンピューティングデバイスに、プロジェクタから投影画像を投影させ、カメラを使用して画像をキャプチャさせるためのコードを含む。カメラは、可視スペクトルにおいて動作する。命令は、また、コンピューティングデバイスに、そのコンピューティングデバイスを較正させ、手を検出させるためのコードを含む。命令は、また、コンピューティングデバイスに、探索空間においてトラッキングパターンに基づいて手をトラッキングさせ、操作を実行させるためのコードを含む。
インターフェースを提供するための装置が、また、開示される。装置は、プロジェクタから投影画像を投影し、カメラを使用して画像をキャプチャするための手段を含む。カメラは、可視スペクトルにおいて動作する。装置は、また、コンピューティングデバイスを較正し、手を検出するための手段を含む。装置は、また、探索空間においてトラッキングパターンに基づいて手をトラッキングし、操作を実行するための手段を含む。
図1は、コンピューティングデバイスインターフェースがそこにおいてインプリメントされうるコンピューティングデバイスの1つの構成を示すブロック図である。 図2は、カメラ、コンピューティングデバイス、およびプロジェクタを含む電子デバイスの1つの構成を示すブロック図である。 図3は、コンピューティングデバイスインターフェースがそこにおいてインプリメントされうるコンピューティングデバイスのより詳細な構成を示すブロック図である。 図4は、コンピューティングデバイスインターフェースを提供するための方法の1つの構成を示すフロー図である。 図5は、コンピューティングデバイスインターフェースを提供するための方法のより詳細な構成を示すフロー図である。 図6は、投影空間におけるチェッカード(checkered)またはチェスボード(chessboard)パターンの1つの構成を示す図である。 図7は、デスクトップ空間への投影空間のマッピングを示す図である。 図8は、手のサイズ較正のための画像を示す図である。 図9は、コンピューティングデバイスインターフェースを提供するための方法の別のより詳細な構成を示すフロー図である。 図10は、コンピューティングデバイスインターフェースを提供するための方法の別のより詳細な構成を示すフロー図である。 図11Aは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターンの1つの例を示す。 図11Bは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターンの別の例を示す。 図11Cは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターンの別の例を示す。 図11Dは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターンの別の例を示す。 図11Eは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターンの別の例を示す。 図12は、コンピューティングデバイスインターフェースを提供するための方法の別のより詳細な構成を示すフロー図である。 図13は、コンピューティングデバイスインターフェースを提供するための方法の別のより詳細な構成を示すフロー図である。 図14Aは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターンの1つの例を示す図である。 図14Bは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターンの別の例を示す図である。 図14Cは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターンの別の例を示す図である。 図14Dは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターンの別の例を示す図である。 図15は、電子デバイスで利用されうる様々なコンポーネントを示す。 図16は、ワイヤレス通信デバイス内に含まれうる特定のコンポーネントを示す。
詳細な説明
本明細書で使用されるとき、「ワイヤレス通信デバイス(wireless communication device)」という用語は、一般に、基地局または他の電子デバイスとワイヤレスで通信しうる電子デバイス(例えば、アクセス端末、クライアントデバイス、クライアント局など)を表す。ワイヤレス通信デバイスは、代わりに、モバイルデバイス、モバイル局、加入者局、ユーザ機器(UE)、リモート局、アクセス端末、モバイル端末、端末、ユーザ端末、加入者ユニットなどとも呼ばれうる。ワイヤレス通信デバイスの例は、ラップトップまたはデスクトップコンピュータ、セルラ電話、スマートフォン、ワイヤレスモデム、電子リーダ、タブレットデバイス、ゲーミングシステムなどを含む。ワイヤレス通信デバイスは、1または複数の業界標準(例えば、第3世代パートナーシッププロジェクト(3GPP:3rd Generation Partnership Project)、Wi−Max、電気電子技術者協会(IEEE:Institute of Electrical and Electronics Engineers)802.11、または、Wi−Fiなど)にしたがって動作しうる。このように、「ワイヤレス通信デバイス」という一般用語は、業界標準による様々な名称(例えば、アクセス端末、ユーザ機器(UE)、リモート端末など)で記述されるワイヤレス通信デバイスを含みうる。
本明細書に開示されるシステムおよび方法は、リアルタイムの手のトラッキングおよび/またはジェスチャインターフェースを提供する。このインターフェースは、コンピューティングデバイス(例えば、スマートフォンやラップトップなど、プロセッサとメモリとを備えた電子デバイス)、カメラ(例えば、相補型金属酸化膜半導体(CMOS:Complementary Metal-Oxide-Semiconductor)センサまたはカメラ、電荷結合素子(CCD:Charge-Coupled Device)センサまたはカメラ、ウェブカムなど、可視スペクトルにおいて動作するカメラ)、およびプロジェクタ(例えば、ピコプロジェクタ、標準プロジェクタなど)の組み合わせが、表面(例えば、壁、スクリーン、ホワイトボードなど)を対話型表面(interactive surface)として使用することを可能にする。1つの構成では、コンピューティングデバイスは、較正され、手を検出し、その手をトラッキングし、ジェスチャを認識して、このインターフェースを提供する。本明細書に開示されるシステムおよび方法のテストは、多くの皮膚のような色または大量の動きを有するコンテンツとユーザが対話しているときのような様々な困難な環境でそれらがうまく機能することを示している。
今日、プロジェクタは、他の幾人かと視覚コンテンツを共有するために、個人によって広く使用されている。投影システムは、通常、入力ソース(例えば、ラップトップコンピュータなど)を使用し、しばしば、少なくとも一人の個人に、実行中のアプリケーションを制御することを要求する。従来のアプリケーションでは、この個人は、しばしば、次のスライドまたは前のスライドへとプレゼンテーションを進め、コンテンツの一部をハイライトし、関心領域を描き、ズームインまたはズームアウトし、ビデオクリップを再生または一時停止し、ユーザインターフェース(UI)エレメントをクリックするなどのため、コンピュータのマウスおよびキーボードにアクセスするためにラップトップの横に座る。
多くの状況においてコンピュータの隣に座っていることは許容可能であるが、プレゼンタが、共有されているコンテンツの隣に立ち、すべての観客と向き合いながら観客に話しかけることを好む場合もある。残念なことに、これは、実行中のアプリケーションを制御するためにスクリーンとコンピュータの間を絶えず行き来することをプレゼンタに要求する可能性がある。
したがって、ユーザが投影画像の近くまたは投影画像内に立ちながらコンピューティングデバイスを制御することを可能にする、システムおよび方法を開発することが有益である。より高いレベルの共同作業(collaboration)に参加するために、遠くからコンピューティングデバイスを制御する機会を観客メンバに与えることが、さらに有利である。
プロジェクタ−コンピューティングデバイスの装置(rig)にユーザが拘束されないことを可能にする、いくつかのハンドヘルドリモート制御装置が存在する。しかしながら、低価格から中程度の価格のバージョンは、しばしば、限定された機能を有し、ユーザが、表面上に自由に描くこと、ハイライトすること、コピーすること、ペーストすること、またはUIエレメントと対話することを可能にしない。コストにかかわらず、そのようなシステムは、通常、プロセスへの積極的な参加者となることを望む部屋の中にいるすべての人に、その人自身のデバイスを持つことを要求し、それは、常に可能であるとは限らないことである。
人が、しばしば、互いに通信する手段として、また、彼らの周りの世界の対象物(object)を移動させるおよび形作る手段として、日常生活で手のジェスチャを使用することを考えると、参加者が彼らの手を使用してコンピューティングデバイスを遠隔制御できるようにすることは有益でありうる。例えば、セッションにおいて積極的な参加者になることを望むユーザは、自身の手を使用して、投影コンテンツを描き、ハイライトし、ズームインし、コピーし、ペーストし、および/または、ドラッグおよびドロップすることができる。1つの構成では、投影されているコンテンツは、ピコプロジェクタが組み込まれたスマートフォンからのものである。例えば、一部のスマートフォンは、ピコプロジェクタおよびカメラを備えることができる。
本明細書において開示されるシステムおよび方法は、プロジェクタとともに使用するための手ジェスチャ認識システムを記述する。例えば、本明細書で開示されるシステムおよび方法は、今日のラップトップおよびモバイル電話の多くで一般的となってきているカメラを使用することができる。これらのカメラは、テレビ会議をするまたは写真を撮るために含められてきたものでありうるが、オンボードセンサ(例えば、カメラ)は、マウスまたはキーボードの代わりの入力デバイスとして使用されることができる。例えば、本明細書に開示されるシステムおよび方法は、個人が、任意の壁をより高いレベルの共同作業空間へと変える機会を提供しうる。これは、多くのスマートフォンが、手をトラッキングするために使用できるカメラだけでなく、中程度の明るさの部屋において4フィートの対角線画像を作り出すのに十分である15ルーメンを投影可能なピコプロジェクタも備えているので、可能でありうる。
本明細書で開示されるシステムおよび方法の1つの構成によれば、投影エリアのコンテンツ全体は、カメラの視野の中に置かれ、較正ステージ(例えば、15秒続く)は、セッションが始まる前に完了される。
本開示は、以下のとおり、手のジェスチャ認識の分野におけるいくつかの従来式のアプローチについて説明する。手の検出は、特に、その複雑性のレベルを考えると、コンピュータビジョンにおけるアクティブリサーチのエリアである。多くの良いソリューションが今日存在する顔検出と比較したときには、すべての環境でうまく機能する手の検出およびトラッキングシステムを構築することは、いくつかの理由から困難であった。
第1に、開いた手は、前向きのカメラに対して、人間の顔のほぼ半分のサイズであり、それは、同じ解像度でのフィーチャトラッキングをより困難にする。ビデオグラフィックスアレイ(VGA:Video Graphics Array)解像度では、部屋の10フィート向こうからの手のトラッキングは、認識システムによる使用のために、ほぼ20ピクセルの幅を提供する。これは、顔検出アルゴリズムに利用可能なデータの約半分である。さらに、顔とは異なり、手は、良いトラッキングのために有用な、ユニークなフィーチャをほとんど有していない。カメラ−プロジェクタのシナリオでは、スクリーンのところにいるユーザが、ユーザがそれと対話することを望むコンテンツを見るために、および、それと対話するためにユーザの指先(ユーザの指の爪の代わりに)を使用できるようにするために、ユーザは、カメラに対して背を向けて立たなければならない。これは、(顔とは異なり)ユニークなフィーチャをわずかしかもたない手の甲(back of the hand)をトラッキングすることを要求しうる。加えて、その複数の間接が首よりも高い自由度を提供する長い肢に手が付着していることを考えると、人の手が空間内を自由に動く方式は、顔のトラッキングよりも多くの課題をもたらしうる。
多くの手ジェスチャシステムが、コンピューティングデバイスとのヴィジョンベースの対話について提案されてきた。1つのジェスチャシステムでは、モビリティを目的としたリアルタイムの手ジェスチャシステムが提案された。そのシステムで使用される主要なフィーチャは、カナデ、ルーカス、トマシ(KLT:Kanade, Lucas and Tomasi)フィーチャであり、これは、検出されたエリアからの「トラッキングに良好な(good-to-track)」皮膚の色のスポット上に置かれる。KLTフィーチャは、カナデ(Kanade)、ルーカス(Lucas)、およびトマシ(Tomasi)にちなんで名づけられ、彼らは、少なくとも2つの方向に沿う急激な明るさ(brightness)勾配が、トラッキング目的のための有望なフィーチャを生み出すことを見つけた。オープンコンピュータヴィジョン(OpenCV:Open Computer Vision)のアプリケーションプログラミングインターフェース(API:Application Programming Interface)機能(例えば、cvGoodFeaturesToTrack and cvCalcOpticalFlowPyrLK)においてインプリメントされるアルゴリズムを用いた実験は、ユーザの手がカメラから数フィート以上離れた状況については、良い結果を生み出さなかった。
疑似2次元の隠れマルコフモデル(Hidden Markov Model)を使用する、より複雑かつ計算的に非効率的な別の手ジェスチャ認識アルゴリズムが提供されている。様々な投影コンテンツ下での人間の皮膚の色相の変化に対するテストが広い色域(wide gamut)を示したので、そのようなシステムは、カメラ−プロジェクタシナリオではうまく機能しないであろう。例えば、カメラによって見られる異なる投影光(これは、広い色域でありうる)の下の皮膚は、皮膚のトーン検出ベースの方法を効果のないものにしうる。
さらに別のアプローチが、カメラ−プロジェクタシステムについて、リアルタイムの手ジェスチャアルゴリズムを提案した。較正ステージの間、パースペクティブ歪み(perspective distortion)は、カメラと投影スクリーンとの座標間での多項ワーピング(polynominal warping)によってモデル化された。検出およびトラッキングは、背景分割(background segmentation)に基づいた。しかし、そのようなアプローチは、静的な背景を要求し、それは、本明細書に開示されるシステムおよび方法については保障されないものである。
本明細書に開示されるシステムおよび方法の設計における1つの動機は、今日のモバイル電話に見られる今日の組み込み型プロセッサ上でリアルタイム性能(例えば、50ミリ秒(ms)未満の応答時間)を達成できるシステムを設計することであった。したがって、別のアプローチは、複雑性のレベルが原因で機能しないであろう。そのアプローチは、2つのVGA画像(1つは投影画像であり、もう1つはカメラがスクリーン上でこの画像をどう見るかである)を読み取り、実際の画像への適切なレジストレーションのためにカメラからの画像をクロップし、ワープし、色補正し、次いで、差分画像によって生み出されたシルエット内で複数の手を探索するという要件を含んでいた。そのアプローチは、知覚されるリアルタイム性能のための50ms未満という要件について実行可能であるようには思われなかった。
ユーザの負担になることを回避するために、飛行時間(TOF:time-of-flight)カメラ、赤外(IR)光下で機能するカメラを必要とする他のタイプのシステム、ステレオカメラ、または特殊なグローブを装着することもしくは指に色付きキャップをはめることをユーザに要求するカメラに頼るアプローチは、考慮されなかった。換言すると、本明細書に開示されるシステムおよび方法は、ユーザが特殊なグローブまたは色付きキャップを装着することを要求せず、また、ユーザが自身の手に印を付けることを要求しない。さらに、IRまたはTOFカメラは、デバイスのバッテリに負担をかける、または比較的大量のエネルギを消費するので、本明細書に開示されるシステムおよび方法は、これらIRまたはTOFカメラを必要としない。加えて、本明細書に開示されるシステムおよび方法は、複数の(例えば、ステレオ)カメラの使用を必要としない。本明細書に開示されるシステムおよび方法によって達成される1つの目標は、トラッキングおよび/または対話における正確さである。例えば、本明細書に開示されるシステムおよび方法は、グラフィカルユーザインターフェース(GUI:Graphical User Interface)上の小さなボタンと対話するのに十分な解像度を提供する。
以下は、本明細書に開示されるシステムおよび方法の1つの例示的な構成である。この構成では、4つの異なるステージが記述される:投影画像からコンピューティングデバイスのディスプレイ空間へと座標をマッピングし、手のサイズを決定する、2ステップの較正ステージ、手の検出が実行されるステージ(これによって、ユーザがトラッキングプロセスを開始できるようになる)、パターン(例えば、Haarフィーチャ)に基づいて手をトラッキングするために使用されるステージ、およびジェスチャ認識ステージ。ジェスチャ認識ステージでは、例えば、指認識は、コンピューティングデバイスのマウス上の左のボタンにマッピングされたパターン(例えば、4つのパターンまたはHaarフィーチャ)に基づく。ライブデモ(Live demo)は、本明細書に開示されるシステムおよび方法が、多種多様なコンテンツについてうまく機能することを示している。
ユーザを任意の新しいアクティビティに参加させる1つの因子は、それによってユーザが楽しい感覚を瞬時に経験できる低い学習曲線をシステムのいくつかの態様に提供することである。ユーザの感情が最初の喜びという気持ちからくるときには、ユーザは、システムを学ぶことにより多くの時間を費やすことを決定し、場合によってはパワーユーザにさえなりうる。
本明細書に開示されるシステムおよび方法が新しいユーザのためのトレーニングを最小限に抑え、またさらに、高いレベルの機能を提供するために、このシステムおよび方法は、多くのユーザが自身の机に座るときにはすでに自身のコンピュータを使用していることを反映する。そのセッティングでは、ユーザは、はじめにコンピューティングデバイスのマウスに手を伸ばし、自身の手をその上に置き、カーソルをディスプレイ上の所望のロケーションへとマッピングする、テーブル上のあるロケーションへとそれを動かし、マウスのボタンの1つを押して、何らかの所望のタスクを成し遂げることができる。本明細書に開示されるシステムおよび方法は、1つの構成では同様に機能する。例えば、ユーザは、投影画像またはディスプレイに歩いて行き、何らかの初期対話エリア(例えば、人差し指を伸ばした状態で(左のマウスボタンの上にあるように)、仮想の「マウスパッド」として指定されたエリア)から仮想マウスを「ピックアップ」し、スクリーン上でユーザ自身の手を所望のロケーションに動かし、その間にはカーソルがユーザの手にしたがっており、次いで、ユーザインターフェース(UI)エレメント上で「クリック」または「クリック、ホールド、ドラッグ」または「クリックをリリース」することができる。
例えば、ユーザは、2つの直観的なジェスチャ、すなわち、ユーザが左マウスボタン上に自身の人差し指を置いた状態で自身の手をコンピュータマウス上に置いていることをシミュレートするための、人差し指を伸ばして握った手、ならびに、クリックまたはクリック・アンド・ホールド操作をシミュレートするための人差し指が隠された状態の同様のジェスチャを学ぶことができる。「マウスボタン」をリリースすることは、レストポジション(resting position)に戻るために、隠されていた指を現す(revealing the finger)ことによって達成される。このように、これらのジェスチャは、多くのユーザにとって学ぶことが容易または直観的でありうる。
本明細書に開示されるシステムおよび方法は、正確であり、ほぼリアルタイムで実行することができる。例えば、本明細書のシステムおよび方法の1つの目標は、50ms未満で手の位置を特定することを可能にし、ユーザが、通常の投影セットアップにおいてMicrosoft Windows Vista(登録商標)のスタートメニュー(例えば、投影画像は、幅が90インチで高さが65インチ)上のUIエレメントを選択できるように十分に正確になることであった。本明細書のシステムおよび方法のための別の目標は、ゼロまたは最小限の較正を使用することであった。さらに、システムおよび方法が、例えば、VGA解像度カメラを備えた電話もしくはラップトップおよびプロジェクタを超える、より高性能の機器の使用を必要としないことが望まれた。このように、本明細書に開示されるシステムおよび方法の使用の単純さおよび容易さは、ユーザがそれらを使用することを促進する。
本明細書に開示されたシステムおよび方法の1つの構成は、以下に記述されるような、較正、手の検出、手のトラッキング、およびジェスチャ認識を含む。較正は、カメラ−プロジェクタのペアの構成のために使用されうる。投影空間と呼ばれる、カメラの視点からキャプチャされた投影コンテンツの座標は、デスクトップ空間座標と呼ばれる、コンピューティングデバイスのディスプレイ上の座標にマッピングされる。例えば、投影空間におけるコーナーA、B、C、Dは、デスクトップ空間におけるコーナーA’、B’、C’、D’にマッピングされうる。「デスクトップ空間座標」と呼ばれるが、このマッピングは、コンピューティングデバイスのディスプレイ、すなわち「デスクトップ」の全体を占める、または占めないことがありうる。カメラによってキャプチャされた画像は、デスクトップ空間の座標に対してロケーションおよびスケールの差を生じることがあり、また、対象物(objects)が3次元(3D)環境の2次元(2D)投影であるので、パースペクティブ歪みを生じることがある。
変換行列を生成するために、本明細書に開示されるシステムおよび方法の1つの構成は、1回限りの較正を用いる。較正のための既知の画像が投影される。例えば、チェッカードまたはチェスボードパターンが投影空間へと投影されることができる。チェッカードまたはチェスボード画像の4つのコーナーが見つけられることができる(例えば、OpenCVのcvFindChessboardCorners()関数を用いて)。これらのポイントは、次いで、投影空間の実際の座標を探すために使用されることができる。較正プロセスがうまく完了するためには、投影されているコンテンツは、1つの構成では、全体がカメラの視野内にある。
本明細書に開示されるシステムおよび方法は、また、正確なトラッキングのために手のサイズを決定することができる。カメラによって見られる手のサイズを決定する支配的な因子は、プロジェクタが作り出すことのできる画像がどれほど大きいかである。プロジェクタが強力であるほど、プロジェクタは、可能な最大の画像を作り出すためにスクリーンからさらに遠く離れて設置されることができ、これは、また、カメラがスクリーンからさらに離れて設置されることを要求しうる。1つの構成では、異なる半径の円を有する画像が投影される。ユーザは、一定時間(例えば、2秒間)最も密接な適合(tightest fit)をもたらす円の中にユーザの閉じた握り拳を置く。強度の変化に基づいて、ユーザが選択した円が識別されうる。
本明細書に開示されるシステムおよび方法は、手を検出するために使用されることができる。例えば、ユーザの手は、初期対話エリア、または仮想「マウスパッド」と呼ばれる投影空間のマークされたエリア内に置かれたときに検出される。これは、手のトラッキングを開始しうる。1つの構成では、仮想マウスパッドは、スクリーンの右下のコーナーにあり、較正段階の間に決定された手のサイズよりも4倍大きい。コンピューティングデバイスが動作している間、それは、このマークされたエリア内に入ってくるピクセル値を前のフレームの対応するピクセルと絶えず異なるものにしている。輝度(luma)または明度(luminosity)チャネルで観察された差の合計が固定の閾値を上回るときには、手のトラッキング段階に入り、それは、その変化が実際に手に起因するものであることを保証することから始まる。
本明細書に開示されるシステムおよび方法は、1または複数の手をトラッキングするために使用されることができる。例えば、本明細書で開示されるシステムおよび方法は、人の皮膚が、通常、スクリーン、塗装された壁、ホワイトボードなど、周囲のエリアに見られる材料よりも多くの光を吸収するという事実を使用することができる。これを前提として、いくつかのパターン(例えば、5つの新しいHaarフィーチャ)が、皮膚ではない材料と比べて、投影光下の手の甲および手首に類似した反射特性(reflectance property)を有する対象物を探すために使用されうる。
1つの構成では、パターン(例えば、5つのフィルタまたはHaarフィーチャ)の各々が、画像内の最後に知られている手のロケーションにおいて、測定された手のサイズよりも4倍大きいエリアをカバーするデータに適用される。この構成では、探索空間は、左から右に、上から下に、ピクセルごとにスキャンされる。所与のフィルタについて明るい灰色のエリアの合計と、対応する暗い灰色のエリアの合計との間の、最大の差を有するパターンが選択される。次に、最良適合(best fit)のフィルタが、閾値(例えば、予め決められた、またはオフラインで計算された)のセットに対してチェックされる。より具体的には、より明るいエリアまたは領域(例えば、3つの領域「1」、「2」、「3」)内の平均ピクセル値(例えば、輝度、強度など)は、第1のより暗いエリアまたは領域(例えば、「5」)におけるそれらに、1閾値(例えば、20の輝度または強度レベル―さらなる詳細は後述する)を足したものよりも大きい。第2のより暗いエリア(例えば「4」)における平均ピクセル値は、第1のより暗いエリア(例えば、「5」)における値から1閾値(例えば、20)を差し引いたものよりも小さいことをチェックされる。加えて、第1のより暗いまたは中心エリア(例えば、「5」)の平均ピクセル値は、値よりも大きい(例えば、30輝度または強度レベル)ことをチェックされ、それは、頭または手の影のトラッキングを回避することに役立ちうる。フィルタ(例えば、5つのフィルタ)のうちのいずれもが、握り拳および手首を見つけるのに成功しなかった場合、操作は、手が見つかるまで繰り返されることができる。
本明細書に開示されるシステムおよび方法は、「ピクセル値」、「強度」、または「輝度」値を使用することができる。1つの構成では、例えば、カメラは、赤色、緑色、および青色成分の各々について1バイトのデータを出力することができる。このデータは、輝度(YまたはY’)、青の色差(Cb)、および/または赤の色差成分(Cr)へと変換されることができる。輝度成分は、「ピクセル値」または「強度」とも呼ばれうる。輝度成分は、例えば、8ビット(1バイト)の数を用いて表されうる。したがって、輝度、ピクセル値、または強度は、黒色のための0(すべてのビットが0である)から、白色のための255(すべてのビットが1である)までの値またはレベルの範囲内で変化しうる。「閾値」は、特定の強度値または強度レベルの数として定義されうる。例えば、閾値は、20または30などと定義されうる。
例えば、リアルタイム性能に関して、積分画像が、Haarフィーチャ(例えば、5つのHaarフィーチャパターン)による使用のために計算される。3つの水平および垂直Haarフィーチャパターンについて、積分画像が計算されることができる。+45度および−45度における2つのフィルタについて、記載される回転された合計エリア表(rotated sum area table)を通じて積分画像が計算される。探索は、5つのフィルタのうちの1つが基準に合致したら終了されることができる。
本明細書に開示されるシステムおよび方法は、ジェスチャ認識のために使用されることができる。例えば、2つの異なる入力動作、すなわち、コンピューティングデバイスの左マウスボタンを押すことおよびリリースすることがサポートされることができる。例えば、人差し指を伸ばした状態の握った拳は、マウスボタンが押下されていないときを示すことができ、人差し指を隠すことは、ボタンが押されていることへとマッピングする。
1つの構成では、トラッキングされた手が、あるインターバル(例えば、700ミリ秒(ms))にわたって動きを停止したとき、システムおよび方法は、人差し指の存在についての探索を開始する。このために、いくつかの(例えば、4つの)Haarフィーチャが使用されることができる。1つの構成では、ジェスチャ認識は、はじめに、トラッキングされた手の画像を固定サイズ(例えば、640×480ピクセルのウェブカムについては40×40ピクセル)の画像へとスケーリングすることから始まる。このスケーリングは、探される対象物(例えば、指)のサイズおよび/またはカメラの解像度に依存しうる。Haarフィーチャまたはフィルタが追加的にまたは代替的にスケーリングされうることに注意されたい。(スケーリングされた)画像に基づいて、人差し指が水平方向または垂直方向を指しているときに使用するための積分画像が計算される。選択された人差し指に関する基準は、明るいエリア(例えば、「1」および「3」)に関する平均ピクセル値が、暗いエリア(例えば、「2」)における値に1閾値(例えば、30)を足したものよりも大きいことである。水平パターンまたは垂直パターン内の指が見つかった場合、探索は終了される。そうではない場合、回転された積分画像は、+45度および−45度において計算される。これらのフィルタを使用して人差し指が見つからなかった場合、手は、閉じた握り拳のジェスチャにあるとみなされる。
指認識のロバストネス(robustness)を改善するために、例えば、最大投票アルゴリズムが、20個の記憶されたフレームのバッファに適用される。例えば、システムおよび方法は、バッファ内の画像の少なくとも80%が、左マウスボタンイベントがトリガされる(例えば、オペレーティングシステム(OS)のウィンドウマネジャに対して)前に隠された人差し指を描くことを必要としうる。現れた人差し指を検出するためには、例えば、探索された20個のフレームのうちの50%が、人差し指の発見を報告しなければならない。人差し指を現すこと対隠すことに関するより低い閾値要件は、ステートマシンに起因するものであり、それは、ダウンマウス(down-mouse)イベントが検出された後にのみアップマウス(up-mouse)イベントがトリガされることを必要としうる。これは、誤検出(false positives)を低減するためのフィルタの役割を果たす。
本明細書のシステムおよび方法は、以下のように、1つの例示的なテストインプリメンテーションにしたがってインプリメントされうる。例えば、1つのインプリメンテーションでは、OpenCVライブラリを利用するCにおいてシステムおよび方法が開発された。2GB RAMを備えるIntel Core 2 Duo T7300 2GHzプロセッサで構成された、Windows(登録商標)XPを実行するHP Compaq 6710bラップトップが使用された。ウェブカムは、毎秒30フレーム(fps)としてVGA解像度の画像をキャプチャすることが可能なCreative Live!Cam Video IM Ultraであった。プロジェクタは、幅が92インチで高さが65インチのスクリーン上に画像を投影するEpson PowerLite 83+であった。部屋の照明は、66ルクス(lux)に下げられ、そこでは、ユーザは、容易にスクリーンを見ることができ、快適に互いを見ることができた。赤−緑−青(Red-Green-Blue)(RGB)値が128である灰色の画像を投影するときのスクリーンにおける光は、72ルクスであった。手のトラッキングおよびジェスチャ認識の段階の間、インプリメンテーションは、中央処理装置(CPU)の23%しか消費しないことが測定された。インプリメンテーションの正確さを測定するために、既にシステムに精通したユーザがカメラから10フィート離れて立ち、自身の素手を用いてスクリーン上の予め決められた4つの位置にナビゲートして、アップマウスイベントがその後に続くダウンマウスイベントをトリガすることができた回数が、表集計された。
投影されているコンテンツは、フルスクリーンモードで再生するビデオであった。ビデオがランダムに選択されたことを確実にするために、「現在見られているビデオ(Videos Being Watched Now)」カテゴリ内のYouTube上で最も人気のあるビデオのうちの50個がテスト時に選択された。いずれのビデオも開発段階では使用されなかった。ビデオがテストの間ずっと途切れずに再生されたことを確実にするために、1分よりも長いビデオだけが選択され、テスト開始前に十分にバッファされ、ジェスチャは、ビデオを一時停止することになるマウスイベントを実際にトリガすることは無効にされた。
このテストでは、スクリーン上の4つの領域が、A、B、C、Dとラベル付けされ、スクリーンの下1/3のところを中心とする投影エリアの1/2の幅および1/2の高さを有する長方形の左上、右上、右下、および左下のコーナーにそれぞれマッピングされた。テストは、ユーザに対して、初期対話エリアまたは仮想マウスパッドからカーソルまたは仮想マウスを「ピックアップ」し、手を位置Aにナビゲートし、カーソルがその位置の2インチ以内にトラッキングされることが成功した場合、その領域をクリックすることを要求した。そのジェスチャが正しく認識された場合、ユーザは、次いで、人差し指を現すことによって仮想マウスボタンをリリースする。これに続き、ユーザは、自身の手を位置Bへと右に動かし、位置Cへと下に動かし、最後に、位置Dへと左に動かし、その際、これら3つの位置の各々において同様に2つの手のジェスチャを行った。全体で12の測定が各ビデオについて実施された。
4つのテストの結果が、50個のビデオの各々についての以下の表1に示される。その結果は、本明細書に開示されたシステムおよび方法の上記インプリメンテーションが、予め決められた位置の各々へと手をトラッキングする際に96%有効であったことを示す。カーソルが手をトラッキングすることに成功した192回のうち、それはクリックジェスチャを157回検出し、82%の有効性を示した。これら157回の認識成功のうち、このインプリメンテーションは、付随するリリースジェスチャを154回検出した。
Figure 0005567206
クリックジェスチャ認識の82%の有効性は、指検出に改善の余地があることを明らかにした。しかしながら、ユーザにとって覚えやすく学びやすいジェスチャを選択するために、本明細書に開示されるシステムおよび方法は、VGAカメラがスクリーンから10フィート離れていると考えると、幅が約6ピクセルの指をトラッキングする。他の構成では、クリックジェスチャは、これらの距離からより明らかな動作、場合によっては、例えば開いた状態から閉じた握り拳への動作、にマッピングされることができる。オプション的に、ジェスチャエンジンを駆動するために手トラッカが使用されることもできる。例えば、手がある時間期間にわたって停止した後、カーソルは、その現在の位置に固定され、その間にユーザは、自身の手を左右に3回動かしてクリック動作を示すことがありうる。たとえば、手を右から左に3回動かすことは、クリックおよびホールド動作を表し、その後に、右から左にさらに3回動かすことでボタンのリリースを表す。要するに、ジェスチャシステムの品質とジェスチャセットの直観との間には反対の関係がしばしば存在する。ユーザにとってジェスチャが単純になるほど、しばしば、サポートすべき複雑性が増す。
本明細書に開示されたシステムおよび方法による可能な動作は、描画すること、ピクチャ(皮膚様の色を多く含むかもしれない)にズームすること、または、YouTubeビデオを一時停止および再生することなどを含む。前述のように、本明細書に開示されるシステムおよび方法は、コンピューティングデバイスとピコプロジェクタまたは標準プロジェクタとの組み合わせが任意の壁またはスクリーンを「タッチ式(touch-capable)」表面(例えば、ユーザが投影画像に対するジェスチャを通してコンピューティングデバイスと対話できる表面)に変えることを可能にする、リアルタイムでロバストなハンドジェスチャシステムおよび方法を提供する。本明細書に開示されたシステムおよび方法の1つの構成は、較正、手の検出、手のトラッキング、およびジェスチャ認識の、4つの段階を備える。それらのシステムおよび方法は、ユーザが、自身の素手を使用して、例えば、部屋を10フィート横切ったところから投影アプリケーションを実行しているコンピューティングデバイスの単一ボタン「マウス」を制御することを可能にすることができる。1つのインプリメンテーションのテストを200回実行した後、そのインプリメンテーションは、ユーザの手をトラッキングする際には96%有効であり、左マウスクリックに割り当てられたジェスチャを検出する際には82%有効であり、左マウスボタンがリリースされていることを検出することは98%の成功率であることを証明した。そのインプリメンテーションは、リアルタイム経験を提供し、今日のラップトップ上のCPUの23%しか消費しない。
本明細書に開示されたシステムおよび方法の他の構成は、さらなる機能または特徴を含むことができる。1つの構成では、システムおよび方法は、カーソルを「リリース」する、またはカーソルを現在のロケーションに残す機能を含むことができる。例えば、ジェスチャは、ユーザが自身の手を仮想マウスから離す(すなわち、システムは、手のトラッキングを停止し、カーソルをその現在の位置に残す)ことを可能にするために使用されることができる。例えば、ジェスチャ認識は、ユーザが自身の手を開く(例えば、5本の指すべてを伸ばす)ときに、システムおよび方法がカーソルをその現在のロケーションに残す、および/または手のトラッキングを中断することができるように使用されうる。
1つの構成では、手のトラッカおよびジェスチャエンジンのロバストネスをさらに改善するために、手の位置(例えば、最後に決定された手の位置)に対する明るい「グロー(glow)」効果が追加されることができる。手のすぐ周りに投影されたコンテンツを実際に修正することによって、高コントラストな画像からの性能への干渉が低減または排除されうる。例えば、投影画像は、ユーザの手の最後にトラッキングされたまたは決定されたロケーションの周りのエリアが照らされるまたは明るくされるように修正されうる。例えば、白色の円が、最後に決定された手のロケーションの周りで投影画像内に置かれることができる(これによって、例えば、投影画像の一部を「マスク」する)。これは、本明細書のシステムおよび方法の、現在の手のロケーションを決定する能力を改善することができる(例えば、手がそれほど速くは動いていないと仮定する)。
1つの構成では、システムおよび方法は、ユーザが毎回マウスパッドまで歩いて行く必要がないように、初期対話エリアまたは仮想マウスパッドが、ユーザの体または腰(hips)をトラッキングできるようにすることができる。例えば、スクリーンの(下の方の)部分が、連続的な明るい領域、その隣の連続的な暗い領域、その隣のもう1つの連続的な明るい領域を見つけるためにスキャンされることができる。暗い領域は、例えば、ユーザの体、腰、または、胴体(torso)のロケーションを示しうる。このロケーションは、初期対話エリアをユーザの隣にくるように動かすために使用されることができる。例えば、推定された手のサイズおよび/または顔のサイズ(例えば、較正/顔認識に基づく)は、ユーザの体(例えば、腰、胴体など)のサイズを推定するために使用されうる。1つの構成では、この推定された手のサイズの倍数が使用されうる。例えば、ユーザの体は、ユーザの手の幅の5倍として推定されうる。このように、1または複数のHaarパターンまたはフィルタは、推定された体のサイズに基づいて決定されうる。例えば、明るい左側領域は、手のサイズの2〜3倍であり、暗い(中心)領域は、手のサイズの4〜6倍であり、および/または明るい右側領域は、手のサイズの2〜3倍でありうる。1つの構成では、この体のトラッキングは、例えば、手のトラッキングが実行されていないときにのみ実行されうる。
システムおよび方法は、また、顔検出を使用して手のサイズを推定することができる。例えば、顔検出を使用して、顔のサイズを推定または決定することができ、次いでそれを使用して握り拳のサイズを推定することができる(それを使用して体のサイズなどを推定することができる)。例えば、握り拳のサイズは、ユーザの顔のサイズの1/6〜1/4として推定されうる。本明細書のシステムおよび方法は、(例えば単一のユーザまたは複数のユーザの)複数の手のトラッキングをサポートすることができる。例えば、いくつかの仮想マウスパッド(それは、重なり合っている、および/または何らかのパターンにある場合がある)が、複数の手のトラッキングを可能にするために提供されうる。
本明細書に開示されるシステムおよび方法は、左マウスクリックを超えたジェスチャをサポートすることができ、スクリーンの遠くのコーナーに到達するために、ユーザの手から離してカーソルを伸ばす能力をサポートすることができる。これは、例えば、ユーザの親指と人差し指との間の角度を計算することによって達成されることができる。例えば、0度、15度、30度、45度、60度、75度、90度などのような多種多様な角度でのマッチを可能にする、いくつかのHaarパターンまたはフィーチャが使用されることができる。90度のパターンとマッチする場合、カーソルは、ユーザの手から最大距離(例えば、15フィート)を離れるように伸ばされ、0度のパターンとマッチする場合、最短の距離を伸ばされうる。手のロケーションは、親指を探索するためのエリア(例えば、手に対して)を決定するために使用されうる。
ここで、様々な構成について、諸図を参照して説明する。これらの図では、同様の参照番号は、機能的に類似したエレメントを指しうる。本明細書の図において全体的に記載および図示されるシステムおよび方法は、多種多様な構成で配置および設計されることができる。したがって、図に示される、いくつかの構成についての以下のより詳細な説明は、特許請求の範囲に記載される範囲を制限することを意図したものではなく、単にシステムおよび方法を代表するものにすぎない。
図1は、コンピューティングデバイスインターフェースがインプリメントされうるコンピューティングデバイス104の1つの構成100を示すブロック図である。コンピューティングデバイス104の例は、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、セルラ電話、携帯情報端末(PDA)、電子リーダ、プロセッサおよびメモリを含む集積回路、ゲーミングコンソールなどを含む。コンピューティングデバイス104は、カメラ102および/またはプロジェクタ108と通信し、および/または、カメラ102および/またはプロジェクタ108に接続される。1つの構成では、コンピューティングデバイス104は、プロジェクタ108によって投影されるべき画像を生成する。コンピューティングデバイス104は、キャプチャされた画像または画像データをカメラ102から受信する。カメラ102、コンピューティングデバイス104、および/またはプロジェクタ108は、1つのデバイス(例えば、カメラとピコプロジェクタを備えたスマートフォン)に一体化されることができ、あるいは別個のデバイス(例えば、ウェブカム、ラップトップコンピュータ、標準のプロジェクタ)であることができる。
コンピューティングデバイス104は、インターフェースモジュール106を含む。インターフェースモジュール106は、ハードウェア、ソフトウェア、または両方の組み合わせとしてインプリメントされうる。インターフェースモジュール106は、カメラ102によってキャプチャされた画像について手のトラッキングおよびジェスチャ認識を可能にする。例えば、インターフェースモジュール106は、コンピューティングデバイス104を較正し、1または複数の手を検出し、1または複数の手をトラッキングし、ジェスチャを認識する(例えば、カメラ102によってキャプチャされた画像に基づいて)。手のトラッキングおよび/またはジェスチャ認識は、インターフェースモジュール106によって使用されて、操作を実行する、またはコマンドをトリガすることができる。換言すると、コンピューティングデバイス104は、手のトラッキングおよび/またはジェスチャ認識に基づいて、操作を実行する、および/またはコマンドをトリガすることができる。このように、インターフェースモジュール106は、手のトラッキングおよびジェスチャ認識インターフェースを可能にする。例えば、コンピューティングデバイス104は、プロジェクタ108によって、壁、スクリーン、または、表面上に投影される画像を生成することができる。インターフェースモジュールは、ユーザが、自身の手を投影画像上の(あるいは、投影画像の前の)ロケーションへと動かすことおよび/またはジェスチャすることによってコンピューティングデバイス104と対話することを可能にする。カメラ102によってキャプチャされた手の動きおよび/またはジェスチャの画像は、手のロケーションを決定するために、および/またはジェスチャが実施されたか否かを決定するために、インターフェースモジュール106によって使用されうる。これは、投影画像内に示されるアイコンを「クリック」すること、ズームインまたはズームアウトすること、描画すること、選ぶこと、コピーすること、ペーストすること、ドラッグすることなどの動作または操作を実行するために使用されうる。
図2は、カメラ202、コンピューティングデバイス204、およびプロジェクタ208を含む電子デバイス210の1つの構成を示すブロック図である。1つの構成では、例えば、カメラ202、コンピューティングデバイス204、およびプロジェクタ208は、1つの電子デバイス210に一体化される。例えば、電子デバイス210は、セルラ電話、スマートフォン、ラップトップコンピュータなどのようなワイヤレス通信デバイスでありうる。ワイヤレス通信デバイスは、一体型デジタルカメラ202、一体型ピコプロジェクタ208、およびコンピューティングデバイス(例えば、一体型プロセッサおよびメモリ)204を含みうる。他の電子デバイス210の例は、デスクトップコンピュータ(一体化されたカメラ202およびプロジェクタ208を備える)、およびタブレットデバイス(一体化されたカメラ202およびプロジェクタ208を備える)を含む。
コンピューティングデバイス204は、インターフェースモジュール206を含むことができる。例えば、インターフェースモジュール206は、プロセッサによって実行されるメモリ内の命令を備えたソフトウェアとしてインプリメントされることができる。別の構成では、インターフェースモジュール106は、直接的にハードウェアでインプリメントされることができる。電子デバイス210は、本明細書に開示された方法を実行するように構成されることができる。
図3は、コンピューティングデバイスインターフェースがインプリメントされうるコンピューティングデバイス304のより詳細な構成を示すブロック図である。コンピューティングデバイス304は、プロジェクタ308およびカメラ302と通信することができる。上述のように、プロジェクタ308、コンピューティングデバイス304および/またはカメラ302は、別箇のデバイスであることができ、あるいは1または複数のデバイスに一体化されることができる。
コンピューティングデバイス304は、画像データを生成する、および/または画像データをプロジェクタ308に送信することができる。プロジェクタ308は、画像データを使用して投影画像330を生成することができる。カメラ302は、投影画像330を含むカメラキャプチャエリア328において画像または画像データをキャプチャする。カメラ302は、また、ユーザ332の全体的または部分的な画像または画像データをキャプチャすることができる。
コンピューティングデバイス304は、インターフェースモジュール306を含む。図3に示される構成では、インターフェースモジュール306は、較正モジュール312、手検出モジュール318、手トラッキングモジュール320、およびジェスチャ認識モジュール324を含む。較正モジュール312は、マッピングモジュール314および手サイズ決定モジュール316を含む。
マッピングモジュール314は、投影画像330または投影空間からの座標を「デスクトップ空間」へとマッピングするために使用される。例えば、デスクトップ空間は、コンピューティングデバイス304によって生成された「デスクトップ」または「ウィンドウ」のような、コンピューティングデバイス304上の視覚的対話空間またはグラフィカルユーザインターフェース(GUI)のすべてまたは一部を含みうる。1つの構成では、投影画像330は、デスクトップ空間の画像である。例えば、デスクトップ空間は、アイコン、ボタン、対話式の制御装置(例えば、スライダ、ダイヤル、無線ボタン、テキストボックスなど)、1または複数のアプリケーションの視覚ディスプレイ、画像、ビデオなどを含みうる。これらのデスクトップ空間エレメントは、投影画像330として投影されることができる。
マッピングモジュール314は、カメラ302によってキャプチャされた投影画像330からのロケーションを、デスクトップ空間内のロケーションへとマッピングすることができる。このマッピングを達成するために、コンピューティングデバイス304は、プロジェクタ308を使用して、マッピングを決定するためにマッピングモジュール314によって使用されることができる投影画像330を投影することができる。例えば、投影画像330は、(例えばカメラ302によってキャプチャされた画像から)投影画像330または投影空間のコーナーを見つけるため、または決定するためにマッピングモジュール314が使用できる、チェッカードまたはチェスボードパターンでありうる。それらのコーナーは、次いで、デスクトップ空間のコーナーにマッピングされることができる。
手サイズ決定モジュール316は、ユーザ332の手334のサイズ(または、サイズの推定)を決定するために使用される。例えば、コンピューティングデバイス304は、プロジェクタ308を使用して、一連の円または楕円を含む画像を投影する。手サイズ決定モジュール316は、ユーザの手334がどの円の中にあるかを決定することができる。例えば、ユーザ332は、自身の手334を、自身の手334のサイズにほぼぴったりとマッチする円または楕円の中に置く。コンピューティングデバイス304(例えば、手サイズ決定モジュール316)は、その特定の円または楕円について強度の変化を検出する。次いで、手サイズ決定モジュール316は、円または楕円のサイズ(例えば、ピクセル単位)がユーザ332の手334のサイズであると決定することができる。決定された手334のサイズは、例えば、探索空間333のサイズを決定するために使用されることができる。
手検出モジュール318は、コンピューティングデバイス304と対話するためにユーザの手334がいつ使用されているかを検出するために使用されることができるモジュールである。例えば、手検出モジュール318は、投影画像(または、投影空間)内の初期対話エリア338をモニタすることができる。1つの構成では、初期対話エリア338は、手サイズ決定モジュール316によって決定された手334のサイズよりも4倍大きく、投影画像330または投影空間の右下の部分に存在する。複数の手および/または複数のユーザ332に対応するために、複数の初期対話エリア338が使用されることができる。例えば、複数の初期対話エリア338は、重なり合い、特定のパターン(例えば、チェッカーボード)に置かれ、および/または移動する(例えば、1または複数のユーザ332と共に)ことができる。
1つの構成では、初期対話エリア338は、異なるサイズであることができ、投影画像330または投影空間の異なるロケーションに置かれることができ、および/または移動することができる(例えば、ユーザ332の体または胴体がトラッキングされ、初期対話エリアが、ユーザ332と共に、例えばユーザ332の隣にくるように、移動することができる)。1つの構成では、例えば、コンピューティングデバイス304は、ユーザ332の体のロケーションに基づいて、初期対話エリア338を動かすことができる。コンピューティングデバイス304は、ユーザ332の体(例えば、腰、臀部(backside)、胴体、背中など)に対応するパターンまたは暗いエリアを探索することによって、これを達成することができる。コンピューティングデバイス304は、この暗いエリアまたはパターンのために投影画像の一部分だけ(例えば、投影画像の下側1/10など)を探索することができる。ユーザ332の体の幅は、手334のサイズの倍数(例えば、ユーザ332の握り拳のサイズの5倍)として推定されうる。コンピューティングデバイス304は、ユーザ332の体のこのトラッキングされたロケーションを使用して、初期対話エリア338を、それがユーザ332の隣(例えば、ユーザ332のウエストのそばなど)にくるように動かすことができる。このように、ユーザ332は、「仮想マウス」またはカーソルを「ピックアップ」することを望むたびに投影画像の右下のコーナーに移動する必要がない。
ユーザ332の体をトラッキングするために、1または複数のHaarパターンまたはフィルタが使用されることができる。例えば、1つのパターンは、長方形の明るい左側領域、その隣の長方形の暗い中心領域、その隣の長方形の明るい右側領域を備えうる。このパターンは、体のロケーションを示す画像データにおけるマッチについて画像データを探索するために使用されることができる。領域のサイズは、較正に基づいて、または決定もしくは推定された手334のサイズに基づいて、決定または推定されることができる。例えば、コンピューティングデバイスは、1または複数の円または楕円を使用する較正を通して、または顔認識を通して、手のサイズを決定または推定することができる。左側および/または右側の明るい領域のサイズ(例えば、幅)は、手のサイズ(例えば、幅)の2〜3倍であり、暗い中心領域のサイズ(例えば、幅)は、手のサイズ(例えば、幅)の3〜5倍でありうる。画像データにおけるパターンマッチのロケーションは、初期対話エリアを動かすために使用されることができる。
下側10分の1など、投影画像330の下部だけが、ユーザ332の体について探索されうる。1つの構成では、ユーザ332の体は、手334がトラッキングされていないときに探索されうる。1つの構成では、初期対話エリア338は、パターンへのマッチが画像データ内に見つからない間、静止したままであることができる。追加的にまたは代替的に、ユーザ332の側面がカメラ302に面しているときにユーザ332の体をトラッキングするために、1つまたは複数のさらなるパターンまたはフィルタ(前述の例に類似したものであることができる、ただし、例えば、1つまたは複数の領域が異なるサイズであることができる)が使用されることができる。
手検出モジュール318は、ユーザの手334について初期対話エリア338をモニタすることができる。1つの構成では、手検出モジュール318は、現在のフレーム内のピクセルの輝度(例えば、強度)または明度と、初期対話エリア338における1または複数の前のフレーム内の対応するピクセルのそれとの間の差を計算する。これらの差は、合計されることができる。差(例えば、輝度または明度チャネルの)の合計が閾値を上回る場合、これは、手334が初期対話エリア338内にあることを示しうる。これが起こるとき、手検出モジュール318は、手トラッキングモジュール320が手334のトラッキングを開始するべきであることを示すことができる。手トラッキングモジュール320は、変化(例えば、輝度または明度の変化)が実際に手334によるものであることを保証するために、その変化をチェックまたは検証する。
手トラッキングモジュール320は、ユーザの手334をトラッキングするために使用される。手トラッキングモジュール320は、1または複数のトラッキングパターン322を含みうる。トラッキングパターン322の例は、Haarフィーチャパターンを含む。トラッキングパターン322は、例えば、2つの暗い領域を含むことができる。暗い領域のうちの1つは、3つのより明るい領域で囲まれた暗い中心領域(例えば、ユーザの手334の甲を表す)でありうる。もう1つの暗い領域は、暗い中心領域に隣接しうる(例えば、ユーザ332の手首を表す)。
コンピューティングデバイス304が手334をトラッキングしているとき(これは、手検出モジュール318によって開始されうる)、手トラッキングモジュール320は、カメラ302によって提供される画像または画像データの特定の探索空間333をスキャンすることができる。1つの構成では、探索空間333は、手サイズ決定モジュール316によって決定された手334のサイズの約4倍である。コンピューティングデバイス304(例えば、手トラッキングモジュール320)は、トラッキングパターン322のうちの1つへの最良適合について探索空間333をスキャンすることができる。マッチが見つからなかった場合、手トラッキングモジュール320は、手334の探索を継続することができる(および/または、例えば、ある期間時間にわたって見つからなかった場合、最終的に手334の探索を終了することができる)。マッチが見つかった場合、コンピューティングデバイス304(例えば、手トラッキングモジュール320)は、マッチのロケーションおよび/または位置を使用することができる。1つの構成では、探索空間333は、手334の動き(例えば、速度および方向)に基づいて動的に変化(例えば、拡大、縮小)しうる。例えば、トラッキングされた手334が特定の方向に急速に動いている場合、コンピューティングデバイス304は、特に、動きの方向で、探索空間の面積を増大させうる。1つの構成では、探索空間333の面積は、また、特にユーザの手334がゆっくり動いている場合、減少しうる。また、探索空間333が、カメラキャプチャエリア328のサイズ以下の任意のサイズでありうることに注意されたい。しかしながら、縮小された探索空間333(例えば、ユーザ332の握り拳のサイズの4倍)が使用されことができ、それは、計算的に、より効率的でありうる。
最良適合のフィルタまたはトラッキングパターン322は、閾値のセットに対してチェックされることができる。このチェックは、ユーザの頭332または手334の影336をトラッキングするのを回避するのに役立ちうる。最良適合のフィルタまたはトラッキングパターン322がチェックされる(そして、このチェックにパスする)と、マッチのロケーションおよび/または位置が使用されることができる。例えば、マッチのロケーションは、コンピューティングデバイス304上のカーソルのロケーションを制御するために使用されることができる。換言すると、コンピューティングデバイス304は、そのカーソルを、マッチによって示されるデスクトップ空間内のロケーションに動かすことができる。
ジェスチャ認識モジュール324は、ジェスチャパターン326を使用してジェスチャを検出することができる。例えば、ジェスチャパターン326は、1または複数の指を曲げること(retracting)または伸ばすこと(extending)、または指を特定の位置に置くことなど、特定のジェスチャを検出するために使用されるHaarフィーチャであることができる。例えば、ジェスチャパターン326は、3つの長方形領域(例えば、横に並べられた)を含むことができる。2つの外側領域は、より明るい領域であることができ、内側領域は、より暗い領域であることができる。長方形領域のグループは、垂直である、水平である、および/または角度(例えば、±45度)をなしていることができる。1つの構成では、コンピューティングデバイス304(例えば、ジェスチャ認識モジュール324)は、トラッキングされた手334が、いつ、ある時間インターバル(例えば、700ms)の間、動きを止めたかを検出する。これが発生したとき、ジェスチャ認識モジュール324は、トラッキングされた手334の画像を固定サイズ(例えば、40×40)へとスケーリングする。例えば、手334の最後にトラッキングされたロケーションに基づくエリアが、探索されるべき画像エリアを決定するために使用されることができる。この画像に基づいて、人差し指が水平または垂直方向を指しているときに使用するための積分画像が計算される。水平または垂直パターン326の指が見つかった場合、探索は終了される。見つからなかった場合、+45度および−45度における回転された積分画像が計算される。回転された指が見つかった場合、探索は、また、終了しうる。しかし、指が見つからなかった場合、コンピューティングデバイス304(例えば、ジェスチャ認識モジュール324)は、手334が握られている(伸ばされた指がない)ことを決定しうる。
1つの構成では、コンピューティングデバイス304は、特定のジェスチャが認識された場合、操作を実行し、および/またはイベントをトリガすることができる。例えば、指が見つからないことをジェスチャ認識モジュール324が決定すると、コンピューティングデバイス304は、左マウスダウンまたは被クリックイベントをトリガすることができる。さらに、指が見つかった場合、コンピューティングデバイス304は、マウスアップイベントをトリガすることができる。このように、マウスクリックがシミュレートされうる。別の構成では、ジェスチャ認識モジュール324は、「投票(voting)」操作または機能を使用することができる。例えば、ジェスチャ認識モジュール324は、20個のフレームをバッファまたは記憶することができる。ジェスチャ認識モジュール324は、左マウスイベントがトリガされる前に隠された指を示すために、バッファされたフレームの80%を要求しうる。さらに、ジェスチャ認識モジュール324は、20個のフレームのうちの50%が、マウスアップイベントをトリガする前に伸ばされた指を示すことを要求しうる。さらに、コンピューティングデバイス304は、マウスダウンイベントの後のマウスアップイベントのみを可能にするステートマシンを使用することができる。これは、誤検出を低減するためのフィルタの役割を果たすことができる。
他の構成は、代替的なフィーチャおよび/または追加的なフィーチャを使用することができる。1つの構成では、コンピューティングデバイス304は、トラッキングを改善するために、より明るいエリアを生成する、またはトラッキングされた手334の周りを「輝かせる(glow)」ことができる。例えば、コンピューティングデバイス304は、投影されるべき画像内のトラッキングされた手334のロケーションの周りのいくつかのピクセルの明るさを高めることができる。前述のように、いくつかの構成では、複数の手が同時にトラッキングされることができ、および/または複数のジェスチャが同時に認識されることができる。
1つの構成では、コンピューティングデバイス304は、ユーザの手334および/または指の影336からのジェスチャの検出、トラッキング、および/または認識を回避するために、トラッキングおよび/またはジェスチャ認識を実行する前に、キャプチャされた画像の暗い部分(例えば、輝度<約35)を除去することができる。例えば、コンピューティングデバイス304は、非常に暗い(例えば、特定の閾値を下回る)キャプチャされた画像からのピクセルを決定し、それらのピクセルをパターン探索における考慮から除去することができる。
1つの構成では、コンピューティングデバイス304(例えば、ジェスチャ認識モジュール324)は、ユーザの手334の親指と人差し指との間の角度に基づいてジェスチャを認識することができる。例えば、コンピューティングデバイス304は、ユーザ332の人差し指と親指との間の角度に基づいて、ユーザの手334からカーソルを遠ざけることができる。これによって、ユーザは、構成に応じて、投影画像の到達可能でないエリア内でカーソルを制御できるようになる。例えば、コンピューティングデバイス304は、完全に伸ばされた親指(例えば、親指と人差し指との間が約90度)を、特定の距離(例えば、いくつかのピクセル、ユーザの手334と投影画像のエッジとの間の距離のあるパーセンテージ、いくつかの手334のサイズなど)だけユーザの手334からカーソルを遠ざけるためのコマンドとして解釈しうる。この距離は、人差し指と親指との間の角度のサイズに基づきうる。例えば、ユーザ332が人差し指と親指との間の角度を減らすと、距離は、人差し指と親指との間に角度がないユーザの手334のところにカーソルがくるまで、減らされることができる。1つの構成では、方向は、検出された手首のロケーションに基づくことができる(例えば、カーソルが手334からまっすぐ離れて伸びるように)。別の構成では、人差し指と親指との間の角度は、例えば、ズームイン/ズームアウト操作のような他の何らかの操作のために使用されることができる。
1つの構成では、カメラ302は、投影画像330のエリアにおいて、改善されたフォーカス、露出、および/または色再現を提供する。例えば、コンピューティングデバイス304は、カメラ302に対して、投影画像330にフォーカスするように、および/または、投影画像330についてその露出および/または色再現を改善するように命令することができる。これは、カメラキャプチャエリア328の残りの部分を犠牲にして成り立ちうる。例えば、投影画像330エリア以外のカメラキャプチャエリア328の残りの部分の一部またはすべては、フォーカスがずれているか、あるいは露出および/または色再現が不十分でありうる。追加的にまたは代替的に、改善されたフォーカス、露出、および/または色再現は、例えば、探索空間333または初期対話エリア338のような、別の関心領域に対して使用されることもできる。
1つの構成では、プロジェクタ308、カメラ302、およびユーザ332は、すべて、投影画像330のために使用される表面(例えば、壁、スクリーン、ホワイトボードなど)の同じ側にありうる。別の構成では、プロジェクタ308は、投影画像330のために使用される表面の裏側にありうる。本明細書のシステムおよび方法が、任意の位置にあるユーザの手334に適用されうることに注意されたい。例えば、ユーザの手334の裏側、表側、または側面がトラッキングされることができる。ユーザの手334は、追加的にまたは代替的に、異なる時点に伸ばされたおよび/または隠された1または複数の指を有することができる。
図4は、コンピューティングデバイスインターフェースを提供するための方法400の1つの構成を示すフロー図である。コンピューティングデバイス104は、較正402されることができる。換言すると、コンピューティングデバイス104は、それ自体104を較正402することができる。例えば、コンピューティングデバイス104は、プロジェクタ108によって投影された画像または投影空間(カメラ102によってキャプチャされた)のコーナーを見つけることができる。コンピューティングデバイス104は、これらのコーナーを使用して、投影空間をデスクトップ空間にマッピングすることができる。例えば、投影空間内の座標は、デスクトップ空間内の座標にマッピングされることができる(例えば、変換行列を用いて)。コンピューティングデバイス104は、また、投影画像上の円または楕円内の手334の存在を検出することによって手334のサイズを決定することができる。
コンピューティングデバイス104は、初期対話エリアにおいて手334を検出404することができる。例えば、コンピューティングデバイス104は、キャプチャされた画像のあるエリア(例えば、右下のコーナーまたはユーザ332の胴体の近くなど)における輝度または明度の変化を検出することができる。
コンピューティングデバイス104は、手334をトラッキング406することができる。例えば、コンピューティングデバイス104は、トラッキングパターン(例えば、Haarフィーチャ)を使用して、手334のロケーションおよび/または位置を決定することができる。例えば、コンピューティングデバイス104は、所与のフィルタについて、明るい灰色のエリアの合計と暗い灰色のエリアの合計との差が最も大きいトラッキングパターンを選択することができる。最良適合のフィルタが、閾値のセットに対してチェックされることができる。チェックがパスすると、コンピューティングデバイス104は、トラッキングされた手334のロケーションおよび/または位置を使用することができる。
コンピューティングデバイス104は、手334のジェスチャを認識408することができる。例えば、コンピューティングデバイス104は、ジェスチャとして解釈されうる、1または複数の指または手334の動きを検出することができる。1つの構成では、コンピューティングデバイス104は、ジェスチャパターンを使用して1または複数の指を探索する。コンピューティングデバイス104は、1または複数の指の動きの有無またはそのシーケンスをジェスチャとして解釈することができる。ジェスチャが検出されるときには、それは、イベントまたは操作をトリガするために使用されうる。例えば、コンピューティングデバイス104は、任意の指がないことをマウスダウンイベントと解釈することができ、指の存在(マウスダウンイベント後)は、マウスアップイベントとして解釈されうる。
別の構成では、コンピューティングデバイス104は、手334(または指)の特定の動きをジェスチャとして解釈することができる。例えば、コンピューティングデバイス104は、握り拳を3回振ることを、イベントまたは操作をトリガすることのできる特定のジェスチャと解釈しうる。例えば、コンピューティングデバイス104は、1または複数のフレームをバッファし、握り拳および/または1または複数の指の動きを、ジェスチャを示す特定のパターンとマッチさせることができる。バッファされたフレームは、追加的にまたは代替的に、ジェスチャ認識のロバストネスを高めるために使用されることができる。例えば、コンピューティングデバイス104は、イベントまたは操作をトリガする前に、バッファされたフレームの特定のパーセンテージが特定の検出(例えば、伸ばされた指、隠された指など)を示すことを要求しうる。
図5は、コンピューティングデバイスインターフェースを提供するための方法500のより詳細な構成を示すフロー図である。より詳細には、図5に示された方法500は、コンピューティングデバイス104を較正402することについてのさらなる詳細を提供する。コンピューティングデバイス104は、プロジェクタ108を使用して較正のための画像を投影502することができる。例えば、コンピューティングデバイス104は、チェッカードまたはチェスボード画像、あるいはカメラ102によってキャプチャされた投影画像のコーナーを決定するために使用されうる他の何らかの画像を生成および投影(プロジェクタ108を使用して)することができる。コンピューティングデバイス104は、較正のためのキャプチャされた画像に基づいて、投影空間の座標をデスクトップ空間の座標にマッピング504することができる。例えば、コンピューティングデバイス104は、輝度または明度の1以上の降下(例えば、エッジにおける)を探索することによって、投影画像のコーナーを見つけることができる。コンピューティングデバイス104は、カメラ102によってキャプチャされた投影画像のコーナーを、コンピューティングデバイス104上のデスクトップ空間のコーナーにマッピング504することができる。例えば、コンピューティングデバイス104は、投影画像または投影空間のコーナーのロケーションに基づいて変換行列を生成することができる。
コンピューティングデバイス104は、手334のサイズ決定のための画像を投影506することができる。例えば、コンピューティングデバイス104は、プロジェクタ108を使用して、一連の円または楕円を含む画像を投影することができる。コンピューティングデバイス104は、手334のサイズ決定のためのキャプチャ画像に基づいて、手334のサイズを決定508することができる。例えば、コンピューティングデバイス104は、カメラ102によってキャプチャされた1または複数の画像または画像フレームを使用して、ユーザの手334がその中に置かれた投影された円または楕円を決定することができる。例えば、コンピューティングデバイス104は、現在のフレームからのピクセル強度値を使用し、それらを1または複数の前のフレームからの対応するピクセル強度値と比較することができる。コンピューティングデバイス104は、ユーザが自身の手334を特定の円内に置いていることを示すピクセル強度値の変化を検出することができる。例えば、特定の円または楕円に対応するピクセル強度値が前のフレームから現在のフレームへと減少するときには、コンピューティングデバイス104は、強度が低下した特定の円または楕円がユーザの手334または握り拳のサイズであることを決定することができる。
追加的にまたは代替的に、コンピューティングデバイス104は、顔認識を実行することによってユーザの手334のサイズを推定することができる。1つの構成では、コンピューティングデバイス104は、ユーザ332の頭のサイズ(顔認識を通じて決定される)を使用して、ユーザの手334のサイズを推定することができる。例えば、コンピューティングデバイス104は、ユーザの手334のサイズを、ユーザ332の頭のサイズの1/3として推定することができる。別の構成では、コンピューティングデバイス104は、円または楕円を使用して手334のサイズ決定を実行し、また、ユーザ332の顔(顔認識を使用して)に基づいて較正データを記憶することができる。例えば、コンピューティングデバイス104は、ユーザAについて手334のサイズ決定/較正を実行し、ユーザAを(顔認識によって)認識するために使用されることができるデータと共に、ユーザ332と関連付けられた決定/較正データを記憶することができる。このように、次回ユーザAがインターフェースを使用するときに、コンピューティングデバイス104は、認識されたユーザAの顔と関連付けられた手334のサイズについて、自身を自動的に較正することができる。
図6は、投影空間640におけるチェッカードまたはチェスボードパターン642の1つの構成を示す図である。コンピューティングデバイス104は、投影空間640においてチェッカードまたはチェスボードパターン642の画像を生成および投影(プロジェクタ108を使用して)することができる。カメラ102は、チェッカードまたはチェスボードパターン642の画像をキャプチャし、その画像または画像データをコンピューティングデバイス104に送ることができる。コンピューティングデバイス104は、その画像または画像データを使用して、投影空間640のコーナーを決定することができる。例えば、コンピューティングデバイス104は、コーナーを決定するために、エッジ(例えば、最上部、最下部、左側、右側など)における輝度または明度の1以上の降下についてチェッカードまたはチェスボードパターン642を探索することができる。(カメラ102によってキャプチャされた)投影空間640のコーナーは、変換行列を決定するために使用されることができる。投影空間640のコーナーは、投影空間640の実際の座標を探索するために使用されることができる。
図7は、デスクトップ空間748への投影空間740のマッピングを示す図である。コンピューティングデバイス104は、画像を生成し、(プロジェクタ108を使用して)画像を投影空間740に投影する。カメラ102は、投影画像をキャプチャする。しかし、カメラ102は、投影空間740よりも大きいことがありうる、カメラキャプチャエリア728内の画像をキャプチャしうる。例えば、投影空間740と呼ばれる、カメラのキャプチャエリア728(または、視点)からキャプチャされた投影コンテンツの座標は、デスクトップ空間748の座標と呼ばれる、コンピューティングデバイス104のディスプレイ上の座標、またはコンピューティングデバイス104のディスプレイ上の領域内の座標にマッピングされうる。例えば、ポイントA 744a、ポイントB 744b、ポイントC 744c、およびポイントD 744d(例えば、コーナー)は、それぞれ、ポイントA’ 746a、ポイントB’ 746b、ポイントC’ 746c、ポイントD’ 746dにマッピングされる。カメラ102によってキャプチャされた画像は、対象物が3D環境の2D投影であるので、デスクトップ空間748の座標に関するロケーションおよびスケールの差と、パースペクティブ歪みと、の両方を生じうる。
図8は、手334のサイズ較正のための画像850を示す図である。例えば、コンピューティングデバイス104は、手334(例えば、握り拳)のサイズ較正のための画像850を生成し、プロジェクタ108を使用してその画像850を投影することができる。1つの構成では、手334のサイズの較正のための画像850は、手334のサイズ較正のための円または楕円852を含む。カメラ102は、手334のサイズ較正のための画像850の1または複数の画像(例えば、画像データのフレーム)をキャプチャする。コンピューティングデバイス104は、次いで、円または楕円852のうちの1つ(または、例えば、複数)における強度(例えば、ピクセル強度)の変化を検出する。例えば、コンピューティングデバイス104は、1または複数の前のフレームからの円または楕円に対応するピクセルの強度を、現在のフレームにおけるピクセルと比較する。変化が検出されるとき、コンピューティングデバイス104は、強度の変化に対応する円または楕円852を選択する。1つの構成では、コンピューティングデバイス104は、いくつかのフレームについて変化が検出された後(例えば、2秒など、ある期間時間の間、変化が一定であるとき)にのみ円または楕円852を選択することができる。これは、例えば、ユーザ332が円または楕円852の前を歩くときに、それらの円または楕円852を選ぶことを回避するのに役立ちうる。選択された円または楕円852は、手334(例えば、握り拳)のサイズを示しうる(例えば、ピクセル数で)。
図9は、コンピューティングデバイスインターフェースを提供するための方法900の別のより詳細な構成を示すフロー図である。より詳細には、図9に示される方法900は、初期対話エリアにおいて手334を検出404すること(例えば、手トラッキングに移行するために)についてのさらなる詳細を示す。コンピューティングデバイス104は、初期対話エリアを決定902することができる。1つの構成では、初期対話エリアは、手334のサイズ(例えば、較正の間に決定される)の約4倍のサイズで、投影画像の右下のコーナーに設定される。他の構成では、初期対話エリアは、投影画像の左下の部分、投影画像の下側中央の部分、または他の何らかのエリアなど、予め定められた別のエリアに配置または設定されることができる。別の構成では、コンピューティングデバイス104は、初期対話エリアを動かすことができる。例えば、コンピューティングデバイス104は、ユーザ332の位置(例えば、ユーザ332の胴体、または較正に基づいた最も暗い1/n幅など)をトラッキングし、初期対話エリアをユーザ332の隣に置くことができる。このように、初期対話エリアは、ユーザ332が動くときに移動する。したがって、コンピューティングデバイス104は、初期対話エリアを決定902することができる。
コンピューティングデバイス104は、初期対話エリアをモニタ904することができる。例えば、コンピューティングデバイス104は、カメラ102によってキャプチャされた画像または画像データを使用して初期対話エリア内のピクセルの輝度または明度値をモニタ904することができる。1つの構成では、コンピューティングデバイス104は、初期対話エリアに対応する画像データ(例えば、ピクセル)の1または複数のフレームを記憶またはバッファする。
コンピューティングデバイス104は、手334が初期対話エリア内で検出されたか否かを決定906することができる。1つの構成では、コンピューティングデバイス104は、1または複数の前のフレームにおける初期対話エリア内のピクセルの輝度または明度値と、現在のフレームにおける対応するピクセル値との差を計算する。この構成では、コンピューティングデバイス104は、これらの差の合計を計算し、それが閾値と比較される。差の合計が閾値よりも小さい場合、コンピューティングデバイス104は、手334が初期対話エリア内で検出されなかったと決定906する。その場合、操作は、初期対話エリアの決定902に戻ることができる。差の合計が閾値よりも大きい場合、コンピューティングデバイス104は、手334が初期対話エリア内で検出されたと決定906し、手のトラッキングの実行908に移行する。この決定906が予備的なものでありうることに注意されたい。例えば、手334が初期対話エリア内で検出されたとコンピューティングデバイス104が決定906したら、手のトラッキングを実行908する際に、輝度または明度の変化が手334の存在に起因することを確実にする(例えば、検証するまたはチェックする)ための1または複数の操作が実行されることができる。
図10は、コンピューティングデバイスインターフェースを提供するための方法1000の別のより詳細な構成を示すフロー図である。コンピューティングデバイス104は、カメラ102を使用して、手334のトラッキングのための画像をキャプチャ1002することができる。例えば、カメラ102は、1または複数の画像または画像データをキャプチャすることができ、それ/それらがコンピューティングデバイス104に提供される。コンピューティングデバイス104は、これらの画像または画像データを受信、記憶(例えば、バッファ)、および/または使用することができる。
コンピューティングデバイス104は、探索空間において画像データに最も良くマッチするパターンを決定1004することができる。換言すると、コンピューティングデバイス104は、探索空間において最良適合なパターン(例えば、トラッキングパターン)を決定1004することができる。例えば、いくつかのHaarフィーチャパターンが使用されることができる。1つの構成では、各々が5つの長方形のエリアまたは領域を備える、5つのHaarパターンが使用される。長方形の「暗い」中心領域は、4つの長方形の外側のエリアまたは領域によって囲まれ、あるいは4つの長方形の外側のエリアまたは領域と境を接する(例えば、ユーザ332の握り拳を表す)。4つの外側領域のうち、3つはより明るい領域であり、1つは暗い領域である。例えば、パターンのうちの1つは、暗い中心領域の左に暗い外側領域を含む。別のパターンは、暗い中心領域の下、および暗い中心領域の右に、暗い領域を有しうる。その他2つのパターンは、暗い中心領域の左下および右下に暗い外側領域を有しうる。これらの2つのパターンは、例えば、暗い外側領域が暗い中心領域の真下にあるパターンを±45度回転したものでありうる。これらのパターンの例は、図11A〜11Eに示されている。
コンピューティングデバイス104は、該パターンを使用して、探索空間において画像データに最も良くマッチする(例えば、最良適合な)パターンを決定1004することができる。例えば、ユーザの手334をトラッキングすることは、ユーザの手334よりも大きい探索空間またはエリア(画像データの)において1または複数のより明るい領域で囲まれた1または複数の暗い領域を探索することによって達成されうる(例えば、皮膚は投影面よりも多くの光を吸収する傾向にあるため)。1つの構成では、探索空間は、決定された手334のサイズの約4倍のサイズであり、ユーザの手334の最後の(決定された)ロケーションに配置される(例えば、中心を置かれる)。コンピューティングデバイス104は、左から右、上から下に、ピクセルごとに探索空間内の画像データをスキャンする。コンピューティングデバイス104は、次いで、所与のフィルタについて、より明るい(例えば、明るい灰色)エリアの合計と暗い(例えば、暗い灰色)エリアの合計との差(例えば、輝度、ピクセル値、または強度の差)が最も大きい(greatest)または最大(maximum)である、最も良くマッチするパターン(例えばフィルタまたはフィーチャ)を選択する。最も大きいまたは最大の差を有するパターンが、探索空間画像データにおける最良のマッチまたは最良適合として選択される。最も良くマッチするパターンは、手334のトラッキングなど、操作を実行するために使用されうる探索空間内の画像データに対応するロケーションおよび/または向きを有する。
より具体的には、例えば、1または複数のパターンが、画像データにおけるマッチを見つけるために使用されうる。例えば、パターンの暗い領域に対応する画像データの平均ピクセル値(例えば、輝度、強度など)が、より明るい他の領域(例えば、3つの明るい領域)に対応する画像データの平均ピクセル値よりも閾値分暗い(threshold darker)(例えば、20輝度レベル低い)ときにマッチが決定されうる。平均ピクセル値は、例えば、ある領域におけるピクセル数でピクセル値の合計を割ったものでありうる。マッチを決定するために使用されるピクセルは、画像データ内のフィルタまたはパターンの現在のロケーションに対応しうる。
コンピューティングデバイス104は、パターンが手334にマッチするか否かを決定1006することができる。例えば、決定されたパターン(例えば、そのロケーションおよび向きを備える)が、例えばユーザの手334の影またはユーザ332の頭ではなく手334にマッチすることを検証するために、1または複数のチェックが行われることができる。換言すると、コンピューティングデバイス104は、最良適合なパターンをチェックすることができる。例えば、最良適合なパターンまたは画像データが、閾値(例えば、予め定められた閾値)のセットに対してチェックされることができる。1つの構成では、コンピューティングデバイス104は、より明るい外側領域(例えば、明るい灰色の領域)の平均ピクセル値(例えば、輝度または強度における)が、暗い中心エリアの平均ピクセル値に1閾値(例えば、20)を足したものよりも大きいことを検証するためのチェックを行う。コンピューティングデバイス104は、また、暗い(例えば、暗い灰色の)外側エリアの平均ピクセル値が、暗い(例えば、暗い灰色の)中心エリアの平均ピクセル値から1閾値(例えば20)を引いたものよりも小さいことを検証するためのチェックを行うことができる。これら上述のチェックは、最良適合なパターンがユーザの手334に対応することを保証するのに役立ちうる。加えて、コンピューティングデバイス104は、暗い中心エリアからの平均ピクセル値が、ある値(例えば、30)よりも大きいことを検証するためのチェックを行うことができ、これは、ユーザ332の頭またはユーザの手334の影をトラッキングするのを回避するのに役立ちうる。
例えば、コンピューティングデバイスは、前述したすべてのチェックが満たされるか否かを決定する(パターンが手334にマッチするか否かを決定1006するため)。例えば、コンピューティングデバイスは、より明るい外側領域の平均ピクセル値が、暗いエリアの平均ピクセル値に閾値を足したものよりも大きいか否か、暗い外側のエリアの平均ピクセル値が、暗い中心エリアの平均ピクセル値から閾値を差し引いたものよりも小さいか否か、および暗い中心エリアの平均ピクセル値が予め定められた値よりも大きいか否かを決定1006する。パターンが手334にマッチしないとコンピューティングデバイス104が決定1006する場合、操作は、手334トラッキングのための画像をキャプチャすること1002に戻りうる。換言すると、最も良くマッチするパターンまたは画像データ(例えば、最良適合の)がチェックをパスしない場合(例えば、いずれのフィルタも握り拳および手首を見つけることに成功しなかった場合)、操作は、手334トラッキングのための画像をキャプチャ1002することに戻りうる(例えば、操作1002、1004、1006は、手334が見つかるまで、および/または操作がタイムアウトするまで繰り返される)。
パターンが手334にマッチするとコンピューティングデバイス104が決定1006する場合、コンピューティングデバイス104は、画像データに最も良くマッチするパターンに基づいて手334をトラッキング1008することができる。例えば、コンピューティングデバイス104は、マッチしたパターンのロケーションにカーソルを動かすことができる。より一般的には、最良適合なパターンがチェックをパスすると、コンピューティングデバイス104は、最良適合なパターンに基づいて操作(例えば、手のトラッキング1008)を実行することができる。例えば、コンピューティングデバイス104は、そのデスクトップ空間内のカーソルを、最良適合なパターンの対応ロケーションに動かすことができる。最良適合なパターンに基づいて実行されうる他の操作の例は、デスクトップ空間における画像の移動(例えば、ピクチャ、アイコン、ドキュメントビューを平行移動するまたは「ドラッグ」するなど)、コントロールの使用(例えば、スライダコントロールをスライドさせる、ダイヤルコントロールを回すなど)、ゲーム動作の実行(例えば、仮想ボールを投げる、仮想のボクシング対戦相手にパンチを打つなど)、およびその他を含む。最良適合なパターンの位置が、また、使用されうる。例えば、ユーザ332の手首が、ユーザの手334のロケーションと比べて水平、斜め、または垂直であることを最良適合なパターンが示す場合、コンピューティングデバイス104は、仮想ダイヤルを、対応する水平、斜め、または垂直の位置にそれぞれ回すことができる。さらに、一連の最良適合なロケーションが使用されうる。例えば、コンピューティングデバイス104は、いくつかのフレームにわたって手334の動きをトラッキング1008することができる。手334の動きが特定の経路または動作(例えば、3回振ること)にマッチする場合、コンピューティングデバイス104は、操作を実行するまたはイベントをトリガするなどすることができる。より詳細には、手334のトラッキングは、ジェスチャ認識に加えて、またはジェスチャ認識の代わりに、操作またはイベントをトリガするために使用されうる。他の多くの追加的および/または代替的な操作が、最良適合なパターンに基づいて実行されることができる。
図11Aは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターン1100a(例えば、トラッキングパターン)の1つの例を示す。この例において、Haarパターン1100aは、5つの長方形のエリアまたは領域1154a、1154b、1154c、1156d、1156eを備える。より詳細には、Haarパターン1100aは、暗い中心エリアE 1156eを備える。暗い中心エリアE 1156eは、例えば、ユーザの手334または握り拳を表しうる。明るい外側のエリアA 1154a、B 1154b、C 1154cは、暗い中心エリアE 1156eに隣接する(例えば、それぞれ、暗い中心エリアE 1156eの上、右、下)。暗い外側のエリアD 1156dは、暗いエリアE 1156eに隣接する(例えば、左)。暗い外側のエリアD 1156dは、例えば、ユーザ332の手首を表しうる。
図11Bは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターン1100b(例えば、トラッキングパターン)の別の例を示す。この例において、Haarパターン1100bは、5つの長方形エリアまたは領域1103a、1103b、1103c、1105d、1105eを備える。より詳細には、Haarパターン1100bは、暗い中心エリアE 1105eを備える。暗い中心エリアE 1105eは、例えば、ユーザの手334または握り拳を表しうる。明るい外側のエリアA 1103a、B 1103b、C 1103cは、暗い中心エリアE 1105eに隣接する(例えば、それぞれ、暗い中心エリアE 1105eの左上、右上、右下)。暗い外側のエリアD 1105dは、暗いエリアE 1105eに隣接する(例えば、左下)。暗い外側のエリアD 1105dは、例えば、ユーザ332の手首を表しうる。観察できるように、図11Bに示されたHaarパターン1100bは、図11Cに示されたHaarパターン1100cを−45度回転した例でありうる。
図11Cは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターン1100c(例えば、トラッキングパターン)の別の例を示す。この例において、Haarパターン1100cは、5つの長方形のエリアまたは領域1107a、1107b、1107c、1109d、1109eを備える。より詳細には、Haarパターン1100cは、暗い中心エリアE 1109eを備える。暗い中心エリアE 1109eは、例えば、ユーザの手334または握り拳を表しうる。明るい外側のエリアA 1107a、B 1107b、C 1107cは、暗い中心エリアE 1109eに隣接する(例えば、それぞれ、暗い中心エリアE 1109eの左、上、右)。暗い外側のエリアD 1109dは、暗いエリアE 1109eに隣接する(例えば、下)。暗い外側のエリアD 1109dは、例えば、ユーザ332の手首を表しうる。
図11Dは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターン1100d(例えば、トラッキングパターン)の別の例を示す。この例において、Haarパターン1100dは、5つの長方形のエリアまたは領域1111a、1111b、1111c、1113d、1113eを備える。より詳細には、Haarパターン1100dは、暗い中心エリアE 1113eを備える。暗い中心エリアE 1113eは、例えば、ユーザの手334または握り拳を表しうる。明るい外側のエリアA 1111a、B 1111b、C 1111cは、暗い中心エリアE 1113eに隣接する(例えば、それぞれ、暗い中心エリアE 1113eの左下、左上、右上)。暗い外側のエリアD 1113dは、暗いエリアE 1113eに隣接する(例えば、右下)。暗い外側のエリアD 1113dは、例えば、ユーザ332の手首を表しうる。観察できるように、図11Dに示されたHaarパターン1100dは、図11Cに示されたHaarパターン1100cを+45度回転した例でありうる。
図11Eは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターン1100e(例えば、トラッキングパターン)の別の例を示す。この例では、Haarパターン1100eは、5つの長方形のエリアまたは領域1115a、1115b、1115c、1117d、1117eを備える。より詳細には、Haarパターン1100eは、暗い中心エリアE 1117eを備える。暗い中心エリアE 1117eは、例えば、ユーザの手334または握り拳を表しうる。明るい外側のエリアA 1115a、B 1115b、C 1115cは、暗い中心エリアE 1117eに隣接する(例えば、それぞれ、暗い中心エリアE 1117eの下、左、上)。暗い外側のエリアD 1117dは、暗いエリアE 1117eに隣接する(例えば、右)。暗い外側のエリアD 1117dは、例えば、ユーザ332の手首を表しうる。図11A〜11Eに示されたHaarパターン1100a〜eは、(例えば、図10に関して前述したような)本明細書に開示されたシステムおよび方法にしたがって使用されるHaarパターンのセットでありうる。
図12は、コンピューティングデバイスインターフェースを提供するための方法1200の別のより詳細な構成を示すフロー図である。より詳細には、図12は、手334のジェスチャを認識408するためのさらなる詳細を示す。コンピューティングデバイス104は、手のトラッキングをモニタ1202することができる。1つの構成では、コンピューティングデバイス104は、トラッキングされた手334が、依然として動いているか、あるいは動きを停止したか(例えば、いくつかのフレームについて)をモニタすることができる。コンピューティングデバイス104は、トラッキングされた手334が動きを停止したか否かを決定1204することができる。例えば、コンピューティングデバイス104は、トラッキングされた手334が、いくつかのフレームまたはある時間量について、静止したままであるか、あるいはほぼ静止したままであるか(いくらかの範囲内で)を決定1204することができる。トラッキングされた手334が動きを停止していない(例えば、動き続けている)とコンピューティングデバイス104が決定する場合、操作は、手334のトラッキングをモニタ1202し続ける、または手334のトラッキングをモニタ1202することに戻ることができる。
トラッキングされた手334が動いていない(例えば、ある時間量(例えば、700ms)またはいくつかのフレームについて静止したままである)とコンピューティングデバイス104が決定1204する場合、コンピューティングデバイス104は、トラッキングされた手334の画像を固定サイズにスケーリング1206することができる。例えば、コンピューティングデバイス104は、画像または画像データ(カメラ102を使用してキャプチャされた)を特定の寸法(例えば、40×40ピクセル)にスケーリング1206することができる。あるいは、コンピューティングデバイス104は、フィルタまたはパターンのサイズをスケーリングすることができる。これは、画像からフィルタへの1対1のマッピングを作り出すことができ、それによって、画像は、探索されているテンプレートまたはパターンに位置合わせされることができる。例えば、画像は、大きい指サイズとパターンとの間でのより良い対応付けを提供するためにスケールダウンされることができ、あるいは小さい指サイズとパターンとの間でのより良い対応付けを提供するためにスケールアップされることができる。
コンピューティングデバイス104は、探索空間(例えば、スケーリングされた画像)において画像データに最も良くマッチする(または、例えば、画像データに最良適合な)パターン(例えば、ジェスチャパターン)を決定1208することができる。例えば、コンピューティングデバイス104は、スケーリングされた画像において画像データに最も良くマッチするパターンを決定1208するために、4つのHaarパターンのセットを使用することができる。例えば、コンピューティングデバイス104は、ユーザの手334が静止しているときに、ユーザ332の検出された手334に関して(例えば、ユーザの手334または握り拳の検出された中心に対して)指のパターン(例えば、明暗)を探索することによって、ユーザ332の指を探索することができる。例えば、各パターンは、3つの長方形の領域またはエリアを備えうる。暗い(例えば、暗い灰色の)エリアまたは長方形は、2つのより明るい(例えば、明るい灰色の)エリアまたは長方形の間にあることができる。換言すると、2つのより明るいエリアは、暗いエリアの両側で暗いエリアに隣接することができる。例えば、パターンのうちの1つは、垂直方向に位置合わせされることができ、別のパターンは、水平方向に位置合わせされることができ、残りの2つのパターンは、±45度斜めに位置合わせされることができる。
1つの構成では、コンピューティングデバイス104は、スケーリングされた画像または画像データを使用して、指(例えば、人差し指)が水平方向または垂直方向を指しているときに使用するための積分画像(例えば、合計されたエリア表)を計算することができる。例えば、選択される(人差し)指についての基準は、より明るい外側のエリアに関する平均ピクセル値が、暗いエリアにおける平均ピクセル値に1閾値(例えば、30)を足したものよりも大きいものであるべきということである。水平または垂直パターンにおける指が見つかった場合、探索は、終了されることができる。そうでない場合、コンピューティングデバイス104は、+45度および−45度回転された積分画像を計算することができる。フィルタを使用して指が見つからなかった場合、コンピューティングデバイス104は、手334が閉じている(例えば、閉じた握り拳のジェスチャである)と決定1208することができる。すなわち、探索空間において画像データに最も良くマッチするパターンを決定1208することが、パターンのセット内には画像データにマッチするパターンがない(例えば、指が見つからなかった)と決定することを含みうることに注意されたい。
ジェスチャ認識のロバストネスを改善するために、「投票」アプローチが使用されることができる。例えば、指を認識するときには、いくつかのフレーム(例えば、20個)がバッファまたは記憶されうる。コンピューティングデバイス104は、バッファ内の画像の最小パーセンテージ(例えば、80%)が、指が隠されていると決定する前に、隠された人差し指を描くことを要求しうる。さらに、コンピューティングデバイス104は、探索されたフレームの別の最小パーセンテージ(例えば、50%)が、人差し指が伸ばされていると決定する前に人差し指の発見を報告しなければならないことを要求しうる。ダウンマウスイベントが検出された後にのみアップマウスイベントがトリガされることを要求するステートマシンが使用されうるので、伸ばされた人差し指対隠された人差し指についてのより低い閾値要件が使用されうる。ステートマシンは、誤検出を低減するためのフィルタの役割を果たすことができる。
コンピューティングデバイス104は、最も良くマッチするパターン(例えば、それは、パターンのセットの中のどのパターンでもない可能性がある)が操作に対応するか否かを決定1210することができる。例えば、コンピューティングデバイス104は、特定のパターンまたはその欠如を、ある操作を実行するためのジェスチャとして解釈することができる。例えば、指が見つからなかった場合、コンピューティングデバイス104は、指欠如のパターンを、「マウスダウン」、あるいは左マウスボタンを押し下げるイベントまたは操作と解釈しうる。さらに、コンピューティングデバイス104は、検出された伸ばされた指を、「マウスアップ」、あるいは左マウスボタンをリリースするイベントまたは操作と解釈しうる。他の多くの手334のジェスチャの欠如または存在が使用されうる。例えば、特定の位置(例えば、人差し指と親指との間の特定の角度)に保持されている1または複数の指は、イベントまたは操作に対応しうる。最も良くマッチするパターン(マッチするパターンが検出されない可能性がある)が操作に対応しないとコンピューティングデバイス104が決定1210する場合、コンピューティングデバイス104は、手334のトラッキングをモニタ1202することに戻ることができる。この決定1210がステートマシンを使用して行われうることに注意されたい。例えば、特定の状態にあるときに、特定のジェスチャ(例えば、パターンまたはその欠如)しかイベントまたは操作に対応するとして有効に解釈されないことがある。例えば、検出された人差し指の存在は、コンピューティングデバイス104が「マウスダウン」状態にない限り、「マウスアップ」イベントを示さない。「マウスアップ」イベントが後続する「マウスダウン」イベントが、「クリック」(例えば、コンピューティングデバイス104のユーザインターフェース(UI)と対話するための)を含みうることに注意されたい。
最も良くマッチするパターン(パターンのセットの中のどのパターンでもない可能性がある)がある操作に対応するとコンピューティングデバイス104が決定1210する場合、コンピューティングデバイス104は、最も良くマッチするパターン(例えば、パターンのセットの中のどのパターンでもない可能性がある)に対応する操作を実行1212することができる。例えば、コンピューティングデバイス104は、認識された手334のジェスチャに対応する操作を実行1212することができる。1つの構成では、例えば、コンピューティングデバイス104は、伸ばされた指を示す最良最適なパターンの欠如(例えば、検出される指がないこと)を使用して、オペレーティングシステム(OS)のウィンドウマネジャへと「マウスダウン」または左マウスボタン押下げイベントをトリガすることができる。対応する操作の実行1212の後、コンピューティングデバイス104は、手のトラッキングをモニタ1202することに戻ることができる。
本明細書に開示されるシステムおよび方法にしたがって、操作の実行1212をトリガするために追加的または代替的なパターンおよび/またはジェスチャが使用されることができる。例えば、カーソルを「リリース」するためのジェスチャが使用されうる。例えば、開いた手334(例えば、指が伸ばされている)に対応する1または複数のHaarパターンが使用されることができる。コンピューティングデバイス104が、最も一致するパターンが開いた手334であることを決定1208し、開いた手のパターンがカーソルリリース操作に対応することを決定1210する場合、コンピューティングデバイス104は、カーソルをその現在の位置に残すことによって操作を実行1212することができる。1つの構成では、カーソルは、例えば、コンピューティングデバイス104が初期対話エリア338内で手334を検出するまで、その現在の位置に残されることができる。
図13は、コンピューティングデバイスインターフェースを提供するための方法1300の別のより詳細な構成を示すフロー図である。より詳細には、図13は、ジェスチャが指の使用を伴う場合の、手334のジェスチャを認識408することについてのさらなる詳細を示す。コンピューティングデバイス104は、手のトラッキングをモニタ1302することができる。1つの構成では、コンピューティングデバイス104は、トラッキングされた手334が、依然として動いているか、あるいは動きを停止したか(例えば、いくつかのフレームについて)をモニタすることができる。コンピューティングデバイス104は、トラッキングされた手334が動きを停止したか否かを決定1304することができる。例えば、コンピューティングデバイス104は、トラッキングされた手334が、いくつかのフレームまたはある時間量について、静止したままであるか、あるいはほぼ静止したままであるか(いくらかの範囲内で)を決定1304することができる。トラッキングされた手334が動きを停止していない(例えば、動き続けている)とコンピューティングデバイス104が決定する場合、操作は、手334のトラッキングをモニタ1302し続けるか、または手334のトラッキングをモニタ1302することに戻ることができる。
トラッキングされた手334が動いていない(例えば、ある時間量(例えば、700ms)またはいくつかのフレームについて静止したままである)とコンピューティングデバイス104が決定1304する場合、コンピューティングデバイス104は、トラッキングされた手334の画像を固定サイズにスケーリング1306することができる。例えば、コンピューティングデバイス104は、画像または画像データ(カメラ102を使用してキャプチャされた)を特定の寸法(例えば、40×40ピクセル)にスケーリング1306することができる。
コンピューティングデバイス104は、水平方向または垂直方向を指している指について画像を探索1308することができる。例えば、コンピューティングデバイス104は、スケーリングされた画像において最良適合なパターンを決定するために、4つのHaarパターン(例えばジェスチャパターン)のセットを使用することができる。例えば、各パターンは、3つの長方形の領域またはエリアを備えうる。暗い(例えば、暗い灰色の)エリアまたは長方形は、2つのより明るい(例えば、明るい灰色の)エリアまたは長方形の間にあることができる。換言すると、2つのより明るいエリアは、暗いエリアの両側で暗いエリアに隣接することができる。例えば、パターンのうちの1つは、垂直方向に位置合わせされることができ、別のパターンは、水平方向に位置合わせされることができ、残りの2つのパターンは、±45度斜めに位置合わせされることができる。暗いエリアは、例えば、ユーザ332の指を表すことができる。
例えば、コンピューティングデバイス104は、スケーリングされた画像または画像データを使用して、指(例えば、人差し指)が水平方向または垂直方向を指しているときに使用するための積分画像(例えば、合計されたエリア表)を計算することができる。例えば、選択される(人差し)指についての基準は、より明るい外側のエリアに関する平均ピクセル値が、暗いエリアにおける平均ピクセル値に1閾値(例えば、30)を足したものよりも大きいものであるべきということである。
コンピューティングデバイス104は、水平または垂直パターンにおける指が見つかるか否かを決定1310することができる。指が見つかった場合、探索は、終了されることができ、操作は、手のトラッキングをモニタ1302することに戻ることができる。しかしながら、水平パターンまたは垂直パターンにおける指がみつからなかった場合、コンピューティングデバイス104は、斜め方向を指している指について画像を探索1312することができる。例えば、コンピューティングデバイス104は、+45度および−45度回転された積分画像を計算することができる。コンピューティングデバイス104は、斜めのパターンを使用して、指が見つかったまたは検出されたかどうかを決定1314することができる。指が見つかったとコンピューティングデバイスが決定1314する場合、コンピューティングデバイス104は、手のトラッキングをモニタ1302することに戻ることができる。フィルタを使用して指が見つからなかったことをコンピューティングデバイス104が決定1314する場合、コンピューティングデバイス104は、操作を実行1316することができる。例えば、コンピューティングデバイス104は、手334が閉じていること(例えば、閉じた握り拳のジェスチャ)、および閉じた手334のジェスチャが「マウスダウン」イベントに対応することを決定することができる。結果として、コンピューティングデバイス104は、「マウスダウン」イベントをトリガすることによって操作を実行1316することができる。
ジェスチャ認識のロバストネスを改善するために、「投票」アプローチが使用されることができる。例えば、指を認識するときには、いくつかのフレーム(例えば、20個)がバッファまたは記憶されうる。コンピューティングデバイス104は、バッファ内の画像の最小パーセンテージ(例えば、80%)が、指が隠されていると決定する前に、隠された人差し指を描くことを要求しうる。さらに、コンピューティングデバイス104は、探索されたフレームの別の最小パーセンテージ(例えば、50%)が、人差し指が伸ばされていると決定する前に人差し指の発見を報告しなければならないことを要求しうる。ダウンマウスイベントが検出された後にのみアップマウスイベントがトリガされることを要求するステートマシンが使用されうるので、伸ばされた人差し指対隠された人差し指についてのより低い閾値要件が使用されうる。ステートマシンは、誤検出を低減するためのフィルタの役割を果たすことができる。
図14Aは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターン1400a(例えば、ジェスチャパターン)の1つの例を示す図である。より詳細には、Haarパターン1400aは、伸ばされた指を検出するために使用されうる。Haarパターン1400aは、長方形の明るいエリアA 1458aおよび明るいエリアC 1458cに隣接した暗い長方形のエリアB 1460bを備える。暗いエリアB 1460bは、例えば、ユーザ332の指を表しうる。特に、図14Aに示されるHaarパターン1400aは、垂直に伸ばされた指を検出するために使用されうる。
図14Bは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターン1400b(例えば、ジェスチャパターン)の別の例を示す図である。より詳細には、Haarパターン1400bは、伸ばされた指を検出するために使用されうる。Haarパターン1400bは、長方形の明るいエリアA 1419aおよび明るいエリアC 1419cに隣接した暗い長方形のエリアB 1421bを備える。暗いエリアB 1421bは、例えば、ユーザ332の指を表しうる。特に、図14Bに示されるHaarパターン1400bは、斜めに(例えば、右下から左上に)伸ばされた指を検出するために使用されうる。図14Bに示されたHaarパターン1400bが、図14Aに示されたHaarパターン1400aを+45度回転したHaarパターンの一例であることが観察される。
図14Cは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターン1400c(例えば、ジェスチャパターン)の別の例を示す図である。より詳細には、Haarパターン1400cは、伸ばされた指を検出するために使用されうる。Haarパターン1400cは、長方形の明るいエリアA 1423aおよび明るいエリアC 1423cに隣接した暗い長方形のエリア 1425bを備える。暗いエリアB 1425bは、例えば、ユーザ332の指を表しうる。特に、図14Cに示されるHaarパターン1400cは、斜めに(例えば、左下から右上に)伸ばされた指を検出するために使用されうる。図14Cに示されたHaarパターン1400cが、図14Aに示されたHaarパターン1400aを−45度回転したHaarパターンの一例であることが観察される。
図14Dは、本明細書に開示されるシステムおよび方法にしたがって使用されうるHaarパターン1400d(例えば、ジェスチャパターン)の別の例を示す図である。より詳細には、Haarパターン1400dは、伸ばされた指を検出するために使用されうる。Haarパターン1400dは、長方形の明るいエリアA 1427aおよび明るいエリアC 1427cに隣接した暗い長方形のエリア 1429bを備える。暗いエリア 1429bは、例えば、ユーザ332の指を表しうる。特に、図14Dに示されるHaarパターン1400dは、水平に伸ばされた指を検出するために使用されうる。
1つの構成では、図14A〜Dに示されたHaarパターンと同一および/または類似のHaarパターンが、親指と人差し指との間の角度を検出するために使用されうる。例えば、コンピューティングデバイス304は、ユーザ332の親指と人差し指との間の角度を決定または推定するために、Haarパターンマッチについて画像データ(トラッキングされた手の隣の領域(例えば、どちらの手が使用されたかに応じて、右側または左側))を探索することができる。ユーザ332が例えば自身の右手334を使用している(および/または、コンピューティングデバイス304によって右手334を使用するように指示されている)場合、画像データは、トラッキングされた手334の左側で探索されうる。画像データは、例えば、ユーザの手334が動きを停止したときに、探索されうる。様々な角度をもつ1または複数のHaarパターンが使用されうる。例えば、様々な回転の、図14Aに示される明―暗―明のパターン1400aに類似したパターンが使用されうる。例えば、0度、15度、30度、45度、60度、75度および/または90度の回転でのパターンが使用されうる。画像データにマッチするパターンは、ユーザ332の親指と人差し指との間の角度を示しうる。この角度は、この角度に対応する距離でユーザの手334からカーソルを遠ざけるまたは伸ばすなどの操作をトリガするために使用されうる。例えば、90度の角度は、何らかの距離(例えば、フィート、ピクセル、投影画像330のエッジまでの距離のパーセンテージなど)における最大伸長に対応し、0または15度は、最小の伸長または伸長なしに対応し、それらの間の角度は、それらの中間の距離範囲に対応しうる。
図15は、電子デバイス1562において利用されうる様々なコンポーネントを示す。示されるコンポーネントは、同じ物理構造内あるいは別個のハウジングまたは構造に配置されうる。図2に関して論じた電子デバイス210は、電子デバイス1562と同様に構成されうる。さらに、前述したカメラ102、202、302、コンピューティングデバイス104、204、304、および/またはプロジェクタ108、208、308は、各々、電子デバイス1562と同様に構成されうる。電子デバイス1562は、プロセッサ1570を含む。プロセッサ1570は、汎用のシングルチップまたはマルチチップマイクロプロセッサ(例えば、ARM)、専用マイクロプロセッサ(例えば、デジタル信号プロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイなどでありうる。プロセッサ1570は、中央処理装置(CPU)と呼ばれうる。図15の電子デバイス1562には単一のプロセッサ1570だけが示されているが、代替的な構成では、プロセッサの組み合わせ(例えば、ARMとDSP)が使用されることもできる。
電子デバイス1562は、また、プロセッサ1570と電子通信するメモリ1564を含む。すなわち、プロセッサ1570は、メモリ1564から情報を読み取ることおよび/またはメモリ1564に情報を書き込むことができる。メモリ1564は、電子情報を記憶可能な任意の電子コンポーネントでありうる。メモリ1564は、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、磁気ディスク記憶媒体、光記憶媒体、RAMにおけるフラッシュメモリデバイス、プロセッサと共に含まれるオンボードメモリ、プログラマブル読取専用メモリ(PROM)、消去可能プログラマブル読取専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、レジスタ、およびそれらの組み合わせでありうる。
データ1568aおよび命令1566aは、メモリ1564に記憶されうる。命令1566aは、1または複数のプログラム、ルーチン、サブルーチン、関数、プロシージャ、コードなどを含みうる。命令1566aは、単一のコンピュータ可読ステートメントまたは多数のコンピュータ可読ステートメントを含みうる。命令1566aは、上述された方法400、500、900、1000、1200、1300をインプリメントするためにプロセッサ1570によって実行可能でありうる。命令1566aを実行することは、メモリ1564に記憶されたデータ1568aを使用することを含みうる。図15は、いくつかの命令1566bおよびデータ1568bがプロセッサ1570にロードされている様子を示す。
電子デバイス1562は、また、他の電子デバイスと通信するための1または複数の通信インターフェース1570を含みうる。通信インターフェース1570は、有線通信テクノロジ、ワイヤレス通信テクノロジ、またはその両方に基づきうる。通信インターフェース1570の様々なタイプの例は、シリアルポート、パラレルポート、ユニバーサル・シリアル・バス(USB:Universal Serial Bus)、イーサネット(登録商標)アダプタ、IEEE1394バスインターフェース、小型コンピュータ用周辺機器インターフェース(SCSI:small computer system interface)、バスインターフェース、赤外線(IR)通信ポート、ブルートゥース(登録商標)ワイヤレス通信アダプタなどを含む。
電子デバイス1562は、また、1または複数の入力デバイス1572および1または複数の出力デバイス1574を含みうる。入力デバイス1572の様々な種類の例は、キーボード、マウス、マイクロフォン、リモート制御デバイス、ボタン、ジョイスティック、トラックボール、タッチパッド、ライトペンなどを含む。出力デバイス1574の様々な種類の例は、スピーカ、プリンタなどを含む。典型的に電子デバイス1562に含まれうる出力デバイスの1つの特定のタイプは、ディスプレイデバイス1576である。本明細書に開示された構成とともに使用されるディスプレイデバイス1576は、ブラウン管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)、ガスプラズマ、エレクトロルミネセンス(electroluminescence)など、任意の適切な画像投影テクノロジを利用することができる。ディスプレイコントローラ1578は、また、メモリ1564に記憶されたデータを、ディスプレイデバイス1576上に示されるテキスト、グラフィック、および/または動画(必要に応じて)に変換するために設けられうる。
電子デバイス1562の様々なコンポーネントは、電力バス、制御信号バス、ステータス信号バス、データバスなどを含みうる1または複数のバスによって互いに結合されうる。簡単にするために、様々なバスが、バスシステム1580として図15に示されている。図15が、電子デバイス1562の可能な一構成だけを示すことに注意されたい。他の様々なアーキテクチャおよびコンポーネントが利用されうる。
図16は、ワイヤレス通信デバイス1682内に含まれうる特定のコンポーネントを示す。前述されたワイヤレス通信デバイスは、図16に示されるワイヤレス通信デバイス1682と同様に構成されうる。ワイヤレス通信デバイス1682は、プロセッサ1698を含む。プロセッサ1698は、汎用のシングルチップまたはマルチチップマイクロプロセッサ(例えば、ARM)、専用マイクロプロセッサ(例えば、デジタル信号プロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイなどでありうる。プロセッサ1698は、中央処理装置(CPU)と呼ばれうる。図16のワイヤレス通信デバイス1682には単一のプロセッサ1698だけが示されているが、代替的な構成では、プロセッサの組み合わせ(例えば、ARMとDSP)が使用されることもできる。
ワイヤレス通信デバイス1682は、また、プロセッサ1698と電子通信するメモリ1684を含む(すなわち、プロセッサ1698は、メモリ1684から情報を読み取ることおよび/またはメモリ1684に情報を書き込むことができる)。メモリ1684は、電子情報を記憶可能な任意の電子コンポーネントでありうる。メモリ1684は、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、磁気ディスク記憶媒体、光記憶媒体、RAMにおけるフラッシュメモリデバイス、プロセッサと共に含まれるオンボードメモリ、プログラマブル読取専用メモリ(PROM)、消去可能プログラマブル読取専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、レジスタ、およびそれらの組み合わせなどでありうる。
データ1686aおよび命令1688aは、メモリ1684に記憶されうる。命令1688aは、1または複数のプログラム、ルーチン、サブルーチン、関数、プロシージャなどを含みうる。命令1688aは、単一のコンピュータ可読ステートメントまたは多数のコンピュータ可読ステートメントを含みうる。命令1688aは、上述された方法400、500、900、1000、1200、1300をインプリメントするためにプロセッサ1698によって実行可能でありうる。命令1688aを実行することは、メモリ1684に記憶されたデータ1686aを使用することを含みうる。図16は、いくつかの命令1688bおよびデータ1686bがプロセッサ1698にロードされている様子を示す。
ワイヤレス通信デバイス1682は、また、ワイヤレス通信デバイス1682とリモートロケーション(例えば、基地局または他のワイヤレス通信デバイス)との間での信号の送受信を可能にするために送信機1694および受信機1696を含みうる。送信機1694および受信機1696は、集合的にトランシーバ1692と呼ばれうる。アンテナ1690は、電気的にトランシーバ1692に結合されうる。ワイヤレス通信デバイス1682は、また、(図示されていない)複数の送信機、複数の受信機、複数のトランシーバ、および/または複数のアンテナを含みうる。
ワイヤレス通信デバイス1682の様々なコンポーネントは、電力バス、制御信号バス、ステータス信号バス、データバスなどを含みうる1または複数のバスによって互いに結合されうる。簡単にするために、様々なバスが、バスシステム1601として図16に示されている。
以上の記述では、参照番号が、時々、様々な用語に関連して使用されている。用語が参照番号に関連して使用される場合、これは、図のうちの1または複数において示される特定のエレメントを指すことを意味しうる。用語が参照番号なしに使用される場合、これは、いずれか特定の図に限定することなく用語を一般的に指すことを意味しうる。
「決定すること(determining)」という用語は、幅広い種類の動作を包含し、したがって、「決定すること」は、算出すること(calculating)、計算すること(computing)、処理すること(processing)、導出すること(deriving)、調査すること(investigating)、ルックアップすること(looking up)(例えば、表、データベース、または別のデータ構造をルックアップすること)、確実にすること(ascertaining)、および同様のものを含みうる。また、「決定すること」は、受け取ること(receiving )(例えば、情報を受け取ること)、アクセスすること(accessing)(例えば、メモリ内のデータにアクセスすること)、および同様のものを含みる。また、「決定すること」は、解決すること(resolving)、選ぶこと(selecting)、選択すること(choosing)、確立すること(establishing)、および同様のものを含みうる。
「〜に基づいて(based on)」という表現は、別途明確に記載されていない限り、「〜だけに基づいて(based only on)」を意味していない。換言すると、「〜に基づいて」という表現は、「〜だけに基づいて」および「少なくとも〜に基づいて(based at least on)」の両方を記述する。
本明細書に記述された機能は、1または複数の命令として、プロセッサ可読媒体またはコンピュータ可読媒体に記憶されうる。「コンピュータ可読媒体」という用語は、コンピュータまたはプロセッサによってアクセスできる任意の利用可能な媒体を指す。限定するものではなく、一例として、そのような媒体は、RAM、ROM、EEPROM、フラッシュメモリ、CD−ROMまたは他の光学ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、または、コンピュータによってアクセスされることができ、命令やデータ構造の形で所望のプログラムコードを記憶するために使用されうる他の任意の媒体を含みうる。ディスク(disk)とディスク(disc)は、本明細書で使用される場合、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、ブルーレイ(登録商標)ディスクを含む。ディスク(disk)は通常磁気的にデータを再生し、ディスク(disc)はレーザで光学的にデータを再生する。コンピュータ可読媒体が、有形および非一時的でありうることに注意されたい。「コンピュータプログラムプロダクト(computer-program product)」という用語は、コンピューティングデバイスまたはプロセッサによって実行、処理、または計算されうるコードまたは命令(例えば、「プログラム」)と組み合わせたコンピューティングデバイスまたはプロセッサを指す。本明細書で使用される場合、「コード(code)」という用語は、コンピューティングデバイスまたはプロセッサによって実行可能であるソフトウェア、命令、コードまたはデータを指しうる。
ソフトウェアまたは命令は、また、送信媒体を通じて送信されうる。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、マイクロ波などのワイヤレステクノロジを使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、マイクロ波などのワイヤレステクノロジは、送信媒体の定義に含まれる。
本明細書に開示された方法は、記述された方法を達成するための1または複数のステップまたは動作を備える。方法のステップおよび/または動作は、特許請求の範囲から逸脱することなく互いに交換されうる。換言すると、記述されている方法の適正な操作のためにステップまたは動作の特定の順序が必要とされない限り、特定のステップおよび/または動作の順序および/または使用は、特許請求の範囲を逸脱することなく変更されうる。
請求項が、前述した厳密な構成およびコンポーネントに限定されないことが理解されるべきである。特許請求の範囲から逸脱することなく、本明細書に記述されたシステム、方法、および装置の、配置、操作、および詳細において、様々な修正、変更、および変形が行われうる。
以下に、本願の出願当初請求項に記載された発明を付記する。
[C1]
インターフェースを提供するように構成されたコンピューティングデバイスであって、
プロセッサと、
前記プロセッサと電子通信するメモリと、
前記メモリに記憶された命令と
を備え、前記命令は、
プロジェクタから投影画像を投影し、
カメラを使用して画像をキャプチャし、ここにおいて、前記カメラは可視スペクトルにおいて動作する、
前記コンピューティングデバイスを較正し、
手を検出し、
探索空間においてトラッキングパターンに基づいて前記手をトラッキングし、
操作を実行する
ように実行可能である、
コンピューティングデバイス。
[C2]
前記コンピューティングデバイスを較正することは、
前記投影画像のコーナーを見つけることと、
前記投影画像の座標をデスクトップ空間にマッピングすることと
を含む、上記C1に記載のコンピューティングデバイス。
[C3]
前記コンピューティングデバイスを較正することは、手のサイズを決定することを含む、上記C1に記載のコンピューティングデバイス。
[C4]
前記手のサイズは、前記投影画像に基づいて決定され、前記投影画像は、複数の楕円を備える、上記C3に記載のコンピューティングデバイス。
[C5]
前記手のサイズは、顔認識に基づいて決定される、上記C3に記載のコンピューティングデバイス。
[C6]
前記手は、初期対話エリア内で検出される、上記C1に記載のコンピューティングデバイス。
[C7]
前記命令は、さらに、
体をトラッキングし、
前記体をトラッキングすることに基づいて前記初期対話エリアを動かす
ように実行可能である、上記C6に記載のコンピューティングデバイス。
[C8]
前記命令は、さらに、前記トラッキングパターンが手にマッチすることを決定するように実行可能である、上記C1に記載のコンピューティングデバイス。
[C9]
前記命令は、さらに、前記手の動きに基づいて前記探索空間を動的に変化させるように実行可能である、上記C1に記載のコンピューティングデバイス。
[C10]
前記トラッキングパターンは、3つの側部が長方形の明るい外側領域に隣接し、1つの側部が長方形の暗い外側領域に隣接した、長方形の暗い中心領域を備える、上記C1に記載のコンピューティングデバイス。
[C11]
前記操作は、前記手をトラッキングすることに基づいて実行される、上記C1に記載のコンピューティングデバイス。
[C12]
前記命令は、さらに、ジェスチャパターンに基づいて手のジェスチャを認識するように実行可能である、上記C1に記載のコンピューティングデバイス。
[C13]
手のジェスチャを認識することは、さらに
トラッキングされた手が、ある時間期間の間、動きを停止したか否かを決定することと、
トラッキングされた手の画像を固定サイズにスケーリングすることと
を含む、上記C12に記載のコンピューティングデバイス。
[C14]
前記ジェスチャパターンは、2つの側部が長方形の明るい外側領域に隣接した、長方形の暗い中心領域を備える、上記C12に記載のコンピューティングデバイス。
[C15]
前記命令は、さらに、前記認識された手のジェスチャに基づいて操作を実行するように実行可能である、上記C12に記載のコンピューティングデバイス。
[C16]
前記命令は、さらに、前記手のジェスチャが複数のフレームのあるパーセンテージについて認識されるときに操作を実行するように実行可能である、上記C12に記載のコンピューティングデバイス。
[C17]
前記手のジェスチャは、親指と人差し指との間の角度に基づいて認識され、前記命令は、さらに、前記親指と人差し指との角度に基づいて前記手からカーソルを遠ざけるように実行可能である、上記C12に記載のコンピューティングデバイス。
[C18]
前記命令は、さらに、前記投影画像の手の周りの領域をより明るく照らすように実行可能である、上記C1に記載のコンピューティングデバイス。
[C19]
前記命令は、さらに、複数の手をトラッキングするように実行可能である、上記C1に記載のコンピューティングデバイス。
[C20]
前記命令は、さらに、複数の手のジェスチャを認識するように実行可能である、上記C1に記載のコンピューティングデバイス。
[C21]
前記命令は、さらに、前記手の影をトラッキングするのを回避するために、前記手をトラッキングする前に前記画像の暗い部分を除去するように実行可能である、上記C1に記載のコンピューティングデバイス。
[C22]
前記命令は、さらに、前記投影画像のあるエリアにおいて前記画像の改善されたフォーカスおよび露出を提供するように実行可能である、上記C1に記載のコンピューティングデバイス。
[C23]
前記操作は、カーソルをリリースする、上記C15に記載のコンピューティングデバイス。
[C24]
インターフェースを提供するための方法であって、
プロジェクタから投影画像を投影することと、
カメラを使用して画像をキャプチャすることと、ここにおいて、前記カメラは可視スペクトルにおいて動作する、
コンピューティングデバイスを較正することと、
前記コンピューティングデバイスによって手を検出することと、
前記コンピューティングデバイスによって、探索空間においてトラッキングパターンに基づいて前記手をトラッキングすることと、
前記コンピューティングデバイスによって操作を実行することと
を備える方法。
[C25]
前記コンピューティングデバイスを較正することは、
前記投影画像のコーナーを見つけることと、
前記投影画像の座標をデスクトップ空間にマッピングすることと
を含む、上記C24に記載の方法。
[C26]
前記コンピューティングデバイスを較正することは、手のサイズを決定することを含む、上記C24に記載の方法。
[C27]
前記手のサイズは、前記投影画像に基づいて決定され、前記投影画像は、複数の楕円を備える、上記C26に記載の方法。
[C28]
前記手のサイズは、顔認識に基づいて決定される、上記C26に記載の方法。
[C29]
前記手は、初期対話エリアにおいて検出される、上記C24に記載の方法。
[C30]
体をトラッキングすることと、
前記体をトラッキングすることに基づいて前記初期対話エリアを動かすことと
をさらに備える、上記C29に記載の方法。
[C31]
前記トラッキングパターンが手にマッチすることを決定することをさらに備える、上記C24に記載の方法。
[C32]
前記手の動きに動的に基づいて前記探索空間を動的に変化させることをさらに備える、上記C24に記載の方法。
[C33]
前記トラッキングパターンは、3つの側部が長方形の明るい外側領域に隣接し、1つの側部が長方形の暗い外側領域に隣接した、長方形の暗い中心領域を備える、上記C24に記載の方法。
[C34]
前記操作は、前記手をトラッキングすることに基づいて実行される、上記C24に記載の方法。
[C35]
ジェスチャパターンに基づいて手のジェスチャを認識することをさらに備える、上記C24に記載の方法。
[C36]
手のジェスチャを認識することは、
トラッキングされた手が、ある時間期間の間、動きを停止したか否かを決定することと、
トラッキングされた手の画像を固定サイズにスケーリングすることと
をさらに含む、上記C35に記載の方法。
[C37]
前記ジェスチャパターンは、2つの側部が長方形の明るい外側領域に隣接した、長方形の暗い中心領域を備える、上記C35に記載の方法。
[C38]
前記認識された手のジェスチャに基づいて操作を実行することをさらに備える、上記C35に記載の方法。
[C39]
前記手のジェスチャが複数のフレームのあるパーセンテージについて認識されるときに操作を実行することをさらに備える、上記C35に記載の方法。
[C40]
前記手のジェスチャは、親指と人差し指との間の角度に基づいて認識され、前記方法は、さらに、前記親指と人差し指との間の角度に基づいて前記手からカーソルを遠ざけることを含む、上記C35に記載の方法。
[C41]
前記投影画像の手の周りの領域をより明るく照らすことをさらに備える、上記C24に記載の方法。
[C42]
複数の手をトラッキングすることをさらに備える、上記C24に記載の方法。
[C43]
複数の手のジェスチャを認識することをさらに備える、上記C24に記載の方法。
[C44]
前記手の影をトラッキングするのを回避するために、前記手をトラッキングする前に前記画像の暗い部分を除去することをさらに備える、上記C24に記載の方法。
[C45]
前記投影画像のあるエリアにおいて前記画像の改善されたフォーカスおよび露出を提供することをさらに備える、上記C24に記載の方法。
[C46]
前記操作は、カーソルをリリースする、上記C38に記載の方法。
[C47]
インターフェースを提供するためのコンピュータプログラムプロダクトであって、前記コンピュータプログラムプロダクトは、命令をその上に有する非一時的な有形のコンピュータ可読媒体を備え、前記命令は、
コンピューティングデバイスに、プロジェクタから投影画像を投影させるためのコードと、
前記コンピューティングデバイスに、カメラを使用して画像をキャプチャさせるためのコードと、ここにおいて、前記カメラは可視スペクトルにおいて動作する、
前記コンピューティングデバイスに、前記コンピューティングデバイスを較正させるためのコードと、
前記コンピューティングデバイスに、手を検出させるためのコードと、
前記コンピューティングデバイスに、探索空間においてトラッキングパターンに基づいて前記手をトラッキングさせるためのコードと、
前記コンピューティングデバイスに、操作を実行させるためのコードと
を備える、コンピュータプログラムプロダクト。
[C48]
前記手は、初期対話エリアにおいて検出される、上記C47に記載のコンピュータプログラムプロダクト。
[C49]
前記命令は、前記コンピューティングデバイスに、ジェスチャパターンに基づいて手のジェスチャを認識させるためのコードをさらに備える、上記C47に記載のコンピュータプログラムプロダクト。
[C50]
インターフェースを提供するための装置であって、
プロジェクタから投影画像を投影するための手段と、
カメラを使用して画像をキャプチャするための手段と、ここにおいて、前記カメラは可視スペクトルにおいて動作する、
前記装置を較正するための手段と、
手を検出するための手段と、
探索空間においてトラッキングパターンに基づいて前記手をトラッキングするための手段と、
操作を実行するための手段と
を備える装置。
[C51]
前記手は、初期対話エリアにおいて検出される、上記C50に記載の装置。
[C52]
ジェスチャパターンに基づいて手のジェスチャを認識するための手段をさらに備える、上記C50に記載の装置。

Claims (52)

  1. インターフェースを提供するように構成されたコンピューティングデバイスであって、
    プロセッサと、
    前記プロセッサと電子通信するメモリと、
    前記メモリに記憶された命令と
    を備え、前記命令は、
    プロジェクタから投影画像を投影し、
    カメラを使用して画像をキャプチャし、ここにおいて、前記カメラは可視スペクトルにおいて動作する、
    前記コンピューティングデバイスを較正し、
    手を検出し、
    探索空間において1または複数のトラッキングパターンの中から前記画像に最も良くマッチするトラッキングパターンを決定し、
    前記探索空間において前記トラッキングパターンに基づいて前記手をトラッキングし、
    操作を実行する
    ように実行可能であり、
    前記最も良くマッチするトラッキングパターンは、前記操作を実行するために使用されうる前記探索空間内の前記画像に対応するロケーションおよび/または向きを有する、
    コンピューティングデバイス。
  2. 前記コンピューティングデバイスを較正することは、
    前記投影画像のコーナーを見つけることと、
    前記投影画像の座標をデスクトップ空間にマッピングすることと
    を含む、請求項1に記載のコンピューティングデバイス。
  3. 前記コンピューティングデバイスを較正することは、手のサイズを決定することを含む、請求項1に記載のコンピューティングデバイス。
  4. 前記手のサイズは、前記投影画像に基づいて決定され、前記投影画像は、複数の楕円を備える、請求項3に記載のコンピューティングデバイス。
  5. 前記手のサイズは、顔認識に基づいて決定される、請求項3に記載のコンピューティングデバイス。
  6. 前記手は、初期対話エリア内で検出される、請求項1に記載のコンピューティングデバイス。
  7. 前記命令は、さらに、
    体をトラッキングし、
    前記体をトラッキングすることに基づいて前記初期対話エリアを動かす
    ように実行可能である、請求項6に記載のコンピューティングデバイス。
  8. 前記命令は、さらに、前記トラッキングパターンが手にマッチすることを決定するように実行可能である、請求項1に記載のコンピューティングデバイス。
  9. 前記命令は、さらに、前記手の動きに基づいて前記探索空間を動的に変化させるように実行可能である、請求項1に記載のコンピューティングデバイス。
  10. 前記トラッキングパターンは、3つの側部が長方形の明るい外側領域に隣接し、1つの側部が長方形の暗い外側領域に隣接した、長方形の暗い中心領域を備える、請求項1に記載のコンピューティングデバイス。
  11. 前記操作は、前記手をトラッキングすることに基づいて実行される、請求項1に記載のコンピューティングデバイス。
  12. 前記命令は、さらに、ジェスチャパターンに基づいて手のジェスチャを認識するように実行可能である、請求項1に記載のコンピューティングデバイス。
  13. 手のジェスチャを認識することは、さらに
    トラッキングされた手が、ある時間期間の間、動きを停止したか否かを決定することと、
    トラッキングされた手の画像を固定サイズにスケーリングすることと
    を含む、請求項12に記載のコンピューティングデバイス。
  14. 前記ジェスチャパターンは、2つの側部が長方形の明るい外側領域に隣接した、長方形の暗い中心領域を備える、請求項12に記載のコンピューティングデバイス。
  15. 前記命令は、さらに、前記認識された手のジェスチャに基づいて操作を実行するように実行可能である、請求項12に記載のコンピューティングデバイス。
  16. 前記命令は、さらに、前記手のジェスチャが複数のフレームのあるパーセンテージについて認識されるときに操作を実行するように実行可能である、請求項12に記載のコンピューティングデバイス。
  17. 前記手のジェスチャは、親指と人差し指との間の角度に基づいて認識され、前記命令は、さらに、前記親指と人差し指との角度に基づいて前記手からカーソルを遠ざけるように実行可能である、請求項12に記載のコンピューティングデバイス。
  18. 前記命令は、さらに、前記投影画像の手の周りの領域をより明るく照らすように実行可能である、請求項1に記載のコンピューティングデバイス。
  19. 前記命令は、さらに、複数の手をトラッキングするように実行可能である、請求項1に記載のコンピューティングデバイス。
  20. 前記命令は、さらに、複数の手のジェスチャを認識するように実行可能である、請求項1に記載のコンピューティングデバイス。
  21. 前記命令は、さらに、前記手の影をトラッキングするのを回避するために、前記手をトラッキングする前に前記画像の暗い部分を除去するように実行可能である、請求項1に記載のコンピューティングデバイス。
  22. 前記命令は、さらに、前記投影画像のあるエリアにおいて前記画像の改善されたフォーカスおよび露出を提供するように実行可能である、請求項1に記載のコンピューティングデバイス。
  23. 前記操作は、カーソルをリリースする、請求項15に記載のコンピューティングデバイス。
  24. インターフェースを提供するための方法であって、
    プロジェクタから投影画像を投影することと、
    カメラを使用して画像をキャプチャすることと、ここにおいて、前記カメラは可視スペクトルにおいて動作する、
    コンピューティングデバイスを較正することと、
    前記コンピューティングデバイスによって手を検出することと、
    前記コンピューティングデバイスによって、探索空間において1または複数のトラッキングパターンの中から前記画像に最も良くマッチするトラッキングパターンを決定することと、
    前記コンピューティングデバイスによって、前記探索空間において前記トラッキングパターンに基づいて前記手をトラッキングすることと、
    前記コンピューティングデバイスによって操作を実行することと
    を備え
    前記最も良くマッチするトラッキングパターンは、前記操作を実行するために使用されうる前記探索空間内の前記画像に対応するロケーションおよび/または向きを有する、方法。
  25. 前記コンピューティングデバイスを較正することは、
    前記投影画像のコーナーを見つけることと、
    前記投影画像の座標をデスクトップ空間にマッピングすることと
    を含む、請求項24に記載の方法。
  26. 前記コンピューティングデバイスを較正することは、手のサイズを決定することを含む、請求項24に記載の方法。
  27. 前記手のサイズは、前記投影画像に基づいて決定され、前記投影画像は、複数の楕円を備える、請求項26に記載の方法。
  28. 前記手のサイズは、顔認識に基づいて決定される、請求項26に記載の方法。
  29. 前記手は、初期対話エリアにおいて検出される、請求項24に記載の方法。
  30. 体をトラッキングすることと、
    前記体をトラッキングすることに基づいて前記初期対話エリアを動かすことと
    をさらに備える、請求項29に記載の方法。
  31. 前記トラッキングパターンが手にマッチすることを決定することをさらに備える、請求項24に記載の方法。
  32. 前記手の動きに動的に基づいて前記探索空間を動的に変化させることをさらに備える、請求項24に記載の方法。
  33. 前記トラッキングパターンは、3つの側部が長方形の明るい外側領域に隣接し、1つの側部が長方形の暗い外側領域に隣接した、長方形の暗い中心領域を備える、請求項24に記載の方法。
  34. 前記操作は、前記手をトラッキングすることに基づいて実行される、請求項24に記載の方法。
  35. ジェスチャパターンに基づいて手のジェスチャを認識することをさらに備える、請求項24に記載の方法。
  36. 手のジェスチャを認識することは、
    トラッキングされた手が、ある時間期間の間、動きを停止したか否かを決定することと、
    トラッキングされた手の画像を固定サイズにスケーリングすることと
    をさらに含む、請求項35に記載の方法。
  37. 前記ジェスチャパターンは、2つの側部が長方形の明るい外側領域に隣接した、長方形の暗い中心領域を備える、請求項35に記載の方法。
  38. 前記認識された手のジェスチャに基づいて操作を実行することをさらに備える、請求項35に記載の方法。
  39. 前記手のジェスチャが複数のフレームのあるパーセンテージについて認識されるときに操作を実行することをさらに備える、請求項35に記載の方法。
  40. 前記手のジェスチャは、親指と人差し指との間の角度に基づいて認識され、前記方法は、さらに、前記親指と人差し指との間の角度に基づいて前記手からカーソルを遠ざけることを含む、請求項35に記載の方法。
  41. 前記投影画像の手の周りの領域をより明るく照らすことをさらに備える、請求項24に記載の方法。
  42. 複数の手をトラッキングすることをさらに備える、請求項24に記載の方法。
  43. 複数の手のジェスチャを認識することをさらに備える、請求項24に記載の方法。
  44. 前記手の影をトラッキングするのを回避するために、前記手をトラッキングする前に前記画像の暗い部分を除去することをさらに備える、請求項24に記載の方法。
  45. 前記投影画像のあるエリアにおいて前記画像の改善されたフォーカスおよび露出を提供することをさらに備える、請求項24に記載の方法。
  46. 前記操作は、カーソルをリリースする、請求項38に記載の方法。
  47. インターフェースを提供するためのコンピュータプログラムプロダクトであって、前記コンピュータプログラムプロダクトは、命令をその上に有する非一時的な有形のコンピュータ可読媒体を備え、前記命令は、
    コンピューティングデバイスに、プロジェクタから投影画像を投影させるためのコードと、
    前記コンピューティングデバイスに、カメラを使用して画像をキャプチャさせるためのコードと、ここにおいて、前記カメラは可視スペクトルにおいて動作する、
    前記コンピューティングデバイスに、前記コンピューティングデバイスを較正させるためのコードと、
    前記コンピューティングデバイスに、手を検出させるためのコードと、
    前記コンピューティングデバイスに、探索空間において1または複数のトラッキングパターンの中から前記画像に最も良くマッチするトラッキングパターンを決定させるためのコードと、
    前記コンピューティングデバイスに、前記探索空間において前記トラッキングパターンに基づいて前記手をトラッキングさせるためのコードと、
    前記コンピューティングデバイスに、操作を実行させるためのコードと
    を備え
    前記最も良くマッチするトラッキングパターンは、前記操作を実行するために使用されうる前記探索空間内の前記画像に対応するロケーションおよび/または向きを有する、コンピュータプログラムプロダクト。
  48. 前記手は、初期対話エリアにおいて検出される、請求項47に記載のコンピュータプログラムプロダクト。
  49. 前記命令は、前記コンピューティングデバイスに、ジェスチャパターンに基づいて手のジェスチャを認識させるためのコードをさらに備える、請求項47に記載のコンピュータプログラムプロダクト。
  50. インターフェースを提供するための装置であって、
    プロジェクタから投影画像を投影するための手段と、
    カメラを使用して画像をキャプチャするための手段と、ここにおいて、前記カメラは可視スペクトルにおいて動作する、
    前記装置を較正するための手段と、
    手を検出するための手段と、
    探索空間において1または複数のトラッキングパターンの中から前記画像に最も良くマッチするトラッキングパターンを決定するための手段と、
    前記探索空間において前記トラッキングパターンに基づいて前記手をトラッキングするための手段と、
    操作を実行するための手段と
    を備え
    前記最も良くマッチするトラッキングパターンは、前記操作を実行するために使用されうる前記探索空間内の前記画像に対応するロケーションおよび/または向きを有する、装置。
  51. 前記手は、初期対話エリアにおいて検出される、請求項50に記載の装置。
  52. ジェスチャパターンに基づいて手のジェスチャを認識するための手段をさらに備える、請求項50に記載の装置。
JP2013502913A 2010-04-01 2011-04-01 コンピューティングデバイスインターフェース Expired - Fee Related JP5567206B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US32015810P 2010-04-01 2010-04-01
US61/320,158 2010-04-01
US13/013,657 US8818027B2 (en) 2010-04-01 2011-01-25 Computing device interface
US13/013,657 2011-01-25
PCT/US2011/031030 WO2011123845A2 (en) 2010-04-01 2011-04-01 A computing device interface

Publications (2)

Publication Number Publication Date
JP2013524354A JP2013524354A (ja) 2013-06-17
JP5567206B2 true JP5567206B2 (ja) 2014-08-06

Family

ID=44709720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013502913A Expired - Fee Related JP5567206B2 (ja) 2010-04-01 2011-04-01 コンピューティングデバイスインターフェース

Country Status (6)

Country Link
US (1) US8818027B2 (ja)
EP (1) EP2553656A2 (ja)
JP (1) JP5567206B2 (ja)
KR (1) KR101457777B1 (ja)
CN (1) CN102822862B (ja)
WO (1) WO2011123845A2 (ja)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110317871A1 (en) * 2010-06-29 2011-12-29 Microsoft Corporation Skeletal joint recognition and tracking system
EP2421251A1 (en) * 2010-08-17 2012-02-22 LG Electronics Display device and control method thereof
US20120081391A1 (en) * 2010-10-05 2012-04-05 Kar-Han Tan Methods and systems for enhancing presentations
US8861797B2 (en) 2010-11-12 2014-10-14 At&T Intellectual Property I, L.P. Calibrating vision systems
US20120139827A1 (en) * 2010-12-02 2012-06-07 Li Kevin A Method and apparatus for interacting with projected displays using shadows
JP6261984B2 (ja) * 2011-02-04 2018-01-17 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 絶対的な基準系を作成するのに固有受容性を使用するジェスチャ制御可能システム
JP2012173911A (ja) * 2011-02-21 2012-09-10 Seiko Epson Corp 画像生成装置、プロジェクターおよび画像生成方法
US9857868B2 (en) 2011-03-19 2018-01-02 The Board Of Trustees Of The Leland Stanford Junior University Method and system for ergonomic touch-free interface
US8840466B2 (en) 2011-04-25 2014-09-23 Aquifi, Inc. Method and system to create three-dimensional mapping in a two-dimensional game
US20140055400A1 (en) 2011-05-23 2014-02-27 Haworth, Inc. Digital workspace ergonomics apparatuses, methods and systems
US9086794B2 (en) * 2011-07-14 2015-07-21 Microsoft Technology Licensing, Llc Determining gestures on context based menus
US9030445B2 (en) 2011-10-07 2015-05-12 Qualcomm Incorporated Vision-based interactive projection system
JP5904754B2 (ja) * 2011-10-17 2016-04-20 キヤノン株式会社 情報処理システム、情報処理装置、それらの制御方法、およびプログラム
TW201322058A (zh) * 2011-11-16 2013-06-01 Chunghwa Picture Tubes Ltd 手勢辨識系統及方法
JP5917116B2 (ja) * 2011-12-06 2016-05-11 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
US8874657B2 (en) * 2012-04-27 2014-10-28 Seiko Epson Corporation Method for securely distributing meeting data from interactive whiteboard projector
WO2013108268A1 (en) * 2012-01-18 2013-07-25 Abhishek Kumar Tiwari System and method for headphone coupled with a handheld device
GB2499979A (en) * 2012-01-20 2013-09-11 Light Blue Optics Ltd Touch-sensitive image display devices
US8854433B1 (en) 2012-02-03 2014-10-07 Aquifi, Inc. Method and system enabling natural user interface gestures with an electronic system
US20130229345A1 (en) * 2012-03-01 2013-09-05 Laura E. Day Manual Manipulation of Onscreen Objects
US9141197B2 (en) 2012-04-16 2015-09-22 Qualcomm Incorporated Interacting with a device using gestures
JP2015525381A (ja) * 2012-05-04 2015-09-03 オブロング・インダストリーズ・インコーポレーテッド 相互ユーザ手追跡および形状認識ユーザ・インターフェース
US9122378B2 (en) * 2012-05-07 2015-09-01 Seiko Epson Corporation Image projector device
US9587804B2 (en) * 2012-05-07 2017-03-07 Chia Ming Chen Light control systems and methods
US20130300831A1 (en) * 2012-05-11 2013-11-14 Loren Mavromatis Camera scene fitting of real world scenes
US9619036B2 (en) 2012-05-11 2017-04-11 Comcast Cable Communications, Llc System and methods for controlling a user experience
US9262068B2 (en) * 2012-05-31 2016-02-16 Opportunity Partners Inc. Interactive surface
US10114609B2 (en) 2012-05-31 2018-10-30 Opportunity Partners Inc. Computing interface for users with disabilities
JP5935529B2 (ja) * 2012-06-13 2016-06-15 ソニー株式会社 画像処理装置、画像処理方法、およびプログラム
JP5991039B2 (ja) * 2012-06-18 2016-09-14 株式会社リコー 情報処理装置および会議システム
US8837780B2 (en) * 2012-06-22 2014-09-16 Hewlett-Packard Development Company, L.P. Gesture based human interfaces
US9098739B2 (en) 2012-06-25 2015-08-04 Aquifi, Inc. Systems and methods for tracking human hands using parts based template matching
US9111135B2 (en) 2012-06-25 2015-08-18 Aquifi, Inc. Systems and methods for tracking human hands using parts based template matching using corresponding pixels in bounded regions of a sequence of frames that are a specified distance interval from a reference camera
US9874977B1 (en) * 2012-08-07 2018-01-23 Amazon Technologies, Inc. Gesture based virtual devices
US8836768B1 (en) 2012-09-04 2014-09-16 Aquifi, Inc. Method and system enabling natural user interface gestures with user wearable glasses
US8955982B2 (en) * 2012-09-25 2015-02-17 Microvision, Inc. Virtual segmentation of interactive scanning laser projector display
US8836222B1 (en) 2012-11-09 2014-09-16 Google Inc. Method, apparatus and system for adaptive light projection
US9412053B1 (en) 2012-11-09 2016-08-09 Google Inc. Method, apparatus and system for projecting light for user guidance
US10126820B1 (en) * 2012-11-29 2018-11-13 Amazon Technologies, Inc. Open and closed hand detection
CN102981623B (zh) * 2012-11-30 2016-05-18 深圳先进技术研究院 触发输入指令的方法及系统
US9904414B2 (en) * 2012-12-10 2018-02-27 Seiko Epson Corporation Display device, and method of controlling display device
JP6255810B2 (ja) * 2013-09-06 2018-01-10 セイコーエプソン株式会社 表示装置、及び、表示装置の制御方法
TWI454968B (zh) * 2012-12-24 2014-10-01 Ind Tech Res Inst 三維互動裝置及其操控方法
US20150331491A1 (en) * 2012-12-27 2015-11-19 Thomas Licensing System and method for gesture based touchscreen control of displays
JP2014145813A (ja) * 2013-01-28 2014-08-14 Funai Electric Co Ltd プロジェクタ
US9092665B2 (en) 2013-01-30 2015-07-28 Aquifi, Inc Systems and methods for initializing motion tracking of human hands
US9129155B2 (en) 2013-01-30 2015-09-08 Aquifi, Inc. Systems and methods for initializing motion tracking of human hands using template matching within bounded regions determined using a depth map
US10304037B2 (en) 2013-02-04 2019-05-28 Haworth, Inc. Collaboration system including a spatial event map
US11861561B2 (en) 2013-02-04 2024-01-02 Haworth, Inc. Collaboration system including a spatial event map
KR102059356B1 (ko) * 2013-03-25 2020-02-11 삼성전자주식회사 동작 인식을 이용하여 가상 피팅 서비스를 제공하는 가상 피팅 장치 및 그 장치를 이용한 방법
US9298266B2 (en) 2013-04-02 2016-03-29 Aquifi, Inc. Systems and methods for implementing three-dimensional (3D) gesture based graphical user interfaces (GUI) that incorporate gesture reactive interface objects
WO2014209328A1 (en) * 2013-06-27 2014-12-31 Intel Corporation Device for adaptive projection
US20150370441A1 (en) * 2014-06-23 2015-12-24 Infosys Limited Methods, systems and computer-readable media for converting a surface to a touch surface
US9798388B1 (en) 2013-07-31 2017-10-24 Aquifi, Inc. Vibrotactile system to augment 3D input systems
KR101369358B1 (ko) * 2013-08-06 2014-03-04 홍주희 디스플레이 제어 시스템 및 그 기록매체
US9448689B2 (en) * 2013-08-30 2016-09-20 Paypal, Inc. Wearable user device enhanced display system
US9857971B2 (en) * 2013-12-02 2018-01-02 Industrial Technology Research Institute System and method for receiving user input and program storage medium thereof
US9507417B2 (en) 2014-01-07 2016-11-29 Aquifi, Inc. Systems and methods for implementing head tracking based graphical user interfaces (GUI) that incorporate gesture reactive interface objects
US9619105B1 (en) 2014-01-30 2017-04-11 Aquifi, Inc. Systems and methods for gesture based interaction with viewpoint dependent user interfaces
JP6349811B2 (ja) * 2014-03-17 2018-07-04 セイコーエプソン株式会社 映像信号出力装置、映像信号出力方法、及びプログラム
JP6292007B2 (ja) * 2014-04-28 2018-03-14 富士通株式会社 画像検索装置、画像検索方法及びプログラム
WO2015168218A2 (en) 2014-04-29 2015-11-05 Chia Ming Chen Light control systems and methods
US9740338B2 (en) * 2014-05-22 2017-08-22 Ubi interactive inc. System and methods for providing a three-dimensional touch screen
JP6385729B2 (ja) * 2014-06-13 2018-09-05 株式会社東芝 画像処理装置および画像投影装置
WO2015198747A1 (ja) * 2014-06-24 2015-12-30 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
CN104267802A (zh) * 2014-08-29 2015-01-07 福州瑞芯微电子有限公司 人机交互式虚拟触控装置、系统及方法
US20180101277A9 (en) * 2014-09-24 2018-04-12 Evan John Kaye Skin Touchpad
US9710160B2 (en) 2014-10-21 2017-07-18 International Business Machines Corporation Boundless projected interactive virtual desktop
DE102014224618A1 (de) * 2014-12-02 2016-06-02 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben einer Eingabevorrichtung
CN106033257B (zh) * 2015-03-18 2019-05-31 联想(北京)有限公司 一种控制方法和装置
US9715213B1 (en) * 2015-03-24 2017-07-25 Dennis Young Virtual chess table
JP2018524661A (ja) 2015-05-06 2018-08-30 ハワース, インコーポレイテッドHaworth, Inc. 共同システムにおける仮想作業空間ビューポート・フォロー・モード
US10255023B2 (en) 2016-02-12 2019-04-09 Haworth, Inc. Collaborative electronic whiteboard publication process
US10043066B2 (en) * 2016-08-17 2018-08-07 Intel Corporation Gesture masking in a video feed
US11226704B2 (en) * 2016-09-29 2022-01-18 Sony Group Corporation Projection-based user interface
USD819684S1 (en) * 2016-11-04 2018-06-05 Microsoft Corporation Display screen with graphical user interface
CN106708256B (zh) * 2016-11-14 2018-05-25 北京视据科技有限公司 基于opencv和easyar的虚拟按键触发方法
CN108304759A (zh) * 2017-01-11 2018-07-20 神盾股份有限公司 识别手指的方法和电子装置
US10943100B2 (en) 2017-01-19 2021-03-09 Mindmaze Holding Sa Systems, methods, devices and apparatuses for detecting facial expression
US10515474B2 (en) 2017-01-19 2019-12-24 Mindmaze Holding Sa System, method and apparatus for detecting facial expression in a virtual reality system
US20190025919A1 (en) * 2017-01-19 2019-01-24 Mindmaze Holding Sa System, method and apparatus for detecting facial expression in an augmented reality system
EP3571627A2 (en) 2017-01-19 2019-11-27 Mindmaze Holding S.A. Systems, methods, apparatuses and devices for detecting facial expression and for tracking movement and location including for at least one of a virtual and augmented reality system
EP3568804A2 (en) 2017-02-07 2019-11-20 Mindmaze Holding S.A. Systems, methods and apparatuses for stereo vision and tracking
JP6822209B2 (ja) * 2017-02-24 2021-01-27 セイコーエプソン株式会社 プロジェクターおよびプロジェクターの制御方法
CN109558000B (zh) * 2017-09-26 2021-01-22 京东方科技集团股份有限公司 一种人机交互方法及电子设备
US10705673B2 (en) * 2017-09-30 2020-07-07 Intel Corporation Posture and interaction incidence for input and output determination in ambient computing
US11934637B2 (en) 2017-10-23 2024-03-19 Haworth, Inc. Collaboration system including markers identifying multiple canvases in multiple shared virtual workspaces
US11126325B2 (en) 2017-10-23 2021-09-21 Haworth, Inc. Virtual workspace including shared viewport markers in a collaboration system
US12019850B2 (en) 2017-10-23 2024-06-25 Haworth, Inc. Collaboration system including markers identifying multiple canvases in multiple shared virtual workspaces
JP6765545B2 (ja) * 2017-12-22 2020-10-07 ベイジン センスタイム テクノロジー デベロップメント カンパニー, リミテッド 動的ジェスチャ認識方法および装置、ジェスチャ対話制御方法および装置
US11328533B1 (en) 2018-01-09 2022-05-10 Mindmaze Holding Sa System, method and apparatus for detecting facial expression for motion capture
CN108053836B (zh) * 2018-01-18 2021-03-23 成都嗨翻屋科技有限公司 一种基于深度学习的音频自动化标注方法
KR101984240B1 (ko) * 2018-10-31 2019-09-03 (주)앤트로스 동작 인식을 위한 자동 캘리브레이션 방법 및 시스템
US11064219B2 (en) * 2018-12-03 2021-07-13 Cloudinary Ltd. Image format, systems and methods of implementation thereof, and image processing
WO2020176517A1 (en) 2019-02-25 2020-09-03 Haworth, Inc. Gesture based workflows in a collaboration system
CN112422933A (zh) * 2019-08-21 2021-02-26 台达电子工业股份有限公司 投影装置、投影系统以及运行方法
US11750672B2 (en) 2020-05-07 2023-09-05 Haworth, Inc. Digital workspace sharing over one or more display clients in proximity of a main client
KR102524016B1 (ko) * 2020-08-21 2023-04-21 김덕규 투영된 콘텐츠와 인터렉션하기 위한 시스템

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5936615A (en) * 1996-09-12 1999-08-10 Digital Equipment Corporation Image-based touchscreen
WO1998059312A1 (en) 1997-06-20 1998-12-30 Holoplex, Inc. Methods and apparatus for gesture recognition
JP3968477B2 (ja) * 1997-07-07 2007-08-29 ソニー株式会社 情報入力装置及び情報入力方法
US6600480B2 (en) 1998-12-31 2003-07-29 Anthony James Francis Natoli Virtual reality keyboard system and method
US6614422B1 (en) 1999-11-04 2003-09-02 Canesta, Inc. Method and apparatus for entering data using a virtual input device
US6545670B1 (en) * 1999-05-11 2003-04-08 Timothy R. Pryor Methods and apparatus for man machine interfaces and related activity
US6275214B1 (en) 1999-07-06 2001-08-14 Karl C. Hansen Computer presentation system and method with optical tracking of wireless pointer
US6663491B2 (en) 2000-02-18 2003-12-16 Namco Ltd. Game apparatus, storage medium and computer program that adjust tempo of sound
US6624833B1 (en) 2000-04-17 2003-09-23 Lucent Technologies Inc. Gesture-based input interface system with shadow detection
US7227526B2 (en) 2000-07-24 2007-06-05 Gesturetek, Inc. Video-based image control system
JP4154847B2 (ja) 2000-09-26 2008-09-24 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像処理方法および画像処理プログラムを記録したコンピュータ読取可能な記録媒体
JP2003108305A (ja) 2001-09-28 2003-04-11 Fuji Photo Optical Co Ltd プレゼンテーションシステム
US20050122308A1 (en) 2002-05-28 2005-06-09 Matthew Bell Self-contained interactive video display system
US7710391B2 (en) 2002-05-28 2010-05-04 Matthew Bell Processing an image utilizing a spatially varying pattern
US7665041B2 (en) 2003-03-25 2010-02-16 Microsoft Corporation Architecture for controlling a computer using hand gestures
EP1477924B1 (en) * 2003-03-31 2007-05-02 HONDA MOTOR CO., Ltd. Gesture recognition apparatus, method and program
JP4708422B2 (ja) * 2004-04-15 2011-06-22 ジェスチャー テック,インコーポレイテッド 両手動作の追跡
US8508710B2 (en) * 2004-12-02 2013-08-13 Hewlett-Packard Development Company, L.P. Display panel
CN102831387B (zh) 2005-01-07 2016-12-14 高通股份有限公司 检测和跟踪图像中的物体
EP1851749B1 (en) * 2005-01-21 2012-03-28 Qualcomm Incorporated Motion-based tracking
US8125526B2 (en) 2006-02-03 2012-02-28 Olympus Imaging Corp. Camera for selecting an image from a plurality of images based on a face portion and contour of a subject in the image
EP1983402A4 (en) 2006-02-03 2013-06-26 Panasonic Corp INPUT DEVICE AND ITS METHOD
US8106884B2 (en) 2006-03-20 2012-01-31 Samsung Electronics Co., Ltd. Pointing input device, method, and system using image pattern
US9696808B2 (en) * 2006-07-13 2017-07-04 Northrop Grumman Systems Corporation Hand-gesture recognition method
US7701439B2 (en) * 2006-07-13 2010-04-20 Northrop Grumman Corporation Gesture recognition simulation system and method
US7907117B2 (en) * 2006-08-08 2011-03-15 Microsoft Corporation Virtual controller for visual displays
EP2124139A4 (en) * 2006-12-22 2013-01-09 Panasonic Corp USER INTERFACE DEVICE
US8726194B2 (en) * 2007-07-27 2014-05-13 Qualcomm Incorporated Item selection using enhanced control
JP4991458B2 (ja) 2007-09-04 2012-08-01 キヤノン株式会社 画像表示装置及びその制御方法
US9377874B2 (en) 2007-11-02 2016-06-28 Northrop Grumman Systems Corporation Gesture recognition light and video image projector
US8514251B2 (en) * 2008-06-23 2013-08-20 Qualcomm Incorporated Enhanced character input using recognized gestures
US8146020B2 (en) 2008-07-24 2012-03-27 Qualcomm Incorporated Enhanced detection of circular engagement gesture
CN101650624B (zh) * 2008-08-13 2012-07-18 英属维京群岛速位互动股份有限公司 图形化使用者界面的操控装置

Also Published As

Publication number Publication date
WO2011123845A3 (en) 2012-06-28
EP2553656A2 (en) 2013-02-06
US8818027B2 (en) 2014-08-26
WO2011123845A2 (en) 2011-10-06
KR101457777B1 (ko) 2014-11-03
CN102822862B (zh) 2016-03-30
KR20130004357A (ko) 2013-01-09
JP2013524354A (ja) 2013-06-17
CN102822862A (zh) 2012-12-12
US20110243380A1 (en) 2011-10-06

Similar Documents

Publication Publication Date Title
JP5567206B2 (ja) コンピューティングデバイスインターフェース
US10528154B2 (en) System for projecting content to a display surface having user-controlled size, shape and location/direction and apparatus and methods useful in conjunction therewith
Molyneaux et al. Interactive environment-aware handheld projectors for pervasive computing spaces
TWI454968B (zh) 三維互動裝置及其操控方法
US9600078B2 (en) Method and system enabling natural user interface gestures with an electronic system
US10802663B2 (en) Information processing apparatus, information processing method, and information processing system
US8666115B2 (en) Computer vision gesture based control of a device
WO2018000519A1 (zh) 一种基于投影的用户交互图标的交互控制方法及系统
US20110080337A1 (en) Image display device and display control method thereof
US20150331491A1 (en) System and method for gesture based touchscreen control of displays
Dai et al. Touchscreen everywhere: On transferring a normal planar surface to a touch-sensitive display
JP2004246578A (ja) 自己画像表示を用いたインタフェース方法、装置、およびプログラム
US20140053115A1 (en) Computer vision gesture based control of a device
WO2013078989A1 (zh) 人机交互操作指令的触发控制方法和系统
WO2020110547A1 (ja) 情報処理装置、情報処理方法およびプログラム
US20160147294A1 (en) Apparatus and Method for Recognizing Motion in Spatial Interaction
US11907466B2 (en) Apparatus and method which displays additional information along with a display component in response to the display component being selected
CN103543825B (zh) 摄像机光标系统
Bader et al. Lift-and-drop: crossing boundaries in a multi-display environment by airlift
CN104914985A (zh) 手势控制方法及系统与视频流处理装置
TW201947377A (zh) 虛擬輸入系統
Forutanpour et al. ProJest: Enabling Higher Levels of Collaboration Using Today’s Mobile Devices
Huang et al. Air Manipulation: A Manipulation System using Wearable Device of Camera Glasses in Smart Mobile Projector
Wang et al. A novel projector-camera interaction system with the fingertip

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140130

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: 20140520

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140618

R150 Certificate of patent or registration of utility model

Ref document number: 5567206

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees