(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-24
(45)【発行日】2024-08-01
(54)【発明の名称】パラメータ推定モデルの訓練方法、パラメータ推定モデルの訓練装置、デバイスおよび記憶媒体
(51)【国際特許分類】
G06T 7/00 20170101AFI20240725BHJP
G06V 10/82 20220101ALI20240725BHJP
【FI】
G06T7/00 350C
G06V10/82
G06T7/00 660A
(21)【出願番号】P 2023523272
(86)(22)【出願日】2021-10-22
(86)【国際出願番号】 CN2021125575
(87)【国際公開番号】W WO2022095721
(87)【国際公開日】2022-05-12
【審査請求日】2023-04-17
(31)【優先権主張番号】202011211255.4
(32)【優先日】2020-11-03
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】320010240
【氏名又は名称】ビゴ テクノロジー ピーティーイー. リミテッド
【住所又は居所原語表記】30 PASIR PANJANG ROAD,#15-31A,MAPLETREE BUSINESS CITY,SINGAPORE 117440
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】▲張▼ 小▲偉▼
(72)【発明者】
【氏名】胡 ▲鍾▼元
(72)【発明者】
【氏名】▲劉▼ 更代
【審査官】鈴木 圭一郎
(56)【参考文献】
【文献】中国特許出願公開第109978989(CN,A)
【文献】中国特許出願公開第109934300(CN,A)
【文献】中国特許出願公開第110414370(CN,A)
【文献】中国特許出願公開第111428667(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06V 10/82
(57)【特許請求の範囲】
【請求項1】
顔画像訓練セットにおける各訓練サンプルを予め構築されたニューラルネットワークモデルに入力し、3次元顔再構築に指定された再構築パラメータを推定し、前記再構築パラメータを予め構築された3次元モーファブルモデルに入力することにより、前記訓練サンプルに対応する3次元顔を再構築することと、
前記3次元顔と前記訓練サンプルとの間の複数の2次元監視情報における複数の損失関数を計算し、各損失関数に対応する重みを調整することと、
各損失関数および各損失関数に対応する重みに基づいてフィッティング損失関数を生成し、前記フィッティング損失関数を用いて前記ニューラルネットワークモデルを逆補正することにより、訓練後のパラメータ推定モデルを得ることと、
を含
み、
前記複数の2次元監視情報における複数の損失関数は、画像画素損失関数、キーポイント損失関数、アイデンティティ特徴損失関数、アルベドペナルティ関数、および前記3次元顔再構築に指定された再構築パラメータにおける目標再構築パラメータに対応する正則化項を含み、
前記3次元顔のアルベドペナルティ関数を計算する場合、
前記3次元顔における複数の頂点のそれぞれのアルベドを計算することをさらに含み、
前記3次元顔のアルベドペナルティ関数を計算することは、
前記3次元顔における複数の頂点のアルベドとプリセットアルベド区間とに基づいて、前記アルベドペナルティ関数を計算することを含む、
パラメータ推定モデルの訓練方法。
【請求項2】
前記3次元顔と前記訓練サンプルとの間の画像画素損失関数を計算する場合、
前記訓練サンプルから皮膚マスクを分割することをさらに含み、
前記3次元顔と前記訓練サンプルとの間の画像画素損失関数を計算することは、
前記皮膚マスクに基づいて、前記3次元顔と前記訓練サンプルにおいて顔皮膚領域内にある同一画素点の画素誤差を計算することにより、前記画像画素損失関数を得ることを含む、
請求項
1に記載の方法。
【請求項3】
前記3次元顔と前記訓練サンプルとの間のキーポイント損失関数を計算する場合、
前記訓練サンプルからプリセット位置における複数のキー特徴点を抽出し、各キー特徴点の可視性を確定することと、
前記複数のキー特徴点の可視性に基づいて複数の目に見えるキー特徴点を確定することと、
をさらに含み、
前記3次元顔と前記訓練サンプルとの間のキーポイント損失関数を計算することは、
前記3次元顔と前記訓練サンプルとの間の各目に見えるキー特徴点の位置再構築誤差を計算することにより、前記キーポイント損失関数を得ることを含む、
請求項
1に記載の方法。
【請求項4】
前記3次元顔と前記訓練サンプルとの間の各目に見えるキー特徴点の位置再構築誤差を計算することの前に、
前記3次元顔における頭部姿勢に基づいて、前記3次元顔から各目に見えるキー特徴点に合致する3次元メッシュ頂点を動的に選択し、前記3次元メッシュ頂点の前記3次元顔における位置情報を前記目に見えるキー特徴点の再構築位置とすることにより、前記3次元顔と前記訓練サンプルとの間の前記目に見えるキー特徴点の位置再構築誤差を計算することをさらに含む、
請求項
3に記載の方法。
【請求項5】
前記3次元顔と前記訓練サンプルとの間のアイデンティティ特徴損失関数を計算する場合、
前記訓練サンプルと再構築後の3次元顔のそれぞれを予め構築された顔認識モデルに入力することにより、前記訓練サンプルに対応する第1のアイデンティティ特徴、および前記3次元顔に対応する第2のアイデンティティ特徴を得ることをさらに含み、
前記3次元顔と前記訓練サンプルとの間のアイデンティティ特徴損失関数を計算することは、
前記第1のアイデンティティ特徴と前記第2のアイデンティティ特徴との類似度に基づいて、前記アイデンティティ特徴損失関数を計算することを含む、
請求項
1に記載の方法。
【請求項6】
前記訓練サンプルに対応する第1のアイデンティティ特徴は、さらに、
マルチアングルで撮影された、前記訓練サンプルと同じ顔を有する複数の顔画像を収集し、前記複数の顔画像のそれぞれを予め構築された3次元モーファブルモデルに入力し、各顔画像に対応するアイデンティティサブ特徴を抽出するステップと、
抽出された複数のアイデンティティサブ特徴を統合することにより、前記訓練サンプルに対応する第1のアイデンティティ特徴を得るステップと、
を用いて計算される、
請求項
5に記載の方法。
【請求項7】
前記3次元モーファブルモデルは、デュアル主成分分析PCAモデルと単PCAモデルで構成され、前記デュアルPCAモデルには、3次元平均顔、顔の形変化を表す第1の主成分基底および顔の表情変化を表す第2の主成分基底が定義され、
前記単PCAモデルには、顔平均アルベド及び顔アルベド変化を表す第3の主成分基底が定義され、
前記再構築パラメータを予め構築された3次元モーファブルモデルに入力することにより、前記各訓練サンプルに対応する3次元顔を再構築することは、
前記第1の主成分基底および前記第2の主成分基底にそれぞれ合致する再構築パラメータを前記デュアルPCAモデルに入力し、前記3次元平均顔を変形することにより、3次元変形顔を得ることと、
前記3次元変形顔および前記第3の主成分基底に合致する再構築パラメータを前記単PCAモデルに入力し、前記顔平均アルベドに基づいて前記3次元変形顔に対してアルベド修正を行うことにより、再構築後の3次元顔を得ることと、
を含む、
請求項1に記載の方法。
【請求項8】
前記再構築パラメータを予め構築された3次元モーファブルモデルに入力することにより、前記訓練サンプルに対応する3次元顔を再構築することの前に、
多次元データソースにおいて光照射が均一な3次元顔スキャンデータを収集し、前記3次元顔スキャンデータに対して変形分析、表情変化分析およびアルベド分析を行うことにより、前記3次元平均顔、前記顔平均アルベド、前記第1の主成分基底、前記第2の主成分基底および前記第3の主成分基底を得ることをさらに含む、
請求項
7に記載の方法。
【請求項9】
前記3次元モーファブルモデルには、顔の光照射変化を表す光照射パラメータ、顔の移動を表す位置パラメータおよび顔頭部の姿勢を表す回転パラメータも定義されている請求項
7に記載の方法。
【請求項10】
前記3次元顔と前記訓練サンプルとの間の複数の2次元監視情報における複数の損失関数を計算することの前に、
微分可能レンダラーを使用して前記3次元顔をレンダリングすることにより、レンダリング後の3次元顔を用いて前記パラメータ推定モデルを訓練することをさらに含む、
請求項1から
9のいずれか1項に記載の方法。
【請求項11】
前記フィッティング損失関数を用いて前記ニューラルネットワークモデルを逆補正することにより、訓練後のパラメータ推定モデルを得ることの後、
再構築されるべき2次元顔画像を前記パラメータ推定モデルに入力し、3次元顔再構築に指定された再構築パラメータを推定し、前記再構築パラメータを予め構築された3次元モーファブルモデルに入力することにより、前記2次元顔画像に対応する3次元顔を再構築することをさらに含む、
請求項1から
9のいずれか1項に記載の方法。
【請求項12】
顔画像訓練セットにおける各訓練サンプルを予め構築されたニューラルネットワークモデルに入力し、3次元顔再構築に指定された再構築パラメータを推定し、前記再構築パラメータを予め構築された3次元モーファブルモデルに入力することにより、前記訓練サンプルに対応する3次元顔を再構築するように構成される3次元再構築モジュールと、
前記3次元顔と前記訓練サンプルとの間の複数の2次元監視情報における複数の損失関数を計算し、各損失関数に対応する重みを調整するように構成される損失関数計算モジュールと、
各損失関数および各損失関数に対応する重みに基づいてフィッティング損失関数を生成し、前記フィッティング損失関数を用いて前記ニューラルネットワークモデルを逆補正することにより、訓練後のパラメータ推定モデルを得るように構成されるモデル訓練モジュールと、
を含
み、
前記複数の2次元監視情報における複数の損失関数は、画像画素損失関数、キーポイント損失関数、アイデンティティ特徴損失関数、アルベドペナルティ関数、および前記3次元顔再構築に指定された再構築パラメータにおける目標再構築パラメータに対応する正則化項を含み、
前記3次元顔のアルベドペナルティ関数を計算する場合、
前記3次元顔における複数の頂点のそれぞれのアルベドを計算することをさらに含み、
前記3次元顔のアルベドペナルティ関数を計算することは、
前記3次元顔における複数の頂点のアルベドとプリセットアルベド区間とに基づいて、
前記アルベドペナルティ関数を計算することを含む、
パラメータ推定モデルの訓練装置。
【請求項13】
少なくとも1つのプロセッサと、
少なくとも1つのプログラムを記憶するように構成される記憶装置と、
を含み、
前記少なくとも1つのプログラムが前記少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサが請求項1から
11のいずれか1項に記載のパラメータ推定モデルの訓練方法を実現するコンピュータデバイス。
【請求項14】
コンピュータプログラムが記憶され、ここで、前記プログラムがプロセッサによって実行されるとき、請求項1から
11のいずれか1項に記載のパラメータ推定モデルの訓練方法を実現するコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2020年11月03日に中国特許庁に提出された出願番号202011211255.4の中国特許出願の優先権を主張し、その全ての内容は参照により本出願に援用する。
【0002】
本出願は、画像処理技術の分野に関し、例えばパラメータ推定モデルの訓練方法、パラメータ推定モデルの訓練装置、デバイスおよび記憶媒体に関するものである。
【背景技術】
【0003】
動画技術の発展に伴い、顔画像表示のニーズがある顔アニメーション、顔認識や拡張現実(Augmented Reality、AR)などのエンターテインメントアプリケーションにおいてリアルな顔モデルの作成に対するニーズもますます高まっている。リアルな3次元顔モデルの作成は、非常に困難な作業であり、1枚以上の2次元顔画像または深度画像に対して、対応する3次元顔を再構築する必要があり、顔形状、色、照明、頭部の回転角度などの様々な3次元情報を含むようにする。
【0004】
3次元顔の再構築方法では、通常、まず大量の顔の3次元スキャンデータを収集し、次に、当該3次元スキャンデータを用いて対応する3次元モーファブルモデル(3D Morphable Model、3DMM)を構築し、このとき、当該3次元モーファブルモデルには、標準顔の平均顔形状、顔のアイデンティティ変化を表す主成分基底、および顔の表情変化を表す主成分基底が含まれ、次に、現在再構築されるべき2次元顔画像に基づいて2組の主成分基底に対応する再構築パラメータを推定し、当該再構築パラメータに基づいて2組の主成分基底を対応して調整することによって、当該平均顔形状に対して対応する変形を行い、これにより、対応する3次元顔を再構築する。
【0005】
主成分基底に対応する再構築パラメータの推定には通常2つの方法がある。1つは、直接に2次元顔画像における特徴点の画素値を3次元顔の変形の監視情報として主成分基底に対応する再構築パラメータを推定する方法であるが、2次元画像から3次元再構築までは病的な問題であるため、特徴点の画素値のみを監視情報として、再構築パラメータの推定の正確性を保証することはできない。もう1つの方法は、現在再構築されるべき多視点2次元顔画像または深度情報を入力として利用して主成分基底に対応する再構築パラメータを推定することであるが、この方法では複数の顔画像を収集する必要があり、さらに特殊なセンサで深度画像を収集する必要があり、再構築シーンが制限され、再構築パラメータの収集要件が多すぎて、3次元顔再構築の作業が煩雑になってしまう。
【発明の概要】
【課題を解決するための手段】
【0006】
本出願は、パラメータ推定モデルの訓練方法、パラメータ推定モデルの訓練装置、デバイスおよび記憶媒体を提供し、3次元顔再構築時に対応する再構築パラメータを推定するために用いられるパラメータ推定モデルの訓練方法を最適化し、3次元顔再構築時に用いられる再構築パラメータの推定の正確性を高め、3次元顔再構築の正確性を保証した上で、3次元顔再構築の作業複雑性を低減する。
【0007】
本出願は、顔画像訓練セットにおける各訓練サンプルを予め構築されたニューラルネットワークモデルに入力し、3次元顔再構築に指定された再構築パラメータを推定し、前記再構築パラメータを予め構築された3次元モーファブルモデルに入力することにより、前記訓練サンプルに対応する3次元顔を再構築することと、
前記3次元顔と前記訓練サンプルとの間の複数の2次元監視情報における複数の損失関数を計算し、各損失関数に対応する重みを調整することと、
各損失関数および各損失関数に対応する重みに基づいてフィッティング損失関数を生成し、前記フィッティング損失関数を用いて前記ニューラルネットワークモデルを逆補正することにより、訓練後のパラメータ推定モデルを得ることと、
を含む、
パラメータ推定モデルの訓練方法に関する。
【0008】
本出願は、顔画像訓練セットにおける各訓練サンプルを予め構築されたニューラルネットワークモデルに入力し、3次元顔再構築に指定された再構築パラメータを推定し、前記再構築パラメータを予め構築された3次元モーファブルモデルに入力することにより、前記訓練サンプルに対応する3次元顔を再構築するように構成される3次元再構築モジュールと、
前記3次元顔と前記訓練サンプルとの間の複数の2次元監視情報における複数の損失関数を計算し、各損失関数に対応する重みを調整するように構成される損失関数計算モジュールと、
各損失関数および各損失関数に対応する重みに基づいてフィッティング損失関数を生成し、前記フィッティング損失関数を用いて前記ニューラルネットワークモデルを逆補正することにより、訓練後のパラメータ推定モデルを得るように構成されるモデル訓練モジュールと、
を含む、
パラメータ推定モデルの訓練装置に関する。
【0009】
本出願は、1つ以上のプロセッサと、
1つ以上のプログラムを記憶するように構成される記憶装置と、
を含み、
前記1つ以上のプログラムが前記1つ以上のプロセッサによって実行されるとき、前記1つ以上のプロセッサが上記したパラメータ推定モデルの訓練方法を実現する、
コンピュータデバイスに関する。
【0010】
本出願は、コンピュータプログラムが記憶され、当該プログラムがプロセッサによって実行されるとき、上記したパラメータ推定モデルの訓練方法を実現するコンピュータ可読記憶媒体に関する。
【図面の簡単な説明】
【0011】
【
図1A】本出願の実施例1によるパラメータ推定モデルの訓練方法のフローチャートである。
【
図1B】本出願の実施例1によるパラメータ推定モデルの訓練プロセスの原理概略図である。
【
図1C】本出願の実施例1による方法における3次元顔再構築プロセスの原理概略図である。
【
図2A】本出願の実施例2によるパラメータ推定モデルの訓練方法のフローチャートである。
【
図2B】本出願の実施例2による3次元顔再構築のための3次元モーファブルモデルの構造概略図である。
【
図3A】本出願の実施例3によるパラメータ推定モデルの訓練方法のフローチャートである。
【
図3B】本出願の実施例3によるパラメータ推定モデルの訓練プロセスの原理概略図である。
【
図3C】本出願の実施例3によるキー特徴点を動的に選択する概略図である。
【
図3D】本出願の実施例3によるキー特徴点の分布概略図である。
【
図4】本出願の実施例4によるパラメータ推定モデルの訓練装置の構造概略図である。
【
図5】本出願の実施例5によるコンピュータデバイスの構造概略図である。
【発明を実施するための形態】
【0012】
以下、図面と実施例を参照して本出願を説明する。本明細書で説明される具体的な実施例は、本出願を説明するためにのみ使用される。説明を容易にするために、図面には本出願に関連するもののみが示されている。
【0013】
実施例1
図1Aは、本出願の実施例1によるパラメータ推定モデルの訓練方法のフローチャートであり、本実施例は、対応する再構築パラメータを推定する必要がある3次元顔再構築のいずれかの場合に適用可能である。本実施例によるパラメータ推定モデルの訓練方法は、本出願の実施例によるパラメータ推定モデルの訓練装置によって実行されてもよく、当該装置は、ソフトウェアおよび/またはハードウェアによって実現されることができ、本方法を実行するコンピュータデバイスに統合される。
【0014】
図1を参照すると、当該方法は、以下のステップを含み得る。
【0015】
S110では、顔画像訓練セットにおける各訓練サンプルを予め構築されたニューラルネットワークモデルに入力し、3次元顔再構築に指定された再構築パラメータを推定し、再構築パラメータを予め構築された3次元モーファブルモデルに入力することにより、訓練サンプルに対応する3次元顔を再構築する。
【0016】
顔アニメーション、顔認識、拡張現実、及び顔の美肌補正などのシーンでは3次元顔再構築技術を応用する必要があり、3次元顔再構築とは、2次元顔画像を再構築する3次元幾何形状(shape)、アルベド(albedo)、照明情報、頭部の回転角度などの複数の3次元情報を指し、ここで、3次元幾何形状は、1組の3次元空間における頂点から構成することができ、各頂点は、いずれも対応する3次元座標(x、y、z)によって一意に確定されることができる。3次元顔再構築に対して、主に対応する3次元モーファブルモデルを予め構築し、当該3次元モーファブルモデルを用いて任意の2次元顔画像に対して3次元顔の形状と外見のモデリングを行い、任意の顔形状を1つの標準顔と1組の顔の形状変化及び表情変化を表す主成分ベクトルの線形結合の和として表すことができることを提案し、主成分ベクトルの異なる線形結合の形で、当該標準顔の平均顔形状に対して対応する変形及び顔表情の調整を行い、これにより、対応する3次元顔を再構築する。
【0017】
本実施例では3次元顔再構築に指定された再構築パラメータとは、当該3次元モーファブルモデルが平均顔形状に対して変形及び顔表情の調整を行う際に、参照した主成分ベクトルの線形結合の形を表すことができる複数のパラメータ、及び3次元顔の迫真効果に影響するパラメータを指し、例えば、光照射パラメータ、顔位置、姿勢などが挙げられる。当該再構築パラメータにより、対応する変形及び顔の表情変化を行うように平均顔形状を制御することができ、これにより、対応する3次元顔を生成し、3次元顔における光照射状況や姿勢角度などの詳細な展示を改善することができる。以上から分かるように、再構築されるべき2次元顔画像に対する当該再構築パラメータの推定の正確性は、当該2次元顔画像の再構築に対応する3次元顔のリアルさに直接に影響することができ、したがって、再構築された3次元顔をよりリアルにするためには、再構築されるべき2次元顔画像から3次元顔再構築に指定された複数の再構築パラメータを正確に推定することが要求される。本実施例における再構築パラメータは、顔の形状変化を表す変形パラメータ、顔の表情変化を表す表情パラメータ、顔アルベド変化を表すアルベドパラメータ、顔の光照射変化を表す光照射パラメータ、顔の移動を表す位置パラメータおよび顔頭部の姿勢を表す回転パラメータなどを含み得る。ここで、当該アルベドパラメータには、再構築されるべき2次元顔画像の赤-緑-青(Red Green Blue、RGB)の色情報が含まれる。
【0018】
選択肢の一つとして、任意の再構築されるべき2次元顔画像に対して3次元顔再構築に指定された複数の再構築パラメータを正確に推定することができるようにするために、本実施例では、ニューラルネットワークモデルを初歩的に構築し、この後、大量の顔画像サンプルを介して、当該ニューラルネットワークモデルに対してパラメータ推定訓練を行うことにより、3次元顔再構築に指定された再構築パラメータを正確に推定できるパラメータ推定モデルを訓練し、ここで、当該ニューラルネットワークモデルは、畳み込みニューラルネットワークを採用する。当該ニューラルネットワークモデルに対してパラメータ推定訓練を行う際に、まず対応する顔画像訓練セットを構築し、当該顔画像訓練セットには、当該ニューラルネットワークモデルの訓練サンプルとして、異なる出所と異なるタイプの顔画像が大量含まれている。
図1Bに示されたように、顔画像訓練セットにおける各訓練サンプルを予め構築されたニューラルネットワークモデルに絶えず入力し、この後、当該ニューラルネットワークモデルによって、入力された訓練サンプルにおける顔特徴と標準顔の顔特徴を比較して分析し、標準顔から当該訓練サンプルにおける顔に変換する際に必要な複数の操作パラメータを判断することで、当該訓練サンプルが3次元顔再構築を行う際に必要な再構築パラメータの値を推定する。この場合、本実施例では、3次元モーファブルモデルが当該再構築パラメータを用いて当該訓練サンプルに対して3次元顔再構築を行なった後に再構築された3次元顔のリアルさを分析することにより、推定された再構築パラメータの正確性を判断することができる。
【0019】
したがって、ニューラルネットワークモデルによって当該訓練サンプルが3次元顔再構築を行う際に用いられる再構築パラメータを推定した後、当該再構築パラメータを予め構築された3次元モーファブルモデルに入力し、当該3次元モーファブルモデルが当該再構築パラメータを用いて定義された標準顔に対して対応する変形、表情変化とアルベド変化を行い、かつ対応する3次元詳細展示情報を対応して調整することにより、当該訓練サンプルに対応する3次元顔を再構築し、この後、当該訓練サンプルと再構築された3次元顔との類似性を比較することで、再構築された3次元顔のリアルさを分析することができる。
【0020】
S120では、3次元顔と訓練サンプルとの間の複数の2次元監視情報における複数の損失関数を計算し、各損失関数に対応する重みを調整する。
【0021】
選択肢の一つとして、訓練サンプルにおける顔に対する再構築された3次元顔のリアルさを分析するために、本実施例では、対応する損失関数を予め設定し、当該損失関数によって、再構築された3次元顔と訓練サンプルとの類似度を比較する。本実施例における複数の2次元監視情報は、複数の2次元監視情報により、複数の監視次元における再構築された3次元顔と訓練サンプルとの類似性をより全面的に判断することができることを示し、複数の2次元監視情報における損失関数を設定することで、3次元顔の再構築誤差をできるだけ全面的に避けることができる。例示的に、本実施例では、複数の2次元監視情報における損失関数は、画像画素損失関数、キーポイント損失関数、アイデンティティ特徴損失関数、アルベドペナルティ関数、および前記3次元顔再構築に指定された再構築パラメータにおける目標再構築パラメータに対応する正則化項を含み得る。
【0022】
訓練サンプルに対応する3次元顔が再構築された後、現在設定された複数の2次元監視情報における損失関数により、再構築された3次元顔と当該訓練サンプルとの間の各監視情報が存在する次元における再構築誤差、すなわち損失関数の値を計算することができ、さらに複数の損失関数の値に基づいて、再構築された3次元顔の各監視情報におけるリアルさを分析し、これにより、訓練後のニューラルネットワークモデルの各監視情報における推定の正確性を判断し、さらに、次の訓練時の推定能力を高めるように、各損失関数に対応する重みを対応して調整する。
【0023】
例示的に、本実施例では、画像画素損失関数、キーポイント損失関数、アイデンティティ特徴損失関数、アルベドペナルティ関数、及び3次元顔再構築に指定された再構築パラメータにおける目標再構築パラメータに対応する正則化項をそれぞれ計算することにより、3次元顔再構築時の画像画素、キーポイント、アイデンティティ特徴、アルベド及び複数の再構築パラメータに対する現在の訓練プロセスの正確な再構築能力を明確に判断し、再構築能力に応じて複数の損失関数の重みを対応して調整し、訓練を継続し、これにより、3次元顔再構築時の再構築パラメータの推定能力を絶えず向上させる。
【0024】
また、再構築された3次元顔が3次元顔画像のみを含む可能性があり、訓練サンプルには、顔画像に加えて、非顔画像の背景画面も表示されるので、3次元顔と訓練サンプルとの間の損失計算の正確性を保証するために、
図1Bに示されたように、本実施例では、3次元顔と訓練サンプルとの間の複数の2次元監視情報における複数の損失関数を計算することの前に、微分可能レンダラーを使用して3次元顔をレンダリングすることにより、レンダリング後の3次元顔を用いてパラメータ推定モデルを訓練することも含むことができる。
【0025】
微分可能レンダラーを使用して3次元顔をレンダリングすることで、レンダリング後の3次元顔のテクスチャと画面を訓練サンプルにより近づけることができ、この後、レンダリング後の3次元顔を使用してパラメータ推定モデルをより正確に訓練することができる。
【0026】
S130では、各損失関数および各損失関数に対応する重みに基づいてフィッティング損失関数を生成し、フィッティング損失関数を用いてニューラルネットワークモデルを逆補正することにより、訓練後のパラメータ推定モデルを得る。
【0027】
3次元顔と訓練サンプルとの間の複数の2次元監視情報における複数の損失関数を計算し、各損失関数に対応する重みを調整した後、各損失関数に対応する重みを利用して複数の2次元監視情報における複数の損失関数を統合することにより、対応するフィッティング損失関数を生成し、当該フィッティング損失関数をニューラルネットワークモデルの訓練プロセス全体の損失関数とし、次に、当該フィッティング損失関数を利用して訓練プロセス全体に従って逆伝播することにより、当該ニューラルネットワークモデルにおけるネットワークパラメータを修正し、そして、上記ステップに従って修正後のニューラルネットワークモデルを用いて、次の訓練サンプルによる3次元顔再構築時の再構築パラメータの推定を継続することにより、当該訓練プロセスを継続して実行し、当該ニューラルネットワークモデルを絶えず逆補正し、さらに最終的に訓練を完了したニューラルネットワークモデルを訓練後のパラメータ推定モデルとし、本実施例におけるフィッティング損失関数は、3次元顔を再構築する前に追加の3次元顔情報を参照することなく、複数の監視情報における2次元顔情報を利用するだけで、当該ニューラルネットワークモデルを絶えず逆補正し、訓練後のパラメータ推定モデルを得ることができ、これにより、3次元顔再構築において対応する再構築パラメータを推定するために用いられるパラメータ推定モデルの訓練方法を最適化し、複数の2次元監視情報における損失関数によってパラメータ推定モデルを訓練することで、訓練プロセスにおいて参照情報を更に全面的にして、3次元顔再構築時に用いられる再構築パラメータの推定の正確性を高める。
【0028】
例えば、複数の2次元監視情報における損失関数が、それぞれ画像画素損失関数L
photometric、キーポイント損失関数L
landmark、アイデンティティ特徴損失関数L
perception、アルベドペナルティ関数L
box、及び3次元顔再構築に指定された再構築パラメータにおける目標再構築パラメータ(顔の形状変化を表す主成分ベクトルの調整パラメータα、顔の表情変化を表す主成分ベクトルの調整パラメータδ、顔アルベド変化を表す主成分ベクトルの調整パラメータβ及び光照射パラメータγ)に対応する正則化項であると、本実施例におけるフィッティング損失関数は以下のようになり、即ち、
【数1】
ここで、λ
pは画像画素損失関数に対応する重みであり、λ
lはキーポイント損失関数に対応する重みであり、λ
idはアイデンティティ特徴損失関数に対応する重みであり、λ
bはアルベドペナルティ関数に対応する重みであり、λ
α、λ
β、λ
δ、及びλ
γは、それぞれ3次元顔再構築に指定された複数の再構築パラメータにおける目標再構築パラメータに対応する正則化項に対応する重みである。
【0029】
訓練後のパラメータ推定モデルを得る場合、当該パラメータ推定モデルにより、任意の再構築されるべき2次元顔画像に対して3次元顔再構築を行う時の再構築パラメータを正確に推定することができるため、本実施例では、フィッティング損失関数を用いてニューラルネットワークモデルを逆補正し、訓練後のパラメータ推定モデルを得ることの後、再構築されるべき2次元顔画像をパラメータ推定モデルに入力し、3次元顔再構築に指定された再構築パラメータを推定し、再構築パラメータを予め構築された3次元モーファブルモデルに入力することにより、2次元顔画像に対応する3次元顔を再構築することをさらに含み得る。
【0030】
再構築されるべき2次元顔画像の撮影サイズがそれぞれ異なるため、3次元顔再構築の正確性を保証するため、
図1Cに示されたように、本実施例では、まず再構築されるべき2次元顔画像に対して顔検出を行うことにより、顔領域を含む2次元顔画像を切り抜き、そして、3次元顔再構築時の再構築パラメータの推定に対するパラメータ推定モデルの画像要件を満たすために、対応するサイズ(例えば224*224ピクセル)になるように切り抜きされた2次元顔画像をスケーリングし、さらに前処理された2次元顔画像を当該パラメータ推定モデルに入力し、当該パラメータ推定モデルによって、当該2次元顔画像が3次元顔再構築を行う際に必要な複数の再構築パラメータを正確に推定し、さらに当該再構築パラメータを予め構築された3次元モーファブルモデルに入力し、当該3次元モーファブルモデルは当該再構築パラメータを利用して定義された標準顔に対して対応する変形及び表情変化などを行い、対応する3次元詳細展示情報を調整し、これにより、当該2次元顔画像に対応する3次元顔を再構築し、再構築されるべき顔画像の3次元モーファブルモデルにおける変形プロセスをより正確にし、3次元顔再構築の正確性を保証し、3次元顔再構築プロセスに追加の情報機器を配置する必要がなくなり、3次元顔再構築の作業複雑性を低減する。
【0031】
本実施例による技術案では、3次元顔再構築時に特に使用される複数の再構築パラメータに対して、対応するニューラルネットワークモデルを予め構築し、顔画像訓練セットにおける各訓練サンプルを当該ニューラルネットワークモデルに入力することにより、当該訓練サンプルが3次元顔再構築時に必要な再構築パラメータを推定し、当該再構築パラメータを予め構築された3次元モーファブルモデルに入力し、当該訓練サンプルに対応する3次元顔を再構築し、3次元顔と訓練サンプルとの間の複数の2次元監視情報における複数の損失関数を計算し、各損失関数に対応する重みを調整することによって、当該ニューラルネットワークモデルの訓練時のフィッティング損失関数を生成することができ、当該フィッティング損失関数は、3次元顔を再構築する前に追加の3次元顔情報を参照することなく、複数の監視情報における2次元顔情報を利用するだけで、当該ニューラルネットワークモデルを絶えず逆補正し、訓練後のパラメータ推定モデルを得ることができ、これにより、3次元顔再構築において対応する再構築パラメータを推定するために用いられるパラメータ推定モデルの訓練方法を最適化し、複数の2次元監視情報における損失関数によってパラメータ推定モデルを訓練することで、訓練プロセスにおいて参照情報を更に全面的にして、3次元顔再構築時に用いられる再構築パラメータの推定の正確性を高める。同時に、この後に訓練後のパラメータ推定モデルを用いて3次元顔再構築時の再構築パラメータを推定し、再構築されるべき顔画像の3次元モーファブルモデルにおける変形プロセスをより正確にし、3次元顔再構築の正確性を保証し、3次元顔再構築プロセスに追加の情報機器を配置する必要がなくなり、3次元顔再構築の作業複雑性を低減する。
【0032】
実施例2
図2Aは、本出願の実施例2によるパラメータ推定モデルの訓練方法のフローチャートであり、
図2Bは、本出願の実施例2による3次元顔再構築のための3次元モーファブルモデルの構造概略図である。本実施例は、上記実施例を踏まえて説明するものである。
【0033】
本実施例における3次元モーファブルモデルは、デュアル主成分分析(Principal Component Analysis、PCA)モデルと単PCAモデルで構成され、
図2Bに示されたように、当該デュアルPCAモデルは、主に3次元顔再構築プロセスにおける顔外形及び表情の変化をモデリングするために使用され、当該単PCAモデルは、主に3次元顔再構築プロセスにおける顔アルベドの変化をモデリングするために使用される。
【0034】
本実施例におけるデュアルPCAモデルには、3次元平均顔、顔の形変化を表す第1の主成分基底および顔の表情変化を表す第2の主成分基底が定義され、
【数2】
と表すことができ、
【数3】
はデュアルPCAモデルには定義された3次元平均顔であり、I
baseは顔の形変化を表す第1の主成分基底であり、E
baseは顔の表情変化を表す第2の主成分基底であり、αは再構築されるべき顔画像に対して3次元顔再構築を行う際に推定する必要がある第1の主成分基底の変化を示すための顔アイデンティティパラメータであり、δは、再構築されるべき顔画像に対して3次元顔再構築を行う際に推定する必要がある第2の主成分基底の変化を示すための顔表情パラメータである。
【0035】
本実施例における単PCAモデルには、顔平均アルベド及び顔アルベド変化を表す第3の主成分基底が定義され、
【数4】
と表すことができ、
【数5】
は単PCAモデルには定義された顔平均アルベドであり、T
base
は単PCAモデルには顔アルベド変化を表す第3の主成分基底であり、βは再構築されるべき顔画像に対して3次元顔再構築を行う際に推定する必要がある第3の主成分基底の変化を示すためのアルベドパラメータであり、当該アルベドパラメータには、顔画像における複数の頂点のRGB色情報が含まれ、3次元顔再構築時の色再構築を実現する。
【0036】
また、3次元顔再構築時の3次元詳細特徴を保証するために、顔の光照射変化を表す光照射パラメータγ、顔の移動を表す位置パラメータt、及び顔頭部の姿勢を表す回転パラメータpも定義されることができる。ここで、本実施例では、対応する光照射パラメータγを推定するために、球面調和照明を用いて3次元シーンにおける照明に近くする。
【0037】
したがって、3次元顔を正確に再構築するために、本実施例では3次元顔再構築に指定された再構築パラメータを(α、δ、β、γ、t、p)とすることができる。
【0038】
選択肢の一つとして、3次元顔再構築の正確性を保証するために、本実施例のデュアルPCAモデルにおける顔の形変化を表す第1の主成分基底の数量を80、顔の表情変化を表す第2の主成分基底の数を30、単PCAモデルにおける顔アルベド変化を表す第3の主成分基底の数を79、R、G、B3つのカラーチャンネルのそれぞれ9つのカラーパラメータを含む光照射パラメータの数を27に設定することができて、位置パラメータと回転パラメータの数はそれぞれ3であり、本実施例による主成分基底及び光照射パラメータの数は、一例であり、対応する再構築要件に応じて設定することができ、本実施例ではこれについて限定しない。
【0039】
図2Aに示されたように、本実施例では、主にデュアルPCAモデルと単PCAモデルで構成された3次元モーファブルモデルを用いて3次元顔再構築を行う再構築プロセスについて詳細に説明する。
【0040】
選択肢の一つとして、
図2Aに示されたように、本実施例は、以下のステップを含み得る。
【0041】
S210では、多次元データソースにおいて光照射が均一な3次元顔スキャンデータを収集し、3次元顔スキャンデータに対して変形分析、表情変化分析およびアルベド分析を行うことにより、3次元平均顔、顔平均アルベド、第1の主成分基底、第2の主成分基底および第3の主成分基底を得る。
【0042】
選択肢の一つとして、3次元顔再構築のリアルさに影響を与える主成分基底を正確に判断するために、本実施例では、まず3次元(3-Dimension、3D)スキャン技術を採用して大量の異なる人種、年齢、性別、肌色と表情などの多次元データソースにおいて光照射が均一な顔情報をスキャンすることにより、多次元データソースにおいて光照射が均一な3次元顔スキャンデータを収集し、この後、大量の3次元顔スキャンデータに対して対応する変形分析、表情変化分析とアルベド分析をそれぞれ行うことにより、対応する3次元平均顔及び顔平均アルベド、並びに顔の形変化を表す第1の主成分基底、顔の表情変化を表す第2の主成分基底及び顔アルベド変化を表す第3の主成分基底を得て、この後対応する3次元モーファブルモデルを構築して、顔画像に対して正確な3次元再構築を行う。
【0043】
S220では、顔画像訓練セットにおける各訓練サンプルを予め構築されたニューラルネットワークモデルに入力し、3次元顔再構築に指定された再構築パラメータを推定する。
【0044】
S230では、第1の主成分基底および第2の主成分基底にそれぞれ合致する再構築パラメータをデュアルPCAモデルに入力し、3次元平均顔を変形することにより、3次元変形顔を得る。
【0045】
選択肢の一つとして、訓練サンプルが3次元顔再構築を行う時の複数の再構築パラメータを推定した後、当該複数の再構築パラメータを3次元モーファブルモデルに入力して、3次元平均顔を変形し、この場合、当該3次元モーファブルモデルは、デュアルPCAモデルと単PCAモデルで構成され、異なるPCAモデルは異なる再構築機能を持っているが、デュアルPCAモデルは、主に3次元顔再構築プロセスにおける顔外形及び表情の変化をモデリングするために使用され、当該単PCAモデルは、主に3次元顔再構築プロセスにおける顔アルベドの変化をモデリングするために使用され、したがって、デュアルPCAモデルと単PCAモデルを順次に使用してサンプルを訓練して3次元顔再構築を行う。
【0046】
まず推定された再構築パラメータから、デュアルPCAモデルには定義された第1の主成分基底と第2の主成分基底にそれぞれ合致する再構築パラメータを選別し、さらに選別された再構築パラメータを当該デュアルPCAモデルに入力し、上記デュアルPCAモデルのモデル表現関数により、定義された3次元平均顔に対して対応する外形変化と表情変化を行うことで、対応する3次元変形顔を得て、この後、単PCAモデルを用いて当該3次元変形顔に対してアルベドの変化を続け、対応する3次元顔を再構築する。
【0047】
S240では、3次元変形顔および第3の主成分基底に合致する再構築パラメータを単PCAモデルに入力し、顔平均アルベドに基づいて3次元変形顔に対してアルベド修正を行うことにより、再構築後の3次元顔を得る。
【0048】
選択肢の一つとして、デュアルPCAモデルによって対応する3次元変形顔を得た後、推定された再構築パラメータから、単PCAモデルには定義された第3の主成分基底に合致する再構築パラメータを再度選別し、この後当該3次元変形顔および第3の主成分基底に合致する再構築パラメータの両方を単PCAモデルに入力し、上記単PCAモデルのモデル表現関数を用いて、顔■准アルベドに基づいて、当該3次元変形顔に対してアルベド修正を行うことにより、再構築後の3次元顔を得る。
【0049】
また、3次元顔の3次元詳細特徴を保証するために、3次元モーファブルモデルには定義された光照射パラメータ、位置パラメータ、及び回転パラメータを用いて当該3次元顔を最適化することもできる。
【0050】
S250では、3次元顔と訓練サンプルとの間の複数の2次元監視情報における複数の損失関数を計算し、各損失関数に対応する重みを調整する。
【0051】
S260では、各損失関数および各損失関数に対応する重みに基づいてフィッティング損失関数を生成し、フィッティング損失関数を用いてニューラルネットワークモデルを逆補正することにより、訓練後のパラメータ推定モデルを得る。
【0052】
本実施例による技術案では、パラメータ推定モデルの訓練プロセスにおいて、デュアルPCAモデルを用いて3次元モーファブルモデルを構築することにより、3次元顔再構築の正確性を保証し、さらに再構築後の3次元顔と訓練サンプルとの間の複数の2次元監視情報における損失を可能な限り再構築パラメータの推定ミスに反映させ、複数の2次元監視情報における損失関数によってパラメータ推定モデルを訓練することにより、訓練プロセスにおける参照情報をより全面的かつ正確にし、3次元顔再構築時に用いられる再構築パラメータの推定の正確性を高める。
【0053】
実施例3
図3Aは、本出願の実施例3によるパラメータ推定モデルの訓練方法のフローチャートであり、
図3Bは、本出願の実施例3によるパラメータ推定モデルの訓練プロセスの原理概略図である。本実施例は、上記実施例を踏まえて説明するものである。
図3Aに示されたように、本実施例では、複数の2次元監視情報における損失関数は、画像画素損失関数、キーポイント損失関数、アイデンティティ特徴損失関数、アルベドペナルティ関数および3次元顔再構築に指定された再構築パラメータにおける目標再構築パラメータに対応する正則化項を含み得て、本実施例では、主に訓練プロセスにおいてパラメータ推定モデルが参照する複数の2次元監視情報における損失関数の設定方法について説明する。
【0054】
選択肢の一つとして、
図3Aに示されたように、本実施例は、以下のステップを含み得る。
【0055】
S301では、顔画像訓練セットにおける各訓練サンプルを予め構築されたニューラルネットワークモデルに入力し、3次元顔再構築に指定された再構築パラメータを推定し、再構築パラメータを予め構築された3次元モーファブルモデルに入力することにより、訓練サンプルに対応する3次元顔を再構築する。
【0056】
S302では、訓練サンプルから皮膚マスクを分割する。
【0057】
選択肢の一つとして、マスクは、画素値0と1からなるバイナリイメージであり、本実施例では、画像画素損失関数を設定する際に、訓練プロセスにおける画像画素損失の正確性を保証するために、訓練サンプルに皮■マスクを適用することにより、訓練サンプルにおける顔皮膚領域の画素値をすべて1に設定し、非顔皮膚領域の画素値をすべて0に設定することができ、したがって、皮膚分割アルゴリズムを用いて訓練サンプルから対応する顔皮膚領域を正確に分割し、非顔皮膚領域内の画素特徴による3次元顔再構築への干渉を避けることができる。
【0058】
S303では、皮膚マスクに基づいて、3次元顔と訓練サンプルにおいて顔皮膚領域内にある同一画素点の画素誤差を計算することにより、対応する画像画素損失関数を得る。
【0059】
選択肢の一つとして、訓練サンプルから皮膚マスクを分割した後、再構築された3次元顔と訓練サンプルから同じ画素位置の画素点を見つけることができ、次に、分割された皮膚マスクに基づいて、各同一画素点が顔皮膚領域内にあるかどうかを正確に判断することができ、3次元顔と訓練サンプルにおいて顔皮膚領域内にある各画素点の画素誤差を計算することにより、顔皮膚領域内における3次元顔と訓練サンプルの全体の画素誤差を分析し、画像画素損失関数を得て、当該画像画素損失関数は、再構築前後の顔皮膚領域内の画素誤差のみを比較し、非顔皮膚領域の画素影■を遮蔽し、推定された再構築パラメータにおける顔アイデンティティ特徴とアルベド情報をより正確にする。
【0060】
例示的に、本実施例における画像画素損失関数は、以下のようになり、即ち、
【数6】
、ここで、
【数7】
はi番目の訓練サンプルにおける画素点(j、k)の画素値であり、
【数8】
はi番目の訓練サンプルに対して再構築された3次元顔における画素点(j、k)の画素値であり、M
jkは皮膚マスクにおける画素点(j、k)の画素値であり、皮膚マスクにおいて顔皮膚領域内にある画素点のM
jkは1であり、そうでなければ0である。
【0061】
S304では、訓練サンプルからプリセット位置におけるキー特徴点を抽出し、各キー特徴点の可視性を確定する。
【0062】
選択肢の一つとして、再構築された3次元顔におけるキー特徴点と訓練サンプルにおけるキー特徴点が1対1で対応することを保証するために、本実施例では、訓練プロセスにおけるキーポイント損失関数を設定する際、Landmarkアルゴリズムを用いて訓練サンプルから出複数の顔領域内のプリセット位置におけるキー特徴点を抽出することができ、例えば、顔輪郭の17個のキー特徴点、左右の眉の5つのキー特徴点、左右の目の6つのキー特徴点、鼻の9つのキー特徴点、口の20個のキー特徴点を抽出する。例示的に、本実施例では、
図3Dに示されたように、合計68のキー特徴点を採用することができる。異なる訓練サンプルにおいて顔頭部の姿勢が異なるため、いくつかのプリセット位置におけるキー特徴点が見えない可能性があるので、訓練サンプルから複数のプリセット位置におけるキー特徴点を抽出した後、各キー特徴点が見えるかどうかを判断する必要があり、この後、様々な頭部姿勢における訓練サンプルの再構築を実現するために、目に見えるキー特徴点の再構築の状況に対する損失判断のみが必要となる。
【0063】
S305では、3次元顔と訓練サンプルとの間の各目に見えるキー特徴点の位置再構築誤差を計算することにより、キーポイント損失関数を得る。
【0064】
選択肢の一つとして、複数の目に見えるキー特徴点を確定した後、再構築された3次元顔と訓練サンプルにおける各目に見えるキー特徴点の画素位置が一致するかどうかを分析することにより、再構築前後の各目に見えるキー特徴点の位置再構築誤差を計算し、対応するキーポイント損失関数を得る。訓練サンプルにおいて頭部の回転角度が大きい顔について、対応するキーポイント再構築損失を計算するために、目に見える半分のキー特徴点を選択する必要があり、目に見えないキー特徴点は、キーポイント再構築の損失計算に関与しない。
【0065】
また、訓練プロセスにおいて、再構築後の3次元顔と訓練サンプルにおける頭部姿勢が異なることがあるので、3次元顔と訓練サンプルにおける同一画素点の対応を保証するために、本実施例では、再構築後の3次元顔においてキー特徴点を動的に選択する方法を採用することにより、訓練サンプルにおける複数の目に見えるキー特徴点に合致する頂点を確定する。例示的に、3次元顔における頭部姿勢に基づいて、3次元顔から各目に見えるキー特徴点に合致する3次元メッシュ頂点を動的に選択し、3次元顔における当該3次元メッシュ頂点の位置情報を当該目に見えるキー特徴点の再構築位置として、3次元顔と訓練サンプルとの間の当該目に見えるキー特徴点の位置再構築誤差を計算する。
【0066】
まず、再構築された3次元顔における頭部移動位置や回転角度などの頭部姿勢を分析し、次に、当該3次元顔における頭部姿勢および各目に見えるキー特徴点に代表される顔部位に基づいて、当該3次元顔から各目に見えるキー特徴点に合致する3次元メッシュ頂点を働的に選択し、
図3Cに示されたように、3次元顔における当該3次元メッシュ頂点の位置情報を、当該目に見えるキー特徴点の再構築位置とし、上記のように3次元顔における各目に見えるキー特徴点の再構築位置を計算し、この後、3次元顔と訓練サンプルとの間の各目に見えるキー特徴点の位置再構築誤差を計算する。
【0067】
例示的に、本実施例におけるキーポイント損失関数は、以下のようになり、即ち、
【0068】
【数9】
、ここで、
【数10】
はi番目の訓練サンプルにおけるj番目のキー特徴点の位置座標であり、
【数11】
はi番目の訓練サンプルに対して再構築された3次元顔におけるj番目のキー特徴点の位置座標であり、v
ijはj番目のキー特徴点の可視性であり、目に見えるキー特徴点の値は1であり、目に見えない特徴点の値は0であり、w
jはj番目のキー特徴点の損失関数における重みであり、異なる顔部位(例えば目、口、輪郭点など)に対してそれぞれ異なる重みを採用し、これらの重みはw
jの大きさを調整することによって制御される。
【0069】
S306では、訓練サンプルと再構築後の3次元顔のそれぞれを予め構築された顔認識モデルに入力することにより、訓練サンプルに対応する第1のアイデンティティ特徴、および3次元顔に対応する第2のアイデンティティ特徴を得る。
【0070】
選択肢の一つとして、アイデンティティ特徴損失関数について、実質的には再構築前後のアイデンティティ特徴が変化するかどうかを分析するものであり、したがって、本実施例では、アイデンティティ特徴認識に対して、対応する顔識別モデルを予め構築し、当該顔認識モデルによって再構築前後のアイデンティティ特徴を抽出することができる。
図3Bに示されたように、まず訓練サンプルと再構築後の3次元顔のそれぞれを当該顔認識モデルに入力し、当該顔認識モデルによって訓練サンプルと3次元顔における顔特徴を分析することにより、訓練サンプルに対応する第1のアイデンティティ特徴および3次元顔に対応する第2のアイデンティティ特徴を確定し、この後、再構築前後のアイデンティティ特徴に誤差があるかどうかを判断する。
【0071】
また、訓練サンプルにおける顔頭部の姿勢には、訓練サンプルにおける顔領域の一部が見えない回転角度が存在する可能性があり、単一の角度で抽出されたアイデンティティ特徴には一定のミスが存在する可能性があるので、第1のアイデンティティ特徴の正確性を保証するために、本実施例では、以下のようなステップを用いて訓練サンプルに対応する第1のアイデンティティ特徴を計算することもでき、即ち、マルチアングルで撮影された、訓練サンプルと同じ顔を有する複数の顔画像を収集し、複数の顔画像のそれぞれを予め構築された3次元モーファブルモデルに入力し、各顔画像に対応するアイデンティティサブ特徴を抽出するステップ、及び抽出された複数のアイデンティティサブ特徴を統合することにより、訓練サンプルに対応する第1のアイデンティティ特徴を得るステップである。
【0072】
訓練サンプルにおける顔を分析し、マルチアングルで当該訓練サンプルと同じ顔を有する複数の顔画像を撮影し、そして、マルチアングルで撮影された顔画像のそれぞれを当該3次元モーファブルモデルに入力し、当該3次元モーファブルモデルにおける顔の形変化を表す第1の主成分基底によって、複数の顔画像に対してアイデンティティ特徴の抽出を行うことにより、各顔画像に対応するアイデンティティサブ特徴を得て、この時点で、複数のアイデンティティサブ特徴に対して特徴統合を行い、当該訓練サンプルに対応する第1のアイデンティティ特徴を得て、当該第1のアイデンティティ特徴の全面性と正確性を保証する。
【0073】
S307では、第1のアイデンティティ特徴と第2のアイデンティティ特徴との類似度に基づいて、アイデンティティ特徴損失関数を計算する。
【0074】
選択肢の一つとして、訓練サンプルに対応する第1のアイデンティティ特徴および3次元顔に対応する第2のアイデンティティ特徴を得た後、再構築前後のアイデンティティ特徴に誤差があるかどうかを分析するために、まず第1のアイデンティティ特徴と第2のアイデンティティ特徴との類似性を判断し、さらに当該類似性に基づいて対応するアイデンティティ特徴損失関数を計算する。
【0075】
例示的に、本実施例におけるアイデンティティ特徴損失関数は、以下のようになり、即ち、
【数12】
、ここで、
【数13】
はi番目の訓練サンプルに対応する第1のアイデンティティ特徴であり、
【数14】
はi番目の訓練サンプルに対して再構築された3次元顔に対応する第2のアイデンティティ特徴である。
【0076】
S308では、3次元顔における各頂点のアルベドを計算する。
【0077】
選択肢の一つとして、本実施例では、訓練サンプルにおける複数の画素点の色および反射光強度などの情報を検出することにより、複数の画素点のアルベドを算出することができ、この後、再構築後の3次元顔における各頂点と訓練サンプルにおける複数の画素点との位置マッチングの状況に応じて、再構築された3次元顔における各頂点のアルベドを設定し、再構築前後の顔アルベドの一致性を保証することができる。
【0078】
S309では、3次元顔における複数の頂点のアルベドとプリセットアルベド区間とに基づいて、アルベドペナルティ関数を計算する。
【0079】
選択肢の一つとして、再構築後に3次元顔における頂点のアルベドが暗すぎず、明るすぎないようにするために、本実施例では3次元顔における頂点のアルベドを調整し、本実施例では、合理的なプリセットアルベド区間を予め設定し、本実施例におけるプリセットアルベド区間を、再構築後の3次元顔における複数の頂点のアルベドがすべて当該プリセットアルベド区間内に収まるように[0.05、0.95]とすることができ、したがって、3次元顔における各頂点のアルベドが当該プリセットアルベド区間内にあるかどうかを分析することにより、対応するアルベドペナルティ関数を計算することができ、訓練プロセスにおいて再構築後の3次元顔のアルベドを絶えず最適化する。
【0080】
例示的に、本実施例におけるアルベドペナルティ関数は、
【数15】
になり、ここで、T
i,jはi番目の訓練サンプルにおけるj番目の画素点のアルベドであり、
【数16】
はi番目の訓練サンプルに対して再構築された3次元顔におけるj番目の画素点のアルベドである。
【0081】
本実施例におけるS302およびS303は、画像画素損失関数の計算ステップであり、S304およびS305は、キーポイント損失関数の計算ステップであり、S306およびS307は、アイデンティティ特徴損失関数の計算ステップであり、S308およびS309は、アルベドペナルティ関数の計算ステップであり、本実施例では、画像画素損失関数、キーポイント損失関数、アイデンティティ特徴損失関数およびアルベドペナルティ関数に対応する計算ステップは、同時に実行されてもよいし、順次に実行されてもよく、これについて限定しない。
【0082】
S310では、各損失関数に対応する重みを調整する。
【0083】
S311では、各損失関数および各損失関数に対応する重みに基づいてフィッティング損失関数を生成し、フィッティング損失関数を用いてニューラルネットワークモデルを逆補正することにより、訓練後のパラメータ推定モデルを得る。
【0084】
本実施例による技術案では、訓練サンプルには、皮膚マスクとキー特徴点を動的に選択する方法を採用して、複数の2次元監視情報における複数の損失関数のうちの個別の損失関数を最適化することにより、パラメータ推定モデルの訓練の正確性を保証し、複数の2次元監視情報における損失関数によってパラメータ推定モデルを訓練することで、訓練プロセスにおいて参照情報を更に全面的にして、3次元顔再構築時に用いられる再構築パラメータの推定の正確性を高める。
【0085】
実施例4
図4は、本出願の実施例4によるパラメータ推定モデルの訓練装置の構造概略図であり、
図4に示されたように、当該装置は、
顔画像訓練セットにおける各訓練サンプルを予め構築されたニューラルネットワークモデルに入力し、3次元顔再構築に指定された再構築パラメータを推定し、前記再構築パラメータを予め構築された3次元モーファブルモデルに入力することにより、前記訓練サンプルに対応する3次元顔を再構築するように構成される3次元再構築モジュール410と、前記3次元顔と前記訓練サンプルとの間の複数の2次元監視情報における複数の損失関数を計算し、各損失関数に対応する重みを調整するように構成される損失関数計算モジュール420と、各損失関数および各損失関数に対応する重みに基づいてフィッティング損失関数を生成し、前記フィッティング損失関数を用いて前記ニューラルネットワークモデルを逆補正することにより、訓練後のパラメータ推定モデルを得るように構成されるモデル訓練モジュール430と、を含み得る。
【0086】
本実施例による技術案では、3次元顔再構築時に特に使用される複数の再構築パラメータに対して、対応するニューラルネットワークモデルを予め構築し、顔画像訓練セットにおける各訓練サンプルを当該ニューラルネットワークモデルに入力することにより、当該訓練サンプルが3次元顔再構築時に必要な再構築パラメータを推定し、当該再構築パラメータを予め構築された3次元モーファブルモデルに入力し、当該訓練サンプルに対応する3次元顔を再構築し、3次元顔と訓練サンプルとの間の複数の2次元監視情報における複数の損失関数を計算し、各損失関数に対応する重みを調整することによって、当該ニューラルネットワークモデルの訓練時のフィッティング損失関数を生成することができ、当該フィッティング損失関数は、3次元顔を再構築する前に追加の3次元顔情報を参照することなく、複数の監視情報における2次元顔情報を利用するだけで、当該ニューラルネットワークモデルを絶えず逆補正し、訓練後のパラメータ推定モデルを得ることができ、これにより、3次元顔再構築において対応する再構築パラメータを推定するために用いられるパラメータ推定モデルの訓練方法を最適化し、複数の2次元監視情報における損失関数によってパラメータ推定モデルを訓練することで、訓練プロセスにおいて参照情報を更に全面的にして、3次元顔再構築時に用いられる再構築パラメータの推定の正確性を高める。同時に、この後に訓練後のパラメータ推定モデルを用いて3次元顔再構築時の再構築パラメータを推定し、再構築されるべき顔画像の3次元モーファブルモデルにおける変形プロセスをより正確にし、3次元顔再構築の正確性を保証し、3次元顔再構築プロセスに追加の情報機器を配置する必要がなくなり、3次元顔再構築の作業複雑性を低減する。
【0087】
本実施例によるパラメータ推定モデルの訓練装置は、上記のいずれかの実施例によるパラメータ推定モデルの訓練方法にも適用可能であり、対応する機能及び効果を有する。
【0088】
実施例5
図5は、本出願の実施例5によるコンピュータデバイスの構造概略図であり、
図5に示されたように、当該デバイスは、プロセッサ50、記憶装置51及び通信装置52を含む。デバイスに含まれたプロセッサ50の数は、1つ以上であってもよく、
図5では1つのプロセッサ50を例にする。デバイスに含まれたプロセッサ50、記憶装置51及び通信装置52は、バス又は他の方法で接続されることができ、
図5ではバスによる接続を例にする。
【0089】
本実施例によるコンピュータデバイスは、上記のいずれかの実施例によるパラメータ推定モデルの訓練方法を実行するように構成されてもよく、対応する機能及び効果を有する。
【0090】
実施例6
本出願の実施例6では、コンピュータ可読記憶媒体をさらに提供し、コンピュータプログラムが記憶され、当該プログラムがプロセッサによって実行されるとき、上記のいずれかの実施例によるパラメータ推定モデルの訓練方法を実現することができる。当該方法は、
顔画像訓練セットにおける各訓練サンプルを予め構築されたニューラルネットワークモデルに入力し、3次元顔再構築に指定された再構築パラメータを推定し、前記再構築パラメータを予め構築された3次元モーファブルモデルに入力することにより、前記訓練サンプルに対応する3次元顔を再構築することと、前記3次元顔と前記訓練サンプルとの間の複数の2次元監視情報における複数の損失関数を計算し、各損失関数に対応する重みを調整することと、各損失関数および各損失関数に対応する重みに基づいてフィッティング損失関数を生成し、前記フィッティング損失関数を用いて前記ニューラルネットワークモデルを逆補正することにより、訓練後のパラメータ推定モデルを得ることと、を含み得る。
【0091】
本出願の実施例では、コンピュータ実行可能命令を含む記憶媒体をさらに提供し、コンピュータ実行可能命令は、上述した方法における動作だけでなく、本出願のいずれかの実施例によるパラメータ推定モデルの訓練方法における関連動作を実行することができる。
【0092】
コンピュータ可読記憶媒体は、非一時的な記憶媒体であってもよい。
【0093】
以上の実施形態に関する説明により、本出願はソフトウェアおよび必要な汎用ハードウェアによって実現されることができ、ハードウェアによって実現されることもできる。本出願の技術案は、本質的にはソフトウェア製品として具現化することができ、当該コンピュータソフトウェア製品は、コンピュータのフロッピーディスク、読み取り専用メモリ(Read-Only Memory、ROM)、ランダム・アクセス・メモリ(Random Access Memory、RAM)、フラッシュ(FLASH)、ハードディスクまたは光ディスクなどのコンピュータ可読記憶媒体に記憶されることができ、1台のコンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイスなどであってもよい)に、本出願の実施例に記載された方法を実行させるための複数の命令を含む。
【0094】
上記パラメータ推定モデルの訓練装置の実施例では、含まれる複数のユニット及びモジュールは、機能論理に従って区分されたものであるが、上記の区分に限定されるものではなく、対応する機能を実現できればよい。なお、複数の機能ユニットの名称は、相互の区別を容易にするためのものであり、本出願の保護範囲を限定するものではない。