(57)【要約】【課題】施術者と被施術者との間でメイクアップ後のイメージを正確に共有できるようにすることにある。【解決手段】背景を単色とした被施術者の頭髪を含む顔画像を入力する顔画像入力手段１と、前記顔画像を解析して少なくとも根元部以外の頭髪の部分と頭髪の根元部と顔と唇とを認識する顔画像解析手段２と、頭髪の根元部と根元部以外の頭髪部分と顔および唇とで互いに着色方法を異ならせて、頭髪の根元部と根元部以外の頭髪部分と顔と唇との少なくとも一つを被施術者の指定に基づき着色する顔画像着色手段３と、を具えてなる、ヘアカラー・メイクアップシミュレーションシステムである。【選択図】図１
2007299113.tif 000002
【特許請求の範囲】
【請求項１】
背景を単色とした被施術者の頭髪を含む顔画像を入力する顔画像入力手段と、
前記顔画像を解析して少なくとも根元部以外の頭髪の部分と頭髪の根元部と顔と唇とを認識する顔画像解析手段と、
頭髪の根元部と根元部以外の頭髪部分と顔および唇とで互いに着色方法を異ならせて、頭髪の根元部と根元部以外の頭髪部分と顔と唇との少なくとも一つを被施術者の指定に基づき着色する顔画像着色手段と、
を具えてなる、ヘアカラー・メイクアップシミュレーションシステム。
【請求項２】
前記顔画像解析手段は、前記顔画像を白黒２値画像に変換して、その白黒２値画像を複数段階にマスク処理することにより、少なくとも根元部以外の頭髪の部分と頭髪の根元部と顔と唇とを認識することを特徴とする、請求項１記載のヘアカラー・メイクアップシミュレーションシステム。
【請求項３】
前記顔画像着色手段は、根元部以外の頭髪の部分を着色する際に被施術者の指定色の明るさが前記顔画像の根元部以外の頭髪の部分の明るさより明るい場合はその明るさを抑えて着色し、頭髪の根元部を着色する際に被施術者の指定色の明るさが前記顔画像の根元部以外の頭髪の部分の明るさより明るい場合はその明るさを抑えるとともにその抑える程度を根元部以外の頭髪の部分におけるよりも少なくして着色する明るさ補正を行うことを特徴とする、請求項１または２記載のヘアカラー・メイクアップシミュレーションシステム。
【請求項４】
前記顔画像着色手段は、根元部以外の頭髪の部分と頭髪の根元部とを着色する際に、前記明るさ補正後の画像に対し、ＨＳＶ変換により鮮やかさ補正を行うことを特徴とする、請求項３記載のヘアカラー・メイクアップシミュレーションシステム。
【請求項５】
前記顔画像着色手段は、根元部以外の頭髪の部分と頭髪の根元部とを着色する際に、前記鮮やかさ補正後の画像に対し、前記顔画像の明度に基づくオーバレイ合成とアルファブレンド合成とにより質感を増す補正を行うことを特徴とする、請求項４記載のヘアカラー・メイクアップシミュレーションシステム。
【請求項６】
前記顔画像着色手段は、顔と唇との少なくとも一つを着色する際に、アルファブレンド合成により自然さを増す補正を行うことを特徴とする、請求項１から５までの何れか記載のヘアカラー・メイクアップシミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ヘアカラー（毛染め）および皮膚や唇へのメイクアップによる仕上がりのイメージを把握することができるシミュレーションシステムに関するものである。
【背景技術】
【０００２】
現在の理美容院におけるヘアカラーおよび皮膚や唇へのメイクアップは、施術前に顧客と打合せを行ってその施術方針を決めており、その打合せの方法としては、鏡、雑誌等に掲載されているモデル写真、毛束やヘアカラー材の色見本等を用いて、仕上がりのイメージを施術者と被施術者とが対話しながら決定する方法がよく行われている。
【０００３】
しかしながらこの方法では、正確な施術後のイメージを施術者と被施術者との間で共有することが難しく、毛染め後の頭髪に似合う皮膚および唇のメイクアップ後のイメージの共有はさらに困難である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記問題を解決するためには、被施術者の画像のうち頭髪、皮膚および唇に画像処理によって変色処理を施すシミュレーションを行い、その結果をディスプレイ装置の画面に表示して施術者と被施術者とでシミュレーション結果のイメージを共有することが考えられる。
【０００５】
しかしながら従来の画像処理によるシミュレーションでは、その結果の画像が実写としての質感を損ない、例えばイラスト的画像になってしまい、正確な施術後のイメージを施術者と被施術者との間で共有することができないという問題がある。
【０００６】
それゆえ本発明は、施術者と被施術者との間でメイクアップ後のイメージを正確に共有するために、現実的な画像を表示するシミュレーションシステムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成した本発明のヘアカラー・メイクアップシミュレーションシステムは、背景を単色とした被施術者の頭髪を含む顔画像を入力する顔画像入力手段と、前記顔画像を解析して少なくとも根元部以外の頭髪の部分と頭髪の根元部と顔と唇とを認識する顔画像解析手段と、頭髪の根元部と根元部以外の頭髪部分と顔および唇とで互いに着色方法を異ならせて、頭髪の根元部と根元部以外の頭髪部分と顔と唇との少なくとも一つを被施術者の指定に基づき着色する顔画像着色手段と、を具えてなるものである。
【０００８】
かかるヘアカラー・メイクアップシミュレーションシステムにあっては、顔画像入力手段が背景を単色とした被施術者の頭髪を含む顔画像を入力し、顔画像解析手段が前記顔画像を解析して少なくとも根元部以外の頭髪の部分と頭髪の根元部と顔と唇とを認識し、顔画像着色手段が頭髪の根元部と根元部以外の頭髪部分と顔および唇とで互いに着色方法を異ならせて、頭髪の根元部と根元部以外の頭髪部分と顔と唇との少なくとも一つを被施術者の指定に基づき着色する。
【０００９】
従って、本発明のヘアカラー・メイクアップシミュレーションシステムによれば、頭髪については顔および唇と事情が異なり、既に毛染めされてから一定期間が経過して被施術者の頭髪が伸び、根元部とそれ以外の頭髪部分である毛先とで色が異なっている場合が多いのに対し、施術者が実際に毛染めを行う際に行う、先ず頭髪全体を単一色に染めてからその後に改めて被施術者の希望の色に染色するという作業をシミュレーションすることができるので、施術者と被施術者との間でメイクアップ後のイメージを正確に共有することができる。
【００１０】
なお、本発明のヘアカラー・メイクアップシミュレーションシステムにおいては、前記顔画像解析手段は、前記顔画像を白黒２値画像に変換して、その白黒２値画像を複数段階にマスク処理することにより、少なくとも根元部以外の頭髪の部分と頭髪の根元部と顔と唇とを認識するものでも良く、このようにすれば、少なくとも根元部以外の頭髪の部分と頭髪の根元部と顔と唇とを確実に認識することができる。
【００１１】
また、本発明のヘアカラー・メイクアップシミュレーションシステムにおいては、前記顔画像着色手段は、根元部以外の頭髪の部分を着色する際に被施術者の指定色の明るさが前記顔画像の根元部以外の頭髪の部分の明るさより明るい場合はその明るさを抑えて着色し、頭髪の根元部を着色する際に被施術者の指定色の明るさが前記顔画像の根元部以外の頭髪の部分の明るさより明るい場合はその明るさを抑えるとともにその抑える程度を根元部以外の頭髪の部分におけるよりも少なくして着色する明るさ補正を行うものでも良く、このようにすれば、頭髪の根元部と根元以外の部分とを髪としての質感を崩さずに着色することができる。
【００１２】
さらに、本発明のヘアカラー・メイクアップシミュレーションシステムにおいては、前記顔画像着色手段は、根元部以外の頭髪の部分と頭髪の根元部とを着色する際に、前記明るさ補正後の画像に対し、ＨＳＶ変換により鮮やかさ補正を行うものでも良く、このようにすれば、頭髪の根元部と根元以外の部分とをより自然に着色することができる。
【００１３】
さらに、本発明のヘアカラー・メイクアップシミュレーションシステムにおいては、前記顔画像着色手段は、根元部以外の頭髪の部分と頭髪の根元部とを着色する際に、前記鮮やかさ補正後の画像に対し、前記顔画像の明度に基づくオーバレイ合成とアルファブレンド合成とにより質感を増す補正を行うものでも良く、このようにすれば、頭髪の根元部と根元以外の部分とをより自然に着色することができる。
【００１４】
そして、本発明のヘアカラー・メイクアップシミュレーションシステムにおいては、前記顔画像着色手段は、顔と唇との少なくとも一つを着色する際に、アルファブレンド合成により自然さを増す補正を行うものでも良く、このようにすれば、顔や唇も自然に着色することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を実施例によって、図面に基づき詳細に説明する。ここに、図１は、本発明のヘアカラー・メイクアップシミュレーションシステムの構成を機能ブロックで示すブロック線図、図２は、その実施例のヘアカラー・メイクアップシミュレーションシステムが実行するシミュレーションの手順を示すフローチャートである。
【００１６】
この実施例のヘアカラー・メイクアップシミュレーションシステムは、機能的には図１に示すように、顔画像入力手段としての顔画像入力部１と、顔画像解析手段としての顔画像解析部２と、顔画像着色手段としての顔画像着色部３とを具えており、これら顔画像入力部１と顔画像解析部２と顔画像着色部３とは、具体的にはあらかじめ与えられたプログラムに基づき作動する通常のパーソナルコンピュータ（ＰＣ）により構成される。
【００１７】
このＰＣを用いて、図２に示す手順でヘアカラー（毛染め）およびメイクアップのシミュレーションを行う。この手順では、先ずステップＳ１で、顧客の頭髪を含む顔画像（写真）をデジタルカメラによって撮影する。この顔画像は、毛染めのシミュレーションを行う性質上、顧客の頭髪を全て含むものを撮影する。即ち頭部(頭髪を含む)から胸部までを収めた画像の撮影を行う。なお顧客は単色のガウンを着用し、さらに背景が単色であり一定の照明が施された撮影ルームで撮影する。そして次にステップＳ２で、デジタルカメラからＰＣに顔画像を転送し、ＰＣはその顔画像を読み込む。従って、このステップＳ２は顔画像入力部１に相当する。
【００１８】
次にステップＳ３でＰＣが画像解析を行い、先ず、毛染めやメイクの対象箇所を特定するための処理として、被写体の頭髪、顔、唇、目を、写真中から特定する作業を行う。ここで頭髪だが、被施術者の頭髪が既に毛染めされており、それが一定の時間が経過して頭髪が伸び、結果、毛染め部分と地毛の部分に分かれている場合がある。施術者が実際に毛染めを行う際には、まず頭髪色を単一に染め、後に改めて被施術者の希望の色に染色するという作業を行うのだが、この過程をシミュレーション上で再現するためには、頭髪全体のうち色の変わり目の部分を境として、頭髪の各部位を認識する必要がある。色の境目より毛先を頭髪の毛先、同じく色の境目より根元を頭髪の根元として認識する。
【００１９】
この作業は、施術者が各部位を手動で選択しても処理できるのだが、手動オペレーションでは時間がかかり被施術者を待たせてしまう事、また被施術者の前で顔の写真を触る事、等の理由により、被施術者に不快感を与えることになるため、ＰＣが以下の如くして自動認識する。
【００２０】
先ず、被施術者の画像から髪全体、毛先、根元、皮膚、唇の各々のパーツを判別するための手段として、図３（ａ）に示す如き元画像（実際はカラー）から、図３（ｂ）に示す如き白黒2値画像を作成する。これをマスク画像と呼ぶ。マスク画像のうち抽出対象箇所を白、抽出対象外箇所を黒で示す。
【００２１】
画像解析の全体の流れは、以下の手順の通りである。
１．前処理
２．背景抽出用マスクの作成（図４（ａ）参照）
３．髪全体抽出用一次マスクの作成（図４（ｂ）参照）
４．肌抽出用一次マスクの作成（図４（ｃ）参照）
５．唇抽出用マスクの作成（図４（ｄ）参照）
６．肌抽出用一次マスクから唇抽出用マスクを減算して肌抽出用二次マスクを生成（図４（ｅ）参照）
７．目抽出用マスクの作成（図５（ａ）参照）
８．髪全体抽出用一次マスクから目抽出用マスクを減算して髪全体抽出用マスクを生成（図５（ｂ）参照）
９．肌抽出用二次マスクから目抽出用マスクを減算して肌抽出用マスクを生成（図６（ａ）参照）
１０．髪全体抽出用マスクから毛先抽出用マスクと根元抽出用マスクとを作成（図６（ｂ），図６（ｃ）参照）
【００２２】
１．の前処理では、元画像に対してメディアンフィルタを実行する。メディアンフィルタとは、画像中の注目画素とその周辺画素をソートしその中央値を注目画素として取ることによってノイズを除去する方法である。次にアンシャープマスクを実行し輪郭部を強調する。アンシャープマスクとは画像中の輪郭部分のコントラストを強調することにより画像を鮮鋭化にする処理である。
【００２３】
２．の背景抽出用のマスクの作成では、元画像から背景を除去することを目的としたマスクを作成する。被施術者は専用の撮影ルームで撮影されており写真中の被施術者の背景はブルーバック(Cyan)である。まず対象画像をCMYK分解する。このうちCyanプレーンを２値化する。２値化処理に用いる閾値は、Cyanプレーンの濃度値の平均を用いる。この２値画像全体にラベリング処理を行う。ラベリング処理とは、連結している画素に同じパラメータを付加することで複数の領域をグループとして分類、認識する処理のことである。次いで図７に示すように、連結している画素数が１０００以下の領域を反転することにより雑音（ノイズ）を除去し、これにより背景抽出用のマスクが完成する。
【００２４】
３．髪全体抽出用一次マスクの作成では、まず元画像をグレースケール画像に変換する。グレースケール画像に対し、背景抽出用のマスクを反転したものを適用する。これにより元画像から被施術者のみを抽出できる。被施術者の画像を２値化する。２値化に用いる閾値はヒストグラムの谷の最小値を用いる。ただし注目画素の左右５画素（合計１１画素）の濃度値の最小、最大値を計算し、差が４０以上ある場合は、最小、最大値の平均値を局所的な閾値として使用する。この被施術者の２値画像のうち黒い部分のみラベリング処理を行い、画素数が５００以下の領域を切除することにより雑音を除去する。また上記被施術者の２値画像の白い部分のみラベリング処理を行い、画素数が８０００以下の領域を削除することにより、髪以外の不要部分(ガウンの影の部分など)と思われる箇所を除去する。この結果として、髪全体抽出用一次マスクが完成する。
【００２５】
４．肌抽出用一次マスクの作成では、元画像をSpecular-free（無反射）画像に変換する。Specular-free画像とは、画像中における光の鏡面反射（いわゆるハイライト）を取り除いた結果の映像のことである。Specular-free画像に変換することにより元画像における無彩色(黒〜グレー〜白)の部分が黒くなり、肌とガウンの分離が行いやすくなる。（Specular-free画像への変換式については、以下のURLで掲載されている方法のものを用いることができる（http://www.cvl.iis.u-tokyo.ac.jp/~miyazaki/tech/tech40.html）。このSpecular-free画像をグレースケール画像に変換する。このグレースケール画像に対し、背景抽出用のマスクを反転したものを適用する。これにより元画像から被施術者のみを抽出できる。
【００２６】
次に、被施術者の画像を２値化する。閾値は判別分析法により決定する。判別分析法とは、画像中のヒストグラムを、ある閾値ｔで二つのグループに分けたとき、グループ間の分散が最大となるｔmaxを閾値とするものである。被施術者の２値画像全体にラベリング処理を行い、画素数が１０００以下の領域を反転することにより雑音を除去する。この被施術者の２値画像より、髪全体抽出用一次マスクと重なっている部分を減算する。この結果として肌抽出用一次マスクが完成する。
【００２７】
５．唇抽出用マスクの作成では、元画像をＲ，Ｇ，Ｂのプレーンに分解する。ＲとＧプレーンについて、差の絶対値をとった画像を作る。これを|Ｒ−Ｇ|画像とする。次にＲとＢプレーンについて、差の絶対値をとった画像を作る。これを|Ｒ−Ｂ|画像とする。次にＧとＢプレーンについて、差の絶対値をとった画像を作る。これを|Ｇ−Ｂ|画像とする。そして|Ｒ−Ｇ|画像から|Ｇ−Ｂ|画像を減算し、この画像を閾値５０で２値化する。この２値画像の白い部分のみにラベリング処理を行い、最大の面積の画素以外を除去する。これにより唇抽出用マスクが完成する。
【００２８】
６．肌抽出用一次マスクからの唇抽出用マスクの減算では、この段階で出来上がっている肌抽出用一次マスクから唇抽出用マスクを減算することによってマスクを生成する。ここで完成したマスクを、肌抽出用二次マスクとする。
【００２９】
７．目抽出用マスクの作成では、元画像をSpecular-free画像に変換し、続いてグレースケール画像に変換する。このグレースケール画像を２値化する。閾値はヒストグラムの平均値を用いる。この２値画像を収縮、膨張、膨張、収縮の順番で処理して、領域の突起部や欠損部を除去する。膨張とは、ある注目画素の近傍に一つでも１（白）があれば注目画素を１にする処理である。収縮とは，ある注目画素の近傍に一つでも０があればその注目画素を０にする処理である。２値画像のうち白い部分のみラベリング処理を行い、次の条件に合う領域のみを抽出する。
・領域における重心位置が領域の縦半分より上
・画素数が１３００〜２０００
・円形度が０．２〜０．４
なお円形度とは、どれだけ円に近いかをあらわすパラメータのことであり、領域が円の場合は最大で１．０となる。以下の式で求めることができる。
円形度=（４π×画素数）／（周囲長×周囲長）
これにより目抽出用マスクが完成する。
【００３０】
８．髪全体抽出用一次マスクからの目抽出用マスクの減算では、この段階で出来上がっている髪全体抽出用一次マスクから目抽出用マスクを減算することによって作成する。この処理を行う理由は、髪が目にかかっている等の理由により髪全体抽出用一次マスクに対して目が含まれている可能性があり、これを除くためである。減算した後に、白い部分のみにラベリング処理を行い、画素数が５００以下の領域を反転することにより雑音を除去する。これにより髪全体マスクが完成する。
【００３１】
９．肌抽出用二次マスクからの目抽出用マスクの減算では、この段階で出来上がっている肌抽出用二次マスクから目抽出用マスクを減算することによって作成する。この処理によって肌抽出用二次マスクから目の領域を除去できる。減算した後に、白い部分のみにラベリング処理を行い画素数が５００以下の領域を反転することにより雑音を除去する。これにより肌抽出用マスクが完成する。
【００３２】
１０．髪全体抽出用マスクからの毛先抽出用マスクと根元抽出用マスクとの作成では、まず元画像をSpecular-free画像に変換し、続いてグレースケール画像に変換する。次いでこのグレースケール画像に髪全体抽出用マスクを適用し、被施術者の髪全体を抽出する。次いでこの被施術者の髪全体の画像を２値化する。閾値は、被施術者の髪全体の画素の平均値とする。この２値化した画像のうち、白い部分を毛先と考えて、白い部分のみを抽出し、これを毛先抽出用マスクとする。次に、２値化した画像のうち、黒い部分を根元と考えて、黒い部分のみを抽出し、これを反転する。これを根元抽出用マスクとする。従って、このステップＳ３は顔画像解析部２に相当する。
【００３３】
次に、ステップＳ４のカラーシミュレーションで、頭髪、頭髪の毛先、頭髪の根元、皮膚、唇のいずれかの部位に対し、毛染めまたはメイクアップのシミュレーションを行う。頭髪、頭髪の毛先、頭髪の根元に対しては、毛染めのシミュレーションを行うことができる。その方法については、指定の部位全体に対する毛染めの実行および、ＰＣに接続したマウスやタッチパネル等ポインティングデバイスによって指定された部位に対するペン書きによる毛染めの実行の二種類を行うことができる。また、皮膚、唇に対しては、メイクアップのシミュレーションを行うことができる。
【００３４】
色の指定は、以下のいずれかの方法によって行う。
・予め容易されたカラーパレットから色を指定する。
・モデルの写真等のサンプル写真を画面上に表示し、その画像内からシミュレーションに使いたい色を指定する。例えば頭髪をポインティングデバイスで指定し色を指定する。
・複数の色を混合して新たな色を作成し、これを指定色とする。
・色の明暗を調整して新たな色を作成し、これを指定色とする。
【００３５】
シミュレーション箇所の指定は、図８に示すように、元画像に対してマスクを重ね、マスクの白色部分と同じ箇所の元画像を取得する方法によって行う。例えば頭髪全体に対して毛染めのシミュレーションを行う場合は、髪全体抽出用マスクを元画像に対して適用し、被施術者の髪全体を抽出し、これに対してシミュレーションを行う。以降の説明では、シミュレーション箇所を抽出した画像を、対象画像と記す。
【００３６】
毛染めおよびメイクアップにおける着色方法は、以下の三種類に分類できる。
Ａ．頭髪の根元以外の部分における着色方法
Ｂ．頭髪の根元部分における着色方法
Ｃ．皮膚、唇に対する着色方法
【００３７】
Ａ．頭髪の根元以外の部分における着色方法
頭髪に対するシミュレーションにおいて最も重要なことは、被施術者が写っている写真における髪としての質感を崩さず、かつ現実的なカラーのシミュレートを行うことである。本方法を適用した結果、例えば写真の光量が極端に低いにも関わらず、ユーザー指定色がはるかに明るい色を指定した場合、ユーザー指定色は写真上で不自然に見えない程度に明るさを抑えた色合いに調整される。
【００３８】
対象画像の各ピクセルのＲＧＢ値と、ユーザー指定色のＲＧＢ値を取得し、YCrCbに変換する。YCrCbとは、明度Ｙ、青色の色差Ｃｒ、赤色の色差Ｃｂの情報のことである。対象画像のYCrCbのＹ値をY1とする。ユーザー指定色のYCrCbのＹ値をY2とする。まずY1の平均値aYを求める。次にY1とY2の差dYを算出する。dYは、対象画像のピクセルが指定色より明るい場合は正の値を示し、対象画像のピクセルが指定色よりも暗い場合は負の値を示す。
【００３９】
ここで、対象画像が頭髪である場合にY1の値が４０以下の場合だが、多くの場合、対象画像のピクセルが影(例えば髪の毛の凹凸によって生じた陰影等)に入っていることを意味する。この場合は、人間の目には、元の頭髪色がどのような色であっても、黒またはそれに近い色に見える。これに対応するため、Y1を４０−Y1として値を減少させ、dYを求める。
【００４０】
このdY値を、ユーザー指定色のＲＧＢに加算することにより変換色を算出するのだが、結果の明暗が明るすぎるか、暗すぎる場合は、シミュレーション結果画像がベタ塗り状の非現実的な画像となり実写としての質感を損なう。そこで質感を損なわない程度まで明るさの変化を補正するための補正値pYを求める。補正値pYは以下の方法で算出する。
【００４１】
先ずaYからY2を減じた値に０．６をかけ、これをaY1とする。aY1が−２０〜０より大きい場合（つまり対象画像の平均の明るさよりもユーザー指定色が明るい場合）、aYからY2を減じた値に０．１〜０．３をかけた値をpYとする。それ以外の場合は、aY1をそのままpYとする。
【００４２】
以上の方法で求めたdY、pYを、ユーザー指定色のＲ，Ｇ，Ｂに加算してシミュレーション色を求める。
ユーザー指定色Ｒ=Ｒ+ dY−pY
ユーザー指定色Ｇ=Ｇ+ dY−pY
ユーザー指定色Ｂ=Ｂ+ dY−pY
ここで求めたユーザー指定色ＲＧＢを、１次変換ＲＧＢとする。
【００４３】
ユーザー指定色の種類によっては鮮やかさが極端に大きく、シミュレーション箇所が不自然に際立つ可能性があるので、以下の方法で鮮やかさの補正を行う。対象画像の各ピクセルのＲＧＢ値と、１次変換ＲＧＢ値を、ＨＳＶに変換する。ＨＳＶとは、色相Ｈ、彩度Ｓ、明度Ｖで示される色情報である。対象画像のピクセルのＨＳＶをそれぞれH1、S1、V1とする。また１次変換ＲＧＢ値のＨＳＶをH2、S2、V2とする。次いでS2−S1の差を算出し、それに０．２をかける。これをdSとし、S2からdSを減算する。そしてH2、S2、V2をＲＧＢに戻す。この結果を２次変換ＲＧＢとする。
【００４４】
次に、対象画像の質感を増すための処理を行う。2次変換RGB値のR、G、Bの各プレーンに対して、対象画像の各ピクセルのYCrCbのＹ値をオーバーレイ合成する。このオーバーレイ合成により、Ｙ値が２次変換ＲＧＢ値よりも暗い場合は、結果としてより暗いＲＧＢ値を算出し、Ｙ値が２次変換ＲＧＢ値よりも明るい場合は、結果としてより明るいＲＧＢ値を算出する。ここで求められた値を、オーバーレイＲＧＢとする。
【００４５】
このオーバーレイＲＧＢに対して、２次変換ＲＧＢを６５%の割合でアルファブレンド合成する。具体的には以下の式である。
Ｒ=（オーバーレイＲ×（１−０．６５））+（２次変換Ｒ×０．６５）
Ｇ=（オーバーレイＧ×（１−０．６５））+（２次変換Ｇ×０．６５）
Ｂ=（オーバーレイＢ×（１−０．６５））+（２次変換Ｂ×０．６５）
ここで求められた結果を３次変換ＲＧＢとする。これが最終的なシミュレーション色になる。この３次変換ＲＧＢ値を対象画像に対して再配置する。
【００４６】
３次変換ＲＧＢ色を算出して再配置したことでシミュレーション色が完成したが、対象画像と非対象部分との境界部分は、シミュレーション色によっては色の差が目立ち、見る者に対して不自然な印象を与える場合がある。そこでこの境界部分に対して平均化およびアルファブレンド処理を行い、可能な限り色の差を解消する。
【００４７】
先ず、処理に用いたマスク画像に対してsobelフィルタをかける。sobelフィルタとは画像中における物体の輪郭を抽出するための処理である。これによってマスク画像は輪郭線のみの線画になる。次に、膨張処理を行い１０ピクセル程度の幅に膨張する。これにより１０ピクセル程度の幅を持つ輪郭のマスク画像ができあがる。次に、シミュレーション前の画像に対してこの輪郭のマスク画像を重ね、マスクの白色部分と同じ箇所の元画像を取得する。これを輪郭画像１とする。次に、３次変換ＲＧＢ値を適用した画像に対して上記輪郭のマスク画像を重ね、マスクの白色部分と同じ箇所の元画像を取得する。これを輪郭画像２とする。
【００４８】
輪郭画像２に平均化フィルタを直径９で実行する。平均化フィルタとは、ある注目画素を含む近傍の画素値を平均した値を注目画素に適用し、結果的に画像をぼかすものである。次に、平均化した輪郭画像２のＲＧＢの各値と、輪郭画像１のＲＧＢの各値をアルファブレンドによって合成する。ブレンディング率は５０%とする。ただしＲＧＢの各プレーンのうち最も大きな値を減ずることによって、目立つ色の突出を抑制する。この結果を、３次変換ＲＧＢ値を適用した画像に適用し、シミュレーション画像の完成とする。
【００４９】
Ｂ．頭髪の根元部分における着色方法
頭髪の根元以外の処理方法と基本的に同様であるが、１次変換における処理方法が異なる。頭髪の根元以外の処理方法では、明度がある程度の暗さの場合はシミュレーション結果を黒に近づける前提で処理を行っていたが、頭髪の根元部分に対しては、元々暗いものをある程度まで明るく着色する必要がある。よって１次変換における補正値pYの求め方を変更し、より明るい色を出すことを目的とする。
【００５０】
すなわち、対象画像の各ピクセルのＲＧＢ値とユーザー指定色のＲＧＢ値とを取得し、YCrCbに変換する。そして対象画像のYCrCbのＹ値をY1とし、ユーザー指定色のYCrCbのＹ値をY2とする。
【００５１】
次に、Y1の平均値aYを求め、Y1とY2の差dYを算出する。dYは、対象画像のピクセルが指定色より明るい場合は正の値を示し、対象画像のピクセルが指定色よりも暗い場合は負の値を示す。ここで、対象画像が頭髪である場合にY1の値が２０以下の場合、Y1を２０−Y1として値を減少させ、dYを求める。
【００５２】
次に、補正値pYを以下の方法で算出する。すなわち、aYからY2を減じた値に０．６をかけ、これをaY1とする。aY1が０より大きい場合（つまり対象画像の平均の明るさよりもユーザー指定色が暗い場合）は、pYを０とする。また、aY1が−２０〜０より大きい場合（つまり対象画像の平均の明るさよりもユーザー指定色が明るい場合）は、aYからY2を減じた値に０．３〜０．４かけた値をpYとする。
【００５３】
以上の方法で求めたdY、pYを以下のようにユーザー指定色Ｒ，Ｇ，Ｂに加算してシミュレーション色を求める。
ユーザー指定色Ｒ=Ｒ+ dY−pY
ユーザー指定色Ｇ=Ｇ+ dY−pY
ユーザー指定色Ｂ=Ｂ+ dY−pY
ここで求めたユーザー指定色ＲＧＢを、１次変換ＲＧＢとする。これ以降の処理は、頭髪の根元以外の処理方法と同様である。
【００５４】
Ｃ．皮膚、唇に対する着色方法
皮膚および唇については、対象画像のピクセルのＲＧＢ値に対して、ユーザー指定色のＲＧＢ値をアルファブレンドすることにより、自然な着色を行う。一度のオペレーションにおけるブレンディング率は１０〜２０%とし、オペレーションを繰り返すことでメイクの重ね塗りを表現することもできる。この率にした理由は、１〜２回という手数の少ないオペレーションでシミュレートできることおよび、現実のメイクアップに則した色合いを表現できることからである。従って、このステップＳ４は顔画像着色部３に相当する。
【００５５】
以上、図示例に基づき説明したが、この発明は上述の例に限定されるものでなく、例えば、さらに眉毛等も認識して着色するようにしても良い。
【００５６】
また、頭髪以外は元画像のままにしてヘアカラーシミュレーションのみ行うシステムとしても良く、このようにすれば処理を単純化することができる。
【産業上の利用可能性】
【００５７】
かくしてこの発明のヘアカラー・メイクアップシミュレーションシステムによれば、頭髪については顔および唇と事情が異なり、既に毛染めされてから一定期間が経過して被施術者の頭髪が伸び、根元部とそれ以外の頭髪部分である毛先とで色が異なっている場合が多いのに対し、施術者が実際に毛染めを行う際に行う、先ず頭髪全体を単一色に染めてからその後に改めて被施術者の希望の色に染色するという作業をシミュレーションすることができるので、施術者と被施術者との間でメイクアップ後のイメージを正確に共有することができる。
【図面の簡単な説明】
【００５８】
【図１】本発明のヘアカラー・メイクアップシミュレーションシステムの構成を機能ブロックで示すブロック線図である。
【図２】上記実施例のヘアカラー・メイクアップシミュレーションシステムが実行するシミュレーションの手順を示すフローチャートである。
【図３】（ａ）は元画像、（ｂ）は髪全体抽出用のマスク画像を示す説明図である。
【図４】（ａ）〜（ｅ）は、顔画像解析で作成するマスクを示す説明図である。
【図５】（ａ），（ｂ）は、顔画像解析で作成するマスクを示す説明図である。
【図６】（ａ）〜（ｃ）は、顔画像解析で作成するマスクを示す説明図である。
【図７】雑音（ノイズ）除去処理を示す説明図である。
【図８】カラーシミュレーション処理を示す説明図である。
【符号の説明】
【００５９】
１  顔画像入力部
２  顔画像解析部
３  顔画像着色部
【図１】
2007299113.tif 000003
【図２】
2007299113.tif 000004
【図４】
2007299113.tif 000005
【図５】
2007299113.tif 000006
【図６】
2007299113.tif 000007
【図７】
2007299113.tif 000008
【図３】
2007299113.tif 000009
【図８】
2007299113.tif 000010