(57)【特許請求の範囲】
【請求項１】
３次元（３Ｄ）顔モデリングのための方法であり、
顔コントロールパラメータに関する意味記述および関連する測定基準を受信する段階と、
複数の３Ｄ顔のそれぞれを生成するための複数の主成分分析係数（複数のＰＣＡ係数）を取得する段階と、
前記複数のＰＣＡ係数に応じて前記複数の３Ｄ顔のそれぞれを生成する段階と、
前記測定基準に応じて前記複数の３Ｄ顔のそれぞれに関する測定値を決定する段階と、
複数の前記測定値に応じて前記顔コントロールパラメータを前記複数のＰＣＡ係数にマッピングするための複数の回帰パラメータを決定する段階と
を備える方法。
【請求項２】
前記複数のＰＣＡ係数を取得する段階は、前記複数のＰＣＡ係数をメモリからランダムに取得する段階を有する、請求項１に記載の方法。
【請求項３】
前記意味記述は、顔形状の意味記述を含む、請求項１または２に記載の方法。
【請求項４】
前記顔形状は、楕円形、細長形、ハート形、四角形、丸形、三角形、および菱形のうち１つを含む、請求項３に記載の方法。
【請求項５】
前記複数の回帰パラメータをメモリに格納する段階をさらに備える、請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記複数の回帰パラメータは第１の複数の回帰パラメータを含み、
前記方法は、
前記第１の複数の回帰パラメータを前記メモリから受信する段階と、
前記顔コントロールパラメータの値を受信する段階と、
前記値に応じて、前記複数のＰＣＡ係数に含まれる第１の複数のＰＣＡ係数を決定する段階と、
前記第１の複数のＰＣＡ係数に応じて３Ｄ顔を生成する段階と
をさらに備える、請求項５に記載の方法。
【請求項７】
前記顔コントロールパラメータの前記値は、特徴コントローラの操作に応じて生成された前記顔コントロールパラメータの値を含む、請求項６に記載の方法。
【請求項８】
前記特徴コントローラはスライダーを含む、請求項７に記載の方法。
【請求項９】
前記特徴コントローラは、複数の顔形状コントローラのうちの１つを含む、請求項７または８に記載の方法。
【請求項１０】
前記複数の顔形状コントローラは、細長形の顔形状、楕円形の顔形状、ハート形の顔形状、四角形の顔形状、丸形の顔形状、三角形の顔形状、および菱形の顔形状のそれぞれに対応する別個の複数の特徴コントローラを含む、請求項９に記載の方法。
【請求項１１】
３次元（３Ｄ）顔モデリングのための方法であり、
顔コントロールパラメータを複数の主成分分析係数（複数のＰＣＡ係数）にマッピングするための複数の回帰パラメータを受信する段階と、
前記顔コントロールパラメータの値を受信する段階と、
前記複数の回帰パラメータを用いて、前記値に応じて複数のＰＣＡ係数を決定する段階と、
前記複数のＰＣＡ係数に応じて３Ｄ顔を生成する段階と
を備える方法。
【請求項１２】
前記顔コントロールパラメータの前記値は、特徴コントローラの操作に応じて生成される前記顔コントロールパラメータの値を含む、請求項１１に記載の方法。
【請求項１３】
前記特徴コントローラはスライダーを含む、請求項１２に記載の方法。
【請求項１４】
前記特徴コントローラは、複数の顔形状コントローラのうちの１つを含む、請求項１２または１３に記載の方法。
【請求項１５】
前記複数の顔形状コントローラは、細長形の顔形状、楕円形の顔形状、ハート形の顔形状、四角形の顔形状、丸形の顔形状、三角形の顔形状、および菱形の顔形状のそれぞれに対応する別個の複数の特徴コントローラを含む、請求項１４に記載の方法。
【請求項１６】
３次元（３Ｄ）顔モデリングのためのシステムであり、
プロセッサと、
前記プロセッサに結合されたメモリと
を備え、
前記メモリ内の命令は、前記プロセッサに、
顔コントロールパラメータを複数の主成分分析係数（複数のＰＣＡ係数）にマッピングするための複数の回帰パラメータを受信させ、
前記顔コントロールパラメータの値を受信させ、
前記複数の回帰パラメータを用いて、前記値に応じて複数のＰＣＡ係数を決定させ、
前記複数のＰＣＡ係数に応じて３Ｄ顔を生成させる、システム。
【請求項１７】
ユーザインタフェースをさらに備え、
前記ユーザインタフェースは、複数の特徴コントローラを有し、
前記メモリ内の前記命令は、前記プロセッサに、前記複数の特徴コントローラのうちの第１の特徴コントローラの操作に応じて、前記顔コントロールパラメータの前記値を受信させる、請求項１６に記載のシステム。
【請求項１８】
前記複数の特徴コントローラは、複数のスライダーコントローラを含む、請求項１７に記載のシステム。
【請求項１９】
前記複数の特徴コントローラは、複数の顔形状コントローラを含む、請求項１７または１８に記載のシステム。
【請求項２０】
前記複数の顔形状コントローラは、細長形の顔形状、楕円形の顔形状、ハート形の顔形状、四角形の顔形状、丸形の顔形状、三角形の顔形状、および菱形の顔形状のそれぞれに対応する別個の複数の特徴コントローラを含む、請求項１９に記載のシステム。
【請求項２１】
３次元（３Ｄ）顔モデリングのためのシステムであり、
プロセッサと、
前記プロセッサに結合されたメモリと
を備え、
前記メモリ内の命令は、前記プロセッサに、請求項１から１５のいずれか一項に記載の方法を実行させる、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
人の顔特徴の３Ｄモデリングは、人のリアルな３Ｄ表現を作成するために一般的に用いられている。例えば、アバターなど人の仮想表現は、そのようなモデルを利用することが多い。顔の描写を生成するためのいくつかの従来のアプリケーションにより、ユーザは、元となる３Ｄモデルの様々な要素を直接的に変化させることにより、異なる顔のタイプ、民族性などを反映させるよう顔特徴をカスタマイズ出来るようになる。例えば、従来の解決方法は、顔形状、テクスチャ、性別、年齢、民族性などを変化させることを可能とし得る。しかし、既存のアプローチは、汎用的な３Ｄ顔モデルの生成を可能とするようなやり方では、意味論的な顔形状、またはその一部の操作を可能とはしない。
【図面の簡単な説明】
【０００２】
本明細書に説明される事項は、添付の図面に例示として示され、限定されるわけではない。説明を簡潔および明瞭にすべく、図面に示される要素は、必ずしも縮尺通りには描画されていない。例えば、いくつかの要素の寸法は、明瞭に示すべく、他の要素と比して誇張されているかもしれない。さらに、対応する、または類似の要素を示すべく、複数の図面に亘り参照ラベルが適宜繰り返される。
【図１】例示的なシステムの説明図である。
【図２】例示的なプロセスを示す。
【図３】例示的なプロセスを示す。
【図４】例示的な平均顔を示す。
【図５】例示的なプロセスを示す。
【図６】例示的なユーザインタフェースを示す。
【図７】例としての顔コントロールパラメータの方式を示す。
【図８】例としての顔コントロールパラメータの方式を示す。
【図９】例としての顔コントロールパラメータの方式を示す。
【図１０】例としての顔コントロールパラメータの方式を示す。
【図１１】本開示の少なくともいくつかの実施例に従って全てが構成された例示的なシステムの説明図である。
【発明を実施するための形態】
【０００３】
添付の図面を参照し、１以上の実施形態または実施例を説明する。詳細な設定および構成が説明されるが、これは例示のみを目的としていることを理解されたい。当業者であれば、本説明の思想および態様から逸脱することなく他の設定および構成を採用し得ることを理解されよう。本明細書に説明される技術および／または構成が、本明細書に説明されるシステムおよび適用例以外の他の様々なシステムおよび適用例においても採用され得ることが当業者には明らかとなろう。
【０００４】
以下の説明において、例えばシステムオンチップ（ＳｏＣ）アーキテクチャなどのアーキテクチャで具体化され得る様々な実施例が明記されるが、本明細書で説明される技術および／または構成の実施例は特定のアーキテクチャおよび／またはコンピューティングシステムに限定されず、同様の目的のために、任意のアーキテクチャおよび／またはコンピューティングシステムにより実装され得る。例えば、複数の集積回路（ＩＣ）チップおよび／またはパッケージなどを採用する様々なアーキテクチャ、並びに／若しくは、セットトップボックス、スマートフォンなど様々なコンピューティングデバイスおよび／または消費者向け電子（ＣＥ）デバイスが、本明細書に説明される技術および／または構成を実装し得る。さらに、以下の説明においては、ロジックの実装、システムコンポーネントのタイプおよび関係、ロジックの分割／統合の選択など様々な特定的な詳細が明記され得るが、特許請求される主題は、そのような特定的な詳細を用いなくとも実施され得る。他の例においては、本明細書に開示される事項を曖昧にすることを避けるべく、例えば、制御構造および完全なソフトウェア命令シーケンスなどいくつかの事項について詳細には示さない。
【０００５】
本明細書に開示される事項は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの何らかの組み合わせで実施され得る。本明細書に開示される事項は、１以上のプロセッサにより読み取られ実行され得る、機械可読媒体に格納される命令としても実施され得る。機械可読媒体は、機械（例えば、コンピューティングデバイス）が読み取り可能な形態で情報を格納または送信するための何らかの媒体および／またはメカニズムを含み得る。例えば、機械可読媒体には、読み取り専用メモリ（ＲＯＭ），ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光学式記憶媒体、フラッシュメモリデバイス、電気、光、音響、または他の形態の伝搬信号（搬送波、赤外線信号、デジタル信号など）などが含まれる。
【０００６】
本明細書において「一実施例」、「実施例」、「例示的な実施例」などについて言及した場合、説明される実施例が、特定の特徴、構造、または特質を含み得ることを示し、全ての実施例が同特定の特徴、構造、または特質を含むとは限らない。さらに、そのような文言は、同じ実施例を指すとは限らない。さらに、特定の特徴、構造、または特質がある実施例に関連して説明された場合、そのような特徴、構造、または特質を、本明細書に明示的に説明される、または明示的に説明されない他の実施例と関連して実施することが可能であることを当業者であれば理解されよう。
【０００７】
図１は、本開示に係る例示的なシステム１００を示す。様々な実施例において、システム１００は、モデル３Ｄ顔のデータベース１０４に格納されたモデル３Ｄ顔に応じて、および、コントロールモジュール１０６により提供されるコントロールデータに応じて、パラメータ化された３Ｄ顔生成が可能な３Ｄ変形可能顔モデル１０２を含み得る。本開示によると、データベース１０４に格納されるモデル顔のそれぞれは、１以上の主成分分析係数（ＰＣＡ係数）の形態の顔形状および／またはテクスチャデータに対応し得る。変形可能顔モデル１０２は、データベース１０４により提供される形状および／またはテクスチャデータをベクトル空間表現に変換することにより抽出され得る。
【０００８】
以下により詳細に説明するように、モデル１０２は、データベース１０４内の顔に応じて変形可能なモデル顔を学習し得、ここで、変形可能な顔は、平均顔とＰＣＡ固有値および固有ベクトルとの一次結合として表現され得る。また以下により詳細に説明するように、コントロールモジュール１０６は、モデル１０２の出力を制御し得る１以上の顔特徴コントローラ（例えばスライダー）を提供するユーザインタフェース（ＵＩ）１０８を含み得る。
【０００９】
様々な実施例において、システム１００のモデル１０２およびコントロールモジュール１０６は、コンピューティングシステムの１以上のプロセッサコアで実行される１以上のソフトウェアアプリケーションにより提供され得、コンピューティングシステムに関連付けられた１以上の記憶デバイス（例えば、物理メモリデバイス、ディスクドライブなど）は、データベース１０４を提供し得る。他の実施例において、システム１００の様々なコンポーネントは、データベース１０４および／またはコントロールモジュール１０６がモデル１０２から物理的に遠隔であり得るよう、様々な有線または無線のネットワーキング技術のうちいずれかを用いて、地理的に分散させられ、通信可能に互いに結合され得る。例えば、モデル１０２から遠隔の１以上のサーバがデータベース１０４を提供し得、顔データは、例えばインターネット上でモデル１０２へと送信され得る。同様に、ＵＩ１０８などコントロールモジュール１０６の少なくとも一部は、コンピューティングシステムのウェブブラウザのアプリケーションによって提供され得、モデル１０２は、当該コンピューティングシステムから遠隔であり、インターネットを介してモジュール１０６に結合された１以上のサーバにより提供され得る。
【００１０】
図２は、本開示の様々な実施例に係る、モデル顔を生成するための例示的なプロセス２００のフロー図を示す。様々な実施例において、プロセス２００は、システム１００のデータベース１０４などデータベースに格納されるモデル顔を生成するために用いられ得る。プロセス２００は、図２の１以上のブロック２０２、２０４、２０６、２０８、２１０に示されるような１以上の操作、機能、または動作を含み得る。非限定的な例として、プロセス２００は本明細書において、図１の例示的なシステムを参照して説明される。プロセス２００はブロック２０２から開始され得る。
【００１１】
ブロック２０２において、３Ｄ顔画像が受信され得る。例えば、ブロック２０２は、画像の各点または各頂点についての形状データ（例えば、デカルト座標のｘ、ｙ、ｚ）およびテクスチャデータ（例えば、８ビット深度における赤色、緑色、青色）に関して顔を特定するデータを受信することを伴いうる。例えば、ブロック２０２で受信される３Ｄ顔画像は、レーザスキャンなどの公知の技術を用いて生成されていてもよく、何千もの頂点を含みうる。様々な実施例において、ブロック２０２において受信される顔画像の形状およびテクスチャはそれぞれ、列ベクトルＳ＝（ｘ１，ｙ１，ｚ１，ｘ２，ｙ２，ｚ２，...，ｘｎ，ｙｎ，ｚｎ）ｔ、および、Ｔ＝（Ｒ１，Ｇ１，Ｂ１，Ｒ２，Ｇ２，Ｂ２，...，Ｒｎ，Ｇｎ，Ｚｎ）ｔによって表現され得る（ここでｎは、顔の頂点の数である）。
【００１２】
ブロック２０４において、３Ｄ画像の予め定められた顔の目印が検出または識別され得る。
【００１３】
例えば、様々な実施例において、ブロック２０４において目印を抽出すべく公知の技術が３Ｄ画像に対して適用され得る（例えば、Ｗｕ  ａｎｄ  Ｔｒｉｖｅｄｉ，"Ｒｏｂｕｓｔ  ｆａｃｉａｌ  ｌａｎｄｍａｒｋ  ｄｅｔｅｃｔｉｏｎ  ｆｏｒ  ｉｎｔｅｌｌｉｇｅｎｔ  ｖｅｈｉｃｌｅ  ｓｙｓｔｅｍ"，Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍｏｄｅｌｉｎｇ  ｏｆ  Ｆａｃｅｓ  ａｎｄ  Ｇｅｓｔｕｒｅｓ，Ｏｃｔｏｂｅｒ  ２００５を参照されたい）。様々な実施例において、ブロック２０４は、公知の技術を用いて、予め定められた目印、およびそれらに関連する形状およびテクスチャベクトルを識別することを伴いうる（例えば、Ｚｈａｎｇ  ｅｔ  ａｌ．，"Ｒｏｂｕｓｔ  Ｆａｃｅ  Ａｌｉｇｎｍｅｎｔ  Ｂａｓｅｄ  Ｏｎ  Ｈｉｅｒａｒｃｈｉｃａｌ  Ｃｌａｓｓｉｆｉｅｒ  Ｎｅｔｗｏｒｋ"，Ｐｒｏｃ．  ＥＣＣＶ  Ｗｏｒｋｓｈｏｐ  Ｈｕｍａｎ−Ｃｏｍｐｕｔｅｒ  Ｉｎｔｅｒａｃｔｉｏｎ，２００６を参照されたい。同文献は以下、Ｚｈａｎｇと呼ぶ）。例えば、Ｚｈａｎｇは、例えば目を識別するための８つの予め定められた目印を含む８８の予め定められた目印を利用する。
【００１４】
ブロック２０６において、（ブロック２０４において識別される目印により特定される）顔画像は位置合わせされ得、ブロック２０８において、位置合わせされた顔画像からメッシュが形成され得る。様々な実施例において、ブロック２０６および２０８は、公知の３Ｄ位置合わせおよびメッシュ技術を適用することを伴い得る（例えば、Ｋａｋａｄｉａｒｉｓ  ｅｔ  ａｌ  "３Ｄ  ｆａｃｅ  ｒｅｃｏｇｎｉｔｉｏｎ"，Ｐｒｏｃ．Ｂｒｉｔｉｓｈ  Ｍａｃｈｉｎｅ  Ｖｉｓｉｏｎ  Ｃｏｎｆ．，ｐａｇｅｓ  ２００−２０８（２００６）を参照されたい）。様々な実施例において、ブロック２０６および２０８は、プロセス２００により生成されるモデル顔を、基準顔に対する画像の目印の形状およびテクスチャの変更に関して任意の数だけ特定することが共通の座標系によって可能となるよう、顔画像の目印を、特定の基準顔メッシュに対して位置合わせすることを伴いうる。
【００１５】
プロセス２００は、位置合わせされた顔画像の目印のＰＣＡ表現が生成され得るブロック２１０で終了し得る。様々な実施例において、ブロック２１０は、顔画像を
【数１】
0005786259.tif 000002
として表現するために公知の技術（例えば、Ｍ．Ａ．  Ｔｕｒｋ  ａｎｄ  Ａ．Ｐ．Ｐｅｎｔｌａｎｄ，"Ｆａｃｅ  Ｒｅｃｏｇｎｉｔｉｏｎ  Ｕｓｉｎｇ  Ｅｉｇｅｎｆａｃｅｓ"，ＩＥＥＥ  Ｃｏｎｆ．  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，ｐｐ．５８６−５９１，１９９１を参照されたい）を用いることを伴い得る。ここで、Ｘ０は平均列ベクトルに対応し、Ｐｉは、ｉ番目のＰＣＡ固有ベクトルであり、λ１は、対応するｉ番目の固有ベクトル値または係数である。
【００１６】
図３は、本開示の様々な実施例に係る、顔特徴パラメータを特定するための例示的なプロセス３００のフロー図を示す。様々な実施例において、プロセス３００を用いて、システム１００のコントロールモジュール１０６の顔特徴コントローラに関連付けられた顔特徴パラメータを特定し得る。プロセス３００は、図３の１以上のブロック３０２、３０４、３０６、３０８、３１０、３１２、３１４、３１６、３１８、および３２０に示されるような１以上の操作、機能、または動作を含み得る。非限定的な例として、プロセス３００は本明細書において、図１の例示的なシステムを参照して説明される。プロセス３００はブロック３０２から開始され得る。
【００１７】
ブロック３０２において、顔コントロールパラメータおよび関連する測定基準の意味記述が受信され得る。様々な実施例において、ブロック３０２において受信される意味記述は、例えば、年齢、（例えば、若年から老年の範囲）、性別（例えば、女性から男性の範囲）、形状（例えば、楕円形、細長形、ハート形、四角形、丸形、三角形、および菱形）、民族性（例えば、東アジア人、アジア亜大陸、白人など）、表情（例えば、怒り、幸せ、驚きなど）など、顔の何らかの側面、部分、または特徴に対応し得る。様々な実施例において、ブロック３０２で受信される対応する測定基準は、決定性および／または離散測定基準（ｄｅｔｅｒｍｉｎｉｓｔｉｃ  ａｎｄ／ｏｒ  ｄｉｓｃｒｅｔｅ  ｍｅａｓｕｒｅｍｅｎｔ  ｃｒｉｔｅｒｉａ）を含みうる。例えば、性別に関する意味記述の場合、測定基準は男性または女性であり得る。様々な実施例において、ブロック３０２で受信される対応する測定基準は、顔形状、目のサイズ、鼻の高さなど特定のキーポイントにより測定され得る数値的および／または確率的測定基準（ｎｕｍｅｒｉｃ  ａｎｄ／ｏｒ  ｐｒｏｂａｂｉｌｉｓｔｉｃ  ｍｅａｓｕｒｅｍｅｎｔ  ｃｒｉｔｅｒｉａ）を含みうる。
【００１８】
その後、プロセス３００は、ループ３０３により表されるＰＣＡ空間における例としての顔のサンプリングへと続き得る。ここで、ブロック３０４において、インデックスｋは１に設定され得、サンプリングされる例としての顔の合計数ｍが、ループ３０３のために決定され得る。例えば、ブロック３０２で受信される顔コントロールパラメータの記述に関して、顔コントロールパラメータの測定値を生成するべく、合計ｍ＝１００の例としての顔をサンプリングすることを決定し得る。よって、本例において、ループ３０３は、以下により詳細に説明するように、１００の例としての顔、および、対応する数の、顔コントロールパラメータの測定値を生成するべく、合計１００回実行され得る。
【００１９】
ブロック３０６において、ＰＣＡ係数がランダムに取得され得、ブロック３０８において例としての３Ｄ顔を生成するのに用いられ得る。ブロック３０８で生成される３Ｄ顔は、
【数２】
0005786259.tif 000003
により表され得る。ここで、α１は、ｉ番目の固有ベクトルの係数である。
【００２０】
様々な実施例において、ブロック３０６は、ＰＣＡ空間における合計のエネルギーのおよそ９５％を表す第１〜ｎの寸法の固有値（ｆｉｒｓｔ−ｎ  ｄｉｍｅｎｓｉｏｎ  ｅｉｇｅｎ−ｖａｌｕｅｓ）に対応する係数のセット｛αｉ｝をサンプリングすることを含みうる。ブロック３０６においてＰＣＡ空間全体ではなくＰＣＡサブ空間でサンプリングを行うことにより、ＰＣＡ空間全体に関して測定値の変化を特徴付けることが可能となり得る。例えば、｛αｉ｝＝［−３，＋３］の範囲のＰＣＡ係数のサンプリングは、［−３＊ｓｔｄ，＋３＊ｓｔｄ］の範囲のデータの変化に対応する［−３＊λｉ，＋３＊λｉ］の範囲のｉ番目の固有値のサンプリングに対応し得る（ここで、「ｓｔｄ」は標準偏差を表す）。
【００２１】
ブロック３１０において、意味記述の測定値が決定され得る。様々な実施例において、ブロック３１０は、様々な顔の目印の座標を用いて測定値を計算することを伴いうる。例えば、ｉ番目のサンプリングされた固有値の係数をＡｉ＝｛（ｉｊ，ｊ＝ｌ，．．ｎ｝に設定すると、ブロック３１０における代表的な顔に関する尤度を表す対応する測定値は、Ｂｋｘｌと指定され得る。
【００２２】
様々な実施例において、既知の意味論的な顔形状（楕円形、細長形、ハート形、四角形、丸形、三角形、および菱形）のそれぞれは、１以上の顔特徴測定結果により数値的に定められ、または特定され得る。例えば、図４は、本開示の様々な実施例に係る、例示的な平均顔４００に関するいくつかの例示的なメトリック測定（ｍｅｔｒｉｃ  ｍｅａｓｕｒｅｍｅｎｔｓ）を示す。示されるように意味論的な顔形状に対応する顔特徴パラメータを定める、または特定するのに用いられるメトリック測定は、額の幅（ｆｈｗ）、頬骨の幅（ｃｂｗ）、顎の幅（ｊｗ）、顔の幅（ｆｗ）、および顔の高さ（ｆｈ）を含みうる。様々な実施例において、代表的な顔形状は、そのような特徴の測定結果の１以上のガウス分布により定められ得、例としての各顔は、それらの測定結果の対応する確率分布により表現され得る。
【００２３】
プロセス３００は、ｋ＝ｍであるかどうか判断されるブロック３１２に続き得る。例えば、ｍ＝１００の場合、ループ３０３のブロック３０６〜３１０の最初の反復は、ｋ＝１に対応する。したがって、ブロック３１２においてｋ≠ｍなので、プロセス３００は、ｋ＝ｋ＋１の設定が行われるブロック３１４に続き、新たな例としての３Ｄ顔のためにＰＣＡ係数がランダムに取得され得るブロック３０６へ戻る。ブロック３０６〜３１０の１以上の更なる反復の後、ブロック３１２においてｋ＝ｍであると判断された場合、ループ３０３が終了し、プロセス３００はブロック３０２で受信される意味記述のために測定値の行列が生成され得るブロック３１６に続き得る。
【００２４】
様々な実施例において、ブロック３１６は、ｍ個の顔コントロールパラメータ測定結果からなるセットを［−１，＋１］の範囲に正規化し、測定結果を
【数３】
0005786259.tif 000004
として表すことを含みうる。ここで、Ａｍｘｎは、サンプリングされた固有値の係数の行列であり、各行は、１つのサンプルに対応し、測定結果行列Ｂｍｘｌの各行は、正規化されたコントロールパラメータに対応し、回帰行列Ｒｌｘｎは、顔コントロールパラメータを固有値の係数にマッピングする。様々な実施例において、ｂ＝０のコントロールパラメータ値は、特定の意味記述に関する平均値（例えば、平均顔）に対応し得、ｂ＝ｌは、同意味記述に関する最大の正の尤度に対応し得る。例えば、性別に関する意味記述の場合、ｂ＝０のコントロールパラメータ値は、性別的に中性的な顔に対応し得、ｂ＝ｌは、高度に男性的な顔に対応し得、ｂ＝−ｌは、高度に女性的な顔に対応し得、例えば、ｂ＝０．８の値を有する顔は、ｂ＝０．５の値を有する顔よりもより男性的であり得る。
【００２５】
プロセス３００は、顔コントロールパラメータに関して回帰パラメータが判断され得るブロック３１８に続き得る。様々な実施例において、ブロック３１８は、
【数４】
0005786259.tif 000005
に従って数式（３）の回帰行列Ｒｌｘｎの値を判断することを伴いうる。ここで、ＢＴは、行列Ｂの転置行列である。プロセス３００は、以下により詳細に説明されるように後の読み取りおよび利用のために回帰パラメータをメモリ内に格納するブロック３２０において終了し得る。
【００２６】
様々な実施例において、プロセス３００を用いて、楕円形、細長形、ハート形、四角形、丸形、三角形、および菱形などよく認識された意味論的な顔形状に対応する顔コントロールパラメータを特定し得る。さらに、様々な実施例において、プロセス３００により定められる顔コントロールパラメータは、ＵＩ１０８の特徴コントローラ（例えばスライダー）により操作され得、システム１００のユーザが３Ｄ変形可能顔モデル１０２の顔特徴の出力を変更またはカスタマイズすることが出来るようになる。よって、例えば、ＵＩ１０８の顔形状コントロール要素は、楕円形、細長形、ハート形、四角形、丸形、三角形、および菱形の顔形状に関するコントロール要素を特定するためにプロセス３００を複数回実行することにより定められ得る。
【００２７】
図５は、本開示の様々な実施例に係るカスタマイズされた３Ｄ顔を生成するための例示的なプロセス５００のフロー図を示す。様々な実施例において、プロセス５００は、システム１００のコントロールモジュール１０６に応答して、３Ｄ変形可能顔モデル１０２により実施され得る。プロセス５００は、図５のブロック５０２、５０４、５０６、５０８、および５１０のうち１以上により示される１以上の操作、機能、または動作を含みうる。非限定的な例として、プロセス５００は本明細書において、図１の例示的なシステムを参照して説明される。プロセス５００はブロック５０２から開始され得る。
【００２８】
ブロック５０２において、顔コントロールパラメータの回帰パラメータが受信され得る。例えば、ブロック５０２は、モデル１０２が、性別に関する顔コントロールパラメータ、または四角形の顔形状の顔コントロールパラメータなどが数多くある例のうちいくつかである特定の顔コントロールパラメータに関して、数式（３）の回帰パラメータＲｌｘｎを受信することを伴いうる。様々な実施例において、ブロック５０２の回帰パラメータは、メモリから受信し得る。ブロック５０４において、顔コントロールパラメータの値が受信され得、ブロック５０６において、顔コントロールパラメータの値に応じてＰＣＡ係数が決定され得る。様々な実施例において、ブロック５０４は、例えば、Ｂｌｘｌ（ｍ＝１）と表される顔コントロールパラメータｂを受信することを伴い得、ブロック５０６は、回帰パラメータＲｌｘｎを用いて以下のように
【数５】
0005786259.tif 000006
ＰＣＡ係数を計算することを伴いうる。
【００２９】
プロセス５００は、ブロック５０８において決定されたＰＣＡ係数に基づいてカスタマイズされた３Ｄ顔が生成され得るブロック５０８へと続き得る。例えば、ブロック５０８は、数式（２）および数式（５）の結果を用いて顔を生成することを伴いうる。プロセス３００は、カスタマイズされた３Ｄ顔が出力として提供され得るブロック５１０において終了し得る。例えば、ブロック５０８および５１０は、本明細書に説明される顔モデル１０２により実行され得る。
【００３０】
図２、３、および５に示される例示的なプロセス２００、３００，５００の実施は、示された順序で示された全てのブロックを実行することを含みうるが、本開示はこの点に関して限定されるわけではなく、様々な例において、プロセス２００、３００、および／または５００の実施は、示される全てのブロックのうちサブセットのみを、および／または、示されるものと異なる順序で、実行することを含みうる。
【００３１】
加えて、図２、３、および５のプロセスおよび／またはブロックのうちいずれか１以上は、１以上のコンピュータプログラム製品により提供される命令に応じて実行され得る。そのようなプログラム製品は、例えば１以上のプロセッサコアにより実行されると、本明細書に説明される機能を提供する命令を提供する信号を格納した媒体を含みうる。コンピュータプログラム製品は、何らかの形態のコンピュータ可読媒体として提供され得る。よって、例えば、１以上のプロセッサコアを含むプロセッサは、コンピュータ可読媒体によりプロセッサへ伝えられる命令に応じて、図２、３、および５に示されるブロックのうち１以上を実行し得る。
【００３２】
図６は、本開示の様々な実施例に係る例示的なユーザインタフェース（ＵＩ）６００を示す。例えば、ＵＩ６００は、システム１００のＵＩ１０８として採用され得る。示されるように、ＵＩ６００は、顔表示枠６０２、およびコントロール枠６０４を含む。コントロール枠６０４は、様々な対応する顔コントロールパラメータの値を変更するために操作され得るスライダー６０６の形態の特徴コントローラを含む。表示枠６０２内のシミュレートされた３Ｄ顔６０８の様々な顔特徴は、スライダー６０６の操作に応じてカスタマイズされ得る。様々な実施例において、ＵＩ６００の様々なコントロールパラメータは、パラメータ値の手入力により調整され得る。加えて、シミュレーションの異なる複数のカテゴリ（例えば顔形状コントローラ、顔に関する民族性のコントローラなど）が、コントロール枠６０４の異なる複数のページ内に集められ得る。様々な実施例において、ＵＩ６００は、ユーザが異なる複数の顔形状を別々に制御出来るようにする、スライダーなど異なる特徴コントローラを含みうる。例えば、ＵＩ６００は、楕円形、細長形、ハート形、四角形、丸形、三角形、および菱形の顔形状を独立して制御するための７つ別個のスライダーを含みうる。
【００３３】
図７〜９は、本開示の様々な実施例に係る、例示的な顔コントロールパラメータの方式を示す。本明細書に説明されるプロセスの実行は、図７〜図１０の方式を提供し得る。様々な実施例において、目、顎、鼻などの顔の特定部分は、独立して操作され得る。図７は、細長形の顔形状、および四角形の顔形状に関する顔コントロールパラメータ、並びに、例えば、目のサイズおよび鼻の高さなど顔の一部の変更を可能とする、より明確な顔コントロールパラメータを含む例示的な方式７００を示す。
【００３４】
他の非限定的な例として、図８は、顔形状およびテクスチャ（例えば、顔の色）が操作またはカスタマイズされ得る、性別および民族性に関する顔コントロールパラメータを含む例示的な方式８００を示す。様々な実施例において、いくつかの（例えば、性別の）パラメータ値は、［−１，＋１］の範囲を有し得、民族性など他のパラメータ値は、ゼロ（平均顔）から＋１の範囲であり得る。さらに他の非限定的な例として、図９は、操作またはカスタマイズされ得る、怒り、嫌悪感、恐れ、幸せ、悲しみ、および驚きを含む顔の表情に関する顔コントロールパラメータを含む例示的な方式９００を示す。様々な実施例において、表情コントロ―ラはゼロ（平均、または中間の顔）から＋１の範囲であり得る。いくつかの実施例において、表情コントロールパラメータ値は、誇張された表情をシミュレートするために＋１より大きくされ得る。図１０は、細長形、四角形、楕円形、ハート形、丸形、三角形、および菱形の顔形状に関する顔コントロールパラメータを含む例示的な方式１０００を示す。
【００３５】
図１１は、本開示に係る例示的なシステム１１００を示す。
【００３６】
システム１１００を用いて、本明細書に説明される様々な機能のいくつか、または全ての実行することが出来、システム１１００は、本開示の様々な実施例に係るパラメータ化された３Ｄ顔生成を実行可能な何らかのデバイス、またはデバイス群を含みうる。例えば、システム１１００は、デスクトップ、モバイル、またはタブレットコンピュータ、スマートフォン、セットトップボックス、などコンピューティングプラットホームまたはデバイスの選択されたコンポーネントを含み得るが、本開示はこの点に関して限定されない。いくつかの実施例において、システム１１００は、ＣＥデバイスのためのＩｎｔｅｌ（登録商標）アーキテクチャ（ＩＡ）に基づくコンピューティングプラットホームまたはＳｏＣであり得る。本開示の態様から逸脱することなく、本明細書に説明される実施例が代替的な処理システムと共に用いられ得ることを当業者であれば容易に理解されよう。
【００３７】
システム１１００は、１以上のプロセッサコア１１０４を有するプロセッサ１１０２を含む。
【００３８】
プロセッサコア１１０４は、少なくとも部分的に、ソフトウェアを実行可能な、および／またはデータ信号を処理可能な何らかのタイプのプロセッサロジックであり得る。様々な例において、プロセッサコア１１０４は、ＣＩＳＣプロセッサコア、ＲＩＳＣマイクロプロセッサコア、ＶＬＩＷマイクロプロセッサコア、および／または、命令セットの何らかの組み合わせを実装する任意の数のプロセッサコア、若しくは、デジタル信号プロセッサまたはマイクロコントローラなど何らかの他のプロセッサデバイスを含みうる。
【００３９】
またプロセッサ１１０２は、例えばディスプレイプロセッサ１１０８および／またはグラフィックプロセッサ１１１０により受信される命令を、制御信号および／またはマイクロコードエントリポイントへデコードするために用いられ得るデコーダ１１０６も含みうる。システム１１００においてはコア１１０４とは別個のコンポーネントとして示されているが、コア１１０４のうち１以上が、デコーダ１１０６、ディスプレイプロセッサ１１０８、および／またはグラフィックプロセッサ１１１０を実装し得ることを当業者は認識されよう。いくつかの実施例において、プロセッサ１１０２は、図２、３、および５に関して説明された例示的な処理を含む、本明細書に説明される処理のいずれかを実行し得る。さらに、制御信号、および／またはマイクロコードエントリポイントに応じて、デコーダ１１０６、ディスプレイプロセッサ１１０８、および／またはグラフィックプロセッサ１１１０は、対応する動作を実行し得る。
【００４０】
プロセッサコア１１０４、デコーダ１１０６、ディスプレイプロセッサ１１０８、および／またはグラフィックプロセッサ１１１０は、互いに、および／または、例えば、メモリコントローラ１１１４、オーディオコントローラ１１１８、および／または周辺機器１１２０を含むがこれらに限定されない様々な他のシステムデバイスと、システムインターコネクト１１１６を介して通信可能に、および／または操作可能に結合され得る。
【００４１】
周辺機器１１２０は例えば、ｕｎｉｆｉｅｄ  ｓｅｒｉａｌ  ｂｕｓ（ＵＳＢ）ホストポート、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）Ｅｘｐｒｅｓｓポート、Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ（ＳＰＩ）インタフェース、拡張バス、および／または他の周辺機器を含みうる。図１１は、メモリコントローラ１１１４を、デコーダ１１０６、および、プロセッサ１１０８、１１１０とインターコネクト１１１６により結合されたものとして示すが、様々な実施例において、メモリコントローラ１１１４は、デコーダ１１０６、ディスプレイプロセッサ１１０８、および／またはグラフィックプロセッサ１１１０と直接的に結合され得る。
【００４２】
いくつかの実施例において、システム１１００は、図１１には示されない様々なＩ／Ｏデバイスと、Ｉ／Ｏバス（同じく示されない）を介して通信を行いうる。そのようなＩ／Ｏデバイスは、例えば、ｕｎｉｖｅｒｓａｌ  ａｓｙｎｃｈｒｏｎｏｕｓ  ｒｅｃｅｉｖｅｒ／ｔｒａｎｓｍｉｔｔｅｒ（ＵＡＲＴ）デバイス、ＵＳＢデバイス、Ｉ／Ｏ拡張インタフェース、または他のＩ／Ｏデバイスを含みうるが、これらに限定されない。様々な実施例において、システム１１００は、モバイル、ネットワーク、および／または無線通信を行うためのシステムの少なくとも一部を表し得る。
【００４３】
システム１１００はさらに、メモリ１１１２を含みうる。メモリ１１１２は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス、フラッシュメモリデバイス、または他のメモリデバイスなどの１以上の個別のメモリコンポーネントであり得る。図１１は、メモリ１１１２をプロセッサ１１０２の外部に存在するものとして示しているが、様々な実施例において、メモリ１１１２はプロセッサ１１０２の内部であり得る。メモリ１１１２は、図２、３、および５に関して説明された例示的な処理を含む、本明細書に説明される処理のいずれかの実行においてプロセッサ１１０２により実行され得る、データ信号により表される命令および／またはデータを格納し得る。例えば、メモリ１１１２は、本明細書に説明される回帰パラメータおよび／またはＰＣＡ係数を格納し得る。いくつかの実施例において、メモリ１１１２は、システムメモリ部分およびディスプレイメモリ部分を含みうる。
【００４４】
例示的なシステム１００および／またはＵＩ６００など、本明細書に説明されるデバイスおよび／またはシステムは、本開示に係る多くの考え得るデバイス設定、アーキテクチャ、またはシステムのうちいくつかを表す。本開示と矛盾せず、例示的なシステム１００および／またはＵＩ６００の変形例などシステムの様々な変形例が可能である。
【００４５】
上記にて説明したシステム、および本明細書に説明されるそれらにより実行される処理は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの任意の組み合わせにより実装され得る。加えて、本明細書に開示される１以上の特徴は、個別の、および集積化された回路ロジック、特定用途向け集積回路（ＡＳＩＣ）ロジック、およびマイクロコントローラを含む、ハードウェア、ソフトウェア、ファームウェア、およびこれらの組み合わせにより実装され得、領域特化型の集積回路パッケージ、または集積回路パッケージの組み合わせの一部として実装され得る。本明細書で用いられるソフトウェアという用語は、本明細書に開示される１以上の特徴、および／または特徴の組み合わせをコンピュータシステムに実行させるためのコンピュータプログラムロジック格納したコンピュータ可読媒体を含むコンピュータプログラム製品を指す。
【００４６】
本明細書に明記されたいくつかの特徴は様々な実施形態を参照して説明されたが、このような説明は限定的に解釈されるよう意図されているわけではない。よって、本開示が関する技術分野の当業者には明らかである本明細書に説明される実施例の様々な変形例、および他の実施例は、本開示の思想および態様の範囲に含まれるものと見なされる。
本明細書によれば、以下の各項目に記載の形態もまた開示される。
（項目１）
３次元（３Ｄ）顔モデリングのための方法であり、
顔コントロールパラメータに関する意味記述および関連する測定基準を受信する段階と、
複数の主成分分析係数（複数のＰＣＡ係数）を取得する段階と、
前記複数のＰＣＡ係数に応じて複数の３Ｄ顔を生成する段階と、
前記測定基準に応じて前記複数の３Ｄ顔のそれぞれに関する測定値を決定する段階と、
複数の前記測定値に応じて前記顔コントロールパラメータに関する複数の回帰パラメータを決定する段階と
を備える方法。
（項目２）
前記複数のＰＣＡ係数を取得する段階は、前記複数のＰＣＡ係数をメモリからランダムに取得する段階を有する、項目１に記載の方法。
（項目３）
前記意味記述は、顔形状の意味記述を含む、項目１または２に記載の方法。
（項目４）
前記顔形状は、楕円形、細長形、ハート形、四角形、丸形、三角形、および菱形のうち１つを含む、項目３に記載の方法。
（項目５）
前記複数の回帰パラメータをメモリに格納する段階をさらに備える、項目１から４のいずれか１項に記載の方法。
（項目６）
前記複数の回帰パラメータは第１の複数の回帰パラメータを含み、
前記方法は、
前記第１の複数の回帰パラメータを前記メモリから受信する段階と、
前記顔コントロールパラメータの値を受信する段階と、
前記値に応じて、前記複数のＰＣＡ係数に含まれる第１の複数のＰＣＡ係数を決定する段階と、
前記第１の複数のＰＣＡ係数に応じて３Ｄ顔を生成する段階と
をさらに備える、項目５に記載の方法。
（項目７）
前記顔コントロールパラメータの前記値は、特徴コントローラの操作に応じて生成された前記顔コントロールパラメータの値を含む、項目６に記載の方法。
（項目８）
前記特徴コントローラはスライダーを含む、項目７に記載の方法。
（項目９）
前記特徴コントローラは、複数の顔形状コントローラのうちの１つを含む、項目７または８に記載の方法。
（項目１０）
前記複数の顔形状コントローラは、細長形の顔形状、楕円形の顔形状、ハート形の顔形状、四角形の顔形状、丸形の顔形状、三角形の顔形状、および菱形の顔形状のそれぞれに対応する別個の複数の特徴コントローラを含む、項目９に記載の方法。
（項目１１）
３次元（３Ｄ）顔モデリングのための方法であり、
顔コントロールパラメータに関する複数の回帰パラメータを受信する段階と、
前記顔コントロールパラメータの値を受信する段階と、
前記値に応じて複数の主成分分析係数（複数のＰＣＡ係数）を決定する段階と、
前記複数のＰＣＡ係数に応じて３Ｄ顔を生成する段階と
を備える方法。
（項目１２）
前記顔コントロールパラメータの前記値は、特徴コントローラの操作に応じて生成される前記顔コントロールパラメータの値を含む、項目１１に記載の方法。
（項目１３）
前記特徴コントローラはスライダーを含む、項目１２に記載の方法。
（項目１４）
前記特徴コントローラは、複数の顔形状コントローラのうちの１つを含む、項目１２または１３に記載の方法。
（項目１５）
前記複数の顔形状コントローラは、細長形の顔形状、楕円形の顔形状、ハート形の顔形状、四角形の顔形状、丸形の顔形状、三角形の顔形状、および菱形の顔形状のそれぞれに対応する別個の複数の特徴コントローラを含む、項目１４に記載の方法。
（項目１６）
３次元（３Ｄ）顔モデリングのためのシステムであり、
プロセッサと、
前記プロセッサに結合されたメモリと
を備え、
前記メモリ内の命令は、前記プロセッサに、
顔コントロールパラメータに関する複数の回帰パラメータを受信させ、
前記顔コントロールパラメータの値を受信させ、
前記値に応じて複数の主成分分析係数（複数のＰＣＡ係数）を決定させ、
前記複数のＰＣＡ係数に応じて３Ｄ顔を生成させる、システム。
（項目１７）
ユーザインタフェースをさらに備え、
前記ユーザインタフェースは、複数の特徴コントローラを有し、
前記メモリ内の前記命令は、前記プロセッサに、前記複数の特徴コントローラのうちの第１の特徴コントローラの操作に応じて、前記顔コントロールパラメータの前記値を受信させる、項目１６に記載のシステム。
（項目１８）
前記複数の特徴コントローラは、複数のスライダーコントローラを含む、項目１７に記載のシステム。
（項目１９）
前記複数の特徴コントローラは、複数の顔形状コントローラを含む、項目１７または１８に記載のシステム。
（項目２０）
前記複数の顔形状コントローラは、細長形の顔形状、楕円形の顔形状、ハート形の顔形状、四角形の顔形状、丸形の顔形状、三角形の顔形状、および菱形の顔形状のそれぞれに対応する別個の複数の特徴コントローラを含む、項目１９に記載のシステム。
【図１】
0005786259.tif 000007
【図２】
0005786259.tif 000008
【図３】
0005786259.tif 000009
【図４】
0005786259.tif 000010
【図５】
0005786259.tif 000011
【図６】
0005786259.tif 000012
【図７】
0005786259.tif 000013
【図８】
0005786259.tif 000014
【図９】
0005786259.tif 000015
【図１０】
0005786259.tif 000016
【図１１】
0005786259.tif 000017