JP2016503220A - ジェスチャ認識のためのパーツ及び状態検出 - Google Patents

ジェスチャ認識のためのパーツ及び状態検出 Download PDF

Info

Publication number
JP2016503220A
JP2016503220A JP2015553773A JP2015553773A JP2016503220A JP 2016503220 A JP2016503220 A JP 2016503220A JP 2015553773 A JP2015553773 A JP 2015553773A JP 2015553773 A JP2015553773 A JP 2015553773A JP 2016503220 A JP2016503220 A JP 2016503220A
Authority
JP
Japan
Prior art keywords
image
state
label
parts
labels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2015553773A
Other languages
English (en)
Other versions
JP2016503220A5 (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2016503220A publication Critical patent/JP2016503220A/ja
Publication of JP2016503220A5 publication Critical patent/JP2016503220A5/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06V40/113Recognition of static hand signs
    • 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/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Image Analysis (AREA)

Abstract

ジェスチャ認識のためのパーツ及び状態検出は、人間とコンピュータとのインタラクション、コンピュータ・ゲーム、及びジェスチャがリアルタイムに認識される他の用途に有用である。様々な実施形態において、決定森分類器を使用して、パーツ・ラベル及び状態ラベルの両方により入力画像の画像要素をラベリングする。ここで、パーツ・ラベルは、指先、掌、手首、唇、ラップトップの蓋等の、変形しやすいオブジェクトのコンポーネントを識別し、状態ラベルは、開いている、閉じている、上げている、下げている、広げている、握り締めている等の、変形しやすいオブジェクトの形状を識別する。様々な実施形態において、パーツ・ラベルを使用して、身体パーツの重心を計算し、パーツ・ラベル、重心、及び状態ラベルを使用して、ジェスチャをリアルタイム又はほぼリアルタイムに認識する。

Description

人間とコンピュータとのインタラクション、コンピュータ・ゲーム、及び他の用途のためのジェスチャ認識は、正確且つリアルタイムに実現するのは難しい。人間の手を用いてなされるような多くのジェスチャは、細かいものであり、他のジェスチャと区別するのは難しい。また、ジェスチャの画像をキャプチャするために使用される機器は、ノイズを多く含み、エラーが発生しやすいものであり得る。
いくつかの従来手法は、ゲーム・プレーヤの画像内の身体パーツを識別し、次いで、別の段階において、身体パーツを使用して、プレーヤの骨格モデルを形成するために身体パーツの3D空間座標を計算していた。この手法は、集中的計算を要するものであり得、身体パーツ識別がロバストでない場合、エラーを発生させやすいものであり得る。例えば、身体パーツのオクルージョン(occlusion)が生じる場合、異常な関節角(joint angle)が生じる場合、又は、身体サイズ及び形状の変化に起因して等である。
他の従来手法は、記憶されたオブジェクトのテンプレートとマッチングするために画像をスケーリング及び回転させることにより、テンプレート・マッチング(template matching)を使用していた。このタイプの手法には、大きな計算能力及び記憶容量が伴う。
以下で説明する実施形態は、既知のジェスチャ認識システムの欠点のうちのいずれか又は全てを解決する実施例に限定されるものではない。
以下は、読者に基本的な理解を提供するために、本開示の簡略化した概要を提供する。この概要は、本開示の詳細な概要ではなく、主要な/重要な要素を特定するものではないし、あるいは本明細書の範囲を詳細に説明するものではない。その唯一の目的は、後に提供されるより詳細な説明の前段として、本明細書で開示するコンセプトのうち選択したものを簡略化した形で提供することである。
ジェスチャ認識のためのパーツ及び状態検出(part and state detection)は、人間とコンピュータとのインタラクション、コンピュータ・ゲーム、及びジェスチャがリアルタイムに認識される他の用途に有用である。様々な実施形態において、決定森分類器(decision forest classifier)を使用して、パーツ・ラベル及び状態ラベルの両方により入力画像の画像要素をラベリングする。ここで、パーツ・ラベルは、指先、掌、手首、唇、ラップトップの蓋等の、変形しやすいオブジェクトのコンポーネントを識別し、状態ラベルは、開いている、閉じている、上げている(up)、下げている(down)、広げている、握り締めている等の、変形しやすいオブジェクトの形状(configuration)を識別する。様々な実施形態において、パーツ・ラベルを使用して、身体パーツの重心を計算し、パーツ・ラベル、重心、及び状態ラベルを使用して、ジェスチャをリアルタイム又はほぼリアルタイムに認識する。
付随する特徴の多くは、添付の図面を参照して検討される以下の詳細な説明を参照することにより、より良く理解されるようになるにつれ、より容易に理解されるであろう。
本説明は、添付の図面を考慮して読まれる以下の詳細な説明から、より良く理解されるであろう。同様の参照符号は、添付の図面において同様の部分を示すために使用される。
従来のキーボード入力、空中ジェスチャ、及びキーボード上ジェスチャを用いてデスクトップ・コンピューティング・システムを操作するユーザの概略図。 図1のキャプチャ・システム及びコンピューティング・デバイスの概略図。 ジェスチャ認識の方法のフロー図。 トレーニング・データを生成するための装置の概略図。 ランダム決定森の概略図。 ランダム決定木の葉ノードにおいて記憶された1つの確率分布の概略図。 ランダム決定木の葉ノードにおいて記憶された2つの確率分布の概略図。 パーツ及び状態を分類するための第1段階のランダム決定森及び第2段階のランダム決定森の概略図。 テスト時間にトレーニングされたランダム決定森を使用する方法のフロー図。 ランダム決定森をトレーニングする方法のフロー図。 ジェスチャ認識システムの実施形態を実装することができる例示的なコンピューティングベースのデバイスを示す図。
添付の図面に関連して以下で提供される詳細な説明は、本例の説明として意図されるものであり、本例を構成又は利用することができる唯一の形を表すよう意図されるものではない。本説明は、本例の機能と、本例を構成して動作させるステップのシーケンスと、を記載する。しかしながら、同じ又は同等の機能及びシーケンスが、異なる例により実現されてもよい。
人間の手のためのパーツ及び状態認識システム(part and state recognition system)において実施されるものとして、本例について本明細書で説明及び例示するが、説明するシステムは、一例として提供されるものであり、限定として提供されるものではない。当業者は、本例が、様々な異なるタイプのパーツ及び状態認識システムにおけるアプリケーションに対して適切であることが理解されよう。そのようなパーツ及び状態認識システムは、身体全体によるジェスチャ認識システム(fully body gesture recognition system)、手及び腕によるジェスチャ認識システム(hand and arm gesture recognition system)、顔によるジェスチャ認識システム(facial gesture recognition system)、及び、多関節オブジェクト(articulated object)、変形しやすいオブジェクト、又は静的オブジェクトのパーツ及び状態を認識するためのシステムを含むが、これらに限定されるものではない。認識されるべきジェスチャを行うエンティティは、人間、動物、植物、又は、ラップトップ・コンピュータ等の(生きていても生きていなくてもよい)他のオブジェクトであり得る。
パーツ及び状態両方の画像の画像要素を分類するためにトレーニングされるランダム決定森(random decision forest)を含むパーツ及び状態認識システムについて説明する。例えば、人間の手及び前腕の奥行き画像のライブ・ビデオ・フィード(live video feed)をリアルタイムに処理して、指先、掌、手首、前腕等のパーツを検出するとともに、握り締めている、広げている、上げている、下げている等の状態を検出する。いくつかの例において、パーツ・ラベル及び状態ラベルが、トレーニングされた森(trained forest)により、同時に割り当てられる。図1を参照してこれより説明するコンピューティングベースのデバイスを制御するためのジェスチャ認識システムの一部として、これを使用することができる。しかしながら、これは一例に過ぎない。パーツ及び状態認識機能は、他のタイプのジェスチャ認識のために使用されてもよいし、形状を変え得るラップトップ・コンピュータ等のオブジェクトのパーツ及び状態を認識するために使用されてもよいし、視点に対して向きを変え得る静的オブジェクトのパーツ及び状態を認識するために使用されてもよい。
まず図1を参照すると、図1は、コンピューティングベースのデバイス102を制御するための例示的な制御システム100を示している。この例において、制御システム100により、従来の入力デバイス(例えば、マウス及びキーボード)及び手のジェスチャによってコンピューティングベースのデバイス102を制御することが可能となる。サポートされる手のジェスチャは、タッチ・ハンド・ジェスチャ(touch hand gesture)であってもよいし、フリーエアー・ジェスチャ(free-air gesture)であってもよいし、それらの組合せであってもよい。「タッチ・ハンド・ジェスチャ」は、表面に接触している間の、片手又は両手の任意の予め定められた動きである。表面は、タッチ・センサを含んでもよいし、含まなくてもよい。「フリーエアー・ジェスチャ」は、片手又は両手が表面に接触していないときの、空中における片手又は両手の任意の予め定められた動きである。
両制御モードを統合することにより、ユーザは、使用しやすい形で、制御モードの各々の利点を経験する。詳細には、多くのコンピューティングベースのデバイス102のアクティビティ、特に、文書作成、コーディング、プレゼンテーション作成、又はグラフィック・デザイン・タスク等の、広範囲に及ぶ作成(extensive authoring)、編集、又は細かい操作を要するアクティブティは、従来の入力デバイス(例えば、マウス及びキーボード)に合わせられている。しかしながら、モード切り替え、ウィンドウ及びタスク管理、メニュー選択、並びに、ショートカット・キー及び修飾キー又はコンテキスト・メニューにオフロードされる所定のタイプのナビゲーション等、タッチ・ハンド・ジェスチャ及び/又はフリーエアー・ハンド・ジェスチャ等の他の制御手段を用いてより容易に実施することができる、これらのタスクの要素が存在する。
図1に示すコンピューティングベースのデバイス102は、別個のプロセッサ・コンポーネント104及びディスプレイ・スクリーン106を有する従来のデスクトップ・コンピュータである。しかしながら、本明細書で説明する方法及びシステムは、プロセッサ・コンポーネント104及びディスプレイ・スクリーン106が、例えば、ラップトップ・コンピュータ又はタブレット・コンピュータ内に統合されるコンピューティングベースのデバイス102に等しく適用され得る。
制御システム100は、コンピューティングベースのデバイス102と通信する、ユーザが従来の手段を介してコンピューティングベースのデバイス102を制御することを可能にする、キーボード等の入力デバイス108と、環境内の基準オブジェクト(例えば、入力デバイス108)に対するユーザの手の位置及び動きを検出するためのキャプチャ・デバイス110と、キャプチャ・デバイス110から得られた情報を解釈してコンピューティングベースのデバイス102を制御するためのソフトウェア(図示せず)と、をさらに備える。いくつかの例において、キャプチャ・デバイス110からの情報を解釈するためのソフトウェアの少なくとも一部は、キャプチャ・デバイス110に統合される。他の例において、ソフトウェアは、コンピューティングベースのデバイス102に統合される、あるいはコンピューティングベースのデバイス102上にロードされる。他の例において、ソフトウェアは、例えば、インターネットを介してコンピューティングベースのデバイス102と通信する別のエンティティに配置される。
図1において、キャプチャ・デバイス110は、上部に設けられ、ユーザの作業面112に対するよう下方を向いている。しかしながら、他の例において、キャプチャ・デバイス110は、基準オブジェクト(例えば、キーボード)内又は基準オブジェクト上に設けられてもよいし、あるいは環境内の別の適切なオブジェクト内又は別の適切なオブジェクト上に設けられてもよい。
動作中、コンピューティングベースのデバイス102により実行されているアプリケーションを制御するために使用することができるタッチ・ハンド・ジェスチャ及び/又はフリーエアー・ジェスチャとして、ユーザの手の位置及び動きが、コンピューティングベースのデバイス102(及び/又は、キャプチャ・デバイス110)により解釈され得るように、ユーザの手は、キャプチャ・デバイス110を用いて、基準オブジェクト(例えば、キーボード)に対して追跡され得る。結果として、従来の入力デバイス(例えば、キーボード及びマウス)を介してコンピューティングベースのデバイス102を制御することができることに加えて、ユーザは、基準オブジェクト(例えば、キーボード)上又は基準オブジェクトの上方で、自分の手を予め定められた形又はパターンで動かすことにより、コンピューティングベースのデバイス102を制御することができる。
したがって、図1の制御システム100は、基準オブジェクト(例えば、キーボード)へのタッチ及び基準オブジェクト周辺のタッチに加えて、基準オブジェクト上方のフリーエアー・ジェスチャも認識することができる。
次に図2を参照すると、図2は、図1の制御システム100において使用することができるキャプチャ・デバイス110の概略図を示している。図2におけるキャプチャ・デバイス110の位置は、一例に過ぎない。上方を向いたデスクトップ上、又は他の位置等、キャプチャ・デバイスの他の位置が使用されてもよい。キャプチャ・デバイス110は、ユーザの手の画像のストリームをキャプチャするための少なくとも1つの撮像センサ202を備える。撮像センサ202は、奥行きカメラ、RGBカメラ、シルエット画像(silhouette image)をキャプチャ又は生成する撮像センサのうちの1以上とすることができる。ここで、シルエット画像は、オブジェクトのプロファイル(profile)を表す。撮像センサ202は、シーンの奥行き情報をキャプチャするよう構成された奥行きカメラとすることができる。奥行き情報は、奥行き値を含む奥行き画像の形態であり得る。奥行き値は、すなわち、奥行きカメラと各画像要素により表されるアイテム又はオブジェクトとの間の距離に関連する奥行き画像のその各画像要素に関連付けられた値である。
奥行き情報は、例えば、飛行時間、構造化光(structured light)、立体画像(stereo image)等を含む任意の適切な技術を用いて取得することができる。
キャプチャされた奥行き画像は、キャプチャされたシーンの2次元(2−D)領域を含み得る。ここで、2−D領域内の各画像要素は、撮像センサ202からの、キャプチャされたシーンにおけるオブジェクトの長さ又は距離等の奥行き値を表す。
場合によっては、奥行き情報を生成するために分解することができるビジュアル立体データ(visual stereo data)が取得されるように、撮像センサ202は、異なる角度からシーンを見る物理的に分離された2以上のカメラの形態であってもよい。
キャプチャ・デバイス110はまた、撮像センサ202により奥行き情報を確認することができるようなやり方でシーンを照らすよう構成されたエミッタ204を備えることができる。
キャプチャ・デバイス110はまた、撮像センサ202(例えば、奥行きカメラ)及びエミッタ204(存在する場合には)と通信する少なくとも1つのプロセッサ206を備えることができる。プロセッサ206は、汎用マイクロプロセッサであってもよいし、専用信号/画像プロセッサであってもよい。プロセッサ206は、奥行き画像をキャプチャするために命令を実行して撮像センサ202及びエミッタ204(存在する場合には)を制御するよう構成される。プロセッサ206は、任意的に、以下でより詳細に概説されるそのような画像及び信号に対する処理を実行するよう構成されてもよい。
キャプチャ・デバイス110はまた、プロセッサ206による実行のための命令、撮像センサ202によりキャプチャされた画像若しくはフレーム、又は任意の適切な情報、画像等を記憶するよう構成されたメモリ208を備えることができる。いくつかの例において、メモリ208は、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、キャッシュ、フラッシュ・メモリ、ハード・ディスク、又は任意の他の適切な記憶コンポーネントを含み得る。メモリ208は、プロセッサ206と通信する別個のコンポーネントであってもよいし、プロセッサ206に統合されてもよい。
キャプチャ・デバイス110はまた、プロセッサ206と通信する出力インタフェース210を備えることができる。出力インタフェース210は、通信リンクを介してコンピューティングベースのデバイス102にデータを供給するよう構成される。通信リンクは、例えば、有線接続(例えば、USB、Firewire(登録商標)、Ethernet(登録商標)、又は同様のもの)であってもよいし、且つ/あるいは、無線接続(例えば、WiFi(登録商標)、Bluetooth(登録商標)、又は同様のもの)であってもよい。他の例において、出力インタフェース210は、1以上の通信ネットワーク(例えば、インターネット)とインタフェースを取ることができ、そのようなネットワークを介してコンピューティングベースのデバイス102にデータを供給することができる。
コンピューティングベースのデバイス102は、ジェスチャ認識に関連する1以上の機能を実行するよう構成されているジェスチャ認識エンジン212を備えることができる。ジェスチャ認識エンジンにより実行され得る例示的な機能については、図3を参照して説明する。例えば、ジェスチャ認識エンジン212は、キャプチャ・デバイス110によりキャプチャされた画像の各画像要素(例えば、ピクセル)を、突出する変形しやすいオブジェクト・パーツ(例えば、指先、手首、掌)及び状態(例えば、上げている、下げている、開いている、閉じている、指し示している)として分類するよう構成され得る。状態、パーツ、及び任意的にそのパーツの重心が、セマンティックなジェスチャ認識のための基礎として、ジェスチャ認識エンジン212により使用され得る。この分類手法は、格段に単純化されたジェスチャ認識エンジン212をもたらす。例えば、これにより、予め定められた数の画像の特定のオブジェクト状態又はオブジェクト状態間の遷移を探すことによって、いくつかのジェスチャを認識することが可能となる。
アプリケーション・ソフトウェア214がまた、コンピューティングベースのデバイス102上で実行され、入力デバイス108(例えば、キーボード)から受信された入力と、ジェスチャ認識エンジン212の出力(例えば、検出されたタッチ・ハンド・ジェスチャ及びフリーエアー・ハンド・ジェスチャ)と、を用いて制御され得る。
図3は、ジェスチャ認識の方法のフロー図である。この方法の少なくとも一部は、図2のジェスチャ認識エンジン212において実行され得る。少なくとも1つのトレーニングされたランダム決定森304(又は、他の分類器)は、ジェスチャ認識エンジン212がアクセス可能である。ランダム決定森304は、オフライン・プロセス302で作成及びトレーニングされ得、コンピューティングベースのデバイス102、クラウド内の任意の他のエンティティ、又はコンピューティングベースのデバイス102と通信するどこかに記憶され得る。ランダム決定森304は、パーツ・ラベル及び状態ラベル310の両方により入力画像308の画像要素をラベリングするためにトレーニングされる。ここで、パーツ・ラベルは、指先、掌、手首、唇、ラップトップの蓋等の、変形しやすいオブジェクトのコンポーネントを識別し、状態ラベルは、開いている、閉じている、広げている、握り締めている等の、オブジェクトの形状、又は、上げている、下げている等の、オブジェクトの向きを識別する。画像要素は、ピクセル、ピクセルのグループ、ボクセル、ボクセルのグループ、ブロブ、パッチ、又は画像の他のコンポーネントとすることができる。ランダム決定森304は、単一スレッド実装における従来のコンピューティング・ハードウェアを用いたとしても、計算上コストがかからず、図1のキャプチャ・デバイス110からのライブ・ビデオ・フィードに対してリアルタイム又はほぼリアルタイムに実行することができる高速且つ単純な方法で、パーツ・ラベル及び状態ラベルの両方を提供する。また、パーツ・ラベルを、高速且つ正確なプロセスにおいて使用して、各パーツについての重心を計算することができる。これにより、オブジェクト・パーツの3D位置を取得することが可能となる。
状態ラベル、パーツ・ラベル、及び重心が、ジェスチャ検出システム312に入力され得る。ジェスチャ検出システム312は、以前のジェスチャ検出システムと比較すると、ジェスチャ検出システム312が扱う入力の性質のため、格段に単純化される。例えば、そのような入力により、予め定められた数の画像の特定のオブジェクト状態又はオブジェクト状態間の遷移を探すことによって、いくつかのジェスチャを認識することが可能となる。
上述したように、ランダム決定森304は、オフライン・プロセス302でトレーニングされ得る。トレーニング画像300が使用される。トレーニング画像をどのように取得することができるかについてのさらなる詳細は、図4を参照して提供される。ランダム決定森をトレーニングする方法についての詳細は、図10を参照して、本文書の後の方で提供される。
コンピュータにより実施されるトレーニング・データ生成器414は、トレーニング画像とも呼ばれるグラウンド・トゥルース・ラベル付き画像(ground truth labeled image)400を生成及び記録する。グラウンド・トゥルース・ラベル付き画像400は、多くの画像のペアを含み得る。各ペア422は、オブジェクトの画像424と、その画像のラベル付きバージョンと、を含む。ここで、関連画像要素(前景画像要素等)は、パーツ・ラベルを含み、画像要素の少なくともいくつかはまた、状態ラベルを含む。画像のペア402の一例が、図4において概略的に示されている。画像のペア402は、手の画像404と、その画像のラベル付きバージョン406と、を含み、画像のラベル付きバージョン406は、第1のラベル値を取る指先408と、第2のラベル値を取る手首412と、第3のラベル値を取る手の残りのパーツ410と、を含む。トレーニング画像内に表されるオブジェクト及び使用されるラベルは、アプリケーション・ドメイン(application domain)に応じて変わり得る。オブジェクトと、そのようなオブジェクトの形状及び向きと、のトレーニング画像における様々な例は、アプリケーション・ドメイン、ストレージ、及び利用可能なコンピューティング・リソースに応じて、できるだけ広い。
トレーニング画像のペアは、コンピュータ・グラフィックス技術を用いて、合成的に生成され得る。例えば、コンピュータ・システム416は、オブジェクトの仮想3Dモデル418及びレンダリング・ツール420にアクセスする。仮想3Dモデルを用いると、レンダリング・ツール420は、異なる状態の仮想3Dモデルの複数の画像を生成するとともに、状態及びパーツのためにラベリングされる、レンダリングされる画像のバージョンを生成するよう構成され得る。例えば、人間の手の仮想3Dモデルは、異なるユーザ及びジェスチャのスタイルに対応するために、ランダム決定森が分類すべき様々な別個の状態で、且つ、骨の長さや外周等の関節角の構成及び外観の点でわずかなランダムなバリエーションを有して配置される。3Dモデルの2Dレンダリングは、多くの異なる妥当な視点から自動的に生成され得る。レンダリングの1つのセットは、キャプチャされた画像が奥行き画像である場合、合成奥行き画像(synthetic depth image)であり得る。レンダリングの別のセットは、ラベル付きデータにより質感を持たせた3Dモデルを用いて生成され得る。ここで、指、前腕、及び掌は、色が付けられ、掌領域の色は、現在の手の状態に基づいて決定される。これは、ラベル付きの手のパーツを含む複数の奥行き画像をもたらす。ここで、掌を表す画像要素も、状態のためにラベリングされる。手全体又は掌及び指等の掌以外の他の領域が、状態のために使用され得る。掌を表す画像要素も状態のためにラベリングされるここで説明した例は、一例に過ぎない。
トレーニング画像のペアは、コンピュータにより実施される画像キャプチャ・ラベリング・コンポーネント428からの現実画像を含み得る。例えば、オブジェクト上のセンサを使用して、その形状及び向きを追跡し、そのパーツをラベリングすることができる。手のジェスチャの場合、デジタル・グローブ430が、システムにより検出されるべきジェスチャを行うために自分の手を動かすユーザにより装着され得る。デジタル・グローブ430により感知されたデータを使用して、カメラによりキャプチャされた画像をラベリングすることができる。
いくつかの例において、モーション・キャプチャ・デバイス432を使用して、オブジェクトの動きを記録する。例えば、音響マーカ、慣性マーカ、磁気マーカ、発光マーカ、反射マーカ、又は他のマーカが、人間又は他の変形しやすいオブジェクトにより装着され、オブジェクトの形状及び向きの変化を追跡するために使用される。
合成画像の使用は、正確に注釈が付けられた画像(precisely annotated image)に有用であるが、合成画像が現実の手の実際の画像に正確にマッチすることを確実にすることは難しい。したがって、いくつかの例において、合成画像を用いることに加えて、現実オブジェクトの画像を用いると、システムの正確性を高めることができる。別のオプションは、合成ノイズ(synthetic noise)をレンダリングされる合成画像に付加することである。
図5は、3つのランダム決定木500、502、504を含むランダム決定森の概略図である。2以上のランダム決定木が使用され得る。この例では、明瞭さのため、3つのランダム決定木が示されている。ランダム決定木は、トレーニング・フェーズ中に蓄積されるデータを記憶するために使用される一種のデータ構造であり、これを使用して、ランダム決定木により以前には未確認の例について予測を行うことができるようにするものである。ランダム決定木は、汎化を実現するために(すなわち、森をトレーニングするために使用される例とは違う例について良好な予測を行うことができるように)、特定のアプリケーション・ドメインのためにトレーニングされるランダム決定木の集合(森と呼ばれる)の一部として、通常は使用される。ランダム決定木は、根ノード506と、複数の分岐ノード508と、複数の葉ノード510と、を有する。トレーニング中、木の構造(ノードの数、及びノードがどのように接続されるか)が、分岐ノードの各々において使用されるべき分岐関数とともに学習される。さらに、トレーニング中、データが、葉ノードにおいて蓄積される。トレーニング・プロセスについてのさらなる詳細は、図10を参照して以下で提供される。
本明細書で説明する例において、ランダム決定森は、パーツ・ラベル及び状態ラベルの両方により画像の画像要素をラベリング(又は、分類)するためにトレーニングされる。従来では、ランダム決定森は、パーツ・ラベル及び状態ラベルの両方によってではなく、パーツ・ラベルによって画像の画像要素を分類するために使用されていた。いくつかの理由のため、パーツ及び状態の両方により画像要素を分類するよう既存のランダム決定森システムを修正することは容易ではない。例えば、パーツ及び状態の可能な組合せの数は、通常、リアルタイム処理制約が存在する大抵のアプリケーション・ドメインにとって非常に大きい。非常に多くの可能な状態及びパーツの組合せが存在する場合、ランダム決定森をトレーニングするためにクラスとして状態及びパーツの外積を用いることは、計算上コストがかかる。
本明細書で説明する例では、単一フレームワークにおいて、個々のピクセルレベルのラベル(パーツ・ラベル)の使用と、全体画像レベルのラベル(状態ラベル)の使用と、を組み合わせることにより、ジェスチャ認識のための、高速且つ効果的な、画像のパーツ及び状態のラベリングが可能となる。
プロセスにおいて、根ノードから葉ノードへのランダム決定森の複数の木を通じて、画像の画像要素をプッシュすることができ、それにより、各分岐ノードにおいて決定がなされる。決定は、画像要素の特徴と、分岐ノードにおけるパラメータにより指定される空間オフセットだけ画像要素からずらされたテスト画像要素の特徴と、に従ってなされる。分岐ノードにおいて、画像要素は、決定の結果に従って選択された分岐を下がって木の次のレベルに進む。ランダム決定森は、以下でより詳細に説明する回帰(regression)又は分類を使用することができる。トレーニング中、(フィーチャとも呼ばれる)パラメータ値が、分岐ノードにおける使用のために学習され、パーツ及び状態ラベルの投票(vote)を含むデータが、葉ノードにおいて蓄積される。
トレーニング中に葉ノードにおいて蓄積された全てのデータを記憶することは、大量のメモリを要し得る。というのは、実際的な用途のために、大量のトレーニング・データが通常使用されるからである。いくつかの実施形態において、データは、コンパクトな形で記憶され得るように、集約される。様々な異なる集約プロセスが使用され得る。
決定木tの各葉ノードは、パーツ及び状態cに対する学習済み確率分布P(c|u)を記憶することができる。次いで、このような分布が、以下の式に示す最終分布に達するために、複数の木にわたって(例えば、平均することにより)集約され得る。
Figure 2016503220
ここで、P(c|u)は、画像要素がどの手のパーツに属するかと、これがどの手の状態を符号化するかと、の画像要素ごとの投票として解釈される。Tは、森における木の総数である。
テスト時間において、以前には未確認の画像が、その画像要素をラベリングするために、トレーニングされた森に入力される。入力画像の各画像要素が、トレーニングされたランダム決定森の各木を介して送られ得、データが葉から取得される。このように、パーツ及び状態ラベルの投票が、各画像要素を、学習された空間オフセットだけ各画像要素からずらされたテスト画像要素と比較することにより、なされ得る。こうした投票が、予測されるパーツ・ラベル及び状態ラベルを与えるために、様々な異なる集約方法に従って集約され得る。テスト時間プロセスは、したがって、予測されるパーツ・ラベル及び状態ラベルを直接取得するために、入力画像をトレーニングされたランダム決定森に適用する単一段階のプロセスであり得る。この単一段階のプロセスは、リアルタイム且つ高品質の結果を与えるために、高速且つ効果的に実行され得る。
上述したように、トレーニング中に葉ノードにおいて蓄積されたデータを記憶することは、大量のメモリを要し得る。というのは、実際的な用途のために、大量のトレーニング・データが通常使用されるからである。これは、特に、パーツ・ラベル及び状態ラベルの可能な組合せの数が多いものであり得るときにパーツ・ラベル及び状態ラベルの両方が予測されることになる場合である。したがって、いくつかの実施形態において、図6を参照してこれから説明するように、状態ラベルは、可能なパーツのサブセットに対して予測される。
図6は、1つのヒストグラムの形態で記憶される、葉ノード510において蓄積されたデータ600を示す、図5のランダム決定森のうちの1つの概略図である。ヒストグラムは、複数のビン(bin)を含み、各ビンについてのビン・カウント又は頻度を示している。この例において、ランダム決定木は、画像要素を、3つの可能なパーツと、4つの可能な状態ラベルと、に分類している。3つの可能なパーツは、手首、指先、及び掌である。4つの可能な状態は、上げている、下げている、開いている、及び閉じている、である。この例において、状態ラベルは、掌の画像要素について利用可能であり、他のパーツの画像要素については利用可能でない。例えば、これは、トレーニング・データが手の画像を含み、指、前腕、及び掌が色を付けられ、掌の色が現在の手の状態に基づいて変わるからである。状態ラベルが、パーツの全てについてではなく、少なくとも1つのパーツについて利用可能であるので、可能な組合せの数は低減され、データは、他の可能なものよりもコンパクトな形で記憶することができる。
図7は、2つのヒストグラムの形態で記憶される、葉ノード510において蓄積されたデータ700を示す、図5のランダム決定森のうちの1つの概略図である。一方のヒストグラムは、状態ラベル頻度を記憶し、他方のヒストグラムは、パーツ・ラベル頻度を記憶する。これにより、記憶容量に対する要求を過度に増大させることなく、図6の例よりも多くの組合せを表すことが可能となる。この状況において、トレーニング・データは、パーツの各々についての状態ラベルを含み得る。別のオプションは、状態ラベル及びパーツ・ラベルの全ての可能な組合せを表すために、各葉において1つのヒストグラムを使用することである。再度、トレーニング・データは、パーツの各々についての状態ラベルを含み得る。
図8は、第1段階のランダム決定森800を使用して、画像要素をパーツに分類しパーツ分類802を与える別の実施形態の概略図である。パーツ分類802を使用して、複数の第2段階のランダム決定森804、806、808のうちの1つを選択する。可能なパーツ分類(図8の例における手首、掌、指先等)のそれぞれについて、第2段階のランダム決定森が存在し得る。第2段階のランダム決定森が選択されると、テスト画像についての状態810の分類を得るために、テスト画像要素が、選択された第2段階の森に入力され得る。第1段階の森及び第2段階の森は、同じ画像を用いてトレーニングされ得るが、そのラベルは、第1段階及び第2段階についてのラベリング・スキームを反映するために異なる。
図9は、パーツ及び状態の両方のためにラベリングされたトレーニング画像を用いてトレーニングされた決定森を用いて、以前には未確認の画像におけるパーツ・ラベル及び状態ラベルを予測するためのプロセスのフローチャートを示している。トレーニング・プロセスについては、図10を参照して以下で説明する。まず、未確認の画像が受信される(900)。この画像は、すでに指定されたパーツ・ラベル及び状態ラベルを有するトレーニング画像と区別するために、「未確認」と呼ばれる。未確認の画像は、例えば、前景領域を識別する程度まで前処理することができ、これにより、決定森により処理されるべき画像要素の数が低減されることに留意されたい。しかしながら、前景領域を識別するための前処理は必須ではない。いくつかの例において、未確認の画像は、シルエット画像、奥行き画像、又は色画像である。
未確認の画像から画像要素が選択される(902)。決定森からトレーニングされた決定木もまた選択される(904)。選択された画像要素が、選択された決定木を通じてプッシュされ(906)、これが、ノードにおけるトレーニングされたパラメータに対してテストされ、次いで、テストの結果に応じて、適切な子に渡され、画像要素が葉ノードに達するまで、このプロセスが繰り返される。画像要素が葉ノードに達すると、この葉ノードに関連付けられた(トレーニング段階からの)蓄積されたパーツ及び状態ラベルの投票が、この画像要素のために記憶される(908)。パーツ及び状態ラベルの投票は、図6及び図7を参照して説明したヒストグラムの形態であってもよいし、別の形態であってもよい。
森においてさらなる決定木が存在すると判定された場合(910)、新たな決定木が選択され(904)、画像要素が木を通じてプッシュされ(906)、蓄積された投票が記憶される(908)。これは、森における全ての決定木について実行されるまで繰り返される。決定森における複数の木を通じて画像要素をプッシュするプロセスは、図9に示すように順番に実行される代わりに、並行して実行されてもよいことに留意されたい。
次いで、さらなる未解析の画像要素が、未確認の画像内に存在するかどうかが判定され(912)、未解析の画像要素が存在する場合、別の画像要素が選択されて、プロセスが繰り返される。未確認の画像内の全ての画像要素が解析されると、全ての画像要素について、パーツ及び状態ラベルの投票が得られる。
画像要素が、決定森における複数の木を通じてプッシュされるので、投票は蓄積する。所与の画像要素に関して、各画像要素についての全投票集約(overall vote aggregation)を形成するために、蓄積された投票が、森における複数の木にわたって集約される(914)。任意的に、投票のサンプルが、集約のために必要とされてもよい。例えば、N個の投票をランダムに選択して、あるいは、上位N個の重み付き投票を考慮することによりN個の投票を選択して、次いで、集約プロセスを、これらN個の投票にのみ適用してもよい。これは、速度とトレード・オフの関係にある正確性を可能にする。
パーツ・ラベル及び状態ラベルの少なくとも1つのセットが、次いで、出力され得る(916)。ここで、これらのラベルは、信頼重み付けされ得る(confidence weighted)。これは、任意の後続のジェスチャ認識アルゴリズム(又は、他のプロセス)が、この提案が良いか良くないかを評価するのを助ける。例えば、不確実さが存在する場合、パーツ・ラベル及び状態ラベルの2以上のセットが出力されてもよい。
各パーツについての重心が計算され得る(918)。例えば、これは、平均シフト・プロセス(mean shift process)を用いて各パーツについての重心を計算することにより達成され得る。他のプロセスを使用して、重心を計算してもよい。画像要素ごとの状態分類がまた、全ての関連画像要素にわたって集約され得る。例えば、関連画像要素は、上述した例における掌を表すものであり得る。画像要素ごとの状態分類の集約は、様々な方法により実行され得る。そのような方法には、掌(又は、他の関連領域)における各画像要素が、グローバル状態(global state)のために別個の投票を行うこと、各画像要素が、確立に基づいて、ソフトな(soft)(確率的)投票を行うこと、又は、一部の画像要素のみが、自身の投票について十分自信がある場合に、投票を行うことが含まれる。
図10は、パーツ・ラベル及び状態ラベルを画像の画像要素に割り当てるために、決定森をトレーニングするためのプロセスのフローチャートである。これはまた、画像の画像要素についてのパーツ及び状態ラベルの投票を生成するものと考えることができる。決定森は、図4を参照して上述したトレーニング画像のセットを用いてトレーニングされる。
図10を参照すると、決定木をトレーニングするために、上述したトレーニング・セットがまず受信される(1000)。ランダム決定森において使用されるべき決定木の数が選択される(1002)。ランダム決定森は、決定論的決定木(deterministic decision tree)の集合である。決定木は、分類アルゴリズム又は回帰アルゴリズムにおいて使用され得るが、過剰適合(over-fitting)、すなわち汎化できないこと(poor generalization)に悩まされ得る。しかしながら、多くのランダムにトレーニングされた決定木の集合(ランダム森)は、改善された汎化をもたらす。トレーニング・プロセス中、木の数は固定される。
トレーニング・プロセスを説明するために、以下の表記が使用される。画像I内の画像要素は、その座標x=(x,y)により定められる。森は、各木をインデックス付けするtを用いてΨ,...,Ψ,...,Ψと表されるT個の木から構成される。
動作中、各木の各根ノード及び各分岐ノードは、入力データに対してバイナリ・テストを実行し、その結果に基づいて、そのデータを左又は右の子ノードに向かわせる。葉ノードはいかなるアクションも実行しない。葉ノードは、蓄積されたパーツ及び状態ラベルの投票(と任意的に他の情報)を記憶する。例えば、蓄積された投票を表す確率分布が記憶され得る。
分岐ノードの各々により使用されるパラメータが選択される方法、及び葉ノードの確率がどのように計算され得るかについて、これより説明する。決定森から決定木(例えば、第1の決定木)が選択され(1004)、根ノードが選択される(1006)。トレーニング画像の各々からの画像要素の少なくともサブセットが、次いで、選択される(1008)。例えば、前景領域内の画像要素が選択されるように、画像がセグメント化され得る。
テスト・パラメータのランダム・セットが、次いで、候補フィーチャとして、根ノードにおいて実行されるバイナリ・テストによる使用のために生成される(1010)。一例において、バイナリ・テストは、ξ>f(x;θ)>τの形を取る。f(x;θ)は、パラメータθを含む画像要素xに適用される関数であり、この関数の出力が、閾値ξ及び閾値τと比較される。f(x;θ)の結果が、ξとτとの間の範囲にある場合、バイナリ・テストの結果は真である。そうでなければ、バイナリ・テストの結果は偽である。他の例において、f(x;θ)の結果が、閾値よりも大きい(あるいは、代替的に閾値よりも小さい)場合、バイナリ・テストの結果が真であるように、閾値ξ及び閾値τのうちの一方のみが使用されてもよい。ここで説明した例において、パラメータθは、画像のフィーチャを定める。
候補関数f(x;θ)は、テスト時間において利用可能である画像情報を使用できるだけである。関数f(x;θ)のパラメータθは、トレーニング中にランダムに生成される。パラメータθを生成するプロセスは、2次元変位又は3次元変位の形のランダムな空間オフセット値を生成することを含む。関数f(x;θ)の結果が、次いで、画像内の対象とする画像要素xからその空間オフセットだけずらされているテスト画像要素についての(奥行き画像の場合は奥行き、強度(intensity)、又は使用されている画像のタイプに応じた別の量等の)画像要素値を観測することにより計算される。空間オフセットは、任意的に、1/対象とする画像要素の量だけスケーリングすることにより評価されている量に対して不変となる。閾値ξ及び閾値τを使用して、テスト画像要素がパーツ・ラベル及び状態ラベルの特定の組合せを有するかどうかを判定することができる。
根ノード又は分岐ノードにおいて実行されたバイナリ・テストの結果により、画像要素がどの子ノードに渡されるかが判定される。例えば、バイナリ・テストの結果が真である場合、画像要素は、第1の子ノードに渡されるのに対し、バイナリ・テストの結果が偽である場合、画像要素は、第2の子ノードに渡される。
生成されるテスト・パラメータのランダム・セットは、関数パラメータθ、並びに閾値ξ及び閾値τのための複数のランダム値を含む。ランダムさを決定木に投入するために、各分岐ノードの関数パラメータθは、全ての可能なパラメータのランダムにサンプリングされたサブセットΘにわたってのみ最適化される。これは、ランダムさを決定木に投入する効果的且つ単純な方法であり、汎化を増大させる。
次いで、テスト・パラメータの全ての組合せが、トレーニング画像のセットにおける各画像要素に適用され得る(1012)。すなわち、θ(すなわち、θ∈Θ)について利用可能な値が、各トレーニング画像内の各画像要素についてのξ及びτの利用可能な値とともに次々に試行される。各組合せについて、基準(criteria)(オブジェクティブ(objective)とも呼ばれる)が計算される(1014)。一例において、計算された基準は、パーツ及び情報に対する1以上のヒストグラムの情報利得(相対エントロピとしても知られている)を含む。基準を最適化する(例えば、(θ、ξ、及びτで表される)情報利得を最大にする)パラメータの組合せが選択され(1014)、将来の使用のために現ノードに記憶される。情報利得に対する代替として、ジニ・エントロピ(Gini entropy)、「two−ing」基準、又はその他等の他の基準が使用されてもよい。
次いで、計算された基準の値が、閾値より小さい(あるいは、大きい)かどうかが判定される(1016)。計算された基準の値が、閾値よりも小さい場合、これは、木のさらなる拡張が意味のある利益を提供しないことを示す。これは、さらなるノードが有益でない場合に自然に大きくなるのを止める非対称木(asymmetrical trees)を生じさせる。そのような場合、現ノードが、葉ノードとして設定される(1018)。同様に、木の現在の深さ(すなわち、根ノードと現ノードとの間にどれだけの数のノードのレベルがあるか)が決定される。これが、予め定められた最大値よりも大きい場合、現ノードが、葉ノードとして設定される(1018)。各葉ノードは、以下で説明するように、トレーニング・プロセス中にその葉ノードにおいて蓄積するパーツ及び状態ラベルの投票を有する。
また、すでに述べた基準とともに別の停止基準(stopping criterion)を使用することも可能である。例えば、葉に達する画像要素例の数を評価することである。(例えば、閾値と比較して)非常に少数の例しか存在しない場合、プロセスは、過剰適合を回避するために、停止するよう構成され得る。しかしながら、この停止基準を使用することは、必須ではない。
計算された基準の値が、閾値以上であり、木の深さが、最大値より小さい場合、現ノードが、分岐ノードとして設定される(1020)。現ノードが分岐ノードであるとき、これは子ノードを有し、プロセスは、次いで、そのような子ノードをトレーニングすることに進む。各子ノードは、現ノードにおけるトレーニング画像要素のサブセットを用いてトレーニングされる。子ノードに送られる画像要素のサブセットは、基準を最適化したパラメータを用いて決定される。そのようなパラメータが、バイナリ・テストにおいて使用され、バイナリ・テストが、現ノードにおける全ての画像要素に対して実行される(1022)。バイナリ・テストを通過する画像要素は、第1の子ノードに送られる第1のサブセットを形成し、バイナリ・テストを通過しない画像要素は、第2の子ノードに送られる第2のサブセットを形成する。
子ノードの各々について、図10のブロック1010〜ブロック1022において概説されるプロセスが、それぞれの子ノードに送られた画像要素のサブセットに対して再帰的に実行される(1024)。すなわち、各子ノードについて、新たなランダム・テスト・パラメータが生成され(1010)、そのランダム・テスト・パラメータがそれぞれの画像要素のサブセットに適用され(1012)、基準を最適化するパラメータが選択され(1014)、ノードのタイプ(分岐ノード又は葉ノード)が決定される(1016)。葉ノードである場合、再帰の現在の分岐が止まる。分岐ノードである場合、画像要素のさらなるサブセットを決定するために、バイナリ・テストが実行され(1022)、再帰の別の分岐が始まる。したがって、このプロセスは、木を再帰的に移動し、各分岐において葉ノードに達するまで各ノードをトレーニングする。葉ノードに達すると、全ての分岐におけるノードがトレーニングされるまで、プロセスは待機する(1026)。他の例において、同じ機能が、再帰に対する代替技術を用いて実現されてもよいことに留意されたい。
各分岐ノードにおける、基準を最適化する、バイナリ・テストのためのパラメータを決定するために、木における全てのノードがトレーニングされ、各分岐を終了させるために、葉ノードが選択されると、木の葉ノードにおいて、投票が蓄積され得る(1028)。投票は、パーツ及び状態に対する1以上のヒストグラムにおけるパーツ及び状態の追加のカウントを含む。これはトレーニング段階であるので、所与の葉ノードに達する特定の画像要素は、グラウンド・トゥルース・トレーニング・データから知られているパーツ及び状態ラベルの投票を指定している。蓄積された投票の表現が、様々な異なる方法を用いて記憶され得る(1030)。ヒストグラムの記憶が、低メモリで可能であるように、ヒストグラムは、小さな固定次元(small fixed dimension)であり得る。
蓄積された投票が記憶されると、決定森においてさらなる木が存在するかどうかが判定される(1032)。さらなる木が存在する場合、決定森における次の木が選択され、プロセスは繰り返す。森における全ての木がトレーニングされ、他に残っていない場合、トレーニング・プロセスは完了し、プロセスは終了する(1034)。
したがって、トレーニング・プロセスの結果として、1以上の決定木が、合成されたトレーニング画像又は経験的トレーニング画像(empirical training image)を用いてトレーニングされる。各木は、最適化されたテスト・パラメータを記憶する複数の分岐ノードと、関連するパーツ及び状態ラベルの投票又は集約されたパーツ及び状態ラベルの投票の表現を記憶する葉ノードと、を含む。各ノードにおいて使用される限定されたサブセットからのパラメータのランダムな生成に起因して、森における木は、互いに違っている(すなわち、異なっている)。
代替的又は追加的に、本明細書で説明した機能は、1以上のハードウェア論理コンポーネントにより、少なくとも部分的に実行されてよい。例えば、使用することができる例示的なタイプのハードウェア論理コンポーネントは、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準品(ASSP)、システム・オン・チップ・システム(SOC)、コンプレックス・プログラマブル論理デバイス(CPLD)、グラフィックス処理装置(GPU)を含むが、これらに限定されるものではない。
図11は、コンピューティング・デバイス及び/又は電子デバイスの任意の形態として実装することができ、本明細書で説明したシステム及び方法の実施形態を実施することができる例示的なコンピューティングベースのデバイス102の様々なコンポーネントを示している。
コンピューティングベースのデバイス102は、1以上のプロセッサ1102を備える。1以上のプロセッサ1102は、マイクロプロセッサ、コントローラ、又は、状態及びパーツの両方のために画像要素をラベリングして単純化されたジェスチャ認識を可能にするために、コンピュータ実行可能命令を処理してデバイスのオペレーションを制御する任意の他の適切なタイプのプロセッサとすることができる。いくつかの例において、例えば、システム・オン・チップ・アーキテクチャが使用される場合、プロセッサ1102は、(ソフトウェア又はファームウェアではなく)ハードウェアでコンピューティングベースのデバイスを制御する方法の一部を実装する1以上の固定機能ブロック(アクセラレータとも呼ばれる)を含み得る。オペレーティング・システム1104又は任意の他の適切なプラットフォーム・ソフトウェアを含むプラットフォーム・ソフトウェアが、アプリケーション・ソフトウェア214をデバイス上で実行できるように、コンピューティングベースのデバイスにおいて提供され得る。
コンピュータ実行可能命令は、コンピューティングベースのデバイス102によりアクセス可能な任意のコンピュータ読み取り可能媒体を用いて提供され得る。コンピュータ読み取り可能媒体は、例えば、メモリ1106等のコンピュータ記憶媒体と、通信媒体と、を含み得る。メモリ1106等のコンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、又は他のデータ等の情報を記憶するために任意の方法又は技術で実装された、揮発性及び不揮発性の取り外し可能な媒体及び取り外し不可能な媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EPROM、EEPROM、フラッシュ・メモリ、若しくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、若しくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージ、若しくは他の磁気記憶デバイス、又は、コンピューティングベースのデバイスによりアクセスされる情報を記憶するために使用することができる任意の他の非伝送媒体を含むが、これらに限定されるものではない。反対に、通信媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、又は他のデータを、搬送波又は他の搬送機構などの変調されたデータ信号内に具現化することができる。本明細書で定められるように、コンピュータ記憶媒体は、通信媒体を含まない。したがって、コンピュータ記憶媒体は、信号自体を伝搬するものと解釈されるべきではない。伝搬信号は、コンピュータ記憶媒体内に存在し得るが、伝搬信号自体は、コンピュータ記憶媒体の例ではない。コンピュータ記憶媒体(メモリ1106)は、コンピューティングベースのデバイス102内に示されているが、ストレージは、分散されてもよいし、リモートに位置し、ネットワーク又は他の通信リンクを介して(例えば、通信インタフェース1108を用いて)アクセスされてもよいことが理解されよう。
コンピューティングベースのデバイス102はまた、コンピューティングベースのデバイス102と別個のものであってもコンピューティングベースのデバイス102と統合されてもよいディスプレイ・デバイス106(図1)にディスプレイ情報を出力するよう構成された入力/出力コントローラ1110を備える。ディスプレイ情報は、グラフィカル・ユーザ・インタフェースを提供し得る。入力/出力コントローラ1110はまた、ユーザ入力デバイス108(図1)(例えば、マウス、キーボード、カメラ、マイクロフォン、又は他のセンサ)等の1以上のデバイスからの入力を受信及び処理するよう構成される。いくつかの例において、ユーザ入力デバイス108は、音声入力、ユーザ・ジェスチャ、又は他のユーザ・アクションを検出することができ、ナチュラル・ユーザ・インタフェース(NUI)を提供し得る。一実施形態において、ディスプレイ・デバイス106はまた、タッチ式ディスプレイ・デバイスである場合、ユーザ入力デバイス108として動作することもできる。入力/出力コントローラ1110はまた、例えば、ローカルで接続されたプリンティング・デバイス(図11には示していない)といった、ディスプレイ・デバイス以外のデバイスにデータを出力することもできる。
入力/出力コントローラ1110、ディスプレイ・デバイス106、及び任意的にユーザ入力デバイス108は、マウス、キーボード、リモコン等の入力デバイスにより課せられる人工的制約なく、ユーザがコンピューティングベースのデバイスと自然にインタラクトすることを可能にするNUI技術を含み得る。提供することができるNUI技術の例は、音声認識及び/又はスピーチ認識に依拠するもの、タッチ認識及び/又はスタイラス認識に依拠するもの(タッチ式ディスプレイ)、スクリーン及びスクリーンの隣接領域上のジェスチャ認識に依拠するもの、エア・ジェスチャ(air gesture)、ヘッド・アイ・トラッキング(head and eye tracking)、音声及びスピーチ、ビジョン(vision)、タッチ、ジェスチャ、並びにマシン・インテリジェンス(machine intelligence)を含むが、これらに限定されるものではない。使用することができるNUI技術の他の例は、目的及び目標の理解システム(intention and goal understanding system)、(立体視カメラ・システム、赤外線カメラ・システム、RGBカメラ・システム、及びこれらの組合せ等の)奥行きカメラを用いたモーション・ジェスチャ検出システム、加速度計/ジャイロスコープを用いたモーション・ジェスチャ検出、顔認識、3Dディスプレイ、ヘッド・アイ・ゲーズ・トラッキング(head, eye, and gaze tracking)、没入型拡張現実システム及び仮想現実システム、及び電界検出電極を用いて脳活動を感知する技術(EEG及び関連方法)を含む。
用語「コンピュータ」又は用語「コンピューティングベースのデバイス」は、本明細書では、命令の実行が可能であるような処理能力を有する任意のデバイスを指すために用いられている。当業者は、このような処理能力が多くの異なるデバイスに組み込まれているので、用語「コンピュータ」及び用語「コンピューティングベースのデバイス」それぞれは、PC、サーバ、携帯電話機(スマートフォンを含む)、タブレット・コンピュータ、セットトップ・ボックス、メディア・プレーヤ、ゲーム・コンソール、携帯情報端末、及び多くの他のデバイスを含むことを認識するであろう。
本明細書で説明した方法は、例えば、プログラムがコンピュータ上で実行されるときに本明細書で説明した方法のうちいずれかの全てのステップを実行するよう適合されたプログラム・コード手段を含むコンピュータ・プログラムの形態の、有体の記憶媒体上の機械読み取り可能な形のソフトウェアにより実行され得る。ここで、コンピュータ・プログラムは、コンピュータ読み取り可能媒体上に具現化され得る。有体の記憶媒体の例は、ディスク、サム・ドライブ、メモリ等のコンピュータ読み取り可能媒体を備えるコンピュータ記憶デバイスを含むが、伝播信号は含まない。伝搬信号は、有体の記憶媒体内に存在し得るが、伝搬信号自体は、有体の記憶媒体の例ではない。方法のステップが、任意の適切な順序で、あるいは同時に実行され得るように、ソフトウェアは、パラレル・プロセッサ又はシリアル・プロセッサ上で実行されるのに適したものであり得る。
このことは、ソフトウェアが高価で、個々に取引可能な商品になり得ることを認めている。「ダム(dumb)」又は標準ハードウェア上で実行され、あるいはそれらを制御して所望の機能を実行するソフトウェアを含むことを意図している。また、HDL(hardware description language)ソフトウェアのように、ハードウェアの構成を「記述」又は定義するソフトウェアを含むことも意図しており、このソフトウェアは、所望の機能を実行するために、シリコン・チップを設計したり、ユニバーサル・プログラマブル・チップ(universal programmable chip)を構成したりするのに使用される。
当業者は、プログラム命令を記憶するために利用される記憶デバイスが、ネットワークにまたがって分散させることができることを認識するであろう。例えば、リモート・コンピュータは、ソフトウェアとして記述されたプロセスの例を記憶することができる。ローカル・コンピュータ又はターミナル・コンピュータは、リモート・コンピュータにアクセスして、プログラムを実行するソフトウェアの一部又は全てをダウンロードすることができる。代替的に、ローカル・コンピュータは、ソフトウェアの一部を必要に応じてダウンロードしてもよいし、一部のソフトウェア命令をローカル端末で、一部をリモート・コンピュータ(又は、コンピュータ・ネットワーク)で実行してもよい。また、当業者は、当業者に知られた従来の技術を利用することにより、ソフトウェア命令の全て又は一部が、DSP、プログラマブル論理アレイ等の専用回路によって実行され得ることを認識するであろう。
本明細書で提供した範囲又はデバイス値は、当業者に明らかであるように、求める効果を失うことなく拡張又は変更され得る。
構造的特徴及び/又は方法論的動作に特有の言葉で主題を説明したが、添付の請求項において定められる主題は、上述した特定の特徴又は動作に必ずしも限定されないことを理解すべきである。むしろ、上述した特定の特徴及び動作は、請求項を実施する例示的な形態として開示されたものである。
上述した利益及び利点は、1つの実施形態に関係にしていることも、複数の実施形態に関係していることもあることが理解されよう。実施形態は、記した問題のいずれか又は全てを解決する実施形態に限定されるものではないし、記した利益及び利点のいずれか又は全てを有する実施形態に限定されるものでもない。さらに、アイテムへの言及は、そのようなアイテムの1以上を指すことが理解されよう。
本明細書で説明した方法のステップは、任意の適切な順序で実行されてもよいし、適切な場合には同時に実行されてもよい。さらに、個々のブロックは、本明細書で説明した主題の主旨及び範囲から逸脱することなく、方法のいずれからも削除されてもよい。上述した例のどの例の態様も、求める効果を失うことなくさらなる例を形成するために、説明した他の例のいずれかの態様と組み合されてもよい。
用語「備える(comprising)」は、本明細書では、特定された方法のブロック又は要素を含むことを意味しているが、このようなブロック又は要素は、排他的リスト(exclusive list)を構成しないこと、及び、方法又は装置は、追加のブロック又は要素を含むことがあることを意味するために使用されている。
上記説明は、単なる例として提供されたものであり、当業者により様々な変更が行なわれ得ることが理解されよう。上記の明細書、例、及びデータは、例示的な実施形態の構造及び使用の完全な説明を提供している。様々な実施形態について、ある程度詳細に、あるいは1以上の個々の実施形態を参照して上述したが、当業者であれば、本明細書の主旨又は範囲から逸脱することなく、開示した実施形態に多数の変更を行うことが可能である。

Claims (10)

  1. プロセッサにおいて、少なくとも1つのオブジェクトを表す画像を受信するステップと、
    前記画像において表された前記オブジェクトの複数のパーツと、前記オブジェクトの状態と、の両方を認識するために、前記の受信された画像を、トレーニングされたランダム決定森に適用する適用ステップであって、前記状態は、向き又は形状である、適用ステップと、
    を含む、方法。
  2. 前記オブジェクトを表す画像のストリームを受信し、前記パーツ及び前記状態の両方の認識をリアルタイムに追跡するために、前記画像のストリームを、前記トレーニングされたランダム決定森に適用するステップと、
    前記の追跡された認識されたパーツ及び状態を使用して、少なくとも1つのジェスチャを認識するステップと、
    を含む、請求項1記載の方法。
  3. 前記トレーニングされたランダム決定森は、前記複数のパーツ及び前記状態を同時に認識する、請求項1記載の方法。
  4. 前記トレーニングされたランダム決定森は、パーツ・ラベル及び状態ラベルを、前記の受信された画像の画像要素に割り当てる、請求項1記載の方法。
  5. 前記の認識されたパーツの各々の重心を計算するステップ
    を含む、請求項1記載の方法。
  6. 前記適用ステップは、前記の受信された画像の複数の画像要素についての状態ラベルをもたらし、当該方法は、前記状態ラベルを集約するステップを含む、請求項1記載の方法。
  7. 前記ランダム決定森は、前記ランダム決定森の葉ノードにおいてパーツ・ラベル及び状態ラベルに対するジョイント確率分布を記憶するために、トレーニングされている、請求項1記載の方法。
  8. パーツ分類を得るために、前記の受信された画像を、第1段階のランダム決定森に適用し、状態分類を得るために、前記の受信された画像の画像要素を、複数の第2段階のランダム決定森のうちの選択された1以上に適用するステップ
    を含む、請求項1記載の方法。
  9. プロセッサにおいて、オブジェクトの複数のトレーニング画像にアクセスするステップであって、各トレーニング画像は、パーツ・ラベル及び状態ラベルを含み、前記パーツ・ラベル及び前記状態ラベルは、前記トレーニング画像の画像要素を、前記オブジェクトの複数の可能なパーツと、複数の状態のうちの1つの状態と、に分類し、前記状態は、前記オブジェクトの向き又は形状である、ステップと、
    画像の画像要素をパーツ及び状態の両方に分類するために、前記のアクセスされたトレーニング画像を用いて、ランダム決定森をトレーニングするステップと、
    を含む、方法。
  10. 少なくとも1つのオブジェクトを表す画像を受信するよう構成されたインタフェースと、
    前記画像において表された前記オブジェクトの複数のパーツと、前記オブジェクトの状態と、の両方を認識するために、前記の受信された画像を、トレーニングされたランダム決定森に適用するよう構成されたジェスチャ認識エンジンであって、前記状態は、向き又は形状である、ジェスチャ認識エンジンと、
    を備えた、装置。
JP2015553773A 2013-01-18 2014-01-14 ジェスチャ認識のためのパーツ及び状態検出 Withdrawn JP2016503220A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/744,630 US20140204013A1 (en) 2013-01-18 2013-01-18 Part and state detection for gesture recognition
US13/744,630 2013-01-18
PCT/US2014/011374 WO2014113346A1 (en) 2013-01-18 2014-01-14 Part and state detection for gesture recognition

Publications (2)

Publication Number Publication Date
JP2016503220A true JP2016503220A (ja) 2016-02-01
JP2016503220A5 JP2016503220A5 (ja) 2017-02-09

Family

ID=50097827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015553773A Withdrawn JP2016503220A (ja) 2013-01-18 2014-01-14 ジェスチャ認識のためのパーツ及び状態検出

Country Status (6)

Country Link
US (1) US20140204013A1 (ja)
EP (1) EP2946335A1 (ja)
JP (1) JP2016503220A (ja)
KR (1) KR20150108888A (ja)
CN (1) CN105051755A (ja)
WO (1) WO2014113346A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018528536A (ja) * 2015-08-31 2018-09-27 エスアールアイ インターナショナルSRI International 運転行動を監視する方法及びシステム

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9524028B2 (en) * 2013-03-08 2016-12-20 Fastvdo Llc Visual language for human computer interfaces
US9449392B2 (en) * 2013-06-05 2016-09-20 Samsung Electronics Co., Ltd. Estimator training method and pose estimating method using depth image
TWI506461B (zh) * 2013-07-16 2015-11-01 Univ Nat Taiwan Science Tech 人體動作的辨識方法與裝置
US9649558B2 (en) * 2014-03-14 2017-05-16 Sony Interactive Entertainment Inc. Gaming device with rotatably placed cameras
US9811721B2 (en) 2014-08-15 2017-11-07 Apple Inc. Three-dimensional hand tracking using depth sequences
JP6399101B2 (ja) * 2014-10-24 2018-10-03 日本電気株式会社 生体撮像装置、生体撮像方法、および、プログラム
US9928410B2 (en) * 2014-11-24 2018-03-27 Samsung Electronics Co., Ltd. Method and apparatus for recognizing object, and method and apparatus for training recognizer
US9886769B1 (en) * 2014-12-09 2018-02-06 Jamie Douglas Tremaine Use of 3D depth map with low and high resolution 2D images for gesture recognition and object tracking systems
CN105989339B (zh) * 2015-02-16 2020-02-14 佳能株式会社 用于检测目标的方法和装置
US10121064B2 (en) 2015-04-16 2018-11-06 California Institute Of Technology Systems and methods for behavior detection using 3D tracking and machine learning
US10410066B2 (en) * 2015-05-29 2019-09-10 Arb Labs Inc. Systems, methods and devices for monitoring betting activities
CA2947969C (en) 2015-05-29 2017-09-26 Adrian BULZACKI Systems, methods and devices for monitoring betting activities
US10048765B2 (en) 2015-09-25 2018-08-14 Apple Inc. Multi media computing or entertainment system for responding to user presence and activity
US9734435B2 (en) 2015-12-31 2017-08-15 Microsoft Technology Licensing, Llc Recognition of hand poses by classification using discrete values
CN108780575B (zh) 2016-06-30 2022-04-01 微软技术许可有限责任公司 用于检测突起对象的显著点的方法和装置
CN106293078A (zh) * 2016-08-02 2017-01-04 福建数博讯信息科技有限公司 基于摄像头的虚拟现实交互方法和装置
US10261685B2 (en) * 2016-12-29 2019-04-16 Google Llc Multi-task machine learning for predicted touch interpretations
DE102017210317A1 (de) * 2017-06-20 2018-12-20 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum Erfassen einer Nutzereingabe anhand einer Geste
CN107330439B (zh) * 2017-07-14 2022-11-04 腾讯科技(深圳)有限公司 一种图像中物体姿态的确定方法、客户端及服务器
CN109389136A (zh) * 2017-08-08 2019-02-26 上海为森车载传感技术有限公司 分类器训练方法
WO2019068190A1 (en) 2017-10-03 2019-04-11 Arb Labs Inc. PROGRESSIVE BETTING SYSTEMS
CN107862387B (zh) * 2017-12-05 2022-07-08 深圳地平线机器人科技有限公司 训练有监督机器学习的模型的方法和装置
CN108196679B (zh) * 2018-01-23 2021-10-08 河北中科恒运软件科技股份有限公司 基于视频流的手势捕捉和纹理融合方法及系统
CN108133206B (zh) * 2018-02-11 2020-03-06 辽东学院 静态手势识别方法、装置及可读存储介质
CN110598510B (zh) * 2018-06-13 2023-07-04 深圳市点云智能科技有限公司 一种车载手势交互技术
CN110826045B (zh) * 2018-08-13 2022-04-05 深圳市商汤科技有限公司 认证方法及装置、电子设备和存储介质
US10678342B2 (en) * 2018-10-21 2020-06-09 XRSpace CO., LTD. Method of virtual user interface interaction based on gesture recognition and related device
CN109685111B (zh) * 2018-11-26 2023-04-07 深圳先进技术研究院 动作识别方法、计算系统、智能设备及存储介质
CN109840478B (zh) * 2019-01-04 2021-07-02 广东智媒云图科技股份有限公司 一种动作评估方法、装置、移动终端和可读存储介质
CN111754571A (zh) * 2019-03-28 2020-10-09 北京沃东天骏信息技术有限公司 一种姿态识别方法、装置及其存储介质
CN113449570A (zh) * 2020-03-27 2021-09-28 虹软科技股份有限公司 图像处理方法和装置
CN113297935A (zh) * 2021-05-12 2021-08-24 中国科学院计算技术研究所 特征自适应的动作识别系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4709723B2 (ja) * 2006-10-27 2011-06-22 株式会社東芝 姿勢推定装置及びその方法
US7949157B2 (en) * 2007-08-10 2011-05-24 Nitin Afzulpurkar Interpreting sign language gestures
US8712109B2 (en) * 2009-05-08 2014-04-29 Microsoft Corporation Pose-variant face recognition using multiscale local descriptors
KR101068465B1 (ko) * 2009-11-09 2011-09-28 한국과학기술원 삼차원 물체 인식 시스템 및 방법
US8792722B2 (en) * 2010-08-02 2014-07-29 Sony Corporation Hand gesture detection
US8620024B2 (en) * 2010-09-17 2013-12-31 Sony Corporation System and method for dynamic gesture recognition using geometric classification
US8897490B2 (en) * 2011-03-23 2014-11-25 Arcsoft (Hangzhou) Multimedia Technology Co., Ltd. Vision-based user interface and related method
WO2013021385A2 (en) * 2011-08-11 2013-02-14 Eyesight Mobile Technologies Ltd. Gesture based interface system and method
CN103946863A (zh) * 2011-11-01 2014-07-23 英特尔公司 基于动态姿态的短距离人机交互
US8854433B1 (en) * 2012-02-03 2014-10-07 Aquifi, Inc. Method and system enabling natural user interface gestures with an electronic system
CN102789568B (zh) * 2012-07-13 2015-03-25 浙江捷尚视觉科技股份有限公司 一种基于深度信息的手势识别方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018528536A (ja) * 2015-08-31 2018-09-27 エスアールアイ インターナショナルSRI International 運転行動を監視する方法及びシステム
JP7011578B2 (ja) 2015-08-31 2022-01-26 エスアールアイ インターナショナル 運転行動を監視する方法及びシステム

Also Published As

Publication number Publication date
US20140204013A1 (en) 2014-07-24
CN105051755A (zh) 2015-11-11
EP2946335A1 (en) 2015-11-25
WO2014113346A1 (en) 2014-07-24
KR20150108888A (ko) 2015-09-30

Similar Documents

Publication Publication Date Title
JP2016503220A (ja) ジェスチャ認識のためのパーツ及び状態検出
US9911032B2 (en) Tracking hand/body pose
JP6333844B2 (ja) 機械学習用リソース割り当て
US10572072B2 (en) Depth-based touch detection
US8897491B2 (en) System for finger recognition and tracking
US11107242B2 (en) Detecting pose using floating keypoint(s)
US8929612B2 (en) System for recognizing an open or closed hand
US9373087B2 (en) Decision tree training in machine learning
US9886094B2 (en) Low-latency gesture detection
US20130077820A1 (en) Machine learning gesture detection
US20140208274A1 (en) Controlling a computing-based device using hand gestures
AU2012268589A1 (en) System for finger recognition and tracking
US20150199592A1 (en) Contour-based classification of objects
Elakkiya et al. Intelligent system for human computer interface using hand gesture recognition
Periyanayaki et al. An Efficient way of Emotion and Gesture Recognition using Deep Learning Algorithms
Göçmen et al. Polygonized Silhouettes and Polygon Coding Based Feature Representation for Human Action Recognition
Asgarov Check for updates 3D-CNNs-Based Touchless Human-Machine Interface
Asgarov et al. 3D-CNNs-Based Touchless Human-Machine Interface
Feng Human-Computer interaction using hand gesture recognition

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161220

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20180111