【文献】
猪俣拓利, 外3名,”3次元モーフィングモデルによる顔表情生成”,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2011年 2月28日,第110巻, 第457号,p.95-100
(58)【調査した分野】(Int.Cl.,DB名)
前記複数の顔形状コントローラは、細長形の顔形状、楕円形の顔形状、ハート形の顔形状、四角形の顔形状、丸形の顔形状、三角形の顔形状、および菱形の顔形状のそれぞれに対応する別個の複数の特徴コントローラを含む、請求項9に記載の方法。
前記複数の顔形状コントローラは、細長形の顔形状、楕円形の顔形状、ハート形の顔形状、四角形の顔形状、丸形の顔形状、三角形の顔形状、および菱形の顔形状のそれぞれに対応する別個の複数の特徴コントローラを含む、請求項14に記載の方法。
前記複数の顔形状コントローラは、細長形の顔形状、楕円形の顔形状、ハート形の顔形状、四角形の顔形状、丸形の顔形状、三角形の顔形状、および菱形の顔形状のそれぞれに対応する別個の複数の特徴コントローラを含む、請求項19に記載のシステム。
【発明を実施するための形態】
【0003】
添付の図面を参照し、1以上の実施形態または実施例を説明する。詳細な設定および構成が説明されるが、これは例示のみを目的としていることを理解されたい。当業者であれば、本説明の思想および態様から逸脱することなく他の設定および構成を採用し得ることを理解されよう。本明細書に説明される技術および/または構成が、本明細書に説明されるシステムおよび適用例以外の他の様々なシステムおよび適用例においても採用され得ることが当業者には明らかとなろう。
【0004】
以下の説明において、例えばシステムオンチップ(SoC)アーキテクチャなどのアーキテクチャで具体化され得る様々な実施例が明記されるが、本明細書で説明される技術および/または構成の実施例は特定のアーキテクチャおよび/またはコンピューティングシステムに限定されず、同様の目的のために、任意のアーキテクチャおよび/またはコンピューティングシステムにより実装され得る。例えば、複数の集積回路(IC)チップおよび/またはパッケージなどを採用する様々なアーキテクチャ、並びに/若しくは、セットトップボックス、スマートフォンなど様々なコンピューティングデバイスおよび/または消費者向け電子(CE)デバイスが、本明細書に説明される技術および/または構成を実装し得る。さらに、以下の説明においては、ロジックの実装、システムコンポーネントのタイプおよび関係、ロジックの分割/統合の選択など様々な特定的な詳細が明記され得るが、特許請求される主題は、そのような特定的な詳細を用いなくとも実施され得る。他の例においては、本明細書に開示される事項を曖昧にすることを避けるべく、例えば、制御構造および完全なソフトウェア命令シーケンスなどいくつかの事項について詳細には示さない。
【0005】
本明細書に開示される事項は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの何らかの組み合わせで実施され得る。本明細書に開示される事項は、1以上のプロセッサにより読み取られ実行され得る、機械可読媒体に格納される命令としても実施され得る。機械可読媒体は、機械(例えば、コンピューティングデバイス)が読み取り可能な形態で情報を格納または送信するための何らかの媒体および/またはメカニズムを含み得る。例えば、機械可読媒体には、読み取り専用メモリ(ROM),ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学式記憶媒体、フラッシュメモリデバイス、電気、光、音響、または他の形態の伝搬信号(搬送波、赤外線信号、デジタル信号など)などが含まれる。
【0006】
本明細書において「一実施例」、「実施例」、「例示的な実施例」などについて言及した場合、説明される実施例が、特定の特徴、構造、または特質を含み得ることを示し、全ての実施例が同特定の特徴、構造、または特質を含むとは限らない。さらに、そのような文言は、同じ実施例を指すとは限らない。さらに、特定の特徴、構造、または特質がある実施例に関連して説明された場合、そのような特徴、構造、または特質を、本明細書に明示的に説明される、または明示的に説明されない他の実施例と関連して実施することが可能であることを当業者であれば理解されよう。
【0007】
図1は、本開示に係る例示的なシステム100を示す。様々な実施例において、システム100は、モデル3D顔のデータベース104に格納されたモデル3D顔に応じて、および、コントロールモジュール106により提供されるコントロールデータに応じて、パラメータ化された3D顔生成が可能な3D変形可能顔モデル102を含み得る。本開示によると、データベース104に格納されるモデル顔のそれぞれは、1以上の主成分分析係数(PCA係数)の形態の顔形状および/またはテクスチャデータに対応し得る。変形可能顔モデル102は、データベース104により提供される形状および/またはテクスチャデータをベクトル空間表現に変換することにより抽出され得る。
【0008】
以下により詳細に説明するように、モデル102は、データベース104内の顔に応じて変形可能なモデル顔を学習し得、ここで、変形可能な顔は、平均顔とPCA固有値および固有ベクトルとの一次結合として表現され得る。また以下により詳細に説明するように、コントロールモジュール106は、モデル102の出力を制御し得る1以上の顔特徴コントローラ(例えばスライダー)を提供するユーザインタフェース(UI)108を含み得る。
【0009】
様々な実施例において、システム100のモデル102およびコントロールモジュール106は、コンピューティングシステムの1以上のプロセッサコアで実行される1以上のソフトウェアアプリケーションにより提供され得、コンピューティングシステムに関連付けられた1以上の記憶デバイス(例えば、物理メモリデバイス、ディスクドライブなど)は、データベース104を提供し得る。他の実施例において、システム100の様々なコンポーネントは、データベース104および/またはコントロールモジュール106がモデル102から物理的に遠隔であり得るよう、様々な有線または無線のネットワーキング技術のうちいずれかを用いて、地理的に分散させられ、通信可能に互いに結合され得る。例えば、モデル102から遠隔の1以上のサーバがデータベース104を提供し得、顔データは、例えばインターネット上でモデル102へと送信され得る。同様に、UI108などコントロールモジュール106の少なくとも一部は、コンピューティングシステムのウェブブラウザのアプリケーションによって提供され得、モデル102は、当該コンピューティングシステムから遠隔であり、インターネットを介してモジュール106に結合された1以上のサーバにより提供され得る。
【0010】
図2は、本開示の様々な実施例に係る、モデル顔を生成するための例示的なプロセス200のフロー図を示す。様々な実施例において、プロセス200は、システム100のデータベース104などデータベースに格納されるモデル顔を生成するために用いられ得る。プロセス200は、
図2の1以上のブロック202、204、206、208、210に示されるような1以上の操作、機能、または動作を含み得る。非限定的な例として、プロセス200は本明細書において、
図1の例示的なシステムを参照して説明される。プロセス200はブロック202から開始され得る。
【0011】
ブロック202において、3D顔画像が受信され得る。例えば、ブロック202は、画像の各点または各頂点についての形状データ(例えば、デカルト座標のx、y、z)およびテクスチャデータ(例えば、8ビット深度における赤色、緑色、青色)に関して顔を特定するデータを受信することを伴いうる。例えば、ブロック202で受信される3D顔画像は、レーザスキャンなどの公知の技術を用いて生成されていてもよく、何千もの頂点を含みうる。様々な実施例において、ブロック202において受信される顔画像の形状およびテクスチャはそれぞれ、列ベクトルS=(x
1,y
1,z
1,x
2,y
2,z
2,...,x
n,y
n,z
n)
t、および、T=(R
1,G
1,B
1,R
2,G
2,B
2,...,R
n,G
n,Z
n)
tによって表現され得る(ここでnは、顔の頂点の数である)。
【0012】
ブロック204において、3D画像の予め定められた顔の目印が検出または識別され得る。
【0013】
例えば、様々な実施例において、ブロック204において目印を抽出すべく公知の技術が3D画像に対して適用され得る(例えば、Wu and Trivedi,"Robust facial landmark detection for intelligent vehicle system",International Workshop on Analysis and Modeling of Faces and Gestures,October 2005を参照されたい)。様々な実施例において、ブロック204は、公知の技術を用いて、予め定められた目印、およびそれらに関連する形状およびテクスチャベクトルを識別することを伴いうる(例えば、Zhang et al.,"Robust Face Alignment Based On Hierarchical Classifier Network",Proc. ECCV Workshop Human−Computer Interaction,2006を参照されたい。同文献は以下、Zhangと呼ぶ)。例えば、Zhangは、例えば目を識別するための8つの予め定められた目印を含む88の予め定められた目印を利用する。
【0014】
ブロック206において、(ブロック204において識別される目印により特定される)顔画像は位置合わせされ得、ブロック208において、位置合わせされた顔画像からメッシュが形成され得る。様々な実施例において、ブロック206および208は、公知の3D位置合わせおよびメッシュ技術を適用することを伴い得る(例えば、Kakadiaris et al "3D face recognition",Proc.British Machine Vision Conf.,pages 200−208(2006)を参照されたい)。様々な実施例において、ブロック206および208は、プロセス200により生成されるモデル顔を、基準顔に対する画像の目印の形状およびテクスチャの変更に関して任意の数だけ特定することが共通の座標系によって可能となるよう、顔画像の目印を、特定の基準顔メッシュに対して位置合わせすることを伴いうる。
【0015】
プロセス200は、位置合わせされた顔画像の目印のPCA表現が生成され得るブロック210で終了し得る。様々な実施例において、ブロック210は、顔画像を
【数1】
として表現するために公知の技術(例えば、M.A. Turk and A.P.Pentland,"Face Recognition Using Eigenfaces",IEEE Conf. on Computer Vision and Pattern Recognition,pp.586−591,1991を参照されたい)を用いることを伴い得る。ここで、X
0は平均列ベクトルに対応し、P
iは、i番目のPCA固有ベクトルであり、λ
1は、対応するi番目の固有ベクトル値または係数である。
【0016】
図3は、本開示の様々な実施例に係る、顔特徴パラメータを特定するための例示的なプロセス300のフロー図を示す。様々な実施例において、プロセス300を用いて、システム100のコントロールモジュール106の顔特徴コントローラに関連付けられた顔特徴パラメータを特定し得る。プロセス300は、
図3の1以上のブロック302、304、306、308、310、312、314、316、318、および320に示されるような1以上の操作、機能、または動作を含み得る。非限定的な例として、プロセス300は本明細書において、
図1の例示的なシステムを参照して説明される。プロセス300はブロック302から開始され得る。
【0017】
ブロック302において、顔コントロールパラメータおよび関連する測定基準の意味記述が受信され得る。様々な実施例において、ブロック302において受信される意味記述は、例えば、年齢、(例えば、若年から老年の範囲)、性別(例えば、女性から男性の範囲)、形状(例えば、楕円形、細長形、ハート形、四角形、丸形、三角形、および菱形)、民族性(例えば、東アジア人、アジア亜大陸、白人など)、表情(例えば、怒り、幸せ、驚きなど)など、顔の何らかの側面、部分、または特徴に対応し得る。様々な実施例において、ブロック302で受信される対応する測定基準は、決定性および/または離散測定基準(deterministic and/or discrete measurement criteria)を含みうる。例えば、性別に関する意味記述の場合、測定基準は男性または女性であり得る。様々な実施例において、ブロック302で受信される対応する測定基準は、顔形状、目のサイズ、鼻の高さなど特定のキーポイントにより測定され得る数値的および/または確率的測定基準(numeric and/or probabilistic measurement criteria)を含みうる。
【0018】
その後、プロセス300は、ループ303により表されるPCA空間における例としての顔のサンプリングへと続き得る。ここで、ブロック304において、インデックスkは1に設定され得、サンプリングされる例としての顔の合計数mが、ループ303のために決定され得る。例えば、ブロック302で受信される顔コントロールパラメータの記述に関して、顔コントロールパラメータの測定値を生成するべく、合計m=100の例としての顔をサンプリングすることを決定し得る。よって、本例において、ループ303は、以下により詳細に説明するように、100の例としての顔、および、対応する数の、顔コントロールパラメータの測定値を生成するべく、合計100回実行され得る。
【0019】
ブロック306において、PCA係数がランダムに取得され得、ブロック308において例としての3D顔を生成するのに用いられ得る。ブロック308で生成される3D顔は、
【数2】
により表され得る。ここで、α
1は、i番目の固有ベクトルの係数である。
【0020】
様々な実施例において、ブロック306は、PCA空間における合計のエネルギーのおよそ95%を表す第1〜nの寸法の固有値(first−n dimension eigen−values)に対応する係数のセット{α
i}をサンプリングすることを含みうる。ブロック306においてPCA空間全体ではなくPCAサブ空間でサンプリングを行うことにより、PCA空間全体に関して測定値の変化を特徴付けることが可能となり得る。例えば、{α
i}=[−3,+3]の範囲のPCA係数のサンプリングは、[−3*std,+3*std]の範囲のデータの変化に対応する[−3*λ
i,+3*λ
i]の範囲のi番目の固有値のサンプリングに対応し得る(ここで、「std」は標準偏差を表す)。
【0021】
ブロック310において、意味記述の測定値が決定され得る。様々な実施例において、ブロック310は、様々な顔の目印の座標を用いて測定値を計算することを伴いうる。例えば、i番目のサンプリングされた固有値の係数をAi={(
ij,j=l,..n}に設定すると、ブロック310における代表的な顔に関する尤度を表す対応する測定値は、B
kxlと指定され得る。
【0022】
様々な実施例において、既知の意味論的な顔形状(楕円形、細長形、ハート形、四角形、丸形、三角形、および菱形)のそれぞれは、1以上の顔特徴測定結果により数値的に定められ、または特定され得る。例えば、
図4は、本開示の様々な実施例に係る、例示的な平均顔400に関するいくつかの例示的なメトリック測定(metric measurements)を示す。示されるように意味論的な顔形状に対応する顔特徴パラメータを定める、または特定するのに用いられるメトリック測定は、額の幅(fhw)、頬骨の幅(cbw)、顎の幅(jw)、顔の幅(fw)、および顔の高さ(fh)を含みうる。様々な実施例において、代表的な顔形状は、そのような特徴の測定結果の1以上のガウス分布により定められ得、例としての各顔は、それらの測定結果の対応する確率分布により表現され得る。
【0023】
プロセス300は、k=mであるかどうか判断されるブロック312に続き得る。例えば、m=100の場合、ループ303のブロック306〜310の最初の反復は、k=1に対応する。したがって、ブロック312においてk≠mなので、プロセス300は、k=k+1の設定が行われるブロック314に続き、新たな例としての3D顔のためにPCA係数がランダムに取得され得るブロック306へ戻る。ブロック306〜310の1以上の更なる反復の後、ブロック312においてk=mであると判断された場合、ループ303が終了し、プロセス300はブロック302で受信される意味記述のために測定値の行列が生成され得るブロック316に続き得る。
【0024】
様々な実施例において、ブロック316は、m個の顔コントロールパラメータ測定結果からなるセットを[−1,+1]の範囲に正規化し、測定結果を
【数3】
として表すことを含みうる。ここで、A
mxnは、サンプリングされた固有値の係数の行列であり、各行は、1つのサンプルに対応し、測定結果行列B
mxlの各行は、正規化されたコントロールパラメータに対応し、回帰行列R
lxnは、顔コントロールパラメータを固有値の係数にマッピングする。様々な実施例において、b=0のコントロールパラメータ値は、特定の意味記述に関する平均値(例えば、平均顔)に対応し得、b=lは、同意味記述に関する最大の正の尤度に対応し得る。例えば、性別に関する意味記述の場合、b=0のコントロールパラメータ値は、性別的に中性的な顔に対応し得、b=lは、高度に男性的な顔に対応し得、b=−lは、高度に女性的な顔に対応し得、例えば、b=0.8の値を有する顔は、b=0.5の値を有する顔よりもより男性的であり得る。
【0025】
プロセス300は、顔コントロールパラメータに関して回帰パラメータが判断され得るブロック318に続き得る。様々な実施例において、ブロック318は、
【数4】
に従って数式(3)の回帰行列R
lxnの値を判断することを伴いうる。ここで、B
Tは、行列Bの転置行列である。プロセス300は、以下により詳細に説明されるように後の読み取りおよび利用のために回帰パラメータをメモリ内に格納するブロック320において終了し得る。
【0026】
様々な実施例において、プロセス300を用いて、楕円形、細長形、ハート形、四角形、丸形、三角形、および菱形などよく認識された意味論的な顔形状に対応する顔コントロールパラメータを特定し得る。さらに、様々な実施例において、プロセス300により定められる顔コントロールパラメータは、UI108の特徴コントローラ(例えばスライダー)により操作され得、システム100のユーザが3D変形可能顔モデル102の顔特徴の出力を変更またはカスタマイズすることが出来るようになる。よって、例えば、UI108の顔形状コントロール要素は、楕円形、細長形、ハート形、四角形、丸形、三角形、および菱形の顔形状に関するコントロール要素を特定するためにプロセス300を複数回実行することにより定められ得る。
【0027】
図5は、本開示の様々な実施例に係るカスタマイズされた3D顔を生成するための例示的なプロセス500のフロー図を示す。様々な実施例において、プロセス500は、システム100のコントロールモジュール106に応答して、3D変形可能顔モデル102により実施され得る。プロセス500は、
図5のブロック502、504、506、508、および510のうち1以上により示される1以上の操作、機能、または動作を含みうる。非限定的な例として、プロセス500は本明細書において、
図1の例示的なシステムを参照して説明される。プロセス500はブロック502から開始され得る。
【0028】
ブロック502において、顔コントロールパラメータの回帰パラメータが受信され得る。例えば、ブロック502は、モデル102が、性別に関する顔コントロールパラメータ、または四角形の顔形状の顔コントロールパラメータなどが数多くある例のうちいくつかである特定の顔コントロールパラメータに関して、数式(3)の回帰パラメータR
lxnを受信することを伴いうる。様々な実施例において、ブロック502の回帰パラメータは、メモリから受信し得る。ブロック504において、顔コントロールパラメータの値が受信され得、ブロック506において、顔コントロールパラメータの値に応じてPCA係数が決定され得る。様々な実施例において、ブロック504は、例えば、B
lxl(m=1)と表される顔コントロールパラメータbを受信することを伴い得、ブロック506は、回帰パラメータR
lxnを用いて以下のように
【数5】
PCA係数を計算することを伴いうる。
【0029】
プロセス500は、ブロック508において決定されたPCA係数に基づいてカスタマイズされた3D顔が生成され得るブロック508へと続き得る。例えば、ブロック508は、数式(2)および数式(5)の結果を用いて顔を生成することを伴いうる。プロセス300は、カスタマイズされた3D顔が出力として提供され得るブロック510において終了し得る。例えば、ブロック508および510は、本明細書に説明される顔モデル102により実行され得る。
【0030】
図2、3、および5に示される例示的なプロセス200、300,500の実施は、示された順序で示された全てのブロックを実行することを含みうるが、本開示はこの点に関して限定されるわけではなく、様々な例において、プロセス200、300、および/または500の実施は、示される全てのブロックのうちサブセットのみを、および/または、示されるものと異なる順序で、実行することを含みうる。
【0031】
加えて、
図2、3、および5のプロセスおよび/またはブロックのうちいずれか1以上は、1以上のコンピュータプログラム製品により提供される命令に応じて実行され得る。そのようなプログラム製品は、例えば1以上のプロセッサコアにより実行されると、本明細書に説明される機能を提供する命令を提供する信号を格納した媒体を含みうる。コンピュータプログラム製品は、何らかの形態のコンピュータ可読媒体として提供され得る。よって、例えば、1以上のプロセッサコアを含むプロセッサは、コンピュータ可読媒体によりプロセッサへ伝えられる命令に応じて、
図2、3、および5に示されるブロックのうち1以上を実行し得る。
【0032】
図6は、本開示の様々な実施例に係る例示的なユーザインタフェース(UI)600を示す。例えば、UI600は、システム100のUI108として採用され得る。示されるように、UI600は、顔表示枠602、およびコントロール枠604を含む。コントロール枠604は、様々な対応する顔コントロールパラメータの値を変更するために操作され得るスライダー606の形態の特徴コントローラを含む。表示枠602内のシミュレートされた3D顔608の様々な顔特徴は、スライダー606の操作に応じてカスタマイズされ得る。様々な実施例において、UI600の様々なコントロールパラメータは、パラメータ値の手入力により調整され得る。加えて、シミュレーションの異なる複数のカテゴリ(例えば顔形状コントローラ、顔に関する民族性のコントローラなど)が、コントロール枠604の異なる複数のページ内に集められ得る。様々な実施例において、UI600は、ユーザが異なる複数の顔形状を別々に制御出来るようにする、スライダーなど異なる特徴コントローラを含みうる。例えば、UI600は、楕円形、細長形、ハート形、四角形、丸形、三角形、および菱形の顔形状を独立して制御するための7つ別個のスライダーを含みうる。
【0033】
図7〜9は、本開示の様々な実施例に係る、例示的な顔コントロールパラメータの方式を示す。本明細書に説明されるプロセスの実行は、
図7〜
図10の方式を提供し得る。様々な実施例において、目、顎、鼻などの顔の特定部分は、独立して操作され得る。
図7は、細長形の顔形状、および四角形の顔形状に関する顔コントロールパラメータ、並びに、例えば、目のサイズおよび鼻の高さなど顔の一部の変更を可能とする、より明確な顔コントロールパラメータを含む例示的な方式700を示す。
【0034】
他の非限定的な例として、
図8は、顔形状およびテクスチャ(例えば、顔の色)が操作またはカスタマイズされ得る、性別および民族性に関する顔コントロールパラメータを含む例示的な方式800を示す。様々な実施例において、いくつかの(例えば、性別の)パラメータ値は、[−1,+1]の範囲を有し得、民族性など他のパラメータ値は、ゼロ(平均顔)から+1の範囲であり得る。さらに他の非限定的な例として、
図9は、操作またはカスタマイズされ得る、怒り、嫌悪感、恐れ、幸せ、悲しみ、および驚きを含む顔の表情に関する顔コントロールパラメータを含む例示的な方式900を示す。様々な実施例において、表情コントロ―ラはゼロ(平均、または中間の顔)から+1の範囲であり得る。いくつかの実施例において、表情コントロールパラメータ値は、誇張された表情をシミュレートするために+1より大きくされ得る。
図10は、細長形、四角形、楕円形、ハート形、丸形、三角形、および菱形の顔形状に関する顔コントロールパラメータを含む例示的な方式1000を示す。
【0035】
図11は、本開示に係る例示的なシステム1100を示す。
【0036】
システム1100を用いて、本明細書に説明される様々な機能のいくつか、または全ての実行することが出来、システム1100は、本開示の様々な実施例に係るパラメータ化された3D顔生成を実行可能な何らかのデバイス、またはデバイス群を含みうる。例えば、システム1100は、デスクトップ、モバイル、またはタブレットコンピュータ、スマートフォン、セットトップボックス、などコンピューティングプラットホームまたはデバイスの選択されたコンポーネントを含み得るが、本開示はこの点に関して限定されない。いくつかの実施例において、システム1100は、CEデバイスのためのIntel(登録商標)アーキテクチャ(IA)に基づくコンピューティングプラットホームまたはSoCであり得る。本開示の態様から逸脱することなく、本明細書に説明される実施例が代替的な処理システムと共に用いられ得ることを当業者であれば容易に理解されよう。
【0037】
システム1100は、1以上のプロセッサコア1104を有するプロセッサ1102を含む。
【0038】
プロセッサコア1104は、少なくとも部分的に、ソフトウェアを実行可能な、および/またはデータ信号を処理可能な何らかのタイプのプロセッサロジックであり得る。様々な例において、プロセッサコア1104は、CISCプロセッサコア、RISCマイクロプロセッサコア、VLIWマイクロプロセッサコア、および/または、命令セットの何らかの組み合わせを実装する任意の数のプロセッサコア、若しくは、デジタル信号プロセッサまたはマイクロコントローラなど何らかの他のプロセッサデバイスを含みうる。
【0039】
またプロセッサ1102は、例えばディスプレイプロセッサ1108および/またはグラフィックプロセッサ1110により受信される命令を、制御信号および/またはマイクロコードエントリポイントへデコードするために用いられ得るデコーダ1106も含みうる。システム1100においてはコア1104とは別個のコンポーネントとして示されているが、コア1104のうち1以上が、デコーダ1106、ディスプレイプロセッサ1108、および/またはグラフィックプロセッサ1110を実装し得ることを当業者は認識されよう。いくつかの実施例において、プロセッサ1102は、
図2、3、および5に関して説明された例示的な処理を含む、本明細書に説明される処理のいずれかを実行し得る。さらに、制御信号、および/またはマイクロコードエントリポイントに応じて、デコーダ1106、ディスプレイプロセッサ1108、および/またはグラフィックプロセッサ1110は、対応する動作を実行し得る。
【0040】
プロセッサコア1104、デコーダ1106、ディスプレイプロセッサ1108、および/またはグラフィックプロセッサ1110は、互いに、および/または、例えば、メモリコントローラ1114、オーディオコントローラ1118、および/または周辺機器1120を含むがこれらに限定されない様々な他のシステムデバイスと、システムインターコネクト1116を介して通信可能に、および/または操作可能に結合され得る。
【0041】
周辺機器1120は例えば、unified serial bus(USB)ホストポート、Peripheral Component Interconnect(PCI)Expressポート、Serial Peripheral Interface(SPI)インタフェース、拡張バス、および/または他の周辺機器を含みうる。
図11は、メモリコントローラ1114を、デコーダ1106、および、プロセッサ1108、1110とインターコネクト1116により結合されたものとして示すが、様々な実施例において、メモリコントローラ1114は、デコーダ1106、ディスプレイプロセッサ1108、および/またはグラフィックプロセッサ1110と直接的に結合され得る。
【0042】
いくつかの実施例において、システム1100は、
図11には示されない様々なI/Oデバイスと、I/Oバス(同じく示されない)を介して通信を行いうる。そのようなI/Oデバイスは、例えば、universal asynchronous receiver/transmitter(UART)デバイス、USBデバイス、I/O拡張インタフェース、または他のI/Oデバイスを含みうるが、これらに限定されない。様々な実施例において、システム1100は、モバイル、ネットワーク、および/または無線通信を行うためのシステムの少なくとも一部を表し得る。
【0043】
システム1100はさらに、メモリ1112を含みうる。メモリ1112は、ダイナミックランダムアクセスメモリ(DRAM)デバイス、スタティックランダムアクセスメモリ(SRAM)デバイス、フラッシュメモリデバイス、または他のメモリデバイスなどの1以上の個別のメモリコンポーネントであり得る。
図11は、メモリ1112をプロセッサ1102の外部に存在するものとして示しているが、様々な実施例において、メモリ1112はプロセッサ1102の内部であり得る。メモリ1112は、
図2、3、および5に関して説明された例示的な処理を含む、本明細書に説明される処理のいずれかの実行においてプロセッサ1102により実行され得る、データ信号により表される命令および/またはデータを格納し得る。例えば、メモリ1112は、本明細書に説明される回帰パラメータおよび/またはPCA係数を格納し得る。いくつかの実施例において、メモリ1112は、システムメモリ部分およびディスプレイメモリ部分を含みうる。
【0044】
例示的なシステム100および/またはUI600など、本明細書に説明されるデバイスおよび/またはシステムは、本開示に係る多くの考え得るデバイス設定、アーキテクチャ、またはシステムのうちいくつかを表す。本開示と矛盾せず、例示的なシステム100および/またはUI600の変形例などシステムの様々な変形例が可能である。
【0045】
上記にて説明したシステム、および本明細書に説明されるそれらにより実行される処理は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの任意の組み合わせにより実装され得る。加えて、本明細書に開示される1以上の特徴は、個別の、および集積化された回路ロジック、特定用途向け集積回路(ASIC)ロジック、およびマイクロコントローラを含む、ハードウェア、ソフトウェア、ファームウェア、およびこれらの組み合わせにより実装され得、領域特化型の集積回路パッケージ、または集積回路パッケージの組み合わせの一部として実装され得る。本明細書で用いられるソフトウェアという用語は、本明細書に開示される1以上の特徴、および/または特徴の組み合わせをコンピュータシステムに実行させるためのコンピュータプログラムロジック格納したコンピュータ可読媒体を含むコンピュータプログラム製品を指す。
【0046】
本明細書に明記されたいくつかの特徴は様々な実施形態を参照して説明されたが、このような説明は限定的に解釈されるよう意図されているわけではない。よって、本開示が関する技術分野の当業者には明らかである本明細書に説明される実施例の様々な変形例、および他の実施例は、本開示の思想および態様の範囲に含まれるものと見なされる。
本明細書によれば、以下の各項目に記載の形態もまた開示される。
(項目1)
3次元(3D)顔モデリングのための方法であり、
顔コントロールパラメータに関する意味記述および関連する測定基準を受信する段階と、
複数の主成分分析係数(複数のPCA係数)を取得する段階と、
前記複数のPCA係数に応じて複数の3D顔を生成する段階と、
前記測定基準に応じて前記複数の3D顔のそれぞれに関する測定値を決定する段階と、
複数の前記測定値に応じて前記顔コントロールパラメータに関する複数の回帰パラメータを決定する段階と
を備える方法。
(項目2)
前記複数のPCA係数を取得する段階は、前記複数のPCA係数をメモリからランダムに取得する段階を有する、項目1に記載の方法。
(項目3)
前記意味記述は、顔形状の意味記述を含む、項目1または2に記載の方法。
(項目4)
前記顔形状は、楕円形、細長形、ハート形、四角形、丸形、三角形、および菱形のうち1つを含む、項目3に記載の方法。
(項目5)
前記複数の回帰パラメータをメモリに格納する段階をさらに備える、項目1から4のいずれか1項に記載の方法。
(項目6)
前記複数の回帰パラメータは第1の複数の回帰パラメータを含み、
前記方法は、
前記第1の複数の回帰パラメータを前記メモリから受信する段階と、
前記顔コントロールパラメータの値を受信する段階と、
前記値に応じて、前記複数のPCA係数に含まれる第1の複数のPCA係数を決定する段階と、
前記第1の複数のPCA係数に応じて3D顔を生成する段階と
をさらに備える、項目5に記載の方法。
(項目7)
前記顔コントロールパラメータの前記値は、特徴コントローラの操作に応じて生成された前記顔コントロールパラメータの値を含む、項目6に記載の方法。
(項目8)
前記特徴コントローラはスライダーを含む、項目7に記載の方法。
(項目9)
前記特徴コントローラは、複数の顔形状コントローラのうちの1つを含む、項目7または8に記載の方法。
(項目10)
前記複数の顔形状コントローラは、細長形の顔形状、楕円形の顔形状、ハート形の顔形状、四角形の顔形状、丸形の顔形状、三角形の顔形状、および菱形の顔形状のそれぞれに対応する別個の複数の特徴コントローラを含む、項目9に記載の方法。
(項目11)
3次元(3D)顔モデリングのための方法であり、
顔コントロールパラメータに関する複数の回帰パラメータを受信する段階と、
前記顔コントロールパラメータの値を受信する段階と、
前記値に応じて複数の主成分分析係数(複数のPCA係数)を決定する段階と、
前記複数のPCA係数に応じて3D顔を生成する段階と
を備える方法。
(項目12)
前記顔コントロールパラメータの前記値は、特徴コントローラの操作に応じて生成される前記顔コントロールパラメータの値を含む、項目11に記載の方法。
(項目13)
前記特徴コントローラはスライダーを含む、項目12に記載の方法。
(項目14)
前記特徴コントローラは、複数の顔形状コントローラのうちの1つを含む、項目12または13に記載の方法。
(項目15)
前記複数の顔形状コントローラは、細長形の顔形状、楕円形の顔形状、ハート形の顔形状、四角形の顔形状、丸形の顔形状、三角形の顔形状、および菱形の顔形状のそれぞれに対応する別個の複数の特徴コントローラを含む、項目14に記載の方法。
(項目16)
3次元(3D)顔モデリングのためのシステムであり、
プロセッサと、
前記プロセッサに結合されたメモリと
を備え、
前記メモリ内の命令は、前記プロセッサに、
顔コントロールパラメータに関する複数の回帰パラメータを受信させ、
前記顔コントロールパラメータの値を受信させ、
前記値に応じて複数の主成分分析係数(複数のPCA係数)を決定させ、
前記複数のPCA係数に応じて3D顔を生成させる、システム。
(項目17)
ユーザインタフェースをさらに備え、
前記ユーザインタフェースは、複数の特徴コントローラを有し、
前記メモリ内の前記命令は、前記プロセッサに、前記複数の特徴コントローラのうちの第1の特徴コントローラの操作に応じて、前記顔コントロールパラメータの前記値を受信させる、項目16に記載のシステム。
(項目18)
前記複数の特徴コントローラは、複数のスライダーコントローラを含む、項目17に記載のシステム。
(項目19)
前記複数の特徴コントローラは、複数の顔形状コントローラを含む、項目17または18に記載のシステム。
(項目20)
前記複数の顔形状コントローラは、細長形の顔形状、楕円形の顔形状、ハート形の顔形状、四角形の顔形状、丸形の顔形状、三角形の顔形状、および菱形の顔形状のそれぞれに対応する別個の複数の特徴コントローラを含む、項目19に記載のシステム。