JP7335370B2 - 3次元姿勢推定データを生成するためのコンピュータ実装方法、データ処理装置およびコンピュータプログラム - Google Patents

3次元姿勢推定データを生成するためのコンピュータ実装方法、データ処理装置およびコンピュータプログラム Download PDF

Info

Publication number
JP7335370B2
JP7335370B2 JP2022015095A JP2022015095A JP7335370B2 JP 7335370 B2 JP7335370 B2 JP 7335370B2 JP 2022015095 A JP2022015095 A JP 2022015095A JP 2022015095 A JP2022015095 A JP 2022015095A JP 7335370 B2 JP7335370 B2 JP 7335370B2
Authority
JP
Japan
Prior art keywords
pose estimation
estimation data
data
persons
points
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.)
Active
Application number
JP2022015095A
Other languages
English (en)
Other versions
JP2022123843A (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.)
Grazper Technologies ApS
Original Assignee
Grazper Technologies ApS
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 Grazper Technologies ApS filed Critical Grazper Technologies ApS
Publication of JP2022123843A publication Critical patent/JP2022123843A/ja
Application granted granted Critical
Publication of JP7335370B2 publication Critical patent/JP7335370B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • G06T2207/20044Skeletonization; Medial axis transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Description

本実施例は、複数のカメラからの2次元映像データに基づいて、3次元姿勢推定データを生成するためのコンピュータ実装方法、データ処理装置およびコンピュータプログラムに関する。
映像データ中に映る人物の動きおよび姿勢に関する映像データを解析することは、開発研究の一分野である。2次元映像データから3次元姿勢推定データを生成するための様々なアルゴリズムおよび機械学習に基づくアプローチが存在する。しかしながら、多くの場合、2次元および3次元姿勢推定データを生成するために使用される映像データおよびアルゴリズムは、例えば、2次元映像データがキーポイントの位置に関してある程度の量の曖昧さを残すため、理想的ではない姿勢推定データになり得る。
本開示のさまざまな例は、映像データからの2次元および3次元姿勢推定データの抽出はしばしばエラーを起こしやすいという知見に基づく。これは、それぞれのアルゴリズムによって推定されるポイントが、例えば衣服の下に隠れている場合、特定の視野角から見た場合など、視界から遮られているときに、信頼性の高い推定ができないためである。代わりに、曖昧な場合において、ポイントについて近似的な位置が選択され、これは、しばしば連続した映像フレームにわたる「振動」する2次元および3次元姿勢推定データをもたらす。本開示の様々な例は、高品質の姿勢推定データの時間効率のよい生成をもたらす、相互作用な方法で姿勢推定データを評価および調整する効率的な手段をユーザーに提供する概念を提供し、これは、例えば機械学習モデルの訓練のために続いて使用され得る。
本開示の様々な例は、3次元姿勢推定データを生成するためのコンピュータで実装される方法に関連する。本方法は、複数のカメラの映像データを取得することを含む。映像データは、複数の観測角度から認識されるような、1人以上の人物の動きを示す。本方法は、映像データに基づいて2次元姿勢推定を行うのに適した機械学習モデルを用いて、1人以上の人物の2次元姿勢推定データを生成することを含む。本方法は、1人以上の人物の2次元姿勢推定データに基づいて、1人以上の人物の3次元姿勢推定データを生成することを含む。2次元および3次元姿勢推定データは、1人以上の人物の身体上の1つ以上のポイントによって定義される。本方法は、1人以上の人物の身体上の1つ以上のポイントの動きを映像データの上に重ねて図示することによって、1人以上の人物の動きの動画を提供することを含む。本方法は、ユーザーが1人以上の人物の身体上の1つ以上のポイントの位置を調整するためのユーザーインターフェースを提供することを含む。ユーザーインターフェースは、映像データの上に重ねられる1つ以上のポイントの動きの図示に基づく。動きの動画を生成することによって、フレームにわたる不連続性または曖昧さがユーザーインターフェースのユーザーに明らかになり得る。ポイントを映像データの上に重ねることによって、ユーザーは、生成された姿勢推定データと基本となる映像データとの対応関係を判断することが可能であり得る。ユーザーインターフェースは、上述の不連続性および曖昧さを修正するための便利で効率的な方法をユーザーに提供し得る。
本動画は、プロセスの様々な段階で更新され得、提供され得る。例えば、動きの動画および/またはユーザーインターフェースは、2次元姿勢推定データを生成した後、3次元姿勢推定データを生成した後および/または3次元姿勢推定データを自動的に調整した後に、提供および/または更新され得る。これにより、プロセスの様々な段階にわたって姿勢推定データを反復改善することが可能であり得る。
いくつかの例においては、本方法は、動きの間の1つ以上のポイントの位置を経時的に示す静止画像を生成することを含む。このような静止画像は、フレームにわたる個々のポイントの望まない振動の形で、時間的ノイズを視覚化し得る。
例えば、ユーザーインターフェースは、ユーザーが2次元または3次元座標系内の個々のポイントの位置を調整するための手段を提供し得る。これにより、ユーザーは動画を確認すると個々のポイントを修正(または追加)するために使用し得る。
姿勢推定データにおいては、それぞれの人物は、しばしば骨格で表現され、これは、関節および肢を含む(専門用語のため、それぞれの用語の解剖学的な意味には対応していない場合があり得る)。2次元および3次元姿勢推定データは、2次元または3次元座標系における1つ以上の骨格の関節の位置によって定義され得る。1つ以上の骨格は、1人以上の人物を表し得る。「骨格」は、それぞれの人物の姿勢の標準化された表現を提供する。
例えば、1つ以上の骨格の関節は、複数の肢によって相互に連結される。ユーザーインターフェースは、ユーザーが複数の肢の長さ、角度および位置の少なくとも1つを調整するための手段を提供し得る。例えば、姿勢推定データに含まれる肢の特性は、それらが表す人物におけるそれぞれの肢の物理的特性によって制約され得る。
いくつかの例においては、本方法は、1つ以上の調整アルゴリズムを使用して、3次元姿勢推定データを自動的に調整することを含む。例えば、様々な種類の平滑化アルゴリズムまたは制約アルゴリズムを使用して、3次元姿勢推定データを自動的に調整し得る。3次元姿勢推定データを自動的に調整した後に生成される1人以上の人物の動きの動画は、1つ以上の調整アルゴリズムによって実行された調整の効果を示すものであり得る。このように、ユーザーは動画を見直して、姿勢推定データに対して行われた自動的な調整の影響を評価し得る。
例えば、1つ以上の調整アルゴリズムは、時間的平滑化アルゴリズムなどの平滑化アルゴリズムを含み得る。このようなアルゴリズムは、映像フレームにわたって姿勢推定データの望まない振動の形の時間的ノイズを低減するために使用され得る。
一般に、ユーザーインターフェースは、平滑化アルゴリズムの使用をパラメータ化するために使用され得る。例えば、時間的平滑化アルゴリズムの1つの種類は、いわゆるカルマンフィルターである。ユーザーインターフェースは、ユーザーが平滑化アルゴリズム、例えばカルマンフィルターの1つ以上のパラメータを調整するための手段を提供し得る。
上述したように、2次元および3次元姿勢推定データは、複数の肢によって相互に連結される1つ以上の骨格の関節を有する、2次元または3次元座標系における1つ以上の骨格の関節の位置によって定義され得る。1つ以上の調整アルゴリズムは、複数の肢に適用される1つ以上の制約に基づいて、肢の関節の位置を調整するように構成される少なくとも1つのアルゴリズムを含む。例えば、肢の長さまたは肢の間の物理的に実現可能な角度の考慮などの特定の制約を使用して、姿勢推定データを自動的に調整し得る。例えば、1つ以上の制約は、複数の肢の長さに関連する少なくとも1つの制約および/または肢の間の角度に関連する少なくとも1つの制約を含み得る。
したがって、ユーザーインターフェースは、ユーザーが複数の肢に適用される1つ以上の制約を調整および/または選択するための手段を提供し得る。例えば、ユーザーインターフェースは、自動的に決定する手段、肢の長さを入力する手段および/またはどの制約を適用するかを選択する手段などを提供し得る。
上述したように、肢の長さは、提案されたシステムによって自動的に決定され得る。例えば、本方法は、3次元姿勢推定データに基づいて、個々の肢の平均の長さを推定することを含み得る。この場合、複数の肢の長さに関連する少なくとも1つの制約は、個々の肢の推定平均の長さに基づき得る。
ユーザーによる動画の評価を容易にするために、異なるポイント/関節に関して、ポイント/関節は、表現にわたり一貫して色分けされ得る。例えば、1つ以上のポイントの各ポイント、または複数の関節の各関節は、動きの動画の間で同じままである、異なる色で表現され得る。
一般的には、カメラの位置および対応する観測角度がシステムによって知られている場合、3次元姿勢推定データは、2次元姿勢推定データから自動的に生成され得る。例えば、3次元姿勢推定データは、2次元姿勢推定データに基づいておよび複数のカメラの複数の観測角度に基づいて、複数の関節の位置を三角測量することによって生成され得る。
異なるカメラの映像データに見られる1人以上の人物との間の対応関係を確立するために、映像データは、相互に同期し得、または相互に同期するようになり得る。言い換えれば、複数のカメラの映像データは、同期され得る。
一般的に、3次元姿勢推定データは、機械学習モデルの訓練など、様々な目的で使用され得る。また、生成された3次元姿勢推定データの処理を可能にするために、それぞれのデータを出力し得る。その結果、本方法は、3次元姿勢推定データを出力することを含み得る。
生成されたデータは、機械学習モデルの訓練または再訓練を行うために使用され得る。例えば、2次元姿勢推定を行うために使用される機械学習モデルは、結果として得られたデータを用いて再訓練され得る。例えば、本方法は、ユーザーが調整した1つ以上のポイントの位置に基づいて、2次元姿勢推定を行うのに適した機械学習モデルの訓練を調整することを含み得る。
加えてまたはあるいは、データは、単一のカメラまたは複数のカメラからの映像データから3次元姿勢推定データを(直接)導出する機械学習モデルの訓練に使用され得る。例えば、本方法は、映像データに基づいておよび3次元姿勢推定データに基づいて、他の機械学習モデルを訓練することを含む。
本開示の様々な例は、上記の方法を実行するように構成される処理回路を含む対応するデータ処理装置を提供する。例えば、データ処理装置は、複数のカメラの映像データを取得するように構成される。映像データは、複数の観測角度から認識されるような、1人以上の人物の動きを示す。データ処理装置は、映像データに基づいて2次元姿勢推定を行うのに適した機械学習モデルを用いて、1人以上の人物の2次元姿勢推定データを生成するように構成される。データ処理装置は、1人以上の人物の2次元姿勢推定データに基づいて、1人以上の人物の3次元姿勢推定データを生成するように構成される。2次元および3次元姿勢推定データは、1人以上の人物の身体上の1つ以上のポイントによって定義される。データ処理装置は、1人以上の人物の身体上の1つ以上のポイントの動きを映像データの上に重ねて図示することによって、1人以上の人物の動きの動画を提供するように構成される。データ処理装置は、ユーザーが1人以上の人物の身体上の1つ以上のポイントの位置を調整するためのユーザーインターフェースを提供するように構成される。ユーザーインターフェースは、映像データの上に重ねられる1つ以上のポイントの動きの図示に基づく。
本開示の様々な例は、コンピュータプログラムがコンピュータ、プロセッサ、処理回路またはプログラム可能なハードウェア構成要素上で実行されるときに、上記方法を実行するためのプログラムコードを有する、対応するコンピュータプログラムを提供する。
装置および/または方法のいくつかの例を、例示としてのみ、添付の図を参照して、以下に説明する。
図1a~図1bは、3次元姿勢推定データの生成方法の例を示すフローチャートである。 3次元姿勢推定データの生成における使用に適したユーザーインターフェースの模式図である。 3次元姿勢推定データの生成における使用に適したユーザーインターフェースの模式図である。 3次元姿勢推定データの生成における使用に適したユーザーインターフェースの模式図である。 3次元姿勢推定データを生成するためのデータ処理装置のブロック図である。 3次元姿勢エディターのユーザーインターフェースの例を示す図である。 3次元姿勢エディターのユーザーインターフェースの例を示す図である。 単一のカメラの映像データの例を示す図である。 映像内の人物の上の骨格の可視化の例を示す図である。 2次元姿勢推定データの生成に使用するための骨格の寸法を入力するためのユーザーインターフェースの一例を示す図である。 三角測量された姿勢推定データの2次元バージョンを重ねた、人物の映像表示を示す図である。 三角測量された姿勢推定データの3次元動画を示す図である。 調整のさまざまな段階における、姿勢推定データの3次元動画に加えて、骨格の関節の動きの軌跡の可視化を示す図である。 調整のさまざまな段階における、姿勢推定データの3次元動画に加えて、骨格の関節の動きの軌跡の可視化を示す図である。 調整のさまざまな段階における、姿勢推定データの3次元動画に加えて、骨格の関節の動きの軌跡の可視化を示す図である。 3次元姿勢推定データの生成に使用する骨格の寸法を入力するためのユーザーインターフェースの一例を示す図である。 骨格の肢の長さに制約を適用した後の、姿勢推定データの3次元動画に加えて、骨格の関節の動きの軌跡の可視化を示す図である。
ここで、いくつかの実施例について、添付の図を参照してより詳細に説明する。しかしながら、他の可能な例は、詳細に説明したこれらの実施形態の特徴に限定されない。他の例には、特徴の修正、同様に特徴の均等物および代替物が含まれ得る。さらに、本明細書で特定の実施例を説明するために使用される用語は、他の可能な実施例を制限すべきではない。
図の説明を通して、同じまたは類似の参照数字は、同じまたは類似の要素および/または特徴を示し、これは、同じまたは類似の機能を提供しながら、同一であり得または変更された形で実行され得る。図中の線、層および/または領域の太さも、明確にするために誇張されている場合があり得る。
2つの要素AおよびBが「または」を使用して結合されるとき、これは、個別に明示的に別段定義されていない限り、すべての可能な組み合わせ、つまりAのみ、Bのみ、同様にAおよびBを開示するものとして理解されたい。同じ組み合わせの代替表現として、「AおよびBのうちの少なくとも1つ」または「Aおよび/またはB」を使用し得る。これは、3つ以上の要素の組み合わせに同等に適用される。
「a」、「an」、「the」などの単数形が使用され、単一の要素のみの使用が明示的または暗黙的に必須として定義されていない場合、他の例でも、いくつかの要素を使用して同じ機能を実装され得る。機能が複数の要素を使用して実行されていると以下に説明されている場合、他の例においては、単一の要素または単一の処理エンティティを使用して同じ機能を実装し得る。さらに、「include(含む)」、「including(含む)」、「comprise(備える、含む)」および/または「comprising(備える、含む)」という用語は、使用されるとき、指定された特徴、整数、ステップ、操作、プロセス、要素、構成要素および/またはそれらのグループの存在を説明し、ただし、1つ以上の他の特徴、整数、ステップ、操作、プロセス、要素、構成要素および/またはそれらのグループの存在または追加を除外しないことを理解されたい。
本開示の様々な例は、マーカーレス3次元モーションキャプチャのための相互作用の概念、方法、データ処理装置およびコンピュータプログラムに関連する。一般的には、2次元映像データを解析して、2次元空間において、2次元映像データ内に見える人物の姿勢を推定する。その後、この推定結果を使用して、映像データが生じたカメラの位置および向き(すなわちカメラ姿勢)から得られる観測角度に関する知識に基づいて、対応する3次元姿勢推定データを生成する。こうして、実施例は、2次元映像フレームデータから人間の3次元姿勢モデルを生成することに関連し得る。
フレームにわたる姿勢推定データの動画を通して姿勢推定の品質を視覚化することによっておよび推定された姿勢を表すポイントを自動的にまたは手動で調整する手段を提供することによって、このプロセスを支援するための相互作用のユーザーインターフェースを提供する。本開示の例は、特に、ユーザーインターフェースを介して(姿勢推定)データのアノテーションを相互作用的に支援するおよび導くデータエディターに関する。アノテーションされたデータは、例えば、推定ネットワークの訓練に適する。
図1aおよび図1bは、3次元姿勢推定データを生成するための(コンピュータ実装)方法の例のフローチャートを示す。本方法は、複数のカメラの映像データ10(例えば、図1cに示す)を取得すること110を含む。映像データは、複数の観測角度から認識されるような、1人以上の人物12の動き(例えば、図1cに示す)を示す。本方法は、映像データに基づいて2次元姿勢推定を行うのに適した機械学習モデルを用いて、1人以上の人物の2次元姿勢推定データを生成すること120を含む。本方法は、1人以上の人物の2次元姿勢推定データに基づいて、1人以上の人物の3次元姿勢推定データを生成すること130を含む。2次元姿勢推定データと3次元姿勢推定データとは、1人以上の人物の身体上の1つ以上のポイント14a(例えば、図1cに示す)によって定義される。本方法は、1人以上の人物の身体上の1つ以上のポイントの動きを映像データの上に重ねて図示することによって、1人以上の人物の動きの動画16(例えば、図1cに示す)を提供すること140を含む。本方法は、ユーザーが1人以上の人物の身体上の1つ以上のポイントの位置を調整するためのユーザーインターフェースを提供すること150を含む。ユーザーインターフェースは、映像データに重ねられる、1つ以上のポイントの動きの図示に基づく。
上述したように、本開示の様々な例は、映像データからの3次元姿勢推定データの生成を支援するエディターに関連する。このエディターを、対応するユーザーインターフェースとともに、本開示で提供される方法、コンピュータプログラム、およびデータ処理装置によって提供する。これに対応して、本方法、コンピュータプログラムおよびデータ処理装置は、(2次元)映像データから3次元姿勢推定データの生成を支援するエディターを提供し得る。
本開示に関連して導入したエディターによって、複数の同期した人物の2次元視点、すなわち複数のカメラおよび複数の観測角度から生じる映像データを選択することが可能となる。このように、本方法は、複数のカメラの映像データ10を取得すること110を含む。例えば、映像データは、記憶装置または記憶媒体、例えば、図2に関連して紹介される記憶装置26、ネットワーク記憶装置、またはリムーバブル記憶装置から取得され得る。あるいは、映像データは、複数のカメラから直接取得(すなわち受信)され得、図1aおよび/または図1bの方法を実行するコンピューティング装置(例えば、データ処理装置20)の記憶装置にローカルに格納され得る。
上述したように、映像データは、キャラクター(すなわち人物)の複数の同期した2次元視点を提供し得る。言い換えると、複数のカメラの映像データは、同期され得、例えば、厳密に同じ時間に撮影され得る。そうでない場合、つまり映像が同期されない場合は、処理中に同期され得る。例えば、統計情報および/またはキーポイントは、変更され得、他のカメラの映像と同期され得る。この場合、映像自体は変更されていない場合があり得る。例えば、本方法は、例えば、映像データに映っている人物の動きに基づいて、映像データと共に記録されている音声に基づいてまたは映像データと共に記録されている同期信号に基づいて、複数のカメラの映像データを同期させることを含み得る。本開示においては複数のカメラに焦点を当てているが、単一のカメラの映像データにも同様の原理が適用され得る。この場合、3次元姿勢推定データの生成は、2次元姿勢推定データから3次元姿勢推定データを取得するように訓練された機械学習モデルに基づき得る。
映像データは、複数の観測角度から認識されるような、1人以上の人物12の動きを示す。一般的に、本発明の概念は、1人の人物、同様に複数の異なる人物の3次元姿勢推定データを生成するために使用され得る。映像データに1人の人物が映っている例を図3a、図3bに示す。1人以上の人物を様々な角度から記録する。これは、例えば、図3a、図3bに示すように、人物の動きを記録するために指定された空間など、閉じられた空間で行われ得る。図3aにおいては、人物が閉じられた空間を移動している様子を、閉じられた空間の周囲に配置された複数のカメラを用いて示す。例えば、複数のカメラは、閉じられた空間の周辺に位置し得る。あるいは、例えば、複数の監視カメラが重複する空間領域を記録することによって、1人以上の人物の動きを任意の設定で記録し得る。一般的に、複数のカメラは、複数の観測角度からの空間の重複する領域(すなわち、場所)を範囲に含み得る。言い換えれば、複数の観測角度は、空間の同じ領域を(異なる角度から)示し得る。例えば、複数の観測角度は、空間の領域の周囲に配置された複数のカメラによって記録されるような、空間の領域における1人以上の人物の動きを示し得る。例えば、複数のカメラは、1人以上の人物の各々が、複数の観測角度のうちの少なくとも1つから遮られることなく映されるように配置され得る。一般的には、複数の観測角度は、記録される人物の周囲に配置されるカメラの配置、高さ、ピッチ角、ヨー角に基づき得る。このように、複数の観測角度は、人物の記録に使用されるカメラの位置および向きに基づき得る。ロール角は、重力の方向が画像の下向きになるように一定にし得る。様々な例においては、カメラの位置および向き、ならびにまた観測角度は、すべてのカメラの正面に同時に表示される特殊な市松模様など、適切なキャリブレーション方法を含む初期の画像駆動キャリブレーションプロセスから得られ得る。このようなキャリブレーション方法はまた、キャリブレーションプロセス中に操作者に相互作用の視覚的フィードバックを提供するように改良され得る。
第1の処理ステップとして、映像データを解析して2次元姿勢推定データを生成する。言い換えれば、本方法は、映像データに基づいて、1人以上の人物の2次元姿勢推定データを生成すること120を含む。この(2次元)映像データを使用して、2次元姿勢推定データを生成する。例えば、2次元姿勢推定データは、各カメラの映像データについて個別に生成され得る。言い換えれば、2次元姿勢推定データは、複数の観測角度の各々について、例えば、同じファイル内でまたは異なるファイル内で、個別に定義され得る。
本開示の文脈では、2次元姿勢推定を行うために、機械学習モデルを用いる。例えば、機械学習モデルは、(2次元)映像データに基づいて2次元姿勢推定を生成するように訓練され得る。例えば、映像データは、機械学習モデルの入力として使用され得、2次元姿勢推定データは、姿勢推定データによって出力され得る。このタスクには、DeepPoseまたはDeep High-Resolution Representation Learning for Human Pose Estimation (HRNet)など、様々な有名な機械学習モデルを使用し得る。
一般的に、映像データは、観測角度ごとに、複数の映像フレームを含む。例えば、観測角度ごとに、映像データは、例えば1台のカメラによって観測角度から記録される複数のフレームを含む少なくとも1つの映像ファイルを含み得る。例えば、機械学習モデルは、複数の映像フレームの各フレームについて個別に(すなわち、各観測角度およびフレームについて個別に)、2次元姿勢推定データを生成して出力するように訓練され得る。あるいは、機械学習モデルは、例えば、(同じ観測角度の)フレームにわたって姿勢推定データのポイント/関節を追跡することによって、フレームにわたって2次元姿勢推定データを生成するように訓練され得る。
提案したアプローチは、観測角度の一部が遮蔽されている肢を扱うのにも適している。例えば、三角測量プロセスの一部として、(例えば、1人あたりの肢ごとに)各カメラについて各肢の精度の推定値を計算し得、遮蔽されたカメラを「不活性化」するために使用し得る。
上述したように、様々な例において、映像データは複数の人物を映し得る。この場合、機械学習モデルは、2次元姿勢情報データを各人物について個別に出力し得る。例えば、機械学習モデルの出力は、認識した人物を列挙し、認識した人物ごとのポイントの座標を出力し得る。また、2次元姿勢推定データの生成に使用される機械学習モデルは、映像データに映っている複数の人物を分離するために、人物の区分化を行うように訓練され得る。例えば、機械学習モデルは、人物の位置、人物の視覚的外観、人物の身体の姿勢、人物の骨の長さを用いてまたは人物の再同定を用いて、人物を識別するように訓練され得る。視覚的人物再同定システムは、外見だけで人物を区別することまたは再同定することを目的とする。
しかしながら、場合によっては、区分化は、例えば、個別の機械学習モデルまたは区分化アルゴリズムによって、機械学習モデルの出力に基づいて個別に実行され得る。言い換えれば、本方法は、映像データが複数の人物を示している場合、機械学習モデルの出力に基づいて、例えば、個別のアルゴリズムまたは機械学習モデルを使用して、人物を区分化することを含み得る。例えば、人物の位置、人物の視覚的外観、人物の身体の姿勢、人物の骨の長さを使用してもしくは人物の再同定を用いて、人物を識別するように、個別のアルゴリズムを構成し得、または別の機械学習アルゴリズムを訓練し得る。
異なる観測角度の間の対応関係を見つけるために、別のアルゴリズム(または機械学習モデル)を使用し得る。例えば、映像データは複数の人物を映している場合、映像データに映っている人物は、アルゴリズムまたは機械学習モデルによって、互いに関連付けられ得る。例えば、本方法は、(例えば、フレーム内の人物の位置に基づいておよび観測角度に基づいて)異なる観測角度から示された人物間の対応関係を確立することを含み得る。
多くの場合、2次元姿勢推定データの生成に使用される機械学習モデルは、各人物について複数の予め定義されたポイントを出力するように訓練され得る。骨格のキーポイントなど、キャラクターのキーポイント(すなわち、人物の身体上の1つ以上のポイント)は、2次元モデル内で自動的に生成され得る。例えば、1つ以上のポイントは、骨格の関節に対応し得る。例えば、2次元(および3次元)姿勢推定データは、2次元または3次元座標系における1つ以上の骨格の関節14aの位置によって定義され得、1つ以上の骨格は、1人以上の人物を表す。例えば、関節は1人以上の人物の身体上のポイントであり得る。あるいはまたは加えて、人物の身体上のポイントは、人物の鼻に対応するポイント、人物の目に対応する2つのポイント、人物の口に対応する1つ以上のポイント(例えば、口の両側を2つのポイントで表し得る)、人物の指に対応する1つ以上のポイント、人物のつま先に対応する1つ以上のポイントおよび人物の背骨を表す1つ以上のポイントのうちの1つ以上を含み得る。本開示の文脈では、「骨格」という用語は、生物学的な意味では理解されない場合があり得る。その代わり、骨格は、単に「生物学的」骨格をモデルにしただけの、姿勢推定用骨格であり得る。骨格は、図5b(2次元姿勢推定データの場合)および図10a(3次元姿勢推定データの場合)に示すような、予め定義された複数の関節を含み得る。例えば、2次元および3次元姿勢推定データについて、同じ複数の関節を使用し得る。1つ以上の骨格の関節は、複数の肢14bによって相互に連結され得る。上記と同様に、「関節」および「肢」という用語は、厳密な生物学的意味ではなく、本開示の文脈で言及される姿勢推定用骨格を参照して使用される場合があり得る。例えば、図5bおよび図10aに示すように、骨格の各脚および腕を3つの関節14aによって、腰を3つの関節によって、背骨を2つの関節によって、肩を3つの関節によって、鼻を有する頭部を2つの関節によって表現し得る。関節は、肢14bによって相互に連結され得る。例えば、腕は、肢「上腕」および「前腕」によって、脚は、肢「太もも」および「脹脛」によって表され得、加えて、肢「腰」、「背骨」、「肩」、「首」、「鼻」は、骨格の一部であり得る。得られた骨格を図5a~10bに示す。
いくつかの例において、追加の情報は、機械学習モデルへの入力として提供され得る。例えば、映像データに加えて、1人以上の人物の姿勢推定骨格の肢の長さに関する情報は、機械学習モデルへの入力として提供され得る。この肢の長さの情報は、例えば、図5bに示すように、ユーザーインターフェースを介して提供され得る。異なる関節を視覚化するために、複数の関節の各関節(および身体上の各ポイント)を異なる色で表現し得る。例えば、2次元および3次元姿勢推定データの図形の動画においては、色は同じであり得、動きの動画の間、これは同じままであり得る。例えば、複数の関節の各関節(および身体上の各ポイント)は、異なる色で表現され得、この色は、動きの動画の間、同じままである。
上述したように、2次元および3次元姿勢推定データは、1人以上の人物の身体上の1つ以上のポイント14aによって定義される。例えば、2次元姿勢推定データは、機械で読み取り可能なフォーマット、例えば、JavaScript Object Notation(JSON)ファイルとして出力され得る。例えば、機械学習モデルによって識別された各ポイント/関節について、2次元姿勢推定データは、2次元空間における位置(例えば、座標)と共にその位置が適用されるフレームの情報(および観測角度の映像データ)を含み得る。これに対応して、機械学習モデルによって識別された各ポイント/関節について、3次元姿勢推定データは、3次元空間における位置(例えば、座標)と共にその位置が適用されるフレームの情報(および観測角度の映像データ)を含み得る。
2次元映像フレーム(例えば、理想的には8台のカメラからのものであるが、1~1000台のカメラからのものも可能である。しかしながら、単一のカメラを使用する場合は別のアルゴリズムが使用される)から、姿勢情報を含む3次元キャラクター情報を、三角測量を介して(2次元姿勢推定データを介して)生成し得る。したがって、この方法は、1人以上の人物の2次元姿勢推定データに基づいて、1人以上の人物の3次元姿勢推定データを生成すること130を含む。例えば、3次元姿勢推定データを、2次元姿勢推定データおよび複数のカメラの複数の観測角度に基づいて、1つ以上のポイントまたは複数の関節の位置を三角測量することによって生成し得る。例えば、それぞれの2次元姿勢推定データが生成された観測角度に基づいておよびそれぞれの映像フレーム内のポイント間の距離に基づいて、対応する3次元姿勢推定データを三角測量によって導出し得る。例えば、複数の観測角度を表す2次元姿勢推定データを統合して、単一の3次元表現の姿勢推定データを取得し得る。さらに、3次元モデルの骨格データを生成し得る。言い換えれば、本方法は、複数の関節から1つ以上の骨格を生成することを含み得る。例えば、タイムオブフライト(ToF)カメラまたは構造化光型3次元スキャナーなどの、単一の「深度感知(depth-sensing)」カメラは、提案する概念の単一のカメラの変形について、記述された相互作用のエディターとともに使用され得る。
本概念は、2次元フレームから生成された3次元姿勢モデルを手動で編集可能なエディターを提供する。手動編集の目的は、例えば、3次元モデルを、人間の目から見てよりもっともらしい(すなわち、「自然な」「生き生きとした」)ものに改善することであり得る。
提案されたエディターは、上述および以下に概説する機能を組み込み得る。特に、エディターは、ユーザーインターフェースを介して制御され得る。本方法は、ユーザーにユーザーインターフェースを提供すること150を含む。特に、本方法は、エディターまたは少なくともエディターのユーザー向け要素をユーザーに提供することを含み得る(ユーザーインターフェースを含む)。提案されたエディターは、上述したように、次の動作の少なくともサブセットを実行し得る。まず、エディターは、複数のカメラから取得した映像シーケンス(すなわち、映像データ)を読み込み得る。個々の映像を処理し、身体の部位およびキーポイント(すなわち、身体上のポイント)を2次元で識別し得る。エディターは、(例えば、ノイズおよび遮蔽に強い方法で、)身体の部位の3次元位置を強固に三角測量し得る。
例えば滑らかな動きを生成するために(例えばカルマンフィルターまたはカルマンスムーサーを介して)、キーポイントを編集してジッターを除去し得る。そのために、提案されたユーザーインターフェースは、例えば1つ以上の自動化アルゴリズムと組み合わせて、使用され得る。
ユーザーインターフェースは、少なくとも2種類の要素を含み得る。すなわち、映像データ、1つ以上のポイント(例えば、骨格)および動きの動画を表示するための視覚的要素と、ポイントの編集およびパラメータの変更を行うための編集ツールとである。図1cは、3次元姿勢推定データの生成における使用に適したユーザーインターフェースの模式図を示す。ユーザーインターフェース100は、左側に、1人以上の人物12の動きの動画16を重ねた、映像データ10上の表示を含む。これに対応して、本方法は、1人以上の人物12の身体上の1つ以上のポイントの動きを映像データ10の上に重ねて図示することによって、1人以上の人物12の動きの動画16を提供すること140を含む。例えば、動画は、1つ以上のポイント(例えば、骨格の関節および肢)の動きを、映像データの上に重ねて(および同期させて)図示し得る。ユーザーインターフェースは、映像データの上に重ねられる動画を含み(すなわち、示し)得る。例えば、動画16は、ユーザーインターフェースに表示される複数の観測角度の各々に対して個別に提供され得る。
中央右に、3次元姿勢推定データの3次元動画18aを、動きの間の1つ以上のポイントの位置を経時的に示す静止画像18bとともに示す。これに対応して、本方法は、(3次元表示における)3次元姿勢推定データの3次元動画18aを生成/提供すること142を含み得る。ユーザーインターフェースは、3次元姿勢推定データの3次元動画18aを含み得る。本方法は、動き中の1つ以上のポイントの位置を経時的に示す静止画像18bを生成すること144をさらに含み得る。これに対応して、ユーザーインターフェースは、動き中の1つ以上のポイントの位置を経時的に示す静止画像18bを含み得る。例えば、図1cに示すように、映像の各フレームおよび各ポイント/関節について、静止画像は、フレームの(全ての)ポイントが同時に表示される、それぞれのポイントの表現を含み得る。
ユーザーインターフェースの右側には、ユーザーインターフェースの例に含まれる特性エディターの例が示されており、これは、(2次元および/または3次元姿勢推定データにおける)1人以上の人物の身体上の1つ以上のポイントの位置を調整する手段をユーザーに提供する。これに対応して、本方法は、ユーザーが1人以上の人物の身体上の1つ以上のポイントの位置を調整するためのユーザーインターフェースを提供すること150を含む。ユーザーインターフェースは、映像データの上に重ねられる1つ以上のポイントの動きの図示に基づく。例えば、動画または複数の動画16、18aは、姿勢推定データの現在の状態を図示するために使用される。加えて、ポイントを調整するために使用され得るユーザーインターフェース要素が提供され得る。
指摘されているように、ポイント/関節は、例えば、滑らかな動きを生成するために(例えばカルマンフィルターまたはカルマンスムーサーを介して)、例えば、手動でまたは自動化されたアルゴリズムを使用して、ジッターを除去するために編集され得る。例えば、ユーザーインターフェースは、ユーザーが2次元または3次元座標系内の個々のポイントの位置を調整するための手段を提供し得る。加えてまたはあるいは、本方法は、1つ以上の調整アルゴリズムを用いて、2次元および/または3次元姿勢推定データを自動的に調整すること160を含み得る。
例えば、キャラクターのキーポイント(すなわち、人物の身体上の1つ以上のポイント)は、手動で修正/調整され得る。例えば、ポイント/関節の位置は、映像データの各フレームにおいて、マウスもしくはトラックパッドなどのポインティング装置を利用してまたはそれぞれのポイントの調整座標を指定することによって、手動で調整され得る。例えば、調整は、1つ以上の観測角度について個別に行われ得(2次元姿勢推定データの場合)、または、3次元姿勢推定データにおいては、直接行われ得る。前者の場合、調整位置は、機械学習モデルによって生成された2次元姿勢推定データを直接調整し、結果として得られる3次元姿勢推定データを更新するために使用され得る。後者の場合、調整位置は、3次元姿勢推定データを直接調整するために、および各観測角度について、結果として得られた2次元姿勢推定データをバックアノテーションするために使用され得る。要約すると、本方法は、ユーザーインターフェースを介して行われた1つ以上のポイントの手動調整に基づいて、2次元および3次元姿勢推定データを調整することを含み得る。
1つ以上のポイント/関節を調整する別の方法は、間接的なルートを使用する。例えば、エディターは、(身体の部位の寸法に関する)骨格の制約をさらに導入し得る。骨格のデータ、例えば骨の長さなどは、同様に、2次元モデルおよび/または3次元モデルにも入力され得る。例えば、ユーザーインターフェースは、ユーザーが複数の肢の長さ、角度、位置のうちの少なくとも1つを調整するための手段を提供し得る。例えば、そのような手段は、図5b(2次元姿勢推定データの場合)、図10a(3次元姿勢推定データの場合)に示される。例えば、図に示すように、ユーザーインターフェースは、各肢について、長さを入力できるテキストボックスを含み得る。肢の位置は、関節の位置を介して変更され得る。一方で、関節の位置は、肢の長さに基づいて自動的に調整され得る。
例えば、1つ以上の調整アルゴリズムは、複数の肢に適用される1つ以上の制約に基づいて、肢の関節の位置を調整するように構成される少なくとも1つのアルゴリズムを含み得る。例えば、ユーザーインターフェースは、それぞれの肢の長さ、位置および/または角度を入力する手段を提供するため、この情報は、2次元および/または3次元姿勢推定データを生成するための制約として使用され得る。例えば、1つ以上の制約は、複数の肢の長さに関連する少なくとも1つの制約および/または肢の間の角度に関連する少なくとも1つの制約を含み得る。例えば、2次元または3次元姿勢推定データの生成において、(例えば、生物学的に不可能な(または非常にありえない)姿勢を除外するため、)肢の長さまたは2つの肢の間の最大若しくは最小の角度について、固定値を仮定し得る。例えば、3次元姿勢推定データの生成に使用されるアルゴリズムは、例えば、静的長さを有するおよび/または肢の間の最大若しくは最小の角度を有する肢を用いて骨格を生成するために、少なくとも1つの制約を考慮しながら、2次元データに基づいて3次元姿勢推定データを生成するように構成され得る。ユーザーインターフェースは、複数の肢に適用される1つ以上の制約をユーザーが調整および/または選択するための、1つ以上のテキストボックスなどの手段を提供し得る。
いくつかの場合において、1人以上の人物の肢の長さは、例えば、既知の人物を記録して3次元姿勢推定データを生成する管理された設定において、既知であり得る。しかしながら、多くの場合、肢の長さは事前に既知ではない。この場合(他の場合も同様)、肢の寸法は、3次元姿勢推定データからプログラムで導き出され得る。例えば、本方法は、3次元姿勢推定データに基づいて、個々の肢の平均の長さを推定することを含み得る。例えば、本方法は、複数のフレームについて個々の肢の長さを計算し、各肢の長さの平均値を計算することを含み得る。複数の肢の長さに関連する少なくとも1つの制約は、個々の肢の推定された平均の長さに基づき得る。言い換えれば、複数の肢に適用される1つ以上の制約に基づいて肢の関節の位置を調整するように構成される少なくとも1つのアルゴリズムは、各肢の長さの平均値に基づき得る。2次元姿勢推定データの生成についても同様である。すなわち、各肢の長さの平均値は、機械学習モデルの入力として(機械学習モデルの2回目の実行時に)使用され得、2次元姿勢推定データの改良版を生成する。
上記で指摘されているように、本方法は、1つ以上の調整アルゴリズムを用いて、3次元姿勢推定データを自動的に調整すること160を含み得る。自動調整アルゴリズムのうちの1つは、肢における制約に関係する。他の種類の自動調整アルゴリズムは、フレームにわたるポイント/関節の動きを平滑化するために使用されるアルゴリズムに関係する。例えば、1つ以上の調整アルゴリズムは、時間的平滑化アルゴリズムなどの平滑化アルゴリズムを含み得る。一般的に、時間的平滑化アルゴリズムは、フレームにわたる(したがって時間にわたる)ポイントの動きを平滑化する(すなわち、後続のフレーム間のポイント/関節の位置の差を減少させる)ように設計されるアルゴリズムであり得る。使用され得る平滑化アルゴリズムの1つは、カルマンフィルターと呼ばれる。カルマンフィルターは、再帰フィルターであり、これは、ノイズを含んだ入力(すなわち、姿勢推定データ)を受け取り、ノイズを含んだ入力に基づいておよび線形動的システムの以前の状態に基づいて、線形動的システムの状態を推定する。この場合、線形動的システムの状態の一部は、3次元姿勢推定データを「平滑化」したバージョンである。例えば、図7は時間的平滑化アルゴリズムを適用する前の動きを表す静止画像の例を示し、図8はカルマンフィルターを適用した後の同じ動きを表す静止画像の例を示す。
あるいは、隠れマルコフモデルに基づく時間的平滑化フィルター、または現在、過去および/若しくは未来の姿勢推定データにわたる回帰アルゴリズムを用いた時間的平滑化フィルターなど、他の種類の時間的平滑化フィルターを使用し得る。使用される平滑化フィルターの種類にかかわらず、平滑化アルゴリズムの適用を制御し、そのパラメータを制御するためにユーザーインターフェースを使用し得る。例えば、ユーザーインターフェースは、ユーザーが平滑化アルゴリズム、例えばカルマンフィルターの1つ以上のパラメータを調整する手段を提供し得る。
フレームにわたる動きの望まない振動という形における時間的ノイズを低減するためにこのような平滑化アルゴリズムを使用し得る。一方で、動きを平滑化しすぎるべきではない。すなわち、平滑化しすぎる動きを低減するために、ポイントは、手動で編集され得る。平滑化しすぎる動きは、人間の目には不自然に映るためである。このように、フィルターから出力される動きの平滑化を低減させるためにも、ユーザーインターフェースを使用し得る。
さらに、エディターは、(もっともらしい印象を与えるために必要な)中割りのフレームの生成を行い得る。場合によっては、3次元姿勢推定データの生成は、フレームのサブセットについて失敗し得る。例えば、ポイント/関節のうちの少なくとも1つについて、十分な数の2次元座標が利用できないためである。この場合、例えば、不完全な骨格を避けるために、3次元姿勢推定データの生成の間、それぞれのフレームは、省略され得る。これらのフレームは、ポイント/関節の2つの完全なセットの間にあるフレームを復元するために、それぞれのフレームの補間を行うことによって復元され得る(すなわち、「中割」)。例えば、本方法は、少なくとも1つの前のフレームと少なくとも1つの後のフレームとの間を補間することによって、フレームのサブセットの3次元姿勢推定を復元することを含み得る。
本開示の文脈では、3次元姿勢推定データが生成され改良されるにつれて、いくつかの動作が実行される。プロセスの任意の時点で、特に各処理動作の後に、動きの動画が更新され得、これは、姿勢推定データの品質を判断するために使用され得る。例えば、動きの(2次元および3次元)動画および/またはユーザーインターフェースは、2次元姿勢推定データを生成すること120の後、3次元姿勢推定データを生成すること130の後および/または3次元姿勢推定データを自動的に調整すること160の後に、提供すること140、150(または更新)が行われ得る。特に、処理動作後、例えば、2次元姿勢推定データの生成もしくは更新後、3次元姿勢推定データの生成もしくは更新後、3次元姿勢推定データの自動調整後または姿勢推定データの手動調整後に、生成される1人以上の人物の動きの動画は、それぞれの処理動作を反映し得る。例えば、2次元姿勢推定データの生成または更新後に生成される1人以上の人物の動きの動画は、2次元姿勢推定データの生成または更新の効果を示し得る。3次元姿勢推定データの生成または更新後に生成される1人以上の人物の動きの動画は、3次元姿勢推定データの生成または更新の効果を示し得る。姿勢推定データの手動変更後に生成される1人以上の人物の動きの動画は、姿勢推定データの手動変更の効果を示し得る。さらに、3次元姿勢推定データを自動的に調整した後に生成される1人以上の人物の動きの動画は、1つ以上の調整アルゴリズムによって実行される調整の効果を示し得る。
様々な例においては、エディターは、3次元動画を骨格に適合させ得、骨格に適合するように軌道を再標準化し得る。例えば、骨格で表現された2次元および/または3次元姿勢推定データに基づいて、動画を更新し得る。エディターは、さらなる外部の使用(訓練、分析、シミュレーション、または可視化の目的)のために、結果として得られた動画を保存し、身体のプロポーションを推定し得る。言い換えると、この方法は、2次元および/または3次元姿勢推定データを出力することを含み得る。
一般的に、結果として得られた出力は、例えば、映像に表示される1人以上の人物の姿勢を決定するためなど、様々な目的のために使用され得る。いくつかの例において、結果として得られた骨格は、例えば動画の目的のために、別の人物に変換され得る。例えば、動画を別の骨格に合わせ得る(つまり、表示される人物を変更する)。別の人物の動きも、その人物がタスクを実際に実行していないにもかかわらず、自然に見え得る。
しかしながら、特に、結果として得られたデータは、機械学習モデルの訓練に使用され得る。例えば、結果として得られた3次元姿勢推定データは、2次元姿勢推定データの更新および/または改善、2次元姿勢推定データの生成に使用される機械学習モデルの再訓練に使用され得る。例えば、本方法は、ユーザーが調整した1つ以上のポイントの位置に基づいて(すなわち、手動で調整されたおよび/または自動的に調整されたポイント/関節の位置に基づいて)、2次元姿勢推定を行うのに適した機械学習モデルの訓練を調整すること170を含み得る。
あるいはまたは加えて、例えば、単一の観測角度からの映像データまたは複数の観測角度からの映像データなどの映像データから直接、3次元姿勢推定データを生成するために、新しい機械学習モデルを訓練し得る。言い換えれば、本方法は、映像データに基づいておよび3次元姿勢推定データに基づいて、他の機械学習モデルを訓練すること180を含み得る。
以下では、このような訓練がどのように行われ得るかを簡潔に紹介する。一般に、機械学習は、コンピュータシステムがモデルおよび推論に頼る代わりに明示的な指示を用いることなく特定のタスクを実行し得る、アルゴリズムおよび統計モデルを指す。例えば、機械学習においては、ルールに基づくデータの変換の代わりに、過去のデータおよび/または訓練データの分析から推測されるデータの変換が用いられ得る。例えば、画像の内容は、機械学習モデルを用いてまたは機械学習アルゴリズムを用いて、分析され得る。機械学習モデルが画像の内容を分析するために、機械学習モデルは、入力として訓練画像を用いて、出力として訓練内容情報を用いて、訓練され得る。多数の訓練画像および関連付けられる訓練内容情報を用いて機械学習モデルを訓練することによって、機械学習モデルは、画像の内容を認識することを「学習」し、そうして、訓練画像に含まれていない画像の内容は、機械学習モデルを用いて認識され得る。同じ原理は、他の種類の検出器データにも使用され得る。すなわち、機械学習モデルは、訓練検出器データおよび所望の出力を用いて機械学習モデルを訓練することによって、検出器データと出力との間の変換を「学習」し、これは、機械学習モデルに提供された非訓練検出器データに基づいて出力を提供するために使用され得る。
本開示の文脈では、機械学習モデルは、映像データに基づいて2次元姿勢推定データを出力するように訓練される。同様に、他の機械学習モデルは、映像データに基づいて3次元姿勢推定データを出力するように訓練され得る。
機械学習のモデルは、訓練入力データを用いて訓練される。明示された上記の例においては、「教師あり学習」と呼ばれる訓練方法を使用する。教師あり学習では、機械学習モデルは、複数の訓練標本を用いて訓練され、ここで、各標本は、複数の入力データ値および複数の所望の出力値を含み得、すなわち、各訓練標本は、所望の出力値と関連付けられる。訓練標本および所望の出力値の両方を指定することによって、機械学習モデルは、訓練中に提供された標本に類似した入力標本に基づいて、どの出力値を提供すべきかを「学習」する。教師あり学習とは別に、半教師あり学習も使用され得る。半教師あり学習においては、訓練標本のいくつかは、対応する所望の出力値を欠く。教師あり学習は、教師あり学習アルゴリズム、例えば、分類アルゴリズム、回帰アルゴリズム、または類似性学習アルゴリズムに基づき得る。分類アルゴリズムは、出力が、限られた値のセットに制限されるとき、すなわち、入力が、限られた値のセットの1つに分類されるときに使用され得る。回帰アルゴリズムは、出力が任意の数値(範囲内)であり得るときに使用され得る。類似性学習アルゴリズムは、分類アルゴリズムと回帰アルゴリズムとの両方に類似しているが、2つのオブジェクトがどれだけ類似しているかまたは関連しているかを測定する類似性関数を使用して、例から学習することに基づく。
教師あり学習または半教師あり学習とは別に、教師なし学習を使用して機械学習モデルを訓練し得る。教師なし学習では、(唯一の)入力データが提供され得、教師なし学習アルゴリズムは、例えば、入力データをグループ化またはクラスタリングし、データ中の共通点を見つけることによって、入力データにおける構造を発見するために使用され得る。クラスタリングとは、複数の入力値を含む入力データを部分集合(クラスタ)に割り当て、同じクラスタ内の入力値が1つ以上の(予め定義された)類似性基準に従って類似する一方で、他のクラスタに含まれる入力値には非類似であるようにすることである。
強化学習は、機械学習アルゴリズムの第3のグループである。言い換えると、強化学習は、機械学習モデルの訓練に用いられ得る。強化学習においては、1つ以上のソフトウェア主体(「ソフトウェアエージェント」と呼ばれる)は、環境の中で動作を起こすように訓練される。起こした動作に基づいて、報酬が計算される。強化学習は、1つ以上のソフトウェアエージェントの訓練に基づいて、累積報酬が増加するような動作を選択し、ソフトウェアエージェントを(報酬の増加によって証明されるように)与えられたタスクをより上手にこなすようにする。
前述の2つの機械学習モデルの場合、教師あり学習のアプローチが選択され得る。例えば、機械学習モデルと他の機械学習モデルとの両方の(再)訓練において、映像データは、訓練標本として使用され得る。機械学習モデルの再訓練の場合、(更新/改善された)2次元姿勢推定データは、所望の出力として使用され得る。そのため、学習は、必ずしも一から始める必要はない。代わりに、機械学習モデルは、例えば、機械学習モデルの人工ニューラルネットワークの重みが更新され得るなど、(更新/改善された)2次元姿勢推定データに基づいて更新され得る。他の機械学習モデルの訓練のために、3次元姿勢推定データは、教師あり学習の望ましい出力として使用され得る。
あるいは、機械学習モデルまたは他の機械学習モデルの訓練のために、別の種類の機械学習が使用され得る。例えば、強化学習は、訓練に使用される姿勢推定データからの生成された姿勢推定データの偏差をモデル化する報酬関数とともに、使用され得る。
例えば、機械学習モデルは、人工ニューラルネットワーク(ANN)であり得る。ANNは、脳内に見られるような、生物学的神経ネットワークに触発された体系である。ANNは、複数の相互接続されたノードおよびノード間の複数の接続、いわゆるエッジを含む。通常、入力値を受け取る入力ノード、他のノードに(のみ)接続される隠れノードおよび出力値を提供する出力ノードの3種類のノードが存在する。各ノードは、人工ニューロンを表し得る。各エッジは、あるノードから別のノードへ情報を伝達し得る。ノードの出力は、その入力の合計の(非線形)関数として定義され得る。ノードの入力は、入力を提供するエッジまたはノードの「重み」に基づいて、関数において使用され得る。ノードおよび/またはエッジの重みは、学習プロセス中に調整され得る。言い換えると、人工ニューラルネットワークの訓練は、人工ニューラルネットワークのノードおよび/またはエッジの重みを調整すること、すなわち、与えられた入力について所望の出力を実現することを含み得る。少なくともいくつかの実施形態においては、機械学習モデルは、深層ニューラルネットワーク、例えば、1つ以上の隠れノードの層(すなわち、隠れ層)、好ましくは複数の隠れノードの層を含むニューラルネットワークであり得る。
本方法のより詳細な内容および態様は、提案された概念または上述もしくは後述の1つ以上の例(例えば、図3a~図10b)に関連して言及される。本方法は、提案された概念の1つ以上の態様または上述もしくは後述の1つ以上の例に対応する1つ以上の追加の必要に応じた特徴を含み得る。
図2は、3次元姿勢推定データを生成するための対応するデータ処理装置20の一例のブロック図である。データ処理装置は、図1a~図1cに関連して紹介した方法を実行するように構成される処理回路24を含む。必要に応じて、データ処理装置は、1つ以上のインターフェース22および/または1つ以上の記憶装置26など、1つ以上の追加の構成要素を含み得る。例えば、1つ以上のインターフェース22は、情報を交換するため、ユーザーインターフェースを提供するため、および/または、ユーザー入力を受信するために使用され得る。1つ以上の記憶装置26は、データ、例えば、映像データおよび姿勢推定データを格納するために使用され得る。
1つ以上のインターフェース22は、情報を受信および/または送信するための1つ以上の入力および/または出力に対応し得、これは、モジュール内、モジュール間または異なるエンティティのモジュール間で、指定されたコードに従ったデジタル(ビット)値であり得る。例えば、1つ以上のインターフェース22は、情報を受信および/または送信するように構成されたインターフェース回路を含み得る。
処理回路24は、1つ以上の処理ユニット、1つ以上の処理装置、(プロセッサ、コンピュータまたは適宜適合されたソフトウェアを用いて動作可能なプログラム可能なハードウェア構成要素などの)処理のための任意の手段を使用して実装され得る。言い換えれば、処理回路24の記述された機能は、同様に、ソフトウェアで実装され得、これは、1つ以上のプログラム可能なハードウェア構成要素上で実行される。そのようなハードウェア構成要素は、中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、マイクロ制御装置などのような汎用プロセッサを含み得る。いくつかの例においては、処理回路は、汎用グラフィックス処理ユニット(GPGPU)、機械学習モデルの訓練を加速するための特定用途向け集積回路(ASIC)または機械学習モデルの訓練を加速するためのフィールドプログラマブルゲートアレイ(FPGA)のうちの少なくとも1つを含み得る。
様々な例においては、1つ以上の記憶装置26は、例えば、ハードディスクドライブ、フラッシュメモリ、フロッピーディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、プログラム可能読み取り専用メモリ(PROM)、消去可能プログラム可能読み取り専用メモリ(EPROM)、電子的消去可能プログラム可能読み取り専用メモリ(EEPROM)またはネットワーク記憶装置など、磁気的または光学的記憶媒体などの、コンピュータ可読記憶媒体のグループの少なくとも1つの要素を含み得る。
データ処理装置のより詳細な内容および態様を、提案された概念または上述若しくは後述の1つ以上の例(例えば、図1a~図1c、図4~図10b)に関連して言及する。データ処理装置は、提案された概念の1つ以上の態様、または上述若しくは後述の1つ以上の例に対応する1つ以上の追加の必要に応じた機能を含み得る。
図3a~図10bに、AI(人工知能)の訓練データを作成するために使用され得る、3次元アノテーションツール/エディターの例を示す。これは、(複数のカメラからの映像データの)インポートキャプチャー構成を管理するために使用され得る。これは、複数(のカメラおよび3次元)の表示において、AI姿勢推定、(キーポイントの3次元位置を見つけるための)三角測量、複数のキャラクターの追跡、(例えば、異常値の除去のための)骨格の制約および時間的アノテーションのうちの1つ以上などの、支援されたアノテーションを提供し得る。
図3aおよび図3bに、3次元姿勢エディターのユーザーインターフェース(すなわち、1人以上の人物の身体上の1つ以上のポイントの位置を調整するためのユーザーインターフェース)の表示の2つの例を示す。図3aにおいて、映像データ10は、8つのカメラについて個別に301~308で示され、8つの観測角度から人物12を示す。複数の映像からの表示301~308のすべては、ユーザーインターフェース内で利用可能である。各表示について、アノテーションは、2次元姿勢推論ネットワークの呼び出しを通して手動または自動のいずれかで行われ得る。図3bにおいて、身体を3次元的に表現するためのキャンバスを示す。この時点では、3次元姿勢推定データはまだ生成されていないため、キャンバスはカメラの位置のみを表示している(例えば、カメラ310を参照のこと)。
また、図3aおよび図3bは、カメラによって人物を記録する際の観測角度の違いをも図示する。図3bにおいては、閉じられた空間の周りのカメラの位置および向きを示す。カメラは、閉じられた空間の周りに設置され、閉じられた空間に向けて、異なる観測角度から1人以上の人物を記録する。図3aは、観測角度から結果として得られた表示を示し、各カメラは、異なる観測角度からの人物の表示を提供する。
図4に、単一のカメラ(カメラ6)の映像データの表示の例を示し、この表示上で、身体のポイントの動画16は、骨格として重ねられる。さらに、視覚的指標410、420は、映像データの上に重ねられ、異なる映像表示の間(図示せず)においてユーザーにある程度の方向を与える。図4において、骨格の粗い第一近似値は、2次元姿勢推定ネットワークを呼び出した後に利用可能である(この例においては、色付け設定のために脚が最も見やすくなっている)。2次元ネットワークによって生成される粗い姿勢は、一般的により低い精度であり得、時間の経過とともに「振動」する傾向があり得る。図4、図5a、図6aに示す映像表示においては、単一の映像表示が分離して示される。しかしながら、ユーザーインターフェースにおいては、(すべての)映像は、例えば、図3aと同様に、並列して表示され得る。
図5aおよび図5bに、骨格の寸法の可視化および調整の例を示す。一般的に、身体の異なる部位は異なる色を用いて識別され得る。例えば、図5aに示すように、映像表示において人物の上に重ねられる骨格は、複数の肢14bによって相互に連結される、複数の関節14aを含み得る。各肢(および隣接する関節)は、それぞれの身体の部位をすばやく識別するためにユーザーによって使用され得る、固有の色を有し得る。人物の身体の部位の寸法は、推定され得る。既知の場合、あらかじめ入力され得る。図5bにおいて、ユーザーインターフェースの一部が示され、ここで、肢の寸法は、ユーザーによって調整され得る。肢の寸法は、固定されていると仮定され得、動画のもっともらしさを高めるために使用され得る。
様々な例においては、次のステップは三角測量である。この例においては、各キーポイント(例えば、身体上のポイント、関節)における8つの2次元観測を結合して、3次元におけるキーポイントの位置の推定を生成する。ユーザーインターフェースは、より高い精度を確保することを助け得る、ある半径のしきい値および一致するキーポイントの数の最小限度を設定するために使用され得る。
図6aに、三角測量された姿勢推定データの2次元バージョンを重ねた人物の映像表示を示す。三角測量の後、各2次元姿勢の精度が向上していることがわかる。図6bに、図3bで紹介したキャンバス上の対応する3次元動画18aを示す。いくつかの場合においては、結果として得られた動画がまだ振動しているように見え得る。
これは、動画または動きの軌跡を視覚化することにより、明らかとなる。図7において、姿勢推定データの3次元動画18aに加えて、骨格の関節の動きの軌跡18bを静止画像として示す。
いくつかの例においては、生成された軌道は、平滑化され得る。これは、例えば、カルマンフィルターアルゴリズムの適切な変形を使用した、時間的平滑化アルゴリズムによって行われ得る。結果として得られる動きが滑らかすぎる場合、元の観測データをもう一度使用して失われた細部を元に戻し得る。結果は、図8に示すような、(動きの軌跡における望まない振動が減少した)より自然でより「生き生きとした」動画である。
いくつかの例において、例えば、それぞれのアルゴリズムまたは機械学習モデルがすべての関節の位置を探し出せなかったときなど、2次元姿勢推定データから3次元姿勢推定データを生成できなかったフレームは、省略され得る。そのため、いくつかのフレームは、ノイズの多い観測のために欠落したままであり得る。「中割」を使用して、欠けている姿勢があり得る。その結果、図9に示すように、すべてのフレームについて滑らかな動画が得られ、すぐに使用できる状態になったと考えられる。
(必ずしもそうではないが)最後のステップとして、経時的に各肢の平均の長さを計算することによって、人物の寸法(すなわち、骨格の長さ)を計算し得る。その後、動画16、18aを、この骨格に適合し得る。新しい骨格は、図10aに示すように、特性エディターにおいて可視化され得る。新しい骨格に適合するように軌道を再標準化することによって、図10bに示すように、最終的にはさらに優れた新しい動画が作成され得る。この動画は、完全に別の人物のものである全く別の骨格にも適合され得る。
このデータは、この時点で深層ネットワークの訓練に使用するのに十分なほど滑らかで正確である。このネットワークは、引き続き、人間の姿勢推定、高度な行動分析などに利用され得る。
本開示の様々な態様は、こうして、2次元から3次元への姿勢生成を支援するエディターを提供する。また、エディターは、時間的情報の使用を支援し得、パラメータの手動編集を可能にし得る。必要に応じて、エディターは、よりもっともらしい動きを可能にするためのパラメータの編集の支援、欠落したフレームの処理の支援、および/または個々のカメラにおける誤った2次元身体部位の推論の処理の支援を行い得る。エディターは、編集されたパラメータの動画を表示し、および/または3次元モデルの動画を表示する。
こうして、提案されたエディターは、(ユーザーインターフェースを介した)相互作用およびリアルタイムの可視化を提供し得る。このエディターは、マーカーレスモーションキャプチャを行うために使用され得る。人間の目にもっともらしく映る動きを生成するために、データを手動で編集することが可能であり得る。編集の結果および動きのもっともらしさは、エディターで直ちに確認され得る。
結果として得られたデータは、機械学習ネットワークの訓練に適し得る。生成されたデータは、3次元キーポイント推定ネットワークの訓練のために(例えば、人間の姿勢推定、高度な行動分析などのために)使用され得る。訓練データの質が向上することにより、ネットワークの結果が向上し得る。
様々な例においては、提案された概念は、物体、動物、植物などの動きを分析するために拡張され得る。また、同じ概念は、操作者を必要としない非相互作用な実行(すなわち、自動的な、リアルタイムな、マーカーレスな人間のモーションキャプチャ)のためにも使用され得る。
また、これまでの実施例のうちの特定の1つに関連して説明した態様および特徴は、1つ以上の他の実施例と組み合わされ得、その他の実施例の同一若しくは類似の特徴を置き換えるか、または特徴を他の実施例に追加的に導入する。
実施例は、さらに、プログラムがコンピュータ、プロセッサ、または他のプログラム可能なハードウェア構成要素上で実行されるとき、上記の方法の1つ以上を実行するプログラムコードを含む(コンピュータ)プログラムであり得、またはそれに関連するものであり得る。従って、上述の方法とは異なる方法のステップ、操作またはプロセスは、プログラムされたコンピュータ、プロセッサ、または他のプログラム可能なハードウェア構成要素によっても実行され得る。実施例は、デジタルデータ記憶媒体などのプログラム記憶装置に及んでよく、これは、機械で、プロセッサでまたはコンピュータで読み取り可能であり、機械実行可能な、プロセッサ実行可能なまたはコンピュータ実行可能なプログラムおよび命令を符号化するおよび/または含む。プログラム記憶装置は、例えば、デジタル記憶装置、磁気ディスクおよび磁気テープなどの磁気記憶媒体、ハードディスクドライブまたは光学的に読み取り可能なデジタルデータ記憶媒体などを、含み得、またはそれらであり得る。また、他の例は、コンピュータ、プロセッサ、制御ユニット、(フィールド)プログラマブルロジックアレイ((F)PLA)、(フィールド)プログラマブルゲートアレイ((F)PGA)、グラフィックプロセッサユニット(GPU)、特定用途向け集積回路(ASIC)、集積回路(IC)または上述の方法のステップを実行するようにプログラムされたシステムオンチップ(SoC)システムをも含み得る。
さらに、明細書または特許請求の範囲に開示されたいくつかのステップ、プロセス、操作または機能の開示は、個々の場合または技術的な理由のために必要な場合に明示的に述べられていない限り、これらの操作が必ずしも説明された順序に依存することを意味すると解釈されるべきではないことを理解されたい。したがって、前述の説明は、いくつかのステップまたは機能の実行を特定の順序に制限しない。さらに、さらなる例においては、単一のステップ、機能、プロセスまたは操作は、いくつかの下位のステップ、下位の機能、下位のプロセスまたは下位の操作を含み得および/またはそれらに分割され得る。
装置またはシステムに関連していくつかの態様が説明されている場合、これらの態様もまた、対応する方法の説明として理解されるべきである。例えば、装置またはシステムのブロック、装置、または機能的態様は、対応する方法の、方法ステップなどの、特徴に対応し得る。したがって、方法に関連して説明される態様は、対応するブロック、対応する要素、対応する装置または対応するシステムの特性または機能的特徴の説明としても理解されるものとする。
これにより、添付の特許請求の範囲は、詳細な説明に組み込まれ、各請求項は、個別の例としてそれ自体で成り立ち得る。特許請求の範囲において、従属請求項は、1つ以上の他の請求項との特定の組み合わせを指すが、他の例はまた、従属請求項といずれの他の従属請求項または独立請求項の主題との組み合わせを含み得ることにも留意されたい。そのような組み合わせは、特定の組み合わせが意図されていないことが個々の場合に述べられていない限り、ここに明示的に提案される。さらに、請求項の特徴は、その請求項が他の独立した請求項に従属していると直接定義されていない場合でも、いずれの他の独立した請求項にも含まれるべきである。

