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

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

▶ 株式会社ソニー・コンピュータエンタテインメントの特許一覧

<>
  • 特許-姿勢の脱曖昧化 図1A
  • 特許-姿勢の脱曖昧化 図1B
  • 特許-姿勢の脱曖昧化 図2A
  • 特許-姿勢の脱曖昧化 図2B
  • 特許-姿勢の脱曖昧化 図3
  • 特許-姿勢の脱曖昧化 図4A
  • 特許-姿勢の脱曖昧化 図4B
  • 特許-姿勢の脱曖昧化 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-16
(45)【発行日】2024-05-24
(54)【発明の名称】姿勢の脱曖昧化
(51)【国際特許分類】
   G06T 13/40 20110101AFI20240517BHJP
【FI】
G06T13/40
【請求項の数】 27
(21)【出願番号】P 2023528243
(86)(22)【出願日】2021-11-08
(65)【公表番号】
(43)【公表日】2023-10-20
(86)【国際出願番号】 US2021058394
(87)【国際公開番号】W WO2022103678
(87)【国際公開日】2022-05-19
【審査請求日】2023-06-27
(31)【優先権主張番号】17/095,481
(32)【優先日】2020-11-11
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】バシキーロフ、セルゲイ
(72)【発明者】
【氏名】テイラー、マイケル
【審査官】橘 高志
(56)【参考文献】
【文献】特開2011-238222(JP,A)
【文献】Joel Carranza,Christian Theobalt,Marcus A. Magnor,Hans-Peter Seidel,Free-viewpoint video of human actors,ACM Transactions on Graphics,Volume 22,Issue 3,2003年07月01日,pp 569-577,https://doi.org/10.1145/882262.882309
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/40
(57)【特許請求の範囲】
【請求項1】
コンピュータアニメーションのための方法であって、
a)2つ以上の対応する視点から特定の瞬間に観測されたキャラクタの2つ以上の対応する同時性ビデオ画像から2つ以上のソースセグメンテーションマスクを生成することと、
b)前記2つ以上の同時性ビデオ画像内の前記キャラクタに対応するアニメーションキャラクタの3次元モデルを生成することであって、前記アニメーションキャラクタの前記3次元モデルを生成することは、前記アニメーションキャラクタと周囲環境との間の関節または接触点に関連するセンサ値を使用して前記アニメーションキャラクタと前記周囲環境との間のインタラクションの物理ベースのシミュレーションの少なくとも2つの時間ステップを実行することによって、前記アニメーションキャラクタの姿勢の実行可能性を評価することを含み、前記アニメーションキャラクタの姿勢の実行可能性を評価することは、前記アニメーションキャラクタがシミュレーションで転倒するかどうかを評価することを含む、前記生成することと、
c)前記2つ以上のビデオ画像内の前記キャラクタに対応する前記アニメーションキャラクタの2つ以上の異なるビューに対応する2つ以上の異なるターゲットセグメンテーションマスクを生成することと、
d)前記2つ以上のターゲットセグメンテーションマスクのそれぞれを前記2つ以上のソースセグメンテーションマスクの対応する1つと比較し、前記比較から、前記アニメーションキャラクタの前記3次元モデルの姿勢が前記2つ以上の同時性ビデオ画像内の前記キャラクタの姿勢に対応するかどうかを決定することと、
e)前記アニメーションキャラクタの前記3次元モデルの前記姿勢が前記2つ以上の同時性ビデオ画像内の前記キャラクタの前記姿勢に対応する場合、前記3次元モデルを使用して、前記アニメーションキャラクタのアニメーションフレームを生成することと、
を含む、方法。
【請求項2】
前記d)後に、前記アニメーションキャラクタの前記姿勢が前記2つ以上の同時性ビデオ画像内の前記キャラクタの前記姿勢に対応しない場合、前記アニメーションキャラクタの前記3次元モデルを調整して、調整されたモデルを生成することと、
f)必要に応じて、前記アニメーションキャラクタの前記姿勢が前記2つ以上の同時性ビデオ画像内の前記キャラクタの前記姿勢に対応するまで、前記b)、前記c)、前記d)、及び前記e)を繰り返すことであって、前記e)は前記調整されたモデルを使用して、前記アニメーションフレームを生成することを含む、前記繰り返すことと、
をさらに含む、請求項1に記載の方法。
【請求項3】
前記2つ以上の同時性ビデオ画像内の前記キャラクタの前記2つ以上の異なるビューは、基準面に対して+45°及び-45°に配向されたビューを含む、請求項1に記載の方法。
【請求項4】
前記2つ以上のターゲットセグメンテーションマスクのそれぞれを前記2つ以上のソースセグメンテーションマスクの前記対応する1つと比較することは、その対応するソースセグメンテーションマスクの前記2つ以上のターゲットセグメンテーションマスクのそれぞれの間のIoU(Intersection over Union:共通部分を和集合で除算したもの)を計算することを含む、請求項1に記載の方法。
【請求項5】
前記2つ以上の異なるターゲットセグメンテーションマスクを生成することは、3次元アニメーションデータを使用して2つ以上の対応する異なる角度からアニメーション化されたキャラクタの2つ以上の異なるアニメーションフレームを生成することと、前記2つ以上の異なる基準セグメンテーションマスクを前記2つ以上の異なるアニメーションフレームから生成することとを含む、請求項1に記載の方法。
【請求項6】
前記2つ以上のソースセグメンテーションマスクを生成することは、2つ以上の異なるカメラを用いて2つ以上の対応する異なる角度から2つ以上の同時性ビデオフレームを生成することを含む、請求項1に記載の方法。
【請求項7】
前記2つ以上のソースセグメンテーションマスクは、1つ以上のエッジマスクを含む、請求項1に記載の方法。
【請求項8】
前記2つ以上のターゲットセグメンテーションマスクは、1つ以上のエッジマスクを含む、請求項1に記載の方法。
【請求項9】
前記2つ以上のソースセグメンテーションマスクは1つ以上のエッジマスクを含み、前記2つ以上のターゲットセグメンテーションマスクは1つ以上の異なるエッジマスクを含む、請求項1に記載の方法。
【請求項10】
コンピュータアニメーションのための装置であって、
プロセッサと、
メモリと、
前記メモリ内で具現化される実行可能な命令であって、前記命令は前記プロセッサによって実行されると、コンピュータアニメーションのための方法を前記プロセッサに実装させる、前記命令と、
を含み、
前記方法は、
a)2つ以上の対応する視点から特定の瞬間に観測されたキャラクタの2つ以上の対応する同時性ビデオ画像から2つ以上のソースセグメンテーションマスクを生成することと、
b)前記2つ以上の同時性ビデオ画像内の前記キャラクタに対応するアニメーションキャラクタの3次元モデルを生成することであって、前記アニメーションキャラクタの前記3次元モデルを生成することは、前記アニメーションキャラクタと周囲環境との間の関節または接触点に関連するセンサ値を使用して前記アニメーションキャラクタと前記周囲環境との間のインタラクションの物理ベースのシミュレーションの少なくとも2つの時間ステップを実行することによって、前記アニメーションキャラクタの姿勢の実行可能性を評価することを含み、前記アニメーションキャラクタの姿勢の実行可能性を評価することは、前記アニメーションキャラクタがシミュレーションで転倒するかどうかを評価することを含む、前記生成することと、
c)前記2つ以上のビデオ画像内の前記キャラクタに対応する前記アニメーションキャラクタの2つ以上の異なるビューに対応する2つ以上の異なるターゲットセグメンテーションマスクを生成することと、
d)前記2つ以上のターゲットセグメンテーションマスクのそれぞれを前記2つ以上のソースセグメンテーションマスクの対応する1つと比較し、前記比較から、前記アニメーションキャラクタの前記3次元モデルの前記姿勢が前記2つ以上の同時性ビデオ画像内の前記キャラクタの姿勢に対応するかどうかを決定することと、
e)前記アニメーションキャラクタの前記3次元モデルの前記姿勢が前記2つ以上の同時性ビデオ画像内の前記キャラクタの前記姿勢に対応する場合、前記3次元モデルを使用して、前記アニメーションキャラクタのアニメーションフレームを生成することと、
を含む、装置。
【請求項11】
前記方法は、
前記d)後に、前記アニメーションキャラクタの前記姿勢が前記2つ以上の同時性ビデオ画像内の前記キャラクタの前記姿勢に対応しない場合、前記アニメーションキャラクタの前記3次元モデルを調整して、調整されたモデルを生成することと、
f)必要に応じて、前記アニメーションキャラクタの前記姿勢が前記2つ以上の同時性ビデオ画像内の前記キャラクタの前記姿勢に対応するまで、前記b)、前記c)、前記d)、及び前記e)を繰り返すことであって、前記e)は前記調整されたモデルを使用して、前記アニメーションフレームを生成することを含む、前記繰り返すことと、
をさらに含む、請求項10に記載の装置。
【請求項12】
前記2つ以上の同時性ビデオ画像内の前記キャラクタの前記2つ以上の異なるビューは、基準面に対して+45°及び-45°に配向されたビューを含む、請求項10に記載の装置。
【請求項13】
前記2つ以上のターゲットセグメンテーションマスクのそれぞれを前記2つ以上のソースセグメンテーションマスクの前記対応する1つと前記比較することは、その対応するソースセグメンテーションマスクの前記2つ以上のターゲットセグメンテーションマスクのそれぞれの間のIoU(Intersection over Union:共通部分を和集合で除算したもの)を計算することを含む、請求項10に記載の装置。
【請求項14】
前記2つ以上の異なるターゲットセグメンテーションマスクを生成することは、3次元アニメーションデータを使用して2つ以上の対応する異なる角度からアニメーション化されたキャラクタの2つ以上の異なるアニメーションフレームを生成することと、前記2つ以上の異なる基準セグメンテーションマスクを前記2つ以上の異なるアニメーションフレームから生成することとを含む、請求項10に記載の装置。
【請求項15】
前記2つ以上のソースセグメンテーションマスクを生成することは、2つ以上の異なるカメラを用いて2つ以上の対応する異なる角度から2つ以上の同時性ビデオフレームを生成することを含む、請求項10に記載の装置。
【請求項16】
前記2つ以上のソースセグメンテーションマスクは、1つ以上のエッジマスクを含む、請求項10に記載の装置。
【請求項17】
前記2つ以上のターゲットセグメンテーションマスクは、1つ以上のエッジマスクを含む、請求項10に記載の装置。
【請求項18】
前記2つ以上のソースセグメンテーションマスクは1つ以上のエッジマスクを含み、前記2つ以上のターゲットセグメンテーションマスクは1つ以上の異なるエッジマスクを含む、請求項10に記載の装置。
【請求項19】
実行可能な命令が具体化された非一時的なコンピュータ可読媒体であって、前記命令はコンピュータによって実行されると、コンピュータアニメーションのための方法を前記コンピュータに実装させ、
前記方法は、
a)2つ以上の対応する視点から特定の瞬間に観測されたキャラクタの2つ以上の対応する同時性ビデオ画像から2つ以上のソースセグメンテーションマスクを生成することと、
b)前記2つ以上の同時性ビデオ画像内の前記キャラクタに対応するアニメーションキャラクタの3次元モデルを生成することであって、前記アニメーションキャラクタの前記3次元モデルを生成することは、前記アニメーションキャラクタと周囲環境との間の関節または接触点に関連するセンサ値を使用して前記アニメーションキャラクタと前記周囲環境との間のインタラクションの物理ベースのシミュレーションの少なくとも2つの時間ステップを実行することによって、前記アニメーションキャラクタの姿勢の実行可能性を評価することを含み、前記アニメーションキャラクタの姿勢の実行可能性を評価することは、前記アニメーションキャラクタがシミュレーションで転倒するかどうかを評価することを含む、前記生成することと、
c)前記2つ以上のビデオ画像内の前記キャラクタに対応する前記アニメーションキャラクタの2つ以上の異なるビューに対応する2つ以上の異なるターゲットセグメンテーションマスクを生成することと
d)前記2つ以上のターゲットセグメンテーションマスクのそれぞれを前記2つ以上のソースセグメンテーションマスクの対応する1つと比較し、前記比較から、前記アニメーションキャラクタの前記3次元モデルの前記姿勢が前記2つ以上の同時性ビデオ画像内の前記キャラクタの姿勢に対応するかどうかを決定することと、
e)前記アニメーションキャラクタの前記3次元モデルの前記姿勢が前記2つ以上の同時性ビデオ画像内の前記キャラクタの前記姿勢に対応する場合、前記3次元モデルを使用して、前記アニメーションキャラクタのアニメーションフレームを生成することと、
を含む、非一時的なコンピュータ可読媒体。
【請求項20】
前記方法は、
前記d)後に、前記アニメーションキャラクタの前記姿勢が前記2つ以上の同時性ビデオ画像内の前記キャラクタの前記姿勢に対応しない場合、前記アニメーションキャラクタの前記3次元モデルを調整して、調整されたモデルを生成することと、
f)必要に応じて、前記アニメーションキャラクタの前記姿勢が前記2つ以上の同時性ビデオ画像内の前記キャラクタの前記姿勢に対応するまで、前記b)、前記c)、前記d)、及び前記e)を繰り返すことであって、前記e)は前記調整されたモデルを使用して、前記アニメーションフレームを生成することを含む、前記繰り返すことと、
をさらに含む、請求項19に記載の非一時的なコンピュータ可読媒体。
【請求項21】
前記2つ以上の同時性ビデオ画像内の前記キャラクタの前記2つ以上の異なるビューは、基準面に対して+45°及び-45°に配向されたビューを含む、請求項19に記載の非一時的なコンピュータ可読媒体。
【請求項22】
前記2つ以上のターゲットセグメンテーションマスクのそれぞれを前記2つ以上のソースセグメンテーションマスクの前記対応する1つと前記比較することは、その対応するソースセグメンテーションマスクの前記2つ以上のターゲットセグメンテーションマスクのそれぞれの間のIoU(Intersection over Union:共通部分を和集合で除算したもの)を計算することを含む、請求項19に記載の非一時的なコンピュータ可読媒体。
【請求項23】
前記2つ以上の異なるターゲットセグメンテーションマスクを生成することは、3次元アニメーションデータを使用して2つ以上の対応する異なる角度からアニメーション化されたキャラクタの2つ以上の異なるアニメーションフレームを生成することと、前記2つ以上の異なる基準セグメンテーションマスクを前記2つ以上の異なるアニメーションフレームから生成することとを含む、請求項19に記載の非一時的なコンピュータ可読媒体。
【請求項24】
前記2つ以上のソースセグメンテーションマスクを生成することは、2つ以上の異なるカメラを用いて2つ以上の対応する異なる角度から2つ以上の同時性ビデオフレームを生成することを含む、請求項19に記載の非一時的なコンピュータ可読媒体。
【請求項25】
前記2つ以上のソースセグメンテーションマスクは、1つ以上のエッジマスクを含む、請求項19に記載の非一時的なコンピュータ可読媒体。
【請求項26】
前記2つ以上のターゲットセグメンテーションマスクは、1つ以上のエッジマスクを含む、請求項19に記載の非一時的なコンピュータ可読媒体。
【請求項27】
前記2つ以上のソースセグメンテーションマスクは1つ以上のエッジマスクを含み、前記2つ以上のターゲットセグメンテーションマスクは1つ以上の異なるエッジマスクを含む、請求項19に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、コンピュータアニメーションに関し、より具体的には、ビデオからアニメーションを生成する際の姿勢の決定に関する。
【背景技術】
【0002】
コンピュータアニメーションは、一般に、アニメーション化された画像をデジタルで生成するために使用されるプロセスを指す。現代のコンピュータアニメーションは、通常、3Dコンピュータグラフィックスを使用して画像を生成する。運動錯視を作成するために、コンピュータで生成された画像が表示され、それに似ているが時間がわずかに進んでいる新しい画像に(例えば、24、25、または30フレーム/秒の速度で)繰り返し置き換えられる。コンピュータアニメーション技術は、テレビ及び映画に伝統的に関連付けられていたのと同じ運動錯視を実現できる。コンピュータアニメーションは、コンピュータを使用して動画のフレームを生成する、デジタルで実装されたストップモーション技術と考えられ得る。デジタルコンピューティングを使用すると、3Dモデルを使用して、より詳細でリアルなアニメーションを実装することができる。コンピュータアニメーションは、エフェクトショットにミニチュアを使用する、または群衆シーンにエキストラを雇うなど、従来の物理ベースのプロセスよりも優れた制御及び柔軟性を提供する。最新のコンピュータアニメーションシステム及びソフトウェアは、いかなる他の技術でも実現できない画像を作成することができる。
【0003】
ほとんどの3Dコンピュータアニメーションシステムでは、アニメータは、キャラクタの解剖学的形態を構成するセグメントの単純化された表現を作成する。この単純化された表現は、骨格モデルと考えられることができる。セグメントは、バインド姿勢、またはフィギュアのT姿勢と呼ばれることもあるデフォルト位置に配置される。各セグメントの位置は、アニメーション変数によって定義され、これらを組み合わせて、フィギュアの姿勢を定義する。人間及び動物のキャラクタでは、骨格モデルの多くの部位が実際の骨に対応している場合があるが、骨格アニメーションは、人型ロボットなどの擬人化されたオブジェクト、またはアニメータがアニメーション化したものであるかのように描写したいその他の無生物オブジェクトを含む他のものをアニメーション化するためにも使用することができる。コンピュータはモデルを使用して特定のキャラクタの正確な位置及び配向を計算し、最終的に画像にレンダリングする。このように、アニメーション変数の値を経時的に変更することにより、アニメータはキャラクタをフレームからフレームへ移動させることで動きを作成する。
【0004】
アニメーション変数値を生成して、リアルな動きを得るためのいくつかの方法がある。従来、アニメータはこれらの値を直接操作する。これは、フレームごとに値を設定することで行うことができるが、より一般的には、戦略的な時点(フレーム)に設定され、コンピュータはキーフレームと呼ばれるプロセスでそれらの間を補間する、または「トゥイーン」する。
【0005】
モーションキャプチャと呼ばれるより新しい方法では、実写映像を利用する。コンピュータアニメーションがモーションキャプチャによって駆動される場合、実際のパフォーマは、アニメーション化されるキャラクタであるかのようにシーンを演じる。パフォーマの動きは、ビデオカメラ及びマーカを重要なポイント、例えば関節及び四肢などで使用して、コンピュータに記録され、次いで、このパフォーマンスは、アニメーション化されたキャラクタに適用される。最近では、モーションキャプチャデータを強化学習(RL)での基準値として使用して、ニューラルネットワークをトレーニングし、人型ロボットを制御する、または生きているようなアニメーションを低コストで作成する技術が開発された。
【0006】
本開示の態様が生じるのはこの状況においてである。
【0007】
本開示の教示は、添付図面とあわせて以下の詳細な説明を検討することによって容易に理解できる。
【図面の簡単な説明】
【0008】
図1】A及びBは、単眼カメラで得られた画像における姿勢の曖昧さの問題を説明する図解である。
図2A】本開示の態様による、コンピュータアニメーションにおける姿勢の脱曖昧化方法を示す概略図である。
図2B】本開示の態様による、コンピュータアニメーションにおける姿勢の脱曖昧化方法を示すフロー図である。
図3】本開示の態様による、姿勢脱曖昧化を伴うコンピュータアニメーションのための装置を示す概略図である。
図4A】本開示の態様による、ビデオから導出されたコンピュータアニメーションにおける単眼姿勢予測を示すフロー図である。
図4B】本開示の態様による、ロボットのコンピュータアニメーションコントロールにおける単眼姿勢予測を示すフロー図である。
図5】本開示の態様による、コンピュータアニメーションにおける単眼姿勢予測を伴うコンピュータアニメーションのための装置を示す概略図である。
【発明を実施するための形態】
【0009】
以下の詳細な説明は、例示を目的として多くの具体的な詳細を含むが、当業者は、以下の詳細に対する多くの変形及び改変が本発明の範囲内にあることを認識する。したがって、以下で説明される発明の例示的な実施形態は、特許請求される発明への一般性を失うことなく、及び特許請求される発明への限定を課すことなく示される。
【0010】
序論
モーションキャプチャは、人間のパフォーマに対しては非常にうまく機能するが、動物、特に野生動物に対してはやや難しい。具体的には、動物にモーションキャプチャマーカを取り付けるには課題があり、モーションキャプチャマーカを付けた動物は自然に行動する可能性が低くなる。動物、特に野生動物のビデオから直接アニメーション化する方がはるかに有利である。このようなビデオのフレームは、例えば画像解析ソフトウェアを用いて解析され、各フレームでの動物の姿勢を決定することができる。
【0011】
本開示の態様によれば、動物などのキャラクタのアニメーションは、ビデオフレームから導出され得る。具体的には、動物のセグメンテーションマスクは、動物のビデオフレーム及び動物の3Dモデルから生成されることができる。実際の動物及び3D動物モデルの姿勢が異なるほど、それらのセグメンテーションマスクが異なる。差異の定量的表現は、例えば、Intersection over Unionである場合がある。
【0012】
一般に理解されているように、Intersection over Unionは、特定のデータセットに対するオブジェクト検出器の精度を測定するために使用される評価指標である。Intersection over Unionを使用して、予測の生成に使用されるアルゴリズムから独立した、オブジェクト検出器及び畳み込みニューラルネットワーク検出器(R-CNN、Faster R-CNN、YOLOなど)のパフォーマンスを評価する。画像内のオブジェクトまたはキャラクタの予測されたバウンディングボックスまたはセグメンテーションマスクを出力として提供するいずれのアルゴリズムも、Intersection over Union(IoU)を使用して評価することができる。Intersection over Unionを適用して(任意の)オブジェクト検出器を評価するためには、通常、(1)グラウンドトゥルースバウンディングボックス(例えば、画像内のオブジェクトの位置を指定するテストセットから手動でラベル付けされたバウンディングボックス)、及び(2)モデルから予測されたバウンディングボックスが必要である。これら2セットのバウンディングボックスを用いると、Intersection over Union(IoU)を次のように決定することができる。
IoU=領域の共通部分/領域の和集合。
この値が1に近いほど、予測が優れている。
【0013】
図1Aに示されるように、入力ビデオフレーム(本明細書ではソースフレームと呼ばれる)からソースキャラクタSCのコンピュータアニメーションフレーム(ターゲットフレーム)を生成するために、アニメーションプログラムは、ビデオ画像内のキャラクタCのセグメンテーションマスクを生成する。画像セグメンテーションは、ビデオ画像内のキャラクタのピクセル単位のソースマスク102を作成する。アニメーションプログラムは、ソースマスク102を使用してソースキャラクタSCをモデル化し、対応する現在のキャラクタCCが何らかの予測された初期姿勢にある、対応する現在のアニメーションフレームを生成する。次に、現在のアニメーションフレームから現在のセグメンテーションマスク104を生成する。コンピュータアニメーションは、現在のキャラクタの関節及び四肢の位置及び配向を表す3次元データを使用して、現在のキャラクタCCをモデル化し得る。キャラクタの関節及び四肢の位置及び配向の組み合わせは、多くの場合、キャラクタの姿勢と呼ばれる。現在の姿勢は、現在のセグメンテーションマスクをソースセグメンテーションマスク102と繰り返し比較し(例えば、IoUを計算することによって)、姿勢を調整して更新された現在のアニメーションフレーム及び現在のセグメンテーションマスクを生成することによって最適化され得る。キャラクタCの正しい姿勢を決定するために、既知の姿勢での対応するターゲットキャラクタTCのターゲットセグメンテーションマスク106を生成する。ターゲットセグメンテーションマスク106は、ターゲットキャラクタが既知の姿勢である場合にターゲットキャラクタの関節及び四肢の位置及び配向を表す、対応する3次元ターゲットデータセットから生成され得る。正しい姿勢は、現在のセグメンテーションマスク104と1つ以上の異なるターゲットセグメンテーションマスク106との間のIoUを決定することによって決定することができる。いくつかの実施態様によれば、現在のセグメンテーションマスク及び/またはターゲットセグメンテーションマスクのうちの1つ以上は、キャラクタの姿勢のアウトラインのみを示すエッジマスクである場合がある。セグメンテーションマスクにエッジマスクを使用する利点は、エッジマスクがより正確な姿勢マッチングを提供し得ることである。セグメンテーションマスクとしてエッジマスクを使用すると、仮想キャラクタが遠くにあるためにスケールが異なる場合を回避し得る。これらのような場合、仮想キャラクタは、ターゲットセグメンテーションマスクの内側に適合し、ターゲットマスクによって曖昧になる場合がある。
【0014】
前述のプロセスは、後続のフレームに繰り返され得る。さらに、物理ベースのシミュレーションは、現在のセグメンテーションマスク104及び/またはターゲットセグメンテーションマスク106から決定された所与の候補姿勢の実行可能性を評価するために、キャラクタとその周囲との間のインタラクションをシミュレートし得る。実行不可能な姿勢の例には、例えば、キャラクタが転倒する結果となる姿勢が含まれる。この姿勢実行可能性評価プロセスは、ターゲットセグメンテーションマスク106を生成する前に反復的に繰り返され得るため、セグメンテーションマスクの生成が実行可能な姿勢に限定される。
【0015】
セグメンテーションマスクは、画像平面上へのすべてのボディポイントの2D射影である。そのため、元の3D姿勢に関する完全な情報を搬送しない。その結果、単眼画像内のオブジェクトの姿勢に曖昧さが存在する場合がある。図1Bは、そのような曖昧さの一例を示す。図1Bでは、ビデオフレームからのオオカミWの画像を解析しており、コンピュータアニメーションの入力としてセグメント化された画像100を生成する。図1では、オオカミの前肢F1、F2、または後肢H1、H2のどちらがカメラに最も近いかについて曖昧さがある。3Dで姿勢をより良くマッチングさせるために、いくつかの技法を使用することができる。
【0016】
姿勢の脱曖昧化
本開示の態様によれば、コンピュータアニメーション方法は、姿勢の曖昧さを解決するために、キャラクタの複数のカメラビューにターゲットセグメンテーションマスクを使用してもよい。これは、現在のセグメンテーションマスクと様々な姿勢の様々なターゲットセグメンテーションマスクとの間の差異を最小にして、正しい姿勢を取得すること、例えば、Intersection over Unionによって、行うことができる。
【0017】
図2A及び図2Bは、本開示の態様による、コンピュータアニメーション方法の可能な実施態様を示す。図2Aに示されるように、ビデオフレーム201を解析して、ビデオフレーム201からキャラクタCCの2つの異なる同時性ビューに対して、対応する現在のセグメンテーションマスク203を生成する。限定ではなく例として、キャラクタCCの異なる同時性ビューを示す2つのビデオフレーム201は、2つの異なる同期したカメラを使用して生成され得る。本明細書で使用される場合、「同時性ビュー」という用語は、一般に、例えば、標準ビデオフレームレートの場合、互いに1または2フレームの増分内で、ビューがほぼ同時に取得されることを意味する。いくつかの実施態様では、2つ以上の角度付きミラーを介してキャラクタCCを見る単一カメラを使用して、異なる角度で2つの異なる画像を取得することが可能である場合がある。そのような実施態様では、2つ以上の異なる同時性画像及び対応するセグメンテーションマスクを、異なる画像に対応する同じビデオフレームの異なる部分から導出することができる。対応するターゲットセグメンテーションマスク205は、最初にソースビデオフレーム201から3次元アニメーションデータ203を生成することによって生成され得、このアニメーションデータを使用してターゲットセグメンテーションマスク205を生成し得る。限定ではなく例として、現在のキャラクタCCの様々なビューは、基準面、例えば、ターゲットセグメンテーションマスク205を生成するために使用される仮想カメラの画像平面に対して+45°及び-45°に配向されたビューを含んでもよい。同様に、ソースマスク207は、対応する基準面に対して+45°及び-45°に配向された2台のカメラで撮影されたキャラクタCCのビデオの同時フレームから生成され得る。
【0018】
図2Bに示される実施態様では、ターゲットセグメンテーションマスク205は、以下のようにアニメーションデータ203から生成され得る。202に示されるように、入力フレーム201はコンピュータアニメーションプログラムによって解析されると、アニメーションデータ203が生成される。アニメーションデータ203は、ターゲット姿勢でのビデオフレーム201からのキャラクタCCの3次元モデルTCに対応する。アニメーションプログラムは、仮想カメラVC1、VC2からモデルTCの異なるビューを射影することを含むプロセスを通じて、ターゲットセグメンテーションマスク205を生成する。仮想カメラの配向は、ビデオフレーム201を生成した実際のカメラの配向に対応し得る。ソースセグメンテーションマスク205も、204で示されるように、入力ビデオフレーム201から生成される。いくつかの実施態様では、ソースセグメンテーションマスク207は、アニメーションデータ203を生成する、または洗練するプロセスで任意選択に使用され得る。
【0019】
3次元モデルTCが示す姿勢がビデオフレーム201内のキャラクタCCの姿勢に対応するかどうかを決定するために、206に示されるように、ターゲットセグメンテーションマスク205が対応するソースセグメンテーションマスクと比較される。次に、208で示されるように、比較の結果を解析する。限定ではなく例として、206では、ターゲット/ソースマスクの比較ごとのIoUを計算し得る。次に、208では、モデルTCの姿勢がキャラクタCCの姿勢に対応するかどうかを決定するために、IoU計算のそれぞれの結果を何らかの閾値と比較してもよい。208での解析の結果に応じて、202では、アニメーションデータ203を調整して、モデルTCの姿勢を調整してもよい。204では新しいターゲットマスクを生成し、206ではソースマスクと比較してもよい。アニメーションデータを調整するには、モデルTCの1つ以上の関節角度を調整すること、基準面に対する仮想カメラVC1、VC2の配向を回転させること、または関節角度の調整及びカメラ配向の調整の何らかの組み合わせが含まれ得るが、これらに限定されない。このプロセスは、解析の結果がビデオフレーム201内のモデルTC及びキャラクタCCの姿勢間のマッチングを示すまで、反復され得る。マッチングが得られると、210に示されるように、最終姿勢データ209を使用して、アニメーションフレーム211を生成し得る。
【0020】
限定ではなく例として、現在のキャラクタCCの様々なビューは、基準面、例えば、現在のソースマスク205を生成するために使用される仮想カメラの画像平面に対して+45°及び-45°に配向されたビューを含んでもよい。
【0021】
214に示されるように、現在のセグメンテーションマスク207をターゲットセグメンテーションマスク213、215のそれぞれと比較して、ビデオフレーム201内のソースキャラクタの正しい姿勢に対応する現在のキャラクタCCの最終姿勢データ217を決定し得る。限定ではなく例として、現在のマスク205をターゲットマスク209、211と比較することは、ターゲットセグメンテーションマスク213、215のそれぞれと現在のセグメンテーションマスク207との間のIntersection over Union(IoU)を計算することを含み得る。IoU値を閾値と比較してもよく、現在のマスク、例えば、少なくとも閾値を満たすターゲットマスクごとのIoU値を有する現在のマスクから正しい姿勢を決定し得る。複数の現在のマスク207のいずれも閾値を満たさない場合、エラー状態が決定され得、問題を修正するためにターゲットマスクが調整され得る。例えば、IoU値がIoU閾値を上回らないし、2つのIoU値の間の差が差の閾値を下回らない場合、ターゲットデータ211を調整して、ターゲットキャラクタTCの姿勢を異なる姿勢に変更してもよく、212に示すように、新しいターゲットセグメンテーションマスク213、215を生成し得る。IoU値が特定の姿勢の閾値を上回るが、他の姿勢では上回らない場合、アニメーションプログラムは、特定の姿勢に対応する最終姿勢データ217を生成し得る。次に、アニメーションプログラムは、216に示されるように、最終姿勢データ217を使用して、現在のキャラクタCCを正しい姿勢で描写する最終アニメーションフレーム219を生成し得る。次に218に示されるように、その次のビデオフレームに前述のプロセスを繰り返してもよい。
【0022】
前述の例では、モデルTC及びキャラクタCCの2つの異なるビューを使用して、2つのターゲットセグメンテーションマスク及び2つの対応するソースマスクを生成するが、3つ以上の異なるビューを使用して、3つ以上の対応する異なるターゲット及びソースセグメンテーションマスクを生成してもよい。さらに代替の実施態様では、ターゲットセグメンテーションマスクは、2つ以上の異なるカメラを使用して取得された2つ以上の対応する異なる角度からのターゲットキャラクタの2つ以上の同時性ビデオフレームから生成され得る。
【0023】
姿勢脱曖昧化装置
図3は、例えば図2A及び図2Bに関して、説明された姿勢脱曖昧化を伴うコンピュータアニメーションのための装置を示す。装置は、ユーザ入力デバイス302に結合されたコンピューティングデバイス300を含んでもよい。ユーザ入力デバイス302は、コントローラ、タッチスクリーン、マイクロフォン、キーボード、マウス、ジョイスティック、またはユーザが音響データを含む情報をシステムに入力することを可能にする他のデバイスであり得る。ユーザ入力デバイスは、ハプティックフィードバックデバイス、例えば、振動モータ、フォースフィードバックシステム、超音波フィードバックシステム、または空気圧フィードバックシステムに結合されてもよく、またはそれを含んでもよい。さらに、システムは、例えば、限定ではないが、可動関節用のコントローラ301を含み得、コントローラは、物理ロボットの制御のための物理ベースのアニメーションを含む実施態様では、ロボット上の関節用のモータまたはアクチュエータを制御し得る。
【0024】
コンピューティングデバイス300は、例えば、シングルコア、デュアルコア、クアッドコア、マルチコア、プロセッサコプロセッサ、及びセルプロセッサなどの公知のアーキテクチャに従って構成し得る、1つ以上のプロセッサユニット303を含んでもよい。コンピューティングデバイスはまた、1つ以上のメモリユニット304(例えば、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、及びリードオンリメモリ(ROM)など)を含んでもよい。
【0025】
プロセッサユニット303は、1つ以上のプログラム317を実行してもよく、1つ以上のプログラムの一部は、メモリ304に記憶されてもよく、プロセッサ303は、例えば、データバス305を介してメモリにアクセスすることによって、メモリに動作可能に結合されてもよい。プログラム317は、ディスクドライブ、CD-ROMドライブ、テープドライブ、フラッシュメモリなどといった大容量記憶装置315に格納され得る。プログラムは、プロセッサユニットに、図2A及び図2Bに関して上述されたようなアニメーション方法を実行させる命令を実装し得る。プログラムは、本明細書の他の箇所で説明されるように、物理ベースのアニメーション入力制御スキームにニューラルネットワーク(NN)314を含む実施態様のために、NNの重み及び遷移値を調整するように構成された機械学習アルゴリズムをさらに含んでもよい。さらに、メモリ304は、本明細書の上記に記載されるように、ビデオフレームデータ308及びアニメーションデータ309を格納し得、これらを使用して、それぞれソースセグメンテーションマスク310及びターゲットセグメンテーションマスク312を生成し得る。ビデオフレームデータ308、アニメーションデータ309、及びセグメンテーションマスク310、312も、データ318としてマスストア315に格納され得る。さらにプロセッサユニット303は、マスストア315にまたはメモリ304に格納された1つ以上のプログラム317を実行すると、プロセッサが上述の方法のうちの1つ以上を実行するように構成される。
【0026】
コンピューティングデバイス300はまた、例えば、バス305を介してシステムの他のコンポーネントと通信し得る、入力/出力(I/O)回路307、電源(P/S)321、クロック(CLK)322、及びキャッシュ323などの公知のサポート回路306を含んでもよい。コンピューティングデバイス300は、電子通信ネットワーク330を介した通信を促進するためのネットワークインタフェース332を含んでもよい。ネットワークインタフェース332は、ローカルエリアネットワーク及びインターネットなどのワイドエリアネットワークを通じた有線通信または無線通信を実装するように構成されてもよい。コンピューティングデバイス300は、ネットワーク320経由で1つ以上のメッセージパケットを介してファイルのデータ及び/または要求を送受信し得る。ネットワーク320を通じて送信されるメッセージパケットは、メモリ304内のバッファに一時的に格納されてもよい。アニメーションフレーム308、ビデオフレーム309、及びセグメンテーションマスク311、312、313は、ネットワーク330を介してリモートコンピューティングデバイスまたはストレージデバイスから取得され得、コンピューティングデバイス300による使用のためにメモリ304及び/またはマスストレージデバイス315に部分的に格納され得る。
【0027】
プロセッサユニット303及びネットワークインタフェース332は、適切なネットワークプロトコル、例えば、パーソナルエリアネットワーク(PAN)のBluetooth(登録商標)を介して、ローカルエリアネットワーク(LAN)またはPANを実装するように構成されてもよい。コンピューティングデバイスはまた、システムとユーザとの間の対話を促進するためのユーザインタフェース316を含んでもよい。ユーザインタフェースは、モニタ、テレビスクリーン、スピーカ、ヘッドフォン、またはユーザに情報を通信する他のデバイスを含んでもよい。
【0028】
単眼姿勢予測
本開示の代替の態様によれば、個々のビデオフレームのそれぞれを独立して解析する代わりに、連続するアニメーションフレームを単一の問題として解析することができる。これらのような実施態様では、最初のアニメーションフレームの姿勢候補を構築する。各姿勢候補は、同じセグメンテーションマスクを有する。ただし、3D空間では、モデルTCの候補姿勢は、互いに可能な限り離れて分散される。続いて、現実のactor-criticトレーニング済みニューラルネットワーク(NN)が候補の姿勢を解析する。候補の姿勢を評価するには、様々な方法がある。これらの方法は、以下で説明される、様々な実施態様で組み合わせることができる。
【0029】
図4Aは、本開示の態様による、コンピュータアニメーションにおける単眼姿勢予測のための一般化方法の一例を示す。この方法は、フレーム401の入力ビデオシーケンスで開始し得る。入力ビデオフレームは、ライブフィードまたはアーカイブ映像から取得され得る。キャラクタを示す任意の適切なタイプのビデオフレームが使用され得る。好ましくは、入力ビデオフレームシーケンス401は、デジタルビデオフレームの形式である。あるいは、非デジタルビデオフレームまたはモーションピクチャフレームをデジタル化して、入力ビデオフレームシーケンス401を提供してもよい。アニメーションプログラムは、402に示されるように、入力ビデオフレームシーケンス401の各フレーム内のキャラクタのセグメンテーションマスク403の対応するシーケンスを生成し得る。セグメンテーションマスク403は、エッジマスクであってもよい。一部の実施態様では、アニメーションプログラムが何らかの外部ソースからセグメンテーションマスク403を受信し得、この場合、セグメンテーションマスクの生成は必要ないことに留意する。
【0030】
アニメーションプログラムは、404に示されるように、3次元アニメーションモデル405を生成し得る。アニメーションモデル405は、セグメンテーションマスク403内のキャラクタに対応するアニメーションキャラクタの関節及び四肢を表す3次元データを含む。406に示されるように、コンピュータアニメーションプログラムは、可能な候補姿勢シーケンスに対応する姿勢シーケンスデータ407を生成し、各シーケンスは、ビデオシーケンスの連続するフレームに対応する異なる時間ステップでアニメーションモデル405によって表されるキャラクタの2つ以上の姿勢を含む。各候補姿勢シーケンス内の各姿勢は、ビデオシーケンス401内の対応するフレームのセグメンテーションマスクにマッチングするセグメンテーションマスクを有するような方法で生成される。限定ではなく例として、様々な可能な候補姿勢のセグメンテーションマスクは、エッジマスクであってもよい。上述した姿勢の曖昧さの問題により、各時間ステップにおける候補姿勢間の距離が最大になるような方法で候補姿勢を生成することが望ましい。限定ではなく例として、各候補姿勢は、3次元モデル405内のN個の関節角度のN多次元ベクトルで表され得、姿勢間の距離は、N次元の距離式を用いて計算され得る。アニメーションプログラムは、408に示されるように、複数の候補姿勢シーケンスのうち最適な姿勢シーケンスを決定する。アニメーションプログラムは、結果として得られる最適姿勢シーケンスデータ409を410では使用して、アニメーションフレーム411を生成する。次に、アニメーションプログラムは、412に示されるように、別の入力ビデオフレームに前述のプロセスを繰り返し得る。
【0031】
上述のように、406では姿勢シーケンスを生成し、408では最適姿勢シーケンスを決定する様々な方法がある。一実施態様によれば、ビデオシーケンス401内の2つ以上の連続するアニメーションフレームからの姿勢候補のペアは、姿勢最適化408を実行するニューラルネットワークへの入力として使用され得る。姿勢最適化の一部として、値ネットワーク(評価器)が姿勢候補シーケンスをテストする場合がある。最高値を与えるシーケンスが正しいシーケンスであると想定される。そのような実施態様では、シーケンス401の第一ビデオフレームのセグメンテーションマスクに基づいて、アニメーションモデル405のいくつかの3次元(3D)姿勢が生成される。すべての姿勢は、シーケンス内の第一ビデオフレームのセグメンテーションマスクにマッチングするセグメンテーションマスクを有する。3D姿勢は、互いにできるだけ距離を置くように生成される。姿勢間の距離は、例えば、アニメーションキャラクタの3Dモデル内の関節間の平均角度差として測定することができる。シーケンス401内の第一フレームから導出された3D姿勢ごとに、最適化プロセス408は、ビデオフレームごとに姿勢のセグメンテーションマスクがシーケンス401の対応するビデオフレームのセグメンテーションマスクにマッチングするような方法で、3D姿勢を経時的に調整する。最適化プロセス中、モデル405によって表されるキャラクタの運動は、物理シミュレーション環境によってシミュレートされる。最適化プロセス408は、シーケンス401のフレームのセグメンテーションマスクを、モデル405の候補姿勢の対応する射影にマッチングさせると同時に、アニメーション化されたキャラクタの運動が物理的に一貫性のある、例えば、アニメーションキャラクタを転倒させない、または関節の制約に違反させないことを確認する。この目的のために、遺伝的(進化的)アルゴリズムを使用することができる。
【0032】
代替の実施態様では、上記のとおりであるが、アニメーションフレームごとに、いくつかの姿勢候補を生成し得る。所与のアニメーションフレームのすべての姿勢候補は、シーケンス401の対応するビデオフレームのセグメンテーションマスクにマッチングするセグメンテーションマスクを有する。最適化プロセス408中、連続するビデオフレームの姿勢候補のペアは、同様のアニメーションを使用して物理シミュレーション環境内でキャラクタを制御するように事前にトレーニングされたニューラルネットワークに送られ得る。次に、姿勢候補のペアはニューラルネットワークによって評価される。最良の姿勢候補ペアのセグメンテーションマスクは、対応するビデオフレームから取得されたセグメンテーションマスクとの最良のマッチングを提供するであろう。同時に、シミュレートされた物理環境内でのキャラクタの運動によって、キャラクタが転倒してはならない、または関節の制約に違反してはならない。ソリューションは、第一フレームペアからビデオシーケンス401の終わりまで連続して進行する。
【0033】
いくつかの実施態様では、アニメーションプログラムは、414に示されるように、408で姿勢最適化プロセスの出力を使用して、ロボット制御入力413を生成し得る。アニメーションプログラムは、ロボットコントローラ415に制御入力413を供給し得、このロボットコントローラは、制御入力を多関節ロボット417に送信される制御信号に変換する。ロボットコントローラ415は、ハードウェアまたはソフトウェアに実装され得る。ハードウェア実装の場合、アニメーションプログラムの最適化プロセス408は便利な形式で入力を提供し、ロボットコントローラは入力をロボットコマンドに変換することができる。ソフトウェア実装の場合、ロボットコントローラ415は、アニメーションプログラムと同じコンピュータシステム上で実行するコードによって実装され得る。そのようなロボットコントローラコードは、アニメーションプログラムとは別のプログラムであってもよく、またはアニメーションプログラムに組み込まれてもよい。
【0034】
上述のように、姿勢最適化プロセス408は、ロボット417または対応するアニメーション化されたキャラクタの姿勢シーケンスに対する姿勢組み合わせの様々な組み合わせの実行可能性を評価するために、物理シミュレーションによって通知されてもよい。例として、姿勢最適化プロセス408は、1つ以上の物理ベースの制約に従って、アニメーション化されたキャラクタまたはロボット417の運動を制限し得る。あるいは、姿勢最適化プロセス408は、ロボット417の動作と一貫性のない姿勢、例えば、ロボットを転倒させる、または関節の制約に違反させる姿勢をリジェクトし得る。いくつかの実施態様では、姿勢最適化プロセス408は、任意選択で、図2A及び図2Bに関して上で説明されたような技法を使用して、姿勢脱曖昧化を含み得る。これには、3Dアニメーションモデル405の異なるビューから2つ以上の異なる候補ターゲットマスクを生成し、ターゲットマスクを、入力ビデオフレーム401の異なる同時性ビューから生成された対応するマスク403と比較することが含まれ得る。
【0035】
図4Bは、本開示の態様による、コンピュータアニメーションにおける単眼姿勢予測の使用のための姿勢最適化408の一例を示す。図4Bに示されるように、姿勢最適化プロセス408は、ニューラルネットワーク420を使用して、姿勢シーケンス407内の候補姿勢を対応するセグメンテーションマスク403に適合させて、任意選択で、制御入力413を生成し得る。図示の実施態様では、ニューラルネットワーク420への入力は、ビデオフレームシーケンス401から取得されたセグメンテーションマスク403である。図4Bに示された例では、ニューラルネットワーク420のゴールは、その次の2つの姿勢の候補に対応するセグメンテーションマスク421、423である。具体的には、ゴールは、ロボット417が模倣するターゲットアニメーションから取られた2つの連続した姿勢であってもよい。ニューラルネットワーク420は、実際のロボット417を転倒させることなく、このロボットで実行することができるような方法で、ターゲットアニメーションをリアルタイムで変換する。
【0036】
ニューラルネットワーク420は、現在の姿勢からその次の2つの姿勢を決定するようにトレーニングされ得る。ニューラルネットワーク420のトレーニングには、物理シミュレーション内でのキャラクタモデルの使用が含まれる場合がある。モーションキャプチャまたは手動でアニメーション化された姿勢をターゲットとして使用し得、ニューラルネットワーク420は、機械学習アルゴリズムを使用して物理シミュレーションの制約内でターゲット姿勢を複製するようにトレーニングされ得る。機械学習アルゴリズム及び/またはニューラルネットワークレイアウトは、例えば、限定ではないが、強化学習アルゴリズム、模倣学習アルゴリズム、または教師あり学習アルゴリズムであってもよい。トレーニングされたニューラルネットワークを使用して、候補姿勢のそれぞれに基づいてスコアを出力し得る。トレーニングの結果、スコアはシミュレーション内での姿勢の実行可能性を表す。姿勢は、その次の2つのフレームでの安定性(シミュレーション内でキャラクタが転倒するなど)、制約に違反する関節(逆に曲がった肘関節など)がなにかあるか、すべての関節が動く距離を最小にしようとする試み、衝突する四肢がなにかあるか、四肢が対応する関節に連結されているかなどのような要因で評価される。これらの評価要因の一部またはすべては、ニューラルネットワークによって生成され、スコアによって表されてもよく、または代替に、これらの要因の一部もしくはすべては、ユーザによって決定され、スコアに追加されてもよい。候補の姿勢から最良の姿勢セットを選択し、これは手動で行われてもよく、または最小最大層を使用してニューラルネットワーク内で行われてもよい。姿勢決定ニューラルネットワークの詳細については、並行して出願された米国特許出願番号17/095,586米国特許出願公開番号:20220143820)を参照する
【0037】
選択された候補の姿勢から、ニューラルネットワーク420を使用してロボットを制御し得る。ニューラルネットワーク420の出力には、アクション425及び値427が含まれる。アクション425は、ロボット415への制御入力に対応する。値427は、内部トレーニングアルゴリズム量である。これは、トレーニングステップ中にのみ必要であり、ランダムな改善試行の効果を推定するために使用される。
【0038】
ロボットコントローラ415は、アクション425に基づいてコマンドをロボット417内のモータに提供する。一般に、ロボット417は、構造要素及びセンサによって連結された可動関節を含み得る。各関節はセンサに連結され得、このセンサは、関節の状態に関する情報に関連するセンサ値を生成するように構成される。物理ロボット用のセンサは、例えば、限定ではないが、エンコーダ、ポテンショメータ、線形可変差動変圧器、圧力センサ、ジャイロスコープ、重力計、加速度計、リゾルバ、速度計、または速度センサを含み得る。そのようなセンサのセンサ値は、そのようなセンサの出力またはそこから導出される情報に対応する。ロボットのセンサからのセンサ値の例には、関節位置、関節速度、関節トルク、ロボットの配向、ロボットの直線速度、ロボットの角速度、足の測定子、足の圧力、またはこれらの2つ以上が含まれるが、これらに限定されない。アニメーションキャラクタの場合、センサは仮想センサであってもよく、センサ値は、可動関節の状態に関連するデータ、例えば、位置、速度、加速度のデータを単純に含み得る。ロボットシミュレーションからのセンサ値の例には、関節位置、関節速度、関節トルク、モデルの配向、モデルの直線速度、モデルの角速度、足の測定子、足の圧力、またはこれらの2つ以上が含まれるが、これらに限定されない。コントローラ415またはアニメーションプログラムからの位置データは、モーション決定ニューラルネットワークに渡され、姿勢最適化プロセス408と併せて強化学習中に状態データとして使用され得る。
【0039】
制御入力の性質は、ロボット417の関節を制御するためにロボットコントローラ415によって使用される制御パラメータ化に依存する。多関節ロボットに一般的に使用される制御パラメータ化には、位置制御、速度制御、及びトルク制御が含まれる。考えられる実施態様の1つは、ハイブリッドスキームを採用し、そこでは、ニューラルネットワークは、位置微分係数vとしてラベル付けされ得る、ターゲット関節速度を出力する。積分器ブロックは、シミュレーションまたはアニメーション内の位置微分(PD)コントローラか、ロボット417のアクチュエータかいずれかに直接適用される前に、x=∫vdtに従って微分係数vを関節位置xに積分する。積分器ブロックの出力を、入力としてニューラルネットワークにルーティングすることにより、フィードバック信号として使用してもよい。積分ステップは、ノイズの多いセンサ及びセンサスパイクに対するロボットの反応を滑らかにすることによって、ロボット417のシミュレーション及び制御におけるモータのジッタを視覚的に観測できないレベルまで有利に抑制し得る。この積分により、不具合シナリオ中にネットワーク入力が状態空間の分布外領域に入る場合、ロボットの運動が適度になることもできる。
【0040】
図示の例では、ニューラルネットワークは、アクション425及び値427を生成すると、ポリシー及び値の関数を、重みを共有していない別個のネットワーク422、424に分割する。図示のポリシーネットワーク422及び評価器ネットワーク424は、それぞれ各層に同数のニューロンを含む3つの層からなり得る。各ニューロンは同じ活性化関数を有し得る。限定ではなく例として、これらの層はそれぞれ128個のニューロンを含み、活性化関数としてソフトサインを使用する。ネットワーク入力(観測)は、移動平均及び標準偏差を使用して正規化される。入力には、次の特徴、ゴールの配向、関節センサの読み出し値、前の時間ステップでのアクション、前の時間ステップでのアクチュエータ入力、ローカル基準フレーム内の重力ベクトル、加速度計の読み出し値、ジャイロの読み出し値、及び足圧センサの読み出し値のいずれかまたはすべてが含まれ得る。
【0041】
ゴールの配向は、軸角度形式で表され得、2つのエンコード層426、428を使用して潜在表現にエンコードされ得る。例として、各エンコード層は、64個のニューロンを有する第二層に結合された128個のニューロンを有する第一層を含み得る。各ニューロンは、leaky ReLU活性化関数を使用する場合がある。アクション425は、ニューラルネットワークによって出力される関節位置微分係数セットを指定する。アクチュエータ入力は、位置微分係数を積分することによって計算された更新された関節位置を示す。前の時間ステップからのアクション及びアクチュエータの入力をネットワークに送ると、フィードバック信号が導入される。
【0042】
探索は、学習したガウス分布からポリシーネットワークの出力をサンプリングすることによって、トレーニング中に行われる。この方法でサンプリングすると、トレーニング中にジッタが導入され、転倒が誘起されるため、学習が困難になる。前述の積分スキームは、ジッタを軽減するのに役立つ。さらに、各時間ステップでガウス分布からランダムアクションをサンプリングする代わりに、固定確率εでポリシーネットワーク422からランダムアクションをサンプリングし得、確率1-εでロボット417はガウス平均によって指定された決定論的アクションを実行する。さらに、探索ノイズが適用されるサンプルのみを使用して更新を実行してもよい。
【0043】
姿勢予測装置
図5は、例えば図4A及び図4Bに関して、説明された単眼姿勢予測を伴うコンピュータアニメーションのための装置を示す。装置は、ユーザ入力デバイス502に結合されたコンピューティングデバイス500を含んでもよい。ユーザ入力デバイス502は、コントローラ、タッチスクリーン、マイクロフォン、キーボード、マウス、ジョイスティック、またはユーザが音響データを含む情報をシステムに入力することを可能にする他のデバイスであり得る。ユーザ入力デバイスは、ハプティックフィードバックデバイス、例えば、振動モータ、フォースフィードバックシステム、超音波フィードバックシステム、または空気圧フィードバックシステムに結合されてもよく、またはそれを含んでもよい。さらに、システムは、例えば、限定ではないが、可動関節用のコントローラ501を含み得、コントローラは、物理ロボットの制御のための物理ベースのアニメーションを含む実施態様では、ロボット上の関節用のモータまたはアクチュエータを制御し得る。
【0044】
コンピューティングデバイス500は、例えば、シングルコア、デュアルコア、クアッドコア、マルチコア、プロセッサコプロセッサ、及びセルプロセッサなどの公知のアーキテクチャに従って構成し得る、1つ以上のプロセッサユニット503を含んでもよい。コンピューティングデバイスはまた、1つ以上のメモリユニット504(例えば、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、及びリードオンリメモリ(ROM)など)を含んでもよい。
【0045】
プロセッサユニット503は、1つ以上のプログラム517を実行してもよく、1つ以上のプログラムの一部は、メモリ504に記憶されてもよく、プロセッサ503は、例えば、データバス505を介してメモリにアクセスすることによって、メモリに動作可能に結合されてもよい。プログラム517は、ディスクドライブ、CD-ROMドライブ、テープドライブ、フラッシュメモリなどといった大容量記憶装置515に格納され得る。プログラムは、プロセッサユニットに、図4A及び図4Bに関して上述されたようなアニメーション方法を実行させる命令を実装し得る。プログラムは、本明細書の他の箇所で説明されるように、物理ベースのアニメーション入力制御スキームにニューラルネットワーク(NN)513を含む実施態様のために、NNの重み及び遷移値を調整するように構成された機械学習アルゴリズムをさらに含み得る。さらに、メモリ504は、ビデオフレームデータ508及びアニメーションフレームデータ509を格納し得る。ビデオフレームデータ508を使用して、上記の姿勢予測で使用するセグメンテーションマスク510を生成し得る。姿勢予測に使用される姿勢データ511も、メモリ504に格納され得る。ロボット530の制御に使用される場合、メモリは、例えば上述のように、ニューラルネットワーク513によって生成されたロボットコマンド512及び品質値514も格納し得る。ビデオフレームデータ508、アニメーションデータ509、セグメンテーションマスク510、姿勢シーケンスデータ511、ロボットコマンド512、及び品質値514も、マスストレージ515にデータ518として格納され得る。
【0046】
またコンピューティングデバイス500は、例えばバス505を介して、システムの他のコンポーネントと通信し得る、入力/出力(I/O)回路507、電源(P/S)521、クロック(CLK)522、及びキャッシュ523などの公知のサポート回路506を含んでもよい。ロボット530の制御を伴う実施態様では、ロボットコマンド512は、I/O回路を介してロボットに中継され得る。コンピューティングデバイス500は、電子通信ネットワーク530を介した通信を促進するためのネットワークインタフェース532を含んでもよい。ネットワークインタフェース532は、ローカルエリアネットワーク及びインターネットなどのワイドエリアネットワークを通じた有線通信または無線通信を実装するように構成されてもよい。コンピューティングデバイス500は、ネットワーク520経由で1つ以上のメッセージパケットを介してファイルのデータ及び/または要求を送受信し得る。ネットワーク520を通じて送信されるメッセージパケットは、メモリ504内のバッファに一時的に格納されてもよい。アニメーションフレーム508、ビデオフレーム509、及びセグメンテーションマスク511は、ネットワーク520を介してリモートコンピューティングデバイスまたはストレージデバイスから取得され得、コンピューティングデバイス500による使用のためにメモリ504及び/またはマスストレージデバイス315に部分的に格納され得る。
【0047】
プロセッサユニット503及びネットワークインタフェース532は、適切なネットワークプロトコル、例えば、パーソナルエリアネットワーク(PAN)のBluetooth(登録商標)を介して、ローカルエリアネットワーク(LAN)またはPANを実装するように構成されてもよい。コンピューティングデバイスはまた、システムとユーザとの間のインタラクションを促進するためのユーザインタフェース516を含んでもよい。ユーザインタフェースは、モニタ、テレビスクリーン、スピーカ、ヘッドフォン、またはユーザに情報を通信する他のデバイスを含んでもよい。
【0048】
本明細書では、ロボットを制御する目的でコンピュータアニメーションに関して特定の実施態様が説明されているが、本開示の態様はそのように限定されない。姿勢脱曖昧化及び単眼姿勢予測は、他の多くの用途に役立つ。さらに本明細書では、動物のアニメーションに関して特定の実施態様が説明されているが、本開示の態様はそのように限定されない。例えば、本明細書に記載の技法を使用して、人間のキャラクタ及び/またはロボットのキャラクタまたは他の移動オブジェクトのコンピュータアニメーションを、アーカイブ映像、またはモーションキャプチャが実用的でないもしくは不可能な他の状況から生成し得る。
【0049】
上記は、本発明の好ましい実施形態の完全な説明であるが、多様な代替策、修正、及び均等物を使用することが可能である。したがって、本発明の範囲は、上記説明を参照して判定されるべきでなく、代わりに、均等物のそれらの全範囲に従った、添付の特許請求の範囲を参照して判定されるべきである。好ましいか否かに関わらず、本明細書で説明された任意の特徴が、好ましいか否かに関わらず、本明細書で説明された任意の他の特徴と組み合わされてよい。以下の特許請求の範囲では、不定冠詞「A」または「An」は、明確に述べられる場合を除き、冠詞に続く項目のうちの1つ以上の量を指す。添付の特許請求の範囲は、手段プラス機能の限定が、フレーズ「~する手段(means for)」を使用して所与の請求項に明確に記載されない限り、そのような限定を含むとして解釈されるべきではない。
図1A
図1B
図2A
図2B
図3
図4A
図4B
図5