(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-23
(45)【発行日】2024-05-31
(54)【発明の名称】毛の外観の変更
(51)【国際特許分類】
G06T 1/00 20060101AFI20240524BHJP
A45D 44/00 20060101ALI20240524BHJP
G06T 7/00 20170101ALI20240524BHJP
G06T 1/40 20060101ALI20240524BHJP
【FI】
G06T1/00 510
A45D44/00 A
G06T7/00 660A
G06T7/00 350C
G06T1/40
G06T1/00 340A
(21)【出願番号】P 2021559401
(86)(22)【出願日】2020-04-07
(86)【国際出願番号】 EP2020059839
(87)【国際公開番号】W WO2020207997
(87)【国際公開日】2020-10-15
【審査請求日】2023-04-06
(32)【優先日】2019-04-09
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】590000248
【氏名又は名称】コーニンクレッカ フィリップス エヌ ヴェ
【氏名又は名称原語表記】Koninklijke Philips N.V.
【住所又は居所原語表記】High Tech Campus 52, 5656 AG Eindhoven,Netherlands
(74)【代理人】
【識別番号】110001690
【氏名又は名称】弁理士法人M&Sパートナーズ
(72)【発明者】
【氏名】ジブレ ビンヤム ジブレキダン
(72)【発明者】
【氏名】ファン ブリー カール カタリナ
【審査官】渡部 幸和
(56)【参考文献】
【文献】特開2013-226286(JP,A)
【文献】米国特許出願公開第2016/0154993(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00-7/90
A45D 44/00
(57)【特許請求の範囲】
【請求項1】
対象者の頭部の画像内の毛の外観を変更する方法であって、前記方法は、
第1の訓練されたニューラルネットワークモデルへの入力として、毛の領域を有する対象者の頭部の画像を提供するステップと、
前記第1の訓練されたニューラルネットワークモデルを使用して、前記頭部の前記画像に基づき、前記画像の毛を含む部分の推定表示を含む毛レイヤー、および前記毛の領域が除去された状態の前記対象者の前記頭部の推定表示を含む顔レイヤーを生成するステップと、
第2の訓練されたニューラルネットワークモデルへの入力として、前記画像に組み込まれるべき定められたヘアスタイルの指標、および生成された前記毛レイヤーを提供するステップと、
前記第2の訓練されたニューラルネットワークモデルを使用して、前記定められたヘアスタイルの前記指標および生成された前記毛レイヤーに基づき、変更された毛レイヤーを生成するステップと、
プロセッサを使用して生成された前記顔レイヤーに前記変更された毛レイヤーを適用することによって、前記対象者の前記頭部の変更された画像を生成するステップとを含む、方法。
【請求項2】
前記第1の訓練されたニューラルネットワークモデルを使用して、前記頭部の前記画像に基づき、前記画像の前記毛を含む領域を定める毛マスクを生成するステップをさらに含む、請求項1に記載の方法。
【請求項3】
プロセッサにおいて、前記対象者の前記頭部の前記画像の注釈を受け取るステップであって、前記注釈は、前記画像の前記毛を含む領域の指標を含む、ステップと、
プロセッサを使用して、前記受け取られた注釈に対する前記生成された毛マスクの精度を計算するステップとをさらに含む、請求項2に記載の方法。
【請求項4】
前記第2の訓練されたニューラルネットワークモデルへの入力として、前記生成された毛マスクを提供するステップをさらに含み、
前記変更された毛レイヤーを生成するステップは、前記生成された毛マスクに基づき、前記変更された毛レイヤー内の毛が、前記生成された毛マスクによって定められる領域内にのみ生成されるように、前記変更された毛レイヤーを生成することを含む、請求項2または3に記載の方法。
【請求項5】
ユーザインターフェースを介して、前記生成された毛レイヤー、前記定められたヘアスタイルの前記指標、および前記毛マスクのうちの少なくとも1つのパラメータを変更するためのユーザ入力を受け取るステップをさらに含む、請求項2から4のいずれか1項に記載の方法。
【請求項6】
前記第1および第2の訓練されたニューラルネットワークモデルのうちの少なくとも1つは敵対的生成ネットワークを含むか、または敵対的生成ネットワークの一部を形成する、請求項1から5のいずれか一項に記載の方法。
【請求項7】
ユーザに提示するために前記変更された画像を提供するステップをさらに含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
識別ネットワークを使用して、前記領域内に目に見える毛がない対象者の頭部の画像に関する、前記生成された顔レイヤーの質を評価するステップをさらに含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
識別ネットワークを使用して、前記対象者の前記頭部の前記生成された変更された画像の質を評価するステップをさらに含む、請求項1から8のいずれか一項に記載の方法。
【請求項10】
対象者の頭部の画像内の毛の外観を操作するためにニューラルネットワークモデルを訓練する方法であって、前記方法は、
それぞれが特定の領域内に毛を有する複数の被写体の頭部の画像、およびそれぞれが前記特定の領域内に毛を有さない複数の被写体の頭部の画像を含む訓練データセットを生成するステップと、
前記特定の領域内に毛を有する対象者の頭部の入力画像に基づき、前記特定の領域内の前記毛が除去された状態の前記対象者の前記頭部の推定表示を生成するようにニューラルネットワークモデルを訓練するステップとを含む、方法。
【請求項11】
画像内の毛の外観を操作するためにニューラルネットワークモデルを訓練する方法であって、前記方法は、
それぞれが前記画像の毛を含む部分の推定表示を含む複数の毛レイヤー、および画像に組み込まれる複数の定められたヘアスタイルの指標を含む訓練データセットを生成するステップと、
入力された毛レイヤーおよび特定の定められたヘアスタイルに基づき、変更された毛レイヤーを生成するように前記ニューラルネットワークモデルを訓練するステップとを含む、方法。
【請求項12】
前記訓練中に、前記入力された毛レイヤーの毛を含む部分の範囲を定める毛マスクおよびノイズ要素を前記ニューラルネットワークモデルに提供するステップをさらに含む、請求項11に記載の方法。
【請求項13】
コンピュータ可読コードが組み込まれたコンピュータ可読媒体であって、前記コンピュータ可読コードは、適切なコンピュータまたはプロセッサによって実行されると、前記コンピュータまたは前記プロセッサに請求項1から12のいずれか一項に記載の方法を実行させる、コンピュータ可読媒体。
【請求項14】
対象者の頭部の画像を変更するための装置であって、前記装置は、
命令のセットを表す命令データを含むメモリと、
前記メモリと通信し、前記命令のセットを実行するプロセッサとを備え、前記プロセッサによって前記命令のセットが実行されると、前記プロセッサは、
第1の訓練されたニューラルネットワークモデルへの入力として、毛の領域を有する対象者の頭部の画像を提供し、
前記第1の訓練されたニューラルネットワークモデルを使用して、前記頭部の前記画像に基づき、前記画像の毛を含む部分の推定表示を含む毛レイヤー、および前記毛の領域が除去された状態の前記対象者の前記頭部の表示を含む顔レイヤーを生成し、
第2の訓練されたニューラルネットワークモデルへの入力として、前記画像に組み込まれるべき定められたヘアスタイルの指標、および生成された前記毛レイヤーを提供し、
前記第2の訓練されたニューラルネットワークモデルを使用して、前記定められたヘアスタイルの前記指標および生成された前記毛レイヤーに基づき、前記定められたヘアスタイルと類似する変更された毛レイヤーを生成し、
生成された前記顔レイヤーに前記変更された毛レイヤーを適用することによって、前記対象者の前記頭部の変更された画像を生成する、装置。
【請求項15】
前記対象者の前記頭部の前記変更された画像を表示するディスプレイをさらに備える、請求項14に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像を変更することに関し、特に、対象者の頭部の画像内の毛の外観を変更することに関する。
【背景技術】
【0002】
身体を手入れする(personal care)活動は、人の一日の重要な部分を占める可能性がある。例えば、人はメイクアップ製品またはスキンケア製品を塗ったり、頭の毛および/または顔の毛(例えば、産毛やひげ)を調整したり、スタイルを変えたり、カットすることに時間を費やす可能性がある。通常、人は身体を手入れする活動をしている間、活動から望ましい結果を得るために鏡に映る自分の姿を見ている場合がある。
【0003】
人が頭や顔の毛を調整、スタイル変更、またはカットしたい場合、外観に物理的な変更を加える前に、特定のヘアスタイルがどのように見えるかを視覚化できると便利である。既存のシステムでは、ユーザが特定のフェイシャルヘアスタイルの画像を自分の顔の画像に重ね合わせて、自分がその特定のフェイシャルヘアスタイルにしたときにどのように見えるかを想像することができる。しかし、そのようなシステムでは、単に新しいヘアスタイルの画像内のピクセルがユーザの画像のピクセル上に(例えば、上に重ねて)配置されるだけである。したがって、既に頭部(すなわち、顔または頭)に毛があるユーザは、既存の髪のためにはっきりと見えないおそれがあることから、変更されたヘアスタイルにした頭部のリアルな画像を表示できない可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
したがって、対象者に既存の毛があるか否かにかかわらず、対象者の画像内の毛の外観をよりリアルに変更できることが望ましい。したがって、ユーザが特定のヘアスタイルにしたときにどのように見えるかを表す画像を生成および表示するための改善されたシステムへのニーズが存在する。
【0005】
上記したように、ヘアスタイルを変更した状態の人の画像を生成するために使用される既存の技術の欠点として、画像内の既存の毛が新しいまたは変更された毛の外観に悪影響を与える可能性があることが挙げられる。例えば、顔の下半分を覆うようなひげを蓄えているユーザの場合、既存の広範囲のひげの上ではあごひげがはっきりと見えない可能性があるため、既存の技術を使用してあごひげを生やしたユーザのリアルな画像を生成するのは難しい場合がある。したがって、ユーザの既存のヘアスタイルに関係なく、変更されたヘアスタイルのユーザのリアルな画像を生成することができるシステムは有益であると考えられる。本明細書に開示される実施形態によれば、本発明は、画像に新しいヘアスタイルが追加される前に、ユーザの既存の毛の少なくとも一部が除去されたユーザの変更された画像を作成することによって、既存のシステムの欠点を克服することを目的とする。
【課題を解決するための手段】
【0006】
第1の側面によれば、対象者の頭部の画像内の毛の外観を変更する方法が提供され、方法は、第1の訓練されたニューラルネットワークモデルへの入力として、毛の領域を有する対象者の頭部の画像を提供するステップと、第1の訓練されたニューラルネットワークモデルを使用して、頭部の画像に基づき、画像の毛を含む部分の推定表示を含む毛レイヤー、および毛の領域が除去された状態の対象者の頭部の推定表示を含む顔レイヤーを生成するステップと、第2の訓練されたニューラルネットワークモデルへの入力として、画像に組み込まれるべき定められたヘアスタイルの指標、および生成された毛レイヤーを提供するステップと、第2の訓練されたニューラルネットワークモデルを使用して、定められたヘアスタイルの指標および生成された毛レイヤーに基づき、変更された毛レイヤーを生成するステップと、プロセッサを使用して生成された顔レイヤーに変更された毛レイヤーを適用することによって、対象者の頭部の変更された画像を生成するステップとを含む。
【0007】
訓練されたニューラルネットワークモデルを使用して顔レイヤーを生成することにより、既存の毛を除去した状態でユーザの頭部のリアルな推定表示を生成することができる。同様に、生成された顔レイヤーに適用される毛レイヤーを訓練されたニューラルネットワークモデルを使用して生成することにより、リアルな画像が得られる。
【0008】
一部の実施形態では、方法はさらに、第1の訓練されたニューラルネットワークモデルを使用して、頭部の画像に基づき、毛を含む画像の領域を定める毛マスクを生成するステップを含み得る。
【0009】
方法は一部の実施形態では、プロセッサにおいて、対象者の頭部の画像の注釈を受け取るステップであって、注釈は、画像の毛を含む領域の指標を含む、ステップと、プロセッサを使用して、受け取られた注釈に対する生成された毛マスクの精度を計算するステップとをさらに含み得る。
【0010】
一部の実施形態では、方法は、第2の訓練されたニューラルネットワークモデルへの入力として、生成された毛マスクを提供するステップをさらに含み得る。変更された毛レイヤーを生成するステップは、生成された毛マスクに基づき、変更された毛レイヤー内の毛が、生成された毛マスクによって定められる領域内にのみ生成されるように、変更された毛レイヤーを生成することを含み得る。
【0011】
方法は一部の実施形態では、ユーザインターフェースを介して、生成された毛レイヤー、定められたヘアスタイルの指標、および毛マスクのうちの少なくとも1つのパラメータを変更するためのユーザ入力を受け取るステップをさらに含み得る。
【0012】
一部の実施形態では、第1および第2の訓練されたニューラルネットワークモデルのうちの少なくとも1つは敵対的生成ネットワークを含むか、または敵対的生成ネットワークの一部を形成する。
【0013】
一部の実施形態では、方法はさらに、ユーザに提示するために変更された画像を提供するステップを含み得る。
【0014】
一部の実施形態では、方法は、識別ネットワークを使用して、領域内に目に見える毛がない対象者の頭部の画像に関する、生成された顔レイヤーの質を評価するステップをさらに含み得る。
【0015】
方法は、一部の実施形態では、識別ネットワークを使用して、生成された対象者の頭部の変更された画像の質を評価するステップをさらに含み得る。
【0016】
第2の側面によれば、対象者の頭部の画像内の毛の外観を操作するためにニューラルネットワークモデルを訓練する方法が提供され、方法は、それぞれが特定の領域内に毛を有する複数の被写体の頭部の画像、およびそれぞれが特定の領域内に毛を有さない複数の被写体の頭部の画像を含む訓練データセットを生成するステップと、特定の領域内に毛を有する対象者の頭部の入力画像に基づき、特定の領域内の毛が除去された状態の対象者の頭部の推定表示を生成するようにニューラルネットワークモデルを訓練するステップとを含む。
【0017】
第3の側面によれば、画像内の毛の外観を操作するためにニューラルネットワークモデルを訓練する方法が提供され、方法は、それぞれが画像の毛を含む部分の推定表示を含む複数の毛レイヤー、および画像に組み込まれる複数の定められたヘアスタイルの指標を含む訓練データセットを生成するステップと、入力された毛レイヤーおよび特定の定められたヘアスタイルに基づき、変更された毛レイヤーを生成するようにニューラルネットワークモデルを訓練するステップとを含む。
【0018】
方法は、一部の実施形態では、訓練中に、入力された毛レイヤーの毛を含む部分の範囲を定める毛マスクおよびノイズ要素をニューラルネットワークモデルに提供するステップをさらに含み得る。
【0019】
第4の側面によれば、コンピュータ可読コードが組み込まれたコンピュータ可読媒体を含むコンピュータプログラム製品が提供され、コンピュータ可読コードは、適切なコンピュータまたはプロセッサによって実行されると、コンピュータまたはプロセッサに本明細書に開示される方法のステップを実行させるように構成される。
【0020】
第5の側面によれば、対象者の頭部の画像を変更するための装置が提供され、装置は、命令のセットを表す命令データを含むメモリと、メモリと通信し、命令のセットを実行するプロセッサとを備え、プロセッサによって命令のセットが実行されると、プロセッサは、第1の訓練されたニューラルネットワークモデルへの入力として、毛の領域を有する対象者の頭部の画像を提供し、第1の訓練されたニューラルネットワークモデルを使用して、頭部の画像に基づき、画像の毛を含む部分の推定表示を含む毛レイヤー、および毛の領域が除去された状態の対象者の頭部の表示を含む顔レイヤーを生成し、第2の訓練されたニューラルネットワークモデルへの入力として、画像に組み込まれるべき定められたヘアスタイルの指標、および生成された毛レイヤーを提供し、第2の訓練されたニューラルネットワークモデルを使用して、定められたヘアスタイルの指標および生成された毛レイヤーに基づき、定められたヘアスタイルと類似する変更された毛レイヤーを生成し、生成された顔レイヤーに変更された毛レイヤーを適用することによって、対象者の頭部の変更された画像を生成する。
【0021】
装置は、一部の実施形態ではさらに、対象者の頭部の変更された画像を表示するディスプレイを含み得る。
【0022】
本発明の上記および他の側面は、以下に記載される実施形態を参照しながら説明され、明らかになるであろう。
【図面の簡単な説明】
【0023】
本発明のより良い理解のために、また、本発明が如何に実施され得るかをより明確に示すために、以下の例示に過ぎない添付図面を参照する。
【
図1】
図1は、様々な実施形態に係る画像内の毛の外観を変更する方法の例のフローチャートである。
【
図2】
図2は、複数のヘアスタイルの例を示す図である。
【
図3】
図3は、様々な実施形態に係る画像内の毛の外観を変更する方法の他の例のフローチャートである。
【
図4】
図4は、様々な実施形態に係る画像内の毛の外観を変更する方法の他の例のフローチャートである。
【
図5】
図5は、様々な実施形態に係る画像内の毛の外観を操作するためにニューラルネットワークを訓練する方法の例のフローチャートである。
【
図6】
図6は、様々な実施形態に係る画像内の毛の外観を操作するためにニューラルネットワークを訓練する方法の他の例のフローチャートである。
【
図7】
図7は、プロセッサと通信するコンピュータ可読媒体の例を示す概略図である。
【
図8】
図8は、様々な実施形態に係る対象者の頭部の画像を変更するための装置の概略図である。
【発明を実施するための形態】
【0024】
上記のように、画像内の毛の外観を変更するための改善された方法、および当該方法を実行するための装置が提供される。より具体的には、ニューラルネットワークモデルなどの訓練された分類器を利用して対象者の毛の一部が除去された対象者の画像を生成し、また、新しいまたは変更されたヘアスタイルの対象者のさらなる画像を生成する方法が提供される。
【0025】
本明細書で使用される「ヘアスタイル」という用語は、対象者の頭部の上部、側面、または背面のいずれかの毛(すなわち、頭髪)、または眉毛、もみあげ、口ひげ、あごひげなどのユーザの顔の毛の配置または外観を含むものとする。したがって、本明細書では顔の毛に関連して例が説明されているが、本発明は頭髪など、対象者の他の部位に位置する毛にも等しく適用可能である。
【0026】
本明細書で使用される「訓練された分類器」または「訓練されたニューラルネットワーク」という用語は、機械学習技術を使用して訓練された任意の種類のモデルまたはアルゴリズムを含むものとする。訓練された分類器の種類の一例は訓練された人工ニューラルネットワークモデルである。人工ニューラルネットワーク、または単にニューラルネットワークは当業者には馴染みがあるであろうが、簡単に言えば、ニューラルネットワークは、データを分類する(例えば、画像データの中身を分類または識別する)、または何らかの入力データに対する結果を予測または推定するために使用可能なモデルの一種である。ニューラルネットワークの構造は人間の脳からインスピレーションを得たものである。ニューラルネットワークは複数の層で構成され、各層が複数のニューロンを含む。各ニューロンは数学演算を含む。データの一部を分類する過程では、各ニューロンの数学演算がデータのその部分に対して実行されて数値出力が生成され、ニューラルネットワークの各層の出力が次の層に順次供給される。一般に、各ニューロンに関連付けられた数学演算は、訓練プロセス中に調整される1つ以上の重みを含む(例えば、より正確な分類を生成するようにモデルを調整するために、訓練プロセス中に重みの値が更新される)。
【0027】
例えば、画像の一部(例えば、毛の一部が除去された対象者の頭部の画像の一部)を生成するためのニューラルネットワークモデルにおいて、ニューラルネットワーク内の各ニューロンは、画像内のピクセル(または、3次元ではボクセル)値の加重線形和、およびその後に続く非線形変換を含む数学演算を含み得る。ニューラルネットワークで使用される非線形変換の例には、シグモイド関数、双曲線正接関数、および正規化線形関数が挙げられる。ニューラルネットワークの各層内のニューロンは、一般に、単一のタイプの変換の異なる重み付け組み合わせを含む(例えば、変換のタイプは同一であるが(シグモイドなど)、重み付けは異なる)。当業者にはよく知られているように、一部の層では、線形和において各ニューロンによって同じ重みが適用される場合がある。これは、例えば、畳み込み層の場合に当てはまる。各ニューロンに関連付けられた重みは、分類過程で特定の特徴を他の特徴よりも目立たせる(または逆に目立たなくする)ことができるため、訓練過程でニューロンの重みを調整すると、画像生成時に特定の特徴の重要性を高めるようにニューラルネットワークが訓練される。一般に、ニューラルネットワークは、ニューロンに関連付けられた重みおよび/またはニューロン間の重み(例えば、ニューロン間を通過するデータ値を変更する)を有し得る。
【0028】
上記で簡単に述べたように、畳み込みニューラルネットワークなどの一部のニューラルネットワークでは、ニューラルネットワークの入力層や隠れ層などの下位層(すなわち、ニューラルネットワークの一連の層の先頭に向かう層)は、データの部分内の小さな特徴またはパターンによって活性化され(すなわち、出力が小さな特徴またはパターンに依存する)、一方、上位層(すなわち、ニューラルネットワークの一連の層の終わりに向かう層)は、データの部分の徐々に大きくなる特徴によって活性化される。
【0029】
一般に、ニューラルネットワークモデルは、フィードフォワードモデル(例えば、畳み込みニューラルネットワーク、オートエンコーダニューラルネットワークモデル、確率的ニューラルネットワークモデル、時間遅延ニューラルネットワークモデル)、動径基底関数ネットワークモデル、リカレントニューラルネットワークモデル(例えば、完全リカレントモデル、ホップフィールドモデル、またはボルツマンマシンモデル)、または重みを含むその他の種類のニューラルネットワークモデルを含み得る。
【0030】
第1の側面によれば、本発明は、画像内の毛の外観を変更する方法を提供する。
図1は、対象者の頭部の画像内の毛の外観を変更するための方法100の例のフローチャートである。方法100は、ステップ102において、第1の訓練されたニューラルネットワークモデルへの入力として、毛の領域を有する対象者の頭部の画像を提供することを含む。画像は、事前にメモリまたは記憶媒体(例えば、データベース)に格納され、その後取り出されてニューラルネットワークモデルに提供される以前に取得された画像であり得る。あるいは、画像は、カメラなどの画像取得装置、または任意の他の種類の画像キャプチャデバイスによってリアルタイムで取得されてもよい。例えば、画像は、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、ウェアラブルデバイス(例えば、スマートウォッチ)、またはインタラクティブミラー(スマートミラーとも呼ばれる)に付属するカメラデバイスを使用してキャプチャされ得る。インタラクティブミラーとは、ユーザに自身の姿を見せる鏡として機能するだけでなく、ユーザに対して情報を表示することもできるユニットである。テキスト、画像、およびビデオなどの情報が、例えば、鏡面化された(または部分的に鏡面化された)パネルまたは鏡面化された(または部分的に鏡面化された)表面の背後に配置され得るインタラクティブミラーの表示部分に表示され得る。このようにして、ミラー部分を通して表示画面またはその一部を見ることができ、その結果、ユーザは自身の鏡像および表示画面上に提示された情報を同時に見ることができる。
【0031】
ユーザの「毛の領域」は、頭髪および/または顔の毛を含む、ユーザの頭部の1つまたは複数の毛のエリアを含み得る。ユーザは頭髪と顔の毛の両方を有する可能性があるが、毛の「領域」は、毛をデジタル的に削除し、新しいヘアスタイルの毛の表示に置き換えるべき画像の部分と見なすことができる。したがって、一部の実施形態では、ユーザは、クレームされる方法を使用して変更されるべき毛の部分を画像内で定めてもよい。
【0032】
ステップ104において、方法100は、第1の訓練されたニューラルネットワークモデルを使用して、頭部の画像に基づき、毛を含む画像の部分の推定表示を含む毛レイヤー(H)、および毛の領域が除去された対象者の頭部の推定表示を含む顔レイヤー(F)を生成することを含む。毛レイヤーは、一部の実施形態では、毛の領域を含む対象者の頭部の推定表示を含むと見なされ得る。したがって、第1のニューラルネットワークは、毛の領域(例えば、あごひげ)を有する頭部の画像を取得し、その毛の領域を有さない頭部の画像を出力として生成するように訓練される。言い換えれば、訓練されたニューラルネットワークは、毛の領域がない場合に対象者の頭部がどのように見えるかを予測する。このタスクを実行するためにニューラルネットワークがどのように訓練されるかの詳細は後に示す。しかし、概略的には、第1のニューラルネットワークは、頭髪および顔の毛を有するおよび有さない人々の複数の頭部画像を含む訓練データを使用して訓練される。訓練の過程において、ニューラルネットワークは特徴、および特徴間の関連性を認識することを学習し、これにより、毛の領域の下の対象者の頭部の皮膚がどのように見えるかを予測できるようになる。そして、ニューラルネットワークモデルは、本明細書では「顔レイヤー」(F)と呼ばれる、毛の領域がない状態の対象者の頭部の当該部分の表示(例えば、画像内の毛の領域を置き換えるピクセル)を生成する。
【0033】
顔レイヤー(F)に加えて、第1のニューラルネットワークは毛レイヤー(H)と呼ばれる毛を含む画像の部分を推定する。一部の実施形態では、第1のニューラルネットワークは毛を含む画像の全ての領域(例えば、頭髪および顔の毛の両方の領域)を推定してもよく、一方、他の実施形態では、第1のニューラルネットワークは頭髪を含む領域のみ、または顔の毛を含む領域のみを推定し得てもよい。例えば、ユーザは、第1のニューラルネットワークによって生成される毛レイヤー(H)に含まれるべき毛の部分(例えば、頭髪または顔の毛)の指標を提供してもよい。
【0034】
方法100は、ステップ106において、第2の訓練されたニューラルネットワークモデルへの入力として、画像に組み込まれるべき定められたヘアスタイルの指標、および生成された毛レイヤー(H)を提供することを含む。毛レイヤー(H)は、ステップ104において第1の訓練されたニューラルネットワークによって生成された毛レイヤーである。定められたヘアスタイルの指標は、ユーザが選択した指標(例えば、ユーザインターフェースを介してユーザによって選択された所望のヘアスタイル)、または複数の所定のヘアスタイルのうちの1つを含み得る。例えば、ユーザが異なる顔の毛でどのように見えるかを見たい場合、定められたヘアスタイルは、
図2に示される定められた複数の顔の毛のスタイルのうちの1つを含み得る。
図2において、顔の毛のスタイルのセットは、フルビアード202、ヤギひげと口ひげ204、アンカーひげ206、延長ヤギひげ208、ヤギひげとチンストラップ210、ハンドルバーひげとヤギひげ212、ハンドルバーひげとチンパフ214、および「ノーススキッパー(Norse skipper)」ひげ216を含む。他の例では、定められたヘアスタイルの選択肢となる複数のヘアスタイルに他のヘアスタイルが含まれ得る。
【0035】
第2のニューラルネットワークは、第1のニューラルネットワークによって生成された毛レイヤーを、定められたヘアスタイルにより似るように調整または変換するように訓練されている。したがってステップ108において、方法100は、第2の訓練されたニューラルネットワークモデルを使用して、定められたヘアスタイルの指標および生成された毛レイヤーに基づいて、変更された毛レイヤー(H2)を生成することを含む。例えば、第1のニューラルネットワークに提供される画像がフルビアードを含む場合、第1のニューラルネットワークによって生成される毛レイヤーはフルビアードを含む。定められたヘアスタイルが延長ヤギひげ208を含む場合、延長ヤギひげはフルビアードよりも少ない毛を含むので、変更された毛レイヤー(H2)はより小さい毛の領域を含む。
【0036】
変更された毛レイヤー(H2)を生成するために第2のニューラルネットワークがどのように訓練されるかの詳細は後述する。しかし、概略的には、第2のニューラルネットワークは、様々な頭髪および/または顔の毛のスタイルを有する人々の複数の頭部画像を含む訓練データを使用して訓練される。訓練の過程において、ニューラルネットワークは特徴および特徴間の関連性を認識することを学習する。これにより、定められた(例えば、望ましい)ヘアスタイルおよび対象者の既存の毛(すなわち、毛レイヤーによって定められる毛)に基づいて、変更された毛レイヤー(H2)を生成できるようになる。例えば、第2のニューラルネットワークは、定められたヘアスタイルに剃られたまたはトリミングされた場合に対象者の現在の毛がどのように見えるかを予測することによって、変更された毛レイヤー(H2)を生成するように訓練され得る。次に、ニューラルネットワークモデルは、定められたヘアスタイルに基づいて、新しい毛の領域の表示(例えば、生成された顔レイヤーに追加されるピクセル)を生成し、これは本明細書では「変更された毛レイヤー」(H2)と呼ばれる。
【0037】
ステップ110において、方法100は、プロセッサを使用して、変更された毛レイヤー(H2)を生成された顔レイヤー(F)に適用することによって対象者の頭部の変更された画像を生成することを含む。したがって、変更された毛レイヤー(H2)は、ステップ104で生成された顔レイヤー(F)と(例えば、重ね合わせることによって)組み合わされ、既存の毛の領域が新しいヘアスタイルに置き換えられた対象者の画像が作成される。
【0038】
一部の実施形態では、方法100はさらに、ユーザに提示するために変更された画像を提供することを含み得る。例えば、方法100を実行するプロセッサは表示画面、例えば、コンピューティングデバイス、スマートフォン、タブレットまたはデスクトップコンピュータ、インタラクティブ/スマートミラーなどの画面に表示可能な形式で、変更された画像を生成(例えば、レンダリング)し得る。このようにして、ユーザは、既存の毛の領域が除去され、変更されたヘアスタイルを有する場合にどのように自身が見えるかを確認できる。
【0039】
図3は、画像内の毛の外観を変更するための方法300の他の例のフローチャートである。方法300は上述した方法100のいくつかのステップを含む。第1の訓練されたニューラルネットワーク306への入力として、毛の領域304(例えば、あごひげ)を有する対象者の頭部の画像302が提供される(ステップ102)。この例では、第1のニューラルネットワーク306はエンコーダ・デコーダニューラルネットワークモデルを含む。しかし、他の例では他のタイプのニューラルネットワークモデルが使用され得る。
図3に示される例のエンコーダ・デコーダニューラルネットワークモデルはエンコーダネットワーク308および1つまたは複数のデコーダネットワーク310を含む。第1のニューラルネットワークモデル306は、その出力として、顔レイヤー(F)312および毛レイヤー(H)314を生成する(ステップ104)。
【0040】
一部の実施形態では、方法100、300はさらに、ステップ316において、第1の訓練されたニューラルネットワークモデル306を使用して、頭部の画像302に基づき、毛を含む画像の領域を定める毛マスク(M)318を生成することを含み得る。以下でより詳細に説明するように、毛マスク(M)318は、元の画像302において毛が存在しなかった場所に、(変更された毛レイヤー(M2)において)毛が追加されないことを保証するために第2の訓練されたニューラルネットワークによって使用され得る。このようにして、例えば、ひげを剃っている際に対象者が変更された画像を生成している場合、対象者の既存の毛から実現可能なヘアスタイルのみが生成される。
【0041】
一部の実施形態では、方法100、300を実行するプロセッサは、毛の領域を有する対象者の頭部の注釈付き画像を利用できる可能性がある。注釈付き画像320は、例えば、毛を含む画像の領域の指標を備えた画像を含み得る。指標は、一部の実施形態では、毛が存在する画像の領域を人間のオペレータが手動で指し示すことによって(例えば、輪郭を描くことによって)作成され得る。他の実施形態では、指標は、画像のどの領域が毛を含むかをピクセルごとに指し示すコンピュータによって作成され得る。一部の例では、ヘアスタイル注釈を推定する(すなわち、毛の領域の輪郭を推定する)ように訓練された別個のニューラルネットワークを使用してセグメンテーション注釈を生成することができる。したがって、一部の実施形態によれば、方法100、300はさらに、ステップ322において、プロセッサで対象者の頭部の画像の注釈320を受け取ることを含み、注釈は画像302の毛を含む領域の表示を含む。例えば、注釈320は、第1のニューラルネットワーク306への入力として提供され、第1のニューラルネットワークは、注釈と合致するまたは注釈と良く似た毛マスク(M)318を生成しようと試みる。これは、各ピクセルポイントで注釈320を毛マスク318と比較し、重なりの程度を求めることによって行うことができる。ニューラルネットワークは重複部分を最大化することを学習する。注釈320は、一部の実施形態では、生成された毛マスク(M)318の精度をセグメンテーション損失(segmentation loss)またはダイス損失(dice loss)として計算するために使用され得る。したがって、方法100、300は、ステップ322においてプロセッサを使用して、受け取られた注釈320に関する生成された毛マスク(M)318の精度324を計算することを含み得る。精度はセグメンテーション損失と呼ばれ得る。
【0042】
図3のブロック328は、一部の実施形態によれば、毛の領域が除去された対象者の頭部のより正確な表示をいかにして生成するかを表す。第1の訓練されたニューラルネットワークは、毛の領域が除去された場合に対象者の皮膚がどのように見えるかの推定(すなわち、顔レイヤー(F))を生成するが、毛の領域外の頭部の領域は、ネットワークによって実行された処理によって導入されたアーチファクトを含むおそれがある。したがって、毛の領域外の対象者の頭部の部分の表示は、第1の訓練されたニューラルネットワークモデル306に提供された元の画像302から取得できるので、ブロック328は、毛の領域外の画像の部分のために元の入力画像がどのように使用され得るかを示す。ブロック328内の式F*M+(1-M)*FHによれば、毛マスク(M)318内の頭部の任意の領域については、生成された顔レイヤー(F)が推定表示に使用され、一方、毛マスク(M)318外の頭部の任意の領域については、元の画像302が推定表示に使用される。したがって、ブロック328の出力は、第1のニューラルネットワークによって生成された顔レイヤー(F)よりも正確な、毛の領域が除去された対象者の頭部の表示である。
【0043】
一部の実施形態によれば、第1のニューラルネットワークモデルの訓練中に、生成された顔レイヤー(F)の質が評価される。したがって、方法100、300は、一部の実施形態では、識別ネットワークを使用して、領域内に目に見える毛がない対象者の頭部の画像に関する、生成された顔レイヤーの質を評価するステップを含み得る。一部の実施形態では、これは、敵対的生成ネットワークの一部を形成する識別ネットワークを使用して行うことができる。敵対的生成ネットワーク(GAN:generative adversarial network)は、2つのニューラルネットワークが互いに争う機械学習アーキテクチャの一種である。生成ネットワークは候補を生成し、識別ネットワークは候補を評価する。本開示によれば、第1のニューラルネットワーク306は、識別ネットワーク330によって評価される候補顔レイヤー(F)を生成するので、生成ネットワークであると見なされ得る。識別ネットワーク330は、生成された顔レイヤー(F)と、毛の領域のない対象者の顔の画像332とを区別するように訓練されたニューラルネットワークであり得る。識別ネットワーク330は、生成された顔レイヤー(F)が、毛の領域のない対象者の実際の画像ではなくコンピュータ生成画像であると判断できる場合、生成された顔レイヤー(F)の質が所望の閾値を下回っている(すなわち、目標の信頼水準に達していない)と決定し、第1のニューラルネットワーク306(すなわち、生成ネットワーク)は、変更された顔レイヤー(F)を生成して再評価しなければならない可能性がある。しかし、識別ネットワーク330が生成された顔(F)および画像332のどちらがコンピュータ生成されたものであるかを判定できない場合、生成された顔レイヤー(F)の質が所望の閾値を超えていると決定され、生成された顔レイヤーFが容認され得る(すなわち、目標の信頼水準に達している)。識別ネットワーク330が生成された顔レイヤーFの質を評価するメトリックは、一部の実施形態では識別器損失(discriminator loss)と呼ばれ得る。
【0044】
図3のブロック334は、一部の実施形態に係る、元の入力画像302を得るために顔レイヤー(F)312および毛レイヤー(H)314がどのように組み合わせられ得るかを表す。したがって、ブロック334内の式H*M+(1-M)*Fによれば、毛マスク(M)318内の頭部の任意の領域については、生成された毛レイヤー(H)が適用され、一方、毛マスク外の頭部の任意の領域については顔レイヤー(F)312が適用される。第1のニューラルネットワークモデル306の訓練中、毛レイヤー(H)314と顔レイヤー(F)312を組み合わせることによって得られた元の画像の再構成を評価することで、第1のニューラルネットワーク306によって生成された顔レイヤーおよび毛レイヤーの精度を確立することができる。したがって、方法100、300は、一部の実施形態では、識別ネットワークを使用して、生成された顔レイヤーおよびあごひげレイヤーの質を評価するステップを含み得る。一部の実施形態では、これは、敵対的生成ネットワークの一部を形成する識別ネットワークを使用して行うことができる。この例では、第1の訓練されたニューラルネットワーク306は、候補顔レイヤーおよび毛レイヤーを生成し、そしてこれらの組み合わせが識別ネットワーク336によって評価され得るので、生成ネットワークであると見なされ得る。識別ネットワーク306は、元の入力画像302と、ブロック334の式を使用して形成される対象者の頭部の画像の再構成を区別することができる。識別ネットワーク336が一方の画像が元の入力画像302ではないと判定できる場合、第1のニューラルネットワーク306は、修正された顔レイヤーおよび毛レイヤーを生成しなければならない可能性がある。逆に、識別ネットワーク336が一方の画像が元の入力画像302ではないと判断できない場合、生成された顔レイヤーおよび毛レイヤーが容認され得る。識別ネットワーク336が生成された毛レイヤーおよび顔レイヤーの質を評価するメトリックは、一部の実施形態では再構成損失と呼ばれ得る。
【0045】
図4は、画像内の毛の外観を変更するための方法400の他の例のフローチャートである。方法400は上述した方法100のいくつかのステップを含む。第1の訓練されたニューラルネットワークモデル306によって生成された毛レイヤー(H)314は第1の入力として第2の訓練されたニューラルネットワークモデル402に提供され(ステップ106)、さらに、ヘアスタイル指標404が第2の入力として第2の訓練されたニューラルネットワークモデル402に提供される(ステップ106)。ヘアスタイル指標404は画像に組み込まれるべき定められたヘアスタイルの指標を含む。上記のように、定められたヘアスタイルは、一部の実施形態では、
図2に示されるヘアスタイル202~216などの複数の標準ヘアスタイルのうちの1つを含み得る。他の実施形態では、定められたヘアスタイルはユーザ定義またはユーザ選択されたヘアスタイルを含み得る。一例では、指標404は、ユーザが自身の頭部の画像に組み込みたいと思うヘアスタイルの画像という形式で提供され得る。他の例では、ユーザは、リストから定められたヘアスタイルを選択し、ユーザインターフェースを介して指標404を提供することができる。
【0046】
入力(すなわち、毛レイヤー(H)314および定められたヘアスタイル指標404)に基づいて、第2の訓練されたニューラルネットワーク402は変更された毛レイヤー(H2)406を生成する(ステップ108)ように構成される。変更された毛レイヤー406は、定められたヘアスタイル404に対してより厳密に合致または類似するように操作または調整された元の画像302からの毛の領域304の表示を含む。
【0047】
一部の実施形態では、方法100、300、400は、第2の訓練されたニューラルネットワークモデル402への入力として、生成された毛マスク(M)318を提供するステップ408をさらに含み得る。そのような実施形態では、変更された毛レイヤーを生成するステップ108は、生成された毛マスク(M)318に基づき、変更された毛レイヤー内の毛が、生成された毛マスクによって定められる領域内にのみ生成されるように、変更された毛レイヤーを生成することを含み得る。このようにして、第2の訓練されたニューラルネットワークモデルの機能を、毛マスクで定められた領域内に「フィットする」ヘアスタイルのみを生成することに制限できる。ユーザは毛をカット、シェービング、またはトリミングすることによって達成できるヘアスタイルのみを表示することができ、言い換えれば、現在の自身の毛で実現可能なヘアスタイルのみを表示することができる。
【0048】
方法100、300、400は、一部の実施形態では、第2の訓練されたニューラルネットワークモデル402への入力として、ノイズ要素412を提供するステップ410をさらに含み得る。ノイズ要素412は例えばランダムノイズを含み、ベクトルの形式で提供され得る。第2のニューラルネットワーク402にノイズ要素412を含めることにより、定められたヘアスタイル404のバリエーションを変更された毛レイヤー406に組み込むことができる。このようにして、非常に小さな変更から大きな変更に至る変更を定められたヘアスタイル404に加えることができ、これにより、第2のニューラルネットワーク402によって生成された変更された毛レイヤーに多様性の要素が導入される。
【0049】
一部の実施形態では、方法100、300、400は、ユーザインターフェースUIを介して、生成された毛レイヤー(H)314、定められたヘアスタイル404の指標、および毛マスク318のうちの少なくとも1つのパラメータを変更するためのユーザ入力を受け取るステップ414をさらに含み得る。ユーザ入力は、例えば、第2の訓練されたニューラルネットワークモデル402へのさらなる入力として提供され得る。ユーザは、例えば、毛の範囲(例えば、境界)、毛の長さ、毛の色、および/または毛の太さ(coarseness)を変更して、画像に組み込まれるヘアスタイルをユーザが望むように調整することができる。他の実施形態では他のパラメータが変更され得る。定められたヘアスタイル404のパラメータを変更することにより、ユーザは、頭部の画像に組み込まれるヘアスタイルの外観を調整することができる。生成された毛レイヤー(H)314を変更することにより、ユーザは、第1のニューラルネットワークモデルによって生成された毛レイヤーの外観を手動で調整または修正することができる。毛マスク(M)318を変更することにより、ユーザは、毛が変更され得る頭部の領域のサイズを拡大または縮小することができる。
【0050】
一部の実施形態によれば、方法100、300、400は、変更された毛マスク(M2)418を生成するステップ416を含み得る。変更された毛マスク418は、変更された毛レイヤー406に従って、対象者の頭部の毛が存在する新しい領域を定め得る。例えば、対象者の元の顔の毛がフルビアードを定める場合、毛マスク318はフルビアードの範囲を定める。定められたヘアスタイル404に基づく対象者の変更された毛レイヤー406がヤギひげの形態であった場合、変更された毛マスク418はフルビアードではなくヤギひげの範囲を定めるように縮小される。
【0051】
ブロック420は、一部の実施形態によれば、第2の訓練されたニューラルネットワーク402の出力を使用して対象者の頭部の変更された画像がいかにして生成され得るかを表す。ステップ422で顔レイヤー(F)312が入力として提供され、ブロック420において、ブロック420内の式M2*H2+(1-M2)*Fに従って、変更された毛レイヤー(H2)、変更された毛マスク(M2)、および顔レイヤー(F)を結合することで変更された画像が生成され得る。変更された毛マスク(M2)418内の任意の頭部の領域については、変更された毛レイヤー(H2)406が適用され、一方、変更された毛マスク外の任意の頭部の領域については顔レイヤー(F)312が適用される。このようにして、変更された毛レイヤーが生成された顔レイヤーに適用され、変更された画像が生成される。
【0052】
一部の実施形態によれば、第2のニューラルネットワークモデル402の訓練中に、生成された対象者の頭部の変更された画像の質が評価され得る。したがって、方法100、200、400は、一部の実施形態では、識別ネットワークを使用して、生成された対象者の頭部の変更された画像の質を評価するステップ424を含み得る。上記した実施形態と同様に、識別ネットワークは敵対的生成ネットワークの一部を形成し、ここで、第2のニューラルネットワーク402は、識別ネットワーク426によって評価される変更された画像を生成する生成ネットワークであると見なすことができる。識別ネットワーク426が生成された対象者の頭部の変更された画像の質を評価するメトリックは、一部の実施形態では敵対的損失と呼ばれ得る。
【0053】
第2の側面によれば、本発明は、画像内の毛の外観を操作するようにニューラルネットワークモデルを訓練する方法を提供する。
図5は、対象者の頭部の画像内の毛の外観を操作するようにニューラルネットワークモデルを訓練する方法500の例のフローチャートである。ニューラルネットワークモデルは、例えば、上記第1のニューラルネットワークモデル306を含み得る。方法500は、ステップ502において、特定の領域内に毛を有する複数の被写体の頭部の画像、および特定の領域内に毛を有さない複数の被写体の頭部の画像を含む訓練データセットを生成することを含む。言い換えれば、ニューラルネットワークモデルを訓練するために、複数の被写体の画像が提供され、被写体の一部は毛の領域(例えば、あごひげ)を有し、被写体の一部はその領域内に毛を有さない(例えば、きれいに剃られている)。ステップ504において、方法500はさらに、特定の領域内に毛を有する対象者の頭部の入力画像に基づいて、特定の領域内の毛が除去された対象者の頭部の推定表示を生成するようにニューラルネットワークモデルを訓練することを含む。訓練データセットは、特定の領域内に毛を有する特定の対象者の画像が与えられたとき、訓練されたモデルその特定の領域内に毛が無い場合に対象者がどのように見えるかを推定または予測できるように、ニューラルネットワークモデルが画像内の特徴間のパターンおよび相関を認識することを可能にする。
【0054】
第3の側面によれば、本発明は、画像内の毛の外観を操作するようにニューラルネットワークモデルを訓練する他の方法を提供する。
図6は、画像内の毛の外観を操作するようにニューラルネットワークモデルを訓練する方法600の他の例のフローチャートである。ニューラルネットワークモデルは、例えば、上記第2のニューラルネットワークモデル402を含み得る。方法600は、ステップ602において、各毛レイヤーが毛を含む画像の部分の推定表示を含む複数の毛レイヤー、および画像に組み込まれるべき定められた複数のヘアスタイルの複数の指標を含む訓練データセットを生成することを含む。言い換えれば、訓練データセットは、
図2に示すような様々なヘアスタイルとともに、毛を含む画像の部分の複数の表示(例えば、画像)からなる。ステップ604において、方法600は、入力された毛レイヤーおよび特定の定められたヘアスタイルに基づいて、変更された毛レイヤーを生成するようにニューラルネットワークモデルを訓練することをさらに含む。言い換えれば、訓練データセットは、ニューラルネットワークモデルが入力された毛レイヤーを特定の定められたヘアスタイルにより似るように変更または調整することを可能にする。
【0055】
方法600は、一部の実施形態では、訓練中に、入力される毛レイヤーの毛を含む部分の範囲を定める毛マスクおよびノイズ要素をニューラルネットワークモデルに提供することをさらに含み得る。毛マスクを提供することにより、ニューラルネットワークモデルは、画像の既存の毛と互換性のある(例えば、既存の毛の中に収まる)変更された毛レイヤーを生成することができる。ノイズ要素を提供することにより、ニューラルネットワークモデルによって生成される変更された毛レイヤー内のバリエーションが促進される。
【0056】
本明細書に開示される方法はコンピュータアプリケーションの形式で実施されてもよい。一部の例では、この方法は、ユーザが、毛を剃るまたはトリミングする前に、顔の画像上で1つまたは複数の可能なヘアスタイルを見ることを可能にするシェービングシミュレーション方法の一部として使用することができる。
【0057】
第4の側面によれば、本発明はコンピュータプログラム製品を提供する。
図7は、コンピュータ可読媒体704と通信するプロセッサ702の一例を示す概略図である。様々な実施形態によれば、コンピュータプログラム製品は、コンピュータ可読コードが組み込まれたコンピュータ可読媒体704を備え、コンピュータ可読コードは、適切なコンピュータまたはプロセッサ702によって実行されると、コンピュータまたはプロセッサに本明細書に記載の方法100、300、400、500、600を実行させるように構成される。
【0058】
本明細書に記載の方法100、300、400、500、600のいずれも、1つまたは複数の装置の一部を形成し得るプロセッサまたは複数の処理装置を使用して実行され得る。したがって、第5の側面によれば、本発明は、対象者の頭部の画像を変更するための装置を提供する。
図8は、ニューラルネットワークモデルを訓練するために使用可能な一実施形態に係る装置800のブロック図を示す。
図8を参照して、装置800は、装置800の動作を制御し、また、本明細書に記載の方法を実施可能なプロセッサ802を含む。装置800はさらに、命令のセットを表す命令データを含むメモリ806を含む。メモリ806は、本明細書で説明される方法を実行するためにプロセッサ802によって実行され得るプログラムコードの形態で命令データを格納するように構成され得る。一部の実装形態では、命令データは、本明細書に記載の方法の個々のまたは複数のステップを実行するように構成された、または実行するための複数のソフトウェアモジュールおよび/またはハードウェアモジュールを含み得る。一部の実施形態では、メモリ806は、装置800の1つまたは複数の他の構成要素を備えるデバイスの一部であり得る(例えば、プロセッサ802および/または装置800の1つまたは複数の他の構成要素)。他の実施形態では、メモリ806は、装置800の他の構成要素とは別のデバイスの一部であってもよい。
【0059】
一部の実施形態では、メモリ806は複数のサブメモリを含み、各サブメモリが命令データを格納することができる。メモリ806が複数のサブメモリを含む一部の実施形態では、命令のセットを表す命令データは、単一のサブメモリに格納されてもよい。メモリ806が複数のサブメモリを含む他の実施形態では、命令のセットを表す命令データは複数のサブメモリに格納されてもよい。例えば、少なくとも1つのサブメモリは、命令セットの少なくとも1つの命令を表す命令データを格納し、一方、少なくとも1つの他のサブメモリは、命令セットの少なくとも1つの他の命令を表す命令データを格納し得る。したがって、一部の実施形態によれば、複数の異なる命令を表す命令データは、装置800内の1つまたは複数の異なる場所に格納され得る。一部の実施形態では、メモリ806は、装置800のプロセッサ802によって取得または作成された、または装置800の他の構成要素から取得または作成された情報、データ(例えば、画像)、信号、および測定結果を格納するために使用され得る。
【0060】
装置800のプロセッサ802は、メモリ806と通信して命令セットを実行するように構成され得る。命令セットは、プロセッサ802によって実行されたとき、プロセッサ802に、本明細書で説明される方法を実行させ得る。プロセッサ802は、本明細書に記載されるように装置800を制御するように構成またはプログラムされた1つまたは複数のプロセッサ、処理ユニット、マルチコアプロセッサ、および/またはモジュールを含み得る。一部の実装形態では、例えば、プロセッサ802は、分散処理のために構成された複数の(例えば、相互運用される)プロセッサ、処理ユニット、マルチコアプロセッサ、および/またはモジュールを含み得る。そのようなプロセッサ、処理ユニット、マルチコアプロセッサ、および/またはモジュールは、異なる場所に配置されてもよく、また、本明細書で説明される方法の異なるステップおよび/または単一のステップの異なる部分を実行し得ることが当業者によって理解されよう。
【0061】
再び
図8に戻り、一部の実施形態では、装置800は少なくとも1つのユーザインターフェース804を含み得る。一部の実施形態では、ユーザインターフェース804は、装置800の1つまたは複数の他の構成要素を備えるデバイスの一部であり得る(例えば、プロセッサ802、メモリ806、および/または装置800の1つまたは複数の他の構成要素)。他の実施形態では、ユーザインターフェース804は装置800の他の構成要素とは別のデバイスの一部であってもよい。
【0062】
ユーザインターフェース804は、本明細書に記載の実施形態に係る方法から得られた情報を装置800のユーザに提供する際に使用され得る。命令セットは、プロセッサ802によって実行されたとき、プロセッサ802に、1つまたは複数のユーザインターフェース804を制御して、本明細書の実施形態に係る方法から生じる情報を提供させるように構成されてもよい。代替的にまたは追加的に、ユーザインターフェース804はユーザ入力を受け取るように構成されてもよい。言い換えれば、ユーザインターフェース804は、装置800のユーザが指示、データ、または情報を手動で入力することを可能にし得る。命令セットは、プロセッサ802によって実行されたとき、プロセッサ802に、1つまたは複数のユーザインターフェース804からユーザ入力を取得させ得る。
【0063】
ユーザインターフェース804は、装置800のユーザへの情報、データ、または信号のレンダリング(または出力若しくは表示)を可能にする任意のユーザインターフェースであり得る。例えば、ユーザインターフェース804は対象者の変更された画像を表示することができる。代替的にまたは追加的に、ユーザインターフェース804は、装置800のユーザがユーザ入力を提供すること、装置800とインタラクトすること、および/または装置を制御することを可能にする任意のユーザインターフェースであってもよい。例えば、ユーザインターフェース804は、1つまたは複数のスイッチ、1つまたは複数のボタン、キーパッド、キーボード、マウス、マウスホイール、(例えば、タブレットまたはスマートフォン上の)タッチスクリーンまたはアプリケーション、ディスプレイ画面、グラフィカルユーザインターフェース(GUI)、または他の視覚レンダリングコンポーネント、1つまたは複数のスピーカ、1つまたは複数のマイク、または任意の他のオーディオコンポーネント、1つまたは複数の照明装置、触覚フィードバックを提供するコンポーネント(例えば、振動機能)、または任意の他のユーザインターフェース、またはユーザインターフェースの組み合わせを含み得る。
【0064】
一部の実施形態では、
図8に示されるように、装置800はまた、装置800が、装置800の一部であるインターフェース、メモリ、および/またはデバイスと通信することを可能にするための通信インターフェース(または回路)808を備え得る。通信インターフェース808は、無線でまたは有線接続を介して任意のインターフェース、メモリ、およびデバイスと通信することができる。
【0065】
図8は、本開示の本側面を説明するために必要な構成要素のみを示しており、実際の実装では、装置800は、示された構成要素に加えて他の構成要素を備え得ることが理解されよう。例えば、装置800は、装置800に電力を供給するための電池もしくは他の電源、または装置800を主電源に接続するための手段を備えてもよい。
【0066】
一部の実施形態によれば、プロセッサ802は、メモリ806と通信するように、および命令のセットを実行するように構成され、プロセッサによって命令のセットが実行されると、プロセッサは、第1の訓練されたニューラルネットワークモデルへの入力として、毛の領域を有する対象者の頭部の画像を提供し、第1の訓練されたニューラルネットワークモデルを使用して、頭部の画像に基づき、画像の毛を含む部分の推定表示を含む毛レイヤー、および毛の領域が除去された状態の対象者の頭部の表示を含む顔レイヤーを生成し、第2の訓練されたニューラルネットワークモデルへの入力として、画像に組み込まれるべき定められたヘアスタイルの指標、および生成された毛レイヤーを提供し、第2の訓練されたニューラルネットワークモデルを使用して、定められたヘアスタイルの指標および生成された毛レイヤーに基づき、定められたヘアスタイルと類似する変更された毛レイヤーを生成し、生成された顔レイヤーに変更された毛レイヤーを適用することによって、対象者の頭部の変更された画像を生成する。
【0067】
一部の実施形態では、装置800はさらに、対象者の頭部の変更された画像を表示するためのディスプレイ(例えば、ユーザインターフェース804)を備え得る。装置800は、一部の実施形態では、スマートフォン、タブレットコンピュータ、ラップトップコンピュータもしくはデスクトップコンピュータ、またはインタラクティブミラーもしくはスマートミラーなどのコンピューティングデバイスを含むか、またはその一部を形成し得る。
【0068】
上記したように、プロセッサ702、802は、本明細書に記載されるように装置800を制御するように構成またはプログラムされた1つまたは複数のプロセッサ、処理ユニット、マルチコアプロセッサまたはモジュールを含み得る。特定の実装形態では、プロセッサ702、802は、本明細書に記載の方法の個々のまたは複数のステップを実行するように構成された、または実行するための複数のソフトウェアモジュールおよび/またはハードウェアモジュールを含み得る。
【0069】
本明細書に開示される実施形態によれば、訓練されたニューラルネットワークモデルは、毛(例えば、顔の毛または頭髪)の領域を有する対象者の画像を操作または変更するために使用される。まず、訓練されたニューラルネットワークモデルは、毛が除去された場合に毛の領域がどのように見えるかを予測することにより、毛の領域を「除去」するように画像を変更する。次に、訓練されたニューラルネットワークモデルは、変更された画像に追加される代替的な毛の領域の表示を生成する。結果として得られる画像は、変更されたヘアスタイルで対象者がどのように見えるかを現実的に予測したものである。既存の技術では、対象者が既存の毛を有する場合に現実的な変更された画像を生成することは困難であるが、本明細書に開示される技術を使用すると、対象者が既存の毛を有するか否かにかかわらず、変更されたヘアスタイルを対象者の画像に適用することができる。
【0070】
本明細書に開示される方法および装置は多様な形態で実施および使用され得る。一例では、本発明は、
図2に示されるような既存の定められたヘアスタイルを使用して、異なるヘアスタイル(例えば、顔の毛のスタイル)をシミュレートするために使用され得る。別の例では、本発明は、例えば既存のヘアスタイルを組み合わせることによって、または既存のヘアスタイルを変更することによって、新しいヘアスタイルまたは既存のヘアスタイルのバリエーションを作成するために使用され得る。新しいヘアスタイルはその後、ユーザの画像上に表示され得る。別の例では、本発明は、別の人の写真(すなわち、ソース画像)からのヘアスタイルのシミュレーションを生成するために使用されてもよい。この例では、生成されたヘアスタイルは既存の定義済みヘアスタイルのうちの1つとは類似しない可能性がある。したがって、方法は、ソース画像をセグメント化することでソース画像から毛の領域(例えば、あごひげ)の形状を抽出することを含み得る。抽出された毛の領域はターゲット画像(例えば、対象者の画像)上に配置され、対象者の頭部に合うように変更され得る。別の例では、上述したように、対象者の既存の毛を使用して達成できるヘアスタイルのみ、対象者の画像に追加するにあたり利用可能であることを保証するために制約が実装されてもよい。これは、毛マスクを使用してどの定義済みヘアスタイルが使用可能であるかを確認することによって実現され得る。別の例では、ヘアスタイルはユーザ入力を介して変更可能または操作可能であり得る。ユーザは、例えば、特定のヘアスタイルの毛の長さ、または対象者の皮膚とヘアスタイルの境界の形状を変更することができる。これは、ユーザが独自のヘアスタイルをデザインする選択肢を与える。別の例では、他の被写体に基づく推薦が対象者に提供され得る。例えば、方法は、複数のヘアスタイルを有する他の被写体のデータベースを照会することを含み得る。方法は、対象者と類似する特徴(例えば、顔の形、あごの形、またはあごひげもしくはヘアスタイル)を有する被写体を見つけ、それらの特徴に基づいて対象者にヘアスタイルを推奨し得る。別の例として、対象者の変更された画像が他のユーザと(例えば、ソーシャルメディアを介して)共有されてもよい。別の例では、対象者の変更された画像は、顔または頭部のトリミングまたはシェービングのためのガイドとして使用され得る。選択されたヘアスタイルに基づいて、使用すべき身だしなみを整えるためのデバイスが対象者に推奨されてもよい。
【0071】
本明細書で使用される「モジュール」という用語は、例えば特定の機能を実行するように構成されたプロセッサまたはプロセッサの構成要素などのハードウェアコンポーネント、または、例えばプロセッサに実行されたときに特定の機能を有する命令データのセットなどのソフトウェアコンポーネントを含むものとする。
【0072】
本発明の実施形態はさらに、コンピュータプログラム、特に、本発明を実施するように適合された、キャリア上のまたはキャリア内のコンピュータプログラムにも及ぶことが理解されよう。プログラムは、ソースコード、オブジェクトコード、部分的にコンパイルされた形式のようなコード中間ソースおよびオブジェクトコード、または本発明の実施形態に係る方法の実施のための使用に適した任意の他の形式などの形式を取り得る。また、そのようなプログラムは多様なアーキテクチャ設計を有し得ることが理解されよう。例えば、本発明に係る方法またはシステムの機能を実装するプログラムコードは、1つまたは複数のサブルーチンに細分化されてもよい。当業者には、これらのサブルーチン間で機能を分配する多様な方法が明らかであろう。サブルーチンは、1つの実行可能ファイルに一緒に格納され、自己完結型プログラムを形成してもよい。そのような実行可能ファイルは、コンピュータ実行可能命令、例えば、プロセッサ命令および/またはインタプリタ命令(例えば、Javaインタプリタ命令)を含み得る。あるいは、サブルーチンのうちの1つ以上または全てが少なくとも1つの外部ライブラリファイルに保存され、静的にまたは動的に、例えばランタイムにおいて、メインプログラムにリンクされ得る。メインプログラムは、サブルーチンのうちの少なくとも1つのへの少なくとも1つの呼び出しを有する。サブルーチンはまた、相互の関数呼び出しを含み得る。コンピュータプログラム製品に関する実施形態は、本明細書に記載の少なくとも1つの方法の各処理ステージに対応するコンピュータ実行可能命令を含む。これらの命令は、サブルーチンに細分され、かつ/または静的にもしくは動的にリンクされ得る1つまたは複数のファイルに保存され得る。コンピュータプログラム製品に関する他の実施形態は、本明細書に記載の少なくとも1つのシステムおよび/または製品の各手段に対応するコンピュータ実行可能命令を含む。これらの命令は、サブルーチンに細分され、かつ/または静的に若しくは動的にリンクされ得る1つまたは複数のファイルに保存され得る。
【0073】
コンピュータプログラムのキャリアは、プログラムを運ぶことができる任意のエンティティまたはデバイスであり得る。例えば、キャリアはROM(例えばCD ROMまたは半導体ROM)または磁気記録媒体(例えばハードディスク)等のデータストレージを含み得る。さらに、キャリアは、電気または光ケーブルを介して、または無線または他の手段によって伝達され得る電気または光信号等の伝送可能キャリアであり得る。プログラムがそのような信号に組み込まれる場合、キャリアは、そのようなケーブルまたは他のデバイス若しくは手段によって構成され得る。あるいは、キャリアは、プログラムが埋め込まれた集積回路であってもよく、集積回路は、関連する方法を実行するように、または関連する方法の実行において使用されるように構成される。
【0074】
図面、開示、および添付の特許請求の範囲に基づき、クレームされる発明を実施するにあたり、開示の実施形態の変形例が当業者によって理解および実施され得る。特許請求の範囲において、「含む」という用語は他の要素またはステップを排除するものではなく、単数形は複数を除外しない。単一のプロセッサまたは他のユニットが請求項に記載される複数のアイテムの機能を果たし得る。複数の手段が互いに異なる従属請求項に記載されているからといって、これらの手段の組み合わせが好適に使用することができないとは限らない。コンピュータプログラムは、他のハードウェアと共にまたは他のハードウェアの一部として供給される光学記憶媒体またはソリッドステート媒体等の適切な媒体上で記憶および/または分配されてもよいし、インターネットまたは他の有線もしくは無線テレコミュニケーションシステムを介して等の他の形態で分配されてもよい。特許請求の範囲内のいかなる参照符号も、その範囲を限定するものと解釈されるべきではない。