説明

画像処理装置、画像処理方法および画像処理プログラム

【課題】入力画像が全体的に暗かったり、赤みがかったりしているため、補正した画像が入力画像の状態に引きずられて、顔画像の肌色が綺麗に見えにくくなる。
【解決手段】入力画像内における顔画像を検出する顔画像検出部21と、入力画像の状態を判定する状態判定部22と、顔画像に対応する色域として所定の表色系において予め定められた色域に対して状態判定部22による判定結果に応じた変更を施す色域変更部23と、顔画像検出部21によって検出された顔画像に含まれる画素のうち色が色域変更部23による変更後の色域に属する画素を抽出する画素抽出部24と、画素抽出部24によって抽出された画素に基づいて顔画像を代表する代表色を算出する代表色算出部25と、を有する。また、代表色に対応する色彩色を顔画像の周辺領域に形成する顔画像周辺領域形成部27を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【0002】
画像処理の分野では、デジタルスチルカメラ等から得られた入力画像に含まれている顔画像の色を理想的な肌色にするための補正が試みられている。かかる補正を行う場合、画像処理を実行するプリンター等は、補正前の入力画像における顔画像の肌部分を代表する色(適宜、肌代表色と呼ぶ)を求め、当該求めた肌代表色に応じて決定した補正量によって入力画像の画素に対する補正を行なっていた。しかし、この補正を適切に行うには、補正前の入力画像における顔画像の肌部分の色を正確に反映した肌代表色を得る必要がある。
【0003】
特許文献1の画像処理装置では、顔画像にかかる肌代表色を正確に取得するために、入力画像内における顔画像の少なくとも一部を含む領域を検出する特定画像検出部と、入力画像の状態を判定する状態判定部と、顔画像に対応する色域として所定の表色系において予め定められた肌色域に対して状態判定部による判定結果に応じた変更を施す色域変更部と、特定画像検出部によって検出された領域に含まれる画素のうち色が色域変更部による変更後の色域に属する画素を抽出する画素抽出部と、画素抽出部によって抽出された画素に基づいて顔画像を代表する代表色を算出する代表色算出部と、を備えている。
これらの構成により、画像全体が例えば全体的に暗かったり、赤みがかったりしていても、正確な肌色の代表色を取得することができ、画像中で特に注目を引く顔画像を元の肌に近い色で再現して表示したり、印刷したりすることを可能としている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−3118号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の画像処理装置によって画像を補正した場合、顔画像を元の肌に近い色で再現することが可能となる。しかしながら、折角、元の肌に近い色で再現しても撮影された画像(入力画像)が例えば全体的に暗かったり、赤みがかったりしているため、補正した画像が入力画像の状態に引きずられて、顔画像の肌色が綺麗に見えにくくなるという課題があった。
【課題を解決するための手段】
【0006】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【0007】
[適用例1]本適用例に係る画像処理装置は、入力画像内における顔画像を検出する顔画像検出部と、前記入力画像の状態を判定する状態判定部と、前記顔画像に対応する色域として所定の表色系において予め定められた色域に対して前記状態判定部による判定結果に応じた変更を施す色域変更部と、前記顔画像検出部によって検出された顔画像に含まれる画素のうち色が前記色域変更部による変更後の色域に属する画素を抽出する画素抽出部と、前記画素抽出部によって抽出された画素に基づいて前記顔画像を代表する代表色を算出する代表色算出部と、を有する画像処理装置であって、前記代表色に対応する色彩色を前記顔画像の周辺領域に形成する顔画像周辺領域形成部を備えることを特徴とする。
【0008】
本適用例によれば、入力画像の状態に応じて、予め定められた色域を変更し、この変更後の色域に属する画素に基づいて顔画像の代表色を算出する。このため、入力画像の状態がどのようなものであっても、代表色は入力画像内の顔画像の色を正確に反映したものとなる。また、この代表色に対応する色彩色を顔画像の周辺領域に形成することにより、入力画像に引きずられて、顔画像の肌色が綺麗に見えにくくなるという場合でも、顔画像を引き立てることが可能になる。
【0009】
[適用例2]上記適用例に記載の画像処理装置において、前記色彩色は、前記代表色と、予め定められている理想的な肌色と、の差異に応じて生成した補正関数を用いて前記代表色を補正した補正後代表色に基づいて求めることを特徴とする。
【0010】
本適用例によれば、代表色と、予め定められている理想的な肌色と、の差異に応じて生成した補正関数を用いて補正後代表色を求める。このため、補正後代表色は、入力画像を補正した場合における顔画像の代表色となる。また、この補正後代表色に基づいて色彩色を求めることにより、補正後の顔画像を引き立てる色彩色にすることができる。
【0011】
[適用例3]上記適用例に記載の画像処理装置において、前記色彩色は、前記補正後代表色と補色の関係にあることを特徴とする。
【0012】
本適用例によれば、補正後代表色と補色の関係にある色を色彩色にすることにより、顔画像を明瞭に引き立てることができる。
【0013】
[適用例4]上記適用例に記載の画像処理装置において、前記顔画像周辺領域形成部は、前記顔画像の周辺領域として前記顔画像における顔肌色領域の輪郭の周辺領域を抽出することを特徴とする。
【0014】
本適用例によれば、顔肌色領域の輪郭の周辺領域を抽出して顔画像の周辺領域とすることにより、特に効果的である顔画像の肌色領域について引き立てることができる。
【0015】
[適用例5]上記適用例に記載の画像処理装置において、前記顔画像周辺領域形成部は、前記色彩色を前記顔画像の周辺領域に形成するときに、スムージングを行うことを特徴とする。
【0016】
本適用例によれば、顔画像の周辺領域についてスムージングを行うことにより、顔画像の肌色領域を自然な状態で引き立てることができる。
【0017】
[適用例6]上記適用例に記載の画像処理装置において、前記顔画像周辺領域形成部は、前記色彩色を前記顔画像の周辺領域に形成するときに、前記周辺領域内に複数のサイズのドットを形成し、前記複数のサイズのドットの中で大きいサイズのドットを小さいサイズのドットよりも前記顔画像の近くに配置することを特徴とする。
【0018】
本適用例によれば、顔画像の周辺領域について大きいサイズのドットを小さいサイズのドットよりも顔画像の近くに配置することにより、顔画像の肌色領域を自然な状態で引き立てることができる。
【0019】
[適用例7]本適用例に係る画像処理方法は、入力画像内における顔画像を検出する顔画像検出工程と、前記入力画像の状態を判定する状態判定工程と、前記顔画像に対応する色域として所定の表色系において予め定められた色域に対して前記状態判定工程における判定結果に応じた変更を施す色域変更工程と、前記顔画像検出工程において検出された顔画像に含まれる画素のうち色が前記色域変更工程における変更後の色域に属する画素を抽出する画素抽出工程と、前記画素抽出工程において抽出された画素に基づいて前記顔画像を代表する代表色を算出する代表色算出工程と、を有する画像処理方法であって、前記代表色に対応する色彩色を前記顔画像の周辺領域に形成する顔画像周辺領域形成工程を備えることを特徴とする。
【0020】
本適用例によれば、入力画像の状態に応じて、予め定められた色域を変更し、この変更後の色域に属する画素に基づいて顔画像の代表色を算出する。このため、入力画像の状態がどのようなものであっても、代表色は入力画像内の顔画像の色を正確に反映したものとなる。また、この代表色に対応する色彩色を顔画像の周辺領域に形成することにより、入力画像に引きずられて、顔画像の肌色が綺麗に見えにくくなるという場合でも、顔画像を引き立てることが可能になる。
【0021】
[適用例8]本適用例に係る画像処理プログラムは、入力画像内における顔画像を検出する顔画像検出機能と、前記入力画像の状態を判定する状態判定機能と、前記顔画像に対応する色域として所定の表色系において予め定められた色域に対して前記状態判定機能による判定結果に応じた変更を施す色域変更機能と、前記顔画像検出機能によって検出された顔画像に含まれる画素のうち色が前記色域変更機能による変更後の色域に属する画素を抽出する画素抽出機能と、前記画素抽出機能によって抽出された画素に基づいて前記顔画像を代表する代表色を算出する代表色算出機能と、を有する画像処理プログラムであって、前記代表色に対応する色彩色を前記顔画像の周辺領域に形成する顔画像周辺領域形成機能をコンピューターに実行させることを特徴とする。
【0022】
本適用例によれば、入力画像の状態に応じて、予め定められた色域を変更し、この変更後の色域に属する画素に基づいて顔画像の代表色を算出する。このため、入力画像の状態がどのようなものであっても、代表色は入力画像内の顔画像の色を的確に反映したものとなる。また、この代表色に対応する色彩色を顔画像の周辺領域に形成することにより、入力画像に引きずられて、顔画像の肌色が綺麗に見えにくくなるという場合でも、顔画像を引き立てることが可能になる。
【図面の簡単な説明】
【0023】
【図1】プリンターの概略構成を示すブロック図。
【図2】プリンターが実行する肌代表色取得処理を示すフローチャート。
【図3】画像データ内において検出された顔領域を示す図。
【図4】要素色毎のヒストグラムを示す図。
【図5】画像データの領域を中央領域と周囲領域とに分けた様子を示す図。
【図6】肌色域定義情報が定義する肌色域を示す図。
【図7】肌色域を変更する様子を示す図。
【図8】肌色域を変更する様子を示す図。
【図9】肌色域を変更する様子を示す図。
【図10】座標軸において補色を説明するための図。
【図11】肌色域の変更後に色彩色を選定する様子を示す図。
【図12】肌色域の変更後に色彩色を選定する様子を示す図。
【図13】肌色域の変更後に色彩色を選定する様子を示す図。
【図14】顔画像領域と顔画像周辺領域を示す図。
【図15】顔画像の顎部分周辺の拡大図。
【図16】顔画像の顎部分周辺の拡大図。
【発明を実施するための形態】
【0024】
以下、図面を参照して本発明の実施形態を説明する。
図1は、本発明の画像処理装置の一例に該当するプリンター10の構成を概略的に示している。プリンター10は、記録メディア(例えば、メモリーカードMC等)から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラープリンター(例えば、カラーインクジェットプリンター)である。プリンター10は、プリンター10の各部を制御するCPU11と、例えばROMやRAMによって構成された内部メモリー12と、ボタンやタッチパネルにより構成された操作部14と、液晶ディスプレイにより構成された表示部15と、プリンターエンジン16と、カードインターフェース(カードI/F)17と、PCやサーバーやデジタルスチルカメラ等の各種外部機器との情報のやり取りのためのI/F部13とを備えている。プリンター10の各構成要素は、バスを介して互いに接続されている。
【0025】
プリンターエンジン16は、印刷データに基づき印刷を行う印刷機構である。カードI/F17は、カードスロット172に挿入されたメモリーカードMCとの間でデータのやり取りを行うためのI/Fである。メモリーカードMCには画像データが格納されており、プリンター10は、カードI/F17を介してメモリーカードMCに格納された画像データを取得することができる。画像データ提供のための記録メディアとしてはメモリーカードMC以外にも種々の媒体を用いることができる。むろんプリンター10は、記録メディア以外にも、I/F部13を介して接続した上記外部機器から画像データを入力することも可能である。プリンター10は、コンシューマー向けの印刷装置であってもよいし、DPE向けの業務用印刷装置(いわゆるミニラボ機)であってもよい。プリンター10は、I/F部13を介して接続したPCやサーバー等から印刷データを入力することもできる。
【0026】
内部メモリー12には、画像処理部20と、表示制御部30と、印刷制御部40とが格納されている。画像処理部20は、所定のオペレーティングシステムの下で、画像データに対して各種画像処理を実行するためのコンピュータプログラムである。表示制御部30は、表示部15を制御することにより表示部15の画面に所定のユーザーインターフェース(UI)画像やメッセージやサムネイル画像などを表示させるディスプレイドライバーである。印刷制御部40は、画像処理が施された後の画像データに基づいて各画素の記録材(インクやトナー)の記録量を規定した印刷データを生成し、プリンターエンジン16を制御して、印刷データに基づく画像の印刷媒体への印刷を実行するためのコンピュータプログラムである。
【0027】
CPU11は、内部メモリー12から、これらの各プログラムを読み出して実行することにより、これら各部の機能を実現する。画像処理部20はさらに、プログラムモジュールとして、顔画像検出部21と、状態判定部22と、色域変更部23と、画素抽出部24と、代表色算出部25と、入力画像補正部26と、顔画像周辺領域形成部27とを少なくとも含んでいる。これら各部の機能については後述する。さらに、内部メモリー12には、肌色域定義情報12aや顔テンプレート12b等の各種データやプログラムが格納されている。プリンター10は、印刷機能以外にも、コピー機能やスキャナー機能(画像読取機能)など多種の機能を備えたいわゆる複合機であってもよい。
【0028】
次に、プリンター10において画像処理部20に従って実行される肌代表色取得処理、入力画像補正処理および顔画像周辺領域形成処理について説明する。肌代表色とは、入力画像内に存在する顔画像を代表する色を意味し、より具体的には、当該顔画像の肌部分の色を代表する色を意味する。
【0029】
図2は、肌代表色取得処理をフローチャートにより示している。
ステップS(以下、「ステップ」の表記を省略。)100では、画像処理部20は、処理対象となる画像を表した画像データDをメモリーカードMC等の記録メディアから取得する。つまり、ユーザーが表示部15に表示されたUI画像を参照して操作部14を操作し、処理対象とする画像データDを指定した場合に、当該指定された画像データDを画像処理部20が読み込む。画像処理部20は、I/F部13を介してPCやサーバーやデジタルスチルカメラ等から画像データDを取得してもよい。画像データDは、各画素の色が要素色(RGB)毎の階調値で表されたビットマップデータである。画像データDは、記録メディア等に記録されている段階で圧縮されていてもよいし、他の表色系で各画素の色が表現されていてもよい。これらの場合、画像データDの展開や表色系の変換を実行し、画像処理部20がRGBビットマップデータとしての画像データDを取得する。このように取得された画像データDは入力画像に該当する。
【0030】
S110では、顔画像検出部21が画像データDから顔領域を検出する。顔領域とは、少なくとも顔画像の一部を含む領域を意味する。顔画像検出部21は、顔領域を検出可能な手法であればあらゆる手法を採用することができる。例えば、顔画像検出部21は、複数のテンプレート(上記顔テンプレート12b)を利用したいわゆるパターンマッチングによって画像データDから顔領域を検出する。パターンマッチングを行うにあたっては、画像データD上に矩形状の検出領域SAを設定し、画像データD上での検出領域SAの位置と大きさを変えながら、検出領域SA内の画像と各顔テンプレート12bの画像との類似性を評価する。そして、類似性が一定の基準を満足する検出領域SAを顔領域として特定(検出)する。画像データD全体に検出領域SAを移動させることにより、画像データD内に存在する単数または複数の顔についての顔領域を検出できる。本実施形態では、一つの顔を含む一つの顔領域が検出されたものとして説明を続ける。なお顔画像検出部21は、検出領域SA単位で画像の各種情報(例えば、輝度情報やエッジ量やコントラスト等。)を入力し検出領域SAに顔画像が存在するか否かを示す情報を出力する、予め学習されたニューラルネットワークを用いることにより、顔領域の検出を行なっても良いし、サポートベクタマシンを利用して検出領域SA毎に顔領域であるか否かを判断してもよい。
【0031】
図3は、S110において画像データDから顔領域として検出された検出領域SAの矩形を示している。以下では、S110において顔領域として検出された検出領域SAを顔領域SAと呼ぶ。
S120では、状態判定部22が画像データDの状態を判定する。画像データDの状態とは、画像データDの画像における色のバランスや明るさや、画像中に含まれる被写体の特徴等に基づいて決定される状態を言う。本実施形態では特にS120において、画像データDが色かぶり画像であるか否かの判定および画像データDがアンダー画像であるか否かの判定を所定の判定手法に従って行う。
【0032】
状態判定部22は、画像データDが色かぶり画像であるか否かの判定を、例えば以下のように行う。まず状態判定部22は、画像データDの全範囲を対象として所定の抽出率に基づいて画素をサンプリングするとともに当該サンプリングした画素のRGB毎の度数分布(ヒストグラム)をそれぞれ生成する。そして、R,G,Bそれぞれのヒストグラムにおける特徴値、例えば最大値(ただし平均値やメジアンや最大分布値であってもよい。)Rmax,Gmax,Bmaxを求め、これら特徴値間の相対的な大小関係に基づいて、画像データDが色かぶり画像であるか判定する。
【0033】
図4A,4B,4Cは、状態判定部22が生成したRGB毎のヒストグラムを例示している。図4に示した各ヒストグラムはそれぞれ横軸を階調値(0〜255)、縦軸を画素数(度数)としている。例えば、状態判定部22は、最大値Rmax,Gmax,Bmax間の差分|Rmax−Gmax|、|Rmax−Bmax|、|Bmax−Gmax|のうち、|Rmax−Gmax|および|Rmax−Bmax|が|Bmax−Gmax|よりもある所定値以上の差をもって大きく、且つRmax>Gmax、且つRmax>Bmaxであれば、画像データDにかかる画像はいわゆる赤かぶりであると判定する。あるいはオレンジかぶりの状態であると判定する。
【0034】
ここで、状態判定部22は、顔領域SA内から画素をサンプリングし、このサンプリングした画素を対象としてRGB毎の平均値Rave,Gave,Baveを算出し、これら平均値Rave,Gave,Bave間の大小関係に基づいて、画像データDが色かぶり画像であるか否かを判定してもよい。つまり、顔領域SA内の画素の多くは顔画像の肌部分に対応した画素であるため、顔領域SA内の画素から算出した平均値Rave,Gave,Bave間のバランスを上述したような判定手法にて判断することで入力画像内の顔が色かぶり状態であるか否か判定し、その判定結果をもって入力画像の状態についての判定結果とする。
【0035】
また、状態判定部22は、画像データDがアンダー画像であるか否かの判定を、例えば以下のように行う。状態判定部22は、上記のように画像データDの全範囲を対象として所定の抽出率に基づいて画素をサンプリングした場合に、サンプリングした画素の輝度の平均値(輝度平均値)も求める。輝度平均値も画像データDの特徴値の一種である。そして、当該輝度平均値と所定のしきい値とを比較し、輝度平均値がしきい値以下である場合に、画像データDが全体的に暗い画像すなわちアンダー画像であると判定する。ここで用いるしきい値とは、例えば、予め算出されてプリンター10の内部メモリー12等に保存されたデータである。本実施形態では、アンダー画像であると評価される複数の異なる画像を当該しきい値を算出するために予め用意し、当該しきい値を算出するためのこれら画像毎に輝度平均値を求め、これら求めた輝度平均値のうちの最大値を当該しきい値として保存している。
【0036】
ここで、状態判定部22は、画像データDのエリア毎に異なる重みを与えて画像データDの輝度平均値を算出してもよい。例えば、状態判定部22は、画像データD内を中央領域と周囲領域とに分ける。中央領域と周囲領域との分け方は様々であるが、例えば状態判定部22は、画像データDにかかる画像の4辺に沿った枠状の領域を周囲領域とし、周囲領域以外の領域を中央領域とする。
【0037】
図5は、状態判定部22が画像データDの画像領域を中央領域CAと周囲領域PAとに分けた様子を例示している。
状態判定部22は、画像データDから画素をサンプリングする際に、周囲領域PAよりも中央領域CAにおいて高い抽出率で画素をサンプリングし、サンプリングした画素を対象とした輝度平均値を求める。このように中央領域CAに重きをおいて求めた輝度平均値と上記しきい値とを比較すれば、中央領域CAの輝度の影響を強く反映させて、画像データDがアンダー画像であるか否かを判定できる。つまり、周囲領域PAが比較的明るくても顔などの主要な被写体が存在している可能性の高い中央領域CAが比較的暗ければ、結果的にアンダー画像と判定されやすい。そのため、画像データDが、画像中央部が暗いいわゆる逆光画像である場合にも、アンダー画像であると判定されやすくなる。
なお、画像データDが色かぶり画像であるか否かの判定手法および画像データDがアンダー画像であるか否かの判定手法は、上述した手法に限られない。
【0038】
S130では、色域変更部23が内部メモリー12から肌色域定義情報12aを読み出す。肌色域定義情報12aは、顔画像検出部21が検出する画像(顔画像)が対応する色(肌色)の標準的な範囲(肌色域)を所定の表色系において予め定義した情報である。本実施形態では一例として、肌色域定義情報12aは、国際照明委員会(CIE)で規定されたL***表色系(以下、「*」の表記は省略。)において肌色域を定義している。ただし、肌色域定義情報12aによる肌色域の定義には、HSV表色系や、XYZ表色系や、RGB表色系等、様々な表色系を採用可能である。肌色域定義情報12aは、ある表色系において肌色らしい色域を規定した情報であればよい。
【0039】
図6は、Lab表色系において肌色域定義情報12aが定義する肌色域A1の一例を示している。肌色域定義情報12aは、肌色域A1を明度L、彩度C、色相Hの各範囲Ls≦L≦Le、Cs≦C≦Ce、Hs≦H≦Heによって定義している。図6の例では、肌色域A1は6面からなる立体である。図6では、ab平面上への肌色域A1の投影図をハッチングを施して併せて示している。ただし、肌色域定義情報12aが定義する肌色域は、上記のような6面体である必要はなく、例えば、肌色域の中心点を示すLab表色系における一つの座標と、当該一つの座標を中心とした半径rとによって定義される球状の領域であってもよいし、それ以外の形状であってもよい。
【0040】
S140では、色域変更部23は、状態判定部22による判定結果に応じて肌色域A1に対する変更を施す。具体的には、色域変更部23は、S120において状態判定部22によって画像データDが色かぶり画像であると判定された場合には、少なくともその色かぶりの状態に合わせて肌色域A1の色相範囲に変更を加える。また、色域変更部23は、S120において状態判定部22によって画像データDがアンダー画像であると判定された場合には、変更前と比較して低彩度側および高彩度側に拡大するように肌色域A1に変更を加える。
【0041】
図7は、状態判定部22によって画像データDが赤かぶり状態の画像であると判定された場合に色域変更部23が行う色域変更の様子を例示している。図7では、Lab表色系におけるab平面上に変更前の肌色域A1(鎖線)と変更後の肌色域A2(実線)とを示している。色域変更部23は、画像データDが赤かぶり状態の画像である場合には、図7に示すように、肌色域A1の色相範囲が赤方向を指すa軸に接近するように(あるいは色相範囲がa軸を跨ぐように)、肌色域A1を、L軸(グレー軸)を中心として時計周り方向に移動させる。つまり、画像データDは全体的に赤みがかった画像であるため顔画像の肌部分の色も赤みが強いと言え、そのため、赤みがかった肌部分の画素の色と肌色域定義情報12aが元々定義していた肌色域とのずれを修正するのである。上記移動後の色相範囲をHs´≦H≦He´とすると、肌色域A2は明度L、彩度C、色相Hの各範囲Ls≦L≦Le、Cs≦C≦Ce、Hs´≦H≦He´によって定義される。なお、ab平面の第4象限(aが正且つbが負の領域)における色相Hは、a軸(0度)からの時計回りの角度で表すものとし、負の値であるものとする。
【0042】
ここで、色域変更部23は、画像データDが赤かぶり状態の画像であると判定された場合、肌色域A1の色相範囲の一端(Hs)がa軸に接近するように(あるいはa軸を跨ぐように)、肌色域A1をL軸周りに変形(拡大)させ、拡大後の色域を肌色域A2としてもよい。拡大後の色相範囲をHs´≦H≦Heとすると、肌色域A2は各範囲Ls≦L≦Le、Cs≦C≦Ce、Hs´≦H≦Heによって定義される。
あるいは、色域変更部23は、画像データDが色かぶり画像であると判定された場合、肌色域A1の色相範囲を拡大させ且つ移動させることにより変更後の肌色域A2を取得するとしてもよい。
【0043】
図8は、状態判定部22によって画像データDがアンダー画像であると判定された場合に色域変更部23が行う色域変更の様子を例示している。図8でも図7と同様に、ab平面上に変更前の肌色域A1(鎖線)と変更後の肌色域A2(実線)とを示している。色域変更部23は、画像データDがアンダー画像である場合には、肌色域A1の彩度範囲を低彩度側(L軸側)と高彩度側とにそれぞれ拡大させ、拡大後の色域を肌色域A2とする。画素毎の彩度(ここでは彩度Sと表す)は、画素毎のRGBを用いて以下の式によっても表すことができる。
彩度S={(max−min)/max}・100 …(1)
ただし、max=max(R,G,B)、min=min(R,G,B)とする。
アンダー画像においては、上記maxが低い傾向にあるため彩度Sの決定には上記max−minが強く影響を及ぼし、上記max−minの値によって彩度Sは高くも低くもなり得る(彩度が不安定)。つまり、画像データDがアンダー画像である場合には、顔画像の肌部分の画素の彩度も不安定であると推測されるため、本実施形態では肌色域定義情報12aが元々定義していた肌色域を低彩度側と高彩度側とに拡大し、上記不安定さをカバーできるようにしている。上記拡大後の彩度範囲をCs´≦C≦Ce´とすると、肌色域A2は明度L、彩度C、色相Hの各範囲Ls≦L≦Le、Cs´≦C≦Ce´、Hs≦H≦Heによって定義される。
【0044】
ここで、色域変更部23は、画像データDがアンダー画像であると判定された場合に少なくとも変更前と比較して低彩度側の色域が含まれるように肌色域A1に変更を加えるという視点に立てば、図9に示すように肌色域A1全体を低彩度側に移動させてもよい(移動後の肌色域を肌色域A2とする。)し、あるいは肌色域A1を低彩度側だけに拡大したりしてもよい。色域変更部23は、肌色域A1を低彩度側だけに拡大する場合は、肌色域A1の彩度範囲の下限(Cs)がL軸に接近するように肌色域A1をL軸側に変形(拡大)させ、拡大後の色域を肌色域A2としてもよい。拡大後の彩度範囲をCs´≦C≦Ceとすると、肌色域A2は各範囲Ls≦L≦Le、Cs´≦C≦Ce、Hs≦H≦Heによって定義される。
あるいは、色域変更部23は、画像データDがアンダー画像であると判定された場合、肌色域A1の彩度範囲を拡大させ且つ移動させることにより変更後の肌色域A2を取得するとしてもよい。
【0045】
色域変更部23は、画像データDが色かぶり画像であり且つアンダー画像であると判定された場合には、肌色域A1の色相範囲および彩度範囲について上述したようにそれぞれ変更を施す。また色域変更部23は、S120における画像データDについての状態の判定結果に応じ、肌色域A1の明度範囲についても変更を施してもよい。なお、S120において画像データDが色かぶり画像であると判定されず、且つアンダー画像であると判定されなかった場合には、色域変更部23はS140において色域変更は実行しない。
本実施形態ではS140において色域変更が実行されたものとして説明を続ける。
【0046】
S150では、画素抽出部24が画像データD内の画素であって顔領域SA内に属する画素を一つ選択し、S160に進む。
S160では、画素抽出部24は、直近のS150で選択した画素の色が上記色域変更後の肌色域A2に属するか否かを判定する。このとき、画素抽出部24は、上記選択した画素のRGBデータを、肌色域A2が採用する表色系(Lab表色系)のデータ(Labデータ)に変換し、変換後のLabデータが肌色域A2に属するか否かを判定する。そして、画素抽出部24は、上記Labデータが肌色域A2に属すると判定した場合にはS170に進み、一方、属さないと判定した場合にはS170をスキップしてS180に進む。ここで、RGBデータからLabデータへの変換は、RGB表色系からLab表色系への変換を行う所定の色変換プロファイルなどを用いることで可能である。内部メモリー12には、かかる色変換プロファイルも保存されているとしてもよい。
【0047】
S170では、画素抽出部24は、直近のS150において選択した画素を肌画素として認定する。この結果、顔画像検出部21によって検出された領域に含まれる画素のうち色が、変更後の肌色域A2に属する画素が抽出されたことになる。このように抽出された肌画素は、基本的には、画像データD内に表された顔画像の肌部分に対応する画素であると言える。これら肌画素は、その色は必ずしも上記肌色域定義情報12aが元々定義していた色域に含まれるとは限られないが、理想的な肌色で表現されるべき画素である。
【0048】
S180では、画素抽出部24は、顔領域SA内に属する画素の全てをS150において一度ずつ選択し終えたか否か判定し、全ての画素を選択済みであればS190に進む。一方、顔領域SA内に属する画素であってS150において未選択の画素が存在している場合には、S150に戻り、未選択の画素を一つ選択しS160以降の処理を繰り返す。
なお本実施形態は、画像データDから一つの顔領域SAが検出された場合について説明している。しかし、画像データDから複数の顔領域SAが検出された場合には、S150〜S180では、画素抽出部24は、複数の顔領域SA内の各画素について一つずつ肌色域A2に属するか否か判定し、属する画素については肌画素として認定する。
【0049】
S190では、代表色算出部25は、S170において認定(抽出)された複数の肌画素に基づいて肌代表色を算出する。肌代表色の算出方法は様々であるが本実施形態では、代表色算出部25は、肌画素のRGB毎の平均値Rave,Gave,Baveを算出し、当該算出した肌画素のRGB毎の平均値Rave,Gave,Baveからなる色(RGBデータ)を肌代表色とする。代表色算出部25は、肌代表色のRGBデータを内部メモリー12等の所定の記憶領域に保存する。
【0050】
S200では、入力画像補正部26は、肌代表色のRGBデータと予め定められている理想的な肌色を示すRGBデータとのRGB毎の差異に応じて、RGB毎の補正関数(例えばトーンカーブ)を生成し、かかる補正関数を用いて画像データDの画素のRGBを補正する。
【0051】
S210では、顔画像周辺領域形成部27は、顔画像の肌色を引き立てる色彩色の選定を行う。色彩色の選定方法は様々であるが本実施形態では、S190において算出した肌代表色を上記したRGB毎の補正関数で補正することにより補正後肌代表色を求め、この補正後肌代表色と補色の関係にある色を色彩色とする。一般に、補色は色相環において反対側に位置する色同士の組み合わせとされているが、本実施形態では図10に示すab平面上の座標C1およびC2のように、L軸を基準として対称位置に存在する色同士の組み合わせを補色とする。例えば、C1が補正後肌代表色であるとすると、C2が、補正後肌代表色と補色の関係にある色彩色となる。なお、L値はC1とC2とで同一であるとする。
【0052】
図11,図12,図13は、それぞれが図7,図8,図9の肌色域の変更後に色彩色を選定する様子を例示している。図11,図12,図13のそれぞれにおいて、画像データDから抽出した肌代表色をCsとする。画像データDから変更後の肌色域A2に属する画素のみを抽出し、RGB毎の平均値Rave,Gave,Baveにより肌代表色Csを算出しているため、肌代表色Csもまた肌色域A2に属することになる。この肌代表色Csに対して上記したRGB毎の補正関数を用いて色変換を行い、補正後肌代表色Cs´を求める。そして、補正後肌代表色Cs´に対して色空間変換を行い、RGBデータをLabデータに変換する。変換後の補正後肌代表色Cs´のa,bの値をそれぞれa0,b0とすると、色彩色Cpは補正後肌代表値Cs´の補色であるので、色彩色Cpのa,b値はそれぞれ−a0,−b0となる。そして、色彩色Cpに対して色空間変換を行い、LabデータをRGBデータに変換する。
【0053】
なお、本実施形態では、上記補正後肌代表値と補色の関係にある色を色彩色としたが、色彩色は、上述したように補色の関係にある色に限られず、例えば、上記補正後肌代表値の明度を変更した色であってもよいし、予め定められている関数によって上記補正後肌代表値のカラーバランスを変更した色であってもよい。
【0054】
S220では、顔画像周辺領域形成部27は、顔画像周辺領域に、S210において選定した色彩色を配置する。本実施形態では、顔画像周辺領域を以下のように定義する。図14は、顔画像領域と顔画像周辺領域を示している。図14において、顔画像領域106は頭髪領域101および顔肌色領域102で構成されている。また、顔輪郭104は顔画像領域106の外郭線である。顔輪郭104のうち、顔肌色領域102を構成する部分、すなわち顔肌色領域102が背景領域100と、首領域103や服領域107と、に隣接する部分を抽出する。この抽出した部分の外側近傍領域を顔画像周辺領域105とする。
なお、顔画像周辺領域105は、顔画像領域106を構成する頭髪領域101と顔肌色領域102との境界部分を含まない。本実施形態では顔画像周辺領域105を、顔輪郭104のうち顔肌色領域102を構成する部分の外側近傍領域としているが、内側近傍領域でも構わないし、前記2つの両方を含んでもよい。また、図15は顔画像の顎部分周辺の拡大図である。同図において顔画像周辺領域105の幅dfは画像データDに応じて変更するとしてもよいし、幅dfは顔画像周辺領域105の全体を通して一定でなくてもよい。
【0055】
顔画像周辺領域形成部27は、顔画像周辺領域105全体をS210において選定した色彩色で塗りつぶす。さらに、顔画像周辺領域105およびその近傍領域にスムージングを実行する。これにより、顔肌色領域102とその隣接領域(例えば、背景領域100、首領域103、服領域107等)との境界部分を自然な状態に保ちつつ、顔画像領域106の肌色部分を引き立たせて表示することができる。
【0056】
また、顔画像周辺領域形成部27は、顔画像周辺領域105に、以下の方法により色彩色を配置してもよい。図16は顔画像の顎部分周辺の拡大図であり、顔画像周辺領域105の内部に異なるサイズのドットを配置する方法を示している。図16では一例として、ドットA(直径da)を顔輪郭104に近い位置に配置し、ドットAよりサイズの小さいドットB(直径db)を顔輪郭104から離れた位置に配置している。なお、ドットのサイズおよび種類は任意で構わないし、ドットの配置も上述した方法に限られない。このようにして配置したドット部分を上記した色彩色で塗りつぶす。この方法であれば、顔画像周辺領域105およびその近傍領域にスムージングを実行することなしに、顔肌色領域102とその隣接領域(例えば、背景領域100、首領域103、服領域107等)との境界部分を自然な状態に保つことが可能となる。
【0057】
本実施形態によれば、プリンター10は、入力画像が色かぶり画像であるか否か、アンダー画像であるか否か等を判定する。この判定結果に基づいて顔画像の肌代表色を算出し、当該肌代表色に基づいて入力画像全体を補正する。そして、肌代表色を補正して補正後肌代表色を求め、当該補正後肌代表色と例えば補色の関係にある色を、顔画像の肌色を引き立てる色彩色として選定する。そして、選定した色彩色を顔画像周辺領域105に配置する。
これにより、入力画像が色かぶり画像やアンダー画像等であって、補正後の画像がこれらの画像に引きずられるような場合でも、顔画像周辺領域105に色彩色を配置して顔画像の肌色を引き立てることで、顔画像の肌色が綺麗に見えないという課題を解消することができる。
【符号の説明】
【0058】
10…プリンター、11…CPU、12…内部メモリー、12a…肌色域定義情報、12b…顔テンプレート、13…I/F部、14…操作部、15…表示部、16…プリンターエンジン、17…カードI/F、20…画像処理部、21…顔画像検出部、22…状態判定部、23…色域変更部、24…画素抽出部、25…代表色算出部、26…入力画像補正部、27…顔画像周辺領域形成部、30…表示制御部、40…印刷制御部、100…背景領域、101…頭髪領域、102…顔肌色領域、103…首領域、104…顔輪郭、105…顔画像周辺領域、106…顔画像領域、107…服領域。

