(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-08-15
(45)【発行日】2025-08-25
(54)【発明の名称】高速で深い顔面変形
(51)【国際特許分類】
G06T 13/40 20110101AFI20250818BHJP
G06T 17/20 20060101ALI20250818BHJP
【FI】
G06T13/40
G06T17/20
(21)【出願番号】P 2023513265
(86)(22)【出願日】2021-04-29
(86)【国際出願番号】 US2021030024
(87)【国際公開番号】W WO2021225868
(87)【国際公開日】2021-11-11
【審査請求日】2024-04-30
(32)【優先日】2020-10-07
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-05-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】522436592
【氏名又は名称】ドリームワークス アニメーション リミテッド ライアビリティ カンパニー
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【氏名又は名称】西島 孝喜
(74)【代理人】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100196612
【氏名又は名称】鎌田 慎也
(72)【発明者】
【氏名】ベイリー スティーヴン ダブリュー
(72)【発明者】
【氏名】オーメンズ ダルトン
(72)【発明者】
【氏名】ディロレンツォ ポール
(72)【発明者】
【氏名】オブライエン ジェイムズ
【審査官】益戸 宏
(56)【参考文献】
【文献】特開2001-143088(JP,A)
【文献】特開2009-009296(JP,A)
【文献】米国特許第08614714(US,B1)
【文献】米国特許出願公開第2008/0231640(US,A1)
【文献】長谷川修 他2名,「顔」の情報処理,電子情報通信学会論文誌,Vol.J80-A, No.8,1997年08月25日,pp.1231-1249
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/40
G06T 17/20
(57)【特許請求の範囲】
【請求項1】
顔モデルのメッシュ変形を生成するための方法であって、
第1のリグパラメータのセットが入力され、第1の複数の変形マップが出力される、第1の複数のニューラルネットワークトレーニングモデル
により
、第1のリグパラメータのセットから第1の複数の変形マップを生成するステップと、
第2のリグパラメータのセットが入力され、第2の複数の変形マップが出力される、第2の複数のニューラルネットワークトレーニングモデル
により
、第2のリグパラメータのセットから第2の複数の変形マップを生成するステップであって、前記第2の複数の変形マップは、前記第1の複数の変形マップよりも大きい解像度を有する、ステップと、
前記第1の複数の変形マップに基づいて第1の複数の頂点オフセットを抽出するステップと、
前記第2の複数の変形マップに基づいて第2の複数の頂点オフセットを抽出するステップと、
前記顔モデルのメッシュ変形を生成するために前記第1の複数の頂点オフセット及び前記第2の複数の頂点オフセットを前記顔モデルのメッシュに適用するステップと、
を含む、方法。
【請求項2】
前記第1の複数の頂点オフセットを抽出するステップは、前記第1の複数の変形マップのうちの少なくとも1つの補間を複数の頂点位置で実行するステップを含む、請求項1に記載の方法。
【請求項3】
前記補間は、バイリニア補間又はキュービック補間を含む、請求項2に記載の方法。
【請求項4】
前記第1の複数の頂点オフセット及び前記第2の複数の頂点オフセットを前記顔モデルのメッシュに適用するステップは、前記第1の複数の頂点オフセットを前記メッシュの複数の頂点の値に追加するステップを含む、請求項1に記載の方法。
【請求項5】
前記第1の複数のニューラルネットワークトレーニングモデルの各々は、畳み込みニューラルネットワーク(CNN)モデルを含む、請求項1に記載の方法。
【請求項6】
前記第1の複数の頂点オフセット及び前記第2の複数の頂点オフセットを前記メッシュに適用するステップは、
前記第1の複数の頂点オフセットを前記メッシュの全ての頂点の値に適用するステップと、
前記メッシュ変形を生成するために前記第2の複数の頂点オフセットを前記メッシュの頂点の最大でもサブセットの値に適用するステップと、
を含む、請求項1に記載の方法。
【請求項7】
前記メッシュの頂点のサブセットは、特定の閾値を超える近似誤差のレベルを示す前記メッシュの1又は2以上の領域に対応する、請求項6に記載の方法。
【請求項8】
前記第1の複数の頂点オフセット及び前記第2の複数の頂点オフセットを前記顔モデルのメッシュに適用するステップは、
複数の中間頂点値を生成するために前記第1の複数の頂点オフセットを前記メッシュの複数の頂点の値に追加するステップと、
前記メッシュ変形を生成するために前記第2の複数の頂点オフセットを前記複数の中間頂点値の最大でもサブセットに追加するステップと、
を含む、請求項1に記載の方法。
【請求項9】
前記第1の複数の変形マップ及び前記第2の複数の変形マップに基づいて、変形中に剛体的に移動する前記顔モデルの1又は2以上の剛体メッシュセグメントを識別するステップと、
前記1又は2以上の剛体メッシュセグメントの各々の別個の近似を実行するステップと、
を更に含む、請求項1に記載の方法。
【請求項10】
前記1又は2以上の剛体メッシュセグメントの各々の別個の近似を実行するステップは、前記剛体メッシュセグメントの頂点に対して剛体回転及び並進を実行するステップを含む、請求項9に記載の方法。
【請求項11】
顔モデルのメッシュ変形を生成するためのシステムであって、
前記システムは、1又は2以上のプロセッサを含み、前記1又は2以上のプロセッサは、
第1のリグパラメータのセットが入力され、第1の複数の変形マップが出力される、第1の複数のニューラルネットワークトレーニングモデル
によって
、第1のリグパラメータのセットから第1の複数の変形マップを生成し、
第2のリグパラメータのセットが入力され、第2の複数の変形マップが出力される、第2の複数のニューラルネットワークトレーニングモデル
によって
、第2のリグパラメータのセットから第2の複数の変形マップを生成するように構成され、前記第2の複数の変形マップは、前記第1の複数の変形マップよりも大きい解像度を有し、
前記1又は2以上のプロセッサは、
前記第1の複数の変形マップに基づいて第1の複数の頂点オフセットを抽出し、
前記第2の複数の変形マップに基づいて第2の複数の頂点オフセットを抽出し、
前記顔モデルのメッシュ変形を生成するために前記第1の複数の頂点オフセット及び前記第2の複数の頂点オフセットを前記顔モデルのメッシュに適用する、
ように構成される、
システム。
【請求項12】
前記1又は2以上のプロセッサは、複数の頂点位置で前記第1の複数の変形マップのうちの少なくとも1つの補間を実行することによって、前記第1の複数の頂点オフセットを抽出するように更に構成される、請求項11に記載のシステム。
【請求項13】
前記補間は、バイリニア補間又はキュービック補間を含む、請求項12に記載のシステム。
【請求項14】
前記1又は2以上のプロセッサは、前記第1の複数の頂点オフセットを前記メッシュの複数の頂点の値に加えることによって、前記顔モデルのメッシュに前記第1の複数の頂点オフセット
を適用するように更に構成される、請求項11に記載のシステム。
【請求項15】
前記第1の複数のニューラルネットワークトレーニングモデルの各々は、畳み込みニューラルネットワーク(CNN)モデルを含む、請求項11に記載のシステム。
【請求項16】
前記1又は2以上のプロセッサは、
前記第1の複数の頂点オフセットを前記メッシュの全ての頂点の値に適用すること、及び、
前記メッシュ変形を生成するために前記第2の複数の頂点オフセットを前記メッシュの頂点の最大でもサブセットの値に適用すること
によって、前記メッシュに前記第1の複数の頂点オフセット及び前記第2の複数の頂点オフセットを適用するように更に構成される、
請求項11に記載のシステム。
【請求項17】
前記メッシュの頂点のサブセットは、特定の閾値を上回る近似誤差のレベルを示す前記メッシュの1又は2以上の領域に対応する、請求項16に記載のシステム。
【請求項18】
顔モデルのメッシュ変形を生成するための機械実行可能命令を格納した機械可読な非一時的媒体であって、
前記命令は、
第1のリグパラメータのセットが入力され、第1の複数の変形マップが出力される、第1の複数のニューラルネットワークトレーニングモデル
によって
、第1のリグパラメータのセットから第1の複数の変形マップを生成することと、
第2のリグパラメータのセットが入力され、第2の複数の変形マップが出力される、第2の複数のニューラルネットワークトレーニングモデル
によって
、第2のリグパラメータのセットから第2の複数の変形マップを生成することであって、前記第2の複数の変形マップは、前記第1の複数の変形マップよりも大きい解像度を有する、生成することと、
前記第1の複数の変形マップに基づいて第1の複数の頂点オフセットを抽出することと、
前記第2の複数の変形マップに基づいて第2の複数の頂点オフセットを抽出することと、
前記顔モデルのメッシュ変形を生成するために前記第1の複数の頂点オフセット及び前記第2の複数の頂点オフセットを前記顔モデルのメッシュに適用することと、
を含む
動作を機械に実行させる、機械可読な非一時的媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願に対する相互参照)
本出願は、2020年10月7日に出願された米国出願第17/065,423号及び2020年5月8日に出願された米国仮特許出願第63/022,398号の優先権を主張し、これらの全ての内容は、その全体が引用により本明細書に組み込まれる。
【背景技術】
【0002】
コンピュータアニメーション及び他のコンピュータモデリングアプリケーションは、オブジェクト又はキャラクタの2次元(2D)又は3次元(3D)モデルと、これらの対応するプログラムされた又はキーフレーム化された動きとを組み合わせるものである。これらのモデルは、3次元座標系における幾何学的な頂点、面、及び辺から構成されている。コンピュータアニメーションの1つの形態は、3Dモデルをスケルトンに近似した変換階層に付加して、オブジェクト又はキャラクタの動きを表すことを含む。スケルトンは、オブジェクト又はキャラクタの境界を表すサーフェスメッシュで囲まれている。3D表面メッシュは、高い解像度を有し、メッシュの表面を構成する様々なサイズのポリゴン又は面を含むことができ、表面メッシュは、所望の結果を得るためにアニメーター又は他のオペレータによって要求されるように成形及び変形することができる。
【0003】
フィルム品質のキャラクタリグと、リアルタイム用途で設計されたリグを比較すると、メッシュ変形(mesh deformations)の品質に明らかな差異がある。リアルタイムリグは、計算機資源によって制約され、パフォーマンスとリアリズムをトレードされることが多い。フィルム品質のリグにはこのような制限がなく、キャラクターリガーは、リアルな変形を実現するために必要なだけリグを複雑にする可能性がある。
【0004】
具体的には、ビデオゲーム及びバーチャルリアリティなどのインタラクティブなアプリケーション用のキャラクタリグに含まれるディテールのレベルは、計算上の制約によって制限される(例えば、モバイルデバイスは、コンピュータサーバのネットワークよりも処理能力が低い場合がある)。このタイプのリグは、リアルタイムで実行する必要があり、従って、過度の遅延なしにユーザのインタラクティブ性をサポートするレートで評価できる必要がある。この制限のために、キャラクタリグは、高いレベルのリアリズムに欠けることが多い。一方、フィルム品質のキャラクタリグは、計算上の制約によって制限されず、そのメッシュの変形は、よりリアルに見えることができる。
【0005】
フィルム品質のリグは、より大きな計算能力を必要とするため、フィルム品質のキャラクタリグは、インタラクティブなアプリケーション向けではない。リグ評価の最適化と並列処理に多大な労力を費やすと、単一のフィルム品質リグが、ハイエンドのハードウェアでリアルタイムに動作可能にすることができる。インタラクティブアプリケーションのリアリズムを向上させるためには、これらの高品質なリグを使用することが望ましいが、計算量の多いリグをインタラクティブアプリケーションに直接プラグインすることは、インタラクティブなリアルタイム要件に起因して、現実的ではない。
【0006】
従って、既存のシステム及び方法は、リアルタイムアプリケーションで使用するためのフィルム品質のリグのためのメッシュ変形に必要な計算を低減する解決策を提供することができない。従って、リアルタイムアプリケーションで使用するためのフィルム品質のリグ(又は近フィルム品質のリグ)に対するメッシュ変形を決定することが有利である。
【0007】
更に、フィルム品質のキャラクタは通常、非常に複雑で表現力豊かな顔面変形(facial deformation)を表示す。キャラクタの顔面変形をアニメーション化するのに使用される基礎となるリグは、計算コストが高いことが多く、インタラクティブなレートでメッシュを変形させるためにハイエンドのハードウェアを必要とする。
【発明の概要】
【0008】
本開示の態様は、キャラクタの顔(又は頭部)のためのリグに向けられる。例えば、少なくとも1つの実施形態による、複雑なフィルム品質の顔面リグ(complex film-quality facial rigs)のためのディープラーニングベースの近似方法が開示される。開示された方法は、変形評価時間を大幅に低減させ、逆運動学(inverse kinematics)と共に使用するための微分可能モデル(differentiable model)を提供する。少なくとも1つの実施形態によれば、本方法は、キャラクタの顔のメッシュ変形を近似するために畳み込みニューラルネットワーク(CNN)を使用する。
【0009】
本開示の実施形態は、キャラクタの顔面リグ(character facial rigs)のメッシュ変形を近似するためのシステム及び方法を含む。本開示の実施形態は、フィルム品質のキャラクタリグの元の変形計算と比較して、評価時間の大幅な短縮につながる。本開示の様々な実施形態は、フィルム品質リグがリアルタイムのインタラクティブアプリケーションで近似できるように十分に計算を圧縮するキャラクタ顔面リグのための計算コストの低い近似を学習するデータ駆動型の手法を含む。
【0010】
少なくとも1つの実施形態によれば、顔モデル(facial model)のメッシュ変形を生成するための方法は、第1の複数のニューラルネットワークトレーニングモデル(neural network-trained models)を適用することにより第1の複数の変形マップ(deformation maps)を生成するステップと、第1の複数の変形マップに基づいて第1の複数の頂点オフセット(vertex offsets)を抽出するステップと、顔モデルのメッシュ変形を生成するために第1の複数の頂点オフセットを顔モデルのニュートラルメッシュに適用するステップとを含む。
【0011】
少なくとも別の実施形態によれば、顔モデルのメッシュ変形を生成するためのシステムは、1又は2以上のコントローラを含む。1又は2以上のコントローラは、第1の複数のニューラルネットワークトレーニングモデルを適用することにより第1の複数の変形マップを生成し、第1の複数の変形マップに基づいて第1の複数の頂点オフセットを抽出し、第1の複数の頂点オフセットを顔モデルのニュートラルメッシュに適用して顔モデルのメッシュ変形を生成するように構成されている。
【0012】
少なくとも別の実施形態によれば、機械可読な非一時的媒体は、顔モデルのメッシュ変形を生成するための機械実行可能命令を格納している。上記命令は、第1の複数のニューラルネットワークトレーニングモデルを適用することによって、第1の複数の変形マップを生成するステップと、第1の複数の変形マップに基づいて、第1の複数の頂点オフセットを抽出するステップと、第1の複数の頂点オフセットを顔モデルのニュートラルメッシュに適用して、顔モデルのメッシュ変形を生成するステップとを含む。
【0013】
少なくとも別の実施形態によれば、顔モデルの変形の近似を生成する方法は、第1の複数の頂点を第1のネットワークに提供して第1のリグパラメータポーズを生成するステップと、第2の複数の頂点を第2のネットワークに提供して第2のリグパラメータポーズを生成するステップと、リグパラメータポーズ及び第2のリグパラメータポーズを処理して合成リグパラメータポーズ(composite rig parameter pose)を生成するステップであって、合成リグパラメータポーズが顔モデルの変形の近似に対応する、ステップとを含む。
【0014】
本開示の上記及び他の態様並びに特徴は、添付図面を参照しながら、以下の実施形態に関する説明を考慮するとより明らかになるであろう。
【図面の簡単な説明】
【0015】
【
図1A】キャラクタモデルのメッシュを示す図である。
【
図1B】キャラクタモデルのメッシュを示す図である。
【
図2】本開示の実施形態に従って近似された変形を含む顔メッシュ変形のサイドバイサイド比較を示す図である。
【
図3】少なくとも1つの実施形態による近似モデルの図である。
【
図4A】1又は2以上の実施形態による粗い近似モデルのニューラルネットワークの一例を示す図である。
【
図4B】1又は2以上の実施形態による微細近似モデルのニューラルネットワークの一例を示す図である。
【
図5】少なくとも1つの実施形態による剛体近似の一例を示す図である。
【
図6】トレーニングデータからの例示的なポーズを示す図である。
【
図7】少なくとも1つの実施形態による逆運動学(IK)モデルの図である。
【
図8】少なくとも1つの実施形態による粗いモデリングの間に使用されるメッシュセグメントの例を示す図である。
【
図9】少なくとも1つの実施形態による微細モデリングの間に使用されるメッシュセグメントの例を示す図である。
【
図10】皺を含むキャラクタのポーズに対する近似変形を示す図である。
【
図11】正規誤差を可視化したサイドバイサイド比較を示す図である。
【
図12】幾つかの例示的な制御点構成に対するグランドトゥルースメッシュと近似変形のサイドバイサイドの比較を示す図である。
【
図13】録画からのフレームと、入力から結果として得られる変形メッシュを示す図である。
【
図14】粗い近似モデルの1つのメッシュセグメントを異なるトポロジーを有する新しいメッシュ上に転送する一例を示す図である。
【
図15】本開示の少なくとも1つの実施形態による方法を示すフローチャートである。
【
図16】本開示の少なくとも1つの実施形態による方法を示すフローチャートである。
【
図17】本開示の1つの実施形態に従って実装されたシステムの図である。
【
図18】本開示の1つの実施形態に従って実装された装置の図である。
【発明を実施するための形態】
【0016】
以下の詳細な説明において、本明細書の一部を構成し、本発明の特定の実施形態を例示的に示す添付図面について参照する場合がある。他の実施形態を利用することができ、本発明の範囲から逸脱することなく構造的、電気的、及び手続き的な変更を行うことができることは、本技術分野の当業者によって理解されるであろう。可能な限り、同じ要素を示すために図面全体を通じて同じ参照符号が使用される。
【0017】
本開示は、3Dアニメーションアプリケーションの関連で提示されるが、これに限定されず、2D又は3D座標系内の幾何学的モデルの変形、並びに幾何学的モデルの生産及び修正を伴う様々なインタラクティブ幾何学的モデリングアプリケーション(限定ではないが、リギング、アニメーション、建築、自動車デザイン、コンシューマー製品デザイン、仮想現実アプリケーション、拡張現実アプリケーション、ゲーム開発、視覚効果、3Dプリントなどを含む)における、本明細書に記載のシステム、メディア、及び方法の他の実装が企図される。本開示における、3Dモデル又は3D空間内の幾何学的モデル又はその構成要素へのいかなる言及も、2Dモデル及び2D空間に適用可能なものとして本開示を含むことが理解されるであろう。
【0018】
本開示において、用語「キャラクタ」、「オブジェクト」、又は「モデル」は、キャラクタ、風景、無生物物体、又は他の何れかの仮想、モデル化、及び/又はアニメーション化されたエンティティなどの、エンティティの一部又は全ての何れかの適切なコンピュータ表現又は幾何モデルを含むことができる。オブジェクトは、例えば、2D又は3D座標系における幾何学的な頂点、エッジ、及び/又は面から構成することができる。
【0019】
「点(point)」、「頂点(vertex)」、「エッジ」、又は「構成要素(component)」は、限定ではないが、2D又は3Dモデルの頂点、点、エッジ、及び面を含む、Dモデルの形状、動き、外観、及び/又は絶対的もしくは相対位置を決定するのに用いられる要素のセットの1つを含むことができる。点、頂点、エッジ、又は面のうちの1つに関する本開示の何れかの説明は、当業者によって理解されるように、適切な場合には、点、頂点、エッジ、又は面のうちの他のものにも同様に及び/又は類似的に適用されることが理解され、本開示内で別のものを上回って1つの用語を用いることは、使用される用語のみに限定するものとは見なされない。
【0020】
背景として、ほとんどのキャラクタリグは、モーションシステムと変形システムで設計される。モーションシステムは、あるポーズのリグパラメータをボーン及びジョイントから構成されるスケルトンにマッピングする役割を担っている。次に、変形システムは、入力ポーズに対するキャラクタの最終メッシュにスケルトンをマッピングする。
図1Aは、リグに構成することができる静止ポーズ、すなわち、この場合「T」ポーズの3Dキャラクタ100の一例を示している。リグは、アーティスト又は他のオペレータによる制御及びアーティキュレーションを可能にするポイントを提供するスケルトンボーン及びジョイントを含むことができる。
【0021】
図1Bは、
図1Aに描かれた3Dキャラクタに対応するキャラクタメッシュ101の点、すなわち頂点の一例を示す図である。
図1Bに示すように、メッシュの隣接する頂点は、多くの場合、グループ化され、スケルトンの同じボーンに割り当てられることになる。更に、より多くの頂点102、すなわちメッシュのより広い領域をカバーする頂点は、アーティキュレーションのディテールが少ないスケルトンの大きなボーン(例えば腕及び脚の大きな骨)に割り当てることができ、一方、より少ない頂点103、すなわちメッシュのより小さな領域をカバーする頂点は、アーティキュレーションのディテールが多い小さなボーン、例えば手首、手、及び指の小さなボーンに割り当てることができる。
【0022】
フィルム品質のキャラクタは、通常、非常に複雑で表現力豊かな顔面変形を示す。キャラクタの顔(又はより一般的にはキャラクタの頭部)の変形をアニメーション化するのに使用される基礎となるリグは、多くの場合、計算コストが高く、インタラクティブレートでメッシュを変形させるためにハイエンドのハードウェアを必要とする。少なくとも1つの実施形態に従って本明細書に開示されるのは、キャラクタの顔のメッシュ変形を近似するためのニューラルネットワークを使用する方法である。少なくとも1つの特定の実施形態によれば、このようなニューラルネットワークの1又は2以上は、畳み込みニューラルネットワーク(CNN)とすることができる(又は、これを含むことができる)。テストされたモデルについて、近似は、元のリグに対して高レベルの忠実度を維持しながら、元の顔のリグよりも最大で17倍速く実行することができる。
【0023】
また、少なくとも1つの実施形態によれば、細かい皮膚の皺などの高周波の変形を処理する近似への拡張も開示される。オリジナルのアニメーションリグの実装は、専用ライブラリの広範なセットに依存し、社内開発環境の外でインストールするのが困難になるが、開示される実施形態による近似は、広く利用可能で且つ容易に配備されるTensorFlow(テンソルフロー)ライブラリに依存することができる。より適度なハードウェア及び広範囲のコンピューティング環境での高フレームレート評価を可能にすることに加えて、大きな速度の向上はまた、アニメーションリグ上でのインタラクティブな逆運動学も可能にする。手法及びその適用性は、インタラクティブなキャラクターポージング及びリアルタイムの顔面パフォーマンスキャプチャを通じて実証されることになる。
【0024】
ビデオゲーム及び他のリアルタイムアプリケーションのためのキャラクタ顔面リグは、多くの場合、ボーン又はブレンドシェイプのセットによって制御される。これらのリギングは、迅速に計算できるが、一般的には、速度のために細かいディテールを犠牲にしている。このようなリアルタイムリグで微妙な差異の変形を表現することは困難であり、多くの場合、基礎となるリグに加えて計算レイヤーを追加する必要がある。メッシュ変形におけるディテールレベルを高めるためにこのように追加されるものとして、ポーズ空間変形及びリンクルマップが挙げられる。しかしながら、これらの改善にもかかわらず、フィルム品質の顔面リグのディテールレベルは、リアルタイムリグと比較すると、明らかに優れている。フィルム品質の顔面リグがより洗練されたメッシュ変形を含む主な理由は、同じリアルタイム要件によって制約されないことに起因する。
【0025】
フィルム用の顔面リグは、リアルで表情豊かなメッシュ変形を作成するために、相当量の計算を必要とする。これらの顔面リグは、ハイエンドマシンで評価した場合、10~30FPS(frames per second:フレーム/秒)のレートで動作する可能性があり、コンシューマーレベルのデバイスでは、もっと遅く動作することになる。更に、アニメスタジオのような事業体は、通常、社内のリギングソフトウェアを開発し、この上でキャラクタを開発している。このようなリグは、カスタムアニメーションエンジンに限定されており、社内のソフトウェア以外で使用するためにキャラクタを移植することは、困難で時間がかかる可能性がある。このため、フィルム品質のキャラクタは、計算量の制限及び移植性に起因して、設計されるフィルム以外で使用されることはほとんどない。
【0026】
フィルム品質のキャラクタリグのボディ変形を近似する方法が提案されている。しかしながら、その方法では、基礎となるスケルトンを用いて変形を近似している。ボディリグとは異なり、顔面リグは、変形近似に利用できる広範囲なスケルトン構造を有していない。例えば、鼻、目、又は口の周りの領域に対応するものなどの顔の特徴は、利用できる広範なスケルトン構造を有していない場合がある。
【0027】
本開示の態様は、この制限に対処することに向けられる。例えば、少なくとも1つの実施形態によれば、顔メッシュの変形を近似するための方法が開示される。近似は、皮膚、口内部、歯、及び他の構造を含む、顔メッシュの変形を正確に計算する。近似は、顔メッシュに見られる変形の種類を利用するために、ニューラルネットワークを使用することができる。例えば、CNNは、採用され得るニューラルネットワークの一種である。しかしながら、他のタイプのニューラルネットワークが使用することができることが理解される。本方法は、第1の近似(例えば、粗い近似)、追加の近似(例えば、微細近似)、及び更に別の近似(例えば、メッシュの剛性成分に対する近似)の3つの別々の部分で変形を計算することができる。この方法は、テストされたプロダクションリグよりも最大17倍速く実行しながら、メッシュの高周波のディテールを保持することができる(
図2参照)。
【0028】
図2は、少なくとも1つの実施形態による粗い近似を使用(
図2(c)参照)、少なくとも1つの実施形態による微細近似を使用(
図2(b)参照)、並びに線形ブレンドスキニング(LBS)により生成された近似を使用(
図2(d)参照)した、それぞれの顔メッシュ変形のサイドバイサイド比較を示している。LBSのような技術は、各頂点に適用されるスケルトンのボーン変換の加重和として、静止ポーズからのメッシュの変形を計算する。しかしながら、これらの変形は、「キャンディラッパー(candy wrapper)」問題として知られるボリュームロスの影響を受ける可能性があり、例えば、皮膚の滑り、筋肉の膨らみ、布の皺など、これらの技術では実現できない特定の変形が存在する。
【0029】
図2(a)は、無制限の(又は広範な)時間資源が与えられた高性能計算ハードウェアを利用してフルメッシュ関数を計算することによって達成される最終変形を示し、この議論の目的のために、「元の変形関数(original deformation function)」又は「グランドトゥルース」変形(“ground truth” deformation)と呼ばれる場合がある。
図2(a)の「グランドトゥルース」変形と比較して、第2の行に示される最も顕著な違いは、メッシュの鼻領域の周りで観察することができる。
【0030】
前述のように、少なくとも1つの実施形態による近似モデルは、オープンソースの機械学習ライブラリであるTensorFlowで実装することができ、これにより、顔面リグは、キャラクタをオーサリングするのに使用される元のリギングソフトウェアの独自の制限を超えることができ、モデルをより多様なデバイス及びアプリケーション上に展開することができる。更に、リグ近似は、追加の手間なしで、CPUとGPUの両方でより容易に評価することができる。本明細書に開示されるモデルは、ニューラルネットワークベースとすることができるので、対応する近似は、完全微分可能である。この特性(又は態様)の有用性は、逆運動学ベースのポージングアプリケーション及び顔面パフォーマンスキャプチャシステムを開発することによって実証される。
【0031】
アニメーションのキャラクタのための顔面変形システム(facial deformation systems)は、その方法と複雑さにおいて大きく異なる。多くの場合、顔モデルは、複数の変形方法を組み合わせて最終的な結果を得ている。このような状況下において、変形を計算する最も単純で高速な方法の1つは、基礎となるスケルトンに基づくものである。スケルトン部分空間変形(SSD)は、線形ブレンドスキニング(LBS)とも呼ばれ、その単純さと速度に起因して人気がある。キャンディラッパー効果を含む、SSDのよく知られた欠点があることに起因して、マルチウェイトエンベロープ及びデュアルクォータニオンスキニングなどの改良が研究されており、これにより評価速度に顕著な影響を与えることなく品質を向上させる。このクラスの手法は、キャラクタの身体の基本変形システムとして用いられることが多いが、キャラクタの顔をリギングする他の方法と組み合わせられることが多い。顔面変形システムとしてより一般的な手法は、アーティストが作成した顔の表情のセットを線形的に組み合わせるブレンドシェイプである。この手法もまた、評価が早いが、フィルム品質のキャラクタリグには、それ自体では限界があり、アニメーションのフレームごとに数百のブレンドシェイプをキーイングする必要がある。顔モデルを構築する別の手法は、よりリアルでリアルなポーズの生成を容易にするために、物理ベースの変形による。複雑な顔モデルでは、これらの技術及び他の技術を全て組み合わせることができるが、これは一般的に高コスト及び低評価速度という結果を招く。
【0032】
リアルタイムアプリケーションでは、あまり大きな計算コストを生じさせることなく、ディテールを保持する顔変形モデルを構築することが必要とすることができる。1つの手法は、SSdを用いてベース変形を計算し、モデルを学習してベースの上に適用される皺のような高忠実度の非線形なディテールを計算するハイブリッド手法でポーズ空間変形を利用する。物理ベースの変形を効率的に計算するために、1つの手法は、プロダクション品質のキャラクタリグでリアルタイムの結果に対してリグ空間物理を改良する。これらの手法は、その上に構築されるシステムに対して、高いパフォーマンスを達成するのに十分とすることができる。しかしながら、本開示の少なくとも1つの態様は、複雑なキャラクタリグを最適化する必要なく、低電力ハードウェア上で変形モデルを計算するのが遅い可能性がある、既存の高品質リグのための効率的な表現を見出すことに向けられている。
【0033】
例示的なポーズのセットが与えられた既存の変形モデルを近似するために、様々な手法が存在する。これらの手法の多くは、変形関数のより計算効率の良い表現を構築することを目的としている。スキニング分解法の1つは、例示的なポーズのセットが与えられたときに、スケルトン部分空間変形モデルに対するボーン変換及びスキンウェイトを求めている。同様に、別の手法もまた、変形のSSD表現を見つけているが、その後のアニメーションが容易になるようにスケルトン階層で編成されている。別の手法は、制御点によるアニメーション化を行うために、例示的なデータからSSDを介してスキニングメッシュを学習する。先に説明した理由により、ボーンベースの変形システムは、顔面変形を表現するのに最適な方法ではない。従って、このような方法だけでは、本明細書で検討される少なくとも幾つかの態様に関して適切ではない。
【0034】
球-メッシュ(Sphere-Meshes)は、メッシュアニメーションをアニメーション化された球のセットに分解し、これはアニメーションのために後でキーフレーム化することができる。この手法はまた、微細なディテールを表現することが困難であることに起因して、高品質のキャラクタアニメーションには不向きである。また、顔面アニメーションに特異的に標的とした別の手法では、例示的なポーズからブレンドシェイプのような新しいパラメトリックリグモデルを学習する。別の手法は、リグの外観が記録された俳優の外観に密接に一致するように統計的なモデルに基づいた顔面リグを作成する。これらの方法は全て、元のリグに存在するものとは異なる制御を有する完全に新しいリグ表現を学習する。本開示の少なくとも1つの態様は、既存の顔面リグを近似し、アーティストが制御パラメータを再学習する必要がないように、同じ制御を維持することに向けられている。
【0035】
既存のリグ関数を近似しようとする過去の研究は、多くの場合、基礎となるブレンドシェイプモデル又は基礎となるスケルトン構造を仮定しているが、少なくとも1つの実施形態によれば、出願人らの方法は、顔面リグに関してこのような強い仮定をしない。EigenSkinは、例示的なメッシュから構築された誤差最適なポーズ依存変位ベースを介してGPU上で高忠実度の非線形変形を効率的に計算する。この手法は、所与のリグの基礎となるSSD表現を仮定し、これをその計算で使用する。1つの手法では、既存のSSDリグからジョイントを追加した拡張SSDスキニングモデルを学習する。1つの手法では、基礎となるスケルトンを仮定し、その上に微細なディテール非線形変位が重ね合わされるベースとして、スケルトンの変形を使用する。少なくとも1つの実施形態によれば、変形モデルは、スケルトン系の仮定を必要とせず(又は他の方法で利用せず)学習され、これは、複雑な顔面リグに適切である。
【0036】
リアルタイムでの顔面リグの逆運動学(IK)をサポートするために、制約のセットが与えられたキャラクタのポーズを計算するために、リグ関数の効率的且つ正確な逆数が必要とすることができる。コンピュータアニメーション及びロボット工学では、逆運動学は、運動学的連鎖(例えば、ロボットマニピュレータ又はアニメーションキャラクタのスケルトン)の終端を、連鎖の始端に対して所与の位置及び向きに配置するのに必要な可変ジョイントパラメータを計算する数学的プロセスを指す。このようなジョイントパラメータに基づいて、チェーンの端部(例えば、キャラクタ又はロボットの手)の位置と向きは、通常、三角関数の公式を複数回適用して直接計算することができる。このプロセスを順運動学と呼ぶ。しかしながら、一般に、逆の操作(すなわち、逆運動学)は、より困難とすることができる。
【0037】
逆運動学はまた、世界の中の物体の動きを、その動きのフィルム、又はその動きをしているカメラによって見た世界のフィルムなど、他の何れかのデータから復元するのに使用される。例えば、人間の俳優の撮影された動きをアニメーションのキャラクタによって複製される場合に生じる。
【0038】
顔面リグの複雑さに起因して、IK問題に対する従来の解決策は、微分可能なリグ関数が必要となるため、フィルム品質の顔モデルに容易に適用できない。ランドマークからブレンドシェイプパラメータを計算する研究がある。しかしながら、本開示の態様は、任意のブラックボックスリグ関数の反転を可能にすることを求めることに向けられている。
【0039】
この問題に対する解決策が検討されてきた。1つの手法は、反復最適化手法を利用するが、しかしながら、この手法は、ポーズ空間変形リグの反転を最適化するように設計されているため、完全にリグを無視するわけではない。また、別の手法では、2つの非線形手法を用いて、ブラックボックス化したリグ関数の反転に成功した。ガウス過程回帰及びフィードフォワードニューラルネットワークである。これに対して、本開示の少なくとも1つの態様は、ディープラーニング法を使用して元のリグ関数を近似することに向けられている。ニューラルネットワークに起因して、リグ関数の勾配は、リグ近似を通じて推定することができ、その後、逆リグ関数を推定するのに使用することができる。
【0040】
深層畳み込み法は、データ駆動型メッシュ回帰問題のために開発されてきた。これらの手法は、顔の復元及び顔面アニメーションから布のシミュレーションに至るまで、深層ニューラルネットワークのパワー及び柔軟性を活用したものである。CNNをメッシュに適用する1つの方法は、メッシュ畳み込み演算を定義することに基づく。1つの手法では、グラフ畳み込みオートエンコーダを導入し、別の手法では同様のアイデアで3Dの顔を生成している。MeshCNNは、三角形メッシュに対して特化した畳み込み演算及びプーリング演算を定義している。本開示の少なくとも1つの態様は、効率の向上を中心としているため、このようなメッシュ畳み込みを使用すると、この点で計算量が多すぎることになる。従来のCNNは、2D画像及び特徴マップ上で動作する。これらのモデルを用いて3D変形を再構成するためには、特徴マップ空間と頂点位置との間にマッピングを作成する必要がある。1つの手法は、メッシュを小さな局所エリアの周りにパラメータ化することにより、畳み込みを適用する。1つの手法は、球面ドメインにメッシュを投影し、この投影を「切り取る」ことによってCNNを適用する。他の手法では、テクスチャ座標(又はUV座標)を用いて、頂点位置を2D空間にマッピングする。このようにして、ネットワークは、2次元の特徴マップを予測することを学習するが、3次元座標を表現する。畳み込みニューラルネットワークは、頂点位置の空間コヒーレンスが変換空間において保持されることに起因して成功を収めている。他の手法では、透視投影又はスキャンからUVマップを生成している。出願人らの手法の少なくとも一態様は、完全なキャラクタリグを想定しているので、本明細書に開示される様々な実施形態は、アーティストによって作成されたUVマップ(又はUV座標)を使用して、2D特徴空間から頂点位置を計算する。
【0041】
ここで、本開示の様々な実施形態の特徴についてより詳細に説明する。
【0042】
ポリゴンメッシュを有するキャラクタの顔面リグが与えられると、|V|=n個の頂点を有するメッシュにおける頂点座標の集合をVとする。pがキャラクタのリグパラメータを表し、パラメータを変形メッシュにマッピングするリグ関数をV=r(p)とする。本開示の少なくとも1つの実施形態は、このリグ関数r(p)を近似することに向けられている。
【0043】
少なくとも1つの実施形態によれば、近似の方法は、顔メッシュのアーティストが作成したテクスチャ座標
【数1】
を利用する。近似は、入力リグパラメータが与えられて変形マップを生成する、CNNに依存することができる。
【0044】
少なくとも1つの実施形態によれば、変形マップは、情報の3つのチャンネルを有する構成物(例えば、3D画像)である。説明の目的のために、変形マップは、3チャンネルの色情報を有するカラー画像と同様であると考えることが有益とすることができる。例えば、特定のピクセルについて、このようなカラー画像は、赤色色情報、緑色色情報、及び青色色情報を有することができる。同様に、少なくとも1つの実施形態によれば、変形マップは、特定の頂点について、x座標情報、y座標情報、及びz座標情報を有する。x座標情報、y座標情報及びz座標情報は、変形マップに対応する3D画像における頂点の位置に関するものである。
【0045】
このように、変形マップは、複数のピクセル(例えば、3D画像の各ピクセル)の各々について、x座標情報、y座標情報、z座標情報を保持する。メッシュの頂点に関して、特定の頂点の位置は、変形マップ内の何れかの特定のピクセルの位置と必ずしも一致しない可能性がある。従って、少なくとも1つの実施形態によれば、変形マップに基づいて頂点の位置を決定するために、その頂点に対応するテクスチャ座標を使用することができる。一例として、特定の頂点のテクスチャ座標を用いて、変形マップをサンプリングして、特定のピクセル(例えば、隣接するピクセル)を識別することができる。例えば、テクスチャ座標に基づいて、特定の頂点が、変形マップの2つの特定のピクセルのそれぞれの位置の間(例えば、中間の位置)に位置すると決定することができる。頂点の位置を決定するために、変形マップにおけるピクセル情報の加重和(例えば、2つのピクセルのx座標情報の加重和、2つのピクセルのy座標情報の加重和、2つのピクセルのz座標情報の加重和)を用いて、メッシュにおける頂点の位置に対するオフセットを決定することができる。
【0046】
従って、変形マップは、メッシュ内の頂点位置を近似するために、テクスチャ座標でサンプリングされる。顔面リグの多くのパラメータは、メッシュの局所領域を変形させ、リグパラメータはメッシュに対する局所演算として見ることができる。設計上、CNNは、特徴マップに対して局所的な計算を行う。メッシュの局所的な情報がテクスチャ座標に保存されていると仮定すると、CNNはリグ関数を近似するのに最適な方法である可能性がある。
【0047】
少なくとも1つの実施形態によれば、顔モデルの近似メッシュ変形を生成する方法は、粗い近似と微細な近似の2つの段階を含む(
図3参照)。
図3は、少なくとも1つの実施形態による近似モデルの図である。リグパラメータ302は、1又は2以上のメッシュセグメントの各々について変形マップを生成するニューラルネットワーク(例えば、畳み込みニューラルネットワーク)への入力として使用される。例えば、リグパラメータ302の1又は2以上は、変形マップ306を生成する1又は2以上の粗い近似モデル(coarse approximation models)304の畳み込みネットワークに入力される。別の例として、リグパラメータ302の1又は2以上は、変形マップ326を生成する微細近似モデル324における畳み込みネットワークに入力される。一態様において、リグパラメータ302は、モデルそのものではなく、モデルに影響を与えて変形マップを生成するのに使用される入力である。例えば、リグパラメータ302は、唇、眉毛、鼻などにおける動きを制御するための入力を含むことができる。
【0048】
変形マップの各々について、テクスチャ座標空間における各頂点位置で変形マップの補間(interpolation)を行うことにより、頂点オフセットを抽出することができる。例えば、バイリニア補間(bilinear interpolation)を採用することができる。少なくとも1つの実施形態によれば、粗い近似モデル304によって生成された変形マップ306の各々に関して、頂点オフセットは、テクスチャ座標空間内の各頂点位置における変形マップのバイリニア補間を行うことによって抽出される。先に説明したように、特定の頂点は、変形マップ(例えば、変形マップ306の1つ)の2つのピクセルのそれぞれの位置の間(例えば、中間の位置)に位置することができる。頂点の位置を決定するために、変形マップ360のピクセル情報の加重和を使用することができる。例えば、2つのピクセルのx座標情報の平均、2つのピクセルのy座標情報の平均、及び2つのピクセルのz座標情報の平均は、メッシュ内の頂点位置のオフセットを決定するのに使用することができる。
【0049】
加算器310において、抽出されたオフセットがメッシュ312の中立ポーズの頂点に加えられ、所望の変形に到達する。
【0050】
バイリニア補間は、頂点オフセットを抽出するために採用され得る補間の形態の一例であるに過ぎない。他の形式の補間(例えば、キュービック補間)が採用され得ることは理解される。
【0051】
粗い近似モデル304は、メッシュ312全体に対して動作することができる。対応する実行時間を短縮するために(例えば、粗い近似モデルがより速く実行されるように)、粗い近似モデル304は、低解像度の変形マップ(例えば、比較的低い解像度によって特徴付けられる変形マップ306)を出力する複数のCNNを含む。その結果、変形の高周波のディテールが失われる可能性がある。
【0052】
ディテールにおけるこのような損失に対処するために、少なくとも1つの特定の実施形態によれば、近似されたメッシュ変形は、微細近似モデル324を更に含む。微細近似モデル324は、より高い解像度の変形マップ(例えば、変形マップ306の解像度よりも高い解像度によって特徴付けられる変形マップ326)を出力するCNNを含む。以下により詳細に説明するように、変形マップ326は、メッシュ312の全ての領域よりも少ない領域に適用される。例えば、変形マップ326は、メッシュ312の選択された領域のみに適用することができる。
【0053】
例えば、微細近似モデル324によって生成された変形マップ326の各々に関して、テクスチャ座標空間における各頂点位置で変形マップの補間を実行することによって、頂点オフセットが抽出される。一般に、変形マップ326の構造は、変形マップ306を参照して先に説明した構造と同様とすることができる。同様に、変形マップ326に基づく頂点オフセットの抽出は、変形マップ306を参照して先に説明したものと同様とすることができる。また、変形マップ306を参照して先に説明したように、補間は、バイリニア、キュービック、又は他の適切な形式の補間とすることができる。この点に関して、多くても、全アクティブ頂点の特定のサブセット308を使用することができる。加算器314では、抽出されたオフセットが加算器310の出力に加えられる。加算器314の出力において、変形メッシュ316の頂点が提供される。
【0054】
従って、微細近似モデル324は、メッシュ312の頂点の緻密領域のみに着目して、これらの高周波の変形を近似することができる。モデルの効率を更に向上させるために、少なくとも1つの更なる実施形態によれば、リグ関数内で剛体回転及び並進のみを受けるメッシュのセグメントが識別される。このような識別されたセグメントは、より複雑なCNN近似(例えば、粗い近似モデル304のCNNベースの近似及び微細近似モデル324のCNNベースの近似)の代わりに、より速い剛体近似で近似することができる。
【0055】
図3は、粗い近似モデル304及び微細モデル324を含む近似モデルを示しているが、近似モデルは両方を含む必要はないことが理解される。例として、少なくとも1つの実施形態によれば、近似モデルは、1又は2以上の粗い近似モデル304を含むが、微細モデル324に類似するモデルを含まない。
【0056】
ここで、粗い近似モデル304について、少なくとも1つの実施形態を参照してより詳細に説明する。顔メッシュ(例えば、
図3のメッシュ312)は、複数のセグメントに分割することができ、これは、アーティストが作成した顔面リグによく見られることである。メッシュの各頂点は、1つのメッシュセグメントに割り当てられる。このように、各頂点は、1つのメッシュセグメントに割り当てられる。mは、メッシュセグメントの総数を示し、V
k及びU
kは、それぞれ、特定のメッシュセグメントkに対する頂点位置の集合及びテクスチャ座標の集合を示す。本明細書では、複数のメッシュセグメントを有するメッシュを参照して特徴を説明するが、粗い近似モデル304は、セグメント化されていない顔面リグ上で動作することもできることは理解される。この状況では、mは1に等しく、メッシュ全体の全ての頂点は、ただ1つのセグメントに割り当てられることになる。
【0057】
粗い近似モデル304は、最初に変形マップ306を生成することによって変形メッシュを計算することができ、ここで、1つの変形マップ306は、顔面リグ内の各メッシュセグメントに対して生成される。その後、頂点位置は、マップに基づいて計算することができる。メッシュセグメントkについて、対応する関数I
k=f(p;θ
k)は、リグパラメータp(例えば、リグパラメータ302)を所与として、メッシュセグメントについて変形マップを計算する。関数fは、複数の緻密層(dense layers)及び畳み込み層(convolutional layers)からなるニューラルネットワーク(例えば、CNN)とすることができ、ニューラルネットワークは、θ
k(
図3参照)によってパラメータ化することができ、ここでθ
kは、メッシュセグメントkに対する最適モデルパラメータを表す。
【0058】
図4Aは、少なくとも1つの実施形態による粗い近似モデルのニューラルネットワークの一例を示す図である。
図4Aを参照すると、ニューラルネットワークは、緻密層402-1及び402-2と、畳み込み層404-1、404-2、404-3及び404-4とを含む。畳み込み層404-1、404-2及び404-3は3x3カーネル(3x3 kernels)を使用し、最後の畳み込み層(畳み込み層404-4)は1x1カーネルを使用する。最後の畳み込み層以外の全ての層は、リーキーなReLU活性化関数を使用し、最後の層には活性化関数は適用されない。非緻密層は全て画像平面において正方形である。
【0059】
アップサンプリング(upsampling)は、最近傍補間によって達成することができる(
図3参照)。頂点オフセットΔ
kは、テクスチャ座標U
kにてI
kによって計算された変形マップをサンプリングすることによって計算される。サンプリングは、△
k=g(I
k;U
k)と表され、頂点オフセットを出力(又は生成)する。各頂点は、単一のメッシュセグメントに割り当てられるので、フルメッシュの頂点オフセットは、△=∪
k∈{1,...,m}△
kであるように、各セグメントに対するオフセットを連結することによって得ることができる。
図3を引き続き参照すると、粗い近似は、メッシュ312の中立ポーズの頂点に頂点オフセットを加える(例えば、加算器310で)ことによって、メッシュの最終頂点位置を計算する。
【0060】
近似モデルが与えられると、最適なモデルパラメータθkを見つけるために、損失関数が定義される。少なくとも1つの実施形態によれば、近似された頂点位置における不正確さと、メッシュ上の顔面法線における不正確さの両方をペナルティとする損失関数が提案される。ターゲットメッシュV、及び近似された頂点オフセット△が与えられると、損失関数は、式(1)において以下のように定義することができる。
【数2】
ここで、α
nは、ユーザが手動で調整することができるスケーリングファクターである。実験データに基づいて、α
n=5のスケーリングファクターがうまく機能すると決定された。
【0061】
式(1)の損失関数において、n
iはメッシュVにおける面iの法線を示し、
は頂点位置V
0+△とメッシュトポロジーにおける合計f個の面を有する近似メッシュにおける面iの法線を示している。L1ロスは、より鮮明な特徴を生成する理由からL2ロスの代わりに使用される。リグパラメータ(例えば、
図3のリグパラメータ302)から頂点オフセットの端部から端部へのマッピングは、中間変形マップの監視を必要とせずに学習される。更に、少なくとも1つの実施形態によれば、テクスチャ座標は、最適化されない。その代わりに、アーティストが作成した座標が信頼される。
【0062】
粗い近似に関して、特定のメッシュのためのメッシュセグメントの例は、
図8を参照して、後でより詳細に説明する。
【0063】
粗い近似モデルは、別々のメッシュセグメント上で動作するので、モデルは、特定のメッシュセグメント間の境界及び/又は継ぎ目にわたって不連続性を生成する可能性がある。この潜在的な問題に対処する(例えば、最小化する)ために、誤差関数(例えば、式(1)の損失関数)は、不正確な面法線に強いペナルティを科し、メッシュセグメント境界に沿って滑らかな(又はよりスムーズな)結果を促すことができる。法線誤差にペナルティを与えることはまた、視覚的に邪魔又は気が散らす可能性のある低振幅、高周波の誤差を抑制する。
【0064】
少なくとも1つの実施形態によれば、モデルのトレーニングを支援するために、各ネットワークは、リグパラメータのサブセット(例えば、リグパラメータのサブセット302)のみを備えることができる。サブセットは、近似されているメッシュセグメント内の何れかの頂点を変形させることができるリグパラメータ全てを含む。他の全てのリグパラメータ(例えば、出力に影響を与えない入力)は、ネットワークに入力されるパラメータから除外される。その結果、ネットワークは、どのパラメータを無視すべきかを学習する必要がなく、出力に影響を及ぼさない入力によって提供される(又は関連する)ノイズによって悪影響を受けることを回避することになる。
【0065】
粗い近似モデルでは、計算の複雑さを低減するために、変形マップIkの解像度を意図的に小さく(又は比較的低く)維持している。しかしながら、テクスチャ座標空間において、メッシュの緻密領域の頂点は、小さな変形マップにおいて1ピクセル未満の間隔で離れて配置される(又は間隔をあける)ことができる。このような頂点に、肌の皺のような高周波の変形が生じた場合、粗い近似モデルでは、この変形を正確に再現できない可能性が高い。このような状況におけるボトルネックは、CNNによって出力されるマップ(例えば、粗い近似モデル304によって出力されるマップ306)の解像度である。この制限に対処するために、少なくとも1つの実施形態によれば、メッシュの特定の領域(例えば、頂点の緻密領域)に独占的に焦点を合わせるための微細モデル(例えば、微細近似モデル324)が提案される。
【0066】
ここで、微細近似モデル324について、少なくとも1つの実施形態を参照してより詳細に説明する。
【0067】
最初に、近似における大きな(又はより大きな)誤差の領域に対応する頂点のセットが識別される。微細モデルのための頂点選択については、後でより詳細に説明する。次いで、識別された各セットは、新しいメッシュセグメントとして定義される。このような新しいメッシュセグメント内の各頂点について、テクスチャ座標は、微細変形マップ(例えば、微細近似モデル324によって生成されたマップ326)の最大解像度を満たすようにスケーリングされる。粗い近似モデルと同様に、どの頂点も複数のメッシュセグメント(例えば、微細近似の目的のために定義される複数の新しいメッシュセグメント)に割り当てられることはない。
【0068】
更に、メッシュ(例えば、
図3のメッシュ312)の全ての頂点が、微細段階を参照して新しいメッシュセグメントに割り当てられるわけではない。例えば、高い近似誤差を有するメッシュの領域に位置する頂点のみが、新しいメッシュセグメントに割り当てられる。
【0069】
図4Bは、少なくとも1つの実施形態による微細近似モデルのニューラルネットワークの一例を示す図である。
図4Bを参照すると、ニューラルネットワークは、緻密層412-1及び412-2と、畳み込み層414-1、414-2、414-3、414-4、414-5及び414-6と、を含む。畳み込み層414-1、414-2、414-3、414-4、414-5は3x3カーネルを使用し、最後の畳み込み層(畳み込み層414-6)は1x1カーネルを使用している。最後の畳み込み層以外の全ての層はリークReLU活性化関数を使用し、最後の層には活性化関数は適用されない。非緻密層は全て画像平面上で正方形である。
【0070】
m′は微細段階における新しいメッシュセグメントの数を示し、U
k′は特定の新しいセグメントk′のための新しいテクスチャ座標を示す。粗い近似モデルに関して先に使用した表記法と同様に、新しいメッシュセグメントk′に対する微細近似モデルのサンプリングは、δ
k′=g(f(p;θ
k′
r);U
k′′)と表すことができ、θ
k′
rは、新しいメッシュセグメントk′に対する最適モデルパラメータを示している。出力δ
k′は、新しいメッシュセグメントk′に関するメッシュ(例えば、
図3のメッシュ312)内の頂点位置と粗いモデルの出力との間の残差を近似している。新しいメッシュセグメントの何れにも含まれない頂点については、微細近似はゼロに等しいと見なしてもよく、この微細近似のセットは、δ
m′+1=0として定義することができる。粗い近似モデル(△として表記)においてフルメッシュについて得られた頂点オフセットと同様に、δは、出力の結合セットδ
k′を表すために使用することができる。微細モデル324は、粗い近似モデルを参照して先に説明したものと同じ(又は同様の)損失関数を使用してトレーニングことができ(式1参照)、ここで損失はL(V,△+δ)として評価される。
【0071】
微細近似に関して、特定のメッシュのための新しいメッシュセグメントの例は、
図9を参照して後でより詳細に説明する。
【0072】
少なくとも1つの実施形態によれば、微細モデルは、粗いモデルによって生成される変形マップに対してより高い解像度を特徴として備える変形マップを生成する。代替的に、メッシュ全体にわたってより高い解像度の微細モデルのみを適用し、粗い近似の使用を見送ることによって、全体の近似を実行することができる。しかしながら、メッシュ全体にわたって微細モデルを適用することは、解像度のグローバルな増加のため、及び微細モデルがより深いネットワークを使用するため(例えば、
図4Bに例示される微細モデルにおけるより多くの畳み込みネットワークを参照)、はるかに高い計算コストになるであろう。
【0073】
次に、微細モデルのための頂点選択について、少なくとも1つの実施形態を参照してより詳細に説明する。
【0074】
微細化(refinement)に使用される頂点セットを識別するために、粗い変形マップの解像度及び各メッシュセグメントのテクスチャ座標を所与として、各頂点の最小近似誤差を推定することができる。次に、各頂点の近似誤差の推定値で重み付けを行い、テクスチャ座標のクラスタリングを行う。各クラスタに近い頂点は、微細モデルの対応するメッシュセグメントとなる。一方、クラスタセントロイドから遠い(又は遠い)位置にある頂点は、微細ステージから省かれる。
【0075】
最小の近似誤差は、最初に頂点位置をテクスチャ座標を通して変形マップにマッピングし、次に頂点位置を生成するために座標で変形マップをサンプリングすることによって推定することができる(サンプリングされた頂点位置)。マップは、テクスチャ座標からピクセル座標の値を補間することにより、線形カーネルを有するポリハーモニック補間によって計算することができる。頂点位置は、変形マップからバイリニア補間によって計算される。viは元の頂点位置を表し、
は変形マップからサンプリングされた頂点位置を表すことができる。n個のサンプル集合Vi={v
i
1,v
i
2,...,v
n
i)に対して、近似誤差は以下の式(2)で表されるように推定することができる。
【数3】
【0076】
次に、k-meansクラスタリングは、対応する近似誤差eiで重み付けした各頂点でテクスチャ座標に対して行う。クラスタ数は、エルボー法(elbow method)で決定することができる。ここで、各頂点は、ユーザが指定した距離まで最も近いクラスタセントロイドに割り当てられる。実施された実験では、頂点は、元のテクスチャ座標空間の幅の1/4の長さを有する正方形内に割り当てられ、クラスタ平均を中心にされた。この手法は、テストされたキャラクタに対してうまく機能した。粗い近似と同様に、これらの新しいメッシュセグメントに含まれる何れかの頂点を変形させることができるリグパラメータのセットを計算することができる。各微細モデルには、それらの特定の入力パラメータのみを提供することができる。
【0077】
次に、計算量の少ない剛体近似の特徴について、少なくとも1つの実施形態を参照して説明する。
【0078】
キャラクタの顔において、個々の歯のような剛体的に動くメッシュのセクションが存在することができ、ここで、所定の歯の頂点は、単一のユニットとして一緒に動くと考えることができる。テストしたキャラクタでは、各歯を個別のセグメントとしてモデル化した。リグにおける各歯の変形は、回転及び並進として表せるので、各歯のCNNモデルで線形変換を近似すると、不要な計算が発生することになる。その代わりに、
図5に示されるように、近似されたメッシュの近くの頂点から線形変換を計算することによって、剛体移動を推定することができる。
【0079】
図5は、少なくとも1つの実施形態による剛体近似の一例を示す図である。三角形502は、剛体メッシュセグメント(rigid mesh segment)、例えば、後で提示される式(3)によって識別される剛体メッシュセグメントを表す。線504は、非線形に変形したメッシュセグメントを表し、線504上のドットは、表面上の頂点を表す。特に、ドット506は、例の大きなセットにわたって三角形502の剛体変換に最もよく一致する式(4)により識別される頂点のセットを表す。変形ポーズにおける非線形セグメント504上の頂点の位置と同様に、静止ポーズが与えられると、変換R、tは、ドット506によって表される頂点から計算される。
【0080】
次に、変形されたポーズにおけるその位置を計算するために、三角形502に変換が適用される。各剛体メッシュセグメントは、CNNモデルによって近似された頂点の部分集合に割り当てられる。次いで、これらの剛体セグメントの運動は、CNN近似から頂点の対応するサブセットの運動を最もよく説明する剛体変換を解くことによって推定される。少なくとも1つの実施形態によれば、計算が近似の結果に依存するため、剛体変換は、粗い近似及び微細近似が評価された後に計算される。
【0081】
メッシュの剛体変換セグメントを特定するために、顔面リグの作者によって提供される全てのk個のメッシュセグメントが考慮される。次に、n個のメッシュ変形例V={V
1,V
2,...,V
n}の集合を収集する。メッシュが静止ポーズV
0であるとき、頂点位置V
k
0をV
k
iに剛体変換する際の近似誤差は、以下の式(3)で表されるように計算される。
【数4】
【0082】
式(3)は、サンプルiのメッシュセグメントkに剛体回転R
k
iと並進t
i
kを適用したときの頂点位置の差を示す。サンプル間の誤差
【数5】
が平均化される。次いで、e
k<τとなるような剛体変換したメッシュセグメントを特定することができる。実施した実験では、τ=0.3mmという値を用いた。
【0083】
V
r
iは、試料iの剛体変換したメッシュセグメント(すなわち、e
r<τ)を表することができる。R
r
i及びt
i
rは、式(3)の最小化器(minimizers)を表することができる。Pは、剛体変換されたセグメントに含まれないメッシュの頂点インデックスの集合を示すことができる。各頂点j∈Pについて、全てのサンプルiにわたる変換R
r
i,t
i
rの下での近似誤差は、以下の式(4)を用いて計算される。
【数5】
【0084】
剛体メッシュセグメントrに対して、Vδ
0とVi
δは、|Vδ
0|=cとなる最小の近似誤差∈r,jを有する頂点の集合を示すことができる。実施した実験では、c=10という値が選ばれた。メッシュV′Pの非線形変形された頂点が与えられると、剛体メッシュセグメントrの頂点位置は、Vr′=Vr
0R′δ+t′δとして近似することができ、R′δ及びt′δは頂点位置V′δに対する式(3)の最小化因子となる。
【0085】
ここで、粗い近似モデル及び微細な近似モデルの実装を、少なくとも1つの実施形態を参照してより詳細に説明する。
【0086】
粗い近似及び精緻化段階のためのそれぞれのモデルf(p;θ
k)及びf(p;θ
k′
r)の全ては、畳み込み層に続く一連の緻密層を有する深いニューラルネットワークとして実装することができる。
図4A及び4Bは、それぞれ、粗い近似モデルのニューラルネットワークの一例と、微細近似モデルのニューラルネットワークの一例とを示している。ネットワークは、2つの段階にわたってトレーニングされる。第1段階では、式(1)で表される損失L(V,Δ)を最小化するように粗い近似に対応するパラメータθkがトレーニングされる。これらのモデルは、Adam optimizerでトレーニングされる(Diederik Kingma and Jimmy Ba.2014 Adam: A Method for Stochastic Optimization。International Conference on Learning Representations (12 2014)を参照))を用いて、著者らが提案する運動量パラメータを用い、バッチサイズを8とする。学習率を10
-3として最適化を開始する。モデルが収束した後、学習率は10
-4に下げられる。再び収束した後、学習率を10
-5に下げ、もう一度収束するまで実行する。粗い近似からのパラメータθ
kが完全に最適化されると、これらは一定に保たれ、第2段階で、微細モデルパラメータθ
k′
rが損失L(V、Δ+δ)を伴って最適化される。微細モデルの最適化には、同じ(又は類似の)ハイパーパラメータとトレーニングスケジュールが使用される。
【0087】
近似モデルのトレーニングにより、剛体メッシュセグメント(式(3)参照)及び各剛体メッシュセグメントに割り当てられた頂点の集合(式(4)参照)は、元のリグ関数を用いて計算される。モデル評価時に、粗いモデルと微細モデルが評価された後に、剛体変換が計算される。近似された頂点位置は、回転行列と並進ベクトルを計算するのに使用され、これらは、結果として近似されたメッシュ変形を作成するために剛性メッシュセグメントに適用される。
【0088】
少なくとも1つの実施形態による顔面近似モデルをトレーニングするために、大規模なトレーニングデータセットが必要とされる場合がある。トレーニングデータは、リグパラメータpとリグ関数V=r(p)によって出力される変形メッシュの頂点位置のペア(p、V)からなる。トレーニングデータを生成するために、既存のアニメーションは、乗法性ノイズで増強することができ、アニメーションデータに見られる共通のポーズがトレーニングデータに過剰に反映されることを防ぐために、データバランシングを適用することができる。
【0089】
Aは、トレーニングアニメーションからのポーズのセットを示すことができ、mは、各ポーズにおけるリグパラメータの数を示すことができる。トレーニングセットは、以下の式(5)に基づいて表記することができる。
【数6】
ここで、u∈R
mは、各成分が[0.25,3.0]の範囲内で一様にランダムに描かれた乱数値のベクトルを示し、pはポーズの集合Aから一様にランダムに描かれたものである。演算
はベクトルの成分ごとの乗算を表す。実験では、|T|=50,000個のサンプルをトレーニングセットとして生成した。
図6は、トレーニングデータTからのポーズ例を示す図である。
【0090】
トレーニングセットが生成された後、データのバランスが取られる。トレーニングデータは、既存のアニメーションから生成することができ、中立的な表情などの特定の表情が、データ中の他のポーズよりも頻繁に出現する可能性がある。このデータセットを用いてトレーニングされたモデルは、頻繁に発生する表情に過剰に適合する場合があり、他のタイプの表情を近似するときにパフォーマンスが低下する可能性がある。少なくとも1つの実施形態によれば、トレーニングの例は、ビンにソートされ、ビンを一様にランダムにピッキングし、次にビン内のサンプルを一様にランダムにピッキングすることによって、ランダムサンプルが描かれる。
【0091】
データをビンに分割するために、口、目、鼻などの主要な顔の特徴の周りのランドマーク頂点の小さなセットは、手動でラベル付けすることができる。例えば、今回の実験では、各キャラクタに対して、おおよそ20~30個の目印となる点を手動で特定した。各ポーズpi∈Tに対して、変形メッシュのランドマーク頂点Vl
iの位置が収集された。このランドマーク位置の集合{Vl
1,Vl
2,...,Vl
|T|}を1次元空間に射影するために主成分分析(PCA)が用いられる。この1次元空間は、投影されたデータの範囲に沿って、同じ長さの区間に分割される。次いで、サンプルはその区間に沿ってビンに分類される。トレーニング用のサンプルを抽出する際には、一様にランダムにビンを選択し、そのビンから一様にランダムにサンプルを選択する。実施した実験では、データを16ビンに分割した。
【0092】
制作用の顔キャラクタリグは、通常、リグパラメータ∂V/∂pに対する頂点位置の勾配を計算することが難しく、非常に時間がかかるような方法で構築されている。少なくとも実施形態によって本明細書に記載される近似モデルを使用すると、勾配の推定が可能になり、ディープラーニングライブラリにおいて一般的な機能である自動微分によって問題にならない可能性がある。この勾配の1つの有用な用途は、逆運動学においてであり、リグパラメータは、ユーザが指定した制御点位置に一致するようにメッシュを最適に変形させるように推定される。
【0093】
逆運動学の一般的な解決策は、これを反復最適化問題として定式化する。これらのタイプの解決策は、最適なリグパラメータに収束する前に、複数の勾配評価を必要とする。近似モデルを使用して∂V/∂pを推定することができるが、反復最適化方法のためにモデルを介して複数回勾配を計算することは、リアルタイムで実行するにはあまりにも多くの計算を必要とする。代わりに、少なくとも1つの実施形態によれば、フィードフォワードニューラルネットワークが開示される。フィードフォワードニューラルネットワークは、IK制御点を入力として取り、対応するリグパラメータを出力する。トレーニング中、ネットワークは、近似勾配を利用するが、新しい入力で評価する際に∂V/∂pを必要としない。その結果、フィードフォワードネットワークは、より容易にリアルタイムで所望のリグパラメータを計算することができる。
【0094】
次に、フィードフォワードニューラルネットワークのモデルについて、少なくとも1つの実施形態を参照して説明する。
【0095】
Cは、IK制御点に対応する頂点のインデックスの集合を示すことができ、r
C(p):R
m→R
|C|×3は、リグパラメータpを頂点の部分集合V
Cに写像するリグ関数を示すことができる。その結果、逆運動学問題は、以下の式(6)で表すことができる。
【数7】
ここで、
はユーザから提供された目標制御点を表す。rig関数rは微分できないという仮定に起因して、
と表記され、rig関数を近似値に置き換える。更に、最小化問題を反復アルゴリズムで解く代わりに、フィードフォワードネットワークf
IK:R
|C|×3→R
mを導入し、固定長の計算で最小化問題を近似し、以下となる。
【数8】
ここで、θ
IKはトレーニングを必要とするネットワーク・パラメータを表す。モデルは、制御点及び頂点V
Cの特定のセットでトレーニングされ、頂点の何れかの異なるセットに対して新しいネットワークをトレーニングする必要がある場合がある。
【0096】
モデルのトレーニングに使用される損失関数は、変形したメッシュが制御点に密接に一致することを保証するためのポイントマッチング成分と、不自然なポーズを作り出す大きなリグパラメータを避けるための正則化成分の両方を含んでいる。この損失は、以下の式(8)で表される。
【数9】
ここで、λ
reg∈Rはユーザ定義の正則化重みを表す。点マッチング損失(式(9)参照)は、推定されたポーズによって生成された点と、対応する制御点との間の距離を計算する。
【数10】
正則化成分は、以下の式(10)で表されるように、大きなパラメータ値にペナルティを与えるものである。
ここで、p
0はキャラクタのニュートラル表現、s∈R
mは各リグパラメータの個別スケーリング値を表す。リグパラメータiについて、スケールは、s
i=1/(p
i,max-p
i,min)で与えられ、ここでp
i,maxとp
i,minはそれぞれ、アニメーションデータAにおけるリグパラメータiの最大値と最小値である。各パラメータを別々にスケーリングすることで、各パラメータの値域の違いに関わらず、正則化が均等に適用される。更に、L1正則化損失を用いて、推定ポーズ(estimated pose)pのスパース性を促している。
【0097】
理想的なIK近似モデルfIKは、特定のリグパラメータと制御点との間の誤った相関を学習しないようにする。例えば、ユーザがキャラクタの左目上の制御点を調整する場合、近似モデルは、口の周りの領域に関連するリグパラメータを変更することを避けるべきである。少なくとも1つの実施形態によれば、この特性は、IK近似モデルを複数のネットワークの組み合わせとして設計することによって達成される。制御点は、顔の領域に基づいて別々の集合に分割される。例えば、キャラクタの右目上の点の全てが1つのサブセットを定義し、口上の点の全てが別のサブセットを定義する。これらの点は、手動で分割することができる。
【0098】
例えば、制御点はk個のサブセットに分割することができ、C
jは特定のサブセットj内の制御点を示すことができる。少なくとも1つの実施形態によれば、IK近似モデルは、合計で、k個の別々のフィードフォワードネットワークで構成される。ネットワークjへの入力は、制御点
の対応するサブセットであり、出力は、制御点に対応する頂点の何れかを変形させることができるリグパラメータのセットである。リグパラメータは、複数のモデルで推定することができる。この場合、最終的な推定値は、出力の平均値とすることができる。複数のネットワークによって予測されたリグパラメータの最終的な値を計算するために、より洗練された方法が使用され得ることが理解される。
【0099】
しかしながら、実施された様々な実験で使用されたリグでは、値の平均化がうまく機能した。キャラクタの顔については、リグパラメータのごく一部がIKモデル間で共有することができる。共有されるパラメータに関して、これらのほとんど全ては、頭全体をつぶす又は伸ばすなど、顔の大きなスケール変形を制御する。これらの制御は、メッシュの全領域にわたって大きな変形を引き起こすので、メッシュの小さな部分の制御点に対してトレーニングされたIKモデルは、一般的に、この種のグローバルな変形に対するパラメータ値で合意することになる。従って、これらのパラメータを平均化するだけで、妥当な結果を得ることができる。
【0100】
少なくとも1つの実施形態によれば、IK近似モデルの各ネットワークは、最初の2つの層における256のノードと最終層における|Rj|ノードとを有する3つの緻密層からなることができ、ここでRjはIKモデルjによって推定されるリグパラメータのセットを示す。リーキーReLU活性化関数は、第1層と第2層の後に適用される。また、最終層の出力には活性化が適用されず、リグパラメータを何れかの値で出力できるようになる。
【0101】
図7は、少なくとも1つの実施形態によるIKモデルの図である。制御点702は、不連続なサブセットに分割され、別々の緻密なニューラルネットワークに提供される。例えば、制御点は、サブセット704-1(目領域に対応)、サブセット704-2(反対側の目領域に対応)及びサブセット704-3(鼻と口の領域に対応)に分割される。サブセット704-1の制御点は、緻密なニューラルネットワーク706-1に入力される。同様に、サブセット704-2の制御点は、緻密なニューラルネットワーク706-2に入力され、サブセット704-3の制御点は、緻密なニューラルネットワーク706-3に入力される。
【0102】
ネットワーク706-1、706-2、706-3の各々は、ポーズのそれぞれのサブセットを出力する。例えば、ネットワーク706-1は、ポーズのサブセット708-1を出力する。同様に、ネットワーク706-2は、ポーズのサブセット708-2を出力し、ネットワーク706-3は、ポーズのサブセット708-3を出力する。出力からの有効値(出力サブセット708-1、708-2、708-3からの)は、最終的な平均化リグパラメータポーズ710を生成するために一緒に平均化される。顔面近似モデルと同様に、IKモデルは、前述した同じトレーニングスケジュール及びバランスのとれたデータセットを使用して、Adamで最適化することができる。
【0103】
説明したように、IKモデルは、リグ機能を通じて計算された変形メッシュからの制御点を使用してトレーニングされる。従って、トレーニングデータは、適切なリグパラメータと正確に一致させることができる制御点の例のみを含むことができる。しかしながら、IKモデルの評価時に、ユーザが制御点を設定して、リグが制御点に正確にマッチングできない場合がある。このようなケースを考慮し、トレーニング中に制御点にノイズを追加することができる。トレーニングサンプルが
であるとき、新しいサンプルは、あるユーザ定義δ>0に対して、
として計算される。この新しいデータ点は、各制御点の位置に一様にランダムなノイズを加えることによって作成することができる。実験データに基づくと、δ=4mmが妥当な結果をもたらすことが観察された。IKモデルはこの新しいデータVCでトレーニングされるが、モデルトレーニングの他の全ての態様は同一(又は類似)のままであった。
【0104】
次に、1又は2以上の実施形態による方法によって生成される結果をより詳細に説明する。
【0105】
近似の1又は2以上の方法は、例えば、コンピュータアニメーションの映画制作で使用されるフィルム品質の顔面リグで動作する。リグは、自由形状成形システムと曲線ベースのポーズ補間システムとの組み合わせを通じて変形することができる。変形させるためのシステムは、対応するキャラクタのアートディレクション可能な顔面リギングを容易にするために、メッシュの粗いものから細かいものまでの制御のために層状にすることができる。リグは、顔面変形を計算するのに使用されるノードベースの計算グラフ-例えば、10,000以上のノードを有する計算グラフ-として実装することができる。ノードは、基本的な算術演算子及びスプライン補間など、様々な機能を実装している。リグシステムはまた、何れかのコードを実行することができるカスタムのノードをサポートする。
【0106】
4つの顔面リグの例を参照しながら、結果を説明する。これらのリグのうち3つは、ヒカップ(Hiccup)、ヴァルカ(Valka)、トゥースレス(Toothless)に対して、長編「ハウ・トゥ・トレイン・ユア・ドラゴン:ザ・ハイドレッド・ワールド(How to Train Your Dragon: The Hidden World)」で使用された独自の顔面リグである。4つ目の顔面リグ例は、CGTarian Animation and VFX Online Schoolで公開されている、公的に利用可能なオープンソースのキャラクタ、Rayからの顔面リグである。
【0107】
近似の1又は2以上の方法の結果は、線形ブレンドスキニング(LBS)近似及び本明細書に開示される近似モデルの緻密なフィードフォワードバージョンの結果に対して比較される。これらの比較に基づいて、開示される方法の1又は2以上は、LBS近似において失われる高周波のディテールを保持しており、1又は2以上の開示される方法は、4つの例示的な顔面リグのうちの3つについて、緻密なバージョンによって生成される結果よりも正確である結果を生じることを観測することができる。更に、LBS近似とは異なり、1又は2以上の開示されたモデルは、リグパラメータから変形メッシュへのマッピングを保持し、これは、元のリグ関数へのアクセスを必要とせずに新規のアニメーションを近似することを可能にする。
【0108】
表1は、4つの例示的な顔面リグ上でトレーニングされた各モデルの統計値を示す。モデルは、キャラクタの髪又は眼球を近似するのに使用されなかった。しかしながら、モデルは、歯と同様に口の内部を近似するのに使用された。
【0109】
【0110】
図8は、ヒカップ、ヴァルカ、及びトゥースレスの顔モデルのメッシュセグメントの例(例えば、粗いモデリングの際に使用されるメッシュセグメント)を示し、
図9は、近似の微細段階(例えば、微細されたモデリング)の際に使用されるメッシュセグメントの例を示す図である。
【0111】
より詳細には、実施例の1つのセットによれば、
図8(a)はヒカップの顔モデルに対する粗いメッシュセグメント(coarse mesh segments)を示し、
図8(b)はヴァルカの顔モデルに対する粗いメッシュセグメントを示し、
図8(c)はトゥースの顔モデルに対する粗いメッシュセグメントを示している。各粗いメッシュセグメントは、同じ濃淡の連続した領域として表現される。例えば、
図8(a)には、領域802、804-1、804-2、806、808が示されている。領域802は、ヒカップの顔のうち最も大きな領域に対応する。領域806は、ヒカップの口の内部に対応し、領域808は、ヒカップの頭皮に対応する。領域804-1及び804-2は、ヒカップの耳に対応する。
【0112】
他の例として、
図8(b)は、領域812、814-1、814-2、816、及び818を示す図である。領域802は、ヴァルカの顔のうち最も大きな領域に対応する。領域816は、ヴァルカの口の内部に対応し、領域818は、ヴァルカの頭皮に対応する。領域814-1及び814-2は、ヴァルカの耳に対応する。
【0113】
同様に、
図8(c)は、トゥースレスの顔モデルについて、粗い近似のためのセグメントに対応する領域を示す図である。
【0114】
前述したように、
図9は、近似の微細段階に使用されるメッシュセグメントの例を示している。
図9に関して、実線パターンを用いて陰影付けされているように示されている領域は、微細モデルにおいて使用されていないセグメントを示す。
【0115】
より詳細には、実施例の1つのセットによれば、
図9(a)は、ヒカップの顔モデルに対する微細メッシュセグメント(refined mesh segments)を示し、
図9(b)は、ヴァルカの顔モデルに対する微細メッシュセグメントを示し、
図9(c)は、トゥースの顔モデルに対する微細メッシュセグメントを示している。各微細メッシュセグメントは、同じ濃淡の連続した領域として表現される。例えば、
図9(a)は、領域902、904、906、及び908を示し、これらの各領域は、
図8(a)の領域802に関する部分領域である。領域904は、ヒカップの額の領域に対応する。領域902は、第1の目の領域に対応し、領域906は、反対の目の領域に対応する。領域908は、ヒカップの鼻及び口の周辺領域に対応する。
図8(a)に関して、実線パターンを用いて図示されている領域は、微細モデルにおいて未使用である(例えば、それ以上解析されない)セグメントに対応する。
【0116】
別の例として、
図9(b)は、領域912、916及び918を示し、その各々は、
図8(b)の領域812に関する部分領域である。領域912は、第1の眼球領域に対応し、領域916は、隣接する眼球領域に対応する。領域918は、ヴァルカの鼻及び口の周辺の領域に対応する。
図8(b)に関して、実線パターンを用いて図示される領域は、微細モデルにおいて未使用である(例えば、それ以上解析されない)セグメントに対応する。
【0117】
同様に、
図9(c)は、粗い近似のためのセグメントに対応するトゥースレスの顔モデルの領域を示している。
【0118】
表1に記載された結果に戻って参照すると、緻密バージョン(dense version)は、開示された近似の方法よりも迅速に実行され、ある場合には、アーティストが作成したアニメーションを近似する際に、開示された方法よりも正確である。しかしながら、緻密な近似の高速化は、より多くの(例えば、より多数の)モデルパラメータを犠牲にするものであり、表1に見られるように、より高いメモリ記憶コストにつながる。緻密モデルが失敗すると、
図11のヒカップとヴァルカの顔メッシュに見られるように、変形したメッシュに目に見える望ましくないアーチファクトが発生する。これらのアーチファクトは、メッシュの表面上の高周波ノイズとして現れ、緻密な近似が各頂点の各成分を独立した出力としてモデル化することによって引き起こされるものである。対照的に、1つ又は実施形態による近似の方法は、CNNの使用を通じてメッシュ内の局所近傍をモデル化し、近似における不正確さは、緻密な近似におけるように高周波ノイズとして現れる可能性がより低い。更に、開示された近似の方法は、全てのキャラクタについて逆運動学を通じて生成されたポーズに関して、緻密な近似よりも正確である。
【0119】
開示された近似方法の精度を、LBSモデル及び畳み込み層の代わりに完全接続層を有する密なフィードフォワードネットワークの精度と比較した。LBSの重みとボーンの変換は、LeとDengの方法(Binh Huy Le and Zhigang Deng, Smooth Skinning Decomposition with Rigid Bones.ACM Trans.Graph.31, 6, Article 199 (Nov.2012))を用いた。また、各メッシュセグメントに対して、緻密モデルをトレーニングし、頂点のオフセットを近似させるとともに、個別のネットワークをトレーニングした。各モデルには各々256ノードの2つの隠れ層が含まれ、最後の出力層はメッシュセグメントの各頂点のオフセットを生成した。この緻密なネットワークは、変形マップの解像度による制約を受けなかったので、追加の微細モデルはトレーニングしなかった。しかしながら、剛体セグメントは、前述した剛体近似手法を用いて変形させた。この緻密モデルは、Stephen W.Bailey,Dave Otte,Paul Dilorenzo,and James F.O′Brien。2018。Fast and Deep Deformation Approximations。ACM Trans。Graph。37, 4, Article 119 (July 2018)によって説明された手法に最も近いものである。この方法に関して、緻密モデルの主な違いは、緻密なニューラルネットワークを適用する前に、顔のメッシュがボーンのセットによって線形変形されないということである。
【0120】
各キャラクタについて、リグについて利用可能な全てのアニメーションを収集し、データを90%/10%でそれぞれトレーニングデータとテストデータに無作為に分割した。トレーニングデータは、式(5)に従ってトレーニングセットのポーズのみを使用して生成することができる。Rayのリグの場合、既存の顔アニメーションを利用することができない。このため、各ポーズのリグパラメータを、ユーザが指定した値の範囲をカバーする一様分布から独立にサンプリングして、トレーニングデータ及びテストセットを作成した。このランダムサンプリング法は、他のキャラクタリグのメッシュ変形がより複雑なため、その近似モデルをトレーニングする際には機能しない。本明細書で開示される近似モデル及び緻密モデルをトレーニングするために、各キャラクタについて50,000個のサンプルを生成した。LBSモデルでは、16,24,及び32のボーンをメッシュにフィットさせ、各頂点に8つの非ゼロ重みを有するようにした。また、頂点の重みを推定するために、1,000個のサンプルを生成した。また、メモリと計算機の制約から、より少ないトレーニング例を使用した。
【0121】
ヒカップ、ヴァルカ、トゥースレスのテストセットは、テストデータからトレーニングで使用されなかったユニークなポーズを全て取り出すことにより構築される。表2では、頂点位置誤差(単位:mm)と顔面法線誤差(単位:度)の両方を測定した。頂点位置誤差は、テストセット全体の近似頂点位置と目標頂点位置の距離の平均値である。
顔面法線誤差は、メッシュ内の近似顔面法線と目標顔面法線との間の角度である。
具体的には
【数10】
ここで、n
iはグランドトゥルースメッシュにおける顔iの法線、n′
iは合計f個の顔を持つ近似メッシュにおける顔iの法線であることを示す。
【0122】
【0123】
表2に示す結果によれば、ほとんどの近似が平均してサブミリメータ精度を達成している。しかしながら、平均的な頂点位置の誤差は、近似の細かいスケールのディテールの精度を示す良い指標ではない。
図2は、皺を含むトゥースレスのポーズに対する近似変形を示し、
図10は、皺を含むヒカップのポーズに対する近似変形を示している。また、
図10(a)は、比較のため、ヒカップのメッシュに額の皺があるグランドトゥルースを示している。
図10(b)及び10(c)は、それぞれ、1又は2以上の開示された実施形態による額の皺の微細な近似及び粗い近似に基づく近似された変形を示す図である。
図10(d)は、LBS近似に基づく近似変形を説明する図である。
【0124】
表2に示すように、緻密な近似は、ヒカップ、ヴァルカ、及びRayについて最小の法線誤差を生成する。しかしながら、トゥースレスでは緻密モデルが最も小さい誤差を生成している。このように誤差が小さいことは、粗い近似及びLBS近似と比較して、微細な近似及び緻密な近似は、変形したメッシュの微細なディテールを再現できることを示している。
図11は、正規誤差を可視化したサイドバイサイド比較を示す図である。
図11は、オリジナルのリグ関数を介して評価されたグランドトゥルースメッシュとリグ近似法の差異を視覚的に示す図である。各近似の右半分のヒートマップは、近似上の法線ベクトルとグランドトゥルースメッシュ上の対応する法線との間の角度を視覚化したものである。角度の誤差は小さいほど好ましい。
【0125】
本明細書に開示された近似モデルは、TensorFlowを使用してPythonで実装された。これらの実行時間は、CPUとGPUの両方を使用するハイエンドマシンとコンシューマー品質のラップトップの両方で評価された。ハイエンドマシンでは、2.60GHzで動作する28スレッドのIntel Xeon E5-2697 v3プロセッサと、NVIDIA Quadro K5200 GPUが使用された。ノートパソコンには、2.80GHzで動作する8スレッドのIntel Core i7-7700HQ プロセッサとNVIDIA GeForce GTX 1060を使用した。剛体セグメントの回転は、式(3)をSVDで最小化することにより計算した。GPUで完全近似を評価する場合、TensorFlowのGPU上でのSVDの実装が遅いため、この最小化問題はCPUで解かれた。モデルのトレーニング時間は、オリジナルのリグ評価エンジンによるトレーニングデータの生成に2~4時間、その後、粗い近似モデルのトレーニングに2~3時間、微細近似モデルのトレーニングに2~3時間という構成であった。
【0126】
本明細書に開示された近似モデルのタイミングを、ヒカップ、ヴァルカ、及びトゥースレスのオリジナルのリグ評価ソフトウェアと比較した。これらの3つのキャラクタのリグは、マルチスレッドのリグ評価エンジンであるLibee用に設計されたものである。キャラクタアーティストは、これらのリグをエンジン上でできるだけ高速に実行できるように最適化した。様々な実施形態を参照して本明細書に開示された方法とは異なり、LibeeはCPU上でのみキャラクタリグを評価することができる。表3は、CPUとGPUの両方で実行されるLibeeと本明細書に開示された方法を使用した評価時間を示している。開示されたモデルは、単一のポーズに関する1,000回の評価にわたる平均実行時間を取ることによって計時した。
【0127】
表3は、ハイエンドマシンとコンシューマー品質のマシン(consumer-quality machine)の両方における平均評価時間をミリ秒単位で示したものである。粗い近似は、粗いモデルと剛体変換を評価することで、時間が短縮される。完全近似は、粗いモデル、微細モデル、剛体変換を評価することで、時間を計測している。また、ニューラルネットワークはGPUで評価し、剛体コンポーネントは常にCPUで評価することを明記している。
【0128】
【0129】
表3に示す結果から、本明細書で開示す近似モデルは、オリジナルのリグ評価エンジンに比べて5~17倍の速度で動作することがわかる。ハイエンド機の場合、モデルが単一のポーズで評価され、且つ畳み込みが低解像度の特徴マップ上で動作するため、GPUでは近似がより遅く実行される。このように、GPUを十分に活用できていないため、性能が低下していることがわかる。更に、コンシューマー品質マシンのGeForce GPUは、ハイエンドデスクトップのQuadro GPUよりも近似モデルを高速に評価していることがわかる。この差は、Quadroのクロック速度がGeForce GPUに比べて遅いことに起因していると考えられる。
【0130】
少なくとも1つの実施形態による本明細書に開示される近似方法は、リグパラメータを変形メッシュにマッピングする微分可能なモデルを提供し、これはIKアプリケーションに使用することができる。このような近似方法の使用のデモンストレーションは、次に、インタラクティブポージングアプリケーション及び顔面ランドマークベースのパフォーマンスキャプチャシステムを参照して説明される。
【0131】
最初に、インタラクティブポージングアプリケーションについて、より詳細に説明する。
【0132】
リアルタイムのポージングアプリケーションが開発され、ここではユーザが制御点の疎のセットを操作し、様々な実施形態を参照して先に開示されたIKモデルが、制御点に一致するようにメッシュを変形させるリグパラメータを計算する。ユーザは、画面上でポイントをドラッグし、メッシュはインタラクティブに更新される。制御点は、2D画像座標としてシステムに提供される。IKモデルは、メッシュを画像平面に投影することで点に一致するようにトレーニングされ、式(9)の点損失項を画像座標の距離で表現する。メッシュは、カメラをZ軸に向けた正投影により画像平面に投影される。従って、画像座標上の距離は、頂点位置のX座標とY座標のみで計算することができる。
【0133】
IKモデルのトレーニングは、近似モデルのトレーニングに使用したのと同じ拡張データセットから生成されたメッシュで行われる。元のリグ関数からメッシュを生成する時間を除くと、トレーニングには1~2時間かかっている。
【0134】
開示された近似の方法を、緻密なニューラルネットワークの手法と比較した。リグ近似r-(p)として粗い方法と微細な方法の両方を用いてIKモデルをトレーニングさせた。実施した実験において、Hiccup、Valka、及びRayの緻密なモデルからの勾配でトレーニングされたIKモデルでは、緻密近似が露骨な視覚的アーチファクトを伴う非常に不正確な変形を生成するポーズを生成する。Toothのリグについては、緻密な近似法から得られる勾配を用いてトレーニングしたIKモデルから生成したポーズを使用して、緻密モデルを評価した。このモデルを評価するために、ユーザが生成した25個の制御点構成を収集した。これらの制御点構成は、元のリグと正確に一致する保証はない。次に、IKモデルは、制御点に対するリグパラメータを計算する。最後に、近似法を使用してメッシュを生成し、同じリグパラメータで評価したオリジナルのリグ関数を使用して、グランドトゥルースメッシュを生成する。近似したメッシュとグランドトゥルースメッシュの頂点間距離誤差とフェース間法線誤差を測定した。トゥースレスについては、近似モデルに、その勾配でトレーニングさせたIKモデルから生成したポーズを与えている。ヒカップ、ヴァルカ、及びRayについては、近似モデルと緻密モデルの両方が、本明細書に開示された方法から勾配に対してトレーニングされたIKモデルから生成されたポーズを供給される。
【0135】
表4に見られるように、本明細書に開示される方法は、IKモデルによって出力されたリグパラメータ上で評価されたグランドトゥルースメッシュとより密接に一致する。表4は、mmと度で測定されたポージング誤差を示す。トゥースレスについては、IKモデルは対応する近似からの勾配を使用してトレーニングされる。ヒカップ、ヴァルカ、及びRayについては、IKモデルは、1又は2以上の実施形態による方法からの勾配を用いてトレーニングされ、本明細書に記載される手法及び密な方法の両方についてのリグパラメータを生成する。
【0136】
【0137】
図12は、幾つかの制御点配置の例について、グランドトゥルースメッシュと近似変形を並べて比較したものである。IKモデルを通じて計算されたリグパラメータによって変形されたメッシュの比較が示されている。ドット1202は、IKに提供された制御点を表す。
【0138】
ヒカップ、ヴァルカ、及びトゥースレスについて、開示された近似と緻密な近似との間の精度のより大きな差は、IKモデルによって出力されたポーズの種類によって説明することができる。IKモデルは教師なし設定でトレーニングされ、モデルによって出力されるポーズの分布は、トレーニングデータからのポーズの分布と正確に一致しない。そのため、IKモデルが出力するポーズの中には、元のトレーニングデータとは異なるポーズもある。これらのポーズでより高い精度が得られたことは、開示された近似モデルが緻密モデルよりも新しいポーズに汎化することを示唆している。Rayの結果は、この結論を更に支持するものである。RayのCNNモデルと緻密モデルの両方は、一様にランダムにサンプリングされたポーズでトレーニングされる。IKモデルによって出力されるどのポーズも、この分布のどこかに含まれることになる。この結果からわかるように、RayのCNNと緻密モデルの平均近似誤差は、一様にランダムなポーズの集合(表2参照)及びIKモデルによって出力されたポーズの集合(表4参照)で評価した場合、どちらも同程度であることがわかる。
【0139】
次に、顔面ランドマークを用いたパフォーマンスキャプチャシステムについて、より詳細に説明する。
【0140】
リアルタイム単眼顔パフォーマンスキャプチャシステムは、ビデオ録画をアニメーションシーケンスにマッピングするための微分可能なリグに依存している。ある文献では、単眼顔面トラッキングにおける現在の手法のサーベイを提供している。俳優の外見とアニメーションのキャラクタの外見は一致しないため、開発したシステムでは、顔のランドマーク点の疎なセットを追跡することでキャラクタをアニメーション化する。俳優の顔のランドマークを追跡するために、Zhen-Hua Feng, Josef Kittler, Muhammad Awais, Patrik Huber, and Xiaojun Wu, Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks.2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (2017),2235-2245に記載されている方法の実装を使用した。このモデルは、その手法で説明したのと同じデータセットでトレーニングされた。開発された顔追跡システムでは、データセットから68個のランドマーク点のうち54個が使用された。顔モデル上の対応する点は、手動で識別した。
【0141】
メッシュをアニメーション化するために、録画で検出されたランドマークの動きを追跡し、IKモデルを使用して、新しいランドマーク構成に一致するために必要なリグパラメータを推定した。俳優の顔のプロポーションは、アニメーションのキャラクタと異なる可能性があるため、俳優の表情と俳優のニュートラルポーズとの差を追跡した。そして、この差分をIKモデルの制御点に適用する。具体的には、ニュートラルな表情の俳優の画像上で検出されたランドマーク点をl0とし、現在の俳優の表情における検出ランドマーク点の座標をlとする。そして、IKモデルに与えられる制御点cは、ニュートラルな表情におけるメッシュの制御点位置をc0とすると、c=c0+l-l0として計算される。
図13は、録画からのフレームと、入力から得られる変形メッシュを示す図である。
図13では、開発された顔面パフォーマンスキャプチャの一例を示している。入力画像上で顔のランドマークが検出される。このランドマーク情報はIKモデルに渡され、IKモデルがリグパラメータ値を計算する。そして、リグパラメータは、開示された近似モデルに渡され、変形されたターゲットメッシュを生成する。
【0142】
少なくとも1つの実施形態による本明細書に開示される方法は、フィルム品質の顔面リグの高速(又はより高速)且つ正確(又はより正確)な近似を提供する。このような近似に基づいて、ボーンベースの近似がこのようにすることができない場合、細粒のメッシュ変形のディテールを保存することができる。更に、開示される方法は、微分可能なリグ近似を提供することができ、これは、キャラクタリグのための広範な潜在的な新規アプリケーションを可能にする。例として、リアルタイムIKベースのポージング方法と、IKソルバーの上に構築されたパフォーマンス顔面キャプチャシステムとが記載された。更に、一度モデルがトレーニングされると、メッシュの変形を評価するために元のリグ関数を必要としなくなる可能性がある。近似は、オープンソースの機械学習ライブラリを用いて実装することができるので、モデルは、顔面リグを構築するために最初に使用された複雑な又は専用ソフトウェアを必要とせずに、多くの異なるシステム上でより容易に分散及び配備することができる。従って、本明細書に開示される近似モデルは、元のリギングソフトウェアに依存することなく顔面リグを共有することができる共通の形式を提供する。更に、近似モデルパラメータは、モデルが共有されるときに、キャラクタを作成するのに使用される基礎的なリギング技術が隠されるように、リグの難読化の一形態と見なすことができる。
【0143】
従って、本明細書に開示される方法は、顔面リグが構築されたアプリケーション及び/又はメソッドに不可知とすることができる。例えば、特定のリグは、Mayaリグとすることができるし、特定のスタジオ又は企業にとって独占的であるアプリケーションで構築されたリグとすることができる。本明細書に開示される近似モデルによれば、顔面リグをオリジナルのリギングソフトウェアに依存することなく共有できるような、共通フォーマットが提供される。ここで、共通フォーマットは、モデルが何れかの特定のリグ上でトレーニングされるときに得られるモデルパラメータを含むことができる。このように、顔面リグを近似する共通フォーマットを異なるデジタルコンテンツ作成(DCC)アプリケーション及び/又はツール間でより容易に移動及び/又は共有することができるような、相互運用性レベルを達成することができる。
【0144】
少なくとも1つの実施形態による本明細書に開示される方法は、畳み込み層に基づいて構築されるので、モデルは、必ずしも単一のメッシュトポロジーに制限されない。あるメッシュでトレーニングされた近似モデルは、トレーニング中に見られない新規のメッシュを変形させることができる。新しいメッシュにおける顔の特徴のテクスチャ座標が元のメッシュのテクスチャ座標と一致する限り、近似リグは新しい顔のメッシュに転送することができる。この場合、近似モデルは同じ入力リグパラメータセットを使用して変形マップを出力する。新しいメッシュのための頂点オフセットは、新しいメッシュに対応する新しいテクスチャ座標で変形マップをサンプリングすることによって計算される。
図14は、粗い近似モデルの1つのメッシュセグメントを、異なるトポロジーを有する新しいメッシュ上に転送する例を示す。この例では、テクスチャ座標を元のメッシュの座標に手動で位置合わせする。例えば、
図14は、異なるトポロジーを有する新しいメッシュに転送されたヒカップの剛体近似を示す。粗い近似からの単一のメッシュセグメントが、右の新しいメッシュに適用される。右の顔のメッシュは、自由に利用できるMathilda Rigのものである。
【0145】
少なくとも1つの実施形態による近似方法は、ワールド座標系における頂点のオフセットを出力する。その結果、メッシュの顔のプロポーションが元のモデルと大きく異なる場合、新しいメッシュに適用される変形は望ましくないように見えるかもしれない。近似モデルによって出力されるオフセットの異なるパラメータ化は、この問題を軽減するのに役立ち、本明細書に開示される方法が、近似をあるリグから著しく異なる比率を有する顔のメッシュに転送することを可能にすることができる。
【0146】
本明細書に記載される実施例では、頂点法線は、別々に計算され、近似モデルの一部として考慮されない。しかしながら、特定のリアルタイムアプリケーションでは、変形されたメッシュから法線を再計算することは、計算時間を節約するために回避される。開示された手法では、頂点法線を近似する実験は行われませんでしたが、この手法は法線を近似するために容易に拡張することが可能である。変形マップの3つのチャンネルを出力する代わりに、ネットワークは法線方向に対して追加のチャンネルを出力することができ、正確な法線ベクトルを出力するためにモデルをトレーニングするために追加の損失項を含めることができる。中間的な特徴マップの解像度が低いため、この手法は、頂点又は顔の法線を近似するためにのみ適切であろう。法線マップ又はアンビエントオクルージョンマップのような他の高解像度マップは、他の手段を使用して作成する必要がある可能性がある。
【0147】
少なくとも1つの実施形態では、変形マップから頂点オフセットに補間するために、各キャラクタリグに提供されるテクスチャ座標が使用された。これらの座標は、テクスチャをメッシュ表面にマッピングするためにうまく機能するが、本明細書に開示される実施形態による近似方法にはうまく適合しない可能性がある。例えば、キャラクタの口の上唇と下唇のテクスチャ座標は、互いに近接している可能性がある。下唇の頂点は、口が開いたときに上唇から遠く離れて移動することができる。テクスチャ座標が十分に近い場合、両方の唇の頂点は変形マップの同じピクセルに位置する可能性がある。その場合、口が開いたときに唇がくっついたように見えるので、不正確な変形になる。このような問題を回避するために、既存のテクスチャ座標に依存するのではなく、この近似タスクのために特別に新しい変形マップ座標を生成することができる。
【0148】
図15は、少なくとも1つの実施形態による顔モデルのメッシュ変形を生成するための方法1500のフローチャートである。
【0149】
ブロック1502において、第1の複数の変形マップは、第1の複数のニューラルネットワークトレーニングモデルを適用することによって生成される。
【0150】
少なくとも更なる実施形態において、第1の複数のニューラルネットワークトレーニングモデルの各々は、畳み込みニューラルネットワーク(CNN)モデルを含む。
【0151】
例えば、
図3を参照すると、変形マップ306は、粗い近似モデル304を適用することによって生成される。粗い近似モデル304の各々は、CNNモデルを含むことができる。
【0152】
ブロック1504において、第1の複数の頂点オフセットは、第1の複数の変形マップに基づいて抽出される。
【0153】
少なくとも更なる実施形態において、第1の複数の頂点オフセットを抽出するステップは、複数の頂点位置で第1の複数の変形マップのうちの少なくとも1つの変形マップの補間を実行するステップを含む。補間は、バイリニア補間又はキュービック補間を含むことができる。
【0154】
例えば、
図3を参照すると、変形マップ306に基づいて頂点オフセットが抽出される。抽出は、1又は2以上の頂点位置(例えば、UV座標)において、変形マップ306の少なくとも1つの補間を実行することを含むことができる。実行される補間は、バイリニア補間又はキュービック補間とすることができる。
【0155】
ブロック1506において、第1の複数の頂点オフセットは、顔モデルのメッシュ変形を生成するために顔モデルのニュートラルメッシュに適用される。
【0156】
少なくとも更なる実施形態において、第1の複数の頂点オフセットを顔モデルのニュートラルメッシュに適用するステップは、第1の複数の頂点オフセットをニュートラルメッシュの複数の頂点の値に追加するステップを含む。
【0157】
例えば、
図3を参照すると、頂点オフセットは、顔モデルのニュートラルメッシュ312に適用され、近似メッシュ変形316を生成する。頂点オフセットは、メッシュ312のニュートラルポーズの頂点に頂点オフセットを加える(例えば、加算器310で)ことによって適用することができる。
【0158】
少なくとも更なる実施形態では、ブロック1508において、第2の複数の変形マップが、第2の複数のニューラルネットワークトレーニングモデルを適用することによって生成され、第2の複数の変形マップは、第1の複数の変形マップよりも大きい解像度を有する。
【0159】
例えば、
図3を参照すると、変形マップ326は、微細近似モデル324を適用することによって生成される。変形マップ326は、変形マップ306よりも大きい解像度を有する。
【0160】
少なくとも更なる実施形態では、ブロック1510において、第2の複数の頂点オフセットが、第2の複数の変形マップに基づいて抽出される。
【0161】
例えば、
図3を参照すると、頂点オフセットは、変形マップ326に基づいて抽出される。抽出は、1又は2以上の頂点位置(例えば、UV座標)において変形マップ326の少なくとも1つの補間を実行することを含むことができる。実行される補間は、バイリニア補間又はキュービック補間とすることができる。
【0162】
少なくとも更なる実施形態では、ブロック1512において、第2の複数の頂点オフセットは、顔モデルのニュートラルメッシュに適用され、顔モデルのメッシュ変形を生成する。
【0163】
更に更なる実施形態では、第1の複数の頂点オフセットをニュートラルメッシュの全ての頂点の値に適用することによって、第1の複数の頂点オフセットがニュートラルメッシュに適用される。第2の複数の頂点オフセットは、メッシュ変形を生成するために、第2の複数の頂点オフセットをニュートラルメッシュの頂点の最大でも部分集合の値に適用することによって、ニュートラルメッシュに適用される。中立メッシュの頂点のサブセットは、特定の閾値以上である近似誤差のレベルを示す中立メッシュの1又は2以上の領域に対応することができる。
【0164】
例えば、
図3を参照すると、(変形マップ326に基づいて抽出された)頂点オフセットは、近似メッシュ変形316を生成するために顔モデルのニュートラルメッシュ312に適用される。
【0165】
頂点オフセット(変形マップ306に基づいて抽出される)は、中性メッシュ312の全ての頂点の値にこれらの頂点オフセットを適用することによって、中性メッシュ312に適用することができる。頂点オフセット(変形マップ326に基づいて抽出される)は、近似メッシュ変形316を生成するために、これらの頂点オフセットを中立メッシュ312の頂点の最大でも部分集合の値に適用することによって、中立メッシュ312に適用することができる。中立メッシュ312の頂点のサブセットは、特定の閾値以上である近似誤差のレベルを示す中立メッシュの1又は2以上の領域に対応することができる。
【0166】
少なくとも更なる実施形態において、第1の複数の頂点オフセットは、第1の複数の頂点オフセットを中立メッシュの複数の頂点の値に追加して、複数の中間頂点値(intermediary vertex values)を生成することによって、顔モデルの中立メッシュに適用される。第2の複数の頂点オフセットは、複数の中間頂点値の最大でもサブセットに第2の複数の頂点オフセットを追加することによってニュートラルメッシュに適用され、メッシュ変形を生成する。
【0167】
例えば、
図3を参照すると、(変形マップ306に基づいて抽出された)頂点オフセットは、複数の中間頂点値(例えば、加算器310の出力を参照)を生成するために、中性メッシュの複数の頂点の値に頂点オフセットを加算(例えば、加算器310で)することによって中性メッシュ312に適用される。頂点オフセット(変形マップ326に基づいて抽出される)は、近似メッシュ変形316を生成するために、複数の中間頂点値の最大でもサブセットに頂点オフセットを加える(例えば、加算器314で)ことによって、中立メッシュ312に適用される。
【0168】
少なくとも更なる実施形態では、ブロック1514において、第1の複数の変形マップ及び第2の複数の変形マップに基づいて、変形中に剛体的に動く顔モデルの1又は2以上の剛体メッシュセグメントが識別される。1又は2以上の剛体メッシュセグメントの各々の別個の近似が実行される。
【0169】
1又は2以上の剛体メッシュセグメントの各々の別個の近似を実行するステップは、剛体メッシュセグメントの頂点に対して剛体回転及び並進を実行するステップを含むことができる。
【0170】
例えば、
図5を参照すると、三角形502に対応する剛体メッシュセグメントが識別される。三角形502に対応するメッシュセグメントの別個の近似が実行される。
図5を参照して、ライン504のドット506に対する剛体回転及び平行移動を実行することができる。
【0171】
図16は、少なくとも1つの実施形態による顔モデルの変形の近似を生成するための方法1600のフローチャートである。
【0172】
少なくとも更なる実施形態によれば、ブロック1602において、第1の複数の頂点及び第2の複数の頂点の手動定義が受け取られる。
【0173】
例えば、
図7を参照すると、制御点702の定義(サブセット704-1及びサブセット704-2を含む)が、ユーザから受け取られる。
【0174】
第1の複数の頂点は、第1の複数の逆運動学(IK)制御点を含むことができ、第2の複数の頂点は、第2の複数のIK制御点を含むことができる。
【0175】
第1の複数のIK制御点は、顔モデルの第1の領域に対応することができ、第2の複数のIK制御点は、第1の領域に関して不連続である顔モデルの第2の領域に対応することができる。
【0176】
例えば、
図7を参照すると、サブセット704-1は、顔モデルの第1の目(例えば、右目)に対応する第1の領域に対応する第1の複数の逆IK制御点を含む。サブセット704-2は、顔モデルの第2の目(例えば、左目)に対応する第2の領域に対応する第2の複数の逆IK制御点を含む。
【0177】
ブロック1604において、第1の複数の頂点は、第1のリグパラメータポーズを生成するために第1のネットワークに提供される。第1のネットワークは、第1の緻密なニューラルネットワークモデルを含むことができる。第1の緻密なニューラルネットワークモデルは、第1の複数の畳み込み層を含むことができる。
【0178】
例えば、
図7を参照すると、サブセット704-1の制御点は、サブセット708-1を生成するために、緻密なニューラルネットワーク706-1に入力される。
【0179】
ブロック1606において、第2の複数の頂点は、第2のネットワークに提供され、第2のリグパラメータポーズを生成する。第2のネットワークは、第2の緻密なニューラルネットワークモデルを含むことができる。第2の緻密なニューラルネットワークモデルは、第2の複数の畳み込み層を含むことができる。
【0180】
例えば、
図7を参照すると、サブセット704-2の制御点は、サブセット708-2を生成するために、緻密なニューラルネットワーク706-2に入力される。
【0181】
ブロック1608において、第1のリグパラメータポーズ及び第2のリグパラメータポーズは、合成リグパラメータポーズを生成するために処理される。合成リグパラメータポーズは、顔モデルの変形の近似に対応する。
【0182】
第1のリグパラメータポーズ及び第2のリグパラメータポーズを処理するステップは、第1のリグパラメータポーズ及び第2のリグパラメータポーズの1又は2以上の平均値を生成するステップを含むことができる。
【0183】
例えば、
図7を参照すると、出力からの有効値(出力サブセット708-1、708-2を含む)は、最終的な平均化リグパラメータポーズ710を生成するために全体として平均化される。
【0184】
本開示の実施形態を利用することにより、変形の正確な近似は、はるかに多くの時間及びコンピューティングリソースを必要とする元の変形関数と比較して、著しく少ない量のコンピューティングリソースを用いて、著しく少ない時間で達成することができる。本開示の実施形態は、特に、他の既知の変形技術と比較して、グランドトゥルース変形結果と比較した場合、より少ないコンピューティング時間ではるかに正確な結果を達成する。
【0185】
ここで
図17を参照すると、本開示の様々な実施形態を実装又は組み込むことができる、コンピュータグラフィックス画像(CGI)及びコンピュータ支援アニメーションを作成するためのシステム600の簡略化されたブロック図が示されている。システム600は、1又は2以上の端末601を含むことができる。1又は2以上の端末601は、CGIを設計し、コンピュータ支援アニメーションを支援するために構成されたハードウェア要素及びソフトウェア要素を含むことができる。端末601は、コンピュータハードウェア及び/又はソフトウェアに対応する、単一のコンピューティングデバイス又は1又は2以上のコンピューティングデバイスのセットとして実装することができる。
【0186】
端末601の例は、デスクトップコンピュータ、ラップトップコンピュータ、ワークステーションコンピュータ、メインフレーム、クラスタコンピューティングシステム、クラウドコンピューティング端末、組み込みコンピューティングデバイス、コンピュータグラフィックスデバイス、ゲームデバイス及びコンソール、ビデオメディア再生デバイス、プログラマブルプロセッサを有する消費電子デバイス、又は同様のものとすることができる。1又は2以上の端末601は、プリプロダクション、モデリング、設計、作成、編集、シミュレーション、アニメーション、レンダリング、ポストプロダクション、仕上げ、出版などを含む制作プロセスの様々な段階で利用され、画像、画像シーケンス、動画、ビデオ、オーディオ、又はCGI及びアニメーションに関連する関連効果に関連するかもしくはこれらを含む記録物、コンピュータファイル、有形材料などを生成することができる。
【0187】
システム600の一例において、ユーザ602は、1又は2以上の端末601を利用して、端末601に関連するディスプレイ上に表示されるコンピュータ生成インタフェース内のオブジェクトを設計、作成、又は修正することができる。
【0188】
端末は、オブジェクトライブラリ603、オブジェクトモデリングユニット604、オブジェクトリギングユニット605、オブジェクトアニメーションユニット606、オブジェクトレンダリングユニット607、及びオブジェクト照明ユニット608を含むシステム及びユニットを実装し、含み、又は他の方法で動作可能に通信することができる。オブジェクトライブラリ603は、CGI及びアニメーションプロセスにおいてオブジェクトの3Dモデルを設計、作成、及び修正するために1又は2以上の端末601によってアクセス、要求、取得、及び/又は使用されるオブジェクトに関連する情報を格納及びアクセスするために構成されたソフトウェア及び/又はハードウェア要素を含むことができる。
【0189】
オブジェクトモデリングユニット604は、CGI及びアニメーションプロセス中にユーザ602、又は他の端末オペレータによって指示された所望の外観を取るために3Dモデルを彫刻及び設計するために、1又は2以上の端末601によってアクセス、要求、取得、及び/又は使用されるソフトウェア及び/又はハードウェア要素及び情報を含むことができる。
【0190】
オブジェクトリギングユニット605は、3Dモデルの様々な要素のジョイント点及び動作範囲を定義するために、3Dモデルのコンポーネントを設計、作成、又は修正するために1又は2以上の端末601によってアクセス、要求、取得、及び/又は使用されるソフトウェア及び/又はハードウェア要素及び情報を含むことができる。
【0191】
オブジェクトアニメーションユニット606は、アニメーションパス、キューなどを指定すること、又は3Dモデルのアニメーション動作のためのキーフレーム又は中間フレームを生成することなど、アニメーション中に時間経過とともに3Dモデルの様々な要素の動作及び位置を指定することを含む、3Dモデルのアニメーションアスペクトを設計、作成、又は修正するために1又は2以上の端末601によってアクセス、要求、取得、及び/又は使用するソフトウェア要素及び/又はハードウェア要素並びに情報を含むことができる。
【0192】
オブジェクトレンダリングユニット607は、テクスチャ、色、リギング、制御などを含む1又は2以上のコンピュータ生成オブジェクトの1又は2以上の画像を生成することを含む、アニメーション3Dモデルの最終外観を設計、作成、又は修正するために1又は2以上の端末601によってアクセス、要求、取得、及び/又は使用されるソフトウェア及び/又はハードウェア要素及び情報を含むことができる。
【0193】
オブジェクト照明ユニット608は、照明源、シェーディング、反射、屈折、テクスチャ、色などを定義することを含む、3Dモデル及びアニメーションシーンの照明態様を設計、作成、又は修正するために1又は複数の端末601によってアクセス、要求、取得、及び使用されるソフトウェア及び/又はハードウェア要素及び情報を含むことができる。
【0194】
1又は2以上の端末601は、1又は2以上のデータストア(例えば、データベース、インデックス、ファイル、又は他のデータ構造)と動作的に通信していてもよい1又は2以上のサーバコンピュータと通信していてもよい。1又は2以上のサーバコンピュータは、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)(例えば、インターネット)、電話網、衛星又は無線通信ネットワーク、又はこれら又は同様のネットワークの幾つかの組み合わせを含むデータ通信ネットワークに接続することができる。
【0195】
選択された実施形態において、1又は2以上のサーバコンピュータは、オブジェクトライブラリ603、オブジェクトモデリングユニット604、オブジェクトリギングユニット605、オブジェクトアニメーションユニット606、オブジェクトレンダリングユニット607、オブジェクト照明ユニット608などを含むアニメーションシステムの一つ以上のプロセス、システム、又はユニットを実装することができる。1又は2以上の端末601、1又は2以上のサーバコンピュータ、又はシステム600の他の何れかの態様は、本開示の操作を表示、実行、実行、指示、レビュー、及び/又は選択するための表示されたインタフェースを含む、情報を表示すように構成されたディスプレイと関連又は結合することができる。
【0196】
図18を参照すると、例示的なコンピュータ1700の例図が提供される。1又は2以上の端末600又は1又は2以上のサーバコンピュータなど、
図17で上述したシステム600の態様の1又は2以上は、このようなコンピュータ1700として構成することができ、又はこのようなコンピュータを含むことができる。選択された実施形態では、コンピュータ1700は、バス1703(又は複数のバス)又は他の通信機構、プロセッサ1701、メインメモリ1704、読み取り専用メモリ(ROM)1705、1又は2以上の追加のストレージデバイス1706、及び/又は通信インタフェース1702、又はこのようなもの、又はその部分的組み合わせを含むことができる。本明細書に記載される実施形態は、1又は2以上の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、又は本明細書に記載の機能を果たすように設計された他の電子ユニット内、もしくはその選択的な組み合わせで実施することができる。全ての実施形態において、本明細書に記載される様々な構成要素は、単一の構成要素として実装することができ、又は代替的に、様々な別々の構成要素で実装することができる。
【0197】
複数のこのようなバス又は機構を含むバス1703又は他の通信機構は、コンピュータ1700内の情報の通信をサポートすることができる。プロセッサ1701は、バス1703に接続され、情報を処理することができる。選択された実施形態では、プロセッサ1701は、特定のタスクを定義する機械可読ソフトウェアコードを実行することによって、本明細書に開示された特徴及び態様に従って特定のタスクを実行するように構成された特殊又は専用のマイクロプロセッサとすることができる。メインメモリ1704(例えば、ランダムアクセスメモリ-RAM-又は他の動的記憶装置)は、バス1703に接続され、プロセッサ1701によって実行される情報及び命令を記憶することができる。また、メインメモリ1704は、当該命令の実行中に一時的な変数又は他の中間情報を格納することができる。
【0198】
ROM1705又は他の静的記憶装置は、バス1703に接続され、プロセッサ1701のための静的な情報及び命令を記憶することができる。また、バス1703に追加の記憶装置1706(例えば、磁気ディスク、光ディスク、メモリカード等)が接続することができる。主記憶装置1704、ROM1705、及び追加の記憶装置1706は、情報、命令、又はこれらの幾つかの組み合わせ、例えば、プロセッサ1701によって実行されると、コンピュータ1700に本明細書に記載する方法の1又は複数の動作を実行させる命令を保持する非一時的コンピュータ可読媒体を含むことができる。通信インタフェース1702も、バス1703に接続することができる。通信インタフェース1702は、コンピュータ1700と1又は2以上の外部デバイス(例えば、コンピューティング環境内に含まれる他のデバイス)との間の双方向データ通信を提供又はサポートすることができる。
【0199】
選択された実施形態では、コンピュータ1700は、ディスプレイ1707に(例えば、バスを介して)接続することができる。ディスプレイ1707は、コンピュータ1700のユーザに情報を伝達するために、何れかの適切な機構を使用することができる。例えば、ディスプレイ1707は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、プロジェクタ、又は他のディスプレイ装置を含み、又は利用して、視覚ディスプレイでコンピュータ1700のユーザに情報を提示すことができる。1又は2以上の入力デバイス1708(例えば、英数字キーボード、マウス、マイク、スタイラスペン)は、情報及びコマンドをコンピュータ1700に通信するためにバス1703に接続することができる。選択された実施形態では、1つの入力デバイス1708は、コンピュータ1700によって提供され、ディスプレイ1707によって表示される様々なオブジェクト、ファイル、プログラムなどの選択及び実行を可能にするために、カーソルの位置決めに対する制御を提供又はサポートすることができる。
【0200】
コンピュータ1700は、1又は2以上のビデオファイルを送信、受信、デコード、表示、又は同様のことを行うために使用することができる。選択された実施形態では、このような送信、受信、デコード、及び表示は、プロセッサ1701がメインメモリ1704に含まれる1又は2以上の命令の1又は2以上のシーケンスを実行することに応答していてもよい。このような命令は、別の非一時的なコンピュータ可読媒体(例えば、記憶装置)からメインメモリ1704に読み込まれてもよい。
【0201】
メインメモリ1704に含まれる命令のシーケンスの実行は、プロセッサ1701に、本明細書に記載される手順又はステップのうちの1つ又は複数を実行させることができる。選択された実施形態では、マルチプロセッシング配置における1又は2以上のプロセッサも、メインメモリ1704に含まれる命令のシーケンスを実行するために採用することができる。代替的に、又はそれに加えて、ファームウェアが、ソフトウェア命令の代わりに、又はソフトウェア命令に関連して使用され、本明細書に開示される特徴及び態様に従った手順又はステップを実施することができる。従って、本明細書に開示された特徴及び態様に従った実施形態は、ハードウェア回路及びソフトウェアの何れかの特定の組み合わせに限定されない場合がある。
【0202】
非一時的なコンピュータ可読媒体は、プロセッサ1701による実行のための命令の保持に参加する、又はコンピュータによる処理のためのデータを格納する何れかの媒体を指すことができ、一時的な伝播信号が唯一の例外である、全てのコンピュータ可読媒体を含む。このような非一時的なコンピュータ可読媒体は、不揮発性媒体、揮発性媒体、及び一時記憶媒体(例えば、キャッシュメモリ)を含むことができるが、これらに限定されない。不揮発性媒体は、追加記憶装置のような光ディスク又は磁気ディスクを含むことができる。揮発性メディアは、メインメモリなどのダイナミックメモリを含むことができる。非一時的コンピュータ可読媒体の一般的な形態は、例えば、ハードディスク、フロッピーディスク、磁気テープ、又は他の何れかの磁気媒体、CD-ROM、DVD、Blu-ray(登録商標)又は他の光学媒体、RAM、PROM、EPROM、FLASH(登録商標)-EPROM、他の何れかのメモリカード、チップ、又はカートリッジ、又はコンピュータが可読な他の何れかのメモリ媒体を含むことができる。
【0203】
選択された実施形態では、通信インタフェース1702は、ネットワークリンクへの、又はネットワークリンクを介した外部、双方向データ通信を提供又はサポートすることができる。例えば、通信インタフェース1702は、データ通信ネットワーク接続を提供する無線ネットワークインタフェースコントローラ又はセルラー無線機とすることができる。或いは、通信インタフェース1702は、互換性のあるLANへのデータ通信接続を提供するローカルエリアネットワーク(LAN)カードで構成することができる。何れかのこのような実施形態において、通信インタフェース1702は、情報を伝達する電気信号、電磁信号、又は光信号を送受信することができる。
【0204】
ネットワークリンクは、1又は2以上のネットワークを介して、他のデータ装置(例えば、システム600に示されるような1又は2以上の端末601)へのデータ通信を提供することができる。例えば、ネットワークリンクは、ホストコンピュータのローカルネットワークを介して、又はインターネットサービスプロバイダ(ISP)によって運営されるデータ装置への接続を提供することができる。ISPは、順番に、インターネットを通じてデータ通信サービスを提供することができる。従って、コンピュータ1700は、1又は2以上のネットワーク、ネットワークリンク、及び通信インタフェース1702を介して、プログラムコードを含むコマンド、データ、又はこれらの組み合わせを送受信することができる。従って、コンピュータ1700は、リモートサーバ、又はその幾つかの組み合わせとインタフェース又は他の方法で通信することができる。
【0205】
本明細書で論じた様々な装置、モジュール、端末などは、上述したように、コンピュータ可読媒体から読み取られた機械命令からなるソフトウェアの実行によってコンピュータ上で実装することができる。特定の実施形態では、幾つかのハードウェアの態様は、単一のコンピュータを使用して実装することができ、他の実施形態では、複数のコンピュータ、入出力システム及びハードウェアが、システムを実装するのに使用することができる。
【0206】
ソフトウェア実装(software implementation)の場合、本明細書に記載の特定の実施形態は、各々が本明細書に記載の機能及び操作の1又は2以上を実行する、手続き及び関数などの別々のソフトウェアモジュールで実装することができる。ソフトウェアコードは、何れかの適切なプログラミング言語で書かれたソフトウェアアプリケーションで実装することができ、メモリに格納され、コントローラ又はプロセッサによって実行されることができる。
【0207】
上記の説明した実施形態及び特徴は、単に例示的なものであり、本発明を限定するものと解釈するべきではない。本発明の教示は、他のタイプの装置及びプロセスに容易に適用することができる。このような実施形態の記載は、例証を意図しており、特許請求の範囲を限定するものではない。多くの代替形態、修正形態、及び変形形態が当業者に明らかであろう。
【符号の説明】
【0208】
302 リグパラメータ
304 粗い近似モデル
306 変形マップ
308 サブセット
310 加算器
312 メッシュ
314 加算器
316 変形メッシュ
324 微細近似モデル
326 変形マップ