IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ レンチ インク.の特許一覧

<>
  • 特許-手動作の対称性の認識方法及びシステム 図1
  • 特許-手動作の対称性の認識方法及びシステム 図2
  • 特許-手動作の対称性の認識方法及びシステム 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-10
(45)【発行日】2024-05-20
(54)【発明の名称】手動作の対称性の認識方法及びシステム
(51)【国際特許分類】
   G06T 7/20 20170101AFI20240513BHJP
【FI】
G06T7/20 300Z
【請求項の数】 18
(21)【出願番号】P 2021555602
(86)(22)【出願日】2020-03-12
(65)【公表番号】
(43)【公表日】2022-07-12
(86)【国際出願番号】 IB2020052249
(87)【国際公開番号】W WO2020188424
(87)【国際公開日】2020-09-24
【審査請求日】2022-11-29
(73)【特許権者】
【識別番号】520505397
【氏名又は名称】レンチ インク.
【氏名又は名称原語表記】WRNCH INC.
(74)【代理人】
【識別番号】230130074
【弁護士】
【氏名又は名称】藤河家 知美
(74)【代理人】
【識別番号】100154117
【弁理士】
【氏名又は名称】鈴木 雅子
(72)【発明者】
【氏名】トルスティキン,アンドレイ
(72)【発明者】
【氏名】ブラウン,コリン
【審査官】▲柳▼谷 侑
(56)【参考文献】
【文献】米国特許出願公開第2018/0189556(US,A1)
【文献】特開2019-152927(JP,A)
【文献】Tomas Bravenec et al.,Multiplatform System for Hand Gesture Recognition,[online],2019年12月12日,https://ieeexplore.ieee.org/document/9001762
【文献】Natalia Neverova et al.,A Multi-scale Approach to Gesture Detection and Recognition,[online],2013年12月08日,https://ieeexplore.ieee.org/document/6755936
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/20
(57)【特許請求の範囲】
【請求項1】
動作データを捕捉するキャプチャ装置と、
前記キャプチャ装置から前記動作データを受け取り、対称変換を使用して前記動作データを変換する変換モジュールと、
受け取った特定の対称性のある動作データを使用して動作を識別し、各動作について、推定動作クラス又はクラス確率を出力する動作分類器と、
前記変換モジュールにより変換された動作データを使用する前記動作分類器から推定動作クラス又は複数のクラス確率を受け取り、対称変換に対応する変換を使用して推定動作クラスを反転させ、反転された推定動作クラスを生成するクラス反転モジュールと、
前記クラス反転モジュールから前記反転された推定動作クラス、および、前記キャプチャ装置からの動作データを使用する動作分類器から推定動作クラスを受け取り、支配的である動作クラス、又は複数のクラス確率の組合わせに基づいて出力動作クラスを生成するクラスアグリゲータと、
を備える動作分類器システム。
【請求項2】
前記変換モジュールは、左右反転変換モジュールであり、前記クラス反転モジュールは、左右クラス反転モジュールである、請求項1に記載の動作分類器システム。
【請求項3】
前記左右反転変換モジュールは、前記動作データの各x座標を反転させて前記動作データを変換する、請求項2に記載の動作分類器システム。
【請求項4】
前記左右クラス反転モジュールは、右手動作を左手動作に及びその逆に反転させる、請求項2又は3に記載の動作分類器システム。
【請求項5】
前記クラスアグリゲータは、前記推定動作クラス又は前記反転された推定動作クラスのクラス確率及び前記推定動作クラスの組合わせを含む出力を生成する、請求項1に記載の動作分類器システム。
【請求項6】
前記動作データは、人の骨格データである、請求項1からまでのいずれか1項に記載の動作分類器システム。
【請求項7】
人の前記骨格データは、一定期間にわたる骨格関節のX座標及びY座標の配列を含む、請求項に記載の動作分類器システム。
【請求項8】
前記動作データは、骨格キーポイント、画像又は映像である、請求項1からまでのいずれか1項に記載の動作分類器システム。
【請求項9】
動作を分類する方法であって、
動作データを捕捉するステップと、
対称変換を使用して前記動作データを変換するステップと、
推定動作クラス又は特定の対称性を有する前記動作データから推定される複数のクラス確率を識別するステップと、
推定動作クラス又は特定の対称性を有する変換された前記動作データから推定される複数のクラス確率を識別するステップと、
前記対称変換に対応する変換を使用して、変換された前記動作データから得られた推定動作クラス又は複数のクラス確率を反転させて、反転された推定動作クラス又は複数のクラス確率を生成するステップと、
前記動作データから得られた、前記反転された推定動作クラス又はクラス確率、及び前記推定動作クラス又はクラス確率を組み合わせて、複数の動作クラス又はクラス確率を生成するステップと、
を含む方法。
【請求項10】
対称変換を使用して動作データを変換するステップには左側の動作が右側の動作に、かつ右側の動作が左側の動作に変換されるように、縦軸を横断して前記動作データを左右に反転するステップが含まれ、変換された前記動作データから得られた推定動作クラスを反転するステップには左クラスから右クラスへの、または右クラスから左クラスへの識別子を反転するステップが含まれる、請求項に記載の動作を分類する方法。
【請求項11】
前記動作データを左右反転させるステップには、前記動作データの各x座標を反転させるステップが含まれる、請求項10に記載の動作を分類する方法。
【請求項12】
前記動作データは、人の骨格データである、請求項から11までのいずれか1項に記載の動作を分類する方法。
【請求項13】
人の前記骨格データは、一定期間にわたる骨格関節のX座標及びY座標の配列を含む、請求項12に記載の動作を分類する方法。
【請求項14】
前記動作データは、骨格キーポイント、画像又は映像である、請求項から11までのいずれか1項に記載の動作を分類する方法。
【請求項15】
一連の訓練インスタンスを使用して機械学習システムを訓練する方法であって、
各訓練インスタンスはクラスラベル及び動作データを含み、前記方法は、
最初の非対称性に関連付けられたラベルを有する訓練インスタンスを識別するステップと、
練インスタンスごとに、
インスタンスに関連付けられたラベルを前記最初の非対称性の対となる別のラベルに変換することによって、訓練インスタンスを修正するステップと
前記最初の非対称性に関連付けられた変換を使用して、訓練インスタンスに関連する前記動作データを変換するステップと
修正された訓練インスタンスを使用して機械学習システムを訓練するステップと、
を含み、
訓練インスタンスが修正された結果、訓練インスタンスのいずれも、前記最初の非対称性のラベル付けがされていない、方法。
【請求項16】
前記最初の非対称性は左手であり、前記ラベルの変換は左手ラベルから右手ラベルへの変換を含み、前記動作データの変換は前記動作データの左右反転を含む、請求項15に記載の方法。
【請求項17】
前記最初の非対称性は右手であり、前記ラベルの変換は右手ラベルから左手ラベルへの変換を含み、前記動作データの変換は前記動作データの左右反転を含む、請求項15に記載の方法。
【請求項18】
前記動作データの左右反転は、前記動作データの各X座標の反転を含む、請求項16又は17に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータを使用した動作の認識システム及び方法に関する。具体的には、左右非対称動作の認識に関する。
【背景技術】
【0002】
映像データ中の人の動作(手を振る、走るなど)を検出する深層学習を用いた方法が提案されている。人の動作の多くは左右非対称(手を振る、ボールを蹴るなど)であるが、身体の両側で等しく行うことができる。左右の手が行う所与の動作を区別し、各々を別個のクラスとして判断することのできる動作の認識方法は、応用範囲が広い。例えば、サッカー分析への適用方法においては、左足又は右足でシュートするプレーヤーを区別することが重要であり得る。
【0003】
さらに、この種の動作認識は、人以外の動物、ロボット又はあらゆる対称な動作主体により広く応用することができる。例えば、動物研究において、動物が主にその左側又は右側で行う非対称動作を区別することのできるシステムがあると有用であり得る。
【0004】
しかしながら、動作認識システムに両手の動作を区別させると、予測可能なクラスの数が実質的に2倍となり、動作認識システム、さらには学習ベースのシステムの訓練データベース及び訓練手順が複雑化し、費用が増加し得る。
【0005】
学習ベースのシステムについて生じている別の問題は、大方左利きの人と大方右利きの人の不均衡な人口分布に起因している。訓練された学習ベースの分類器は、データベース内のクラスの分布の影響を受け得る。しかしながら、公開データから大規模な訓練データセットをサンプリングするのは一般的に行われており、また、人口の大部分が右利きであることが分かっている。したがって、左右の手の動作が同程度の精度で認識されるのが望ましいものの、特にデータセットが公開データからサンプリングされている場合には、左右の手の動作事例が同数となっている訓練データセットを取得するのは困難なことがある。
【0006】
したがって、対称動作及び非対称動作を認識する際の改善が望まれる。
【発明の概要】
【0007】
本開示においては、殆どの人体及び動物体に固有の左右の鏡面対称性を利用した、(例えば、左右の手の)左右非対称動作の動作認識システムについて説明する。具体的には、1)一方の利き手動作(例えば、左手動作)のみを認識するが、2回推測を行い、うち1回は入力を左右反転させて左右の手の動作を識別する動作認識システムと、2)全ての訓練インスタンス(及び関連するラベル)を左手動作にみえるよう反転させて、左右の手の動作間の訓練データセットの均衡をとる、前述のシステムを学習に基づき実装するための訓練方法を説明する。
【図面の簡単な説明】
【0008】
図1図1は、動作認識システムのブロック図である。
図2図2は、動作認識システムの使用事例の実施形態の概略図である。
図3図3は、左手動作分類器の実施形態の概略図である。
【発明を実施するための形態】
【0009】
<動作認識システム>
動作認識システム10は、キャプチャ装置20、該キャプチャ装置の入力を左右反転させる変換モジュール30、手動作分類器40、及び左手動作分類器50から得られた動作クラス出力の左右反転を行うモジュールからなる。動作認識システムは、反転された入力及び反転されていない入力の両方から情報が与えられた最終的な1つ以上の動作クラスを決定するクラスアグリゲータコンポーネント60も含むことができる。
【0010】
動作クラスは、ある時間的尺度(例えば、実行中の動作の静止画像、まばたきのような短時間のジェスチャー、ゴルフのような長時間の動作)における、ある行為主体(人や動物など)による、特定の動作又は複数の関連動作(例えば、「手を振る」は、様々な異なる速度のいずれかで及び/若しくは多くの異なる様式のいずれかで手を振ることをいう。)である。「なし」、「デフォルト」又は「休止」などの動作クラスは、関連動作がないことを示す。複数の有効な動作クラス及び動作クラスの表示は、動作認識システムの適用方法及び該システムの特定の実施形態により異なることがある。
【0011】
動作クラスは、該動作が、通常、左右非対称に行われる場合には、(左又は右の)利き手と関連付けることができる。該動作は、片手又は身体の片側だけで行う必要はなく、左右対称に実施される動作と区別するために、身体の優位側又は利き側などにより、左利き又は右利きとして適切に分類される。左右対称に実施される動作を示す動作クラスは、左右の手の動作クラスが同一の動作又は複数の動作を示す非対称動作クラスの特別な場合であるとみなすことができる。例えば、頭をうなずくのは、左右の動作クラスが不要な動作であってもよい。同様に、分類器の適用方法の中には、左右いずれの手の動作であるかは問題とならないことがある。例えば、「自動車の運転」については、運転者が右手、左手又は両手のいずれでハンドルを握っているかは問題とはならないことがある。
【0012】
キャプチャ装置20のデータは、動作クラス又は複数のクラス確率を推定することのできる手動作分類器40に送られ、その後、クラスアグリゲータモジュールに送信されて、出力された1つ以上の動作クラス60を決定する。キャプチャ装置のデータは、左右反転などの変換モジュール30に送信することもできる。キャプチャ装置20の動作データは、左右反転変換モジュール及び手動作分類器40に、同時に又は順次(順番を問わない。)送信されてもよい。変換モジュール30は、手動作分類器40が手動作クラス又は複数のクラス確率を推定する前に入力データについて左右反転変換を行うことができる。反転された入力データの1つ以上の動作クラスは、更に左右反転50(すなわち、左手クラスから右手クラスへ)が行われ、2つ目の入力としてクラスアグリゲータモジュール60に送信してもよく、これにより、2つの入力に与えられる最終動作クラス又は複数のクラスを決定することができる。
【0013】
以下、これらの各構成要素について詳細に説明する。
【0014】
キャプチャ装置20は、動作データにアクセスし、これを捕捉し又は受け取るためのシステム又は装置により具現化することができる。例えば、動作データには、画像、映像ファイル、ウェブカメラなどのライブ映像データ、ビデオストリーミングクライアント、人体ポーズ推定システム又は動作捕捉システムを含めることができる。動作データは、空間的にコヒーレントな方法で、人その他関連行為主体(例えば、動物やアンドロイド)を示すことができるのが好ましい。例として、動作データには、映像の1つ以上の画像フレーム、深度カメラの深度値の画像、及び/又は2D若しくは3D骨格/マーカポイントを含めることができる。該動作データは、一連のフレームのような時間的なものであってもよいし、単一フレームのような時間に影響されないものであってもよい。
【0015】
変換モジュール30は、キャプチャ装置から入力データを受け取り、その後該データに対して左右(平行)反転変換を行うことができる。変換の正確な形式は、キャプチャ装置から提供されるデータ形式(例えば、画像データ 対 スケルトンデータ)により異なるが、結果として、動作データが左右に反転されて、該動作データ中の左側の事象や動作が右側に変換され、その逆も同様に行われる。
【0016】
例えば、変換モジュール30は、対象者の骨格関節を示す一連のキーポイントを、0から1の範囲で正規化されたX座標及びY座標の配列として受け取ることができる。この場合、左右反転モジュールは、各関節のX座標を1-Xとして反転し、Y座標を変更せずにおいてもよい。動作データが映像又は画像である場合、左右反転モジュールは、鏡像変換によりデータを変換することができる。
【0017】
入力データ及び訓練データにおいて他の予想される非対称性及び対称性を有する適用例では、別の変換を用いることができる。例えば、適用例により、垂直に対称な場合には、左右反転モジュールの代わりに、垂直反転モジュールを変換モジュールとして使用することができる。同様に、時間的動作データについては、変換モジュールは、適用例に順方向/逆方向の時間対称性がある場合、動作データを逆時間順に並べ替えることができる。変換モジュールは1つ以上の変換を行うことができ、適用例によっては、動作クラスにより多くの動作が含まれる場合、複数の変換モジュールを並列及び順番に使用することができる。たとえば、左右反転モジュールと垂直反転モジュールの両方を使用すると、動作は、左手動作として、かつ、上下逆に推測されることがある。
【0018】
手動作分類器40は、反転された又は反転されていない入力動作データを受け取り、一方の利き手についての推定動作クラス又は複数のクラス確率を出力することができる。
【0019】
手動作分類器40は、左手動作を識別することができ、又は右手動作も同様に識別することができる。上述したとおり、左手動作クラスは、必ずしも左手のみで行われた動作を示すものではなく、非対称的に実施され、右手動作と区別するために左手動作とみなされる動作もある。例えば、テニス映像の分析向けに設計された左手動作分類器は、プレーヤーの左手で行われたとみなされたときに限りフォアハンドストロークを認識し、それ以外の場合は、動作のないクラスを出力する。
【0020】
単一の手動作分類器40が示されているが、実施形態において、第1分類器が非反転入力動作データを、第2分類器が反転入力動作データを受け取る2つの手動作分類器があってもよい。1つの手動作分類器を使用する場合、反転された入力動作データ及び反転されていない入力動作データの両方を同時、ただし別個に又は順番に処理して、反転された入力動作データ及び反転されていない入力動作データ各々の動作クラスを個別に推定することができる。一実施形態では、手動作分類器が一度メモリにロードされると、フレームは、一回は反転されずに、一回は反転されて分類器を通過する。
【0021】
手動作分類器は、畳み込みニューラルネットワークを使用した分類器、決定木、サポートベクトルマシン又は自前の分類器などの分類器により実装してもよい。手動作分類器は、キャプチャ装置から入力データを受け取り、1つの動作クラス又は複数のクラス確率を出力することができる。分類器は、再帰型ニューラルネットワーク(RNN)を使用するなどにより、時間情報(ある場合。)を使用することができる。
【0022】
図3を参照すると、例えば、左手動作分類器は、反転された及び反転されていないジョイント座標を入力として受け取り、一連の全結合層、活性化層(例えば、正規化線形ユニット層)、LSTM層及びソフトマックス層を含む長短期記憶(LSTM)RNNとして実装してもよい。
【0023】
図3を参照すると、一実施形態では、左手動作分類器は、人の2D関節位置を入力として受け取り、推定動作クラスのone-hotベクトル表現を出力する長短期記憶(LSTM)ニューラルネットワークとして実装される。すなわち、出力ベクトルにおいて、出力ベクトル中の推定クラスに対応する1つの要素は高い値を有する。この実施形態の分類器では、入力2D関節位置は、先ず[0,1]座標空間320に正規化され、次に、出力クラス340を計算するソフトマックス層330に伝達される前に、一連の積み重ねられた全結合層、制限付き線形ユニット(ReLu)層及びLSTM層に伝達されてもよい。全結合層及びLSTM層は、分類された動作データのデータベース上で訓練により学習された訓練可能な重みによりパラメータ化され得る。
【0024】
左右クラス反転モジュール50は、手動作分類器から、反転された入力データ上で推定された一方の利き手の動作クラス又は複数の動作クラス確率を受け取ることができ、反対の手の対応する動作クラス又は複数のクラス確率を生成することができる。一例として、左手動作分類器により推定された左手動作クラスが「左手を振る」の場合、左右クラス反転モジュール50は「右手を振る」を生成し、クラスアグリゲータモジュール60にこれを伝達することができる。左右クラス反転モジュールと呼ばれているが、クラス反転モジュール50は、適用例、及び変換モジュールにより行われる変換に応じて、クラスを垂直に、順方向/逆方向に、又はその他変換を反転させることができる。
【0025】
クラスアグリゲータモジュール60は、反転された入力データ及び反転されていない入力データについて推定する動作分類器の結果から左右の手の動作クラス又はクラス確率を受け取ることができ、1つのクラス又は複数のクラス確率(例えば、いずれの入力によっても動作が認識されない場合には「なし」、いずれかの入力により認識される場合には「なし」ではないクラス、及びいずれの入力も「なし」ではない又は結合クラスである場合には何らかの規則により選択される1つの動作クラス)を生成することができる。例として、クラスアグリゲータモジュール60への入力が、反転されていない入力データについて「なし」であり、左右クラス反転モジュール50からは「右手を振る」の場合、クラスアグリゲータモジュール60は、出力クラスとして「左手を振る」を生成してもよい。同様に、クラスアグリゲータモジュール60への入力が、反転されていない入力データについて「左手を振る」であり、左右クラス反転モジュール50からは「なし」の場合、クラスアグリゲータモジュール60は、出力クラスとして「左手を振る」を生成してもよい。クラスアグリゲータモジュール60への入力が、反転されていない入力データについて「左手を振る」であり、反転された入力データについて「右手を振る」である場合、クラスアグリゲータモジュール60は、「両手を振る」などの1つのアグリゲートクラスを、又は使用事例の要件が片手クラスのみ、若しくは「左手を振る」や「右手を振る」などの複数のクラスの識別を要求する場合には、「右手を振る」などの1つのクラスを生成してもよい。
【0026】
使用事例の要件に応じて、一実施形態では、クラスアグリゲータモジュール60が代わりに複数のクラスを生成してもよい。例えば、クラスアグリゲータは、「なし」ではない入力クラスを出力として生成するだけでよいため、入力に応じて様々な数の出力を出力することができる。
【0027】
クラスアグリゲータへの入力が、手動作分類器40及び左右反転クラスモジュール50から得られた複数のクラス確率である場合、一実施形態では、出力は1つの最も蓋然性の高いクラス、又は左右両方のクラスの一連のクラス確率の組合わせとすることができる。
【0028】
説明をした該システムモジュールは、別個のソフトウェアモジュール、別個のハードウェアユニット又は1つ以上のソフトウェア若しくはハードウェアコンポーネントの一部であってもよい。例えば、ソフトウェアモジュールは、Caffe、TensorFlow又はTorchのソフトウェアを使用して作成され、適切なモジュールを用いてPythonプログラミング言語、C++又はC#のようなコンピュータ言語で書かれた命令からなり、CPUやGPUのようなコンピュータハードウェア上で又はFPGA上に実装され、実行される。該システムは、デスクトップ、携帯電話その他ソフトウェアや動作データを保持するのに適したメモリを含む組込みシステムの一部などのプラットフォーム上で実行することができる。該システムは、キャプチャ装置と一体化させてもよく、又はこれに接続してもよい。
【0029】
図2を参照すると、一例では、樹木210上の装飾品に手を伸ばしている人を映した映像のフレームが、キャプチャ装置により示されている。キャプチャ装置により提供され得る入力データの追加的形式又は代替形式の例として、関節及び骨格(青色)並びに当該者の手の周りの境界ボックス(赤紫色)が、フレーム上に重ねて表示されている。原フレーム画像210及び左右反転フレーム画像220は、左手動作分類器230に伝送される。左手動作分類器230は、当該者の左腕が伸びているようにみえる、反転入力における「伸長」動作クラス250を認識する。右腕が伸びているようにみえる原入力を用いて、左手動作分類器230は、「なし」動作クラス240を生成する。この例では、クラスアグリゲータ260は、「伸長」動作が反転入力においてのみ検出されたと仮定して、結果として得られる出力クラスは、「右手の伸長」であると判断する。
<訓練方法>
【0030】
手動作分類器40が、ある機械学習を用いたモジュールとして実装される望ましい事例では、これを、動作データのクラス分けされたデータベース上で訓練する必要のある訓練可能な重みによりパラメータ化してもよい。この場合、訓練動作データは、キャプチャ装置により提供されるものと同じフォーマットである。
【0031】
該実施形態では、以下の訓練手順を使用することができる。右手動作を示すクラスラベルを有する訓練インスタンスの場合、クラスラベルは、反転させて、対応する左手動作ラベル及びスケルトンデータや映像フレームデータなどの関連インスタンス動作データを示してもよく、また、左右に反転させて、右手動作が左手動作にみえるようにしてもよい。これら変換を実行すると、左手クラスラベル及び正しく対応するインスタンス動作データのみを有する訓練データセットが生成される。手動作分類器40は、該変換された訓練データセット上で訓練され、左手動作のみを認識するよう学習してもよい。
【0032】
上記手順においては、左手動作のみでデータセットを生成する方法を説明しているが、同様の方法を用いて、右手動作のみでデータセットを作成することもできる。いずれの場合も、手動作分類器40は、一方の利き手の例示的な動作のみを含むデータセット上で訓練することができる。
【0033】
訓練は、GPUハードウェア(又はCPUハードウェア、FPGAなど)といった適切なハードウェアを使用し、Caffe(又はTensorFlow、Torch)などの適切な訓練フレームワークにおいて、バックプロパゲーションアルゴリズム(又は他の適切な学習アルゴリズム)を用いて、公開されているデータセット(例えば、MPII、UFC101)その他訓練データセット(例えば、社内で捕捉された及び/又は注釈付きのデータセット)上で実行することができる。
【0034】
上記の本発明の実施形態は例示にすぎない。本開示から逸脱することなく変更や修正を行い得ることは、当業者には明白である。本開示には、添付の特許請求の範囲に含まれる全ての変更及び修正が含まれる。
図1
図2
図3