Claims (15)

  1. 3次元姿勢推定データを生成するためのコンピュータ実装方法であって、前記方法は、
    複数のカメラの映像データ(10)を取得すること(110)であって、前記映像データは、複数の観測角度から認識されるような、1人以上の人物(12)の動きを示す、ことと、
    前記映像データに基づいて2次元姿勢推定を行うのに適した機械学習モデルを用いて、前記1人以上の人物の2次元姿勢推定データを生成すること(120)と、
    前記1人以上の人物の前記2次元姿勢推定データに基づいて、前記1人以上の人物の3次元姿勢推定データを生成すること(130)であって、
    前記2次元姿勢推定データと3次元姿勢推定データとは、前記1人以上の人物の身体上の1つ以上のポイント(14a)によって定義される、ことと、
    前記1人以上の人物の前記身体上の前記1つ以上のポイントの前記動きを前記映像データの上に重ねて図示することによって、前記1人以上の人物の前記動きの動画(16)を提供すること(140)と、
    ユーザーが前記1人以上の人物の前記身体上の前記1つ以上のポイントの位置を調整するためのユーザーインターフェースを提供すること(150)であって、前記ユーザーインターフェースは、前記映像データの上に重ねられる前記1つ以上のポイントの前記動きの図示に基づく、ことと、
    を含む、方法。
  2. 前記動きの前記動画および/または前記ユーザーインターフェースは、前記2次元姿勢推定データを生成すること(120)の後、前記3次元姿勢推定データを生成すること(130)の後、および/または前記3次元姿勢推定データを自動的に調整すること(160)の後に、提供される(140、150)、請求項1に記載の方法。
  3. 前記動きの間の前記1つ以上のポイントの前記位置を経時的に示す静止画像(18b)を生成すること(144)を含む、請求項1または請求項2のいずれか一項に記載の方法。
  4. 前記ユーザーインターフェースは、2次元または3次元座標系内の個々のポイントの位置を前記ユーザーが調整するための手段を提供する、請求項1から請求項3のいずれか一項に記載の方法。
  5. 前記2次元姿勢推定データと3次元姿勢推定データとは、2次元または3次元座標系における1つ以上の骨格の関節(14a)の位置によって定義され、前記1つ以上の骨格は、前記1人以上の人物を表す、請求項1から請求項4のいずれか一項に記載の方法。
  6. 前記1つ以上の骨格の前記関節は、複数の肢(14b)によって相互に連結され、前記ユーザーインターフェースは、前記複数の肢の長さ、角度および位置のうちの少なくとも1つを前記ユーザーが調整するための手段を提供する、請求項5に記載の方法。
  7. 1つ以上の調整アルゴリズムを用いて、前記3次元姿勢推定データを自動的に調整すること(160)を含み、前記3次元姿勢推定データを自動的に調整した後に生成される前記1人以上の人物の前記動きの前記動画は、前記1つ以上の調整アルゴリズムによって実行される調整の効果を示す、請求項1から請求項6のいずれか一項に記載の方法。
  8. 前記1つ以上の調整アルゴリズムは、時間的平滑化アルゴリズムなどの平滑化アルゴリズムを含む、請求項7に記載の方法。
  9. 前記2次元姿勢推定データと3次元姿勢推定データとは、2次元または3次元座標系における1つ以上の骨格の関節の位置によって定義され、前記1つ以上の骨格の前記関節は、複数の肢によって相互に連結され、前記1つ以上の調整アルゴリズムは、前記複数の肢に適用される1つ以上の制約に基づいて、前記肢の前記関節の位置を調整するように構成される少なくとも1つのアルゴリズムを含む、請求項7または請求項8のいずれか一項に記載の方法。
  10. 前記ユーザーインターフェースは、前記複数の肢に適用される前記1つ以上の制約を前記ユーザーが調整および/または選択するための手段を提供する、請求項9に記載の方法。
  11. 前記1つ以上の制約は、前記複数の肢の長さに関連する少なくとも1つの制約および/または肢の間の角度に関連する少なくとも1つの制約を含む、請求項9または請求項10のいずれか一項に記載の方法。
  12. 前記3次元姿勢推定データに基づいて、個々の前記肢の平均の長さを推定することを含み、前記複数の肢の前記長さに関連する前記少なくとも1つの制約は、前記推定された個々の前記肢の平均の長さに基づく、請求項11に記載の方法。
  13. 前記方法は、前記1つ以上のポイントのユーザーが調整した位置に基づいて、2次元姿勢推定を実行するのに適した前記機械学習モデルの訓練を調整すること(170)を含み、
    および/または、前記方法は、前記映像データに基づいておよび前記3次元姿勢推定データに基づいて、他の機械学習モデルを訓練すること(180)を含む、
    請求項1から請求項12のいずれか一項に記載の方法。
  14. 請求項1から請求項13のいずれか一項に記載の方法を実行するように構成される処理回路(24)を含むデータ処理装置(20)。
  15. コンピュータプログラムであって、前記コンピュータプログラムがコンピュータ、プロセッサ、処理回路またはプログラム可能なハードウェア構成要素上で実行されるとき、請求項1から請求項13のいずれか一項に記載の方法を実行するためのプログラムコードを有する、コンピュータプログラム。
