(57)【要約】【課題】画像における顔の左右の目の大きさのバランスが悪いと、画像の印象が悪かった。【解決手段】対象画像における顔の左右の目の大きさを表す情報を検出する検出部と、上記検出された情報に基づいて、左右の少なくとも一方の目の大きさに対する補正量を決定する補正量決定部と、上記決定された補正量に基づいて、左目を含む領域と右目を含む領域との少なくとも一方の領域に対する画像の変形処理を行なう変形部とを備えることを特徴とする画像処理装置とした。【選択図】図２
2009223566.tif 000002
【特許請求の範囲】
【請求項１】
対象画像における顔の左右の目の大きさを表す情報を検出する検出部と、
上記検出された情報に基づいて、左右の少なくとも一方の目の大きさに対する補正量を決定する補正量決定部と、
上記決定された補正量に基づいて、左目を含む領域と右目を含む領域との少なくとも一方の領域に対する画像の変形処理を行なう変形部とを備えることを特徴とする画像処理装置。
【請求項２】
上記補正量決定部は、上記左右の目のうち小さい方の目の大きさを拡大させる補正量を決定し、上記変形部は、上記拡大させる補正量に基づいて上記小さい方の目を含む領域を拡大する変形処理を行なうことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
上記補正量決定部は、上記拡大させる補正量として、上記左右の目のうち大きい方の目の大きさに対する上記小さい方の目の大きさの比率が高いほど上記小さい方の目の大きさを上記大きい方の目の大きさに近づかせる補正量を決定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
上記補正量決定部は、上記左右の目の大きさの平均値を算出するとともに、上記小さい方の目の大きさを当該平均値まで略拡大させる補正量を決定することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
上記補正量決定部は、上記小さい方の目の大きさを大きい方の目の大きさまで略拡大させる補正量を決定することを特徴とする請求項２に記載の画像処理装置。
【請求項６】
上記変形部は、変形処理の対象とした領域の画像を当該領域が含む目の略高さ方向に沿って変形することを特徴とする請求項１〜請求項５のいずれかに記載の画像処理装置。
【請求項７】
上記変形部は、変形処理の対象とした領域の画素のうち、当該領域を区画する線であって目の下方に位置する線よりも上記顔の上側に位置する画素を上記補正量に基づいて移動させることにより変形処理を行なうことを特徴とする請求項１〜請求項６のいずれかに記載の画像処理装置。
【請求項８】
上記対象画像における顔の向きを推定する顔向き推定部を備え、
上記補正量決定部は、上記推定部により推定された顔の向きに応じて補正量を変更することを特徴とする請求項１〜請求項７のいずれかに記載の画像処理装置。
【請求項９】
対象画像における顔の左右の目の大きさを表す情報を検出する検出工程と、
上記検出された情報に基づいて、左右の少なくとも一方の目の大きさに対する補正量を決定する補正量決定工程と、
上記決定された補正量に基づいて、左目を含む領域と右目を含む領域との少なくとも一方の領域に対する画像の変形処理を行なう変形工程とを備えることを特徴とする画像処理方法。
【請求項１０】
対象画像における顔の左右の目の大きさを表す情報を検出する検出機能と、
上記検出された情報に基づいて、左右の少なくとも一方の目の大きさに対する補正量を決定する補正量決定機能と、
上記決定された補正量に基づいて、左目を含む領域と右目を含む領域との少なくとも一方の領域に対する画像の変形処理を行なう変形機能とをコンピュータに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
デジタル画像を対象に、画像を変形するための画像処理技術が知られている（特許文献１参照。）。特許文献１には、顔の画像上の一部の領域（頬の画像を表す領域）を補正領域として設定し、補正領域を所定のパターンに従い複数の小領域に分割し、小領域毎に設定された倍率で画像を拡大または縮小することにより、顔の形状を変形する画像処理が開示されている。
【特許文献１】特開２００４‐３１８２０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
画像が顔を含む場合、顔内の目は特に画像の観察者の注意を引く部分である。ここで、人間の左右の目の大きさは互いに異なっている場合がある。また、人の表情を一瞬で捉えて生成された画像、例えばデジタルスチルカメラ等で撮影された顔を含む画像においては、このような左右の目の大きさの違いが顕著に表れることが多い。左右の目の大きさのバランスが悪い画像、例えば、片方の目が少し閉じてしまっている顔の写真等は、観察者の印象も悪く、モニタへの表示結果やプリンタによる印刷結果において望まれるものではなかった。なお、上記従来の画像変形のための画像処理は、頬のラインを補正することに特化されており、上述したような画像における左右の目の大きさのバランスの悪さを是正することはできなかった。
【０００４】
本発明は上記課題に鑑みてなされたもので、画像内の顔の左右の目の大きさのバランスを補正することにより、良好な印象を観察者に与える画像を得ることが可能な画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明の画像処理装置は、対象画像における顔の左右の目の大きさを表す情報を検出する検出部と、上記検出された情報に基づいて、左右の少なくとも一方の目の大きさに対する補正量を決定する補正量決定部と、上記決定された補正量に基づいて、左目を含む領域と右目を含む領域との少なくとも一方の領域に対する画像の変形処理を行なう変形部とを備える構成としてある。本発明によれば、左目を含む領域と右目を含む領域との少なくとも一方の領域が上記補正量によって変形されるため、左右の目の大きさの違いが補正された良好な印象の顔画像が得られる。
【０００６】
上記補正量決定部は、上記左右の目のうち小さい方の目の大きさを拡大させる補正量を決定し、上記変形部は、上記拡大させる補正量に基づいて上記小さい方の目を含む領域を拡大する変形処理を行なうとしてもよい。当該構成によれば、小さい方の目が拡大されるため、左右の目が適切な大きさで表された良好な顔画像が得られる。
【０００７】
上記補正量決定部は、上記拡大させる補正量として、上記左右の目のうち大きい方の目の大きさに対する上記小さい方の目の大きさの比率が高いほど上記小さい方の目の大きさを上記大きい方の目の大きさに近づかせる補正量を決定するとしてもよい。当該構成によれば、変形前の画像において左右の目に大きなサイズ差がある場合には、小さい方の目の大きさを、無理やり大きい方の目の大きさに近づけることはしない。そのため  小さい方の目に過剰な拡大を施し却って不自然な画像となる、という不都合を回避できる。
【０００８】
上記補正量決定部は、上記左右の目の大きさの平均値を算出するとともに、上記小さい方の目の大きさを当該平均値まで略拡大させる補正量を決定するとしてもよい。当該構成によれば、小さい方の目に対し過剰にならない程度の適切な拡大を行なうことができる。
上記補正量決定部は、上記小さい方の目の大きさを大きい方の目の大きさまで略拡大させる補正量を決定するとしてもよい。当該構成によれば、変形後の画像において左右の目の大きさを略均等にすることができる。
【０００９】
左右の目の大きさの違いは、主に、目の高さ方向において表れる。そこで上記変形部は、変形処理の対象とした領域の画像を当該領域が含む目の略高さ方向に沿って変形するとしてもよい。当該構成によれば、左右の目の高さ方向の大きさの違いが補正された良好な顔画像を得ることができる。
【００１０】
左右の目の大きさの違いは、多くの場合、目の上端（まぶたの下端）の位置の違いに起因する。そこで上記変形部は、変形処理の対象とした領域の画素のうち、当該領域を区画する線であって目の下方に位置する線よりも上記顔の上側に位置する画素を、上記補正量に基づいて移動させることにより変形処理を行なうとしてもよい。当該構成によれば、左右の目それぞれの下端の位置は変形の前後において略維持され、当該下端を基準とした左右の目の大きさのバランスが取れるように変形が行なわれる。そのため、極めて自然に左右の目の大きさの違いが補正された顔画像を得ることができる。
【００１１】
画像処理装置は、上記対象画像における顔の向きを推定する顔向き推定部を備えるとしてもよい。また、上記補正量決定部は、上記推定部により推定された顔の向きに応じて補正量を変更するとしてもよい。当該構成によれば、対象画像における顔の向きに応じて、左右の目を含む上記各領域に対する変形の程度を変えることができる。
【００１２】
本発明の技術的思想は、上述した画像処理装置の発明以外にも、上述した画像処理装置が備える各部が行なう各処理工程を備えた画像処理方法の発明や、上述した画像処理装置が備える各部に対応した機能をコンピュータに実行させる画像処理プログラムの発明として捉えることができる。また、上述した画像処理装置を兼ねる印刷装置の発明や、上述した画像処理装置を兼ねるデジタルスチルカメラの発明をも把握可能である。
【発明を実施するための最良の形態】
【００１３】
下記の順序に従って本発明の実施例を説明する。
１．画像処理装置の概略構成：
２．左右の目のサイズ検出処理：
３．補正量の決定処理：
４．変形処理および印刷処理：
５．他の実施例：
【００１４】
１．画像処理装置の概略構成：
図１は、本発明の画像処理装置の一例としてのプリンタ１０の構成を、概略的に示している。プリンタ１０は、記録メディア（例えば、メモリカードＭＣ等）から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラーインクジェットプリンタである。プリンタ１０は、プリンタ１０の各部を制御するＣＰＵ１１と、例えばＲＯＭやＲＡＭによって構成された内部メモリ１２と、ボタンやタッチパネルにより構成された操作部１４と、液晶ディスプレイにより構成された表示部１５と、プリンタエンジン１６と、カードインターフェース（カードＩ／Ｆ）１７と、ＰＣやサーバやデジタルスチルカメラ等の外部機器との情報のやり取りのためのＩ／Ｆ部１３とを備えている。プリンタ１０の各構成要素は、バスを介して互いに接続されている。
【００１５】
プリンタエンジン１６は、印刷データに基づき印刷を行う印刷機構である。カードＩ／Ｆ１７は、カードスロット１７２に挿入されたメモリカードＭＣとの間でデータのやり取りを行うためのＩ／Ｆである。メモリカードＭＣには画像データが格納されており、プリンタ１０は、カードＩ／Ｆ１７を介してメモリカードＭＣに格納された画像データを取得することができる。画像データ提供のための記録メディアとしてはメモリカードＭＣ以外にも種々の媒体を用いることができる。プリンタ１０は、Ｉ／Ｆ部１３を介してＰＣやサーバ等とケーブルで接続し、当該ＰＣやサーバ等から印刷データを入力することもできる。
【００１６】
内部メモリ１２には、画像変形部２０と、表示処理部３１と、印刷処理部３２とが格納されている。画像変形部２０は、所定のオペレーティングシステムの下で、後述する画像変形処理等を実行するためのコンピュータプログラム（画像処理プログラム）である。表示処理部３１は、表示部１５を制御して、表示部１５に処理メニューやメッセージを表示させるディスプレイドライバである。印刷処理部３２は、画像データから印刷データを生成し、プリンタエンジン１６を制御して、印刷データに基づく画像の印刷を実行するためのコンピュータプログラムである。ＣＰＵ１１は、内部メモリ１２から、これらのプログラムを読み出して実行することにより、これら各部の機能を実現する。
【００１７】
画像変形部２０は、プログラムモジュールとして、顔領域検出部２１と、顔器官検出部２２と、補正量決定部２３と、変形領域設定部２４と、変形領域分割部２５と、変形処理実行部２６と、顔向き推定部２７とを含んでいる。顔器官検出部２２は、両目サイズ検出部２２１を含んでいる。これら各部の機能については後述する。さらに、内部メモリ１２には、分割点配置パターンテーブル４１や、顔テンプレート１４ｂや、目テンプレート１４ｃ等の各種データが格納されている。プリンタ１０は、印刷機能以外にも、コピー機能やスキャナ機能など多種の機能を備えたいわゆる複合機であってもよい。
【００１８】
図２は、画像処理装置（プリンタ１０）が実行する画像変形印刷処理の概略を、フローチャートにより示している。
ステップＳ（以下、ステップの表記は省略。）１００では、画像変形部２０は、画像処理の対象とする画像（対象画像）内の顔の左右の目の大きさを表す情報（左右の目のサイズ）を検出する。
Ｓ３００では、画像変形部２０は、上記検出された左右の目のサイズに基づいて、左右の目のうち少なくとも一方の目の大きさに対する補正量を決定する。
Ｓ５００では、画像変形部２０は、上記決定された補正量に基づいて、対象画像における左目を含む領域と右目を含む領域との少なくとも一方の領域に対する画像の変形処理を行なう。
【００１９】
Ｓ７００では、印刷処理部３２は、変形処理後の対象画像を表す画像データに基づいて印刷データを生成し、生成した印刷データに基づいて印刷を実行する。ただし、プリンタ１０は、Ｓ１００の処理において、対象画像から顔領域の検出（後述する図３のＳ１１０）に失敗したり、顔領域の検出に成功しても左右の目の領域の検出（図３のＳ１２０）に失敗した場合には、左右の目のサイズの検出およびＳ３００，Ｓ５００を行なうことなく、対象画像を表す画像データに基づいてＳ７００の処理を行なう。以下では、対象画像は、人顔を含みかつ人顔の左右の目が表れている画像であるとして、図２のフローチャートの詳細を説明する。
【００２０】
２．左右の目のサイズ検出処理：
図３は、Ｓ１００の詳細をフローチャートにより示している。
Ｓ１０５では、顔領域検出部２１が対象画像を表した画像データ１４ａをメモリカードＭＣ等、所定の記録メディアから取得する。むろん、顔領域検出部２１は、プリンタ１０がハードディスクドライブ（ＨＤＤ）を有していれば、当該ＨＤＤに保存されている画像データ１４ａを取得してもよいし、Ｉ／Ｆ部１３を介してＰＣやサーバやデジタルスチルカメラ等から画像データ１４ａを取得してもよい。画像データ１４ａは、各画素が示す色がＲＧＢ各チャネルの階調値の組み合わせ（ＲＧＢ色空間におけるベクトル）で表現されたビットマップデータである。後述する図面において、便宜的に２値の画像が示される場合があるが、実際には多階調のカラー画像データが処理の対象となる。画像データ１４ａは、記録メディア等に記録されている段階で圧縮されていてもよいし、他の色空間で各画素の色が表現されていてもよい。これらの場合、画像データ１４ａの展開や色空間の変換を実行して、顔領域検出部２１がＲＧＢビットマップデータの画像データ１４ａを取得する。ユーザが表示部１５に表示されたユーザインターフェース（ＵＩ）画面を参照して操作部１４を操作することにより、対象画像としての画像データ１４ａが指定される。
【００２１】
Ｓ１１０では、顔領域検出部２１が画像データ１４ａに含まれる顔を検出する。顔領域検出部２１は、複数のテンプレート（顔テンプレート１４ｂ）を利用したいわゆるパターンマッチングによって画像データ１４ａから顔領域を検出する。顔テンプレート１４ｂとのパターンマッチングを行うにあたっては、画像データ１４ａにおいて矩形状の比較領域ＣＡを設定し、比較領域ＣＡの位置と大きさと回転角度を変えながら、比較領域ＣＡ内の画像と各顔テンプレート１４ｂの画像との類似性を評価する。そして、類似性が一定の基準を満足する比較領域ＣＡを顔領域と判定し、その比較領域ＣＡの位置と大きさと回転角度を取得する。本実施形態において、比較領域ＣＡは３０度ずつ回転されるものとする。画像データ１４ａの全体に比較領域ＣＡを移動させることにより、画像データ１４ａ内に存在する単数または複数の顔についての領域の位置と大きさと回転角度を取得することができる。本実施形態では、単一の顔が検出されたものとして説明を続ける。
【００２２】
図４は、上記Ｓ１１０において顔領域と判定された比較領域ＣＡの矩形を示している。
Ｓ１１５では、顔領域検出部２１は、顔領域と判定された比較領域ＣＡの位置と大きさと回転角度に基づいて、当該比較領域ＣＡに含まれる画像を画像データ１４ａから顔画像データＦＤとして抽出する。このとき、顔画像データＦＤの大きさが一定の大きさとなるように解像度変換を行なう。例えば、１００×１００画素の大きさとなるように、顔画像データＦＤの画素が内挿または間引きされる。また、画像データ１４ａにおける顔の回転角に対応して比較領域ＣＡが回転されていた場合には、この回転を解消するように顔画像データＦＤを回転させる。ただし、比較領域ＣＡの回転角は３０度ずつであるため、顔画像データＦＤにおいて、±１５度の範囲で顔の回転角が残存し得ることとなる。
【００２３】
Ｓ１２０では、顔器官検出部２２が顔器官としての左右の目を検出する。顔器官検出部２２は、複数のテンプレート（目テンプレート１４ｃ）を利用したパターンマッチングによって顔画像データＦＤから右目領域および左目領域を検出する。顔器官検出部２２も、目テンプレート１４ｃとのパターンマッチングを行うにあたって、顔画像データＦＤにおいて矩形状の比較領域ＣＡを設定し、比較領域ＣＡの位置と大きさと回転角度を変えながら、比較領域ＣＡ内の画像と各目テンプレート１４ｃの画像との類似性を評価する。そして、類似性が一定の基準を満足する２つの比較領域ＣＡを、その位置に応じて右目領域、左目領域と判定する。本実施形態では様々な目が検出できるように、例えば一重まぶたの目や、二重まぶたの目や、半開き状態の目など、種々の目を含む画像が、各種目テンプレート１４ｃとして用意されている。本明細書では、図を正面から見たときに右側に図示されている目が対象画像内の人物の左目であり、図を正面から見たときに左側に図示されている目が当該人物の右目である。なお、左右の目が検出できるように、目テンプレート１４ｃには左目のものと右目のものが多数含まれている。
【００２４】
図５は、左右の目がそれぞれ存在する比較領域ＣＡが検出された顔画像データＦＤの様子を示している。同図において、左目を中央に含む矩形状の比較領域ＣＡ１および右目を中央に含む矩形状の比較領域ＣＡ２が検出されている。比較領域ＣＡ１は左目領域であり、比較領域ＣＡ２は右目領域である。比較領域ＣＡ１，ＣＡ２の大きさは、それぞれが含む目の大きさに応じて確定されている。右目領域および左目領域の検出が完了すると、Ｓ１２５において、両目サイズ検出部２２１の傾き補正部Ｐ２ｃ１が、比較領域ＣＡ１，ＣＡ２の各重心の座標を算出し、当該重心同士を結んだ直線の水平線に対する傾きＧＲを算出する。上述したように顔領域検出の段階で３０度単位の回転角補正がなされているため、ここでは基本的に±１５度以内の角度に対応した傾きＧＲが算出される。
【００２５】
図６は、両目サイズ検出部２２１を中心とした顔器官検出部２２のソフトウェア構成を示している。両目サイズ検出部２２１は、傾き補正部Ｐ２ｃ１とサンプリング部Ｐ２ｃ２とスカラー変換部Ｐ２ｃ３と変換関数設定部Ｐ２ｃ４とパラメータ探索部Ｐ２ｃ５と評価値算出部Ｐ２ｃ６とから構成されている。
Ｓ１３０においては、傾き補正部Ｐ２ｃ１が顔画像データＦＤから比較領域ＣＡ１，ＣＡ２に属する画像をそれぞれ左目画像データＬＥと右目画像データＲＥとして抽出する。このとき、左目画像データＬＥと右目画像データＲＥに対してＳ１２５にて算出した傾きＧＲに応じた傾き補正を行う。
【００２６】
図７は、Ｓ１３０において傾き補正部Ｐ２ｃ１が実行する傾き補正の様子を概念的に示している。同図において、矩形状の比較領域ＣＡ１の上辺と下辺を傾きＧＲに応じて傾斜させ、傾斜後の比較領域ＣＡ１（破線で図示）に属する画素を抽出する。比較領域ＣＡ１の上辺と下辺が傾きＧＲに応じて傾斜しているため、抽出された各画素列の位置がずれることとなる。そして、抽出した各画素列の上端・下端位置を揃えることにより、矩形状とし、左目画像データＬＥと右目画像データＲＥを得る。これにより、左目画像データＬＥと右目画像データＲＥに含まれる目の傾きを解消することができ、左目画像データＬＥと右目画像データＲＥにおいて目をほぼ水平とすることができる。なお、本来の画像から画素の位置をずらしているため、輪郭の滑らかさが不正確になったり、目の形状がいびつとなることも考えられるが、±１５度以内に対応する量の傾きを調整するに過ぎないため、問題とはならない。以上のようにして左目画像データＬＥと右目画像データＲＥが得られると、左目画像データＬＥと右目画像データＲＥをスカラー量Ｚの画像データに変換する処理をＳ１３５にて実行する。左目画像データＬＥと右目画像データＲＥにおける鉛直方向の位置をｙと表し、水平方向の位置をｘと表すとともに、それぞれ左上隅をｘ＝ｙ＝０とする。
【００２７】
図８は、Ｓ１３５にて実行するスカラー変換処理の流れを示している。左目画像データＬＥと右目画像データＲＥは各画素がＲＧＢ階調（ＲＧＢベクトル）を有する画像データであるが、スカラー変換処理では、左目画像データＬＥと右目画像データＲＥを各画素がスカラー量Ｚの情報を有する画像データに変換する処理を実行する。まず、Ｓ２１０において、サンプリング部Ｐ２ｃ２が顔画像データＦＤの一部の画素をサンプリングする。
【００２８】
図９は、Ｓ２１０におけるサンプリングの様子を示している。顔画像データＦＤにおいて左右の目を含む比較領域ＣＡ１，ＣＡ２の左下隅と右下隅を結ぶ線分Ｌ１と、比較領域ＣＡ１，ＣＡ２の間において線分Ｌ１を２等分する鉛直方向の線分Ｌ２が示されている。線分Ｌ１，Ｌ２は所定の長さを有しており、線分Ｌ１，Ｌ２に対応する位置の画素を本実施形態のサンプリングの対象とする。線分Ｌ１，Ｌ２は、目の下の略一定の高さの位置と、左右の目の間の位置に対応している。このような位置からサンプリングすることにより、顔の輪郭外や目や眉毛や鼻の穴や口などの色の画素はサンプリングされなくなり、基本的に肌色の画素のみをサンプリングすることができる。また、線分Ｌ１，Ｌ２の双方からサンプリングを行うようにしているため、仮に線分Ｌ１，Ｌ２の一部に眼鏡のフレームや前髪などの肌色以外の画素が含まれたとしても、後述する統計指標への影響を抑えることができる。むろん、ある程度、肌色のみに絞り込むことができればよく、例えば頬や額等の他の領域からサンプリングを行うようにしてもよい。
【００２９】
サンプリング部Ｐ２ｃ２は、サンプリング対象の画素のＲＧＢ階調を取得し、ＲＧＢ階調の平均μ（μR，μG，μB）と分散・共分散行列Ｓを統計指標として算出する。平均μは、ＲＧＢ各チャネルごとに階調の相加平均を算出することによって得ることができる。また、分散・共分散行列Ｓは下記の（１）式によって定義される。
【数１】
2009223566.tif 000003
前記の（１）式において、ＳR，ＳG，ＳBはＲＧＢ各チャネルについての分散を示しており、ＳRG，ＳGB，ＳRBはＲ−Ｇ，Ｇ−Ｂ，Ｒ−Ｂ間の共分散を示している。
【００３０】
図１０は、Ｓ２１０におけるサンプリングによって得られる平均μ（μR，μG，μB）と分散ＳR，ＳG，ＳBをグラフによって示している。本実施形態において、サンプリングされた画素が示す色の３次元のＲＧＢ色空間における分布は正規分布Ｎ（μ，Ｓ）であると仮定しており、ＲＧＢ階調分布がそれぞれ平均μ（μR，μG，μB）を中心とした正規分布ＮR（μR，ＳR），ＮG（μG，ＳG），ＮB（μB，ＳB）と仮定されている様子が図示されている。平均μ（μR，μG，μB）は、検出された顔において最も標準的な肌色を示し、分散ＳR，ＳG，ＳBは肌色を示す各チャネルの階調のばらつきの程度を示している。通常、分散ＳR，ＳG，ＳBはそれぞれ異なる大きさとなるが、平均μ（μR，μG，μB）に各分散ＳR，ＳG，ＳBの平方根（標準偏差）を加減算した値で囲まれた範囲の確率は６８．２％となる。
【００３１】
なお、本明細書において“肌色”とは、絶対的な色彩値が特定される特定色を意味するのではなく、平均μ（μR，μG，μB）の付近に分布する色を意味する。従って、処理対象の顔に応じて“肌色”が意味する絶対色が変動することとなる。平均μと分散行列Ｓが得られると、Ｓ２２０において、スカラー変換部Ｐ２ｃ３は、各画素がＲＧＢ階調を有する左目画像データＬＥと右目画像データＲＥを取得する。なお、以降の処理は左目画像データＬＥと右目画像データＲＥのそれぞれについて行われるが、左目画像データＬＥに対する処理を例に挙げて説明する。
【００３２】
Ｓ２３０において、スカラー変換部Ｐ２ｃ３は、左目画像データＬＥから一つの画素を順次選択し、選択した画素のＲＧＢ階調（ｒ，ｇ，ｂ）を下記の（２）式に代入することよってマハラノビス平方距離ＤM2に変換する。
【数２】
2009223566.tif 000004
【００３３】
前記の（２）式において、Δｒは（ｒ−μR）であり、Δｇは（ｇ−μG）であり、Δｂは（ｂ−μB）である。マハラノビス平方距離ＤM2は、上述した肌色のサンプリングによって得られた標準的な肌色を示す平均μ（μR，μG，μB）と、選択した画素のＲＧＢ階調（ｒ，ｇ，ｂ）とのＲＧＢ色空間における平方距離（ＲＧＢ階調値のずれ量）に対応する指標値であり、その大きさはＲＧＢ色空間における色のずれ方向に依存しない。すなわち、マハラノビス平方距離ＤM2が同じであれば、平均μ（μR，μG，μB）からの色ずれ方向が異なっていても、確率的には同程度の差を有していると考えることができ、以下においてＲＧＢ色空間における色ずれ方向を無視した処理を行うことができる。
【００３４】
図１１は、ＲＧＢ色空間（ＲＧ平面）におけるマハラノビス平方距離ＤM2の等値線を示している。同図において、横軸はＲ階調（ｒ）を示し、縦軸はＧ階調（ｇ）を示している。等値線は、ＲＧＢ各チャネルの分散ＳR，ＳG，ＳBの相違に起因して、略楕円状となっている。平均μ（μR，μG）においてマハラノビス平方距離ＤM2が０となり、ＲＧ平面において平均μ（μR，μG）から離れるほどマハラノビス平方距離ＤM2が大きくなっている。そのため、左目画像データＬＥに含まれる肌色とは異なる白目や黒目の画素は、肌色の画素よりもマハラノビス平方距離ＤM2が大きくなる。このように、画素の色を示すベクトルとしてのＲＧＢ階調（ｒ，ｇ，ｂ）が、標準的な肌色とのＲＧＢ階調値のずれ量を示すスカラーとしてのマハラノビス平方距離ＤM2に変換することができる。左目画像データＬＥのすべての画素についてマハラノビス平方距離ＤM2への変換が完了すると、左目画像データＬＥはマハラノビス平方距離ＤM2の画像データＤM2（ｘ，ｙ）に変換されたこととなる。
【００３５】
Ｓ２４０において、スカラー変換部Ｐ２ｃ３は、左目画像データＬＥの画素を順次選択し、選択した画素のマハラノビス平方距離ＤM2を下記の（３）式で示す変換関数に代入することによりスカラー量Ｚに変換していく。
【数３】
2009223566.tif 000005
前記の（３）式においてα、ｕは前記変換関数の変換特性を決定付けるパラメータである。本実施形態では、α＝１に固定し、ｕの初期値を３とする。
【００３６】
図１２は、前記変換関数の変換特性を示している。同図において、横軸は変換前のマハラノビス平方距離ＤM2を示し、縦軸は変換後のスカラー量Ｚを示している。また、ある左目画像データＬＥの変換前のマハラノビス平方距離ＤM2の分布と、変換後のスカラー量Ｚの分布も示している。スカラー量Ｚは、マハラノビス平方距離ＤM2が０のとき−１となり、マハラノビス平方距離ＤM2がパラメータｕのとき０となる非線形関数によって表される。ここで、横軸のマハラノビス平方距離ＤM2において、パラメータｕ＝３を中心とした領域を第２領域Ａ２と表し、第２領域Ａ２よりもマハラノビス平方距離ＤM2の値が大きくなる領域を第１領域Ａ１と表すものとする。この第２領域Ａ２においては、変換関数の傾きが他の領域よりも急となっており、マハラノビス平方距離ＤM2の単位変動に応じたスカラー量Ｚの変動量が他の領域よりも大きくなっている。第２領域Ａ２よりもマハラノビス平方距離ＤM2が大きくなる第１領域Ａ１においては、変換後のスカラー量Ｚが次第に１に飽和していくような変換特性を有している。第２領域Ａ２は、肌色に対応したマハラノビス平方距離ＤM2の領域と、非肌色に対応したマハラノビス平方距離ＤM2の領域との間に設定されるのが望ましい。この第２領域Ａ２の位置は、パラメータｕによって設定されるが、初期のパラメータｕ＝３は以下の根拠に基づいて設定されている。
【００３７】
図１３は、マハラノビス平方距離ＤM2と確率分布の関係をグラフによって示している。同図において、横軸はマハラノビス平方距離ＤM2を示している。一方、縦軸は、Ｓ２１０にてサンプリングした肌色の画素のＲＧＢ階調の平均μ（μR，μG，μB）と分散・共分散行列Ｓによって定義される正規分布Ｎ（μ，Ｓ）における確率分布（下側確率）を示している。同図に示すようにマハラノビス平方距離ＤM2は、ｎ次元カイ二乗分布に従う。本実施形態では、ＲＧＢの階調値で表されるカラー画像を処理の対象としており、３次元カイ二乗分布（実線で図示）によって各マハラノビス平方距離ＤM2に対応する確率を推定することができる。マハラノビス平方距離ＤM2＝３のとき、下側確率が約６０％となっている。すなわち、肌色を示す画素のうち約６０％が、マハラノビス平方距離ＤM2が３以下となるということが分かる。マハラノビス平方距離ＤM2が３を超えてくると、その画素が肌色を示すことが疑わしくなっていくということが推測できる。すなわち、マハラノビス平方距離ＤM2が３を超えてくる付近の領域が、肌色に対応したマハラノビス平方距離ＤM2の領域と、非肌色に対応したマハラノビス平方距離ＤM2の領域との間の領域であると推定できる。そのため、本実施形態では、パラメータｕの初期値を３とし、マハラノビス平方距離ＤM2が３となる付近の領域を第２領域Ａ２と設定している。なお、モノクロ画像の場合には、マハラノビス平方距離ＤM2が１次元カイ二乗分布（破線で図示）に従う。
【００３８】
図１２において示した前記変換関数による変換前のマハラノビス平方距離ＤM2の分布においては、マハラノビス平方距離ＤM2＝０を中心とした肌色の分布Ｇ１と左目画像データＬＥに含まれる白（白目）の分布Ｇ２と黒（黒目、眉等）の分布Ｇ３が存在する。これに対して変換後のスカラー量Ｚの分布においては、肌色の分布Ｇ１はスカラー量Ｚ＝−１を中心として分布し、左目画像データＬＥに含まれる白の分布Ｇ２と黒の分布Ｇ３は分布全体が１にほぼ飽和した値に変換されている。また、平均μ（μR，μG，μB）が示す標準的な肌色と比較して明るめの肌色や暗めの肌色は、パラメータｕの初期値である３付近に位置しており、傾きが急な第２領域Ａ２に存在することとなる。
【００３９】
以上説明した変換関数によって、左目画像データＬＥのすべての画素のマハラノビス平方距離ＤM2をスカラー量Ｚに変換することにより、左目画像データＬＥをスカラー量Ｚの画像データＺ（ｘ，ｙ）に変換することができる。以下、スカラー量Ｚの画像データＺ（ｘ，ｙ）に変換された左目画像データＬＥ，右目画像データＲＥをＺマップとも表記するものとする。なお、Ｚマップはスカラー量マップに相当する。なお、マハラノビス平方距離ＤM2も肌色らしさを示す指標として使用することが可能であるが、上述した変換関数による変換したスカラー量Ｚによれば、肌色らしいか否かをより明瞭に判別することができる。
【００４０】
Ｓ２５０において、変換関数設定部Ｐ２ｃ４は、スカラー量Ｚが所定の閾値Ｔｈ１を超える画素を計数し、当該閾値Ｔｈ１を超える画素の個数比率（面積比率）が所定の閾値Ｔｈ２を超えているか否かを判定する。本実施形態では、閾値Ｔｈ１＝０．６とし、閾値Ｔｈ２＝３３％とする。図１２において、閾値Ｔｈ１＝０．６を破線で示しており、閾値Ｔｈ１＝０．６を超える画素は、飽和しているとみなし、肌色らしくない色であると判断する。また、白の分布Ｇ２と黒の分布Ｇ３も、閾値Ｔｈ１＝０．６を超える画素に該当することとなる。すなわち、閾値Ｔｈ１による閾値判定によって左目画像データＬＥの各画素が肌色らしいか肌色らしくないかを判定することができる。閾値Ｔｈ１を超える画素の比率が大きいほど、肌色らしくない画素の左目画像データＬＥにおける面積比率が大きくなるということが言える。
【００４１】
本実施形態では、左目画像データＬＥにおいて肌色らしくない画素が占める面積比率が閾値Ｔｈ２＝３３％を超えることが妥当であると仮定し、肌色らしくない画素が占める面積比率が閾値Ｔｈ２＝３３％以下である場合には、変換関数設定部Ｐ２ｃ４がＳ２６０において上述した変換関数のパラメータｕを変更する。パラメータｕは、正規分布Ｎ（μ，Ｓ）を仮定した場合の推測値であるため、本実施形態のように実際の面積比率に基づく妥当性によって調整するのが望ましい。なお、本実施形態における閾値Ｔｈ１，閾値Ｔｈ２は一例であり、異なる値を採用してもよい。また、面積比率の妥当な範囲を閾値Ｔｈ２だけでなく、上限値と下限値によって規定するようにしてもよい。
【００４２】
Ｓ２６０においては、パラメータｕをもとの値の４倍に変更し、Ｓ２４０に戻る。そして、Ｓ２５０において、変更したパラメータｕを前記の（３）式に適用し、再度、左目画像データＬＥのマハラノビス平方距離ＤM2をスカラー量Ｚに変換して、再度、Ｚマップを得る。Ｓ２５０においては、同様にＺマップにおいて肌色らしくない画素の面積比率の妥当性を判定し、妥当でなければ再度パラメータｕを４倍する。以上の処理を繰り返して実行することにより、肌色らしくない画素の面積比率の妥当となるまで、変換関数を最適化してくことができる。
【００４３】
本実施形態では、パラメータｕを順次大きくしていくため、変換関数による変換特性が図１２において破線で示すように推移していく。すなわち、傾きが急となる第２領域Ａ２をマハラノビス平方距離ＤM2が大きくなる方向にシフトさせていくことができる。これにともなって、第１領域Ａ１の幅が狭められることとなる。このようにすることにより、肌色のばらつきが異なる様々な顔についても、適切な変換関数を設定することができる。Ｓ２５０において、スカラー量Ｚが閾値Ｔｈ１を超える画素の比率が所定の閾値Ｔｈ２を超えていると判定した場合には、パラメータｕの変更を行うことなくスカラー変換処理を終了させ、各画素のＲＧＢ階調がスカラー量Ｚの階調値に変換された左目画像データＬＥ（Ｚマップ）をパラメータ探索部Ｐ２ｃ５に出力する。なお、本実施形態では、パラメータｕを変更するようにしたが、第１領域Ａ１と第２領域Ａ２の範囲を調整するためにパラメータαも変更してもよい。第１領域Ａ１を広くするためにはパラメータαを大きくし、第２領域Ａ２を広くするためにはパラメータαを小さくすればよい。むろん、パラメータｕを大きめに設定し、徐々に小さく変更していってもよい。
【００４４】
図１４は、各画素がスカラー量Ｚ（ｘ，ｙ）で表されるＺマップの一例を示している。同図において、左目画像データＬＥの鉛直断面と水平断面におけるスカラー量Ｚ（ｘ，ｙ）を示している。鉛直断面において、黒目に対応する部分はスカラー量Ｚ（ｘ，ｙ）が１に近い値となっており、それ以外の肌色に対応する部分は−１〜０付近の間の値となっている。目の輪郭を構成する黒目と肌色との境界においては、鉛直方向の勾配が大きい値となっている。一方、水平断面において、黒目と白目に対応する部分はともにスカラー量Ｚが１に近い値となっており、それ以外の肌色に対応する部分は−１に近い値となっている。目の輪郭を構成する白目と肌色との境界における水平方向の勾配が大きい値となっているが、黒目と白目の境界においては勾配が極めて小さくなっている。以上においては、左目画像データＬＥをＺマップに変換する処理を例に挙げて説明したが、同様の処理を右目画像データＲＥについても実行し、右目画像データＲＥもＺマップに変換されている。
【００４５】
Ｓ１４０において、パラメータ探索部Ｐ２ｃ５は、左目画像データＬＥを変換したＺマップを取得する。Ｓ１４５において、パラメータ探索部Ｐ２ｃ５は、Ｚマップにおいて目の輪郭パラメータＬ，Ｒ，Ｔ，Ｂを初期設定する。
図１５は、左目のＺマップにおける輪郭パラメータＬ，Ｒ，Ｔ，Ｂを示している。輪郭パラメータＬ，Ｒ，Ｔ，Ｂは、左目の輪郭における目尻と目頭と上頂点と下頂点に対応しており、それぞれ水平方向と鉛直方向の座標によってＬ（ｘL，ｙL），Ｒ（ｘR，ｙR），Ｔ（ｘT，ｙT），Ｂ（ｘB，ｙB）と表される。輪郭パラメータＬ，Ｒ，Ｔ，Ｂの初期値が設定できると、左目を近似するための輪郭線Ｏ（第１近似曲線）を生成することができる（第１近似手段）。本実施形態において、輪郭線Ｏは、左上部分の曲線Ｏ１と、右上部分の曲線Ｏ２と、左下部分の曲線Ｏ３と、左下部分の曲線Ｏ４によって近似される。各曲線Ｏ１〜Ｏ４は下記の（４）式で表される。
【数４】
2009223566.tif 000006
【００４６】
前記の（４）式において、曲線Ｏ１は輪郭パラメータＴの座標を頂点とし、輪郭パラメータＬの座標を通過する上に凸の２次曲線で表される。ａ1，ａ2は正であり、ａ3，ａ4は負とする。曲線Ｏ２は輪郭パラメータＴの座標を頂点とし、輪郭パラメータＲの座標を通過する上に凸の２次曲線で表される。一方、曲線Ｏ３は輪郭パラメータＢの座標を頂点とし、輪郭パラメータＬの座標を通過する下に凸の２次曲線で表される。曲線Ｏ４は輪郭パラメータＢの座標を頂点とし、輪郭パラメータＲの座標を通過する下に凸の２次曲線で表される。輪郭パラメータＬ，Ｒ，Ｔ，Ｂの座標を定めると、曲線Ｏ１〜Ｏ４が一意に定まるため、輪郭パラメータＬ，Ｒ，Ｔ，Ｂの座標を初期設定することにより、輪郭線Ｏの位置および形状が初期設定されることとなる。なお、輪郭パラメータＬ，Ｒ，Ｔおよび輪郭パラメータＬ，Ｒ，Ｂのそれぞれ３点の組み合わせの位置関係に注目すると、輪郭パラメータＬ，Ｒの座標が水平方向の両外側に位置する終端点に相当し、輪郭パラメータＴ，Ｂの座標が共通の頂点に相当する。以上のような輪郭線Ｏを配置するために、輪郭パラメータＬ，Ｒ，Ｔ，Ｂの初期値は、少なくともｘL＜ｘT＜ｘR，ｘL＜ｘB＜ｘR，ｙT＜ｙL＜ｙB，ｙT＜ｙR＜ｙBが満足されていればよい。本実施形態では、図１５に図示するように左目画像データＬＥの中央鉛直線に対して左右対称、かつ、中央よりやや下の水平線に対して上下対称に設定する。また、目テンプレート１４ｃにて規格化されている目の輪郭（破線で図示）よりもやや外側に輪郭パラメータＬ，Ｒ，Ｔ，Ｂの座標の初期値を設定する。
【００４７】
以上のようにＺマップにて輪郭パラメータＬ，Ｒ，Ｔ，Ｂの座標の初期値が設定されると、Ｓ１５０においてパラメータ探索部Ｐ２ｃ５と評価値算出部Ｐ２ｃ６が最適な輪郭パラメータＬ，Ｒ，Ｔ，Ｂの探索処理を行う。パラメータ探索部Ｐ２ｃ５が輪郭パラメータＬ，Ｒ，Ｔ，Ｂを更新し、当該更新した輪郭パラメータＬ，Ｒ，Ｔ，Ｂを評価値算出部Ｐ２ｃ６に出力すると、評価値算出部Ｐ２ｃ６は下記の評価値Ｖを算出し、当該評価値Ｖをパラメータ探索部Ｐ２ｃ５に返す。そして、パラメータ探索部Ｐ２ｃ５は評価値Ｖを最大とする輪郭パラメータＬ，Ｒ，Ｔ，Ｂの座標を探索する。
【００４８】
図１６は、評価値Ｖの概念を模式的に説明している。図１６において、輪郭線Ｏ上において長さｄｌを有する微小線要素と、当該微小線要素の法線単位ベクトルｐが示されている。曲線Ｏ１〜Ｏ４が前記の（４）式によって特定できるため、任意の微小線要素についての法線単位ベクトルｐを求めることができる。なお、法線単位ベクトルｐは内側方向が正となるようにする。すなわち、曲線Ｏ１，Ｏ２上の微小線要素の法線単位ベクトルｐのｙ成分は下方向を正とし、反対に曲線Ｏ３，Ｏ４上の微小線要素の法線単位ベクトルｐのｙ成分は上方向を正とする。また、曲線Ｏ１，Ｏ３上の微小線要素の法線単位ベクトルｐのｘ成分は右方向を正とし、反対に曲線Ｏ２，Ｏ４上の微小線要素の法線単位ベクトルｐのｘ成分は左方向を正とする。勾配ベクトルｇは下記の（５）式で表される。
【数５】
2009223566.tif 000007
【００４９】
前記の（５）式において、勾配ベクトルｇは、水平方向の勾配と鉛直方向の勾配によって与えられ、肌色らしさを示すスカラー量Ｚ（ｘ，ｙ）の変動が激しい領域ほど大きくなる。評価値算出部Ｐ２ｃ６は、以上説明した法線単位ベクトルｐと勾配ベクトルｇを使用し、下記の（６）式によって輪郭線Ｏの輪郭への近似性を評価する評価値Ｖを算出する。
【数６】
2009223566.tif 000008
【００５０】
前記の（６）式において、評価値Ｖは微小線要素に関する法線単位ベクトルｐと勾配ベクトルｇの内積（微少評価値）を輪郭線Ｏに沿って線積分（合計）することにより求められる。ただし、輪郭線Ｏの下側部分の曲線Ｏ３，Ｏ４に関する積分値に対して、輪郭線Ｏの上側部分の曲線Ｏ１，Ｏ２に関する積分値を２倍に重み付けしている。法線単位ベクトルｐと勾配ベクトルｇの内積は、法線単位ベクトルｐと勾配ベクトルｇが同じ方向であり、かつ、勾配ベクトルｇが大きいほど大きい値となる。従って、輪郭線Ｏを構成する各微小線要素がスカラー量Ｚ（ｘ，ｙ）の勾配方向に直交し、かつ、勾配が大きいほど評価値Ｖが大きい値となる。
【００５１】
スカラー量Ｚ（ｘ，ｙ）の勾配は、肌色らしさが変動する程度であると考えることができるため、評価値Ｖが大きいと、輪郭線Ｏが肌色らしさの変動が大きい領域を通過していると評価することができる。すなわち、評価値Ｖが大きいと、輪郭線Ｏが肌色らしさの変動が大きくなる目の輪郭を通過していると考えることができる。特に、スカラー量Ｚ（ｘ，ｙ）は、肌色であることが疑わしい第２領域Ａ２において変動が激しくなるように変換されているため、肌色でない目の輪郭付近では、勾配が極端に大きくなる。一方、図１２で示したように白の分布Ｇ２と黒の分布Ｇ３は、双方とも１に近い値に飽和しており、白目と黒目の境界であってもスカラー量Ｚ（ｘ，ｙ）の勾配は小さいものとなる。すなわち、マハラノビス平方距離ＤM2において白の分布Ｇ２と黒の分布Ｇ３が異なる値を示していても、変換関数によってスカラー量Ｚに変換することにより、白の分布Ｇ２と黒の分布Ｇ３のマハラノビス平方距離ＤM2の差を微少なものに変換することができ、これらの間でスカラー量Ｚの勾配を生じなくさせることができる。従って、白目と黒目の境界について評価値Ｖが大きくなることが防止でき、白目と黒目の境界と目の輪郭を明確に区別することができる。なお、概念的な理解を容易とするために、連続的な画像平面上において評価値Ｖや勾配ベクトルｇや法線ベクトルｎが算出されるように説明したが、現実には離散的な画像平面において等価な演算が行われることとなる。以下に説明する探索処理（探索手段、輪郭検出手段）においては、評価値Ｖを大きくさせる輪郭パラメータＬ，Ｒ，Ｔ，Ｂの座標を探索していく。
【００５２】
図１７は、探索処理における探索の手順を模式的に説明している。同図において、輪郭パラメータＬ，Ｒ，Ｔ，Ｂの移動パターンが示されており、当該移動パターンが第１〜４フェーズから構成されている。第１フェーズにおいては、現在の輪郭パラメータＬ，Ｒ，Ｔ，Ｂの座標（ａ）から対角４方向に２画素分ずれた４座標（ｂ，ｃ，ｄ，ｅ）に輪郭パラメータＬ，Ｒ，Ｔ，Ｂを移動させる。第２フェーズにおいては、現在の輪郭パラメータＬ，Ｒ，Ｔ，Ｂの座標（ａ）から鉛直水平方向に２画素分ずれた４座標（ｂ，ｃ，ｄ，ｅ）に輪郭パラメータＬ，Ｒ，Ｔ，Ｂを移動させる。第３フェーズにおいては、現在の輪郭パラメータＬ，Ｒ，Ｔ，Ｂの座標（ａ）から対角４方向に１画素分ずれた４座標（ｂ，ｃ，ｄ，ｅ）に輪郭パラメータＬ，Ｒ，Ｔ，Ｂを移動させる。第４フェーズにおいては、現在の輪郭パラメータＬ，Ｒ，Ｔ，Ｂの座標（ａ）から鉛直水平方向に１画素分ずれた４座標（ｂ，ｃ，ｄ，ｅ）に輪郭パラメータＬ，Ｒ，Ｔ，Ｂを移動させる。第４フェーズが完了した時点で探索処理を終了する。
【００５３】
図１８は、各フェーズにおける詳細な探索手順を示している。まず直前のフェーズ（第１フェーズにおいては初期値）によって決定された現在の輪郭パラメータＬ，Ｒ，Ｔ，Ｂの座標（ａ）を中心として、図１７に示す移動パターンにしたがって輪郭パラメータＬ，Ｒ，Ｔ，Ｂを移動させる。輪郭パラメータＬ，Ｒ，Ｔ，Ｂを同時に移動させるのではなく、Ｌ→Ｒ→Ｔ→Ｂの順で移動させる。まず現在の輪郭パラメータＬ，Ｒ，Ｔ，Ｂを評価値算出部Ｐ２ｃ６に出力し、評価値Ｖaを算出する。次に輪郭パラメータＲ，Ｔ，Ｂを固定し、輪郭パラメータＬを現在の座標（ａ）のまわりの４座標（ｂ，ｃ，ｄ，ｅ）に順次移動させる。このとき輪郭パラメータＬが移動するごとに、輪郭パラメータＬ，Ｒ，Ｔ，Ｂを評価値算出部Ｐ２ｃ６に出力し、評価値Ｖa，Ｖb，Ｖc，Ｖd，Ｖeを算出する。なお、４座標（ｂ，ｃ，ｄ，ｅ）への移動順序はどのようなものであってもよい。以上のようにして４座標（ａ，ｂ，ｃ，ｄ，ｅ）の輪郭パラメータＬについての評価値Ｖa，Ｖb，Ｖc，Ｖd，Ｖeが得られると、評価値Ｖa，Ｖb，Ｖc，Ｖd，Ｖeに基づいて評価値Ｖを極大化させる輪郭パラメータＬの座標（ｈ）を予測する。
【００５４】
まず、現在の輪郭パラメータＬの座標（ａ）を通過する線分ｂ−ａ−ｃに関する評価値Ｖa，Ｖb，Ｖcを通る２次曲線を算出し、当該２次曲線を極大化させる座標を算出する。なお、当該２次曲線が上に凸であり、かつ、頂点が線分ｂ−ａ−ｃの間にある場合のみ、前記２次曲線を極大化させる座標が算出できる。前記２次曲線を極大化させる座標（ｆ）が算出できない場合には、端の評価値Ｖb，Ｖcのうち大きい方の座標（ｂ）または座標（ｃ）を座標（ｆ）とする。そして、線分ｄ−ａ−ｅに平行かつ座標（ｆ）を通過する直線ｌ１を生成する。次に、現在の輪郭パラメータＬの座標（ａ）を通過し、線分ｂ−ａ−ｃに直交する線分ｄ−ａ−ｅに関する評価値Ｖa，Ｖd，Ｖeを通る２次曲線を算出し、当該２次曲線を極大化させる座標（ｇ）を同様の手順で算出する。そして、線分ｂ−ａ−ｃに平行かつ座標（ｇ）を通過する直線ｌ２を生成する。
【００５５】
以上のようにして直線ｌ１，ｌ２が生成できると、これらの交点の座標を輪郭パラメータＬの座標（ｈ）として算出する。この座標（ｈ）が算出できると、輪郭パラメータＬを座標（ｈ）に移動させ、そのときの評価値Ｖhを算出する。以上のようにして、６個の評価値Ｖa，Ｖb，Ｖc，Ｖd，Ｖe，Ｖhが算出できると、これらのうち最も大きいものに対応する座標を当該フェーズにおける最適な輪郭パラメータＬの座標として決定する。輪郭パラメータＬについて最適な座標が決定すると、次に輪郭パラメータＲについて同様の処理を行って最適な座標を決定する。さらに、輪郭パラメータＴ，Ｂについて順に同様の処理を行って最適な座標を決定し、当該フェーズを終了させ、次のフェーズに移行する。第４フェーズが完了した段階で、最終的に輪郭パラメータＬ，Ｒ，Ｔ，Ｂを確定させる。
【００５６】
以上説明したように、探索の初期の第１，２フェーズにおいては広範囲に輪郭パラメータＬ，Ｒ，Ｔ，Ｂを移動させるため、輪郭パラメータＬ，Ｒ，Ｔ，Ｂの座標をおおまかに目尻、目頭、上頂点、下頂点に近づけさせることができる。さらに、探索の後期の第３，４フェーズにおいては狭い範囲で局所的に輪郭パラメータＬ，Ｒ，Ｔ，Ｂを移動させるため、より目尻、目頭、上頂点、下頂点に収束するように輪郭パラメータＬ，Ｒ，Ｔ，Ｂの座標を微調整することできる。なお、一定の評価値Ｖに到達した時点で探索を終了させ、そのときの輪郭パラメータＬ，Ｒ，Ｔ，Ｂを出力してもよい。
【００５７】
このように最終的に探索された左目についての輪郭パラメータＬ，Ｒ，Ｔ，Ｂを、内部メモリ１２の所定領域に記憶し、引き続き右目の輪郭検出を実行する。
Ｓ１５５〜Ｓ１６５では、パラメータ探索部Ｐ２ｃ５および評価値算出部Ｐ２ｃ６が、右目画像データＲＥを変換したＺマップに基づいて、上記Ｓ１４０〜Ｓ１５０で説明した処理と同様に、右目の輪郭パラメータＬ，Ｒ，Ｔ，Ｂの探索を行い、最終的に探索された右目の輪郭パラメータＬ，Ｒ，Ｔ，Ｂを内部メモリ１２の所定領域に記憶する。
【００５８】
Ｓ１７０では、両目サイズ検出部２２１は、内部メモリ１２に記憶した左目の輪郭パラメータＬ，Ｒ，Ｔ，Ｂを用いて左目のサイズを検出するとともに、内部メモリ１２に記憶した右目の輪郭パラメータＬ，Ｒ，Ｔ，Ｂを用いて右目のサイズを検出する。目のサイズといった場合、目の高さ（顔の高さ方向における目の長さ）や目の幅（顔の横方向における目の長さ）や目の面積等、種々の情報が考えられる。本実施形態では、目の高さを目のサイズとして検出する。これは、人顔における左右の目は、その幅は基本的に大きな差はないが、その高さは左右で違いが生じやすいからである。両目サイズ検出部２２１は、内部メモリ１２に記憶した左目の輪郭パラメータＬ，Ｒ，Ｔ，ＢのＺマップにおける各ｙ座標値ｙL，ｙR，ｙT，ｙBのうちの最大値と最小値との差分（多くの場合、ｙTとｙBとの差分）を算出し、当該算出した差分を左目のサイズＬＳとして取得する。同様に、両目サイズ検出部２２１は、内部メモリ１２に記憶した右目の輪郭パラメータＬ，Ｒ，Ｔ，Ｂの各ｙ座標値のうちの最大値と最小値との差分を算出し、当該算出した差分を右目のサイズＲＳとして取得する。
【００５９】
ただし、両目サイズ検出部２２１は、上記輪郭パラメータを用いることなく、より簡易に左右の目の大きさを表す情報を取得するとしてもよい。上記Ｓ１２０において顔器官検出部２２が検出した左目領域（比較領域ＣＡ１）および右目領域（比較領域ＣＡ２）は、上述したように、それぞれが内包する目の大きさに応じて領域の大きさが決定されている。そこで両目サイズ検出部２２１は、例えば、顔画像データＦＤにおける比較領域ＣＡ１の鉛直方向の長さ（画素数）を左目のサイズＬＳとして取得し、顔画像データＦＤにおける比較領域ＣＡ２の鉛直方向の長さ（画素数）を右目のサイズＲＳとして取得してもよい。比較領域ＣＡ１，ＣＡ２の辺の長さを目のサイズとして検出する場合には、上記Ｓ１２５〜Ｓ１６５（図３）の処理は不要である。このように本実施形態では、両目サイズ検出部２２１は、左右それぞれの目の大きさを直接的または間接的に表す情報を、左目のサイズＬＳ、右目のサイズＲＳとして検出する。以下では、左目のサイズＬＳ、右目のサイズＲＳを単にＬＳ，ＲＳと表記する。
【００６０】
３．補正量の決定処理：
ＬＳ，ＲＳが検出されたら、次に、補正量決定部２３がＬＳ，ＲＳに基づいて補正量を決定する。
図１９は、補正量決定部２３が実行するＳ３００（図２）の詳細を、フローチャートにより示している。Ｓ３０５では、補正量決定部２３は、ＬＳとＲＳとの大小判定を行なうことにより、補正量を決定する対象の目を決定する。本実施形態では、左右の目のうちどちらのサイズが小さいか判定し、小さい方の目に対する補正量β（拡大率）を決定する。そして、後述するように、補正量βに基づいて小さい方の目の大きさを拡大するような画像変形（Ｓ５００）を行なう。
【００６１】
なお、大小判定においてＲＳ＝ＬＳと判定された場合は、左右の目の大きさのバランスが取れている状況である。そのため、後述する補正量βの決定およびＳ５００の処理を行なうことなく、プリンタ１０は、対象画像を表す画像データ１４ａに基づいてＳ７００の処理を行なう。以下では、ＲＳ＜ＬＳと判定された場合、すなわち右目のほうが左目よりも小さいと判定された場合を想定して説明を行なう。
Ｓ３１０では、補正量決定部２３は、上記大小判定において補正量の決定対象とされた目（右目）に対する補正量を決定するための関数を生成する。まず、補正量決定部２３は、補正量βの最小値と最大値を定める。ここでは、補正量βの最小値を１とし、補正量βの最大値をＬＳ／ＲＳとする。次に、補正量決定部２３は、最小値＝１、最大値＝ＬＳ／ＲＳを出力する関数を生成する。
【００６２】
図２０は、補正量決定部２３が生成する関数Ｆ１の一例を示している。同図では、入力値（横軸）＝ＲＳ／ＬＳ、出力値（縦軸）＝補正量βとした、上に凸の２次曲線を示している。補正量決定部２３は、かかる２次曲線を関数Ｆ１として生成する。関数Ｆ１は、入力値＝０のとき最小値＝１を出力し、入力値＝１のとき最大値＝ＬＳ／ＲＳを出力する関数である。なお、関数Ｆ１の曲線形状自体は予め定められているものとし、関数Ｆ１の縦軸の目盛間隔が、補正量βの最大値に応じて変更される。
Ｓ３１５では、補正量決定部２３は、上記生成した関数Ｆ１に対してＲＳ／ＬＳを入力することにより補正量βを決定する。このように決定した補正量βが、本実施形態において右目の大きさを拡大するための補正量となる。
【００６３】
上記関数Ｆ１を用いることで、左右の目のうち大きい方の目の大きさに対する小さい方の目の大きさの比率が高いほど小さい方の目の大きさを大きい方の目の大きさに近づかせる補正量βを決定することができる。つまり、上記比率がある程度低い場合には、決定される補正量βも最大値（大きい方の目のサイズ／小さい方の目のサイズ）からある程度離れた値となるため、小さい目に対する過剰な変形（拡大）によって却って画像を破綻させてしまうことが防がれる。一方、上記比率がある程度高い場合には、決定される補正量βも最大値に近い値となり、変形後は両方の目の大きさが略同じとなる。元々両目の大きさの差が少ない場合には、小さい方の目を大きい方の目と同等な大きさまで拡大しても、画像の自然さは損なわれない。
【００６４】
ただし、小さい方の目の大きさを拡大するための補正量βの決定方法は、上述した手法に限られない。例えば、補正量決定部２３は、ＬＳ，ＲＳの平均値Ａve＝（ＬＳ＋ＲＳ）／２に基づいて、補正量βを決定してもよい。具体的には、後述する画像変形によって小さい方の目（右目）の大きさが平均値Ａveにまで略拡大されるように、補正量決定部２３は、補正量β＝Ａve／ＲＳとする。補正量β＝Ａve／ＲＳと決定すれば、変形後においても左右の目の大きさに差は残るものの、小さい方の目に対する過剰な変形（拡大）が防止され、観察者が違和感を生じない程度に両目の大きさのバランスを調整することができる。あるいは、より単純に、補正量決定部２３は、後述する画像変形によって小さい方の目（右目）の大きさが大きい方の目（左目）の大きさまで略拡大されるように、補正量β＝ＬＳ／ＲＳとしてもよい。
なお、ＬＳ＜ＲＳであれば、上述した補正量βの決定の際におけるＲＳとＬＳとの関係が逆になることは言うまでもない。
【００６５】
４．変形処理および印刷処理：
補正量βが決定されたら、次に、変形領域設定部２４、変形領域分割部２５および変形処理実行部２６が、補正量βに基づく画像の変形処理を行なう。変形領域設定部２４、変形領域分割部２５および変形処理実行部２６をまとめて変形部と呼ぶこともできる。
図２１は、変形部が実行するＳ５００（図２）の詳細を、フローチャートにより示している。Ｓ５０５では、変形領域設定部２４が変形領域ＴＡを設定する。変形領域ＴＡは、画像データ１４ａ上の少なくとも顔の一部を含む領域であって画像変形の対象となり得る領域である。変形領域ＴＡの設定は、例えば、Ｓ１１０（図３）で顔領域として検出された比較領域Ｃ（図４に示した比較領域ＣＡ）を基準にして行なうことができる。以下では、Ｓ１１０で顔領域として検出された比較領域Ｃを顔領域ＦＡと呼ぶ。
【００６６】
図２２は、顔領域ＦＡおよび顔領域ＦＡを基準に設定された変形領域ＴＡの一例を示している。同図には、顔領域ＦＡの基準線ＳＬを示している。基準線ＳＬは、顔領域ＦＡの重心を通過する線であって、顔領域ＦＡの顔の高さ方向を向く線である。なお、図２２に示した顔領域ＦＡは、図４に示した顔領域（比較領域Ｃ）と比較して、画像データ１４ａ上における位置および角度が若干異なっている。これは、変形領域ＴＡの設定前に、変形領域設定部２４が、上記Ｓ１１０で検出された顔領域の矩形を、その上辺および下辺が顔の幅方向（例えば、両目の中心を結んだ線が向く方向）と略平行となるように回転させたり、顔内の主要器官が確実に矩形内に入るように基準線ＳＬに沿って移動させたことによる。このような顔領域の角度や位置の調整は、行なってもよいし行なわなくてもよい。
【００６７】
図２２に示すように、変形領域ＴＡは、顔領域ＦＡを基準線ＳＬと平行な方向および基準線ＳＬに直行する方向に伸張（または短縮）した領域として設定される。具体的には、顔領域ＦＡの高さ方向の大きさをＨｆ、幅方向の大きさをＷｆｉとすると、顔領域ＦＡを、上方向にｋ１・Ｈｆ、下方向にｋ２・Ｈｆだけ伸ばすと共に、左右にそれぞれｋ３・Ｗｆｉだけ伸ばした領域が、変形領域ＴＡとして設定される。ｋ１，ｋ２，ｋ３は、所定の係数である。図２２に示すように、変形領域ＴＡは、顔の高さ方向に関しては、概ね顎から額までの画像を含み、顔の幅方向に関しては、左右の頬の画像を含むような領域として設定される。本実施形態では、変形領域ＴＡが概ね上述したような範囲の画像を含む領域となるように、顔領域ＦＡの大きさとの関係に基づき、上述の係数ｋ１，ｋ２，ｋ３が予め設定されている。
Ｓ５１０では、変形領域分割部２５が、変形領域ＴＡを複数の小領域に分割する。
【００６８】
図２３は、変形領域ＴＡの小領域への分割方法の一例を示す説明図である。変形領域分割部２５は、変形領域ＴＡに複数の分割点Ｄを配置し、分割点Ｄを結ぶ直線を用いて変形領域ＴＡを複数の小領域に分割する。分割点Ｄの配置の態様（分割点Ｄの個数および位置）は、分割点配置パターンテーブル４１（図１）により定義されている。変形領域分割部２５は、分割点配置パターンテーブル４１を参照して分割点Ｄを配置する。図２３に示すように、一例として、分割点Ｄは水平分割線Ｌｈと垂直分割線Ｌｖとの交点と、水平分割線Ｌｈおよび垂直分割線Ｌｖと変形領域ＴＡの外枠との交点とに配置される。水平分割線Ｌｈおよび垂直分割線Ｌｖは、変形領域ＴＡ内に分割点Ｄを配置するための基準となる線である。図２３に示した分割点Ｄの配置では、基準線ＳＬと直行する２本の水平分割線Ｌｈと、基準線ＳＬに平行な４本の垂直分割線Ｌｖとが設定される。２本の水平分割線Ｌｈを、変形領域ＴＡの下方から順に、Ｌｈ１，Ｌｈ２と呼ぶ。４本の垂直分割線Ｌｖを、変形領域ＴＡの左から順に、Ｌｖ１，Ｌｖ２，Ｌｖ３，Ｌｖ４と呼ぶ。
【００６９】
水平分割線Ｌｈ１は、変形領域ＴＡにおいて、目の画像のすぐ下付に配置され、水平分割線Ｌｈ２は、目の画像のすぐ上付近に配置される。垂直分割線Ｌｖ１およびＬｖ４は、左右の目尻の画像の外側に配置され、垂直分割線Ｌｖ２およびＬｖ３は、左右の目頭の画像の内側に配置される。なお、水平分割線Ｌｈおよび垂直分割線Ｌｖの配置は、水平分割線Ｌｈおよび垂直分割線Ｌｖと画像との位置関係が結果的に上述の位置関係となるように予め設定された変形領域ＴＡの大きさとの対応関係に従い実行される。
【００７０】
上述した水平分割線Ｌｈと垂直分割線Ｌｖとの配置に従い、水平分割線Ｌｈと垂直分割線Ｌｖとの交点と、水平分割線Ｌｈおよび垂直分割線Ｌｖと変形領域ＴＡの外枠との交点とに、分割点Ｄが配置される。図２３に示すように、水平分割線Ｌｈｉ（ｉ＝１または２）上に位置する分割点Ｄを、左から順に、Ｄ０ｉ，Ｄ１ｉ，Ｄ２ｉ，Ｄ３ｉ，Ｄ４ｉ，Ｄ５ｉと呼ぶ。例えば、水平分割線Ｌｈ１上に位置する分割点Ｄは、Ｄ０１，Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１，Ｄ５１と呼ばれる。同様に、垂直分割線Ｌｖｊ（ｊ＝１，２，３，４のいずれか）上に位置する分割点Ｄを、下から順に、Ｄｊ０，Ｄｊ１，Ｄｊ２，Ｄｊ３と呼ぶ。例えば、垂直分割線Ｌｖ１上に位置する分割点Ｄは、Ｄ１０，Ｄ１１，Ｄ１２，Ｄ１３と呼ばれる。なお、図２３に示すように、分割点Ｄの配置は、基準線ＳＬに対して対称の配置となっている。
【００７１】
変形領域分割部２５は、配置された分割点Ｄを結ぶ直線（すなわち水平分割線Ｌｈおよび垂直分割線Ｌｖ）により、変形領域ＴＡを複数の小領域に分割する。分割点Ｄの配置は、水平分割線Ｌｈおよび垂直分割線Ｌｖの本数および位置により定まるため、分割点配置パターンテーブル４１は水平分割線Ｌｈおよび垂直分割線Ｌｖの本数および位置を定義していると言い換えることも可能である。
Ｓ５１５では、変形処理実行部２６が、変形領域ＴＡを対象とした画像の変形処理を行う。変形処理実行部２６による変形処理は、Ｓ５１０で変形領域ＴＡ内に配置された分割点Ｄの位置を移動して、小領域を変形することにより行われる。
【００７２】
図２４は、分割点Ｄの位置移動の一例を示す説明図である。変形処理実行部２６は、補正量決定部２３によって補正量βが決定された目（本実施形態においては右目）を囲む分割点Ｄを、上記決定された補正量βに基づいてＶ方向（基準線ＳＬと平行な方向）に移動させる。なお図２４の説明において用いる“Ｖ”は、画像データ１４ａにおける変形領域ＴＡの方向を意味しており、上記評価値Ｖとは別の意味である。右目を囲む分割点Ｄは、Ｄ１１，Ｄ１２，Ｄ２２，Ｄ２１である。この分割点Ｄ１１，Ｄ１２，Ｄ２２，Ｄ２１を頂点とする小領域（ハッチングを付して示す小領域）は、特許請求の範囲に言う右目を含む領域の一例に該当する。なお、分割点Ｄ３１，Ｄ３２，Ｄ４２，Ｄ４１を頂点とする小領域は、特許請求の範囲に言う左目を含む領域の一例に該当する。
【００７３】
変形処理実行部２６は、分割点Ｄ１１，Ｄ１２，Ｄ２２，Ｄ２１を頂点とする小領域のＶ方向の距離（画素数）が例えばＶ１であるとすると、この小領域のＶ方向の距離がβ・Ｖ１に拡大されるように、分割点Ｄ１１，Ｄ１２，Ｄ２２，Ｄ２１の全てあるいは一部を移動させる。分割点Ｄ１１，Ｄ１２，Ｄ２２，Ｄ２１の全てを移動させる場合には、目よりも下側に位置する水平分割線Ｌｈ１上の分割点Ｄ１１，Ｄ２１をＶ方向のマイナス側（顔の下側）に移動させ、目よりも上側に位置する水平分割線Ｌｈ２上の分割点Ｄ１２，Ｄ２２をＶ方向のプラス側（顔の上側）に移動させる。ただし本実施形態では、変形処理実行部２６は、図２４に例示したように、水平分割線Ｌｈ１上に位置する分割点Ｄ１１，Ｄ２１は移動させず、水平分割線Ｌｈ２上に位置する分割点Ｄ１２，Ｄ２２をＶ方向のプラス側に移動させる。本実施形態では、Ｈ方向（基準線ＳＬに直交する方向）への分割点Ｄの移動は行わない。
【００７４】
変形処理実行部２６は、変形領域ＴＡの内外の画像間の境界が不自然とならないように、変形領域ＴＡの外枠上に位置する分割点Ｄの位置は移動しない。図２４では、移動前の分割点Ｄは白抜きの丸で、移動後の分割点Ｄや位置の移動の無い分割点Ｄは黒丸で示されている。移動後の各分割点Ｄについては、「’」を付して表現している。
変形処理実行部２６は、変形領域ＴＡを構成する小領域について、分割点Ｄの位置移動前の状態における小領域の画像が、分割点Ｄの位置移動により新たに定義された小領域の画像となるように、画像の変形処理を行う。具体的には、分割点Ｄ１１，Ｄ１２，Ｄ２２，Ｄ２１を頂点とする小領域の画像は、分割点Ｄ１１，Ｄ’１２，Ｄ’２２，Ｄ２１を頂点とする小領域の画像に変形（拡大）される。またこれに付随して、分割点Ｄ０１，Ｄ０２，Ｄ１２，Ｄ１１を頂点とする小領域の画像は、分割点Ｄ０１，Ｄ０２，Ｄ’１２，Ｄ１１を頂点とする小領域の画像に変形（拡大）され、分割点Ｄ２１，Ｄ２２，Ｄ３２，Ｄ３１を頂点とする小領域の画像は、分割点Ｄ２１，Ｄ’２２，Ｄ３２，Ｄ３１を頂点とする小領域の画像に変形（拡大）される。
【００７５】
図２５は、変形処理実行部２６による画像の変形処理方法の概念を示す説明図である。図２５では、分割点Ｄを黒丸で示している。図２５では、説明を簡略化するために、４つの小領域について、左側に分割点Ｄの位置移動前の状態を、右側に分割点Ｄの位置移動後の状態を、それぞれ示している。図２５の例では、中央の分割点Ｄａが分割点Ｄａ’の位置に移動され、その他の分割点Ｄの位置は移動されない。これにより、例えば、分割点Ｄの移動前の分割点Ｄａ，Ｄｂ，Ｄｃ，Ｄｄを頂点とする矩形の小領域（以下「変形前注目小領域ＢＳＡ」とも呼ぶ）の画像は、分割点Ｄａ’，Ｄｂ，Ｄｃ，Ｄｄを頂点とする矩形の小領域（以下「変形後注目小領域ＡＳＡ」とも呼ぶ）の画像に変形される。
【００７６】
本実施形態では、矩形の小領域を小領域の重心ＣＧを用いて４つの三角形領域に分割し、三角形領域単位で画像の変形処理を行っている。図２５の例では、変形前注目小領域ＢＳＡが、変形前注目小領域ＢＳＡの重心ＣＧを頂点の１つとする４つの三角形領域に分割される。同様に、変形後注目小領域ＡＳＡが、変形後注目小領域ＡＳＡの重心ＣＧ’を頂点の１つとする４つの三角形領域に分割される。そして、分割点Ｄａの移動前後のそれぞれの状態において対応する三角形領域毎に、画像の変形処理が行われる。例えば、変形前注目小領域ＢＳＡ中の分割点Ｄａ，Ｄｄおよび重心ＣＧを頂点とする三角形領域の画像が、変形後注目小領域ＡＳＡ中の分割点Ｄａ’，Ｄｄおよび重心ＣＧ’を頂点とする三角形領域の画像に変形される。
【００７７】
図２６は、三角形領域における画像の変形処理方法の概念を示す説明図である。図２６の例では、点ｓ，ｔ，ｕを頂点とする三角形領域ｓｔｕの画像が、点ｓ’，ｔ’，ｕ’を頂点とする三角形領域ｓ’ｔ’ｕ’の画像に変形される。なお、図２６の説明において用いる“ｓ”や“ｕ”は、本明細書において既出の同一の符号とは別の意味で用いている。画像の変形は、変形後の三角形領域ｓ’ｔ’ｕ’の画像中のある画素の位置が、変形前の三角形領域ｓｔｕの画像中のどの位置に相当するかを算出し、算出された位置における変形前の画像における画素値を変形後の画像の画素値とすることにより行う。例えば、図２６において、変形後の三角形領域ｓ’ｔ’ｕ’の画像中の注目画素ｐ’の位置は、変形前の三角形領域ｓｔｕの画像中の位置ｐに相当するものとする。位置ｐの算出は、以下のように行う。まず、注目画素ｐ’の位置を、下記の式（７）のようにベクトルｓ’ｔ’とベクトルｓ’ｕ’との和で表現するための係数ｍ１およびｍ２を算出する。
【００７８】
【数７】
2009223566.tif 000009
【００７９】
次に、算出された係数ｍ１およびｍ２を用いて、下記の式（８）により、変形前の三角形領域ｓｔｕにおけるベクトルｓｔとベクトルｓｕとの和を算出することにより、位置ｐが求まる。
【数８】
2009223566.tif 000010
変形前の三角形領域ｓｔｕにおける位置ｐが、変形前の画像の画素中心位置に一致した場合には、当該画素の画素値が変形後の画像の画素値とされる。一方、変形前の三角形領域ｓｔｕにおける位置ｐが、変形前の画像の画素中心位置からはずれた位置となった場合には、位置ｐの周囲の画素の画素値を用いたバイキュービック等の補間演算により、位置ｐにおける画素値を算出し、算出された画素値が変形後の画像の画素値とされる。
【００８０】
変形後の三角形領域ｓ’ｔ’ｕ’の画像中の各画素について上述のように画素値を算出することにより、三角形領域ｓｔｕの画像から三角形領域ｓ’ｔ’ｕ’の画像への画像変形処理を行うことができる。変形処理実行部２６は、図２４に示した変形領域ＴＡを構成する小領域について、上述したように三角形領域を定義して変形処理を行い、変形領域ＴＡにおける画像変形処理を行う。
【００８１】
上述したように本実施形態では、変形処理実行部２６は、水平分割線Ｌｈ１上に位置する分割点Ｄ１１，Ｄ２１は移動させず、水平分割線Ｌｈ２上に位置する分割点Ｄ１２，Ｄ２２を補正量βに応じてＶ方向のプラス側に移動させる。従って、水平分割線Ｌｈ１と水平分割線Ｌｈ２と垂直分割線Ｌｖ３に囲まれた画像、特に、水平分割線Ｌｈ１と水平分割線Ｌｈ２と垂直分割線Ｌｖ１と垂直分割線Ｌｖ２に囲まれた画像が、Ｖ方向に関して顔の上側に拡大される。この結果、左右の目のうち小さい方の目（右目）を含む領域が拡大され、当該拡大後においては左右の目の大きさの違いが少なくなる（あるいは、左右の目の大きさの違いが無くなる）。
【００８２】
ただし、変形処理実行部２６が変形の対象とする領域は、必ずしも変形領域ＴＡ中に設定された分割点Ｄによって囲まれた領域である必要はない。例えば、変形処理実行部２６は、Ｓ１２０（図３）で顔器官検出部２２が検出した左目領域（比較領域ＣＡ１）と右目領域（比較領域ＣＡ２）とのうち、補正量決定部２３によって補正量βが決定された目に対応する側の領域を変形対象としてもよい。この場合、変形処理実行部２６は、変形対象とした領域（例えば、右目領域）の矩形内の画像を、補正量βに基づいて目の高さ方向に拡大させる（β倍する）変形を実行すればよい。
【００８３】
Ｓ７００（図２）では、印刷処理部３２が、プリンタエンジン１６を制御して、対象画像の印刷を行う。すなわち印刷処理部３２は、変形処理後の画像データ１４ａ（変形処理が実行されていない場合には、Ｓ１０５（図３）で取得された画像データ１４ａ）に、解像度変換処理や色変換処理やハーフトーン処理など必要な各処理を施して印刷データを生成する。生成された印刷データは、印刷処理部３２からプリンタエンジン１６に供給され、プリンタエンジン１６は印刷データに基づいた印刷を実行する。これにより、変形処理後の対象画像の印刷が完了する。 
【００８４】
このように本実施形態によれば、画像変形部２０は、対象画像に含まれている顔の左右の目のサイズＬＳ，ＲＳを検出し、検出したＬＳ，ＲＳに基づいて、左右の目のうち小さい方の目を拡大するための補正量βを決定する。そして、決定した補正量βに基づき、対象画像における上記小さい方の目を含む領域を対象として、上記Ｖ方向すなわち顔の略高さ方向に沿って拡大させる変形処理を行なう。その結果、対象画像における顔の左右の目の大きさに違いがある場合であっても、かかる左右の目の大きさの違いが自動的に補正された、観察者に良好な印象を与える画像を得ることができる。
【００８５】
人間の左右の目は、その幅は（顔の横方向における目の長さ）は基本的に大きな差は少ない一方、その高さ（顔の高さ方向における目の長さ）は、左右のまぶたの形状の違いや目をつむる動きの影響等で違いが生じやすい。そのため本実施形態では、上述したように、上記小さい方の目を含む領域を顔の略高さ方向（目の略高さ方向）に沿って拡大させることで、現実的に対象画像において生じる左右の目の大きさの違いを的確に補正する。さらに、左右の目の大きさの違いというものを詳細に検討すると、その違いの多くは、左右の目の上端（まぶたの下端）の位置の違いに起因し、一方、左右の目の下端の位置に大きな違いは無いと言える。そこで本実施形態では、上述したように、目の下側に位置する水平分割線Ｌｈ１上の分割点Ｄ１１，Ｄ２１は移動させず、目の上側に位置する水平分割線Ｌｈ２上の分割点Ｄ１２，Ｄ２２をＶ方向のプラス側に移動させることにより、結果的に、水平分割線Ｌｈ１よりも顔の上側に位置する各画素を顔の上側に向かって移動させている。従って、対象画像において他方の目と比べて小さく表されていた目が大きく見開かれたように補正され、かつ左右の目の下端位置は略維持されるため、違和感の無い補正後の顔画像が得られる。
【００８６】
なお上記では、左右の目のうち小さい方の目を拡大するための補正量βに基づいて小さい方の目を拡大する場合について説明した。しかし本発明においては、大きい方の目を縮小するための補正量（縮小率）をＬＳ，ＲＳに基づいて決定し、決定した補正量に基づいて大きい方の目を縮小する変形を行なうことも可能である。あるいは、大きい方の目を縮小するための補正量および小さい方の目を拡大するための補正量をＬＳ，ＲＳに基づいて決定し、大きい方の目を縮小するための補正量に基づいて大きい方の目を縮小し、小さい方の目を拡大するための補正量に基づいて小さい方の目を拡大する変形を行なうことも可能である。
【００８７】
５．他の実施例
画像変形部２０は、顔向き推定部２７（図１）を備えている。顔向き推定部２７は、対象画像における顔の向き（正面向き、上向き、下向き、右向き、左向き等）を推定する機能である。対象画像の顔が上向きとは、顔が仰向けの傾向にある状態を意味し、下向きとは顔がうつ伏せの傾向にある状態を意味し、右向きとは対象画像の人物にとっての左の横顔が画像内で主に見えている状態を意味し、左向きとは対象画像の人物にとっての右の横顔が画像内で主に見えている状態を意味する。画像変形部２０は、Ｓ１００，Ｓ３００（図２）を実行する過程で、顔向き推定部２７に対象画像における顔の向きを推定させるとともに、推定された顔の向きの程度（顔の振りの程度）に応じて、上記補正量βを変更するとしてもよい。
【００８８】
図２７は、Ｓ１１０（図３）において、画像データ１４ａから顔領域として検出された比較領域ＣＡを例示している。また図２７では、Ｓ１２０で顔器官検出部２２によって検出された左目領域としての比較領域ＣＡ１と、右目領域としての比較領域ＣＡ２との各位置も例示している。なお図２７では、画像データ１４ａ内の顔自体の図示は省略している。さらに図２７では、顔器官検出部２２が検出した口の画像を含む矩形領域（口領域ＣＡ３）の位置も例示している。画像変形部２０は、Ｓ１２０において、顔器官検出部２２に、左右の目に加え口も検出させる。つまり顔器官検出部２２は、顔領域としての比較領域ＣＡ内（顔画像データＦＤ内）でさらに矩形状の比較領域ＣＡを設定し、当該設定した比較領域ＣＡの位置と大きさと回転角度を変えながら、当該設定した比較領域ＣＡ内の画像と各テンプレート（口テンプレート）の画像との類似性を評価するパターンマッチングを行なうことにより、口領域ＣＡ３を検出可能である。
【００８９】
比較領域ＣＡ１と、比較領域ＣＡ２と、口領域ＣＡ３とが検出されたら、顔向き推定部２７が顔の向きの推定処理を実行する。推定処理を実行するタイミングは様々であるが、一例として、顔向き推定部２７は、Ｓ１２０とＳ１２５の間のタイミングにおいて推定処理を行なう。なお、顔器官検出部２２が左目領域と、右目領域と、口領域ＣＡ３とのいずれか一つでも検出できなかった場合には、顔向き推定部２７は推定処理を行なわないとしてもよい。ここで、比較領域ＣＡ１の中心点Ｃｅ（ｌ）と比較領域ＣＡ２の中心点Ｃｅ（ｒ）とを結ぶ線分ＣＬの長さを参照幅Ｗｒと呼び、口領域ＣＡ３の中心点Ｃｍと線分ＣＬとの距離を参照高さＨｒと呼ぶ。図２７から明らかなように、参照幅Ｗｒは顔の画像の幅に相関のある指標であり、参照高さＨｒは顔の画像の高さに相関のある指標である。
【００９０】
顔向き推定部２７は、参照高さＨｒと参照幅Ｗｒとを算出するとともに、参照高さＨｒと参照幅Ｗｒとの比（Ｈｒ／Ｗｒ）を判定指標値ＤＩとして算出し、判定指標値ＤＩに基づき顔向き推定を行う。具体的には、顔向き推定部２７は、判定指標値ＤＩがしきい値ＤＴ１以上かつしきい値ＤＴ２未満である場合には、顔の画像の向きが正面向きであると推定する。しきい値ＤＴ１，ＤＴ２はいずれも正の値であり、ＤＴ１＜ＤＴ２の関係を有する。顔向き推定部２７は、判定指標値ＤＩがしきい値ＤＴ１未満である場合には、顔の画像の向きが上向きまたは下向きであると推定する。顔向き推定部２７は、判定指標値ＤＩがしきい値ＤＴ２以上である場合には、顔の画像の向きが右向きまたは左向きであると推定する。
【００９１】
顔の画像の向きが右向きまたは左向きである場合には、正面向きである場合と比較して、参照高さＨｒはほとんど変わらない一方、参照幅Ｗｒは小さいと考えられる。従って、顔の画像の向きが右向きまたは左向きである場合には、正面向きである場合と比較して、判定指標値ＤＩ（＝Ｈｒ／Ｗｒ）が大きくなる。反対に、顔の画像の向きが上向きまたは下向きである場合には、正面向きである場合と比較して、参照幅Ｗｒはほとんど変わらない一方、参照高さＨｒは小さいと考えられる。従って、顔の画像の向きが上向きまたは下向きである場合には、正面向きである場合と比較して、判定指標値ＤＩ（＝Ｈｒ／Ｗｒ）が小さくなる。しきい値ＤＴ１，ＤＴ２は、複数の顔のサンプル画像の判定指標値ＤＩから統計的に定められる。予め定められたしきい値ＤＴ１，ＤＴ２は内部メモリ１２内の所定の領域に格納されている。
【００９２】
本実施形態においては、顔が右向きまたは左向きと推定された場合に、当該推定の結果を補正量βの決定に際して考慮する。そこで、顔向き推定部２７は、顔の画像の向きが右向きまたは左向きであると推定したときに、上記算出した判定指標値ＤＩを内部メモリ１２に記録する。従って、内部メモリ１２に記録される判定指標値ＤＩは、少なくともしきい値ＤＴ２以上の値である。内部メモリ１２に記録された判定指標値ＤＩは、対象画像における顔の右向きまたは左向きの度合い（横向きの度合い）を示していると言える。補正量決定部２３は、Ｓ３００の実行過程において、内部メモリ１２に判定指標値ＤＩが記録されているか否か判断する。そして、内部メモリ１２に判定指標値ＤＩが記録されている場合には、Ｓ３１５（図１９）で決定した補正量βを、判定指標値ＤＩの大きさに応じて変更する。以下では、変更後の補正量を補正量β´と呼ぶ。
【００９３】
図２８は、補正量βを判定指標値ＤＩに応じて変更するための関数Ｆ２を例示している。関数Ｆ２は、入力値（横軸）＝判定指標値ＤＩ、出力値（縦軸）＝補正量β´とした、下に凸の２次曲線である。関数Ｆ２は、入力値＝ＤＴ２のとき最大値（補正量β）を出力し、入力値が大きくなるほど１に近い値を出力する。従って、判定指標値ＤＩが大きい値であるほど（対象画像における顔の横向きの度合いが高いほど）、補正量βが１を下限として小さい値に変更される。補正量決定部２３は、このように関数Ｆ２に基づいて出力した補正量β´を、変形部に受け渡す。変形部は、補正量β´に基づいて上述した画像変形を行なう（Ｓ５００）。
【００９４】
対象画像における顔が右向きまたは左向きであれば、奥側の目（対象画像の顔が右向きであれば当該顔の右目、対象画像の顔が左向きであれば当該顔の左目）は、手前側の目よりも小さく表示されていて当然である。このように、小さくて当然の奥側の目を上記のように決定した補正量βに基づいて拡大すると、過剰な変形となってしまい、却って画像が不自然となり得る。そこで本実施形態では、顔向き推定部２７が顔の横向きの度合いが高いと推定した場合には、補正量決定部２３は、小さい方の目を拡大するための補正量βを上記のように低減させる（補正量β´に変更する）ことで、画像の過剰な変形を防止している。補正量決定部２３による変更後の補正量β´＝１である場合には、実質的に画像変形は行なわれないため、この場合プリンタ１０は、Ｓ５００をスキップしてＳ７００に進む。
【００９５】
また、顔向き推定部２７による推定結果に基づく処理の一例として、画像変形部２０は、顔向き推定部２７が算出した判定指標値ＤＩが一定値以上であれば、画像変形を行なわないとしてもよい。つまり、上記Ｓ１２０の次のステップで顔向き推定部２７が算出した判定指標値ＤＩが、しきい値ＤＴ２以上であったり、あるいは、しきい値ＤＴ２より大きい所定の値（しきい値ＤＴ３）以上であった場合には、画像変形部２０は、拡大率（あるいは縮小率）としての補正量βは１に変更されるものとみなし、Ｓ１２５〜Ｓ１７０，Ｓ３００，Ｓ５００の処理を行なうことなくＳ７００に進むとしてもよい。
本実施形態では、プリンタ１０による処理を説明したが、上述した画像変形部２０による処理（Ｓ１００〜Ｓ５００の処理）は、ＰＣやデジタルスチルカメラなど、プリンタ以外の各種ハードウェアにおいても行なうことが可能である。
【図面の簡単な説明】
【００９６】
【図１】画像処理装置としてのプリンタの概略構成を示すブロック図である。
【図２】プリンタが実行する処理を示すフローチャートである。
【図３】両目サイズ検出処理の詳細を示すフローチャートである。
【図４】顔検出の様子を示す図である。
【図５】顔器官検出後の顔画像データを示す図である。
【図６】両目サイズ検出部のソフトウェア構成を示すブロック図である。
【図７】傾き補正の様子を示す図である。
【図８】スカラー変換処理の流れを示すフローチャートである。
【図９】サンプリングの様子を示す図である。
【図１０】サンプリングによって得られるヒストグラムである。
【図１１】マハラノビス平方距離の等値線を示すグラフである。
【図１２】変換関数による変換特性を示すグラフである。
【図１３】マハラノビス平方距離と確率分布の関係を示すグラフである。
【図１４】Ｚマップの一例を示す図である。
【図１５】Ｚマップにおける輪郭パラメータを示す図である。
【図１６】評価値を説明する図である。
【図１７】探索処理における探索手順を示す模式図である。
【図１８】探索処理の詳細手順を示す模式図である。
【図１９】補正量決定処理の詳細を示すフローチャートである。
【図２０】補正量決定のための関数の一例を示す図である。
【図２１】画像変形処理の詳細を示すフローチャートである。
【図２２】画像データ上に設定した変形領域の一例を示す図である。
【図２３】変形領域を小領域に分割した様子の一例を示す図である。
【図２４】分割点の位置移動の一例を示す図である。
【図２５】画像の変形処理の概念を示す説明図である。
【図２６】三角形領域における画像の変形処理の概念を示す説明図である。
【図２７】左目領域や右目領域や口領域等を示す図である。
【図２８】補正量を判定指標値に応じて変更するための関数を示す図である。
【符号の説明】
【００９７】
１０…プリンタ、１１…ＣＰＵ、１２…内部メモリ、１４ａ…画像データ、１４ｂ…顔テンプレート、１４ｃ…目テンプレート、１６…プリンタエンジン、１７…カードＩ／Ｆ、２０…画像変形部、２１…顔領域検出部、２２…顔器官検出部、２３…補正量決定部、２４…変形領域設定部、２５…変形領域分割部、２６…変形処理実行部、２７…顔向き推定部、３２…印刷処理部、４１…分割点配置パターンテーブル、１７２…カードスロット、２２１…両目サイズ検出部、Ｐ２ｃ１…傾き補正部、Ｐ２ｃ２…サンプリング部、Ｐ２ｃ３…スカラー変換部、Ｐ２ｃ４…変換関数設定部、Ｐ２ｃ５…パラメータ探索部、Ｐ２ｃ６…評価値算出部
【図１】
2009223566.tif 000011
【図２】
2009223566.tif 000012
【図３】
2009223566.tif 000013
【図４】
2009223566.tif 000014
【図５】
2009223566.tif 000015
【図６】
2009223566.tif 000016
【図８】
2009223566.tif 000017
【図９】
2009223566.tif 000018
【図１０】
2009223566.tif 000019
【図１１】
2009223566.tif 000020
【図１２】
2009223566.tif 000021
【図１３】
2009223566.tif 000022
【図１５】
2009223566.tif 000023
【図１６】
2009223566.tif 000024
【図１７】
2009223566.tif 000025
【図１８】
2009223566.tif 000026
【図１９】
2009223566.tif 000027
【図２０】
2009223566.tif 000028
【図２１】
2009223566.tif 000029
【図２２】
2009223566.tif 000030
【図２３】
2009223566.tif 000031
【図２４】
2009223566.tif 000032
【図２５】
2009223566.tif 000033
【図２６】
2009223566.tif 000034
【図２７】
2009223566.tif 000035
【図２８】
2009223566.tif 000036
【図７】
2009223566.tif 000037
【図１４】
2009223566.tif 000038