(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024011713
(43)【公開日】2024-01-25
(54)【発明の名称】表情アニメーションデータ生成装置およびそのプログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20240118BHJP
【FI】
G06T19/00 A
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2022113948
(22)【出願日】2022-07-15
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】箱▲崎▼ 浩平
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050AA10
5B050BA09
5B050CA08
5B050DA04
5B050DA07
5B050EA09
5B050EA19
5B050EA27
(57)【要約】
【課題】顔の表情をより正確に表現するとともに、CGソフトウェア上で動作や変更が可能なアニメーションデータを生成する表情アニメーションデータ生成装置を提供する。
【解決手段】表情アニメーションデータ生成装置1は、顔画像変換モデルを用いて、動画像を構成する人物顔画像をキャラクタ顔画像に変換する顔画像変換部21と、表情制御パラメータ生成モデルを用いて、キャラクタ顔画像から表情制御パラメータを生成する表情制御パラメータ生成部22と、表情制御パラメータを予め定めた形式のアニメーションデータに変換するアニメーションデータ変換部23と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
連続する人物顔画像で構成された動画像から、顔の表情をパラメータ化したCGのアニメーションデータを生成する表情アニメーションデータ生成装置であって、
人物顔画像をCGのキャラクタ顔画像に変換する予め学習されたニューラルネットワークで構成された顔画像変換モデルを用いて、前記動画像を構成する人物顔画像をキャラクタ顔画像に変換する顔画像変換部と、
前記キャラクタ顔画像から顔の各部位の制御状態を示すパラメータ値で構成された表情制御パラメータを生成する予め学習されたニューラルネットワークで構成された表情制御パラメータ生成モデルを用いて、前記キャラクタ顔画像から前記表情制御パラメータを生成する表情制御パラメータ生成部と、
前記表情制御パラメータを予め定めた形式の前記アニメーションデータに変換するアニメーションデータ変換部と、
を備えることを特徴とする表情アニメーションデータ生成装置。
【請求項2】
前記表情制御パラメータを構成するパラメータ値は、前記キャラクタ顔画像の顔の部位をコントローラで制御するリグの値であることを特徴とする請求項1に記載の表情アニメーションデータ生成装置。
【請求項3】
前記表情制御パラメータ生成モデルは、前記表情制御パラメータの各パラメータ値を、正規化して出力するように学習されたモデルであって、
前記アニメーションデータ変換部は、前記表情制御パラメータ生成部で生成される正規化された各パラメータ値を、予め定めた最小値および最大値の範囲の値にスケール変換して、前記アニメーションデータとすることを特徴とする請求項1に記載の表情アニメーションデータ生成装置。
【請求項4】
コンピュータを、請求項1から請求項3のいずれか一項に記載の表情アニメーションデータ生成装置として機能させるための表情アニメーションデータ生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表情アニメーションデータ生成装置およびそのプログラムに関する。
【背景技術】
【0002】
聴覚障害者のために、手話通訳、手話放送といった手話サービスが一般的に行われている。また、近年では、手話サービスの拡充のため、手話CG(コンピュータグラフィックス)を用いたCGアニメーションによる手話の研究が進められている。
手話は、同じ手指動作でも異なる意味を持つ手話表現を人の表情によって区別している。そのため、手話用のCGアニメーションの生成には、表情をより正確に表現させることが重要となる。
【0003】
従来、人の手話表現の動作データを、光学式のモーションキャプチャを用い、BVH(Biovision Hierarchy)形式で取得する手法が開示されている(特許文献1参照)。
また、人の顔が映った画像から、フェイススワッピング(FaceSwapping)の技術を利用して、入力である人の顔画像と同じ表情をしたCGキャラクタの顔画像を生成し、そのCGキャラクタの表情を制御するためのブレンドシェイプ値を取得する手法が開示されている(非特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【非特許文献1】Lucio Moser, “Semi-supervised video-driven facial animation transfer for production”, ACM Transactions on Graphics, Volume40, Issue 6, No.222, December 2021
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1に記載の手法は、動作データを取得するために利用する光学式モーションキャプチャの機材等にコストがかかり、容易に多数のアニメーションデータを取得することができない。また、光学式モーションキャプチャでは、人物の表情の詳細な動きを取得することができず、手話で必要な表情をCGモデルが再現しきれないという問題がある。
【0007】
また、非特許文献1に記載の手法は、画像からCGモデルの表情を制御するためのブレンドシェイプ値を取得することはできる。しかし、ブレンドシェイプ値は、複数あるCGキャラクタの表情パターンのうち、どれを組み合わせるかを示す係数であるが、どのように値を変更すれば、目的となるCGキャラクタの表情を作成できるかが直観的に把握しづらい。つまり、従来のようなブレンドシェイプ値の推定だけでは、CGキャラクタの表情修正作業が困難になるという問題がある。
【0008】
本発明は、このような問題に鑑みてなされたもので、顔の表情をより正確に表現するとともに、CGソフトウェア上で動作や変更が可能なアニメーションデータを生成する表情アニメーションデータ生成装置およびそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【0009】
前記課題を解決するため、本発明に係る表情アニメーションデータ生成装置は、連続する人物顔画像で構成された動画像から、顔の表情をパラメータ化したCGのアニメーションデータを生成する表情アニメーションデータ生成装置であって、顔画像変換部と、表情制御パラメータ生成部と、アニメーションデータ変換部と、を備える構成とした。
【0010】
かかる構成において、表情アニメーションデータ生成装置は、顔画像変換部によって、顔画像変換モデルを用いて、動画像を構成する人物顔画像をキャラクタ顔画像に変換する。ここで、顔画像変換モデルは、人物顔画像をCGのキャラクタ顔画像に変換する予め学習されたニューラルネットワークである。
これによって、顔画像変換部は、実写の人物顔画像をアニメーションで表示されるキャラクタの顔画像に変換することができ、人物の顔表情をキャラクタの顔画像として正確に再現することができる。
【0011】
そして、表情アニメーションデータ生成装置は、表情制御パラメータ生成部によって、表情制御パラメータ生成モデルを用いて、キャラクタ顔画像から表情制御パラメータを生成する。ここで、表情制御パラメータ生成モデルは、キャラクタ顔画像から顔の各部位の制御状態を示すパラメータ値で構成された表情制御パラメータを生成する予め学習されたニューラルネットワークである。
これによって、表情制御パラメータ生成部は、キャラクタ顔画像から、顔の各部位の制御状態を示すパラメータ値を表情制御パラメータとして生成することができる。
【0012】
そして、表情アニメーションデータ生成装置は、アニメーションデータ変換部によって、表情制御パラメータを時系列に連結した予め定めた形式のアニメーションデータに変換する。
これによって、表情アニメーションデータ生成装置が生成するアニメーションデータは、一般的なCGソフトウェアで動作を確認することができる。また、このアニメーションデータは、表情制御パラメータで構成されているため、パラメータ値を変更するだけで、顔の表情を変更することができる。
なお、表情アニメーションデータ生成装置は、コンピュータを、前記した各部として機能させるための表情アニメーションデータ生成プログラムで動作させることができる。
【発明の効果】
【0013】
本発明によれば、顔の表情をより正確に表現するとともに、CGソフトウェア上で動作や変更が可能なアニメーションデータを生成することができる。
【図面の簡単な説明】
【0014】
【
図1】本発明の実施形態に係る表情アニメーションデータ生成装置の構成を示すブロック構成図である。
【
図2】顔画像変換モデルの構成例を説明するための説明図である。
【
図3】表情制御パラメータ生成モデルの構成を説明するための説明図である。
【
図4】CGソフトウェアで使用するリグ値(表示制御パラメータ)を画面上で制御するコントローラの一例を示す図である。
【
図5】コントローラ内の制御ブロックのリグ値のレンジを説明するための説明図であって、(a)は左の眉毛を制御する制御ブロック、(b)は左鼻を制御する制御ブロックの例を示す。
【
図6】表情制御パラメータ生成モデルの具体例を説明するための説明図である。
【
図7】表情制御パラメータからアニメーションデータを生成する手法を説明するための説明図である。
【
図8】本発明の実施形態に係る表情アニメーションデータ生成装置の動作を示すフローチャートである。
【
図9】顔画像変換モデルを学習するための学習データセットの例を示す顔画像群である。
【
図10】顔画像変換モデルを学習する手法を説明するための説明図である。
【
図11】アニメーションデータから表情生成パラメータを生成する手法を説明するための説明図である。
【
図12】表情制御パラメータ生成モデルを学習する手法を説明するための説明図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態について図面を参照して説明する。
[表情アニメーションデータ生成装置の構成]
図1を参照して、本発明の実施形態に係る表情アニメーションデータ生成装置1の構成について説明する。
【0016】
表情アニメーションデータ生成装置1は、連続する人物顔画像で構成された動画像から、顔の表情をパラメータ化したCGのアニメーションデータを生成するものである。
表情アニメーションデータ生成装置1は、記憶部10と制御部20とを備える。
【0017】
記憶部10は、ハードディスク、半導体メモリ等の一般的な記憶媒体である。
記憶部10は、顔画像変換モデル記憶部11と、表情制御パラメータ生成モデル記憶部12と、補助情報記憶部13と、を備える。なお、各記憶部は、同じ記憶媒体内に領域を区分して記憶される構成であってもよいし、異なる記憶媒体に記憶される構成であってもよい。
【0018】
顔画像変換モデル記憶部11は、人物顔画像をCGキャラクタの顔画像(キャラクタ顔画像)に変換する予め学習されたニューラルネットワークで構成された顔画像変換モデル(具体的には、ニューラルネットワークの構造、重み係数等)を記憶するものである。
顔画像変換モデルは、顔画像を変換させるフェイススワッピング(Face Swapping)モデルであって、具体的には、エンコーダ-デコーダ型のAE(オートエンコーダ)モデルである。
【0019】
ここでは、
図2に示すように、顔画像変換モデルM
Cは、人物顔画像I
Pを入力し、画像特徴量Zを出力するエンコーダE1と、エンコーダE1から出力される画像特徴量Zから、キャラクタ顔画像を出力するデコーダD2と、で構成される。この画像特徴量Zは,具体的には、512次元程度のベクトルである。
顔画像変換モデルM
Cは、
図2に示すように、人物顔画像I
P1,I
P2,I
P3,…を入力し、顔の表情のみが映ったキャラクタ顔画像I
CGEX1,I
CGEX2,I
CGEX3,…を出力する。この顔画像変換モデルM
Cの学習方法については後記する。
【0020】
表情制御パラメータ生成モデル記憶部12は、キャラクタ顔画像から、顔の各部位の制御状態を示すパラメータ値で構成された表情制御パラメータを生成する予め学習されたニューラルネットワークで構成された表情制御パラメータ生成モデル(具体的には、ニューラルネットワークの構造、重み係数等)を記憶するものである。
【0021】
図3に示すように、表情制御パラメータ生成モデルM
Pは、顔の表情のみが映ったキャラクタ顔画像I
CGEXを入力し、表情制御パラメータP
CTLを出力するエンコーダE2で構成される。
表情制御パラメータを構成するパラメータの値は、キャラクタ顔画像の顔の部位をCGソフトウェアで使用されるコントローラで制御するリグの値である(リグ値)である。
【0022】
リグ値は、例えば、
図4に示すような、操作画面上に表示して、操作者(アニメータ)がCGキャラクタの表情を制御するコントローラCTLの各制御領域の位置(◇印の位置)を示す値である。なお、リグ値は、予め定めた各制御領域の顔の部位を制御するパラメータである。
例えば、
図4の例では、制御領域BLは左眉を制御するパラメータ、制御領域BRは右眉を制御するパラメータ、制御領域ELは左目を制御するパラメータ、制御領域ERは右目を制御するパラメータ、制御領域NLは左鼻を制御するパラメータ、制御領域NRは右鼻を制御するパラメータ、制御領域CLは左頬を制御するパラメータ、制御領域CRは右頬を制御するパラメータ、制御領域MMは口を制御するパラメータ、制御領域MCLは左口端を制御するパラメータ、制御領域MCRは右口端を制御するパラメータ等である。
このコントローラCTLは、一例である。例えば、CGソフトウェアによっては、アニメータにより異なるコントローラを用いる場合もある。
【0023】
また、各制御領域は、その領域によって、位置座標が異なる。
例えば、
図5(a)に示す制御領域BLは、領域中心を(0,0)とし、水平方向のX座標の最大値を“1”、最小値を“-1”、垂直方向のY座標の最大値を“1”、最小値を“-1”としている。
図5(a)におけるリグ値(◇印の位置)は、(-1,0)となる。
また、
図5(b)に示す制御領域NLは、上辺の中心を(0,0)とし、水平方向のX座標の最大値を“1”、最小値を“-1”、垂直方向のY座標の最大値を“10”、最小値を“0”としている。
図5(b)におけるリグ値(◇印の位置)は、(0,10)となる。
このように、リグ値は、制御領域によって値の範囲が異なる。そこで、表情制御パラメータ生成モデルM
P(
図3)の出力は、最小値“0”から最大値“1”の範囲で正規化した値として表情制御パラメータP
CTL(リグ値)を出力するように予め学習しておく。
【0024】
すなわち、表情制御パラメータ生成モデルM
P(エンコーダE2)は、具体的には、
図6に示すように、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)で構成することができる。
表情制御パラメータ生成モデルM
Pは、入力層INにキャラクタ顔画像I
CGEXを入力し、全結合層となる出力層OUTから、表情制御パラメータP
CTLの個々の部位のパラメータP1,P2,P3,…の値を、[0,1]の範囲で出力するように予め学習しておく。
この表情制御パラメータ生成モデルM
Pの学習方法については後記する。
【0025】
補助情報記憶部13は、正規化されたパラメータ値で構成された表情制御パラメータPCTLを、アニメーションデータに変換するために必要となる補助情報を予め記憶するものである。
この補助情報は、生成するアニメーションデータのすべてのパラメータのリスト(全パラメータリスト)と、各パラメータの最小値および最大値を示す値のリスト(最小・最大値リスト)、表情制御パラメータPCTLに含まれないアニメーションデータのパラメータに対するデフォルトの値のリスト(デフォルト値リスト)が含まれる。
なお、使用するCGソフトや制御したいCGキャラクタが変わる場合は、それに合わせて補助情報を修正する必要がある。アニメーションデータを生成するためには、すべての補助情報が必須となる。
【0026】
制御部20は、表情アニメーションデータ生成装置1全体の制御を行うものである。制御部20は、ハードディスク、ROM等に記憶されたプログラム(表情アニメーションデータ生成プログラム)をメモリに展開し、コンピュータ(CPU)がプログラムを読み込んで、以下に説明する各部として機能させる。
制御部20は、顔画像変換部21と、表情制御パラメータ生成部22と、アニメーションデータ変換部23と、を備える。
【0027】
顔画像変換部21は、顔画像変換モデルを用いて、人物顔画像IPをCGキャラクタの顔画像(キャラクタ顔画像)に変換するものである。
顔画像変換部21は、動画像として入力されるフレームごとの人物顔画像IPを、順次、キャラクタ顔画像に変換する。
顔画像変換部21は、記憶部10の顔画像変換モデル記憶部11に記憶されているニューラルネットワークの顔画像変換モデルの入力層に人物顔画像IPを入力し、重み係数を用いて顔画像変換モデルの演算を行う。そして、顔画像変換部21は、顔画像変換モデルの出力層から出力される演算結果として、キャラクタ顔画像を生成する。
【0028】
これによって、顔画像変換部21は、
図2に示すように、顔画像変換モデルM
Cを用いて、順次入力される人物顔画像I
Pを顔の表情のみが映ったキャラクタ顔画像I
CGEXに変換することができる。
顔画像変換部21は、変換後のキャラクタ顔画像を、順次フレームごとに、表情制御パラメータ生成部22に出力する。
【0029】
表情制御パラメータ生成部22は、表情制御パラメータ生成モデルを用いて、顔画像変換部21から入力されるキャラクタ顔画像から、顔の各部位の制御状態を示すパラメータ値で構成された表情制御パラメータを生成するものである。
表情制御パラメータ生成部22は、記憶部10の表情制御パラメータ生成モデル記憶部12に記憶されているニューラルネットワークの表情制御パラメータ生成モデルの入力層にキャラクタ顔画像を入力し、重み係数を用いて表情制御パラメータ生成モデルの演算を行う。そして、表情制御パラメータ生成部22は、表情制御パラメータ生成モデルの出力層から出力される演算結果として、表情制御パラメータを生成する。
【0030】
これによって、表情制御パラメータ生成部22は、
図3,
図6に示すように、表情制御パラメータ生成モデルM
Pを用いて、順次入力されるキャラクタ顔画像I
CGEXから、[0,1]の範囲のパラメータP1,P2,P3,…の値で構成される表情制御パラメータP
CTLを生成することができる。
表情制御パラメータ生成部22は、生成した表情制御パラメータを、順次フレームごとに、アニメーションデータ変換部23に出力する。
【0031】
アニメーションデータ変換部23は、表情制御パラメータを予め定めた形式のアニメーションデータに変換するものである。
ここでは、アニメーションデータ変換部23は、スケール変更部231と、パラメータ配列部232と、時系列配列部233と、を備える。
【0032】
スケール変更部231は、表情制御パラメータの個々のパラメータの値を、アニメーションデータで使用する元のスケールに変更するものである。
スケール変更部231は、補助情報記憶部13に記憶されている補助情報の1つである最小・最大値リストを参照し、個々のパラメータに対応する最小値と最大値とから、[0,1]の範囲で正規化されているパラメータの値を元のスケールに変換する。
例えば、あるパラメータの値をx、当該パラメータの最大値をmax、最小値をminとしたとき、スケール変更部231は、以下の式(1)により、xの元のレンジに対応する値yを算出する。
【0033】
【0034】
これによって、スケール変更部231は、表情制御パラメータの各パラメータの値を、コントロールリグに対応する値に変更することができる。
スケール変更部231は、スケールを変換した表情制御パラメータをパラメータ配列部232に出力する。
【0035】
パラメータ配列部232は、スケール変更部231でスケールが変更された表情制御パラメータを配列するものである。
パラメータ配列部232は、補助情報記憶部13に記憶されている補助情報の1つである全パラメータリストを参照し、全パラメータリストの順にスケールが変更された表情制御パラメータを配列する。なお、スケール変更部231から入力される表情制御パラメータ以外に、全パラメータリストに他のパラメータが定義されている場合、例えば、他のコントロールリグに対するパラメータが定義されている場合、パラメータ配列部232は、他のコントロールリグのパラメータについては、補助情報の1つであるデフォルト値リストを参照して、デフォルト値を配列する。
【0036】
これによって、パラメータ配列部232は、スケール変更部231から入力される1つのコントローラに対する表情制御パラメータ以外に、他のコントローラに対する表情制御パラメータの領域を確保したデータを生成することができる。
パラメータ配列部232は、スケール変更後の表情制御パラメータの値(コントロールリグ値)を配列したフレームごとのデータを時系列配列部233に出力する。
【0037】
時系列配列部233は、フレームごとに生成される表情制御パラメータの配列データを、時系列に配列するものである。
時系列配列部233は、パラメータ配列部232から入力されるフレームごとの表情制御パラメータの配列データを、時系列に配列することで、アニメーションデータを生成する。この時系列配列部233は、表情アニメーションデータ生成装置1に入力される人物顔画像IPが映った連続画像(動画像)に対応するフレーム数のアニメーションデータDAを生成する。
【0038】
ここで、
図7を参照(適宜
図1参照)して、アニメーションデータ変換部23の処理について具体的に説明する。
ここでは、説明を簡略化するため、表情制御パラメータP
CTLの個々のパラメータの数を2とする。例えば、1フレーム目の人物顔画像に対応する表情制御パラメータP
CTL1の1つ目のパラメータParam1-1の値が“0.143”、2つ目のパラメータParam1-2の値が“0”であるとする。また、2フレーム目の人物顔画像に対応する表情制御パラメータP
CTL2、3フレーム目の人物顔画像に対応する表情制御パラメータP
CTL3についても同様に、それぞれのパラメータParam1-1,Param1-2に値が設定されているものとする。
【0039】
また、補助情報記憶部13には、補助情報Rとして、最小・最大値リストLMAXMIN、全パラメータリストLALLP、デフォルト値リストLDEFが記憶されている。
最小・最大値リストLMAXMINには、パラメータParam1-1の最小値(min)“0.1”、最大値(max)“0.8”が設定されているものとする。同様に、最小・最大値リストLMAXMINには、パラメータParam1-2の最小値(min)“1”、最大値(max)“5”が設定されているものとする。
【0040】
全パラメータリストLALLPには、アニメーションデータで使用されるパラメータとして、Param1-1,Param1-2,Param2-1,Param2-2が設定されているものとする。なお、Param1-1,Param1-2は、コントロールリグR1のパラメータであり、Param2-1,Param2-2は、コントロールリグR2のパラメータであることとする。
デフォルト値リストLDEFには、表情制御パラメータPCTLには含まれないパラメータとして、Param2-1,Param2-2が設定され、それぞれのデフォルト値として“1”が設定されているものとする。
【0041】
この場合、スケール変更部231は、1フレーム目の表情制御パラメータPCTL1のパラメータParam1-1については、最小値(min)が“0.1”、最大値(max)が“0.8”であるため、前記式(1)により、パラメータParam1-1の値“0.143”をスケール変換し“0.2”とする。同様に、表情制御パラメータPCTL1のパラメータParam1-2については、最小値(min)が“1”、最大値(max)が“5”であるため、前記式(1)により、パラメータParam1-2の値“0”をスケール変換し“1”とする。
【0042】
パラメータ配列部232は、スケール変更部231で変換されたパラメータParam1-1の値“0.2”とParam1-2の値“1”とを、全パラメータリストLALLPの順に配列する。そして、パラメータ配列部232は、表情制御パラメータPCTL1に含まれていないパラメータParam2-1,Param2-2については、デフォルト値リストLDEFに設定されているデフォルト値“1”を配列する。これによって、アニメーションデータDAの1フレーム目に対応するデータが生成されることになる。
アニメーションデータDAの2フレーム以降についても同様に生成され、時系列配列部233がフレームごとのデータを時系列に配列することで、アニメーションデータDAを生成する。
【0043】
以上説明した構成によって、表情アニメーションデータ生成装置1は、連続する人物の顔が映った人物顔画像(動画像)から、顔の表情をより正確に表現するとともに、CGソフトウェア上で動作や変更が可能なコントロールリグで記述されたアニメーションデータを生成することができる。
【0044】
[表情アニメーションデータ生成装置の動作]
次に、
図8を参照(構成については適宜
図1参照)して、本発明の実施形態に係る表情アニメーションデータ生成装置1の動作について説明する。
なお、顔画像変換モデル記憶部11には、学習済の顔画像変換モデルが記憶され、表情制御パラメータ生成モデル記憶部12には、学習済の表情制御パラメータ生成モデルが記憶され、補助情報記憶部13には、表情制御パラメータをアニメーションデータに変換するために必要となる補助情報が予め記憶されているものとする。
【0045】
ステップS1において、顔画像変換部21は、顔画像変換モデル記憶部11に記憶されている顔画像変換モデルを用いて、動画像のフレームに相当する人物顔画像IPをCGキャラクタの顔画像(キャラクタ顔画像)に変換する。
【0046】
ステップS2において、表情制御パラメータ生成部22は、表情制御パラメータ生成モデル記憶部12に記憶されている表情制御パラメータ生成モデルを用いて、ステップS1で変換されたキャラクタ顔画像から、顔の各部位の制御状態を示すパラメータ値で構成された表情制御パラメータを生成する。この表情制御パラメータの各パラメータの値は、コントロールリグ値を[0,1]の範囲で正規化したものに相当する。
【0047】
ステップS3において、アニメーションデータ変換部23のスケール変更部231は、補助情報記憶部13に記憶されている最小・最大値リストを参照し、ステップS2で生成された表情制御パラメータの個々のパラメータの値を、アニメーションデータで使用する元のスケールに変更する。これによって、コントロールリグ値が生成されることになる。
【0048】
ステップS4において、アニメーションデータ変換部23のパラメータ配列部232は、補助情報記憶部13に記憶されている全パラメータリストを参照し、ステップS3でスケールが変更された表情制御パラメータを全パラメータリストの順番に配列する。
このとき、パラメータ配列部232は、ステップS3で変更された表情制御パラメータ以外に、他のパラメータが全パラメータリストに定義されている場合、補助情報記憶部13に記憶されているデフォルト値リストを参照して、デフォルト値を配列する。
【0049】
ステップS5において、アニメーションデータ変換部23の時系列配列部233は、ステップS4で配列された1フレーム分の表情制御パラメータを時系列に配列する。
ステップS6において、制御部20は、次フレームの人物顔画像が存在するか否かを判定する。ここで、次フレームの人物顔画像が存在する場合(ステップS6でYes)、制御部20は、ステップS1に戻って動作を続ける。
【0050】
一方、次フレームの人物顔画像が存在しない場合(ステップS6でNo)、ステップS7において、制御部20は、ステップS5でフレーム数分配列された表情制御パラメータをアニメーションデータとして出力する。
以上の動作によって、表情アニメーションデータ生成装置1は、人物顔画像(動画像)から、コントロールリグで記述されたアニメーションデータを生成することができる。
【0051】
[表情アニメーションデータ生成装置で使用するモデルの学習手法]
次に、表情アニメーションデータ生成装置1で使用するモデル(顔画像変換モデル,表情制御パラメータ生成モデル)の学習手法について説明する。
(顔画像変換モデルの学習)
まず、
図9,
図10を参照して、顔画像変換モデルM
C(
図2)の学習手法について説明する。
顔画像変換モデルM
Cの学習は、教師なし学習により行うことができる。
【0052】
まず、この学習手法は、
図9に示すように、特定の人物の様々な表情が撮影された複数の人物顔画像I
P(人物顔画像群I
PS)と、CGのキャラクタ(例えば、手話CGで使用するキャラクタ)の様々な表情をレンダリングした複数のキャラクタ顔画像I
CG(キャラクタ顔画像群I
CGS)とを、学習データセットとして準備する。なお、人物顔画像群I
PSとキャラクタ顔画像群I
CGSとは、表情を対応付ける必要はない。
【0053】
そして、この学習手法は、
図10に示すように、学習データセットの人物顔画像I
PをエンコーダE1に入力し、エンコーダE1から出力される画像特徴量Z1をデコーダD1に入力して、画像I
PEXを生成する。
【0054】
また、この学習手法は、人物顔画像IPからマスク画像MFCによって顔の表情のみの画像を切り出した画像と、画像IPEXとの間で損失(Loss)を最小化するように、エンコーダE1およびデコーダD1のパラメータを学習する。なお、マスク画像MFCは、人物顔画像IPから、一般的なランドマーク推定手法を用いて、人物の表情を示す顔の輪郭、目、口、鼻等の予め定めた特徴点であるランドマークを推定し、そのランドマークをすべて包含する最小の多角形(表情領域)の外側をマスク領域とする画像である。
【0055】
また、この学習手法は、学習データセットのキャラクタ顔画像ICGを人物顔画像IPと共通のエンコーダE1に入力し、エンコーダE1から出力される画像特徴量Z2をデコーダD2に入力して、画像ICGEXを生成する。
【0056】
また、この学習手法は、キャラクタ顔画像ICGからマスク画像MCGによって顔の表情のみの領域を切り出した画像と、画像ICGEXとの間で損失(Loss)を最小化するように、エンコーダE1およびデコーダD2のパラメータを学習する。
【0057】
なお、エンコーダE1に入力する人物顔画像IPおよびキャラクタ顔画像ICGに対して、それぞれ、回転、拡大/縮小、移動等のアフィン変換や、歪みを与える処理を与えることで、入力画像に変化を加えて学習を行うことが、変換精度を高める上で好ましい。
この学習手法によって学習を行ったエンコーダE1とデコーダD2とを連結して、顔画像変換モデルMCとする。
これによって、顔画像変換モデルMCは、人物顔画像IPを入力し、人物顔画像IPと同じ表情であり、かつ顔表情部分のみが映ったキャラクタ顔画像ICGEXを出力することが可能になる。
【0058】
(表情制御パラメータ生成モデルの学習)
次に、
図11,
図12を参照して、表情制御パラメータ生成モデルM
P(
図3)の学習手法について説明する。
表情制御パラメータ生成モデルM
Pの学習は、キャラクタ顔画像と、当該画像に対応する表情制御パラメータとをペアとする複数の学習データを用いて学習する。
【0059】
まず、この学習手法は、予め学習データを生成しておく。キャラクタ顔画像I
CGと表情制御パラメータP
CTLは、アニメーションデータD
Aから生成される。キャラクタ顔画像I
CGは、CGソフトウェア上でアニメーションデータD
Aを再生し、毎フレームでレンダリング処理を行うことで生成される。また、アニメーションデータD
Aから表情制御パラメータP
CTLを生成する手法(生成手法)は、
図7と同じデータで説明する。
この生成手法は、予めアニメーションデータD
Aから抽出するパラメータのリスト(キーパラメータリストL
KP)を準備しておく。ここでは、キーパラメータリストL
KPに、Param1-1,Param1-2が設定されているものとする。
【0060】
また、この生成手法は、各パラメータの最小値および最大値を示す値のリスト(最小・最大値リストLMAXMIN)を準備しておく。ここでは、最小・最大値リストLMAXMINには、パラメータParam1-1の最小値(min)“0.1、最大値(max)“0.8”が設定され、パラメータParam1-2の最小値(min)“1”、最大値(max)“5”が設定されているものとする。
【0061】
この生成手法は、アニメーションデータDAのフレーム(キャラクタ顔画像)ごとに、キーパラメータリストLKPに設定されているパラメータのみを抽出する。そして、この学習手法は、最小・最大値リストLMAXMINに設定されている最小値を“0”、最大値を“1”とするようにパラメータの値を正規化することで、フレーム(キャラクタ顔画像)に対応する表情制御パラメータPCTLを生成する。
例えば、この生成手法は、アニメーションデータDAの1フレーム目から、キーパラメータリストLKPに設定されているパラメータParam1-1,Param1-2の値である“0.2”と“1”とを抽出する。
【0062】
そして、この生成手法は、Param1-1の値“0.2”を最小・最大値リストLMAXMINに設定されている範囲で正規化することで“0.143”とし、Param1-2の値“1”を同様に正規化することで“0”とする。
これによって、1フレームの画像(キャラクタ顔画像)に対応する表情制御パラメータPCTL1-1を生成することができ、キャラクタ顔画像と表情制御パラメータとをペアとする学習データを生成することができる。他のフレームについても同様である。
【0063】
そして、この学習手法は、
図11に示すように、キャラクタ顔画像I
CGと、当該画像に対応する表情制御パラメータP
CTLとをペアとする複数の学習データを用いて表情制御パラメータ生成モデルM
Pの学習を行う。
この学習方法は、キャラクタ顔画像I
CGから顔の表情のみが映った領域(表情領域)を抽出し、キャラクタ顔画像I
CGEXを生成する。なお、この表情領域の抽出は、
図10で説明したマスク画像M
FC,M
CGと同様、一般的なランドマーク推定手法を用いて、顔の輪郭、目、口、鼻等の顔の特徴点をランドマークとして推定し、特徴点をすべて包含する最小の多角形の外側をマスク領域とするマスク画像を用いて抽出することができる。
【0064】
そして、この学習手法は、キャラクタ顔画像ICGから抽出した顔の表情のみが映ったキャラクタ顔画像ICGEXを、表情制御パラメータ生成モデルMPに入力し、キャラクタ顔画像ICGとペアとなる学習データの表情制御パラメータPCTLを出力するように表情制御パラメータ生成モデルMP(エンコーダE2)のパラメータを学習する。なお、このモデルのパラメータの学習には、誤差逆伝播法等を用いればよい。
これによって、表情制御パラメータ生成モデルMPは、顔の表情のみが映ったキャラクタ顔画像ICGEXを入力し、表情制御パラメータPCTLを出力することが可能になる。
【0065】
以上、本発明の実施形態について説明したが、本発明は、この実施形態に限定されるものではない。
例えば、ここでは、顔画像変換モデルを、人物顔画像から顔の表情以外をマスクしたキャラクタ顔画像を生成するモデルとした。
しかし、顔画像変換モデルが出力するキャラクタ顔画像は、顔の表情を含んでいれば、必ずしも顔の表情以外をマスクした画像である必要はない。
ただし、顔画像変換モデルが出力するキャラクタ顔画像は、表情制御パラメータの精度を高めるため、顔の表情以外をマスクしたキャラクタ顔画像であることが好ましい。
【符号の説明】
【0066】
1 表情アニメーションデータ生成装置
10 記憶部
11 顔画像変換モデル記憶部
12 表情制御パラメータ生成モデル記憶部
13 補助情報記憶部
20 制御部
21 顔画像変換部
22 表情制御パラメータ生成部
23 アニメーションデータ変換部
231 スケール変更部
232 パラメータ配列部
233 時系列配列部
MC 顔画像変換モデル
MP 表情制御パラメータ生成モデル
PCTL 表情制御パラメータ
CTL コントローラ