特許第6762382号(P6762382)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ミデア グループ カンパニー リミテッドの特許一覧 ▶ 中科▲視▼拓(北京)科技有限公司の特許一覧

特許6762382ディープニューラルネットワークを用いた粗略から精細な手検出方法
<>
  • 特許6762382-ディープニューラルネットワークを用いた粗略から精細な手検出方法 図000008
  • 特許6762382-ディープニューラルネットワークを用いた粗略から精細な手検出方法 図000009
  • 特許6762382-ディープニューラルネットワークを用いた粗略から精細な手検出方法 図000010
  • 特許6762382-ディープニューラルネットワークを用いた粗略から精細な手検出方法 図000011
  • 特許6762382-ディープニューラルネットワークを用いた粗略から精細な手検出方法 図000012
  • 特許6762382-ディープニューラルネットワークを用いた粗略から精細な手検出方法 図000013
  • 特許6762382-ディープニューラルネットワークを用いた粗略から精細な手検出方法 図000014
  • 特許6762382-ディープニューラルネットワークを用いた粗略から精細な手検出方法 図000015
  • 特許6762382-ディープニューラルネットワークを用いた粗略から精細な手検出方法 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6762382
(24)【登録日】2020年9月10日
(45)【発行日】2020年9月30日
(54)【発明の名称】ディープニューラルネットワークを用いた粗略から精細な手検出方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20200917BHJP
【FI】
   G06T7/00 660Z
   G06T7/00 350C
