JP7497458B2 - ジェスチャ制御電子装置の制御表示ゲインを調整するための方法および装置 - Google Patents

ジェスチャ制御電子装置の制御表示ゲインを調整するための方法および装置 Download PDF

Info

Publication number
JP7497458B2
JP7497458B2 JP2022564806A JP2022564806A JP7497458B2 JP 7497458 B2 JP7497458 B2 JP 7497458B2 JP 2022564806 A JP2022564806 A JP 2022564806A JP 2022564806 A JP2022564806 A JP 2022564806A JP 7497458 B2 JP7497458 B2 JP 7497458B2
Authority
JP
Japan
Prior art keywords
hand
gesture
gain
control device
drag
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.)
Active
Application number
JP2022564806A
Other languages
English (en)
Other versions
JP2023522777A (ja
Inventor
ウェイ・リ
ウェイ・ジョウ
佐知 溝渕
ガザラ・サニイ-モンファレッド
ジュウェイ・ル
タスリム・アレフィン・カーン
ラファエル・ヴェラス・ギマライス
Original Assignee
ホアウェイ・テクノロジーズ・カンパニー・リミテッド
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 ホアウェイ・テクノロジーズ・カンパニー・リミテッド filed Critical ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Publication of JP2023522777A publication Critical patent/JP2023522777A/ja
Application granted granted Critical
Publication of JP7497458B2 publication Critical patent/JP7497458B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • 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/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • 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

Landscapes

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

Description

関連出願データ
本出願は、2020年10月30日に出願され、「ジェスチャ制御電子装置の制御表示ゲインを調整するための方法および装置」と題する米国非仮出願第17/085,866号に対する利益を主張し、この米国非仮出願は、2020年4月26日に出願され、「ジェスチャ制御電子装置の制御表示ゲインを調整するための方法およびシステム」と題する米国仮出願第63/015,595号の利益を主張し、これらは両方とも、その全体が再現されているかのように参照により本明細書に組み込まれる。
本出願は、一般に、ジェスチャ制御電子装置に関し、特に、ジェスチャ制御電子装置の制御表示ゲインを調整するための方法および装置に関する。
従来、手持ち式マウス、指またはスタイラスなどのポインティング装置は、電子装置のユーザによって使用され、物理的ジェスチャを使用して電子装置を制御し、電子装置にデータを提供してきた。例えば、手持ち式マウスを物理的表面を横切って移動させ、マウス上のスイッチを(例えば、ボタンを押すことによって)作動させることにより、ユーザは電子装置と対話する(すなわち、データを制御および提供する)ことを可能にする。同様に、電子装置のトラックパッドもしくはタッチスクリーンディスプレイなどの電子装置のタッチ感知面上の指またはスタイラスのタッチ、および、タッチ感知面上の指またはスタイラスの動きは、ユーザが電子装置と対話する(すなわち、データを制御および提供する)ことを可能にする。表面上のポインティング装置の動きは、表示画面上のポインタまたはカーソルの動きによって電子装置の表示画面上にレンダリングされる。制御表示(CD)ゲインは、ポインティング装置の移動と電子装置の表示画面上のポインタまたはカーソルの動きとの間の比率を記述する。電子装置のCDゲイン設定は、例えば、電子装置のオペレーティングシステムまたは電子装置のユーザによって調整することができる。
CDゲインは、ポインティング装置の動きと電子装置の表示画面上のポインタまたはカーソルの動きとの間の比率を記述するので、それらのポインタの動きに応答して、電子装置の挙動にも影響を与える。したがって、例えば、電子装置は、音量スライダがポインタ装置によってドラッグされた距離に比例して、オーディオミキサモジュールのオーディオ音量を増加させることによって、電子装置が特定の状況(例えば、オーディオミキサアプリケーション)におけるポインタ装置のドラッグ動作に応答するように構成され得る。したがって、電子装置が高CDゲイン設定を有し、ユーザがオーディオミキサの状況でポインタ装置を用いてドラッグ動作を開始する場合、ポインタ装置のユーザによる小さな動きは、画面上でのポインタまたはカーソルの大きな動きだけでなく、オーディオボリュームスライダの大きな動き、したがって、オーディオボリュームの大きな増加をもたらし得る。したがって、CDゲインは、ポインタ装置の動きと表示画面に表示されるものとの間の比率だけでなく、ポインタ装置の動きと電子装置(例えば、オーディオ音量の増加の大きさ)によって実行される様々なコマンドの程度または大きさとの間の比率にも影響を及ぼす。
テレビ、大型表示画面、車両インフォテインメントシステムなどの現代の電子装置は、電子装置のカメラまたは電子装置に接続されたカメラの視野(FOV)内で取り込むことができる電子装置の前の空間で実行されるジェスチャを使用して、ユーザがそのような電子装置と対話する(すなわち、データを制御および提供する)ことを可能にする。このようなジェスチャは、空中ジェスチャと呼ばれる。例えば、空中ジェスチャは、電子装置の表示画面上にレンダリングされたデジタルコンテンツを制御するために、ユーザによって使用され得る。しかしながら、表示画面上にレンダリングされたコンテンツを制御および操作するために空中ジェスチャを実行すること、特に、空中ジェスチャを実行し、そのような電子装置の表示画面上にレンダリングされたウィジェットなどのコンテンツまたはユーザインターフェース(UI)要素を制御するために細かい調整を行うことは、多くの場合、そのような装置のユーザは困難を感じる。
したがって、ジェスチャ制御電子装置のユーザがCDゲインを調整して、様々なレベルの粒度でジェスチャ制御を可能する技術が必要とされている。
本開示は、ジェスチャ制御装置の表示画面上にレンダリングされたコンテンツまたはUI要素とのユーザ対話を容易にするために、ジェスチャ制御装置の制御表示ゲインを調整するための方法および装置を説明する。ユーザがCDゲインを調整するために構成メニューをナビゲートし、別個のジェスチャを学習し、一連のジェスチャを実行し、または他の面倒なタスクを実行することを要求するのではなく、本明細書に記載の例は、ユーザが、予備動作または第2の手による同時ジェスチャを実行する必要なしに、自分の手の1つで基本的な空中ジェスチャ(すなわち、CDゲイン調整が適用されるジェスチャ)を実行しながら、CDゲインを動的に調整することを可能にできる。本開示では、「空中ジェスチャ」、「ハンドジェスチャ」、および「ジェスチャ」という用語は、上述したように、カメラの視野内でユーザの手によって実行されるジェスチャを指すために同じ意味で使用されるものとする。ジェスチャは、図3Aから図4Cを参照して以下により詳細に説明するように、手形状および手の動きの両方を含むことができる。
本明細書に記載の例では、ジェスチャ制御装置のCDゲインは、ユーザが空中ジェスチャを実行している方法の1つまたは複数の特性に関して判定される。いくつかの例では、CDゲインは、高い位置または低い位置など、ユーザの手がジェスチャを実行している位置によって判定される。いくつかの例では、CDゲインは、ジェスチャを実行している間のユーザの手の向きによって判定される。いくつかの例では、CDゲインは、ユーザがジェスチャを実行している一定期間に手の動きを一時停止したことを検出することに応答して調整される。いくつかの例では、CDゲインは、ユーザの手が動いている速度に基づいて調整される。
いくつかの態様では、本開示は、ジェスチャ制御装置の制御表示ゲインを調整するための方法を記載する。本方法は、フレームを処理してフレーム内の手の位置および形状を検出するステップと、手の位置および形状に基づいてフレームのジェスチャデータを生成するステップと、フレームのジェスチャデータおよび1つまたは複数の以前のフレームのジェスチャデータに基づいて手がドラッグハンドジェスチャを実行していると判定するステップと、ドラッグハンドジェスチャを実行している手の特性を識別するステップと、ジェスチャ制御装置の制御表示ゲインを、識別された特性に基づいて判定された制御表示ゲインに調整するステップと、を含む。
いくつかの態様では、本開示は、ジェスチャ制御装置を説明する。ジェスチャ制御装置は、プロセッサ装置とメモリと、を備える。メモリは、処理装置によって実行されるとき、ジェスチャ制御装置に、フレームを処理してフレーム内の空中ジェスチャを検出させ、空中ジェスチャがドラッグハンドジェスチャであると判定させ、ドラッグハンドジェスチャを実行する手の特性を識別させ、ジェスチャ制御装置の制御表示ゲインを、識別された特性に基づいて判定された制御表示ゲインに調整させる、機械実行可能命令を記憶する。
いくつかの例では、特性は手の位置である。
いくつかの例では、本方法は、ジェスチャ制御装置がドラッグ状態にある間に手の1つまたは複数の位置を含むキューに手の位置を記憶するステップと、キューに記憶された手の1つまたは複数の位置に基づいて、第1の軸に対する手の動きを判定するステップと、制御表示ゲインを動きに適用してドラッグ制御出力値を生成するステップと、をさらに含む。制御表示ゲインは、第1の軸と直交する第2の軸に対する手の位置に基づいて判定される。
いくつかの例では、手の位置を識別するステップは、手がフレームの第1の領域内に位置していると判定するステップを含む。制御表示ゲインは、第1の領域に対応する第1の制御表示ゲインである。
いくつかの例では、特性は、基準の向きに対する手の向きである。
いくつかの例では、手の向きは、基準の向きに対する手の角度を含む。
いくつかの例では、手の角度は、垂直面に対して測定される。
いくつかの例では、手の向きを識別するステップは、手の角度が第1の角度と第2の角度との間に定義された第1の角度範囲内にあり、制御表示ゲインが第1の角度範囲に対応する第1の制御表示ゲインであると判定するステップを含む。
いくつかの例では、特性は手の速度である。
いくつかの例では、手の速度を識別するステップは、手の位置を判定するステップと、ジェスチャ制御装置がドラッグ状態にある間に手の1つまたは複数の位置を含むキューに手の位置を記憶するステップと、キューに記憶された手の1つまたは複数の位置に基づいて手の速度を判定するステップと、を含む。制御表示を調整するステップは、速度が、少なくとも滞留時間閾値の間、速度閾値を下回っており、かつジェスチャ制御装置が複数の制御表示ゲイン状態のうちの第1の制御表示ゲイン状態にあると判定したことに応答して、ジェスチャ制御装置を複数の制御表示ゲイン状態のうちの第2の制御表示ゲイン状態にするステップと、制御表示ゲインを第2の制御表示ゲイン状態に対応する制御表示ゲインに調整するステップと、を含む。
いくつかの例では、手の速度を識別するステップは、手の位置を判定するステップと、ジェスチャ制御装置がドラッグ状態にある間に手の1つまたは複数の位置を含むキューに手の位置を記憶するステップと、キューに記憶された手の1つまたは複数の位置に基づいて手の速度を判定するステップと、を含む。制御表示ゲインは、手の速度に依存する関数に従って判定される。
いくつかの例では、手の速度に依存する関数は線形関数である。
いくつかの例では、手の速度に依存する関数は、一般化ロジスティック関数である。
いくつかの態様では、本開示は、命令が有形に記憶されたプロセッサ可読媒体を記載する。命令は、プロセッサ装置によって実行されるとき、プロセッサ装置に上述の方法ステップを実行させる。
本明細書で開示される例は、ユーザが複数の入力空間の間で注意を移行することなく、CDゲインを変更することを可能にできる。代わりに、ユーザは、現在のUIタスクが実行されている間にCDゲインを調整するために、自分がベースラインジェスチャ(すなわち、現在のUIタスクを実行するために使用されるジェスチャ)を実行する方法を修正することができる。ユーザは、手の位置(例えば、高さレベル)、手の向き(例えば、指が上向きに対して指が下向き)、または手の速度(例えば、CDゲインレベルを切り替えるための一時停止する、または非線形CDゲイン応答を達成するための手の速度の変更する)など、ベースラインジェスチャがどのように実行されているかの特性を変更することによって、様々なCDゲインレベルの中から選択することができる。CDゲインレベルのこれらの変化は、離散的なCDゲインレベル間を切り替えるために、またはCDゲインレベルの連続的な範囲を横断するために使用され得る。
いくつかの実施形態(手の向きまたは速度を使用するものなど)は、ユーザが自分の肘をテーブル表面上に維持することを可能にし、それにより、特定の位置への手の動きを必要とするジェスチャシステムよりも、腕の歪みが少なくて済む。
いくつかの実施形態は、現在のCDゲインレベルを示すための視覚的および/または聴覚的フィードバックキューを提供することによって、さらなる利点を提供することができる。
CDゲインを変更するために手の速度に依存する実施形態では、ユーザが細かい動きを実行しようとするときに、手の動きを自然に減速または一時停止することができるので、対話は既存のアプローチよりも直感的であり得る。いくつかのそのような実施形態では、ユーザは、粗いCDゲインと細かいCDゲインとの間で手動で移行する必要がなく、その結果、精神的作業負荷が低くなる。
いくつかの実施形態では、単一のジェスチャ制御装置によって使用される異なるタイプの制御ウィジェット(例えば、ボリュームバー、プログレスバーなど)は、異なるモードに割り当てられた複数のジェスチャを学習する必要なしに、単一の技術を使用して、それらのCDゲインレベルを調整できる。
次に、例として、本出願の例示的な実施形態を示す添付の図面に対して参照が行われる。
例示的なジェスチャ制御装置と対話するユーザを示すブロック図である。 例示的なジェスチャ制御装置のいくつかの構成要素を示すブロック図である。 例示的なジェスチャ制御装置によって検出および分類され得るいくつかの例示的な手形状クラスを示す図である。 例示的なジェスチャ制御装置によって検出および分類され得るいくつかの例示的な手形状クラスを示す図である。 例示的なジェスチャ制御装置によって検出および分類され得るいくつかの例示的な手形状クラスを示す図である。 例示的なジェスチャ制御装置によって検出および分類され得るいくつかの例示的な手形状クラスを示す図である。 例示的なジェスチャ制御装置によって検出および分類され得るいくつかの例示的な手形状クラスを示す図である。 例示的なジェスチャ制御装置によって検出および分類され得るいくつかの例示的な手形状クラスを示す図である。 例示的なジェスチャ制御装置によって検出および分類され得るいくつかの例示的な手形状クラスを示す図である。 例示的なジェスチャ制御装置によって検出および分類され得るいくつかの例示的な手形状クラスを示す図である。 例示的なジェスチャ制御装置によって検出および分類され得るいくつかの例示的な動的ジェスチャを示す図である。 例示的なジェスチャ制御装置によって検出および分類され得るいくつかの例示的な動的ジェスチャを示す図である。 例示的なジェスチャ制御装置によって検出および分類され得るいくつかの例示的な動的ジェスチャを示す図である。 図2の例示的なジェスチャ制御装置に実装され得る例示的なジェスチャ検知システムのいくつかの詳細を示すブロック図である。 図5のジェスチャ検知システムによって実行され得る例示的な手の検出および追跡の方法を示すフローチャートである。 図6の方法によって検出および追跡された手に基づく、境界ボックス精緻化を使用する、例示的なジェスチャ分類方法を示すフローチャートである。 状態ベースのジェスチャ分類の一例を示す状態図である。 図2のジェスチャ制御装置の制御表示ゲインを調整するための速度ベースの方法を示すフローチャートである。 CDゲインが一定の値に設定されているときの、図9の方法のドラッグハンドジェスチャのスピードに対してグラフ化されたCDゲインの第1のグラフを示す。 線形関数を使用してCDゲインがCDゲインであると判定されたときの、図9の方法のドラッグハンドジェスチャのスピードに対してグラフ化されたCDゲインの第1のグラフを示す図である。 一般化ロジスティック関数を使用してCDゲインがCDゲインであると判定されたときの、図9の方法のドラッグハンドジェスチャのスピードに対してグラフ化されたCDゲインの第1のグラフを示す図である。 図2のジェスチャ制御装置の制御表示ゲインを調整するための例示的な位置ベースの方法を示すフローチャートである。 図3Dのピンチクローズジェスチャを実行する手の例示的な手の向きを示す図である。 図2のジェスチャ制御装置の制御表示ゲインを調整するための例示的な向きベースの方法を示すフローチャートである。 図2のジェスチャ制御装置の制御表示ゲインを調整するための例示的な一時停止ベースの方法を示すフローチャートである。
同様の参照番号が、同様の構成要素を示すために異なる図で使用されている場合がある。
本開示は、空中ジェスチャを使用してジェスチャ制御電子装置(「ジェスチャ制御装置」)のCDゲインを調整するための方法および装置を説明する。ジェスチャ制御装置は、他の可能性の中でも特に、テレビ(例えば、スマートTV)、デスクトップ装置、ビデオ会議システム、ビデオゲームシステム、車両に連動した装置(例えば、ダッシュボード装置)、またはスマートスピーカであってもよい。本明細書に記載の方法およびシステムは、ジェスチャ制御装置の表示装置上にレンダリングされたユーザインターフェース、ジェスチャ制御装置と通信する表示装置上にレンダリングされたユーザインターフェースを含む、ジェスチャ制御装置によって提供される任意のユーザインターフェースとのユーザ対話を可能にするために使用され得る。本開示の方法およびシステムの例は、他の可能性の中でも特に、拡張現実(AR)または仮想現実(VR)アプリケーションのために実装されてもよい。
例示的なジェスチャ制御装置およびシステム
簡単にするために、本開示は、ディスプレイ(例えば、ビデオ会議システムと通信するスマートテレビ(TV)または表示装置)を有するジェスチャ制御装置の状況における例を説明し、例えばビデオの再生のために装置と対話するために装置を制御するための方法およびシステムを説明する。しかしながら、本開示はそのような実施形態に限定されず、本明細書に記載の方法およびシステムは、様々な用途において様々なジェスチャ制御装置を制御するために使用され得ることを理解されたい。例えば、本明細書に記載の方法およびシステムのいくつかの実施形態は、ユーザにフィードバック情報を提供するために、オーディオスピーカなどの他の出力装置を使用してもよい。いくつかの実施形態は、他の可能性の中でも特に、音楽プレーヤ、ビデオ会議アプリケーション、ビデオゲーム、あるいは、マルチユーザ仮想現実(VR)もしくは拡張現実(AR)環境などの他の種類のコンテンツまたは他のソフトウェアアプリケーションと対話するために、ユーザが空中ジェスチャを使用することを可能にできる。
ジェスチャ制御装置のCDゲインを調整するための空中ジェスチャの使用は、ジェスチャ制御装置のCDゲインを調整するためのいくつかの方法よりも有利であり得る。そのようなジェスチャ制御装置を制御するために空中ジェスチャを使用することは、ユーザが対話するためにそのようなジェスチャ制御装置を持ち続ける必要がない。さらに、そのようなジェスチャ制御装置を制御するために空中ジェスチャを使用することは、ユーザがジェスチャ制御装置の表面に触れて、それと対話する必要がないため、より衛生的であり得る。
図1は、ジェスチャ制御装置100と対話するユーザ10の一例を示す。この簡略図では、ジェスチャ制御装置100は、視野(FOV)20を取り込むデジタルカメラ102を含む。FOV20は、以下でさらに説明するように、ユーザ10の少なくとも一部、特にユーザ10の顔および手を含むことができる。特に、現実的な使用(例えば、実験室設定の外部)におけるFOV20は、典型的には、ユーザ10のみを含むものではない。例えば、FOV20はまた、他のオブジェクト、背景シーン、または可能性のある他の人間を含むかもしれない。ジェスチャ制御装置100は、デジタルカメラ102の代わりに、ユーザ10からの空中ジェスチャを検知することができる別のセンサ、例えば任意の画像キャプチャ装置/センサ(例えば、赤外線画像センサ)を有することができる。ジェスチャ制御装置100はまた、ビデオなどの視覚情報を表示するための表示装置104(以下、ディスプレイ104と呼ぶ)を含む。
図2を参照すると、ジェスチャ制御装置100のブロック図が示されている。ジェスチャ制御装置100の例示的な実施形態が以下に示され説明されるが、本明細書に開示された例を実施するために他の実施形態が使用されてもよく、示されたものとは異なる構成要素を含んでもよい。図2は、ジェスチャ制御装置100の各構成要素の単一のインスタンスを示しているが、示されている各構成要素の複数の実例が存在してもよい。
ジェスチャ制御装置100は、中央処理装置、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、専用論理回路、テンソル処理装置、ニューラル処理装置、専用人工知能処理装置、またはそれらの組み合わせなどの、1つまたは複数のプロセッサ202を含む。1つ以上のプロセッサ202は、「プロセッサ装置」と総称されてもよい。ジェスチャ制御装置100はまた、デジタルカメラ102などの入力装置とディスプレイ104などの出力装置とをインターフェースする、1つまたは複数の入力/出力(I/O)インターフェース204を含む。ジェスチャ制御装置100は、他の入力装置(例えば、ボタン、マイクロフォン、タッチスクリーン、キーボードなどである)および他の出力装置(例えば、スピーカ、振動ユニットなどである)を含むことができる。デジタルカメラ102(または他の入力装置)は、一連のビデオフレームとしてライブジェスチャ入力を取り込む機能を有することができる。取り込まれたフレームは、I/Oインターフェース204によってバッファリングされ、リアルタイムまたはほぼリアルタイムで処理されるように(例えば、100 ms以内)処理装置202に提供され得る。
ジェスチャ制御装置100は、ネットワーク(例えば、イントラネット、インターネット、P2Pネットワーク、WANおよび/またはLAN)または他のノードとの有線または無線通信のための1つまたは複数の任意選択のネットワークインターフェース206を含むことができる。ネットワークインターフェース206は、ネットワーク内および/またはネットワーク間の通信のための有線リンク(例えば、イーサネットケーブル)および/またはワイヤレスリンク(例えば、1つもしくは複数のアンテナ)を含んでよい。
ジェスチャ制御装置100は、揮発性または不揮発性メモリ(例えば、フラッシュメモリ、ランダムアクセスメモリ(RAM)、および/または読み出し専用メモリ(ROM))を含むことができる1つまたは複数のメモリ208を含む。非一時的メモリ208は、本開示に記載された例を実行するなどのために、プロセッサ202による実行のための命令を記憶することができる。ジェスチャ検知システム500を定義する命令のセットがメモリ208に記憶されて示されており、これは、後述する方法のステップを実行するためにプロセッサ202によって実行することができる。ジェスチャ送信システム500の動作は、図5を参照して以下に説明される。ジェスチャ検知システム500は、その各サブシステム516、520、522、560、562、570の機能を実行するために、プロセッサ202によって実行可能な機械実行可能命令を含む。メモリ208は、オペレーティングシステムおよび他のアプリケーション/機能を実装するなどのための他のソフトウェア命令を含んでもよい。
いくつかの例では、ジェスチャ制御装置100はまた、ソリッドステートドライブ、ハードディスクドライブ、磁気ディスクドライブおよび/または光ディスクドライブなどの1つまたは複数の電子記憶ユニット(図示せず)を含むことができる。いくつかの例では、1つまたは複数のデータセットおよび/またはモジュールは、外部メモリ(例えば、ジェスチャ制御装置100と有線またはワイヤレス通信する外部ドライブ)によって提供されてもよく、一時的または非一時的コンピュータ可読媒体によって提供されてもよい。非一時的コンピュータ可読媒体の例には、RAM、ROM、消去可能プログラム可能ROM(EPROM)、電気的消去可能プログラム可能ROM(EEPROM)、フラッシュメモリ、CD-ROM、または他の携帯用メモリストレージが含まれる。ジェスチャ制御装置100の構成要素は、例えば、バスを介して互いに通信することができる。
いくつかの実施形態では、分散システムは、複数のジェスチャ制御装置100、ならびに任意選択的に1つまたは複数の追加の構成要素を含むことができる。分散システムは、ネットワークを介して互いに通信する複数のジェスチャ制御装置100を含むことができる。例えば、ビデオ会議システムは、任意選択的に中央サーバと共に、各遠隔参加ユーザのためのジェスチャ制御装置100を備えることができる。ジェスチャ認識および分類、ならびに各ジェスチャ制御装置100上で実行されているビデオ会議アプリケーションを制御するためのユーザジェスチャの優先順位付けは、ローカル処理(すなわち、各ユーザのジェスチャ制御装置100において)と、遠隔または中央処理(すなわち、中央サーバにおいて)との何らかの組み合わせによって実行することができる。いくつかの実施形態では、第1のジェスチャ制御装置100は、ローカルユーザによって実行されている空中ジェスチャを認識および分類するように構成されてもよく、中央サーバは、異なるジェスチャ制御装置100のユーザによって同時に実行されるジェスチャに優先順位を付ける。いくつかの実施形態では、各ジェスチャ制御装置100は、ジェスチャ制御装置100のデジタルカメラによって取り込まれたフレームの集合を中央サーバに送信することができ、中央サーバは、各ジェスチャ制御装置から受信したフレームの集合が処理される順序を優先し、各ジェスチャ制御装置100から受信した集合フレームを処理して、ジェスチャ制御をまとめて優先する順序で、ジェスチャ制御装置100のユーザによって実行された空中ジェスチャを認識および分類する。いくつかの実施形態では、各ジェスチャ制御装置100は、ローカルで取り込まれたフレーム(例えば、ジェスチャ制御装置100のデジタルカメラによって取り込まれたフレーム)と、分散システム内の他のジェスチャ制御装置100から受信された情報との組み合わせに基づいて、認識および分類された空中ジェスチャに優先順位を付けるように構成される。いくつかの実施形態では、分散システムは、単一のジェスチャ制御装置100と、複数のデジタルカメラ(例えば、物理空間の周囲に配置されたデジタルカメラアレイ)および/または複数のディスプレイとを含む、拡張現実システムである。この実施形態では、単一のジェスチャ制御装置100は、ジェスチャ制御装置100のデジタルカメラ102によって取り込まれたフレームの集合、またはシステムの複数のデジタルカメラによって取り込まれたフレームの集合における、空中ジェスチャを認識および分類するために使用され、ジェスチャ制御装置は、認識および分類された空中ジェスチャを使用して複数のディスプレイを制御し、それに情報をレンダリングする。これらのシステムは例として提供されており、他の分散システムも可能であることが理解されよう。
異なる実施形態は、デジタルカメラ102およびディスプレイ104の代わりに、またはそれに加えて、入力および出力装置の異なる組み合わせを含むことができることが理解されよう。VRまたはARシステムの状況では、単一の大型共有ディスプレイ104の代わりに、複数のヘッドマウントディスプレイを使用することができ、本明細書で説明するように入力に使用されるビデオを取り込むために1つまたは複数のデジタルカメラ102が使用される。各ユーザのそれぞれのヘッドマウントディスプレイ上でそのようなVRまたはARシステムのユーザに提示されるフィードバック情報は、単一の共有ディスプレイ104上に提示されるものとして本明細書に記載されるフィードバックと同様であり得る。いくつかの実施形態では、単一のユーザ向けのフィードバック情報は、ターゲットユーザのヘッドマウントディスプレイ上にのみ提示することができる。
いくつかの実施形態では、複数のデジタルカメラ102を使用して、ユーザの空中ジェスチャを含むフレームを取り込むことができる。例えば、VRまたはARシステムは、各ユーザのヘッドセットまたは他のVRまたはAR装置に取り付けられた別個のデジタルカメラを含んでいてもよく、各ユーザのヘッドセットまたは他のVRもしくはAR装置の各それぞれのデジタルカメラは、そのユーザの空中ジェスチャを含むフレームの集合を取り込むために使用される。同様に、互いに遠隔に位置する複数のユーザを有する例示的なビデオ会議、VR、またはARシステムは、各ユーザにローカルなデジタルカメラを使用して、そのユーザの空中ジェスチャを認識および分類するために、ユーザの身体および環境を含む画像を取り込むことができる。そのような例示的なマルチカメラの実施形態では、本明細書に記載の方法およびシステムを使用して、各ユーザの手を検出および追跡し、各デジタルカメラによって取り込まれたフレームを組み合わせることによって、各ユーザの空中ジェスチャを認識および分類することができる。複数のデジタルカメラからのフレームのこの組み合わせは、いくつかの実施形態では時間的に(例えば、ジェスチャ分類のために各フレームを順次処理する)、いくつかの実施形態では空間的に(例えば、各デジタルカメラから受信した現在のフレームを包含する合成フレームを作成し、ジェスチャ分類のために合成フレームを処理する)、または複数のデジタルカメラから受信したフレームを組み合わせる何らかの他の方法によって、達成することができる。
ジェスチャの例
本開示の理解を助けるために、ジェスチャの説明が最初に提供される。本開示では、ハンドジェスチャは、一般に、ジェスチャ制御装置100によって特定のコマンド入力として分類され得る1つまたは複数の別個の手形状および/または手の動きによって定義される。ハンドジェスチャは、異なる手形状および手の動きを有することができる。例えば、手形状は、ジェスチャ制御装置100によって、図3Aから図3Hに示す手形状クラスのうちの1つに属するものとして分類されてもよい。
図3Aは、「オープンハンド」の形状30を示す。図3Bは、「握り拳」(または「クローズハンド」)の形状32を示す。図3Cは、「ピンチオープン」の形状34を示す。図3Dは、「ピンチクローズ」の形状36を示す。図3Eは、「ミュート」(または「無音」)の形状38を示す。図3Fは、「気に入る」(または「承認」)の形状40を示す。図3Gは、「その他」(または「次」)の形状42を示す。図3Hは、「タッチ」(または「選択」)の形状44を示す。他の手形状クラスは、ジェスチャ制御装置100によって分類されてもよい。
そのような手形状クラスに基づいて、ハンドジェスチャは、静的または動的ジェスチャとして分類され得る。静的ジェスチャは、単一の手形状クラスによって定義され、ジェスチャ制御装置100のユーザを含むビデオの少なくとも定義された期間(例えば、1秒)または少なくとも定義された数の連続する取り込まれたフレーム(例えば、100フレーム)の間、ほぼ固定された位置(例えば、ある程度の誤差を許容する定義された領域内)に保持される。例えば、複数のフレーム内の同じ位置にある複数のオープンハンド形状30を含む静的な「オープンハンド」ジェスチャは、ジェスチャ制御装置100によって認識されてもよく、ビデオ再生の状況では、一時停止コマンド入力として解釈されてもよい。複数のフレーム内の同じ位置に複数の静的な握り拳の形状32を含む静的な「握り拳」のジェスチャは、ジェスチャ制御装置100によって認識されてもよく、ビデオ再生の状況では、停止コマンド入力として解釈されてもよい。ジェスチャは、ジェスチャ制御装置100によって認識され、上述したような「オープンハンド」静的ジェスチャまたは「握り拳」静的ジェスチャなどの特定のジェスチャタイプとして分類され得る。
動的ジェスチャは、1つまたは複数の手形状クラス、位置、および/または動きの組み合わせによって定義される。例えば、動的ジェスチャは、(例えば、取り込まれたビデオの一連のフレーム内の異なる位置で検出される)経時的に位置が変化する単一の手形状クラスであり得る。経時的に位置が変化するオープンハンド形状30は、ジェスチャ制御装置100によって動的オープンハンドジェスチャとして分類され、表示されたアイコンなどのインターフェースオブジェクトをドラッグまたは移動するためのコマンドとして解釈され得る。
図4Aは、手形状クラスの組み合わせであり得る別のタイプの動的ジェスチャを示す。図4Aでは、動的ジェスチャは、タッチ形状44とそれに続く握り拳の形状32との組み合わせを含む。この動的ジェスチャは、ジェスチャ制御装置100によって認識され、マウス装置を使用してインターフェースオブジェクトを選択し、次いでクリックすることと、同等のコマンド入力として解釈され得る。別の例では、ピンチオープン形状34とそれに続くピンチクローズ形状36は、「ピンチング」動的ジェスチャとして一緒に分類されてもよく、これはジェスチャ制御装置100によって認識され、ズームアウトコマンド入力として解釈されてもよい。静的ジェスチャの場合と同様に、動的ジェスチャは、ジェスチャ制御装置100によって認識され、図4Aに示す動的ジェスチャなどの特定のジェスチャタイプとして分類され得る。
より複雑な動的ハンドジェスチャは、手形状クラスの組み合わせと位置の変化の両方を含み得る。例えば、図4Aでは、タッチ形状44が経時的に位置が変化し(例えば、ジェスチャ制御装置100のユーザのビデオの一連のフレームにわたって異なる位置で検出される)、その後に握り拳の形状32が続くと検出された場合、ジェスチャ制御装置100は、この複雑な動的ジェスチャを、握り拳の形状32が検出されたときに、クリックコマンドが続くタッチ形状44の位置の変化を反映するように表示されたカーソルを移動させるコマンドとして解釈することができる。
別の例では、ピンチオープン形状36、続いてピンチクローズ形状38、続いてピンチクローズ形状38の位置の変化、続いて再びピンチオープン形状36は、ジェスチャ制御装置100によって、動的な「ピンチ・ドラッグ・リリース」ハンドジェスチャとして、一緒に分類され得る。位置の変化を含む動的ハンドジェスチャは、位置の特定の変化に応じて異なる入力として解釈され得ることに留意されたい。例えば、図4Bに示すように、ピンチクローズハンド38の位置46の垂直変化(または垂直「ドラッグ」)を伴うピンチ・ドラッグ・リリースのハンドジェスチャは、ビデオ再生の状況において、音量を変更するためのコマンド入力として解釈されてもよい。対照的に、図4Cに示すように、ピンチクローズハンド形状38の位置48の水平方向の変化を伴うピンチ・ドラッグ・リリースのハンドジェスチャは、ビデオ再生の状況において、ビデオ内で前方または後方に移動するためのコマンド入力として解釈され得る。そのようなピンチ・ドラッグ・リリースの動的ハンドジェスチャは、ユーザがジェスチャ制御装置100と対話するための直感的で便利な方法を提供することができ、複雑な動的ジェスチャを、ジェスチャ制御装置100によって比較的高い精度で分類することも可能にできる。特に、ピンチ・ドラッグ・リリースの動的ハンドジェスチャは、動的ハンドジェスチャを、その構成要素の手形状クラス(例えば、ピンチオープン形状36、続いてピンチクローズハンド形状38、続いて別のピンチオープンハンド形状36)に分解することによって、検出および分類することができる。
手の位置、およびその位置の経時的な変化(位置の垂直または水平の変化など)は、以下に説明するように、手検出および追跡サブシステム516によって検出および解釈することができる。手の位置は、異なる例では異なる方法で定義されてもよい。いくつかの例では、手の位置は、ジェスチャ制御装置100のカメラのFOVに対して定義されてもよい。したがって、いくつかの例では、ビデオフレーム内の手の位置(例えば、手の画素位置)は、カメラのFOVに対する垂直および水平位置に直接マッピングされてもよく、後続のフレーム内の手の位置の変化は、手の位置(すなわち、手の動き)に対する、対応する変化として解釈されてもよい。他の例では、手の位置は、所与のフレーム内の手の位置が所与のフレーム内のオブジェクトの位置に対して定義されるように、フレーム内の別の物体に対して定義されてもよい。そのような例では、手の位置または動きを定義する軸(水平軸および垂直軸など)は、他のオブジェクトの位置および/または向きに対して定義されてもよい。非固定カメラを有する例などのいくつかの例では、カメラは、軸、したがって手の位置および動きを定義するために、他のデータ(カメラ位置および/または向きデータなど)を使用することができる。ジェスチャ検知装置100の一構成例は、フレーム内の手の位置および垂直面に対する一連のフレームにわたる手の動きを定義し、垂直面は、水平地面に対して定義される。いくつかの例では、水平地面は、カメラFOV内で検出され、垂直面を定義するために使用され得る。他の例では、カメラは、FOV(したがってフレームの2D画像)が実質的に垂直面に対応するように実質的に水平に向けられ、フレームの各画素のXおよびY画素座標は、垂直面の対応するX-Y座標から投影された光に対応する。
例示的なジェスチャ検知システム
図5は、ジェスチャ制御装置100のジェスチャ検知システム500の一例を示すブロック図である。この例では、ジェスチャ検知システム500は、手検出および追跡サブシステム516と、ジェスチャ分類サブシステム520とを含む。以下の例では、ジェスチャ検知システム500は、いくつかのサブシステムを含むか、またはいくつかのサブシステムの機能を提供するものとして説明される。しかしながら、他の例では、ジェスチャ検知システム500は、説明したサブシステムのサブセットのみを含む(またはその機能を提供する)ことができる。
いくつかの例では、ジェスチャ検知システム500は、別個のサブシステムを含まなくてもよい。代わりに、サブシステム516、520、560、570は、ジェスチャ検知システム500自体のサブブロックと考えることができる。したがって、別個のサブシステム516、520を使用するジェスチャ検知システム500の実装は任意である。
ジェスチャ検知システム500は、手形状分類サブシステム522を含む。手形状分類サブシステム522は、ジェスチャ分類サブシステム520の一部であってもよい。
取り込まれたビデオのフレームがカメラから受信され、ジェスチャ検知システム500に入力される。手検出および追跡サブシステム516は、フレームを処理してフレーム内の手を検出し、検出された手の境界ボックスを定義し、フレームをトリミングして、フレームの定義された境界ボックスに対応するフレームの領域のみを含むトリミングされたフレームを生成し、トリミングされたフレームを出力する。手検出および追跡サブシステム516は、任意の適切な手検出技術を使用して、フレームを処理してフレーム内の手を検出し、検出された手の2Dまたは3D境界ボックスを定義し、フレームをトリミングすることができる。
いくつかの例では、手検出および追跡サブシステム516は、手検出および追跡を実行するために構築され配置された訓練済みニューラルネットワークを含むことができる。例えば、手の検出および追跡に適したニューラルネットワークは、ResNet54(例えば、He,Kaimingらの「画像認識のための深層残差学習」IEEE conference on computer vision and pattern recognition 2016の予稿)のような、残差ニューラルネットワーク(ResNet)アーキテクチャに基づく、YoloV 5(例えば、Redmonらの「Yolov5:漸進的な改善」arXiv査読前原稿 arXiv:1804.02767,2018に記載)で、あってもよい。手の検出および追跡を実行するために構築および配置された訓練済みニューラルネットワークの他の例は、マルチボックスSSD(例えば、Liuら「Ssd:シングルショットマルチボックス検知器」European conference on computer vision,Springer,Cham,2016に記載)などの訓練済みシングルショット検出器(SSD)、または、MobileNetV2(例えば、Sandlerらの「Mobilenetv2:逆転残差および線形ボトルネック」IEEE Conference on Computer Vision and Pattern Recognition 2018の予稿に記載)などの訓練済み畳み込みニューラルネットワーク(CNN)であってもよい。手の検出および追跡はまた、Lucas-Kanadeオプティカルフロー技術(Lucasら「ステレオビジョンへの応用を備えた反復画像登録技術」Imaging Understanding Workshop,1981の予稿に記載)を使用して、手検出および追跡サブシステム516によって実行されてもよい。
検出された手に対して定義された境界ボックスに対応するフレームの領域のみを含むトリミングされたフレームは、手形状クラスとしてトリミングされたフレーム内の手形状の識別および分類を実行するために、手形状分類サブシステム522によって使用される。手形状分類サブシステム522は、任意の適切な分類技術を使用して、トリミングされたフレームを処理し、検出された手形状を特定の手形状クラスとして分類することができる。例えば、手形状分類サブシステム522は、手形状クラスの所定のセットに従って、手形状を分類するように訓練された訓練済みニューラルネットワーク(例えば、CNN)を含むことができる。識別された手形状クラスは、手形状分類サブシステム522から、(例えば、ラベルとして)出力されてもよい。
ジェスチャ分類サブシステム520は、手形状分類サブシステム522によって出力された手形状クラス、手検出および追跡サブシステム516によって出力された手位置データ、ならびに、1つまたは複数の以前のフレームからの追加の手位置および/または手形状データを使用して、手が静的または動的ジェスチャを実行していることを判定し、そのジェスチャを分類することができる。上述したように、複数の連続するフレーム(例えば、100フレーム)内の実質的に同じ位置で検出された単一の手形状クラス(例えば、「オープンハンド」形状30)は、ジェスチャ分類サブシステム520によって静的ジェスチャタイプ(例えば、「オープンハンド」静的ジェスチャタイプ)として分類され得る。同様に、一連のフレーム内の異なる位置で実行される手形状クラス、または一連のフレームにわたって順次実行される複数の手形状クラスは、ジェスチャ分類サブシステム520によって、動的ジェスチャタイプ(例えば、ピンチ・ドラッグ・リリース動的ハンドジェスチャタイプ)として分類され得る。ジェスチャ分類サブシステム520は、ジェスチャの分類されたジェスチャのタイプ、ならびにジェスチャが実行された経時的な持続期間を含む、ジェスチャの認識および分類に応答して、ジェスチャデータ504を生成することができる。いくつかの例では、ジェスチャが認識されなかった場合でも、ジェスチャデータ504を生成および出力することができ、ジェスチャデータは、手検出および追跡サブシステム516および/または手形状分類サブシステム522によって生成されたデータを含むことができる。例えば、いくつかの実施形態では、ジェスチャデータ504は、手検出および追跡サブシステム516によって生成された手の位置データ(例えば、フレーム内の絶対位置、ステアリングホイールに対する位置、および/または、手の境界ボックス座標)、手の動きデータ、および/または手の位置履歴データ(1つ前のフレームにおける手の位置を示す)を含むことができる。いくつかの実施形態では、ジェスチャデータ504は、現在のフレームで認識された識別された手形状クラス、および手形状分類サブシステム522によって生成された手形状履歴データ(例えば、記憶された過去に識別された手形状クラスのキューに基づく)を含むことができる。ジェスチャデータ504はまた、手によって実行されている現在のジェスチャタイプを示すジェスチャタイプデータ、および/またはジェスチャ分類サブシステム520によって生成されたジェスチャ持続時間データを含むことができる。
ジェスチャ制御装置100のソフトウェアアプリケーション(例えば、オペレーティングシステム)は、ジェスチャ検知システム500によって出力されたジェスチャタイプを、コマンド入力に変換することができる。ジェスチャタイプのコマンド入力への変換は、アプリケーションに依存し得る。例えば、所与のジェスチャタイプは、第1のアプリケーションがアクティブであるときには、第1のコマンド入力に変換されてもよいが、第2のアプリケーションがアクティブであるときには、第2のコマンド入力に変換されてもよい(または無効と見なされてもよい)。
ジェスチャ検知システム500はまた、ユーザフィードバックシステム562および制御表示ゲインサブシステム570を含む表示サブシステム560を含む。ユーザフィードバックシステム562および制御表示ゲインサブシステム570の動作は、以下で詳細に説明される。
ジェスチャ検知システム500は、異なるサブブロック(またはサブシステム)を有するものとして示されているが、これに限定する意図はないことを理解されたい。例えば、適応ジェスチャ検知システム500は、より多数またはより少数のサブブロック(またはサブシステム)を使用して実装されてもよく、サブブロック(またはサブシステム)を必要としなくてもよい。さらに、特定のサブブロック(またはサブシステム)によって実行されるものとして本明細書で説明される機能は、代わりに別のサブブロック(またはサブシステム)によって実行されてもよい。
一般に、ジェスチャ検知システム500の機能は、様々な適切な方法で実施され、本開示の範囲内に留まることができる。
図6は、例えば手検出および追跡サブシステム516を使用して、ジェスチャ検知システム500によって実行され得る、例示的な手検出および追跡方法600を示すフローチャートである。
602において、入力フレームが受信される。一般に、入力ビデオフレームは、リアルタイムまたはほぼリアルタイムで一度に1つずつ受信される。入力フレームは、カメラ102によって取り込まれた未処理の生データであってもよいし、最小限に処理されてもよい(例えば、正規化)。
610において、入力フレーム内において手が検出される。入力フレーム内に手が検出されない場合、受信した入力フレーム内にジェスチャ入力が見つからなかったと判定することができ、方法600は、次の入力フレームを受信するためにステップ602に戻ることができる。少なくとも一方の手が入力フレームで検出されたと仮定すると、方法600は任意選択のステップ612に進む。
任意選択的に、612において、複数の手が入力フレーム内で検出された場合、1つの主要な手が入力フレーム内で識別され得る。主要な手は、例えば、入力フレーム内で検出された最も大きい手、または他の何らかの基準に基づいて識別され得る。入力フレーム内に検出された片手のみがある場合、その片手が主要な手であると仮定することができる。
614において、検出された手(または主要な手)は、入力フレーム内で(例えば、手検出および追跡サブシステム516を使用して)、追跡される。手(または主要な手)の検出および追跡からの情報は、ジェスチャのさらなる解析のために提供される。例えば、検出された手を追跡するために、境界ボックスおよび任意選択の識別子を生成してもよい。次いで、例えば、トリミングされたフレーム内の手形状を認識および分類するために、境界ボックス内のフレームの画素からなるトリミングされたフレームを分析および解析するために、境界ボックス(および任意選択の識別子)が、(例えば、ジェスチャ認識サブシステム522、または他の手分類器へ)提供され得る。
いくつかの例では、手検出および追跡方法600は、手検出および追跡サブシステム516のみを使用するジェスチャ検知システム500によって実施されてもよい。上述のようにジェスチャデータ504を出力する代わりに、ジェスチャ検知システム500は、追跡された手に関する情報(例えば、境界ボックス)を、従来のビデオベースのハンドジェスチャ認識システムに出力することができ、従来のジェスチャ認識システムは、手分類およびジェスチャ認識を実行することができる。
いくつかの例では、手追跡方法600を使用して、カメラ102によって取り込まれたすべてのビデオフレームを処理することができる。他の例では、手追跡方法600は、ジェスチャ入力が予期される場合にのみ使用されてもよい。例えば、手追跡方法600は、コマンド入力(例えば、キーボード入力、マウス入力、または音声入力を介して)に応答して開始されてもよい。いくつかの例では、手追跡方法600は、人間の注意の検出に基づいて開始されてもよい。例えば、注意検出技術を使用(例えば、視線追跡ソフトウェアを使用)して、人間がジェスチャ制御装置100を直接見ているかどうかを判定することができ、装置100への人間の直接視線が検出されたときにのみ、手追跡方法600を開始することができる。検出された人間の注意に応答して手追跡方法600を開始して、誤検出またはジェスチャ入力の誤った解釈を、回避することが有用であり得る。
図7は、ジェスチャ分類を実行するための境界ボックスの精緻化を使用する例示的なジェスチャ分類方法700を示すフローチャートである。ジェスチャ分類方法700は、ジェスチャ分類サブシステム520によって実施することができる。
702において、検出された手(例えば、手検出および追跡サブシステム516によって出力される)を定義する、境界ボックス内の画素からなるトリミングされたフレームなどのフレームが受信される。
704において、手形状分類サブシステム522を使用して、手形状分類を実行することができる。
706において、ジェスチャ分類が複数の入力フレームにわたって実行される。例えば、ジェスチャ分類サブシステム520は、以前の入力フレームのバッファを記憶し、1つまたは複数の以前の入力フレームに対して検出および分類された手形状クラスを考慮することによって、ジェスチャ解析を実行することができる。現在のフレームおよび1つまたは複数の以前のフレームにおいて検出および分類された手形状クラス、ならびに、現在のフレームおよび1つまたは複数の以前のフレームにおける手の位置データは、上述したように静的または動的ジェスチャを認識および分類するために、ジェスチャ分類サブシステム520によって使用され得る。
バッファ(例えば、ジェスチャ検知システム500に実装される)を使用して、所定数の以前の入力フレームを記憶することができる。いくつかの実施形態では、メモリリソースをより効率的に使用するために、バッファに記憶される以前の入力フレーム数は、比較的少なくてもよい(例えば、10~30個の以前の入力フレーム)。いくつかの例では、バッファは、追加的または代替的に、以前の入力フレームに対して実行された、ジェスチャ分類の結果を記憶することができる。
単一の静的ジェスチャが認識されるために、ジェスチャ認識サブシステム522は、同じ手形状クラスが、事前定義された数の以前の入力フレーム(N)にわたって、事前定義された最小回数(K)検出されることを要求することができ、K≧1およびK≦Nである。この要件は、検出精度を向上させ、誤検出を低減するのに役立ち得る。いくつかの例では、同じ手形状クラスを、N個の以前の入力フレームにわたるK個の連続する入力フレームにわたって検出する必要があり得る。事前定義された最小値Kは、より良好な検出を可能にし、それでもなおほぼリアルタイムのジェスチャ認識を達成するために、比較的小さい数(例えば、10)になるように選択され得る。この手法を使用して認識および分類され得る静的ジェスチャは、例えば、以前のN個のフレームにわたる少なくともK個のミュートハンド形状38からなるミュートジェスチャ(例えば、ミュートコマンドまたはミュート解除コマンドの場合)、または以前のN個のフレームにわたる少なくともK個のオープンハンド形状30からなる静的オープンハンドジェスチャ(例えば、再生コマンドまたは一時停止コマンドの場合)を含み得る。N個の以前の入力フレームは、バッファに記憶されてもよく、誤検出を低減するのに役立つように、ジェスチャを検出するためのスライディングウィンドウとして使用されてもよい。ジェスチャデータ504は、いくつかの実施形態では、手形状クラスが検出された以前のフレーム数を示すことができる。
動的ジェスチャは、2つ以上の静的ジェスチャの組み合わせに基づいて、ジェスチャ認識サブシステム522によって認識されてもよい。例えば、完全な動的ジェスチャを異なる状態に分離することができ、状態間の遷移は、静的ジェスチャの検出の結果である。ジェスチャ認識サブシステム522は、動的ジェスチャの状態ベースの認識のために、所定の状態遷移ルールのセットを実装することができる。
図8は、ジェスチャ認識サブシステム522によって実施され得る動的ジェスチャの状態ベースの認識の一例を示す状態図である。中立状態802は、ジェスチャ入力が最初にアクティブ化されたとき、または現在の有効なジェスチャが検出されないときのデフォルトの初期状態であってもよい。
最初に握り拳のジェスチャ32が検出されてスワイプ準備状態804に遷移し、続いてオープンハンドジェスチャ30が検出されてスワイプ状態806に遷移すると、スワイプ動的ジェスチャが検出され得る。スワイプ状態806に達すると、ジェスチャ認識サブシステム322は、ジェスチャ入力を動的スワイプジェスチャとして認識する。したがって、静的な握り拳のジェスチャ32に続いて静的オープンハンドジェスチャ30(適切な順序で)の認識は、結果として、動的スワイプジェスチャの認識となる。さらに、検出された握り拳のジェスチャ32と検出されたオープンハンドジェスチャ30との間の位置の変化は、動的スワイプジェスチャを積極的に検出するために(例えば、スワイプジェスチャを位置の変化を伴わない別の動的ジェスチャと区別するために)、必要とされ得る。検出されたジェスチャの位置の変化は、手の境界ボックスの座標の変化に基づいて、計算することができる。スワイプ状態806に達すると、ジェスチャ分類サブシステム520は、認識されたハンドジェスチャ(例えば、ジェスチャタイプラベル)を示す出力を生成することができ、スワイプ準備状態804の検出とスワイプ状態806との間の位置の変化を示す出力を、さらに生成することができる。これらの出力は、ジェスチャデータ504に含まれてもよい。
垂直または水平の動的ドラッグジェスチャ(ドラッグハンドジェスチャとも呼ばれる)は、ピンチオープン34、ピンチクローズ36、およびピンチオープン34の静的ジェスチャの組み合わせとして検出され得る。例えば、中立状態802から、ピンチオープン静的ジェスチャ34の検出後に、ピンチ準備状態808への遷移が発生する。ピンチ準備状態808から、ピンチクローズ静的ジェスチャ36の検出は、ピンチ作動状態810への遷移を引き起こす。ピンチ作動状態810からピンチクローズ静的ジェスチャ36に留まることで、垂直位置の変化(例えば、所定の閾値よりも大きい変化)は、垂直ドラッグ状態812への遷移を引き起こす。同様に、ピンチ作動状態810からピンチクローズ静的ジェスチャに留まることで、水平位置の変化(例えば、所定の閾値よりも大きい変化)は、水平ドラッグ状態814への遷移を引き起こす。位置の変化が垂直および水平の変化の組み合わせ(例えば、位置の斜めの変化)である場合、より大きな変化を状態遷移の判定に使用することができる。あるいは、位置の変化が垂直および水平の変化の組み合わせである場合、状態遷移が認識されない可能性がある。垂直ドラッグ状態812または水平ドラッグ状態814に達すると、ジェスチャ分類サブシステム520は、認識されたジェスチャ(例えば、ジェスチャタイプラベル)を示す出力(例えば、ジェスチャデータ504の一部として)を生成することができ、垂直または水平位置の変化を示す出力をさらに提供することができる。例えば、ジェスチャ分類サブシステム520は、(例えば、入力フレームで定義された座標に基づいて)距離を計算し、この値を出力することができる。距離値を使用して、動的ドラッグジェスチャをドラッグコマンド入力にマッピングすることができる。垂直ドラッグ状態812または水平ドラッグ状態814から、ピンチオープン静的ジェスチャが検出されると、ピンチ準備状態808に遷移する。ピンチ準備状態808に戻ることは、動的ドラッグジェスチャの終了として認識され得る。
したがって、いくつかの実施形態では、手は、第1のピンチオープンジェスチャ34からピンチクローズジェスチャ36への遷移の終了を示すフレームで開始し、ピンチクローズジェスチャ36から第2のピンチオープンジェスチャ34への遷移の終了を示すフレームで終了する、ドラッグハンドジェスチャを実行していると見なされる。動的ドラッグジェスチャのこの検出は、上記の方法700のステップ706で説明したように、複数の入力フレームにわたって実行される。
他の実施形態では、単一の静的ハンドジェスチャがジェスチャ制御装置100をトリガしてドラッグ状態に入り、手がもはや静的ハンドジェスチャを実行していないときに、ドラッグ状態が終了する。したがって、例えば、ピンチクローズジェスチャ36の認識は、ピンチクローズジェスチャ36がピンチオープンジェスチャ34によって先行されるかどうかにかかわらず、装置をドラッグ状態に入らせることができる。いくつかのそのような実施形態では、装置は、静的ジェスチャが特定の方法で、例えばフレームの特定の領域内で実行されるか、または特定の期間保持される場合にのみ、ドラッグ状態に入ることができる。静的ジェスチャを使用してドラッグ状態をトリガする実施形態では、手が指定された静的ジェスチャを実行している任意のフレームの間に、手がドラッグハンドジェスチャを実行していると見なされ得る。
位置の変化を伴う動的ジェスチャの場合、ジェスチャ分類サブシステム520は、物理法則および/または予想される人間の動きに基づいて所定のルールを実装して、可能性のある誤検出をさらに除外することができる。例えば、所定のルールは、検出された手が、連続する入力フレーム間で所定の閾値を超える位置の変化(例えば、100画素を超える変化)を示さないことであり得る。
状態ベースのジェスチャ認識を使用することは、動きベースのジェスチャセグメント化および認識よりも有利であり得る。例えば、静的ジェスチャの検出と比較して、ジェスチャ動作を検出および処理するために、著しく高い処理リソースが必要とされ得る。さらに、状態ベースのジェスチャ認識は、誤検出になりにくい可能性がある。
速度ベースの制御表示ゲイン調整のための例示的な方法
図9を参照すると、ジェスチャ制御装置100の制御表示ゲインを調整するための速度ベースの方法300が示されている。ジェスチャ制御装置100の制御表示ゲインを調整することにより、方法300は、ジェスチャ制御電子装置100のディスプレイ画面104上にレンダリングされたコンテンツまたはUI要素とのユーザ対話を容易にすることができる。方法300は、プロセッサ202によって実行されるソフトウェア(すなわち、メモリ208に記憶された命令)で実施することができる。いくつかの実施形態では、後述するように、方法300は、ジェスチャ検知システム500によって実行される。方法300は、図示および説明したものよりも追加のまたは少ない動作を含むことができ、異なる順序で実行することができる。方法300を実施するソフトウェアのコンピュータ可読コードまたは命令は、ジェスチャ制御装置100のプロセッサ202によって実行されると、メモリ208またはプロセッサ可読媒体に記憶され得る。本明細書では、ハンドジェスチャの様々な特性(例えば、ジェスチャの位置、速度、スピード、または向き)を参照することができ、これらの参照は、ハンドジェスチャを実行する手の特性への参照と同じ意味を有することが理解されよう。
方法300は、ステップ302で開始する。ステップ302で、デジタルカメラ102によって取り込まれたビデオのフレームがジェスチャ検知システム500によって受信される。次いで、方法300はステップ304に進む。304において、受信されたフレームは、フレーム内でユーザの手によって実行されているハンドジェスチャを認識および分類するために(例えば、ジェスチャ検知システム500によって)処理される。いくつかの例では、ステップ304は、手検出および追跡方法600に従って手を検出および追跡し、続いてジェスチャ分類方法700に従ってハンドジェスチャを認識および分類することによって、ジェスチャ検知システム500により実行されてもよい。この例では、ステップ304で認識されたジェスチャは、現在のフレームでジェスチャ制御装置100のユーザによって実行されている静的ジェスチャ、すなわち、現在のフレームで実行され、現在のフレームの前の以前のN個のフレームのうちの少なくともK個で実行された静的手形状である。
ステップ307において、ジェスチャ検知システム500は、図8を参照して上述したように、ジェスチャ制御装置100がドラッグ状態にあるかどうかを判定する。ステップ307において、ジェスチャ検知システム500が、ジェスチャ制御装置100がドラッグ状態にある(例えば、水平ドラッグ814または垂直ドラッグ812)と判定した場合、方法300はステップ312に進む。ステップ307において、ジェスチャ制御装置100がドラッグ状態にないとプロセッサ202が判定した場合、方法300はステップ309に進む。
ステップ308において、ジェスチャ分類サブシステム520は、「ドラッグ状態に入る」ジェスチャが実行されたかどうかを判定する。この例では、上述の図8のように、ピンチオープンジェスチャ34の後に、ピンチクローズジェスチャ36を実行することによって、ドラッグ状態に入ることができる。したがって、この例では、ピンチオープン34からピンチクローズ36までからなる動的ジェスチャは、「ドラッグ状態に入る」ジェスチャを構成する。異なる実施形態では、他の静的または動的ジェスチャが「ドラッグ状態に入る」ジェスチャとして認識されてもよいことが理解されよう。ステップ308において、ジェスチャ分類サブシステム520が、「ドラッグ状態に入る」ジェスチャが実行されたと判定した場合、方法300はステップ312に進む。ステップ308において、ジェスチャ分類サブシステム520が、「ドラッグ状態に入る」ジェスチャが実行されていないと判定した場合、方法300はステップ310に進む。
ステップ312で、ジェスチャ制御装置100はドラッグ状態に入る。次いで、方法300はステップ316に進む。
ステップ316において、サイズkの位置キューが初期化される。次いで、方法300はステップ302に戻り、デジタルカメラ102によって取り込まれたビデオの後続のフレームが受信され、後続のフレームに対してステップ304が実行される。
ステップ318において、フレーム内の認識されたドラッグハンドジェスチャの位置が判定され、検出されたドラッグジェスチャの位置が、サイズkの位置キューに記憶される。次いで、方法300はステップ302に戻り、次のフレームを受信する。
ステップ309において、ジェスチャ分類サブシステム520は、「ドラッグ状態を終了する」ジェスチャが実行されたかどうかを判定する。この例では、上述の図8のように、ピンチクローズジェスチャ36を実行し(すなわち、ジェスチャは、ドラッグ状態にある間に実行される)、続いてピンチオープンジェスチャ34を実行することによって、ジェスチャ制御装置100の現在のドラッグ状態を終了することができる。したがって、この例では、ピンチクローズ36からピンチオープン34までからなる動的ジェスチャは、「ドラッグ状態を終了する」ジェスチャを構成する。他の静的または動的ジェスチャは、異なる実施形態では「ドラッグ状態を終了する」ジェスチャとして認識され得ることが理解されよう。ステップ309において、「ドラッグ状態を終了する」ジェスチャが実行されたと、ジェスチャ分類サブシステム520が判定した場合、方法300はステップ314に進む。ステップ309において、「ドラッグ状態を終了する」ジェスチャが実行されていないと、ジェスチャ分類サブシステム520が判定した場合、方法300はステップ320に進む。
したがって、この例では、空中ジェスチャを実行する手は、第1のピンチオープン34からピンチクローズ36への移行が完了したフレームから開始し、ピンチクローズ36から第2のピンチオープン34への移行が完了したフレームで終了する、ドラッグハンドジェスチャを実行していると、ジェスチャ検知システム500によって判定される。
ステップ314において、ジェスチャ制御装置100は、ドラッグ状態を終了する。次いで、方法300はステップ302に戻り、デジタルカメラ102によって取り込まれたビデオの次のフレームを受信する。
ステップ320において、フレーム内の検出された認識されたドラッグハンドジェスチャの位置が判定され、検出されたドラッグジェスチャの位置がサイズkのキューに記憶される。次いで、方法300はステップ322に進む。ステップ322において、検出されたハンドジェスチャの速度(v)は、位置キューに記憶され検出されたハンドジェスチャの各位置に基づいて、判定される。次いで、方法300はステップ324に進む。
ドラッグハンドジェスチャの速度は、キューに記憶されたドラッグハンドジェスチャの複数の位置を使用して判定される。この計算は、例えば、制御表示ゲインサブシステム570によって実行されてもよい。一実施形態では、ドラッグハンドジェスチャの速度vは、
を使用して判定されてもよく、式中、p1は、時刻t1にキューに記憶されたドラッグハンドジェスチャの第1の位置であり、p2は、時刻t2にキューに記憶されたドラッグハンドジェスチャの第2の位置であり、tは、t1およびt2にデジタルカメラ102によって取り込まれた2つの隣接するフレーム間の時間である(すなわち、tは、空中ジェスチャを実行しているユーザの画像を取り込むためにデジタルカメラ102によって使用されるフレームレートに依存する)。別の実施形態では、ドラッグハンドジェスチャの速度vは、
を使用して判定されてもよく、式中、p1は、時刻t1にキューに記憶されたドラッグハンドジェスチャの第1の位置であり、p3は、時刻t3にキューに記憶されたドラッグハンドジェスチャの第3の位置であり、2tは、時刻t1およびt3にデジタルカメラ102によって取り込まれたフレーム間の時間である(すなわち、t1およびt3のフレームは、t2の中間フレームによって分離される)。任意の同様の平滑化関数を使用して、任意の2つ以上の入力フレーム間の手の速度を補間することができる。
さらに別の実施形態では、ドラッグハンドジェスチャの速度vは、式
および
を使用してドラッグハンドジェスチャの2つの速度v1およびv2を判定し、vを取得するためにv1およびv2を平均化することによって判定することができ、p1は、時刻t1にキューに記憶されたドラッグハンドジェスチャの第1の位置であり、p2は、時刻t2にキューに記憶されたドラッグハンドジェスチャの第2の位置であり、p3は、時刻t3にキューに記憶されたドラッグハンドジェスチャの第3の位置であり、tは、デジタルカメラ102によって取り込まれた2つのフレーム間の時間である。
さらに別の実施形態では、式
および
を使用してドラッグハンドジェスチャのための2つの速度v1およびv2を判定し、式
を使用して判定されたドラッグハンドジェスチャの加速度を判定し、式v=v2+(t*a)を使用して判定された加速度に基づいて速度vを判定することによって、ハンドジェスチャの速度が判定されてもよい。
いくつかの実施形態では、判定された速度は、ベクトル値(すなわち、速度の大きさおよび方向)からスカラースピード値に平坦化することができる。いくつかの実施形態では、スピード値は速度ベクトルの大きさである。他の実施形態では、スピード値は、ドラッグジェスチャの所定の方向または軸に対して判定される。例えば、実行されているドラッグジェスチャが手の水平方向のドラッグの動きを含む場合、ユーザの手のスピードは、水平方向のドラッグ軸への手の速度ベクトルのスカラー投影として計算することができる。したがって、ユーザの手が水平に対して角度Θの方向に移動している場合、ステップ322で計算されたスピード値は、手の速度の大きさの|cosΘ|倍に等しい。速度(またはv)を指すスカラー値を使用する本明細書の計算は、上記で直接説明したように計算されたスカラースピード値を使用するものと理解されるべきである。
ステップ324において、制御表示ゲインサブシステム570は、ジェスチャ制御装置100のCDゲインを判定する。CDゲインは、線形関数を使用してステップ324で判定される。この実施形態では、CDゲイン=f(v)=c×|v|であり、ここで、cは予め定義された定数であり、vはステップ324で判定された認識されたハンドジェスチャの判定されたスピードである。予め定義された定数は、精度、ドラッグハンドジェスチャを実行するのにかかる時間、ドラッグ制御効率などを含む、ドラッグハンドジェスチャに関連するいくつかの異なるパラメータを使用して定義される。
あるいは、ステップ324において、一般化ロジスティック関数を使用してCDゲインが判定される。この実施形態では、
(式中、KはCDゲインの最大値であり、Bはロジスティック増加速度であり、Wは関数f(v)の下限または上限付近のCDゲイン値の増加に影響を及ぼし、Aは下限速度ゲインを判定し、Qはf(v=0)の値に依存し、MはCDゲイン成長の開始速度を示し、CはCDゲインの曲線強度に影響を及ぼし、これはしばしば1に設定される)。ステップ324でCDゲインが判定された後、方法300はステップ326に進む。ステップ326で、CDゲインサブシステム570は、ジェスチャ制御装置100のCDゲインをステップ324で判定されたCDゲインに調整し、ジェスチャ制御装置100のディスプレイ104上にレンダリングされたポインタ、カーソル、またはプログレスバーが、調整されたCDゲインを使用して制御される。いくつかの実施形態では、CDゲイン調整または現在のCDゲインレベルを示すために、視覚、聴覚、または他のフィードバック様式が、ジェスチャ制御装置100のユーザに提示され得る。フィードバックの例は、図11から図14を参照して以下に説明される。
したがって、方法300は、ユーザによって実行されたドラッグハンドジェスチャの判定された速度に基づいてCDゲインを自動的に調整する。ジェスチャ制御装置100のユーザによってドラッグハンドジェスチャがより速く実行されるほど、ジェスチャ制御装置100のディスプレイ画面104上にレンダリングされるコンテンツまたはUI要素(例えば、ウィジェット)を制御するためのCDゲインはより粗くなる。さらに、方法300は、ジェスチャ制御装置100のユーザがジェスチャ制御装置100のCDゲインを調整するために、複数のメニューをナビゲートしなければならないことを回避することで、ジェスチャ制御装置100のCDゲインの調整を簡略化する。いくつかの実施形態では、制御表示ゲインサブシステム570は、ステップ324においてCDゲインの値を判定し、制御表示ゲインサブシステム570は、ジェスチャ制御装置100のCDゲインを、ステップ324で判定されたCDゲインの値に調整する。
図9に示す方法300のステップは、ドラッグハンドジェスチャを実行する手の特性に基づいて、ジェスチャ制御装置100の制御表示ゲインを調整するためのいくつかの変形方法によって潜在的に実行することができ、特性は、手の速度、手の位置、手の向き、または別の特性を含むことができることが理解されよう。いくつかの実施形態では、これらの方法は、ジェスチャ検知システム500を使用して、フレームを処理してフレーム内の手の位置および形状を検出し、手の位置および形状に基づいてフレームのジェスチャデータを生成し、フレームのジェスチャデータおよび1つまたは複数の以前のフレームのジェスチャデータに基づいて手がジェスチャを実行していると判定し、ジェスチャがドラッグハンドジェスチャであると判定し(ステップ304のように)、フレームを処理してフレーム内の空中ハンドジェスチャを検出し(ステップ304のように)、空中ハンドジェスチャがドラッグハンドジェスチャであると判定し(ステップ306のように)、ドラッグハンドジェスチャを実行する手の特性を識別し(特定の実施形態または例によって異なり得る)、ジェスチャ制御装置100の制御表示ゲインを、識別された特性に基づいて判定された制御表示ゲインに調整する(ステップ324またはその変形のように)ことができる。
図10Aは、CDゲインが一定の値に設定されたときのドラッグハンドジェスチャスピード1022に対してグラフ化された、CDゲイン1020の第1のグラフ1000を示す。グラフ1000は、3つの一定のCDゲインレベル、すなわち、高CDゲインを示す第1のCDゲインレベル1010、中程度のCDゲインを示す第2のCDゲインレベル1012、および低CDゲインを示す第3のCDゲインレベル1014を示す。3つのレベル1010、1012、1014は、ジェスチャ制御装置100が図11から図14を参照して以下に説明する、さらなる技術のうちの1つまたは複数を使用して切り替えることができる、3つのCDゲインレベル設定に対応することができる。
図10Bは、上述のように線形関数を使用してステップ324でCDゲインが判定されたときのドラッグハンドジェスチャスピード1022に対してグラフ化された、CDゲイン1020の第2のグラフ1030を示す。グラフ1030は、3つの線形CDゲイン関数、すなわち、予め定義された定数cの高い値を示す第1のCDゲイン関数1032、予め定義された定数cの中程度の値を示す第2のCDゲイン関数1034、および予め定義された定数cの低い値を示す第3のCDゲイン関数1036を示す。3つの関数1032、1034、1036は、ジェスチャ制御装置100が、図11から図14を参照して以下に記載される、さらなる技術のうちの1つまたは複数を使用して切り替えることができる、3つのCDゲインレベル設定に対応することができる。このようにして、方法300の速度ベースのCDゲインレベル調整は、ドラッグハンドジェスチャを実行する手の位置、向き、または一時停止挙動に基づいてCDゲインを調整するための、以下に説明する方法のうちの1つまたは複数と組み合わせることができる。
図10Cは、上述のように一般化ロジスティック関数を使用してステップ324でCDゲインが判定されたときのドラッグハンドジェスチャスピード1022に対してグラフ化された、CDゲイン1020の第3のグラフ1060を示す。グラフ1030は、以下の表1に示すロジスティック関数変数の第1の値のセットを示す第1のCDゲイン関数1062と、ロジスティック関数変数の第2の値のセットを示す第2のCDゲイン関数1064と、ロジスティック関数変数の第3の値のセットを示す第3のCDゲイン関数1066と、ロジスティック関数変数の第4の値のセットを示す第4のCDゲイン関数1068との、3つの線形CDゲイン関数を示す。
4つの関数1062、1064、1066、1068は、滑らかな(1066および1068)から急峻な(1062および1064)CDゲインレベルまでの範囲である。ユーザ試験に基づいて、最初の2つの急峻な関数(1062および1064)は、きめ細かい動きを実行するときには遅すぎると知覚され、粗い動きを行うときには急変しすぎると受け取られる傾向がある。したがって、粗いジェスチャ制御ときめ細かいジェスチャ制御との間の使用可能な自動調整を可能にするために、最後の2つの滑らかな関数(1066および1068)が好ましい場合がある。
4つの関数1062、1064、1066、1068は、4つのCDゲインレベル設定に対応することができ、ジェスチャ制御装置100は、図11から図14を参照して以下に説明するさらなる技術のうちの1つまたは複数を使用して、切り替えることができる。このようにして、方法300の速度ベースのCDゲインレベル調整は、ドラッグハンドジェスチャを実行する手の位置、向き、または一時停止挙動に基づいてCDゲインを調整するための、以下に説明する方法のうちの1つまたは複数と組み合わせることができる。
位置ベースの制御表示ゲイン調整のための例示的な方法
いくつかの実施形態では、ジェスチャ制御装置100のCDゲインは、空中ジェスチャを実行する手の位置の関数として調整することができる。したがって、これらの例示的な実施形態では、CDゲインを調整するために使用されるドラッグハンドジェスチャを実行する手の特性は、ジェスチャ制御装置100のデジタルカメラ102によって取り込まれた空中ハンドジェスチャを実行するユーザのビデオのフレーム内の空中ハンドジェスチャの位置である。
いくつかの実施形態は、CDゲインを判定するためにフレーム内の手の垂直位置を使用する。他の実施形態は、フレーム内の手の水平位置を使用する。他の実施形態は、ユーザがCDゲイン調整を行うために手を移動するように促されるフレームの領域を識別するなど、他の位置の基準を使用してCDゲインを判定することができる。
図8を参照して上述した水平ドラッグ状態814または垂直ドラッグ状態812を達成するための動的「ピンチ・ドラッグ・リリース」ジェスチャなどのドラッグハンドジェスチャを使用する例では、ドラッグの動きの方向または軸は、CDゲインを調整する目的で手の位置を判定するために使用される方向または軸に対して直交(すなわち、垂直)であり得る。したがって、例えば、ユーザがドラッグハンドジェスチャを開始したことに応答して、ジェスチャ制御装置100が「水平ドラッグ」状態に入る(すなわち、ドラッグ方向を判定する第1の軸は水平である)場合、制御表示ゲインサブシステム570は、ドラッグハンドジェスチャを実行する手の垂直位置(すなわち、CDゲイン調整を判定する第2の軸は垂直である)に基づいて、CDゲインを調整することができる。同様に、ユーザがドラッグハンドジェスチャを開始したことに応答してジェスチャ制御装置100が垂直ドラッグ状態812に入ると、制御表示ゲインサブシステム570は、ドラッグハンドジェスチャを実行する手の水平位置に基づいて、CDゲインを調整することができる。CDゲインが調整されると、第1の軸に対するドラッグハンドジェスチャの動きは、第2の軸に対する手の位置に基づいて調整されたCDゲインを適用することによって、スクリーン上の動きおよびジェスチャ制御装置100の制御に変換される。したがって、いくつかの例では、手検出および追跡サブシステム516は、ジェスチャ制御装置がドラッグ状態にある間のドラッグハンドジェスチャの位置を含むキュー内のドラッグハンドジェスチャの位置を記憶する。次いで、手検出および追跡サブシステム516は、キューに記憶されたドラッグハンドジェスチャの位置に基づいて、第1の軸(例えば、水平)に対するドラッグハンドジェスチャの動きを判定する。次に、制御表示ゲインサブシステム570は、制御表示ゲインを動きに適用してドラッグ制御出力値を生成し、制御表示ゲインは、第1の軸に直交する第2の軸(例えば、垂直)に対する空中ハンドジェスチャの位置に基づいて、判定される。
以下に説明する例は、CDゲインを調整するために使用される位置寸法として手の高さ(すなわち、フレーム内の垂直位置)を指す。以下に説明する例のいずれも、水平位置、カメラ102に対する深度、領域内の位置など、異なる位置寸法または値を使用する実施形態に等しく適用できることが理解されよう。
例示的な実施形態は、CDゲイン設定を変更することによってCDゲインを調整するものとして説明される。「CDゲイン設定」は、図10AのCDゲインレベルのうちの1つ、または図10Bから図10CのCDゲイン関数のうちの1つなど、ジェスチャ制御装置100のCDゲインの値、レベル、関数、または構成を指すことが理解されよう。
いくつかの実施形態では、CDゲインは、図10Aの3つのレベル1010、1012、1014のうちの1つ、図10Bの3つの関数1032、1034、1036のうちの1つ、または図10 Cの4つの関数1062、1064、1066、1068のうちの1つなどの離散CDゲイン設定のセットから選択される設定に調整されてもよい。離散CDゲイン設定は、フレームの複数の離散領域のうちの1つの領域内の手の位置を検出することに基づいて、判定されてもよい。いくつかのそのような実施形態では、空中ハンドジェスチャの位置は、空中ハンドジェスチャがフレームの第1の領域内に位置すると判定することによって識別され、制御表示ゲインは、第1の領域に対応する第1の制御表示ゲインに調整される。例えば、フレームは、高CDゲインを示す高い高さ、中程度のCDゲインを示す中程度の高さ、および低CDゲインを示す低い高さに対応する、互いに上下に積み重ねられた3つの水平領域(すなわち、バンド)に分割されてもよい。ジェスチャ検知システム500が水平領域内の1つでドラッグハンドジェスチャを検出すると、それぞれのCDゲイン設定がCDゲインサブシステム570によって選択され適用される。例えば、低い高さ領域内のドラッグハンドジェスチャの検出は、図10Aの第1のレベル1010または図10Bの第1の関数1032などへのCDゲインの調整をもたらすことができる。
他の実施形態では、CDゲインは、手の連続的な位置の値に基づいて、連続的な設定範囲から選択された設定に調整することができる。例えば、フレーム内の手の連続的な高さ値は、手検出および追跡サブシステム516によって検出されてもよく、その結果、CDゲインサブシステム570は、連続的な高さ値に基づいて連続的なCDゲイン設定を計算する。連続的なCDゲイン設定の例は、CDゲインレベルの連続的な範囲(図10Aと同様に)およびCDゲイン関数のパラメータの連続的な値(例えば、図10Bの定数c、または図10CのパラメータK、B、W、A、Q、M、および/またはC)を含む。
いくつかの実施形態は、手の開始位置(例えば、ドラッグハンドジェスチャが開始され、ジェスチャ制御装置100がドラッグ状態に入る場合)などの基準高さレベルに対する相対的な手の高さとして、手の高さを判定できる。他の実施形態は、絶対基準点(例えば、ビデオフレーム内に見えるユーザの身体の一部)に対する絶対的な手の高さとして、手の高さを判定できる。
図11は、ジェスチャ制御装置100の制御表示ゲインを調整するための位置ベースの方法1100を示す。この方法1100では、ドラッグハンドジェスチャを実行する手のフレーム内の垂直高さを使用してCDゲインを調整し、手の高さは、ジェスチャ制御装置100がドラッグ状態に入るときの初期の手の高さを参照した、相対的な手の高さとして判定される。方法1100の記載されたステップは、手の位置に基づいてCDゲインを調整するための他の手法に適用することができることが理解されよう。
方法1100における様々なステップは、図9の速度ベースの方法300のステップと同じ参照番号によって識別される。方法1100のこれらのステップは、それらのステップと同一または同様に動作し、再度説明されない。
1116において、ジェスチャ制御装置100がドラッグ状態に入ったとの判定に応答して(ステップ312において)、CDゲインサブシステム570は、基準の手の高さh0を設定する。h0の値は、フレーム内でドラッグハンドジェスチャを実行する手の現在の高さと等しく設定され(例えば、手検出・追跡サブシステム516によって判定される)、h0の値が、(例えば、メモリ208内に)記憶される。この方法1100で使用される高さ値は、フレーム内の手または手の境界ボックスの画素位置に基づいて判定されてもよく、フレーム内の他の視覚的キューから外挿された現実世界の高さ値に基づいて判定されてもよく、または他の基準に基づいて判定されてもよい。ステップ1116の後、方法1100はステップ302に戻り、ビデオの次のフレームを受信する。
1118において、ジェスチャ制御装置100がドラッグ状態を終了していないと判定したことに応答して(ステップ314において)、CDゲインサブシステム570は、フレーム内でドラッグハンドジェスチャを実行している手の現在の高さに等しい現在の手の高さhを判定する(例えば、手検出および追跡サブシステム516によって判定される)。次いで、方法1100はステップ1120に進む。
1120において、ジェスチャ制御装置100のCDゲインは、新しいCDゲイン設定に調整される。新しいCDゲイン設定は、基準の手の高さh0および現在の手の高さhの関数f(h0,h)である。様々な機能を異なる実施形態で使用して、手の高さの変化を新しいCDゲイン設定にマッピングすることができる。
いくつかの実施形態では、指数関数が使用され、新しいCDゲイン設定は、手の高さの変化の指数関数に基づいて判定される。例えば、上述したようなCDゲインレベルの連続範囲またはCDゲイン関数の連続パラメータを使用する実施形態では、新しいCDゲイン設定のCDゲインレベルまたはCDゲイン関数パラメータ値は、
として判定されてもよく、ここでcおよびbは定数である。離散CDゲイン設定を使用する実施形態では、新しい設定は、上記で計算された関数
に基づいて複数の設定から選択されてもよく、例えば、計算された関数が閾値を上回る場合、第1のCDゲイン設定が選択されてもよく、そうでなければ、第2のCDゲイン設定が選択されてもよい。
他の実施形態では、線形関数を使用して、手の高さの差を新しいCDゲイン設定にマッピングする。いくつかのそのような実施形態では、関数は、f(h0,h)=c×(b+h-h0)として定義され得る。連続および離散CDゲイン設定は、上述のように判定されてもよい。
これらの例では、cおよびbなどのパラメータ値は、低い手の位置に対してCDゲインが0に達するように設定することができる。
1126において、方法300のステップ326と同様に、CDゲインサブシステム570は、ジェスチャ制御装置100のCDゲインをステップ1120で判定されたCDゲインに調整する。ジェスチャ制御装置100のディスプレイ104上にレンダリングされたポインタ、カーソル、またはプログレスバーは、調整されたCDゲインを使用して制御される。
ステップ1126はまた、いくつかの実施形態では、フィードバックをジェスチャ制御装置100のユーザに提供し、CDゲイン調整または現在のCDゲイン設定を示すことができる。ユーザフィードバックサブシステム562は、ディスプレイ104を介してユーザに視覚フィードバックを提示するために使用することができる。さらに、聴覚フィードバックおよび/または他のフィードバック様式は、ジェスチャ制御装置100のI/Oインターフェース204と通信する出力装置(例えば、スピーカ)を使用してユーザに提示することができる。
フィードバックの目的は、ジェスチャ制御装置100のユーザにCDゲインの変化を可視化または知覚可能にし、それによって、ユーザが各瞬間にどのレベルのCDゲインを経験しているかをユーザに知らせることである。視覚フィードバックは、制御オブジェクトの色を変更すること(例えば、CDゲインが低い設定から高い設定に調整されるにつれて、青色から緑色に変化するプログレスバー)、制御オブジェクトの形状または厚さを変更すること(例えば、プログレスバー幅)と、および/または、制御オブジェクト上または制御オブジェクト付近のCDゲインスケールを示すこと(例えば、現在のCDゲインまたはCDゲインの変化のグラフィック表示またはテキスト表示)を含んでもよい。聴覚フィードバックは、CDゲインレベルが変化するときはいつでも音を再生すること、CDゲインレベルでスケーリングされた繰り返し率で音声を繰り返し再生すること(例えば、ジェスチャ制御装置100が高CDゲインレベルにあるときにはスケール1の動きごとにカチカチ音が発せられ、一方、ジェスチャ制御装置100が低CDゲインレベルにあるときにはスケール10の動きごとに同じ音が再生され、その結果、ユーザは、同じ移動量で、低CDゲインレベルよりも高CDゲインレベルにおいて10倍多くのカチカチ音を聞くことになる)を含んでもよい。
向きベースの制御表示ゲイン調整のための例示的な方法
いくつかの実施形態では、ジェスチャ制御装置100のCDゲインは、空中ジェスチャを実行する手の向きの関数として調整することができる。したがって、これらの例示的な実施形態では、CDゲインを調整するために使用されるドラッグハンドジェスチャを実行する手の特性は、基準の向きに対する空中ハンドジェスチャを実行する手の向きである。
いくつかの実施形態は、CDゲインを判定するために、基準の向きに対する手の角度を使用する。例えば、CDゲインは、手の指が上を指している(すなわち、上を向いている)第1の向きと、手の指が下を指している第2の向きとの間の手の角度に基づいて調整され得る。手の角度は、基準の向き、例えば、指が水平を指している固定された水平な手の向き、またはジェスチャ制御装置100がドラッグ状態に入るときの手の向き、によって定義される基準の向きに対して判定されてもよい。手の角度は、図12を参照して後述する垂直X-Y平面などの垂直平面に対して測定することができる。他の実施形態は、垂直軸を中心とした、またはカメラ102から外向きに突出する軸を中心とした半径方向角度など、他の手の向き基準を使用してCDゲインを判定することができる。
位置ベースの方法1100におけるように、いくつかの実施形態は、離散設定のセットから新しいCDゲイン設定を選択することによってCDゲインを調整することができる。いくつかの実施形態では、空中ハンドジェスチャが第1の位置と第2の位置との間の複数の回転範囲のうちの第1の回転範囲内に位置することを判定することにより、空中ハンドジェスチャの向きが識別され、制御表示ゲイン(すなわち、新しいCDゲイン設定)は、第1の回転範囲に対応する第1の制御表示ゲインである。他の実施形態は、値の連続的な範囲から新しいCDゲイン設定を選択してもよい。
図12は、「ピンチクローズ」ジェスチャ36を実行する手の例示的な手の向きを示す。第1の位置1202では、手の指は、X-Y平面に内接する180度の円弧1212によって定義されるように、水平から90度の上方位置1214の近くで、上方を指している。中間位置1204では、手の指は、円弧1212によって定義される0度の水平位置1216の近くで、右方を指している。第2の位置1206では、手の指は、円弧1212によって定義されるマイナス90度の下方位置1218の近くで、下方を指している。
いくつかの実施形態では、ジェスチャ認識サブシステム522および/またはCDゲインサブシステム570は、ドラッグハンドジェスチャの向きを判定し、第1の向き1202と第2の向き1206との間の回転角度の関数として新しい連続CDゲイン設定を判定してもよい。他の実施形態では、新しいCDゲイン設定は、複数の円弧または角度範囲のうちの1つの範囲内にある手の角度に基づいて、一組の離散設定から選択され、例えば、円弧1212内の角度が90度から45度の間である場合は低CDゲイン設定が選択され、円弧1212内の角度が45度からマイナス45度の間である場合は中程度のCDゲイン設定が選択され、円弧1212内の角度がマイナス45度からマイナス90度の間である場合は高CDゲイン設定が選択される。
他の実施形態では、CDゲインレベルは、ユーザが水平より上または下の角度をより長く保持するほど増加または減少する。したがって、CDゲインは、手が第2の位置1206に保持されるにつれて経時的に増加され得、その後、ユーザが手を中間位置1204に戻すとCDゲインは一定に保持される。同様に、CDゲインを元のレベルに戻すために、CDゲインは、手が第1の位置1202に保持されるにつれて経時的に減少されてもよく、その後、ユーザが手を中間位置1204に戻すとCDゲインは一定に保持される。
図12の手の位置が示されている垂直X-Y平面は、ビデオフレームの平面であってもよいし、または、検出された手または手首の向きに基づいて手検出および追跡サブシステム516もしくはジェスチャ認識サブシステム522によって外挿された3D空間内の平面であってもよいことが理解されよう。したがって、いくつかの実施形態では、ピンチクローズジェスチャ36の手の角度は、手が、図12の右側などの異なる方向からカメラ102によって見られる場合でも判定され得る。
図13は、ジェスチャ制御装置100の制御表示ゲインを調整するための向きベースの方法1300を示す。この方法1300では、以下に説明するように、ドラッグハンドジェスチャを実行する手の向きがCDゲインを調整するために使用され、手の向きは、図12の第1の向き(例えば、90度位置1214)と第2の向き(例えば、マイナス90度の位置1218)との間の角度に関して説明される。方法1300の記載されたステップは、手の向きに基づいてCDゲインを調整するための他の手法に適用することができることが理解されよう。
方法1300における様々なステップは、図9の速度ベースの方法300のステップと同じ参照番号によって識別される。方法1300のこれらのステップは、それらのステップと同一または同様に動作し、再度説明されない。
1316において、ジェスチャ制御装置100がドラッグ状態に入ったとの判定に応答して(ステップ312において)、CDゲインサブシステム570は、基準の手の向き角度Θ0を設定する。基準の手の向き角度Θ0は、現在の手の向きの角度に等しく設定される。例えば、ドラッグハンドジェスチャとしてピンチクローズジェスチャ36を使用する実施形態では、現在の手の向きの角度は、円弧1212によって定義される図12のピンチクローズジェスチャ36の指の方向の角度であり、90度から-90度の間で変化する。ステップ1316の後、方法1300は、次のビデオフレームを受信するためにステップ302に戻る。
1318において、ジェスチャ制御装置100がドラッグ状態を終了していないと判定したことに応答して(ステップ314で)、ビデオフレーム内でドラッグハンドジェスチャを実行する手の向きの角度を判定することによって、現在の手の向きの角度が、ジェスチャ認識サブシステム522および/またはCDゲインサブシステム570によって判定される。ステップ1318の後、方法1300はステップ1320に進む。
1320において、ジェスチャ制御装置100のCDゲインは、新しいCDゲイン設定に調整される。新しいCDゲイン設定は、基準の手の向きの角度Θ0および現在の手の向き角度Θの関数f(Θ0、Θ)である。上記の図11を参照して説明したような線形または指数マッピング関数など、様々な関数を異なる実施形態で使用して、手の向きの角度の変化を新しいCDゲイン設定にマッピングすることができる。
1326において、方法300のステップ326と同様に、CDゲインサブシステム570は、ジェスチャ制御装置100のCDゲインをステップ1320で判定されたCDゲインに調整する。ジェスチャ制御装置100のディスプレイ104上にレンダリングされたポインタ、カーソル、またはプログレスバーは、調整されたCDゲインを使用して制御される。いくつかの実施形態はまた、図11のステップ1126を参照して上述したように、ステップ1326においてユーザにフィードバックを提示することができる。
一時停止ベースの制御表示ゲイン調整のための例示的な方法
速度ベースの方法300は、空中ジェスチャを実行する手の速度の関数としてジェスチャ制御装置100のCDゲインを調整するための方法として上述されているが、CDゲイン調整の他の速度ベースの方法を、上述した様々な方法と組み合わせて、またはその代わりに使用することができる。次に、空中ジェスチャを実行する手の動きの一時停止を検出し、そのような一時停止を検出するとCDゲインを調整する、CDゲインを調整するための例示的な一時停止ベースの方法について説明する。したがって、これらの例示的な実施形態では、CDゲインを調整するために使用されるドラッグハンドジェスチャを実行する手の特性は、ドラッグハンドジェスチャを実行する手の速度であり、手の速度が、少なくとも時間閾値の間、スピード閾値を下回ったままであることを、特に検出する。
したがって、これらの例示的な実施形態では、空中ハンドジェスチャの速度は、ドラッグハンドジェスチャの位置を判定し、ジェスチャ制御装置がドラッグ状態にある間にドラッグハンドジェスチャの1つまたは複数の位置を含むキューにドラッグハンドジェスチャの位置を記憶し、キューに記憶されたドラッグハンドジェスチャの1つまたは複数の位置に基づいてドラッグハンドジェスチャの速度を判定することによって識別することができる。速度が、少なくとも滞留時間閾値の間、速度閾値を下回っており、ジェスチャ制御装置が複数の制御表示ゲイン状態のうちの第1の制御表示ゲイン状態にあるとの判定に応答して、CDゲインが調整されてもよい。CDゲイン調整がトリガされると、ジェスチャ制御装置は、複数の制御表示ゲイン状態のうちの第2の制御表示ゲイン状態に置かれ、制御表示ゲインは、第2の制御表示ゲイン状態に対応する制御表示ゲインに調整される。
これらの実施形態では、手のドラッグの動きの一時停止がCDゲインの調整をトリガする。いくつかの実施形態は、手の動きの一時停止を検出すると、2つ以上の離散的なCDゲイン設定の間で、例えば、高CDゲイン設定と低CDゲイン設定との間で切り替える。他の実施形態は、一時停止が長く続くほど連続的なCDゲイン設定を増減するなど、一時停止の検出に応答して異なる調整CDゲインをトリガすることができる。以下に説明する方法は、一時停止の検出に応答して異なるCDゲイン調整に対応するように修正されてもよいことが理解されよう。
ドラッグハンドジェスチャのドラッグの動きの一時停止は、滞留と呼ばれることがある。滞留時間のための予め定義された閾値は、CDゲインを新しいCDゲイン設定に調整するための信号として使用することができる。ジェスチャ制御装置100は、ユーザが再び滞留し、CDゲイン設定が初期設定に戻るまで、新しいCDゲイン設定を維持する。
図14は、ジェスチャ制御装置100の制御表示ゲインを調整するための一時停止ベースの方法1400を示す。この方法1400では、以下に説明するように、ドラッグハンドジェスチャを実行する手の動きの一時停止がCDゲインを調整するために使用され、一時停止は、少なくとも時間閾値Tの期間として定義され、その間、手のスピードはスピード閾値ε/Δtを上回って上昇しない(式中、εは一定の距離であり、Δtは2つの連続した受信ビデオフレーム間の時間である)。方法1400の記載されたステップは、一時停止挙動に基づいてCDゲインを調整するための他の手法に適用することができることが理解されよう。
方法1400における様々なステップは、図9の速度ベースの方法300のステップと同じ参照番号によって識別される。方法1400のこれらのステップは、それらのステップと同一または同様に動作し、再度説明されない。
1416において、ジェスチャ制御装置100がドラッグ状態に入ったと判定したことに応答して(ステップ312で)、CDゲインサブシステム570は、CDゲインをデフォルトの初期設定に設定し、手の位置の基準x0を現在の手の位置(例えば、手検出および追跡サブシステム516によって検出されるように)に設定し、滞留時間値tをt=0に設定する。CDゲインをデフォルトの初期設定に設定することにより、これは、新しいドラッグハンドジェスチャが開始されるたびに、ドラッグ状態がデフォルトのCDゲインレベルで始まることを意味する。ステップ1416の後、方法1400はステップ302に戻り、次のフレームを受信する。
1418において、ジェスチャ制御装置100がドラッグ状態を終了していないと判定したことに応答して(ステップ314で)、手検出および追跡サブシステム516は、現在の手の位置x1を判定し、滞留時間値tをt=t+Δtに増分し、Δtは2つの連続する受信フレーム間の時間である。ステップ1418の後、方法1400はステップ1420に進む。
1420において、CDゲインサブシステム570は、フレーム間で手が移動した距離を計算し、この計算された距離|x1-x0|を距離閾値εと比較する。|x1-x0|>εの場合、これは、手が最後のフレームでスピード閾値ε/Δtより速く移動したことを示し(すなわち、期間Δtにわたって)、方法1400はステップ1426に進む。|x1-x0|≦εである場合、これは手の静止挙動の一時停止を示し、方法1400はステップ1422に進む。
定数値εは、フレームレート(Δtを判定する)に基づいて、およびドラッグハンドジェスチャを実行する際のユーザの手の予想される動きのスピードに基づいて、選択され得る。ユーザがドラッグハンドジェスチャをゆっくりと動かすが一時停止を意図しないことによる偶発的なCDゲイン変化を防止するために、通常は、εの非常に小さい値が選択される。
1426において、手がスピード閾値より速く移動していることの検出に応答して、CDゲインサブシステム570は、滞留時間値tをt=0に再設定し、基準の手の位置x0を現在の手の位置値x1に再設定し、ステップ1434に進む。
1422において、CDゲインサブシステム570は、滞留時間値tを滞留時間閾値Tと比較する。t<Tである場合、手が意図的な一時停止を示すのに十分長い期間、滞留していないことを示し、方法1400はステップ302に戻って次のフレームを受信する。t≧Tである場合、手が意図的な一時停止を示すのに十分長い期間、滞留したことを示し、方法1400はステップ1424に進む。
1424において、意図的な一時停止(すなわち、滞留閾値Tよりも長い一時停止)の検出に応答して、CDゲインサブシステム570は、滞留時間値tをt=0に再設定し、基準の手の位置x0を現在の手の位置値x1に再設定し、ステップ1428に進む。
いくつかの実施形態では、デフォルトの初期CDゲインは中程度のCDゲイン設定であり、一時停止によってトリガされる新しいCDゲイン設定は、細かい制御を可能にする低CDゲイン設定(「精密モード」とも呼ばれる)である。第2の一時停止は、初期デフォルトの中程度のCDゲイン設定に戻る。
したがって、1428において、CDゲインサブシステム570は、検出された一時停止に応答して、CDゲインの変化をトリガする。現在のCDゲイン設定が精密CDゲインモードである場合(すなわち、細かい制御を可能にする低CDゲインレベルまたは関数)、本方法はステップ1432に進み、ジェスチャ制御装置100を初期デフォルトCDゲイン設定に戻す。現在のCDゲイン設定が精密CDゲインモードでない場合(すなわち、現在のCDゲイン設定は初期デフォルトCDゲイン設定)、本方法はステップ1430に進み、ジェスチャ制御装置100を新しい低CDゲイン設定にする(すなわち、精密モード)。他の実施形態は、ステップ1430および1432に対して異なるCDゲイン設定を使用してもよいことが理解されよう。
ステップ1430または1432でCDゲイン設定が変更された後、方法1400はステップ302に戻って次のフレームを受信する。
CDゲイン調整300、1100、1300、1400の各方法は、スタンドアロンのCDゲイン調整方法として上述されているが、いくつかの実施形態は、記載された方法のうちの2つ以上を組み合わせてもよく、または異なる状況において上記方法の異なる変形または異なる組み合わせを使用してもよいことが理解されよう。例えば、ジェスチャ制御装置は、垂直ドラッグジェスチャを使用するオーディオ音量制御プロセスおよび水平ドラッグジェスチャを使用するビデオスクラブプロセスを有してもよい。第1の実施形態では、オーディオ音量制御プロセスは、一般化ロジスティック関数のためのパラメータの第1のセットを有する速度ベースの方法300を使用してもよく、ビデオスクラブプロセスは、一般化ロジスティック関数のためのパラメータの第2のセットを有する速度ベースの方法300を使用してもよい。第2の実施形態では、オーディオ音量制御プロセスは速度ベースの方法300を使用してもよく、ビデオスクラブプロセスは向きベースの方法1300を使用してもよい。第3の実施形態では、オーディオ音量制御プロセスは、速度ベースの方法300を使用してもよく、異なる一般化ロジスティック関数1062、1064、1066、1068は、位置ベースの方法1100に基づいて選択される。第4の実施形態では、オーディオ音量制御プロセスは、手の位置もしくは手の向き、または位置と向きの何らかの重み付けされた組み合わせを使用してCDゲインを調整することができるような、向きベースの方法1300と組み合わせた位置ベースの方法1100を使用してもよい。第5の実施形態では、オーディオ音量制御プロセスは、ユーザがCDゲイン変更をトリガするために手の向きを変更することができる間、滞留閾値を超える一時停止がCDゲイン調整状態をトリガするような、一時停止ベースの方法1400と組み合わされた向きベースの方法1300を使用してもよい。手がドラッグ動作に関与している場合、ハンドジェスチャの向きは無視される。第6の実施形態では、オーディオ音量制御プロセスは、ユーザが手の位置(例えば、垂直ドラッグ動作に直交する水平位置)を変更してCDゲイン変更をトリガする間、滞留閾値を超える一時停止がCDゲイン調整状態をトリガするような、一時停止ベースの方法1400と組み合わされた位置ベースの方法1100を使用してもよい。手がドラッグ動作に関与している場合、CDゲイン変更の目的でハンドジェスチャの(例えば、水平)位置は無視される。理解されるように、他の組み合わせまたは変形が可能である。
一般
本開示は、特定の順序のステップで方法およびプロセスを説明しているが、方法およびプロセスの1つ以上のステップは、必要に応じて省略または変更することができる。必要に応じて、説明されている順序以外の順序で、1つまたは複数のステップを実行してもよい。
本開示は、少なくとも部分的に方法に関して記載されているが、当業者は、本開示がまた、ハードウェア構成要素、ソフトウェア、またはその2つの任意の組み合わせによる、記載された方法の態様および特徴の少なくともいくつかを実行するための様々な構成要素を対象としていることを理解されよう。したがって、本開示の技術的解決策はソフトウェア製品の形態で具体化され得る。適切なソフトウェア製品は、例えば、DVD、CD-ROM、USBフラッシュディスク、リムーバブルハードディスク、または他の記憶媒体を含む、事前に記録された記憶装置または他の類似の不揮発性のもしくは非一時的なコンピュータ可読媒体に記憶され得る。ソフトウェア製品は、処理装置(例えば、パーソナルコンピュータ、サーバ、またはネットワーク装置)が本明細書で開示される方法の例を実施することを可能にする、有形に記憶された命令を含む。
本開示は、特許請求の範囲の主題から逸脱することなく、他の特定の形態で具現化されてよい。記載の例示的な実施形態は、あらゆる点で例示にすぎず限定ではないと見なされるべきである。上記の実施形態の1つ以上から選択された特徴は、明示的に記載されていない代替実施形態を形成するために組み合わされてもよく、このような組み合わせに適した特徴は本開示の範囲内で理解される。
開示の範囲内のすべての値および部分範囲も開示されている。また、本明細書で開示および図示されたシステム、装置およびプロセスは特定の数の要素/構成要素を含み得るが、それらのシステム、装置およびアセンブリを、追加のまたはより少数のそのような要素/構成要素を含むように変更することもできる。例えば、開示の要素/構成要素のいずれかが単数であるものとして言及されている場合もあるが、本明細書で開示された実施形態を、複数のそのような要素/構成要素を含むように変更することもできる。本明細書で開示された主題は、あらゆる適切な技術の変化を網羅および包含することを意図している。
10 ユーザ
20 視野(FOV)
30 オープンハンド形状、オープンハンドジェスチャ
32 握り拳(またはクローズハンド)形状、握り拳のジェスチャ
34 ピンチオープン形状、ピンチオープンジェスチャ
36 ピンチクローズ形状、ピンチクローズジェスチャ
38 「ミュート」(または「無音」)の形状、ピンチクローズハンド形状
40 「気に入る」(または「承認」)の形状
42 「その他」(または「次」)の形状
44 「タッチ」(または「選択」)の形状
46 位置
48 位置
100 ジェスチャ制御装置
102 カメラ
104 ディスプレイ
202 プロセッサ
204 入力/出力(I/O)インターフェース
206 ネットワークインターフェース
208 メモリ
300 方法
500 ジェスチャ検知システム
504 ジェスチャデータ
516 手検出および追跡サブシステム
520 ジェスチャ分類サブシステム
522 手形状分類サブシステム、ジェスチャ認識サブシステム
560 表示サブシステム
562 ユーザフィードバックサブシステム
570 制御表示ゲインサブシステム
600 手検出および追跡方法
700 ジェスチャ分類方法
802 中立状態
804 スワイプ準備状態
806 スワイプ状態
808 ピンチ準備状態
810 ピンチ作動状態
812 垂直ドラッグ状態
814 水平ドラッグ状態
1000 第1のグラフ
1010 第1の制御表示(CD)ゲインレベル
1012 第2のCDゲインレベル
1014 第3のCDゲインレベル
1020 CDゲイン
1022 ドラッグハンドジェスチャのスピード
1030 第2のグラフ
1032 第1のCDゲイン関数
1034 第2のCDゲイン関数
1036 第3のCDゲイン関数
1060 第3のグラフ
1062 第1のCDゲイン関数
1064 第2のCDゲイン関数
1066 第3のCDゲイン関数
1068 第4のCDゲイン関数
1100 方法
1202 第1の向き
1204 中間位置
1206 第2の向き
1212 円弧
1214 上方位置
1216 水平位置
1218 下方位置
1300 方法
1400 方法

Claims (29)

  1. ジェスチャ制御装置の制御表示ゲインを調整するための方法であって、前記制御表示ゲインはドラッグハンドジェスチャの移動量と前記ジェスチャ制御装置の表示画面上のポインタまたはカーソルの移動量との間の比率であり、
    フレームを処理して前記フレーム内の手の位置および形状を検出するステップと、
    前記手の位置および形状に基づいて、前記フレームのジェスチャデータを生成するステップと、
    前記フレームのジェスチャデータ、および1つまたは複数の以前のフレームのジェスチャデータに基づいて、前記手が前記ドラッグハンドジェスチャを実行していると判定するステップと、
    前記ドラッグハンドジェスチャを実行する前記手の特性を識別するステップと、
    前記ジェスチャ制御装置の制御表示ゲインを、前記識別された特性に基づいて判定された制御表示ゲインに調整するステップと、
    前記調整された制御表示ゲインを前記手の動きに適用して前記表示画面上のポインタまたはカーソルの動きおよび前記ジェスチャ制御装置の制御に変換するステップと、
    を含む、方法。
  2. 前記特性は、前記手の位置である、請求項1に記載の方法。
  3. 前記方法は、
    前記ジェスチャ制御装置がドラッグ状態にある間に、前記手の1つまたは複数の位置を含むキューに、前記手の位置を記憶するステップと、
    前記キューに記憶された前記手の1つまたは複数の位置に基づいて、第1の軸に対する前記手の動きを判定するステップと、
    前記制御表示ゲインを前記動きに適用してドラッグ制御出力値を生成するステップと、をさらに含み、
    前記制御表示ゲインは、前記第1の軸と直交する第2の軸に対する前記手の位置に基づいて判定される、
    請求項2に記載の方法。
  4. 前記手の位置を識別するステップは、前記手が前記フレームの第1の領域内に位置していると判定するステップを含み、
    前記制御表示ゲインは、前記第1の領域に対応する第1の制御表示ゲインである、
    請求項2または3に記載の方法。
  5. 前記特性は、基準の向きに対する前記手の向きである、請求項1記載の方法。
  6. 前記手の向きは、前記基準の向きに対する前記手の角度を含む、請求項5に記載の方法。
  7. 前記手の角度は、垂直面に対して測定される、請求項6に記載の方法。
  8. 前記手の向きを識別するステップは、前記手の角度が第1の角度と第2の角度との間に定義された第1の角度範囲内にあると判定するステップを含み、
    前記制御表示ゲインを調整するステップは、前記制御表示ゲインを前記第1の角度範囲に対応する第1の制御表示ゲインに調整するステップを含む、
    請求項6または7に記載の方法。
  9. 前記特性は、前記手の速度である、請求項1に記載の方法。
  10. 前記手の速度を識別するステップは、
    前記手の位置を判定するステップと、
    前記ジェスチャ制御装置がドラッグ状態にある間に、前記手の1つまたは複数の位置を含むキューに、前記手の位置を記憶するステップと、
    前記キューに記憶された前記手の1つまたは複数の位置に基づいて、前記手の速度を判定するステップと、を含み、
    前記制御表示ゲインを調整するステップは、
    前記速度が、少なくとも滞留時間閾値の間、速度閾値を下回り、かつ、前記ジェスチャ制御装置が複数の制御表示ゲイン状態のうちの第1の制御表示ゲイン状態にある、との判定に応答して、
    前記ジェスチャ制御装置を、前記複数の制御表示ゲイン状態のうちの第2の制御表示ゲイン状態にするステップと、
    前記制御表示ゲインを、前記第2の制御表示ゲイン状態に対応する制御表示ゲインに調整するステップと、を含む、
    請求項9に記載の方法。
  11. 前記手の速度を識別するステップは、
    前記手の位置を判定するステップと、
    前記ジェスチャ制御装置がドラッグ状態にある間に、前記手の1つまたは複数の位置を含むキューに、前記手の位置を記憶するステップと、
    前記キューに記憶された前記手の1つまたは複数の位置に基づいて、前記手の速度を判定するステップと、を含み、
    前記制御表示ゲインは、前記手の速度に依存する関数に従って判定される、
    請求項9に記載の方法。
  12. 前記速度に依存する関数は、線形関数である、請求項10または11に記載の方法。
  13. 前記速度に依存する関数は、一般化ロジスティック関数である、請求項10または11に記載の方法。
  14. ジェスチャ制御装置であって、
    プロセッサ装置と、
    表示画面と、
    前記プロセッサ装置
    フレームを処理して前記フレーム内の手の位置および形状を検出するステップと
    前記手の位置および形状に基づいて、前記フレームのジェスチャデータを生成するステップと
    前記フレームのジェスチャデータ、および1つまたは複数の以前のフレームのジェスチャデータに基づいて、前記手がドラッグハンドジェスチャを実行していると判定するステップと
    前記ドラッグハンドジェスチャを実行する前記ジェスチャ制御装置のユーザの手の特性を識別するステップと
    前記ジェスチャ制御装置の制御表示ゲインであって、前記ドラッグハンドジェスチャの移動量と前記表示画面上のポインタまたはカーソルの移動量との間の比率である制御表示ゲインを、前記識別された特性に基づいて判定された制御表示ゲインに調整するステップと
    前記調整された制御表示ゲインを前記手の動きに適用して前記表示画面上のポインタまたはカーソルの動きおよび前記ジェスチャ制御装置の制御に変換するステップと、
    を実行させる機械実行可能命令を記憶するメモリと、
    を備える、ジェスチャ制御装置。
  15. 前記特性は、前記手の位置である、請求項14に記載のジェスチャ制御装置。
  16. 前記機械実行可能命令は、前記プロセッサ装置に、
    前記ジェスチャ制御装置がドラッグ状態にある間に、前記手の1つまたは複数の位置を含むキューに、前記手の位置を記憶するステップと、
    前記キューに記憶された前記手の1つまたは複数の位置に基づいて、第1の軸に対する前記手の動きを判定するステップと、
    前記制御表示ゲインを前記動きに適用してドラッグ制御出力値を生成するステップと、をさらに実行させ
    前記制御表示ゲインは、前記第1の軸と直交する第2の軸に対する前記手の位置に基づいて判定される、
    請求項15に記載のジェスチャ制御装置。
  17. 前記手の位置を識別するステップは、前記手が前記フレームの第1の領域内に位置していると判定するステップを含み、
    前記制御表示ゲインは、前記第1の領域に対応する第1の制御表示ゲインである、
    請求項15または16に記載のジェスチャ制御装置。
  18. 前記特性は、基準の向きに対する前記手の向きである、請求項14に記載のジェスチャ制御装置。
  19. 前記手の向きは、前記基準の向きに対する前記手の角度を含む、請求項18に記載のジェスチャ制御装置。
  20. 前記手の角度は、垂直面に対して測定される、請求項19に記載のジェスチャ制御装置。
  21. 前記手の向きを識別するステップは、前記手の角度が、第1の角度と第2の角度との間に定義された第1の角度範囲内にあると判定するステップを含み、
    前記制御表示ゲインを調整するステップは、前記制御表示ゲインを前記第1の角度範囲に対応する第1の制御表示ゲインに調整するステップを含む、
    請求項19または20に記載のジェスチャ制御装置。
  22. 前記特性が前記手の速度である、請求項14に記載のジェスチャ制御装置。
  23. 前記手の速度を識別するステップは、
    前記手の位置を判定するステップと、
    前記ジェスチャ制御装置がドラッグ状態にある間に、前記手の1つまたは複数の位置を含むキューに、前記手の位置を記憶するステップと、
    前記キューに記憶された前記手の1つまたは複数の位置に基づいて、前記手の速度を判定するステップと、を含み、
    前記制御表示ゲインを調整するステップは、
    前記速度が、少なくとも滞留時間閾値の間、速度閾値を下回り、かつ、前記ジェスチャ制御装置が複数の制御表示ゲイン状態のうちの第1の制御表示ゲイン状態にあるとの判定に応答して、
    前記ジェスチャ制御装置を、前記複数の制御表示ゲイン状態のうちの第2の制御表示ゲイン状態にするステップと、
    前記制御表示ゲインを、前記第2の制御表示ゲイン状態に対応する制御表示ゲインに調整するステップと、を含む、
    請求項22に記載のジェスチャ制御装置。
  24. 前記手の速度を識別するステップは、
    前記手の位置を判定するステップと、
    前記ジェスチャ制御装置がドラッグ状態にある間に、前記手の1つまたは複数の位置を含むキューに、前記手の位置を記憶するステップと、
    前記キューに記憶された前記手の1つまたは複数の位置に基づいて、前記手の速度を判定するステップと、を含み、
    前記制御表示ゲインは、前記手の速度に依存する関数に従って判定される、
    請求項22に記載のジェスチャ制御装置。
  25. 前記速度に依存する関数は、線形関数である、請求項23または24に記載の装置。
  26. 前記速度に依存する関数は、一般化ロジスティック関数である、請求項23または24に記載の装置。
  27. ジェスチャ制御装置のプロセッサ装置によって実行されるとき、前記プロセッサ装置に、
    フレームを処理して前記フレーム内の空中ジェスチャを実行する手の位置および形状を検出させ、
    前記手の位置および形状に基づいて、前記フレームのジェスチャデータを生成させ、
    前記フレームのジェスチャデータ、および1つまたは複数の以前のフレームのジェスチャデータに基づいて、前記ドラッグハンドジェスチャを実行している判定させ、
    前記ドラッグハンドジェスチャを実行する前記ジェスチャ制御装置のユーザの手の特性を識別させ、
    前記ジェスチャ制御装置の制御表示ゲインであって、前記ドラッグハンドジェスチャの移動量と前記ジェスチャ制御装置の表示画面上のポインタまたはカーソルの移動量との間の比率である制御表示ゲインを、前記識別された特性に基づいて判定された制御表示ゲインに調整させ
    前記調整された制御表示ゲインを前記手の動きに適用して前記表示画面上のポインタまたはカーソルの動きおよび前記ジェスチャ制御装置の制御に変換させる、
    機械実行可能命令が記憶された、プロセッサ可読媒体。
  28. ジェスチャ制御装置のプロセッサ装置によって実行されるとき、前記プロセッサ装置に、請求項2から13のいずれか一項に記載の方法のステップを行わせる機械実行可能命令が記憶された、プロセッサ可読媒体。
  29. コンピュータプログラムであって、前記コンピュータプログラムがコンピュータによって実行されるとき、請求項1から13のいずれか一項に記載の方法を前記コンピュータに行わせる命令を含む、コンピュータプログラム。
JP2022564806A 2020-04-26 2021-03-22 ジェスチャ制御電子装置の制御表示ゲインを調整するための方法および装置 Active JP7497458B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063015595P 2020-04-26 2020-04-26
US63/015,595 2020-04-26
US17/085,866 US11474614B2 (en) 2020-04-26 2020-10-30 Method and device for adjusting the control-display gain of a gesture controlled electronic device
US17/085,866 2020-10-30
PCT/CN2021/082032 WO2021218486A1 (en) 2020-04-26 2021-03-22 Method and device for adjusting the control-display gain of a gesture controlled electronic device

Publications (2)

Publication Number Publication Date
JP2023522777A JP2023522777A (ja) 2023-05-31
JP7497458B2 true JP7497458B2 (ja) 2024-06-10

Family

ID=78222219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022564806A Active JP7497458B2 (ja) 2020-04-26 2021-03-22 ジェスチャ制御電子装置の制御表示ゲインを調整するための方法および装置

Country Status (7)

Country Link
US (2) US11474614B2 (ja)
EP (1) EP4127879A4 (ja)
JP (1) JP7497458B2 (ja)
KR (1) KR20230002874A (ja)
CN (1) CN115427920A (ja)
BR (1) BR112022021679A2 (ja)
WO (1) WO2021218486A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11474614B2 (en) * 2020-04-26 2022-10-18 Huawei Technologies Co., Ltd. Method and device for adjusting the control-display gain of a gesture controlled electronic device
CN112527107B (zh) * 2020-11-30 2023-04-07 京东方科技集团股份有限公司 手势识别方法、装置、电子设备及存储介质
US11677899B2 (en) * 2021-03-29 2023-06-13 Lenovo (Singapore) Pte. Ltd. Intelligent video source selection
US11693482B2 (en) * 2021-05-28 2023-07-04 Huawei Technologies Co., Ltd. Systems and methods for controlling virtual widgets in a gesture-controlled device
US12105884B2 (en) * 2021-07-30 2024-10-01 Jadelynn Kim Dao Touchless, gesture-based human interface device
US11550406B1 (en) 2021-10-14 2023-01-10 Autodesk, Inc. Integration of a two-dimensional input device into a three-dimensional computing environment
US12067159B2 (en) * 2021-11-04 2024-08-20 Microsoft Technology Licensing, Llc. Multi-factor intention determination for augmented reality (AR) environment control
US20230315209A1 (en) * 2022-03-31 2023-10-05 Sony Group Corporation Gesture recognition on resource-constrained devices
CN118170258B (zh) * 2024-05-13 2024-08-06 湖北星纪魅族集团有限公司 点击操作方法及装置、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004246814A (ja) 2003-02-17 2004-09-02 Takenaka Komuten Co Ltd 指示動作認識装置
JP2013522797A (ja) 2010-03-24 2013-06-13 マイクロソフト コーポレーション 複数軸ナビゲーション
JP2013529802A5 (ja) 2011-05-30 2014-06-19
US20140201666A1 (en) 2013-01-15 2014-07-17 Raffi Bedikian Dynamic, free-space user interactions for machine control
CN105912126A (zh) 2016-04-26 2016-08-31 华南理工大学 一种手势运动映射到界面的增益自适应调整方法
JP2016534421A (ja) 2013-10-14 2016-11-04 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. ジェスチャ制御デバイス、方法、システム及び格納媒体
WO2018012206A1 (ja) 2016-07-12 2018-01-18 富士フイルム株式会社 画像表示システム、並びにヘッドマウントディスプレイの制御装置とその作動方法および作動プログラム
JP2018073290A (ja) 2016-11-02 2018-05-10 パナソニックIpマネジメント株式会社 機器制御装置、機器制御方法、およびプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6323846B1 (en) * 1998-01-26 2001-11-27 University Of Delaware Method and apparatus for integrating manual input
US8479122B2 (en) * 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US6424338B1 (en) * 1999-09-30 2002-07-23 Gateway, Inc. Speed zone touchpad
US7312785B2 (en) * 2001-10-22 2007-12-25 Apple Inc. Method and apparatus for accelerated scrolling
US7046230B2 (en) * 2001-10-22 2006-05-16 Apple Computer, Inc. Touch pad handheld device
US7728821B2 (en) 2004-08-06 2010-06-01 Touchtable, Inc. Touch detecting interactive display
KR100783552B1 (ko) * 2006-10-11 2007-12-07 삼성전자주식회사 휴대 단말기의 입력 제어 방법 및 장치
TW201042507A (en) * 2009-05-19 2010-12-01 Pixart Imaging Inc Interactive image system and operating method thereof
US9009594B2 (en) 2010-06-10 2015-04-14 Microsoft Technology Licensing, Llc Content gestures
US10088924B1 (en) * 2011-08-04 2018-10-02 Amazon Technologies, Inc. Overcoming motion effects in gesture recognition
US20130229345A1 (en) 2012-03-01 2013-09-05 Laura E. Day Manual Manipulation of Onscreen Objects
US8938124B2 (en) * 2012-05-10 2015-01-20 Pointgrab Ltd. Computer vision based tracking of a hand
US8904313B2 (en) * 2012-05-24 2014-12-02 International Business Machines Corporation Gestural control for quantitative inputs
US20140020166A1 (en) 2012-07-17 2014-01-23 Darrell Metcalf Valve-Controllable Urinal Drain Line and Plumbing Component Rinse Management System for Very Low Water and/or Non-Water Use Urinals
US11474614B2 (en) * 2020-04-26 2022-10-18 Huawei Technologies Co., Ltd. Method and device for adjusting the control-display gain of a gesture controlled electronic device
US11550406B1 (en) * 2021-10-14 2023-01-10 Autodesk, Inc. Integration of a two-dimensional input device into a three-dimensional computing environment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004246814A (ja) 2003-02-17 2004-09-02 Takenaka Komuten Co Ltd 指示動作認識装置
JP2013522797A (ja) 2010-03-24 2013-06-13 マイクロソフト コーポレーション 複数軸ナビゲーション
JP2013529802A5 (ja) 2011-05-30 2014-06-19
US20140201666A1 (en) 2013-01-15 2014-07-17 Raffi Bedikian Dynamic, free-space user interactions for machine control
JP2016534421A (ja) 2013-10-14 2016-11-04 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. ジェスチャ制御デバイス、方法、システム及び格納媒体
CN105912126A (zh) 2016-04-26 2016-08-31 华南理工大学 一种手势运动映射到界面的增益自适应调整方法
WO2018012206A1 (ja) 2016-07-12 2018-01-18 富士フイルム株式会社 画像表示システム、並びにヘッドマウントディスプレイの制御装置とその作動方法および作動プログラム
JP2018073290A (ja) 2016-11-02 2018-05-10 パナソニックIpマネジメント株式会社 機器制御装置、機器制御方法、およびプログラム

Also Published As

Publication number Publication date
EP4127879A4 (en) 2023-08-23
US20230013169A1 (en) 2023-01-19
US20210333884A1 (en) 2021-10-28
CN115427920A (zh) 2022-12-02
BR112022021679A2 (pt) 2023-01-17
US11474614B2 (en) 2022-10-18
US11809637B2 (en) 2023-11-07
JP2023522777A (ja) 2023-05-31
KR20230002874A (ko) 2023-01-05
EP4127879A1 (en) 2023-02-08
WO2021218486A1 (en) 2021-11-04

Similar Documents

Publication Publication Date Title
JP7497458B2 (ja) ジェスチャ制御電子装置の制御表示ゲインを調整するための方法および装置
US11269481B2 (en) Dynamic user interactions for display control and measuring degree of completeness of user gestures
JP2023517383A (ja) マルチユーザ環境でハンドジェスチャを用いて装置を制御する方法及びシステム
JP7447302B2 (ja) デバイスのハンドジェスチャベースの制御のための方法及びシステム
US11693482B2 (en) Systems and methods for controlling virtual widgets in a gesture-controlled device
WO2014113507A1 (en) Dynamic user interactions for display control and customized gesture interpretation
WO2022127478A1 (en) Methods and systems for multi-precision discrete control of user interface control element of gesture-controlled device
KR20180074124A (ko) 얼굴 인식을 통해 전자 장치를 제어하는 방법 및 이를 수행하는 전자 장치
US11693483B2 (en) Methods and systems of display edge interactions in a gesture-controlled device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240419

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240529

R150 Certificate of patent or registration of utility model

Ref document number: 7497458

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150