(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-02-28
(54)【発明の名称】顔再構築方法、装置、コンピュータデバイス、及び記憶媒体
(51)【国際特許分類】
G06T 17/00 20060101AFI20230220BHJP
G06T 7/00 20170101ALI20230220BHJP
G06T 13/40 20110101ALI20230220BHJP
【FI】
G06T17/00
G06T7/00 660A
G06T13/40
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022519295
(86)(22)【出願日】2021-06-25
(85)【翻訳文提出日】2022-03-25
(86)【国際出願番号】 CN2021102404
(87)【国際公開番号】W WO2022110790
(87)【国際公開日】2022-06-02
(31)【優先権主張番号】202011342169.7
(32)【優先日】2020-11-25
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】520291939
【氏名又は名称】北京市商▲湯▼科技▲開▼▲發▼有限公司
【氏名又は名称原語表記】BEIJING SENSETIME TECHNOLOGY DEVELOPMENT CO.,LTD.
【住所又は居所原語表記】Room 1101-1117,11th Floor No.58 Northwest 4th Ring Road, Haidian District Beijing 100080 China
(74)【代理人】
【識別番号】110002468
【氏名又は名称】弁理士法人後藤特許事務所
(72)【発明者】
【氏名】徐 勝偉
(72)【発明者】
【氏名】王 権
(72)【発明者】
【氏名】銭 晨
【テーマコード(参考)】
5B050
5B080
5L096
【Fターム(参考)】
5B050AA08
5B050AA09
5B050BA08
5B050BA09
5B050BA12
5B050CA01
5B050DA04
5B050EA24
5B050EA26
5B050FA02
5B050FA05
5B080AA00
5B080CA00
5B080FA02
5B080GA00
5L096AA02
5L096AA06
5L096CA02
5L096DA02
5L096FA69
5L096HA11
(57)【要約】
本発明では、顔再構築方法、装置、コンピュータデバイス、及び記憶媒体が提案されており、該方法は、目標画像に基づいて第1実顔モデルを生成するステップと、予め生成された複数の第2実顔モデルを利用して前記第1実顔モデルのフィッティング処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得するステップと、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び前記複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルに基づいて、前記目標画像に対応する目標仮想顔モデルを生成するステップと、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
目標画像に基づいて第1実顔モデルを生成するステップと、
予め生成された複数の第2実顔モデルを利用して前記第1実顔モデルのフィッティング処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得するステップと、
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び前記複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルに基づいて、前記目標画像に対応する目標仮想顔モデルを生成するステップと、を含む、
ことを特徴とする顔再構築方法。
【請求項2】
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び前記複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルに基づいて、前記目標画像に対応する目標仮想顔モデルを生成するステップは、
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定することと、
前記目標骨格データに基づいて前記目標仮想顔モデルを生成することと、を含む、
ことを特徴とする請求項1に記載の顔再構築方法。
【請求項3】
前記目標骨格データに基づいて前記目標仮想顔モデルを生成することは、
前記目標骨格データ、及び標準仮想顔モデルにおける標準骨格データと標準スキンデータとの関連関係に基づいて標準スキンデータの位置変換処理を行うことで、目標スキンデータを生成することと、
前記目標骨格データ及び前記目標スキンデータに基づいて前記目標仮想顔モデルを生成することと、を含む、
ことを特徴とする請求項2に記載の顔再構築方法。
【請求項4】
前記仮想顔モデルに対応する骨格データは、
前記仮想顔モデルにおける複数の顔骨格のそれぞれに対応する骨格回転データ、
骨格位置データ、及び
骨格スケールデータのうちの少なくとも1つのデータを含み、
前記目標骨格データは、
目標骨格位置データ、
目標骨格スケールデータ、及び
目標骨格回転データのうちの少なくとも1つのデータを含む、
ことを特徴とする請求項2または3に記載の顔再構築方法。
【請求項5】
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定することは、
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の前記仮想顔モデルのそれぞれに対応する骨格位置データを補間処理することで、前記目標骨格位置データを取得することを含む、
ことを特徴とする請求項4に記載の顔再構築方法。
【請求項6】
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定することは、
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の前記仮想顔モデルのそれぞれに対応する骨格スケールデータを補間処理することで、前記目標骨格スケールデータを取得することを含む、
ことを特徴とする請求項4または5に記載の顔再構築方法。
【請求項7】
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定することは、
複数の前記仮想顔モデルのそれぞれに対応する骨格回転データを四元数に変換し、複数の前記仮想顔モデルのそれぞれに対応する四元数を正規化処理することで、正規化四元数を取得することと、
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の前記仮想顔モデルのそれぞれに対応する正規化四元数を補間処理することで、前記目標骨格回転データを取得することと、を含む、
ことを特徴とする請求項4乃至6の何れか一項に記載の顔再構築方法。
【請求項8】
前記目標画像に基づいて第1実顔モデルを生成するステップは、
初期顔を含む目標画像を取得することと、
前記目標画像に含まれる前記初期顔に対して3次元の顔再構築を行うことで、前記第1実顔モデルを取得することと、を含む、
ことを特徴とする請求項1乃至7の何れか一項に記載の顔再構築方法。
【請求項9】
前記複数の第2実顔モデルのそれぞれについて、
参照顔を含む複数枚の参照画像を取得し、
前記複数枚の参照画像のそれぞれについて、前記参照画像に含まれる参照顔に対して3次元の顔再構築を行い、前記参照画像に対応する前記第2実顔モデルを取得する、ことにより、前記第2実顔モデルを生成する、
ことを特徴とする請求項1乃至8の何れか一項に記載の顔再構築方法。
【請求項10】
前記予め生成された複数の第2実顔モデルを利用して前記第1実顔モデルのフィッティング処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得するステップは、
複数の前記第2実顔モデル及び前記第1実顔モデルに対して最小二乗処理を行うことで、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得することを含む、
ことを特徴とする請求項1乃至9の何れか一項に記載の顔再構築方法。
【請求項11】
目標画像に基づいて第1実顔モデルを生成するように構成される第1生成モジュールと、
予め生成された複数の第2実顔モデルを利用して前記第1実顔モデルのフィッティング処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得するように構成される処理モジュールと、
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び前記複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルに基づいて、前記目標画像に対応する目標仮想顔モデルを生成するように構成される第2生成モジュールと、を含む、
ことを特徴とする顔再構築装置。
【請求項12】
プロセッサ及びメモリを含むコンピュータデバイスであって、
前記メモリには、前記プロセッサで実行できる機械読み取り可能な命令が格納されており、前記プロセッサは、前記メモリに格納された機械読み取り可能な命令を実行するように構成され、前記機械読み取り可能な命令が前記プロセッサで実行されるとき、前記プロセッサは、請求項1乃至10の何れか一項に記載の顔再構築方法を実施する、コンピュータデバイス。
【請求項13】
コンピュータ・プログラムが格納されたコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ・プログラムがコンピュータデバイスで実行されるとき、前記コンピュータデバイスは、請求項1乃至10の何れか一項に記載の顔再構築方法を実施する、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理の技術分野に関し、具体的には、顔再構築方法、装置、コンピュータデバイス、及び記憶媒体に関する。
【背景技術】
【0002】
通常、実顔や自分の好みに基づいて仮想的な顔3次元モデルを確立して顔の再構築を実現できるということは、ゲーム、アニメ、仮想ソーシャル等の分野で広く適用されている。例えば、ゲームでは、ゲームプログラムが提供する顔再構築システムは、プレイヤーから提供された画像に含まれる実顔に基づいて仮想的な顔3次元モデルを生成し、プレイヤーは、生成された仮想的な顔3次元モデルを利用し、より没入感を持ってゲームに参加することができる。
【0003】
現在、人物画像における実顔に基づいて顔の再構築を行う場合には、一般的に、顔画像に基づいて顔輪郭特徴を抽出し、抽出した顔輪郭特徴を予め生成された仮想3次元モデルとマッチング・融合することで、実顔に対応する仮想的な顔3次元モデルを生成する。しかしながら、顔輪郭特徴と予め生成された仮想3次元モデルとのマッチング度が低いことから、生成された仮想的な顔3次元モデルと実顔画像との類似度が低い。
【発明の概要】
【0004】
本発明の実施例では、少なくとも顔再構築方法、装置、コンピュータデバイス、及び記憶媒体が提案されている。
【0005】
本発明の実施例の第1態様により、目標画像に基づいて第1実顔モデルを生成するステップと、予め生成された複数の第2実顔モデルを利用して前記第1実顔モデルのフィッティング処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得するステップと、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び前記複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルに基づいて、前記目標画像に対応する目標仮想顔モデルを生成するステップと、を含む、顔再構築方法が提案されている。
【0006】
本実施例では、フィッティング係数を媒介として複数の第2実顔モデルと第1実顔モデルとの関連関係が確立され、この関連関係は、第2実顔モデルに基づいて確立された仮想顔モデルと第1実顔モデルに基づいて確立された目標仮想顔モデルとの関連を特徴付けることができ、フィッティング係数に基づいて確立された目標仮想顔モデルは、予め設定されたスタイルに加えて、第1実顔モデルに対応する初期顔の特徴も有し、さらに、生成された目標仮想顔モデルと第1実顔モデルに対応する初期顔との類似度が一層高くなる。
【0007】
選択的な一実施形態では、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び前記複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルに基づいて、前記目標画像に対応する目標仮想顔モデルを生成するステップは、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定することと、前記目標骨格データに基づいて前記目標仮想顔モデルを生成することと、を含む。
【0008】
選択的な一実施形態では、前記目標骨格データに基づいて前記目標仮想顔モデルを生成するスことは、前記目標骨格データ、及び標準仮想顔モデルにおける標準骨格データと標準スキンデータとの関連関係に基づいて標準スキンデータの位置変換処理を行うことで、目標スキンデータを生成するステップと、前記目標骨格データ及び前記目標スキンデータに基づいて前記目標仮想顔モデルを生成するステップと、を含む。
【0009】
この実施形態では、目標スキンデータ、及び標準仮想顔モデルにおける標準骨格データと標準スキンデータとの関連関係により、得られた目標仮想顔モデルでは、目標骨格データと目標スキンデータがより良くフィットするようになり、さらに、目標骨格データを利用して確立された目標仮想顔モデルにおいて、骨格データの変化に起因する目標仮想顔モデルに異常な隆起または凹みが表されることが低減される。
【0010】
選択的な一実施形態では、前記仮想顔モデルに対応する骨格データは、前記仮想顔モデルにおける複数の顔骨格のそれぞれに対応する骨格回転データ、骨格位置データ、及び骨格スケールデータのうちの少なくとも1つのデータを含み、前記目標骨格データは、目標骨格位置データ、目標骨格スケールデータ、及び目標骨格回転データのうちの少なくとも1つのデータを含む。
【0011】
この実施形態では、骨格データによれば、複数の顔骨格のそれぞれに対応する骨格データをより精確に特徴付けることができ、目標骨格データによれば、目標仮想顔モデルをより精確に確立することができる。
【0012】
選択的な一実施形態では、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定することは、複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の前記仮想顔モデルのそれぞれに対応する骨格位置データを補間処理することで、目標骨格位置データを取得することを含む。
【0013】
選択的な一実施形態では、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定することは、複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の前記仮想顔モデルのそれぞれに対応する骨格スケールデータを補間処理することで、目標骨格スケールデータを取得することを含む。
【0014】
選択的な一実施形態では、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定することは、複数の前記仮想顔モデルのそれぞれに対応する骨格回転データを四元数に変換し、複数の前記仮想顔モデルのそれぞれに対応する四元数を正規化処理することで、正規化四元数を取得することと、複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の前記仮想顔モデルのそれぞれに対応する正規化四元数を補間処理することで、目標骨格回転データを取得することと、を含む。
【0015】
この実施形態では、目標骨格データにより仮想顔モデルをより精確に調整することができ、その結果、得られた目標仮想顔モデルにおける骨格の細部がより細かくなり、初期顔における骨格の細部とより類似するようになり、さらに目標仮想顔モデルと初期顔との類似度がより高くなる。
【0016】
選択的な一実施形態では、前記目標画像に基づいて第1実顔モデルを生成するステップは、初期顔を含む目標画像を取得することと、前記目標画像に含まれる前記初期顔に対して3次元の顔再構築を行うことで、前記第1実顔モデルを取得することと、を含む。
【0017】
この実施形態では、初期顔に対して3次元の顔再構築を行うことで取得した第1実顔モデルによれば、目標画像における初期顔の顔特徴をより正確かつ全面的に特徴付けることができる。
【0018】
選択的な一実施形態では、前記複数の第2実顔モデルのそれぞれについて、参照顔を含む複数枚の参照画像を取得し、前記複数枚の参照画像のそれぞれについて前記参照画像に含まれる前記参照顔に対して3次元の顔再構築を行い、前記参照画像に対応する前記第2実顔モデルを取得する、ことにより、前記第2実顔モデルを生成する。
【0019】
この実施形態では、複数枚の参照画像を利用して、できるだけ広範な顔の外形特徴をカバーすることができるため、複数枚の参照画像のそれぞれに基づいて3次元の顔再構築を行うことで取得した第2実顔モデルは同様に、できるだけ広範な顔の外形特徴をカバーすることができる。
【0020】
選択的な一実施形態では、予め生成された複数の第2実顔モデルを利用して前記第1実顔モデルのフィッティング処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得するステップは、複数の前記第2実顔モデル及び前記第1実顔モデルに対して最小二乗処理を行うことで、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得することを含む。
【0021】
この実施形態では、フィッティング係数によれば、複数の第2実顔モデルを利用して第1実顔モデルのフィッティングを行う際のフィッティング状況を精確に特徴付けることができる。
【0022】
本発明の実施例の第2態様により、顔再構築装置が提案されており、前記装置は、
【0023】
目標画像に基づいて第1実顔モデルを生成するように構成される第1生成モジュールと、
【0024】
予め生成された複数の第2実顔モデルを利用して前記第1実顔モデルのフィッティング処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得するように構成される処理モジュールと、
【0025】
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び前記複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルに基づいて、前記目標画像に対応する目標仮想顔モデルを生成するように構成される第2生成モジュールと、を含む。
【0026】
選択的な一実施形態では、前記第2生成モジュールは、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び前記複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルに基づいて、前記目標画像に対応する目標仮想顔モデルを生成する際に、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定することと、前記目標骨格データに基づいて前記目標仮想顔モデルを生成することと、に用いられる。
【0027】
選択的な一実施形態では、前記第2生成モジュールは、前記目標骨格データに基づいて前記目標仮想顔モデルを生成する際に、前記目標骨格データ、及び標準仮想顔モデルにおける標準骨格データと標準スキンデータとの関連関係に基づいて標準スキンデータの位置変換処理を行うことで、目標スキンデータを生成することと、前記目標骨格データ及び前記目標スキンデータに基づいて前記目標仮想顔モデルを生成することと、に用いられる。
【0028】
選択的な一実施形態では、前記仮想顔モデルに対応する骨格データは、前記仮想顔モデルにおける複数の顔骨格のそれぞれに対応する骨格回転データ、骨格位置データ、及び骨格スケールデータのうちの少なくとも1つのデータを含み、前記目標骨格データは、目標骨格位置データ、目標骨格スケールデータ、及び目標骨格回転データのうちの少なくとも1つのデータを含む。
【0029】
選択的な一実施形態では、前記第2生成モジュールは、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定する際に、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の前記仮想顔モデルのそれぞれに対応する骨格位置データを補間処理することで、前記目標骨格位置データを取得することに用いられる。
【0030】
選択的な一実施形態では、前記第2生成モジュールは、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定する際に、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の前記仮想顔モデルのそれぞれに対応する骨格スケールデータを補間処理することで、前記目標骨格スケールデータを取得することに用いられる。
【0031】
選択的な一実施形態では、前記第2生成モジュールは、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定する際に、複数の前記仮想顔モデルのそれぞれに対応する骨格回転データを四元数に変換し、複数の前記仮想顔モデルのそれぞれに対応する四元数を正規化処理することで、正規化四元数を取得することと、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の前記仮想顔モデルのそれぞれに対応する正規化四元数を補間処理することで、前記目標骨格回転データを取得することと、に用いられる。
【0032】
選択的な一実施形態では、前記第1生成モジュールは、前記目標画像に基づいて第1実顔モデルを生成する際に、初期顔を含む目標画像を取得することと、前記目標画像に含まれる前記初期顔に対して3次元の顔再構築を行うことで、前記第1実顔モデルを取得することと、に用いられる。
【0033】
選択的な一実施形態では、前記処理モジュールは、前記複数の第2実顔モデルのそれぞれについて、参照顔を含む複数枚の参照画像を取得し、前記複数枚の参照画像のそれぞれについて前記参照画像に含まれる参照顔に対して3次元の顔再構築を行い、前記参照画像に対応する前記第2実顔モデルを取得する、ことにより、前記第2実顔モデルを生成する。
【0034】
選択的な一実施形態では、前記処理モジュールは、予め生成された複数の第2実顔モデルを利用して前記第1実顔モデルのフィッティング処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得する際に、複数の前記第2実顔モデル及び前記第1実顔モデルに対して最小二乗処理を行うことで、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得することに用いられる。
【0035】
本発明の第3態様により、選択的な一実施形態として、プロセッサ及びメモリを含むコンピュータデバイスであって、前記メモリには、前記プロセッサで実行できる機械読み取り可能な命令が格納されており、前記プロセッサは、前記メモリに格納された機械読み取り可能な命令を実行するように構成され、前記機械読み取り可能な命令が前記プロセッサで実行される際に、上記した第1態様または第1態様における任意1つの実施可能な形態に記載のステップが実施されることとなる、コンピュータデバイスが提案されている。
【0036】
本発明の第4態様により、選択的な一実施形態として、コンピュータ・プログラムが格納されたコンピュータ読み取り可能な記憶媒体であって、当該コンピュータ・プログラムが実行される際に、上記した第1態様または第1態様における任意1つの実施可能な形態に記載のステップが実施されることとなる、コンピュータ読み取り可能な記憶媒体が提案されている。
【0037】
上記した顔再構築装置、コンピュータデバイス、およびコンピュータ読み取り可能な記憶媒体の効果に関する記述は、上記した顔再構築方法に関する記述を参照でき、ここで重複に説明しないものとする。
【0038】
本発明の上記した目的、特徴、及びメリットをより明確かつ理解され易いものにするために、以下では、好適な実施例を挙げて、添付図面に合わせて詳細に説明する。
【図面の簡単な説明】
【0039】
本発明の実施例に係る技術案をより明晰に説明するために、以下では、実施例に用いられる図面を簡単に説明する。ここでの図面は明細書に合併されて本明細書の一部を構成し、これらの図面は本発明に符合する実施例を示し、明細書に合わせて本発明に係る技術案を説明するためのものである。以下の図面は、本発明の幾つかの実施例のみを図示するので、範囲への限定として見なされるべきではなく、当分野の通常の技術者にとっては、創造的な労働をせずにこれらの図面から他の相関図面を得ることもできるとは、理解されるべきであろう。
【
図1】本発明の一実施例で提案される顔再構築方法を示すフローチャートである。
【
図2】本発明の実施例で提案される目標画像に対応する目標仮想顔モデルを生成するための方法を示すフローチャートである。
【
図3】本発明の実施例で提案される目標骨格データに基づいて第1実顔モデルに対応する目標仮想顔モデルを生成するための具体的な方法を示すフローチャートである。
【
図4】本発明の実施例で提案される顔再構築方法に係る複数の顔及び顔モデルの例示を示す図である。
【
図5】本発明の実施例で提案される顔再構築装置を示す概略図である。
【
図6】本発明の実施例で提案されるコンピュータデバイスを示す概略図である。
【発明を実施するための形態】
【0040】
本発明の実施例の目的、技術案、及びメリットをより明晰にするために、以下では、本発明の実施例に係る技術案について本発明の実施例に係る図面を参照しながら明晰かつ完全に説明する。明らかには、本明細書に記述される実施例は、本発明の実施例の全部ではなく、その一部に過ぎない。通常、ここで記述や図示される本発明の実施例に係る構成要素は、様々な異なる構成で配置や設計されることができる。したがって、本発明の実施例に関する以下の詳細な記述は、保護が請求する本発明の範囲を限定することを主旨とするものではなく、本発明に選定された実施例のみを示すものである。本発明の実施例に基づき、当分野の技術者が創造的な労働をせずに得られた全ての他の実施例は、本発明の保護範囲内に含まれるものとする。
【0041】
顔再構築方法によれば、実顔や自分の好みに基づいて仮想的な顔3次元モデルを確立できることがわかった。人物画像における実顔に基づいて顔の再構築を行う際に、人物画像における実顔に対して特徴抽出を行って顔輪郭特徴を取得してから、顔輪郭特徴を予め生成された仮想3次元モデルにおける特徴とマッチングし、マッチング結果に基づいて顔輪郭特徴を仮想3次元モデルと融合することで、人物画像における実顔に対応する仮想的な顔3次元モデルを取得することは、一般的なことである。顔輪郭特徴を予め生成された仮想3次元モデルにおける特徴とマッチングする際に、マッチングの精度が低いことから、仮想3次元モデルと顔輪郭特徴とのマッチングの誤差が大きく、マッチング結果に基づいて顔輪郭特徴と顔の仮想3次元モデルとを融合して得られた仮想的な顔3次元モデルと、人物画像における顔との類似度が低いという問題が生じやすい。
【0042】
上記した技術案の欠点に対して、本発明の実施例では、予め設定されたスタイルを有し且つ実顔との類似度が高い目標仮想顔モデルを生成可能な顔再構築方法が提案されている。
【0043】
本実施例の理解を容易にするために、先ず、本発明の実施例に開示された顔再構築方法について詳しく説明する。本発明の実施例で提案される顔再構築方法の実行主体は一般的には所定の計算能力を持つコンピュータデバイスであり、当該コンピュータデバイスは、例えば端末デバイスやサーバ又は他の処理デバイスを備え、端末デバイスとしては、ユーザ機器(User Equipment、UE)、モバイル機器、ユーザ端末、端末、セルラー電話、コードレス電話、パーソナルデジタルアシスタント(Personal Digital Assistant、PDA)、手持ち機器、計算機器、車載機器、ウェアラブル機器等が挙げられる。幾つかの実施可能な形態では、当該顔再構築方法は、プロセッサによってメモリに格納されたコンピュータ読み取り可能な命令を呼び出すという方式で実現することができる。
【0044】
以下では、本発明の実施例で提案される顔再構築方法について説明する。
【0045】
図1は、本発明の一実施例で提案される顔再構築方法を示すフローチャートである。
図1に示すように、前記方法は、ステップS101~S103を含む。
【0046】
S101:目標画像に基づいて第1実顔モデルを生成する。
【0047】
S102:予め生成された複数の第2実顔モデルを利用して第1実顔モデルのフィッティング処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得する。
【0048】
S103:複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルに基づいて、目標画像に対応する目標仮想顔モデルを生成する。
【0049】
本発明の実施例では、予め生成された複数の実顔モデルを利用して第1実顔モデルのフィッティングを行うプロセスにおいて、第2実顔モデルのそれぞれに対応するフィッティング係数を取得してから、フィッティング係数を媒介として複数の第2実顔モデルと第1実顔モデルとの関連関係を確立し、その後、当該フィッティング係数、及び前記複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルを利用して、前記目標画像に対応する目標仮想顔モデルを生成する。この方法によれば、フィッティング係数及び仮想顔モデルに基づいて確立された目標仮想顔モデルは、予め設定されたスタイルに加えて、第1実顔モデルに対応する初期顔の特徴も有し、換言すると、生成された目標仮想顔モデルと第1実顔モデルに対応する初期顔との類似度が高くなる。
【0050】
以下では、上記したステップS101~S103について詳しく説明する。
【0051】
上記したステップS101について、目標画像は、例えば顔を含む画像、例えば、カメラ等の撮像装置を用いてある対象を撮像する際に取得される顔を含む画像であり、しかも、画像に含まれる何れかの顔が初期顔として決定されることができる。
【0052】
本発明の実施例で提案される顔再構築方法が異なるシーンに用いられる場合、目標画像の取得方法も異なる。
【0053】
例えば、当該顔再構築方法がゲームに用いられる場合、ゲームデバイスにインストールされている画像取得装置によってゲームプレイヤーの顔を含む画像を取得したり、ゲームデバイスのアルバムからゲームプレイヤーの顔を含む画像を選択したりすることができ、そして、取得したゲームプレイヤーの顔を含む画像を目標画像として決定する。
【0054】
また例えば、顔再構築方法が携帯電話等の端末デバイスに用いられる場合、端末デバイスのカメラによってユーザの顔を含む画像を収集したり、端末デバイスのアルバムからユーザの顔を含む画像を選択したり、端末デバイスにインストールされている他のアプリプログラムからユーザの顔を含む画像を受信したりすることができる。
【0055】
さらに例えば、顔再構築方法がライブ配信のシーンに用いられる場合、ライブ配信の装置のビデオストリームに含まれる複数フレームのビデオフレーム画像から、顔を含むビデオフレーム画像を取得することができ、そして、顔を含むビデオフレーム画像を目標画像として決定する。ここで、目標画像は例えば複数フレームであってよい。複数フレームの目標画像は例えばビデオストリームをサンプリングして得られたものであってよい。
【0056】
目標画像に基づいて第1実顔モデルを生成する際に、例えば、初期顔を含む目標画像を取得し、目標画像に含まれる初期顔に対して3次元の顔再構築を行って第1実顔モデルを取得するという方法を利用することができる。
【0057】
ここでは、目標画像に含まれる初期顔に対して3次元の顔再構築を行う場合、例えば、変形可能な3次元顔モデル(3 Dimensions Morphable Models,3DMM)を利用して、初期顔に対応する第1実顔モデルを取得する。また、第1実顔モデルは、例えば、目標画像における初期顔の複数のキーポイントのうち各キーポイントの予め設定されたカメラ座標系における位置情報を含む。
【0058】
上記したステップS102について、第2実顔モデルは、参照顔を含む参照画像に基づいて生成されたものである。ここで、異なる参照画像における参照顔は、異なるものであってよい。例示的には、性別、年齢、肌色、太り具合等のうちの少なくとも1つが異なる複数の人物を選択し、複数の人物のそれぞれについてその顔画像を取得し、取得した顔画像を参照画像とする。このように、複数枚の参照画像に基づいて取得した複数の第2実顔モデルは、できるだけ広範な顔の外形特徴をカバーすることができる。
【0059】
参照顔は、例えば、N個の異なる個体オブジェクトに対応するN個の顔を含む(Nは1より大きい整数)。参照顔を含む参照画像を複数枚取得したい際に、例示的には、N個の異なる個体オブジェクトをそれぞれ撮影することでN個の異なる個体オブジェクトのそれぞれに対応するN枚のピクチャを取得し、1枚のピクチャ毎に1つの参照顔が対応され、このN枚のピクチャを参照画像とすることができる。あるいは、予め撮影された異なる顔を含む複数枚の画像からN枚の参照画像を特定してもよい。
【0060】
例示的には、前記複数の第2実顔モデルのそれぞれに対して、第2実顔モデルを生成する方法は、参照顔を含む複数枚の参照画像を取得することと、複数枚の参照画像のそれぞれについて前記参照画像に含まれる参照顔に対して3次元の顔再構築を行うことで、当該参照画像に対応する第2実顔モデルを取得することと、を含む。
【0061】
、参照顔に対して3次元の顔再構築を行う方法は、上記した初期顔に対して3次元の顔再構築を行う方法と類似するので、ここで重複に説明しないものとする。取得した第2実顔モデルは、参照画像における参照顔の複数のキーポイントのうちの各キーポイントの予め設定されたカメラ座標系における位置情報を含む。ここで、この第2実顔モデルの座標系と第1実顔モデルの座標系は、同一の座標系であってもよい。
【0062】
予め生成された複数の第2実顔モデルを利用して第1実顔モデルのフィッティング処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得する際に、例えば、複数の第2実顔モデル及び第1実顔モデルに対して最小二乗処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得するという方式を利用することができる。
【0063】
例示的には、N個の第2実顔モデルが予め生成された場合、第1実顔モデルに対応するモデルデータをDa、第2実顔モデルに対応するモデルデータをDbi(i∈[1,N])として表すことができ、ここで、DbiはN個の第2実顔モデルのうちi番目の第2実顔モデルを示す。
【0064】
Daを利用してDb1~DbNのそれぞれに対して最小二乗処理を行うことで、N個のフィッティング値を取得することができ、このフィッティング値をαi(i∈[1,N])として表す。ここで、αiはi番目の第2実顔モデルに対応するフィッティング値を示す。N個のフィッティング値を利用してフィッティング係数Alphaを決定することができ、例えば係数行列として表すことができ、即ち、Alpha=[α1,α2,…,αN]である。
【0065】
ここでは、複数の第2実顔モデルを利用して第1実顔モデルのフィッティングを行うプロセスにおいて、複数のフィッティング係数により複数の第2実顔モデルを重み付け加算して得られたデータは、第1実顔モデルのデータにできるだけ近づくことが可能である。
【0066】
このフィッティング係数は、複数の第2実顔モデルを利用して第1実顔モデルを表現する際の各第2実顔モデルの表現係数として見なされてもよい。換言すると、表現係数における、複数の第2実顔モデルのそれぞれに対応するフィッティング値を利用して、第2実顔モデルを第1実顔モデルに変換やフィッティングすることができる。
【0067】
上記したステップS103について、予め設定されたスタイルは、例えば、カートゥーンスタイル、古代スタイル、又は抽象スタイル等であってもよく、実際の必要に応じて具体的に設定することができる。例示的には、予め設定されたスタイルがカートゥーンスタイルである場合、予め設定されたスタイルを有する仮想顔モデルは、例えば、あるカートゥーンスタイルを有する仮想顔モデルである。
【0068】
さらに、複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する複数の仮想顔モデルを取得するための方法は、例えば、次の(a1)と(a2)のうちの少なくとも1つを含む。
【0069】
(a1)1つの第2実顔モデルに対応する仮想顔モデルを取得することを例に取ると、参照画像に基づいて参照顔の特徴を有し且つ予め設定されたスタイルを有する仮想顔画像を設計作成し、仮想顔画像における仮想顔に対して3次元モデリングを行うことで、仮想顔画像における仮想顔モデルの骨格データ及びスキンデータを取得することができる。
【0070】
ここで、この骨格データは、仮想顔に対して予め設定された複数の骨格の予め設定された座標系における骨格回転データ、骨格スケールデータ、及び骨格位置データを含む。ここで、複数の骨格は、例えば複数の階層に分けられることができ、例えば、ルート(root)骨格、五官骨格、及び五官細部骨格を含む。五官骨格は、眉骨、鼻骨、頬骨、顎骨、口骨等を含んでもよい。五官細部骨格は、例えば異なる五官骨格をさらに詳細に分けることができる。異なるスタイルを有する仮想画像のニーズに応じて具体的に設定することができ、ここでは限定されない。
【0071】
スキンデータは、仮想顔の表面の複数の位置ポイントの予め設定された座標系における位置情報、及び各位置ポイントと複数の骨格のうちの少なくとも一つの骨格との関連関係情報を含む。
【0072】
仮想顔画像における仮想顔に対して3次元モデリングを行って得られた仮想モデルを、第2実顔モデルに対応する仮想顔モデルとする。
【0073】
(a2)予め設定されたスタイルを有する標準仮想顔モデルを予め生成する。この標準仮想顔モデルは同様に、標準骨格データ、標準スキンデータ、及び標準骨格データと標準スキンデータとの関連関係を含む。設計修正済みの標準的仮想顔モデルが予め設定されたスタイルを有すると同時に、参照画像における参照顔の特徴も含むように、参照顔に基づいて標準的仮想顔モデルにおける標準骨格データを設計修正する。その次に、標準骨格データと標準スキンデータとの関連関係に基づいて標準スキンデータを調整するとともに、標準スキンデータに参照顔の特徴情報を追加することもでき、そして、修正済みの標準骨格データと修正済みの標準スキンデータに基づいて、第2実顔モデルに対応する仮想顔モデルを生成する。
【0074】
ここでは、仮想顔モデルの具体的なデータの表現は、上記した(a1)での記述を参照でき、ここで重複に説明しないものとする。
【0075】
図2に示すように、本発明の実施例ではさらに、複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルの骨格データに基づいて、目標画像に対応する目標仮想顔モデルを生成する方法が提案されており、該方法は、次のステップを含む。
【0076】
S201:複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定する。
【0077】
骨格データは、仮想顔モデルにおける複数の顔骨格のそれぞれに対応する骨格回転データ、骨格位置データ、及び骨格スケールデータのうちの少なくとも1つのデータを含む。
【0078】
1つの実施可能な形態では、複数の第2実顔に対応するフィッティング係数に基づいて複数の仮想顔モデルのそれぞれに対応する骨格データを補間処理することで、目標骨格データを取得することができる。取得した目標骨格データは、目標骨格位置データ、目標骨格スケールデータ、及び目標骨格回転データのうちの少なくとも1つを含む。
【0079】
ここでは、目標骨格位置データは、例えば、骨格中心点のモデル座標系における3次元座標値を含み、目標骨格スケールデータは、例えば、目標骨格の標準仮想顔モデルにおける骨格に対するスケール比例を含み、目標骨格回転データは、例えば、骨格軸線のモデル座標系における回転角度を含む。
【0080】
例示的には、複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定することは、例えば次の(b1)~(b3)のうちの少なくとも1つによって実現することができる。
【0081】
(b1)複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の仮想顔モデルのそれぞれに対応する骨格位置データを補間処理することで、目標骨格位置データを取得する。
【0082】
(b2)複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の仮想顔モデルのそれぞれに対応する骨格スケールデータを補間処理することで、目標骨格スケールデータを取得する。
【0083】
(b3)複数の前記仮想顔モデルのそれぞれに対応する骨格回転データを四元数(Quaternion)データに変換し、複数の前記仮想顔モデルのそれぞれに対応する四元数を正規化処理することで正規化四元数を取得し、そして、複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の仮想顔モデルのそれぞれに対応する正規化四元数を補間処理することで、目標骨格回転データを取得する。
【0084】
具体的な実施プロセスにおいて、上記した方法(b1)及び(b2)について、骨格位置データ及び骨格スケールデータを取得する際に、複数の第2実顔モデルに基づいて、各階層骨格及び各階層骨格に対応する局所座標系を決定することをさらに含む。顔モデルの骨格階層化を行う際に、例えば、生物学的骨格階層化方法に従って骨格階層を決定してもよいし、顔再構築の要求に応じて骨格階層を決定してもよく、具体的な階層化方法は、実際の状況に応じて決定することができ、ここで重複に説明しないものとする。
【0085】
各骨格階層を決定した後、各骨格階層に基づいて各骨格階層に対応する骨格座標系を確立することができる。例示的には、各階層骨格をBoneiとして表すことができる。
【0086】
この場合、骨格位置データは、仮想顔モデルにおける各階層骨格Boneiのそれに対応する骨格座標系における3次元座標値を含み、骨格スケールデータは、仮想顔モデルにおける各階層骨格Boneiのそれに対応する骨格座標系における骨格スケール程度を示す百分比を含み、例えば80%、90%又は100%であってよい。
【0087】
1つの実施可能な形態では、i番目の仮想顔モデルに対応する骨格位置データをPosi、i番目の仮想顔モデルに対応する骨格スケールデータをScalingiとして表す。この場合、骨格位置データPosiは、複数の階層の骨格のそれぞれに対応する骨格位置データを含み、骨格スケールデータScalingiは、複数の階層の骨格のそれぞれに対応する骨格スケールデータを含む。
【0088】
この場合に対応するフィッティング係数は、αiである。M個の第2実顔モデルに対応するフィッティング係数に基づいてM個の仮想顔モデルに対応する骨格位置データPosiを補間処理することで、目標骨格位置データを取得する。
【0089】
例示的には、例えばフィッティング係数を各仮想顔モデルに対応する重みとして、仮想顔モデルに対応する骨格位置データPos
iを重み付け加算処理することで、補間処理プロセスを実現することができる。この場合、目標骨格位置データPos
newは、以下の数式(1)を満たす。
【数1】
【0090】
同様に、M個の第2実顔モデルに対応するフィッティング係数に基づいてM個の仮想顔モデルに対応する骨格スケールデータを補間処理することで、目標骨格スケールデータを取得する。ここで、i番目の仮想顔モデルに対応する骨格スケールデータをScaling
iとして表し、M個の第2実顔モデルのそれぞれに対応するフィッティング係数を、仮想顔モデルに対応する重みとして、M個の仮想顔モデルのそれぞれに対応する骨格スケールデータを重み付け加算処理することで、M個の仮想顔モデルの補間処理を実現することができる。この場合、目標骨格スケールデータScaling
newは、以下の数式(2)を満たす。
【数2】
【0091】
上記した方法(b3)について、骨格回転データは、仮想顔モデルにおける各骨格のそれに対応する骨格座標系における、骨格回転座標変換程度を示すためのベクトル値を含み、例えば、回転軸と回転角とを含む。1つの実施可能な形態では、i番目の仮想顔モデルに対応する骨格回転データをTransiとして表す。骨格回転データに含まれる回転角にはジンバルロック(Gimbal Lock)問題があるため、骨格回転データを四元数に変換し、四元数を直接に重み付け加算処理する際のオーバーフィッティング(overfitting)現象の発生を防止するために、四元数を正規化することで正規化四元数データを取得することとなり、そのデータがTrans′iとして表される。
【0092】
M個の第2実顔モデルに対応するフィッティング係数に基づいてM個の仮想顔モデルに対応する正規化四元数Trans′
iを補間処理する場合、M個の第2実顔モデルに対応するフィッティング係数を重みとして、M個の仮想顔モデルに対応する正規化四元数を重み付け加算することもできる。この場合、目標骨格回転データTrans
newは、以下の数式(3)を満たす。
【数3】
【0093】
上記した(b1)、(b2)、及び(b3)で取得した目標骨格位置データPosnew、目標骨格スケールデータScalingnew、及び目標骨格回転データTransnewによれば、Bonenewとして表す目標骨格データを決定することができる。例示的には、この目標骨格データをベクトル形態で(Posnew,Scalingnew,Transnew)として表すことができる。
【0094】
目標画像に対応する目標仮想顔モデルを生成する方法は、上記したS201に続く次のステップをさらに含む。
【0095】
S202:目標骨格データに基づいて目標仮想顔モデルを生成する。
【0096】
図3に示すように、本発明の実施例で提案される目標骨格データに基づいて第1実顔モデルに対応する目標仮想顔モデルを生成するための具体的な方法であり、該方法は、次のステップを含む。
【0097】
S301:目標骨格データ、及び標準仮想顔モデルにおける標準骨格データと標準スキンデータとの関連関係に基づいて標準スキンデータの位置変換処理を行うことで、目標スキンデータを生成する。
【0098】
S302:目標骨格データ及び目標スキンデータに基づいて目標仮想顔モデルを生成する。
【0099】
ここでは、標準仮想顔モデルにおける標準骨格データと標準スキンデータとの関連関係は、例えば、各階層の骨格に対応する標準骨格データと標準スキンデータとの関連関係である。この関連関係に基づき、仮想顔モデルにおける骨格にスキンをバインドすることができる。
【0100】
生成される目標スキンデータ中の階層骨格に対応する位置が対応する目標骨格データ中の位置と一致するように、目標骨格データ、及び標準仮想顔モデルにおける標準骨格データと標準スキンデータとの関連関係を利用して、複数の階層の骨格に対応する位置のスキンデータに対して位置変換処理を行ってもよい。
【0101】
ここでは、標準仮想顔モデルにおける骨格データと標準スキンデータとの関連関係は、標準スキン変形データ中の各位置ポイントのモデル座標系における座標値と、骨格の骨格位置データ、骨格スケールデータ、及び骨格回転データのうちの少なくとも1つとの関連関係を含む。
【0102】
目標骨格データ、及び標準仮想顔モデルにおける標準骨格データと標準スキンデータとの関連関係を利用して複数の階層の骨格に対応する位置でのスキンデータの位置変換処理を行う際に、目標骨格データが決定された場合、即ち目標骨格の目標骨格位置データ、目標骨格スケールデータ、及び目標骨格回転データのうちの少なくとも1つが決定された場合、上記した関連関係を利用して、骨格が標準骨格データから目標骨格データに変換された後の、標準スキンデータ中の各位置ポイントのモデル座標系における新しい座標値を決定し、さらに、標準スキンデータ中の各位置ポイントのモデル座標系における新しい座標値に基づいて、目標仮想顔モデルの目標スキンデータを取得することができる。
【0103】
目標骨格データを利用して目標仮想顔モデルを確立するための各階層骨格を決定することができ、目標スキンデータを利用してモデルが骨格にバインドされるスキンを決定することができ、さらに、目標仮想顔モデルを確立することができる。
【0104】
目標仮想顔モデルを確立する方法としては、目標骨格データ及び目標スキンデータに基づいて目標仮想顔モデルを直接確立してもよいし、各階層骨格に対応する目標骨格データを利用して、第1実顔モデルにおける対応する各階層骨格データを置き換えてから、目標スキンデータを利用して目標仮想顔モデルを確立してもよい。目標仮想顔モデルを確立するための具体的な方法は、実際の状況に応じて決定することができ、ここで重複に説明しないものとする。
【0105】
本発明の実施例ではさらに、本発明の実施例で提案される顔再構築方法を利用して目標画像PicAにおける初期顔Aに対応する目標仮想顔モデルModAimを取得する具体的なプロセスに関する説明が提供されている。
【0106】
目標仮想顔モデルModAimの確立は、次のステップ(c1)~(c5)を含む。
【0107】
(c1)素材を用意する。具体的には、標準仮想顔モデルの素材を用意することと、仮想ピクチャの素材を用意することと、を含む。
【0108】
標準仮想顔モデルの素材を用意する際に、予め設定されたスタイルとしてカートゥーンスタイルを選択することを例にとって説明すると、先ずカートゥーンスタイルを有する標準仮想顔モデルModBaseを設定する。
【0109】
仮想ピクチャの素材を用意する際に、24枚の仮想ピクチャPic1~Pic24を収集する。収集した24枚の仮想ピクチャは、仮想顔B1~B24に対応する男女の数が平衡しており、できるだけ広範な五官特徴分布を含んでいる。
【0110】
(c2)顔モデルを再構築する。具体的には、目標画像PicAにおける初期顔Aを利用して第1実顔モデルModfstを生成することと、仮想ピクチャ中の仮想顔B1~B24を利用して第2実顔モデルModsnd-1~Modsnd-24を生成することと、を含む。
【0111】
初期顔Aを利用して第1実顔モデルModfstを生成する際に、先ず目標画像における顔の向きを正しくして切り取って、その次に予めトレーニングされたRGB再構築ニューラルネットワークを利用して、初期顔Aに対応する第1実顔モデルModfstを生成する。同様に、予めトレーニングされたRGB再構築ニューラルネットワークを利用して、仮想顔B1~B24のそれぞれに対応する第2実顔モデルModsnd-1~Modsnd-24を確立することができる。
【0112】
第2実顔モデルModsnd-1~Modsnd-24を確立した後、予め設定されたスタイルを利用して、手動調整で、第2実顔モデルModsnd-1~Modsnd-24のそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルModfic-1~Modfic-24を確立することをさらに含む。
【0113】
(c3)フィッティング処理を行う。具体的には、複数の第2実顔モデルを利用して第1実顔モデルのフィッティング処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数alpha=[alphasnd-1,alphasnd-2,・・・,alphasnd-24]を取得することを含む。
【0114】
複数の第2実顔モデルを利用して第1実顔モデルのフィッティングを行う際に、最小二乗法を選択してフィッティングを行うことで、24次元係数alphaを取得する。
【0115】
(c4)目標骨格データを決定する。具体的には、目標骨格データを決定する際に、次のステップ(c4-1)及び(c4-2)を含む。
【0116】
(c4-1)骨格データを読み取る。ここで、骨格データは、各階層骨格Boneiにおける予め設定されたスタイルを有する仮想顔モデルModfic-1~Modfic-24のそれぞれに対応する骨格位置データPosi、骨格スケールデータScalingi、及び骨格回転データTransiを含む。
【0117】
(c4-2)フィッティング係数alphaを利用して予め設定されたスタイルを有する仮想顔モデルModfic-1~Modfic-24に対応する骨格データの補間処理を行うことで、目標骨格データBonenewを生成する。この目標骨格データは、目標骨格位置データPosnew、目標骨格スケールデータScalingnew、及び目標骨格回転データTransnewを含む。
【0118】
(c5)目標仮想顔モデルを生成する。
【0119】
目標骨格データを利用して目標仮想顔モデルを確立するための各階層骨格を決定し、目標骨格データを標準仮想顔モデルModBaseに代入するとともに、目標スキンデータを利用してモデルが骨格にバインドされるスキンを決定し、そして予め確立された標準仮想顔モデルにおける標準骨格データと標準スキンデータとの関連関係を利用して、第1実顔モデルに対応する目標仮想顔モデルを生成する。
【0120】
図4に示すように、本発明の実施例で提案される上記した具体的な例示に含まれる複数のプロセスにおいて使用される具体的なデータの例示である。具体的には、
図4のaは、目標画像を示し、41は、初期顔Aを示し、
図4のbは、カートゥーンスタイルを有する標準仮想顔モデルを示す概略図であり、
図4のcは、第1実顔モデルに対応して生成された目標仮想顔モデルを示す概略図である。
【0121】
ここでは、上記したステップ(c1)~(c5)は、顔再構築方法の具体的な一例示に過ぎず、本発明の実施例で提案される顔再構築方法を制限するものではない点に留意すべきである。
【0122】
当分野の技術者にとっては、具体的な実施形態で記載された上記した方法において、各ステップの記載順序は、実施プロセスを制限するような厳密な実行順序を意味するものではなく、各ステップの具体的な実行順序は、その機能及び可能的な固有ロジックによって決定されるとは、理解されるべきであろう。
【0123】
本発明の実施例ではさらに、上記と同じ発明の構想に基づく、顔再構築方法に対応する顔再構築装置が提案されている。本発明の実施例における装置に係る問題解決原理は、本発明の実施例における上記した顔再構築方法と類似するので、装置の実施は、方法の実施を参照でき、重複点についてこれ以上説明しないものとする。
【0124】
図5に示すように、本発明の実施例では顔再構築装置が提案されており、前記装置は、第1生成モジュール51、処理モジュール52、及び第2生成モジュール53を含む。
【0125】
第1生成モジュール51:目標画像に基づいて第1実顔モデルを生成するように構成される。
【0126】
処理モジュール52:予め生成された複数の第2実顔モデルを利用して前記第1実顔モデルのフィッティング処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得するように構成される。
【0127】
第2生成モジュール53:前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び前記複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する複数の仮想顔モデルに基づいて、前記目標画像に対応する目標仮想顔モデルを生成するように構成される。
【0128】
選択的な一実施形態では、前記第2生成モジュール53は、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び前記複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルに基づいて、前記目標画像に対応する目標仮想顔モデルを生成する際に、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定することと、前記目標骨格データに基づいて前記目標仮想顔モデルを生成することと、に用いられる。
【0129】
選択的な一実施形態では、前記第2生成モジュール53は、前記目標骨格データに基づいて前記目標仮想顔モデルを生成する際に、前記目標骨格データ、及び標準仮想顔モデルにおける標準骨格データと標準スキンデータとの関連関係に基づいて標準スキンデータの位置変換処理を行うことで、目標スキンデータを生成することと、前記目標骨格データ及び前記目標スキンデータに基づいて前記目標仮想顔モデルを生成することと、に用いられる。
【0130】
選択的な一実施形態では、前記仮想顔モデルの骨格データは、前記仮想顔モデルにおける複数の顔骨格のそれぞれに対応する骨格回転データ、骨格位置データ、及び骨格スケールデータのうちの少なくとも1つのデータを含み、前記目標骨格データは、目標骨格位置データ、目標骨格スケールデータ、及び目標骨格回転データのうちの少なくとも1つのデータを含む。
【0131】
選択的な一実施形態では、前記目標骨格データは、前記目標骨格位置データを含み、前記第2生成モジュール53は、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定する際に、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の仮想顔モデルのそれぞれに対応する骨格位置データを補間処理することで、前記目標骨格位置データを取得することに用いられる。
【0132】
選択的な一実施形態では、前記目標骨格データは、前記目標骨格スケールデータを含み、前記第2生成モジュール53は、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定する際に、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の仮想顔モデルのそれぞれに対応する骨格スケールデータを補間処理することで、前記目標骨格スケールデータを取得することに用いられる。
【0133】
選択的な一実施形態では、前記目標骨格データは、前記目標骨格回転データを含み、前記第2生成モジュール53は、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定する際に、複数の前記仮想顔モデルのそれぞれに対応する骨格回転データを四元数に変換し、複数の前記仮想顔モデルのそれぞれに対応する四元数を正規化処理することで、正規化四元数を取得することと、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の仮想顔モデルのそれぞれに対応する正規化四元数を補間処理することで、前記目標骨格回転データを取得することと、に用いられる。
【0134】
選択的な一実施形態では、前記第1生成モジュール51は、目標画像に基づいて第1実顔モデルを生成する際に、初期顔を含む目標画像を取得することと、前記目標画像に含まれる前記初期顔に対して3次元の顔再構築を行うことで、前記第1実顔モデルを取得することと、に用いられる。
【0135】
選択的な一実施形態では、前記処理モジュール52は、前記複数の第2実顔モデルのそれぞれについて、参照顔を含む複数枚の参照画像を取得し、前記複数枚の参照画像のそれぞれについて、前記参照画像に含まれる参照顔に対して3次元の顔再構築を行い、前記参照画像に対応する前記第2実顔モデルを取得する、ことにより、前記第2実顔モデルを生成する。
【0136】
選択的な一実施形態では、前記処理モジュール52は、予め生成された複数の第2実顔モデルを利用して前記第1実顔モデルのフィッティング処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得する際に、複数の前記第2実顔モデル及び前記第1実顔モデルに対して最小二乗処理を行うことで、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得することに用いられる。
【0137】
装置に係る各モジュールの処理プロセス及び各モジュール間の相互作用プロセスに関する記述は、上記した方法実施例における関連記述を参照でき、ここでは詳しく説明しないものとする。
【0138】
図6に示すように、本発明の実施例ではさらに、プロセッサ61及びメモリ62を含むコンピュータデバイスが提案されている。
【0139】
メモリ62には、プロセッサ61で実行できる機械読み取り可能な命令が格納されており、プロセッサ61は、メモリ62に格納された機械読み取り可能な命令を実行するように構成され、当該機械読み取り可能な命令がプロセッサ61で実行される際に、プロセッサ61は、目標画像に基づいて第1実顔モデルを生成するステップと、予め生成された複数の第2実顔モデルを利用して前記第1実顔モデルのフィッティング処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得するステップと、前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び前記複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルに基づいて、前記目標画像に対応する目標仮想顔モデルを生成するステップと、を実行することとなる。
【0140】
上記したメモリ62は、内部メモリ621及び外部メモリ622を含む。ここでの内部メモリ621は、内蔵メモリとも呼ばれ、プロセッサ61における演算データ、及びハードディスク等の外部メモリ622との交換データを一時的に格納するように構成され、プロセッサ61は、内部メモリ621を介して外部メモリ622とのデータ交換を行うように構成される。
【0141】
上記した命令の具体的な実行プロセスは、本発明の実施例で説明した顔再構築方法を参照でき、ここで重複に説明しないものとする。
【0142】
本発明の実施例ではさらに、コンピュータ・プログラムが格納されたコンピュータ読み取り可能な記憶媒体であって、当該コンピュータ・プログラムがプロセッサで実行される際に、上記した方法実施例で説明した顔再構築方法が実施されることとなる、コンピュータ読み取り可能な記憶媒体が提案されている。また、当該記憶媒体は、揮発性もしくは不揮発性のコンピュータ読み取り可能な記憶媒体であってもよい。
【0143】
本発明の実施例ではさらに、プログラムコードを含むコンピュータ・プログラム製品が提案されており、前記プログラムコードに含まれる命令によって上記した方法実施例で説明した顔再構築方法を実施することができる。具体的には上記した方法実施例を参照でき、ここで重複に説明しないものとする。
【0144】
また、上記したコンピュータ・プログラム製品は具体的に、ハードウェア、ソフトウェア又はそれらの組み合わせで実現することができる。選択的な一実施例では、前記コンピュータ・プログラム製品は、コンピュータ記憶媒体として具現化しているが、選択的な別の一実施例では、コンピュータ・プログラム製品は、例えばソフトウェア開発キット(Software Development Kit、SDK)等のソフトウェア製品として具現化している。
【0145】
記述の便利及び簡潔のため、上記したシステム及び装置の具体的な作業プロセスは、上記した方法実施例における対応プロセスを参照できるとは、当分野の技術者には明白であろう。ここでは、重複に説明しないものとする。本発明で提案される幾つかの実施例では、披露されたシステム、装置、及び方法が他の形態で実現され得ることは、理解されるべきであろう。上記した装置実施例は、単なる例示的なものに過ぎず、例えば、上記したユニットの区画は、単なる論理的な機能の区画に過ぎず、実際の実施時、他の区画方法が存在してもよく、また例えば、複数のユニットまたは構成要素が別のシステムに組み合わせられたり集成されたりすることができ、一部の特徴が無視されたり実行されなかったりすることもできる。また、表示または討論される相互結合または直接結合または通信接続は、幾つかのインターフェース、装置またはユニットを介した間接結合または通信接続であってもよく、電気的、機械的または他の形態であってもよい。
【0146】
分離部品として説明する前記ユニットは、物理的に分離したものであってもなくてもよく、ユニットとして表される部品は、物理ユニットであってもなくてもよく、即ち、同一の箇所に位置しても、複数のネットワークユニットに配置されてもよい。本実施例に係る技術案の目的を実現するために、実際の必要に応じて上記したユニットから一部または全部を選択することができる。
【0147】
また、本発明の各実施例における各機能ユニットについては、全てのユニットが1つの処理ユニットに集成されてもよいし、各ユニットが単独で物理的に存在してもよいし、2つ以上のユニットが1つのユニットに集成されてもよい。
【0148】
上記した機能は、ソフトウェア機能ユニットの形態で実現され、かつ独立した製品として販売されるかまたは使用される場合、プロセッサで実行できる不揮発性のコンピュータ読み取り可能な記憶媒体に格納され得る。このような理解を基に、本発明に係る技術案は本質的に、換言すれば従来技術に貢献する部分又は当該技術案の一部がソフトウェア製品の形態で体現でき、当該コンピュータソフトウェア製品は、記憶媒体に格納され、1台のコンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイス等であってもよい)に本発明の各実施例で説明した方法におけるステップの全部又は一部を実行させるための若干の命令を含む。上記した記憶媒体としては、Uディスク、モバイルハードディスク、読み取り専用メモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁気ディスク又は光ディスク等の、プログラムコードを記憶可能な各種媒体が挙げられる。
【0149】
最後に説明したいこととして、上記した実施例は、単なる本発明の具体的な実施形態に過ぎず、本発明に係る技術案を説明するためのものであり、それを制限するものでなく、本発明の保護範囲は、上記した実施例に制限されるものではない。上記した実施例を参照して本発明について詳しく説明したが、当分野の通常の技術者にとっては、本技術分野に熟知する任意の技術者であれば、本発明に披露された技術範囲内で、上記した実施例に記載された技術案を補正したり、その変更に容易に想到したり、その一部の技術特徴について同等な置換を行ったりすることができ、これらの修正、変更または置換は、関連する技術案の本質が本発明の実施例に係る技術案の精神及び範囲から逸脱したことを招来するものでないため、本発明の保護範囲内に含まれるとは、理解されるべきであろう。したがって、本発明の保護範囲は、特許請求の範囲の保護範囲を基準とするものとする。
【0150】
本特許出願は、2020年11月25日に提出された、出願番号が202011342169.7、発明の名称が「顔再構築方法、装置、コンピュータデバイス、及び記憶媒体」である中国特許出願の優先権を主張しており、当該中国特許出願が援用により本明細書に組み込まれるものとする。
【手続補正書】
【提出日】2022-03-25
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
目標画像に基づいて第1実顔モデルを生成するステップと、
予め生成された複数の第2実顔モデルを利用して前記第1実顔モデルのフィッティング処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得するステップと、
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び前記複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルに基づいて、前記目標画像に対応する目標仮想顔モデルを生成するステップと、を含む、
ことを特徴とする顔再構築方法。
【請求項2】
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び前記複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルに基づいて、前記目標画像に対応する目標仮想顔モデルを生成するステップは、
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定することと、
前記目標骨格データに基づいて前記目標仮想顔モデルを生成することと、を含む、
ことを特徴とする請求項1に記載の顔再構築方法。
【請求項3】
前記目標骨格データに基づいて前記目標仮想顔モデルを生成することは、
前記目標骨格データ、及び標準仮想顔モデルにおける標準骨格データと標準スキンデータとの関連関係に基づいて標準スキンデータの位置変換処理を行うことで、目標スキンデータを生成することと、
前記目標骨格データ及び前記目標スキンデータに基づいて前記目標仮想顔モデルを生成することと、を含む、
ことを特徴とする請求項2に記載の顔再構築方法。
【請求項4】
前記仮想顔モデルに対応する骨格データは、
前記仮想顔モデルにおける複数の顔骨格のそれぞれに対応する骨格回転データ、
骨格位置データ、及び
骨格スケールデータのうちの少なくとも1つのデータを含み、
前記目標骨格データは、
目標骨格位置データ、
目標骨格スケールデータ、及び
目標骨格回転データのうちの少なくとも1つのデータを含
み、
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定することは、
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の前記仮想顔モデルのそれぞれに対応する骨格位置データを補間処理することで、前記目標骨格位置データを取得することを含む、
ことを特徴とする請求項2または3に記載の顔再構築方法。
【請求項5】
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定することは、
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の前記仮想顔モデルのそれぞれに対応する骨格スケールデータを補間処理することで、前記目標骨格スケールデータを取得することを含む、
ことを特徴とする請求項4に記載の顔再構築方法。
【請求項6】
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び複数の前記仮想顔モデルのそれぞれに対応する骨格データに基づいて、目標骨格データを決定することは、
複数の前記仮想顔モデルのそれぞれに対応する骨格回転データを四元数に変換し、複数の前記仮想顔モデルのそれぞれに対応する四元数を正規化処理することで、正規化四元数を取得することと、
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数に基づいて複数の前記仮想顔モデルのそれぞれに対応する正規化四元数を補間処理することで、前記目標骨格回転データを取得することと、を含む、
ことを特徴とする請求項4
または5に記載の顔再構築方法。
【請求項7】
前記目標画像に基づいて第1実顔モデルを生成するステップは、
初期顔を含む目標画像を取得することと、
前記目標画像に含まれる前記初期顔に対して3次元の顔再構築を行うことで、前記第1実顔モデルを取得することと、を含む、
ことを特徴とする請求項1乃至
6の何れか一項に記載の顔再構築方法。
【請求項8】
前記複数の第2実顔モデルのそれぞれについて、
参照顔を含む複数枚の参照画像を取得し、
前記複数枚の参照画像のそれぞれについて、前記参照画像に含まれる参照顔に対して3次元の顔再構築を行い、前記参照画像に対応する前記第2実顔モデルを取得する、ことにより、前記第2実顔モデルを生成する、
ことを特徴とする請求項1乃至
7の何れか一項に記載の顔再構築方法。
【請求項9】
目標画像に基づいて第1実顔モデルを生成するように構成される第1生成モジュールと、
予め生成された複数の第2実顔モデルを利用して前記第1実顔モデルのフィッティング処理を行うことで、複数の第2実顔モデルのそれぞれに対応するフィッティング係数を取得するように構成される処理モジュールと、
前記複数の第2実顔モデルのそれぞれに対応するフィッティング係数、及び前記複数の第2実顔モデルのそれぞれに対応し且つ予め設定されたスタイルを有する仮想顔モデルに基づいて、前記目標画像に対応する目標仮想顔モデルを生成するように構成される第2生成モジュールと、を含む、
ことを特徴とする顔再構築装置。
【請求項10】
プロセッサ及びメモリを含むコンピュータデバイスであって、
前記メモリには、前記プロセッサで実行できる機械読み取り可能な命令が格納されており、前記プロセッサは、前記メモリに格納された機械読み取り可能な命令を実行するように構成され、前記機械読み取り可能な命令が前記プロセッサで実行されるとき、前記プロセッサは、請求項1乃至
8の何れか一項に記載の顔再構築方法を実施する、コンピュータデバイス。
【請求項11】
コンピュータ・プログラムが格納されたコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ・プログラムがコンピュータデバイスで実行されるとき、前記コンピュータデバイスは、請求項1乃至
8の何れか一項に記載の顔再構築方法を実施する、コンピュータ読み取り可能な記憶媒体。
【国際調査報告】