以下、本発明の好ましい実施形態を図1〜図17に従って説明する。
図1は、化粧に関するアドバイスを提供するための化粧アドバイスシステム10を示す。化粧アドバイスシステム10は、インターネット等のネットワーク11を通じて互いに通信可能に接続されたクライアント端末12と、サーバコンピュータ20(以下、単にサーバという)とを備えている。クライアント端末12は、例えばネットワーク11に有線又は無線接続可能なパーソナルコンピュータや、携帯電話回線網13を介してネットワーク11に接続可能な携帯電話機のような移動局であり得る。ネットワーク11には、化粧または美容健康関連機関に設置されたコンピュータ15が接続されている。コンピュータ15は、化粧に関する情報や、美容情報及び健康情報を、ネットワーク11を通じてサーバ20に提供する。化粧情報には、化粧品情報(化粧品の新製品情報、特徴、使い方、成分等)、化粧の手順やテクニックに関する情報などが含まれる。ネットワーク11の例は、インターネット、LAN(Local Area Network)、及びVAN(付加価値回線網)である。
クライアント端末12は入力部12a(例えばキーボードやマウス等のポインティングデバイス)を有する。入力部12aは、ユーザ14が化粧アドバイスを受けたいときに、ユーザ14の顔画像をクライアント端末12に入力するときに使用される。クライアント端末12は、ユーザ14の素顔画像を、ネットワーク11を通じてサーバ20に送信する。サーバ20は、クライアント端末12から受信したユーザ14の素顔画像に画像処理を施して、ユーザ14専用の手本化粧顔画像を生成し、その手本化粧顔画像をユーザ14のクライアント端末12に送信する。クライアント端末12はその手本化粧顔画像を表示部12bに表示する。クライアント端末12には、カメラ16が設けられている。カメラ16は、ユーザ14の素顔や化粧顔を撮影するのに用いられる。カメラ16はクライアント端末12に内蔵されるか外部接続される。
サーバ20は、手本化粧顔画像をクライアント端末12に提供した後、ユーザ14の素顔を手本化粧顔どおりの化粧顔にする化粧の手順を文書、音声、画像のうち少なくとも一つで説明する化粧手順レシピをユーザ14のクライアント端末12に送信し、表示部12b等の出力装置に化粧手順レシピを出力させる。化粧手順レシピは、少なくとも文章を含んでいる。化粧手順レシピが例えば音声を含む場合、クライアント端末12のスピーカから化粧手順を説明する音声が出力される。
化粧手順は複数のステップからなる。ユーザ14は化粧手順レシピに従って化粧を順次施す。各ステップの目標化粧顔すなわち化粧途中顔が出来上がると、ユーザ14は、その化粧途中顔を撮影してクライアント端末12からサーバ20に送信する。その化粧途中顔を受信したサーバ20は、現在の化粧ステップにおける化粧途中顔を評価する。そして、サーバ20は、現在の化粧途中顔を、そのステップの手本化粧顔に近づけるための化粧アドバイスを用意し、ユーザ14のクライアント端末12に送信する。ユーザは例えば表示部12bに表示された化粧アドバイスを参考にして、化粧を修正することができる。
図1に示すように、サーバ20は、本体21と、第1〜第7記憶部22〜28(7種類のデータベース)を備えている。記憶部22〜28は、一つの記憶装置に格納されてもよく、複数の記憶装置に別々に格納されてもよい。記憶部22〜28を格納する記憶装置は本体21に内蔵されていてもよく、外付けされていてもよい。データベースのうち化粧に関する化粧品や化粧の手順やテクニック等の化粧に関する専門知識などが要求される内容については、コンピュータ15からネットワーク11を通じて取得した情報を用いて作成されている。
サーバ20は記憶手段に格納された各種プログラムコードに従って、ユーザ14専用の手本化粧顔画像を生成する処理、ユーザ14の実施した化粧を評価する処理、化粧のアドバイスをする処理を行なう。サーバ20は記憶手段には、図4,図5,図12,図13,図15,図17に示す画面をクライアント端末12の表示部12bに表示させるための画像や、図3の化粧支援処理プログラムが格納されている。化粧支援処理プログラムは、化粧顔画像生成処理プログラムと化粧アドバイス処理プログラムを含む。
サーバ20は、中央演算処理装置(CPU)、ROM(リードオンリメモリ)、RAM(ランダムアクセスメモリ)を備えている。CPUは、ROMやハードディスクドライブに記憶された種々の制御プログラムを実行する。RAMは、演算結果のような各種データが一時的に記憶する。サーバ20は、インターネット11に接続されたクライアント端末12との間でデータの送受信を行う送受信部29を備えている。例えば、送受信部29はクライアント端末12からのアクセス要求に応じてウェブ画面データを送信してクライアント端末12の表示部12bに、図4,図5,図12等に示すウェブ画面を表示させるウェブサーバ部を含む。
図2は、サーバ20が、化粧支援処理プログラム(化粧顔生成処理プログラム及び化粧アドバイス処理プログラム)を実行することで、サーバによって構築される化粧支援装置の機能構成を示すブロック図である。送受信部29は、前述のようにウェブサーバ部により構成されており、クライアント端末12に送信すべきデータは予めウェブデータとして生成して送信する。図2に示す化粧支援装置30は、化粧顔画像生成処理と、化粧手順画面生成処理と、化粧アドバイス処理とを行う化粧顔画像生成装置を含むものである。
化粧支援装置30は、該装置を統括制御する制御部31、マッチング処理部32、正味化粧画像補正処理部33、合成処理部34、レシピ補正部35、第1〜第7記憶部22〜28及び画像等のデータを一時記憶するバッファとして機能する記憶部36〜38を備える。
記憶部22〜28について説明する。
第1記憶部22には、サンプル化粧顔データベースが構築されている。サンプル化粧顔データベースは、多数のサンプル化粧顔(例えば化粧モデルのような他人の化粧顔)の画像64と、各サンプル化粧顔の画像64からそのサンプル化粧顔の素顔の画像72を除算して得られるサンプル化粧顔の正味の化粧画像73とを対応付けて形成されている。
第2記憶部23には、第1記憶部22に記憶されている多数のサンプル化粧顔の画像64にそれぞれ対応するサンプル化粧顔の素顔の画像72からなるサンプル素顔データベースが構築されている。
第3記憶部24には、顔形の差異(例えばユーザ14の顔の輪郭と、そのユーザ14の選択したサンプルの顔の輪郭との差異)を補うために用いられる顔の輪郭補正画像が記憶され、顔の輪郭補正用データベースが構築されている。
第4記憶部25には、顔のパーツ形状の差異(例えばユーザ14の鼻と、そのユーザ14の選択したサンプルの鼻との差異)を補うために用いられるパーツ形状補正画像が記憶され、パーツ形状補正用データベースが構築されている。
第5記憶部26には、顔パーツレイアウト(図11参照)の差異(例えばユーザ14の目の位置と、そのユーザ14の選択したサンプルの目の位置との差異)を補うために用いられる顔パーツレイアウト補正画像が記憶され、顔パーツレイアウト補正用データベースが構築されている。
第3〜第5記憶部24〜26に記憶されている、顔の輪郭補正画像、パーツ形状補正画像、顔パーツレイアウト補正画像には一画像につき一つの識別子が付されている。
レシピ記憶手段としての第6記憶部27には、サンプルの素顔からサンプル化粧顔に化粧するための手順を説明する、文書、画像、音声のうち少なくとも一つからなる化粧手順レシピ(第1化粧手順レシピ)が記憶され、化粧手順レシピデータベースが構築されている。化粧手順レシピは少なくとも文書を含む。化粧手順レシピは、文章と画像(静止画又は動画)の組合せとすることが好ましいが、文章のみとしたり、音声のみとしたり、音声と画像との組合せとしたり、文章と音声と画像との組合せでもよい。
第7記憶部28には、第1化粧手順レシピの文章をユーザ14に応じて補正するための補正用文書が記憶され、レシピ補正用データベースが構築されている。このレシピ補正用文書は、第1化粧手順レシピの文書に挿入されたり一部(例えば、単語、句、文、段落)を置き替えるのに使用される。補正用文書は、第3〜第5記憶部24〜26のそれぞれに記憶されている、レシピ補正用文書は、顔の輪郭を補正するように適合された輪郭補正用正味化粧画像、パーツ形状を補正するように適合されたパーツ形状補正用正味化粧画像、顔パーツレイアウトを補正するように適合されたレイアウト補正用正味化粧画像のそれぞれに付された識別子と関連付けられている。サーバ20は補正用の正味化粧画像に付された識別子を基に手順補正用データベースを検索すれば、その識別子と対応する補正用文書を取得できる。第7記憶部28には、文書中において補正のために補正用文書の置き換えの可能性がある文書位置、又は補正用文書の追加挿入の可能性がある位置を特定するアドレスと、補正用の正味化粧画像に付された前記識別子とを関連付けたリンクテーブルが記憶されている。補正用の正味化粧画像が決まると、それに付された識別子を基にリンクを参照すれば、その識別子と対応する補正用文書の置き換えエリアアドレス又は追加挿入位置アドレスを取得できる。文書やリンク等の詳細については後述する。
記憶部36は、ユーザ14の素顔の顔画像を記憶する。ユーザ14の素顔の画像は、クライアント端末12から送受信部29に受信され、制御部31の指示に従って記憶部36に格納される。送受信部29、制御部31及び記憶部36はユーザ14の素顔の画像を取得する顔画像取得手段を構成する。
記憶部37は、ユーザ14の手本化粧顔画像を生成するためにユーザ14の素顔画像に合成すべき補正後正味化粧画像100を生成する過程で取得される画像を記憶する。補正後正味化粧画像100は、後述するマッチング処理後の正味化粧画像74(図7(b))と、ユーザ14の素顔画像とサンプル化粧顔の素顔画像72との間の差異、特に、顔の輪郭の差異、パーツ形状の差異、顔パーツレイアウトの差異を補うために正味化粧画像74に付加される化粧の画像(補正画像)とを含む。
記憶部38は、ユーザ14の素顔を手本化粧顔にするための化粧の手順を作成する過程の文書データが一時的に記憶される。各記憶部36〜38は、RAM等のメモリの所定の記憶領域から構成される。
以下、第1〜第7記憶部22〜28に記憶された各種データを用いて、ユーザ14の手本化粧顔画像を生成する化粧顔画像生成処理、及びユーザ14が手本化粧顔を手本として行う化粧についてアドバイスする化粧アドバイス処理を行う各部32〜35について説明する。各部32〜35の動作は、制御部31により制御される。
化粧支援装置30は、ユーザ14の素顔画像71と、サンプル化粧顔の素顔画像72と、サンプル化粧顔の正味化粧画像73とを用いて、この正味化粧画像をユーザ14の顔の輪郭等に合うように加工してユーザ14用の正味化粧画像(補正後正味化粧画像100)を生成する。そして、その補正後正味化粧画像100をユーザ14の素顔画像に合成してユーザ14の手本化粧顔画像を生成する。この処理は、マッチング処理部32、正味化粧画像補正処理部33及び合成処理部34によって行われる。生成されたユーザ14の手本化粧顔画像は、ユーザ14が化粧をするときの手本として使用される。
マッチング処理手段としてのマッチング処理部32は、サンプル化粧顔の正味化粧画像73(図6を参照)を、ユーザ14の顔サイズや顔の輪郭等にマッチングさせるように加工するマッチング処理を行う。すなわち、第1記憶部22から、ユーザ14によって選択されたサンプル化粧顔の正味化粧画像73(図6を参照)を読み出す。正味化粧画像73は、サンプル化粧顔の画像64を構成する一部のレイヤ(正味化粧画像レイヤ群)として記憶されていたり、サンプル化粧顔の画像64と関連付けられるとともにサンプル化粧顔の画像64とは別個の画像として記憶されたりしている。従来においてユーザ14の手本化粧顔画像を生成する場合、正味化粧画像73にマッチング処理を施すまでは行われていたが、好ましい実施形態では、マッチング処理後の正味化粧画像74(図7(b)参照)に対し、更に正味化粧画像補正処理部33による補正が加えられる。
補正手段としての正味化粧画像補正処理部33は、サンプル化粧顔の素顔とユーザ14の素顔との差異を抽出して、その差異を少なく見せるための化粧を表す画像(補正画像)を、マッチング処理後の正味化粧画像74に付加する補正処理を行う。この補正処理を実現するために、正味化粧画像補正処理部33は、差異抽出部40と、画像処理部45とを含む。差異抽出部40は、サンプル化粧顔の素顔とユーザ14の素顔との差異を抽出する差異抽出機能と、その差異を少なく見せるための化粧を表す画像(補正画像)を取得する補正画像取得機能とを有している。また、画像処理部45は、マッチング処理後の正味化粧画像74に補正画像を付加して補正後正味化粧画像100を生成する画像処理を行う。好ましい実施形態では、差異抽出部40が素顔差異取得手段及び補正画像取得手段として機能する。
差異抽出部40は、顔の輪郭、パーツ形状、顔パーツレイアウトを差異の抽出対象としており、差異の抽出対象別に、顔の輪郭抽出部41とパーツ形状抽出部42と顔パーツレイアウト抽出部43とを備える。また、画像処理部45が正味化粧画像74に付加する補正画像には、顔の輪郭、パーツ形状、顔パーツレイアウトの各差異に応じた三種類ある。画像処理部45は、正味化粧画像74に付加する補正画像の種類に応じて、第1画像処理部46と第2画像処理部47と第3画像処理部48とを備える。
顔の輪郭抽出部41は、サンプル化粧顔の素顔画像とユーザ14の素顔画像とからそれぞれの顔の輪郭を特徴抽出し、特徴抽出したサンプルとユーザ14との顔の輪郭との差異を抽出する。そして、その顔の輪郭の差異を少なく見せるための化粧を表す画像(以下、顔の輪郭補正画像79(図8を参照)という)を取得するために、顔の輪郭の差異に基づいて、第3記憶部24の顔の輪郭補正用データベースから、その差異に応じた補正画像と、該補正画像のプロシージャ情報と、レイヤ位置情報とを検索する。補正画像とは、化粧層又は化粧種に応じて一つ決まる化粧の色や濃度を表すカラー画像であり、例えばシャドウやハイライト等の画像であり、ものによってはグラディエーション等の濃度分布が所定方向に施された画像である。プロシージャ情報とは、補正画像を施す領域を、差異に対応する領域に対する位置関係で指定する領域指定情報と、グラディエーション等の濃度分布がある画像の場合に濃度分布を付ける方向を指定する濃度指定情報等を含んでいる。位置指定情報は、補正画像を施す領域として、差異に対応する領域そのものを指定する場合もあれば、差異に対応する領域がユーザ14の素顔上に存在しないときなど、差異に対応する領域に対する位置関係でユーザ14の素顔領域内の特定領域を、補正画像を施す領域として指定する場合などがある。そして、第1画像処理部46は、顔の輪郭抽出部41が取得した補正画像を、プロシージャ情報で位置指定された領域に、指定のプロシージャで施すことにより、顔の輪郭補正画像のレイヤを生成するとともに、その顔の輪郭補正画像のレイヤをマッチング処理後の正味化粧画像74に付加する顔の輪郭補正処理を行う。
例えば図6における上段に示すように、サンプル化粧顔の画像64は、サンプル化粧顔の素顔の画像(すなわちサンプル化粧顔の化粧前の顔の画像)72と、サンプル化粧顔の正味化粧画像73とに分けることができる。好ましい実施形態では、図6に示すサンプル化粧顔の正味化粧画像73は、同図においてその下側に示すように、複数枚のレイヤLm1〜Lmnから構成されている。複数枚のレイヤLm1〜Lmnは、例えばファンデーション、コンシーラ、チーク(頬紅)、口紅(リップ)、アイシャドウ、アイライン、マスカラ、アイブロウ等の化粧の種類や化粧の層別に分けられた画像である。そして、正味化粧画像73をユーザ14の顔の輪郭や顔サイズ等に合わせてマッチング処理して得られた正味化粧画像74も、同様に複数枚のレイヤLu1〜Lunから構成される(図7を参照)。また、顔の輪郭補正画像79(図8を参照)も一枚ないし複数枚のレイヤからなる。
第1画像処理部46は、補正画像とプロシージャ情報に従って生成した顔の輪郭補正画像79のレイヤを、正味化粧画像74を構成する複数枚のレイヤLu1〜Lunの層間のうちレイヤ位置情報で指定された適切なレイヤ位置に挿入付加する処理を行う。正味化粧画像74の各レイヤLu1〜Lunは、化粧の種類別の所定の順番、かつ少なくとも複数の化粧層をなす部分については顔の地肌上に化粧の層を積み上げる順番に積層されており、レイヤの挿入位置は、顔の輪郭補正画像79の化粧の種類及び層(例えばファンデーションやチークなど)に応じた層に対応するレイヤ位置に決まる。好ましい実施形態では、記憶部24には、顔の輪郭に係る補正画像毎に、挿入すべきレイヤ位置を特定するレイヤ位置情報が対応付けられた状態で記憶されている。顔の輪郭抽出部41は、顔の輪郭の差異に応じた顔の輪郭に係る補正画像及びプロシージャ情報を取得したときには、補正画像に対応するレイヤ位置情報を一緒に記憶部24から読み出し、顔の輪郭に係る補正画像とプロシージャ情報とレイヤ位置情報とをセットで、第1画像処理部46に送る。第1画像処理部46は、補正画像をプロシージャ情報に従った位置領域に指定の方法で施すことにより生成した顔の輪郭補正画像79のレイヤを、正味化粧画像74を構成するレイヤLu1〜Lunに対して、レイヤ位置情報で特定されたレイヤ位置に付加する。
このような顔の輪郭の差異を補う化粧を付加する補正を行う理由は、次のとおりである。顔の輪郭には、卵形、逆三角形、四角形、丸形、三角形などがある。例えばサンプルの輪郭が卵形であれば、それに施される化粧は卵形に合った化粧が施される。この卵形の顔と、卵形の顔に合った化粧との合成が、サンプル化粧顔である。例えば四角顔のユーザ14の素顔画像にこの正味化粧画像を付与すれば、その正味化粧画像がたとえユーザ14の四角顔に合わせてマッチング処理した後の正味化粧画像であっても、その手本化粧顔画像は、ユーザ14の四角顔に原因して、サンプル化粧顔の画像64よりもエラが張った印象を与える。このため、得られたユーザ14の手本化粧顔画像はサンプル化粧顔の画像64から大きくかけ離れた印象を与えてしまい、そのサンプル化粧顔の化粧を、ユーザ14が自分の顔に施しても似合わない化粧ということになる。
好ましい実施形態では、顔の輪郭と化粧との合成が化粧顔を決めていることに鑑み、サンプル化粧顔の素顔画像とユーザ14の素顔画像から特徴抽出して得たサンプルとユーザ14との間の顔の輪郭との差異を抽出し、その差異を少なく見せるための化粧を表す化粧(補正画像)を、マッチング処理後の正味化粧画像74に施す画像処理を行う。例えばサンプルの輪郭が「卵形」であり、ユーザ14の顔の輪郭が「四角形」であるとすると、四角形の顔の輪郭を卵形の顔の輪郭に見せる化粧を、正味化粧画像74に追加する顔の輪郭補正処理を施す。具体的には、ユーザ14の四角形の顔の輪郭をサンプルの卵形の顔の輪郭に近づける化粧、例えば顎から両サイドに向かう部分の顔輪郭形状を角が取り除かれて丸みを帯びた形状に見せる化粧を付加して、ユーザ14の四角形の顔の輪郭をサンプルの卵形の顔に近づける化粧を施した上で、サンプル化粧顔の正味化粧画像(但し、マッチング処理後の正味化粧画像74)が施される。このため、ユーザ14の手本化粧顔画像は、サンプル化粧顔の画像に近い印象を与える。
パーツ形状抽出部42は、サンプル化粧顔の素顔画像とユーザ14の素顔画像とからそれぞれのパーツ形状を特徴抽出するとともに、特徴抽出したサンプルのパーツ形状とユーザ14のパーツ形状の差異を抽出する。そして、パーツ形状の差異を少なく見せるための化粧を表す画像(パーツ形状補正画像という)を生成するために用いられるパーツ形状に係る補正画像と、該補正画像のプロシージャ情報と、レイヤ位置情報とを、第4記憶部25のパーツ形状補正用データベースから検索する。そして、第2画像処理部47は、パーツ形状抽出部42が取得した補正画像をプロシージャ情報に従って指定の位置領域に指定の方法で施すことによりパーツ形状補正画像のレイヤを生成し、生成したパーツ形状補正画像をマッチング処理後の正味化粧画像74に付加するパーツ形状補正処理を行う。好ましい実施形態では、パーツとして、目、眉、鼻、口を採用している。すなわち、サンプル化粧顔の素顔とユーザ14の素顔における目、眉、鼻、口などのパーツ形状の違いも、ユーザ14の素顔画像に正味化粧画像74を合成して得られる化粧顔の印象に大きく影響する。そこで、好ましい実施形態では、サンプルとユーザ14との間のパーツ形状の差異を抽出し、その差異を少なく見せるための化粧を表す画像(パーツ形状補正画像)を、マッチング処理後の正味化粧画像74に施すパーツ形状補正処理を行うことにより、パーツ形状の面から、ユーザ14の手本化粧顔画像をサンプル化粧顔の印象に近づけるようにしている。
詳しくは、パーツが目である場合、サンプル化粧顔の素顔画像とユーザ14の素顔画像の各々から、サンプルの目の形状とユーザ14の目の形状とを抽出するとともに、特徴抽出したサンプルとユーザ14との間の目の形状の差異を抽出する。そして、その目の形状の差異に基づいて第4記憶部25のパーツ形状補正用データベースから、その目の形状の差異を少なく見せるための化粧を表す画像(補正画像)を生成するために用いられる補正画像と、該補正画像のプロシージャ情報と、レイヤ位置情報とを検索する。そして、その検索た補正画像をプロシージャデー情報に従って指定の位置領域に指定の方法で施すことにより目形状補正画像を生成し、その目形状補正画像を正味化粧画像74に付加する。また、パーツが眉である場合、サンプルとユーザ14の眉形状を抽出するとともに、特徴抽出したサンプルとユーザ14との間の眉形状の差異を抽出する。そして、その差異に基づいて第4記憶部25のパーツ形状補正用データベースから、その眉形状の差異を少なく見せるための化粧を表す画像(眉形状補正画像)を生成するために用いられる補正画像とプロシージャ情報とレイヤ位置情報とを検索し、その検索した補正画像をプロシージャ情報に従って指定の領域に指定の方法で施すことにより眉形状補正画像を生成し、その眉形状補正画像を正味化粧画像74に付加する。パーツが鼻である場合、サンプルとユーザ14の鼻形状を抽出するとともに、特徴抽出したサンプルとユーザ14との間の鼻形状の差異を抽出する。そして、その差異に基づいて第4記憶部25のパーツ形状補正用データベースから、その鼻形状の差異を少なく見せるようにする化粧の画像(鼻形状補正画像)を生成するために用いられる補正画像とプロシージャ情報とレイヤ位置情報とを検索し、その検索した補正画像をプロシージャ情報に従って指定の領域に指定の方法で施すことにより生成された鼻形状補正画像を正味化粧画像74に付加する。また、パーツが口である場合、サンプルとユーザ14の口形状を特徴抽出するとともに、特徴抽出したサンプルとユーザ14との間の口形状の差異を抽出する。そして、口形状の差異に基づいて第4記憶部25のパーツ形状補正用データベースから、その口形状の差異を少なく見せるための化粧を表す画像(口形状補正画像)を生成するために用いられる補正画像とプロシージャ情報とレイヤ位置情報とを検索し、その検索した補正画像をプロシージャ情報に従って指定の領域に指定の方法で施すことにより口形状補正画像を生成し、その口形状補正画像を正味化粧画像74に付加する。
例えば、サンプルの目が目尻のやや上がった「つり目」であるのに対して、ユーザ14の目が目尻のやや下がった「たれ目」である場合、サンプル化粧顔の正味化粧画像73は、若干のつり目に適した化粧(例えば目尻を実際より若干下がったように見せる化粧)であるので、たとえマッチング処理後であってもその正味化粧画像74をそのままユーザ14に施すと、ユーザ14のたれ目が一層強調されてしまう。そのため、ユーザ14の手本化粧顔画像が、サンプル化粧顔とは大きくかけ離れた印象を与えてしまう。そこで、このパーツ形状補正処理では、マッチング処理後の正味化粧画像74に、ユーザ14のたれ目をサンプル化粧顔のつり目に近づける化粧の画像(つまり目尻を実際より上がったように見せる化粧の画像)を付加する補正を行う。このパーツの補正化粧によって、ユーザ14の素顔画像上に補正後の正味化粧画像を合成して得られるユーザ14の手本化粧顔画像の印象は、サンプル化粧顔の印象に近づく。
顔パーツレイアウト抽出部43は、サンプル化粧顔の素顔画像とユーザ14の素顔画像の各々から、パーツ位置とパーツ間隔とを表す顔パーツレイアウトを特徴抽出し、サンプルとユーザ14との間の顔パーツレイアウトとの差異を算出する。顔パーツレイアウト抽出部43は、その差異を少なく見せるための化粧を表す画像(顔パーツレイアウト補正画像という)を生成するために用いられる補正画像とプロシージャ情報とレイヤ位置情報とを、第4記憶部25の顔パーツレイアウト補正用データベースから検索する。そして、第3画像処理部48は、顔パーツレイアウト抽出部43が取得した補正画像をプロシージャ情報に従って指定の領域に指定の方法で施すことにより顔パーツレイアウト補正画像生成し、その顔パーツレイアウト補正画像を、マッチング処理後の正味化粧画像74に付加する顔パーツレイアウト補正処理を行う。サンプル化粧顔の素顔とユーザ14の素顔において、顔全体における目、眉、鼻、口などのパーツのレイアウトから決まる顔パーツレイアウトの違いも、ユーザ14の素顔画像に正味化粧画像を合成して得られる化粧顔の印象に大きく影響する。そこで、好ましい実施形態では、サンプルとユーザ14との間の顔パーツレイアウトとの差異を抽出し、その差異を少なく見せるための化粧、すなわちユーザ14の顔パーツレイアウトをサンプル化粧顔の顔パーツレイアウトに近づける化粧の画像(顔パーツレイアウト補正画像)を、正味化粧画像74に付加する顔パーツレイアウト補正処理を行う。この顔パーツレイアウト補正処理により、顔パーツレイアウトの面から、ユーザ14の手本化粧顔画像の印象をサンプル化粧顔の印象に近づけるようにしている。
顔パーツレイアウトとしては、サンプルとユーザ14のそれぞれについて顔の横と縦の各々における顔パーツレイアウトを求める。横の顔パーツレイアウトは、例えば目の高さにおける顔幅を両目の位置で3分割した各領域幅の比率として求める。例えば顔の水平すなわち横において、顔幅に対してユーザ14の両目の間隔がサンプルの両目の間隔に比べて広ければ、両目の間隔を狭く見せる化粧の画像(補正画像)を正味化粧画像74に付加する。縦の顔パーツレイアウトは、例えば顔の縦において、頭髪の生え際から目までの間隔と、目から口の口角までの間隔と、口角から顎の先端までの間隔との比率として求める。縦方向の顔パーツレイアウトを、サンプルとユーザ14とで比較し、ユーザ14の顔パーツレイアウトがサンプル化粧顔の顔パーツレイアウトに近づいて見えるようにする化粧の画像(補正画像)を、マッチング処理後の正味化粧画像74に付加する画像処理を行う。例えばユーザ14の頭髪の生え際と目の間隔がサンプルのそれより広ければ、頭髪の生え際と目の間隔が狭く見えるようにする化粧の画像(補正画像)を、正味化粧画像74に付加することにより、顔パーツレイアウトの印象をサンプル化粧顔のそれに近づける。
顔の輪郭とパーツ形状の抽出処理には、2次元の画像を用いてもよいが、3次元の画像を用いるのが好ましい。例えばいくつかの異なる角度から顔を撮影して得られた複数の画像を用いて、顔の輪郭とパーツ形状の3次元画像を作成することができる。3次元画像から、例えば鼻の高さがサンプルの鼻より低いというような、ユーザ14とサンプルとの間の顔の立体的な違いを検出することができるそして、例えば鼻を高く見せる化粧の画像(補正画像)を、正味化粧画像74に付加する。ユーザ14の頬骨がサンプルのものより出ていれば、頬骨の出っ張りを抑える化粧の画像を、正味化粧画像74に付加する。好ましい実施形態では、化粧以外に、ヘアスタイルのアドバイスも行う。例えばユーザの額がサンプルに比べて広い場合、前髪を降ろすように勧め、また髪のボリュームが少ない場合はつけ毛等を勧め、サンプル化粧顔の印象に似せる工夫を化粧以外でもアドバイスする。小物や服の色をアドバイスして、ユーザの顔の印象がサンプル化粧顔に近づく変化を与える小物、顔色が引き立つ服の色、小顔に見える服装や服の模様などをアドバイスする。
画像合成手段としての合成処理部34は、正味化粧画像74を補正して補正後正味化粧画像100(図7(c)を参照)を生成し、その補正後正味化粧画像100をユーザ14の素顔画像へ合成する。すなわち、ユーザ14の素顔画像を記憶部36から読み出すとともに、記憶部37から補正後正味化粧画像100を読み出して、素顔画像の上に補正後正味化粧画像100を重ねる合成処理を行ってユーザ14の手本化粧顔画像を生成する。
化粧支援装置30は、合成処理部34で生成したユーザ14の手本化粧顔画像を見てユーザ14が自分の素顔に化粧を施すときに参照される化粧手順レシピ(本例では文書)を作成する。そして、手本化粧顔画像の化粧に到達するまでの複数の化粧ステップにおいて、各化粧ステップで目標とする化粧途中顔画像と、その化粧途中顔に仕上げるための化粧方法の説明文とを含む画面(図13,図15を参照)をクライアント端末12に表示する。
化粧手順作成手段としての手順補正部35は、第6記憶部27のサンプル化粧手順データベースから、選択されたサンプル化粧顔に対応する化粧手順レシピを読み出し、そのレシピの文書を、正味化粧画像74に付した補正画像に応じて修正することにより、ユーザ14の手本化粧顔画像に合った化粧手順文書を作成する。
手順補正部35は、正味化粧画像74に加えられた補正の種類(顔の輪郭、パーツ形状、顔パーツレイアウト)に応じて化粧手順レシピを補正する顔の輪郭手順補正部51、パーツ形状手順補正部52及び顔パーツレイアウト手順補正部53を備えている。差異抽出部40で抽出された補正画像(顔の輪郭補正画像、パーツ形状補正画像、顔パーツレイアウト補正画像)には、識別子(顔の輪郭画像識別子、パーツ形状画像識別子、顔パーツレイアウト画像識別子)が付されている。手順補正部35は、正味化粧画像74に加えられた補正画像の識別子を差異抽出部40から取得する。
顔の輪郭手順補正部51は顔の輪郭画像識別子を基に、第7記憶部28の手順補正用データベースを検索して、顔の輪郭画像識別子に応じた顔の輪郭補正用文書を取得する。この顔の輪郭補正用文書は、その識別子が付された顔の輪郭補正画像を正味化粧画像74に付加したために必要になった化粧手順レシピの修正内容を示す。パーツ形状手順補正部52はパーツ形状画像識別子を基に、第7記憶部28の手順補正用データベースを検索して、パーツ形状画像識別子に応じたパーツ形状補正用文書を取得する。このパーツ形状補正用文書は、その識別子が付されたパーツ形状補正画像を正味化粧画像74に付加したために必要になった化粧手順レシピの修正内容を示す。顔パーツレイアウト手順補正部53は顔パーツレイアウト画像識別子を基に、第7記憶部28の手順補正用データベースを検索して、顔パーツレイアウト画像識別子に応じた顔パーツレイアウト補正用文書を取得する。この顔パーツレイアウト補正用文書は、その識別子が付された顔パーツレイアウト補正画像を正味化粧画像74に付加したために必要になった化粧手順レシピの修正内容を示す。手順補正部35は、手順補正処理を行うときには、まずサンプル化粧顔に対応する化粧手順レシピを第6記憶部27から読み出し、記憶部38に格納する。そして、記憶部38に一時記憶したサンプル化粧手順レシピ(第1化粧手順レシピ)の一部又は全部を、第7記憶部28のデータベースを検索して取得した補正用文書で置き換えたり、サンプル化粧手順レシピに補正用文書を追加して、ユーザ14用の化粧手順レシピ(第2化粧手順レシピ)を作成する。
図14(a)は、第6記憶部27に記憶されたサンプル化粧手順レシピを示す。この例では化粧手順レシピは、「ステップ1」〜「ステップn」までのn個のレシピD1〜Dnからなる。各化粧手順レシピは、各ステップで目標とすべき化粧途中顔を完成させるために使用された化粧品や化粧道具を使った化粧の手順を説明する文章を含む。各化粧手順レシピD1〜Dnには、顔の輪郭に影響を与える化粧を説明する文章部分(顔の輪郭関連文書)と、目、眉、鼻、口などのパーツの形状に影響を与える化粧を説明する文章部分(パーツ形状関連文書)と、顔パーツレイアウトに影響を与える化粧を説明する文章部分(顔パーツレイアウト関連文書)とが含まれる。これらの各文章部分は、一つのステップの文章のみに含まれる場合もあれば、いくつかのステップの文書に渡って複数含まれる場合もある。
好ましい実施形態では、化粧指示D1〜Dnは、サンプル化粧顔の素顔からサンプル化粧顔に至るまでの化粧手順を複数のステップに分け、ステップごとに化粧方法を説明する文書からなる。図14(a)に示すように、各化粧指示D1〜Dnの文書内における所定の文書エリア55又は位置には、アドレス56が付されている。アドレス56で特定される文書エリア55は、補正画像に対応する補正文書の置き換え先の候補であり、アドレス56で特定される位置は、補正画像に対応する補正文書の追加挿入先の候補である。図14の例では、アドレス56は5ビットの2値データで表されているが、適宜なビット数を採用できる。
第7記憶部28の所定記憶領域には、補正画像の識別子とアドレス56とを関連付けるリンクテーブルが記憶されている。補正画像の識別子を基にリンクテーブルを参照すると、その識別子に対応するアドレス56を取得できる。すなわち、顔の輪郭画像識別子は、その識別子を基に検索された顔の輪郭に影響を与える補正文書を、置き換えるべき文書エリア55を特定するアドレス56又は追加挿入すべき位置を特定するアドレス56とリンクされている。目形状画像識別子は、その識別子を基に検索された目の形状に影響を与える補正文書を、置き換えるべき文書エリア55を特定するアドレス56又は追加挿入すべき位置を特定するアドレス56とリンクされている。以下、同様に、鼻形状画像識別子は、その識別子を基に検索された鼻形状に影響を与える補正文書の置き換え先の文書エリア55又は追加挿入先の位置を特定するアドレス56と、口形状画像識別子は、その識別子を基に検索された口形状に影響を与える補正文章の置き換え先の文書エリア55又は追加挿入先の位置を特定するアドレス56とそれぞれリンクされている。顔パーツレイアウト画像識別子は、その識別子を基に検索された顔パーツレイアウトに影響を与える補正文章の置き換え先の文書エリア55又は追加挿入先の位置を特定するアドレス56とリンクされている。
手順補正部35は、補正画像の識別子を基にリンクテーブルを参照して取得したアドレス56が文書エリア55を特定するものである場合は、その識別子を基に第7記憶部28の手順補正用データベースから検索した補正文書をそのアドレス56の文書エリア55の文書と置き換え、アドレス56が位置を特定するものである場合は、識別子に応じた補正文書をそのアドレス56で特定された位置に追加挿入する。詳しくは、顔の輪郭手順補正部51は、顔の輪郭画像識別子を基にリンクを参照してアドレス56を取得し、その取得されたアドレス56で特定される文書エリア55の文書と補正文書を置き換えたり、そのアドレス56で特定される位置に補正文書を追加挿入したりする。パーツ形状手順補正部52は、パーツ形状画像識別子を基にリンクを参照してアドレス56を取得し、その取得されたアドレス56で特定される文書エリア55の文書と補正文書を置き換えたり、そのアドレス56で特定される位置に補正文書を追加挿入したりする。顔パーツレイアウト手順補正部53は、顔パーツレイアウト画像識別子を基にリンクを参照してアドレス56を取得し、その取得されたアドレス56で特定される文書エリア55の文書と補正文書を置き換えたり、そのアドレス56で特定される位置に補正文書を追加挿入したりする。
形状に関連する補正文書は、形状に影響を与える化粧をする場合にどの部位にシャドウやハイライトを入れるか、また必要に応じてその面積や形状、濃度はどのくらいがよいかを補正する内容になっている。例えばひな形となるサンプル化粧顔用の化粧手順レシピに、「○○色のファンデーションを塗ってください。」という文書が含まれ、この文章の文書エリア55のアドレス56が顔の輪郭補正画像の識別子とリンクされているとする。そして、顔の輪郭手順補正部51が差異抽出部40から取得したその識別子を基に手順補正用データベースにアクセスして、例えば「顎からサイドにかけてシャドウを入れるように化粧下地より少し濃いトーンの○○色のファンデーションを塗ってください。」という補正文書を取得するとともに、その識別子からリンクテーブルを参照してアドレス56を取得する。すると、顔の輪郭手順補正部51は、その補正文書を、そのアドレス56で特定される文書エリア55の文書、すなわち「○○色のファンデーションを塗ってください。」と置き換える。同様にパーツ形状と顔パーツレイアウトについても補正文書による化粧手順レシピの補正が行われる。
例えば顔の輪郭と顔パーツレイアウトに係るそれぞれの補正画像が、同じファンデーションに係るものである場合、それぞれの識別子が異なっても、共にファンデーションの塗り方に係る文書エリア55又は位置を特定する同一のアドレス56が取得されることになる。手順補正部35は、識別子を基にリンクテーブルを参照して取得されたアドレス56が異なる識別子間で同じになる場合は、予め決められたルールに従って一方の補正文書を優先して用いたり、補正文書中の特定エリアの文書内容を解析して、その解析結果に基づき両補正文書を組み合わせる処理を行ったりする。
このように手順補正部35により、ひな形文書すなわちサンプル化粧顔用の化粧手順レシピの説明文書に補正が加えられることで、ユーザ14が化粧顔画像を手本として化粧を行うときの化粧手順レシピの説明文書が作成される。そして、図14(a)に示すサンプル化粧顔用の化粧手順レシピD1〜Dnが、上記の補正により、図14(b)に示すように、補正文書58が置き換え又は追加挿入されたユーザ14用の化粧手順レシピX1〜Xnが作成される。
化粧手順レシピの説明が、文章以外に、音声又は画像を含む場合、補正用として、例えば音声中の顔の輪郭に影響を与える部分の説明部分のアドレスが、顔の輪郭補正画像の識別子とリンクされていたり、画像中の顔の輪郭に影響を与える部分の説明画像部分のアドレスが顔の輪郭補正画像の識別子にリンクされたりすればよい。こうすれば、化粧手順レシピが音声や画像であっても、サンプル化粧顔用の化粧手順レシピを補正してユーザ14用にカスタマイズされた化粧手順レシピを作成することはできる。
次にサーバ20のCPUが化粧支援処理プログラムを実行することで、化粧支援装置30において行われる化粧顔画像生成処理及び化粧アドバイス処理について、図3に示すフローチャートに従って説明する。CPUはまず化粧顔画像生成プログラムを実行する。
まず、ユーザ14は、化粧アドバイスシステム10を利用する場合、ユーザ登録をし、IDとパスワードを取得しておき、クライアント端末12の表示部12bに表示された初期画面(図示せず)から、入力部12aの操作によりIDとパスワードを入力してサーバ20にアクセスする。サーバ20のCPUは、クライアント端末12からのアクセスがあると、化粧支援のメイン画面をクライアント端末12の表示部12bに表示させる。このメイン画面で、化粧支援を受けることを選択すると、ユーザ14の素顔の画像を取得するための画像登録ボタンを有する画面が表示される。
ステップS1において、ユーザ14の顔画像を取り込む処理を行う。ユーザ14は、クライアント端末12に付属のカメラ16により自分の素顔(化粧が多少施されていてもよい)の写真を撮影してクライアント端末12のメモリにその素顔画像を格納しておくか、デジタルカメラで撮影した自分の素顔の顔画像をクライアント端末12のメモリに予め格納させておく。ユーザ14は、入力部12aを操作して画像登録ボタンを操作すると、画面に画像格納先フォルダ及び画像ファイルを順次指定可能な入力欄が表示されるので、その入力欄にユーザ14の素顔画像の格納アドレス(例えばパス)を指定した後、登録実行ボタン(図示せず)を操作する。こうしてクライアント端末12のメモリに格納されている自分の素顔画像の格納アドレス(パス)が指定される。画像登録ボタンを操作すると、カメラ16による撮影を行う撮影画面が表示され、その撮影画面で入力部12aを操作すると、カメラ16による撮影が行われ、その撮影された素顔画像が、クライアント端末12に搭載されたプロセッサが管理する所定のフォルダに格納される構成でもよい。
ユーザ14がクライアント端末12の入力部12aを操作してユーザ14の素顔画像(顔画像)の登録実行ボタンを操作すると、その操作に基づくアクセス要求を受け付けたサーバ20は、サンプル化粧顔選択画面用の画像データを含むウェブデータをクライアント端末12に送信し、クライアント端末12の表示部12bに図4に示すウェブ画面60を表示させる。このウェブ画面60はコンテンツエリアにサンプル化粧顔選択画面61を含み、このサンプル化粧顔選択画面61には、複数のサンプル化粧顔の画像が例えばマトリクス状に配列された一覧表示領域62と、OKボタン63とが含まれている。
次のステップS2では、サンプル化粧顔の選択を行う。すなわち、ユーザ14は、入力部12aを操作して、一覧表示領域62の中から好みのサンプル化粧顔を選択した後、OKボタン63を操作する。図4の例では、一覧表示領域62内における上段左から3番目のサンプル化粧顔の画像64が選択されている。この選択状態でOKボタン63が操作されると、その操作に基づくアクセス要求を受け付けたサーバ20は、サンプル化粧顔の画像64に対応する化粧前のサンプル化粧顔の素顔画像を第2記憶部23から読み出して選択画面用の画像データを含むウェブデータを作成するとともに、そのウェブデータをクライアント端末12に送信する。その結果、クライアント端末12の表示部12bに図5に示すウェブ画面65が表示される。このウェブ画面65はコンテンツエリアに選択画面66を含み、この選択画面66には、ユーザ14の素顔画像71が表示される第1表示領域67と、サンプル化粧顔の素顔画像72が表示される第2表示領域68と、化粧補正処理を行うか否かの選択や化粧補正処理を行う場合に化粧補正の対象を選択可能な項目選択を行うための項目選択領域69と、実行ボタン70等が含まれている。クライアント端末12はサンプル化粧顔選択画面61でOKボタン63が操作されたときに実行されるプログラムを、それ以前のウェブデータと共に受信しており、OKボタン63が操作されるとそのプログラムを実行することで、ユーザ14自身の素顔画像を先に指定されたパスから読み出して、選択画面66における第1表示領域67にユーザ14の素顔画像71を表示する。もちろん、OKボタン63の操作に基づきユーザ14の素顔画像を指定のパスから読み出してサーバ20に送信し、サーバ20がユーザ14の素顔画像とサンプル化粧顔の素顔画像の両方を含むウェブデータを作成して、それをクライアント端末12に送信する構成も採用できる。
ステップS3では、項目選択を行う。すなわち、ユーザ14は入力部12aを操作して、図5に示す選択画面66において項目選択領域69の項目の中から所望の項目を選択する。ユーザ14は、選択画面66における項目選択領域69に用意された項目、すなわち「顔の輪郭」、パーツ形状である「眉形状」、「目形状」、「鼻形状」、「口形状」、「顔パーツレイアウト」、「すべて選択」のうちから、所望の項目を少なくとも一つ選択できる。本例では、「すべて選択」が選択されたものとして説明を進める。項目の選択後、ユーザ14は入力部12aを操作して化粧顔作成処理を実行させるべく実行ボタン70を操作する。すると、サンプル化粧顔の正味化粧画像73をユーザ14の顔の輪郭等に合わせてユーザ14の顔画像に合成等するステップS4以降の処理が進められる。入力部12aの操作により入力された項目選択領域69の選択情報を受け付けて選択情報に応じた内容の化粧補正処理を指示する制御部31は選択手段を構成する。
ステップS4では、サンプル化粧顔の正味化粧画像73をユーザ14の顔に合わせるマッチング処理を行う。サンプルとユーザ14では、顔サイズ(画像サイズに起因するものも含む)や顔の輪郭、パーツ形状、顔パーツレイアウト(パーツ配置)などの違いがあるので、サンプル化粧顔の正味化粧画像73をユーザ14の顔サイズや顔の輪郭、パーツ形状、顔パーツレイアウトに合わせるようにマッチング処理し、ユーザ14の顔に合った正味化粧画像74(図7を参照)を取得する。
図7(a)は、ユーザ14の素顔画像71と、サンプル化粧顔の素顔画像72とを模式的に示したものである。まず両素顔画像71,72に対して両目を特徴抽出する。次に両目の中心点(座標)を求め、サンプル化粧顔の素顔の両目の中心点がユーザ14の両目の中心点に一致するように、サンプル化粧顔の正味化粧画像73を伸縮処理させて、正味化粧画像73をユーザ14の顔サイズに合わせる。両素顔画像71,72から、顔輪郭と口と鼻をそれぞれ特徴抽出し、両目の位置は一致させたままで顔の輪郭と口と鼻の各位置(例えば図7(a)の各素顔画像71,72中の各ドット)が、所定の許容範囲内で一致するように、正味化粧画像73をユーザ14の顔に合わせる。以上のマッチング処理を行う。
こうして正味化粧画像73がユーザ14の顔サイズ、顔の輪郭、パーツレイアウト等に合うようにマッチング処理された正味化粧画像74を取得する。マッチング処理後の正味化粧画像74は、図7(b)に示すように、ユーザ14の顔サイズ、顔の輪郭(顔輪郭)、目、眉、鼻、口の位置に合うように正味化粧画像73を変形処理したものなので、この正味化粧画像74をユーザ14の素顔画像71上に合成すれば、正味化粧画像74の化粧はユーザ14の素顔上に位置ずれなく正しく施される。正味化粧画像74は、ユーザ14の素顔画像71に対して、例えば口紅は唇に、チークは頬に、アイシャドウは瞼に、アイブロウは眉に正確に施すことが可能な形態に処理されている。この正味化粧画像74は、図6に示す正味化粧画像73を構成するレイヤLm1〜Lmnにマッチング処理を施したものであるので、正味化粧画像73のレイヤと同枚数からなる図7(c)に示す複数枚のレイヤLu1〜Lunから構成される。各レイヤLu1〜Lunは、マッチング処理前の図6に示す各レイヤLm1〜Lmnとそれぞれ対応している。上記のマッチング処理において、両目の中心点のみを採用したり、両目の中心点及び顔輪郭のみを採用したりする構成でもよい。マッチング処理で位置合わせのために使用される点(図7の素顔画像71,72中のドット)の位置や数も適宜設定することができる。
マッチング処理後の正味化粧画像74は、サンプル化粧顔の素顔とユーザ14の素顔の間で、顔の輪郭、パーツ形状(目、眉、鼻、口の形状)、顔パーツレイアウトが異なることを無視したものとなっている。そのため、正味化粧画像74をそのままユーザ14の素顔画像71に合成しても、合成して得られたユーザの化粧顔は、サンプル化粧顔と随分印象の異なるものとなってしまう。これを防ぐために、好ましい実施形態では、サンプル化粧顔の素顔とユーザの素顔の間で、顔の輪郭、パーツ形状、顔パーツレイアウトに差異があることを考慮して、正味化粧画像74にその差異を補う化粧(補正画像)を加える補正を施す。
ステップS5では、顔の輪郭補正ありか否かを判断する。顔の輪郭補正ありと判断すればステップS6へ進み、顔の輪郭補正ありと判断されなければステップS7進む。図7で実行ボタン70が操作されたときに、選択画面66の項目選択領域69での選択情報がサーバ20に送信されており、メモリに一時記憶した選択情報に基づいて顔の輪郭が選択されているか否かを判断する。そして、顔の輪郭が選択されている場合は顔の輪郭補正ありと判断し、顔の輪郭が選択されていない場合は顔の輪郭補正なしと判断する。項目選択で「すべて選択」が選択されている例を説明しているので、ステップS6に進むことになる。
ステップS6では、まず顔の輪郭補正処理を行う。すなわち、サンプル化粧顔の素顔画像とユーザ14の素顔画像とから顔の輪郭を特徴抽出し、サンプルとユーザ14との間の顔の輪郭との差異を抽出し、その差異を少なくしてユーザ14の顔の輪郭がサンプル化粧顔の輪郭に近づいて見えるようにする化粧の画像(顔の輪郭補正画像)を、マッチング処理後の正味化粧画像74に付加する画像処理を行う。図5,図7(a)に示すように、本例では、サンプル化粧顔の輪郭が「卵形」であるのに対して、ユーザ14の顔の輪郭が「四角形」であるので、「四角形」を「卵形」の顔の輪郭に見せる化粧を、ユーザ14の正味化粧画像74に追加する顔の輪郭補正処理を施す。この顔の輪郭補正処理は、顔の輪郭抽出部41と第1画像処理部46との協働により行われる。詳細には、記憶部23,36からそれぞれサンプル化粧顔の素顔画像とユーザ14の素顔画像を読み出し、必要に応じて顔サイズを揃える処理をした後の両素顔画像からそれぞれの顔の輪郭を特徴抽出し、サンプルとユーザ14との間の顔の輪郭の差異を抽出する。この結果、図8に示すようなユーザ14の顔の輪郭75と、サンプルの顔の輪郭76とを取得する。図8には、輪郭75,76に加え、目、鼻、口が示されているが、実際には目、鼻、口は示されない。
次に、得られた顔の輪郭75,76の差異をとる処理を行い、サンプルの輪郭76に対してユーザ14の輪郭75がはみ出した部分又は内側へ窪んでいる部分を顔の輪郭の差異として取得する。例えばサンプルの輪郭が「卵形」であり、ユーザ14の輪郭が「四角顔」である場合、図8に示すように、サンプルの輪郭76に対してユーザ14の輪郭75がはみ出している顔のエラの部分の領域がプラスの差異77として得られる。一方、図8に示すように、ユーザ14の輪郭75に対してサンプル化粧顔の輪郭76がはみ出している顔の顎の部分の領域がマイナスの差異78として得られる。プラスの差異77である場合は、その差異77の領域の位置(例えばエラと額の両端)と、その差異の正負の符号である正値とを基に第3記憶部24の顔の輪郭データベースにアクセスして、例えば「エラ,プラス」という検索情報に対応する補正画像とその補正用画像のプロシージャ情報とレイヤ位置情報とを取得する。そして、その補正画像とプロシージャ情報とレイヤ位置情報とを第1画像処理部46に送る。一方、マイナスの差異78である場合は、その差異78の領域の属する位置(部位)(例えば顎)とその差異の正負の符号である負値とを基に第3記憶部24の顔の輪郭データベースにアクセスして、例えば「顎,マイナス」という検索情報に対応する補正画像とその補正用画像のプロシージャ情報とレイヤ位置情報とを取得する。そして、その補正画像とプロシージャ情報とレイヤ位置情報とを第1画像処理部46に送る。
第1画像処理部46は、差異77、78に対応する各領域にそれぞれに対応する補正画像をそれぞれのプロシージャ情報で指定された条件で施し、図8に示す顔の輪郭補正画像79を生成する。差異77に対応する補正画像は、例えばグラディエーションが施されたシャドウ画像(カラー画像)であり、プロシージャ情報は、差異77の領域に輪郭寄り側ほど濃くなる所定濃度分布でそのシャドウ画像を施すというプロシージャの条件を示す情報である。一方、差異78に対応する補正画像は、例えばグラディエーションが施されたハイライト画像(カラー画像)であり、プロシージャ情報は、差異78の領域に隣接するユーザ14の顎領域に、指定方向に濃度分布がでるようにそのハイライト画像を施すというプロシージャの条件を示す情報である。第1画像処理部46は、プロシージャ情報に従って、差異77,78の領域に対応する指定の領域にシャドウ80あるいはハイライト81を、それぞれ濃度分布が指定方向となるように施すことにより補正画像として、シャドウ80のレイヤとハイライト81のレイヤとを生成する。本例では、第1画像処理部46は、差異77に対応する両側のエラ領域及び額の両端領域に、輪郭寄り(外側)から内側へ向かって濃度が徐々に薄くなる濃度分布で施されたシャドウ80のレイヤL1を生成する。また、第1画像処理部46は、差異78の領域に対してユーザ14の顔領域側に隣接する顎領域に指定方向の濃度分布で施されたハイライト81のレイヤL2(いずれも図7(c)を参照)を生成する。顔の輪郭補正画像79は、シャドウ80のレイヤL1と、ハイライト81のレイヤL2との2枚のレイヤで構成される。そして、記憶部37から読み出した正味化粧画像74を構成するレイヤLu1〜Lunの層間のうちその補正画像に応じたレイヤ位置情報から定まるレイヤ挿入位置に顔の輪郭補正画像79の各レイヤL1,L2をそれぞれ追加する処理を行う。そして、各レイヤL1,L2を追加した正味化粧画像を記憶部37に記憶する。本例では、ユーザ14の顔の輪郭をサンプルの輪郭に近づけるために付加される顔の輪郭補正画像79を構成するシャドウ80のレイヤL1とハイライト81のレイヤL2は、例えばファンデーション又はコンシーラの補正画像であり、ファンデーション又はコンシーラに相当する化粧層のレイヤ位置に追加される。図8における顔の輪郭補正画像79では、シャドウ80とハイライト81における濃度分布の表現は省略している。
ステップS7では、パーツ形状補正ありか否かを判断する。パーツ形状補正ありと判断すればステップS8へ進み、パーツ形状補正ありと判断されなければステップS9へ進む。つまり、メモリに一時記憶した選択情報に基づいてパーツ形状(目、眉、鼻、口)のうち一つでも選択されているか否かを判断し、一つでも選択されている場合はパーツ形状補正ありと判断し、一つも選択されていない場合はパーツ形状補正なしと判断する。項目選択で「すべて選択」が選択されている場合を説明しているので、ステップS8に進むことになる。
次のステップS8では、パーツ形状補正処理を行う。すなわち、サンプルの素顔画像とユーザ14の素顔画像とからそれぞれパーツ形状を特徴抽出し、サンプルとユーザ14との間のパーツ形状の差異を抽出し、その差異を少なくしてユーザ14のパーツ形状をサンプルのパーツ形状に近づいて見せるようにする化粧(補正画像)を、マッチング処理後の正味化粧画像74に施すパーツ形状補正処理を行う。このパーツ形状補正処理は、パーツ形状抽出部42と第2画像処理部47との協働により行われる。詳細には、先に記憶部23,36からそれぞれ読み出されて顔サイズが揃えられたサンプル化粧顔の素顔とユーザ14の素顔の画像から、補正対象として選択されたパーツ(目、眉、鼻、口のうち選択された少なくとも一つ)を特徴抽出して、ユーザ14とサンプルの各パーツの形状を取得する。そして、特定のパーツについては、更にパーツ形状からパーツの角度(例えば目の傾き)を求めたり、パーツの濃度(濃度分布)(例えば眉の濃度、唇の濃度)やパーツの周囲の高濃度ライン(一重瞼、二重瞼、皺など)などを求めたりする。
次に、得られたユーザ14とサンプルのパーツ形状を用いて同じパーツ同士でパーツ形状の差異をとる処理を行う。例えばサンプルのパーツに対してユーザ14のパーツがはみ出た部分又は凹んだ部分をパーツ形状の差異として取得する。
図9は、パーツとして目が選択されているときに、ユーザ14とサンプルの目の形状の差異を補う化粧(補正画像)を正味化粧画像74に付加する場合を説明するものである。以下、図9を用いて、目の形状補正処理について説明する。図9に示すように、本例では、サンプルが若干「つり目」であるのに対して、ユーザ14が「たれ目」であるとする。
記憶部23,36からそれぞれ読み出したサンプル化粧顔の素顔画像とユーザ14の素顔画像を、必要に応じて顔サイズを揃えた後、ユーザ14の素顔画像とサンプル化粧顔の素顔画像からそれぞれの目を特徴抽出する。図9における上段は、特徴抽出されたユーザ14の目83とサンプルの目84を示す。この目の形状の抽出によって、目の形状及び大きさを把握できる。目の形状に関する抽出情報を基に目の角度(つり目、たれ目等)を求めたり、目の周囲の高濃度ライン(一重瞼や二重瞼等)などを求めたりすることもできる。
目の差異を求める際は、目の中心点(瞳の中心点)を一致させるようにユーザ14の目83とサンプルの目84を重ね合わせる。ユーザ14の目83はサンプルの目84に対して下側で目頭側(図9における右側)ほど内側へのシフト量が大きく、この内側へシフトした部分でマイナスの差異85が得られ、一方、目の上側では目尻側(図9における左側)ほど内側へシフトしており、この内側へシフトした部分でマイナスの差異85が得られる。また、ユーザ14の目83がサンプルの目84よりも細い場合は、ユーザ14の目の周囲に目の上側か下側のうち少なくとも一方にマイナスの差異85が生じる。目の下側において差異がマイナスになる領域が目尻側で狭く目頭側で広い、かつ目の上側において差異がマイナスになる領域が目尻側で広く目頭側で狭いと、ユーザ14がサンプルに比べ「たれ目」であると判定する。この場合、目の目頭側と目尻側とで内側へのシフト量の違いが大きいほどたれ目の度合が大きいことになる。本例では、目の傾き度合いは9段階で表される。目の傾き度合いの内訳は、例えばたれ目の度合は4段階で表され、標準傾き(略水平)は1段階で表され、つり目の度合は4段階で表される。たれ目とその度合を検索条件として第4記憶部25のパーツ形状データベースにアクセスして、その検索条件に応じたパーツ形状補正画像を取得する。この場合、パーツ形状補正画像87を構成する一レイヤとして、目尻上側の領域に追加されるアイシャドウ88の補正画像が得られる。
目が一重瞼か二重瞼かも特徴抽出され得る。ユーザ14の目83が一重瞼であり、サンプルの目84が二重瞼である場合、二重部分のラインが差異86として得られる。サンプルの二重瞼に対してユーザ14が一重瞼であって、ユーザ14が一重分不足するので、「マイナス一重」と評価し、これを検索条件とする。サンプルが一重瞼でユーザ14が二重瞼である場合は、「プラス一重」となる。標準設定では二重を一重にする補正は行わないが、二重を一重にする補正を行ってもよい。マイナス一重を検索条件として第4記憶部25のパーツ形状データベースにアクセスして、その検索条件に応じた補正画像を取得する。この場合、パーツ形状補正画像87を構成する一レイヤとして、目の上側に追加して二重瞼とするためのライン89の補正画像が得られる。このように図9におけるパーツ形状補正画像87は、アイシャドウレイヤと二重瞼レイヤとを合わせた画像となっており、例えば図7におけるレイヤL3,L4からなる。
図10は、パーツとして口が選択されているときに、ユーザ14とサンプルとの間の口の形状の差異を少なく見せる化粧(補正画像)を正味化粧画像74に施す場合を説明するものである。以下、図10を用いて、口の形状補正処理について説明する。記憶部23,36からそれぞれ読み出したサンプル化粧顔の素顔画像とユーザ14の素顔画像に対し、必要に応じて顔サイズを揃え、ユーザ14の素顔画像とサンプルの素顔画像の各々から口を特徴抽出する。図10における上段は、ユーザ14の口91とサンプルの口92を示す。この特徴抽出によって、口の形状及び大きさを把握できる。図10に示すように、本例では、ユーザ14の口91は唇が若干薄くかつ水平方向の幅が広めであり、サンプルの口92は唇が若干厚くかつ水平方向の幅が狭めである。
図10における下段中央に示すように、両口91,92を重ねて、両者の差異を抽出すると、サンプル化粧顔の口92に対してユーザ14の口91が上側で若干、下側でかなりの量、内側へシフトしたマイナスの差異93が得られる。また、口91の左端と右端でユーザ14の口91がサンプルの口92に対してはみ出たプラスの差異94が得られる。口の周囲に沿って複数の領域が設定され、図10の例では、口の上側に設定されている例えば7領域のうち中央部寄りの3領域と、口の下側に設定されている例えば7領域のうち中央部寄りの5領域と、左側の領域と、右側の領域との各領域位置の情報と、プラスまたはマイナスとを検索条件として取得する。そして、第4記憶部25のパーツ形状データベースにアクセスして、その検索条件に応じた補正画像を取得する。この場合、図10における下段右側に示すように、ユーザ14の口の上側と下側の領域位置の情報とマイナスの情報とに基づき、ユーザ14の唇の上側中央部と下側中央部に追加される口紅96の補正画像(レイヤ)が得られ、ユーザ14の口の左側と右側の領域位置の情報とプラスの情報とに基づき、ユーザ14の唇の左端と右端に口紅を消去する画像97の補正画像(レイヤ)が得られる。図10に示す補正画像95は、口紅96のレイヤと、口紅を消去する画像97のレイヤとから構成される。
そして、それら補正画像を第2画像処理部47に送る。第2画像処理部47は、正味化粧画像74を構成するレイヤLu1〜Lunの層間のうちその補正画像に応じた化粧層に応じたレイヤ挿入位置を把握し、その把握したレイヤ挿入位置にパーツ形状補正画像87の各レイヤL3,L4等をそれぞれ追加する処理を行う。そして、処理後の正味化粧画像を記憶部37に記憶する。画像97に替え、正味化粧画像74を構成する口紅のレイヤから唇の左端と右端に相当する口紅を消去する画像処理を施しても構わない。
ステップS9では、顔パーツレイアウト補正ありか否かを判断する。顔パーツレイアウト補正ありと判断すればステップS10へ進み、顔パーツレイアウト補正ありと判断されなければステップS11へ進む。つまり、メモリに一時記憶した選択情報に基づいて顔パーツレイアウトの項目が選択されているか否かを判断し、顔パーツレイアウトが選択されている場合は顔パーツレイアウト補正ありと判断し、顔パーツレイアウトが選択されていない場合は顔パーツレイアウト補正なしと判断する。項目選択で「すべて選択」が選択されている場合を説明しているので、ステップS10に進むことになる。
次のステップS10では、顔パーツレイアウト補正処理を行う。すなわち、記憶部23,36からそれぞれ読み出したサンプル化粧顔の素顔画像とユーザ14の素顔画像に対して、必要に応じて顔サイズを揃え、サンプル化粧顔の素顔画像とユーザ14の素顔画像の各々から、顔輪郭と複数のパーツ(両目、口)とを抽出し、顔輪郭と複数のパーツの位置から、サンプルとユーザ14の顔パーツレイアウトとを求める。そして、両者の顔パーツレイアウトの差異を抽出するとともに、その差異を少なく見せるようにする化粧を、正味化粧画像74に施す顔パーツレイアウト補正処理を行う。例えば図11に示すように、ユーザ14の素顔画像71とサンプル化粧顔の素顔画像72とから特徴抽出を行って得た顔輪郭と両目と口の各位置を取得する。そして、顔輪郭と両目の位置とに基づいて、横方向の顔幅を両目の各位置で分割した三つの間隔の比率を、横方向のパーツレイアウト比率(顔パーツレイアウト横比率)として求める。また、顔輪郭と両目と口の各位置とに基づいて、顔の縦方向において頭髪の生え際から目の位置までの間隔と、目から口の口角までの間隔と、口角から顎の先端までの間隔との比率である縦方向のパーツレイアウト比率(顔パーツレイアウト縦比率)を求める。
例えば図11における上段に示すように、顔の横方向において顔幅を両目の位置で三つの領域に区画した各領域の比率である顔パーツレイアウト横比率が、ユーザ14が20:60:20(%)であるのに対して、サンプルが25:50:25(%)であるとする。また、顔の縦方向において、頭髪の生え際から目までの間隔と、目から口の口角までの間隔と、口角から顎の先端までの間隔との比率である顔パーツレイアウト縦比率が、ユーザ14が30%:45%:25%であるのに対して、サンプルが45%:35%:20%であるとする。
顔パーツレイアウト横比率について、サンプルとユーザ14との差異を算出すると、ユーザ14の両目の位置が、サンプルの両目の位置に対して、顔幅の5%だけ顔の幅中心から外側へ向かう方向(マイナス方向)へシフトしていることを意味する「マイナス5%」の差異が得られる。ユーザ14の両目の間隔の割合がサンプルの両目の間隔の割合にその差異を補うように近づけて、両目の間隔を顔幅の5%だけ狭く見せる化粧(補正画像)を正味化粧画像74に付加する画像処理を行う。
また、顔パーツレイアウト縦比率について、サンプルとユーザ14との差異を算出すると、ユーザ14の頭髪の生え際から目の位置までの間隔の割合が、サンプルのそれに対して、顔の縦方向の長さである顔長の15%だけ狭い側(マイナス方向)へシフトしていることを意味する「マイナス15%」の差異が得られる。但し、化粧でパーツを実際よりも所定方向へシフトしているように見せられる割合には限界があり、この限界値(例えば5%)を最大値とするように「プラス5%」の差異は与えられる。
同様にユーザ14の目の位置から口の位置までの間隔の割合が、サンプルのそれに対して、顔長の10%だけ広い側(プラス方向)へシフトしていることを意味する「プラス10%」の差異が得られる。この場合、先に頭髪の生え際と目の間隔の割合を広くするマイナス5%が既に与えられているので、この場合、「マイナス5%」が与えられる。同様にユーザ14の口の位置から顎の先端までの間隔の割合が、サンプルのそれに対して、顔長の5%だけ広い側(マイナス方向)へシフトしていることを意味する「プラス5%」の差異が得られる。この場合、口から顎の先端までの間隔の割合を顔長の5%だけ狭くする「マイナス5%」の差異として演算される。顔の縦方向における顔パーツレイアウトの差異を補うように、ユーザ14の顔パーツレイアウトをサンプルの顔パーツレイアウトに近づける化粧(補正画像)を、正味化粧画像74に付加する画像処理を行う。
上記の顔パーツレイアウト以外にも、例えば頭髪の生え際から眉の下端までの間隔と、眉と目の間隔と、目と鼻の下端との間隔と、鼻の下端から顎の先端までの間隔との比率で表される顔パーツレイアウトも求めており、サンプルとユーザ14との間の顔パーツレイアウトの差異を算出し、ユーザ14の比率がサンプルの比率に近づく化粧(補正画像)を、正味化粧画像74に追加する画像処理を行うこともできる。例えばユーザ14の顔は、頭髪の生え際と眉の下端との間の割合がサンプルのそれより小さく、眉の下端と目との間隔の割合がサンプルのそれと略等しく、目と鼻の下端との間の間隔の割合がサンプルのそれと略等しく、かつ鼻と口との間隔の割合がサンプルのそれよりも大きい。よって、ユーザ14の眉と目の間隔の割合を大きくする化粧(補正画像)と、鼻と口の間隔の割合を小さくする化粧(補正画像)を、正味化粧画像74に施す画像処理を行う。
顔パーツレイアウトの差異を補うために、顔パーツレイアウトデータベースから取得される補正画像は、例えば図11下段に示されている。この例では、ユーザ14の頭髪の生え際から目までの間隔を広く見せるために、頭髪の生え際から目までの間隔とプラス5%との検索条件に基づいて顔パーツレイアウトデータベースにアクセスし、ユーザ14の額部分に追加するハイライト102の補正画像が取得される。目から口までの間隔を狭く見せるために、目から口までの間隔とマイナス5%との検索条件に基づいて顔パーツレイアウトデータベースにアクセスし、鼻に沿って追加されるシャドウ104の補正画像が取得される。口と顎の先端との間隔を狭く見せるために、顎の部分に追加されるシャドウ104の補正画像が取得される。鼻の下端と口との間隔の割合を狭くするために、口の上側部分に追加されるシャドウ104の補正画像を取得することもできる。顔の横方向においてユーザ14の両目の間隔を狭くみせるために、目の目尻側に追加されるハイライト103の補正画像を取得することもできる。この顔パーツレイアウト補正処理により、図11における下段右側に示すように、例えばハイライト102のレイヤL5と、シャドウ104のレイヤL6と、ハイライト103のレイヤL7が取得される。
取得された補正画像を第3画像処理部48に送る。第3画像処理部48は、記憶部37から正味化粧画像74を読み出し、その読み出した正味化粧画像74に対して顔パーツレイアウトに係る補正画像を、顔パーツレイアウト識別子から特定されるレイヤ位置に追加し、追加後の正味化粧画像74を記憶部37に再び記憶する。こうしてマッチング処理後の正味化粧画像74をユーザ14の顔の輪郭、パーツ形状、顔パーツレイアウトをサンプルのそれに近づけるように補正して得られた図7(c)に示す補正後正味化粧画像100が記憶部37に記憶される。顔の輪郭、パーツ形状、顔パーツレイアウトに係る各補正画像が、同じ化粧層で重複する場合や、化粧層が異なる場合でもユーザ14の顔をサンプル化粧顔に同じ対象において近づける場合は、重複による過度の補正が加えられることがないようにしている。
顔パーツレイアウトの差異を、ユーザ14の顔パーツレイアウトをサンプルの顔パーツレイアウトに近づける方法として、顔パーツレイアウトの差異を、眉、目、鼻、口の各位置のシフト方向、シフト量に換算し、その換算情報を基に、パーツを実際よりそのシフト方向、シフト量だけシフトしていように見せる補正画像を取得して正味化粧画像74に付与する方法を採用することもできる。
ステップS11では、補正後正味化粧画像100と素顔画像71との合成処理及び表示を行う。すなわち、記憶部37から図7(c)に示す補正後正味化粧画像100を読み出すとともに、記憶部36からユーザ14の素顔画像71を読み出し、ユーザ14の素顔画像71上に補正後正味化粧画像100を重ねる合成処理を行う。この合成処理時の位置合わせは、二点を一致させれば足りるので、例えば両目の中心位置を合わせることで補正後正味化粧画像100の素顔画像71上への貼り付け処理を行ってもよい。
制御部31は、合成処理部34で合成された化粧顔画像を含むウェブデータを作成し、そのウェブデータを送受信部29からネットワーク11を通じてクライアント端末12に送信する。その結果、クライアント端末12の表示部12bには、図12に示すウェブ画面105が表示される。ウェブ画面105は、そのコンテンツエリアに化粧顔表示画面106を含み、化粧顔表示画面106の化粧顔表示領域107にユーザ14の化粧顔画像が表示される。化粧顔表示画面106には、追加修正を行う項目を選択するための複数の選択欄(プルダウンメニュー)が設けられている。詳しくは、追加修正できる項目として、顔の輪郭、パーツ形状、顔パーツレイアウトの三種類が用意されており、パーツ形状としては目、眉、鼻、口を選択できる。顔の輪郭のプルダウンメニューでは、希望の顔の輪郭を選択でき、例えば卵形、四角形、三角形などの顔の輪郭を選択できる他、顎を長く、頬を丸く、エラを丸くなどの顔の部分の形状の選択も可能となっている。例えば顔の輪郭の中から例えば卵形を選択すると、次画面(詳細設定画面)が表示され、複数種の卵形の中から所望のものを選択できたり、卵形に近づける割合(%)の指定も可能となっている。パーツ形状の目には、プルダウンメニューで、大きく、細く、切れ長、たれ目、つり目、アーモンド形などを選択できる他、二重瞼、一重瞼、睫毛を長くなどの選択も可能となっている。そして、いずれか一つを選択すると、同様に詳細設定画面が表示されて詳細設定が可能となっている。その他、眉、鼻、口についても種々の形状や、一部の形状や質感(例えば口であれば唇のしっとり感、艶、濡れた感じ、弾力感など)を選択できる。顔パーツレイアウトについては、黄金比、3:4:2、4:3:3などの所定比率の他、額を広くまたは狭く、目と口の間隔を広くまたは狭く、口と顎先の間隔を広くまたは狭くなどの部分的なエリアの広さを変更する選択が可能になっており、同様にそれぞれについて詳細設定が可能になっている。そして、修正実行ボタン111を操作すると、ユーザ14が選択指定した追加修正の処理が実行される。色変更ボタン112を操作すると、色変更の詳細設定画面が表示され、ファンデーションの色、コンシーラの色、口紅の色、チークの色、アイシャドウの色などを変更することができる。
このように必要に応じて形状や比率、色を追加修正する。手本化粧顔が気に入れば、保存ボタン113を操作することで化粧顔データをクライアント端末12のメモリに保存することができる。例えば、好みの手本化粧顔を保存し、それらを順番にあるいは一覧として画面に表示してその中から自分の一番好む手本化粧顔画像を選択することもできる。
こうして手本化粧顔画像が生成されると、ユーザ14は入力部12aを操作して化粧手順レシピ表示ボタン109を操作する。化粧手順表示ボタン109の操作に基づく要求をサーバ20が受け付けると、サーバ20のCPUは化粧支援処理プログラムのうち化粧アドバイス処理プログラムを実行することで、ステップS12以降の化粧アドバイス処理を行う。
ところで、化粧顔画像生成処理において、顔の輪郭抽出部41、パーツ形状抽出部42及び顔パーツレイアウト抽出部43が取得した識別子(顔の輪郭画像識別子、パーツ形状画像識別子、顔パーツレイアウト画像識別子)は、手順補正部35へ送られる。そして、手順補正部35内において、顔の輪郭画像識別子は顔の輪郭手順補正部51へ、パーツ形状画像識別子はパーツ形状手順補正部52へ、顔パーツレイアウト画像識別子は顔パーツレイアウト手順補正部53へそれぞれ送られる。
ステップS12では、手順補正処理を行う。すなわち、手順補正部35が、第7記憶部28に格納されているリンクテーブルを参照して、補正画像の識別子に応じたアドレスを取得する。そして、手順補正部35は、第7記憶部28に格納されている手順補正用データベースにアクセスして、補正画像の識別子に応じた手順補正データを取得する。すなわち、顔の輪郭手順補正部51は、手順補正用データベースにアクセスして、顔の輪郭画像識別子に応じた顔の輪郭手順補正データを取得する。パーツ形状手順補正部52は、手順補正用データベースにアクセスして、パーツ形状画像識別子に応じたパーツ形状手順補正データを取得する。顔パーツレイアウト手順補正部53は、補正用データベースにアクセスして、顔パーツレイアウト画像識別子に応じた顔パーツレイアウト手順補正データを取得する。
手順補正部35は、手順補正処理を行うに当たり、まず、サンプル化粧顔の画像64に対応するサンプル化粧手順レシピD1〜Dnを第6記憶部27から読み出し、記憶部38に一時記憶する。手順補正処理では、記憶部38に格納されているサンプル化粧手順レシピD1〜Dnの文章に補正を加える。スピーカからの音声は文章の読み上げ処理を行う構成では、文章の補正により音声も補正される。もちろん、音声を用意しておき、音声を補正する構成も採用できる。
顔の輪郭手順補正データ、パーツ形状手順補正データ、顔パーツレイアウト手順補正データは、それぞれサンプル化粧手順レシピ中の文章を補正するための文章データである。顔の輪郭手順補正データ、パーツ形状手順補正データは、顔の輪郭(卵形顔、四角顔、逆三角形顔、丸顔、三角形顔等)、パーツ形状(詳しくは眉形状、目形状、鼻形状、口形状)ごとに、サンプル化粧手順レシピの文章中の特定の文書エリア55又は特定の位置を特定するアドレス56とリンクされている。各手順補正データは、対応するアドレス56で特定される文書エリア55に置き替えられたり、対応するアドレス56で特定される特定位置に追加挿入されたりする。
すなわち、顔の輪郭手順補正データは、図14中に示すサンプル化粧手順レシピの文章中において、顔の輪郭画像識別子とリンクされたアドレス56で指定された文書エリア55の文章と置き替えられたり、顔の輪郭画像識別子とリンクされたアドレス56で指定された位置に追加挿入されたりする。目形状、鼻形状、口形状などの各手順補正データは、図14中に示す文章中において、目形状、鼻形状、口形状の画像識別子とリンクされたアドレス56で指定された文書エリア55の文章と置き替えられる。サンプル化粧手順レシピD1〜Dに文書以外に画像が含まれている場合は、文書の場合と同様に識別子に対応する画像が特定され、その画像が補正用の画像に置き換えられたり、その画像に補正用の画像のレイヤが追加されたりする。
そして、図13において、化粧の途中のステップでの完成イメージを提供する手本化粧顔画像I1〜Inは、補正後正味化粧画像100を構成するレイヤを用いて作成される。補正後正味化粧画像100を構成するレイヤは、化粧層別(例えば同じコンシーラでも化粧層が異なれば別々のレイヤ)、及び化粧種別(例えばファンデーションとチーク)に一枚ずつ分けて構成されている。補正後正味化粧画像100を構成するレイヤは、化粧が施される順番に例えば番号が付されており、そのレイヤ番号からどの化粧ステップに属するかが管理されている。手本化粧顔画像I1〜Inを作成するときは、補正後正味化粧画像100を構成するレイヤの中から、まず手順1に属するレイヤを記憶部37から読み出し、その読み出したレイヤをユーザ14の素顔画像71上に重ねる合成処理を行うことにより、手順1の手本化粧顔画像I1を生成する。次に手順2に属するレイヤを記憶部37から読み出し、その読み出したレイヤを手本化粧顔画像I1上に重ねる合成処理を行うことにより、手順2の手本化粧顔画像I2を生成する。以下、手順3から手順nまで同様の処理を繰り返して、手本化粧顔画像I3〜Inを生成する。補正後正味化粧画像100のレイヤを用いて手本化粧顔画像を生成する制御部31は化粧途中顔画像生成手段を構成する。
こうして、全ての化粧ステップにおいて、手本化粧顔画像I1〜Inと、文章からなるユーザ14の化粧手順レシピX1〜Xnとが作成される。そして、制御部31は、手本化粧顔画像I1〜Inと化粧手順レシピX1〜Xnとを用いて、図13に示すように手順別に手本化粧顔画像と化粧方法の説明文書とが配列された化粧手順レシピ表示画面116を表示するためのウェブデータを作成する。そして、制御部31はそのウェブデータを送受信部29からネットワーク11を通じてクライアント端末12に送信する。
クライアント端末12の表示部12bには、図13に示すウェブ画面115が表示される。ウェブ画面115中の化粧手順レシピ表示画面116には、ステップ1からステップnまでのステップごとに、手本化粧顔画像と、化粧方法を説明する化粧手順レシピX1〜Xnに基づく文章が表示される。化粧手順レシピ表示画面116には、やり直しボタン117と、登録ボタン118が設けられている。やり直しボタン117を操作すると、ユーザ14の化粧顔を選択できる画面が表示され、その画面で選択し直した化粧顔の化粧手順レシピを表示し直すことができる。その化粧手順レシピに従って化粧をしてみて気に入った場合などに、登録ボタン118を操作すると、その化粧手順レシピをクライアント端末12又はサーバ20に保存することができる。保存(登録)された化粧手順レシピは、クライアント端末12からサーバ20にアクセスすることによりクライアント端末12の画面に一覧表示させることができ、ユーザ14が登録した中から気に入った化粧手順レシピを選択することにより、化粧顔生成処理を経ず直ぐに化粧手順レシピを表示部12bに表示させることも可能である。
図13に示す化粧手順レシピ表示画面116において最上段の手順番号はリンクされており、所望の手順番号を選択すると、その選択した手順に対応する化粧実行画面が表示される。例えば「手順1」を選択操作すると、図15に示すように、手順1の化粧実行画面121を含むウェブ画面120が表示される。化粧実行画面121には、ユーザ14が化粧を行っている様子をカメラ16で撮影した動画が表示される中継画面122と、その手順における手本化粧顔画像I1が表示される手本画面123とが設けられ、それらの下側に化粧方法を説明する化粧手順レシピX1に基づく文章が表示される。中継画面122は鏡の役割をし、ユーザ14はこの中継画面122を見ながら手本画面123内の手本化粧顔を手本にして、提示された化粧方法の説明文書に従って化粧を行う。化粧実行画面121でNEXTボタン124を操作すると、次の手順へ進むことができる。化粧アドバイスボタン125を操作すると、その手順における実際の化粧顔画像と手本化粧顔画像との比較に基づく化粧アドバイスを受けることができる。
化粧ステップごとに化粧アドバイスを作成する処理は、引用文献2に記載の処理方法と同様である。すなわち、ユーザ14は各化粧ステップの化粧を完成させる度に化粧途中の自分の顔をカメラ16で撮影する。その撮影された化粧顔画像K1(図16を参照)はクライアント端末12の所定記憶領域に書込まれる。その後、入力部12aを操作して図15に示す化粧アドバイスボタン125を操作すると、実際の化粧顔画像がサーバ20に送信され、サーバ20内のメモリに記憶される。
サーバ20の制御部31は、手順ごとに撮影された実際の化粧顔画像K1(化粧途中顔画像又は化粧完成顔画像)と、手本化粧顔画像I1(手本の化粧途中顔画像又は手本の化粧完成顔画像)とをメモリから読み出して、図16に示すように化粧顔画像K1と手本化粧顔画像I1との間で化粧状態の差異を演算する。そして、制御部31はこの差異を基にして、ユーザ14の化粧顔画像K1を手本化粧顔画像I1に近づけるための化粧アドバイスを作成する。サーバ20は化粧アドバイスをクライアント端末12に送信し、図17に示す化粧アドバイス表示画面Jj(j=1,2,…,n)を手順ごとに表示させる。化粧アドバイスは、好ましい実施形態では、少なくとも文章を含むが、もちろん化粧アドバイスは、文書、音声、画像のうち少なくとも1つであれば足りる。カメラ16及びクライアント端末12側の送受信部及び送受信部29は化粧途中顔画像取得手段を構成する。また、化粧顔画像と手本化粧顔画像との間で化粧状態の差異を演算する制御部31は化粧顔差異取得手段を構成する。化粧顔の差異を基にして化粧アドバイスを作成する制御部31はアドバイス手段を構成する。化粧アドバイスを表示するクライアント端末12の表示部12bは出力手段を構成する。
図17に示す化粧アドバイス表示画面J1〜Jnには、実際の化粧顔画像K1〜Knと手本化粧顔画像I1〜Inが表示される他に、手本化粧顔画像I1〜Inと化粧顔画像K1〜Knとの差異に基づきサーバ20内の制御部31が作成した化粧アドバイスR1〜Rn(文書)が表示される。この化粧アドバイスR1〜Rnは、ユーザ14が化粧を行った実際の化粧顔画像Kj(j=1,2,…,n)に対して手本化粧顔画像Ij(j=1,2,…,n)と異なる部分の指摘や、その部分の修正方法など、ユーザ14の化粧顔を手本化粧顔画像Ijに近づけさせるためのアドバイスが表示される。ユーザ14はこの操作を各手順ごとに繰り返し行い、この化粧アドバイス表示画面J1〜Jnは各手順1〜nごとにそれぞれ表示される。
ユーザ14はこの化粧アドバイス表示画面J1〜Jnを見ることで、提供された化粧方法に従って自分が施した化粧に対して、手本化粧顔画像の通りに化粧を行ったか否かの適正な判断を受けることが可能になる。また、手順ごとに化粧アドバイスを受ける構成であるので、例えば全て化粧が終わった後にその化粧状態を手本化粧顔画像と比較する場合に比べ、化粧修正時に大幅な修正を行う必要がなくなる。
以上詳述したように、好ましい実施形態によれば、以下の効果を得ることができる。
(1)ユーザ14とサンプルとの顔の輪郭の差異を補う化粧(補正画像)が、マッチング処理後の正味化粧画像74に追加されるので、サンプル化粧顔に近いユーザ14の化粧顔画像を提供できる。
(2)ユーザ14とサンプルとの間の目、眉、鼻、口などのパーツ形状の差異を補う化粧(補正画像)が、マッチング処理後の正味化粧画像74に追加されるので、サンプル化粧顔画像により近いユーザ14の化粧顔画像を提供できる。
(3)ユーザ14とサンプルとの間の顔パーツレイアウトの差異を補う化粧(補正画像)が、マッチング処理後の正味化粧画像74に追加されるので、サンプル化粧顔により近い化粧が施されたユーザ14の化粧顔を提供できる。
(4)サンプル化粧顔用の化粧手順レシピ中の文章を補正して、ユーザ14の化粧手順レシピの文章を作成するので、ありうる全ての説明文章をデータベースとして用意する必要がなく、補正用の文章部分のみをデータベースとして持てばよいので、化粧手順レシピのデータベースのために必要な記憶容量を少なく抑えられる。
(5)補正後正味化粧画像100を構成するレイヤは、化粧ステップ毎に番号などが付されて分類されている。そのため、化粧ステップごとのレイヤを、ユーザ14の素顔画像に追加したり、前の化粧ステップにおける化粧途中顔画像に追加する画像処理を行えば、化粧ステップごとに化粧途中顔画像を簡単に作成できる。
(6)ユーザ14が各化粧ステップで化粧途中顔を完成させると、その化粧途中顔の写真画像を読み込ませることにより、実際に化粧を施したユーザ14の化粧途中顔と目標とすべき化粧途中顔との差異を抽出し、その抽出した差異を補う化粧法を化粧アドバイスとして提供する。よって、ユーザ14は各化粧ステップにおいて目標どおりの化粧途中顔を完成させて、次の化粧手順に進むことができ、ユーザ14の素顔を化粧顔画像どおりの化粧顔に仕上げることができる。そのため、出来上がった化粧顔が希望の化粧顔からかけ離れてしまう頻度を少なくできる。
(7)ユーザ14とサンプルとの間の差異を補う化粧を追加するかどうか、化粧支援画面において、顔の輪郭、パーツ形状、顔パーツレイアウトなどの項目のうちから少なくとも一つを選択できる構成とした。このため、この種の差異を補う化粧を追加する場合と、追加しない場合、またある項目のみ差異を補う化粧を追加するなど、色々試して作成されたユーザ14の化粧顔画像を比較して、ユーザ14は所望の化粧顔を目標化粧顔として選択できる。このため、ユーザ14は、いろいろ試した化粧顔画像の中から、所望の化粧顔画像を手本として選択できる。また、自分の顔のうち好みの特徴を残したい場合は、その残したい顔の特徴部分を、項目から外せば、その特徴を維持したユーザ14の化粧顔画像を生成することができる。そのため、自分の気に入った顔の特徴を残しつつ、顔のその特徴以外の部分についてはサンプル化粧顔に近づけた化粧顔画像を取得できる。
(8)またパーツ形状を選択した場合は、眉、目、鼻、口の各パーツ形状の中から所望の少なくとも一つを選択できる構成としたので、ユーザ14は、眉、目、鼻、口の各パーツ形状の中から所望の少なくとも一つを選択しつつ化粧顔画像をいろいろ試して、そのうち所望の化粧顔画像を手本として選択することができる。また、自分の顔のうち好みのパーツの特徴を残したい場合は、その残したい顔のパーツを、項目から外せば、そのパーツの特徴が残るかたちでユーザ14の化粧顔画像を生成することができる。そのため、自分の気に入った顔のパーツの特徴を残しつつ、顔のそのパーツ以外の部分についてはサンプル化粧顔に近づけた化粧顔画像を取得できる。
(9)ユーザ14及びサンプルの画像として2次元画像ではなく、3次元画像を使用した場合、鼻の高さや目の窪み、頬、額、口の突出量などの立体情報を取得し、ユーザ14とサンプルにおける立体情報の差異を補う化粧を、正味化粧画像に追加することができる。よって、立体的にもサンプル化粧顔に近づけたユーザ14の化粧顔を提供できる。
好ましい実施形態は以下のように変更してもよい。
好ましい実施形態では、補正画像をレイヤとして追加したが、正味化粧画像に補正用の正味化粧画像を施す処理方法はレイヤを追加する方法に限定されない。例えば正味化粧画像74を構成するレイヤに補正画像を直接追加したり、そのレイヤの画像を一部消去するなどの画像処理を行う構成も採用できる。要するに正味化粧画像にユーザ14とサンプル化粧顔の素顔の輪郭、パーツ形状、顔パーツレイアウトのうち少なくとも一つの差異を補うような化粧の画像を施す構成であれば足りる。また、正味化粧画像73,74がレイヤ構造をとることも必須ではない。
好ましい実施形態では、顔の輪郭、パーツ形状、顔パーツレイアウトについてそれらの差異を補う補正後正味化粧画像100を正味化粧画像に付加する構成としたが、上記の三つすべてを採用することに限定されない。例えば顔の輪郭のみ、パーツ形状のみ、顔パーツレイアウトのみを採用したり、顔の輪郭とパーツ形状、顔の輪郭と顔パーツレイアウト、パーツ形状と顔パーツレイアウトのように二つを採用したりしてもよい。また、パーツ形状として、目、眉、鼻、口を採用したが、これらのうち一のみ、二つのみ、三つのみを採用してもよい。さらに他の要素の差異を補う化粧を付加する構成も採用できる。例えばユーザ14とサンプルとの地肌の色の差異を補う化粧を正味化粧画像に付加する構成でもよい。つまり、ユーザ14の顔地肌色がサンプルの顔地肌色より濃い場合は、ファンデーションの色をサンプルのものより薄くし、その逆にユーザ14の顔地肌色がサンプルのそれより薄い場合は、ファンデーションの色をサンプルのものより濃くする。これとは逆の濃度を選択する構成でもよく、例えばユーザ14の顔地肌色がサンプルの顔地肌色より濃い場合は、ファンデーションの色をサンプルのものより濃くし、その逆にユーザ14の顔地肌色がサンプルのそれより薄い場合は、ファンデーションの色をサンプルのものより薄くする。この構成によれば、サンプルと同じ色のファンデーションを用いたことにより、ユーザ14の顔地肌とファンデーションとの色が違い過ぎてユーザ14が不自然な顔色になることを避けることができる。
サンプル化粧顔の画像は、実際の人物の化粧顔の画像に限られず、画像処理した化粧顔画像であってもよい。例えば、化粧モデルのような他人の化粧顔画像とユーザ14の素顔の画像とをモーフィング合成した化粧顔を、ユーザ好みの化粧顔として選択してもよい。モーフィング合成する場合に、目、眉、鼻、口、顔の輪郭のうち少なくとも一つを選択し、その選択したパーツや顔の部分についてのみユーザ14の顔画像と化粧モデルの化粧顔画像とを合成してもよい。化粧モデルの素顔の画像は、ユーザ14の素顔画像と化粧モデルの素顔画像とを、ユーザ好みの化粧顔画像を合成したときと同じ条件でモルフィング処理を行って合成することで取得できる。そして、正味化粧画像は、モルフィングで生成したユーザ好みの化粧顔像から、モルフィングで生成した素顔の画像を差し引く処理を行って取得する。
好ましい実施形態では、サーバ20が化粧支援処理を行ってその処理結果をクライアント端末12に送信する構成であったが、クライアント端末が、サーバからダウンロードした化粧支援処理プログラム(化粧顔画像生成処理プログラムを含む)を実行することにより、クライアント端末12を化粧顔画像生成装置として構成することもできる。化粧支援プログラムの一部をクライアント端末がサーバからダウンロードし、クライアント端末のCPUがそのプログラムを実行して化粧支援処理を実行するとともに、データベースへのアクセスが必要な処理についてはサーバに必要なデータを送信して、サーバがそのデータを基にデータベースにアクセスして必要なデータ(画像又は文書)を取得して必要に応じて所定の処理を施した後にデータをクライアント端末12に送信する構成も採用できる。
化粧アドバイスシステムは、ネットワークを通じて互いに接続されたサーバとクライアント端末とにより構成することに限定されない。例えばパーソナルコンピュータやワークステーション、PDA(Personal Digital Assistants)、携帯電話機に、例えばCD−ROM等の記憶媒体から化粧支援処理プログラムをインストールし、その化粧支援処理プログラムを内蔵のCPUに実行させることで、化粧支援装置を構成することもできる。この化粧支援装置は、入力したユーザ14の素顔画像と化粧モデルの素顔の画像とを用いて、ユーザ14の素顔画像と化粧モデル等の素顔画像との差を補う補正処理を正味化粧画像に施して、その補正された正味化粧画像をユーザ14の素顔画像に合成して生成したユーザ14の化粧顔画像を、モニタに表示する化粧顔画像生成装置として機能する。この場合、パーソナルコンピュータ等にカメラ(画像撮影手段)を接続又は組み付け、ユーザ14の素顔や化粧アドバイス時の化粧途中顔などを撮影する画像撮影手段、及びユーザ好みの化粧顔や化粧アドバイス内容などを表示するモニタ等の表示手段を備えた化粧支援装置として構成することもできる。
好ましい実施形態では、化粧アドバイスを行ったが、化粧アドバイスをしない構成でもよい。例えばユーザ14の化粧顔画像(手本化粧顔)を表示させるだけの化粧顔画像生成装置としてもよい。化粧アドバイスを行う場合についても、前記実施形態のようにサンプル化粧手順レシピを修正して化粧手順レシピを作成する構成に限定されない。例えば、各手順の化粧顔画像を分析して、その分析結果を基にコンピュータが化粧手順レシピを作成してもよい。
好ましい実施形態では、コンピュータにプログラムを実行させることでソフトウェアにより実現したが、例えば制御回路(カスタムICなど)によりハードウェアで実現してもよく、ハードウェアとソフトウェアとの協働により実現してもよい。