本願は、2020年12月30日に出願された米国非仮出願第17/137,970号、2020年12月30日に出願された米国非仮出願第17/138,031号、2021年7月22日に出願されたフランス出願第2,107,923号、および2021年7月22日に出願されたフランス出願第2,107,904号に対する優先権の利益を主張し、当該出願のすべての記載内容を援用する。
本開示の態様は、拡張現実の構成におけるデジタルメイクアップパレットを対象とする。デジタルメイクアップパレットは、顔の単一パーツまたは顔全体のデジタルメイクアップ用の色の取り合わせである。拡張現実の構成では、ユーザがメイクアップを適用するときのステップをキャプチャでき、適用したメイクアップ用のカスタムメイクアップフィルタを作成できる。拡張現実の構成では、ステップを分析して、ユーザが問題領域および最良の特徴部分と考えるものを特定できる。分析の結果を用いて、カスタム推奨を改善することができる。拡張現実の構成では、機械学習モデルを用いて分析を実行できる。機械学習モデルには、問題領域および最良の特徴部分を推定する人工ニューラルネットワークが含まれることがある。
図1は、本開示の例示的な態様による、システムの図である。実施形態には、ソフトウェアアプリケーション、またはモバイルアプリケーション(アプリ)が含まれる。この開示の目的上、以下では、用語アプリはソフトウェアアプリケーションまたはモバイルアプリケーションと同じ意味で使用され、メイクアップアプリケーションは、バーチャル的または物理的にデジタルメイクアップを適用するプロセスに関連して使用される。ソフトウェアアプリケーションは、デスクトップコンピュータまたはノートパソコン103上で実行されてもよい。モバイルアプリケーションは、タブレットコンピュータまたは他のモバイルデバイス101上で実行されてもよい。本開示の目的のために、ソフトウェアアプリケーションおよびモバイルアプリケーションは、モバイルアプリケーション111に関して説明される。それぞれの場合において、モバイルアプリケーション111は、それぞれのデバイス101、103にダウンロードされ、インストールされてもよい。実施形態によっては、デスクトップコンピュータまたはノートパソコン103は、音声入力デバイスとしてマイクロフォン103aを備えて構成されてもよい。マイクロフォン103aは、USBポートまたは音声入力ポートを介して、あるいはBluetooth無線プロトコルを介して無線でデスクトップコンピュータまたはノートパソコン103に接続するデバイスであってもよい。モバイルデバイス101は、内蔵マイクロフォンを備えた携帯電話またはスマートフォンであってもよい。実施形態によっては、ソフトウェアアプリケーションまたはモバイルアプリケーション111は、クラウドサービス105と連携して動作する通信機能を含んでもよい。クラウドサービス105は、データベース管理サービス107および機械学習サービス109を含んでもよい。データベース管理サービス107は、クラウドサービス105で提供されるデータベース管理システムの任意のタイプであってもよい。例えば、データベース管理サービス107は、構造化照会言語(SQL)を使用してアクセスされるデータベース、および一般にNo SQLと呼ばれる、キーによってアクセスされる非構造化データベースを含んでもよい。機械学習サービス109は、機械学習に必要になりうるスケールアップおよび高性能コンピューティングを可能にするために、機械学習を実行してもよい。また、ソフトウェ アアプリケーションまたはモバイルアプリケーション111は、クラウドサービス105からダウンロードしてもよい。図1は、単一のクラウドサービス105、ノートパソコン103、およびモバイルデバイス101を示しているが、多数のモバイルデバイス、ノートパソコン、ならびにデスクトップコンピュータおよびタブレットコンピュータは、1つ以上のクラウドサービスに接続されうることを理解されたい。
ソフトウェアアプリケーションまたはモバイルアプリケーション111は、グラフィカルユーザインタフェースに動作可能に結合されたメイクアップ目的ユニットと、メイクアップ目的ユニットに結合されたメイクアップパレットユニットと、メイクアップ目的視覚化ユニットと、を含む拡張現実システムとして実装されてもよい。メイクアップ目的ユニットは、ユーザが選択可能なメイクアップ目的の1つ以上のインスタンスを生成し、ユーザが選択したメイクアップ目的情報を受信するように構成されてもよい。メイクアップパレットユニットは、ユーザが選択したメイクアップ目的情報に従って、デジタルメイクアップ製品のための少なくとも1つのデジタルメイクアップパレットを生成するように構成されてもよい。メイクアップ目的視覚化ユニットは、ユーザが選択したメイクアップ目的情報に従って、バーチャル試着の1つ以上のインスタンスを生成するように構成されてもよい。メイクアップ目的ユニット、メイクアップパレットユニット、およびメイクアップ目的視覚化ユニットのそれぞれは、モバイルコンピュータデバイス101、103からデスクトップコンピュータデバイスに至るコンピュータシステムの計算回路を含んでもよい。最小要件は、コンピュータデバイスが対話型ディスプレイデバイスを含むことである。
図2は、モバイルコンピュータデバイスのブロック図である。一実装形態では、モバイルデバイス101の機能およびプロセスは、1つ以上のそれぞれの処理/計算回路226によって実装されてもよい。同じまたは同様の処理/計算回路226は、タブレットコンピュータまたはノートパソコンに含まれてもよい。デスクトップコンピュータも同様に構成されうるが、場合によっては、内蔵タッチスクリーン221、マイクロフォン241、またはカメラ231を含まないことがある。プロセッサが計算回路を含むのと同様に、処理回路はプログラムされたプロセッサを含む。処理回路は、特定用途向け集積回路(ASIC)などのデバイスおよび記載された機能を実行するように構成された従来の回路構成要素も含んでよい。注意すべきは、回路とは、回路または回路システムを指す。ここで、計算回路は、1つのコンピュータシステム内にあってもよいし、コンピュータシステムのネットワーク全体に分散されていてもよい。
次に、図2を参照して、例示的な実施形態による処理/計算回路226のハードウェアの記載を説明する。図2では、処理/計算回路226は、本明細書で説明されるプロセスを実行するモバイル処理ユニット(MPU)200を含む。プロセスデータおよび命令は、メモリ202に格納されてもよい。これらのプロセスおよび命令は、携帯記憶媒体に格納されてもよいし、またはリモートでも格納されてもよい。処理/計算回路226は、モバイルデバイス101のネットワークサービスに固有の情報を含む交換可能な加入者識別モジュール(SIM)201を有してもよい。
さらに、その進歩は、本発明プロセスの命令が格納されるコンピュータ読み取り可能媒体の形態に限定されない。例えば、命令は、フラッシュメモリ、セキュアデジタルランダムアクセスメモリ(SDRAM)、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、プログラマブル読み取り専用メモリ (PROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、ソリッドステートハードディスク、または、例えば、サーバもしくはコンピュータなどの処理/計算回路226が通信する任意の他の情報処理デバイスに格納されてもよい。
さらに、その進歩は、MPU200と、Android、Microsoft(登録商標)Windows(登録商標)10 Mobile、Apple iOS(登録商標)および当業者に公知の他のシステムなどのモバイルオペレーティングシステムとを組み合わせて実行されるユーティリティアプリケーション、バックグラウンドデーモン、またはオペレーティングシステムのコンポーネント、あるいはこれらの組み合わせとして提供されてもよい。
処理/計算回路226を実現するために、ハードウェア要素は、当業者に公知のさまざまな回路要素によって実現されうる。例えば、MPU200は、Qualcommモバイルプロセッサ、Nvidiaモバイルプロセッサ、米国インテル社のAtom(登録商標)プロセッサ、Samsungモバイルプロセッサ、またはApple A7モバイルプロセッサであってもよいか、または当業者によって認識できる他のプロセッサタイプであってもよい。あるいは、当業者であれば理解できるように、MPU200は、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)上で、または個別の論理回路を使用して実装されうる。さらに、MPU200は、上述した発明的プロセスの命令を実行するために並行して協働する複数のプロセッサとして実装されてもよい。
図2の処理/計算回路226は、ネットワーク224とインタフェースするための、米国インテル社からの「インテルイーサネットプロ」ネットワークインタフェースカードなどのネットワークコントローラ206も含む。理解できるように、ネットワーク224は、インターネットなどの公衆ネットワーク、またはLANまたはWANネットワークなどのプライベートネットワーク、あるいはそれらの任意の組み合わせとすることができ、さらにPSTNまたはISDNサブネットワークも含むことができる。ネットワーク224は、イーサネットネットワークなどの有線でありうる。処理回路は、3G、4G、および5G無線モデム、WiFi(登録商標)、Bluetooth(登録商標)、GPS、または他の公知の無線通信形式を含む無線通信のためのさまざまなタイプの通信プロセッサを含んでもよい。
処理/計算回路226は、MPU200によって管理されうるユニバーサルシリアルバス(USB)コントローラ225を含む。
処理/計算回路226は、ディスプレイ210とインタフェースするための、米国NVIDIA社のNVIDIA(登録商標)GeForce(登録商標)GTXまたはQuadro(登録商標)グラフィックスアダプタなどのディスプレイコントローラ208をさらに含む。I/Oインタフェース212は、音量制御などのためのボタン214とインタフェースする。I/Oインタフェース212およびディスプレイ210に加えて、処理/計算回路226は、マイクロフォン241および1つ以上のカメラ231をさらに含んでもよい。マイクロフォン241は、音声をデジタル信号に処理するための関連回路240を有してもよい。同様に、カメラ231は、カメラ231の画像取り込み動作を制御するためのカメラコントローラ230を含んでもよい。例示的な態様では、カメラ231は電荷結合素子(CCD)を含んでもよい。処理/計算回路226は、音声出力信号を生成するための音声回路242を含んでもよく、また、オプションの音声出力ポートを含んでもよい。
パワーマネージメントおよびタッチスクリーンコントローラ220は、処理/計算回路226およびタッチ制御によって使用される電力を管理する。通信バス222は、業界標準アーキテクチャ(ISA)、拡張業界標準アーキテクチャ(EISA)、ビデオエレクトロニクス標準協会(VESA)、周辺コンポーネントインタフェース(PCI)、または同様のものであってもよく、処理/計算回路226のすべてのコンポーネントを相互接続するためのものである。ディスプレイ210、ボタン214、ならびにディスプレイコントローラ208、パワーマネージメントコントローラ220、ネットワークコントローラ206、およびI/Oインタフェース212の一般的な特徴および機能の説明については、これらの特徴は公知であり、簡潔にするために本明細書では省略する。
図3A、図3Bは、カスタムルック、ならびに顔の問題領域および最良の顔の特徴部分の特別な処理を作成する方法のフローチャートである。図3Aは、本開示の例示的な態様による、ユーザがデジタルパレットを有するバーチャルメイクアップ製品を適用することによってカスタムルックを作成する方法のフローチャートである。
開示された実施形態は、デジタルメイクアップパレットを含む。デジタルメイクアップパレットは、デジタルメイクアップ用のバーチャルパレットである。本開示では、用語バーチャルメイクアップおよびデジタルメイクアップは同じ意味で使用されることがある。デジタルメイクアップでは、色の取り合わせを有し、そこから選択できる。特定のデジタルメイクアップは、関連付けられたメイクアップ適用ジェスチャおよび通常適用される1つ以上の顔パーツを有してよく、デジタルメイクアップパレットには、カバレッジ、色合い、仕上がりなどの特性が含まれる。物理的なメイクアップ製品とは異なり、デジタルメイクアップは化学組成に由来する色に限定されず、より広範囲の色を含むことがある。また、デジタルメイクアップは、色温度、露出、コントラスト、彩度のさまざまなフィルタの適用、ならびにRGBおよびHCL値の制御など、ディスプレイデバイスの特性を使用して生成されるカバレッジ、色合い、仕上がりを利用する場合がある。
カバレッジは、通常、デジタルメイクアップに含まれる顔料の割合に基づいたデジタルメイクアップの実際のカバレッジである。カバレッジは通常、ファンデーションメイクアップに関係するが、補正メイクアップまたはプライマーを指す場合もある。ライトカバーメイクアップには、約18%未満の顔料が含まれる場合がある。ミディアムカバー製品には、約18%から23%の顔料が含まれる場合がある。フルカバーメイクアップには最大約35%の顔料が含まれる場合がある。一部のメイクアップ製品には、より多量の顔料が含まれている場合がある。実施形態によっては、デジタルメイクアップのカバレッジは、バーチャルメイクアップの単一のブラシストロークを表す不透明フィルタとして実装される。
デジタルメイクアップの色合いは、色白から浅黒い色(dark)まで、場合によっては非常に色白から濃い色(deep)、さらには非常に濃いものにまでおよびうる。色合いは、肌の色などの単一の色を表す場合がある。1つ以上の実施形態では、デジタルメイクアップの色合いは、表示色の範囲、例えば、RGB値に従って表示される赤色の色合いとして実装される。
デジタルメイクアップの仕上がりには、マット(くすんだ)、クリーム(光沢のあるまたは光沢のある)、フロスト(反射)、およびグリッター(グリッター粒子)などの一般的な仕上がりが含まれる場合がある。仕上がりは、反射される光の量によって定義される場合がある。マットは光をほとんど反射しない。クリームはパールのような光沢を保つ。フロストおよびグリッターは最も多くの光を反射する。1つ以上の実施形態では、デジタルメイクアップの仕上がりは色の輝度(明るさ)として実現される。マットは輝度値が低くてもよく、欠陥を隠す。フロストはより大きな輝度を発してもよい。
デジタルメイクアップは、ぼかし、色温度、および彩度などのさまざまなフィルタを含んでもよい。欠陥のある領域にぼかしを適用して、欠陥を目立たなくしてもよい。
メイクアップパレットを取得する前に、S301では、ユーザは、モバイルデバイス、タブレット、ノートパソコン、またはデスクトップコンピュータ上でアプリ111を立ち上げてもよい。アプリ111は、メイクアップ目的ユニットを介して、ユーザがどのようなタイプのルックを作成したいかを質問することができる。ユーザがこの質問に答えるのを支援するために、アプリ111は、事前定義されたメイクアップルックのリストを生成してよく、ユーザは、事前定義されたメイクアップルックを選択してよい。事前定義されたメイクアップルックには、いくつか例を挙げると、シーズンルック(春、夏、秋)、イベントルック(金曜日のデートナイト、ガールズナイトアウト、特別なデート、義母との外出、休暇、パーティ、大晦日、ブライダル、プロム)、完了までの時間に基づくルック(クイックメイクアップ、平均的なメイクアップ、ゆっくりと時間をかけたメイクアップ)、ムードルック(陽気、ハッピー、私に気づいて)、スタイル(ナチュラル、イブニング、グラマー、ゴシック、オフィス)、美的ルック(VSCO、eGirl、ソフトガール)を含むことができる。
さらに、アプリ111は、メイクアップ目的ユニットを介して、メイクアップを使用する経験レベルを定義するようにユーザに質問してよい。ユーザの経験レベルには、初心者/新人レベル、経験豊富なレベル、専門家レベル、およびプロフェッショナルが含まれうる。初心者/新人レベルは、メイクアップを適用した経験がほとんどない、またはまったくないユーザであってもよい。経験豊富なレベルは、以前にメイクアップを適用したことがあり、したがってある程度の経験を有するユーザであってもよい。専門家レベルは、1年以上など、一定期間メイクアップを適用しており、メイクアップを適切に適用する方法を学ぶための措置を講じているユーザであってもよい。プロフェッショナルレベルは、他のユーザにメイクアップを適用するユーザであってもよい。実施形態によっては、アプリ111は、ユーザがユーザプロファイルを作成するために使用してもよいインタフェースを提供してよく、とりわけ、ユーザの経験レベルを入力することを含むことができる。
アプリ111は、選択されたルックおよびユーザの経験レベルを出発点として利用してよい。例えば、メイクアップを適用することが初めてのユーザは、試してみたいと思うだろうし、メイクアップを適用することに関して学びたいと思うかもしれない。以前にメイクアップを適用した経験があり、知識および創造性を広げたいと考えている経験豊富なユーザは、新しいメイクアップ製品またはメイクアップルックを試してみたいと思うかもしれない。専門家ユーザはメイクアップを適用した豊富な経験を有しているかもしれないが、自分の創造性を広げて、プロのメイクアップアーティストによって作成されるような品質のルックを取得したいと考えているであろう。その後、アプリ111は、後の段階で推奨事項を提供する際に、選択されたルックおよびユーザの経験レベルを使用してもよい。
S303では、アプリ111は、アプリ111にカスタムルックを提供させるか、またはユーザが自分の顔画像にバーチャルメイクアップを適用するかの選択をユーザに提供してよい。実施形態によっては、S305では、メイクアップパレットユニットは、少なくとも1つのデジタルメイクアップパレットを生成してよい。特に、ユーザは、例えば、アプリ111ストアからデジタルメイクアップをダウンロードすることによって、またはデジタルメイクアップを提供するウェブサイトからダウンロードすることによって、特定のバーチャルメイクアップ用のデジタルメイクアップパレットを取得してよい。1つ以上の実施形態では、ユーザは、デジタルメイクアップパレットをメイクアップルックのバリエーションに合わせて変更してよい。例えば、ユーザは、VSCOガールルックなどのメイクアップルックのためにデジタルメイクアップパレットを変更して、多かれ少なかれドラマチックにしてよい。あまりドラマチックではないルックには、メイクアップルックに対して異なるデジタルメイクアップパレットを取得することを要する場合があるか、または顔パーツ、例えば、唇、まぶた、鼻に対して異なるデジタルメイクアップを取得することを要する場合がある。
図4は、メイクアップを適用する方法を選択する機能を含むアプリ111のグラフィカルユーザインタフェースの一例である。実施形態によっては、ユーザは、アプリ111にカスタムルックを実行させるか、またはユーザがデジタルメイクアップを適用するかについて決定する(S303)前に、デジタルメイクアップパレットを取得してもよい(S305)。図4に戻って参照すると、ユーザインタフェース400は、ファンデーション401a、アイシャドウ401b、およびコンシーラー401cなど、ユーザが取得した製品401を表示できる。ユーザインタフェース400は、カスタムルックを作成する(403)、または1つ以上のバーチャルメイクアップを手動で適用することによってルックを作成する(405)など、機能の選択をユーザに提供することができる(図3AのS303を参照)。
実施形態によっては、アプリ111は、事前定義されたルックのリストをユーザに提供してよく、ユーザは、事前定義されたルックを出発点として選択してよい。事前定義されたルックを選択すると、アプリ111は、選択されたルックに対する推奨デジタルメイクアップおよび/またはデジタルメイクアップパレットのセットをユーザに提供できる。ユーザは、推奨のセットに基づいて、データベース107からか、またはメイクアップ提供者から、例えばメイクアップ提供者のウェブサイトから、デジタルメイクアップおよびデジタルメイクアップパレットを取得してよい。
図5は、デジタルメイクアップパレットを取得する方法のフローチャートである。図5を参照すると、S501では、ユーザは、メイクアップ目的ユニットを介して、所望のルックを入力し、S503では、メイクアップ経験のレベルを入力する。S505では、ユーザはメイクアップパレットユニットを介してデジタルメイクアップパレットを取得する。所望のルック(本明細書ではバーチャル試着とも呼ぶ)は、事前定義されたルックのリストから選択しても、事前定義されたルックを反映するルック名として入力してもよい。場合によっては、ユーザは、事前定義されたルックを持たない新しいルック、または事前定義されたルックの変更であるルックを入力することがある。
デジタルメイクアップパレットは、特定のタイプのメイクアップルックを作成するためのパレットであってもよい。デジタルメイクアップパレットは、物理的なメイクアップ製品と同様にメイクアップ会社から購入しても、またはデジタルメイクアップ製品を専門とするWebサイトから取得してもよい。図6は、本開示の例示的な態様によるデジタルメイクアップパレットを有するユーザインタフェースを示す。ユーザインタフェースは、特定のメイクアップルック603および特定のユーザ経験レベル605用のデジタルメイクアップパレット601を含んでもよい。デジタルメイクアップパレット601は、特定の色、カバレッジ、色合い、および仕上がりの、特定のデジタルメイクアップを選択するためのボタンを含んでもよい。ユーザ経験レベル605は、一般的なアプリケーションから精密なアプリケーションまでの範囲で、スライドバーによって制御されてもよい。ユーザインタフェースは、メイクアップアプリケータツール607を選択するためのボタンを含んでもよい。
デジタルメイクアップパレットには1つ以上の特定のデジタルメイクアップが含まれており、物理的なメイクアップと同様に、特定の色、カバレッジ、色合い、仕上がりを備えている。物理的なメイクアップとは異なり、カバレッジは不透明フィルタとして実装されてよく、色合いはRGB値の範囲として実装され、仕上がりは色の濃度または色の明るさであってよい。
デジタルメイクアップパレットも、汎用のメイクアップパレットであってもよい。さらに、デジタルメイクアップパレットは、顔の一部に対する特定のバーチャルメイクアップ用であってもよい。図7は、1つ以上のバーチャルメイクアップ用の入れ物および1つ以上のメイクアップアプリケータツール用の入れ物を有するユーザインタフェースを示す。バーチャルメイクアップは、製品701、または1つ以上のメイクアップ提供者のウェブサイトから取得された製品であってもよい。バーチャルメイクアップ製品は、ユーザ703のメイクアップバッグに格納されてもよい。ユーザエクスペリエンスレベル705は、一般的なアプリケーションから精密なアプリケーションまでの範囲で、スライドバーによって制御されてもよい。メイクアップアプリケータツールは、入れ物707に格納されてもよい。特定のバーチャルメイクアップ製品を適用するために、さまざまなメイクアップアプリケータツールを使用してよい。アプリケータツールのタイプには、ブラシ、スポンジメイクアップアプリケータ、メイクアップアプリケータパフが含まれうる。ブラシにはさまざまな幅があってよく、角度のついた先端、平らな先端、または尖った先端を有してよい。マスカラブラシなどの特殊なブラシには剛毛がある。一般的なスポンジアプリケータは、先端が1つまたは2つ付いたスポンジ綿棒である。一部のスポンジは平らな楕円形である。一部のスポンジはくさび形をしている場合がある。パフにはさまざまなサイズと素材があってよい。一部のメイクアップ製品は、メイクアップペンシル、例えばアイブロウペンシル、アイライナーペンシル、およびリップライナーペンシルの形態である。コンシーラーおよびハイライター製品には、ペンのようなディスペンサーが内蔵されている場合がある。
バーチャルメイクアップには、スタイラス、マウス、内蔵モーションセンサを備えた物理的なアプリケータツール、さらにはユーザの指を使用した実際の物理的なジェスチャに従って動作するように構成されうるアプリケータツールが含まれる場合がある。物理的ジェスチャを行って、バーチャルブラシにスタイラスの動きおよび力に応じたブラシストロークを適用させてもよい。実施形態によっては、スタイラスは、タッチスクリーン上の力の量によって、その力に見合った太さを有する線が生成されるモバイルデバイスの3Dタッチ画面上で使用されうる。実施形態によっては、スタイラスは、メイクアップアプリケータの形態をとり、ユーザがスタイラスを使用して顔画像にバーチャル的にメイクアップを適用するときに、ブラシストロークの動きおよび力を検出するための動きセンサおよび力センサの両方を含んでもよい。
ユーザが独自のカスタムルックを作成することを選択した場合(S303で自分で行う)、S307で、モバイルデバイス101またはノートパソコン103上で実行されているモバイルアプリケーション111は、内蔵カメラ機能を使用してユーザの顔画像をキャプチャすることができる。実施形態によっては、カメラ231は、ユーザのビデオをキャプチャするために使用される。実施形態によっては、カメラ231は、わずかに異なる方向からおよび/または異なる明るさの条件でユーザの顔のいくつかの画像を取り込むために使用される。代替として、以前にキャプチャされた1つの画像、複数の画像、またはビデオがモバイルアプリケーション111にアップロードされてもよい。さらに、以前にキャプチャされた1つの画像、複数の画像、またはビデオは、外部カメラ装置を使用して撮影されてもよいし、モバイルデバイスもしくはノートパソコンの内部記憶デバイスからかまたは外部記憶デバイスから取得されてもよい。
実施形態によっては、画像がキャプチャされると、S309では、モバイルアプリケーション111は、顔認識を実行し、唇、目、鼻、耳、および髪を含む顔画像内のパーツおよびその位置を識別してもよい。顔認識を実行するために、モバイルアプリケーション111は、明るさを改善するなど、画像特徴を改善するために画像処理操作を実行してよい。例えば、ユーザは、ユーザの背後から明るい光や日光が差し込んだときに、不注意に自分の写真を撮ってしまう可能性がある。モバイルアプリケーション111は、ユーザの顔画像を明るくしうる。画質を向上させるために、他の画像処理操作が実行される場合がある。
図8は、顔分析ステップのより詳細なフローチャートである。
S801では、キャプチャされた画像を分析して顔形状を決定してもよい。1つ以上の実施形態では、キャプチャされたユーザの顔の顔形状は、機械学習モデルを使用して検出されてもよい。機械学習モデルは、既知の顔形状を有する顔画像を使用して顔形状を分類するようにトレーニングされてもよい。最近、画像分類は、人間の脳の視覚皮質が物体を認識する際にどのように機能するかにヒントを得た、一種のニューラルネットワークを使用して実行されている。ニューラルネットワークは、畳み込みニューラルネットワーク(CNN)として知られるネットワークのファミリーである。画像分類には他のアプローチも提案されており、改良が続けられている。画像分類に使用されうる他のアプローチには、線形回帰、デシジョンツリー、ランダムフォレスト、およびサポートベクターマシンなどがある。実施形態によっては、機械学習モデルは、クラウドサービス105の機械学習サービス109を使用してリモートでトレーニングされうる。
1つ以上の実施形態では、顔形状を分類するために使用されうる機械学習モデルのアーキテクチャはCNNである。図9は、顔形状を分類するためのCNNのブロック図である。CNNの次元および活性化関数は、利用可能な処理能力および必要な精度に応じて変化する可能性がある。次元には、チャネルの数、各層のニューロンの数、および層の数が含まれる。考えられる活性化関数には、ロジスティック関数、正規化線形ユニットなどが含まれる。
畳み込みニューラルネットワーク(CNN)は、いくつかの種類の層で構成されてもよい。畳み込み構成要素903は、畳み込み層903a、プーリング層903c、および正規化線形ユニット層903bから構成されうる。畳み込み層903aは、与えられたすべての空間位置で特徴部分の特別な位置を検出する2次元活性化マップを開発するためのものである。プーリング層903cは、ダウンサンプリングの一形態として機能する。正規化線形ユニット層903bは、畳み込み層自体の受容野に影響を与えることなく、活性化関数を適用して、決定関数およびネットワーク全体の非線形特性を増加させる。全結合層905は、前の層間のすべての活性化への接続を有するニューロンを含む。損失層は、ネットワークトレーニングが予測された層と真の層との間の偏差にどのようにペナルティを与えるかを指定する。損失層907は、相互に排他的なクラスのセット内のクラスを検出する。損失層の1つのタイプはソフトマックス関数であり、複数のクラスのそれぞれに出力値を提供する。
実施形態によっては、損失層907はソフトマックス関数であってもよい。ソフトマックス関数は、各クラスの確率値を提供する。例示的な実施形態では、クラス909は、正方形、長方形、円形、長円形、楕円形、ひし形、三角形、およびハート面の形状を含むことができる。
S803では、モバイルアプリケーション111は、顔の特徴部分およびランドマークをさらに分析しうる。顔の形状と同様に、キャプチャされたユーザの顔の特徴部分およびランドマークは、機械学習モデルを使用して検出されうる。機械学習モデルは、顔のランドマークを検出するようにトレーニングされうる。顔形状分類を用いて、図9と同様のCNNアーキテクチャを顔のランドマーク検出に使用してもよい。分類への他のアプローチも使用してよい。
図10は、顔のランドマーク検出のための深層学習ニューラルネットワークの図である。図9のアーキテクチャと同様に、深層学習ニューラルネットワークは畳み込みニューラルネットワークである。深層学習ニューラルネットワークのトレーニングを改善するために、残差接続が含まれてもよい。1つ以上の実施形態では、ネットワーク内の初期の層に対して残差接続が行われる、反転された残差構造が含まれてもよい。図10のアーキテクチャに関して、ネットワークは、1003および1005の2段として提供される。第1の段1003は、特徴抽出を行うための畳み込みの段である。第2の段1005は、関心領域内で予測を実行する。
第1の段1003のアーキテクチャは、入力顔画像1001が提供されると、畳み込み演算および最大プーリング演算を実行する畳み込みセクション1003aを含む。畳み込みセクション1003aは、反転残差構造(inverted residual structure)1003bに接続されている。マスク層1003cは、反転残差構造1003bに接続されている。マスク層1003cのサイズは、ランドマークの数(例えば、2×L、ランドマークの数)に基づく。マスク層1003cは、入力オブジェクトの空間レイアウトを符号化する。
第2の段1005のアーキテクチャは、第1の段1003の反転残差構造1003bに接続された反転残差構造1005bを含む。また、第1の段1003のマスク層1003cは、反転残差構造1005bの結果に適用され、ROIおよび連結ブロック1011における関心領域のトリミングを実行するための入力として提供される。ROIおよび連結ブロック1011は、反転残差構造1005b内のチャネルの数およびランドマークの数に基づく。予測ブロック1013は、マスク層1005c内のランドマークおよびおおよその位置を予測する。第2の段1003の関心領域の予測は、画像全体に対してマスク1003cによって推定されたランドマークと結合されて、出力層1007内の出力ランドマークを取得する。
1つ以上の実施形態では、顔のランドマークには、目、鼻、唇、頬骨、眉毛を含む目の周囲の領域、まぶた、および髪が含まれる。実施形態によっては、ランドマークには顔の異常の可能性が含まれる場合がある。
各層の具体的な次元および層の数は、所望の精度、機械学習モデルを実行するハードウェア、機械学習モデルのトレーニング時間などのパラメータに依存する場合がある。機械学習モデルは、クラウドサービス105の機械学習サービス109を使用してトレーニングされてもよい。
顔の特徴部分の分析S803は、唇の形状の検出S805、まぶたの形状の検出S807、および髪型の検出S809をさらに含むことができる。検出されたランドマークは、唇、目、および髪型の輪郭を計算するために使用できる。さらに、肌の色S811および肌の質感S813などの他の顔の特徴も顔画像から決定されうる。肌の色および肌の質感は、画像処理技術を使用して決定される場合がある。肌の色合いのタイプとしては、色白、明るい、普通、濃いなどが挙げられうるが、これらに限定されない。皮膚の質感のタイプとしては、柔らかい、滑らかな、粗い、革のようなものが挙げられるが、これらに限定されない。
顔画像の追加の特徴は、明るさ(lighting)(画像の明るさ(image brightness))であってもよい。S815では、画像処理技術を使用して画像の明るさ(明るさ)を決定してよい。明るさは、画像内で知覚される光の総量の尺度として定義されうる。実施形態によっては、画像の明るさは、キャプチャされたときの初期の明るさレベルから増加または減少することがある。
S817では、過去のルックの好みをデータベース107から取得してよい。過去のルックの好みには、色、カバレッジ、色合い、仕上がり、および過去のルックに使用された適用ジェスチャなどのデジタルメイクアップの特性を含むことができる。過去のユーザの好みは、顔の特定のパーツのデジタルメイクアップの特性を含んでよく、特定のルックに適用されたデジタルメイクアップの選択も含むことができる。
S311では、ユーザインタフェースは、バーチャルメイクアップを選択する機能を含んでよい。図11は、適用するバーチャルメイクアップを選択するための例示的なユーザインタフェースである。ユーザインタフェース画面1100は、ポインタ1103を使用してバーチャルメイクアップを選択するための指示を含むメッセージ1101を含んでもよい。
S313では、バーチャルメイクアップが選択されると、モバイルアプリケーション111は、選択されたバーチャルメイクアップをアクティブにする機能を実行できる。バーチャルメイクアップは、アプリケータのスワイプジェスチャおよびバーチャルメイクアップが適用される顔の典型的な領域を含む、バーチャルメイクアップの特性を取得することによってアクティブにされてもよい。実施形態によっては、バーチャルメイクアップに関連付けられたデータは、カバレッジ、色合い、および仕上がりを含むことができる。
S315では、モバイルアプリケーション111は、バーチャルメイクアップを適用する方法についての推奨案が必要かどうかをユーザに質問するメッセージを表示できる。推奨メッセージの要求を表示するためのユーザインタフェースの例を図12に示す。
図12は、ユーザがメイクアップを適用するか、モバイルアプリケーションがメイクアップを適用する方法を推奨するかを選択するための例示的なユーザインタフェースである。ユーザインタフェース1200は、バーチャルメイクアップ1205を適用する方法に関する推奨案を選択するためのボタン1203を表示できる。ユーザインタフェース1200は、代替として、スタイラスまたはマウスをスワイプして顔画像1207にバーチャルメイクアップを適用するようにユーザに指示するボタン1201を表示してもよい。
ユーザが推奨案を取得しないことを選択した場合(S315でNO)、S317では、ユーザは、バーチャルメイクアップを適用する顔画像上の位置を指定してもよい。S321では、ユーザは、メイクアップ目的視覚化ユニットを介して、スタイラスまたはマウスを使用して顔の位置でスワイプを行うことによってバーチャルメイクアップを適用してよい。図13は、モバイルデバイス101上の例示的なユーザインタフェースである。ボタン1201が選択されると、ユーザインタフェースは、顔画像1301およびデジタルメイクアップパレット1303を表示してよい。ユーザは、デジタルメイクアップパレット1303から色1303bを選択し、スタイラス1310のスワイプジェスチャを使用して、バーチャルメイクアップ1303aを特定の位置1305に適用してよい。モバイルデバイス101上の画面は、顔の特徴部分の表示を調整するために顔画像1301を拡大または縮小するために使用できるズーム機能を含むタッチスクリーンであってもよい。実施形態によっては、タッチスクリーンのモードを切り替えて、画像を動かすことなくスタイラスを使用して顔画像にバーチャルメイクアップを適用できるようにしてもよい。
もう1つの決定では、ユーザが推奨案を取得することを選択した場合(S315でYES)、S319では、モバイルアプリケーション111は、バーチャルメイクアップを適用する顔画像上の位置を示す。
図14は、レコメンダシステムの図である。レコメンダシステム1400は、バーチャルメイクアップを適用する方法を示すために使用されうる(図3AのS319)。レコメンダシステム1400は、画像データおよびメイクアップフィルタのインデックス付きデータベース1405に基づいて動作する。レコメンダシステム1400は、推奨案を検索してランク付けする推奨エンジン1407を含む。特定のバーチャルメイクアップを適用する場合、推奨案は、ユーザがステップS301で入力したルックおよびバーチャルメイクアップに関するものであってもよい。実施形態によっては、推奨案は、ユーザの好みまたはお気に入りに基づいて取得されてもよい。個人的なユーザの好みは、アプリ111が最初にセットアップされるときにユーザが入力したメイクアップの特性であってもよい。お気に入りは、ユーザがお気に入りとしてフラグを立てたメイクアップの特性である場合がある。個人の好みおよびお気に入りは、顔の特定のパーツまたは顔全体に関するものであってもよい。
実施形態によっては、推奨エンジン1407は、ルックフィーチャマトリクス(look-feature matrix)を使用しうる。図15は、本開示の例示的な態様による非限定的なルックフィーチャマトリクスを示す。図15のルックフィーチャマトリクスは、簡潔にするために2つのタイプのバーチャルメイクアップを示す部分マトリクスである。いくつか例を挙げると、ファンデーション、マスカラ、コンシーラー、チークパウダー、アイブロウペンシルを含むがこれらに限定されない、他のタイプのバーチャルメイクアップがマトリクスに含まれてもよい。ルックフィーチャマトリクスは、モバイルデバイスのアプリ111に格納され、所望の特徴のベクトルと比較されてもよい。所望の特徴は、現在のユーザの好みであり、ユーザの現在の経験レベルおよび所望のルックを考慮してもよい。推奨エンジン1407は、1つ以上の類似性メトリック(similarity metrics)およびスコアリングアルゴリズムを使用して、推奨案をランク付けできる。一実施形態では、推奨エンジン1407は、バーチャルメイクアップの特定の特性を推奨されるものから変更することによって創造性を促進するために、推奨案を高める特徴のセットを生成できる。例えば、推奨エンジン1407が、取得した複数の推奨案の中から1つの推奨案を上位にランク付けした場合、類似性スコアを高めるために1つ以上の特性を変更してもよい。あるいは、推奨エンジン1407は、色合いまたは仕上がりなど、取得された推奨案における1つ以上の特性を、1つ上または1つ下に変更(例えば、色合いを、記憶された色合いより1レベル上または1レベル下に変更)してよい。1つ以上の実施形態では、推奨エンジン1407は、ユーザの経験レベルに基づいてアプリケーションジェスチャを多かれ少なかれ正確になるように調整することができる。
推奨エンジン1407は、1つ以上の推奨案を推奨ユーザインタフェース(S319)に出力できる。推奨ユーザインタフェース(S319)は、選択された推奨案の適用を示す一連のビデオフレームを表示することができる。
1つ以上の実施形態では、推奨用のビデオフレームは、ユーザの顔画像と、データベース1405に格納されている1つ以上のメイクアップフィルタとを使用して生成されてもよい。インデックス付きデータベース1405は、ビデオフレームのシーケンスを作成するために使用される1つ以上のメイクアップフィルタを提供してよい。図16は、顔画像内の所望の特徴部分およびオリジナルの特徴部分に基づいて顔画像を作成するために使用されうるブレンドプロセスを示す。
顔の特徴部分のブレンドは以下のように行われる。
1.所望の特徴部分1601は、オリジナルの特徴部分の色とマッチするように再色付けされ1603、再色付けされた特徴部分1605が得られる。
2.再色付けされた特徴部分1605は、特徴マスク1607によって乗算される。
3.オリジナルの特徴部分1609は、特徴マスクの逆の数(inverse)1611(すなわち、0から1の範囲の各マスク値を1から引いたもの)によって乗算される。
4.結果として得られる2および3の画像は1613ピクセルごとに追加され、最終的にブレンドされた特徴部分の画像1615が作成される。
オリジナルの特徴部分の境界は、顔分析ステップS309の間に決定されていてもよい。ビデオフレームのシーケンスは、特定の顔パーツにバーチャルメイクアップを適用する方法を示すアニメーションとして生成されうる。
S321では、ユーザは、特定のタイプのアプリケータとして描画するように構成されたスタイラスまたはマウスを使用して、顔画像の顔の位置で1回以上のスワイプを行うことによって、バーチャルメイクアップで示された適用を模倣してメイクアップを適用してよい。
図17は、本開示の例示的な態様による、バーチャルメイクアップを適用するステップのフローチャートである。S1701では、ユーザは、ユーザインタフェースと対話して、バーチャルメイクアップを適用するための開始点を選択またはタッチしてよい。S1703では、ユーザは、バーチャルメイクアップを適用するためのジェスチャを実行してよい。ジェスチャは、スワイプ動作、線描画動作、またはタップ動作であってもよい。スワイプ動作は、例えば、まつ毛にマスカラを塗る場合に行われてもよい。より厚いアプリケータをスワイプ動作で使用すると、アイシャドウなどのより広いストロークを適用できる。線描画動作は、例えばアイライナーを塗るために使用できる。口紅を塗るには、太い線で線描画動作を使用してよい。タップ動作を使用してフェイスパウダーを塗ってもよい。
1つ以上の実施形態では、S1705では、ジェスチャをユーザの経験レベルに基づいて分析し、ジェスチャが誤って、すなわち間違いとして適用されたかどうかを判定してよい。初心者ユーザの場合、経験豊富なユーザよりも大きなエラーが許容される場合がある。そのような場合、経験豊富なユーザにとって許容量(tolerance amount)を越えたジェスチャは間違いと判断される可能性があるが、初心者ユーザの場合には許容量が大きくなる可能性がある。初心者ユーザによるジェスチャがより高い許容量を越えた場合、そのジェスチャはエラーであると判定される可能性がある。S1707では、アプリ111は、ジェスチャが誤って、すなわち間違いとして適用されたか否かを判定する。ジェスチャが許容量を越えて行われたと判定された場合(S1707でYES)、S1709では、ジェスチャが間違って適用された可能性があることをユーザに通知するため、および/またはジェスチャが適切に適用されたことを確認するためにユーザに質問するための、通知メッセージが表示されてもよい。アプリは、S1711で、バーチャルメイクアップの適用をやり直すオプションをユーザに提供できる。間違いがない場合(S1707でNO)、またはユーザがバーチャルメイクアップをやり直さないことを選択した場合(S1711でNO)、アプリ111は次のステップS323に進む。
実施形態によっては、領域およびスワイプ動作は、顔の特徴部分内に留まるように制限または制御されうる。例えば、スタイラスが画面に触れると、モバイルアプリケーション111は、その位置が顔の特徴部分内にあるものとして検出できる。スタイラスが移動すると、スワイプが画面上に描画されうるが、例えば、顔分析ステップS309で決定されたように顔パーツの境界の外側には描画されない。メイクアップ製品のカバレッジ、色合い、および仕上がりなどの特性に合わせてスクリーン上に描画してもよい。画面上の描画は、一般的なアプリケーションのジェスチャおよび顔の領域に従って実行することができる。
S323では、モバイルアプリケーション111は、ユーザがバーチャルメイクアップを適用するときの領域およびスワイプの動きをモバイルデバイス101、103のメモリ202に記録できる。図18は、メイクアップを適用しながら領域およびスワイプを記録するステップのフローチャートである。図18を参照すると、S1801では、モバイルアプリケーション111は、バーチャルメイクアップが適用される顔画像上の位置およびスワイプの数を含む、メモリ内の各ステップおよび関連データを追跡および記録することができる。
S325では、モバイルアプリケーション111は、ユーザの顔の問題領域または最良の特徴部分を推定するために、バーチャルメイクアップの記録された位置およびスワイプならびにバーチャルメイクアップの特徴部分を分析する。位置は顔の特徴部分にマッピングされてもよい。図19は、問題領域または最良の特徴部分を推定するために、メイクアップを適用するユーザのステップを分析するステップのフローチャートである。図19を参照すると、S1901では、モバイルアプリケーション111は、メイクアップスワイプを分析して、潜在的な問題領域を特定してよい。潜在的な問題領域には、シミ、傷跡、加齢シミ、および色素沈着過剰などが含まれる場合がある。潜在的な問題領域は、ユーザが問題であると考える顔の領域、または望ましくない特徴部分である可能性がある。言い換えれば、潜在的な問題領域は、ユーザが外観を隠すかまたは変更することを望む領域である可能性がある。
モバイルアプリケーション111は、顔の特徴部分の特定の位置における異常なスワイプジェスチャを検出することによって、潜在的な問題領域を特定できる。異常なスワイプジェスチャには、方向の突然の変更や、誤って行われたわけではない力の突然の変更が含まれる場合がある。モバイルアプリケーション111は、ユーザがデジタルメイクアップパレットから異なるバーチャルメイクアップまたは代替色を特定の顔の領域に適用すること(すなわち、異なるカバレッジ特性および/または異なる色合いを有するバーチャルメイクアップ)を検出することによって、潜在的な問題領域を特定することができる。
S1903では、モバイルアプリケーション111は、メイクアップスワイプを分析して、最良の顔の特徴部分を特定してよい。最良の顔の特徴部分には、頬骨、目の色、まつ毛、唇の形状、またはユーザが強調したい任意の特徴部分が含まれうる。モバイルアプリケーション111は、同じ顔の特徴部分に対する平均的なメイクアップの適用から閾値量だけ異なる顔の特徴部分に対するメイクアップの適用の変化を検出することによって、最良の顔の特徴部分を検出できる。例えば、モバイルアプリケーション111は、顔領域に適用される色の典型的な色合いおよび/または仕上がりとは異なる色合いおよび/または仕上がりの色の適用を検出することによって、最良の顔の特徴部分を検出できる。目の色の場合、モバイルアプリケーション111は、特定のアイシャドウの色の適用を検出することによって、目の色が最良の顔の特徴部分であることを検出することができる。
S1905では、モバイルアプリケーション111は、特定された問題領域および最良の顔の特徴を、以前に格納された推奨案と比較できる。モバイルアプリケーション111は、いくつかの新たな問題領域が存在する可能性があるか、またはいくつかの問題領域がもはや問題領域になりうるものではないと判定できる。モバイルアプリケーション111は、潜在的な問題領域として以前に考えられていた問題領域の重要性を高めることができる。
S1907では、推奨エンジン1407が検証された問題領域を有する推奨案に高いスコアを割り当てるように、比較の結果を使用して推奨案を調整してもよい。新しい問題領域および最良の顔の特徴部分、あるいは、もはや潜在的でない問題領域または最良の顔の特徴部分である、問題領域および最良の顔の特徴部分を用いて、推奨案が新しいまたはもはや潜在的でないものへの変更を支援する可能性がある場合、推奨案を調整してもよい。
ユーザは、問題領域を補正したり、最良の特徴部分を強調したりする方法で、デジタルメイクアップパレットからバーチャルメイクアップを適用してよい。1つ以上の実施形態では、問題領域の不完全性をぼかすためのフィルタを適用することによって、問題領域を補正してよい。例えば、顔画像内のシミを含む領域をぼかすことによって、シミを目立たなくしてよい。
上述のとおり、潜在的な問題領域は、ユーザが問題であると考える顔の領域、または望ましくない特徴部分である可能性がある。最良の顔の特徴部分には、頬骨、目の色、まつ毛、唇の形状、またはユーザが強調したい任意の特徴部分が含まれる。
S327では、モバイルアプリケーション111は、検証された問題領域、検証された最良の顔の特徴部分、およびユーザメイクアップアプリケーションを将来のカスタム推奨としてデータベース1405に格納することができる。
図3Bを参照すると、S331では、ユーザは、別のバーチャルメイクアップに対してバーチャルメイクアップを適用するステップを繰り返すことを選択してもよい。所望のバーチャルメイクアップがすべて適用された後、ユーザは、S335で、データベース107に作成されたルックを保存することを選択してよい(S333でYES)。S337では、ユーザは、S339で作成されたルックをソーシャルメディアプラットフォームまたはライブビデオを有する他のプラットフォームに移動/公開することを選択してもよい(S337でYES)。1つ以上の実施形態では、ルックは、別の顔画像に適用されうるメイクアップフィルタとして格納されてもよい。
図20は、メイクアップルックを格納するための例示的なユーザインタフェースである。ユーザインタフェース2000は、完成した顔画像2001を表示し、完成した顔画像を保存する機能のためのボタン2003を提供してよい。完成した顔画像は、基礎となる顔画像、および完成した顔画像を再作成するために基礎となる顔画像に適用されうる1つ以上のフィルタとして格納されてもよい。実施形態によっては、完成した顔画像は、基礎となる顔画像およびメイクアップ製品の記録されたスワイプとして格納されてもよい。ユーザインタフェース2000は、完成した顔画像をソーシャルメディアプラットフォームまたはビデオ会議プラットフォームなどのライブビデオまたは静止画像を提供するプラットフォームに移動する機能のためのボタン2005をさらに提供できる。ソーシャルメディアプラットフォームには、いくつか例を挙げると、Facebook、Linked-in、Instagram、YouTube、Snapchat、TikTokが含まれる。ビデオ会議プラットフォームには、いくつか例を挙げると、Microsoft Teams、FaceTime、Google HangoutsもしくはGoogle Meet、およびZoomが含まれる。
実施形態によっては、完成した顔画像を再作成するための1つ以上のメイクアップフィルタが、ソーシャルメディアプラットフォームまたはビデオ会議プラットフォームに提供されてもよい。1つ以上のフィルタを別のベース画像に適用して、新しい完成した顔画像を取得してもよい。
実施形態によっては、S315では、ユーザは、デジタルメイクアップパレットおよびキャプチャされた顔画像を別のユーザに転送してよい。そのような場合、他のユーザがメイクアップアプリケーションを行っている間に、S321からS327を行ってもよい。他のユーザは、メイクアップの適用において、より高いレベルの経験を持つ人でもよいし、またはオリジナルのユーザが好みうるタイプのメイクアップルックを作成できるとオリジナルのユーザが信じている人であってもよい。
図21は、デジタルパレットのカスタムアプリケーション方法のフローチャートである。ユーザがカスタムメイクアップルックを作成することを選択すると(S303のカスタム)、S2101では、ユーザは、ユーザの顔の1つの画像、複数の画像、またはビデオをキャプチャするように指示されてもよい。モバイルデバイス101のカメラ231、または外部カメラは、ユーザの顔の1つの画像またはビデオをキャプチャするために使用されてもよい。S2103では、モバイルアプリケーション111は、キャプチャされたユーザの顔を分析してもよい。図22は、カスタムメイクアップアプリケーションの作成状況を示すための例示的なユーザインタフェースである。図8は、上述のとおり、顔分析ステップのより詳細なフローチャートである。図9は、上述のとおり、顔形状を分類するためのCNNのブロック図である。CNNの次元および活性化関数は、利用可能な処理能力および所望の精度に応じて変化する可能性がある。次元には、チャネル、各層の大きさ、および層の数が含まれる。活性化関数には、ロジスティック関数、正規化線形ユニットなどが含まれる。図10は、上述のとおり、顔のランドマーク検出のための深層学習ニューラルネットワークの図である。
S2105では、顔分析(S2103および図8)によって特定された顔の特徴部分および過去のルックの好みに基づいて、データベース107から1つ以上のメイクアップフィルタが選択/検索されてもよい。格納されているメイクアップ顔フィルタのいくつかは、(S303で「自分で行う」を選択したときに)ユーザによって以前に作成されたフィルタであってもよい。メイクアップフィルタのいくつかは、共通のルックであってもよい。
図23は、メイクアップフィルタの選択方法のフローチャートである。S2301では、S2103の分析結果から顔形状が取得される。S2303では、S2103の分析結果からランドマークが取得される。S2305では、S2103の分析から肌、髪、目、顔の色、および明るさの特徴が取得される。S2307では、デジタルメイクアップパレットの過去のルックの好みが取得されてもよい。S2309では、ランドマーク、顔の形状、肌の色、髪型、まぶたの形状、過去の好みに対して可能な顔フィルタがデータベース107から取得される。S2311では、取得された顔フィルタのサブセットを選択してよい。選択基準は、可能な顔フィルタの中からランダムな選択、過去のルックの好みに最もよく適合する顔フィルタの選択、ユーザにカスタムルックを与えるために過去のルックの好みとは異なるがユーザに異なるクリエイティブなルックの選択肢を提供できる少なくとも1つの顔フィルタの選択、を含むことができる。
S2107では、取得されたメイクアップフィルタを顔画像に重ねて、1つ以上のカスタムルックを取得してよい。オーバーレイプロセスには、顔の形状および顔のランドマークに基づいてメイクアップフィルタを位置合わせすることが含まれてもよい。図16のブレンドプロセスを用いて、所望の特徴と顔画像内のオリジナルな特徴とに基づいて顔画像を作成することによってオーバーレイプロセスを実行してよい。
S2111では、ユーザは、モバイルアプリケーション111によって作成されたルックをデータベース107に保存することを選択してもよい(S2109でYES)。S2113では、ユーザは、(S2113でYES)を選択し、S2115では、作成されたメイクアップルックをソーシャルメディアプラットフォームまたはビデオ会議プラットフォームに移動/公開することを選択してもよい。
図24は、メイクアップルックを格納するための例示的なユーザインタフェースである。ユーザインタフェース2400は、完成した顔画像2401を表示し、それぞれの完成した顔画像を保存する機能のボタン2403を提供しうる。完成した顔画像は、基礎となる顔画像、および完成した顔画像を再作成するために基礎となる顔画像に適用されうる1つ以上のメイクアップフィルタとして格納されてもよい。実施形態によっては、完成した顔画像は、基礎となる顔画像およびメイクアップ製品の記録されたスワイプとして格納されてもよい。ユーザインタフェース2400は、完成した顔画像をソーシャルメディアプラットフォームまたはビデオ会議プラットフォームに移動する機能のためのボタン(不図示)をさらに提供しうる。ソーシャルメディアプラットフォームには、いくつか例を挙げると、Facebook、Linked-in、Instagram、Snapchat、YouTube、TikTokが含まれる。ビデオ会議プラットフォームの例には、Microsoft Teams、FaceTime、Google HangoutsもしくはGoogle Meet、およびZoomが含まれる。
本発明の多数の変更および変形は、上記の教示に照らして可能である。例えば、さまざまな消費者の肌の色合いおよび質感から収集されるデータは、一人以上の消費者への人工ニューラルネットワークのスケーリングを可能にするであろう。人工ニューラルネットワークは、製品の色合いごとに、新しい化粧品のフォーミュラのレンダリングを予測することができるであろう。
1つ以上の実施形態では、強化学習などの機械学習の形式を使用して、ユーザが何を問題領域であると考えているか、およびユーザが最良の顔の特徴部分としてどの領域を強調したいかを学習してよい。
図25は、強化学習アーキテクチャのタイプのブロック図である。注目すべきは、いくつか例を挙げると、深層強化学習、Qラーニング、ディープQネットワークなど、強化学習用にさまざまなアーキテクチャおよびアルゴリズムが開発されている。本開示では、強化学習の一般的な説明が提供されており、強化学習へのさまざまなアプローチに適用されることが理解されるべきである。
教師あり学習とは異なり、強化学習は機械学習の一形態であり、出力を事前に知る必要はない。代わりに、アクターによって出力されたアクションは、そのアクションが適切であったかどうかを示す報酬をもたらす。強化学習システムには、環境内で移動アクションを指示するアクターが関与する場合があり、アクションの選択により、特定の値のスコアの形で報酬が得られる場合がある。移動アクションにより、環境が新しい状態になる。スコアはアクターにフィードバックされ、機械学習コンポーネントが調整される。移動アクションの例は、環境内のアクターが新しい場所に移動してタスクを実行するアクションであってよく、そのタスクによりアクターのスコア値が増加する。スコアの増加は、移動アクションが有益であったことを裏付けるものとなる。次の移動アクションは、環境内のアクターが新しい位置に到達しない移動を行い、その後負のスコアをもたらすか、または少なくともスコア値を増加させないアクションである可能性がある。スコアの低下は負の影響としてフィードバックされ、機械学習コンポーネントは、環境の状態を考慮すると、アクターによって指示された移動アクションが適切な選択ではなかったことを学習するように調整されてもよい。したがって、アクターが動作アクションを指示し続けるにつれて、強化学習を採用し続けることができる。
図25に関して、エージェント2510は、人工ニューラルネットワーク2513を介して、離散時間ステップでその環境2520と対話する。各時間tで、エージェント2510は通常、関連する報酬を持つ観察を受信する。次に、エージェントは利用可能なアクションのセットからアクションを選択し、その後、環境2520に送信される。環境2520は新しい状態に移行し、その移行に関連する報酬が決定される。強化学習エージェント2510の目標は、できるだけ多くの報酬を収集することである。エージェント2510は、以前のアクションの履歴に応じて任意のアクションを(おそらくランダムに)選択することができる。
一実施形態では、強化学習システムを、ユーザが何を問題領域であると考えているか、およびユーザが最良の顔の特徴部分としてどの領域を強調したいかを学習するように構成してもよく、2つの強化学習プロセスとして提供してよい。図26は、本開示の例示的な態様による、機械学習システムのフロー図である。上述したように、強化学習は一般に、報酬2520aのフィードバックを通じて学習を行う。実施形態によっては、フィードバックは、ユーザが顔画像にメイクアップ製品を適用するときに、モバイルアプリケーション111との音声対話の形で提供されうる。音声フィードバックは、マイクロフォン103a、241を使用して提供することができ、その音声フィードバックは、音声回路242を介して出力される質問および発言に応答して提供されうる。
一実施形態では、強化学習システム2600は、複数の強化学習モデルの形態をとることができる。1つの強化学習モデル2603は、顔画像に対するメイクアップ製品の1回または一連のスワイプ2601に基づいて問題領域を検出しうる。強化学習システム2600は、「問題領域にメイクアップを適用していますか?」などの質問をすることによって、問題領域の検出を検証してよい(すなわち、報酬をフィードバックしてよい)。別の強化学習モデル2605は、顔画像に対するメイクアップ製品の1回または一連のスワイプ2601に基づいて最良の顔の特徴部分を検出してよい。強化学習システム2600は、「最良の顔の特徴部分にメイクアップを適用していますか?」などの質問をすることによって、最良の顔の特徴部分の検出を検証してよい(すなわち、報酬をフィードバックしてよい)。強化学習システムは、問題領域の位置や最良の顔の特徴の情報を利用して、「シミにメイクアップを適用していますか?」または「目の色を強調するためにメイクアップを適用していますか?」など、より具体的な質問を提供する場合がある。
図26の強化学習システム2600は一連の機械学習モデルであるが、代替アプローチは、最初に1つまたは一連のスワイプを問題領域、最良の顔の特徴部分、またはそのどちらでもないものとして分類し、最初の分類の結果を強化学習モデル2603、強化学習モデル2605のいずれかに提供する、またはどちらのモデルにも提供しない、機械学習コンポーネントを含むことであってもよい。
ユーザによる応答は、強化学習システムに報酬を適用するために使用されてもよい。報酬は、ユーザの応答に応じて正または負のスコアになる場合がある。スコアは、それぞれの機械学習モデル2603または2605のパラメータを調整するために使用されるであろう。
強化学習と同様の継続学習を実行して、問題領域を検出したり、最良の顔の特徴部分を検出したりする別のアプローチは、回帰分析である。回帰分析の利点は、計算が速いことである。ただし、非線形回帰分析のモデルは、予測可能なデータ予測により適している。メイクアップスワイプのデータは、問題領域や最良の特徴部分以外の理由で行われることがあるため、明確に予測することが難しい場合がある。
一実施形態では、用語「a」、「an」などは、別様に示されない限り、概して、「1つ以上」の意味を有する。
一実施形態では、用語「約」、「近似」、「おおよそ」、および類似の用語は、概して、20%、10%、または好ましくは5%のマージン内の特定された値、およびそれらの間の任意の値を含む範囲を指す。
その結果として、添付の特許請求の範囲内で、本発明は、本明細書に具体的に記載される以外の方法で実施されうることを理解されたい。
上記の開示はまた、以下に列挙される実施形態を包含する。
(1)メイクアップ用の拡張現実システム。拡張現実システムは、ユーザが選択可能なメイクアップ目的の1つ以上のインスタンスを生成し、ユーザが選択したメイクアップ目的情報を受信するように構成されたグラフィカルユーザインタフェースに動作可能に結合された計算回路を含むメイクアップ目的ユニットと;メイクアップ目的ユニットに動作可能に結合されたメイクアップパレットユニットであって、メイクアップパレットユニットは、ユーザが選択したメイクアップ目的情報に従ってデジタルメイクアップ製品用の少なくとも1つのデジタルメイクアップパレットを生成するように構成された計算回路を含む、メイクアップパレットユニットと;ユーザが選択したメイクアップ目的情報に従ってバーチャル試着の1つ以上のインスタンスを生成するように構成された計算回路を含む、メイクアップ目的視覚化ユニットとを含む。
(2)メイクアップ目的視覚化ユニットの計算回路は、ユーザの顔の少なくとも一部を含むユーザの1つ以上のデジタル画像を受信し、ユーザの顔画像を分析して顔パーツを特定し、ユーザの顔画像にデジタルメイクアップ製品を適用するユーザによる少なくとも1つのジェスチャを追跡し、メモリ内に記録し、少なくとも1つのジェスチャを分析してユーザの顔の問題領域を推定するか、または特定の顔の特徴部分の強調を推定し、推定された問題領域または推定された強調された顔の特徴部分を、適用されたカバレッジ、色合い、および仕上がりとともにメモリ内に格納するようにさらに構成される、特徴(1)に記載のメイクアップ用の拡張現実システム。
(3)メイクアップ目的視覚化ユニットの計算回路は、ユーザが選択したメイクアップ目的情報と一致する少なくとも1つの変更を含むユーザの顔の一部のバーチャル表現を生成するようにさらに構成される、特徴(2)に記載のメイクアップ用の拡張現実システム。
(4)タッチスクリーンをさらに備え、ユーザによる少なくとも1つのジェスチャは、タッチスクリーン上の1回以上のスワイプを含み、メイクアップ目的視覚化ユニットの計算回路は、1回以上のスワイプを検出し、選択された色をユーザの顔の画像内の位置に適用するようにさらに構成される、特徴(2)または(3)に記載のメイクアップ用の拡張現実システム。
(5)メイクアップ目的視覚化ユニットの計算回路は、タッチスクリーン上の1回以上のスワイプを検出し、ユーザの顔画像内の位置にある顔パーツの境界によって限定される画像の領域に選択された色を適用するようにさらに構成される、特徴(4)に記載のメイクアップ用の拡張現実システム。
(6)メイクアップ目的視覚化ユニットの計算回路は、メイクアップの適用におけるユーザの経験レベルを受信し、タッチスクリーン上の1回以上のスワイプを検出し、スワイプによって示された顔パーツの位置でユーザの顔画像の領域に選択された色を適用し、顔パーツは境界を有し、適用された色を分析して、1回以上のスワイプが境界から許容量を越えているかどうかを判定するようにさらに構成され、許容量はメイクアップの適用におけるユーザの経験レベルに基づく、特徴(2)または(3)に記載のメイクアップ用の拡張現実システム。
(7)タッチスクリーンは、スクリーンに加えられる圧力の量を感知する3次元タッチスクリーンであり、ユーザによる少なくとも1つのジェスチャは、スクリーン上で一定の圧力で3次元タッチスクリーン上でのスワイプを含み、計算回路は、1回以上のスワイプおよびスワイプの圧力を検出し、圧力に応じた厚さで選択された色をユーザの顔画像内の位置に適用するようにさらに構成される、特徴(4)または(5)に記載のメイクアップ用の拡張現実システム。
(8)メイクアップ目的視覚化ユニットの計算回路は、ジェスチャを分析して、問題領域強化学習モデルを使用して問題領域を推定するようにさらに構成される、特徴(2)または(3)に記載のメイクアップ用の拡張現実システム。
(9)メイクアップ目的視覚化ユニットの計算回路は、ジェスチャを分析して、最良の特徴部分強化学習モデルを使用して顔の特徴部分の強調を推定するようにさらに構成される、特徴(2)または(3)に記載のメイクアップ用の拡張現実システム。
(10)メイクアップ目的視覚化ユニットの計算回路は、ジェスチャ識別機械学習モデルを使用して、問題領域に対するジェスチャと強調された顔の特徴部分に対するジェスチャとを区別するようにさらに構成される、特徴(2)または(3)に記載のメイクアップ用の拡張現実システム。
(11)メイクアップ目的視覚化ユニットの計算回路は、モバイルデバイスの音声出力機能を使用して、ユーザの顔画像にデジタルメイクアップ製品を適用する方法についての推奨を希望するかどうかをユーザに質問するようにさらに構成される、特徴(2)または(3)に記載のメイクアップ用の拡張現実システム。
(12)メイクアップパレットユニットの計算回路は、複数のデジタルメイクアップ製品用の複数のプリセットサブカルチャーパレットからサブカルチャーパレットを取得するように構成される、特徴(1)から(11)のいずれかに記載のメイクアップ用の拡張現実システム。
(13)メイクアップ目的視覚化ユニットの計算回路は、ユーザの顔を多かれ少なかれドラマチックにするための少なくとも1つの変更を含む、サブカルチャーパレットを使用してユーザの顔のバーチャル表現を生成するようにさらに構成される、特徴(12)に記載のメイクアップ用の拡張現実システム。
(14)メイクアップ目的視覚化ユニットの計算回路は、ユーザの顔の一部をぼかすことによってシミを除去するための少なくとも1つの変更を含む、サブカルチャーパレットを使用してユーザの顔のバーチャル表現を生成するようにさらに構成される、特徴(12)または(13)に記載のメイクアップ用の拡張現実システム。
(15)メイクアップ目的視覚化ユニットの計算回路は、ユーザの顔のバーチャル表現をライブビデオ用のプラットフォームに転送するようにさらに構成される、特徴(1)から(14)のいずれかに記載の拡張現実システム。
(16)メイクアップ目的視覚化ユニットの計算回路は、ユーザの顔の少なくとも一部を含むユーザの1つ以上のデジタル画像を、第2のユーザのための第2のメイクアップ目的視覚化ユニットに送信するようにさらに構成され、第2のメイクアップ目的視覚化ユニットの計算回路は、ユーザの顔画像を分析して顔パーツを特定し、ユーザの顔画像にデジタルメイクアップ製品を適用する第2のユーザによる少なくとも1つのジェスチャを追跡し、メモリ内に記録し、少なくとも1つのジェスチャを分析して、ユーザの顔の問題領域を推定するか、または特定の顔の特徴部分の強調を推定し、推定された問題領域または推定された強調された顔の特徴部分を、適用されたカバレッジ、色合いおよび仕上がりとともにそのメモリ内に格納するように構成される、特徴(1)から(15)のいずれかに記載のメイクアップ用の拡張現実システム。
(17)第2のメイクアップ目的視覚化ユニットの計算回路は、メイクアップの適用における第2のユーザ経験レベルを受信し、タッチスクリーン上の1回以上のスワイプを検出し、スワイプによって示された顔パーツの位置にあるユーザの顔画像の領域に選択された色を適用し、顔パーツは境界を有し、適用された色を分析して、1回以上のスワイプが境界から許容量を越えているかどうかを判定するようにさらに構成され、許容量はメイクアップの適用における第2のユーザの経験レベルに基づく、特徴(16)に記載のメイクアップ用の拡張現実システム。
(18)第2のメイクアップ目的視覚化ユニットの計算回路は、ジェスチャを分析して、問題領域強化学習モデルを使用して問題領域を推定するようにさらに構成される、特徴(16)または(17)に記載のメイクアップ用の拡張現実システム。
(19)第2のメイクアップ目的視覚化ユニットの計算回路は、ジェスチャを分析して、最良の特徴部分強化学習モデルを使用して顔の特徴部分の強調を推定するようにさらに構成される、特徴(16)から(18)のいずれかに記載のメイクアップ用の拡張現実システム。
(20)第2のメイクアップ目的視覚化ユニットの計算回路は、ジェスチャ識別機械学習モデルを使用して、問題領域に対するジェスチャと強調された顔の特徴部分に対するジェスチャとを区別するようにさらに構成される、特徴(16)から(19)のいずれかに記載のメイクアップ用の拡張現実システム。
(21)メイクアップ用の拡張現実システムであって、ユーザが選択可能なメイクアップ目的の1つ以上のインスタンスを生成し、ユーザが選択したメイクアップ目的情報を受信するように構成されたグラフィカルユーザインタフェースに動作可能に結合された計算回路を含むメイクアップ目的ユニットと;メイクアップ目的ユニットに動作可能に結合されたメイクアップパレットユニットであって、メイクアップパレットユニットは、デジタルメイクアップ製品用の少なくとも1つのデジタルメイクアップパレットを生成するように構成された計算回路を含む、メイクアップパレットユニットと;ユーザの顔を分析して、顔形状、顔のランドマーク、肌の色合い、髪の色、目の色、唇の形状、まぶたの形状、ヘアスタイルおよび明るさのうちの1つ以上を特定し、ユーザが選択したメイクアップ目的情報と、ユーザの顔の分析に基づいて生成された少なくとも1つのデジタルメイクアップパレットとに従って、ユーザのためのカスタムバーチャル試着の1つ以上のインスタンスを自動的に作成するように構成された計算回路を含むメイクアップ目的視覚化ユニットとを含む、拡張現実システム。
(22)少なくとも1つのデジタルメイクアップパレットは、カバレッジ、色合い、および仕上がりを有する複数の色を含む、特徴(21)に記載のメイクアップ用の拡張現実システム。
(23)メイクアップ目的視覚化ユニットの計算回路は、ユーザの顔の少なくとも一部を含むユーザの1つ以上のデジタル画像を受信し、ユーザの顔画像を分析して顔パーツを特定するようにさらに構成される、特徴(21)または(22)に記載のメイクアップ用の拡張現実システム。
(24)メイクアップ目的視覚化ユニットの計算回路は、顔パーツを明確にするために、1つ以上のデジタル画像内の明るさを補正するようにさらに構成される、特徴(23)に記載のメイクアップ用の拡張現実システム。
(25)メイクアップ目的視覚化ユニットの計算回路は、取得された少なくとも1つのデジタルメイクアップパレットに基づいて少なくとも1つのメイクアップフィルタを選択し、少なくとも1つのメイクアップフィルタを使用してユーザのためのカスタムバーチャル試着を作成するようにさらに構成される、特徴(21)から(24)のいずれかに記載のメイクアップ用の拡張現実システム。
(26)少なくとも1つのメイクアップフィルタは、以前に記録されたジェスチャを使用して形成される、特徴(25)に記載のメイクアップ用の拡張現実システム。
(27)少なくとも1つのメイクアップフィルタは、以前に格納された推定の問題領域および推定された強調された顔の特徴部分を使用して形成される、特徴(26)に記載のメイクアップ用の拡張現実システム。
(28)メイクアップ目的視覚化ユニットの計算回路は、過去のルックの好みに基づいて少なくとも1つのメイクアップフィルタを選択するようにさらに構成される、特徴(26)または(27)に記載のメイクアップ用の拡張現実システム。
(29)メイクアップ目的視覚化ユニットの計算回路は、ユーザの顔の一部をぼかすことによってシミを除去することを含む、ユーザのためのカスタムバーチャル試着を作成するようにさらに構成される、特徴(23)または(24)に記載のメイクアップ用の拡張現実システム。
(30)メイクアップ目的視覚化ユニットの計算回路は、1つ以上のインスタンスをメモリ内に保存する機能を備え、カスタムバーチャル試着の1つ以上のインスタンスを表示するようにさらに構成される、特徴(21)から(29)のいずれかに記載のメイクアップ用の拡張現実システム。
(31)メイクアップ目的視覚化ユニットの計算回路は、複数のデジタルメイクアップパレットに基づいて作成されたカスタムバーチャル試着の1つ以上のインスタンスをメモリに格納するようにさらに構成される、特徴(21)から(30)のいずれかに記載のメイクアップ用の拡張現実システム。
(32)メイクアップ目的視覚化ユニットの計算回路は、カスタムバーチャル試着を、ライブビデオを提供するプラットフォームに転送するようにさらに構成される、特徴(21)から(31)のいずれかに記載のメイクアップ用の拡張現実システム。
(33)複数のメイクアップフィルタを含むインデックス付きデータベースを含むレコメンダシステムをさらに備え、レコメンダシステムは、デジタルメイクアップの適用方法を示す要求に応じて、インデックス付きデータベースから1つ以上のメイクアップフィルタを取得し、顔画像を取得された1つ以上のメイクアップフィルタとブレンドすることによってビデオフレームのシーケンスを生成し、ビデオフレームのシーケンスを表示するように構成される、特徴(21)から(32)のいずれかに記載のメイクアップ用の拡張現実システム。
(34)インデックス付きデータベースはメイクアップフィルタの複数のカテゴリを含み、レコメンダシステムは、メイクアップフィルタの複数のカテゴリのうちの1つのカテゴリにデジタルメイクアップを適用する要求に応じて、インデックス付きデータベースから1つ以上のメイクアップフィルタを取得するようにさらに構成される、特徴(33)に記載のメイクアップ用の拡張現実システム。
(35)メイクアップフィルタのカテゴリがサブカルチャーメイクアップルックであり、メイクアップ目的ユニットの計算回路は、ユーザが選択可能なメイクアップ目的の1つ以上のインスタンスとしてサブカルチャーメイクアップルックを生成するように構成され、メイクアップ目的視覚化ユニットの計算回路は、ユーザが選択したサブカルチャーメイクアップルックに従って、ユーザのためのカスタムバーチャル試着の1つ以上のインスタンスを自動的に作成するように構成される、特徴(34)に記載のメイクアップ用の拡張現実システム。
(36)メイクアップ目的視覚化ユニットの計算回路は、1つ以上のインスタンスの中からカスタムバーチャル試着のインスタンスを選択し、カスタムバーチャル試着の選択されたインスタンスを、ライブビデオを提供するプラットフォームに転送するようにさらに構成される、特徴(35)に記載のメイクアップ用の拡張現実システム。
(37)メイクアップ目的視覚化ユニットの計算回路は、カスタムバーチャル試着の1つ以上のインスタンスとしてメイクアップフィルタを作成し、作成された複数のメイクアップフィルタの中から1つのメイクアップフィルタを選択し、選択されたメイクアップフィルタをライブビデオに適用するようにさらに構成される、特徴(36)に記載のメイクアップ用の拡張現実システム。
(38)選択されたメイクアップフィルタは、ユーザが選択した複数のサブカルチャーメイクアップルックの中の1つのサブカルチャーメイクアップルック用であり、メイクアップ目的視覚化ユニットの計算回路は、選択されたメイクアップフィルタをライブビデオに適用してサブカルチャーメイクアップルックを実現するようにさらに構成される、特徴(37)に記載の拡張現実システム。