画像処理装置、画像処理方法、および制御プログラム
【課題】様々な条件の顔画像に対して適切にメーキャップ処理を行うことができる画像処理装置および画像処理方法を実現する。
【解決手段】本発明に係る画像処理装置6は、顔画像の肌に、指定された色のメーキャップを合成する処理を行うものであって、顔画像の少なくとも一部の領域のピクセル毎に、顔画像における色の肌色度合いを特定する肌特定部22と、顔画像に、肌色度合いに応じた濃さでメーキャップを合成する合成部17とを備える。
【解決手段】本発明に係る画像処理装置6は、顔画像の肌に、指定された色のメーキャップを合成する処理を行うものであって、顔画像の少なくとも一部の領域のピクセル毎に、顔画像における色の肌色度合いを特定する肌特定部22と、顔画像に、肌色度合いに応じた濃さでメーキャップを合成する合成部17とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および画像処理方法に関し、特に顔画像の補正を行う画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
従来より、化粧品を利用者の顔につけたときにどのように見えるかをシミュレートするために、顔画像に仮想的にメーキャップを施す技術が知られている。
【0003】
特許文献1は、撮像した利用者の顔画像に頬紅を塗布する頬紅メーキャップシミュレーション技術を開示している。特許文献2は、撮像した利用者の顔画像にアイシャドウおよびアイラインを描く目元メーキャップシミュレーション技術を開示している。これらの技術によると、利用者の顔画像の色に頬紅またはアイシャドウ等の色を重ねて塗布するため、利用者の肌の色に応じたメーキャップを施すことができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−279228号公報(2000年10月10日公開)
【特許文献2】特開2000−285222号公報(2000年10月13日公開)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記従来の構成では、下記の問題を生じる。
【0006】
特許文献1および特許文献2に記載の技術は、メーキャップシミュレーションを行うために最適な顔画像を準備することを前提としている。具体的には、上記従来の技術は、目や頬の周辺が他の物体で隠れておらず、顔の全面に均一な光が当たっている、無表情の正面の顔画像を用いることを前提としている。そのため、例えば、化粧品販売店において、まず顧客(利用者)にカメラに向かって座ってもらい、前髪を上げる、眼鏡を外す等の準備をしてもらう。その後、均一に照射されるよう配置された照明の下で、販売員が顧客の最適な顔画像を撮像し、無表情な正面の顔画像をメーキャップシミュレータに入力するということが行われる。メーキャップシミュレーションに失敗した場合は、上記の過程を繰り返すといったことが行われる。そのため、利用者は、メーキャップシミュレーションを行うために化粧品販売店に赴く必要があり、さらに販売員の補助をも必要とする。そのため、利用者がメーキャップシミュレーションを気軽に試すことができない。また、特許文献1および特許文献2に記載の技術では、普段通りの状態、すなわち前髪を下ろした状態または眼鏡をかけた状態におけるメーキャップシミュレーションを行うことができない。
【0007】
また、例えば特許文献1および特許文献2に記載の技術を、デジタルカメラまたはカメラ付き携帯電話等に適用し、撮像された顔画像にメーキャップを施すソフトウェアを実現することもできる。また、パソコンまたはインターネット上のサーバにおいて動作するメーキャップシミュレータとして適用することも考えられる。この場合は、販売員にメーキャップシミュレーションを依頼することは必要ない。
【0008】
しかしながら、特許文献1および特許文献2に記載の技術では、メーキャップシミュレーションに最適な画像、すなわち、目や頬の周辺が他の物体で隠れておらず、顔の全面に均一な光が当たっている、無表情の正面の顔画像を、利用者自らで準備する必要がある。もし、デジタルカメラまたはカメラ付き携帯電話によって撮影したスナップ写真(例えば、早撮りの、自然な状態を撮った写真)を用いて、従来の技術によるメーキャップシミュレーションを行った場合、以下のような問題が生じる。
【0009】
第1に、スナップ写真には、向きが正面ではない顔、またはわざと歪んだ表情をした顔等、そもそもメーキャップシミュレーションを行うのが困難な顔画像が含まれていることが少なくない。そのような顔画像に対して、従来の技術によるメーキャップシミュレーションを行うと、意図通りの補正を行うことができず、不自然な結果を生じてしまう。
【0010】
第2に、スナップ写真に写った顔の向きが正面に近い場合であっても、眼鏡をかけている、または髪が目の付近にかかっている等、メーキャップすべき領域の一部または全部が他の物体で覆われていることはよくあることである。そのような顔画像に対して、従来の技術によるメーキャップシミュレーションを行うと、メーキャップすべき領域に重なった他の物体に対してメーキャップを施した結果が得られるという問題が生じる。
【0011】
また、メーキャップすべき領域付近に眼鏡または髪等がなかったとしても、従来の技術では、顔の特徴点または目の輪郭等を正しく抽出できなかった場合、目にアイシャドウが入り込む等、意図しない箇所にメーキャップを施した結果が得られるという問題が生じる。
【0012】
また、スナップ写真等においては、顔に均一に光が当たっていないことも少なくなく、顔の左右の一方の側が明るく、反対側が暗くなっていることもよくあることである。そのような顔画像に対して、従来の技術によるメーキャップシミュレーションを行うと、適用するメーキャップの色(化粧品の色)によっては、不自然に見える結果を生じる。例えば、従来の技術によってアイシャドウ(または頬紅)の色と肌の色とをエアブラシ処理等によって合成して得られた色(メーキャップ後の色)の左右の差は、元の左右の肌の色の差に対して不自然に見えることがある。この問題は、特に元の左右の肌の色の明るさの違いが一見分かりにくい場合に顕著である。
【0013】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、幅広い条件の顔画像に対して適切にメーキャップ処理を行うことができる画像処理装置および画像処理方法を実現することにある。
【課題を解決するための手段】
【0014】
本発明に係る画像処理装置は、人物画像の肌に、ある色の模様を着色する処理を行う画像処理装置であって、上記の課題を解決するために、上記人物画像の少なくとも一部の領域の箇所毎に、上記人物画像における色の肌色度合いを特定する肌特定部と、上記人物画像に、上記肌色度合いに応じた濃さで上記模様を着色する着色部とを備えることを特徴としている。
【0015】
本発明に係る画像処理方法は、人物画像の肌に、ある色の模様を着色する処理を行う画像処理方法であって、上記の課題を解決するために、上記人物画像の少なくとも一部の領域の箇所毎に、上記人物画像における色の肌色度合いを特定する肌特定ステップと、上記人物画像に、上記肌色度合いに応じた濃さで上記模様を着色する着色ステップとを含むことを特徴としている。
【0016】
上記の構成によれば、人物画像の少なくとも一部の領域の各箇所の肌色度合いを特定し、肌色度合いに応じた濃さで人物画像に模様を着色する。よって、肌であると考えられる箇所については模様を濃く着色し、肌ではないと考えられる箇所(例えば髪、眼鏡等)には薄く着色する、または着色しないようにすることができる。そのため、人物画像の肌に適切にメーキャップ等の模様を着色することができる。それゆえ、例えば利用者が、前髪を上げたり、眼鏡を外したり、照明を当てたりした画像を準備しなくとも、幅広い条件で撮られた画像を用いてメーキャップシミュレーションを行うことができる。
【0017】
また、上記画像処理装置は、上記人物画像の上記一部の領域の各箇所の上記肌色度合いを反映した重み分布を決定する重み分布決定部を備え、上記着色部は、上記重み分布の重みを用いて、上記人物画像の上記一部の領域の各箇所に上記模様の色を重ねることによって着色する構成であってもよい。
【0018】
上記の構成によれば、肌色度合いを反映した重みによって人物画像の元の色と模様の色とを合成する。そのため、肌であると考えられない箇所の重みを小さくすることにより、肌ではない箇所(例えば髪、眼鏡等)に模様の色を合成することを抑制することができる。
【0019】
また、上記画像処理装置は、上記人物画像の所定の部位の位置を検出する検出部と、検出された上記位置に基づき、上記所定の部位に着色することを抑制するマスクを生成するマスク部とを備え、上記重み分布決定部は、上記肌色度合いと上記マスクとを反映した重み分布を決定する構成であってもよい。
【0020】
上記の構成によれば、所定の部位にマスクを設定し、所定の部位を模様の色で着色することを防止することができる。よって、意図に反して人物画像の所定の部位に模様が入り込むことを防止することができる。
【0021】
また、上記画像処理装置は、上記人物画像の所定の部位の位置を検出する検出部と、検出された上記位置に基づき、上記人物画像の顔が、模様を着色する対象として適しているか否かを判定する適否判定部とを備え、上記人物画像の顔が、模様を着色する対象として適していると判定された場合に、上記着色部は、上記人物画像の顔に対して上記模様を着色する構成であってもよい。
【0022】
上記の構成によれば、人物画像の顔が、模様を着色する対象として適していると判定された場合に、模様を着色する処理を行うので、模様を着色する処理の失敗を防止することができる。
【0023】
また、上記適否判定部は、検出された上記位置に基づき、上記人物画像の顔の向きを特定し、上記人物画像の顔の向きが所定の範囲内にある場合、上記人物画像の顔が、模様を着色する対象として適していると判定してもよい。
【0024】
人物画像の顔の向きが、例えば正面ではなく横向きである場合、メーキャップ等の模様を当該顔に着色することが難しい。上記の構成によれば、人物画像の顔の向きが所定の範囲内にある場合、上記人物画像の顔が、模様を着色する対象として適していると判定するので、メーキャップ処理を行うことができる人物画像を適切に判定することができる。
【0025】
また、上記肌特定部は、上記人物画像の肌の色を代表する代表色と、上記人物画像の上記一部の領域の各箇所の色との間の色空間における距離に基づき、上記人物画像の上記一部の領域の各箇所について上記肌色度合いを特定してもよい。
【0026】
上記の構成によれば、肌の代表色との色空間における距離が近いか否か、すなわち、肌の代表色に近い色か否かによって、人物画像の上記一部の領域の各箇所の肌色度合いを特定することができる。よって、適切に肌であると考えられる箇所に模様を着色することができる。
【0027】
また、上記着色部は、上記人物画像の顔に、メーキャップとして上記模様を着色してもよい。
【0028】
上記の構成によれば、人物画像の顔の肌である箇所に、適切にメーキャップを施すことができる。
【0029】
本発明に係る画像処理装置は、人物画像の肌に、ある色の模様を着色する処理を行う画像処理装置であって、上記の課題を解決するために、上記人物画像の、肌である箇所を特定する肌特定部と、上記特定された肌である箇所に、上記模様を着色する着色部とを備えることを特徴としている。
【0030】
本発明に係る画像処理方法は、人物画像の肌に、ある色の模様を着色する処理を行う画像処理方法であって、上記の課題を解決するために、上記人物画像の、肌である箇所を特定する肌特定ステップと、上記特定された肌である箇所に、上記模様を着色する着色ステップとを含むことを特徴としている。
【0031】
上記の構成によれば、人物画像の肌である箇所を特定し、人物画像の肌である箇所にのみ模様を着色する。よって、そのため、人物画像の肌に適切にメーキャップ等の模様を着色することができる。
【0032】
なお、上記画像処理装置は、一部をコンピュータによって実現してもよく、この場合には、コンピュータを上記各部として動作させることにより上記画像処理装置をコンピュータにて実現させる制御プログラム、および上記制御プログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【0033】
以上のように、本発明によれば、人物画像の各箇所の肌色度合いを特定し、肌色度合いに応じた濃さで人物画像に模様を着色する。
【0034】
そのため、人物画像の肌に適切にメーキャップ等の模様を着色することができる。それゆえ、幅広い条件で撮られた画像を用いてメーキャップシミュレーションを行うことができる。
【図面の簡単な説明】
【0035】
【図1】本発明の一実施の形態に係るデジタルカメラの概略構成を示すブロック図である。
【図2】上瞼用アイラインの基本形状の一例を示す画像である。
【図3】下瞼用アイラインの基本形状の一例を示す画像である。
【図4】アイシャドウの基本形状の一例を示す画像である。
【図5】頬紅の基本形状の一例を示す画像である。
【図6】形状の調整を行った後のメーキャップ形状を示す画像である。
【図7】上記デジタルカメラが備える画像処理装置におけるメーキャップ処理の流れを示すフローチャートである。
【図8】目のメーキャップ処理に使用する重み分布を算出する処理の詳細な流れを示すフローチャートである。
【図9】顔画像について求めた肌色度合いDsの例を示す画像である。
【図10】図9に対応する、目のマスクの例を示す画像である。
【図11】図9に対応する、肌色度合いDsとマスクとの積を示す画像である。
【図12】図6に対応する、重み分布を示す画像である。
【図13】頬のメーキャップ処理に使用する重み分布を算出する処理の詳細な流れを示すフローチャートである。
【図14】補正されたメーキャップ色と顔画像の対応するピクセル値との色空間における関係を示す図である。
【発明を実施するための形態】
【0036】
本実施の形態では、主に、デジタルカメラに搭載され、撮像された画像に含まれる顔画像に対してメーキャップ処理を行う画像処理装置について説明するが、本発明はこれに限定されるものではない。以下、本実施の形態について、図1〜図14を参照して詳細に説明する。
【0037】
<デジタルカメラの構成>
図1は、本実施の形態に係るデジタルカメラ1の概略構成を示すブロック図である。デジタルカメラ1は、指示入力装置2、撮像装置3、画像記憶装置4、表示装置5、および画像処理装置6を備える。
【0038】
指示入力装置2は、ボタン、キーまたはタッチパネル等の入力装置を備え、利用者から撮像の指示を受け付け、撮像装置3に撮像の指示を出力する。また、指示入力装置2は、利用者からメーキャップ処理の指示を受け付け、画像処理装置6にメーキャップ処理の指示を出力する。
【0039】
撮像装置3は、例えば、CCD(charge coupled device)またはCMOS(complementary metal oxide semiconductor)撮像素子等の撮像素子を備える。撮像装置3は、撮像の指示に応じて撮像し、撮像した画像(画像データ)を画像記憶装置4に出力する。
【0040】
画像記憶装置4は、各種の情報を記憶するものであり、例えばHDD(Hard Disk Drive)、またはフラッシュメモリ等の記憶デバイスを備える。画像記憶装置4は、撮像装置3から受け取った画像を記憶して保存しておく。
【0041】
表示装置5は、ディスプレイを備え、入力された画像を表示して利用者に提示する。また、表示装置5は、画像処理装置6からメーキャップ処理済みの画像を受け取り、メーキャップ処理済みの画像を表示する。
【0042】
<画像処理装置の構成>
画像処理装置6は、画像取得部11、顔検出部12、特徴検出部(検出部)13、適否判定部14、メーキャップ形状決定部15、色補正部16、合成部(着色部)17、および表示制御部18を備える。
【0043】
画像取得部11は、指示入力装置2からメーキャップ処理の指示を受け取る。メーキャップ処理の指示は、処理対象となる画像を示す情報、および、どのようなメーキャップ(アイシャドウまたは頬紅、その形状、および色等)を行うかを示す情報を含む。画像取得部11は、受け取ったメーキャップ処理の指示に基づき、画像記憶装置4から処理対象の画像を取得する。なお、画像取得部11は、撮像装置3から撮像された画像を直接受け取ってもよい。画像取得部11は、取得した処理対象の画像を顔検出部12に出力する。また、画像取得部11は、メーキャップ処理の指示をメーキャップ形状決定部15に出力する。
【0044】
顔検出部12は、画像取得部11から受け取った画像の中に含まれる顔画像を検出する。顔検出部12は、画像に含まれる顔画像を検出すると、顔画像の位置を特定する。顔画像の位置は、顔画像の所定の点の座標を示してもよいし、顔画像の領域を示してもよい。顔検出部12は、処理対象の画像と顔画像の位置とを、特徴検出部13に出力する。なお、顔検出部12は、処理対象の画像から複数の顔画像を検出してもよい。複数の顔画像を検出した場合、顔検出部12は、各顔画像の位置を特定し、複数の顔画像の位置を特徴検出部13に出力してもよい。
【0045】
特徴検出部13は、顔検出部12から受け取った処理対象の画像および顔画像の位置から、該顔画像の顔の各特徴の位置を検出する。具体的には、特徴検出部13は、例えば目(目頭、目尻、上瞼輪郭点、下瞼輪郭点等)、口(口端点、口の中心点等)、および鼻(鼻の頂点等)等の顔の器官の特徴、および顔の輪郭等の特徴(特徴点)を検出し、それらの位置を特定する。特徴の位置は、特徴点の座標を示してもよいし、特徴を含む領域を示してもよい。各特徴の検出は、公知の技術を用いて行うことができる。特徴検出部13は、処理対象の画像と顔画像の位置と検出した顔の特徴の位置とを適否判定部14に出力する。なお、特徴検出部13は、複数の顔画像の特徴の位置を特定し、複数の顔画像の特徴の位置を適否判定部14に出力してもよい。
【0046】
適否判定部14は、特徴検出部13から受け取った処理対象の画像、顔画像の位置、および顔の特徴の位置から、該顔画像がメーキャップ処理を行うのに適しているか否かを判定する。例えば、適否判定部14は、横向きの顔画像および写りが小さすぎる顔画像等を、不適として判定する。具体的な判定方法は後述する。なお、処理対象の画像に複数の顔画像が含まれている場合、適否判定部14は、各顔画像についてメーキャップ処理を行うことの適否を判定してもよいし、メーキャップ処理を行うのにより適した所定数(例えば1つ)の顔画像を特定してもよい。適否判定部14は、処理対象の画像と、処理対象として適切と判定した顔画像の位置と、その顔の特徴の位置とをメーキャップ形状決定部15に出力する。
【0047】
メーキャップ形状決定部15は、適否判定部14から受け取った処理対象の画像、処理対象の顔画像の位置、およびその顔の特徴の位置と、画像取得部11から受け取ったメーキャップ処理の指示とに基づき、処理対象の顔画像に対して行うメーキャップ(模様)の形状およびその濃淡の分布を決定する。本実施の形態では、利用者によって指定されたメーキャップ色を、算出した重み分布に応じて、元の顔画像の肌の色と合成する。該重み分布はピクセル毎のメーキャップの濃淡の分布を示す。メーキャップ形状決定部15は、メーキャップの形状と濃淡の分布として、色の合成に用いる重み分布を特定する。
【0048】
メーキャップ形状決定部15は、形状調整部21、肌特定部22、マスク部23、および重み分布決定部24を備える。
【0049】
形状調整部21は、メーキャップ処理の指示に基づき、メーキャップの種類(アイラインまたは頬紅等)と、その基本形状とを決定する。形状調整部21は、あらかじめ用意された複数のメーキャップ基本形状のうち、メーキャップ処理の指示に基づいて、メーキャップ処理に使用するメーキャップ基本形状を特定する。なお、形状調整部21は、メーキャップ処理のたびにメーキャップ基本形状を所定の関数を用いて計算により算出してもよい。また、メーキャップ基本形状のテンプレートを利用者の指示によって形状および濃度分布等を変化させて用いてもよい。
【0050】
図2は、上瞼用アイラインの基本形状の一例を示す画像である。図3は、下瞼用アイラインの基本形状の一例を示す画像である。図4は、アイシャドウの基本形状の一例を示す画像である。図5は、頬紅の基本形状の一例を示す画像である。図2〜5において、明るい(白い)箇所はメーキャップの色が濃いことを示し、暗い(黒い)箇所はメーキャップの色が薄いことを示す。すなわち、メーキャップの基本形状は、メーキャップの形状および濃淡を表す。例えば、図2に示す上瞼用アイラインの基本形状は、各ピクセル毎に0〜1の値を持ち、値が大きいピクセルほど明るく表されており、各ピクセルの値は合成の際の重みに対応する。なお、図2〜5に示すメーキャップの基本形状は右目用または右頬用のものであり、左右反転すれば左目用または右頬用の基本形状が得られる。
【0051】
形状調整部21は、使用するメーキャップ基本形状を、顔画像の特徴に応じて変形する。例えば、形状調整部21は、顔画像の大きさまたは目等の大きさに合わせて使用するメーキャップ基本形状の大きさを調整(スケーリング)する。また、形状調整部21は、検出した目の輪郭の形状に応じて、例えば検出した上瞼の輪郭に図2に示す上瞼用アイラインの下側の輪郭(白い箇所)が沿うように、メーキャップ形状を調整する。このように、形状調整部21は、各特徴に応じてメーキャップ形状を調整する。図6は、形状の調整を行った後のメーキャップ形状を示す画像である。図2〜5と同様に、図6において、明るい(白い)箇所はメーキャップの色が濃いことを示し、暗い(黒い)箇所はメーキャップの色が薄いことを示す。形状調整部21は、大きさおよび形状を調整したメーキャップ形状を重み分布決定部24に出力する。
【0052】
肌特定部22は、顔画像の中の肌である箇所を特定する。肌特定部22は、ピクセルの色が肌の色であると考えられるピクセルを、肌であると判定する。具体的には、肌特定部22は、処理対象である顔画像の各ピクセルについて、肌色度合いを特定する。本実施の形態では、肌色度合いの小さい箇所、すなわち、肌ではないと考えられる箇所については、重みを小さくしメーキャップの色を薄く重ねる、またはほとんどメーキャップの色を合成しない。肌特定部22は、処理対象の顔画像の各ピクセルの肌色度合いを重み分布決定部24に出力する。
【0053】
マスク部23は、処理対象の顔画像およびその特徴の位置から、目の部分(所定の部位)のマスクを生成する。ここで、まつげ等の影響により、特徴検出部13によって検出される目の輪郭の位置には誤差がある可能性がある。アイライン等のメーキャップ形状は、形状調整部21によって目の輪郭に応じて調整されるが、検出された目の輪郭の位置が本来の位置からずれている場合、目の中にアイライン等が入り込むことがある。本実施の形態では、顔画像の目の部分にマスクを適用することにより、アイライン等が誤って目の中に入り込むことを防止する。なお、マスク部23は、形状調整部21が利用する目の輪郭とは異なるアルゴリズムによって得た目の輪郭に関する情報を用いて、マスクを生成する。そうすることによって、検出誤差により形状調整部21で発生する不具合(アイライン等が目の中に入り込むこと)を防止することができる。本実施の形態では、生成されたマスクは、各ピクセルについて0〜1の値を有する。ここで、マスクの値が1の箇所はマスクしないことを、値が小さい箇所ほど強くマスクする(メーキャップの色を合成させない)ことを意味する。なお、鼻や口等、目以外の箇所のマスクを生成してもよい。マスク部23は、生成したマスクを重み分布決定部24に出力する。
【0054】
重み分布決定部24は、調整されたメーキャップ形状、顔画像の肌色度合い、およびマスクに基づいて、色の合成(メーキャップ色と肌の色との合成)に用いる重み分布を決定する。具体的には、重み分布決定部24は、顔画像に対応する各ピクセルについて、メーキャップ形状と肌色度合いとマスクとの積を算出し、この積を各ピクセルにおける重みとする。ここでは、色の合成のための重み分布は、重みの値が小さい箇所ほどメーキャップ色を薄く合成し、重みの値が大きい箇所ほどメーキャップ色を濃く合成するということを示す。重み分布決定部24は、決定した重み分布を合成部17に出力する。また、重み分布決定部24は、処理対象の画像、処理対象の顔画像の位置、およびその顔の特徴の位置を色補正部16に出力する。
【0055】
色補正部16は、処理対象の画像、処理対象の顔画像の位置、およびその顔の特徴の位置に基づいて、処理対象の顔画像の肌の色の代表色を特定する。顔領域の一部の色、例えば、顔領域の中心部分(鼻付近)の平均色、中央値、または最頻値の色等を肌の色の代表色としてもよい。また、顔領域全体の平均色等を肌の色の代表色としてもよい。また、顔のある領域の平均色を求め、該領域において該平均色と色相が異なる(CbCr平面における該平均色との角度が閾値より大きい)ピクセル、および/または、該領域において該平均色との色の差が大きい(YCbCr色空間における該平均色との距離が閾値より大きい)ピクセルを除外して、残りのピクセルから算出した平均色を、代表色としてもよい。色補正部16は、顔画像の各ピクセルについて、各ピクセルの色と肌の色の代表色とを用いて、利用者が指定したメーキャップ色を補正する。また、色補正部16は、左右のメーキャップ領域の代表色の差異に応じて、合成後の左右のメーキャップ領域の色の差が小さくなるように、左右のメーキャップ領域毎にメーキャップ色を補正する。色補正部16は、ピクセル毎に補正されたメーキャップ色を、合成部17に出力する。また、色補正部16は、処理対象の画像、および処理対象の顔画像の位置を合成部17に出力する。
【0056】
合成部17は、処理対象の顔画像と、補正されたメーキャップ色とを、重み分布に応じて合成し、メーキャップ処理を施した顔画像を生成する。合成部17は、メーキャップ処理済みの画像を表示制御部18に出力する。なお、合成部17は、メーキャップ処理済みの画像を画像記憶装置4に出力して記憶させてもよい。
【0057】
表示制御部18は、メーキャップ処理済みの画像を表示装置5に出力し、メーキャップ処理済みの画像を表示するよう表示装置5を制御する。
【0058】
<画像処理フロー>
以下に、デジタルカメラ1におけるメーキャップ処理の流れについて説明する。
【0059】
利用者は、指示入力装置2を介して、例えば撮像されて画像記憶装置4に記憶されている画像の中から、処理対象の画像を選択する。また、利用者は、指示入力装置2を介して、処理対象の画像に施すメーキャップの種類(アイライン、アイシャドウ、および/または頬紅等)と、各メーキャップの形状と、各メーキャップ色とを、複数の候補の中から選択する。指示入力装置2は、メーキャップの種類、メーキャップの形状、およびメーキャップ色を示す情報を含むメーキャップ処理の指示を、画像処理装置6の画像取得部11に出力する。
【0060】
図7は、画像処理装置6におけるメーキャップ処理の流れを示すフローチャートである。
【0061】
画像取得部(指示受領部)11は、指示入力装置2からのメーキャップ処理の指示を受け取ると、画像記憶装置4から処理対象となる画像を取得する(S1)。
【0062】
顔検出部12は、処理対象となる画像に含まれる顔画像を検出し、その顔画像の位置を特定する(S2)。顔検出部12は、処理対象の画像に含まれる複数の顔画像を検出してもよい。
【0063】
特徴検出部13は、検出された顔画像に含まれる、顔の特徴の位置を検出する(S3)。特徴検出部13は、例えば目(目頭、目尻、上瞼輪郭点、下瞼輪郭点等)、口(口端点、口の中心点等)、および鼻(鼻の頂点等)等の顔の器官の特徴(特徴点)を検出し、それらの位置を特定する。なお、特徴検出部13は、顔の輪郭等の特徴を検出してもよい。
【0064】
適否判定部14は、これらの検出された顔の特徴の位置に基づき、該顔画像がメーキャップ処理を行うのに適しているか否かを判定する(S4)。例えば、適否判定部14は、複数の顔画像サンプルから目、鼻、口等の顔の器官の各特徴の周辺の輝度分布の特徴をあらかじめ学習して作成した顔モデルを記憶しておく。適否判定部14は、顔モデルと、検出された顔画像とを比較することにより、顔画像の検出された特徴の信頼度および顔の向きを特定する。
【0065】
例えば検出された特徴の信頼度が、所定の閾値よりも低い場合、顔の特徴を正確に検出していない可能性が高いので、適切にメーキャップ処理を行うことができない可能性がある。そのため、検出された特徴の信頼度が、所定の閾値よりも低い場合、適否判定部14は、該顔画像はメーキャップ処理を行うのに適していないと判定する。
【0066】
また、検出された顔の向きが正面に対して大きくずれている場合(顔の向きが所定の範囲内にない場合、例えば顔の向きが正面に対して所定の角度より大きい場合)、適切にメーキャップ処理を行うことができない可能性があるため、適否判定部14は、該顔画像はメーキャップ処理を行うのに適していないと判定する。
【0067】
また、顔画像が小さすぎる場合(例えば検出した左右の目(瞳)の中心点の間の距離が所定の閾値より小さい場合)、適切にメーキャップ処理を行うことができない可能性があるため、適否判定部14は、該顔画像はメーキャップ処理を行うのに適していないと判定する。
【0068】
また、検出した目の輪郭から、目が閉じられていると判断できる場合、適切にメーキャップ処理を行うことができない可能性があるため、適否判定部14は、該顔画像はメーキャップ処理を行うのに適していないと判定する。
【0069】
また、照明の反射により、肌の色が白くなっている箇所にメーキャップ処理を施すと、メーキャップ箇所が不自然に浮いて見えることがある。よって、顔画像の肌の色の代表色の輝度が所定の閾値よりも高い場合、適否判定部14は、該顔画像はメーキャップ処理を行うのに適していないと判定してもよい。
【0070】
また、木漏れ日が顔に当たっていること等により、頬または瞼の領域の輝度分布がまだらになっていて、その輝度差が極端に大きい場合、メーキャップ処理を施すと不自然に見えることがある。よって、顔領域の肌の色の輝度の分散が所定の閾値より大きい場合、適否判定部14は、該顔画像はメーキャップ処理を行うのに適していないと判定してもよい。
【0071】
また、肌の色に近い物体が顔画像に重なっている場合、特徴検出部13は、その物体を顔の特徴点として誤検出することがある。検出された特徴点の位置が、他の特徴点(目、鼻、口等)に比べて不自然な位置にある場合、その検出された特徴点は顔に重なる他の物体のものであると判定することができる。そのような特徴点が検出された場合、メーキャップ処理を施すと顔に重なる他の物体にまでメーキャップを合成する可能性があるので、適否判定部14は、該顔画像はメーキャップ処理を行うのに適していないと判定してもよい。
【0072】
なお、メーキャップ処理を行うことができるか否かの判定において、メーキャップの種類(アイライン、アイシャドウ、頬紅等)によって判定基準が異なっていてもよい。
【0073】
メーキャップ処理を行うのに適していないと判定された場合(S4でNo)、該顔画像に対する処理は終了する。
【0074】
メーキャップ処理を行うのに適していると判定された場合(S4でYes)、次に形状調整部21は、処理対象の顔画像の肌の色の情報を取得する(S5)。肌の色の情報として、処理対象の顔画像から、肌全体の平均色と、右瞼、左瞼、右頬、左頬、および鼻等の各領域の平均色とを求める。なお、平均ではなく、各領域の代表となる色を求めてもよい。
【0075】
形状調整部21は、指示されたメーキャップの種類に応じて、処理対象を目または頬に設定する(S6)。なお、複数のメーキャップを施すことが指示されている場合、未処理のメーキャップの種類に応じて、処理対象の部位を設定する。
【0076】
形状調整部21は、左右の器官のいずれかを処理対象として設定する(S7)。例えば、形状調整部21は、処理対象を右器官(右目または右頬)に設定する。既に右器官に対するメーキャップ処理が完了している場合、処理対象を左器官(左目または左頬)に設定する。
【0077】
処理対象が目である場合(S8でYes)、目のメーキャップ処理(アイライン、アイシャドウ等)に使用する重み分布を算出する(S9)。
【0078】
処理対象が頬である場合(S8でNo)、頬のメーキャップ処理(頬紅等)に使用する重み分布を算出する(S10)。
【0079】
図8は、目のメーキャップ処理に使用する重み分布を算出する処理の詳細な流れを示すフローチャートである。
【0080】
形状調整部21は、メーキャップ処理に使用するメーキャップの基本形状を決定する(S21)。例えば、アイシャドウの基本形状は、図4に示すように目の輪郭に近い下側の重みが大きく(アイシャドウの色が濃く)、そこから離れるにしたがって徐々に重みが小さくなる(アイシャドウの色が薄くなる)重み分布を有する。また、形状調整部21は、メーキャップ処理の指示によって、アイシャドウ等の基本形状を変形したり、重みの分布を調整してもよい。形状調整部21は、メーキャップ基本形状を所定の関数を用いて計算により算出してもよく、あらかじめ用意されたメーキャップ基本形状のテンプレートから使用するメーキャップ基本形状を選択してもよい。
【0081】
形状調整部21は、使用するメーキャップ基本形状を、顔画像の目の形状に適合するよう、検出された目の特徴に応じて変形する(S22)。まず、形状調整部21は、検出された目の特徴(目頭、目尻、目の輪郭等)の情報を用いて、使用するメーキャップ基本形状の大きさを、顔画像の目の大きさに適した大きさに変更する。また、上瞼用アイラインであれば、検出した上瞼輪郭のいくつかの代表点と、大きさが調整されたメーキャップ基本形状の対応する点とがそれぞれ一致するように、形状調整部21は、大きさが調整されたメーキャップ基本形状を変形し、顔画像における配置を決定する。メーキャップ基本形状の、代表点に対応する点以外の箇所は、線形補間を用いて変形させてもよいし、3次Bスプライン関数等の高次関数補間を用いて変形させてもよい。大きさおよび形状が調整されたメーキャップ形状は、メーキャップ色を合成する際の重みとして用いられる。
【0082】
肌特定部22は、処理対象の顔画像の各ピクセルについて、肌色度合いを特定する(S23)。肌特定部22は、処理対象の顔画像の、メーキャップ処理を行う周辺を含む一部の領域についてのみ肌色度合いを特定してもよい。肌色度合いは、処理対象の顔画像の肌の色を代表する代表色と各ピクセルの色との色空間における距離を用いて算出する。肌の代表色として、顔領域全体の肌の平均色を用いてもよいが、陰影がある場合には顔領域全体から肌の色を安定的に取得するのは難しい。そのため、肌の色を安定的に取得するために、肌の代表色として鼻の周辺の平均色等を用いてもよい。肌色度合いは、ピクセルの色が肌の色の代表色と同じ(距離0)の場合に値が最大になり、色空間における距離が大きくなるほど値が小さくなるようにする。
【0083】
例えば、肌特定部22は、鼻付近の平均色を取得し、該顔画像の肌の代表色(Yc,Cbc,Crc)とする。ここでは色空間としてYCbCr色空間を用いているが、これに限らず任意の色空間を用いることができ、例えばL*a*b*色空間を用いてもよい。肌特定部22は、顔画像の肌の代表色(Yc,Cbc,Crc)を肌の色の中心とし、色空間内における顔画像の各ピクセル値(Y,Cb,Cr)と顔画像の肌の代表色(Yc,Cbc,Crc)との距離を求める。ここでは、距離が0であれば値が1、距離が無限大のときに値が0となるように、各ピクセルについて肌色度合いDsを求める。例えば、肌色度合いDsを求める式は、以下のようにおくことができる。
【0084】
【数1】
【0085】
ここで、σは肌色の範囲を決める定数である。expを用いた肌色度合いDsを求める上式は一例であり、距離について単調減少をする指数関数、またはシグモイド型の関数等を用いてもよい。肌色度合いDsは、値が0〜1になり、値が大きい箇所は肌の代表色に近い色の箇所である。なお、肌色度合いDsを、複数のピクセルを含むブロック毎に、そのブロックの平均色から算出してもよい。また、肌特定部22は、色空間における上記距離と閾値とを比較することで、各ピクセルが肌であるか否かを特定し、肌ではないと特定した肌色度合いの値を0として、肌ではない箇所にメーキャップ色を塗布させないようにしてもよい。
【0086】
図9は、顔画像について求めた肌色度合いDsの例を示す画像である。図9において、明るい(白い)箇所は肌色度合いDsの値が大きい箇所を示し、暗い(黒い)箇所は肌色度合いDsの値が小さい箇所を示す。また、図9では、右目の周辺の肌色度合いDsを示している。肌色度合いDsは、メーキャップ色を合成する際の重みとして用いられるので、肌色度合いDsの値が大きく肌であると考えられる箇所(明るい箇所)では、メーキャップ色が濃く重ねられる。逆に、肌色度合いDsの値が小さく肌ではないと考えられる箇所(暗い箇所)では、メーキャップ色は薄く重ねられる、またはほとんど重ねられない。そのため、図9からも分かるように、肌色度合いの低い瞳および眉等には、メーキャップ色は合成されない。また、眼鏡等をかけている場合、眼鏡にメーキャップ色を合成することを防ぐことができる。また、髪が目の近くにかかっている場合、髪にメーキャップ色を合成することを防ぐことができる。
【0087】
しかしながら、色の差では、白目の部分は白っぽい肌との区別がつけにくく、メーキャップ形状が正確に瞼の輪郭にフィットしていない場合、白目の部分にメーキャップ色が入り込む可能性がある。そのため、本実施の形態では、次に目をマスクする処理を行う。
【0088】
マスク部23は、目の部分のマスクを生成する(S24)。具体的には、目頭点と目尻点とを結ぶ線分を長軸とし、上瞼側の目の輪郭の一点、目頭点、および目尻点を通る楕円を求め、該楕円の上側の弧を上瞼側のマスクの境界線とする。また同様に、目頭点と目尻点とを結ぶ線分を長軸とし、下瞼側の目の輪郭の一点、目頭点、および目尻点を通る楕円を求め、該楕円の下側の弧を下瞼側のマスクの境界線とする。マスクの上下の境界線に囲まれた内部をマスク領域とする。このマスク領域は、瞼の輪郭を楕円と仮定して求めたものであるので、マスク領域を完全にマスクすると、マスク領域が顔画像の目からはみ出ていたときに瞼の境界付近にメーキャップ処理が施されないという不都合が起こる。そのため、マスク領域の端の方では弱いマスクになるようにする。マスク部23は、目尻点と目頭点の中点(マスク領域の中心)におけるマスク値が0、マスク領域の境界線上のマスク値が1になるように、かつ、ガウス分布にしたがってマスク領域の中心から離れるほどマスク値が大きくなるように、マスク領域内の各ピクセルのマスク値を設定する。なお、ガウス分布ではなく、マスク値を線形に変化させてもよいし、他の関数またはテーブルを用いてマスク値を変化させてもよい。また、マスクは楕円ではなく、他の形状であってもよい。
【0089】
図10は、図9に対応する、目のマスクの例を示す画像である。図10において、明るい(白い)箇所はマスク値が大きい箇所を示し、暗い(黒い)箇所はマスク値が小さい箇所を示す。マスク値は、メーキャップ色を合成する際の重みとして用いられるので、マスク値が小さい箇所(暗い箇所)は強くマスクされ、メーキャップ色はほとんど合成されない。逆にマスク値が大きい箇所(明るい箇所)ではマスクは弱くなり、メーキャップ色はマスクされずに合成される。
【0090】
重み決定部24は、重み分布を表す各要素、すなわち、大きさおよび形状が調整されたメーキャップ形状と、肌色度合いDsと、マスクとを合成し、色の合成に用いる重み分布を求める(S25)。具体的には、重み決定部24は、重み分布として、各ピクセルについて、大きさおよび形状が調整されたメーキャップ形状と、肌色度合いDsと、マスクとの積を求める。
【0091】
図11は、図9に対応する、肌色度合いDsとマスクとの積を示す画像である。図9と比べると、マスクによって、目の部分がマスクされているのが分かる。なお、メーキャップ色は、図11において明るく示されているピクセルについて、より濃く重ねられる。なお、重み決定部24は、肌色度合いDsとマスクとの積の値を、所定の閾値(例えば0.5)と比較することにより、各ピクセルが肌であるか否かを判定してもよい。そして、例えば、肌であると判定されたピクセルの値を1、肌ではないと判定されたピクセルの値を0として重みを2値化してもよい。または、積が所定の閾値より小さいピクセルのみ、重みを0としてもよい。
【0092】
図12は、図6に対応する、重み分布を示す画像である。重み分布は、調整されたメーキャップ形状と肌色度合いDsとマスクとの積であり、図12は、図6に示す重みと図11に示す重みとを各ピクセルについて積をとった重み分布を示す。図12において、明るい(白い)箇所は重みが大きい箇所を示し、暗い(黒い)箇所は重みが小さい箇所を示す。図12に示すものが最終的な重みであり、明るい(白い)箇所はメーキャップ色が濃く塗られる。以上で目のメーキャップ処理に使用する重み分布の算出処理が終了する。
【0093】
図13は、頬のメーキャップ処理に使用する重み分布を算出する処理の詳細な流れを示すフローチャートである。頬の場合は、目のマスク処理を必要としない点が異なるが、他は目の場合と同様の処理を行うので簡単に説明する。
【0094】
形状調整部21は、メーキャップ処理に使用するメーキャップの基本形状を決定する(S31)。例えば、頬紅の基本形状は、図5に示すように頬紅の塗布領域の中心付近の重みが最も大きく(頬紅の色が濃く)、中心から離れるにつれて徐々に重みが小さくなる(頬紅の色が薄くなる)重み分布を有する。
【0095】
形状調整部21は、使用するメーキャップ基本形状を、顔画像の頬の形状に適合するよう、検出された目、口、および鼻の特徴に応じて変形する(S32)。まず、形状調整部21は、検出された目、口、および鼻等の特徴の位置関係から、使用するメーキャップ基本形状の大きさを、顔画像の頬の大きさに適した大きさに変更する。また、形状調整部21は、目、口、および鼻等の特徴の位置関係から頬のいくつかの代表点の位置を推定する。該代表点と、大きさが調整されたメーキャップ基本形状の対応する点とがそれぞれ一致するように、形状調整部21は、大きさが調整されたメーキャップ基本形状を変形する。
【0096】
肌特定部22は、処理対象の顔画像の各ピクセルについて、肌色度合いDsを特定する(S33)。この処理は目のメーキャップ処理の場合と同じである。
【0097】
重み決定部24は、重み分布を表す各要素、すなわち、大きさおよび形状が調整されたメーキャップ形状と、肌色度合いDsとを合成し、色の合成に用いる重み分布を求める(S34)。具体的には、重み決定部24は、重み分布として、各ピクセルについて、大きさおよび形状が調整されたメーキャップ形状と、肌色度合いDsとの積を求める。以上で頬のメーキャップ処理に使用する重み分布の算出処理が終了する。
【0098】
図7のフローに戻り、S9またはS10の後、色補正部16は、利用者が指定したメーキャップ色を補正して、合成に用いるピクセル毎に補正されたメーキャップ色を求める(S11)。色補正部16は、瞼領域(または頬領域)の各ピクセルの色の差に基づく補正と、左右の瞼領域(または頬領域)の明るさ(輝度)の差に基づく補正とを行う。
【0099】
具体的には、まず、色補正部16は、メーキャップを施す領域の肌の色の代表色(Yo,Cbo,Cro)を取得する。肌の色の代表色は、該領域の平均色等であってもよい。また、顔領域全体の肌の色の平均色を代表色として用いてもよい。なお、ここでは色空間としてYCbCr色空間を用いるがこれに限らない。色補正部16は、利用者が指定したメーキャップ色(Ys,Cbs,Crs)と肌の色の代表色(Yo,Cbo,Cro)とから、θおよびrを求める。ここで、θは、CbCr平面においてベクトル(Cbs,Crs)とベクトル(Cbo,Cro)とがなす角である。また、r=Ys/Yoである。θは、メーキャップ色と肌の色の代表色との色味または色相の差と言える。また、rは、メーキャップ色と肌の色の代表色との輝度の比を示す。
【0100】
色補正部16は、顔画像の各ピクセル値(Y,Cb,Cr)に対し、該ピクセルに重ねる(合成する)メーキャップ色(Y’,Cb’,Cr’)をピクセル毎に求める。ここで、Y’=rYになるようにメーキャップ色の輝度Y’を決定する。また、CbCr平面においてベクトル(Cb’,Cr’)とベクトル(Cb,Cr)とがなす角がθになるように、Cb’およびCr’を決定する。言い換えれば、色補正部16は、利用者が指定したメーキャップ色と肌の色の代表色との輝度の比および色相の差を用いて、顔画像の肌の色(各ピクセル値)に応じて補正したメーキャップ色(Y’,Cb’,Cr’)を求める。なお、輝度の比(または差)および色相の差のいずれか一方のみを用いてメーキャップ色を補正してもよい。
【0101】
図14は、補正されたメーキャップ色(Y’,Cb’,Cr’)と顔画像の対応するピクセル値(Y,Cb,Cr)との色空間における関係を示す図である。図14に示すように、顔画像の各ピクセル値(Y,Cb,Cr)と、それに対応する補正されたメーキャップ色(Y’,Cb’,Cr’)との色空間における関係(θ、rの関係)が、肌の色の代表色(Yo,Cbo,Cro)と、利用者が指定したメーキャップ色(Ys,Cbs,Crs)との関係と同じになるように、色補正部16は、メーキャップ色を補正する。なお、ピクセル毎に補正せずに利用者に指定されたメーキャップ色をそのまま用いてもよい。
【0102】
次に、色補正部16は、顔の左側のメーキャップを施す領域(例えば左瞼)のピクセルの輝度の平均Ylと、顔の右側のメーキャップを施す領域(例えば右瞼)のピクセルの輝度の平均Yrとを取得する。そして、色補正部16は、左右のメーキャップ領域の輝度の差d=Yl−Yrを用いて、メーキャップ色(Y’,Cb’,Cr’)の輝度Y’をさらに補正し、左右の肌の明るさの差に基づいて補正されたメーキャップ色の輝度Yl’(左用)およびYr’(右用)を求める。
Yl’=Y’−γd
Yr’=Y’+γd
ここで、γ(0≦γ≦0.5)は左右のメーキャップの見え方の違いを調整するパラメータであり、メーキャップの種類毎にあらかじめ設定されていてもよいし、利用者が指定してもよい。なお、左右いずれかのメーキャップ色を基準にして、もう一方のメーキャップ色の輝度のみを補正してもよい。また、左右の平均輝度の比(Yl/Yr)を用いて、Yr’=Y’(Yl/Yr)のように補正してもよい。また、左右の平均輝度を用いる代わりに、左右のメーキャップ領域の輝度の中央値等、メーキャップ領域の明るさを代表する代表輝度(代表色)を用いてメーキャップ色を補正してもよい。
【0103】
撮像時の照明等の影響により、左右の瞼(または頬)領域の明るさ(輝度)が異なる場合、ピクセル毎に補正した後のメーキャップ色(Y’,Cb’,Cr’)をそのまま顔画像に合成すると、メーキャップ色が左右で異なって見えることがある。そのため、メーキャップ色の左右の輝度差が小さくなるようにメーキャップ色の輝度Y’を補正して、Yl’およびYr’を得る。
【0104】
合成部17は、重み分布を用いて、処理対象の顔画像の色に、補正されたメーキャップ色を合成する(重ねる)ことにより、顔画像にメーキャップ色を塗布(着色)する(S12)。具体的には、合成部17は、各ピクセルについて、該ピクセルの重みwに補正されたメーキャップ色をかけて、顔画像の該ピクセルの色と合成する。合成後の各ピクセルの色(Ya,Cba,Cra)は、例えば以下の式を用いて得られる。
Ya=(1−α×w)×Y+α×w×Yl’ (左瞼、左頬の場合)
Ya=(1−α×w)×Y+α×w×Yr’ (右瞼、右頬の場合)
Cba=(1−w)×Cb+w×Cb’
Cra=(1−w)×Cr+w×Cr’
ここで、wは各ピクセルについての重みであり、α(0<α≦1)は輝度について重みを調整するパラメータである。輝度の変化は視覚的な影響が大きく、メーキャップによって輝度が大きく変化すると不自然に見えるため、合成部17は、メーキャップによる輝度の変化を抑えて、顔画像にメーキャップ色を合成する。
【0105】
左右のメーキャップ処理が完了していなければ(S13でNo)、S7に戻り、左右の残りの処理を行う。
【0106】
左右のメーキャップ処理が完了している場合(S13でYes)、続いて他のメーキャップ処理(アイライン、頬紅等)を行う。
【0107】
他のメーキャップ処理が未処理の場合(S14でNo)、S6に戻り、未処理のメーキャップ処理を行う。
【0108】
指示された全てのメーキャップ処理が完了している場合(S14でYes)、表示制御部18は、メーキャップ処理後の画像を表示装置5に表示させ、メーキャップ処理を終了する。
【0109】
本実施の形態によれば、処理対象の顔画像の肌色度合いを判定し、肌色度合いに応じて肌であると考えられる箇所にメーキャップ処理を施す。肌色度合いが小さい箇所については、メーキャップ処理の重みを小さくする、またはメーキャップ処理を行わない。そのため、メーキャップすべき領域の一部が眼鏡または髪等の他の物体に覆われている場合でも、他の物体にメーキャップ処理を行うことを防止し、肌にのみメーキャップ処理を行い自然なメーキャップ処理画像を得ることができる。また、目等の特徴点の検出を誤った場合にも、肌色度合いに応じてメーキャップ処理を行うので、目の中や顔の範囲外にメーキャップ処理を行うことを防止することができる。そのため、利用者は最初にメーキャップの種類、形状、色等を選択するだけで、気軽にメーキャップシミュレーションを行うことができる。
【0110】
また、目の輪郭形状の個人差、顔画像の顔の向きが正面でないこと、または照明の当たり方で目の輪郭がはっきりしないこと等に起因し、検出した特徴点(目尻、目頭、目輪郭点等)の位置に誤差が生じることがある。このような場合、従来の技術では、目の中にアイラインまたはアイシャドウが入り込むことがある。
【0111】
本実施の形態では、形状調整部21がメーキャップ形状を調整する方法とは異なる方法で、マスク部23が目の領域を規定し、目の領域にマスクをする。そのため、メーキャップ形状が目に重なるように配置された場合でも、目の領域はマスクされるので、目にメーキャップが入り込むことを防止することができる。
【0112】
また、撮像時に左右の照明の当たり方が均一ではなく、顔画像の左右の一方に陰影ができていたりして、左右の肌の明るさが同じではないことがある。そのような顔画像にメーキャップを塗布する際に、左右で異なる肌の色に同じ色のメーキャップ色を合成すると肌の色の違いが反映されて、合成後のメーキャップの色は左右で異なっているように見えることがある。
【0113】
本実施の形態では、左右のメーキャップ領域の肌の色の違いに応じて左右のメーキャップ領域毎に適用するメーキャップ色を補正し、合成に使用するメーキャップ色を左右で異なる色にすることにより、肌にメーキャップが合成された後のメーキャップ領域の色の差異を減少させ、自然な見た目のメーキャップ処理を行うことができる。
【0114】
また、画像から検出した顔の向きが正面から大きく外れていたり、笑うなどの大きな表情変化があって特徴点をうまく検出できない場合、メーキャップ処理を施すと意図しない位置にメーキャップを合成してしまい、不自然になってしまう場合がある。また、顔画像が小さい場合、メーキャップを施す小さな領域にうまくグラデーションがかけられないので自然なメーキャップ処理が困難になることがある。
【0115】
本実施の形態では、検出した顔画像がメーキャップ処理に適しているかを判定し、適していると判定された顔画像についてメーキャップ処理を行う。そのため、メーキャップ処理による失敗を防止し、メーキャップに適した顔画像にだけメーキャップ処理を行うことができる。
【0116】
なお、本実施の形態では、画像処理装置を備えるデジタルカメラを例にとって説明したが、これに限らず、デジタルビデオカメラ、カメラ付き携帯電話、コンピュータ等に適用することもできる。撮像される画像は、Webカメラ、ネットワーク、着脱可能な記憶装置等を介して取得されてもよい。また、撮像された静止画だけではなく、動画等の顔画像にメーキャップ処理を行ってもよい。また、デジタルカメラで撮像を行う際にデジタルカメラの表示装置に表示されるプレビュー画像にメーキャップ処理を施してもよい。
【0117】
また、メーキャップに限らず、人物画像の顔または肌等に任意の模様を合成してもよい。本実施の形態では、合成後の左右のメーキャップ領域の色(輝度)の違いが小さくなるよう、適用するメーキャップ色を左右で異なる色に補正したが、左右に限らず、同じ色のメーキャップ色を適用する複数の異なるメーキャップ領域において、合成後の複数のメーキャップ領域の色(輝度)の違いが小さくなるよう、各メーキャップ領域の肌の色の差(例えば各メーキャップ領域の肌の平均色との差)を用いて、適用するメーキャップ色を各メーキャップ領域毎に補正してもよい。
【0118】
最後に、画像処理装置6の各ブロック、特に画像取得部11、顔検出部12、特徴検出部13、適否判定部14、メーキャップ形状決定部15、色補正部16、合成部17、表示制御部18、形状調整部21、肌特定部22、マスク部23、および重み分布決定部24は、ハードウェアロジックによって構成してもよいし、次のようにCPU(central processing unit)を用いてソフトウェアによって実現してもよい。
【0119】
すなわち、画像処理装置6は、各機能を実現する制御プログラムの命令を実行するCPU、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである画像処理装置6の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記画像処理装置6に供給し、そのコンピュータ(またはCPUやMPU(microprocessor unit))が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【0120】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM(compact disc read-only memory)/MO(magneto-optical)/MD(Mini Disc)/DVD(digital versatile disk)/CD−R(CD Recordable)等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM(erasable programmable read-only memory)/EEPROM(electrically erasable and programmable read-only memory)/フラッシュROM等の半導体メモリ系などを用いることができる。
【0121】
また、画像処理装置6を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN(local area network)、ISDN(integrated services digital network)、VAN(value-added network)、CATV(community antenna television)通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE(institute of electrical and electronic engineers)1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(asynchronous digital subscriber loop)回線等の有線でも、IrDA(infrared data association)やリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR(high data rate)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
【0122】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【0123】
本発明は、画像処理装置を備えるデジタルカメラ等に利用することができる。
【符号の説明】
【0124】
1 デジタルカメラ
2 指示入力装置
3 撮像装置
4 画像記憶装置
5 表示装置
6 画像処理装置
11 画像取得部(指示受領部)
12 顔検出部
13 特徴検出部(検出部)
14 適否判定部
15 メーキャップ形状決定部
16 色補正部
17 合成部(着色部)
18 表示制御部
21 形状調整部
22 肌特定部
23 マスク部
24 重み分布決定部
【技術分野】
【0001】
本発明は、画像処理装置および画像処理方法に関し、特に顔画像の補正を行う画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
従来より、化粧品を利用者の顔につけたときにどのように見えるかをシミュレートするために、顔画像に仮想的にメーキャップを施す技術が知られている。
【0003】
特許文献1は、撮像した利用者の顔画像に頬紅を塗布する頬紅メーキャップシミュレーション技術を開示している。特許文献2は、撮像した利用者の顔画像にアイシャドウおよびアイラインを描く目元メーキャップシミュレーション技術を開示している。これらの技術によると、利用者の顔画像の色に頬紅またはアイシャドウ等の色を重ねて塗布するため、利用者の肌の色に応じたメーキャップを施すことができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−279228号公報(2000年10月10日公開)
【特許文献2】特開2000−285222号公報(2000年10月13日公開)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記従来の構成では、下記の問題を生じる。
【0006】
特許文献1および特許文献2に記載の技術は、メーキャップシミュレーションを行うために最適な顔画像を準備することを前提としている。具体的には、上記従来の技術は、目や頬の周辺が他の物体で隠れておらず、顔の全面に均一な光が当たっている、無表情の正面の顔画像を用いることを前提としている。そのため、例えば、化粧品販売店において、まず顧客(利用者)にカメラに向かって座ってもらい、前髪を上げる、眼鏡を外す等の準備をしてもらう。その後、均一に照射されるよう配置された照明の下で、販売員が顧客の最適な顔画像を撮像し、無表情な正面の顔画像をメーキャップシミュレータに入力するということが行われる。メーキャップシミュレーションに失敗した場合は、上記の過程を繰り返すといったことが行われる。そのため、利用者は、メーキャップシミュレーションを行うために化粧品販売店に赴く必要があり、さらに販売員の補助をも必要とする。そのため、利用者がメーキャップシミュレーションを気軽に試すことができない。また、特許文献1および特許文献2に記載の技術では、普段通りの状態、すなわち前髪を下ろした状態または眼鏡をかけた状態におけるメーキャップシミュレーションを行うことができない。
【0007】
また、例えば特許文献1および特許文献2に記載の技術を、デジタルカメラまたはカメラ付き携帯電話等に適用し、撮像された顔画像にメーキャップを施すソフトウェアを実現することもできる。また、パソコンまたはインターネット上のサーバにおいて動作するメーキャップシミュレータとして適用することも考えられる。この場合は、販売員にメーキャップシミュレーションを依頼することは必要ない。
【0008】
しかしながら、特許文献1および特許文献2に記載の技術では、メーキャップシミュレーションに最適な画像、すなわち、目や頬の周辺が他の物体で隠れておらず、顔の全面に均一な光が当たっている、無表情の正面の顔画像を、利用者自らで準備する必要がある。もし、デジタルカメラまたはカメラ付き携帯電話によって撮影したスナップ写真(例えば、早撮りの、自然な状態を撮った写真)を用いて、従来の技術によるメーキャップシミュレーションを行った場合、以下のような問題が生じる。
【0009】
第1に、スナップ写真には、向きが正面ではない顔、またはわざと歪んだ表情をした顔等、そもそもメーキャップシミュレーションを行うのが困難な顔画像が含まれていることが少なくない。そのような顔画像に対して、従来の技術によるメーキャップシミュレーションを行うと、意図通りの補正を行うことができず、不自然な結果を生じてしまう。
【0010】
第2に、スナップ写真に写った顔の向きが正面に近い場合であっても、眼鏡をかけている、または髪が目の付近にかかっている等、メーキャップすべき領域の一部または全部が他の物体で覆われていることはよくあることである。そのような顔画像に対して、従来の技術によるメーキャップシミュレーションを行うと、メーキャップすべき領域に重なった他の物体に対してメーキャップを施した結果が得られるという問題が生じる。
【0011】
また、メーキャップすべき領域付近に眼鏡または髪等がなかったとしても、従来の技術では、顔の特徴点または目の輪郭等を正しく抽出できなかった場合、目にアイシャドウが入り込む等、意図しない箇所にメーキャップを施した結果が得られるという問題が生じる。
【0012】
また、スナップ写真等においては、顔に均一に光が当たっていないことも少なくなく、顔の左右の一方の側が明るく、反対側が暗くなっていることもよくあることである。そのような顔画像に対して、従来の技術によるメーキャップシミュレーションを行うと、適用するメーキャップの色(化粧品の色)によっては、不自然に見える結果を生じる。例えば、従来の技術によってアイシャドウ(または頬紅)の色と肌の色とをエアブラシ処理等によって合成して得られた色(メーキャップ後の色)の左右の差は、元の左右の肌の色の差に対して不自然に見えることがある。この問題は、特に元の左右の肌の色の明るさの違いが一見分かりにくい場合に顕著である。
【0013】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、幅広い条件の顔画像に対して適切にメーキャップ処理を行うことができる画像処理装置および画像処理方法を実現することにある。
【課題を解決するための手段】
【0014】
本発明に係る画像処理装置は、人物画像の肌に、ある色の模様を着色する処理を行う画像処理装置であって、上記の課題を解決するために、上記人物画像の少なくとも一部の領域の箇所毎に、上記人物画像における色の肌色度合いを特定する肌特定部と、上記人物画像に、上記肌色度合いに応じた濃さで上記模様を着色する着色部とを備えることを特徴としている。
【0015】
本発明に係る画像処理方法は、人物画像の肌に、ある色の模様を着色する処理を行う画像処理方法であって、上記の課題を解決するために、上記人物画像の少なくとも一部の領域の箇所毎に、上記人物画像における色の肌色度合いを特定する肌特定ステップと、上記人物画像に、上記肌色度合いに応じた濃さで上記模様を着色する着色ステップとを含むことを特徴としている。
【0016】
上記の構成によれば、人物画像の少なくとも一部の領域の各箇所の肌色度合いを特定し、肌色度合いに応じた濃さで人物画像に模様を着色する。よって、肌であると考えられる箇所については模様を濃く着色し、肌ではないと考えられる箇所(例えば髪、眼鏡等)には薄く着色する、または着色しないようにすることができる。そのため、人物画像の肌に適切にメーキャップ等の模様を着色することができる。それゆえ、例えば利用者が、前髪を上げたり、眼鏡を外したり、照明を当てたりした画像を準備しなくとも、幅広い条件で撮られた画像を用いてメーキャップシミュレーションを行うことができる。
【0017】
また、上記画像処理装置は、上記人物画像の上記一部の領域の各箇所の上記肌色度合いを反映した重み分布を決定する重み分布決定部を備え、上記着色部は、上記重み分布の重みを用いて、上記人物画像の上記一部の領域の各箇所に上記模様の色を重ねることによって着色する構成であってもよい。
【0018】
上記の構成によれば、肌色度合いを反映した重みによって人物画像の元の色と模様の色とを合成する。そのため、肌であると考えられない箇所の重みを小さくすることにより、肌ではない箇所(例えば髪、眼鏡等)に模様の色を合成することを抑制することができる。
【0019】
また、上記画像処理装置は、上記人物画像の所定の部位の位置を検出する検出部と、検出された上記位置に基づき、上記所定の部位に着色することを抑制するマスクを生成するマスク部とを備え、上記重み分布決定部は、上記肌色度合いと上記マスクとを反映した重み分布を決定する構成であってもよい。
【0020】
上記の構成によれば、所定の部位にマスクを設定し、所定の部位を模様の色で着色することを防止することができる。よって、意図に反して人物画像の所定の部位に模様が入り込むことを防止することができる。
【0021】
また、上記画像処理装置は、上記人物画像の所定の部位の位置を検出する検出部と、検出された上記位置に基づき、上記人物画像の顔が、模様を着色する対象として適しているか否かを判定する適否判定部とを備え、上記人物画像の顔が、模様を着色する対象として適していると判定された場合に、上記着色部は、上記人物画像の顔に対して上記模様を着色する構成であってもよい。
【0022】
上記の構成によれば、人物画像の顔が、模様を着色する対象として適していると判定された場合に、模様を着色する処理を行うので、模様を着色する処理の失敗を防止することができる。
【0023】
また、上記適否判定部は、検出された上記位置に基づき、上記人物画像の顔の向きを特定し、上記人物画像の顔の向きが所定の範囲内にある場合、上記人物画像の顔が、模様を着色する対象として適していると判定してもよい。
【0024】
人物画像の顔の向きが、例えば正面ではなく横向きである場合、メーキャップ等の模様を当該顔に着色することが難しい。上記の構成によれば、人物画像の顔の向きが所定の範囲内にある場合、上記人物画像の顔が、模様を着色する対象として適していると判定するので、メーキャップ処理を行うことができる人物画像を適切に判定することができる。
【0025】
また、上記肌特定部は、上記人物画像の肌の色を代表する代表色と、上記人物画像の上記一部の領域の各箇所の色との間の色空間における距離に基づき、上記人物画像の上記一部の領域の各箇所について上記肌色度合いを特定してもよい。
【0026】
上記の構成によれば、肌の代表色との色空間における距離が近いか否か、すなわち、肌の代表色に近い色か否かによって、人物画像の上記一部の領域の各箇所の肌色度合いを特定することができる。よって、適切に肌であると考えられる箇所に模様を着色することができる。
【0027】
また、上記着色部は、上記人物画像の顔に、メーキャップとして上記模様を着色してもよい。
【0028】
上記の構成によれば、人物画像の顔の肌である箇所に、適切にメーキャップを施すことができる。
【0029】
本発明に係る画像処理装置は、人物画像の肌に、ある色の模様を着色する処理を行う画像処理装置であって、上記の課題を解決するために、上記人物画像の、肌である箇所を特定する肌特定部と、上記特定された肌である箇所に、上記模様を着色する着色部とを備えることを特徴としている。
【0030】
本発明に係る画像処理方法は、人物画像の肌に、ある色の模様を着色する処理を行う画像処理方法であって、上記の課題を解決するために、上記人物画像の、肌である箇所を特定する肌特定ステップと、上記特定された肌である箇所に、上記模様を着色する着色ステップとを含むことを特徴としている。
【0031】
上記の構成によれば、人物画像の肌である箇所を特定し、人物画像の肌である箇所にのみ模様を着色する。よって、そのため、人物画像の肌に適切にメーキャップ等の模様を着色することができる。
【0032】
なお、上記画像処理装置は、一部をコンピュータによって実現してもよく、この場合には、コンピュータを上記各部として動作させることにより上記画像処理装置をコンピュータにて実現させる制御プログラム、および上記制御プログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【0033】
以上のように、本発明によれば、人物画像の各箇所の肌色度合いを特定し、肌色度合いに応じた濃さで人物画像に模様を着色する。
【0034】
そのため、人物画像の肌に適切にメーキャップ等の模様を着色することができる。それゆえ、幅広い条件で撮られた画像を用いてメーキャップシミュレーションを行うことができる。
【図面の簡単な説明】
【0035】
【図1】本発明の一実施の形態に係るデジタルカメラの概略構成を示すブロック図である。
【図2】上瞼用アイラインの基本形状の一例を示す画像である。
【図3】下瞼用アイラインの基本形状の一例を示す画像である。
【図4】アイシャドウの基本形状の一例を示す画像である。
【図5】頬紅の基本形状の一例を示す画像である。
【図6】形状の調整を行った後のメーキャップ形状を示す画像である。
【図7】上記デジタルカメラが備える画像処理装置におけるメーキャップ処理の流れを示すフローチャートである。
【図8】目のメーキャップ処理に使用する重み分布を算出する処理の詳細な流れを示すフローチャートである。
【図9】顔画像について求めた肌色度合いDsの例を示す画像である。
【図10】図9に対応する、目のマスクの例を示す画像である。
【図11】図9に対応する、肌色度合いDsとマスクとの積を示す画像である。
【図12】図6に対応する、重み分布を示す画像である。
【図13】頬のメーキャップ処理に使用する重み分布を算出する処理の詳細な流れを示すフローチャートである。
【図14】補正されたメーキャップ色と顔画像の対応するピクセル値との色空間における関係を示す図である。
【発明を実施するための形態】
【0036】
本実施の形態では、主に、デジタルカメラに搭載され、撮像された画像に含まれる顔画像に対してメーキャップ処理を行う画像処理装置について説明するが、本発明はこれに限定されるものではない。以下、本実施の形態について、図1〜図14を参照して詳細に説明する。
【0037】
<デジタルカメラの構成>
図1は、本実施の形態に係るデジタルカメラ1の概略構成を示すブロック図である。デジタルカメラ1は、指示入力装置2、撮像装置3、画像記憶装置4、表示装置5、および画像処理装置6を備える。
【0038】
指示入力装置2は、ボタン、キーまたはタッチパネル等の入力装置を備え、利用者から撮像の指示を受け付け、撮像装置3に撮像の指示を出力する。また、指示入力装置2は、利用者からメーキャップ処理の指示を受け付け、画像処理装置6にメーキャップ処理の指示を出力する。
【0039】
撮像装置3は、例えば、CCD(charge coupled device)またはCMOS(complementary metal oxide semiconductor)撮像素子等の撮像素子を備える。撮像装置3は、撮像の指示に応じて撮像し、撮像した画像(画像データ)を画像記憶装置4に出力する。
【0040】
画像記憶装置4は、各種の情報を記憶するものであり、例えばHDD(Hard Disk Drive)、またはフラッシュメモリ等の記憶デバイスを備える。画像記憶装置4は、撮像装置3から受け取った画像を記憶して保存しておく。
【0041】
表示装置5は、ディスプレイを備え、入力された画像を表示して利用者に提示する。また、表示装置5は、画像処理装置6からメーキャップ処理済みの画像を受け取り、メーキャップ処理済みの画像を表示する。
【0042】
<画像処理装置の構成>
画像処理装置6は、画像取得部11、顔検出部12、特徴検出部(検出部)13、適否判定部14、メーキャップ形状決定部15、色補正部16、合成部(着色部)17、および表示制御部18を備える。
【0043】
画像取得部11は、指示入力装置2からメーキャップ処理の指示を受け取る。メーキャップ処理の指示は、処理対象となる画像を示す情報、および、どのようなメーキャップ(アイシャドウまたは頬紅、その形状、および色等)を行うかを示す情報を含む。画像取得部11は、受け取ったメーキャップ処理の指示に基づき、画像記憶装置4から処理対象の画像を取得する。なお、画像取得部11は、撮像装置3から撮像された画像を直接受け取ってもよい。画像取得部11は、取得した処理対象の画像を顔検出部12に出力する。また、画像取得部11は、メーキャップ処理の指示をメーキャップ形状決定部15に出力する。
【0044】
顔検出部12は、画像取得部11から受け取った画像の中に含まれる顔画像を検出する。顔検出部12は、画像に含まれる顔画像を検出すると、顔画像の位置を特定する。顔画像の位置は、顔画像の所定の点の座標を示してもよいし、顔画像の領域を示してもよい。顔検出部12は、処理対象の画像と顔画像の位置とを、特徴検出部13に出力する。なお、顔検出部12は、処理対象の画像から複数の顔画像を検出してもよい。複数の顔画像を検出した場合、顔検出部12は、各顔画像の位置を特定し、複数の顔画像の位置を特徴検出部13に出力してもよい。
【0045】
特徴検出部13は、顔検出部12から受け取った処理対象の画像および顔画像の位置から、該顔画像の顔の各特徴の位置を検出する。具体的には、特徴検出部13は、例えば目(目頭、目尻、上瞼輪郭点、下瞼輪郭点等)、口(口端点、口の中心点等)、および鼻(鼻の頂点等)等の顔の器官の特徴、および顔の輪郭等の特徴(特徴点)を検出し、それらの位置を特定する。特徴の位置は、特徴点の座標を示してもよいし、特徴を含む領域を示してもよい。各特徴の検出は、公知の技術を用いて行うことができる。特徴検出部13は、処理対象の画像と顔画像の位置と検出した顔の特徴の位置とを適否判定部14に出力する。なお、特徴検出部13は、複数の顔画像の特徴の位置を特定し、複数の顔画像の特徴の位置を適否判定部14に出力してもよい。
【0046】
適否判定部14は、特徴検出部13から受け取った処理対象の画像、顔画像の位置、および顔の特徴の位置から、該顔画像がメーキャップ処理を行うのに適しているか否かを判定する。例えば、適否判定部14は、横向きの顔画像および写りが小さすぎる顔画像等を、不適として判定する。具体的な判定方法は後述する。なお、処理対象の画像に複数の顔画像が含まれている場合、適否判定部14は、各顔画像についてメーキャップ処理を行うことの適否を判定してもよいし、メーキャップ処理を行うのにより適した所定数(例えば1つ)の顔画像を特定してもよい。適否判定部14は、処理対象の画像と、処理対象として適切と判定した顔画像の位置と、その顔の特徴の位置とをメーキャップ形状決定部15に出力する。
【0047】
メーキャップ形状決定部15は、適否判定部14から受け取った処理対象の画像、処理対象の顔画像の位置、およびその顔の特徴の位置と、画像取得部11から受け取ったメーキャップ処理の指示とに基づき、処理対象の顔画像に対して行うメーキャップ(模様)の形状およびその濃淡の分布を決定する。本実施の形態では、利用者によって指定されたメーキャップ色を、算出した重み分布に応じて、元の顔画像の肌の色と合成する。該重み分布はピクセル毎のメーキャップの濃淡の分布を示す。メーキャップ形状決定部15は、メーキャップの形状と濃淡の分布として、色の合成に用いる重み分布を特定する。
【0048】
メーキャップ形状決定部15は、形状調整部21、肌特定部22、マスク部23、および重み分布決定部24を備える。
【0049】
形状調整部21は、メーキャップ処理の指示に基づき、メーキャップの種類(アイラインまたは頬紅等)と、その基本形状とを決定する。形状調整部21は、あらかじめ用意された複数のメーキャップ基本形状のうち、メーキャップ処理の指示に基づいて、メーキャップ処理に使用するメーキャップ基本形状を特定する。なお、形状調整部21は、メーキャップ処理のたびにメーキャップ基本形状を所定の関数を用いて計算により算出してもよい。また、メーキャップ基本形状のテンプレートを利用者の指示によって形状および濃度分布等を変化させて用いてもよい。
【0050】
図2は、上瞼用アイラインの基本形状の一例を示す画像である。図3は、下瞼用アイラインの基本形状の一例を示す画像である。図4は、アイシャドウの基本形状の一例を示す画像である。図5は、頬紅の基本形状の一例を示す画像である。図2〜5において、明るい(白い)箇所はメーキャップの色が濃いことを示し、暗い(黒い)箇所はメーキャップの色が薄いことを示す。すなわち、メーキャップの基本形状は、メーキャップの形状および濃淡を表す。例えば、図2に示す上瞼用アイラインの基本形状は、各ピクセル毎に0〜1の値を持ち、値が大きいピクセルほど明るく表されており、各ピクセルの値は合成の際の重みに対応する。なお、図2〜5に示すメーキャップの基本形状は右目用または右頬用のものであり、左右反転すれば左目用または右頬用の基本形状が得られる。
【0051】
形状調整部21は、使用するメーキャップ基本形状を、顔画像の特徴に応じて変形する。例えば、形状調整部21は、顔画像の大きさまたは目等の大きさに合わせて使用するメーキャップ基本形状の大きさを調整(スケーリング)する。また、形状調整部21は、検出した目の輪郭の形状に応じて、例えば検出した上瞼の輪郭に図2に示す上瞼用アイラインの下側の輪郭(白い箇所)が沿うように、メーキャップ形状を調整する。このように、形状調整部21は、各特徴に応じてメーキャップ形状を調整する。図6は、形状の調整を行った後のメーキャップ形状を示す画像である。図2〜5と同様に、図6において、明るい(白い)箇所はメーキャップの色が濃いことを示し、暗い(黒い)箇所はメーキャップの色が薄いことを示す。形状調整部21は、大きさおよび形状を調整したメーキャップ形状を重み分布決定部24に出力する。
【0052】
肌特定部22は、顔画像の中の肌である箇所を特定する。肌特定部22は、ピクセルの色が肌の色であると考えられるピクセルを、肌であると判定する。具体的には、肌特定部22は、処理対象である顔画像の各ピクセルについて、肌色度合いを特定する。本実施の形態では、肌色度合いの小さい箇所、すなわち、肌ではないと考えられる箇所については、重みを小さくしメーキャップの色を薄く重ねる、またはほとんどメーキャップの色を合成しない。肌特定部22は、処理対象の顔画像の各ピクセルの肌色度合いを重み分布決定部24に出力する。
【0053】
マスク部23は、処理対象の顔画像およびその特徴の位置から、目の部分(所定の部位)のマスクを生成する。ここで、まつげ等の影響により、特徴検出部13によって検出される目の輪郭の位置には誤差がある可能性がある。アイライン等のメーキャップ形状は、形状調整部21によって目の輪郭に応じて調整されるが、検出された目の輪郭の位置が本来の位置からずれている場合、目の中にアイライン等が入り込むことがある。本実施の形態では、顔画像の目の部分にマスクを適用することにより、アイライン等が誤って目の中に入り込むことを防止する。なお、マスク部23は、形状調整部21が利用する目の輪郭とは異なるアルゴリズムによって得た目の輪郭に関する情報を用いて、マスクを生成する。そうすることによって、検出誤差により形状調整部21で発生する不具合(アイライン等が目の中に入り込むこと)を防止することができる。本実施の形態では、生成されたマスクは、各ピクセルについて0〜1の値を有する。ここで、マスクの値が1の箇所はマスクしないことを、値が小さい箇所ほど強くマスクする(メーキャップの色を合成させない)ことを意味する。なお、鼻や口等、目以外の箇所のマスクを生成してもよい。マスク部23は、生成したマスクを重み分布決定部24に出力する。
【0054】
重み分布決定部24は、調整されたメーキャップ形状、顔画像の肌色度合い、およびマスクに基づいて、色の合成(メーキャップ色と肌の色との合成)に用いる重み分布を決定する。具体的には、重み分布決定部24は、顔画像に対応する各ピクセルについて、メーキャップ形状と肌色度合いとマスクとの積を算出し、この積を各ピクセルにおける重みとする。ここでは、色の合成のための重み分布は、重みの値が小さい箇所ほどメーキャップ色を薄く合成し、重みの値が大きい箇所ほどメーキャップ色を濃く合成するということを示す。重み分布決定部24は、決定した重み分布を合成部17に出力する。また、重み分布決定部24は、処理対象の画像、処理対象の顔画像の位置、およびその顔の特徴の位置を色補正部16に出力する。
【0055】
色補正部16は、処理対象の画像、処理対象の顔画像の位置、およびその顔の特徴の位置に基づいて、処理対象の顔画像の肌の色の代表色を特定する。顔領域の一部の色、例えば、顔領域の中心部分(鼻付近)の平均色、中央値、または最頻値の色等を肌の色の代表色としてもよい。また、顔領域全体の平均色等を肌の色の代表色としてもよい。また、顔のある領域の平均色を求め、該領域において該平均色と色相が異なる(CbCr平面における該平均色との角度が閾値より大きい)ピクセル、および/または、該領域において該平均色との色の差が大きい(YCbCr色空間における該平均色との距離が閾値より大きい)ピクセルを除外して、残りのピクセルから算出した平均色を、代表色としてもよい。色補正部16は、顔画像の各ピクセルについて、各ピクセルの色と肌の色の代表色とを用いて、利用者が指定したメーキャップ色を補正する。また、色補正部16は、左右のメーキャップ領域の代表色の差異に応じて、合成後の左右のメーキャップ領域の色の差が小さくなるように、左右のメーキャップ領域毎にメーキャップ色を補正する。色補正部16は、ピクセル毎に補正されたメーキャップ色を、合成部17に出力する。また、色補正部16は、処理対象の画像、および処理対象の顔画像の位置を合成部17に出力する。
【0056】
合成部17は、処理対象の顔画像と、補正されたメーキャップ色とを、重み分布に応じて合成し、メーキャップ処理を施した顔画像を生成する。合成部17は、メーキャップ処理済みの画像を表示制御部18に出力する。なお、合成部17は、メーキャップ処理済みの画像を画像記憶装置4に出力して記憶させてもよい。
【0057】
表示制御部18は、メーキャップ処理済みの画像を表示装置5に出力し、メーキャップ処理済みの画像を表示するよう表示装置5を制御する。
【0058】
<画像処理フロー>
以下に、デジタルカメラ1におけるメーキャップ処理の流れについて説明する。
【0059】
利用者は、指示入力装置2を介して、例えば撮像されて画像記憶装置4に記憶されている画像の中から、処理対象の画像を選択する。また、利用者は、指示入力装置2を介して、処理対象の画像に施すメーキャップの種類(アイライン、アイシャドウ、および/または頬紅等)と、各メーキャップの形状と、各メーキャップ色とを、複数の候補の中から選択する。指示入力装置2は、メーキャップの種類、メーキャップの形状、およびメーキャップ色を示す情報を含むメーキャップ処理の指示を、画像処理装置6の画像取得部11に出力する。
【0060】
図7は、画像処理装置6におけるメーキャップ処理の流れを示すフローチャートである。
【0061】
画像取得部(指示受領部)11は、指示入力装置2からのメーキャップ処理の指示を受け取ると、画像記憶装置4から処理対象となる画像を取得する(S1)。
【0062】
顔検出部12は、処理対象となる画像に含まれる顔画像を検出し、その顔画像の位置を特定する(S2)。顔検出部12は、処理対象の画像に含まれる複数の顔画像を検出してもよい。
【0063】
特徴検出部13は、検出された顔画像に含まれる、顔の特徴の位置を検出する(S3)。特徴検出部13は、例えば目(目頭、目尻、上瞼輪郭点、下瞼輪郭点等)、口(口端点、口の中心点等)、および鼻(鼻の頂点等)等の顔の器官の特徴(特徴点)を検出し、それらの位置を特定する。なお、特徴検出部13は、顔の輪郭等の特徴を検出してもよい。
【0064】
適否判定部14は、これらの検出された顔の特徴の位置に基づき、該顔画像がメーキャップ処理を行うのに適しているか否かを判定する(S4)。例えば、適否判定部14は、複数の顔画像サンプルから目、鼻、口等の顔の器官の各特徴の周辺の輝度分布の特徴をあらかじめ学習して作成した顔モデルを記憶しておく。適否判定部14は、顔モデルと、検出された顔画像とを比較することにより、顔画像の検出された特徴の信頼度および顔の向きを特定する。
【0065】
例えば検出された特徴の信頼度が、所定の閾値よりも低い場合、顔の特徴を正確に検出していない可能性が高いので、適切にメーキャップ処理を行うことができない可能性がある。そのため、検出された特徴の信頼度が、所定の閾値よりも低い場合、適否判定部14は、該顔画像はメーキャップ処理を行うのに適していないと判定する。
【0066】
また、検出された顔の向きが正面に対して大きくずれている場合(顔の向きが所定の範囲内にない場合、例えば顔の向きが正面に対して所定の角度より大きい場合)、適切にメーキャップ処理を行うことができない可能性があるため、適否判定部14は、該顔画像はメーキャップ処理を行うのに適していないと判定する。
【0067】
また、顔画像が小さすぎる場合(例えば検出した左右の目(瞳)の中心点の間の距離が所定の閾値より小さい場合)、適切にメーキャップ処理を行うことができない可能性があるため、適否判定部14は、該顔画像はメーキャップ処理を行うのに適していないと判定する。
【0068】
また、検出した目の輪郭から、目が閉じられていると判断できる場合、適切にメーキャップ処理を行うことができない可能性があるため、適否判定部14は、該顔画像はメーキャップ処理を行うのに適していないと判定する。
【0069】
また、照明の反射により、肌の色が白くなっている箇所にメーキャップ処理を施すと、メーキャップ箇所が不自然に浮いて見えることがある。よって、顔画像の肌の色の代表色の輝度が所定の閾値よりも高い場合、適否判定部14は、該顔画像はメーキャップ処理を行うのに適していないと判定してもよい。
【0070】
また、木漏れ日が顔に当たっていること等により、頬または瞼の領域の輝度分布がまだらになっていて、その輝度差が極端に大きい場合、メーキャップ処理を施すと不自然に見えることがある。よって、顔領域の肌の色の輝度の分散が所定の閾値より大きい場合、適否判定部14は、該顔画像はメーキャップ処理を行うのに適していないと判定してもよい。
【0071】
また、肌の色に近い物体が顔画像に重なっている場合、特徴検出部13は、その物体を顔の特徴点として誤検出することがある。検出された特徴点の位置が、他の特徴点(目、鼻、口等)に比べて不自然な位置にある場合、その検出された特徴点は顔に重なる他の物体のものであると判定することができる。そのような特徴点が検出された場合、メーキャップ処理を施すと顔に重なる他の物体にまでメーキャップを合成する可能性があるので、適否判定部14は、該顔画像はメーキャップ処理を行うのに適していないと判定してもよい。
【0072】
なお、メーキャップ処理を行うことができるか否かの判定において、メーキャップの種類(アイライン、アイシャドウ、頬紅等)によって判定基準が異なっていてもよい。
【0073】
メーキャップ処理を行うのに適していないと判定された場合(S4でNo)、該顔画像に対する処理は終了する。
【0074】
メーキャップ処理を行うのに適していると判定された場合(S4でYes)、次に形状調整部21は、処理対象の顔画像の肌の色の情報を取得する(S5)。肌の色の情報として、処理対象の顔画像から、肌全体の平均色と、右瞼、左瞼、右頬、左頬、および鼻等の各領域の平均色とを求める。なお、平均ではなく、各領域の代表となる色を求めてもよい。
【0075】
形状調整部21は、指示されたメーキャップの種類に応じて、処理対象を目または頬に設定する(S6)。なお、複数のメーキャップを施すことが指示されている場合、未処理のメーキャップの種類に応じて、処理対象の部位を設定する。
【0076】
形状調整部21は、左右の器官のいずれかを処理対象として設定する(S7)。例えば、形状調整部21は、処理対象を右器官(右目または右頬)に設定する。既に右器官に対するメーキャップ処理が完了している場合、処理対象を左器官(左目または左頬)に設定する。
【0077】
処理対象が目である場合(S8でYes)、目のメーキャップ処理(アイライン、アイシャドウ等)に使用する重み分布を算出する(S9)。
【0078】
処理対象が頬である場合(S8でNo)、頬のメーキャップ処理(頬紅等)に使用する重み分布を算出する(S10)。
【0079】
図8は、目のメーキャップ処理に使用する重み分布を算出する処理の詳細な流れを示すフローチャートである。
【0080】
形状調整部21は、メーキャップ処理に使用するメーキャップの基本形状を決定する(S21)。例えば、アイシャドウの基本形状は、図4に示すように目の輪郭に近い下側の重みが大きく(アイシャドウの色が濃く)、そこから離れるにしたがって徐々に重みが小さくなる(アイシャドウの色が薄くなる)重み分布を有する。また、形状調整部21は、メーキャップ処理の指示によって、アイシャドウ等の基本形状を変形したり、重みの分布を調整してもよい。形状調整部21は、メーキャップ基本形状を所定の関数を用いて計算により算出してもよく、あらかじめ用意されたメーキャップ基本形状のテンプレートから使用するメーキャップ基本形状を選択してもよい。
【0081】
形状調整部21は、使用するメーキャップ基本形状を、顔画像の目の形状に適合するよう、検出された目の特徴に応じて変形する(S22)。まず、形状調整部21は、検出された目の特徴(目頭、目尻、目の輪郭等)の情報を用いて、使用するメーキャップ基本形状の大きさを、顔画像の目の大きさに適した大きさに変更する。また、上瞼用アイラインであれば、検出した上瞼輪郭のいくつかの代表点と、大きさが調整されたメーキャップ基本形状の対応する点とがそれぞれ一致するように、形状調整部21は、大きさが調整されたメーキャップ基本形状を変形し、顔画像における配置を決定する。メーキャップ基本形状の、代表点に対応する点以外の箇所は、線形補間を用いて変形させてもよいし、3次Bスプライン関数等の高次関数補間を用いて変形させてもよい。大きさおよび形状が調整されたメーキャップ形状は、メーキャップ色を合成する際の重みとして用いられる。
【0082】
肌特定部22は、処理対象の顔画像の各ピクセルについて、肌色度合いを特定する(S23)。肌特定部22は、処理対象の顔画像の、メーキャップ処理を行う周辺を含む一部の領域についてのみ肌色度合いを特定してもよい。肌色度合いは、処理対象の顔画像の肌の色を代表する代表色と各ピクセルの色との色空間における距離を用いて算出する。肌の代表色として、顔領域全体の肌の平均色を用いてもよいが、陰影がある場合には顔領域全体から肌の色を安定的に取得するのは難しい。そのため、肌の色を安定的に取得するために、肌の代表色として鼻の周辺の平均色等を用いてもよい。肌色度合いは、ピクセルの色が肌の色の代表色と同じ(距離0)の場合に値が最大になり、色空間における距離が大きくなるほど値が小さくなるようにする。
【0083】
例えば、肌特定部22は、鼻付近の平均色を取得し、該顔画像の肌の代表色(Yc,Cbc,Crc)とする。ここでは色空間としてYCbCr色空間を用いているが、これに限らず任意の色空間を用いることができ、例えばL*a*b*色空間を用いてもよい。肌特定部22は、顔画像の肌の代表色(Yc,Cbc,Crc)を肌の色の中心とし、色空間内における顔画像の各ピクセル値(Y,Cb,Cr)と顔画像の肌の代表色(Yc,Cbc,Crc)との距離を求める。ここでは、距離が0であれば値が1、距離が無限大のときに値が0となるように、各ピクセルについて肌色度合いDsを求める。例えば、肌色度合いDsを求める式は、以下のようにおくことができる。
【0084】
【数1】
【0085】
ここで、σは肌色の範囲を決める定数である。expを用いた肌色度合いDsを求める上式は一例であり、距離について単調減少をする指数関数、またはシグモイド型の関数等を用いてもよい。肌色度合いDsは、値が0〜1になり、値が大きい箇所は肌の代表色に近い色の箇所である。なお、肌色度合いDsを、複数のピクセルを含むブロック毎に、そのブロックの平均色から算出してもよい。また、肌特定部22は、色空間における上記距離と閾値とを比較することで、各ピクセルが肌であるか否かを特定し、肌ではないと特定した肌色度合いの値を0として、肌ではない箇所にメーキャップ色を塗布させないようにしてもよい。
【0086】
図9は、顔画像について求めた肌色度合いDsの例を示す画像である。図9において、明るい(白い)箇所は肌色度合いDsの値が大きい箇所を示し、暗い(黒い)箇所は肌色度合いDsの値が小さい箇所を示す。また、図9では、右目の周辺の肌色度合いDsを示している。肌色度合いDsは、メーキャップ色を合成する際の重みとして用いられるので、肌色度合いDsの値が大きく肌であると考えられる箇所(明るい箇所)では、メーキャップ色が濃く重ねられる。逆に、肌色度合いDsの値が小さく肌ではないと考えられる箇所(暗い箇所)では、メーキャップ色は薄く重ねられる、またはほとんど重ねられない。そのため、図9からも分かるように、肌色度合いの低い瞳および眉等には、メーキャップ色は合成されない。また、眼鏡等をかけている場合、眼鏡にメーキャップ色を合成することを防ぐことができる。また、髪が目の近くにかかっている場合、髪にメーキャップ色を合成することを防ぐことができる。
【0087】
しかしながら、色の差では、白目の部分は白っぽい肌との区別がつけにくく、メーキャップ形状が正確に瞼の輪郭にフィットしていない場合、白目の部分にメーキャップ色が入り込む可能性がある。そのため、本実施の形態では、次に目をマスクする処理を行う。
【0088】
マスク部23は、目の部分のマスクを生成する(S24)。具体的には、目頭点と目尻点とを結ぶ線分を長軸とし、上瞼側の目の輪郭の一点、目頭点、および目尻点を通る楕円を求め、該楕円の上側の弧を上瞼側のマスクの境界線とする。また同様に、目頭点と目尻点とを結ぶ線分を長軸とし、下瞼側の目の輪郭の一点、目頭点、および目尻点を通る楕円を求め、該楕円の下側の弧を下瞼側のマスクの境界線とする。マスクの上下の境界線に囲まれた内部をマスク領域とする。このマスク領域は、瞼の輪郭を楕円と仮定して求めたものであるので、マスク領域を完全にマスクすると、マスク領域が顔画像の目からはみ出ていたときに瞼の境界付近にメーキャップ処理が施されないという不都合が起こる。そのため、マスク領域の端の方では弱いマスクになるようにする。マスク部23は、目尻点と目頭点の中点(マスク領域の中心)におけるマスク値が0、マスク領域の境界線上のマスク値が1になるように、かつ、ガウス分布にしたがってマスク領域の中心から離れるほどマスク値が大きくなるように、マスク領域内の各ピクセルのマスク値を設定する。なお、ガウス分布ではなく、マスク値を線形に変化させてもよいし、他の関数またはテーブルを用いてマスク値を変化させてもよい。また、マスクは楕円ではなく、他の形状であってもよい。
【0089】
図10は、図9に対応する、目のマスクの例を示す画像である。図10において、明るい(白い)箇所はマスク値が大きい箇所を示し、暗い(黒い)箇所はマスク値が小さい箇所を示す。マスク値は、メーキャップ色を合成する際の重みとして用いられるので、マスク値が小さい箇所(暗い箇所)は強くマスクされ、メーキャップ色はほとんど合成されない。逆にマスク値が大きい箇所(明るい箇所)ではマスクは弱くなり、メーキャップ色はマスクされずに合成される。
【0090】
重み決定部24は、重み分布を表す各要素、すなわち、大きさおよび形状が調整されたメーキャップ形状と、肌色度合いDsと、マスクとを合成し、色の合成に用いる重み分布を求める(S25)。具体的には、重み決定部24は、重み分布として、各ピクセルについて、大きさおよび形状が調整されたメーキャップ形状と、肌色度合いDsと、マスクとの積を求める。
【0091】
図11は、図9に対応する、肌色度合いDsとマスクとの積を示す画像である。図9と比べると、マスクによって、目の部分がマスクされているのが分かる。なお、メーキャップ色は、図11において明るく示されているピクセルについて、より濃く重ねられる。なお、重み決定部24は、肌色度合いDsとマスクとの積の値を、所定の閾値(例えば0.5)と比較することにより、各ピクセルが肌であるか否かを判定してもよい。そして、例えば、肌であると判定されたピクセルの値を1、肌ではないと判定されたピクセルの値を0として重みを2値化してもよい。または、積が所定の閾値より小さいピクセルのみ、重みを0としてもよい。
【0092】
図12は、図6に対応する、重み分布を示す画像である。重み分布は、調整されたメーキャップ形状と肌色度合いDsとマスクとの積であり、図12は、図6に示す重みと図11に示す重みとを各ピクセルについて積をとった重み分布を示す。図12において、明るい(白い)箇所は重みが大きい箇所を示し、暗い(黒い)箇所は重みが小さい箇所を示す。図12に示すものが最終的な重みであり、明るい(白い)箇所はメーキャップ色が濃く塗られる。以上で目のメーキャップ処理に使用する重み分布の算出処理が終了する。
【0093】
図13は、頬のメーキャップ処理に使用する重み分布を算出する処理の詳細な流れを示すフローチャートである。頬の場合は、目のマスク処理を必要としない点が異なるが、他は目の場合と同様の処理を行うので簡単に説明する。
【0094】
形状調整部21は、メーキャップ処理に使用するメーキャップの基本形状を決定する(S31)。例えば、頬紅の基本形状は、図5に示すように頬紅の塗布領域の中心付近の重みが最も大きく(頬紅の色が濃く)、中心から離れるにつれて徐々に重みが小さくなる(頬紅の色が薄くなる)重み分布を有する。
【0095】
形状調整部21は、使用するメーキャップ基本形状を、顔画像の頬の形状に適合するよう、検出された目、口、および鼻の特徴に応じて変形する(S32)。まず、形状調整部21は、検出された目、口、および鼻等の特徴の位置関係から、使用するメーキャップ基本形状の大きさを、顔画像の頬の大きさに適した大きさに変更する。また、形状調整部21は、目、口、および鼻等の特徴の位置関係から頬のいくつかの代表点の位置を推定する。該代表点と、大きさが調整されたメーキャップ基本形状の対応する点とがそれぞれ一致するように、形状調整部21は、大きさが調整されたメーキャップ基本形状を変形する。
【0096】
肌特定部22は、処理対象の顔画像の各ピクセルについて、肌色度合いDsを特定する(S33)。この処理は目のメーキャップ処理の場合と同じである。
【0097】
重み決定部24は、重み分布を表す各要素、すなわち、大きさおよび形状が調整されたメーキャップ形状と、肌色度合いDsとを合成し、色の合成に用いる重み分布を求める(S34)。具体的には、重み決定部24は、重み分布として、各ピクセルについて、大きさおよび形状が調整されたメーキャップ形状と、肌色度合いDsとの積を求める。以上で頬のメーキャップ処理に使用する重み分布の算出処理が終了する。
【0098】
図7のフローに戻り、S9またはS10の後、色補正部16は、利用者が指定したメーキャップ色を補正して、合成に用いるピクセル毎に補正されたメーキャップ色を求める(S11)。色補正部16は、瞼領域(または頬領域)の各ピクセルの色の差に基づく補正と、左右の瞼領域(または頬領域)の明るさ(輝度)の差に基づく補正とを行う。
【0099】
具体的には、まず、色補正部16は、メーキャップを施す領域の肌の色の代表色(Yo,Cbo,Cro)を取得する。肌の色の代表色は、該領域の平均色等であってもよい。また、顔領域全体の肌の色の平均色を代表色として用いてもよい。なお、ここでは色空間としてYCbCr色空間を用いるがこれに限らない。色補正部16は、利用者が指定したメーキャップ色(Ys,Cbs,Crs)と肌の色の代表色(Yo,Cbo,Cro)とから、θおよびrを求める。ここで、θは、CbCr平面においてベクトル(Cbs,Crs)とベクトル(Cbo,Cro)とがなす角である。また、r=Ys/Yoである。θは、メーキャップ色と肌の色の代表色との色味または色相の差と言える。また、rは、メーキャップ色と肌の色の代表色との輝度の比を示す。
【0100】
色補正部16は、顔画像の各ピクセル値(Y,Cb,Cr)に対し、該ピクセルに重ねる(合成する)メーキャップ色(Y’,Cb’,Cr’)をピクセル毎に求める。ここで、Y’=rYになるようにメーキャップ色の輝度Y’を決定する。また、CbCr平面においてベクトル(Cb’,Cr’)とベクトル(Cb,Cr)とがなす角がθになるように、Cb’およびCr’を決定する。言い換えれば、色補正部16は、利用者が指定したメーキャップ色と肌の色の代表色との輝度の比および色相の差を用いて、顔画像の肌の色(各ピクセル値)に応じて補正したメーキャップ色(Y’,Cb’,Cr’)を求める。なお、輝度の比(または差)および色相の差のいずれか一方のみを用いてメーキャップ色を補正してもよい。
【0101】
図14は、補正されたメーキャップ色(Y’,Cb’,Cr’)と顔画像の対応するピクセル値(Y,Cb,Cr)との色空間における関係を示す図である。図14に示すように、顔画像の各ピクセル値(Y,Cb,Cr)と、それに対応する補正されたメーキャップ色(Y’,Cb’,Cr’)との色空間における関係(θ、rの関係)が、肌の色の代表色(Yo,Cbo,Cro)と、利用者が指定したメーキャップ色(Ys,Cbs,Crs)との関係と同じになるように、色補正部16は、メーキャップ色を補正する。なお、ピクセル毎に補正せずに利用者に指定されたメーキャップ色をそのまま用いてもよい。
【0102】
次に、色補正部16は、顔の左側のメーキャップを施す領域(例えば左瞼)のピクセルの輝度の平均Ylと、顔の右側のメーキャップを施す領域(例えば右瞼)のピクセルの輝度の平均Yrとを取得する。そして、色補正部16は、左右のメーキャップ領域の輝度の差d=Yl−Yrを用いて、メーキャップ色(Y’,Cb’,Cr’)の輝度Y’をさらに補正し、左右の肌の明るさの差に基づいて補正されたメーキャップ色の輝度Yl’(左用)およびYr’(右用)を求める。
Yl’=Y’−γd
Yr’=Y’+γd
ここで、γ(0≦γ≦0.5)は左右のメーキャップの見え方の違いを調整するパラメータであり、メーキャップの種類毎にあらかじめ設定されていてもよいし、利用者が指定してもよい。なお、左右いずれかのメーキャップ色を基準にして、もう一方のメーキャップ色の輝度のみを補正してもよい。また、左右の平均輝度の比(Yl/Yr)を用いて、Yr’=Y’(Yl/Yr)のように補正してもよい。また、左右の平均輝度を用いる代わりに、左右のメーキャップ領域の輝度の中央値等、メーキャップ領域の明るさを代表する代表輝度(代表色)を用いてメーキャップ色を補正してもよい。
【0103】
撮像時の照明等の影響により、左右の瞼(または頬)領域の明るさ(輝度)が異なる場合、ピクセル毎に補正した後のメーキャップ色(Y’,Cb’,Cr’)をそのまま顔画像に合成すると、メーキャップ色が左右で異なって見えることがある。そのため、メーキャップ色の左右の輝度差が小さくなるようにメーキャップ色の輝度Y’を補正して、Yl’およびYr’を得る。
【0104】
合成部17は、重み分布を用いて、処理対象の顔画像の色に、補正されたメーキャップ色を合成する(重ねる)ことにより、顔画像にメーキャップ色を塗布(着色)する(S12)。具体的には、合成部17は、各ピクセルについて、該ピクセルの重みwに補正されたメーキャップ色をかけて、顔画像の該ピクセルの色と合成する。合成後の各ピクセルの色(Ya,Cba,Cra)は、例えば以下の式を用いて得られる。
Ya=(1−α×w)×Y+α×w×Yl’ (左瞼、左頬の場合)
Ya=(1−α×w)×Y+α×w×Yr’ (右瞼、右頬の場合)
Cba=(1−w)×Cb+w×Cb’
Cra=(1−w)×Cr+w×Cr’
ここで、wは各ピクセルについての重みであり、α(0<α≦1)は輝度について重みを調整するパラメータである。輝度の変化は視覚的な影響が大きく、メーキャップによって輝度が大きく変化すると不自然に見えるため、合成部17は、メーキャップによる輝度の変化を抑えて、顔画像にメーキャップ色を合成する。
【0105】
左右のメーキャップ処理が完了していなければ(S13でNo)、S7に戻り、左右の残りの処理を行う。
【0106】
左右のメーキャップ処理が完了している場合(S13でYes)、続いて他のメーキャップ処理(アイライン、頬紅等)を行う。
【0107】
他のメーキャップ処理が未処理の場合(S14でNo)、S6に戻り、未処理のメーキャップ処理を行う。
【0108】
指示された全てのメーキャップ処理が完了している場合(S14でYes)、表示制御部18は、メーキャップ処理後の画像を表示装置5に表示させ、メーキャップ処理を終了する。
【0109】
本実施の形態によれば、処理対象の顔画像の肌色度合いを判定し、肌色度合いに応じて肌であると考えられる箇所にメーキャップ処理を施す。肌色度合いが小さい箇所については、メーキャップ処理の重みを小さくする、またはメーキャップ処理を行わない。そのため、メーキャップすべき領域の一部が眼鏡または髪等の他の物体に覆われている場合でも、他の物体にメーキャップ処理を行うことを防止し、肌にのみメーキャップ処理を行い自然なメーキャップ処理画像を得ることができる。また、目等の特徴点の検出を誤った場合にも、肌色度合いに応じてメーキャップ処理を行うので、目の中や顔の範囲外にメーキャップ処理を行うことを防止することができる。そのため、利用者は最初にメーキャップの種類、形状、色等を選択するだけで、気軽にメーキャップシミュレーションを行うことができる。
【0110】
また、目の輪郭形状の個人差、顔画像の顔の向きが正面でないこと、または照明の当たり方で目の輪郭がはっきりしないこと等に起因し、検出した特徴点(目尻、目頭、目輪郭点等)の位置に誤差が生じることがある。このような場合、従来の技術では、目の中にアイラインまたはアイシャドウが入り込むことがある。
【0111】
本実施の形態では、形状調整部21がメーキャップ形状を調整する方法とは異なる方法で、マスク部23が目の領域を規定し、目の領域にマスクをする。そのため、メーキャップ形状が目に重なるように配置された場合でも、目の領域はマスクされるので、目にメーキャップが入り込むことを防止することができる。
【0112】
また、撮像時に左右の照明の当たり方が均一ではなく、顔画像の左右の一方に陰影ができていたりして、左右の肌の明るさが同じではないことがある。そのような顔画像にメーキャップを塗布する際に、左右で異なる肌の色に同じ色のメーキャップ色を合成すると肌の色の違いが反映されて、合成後のメーキャップの色は左右で異なっているように見えることがある。
【0113】
本実施の形態では、左右のメーキャップ領域の肌の色の違いに応じて左右のメーキャップ領域毎に適用するメーキャップ色を補正し、合成に使用するメーキャップ色を左右で異なる色にすることにより、肌にメーキャップが合成された後のメーキャップ領域の色の差異を減少させ、自然な見た目のメーキャップ処理を行うことができる。
【0114】
また、画像から検出した顔の向きが正面から大きく外れていたり、笑うなどの大きな表情変化があって特徴点をうまく検出できない場合、メーキャップ処理を施すと意図しない位置にメーキャップを合成してしまい、不自然になってしまう場合がある。また、顔画像が小さい場合、メーキャップを施す小さな領域にうまくグラデーションがかけられないので自然なメーキャップ処理が困難になることがある。
【0115】
本実施の形態では、検出した顔画像がメーキャップ処理に適しているかを判定し、適していると判定された顔画像についてメーキャップ処理を行う。そのため、メーキャップ処理による失敗を防止し、メーキャップに適した顔画像にだけメーキャップ処理を行うことができる。
【0116】
なお、本実施の形態では、画像処理装置を備えるデジタルカメラを例にとって説明したが、これに限らず、デジタルビデオカメラ、カメラ付き携帯電話、コンピュータ等に適用することもできる。撮像される画像は、Webカメラ、ネットワーク、着脱可能な記憶装置等を介して取得されてもよい。また、撮像された静止画だけではなく、動画等の顔画像にメーキャップ処理を行ってもよい。また、デジタルカメラで撮像を行う際にデジタルカメラの表示装置に表示されるプレビュー画像にメーキャップ処理を施してもよい。
【0117】
また、メーキャップに限らず、人物画像の顔または肌等に任意の模様を合成してもよい。本実施の形態では、合成後の左右のメーキャップ領域の色(輝度)の違いが小さくなるよう、適用するメーキャップ色を左右で異なる色に補正したが、左右に限らず、同じ色のメーキャップ色を適用する複数の異なるメーキャップ領域において、合成後の複数のメーキャップ領域の色(輝度)の違いが小さくなるよう、各メーキャップ領域の肌の色の差(例えば各メーキャップ領域の肌の平均色との差)を用いて、適用するメーキャップ色を各メーキャップ領域毎に補正してもよい。
【0118】
最後に、画像処理装置6の各ブロック、特に画像取得部11、顔検出部12、特徴検出部13、適否判定部14、メーキャップ形状決定部15、色補正部16、合成部17、表示制御部18、形状調整部21、肌特定部22、マスク部23、および重み分布決定部24は、ハードウェアロジックによって構成してもよいし、次のようにCPU(central processing unit)を用いてソフトウェアによって実現してもよい。
【0119】
すなわち、画像処理装置6は、各機能を実現する制御プログラムの命令を実行するCPU、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである画像処理装置6の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記画像処理装置6に供給し、そのコンピュータ(またはCPUやMPU(microprocessor unit))が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【0120】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM(compact disc read-only memory)/MO(magneto-optical)/MD(Mini Disc)/DVD(digital versatile disk)/CD−R(CD Recordable)等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM(erasable programmable read-only memory)/EEPROM(electrically erasable and programmable read-only memory)/フラッシュROM等の半導体メモリ系などを用いることができる。
【0121】
また、画像処理装置6を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN(local area network)、ISDN(integrated services digital network)、VAN(value-added network)、CATV(community antenna television)通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE(institute of electrical and electronic engineers)1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(asynchronous digital subscriber loop)回線等の有線でも、IrDA(infrared data association)やリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR(high data rate)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
【0122】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【0123】
本発明は、画像処理装置を備えるデジタルカメラ等に利用することができる。
【符号の説明】
【0124】
1 デジタルカメラ
2 指示入力装置
3 撮像装置
4 画像記憶装置
5 表示装置
6 画像処理装置
11 画像取得部(指示受領部)
12 顔検出部
13 特徴検出部(検出部)
14 適否判定部
15 メーキャップ形状決定部
16 色補正部
17 合成部(着色部)
18 表示制御部
21 形状調整部
22 肌特定部
23 マスク部
24 重み分布決定部
【特許請求の範囲】
【請求項1】
人物画像の肌に、ある色の模様を着色する処理を行う画像処理装置であって、
上記人物画像の少なくとも一部の領域の箇所毎に、上記人物画像における色の肌色度合いを特定する肌特定部と、
上記人物画像に、上記肌色度合いに応じた濃さで上記模様を着色する着色部とを備えることを特徴とする画像処理装置。
【請求項2】
上記人物画像の上記一部の領域の各箇所の上記肌色度合いを反映した重み分布を決定する重み分布決定部を備え、
上記着色部は、上記重み分布の重みを用いて、上記人物画像の上記一部の領域の各箇所の色に上記模様の色を重ねることによって着色することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
上記人物画像の所定の部位の位置を検出する検出部と、
検出された上記位置に基づき、上記所定の部位に着色することを抑制するマスクを生成するマスク部とを備え、
上記重み分布決定部は、上記肌色度合いと上記マスクとを反映した重み分布を決定することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
上記人物画像の所定の部位の位置を検出する検出部と、
検出された上記位置に基づき、上記人物画像の顔が、模様を着色する対象として適しているか否かを判定する適否判定部とを備え、
上記人物画像の顔が、模様を着色する対象として適していると判定された場合に、上記着色部は、上記人物画像の顔に対して上記模様を着色することを特徴とする請求項1または2に記載の画像処理装置。
【請求項5】
上記適否判定部は、検出された上記位置に基づき、上記人物画像の顔の向きを特定し、上記人物画像の顔の向きが所定の範囲内にある場合、上記人物画像の顔が、模様を着色する対象として適していると判定することを特徴とする請求項4に記載の画像処理装置。
【請求項6】
上記肌特定部は、上記人物画像の肌の色を代表する代表色と、上記人物画像の上記一部の領域の各箇所の色との間の色空間における距離に基づき、上記人物画像の上記一部の領域の各箇所について上記肌色度合いを特定することを特徴とする請求項1から5のいずれか一項に記載の画像処理装置。
【請求項7】
上記着色部は、上記人物画像の顔に、メーキャップとして上記模様を着色することを特徴とする請求項1から6のいずれか一項に記載の画像処理装置。
【請求項8】
人物画像の肌に、ある色の模様を着色する処理を行う画像処理装置であって、
上記人物画像の、肌である箇所を特定する肌特定部と、
上記特定された肌である箇所に、上記模様を着色する着色部とを備えることを特徴とする画像処理装置。
【請求項9】
人物画像の肌に、ある色の模様を着色する処理を行う画像処理方法であって、
上記人物画像の少なくとも一部の領域の箇所毎に、上記人物画像における色の肌色度合いを特定する肌特定ステップと、
上記人物画像に、上記肌色度合いに応じた濃さで上記模様を着色する着色ステップとを含むことを特徴とする画像処理方法。
【請求項10】
人物画像の肌に、ある色の模様を着色する処理を行う画像処理方法であって、
上記人物画像の、肌である箇所を特定する肌特定ステップと、
上記特定された肌である箇所に、上記模様を着色する着色ステップとを含むことを特徴とする画像処理方法。
【請求項11】
人物画像の肌に、ある色の模様を着色する処理を行う画像処理装置の制御プログラムであって、
上記人物画像の少なくとも一部の領域の箇所毎に、上記人物画像における色の肌色度合いを特定する肌特定ステップと、
上記人物画像に、上記肌色度合いに応じた濃さで上記模様を着色する着色ステップとをコンピュータに実行させる制御プログラム。
【請求項12】
人物画像の肌に、ある色の模様を着色する処理を行う画像処理装置の制御プログラムであって、
上記人物画像の、肌である箇所を特定する肌特定ステップと、
上記特定された肌である箇所に、上記模様を着色する着色ステップとをコンピュータに実行させる制御プログラム。
【請求項1】
人物画像の肌に、ある色の模様を着色する処理を行う画像処理装置であって、
上記人物画像の少なくとも一部の領域の箇所毎に、上記人物画像における色の肌色度合いを特定する肌特定部と、
上記人物画像に、上記肌色度合いに応じた濃さで上記模様を着色する着色部とを備えることを特徴とする画像処理装置。
【請求項2】
上記人物画像の上記一部の領域の各箇所の上記肌色度合いを反映した重み分布を決定する重み分布決定部を備え、
上記着色部は、上記重み分布の重みを用いて、上記人物画像の上記一部の領域の各箇所の色に上記模様の色を重ねることによって着色することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
上記人物画像の所定の部位の位置を検出する検出部と、
検出された上記位置に基づき、上記所定の部位に着色することを抑制するマスクを生成するマスク部とを備え、
上記重み分布決定部は、上記肌色度合いと上記マスクとを反映した重み分布を決定することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
上記人物画像の所定の部位の位置を検出する検出部と、
検出された上記位置に基づき、上記人物画像の顔が、模様を着色する対象として適しているか否かを判定する適否判定部とを備え、
上記人物画像の顔が、模様を着色する対象として適していると判定された場合に、上記着色部は、上記人物画像の顔に対して上記模様を着色することを特徴とする請求項1または2に記載の画像処理装置。
【請求項5】
上記適否判定部は、検出された上記位置に基づき、上記人物画像の顔の向きを特定し、上記人物画像の顔の向きが所定の範囲内にある場合、上記人物画像の顔が、模様を着色する対象として適していると判定することを特徴とする請求項4に記載の画像処理装置。
【請求項6】
上記肌特定部は、上記人物画像の肌の色を代表する代表色と、上記人物画像の上記一部の領域の各箇所の色との間の色空間における距離に基づき、上記人物画像の上記一部の領域の各箇所について上記肌色度合いを特定することを特徴とする請求項1から5のいずれか一項に記載の画像処理装置。
【請求項7】
上記着色部は、上記人物画像の顔に、メーキャップとして上記模様を着色することを特徴とする請求項1から6のいずれか一項に記載の画像処理装置。
【請求項8】
人物画像の肌に、ある色の模様を着色する処理を行う画像処理装置であって、
上記人物画像の、肌である箇所を特定する肌特定部と、
上記特定された肌である箇所に、上記模様を着色する着色部とを備えることを特徴とする画像処理装置。
【請求項9】
人物画像の肌に、ある色の模様を着色する処理を行う画像処理方法であって、
上記人物画像の少なくとも一部の領域の箇所毎に、上記人物画像における色の肌色度合いを特定する肌特定ステップと、
上記人物画像に、上記肌色度合いに応じた濃さで上記模様を着色する着色ステップとを含むことを特徴とする画像処理方法。
【請求項10】
人物画像の肌に、ある色の模様を着色する処理を行う画像処理方法であって、
上記人物画像の、肌である箇所を特定する肌特定ステップと、
上記特定された肌である箇所に、上記模様を着色する着色ステップとを含むことを特徴とする画像処理方法。
【請求項11】
人物画像の肌に、ある色の模様を着色する処理を行う画像処理装置の制御プログラムであって、
上記人物画像の少なくとも一部の領域の箇所毎に、上記人物画像における色の肌色度合いを特定する肌特定ステップと、
上記人物画像に、上記肌色度合いに応じた濃さで上記模様を着色する着色ステップとをコンピュータに実行させる制御プログラム。
【請求項12】
人物画像の肌に、ある色の模様を着色する処理を行う画像処理装置の制御プログラムであって、
上記人物画像の、肌である箇所を特定する肌特定ステップと、
上記特定された肌である箇所に、上記模様を着色する着色ステップとをコンピュータに実行させる制御プログラム。
【図1】
【図7】
【図8】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図9】
【図10】
【図11】
【図12】
【図7】
【図8】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−98808(P2012−98808A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願番号】特願2010−244186(P2010−244186)
【出願日】平成22年10月29日(2010.10.29)
【特許番号】特許第4862955号(P4862955)
【特許公報発行日】平成24年1月25日(2012.1.25)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願日】平成22年10月29日(2010.10.29)
【特許番号】特許第4862955号(P4862955)
【特許公報発行日】平成24年1月25日(2012.1.25)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
[ Back to top ]