JP2022015095A 2021-02-12 2022-02-02 3次元姿勢推定データを生成するためのコンピュータ実装方法、データ処理装置およびコンピュータプログラム Active JP7335370B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP21156763.1A EP4044118A1 (en) 2021-02-12 2021-02-12 A computer-implemented method, data processing apparatus and computer program for generating three-dimensional pose-estimation data
EP21156763.1 2021-02-12

Publications (2)

Publication Number Publication Date
JP2022123843A JP2022123843A (ja) 2022-08-24
JP7335370B2 true JP7335370B2 (ja) 2023-08-29

Family

ID=74595106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022015095A Active JP7335370B2 (ja) 2021-02-12 2022-02-02 3次元姿勢推定データを生成するためのコンピュータ実装方法、データ処理装置およびコンピュータプログラム

Country Status (4)

Country Link
US (1) US12056895B2 (ja)
EP (1) EP4044118A1 (ja)
JP (1) JP7335370B2 (ja)
CN (1) CN114926530A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7419969B2 (ja) * 2020-05-27 2024-01-23 富士通株式会社 生成方法、生成プログラムおよび情報処理装置
CN115410233B (zh) * 2022-11-01 2023-01-24 齐鲁工业大学 一种基于卡尔曼滤波和深度学习的手势姿态估计方法
US11830159B1 (en) * 2022-12-08 2023-11-28 Flawless Holding Limited Generative films
WO2024204890A1 (ko) * 2023-03-30 2024-10-03 주식회사 엔씨소프트 하나 이상의 이미지들로부터 신체 부위의 위치를 식별하기 위한 전자 장치, 방법 및 컴퓨터 판독 가능 저장 매체
CN116824631B (zh) * 2023-06-14 2024-02-27 西南交通大学 一种姿态估计方法及系统
CN118097027B (zh) * 2024-04-19 2024-07-30 杭州欣禾圣世科技有限公司 一种基于进化计算的多视频3d人体动作捕捉方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003150977A (ja) 2001-11-15 2003-05-23 Japan Science & Technology Corp 3次元人物動画像生成システム
US20190116322A1 (en) 2017-10-13 2019-04-18 Fyusion, Inc. Skeleton-based effects and background replacement
US20190362139A1 (en) 2018-05-28 2019-11-28 Kaia Health Software GmbH Monitoring the performance of physical exercises
US20200327465A1 (en) 2019-04-12 2020-10-15 University Of Iowa Research Foundation System and method to predict, prevent, and mitigate workplace injuries

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747495B2 (en) * 2012-03-06 2017-08-29 Adobe Systems Incorporated Systems and methods for creating and distributing modifiable animated video messages
EP2843621A1 (en) * 2013-08-26 2015-03-04 Max-Planck-Gesellschaft zur Förderung der Wissenschaften e.V. Human pose calculation from optical flow data
WO2018222756A1 (en) * 2017-05-30 2018-12-06 Ptc Inc. Object initiated communication
US11113887B2 (en) * 2018-01-08 2021-09-07 Verizon Patent And Licensing Inc Generating three-dimensional content from two-dimensional images
US20200097732A1 (en) * 2018-09-21 2020-03-26 Cubic Corporation Markerless Human Movement Tracking in Virtual Simulation
US11263443B2 (en) * 2019-07-19 2022-03-01 Sri International Centimeter human skeleton pose estimation
US11615592B2 (en) * 2020-10-27 2023-03-28 Snap Inc. Side-by-side character animation from realtime 3D body motion capture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003150977A (ja) 2001-11-15 2003-05-23 Japan Science & Technology Corp 3次元人物動画像生成システム
US20190116322A1 (en) 2017-10-13 2019-04-18 Fyusion, Inc. Skeleton-based effects and background replacement
US20190362139A1 (en) 2018-05-28 2019-11-28 Kaia Health Software GmbH Monitoring the performance of physical exercises
US20200327465A1 (en) 2019-04-12 2020-10-15 University Of Iowa Research Foundation System and method to predict, prevent, and mitigate workplace injuries

