(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-10
(54)【発明の名称】3D頭部変形モデルを生成するための方法、システム及び方法
(51)【国際特許分類】
G06T 17/20 20060101AFI20231227BHJP
G06T 13/40 20110101ALI20231227BHJP
【FI】
G06T17/20
G06T13/40
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023538094
(86)(22)【出願日】2022-02-28
(85)【翻訳文提出日】2023-06-21
(86)【国際出願番号】 US2022018220
(87)【国際公開番号】W WO2022197431
(87)【国際公開日】2022-09-22
(32)【優先日】2021-03-15
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リウ,ソンラン
(72)【発明者】
【氏名】ヤン,ボー
(72)【発明者】
【氏名】ワン,ボー
【テーマコード(参考)】
5B050
5B080
【Fターム(参考)】
5B050AA08
5B050AA09
5B050BA09
5B050BA12
5B050CA00
5B050DA04
5B050EA09
5B050EA12
5B050EA26
5B050FA02
5B080AA01
5B080AA13
5B080AA14
5B080BA08
5B080CA00
5B080FA02
5B080GA22
(57)【要約】
電子機器は、3次元(3D)頭部変形モデルを生成する方法であって、2次元(2D)顔画像を受け取るステップと、人工知能(AI)モデルに基づいて、2D顔画像内のキーポイントの第1セットを識別するステップと、3D頭部テンプレートモデルに配置されるユーザ提供されたキーポイント注釈のセットに基づいて、キーポイントの第1セットを、3D頭部テンプレートモデルのメッシュの複数の頂点に配置されるキーポイントの第2セットにマッピングするステップと、3D頭部テンプレートモデルのメッシュに変形を実行し、キーポイントの第1セットとキーポイントの第2セットとの間の差を減少させることによって、変形された3D頭部メッシュモデルを取得するステップと、変形された3D頭部メッシュモデルにブレンドシェイプ方法を適用して、2D顔画像に応じて頭部モデルを取得するステップとを含む方法を実行する。
【特許請求の範囲】
【請求項1】
コンピュータによって実施される、3次元(3D)頭部変形モデルを生成する方法であって、
2次元(2D)顔画像を受け取るステップと、
人工知能(AI)モデルに基づいて、前記2D顔画像内のキーポイントの第1セットを識別するステップと、
3D頭部テンプレートモデルに配置されるユーザ提供されたキーポイント注釈のセットに基づいて、前記キーポイントの第1セットを、前記3D頭部テンプレートモデルのメッシュの複数の頂点に配置される前記キーポイントの第2セットにマッピングするステップと、
前記3D頭部テンプレートモデルの前記メッシュに変形を実行し、前記キーポイントの第1セットと前記キーポイントの第2セットとの間の差を減少させることによって、変形された3D頭部メッシュモデルを取得するステップと、
前記変形された3D頭部メッシュモデルにブレンドシェイプ方法を適用して、前記2D顔画像に応じて頭部モデルを取得するステップと、
を含む、方法。
【請求項2】
前記キーポイントの第1セットを、前記キーポイントの第2セットにマッピングするステップは、
前記2D顔画像上の前記キーポイントの第1セットを、前記3D頭部テンプレートモデルの前記メッシュの前記複数の頂点に関連付けるステップと、
顔のそれぞれのキーポイントによる、対応する識別された特徴に基づいて、前記キーポイントの第1セットを前記キーポイントの第2セットにマッピングするステップと、
を更に含む、請求項1に記載の方法。
【請求項3】
前記キーポイントの第2のセットは、以前に計算された偏差を前記ユーザ提供されたキーポイント注釈のセットに適用することによって配置され、前記以前に計算された偏差は、前記3D頭部テンプレートモデルのAI識別されたキーポイントの以前のセットと、前記3D頭部テンプレートモデルの前記メッシュの前記複数の頂点におけるユーザ提供されたキーポイント注釈の以前のセットとの間である、
請求項1に記載の方法。
【請求項4】
前記変形を実行することは、前記キーポイントの第1セットの前記キーポイントの第2セットへのマッピングを使用することによって、及び前記キーポイントの第1セットに関連する変形のための境界条件を使用することによって、前記3D頭部テンプレートモデルの前記メッシュを、前記変形された3D頭部メッシュモデルに変形することを含む、
請求項1に記載の方法。
【請求項5】
前記変形を実行することは、キーポイントの位置、隣接平滑度、特性及び元の位置のうちの1つ以上を含む異なる制約を、変形最適化のプロセスにおいて適用することを更に含む、
請求項4に記載の方法。
【請求項6】
前記変形を実行することは、キーポイントの位置、隣接平滑度、特性及び元の位置のうちの1つ以上の加重和である制約を、変形のプロセスに適用することを更に含む、
請求項4に記載の方法。
【請求項7】
前記キーポイントの第1セットを識別するステップは、畳み込みニューラルネットワーク(CNN)を使用するステップを含む、
請求項1に記載の方法。
【請求項8】
前記変形は、ラプラシアン演算子を用いないアフィン変形を含む、
請求項1に記載の方法。
【請求項9】
前記アフィン変形は、平滑度パラメータを変更することによって変形チューニングを達成する、
請求項8に記載の方法。
【請求項10】
前記3D頭部テンプレートモデルの前記メッシュは、スケルトンとバインドすることなく変形される、
請求項1に記載の方法。
【請求項11】
顔変形モデルは、リアルスタイルモデル又は漫画スタイルモデルを含む、
請求項1に記載の方法。
【請求項12】
前記変形された3D頭部メッシュモデルにブレンドシェイプ方法を適用することは、
前記変形された3D頭部メッシュモデルの前記キーポイントの第2セットの各々に対するそれぞれのブレンド重みを、それぞれのキーポイントの位置に応じて割り当てることと、
異なるブレンド重みを有する前記キーポイントの第2セットに異なるレベルの変形を適用することと、
を含む、請求項1に記載の方法。
【請求項13】
前記変形された3D頭部メッシュモデルにブレンドシェイプ方法を適用することは、
前記変形された3D頭部メッシュモデルの後側の形状を、変形前の前記3D頭部テンプレートモデルの元の後側の形状と同じに維持することを含む、
請求項1に記載の方法。
【請求項14】
電子機器であって、1つ以上の処理ユニットと、該1つ以上の処理ユニットに結合されるメモリと、該メモリに記憶され、前記1つ以上の処理ユニットによって実行されると、当該電子機器に、請求項1乃至13のいずれか一項に記載の方法を実行させる複数のプログラムとを備える、電子機器。
【請求項15】
1つ以上の処理ユニットを有する電子機器による実行のためのコンピュータプログラムであって、前記1つ以上の処理ユニットによって実行されると、前記電子機器に、請求項1乃至13のいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年3月15日に出願された「METHODS AND SYSTEMS FOR PERSONALIZED 3D HEAD MODEL DEFORMATION」と題する米国特許出願第17/202,112号の継続であり、これに対する優先権を主張し、その全体が参照によって本出願に組み込まれる。
【0002】
技術分野
本開示は、一般に画像技術に関し、特に画像処理及び頭部/顔のモデル形成方法及びシステムに関する。
【背景技術】
【0003】
多数のセンサ(例えばマルチビューカメラ、深度センサ等)を有する市販の顔キャプチャシステムは、明示的なマーカの有無にかかわらず、人物についての正確な3次元(3D)顔モデルを取得するために使用される。これらのツールは、多数のセンサから人間の顔のジオメトリとテクスチャ情報をキャプチャし、マルチモーダル情報を一般的な3D顔モデルに融合する。様々なセンサからのマルチモーダル情報の恩恵を受けて、取得される3D顔モデルは正確である。しかしながら、これらの市販のシステムは高価であり、生データを処理するために追加のソフトウェアの購入が必要とされる。加えて、これらのシステムは通常、顔キャプチャスタジオにおいて展開され、データを取得するためにはアクター又はボランティアが必要とされ、これは、データ収集プロセスを時間がかかり、かつ更にコストがかかるものにする。要するに、顔キャプチャシステムは、3D顔データを取得するために高価で時間がかかる。それどころか、今日ではスマートフォン又はカメラが広く利用可能であるので、潜在的に、利用可能な大量のRGB(赤、緑、青)画像が存在する。RGB画像を入力として取って3D顔モデルを作成することは、大量の画像データからの恩恵を受けることができる。
【0004】
2次元(2D)RGB画像は、3D世界を2D平面に投影したものにすぎない。2D画像から3Dジオメトリを復元することは、再構成プロセスを規則化するための最適化又は学習アルゴリズムを必要とする、不適切な問題である。3D顔再構成のために、パラメータ化された顔モデル3Dモーフィング可能モデル(3D Morphable Model、3DMM)ベースの方法が開発され、使用されている。特に、バーゼル顔モデル(Basel Face Model、BFM)及びサリー顔モデル(Surrey Face Model、SFM)のような顔モデルは、一般的に使用される顔モデルであり、これらは商用ライセンスを必要とする。顔モデルベースの方法は、スキャンされた3Dの人間の顔モデルのセット(様々な顔特徴及び表情を示す)をそれらのベースとして取り、3D顔モデルに基づいて、顔特徴及び表情のパラメータ化された表現を生成する。新しい3D顔は、パラメータ化に基づいて、ベースの3D顔モデルの線形の組合せとして表現されることができる。これらの方法の性質のために、ベースとパラメータ空間を形成するために使用される3D顔モデルは、顔モデルベースの方法の表現力を制限する。加えて、入力顔画像又は2Dランドマークからの3DMMパラメータに適合する最適化プロセスは、顔画像内の詳細な顔特徴を更に犠牲にする。したがって、顔モデルベースの方法は、3D顔特徴を正確に復元することはできず、BFM及びSFMのような顔モデルを使用するために商用ライセンスが必要とされる。
【0005】
ディープラーニングアルゴリズムの普及に伴い、意味セグメンテーション(semantic segmentation)アルゴリズムが多くの注目を集めている。このようなアルゴリズムは、顔画像内の各ピクセルを、背景、肌、髪、目、鼻及び口のような異なるカテゴリに分けることができる。
【0006】
意味セグメンテーション方法は、比較的正確な結果を達成することができるが、すべてのピクセルの意味セグメンテーションは非常に複雑な問題であり、これは、しばしば複雑なネットワーク構造を必要とし、高い計算複雑性をもたらすことになる。加えて、意味セグメンテーションネットワークをトレーニングするためには、大量のトレーニングデータをラベル付けする必要があり、意味セグメンテーションは画像全体のピクセルを分ける必要があり、これは、非常に退屈で時間がかかり、コストがかかる。したがって、高い平均色精度は必要としないが、高い効率を必要とするシーンには適していない。
【0007】
ラプラシアン(Laplacian)及び他の派生演算子(derived operators)を最適化するキーポイント駆動変形(Keypoint-driven deformation)方法は、学界でよく研究されている。重調和変形(Biharmonic deformation)の数式を、Δ2x’=0と記すことができる。制約されるキーポイント、すなわち境界条件(boundary conditions)を、xb’=xbcと表すことができる。上記の式において、Δはラプラシアン演算子であり、x’は、未知の変形メッシュ頂点の位置であり、xbcは、変形後の所与のキーポイントの位置である。双ラプラス(bi-Laplace)方程式の解は各次元で必要とされる。重調和関数は、双ラプラス方程式の解であるが、いわゆる「ラプラシアンエネルギー(Laplacian energy)」の最小化子(minimizers)でもある。
【0008】
エネルギー最小化の性質はメッシュの平滑化である。前述の最小化子を直接適用する場合、詳細な特徴はすべて平滑化されることになる。そのうえ、キーポイントの位置が変更されないままであるとき、変形されたメッシュは、元のメッシュとまったく同じであることが期待される。これらの考慮事項から、重調和変形の好ましい使用法は、位置以外の頂点の変位(displacement)を解くことである。このようにして、変形された位置を、x’=x+dと書くことができ、ここで、dは各次元の未知の頂点の変位である。当然、重調和変形の式は、db=xbc-xbを前提として、Δ2d=0となり、ここで、dbは、変形の後のキーポイントの変位である。
【0009】
ゲーム業界の急速な発展に伴い、カスタマイズされた顔のアバター生成がますます一般的になっている。芸術的なスキルを持たない通常のプレイヤにとって、微妙な変化を示すことができる顔を生成するために制御パラメータを調整することは非常に困難である。
【0010】
Justice顔生成システム(Justice Face Generation System)のようないくつかの既存の顔生成システム及び方法では、顔モデルの予測は、写真内の眉、口、鼻及び他のピクセルのセグメンテーションのような、画像内の2D情報を予測することである。これらの2Dセグメンテーションは、平面外回転及び部分的遮蔽(occlusion)の影響を受けやすく、基本的に正面の顔が必要とされる。加えて、最終ゲームの顔アバターと入力の類似性は顔認識システムによって決定されるので、これは、この方法をリアルスタイルのゲームのみに制限する。ゲームのスタイルが、現実の顔と大きく異なる漫画スタイルの場合、この方法を使用することはできない。
【0011】
Moonlight Blade(Moonlight Blade Face Generation System)のような、いくつかの他の既存の顔生成システム及び方法では、実際の顔が入力画像から再構成される。この方法はリアルスタイルのゲームに限定され、漫画スタイルのゲームに適用することができない。次に、この方法の出力パラメータは、再構成されたゲームスタイルの顔メッシュであり、その後、メッシュの各部分に対してテンプレートマッチングが実行される。このアプローチは、異なる顔パーツの組合せを制限する。ゲームの顔の全体的な多様性は、事前生成されるテンプレートの数と密接に関連する。口の形状のような特定のパーツのテンプレートの数が少ない場合、異なるバリエーションをほとんど生成しない可能性があり、生成されるフェイスは多様性に欠けることがある。
【発明の概要】
【0012】
学習ベースの顔再構成及びキーポイント検出方法は、ゴールドスタンダードとして3Dグラウンドトゥルースデータ(ground-truth data)に依拠して、グラウンドトゥルースに可能な限り近く近似するモデルをトレーニングする。したがって、3Dグラウンドトゥルースは、学習ベースのアプローチの上限を決定する。顔再構成の精度と望ましいキーポイント検出を保証するために、いくつかの実施形態では、高価な顔キャプチャシステムを使用することなく、2D顔キーポイント注釈(facial keypoints annotation)を使用して3D顔モデルのグラウンドトゥルースを生成する。本明細書で開示されるアプローチは、入力画像の詳細な顔特徴を保持する3Dグラウンドトゥルース顔モデルを生成し、顔特徴を失う3DMMベースの方法のような既存の顔モデルの欠点を克服し、また、いくつかの既存の顔モデルベースの方法によって必要とされるBFM及びSFM(両方とも商用ライセンスを必要する)のようなパラメータ化された顔モデルの使用も回避する。
【0013】
顔キーポイント検出とは別に、いくつかの実施形態では、マルチタスク学習及び転移学習解決策が顔特徴分類タスクのために実装され、その結果、入力顔画像からより多くの情報を抽出することができ、そのような情報はキーポイント情報を補完する。予測された顔特徴とともに、検出された顔キーポイントは、プレイヤの顔アバターを作成するためにコンピュータ又はモバイルゲームにとって価値がある。
【0014】
いくつかの実施形態では、単一の写真から、肌、眉、瞳、唇、髪及びアイシャドウの平均色を含む人間の顔の各パーツの平均色を抽出するための軽量な方法が本明細書に開示されている。同時に、平均色に基づいてテクスチャマップを自動的に変換するアルゴリズムも使用され、その結果、変換されたテクスチャは依然として元の明るさと色の違いを有するが、メイン色はターゲットの色となる。
【0015】
コンピュータビジョンと人工知能(AI)技術の急速な発展により、3Dの人間の顔キーポイントのキャプチャ及び再構成は、高い精度レベルを実現している。ますます多くのゲームが、AI検出を利用してゲームキャラクタをより鮮やかにしている。本明細書に開示される方法及びシステムは、再構成された3Dキーポイントに基づいて3D頭部アバターをカスタマイズする。一般的なキーポイント駆動変形は、任意のメッシュに適用可能である。本明細書で提案される頭部アバターのカスタマイズのプロセスと変形方法は、自動アバター作成及び表情の再発生のようなシナリオにおいてその用途を見つけることができる。
【0016】
単一の写真に基づいてゲーム内の顔アバターを自動生成するための方法及びシステムが、本明細書において開示される。顔キーポイントの予測、キーポイントの自動処理及びモデルパラメータを予測するためのディープラーニング方法の使用を通して、本明細書で開示されるシステムは、ゲーム内の顔アバターを自動生成し、その顔アバターを、1)写真内の実際の顔の特性を有し、2)ターゲットのゲームスタイルに従うものにすることができる。このシステムを、リアルスタイルのゲームと漫画スタイルのゲームの顔生成に同時に適用することができ、異なるゲームモデルやボーン(bone)定義に従って容易に自動調整することができる。
【0017】
本出願の第1の側面によると、現実の人物の2次元(2D)顔画像から顔位置マップを構成する方法は、2D顔画像から粗い顔位置マップを生成するステップと、粗い顔位置マップに基づいて、2D顔画像のキーポイントの第1セットを予測するステップと、ユーザ提供されたキーポイント注釈に基づいて、2D顔画像のキーポイントの第2セットを識別するステップと、2D顔画像のキーポイントの第1セットとキーポイントの第2セットとの間の差を減少させるように、粗い顔位置マップを更新するステップとを含む。
【0018】
いくつかの実施形態では、現実の人物の2D顔画像から顔位置マップを構成する方法は、更新された顔位置マップに基づいて、キーポイントの第3セットをキーポイントの最終的なセットとして抽出するステップを更に含み、キーポイントの第3セットは、顔位置マップ内のキーポイントの第1セットと同じ位置を有する。
【0019】
いくつかの実施形態では、現実の人物の2D顔画像から顔位置マップを構成する方法は、更新された顔位置マップに基づいて、現実の人物の3次元(3D)顔モデルを再構成するステップを更に含む。
【0020】
本出願の第2の側面によると、現実の人物の2次元(2D)顔画像から色を抽出する方法は、キーポイント予測モデルに基づいて、2D顔画像内の複数のキーポイントを識別するステップと、複数のキーポイントからの選択されたターゲットキーポイントが位置合わせされるまで、2D顔画像を回転させるステップと、回転された2D顔画像内の複数のパーツ(parts)を特定する(locating)ステップであって、各パーツは、複数のキーポイントのそれぞれのサブセットによって定義される、ステップと、2D顔画像のピクセル値から、キーポイントの対応するサブセットによって定義される複数のパーツの各々の平均色を抽出するステップと、2D顔画像内の複数のパーツの抽出された色を使用して、2D顔画像のそれぞれの顔特徴色に一致する現実の人物のパーソナライズされた3次元(3D)モデルを生成するステップとを含む。
【0021】
本出願の第3の側面によると、3次元(3D)頭部変形モデルを生成するコンピュータ実施方法は、2次元(2D)顔画像を受け取るステップと、人工知能(AI)モデルに基づいて、2D顔画像内のキーポイントの第1セットを識別するステップと、3D頭部テンプレートモデルに配置される(located on)ユーザ提供されたキーポイント注釈のセットに基づいて、キーポイントの第1セットを、3D頭部テンプレートモデルのメッシュの複数の頂点に配置される(located on)キーポイントの第2セットにマッピングするステップと、3D頭部テンプレートモデルのメッシュに変形を実行し、キーポイントの第1セットとキーポイントの第2セットとの間の差を減少させることによって、変形された3D頭部メッシュモデルを取得するステップと、変形された3D頭部メッシュモデルにブレンドシェイプ方法を適用して、2D顔画像に応じて頭部モデルを取得するステップとを含む。
【0022】
本出願の第4の側面によると、現実の人物の2次元(2D)顔画像を使用してゲーム内のアバターの標準顔をカスタマイズする方法は、2D顔画像内の現実のキーポイントのセットを識別するステップと、現実のキーポイントのセットを、ゲーム内のアバターに関連付けられるゲームスタイルのキーポイントのセットに変換するステップと、ゲームスタイルのキーポイントのセットをキーポイント・ツー・パラメータ(K2P)ニューラルネットワークモデルに適用することによって、ゲーム内のアバターの標準顔の制御パラメータのセットを生成するステップと、制御パラメータのセットに基づいてゲーム内のアバターの標準顔を変形するステップであって、アバターの変形された顔は2D顔画像の顔特徴を有する、ステップとを含む。
【0023】
本出願の第5の側面によると、電子機器は、1つ以上の処理ユニットと、メモリと、メモリに記憶された複数のプログラムを含む。プログラムは、1つ以上の処理ユニットによって実行されると、電子機器に上記の1つ以上の方法を実行させる。
【0024】
本出願の第6の側面によると、非一時的コンピュータ読取可能記憶媒体は、1つ以上の処理ユニットを有する電子機器による実行のために複数のプログラムを記憶する。プログラムは、1つ以上の処理ユニットによって実行されると、電子機器に上記の1つ以上の方法を実行させる。
【0025】
上記の様々な実施形態を、本明細書に記載される任意の他の実施形態と組み合わせることができる。本明細書に記載される特徴及び利点はすべてを網羅するものではなく、特に、図面、明細書及び特許請求の範囲を考慮すると、多くの追加的な特徴及び利点が当業者には明らかであろう。さらに、本明細書で使用される言語は、主に読みやすさと説明の目的のために選択されたものであり、本発明の主題を描写又は限定するために選択されたものではないことに留意されたい。
【図面の簡単な説明】
【0026】
本開示をより詳細に理解することができるように、より具体的な説明は、様々な実施形態の特徴を参照することによって行われてよく、その一部は添付図面に図示されている。しかしながら、添付図面は、単に本開示の関連する特徴を例示するだけであり、したがって、説明は他の効果的な特徴を認める可能性があるため、限定とはみなされるべきではない。
【0027】
【
図1】本開示のいくつかの実装による、例示的なキーポイント定義を示す図である。
【0028】
【
図2】本開示のいくつかの実装による、例示的なキーポイント生成プロセスを示すブロック図である。
【0029】
【
図3】本開示のいくつかの実装による、初期の粗い位置マップを変換する例示的なプロセスを示す図である。
【0030】
【
図4】本開示のいくつかの実装による、顔エリア全体をカバーしない例示的な変換された位置マップを示す図である。
【0031】
【
図5】本開示のいくつかの実装による、顔エリア全体をカバーするように、変換された位置マップを改良する(refining)例示的なプロセスを示す図である。
【0032】
【
図6】本開示のいくつかの実装による、位置マップ改良アルゴリズム(position map refinement algorithm)のいくつかの例示的な結果を示す図である。
【0033】
【
図7A】本開示のいくつかの実装による、初期の粗い位置マップに対する最終位置マップのいくつかの例示的な比較を示す図である。
【
図7B】本開示のいくつかの実装による、初期の粗い位置マップに対する最終位置マップのいくつかの例示的な比較を示す図である。
【0034】
【
図8A】本開示のいくつかの実装による、例示的な眼鏡分類ネットワーク構造を示す図である。
【0035】
【
図8B】本開示のいくつかの実装による、例示的な女性の毛髪予測ネットワーク構造を示す図である。
【0036】
【
図8C】本開示のいくつかの実装による、例示的な男性の毛髪予測ネットワーク構造を示す図である。
【0037】
【
図9A】本開示のいくつかの実装による、いくつかの例示的な眼鏡分類予測結果を示す図である。
【0038】
【
図9B】本開示のいくつかの実装による、いくつかの例示的な女性の毛髪予測結果を示す図である。
【0039】
【
図9C】本開示のいくつかの実装による、いくつかの例示的な男性の毛髪予測結果を示す図である。
【0040】
【
図10】本開示のいくつかの実装による、現実の人物の2D顔画像から顔位置マップを構成する例示的なプロセスを示すフローチャートである。
【0041】
【
図11】本開示のいくつかの実装による、例示的な色抽出及び調整プロセスを示すフローチャートである。
【0042】
【
図12】本開示のいくつかの実装による、例示的な肌色抽出方法を示す図である。
【0043】
【
図13】本開示のいくつかの実装による、例示的な眉色抽出方法を示す図である。
【0044】
【
図14】本開示のいくつかの実装による、例示的な瞳色抽出方法を示す図である。
【0045】
【
図15】本開示のいくつかの実装による、髪色抽出方法で使用される例示的な髪色抽出領域を示す図である。
【0046】
【
図16】本開示のいくつかの実装による、髪色抽出領域内の髪ピクセルと肌ピクセルとの間の例示的な分離を示す図である。
【0047】
【
図17】本開示のいくつかの実装による、例示的なアイシャドウ色抽出方法を示す図である。
【0048】
【
図18】本開示のいくつかの実装による、いくつかの例示的な色相調整結果を示す図である。
【0049】
【
図19】本開示のいくつかの実装による、現実の人物の2D顔画像から色を抽出する例示的なプロセスを示すフローチャートである。
【0050】
【
図20】本開示のいくつかの実装による、例示的な頭部アバターの変形及び生成プロセスを示すフローチャートである。
【0051】
【
図21】本開示のいくつかの実装による、例示的な頭部テンプレートモデル構成を示す図である。
【0052】
【
図22】本開示のいくつかの実装による、リアルスタイルの3Dモデルと漫画スタイルの3Dモデル上のいくつかの例示的なキーポイントマーキングを示す図である。
【0053】
【
図23】本開示のいくつかの実装による、テンプレートモデルレンダリングと、手動でマークされたキーポイントと、AI検出されたキーポイントとの間の例示的な比較を示す図である。
【0054】
【
図24】本開示のいくつかの実装による、例示的な三角形のアフィン変換を示す図である。
【0055】
【
図25】本開示のいくつかの実装による、ブレンドシェイププロセス(blendshape process)あり及びなしのいくつかの頭部モデル変形結果の例示的な比較を示す図である。
【0056】
【
図26】本開示のいくつかの実装による、異なる重みを有するアフィン変形と重調和変形の例示的な比較を示す図である。
【0057】
【
図27】本開示のいくつかの実装による、現実的なテンプレートモデルを使用して、いくつかのランダムに選ばれた女性のピクチャから自動的に生成される、いくつかの例示的な結果を示す図である。
【0058】
【
図28】本開示のいくつかの実装による、現実の人物の2D顔画像から3D頭部変形モデルを生成する例示的なプロセスを示すフローチャートである。
【0059】
【
図29】本開示のいくつかの実装による、例示的なキーポイント処理フローステップを示す図である。
【0060】
【
図30】本開示のいくつかの実装による、例示的なキーポイント平滑化プロセスを示す図である。
【0061】
【
図31】本開示のいくつかの実装による、例示的なキーポイント・ツー・制御パラメータ(K2P)変換プロセスを示すブロック図である。
【0062】
【
図32】本開示のいくつかの実装による、モバイルゲームの自動顔生成のいくつかの例示的な結果を示す図である。
【0063】
【
図33】本開示のいくつかの実装による、現実の人物の2D顔画像を使用して、ゲーム内のアバターの標準顔をカスタマイズする例示的なプロセスを示すフローチャートである。
【0064】
【
図34】本開示のいくつかの実装による、画像処理装置の例示的なハードウェア構造の概略図である。
【0065】
一般的な方法によると、図面に示される様々な特徴は、縮尺どおりに描かれていないことがある。したがって、様々な特徴の寸法は、明確性のために、任意に拡大又は縮小されることがある。加えて、図面の一部は、所与のシステム、方法又はデバイスの構成要素のすべてを示していないことがある。最後に、同様の参照番号が、明細書及び図面の全体を通して同様の特徴を示すために使用されることがある。
【発明を実施するための形態】
【0066】
次に特定の実装が詳細に説明され、その例が添付の図面に図示される。以下の詳細な説明では、本明細書で提示される主題を理解することを助けるために、多数の非限定的な具体的な詳細が説明される。しかしながら、特許請求の範囲から逸脱することなく、様々な代替物が使用されてよく、本主題がこれらの特定の詳細を伴わずに実施されてよいことは、当業者には明らかであろう。例えば当業者には、本明細書において提示された主題を、多くのタイプの電子デバイスにおいて実装することができることが明らかであろう。
【0067】
本出願の実施形態を詳細に更に説明する前に、本出願の実施形態に関与する名称及び用語を説明するが、本出願の実施形態に関与する名称及び用語は以下の説明を有する。
【0068】
顔キーポイント:特定の顔のパーツ、例えば目の端(corners of eyes)、顎、鼻先及び口角の形状を決定する、事前定義されたランドマーク。
【0069】
顔のパーツ:顔の縁(face border)、目、眉、鼻、口及び他のパーツ。
【0070】
顔の再構成:人間の顔の3Dジオメトリ構造と、メッシュモデル、点群又は深度マップを含む一般的に使用される表現を再構成する。
【0071】
RGB画像:赤、緑、青の3チャンネル画像フォーマット。
【0072】
位置マップ:赤、緑、青のチャンネルを通常の画像フォーマットで使用して、3Dの人間の顔の表現である、顔エリアのx、y、z座標を記憶する。
【0073】
顔特徴分類:眼鏡分類あり又は眼鏡分類なしの髪型分類を含む。
【0074】
畳み込みニューラルネットワーク(CNN):ディープニューラルネットワークのクラスであり、視覚イメージ(visual imagery)の分析に最も一般的に適用される。
【0075】
ベースネットワーク:特徴抽出器として機能するように1つ又は複数のダウンストリームタスクによって使用されるCNNのようなネットワーク。
【0076】
ラプラシアン演算子(Laplacian operator):ユークリッド空間上の関数の勾配の発散によって与えられる微分演算子。
【0077】
微分可能多様体(Differentiable manifold):微積分を行うことを可能にするために局所的に線形空間に類似する位相空間のタイプ。
【0078】
重調和関数(Biharmonic functions):微分可能多様体において定義される、0に等しい平方ラプラシアン演算子を有する4次微分可能関数。
【0079】
キーポイント駆動変形(Keypoint-driven deformation):特定の頂点の位置を変更することによってメッシュを変形する方法のクラス。
【0080】
重調和変形(Biharmonic deformation):いくつかの境界条件を有する重調和関数の最適化を用いる変形方法。
【0081】
アフィン変形(Affine deformation):メッシュ変形の目的を達成するために三角形のアフィン変換を最適化する、本開示で提案されるキーポイント駆動変形方法。
【0082】
顔モデル:事前定義されたターゲットゲームにおける標準顔のメッシュ。
【0083】
ボーン/スライダー:顔モデルを変形する制御パラメータ。
【0084】
前述のように、入力2D画像と2Dキーポイントの両方を最適化プロセスに供給して3DMMパラメータを適合させるとしても、最適化は、ベース(すなわち、3D顔モデルセット)に基づく3D顔モデルの適合と2Dキーポイントの忠実度との間でバランスを取らなければならない。その最適化は、取得される3D顔モデルが2D入力キーポイントを無視することにつながり、その結果、2D入力キーポイントによってもたらされる詳細な顔情報を犠牲にする。既存の3D顔再構成方法の中で、顔キャプチャ解決策は正確な再構成を生成することができるが、高価で時間がかかり、また、取得されるデータは、顔特徴の限られたバリエーション(限られた数のアクター)を示す。一方、顔モデルベースの方法は、入力として2D画像又は2Dランドマーク注釈を取ることができるが、取得される3Dモデルは正確ではない。コンピュータ/モバイルゲームの迅速な開発の要件を満たすためには、望ましい3Dモデル精度を生み出すことと、必要とされるコスト及び時間を削減することの両方が必要とされる。これらの要件を満たすために、本明細書で開示される新しい3Dグラウンドトゥルース(ground-truth)顔モデル生成アルゴリズムは、2D画像と、2Dキーポイント注釈と、粗い3D顔モデル(位置マップフォーマット)を入力として取り、2Dキーポイントに基づいて粗い3Dモデルを変換し、最終的に、詳細な顔特徴が良好に確保される3D顔モデルを生成する。
【0085】
顔再構成及びキーポイント予測における重要な問題を解決することの他に、顔特徴分類のためのマルチタスク学習及び転移学習ベースのアプローチも本明細書において開示され、部分的に、顔再構成及びキーポイント予測フレームワークの上に構成される。特に、顔再構成及びキーポイント予測のベースネットワークを再利用して、眼鏡分類(眼鏡あり又は眼鏡なし)はマルチタスク学習を介して達成される。既存の顔再構成及びキーポイント予測フレームワークの上の線形分類器がトレーニングされ、これは、既存のモデルを大幅に再利用し、画像特徴抽出のための別のより大きなネットワークの導入を回避する。加えて、別の共有ベースネットワークが男性と女性の髪型分類に使用される。髪型は、顔キーポイント又は3D顔モデルを補完する、重要な顔特徴の一種である。ユーザの3Dアバターを作成するプロセスでは、髪型及び眼鏡予測を追加することにより、ユーザの顔特徴をより良好に反映し、より良好なパーソナライズ体験を提供することができる。
【0086】
顔キーポイント予測は、何十年もの間、コンピュータビジョンの研究テーマとなっている。近年の人工知能及びディープラーニングの発展に伴い、畳み込みニューラルネットワーク(CNN)が、顔キーポイント予測の進歩を促進している。3D顔再構成と顔キーポイント検出は、2つの絡み合った問題であり、一方を解決することで他方を単純化することができる。従来の方法は、最初に2D顔キーポイント検出を解決し、次に、推定された2D顔キーポイントに基づいて3D顔モデルを更に推論する。しかしながら、画像内の顔が傾いている(うなずいているか又は首を振っている)とき、特定の顔キーポイントが遮られ、誤った2D顔キーポイント推定につながり、そのため、誤った2D顔キーポイントの上に構成する3D顔モデルは不正確なものとなる。
【0087】
グラウンドトゥルースのデータは、ディープラーニングベースの方法の上限を決定するので、既存の3D顔モデルデータセットは数が限られているだけでなく、学術研究のみに利用可能である。一方、顔モデルベースの方法は、ともに商用ライセンスを必要とするバーゼル顔モデル(BFM)又はサリー顔モデル(SFM)を使用する必要がある。高精度で大量の3Dグラウンドトゥルースは、すべての顔再構成又はキーポイント推定モデルをトレーニングする際に最も重要な問題となる。
【0088】
顔キーポイント予測以外に、顔特徴分類は、ユーザの3Dアバター作成の重要な側面である。予測される顔キーポイントでは、ユーザの顔のパーツ(すなわち、目、眉、鼻、口及び顔の輪郭)のスタイル転送のみを行うことができる。しかしながら、ユーザの顔特徴をより良好に反映するためには、ユーザの髪型を一致させることと、入力画像でユーザが眼鏡を装着している場合は一対の眼鏡を追加することは、非常に役立つ。これらの要件に基づいて、男性/女性の髪型予測及び眼鏡予測(あり/なし)を達成するために、マルチタスク学習及び転移学習ベースの顔特徴分類アプローチが開発され、これは、作成された顔アバターをよりパーソナライズしてユーザの体験を向上させる。
【0089】
いくつかの実施形態では、顔の主要パーツの3次元形状を表すために、
図1に示されるようなキーポイント表現が使用される。
図1は、本開示のいくつかの実装による、例示的なキーポイント定義を示す図である。キーポイントは、顔の特定の特徴を定義する順番に番号が付けられている。言い換えると、キーポイントのシーケンス番号と顔の特定の位置との間にはマッピング関係がある。例えばシーケンス番号9は、顎の下部に対応し、シーケンス番号21は鼻の先に対応するなどである。キーポイントは顔の主なパーツの境界、例えば顔の輪郭、目の輪郭及び眉の輪郭等に焦点を当てる。キーポイントが多いほど、予測は難しくなるが、より正確な形状表現になることを意味する。いくつかの実施形態では、
図1において、96個のキーポイントの定義が採用されている。いくつかの実施形態では、ユーザは、キーポイントの特定の定義と数をユーザ自身のニーズに応じて変更することができる。
【0090】
多くのアルゴリズムは、人間の顔のキーポイントの3次元座標を予測することができる。より良好な性能の方法は、大量のオフライン3Dトレーニングデータに基づくディープラーニングアルゴリズムを使用する。しかしながら、いくつかの実施形態では、任意の3次元キーポイント予測アルゴリズムを使用することができる。いくつかの実施形態では、キーポイントの定義は決まっておらず、ユーザは、必要に応じて定義をカスタマイズすることが可能である。
【0091】
3Dグラウンドトゥルース顔モデル生成の問題を解決するために、2DのRGB画像と、2Dキーポイント注釈と、粗い位置マップを入力として取る、次の自動アルゴリズムが開発されている。
図2は、本開示のいくつかの実装による、例示的なキーポイント生成プロセスを示すブロック図である。例えば顔の2DのRGB画像が入力画像202として使用され、2DのRGB画像は、対応する初期の粗い位置マップ204を有し、初期の粗い位置マップ内の各ピクセルは、2DのRGB画像内の対応する顔ポイントの空間座標を表す。2Dキーポイント注釈208は、ユーザ提供されたキーポイントのセットを表し、これは、初期の粗い位置マップ204から検出されたキーポイント206のセットを修正するために使用される。
【0092】
図3は、本開示のいくつかの実装による、初期の粗い位置マップを変換する例示的なプロセスを示す図である。
【0093】
いくつかの実施形態では、3D再構成方法を使用して、入力顔画像を、顔特徴についての3D深度情報を含む位置マップに変換する。例えば位置マップは、256×256のマトリクスアレイを有する2Dの3つの色(RGB)チャネルマップであってよく、アレイ要素の各々は、顔モデル上の3D位置を表す座標(x,y,z)を有する。3D位置座標(x,y,z)は、各アレイ要素について、位置マップ上のRGBピクセル値によって表される。特定の顔特徴は、2D位置マップ内の固定された2D位置に配置される。例えば鼻の先を、位置マップ内のX=128及びY=128の2Dアレイ要素の位置によって識別することができる。同様に、顔の上の特定の顔特徴について識別される特定のキーポイントは、2D位置マップ上の同じアレイ要素の場所に置かれる可能性がある。しかしながら、特定のキーポイントは、位置マップの異なる入力顔画像に応じて異なる3D位置座標(x,y,z)を有することができる。
【0094】
いくつかの実施形態では、
図2及び
図3に示されるように、3D再構成方法を利用して、入力画像(202,302)から初期の粗い位置マップ(204,304)を取得する。次いで、入力2Dキーポイント注釈(208,308)を使用して、初期の位置マップの対応するキーポイント(206,306)の(x,y)座標を調整し、調整された位置マップ内のキーポイントの調整された(x,y)座標が、注釈付き2Dキーポイントと同じになることを保証する。具体的には、最初に、初期の位置マップPから96個のキーポイントのセットが取得される。キーポイントインデックスに基づいて、96個のキーポイントのセットは、K=k_iとして参照され、ここで、各k_iは、キーポイントの2D座標(x,y)であり、i=0,...,95である。2Dキーポイント注釈(208,308)から、96個のキーポイントの第2セットA=a_iが取得され、これは、2D(x,y)座標であり、i=0,...,95である。次に、KからAへの空間変換マッピング(210,310)が推定され、T:Ω->Ωとして定義され、Ω⊂R^2である。その後、取得された変換Tを初期の位置マップPに適用して、変換された位置マップP'(212,312)を得る。このようにして、変換された位置マップP'(212,312)は、入力画像(202,302)内の人物の詳細な顔特徴を保持し、同時に、変換された位置マップP'(212,312)は、妥当な3D深度情報である。したがって、本明細書で開示される解決策は、3Dグラウンドトゥルース情報を生成するために正確かつ実用的な代替解決策を提供し、高価で時間のかかる顔キャプチャシステムの使用を回避する。
【0095】
いくつかの実施形態では、96個の顔キーポイントは、顔エリア全体の一部(すなわち、眉の下、顔輪郭の内側)のみをカバーするものであるため、例えば
図3では、耳から顎までのキーポイントは下顎に沿っているが、目に見える顔輪郭上にはない。入力画像内の顔が傾いているとき、顔エリア全体は、一緒に接続されるキーポイントの輪郭によってカバーされない。加えて、手動のキーポイント注釈を行うとき、画像内の顔が傾いているかどうかに関係なく、キーポイントは、目に見える顔輪郭に沿ってのみラベル付けされることができる(すなわち、遮られたキーポイントに正確に注釈を付ける方法はない)。その結果、変換された位置マップP'(212,312)では、顔エリアの一部は、変換マッピングT(210,310)が領域内で推定値(estimation)を持たないため、有効な値を持たない。加えて、額エリアは眉の上であるため、Tはそのエリア内でも推定値を持たない。これらの問題はすべて、変換された位置マップP’(212,312)が特定のエリア内で有効な値を持たない原因となる。
図4は、本開示のいくつかの実装による、顔エリア全体をカバーしない、例示的な変換された位置マップを示す図である。
【0096】
図4では、上部の円(402,406)は、額エリアを強調し、右の円(404,408)は、キーポイントの輪郭が、目に見える顔輪郭よりも小さい領域を示す。
【0097】
いくつかの実施形態では、上記の問題を解決し、アルゴリズムを、顔画像に一般的に存在する傾けられた顔に対してロバストにするために、
図2に示されるような改良プロセス214が使用される。変換された位置マップからのキーポイントは、頭のポーズ及び粗い3D顔モデルに基づいて、目に見える顔輪郭に一致するように顔の輪郭に沿ってシフトされる。その後、顔の輪郭エリア内の欠測値を、取得された位置マップ内に書き入れることができる。しかしながら、額領域内の値はまだ不足している。額領域をカバーするために、画像の四隅にある8つのランドマークを両方のキーポイントセットKとAに追加することによって、制御ポイントが拡張される。
【0098】
図5は、本開示のいくつかの実装による、顔エリア全体をカバーするように、変換された位置マップを改良する例示的なプロセスを示す図である。位置マップ改良処理が
図5に示される。
【0099】
いくつかの実施形態では、最初に、粗い位置マップPに基づいて頭のポーズを決定し、頭が左又は右に傾いていることを決定し、左又は右を3D顔モデル空間で定義する(例えば
図5に示されるように、顔は左に傾いている。)。顔が左又は右に傾いているという決定に基づいて、顔輪郭の対応する側のキーポイントが調整される。顔輪郭の右側のキーポイントは、1から8までのインデックスを有し、顔輪郭の左側のキーポイントは、10から17までのインデックスを有する。左に傾けられた顔を例として使用すると、初期の位置マップPの2D投影を計算して、
図5に示される画像502のような深度マップを得る。左顔輪郭のキーポイントk_i、i=10,...,17は、深度マップの境界に達するまで右方向に個々にシフトされる。その後、新しい座標を使用して元のキーポイント位置を置き換える。同様に、顔が右に傾けられるとき、処理されたキーポイントは、k_i、i=1,...,8によってインデックス付けされ、探索方向は左である。顔輪郭のキーポイントを調整した後、更新されたキーポイントは
図5の画像504のように視覚化され、位置マップの更新されたカバレッジは
図5の画像506のように表示される。更新された位置マップは、顔輪郭エリア内のより良好な顔カバレッジを有するが、額エリアには依然として欠測値がある。
【0100】
いくつかの実施形態では、額エリアをカバーするために、2つのアンカーポイントを、画像領域Ωの各隅において追加のキーポイントk_i、i=96,...,103として追加して、更新されたキーポイントセットK'を得る(
図5の画像508に示されるように)。同じことを手動注釈キーポイントセットa_i、i=96,...,103についても行って、更新されたA'を得る。更新されたキーポイントセットK'及びA'を使用して、変換マッピングT'を再推定し、次いで、初期の位置マップPに適用して、(
図5の画像510に示されるように)顔エリア全体をカバーする最終位置マップP''(
図2の216)を得る。最終キーポイント218は、最終位置マップ216から導出される。
【0101】
図6は、本開示のいくつかの実装による、位置マップ改良アルゴリズムのいくつかの例示的な結果を示す図である。602は、初期の変換された位置マップの図である。604は、顔輪郭を固定した後の更新された位置マップの図である。606は、最終位置マップの図である。
【0102】
図7A及び
図7Bは、本開示のいくつかの実装による、初期の粗い位置マップに対する最終位置マップのいくつかの例示的な比較を示している。
図7Aの一例では、初期位置マップとそれに関連する3Dモデル及びキーポイント702内の鼻は、人物の顔特徴(矢印で強調される)を完全には反映することができない不正確なものであるが、本明細書で説明される方法を適用した後、鼻は、最終位置マップとそれに関連する3Dモデル及びキーポイント704内の画像(矢印で強調される)の画像と良好に位置合わせされる。
図7Bの2つめの例では、初期位置マップとそれに関連する3Dモデル、並びに顔の輪郭、開いている口及び鼻の形状の不一致(矢印で示される)のようなキーポイント706に複数の不正確さがある。最終位置マップとそれに関連する3Dモデル及びキーポイント708では、これらのエラーはすべて修正される(矢印で示される)。
【0103】
髪型及び眼鏡分類は、顔アバター作成プロセスのモバイルゲームアプリケーションにとって重要である。いくつかの実施形態では、これらの問題を解決するために、マルチタスク学習及び転移学習ベースの解決策が本明細書において実装される。
【0104】
いくつかの実施形態では、女性の毛髪予測のために4つの異なる分類タスク(頭部)が実装される。分類カテゴリとパラメータを以下に示す:
【0105】
分類頭部(classification head)1:カーブ
【0106】
ストレート(0);カーブ(1)
【0107】
分類頭部2:長さ
【0108】
ショート(0);ロング(1)
【0109】
分類頭部3:前髪(bang)
【0110】
前髪なし又はスプリット(0);左分け(1);右分け(2);M字型(3);ストレートバング(4);ナチュラルバング(5);エアバング(6)
【0111】
分類頭部4:ブレード(braid、編み)
【0112】
単一のブレード(0);2つ以上のブレード(1);単一の束髪(bun)(2);2つ以上の束髪(3);その他(4)。
【0113】
いくつかの実施形態では、男性の毛髪予測のために3つの異なる分類タスク(頭部)が実装される。分類カテゴリとパラメータを以下に示す:
【0114】
分類頭部1:とても短い(0)、カール(1)、その他(2)
【0115】
分類頭部2:前髪なし(0)、スプリットバング(split bang)(1)、ナチュラルバング(2)
【0116】
分類頭部3:左スプリットバング(0)及び右スプリットバング
【0117】
いくつかの実施形態では、眼鏡分類はバイナリ分類タスクである。分類パラメータを以下に示す:
【0118】
眼鏡なし(0);眼鏡あり(1)。
【0119】
異なるディープラーニング画像分類モデルの中で、ImageNetにおける最先端の精度を達成しているものは、通常、EfficientNet、noisy student、FixResのような大きなモデルサイズと複雑な構造を有する。特徴抽出器のベースネットワークとしてどのアーキテクチャを使用すべきかを決定するとき、予測精度とモデルサイズの両方のバランスを取らなければならない。実際には、1%の分類精度の向上は、エンドユーザには明白な変化をもたらさない可能性はあるが、モデルサイズは指数関数的に増加する可能性がある。トレーニングされたモデルをクライアント側に展開する必要があるとすると、より小さなベースネットワークは、サーバ側とクライアント側の両方で展開されるように柔軟にすることができる。したがって、例えば異なる分類頭部の転移学習を行うためのベースネットワークとしてMobileNetV2が採用されている。MobileNetV2アーキテクチャは、入力で拡張表現を使用する従来の残差モデルとは反対に、残差ブロックの入力と出力が薄いボトルネック層である逆残差構造(inverted residual structure)に基づく。MobileNetV2は、中間拡張層の特徴をフィルタするために軽量の深度方向畳み込み(depthwise convolution)を使用する。
【0120】
眼鏡分類には、マルチタスク学習アプローチが使用される。キーポイント予測のネットワークをベースネットワークとして再利用し、パラメータを凍結することにより、U字型ベースのネットワークのボトルネック層において、交差エントロピー損失を伴う特徴ベクトルを使用して、バイナリ分類子をトレーニングする。
図8Aは、本開示のいくつかの実装による、例示的な眼鏡分類ネットワーク構造を示す図である。
図8Bは、本開示のいくつかの実装による、例示的な女性の毛髪予測ネットワーク構造を示す図である。
図8Cは、本開示のいくつかの実装による、例示的な男性の毛髪予測ネットワーク構造を示す図である。
【0121】
図9Aは、本開示のいくつかの実装による、いくつかの例示的な眼鏡分類予測結果を示す。
図9Bは、本開示のいくつかの実装による、いくつかの例示的な女性の毛髪予測結果を示す。
図9Cは、本開示のいくつかの実装による、いくつかの例示的な男性の毛髪予測結果を示す。
【0122】
図10は、本開示のいくつかの実装による、現実の人物の2D顔画像から顔位置マップを構成する例示的なプロセスを示すフローチャート1000である。現実世界では、異なる人物は異なる顔特性を有し、それにより、同じ顔特性に対応する同じキーポイント(例えば人物の顔の眉の位置)が非常に異なる空間座標を有する可能性がある。顔検出の問題は、3D顔モデルを生成するために使用される2D顔画像が、異なる角度で異なる光条件下でキャプチャされるため、より困難なものとなり、この領域の研究はコンピュータビジョンの技術分野で非常に活発なテーマとなっている。本出願では、現実の人物から漫画のキャラクタに及ぶ対象の任意の2D顔画像からの顔キーポイント検出の効率と精度を向上させるための複数の方法が提案されている。いくつかの実施形態では、同じ顔画像のユーザ提供された顔キーポイントのセットが、コンピュータ実施方法によって最初に検出される顔キーポイントのセットを修正又は改善するための参照として提供される。例えばユーザ提供される顔キーポイントとコンピュータ生成される顔キーポイントの間には、それぞれのシーケンス番号に基づいて1対1のマッピング関係があるため、コンピュータ生成される顔キーポイントの改良は、例えば位置マップ内の対応する空間座標によって測定される、顔キーポイントの2つのセットの間の差を減らす最適化問題として定義される。
【0123】
顔位置マップを構成するプロセスは、2D顔画像から粗い顔位置マップを生成するステップ1010を含み得る。
【0124】
プロセスはまた、粗い顔位置マップに基づいて、2D顔画像内のキーポイントの第1セットを予測するステップ1020も含む。
【0125】
プロセスは更に、ユーザ提供されたキーポイント注釈に基づいて、2D顔画像内のキーポイントの第2セットを識別するステップ1030を含む。
【0126】
プロセスは更に、2D顔画像内のキーポイントの第1セットとキーポイントの第2セットとの間の差を減らすように、粗い顔位置マップを更新するステップ1040を含む。例えば2D顔画像のキーポイントの第1セットとキーポイントの第2セットとの間の差を、対応する空間座標に関して減らすことにより、粗い顔の位置マップに基づく2D顔画像内のキーポイントの第1セットは、より正確であると見なされることが多い、ユーザ提供されるキーポイント注釈に基づく2D顔画像内のキーポイントの第2セットにより類似するように変更され、顔キーポイントの第1セットの変更は、キーポイントの第1セットが生成される初期の粗い顔位置マップの更新を自動的にトリガする。その後、更新された粗い顔位置マップを使用して、2D顔画像からキーポイントのより正確なセットを予測することができる。ユーザ提供されるキーポイント注釈に基づく2D顔画像のキーポイントの第2セットは、手動で行われることを意味しないことに留意されたい。代わりに、ユーザは、注釈を実行するために別のコンピュータ実施方法を採用し得る。いくつかの実施形態では、キーポイントの第2セットの数(例えば10~20)は、キーポイントの第1セットの数(例えば96又はそれ以上)のほんの一部であるが、キーポイントの第2セットがはるかに正確であるという事実は、キーポイントの第1セットの全体的な改善に貢献する。
【0127】
ある実装では、プロセスは、更新された顔位置マップ/最終位置マップに基づいて、キーポイントの最終セットとしてキーポイントの第3セットを抽出するステップ1050を更に含み、キーポイントの第3セットは、顔位置マップ内のキーポイントの第1セットと同じ位置を有する。いくつかの実施形態では、顔位置マップ内のキーポイントの位置は、位置マップ内のアレイ要素の2D座標によって表される。上記のように、更新された顔位置マップは、ユーザ提供されたキーポイント注釈に基づく2D顔画像内のキーポイントの第2セットの恩恵を受けており、したがって、キーポイントの第3セットはより正確であり、より正確な顔検出のためのコンピュータビジョン又はより正確な3D顔モデリングのためのコンピュータグラフィクスのような領域で使用されることができる。
【0128】
一実装では、ステップ1050の代替又は追加として、プロセスは、更新された顔位置マップに基づいて現実の人物の3D顔モデルを再構成するステップ1060を更に含む。一例では、3D顔モデルは3D深度モデルである。
【0129】
追加の実装は、以下の特徴のうちの1つ以上を含んでよい。
【0130】
いくつかの実施形態では、更新のステップ1040は、粗い顔位置マップを、変換された顔位置マップに変換し、変換された顔位置マップを改良することを含んでよい。上記のように、変換された顔位置マップは、初期の粗い顔位置マップよりも入力画像内の人物のより詳細な顔特徴を保持することができ、したがって、変換された顔位置マップに基づく3D顔モデルはより正確である。
【0131】
いくつかの実施形態では、変換することは、キーポイントの第1セットとキーポイントの第2セットの差を学習することから、粗い顔位置マップから変換された顔位置マップへの変換マッピングを推定することと、粗い顔位置マップへ変換マッピングを適用することとを含む。
【0132】
いくつかの実施形態では、改良することは、2D顔画像が傾いているという決定に従って、顔エリア全体をカバーするように、顔輪郭の遮蔽側にある変換された顔位置マップに対応するキーポイントを調整することを含む。上記のように、異なる2D顔画像は異なる角度でキャプチャされてよく、この改良するステップは、異なる画像キャプチャ条件によって導入されたバイアス又はエラーを修正し、2D顔画像のより正確な3D顔モデルを保持することができる。さらに、変換された顔位置マップは、初期の粗い顔位置マップよりも入力画像内の人物のより詳細な顔特徴を保持することができ、したがって、変換された顔位置マップに基づく3D顔モデルはより正確である。
【0133】
いくつかの実施形態では、キーポイントの第1セットは、96個のキーポイントを含み得る。
【0134】
いくつかの実施形態では、顔位置マップを構成するプロセスは、顔特徴分類を含み得る。
【0135】
いくつかの実施形態では、顔特徴分類は、ディープラーニング方法を介して行われる。
【0136】
いくつかの実施形態では、顔特徴分類は、マルチタスク学習又は転移学習方法を介して行われる。
【0137】
いくつかの実施形態では、顔特徴分類は、毛髪予測分類を含む。
【0138】
いくつかの実施形態では、毛髪予測分類は、カーブ、長さ、前髪及びブレードを含み得る複数の分類タスクを有する女性の毛髪予測を含む。
【0139】
いくつかの実施形態では、毛髪予測分類は、曲線/長さ、前髪及び分け髪(hair split)を含み得る複数の分類タスクを有する男性の毛髪予測を含む。
【0140】
いくつかの実施形態では、顔特徴分類は眼鏡予測分類を含む。眼鏡予測分類は、眼鏡あり及び眼鏡なしを含み得る、分類タスクを含む。
【0141】
本明細書で開示される方法及びシステムは、3Dグラウンドトゥルース生成のための2Dキーポイント注釈に基づいて、正確な3D顔モデル(すなわち位置マップ)を生成することができる。このアプローチは、BFM及びSFM顔モデルの使用を回避するだけでなく、詳細な顔特徴もより良好に保持し、顔モデルベースの方法によって引き起こされるこれらの重要な特徴の損失を防ぐ。
【0142】
キーポイントを提供すること以外に、ユーザ入力の顔画像に基づいて顔アバターをパーソナライズするために不可欠な髪型や眼鏡のような補完的な顔特徴を提供するディープラーニングベースの解決策が使用される。
【0143】
顔特徴分類のための髪型及び眼鏡予測が、本明細書において例として開示されているが、フレームワークはこれらの例示的なタスクに限定されない。フレームワーク及び解決策は、マルチタスク学習と転移学習に基づいており、これは、女性のメイクタイプ分類、男性のひげタイプ分類及びマスク有無の分類のような他の顔特徴を含むようフレームワークを拡張することが容易であることを意味する。フレームワークの設計は、様々なコンピュータ又はモバイルゲームの要件に基づいて、より多くのタスクに拡張するのにより適している。
【0144】
いくつかの実施形態では、キーポイントに基づく軽量色抽出(light weighted color extraction)方法が本明細書において紹介される。軽量画像処理アルゴリズムは、すべてのピクセルのセグメンテーションなしに迅速にローカルピクセルを推定し、より高い効率をもたらす。
【0145】
トレーニングプロセスの間、ユーザは、ピクセルレベルのラベルを有する必要なく、目の端、口の境界及び眉のような数個のキーポイントにのみラベル付けをする。
【0146】
本明細書で開示される軽量色抽出方法を、様々なゲームのためのパーソナライズされた顔生成システムにおいて使用することができる。より自由なパーソナライズされたキャラクタ生成を提供するために、多くのゲームが自由な調整方法を採用し始めている。顔の形状を調整することに加えて、ユーザはまた、様々な色の組合せを選択することもできる。審美的な目的のために、ゲーム内の顔は、実際の顔のテクスチャの代わりに、事前定義されたテクスチャを使用することが多い。本明細書で開示されるこの方法及びシステムは、ユーザが、写真をアップロードすることのみによって顔の各パーツの平均的な色を自動的に抽出することを可能にする。また同時に、システムは、抽出された色に応じてテクスチャを自動的に修正することができ、その結果、パーソナライズされた顔の各パーツは、ユーザ写真の実際の色に近い色に生成され、ユーザ体験を改善する。例えばユーザの肌トーンがほとんどの人々の平均的な肌トーンよりも暗い場合、それに応じてゲーム内のキャラクタの肌トーンも暗くなる。
図11は、本開示のいくつかの実装による、例示的な色の抽出及び調整プロセスを示すフロー図である。
【0147】
顔の様々なパーツを配置するために、上述の
図1に示されるように、顔の主要な特徴パーツについてキーポイントが定義される。上述のアルゴリズムは、キーポイント予測に使用される。意味セグメンテーション方法とは異なり、各ピクセルを分類する必要なく、キーポイントを、画像内で予測するだけであり、その結果、予測及びトレーニングデータのラベル付けのコストが大幅に削減される。これらのキーポイントにより、顔の様々なパーツを大まかに配置することができる。
【0148】
図12は、本開示のいくつかの実装による、例示的な肌色抽出方法を示す。画像内の特徴を抽出するために、顔の左側と右側のキーポイント1及び17が、標準顔の左側と右側の対応するキーポイントに位置合わせされるように、元の画像1202の顔エリアを回転させる必要がある。
【0149】
次に、肌トーンピクセル検査のエリアを決定する。目のキーポイントの下部座標を、検出エリアの上方境界として選択し、鼻の下部キーポイントを検出エリアの下方境界として選択し、左右の境界を顔の境界キーポイントによって決定する。このように、画像1206のエリア1208内に示されるように、肌色検出エリアが取得される。
【0150】
このエリア1208内の必ずしもすべてのピクセルが肌のピクセルではなく、ピクセルはまた、いくつかのまつ毛、鼻孔、ほうれい線、毛髪等も含み得る。したがって、このエリアのすべてのピクセルのR、G、B値の中央値が、最終予測平均肌色として選択される。
【0151】
図13は、本開示のいくつかの実装による、例示的な眉色抽出方法を示す。眉の平均色のために、最初に、主眉、すなわち、レンズにより近い側にある眉が、ターゲットとして選択される。いくつかの実施形態では、両眉が主眉である場合、両側の眉ピクセルが抽出される。左の眉が主眉であると仮定すると、
図13に示されるように、キーポイント77、78、81及び82で構成される四辺形エリアが眉ピクセル探索エリアとして選択される。これは、外側に近い眉は細すぎるため、小さなキーポイント誤差の影響が大きくなるからである。内側に近い眉はまばらで肌色と混ざっていることが多いため、中央の眉エリア1302が、ピクセルを収集するために選択される。そして、各ピクセルを最初に平均肌色と比較する必要があり、一定の閾値より大きい差を有するピクセルのみが収集されることになる。最後に、肌色と同様に、収集されたピクセルの中央値R、G、B値が最終平均眉色として選択される。
【0152】
図14は、本開示のいくつかの実装による、例示的な瞳色抽出方法を示している。眉色抽出と同様に、瞳色を抽出するとき、最初に、レンズに近い主眼の側が選択される。いくつかの実施形態では、両目が主眼である場合、両側のピクセルが一緒に収集される。瞳自体に加えて、目のキーポイントの内側に含まれる囲まれたエリアはまた、まつ毛、白目及び反射(reflections)も含むことがある。これらは、最終ピクセルのほとんどが瞳自体から得られることを保証するために、ピクセル収集のプロセスで可能な限り除去されるべきである。
【0153】
まつ毛ピクセルを除去するために、目のキーポイントを、y軸(
図14の垂直方向)に沿って一定の距離だけ内側に縮めて、
図14に示されるエリア1402を形成する。白目と反射(
図14の円1404で示される)を除去するために、このエリア1402では、そのようなピクセルが更に除外される。例えばピクセルのR、G、B値がすべて所定の閾値より大きい場合、そのピクセルは除外される。この方法で収集されたピクセルは、そのほとんどが瞳自体から得られることを保証することができる。同様に、中央値の色が平均瞳色として使用される。
【0154】
いくつかの実施形態では、唇色抽出のために、下唇エリアのピクセルのみが検出される。上唇は薄いことが多く、キーポイント誤差に比較的敏感であり、また、上唇は色が薄いために唇色をうまく表現できない。したがって、写真を回転させて修正した後、下唇のキーポイントで囲まれたエリア内のすべてのピクセルを収集して、平均的唇色を表す中央値の色を使用する。
【0155】
図15は、本開示のいくつかの実装による、髪色抽出方法で使用される例示的な髪色抽出領域を示す。髪色抽出は、以前のパーツよりも難しい。その主な理由は、各人の髪型が独特であり、写真の背景が複雑で多様であることである。したがって、髪のピクセルを特定することは難しい。髪ピクセルを正確に見つける1つの方法では、ニューラルネットワークを使用して画像の髪ピクセルをセグメンテーションする。画像セグメンテーションの注釈コストは非常に高く、ゲームアプリケーションでは非常に高精度の色抽出は必要とされないので、キーポイントの近似予測に基づく方法が使用される。
【0156】
髪ピクセルを取得するために、まず、検出エリアが決定される。
図15に示されるように、検出エリア1502は長方形である。下方境界は、両側にある眉の角(eyebrow corners)であり、高さ(縦線1504)は眉の上端から目の下端までの距離1506である。左及び右は、一定距離をそれぞれ左右に延長するキーポイント1,17である。このようにして取得される髪ピクセル検出エリア1502が
図15に示される。
【0157】
図16は、本開示のいくつかの実装による、髪色抽出領域内の髪ピクセルと肌ピクセルとの間の例示的な分離を示す。一般に、検出エリアは、肌、髪及び背景という3つのタイプのピクセルを含む。いくつかのより複雑なケースでは、ヘッドウェアも含む。検出エリアの左右の範囲は比較的保守的であるため、含まれる髪ピクセルは、ほとんどのケースでは、背景ピクセルよりもはるかに多いと想定される。したがって、主なプロセスは、検出エリアのピクセルを髪又は肌に分けることである。
【0158】
検出エリアのピクセルの各ラインについて、肌色変化は、例えば明るい色から暗い色へと連続的であることが多く、肌色と髪の接合部には、明らかな変化があることが多い。したがって、各行の中央ピクセルが開始点1608として選択され、肌ピクセルが左側及び右側に対して検出される。最初に、比較的保守的な閾値を使用して、より信頼性の高い肌色ピクセルを見つけ、次いで、左右に拡張する。隣接するピクセルの色が比較的近い場合、それは肌色としてもマークされる。このような方法は肌色のグラデーションを考慮しており、比較的正確な結果を取得することができる。
図16に示されるように、髪色抽出領域1602内において、1604のようなより暗い領域は肌色ピクセルを表し、1606のようなより明るい領域は髪色ピクセルを表す。髪色領域内の収集された髪色ピクセルの中央値のR、G、B値が、最終的な平均髪色として選択される。
【0159】
図17は、本開示のいくつかの実装による、例示的なアイシャドウ色抽出方法を示す。アイシャドウ色の抽出は、以前のパーツとは少し異なる。これは、アイシャドウは、存在することも又は存在しないこともあるメイクアップだからである。そのため、アイシャドウ色を抽出するとき、まずアイシャドウが存在するかどうかを判断し、存在する場合、その平均色を抽出する。眉及び瞳の色抽出と同様に、アイシャドウ色抽出は、レンズに近い主眼の部分に対してのみ実行される。
【0160】
まず、どのピクセルがアイシャドウに属するかを判断する必要がある。アイシャドウのピクセルの検出エリアについて、
図17に示されるように、ライン1704及び1706の内側のエリア1702が使用される。エリア1702の左側と右側が、目頭と目尻として定義され、エリアの上側と下側は、眉の下端と目の上端である。このエリア1702内の可能なアイシャドウピクセルに加えて、アイシャドウを抽出するときに除外する必要があるまつ毛、眉及び肌も存在することがある。
【0161】
いくつかの実施形態では、眉の影響を排除するために、検出エリアの上端を更に下に移動させる。まつ毛の影響を低減するために、特定の閾値未満の明るさのピクセルは除外される。アイシャドウを肌色から区別するために、各ピクセルの色相と平均肌色相との間の差をチェックする。差が特定の閾値より大きいときにのみ、そのピクセルは、可能なアイシャドウピクセルとして収集される。RGB値の代わりに色相を使用する理由は、平均肌色は主に目の下で収集され、目の上の肌色は明るさの変化が大きい可能性があるためである。色は明るさに敏感ではないため、色は比較的安定している。そのため、ピクセルが肌かどうかを判断するには色相の方が適している。
【0162】
上記のプロセスを通して、各検出エリア内のピクセルがアイシャドウに属するかどうかを判断することができる。いくつかの実施形態では、アイシャドウが存在しない場合、誤差(error)が発生する可能性があり、いくつかのピクセルが依然としてアイシャドウとして認識される可能性がある。
【0163】
上記の誤差を低減するために、検出エリアの各列がチェックされる。現在の列のアイシャドウピクセルの数が特定の閾値より大きい場合、現在の列はアイシャドウ列としてマークされる。検出エリアの幅に対するアイシャドウ列の比が特定の閾値より大きい場合、現在の画像内にアイシャドウが存在すると見なされ、収集されたアイシャドウピクセルの中央値の色が最終色として使用される。このように、アイシャドウとして誤って分類された少数のピクセルは、アイシャドウ全体に対して誤った判断を引き起こすことはない。
【0164】
アートスタイルを考慮すると、ほとんどのゲームは、上記のパーツすべての色を自由に調整することは許容しない。色調整がオープンなパーツについては、定義された色のセットと一致させることのみが許可されることが多い。髪を例に取ると、髪型が、5つの髪色を選択することを許容する場合、リソースパック内の髪型は各髪色に対応するテクスチャ画像を含む。検出中に、髪色予測結果に従って最も近い色のテクスチャ画像を選択する限り、所望の髪レンダリング効果を得ることができる。
【0165】
いくつかの実施形態では、1つの色テクスチャ画像のみが提供されるとき、検出された任意の色に従って、テクスチャ画像の色を合理的に変更することができる。色変換を容易にするために、一般的に使用されるRGB色空間表現はHSV色モデルに変換される。HSV色モデルは、色相H、彩度S、明度Vの3次元で構成される。色相Hは、モデル内で360度の色範囲として表され、赤は0度、緑は120度、青は240度である。彩度Sは、スペクトル色と白の混合を表す。彩度が高いほど、色は明るくなる。彩度が0に近づくと、色は白に近づく。明度Vは色の明るさを表し、値の範囲は黒から白までである。色調整後、テクスチャ画像のHSV中央値は、予測された色と一致すると予想される。したがって、各ピクセルの色相値計算を次のように表すことができる:Hi'=(Hi+H'-H)%1、ここで、Hi'及びHiは、調整前及び調整後のピクセルiの色相を表し、H及びH'は、調整前及び調整後のテクスチャ画像の色相の中央値を表す。
【0166】
端から端まで接続される連続空間である色相とは異なり、彩度と明度には、0と1のような境界特異点がある。色相調整と同様の線形処理方法が使用される場合、初期ピクチャ及び調整されたピクチャの中央値が0又は1に近いとき、多くのピクセル値は、彩度又は明るさが高すぎる又は低すぎることになる。その現象は不自然な色を引き起こす。この問題を解決するために、以下の非線形曲線を使用して、ピクセル調整の前と後に彩度と明度を適合させる。
【0167】
y=1/(1+(1-α)(1-x)/(αx))、α∈(0,1)
【0168】
上記の式において、x及びyは、それぞれ調整前と調整後の彩度又は明度の値である。唯一未定のパラメータはαであり、これを次のように導出することができる。
【0169】
α=1/(1+x/(1-x)×(1-y)/y)
【0170】
この式は、αが0から1までの区間に入ることを保証することができる。彩度を例に取ると、初期中央値の彩度Sを、入力ピクチャに基づいて簡単に計算することができる。そして、ターゲットの彩度値Stを、髪色抽出と色空間変換によって得ることができる。したがって、α=1/(1+S/(1-S)×(1-St)/St)である。デフォルトのテクスチャ画像内の各ピクセルSiについて、次いで、調整された値、以下の式によって計算することができる:Si'=1/(1+(1-α)(1-Si)/(α Si))。同じ計算が明度に適用される。
【0171】
調整されたテクスチャピクチャの表示効果をより実際のピクチャに近づけるために、異なるパーツに対して特別な処理が行われる。例えば髪の低彩度を保つために、
S'=
S'×
V'^0.3が設定される。
図18は、本開示のいくつかの実装による、いくつかの例示的な色調整結果を示す。列1802は、特定のゲームによって提供されるいくつかのデフォルトのテクスチャピクチャを示し、列1804は、同じ行内の対応するデフォルトのテクスチャピクチャから列1804の上部に示される実際のピクチャに従って調整された、いくつかのテクスチャピクチャを示し、列1806は、同じ行内の対応するデフォルトのテクスチャピクチャから列1806の上部に示される実際のピクチャに従って調整された、いくつかのテクスチャピクチャを示す。
【0172】
図19は、本開示のいくつかの実装による、現実の人物の2D顔画像から色を抽出する例示的なプロセスを示すフローチャート1900である。
【0173】
現実の人物の2D顔画像から色を抽出するプロセスは、キーポイント予測モデルに基づいて2D顔画像内の複数のキーポイントを識別するステップ1910を含む。
【0174】
プロセスはまた、複数のキーポイントからの選択されたキーポイントが位置合わせされるまで、2D顔画像を回転させるステップ1920も含む。
【0175】
プロセスは更に、回転された2D顔画像内の複数のパーツを特定する(locating)ステップ1930を含み、各パーツは、複数のキーポイントのそれぞれのサブセットによって定義される。
【0176】
プロセスは更に、2D顔画像のピクセル値から、キーポイントの対応するサブセットによって定義される複数のパーツの各々の平均色を抽出するステップ1940を含む。
【0177】
プロセスは更に、2D顔画像内の複数のパーツの抽出された色を使用して、2D顔画像のそれぞれの顔特徴色に一致する現実の人物のパーソナライズされた3Dモデルを生成するステップ1950を含む。
【0178】
追加の実装は、以下の特徴のうちの1つ以上を含み得る。
【0179】
いくつかの実施形態では、識別するステップ1910におけるキーポイント予測モデルは、ユーザが手動で注釈を付けたキーポイントからの機械学習に基づいて形成される。
【0180】
いくつかの実施形態では、回転するステップ1920において位置合わせに使用される選択されたキーポイントは、2D顔画像の対称的な左側と右側に配置される。
【0181】
いくつかの実施形態では、ステップ1940において複数のパーツの各々の平均色を抽出することは、対応するパーツ内のそれぞれの定義されたエリア内のすべてのピクセルのR、G、B値の中央値を、予測平均色として選択することを含み得る。
【0182】
いくつかの実施形態では、ステップ1940において複数のパーツの各々の平均色を抽出することは、肌パーツ内の肌色抽出のためのエリアを決定することと、肌色抽出のためのエリア内のすべてのピクセルのR、G、B値の中央値を、肌パーツの予測平均色として選択することとを含み得る。いくつかの実施形態では、肌パーツ内の肌色抽出のためのエリアは、顔の目より下で鼻の下端より上のエリアとして決定される。
【0183】
いくつかの実施形態では、ステップ1940において複数のパーツの各々の平均色を抽出することは、眉パーツ内の眉色抽出を含むことができ、これは、眉が2D顔画像のビューア(viewer)に近い側にあるという決定に従って、眉をターゲット眉として選択することと、両方の眉が2D顔画像のビューアに等しく近いという決定に従って、両方の眉をターゲット眉として選択することと、ターゲット眉の中間眉エリア(middle eyebrow area)を抽出することと、中間眉エリア内の各ピクセル値を平均肌色と比較することと、閾値を超える平均肌色とのピクセル値差を有する、中間眉エリア内のピクセルを収集することと、眉色抽出のための収集されたピクセルのR、G、B値の中央値を、眉パーツの予測平均色として選択することとを含み得る。
【0184】
いくつかの実施形態では、ステップ1940において複数のパーツの各々の平均色を抽出することは、目パーツ内の瞳色抽出を含むことができ、これは、目が2D顔画像のビューアに近い側にあるという決定に従って、目をターゲット目として選択することと、両方の目が2D顔画像のビューアが等しく近いという決定に従って、両方の目をターゲット目として選択することと、まつ毛を含まないターゲット目内のエリアを抽出することと、抽出されたエリア内の各ピクセル値を、事前決定された閾値と比較することと、事前決定された閾値を超えるピクセル値差を有する、抽出されたエリア内のピクセルを収集することと、瞳色抽出のための収集されたピクセルのR、G、B値の中央値を、瞳の予測平均色として選択することとを含み得る。
【0185】
いくつかの実施形態では、ステップ1940において複数のパーツの各々の平均色を抽出することは、唇パーツ内の唇色抽出を含むことができ、これは、下唇のキーポイントによって囲まれたエリア内のすべてのピクセルを収集することと、唇色抽出のための収集されたピクセルのR、G、B値の中央値を、唇パーツの予測平均色として選択することとを含み得る。
【0186】
いくつかの実施形態では、ステップ1940において複数のパーツの各々の平均色を抽出することは、髪パーツ内の髪色抽出を含むことができ、これは、両側の髪パーツへと伸びる額の部分を含むエリアを識別することと、エリアの中間から左境界及び右境界までの事前決定された閾値を超えるピクセル色変化を決定することと、事前決定された閾値を超えるピクセル色変化に基づいて、エリアを髪エリアと肌エリアに分けることと、エリア内の髪エリアのピクセルのR、G、B値の中央値を、髪パーツの予測平均色として選択することとを含み得る。
【0187】
いくつかの実施形態では、両側の髪パーツへと伸びる額の部分を含むエリアは、両眉の角における下方境界と、2D顔画像の対称的な左側と右側に配置されるキーポイントから外側に一定距離にある左境界及び右境界と、眉の上端から目の下端までの距離の高さとを有する長方形エリアとして識別される。
【0188】
いくつかの実施形態では、ステップ1940において複数のパーツの各々の平均色を抽出することは、アイシャドウパーツ内のアイシャドウ色抽出が含むことができ、これは、2D顔画像のビューアに近い側に目があるという決定に従って、目をターゲット目として選択することと、両方の目が2D顔画像のビューアに等しく近いという決定に従って、両方の目をターゲット目として選択することと、ターゲット目に近いアイシャドウパーツ内の中間エリア(middle area)を抽出することと、事前決定された明るさ閾値を超える明るさを有し、かつ平均肌色相値(skin hue value)から、事前決定された閾値を超えるピクセル色相値差を有する、抽出された中間エリア内のピクセルを収集してまつ毛を除外することと、抽出された中間エリア内の1つのピクセル列内の収集されたピクセルの数が閾値を超えているとの決定に従って、そのピクセル列をアイシャドウ列としてラベル付けすることと、抽出された中間エリアの幅に対するアイシャドウ列の比が特定の閾値を超えるとの決定に従って、アイシャドウ色抽出のための収集されたピクセルのR、G、B値の中央値を、アイシャドウパーツの予測アイシャドウ色として選択することとを含み得る。
【0189】
いくつかの実施形態では、現実の人物の2D顔画像から色を抽出するプロセスは更に、テクスチャマップの元の明るさと色の差を保持しながら、平均色に基づいてテクスチャマップを変換することを含むことができ、これは、平均色をRGB色空間表現からHSV(色相、彩度、明度(hue,saturation,lightness))色空間表現に変換することと、平均色の中央値HSV値とテクスチャマップの中央値HSV値ピクセルの差を減らすようにテクスチャマップの色を調整することとを含み得る。
【0190】
本明細書で開示される方法及びシステムを、キャラクタモデリング及びゲームキャラクタ生成のような異なるシナリオにおける用途で使用することができる。軽量な方法は、モバイルデバイスを含む異なるデバイスに柔軟に適用されることができる。
【0191】
いくつかの実施形態では、現在のシステム及び方法における顔のキーポイントの定義は、現在の定義に限定されず、各パーツの輪郭を完全に表現することができる限り、他の定義も可能である。加えて、いくつかの実施形態では、スキームで直接返される色は、直接使用されないことがあり、更なる色スクリーニングと制御を実現するために、事前定義された色リストと一致されることがある。
【0192】
ラプラシアン演算子を最適化する変形方法は、メッシュが微分可能な多様体であることを必要とする。しかしながら、実際には、ゲームアーティストによって作成されたメッシュは、重複した頂点のようなアーチファクトや、多様体の特性を損なう可能性がある保護されていないエッジを含むことが多い。したがって、重調和変形のような方法は、メッシュを注意深くクリーンアップした後でのみ使用することができる。本明細書で提案されるアフィン変形の方法は、ラプラシアン演算子を使用せず、したがって、そのような強い制約はない。
【0193】
重調和変形によって代表される変形方法のファミリーは、場合によっては、変形能力の不足に悩まされる。ラプラシアン演算子を1回解く調和関数は、低平滑度要件に起因して、平滑化結果を達成することができないことが多い。高次(>=3)ラプラシアン演算子を解く多調和関数(Poly-harmonic functions)は、少なくとも6次微分可能であるというそれらの高い要件に起因して、多くのメッシュで失敗する。ほとんどの場合、ラプラシアン演算子を2回解く重調和変形のみが、許容可能な結果をもたらすことが観察される。それでも、チューニングの自由度の欠如のために、その変形は依然として不満足である可能性がある。本明細書で提案されるアフィン変形は、平滑度パラメータを変更することによって微細な変形チューニングを達成することができ、その変形結果の範囲は、重調和変形を使用する場合の範囲をカバーする。
【0194】
図20は、本開示のいくつかの実装による、例示的な頭部アバターの変形及び生成プロセスを示すフロー図である。本開示で提案される技術を使用して、スケルトンとバインドすることなく、ヘッドメッシュを適切に変形することができる。したがって、アーティストから要求される負荷が大幅に削減される。本技術は、より良い一般性を得るために異なるスタイルのメッシュに対応する。ゲームアセットの制作では、アーティストは、3DMax又はMayaのようなツールを使用して様々なフォーマットでヘッドモデルを保存することができたが、これらのフォーマットの内部表現はすべてポリゴンメッシュである。ポリゴンメッシュを、純粋な三角形メッシュに簡単に変換することができ、これはテンプレートモデルと呼ばれる。テンプレートモデルごとに、3Dキーポイントはテンプレートモデルに手動で1回マークされる。その後、それを、任意の人間の顔ピクチャから検出及び再構成された3Dキーポイントに従って、特徴的な頭部アバターに変形するために使用することができる。
【0195】
図21は、本開示のいくつかの実装による、例示的な頭部テンプレートモデル構成を示す図である。頭部テンプレートモデル2102は、
図21に示されるように、通常、顔2110、目2104、まつ毛2106、歯2108及び髪のようなパーツで構成される。スケルトンをバインドすることなく、メッシュ変形は、テンプレートメッシュの接続された構造に依拠する。そのため、テンプレートモデルをこれらの意味的パーツ(sematic parts)に分割する必要があり、顔メッシュを最初に変形する必要がある。顔メッシュの特定のキーポイントを設定して従うことによって、すべての他のパーツを自動的に調整することができる。いくつかの実施形態では、すべてのトポロジー接続されたパーツを検出するために対話型ツールが提供され、ユーザはそれを使用して、更に変形するためにそれらの意味的パーツを便利にエクスポートすることができる。
【0196】
いくつかの実施形態では、いくつかの検出アルゴリズム又はAIモデルを介して、人間の顔の画像キーポイントを取得することができる。メッシュ変形を駆動する目的で、これらのキーポイントをテンプレートモデル上の頂点にマッピングする必要がある。メッシュ接続のランダム性と、3Dの人間キーポイントマーキングデータの欠如のために、任意の頭部モデル上の3Dキーポイントを自動的に正確にマークすることができるツールはない。したがって、3Dモデル上のキーポイントを手動で迅速にマークすることができる対話型ツールが開発されている。
図22は、本開示のいくつかの実装による、2202、2204のようなリアルスタイルの3Dモデルと、2206、2208のような漫画スタイルの3Dモデル上のいくつかの例示的なキーポイントマーキングを示す図である。
【0197】
マーキングの手順では、3Dモデル上のマークされた3Dキーポイントの位置は、ピクチャキーポイントと最大限に一致するべきである。キーポイントは3Dモデルメッシュの離散的な頂点上にマークされるので、偏差のインポートは避けられない。このような偏差をオフセットするために、1つの方法は、ポーズ処理で適切なルールを定義することである。
図23は、本開示のいくつかの実装による、テンプレートモデルレンダリングと、手動でマークされたキーポイントと、AI検出されたキーポイントとの間の例示的な比較を示す図である。いくつかの実施形態では、比較的現実的に作られたモデルに対して、キーポイント検出及び再構成アルゴリズムをテンプレートモデル(2302)のレンダリングに適用することができ、例えば人工知能による3Dキーポイントの結果(2306)を、手動でマークしたもの(2304)と更に比較することができ、したがって、キーポイントの2つのグループの間の偏差(deviation)が計算される。人間のピクチャを検出するとき、計算された偏差は、現実の画像内の検出されたキーポイントから減少し、人工マーキングの悪影響が排除されることになる。
【0198】
本明細書で開示されるアフィン変形の方法は、最終的に線形方程式のシステムを解くキーポイント駆動の数学的モデリングである。本明細書で開示される方法は、検出されたキーポイントを境界条件として使用してテンプレートメッシュを変形する1つのステップを取り、最適化のプロセスで異なる制約を採用する。
図24は、本開示のいくつかの実装による、例示的な三角形のアフィン変換を示す図である。
【0199】
いくつかの実施形態では、テンプレートメッシュから予測メッシュへの変形は、各三角形のアフィン変換のアセンブリと見なされる。三角形のアフィン変換を、3×3行列T及び並進ベクトルdとして定義することができる。
図24に示されるように、アフィン変換後の変形された頂点の位置は、v
i’=Tv
i+d、i∈1...4と表記され、ここで、v
1、v
2、v
3は、それぞれ三角形の各頂点を表し、v
4は三角形の法線の方向に導入される余分な点(extra point)であり、式v
4=v
1+(v
2-v
1)×(v
3-v
1)/sqrt(|(v
2-v
1)×(v
3-v
1)|)を満たす。上記の式では、クロス積の結果は、三角形の辺の長さに比例するように正規化される。v
4を導入する理由は、3つの頂点の座標が、一意のアフィン変換を決定するのに十分でないためである。v
4を導入した後、導出式が取得され:T=[v
2’-v’
1 v’
3-v’
1 v’
4-v’
1]×[v
2-v
1 v
3-v
1 v
4-v
1]
-1、行列Tの非変換部分(non-translation part)が決定される。行列V=[v
2-v
1 v
3-v
1 v
4-v
1]
-1はテンプレートメッシュにのみ依存し、他の変形係数には不変であるため、後に線形システムを構成するためのスパース係数行列として事前に計算することができる。
【0200】
ここまで、アフィン変換Tの数式における非変換部分を示している。最適化の線形システムを構成するために、メッシュの頂点の数がNであり、三角形の数がFであると想定すると、以下の4つの制約が考慮される:
【0201】
キーポイントの位置の制約:Ek=Σi=1||v’i-c’i||2、 c’iは、メッシュ変形後の検出されたキーポイントの位置を表す。
【0202】
隣接平滑度(adjacency smoothness)の制約:Es=Σi=1Σj∈agj(i)||Ti-Tj||2 これは、隣接する三角形の間のアフィン変換が可能な限り類似しているべきであることを意味する。隣接関係を事前に照会して記憶して、重複した計算を回避し、システムを構成するための性能を向上させることができる。
【0203】
特性の制約:Ei=Σi=1||Ti-I||2、ここで、Iは単位行列(identity matrix)を表す。この制約は、アフィン変換が可能な限り変更されないようにすべきであることを意味し、これはテンプレートメッシュの特性を維持するのに役立つ。
【0204】
元の位置の制約:E1=Σi=1N||v’I-ci||2、ここで、ciは、変形前のテンプレートメッシュ上の各頂点の位置を表す。
【0205】
最後の制約は、上記制約の加重和である:minE=wkEk+wsEs+wiEi+w1E1、ここで、重みwk、ws、wi、w1E1は、最も強いものから最も弱いものにランク付けされる。上記の制約を使用すると、最終的に線形系を構成することができ、そのサイズは(F+N)×(F+N)であり、重みは、システム内の対応する係数と乗算される。未知のものは、各三角形の余分な点v’4の他に、変形後の各頂点の座標である。前者の項は有用であるので、v’4の結果は破棄される。連続変形のプロセスでは、キーポイントの位置の制約を除くすべての制約行列を再利用することができる。アフィン変換は、数千の頂点を有するメッシュに関して、通常のパーソナルコンピュータ及びインテリジェントフォンで30fpsのリアルタイム性能を実現することができる。
【0206】
図25は、本開示のいくつかの実装による、ブレンドシェイププロセスあり及びなしのいくつかの頭部モデル変形結果の例示的な比較を示す図である。
【0207】
いくつかの実施形態では、ゲームアバターの頭部モデルを変形するとき、関心領域は通常顔のみである。頭頂部、後側及び首は変更されないままにすべきであり、そうでなければ、頭と、髪又は胴体との間にメッシュが浸透する可能性がある。この問題を回避するために、アフィン変形の結果及びテンプレートメッシュは、ブレンドシェイプの方法で線形補間される。ブレンディングのための重みを、3Dモデリングソフトウェアでペイントするか、あるいは重調和変形又はアフィン変形でわずかな変更で計算することができる。例えばキーポイントの重みは1に設定され、一方で、より多くのマーカ(
図25の2504の暗い点)が頭部モデルに追加され、それらの重みは0に設定される。いくつかの実施形態では、すべての重みを0から1の範囲に強制的に収めるために、解くプロセスにおいて不等式の制約(inequality constraints)が追加されるが、そうすることは、解くことの複雑性を大幅に増加させることになる。実験を通じて、0より小さいか又は1より大きい重みを切り取ることによって、良好な結果を得ることができる。
図25の2504に示されるように、最も暗い色のモデル部分の重みは1sであり、色のないモデル部分の重み0sである。ブレンド加重レンダリング2504では、明るいキーポイントと暗いマーカとの間に自然な遷移が存在する。ブレンドシェイプありの場合、変形後のモデル(
図25の2506に示される)の後側は元のモデル(
図25の2502に示される)と同じままである。ブレンドシェイプなしの場合、変形後のモデルの後側(
図25の2508に示される)は元のモデル(
図25の2502に示される)と同じままではない。
【0208】
いくつかの実施形態では、アフィン変形は、重調和変形の結果をシミュレートすることを含め、制約の重みを操作することによって異なる変形効果を達成することができる。
図26は、本開示のいくつかの実装による、異なる重みを有するアフィン変形と重調和変形の例示的な比較を示す図である。
図26に示されるように、平滑度は、隣接平滑度重みw
sと特性重みw
iの比である。暗い点はキーポイントであり、色の濃さは頂点の変形位置とその元の位置との間の変位を表す。すべての変形結果において、1つのキーポイントは変更されないままであり、他のキーポイントは同じ位置に移動する。これは、特性の重みに対して隣接平滑度重みを徐々に増加させると、変形された球の平滑度もそれに応じて増加することを示している。加えて、重調和変形の結果は、平滑度が、10から100の間のどこかにあるアフィン変形の結果と一致する可能性がある。これは、アフィン変形が、重調和変形と比べて変形の自由度が高いことを示す。
【0209】
本明細書で説明されるワークフローを使用すると、ゲームは、頭部アバターのインテリジェント生成の機能を容易に統合することができる。例えば
図27は、本開示のいくつかの実装による、現実的なテンプレートモデルを使用して、いくつかのランダムに選択された女性のピクチャ(
図27には図示せず)から自動的に生成される、いくつかの例示的な結果を示す。すべてのパーソナライズされた頭部アバターは、対応するピクチャのいくつかの特性を反映している。
【0210】
図28は、本開示のいくつかの実装による、現実の人物の2D顔画像から3D頭部変形モデルを生成する例示的なプロセスを示すフローチャート2800である。
【0211】
2D顔画像から3D頭部変形モデルを生成するプロセスは、2次元(2D)顔画像を受け取るステップ2810を含む。
【0212】
プロセスはまた、例えば畳み込みニューラルネットワークのような人工知能(AI)モデルに基づいて2D顔画像のキーポイントの第1セットを識別するステップ2820も含む。
【0213】
プロセスは加えて、3D頭部テンプレートモデルに配置されるユーザ提供のキーポイント注釈のセットに基づいて、キーポイントの第1セットを3D頭部テンプレートモデルのメッシュの複数の頂点に配置されるキーポイントの第2セットにマッピングするステップ2830を含む。
【0214】
プロセスは加えて、3D頭部テンプレートモデルのメッシュに対して変形を実行し、キーポイントの第1セットとキーポイントの第2セットとの間の差を減らすことによって、変形された3D頭部メッシュモデルを取得するステップ2840を含む。いくつかの実施形態では、第1セット内のキーポイントと第2セット内のキーポイントとの間に対応が存在する。キーポイントの第2セットをキーポイントの第1セットと同じ空間に投影した後、キーポイントの第1セットとキーポイントの第2セットの各々の間の位置差を測定する関数が生成される。3D頭部テンプレートモデルのメッシュに対して変形を実行することにより、キーポイントの第1セットとキーポイントの第2セットの各々の間の位置差(例えば位置、隣接平滑度、特性等)を測定する関数が最小化されるとき、空間内のキーポイントの第2セットが最適化される。
【0215】
プロセスは加えて、変形された3D頭部メッシュモデルにブレンドシェイプ方法を適用して、2D顔画像に応じてパーソナライズされた頭部モデルを取得するステップ2850を含む。
【0216】
追加の実装は、以下の特徴のうちの1つ以上を含み得る。
【0217】
いくつかの実施形態では、マッピングするステップ2830は、2D顔画像上のキーポイントの第1セットを、3D頭部テンプレートモデルのメッシュ上の複数の頂点に関連付けることと、3D頭部テンプレートモデルのメッシュ上の複数の頂点上のユーザ提供のキーポイント注釈のセットに基づいて、キーポイントの第2セットを識別することと、顔のそれぞれのキーポイントによって、対応する識別された特徴に基づいて、キーポイントの第1セットとキーポイントの第2セットをマッピングすることとを更に含み得る。
【0218】
いくつかの実施形態では、変形を実行するステップ2840は、キーポイントの第1セットからキーポイントの第2セットへのマッピングを使用することにより、キーポイントの第1セットに関連する変形の境界条件を使用することにより、3D頭部テンプレートモデルのメッシュを変形された3D頭部メッシュモデルに変形することを含み得る。
【0219】
いくつかの実施形態では、変形を実行するステップ2840は、キーポイントの位置、隣接平滑度、特性及び元の位置のうちの1つ以上を含む変形最適化のプロセスにおいて、異なる制約を適用することを更に含み得る。
【0220】
いくつかの実施形態では、変形を実行するステップ2840は、キーポイントの位置、隣接平滑度、特性及び元の位置のうちの1つ以上の加重合計である変形のプロセスに制約を適用することを更に含み得る。
【0221】
いくつかの実施形態では、キーポイントの第1セットを識別するステップ2820は、畳み込みニューラルネットワーク(CNN)を使用することを含む。
【0222】
いくつかの実施形態では、変形は、ラプラシアン演算子を用いないアフィン変形を含む。いくつかの実施形態では、アフィン変形は、平滑度パラメータを変更することによって変形チューニングを達成する。
【0223】
いくつかの実施形態では、スケルトンとバインドすることなく、3D頭部テンプレートモデルのメッシュを変形することができる。いくつかの実施形態では、顔の変形モデルは、リアルスタイルモデル又は漫画スタイルモデルを含む。
【0224】
いくつかの実施形態では、ステップ2850において、変形された3D頭部メッシュモデルにブレンドシェイプ方法を適用することは、変形された3D頭部メッシュモデルのキーポイントに対するそれぞれのブレンド重みを、そのキーポイントの位置に応じて指定することと、異なるブレンド重みを有するキーポイントに異なるレベルの変形を適用することとを含む。
【0225】
いくつかの実施形態では、ステップ2850において、変形された3D頭部メッシュモデルにブレンドシェイプ方法を適用することは、変形された3D頭部メッシュモデルの後側を、変形前の3D頭部テンプレートモデルの元の後側の形状と同じ形状に保つことを意味する。
【0226】
いくつかの実施形態では、テンプレートモデル上の意味的パーツは、目、まつ毛又は歯に限定されない。眼鏡のような装飾は潜在的に、顔メッシュ上に新しいキーポイントを追加して追跡することによって、適応的に調整されることが可能である。
【0227】
いくつかの実施形態では、テンプレートモデル上のキーポイントは手動で追加される。いくつかの他の実施形態では、ディープラーニング技術を利用して、異なるテンプレートモデルのキーポイントを自動的に追加することもできる。
【0228】
いくつかの実施形態では、アフィン変形を解く手順は、いくつかの数値トリックを利用して、その計算性能を更に向上させることができる。
【0229】
いくつかの実施形態では、本明細書で開示されるシステム及び方法は、以下に列挙されるもののような多くの利点を有する、軽量キーポイントベースの顔アバター生成システムを形成する。
【0230】
入力画像に対する低い要件。システム及び方法は、顔がカメラに直接向いていることを必要とせず、ある程度の平面内回転、平面外回転及び遮蔽は性能に明らかには影響しない。
【0231】
リアルゲームと漫画ゲームの両方への適用可能性。本システムは、ゲームスタイルをリアルスタイルに限定せず、漫画スタイルにも同様に適用することができる。
【0232】
軽量及びカスタマイズ化。本システムの各モジュールは比較的軽量であり、モバイルデバイスに適している。このシステムのモジュールは分離されており、ユーザは、最終顔生成システムを構成するために、異なるゲームスタイルに従って異なる組合せを採用することができる。
【0233】
いくつかの実施形態では、所与の単一の写真について、主顔が最初に検出され、キーポイント検出が実行される。実際のピクチャでは、顔はカメラに向いていないことがあり、実際の顔は必ずしも常に完全に対称ではない。したがって、元の画像内のキーポイントは、統一された対称的で滑らかなキーポイントのセットを実現するために前処理される。その後、キーポイントは、拡大された目及び薄い顔のようなゲームの特定のスタイルに応じて調整される。スタイル化されたキーポイントを取得した後、スタイル化されたキーポイントは、ゲーム内の顔モデルの制御パラメータ、一般的にはボーンパラメータ又はスライダーパラメータに変換される。
【0234】
いくつかの実施形態では、実際の顔の視野角がカメラに直接向いていないことがあり、左右非対称及びキーポイント検出エラーのような問題が存在する可能性がある。
図29は、本開示のいくつかの実装による、例示的なキーポイント処理フローステップを示す図である。元の画像2904から検出されたキーポイントを直接使用することはできず、一定の処理が必要とされる。ここでは、プロセスは、
図29に示されるように、正規化と、対称化と、平滑化という3つのステップに分けられる。
【0235】
いくつかの実施形態では、実際の顔キーポイントの予測に基づくゲーム内の標準顔モデルを調整する必要がある。プロセスは、ゲーム内の標準顔モデルと実際の顔のキーポイントが、スケール、位置及び方向に関して位置合わせされることを保証する必要がある。したがって、予測されるキーポイントとゲーム顔モデル上のキーポイントの正規化2906は、以下の部分、すなわち、スケールの正規化、平行移動(translation)の正規化及び角度の正規化を含む。
【0236】
いくつかの実施形態では、元の検出のすべての3次元顔キーポイントは、pとして定義され、ここで、i番目のキーポイントは、p
i={x
i,y
i,z
i}である。例えば正規化された起点(origin)は、キーポイントNo.1とNo.17(
図1のキーポイントの定義を参照)の中間点、すなわちc=(p
1+p
17)/2として定義される。スケールについては、起点から1番目のキーポイントと17番目のキーポイントの間の距離が1に調整され、その結果、スケールと平行移動(translation)によって正規化された3次元キーポイントは、p'=(p-c)/||p
1-c||である。
【0237】
いくつかの実施形態では、スケールと平行移動を正規化した後、顔の方向を更に正規化する。
図29の画像2902に示されるように、実際の写真の顔は、レンズに直接向いていないことがあり、常に一定のゆがみが存在し、これは3つの座標軸上に存在することがある。x、y及びz座標軸に沿った顔の予測された3次元キーポイントは、顔の方向がカメラに向くように順次回転される。xに沿って回転させるとき、キーポイント18と24(
図1のキーポイントの定義を参照)のz座標が位置合わせされる、すなわち、鼻梁の最上部の深度を鼻底と同じ深度にして、回転行列R
Xを得る。y軸に沿って回転させるとき、キーポイント1と17のz座標を位置合わせして、回転行列R
Yを得る。z軸に沿って回転させるとき、キーポイント1と17のy座標を位置合わせして、回転行列R
Zを得る。したがって、キーポイントの方向が整列され、正規化されるキーポイントは次のように示される:
P
norm=R
Z×R
Y×R
X×P’
【0238】
いくつかの実施形態では、正規化されたキーポイントのスケール、位置及び角度は均一になるように調整されているが、得られるキーポイントは完全な顔でないことが多い。例えば鼻梁は、中心にある直線ではなく、顔特徴が対称でないことがある。これは、写真の実際の顔は、表情又はそれ自体の特性に起因して完全に対称ではなく、キーポイントを予測するときに追加の誤差が導入されることになる。実際の顔は対称ではないことがあるが、ゲーム内の顔モデルが対称でない場合、見栄えが悪くなり、ユーザ体験を大幅に低下させる。したがって、2908に示されるようなキーポイントの対称性は必要なプロセスである。
【0239】
キーポイントが正規化されているため、いくつかの実施形態では、単純な対称方法は、すべての左右対称キーポイントのy座標とz座標を平均化して、元のy座標とz座標を置き換えることである。この方法はほとんどの場合うまく機能するが、顔がy軸方向に大きな角度で回転するとき、性能が犠牲になる。
【0240】
いくつかの実施形態では、
図29の人間の顔を例にして使用すると、顔が大きな角度で左に偏向されると、眉の一部が見えなくなる。同時に、遠近法により左目は右目より小さくなる。3Dキーポイントは遠近関係によって生じる影響を部分的に補償することができるが、キーポイントに対応する3Dキーポイントの2D投影は依然としてピクチャ上に保持される必要がある。したがって、過度に大きな角度の偏向は、3Dキーポイントの検出結果において目と眉のサイズに明らかな違いをもたらすことになる。角度によって引き起こされる影響に対処するため、y軸に沿った顔の偏向角度が大きいとき、レンズに近い目と眉を主眼及び主眉として使用し、反対側にコピーして角度の偏向による誤差を小さくする。
【0241】
いくつかの実施形態では、キーポイントの予測誤差は避けられないため、個々のケースによっては、対称化されたキーポイントは、まだ実際の顔と一致していない可能性がある。実際の顔と顔特徴の形状はかなり異なるため、事前定義されたパラメータ化された曲線を使用して、比較的正確な記述(description)を実現することは困難である。したがって、2910に示されるように平滑化するとき、顔の輪郭、目、眉、下唇等の一部のエリアのみを平滑化する。これらのエリアは基本的に、単調で滑らかな状態を維持する、すなわち、ギザギザの状態はない。この場合、ターゲットの曲線は常に、凸曲線又は凹曲線であるべきである。
【0242】
いくつかの実施形態では、キーポイントが凸曲線(又は凹曲線)の定義を満たすかどうかが、関係する境界について1つずつチェックされる。
図30は、本開示のいくつかの実装による、例示的なキーポイント平滑化プロセス2910を示す図である。
図30に示されるように、一般性を失うことなく、ターゲット曲線は凸であるべきである。各キーポイント3002、3004、3006、3008及び3010について、その位置が隣接する左右のキーポイントの線上にあるかどうかがチェックされる。条件が満たされる場合、現在のキーポイントが凸曲線の要件を満たすことを意味する。そうでない場合、現在のキーポイントを、左右のキーポイントを結ぶ線まで移動させる。例えば
図30では、キーポイント3006は凸曲線の限界を満たしておらず、位置3012まで移動される。複数のキーポイントを移動させる場合、曲線は、移動後に凸又は凹であることが保証されないことがある。したがって、いくつかの実施形態では、複数回の平滑化を使用して、比較的滑らかなキーポイント曲線を取得する。
【0243】
異なるゲームは異なる顔スタイルを有する。いくつかの実施形態では、実際の顔のキーポイントは、ゲームによって必要とされるスタイルに変換する必要がある。リアルスタイルのゲームの顔は似ているが、漫画の顔は大きく異なる。したがって、キーポイントのスタイル化のために統一基準を持つことは難しい。実際に使用されるスタイル化の定義は、特定のゲームスタイルに従って顔の特性を調整するゲームのデザイナーに由来する。
【0244】
いくつかの実施形態では、ほとんどのゲームが必要とする可能性がある、より一般的な顔調整スキームが実装される。例えば顔の長さの調整、幅の調整、顔特徴等である。様々なゲームアートスタイル、調整レベル、ズーム比等に従って、カスタム補正を行うことができる。同時に、ユーザは、例えば目の形を長方形に変更すること等、任意の特別なスタイル調整方法をカスタマイズすることもできる。システムはあらゆる調整方法をサポートすることができる。
【0245】
いくつかの実施形態では、スタイル化された顔キーポイントにより、標準的なゲームの顔を変形し、その結果、変形された顔のキーポイントがターゲットのキーポイントの位置に到達する。ほとんどのゲームは、顔を調整するためにボーンやスライダーのような制御パラメータを使用するので、キーポイントをターゲットの位置に移動するために、制御パラメータのセットが必要とされる。
【0246】
異なるゲームにおけるボーン又はスライダーの定義は異なることがあり、修正の可能性はいつでもあるので、キーポイントからボーンパラメータまでの単純なパラメータ化された関数を直接定義することは現実的ではない。いくつかの実施形態では、機械学習方法を使用して、K2P(キーポイント・ツー・パラメータ)ネットワークと呼ばれるニューラルネットワークを介してキーポイントをパラメータに変換する。一般的なパラメータとキーポイントの数は大きくない(一般的に100未満)ため、いくつかの実施形態では、K層の完全接続ネットワークが使用される。
【0247】
図31は、本開示のいくつかの実装による、例示的なキーポイントから制御パラメータへの(K2P)変換プロセスを示すブロック図である。機械学習方法を使用するために、いくつかの実施形態では、最初にボーン又はスライダーパラメータがランダムにサンプリングされてゲームクライアント3110に供給され、生成されたゲーム顔でキーポイントが抽出される。このようにして、多くのトレーニングデータを取得することができる(パラメータ3112とキーポイント3114のペア)。次に、自己教師あり機械学習方法を実装するが、これは2つのステップに分けられる:第1のステップは、ゲームパラメータからキーポイントを生成するプロセスをシミュレートするためにP2K(パラメータ・ツー・キーポイント)ネットワーク3116をトレーニングすることである。第2のステップでは、本明細書で説明される方法に従って、多数のラベル付けされていない実際の顔画像3102を使用して実際の顔キーポイント3104を生成し、次いで多数のスタイル化されたキーポイント3106を生成する。これらのラベル付けされていないスタイル化されたキーポイント3106は、自己教師あり学習トレーニングデータである。いくつかの実施形態では、キーポイントKのセットが、学習のためにK2Pネットワーク3108に入力されて出力パラメータPを得る。これらのキーポイントに対応する理想的なパラメータのグラウンドトゥルースが利用可能でないので、キーポイントK'を取得するために、第1のステップでトレーニングされたP2Kネットワーク3116にPが更に入力される。いくつかの実施形態では、KとK'の間の平均二乗誤差(MSE、Mean Square Error)損失を計算することによって、K2Pネットワーク3108を学習することができる。いくつかの実施形態では、第2のステップの間、P2Kネットワーク3116はフィックスされて、調整され続けない。P2Kネットワーク3116の支援により、ゲームクライアント3110のパラメータをキーポイントへと制御するプロセスは、ニューラルネットワークを使用してシミュレートされ、第2のステップにおけるK2Pネットワーク3108の学習の基礎を築く。このようにして、パラメータによって生成された最終的な顔は、生成されたターゲットのスタイル化された顔のキーポイントに近いままになる。
【0248】
いくつかの実施形態では、同時に、KとK'の間のMSE損失を計算するときに、対応する重みを調整することによって、目のキーポイントのような特定のキーポイントへの重みが追加される。キーポイントの定義は事前に定義されており、ゲームクライアントのボーンやスライダーによる影響は受けないので、重みの調整がより容易になる。
【0249】
いくつかの実施形態において、実際の適用では、モデルの精度を向上させるために、分離することができる部分について、ニューラルネットワークを別個にトレーニングすることができる。例えばいくつかのボーンパラメータが目のエリアのキーポイントにのみ影響を与え、他のパラメータはこのエリアに影響しない場合、これらのパラメータとキーポイントのこの部分は、独立したエリアのセットを形成する。このような領域のグループごとに別個のK2Pモデル3108をトレーニングし、各モデルはより軽量なネットワーク設計を採用することができる。これにより、モデルの精度が更に向上するだけでなく、計算量を低減することもできる。
【0250】
図32は、本開示のいくつかの実装による、モバイルゲームの自動顔生成のいくつかの例示的な結果を示す。
図32に示されるように、元の顔画像(3202及び3206)からゲーム顔アバター画像生成(3204及び3208)への結果が示されている。いくつかの実施形態では、スタイル化するとき、開いた口は閉じられ、異なるレベルの制限と漫画化が鼻、口、顔形、目及び眉に適用される。最終的に生成された結果は、依然として特定の人間の顔特性を保持し、ゲームスタイルの審美的要件を満たす。
【0251】
図33は、本開示のいくつかの実装による、現実の人間の2D顔画像を使用してゲーム内のアバターの標準顔をカスタマイズする例示的なプロセスを示すフローチャート3300である。
【0252】
現実の人間の2D顔画像を使用してゲーム内のアバターの標準顔をカスタマイズするプロセスは、2D顔画像内の現実のキーポイントのセットを識別するステップ3310を含む。
【0253】
プロセスはまた、現実のキーポイントのセットを、ゲーム内のアバターに関連付けられるゲームスタイルのキーポイントのセットに変換するステップ3320も含む。
【0254】
プロセスは加えて、ゲームスタイルキーポイントのセットをキーポイント・ツー・パラメータ(K2P)ニューラルネットワークモデルに適用することによって、ゲーム内のアバターの標準顔の制御パラメータのセットを生成するステップ3330を含む。
図31に関連して上記したように、K2Pネットワーク3108は、入力アバターキーポイントのセットに基づいて顔制御パラメータのセットを予測する、ディープラーニングニューラルネットワークモデルであるが、これは、顔制御パラメータのセットがアバターの標準顔に適用されるとき、調整された標準顔のキーポイントが、入力アバターキーポイントのセットと同様のキーポイントのセットを有することができるように、アバターキーポイントの異なるセットは、顔制御パラメータの異なるセットに対応し得るからである。
図31に関連して上記したように、K2Pネットワーク3108とは対照的に、P2Kネットワーク3116は、入力顔制御パラメータのセットに基づいてアバターキーポイントのセットを予測するディープラーニングニューラルネットワークモデルであるが、これは、2つのニューラルネットワークモデルが互いに逆プロセスを実行すると見なされるとき、P2Kネットワーク3116に関連付けられた出力アバターキーポイントのセットが、K2Pネットワーク3108に関連付けられた入力アバターキーポイントのセットと一致する必要があるように、顔制御パラメータの異なるセットがアバターキーポイントの異なるセットを生じさせることがあるからである。
【0255】
プロセスは加えて、顔制御パラメータのセットを標準顔に適用することによって、標準顔の複数の顔特徴を調整するステップ3340を含む。
【0256】
追加の実装は、下記の特徴のうちの1つ以上を含み得る。
【0257】
いくつかの実施形態では、ステップ3330において、K2Pニューラルネットワークモデルは、以下によりトレーニングされる:すなわち、現実の人物の複数のトレーニング用2D顔画像を取得することと;複数のトレーニング用2D顔画像の各々について、トレーニング用ゲームスタイルのキーポイントを生成することと;トレーニング用ゲームスタイルのキーポイントの各セットをK2Pニューラルネットワークモデルに供給して、制御パラメータのセットを取得することと;制御パラメータのセットを、事前トレーニングされたパラメータ・ツー・キーポイント(P2K)ニューラルネットワークモデルに供給して、トレーニング用ゲームスタイルのキーポイントのセットに対応する予測されたゲームスタイルのキーポイントのセットを取得することと;トレーニング用ゲームスタイルのキーポイントのセットと、対応する予測されたゲームスタイルのキーポイントのセットとの差を減少させることによって、K2Pニューラルネットワークモデルを更新することと;により、トレーニングされる。
【0258】
いくつかの実施形態では、事前トレーニングされたP2Kニューラルネットワークモデルは、ゲーム内のアバターに関連付けられるボーン又はスライダーパラメータを含む制御パラメータのセットを受け取り、制御パラメータのセットに従って、ゲーム内のアバターについてゲームスタイルのキーポイントのセットを予測するように構成される。
【0259】
いくつかの実施形態では、トレーニング用ゲームスタイルのキーポイントのセットと、対応する予測されたゲームスタイルのキーポイントのセットとの間の差は、トレーニング用ゲームスタイルのキーポイントのセットと、対応する予測されたゲームスタイルのキーポイントのセットとの間の平均二乗誤差の合計である。
【0260】
いくつかの実施形態では、トレーニングされたK2Pニューラルネットワークモデル及び事前トレーニングされたP2Kニューラルネットワークモデルはゲームに特有である。
【0261】
いくつかの実施形態では、2D顔画像内の現実のキーポイントのセットは、2D顔画像内の現実の人物の顔特徴に対応する。
【0262】
いくつかの実施形態では、ゲーム内のアバターの標準顔を、異なる現実の人物の顔画像に従って、ゲームの異なるキャラクタにカスタマイズすることができる。
【0263】
いくつかの実施形態では、アバターの変形された顔は、現実の人物の漫画スタイルの顔である。いくつかの実施形態では、アバターの変形された顔は、現実の人物のリアルスタイルの顔である。
【0264】
いくつかの実施形態では、ステップ3320において、現実のキーポイントのセットをゲームスタイルのキーポイントのセットに変換することは、現実のキーポイントのセットを正準空間に正規化することと、現実のキーポイントの正規化されたセットを対称化することと、ゲーム内のアバターに関連付けられる所定のスタイルに従って、現実のキーポイントの対称化されたセットを調整することと、を含む。
【0265】
いくつかの実施形態では、現実のキーポイントのセットを正準空間に正規化することは:現実のキーポイントのセットを正準空間にスケーリングすることと;2D顔画像内の現実のキーポイントのセットの向きに従って、スケーリングされた現実のキーポイントのセットを回転させることと;を含む。
【0266】
いくつかの実施形態では、現実のキーポイントのセットをゲームスタイルのキーポイントのセットに変換することは、所定の凸曲線又は凹曲線要件を満たすように、対称化されたキーポイントのセットを平滑化することを更に含む。
【0267】
いくつかの実施形態では、ゲーム内のアバターに関連付けられる所定のスタイルに従って、現実のキーポイントの対称化されたセットを調整することは、顔の長さの調整、顔の幅の調整、顔特徴の調整、ズームの調整及び目の形の調整のうちの1つ以上を含む。
【0268】
本明細書で開示されるシステム及び方法を、リアルスタイルと漫画スタイルのゲームの両方のための様々なゲームの自動顔生成システムに適用することができる。本システムは、組み込みが簡単なインタフェースを有し、ユーザ体験を向上させる。
【0269】
いくつかの実施形態では、本明細書で開示されるシステム及び方法を、様々なゲームの3D顔アバター生成システムで使用することができ、複雑な手動のチューニングプロセスを自動化して、ユーザ体験を向上させる。ユーザは、自撮りするか又は既存の写真をアップロードすることができる。本システムは、写真の顔から特徴を抽出し、AI顔生成システムを通してゲームの顔の制御パラメータ(ボーン又はスライダーのような)を自動的に生成することができる。ゲーム側は、これらのパラメータを使用して顔アバターを生成するので、作成された顔はユーザの顔特徴を有する。
【0270】
いくつかの実施形態では、このシステムは、キーポイント定義、スタイル化方法、スケルトン/スライダーの定義等を含め、異なるゲームに応じて簡単にカスタマイズすることができる。ユーザは、特定のパラメータのみを調整するか、モデルを自動的に再トレーニングするか又はカスタム制御アルゴリズムを追加することを選択することができる。このようにして、本発明を様々なゲームに簡単に展開することができる。
【0271】
更なる実施形態は、様々な他の実施形態で組み合わされるか別の方法で再配置される、上記の実施形態の様々なサブセットも含む。
【0272】
ここで、本出願の実施形態の画像処理装置は、添付図面の説明に関連して実装される。画像処理装置は、様々な形式で、例えばサーバ又は端末(例えばデスクトップコンピュータ、ノートブックコンピュータ又はスマートフォン)のような異なるタイプのコンピュータデバイスで実装されてよい。本出願の各実施形態の画像処理装置のハードウェア構成は以下で更に説明される。
図34は、画像処理装置のすべての構造ではなく、単に例示的な構造を示すものであり、
図34に示される部分的又は全体構造は、要件に応じて実装されてよいことが理解され得る。
【0273】
図34を参照すると、
図34は、本出願の一実施形態による、画像処理装置の任意のハードウェア構造の概略図であり、実際の適用では、アプリケーションプログラムを実行しているサーバ又は様々な端末に適用されてよい。
図34に示される画像処理装置3400は、少なくとも1つのプロセッサ3401、メモリ3402、ユーザインタフェース3403及び少なくとも1つのネットワークインタフェース3404を含む。画像処理装置3400内の構成要素は、バスシステム3405によって互いに結合される。バス3405は、構成要素間の接続及び通信を実装するように構成されていることが理解され得る。バスシステム3405は、データバスを含むことに加えて、電力バス、制御バス及びステータス信号バスを更に含んでもよい。しかしながら、明確な説明のために、
図34ではすべてのバスがバスシステム3405としてマークされている。
【0274】
ユーザインタフェース3403は、ディスプレイ、キーボード、マウス、トラックボール、クリックホイール、キー、ボタン、タッチパッド、タッチスクリーン等を含み得る。
【0275】
メモリ3402は、揮発性メモリ又は不揮発性メモリであってよく、あるいは揮発性メモリと不揮発性メモリの両方を含んでもよいことが理解され得る。
【0276】
メモリ3402は、本出願の実施形態において、画像処理装置3400の動作をサポートするために、異なるタイプのデータを記憶するように構成される。データの例には、画像処理装置3400上で動作を実行するために使用される実行可能プログラム34021及びオペレーティングシステム34022のような任意のコンピュータプログラムが含まれ、本出願の実施形態の画像処理方法を実行するために使用されるプログラムは、実行可能プログラム34021に含まれてよい。
【0277】
本出願の実施形態で開示される画像処理方法は、プロセッサ3401に適用されてもよく、あるいはプロセッサ3401によって実行されてもよい。プロセッサ3401は、集積回路チップであってよく、信号処理能力を有する。実装プロセスでは、画像処理方法の各ステップは、プロセッサ3401内のハードウェアの集積論理回路又はソフトウェア形式の命令を使用することによって完了され得る。前述のプロセッサ3401は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、別のプログラマブル論理デバイス、個別ゲート(discrete gate)、トランジスタ論理デバイス、個別ハードウェア構成要素等であり得る。プロセッサ3401は、本出願の実施形態で提供される方法、ステップ及び論理ブロック図を実装又は実行し得る。汎用プロセッサは、マイクロプロセッサ、任意の従来のプロセッサ等であり得る。本出願の実施形態で提供される方法のステップは、ハードウェア復号プロセッサによって直接実行されてもよく、あるいは復号プロセッサ内でハードウェアとソフトウェアモジュールを組み合わせることによって実行されてもよい。ソフトウェアモジュールは記憶媒体に配置されてよい。記憶媒体はメモリ3402内に配置される。プロセッサ3401は、メモリ3402内の情報を読み出し、該情報をそのハードウェアと組み合わせることによって、本出願の実施形態で提供される画像処理方法のステップを実行する。
【0278】
いくつかの実施形態では、画像処理及び3D顔及び頭部形成を、サーバのグループ又はネットワーク上のクラウド上で実現することができる。
【0279】
1つ以上の例では、説明される機能は、ハードウェア、ソフトウェア、ファームウェア又はそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つ以上の命令又はコードとして、コンピュータ読取可能媒体上に記憶されるか又はこれを介して転送され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ読取可能媒体は、データ記憶媒体のような有形の媒体に対応するコンピュータ読取可能記憶媒体、あるいは例えば通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このように、コンピュータ読取可能媒体は、一般に、(1)非一時的な有形のコンピュータ読取可能記憶媒体又は(2)信号や搬送波のような通信媒体に対応することがある。データ記憶媒体は、本出願で説明される実装のうちのある実装のために命令、コード及び/又はデータ構造を取り出すために、1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスすることができる、任意の利用可能な媒体であってよい。コンピュータプログラム製品は、コンピュータ読取可能媒体を含むことがある。
【0280】
本明細書における実装の説明で使用される用語は、単に特定の実装を説明する目的のためであり、特許請求の範囲を限定するように意図されていない。実装の説明及び添付の特許請求の範囲において使用されるとき、単数形の「a」、「an」及び「the」は、文脈がそうでないことを明確に示さない限り、複数形も含むように意図されている。また、本明細書で使用されるとき、「及び/又は」という用語は、関連する列挙されたアイテムの1つ以上の任意の及びすべての可能な組合せを指し、これを包含することが理解されよう。「備える(comprises)」及び/又は「備えている(comprising)」という用語は、本明細書で使用されるとき、記載される特徴、要素及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、要素、構成要素及び/又はそれらのグループの存在又は追加を妨げるものではないことも更に理解されよう。
【0281】
また、本明細書において、第1、第2等の用語を使用して様々な要素を説明することがあるが、これらの要素はこれらの用語によって限定されるべきではないことも理解されよう。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。実装の範囲から逸脱することなく、例えば第1電極を第2電極と呼ぶことが可能であり、同様に、第2電極を第1電極と呼ぶことが可能である。第1電極と第2電極は両方とも電極であるが、同じ電極ではない。
【0282】
本出願の説明は、例示及び説明の目的のために提示されており、開示される形式の発明を網羅するか又はこれに限定するように意図されていない。多くの修正、変形及び代替的実装は、上記の説明及び関連する図面で提示される教示の恩恵を受ける当業者には明らかであろう。実施形態は、発明の原理、実際の適用を最もよく説明し、かつ当業者が様々な実装のために本発明を理解して、考慮される特定の使用に適切であるような様々な修正を伴う基礎となる原理及び様々な実装を最もよく利用することを可能にするために選択され、説明された。したがって、特許請求の範囲は、開示される実装の具体例に限定されず、修正及び他の実装が、添付の特許請求の範囲に含まれるように意図されていることを理解されたい。
【国際調査報告】