(57)【要約】      （修正有）【課題】ハンドジェスチャー認識のためのシステムおよび方法を提供する。【解決手段】方法は、ウェアラブルＡＲデバイスに通信可能に接続された少なくとも１つのＲＧＢセンサーを用いて、ユーザーの一人称視点（ＦＰＶ）から取得されたシーンのメディアストリームの複数のフレームを受信する工程を含む。シーンは、ユーザーによって実行された動的なハンドジェスチャーを含む。動的なハンドジェスチャーに関連付けられた時間情報が、ディープラーニングモデルを用いて、ＲＧＢ画像データから推定される。推定された時間情報は、ユーザーのハンドポーズに関連付けられ、さらに、複数のフレーム内のユーザーの手の上において特定される複数のキーポイントを含む。多層ＬＳＴＭ分類ネットワークを用いて、複数のキーポイントの時間情報に基づいて、動的なハンドジェスチャーが、少なくとも１つの事前定義されたジェスチャーに分類される。【選択図】図４
2019071048.tif 000002
【特許請求の範囲】
【請求項１】
ハンドジェスチャー認識のためのプロセッサー実施方法であって、
１つ以上のハードウェアプロセッサーによって、ウェアラブル拡張現実（ＡＲ）デバイスに通信可能に接続された少なくとも１つのＲＧＢセンサーを用いて、ユーザーの一人称視点（ＦＰＶ）から取得されたシーンのメディアストリームの複数のフレームを受信する工程であって、
前記メディアストリームは、前記シーンの前記複数のフレームに関連付けられたＲＧＢ画像データを含み、前記シーンは、前記ユーザーによって実行された動的なハンドジェスチャーを含む、前記メディアストリームの前記複数のフレームを受信する前記工程と、
前記１つ以上のハードウェアプロセッサーによって、ディープラーニングモデルを用いることにより、前記ＲＧＢ画像データから、前記動的なハンドジェスチャーに関連付けられた時間情報を推定する工程であって、
前記推定された時間情報は、前記ユーザーのハンドポーズに関連付けられ、さらに、前記複数のフレーム内の前記ユーザーの手の上において特定される複数のキーポイントを含み、
前記複数のキーポイントは、２１個の手のキーポイントを含み、
前記２１個のキーポイントの各キーポイントは、指１つ当たり４個のキーポイントと、前記ユーザーの前記手の手首付近の１個のキーポイントを含む、前記時間情報を推定する前記工程と、
前記１つ以上のハードウェアプロセッサーによって、多層ロングショートタームメモリー（ＬＳＴＭ）分類ネットワークを用いて、前記複数のキーポイントに関連付けられた前記時間情報に基づいて、前記動的なハンドジェスチャーを少なくとも１つの事前定義されたジェスチャークラスに分類する工程と、を含むことを特徴とするプロセッサー実施方法。
【請求項２】
前記メディアストリームを取得した際に、前記複数のフレームをダウンスケールする工程をさらに含む請求項１に記載のプロセッサー実施方法。
【請求項３】
前記動的なハンドジェスチャーに関連付けられた前記時間情報を推定する前記工程は、
前記ディープラーニングネットワークを用いて、複数の潜在的ネットワーク３Ｄアーティキュレーション履歴を推定する工程であって、
前記複数の潜在的ネットワーク３Ｄアーティキュレーション履歴は、前記ユーザーの前記手の複数のトレーニングサンプルＲＧＢ画像から判別された前記複数のキーポイントを含む、前記複数の潜在的ネットワーク３Ｄアーティキュレーション履歴を推定する前記工程と、
前記複数の潜在的ネットワーク３Ｄアーティキュレーション履歴に基づいて、前記複数のフレーム内の前記ユーザーの前記手の前記複数のキーポイントを検出する工程と、を含む請求項２に記載のプロセッサー実施方法。
【請求項４】
前記多層ＬＳＴＭ分類ネットワークは、
前記ユーザーの前記手の上において検出された前記複数のキーポイントの３Ｄ座標シーケンスにおける長期の依存性およびパターンを学習するための複数のＬＳＴＭセルから構成されるＬＳＴＭ層を含む第１の層と、
前記時間情報を１次元にする平滑化層を含む第２の層と、
前記動的なハンドジェスチャーのそれぞれに対応する出力スコアを用いる完全接続層を含む第３の層であって、
前記出力スコアは、前記少なくとも１つの事前定義されたジェスチャークラスへの分類用の前記動的なハンドジェスチャーのそれぞれに対応する事後確率を示している、前記第３の層と、を含む請求項３に記載のプロセッサー実施方法。
【請求項５】
複数の前記動的なハンドジェスチャーのうちの前記動的なハンドジェスチャーを分類するための前記ＬＳＴＭ分類ネットワークをテストする工程をさらに含み、
前記ＬＳＴＭ分類ネットワークをテストする前記工程は、
ｓｏｆｔｍａｘアクティベーション機能を用いることにより、前記出力スコアを、非正規化ログ確率として解釈し、さらに、以下の式を用いて、前記出力スコアを０から１の範囲に圧縮する工程を含み、
2019071048.tif 000006
ここで、Ｋはクラスの数であり、ｓはｓｏｆｔｍａｘ機能への入力、スコアのＫｘ１ベクトルであり、ｊは０からＫ−１の間で変化するインデックスあり、σ（ｓ）は前記複数の動的なハンドジェスチャーのそれぞれに関連付けられた前記事後確率を示すＫｘ１出力ベクトルである請求項４に記載のプロセッサー実施方法。
【請求項６】
前記ＬＳＴＭ分類ネットワークをトレーニングする工程をさらに含み、
前記ＬＳＴＭ分類ネットワークをトレーニングする前記工程は、
以下の式を用いて、前記複数のトレーニングサンプルＲＧＢ画像のｉ番目のトレーニングサンプルのクロスエントロピー損失Ｌｉを算出する工程であって、
Ｌｉ＝−ｈｊ＊ｌｏｇ（σ（ｓ）ｊ）
ここで、ｈは前記複数のトレーニングサンプルＲＧＢ画像を含む入力のワンホットラベルを示す１ｘＫベクトルである、前記ｉ番目のトレーニングサンプルの前記クロスエントロピー損失Ｌｉを算出する前記工程と、
前記複数のトレーニングサンプルＲＧＢ画像のＬｉの平均を算出し、さらに、前記トレーニングにおいて、前記ＬＳＴＭ分類ネットワークを微調整するために、前記ＬＳＴＭ分類ネットワークへ送り返す工程と、を含む請求項４に記載のプロセッサー実施方法。
【請求項７】
３Ｄの前記動的なハンドジェスチャーを前記少なくとも１つの事前定義されたジェスチャークラスへ分類した際に、分類された前記少なくとも１つの事前定義されたジェスチャークラスを、前記少なくとも１つのＲＧＢセンサーを実装しているデバイスおよび前記ウェアラブルＡＲデバイスの少なくとも一方に送信する工程と、
前記デバイスに事前定義されたタスクを実行させる工程と、を含む請求項１に記載のプロセッサー実施方法。
【請求項８】
ハンドジェスチャー認識のためのシステムであって、
１つ以上のメモリーと、
前記１つ以上のメモリーに接続された１つ以上のハードウェアプロセッサーと、を含み、
前記１つ以上のハードウェアプロセッサーは、前記１つ以上のメモリー内に保存されているプログラム命令を実行することにより、
ウェアラブルＡＲデバイスに通信可能に接続された少なくとも１つのＲＧＢセンサーを用いて、ユーザーの一人称視点（ＦＰＶ）から取得されたシーンのメディアストリームの複数のフレームを受信することができ、
前記メディアストリームは、前記シーンの前記複数のフレームに関連付けられたＲＧＢ画像データを含み、前記シーンは、前記ユーザーによって実行された動的なハンドジェスチャーを含み、
さらに、前記１つ以上のハードウェアプロセッサーは、前記命令を実行することにより、
ディープラーニングモデルを用いることにより、前記ＲＧＢ画像データから、前記動的なハンドジェスチャーに関連付けられた時間情報を推定することができ、
前記推定された時間情報は、前記ユーザーのハンドポーズに関連付けられ、さらに、前記複数のフレーム内の前記ユーザーの手の上において特定される複数のキーポイントを含み、
前記複数のキーポイントは、２１個の手のキーポイントを含み、
前記２１個のキーポイントの各キーポイントは、指１つ当たり４個のキーポイントと、前記ユーザーの前記手の手首付近の１個のキーポイントを含み、
さらに、前記１つ以上のハードウェアプロセッサーは、前記命令を実行することにより、
多層ＬＳＴＭ分類ネットワークを用いて、前記複数のキーポイントに関連付けられた前記時間情報に基づいて、前記動的なハンドジェスチャーを少なくとも１つの事前定義されたジェスチャークラスに分類することができることを特徴とするシステム。
【請求項９】
前記１つ以上のハードウェアプロセッサーは、前記命令によって、前記メディアストリームを取得した際に、前記複数のフレームをダウンスケールするよう、さらに構成されている請求項８に記載のシステム。
【請求項１０】
前記動的なハンドジェスチャーに関連付けられた前記時間情報を推定するために、前記１つ以上のハードウェアプロセッサーは、前記命令によって、
前記ディープラーニングネットワークを用いて、複数の潜在的ネットワーク３Ｄアーティキュレーション履歴を推定するよう、さらに構成されており、
前記複数の潜在的ネットワーク３Ｄアーティキュレーション履歴は、前記ユーザーの前記手の複数のトレーニングサンプルＲＧＢ画像から判別された前記複数のキーポイントを含み、
さらに、前記１つ以上のハードウェアプロセッサーは、前記命令によって、
前記複数の潜在的ネットワーク３Ｄアーティキュレーション履歴に基づいて、前記複数のフレーム内の前記ユーザーの前記手の前記複数のキーポイントを検出するよう、構成されている請求項９に記載のシステム。
【請求項１１】
前記多層ＬＳＴＭ分類ネットワークは、
前記ユーザーの前記手の上において検出された前記複数のキーポイントの３Ｄ座標シーケンスにおける長期の依存性およびパターンを学習するための複数のＬＳＴＭセルから構成されるＬＳＴＭ層を含む第１の層と、
前記時間情報を１次元にする平滑化層を含む第２の層と、
前記動的なハンドジェスチャーのそれぞれに対応する出力スコアを用いる完全接続層を含む第３の層であって、
前記出力スコアは、前記少なくとも１つの事前定義されたジェスチャークラスへの分類用の前記動的なハンドジェスチャーのそれぞれに対応する事後確率を示している、前記第３の層と、を含む請求項１０に記載のシステム。
【請求項１２】
前記１つ以上のハードウェアプロセッサーは、前記命令によって、複数の前記動的なハンドジェスチャーのうちの前記動的なハンドジェスチャーを分類するための前記ＬＳＴＭ分類ネットワークをテストするよう、さらに構成されており、
前記ＬＳＴＭ分類ネットワークをテストするために、前記１つ以上のハードウェアプロセッサーは、前記命令によって、
ｓｏｆｔｍａｘアクティベーション機能を用いることにより、前記出力スコアを、非正規化ログ確率として解釈し、さらに、以下の式を用いて、前記出力スコアを０から１の範囲に圧縮するよう、さらに構成されており、
2019071048.tif 000007
ここで、Ｋはクラスの数であり、ｓはｓｏｆｔｍａｘ機能への入力、スコアのＫｘ１ベクトルであり、ｊは０からＫ−１の間で変化するインデックスあり、σ（ｓ）は前記複数の動的なハンドジェスチャーのそれぞれに関連付けられた前記事後確率を示すＫｘ１出力ベクトルである請求項１１に記載のシステム。
【請求項１３】
前記１つ以上のハードウェアプロセッサーは、前記命令によって、前記ＬＳＴＭ分類ネットワークをトレーニングするよう、さらに構成されており、
さらに、前記ＬＳＴＭ分類ネットワークをトレーニングするために、前記１つ以上のハードウェアプロセッサーは、前記命令によって、
以下の式を用いて、前記複数のトレーニングサンプルＲＧＢ画像のｉ番目のトレーニングサンプルのクロスエントロピー損失Ｌｉを算出するよう、構成されており、
Ｌｉ＝−ｈｊ＊ｌｏｇ（σ（ｓ）ｊ）
ここで、ｈは前記複数のトレーニングサンプルＲＧＢ画像を含む入力のワンホットラベルを示す１ｘＫベクトルであり、
さらに、前記１つ以上のハードウェアプロセッサーは、前記命令によって、前記複数のトレーニングサンプルＲＧＢ画像のＬｉの平均を算出し、さらに、前記トレーニングにおいて、前記ＬＳＴＭ分類ネットワークを微調整するために、前記ＬＳＴＭ分類ネットワークへ伝達するよう、構成されている請求項１１に記載のシステム。
【請求項１４】
３Ｄの前記動的なハンドジェスチャーを前記少なくとも１つの事前定義されたジェスチャークラスへ分類した際に、前記１つ以上のハードウェアプロセッサーは、前記命令によって、分類された前記少なくとも１つの事前定義されたジェスチャークラスを、前記少なくとも１つのＲＧＢセンサーを実装しているデバイスおよび前記ウェアラブルＡＲデバイスの少なくとも一方に送信し、前記デバイスが事前定義されたタスクを実行することを可能にする請求項８に記載のシステム。
【請求項１５】
ジェスチャー認識のための方法を実行するための、内部において具体化されたコンピュータープログラムを有する非一時的コンピューター可読媒体であって、
前記方法は、
１つ以上のハードウェアプロセッサーによって、ウェアラブル拡張現実（ＡＲ）デバイスに通信可能に接続された少なくとも１つのＲＧＢセンサーを用いて、ユーザーの一人称視点（ＦＰＶ）から取得されたシーンのメディアストリームの複数のフレームを受信する工程であって、
前記メディアストリームは、前記シーンの前記複数のフレームに関連付けられたＲＧＢ画像データを含み、前記シーンは、前記ユーザーによって実行された動的なハンドジェスチャーを含む、前記メディアストリームの前記複数のフレームを受信する前記工程と、
前記１つ以上のハードウェアプロセッサーによって、ディープラーニングモデルを用いることにより、前記ＲＧＢ画像データから、前記動的なハンドジェスチャーに関連付けられた時間情報を推定する工程であって、
前記推定された時間情報は、前記ユーザーのハンドポーズに関連付けられ、さらに、前記複数のフレーム内の前記ユーザーの手の上において特定される複数のキーポイントを含み、
前記複数のキーポイントは、２１個の手のキーポイントを含み、
前記２１個のキーポイントの各キーポイントは、指１つ当たり４個のキーポイントと、前記ユーザーの前記手の手首付近の１個のキーポイントを含む、前記時間情報を推定する前記工程と、
前記１つ以上のハードウェアプロセッサーによって、多層ロングショートタームメモリー（ＬＳＴＭ）分類ネットワークを用いて、前記複数のキーポイントに関連付けられた前記時間情報に基づいて、前記動的なハンドジェスチャーを少なくとも１つの事前定義されたジェスチャークラスに分類する工程と、を含むことを特徴とする非一時的コンピューター可読媒体。
【発明の詳細な説明】
【関連出願に対する相互参照および優先権】
【０００１】
本出願は、２０１７年１０月７日付けでインドにおいて出願されたインド国特許出願第２０１７２１０３５６５０号（発明の名称：一人称視点でのディープラーニングベースのハンドジェスチャー認識のためのシステムおよび方法）に基づく優先権を主張する。
【技術分野】
【０００２】
本発明は、一般に、ハンドジェスチャーの検出に関し、より具体的には、ヘッドマウントデバイスのような簡易な拡張現実（ＡＲ）デバイスを用いて、３次元の動的なハンドジェスチャーによるインタラクション（interaction：利用者とデバイスとのやり取り）を検出するためのシステムおよび方法に関する。
【背景技術】
【０００３】
ウェアラブル拡張現実（ＡＲ：Augmented Reality）デバイスは、近年、非常に人気があるものとなっている。そのようなデバイスにおいて用いられるユーザーインタラクションの様態（user interaction modalities）は、ハンドジェスチャーがＡＲ／ＶＲ（仮想現実）アプリケーションにおけるインタラクションの直感的手段を形成しているという事実を示している。これらデバイスは、テクノロジーを複雑かつ高価なハードウェアに結び付けることが多い様々なオンボードセンサーおよびカスタマイズされた処理チップを用いる。これらデバイスは、特定の機能を実行するために特注され、多くの場合において、それらの途方もない価格のために、容易には使用可能とならない。
【０００４】
従来の包括的なプラットフォーム、例えば、マイクロソフトキネクト（商標）およびリープモーション（商標）コントローラーは、切望されている抽象化（abstraction）を提供する。本発明者らは、そのような従来のシステムにおけるいくつかの技術的課題を、以下に説明するように認識している。このような従来のプラットフォーム／デバイスは、直射日光、白色光、および、赤外照射の存在による屋外環境、厚いガラスや水面のような反射面の存在のような光の状況が変化する場合に不完全な動作を行う。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以下の記述は、本実施形態の基本的な理解を提供するために、本発明のいくつかの実施形態の簡略化された概要を提供する。本概要は、実施形態の詳細な概説ではない。本概要は、実施形態の重要／決定的な要素を特定したり、本発明の範囲を正確に記述したりするためのものではない。本概要の唯一つの目的は、以下に提供されるより詳細な説明の前段階として、簡略化された様態のいくつかの実施形態を提供することにある。
【０００６】
前述の事項を参照すると、１つの実施形態は、ハンドジェスチャー認識のための方法およびシステムを提供する。ハンドジェスチャー認識のための方法は、１つ以上のハードウェアプロセッサーによって、ウェアラブルＡＲデバイスに通信可能に接続された少なくとも１つのＲＧＢセンサーを用いて、ユーザーの一人称視点（ＦＰＶ：First Person View）から取得されたシーンのメディアストリームの複数のフレームを受信する工程を含む。メディアストリームは、シーンの複数のフレームに関連付けられたＲＧＢ画像データを含む。シーンは、ユーザーによって実行された動的なハンドジェスチャーを含む。さらに、方法は、１つ以上のハードウェアプロセッサーによって、ディープラーニングモデル（deep learning model）を用いることにより、ＲＧＢ画像データから、動的なハンドジェスチャーに関連付けられた時間情報（temporal information）を推定する工程を含む。推定された時間情報は、ユーザーのハンドポーズ（手の姿勢）に関連付けられ、複数のフレーム内のユーザーの手の上において特定される複数のキーポイントを含む。さらに、方法は、１つ以上のハードウェアプロセッサーによって、多層ロングショートタームメモリー（ＬＳＴＭ：Long Short Term Memory）分類ネットワークを用いて、複数のキーポイントの時間情報に基づいて、動的なハンドジェスチャーを少なくとも１つの事前定義されたジェスチャークラスに分類する工程を含む。
【０００７】
異なる態様において、ジェスチャー認識のためのシステムが提供される。システムは、１つ以上のメモリーと、１つ以上のメモリーに接続された１つ以上のハードウェアプロセッサーと、を含み、１つ以上のプロセッサーは、前記１つ以上のメモリー内に保存されているプログラム命令を実行することにより、ウェアラブルＡＲデバイスに通信可能に接続された少なくとも１つのＲＧＢセンサーを用いて、ユーザーの一人称視点から取得されたシーンのメディアストリームの複数のフレームを受信することができる。メディアストリームは、シーンの複数のフレームに関連付けられたＲＧＢ画像データを含む。シーンは、ユーザーによって実行された動的なハンドジェスチャーを含む。さらに、１つ以上のハードウェアプロセッサーは、命令によって、ディープラーニングモデルを用いることにより、ＲＧＢ画像データから、動的なハンドジェスチャーに関連付けられた時間情報を推定するよう構成されている。推定された時間情報は、ユーザーのハンドポーズに関連付けられ、複数のフレーム内のユーザーの手の上において特定される複数のキーポイントを含む。さらに、１つ以上のハードウェアプロセッサーは、命令によって、多層ＬＳＴＭ分類ネットワークを用いて、複数のキーポイントの時間情報に基づいて、動的なハンドジェスチャーを少なくとも１つの事前定義されたジェスチャークラスに分類する。
【０００８】
さらに別の態様において、ジェスチャー認識のための方法を実行するための、内部において具体化された（embodied）コンピュータープログラムを有する非一時的コンピューター可読媒体（non-transitory computer readable medium）が提供される。方法は、ウェアラブルＡＲデバイスに通信可能に接続された少なくとも１つのＲＧＢセンサーを用いて、ユーザーの一人称視点（ＦＰＶ）から取得されたシーンのメディアストリームの複数のフレームを受信する工程を含む。メディアストリームは、シーンの複数のフレームに関連付けられたＲＧＢ画像データを含む。シーンは、ユーザーによって実行された動的なハンドジェスチャーを含む。さらに、方法は、ディープラーニングモデルを用いることにより、ＲＧＢ画像データから、動的なハンドジェスチャーに関連付けられた時間情報を推定する工程を含む。推定された時間情報は、ユーザーのハンドポーズに関連付けられ、複数のフレーム内のユーザーの手の上において特定される複数のキーポイントを含む。さらに、方法は、多層ＬＳＴＭ分類ネットワークを用いて、複数のキーポイントの時間情報に基づいて、動的なハンドジェスチャーを少なくとも１つの事前定義されたジェスチャークラスに分類する工程を含む。
【図面の簡単な説明】
【０００９】
詳細な説明が、添付の図面を参照して記述される。各図において、参照番号の左端の桁は、その参照番号が最初に現れる図面の番号を示している。各図を通して、同様の特徴およびモジュールを参照するために同じ番号が用いられている。
【００１０】
【図１】図１Ａ〜１Ｄは、本発明の例示的な実施形態に係る、動的なハンドジェスチャーの様々な例を示している。
【００１１】
【図２】図２は、本発明の実施形態に係る、ディープラーニングを用いたジェスチャー認識のための例示的なシステムアーキテクチャを示している。
【００１２】
【図３】図３は、本発明の実施形態に係る、ディープラーニングを用いたジェスチャー認識のためのシステムのネットワーク実施を示している。
【００１３】
【図４】図４は、本発明の例示的な実施形態に係る、ディープラーニングを用いたジェクチャー認識のための代表的な処理フローを示している。
【００１４】
【図５】図５は、本発明の例示的な実施形態に係る、動的なハンドジェスチャーに関連付けられた時間情報を推定するための処理フローを示している。
【００１５】
【図６】図６は、本発明の例示的な実施形態に係る、ジェスチャー分類のための例示的な多層ＬＳＴＭネットワークを示している。
【００１６】
【図７】図７は、本発明の例示的な実施形態に係る、入力画像上の重複物として、ハンドポーズ検出モジュールによって検出される複数のキーポイントを示している。
【００１７】
【図８】図８は、本発明に従う実施形態を実施するための例示的なコンピューターシステムのブロック図である。
【００１８】
本分野における当業者であれば、本発明の原理を具体化するシステムおよびデバイスを示す本明細書の概念的な概要を表す任意のブロック図を適切に理解できるであろう。同様に、コンピューター可読媒体内において実質的に表され、明示または明示しないコンピューターまたはプロセッサーによって実行される様々な処理を表す任意のフローチャート、フロー図等が、適切に理解されるであろう。
【発明を実施するための形態】
【００１９】
拡張現実（Augmented Reality）は、音、テキスト、画像、またはビデオのようなコンピューターによって生成された感覚入力によって、物理的な実世界の複数の要素が拡張された環境の視界を表現することを意味する。ＡＲは、医療、教育、エンターテイメント、軍事等の様々な用途において有用である。マイクロソフトＨｏｌｏｌｅｎｓ（商標）、Ｄａｇｒｉスマートヘルメット（商標）、メタグラス（商標）のようなウェアラブルＡＲ／ＶＲデバイスは、近年、非常に人気があるものとなっている。
【００２０】
このようなデバイスで用いられるユーザーインタラクションの様態（user interaction modalities）は、ハンドジェスチャーがＡＲ／ＶＲアプリケーションにおけるインタラクションの直感的手段を形成しているという事実を示している。これらデバイスは、テクノロジーを複雑かつ高価なハードウェアに結び付けることが多い様々なオンボードセンサーおよびカスタマイズされた処理チップを用いる。これらデバイスは、特定の機能を実行するために特注され、多くの場合において、それらの途方もない価格のために、容易には使用可能とならない。マイクロソフトキネクト（商標）やリープモーション（商標）コントローラーのような包括的なプラットフォームは、切望されている抽象化を提供するが、直射日光、白色光、および、赤外照射の存在による屋外環境、厚いガラスや水面のような反射面の存在のような光の状況が変化する場合に不完全な動作を行う
【００２１】
近年のスマートモバイル電子デバイスにおける高性能なプロセッサーおよび高品質な光学系の進歩によって、このようなデバイスは、ＡＲ／ＶＲアプリケーション用の魅力的で容易に利用可能なプラットフォームとしての人気を得つつある。例えば、グーグルカードボード（商標）およびＷｅａｒａｌｉｔｙのようなデバイスは、没入型ＶＲ体験（immersive VR experience）を提供するためのビデオシースルー（video-see-through）デバイスである。
【００２２】
ステレオレンダリングされたカメラフィードおよび重ね撮り画像（stereo-rendered camera feed and overlaid images）、音声、およびテキストを用いて、これらのデバイスも、ＡＲアプリケーション用に拡張可能である。これらの簡易なヘッドセット（アンドロイドスマートフォンと共に用いられるＷｅａｒａｌｉｔｙまたはグーグルカードボード）を使用することの主たる動機は、経済的な実行可能性、携帯性、および大規模な市場への容易な拡張性にある。しかしながら、これらのヘッドマウントデバイス（ＨＭＤｓ）のセンサーのアクセス性は、取り付けられたスマートフォンのセンサー利用性に限定されてしまう。現在のバージョンは、単一のイベントを起こすための磁気トリガーまたは導電性レバーを用いているため、可能なユーザーのインタラクションの豊富さが抑えられている。
【００２３】
さらに、磁気トリガーおよび導電性レバーの頻繁な使用は、デバイスの着脱に繋がる。さらに加えて、そのようなデバイスにおける頭追跡（head tracking）は不便なものであり、ユーザーの視野（ＦｏＶ：Field of View）における興味のある対象から焦点を外すことになる。さらに加えて、そのようなデバイスは、産業的な屋外セッティングにおいては、周辺雑音のため、不正確なスピーチ認識を提供してしまう。従来のデバイスにおける上述の技術的問題に基づくと、ハンドジェスチャーは、典型的には、人の手間を省き、周辺環境とのインタラクションにおいて効果的であるため、インタラクションの好適な態様である。しかしながら、一人称視点（ＦＰＶ：First Person View）におけるハンドジェスチャー認識のための現在の方法は、特定の使用ケースに制限されたものであり、肌の色への依存性のために、現実的な状況下でのロバスト性（堅牢性）に欠ける。
【００２４】
以下に開示される様々な実施形態は、ジェスチャー検出、特に、動的なハンドジェスチャー検出における上述の技術的課題に対する、ディープラーニングアプローチを用いた技術的解決を提供する方法およびシステムを提供する。ディープラーニングアプローチを用いることにより、イントラクラスバリエーション（intra class variations）に対してロバストであり、検出および分類タスクを実行する際の人間の能力をしばしば上回るコンピュータービジョンモデル（computer vision models）を構築することができる。１つの実施形態において、組み込み奥行センサーを有さない単一のＲＧＢカメラ入力を含むＡＲアプリケーション用のＦＰＶにおけるブルーム（bloom）、クリック、ズームイン、ズームアウトのような複雑なハンドジェスチャーを検出および分類するためのシステムが提供される。上述のハンドジェスチャーが、理解を容易にするために、図１Ａ〜１Ｄに示されている。ハンドジェスチャー検出のためにディープラーニングアプローチを用いることにより、開示の方法およびシステムは、既存の技術における限界を克服し、さらに、簡易なデバイスにおける豊富なユーザーのインタラクションのための道を切り開くことができる。
【００２５】
図１Ａ〜１Ｄを参照すると、様々な動的なハンドジェスチャーが示されている。例えば、図１Ａは、「ブルーム」の動的なハンドジェスチャーを示しており、図１Ｂは、「クリック」の動的なハンドジェスチャーの様々な段階を示しており、図１Ｃは、「ズームイン」の動的なハンドジェスチャーの様々な段階を示しており、図１Ｄは、「ズームアウト」の動的なハンドジェスチャーの様々な段階を示している。ここで、用語「動的な」３Ｄハンドジェスチャーは、静的ではなく、動的なモーションを必要とするハンドジェスチャーを意味する。本明細書で検討される、ブルーム、クリック、ズームイン、およびズームアウトのような動的なハンドジェスチャーは、それぞれ示されている複数の段階を含んでいる。例えば、図１Ａに示されているハンドジェスチャー「ブルーム」は、段階１１０、段階１１２、段階１１４の順で実行される。ブルームのハンドジェスチャーは、事前タスク、例えば、メニュー表示操作を実行するために実行可能である。同様に、図１Ｂは、クリックのハンドジェスチャーを実行／実演するための手の動きの複数の段階（段階１２０、段階１２２、段階１２４の順）を示している。クリックのハンドジェスチャーは、選択／保持動作のような事前定義されたタスクを実行するために実行可能である。また、図１Ｃは、ズームインのハンドジェスチャーを実行するための手の動きの複数の段階（段階１３０、段階１３２、段階１３４の順）を示している。ズームインのハンドジェスチャーは、ディスプレイにおけるズーム、例えば、シーンのズームのために実行可能である。ハンドジェスチャー「ズームアウト」の実行／実演が図１Ｄに示されており、段階１４０の手の動き、次に段階１４２の手の動き、最後に段階１４４の手の動きの順となる。ズームアウトのハンドジェスチャーは、例えば、表示されているシーンのズームアウトのような事前定義されたタスクを実行するために実行可能である。
【００２６】
ここで、上述のハンドジェスチャーは、例示の目的のために提供されたものであり、本明細書に開示される実施形態を限定する意図はないことに留意されたい。様々な区別可能なアプリケーションおよびデバイスは、様々な実施形態と共に記述される演算を用いて、複数の区別可能なハンドジェスチャーを利用することにより、様々な機能を実行することができる。さらに、ここで、動的なハンドジェスチャーは、２Ｄハンドジェスチャーおよび３Ｄハンドジェスチャーの１つに対応していてもよい。
【００２７】
本明細書で開示される実施形態は、図１Ａ〜１Ｄに記述および示されているような、単一のＲＧＢカメラを含むＡＲアプリケーション用の一人称視点（ＦＰＶ）における複雑な動的なハンドジェスチャーを検出するための方法およびシステムを提供する。システムは、如何なる奥行情報も必要とせず、単一のＲＧＢカメラから入力として受信されたＲＧＢ画像データを用いるため、追加的な高機能の奥行センサーの必要性を排除し、さらに、既存の技術の限界を克服することができる。本発明の様々な実施形態に係るジェスチャー検出のための高レベルの例示的なシステムアーキテクチャが図２を参照して提供される。
【００２８】
本方法およびシステムは、本明細書に記述される特定の実施形態に限定されない。さらに、本方法およびシステムは、本明細書に記述される他のモジュールおよび方法とは独立および別個に実施可能である。各デバイス要素／モジュールおよび方法は、他の要素／モジュールおよび他の方法と組み合わせて使用可能である。
【００２９】
ヘッドマウントデバイスを用いた興味のある領域（ＲＯＩ：Region of Interest）マーキングのためのシステムおよび方法が実施される様態が、図１〜５を参照して詳細に説明される。ヘッドマウントデバイスを用いたＲＯＩマーキングのための記述される方法およびシステムの態様が任意の数の異なるシステム、実行環境、および／または設定において実施可能であるが、実施形態は、以下の例示的なシステムの文脈において記述される。
【００３０】
図２を参照すると、本発明の様々な実施形態に係るディープラーニングを用いたジェスチャー検出のための例示的なシステムアーキテクチャ２００が記述されている。システムアーキテクチャは、ユーザーの一人称視点でのメディアストリームを取得するためのデバイスを備えるように示されている。シンプルな形態では、開示のデバイス２０２は、（１）例えば、スマートフォンのような携帯通信デバイス内に組み込まれている単一のＲＧＢカメラと、（２）例えば、ヘッドマウントＡＲデバイスのようなＡＲウェアラブルとを備え得る。そのようなＡＲウェアラブルの例としては、グーグルカードボードを挙げることができる。ＲＧＢカメラによってユーザーのＦＰＶで取得されるメディアストリーム（メディアストリームの取得は、ＡＲウェアラッブルによって容易となっている）は、ジェスチャー検出のためにシステム２０４に送信される。１つの実施形態において、システムは、リモートサーバー内において実施されてもよい。１つの実施形態において、メディアストリームは、遠隔サーバーに送信される前に、ダウンスケール（縮小）されてもよい。システム２０４は、ジェスチャーを認識するために、メディアストリーム内の実行されたジェスチャーを分類するよう構成されている。ジェスチャーを認識すると、システム２０４は、携帯通信デバイスに結果を送り返すよう通信を実行する。
【００３１】
図３を参照すると、本発明の実施形態に係る、ジェスチャー検出のためのシステム３０２のネットワーク実施３００が示されている。システムは、事前定義されたタスクを実行するために行われている動的なハンドジェスチャーを有するメディアストリームを受信するよう構成されている。ここで、メディアストリームは、ユーザーのＦＰＶにおいて取得される。様々なハンドジェスチャーおよび対応する事前定義されたタスクが図１Ａ〜１Ｄを参照して記述される。システム３０２は、動的なハンドジェスチャーを検出することができる。１つの例示的な実施形態において、動的なハンドジェスチャーの検出は、ハンドポーズにおける不動の手の存在（a presence of a stable hand）の検出を含み、不動の手の状態の後、事前適宜されたタスクを実行するための特定の様態での手の動きが実行される。
【００３２】
本発明は、手に取り付けられたデバイスを用いてジェスチャー検出を実行するための、システム３０２が実施されるものとして説明されるが、システム３０２は如何なる特定の機械または環境に限定されないことは理解されるであろう。システム３０２は、タスクの実行のためのジェスチャーの検出が判別される様々な領域において利用可能である。システム３０２は、ラップトップコンピューター、デスクトップコンピューター、ノートパソコン、ワークステーション、メインフレームコンピューター、サーバー、ネットワークサーバー等のような様々な演算システムにおいて実施することができる。
【００３３】
ここで、システム３０２は、例えば、複数のデバイスおよび／または機械３０４−１、３０４−２、．．．３０４−Ｎ（以下、集合的にデバイス３０４という）を用いて、複数のビデオおよび／または画像を取得する。デバイスのそれぞれは、ウェアラブルＡＲデバイスに通信可能に接続された少なくとも１つのＲＧＢセンサーを備えている。ＲＧＢセンサーは、携帯型電子デバイス、携帯電話、スマートフォン、ポータブルコンピューター、ＰＤＡ等のようなメディア取得デバイス内に実装されていてもよい。１つの実施形態において、デバイスは、ＲＧＢセンサーに加えて、ＶＲカメラを実装していてもよい。代替的に、ＲＧＢセンサーを実装しているデバイスは、ウェアラブルＡＲデバイスに通信可能に接続され、メディア取得デバイスを保持し、さらに、ウェアラブルＡＲデバイスを装着しているユーザーの一人称視点（ＦＰＶ）でのメディアストリームの取得を可能としていてもよい。ここで、ＡＲデバイスは、ＡＲ技術を実現するデバイスである。ＡＲ技術は、ユーザーの知覚を強化し、ユーザーが、様々な方法で、環境を視認し、聴き取り、さらに、感じることを補助する。デバイス３０４は、ネットワーク３０６を介してシステム３０２に通信可能に接続されており、取得されたメディアストリームを、システム３０２へ送信することができる。
【００３４】
１つの実施形態において、ネットワーク３０６は、無線ネットワーク、有線ネットワーク、またはこれらの組み合わせであってもよい。ネットワーク３０６は、異なるタイプのネットワーク（例えば、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネット等）の１つとして実施することができる。ネットワーク３０６は、専用ネットワークであっても、共有ネットワークであってもよい。共有ネットワークは、様々なタイプのプロトコル（例えば、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）、トランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ワイヤレスアプリケーションプロトコル（ＷＡＰ）等）を用いて、互いに通信を行う異なるタイプのネットワークの接続を意味する。さらに、ネットワーク３０６は、様々なネットワークデバイス（ルーター、ブリッジ、サーバー、演算デバイス、ストレージデバイス等）を含んでいてもよい。
【００３５】
１つの実施形態において、システム３０２は、演算デバイス３１０内に実装される。演算デバイス３１０の例としては、これに限られないが、デスクトップパソコン（ＰＣ）、ノートパソコン、ラップトップ、携帯型コンピューター、スマートフォン、タブレット等が挙げられる。また、システム３０２は、メディストリームを保存するためのデータレポジトリ３１２に関連付けられている。追加的、または、代替的に、データレポジトリ３１２は、メディアストリーム中で、ジェスチャー認識の間に生成されたデータおよび／または情報を保存するよう構成されていてもよい。レポジトリ３１２は、システム３０２を実現する演算デバイス３１０の外側に構成され、演算デバイス３１０と通信可能に接続されていてもよい。代替的に、データポレジトリ３１２は、システム３０２内において構成されていてもよい。メディアストリームにおけるジェスチャー認識のためのシステム３０２の例示的な実施が、図４を参照してさらに記述される。
【００３６】
図４は、本発明のいくつかの実施形態に係る、ハンドジェスチャー認識のための方法４００のフロー図を示している。方法４００は、コンピューター実行可能命令の一般的な文脈において説明される。一般的に、コンピューター可読命令は、特定の機能を実行、または特定の抽象データ型（abstract data type）を実施するルーティーン（routines）、プログラム、オブジェクト、コンポーネント、データ構造体、プロシージャー(procedures)、モジュール、関数等を含み得る。また、方法４００は、通信ネットワークを介してリンクされた複数の遠隔演算デバイスによって機能が実行される分散型演算環境（distributed computing environment）内において実施されてもよい。ここで説明される方法４００の順番は、限定を構成する意図はなく、任意の数の説明される方法ブロックが、任意の順番で組み合され、方法４００または代替的方法を実施してもよい。さらに、方法４００は、任意の適切なハードウェア、ソフトウェア、ファームフェア、およびこれらの組み合わせにおいて実施することができる。１つの実施形態において、フローチャートに示されている方法４００は、システム、例えば、図３のシステム３０２によって実行され得る。１つの実施形態において、システム３０２は、例示的なコンピューターシステム、例えば、例示的なコンピューターシステム８０１（図７）において実装することができる。図４の方法４００は、以下の図４〜７を参照して、より詳細に説明される。
【００３７】
図４を参照すると、図示の実施形態においては、４０２において、ユーザーがウェアラブルＡＲデバイス４０４に通信可能に接続されたＲＧＢセンサーを用いて、メディアストリームを取得したときに、方法４００が開始される。ＲＧＢセンサーを実装しているデバイス４０６の例としては、これに限定されないが、スマートフォン、ＰＤＡ、携帯型コンピューター等が挙げられる。ウェアラブルＡＲデバイス４０４は、ＡＲ関連機能を実行するためのＡＲアプリケーションをホスティングするよう集合的に構成されたハードウェアおよびソフトウェアを含む。説明の簡略化のために、ＡＲアプリケーションを実行するデバイスと共にＲＧＢセンサーを組み込んでいるデバイス４０６（または、ウェアラブルＡＲデバイス４０４）は、以下、集合的にデバイス４０８と称される。デバイス４０８は、ユーザーによって実行される一人称視点（ＦＰＶ）での動的なジェスチャー、例えば、図１Ａ〜１Ｄに示されているようなジェスチャーのメディアストリームを取得する。１つの実施形態において、ハンドジェスチャーは、動的なハンドジェスチャーを含む。１つの実施形態において、動的なハンドジェスチャーは、２Ｄハンドジェスチャーおよび３Ｄハンドジェスチャーの１つであってもよい。一人称視点（ＦＰＶ）で取得されたメディアストリームの複数のフレームは、４１０において、ジェスチャー認識システム（例えば、図３のシステム３０２）で処理するために、ストリーミング送信される。１つの実施形態において、デバイス４０８から取得された複数のフレームは、最初に、質の面で妥協することなく演算時間を減少させてリアルタイム性能を実現するために、ダウンスケール、例えば、解像度が３２０ｘ２４０等になるようダウンスケールされる。１つの実施形態において、デバイス４０８は、例えば、２５ＦＰＳで、複数のフレームをジェスチャー認識システムにストリーミング送信する。
【００３８】
工程４１２において、ジェスチャー認識システムは、メディアストリームの複数のフレームを受信する。複数のフレームは、デバイス４０８から取得された複数のＲＧＢフレームである。複数のＲＧＢフレームは、シーンの複数のフレームに関連付けられたＲＧＢ画像データを含む。ここで、ＲＧＢ画像データは、複数のフレームに関連付けられた赤色、緑色、および青色に対応するデータを意味する。
【００３９】
４１４において、ディープラーニングモデルを用いることにより、動的なハンドジェスチャーに関連付けられた時間情報が、ＲＧＢ画像データから推定される。１つの実施形態において、ジェスチャー認識システムは、動的なハンドジェスチャーに関連付けられた時間情報を推定する。推定された時間情報は、ユーザーのハンドポーズに関連付けられ、さらに、複数のフレームにおけるユーザーの手の上において特定された複数のキーポイントを含む。動的なハンドジェスチャーを実行している間のユーザーの様々なハンドポーズ（または、動的なハンドジェスチャーの複数の段階）が、図１Ａ〜１Ｄを参照して記述される。時間情報の推定の詳細な説明が、図５を参照して、さらに記述される。
【００４０】
図５を参照すると、動的なハンドジェスチャーに関連付けられた時間情報を推定するためのプロセスが示されている。ここで、時間情報の推定は、ハンドポーズ推定モジュール５０２によって実行される。ハンドポーズ推定モジュール５０２は、単一のＲＧＢ画像から３Ｄハンドポーズを推定するディープラーニングアプローチに基づいて、時間情報を推定することを容易にし、これにより、従来のシステムにおける奥行情報の入手困難さによって生じる課題を克服する。１つの実施形態において、ディープラーニングネットワークは、ＲＧＢ画像データを利用し、時間情報を推定する。上述のように、時間情報は、複数のフレームにおけるユーザーの視野（ＦｏＶ）内に存在する手の上の複数のキーポイントを含む。１つの実施形態において、複数のキーポイントは、指１つ当たり４個のキーポイントおよびユーザーの手の手首付近の１個のキーポイントを含む２１個の手のキーポイントを含む。ジェスチャー認識システムは、複数のキーポイントを検出し、さらに、ディープラーニングネットワークを用いて、複数のサンプルＲＧＢ画像から、サンプルのユーザーの手の複数のキーポイントを有する複数の潜在的ネットワーク３Ｄアーティキュレーション履歴（network-implicit 3D articulation priors）を学習／推定する。複数の潜在的ネットワーク３Ｄアーティキュレーション履歴は、ユーザーの手の複数のトレーニングサンプルＲＧＢ画像から判別された複数のキーポイントを含む。複数の潜在的ネットワーク３Ｄアーティキュレーション履歴に基づいて、ハンドポーズ推定モジュール５０２は、複数のフレーム（または、複数のＲＧＢ画像）内におけるユーザーの手の複数のキーポイントを検出する。ＲＧＢ画像内におけるユーザーの手の複数のキーポイントを検出するための詳細なプロセスが、図５に示されている。例えば、画像１３０、１３２、１３４のような複数のＲＧＢ画像が、５０２において、ジェスチャー認識システムで受信される。ジェスチャー認識システムは、動的なハンドジェスチャーに関連付けられた時間情報を推定するためのハンドポーズ推定モジュール５０２を含む。ハンドポーズ推定モジュール５０２は、これに限定されないが、以下に述べるような、ＨａｎｄＳｅｇＮｅｔネットワーク、ＰｏｓｅＮｅｔネットワーク、およびＰｏｓｅＰｒｉｏｒネットワークを含むディープラーニングネットワークの助けを借りて、時間情報を推定する。
【００４１】
ＨａｎｄＳｅｇＮｅｔネットワーク（５０８が付されている）：ＨａｎｄＳｅｇＮｅｔネットワークは、画像／フレーム内において手の位置を特定するためのセグメンテーションネットワークである。
【００４２】
ＰｏｓｅＮｅｔ（５１０が付されている）：セグメント化された手のマスクが入力として与えられると、ＰｏｓｅＮｅｔは、各キーポイントの２次元スコアマップを推定することにより、それぞれの空間位置についての尤度情報（likelihood information）を含む２１個のキーポイントの位置を特定する。
【００４３】
ＰｏｓｅＰｒｉｏｒ（５１２が付されている）：ＰｏｓｅＰｒｉｏｒネットワークは、ＰｏｓｅＮｅｔから得られたスコアマップを条件とする最も可能性の高い３Ｄの手の構造を推定する。
【００４４】
１つの例示的な実施形態において、上述のディープラーニングネットワークは、複数のキーポイントを推定するために、事前トレーニングされていてもよい。例えば、１つの実施形態において、複数のキーポイントは、ユーザーの手の２１個のキーポイントを含んでいてもよい。これらのネットワークは、合成の手のモデルに基づいて、複数のトレーニングサンプルＲＧＢ画像を有する大規模３Ｄハンドポーズデータセットを用いて、トレーニングされる。データセットは、複数のユニークアクションを実行する複数の異なる対象の膨大な量のフォトリアリスティックレンダリング（photo-realistic renderings）を含む。データセットを構築するために、データセット内に存在する全てのユーザーの手のビデオが、最適な範囲、例えば、ＦＰＶユースケースに理想的な、カメラ中心から４０ｃｍから６５ｃｍの範囲で準備される。照明の位置および強度はランダム化され、さらに、最大４０％の損失を伴う不可逆のＪＰＥＧ圧縮を用いて、複数の画像が保存される。背景は、様々な画像からランダムに選択され、カメラ位置は、外部要因に対するモデルのロバスト性（堅牢性）を確保するために、各フレームにおいて手を囲む球形領域においてランダムに選択される。上述のように、ディープラーニングネットワークを用いて、ハンドポーズ推定モジュール５０２は、複数の潜在的ネットワーク３Ｄアーティキュレーション履歴に基づいて、複数のフレーム内のユーザーの手の上の複数のキーポイントを検出する。ネットワークによって検出される２１個のキーポイントは、５１４において示すように、図５の入力ビデオフレーム５１６（例えば、ビデオフレーム５１８、５２０、５２２）上における重複物（overlay）として示されている。
【００４５】
ハンドポーズ推定モジュール５０２は、ユーザーの手の上において検出された２１個のキーポイントのそれぞれの座標値を出力する（これを、時間情報とも称する）。時間情報は、ジェスチャー分類ネットワークに対する入力である。ジェスチャー分類ネットワークは、ＬＳＴＭネットワークを含む。図４および６を参照して以下にさらに説明されるように、ＬＳＴＭネットワークは、複数のキーポイントに基づいて、動的なハンドジェスチャーを、少なくとも１つの事前定義されたジェスチャークラスに分類する。
【００４６】
再度図４を参照すると、４１６において、多層ＬＳＴＭ分類ネットワークを用いることにより、動的なジェスチャーが、複数のキーポイントの時間情報に基づいて、少なくとも１つの事前定義されたジェスチャークラスに分類される。１つの実施形態において、多層ＬＳＴＭネットワークは、第１の層と、第２の層と、第３の層と、を含む。第１の層は、ユーザーの手の上において検出された２１個のキーポイントの３Ｄ座標シーケンス（3D coordinates sequence）における長期の依存性およびパターン（long-term dependencies and patterns）を学習するための複数のＬＳＴＭセルから構成されたＬＳＴＭ層を含む。第２の層は、時間的データを１次元にする平滑化層（flattening layer）を含み、第３の層は、３Ｄの動的なハンドジェスチャーのそれぞれに対応する出力スコアを用いる完全接続層（fully connected layer）を含む。出力スコアは、少なくとも１つの事前定義されたジェスチャークラスへの分類のための、動的なハンドジェスチャーのそれぞれに対応する事後確率（posterior probability）を示す。例えば、本実施形態において、動的なハンドジェスチャーを４つのクラス（例えば、図１Ａ〜１Ｄに規定されている動的なハンドジェスチャー）に分類するようトレーニングされている場合、第３の層によって判別された４つの出力スコアが存在することになる。代替的な実施形態において、出力スコアの数は、ジェスチャークラスの数に応じて変化可能である。ここで、シーケンシャルデータの長期依存性の学習においてのＬＳＴＭニューラルネットワークの能力および効率は、ビデオフレームにおける手の複数のキーポイントの空間的な位置を用いて、ＬＳＴＭネットワークベースのアーキテクチャーがジェスチャー分類のタスクの実行することを容易にすることに留意されたい。動的なジェスチャー認識に対する開示の実施形態の重要な貢献は、開示の実施形態において、複数のフレームに渡る複数のキーポイントの変動をモデル化する際にハンドポーズの３Ｄ座標値のみを入力することにより、演算コストを減少させることができ、フレームワークのリアルタイム性能の実現に有用であるということである。動的なジェスチャーの少なくとも１つの事前定義されたクラスへの分類の例が、図６を参照して記述される。
【００４７】
図６を参照して、全ての層の後に出力形状を表示するジェスチャー分類タスクのための多層ＬＳＴＭネットワーク６００が記述される。ＬＳＴＭネットワーク６００は、３つの層、すなわち、ＬＳＴＭ層を含む第１の層６０２と、平滑化層を含む第２の層６０４と、完全接続層を含む第３の層６０６とを含むよう示されている。各ジェスチャー入力は、ＬＳＴＭネットワーク６００へ供給するための期間、１００フレームスプレッドに等しくサンプリングされ、図６に示すように、ＬＳＴＭ層６０２へのサイズ６３ｘ１００の入力（２１個のキーポイントのそれぞれの３つの座標値）が作成される。２００個のＬＳＴＭセルから構成されるＬＳＴＭ層６０２は、ネットワークトレーニングの間、座標のシーケンスにおける長期の依存性およびパターンを学習するよう試みる。ＬＳＴＭ層６０２は、データを１次元にする平滑化層６０４の前に存在する。平滑化層６０４の後には、４つのジェスチャーのそれぞれに対応する４つの出力スコアを用いる完全接続層６０６が存在する。
【００４８】
１つの実施形態において、ＬＳＴＭモデルは、ｓｏｆｔｍａｘアクティベーション機能（softmax activation function）を用いて、複数の動的なハンドジェスチャーのうちの動的なハンドジェスチャーを分類するためにトレーニングされる。ジェスチャー分類モジュールは、ｓｏｆｔｍａｘアクティベーション機能を用いて、出力スコアを、非正規化ログ確率（un-normalized long probabilities）として解釈し、さらに、出力スコアを、以下の式を用いて、０から１の範囲に圧縮する。
2019071048.tif 000003
ここで、Ｋはクラスの数を示し、ｓはｓｏｆｔｍａｘ機能への入力、スコアのＫｘ１ベクトルであり、ｊは０からＫ−１の間で変化するインデックスであり、σ（ｓ）は各ジェスチャーに関連付けられた事後確率を示すＫｘ１出力ベクトルである。
【００４９】
１つの実施形態において、ＬＳＴＭネットワークは、動的なジェスチャーを、ジェスチャークラスの１つに分類するためにトレーニングされる。１つの実施形態において、ＬＳＴＭネットワークのトレーニングは、以下の式を用いて、バッチのｉ番目のトレーニングサンプルのクロスエントロピー損失Ｌｉを算出する工程を含む。
Ｌｉ＝−ｈｊ＊ｌｏｇ（σ（ｓ）ｊ）
ここで、ｈは、入力のワンホットラベル（one-hot label）を示す１ｘＫベクトルであり、さらに、Ｌｉの平均は、バッチのトレーニング例全体から算出され、トレーニング中においてＬＳＴＭモデルを微調整するために、ＬＳＴＭネットワークに送り返される。
【００５０】
図４を参照すると、４１６において、動的なジェスチャーを少なくとも１つの事前定義されたジェスチャークラスに分類すると、ジェスチャー認識システムは、分類された少なくとも１つの事前定義されたジェスチャークラスを、デバイス４０８に送信し、これにより、デバイス４０８が、ＡＲアプリケーションにおける事前定義されたタスクを開始することが可能となる。
【００５１】
開示の実施形態に基づくジェスチャー分類を説明するための例示的なシナリオが、本記述においてさらに述べられる。
【００５２】
例示的なシナリオ
本明細書における実施形態は、自己中心の視点（egocentric view）で取得されたブルーム、クリック、ズームイン、ズームアウトの動的なハンドジェスチャーのデータセットを利用する。データセットは、トレーニングセットにおいて１つのジェスチャー当たり１００個のビデオと、テストセットにおいて１つのジェスチャー当たり２０個のビデオと、を含む４８０個のビデオを含む。データセット内のデータビデオは、３２０ｘ２４０の解像度および３０ＦＰＳで取得された高品質のビデオである。異なる肌の色を有し、年齢が２１〜５５歳の範囲にある６人のユーザーがデータ集合に含まれている。色の組み合わせ、照明の状態、および動的な背景シーンにおける最大変動を収集するために、ビデオは、複数の異なる場所（屋外、屋内、リビングルーム、オフィス環境、カフェテリア）で記録される。各ジェスチャーは、平均で４．１秒間続き、最も複雑なブルームは、平均５秒を要し、最も単純なズームジェスチャーは、平均で３．５秒を要する。
【００５３】
ハンドポーズ検出モジュール（図４を参照して記述された）は、手の２１個のキーポイントを検出することにより、ハンドポーズを推定するために利用される。ハンドポーズ検出モジュールによって検出される複数のキーポイントが、図７に示されている。
【００５４】
図７に示されているように、ジェスチャー認識システムのテストの間、ハンドポーズ検出モジュールによって検出される２１個のキーポイントは、入力画像上における重複物として示されている。これら２１個のキーポイントの３Ｄ座標値は、その後、ジェスチャー分類のためにＬＳＴＭネットワークに送られる。
【００５５】
ジェスチャー分類システムは、ＬＳＴＭ分類ネットワークをトレーニングおよびテストするために、４２０個のビデオのデータセットを利用する。トレーニングの間、トレーニングセットの４００個のビデオのそれぞれが、ＬＳＴＭネットワークへ供給されている期間、１００フレームスプレッドに等しくサンプリングされる。バッチサイズ５および有効化スプリット７０．３０で、ＬＳＴＭネットワークがＧＰＵセットアップにおいて約１１時間要する３００エポック（epochs）の間、トレーニングされる。ネットワークをトレーニングする間に、有効化スプリットにおいて９１％の精度が達成される。さらに、モデルは、８０個のビデオのテストセットによってテストされる。表１は、実験のための混合マトリクスを示している。８０個のうち、９件の分類ミスがあり、８７．５％の精度であった。動的なハンドジェスチャーの存在は、以下の式を用いた動的なハンドジェスチャーの確率が８５％を超えた場合に、検出される。
2019071048.tif 000004
ここで、σ（ｓ）ｉは、ｉ番目のクラス用の予測確率である。認識された動的なハンドジェスチャーは、スマートフォンに送信される。ジェスチャーが検出されなかった場合、ジェスチャー検出が為されなかったことが報告される。以下の表１は、８０個のうち、９件の分類ミスがあった精度８７．５％を得たジェスチャー認識システム用の混合マトリクスを示している。
2019071048.tif 000005
【００５６】
開示されたＬＳＴＭのみのアーキテクチャーは、ＧＰＵ実装上において、最大１０７のフレームレートで伝達を行うことができる。しかしながら、ハンドポーズ推定ネットワークは、９ＦＰＳで動作する。組み合わされたフレームワークの最大スループットを確保するために、ハンドポーズ推定ネットワークは、フレーム数を低下させることを許可されている。サーバーにおいて受信される最後のフレームは、ネットワークに供給される。ＬＥＳＴＭネットワークに供給される前に３Ｄ座標値が挿入され、１００個のデータポイントが取得される。これにより、フレームワークが、動的にＧＰＵ性能に応じて適応することが可能となり、そのため、ジェスチャーの実行が完了した後の認識時間を最小化することができる。その結果、提案のフレームワークの平均応答時間が、ＧＰＵ設定上において、０．８ｓになることがわかった。実施形態を実施するための例示的なコンピューターシステム８０１のブロック図が示されている。
【００５７】
図８は、本発明と一致する実施形態を実施するための例示的なコンピューターシステム８０１のブロック図である。コンピューターシステム８０１は、単独で実施されてもよいし、システム３０２（図３）の複数のコンポーネントと組み合わせて実施されてもよい。コンピューターシステム８０１のバリエーションを、本開示に含まれるデバイスを実施するために用いてもよい。コンピューターシステム８０１は、中央処理ユニット（「ＣＰＵ」または「ハードウェアプロセッサー」）８０２を含む。ハードウェアプロセッサー８０２は、ユーザーまたはシステムによって生成されたリクエストを実行するためのプログラムコンポーネントを実行する少なくとも１つのデータプロセッサーを含む。プロセッサーは、統合システム（バス）コントローラー、メモリー管理コントロールユニット、浮動小数点ユニット、画像処理ユニット、デジタル信号処理ユニット等のような特注の処理ユニットを含む。プロセッサーは、ＡＭＤ  Ａｔｈｌｏｎ（商標）、Ｄｕｒｏｎ（商標）、Ｏｐｔｅｒｏｎ（商標）のようなマイクロプロセッサー、ＡＲＭ‘ｓアプリケーション、組み込みまたはセキュアプロセッサー、ＩＢＭ  ＰｏｗｅｒＰＣＴＭ、インテルコア、Ｉｔａｎｉｕｍ（商標）、Ｘｅｏｎ（商標）、Ｃｅｌｅｒｏｎ（商標）、または他のプロセッサー等を含む。プロセッサー８０２は、メインフレーム、分散プロセッサー、マルチコア、パラレル、グリッド、または他のアーキテクチャーを用いて実施されてもよい。いくつの実施形態は、特定用途向け集積回路（ＡＳＩＣｓ）、デジタル信号プロセッサー（ＤＳＰｓ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡｓ）等のような実装技術を利用してもよい。
【００５８】
プロセッサー８０２は、Ｉ／Ｏインターフェース８０３を介して、１つ以上の入力／出力（Ｉ／Ｏ）デバイスと通信を行うよう配置されている。Ｉ／Ｏインターフェース８０３は、これに限定されないが、音声、アナログ、デジタル、モノラル、ＲＣＡ、ステレオ、ＩＥＥＥ−１３９４、シリアルバス、ユニバーサルシリアルバス（ＵＳＢ）、赤外、ＰＳ／２、ＢＮＣ、共軸、コンポーネント、複合、デジタルビジュアルインターフェース（ＤＶＩ）、高解像度マルチメディアインターフェース（ＨＤＭＩ）（登録商標）、ＲＦアンテナ、Ｓ−ビデオ、ＶＧＡ、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎ／ｘ、ブルートゥース（登録商標）、セルラー（例えば、符号分割多重アクセス方式（ＣＤＭＡ）や高速度パケットアクセス（ＨＳＰＡ＋）、グローバルシステムフォーモバイルコミュニケーション（ＧＳＭ）（登録商標）、ロングタームエボリューション（ＬＴＥ）、ＷｉＭａｘ等）等のような通信プロトコル／方法を採用してもよい。
【００５９】
Ｉ／Ｏインターフェース８０３を用いて、コンピューターシステム８０１は、１つ以上のＩ／Ｏデバイスと通信を行う。例えば、入力デバイス８０４は、アンテナ、キーボード、マウス、ジョイスティック、（赤外線）リモートコントロール、カメラ、カードリーダー、ファックス機、ドングル、生体リーダー、マイク、タッチスクリーン、タッチパッド、トラックボール、センサー（例えば、加速度計、光センサー、ＧＰＳ、ジャイロスコープ、近接センサー等）、スタイラス、スキャナー、ストレージデバイス、トランシーバー、ビデオデバイス／ソース、バイザー等であってもよい。
【００６０】
出力デバイス８０５は、プリンター、ファックス機、ビデオディスプレイ（例えば、カソードレイチューブ（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、プラズマ等）、音声スピーカー等であってもよい。いくつかの実施形態において、トランシーバー８０６が、プロセッサー８０２と通信可能に配置されている。トランシーバーは、様々なタイプの無線伝送または受信を容易にする。例えば、トランシーバーは、トランシーバーチップ（例えば、テキサスインスツルメンツＷｉＬｉｎｋ  ＷＬ１２８３、ブロードコムＢＣＭ４７５０ＩＵＢ８、インフィニオンテクノロジーズＸ−Ｇｏｌｄ  ６１８−ＰＭＢ９８００等）に動作可能に接続されたアンテナを含み、これにより、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎ、ブルートゥース、ＦＭ、グローバルポジショニングシステム（ＧＰＳ）、２Ｇ／３Ｇ  ＨＳＤＰＡ／ＨＳＵＰＡ通信等を提供することができる。
【００６１】
いくつかの実施形態において、プロセッサー８０２は、ネットワークインターフェース８０７を介して、通信ネットワーク８０８と通信可能に配置されている。ネットワークインターフェース８０７は、通信ネットワーク８０８と通信を行う。ネットワークインターフェースは、これに限定されないが、直接接続、イーサネット（登録商標）（例えば、ツイストペア１０／１００／１０００ベースＴ）、トランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、トークンリング、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎ／ｘ等であってもよい。通信ネットワーク８０８は、これに限定されないが、直接相互接続、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ネットワーク（例えば、ワイヤレスアプリケーションプロトコルを用いたもの）、インターネット等であってもよい。ネットワークインターフェース８０７および通信ネットワーク８０８を用いることにより、コンピューターシステム８０１は、デバイス８０９および８１０と通信を行うことができる。これらデバイスは、これに限定されないが、パーソナルコンピューター、サーバー、ファックス機、プリンター、スキャナー、携帯電話、スマートフォン（例えば、アップルｉＰｈｏｎｅ（登録商標）、ブラックベリー、アンドロイドベースのスマートフォン等）、タブレットコンピューター、ｅＢｏｏｋリーダー（アマゾンキンドル、Ｎｏｏｋ等）の様々な携帯デバイス、ラップトップコンピューター、ノートパソコン、ゲームコンソール（マイクロソフトＸｂｏｘ、任天堂ＤＳ、ソニープレイステーション等）等を含む。いくつかの実施形態において、コンピューターシステム８０１は、それ自身が、１つ以上のこれらのデバイスを具体化するものであってもよい。
【００６２】
いくつかの実施形態において、プロセッサー８０２は、ストレージインターフェース８１２を介して、１つ以上のメモリーデバイス（例えば、ＲＡＭ７１３、ＲＯＭ７１４等）と通信可能に配置されている。ストレージインターフェースは、これに限定されないが、シリアルアドバンスドテクノロジーアッタチメント（ＳＡＴＡ）、統合デバイスエレクトロニクス（ＩＤＥ）、ＩＥＥＥ−１３９４、ユニバーサルシリアルバス（ＵＳＢ）、ファイバーチャンネル、スマートコンピューターシステムインターフェース（ＳＣＳＩ）等の接続プロトコルを採用する、メモリードライブ、リムーバブルディスクドライブ等のメモリーデバイスに接続される。さらに、メモリーデバイスは、ドラム、磁気ディスクドライブ、光磁気ドライブ、光ドライブ、独立性ディスクの冗長アレイ（ＲＡＩＤ）、ソリッドメモリーデバイス、ソリッドステートドライブ等を含んでいてもよい。メモリーデバイスのバリエーションが、例えば、本開示において利用される任意のデータベースを実施するために用いられてもよい。
【００６３】
メモリーデバイスは、これに限定されないが、オペレーティングシステム８１６、ユーザーインターフェースアプリケーション８１７、ユーザー／アプリケーションデータ８１８（例えば、本開示において議論された任意のデータ変数またはデータ記録）等を含むプログラムまたはデータベースコンポーネントの集合を保存する。オペレーティングシステム８１６は、コンピューターシステム８０１のリソース管理および動作を容易にする。オペレーティングシステムの例としては、これに限定されないが、アップルマッキントッシュＯＳＸ、ユニックス、ユニックス風システムディストリビューション（例えば、Ｂｅｒｋｅｌｅｙ  Ｓｏｆｔｗａｒｅ  Ｄｉｓｔｒｉｂｕｔｉｏｎ（ＢＳＤ）、ＦｒｅｅＢＳＤ，ＮｅｔＢＳＤ，ＯｐｅｎＢＳＤ等）、リナックス（登録商標）ディストリビューション（例えば、Ｒｅｄ  Ｈａｔ、Ｕｂｕｎｔｕ、Ｋｕｂｕｎｔｕ等）、ＩＢＭ  ＯＳ／２、マイクロソフトウィンドウズ（登録商標）（ＸＰ、Ｖｉｓｔａ／７／８等）、アップルｉＯＳ、グーグルアンドロイド、ブラックベリーＯＳ等を挙げることができる。ユーザーインターフェース８１７は、テキストまたは画像のファシリティを介して、プログラムコンポーネントの表示、実行、インタラクション、操作、または動作を容易にする。例えば、ユーザーインターフェースは、コンピューターシステム８０１に動作可能に接続された表示システム上のコンピューターインタラクションインターフェース要素（これに限定されないが、カーソル、アイコン、チェックボックス、メニュー、スクロール、ウィンドウ、ウィジェット等）を提供する。グラフィカルユーザーインターフェース（ＧＵＩｓ）は、これに限定されないが、アップルマッキントッシュオペレーティングシステムのＡｑｕａ、ＩＢＳ  ＯＳ／２、マイクロソフトウィンドウズ（例えば、Ａｅｒｏ、Ｍｅｔｒｏ等）、ユニックスＸ−Ｗｉｎｄｏｗｓ、ウェブインターフェースライブラリ（例えば、ＡｃｔｉｖｅＸ、Ｊａｖａ（登録商標）、Ｊａｖａｓｃｒｉｐｔ，ＡＪＡＸ、ＨＴＭＬ、Ａｄｏｂｅ  Ｆｌａｓｈ等）等を含む。
【００６４】
いくつかの実施形態において、コンピューターシステム８０１は、データ、変数、記録等の本開示において記述されたようなユーザー／アプリケーションデータ８１８を保存する。このようなデータベースは、ＯｒａｃｌｅまたはＳｙｂａｓｅのようなフォールトトレラント、リレーショナル、スケーラブル、セキュアデータベースとして実施されてもよい。代替的に、そのようなデータベースは、アレイ、ハッシュ、連結リスト、構造化テキストファイル（例えば、ＸＭＬ）、テーブル、またはオブジェクト指向データベース（例えば、ＯｂｊｅｃｔＳｔｏｒｅ、Ｐｏｅｔ、Ｚｏｐｅ等を用いたもの）のような標準化データベースを用いて実施されてもよい。このようなデータベースは、本開示において上で述べられた様々なコンピューターシステム間で分散または統合されていてもよい。任意のコンピューターまたはデータベースコンポーネントの構造および動作は、任意の動作組み合わせによって、組み合わせ、統合、または分散されていてもよい。
【００６５】
さらに、いくつかの実施形態において、送受信されるサーバーのメッセージおよび命令は、オペレーティングシステムを含むハードウェアおよびクラウド実施に常駐するプログラムコード（すなわち、アプリケーションコード）から発せられる。さらに、本明細書において提供される１つ以上のシステムおよび方法が、クラウドベースの実施に好適であり得ることは留意されるべきである。例えば、いくつかの実施形態において、本開示の方法において用いられるデータのいくつかまたは全てが、任意のクラウド演算プラットフォーム上から得られるもの、または、任意のクラウド演算プラットフォーム上に保存されるものであってもよい。
【００６６】
様々な実施形態は、ディープラーニングアプローチを用いた自己中心のビデオにおけるジェスチャー認識のためのマーカーレス（marker-less）の動的なハンドジェスチャー認識方法およびシステムを開示する。開示のシステムは、ＲＧＢ画像データのみを用いて動作するので、奥行情報の必要性を排除することができる。これにより、ＡＲアプリケーション用の簡易なデバイスの選択肢を広げることができる。ＬＳＴＭネットワークは、リアルタイムでの４つの直感的なハンドジェスチャー（花、クリック、ズームイン、およびズームアウト）を認識することができ、さらに、より現実的なハンドジェスチャーデータを用いてモデルを微調整することにより、より複雑な認識タスクに拡張可能なポテンシャルを有している。例示的なシナリオを参照して記述されたように、開示のシステムは、ターンアラウンドタイムの減少させることができ、さらに、ジェスチャー認識の精度を向上させることができる。
【００６７】
本発明の実施形態は、ハードウェアおよびソフトウェア要素を含み得る。ソフトウェアにおいて実施される実施形態は、これに限定されないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含む。本明細書において記述された様々なモジュールによって実行される機能は、他のモジュールまたは他のモジュールの組み合わせにおいて実施されていてもよい。記述の目的のため、コンピューター使用可能またはコンピューター可読媒体は、命令実行システム、装置、またはデバイスによって使用、または、それらと通信されるプログラムを包含、保存、通信、伝搬、または送信可能な任意の装置であってもよい。
【００６８】
媒体は、電子、磁気、光、電磁気、赤外、若しくは、半導体システム（または、装置、デバイス）、または、伝搬媒体であってもよい。コンピューター可読媒体の例としては、半導体またはソリッドステートメモリー、磁気テープ、リムーバブルコンピューターディスケット、ランダムアクセスメモリー（ＲＡＭ）、リードオンリーメモリー（ＲＯＭ）、剛性磁気ディスク、および光ディスクが挙げられる。光ディスクの最近の例としては、コンピューターディスクリードオンリーメモリー（ＣＤ−ＲＯＭ）、コンパクトディスクリード／ライト（ＣＤ−Ｒ／Ｗ）、およびＤＶＤが挙げられる。
【図１】
2019071048.tif 000008
【図２】
2019071048.tif 000009
【図３】
2019071048.tif 000010
【図４】
2019071048.tif 000011
【図５】
2019071048.tif 000012
【図６】
2019071048.tif 000013
【図７】
2019071048.tif 000014
【図８】
2019071048.tif 000015
【外国語明細書】
2019071048.tif 000016
2019071048.tif 000017
2019071048.tif 000018
2019071048.tif 000019
2019071048.tif 000020
2019071048.tif 000021
2019071048.tif 000022
2019071048.tif 000023
2019071048.tif 000024
2019071048.tif 000025
2019071048.tif 000026
2019071048.tif 000027
2019071048.tif 000028
2019071048.tif 000029
2019071048.tif 000030
2019071048.tif 000031
2019071048.tif 000032
2019071048.tif 000033
2019071048.tif 000034
2019071048.tif 000035
2019071048.tif 000036
2019071048.tif 000037
2019071048.tif 000038
2019071048.tif 000039
2019071048.tif 000040
2019071048.tif 000041
2019071048.tif 000042
2019071048.tif 000043
2019071048.tif 000044
2019071048.tif 000045