(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-03-18
(54)【発明の名称】条件付きサイクル一貫性を有する生成画像変換のモデルを使用した拡張現実のためのシステムおよび方法
(51)【国際特許分類】
G06T 1/00 20060101AFI20220311BHJP
G06T 1/40 20060101ALI20220311BHJP
A45D 44/00 20060101ALI20220311BHJP
【FI】
G06T1/00 340A
G06T1/40
A45D44/00 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021526757
(86)(22)【出願日】2019-11-14
(85)【翻訳文提出日】2021-06-29
(86)【国際出願番号】 CA2019051624
(87)【国際公開番号】W WO2020097731
(87)【国際公開日】2020-05-22
(32)【優先日】2018-11-15
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521209052
【氏名又は名称】エルモズニーノ・エリック
(71)【出願人】
【識別番号】521209063
【氏名又は名称】マー・ヒー
(71)【出願人】
【識別番号】521209074
【氏名又は名称】ケゼル・イリーナ
(71)【出願人】
【識別番号】521209085
【氏名又は名称】フォン・エドモンド
(71)【出願人】
【識別番号】521209096
【氏名又は名称】レビンシュタイン・アレックス
(71)【出願人】
【識別番号】521209100
【氏名又は名称】アーラビ・パラム
(74)【代理人】
【識別番号】110000534
【氏名又は名称】特許業務法人しんめいセンチュリー
(72)【発明者】
【氏名】エルモズニーノ・エリック
(72)【発明者】
【氏名】マー・ヒー
(72)【発明者】
【氏名】ケゼル・イリーナ
(72)【発明者】
【氏名】フォン・エドモンド
(72)【発明者】
【氏名】レビンシュタイン・アレックス
(72)【発明者】
【氏名】アーラビ・パラム
【テーマコード(参考)】
5B057
【Fターム(参考)】
5B057AA20
5B057BA02
5B057BA23
5B057CA01
5B057CA08
5B057CA12
5B057CA16
5B057CB01
5B057CB08
5B057CB12
5B057CB16
5B057CC02
5B057CE08
5B057CE11
5B057CE17
5B057DA20
5B057DB02
5B057DB06
5B057DB09
5B057DC22
5B057DC25
5B057DC36
5B057DC40
(57)【要約】
システムおよび方法は、拡張現実の効果(メイクアップ、ヘア、ネイルなど)などの効果を画像に適用するためのネットワークモデルに関する。該モデルは、条件付きサイクル一貫性を有する生成画像変換のモデルを使用して、効果が適用されない第1のドメイン空間から効果が適用される第2の連続するドメイン空間に画像を変換する。訓練時に見られない任意の効果(例えば、口紅)を表現するために、効果の空間は、製品見本として利用可能であるような効果の簡単な見本画像と、効果の無いものとをエンコーディングして学習された連続的な領域(例えば、条件付き変数ベクトル)として表される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
画像に適用される効果に応じて、第1のドメイン空間から第2の連続するドメイン空間に前記画像を変換するコンピューティングデバイスであって、記憶部と処理部とを備え、
前記記憶部は、前記画像を前記第2の連続するドメイン空間に変換するように構成された、条件付きサイクル一貫性を有する生成画像変換のモデルを記憶し、
前記モデルは、適用される前記効果の物理的特性を連続的に表す複数のエンコーディングを使用した訓練によって条件付けされ、
前記複数のエンコーディングは、適用される前記効果の各々の個別のインスタンスからエンコードされ、
前記個別のインスタンスは、適用される前記効果がないことを表すインスタンスを含み、
前記処理部は、前記画像および適用される前記効果の所望のインスタンスを受信し、変換された画像を得るために前記画像および前記所望のインスタンスを前記モデルに提供し、提示用の前記変換された画像を提供することを特徴とするコンピューティングデバイス。
【請求項2】
適用される前記効果が拡張現実の効果を含む、請求項1記載のコンピューティングデバイス。
【請求項3】
適用される前記効果が、メイクアップ効果、ネイル効果、及び、ヘアカラー効果のうちの1つを含む、請求項1又は2に記載のコンピューティングデバイス。
【請求項4】
前記モデルが、条件付きサイクル一貫性を有する敵対的生成ネットワーク(ccGAN)のモデルである、請求項1から3のいずれかに記載のコンピューティングデバイス。
【請求項5】
前記画像は、適用される前記効果を含まず、前記第1のドメイン空間は、適用される前記効果を含まない複数の前記画像によって定義される、請求項1から4のいずれかに記載のコンピューティングデバイス。
【請求項6】
前記モデルは、推論時に生成器(G)を備え、
訓練時に、前記生成器(G)は、エンコーダ(E)によってエンコードされた前記複数のエンコーディングを使用して前記識別器(D)と共に訓練される、請求項1から5のいずれかに記載のコンピューティングデバイス。
【請求項7】
前記生成器(G)は、前記複数のエンコーディングの各エンコーディングに畳み込み条件付きバッチ正規化処理を使用する前記複数のエンコーディングで条件付けされる、請求項6記載のコンピューティングデバイス。
【請求項8】
前記識別器(D)は、前記複数のエンコーディングの各エンコーディングに対して出力投影処理を使用する前記複数のエンコーディングで条件付けされる、請求項6又は7に記載のコンピューティングデバイス。
【請求項9】
前記エンコーダは、適用される前記効果がないことを表す見本画像を含む、前記インスタンスの各々のための見本画像から、適用される前記効果の各々の前記インスタンスの物理的特性をエンコードするように構成される、請求項6から8のいずれかに記載のコンピューティングデバイス。
【請求項10】
前記モデルは、訓練された前記生成器(G)を備える、請求項6から9のいずれかに記載のコンピューティングデバイス。
【請求項11】
前記コンピューティングデバイスは、前記複数のエンコーディングを記憶する記憶装置を備えるデータストアに接続され、
前記処理部は、前記複数のエンコーディングのうち、適用される前記効果の前記所望のインスタンスに対応する1つを前記モデルに提供する、請求項10記載のコンピューティングデバイス。
【請求項12】
前記データストアは、適用される前記効果の各々のインスタンスを尊重するための、前記モデルに訓練されていない1又は複数の非訓練インスタンスエンコーディングを記憶し、
前記処理部は、前記1又は複数の非訓練インスタンスエンコーディングのうち、適用される前記効果の前記所望のインスタンスに対応する1つを前記モデルに提供するように構成される、請求項11記載のコンピューティングデバイス。
【請求項13】
前記生成器Gのパラメータθは、下記の数式6に従って、2つの補完的方向における敵対的損失およびサイクル一貫性損失を最小化することによって最適化される、請求項6から12のいずれかに記載のコンピューティングデバイス。
【数6】
【請求項14】
前記識別器Dのパラメータθは、下記の数式7に従って、2つの補完的方向における敵対的損失を最大化することによって最適化される、請求項6から13のいずれかに記載のコンピューティングデバイス。
【数7】
【請求項15】
前記画像は、自撮り画像または自撮り映像であり、前記自撮り映像の場合、前記処理部は、前記自撮り映像の画像を変換して前記効果を適用し、3Dの効果を作成する、請求項1から14のいずれかに記載のコンピューティングデバイス。
【請求項16】
前記変換された画像は、前記画像の部位を構成し、
前記処理部は、前記変換された画像を、提示用の画像に合成する、請求項1から15のいずれかに記載のコンピューティングデバイス。
【請求項17】
前記処理ユニットが受信するための前記画像をキャプチャするために、前記コンピューティングデバイスが、カメラを備える、又は、カメラに接続される、請求項1から16のいずれかに記載のコンピューティングデバイス。
【請求項18】
前記コンピューティングデバイスは、サーバを備え、
前記処理部は、前記サーバと通信するクライアントデバイスから前記画像および前記所望のインスタンスを受信する、請求項1から16のいずれかに記載のコンピューティングデバイス。
【請求項19】
記憶装置は、前記所望のインスタンスを定義するための所望のインスタンス選択機能をユーザに提供するためのインターフェースに関する命令を格納し、
前記処理部は、前記インターフェースを提供し、入力を受信し、その入力に応じて前記所望のインスタンスを定義するように構成される、請求項1から18のいずれかに記載のコンピューティングデバイス。
【請求項20】
前記入力は、前記モデルに対して事前に訓練されていないカスタム効果を含む、請求項19記載のコンピューティングデバイス。
【請求項21】
前記記憶装置は、所望の効果を定義するために使用する以前に計算されたエンコーディングを検索する検索機能に関する命令を記憶し、
前記処理部は、前記入力および前記検索機能を使用して、前記計算されたエンコーディングから前記カスタム効果に最適なものを探して所望の前記効果を定義するように構成される、請求項20記載のコンピューティングデバイス。
【請求項22】
前記記憶装置は、所望の前記効果に関する新しいエンコーディングを定義するエンコード機能を提供するための命令を記憶し、
前記処理部は、前記入力および前記エンコード機能を使用して、前記カスタム効果のための所望の前記効果を定義するように構成される、請求項20記載のコンピューティングデバイス。
【請求項23】
条件付きサイクル一貫性を有する生成画像変換のモデルを生成するように構成されたコンピューティングデバイスであって、
前記モデルは、画像に適用される効果に従って前記画像を第1のドメイン空間から第2の連続するドメイン空間に変換するように構成され、
前記コンピューティングデバイスは、記憶装置と処理部とを備え、
前記記憶装置は、生成器、識別器、及び、エンコーダを備える前記モデルを記憶し、
前記モデルは、適用される前記効果の物理的特性を連続的に表す前記エンコーダからの複数のエンコーディングを使用した訓練を通して前記生成器および識別器を条件付けするように構成され、
前記複数のエンコーディングは、適用される前記効果の各々の個別のインスタンスからエンコーディングされ、
前記個別のインスタンスは、適用される前記効果がないことを表すインスタンスを含み、
前記処理部は、訓練データを受信し、前記訓練データをバッチで提供して訓練された前記モデルを定義することを特徴とするコンピューティングデバイス。
【請求項24】
前記モデルは、条件付きサイクル一貫性を有する敵対的生成ネットワーク(ccGAN)モデルである、請求項23記載のコンピューティングデバイス。
【請求項25】
前記訓練データを受信するために、処理部は、
各々に効果が適用されていない複数の実画像xを、効果が適用されていないドメイン空間を構成する前記第1のドメイン空間Xから受信し、
効果が適用されたドメイン空間を構成する前記第2の連続するドメイン空間Yから複数の実画像y
jを受信し、各y
jは適用される前記効果のインスタンスjを有し、j=1、2、3、・・・は前記効果の各々の前記個別のインスタンスを表し、
前記効果の各々の前記個別のインスタンを表す複数の参考画像z
jを受信し、
適用される前記効果がないことに対応する空白の画像z
0を受信し
処理部は、生成器(G)及び識別器(D)のパラメータθ
G及びθ
Dを開始し、
前記訓練データをバッチで提供するために、前記処理部は、
バッチで、前記訓練データから決定された訓練エポックを繰り返すように構成され、
前記エンコーダを使用して前記生成器(G)及び識別器(D)のためのエンコーディングE(z
j)をエンコードし、
前記エンコーダを使用して前記生成器のためのエンコーディングE(z
0)をエンコードし、
前記画像x及びエンコーディングE(z
j)を前記生成器(G)に提供して、前記第2の連続するドメイン空間で偽画像y
jfakeを生成し、
前記偽画像y
jfake及びそれに対応する実画像y
jをエンコーディングE(z
j)と共に識別器(D)に提供して出力d
jを生成し、
前記偽画像y
jfake及びエンコーディングE(z
0)を前記生成器(G)に提供してx´を出力し
下記の数式8に従って、敵対的損失およびサイクル一貫性損失を最小化することによって生成器(G)のパラメータθ
Gを最適化し、敵対的損失を最大化することによって識別器(D)のパラメータθ
Dを最適化する、請求項23又は24に記載のコンピューティングデバイス。
【数8】
【請求項26】
適用される前記効果は、拡張現実の効果、好ましくはメイクアップ効果、ネイル効果、及び、ヘアカラー効果のうちの1つを含む、請求項23から25のいずれかに記載のコンピューティングデバイス。
【請求項27】
生成器(G)は、前記複数のエンコーディングの各エンコーディングに畳み込み条件付きバッチ正規化処理を使用する前記複数のエンコーディングで条件付けされる、請求項23から26のいずれかに記載のコンピューティングデバイス。
【請求項28】
識別器(D)は、前記複数のエンコーディングの各エンコーディングに出力投影処理を使用する前記複数のエンコーディングで条件付けされる、請求項23から27のいずれかに記載のコンピューティングデバイス。
【請求項29】
画像に適用される効果に応じて、前記画像を第1のドメイン空間から第2の連続するドメイン空間に変換するコンピュータ実装方法であって、
前記方法は、
適用される前記効果の所望のインスタンス及び前記画像を受信し、
変換された画像を得るために前記画像および前記所望のインスタンスをモデルに提供し、提示用の前記変換された画像を提供し、
前記モデルは、前記画像を第2の連続するドメイン空間に変換するように構成された、条件付きサイクル一貫性を有する生成画像変換のモデルであり、
前記モデルは、適用される前記効果の物理的特性を連続的に表す複数のエンコーディングを使用した訓練によって条件付けされ、
前記複数のエンコーディングは、適用される前記効果の各々の個別のインスタンスからエンコードされ、
前記個別のインスタンスは、適用される前記効果がないことを表すインスタンスを含むことを特徴とする方法。
【請求項30】
前記モデルは、条件付きサイクル一貫性を有する敵対的生成ネットワーク(ccGAN)のモデルから定義される、請求項29記載の方法。
【請求項31】
適用される前記効果が、メイクアップ効果、ネイル効果、及び、ヘアカラー効果のうちの1つを含む、請求項29又は30に記載の方法。
【請求項32】
前記画像は、適用される前記効果がないものから構成され、適用される前記効果がない複数の前記画像によって第1のドメイン空間が定義される、請求項29から31のいずれかに記載の方法。
【請求項33】
前記モデルは、エンコーダ(E)によってエンコードされた前記複数のエンコーディングを用いて訓練された生成器(G)及び識別器(D)を備える、請求項29から32のいずれかに記載の方法。
【請求項34】
前記生成器(G)は、前記複数のエンコーディングの各エンコーディングに畳み込み条件付きバッチ正規化処理を使用する前記複数のエンコーディングで条件付けされる、請求項33記載の方法。
【請求項35】
前記識別器(D)が、前記複数のエンコーディングの各エンコーディングに出力投影処理を使用する前記複数のエンコーディングで条件付けされる、請求項33又は34に記載の方法。
【請求項36】
前記エンコーダは、適用される前記効果がないことを表す見本画像を含む、前記インスタンスの各々のための見本画像から、適用される前記効果の各々の前記インスタンスの物理的特性をエンコードするように構成される、請求項33から35のいずれかに記載の方法。
【請求項37】
前記モデルは、訓練された前記生成器(G)を備える、請求項33から36のいずれかに記載の方法。
【請求項38】
前記複数のエンコーディングを記憶する記憶装置を有するデータストアから、前記複数のエンコーディングのうち、適用される前記効果の前記所望のインスタンスに対応する1つを検索して前記モデルに提供する、請求項37記載の方法。
【請求項39】
前記データストアは、適用される前記効果の各々のインスタンスを尊重するための、前記モデルに訓練されていない1又は複数の非訓練インスタンスエンコーディングを記憶し、
前記方法は、前記1又は複数の非訓練インスタンスエンコーディングのうち、適用される前記効果の前記所望のインスタンスに対応する1つをデータベースから検索して前記モデルに提供する、請求項38記載の方法。
【請求項40】
前記生成器Gのパラメータθは、下記の数式9に従って、2つの補完的方向における敵対的損失およびサイクル一貫性損失を最小化することによって最適化される、請求項33から37のいずれかに記載の方法。
【数9】
【請求項41】
前記識別器Dのパラメータθは、下記の数式10に従って、2つの補完的方向における敵対的損失を最大化することによって最適化される、請求項33から40のいずれかに記載の方法。
【数10】
【請求項42】
前記画像を受信するために接続されたカメラを使用して、前記処理部を介して前記画像をキャプチャする、請求項29から41のいずれかに記載の方法。
【請求項43】
前記画像は、自撮り画像および自撮り映像のうちの1つから構成され、前記自撮り映像の場合、前記方法は、前記自撮り映像の画像を変換して効果を適用し、3Dの効果、特に3Dのメイクアップ効果を作成する、請求項29から42のいずれかに記載の方法。
【請求項44】
前記モデルに提供する前に前記処理ユニットによって前記画像を前処理する、請求項29から43のいずれかに記載の方法。
【請求項45】
前記変換された画像は、前記画像の部位を構成し、
前記方法は、前記変換された画像を、前記処理部によって提示用の画像に合成する、請求項29から44のいずれかに記載の方法。
【請求項46】
前記所望のインスタンスを定義するための所望のインスタンス選択機能を含むインターフェースを提供し、前記所望のインスタンス選択機能を介して入力を受信し、前記入力に応じて前記所望のインスタンスを定義する、請求項29から45のいずれかに記載の方法。
【請求項47】
前記入力は、前記モデルに対して事前に訓練されていないカスタム効果を含む、請求項46記載の方法。
【請求項48】
所望の効果を定義するために使用する以前に計算されたエンコーディングを前記入力を使用して検索し、前記計算されたエンコーディングから前記カスタム効果に最適なものを探して所望の前記効果を定義する、請求項47記載の方法。
【請求項49】
所望の前記効果に関する新しいエンコーディングを前記入力に応じて定義するエンコード機能を使用して、前記カスタム効果のための所望の前記効果を定義する、請求項47記載の方法。
【請求項50】
条件付きサイクル一貫性を有する生成画像変換のモデルを生成するためのコンピュータ実装方法であって、
前記モデルは、画像に適用される効果に応じて、前記画像を第1のドメイン空間から第2の連続するドメイン空間に変換するように構成され、
前記方法は、処理部を介して訓練データを受信し、前記訓練データをバッチで前記モデルに提供して訓練された前記モデルを定義し、
前記モデルは、前記処理部に結合された記憶装置に記憶されるエンコーダ、生成器、及び、識別器を備え、
前記モデルは、適用される前記効果の物理的特性を連続的に表す前記エンコーダからの複数のエンコーディングを使用した訓練を通して生成器および識別器を条件付けするように構成され、
前記複数のエンコーディングは、適用される前記効果の各々の個別のインスタンスからエンコードされ、
前記個別のインスタンスは、適用される前記効果がないことを表すインスタンスを含むことを特徴とする方法。
【請求項51】
前記モデルは、条件付きサイクル一貫性を有する敵対的生成ネットワーク(ccGAN)のモデルである、請求項50記載の方法。
【請求項52】
前記訓練データを受信するために、前記方法は、
各々に効果が適用されていない複数の実画像xを、効果が適用されていないドメイン空間を構成する前記第1のドメイン空間Xから受信し、
効果が適用されたドメイン空間を構成する前記第2の連続するドメイン空間Yから複数の実画像y
jを受信し、各y
jは適用される前記効果のインスタンスjを有し、j=1、2、3、・・・は前記効果の各々の前記個別のインスタンスを表し、
前記効果の各々の前記個別のインスタンスを表す複数の参考画像z
jを受信し、
適用される前記効果がないことに対応する空白の画像z
0を受信し、
該方法は、処理ユニットにより、生成器(G)及び識別器(D)パラメータθ
G及びθ
Dを開始し、
前記訓練データをバッチで提供するために、前記方法は、
繰り返し、バッチで、前記訓練データから決定された訓練エポックを備え、
前記エンコーダを使用して前記生成器(G)及び識別器(D)のためのエンコーディングE(z
j)をエンコードし、
前記エンコーダを使用して前記生成器のためのエンコーディングE(z
0)をエンコードし、
前記画像x及びエンコーディングE(z
j)を生成器(G)に提供して、前記第2の連続するドメイン空間で偽画像y
jfakeを生成し、
前記偽画像y
jfake及びそれに対応する実画像y
jをエンコーディングE(z
j)と共に識別器(D)に提供して出力d
jを生成し、
前記偽画像y
jfake及びエンコーディングE(z
0)を前記生成器(G)に提供してx´を出力し、
下記の数式11に従って、敵対的損失およびサイクル一貫性損失を最小化することによって前記生成器(G)のパラメータθ
Gを最適化し、敵対的損失を最大化することによって前記識別器(D)のパラメータθ
Dを最適化する、請求項50又は51に記載の方法。
【数11】
【請求項53】
適用される前記効果は、拡張現実の効果、好ましくは、メイクアップ効果、ネイル効果、及び、ヘアカラー効果のうちの1つを含む、請求項50から52のいずれかに記載の方法。
【請求項54】
生成器(G)は、前記複数のエンコーディングの各エンコーディングに畳み込み条件付きバッチ正規化処理を使用する前記複数のエンコーディングで条件付けされる、請求項50から53のいずれかに記載の方法。
【請求項55】
識別器(D)は、前記複数のエンコーディングの各エンコーディングに出力投影処理を使用する前記複数のエンコーディングで条件付けされる、請求項50から54のいずれかに記載の方法。
【請求項56】
コンピューティングデバイスの処理部によって実行されると、請求項29から55のいずれかに記載の方法を実行するように前記コンピューティングデバイスを構成する命令を記憶する非一時的な記憶部を備えるコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は平成30年11月15日に出願された米国仮出願第62/767,769号の国内利益および/または優先権を主張し、その内容は、許容される場合に参照により本明細書に組み込まれる。
【0002】
本発明は、画像処理に関し、より詳細には、条件付きサイクル一貫性を有する生成画像変換モデル(例えば、ニューラルネットワークモデル)を使用して画像を変換する画像処理によって拡張現実を生成することに関する。
【背景技術】
【0003】
仮想のメイクアップをリアルタイムに行うアプリケーションは、アイデンティティと詳細なリアリズムとを高度に維持しながら、拡張現実における対話型の体験をユーザに提供する。理想的には、ユーザは、メイクアップ製品(例えば、口紅またはアイシャドウ)を実際に試着することなくプレビューすることを望んでいる。更に、仮想の試着は、ユーザの個人的な好みに応じて、製品に関する属性(例えば、色および光沢)を調整する自由をユーザに与える。
【0004】
このようなアプリケーションの多くは、従来の機械学習またはコンピュータビジョンの技術に依存しており、次の2つのステップ、即ち、一連の回帰フォレストのカスケード又は他の方法に基づいて顔のランドマークを検出するステップ、及び、従来のグラフィック技術と検出されたランドマークを使用して出力画像を生成(レンダリング)するステップを含む。この2つのステップの解決策は非常に高速であり、ほとんどの場合、信頼できる結果を生成するが、いくつかの制限がある。特に、(i)生成されたメイクアップの形は、検出されたランドマークの精度によって制限され、(ii)仮想メイクアップの色および輝きは、実際の製品の特性、照明の方向や輝度等の推定値に基づいて手動で設計する必要があり、(iii)仮想のメイクアップと元の画像との合成は人間の肌の色に従って注意深く調整する必要がある。
【0005】
これらの制限および他の理由のために、この解決策は、現実性を維持しつつ大量の製品に容易に対応することができない。新しい製品をサポートするためには、これらのパラメータを、実際の製品に十分に似た描写になるまで調整しなければならない。このプロセスは時間がかかり、不正確であり、従って、製品カタログのサイズが大きくなるにつれて対応が不十分になる。
【0006】
純粋に教師なしの方法で顔の特徴空間を探索し学習する作業が行われてきた。しかしながら、メイクアップのアプリケーションのタスクは、関連する領域のみが修正されるべきであり、顔の他の部分または属性は、可能な限り同一のままであるべきであるという意味で、より厳密である(アイデンティティを保持する課題)。
<画像変換>
【0007】
具体的な顔の属性を操作することは、画像変換(image-to-image translation)の課題と見なすことができる。Pix2Pix[1](参考文献は以下に列挙され、許容される場合、参照により本明細書に組み込まれる)及びCycleGAN[2]は、この2つのドメインの課題にGANを使用して取り組む。前者は、対になった画像のデータセットを利用するが、後者は、2つの対になっていないデータセットから変換モデルを学習することができる。これは、サイクル一貫性損失により、解空間で可能なマッピング関数の数を減らすことができるためである。CycleGANの1つの注目すべき欠点は、それが2つ以上のドメイン間で変換できないことである。CycleGANのアーキテクチャに基づいて、対のCycleGAN[3]は、メイクアップなしの写真を参考写真のメイクアップのスタイルに変換し、参考写真をメイクアップなしの写真に変換する際のサイクル一貫性損失の最適化により、メイクアップを生成する課題に対処する。メイクアップのアプリケーションのための生成器は、1)ソースのメイクアップ無しの画像、および2)目的とするメイクアップが適用された参考画像を入力とし、そのアイデンティティを保持しながら、メイクアップが適用されたソース画像を出力する。対のCycleGAN及びCycleGANにおけるこの方法の主な違いは、メイクアップをすることと、メイクアップを削除することとに対応する2つの生成器の一方がスタイルを転送し、他方がスタイルを削除する非対称な機能であることである。この研究はサイクル一貫性損失を有するGANが複雑な口紅の特性を学習し、それらを正確に表現できることを明確に実証しているが、参考画像の必要性は現実的な使用事例にとって問題がある。
【0008】
モデルが仮想の試着機能としてオンラインストアで使用される場合、製品ごとに参考画像が必要になる。さらに、参考画像内の照明およびアイデンティティなどの態様は、口紅の表現に微妙な影響を及ぼし、単一の事例で表示されるものではなく、真の口紅の特性をエンコード(符号化)するモデルの機能を制限する。
<条件付き画像生成>
【0009】
生成モデルの最近の発展は、実世界の高次元のデータ分布をモデル化する課題に取り組んでいる。生成モデルの2つの主な傾向は、敵対的生成ネットワーク[4]と対数尤度に基づく方法(例えば、自己回帰モデル[5]、変分オートエンコーダ[6]、及び、可逆的な生成フロー[7])である。これらのモデルは、訓練中にラベルを供給することにより、実際のデータの部分分布(sub-distribution)を条件とすることができる。この条件付き確率モデルをどのように実施するかについての詳細は、最近の文献では様々である。
【0010】
条件付きGAN(cGAN)[8]は、条件付き変数ベクトル→eが与えられると、生成器の分布(Generator distribution)と対象データ(target data distribution)の分布のサブセットとの間の差を最小化する。Mirzaら[9]およびReedら[10]は、条件ベクトルを識別器(Discriminator)の入力または中間畳み込み層間の特徴マップに連結することを試みた。StarGAN[11]では、ラベル情報を使用して、識別器内の特徴ベクトルの上に構築された追加の分類器を監視することが検討されている。Miyatoら[8]は、識別器中の特徴ベクトルと条件ベクトルとの内積をとる出力射影法の使用を試みた。
【0011】
典型的には、最近の文献および実験によると、cGANについては識別器および生成器の両方を、最良の性能を発揮するように調整する必要がある。Miyatoら[8](その全体が参照により本明細書に組み込まれる)は、cGANの生成器を条件付けするために、条件付きバッチ正規化(CBN)レイヤを使用するという考えをPerezら[12]から借用する。
【発明の概要】
【0012】
従って、条件付きメイクアップ空間を独自に学習できるエンドツーエンドモデル(end-to-end model)を有することが望ましい。即ち、メイクアップをしている現実世界の人々の画像および/または映像を訓練することにより、モデルは人物のアイデンティティを保持すると同時に、画像を修正してメイクアップの現実的な表現を生成する方法を学習できる。
【0013】
ここでは、条件付きサイクル一貫性を有する生成画像変換のモデル、例えば、追加機能を有する修正されたCycleGANのアーキテクチャ(例えば、cGAN機能)が開示される。追加された機能は、メイクアップ特性のような拡張現実の画像特性を表す参考見本(reference swatches)をエンコードする条件付き変数ベクトルが与えられた場合に、生成器の分布と対象データの分布のサブセットとの間の差を最小化するために用いられる。より具体的には、生成器を調整するために、畳み込み条件付きバッチ正規化(CCBN)を使用して、効果(例えば、メイクアップ)の特性を表す参考見本画像(reference swatch images)をエンコーディングするベクトルを適用する。
【0014】
画像に適用される効果に応じて、第1のドメイン空間から第2の連続するドメイン空間に前記画像を変換するコンピューティングデバイスが提供される。このコンピューティングデバイスは、記憶部と、処理部と、を備える。前記記憶部は、前記画像を前記第2の連続するドメイン空間に変換するように構成された、条件付きサイクル一貫性を有する画像変換のモデルを記憶し、前記モデルは、適用される前記効果の物理的特性を連続的に表す複数のエンコーディングを使用した訓練によって条件付け(conditioned)され、前記複数のエンコーディングは、適用される前記効果の各々の個別のインスタンス(discrete instance)からエンコードされ、前記個別のインスタンスは、適用される前記効果がないことを表すインスタンスを含み、前記処理部は、適用される前記効果の所望のインスタンス(desired instance)及び前記画像を受信し、変換された画像を得るために前記所望のインスタンス及び前記画像を前記モデルに提供し、提示用の前記変換された画像を提供する。
【0015】
適用される前記効果は、メイクアップ効果(例えば、仮想の口紅)、ネイル効果(例えば、マニキュア及びペディキュア効果のような手の指または足の指のネイル効果)、及び、ヘアカラー効果のうちの1つであっても良い。
【0016】
前記画像は、適用される前記効果がなくても良く、前記第1のドメイン空間は、それぞれ適用される前記効果がない複数の画像によって定義される。
【0017】
前記モデルは、条件付きサイクル一貫性を有する敵対的生成ネットワーク(ccGAN)モデルを備えていても良い。
【0018】
前記モデルは、エンコーダ(E)によってエンコードされた前記複数のエンコーディングを使用して訓練された生成器(G)及び識別器(D)を備えていても良い。
【0019】
前記生成器(G)は、前記複数のエンコーディングの各々のエンコーディングに畳み込み条件付きバッチ正規化処理を使用する前記複数のエンコーディングで条件付けされても良い。
【0020】
前記識別器(D)は、前記複数のエンコーディングの各々のエンコーディングに出力投影処理を使用する前記複数のエンコーディングで条件付けされても良い。
【0021】
前記エンコーダは、適用される前記効果の前記インスタンスの各々の前記物理的特性を、適用される効果がないことを表す見本画像を含む、前記インスタンスの各々に関する見本画像からエンコードするように構成されても良い。
【0022】
前記モデルは、訓練された前記生成器(G)を備えていても良い。
【0023】
前記コンピューティングデバイスは、前記複数のエンコーディングを記憶するように構成されたデータストア(例えば、データベースとして構成されても良いデータ記憶装置)に結合されても良く、前記処理ユニットは、適用される前記効果の前記所望のインスタンスに対応する前記複数のエンコーディングのうちの対応する1つを前記モデルに提供するように構成されても良い。前記データストアは、前記モデルに訓練されなかった適用される前記効果の各々のインスタンスに対する1又は複数の非訓練インスタンスエンコーディングを記憶しても良く、前記処理ユニットは、適用される前記効果の前記所望のインスタンスに対応する1又は複数の前記非訓練インスタンスエンコーディングのうちの対応する1つを前記モデルに提供するように構成されても良い。
【0024】
前記生成器Gのパラメータθは、下記の数式1に従って、2つの補完的な方向の敵対的損失と、サイクル一貫性損失とを最小化することによって最適化されても良い。
【数1】
【0025】
前記識別器Dのパラメータθは、下記の数式2に従って、2つの補完的な方向の前記敵対的損失を最大化することによって最適化されても良い。
【数2】
【0026】
前記画像は、自撮り画像または自撮り映像で構成されていても良く、前記自撮り映像の場合には、前記処理ユニットは、前記自撮り映像の画像を変換して、そこに前記効果を適用して、3Dの効果、特に3Dのメイクアップ効果を生成するように構成される。
【0027】
前記画像は、前記モデルに提供する前に前記処理部によって前処理されても良い。
【0028】
前記変換された画像は、前記画像の部位(region)を構成していても良く、前記処理部は、前記変換された画像を提示用の前記画像に合成するように構成される。
【0029】
前記コンピューティングデバイスは、処理部が受信する画像をキャプチャするために、カメラを備えていても良いし、カメラに結合されていても良い。前記コンピューティングデバイスは、サーバを備え、前記処理部は、前記サーバと通信しているクライアントデバイスから、前記画像および前記所望のインスタンスを受信するように構成されても良い。
【0030】
前記記憶装置は、前記所望のインスタンスを定義する所望のインスタンス選択機能をユーザに提供するためのインターフェースの命令を記憶しても良く、前記プロセッサは、前記命令により、前記インターフェースを提供し、入力を受信し、その入力に応じて前記所望のインスタンスを定義するように構成されても良い。前記入力は、以前に前記モデルに訓練されていないカスタム効果を含んでいても良い。前記記憶装置は、所望の前記効果を定義するために使用する以前に計算されたエンコーディングを検索する検索機能の命令を記憶しても良い。前記プロセッサは、前記命令によって、前記入力および検索機能を使用して、所望の前記効果を定義するために前記計算されたエンコーディングから前記カスタム効果に最適なもの見つけるように構成されても良い。前記記憶装置は、所望の前記効果に関する新しいエンコーディングを定義するエンコード機能を提供するための命令を記憶しても良く、前記プロセッサは、前記命令によって、前記入力および前記エンコード機能を使用して、前記カスタム効果のための所望の前記効果を定義するように構成されても良い。
【0031】
条件付きサイクル一貫性を有する画像変換のモデルを生成するように構成されたコンピューティングデバイスが提供され、前記モデルは、画像に適用される効果に従って、前記画像を第1のドメイン空間から第2の連続するドメイン空間に変換するように構成される。このコンピューティングデバイスは、生成器、識別器、及び、エンコーダを有する前記モデルを記憶する記憶装置と処理部とを備え、前記モデルは、適用される前記効果の物理的特性を連続的に表す前記エンコーダからの複数エンコーディングを使用した訓練を通して前記生成器および前記識別器を条件付けするように構成され、前記複数のエンコーディングは、適用される前記効果の複数の個別のインスタンスからエンコードされ、複数の前記個別のインスタンスは、前記適用される効果がないことを表すインスタンスを含み、前記処理部は、前記訓練データを受信し、前記訓練データをバッチで前記モデルに提供して、訓練された前記モデルを定義する。前記モデルは、条件付きサイクル一貫性を有する敵対的生成ネットワーク(ccGAN)のモデルで構成されていても良い。
【0032】
訓練データを受信するために、前記処理部は、効果が適用されていないドメイン空間を構成する前記第1のドメイン空間Xから複数の実画像xを受信し、各xは前記効果が適用されていないことを表し、効果が適用されるドメイン空間を構成する前記第2の連続するドメイン空間Yから複数の実画像y
jを受信し、各y
jは適用された前記効果のインスタンスjを有し、j=1、2、3、・・・は前記効果の各々の前記個別インスタンスを表し、前記効果の各々の前記個別インスタンスを表す複数の参考画像z
jを受信し、適用される前記効果がないことに対応する空白の画像(white image)z
0を受信するように構成されても良い。前記処理部は、前記生成器(G)及び識別器(D)のパラメータθ
G及びθ
Dを開始するように構成されても良い。バッチで前記訓練データを提供するために、前記処理部は、前記訓練データから決定されたバッチ及び前記訓練エポックで、前記エンコーダを使用して、前記生成器(G)及び前記識別器(D)のためのエンコーディングE(z
j)をエンコードし、前記エンコーダを使用して、前記生成器のためのエンコーディングE(z
0)をエンコードし、前記画像x及びエンコーディングE(z
j)を生成器(G)に提供して、前記第2の連続するドメイン空間で偽画像y
jfakeを生成し、前記偽画像y
jfakeとそれに対応する実画像y
jとエンコーディングE(z
j)とを前記識別器(D)に提供して出力d
jを生成し、前記偽画像y
jfake及びエンコーディングE(z
0)を生成器(G)に提供してx´を出力し、下記の数式3に従って、前記敵対的損失およびサイクル一貫性損失を最小化することによって前記生成器(G)のパラメータθ
Gを最適化し、前記敵対的損失を最大化することによって前記識別器(D)のパラメータθ
Dを最適化するように構成されても良い。
【数3】
【0033】
当業者は、同等の方法およびコンピュータプログラム製品の態様も認識することができるであろう。
【図面の簡単な説明】
【0034】
【
図1】サイクル一貫性損失を有する条件付きGANを使用してモデルをトレーニングするためのデータフローを表したものである。
【
図2】実施例によるダウンサンプリング、拡張、及び、残差ブロック層の数の効果を表形式で表したものである。
【
図3】学習されたエンコーディング空間を色次元(0°から360°の色相)で補間する様子を表形式で表したものである。
【
図4】学習したエンコーディング空間を湿り度の次元(0から1)で補間する様子を表形式で表したものである。
【
図5】テストセットの合成見本画像を用いて、学習したエンコーディング空間を補間する様子を表形式で表したものである。なお、訓練中には、グラウンドトゥルース画像は使用していない。
【0035】
【0036】
【0037】
【0038】
【0039】
本発明の概念は、添付の図面を参照し、本明細書に記載されている特定の実施形態を通して最もよく説明され、同一の符号は全体を通して同一の特徴を指す。本明細書で使用される場合、「発明」という用語は、単に実施形態自体ではなく、以下に記載される実施形態の基礎をなす発明概念を暗示することを意図していることを理解されたい。更に、本発明の一般的な概念は、以下に記載される例示的な実施形態に限定されず、以下の説明は、そのような観点から読まれるべきであることが理解されるべきである。メイクアップ効果として、仮想の口紅に関して主に記載されているが、本明細書の教示は、当業者によって理解されるように、メイクアップ(化粧)、ネイル、及び、ヘアカラー(髪の着色)を含むがこれらに限定されない他の拡張現実の効果に適用されても良い。
【発明を実施するための形態】
【0040】
近年、サイクル一貫性損失を有する条件付きGANのような条件付き生成画像変換ネットワークは、ドメイン間の画像変換のタスクに対して顕著な結果を達成した。これらの方法の主な利点は、対になっていないデータについて訓練できることであり、これは、拡張現実の問題を含む多くの問題を助ける。姿勢や照明などの他の全ての変数を同一に保ちながら、一方が口紅のようなメイクアップ効果を有し、他方が有しない2つの現実の画像を得ることは、ほぼ不可能であるか、又は時間および資源が法外に高くなる。言い換えれば、例えば教師付き学習のためのデータのような十分な量の対のグラウンドトゥルースデータを得ることができない。
【0041】
更なる問題は、適用される効果に関連して考慮できる。例えば、口紅のドメイン(但し、他のドメインでも同様)では、条件付けパラメータ(conditioning parameter)を使用して、適用したい様々な口紅を表すことができ、この条件付けパラメータは、サブドメインを指定するものと考えることができる。この条件付けは、単純に口紅製品の個別のワンホット(one-hot)エンコーディングとして表現することができない。これは、この方法に拡張性がなく、物理的特性の共有された連続した空間に口紅が存在するという事実を利用しないためである。ここでは、簡単な見本画像をエンコーディングすることによって口紅(効果)の物理的特性の表現を作成し、そのエンコーディングを使用して画像変換モデル(例えば、GAN)を条件付け(condition)する方法が開示される。この方法は、前記問題を1)固有の口紅のないドメインと、2)連続する口紅のドメインとの間の変換としてフレーム化します。
【0042】
課題とその背景にある動機付けを説明したので、本文献は以下を開示していることが理解できる。(i)物理的な口紅(効果)の特性によって定義される連続するドメイン空間に画像を変換するモデルの訓練。(ii)そのモデルは、見本画像などの口紅(効果)に関して必要な全ての情報を含む単純な入力から、これらの物理的特性の表現を自動的に学習する。
<モデル構造>
【0043】
現在、本発明者らは、条件付きサイクル一貫性を有する生成画像変換のモデルを提供するために、いくつかの追加の修正を加えたCycleGANのアーキテクチャ[2]を選択する。本発明では、元の2ドメインのアーキテクチャを置き換えるために、条件付けだけでなく、対になった識別器/生成器を1組使用する。このようにして、多次元の連続するエンコーディング空間における3以上の変換の方向に拡張できる。訓練時に見られない任意の口紅を表現(レンダリング)するために、製品の簡単な見本画像をエンコーディングすることによって学習された連続する領域として口紅の空間を表す。上述したように、口紅は物理的効果の一例であり、他の効果が考えられる(例えば、他の顔、他の肌のメイクアップ、ヘアカラー、ネイルの効果など)
【0044】
また、cGANに導入した出力射影法を用いており、これは、より安定した訓練とより少ないモード崩壊とを示した。
【0045】
識別器および生成器の両方のモデルのアーキテクチャは、CycleGAN[2]から修正される。ResNetGeneratorと命名された生成器は、エンコーダ-ボトルネック-デコーダ型のアーキテクチャである。NLayerDiscriminatorと名付けられた識別器は、通常のエンコーダ型のアーキテクチャである。ネットワークの詳細を以下に列挙する。
【0046】
条件付けの性能をより向上させるために、出力投射で識別器を条件付けし、条件付きバッチ正規化で生成器を条件付けする。スペクトル正規化を、識別器および生成器の両方における全ての重みに適用する。
【0047】
図1は、モデル図を表すデータフロー100を示す。口紅無しの画像x102(例えば、メイクアップ無しのドメインからのメイクアップ無しの画像)と、口紅画像y
j104(例えば、メイクアップ有のドメインからのメイクアップ画像)が提供される。ここで、jは口紅のアイデンティティを示す(例えば、はメイクアップの対象サブドメイン内でj=1、2、3、・・・)。それぞれの口紅製品jについて、参考見本画像z
j106が提供される。
【0048】
まず、エンコーダ108を通して参考画像z
j106を供給して、e
jG=E
G(z
j)110A及びe
jD=E
D(z
j)110Bを含むe
j=E(z
j)110を生成することによって、口紅jの表現が生成される。エンコーディング110Aと生成器G112を使用することで、偽の口紅画像y
jfake114=G(x;e
jG)が生成される。画像y
jfake114及びy
j104(即ち、偽および真の口紅画像)は、
図1において118A及び118Bの符号が付されたd
j118={d
jreal,d
jfake}を生成するために、識別器D116に渡される。
【0049】
最後に(図示されていないが)、yjfakeから口紅を除去するためにサイクル一貫性が適用される。これを行うために、生成器G112は、口紅の無い場合で条件付けされ、これはz0として示される空白の見本をエンコーディングすることで実行され、x´=G(yjfake;EG(z0))を生成する。
【0050】
メイクアップスタイルのエンコーディングejG=EG(zj)110Aは、畳み込み条件付きのバッチ正規化処理を使用して生成器G104を条件付けする。即ち、エンコーダEの出力は、生成器ネットワークの異なる残差ブロック(residual blocks)におけるCBNの条件付けのために適合されている。これは、与えられたブロックの各CBNとエンコーダの間に小さな畳み込みネットワークを挿入することによって達成される(全てのブロックが必ずしもCBNによって条件付けされるわけではないが、アブレーションスタディ(ablation studies)では、1つのブロックのみが条件付けされることが最適ではないことを証明した)。生成器G112を訓練する時に、コードの条件付けを適応させるための最適な重みを取得するために、全てのCCBNが訓練される。
【0051】
エンコーディングejD=ED(zj)110Bは、出力投影処理(output projection operation)を使用して識別器D116を条件付けする。エンコーダE108は、畳み込み層と適応アベレージプーリング層とからなる浅いエットワークであり、その出力は、1次元エンコーディング→eに再形成される。
【0052】
生成器G112、識別器D116、及び、エンコーダE108のそれぞれのモデルアーキテクチャは、ネットワークの詳細に関連する以下の表にも記載される。基準エンコーダは、生成器G及び識別器Dの表にそれぞれ記載されている。
【0053】
訓練中、下記の数式4に従って、生成器G112のパラメータは、2つの補完的な方向(complementary directions)での敵対的損失とサイクル一貫性損失を最小化することによって最適化される。
【数4】
ここで、p
data(x)とp
data(y)は、メイクアップ無しのドメインとメイクアップ有のドメインにおけるパラメトリックデータのそれぞれの分布である。
【0054】
下記の数式5に従って、識別器D116のパラメータは、2つの補完的な方向における敵対的損失を最大化することによって最適化される。
【数5】
<推論時>
【0055】
推論中、生成器G112と、その生成器G112に関連するエンコーダE108(またはそのエンコーディング)のみが使用されるが、訓練中とはわずかに異なる方法で使用される。この手順は、以下のように要約できる。
1.製品カタログの各口紅j及びその見本画像zjについて、そのエンコーディングEg(zj)を取得し、後の使用のためにデータストア(例えば、データベース)に記憶する。与えられた口紅に対して複数の見本画像を得ることができる場合は、各画像のエンコーディングを平均することによって、より信頼性の高いエンコーディングを推論することができる。
2.与えられた口紅jを自撮り画像x上に生成するには、データベースからjのエンコーディングejG=EG(zj)を取得して生成器G(x;Eg(zj))を実行する。
3.モデルが唇の部分に切り取られた自撮りで訓練されている場合は、生成器の出力を元の自撮り画像の正しい位置に合成し直す。
【0056】
推測と訓練との主な違いは、口紅カタログ内の製品ごとにエンコーディングを事前に計算できることである。場合によっては、これらのエンコーディングをテストの自撮り上で手動調整し、実際の製品をより良く反映する表現を生成することもできる。これらのエンコーディングは、実際には存在しない口紅を表現するために、多くの方法で変更または組み合わせることができる。ユーザは(例えば、エンコーディングの値を選択するために)数字のスライダを動かすなどしてインターフェースにインプットを提供することにより、独自の口紅(例えば、適用される効果の所望のインスタンスとしてのカスタム効果)をデザインできる。次に、検索機能は、ユーザが作成したもの(例えば、カスタム効果)に密接に一致する実際の製品を見つけることができる(例えば、製品カタログ内のエンコーディングまでの最小のユークリッド距離(Euclidean distance)を使用して)。次に、この効果のエンコーディングを入力画像(例えば、静止画または動画)と共に生成器に提供して、ユーザが作成したものを仮想的に試すための修正された画像を生成できる。カスタム効果は実行時にエンコードされ、生成器に提供されても良い。従って、プロセッサと、そのプロセッサによって実行された時にコンピューティングデバイスの動作を構成する命令を記憶する記憶装置とを有するコンピューティングデバイスにおいて、記憶装置は、所望のインスタンスを定義するための所望のインスタンス選択機能をユーザに提供するインターフェースの命令を記憶することができる。次に、プロセッサはインターフェースを提供し、入力を受信し、その入力に応じて所望のインスタンスを定義することができる。
【0057】
入力は、モデルに対して以前に訓練されていないカスタム効果を定義することができる。記憶装置は、所望の効果の定義に使用するための以前に計算されたエンコーディングを検索する検索機能の命令を記憶することができる。プロセッサは、入力および検索機能を使用して、計算されたエンコーディングからカスタム効果に最適なものを見つけて、所望の効果を定義することができる。記憶装置は、所望の効果のための新しいエンコーディングを定義するエンコード機能を提供するための命令を記憶することができる。プロセッサは、入力とエンコード機能を使用して、カスタム効果から目的の効果を定義する。
<再訓練時>
【0058】
いつでも、単に新しい口紅の見本のエンコーディングをデータベース(データストア)に記憶することにより、その新しい口紅を製品カタログに追加できる。前節で述べたように、これは追加の訓練を必要としない。しかしながら、アプリケーションの長期的な保守のためには、モデルの訓練に元々使用されていたものとは大きく異なる物理的特性を有する新しい口紅が追加された場合に、モデルを定期的に再訓練することが好都合な場合がある。
【0059】
例えば、モデルは元々、通常のフラットな色について訓練されていることがあるため、不均一な特性を有する光沢のある口紅には十分に一般化されないであろう。このケースでは、モデルは、光沢のある口紅の見本と、その光沢のある口紅が様々な人に適用された際の外観の結果とを使用して訓練される必要がある。しかし、実際には、多数の口紅が同じタイプの物理的特性を共有するので、これは一般的なことではないことに留意されたい。
【0060】
訓練および推論のための処理は、以下の処理のリストに要約され、示されている。
(リスト)
【0061】
大まかに言えば、訓練動作のために、それぞれの生成器および識別器のパラメータが初期化される。訓練は周知のように、バッチを含むエポックで行われる。訓練インスタンスでは、バッチごとに、効果が適用されていない第1のドメインからの実画像、効果が適用された第2のドメインからの実画像、及び、適用された効果のエンコーディングを含む訓練データを用いて訓練が実行される。また、効果が適用されていないエンコーディング(空白の効果の画像)も使用される。モデルの構成要素(生成器および識別器)は訓練データを処理し、(1又は複数の)損失関数が決定される。生成器および識別器のそれぞれのパラメータは、次の訓練インスタンスの損失関数に応じて調整される。
【0062】
追加の処理ステップには、メイクアップ製品のデータセット(効果データセット)を収集することを含む。製品、アイデンティティ、及び、環境に大きな相違を有するデータセットは、連続する空間を定義するために好ましい。理想的には、条件付きサイクルGANのための訓練画像は、様々な背景の下で様々な製品を着用する人々の画像の例である。例えば、追加の処理は、生成物毎に、10個の見本の参考画像を製品ごとに収集することができる。ここでは、メイクアップのエンコーディング空間をカバーし、同じ空間に属する新しい未知の製品を上手く一般化するために、様々な製品が最も重要な要素である。対照的に、メイクアップをしていない人の画像のバリエーション及び量も、比較的少なくすることができる。モデルは、エンコーダが共同で学習しているメイクアップ製品の物理的表現に基づいて条件付けすることにより、上記の処理の一覧のリストに沿って訓練される。効果をエンコーディングするベクトルは、推論時に見本をエンコーディングするのではなく、推論時にモデルに提供するために記憶装置(例えば、データベース)を含むデータストアに記憶されても良い。このデータストアは、効果のカタログを定義しても良い。
【0063】
追加の処理は、再訓練の有無にかかわらず、カタログ(データストア)に新しい口紅を追加することができる。サポートされているカタログに新製品を追加するたびにモデルを再訓練しないようにしたいので、モデルが新製品を一般化できる機能は、従来の技術との重要な違いである。いずれにせよ、追加される新製品(特定の効果など)が、モデルが既に訓練している製品と同じ特徴空間に属している場合、カタログへの新製品の追加は非常に簡単である。他の場合(例えば、新製品が異常値であり、モデルが既に訓練している特徴空間の範囲外である場合)、又は必要に応じて、特定の効果を使用してモデルを再訓練することができます。例えば、追加される製品がカタログ内の既存の全ての製品と著しく異なっている場合(例えば、カタログに単一のトーンしか含まれていない場合の光沢のある口紅)、又は多数の新製品がカタログに追加される場合は、モデルは、それらの新製品で微調整され、組み合わされた新しいデータセット全体で再訓練され得る。
【0064】
提示された画像変換方法のイノベーションは、生成器および識別器が簡単な見本画像から抽出される口紅の物理的特性を生成器および識別器が学習、使用することにより、それら生成器および識別器のタスクを実行することである。その結果、訓練時に見たことのない新しい製品の見本がモデルに提示された場合、そのタスクは変更されず、適切に一般化できるはずである。新製品は製品の物理的特性を抽出することができ、それらの特性が最終的な外観にどのように影響するかを知っているので、新製品が顔に塗られた時にどう見えるかの例を見る必要はない。
【0065】
この一般化を実現するために、モデルは、人間に適用された場合の口紅の効果および口紅の性質の両方を学習することができるように、訓練中に口紅の種類に十分な変化が見されるように訓練される。例えば、金属光沢のある口紅の例がモデルに示されていなかった場合、金属光沢のある材料を構成する固有の特性を表すことを学習せず、また、生成時にこれらの特性を使用する方法を知りません。一方、金属光沢のある数種類の口紅が示されており、訓練後に新しい色の1つが提示された場合、訓練中に同様の色が示されていれば、その特性をエンコードして正しく生成できる。同様の色の金属光沢のあるタイプの口紅を見る必要はなく、同様の色を有する任意のタイプのリップスティックを見ることで十分であることに留意されたい。
【0066】
要約すると、訓練に必要な口紅の種類の数は、生成したい口紅の特徴空間の大きさの関数であることがわかる。この値は定量化するのが困難であるが、同じ口紅を使用する環境でのバリエーションよりも、口紅の種類のバリエーションを優先することが最適なデータの収集方法であることを示唆している(即ち、各々が多数の例を有する少数の口紅よりも、各々が少数の例を有する多数の口紅)。
<実験と結果>
【0067】
全ての実験について、口紅を含む画像と口紅を含まない画像のデータセットを使用する。実験およびそれらの解析を簡単にするために、本発明者らは他の種類のメイクアップを考慮しないが、記載された方法は他の種類のメイクアップにも適用され得る。
<評価指標>
【0068】
整合性のとれたグラウンドトゥルース画像がないため、学習された画像変換モデルの評価はしばしば困難であり、タスクの性質に応じて変化する。メイクアップを適用したケースでは、唇の領域が実際に口紅を塗った場合と同じくらい現実的であることが理想的ですが、一方、顔の他の領域での変化は感知できないべきである。
【0069】
最初に、生成された画像と入力画像との間の差を正規化したデルタ画像(delta image)の質を視覚的に検査する。これは、グランドトゥルース画像なしで実行できる。
【0070】
合成データセットで訓練を評価する場合、整合性のとれたグラウンドトゥルースを得ることはできるが、実際のメイクアップのデータセットで整合性のとれたグラウンドトゥルースを得ることは通常非常に困難である。生成モデルの性能を評価する普遍的な方法は、例ごと(example-wise)又は点ごと(point-wise)の比較の代わりに、アラインメントに関係なく、全てのグラウンドトゥルース画像と生成された画像との間の分布の差を比較することである。
【0071】
評価中のノイズを低減するために、生成された画像とグラウンドトゥルース画像とで唇の領域のみを比較する。生成モデルを評価する一般的な方法には、フレッチェット・インセプション距離(Frechet Inception Distance)(FID)[15]及びインセプションスコア(Inception Score)(IS)[16]が含まれる。
<ダウンサンプリング、拡張、層数>
【0072】
多段階のダウンサンプリングは、文献においてオブジェクトの分類タスクに対してCNNsを計算的に実用的にした。しかしながら、詳細な空間情報が必要とされるタスク(例えば、画像の変換や再構成)の場合、この空間の解像度の低下は、モデルの性能に大きな影響を及ぼす可能性がある。逆に、畳み込みの拡張係数を増大させたり、生成器内の多数の残差ブロックを使用したりすることは、空間の解像度を維持することができ、詳細な口紅の分布を正確にモデリングするために使用できる。
図2は、これらの3つのハイパーパラメータを変化させることの影響に関するアブレーションスタディを示す。4.1節で述べた評価指標に基づく対応する評価結果を表1に示す。
【表1】
【0073】
本発明者らは、「9層、1ダウンサンプル、32の拡張(dilation)」のモデルが最良の性能を発揮することを見出した。しかし、携帯デバイスでのメイクアップのプレビューのようなリアルタイムのアプリケーションでは、その計算とメモリー使用量は実用的な限界を超えている。この場合、残差ブロックの数を2層に減らすことは、性能と計算の間で妥協できる実用的な方法である。
<合成口紅のデータセットでの連続したエンコーディング>
【0074】
概念の実証のために、まず、手作業で設計された5次元(R、G、B、湿り度、艶の詳細)のエンコーディング空間で訓練を試みた。
図1とは対照的に、この場合には基準エンコーダは不要である。特定の口紅に対するエンコーディング→eは、その口紅の(R、G、B、湿り度、艶の詳細)の属性ベクトルに等しく、一方、口紅無しの領域に対するリバースエンコーディング←eは(-1,-1,-1,-1,-1)の定数ベクトルである。
【0075】
図3及び
図4は、訓練中に必ずしも現れないいくつかの等間隔のサンプル点上で、それぞれRGB次元(色相=0~360°)及び湿り度の次元(湿り度=0~1)で多次元のエンコーディング空間を補間することによって、テストセットにおける非共有アイデンティティの画像を生成したものです。合成口紅のデータセットをエンコーディングする参考画像
【0076】
図2は、合成RGBの見本データセットで訓練されたモデルから生成された画像を示す。このデータセットにおける訓練セットは、以下の処理に従って生成される。
【0077】
1)一様分布U(R、G、B)から(R、G、B)の点jをサンプリングする。
【0078】
2)この色とメイクアップ無しの写真xを仮想のメイクアップを試着する従来のプログラムに渡し、この色の口紅jで合成画像yを生成する。
【0079】
3)jに似た色、且つ形状の異なる5つの合成の見本画像を生成する。
【0080】
4)全てのメイクアップ無しの写真についてステップ1~3を繰り返す。
【0081】
テストセットには、訓練セット内の全てのアイデンティティが含まれるが、顔の位置または向きが異なる。また、訓練セットに現れない追加のアイデンティティ(
図2、3、4、及び、5に示される)も含まれる。参考見本画像は、訓練セットに必ずしも現れない12個の等間隔の色相補間カラーポイントの一定配列に基づいて生成される。テスト中、モデルは、テストセット内の各画像について、これらの12個の口紅の各々をテスト画像の上に塗る。
<計算環境の例>
【0082】
上記の方法は、クライアント・サーバモデルのようなシステム又はコンピューティングデバイスに実装することができる。ニューラルネットワークモデルは、アプリケーション(例えば、コンピューティングデバイス上)、又は、ウェブブラウザ(例えば、クライアントデバイスと通信するサーバコンピューティングデバイス(例えば、タブレット、スマートフォン、ラップトップ、デスクトップ、キオスク又は他のフォームファクタのようなユーザデバイス上))を介して提供され、ユーザが自撮り(画像を有する静止画または動画)を撮影し、拡張現実のインターフェースで仮想的にメイクアップを試すことを可能にする。ニューラルネットワークモデルは、クラウドからのサービスとして提供されても良い(例えば、メイクアップ無し画像およびメイクアップの選択を受信し、メイクアップ無しの画像に適用されたメイクアップを示す「修正された」または変換された画像を返す)。
【0083】
ユーザには、適用するメイクアップを選択または設定するためのインターフェース(例えば、グラフィカル・ユーザ・インターフェース(GUI))が提供され、自撮り画像または自撮り映像を撮影し、それにメイクアップ効果が適用された状態を見ることができる。自撮り映像は、リアルタイム又はほぼリアルタイムで効果を適用するように変換されても良い(例えば、変換された映像に現れる3Dのメイクアップ効果を提供する)。
【0084】
それぞれ異なるメイクアップが適用された2つ以上の生成された画像は、GUIにおける比較のために(例えば、並べて)提示または記憶されても良い。
【0085】
インターフェースは、(例えば、コンピューティングデバイスのタッチスクリーン上の)ジェスチャ、ポインタ入力、音声入力、文字入力などに応じて起動/呼び出されても良く、コンピューティングデバイスは、それに応じた入出力デバイス及び機能を備えて構成される。
【0086】
命令(ソフトウエア)は、提供され、その命令がコンピューティングデバイスの処理部によって実行されるときなど、コンピューティングデバイスの動作を構成する(例えば、コンピューティングデバイスの記憶部に記憶する)ために提供されても良い。
【0087】
一態様では、コンピューティングデバイスは、画像に適用される効果に従って、画像を第1のドメイン空間から第2の連続するドメイン空間に変換する。本コンピューティングデバイスは、画像を第2の連続するドメイン空間に変換するように構成された、条件付きサイクル一貫性を有する敵対的生成ネットワーク(ccGAN)モデルを記憶する記憶部と、処理部と、を備え、ccGANモデルは、適用される効果の物理的特性を連続的に表す複数のエンコーディングを使用した訓練によって条件付けされ、複数のエンコーディングは、適用される効果の各々の個別のインスタンスからエンコードされ、その個別のインスタンスは、適用される効果がないことを表すインスタンスを含み、処理部は、適用される効果の所望のインスタンス及び画像を受信し、変換された画像を得るために所望のインスタンス及び画像をモデルに提供し、提示用に変換された画像を提供する。
【0088】
適用される効果は、メイクアップの効果、例えば、図示または説明されるような仮想の口紅であっても良い。
【0089】
適用される効果は、ヘアカラーの効果であっても良い。即ち、メイクアップのスタイルの転写に関する提案された方法は、ヘアカラーの転写/ヘアカラーの着色に拡張することができる。ヘアカラーは、同様の方法を使用して、毛髪画像の画素(ピクセル)を修正する目的で同様に適用することができ、生成器G及び識別器Dは、エンコーダEを介した訓練用のヘアカラー画像を使用して条件付けされる。その訓練用の画像は、効果の個別のインスタンス(即ち、ヘアカラー)を表すが、訓練用の画像は、仮想の口紅の例と同様に、適用される効果のための連続する(サブ)ドメインでの推論で画像変換を可能にするのに十分なデータを提供するようにエンコードされる。訓練は、様々なヘアカラーを有する人物の画像Xの集まりを用いて同様の方法で実行され、着色のアプリケーションの対象となるヘアカラーの空間jをカバーする。被写体(例:人間)の訓練画像Xは、現実的な照明条件下で行われるべきである。訓練画像はまた、アイデンティティを保存する訓練のために十分な数の異なるアイデンティティ(すなわち、異なる人物)を含む。
【0090】
エンコーダEを介して適用される訓練用の毛髪の見本(例えば、画像zj)を定義するために、第1の画像セットから訓練対象の毛髪に関する別の画像セットが収集される。この第2の画像セットは、例えば、色のインスタンスjのための毛髪の見本が、変化するランダムな照明条件のような厄介な要因で汚染されないように、制御された照明条件下で取得される。サンプルの毛髪画像のパッチは、これらの制御された画像から抽出され、特定のヘアカラーの見本をエンコードするために使用される。訓練中のヘアカラーの全体が色の空間を定義する。メイクアップ製品のエンコーディングと同様に、ヘアカラーの空間をまばらにサンプリングすれば良いが、ユーザにより広い選択肢を与え、要求された色の効果が訓練の事例にマッチしない場合など、連続するドメイン内で補間するためのより正確な結果を与えるために、好ましくは十分な範囲でサンプリングすることが望ましい。推論では、メイクアップの効果と同様に、訓練の過程で見られない毛髪の見本はテストの被写体(test subject)(画像)のヘアカラーを変えるためにエンコードされ、使用される。毛髪無しの効果z0は、本明細書に記載されるメイクアップの効果と同様に定義されても良い。
【0091】
コンピューティングデバイス及び方法の態様に加えて、本明細書に記載された方法の態様のいずれかを実行するようにコンピューティングデバイスを構成するための命令が非一時的な記憶装置(例えば、メモリー、CD-ROM、DVD-ROM、ディスクなど)に格納される、コンピュータプログラム製品の態様が開示されていることを当業者は理解するのであろう。
【0092】
実際の実施は、本明細書に記載された特徴のいずれか又は全てを含むことができる。これら及び他の態様、特徴、ならびに様々な組み合わせは、方法、装置、システム、機能を実行するための手段、プログラムプロダクト、及び、他の方法で、本明細書で説明される特徴を組み合わせて表され得る。多数の実施形態が記載されているが、本明細書で説明されるプロセスおよび技術的思想及び範囲から逸脱することなく、様々な修正を行うことができることが理解されるだろう。加えて、他のステップが提供されても良く、または記載された方法からステップが排除されても良く、他のコンポーネントが記載されたシステムに対し、追加または除去されても良い。従って、他の態様は特許請求の範囲内にある。
【0093】
本明細書の記載および特許請求の範囲を通して、単語「含む」および「備える」およびそれらの変形表現は「含むがこれに限定されない」を意味し、他の構成要素、整数またはステップを排除することを意図しない(排除しない)。本明細書全体を通して、文脈が別途必要としない限り、単数は複数を包含する。つまり、本明細書がその状況が他のことを要求していない限り、単数だけでなく複数も意図していると理解されたい。
【0094】
本発明の特定の態様、実施形態または例に関連して記載される特徴、整数特性、化合物、化学部分または基は、それらと非互換でない限り、任意の他の態様、実施形態または例に適用可能であると理解されるべきである。本明細書に開示された特徴(添付の特許請求の範囲、要約書、及び、図面を含む)の全て、或いはそのように開示された任意の方法または処理のステップの全ては、そのような特徴或いはステップの少なくともいくつかが相互に排他的である組み合わせを除いて、任意の組合せで組み合わせることができる。本発明は、前述の例または実施形態の詳細に限定されない。本発明は、本明細書(添付の特許請求の範囲、要約書、及び、図面を含む)に開示された特徴の任意の新規なもの、または任意の新規な組み合わせ、または開示された任意の手法または処理のステップの任意の新規なもの、又は任意の新規な組み合わせに拡張される。
【0095】
重要なことに、ニューラルネットワークモデルは、コンピューティングデバイスを一般的なコンピューティングデバイスから、以前には見られなかった特殊なデバイスに変換する。ニューラルネットワークモデルに従って提供される装置、方法、及び、他の態様は、特定の物品を別の状態または物に変換または縮小する(1つのドメイン空間から、効果が追加される第2の連続するドメイン空間に画像を変換する)効果をもたらす。ニューラルネットワークモデルに従って提供されるデバイス、方法、及び、他の態様は、具体的な特徴および/または機能および/または処理を含み、これらのいずれか(又は両方)は、1)当分野で良く理解されている日常的な従来の活動以外のものであるか、又は2)その態様を特定の有益な用途に限定する非従来的なステップを追加する。
<ネットワークの詳細>
【表2】
【表3】
<参考文献>
[1] P. Isola, J.-Y. Zhu, T. Zhou, and A. A. Efros,“Image-to-image translation with conditional adversarial networks,” in Conference on Computer Vision and Pattern Recognition , 2017.
[2] J.-Y. Zhu, T. Park, P. Isola, and A. A. Efros,“Unpaired image-to-image translation using cycle-consistent adversarial networks,” in Computer Vision (ICCV), 2017 IEEE International Conference on, 2017.
[3] H. Chang, J. Lu, F. Yu, and A. Finkelstein,“PairedCycleGAN: Asymmetric style transfer for applying and removing makeup,” in CVPR 2018, June 2018.
[4] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y.
Bengio,“Generative adversarial nets,” in Advances in Neural Information Processing Systems 27 (Z. Ghahramani, M. Welling, C. Cortes, N. D. Lawrence, and K. Q. Weinberger, eds.), pp. 2672-2680, Curran Associates, Inc., 2014.
[5] A. van den Oord, N. Kalchbrenner, and K. Kavukcuoglu,“Pixel recurrent neural networks,” CoRR, vol. abs/1601.06759, 2016.
[6] D. P. Kingma and M. Welling,“Auto-Encoding Variational Bayes,” ArXiv e-prints, Dec. 2013.
[7] D. P. Kingma and P. Dhariwal,“Glow: Generative Flow with Invertible lxl Convolutions,” ArXiv e- prints, July 2018.
[8] T. Miyato and M. Koyama,“cGANs with projection discriminator,” in International Conference on Learning Representations, 2018.
[9] M. Mirza and S. Osindero,“Conditional generative adversarial nets,” arXiv preprint arXiv: 1411.1784, 2014.
[10] S. Reed, Z. Akata, X. Yan, L. Logeswaran, B. Schiele, and H. Lee,“Generative adversarial text-to-image synthesis,” in Proceedings of The 33rd International Conference on Machine Learning, 2016.
[11] Y. Choi, M. Choi, M. Kim, J.-W. Ha, S. Kim, and J. Choo,“Stargan: Unified generative adversarial networks for multi-domain image-to-image translation,” arXiv preprint arXiv: 1711.09020, 2017.
[12] E. Perez, H. de Vries, F. Strub, V. Dumoulin, and A. C. Courville,“Learning visual reasoning without strong priors,” CoRR, vol. abs/ 1707.03017, 2017.
[13] E. Perez, H. De Vries, F. Strub, V. Dumoulin, and A. Courville,“Learning Visual Reasoning Without Strong Priors,” in ICML 2017’s Machine Learning in Speech and Language Processing Workshop, (Sidney, France), Aug. 2017.
[14] T. Miyato, T. Kataoka, M. Koyama, and Y. Yoshida,“Spectral normalization for generative adversarial networks,” in International Conference on Learning Representations, 2018.
[15] M. Heusel, H. Ramsauer, T. Unterthiner, B. Nessler, G. Klambauer, and S. Hochreiter,“Gans trained by a two time-scale update rule converge to a nash equilibrium,” CoRR, vol. abs/1706.08500, 2017.
[16] T. Salimans, I. J. Goodfellow, W. Zaremba, V. Cheung, A. Radford, and X. Chen,“Improved techniques for training gans,” CoRR, vol. abs/1606.03498, 2016.
【国際調査報告】