(57)【要約】  画像における１つ又は複数の対象の１つ又は複数の手を含む１つ又は複数の領域を認識する検出プロセスを提供する。検出プロセスは、粗略な位置決めネットワークを用いて、画像において、画像における（１つ又は複数の）対象の（１つ又は複数の）手の部分を含む１つ又は複数のセグメントを大まかに位置決めすることから始めることができる。検出プロセスは、その後、これらのセグメントを組み合わせて、画像における（１つ又は複数の）対象の（１つ又は複数の）手を捉えた１つ又は複数の領域を取得することができる。その後、（１つ又は複数の）組み合わせられた領域をメッシュに基づくディープニューラルネットワークに供給して、画像における、捉えられた（１つ又は複数の）対象の（１つ又は複数の）手のみを含む（１つ又は複数の）領域を精細に検出することができる。
2019530039.tif 000002
【特許請求の範囲】
【請求項１】
画像における対象の手の検出方法であって、前記方法は、機械読み取り可能な命令を実行するように構成されるプロセッサによって実行され、前記方法は、
１つ又は複数の対象の１つ又は複数の手を捉えた画像の画像データを受信するステップと、
第１の位置決めネットワークにより前記画像データを処理して前記画像におけるセグメントを取得し、前記セグメントのそれぞれは、対象の手の部分を含むステップと、
前記セグメントを第１の画像領域に組み合わせるステップと、
前記第１の画像領域のサイズを所定のマージンで拡大するステップと、
グリッドに基づく検出ネットワークにより前記第１の画像領域を処理して、対象の手を捉えた第２の画像領域を取得するステップと、を含む、
ことを特徴とする画像における対象の手の検出方法。
【請求項２】
前記第１の位置決めネットワークは、直列に接続される２つのサブ段階を有する畳み込みニューラルネットワーク（ＣＮＮ）を含む、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記セグメントは、対象の手の第１の部分を含む第１のセグメントと、対象の少なくとも片手の第２の部分を含む第２のセグメントと、を含み、前記第１の部分と前記第２の部分とが少なくとも部分的に重なり合っている、
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記第１の画像領域のサイズを所定のマージンで拡大するステップは、
前記前記画像をｎ×ｎグリッドに分割するステップと、
前記第１の画像領域を所定のマージンで拡大するステップと、
前記第１の画像領域の境界をグリッドと位置合わせするステップと、を含み、
前記所定のマージンは、単一のグリッドユニットのサイズである、
ことを特徴とする請求項１に記載の方法。
【請求項５】
前記グリッドに基づく検出ネットワークは、前記第１の画像領域のグリッドユニットを処理するように構成される複数の層を含むディープＣＮＮを含む、
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記グリッドに基づく検出ネットワークは、３つより多くの層を含む、
ことを特徴とする請求項５に記載の方法。
【請求項７】
前記方法は、バッチ勾配降下法により、対象の手の位置及びサイズのマーキングを有するトレーニング画像データを用いて、前記第１の位置決めネットワークを訓練するステップをさらに含む、
ことを特徴とする請求項１に記載の方法。
【請求項８】
前記方法は、
前記第１の位置決めネットワークにより前記トレーニング画像データを処理して、対象の手の部分を含む画像セグメントを取得するステップと、
前記画像セグメントを組み合わせて拡大して、対象の手を捉えた画像領域を取得するステップと、
前記画像領域を用いて、グリッドに基づく検出ネットワークを訓練するステップと、をさらに含む、
ことを特徴とする請求項７に記載の方法。
【請求項９】
画像における対象の手の検出システムであって、前記システムは、機械読み取り可能な命令を実行するように構成されるプロセッサを含み、前記機械読み取り可能な命令が実行される場合、前記システムは、
１つ又は複数の対象の１つ又は複数の手を捉えた画像の画像データを受信するステップと、
第１の位置決めネットワークにより画像データを処理して前記画像におけるセグメントを取得し、前記セグメントのそれぞれは、対象の手の部分を含むステップと、
前記セグメントを第１の画像領域に組み合わせるステップと、
前記第１の画像領域のサイズを所定のマージンで拡大するステップと、
グリッドに基づく検出ネットワークにより前記第１の画像領域を処理して、対象の手を捉えた第２の画像領域を取得するステップと、を実行する、
ことを特徴とする画像における対象の手の検出システム。
【請求項１０】
前記第１の位置決めネットワークは、直列に接続される２つのサブ段階を有する畳み込みニューラルネットワーク（ＣＮＮ）を含む、
ことを特徴とする請求項９に記載のシステム。
【請求項１１】
前記セグメントは、対象の手の第１の部分を含む第１のセグメントと、対象の少なくとも片手の第２の部分を含む第２のセグメントと、を含み、前記第１の部分と前記第２の部分とが少なくとも部分的に重なり合っている、
ことを特徴とする請求項９に記載のシステム。
【請求項１２】
前記第１の画像領域のサイズを所定のマージンで拡大するステップは、
前記画像をｎ×ｎグリッドに分割するステップと、
前記第１の画像領域を所定のマージンで拡大するステップと、
前記第１の画像領域の境界をグリッドと位置合わせするステップと、を含み、
前記所定のマージンは、単一のグリッドユニットのサイズである
ことを特徴とする請求項９に記載のシステム。
【請求項１３】
前記グリッドに基づく検出ネットワークは、前記第１の画像領域のグリッドユニットを処理するように構成される複数の層を含むディープＣＮＮを含む、
ことを特徴とする請求項９に記載のシステム。
【請求項１４】
前記グリッドに基づく検出ネットワークは、３つより多くの層を含む、
ことを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記プロセッサは、さらに、バッチ勾配降下法により、対象の手の位置及びサイズのマーキングを有するトレーニング画像データを用いて、前記第１の位置決めネットワークを訓練するように構成される、
ことを特徴とする請求項９に記載のシステム。
【請求項１６】
前記プロセッサは、さらに、前記第１の位置決めネットワークによりトレーニング画像データを処理して、対象の手の部分を含む画像セグメントを取得するステップと、
前記画像セグメントを組み合わせて拡大して、対象の手を捉えた画像領域を取得するステップと、
画像領域を用いて、グリッドに基づく検出ネットワークを訓練するステップと、を実行するように構成される、
ことを特徴とする請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ化された手検出分野に関するものである。
【背景技術】
【０００２】
いくつかの従来の手検出技術は、機械学習に頼って画像において捉えられた（１つ又は複数の）手の位置及びサイズを決定する。これらの技術の働きで、通常トレーニングセットを構築して、信頼性のある分類又は回帰関数を生成する。検出された手及び基礎をなすトレーニングセットのノイズ及び歪みは、信頼性のある分類又は回帰を抑制するおそれがある。
【０００３】
各種のジェスチャー、照明の変化、複雑な背景、画像における肌色の干渉などのため、手の検出は、挑戦的なものである。手検出するための機械学習プロセスは、通常、大量のトレーニングデータを必要とし、これらのトレーニングデータは、非制御の場面で観察された手の位置及びサイズを示す。
【０００４】
これらの技術のトレーニングデータは、手動マーキングアップにより取得することができる。手の位置及びサイズは、トレーニングデータから抽出することができる。これらの技術の一部は、手の特徴を抽出するように訓練され得る畳み込みニューラルネットワーク（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ／ＣＮＮ）を用いる。例えば、２０１６年１月１９日に提出された、名称が「カスケード畳み込みニューラルネットワークに基づく自我中心視野空中手書き及び空中インタラクション方法」で、中国特許出願第１０５７１８１０７８Ａ号である特許出願には、対象の手のＲＧＢ画像を特定の角度から分析するように訓練され得るＣＮＮが記載されている。中国特許出願第１０５７１８１０７８Ａ号である特許出願の内容は、参照により本明細書に援用される。例えば、中国特許出願第１０５７１８１０７８Ａ号明細書に記載されているディープＣＮＮが手検出の面で良好な性能を有する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ディープＣＮＮは、特徴を捉える面で良好な性能を有するが、ＣＮＮに基づく技術は、通常、トレーニング及びテストのために大きな計算能力を必要とすることが既に証明されている。より高い正確さを実現するために、ＣＮＮに基づく手検出技術は、ＣＮＮにおいてより多くの層を必要とするため、より多くの計算能力を必要とすることが１つの原因である。これらのディープＣＮＮの使用にも時間がかかる。そのため、従来のＣＮＮに基づく手検出技術を改善して効率を向上させる必要がある。
【課題を解決するための手段】
【０００６】
実施例は、画像における１つ又は複数の対象の１つ又は複数の手を含む１つ又は複数の領域を検出するプロセスを提供することができる。その後、当該プロセスによって検出された画像における（１つ又は複数の）領域を、ジェスチャー認識プロセスに供給して、検出された（１つ又は複数の）手のジェスチャーの認識に用いることができる。いくつかの実施例において、検出プロセスは、非常に簡単かつ急速に実現される粗略（ｃｏａｒｓｅ）な位置決めネットワークを用いて、画像において、画像における（１つ又は複数の）対象の（１つ又は複数の）手の部分を含む１つ又は複数のセグメントを大まかに位置決めすることから始めることができる。それらの実施例において、検出プロセスは、その後、これらのセグメントを組み合わせて、画像における（１つ又は複数の）対象の（１つ又は複数の）手を捉えた１つ又は複数の領域を取得することができる。いくつかの実施例において、検出プロセスは、画像における（１つ又は複数の）組み合わせられた領域を拡大して、（１つ又は複数の）対象の（１つ又は複数の）手に関するいくつかのコンテクスト情報を含ませて、各グリッドユニットが同一の所定のサイズを有するグリッドに位置合わせすることができる。その後、（１つ又は複数の）拡大された領域を精細（ｆｉｎｅ）なグリッドに基づく検出ネットワークに供給して、画像において、捉えられた（１つ又は複数の）対象の（１つ又は複数の）手のみを含む（１つ又は複数の）正確な領域を検出することができる。従来技術におけるＣＮＮに基づく手検出技術と比較して、本開示の実施例は、（１つ又は複数の）対象の（１つ又は複数の）手を含むと予測された単一の画像における（１つ又は複数の）領域と、必要なコンテクストとのみを、精細なグリッドに基づく検出ネットワークにおいて用いられるＣＮＮに供給することにより、精細なグリッドに基づく検出ネットワークに供給される入力画像のデータ量を削減することができる。このようにすることで、精細なグリッドに基づく検出ネットワークの入力データ量を削減し、手を検出するための時間を削減することができる。
【０００７】
いくつかの実施例において、簡単なカスケードＣＮＮ（例えば、２つのサブ段階）を訓練して、粗略な位置決めネットワークとして、画像において対象の手を含むセグメントを位置決めすることができる。所定の画像における位置決めされたセグメントは、対象の手の異なる部分を含むことができる。これは、対象の手の大まかな位置として理解されてもよい。このような粗略な位置決めネットワークに用いられるＣＮＮが、非常に小さく、かつ実現しやすいものであってもよいため、それを実現するのに必要な計算リソースが比較的少ない。位置決めされたセグメントにおける手の部分は、互いに重なり合ってもよい。例えば、第１の位置決めセグメントは、第２の位置決めセグメントにおける対象の手の一部と（空間的に）部分的に重なり合う対象の手の一部を含むことができる。
【０００８】
いくつかの実施例において、組み合わせプロセスは、上記セグメントを組み合わせて、画像における（１つ又は複数の）対象の（１つ又は複数の）手の（１つ又は複数の）を捉えた画像における領域を取得する。例えば、画像において対象の片手のみを捉えた場合、位置決めされたセグメントを、組み合わせて、画像における、手を捉えた領域を取得することができる。他の一例として、画像において対象の両手を捉えた場合、位置決めされたセグメントを組み合わせて２つの領域を形成することができ、それぞれの領域が対象の片手を捉えたか、又は、１つの領域が対象の両手を捉えた。いくつかの実施例において、画像において複数の対象を捉えることができる。それらの実施例において、画像における複数の領域を取得して、当該複数の領域のそれぞれが画像における対象の１つ又は複数の手を捉えることができる。しかし、粗略な位置決めネットワークの精度が高くなくてもよいので、手を含まないいくつかの領域が存在する可能性がある。これは、次の精細な検出ネットワークにおいて補正することができる。
【０００９】
一部の実施例において、画像における組み合わせ領域が、組み合わせ領域を囲むより多くの囲み領域を含むように拡大される。一実行形式において、画像をグリッドに分割し、画像における、取得された領域を囲む所定数のグリッドユニットを用いて組み合わせ領域を拡大することができる。このような方式により、画像における、対象の手に関するいくつかのコンテクスト情報を取得することができる。このようなコンテクスト情報は、ＣＮＮに基づいた検出に役立ち、より高い精度を実現することができる。また、手のコンテクスト情報を含むことは、手の検出のために画像における他の無関係な情報を過度に含まないようにしながら、対象の手を検出することを目的とする。そのため、当該組み合わせプロセスを用いて、ＣＮＮに基づく手検出のより高い精度及び効率を実現することができる。
【００１０】
いくつかの実施例において、前述した処理された領域をグリッドに基づく検出ネットワークに送信することができる。精細なグリッドに基づく検出ネットワークに供給された場合、組み合わせ領域は、グリッドに分割することができる。いくつかの実施例において、グリッドに基づく検出ネットワークは、ＣＮＮを含むことができ、ＣＮＮは、処理された領域の各グリッドユニットを処理して、処理された領域において捉えられた対象の手の正確な位置及びサイズを取得することができる。このプロセスは、対象の手の精細な検出と理解されてもよい。
【００１１】
他の実施例は、本明細書に記載の方法に関連するシステム及びコンピュータ読み取り可能な媒体を提供する。
【００１２】
本開示において見出されるそれらの革新、実施例及び/又は例を合理的に記載して説明するために、１つ又は複数の図面を参照することができる。１つ又は複数の図面を説明する付加的な詳細又は例は、特許請求される発明のいずれかの範囲、現在記載の実施例及び／又は例のいずれか、又は本開示に示される革新の、現在最良だと考えられるモードのいずれかを限定するものと理解されてはいけない。
【図面の簡単な説明】
【００１３】
【図１】本開示に係る画像における手の領域を検出することを概念的に示す。
【図２】本開示に係る画像において捉えられた対象の手を検出するための例示的な一方法を示す。
【図３】画像において捉えられた対象の手の部分を含むセグメントを位置決めするために、粗略な位置決めネットワークに使用され得る２つのサブ段階カスケードＣＮＮを示す。
【図４】本開示に係る粗略な位置決めネットワークによって位置決めされた、対象の手の複数の部分を含み得るセグメントを示す。
【図５】位置決めされたセグメントを組み合わせることにより取得できる領域の一例を示す。
【図６】画像において捉えられた対象の手を含む取得された領域の拡大に係るいくつかの操作を示す１つの例示的なフローチャートを示す。
【図７】図６に示すプロセスによって取得された画像領域の一例を示す。
【図８】図２に示す方法で対象の複数の手を認識することができることを概念的に示す。
【図９】実施例を含み、実施例に組み込まれ、或いは本開示において見出されるいずれの革新、実施例及び/又は例を実施するために用いられることが可能であるコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１４】
機械学習において、畳み込みニューラルネットワーク（ＣＮＮ又はＣｏｎｖＮｅｔ）は、フィードフォワード人工ニューラルネットワークの一種であり、そのニューロン間の接続パターンが、動物の視覚皮質組織から発想を得ている。各皮質ニューロンは、受容野と呼ばれる視野の限定された領域において刺激に応答する。異なるニューロンの受容野は、全視野を覆うように部分的に重なり合っている。畳み込み演算によりそれらの受容野内の刺激に対する個体のニューロンの応答を数学的に近似することができる。
【００１５】
画像認識について、畳み込みニューラルネットワーク（ＣＮＮ）は、通常、複数層の受容野から構成することができる。これらは、入力画像を処理する一部の小型ニューロンのセットである。通常のニューラルネットワークと異なって、ＣＮＮの層は、幅、高さ、深さの三次元に配置されたニューロンを有することができる。（なお、本明細書において、「深さ」とは、ニューラルネットワークの全体の深さではなく、活性化ボリュームの第３の次元を指すものであり、ネットワーク内の層の総数を指してもよい）。例えば、ＣＩＦＡＲ−１０における入力画像は、活性化入力ボリュームを有することができ、当該ボリュームは、３２×３２×３（それぞれ幅、高さ、深さである）の次元を有する。ＣＮＮは、そのニューロンを幅、高さ、深さの三次元に配置することができる。ＣＮＮの各層は、いずれも３Ｄ入力ボリュームをニューロンのアクティブな３Ｄ出力ボリュームに変換することができる。例えば、ＣＮＮは、画像データを保持する入力層を有することができるため、その幅及び高さは、画像の次元になり、深さは、３（赤、緑、青のチャンネル）となる。例えば、ＲＧＢ入力画像は、３２×３２×３の画素値を有することができ、すなわち、幅が３２画素を有し、高さが３２画素を有し、深さが３（すなわち、Ｒ、Ｇ及びＢの３つのカラーチャンネル）である。
【００１６】
手の検出は、例えば、家電製品（例えば、エアコン）用非接触型インターフェースの設計にとって重要なものである。このようなインターフェースは、例えば、家電製品を制御するために、ユーザがジェスチャーで家電製品とインタラクションすることを許容することができる。ディープＣＮＮを有する対象の検出は、既に成功している。対象検出における方法は、手の検出に用いることができるが、いくつかの変化がある。ＣＮＮに基づいたこれらの手の検出のキーポイントは、様々な手の位置及びサイズを捉えた異なるデータ集合である。これらの技術に用いられるデータ集合は、通常その（１つ又は複数の）手を有する対象（例えば、人間）を捉えた画像を含む。画像は、通常人間の顔及び/又は体を表示する距離から対象を捉える。数多くの場合において、画像は、対象の背景を捉えることもできる。その後、これらの画像は、ディープＣＮＮにフィードバックされて、手の検出に用いられる。
【００１７】
本開示の発明者によって提供される１つの見解は、入力データ（例えば、画像）が画像内の対象の手に無関係な大量の情報を含むため、手の検出ための従来のＣＮＮに基づいた技術は、通常時間がかかることである。多くの場合において、入力データは、これらの技術に採用されるディープＣＮＮにおける異なる層により処理されて手が検出される。これは、大量な計算能力を必要とするため、時間がかかるようになる。本開示によって提供される当該課題に対する１つの解決策は、簡単なＣＮＮを粗略な位置決めネットワークとして、対象の画像における、対象の１つ又は複数の手を含む１つ又は複数の領域を大まかに位置決めすることである。その後、対象の手のみを含む（１つ又は複数の）画像領域に対してより精細な検出が実行されるように、これらの領域は、グリッドに基づいた検出ネットワークを用いてさらに処理することができる。このような方式により、ＣＮＮに基づく手検出技術に採用されるディープＣＮＮにより処理される必要のある情報がより少なくなるだけでなく、入力データが対象の（１つ又は複数の）手に関するデータのみを含むため、より高い正確さを実現することができる。
【００１８】
本開示に係る手の検出は、一般的に３つの段階に分けることができる。第１の段階において、対象の画像を受信することができる。当該画像は、画像における対象の（１つ又は複数の）手と無関係な情報を含むことができる。同様に、第１の段階において、簡単なカスケードＣＮＮ（例えば、２つのサブ段階）を粗略な位置決めネットワークとして、画像における、対象の（１つ又は複数の）手の一部を含む１つ又は複数のセグメントを大まかに位置決めすることができる。対象の（１つ又は複数の）手のような位置は、対象の手の大まかな位置と理解されてもよい。これらのセグメントは、互いに重なり合っている対象の（１つ又は複数の）手の部分を含むことができる。
【００１９】
第２の段階において、粗略な位置決めネットワークによって位置決めされたセグメントを処理して、画像における、対象の手を含むと予測された１つ又は複数の領域及び対象の手に関するいくつかのコンテクスト情報を取得することができる。画像において対象の片手のみを捉えた場合、１つの領域を取得することができる。画像において対象の２つの手を捉えた場合、２つの手を含む１つの領域又は２つの領域を取得することができる。当然なことながら、画像において捉えられた対象が複数存在する場合、複数の領域を取得することができる。しかし、粗略な位置決めネットワークの精度が高い必要がないため、手を含まないいくつかの領域が存在する可能性がある。これは、第３の段階で補正することができる。
【００２０】
第３の段階において、第２の段階で取得された画像における領域を、グリッドに基づく検出ネットワークに供給して、対象の手のみを含む（１つ又は複数の）画像領域をより精細に認識することができる。第３の段階の結果は、対象の手のみを含む入力画像の一部である。この段階は、対象の手のより精細な検出と理解されてもよい。
【００２１】
図１は、本開示に係る画像において捉えられた対象の手を認識することを概念的に示す。図２は、本開示に係る画像において捉えられた対象の手を認識するための例示的な一方法２００を示す。図１及び図２を互いに参照しながら説明する。まず、図２を参照し、図２に示された特定の一連の処理ステップは、限定するものではない。なお、処理ステップは、図２に示された順番と異なる順番で実行することができ、また、図２に示されたステップが必ずしも全部実行されるわけではない。いくつかの実行形式において、方法２００は、図９に示すようなシステムによって生成することができる。
【００２２】
いくつかの実施例において、方法２００に示す方法は、１つ又は複数の処理装置（例えば、デジタルプロセッサ、アナログプロセッサ、情報を処理するように設計されるデジタル回路、情報を処理するように設計されるアナログ回路、ステートマシン、及び／又は情報を電子的に処理するための他の機械装置）において生成することができる。当該１つ又は複数の処理装置は、電子記憶媒体に電子的に記憶されている命令に応答して、方法２００の一部又は全ての操作を実行する１つ又は複数の装置を含むことができる。当該１つ又は複数の処理装置は、方法２００の１つ又は複数の操作を実行するために特別に設計されるようにハードウェア、ファームウェア及び／又はソフトウェアによって構成される１つ又は複数の装置を含むことができる。
【００２３】
２０２において、画像のデータを受信することができる。２０２において受信できる画像の例は、図１に示す１０８として示されている。図１に示すように、画像１０８は、対象、例えば、人間を含むことができ、対象は、ある方式で置かれた少なくとも片手を有するものとして捉えることができる。手検出の目標は、対象の手の位置及びサイズを求めることである。手の領域は、手の１つ又は複数のパラメータに関する定義を有することができる。手検出の結果は、その後のジェスチャー認識に用いることができる。いくつかの実施例において、ジェスチャーは、家電製品を制御するための１つ又は複数の制御命令に変換又はマッピングすることができる。
【００２４】
図２を再度に参照し、２０４において、２０２において受信された画像データを、粗略な位置決めネットワークに送信して、画像において対象の手の一部を含む１つ又は複数のセグメントを大まかに位置決めすることに用いることができる。図１を参照し、この例における対象は、画像１０８において捉えられた１つの手を有する。ステップ２０４の目標は、例えば、この例に示す１１２ａ−ｎのような画像１０８における複数のセグメントを認識することである。これらのセグメントのそれぞれは、少なくとも画像１０８において捉えられた対象の手の一部を含むことができる。１つ又は複数の方法により、２０４において実行されるセグメントの位置決めを実現することができる。いくつかの実行形式において、セグメントは、下記の数式１のように表現することができる。
【数１】
2019530039.tif 000003
【００２５】
ここで、Ｒ０＿ｉは、さらに下記の数式２のように表現することができる。
【数２】
2019530039.tif 000004
【００２６】
ここで、（ｘ０＿ｉ，ｙ０＿ｉ）は、画像１０８において捉えられた対象の手の一部を有すると予測されたｉ番目のセグメントの座標を表し、（ｗ０＿ｉ，ｈ０＿ｉ）は、ｉ番目のセグメントの幅及び高さを表し、ｓ０＿ｉは、ｉ番目のセグメントが画像１０８において捉えられた対象の手の一部を有する信頼度を表す。
【００２７】
いくつかの例において、２０４において、簡単なカスケードＣＮＮを大まかな手のセグメントの位置決めに用いることができる。前述したように、ステップ２０４の目標は、画像１０８においてセグメント１１２ａ−ｎを大まかに位置決めすることである。この目標を実現するために、採用される粗略なＣＮＮ１０２は、あまり深くなくてもよい。一実行形式実現において、２つのサブ段階カスケードＣＮＮで画像１０８におけるセグメント１１２ａ−ｎを位置決めすることができる。これは、図３に示されている。図に示すように、図１に示す粗略な位置決めネットワーク１０２に用いられたカスケードＣＮＮは、直列に接続される第１のサブ段階３０２と第２のサブ段階とを有することができ、これにより、画像１０８の画像データを粗略なＣＮＮ１０２に供給することができ、セグメント１１２ａ−ｎを位置決めすることができる。このような方式により、画像１０８において捉えられた対象の手に無関係な情報の大部分を、さらなる処理により除去することができ、対象の手に関するデータに集中して、さらなる処理に用いることができる。
【００２８】
図２を再度に参照し、２０６において、粗略な位置決めネットワークから、２０６において位置決めされた１つ又は複数の画像のセグメントを受信することができる。なお、２０６において受信された各セグメントは、対象の手の部分を含むことができる。これは、図４に示される。図４に示すように、４つのセグメント４０４ａ−ｄが、対象の手４０２の一部を含むと予測されている。示すように、各セグメントは、互いに重なり合っている手の部分を有することができる。この例において、４０４ａは、他の３つのセグメントのそれぞれと重なり合っており、また、他の３つのセグメントも同様である。
【００２９】
図２を再度に参照し、２０８において、２０６において受信されたセグメントを組み合わせて、画像において対象の（１つ又は複数の）手を含むと予測された１つ又は複数の領域を取得することができる。前述したように、２０８において取得された各領域は、画像において捉えられた対象の異なる手を含むことができる。ステップ２０８の目標は、対象の（１つ又は複数の）手を含む（１つ又は複数の）領域を見出し、精細なグリッドに基づく検出ネットワークの入力間の重なり合いを回避して計算を削減することである。
【００３０】
２０８において、２０６において受信されたセグメントを組み合わせることにより取得することができる所定の領域セットＳ１は、下記の数式３のように表現することができる。
【数３】
2019530039.tif 000005
【００３１】
ここで、Ｒ１＿ｋは、Ｓ１領域セットにおけるｋ番目の領域を表す。Ｒ１＿ｋは、例えば、Ｒ０＿ｉ及びＲ０＿jのような、重なり合っているＲ０セグメントから取得することができる。Ｒ０＿ｉが、Ｒ０＿ｉ＝（ｘ０＿ｉ，ｙ０＿ｉ，ｗ０＿ｉ，ｈ０＿ｉ，ｓ０＿ｉ）のパラメータを有し、Ｒ０＿ｊが、Ｒ０＿ｊ＝（ｘ０＿ｊ，ｙ０＿ｊ，ｗ０＿ｊ，ｈ０＿ｊ，ｓ０＿ｊ）のパラメータを有し、Ｒ１＿ｋが、（ｘ１＿ｋ，ｙ１＿ｋ，ｗ１＿ｋ，ｈ１＿ｋ）のパラメータを有することを仮定すると、以下の数式４の関係でＲ１＿ｋを取得することができる。
【数４】
2019530039.tif 000006
【００３２】
図５は、図４に示す２０４において位置決めされたセグメントを組み合わせることにより取得された領域５０２（Ｓ１）の一例を示すものである。
【００３３】
図２を再度に参照し、２１０において、２０８において取得された領域を拡大することができる。ステップ２０８の目標は、２０８において取得された領域において捉えられた対象の手に関するいくつかのコンテクスト情報を含むことであり、これは、コンテクスト情報がステップ２１２において対象の手をさらに認識することに役立つことができるからである。ステップ２０８の他の目標は、グリッドユニットのサイズが予め設定されたグリッドに分割することができるように、領域を拡大することである。図６は、ステップ２０８が含み得るいくつかの操作の１つの例示的なフローチャート６００を示すものである。図２を参照して図６を説明する。
【００３４】
６０２において、２０２において受信された画像（例えば、画像１０８）をｎ＊ｎグリッドに分割することができる。画像１０８が幅Ｗと高さＨとを有すると仮定すると、単一の画像ブロックは、幅＝Ｗ/ｎ、高さ＝Ｈ/ｎという次元を有することができる。
【００３５】
６０４において、２０８において取得された領域のそれぞれを少なくとも１つのグリッドユニットのサイズで拡大して、新たな拡大領域を取得することができる。示すように、Ｒ１＿ｉを例として、Ｒ１＿ｉは、Ｒ１＿ｉ＝（ｘ１＿ｉ，ｙ１＿ｉ，ｗ１＿ｉ，ｈ１＿ｉ）とのパラメータを有する。拡大された領域がＲ２＿ｉであり且つＲ２＿ｉ＝（ｘ２＿ｉ，ｙ２＿ｉ，ｗ２＿ｉ，ｈ２＿ｉ）とのパラメータを有すると仮定すると、Ｒ１＿ｉとＲ２＿ｉとの間の関係は、以下の数式５のように表現することができる。
【数５】
2019530039.tif 000007
【００３６】
ここで、ｗは、グリッドユニットの幅、即ちＷ/ｎを表し、ｈは、グリッドユニットの高さ、即ちＨ/ｎを表す。なお、以上の条件表現式は、Ｒ１＿ｉが少なくとも１つの画像ブロックで拡大されて、２０２において受信された画像の境界を超えることができる状況を説明するためのものである。この場合、受信された画像２０２の境界は、拡大されたブロックＲ２＿ｉの境界として用いられる。
【００３７】
６０６において、拡大された領域の境界は、グリッドに位置合わせすることができる。Ｓ３が６０６で位置合わせされた後の領域セットであり且つＳ３が、対象の手及びいくつかのコンテクスト情報を含むｍ個の領域Ｒ３を有することができ、Ｓ３＝｛Ｒ３＿１，Ｒ３＿２，．．．Ｒ３＿ｉ．．．，Ｒ３＿ｍ｝と表現することができ、Ｒ３＿ｉは、Ｓ３におけるｉ番目の領域を表し、且つＲ３＿ｉ＝（ｘ３＿ｉ，ｙ３＿ｉ，ｗ３＿ｉ，ｈ３＿ｉ）とのパラメータを有することができると仮定すると、Ｒ３＿ｉは、以下の数式６のように表現することができる。
【数６】
2019530039.tif 000008
【００３８】
ここで、ｗとｈは、グリッドユニットの幅と高さである。例示的な領域Ｓ３は、図１において１１４と示されている。見てわかるように、上記操作により、画像において対象の手及びいくつかのコンテクストを認識することができる。
【００３９】
図７は、図６に示すプロセスによって取得された画像領域の一例を示す。この例に示すように、図５に示す組み合わせられた第１の画像領域を、まず、１つのグリッドユニットで拡大して、拡大領域７０２を取得することができる。他の画像領域７０４を取得するために、画像におけるグリッドユニットにマッピングされるように、領域７０２の境界を拡大して、位置合わせすることができる。
【００４０】
引き返して図２を参照し、２１２において、２１０で取得された画像領域（例えば、図７に示す領域７０４）を、グリッドに基づく検出ネットワークに送信して、２１０で取得された画像領域において捉えられた対象の手のより正確（精細）な認識に用いることができる。２１１の目標は、精細なグリッドに基づく検出ネットワークの入力が、精細な検出に十分なコンテクストを有し、精細なグリッドに基づく検出ネットワークを、グリッドユニットのサイズが予め決定されたグリッドに分割することができることを確保することである。精細なグリッドに基づく検出ネットワークは、図１において、１０６として概念的に示されている。いくつかの実行形式において、精細な検出ネットワーク１０６は、複数の層（例えば、３つより多くの層）を有することができる。精細な検出ネットワーク１０６は、受信された画像を、そのグリッドユニットのサイズが前述したｗ＊ｈ（すなわち、ｗ＝Ｗ/ｎ、ｈ＝Ｈ/ｎ）であるグリッドに分割することにより画像を処理するように設計され得る。精細な検出ネットワーク１０６は、それの対象の手と関連する信頼度スコアにより、精細な検出ネットワーク１０６によって受信された画像における各グリッドユニットを処理するように設計され得る。実行形式において、閾値信頼度スコアより高い信頼度スコアを有する画像ブロックが２１２において組み合わせられて、対象の手の認識を取得するために、閾値信頼度スコアを予め決定することができる。図１に示すように、手認識１１６は、画像領域１１４を精細な検出ネットワーク１０６に送信することより、取得することができる。画像領域１１４及び１１６を比較すると、領域１１６は、対象の手にさらに集中しており、かつ、領域１１４より小さい。
【００４１】
いくつかの実行形式において、バッチ勾配降下法でデータを訓練することにより、粗略な位置決めネットワーク１０２を訓練することができる。トレーニングデータは、これらの画像における対象の手の位置及びサイズの手動マーキングを有する複数のＲＧＢ画像を含むことができる。例えば、トレーニングデータにおける所定の画像において捉えられた対象の手にタグを定義することができる。タグの左上隅及び右下隅の座標は、トレーニングデータとしてマーキングすることができる。手動マーキングの他の方法も考えられる。
【００４２】
精細な検出ネットワーク１０６の訓練について、まず、粗略な位置決めネットワークを訓練するためのトレーニングデータを、粗略な位置決めネットワーク１０２に送信して、ステップ２０４によってセグメントを取得することができる。その結果セットがＷ０であると仮定すると、結果セットＷ０における認識されたセグメントと、画像における手動マーキングとを比較して、全てのマーキングが結果セットにおいてカバーされているか否かを決定することができる。１つ又は複数のマーキングが結果セットＷ０にカバーされていないと、ステップ２０８及び２１０によって、これらのマーキングをカバーした１つ又は複数のセグメントを結果セットＷ０に追加して、新たなセットＷ１を取得することができる。その後、新たなセットＷ１を、トレーニングデータ（対象の手の手動マーキングを有する）と共に粗略な位置決めネットワーク１０６に送信して、第２のＣＮＮ１０６を訓練することができる。いくつかの実行形式において、バッチ勾配降下法により、このようなデータを用いて粗略な位置決めネットワーク１０６を訓練することができる。
【００４３】
いくつかの実行形式において、図１及び図２に示す方法により、対象の複数の手を認識することができる。これは、図８に概念的に示されている。見て分かるように、対象の各手のセグメント８０２、すなわち、８０２ａ及び８０２ｂは、まず、粗略な位置決めネットワーク１０２によって位置決めすることができる。その後、組み合わせ及び拡大プロセス１０４により、セグメント８０２ａを８０４ａに処理し、セグメント８０４ｂを、８０４ｂに処理することができる。領域８０４ａ及び８０４ｂを精細なグリッドに基づく検出ネットワーク１０６によってさらに処理して、対象の右手８０６ｂの認識及び対象の左手８０６ａの認識を取得することができる。
【００４４】
図９は、コンピュータシステム９００のブロック図である。図９は、単に説明するためのものである。いくつかの実施例において、コンピュータシステムは、単一のコンピュータ装置を含み、サブシステムは、コンピュータ装置のコンポーネントであってもよい。他の実施例において、コンピュータシステムは、内部コンポーネントを有する複数のコンピュータ装置を含むことができ、それぞれのコンピュータ装置は、サブシステムである。コンピュータシステム９００及びそのいずれかのコンポーネント又はサブシステムは、本明細書に記載の方法を実行するように構成されるハードウェア及び／又はソフトウェア要素を含むことができる。
【００４５】
コンピュータシステム９００は、１つ又は複数のデータプロセッサ又は中央処理装置（ＣＰＵ）９０５、１つ又は複数のグラフィックプロセッサ又はグラフィック処理装置（ＧＰＵ）９１０、メモリサブシステム９１５、記憶サブシステム９２０、１つ又は複数の入力／出力（Ｉ／Ｏ）インターフェース９２５、通信インターフェース９３０などの周知なコンピュータコンポーネントを含むことができる。コンピュータシステム９００は、上記のコンポーネントを相互接続し、接続性および装置間通信などの機能を提供するシステムバス９３５を含むことができる。
【００４６】
１つ又は複数のデータプロセッサ又は中央処理装置（ＣＰＵ）９０５は、アプリケーション固有の機能を提供するためのロジック又はプログラムコードを実行することができる。（１つ又は複数の）ＣＰＵ９０５のいくつかの例は、１つ又は複数のマイクロプロセッサ（例えば、シングルコア及びマルチコア）又はマイクロコントローラ、１つ又は複数のフィールドゲートプログラマブルアレイ（ＦＰＧＡ）、及び特定用途向け集積回路（ＡＳＩＣ）を含むことができる。本明細書で使用されるように、プロセッサは、同一集積チップ上のマルチコアプロセッサ又は単一の回路基板上の又はネットワーク化される複数の処理ユニットを含む。
【００４７】
１つ又は複数のグラフィックプロセッサ又はグラフィック処理装置（ＧＰＵ）９１０は、グラフィックと関連する、又はグラフィック特有の機能を提供するためのロジック又はプログラムコードを実行することができる。ＧＰＵ９１０は、従来のビデオカードによって提供されるものなど、任意の従来のグラフィック処理装置を含むことができる。様々な実施例において、ＧＰＵ９１０は、１つ又は複数のベクトル又は並列処理装置を含むことができる。これらのＧＰＵは、ユーザプログラム可能であり、特定タイプのデータ（例えば、ビデオデータ）を符号化／復号化するための、又は２Ｄ又は３Ｄ描画操作、テクスチャリング操作、シェーディング操作などを加速するためのハードウェア要素を含むことができる。１つ又は複数のグラフィックプロセッサ又はグラフィック処理装置（ＧＰＵ）９１０は、任意の数のレジスタ、ロジックユニット、算術ユニット、キャッシュ、メモリインターフェースなどを含むことができる。
【００４８】
メモリサブシステム９１５は、例えば、機械読み取り可能な製品、情報記憶装置、又はコンピュータ読み取り可能な記憶媒体を使用して、情報を記憶することができる。いくつかの例は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭＳ）、揮発性メモリ、不揮発性メモリ、及び他の半導体メモリを含むことができる。メモリサブシステム９１５は、データ及びプログラムコード９４０を含むことができる。
【００４９】
記憶サブシステム９２０もまた、機械読み取り可能な製品、情報記憶装置、又はコンピュータ読み取り可能な記憶媒体を使用して、情報を記憶することができる。記憶サブシステム９２０は、記憶媒体９４５を使用して、情報を記憶することができる。記憶サブシステム９２０によって使用される記憶媒体９４５のいくつかの例は、フロッピーディスク、ハードディスク、ＣＤ−ＲＯＭＳ、ＤＶＤ、及びバーコードのような光学記憶媒体、リムーバブル記憶装置、ネットワークストレージなどを含むことができる。いくつかの実施例において、データ及びプログラムコード９４０の全部又は一部は、記憶サブシステム９２０を使用して記憶することができる。
【００５０】
１つ又は複数の入力／出力（Ｉ／Ｏ）インターフェース９２５が、Ｉ／Ｏ動作を実行することができる。１つ又は複数の入力装置９５０及び／又は１つ又は複数の出力装置９５５は、１つ又は複数のＩ／Ｏインターフェース９２５に通信可能に結合することができる。１つ又は複数の入力装置９５０は、コンピュータシステム９００用の１つ又は複数のソースから情報を受信することができる。１つ又は複数の入力装置９５０のいくつかの例は、コンピュータマウス、トラックボール、トラックパッド、ジョイスティック、ワイヤレスリモコン、描画タブレット、音声コマンドシステム、視線追跡システム、外部記憶システム、タッチスクリーンとして適切に構成されるモニタ、トランシーバとして適切に構成される通信インターフェースなどを含むことができる。様々な実施例において、１つ又は複数の入力装置９５０は、コンピュータシステム９００のユーザが、１つ又は複数の非グラフィカル又はグラフィカルユーザインターフェースとインタラクションして、コマンド、ボタンのクリック等を介してコメントを入力すること、オブジェクト、アイコン、テキスト、ユーザインターフェースウィジェット、又はモニタ／ディスプレイ装置に現れる他のユーザインターフェース要素を選択することを許容することができる。
【００５１】
１つ又は複数の出力装置９５５は、コンピュータシステム９００用の１つ又は複数の宛先に情報を出力することができる。１つ又は複数の出力装置９５５のいくつかの例は、プリンタ、ファックス、マウス又はジョイスティック用のフィードバック装置、外部記憶システム、モニタ又は他のディスプレイ装置、トランシーバとして適切に構成される通信インターフェース等を含むことができる。１つ又は複数の出力装置９５５は、コンピュータシステム９００のユーザが、オブジェクト、アイコン、テキスト、ユーザインターフェースウィジェット、又は他のユーザインターフェース要素を閲覧することを許容することができる。表示装置又はモニタは、コンピュータシステム９００と共に使用されてもよく、情報を表示するために構成されるハードウェア及び／又はソフトウェア要素を含んでもよい。
【００５２】
通信インターフェース９３０は、データの送受信を含む通信動作を実行することができる。通信インターフェース９３０のいくつかの例は、ネットワーク通信インターフェース（例えば、イーサネット、Ｗｉ−Ｆｉなど）を含むことができる。例えば、通信インターフェース９３０は、コンピュータネットワーク、ＵＳＢハブなどのような通信ネットワーク／外部バス９６０に結合することができる。コンピュータシステムは、例えば、通信インターフェース９３０又は内部インターフェースによって接続される、複数の同一コンポーネント又はサブシステムを含むことができる。いくつかの実施例において、コンピュータシステム、サブシステム、又は装置は、ネットワークを経由して通信することができる。このような場合では、１つのコンピュータは、クライアントと見なされ、また、別のコンピュータは、サーバと見なされてもよく、それぞれは、同一コンピュータシステムの一部であってもよい。クライアント及びサーバはそれぞれ、複数のシステム、サブシステム、又はコンポーネントを含むことができる。
【００５３】
コンピュータシステム９００は、プロセッサによって実行される、本明細書に開示される技術を実行して操作し又は他の方式で実現するための１つ又は複数のアプリケーション（例えば、ソフトウェアコンポーネント又は機能）をさらに含むことができる。これらのアプリケーションは、データ及びプログラムコード９４０として具現化することができる。また、コンピュータプログラム、実行可能コンピュータコード、人間読み取り可能なソースコード、シェーダコード、レンダリングエンジンなど、及びデータ（例えば、画像ファイル、オブジェクトの幾何学的記述を含むモデル、オブジェクトの順序付けされた幾何学的記述、モデルのプロセス記述を含むモデル、シーン記述子ファイルなど）が、メモリサブシステム９１５及び／又は記憶サブシステム９２０に記憶することができる。
【００５４】
そのようなプログラムは、さらに、様々なプロトコルに準拠する有線、光学、及び／又は無線ネットワークを介した伝送に適合する搬送波信号を使用して符号化及び伝送することができる。したがって、本発明の実施例に係るコンピュータ読み取り可能な媒体は、そのようなプログラムで符号化されたデータ信号を使用して作成することができる。プログラムコードで符号化されたコンピュータ読み取り可能な媒体は、互換性のある装置とともにパッケージ化されてもよく、又は他の装置と別に提供されてもよい（例えば、インターネットを介してダウンロードする）。任意のそのようなコンピュータ読み取り可能な媒体は、単一のコンピュータ製品（例えば、ハードドライブ、ＣＤ、又はコンピュータシステム全体）上又は内部に存在してもよく、システム又はネットワーク内の異なるコンピュータ製品上又は内部に存在してもよい。コンピュータシステムは、本明細書で述べられた結果のいずれかをユーザに提供するための、モニタ、プリンタ、又は他の適切なディスプレイを含むことができる。
【００５５】
本明細書に記載するいずれかの方法は、ステップを実行するように構成され得る１つ又は複数のプロセッサを含むコンピュータシステムによって完全に又は部分的に実行され得る。したがって、実施例は、対応するステップ又は対応するステップのグループを実行する異なるコンポーネントを潜在的に有する、本明細書に記載するいずれかの方法のステップを実行するように設定されるコンピュータシステムに関することであってよい。番号が付けられたステップとして提供されているが、本明細書の方法のステップは、同時に又は異なる順序で実行されてよい。なお、ステップの一部は、他の方法からの他のステップの一部と一緒に使用され得る。また、ステップの全て又は一部は、任意選択であってよい。なお、いずれかの方法のいずれかのステップは、モジュール、回路、又はこれらのステップを実行するために他の素子で実行され得る。
【００５６】
特定の実施例の具体的な詳細は、本発明の実施例の趣旨及び範囲から逸脱することなく、任意の適切な態様で組み合わされてよい。しかしながら、本発明の他の実施例は、個別の態様の各々に関連する具体的な実施例、又はこれら個別の態様の具体的な組み合わせに関するものであってよい。
【００５７】
本発明の例示的な実施例の上記の記載は、説明及び記載の目的で提供されている。網羅的であること、又は説明される精密な形態に本発明を限定することを意味せず、上記の教示に鑑みて、多くの変更及び変形が可能である。実施例は、本発明の原理及びその実際の応用を最も良く説明すべく選択され、記載されている。これにより、他の当業者が、様々な実施例において、予期される特定の用途に好適な様々な変更で、本発明を最も良く利用することを可能にする。
【００５８】
その教示がこの開示において提示される１つ又は複数の発明のうちのいずれかの種々の実施例が、ソフトウェア、ファームウェア、ハードウェア又はそれらを組合せてロジックの形で生成され得る。ロジックは、この開示において提示された発明の種々の実施例において開示され得る一組のステップを実行するように、ロジックマシンの中央処理装置（ＣＰＵ又はプロセッサ）に指示するように適合された１組の命令として、機械アクセス可能なメモリ、機械読み取り可能な製品、有形のコンピュータ読み取り可能な媒体、コンピュータ読み取り可能な記憶媒体、又は他のコンピュータ／機械読み取り可能な媒体に格納されてもよい。コードモジュールが、この開示において提示された発明の種々の実施例において方法又はプロセスを実行するために実行される際に、コンピュータシステム又は情報処理装置のプロセッサと共に動作可能となるため、ロジックは、ソフトウェアプログラム又はコンピュータプログラム製品の一部を形成し得る。この開示及び本明細書により提供される教示に基づいて、当業者であれば、提示された１つ又は複数の発明の種々の実施例に開示された動作又は機能のいずれかを、ソフトウェア、ファームウェア、ハードウェア又はそれらの組合せにより生成するための他の形態、変形、修正、取り替え及び／又は方法を理解するであろう。
【００５９】
その教示がこの開示において提示され得るそれらの発明におけるいずれかの開示された例、実行形式、及び種々の実施例は、この開示の教示を適正かつ明確に当業者に伝えるための説明的なものに過ぎない。これらの実行形式及び実施例は例示的な図解又は特定の図を参照して説明され得るため、説明された方法及び／又は特定の構造の種々の修正又は変更が、当業者にとって明らかとなる。本開示及び本明細書から見出されたこれらの教示に依存し、かつ、その教示により当該分野の技術を進歩させた、すべてのこれらの修正、変更又は変化は、その教示がこの開示において提示され得る１つ又は複数の発明の範囲内にあると考えられるべきである。よって、当該記載及び図面は限定的な意味であると認めるべきでなく、なお、本開示において提示された発明は、決して何らの形態で図示されたそれらの実施例に限定されないということが理解される。
【００６０】
したがって、上述の説明及びあらゆる図面、図解、及び図は、限定的ではなく説明的なものであるよう意図されている。よって、この開示において提示されたあらゆる発明の範囲は、上記説明及び図に示されたそれらの実施例を単純に参照することにより決定されるべきではなく、係属中の請求項、及びその完全な範囲又は同等物を参照して決定されるべきである。
【符号の説明】
【００６１】
１０２  ネットワーク
１０４  拡大プロセス
１０６  検出ネットワーク
９００  コンピュータシステム
９０５  中央処理装置（ＣＰＵ）
９１０  グラフィック処理装置（ＧＰＵ）
９１５  メモリサブシステム
９２０  記憶サブシステム
９２５  Ｉ／Ｏインターフェース
９３０  通信インターフェース
９３５  システムバス
９４０  プログラムコード
９４５  記憶媒体
９５０  入力装置
９５５  出力装置
９６０  外部バス
【図１】
2019530039.tif 000009
【図２】
2019530039.tif 000010
【図３】
2019530039.tif 000011
【図４】
2019530039.tif 000012
【図５】
2019530039.tif 000013
【図６】
2019530039.tif 000014
【図７】
2019530039.tif 000015
【図８】
2019530039.tif 000016
【図９】
2019530039.tif 000017
【国際調査報告】
2019530039.tif 000018
2019530039.tif 000019