【特許請求の範囲】
【請求項1】
入力画像内における顔画像を検出する顔画像検出部と、前記入力画像の状態を判定する状態判定部と、前記顔画像に対応する色域として所定の表色系において予め定められた色域に対して前記状態判定部による判定結果に応じた変更を施す色域変更部と、前記顔画像検出部によって検出された顔画像に含まれる画素のうち色が前記色域変更部による変更後の色域に属する画素を抽出する画素抽出部と、前記画素抽出部によって抽出された画素に基づいて前記顔画像を代表する代表色を算出する代表色算出部と、を有する画像処理装置であって、
前記代表色に対応する色彩色を前記顔画像の周辺領域に形成する顔画像周辺領域形成部を備えることを特徴とする画像処理装置。
【請求項2】
前記色彩色は、前記代表色と、予め定められている理想的な肌色と、の差異に応じて生成した補正関数を用いて前記代表色を補正した補正後代表色に基づいて求めることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記色彩色は、前記補正後代表色と補色の関係にあることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記顔画像周辺領域形成部は、前記顔画像の周辺領域として前記顔画像における顔肌色領域の輪郭の周辺領域を抽出することを特徴とする請求項1から3のいずれか一項に記載の画像処理装置。
【請求項5】
前記顔画像周辺領域形成部は、前記色彩色を前記顔画像の周辺領域に形成するときに、スムージングを行うことを特徴とする請求項1から4のいずれか一項に記載の画像処理装置。
【請求項6】
前記顔画像周辺領域形成部は、前記色彩色を前記顔画像の周辺領域に形成するときに、前記周辺領域内に複数のサイズのドットを形成し、前記複数のサイズのドットの中で大きいサイズのドットを小さいサイズのドットよりも前記顔画像の近くに配置することを特徴とする請求項1から5のいずれか一項に記載の画像処理装置。
【請求項7】
入力画像内における顔画像を検出する顔画像検出工程と、前記入力画像の状態を判定する状態判定工程と、前記顔画像に対応する色域として所定の表色系において予め定められた色域に対して前記状態判定工程における判定結果に応じた変更を施す色域変更工程と、前記顔画像検出工程において検出された顔画像に含まれる画素のうち色が前記色域変更工程における変更後の色域に属する画素を抽出する画素抽出工程と、前記画素抽出工程において抽出された画素に基づいて前記顔画像を代表する代表色を算出する代表色算出工程と、を有する画像処理方法であって、
前記代表色に対応する色彩色を前記顔画像の周辺領域に形成する顔画像周辺領域形成工程を備えることを特徴とする画像処理方法。
【請求項8】
入力画像内における顔画像を検出する顔画像検出機能と、前記入力画像の状態を判定する状態判定機能と、前記顔画像に対応する色域として所定の表色系において予め定められた色域に対して前記状態判定機能による判定結果に応じた変更を施す色域変更機能と、前記顔画像検出機能によって検出された顔画像に含まれる画素のうち色が前記色域変更機能による変更後の色域に属する画素を抽出する画素抽出機能と、前記画素抽出機能によって抽出された画素に基づいて前記顔画像を代表する代表色を算出する代表色算出機能と、を有する画像処理プログラムであって、
前記代表色に対応する色彩色を前記顔画像の周辺領域に形成する顔画像周辺領域形成機能をコンピューターに実行させることを特徴とする画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2013−45205(P2013−45205A)
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願番号】特願2011−181289(P2011−181289)
【出願日】平成23年8月23日(2011.8.23)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】