Also Published As

Publication number Publication date
US20220262036A1 (en) 2022-08-18
US12056895B2 (en) 2024-08-06
JP2022123843A (ja) 2022-08-24
CN114926530A (zh) 2022-08-19
EP4044118A1 (en) 2022-08-17

Similar Documents

Publication Publication Date Title
JP7335370B2 (ja) 3次元姿勢推定データを生成するためのコンピュータ実装方法、データ処理装置およびコンピュータプログラム
US10372228B2 (en) Method and system for 3D hand skeleton tracking
Stoll et al. Fast articulated motion tracking using a sums of gaussians body model
EP2710557B1 (en) Fast articulated motion tracking
CN110637323A (zh) 通过使用基于部分的关键帧和先验模型进行鲁棒网格跟踪和融合
JP2021503662A (ja) ニューラルネットワークのモデルの訓練
JP2016099982A (ja) 行動認識装置、行動学習装置、方法、及びプログラム
US20120176379A1 (en) Mesh animation
Michel et al. Tracking the articulated motion of the human body with two RGBD cameras
US11158104B1 (en) Systems and methods for building a pseudo-muscle topology of a live actor in computer animation
JP2019016164A (ja) 学習データ生成装置、推定装置、推定方法及びコンピュータプログラム
Zhang et al. Anatomy-based face reconstruction for animation using multi-layer deformation
WO2020193972A1 (en) Facial analysis
JP7251003B2 (ja) 細かいしわを有する顔メッシュ変形
WO2022087932A1 (en) Non-rigid 3d object modeling using scene flow estimation
Xu et al. Human body reshaping and its application using multiple RGB-D sensors
JP2009048305A (ja) 形状解析プログラム及び形状解析装置
Ichim et al. Semantic parametric body shape estimation from noisy depth sequences
Jian et al. Realistic face animation generation from videos
Joo Sensing, Measuring, and Modeling Social Signals in Nonverbal Communication
Legde Projecting motion capture: designing and implementing a modular and flexible facial animation pipeline to evaluate different perceptual effects
US20230237753A1 (en) Dynamic facial hair capture of a subject
Cannavò et al. A Framework for Animating Customized Avatars from Monocular Videos in Virtual Try-On Applications
Hu Deep learning-based 3D human body shape reconstruction from point clouds
Juarez‐Perez et al. Detection and Synthesis of Full‐Body Environment Interactions for Virtual Humans

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230628

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230817

R150 Certificate of patent or registration of utility model

Ref document number: 7335370

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150