(57)【要約】【課題】顔画像に含まれる顔が正面向きではない場合において、見栄え良く顔画像を変形させることが困難であった。【解決手段】顔画像が含まれる対象画像において、当該顔画像に含まれる顔の正面向きを基準とした顔の向きと振りの程度とを推定する顔向き推定部と、上記顔画像の所定の顔器官を含む第一領域を基準にして当該第一領域を含む領域を補正対象領域として設定するに際し、上記顔の向きと振りの程度とに応じて当該第一領域に変更を施し、当該変更後の第一領域を基準にして補正対象領域を設定する領域設定部とを備える構成とした。【選択図】図２
2010049578.tif 000002
【特許請求の範囲】
【請求項１】
顔画像が含まれる対象画像において、当該顔画像に含まれる顔の正面向きを基準とした顔の向きと振りの程度とを推定する顔向き推定部と、
上記顔画像の所定の顔器官を含む第一領域を基準にして当該第一領域を含む領域を補正対象領域として設定するに際し、上記顔の向きと振りの程度とに応じて当該第一領域に変更を施し、当該変更後の第一領域を基準にして補正対象領域を設定する領域設定部とを備えることを特徴とする画像処理装置。
【請求項２】
上記領域設定部は、上記顔の振りの程度が大きいと、上記顔の向きと反対側へ大きく上記第一領域を拡大させることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
上記顔向き推定部は、上記顔の振りの程度を上記顔器官間の距離に応じて推定し、上記領域設定部は、上記顔器官間の距離に応じて上記第一領域の拡大度合いを決定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
上記領域設定部は、基準とした上記第一領域を予め定められた拡大率で拡大することにより補正対象領域を設定することを特徴とする請求項１〜請求項３のいずれかに記載の画像処理装置。
【請求項５】
上記領域設定部は、上記対象画像から上記顔器官を含む領域を検出可能な検出部によって検出された上記顔器官を含む領域を上記第一領域として取得し、上記顔の振りの程度が所定の値より大きい場合に、上記顔の向きと振りの程度とに応じて、上記取得した第一領域に変更を施し、上記顔の振りの程度が上記所定の値以下である場合には、上記取得した第一領域を基準にして補正対象領域を設定することを特徴とする請求項１〜請求項４のいずれかに記載の画像処理装置。
【請求項６】
上記設定された補正対象領域に複数の分割点を配置し、分割点同士を結ぶ直線を用いて補正対象領域を複数の小領域に分割し、少なくとも一つの分割点の位置を移動して小領域を変形することにより補正対象領域内の画像の変形を行う画像補正部をさらに備えることを特徴とする請求項１〜請求項５のいずれかに記載の画像処理装置。
【請求項７】
顔画像が含まれる対象画像において、当該顔画像に含まれる顔の正面向きを基準とした顔の向きと振りの程度とを推定する顔向き推定工程と、
上記顔画像の所定の顔器官を含む第一領域を基準にして当該第一領域を含む領域を補正対象領域として設定するに際し、上記顔の向きと振りの程度とに応じて当該第一領域に変更を施し、当該変更後の第一領域を基準にして補正対象領域を設定する領域設定工程とを備えることを特徴とする画像処理方法。
【請求項８】
顔画像が含まれる対象画像において、当該顔画像に含まれる顔の正面向きを基準とした顔の向きと振りの程度とを推定する顔向き推定機能と、
上記顔画像の所定の顔器官を含む第一領域を基準にして当該第一領域を含む領域を補正対象領域として設定するに際し、上記顔の向きと振りの程度とに応じて当該第一領域に変更を施し、当該変更後の第一領域を基準にして補正対象領域を設定する領域設定機能とをコンピュータに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
デジタル画像を対象に、画像を変形するための画像処理技術が知られている（特許文献１参照。）。特許文献１には、顔の画像上の一部の領域（頬の画像を表す領域）を補正領域として設定し、補正領域を所定のパターンに従い複数の小領域に分割し、小領域毎に設定された倍率で画像を拡大または縮小することにより、顔の形状を変形する画像処理が開示されている。
【特許文献１】特開２００４‐３１８２０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来、このような画像処理においては、正面向きの顔についての画像を対象とすることを想定していた。そのため、変形の対象となる顔の向きが正面向きではなく、顔が振れている状態である場合（例えば、顔が左振りや右振りの状態である場合）には、変形後の顔画像が不自然なものとなるおそれがあった。特に、顔が振れている場合、上記変形後の画像において顎などの特定の線が不自然な線となる場合があった。
【０００４】
本発明は上記課題に鑑みてなされたものであり、顔画像を含む画像について、顔画像にかかる顔が正面以外を向いている場合においても、見栄えのよい顔画像の変形結果を得るために最適な処理を行なうことが可能な画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明の画像処理装置は、顔画像が含まれる対象画像において、当該顔画像に含まれる顔の正面向きを基準とした顔の向きと振りの程度とを推定する顔向き推定部と、上記顔画像の所定の顔器官を含む第一領域を基準にして当該第一領域を含む領域を補正対象領域として設定するに際し、上記顔の向きと振りの程度とに応じて当該第一領域に変更を施し、当該変更後の第一領域を基準にして補正対象領域を設定する領域設定部とを備える。本発明によれば、領域設定部が、上記第一領域を基準にして補正対象領域を設定する場合に、上記推定された顔の向き及び顔の振りの程度とに応じて第一領域の位置や大きさに変更を施すため、顔の向き及び顔の振りの程度に応じて位置や大きさが最適化された補正対象領域を設定することができる。このように設定された補正対象領域を対象として画像の変形を行なえば、正面向きではない顔画像であっても見栄えの良い変形結果を得ることができる。
【０００６】
上記領域設定部は、上記顔の振りの程度が大きいと、上記顔の向きと反対側へ大きく上記第一領域を拡大させるとしてもよい。より具体的には、上記顔向き推定部は、上記顔の振りの程度を上記顔器官間の距離に応じて推定し、上記領域設定部は、上記顔器官間の距離に応じて上記第一領域の拡大度合いを決定する。当該構成によれば、対象画像内において左振りや右振りの状態となっている顔の向きと反対側の顎や頬などを十分に含む補正対象領域を設定できるため、顎や頬などのラインや領域に関して違和感の無い補正（変形）結果を得ることができる。
【０００７】
上記領域設定部は、基準とした上記第一領域を予め定められた拡大率で拡大することにより補正対象領域を設定するとしてもよい。当該構成によれば、補正対象領域の設定の基準となる第一領域の位置や大きさにかかわらず、基準となる第一領域を一定の拡大率で拡大するだけで補正対象領域が設定されるため、補正対象領域の設定が非常に容易である。
【０００８】
上記領域設定部は、上記対象画像から上記顔器官を含む領域を検出可能な検出部によって検出された上記顔器官を含む領域を上記第一領域として取得し、上記顔の振りの程度が所定の値より大きい場合に、上記顔の向きと振りの程度とに応じて、上記取得した第一領域に変更を施し、上記顔の振りの程度が上記所定の値以下である場合には、上記取得した第一領域を基準にして補正対象領域を設定するとしてもよい。当該構成によれば、顔の振りの程度が所定の値より大きい場合にのみ、補正対象領域の設定前に第一領域に対する変更が行なわれる。
【０００９】
画像処理装置は、上記設定された補正対象領域に複数の分割点を配置し、分割点同士を結ぶ直線を用いて補正対象領域を複数の小領域に分割し、少なくとも一つの分割点の位置を移動して小領域を変形することにより補正対象領域内の画像の変形を行う画像補正部をさらに備えるとしてもよい。当該構成によれば、最終的に設定された補正対象領域内に分割点を配置し、配置された分割点を移動するだけで画像変形を行うことができるため、多様な変形態様に対応した画像変形処理を、容易に、かつ効率的に実現することができる。
【００１０】
これまでは、本発明にかかる技術的思想を画像処理装置として説明したが、上述した画像処理装置が備える各手段に対応した各工程を備えた画像処理方法の発明や、上述した画像処理装置が備える各手段に対応した各機能をコンピュータに実行させる画像処理プログラムの発明をも把握することができる。また、上記の画像処理装置、画像処理方法および画像処理プログラムは具体的には、パーソナルコンピュータやサーバ等のハードウェアによって実現されてもよいし、画像入力装置としてのデジタルスチルカメラやスキャナ、あるいは、画像出力装置としてのプリンタ（印刷装置）やプロジェクタやフォトヴューワ等、様々な製品によって実現することができる。
【発明を実施するための最良の形態】
【００１１】
下記の順序に従って、本発明の実施形態を説明する。
１．画像処理装置の概略構成
２．顔形状補正処理
３．まとめ
【００１２】
１．画像処理装置の概略構成
図１は、本発明にかかる画像処理装置の一例としてのプリンタ１００の構成を概略的に示す説明図である。プリンタ１００は、メモリカードＭＣ等の記録メディアから取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラーインクジェットプリンタである。プリンタ１００は、内部メモリ１２０と、ＣＰＵ１１０と、操作部１４０と、表示部１５０と、プリンタエンジン１６０と、カードインターフェース（カードＩ／Ｆ）１７０と、カードスロット１７２とを備えている。
【００１３】
内部メモリ１２０は、ＲＯＭやＲＡＭによって構成されており、顔形状補正処理部２００と、表示処理部３１０と、印刷処理部３２０と、分割点配置パターンテーブル４１０と、分割点移動テーブル４２０とを備えている。顔形状補正処理部２００は、所定のオペレーティングシステムの下で、後述する顔形状補正処理を実行するためのコンピュータプログラムである。顔形状補正処理部２００は、プログラムモジュールとして、顔領域検出部２１０と、器官領域検出部２２０と、顔向き推定部２３０と、領域設定部２４０と、画像補正部２５０とを含んでいる。表示処理部３１０は、表示部１５０を制御して、表示部１５０上に処理メニューやメッセージや画像等を表示させるディスプレイドライバである。印刷処理部３２０は、画像データに対して所定の色変換処理やハーフトーン処理を施すことにより画素毎のインク量を規定した印刷データを生成し、プリンタエンジン１６０を制御して当該印刷データに基づいて画像の印刷を実行させるためのコンピュータプログラムである。ここで言う画像データには、例えば、顔形状補正処理部２００によって顔形状補正処理が実行された後の画像を表す画像データが該当する。ＣＰＵ１１０は、上述したこれらのプログラムを内部メモリ１２０から読み出して実行することにより、これら各部の機能をそれぞれ実現する。
【００１４】
操作部１４０は、ボタンやタッチパネルを備えておりユーザによる指示等の入力を受け付ける。表示部１５０は、例えば液晶ディスプレイによって構成されている。プリンタエンジン１６０は、印刷処理部３２０から送信される印刷データに基づき印刷を行う印刷機構である。カードＩ／Ｆ１７０は、カードスロット１７２に挿入されたメモリカードＭＣとの間でデータのやり取りを行うためのインターフェースである。プリンタ１００は、カードＩ／Ｆ１７０以外にも、他の機器（例えばデジタルスチルカメラやパーソナルコンピュータ）とのデータ通信を行うためのインターフェースを備える構成とすることもできる。以上の各構成要素は、バスを介して互いに接続されている。
【００１５】
プリンタ１００は、顔画像を含む画像に対して顔形状補正処理を実行することにより、顔画像の一部を含む領域を小さく変形させる（以下、「小顔化する」又は「スリムにする」とも呼ぶ）ことができる。このとき、顔画像に含まれる顔の向きが正面向きでない場合であっても、見栄え良く変形させるように構成されている。
【００１６】
２．顔形状補正処理
図２は、プリンタ１００が実行する顔形状補正処理を示すフローチャートである。カードスロット１７２にメモリカードＭＣが挿入され、ユーザによる操作部１４０を介した所定の操作が行われると、顔形状補正処理が開始される。
ステップＳ（以下、ステップの表記を省略する。）１００では、顔形状補正処理部２００は、処理対象となる対象画像を設定する。具体的には、顔形状補正処理部２００は、対象画像設定のための所定のユーザインターフェース（ＵＩ）を表示部１５０に表示するように表示処理部３１０に指示する。そして、顔形状補正処理部２００は、当該ＵＩからの入力に従って対象画像を設定する。
【００１７】
図３は、Ｓ１００の過程で表示部１５０に表示されるＵＩ５００の一例を示している。例えば、ＵＩ５００は、画像表示欄ＩＡと、２つの画像切替用ボタンＢ１，Ｂ２と、決定用ボタンＢ１０と、キャンセル用ボタンＢ１１とを備えている。ユーザは、ＵＩ５００を見ながら画像切替用ボタンＢ１，Ｂ２を操作して対象画像を選択し、決定用ボタンＢ１０を押下することで対象画像を設定することができる。図３の例では、２人の人物Ｐ１，Ｐ２が写った画像ＴＩが対象画像として選択されており、この状態でユーザが決定用ボタンＢ１０を押下することで、顔形状補正処理部２００は、画像ＴＩを対象画像として設定する。なお、ＵＩ５００においては、メモリカードＭＣ内の複数の画像を一覧表示する構成とすることもできる。
【００１８】
Ｓ２００では、顔領域検出部２１０は、対象画像における顔領域の検出を行う。顔領域とは、対象画像における画像領域であって、少なくとも所定の顔器官（目や鼻や口）を含むと想定される領域である。顔領域検出部２１０は、対象画像を解析して当該顔器官を含むと想定される矩形の領域を顔領域として検出する。顔領域の検出は、例えばテンプレートを利用したパターンマッチングによる方法（特開２００６‐２７９４６０参照）といった公知の検出方法を用いて実行される。顔領域検出部２１０は、上記パターンマッチングにも、顔領域を検出可能な手法であればあらゆる手法を採用することができる。例えば、顔領域検出部２１０は、対象画像内に設定した矩形領域（検出対象領域）単位で、画像の各種情報（例えば、輝度情報やエッジ量やコントラスト等。）を入力し検出対象領域が顔領域に該当するか否かを示す情報を出力する、予め学習されたニューラルネットワークを用いることにより、顔領域の検出を行なっても良いし、サポートベクタマシンを利用して検出対象領域毎に顔領域であるか否かを判断してもよい。
【００１９】
図４は、Ｓ２００における顔領域の検出結果の一例を示す説明図である。図４の例では、対象画像ＴＩに人物Ｐ１と人物Ｐ２との２人の顔画像が含まれているため、人物Ｐ１の顔画像に対応する顔領域Ｆｄ１と人物Ｐ２の顔画像に対応する顔領域Ｆｄ２とが検出されている。顔領域Ｆｄ１，Ｆｄ２は、それぞれ両目と鼻と口の各画像をすべて含む矩形の領域である。検出される顔領域Ｆｄ１，Ｆｄ２の大きさは人物Ｐ１，Ｐ２の顔毎に異なる。顔領域検出部２１０は、これら２つの顔領域Ｆｄ１，Ｆｄ２を、それぞれ、顔領域の４つの頂点の座標により特定する。
【００２０】
Ｓ２００において、顔領域の検出に成功しなかった場合は（Ｓ３００においてＮｏ）、当該検出に成功しなかった旨のメッセージが表示部１５０を介してユーザに通知される。この場合、ユーザに他の画像を対象画像として選択させるために、ＵＩ５００が表示部１５０に再度表示され、対象画像の再設定（Ｓ１００）が行われる。なお、Ｓ１００の再実行に代えて、上記検出に成功しなかった旨のメッセージの通知の後に顔形状補正処理を終了させる構成としてもよい。
【００２１】
一方、Ｓ２００において、少なくとも一つの顔領域の検出に成功した場合には（Ｓ３００においてＹｅｓ）、器官領域検出部２２０は、対象画像ＴＩにおける器官領域の検出を行う（Ｓ４００）。器官領域とは、上記検出された顔領域内における画像領域であって、少なくとも顔器官の一部の画像を含む領域を意味する。本実施形態では、顔器官として被写体の人物の右目と左目と口とが設定されており、器官領域として、「右目の画像を含む右目領域」と、「左目の画像を含む左目領域」と、「口の画像を含む口領域」とが検出対象となる。器官領域検出部２２０は、Ｓ２００で検出された顔領域Ｆｄ１，Ｆｄ２毎に解析を行い、右目を含むと想定される矩形領域を「右目領域」として検出する。同様に、器官領域検出部２２０は、顔領域Ｆｄ１，Ｆｄ２毎に解析を行い、左目を含むと想定される矩形領域を「左目領域」として、口を含むと想定される矩形領域を「口領域」として、それぞれ検出する。この器官領域の検出は、顔領域の検出と同様に、例えばテンプレートを利用したパターンマッチングによる方法といった公知の検出方法を用いて実行することができる。
【００２２】
図５は、Ｓ４００における器官領域の検出結果の一例を示す説明図である。図５の例では、人物Ｐ１の顔領域Ｆｄ１において、右目領域Ｅｒ１と左目領域Ｅｌ１と口領域Ｍａ１とが検出されている。同様に、人物Ｐ２の顔領域Ｆｄ２において、右目領域Ｅｒ２と左目領域Ｅｌ２と口領域Ｍａ２とが検出されている。器官領域検出部２２０は、検出した各器官領域Ｅｒ１，Ｅｌ１，Ｍａ１，Ｅｒ２，Ｅｌ２，Ｍａ２を、それぞれの領域の４つの頂点の座標によって特定することができる。なお、器官領域検出部２２０は、上記検出した各器官領域についてさらに信頼度指標を設定してもよい。信頼度指標とは、検出した器官領域が、真に顔の器官の画像を含む領域であることの確からしさを表す指標である。本実施形態では、信頼度指標として、テンプレートを変更しつつ複数回のパターンマッチングを行った際におけるマッチ回数を用いる。
【００２３】
Ｓ４００において、器官領域の検出に成功した場合には（Ｓ５００においてＹｅｓ）、処理はＳ６００に進む。器官領域の検出に成功した場合とは、顔領域単位で「右目領域」と「左目領域」と「口領域」との３つの器官領域がすべて検出されたことを意味する。あるいは、器官領域検出部２２０は、顔領域内において「右目領域」と「左目領域」と「口領域」との３つの器官領域がすべて検出され、かつ、すべての器官領域について信頼度指標の表す確からしさが所定のしきい値より大きい場合に、器官領域の検出に成功したと判断してもよい。
【００２４】
Ｓ６００では、顔向き推定部２３０は、対象画像ＴＩに含まれる顔の向き及び顔の振りの程度を推定して、内部メモリ１２０に格納する。本実施形態で言う「顔の向き」とは、顔の正面向き（対象画像ＴＩの観察者から被写体である人物の顔に向かう方向）を基準とした顔の向きを意味する。また「顔の振りの程度」とは、顔の正面向きを基準（０°）としたときの顔の向きの角度（あるいは角度を間接的に表す情報）を意味する。
【００２５】
図６は、Ｓ６００における顔の向き及び顔の振りの程度を推定する方法を概念的に示す説明図である。図６において、右目領域Ｅｒの中心点Ｃｅ（ｒ）と左目領域Ｅｌの中心点Ｃｅ（ｌ）とを結ぶ線分ＣＬの長さを参照幅Ｗｒと呼び、口領域Ｍａの中心点Ｃｍと線分ＣＬとの距離を参照高さＨｒと呼ぶ。図６から明らかなように、参照幅Ｗｒは顔の幅に相関のある指標であり、参照高さＨｒは顔の高さに相関のある指標である。顔向き推定部２３０は、参照高さＨｒと参照幅Ｗｒとを算出すると共に参照高さＨｒと参照幅Ｗｒとの比（Ｈｒ／Ｗｒ）を判定指標ＤＩとして算出し、判定指標ＤＩに基づき顔の向きの推定を行う。例えば、図６に示すように、判定指標ＤＩの値がしきい値Ｔ１以上でしきい値Ｔ２（ただし、しきい値Ｔ１＜しきい値Ｔ２）未満である場合には、顔の向きが正面向きであると推定する。また、判定指標ＤＩの値がしきい値Ｔ１未満である場合には、顔の向きが上振りまたは下振りであると推定し、判定指標ＤＩの値がしきい値Ｔ２以上である場合には、顔の向きが右振りまたは左振りであると推定する。
【００２６】
「左振り」とは、被写体である人物の顔が対象画像ＴＩの観察者から見て左を向いている（すなわち被写体の人物は実際には右を向いている）場合の顔の向きを意味し、「右振り」とは、人物の顔が画像の観察者から見て右を向いている（すなわち人物は実際には左を向いている）場合の顔の向きを意味する。「上振り」とは、被写体である人物の顔が画像の観察者から見て上を向いている場合の顔の向きを意味し、「下振り」とは、人物の顔が画像の観察者から見て下を向いている場合の顔の向きを意味する。顔の向きが右振りまたは左振りである場合には、正面向きである場合と比較して、参照高さＨｒはほとんど変わらない一方、参照幅Ｗｒは小さいと考えられる。従って、顔の向きが右振りまたは左振りである場合には、正面向きである場合と比較して判定指標ＤＩ（＝Ｈｒ／Ｗｒ）の値が大きくなる。顔の向きが上振りまたは下振りである場合には、正面向きである場合と比較して参照幅Ｗｒはほとんど変わらない一方、参照高さＨｒは小さいと考えられる。従って、顔の向きが上振りまたは下振りである場合には、正面向きである場合と比較して、判定指標ＤＩ（＝Ｈｒ／Ｗｒ）の値が小さくなる。しきい値Ｔ１およびしきい値Ｔ２は、複数の顔のサンプル画像の判定指標ＤＩから統計的に定められる。予め定められたしきい値Ｔ１およびしきい値Ｔ２は、例えば内部メモリ１２０内の所定の領域に格納されており、顔向き推定部２３０は、対象画像の判定指標ＤＩとしきい値Ｔ１およびしきい値Ｔ２とを用いて、顔の向きの推定を行う。
【００２７】
また図６から明らかなように、判定指標ＤＩは、顔の正面向きを基準とした顔の振りの程度（角度）を示す値であると言える。例えば、右振りまたは左振りと推定された２つの顔画像において、判定指標ＤＩの値がより大きい一方の顔は、他の一方の顔と比較して、正面向きからの振りの程度（角度）がより大きい（より横顔に近い）と推定することができる。また、しきい値Ｔ１およびしきい値Ｔ２を決定することは、顔の向きが厳密な正面向き（被写体の顔と撮像装置（観察者）とが正対している状態）からどの程度振りのある顔画像までを「正面向き」であるとして推定するかを設定することに相当する。
【００２８】
図７（Ａ）は、図５に示す対象画像ＴＩが得られた際の人物Ｐ１と撮像装置との位置関係を示す説明図である。図７（Ａ）の例では、撮影時における二人の人物Ｐ１，Ｐ２と撮像装置（デジタルスチルカメラ）８００との位置関係を上方より示している。２人の人物Ｐ１，Ｐ２は、互いにデジタルスチルカメラ８００からほぼ同じ距離に位置している。このとき、人物Ｐ１は、デジタルスチルカメラ８００に正対している。したがって、図５に示すように、人物Ｐ１の顔の向きは正面向きとなっている。
【００２９】
図７（Ｂ）は、図５に示す対象画像ＴＩが得られた際の人物Ｐ２と撮像装置との位置関係を示す説明図である。図７（Ｂ）も図７（Ａ）と同様に、撮影時における二人の人物Ｐ１，Ｐ２とデジタルスチルカメラ８００との位置関係を上方より示している。人物Ｐ２は、デジタルスチルカメラ８００と正対する方向（顔の正面向き）を基準として右側（観察者から見て右側）に３０°（＋３０°）だけ振れた方向を向いている。このような位置関係で撮像されて得られた対象画像ＴＩにおいて、顔向き推定部２３０は、上述した判定指標ＤＩを用いて、例えば、以下のごとく各顔の向きおよび顔の振りの程度を推定することができる。
【００３０】
図８（Ａ）は、顔向きの推定において正面向きと推定された結果の一例を示す説明図である。図８（Ａ）の例では、人物Ｐ１の顔画像についての顔の向きの推定の結果、判定指標ＤＩ（＝Ｈｒ１／Ｗｒ１）の値がしきい値Ｔ１以上でしきい値Ｔ２未満であるために、「正面向き」であると推定されている。この場合、顔の向きを示す値として「正面向き」と、顔の振りの程度（角度）を示す値として「０°」とが、顔領域Ｆｄ１を示す値（顔領域の矩形の各頂点の座標等）と対応付けて内部メモリ１２０に格納される。なお、顔の振りの角度は、判定指標ＤＩと角度とを対応付けた角度テーブル（図示省略）を用いて決定することができる。この角度テーブル（図示省略）は、予め実験によって判定指標ＤＩ毎の振り角度を求めて設定し、内部メモリ１２０等に格納しておく。
【００３１】
図８（Ｂ）は、顔向き推定において右振りと推定された結果の一例を示す説明図である。図８（Ｂ）では、人物Ｐ２の顔画像についての顔の向きの推定の結果、判定指標ＤＩ（＝Ｈｒ２／Ｗｒ２）がしきい値Ｔ２以上であるために、「右振り」または「左振り」と推定される。さらに、顔向き推定部２３０は、右振りと左振りとのうち、いずれかであるかを推定する。この推定は、例えば、右目領域Ｅｒの幅Ｗｅｒと左目領域Ｅｌの幅Ｗｅｌとを比較することにより実現可能である。すなわち、右目領域Ｅｒの幅Ｗｅｒの方が大きければ右振りであると推定され、左目領域Ｅｌの幅Ｗｅｌの方が大きければ左振りであると推定される。図８（Ｂ）の例では、右目領域Ｅｒ２の幅Ｗｅｒ２の方が左目領域Ｅｌ２の幅Ｗｅｌ２よりも大きいので、「右振り」であると推定される。また、顔向き推定部２３０は、得られた判定指標ＤＩに基づき、上述した角度テーブル（図示省略）を参照して人物Ｐ２についての顔画像の振り角度（＋３０°）を求めることができる。そして、顔向き推定部２３０は、顔の向きを示す値として「右振り」を、顔の振りの程度（角度）を示す値として「＋３０°」をそれぞれ、顔領域Ｆｄ２を示す値と対応付けて内部メモリ１２０に格納する。むろん顔向き推定部２３０は、「右振り」及び「＋３０°」といった情報の他に、人物Ｐ２の顔画像についての判定指標ＤＩ（＝Ｈｒ２／Ｗｒ２）も、顔領域Ｆｄ２を示す値と対応付けて内部メモリ１２０に格納してもよい。なお、顔向き推定部２３０は、顔の振りの程度（角度）を判定指標ＤＩに基づいて決定するのではなく、上記右目領域Ｅｒの幅Ｗｅｒと左目領域Ｅｌの幅Ｗｅｌとの比と、当該比と顔の振り角度とを予め対応付けた角度テーブル（図示省略）とを用いて決定してもよい。
【００３２】
Ｓ７００では、領域設定部２４０は、内部メモリ１２０に格納されている各顔領域Ｆｄ１，Ｆｄ２についての情報を参照することにより、対象画像ＴＩ内に存在する顔画像が「右振り」または「左振り」であるか否か判断する。当該判断は、上記検出された顔領域毎に行なわれる。つまり、Ｓ７００において判断対象を顔領域Ｆｄ１とした場合には、当該顔領域Ｆｄ１の顔は「正面向き」であるため、領域設定部２４０は“Ｎｏ”と判断し、Ｓ８００をスキップしてＳ９００に進む。一方、Ｓ７００において判断対象を顔領域Ｆｄ２とした場合には、当該顔領域Ｆｄ２の顔は「右振り」であるため、領域設定部２４０は“Ｙｅｓ”と判断してＳ８００に進む。
【００３３】
Ｓ９００では、領域設定部２４０は、対象画像ＴＩ内の各顔領域を基準にして補正対象領域（以下では、変形領域とも呼ぶ。）を設定する。変形領域とは、後述するように画像補正部２５０による変形処理の対象となり得る領域を意味する。
本実施形態では、このように顔領域を基準にして変形領域を設定する前に、顔の振りの程度に応じて、Ｓ８００の処理を挿入したりしなかったりしている。具体的には、本実施形態では、対象画像ＴＩ内に存在するある顔画像が「右振り」または「左振り」である場合（Ｓ７００においてＹｅｓ）、言い換えると上記判定指標ＤＩがしきい値Ｔ２以上である場合に、Ｓ８００において、その顔の向き及び振りの程度に応じて顔領域の位置や大きさに変更を施す（Ｓ８００）。この意味で、本実施形態における顔領域は、特許請求の範囲に言う第一領域に該当する。
【００３４】
上記顔領域Ｆｄ２を例に採って、Ｓ８００の処理を説明する。
図９は、Ｓ８００の処理前の顔領域Ｆｄ２（鎖線）と、Ｓ８００の処理後の顔領域Ｆｄ２´（実線）とを例示している。図９では、領域設定部２４０が、内部メモリ１２０に顔領域Ｆｄ２に対応付けて格納されている顔の向きおよび顔の振りの程度を示す情報に基づいて、顔領域Ｆｄ２を上下左右にそれぞれ拡大し、拡大後の領域を顔領域Ｆｄ２´として設定した場合を示している。この場合、領域設定部２４０は、顔領域Ｆｄ２に対応する顔の右または左への振りの程度（角度）が大きいほど、顔領域Ｆｄ２に対応する顔の向き（右振り）とは反対側（左側）への拡大量が大きくなるように顔領域Ｆｄ２を拡大する。
【００３５】
より具体的には、領域設定部２４０は、顔の高さ方向（顔の略上下方向）を向く左右の辺を顔の幅方向（顔の略左右方向）外側に移動させて顔領域Ｆｄ２を拡大するに際し、顔が向いている側（図９の場合右側）における拡大量と顔が向いている側とは反対側（左側）における拡大量との比が、顔領域Ｆｄ２の参照幅Ｗｒ２と参照高さＨｒ２との比になるように、顔領域Ｆｄ２を拡大する。また、領域設定部２４０は、顔の幅方向を向く上下の辺を、顔の高さ方向外側にそれぞれ同じ量だけ移動させることにより、顔領域Ｆｄ２を拡大する。図９の例では、顔の幅方向については、顔が向いている側（右側）にα・Ｗｒ２だけ伸ばし、顔が向いている側とは反対側（左側）にα・Ｈｒ２だけ伸ばし、顔の高さ方向については、上側下側それぞれα・（Ｈｒ２＋Ｗｒ２）／２だけ伸ばすことにより、顔領域Ｆｄ２´を設定した例を示している。なおαは、Ｈｒ２，Ｗｒ２を顔領域Ｆｄ２の拡大量に正規化するための係数であり、その値は、顔領域Ｆｄ２の大きさやＨｒ２，Ｗｒ２によって定まる。
【００３６】
図１０は、Ｓ８００の処理前の顔領域Ｆｄ２（鎖線）と、Ｓ８００の処理後の顔領域Ｆｄ２´（実線）であって、図９で説明した手法とは別の手法によって顔領域の拡大を行なった場合を例示している。図１０でも、領域設定部２４０は、内部メモリ１２０に顔領域Ｆｄ２に対応付けて格納されている顔の向きおよび顔の振りの程度を示す情報に基づいて顔領域Ｆｄ２を拡大し、拡大後の領域を顔領域Ｆｄ２´として設定している。この場合も、領域設定部２４０は、顔領域Ｆｄ２に対応する顔の右または左への振りの程度（角度）が大きいほど、顔領域Ｆｄ２に対応する顔の向き（右振り）とは反対側（左側）への拡大量が大きくなるように顔領域Ｆｄ２を拡大する。ただし図１０の例では、図９と異なり、顔領域Ｆｄ２の上下左右の辺のうち、顔が向いている側（右側）の辺の位置は固定としている。
【００３７】
具体的には、図１０の例では領域設定部２４０は、顔領域Ｆｄ２を顔の幅方向に拡大する場合には、顔が向いている側（右側）とは反対側にβ・（Ｈｒ２／Ｗｒ２）だけ伸ばし、高さ方向に拡大する場合には、上側下側それぞれβ・（Ｈｒ２／Ｗｒ２）／２だけ伸ばすことにより、顔領域Ｆｄ２´を設定する。なおβは、Ｈｒ２／Ｗｒ２を顔領域Ｆｄ２の拡大量に正規化するための係数であり、その値は、顔領域Ｆｄ２の大きさ等によって定まる。
【００３８】
このように領域設定部２４０は、Ｓ８００において、図９または図１０で説明した何れかの手法によって顔領域Ｆｄ２´を設定した場合には、当該設定した顔領域Ｆｄ２´を基準にしてＳ９００の処理を行なう。領域設定部２４０は、Ｓ８００の処理を実行しなかった顔領域に関しては、そのままの顔領域を基準にしてＳ９００の処理を行なう。
Ｓ９００では、領域設定部２４０は、基準とする顔領域毎にその顔領域を予め定められた拡大率で拡大することにより変形領域を設定する。つまり、変形領域の位置及び大きさは、基準とした顔領域の位置および大きさによって決まる。
【００３９】
図１１は、Ｓ９００における変形領域の設定方法の一例を示す説明図である。図１１の例では、図９に示した顔領域Ｆｄ２´を基準にして変形領域ＴＡ２（太い実線）を設定した様子を示している。基準線ＲＬは、顔領域Ｆｄ２´の高さ方向を定義すると共に、顔領域Ｆｄ２´の幅方向の中心を示す線である。すなわち、基準線ＲＬは、矩形の顔領域Ｆｄ２´の重心を通り、顔領域Ｆｄ２´の高さ方向に沿った境界線に平行な直線である。図１１に示すように、本実施形態では、変形領域ＴＡ２は、顔領域Ｆｄ２´を基準線ＲＬと平行な方向（高さ方向）および基準線ＲＬに直行する方向（幅方向）に拡大した領域として設定される。
【００４０】
具体的には、顔領域Ｆｄ２´の高さ方向の長さをＨ２、幅方向の長さをＷ２とすると、顔領域Ｆｄ２´を、上方向にｋ１・Ｈ２、下方向にｋ２・Ｈ２だけ伸ばすと共に、左右にそれぞれｋ３・Ｗ２だけ伸ばした領域が、変形領域ＴＡ２として設定される。ｋ１，ｋ２，ｋ３は、顔領域を拡大して変形領域を設定するために予め定められている係数である。Ｓ９００における変形領域の設定の基準となる顔領域が、上記顔領域Ｆｄ１等であっても、領域の拡大に用いる係数ｋ１，ｋ２，ｋ３は変らない。このように変形領域ＴＡ２が設定されると、基準線ＲＬは、変形領域ＴＡ２の高さ方向の輪郭線にも平行な直線となる。また、基準線ＲＬは、変形領域ＴＡ２の幅を半分に分割する直線となる。領域設定部２４０が変形領域の設定を行なうと、Ｓ１０００において、画像補正部２５０は、設定された各変形領域を対象とした変形処理を行なう。
【００４１】
図１２は、図１１に対する比較例として、人物Ｐ２の顔領域Ｆｄ２について、Ｓ８００の処理を経ずにＳ９００の処理対象とした場合、つまり顔領域Ｆｄ２を基準として上記係数ｋ１，ｋ２，ｋ３による拡大を行なって変形領域ＶＡ（太い実線）を設定した場合を示している。図１１と図１２との比較から明らかなように、顔領域Ｆｄ２´を基準にして設定された変形領域ＴＡ２は、顔領域Ｆｄ２を基準にして設定された変形領域ＶＡと比較すると、大きく、かつ顔の向きとは反対側のその顔の領域（顔の向きが「右振り」であればその顔の左側（対象画像ＴＩの観察者から見て左側）の頬や顎やエラ等の領域）のほぼ全てを含み、顎の下の領域も十分に含む位置に移動している。
【００４２】
本実施形態の変形処理の対象となる変形領域は、その高さ方向は概ね顎より下の首の途中位置から額までの画像を含み、幅方向は左右の頬の画像を含むように設定されることが好ましく、そのため、上記係数ｋ１，ｋ２，ｋ３も、概ねこのような範囲の画像を含む変形領域が得られるように、予め実験により求めて設定されている。しかしながら、これら係数ｋ１，ｋ２，ｋ３の設定は、あくまで正面向きの顔画像を前提としてその値が最適化されている。正面向きの顔画像と、右振り（あるいは左振り）の顔画像とから夫々顔領域が検出される場合、顔領域の検出手法にもよるが、一般的には右振り（あるいは左振り）の顔画像から検出された顔領域の方が、正面向きの顔画像から検出された顔領域よりも矩形が小さくなる傾向にある。よって、図１２に示したように、右振り（あるいは左振り）の顔画像から検出された顔領域に対して直接に上記係数ｋ１，ｋ２，ｋ３を適用して変形領域を設定すると、その変形領域も小さいものとなってしまう。
【００４３】
つまり、右または左への顔の振りの度合いが所定値より大きい顔画像の顔領域について、上記Ｓ８００の処理を挟むことなくＳ９００で変形領域の設定を行なうと、得られる変形領域は、顔の向きとは反対側のその顔の領域を十分には含まない小さな矩形となってしまう。本実施形態では、このような顔の振りの度合いが所定値より大きい顔画像について設定する変形領域が小さくなってしまうことによる弊害（弊害の内容については後述する）を防止するために、上述したようなＳ７００，Ｓ８００の処理をＳ９００の前に行なっているのである。
【００４４】
図１３は、Ｓ１０００の変形処理の内容をフローチャートにより示している。
Ｓ１０１０では、画像補正部２５０は、Ｓ９００で設定された変形領域を複数の小領域に分割する。
図１４は、変形領域の小領域への分割方法の一例を示す説明図である。図１４では、人物Ｐ１の顔領域Ｆｄ１を基準にして設定された変形領域ＴＡ１を示している。画像補正部２５０は、変形領域ＴＡ１に複数の分割点Ｄを配置し、分割点Ｄを結ぶ直線を用いて変形領域ＴＡ１を複数の小領域に分割する。
【００４５】
分割点Ｄの配置の態様（分割点Ｄの個数および位置）は、分割点配置パターンテーブル４１０により定義されている。画像補正部２５０は、分割点配置パターンテーブル４１０を参照して分割点Ｄを配置する。本実施形態の顔形状補正処理では、顔の形状をスリムにするための小顔化が行われるとしており、分割点配置パターンテーブル４１０には、そのような小顔化に対応した態様で分割点Ｄの配置パターンが予め定義されている。
【００４６】
図１４の例では、分割点Ｄは、水平分割線Ｌｈと垂直分割線Ｌｖとの交点と、水平分割線Ｌｈおよび垂直分割線Ｌｖと変形領域ＴＡ１の外枠との交点とに配置される。水平分割線Ｌｈおよび垂直分割線Ｌｖは、変形領域ＴＡ１内に分割点Ｄを配置するための基準となる線である。図１４に示すように、本実施形態の分割点Ｄの配置では、基準線ＲＬと直行する２本の水平分割線Ｌｈと、基準線ＲＬに平行な４本の垂直分割線Ｌｖとが設定される。２本の水平分割線Ｌｈを、変形領域ＴＡ１の下方から順に、Ｌｈ１，Ｌｈ２と呼ぶ。また、４本の垂直分割線Ｌｖを、変形領域ＴＡ１の左から順に、Ｌｖ１，Ｌｖ２，Ｌｖ３，Ｌｖ４と呼ぶ。
【００４７】
水平分割線Ｌｈ１は、変形領域ＴＡ１において、顎の画像より下方に配置され、水平分割線Ｌｈ２は、目の画像の下付近に配置される。また、垂直分割線Ｌｖ１およびＬｖ４は、頬（頬骨）のラインの画像の外側に配置され、垂直分割線Ｌｖ２およびＬｖ３は、目尻の画像の外側に配置される。水平分割線Ｌｈおよび垂直分割線Ｌｖの配置は、水平分割線Ｌｈおよび垂直分割線Ｌｖと画像との位置関係が結果的に上述の位置関係となるように予め設定された変形領域ＴＡ１の大きさとの対応関係に従い実行される。
【００４８】
上述した水平分割線Ｌｈと垂直分割線Ｌｖとの配置に従い、水平分割線Ｌｈと垂直分割線Ｌｖとの交点と、水平分割線Ｌｈおよび垂直分割線Ｌｖと変形領域ＴＡ１の外枠との交点とに、分割点Ｄが配置される。図１４に示すように、水平分割線Ｌｈｉ（ｉ＝１または２）上に位置する分割点Ｄを、左から順に、Ｄ０ｉ，Ｄ１ｉ，Ｄ２ｉ，Ｄ３ｉ，Ｄ４ｉ，Ｄ５ｉと呼ぶ。例えば、水平分割線Ｌｈ１上に位置する分割点Ｄは、Ｄ０１，Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１，Ｄ５１と呼ばれる。同様に、垂直分割線Ｌｖｊ（ｊ＝１，２，３，４のいずれか）上に位置する分割点Ｄを、下から順に、Ｄｊ０，Ｄｊ１，Ｄｊ２，Ｄｊ３と呼ぶ。例えば、垂直分割線Ｌｖ１上に位置する分割点Ｄは、Ｄ１０，Ｄ１１，Ｄ１２，Ｄ１３と呼ばれる。なお、図１４に示すように、分割点Ｄの配置は、基準線ＲＬに対して対称の配置となっている。
【００４９】
画像補正部２５０は、配置された分割点Ｄを結ぶ直線（すなわち水平分割線Ｌｈおよび垂直分割線Ｌｖ）によって変形領域ＴＡ１を複数の小領域に分割する。図１４の例では、変形領域ＴＡ１は、１５個の矩形の小領域に分割されている。
Ｓ１０２０では、画像補正部２５０は、内部メモリ１２０に格納された分割点移動テーブル４２０に従い分割点Ｄの位置を移動して小領域を変形することによって、変形領域ＴＡ１を変形させる。
【００５０】
図１５は、分割点移動テーブル４２０の例を示している。分割点移動テーブル４２０では、Ｓ１０１０で配置された各分割点Ｄ１１〜 Ｄ４２について、基準線ＲＬと直行する方向（Ｈ方向と呼ぶ。）に沿った移動量及び基準線ＲＬと平行な方向（Ｖ方向と呼ぶ。）に沿った移動量が設定されている。本実施形態では、この移動量の単位は、対象画像ＴＩの画素ピッチＰＰである。また、Ｈ方向については、向かって右側への移動量が正の値として表され、向かって左側への移動量が負の値として表され、Ｖ方向については、上方への移動量が正の値として表され、下方への移動量が負の値として表される。図１５の例では、分割点移動テーブル４２０において分割点Ｄ１１については、Ｈ方向に沿って右側に画素ピッチＰＰの７倍の距離の移動量が設定され、Ｖ方向に沿って上方に画素ピッチＰＰの１４倍の距離の移動量が設定されている。また、分割点Ｄ２２については、Ｈ方向およびＶ方向共に移動量としてゼロが設定されている。
【００５１】
図１６は、分割点移動テーブル４２０に従った分割点Ｄの位置の移動の一例を示す説明図である。図１６の例では、変形領域ＴＡ１について分割点Ｄの位置を移動させて変形する際の具体的な変形態様を示している。画像補正部２５０は、変形領域ＴＡ１を構成する各小領域について、分割点Ｄの位置移動前の状態における小領域の画像が分割点Ｄの位置移動により新たに定義された小領域の画像となるように、画像の変形処理を行う。図１６では比較の便宜のため、変形前の人物Ｐ１の輪郭を鎖線で示している。また図１６では、移動後の分割点Ｄの符号には「’」を付し、移動する前の分割点Ｄ（白丸）の符号には括弧を付している。例えば、分割点Ｄ１１，Ｄ２１，Ｄ２２，Ｄ１２を頂点とする小領域（ハッチングを付して示す小領域）の画像は、分割点Ｄ’１１，Ｄ’２１，Ｄ２２，Ｄ’１２を頂点とする小領域の画像に変形される。この小領域画像の変形処理の詳細については後述する。
【００５２】
図１６に示すように、Ｓ１０２０における分割点の移動の結果、基準線ＲＬと平行な方向（Ｖ方向）に関し、水平分割線Ｌｈ１上に配置された分割点Ｄ（Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１）の位置は上方に移動される一方、水平分割線Ｌｈ２上に配置された分割点Ｄ（Ｄ１２，Ｄ２２，Ｄ３２，Ｄ４２）の位置は移動されない。従って、水平分割線Ｌｈ１と水平分割線Ｌｈ２との間に位置する画像は、Ｖ方向に関して縮小される。上述したように、水平分割線Ｌｈ１は顎の画像より下方に配置され、水平分割線Ｌｈ２は目の画像のすぐ下付近に配置されるため、本実施形態の顔形状補正では、顔画像の内、顎から目の下にかけての部分の画像がＶ方向に縮小される。この結果、画像中の顎のラインは上方に移動する。
【００５３】
基準線ＲＬと直行する方向（Ｈ方向）に関しては、垂直分割線Ｌｖ１上に配置された分割点Ｄ（Ｄ１１，Ｄ１２）の位置は右方向に移動され、垂直分割線Ｌｖ４上に配置された分割点Ｄ（Ｄ４１，Ｄ４２）の位置は左方向に移動される。さらに、垂直分割線Ｌｖ２上に配置された２つの分割点Ｄの内、水平分割線Ｌｈ１上に配置された分割点Ｄ（Ｄ２１）の位置は右方向に移動され、垂直分割線Ｌｖ３上に配置された２つの分割点Ｄの内、水平分割線Ｌｈ１上に配置された分割点Ｄ（Ｄ３１）の位置は左方向に移動される。従って、垂直分割線Ｌｖ１より左側に位置する画像は、Ｈ方向に関して右側に拡大され、垂直分割線Ｌｖ４より右側に位置する画像は、左側に拡大される。また、垂直分割線Ｌｖ１と垂直分割線Ｌｖ２との間に位置する画像は、Ｈ方向に関して縮小または右側に移動され、垂直分割線Ｌｖ３と垂直分割線Ｌｖ４との間に位置する画像は、Ｈ方向に関して縮小または左側に移動される。さらに、垂直分割線Ｌｖ２と垂直分割線Ｌｖ３との間に位置する画像は、水平分割線Ｌｈ１の位置を中心にＨ方向に関して縮小される。
【００５４】
上述したように、垂直分割線Ｌｖ１およびＬｖ４は、頬のラインの画像の外側に配置され、垂直分割線Ｌｖ２およびＬｖ３は、目尻の画像の外側に配置される。そのため、本実施形態では、顔画像の内、両目尻より外側の部分の画像が全体的にＨ方向に縮小される。特に顎付近において縮小率が高くなる。この結果、画像中の顔の形状は、全体的に幅方向に細くなる。以上のＨ方向およびＶ方向の変形態様を総合すると、ステップＳ１０２０の処理によって、変形領域ＴＡ１に含まれる人物Ｐ１の顔の形状はスリム（小顔）になる。プリンタ１００では、変形領域ＴＡ１の内外の画像間の境界が不自然とならないように、変形領域ＴＡ１の外枠上に位置する分割点Ｄ（例えば図１６に示す分割点Ｄ１０等）の位置は移動されないものとしている。従って、分割点移動テーブル４２０では、変形領域の外枠上に位置する分割点Ｄについての移動量は設定されていない。
【００５５】
図１７は、上記顔領域Ｆｄ２´を基準にして設定された上記変形領域ＴＡ２を対象としてＳ１０００の変形処理を行なった場合を示している。変形領域ＴＡ２に対しても画像補正部２５０は、上記変形領域ＴＡ１に対する変形処理と同様に、分割点配置パターンテーブル４１０を参照して分割点Ｄを配置し（Ｓ１０１０）、分割点移動テーブル４２０に従い分割点Ｄの位置を移動して小領域を変形する（Ｓ１０２０）。図１７でも、変形前の人物Ｐ２の輪郭を破線で示し、移動後の分割点Ｄの符号には「’」を付し、移動する前の分割点Ｄ（白丸）の符号には括弧を付している。図１７から明らかなように、人物Ｐ１の変形領域ＴＡ１の変形と同様に、人物Ｐ２の変形領域ＴＡ２においても顔の形状はスリム（小顔）になっている。
【００５６】
図１８は、図１７に対する比較例として、人物Ｐ２の顔領域Ｆｄ２を基準にして設定された上記変形領域ＶＡを対象としてＳ１０００の変形処理を行なった場合を示している。図１８でも、変形前の人物Ｐ２の輪郭を破線で示し、移動後の分割点Ｄの符号には「’」を付し、移動する前の分割点Ｄ（白丸）の符号には括弧を付している。上述したように、変形領域ＶＡは、顔領域Ｆｄ２´を基準にして設定された変形領域ＴＡ２よりも小さく、かつ、顔の向きとは反対側のその顔の領域を十分には含まない位置に存在する。そのため、顔の向きが「右振り」であれば、各分割点Ｄの中でも移動量の多い分割点Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１のうち特に分割点Ｄ１１，Ｄ２１が、図１７や図１６の例と比較して、顔の顎のライン近傍に配置されてしまう（顔の向きが「左振り」であれば、分割点Ｄ３１，Ｄ４１が、顎のライン近傍に配置されてしまう）。このように、変形処理の際特に移動量の多い分割点Ｄが顔画像の顎のライン近傍に配置されると、図１８に例示するように、変形後の顔において、顎のラインが不自然な曲線となったり、場合によっては顎のラインに不自然な段差が生じたりしてしまう。
【００５７】
本実施形態では、このような顎のラインの不自然さや段差の発生といった弊害を回避するために、人物Ｐ２のような振りの有る顔画像であれば、上記のような変形領域ＴＡ２を対象画像ＴＩに設定し、この変形領域ＴＡ２内の各小領域を変形する。上述したように、変形領域ＴＡ２は、変形領域ＶＡよりも大きく、かつ顔の向きとは反対側のその顔の領域のほぼ全てを含み、顎の下の領域も十分に含む位置に存在する。そのため、各分割点Ｄの中でも移動量の多い分割点Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１等は、顔の顎のラインから十分に遠い位置に配置され（図１７参照）、その結果、変形領域ＶＡ（図１８参照）を対象として変形処理を行なった場合に生じ得る上記弊害を回避することができる。
【００５８】
図１９は、Ｓ１０２０において実行される小領域画像の変形処理を概念的に示す説明図である。図１９では、分割点Ｄを黒丸で示している。また、説明を簡略化するために、４つの小領域について、左側に分割点Ｄの位置移動前の状態を、右側に分割点Ｄの位置移動後の状態を、それぞれ示している。図１９の例では、中央の分割点Ｄａが分割点Ｄａ’の位置に移動され、その他の分割点Ｄの位置は移動されない。これにより、例えば、分割点Ｄの移動前の分割点Ｄａ，Ｄｂ，Ｄｃ，Ｄｄを頂点とする矩形の小領域（以下「変形前注目小領域ＢＳＡ」とも呼ぶ）の画像は、分割点Ｄａ’，Ｄｂ，Ｄｃ，Ｄｄを頂点とする矩形の小領域（以下「変形後注目小領域ＡＳＡ」とも呼ぶ）の画像に変形される。
【００５９】
本実施形態では、矩形の小領域を小領域の重心ＣＧを用いて４つの三角形領域に分割し、三角形領域単位で画像の変形処理を行っている。図１９の例では、変形前注目小領域ＢＳＡが、変形前注目小領域ＢＳＡの重心ＣＧを頂点の１つとする４つの三角形領域に分割される。同様に、変形後注目小領域ＡＳＡが、変形後注目小領域ＡＳＡの重心ＣＧ’を頂点の１つとする４つの三角形領域に分割される。そして、分割点Ｄａの移動前後のそれぞれの状態において対応する三角形領域毎に、画像の変形処理が行われる。例えば、変形前注目小領域ＢＳＡ中の分割点Ｄａ，Ｄｄおよび重心ＣＧを頂点とする三角形領域の画像が、変形後注目小領域ＡＳＡ中の分割点Ｄａ’，Ｄｄおよび重心ＣＧ’を頂点とする三角形領域の画像に変形される。
【００６０】
図２０は、三角形領域における画像の変形処理方法の概念を示す説明図である。図２０の例では、点ｓ，ｔ，ｕを頂点とする三角形領域ｓｔｕの画像が、点ｓ’，ｔ’，ｕ’を頂点とする三角形領域ｓ’ｔ’ｕ’の画像に変形される。画像の変形は、変形後の三角形領域ｓ’ｔ’ｕ’の画像中のある画素の位置が、変形前の三角形領域ｓｔｕの画像中のどの位置に相当するかを算出し、算出された位置における変形前の画像における画素値を変形後の画像の画素値とすることにより行う。
【００６１】
例えば、図２０において、変形後の三角形領域ｓ’ｔ’ｕ’の画像中の注目画素ｐ’の位置は、変形前の三角形領域ｓｔｕの画像中の位置ｐに相当するものとする。位置ｐの算出は、以下のように行う。まず、注目画素ｐ’の位置を、下記の式（１）のようにベクトルｓ’ｔ’とベクトルｓ’ｕ’との和で表現するための係数ｍ１およびｍ２を算出する。
【００６２】
【数１】
2010049578.tif 000003
【００６３】
次に、算出された係数ｍ１およびｍ２を用いて、下記の式（２）により、変形前の三角形領域ｓｔｕにおけるベクトルｓｔとベクトルｓｕとの和を算出することにより、位置ｐが求まる。
【００６４】
【数２】
2010049578.tif 000004
【００６５】
変形前の三角形領域ｓｔｕにおける位置ｐが、変形前の画像の画素中心位置に一致した場合には、当該画素の画素値が変形後の画像の画素値とされる。一方、変形前の三角形領域ｓｔｕにおける位置ｐが、変形前の画像の画素中心位置からはずれた位置となった場合には、位置ｐの周囲の画素の画素値を用いたバイキュービック等の補間演算により、位置ｐにおける画素値を算出し、算出された画素値が変形後の画像の画素値とされる。
【００６６】
変形後の三角形領域ｓ’ｔ’ｕ’の画像中の各画素について上述のように画素値を算出することにより、三角形領域ｓｔｕの画像から三角形領域ｓ’ｔ’ｕ’の画像への画像変形処理を行うことができる。このようにして、画像補正部２５０は、変形領域を構成する各小領域について、上述したように三角形領域を定義して変形処理を行う。
【００６７】
３．まとめ
このように本実施形態によれば、プリンタ１００は、対象画像から検出した顔領域における、右目領域と左目領域との距離に相当する参照幅Ｗｒと右目領域と左目領域とを結ぶ線分と口領域との距離に相当する参照高さＨｒとの比や、右目領域と左目領域との大小関係等に応じて、顔画像の向き（右振りや左振り）および顔画像の振りの程度を推定し、かつ、顔画像が右振りまたは左振りの状態である場合には、上記検出された顔領域について、顔の振りの程度が大きいほど顔の向きと反対側へ大きく拡大するように、その位置および大きさを変更し、当該変更後の顔領域を、予め定められた所定の拡大率（所定の拡大用の係数）に従って拡大して補正対象領域（変形領域）を設定するとした。そして、当該設定された補正対象領域に対して予め定められた小顔化のための変形処理を適用して変形を施すとした。
【００６８】
そのため、従来難しかった、正面向きに該当しない振りの有る顔画像に対しての小顔化のための変形を行なうことが可能となり、かつ、当該振りの有る顔画像を小顔化した結果において生じる可能性のあった顎のライン等の不自然さや段差を解消して、見栄え良く小顔化を実現することが可能となった。また本実施形態の顔形状補正処理において、正面向きの顔画像に対する処理と、右振りまたは左振りの顔画像に対する処理との違いは、一旦検出された顔領域に対して顔の振りの程度と顔の向きとに応じた変更（拡大・移動）が追加されるか否かの違いだけであり、変形領域の設定方法や、設定した変形領域に対する変形処理の内容は共通である。従って、顔画像における顔の向きの違いによって顔形状補正に要する処理量が大きく変わるということも無く、プリンタ１００の負担も少ない。
【００６９】
また、プリンタ１００は、顔形状補正に必要な情報（例えば、変形領域を設定するための上記係数ｋ１，ｋ２，ｋ３や、分割点配置パターンテーブル４１０や、分割点移動テーブル４２０）を、正面向きの顔画像の変形処理と、右振りまたは左振りの顔画像の変形処理とのために夫々保有しておく必要がないため、プリンタ１００におけるメモリ資源の節約も実現される。
【図面の簡単な説明】
【００７０】
【図１】プリンタの構成を概略的に示す説明図である。
【図２】顔形状補正処理の手順を示すフローチャートである。
【図３】ＵＩの一例を示す説明図である。
【図４】顔領域の検出結果の一例を示す説明図である。
【図５】器官領域の検出結果の一例を示す説明図である。
【図６】顔の向きと顔の振りの程度とを推定する方法を概念的に示す説明図である。
【図７】人物と撮像装置との位置関係を示す説明図である。
【図８】顔向き推定において正面向きと推定された結果の一例および右振りと推定された結果の一例を示す説明図である。
【図９】顔の向きと顔の振りの程度とに応じて顔領域を拡大する様子の一例を示した図である。
【図１０】顔の向きと顔の振りの程度とに応じて顔領域を拡大する様子の一例を示した図である。
【図１１】変形領域の設定方法の一例を示す説明図である。
【図１２】顔の向きと顔の振りの程度とに応じた拡大を行なわなかった顔領域を基準にして変形領域を設定した様子を示した図である。
【図１３】変形処理の詳細手順を示すフローチャートである。
【図１４】変形領域の小領域への分割方法の一例を示す説明図である。
【図１５】分割点移動テーブルの例を示す説明図である。
【図１６】正面向きの顔画像にかかる変形領域の具体的変形態様を示す説明図である。
【図１７】右振りの顔画像にかかる変形領域の具体的変形態様を示す説明図である。
【図１８】顔の向きと顔の振りの程度とに応じた拡大を行なわなかった顔領域を基準にして設定した右振りの顔画像にかかる変形領域の具体的変形態様を示す説明図である。
【図１９】小領域画像の変形処理を概念的に示す説明図である。
【図２０】三角形領域における画像の変形処理方法の概念を示す説明図である。
【符号の説明】
【００７１】
１００…プリンタ、１１０…ＣＰＵ、１２０…内部メモリ、１４０…操作部、１５０…表示部、１６０…プリンタエンジン、１７０…カードインターフェース、１７２…カードスロット、２００…顔形状補正処理部、２１０…顔領域検出部、２２０…器官領域検出部、２３０…顔向き推定部、２４０…領域設定部、２５０…画像補正部、３１０…表示処理部、３２０…印刷処理部、４１０…分割点配置パターンテーブル、４２０…分割点移動テーブル
【図１】
2010049578.tif 000005
【図２】
2010049578.tif 000006
【図３】
2010049578.tif 000007
【図４】
2010049578.tif 000008
【図５】
2010049578.tif 000009
【図６】
2010049578.tif 000010
【図７】
2010049578.tif 000011
【図８】
2010049578.tif 000012
【図９】
2010049578.tif 000013
【図１０】
2010049578.tif 000014
【図１１】
2010049578.tif 000015
【図１２】
2010049578.tif 000016
【図１３】
2010049578.tif 000017
【図１４】
2010049578.tif 000018
【図１５】
2010049578.tif 000019
【図１６】
2010049578.tif 000020
【図１７】
2010049578.tif 000021
【図１８】
2010049578.tif 000022
【図１９】
2010049578.tif 000023
【図２０】
2010049578.tif 000024