【請求項の数】14
【全頁数】19
(21)【出願番号】特願2018-567662(P2018-567662)
(86)(22)【出願日】2017年6月6日
(65)【公表番号】特表2019-530039(P2019-530039A)
(43)【公表日】2019年10月17日
(86)【国際出願番号】CN2017087354
(87)【国際公開番号】WO2018223295
(87)【国際公開日】20181213
【審査請求日】2019年3月15日
(73)【特許権者】
【識別番号】515316034
【氏名又は名称】ミデア グループ カンパニー リミテッド
【氏名又は名称原語表記】Midea Group Co., Ltd.
(73)【特許権者】
【識別番号】518451172
【氏名又は名称】中科▲視▼拓(北京)科技有限公司
【氏名又は名称原語表記】SEETATECH (BEIJING) TECHNOLOGY CO., LTD.
(74)【代理人】
【識別番号】100146835
【弁理士】
【氏名又は名称】佐伯 義文
(74)【代理人】
【識別番号】100129115
【弁理士】
【氏名又は名称】三木 雅夫
(74)【代理人】
【識別番号】100203297
【弁理士】
【氏名又は名称】橋口 明子
(72)【発明者】
【氏名】ジシュアン・ヤン
(72)【発明者】
【氏名】ダハイ・ユ
(72)【発明者】
【氏名】ジュアン・リュウ
(72)【発明者】
【氏名】ジュンヤン・ジョウ
(72)【発明者】
【氏名】シゥジュアン・チャイ
(72)【発明者】
【氏名】シグアン・シャン
(72)【発明者】
【氏名】シリン・チェン
【審査官】 佐田 宏史
(56)【参考文献】
【文献】 国際公開第2016/165060(WO,A1)
【文献】 特開2006−323779(JP,A)
【文献】 特開2010−102396(JP,A)
【文献】 国際公開第2015/180100(WO,A1)
【文献】 国際公開第2016/107103(WO,A1)
【文献】 国際公開第2017/007626(WO,A1)
【文献】 Sven Bambach et al.,"Lending A Hand: Detecting Hands and Recognizing Activities in Complex Egocentric Interactions",2015 IEEE International Conference on Computer Vision,米国,IEEE,2015年12月 7日,pp.1949-1957
【文献】 T. Hoang Ngan Le et al.,"Robust hand detection in Vehicles",2016 23rd International Conference on Pattern Recognition (ICPR),米国,IEEE,2016年12月 4日,pp.573-578
【文献】 山下 隆義、外5名,“Deep Convolutional Neural Networkによる手形状領域の抽出”,SSII2014 第20回画像センシングシンポジウム 講演論文集,日本,画像センシング技術研究会,2014年 6月11日,pp.1-6
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00,7/00−7/90
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
画像における対象の手の検出方法であって、前記方法は、機械読み取り可能な命令を実行するように構成されるプロセッサによって実行され、前記方法は、
1つ又は複数の対象の1つ又は複数の手を捉えた画像の画像データを受信するステップと、
第1の位置決めネットワークにより前記画像データを処理して前記画像におけるセグメントを取得し、前記セグメントのそれぞれは、対象の手の部分を含むステップと、
前記セグメントを第1の画像領域に組み合わせるステップと、
前記第1の画像領域のサイズを所定のマージンで拡大するステップと、
グリッドに基づく検出ネットワークにより前記第1の画像領域を処理して、対象の手を捉えた第2の画像領域を取得するステップと、を含み、
前記第1の画像領域のサイズを所定のマージンで拡大するステップは、
前記画像をn×nグリッドに分割するステップと、
前記第1の画像領域を所定のマージンで拡大するステップと、
前記第1の画像領域の境界をグリッドと位置合わせするステップと、を含み、
前記所定のマージンは、単一のグリッドユニットのサイズである、
ことを特徴とする画像における対象の手の検出方法。
【請求項2】
前記第1の位置決めネットワークは、直列に接続される2つのサブ段階を有する畳み込みニューラルネットワーク(CNN)を含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記セグメントは、対象の手の第1の部分を含む第1のセグメントと、対象の少なくとも片手の第2の部分を含む第2のセグメントと、を含み、前記第1の部分と前記第2の部分とが少なくとも部分的に重なり合っている、
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記グリッドに基づく検出ネットワークは、前記第1の画像領域のグリッドユニットを処理するように構成される複数の層を含むディープCNNを含む、
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記グリッドに基づく検出ネットワークは、3つより多くの層を含む、
ことを特徴とする請求項に記載の方法。
【請求項6】
前記方法は、バッチ勾配降下法により、対象の手の位置及びサイズのマーキングを有するトレーニング画像データを用いて、前記第1の位置決めネットワークを訓練するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項7】
前記方法は、
前記第1の位置決めネットワークにより前記トレーニング画像データを処理して、対象の手の部分を含む画像セグメントを取得するステップと、
前記画像セグメントを組み合わせて拡大して、対象の手を捉えた画像領域を取得するステップと、
前記画像領域を用いて、グリッドに基づく検出ネットワークを訓練するステップと、をさらに含む、
ことを特徴とする請求項に記載の方法。
【請求項8】
画像における対象の手の検出システムであって、前記システムは、機械読み取り可能な命令を実行するように構成されるプロセッサを含み、前記機械読み取り可能な命令が実行される場合、前記システムは、
1つ又は複数の対象の1つ又は複数の手を捉えた画像の画像データを受信するステップと、
第1の位置決めネットワークにより画像データを処理して前記画像におけるセグメントを取得し、前記セグメントのそれぞれは、対象の手の部分を含むステップと、
前記セグメントを第1の画像領域に組み合わせるステップと、
前記第1の画像領域のサイズを所定のマージンで拡大するステップと、
グリッドに基づく検出ネットワークにより前記第1の画像領域を処理して、対象の手を捉えた第2の画像領域を取得するステップと、を実行し、
前記第1の画像領域のサイズを所定のマージンで拡大するステップは、
前記画像をn×nグリッドに分割するステップと、
前記第1の画像領域を所定のマージンで拡大するステップと、
前記第1の画像領域の境界をグリッドと位置合わせするステップと、を含み、
前記所定のマージンは、単一のグリッドユニットのサイズである
ことを特徴とする画像における対象の手の検出システム。
【請求項9】
前記第1の位置決めネットワークは、直列に接続される2つのサブ段階を有する畳み込みニューラルネットワーク(CNN)を含む、
ことを特徴とする請求項に記載のシステム。
【請求項10】
前記セグメントは、対象の手の第1の部分を含む第1のセグメントと、対象の少なくとも片手の第2の部分を含む第2のセグメントと、を含み、前記第1の部分と前記第2の部分とが少なくとも部分的に重なり合っている、
ことを特徴とする請求項に記載のシステム。
【請求項11】
前記グリッドに基づく検出ネットワークは、前記第1の画像領域のグリッドユニットを処理するように構成される複数の層を含むディープCNNを含む、
ことを特徴とする請求項に記載のシステム。
【請求項12】
前記グリッドに基づく検出ネットワークは、3つより多くの層を含む、
ことを特徴とする請求項11に記載のシステム。
【請求項13】
前記プロセッサは、さらに、バッチ勾配降下法により、対象の手の位置及びサイズのマーキングを有するトレーニング画像データを用いて、前記第1の位置決めネットワークを訓練するように構成される、
ことを特徴とする請求項に記載のシステム。
【請求項14】
前記プロセッサは、さらに、前記第1の位置決めネットワークによりトレーニング画像データを処理して、対象の手の部分を含む画像セグメントを取得するステップと、
前記画像セグメントを組み合わせて拡大して、対象の手を捉えた画像領域を取得するステップと、
画像領域を用いて、グリッドに基づく検出ネットワークを訓練するステップと、を実行するように構成される、
ことを特徴とする請求項13に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ化された手検出分野に関するものである。
【背景技術】
【0002】
いくつかの従来の手検出技術は、機械学習に頼って画像において捉えられた(1つ又は複数の)手の位置及びサイズを決定する。これらの技術の働きで、通常トレーニングセットを構築して、信頼性のある分類又は回帰関数を生成する。検出された手及び基礎をなすトレーニングセットのノイズ及び歪みは、信頼性のある分類又は回帰を抑制するおそれがある。
【0003】
各種のジェスチャー、照明の変化、複雑な背景、画像における肌色の干渉などのため、手の検出は、挑戦的なものである。手検出するための機械学習プロセスは、通常、大量のトレーニングデータを必要とし、これらのトレーニングデータは、非制御の場面で観察された手の位置及びサイズを示す。
【0004】
これらの技術のトレーニングデータは、手動マーキングアップにより取得することができる。手の位置及びサイズは、トレーニングデータから抽出することができる。これらの技術の一部は、手の特徴を抽出するように訓練され得る畳み込みニューラルネットワーク(convolutional neural network/CNN)を用いる。例えば、2016年1月19日に提出された、名称が「カスケード畳み込みニューラルネットワークに基づく自我中心視野空中手書き及び空中インタラクション方法」で、中国特許出願第1057181078A号である特許出願には、対象の手のRGB画像を特定の角度から分析するように訓練され得るCNNが記載されている。中国特許出願第1057181078A号である特許出願の内容は、参照により本明細書に援用される。例えば、中国特許出願第1057181078A号明細書に記載されているディープCNNが手検出の面で良好な性能を有する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
ディープCNNは、特徴を捉える面で良好な性能を有するが、CNNに基づく技術は、通常、トレーニング及びテストのために大きな計算能力を必要とすることが既に証明されている。より高い正確さを実現するために、CNNに基づく手検出技術は、CNNにおいてより多くの層を必要とするため、より多くの計算能力を必要とすることが1つの原因である。これらのディープCNNの使用にも時間がかかる。そのため、従来のCNNに基づく手検出技術を改善して効率を向上させる必要がある。
【課題を解決するための手段】
【0006】
実施例は、画像における1つ又は複数の対象の1つ又は複数の手を含む1つ又は複数の領域を検出するプロセスを提供することができる。その後、当該プロセスによって検出された画像における(1つ又は複数の)領域を、ジェスチャー認識プロセスに供給して、検出された(1つ又は複数の)手のジェスチャーの認識に用いることができる。いくつかの実施例において、検出プロセスは、非常に簡単かつ急速に実現される粗略(coarse)な位置決めネットワークを用いて、画像において、画像における(1つ又は複数の)対象の(1つ又は複数の)手の部分を含む1つ又は複数のセグメントを大まかに位置決めすることから始めることができる。それらの実施例において、検出プロセスは、その後、これらのセグメントを組み合わせて、画像における(1つ又は複数の)対象の(1つ又は複数の)手を捉えた1つ又は複数の領域を取得することができる。いくつかの実施例において、検出プロセスは、画像における(1つ又は複数の)組み合わせられた領域を拡大して、(1つ又は複数の)対象の(1つ又は複数の)手に関するいくつかのコンテクスト情報を含ませて、各グリッドユニットが同一の所定のサイズを有するグリッドに位置合わせすることができる。その後、(1つ又は複数の)拡大された領域を精細(fine)なグリッドに基づく検出ネットワークに供給して、画像において、捉えられた(1つ又は複数の)対象の(1つ又は複数の)手のみを含む(1つ又は複数の)正確な領域を検出することができる。従来技術におけるCNNに基づく手検出技術と比較して、本開示の実施例は、(1つ又は複数の)対象の(1つ又は複数の)手を含むと予測された単一の画像における(1つ又は複数の)領域と、必要なコンテクストとのみを、精細なグリッドに基づく検出ネットワークにおいて用いられるCNNに供給することにより、精細なグリッドに基づく検出ネットワークに供給される入力画像のデータ量を削減することができる。このようにすることで、精細なグリッドに基づく検出ネットワークの入力データ量を削減し、手を検出するための時間を削減することができる。
【0007】
いくつかの実施例において、簡単なカスケードCNN(例えば、2つのサブ段階)を訓練して、粗略な位置決めネットワークとして、画像において対象の手を含むセグメントを位置決めすることができる。所定の画像における位置決めされたセグメントは、対象の手の異なる部分を含むことができる。これは、対象の手の大まかな位置として理解されてもよい。このような粗略な位置決めネットワークに用いられるCNNが、非常に小さく、かつ実現しやすいものであってもよいため、それを実現するのに必要な計算リソースが比較的少ない。位置決めされたセグメントにおける手の部分は、互いに重なり合ってもよい。例えば、第1の位置決めセグメントは、第2の位置決めセグメントにおける対象の手の一部と(空間的に)部分的に重なり合う対象の手の一部を含むことができる。
【0008】
いくつかの実施例において、組み合わせプロセスは、上記セグメントを組み合わせて、画像における(1つ又は複数の)対象の(1つ又は複数の)手の(1つ又は複数の)を捉えた画像における領域を取得する。例えば、画像において対象の片手のみを捉えた場合、位置決めされたセグメントを、組み合わせて、画像における、手を捉えた領域を取得することができる。他の一例として、画像において対象の両手を捉えた場合、位置決めされたセグメントを組み合わせて2つの領域を形成することができ、それぞれの領域が対象の片手を捉えたか、又は、1つの領域が対象の両手を捉えた。いくつかの実施例において、画像において複数の対象を捉えることができる。それらの実施例において、画像における複数の領域を取得して、当該複数の領域のそれぞれが画像における対象の1つ又は複数の手を捉えることができる。しかし、粗略な位置決めネットワークの精度が高くなくてもよいので、手を含まないいくつかの領域が存在する可能性がある。これは、次の精細な検出ネットワークにおいて補正することができる。
【0009】
一部の実施例において、画像における組み合わせ領域が、組み合わせ領域を囲むより多くの囲み領域を含むように拡大される。一実行形式において、画像をグリッドに分割し、画像における、取得された領域を囲む所定数のグリッドユニットを用いて組み合わせ領域を拡大することができる。このような方式により、画像における、対象の手に関するいくつかのコンテクスト情報を取得することができる。このようなコンテクスト情報は、CNNに基づいた検出に役立ち、より高い精度を実現することができる。また、手のコンテクスト情報を含むことは、手の検出のために画像における他の無関係な情報を過度に含まないようにしながら、対象の手を検出することを目的とする。そのため、当該組み合わせプロセスを用いて、CNNに基づく手検出のより高い精度及び効率を実現することができる。
【0010】
いくつかの実施例において、前述した処理された領域をグリッドに基づく検出ネットワークに送信することができる。精細なグリッドに基づく検出ネットワークに供給された場合、組み合わせ領域は、グリッドに分割することができる。いくつかの実施例において、グリッドに基づく検出ネットワークは、CNNを含むことができ、CNNは、処理された領域の各グリッドユニットを処理して、処理された領域において捉えられた対象の手の正確な位置及びサイズを取得することができる。このプロセスは、対象の手の精細な検出と理解されてもよい。
【0011】
他の実施例は、本明細書に記載の方法に関連するシステム及びコンピュータ読み取り可能な媒体を提供する。
【0012】
本開示において見出されるそれらの革新、実施例及び/又は例を合理的に記載して説明するために、1つ又は複数の図面を参照することができる。1つ又は複数の図面を説明する付加的な詳細又は例は、特許請求される発明のいずれかの範囲、現在記載の実施例及び/又は例のいずれか、又は本開示に示される革新の、現在最良だと考えられるモードのいずれかを限定するものと理解されてはいけない。
【図面の簡単な説明】
【0013】
図1】本開示に係る画像における手の領域を検出することを概念的に示す。
図2】本開示に係る画像において捉えられた対象の手を検出するための例示的な一方法を示す。
図3】画像において捉えられた対象の手の部分を含むセグメントを位置決めするために、粗略な位置決めネットワークに使用され得る2つのサブ段階カスケードCNNを示す。
図4】本開示に係る粗略な位置決めネットワークによって位置決めされた、対象の手の複数の部分を含み得るセグメントを示す。
図5】位置決めされたセグメントを組み合わせることにより取得できる領域の一例を示す。
図6】画像において捉えられた対象の手を含む取得された領域の拡大に係るいくつかの操作を示す1つの例示的なフローチャートを示す。
図7図6に示すプロセスによって取得された画像領域の一例を示す。
図8図2に示す方法で対象の複数の手を認識することができることを概念的に示す。
図9】実施例を含み、実施例に組み込まれ、或いは本開示において見出されるいずれの革新、実施例及び/又は例を実施するために用いられることが可能であるコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0014】
機械学習において、畳み込みニューラルネットワーク(CNN又はConvNet)は、フィードフォワード人工ニューラルネットワークの一種であり、そのニューロン間の接続パターンが、動物の視覚皮質組織から発想を得ている。各皮質ニューロンは、受容野と呼ばれる視野の限定された領域において刺激に応答する。異なるニューロンの受容野は、全視野を覆うように部分的に重なり合っている。畳み込み演算によりそれらの受容野内の刺激に対する個体のニューロンの応答を数学的に近似することができる。
【0015】
画像認識について、畳み込みニューラルネットワーク(CNN)は、通常、複数層の受容野から構成することができる。これらは、入力画像を処理する一部の小型ニューロンのセットである。通常のニューラルネットワークと異なって、CNNの層は、幅、高さ、深さの三次元に配置されたニューロンを有することができる。(なお、本明細書において、「深さ」とは、ニューラルネットワークの全体の深さではなく、活性化ボリュームの第3の次元を指すものであり、ネットワーク内の層の総数を指してもよい)。例えば、CIFAR−10における入力画像は、活性化入力ボリュームを有することができ、当該ボリュームは、32×32×3(それぞれ幅、高さ、深さである)の次元を有する。CNNは、そのニューロンを幅、高さ、深さの三次元に配置することができる。CNNの各層は、いずれも3D入力ボリュームをニューロンのアクティブな3D出力ボリュームに変換することができる。例えば、CNNは、画像データを保持する入力層を有することができるため、その幅及び高さは、画像の次元になり、深さは、3(赤、緑、青のチャンネル)となる。例えば、RGB入力画像は、32×32×3の画素値を有することができ、すなわち、幅が32画素を有し、高さが32画素を有し、深さが3(すなわち、R、G及びBの3つのカラーチャンネル)である。
【0016】
手の検出は、例えば、家電製品(例えば、エアコン)用非接触型インターフェースの設計にとって重要なものである。このようなインターフェースは、例えば、家電製品を制御するために、ユーザがジェスチャーで家電製品とインタラクションすることを許容することができる。ディープCNNを有する対象の検出は、既に成功している。対象検出における方法は、手の検出に用いることができるが、いくつかの変化がある。CNNに基づいたこれらの手の検出のキーポイントは、様々な手の位置及びサイズを捉えた異なるデータ集合である。これらの技術に用いられるデータ集合は、通常その(1つ又は複数の)手を有する対象(例えば、人間)を捉えた画像を含む。画像は、通常人間の顔及び/又は体を表示する距離から対象を捉える。数多くの場合において、画像は、対象の背景を捉えることもできる。その後、これらの画像は、ディープCNNにフィードバックされて、手の検出に用いられる。
【0017】
本開示の発明者によって提供される1つの見解は、入力データ(例えば、画像)が画像内の対象の手に無関係な大量の情報を含むため、手の検出ための従来のCNNに基づいた技術は、通常時間がかかることである。多くの場合において、入力データは、これらの技術に採用されるディープCNNにおける異なる層により処理されて手が検出される。これは、大量な計算能力を必要とするため、時間がかかるようになる。本開示によって提供される当該課題に対する1つの解決策は、簡単なCNNを粗略な位置決めネットワークとして、対象の画像における、対象の1つ又は複数の手を含む1つ又は複数の領域を大まかに位置決めすることである。その後、対象の手のみを含む(1つ又は複数の)画像領域に対してより精細な検出が実行されるように、これらの領域は、グリッドに基づいた検出ネットワークを用いてさらに処理することができる。このような方式により、CNNに基づく手検出技術に採用されるディープCNNにより処理される必要のある情報がより少なくなるだけでなく、入力データが対象の(1つ又は複数の)手に関するデータのみを含むため、より高い正確さを実現することができる。
【0018】
本開示に係る手の検出は、一般的に3つの段階に分けることができる。第1の段階において、対象の画像を受信することができる。当該画像は、画像における対象の(1つ又は複数の)手と無関係な情報を含むことができる。同様に、第1の段階において、簡単なカスケードCNN(例えば、2つのサブ段階)を粗略な位置決めネットワークとして、画像における、対象の(1つ又は複数の)手の一部を含む1つ又は複数のセグメントを大まかに位置決めすることができる。対象の(1つ又は複数の)手のような位置は、対象の手の大まかな位置と理解されてもよい。これらのセグメントは、互いに重なり合っている対象の(1つ又は複数の)手の部分を含むことができる。
【0019】
第2の段階において、粗略な位置決めネットワークによって位置決めされたセグメントを処理して、画像における、対象の手を含むと予測された1つ又は複数の領域及び対象の手に関するいくつかのコンテクスト情報を取得することができる。画像において対象の片手のみを捉えた場合、1つの領域を取得することができる。画像において対象の2つの手を捉えた場合、2つの手を含む1つの領域又は2つの領域を取得することができる。当然なことながら、画像において捉えられた対象が複数存在する場合、複数の領域を取得することができる。しかし、粗略な位置決めネットワークの精度が高い必要がないため、手を含まないいくつかの領域が存在する可能性がある。これは、第3の段階で補正することができる。
【0020】
第3の段階において、第2の段階で取得された画像における領域を、グリッドに基づく検出ネットワークに供給して、対象の手のみを含む(1つ又は複数の)画像領域をより精細に認識することができる。第3の段階の結果は、対象の手のみを含む入力画像の一部である。この段階は、対象の手のより精細な検出と理解されてもよい。
【0021】
図1は、本開示に係る画像において捉えられた対象の手を認識することを概念的に示す。図2は、本開示に係る画像において捉えられた対象の手を認識するための例示的な一方法200を示す。図1及び図2を互いに参照しながら説明する。まず、図2を参照し、図2に示された特定の一連の処理ステップは、限定するものではない。なお、処理ステップは、図2に示された順番と異なる順番で実行することができ、また、図2に示されたステップが必ずしも全部実行されるわけではない。いくつかの実行形式において、方法200は、図9に示すようなシステムによって生成することができる。
【0022】
いくつかの実施例において、方法200に示す方法は、1つ又は複数の処理装置(例えば、デジタルプロセッサ、アナログプロセッサ、情報を処理するように設計されるデジタル回路、情報を処理するように設計されるアナログ回路、ステートマシン、及び/又は情報を電子的に処理するための他の機械装置)において生成することができる。当該1つ又は複数の処理装置は、電子記憶媒体に電子的に記憶されている命令に応答して、方法200の一部又は全ての操作を実行する1つ又は複数の装置を含むことができる。当該1つ又は複数の処理装置は、方法200の1つ又は複数の操作を実行するために特別に設計されるようにハードウェア、ファームウェア及び/又はソフトウェアによって構成される1つ又は複数の装置を含むことができる。
【0023】
202において、画像のデータを受信することができる。202において受信できる画像の例は、図1に示す108として示されている。図1に示すように、画像108は、対象、例えば、人間を含むことができ、対象は、ある方式で置かれた少なくとも片手を有するものとして捉えることができる。手検出の目標は、対象の手の位置及びサイズを求めることである。手の領域は、手の1つ又は複数のパラメータに関する定義を有することができる。手検出の結果は、その後のジェスチャー認識に用いることができる。いくつかの実施例において、ジェスチャーは、家電製品を制御するための1つ又は複数の制御命令に変換又はマッピングすることができる。
【0024】
図2を再度に参照し、204において、202において受信された画像データを、粗略な位置決めネットワークに送信して、画像において対象の手の一部を含む1つ又は複数のセグメントを大まかに位置決めすることに用いることができる。図1を参照し、この例における対象は、画像108において捉えられた1つの手を有する。ステップ204の目標は、例えば、この例に示す112a−nのような画像108における複数のセグメントを認識することである。これらのセグメントのそれぞれは、少なくとも画像108において捉えられた対象の手の一部を含むことができる。1つ又は複数の方法により、204において実行されるセグメントの位置決めを実現することができる。いくつかの実行形式において、セグメントは、下記の数式1のように表現することができる。
【数1】
【0025】
ここで、R0_iは、さらに下記の数式2のように表現することができる。
【数2】
【0026】
ここで、(x0_i,y0_i)は、画像108において捉えられた対象の手の一部を有すると予測されたi番目のセグメントの座標を表し、(w0_i,h0_i)は、i番目のセグメントの幅及び高さを表し、s0_iは、i番目のセグメントが画像108において捉えられた対象の手の一部を有する信頼度を表す。
【0027】
いくつかの例において、204において、簡単なカスケードCNNを大まかな手のセグメントの位置決めに用いることができる。前述したように、ステップ204の目標は、画像108においてセグメント112a−nを大まかに位置決めすることである。この目標を実現するために、採用される粗略なCNN102は、あまり深くなくてもよい。一実行形式実現において、2つのサブ段階カスケードCNNで画像108におけるセグメント112a−nを位置決めすることができる。これは、図3に示されている。図に示すように、図1に示す粗略な位置決めネットワーク102に用いられたカスケードCNNは、直列に接続される第1のサブ段階302と第2のサブ段階とを有することができ、これにより、画像108の画像データを粗略なCNN102に供給することができ、セグメント112a−nを位置決めすることができる。このような方式により、画像108において捉えられた対象の手に無関係な情報の大部分を、さらなる処理により除去することができ、対象の手に関するデータに集中して、さらなる処理に用いることができる。
【0028】
図2を再度に参照し、206において、粗略な位置決めネットワークから、206において位置決めされた1つ又は複数の画像のセグメントを受信することができる。なお、206において受信された各セグメントは、対象の手の部分を含むことができる。これは、図4に示される。図4に示すように、4つのセグメント404a−dが、対象の手402の一部を含むと予測されている。示すように、各セグメントは、互いに重なり合っている手の部分を有することができる。この例において、404aは、他の3つのセグメントのそれぞれと重なり合っており、また、他の3つのセグメントも同様である。
【0029】
図2を再度に参照し、208において、206において受信されたセグメントを組み合わせて、画像において対象の(1つ又は複数の)手を含むと予測された1つ又は複数の領域を取得することができる。前述したように、208において取得された各領域は、画像において捉えられた対象の異なる手を含むことができる。ステップ208の目標は、対象の(1つ又は複数の)手を含む(1つ又は複数の)領域を見出し、精細なグリッドに基づく検出ネットワークの入力間の重なり合いを回避して計算を削減することである。
【0030】
208において、206において受信されたセグメントを組み合わせることにより取得することができる所定の領域セットS1は、下記の数式3のように表現することができる。
【数3】
【0031】
ここで、R1_kは、S1領域セットにおけるk番目の領域を表す。R1_kは、例えば、R0_i及びR0_jのような、重なり合っているR0セグメントから取得することができる。R0_iが、R0_i=(x0_i,y0_i,w0_i,h0_i,s0_i)のパラメータを有し、R0_jが、R0_j=(x0_j,y0_j,w0_j,h0_j,s0_j)のパラメータを有し、R1_kが、(x1_k,y1_k,w1_k,h1_k)のパラメータを有することを仮定すると、以下の数式4の関係でR1_kを取得することができる。
【数4】
【0032】
図5は、図4に示す204において位置決めされたセグメントを組み合わせることにより取得された領域502(S1)の一例を示すものである。
【0033】
図2を再度に参照し、210において、208において取得された領域を拡大することができる。ステップ208の目標は、208において取得された領域において捉えられた対象の手に関するいくつかのコンテクスト情報を含むことであり、これは、コンテクスト情報がステップ212において対象の手をさらに認識することに役立つことができるからである。ステップ208の他の目標は、グリッドユニットのサイズが予め設定されたグリッドに分割することができるように、領域を拡大することである。図6は、ステップ208が含み得るいくつかの操作の1つの例示的なフローチャート600を示すものである。図2を参照して図6を説明する。
【0034】
602において、202において受信された画像(例えば、画像108)をn*nグリッドに分割することができる。画像108が幅Wと高さHとを有すると仮定すると、単一の画像ブロックは、幅=W/n、高さ=H/nという次元を有することができる。
【0035】
604において、208において取得された領域のそれぞれを少なくとも1つのグリッドユニットのサイズで拡大して、新たな拡大領域を取得することができる。示すように、R1_iを例として、R1_iは、R1_i=(x1_i,y1_i,w1_i,h1_i)とのパラメータを有する。拡大された領域がR2_iであり且つR2_i=(x2_i,y2_i,w2_i,h2_i)とのパラメータを有すると仮定すると、R1_iとR2_iとの間の関係は、以下の数式5のように表現することができる。
【数5】
【0036】
ここで、wは、グリッドユニットの幅、即ちW/nを表し、hは、グリッドユニットの高さ、即ちH/nを表す。なお、以上の条件表現式は、R1_iが少なくとも1つの画像ブロックで拡大されて、202において受信された画像の境界を超えることができる状況を説明するためのものである。この場合、受信された画像202の境界は、拡大されたブロックR2_iの境界として用いられる。
【0037】
606において、拡大された領域の境界は、グリッドに位置合わせすることができる。S3が606で位置合わせされた後の領域セットであり且つS3が、対象の手及びいくつかのコンテクスト情報を含むm個の領域R3を有することができ、S3={R3_1,R3_2,...R3_i...,R3_m}と表現することができ、R3_iは、S3におけるi番目の領域を表し、且つR3_i=(x3_i,y3_i,w3_i,h3_i)とのパラメータを有することができると仮定すると、R3_iは、以下の数式6のように表現することができる。
【数6】
【0038】
ここで、wとhは、グリッドユニットの幅と高さである。例示的な領域S3は、図1において114と示されている。見てわかるように、上記操作により、画像において対象の手及びいくつかのコンテクストを認識することができる。
【0039】
図7は、図6に示すプロセスによって取得された画像領域の一例を示す。この例に示すように、図5に示す組み合わせられた第1の画像領域を、まず、1つのグリッドユニットで拡大して、拡大領域702を取得することができる。他の画像領域704を取得するために、画像におけるグリッドユニットにマッピングされるように、領域702の境界を拡大して、位置合わせすることができる。
【0040】
引き返して図2を参照し、212において、210で取得された画像領域(例えば、図7に示す領域704)を、グリッドに基づく検出ネットワークに送信して、210で取得された画像領域において捉えられた対象の手のより正確(精細)な認識に用いることができる。211の目標は、精細なグリッドに基づく検出ネットワークの入力が、精細な検出に十分なコンテクストを有し、精細なグリッドに基づく検出ネットワークを、グリッドユニットのサイズが予め決定されたグリッドに分割することができることを確保することである。精細なグリッドに基づく検出ネットワークは、図1において、106として概念的に示されている。いくつかの実行形式において、精細な検出ネットワーク106は、複数の層(例えば、3つより多くの層)を有することができる。精細な検出ネットワーク106は、受信された画像を、そのグリッドユニットのサイズが前述したw*h(すなわち、w=W/n、h=H/n)であるグリッドに分割することにより画像を処理するように設計され得る。精細な検出ネットワーク106は、それの対象の手と関連する信頼度スコアにより、精細な検出ネットワーク106によって受信された画像における各グリッドユニットを処理するように設計され得る。実行形式において、閾値信頼度スコアより高い信頼度スコアを有する画像ブロックが212において組み合わせられて、対象の手の認識を取得するために、閾値信頼度スコアを予め決定することができる。図1に示すように、手認識116は、画像領域114を精細な検出ネットワーク106に送信することより、取得することができる。画像領域114及び116を比較すると、領域116は、対象の手にさらに集中しており、かつ、領域114より小さい。
【0041】
いくつかの実行形式において、バッチ勾配降下法でデータを訓練することにより、粗略な位置決めネットワーク102を訓練することができる。トレーニングデータは、これらの画像における対象の手の位置及びサイズの手動マーキングを有する複数のRGB画像を含むことができる。例えば、トレーニングデータにおける所定の画像において捉えられた対象の手にタグを定義することができる。タグの左上隅及び右下隅の座標は、トレーニングデータとしてマーキングすることができる。手動マーキングの他の方法も考えられる。
【0042】
精細な検出ネットワーク106の訓練について、まず、粗略な位置決めネットワークを訓練するためのトレーニングデータを、粗略な位置決めネットワーク102に送信して、ステップ204によってセグメントを取得することができる。その結果セットがW0であると仮定すると、結果セットW0における認識されたセグメントと、画像における手動マーキングとを比較して、全てのマーキングが結果セットにおいてカバーされているか否かを決定することができる。1つ又は複数のマーキングが結果セットW0にカバーされていないと、ステップ208及び210によって、これらのマーキングをカバーした1つ又は複数のセグメントを結果セットW0に追加して、新たなセットW1を取得することができる。その後、新たなセットW1を、トレーニングデータ(対象の手の手動マーキングを有する)と共に粗略な位置決めネットワーク106に送信して、第2のCNN106を訓練することができる。いくつかの実行形式において、バッチ勾配降下法により、このようなデータを用いて粗略な位置決めネットワーク106を訓練することができる。
【0043】
いくつかの実行形式において、図1及び図2に示す方法により、対象の複数の手を認識することができる。これは、図8に概念的に示されている。見て分かるように、対象の各手のセグメント802、すなわち、802a及び802bは、まず、粗略な位置決めネットワーク102によって位置決めすることができる。その後、組み合わせ及び拡大プロセス104により、セグメント802aを804aに処理し、セグメント804bを、804bに処理することができる。領域804a及び804bを精細なグリッドに基づく検出ネットワーク106によってさらに処理して、対象の右手806bの認識及び対象の左手806aの認識を取得することができる。
【0044】
図9は、コンピュータシステム900のブロック図である。図9は、単に説明するためのものである。いくつかの実施例において、コンピュータシステムは、単一のコンピュータ装置を含み、サブシステムは、コンピュータ装置のコンポーネントであってもよい。他の実施例において、コンピュータシステムは、内部コンポーネントを有する複数のコンピュータ装置を含むことができ、それぞれのコンピュータ装置は、サブシステムである。コンピュータシステム900及びそのいずれかのコンポーネント又はサブシステムは、本明細書に記載の方法を実行するように構成されるハードウェア及び/又はソフトウェア要素を含むことができる。
【0045】
コンピュータシステム900は、1つ又は複数のデータプロセッサ又は中央処理装置(CPU)905、1つ又は複数のグラフィックプロセッサ又はグラフィック処理装置(GPU)910、メモリサブシステム915、記憶サブシステム920、1つ又は複数の入力/出力(I/O)インターフェース925、通信インターフェース930などの周知なコンピュータコンポーネントを含むことができる。コンピュータシステム900は、上記のコンポーネントを相互接続し、接続性および装置間通信などの機能を提供するシステムバス935を含むことができる。
【0046】
1つ又は複数のデータプロセッサ又は中央処理装置(CPU)905は、アプリケーション固有の機能を提供するためのロジック又はプログラムコードを実行することができる。(1つ又は複数の)CPU905のいくつかの例は、1つ又は複数のマイクロプロセッサ(例えば、シングルコア及びマルチコア)又はマイクロコントローラ、1つ又は複数のフィールドゲートプログラマブルアレイ(FPGA)、及び特定用途向け集積回路(ASIC)を含むことができる。本明細書で使用されるように、プロセッサは、同一集積チップ上のマルチコアプロセッサ又は単一の回路基板上の又はネットワーク化される複数の処理ユニットを含む。
【0047】
1つ又は複数のグラフィックプロセッサ又はグラフィック処理装置(GPU)910は、グラフィックと関連する、又はグラフィック特有の機能を提供するためのロジック又はプログラムコードを実行することができる。GPU910は、従来のビデオカードによって提供されるものなど、任意の従来のグラフィック処理装置を含むことができる。様々な実施例において、GPU910は、1つ又は複数のベクトル又は並列処理装置を含むことができる。これらのGPUは、ユーザプログラム可能であり、特定タイプのデータ(例えば、ビデオデータ)を符号化/復号化するための、又は2D又は3D描画操作、テクスチャリング操作、シェーディング操作などを加速するためのハードウェア要素を含むことができる。1つ又は複数のグラフィックプロセッサ又はグラフィック処理装置(GPU)910は、任意の数のレジスタ、ロジックユニット、算術ユニット、キャッシュ、メモリインターフェースなどを含むことができる。
【0048】
メモリサブシステム915は、例えば、機械読み取り可能な製品、情報記憶装置、又はコンピュータ読み取り可能な記憶媒体を使用して、情報を記憶することができる。いくつかの例は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROMS)、揮発性メモリ、不揮発性メモリ、及び他の半導体メモリを含むことができる。メモリサブシステム915は、データ及びプログラムコード940を含むことができる。
【0049】
記憶サブシステム920もまた、機械読み取り可能な製品、情報記憶装置、又はコンピュータ読み取り可能な記憶媒体を使用して、情報を記憶することができる。記憶サブシステム920は、記憶媒体945を使用して、情報を記憶することができる。記憶サブシステム920によって使用される記憶媒体945のいくつかの例は、フロッピーディスク、ハードディスク、CD−ROMS、DVD、及びバーコードのような光学記憶媒体、リムーバブル記憶装置、ネットワークストレージなどを含むことができる。いくつかの実施例において、データ及びプログラムコード940の全部又は一部は、記憶サブシステム920を使用して記憶することができる。
【0050】
1つ又は複数の入力/出力(I/O)インターフェース925が、I/O動作を実行することができる。1つ又は複数の入力装置950及び/又は1つ又は複数の出力装置955は、1つ又は複数のI/Oインターフェース925に通信可能に結合することができる。1つ又は複数の入力装置950は、コンピュータシステム900用の1つ又は複数のソースから情報を受信することができる。1つ又は複数の入力装置950のいくつかの例は、コンピュータマウス、トラックボール、トラックパッド、ジョイスティック、ワイヤレスリモコン、描画タブレット、音声コマンドシステム、視線追跡システム、外部記憶システム、タッチスクリーンとして適切に構成されるモニタ、トランシーバとして適切に構成される通信インターフェースなどを含むことができる。様々な実施例において、1つ又は複数の入力装置950は、コンピュータシステム900のユーザが、1つ又は複数の非グラフィカル又はグラフィカルユーザインターフェースとインタラクションして、コマンド、ボタンのクリック等を介してコメントを入力すること、オブジェクト、アイコン、テキスト、ユーザインターフェースウィジェット、又はモニタ/ディスプレイ装置に現れる他のユーザインターフェース要素を選択することを許容することができる。
【0051】
1つ又は複数の出力装置955は、コンピュータシステム900用の1つ又は複数の宛先に情報を出力することができる。1つ又は複数の出力装置955のいくつかの例は、プリンタ、ファックス、マウス又はジョイスティック用のフィードバック装置、外部記憶システム、モニタ又は他のディスプレイ装置、トランシーバとして適切に構成される通信インターフェース等を含むことができる。1つ又は複数の出力装置955は、コンピュータシステム900のユーザが、オブジェクト、アイコン、テキスト、ユーザインターフェースウィジェット、又は他のユーザインターフェース要素を閲覧することを許容することができる。表示装置又はモニタは、コンピュータシステム900と共に使用されてもよく、情報を表示するために構成されるハードウェア及び/又はソフトウェア要素を含んでもよい。
【0052】
通信インターフェース930は、データの送受信を含む通信動作を実行することができる。通信インターフェース930のいくつかの例は、ネットワーク通信インターフェース(例えば、イーサネット、Wi−Fiなど)を含むことができる。例えば、通信インターフェース930は、コンピュータネットワーク、USBハブなどのような通信ネットワーク/外部バス960に結合することができる。コンピュータシステムは、例えば、通信インターフェース930又は内部インターフェースによって接続される、複数の同一コンポーネント又はサブシステムを含むことができる。いくつかの実施例において、コンピュータシステム、サブシステム、又は装置は、ネットワークを経由して通信することができる。このような場合では、1つのコンピュータは、クライアントと見なされ、また、別のコンピュータは、サーバと見なされてもよく、それぞれは、同一コンピュータシステムの一部であってもよい。クライアント及びサーバはそれぞれ、複数のシステム、サブシステム、又はコンポーネントを含むことができる。
【0053】
コンピュータシステム900は、プロセッサによって実行される、本明細書に開示される技術を実行して操作し又は他の方式で実現するための1つ又は複数のアプリケーション(例えば、ソフトウェアコンポーネント又は機能)をさらに含むことができる。これらのアプリケーションは、データ及びプログラムコード940として具現化することができる。また、コンピュータプログラム、実行可能コンピュータコード、人間読み取り可能なソースコード、シェーダコード、レンダリングエンジンなど、及びデータ(例えば、画像ファイル、オブジェクトの幾何学的記述を含むモデル、オブジェクトの順序付けされた幾何学的記述、モデルのプロセス記述を含むモデル、シーン記述子ファイルなど)が、メモリサブシステム915及び/又は記憶サブシステム920に記憶することができる。
【0054】
そのようなプログラムは、さらに、様々なプロトコルに準拠する有線、光学、及び/又は無線ネットワークを介した伝送に適合する搬送波信号を使用して符号化及び伝送することができる。したがって、本発明の実施例に係るコンピュータ読み取り可能な媒体は、そのようなプログラムで符号化されたデータ信号を使用して作成することができる。プログラムコードで符号化されたコンピュータ読み取り可能な媒体は、互換性のある装置とともにパッケージ化されてもよく、又は他の装置と別に提供されてもよい(例えば、インターネットを介してダウンロードする)。任意のそのようなコンピュータ読み取り可能な媒体は、単一のコンピュータ製品(例えば、ハードドライブ、CD、又はコンピュータシステム全体)上又は内部に存在してもよく、システム又はネットワーク内の異なるコンピュータ製品上又は内部に存在してもよい。コンピュータシステムは、本明細書で述べられた結果のいずれかをユーザに提供するための、モニタ、プリンタ、又は他の適切なディスプレイを含むことができる。
【0055】
本明細書に記載するいずれかの方法は、ステップを実行するように構成され得る1つ又は複数のプロセッサを含むコンピュータシステムによって完全に又は部分的に実行され得る。したがって、実施例は、対応するステップ又は対応するステップのグループを実行する異なるコンポーネントを潜在的に有する、本明細書に記載するいずれかの方法のステップを実行するように設定されるコンピュータシステムに関することであってよい。番号が付けられたステップとして提供されているが、本明細書の方法のステップは、同時に又は異なる順序で実行されてよい。なお、ステップの一部は、他の方法からの他のステップの一部と一緒に使用され得る。また、ステップの全て又は一部は、任意選択であってよい。なお、いずれかの方法のいずれかのステップは、モジュール、回路、又はこれらのステップを実行するために他の素子で実行され得る。
【0056】
特定の実施例の具体的な詳細は、本発明の実施例の趣旨及び範囲から逸脱することなく、任意の適切な態様で組み合わされてよい。しかしながら、本発明の他の実施例は、個別の態様の各々に関連する具体的な実施例、又はこれら個別の態様の具体的な組み合わせに関するものであってよい。
【0057】
本発明の例示的な実施例の上記の記載は、説明及び記載の目的で提供されている。網羅的であること、又は説明される精密な形態に本発明を限定することを意味せず、上記の教示に鑑みて、多くの変更及び変形が可能である。実施例は、本発明の原理及びその実際の応用を最も良く説明すべく選択され、記載されている。これにより、他の当業者が、様々な実施例において、予期される特定の用途に好適な様々な変更で、本発明を最も良く利用することを可能にする。
【0058】
その教示がこの開示において提示される1つ又は複数の発明のうちのいずれかの種々の実施例が、ソフトウェア、ファームウェア、ハードウェア又はそれらを組合せてロジックの形で生成され得る。ロジックは、この開示において提示された発明の種々の実施例において開示され得る一組のステップを実行するように、ロジックマシンの中央処理装置(CPU又はプロセッサ)に指示するように適合された1組の命令として、機械アクセス可能なメモリ、機械読み取り可能な製品、有形のコンピュータ読み取り可能な媒体、コンピュータ読み取り可能な記憶媒体、又は他のコンピュータ/機械読み取り可能な媒体に格納されてもよい。コードモジュールが、この開示において提示された発明の種々の実施例において方法又はプロセスを実行するために実行される際に、コンピュータシステム又は情報処理装置のプロセッサと共に動作可能となるため、ロジックは、ソフトウェアプログラム又はコンピュータプログラム製品の一部を形成し得る。この開示及び本明細書により提供される教示に基づいて、当業者であれば、提示された1つ又は複数の発明の種々の実施例に開示された動作又は機能のいずれかを、ソフトウェア、ファームウェア、ハードウェア又はそれらの組合せにより生成するための他の形態、変形、修正、取り替え及び/又は方法を理解するであろう。
【0059】
その教示がこの開示において提示され得るそれらの発明におけるいずれかの開示された例、実行形式、及び種々の実施例は、この開示の教示を適正かつ明確に当業者に伝えるための説明的なものに過ぎない。これらの実行形式及び実施例は例示的な図解又は特定の図を参照して説明され得るため、説明された方法及び/又は特定の構造の種々の修正又は変更が、当業者にとって明らかとなる。本開示及び本明細書から見出されたこれらの教示に依存し、かつ、その教示により当該分野の技術を進歩させた、すべてのこれらの修正、変更又は変化は、その教示がこの開示において提示され得る1つ又は複数の発明の範囲内にあると考えられるべきである。よって、当該記載及び図面は限定的な意味であると認めるべきでなく、なお、本開示において提示された発明は、決して何らの形態で図示されたそれらの実施例に限定されないということが理解される。
【0060】
したがって、上述の説明及びあらゆる図面、図解、及び図は、限定的ではなく説明的なものであるよう意図されている。よって、この開示において提示されたあらゆる発明の範囲は、上記説明及び図に示されたそれらの実施例を単純に参照することにより決定されるべきではなく、係属中の請求項、及びその完全な範囲又は同等物を参照して決定されるべきである。
【符号の説明】
【0061】
102 ネットワーク
104 拡大プロセス
106 検出ネットワーク
900 コンピュータシステム
905 中央処理装置(CPU)
910 グラフィック処理装置(GPU)
915 メモリサブシステム
920 記憶サブシステム
925 I/Oインターフェース
930 通信インターフェース
935 システムバス
940 プログラムコード
945 記憶媒体
950 入力装置
955 出力装置
960 外部バス
図1
図2
図3
図4
図5
図6
図7
図8
図9