画像処理装置および画像処理方法
【課題】好ましい結果が得られる画像変形を可能とする。
【解決手段】画像処理装置は、撮像によって生成された対象画像における特定種類の被写体の幅方向および奥行き方向のサイズを設定するサイズ設定部を備える。画像処理装置は、また、対象画像における特定種類の被写体の画像を含む領域内の画像を、設定されたサイズに応じた変形の度合いで変形する変形処理部を備える。
【解決手段】画像処理装置は、撮像によって生成された対象画像における特定種類の被写体の幅方向および奥行き方向のサイズを設定するサイズ設定部を備える。画像処理装置は、また、対象画像における特定種類の被写体の画像を含む領域内の画像を、設定されたサイズに応じた変形の度合いで変形する変形処理部を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象画像上の少なくとも一部の領域を変形する画像処理技術に関する。
【背景技術】
【0002】
デジタル画像を対象に、画像を変形するための画像処理技術が知られている(例えば特許文献1)。特許文献1には、顔の画像上の一部の領域(頬の画像を表す領域)を補正領域として設定し、補正領域を所定のパターンに従い複数の小領域に分割し、小領域毎に設定された倍率で画像を拡大または縮小することにより、顔の画像の形状を変形する画像処理が開示されている。
【0003】
【特許文献1】特開2004−318204
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、撮像装置(例えばデジタルスチルカメラ)による撮像によって生成された顔の画像を観察して得られる印象は、実際の顔を観察して得られる印象とは異なる場合があった。このような場合に、顔の画像の印象を実際の顔の印象に近づけるように、顔の画像の形状を変形する画像処理を行うことが考えられる。しかし、顔の画像の印象は、様々な要因に応じて種々に変化しうると考えられ、一律に画像の変形を行っても望ましい画像が得られない可能性があった。
【0005】
なお、このような問題は、被写体としての顔の画像を変形させる場合に限らず、特定種類の被写体の画像を変形させる画像処理に共通する問題であった。
【0006】
本発明は、上記の課題を解決するためになされたものであり、好ましい結果が得られる画像変形を可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題の少なくとも一部を解決するために、本発明は、以下の形態または適用例として実現することが可能である。
【0008】
[適用例1]画像処理装置であって、
撮像によって生成された対象画像における特定種類の被写体の幅方向および奥行き方向のサイズを設定するサイズ設定部と、
前記対象画像における前記特定種類の被写体の画像を含む領域内の画像を、設定された前記サイズに応じた変形の度合いで変形する変形処理部と、を備える、画像処理装置。
【0009】
この画像処理装置では、特定種類の被写体の幅方向および奥行き方向のサイズが設定され、設定されたサイズに応じた変形の度合いで、対象画像における特定種類の被写体の画像を含む領域内の画像が変形される。そのため、特定種類の被写体の幅方向および奥行き方向のサイズを要因とする画像の印象と実物の印象との差異を少なくするような画像の変形を実現可能である。従って、この画像処理装置では、好ましい結果が得られる画像変形を行うことができる。
【0010】
[適用例2]適用例1に記載の画像処理装置であって、
前記変形処理部は、少なくとも前記特定種類の被写体の幅方向に沿って画像が変形されるように、画像の変形を行う、画像処理装置。
【0011】
この画像処理装置では、特定種類の被写体の幅方向および奥行き方向のサイズを要因とする画像の幅方向の大きさの印象と実物の幅方向の大きさの印象との差異を少なくするような画像の変形を実現可能である。
【0012】
[適用例3]適用例1または適用例2に記載の画像処理装置であって、
前記変形処理部は、前記特定種類の被写体の幅方向と奥行き方向との一方のサイズが一定の場合に、前記幅方向のサイズに対する前記奥行き方向のサイズの比が大きいほど前記変形の度合いが大きくなるように、画像の変形を行う、画像処理装置。
【0013】
この画像処理装置では、幅方向のサイズに対する奥行き方向のサイズの比が大きいほど画像の印象と実物の印象との差異が大きく感じられる傾向にある特定種類の被写体について、画像の印象と実物の印象との差異を少なくするような画像の変形を実現可能である。
【0014】
[適用例4]適用例3に記載の画像処理装置であって、さらに、
前記対象画像生成時の撮像装置から前記特定種類の被写体までの距離である被写体距離を設定する距離設定部を備え、
前記変形処理部は、前記特定種類の被写体の幅方向および奥行き方向のサイズが一定の場合に、設定された前記被写体距離が小さいほど前記変形の度合いが大きくなるように、画像の変形を行う、画像処理装置。
【0015】
この画像処理装置では、被写体距離が小さいほど画像の印象と実物の印象との差異が大きく感じられる傾向にある特定種類の被写体について、画像の印象と実物の印象との差異を少なくするような画像の変形を実現可能である。
【0016】
[適用例5]適用例1ないし適用例4のいずれかに記載の画像処理装置であって、さらに、
前記対象画像における前記特定種類の被写体の画像を検出する被写体検出部を備える、画像処理装置。
【0017】
この画像処理装置では、対象画像から検出された特定種類の被写体について、画像の印象と実物の印象との差異を少なくするような画像の変形を実現可能である。
【0018】
[適用例6]適用例1ないし適用例5のいずれかに記載の画像処理装置であって、
前記特定種類の被写体は、略楕円形状の水平断面を有する被写体である、画像処理装置。
【0019】
この画像処理装置では、幅方向および奥行き方向のサイズを要因とする画像の印象と実物の印象との差異が生じやすいと考えられる略楕円形状の水平断面を有する被写体について、画像の印象と実物の印象との差異を少なくするような画像の変形を実現可能である。
【0020】
[適用例7]適用例1ないし適用例6のいずれかに記載の画像処理装置であって、
前記特定種類の被写体は、人物の頭部である、画像処理装置。
【0021】
この画像処理装置では、幅方向および奥行き方向のサイズを要因とする画像の印象と実物の印象との差異が生じやすいと考えられる被写体である人物の頭部について、画像の印象と実物の印象との差異を少なくするような画像の変形を実現可能である。
【0022】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法および装置、画像変形方法および装置、画像生成方法および装置、印刷方法および装置、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【0023】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.実施例:
A−1.画像処理装置の構成:
A−2.顔形状補正印刷処理:
A−3.変形領域の設定:
A−4.変形処理:
A−5.他の変形処理:
B.変形例:
【0024】
A.実施例:
A−1.画像処理装置の構成:
図1は、本発明の実施例における画像処理装置としてのプリンタ100の構成を概略的に示す説明図である。本実施例のプリンタ100は、メモリカードMC等から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラーインクジェットプリンタである。プリンタ100は、プリンタ100の各部を制御するCPU110と、例えばROMやRAMによって構成された内部メモリ120と、ボタンやタッチパネルにより構成された操作部140と、液晶ディスプレイにより構成された表示部150と、プリンタエンジン160と、カードインターフェース(カードI/F)170と、を備えている。プリンタ100は、さらに、他の機器(例えばデジタルスチルカメラやパーソナルコンピュータ)とのデータ通信を行うためのインターフェースを備えているとしてもよい。プリンタ100の各構成要素は、バスを介して互いに接続されている。
【0025】
プリンタエンジン160は、印刷データに基づき印刷を行う印刷機構である。カードインターフェース170は、カードスロット172に挿入されたメモリカードMCとの間でデータのやり取りを行うためのインターフェースである。なお、本実施例では、メモリカードMCにRGBデータとしての画像データを含む画像ファイルが格納されている。この画像ファイルは、例えばデジタルスチルカメラ等の撮像装置によりExif(Exchangeable Image File Format)規格に則って生成されたファイルであり、撮像により生成された画像データの他に、撮像時の絞り・シャッタースピード・レンズの焦点距離等の付加データを含んでいる。プリンタ100は、カードインターフェース170を介してメモリカードMCに格納された画像ファイルの取得を行う。
【0026】
内部メモリ120には、顔形状補正部200と、顔領域検出部220と、被写体距離設定部330と、表示処理部310と、印刷処理部320とが格納されている。顔形状補正部200と顔領域検出部220と被写体距離設定部330とは、所定のオペレーティングシステムの下で、それぞれ後述する顔形状補正処理、顔領域検出処理、被写体距離設定処理を実行するためのコンピュータプログラムである。また、表示処理部310は、表示部150を制御して、表示部150上に処理メニューやメッセージを表示させるディスプレイドライバである。印刷処理部320は、画像データから印刷データを生成し、プリンタエンジン160を制御して、印刷データに基づく画像の印刷を実行するためのコンピュータプログラムである。CPU110は、内部メモリ120から、これらのプログラムを読み出して実行することにより、これら各部の機能を実現する。
【0027】
顔形状補正部200は、プログラムモジュールとして、変形態様設定部210と、顔領域調整部230と、変形領域設定部240と、変形領域分割部250と、分割領域変形部260と、変形量設定部290と、を含んでいる。変形態様設定部210は、サイズ設定部214を含んでいる。また、被写体距離設定部330は、プログラムモジュールとして、情報取得部340を含んでいる。これらの各部の機能については、後述の顔形状補正印刷処理の説明において詳述する。なお、後述するように、変形領域分割部250と、分割領域変形部260と、により画像の変形が行われる。また、変形量設定部290により画像の変形における変形の度合い(変形量)が設定される。そのため、変形量設定部290と変形領域分割部250と分割領域変形部260とは、併せて「変形処理部」とも呼ぶことができる。また、顔領域検出部220は、被写体としての顔の画像を検出するものであり、「被写体検出部」とも呼ぶことができる。
【0028】
内部メモリ120には、また、分割点配置パターンテーブル410と分割点移動テーブル420と頭部サイズ情報430とが格納されている。これらの内容についても、後述の顔形状補正印刷処理の説明において詳述する。
【0029】
A−2.顔形状補正印刷処理:
プリンタ100は、メモリカードMCに格納された画像ファイルに基づき、画像の印刷を行う。カードスロット172にメモリカードMCが挿入されると、表示処理部310により、メモリカードMCに格納された画像の一覧表示を含むユーザインターフェースが表示部150に表示される。図2は、画像の一覧表示を含むユーザインターフェースの一例を示す説明図である。図2に示すユーザインターフェースには、8つのサムネイル画像TN1〜TN8と、5つのボタンBN1〜BN5が表示されている。なお、本実施例では、画像の一覧表示は、メモリカードMCに格納された画像ファイルに含まれるサムネイル画像を用いて実現される。
【0030】
本実施例のプリンタ100は、図2に示すユーザインターフェースにおいて、ユーザにより、1つ(または複数)の画像が選択されると共に通常印刷ボタンBN3が選択されると、選択画像を通常通り印刷する通常印刷処理を実行する。他方、当該ユーザインターフェースにおいて、ユーザにより、1つ(または複数)の画像が選択されると共に顔形状補正印刷ボタンBN4が選択されると、プリンタ100は、選択画像について、選択画像中の顔の画像の形状を補正して補正後の画像を印刷する顔形状補正印刷処理を実行する。図2の例では、サムネイル画像TN1と顔形状補正印刷ボタンBN4とが選択されているため、プリンタ100は、サムネイル画像TN1に対応する画像について顔形状補正印刷処理を行う。
【0031】
図3は、本実施例のプリンタ100による顔形状補正印刷処理の流れを示すフローチャートである。ステップS100では、顔形状補正部200(図1)が、顔形状補正処理を実行する。本実施例の顔形状補正処理は、画像中の顔の少なくとも一部の形状(例えば顔の輪郭形状や目の形状)を補正する処理である。なお、目や鼻などの顔の一部分は、一般に器官とも呼ばれる。
【0032】
図4は、本実施例における顔形状補正処理(図3のステップS100)の流れを示すフローチャートである。ステップS110では、顔形状補正部200(図1)が、顔形状補正処理の対象となる対象画像TIを設定する。顔形状補正部200は、図2に示したユーザインターフェースにおいてユーザにより選択されたサムネイル画像TN1に対応する画像を対象画像TIとして設定する。設定された対象画像TIの画像ファイルは、メモリカードMCからカードインターフェース170を介してプリンタ100に取得され、内部メモリ120の所定領域に格納される。なお、以下では、このようにメモリカードMCから取得され、プリンタ100の内部メモリ120に格納された画像ファイルに含まれる画像データを「元画像データ」とも呼ぶ。また、元画像データにより表される画像を「元画像」とも呼ぶ。
【0033】
ステップS120(図4)では、変形態様設定部210(図1)が、顔形状補正のための画像変形のタイプと画像変形の度合いとを設定する。変形態様設定部210は、画像変形のタイプおよび度合いを設定するためのユーザインターフェースを表示部150に表示するように表示処理部310に指示し、当該ユーザインターフェースを通じてユーザにより指定された画像変形のタイプおよび度合いを選択し、処理に使用する画像変形タイプおよび度合いとして設定する。
【0034】
図5は、画像変形のタイプおよび度合いを設定するためのユーザインターフェースの一例を示す説明図である。図5に示すように、このユーザインターフェースには、画像変形タイプを設定するためのインターフェースが含まれている。本実施例では、例えば、顔の形状をシャープにする変形タイプ「タイプA」や、目の形状を大きくする変形タイプ「タイプB」等が選択肢として予め設定されているものとする。ユーザは、このインターフェースを介して画像変形のタイプを指定する。変形態様設定部210は、ユーザにより指定された画像変形タイプを、実際の処理に使用する画像変形タイプとして設定する。
【0035】
また、図5に示すユーザインターフェースには、画像変形の度合い(程度)を設定するためのインターフェースが含まれている。図5に示すように、本実施例では、画像変形の度合いとして、強(S)、中(M)、弱(W)の3段階と、自動と、の4つの選択肢が予め設定されているものとする。ユーザは、このインターフェースを介して画像変形の度合いを指定する。強、中、弱の3つの内のいずれかが指定された場合には、変形態様設定部210は、指定された画像変形の度合いを、実際の処理に使用する画像変形の度合いとして設定する。「自動」が指定された場合には、後述するように、画像変形の度合い(変形量)が変形量設定部290(図1)によって自動的に設定される。ユーザインターフェースに設けられたチェックボックスは、ユーザが変形態様の詳細指定を希望する場合にチェックされる。
【0036】
以降では、画像変形のタイプとして顔の形状をシャープにするための変形タイプ「タイプA」が設定され、画像変形の度合い(変形量)として「自動」が選択され、ユーザによる詳細指定の希望はなかったものとして説明を行う。
【0037】
ステップS124(図4)では、サイズ設定部214(図1)が、対象画像TIにおける被写体としての人の頭部の幅方向および奥行き方向のサイズを設定する。サイズ設定部214による頭部のサイズの設定は、後述の画像変形の度合い(変形量)の自動設定(図4のステップS590)を行うために実行される。サイズ設定部214は、頭部のサイズを設定するためのユーザインターフェースを表示部150に表示するように表示処理部310に指示し、当該ユーザインターフェースを通じたユーザによる指示に基づき、頭部のサイズを設定する。
【0038】
図6は、頭部のサイズを設定するためのユーザインターフェースの一例を示す説明図である。図6に示すように、このユーザインターフェースには、頭部の幅方向のサイズWhおよび奥行き方向のサイズDhの入力欄が含まれている。この入力欄にユーザによって幅方向サイズWhおよび奥行き方向サイズDhの値が入力され、「OK」ボタンが選択されると、サイズ設定部214は、入力された値を頭部の幅方向サイズWhおよび奥行き方向サイズDhとして設定する。他方、図6に示したユーザインターフェースには、「サイズ自動設定」ボタンが含まれている。ユーザにより「サイズ自動設定」ボタンが選択され、「OK」ボタンが選択されると、サイズ設定部214は、頭部の幅方向サイズWhおよび奥行き方向サイズDhを自動設定する。内部メモリ120に格納された頭部サイズ情報430(図1)には、人の頭部の幅方向サイズWhおよび奥行き方向サイズDhの標準的な値が規定されている。サイズ設定部214による頭部のサイズの自動設定は、頭部サイズ情報430に規定された標準値を頭部の幅方向サイズWhおよび奥行き方向サイズDhの値として設定することにより行われる。
【0039】
ステップS130(図4)では、顔領域検出部220(図1)が、対象画像TIにおける顔領域FAの検出を行う。ここで、顔領域FAとは、対象画像TIにおける画像領域であって、少なくとも顔の一部の画像が含まれる領域を意味している。顔領域検出部220による顔領域FAの検出は、例えばテンプレートを利用したパターンマッチングによる方法(特開2004−318204参照)といった公知の顔検出方法を用いて実行される。
【0040】
図7は、顔領域FAの検出結果の一例を示す説明図である。図7の例では、対象画像TIに人物の顔の画像が含まれている。そのため、ステップS130において、対象画像TIから顔領域FAが検出される。この顔領域FAは、図7に示すように、両目と鼻と口の画像を含む矩形の領域となっている。なお、顔領域検出部220は、顔領域FAの検出結果として、対象画像TIにおける顔領域FAの位置を特定可能な情報(例えば顔領域FAの4つの頂点の座標)を出力する。また、図7に示すように、本実施例では、対象画像TIの幅をWwi(単位は画素数)と表し、顔領域FAの幅をWfi(単位は画素数)と表すものとする。
【0041】
なお、ステップS130の顔領域FAの検出において、顔領域FAが検出されなかった場合には、その旨が表示部150を通じてユーザに通知される。この場合には、顔形状補正を伴わない通常印刷が行われるとしてもよいし、他の顔検出方法を用いた顔領域FAの再度の検出処理が行われるとしてもよい。
【0042】
ステップS130では、テンプレートを利用したパターンマッチングにより対象画像TIから顔領域FAが検出される。このようなテンプレートを利用したパターンマッチングによる方法等の公知の顔検出方法は、一般に、顔全体や顔の部位(目や口等)について位置や傾き(角度)を詳細に検出するものではなく、対象画像TI中から顔の画像が概ね含まれると考えられる領域を顔領域FAとして設定するものである。
【0043】
ステップS500(図4)では、プリンタ100が、ステップS130で検出された顔領域FAに基づいて変形領域TAを設定する。変形領域TAは、対象画像TI上の領域であって顔形状補正のための画像変形処理の対象となる領域である。変形領域TAの設定方法については、後述の「A−3.変形領域の設定」において詳述する。図8は、ステップS500における変形領域TAの設定結果を示す説明図である。図8では、破線によりステップS130において検出された顔領域FAを示しており、太実線により設定された変形領域TAを示している。
【0044】
ステップS570(図4)では、被写体距離設定部330(図1)が、被写体距離Sdの設定を行う。ここで、被写体距離Sdは、対象画像TIの撮像時における撮像装置(より詳細には撮像装置のレンズの主点)から特定種類の被写体までの距離を意味している。また、本実施例では、特定種類の被写体として人物の頭部が設定されている。従って、本実施例における被写体距離Sdは、撮像装置から人物の頭部までの距離である。被写体距離設定部330による被写体距離Sdの設定は、後述の画像変形の度合い(変形量)の自動設定(図4のステップS590)を行うために実行される。
【0045】
被写体距離設定部330は、被写体距離Sdの推定を行い、推定された値を被写体距離Sdとして設定する。図9は、被写体距離Sdの推定方法を示す説明図である。図9には、対象画像TIの撮像時における撮像装置の結像面ISと被写体としての人物Pの頭部との位置関係を示している。図9に示すように、レンズの主点UPと人物Pの頭部(の中心)との間の距離である被写体距離Sdは、人物Pの頭部の位置を含み結像面ISに平行な面(以下「被写体面SS」とも呼ぶ)における撮像範囲の幅Wwと画角θとにより定まる。また、画角θは、レンズの焦点距離fと結像面ISの幅Wxとの関係により特定される。すなわち、下記の式(1)が成り立つ。
【0046】
【数1】
【0047】
また、被写体面SSにおける撮像範囲の幅Wwは、大きさが既知の被写体の画像が対象画像TIにおいて占める大きさに基づき特定される。本実施例では、顔領域FAの検出によって対象画像TIにおける顔の画像の大きさがわかっているため(図7参照)、大きさが既知の被写体として人物の顔を用いている。すなわち、被写体面SSにおける撮像範囲の幅Wwと人物Pの顔の幅Wfとの比は、図7に示した対象画像TIにおける画像全体の幅Wwiと顔領域FAの幅Wfiとの比に等しいと考えられる(式(2)参照)。
【0048】
【数2】
【0049】
上記式(1)および(2)から、下記の式(3)が導かれる。
【0050】
【数3】
【0051】
被写体距離設定部330の情報取得部340(図1)は、式(3)を用いた被写体距離Sdの算出に必要な情報を取得する。具体的には、情報取得部340は、対象画像TIを表す画像ファイルにメタデータとして付加されている対象画像TIの全体の幅Wwiの値(画素数)を取得すると共に、顔領域FA(図7)の幅Wfiの値(画素数)を算出する。顔領域FAの幅Wfiの算出は、例えば顔領域FAの2つの頂点の座標を用いて2つの頂点間の距離を算出することにより行う。
【0052】
情報取得部340は、また、人物Pの顔の幅Wfの値として、予め設定され内部メモリ120(図1)に格納された人物の顔の幅(顔の現実の大きさ)の標準値(例えば180mm)を取得する。なお、人物Pの顔の幅Wfの値をユーザにより入力させ、情報取得部340が入力された値を取得するものとしてもよい。
【0053】
さらに、情報取得部340は、対象画像TIの画像ファイルの付加データに含まれる撮像時のレンズ焦点距離fの値を取得する。ここで、取得されるレンズの焦点距離fの値は、35mmフィルム換算値であり、撮像装置の実際の焦点距離(実焦点距離)とは異なる場合がある。このような場合には、情報取得部340は、結像面ISの幅Wxとして、予め設定された35mmフィルムの幅の値(=36mm)を取得する。なお、画像ファイルの付加データに実焦点距離のデータと撮像装置の撮像素子の幅のデータとが含まれている場合には、情報取得部340が、レンズの焦点距離fとして実焦点距離の値を取得し、結像面ISの幅Wxとして撮像素子の幅の値を取得するとしてもよい。また、画像ファイルの付加データに画角そのものを示すデータが含まれている場合には、情報取得部340が画角を示すデータを取得するとしてもよい。レンズの焦点距離fの値と結像面ISの幅Wxの値とは、対象画像TIの画角θを特定可能な情報である。
【0054】
被写体距離設定部330は、情報取得部340により取得された上記各情報(対象画像TIの全体の幅Wwiの値、顔領域FAの幅Wfiの値、人物Pの顔の幅Wfの値、レンズの焦点距離fの値、結像面ISの幅Wxの値)と、上記式(3)とを用いて、被写体距離Sdを算出(推定)する。
【0055】
次にステップS590(図4)では、変形量設定部290(図1)が、変形量(「変形の度合い」または「変形の程度」とも呼ぶ)を設定する。その後のステップS600(図4)では、ステップS500で設定された変形領域TAの画像に対し、ステップS590で設定された変形量で変形処理が行われる。変形処理の具体的方法については、後述の「A−4.変形処理」において詳述する。
【0056】
ここで、変形量設定部290による変形量の設定(図4のステップS590)について説明する。図10は、変形領域TAの画像を対象とした変形処理(図4のステップS600)が行われた結果を示す説明図である。図10(a)には、変形処理が行われる前の対象画像TIを示しており、図10(b)には、変形処理後の対象画像TIを示している。図10(b)に示すように、変形処理後の対象画像TIでは、変形領域TA内の人物の顔の画像の幅が小さくなっている。なお、ステップS600における変形処理は対象画像TI中の変形領域TA内の画像にのみ施され、変形領域TAの外の画像は変形されない。その結果、画像の全体を過剰に変形させずに、被写体を変形させることができる。
【0057】
図10の例では、顔の画像が顔の幅方向に沿って縮小変形され、顔の左右の頬のライン(顔の輪郭)の画像が変形量DQだけ内側に移動している。この変形量DQは、図4のステップS590において設定された量である。このような変形処理によって、変形処理後の顔の画像の幅Wdは、変形前の顔の画像の幅Woと比べて、変形量DQの2倍だけ小さくなる。このように幅が小さくなるように画像を変形する理由は、顔の画像の観察によって得られる印象を、実物の顔の観察によって得られる印象に近づけるためである。
【0058】
図11は、顔の画像と実物の顔との印象の違いを示す説明図である。図11には、人の頭部Hの水平断面と、観察者の右目REおよび左目LEと、撮像装置としてのカメラCMとを示している。図11に示す配置では、頭部Hは顔の部分が2つの目RE、LEの真正面に位置するような配置であるものとする。また、カメラCMは、2つの目RE、LEの中点MPに配置されている。すなわち、カメラCMは、観察者とほぼ同じ位置から頭部Hの顔の部分を見るような配置となっている。
【0059】
本実施例では、頭部Hの水平断面は楕円形状であるものとしている。頭部Hの水平断面の外周(以下「頭部楕円HE」と呼ぶ)において、頭部Hの奥行き方向(図11のx方向)に沿った半径をAとし、幅方向(図11のy方向)に沿った半径をBとする。すなわち、半径Aは頭部Hの奥行き方向のサイズDh(図6参照)の2分の1に相当し、半径Bは頭部Hの幅方向のサイズWhの2分の1に相当する。なお、本明細書において、「楕円」の語は円(すなわちA=Bの場合)を含むものとする。
【0060】
中点MPは頭部楕円HEの中心CPを通るx軸上に位置し、2つの目RE、LEは、中心CPを通りx軸に垂直な座標軸であるy軸に沿って並んでいる。距離Lは、2つの目RE、LEの間の距離を示しており、距離dは、頭部楕円HEの中心CPと目RE、LEとの間のx軸に沿った距離を示している。
【0061】
図11中の第1幅W1は、カメラCMから見える部分の頭部Hの幅を示している。カメラCMから見える部分は、頭部Hの表面の内、カメラ被写体範囲SRC内の部分である。このカメラ被写体範囲SRCは、カメラCMの視野の全範囲の内の頭部Hが占める範囲である。第1幅W1は、頭部楕円HEと中点MPとの2つの接点間の距離に相当し、以下の式(4)により算出される。
【0062】
【数4】
【0063】
図11中の第2幅W2は、両目RE、LEから見える部分の頭部Hの幅を示している。両目RE、LEから見える部分は、頭部Hの表面の内、右被写体範囲SRRと左被写体範囲SRLとの重なる範囲内の部分である。右被写体範囲SRRは、右目REの視野の全範囲の内の頭部Hが占める範囲であり、左被写体範囲SRLは、左目LEの視野の全範囲の内の頭部Hが占める範囲である。第2幅W2は、頭部楕円HEと右目REとの2つの接点の内のより中点MPに近い方の接点と、頭部楕円HEと左目LEとの2つの接点の内のより中点MPに近い方の接点と、の間の距離に相当し、以下の式(5)により算出される。
【0064】
【数5】
【0065】
図11に示すように、右目REと左目LEとの間では、頭部Hの見える部分が異なっている。すなわち、右目REから見える部分は右目RE側に偏っており、左目LEから見える部分は左目LE側に偏っている。このような場合には、人(観察者)による頭部Hの認識は、両目RE、LEに共通な可視部分から強い影響を受けると推定される。例えば、人は、両目RE、LEに共通な可視部分の幅W2が頭部Hの幅であるという認識を持つと推定される。
【0066】
図11に示すように、第2幅W2は第1幅W1よりも狭い。すなわち、撮像によって生成された顔の画像を観察すると、実際の顔を直接観察したときと比べて幅が広い印象を受けるものと考えられる。そこで、図10(b)に示すように顔の幅が狭くなるように画像を変形することによって、顔の画像の観察によって得られる印象を、実物の顔の観察によって得られる印象に近づけることができる。
【0067】
上記式(4)および(5)から明らかなように、第1幅W1および第2幅W2は、半径A,Bの値や距離dの値に応じて変化する。なお、距離Lの値は、例えば、100mmを採用可能である。半径A,Bの値や距離dの値を種々変化させたときの第1幅W1に対する第2幅W2の比率Ri(=W2/W1)の値を以下の表1に示す。なお、第2幅W2の値は第1幅W1の値より小さいため、比率Riの値は1.0よりも小さくなる。また、表1において、f(=(A−B)/A)は頭部Hの水平断面の楕円形状外周の扁平率である。
【0068】
【表1】
【0069】
表1のcase1〜4からわかるように、L,d,Bの値が一定の場合には、半径Aの値が大きいほど比率Riの値は小さい。すなわち、顔の画像の観察によって得られる印象と実物の顔の観察によって得られる印象との差が大きくなるものと考えられる。一方、表1のcase2,5〜7からわかるように、L,d,Aの値が一定の場合には、半径Bの値が小さいほど比率Riの値は小さい。すなわち、顔の画像の観察によって得られる印象と実物の顔の観察によって得られる印象との差が大きくなるものと考えられる。さらに、表1のcase2,7,8からわかるように、L,A,Bの値が一定の場合には、カメラCMおよび観察者から頭部Hまでの距離dの値が小さいほど比率Riの値は小さい。すなわち、顔の画像の観察によって得られる印象と実物の顔の観察によって得られる印象との差が大きくなるものと考えられる。
【0070】
図12は、半径A、半径B、距離dと比率Riとの関係を示すグラフである。図12(a)には、L,d,Bの値が一定とした場合の半径Aと比率Riとの関係を示しており、図12(b)には、L,d,Aの値が一定とした場合の半径Bと比率Riとの関係を示しており、図12(c)には、L,A,Bの値が一定とした場合の距離dと比率Riとの関係を示している。
【0071】
顔の画像の変形処理は、顔の画像の観察によって得られる印象が、実物の顔の観察によって得られる印象になるべく近づくように行われることが好ましい。このような画像の変形処理を実現するためには、図10(b)に示した変形処理前の顔の画像の幅Woに対する変形処理後の顔の画像の幅Wdの比率Rwが、図11に示した第1幅W1に対する第2幅W2の比率Riと等しくなるように、変形量DQを設定すればよい。
【0072】
上述した図4のステップS590では、変形量設定部290(図1)が、ステップS124で設定された頭部のサイズ(WhおよびDh)から上記式(4)および(5)におけるAおよびBの値を算出する。変形量設定部290は、また、ステップS124で設定された被写体距離Sdの値を上記式(4)および(5)におけるdの値に設定する。変形量設定部290は、これらの値を用いて第1幅W1および第2幅W2を算出し、比率Rw(Wd/Wo)が比率Ri(W2/W1)と等しくなるように変形量DQを算出する。
【0073】
図13は、半径A、半径B、距離dと変形量DQとの関係を示すグラフである。図13(a)には、L,d,Bの値が一定とした場合の半径Aと変形量DQとの関係を示しており、図13(b)には、L,d,Aの値が一定とした場合の半径Bと変形量DQとの関係を示しており、図13(c)には、L,A,Bの値が一定とした場合の距離dと変形量DQとの関係を示している。図13(a)に示すように、L,d,Bの値が一定の場合には、半径A(本発明における奥行き方向に沿った頭部Hの半径)の値が大きいほど変形量DQは大きい値に設定される。同様に、L,d,Aの値が一定の場合には、半径B(本発明における幅方向に沿った頭部Hの半径)の値が小さいほど変形量DQは大きい値に設定され(図13(b)参照)、L,A,Bの値が一定の場合には、距離dの値が小さいほど変形量DQは大きい値に設定される(図13(c)参照)。
【0074】
図4のステップS600では、このように決定された変形量DQを用いて画像が変形される(図10(b))。その結果、顔の画像の観察によって得られる印象を実物の顔の観察によって得られる印象に近づけるような画像変形処理が実現される。
【0075】
なお、「奥行き方向」とは、撮像装置のレンズの光軸に平行な方向を意味し、「幅方向」とは、撮像装置のレンズの光軸を含む水平面内において光軸と直交する直線に平行な方向を意味する。
【0076】
顔形状補正処理(図4)が終了すると、図3のフローチャートに戻り、顔形状補正部200(図1)が、顔形状補正後の対象画像TIを表示部150に表示するよう表示処理部310に指示する(ステップS200)。図14は、顔形状補正後の対象画像TIが表示された表示部150の状態の一例を示す説明図である。顔形状補正後の対象画像TIが表示された表示部150により、ユーザは、補正結果を確認することができる。ユーザが補正結果に満足せず「戻る」ボタンを選択すると、例えば表示部150に図5に示した変形タイプおよび変形度合いを選択する画面や、図6に示した頭部のサイズを設定するための画面が表示され、ユーザによる変形タイプ・変形度合いや頭部サイズの再度の設定が実行される。
【0077】
ユーザが補正結果に満足し、「印刷」ボタンを選択すると、印刷処理部320(図1)が、プリンタエンジン160を制御して、顔形状補正処理後の対象画像TIの印刷を行う(図3のステップS300)。印刷処理部320は、顔形状補正処理後の対象画像TIの画像データに、解像度変換やハーフトーン処理などの処理を施して印刷データを生成する。生成された印刷データは、印刷処理部320からプリンタエンジン160に供給され、プリンタエンジン160は対象画像TIの印刷を実行する。これにより、顔形状補正後の対象画像TIの印刷が完了する。
【0078】
A−3.変形領域の設定:
上述した顔形状補正処理(図4)における変形領域TAの設定処理(ステップS500)について詳述する。図15は、顔領域FAの検出結果の一例を示す説明図である。図15に示すように、図4のステップS130において、対象画像TIから顔領域FAが検出されている。図15に示した基準線RLは、顔領域FAの高さ方向(上下方向)を定義すると共に、顔領域FAの幅方向(左右方向)の中心を示す線である。すなわち、基準線RLは、矩形の顔領域FAの重心を通り、顔領域FAの高さ方向(上下方向)に沿った境界線に平行な直線である。
【0079】
変形領域TAは、顔領域FAに基づき設定される。ここで、上述したように、顔領域FAの検出に用いられる公知の顔検出方法(テンプレートを利用したパターンマッチングによる方法等)は、顔全体や顔の部位(目や口等)について位置や傾き(角度)を詳細に検出するものではなく、対象画像TI中から顔の画像が概ね含まれると考えられる領域を顔領域FAとして設定するものである。他方、顔の画像は、一般に、観察者の注目度が高いため、顔領域FAに基づき設定された変形領域TAと顔の画像との位置や角度の関係によっては、顔形状補正後の画像が不自然なものとなる可能性がある。そこで、本実施例では、より自然で好ましい顔形状補正が実現されるように、ステップS130で検出された顔領域FAについて、以下に説明する位置調整および傾き調整を行うものとしている。
【0080】
図16は、変形領域設定処理の流れを示すフローチャートである。ステップS510では、顔領域調整部230(図1)が、ステップS130(図4)で検出された顔領域FAの高さ方向の位置調整を行う。ここで、顔領域FAの高さ方向の位置調整とは、顔領域FAの基準線RL(図15参照)に沿った位置を調整して、対象画像TIにおける顔領域FAを再設定することを意味している。
【0081】
図17は、顔領域FAの高さ方向の位置調整処理の流れを示すフローチャートである。ステップS511では、顔領域調整部230(図1)が、特定領域SAを設定する。ここで、特定領域SAとは、対象画像TI上の領域であって、顔領域FAの高さ方向の位置調整を実行する際に参照する所定の参照被写体の画像を含む領域である。参照被写体は、例えば「目」に設定することができ、その場合、特定領域SAは「目」の画像を含む領域として設定される。
【0082】
図18は、特定領域SAの一例を示す説明図である。本実施例では、顔領域調整部230(図1)が、特定領域SAを顔領域FAとの関係に基づいて設定する。具体的には、顔領域FAの大きさを、基準線RLに直行する方向および基準線RLに平行な方向に、所定比率で縮小(または拡大)した大きさの領域であって、顔領域FAの位置と所定の位置関係を有する領域が、特定領域SAとして設定される。すなわち、本実施例では、顔領域検出部220により検出された顔領域FAとの関係に基づき特定領域SAを設定すれば、特定領域SAが両方の目の画像を含む領域となるように、上記所定比率や所定の位置関係が予め設定されている。なお、特定領域SAは、目の画像とまぎらわしい画像(例えば髪の毛の画像)がなるべく含まれないように、両目の画像を含む限りにおいて、なるべく小さい領域として設定されることが好ましい。
【0083】
また、図18に示すように、特定領域SAは、基準線RLに対して対称な矩形形状の領域として設定される。特定領域SAは、基準線RLにより、向かって左側の領域(以下「左分割特定領域SA(l)」とも呼ぶ)と、向かって右側の領域(以下「右分割特定領域SA(r)」とも呼ぶ)とに分割される。特定領域SAは、左分割特定領域SA(l)と右分割特定領域SA(r)とのそれぞれに片目の画像が含まれるように設定される。
【0084】
ステップS512(図17)では、顔領域調整部230(図1)が、特定領域SAにおける目の画像の位置を検出するための評価値を算出する。図19は、評価値の算出方法の一例を示す説明図である。本実施例では、RGB画像データとしての対象画像TIの各画素のR値(R成分値)が評価値の算出に用いられる。これは、肌の部分の画像と目の部分の画像とではR値の差が大きいため、R値を評価値の算出に用いることにより、目の画像の検出精度を向上させることができると考えられるからである。また、本実施例では、対象画像TIのデータがRGBデータとして取得されているため、R値を評価値の算出に用いることにより、評価値の算出の効率化を図ることができるからでもある。なお、図19に示すように、評価値の算出は、2つの分割特定領域(右分割特定領域SA(r)および左分割特定領域SA(l))のそれぞれについて個別に行われる。
【0085】
顔領域調整部230は、図19に示すように、分割特定領域(右分割特定領域SA(r)および左分割特定領域SA(l))内に、基準線RLと直行するn本の直線(以下「対象画素特定線PL1〜PLn」と呼ぶ)を設定する。対象画素特定線PL1〜PLnは、分割特定領域の高さ(基準線RLに沿った大きさ)を(n+1)等分する直線である。すなわち、対象画素特定線PL同士の間隔は、すべて等間隔sである。
【0086】
顔領域調整部230は、対象画素特定線PL1〜PLnのそれぞれについて、対象画像TIを構成する画素の中から評価値の算出に用いる画素(以下「評価対象画素TP」と呼ぶ)を選択する。図20は、評価対象画素TPの選択方法の一例を示す説明図である。顔領域調整部230は、対象画像TIを構成する画素の内、対象画素特定線PLと重なる画素を評価対象画素TPとして選択する。図20(a)は、対象画素特定線PLが対象画像TIの画素の行方向(図20のX方向)と平行である場合を示している。この場合には、各対象画素特定線PLと重なる画素行上の画素(図20(a)において○印を付した画素)が、各対象画素特定線PLについての評価対象画素TPとして選択される。
【0087】
一方、顔領域FAの検出方法や特定領域SAの設定方法によっては、図20(b)に示すように、対象画素特定線PLが対象画像TIの画素の行方向(X方向)と平行とはならない場合も生ずる。このような場合にも、原則として、各対象画素特定線PLと重なる画素が、各対象画素特定線PLについての評価対象画素TPとして選択される。ただし、例えば図20(b)における対象画素特定線PL1と画素PXaおよびPXbとの関係のように、ある対象画素特定線PLが、対象画像TIの画素マトリクスの同一列に位置する(すなわちY座標が同一の)2つの画素と重なる場合には、重なり部分の距離のより短い方の画素(例えば画素PXb)は評価対象画素TPから除外される。すなわち、各対象画素特定線PLについて、画素マトリクスの1つの列からは1つの画素のみが評価対象画素TPとして選択される。
【0088】
なお、対象画素特定線PLの傾きが、X方向に対して45度を超える場合には、上記説明において画素マトリクスの列と行との関係が逆転し、画素マトリクスの1つの行から1つの画素のみが評価対象画素TPとして選択されることとなる。また、対象画像TIと特定領域SAとの大きさの関係によっては、1つの画素が複数の対象画素特定線PLについての評価対象画素TPとして選択される場合もある。
【0089】
顔領域調整部230は、対象画素特定線PLのそれぞれについて、評価対象画素TPのR値の平均値を評価値として算出する。ただし、本実施例では、各対象画素特定線PLについて、選択された複数の評価対象画素TPの内、R値の大きい一部の画素を評価値の算出対象から除外するものとしている。具体的には、例えば、ある対象画素特定線PLについてk個の評価対象画素TPが選択された場合、評価対象画素TPが、R値の比較的大きい0.75k個の画素により構成される第1グループと、比較的R値の小さい0.25k個の画素により構成される第2グループとの2グループに分けられ、第2グループに属する画素のみが評価値としてのR値の平均値の算出対象となる。このように一部の評価対象画素TPを評価値の算出対象から除外する理由については後述する。
【0090】
以上のように、本実施例では、顔領域調整部230により各対象画素特定線PLについての評価値が算出される。ここで、対象画素特定線PLは基準線RLに直行する直線であるため、評価値は、基準線RLに沿った複数の位置(評価位置)について算出されると表現することができる。また、評価値は、各評価位置について、基準線RLに直行する方向に沿った画素値の分布の特徴を表す値と表現することができる。
【0091】
ステップS513(図17)では、顔領域調整部230(図1)が、特定領域SAにおける目の位置を検出し、検出結果に基づき高さ基準点Rhを決定する。まず、顔領域調整部230は、図19の右側に示すように、各分割特定領域について、基準線RLに沿った評価値(R値の平均値)の分布を表す曲線を作成し、評価値が極小値をとる基準線RL方向に沿った位置を目の位置Ehとして検出する。なお、左分割特定領域SA(l)における目の位置EhをEh(l)と表し、右分割特定領域SA(r)における目の位置EhをEh(r)と表わす。
【0092】
黄色人種の場合、分割特定領域中の肌の画像を表す部分はR値が大きい一方、目(より詳細には目の中央の黒目部分)の画像を表す部分はR値が小さいと考えられる。そのため、上述のように、評価値(R値の平均値)が極小値をとる基準線RLに沿った位置を目の位置Ehと判断することが可能となる。但し、他の人種(白色人種や黒色人種)を対象とする場合には、他の評価値(例えば、輝度や明度やB値)が用いられる。
【0093】
なお、図19に示すように、分割特定領域には、目の画像以外にもR値の小さい他の画像(例えば、眉や髪の毛の画像)が含まれている場合もある。そのため、顔領域調整部230は、基準線RLに沿った評価値の分布を表す曲線が複数の極小値をとる場合には、極小値をとる位置の内、最も下側の位置を目の位置Ehと判断する。一般に、目の画像より上側には眉や髪の毛等のR値の小さい画像が位置することが多い一方、目の画像より下側にはR値の小さい画像が位置することが少ないと考えられることから、このような判断が可能となる。
【0094】
また、上記曲線が、目の画像の位置よりも下側(主に肌の画像に対応した位置)であっても、評価値が大きいながらも極小値をとる可能性があるため、極小値の内、所定の閾値より大きいものは無視するものとしてもよい。あるいは、単純に、各対象画素特定線PLについて算出された評価値の内の最小値に対応した対象画素特定線PLの位置を目の位置Ehとしてもよい。
【0095】
なお、本実施例では、顔において周囲との色の差が比較的大きいと考えられる部位である目(目の中央の黒目部分)を顔領域FAの位置調整の参照被写体として用いている。しかし、評価値としてのR値の平均値は、対象画素特定線PL上の複数の評価対象画素TPを対象として算出されるため、例えば、黒目の周縁の白目部分の画像の影響により、黒目部分の検出の精度が低下する怖れがある。本実施例では、上述したように、参照被写体とは色の差が大きいと考えられる一部の評価対象画素TP(例えば上述した第1のグループに属する比較的R値の大きい画素)を評価値の算出対象から除外することにより、参照被写体の検出精度をより向上させている。
【0096】
次に、顔領域調整部230は、検出された目の位置Ehに基づき高さ基準点Rhを決定する。図21は、高さ基準点Rhの決定方法の一例を示す説明図である。高さ基準点Rhは、顔領域FAの高さ方向の位置調整の際に、基準として用いられる点である。本実施例では、図21に示すように、左右2つの目の位置Eh(l)およびEh(r)の中間に位置する基準線RL上の点が高さ基準点Rhとして設定される。すなわち、左の目の位置Eh(l)を示す直線EhL(l)と基準線RLとの交点と、右の目の位置Eh(r)を示す直線EhL(r)と基準線RLとの交点と、の中点が、高さ基準点Rhとして設定される。
【0097】
なお、本実施例では、顔領域調整部230が、検出された目の位置Ehに基づき、顔画像の概略の傾き角(以下「概略傾き角RI」と呼ぶ)を算出するものとしている。顔画像の概略傾き角RIは、対象画像TI中の顔の画像が、顔領域FAの基準線RLに対して概ねどれぐらい傾いているかを推定した角度である。図22は、概略傾き角RIの算出方法の一例を示す説明図である。図22に示すように、顔領域調整部230は、まず、左分割特定領域SA(l)の幅Ws(l)を半分に分割する直線と直線EhL(l)との交点IP(l)と、右分割特定領域SA(r)の幅Ws(r)を半分に分割する直線と直線EhL(r)との交点IP(r)とを決定する。そして、交点IP(l)と交点IP(r)とを結ぶ直線に直交する直線ILと、基準線RLとのなす角が、概略傾き角RIとして算出される。
【0098】
ステップS514(図17)では、顔領域調整部230(図1)が、顔領域FAの高さ方向の位置調整を行う。図23は、顔領域FAの高さ方向の位置調整方法の一例を示す説明図である。顔領域FAの高さ方向の位置調整は、高さ基準点Rhが、位置調整後の顔領域FAにおける所定の位置に位置することとなるように、顔領域FAを再設定することにより行う。具体的には、図23に示すように、高さ基準点Rhが、顔領域FAの高さHfを所定の比率r1対r2で分けるような位置に位置することとなるように、顔領域FAが基準線RLに沿って上下に位置調整される。図23の例では、破線で示した調整前の顔領域FAを上方向に移動することにより、実線で示した調整後の顔領域FAが再設定されている。
【0099】
顔領域FAの位置調整の後、ステップS520(図16)では、顔領域調整部230(図1)が、顔領域FAの傾き調整(角度調整)を行う。ここで、顔領域FAの傾き調整とは、対象画像TIにおける顔領域FAの傾きを顔の画像の傾きに適合するように調整して、顔領域FAを再設定することを意味している。本実施例では、顔領域FAの傾き調整を実行する際に参照する所定の参照被写体は、「両目」と設定されている。本実施例における顔領域FAの傾き調整では、傾き調整の調整角度の選択肢を表す複数の評価方向が設定され、各評価方向に対応した評価特定領域ESAが両目の画像を含む領域として設定される。そして、各評価方向について評価特定領域ESAの画像の画素値に基づき評価値が算出され、評価値に基づき決定される傾き調整の調整角度を用いて顔領域FAの傾きが調整される。
【0100】
図24は、本実施例における顔領域FAの傾き調整処理の流れを示すフローチャートである。また、図25は、顔領域FAの傾き調整のための評価値の算出方法の一例を示す説明図である。ステップS521(図24)では、顔領域調整部230(図1)が、初期評価特定領域ESA(0)を設定する。初期評価特定領域ESA(0)は、顔領域FAの位置調整後の基準線RL(図23参照)と平行な方向(以下「初期評価方向」とも呼ぶ)に対応付けられた評価特定領域ESAである。本実施例では、位置調整後の顔領域FAに対応した特定領域SA(図23参照)が、そのまま初期評価特定領域ESA(0)として設定される。なお、顔領域FAの傾き調整における評価特定領域ESAは、顔領域FAの位置調整時の特定領域SAとは異なり、左右2つの領域に分割されることはない。図25の最上段には、設定された初期評価特定領域ESA(0)が示されている。
【0101】
ステップS522(図24)では、顔領域調整部230(図1)が、複数の評価方向と各評価方向に対応した評価特定領域ESAとを設定する。複数の評価方向は、傾き調整の調整角度の選択肢を表す方向として設定される。本実施例では、基準線RLとのなす角が所定の範囲内である複数の評価方向線ELが設定され、評価方向線ELと平行な方向が評価方向として設定される。図25に示すように、基準線RLを初期評価特定領域ESA(0)の中心点(重心)CPを中心として反時計回りおよび時計回りに所定の角度α刻みで回転させることにより定まる直線が、複数の評価方向線ELとして設定される。なお、基準線RLとのなす角がφ度である評価方向線ELをEL(φ)と表す。
【0102】
本実施例では、上述した各評価方向線ELと基準線RLとのなす角についての所定の範囲は±20度と設定される。ここで本明細書では、基準線RLを時計回りに回転させたときの回転角は正の値で表され、基準線RLを反時計回りに回転させたときの回転角は負の値で表される。顔領域調整部230は、基準線RLを反時計回りおよび時計回りにα度、2α度・・・と20度を超えない範囲で回転角を増加させつつ回転させ、複数の評価方向線ELを設定する。図25には、基準線RLを−α度,−2α度,α度回転させることによりそれぞれ定まる評価方向線EL(EL(−α),EL(−2α),EL(α))が示されている。なお、基準線RLは、評価方向線EL(0)とも表現できる。
【0103】
各評価方向を表す評価方向線ELに対応した評価特定領域ESAは、初期評価特定領域ESA(0)を、中心点CPを中心として、評価方向線ELの設定時の回転角と同じ角度で回転させた領域である。評価方向線EL(φ)に対応した評価特定領域ESAは、評価特定領域ESA(φ)と表される。図25には、評価方向線EL(−α),EL(−2α),EL(α)のそれぞれに対応した評価特定領域ESA(ESA(−α),ESA(−2α),ESA(α))が示されている。なお、初期評価特定領域ESA(0)も評価特定領域ESAの1つとして扱われるものとする。
【0104】
ステップS523(図24)では、顔領域調整部230(図1)が、設定された複数の評価方向のそれぞれについて、評価特定領域ESAの画像の画素値に基づき評価値を算出する。本実施例では、顔領域FAの傾き調整における評価値として、上述した顔領域FAの位置調整における評価値と同様に、R値の平均値が用いられる。顔領域調整部230は、評価方向に沿った複数の評価位置についての評価値を算出する。
【0105】
評価値の算出方法は、上述した顔領域FAの位置調整における評価値の算出方法と同様である。すなわち、顔領域調整部230は、図25に示すように、各評価特定領域ESA内に、評価方向線ELに直交する対象画素特定線PL1〜PLnを設定し、各対象画素特定線PL1〜PLnについて評価対象画素TPを選択し、選択された評価対象画素TPのR値の平均値を評価値として算出する。
【0106】
評価特定領域ESAにおける対象画素特定線PLの設定方法や評価対象画素TPの選択方法は、領域を左右に分割するか否かの違いはあるものの、図19および図20に示した顔領域FAの位置調整における方法と同様である。なお、顔領域FAの位置調整時と同様に、選択された評価対象画素TPの内の一部(例えばk個の評価対象画素TPの内のR値の比較的大きい0.75k個の画素)を評価値の算出対象から除外するとしてもよい。図25の右側には、各評価方向について、算出された評価値の評価方向線ELに沿った分布を示している。
【0107】
なお、対象画素特定線PLは評価方向線ELに直行する直線であるため、評価値は、評価方向線ELに沿った複数の位置(評価位置)について算出されると表現することができる。また、評価値は、各評価位置について、評価方向線ELに直行する方向に沿った画素値の分布の特徴を表す値と表現することができる。
【0108】
ステップS524(図24)では、顔領域調整部230(図1)が、顔領域FAの傾き調整に用いる調整角度を決定する。顔領域調整部230は、各評価方向について、ステップS523において算出された評価値の評価方向線ELに沿った分散を算出し、分散の値が最大となる評価方向を選択する。そして、選択された評価方向に対応した評価方向線ELと基準線RLとのなす角を、傾き調整に用いる調整角度として決定する。
【0109】
図26は、各評価方向についての評価値の分散の算出結果の一例を示す説明図である。図26の例では、回転角が−α度である評価方向において、分散が最大値Vmaxをとる。従って、−α度、すなわち反時計回りにα度の回転角が、顔領域FAの傾き調整に用いる調整角度として決定される。
【0110】
評価値の分散の値が最大となるときの評価方向に対応した角度が傾き調整に用いる調整角度として決定される理由について説明する。図25の上から2段目に示すように、回転角が−α度であるときの評価特定領域ESA(−α)では、左右の目の中央部(黒目部分)の画像が、概ね対象画素特定線PLに平行な方向(すなわち評価方向線ELに直行する方向)に並ぶような配置となっている。また、このときには、左右の眉の画像も同様に、概ね評価方向線ELに直行する方向に並ぶような配置となる。従って、このときの評価方向線ELに対応した評価方向が、概ね顔の画像の傾きを表す方向であると考えられる。このときには、一般にR値が小さい目や眉の画像と一般にR値が大きい肌の部分の画像との位置関係が、対象画素特定線PLの方向に沿って両者が重なる部分の小さい位置関係となる。そのため、目や眉の画像の位置における評価値は比較的小さくなり、肌の部分の画像の位置における評価値は比較的大きくなる。従って、評価方向線ELに沿った評価値の分布は、図25に示すように、比較的ばらつきの大きい(振幅の大きい)分布となり、分散の値は大きくなる。
【0111】
一方、図25中の最上段および3段目、4段目に示すように、回転角が0度,−2α度,α度であるときの評価特定領域ESA(0),ESA(−2α),ESA(α)では、左右の目の中央部や左右の眉の画像が、評価方向線ELに直行する方向に並ばず、ずれた配置となっている。従って、このときの評価方向線ELに対応した評価方向は、顔の画像の傾きを表していはいない。このときには、目や眉の画像と肌の部分の画像との位置関係が、対象画素特定線PLの方向に沿って両者が重なる部分の大きい位置関係となる。そのため、評価方向線ELに沿った評価値の分布は、図25に示すように、比較的ばらつきの小さい(振幅の小さい)分布となり、分散の値は小さくなる。
【0112】
以上のように、評価方向が顔の画像の傾きの方向に近い場合には、評価方向線ELに沿った評価値の分散の値が大きくなり、評価方向が顔の画像の傾きの方向から遠い場合には、評価方向線ELに沿った評価値の分散の値が小さくなる。従って、評価値の分散の値が最大となるときの評価方向に対応した角度を傾き調整に用いる調整角度として決定すれば、顔領域FAの傾きが顔の画像の傾きに適合するような顔領域FAの傾き調整を実現することができる。
【0113】
なお本実施例では、評価値の分散の算出結果が、角度の範囲の臨界値、すなわち−20度または20度において最大値をとるような結果となった場合には、顔の傾きが正確に評価されていない可能性が高いと考えられるため、顔領域FAの傾き調整を行わないものとしている。
【0114】
また本実施例では、決定された調整角度が、上述した顔領域FAの位置調整の際に算出された概略傾き角RIと比較される。調整角度と概略傾き角RIとの差が所定の閾値より大きい場合には、顔領域FAの位置調整および傾き調整における評価や決定の際に何らかの誤りが発生したと考えられるため、顔領域FAの位置調整および傾き調整を行わないものとしている。
【0115】
ステップS525(図24)では、顔領域調整部230(図1)が、顔領域FAの傾き調整を行う。図27は、顔領域FAの傾き調整方法の一例を示す説明図である。顔領域FAの傾き調整は、顔領域FAを、初期評価特定領域ESA(0)の中心点CPを中心に、ステップS524において決定された調整角度だけ回転させることにより行う。図27の例では、破線で示した調整前の顔領域FAを反時計回りにα度回転させることにより、実線で示した調整後の顔領域FAが設定される。
【0116】
顔領域FAの傾き調整終了後のステップS530(図16)では、変形領域設定部240(図1)が、変形領域TAを設定する。変形領域TAは、対象画像TI上の領域であって顔形状補正のための画像変形処理の対象となる領域である。図28は、変形領域TAの設定方法の一例を示す説明図である。図28に示すように、本実施例では、変形領域TAは、顔領域FAを基準線RLと平行な方向(高さ方向)および基準線RLに直行する方向(幅方向)に伸張(または短縮)した領域として設定される。具体的には、顔領域FAの高さ方向の大きさをHf、幅方向の大きさをWfとすると、顔領域FAを、上方向にk1・Hf、下方向にk2・Hfだけ伸ばすと共に、左右にそれぞれk3・Wfだけ伸ばした領域が、変形領域TAとして設定される。なお、k1,k2,k3は、所定の係数である。
【0117】
このように変形領域TAが設定されると、顔領域FAの高さ方向の輪郭線に平行な直線である基準線RLは、変形領域TAの高さ方向の輪郭線にも平行な直線となる。また、基準線RLは、変形領域TAの幅を半分に分割する直線となる。
【0118】
図28に示すように、変形領域TAは、高さ方向に関しては、概ね顎から額までの画像を含み、幅方向に関しては、左右の頬の画像を含むような領域として設定される。すなわち、本実施例では、変形領域TAが概ねそのような範囲の画像を含む領域となるように、顔領域FAの大きさとの関係に基づき、上述の係数k1,k2,k3が予め設定されている。
【0119】
A−4.変形処理:
上述した顔形状補正処理(図4)における変形処理(ステップS600)について詳述する。図29は、変形処理の流れを示すフローチャートである。ステップS610では、変形領域分割部250(図1)が、変形領域TAを複数の小領域に分割する。図30は、変形領域TAの小領域への分割方法の一例を示す説明図である。変形領域分割部250は、変形領域TAに複数の分割点Dを配置し、分割点Dを結ぶ直線を用いて変形領域TAを複数の小領域に分割する。
【0120】
分割点Dの配置の態様(分割点Dの個数および位置)は、分割点配置パターンテーブル410(図1)により、ステップS120(図4)において設定される変形タイプと対応付けて定義されている。変形領域分割部250は、分割点配置パターンテーブル410を参照し、ステップS120において設定された変形タイプと対応付けられた態様で分割点Dを配置する。本実施例では、上述したように、変形タイプとして顔をシャープにするための変形「タイプA」(図5参照)が設定されているため、この変形タイプに対応付けられた態様で分割点Dが配置される。
【0121】
図30に示すように、分割点Dは、水平分割線Lhと垂直分割線Lvとの交点と、水平分割線Lhおよび垂直分割線Lvと変形領域TAの外枠との交点とに配置される。ここで、水平分割線Lhおよび垂直分割線Lvは、変形領域TA内に分割点Dを配置するための基準となる線である。図30に示すように、顔をシャープにするための変形タイプに対応付けられた分割点Dの配置では、基準線RLと直行する2本の水平分割線Lhと、基準線RLに平行な4本の垂直分割線Lvとが設定される。2本の水平分割線Lhを、変形領域TAの下方から順に、Lh1,Lh2と呼ぶ。また、4本の垂直分割線Lvを、変形領域TAの左から順に、Lv1,Lv2,Lv3,Lv4と呼ぶ。
【0122】
水平分割線Lh1は、変形領域TAにおいて、顎の画像より下方に配置され、水平分割線Lh2は、目の画像のすぐ下付近に配置される。また、垂直分割線Lv1およびLv4は、頬のラインの画像の外側に配置され、垂直分割線Lv2およびLv3は、目尻の画像の外側に配置される。なお、水平分割線Lhおよび垂直分割線Lvの配置は、水平分割線Lhおよび垂直分割線Lvと画像との位置関係が結果的に上述の位置関係となるように予め設定された変形領域TAの大きさとの対応関係に従い実行される。
【0123】
上述した水平分割線Lhと垂直分割線Lvとの配置に従い、水平分割線Lhと垂直分割線Lvとの交点と、水平分割線Lhおよび垂直分割線Lvと変形領域TAの外枠との交点とに、分割点Dが配置される。図30に示すように、水平分割線Lhi(i=1または2)上に位置する分割点Dを、左から順に、D0i,D1i,D2i,D3i,D4i,D5iと呼ぶものとする。例えば、水平分割線Lh1上に位置する分割点Dは、D01,D11,D21,D31,D41,D51と呼ばれる。同様に、垂直分割線Lvj(j=1,2,3,4のいずれか)上に位置する分割点Dを、下から順に、Dj0,Dj1,Dj2,Dj3と呼ぶものとする。例えば、垂直分割線Lv1上に位置する分割点Dは、D10,D11,D12,D13と呼ばれる。
【0124】
なお、図30に示すように、本実施例における分割点Dの配置は、基準線RLに対して対称の配置となっている。
【0125】
変形領域分割部250は、配置された分割点Dを結ぶ直線(すなわち水平分割線Lhおよび垂直分割線Lv)により、変形領域TAを複数の小領域に分割する。本実施例では、図30に示すように、変形領域TAが15個の矩形の小領域に分割される。
【0126】
なお本実施例では、分割点Dの配置は、水平分割線Lhおよび垂直分割線Lvの本数および位置により定まるため、分割点配置パターンテーブル410は水平分割線Lhおよび垂直分割線Lvの本数および位置を定義していると言い換えることも可能である。
【0127】
ステップS620(図29)では、分割領域変形部260(図1)が、対象画像TIの変形領域TAを対象とした画像の変形処理を行う。分割領域変形部260による変形処理は、ステップS610で変形領域TA内に配置された分割点Dの位置を移動して、小領域を変形することにより行われる。
【0128】
変形処理のための各分割点Dの位置の移動態様(移動方向および移動距離)は、分割点移動テーブル420(図1)により、ステップS120(図4)において設定される変形タイプと変形の度合いとの組み合わせに対応付けて、予め定められている。分割領域変形部260は、分割点移動テーブル420を参照し、ステップS120において設定された変形タイプと変形の度合いとの組み合わせに対応付けられた移動方向および移動距離で、分割点Dの位置を移動する。
【0129】
変形タイプとして顔をシャープにするための変形「タイプA」(図5参照)が設定され、変形度合いとして程度「中」の度合いが設定されている場合には、これらの変形タイプおよび変形度合いの組み合わせに対応付けられた移動方向および移動距離で、分割点Dの位置が移動されることとなる。
【0130】
また、変形度合いとして「自動」が選択されている場合には、分割点Dの移動方向および移動距離が、変形量設定部290によって設定された変形量DQに基づいて決定される。
【0131】
図31は、分割点移動テーブル420の内容の一例を示す説明図である。また図32は、分割点移動テーブル420に従った分割点Dの位置の移動の一例を示す説明図である。図31には、分割点移動テーブル420により定義された分割点Dの位置の移動態様の内、顔をシャープにするための変形タイプと変形度合い「自動」との組み合わせに対応付けられた移動態様を示している。図31に示すように、分割点移動テーブル420には、各分割点Dについて、基準線RLと直交する方向(H方向)および基準線RLと平行な方向(V方向)に沿った移動量が示されている。なお、分割点移動テーブル420に示された移動量の単位は、対象画像TIの画素ピッチPPである。また、テーブル中の移動量DQpは、変形量設定部290(図1)によって決定される。図4のステップS590では、変形量設定部290は、設定した変形量DQを画素ピッチに換算することによって、移動量DQpを算出する。また、H方向については、向かって右側への移動量が正の値として表され、向かって左側への移動量が負の値として表され、V方向については、上方への移動量が正の値として表され、下方への移動量が負の値として表される。例えば、分割点D11は、H方向に沿って右側に画素ピッチPPのDQp倍の距離だけ移動され、V方向に沿って上方に画素ピッチPPの2*DQp倍の距離だけ移動される。また、例えば分割点D22は、H方向およびV方向共に移動量がゼロであるため、移動されない。なお、変形度合いとして「強(S)」、「中(M)」、「弱(W)」のいずれかが選択された場合には、移動量DQpとして、変形量設定部290によって調整された値の代わりに、各変形度合いに対応付けて予め定められた値が利用される。
【0132】
なお、本実施例では、変形領域TAの内外の画像間の境界が不自然とならないように、変形領域TAの外枠上に位置する分割点D(例えば図30に示す分割点D10等)の位置は移動されないものとしている。従って、図31に示した分割点移動テーブル420には、変形領域TAの外枠上に位置する分割点Dについての移動態様は定義されていない。
【0133】
図32では、移動前の分割点Dは白抜きの丸で、移動後の分割点Dや位置の移動の無い分割点Dは黒丸で示されている。また、移動後の分割点Dは分割点D’と呼ばれるものとする。例えば分割点D11の位置は、図32において右上方向に移動され、分割点D’11となる。
【0134】
なお、本実施例では、基準線RLに対して対称な位置関係にある2つの分割点Dの組み合わせ(例えば分割点D11とD41との組み合わせ)のすべてが、分割点Dの移動後も、基準線RLに対して対称な位置関係を維持するように、移動態様が定められている。
【0135】
分割領域変形部260は、変形領域TAを構成する各小領域について、分割点Dの位置移動前の状態における小領域の画像が、分割点Dの位置移動により新たに定義された小領域の画像となるように、画像の変形処理を行う。例えば、図32において、分割点D11,D21,D22,D12を頂点とする小領域(ハッチングを付して示す小領域)の画像は、分割点D’11,D’21,D22,D’12を頂点とする小領域の画像に変形される。
【0136】
図33は、分割領域変形部260による画像の変形処理方法の概念を示す説明図である。図33では、分割点Dを黒丸で示している。図33では、説明を簡略化するために、4つの小領域について、左側に分割点Dの位置移動前の状態を、右側に分割点Dの位置移動後の状態を、それぞれ示している。図33の例では、中央の分割点Daが分割点Da’の位置に移動され、その他の分割点Dの位置は移動されない。これにより、例えば、分割点Dの移動前の分割点Da,Db,Dc,Ddを頂点とする矩形の小領域(以下「変形前注目小領域BSA」とも呼ぶ)の画像は、分割点Da’,Db,Dc,Ddを頂点とする矩形の小領域(以下「変形後注目小領域ASA」とも呼ぶ)の画像に変形される。
【0137】
本実施例では、矩形の小領域を小領域の重心CGを用いて4つの三角形領域に分割し、三角形領域単位で画像の変形処理を行っている。図33の例では、変形前注目小領域BSAが、変形前注目小領域BSAの重心CGを頂点の1つとする4つの三角形領域に分割される。同様に、変形後注目小領域ASAが、変形後注目小領域ASAの重心CG’を頂点の1つとする4つの三角形領域に分割される。そして、分割点Daの移動前後のそれぞれの状態において対応する三角形領域毎に、画像の変形処理が行われる。例えば、変形前注目小領域BSA中の分割点Da,Ddおよび重心CGを頂点とする三角形領域の画像が、変形後注目小領域ASA中の分割点Da’,Ddおよび重心CG’を頂点とする三角形領域の画像に変形される。
【0138】
図34は、三角形領域における画像の変形処理方法の概念を示す説明図である。図34の例では、点s,t,uを頂点とする三角形領域stuの画像が、点s’,t’,u’を頂点とする三角形領域s’t’u’の画像に変形される。画像の変形は、変形後の三角形領域s’t’u’の画像中のある画素の位置が、変形前の三角形領域stuの画像中のどの位置に相当するかを算出し、算出された位置における変形前の画像における画素値を変形後の画像の画素値とすることにより行う。
【0139】
例えば、図34において、変形後の三角形領域s’t’u’の画像中の注目画素p’の位置は、変形前の三角形領域stuの画像中の位置pに相当するものとする。位置pの算出は、以下のように行う。まず、注目画素p’の位置を、下記の式(6)のようにベクトルs’t’とベクトルs’u’との和で表現するための係数m1およびm2を算出する。
【0140】
【数6】
【0141】
次に、算出された係数m1およびm2を用いて、下記の式(7)により、変形前の三角形領域stuにおけるベクトルstとベクトルsuとの和を算出することにより、位置pが求まる。
【0142】
【数7】
【0143】
変形前の三角形領域stuにおける位置pが、変形前の画像の画素中心位置に一致した場合には、当該画素の画素値が変形後の画像の画素値とされる。一方、変形前の三角形領域stuにおける位置pが、変形前の画像の画素中心位置からはずれた位置となった場合には、位置pの周囲の画素の画素値を用いたバイキュービック等の補間演算により、位置pにおける画素値を算出し、算出された画素値が変形後の画像の画素値とされる。
【0144】
変形後の三角形領域s’t’u’の画像中の各画素について上述のように画素値を算出することにより、三角形領域stuの画像から三角形領域s’t’u’の画像への画像変形処理を行うことができる。分割領域変形部260は、図32に示した変形領域TAを構成する各小領域について、上述したように三角形領域を定義して変形処理を行い、変形領域TAにおける画像変形処理を行う。
【0145】
ここで、変形タイプとして顔をシャープにするための変形「タイプA」(図5参照)が設定され、変形度合いとして「自動」が設定された場合を例に取り、顔形状補正の態様についてより詳細に説明する。図35は、この場合における顔形状補正の態様を示す説明図である。図35には、変形領域TAを構成する各小領域の変形態様のイメージを矢印により示している。
【0146】
図35の例に示す顔形状補正では、基準線RLと平行な方向(V方向)に関し、水平分割線Lh1上に配置された分割点D(D11,D21,D31,D41)の位置は上方に移動される一方、水平分割線Lh2上に配置された分割点D(D12,D22,D32,D42)の位置は移動されない(図31参照)。従って、水平分割線Lh1と水平分割線Lh2との間に位置する画像は、V方向に関して縮小される。上述したように、水平分割線Lh1は顎の画像より下方に配置され、水平分割線Lh2は目の画像のすぐ下付近に配置されるため、この顔形状補正では、顔の画像の内、顎から目の下にかけての部分の画像がV方向に縮小されることとなる。この結果、画像中の顎のラインは上方に移動する。
【0147】
他方、基準線RLと直交する方向(H方向)に関しては、垂直分割線Lv1上に配置された分割点D(D11,D12)の位置は右方向に移動され、垂直分割線Lv4上に配置された分割点D(D41,D42)の位置は左方向に移動される(図31参照)。さらに、垂直分割線Lv2上に配置された2つの分割点Dの内、水平分割線Lh1上に配置された分割点D(D21)の位置は右方向に移動され、垂直分割線Lv3上に配置された2つの分割点Dの内、水平分割線Lh1上に配置された分割点D(D31)の位置は左方向に移動される(図31参照)。従って、垂直分割線Lv1より左側に位置する画像は、H方向に関して右側に拡大され、垂直分割線Lv4より右側に位置する画像は、左側に拡大される。また、垂直分割線Lv1と垂直分割線Lv2との間に位置する画像は、H方向に関して縮小または右側に移動され、垂直分割線Lv3と垂直分割線Lv4との間に位置する画像は、H方向に関して縮小または左側に移動される。さらに、垂直分割線Lv2と垂直分割線Lv3との間に位置する画像は、水平分割線Lh1の位置を中心にH方向に関して縮小される。
【0148】
上述したように、垂直分割線Lv1およびLv4は、頬のラインの画像の外側に配置され、垂直分割線Lv2およびLv3は、目尻の画像の外側に配置される。そのため、図35の例における顔形状補正では、顔の画像の内、両目尻より外側の部分の画像が全体的にH方向に縮小される。特に顎付近において縮小率が高くなる。この結果、画像中の顔の形状は、全体的に幅方向に細くなる。
【0149】
上述したH方向およびV方向の変形態様を総合すると、図35の例に示した顔形状補正により、対象画像TI中の顔の形状がシャープになる。なお、顔の形状がシャープになるとは、いわゆる「小顔」になると表現することもできる。
【0150】
なお、図35に示す分割点D22,D32,D33,D23を頂点とする小領域(ハッチングを付した領域)は、上述した水平分割線Lh2や垂直分割線Lv2およびLv3の配置方法によると、両目の画像を含む領域となる。図31に示すように、分割点D22およびD32はH方向にもV方向にも移動されないため、この両目の画像を含む小領域は変形されない。このように図35の例では、両目の画像を含む小領域については変形しないこととし、顔形状補正後の画像がより自然で好ましいものとなるようにしている。
【0151】
A−5.他の変形処理:
図36は、変形処理の他の実施例を示す概略図である。図10に示す変形処理とは異なり、図36の例では、対象画像TI上の一部の変形領域が変形される代わりに、対象画像TIの全体のアスペクト比が変更される。
【0152】
図36(a)は、変形前の対象画像TIを示し、図36(b)は変形後の画像TIdを示している。また、図中には、互いに直交する2つの方向Dr1、Dr2が示されている。第1方向Dr1は、矩形画像TI、TIdの短辺と平行な方向を示し、第2方向Dr2は、矩形画像TI、TIdの長辺と平行な方向を示している。図36の例では、顔の幅方向は、第2方向Dr2とほぼ一致している。
【0153】
図36の例では、第1方向Dr1に沿った変形は実行されずに、第2方向Dr2に沿った変形(圧縮)が実行される。この変形によって、画像の全体が、第2方向Dr2に沿って圧縮される。すなわち、対象画像TI上の被写体の幅も狭くなる。その結果、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。
【0154】
この変形では、変形済画像TIdの第2方向Dr2の大きさ(幅IWd)が、変形前の大きさ(幅IW)と比べて、変形量DQの2倍だけ小さくなる。すなわち、変形済画像TIdの第2方向Dr2方向の画素数が、変形前の画素数と比べて、少なくなる。ここで、変形済画像TIdの画素値(各画素の階調値)の決定方法としては、種々の方法を採用可能である。例えば、対象画像TIの画素値を補間することによって、変形済画像TIdの画素値を決定してもよい。
【0155】
変形量DQとしては、上述の実施例で説明した任意の変形量を採用可能である。例えば、被写体距離Sdに基づいて決定された変形量DQを採用してもよい。
【0156】
なお、2つの方向Dr1、Dr2から圧縮すべき方向を、被写体の方向の検出結果に基づいて選択することが好ましい。例えば、顔領域検出部220(図1)は、図15、図36(a)に示すように、顔領域FAの高さ方向(上下方向)を示す基準線RLを検出可能である。そこで、2つの方向Dr1、Dr2の内の、この基準線RLとのなす角度が大きい方の方向を選択することが好ましい(図36の例では、第2方向Dr2)。こうすば、被写体の幅(水平方向の大きさ)を小さくすることができる。
【0157】
なお、対象画像TIの全体のアスペクト比を変更する変形処理を採用する場合には、顔形状補正部として、図1に示すような顔形状補正部200を採用可能である。ただし、変形処理部から、変形領域分割部250と分割領域変形部260とを省略することができる。その代わりに、変形処理部は、対象画像TIのアスペクト比を変更する機能を有していればよい。また、顔領域調整部230と変形領域設定部240とを省略可能である。顔領域検出部220は、被写体の方向を検出するために利用され得る。ただし、顔領域検出部220を省略してもよい。
【0158】
ここで、被写体の幅方向に沿って対象画像TIを圧縮する変形処理の代わりに、被写体の高さ方向に沿って対象画像TIを伸張する変形処理を採用してもよい。この場合も、被写体の高さに対する幅の比率が小さくなるので、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。
【0159】
B.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0160】
B1.変形例1:
上記実施例では、頭部のサイズを設定するためのユーザインターフェース(図6)を介したユーザの指示に応じて頭部サイズの設定処理(図4のステップS124)が行われるとしているが、必ずしもユーザの指示に応じて頭部サイズの設定処理が行われる必要は無い。例えば、図6に示したユーザインターフェースを用いることなく、常に頭部サイズ情報430に規定された頭部サイズの標準値が、処理に使用される頭部サイズの値として設定されるとしてもよい。
【0161】
また、頭部のサイズを設定するためのユーザインターフェースとして、図6に示したものとは異なるユーザインターフェースが用いられるとしてもよい。例えば、幅方向サイズWhおよび奥行き方向サイズDhの入力欄の代わりに、頭部のサイズに関する他の情報を入力する入力欄が含まれるユーザインターフェースが用いられるとしてもよい。このような他の情報として、例えば、頭部の水平断面を楕円形とした場合の当該楕円の扁平率を採用することが考えられる。この場合には、扁平率に対応した頭部サイズの値が頭部サイズ情報430に規定されており、ユーザにより入力された扁平率に対応した頭部サイズの値が、処理に使用される値として設定されるとしてもよい。
【0162】
上記他の情報として、他にも例えば、被写体の年齢(または年齢層)や被写体の人種等を採用することが考えられる。このような場合にも、被写体の年齢(または年齢層)や被写体の人種(またはそれらの組み合わせ)に対応した頭部サイズの値が頭部サイズ情報430に規定されており、ユーザにより入力された被写体の年齢(または年齢層)や被写体の人種に対応した頭部サイズの値が、処理に使用される値として設定されるとしてもよい。このとき、被写体の年齢(または年齢層)や人種は必ずしもユーザにより入力される必要はなく、例えば対象画像TIの画像解析により、被写体の年齢(または年齢層)や人種を推定し、推定された年齢(または年齢層)や人種に対応付けられた頭部サイズの標準値が、処理に使用される値として設定されるとしてもよい。
【0163】
B2.変形例2:
上記実施例では、変形量DQの設定に用いられる距離d(図11)として、図4のステップS570で推定(設定)された被写体距離Sdが採用されているが、必ずしも距離dとして被写体距離Sdを用いる必要はない。距離dとして、ユーザにより指定された値や予め設定された値(固定値)が採用されるとしてもよい。このような場合には、ステップS570における被写体距離Sdの設定(推定)を行う必要はない。
【0164】
B3.変形例3:
上記実施例では、特定種類の被写体として人物の頭部が採用され、人物の頭部に含まれる顔の形状を補正する画像変形処理が行われている。しかし、特定種類の被写体は人物の頭部に限られず、他の被写体を特定種類の被写体として採用可能である。特定種類の被写体は、略楕円形(円形を含む)の水平断面を有する被写体であることが好ましく、例えば、ボールや略円柱形状の建築物等も特定種類の被写体として採用可能である。また、対象画像から被写体を検出する方法としては、任意の方法を採用可能である。
【0165】
B4.変形例4:
上記実施例では、特定種類の被写体としての人物の頭部の1つの断面(図11の頭部楕円HE)においてカメラCMの見える範囲(図11の第1幅W1)と目の見える範囲(図11の第2幅W2)との差を考慮した変形量DQの設定が行われていた。しかし、人物の頭部の複数の断面において同様に考慮した変形量DQの設定が行われるとしてもよい。図37は、変形例における顔の画像と実物の顔との印象の違いを示す説明図である。図37に示した変形例では、人物の頭部Hは楕円体または球体としてモデル化されている。図37において、右目REと左目LEとを結ぶ直線OLと頭部Hの中心CPとを含む平面における頭部Hの断面S0が、図11における頭部楕円HEに相当する。断面S0においては、図11に示した実施例と同様に、第1幅W1および第2幅W2が算出される。
【0166】
図37に示した変形例では、さらに、直線OLを通り、断面S0とのなす角がθ1およびθ2である平面における頭部Hの断面S1およびS2が考慮される。すなわち、断面S1および断面S2においても、同様に、第1幅W1および第2幅W2が算出される。なお、第1幅W1および第2幅W2の算出に用いる断面S1および断面S2の中心と中点MPとの距離や、断面S1および断面S2の径は、角度θ1およびθ2に応じて幾何的に算出することができる。図37に示した変形例では、頭部Hの顔側表面における断面S1および断面S2の位置(高さ)において、断面S1および断面S2において算出された第1幅W1および第2幅W2を用いて変形量DQが算出される。すなわち、顔の高さ方向に沿って変形量DQが変化しうる。図37に示した変形例では、頭部Hの水平断面形状だけでなく、垂直断面形状をも考慮された変形量DQを設定することが可能となるため、顔の画像の観察によって得られる印象を実物の顔の観察によって得られる印象により近づける画像変形処理を実現することができる。
【0167】
B5.変形例5:
上記実施例では、対象画像TIから1つの顔領域FAのみが検出された場合について説明したが、対象画像TIから複数の顔領域FAが検出された場合には、各顔領域FAについて顔形状補正処理等の画像処理を行うとしてもよい。
【0168】
また、上記実施例における顔領域FAの検出(図4のステップS130)、変形領域TAの設定(図4のステップS500)、変形処理(図4のステップS600)等の方法はあくまで一例であり、これらの処理を他の方法により実行することも可能である。
【0169】
B6.変形例6:
上記実施例では、図9に示すように、水平方向の長さ(対象画像TIの全体の幅Wwi、顔領域FAの幅Wfi、人物Pの顔の幅Wf、結像面ISの幅Wx)を用いて被写体距離Sdを推定しているが、垂直方向の長さ、すなわち、対象画像TIの高さ、顔領域FAの高さ、人物Pの顔の高さ、結像面ISの高さを用いて被写体距離Sdを推定することも可能である。
【0170】
また、上記実施例では、対象画像TIの大きさに対する被写体の画像の大きさを特定するデータとして、対象画像TIの全体の幅Wwiと顔領域FAの幅Wfiとを用いているが、代わりに対象画像TIの全体面積(または画素数)に対する顔領域FAの面積(または画素数)を用いることも可能である。
【0171】
B7.変形例7:
上記実施例では、変形領域TAを矩形の領域として設定しているが、変形領域TAの形状は、他の形状(例えば、楕円や菱形)であってもよい。
【0172】
B8.変形例8:
上記実施例では、画像処理装置としてのプリンタ100による顔形状補正印刷処理(図3)を説明したが、顔形状補正印刷処理は例えば、顔形状補正と補正画像の表示(ステップS100,S200)がパーソナルコンピュータにより実行され、印刷処理(ステップS300)のみがプリンタにより実行されるものとしてもよい。また、プリンタ100はインクジェットプリンタに限らず、他の方式のプリンタ、例えばレーザプリンタや昇華型プリンタであるとしてもよい。
【0173】
また、変形済画像データは、印刷に限らず、任意の用途に利用可能である。例えば、表示装置(例えば、プロジェクタ)による表示を採用してもよい。
【0174】
B9.変形例9:
上記実施例において、変形処理としては種々の処理を採用可能である。例えば、変形領域TA内の画像を、被写体の高さ方向には変形させずに、被写体の水平方向にのみ変形させてもよい。
【0175】
いずれの場合も、変形処理としては、被写体の少なくとも一部分の対象画像TI上における少なくとも一方向(以下「短縮方向」と呼ぶ)の大きさが小さくなるような変形処理を採用することが好ましい。こうすれば、観察者から見た横方向に短縮方向が向くような角度で画像と実物とを観察した場合に、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。ここで、被写体の輪郭によって示される大きさを、短縮方向に小さくすることが好ましい。すなわち、輪郭で囲まれる領域の短縮方向の長さが小さくなることが好ましい。このように、変形処理によって、被写体の少なくとも輪郭が変形されることが好ましい。こうすれば、画像の観察によって得られる被写体の印象を、適切に、実物の観察によって得られる印象に近づけることができる。
【0176】
なお、短縮方向は、対象画像TI上の任意の方向に設定可能である。例えば、所定の方向(例えば、対象画像TIの長辺と平行な方向)を短縮方向として採用してもよい。ただし、短縮方向と被写体の幅方向とがなす角度が30度以下であることが好ましく、この角度が15度以下であることが特に好ましく、短縮方向が被写体の幅方向に向けられることが最も好ましい。こうすれば、多くの場合において、自然で好ましい変形を実行することができる。
【0177】
ここで、被写体の幅方向に近くなるように短縮方向を決定する方法としては、種々の方法を採用可能である。例えば、変形処理部は、被写体の幅方向と関連のある情報を利用することによって、短縮方向を決定してもよい。被写体の幅方向と関連のある情報としては、種々の情報を採用可能である。例えば、被写体の方向の検出結果を採用可能である。上述の実施例では、顔領域検出部220は、対象画像TIを解析することによって被写体(この場合は顔)の方向を検出する。また、撮像装置の中には、撮像時の地面に対する鉛直方向(重力方向)を示す鉛直情報を、履歴情報として画像ファイルに格納するものがある。このような鉛直情報を利用可能な場合には、鉛直情報に基づいて対象画像TI上の重力方向を特定することができ、その重力方向と垂直な方向を被写体の幅方向として採用することができる。
【0178】
また、変形処理部は、ユーザの指示に従って短縮方向を決定してもよい。例えば、変形処理部は、被写体の幅方向を示す指示を受け入れ、受け入れた指示に従って短縮方向を決定してもよい。
【0179】
また、被写体の幅方向が、対象画像TI上の所定の方向と一致することが予め決まっている場合がある。例えば、一般的なユーザによって撮像された対象画像TIでは、被写体の幅方向は、対象画像TIの長辺と平行であることが多い。このような場合には、変形処理部は、対象画像TI上の所定の方向(この場合は、長辺と平行な方向)を、被写体の幅方向として採用してもよい。すなわち、対象画像TI上の所定の方向を短縮方向として採用してもよい。
【0180】
以上の説明は、被写体が人物の顔とは異なる場合についても、同様に適用可能である。また、被写体の変形される部分は、任意に設定可能である。
【0181】
B10.変形例10:
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、図1の変形領域分割部250と分割領域変形部260との全体の機能を、論理回路を有するハードウェア回路によって実現してもよい。
【0182】
また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータプログラム)は、コンピュータ読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
【0183】
B11.変形例11:
[変形処理を行うための手段]
変形処理を行うために、画像処理装置は、画像の変形を行う画像処理装置であって、対象画像上の少なくとも一部の領域を変形領域として設定する変形領域設定部と、前記変形領域内に複数の分割点を配置し、前記分割点同士を結ぶ直線を用いて前記変形領域を複数の小領域に分割する変形領域分割部と、少なくとも1つの前記分割点の位置を移動して前記小領域を変形することにより前記変形領域内の画像の変形を行う変形処理部と、を備えるものとしてもよい。
【0184】
この画像処理装置では、対象画像上に設定された変形領域内に複数の分割点が配置され、分割点同士を結ぶ直線を用いて変形領域が複数の小領域に分割される。また、分割点の位置が移動され、小領域が変形されることにより変形領域内の画像の変形処理が実行される。このように、この画像処理装置では、変形領域内に分割点を配置して、配置された分割点を移動するだけで画像変形を行うことができ、多様な変形態様に対応した画像変形の画像処理を、容易に、かつ効率的に実現することができる。
【0185】
上記画像処理装置において、さらに、複数の所定の変形タイプの内の1つを選択して前記変形領域内の画像の変形に適用する変形タイプとして設定する変形態様設定部を備え、前記変形領域分割部は、前記設定された変形タイプに対応付けられた所定の配置パターンに従い前記複数の分割点を配置するとしてもよい。
【0186】
このようにすれば、例えば顔をシャープする変形タイプや目を大きくする変形タイプ等、それぞれの変形タイプに適した分割点の配置、すなわち変形領域の分割が行われるため、各変形タイプに対応した画像変形のための画像処理のさらなる容易化を実現することができる。
【0187】
また、上記画像処理装置において、前記変形態様設定部は、複数の所定の変形度合いの内の1つを選択して前記変形領域内の画像の変形に適用する変形度合いとして設定し、前記変形処理部は、前記設定された変形タイプと変形度合いとの組み合わせに対応付けられた所定の移動方向および移動量に従い前記分割点の位置を移動するとしてもよい。
【0188】
このようにすれば、変形タイプと変形度合いとが設定されれば、それらの組み合わせに応じた画像変形が実行されるため、画像変形のための画像処理のさらなる容易化を実現することができる。
【0189】
また、上記画像処理装置において、前記変形態様設定部は、少なくとも1つの前記分割点について、前記分割点の移動方向および移動量に関するユーザ指定を取得する指定取得部を含み、前記変形処理部は、前記取得されたユーザ指定に従い前記分割点の位置を移動するとしてもよい。
【0190】
このようにすれば、よりユーザの希望に近い態様での画像変形のための画像処理を容易に実現することができる。
【0191】
また、上記画像処理装置において、前記変形領域設定部は、前記変形領域に顔の少なくとも一部の画像が含まれるように前記変形領域を設定するとしてもよい。
【0192】
このようにすれば、顔の画像を対象として、多様な変形態様に対応した画像変形のための画像処理を、容易に、かつ効率的に実現することができる。
【0193】
また、上記画像処理装置において、前記変形領域分割部は、少なくとも1組の前記分割点が所定の基準線に対して互いに対称の位置に配置されるように、前記複数の分割点を配置し、前記変形処理部は、前記少なくとも1組の分割点を、前記所定の基準線に対して互いに対称である位置関係を維持したまま移動するとしてもよい。
【0194】
このようにすれば、所定の基準線に対して左右対称な画像変形が行われることとなり、より自然で好ましい顔画像の画像変形のための画像処理を実現することができる。
【0195】
また、上記画像処理装置において、前記変形処理部は、少なくとも1つの前記小領域について、変形を行わないとしてもよい。
【0196】
このようにすれば、顔の印象を大きく変更することなく所望の画像変形を行うことが可能となり、より自然で好ましい顔画像の画像変形のための画像処理を実現することができる。
【0197】
また、上記画像処理装置において、前記変形処理部は、目の画像を含む前記小領域について、変形を行わないとしてもよい。
【0198】
このようにすれば、目の画像を含む小領域については変形を行わないものとすることにより、より自然で好ましい顔画像の画像変形のための画像処理を実現することができる。
【0199】
また、上記画像処理装置において、さらに、前記対象画像上の顔の画像を表す顔領域を検出する顔領域検出部を備え、前記変形領域設定部は、検出された前記顔領域に基づき前記変形領域を設定するとしてもよい。
【0200】
このようにすれば、対象画像から検出された顔領域に基づき設定された変形領域の画像変形について、多様な変形態様に対応した画像変形のための画像処理を、容易に、かつ効率的に実現することができる。
【0201】
また、上記画像処理装置において、さらに、前記変形領域内の画像の変形が行われた前記対象画像を印刷する印刷部を備えるとしてもよい。
【0202】
このようにすれば、多様な変形態様に対応した画像変形後の画像の印刷を、容易に、かつ効率的に実現することができる。
【図面の簡単な説明】
【0203】
【図1】本発明の実施例における画像処理装置としてのプリンタ100の構成を概略的に示す説明図である。
【図2】画像の一覧表示を含むユーザインターフェースの一例を示す説明図である。
【図3】本実施例のプリンタ100による顔形状補正印刷処理の流れを示すフローチャートである。
【図4】本実施例における顔形状補正処理の流れを示すフローチャートである。
【図5】画像変形のタイプおよび度合いを設定するためのユーザインターフェースの一例を示す説明図である。
【図6】頭部のサイズを設定するためのユーザインターフェースの一例を示す説明図である。
【図7】顔領域FAの検出結果の一例を示す説明図である。
【図8】ステップS500における変形領域TAの設定結果を示す説明図である。
【図9】被写体距離Sdの推定方法を示す説明図である。
【図10】変形領域TAの画像を対象とした変形処理が行われた結果を示す説明図である。
【図11】顔の画像と実物の顔との印象の違いを示す説明図である。
【図12】半径A半径B距離dと比率Riとの関係を示すグラフである。
【図13】半径A半径B距離dと変形量DQとの関係を示すグラフである。
【図14】顔形状補正後の対象画像TIが表示された表示部150の状態の一例を示す説明図である。
【図15】顔領域FAの検出結果の一例を示す説明図である。
【図16】変形領域設定処理の流れを示すフローチャートである。
【図17】顔領域FAの高さ方向の位置調整処理の流れを示すフローチャートである。
【図18】特定領域SAの一例を示す説明図である。
【図19】評価値の算出方法の一例を示す説明図である。
【図20】評価対象画素TPの選択方法の一例を示す説明図である。
【図21】高さ基準点Rhの決定方法の一例を示す説明図である。
【図22】概略傾き角RIの算出方法の一例を示す説明図である。
【図23】顔領域FAの高さ方向の位置調整方法の一例を示す説明図である。
【図24】本実施例における顔領域FAの傾き調整処理の流れを示すフローチャートである。
【図25】顔領域FAの傾き調整のための評価値の算出方法の一例を示す説明図である。
【図26】各評価方向についての評価値の分散の算出結果の一例を示す説明図である。
【図27】顔領域FAの傾き調整方法の一例を示す説明図である。
【図28】変形領域TAの設定方法の一例を示す説明図である。
【図29】変形処理の流れを示すフローチャートである。
【図30】変形領域TAの小領域への分割方法の一例を示す説明図である。
【図31】分割点移動テーブル420の内容の一例を示す説明図である。
【図32】分割点移動テーブル420に従った分割点Dの位置の移動の一例を示す説明図である。
【図33】分割領域変形部260による画像の変形処理方法の概念を示す説明図である。
【図34】三角形領域における画像の変形処理方法の概念を示す説明図である。
【図35】顔形状補正の態様を示す説明図である。
【図36】変形処理の他の実施例を示す概略図である。
【図37】変形例における顔の画像と実物の顔との印象の違いを示す説明図である。
【符号の説明】
【0204】
100…プリンタ
110…CPU
120…内部メモリ
140…操作部
150…表示部
160…プリンタエンジン
170…カードインターフェース
172…カードスロット
200…顔形状補正部
210…変形態様設定部
214…サイズ設定部
220…顔領域検出部
230…顔領域調整部
240…変形領域設定部
250…変形領域分割部
260…分割領域変形部
290…変形量設定部
310…表示処理部
320…印刷処理部
330…被写体距離設定部
340…情報取得部
410…分割点配置パターンテーブル
420…分割点移動テーブル
430…頭部サイズ情報
【技術分野】
【0001】
本発明は、対象画像上の少なくとも一部の領域を変形する画像処理技術に関する。
【背景技術】
【0002】
デジタル画像を対象に、画像を変形するための画像処理技術が知られている(例えば特許文献1)。特許文献1には、顔の画像上の一部の領域(頬の画像を表す領域)を補正領域として設定し、補正領域を所定のパターンに従い複数の小領域に分割し、小領域毎に設定された倍率で画像を拡大または縮小することにより、顔の画像の形状を変形する画像処理が開示されている。
【0003】
【特許文献1】特開2004−318204
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、撮像装置(例えばデジタルスチルカメラ)による撮像によって生成された顔の画像を観察して得られる印象は、実際の顔を観察して得られる印象とは異なる場合があった。このような場合に、顔の画像の印象を実際の顔の印象に近づけるように、顔の画像の形状を変形する画像処理を行うことが考えられる。しかし、顔の画像の印象は、様々な要因に応じて種々に変化しうると考えられ、一律に画像の変形を行っても望ましい画像が得られない可能性があった。
【0005】
なお、このような問題は、被写体としての顔の画像を変形させる場合に限らず、特定種類の被写体の画像を変形させる画像処理に共通する問題であった。
【0006】
本発明は、上記の課題を解決するためになされたものであり、好ましい結果が得られる画像変形を可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題の少なくとも一部を解決するために、本発明は、以下の形態または適用例として実現することが可能である。
【0008】
[適用例1]画像処理装置であって、
撮像によって生成された対象画像における特定種類の被写体の幅方向および奥行き方向のサイズを設定するサイズ設定部と、
前記対象画像における前記特定種類の被写体の画像を含む領域内の画像を、設定された前記サイズに応じた変形の度合いで変形する変形処理部と、を備える、画像処理装置。
【0009】
この画像処理装置では、特定種類の被写体の幅方向および奥行き方向のサイズが設定され、設定されたサイズに応じた変形の度合いで、対象画像における特定種類の被写体の画像を含む領域内の画像が変形される。そのため、特定種類の被写体の幅方向および奥行き方向のサイズを要因とする画像の印象と実物の印象との差異を少なくするような画像の変形を実現可能である。従って、この画像処理装置では、好ましい結果が得られる画像変形を行うことができる。
【0010】
[適用例2]適用例1に記載の画像処理装置であって、
前記変形処理部は、少なくとも前記特定種類の被写体の幅方向に沿って画像が変形されるように、画像の変形を行う、画像処理装置。
【0011】
この画像処理装置では、特定種類の被写体の幅方向および奥行き方向のサイズを要因とする画像の幅方向の大きさの印象と実物の幅方向の大きさの印象との差異を少なくするような画像の変形を実現可能である。
【0012】
[適用例3]適用例1または適用例2に記載の画像処理装置であって、
前記変形処理部は、前記特定種類の被写体の幅方向と奥行き方向との一方のサイズが一定の場合に、前記幅方向のサイズに対する前記奥行き方向のサイズの比が大きいほど前記変形の度合いが大きくなるように、画像の変形を行う、画像処理装置。
【0013】
この画像処理装置では、幅方向のサイズに対する奥行き方向のサイズの比が大きいほど画像の印象と実物の印象との差異が大きく感じられる傾向にある特定種類の被写体について、画像の印象と実物の印象との差異を少なくするような画像の変形を実現可能である。
【0014】
[適用例4]適用例3に記載の画像処理装置であって、さらに、
前記対象画像生成時の撮像装置から前記特定種類の被写体までの距離である被写体距離を設定する距離設定部を備え、
前記変形処理部は、前記特定種類の被写体の幅方向および奥行き方向のサイズが一定の場合に、設定された前記被写体距離が小さいほど前記変形の度合いが大きくなるように、画像の変形を行う、画像処理装置。
【0015】
この画像処理装置では、被写体距離が小さいほど画像の印象と実物の印象との差異が大きく感じられる傾向にある特定種類の被写体について、画像の印象と実物の印象との差異を少なくするような画像の変形を実現可能である。
【0016】
[適用例5]適用例1ないし適用例4のいずれかに記載の画像処理装置であって、さらに、
前記対象画像における前記特定種類の被写体の画像を検出する被写体検出部を備える、画像処理装置。
【0017】
この画像処理装置では、対象画像から検出された特定種類の被写体について、画像の印象と実物の印象との差異を少なくするような画像の変形を実現可能である。
【0018】
[適用例6]適用例1ないし適用例5のいずれかに記載の画像処理装置であって、
前記特定種類の被写体は、略楕円形状の水平断面を有する被写体である、画像処理装置。
【0019】
この画像処理装置では、幅方向および奥行き方向のサイズを要因とする画像の印象と実物の印象との差異が生じやすいと考えられる略楕円形状の水平断面を有する被写体について、画像の印象と実物の印象との差異を少なくするような画像の変形を実現可能である。
【0020】
[適用例7]適用例1ないし適用例6のいずれかに記載の画像処理装置であって、
前記特定種類の被写体は、人物の頭部である、画像処理装置。
【0021】
この画像処理装置では、幅方向および奥行き方向のサイズを要因とする画像の印象と実物の印象との差異が生じやすいと考えられる被写体である人物の頭部について、画像の印象と実物の印象との差異を少なくするような画像の変形を実現可能である。
【0022】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法および装置、画像変形方法および装置、画像生成方法および装置、印刷方法および装置、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【0023】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.実施例:
A−1.画像処理装置の構成:
A−2.顔形状補正印刷処理:
A−3.変形領域の設定:
A−4.変形処理:
A−5.他の変形処理:
B.変形例:
【0024】
A.実施例:
A−1.画像処理装置の構成:
図1は、本発明の実施例における画像処理装置としてのプリンタ100の構成を概略的に示す説明図である。本実施例のプリンタ100は、メモリカードMC等から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラーインクジェットプリンタである。プリンタ100は、プリンタ100の各部を制御するCPU110と、例えばROMやRAMによって構成された内部メモリ120と、ボタンやタッチパネルにより構成された操作部140と、液晶ディスプレイにより構成された表示部150と、プリンタエンジン160と、カードインターフェース(カードI/F)170と、を備えている。プリンタ100は、さらに、他の機器(例えばデジタルスチルカメラやパーソナルコンピュータ)とのデータ通信を行うためのインターフェースを備えているとしてもよい。プリンタ100の各構成要素は、バスを介して互いに接続されている。
【0025】
プリンタエンジン160は、印刷データに基づき印刷を行う印刷機構である。カードインターフェース170は、カードスロット172に挿入されたメモリカードMCとの間でデータのやり取りを行うためのインターフェースである。なお、本実施例では、メモリカードMCにRGBデータとしての画像データを含む画像ファイルが格納されている。この画像ファイルは、例えばデジタルスチルカメラ等の撮像装置によりExif(Exchangeable Image File Format)規格に則って生成されたファイルであり、撮像により生成された画像データの他に、撮像時の絞り・シャッタースピード・レンズの焦点距離等の付加データを含んでいる。プリンタ100は、カードインターフェース170を介してメモリカードMCに格納された画像ファイルの取得を行う。
【0026】
内部メモリ120には、顔形状補正部200と、顔領域検出部220と、被写体距離設定部330と、表示処理部310と、印刷処理部320とが格納されている。顔形状補正部200と顔領域検出部220と被写体距離設定部330とは、所定のオペレーティングシステムの下で、それぞれ後述する顔形状補正処理、顔領域検出処理、被写体距離設定処理を実行するためのコンピュータプログラムである。また、表示処理部310は、表示部150を制御して、表示部150上に処理メニューやメッセージを表示させるディスプレイドライバである。印刷処理部320は、画像データから印刷データを生成し、プリンタエンジン160を制御して、印刷データに基づく画像の印刷を実行するためのコンピュータプログラムである。CPU110は、内部メモリ120から、これらのプログラムを読み出して実行することにより、これら各部の機能を実現する。
【0027】
顔形状補正部200は、プログラムモジュールとして、変形態様設定部210と、顔領域調整部230と、変形領域設定部240と、変形領域分割部250と、分割領域変形部260と、変形量設定部290と、を含んでいる。変形態様設定部210は、サイズ設定部214を含んでいる。また、被写体距離設定部330は、プログラムモジュールとして、情報取得部340を含んでいる。これらの各部の機能については、後述の顔形状補正印刷処理の説明において詳述する。なお、後述するように、変形領域分割部250と、分割領域変形部260と、により画像の変形が行われる。また、変形量設定部290により画像の変形における変形の度合い(変形量)が設定される。そのため、変形量設定部290と変形領域分割部250と分割領域変形部260とは、併せて「変形処理部」とも呼ぶことができる。また、顔領域検出部220は、被写体としての顔の画像を検出するものであり、「被写体検出部」とも呼ぶことができる。
【0028】
内部メモリ120には、また、分割点配置パターンテーブル410と分割点移動テーブル420と頭部サイズ情報430とが格納されている。これらの内容についても、後述の顔形状補正印刷処理の説明において詳述する。
【0029】
A−2.顔形状補正印刷処理:
プリンタ100は、メモリカードMCに格納された画像ファイルに基づき、画像の印刷を行う。カードスロット172にメモリカードMCが挿入されると、表示処理部310により、メモリカードMCに格納された画像の一覧表示を含むユーザインターフェースが表示部150に表示される。図2は、画像の一覧表示を含むユーザインターフェースの一例を示す説明図である。図2に示すユーザインターフェースには、8つのサムネイル画像TN1〜TN8と、5つのボタンBN1〜BN5が表示されている。なお、本実施例では、画像の一覧表示は、メモリカードMCに格納された画像ファイルに含まれるサムネイル画像を用いて実現される。
【0030】
本実施例のプリンタ100は、図2に示すユーザインターフェースにおいて、ユーザにより、1つ(または複数)の画像が選択されると共に通常印刷ボタンBN3が選択されると、選択画像を通常通り印刷する通常印刷処理を実行する。他方、当該ユーザインターフェースにおいて、ユーザにより、1つ(または複数)の画像が選択されると共に顔形状補正印刷ボタンBN4が選択されると、プリンタ100は、選択画像について、選択画像中の顔の画像の形状を補正して補正後の画像を印刷する顔形状補正印刷処理を実行する。図2の例では、サムネイル画像TN1と顔形状補正印刷ボタンBN4とが選択されているため、プリンタ100は、サムネイル画像TN1に対応する画像について顔形状補正印刷処理を行う。
【0031】
図3は、本実施例のプリンタ100による顔形状補正印刷処理の流れを示すフローチャートである。ステップS100では、顔形状補正部200(図1)が、顔形状補正処理を実行する。本実施例の顔形状補正処理は、画像中の顔の少なくとも一部の形状(例えば顔の輪郭形状や目の形状)を補正する処理である。なお、目や鼻などの顔の一部分は、一般に器官とも呼ばれる。
【0032】
図4は、本実施例における顔形状補正処理(図3のステップS100)の流れを示すフローチャートである。ステップS110では、顔形状補正部200(図1)が、顔形状補正処理の対象となる対象画像TIを設定する。顔形状補正部200は、図2に示したユーザインターフェースにおいてユーザにより選択されたサムネイル画像TN1に対応する画像を対象画像TIとして設定する。設定された対象画像TIの画像ファイルは、メモリカードMCからカードインターフェース170を介してプリンタ100に取得され、内部メモリ120の所定領域に格納される。なお、以下では、このようにメモリカードMCから取得され、プリンタ100の内部メモリ120に格納された画像ファイルに含まれる画像データを「元画像データ」とも呼ぶ。また、元画像データにより表される画像を「元画像」とも呼ぶ。
【0033】
ステップS120(図4)では、変形態様設定部210(図1)が、顔形状補正のための画像変形のタイプと画像変形の度合いとを設定する。変形態様設定部210は、画像変形のタイプおよび度合いを設定するためのユーザインターフェースを表示部150に表示するように表示処理部310に指示し、当該ユーザインターフェースを通じてユーザにより指定された画像変形のタイプおよび度合いを選択し、処理に使用する画像変形タイプおよび度合いとして設定する。
【0034】
図5は、画像変形のタイプおよび度合いを設定するためのユーザインターフェースの一例を示す説明図である。図5に示すように、このユーザインターフェースには、画像変形タイプを設定するためのインターフェースが含まれている。本実施例では、例えば、顔の形状をシャープにする変形タイプ「タイプA」や、目の形状を大きくする変形タイプ「タイプB」等が選択肢として予め設定されているものとする。ユーザは、このインターフェースを介して画像変形のタイプを指定する。変形態様設定部210は、ユーザにより指定された画像変形タイプを、実際の処理に使用する画像変形タイプとして設定する。
【0035】
また、図5に示すユーザインターフェースには、画像変形の度合い(程度)を設定するためのインターフェースが含まれている。図5に示すように、本実施例では、画像変形の度合いとして、強(S)、中(M)、弱(W)の3段階と、自動と、の4つの選択肢が予め設定されているものとする。ユーザは、このインターフェースを介して画像変形の度合いを指定する。強、中、弱の3つの内のいずれかが指定された場合には、変形態様設定部210は、指定された画像変形の度合いを、実際の処理に使用する画像変形の度合いとして設定する。「自動」が指定された場合には、後述するように、画像変形の度合い(変形量)が変形量設定部290(図1)によって自動的に設定される。ユーザインターフェースに設けられたチェックボックスは、ユーザが変形態様の詳細指定を希望する場合にチェックされる。
【0036】
以降では、画像変形のタイプとして顔の形状をシャープにするための変形タイプ「タイプA」が設定され、画像変形の度合い(変形量)として「自動」が選択され、ユーザによる詳細指定の希望はなかったものとして説明を行う。
【0037】
ステップS124(図4)では、サイズ設定部214(図1)が、対象画像TIにおける被写体としての人の頭部の幅方向および奥行き方向のサイズを設定する。サイズ設定部214による頭部のサイズの設定は、後述の画像変形の度合い(変形量)の自動設定(図4のステップS590)を行うために実行される。サイズ設定部214は、頭部のサイズを設定するためのユーザインターフェースを表示部150に表示するように表示処理部310に指示し、当該ユーザインターフェースを通じたユーザによる指示に基づき、頭部のサイズを設定する。
【0038】
図6は、頭部のサイズを設定するためのユーザインターフェースの一例を示す説明図である。図6に示すように、このユーザインターフェースには、頭部の幅方向のサイズWhおよび奥行き方向のサイズDhの入力欄が含まれている。この入力欄にユーザによって幅方向サイズWhおよび奥行き方向サイズDhの値が入力され、「OK」ボタンが選択されると、サイズ設定部214は、入力された値を頭部の幅方向サイズWhおよび奥行き方向サイズDhとして設定する。他方、図6に示したユーザインターフェースには、「サイズ自動設定」ボタンが含まれている。ユーザにより「サイズ自動設定」ボタンが選択され、「OK」ボタンが選択されると、サイズ設定部214は、頭部の幅方向サイズWhおよび奥行き方向サイズDhを自動設定する。内部メモリ120に格納された頭部サイズ情報430(図1)には、人の頭部の幅方向サイズWhおよび奥行き方向サイズDhの標準的な値が規定されている。サイズ設定部214による頭部のサイズの自動設定は、頭部サイズ情報430に規定された標準値を頭部の幅方向サイズWhおよび奥行き方向サイズDhの値として設定することにより行われる。
【0039】
ステップS130(図4)では、顔領域検出部220(図1)が、対象画像TIにおける顔領域FAの検出を行う。ここで、顔領域FAとは、対象画像TIにおける画像領域であって、少なくとも顔の一部の画像が含まれる領域を意味している。顔領域検出部220による顔領域FAの検出は、例えばテンプレートを利用したパターンマッチングによる方法(特開2004−318204参照)といった公知の顔検出方法を用いて実行される。
【0040】
図7は、顔領域FAの検出結果の一例を示す説明図である。図7の例では、対象画像TIに人物の顔の画像が含まれている。そのため、ステップS130において、対象画像TIから顔領域FAが検出される。この顔領域FAは、図7に示すように、両目と鼻と口の画像を含む矩形の領域となっている。なお、顔領域検出部220は、顔領域FAの検出結果として、対象画像TIにおける顔領域FAの位置を特定可能な情報(例えば顔領域FAの4つの頂点の座標)を出力する。また、図7に示すように、本実施例では、対象画像TIの幅をWwi(単位は画素数)と表し、顔領域FAの幅をWfi(単位は画素数)と表すものとする。
【0041】
なお、ステップS130の顔領域FAの検出において、顔領域FAが検出されなかった場合には、その旨が表示部150を通じてユーザに通知される。この場合には、顔形状補正を伴わない通常印刷が行われるとしてもよいし、他の顔検出方法を用いた顔領域FAの再度の検出処理が行われるとしてもよい。
【0042】
ステップS130では、テンプレートを利用したパターンマッチングにより対象画像TIから顔領域FAが検出される。このようなテンプレートを利用したパターンマッチングによる方法等の公知の顔検出方法は、一般に、顔全体や顔の部位(目や口等)について位置や傾き(角度)を詳細に検出するものではなく、対象画像TI中から顔の画像が概ね含まれると考えられる領域を顔領域FAとして設定するものである。
【0043】
ステップS500(図4)では、プリンタ100が、ステップS130で検出された顔領域FAに基づいて変形領域TAを設定する。変形領域TAは、対象画像TI上の領域であって顔形状補正のための画像変形処理の対象となる領域である。変形領域TAの設定方法については、後述の「A−3.変形領域の設定」において詳述する。図8は、ステップS500における変形領域TAの設定結果を示す説明図である。図8では、破線によりステップS130において検出された顔領域FAを示しており、太実線により設定された変形領域TAを示している。
【0044】
ステップS570(図4)では、被写体距離設定部330(図1)が、被写体距離Sdの設定を行う。ここで、被写体距離Sdは、対象画像TIの撮像時における撮像装置(より詳細には撮像装置のレンズの主点)から特定種類の被写体までの距離を意味している。また、本実施例では、特定種類の被写体として人物の頭部が設定されている。従って、本実施例における被写体距離Sdは、撮像装置から人物の頭部までの距離である。被写体距離設定部330による被写体距離Sdの設定は、後述の画像変形の度合い(変形量)の自動設定(図4のステップS590)を行うために実行される。
【0045】
被写体距離設定部330は、被写体距離Sdの推定を行い、推定された値を被写体距離Sdとして設定する。図9は、被写体距離Sdの推定方法を示す説明図である。図9には、対象画像TIの撮像時における撮像装置の結像面ISと被写体としての人物Pの頭部との位置関係を示している。図9に示すように、レンズの主点UPと人物Pの頭部(の中心)との間の距離である被写体距離Sdは、人物Pの頭部の位置を含み結像面ISに平行な面(以下「被写体面SS」とも呼ぶ)における撮像範囲の幅Wwと画角θとにより定まる。また、画角θは、レンズの焦点距離fと結像面ISの幅Wxとの関係により特定される。すなわち、下記の式(1)が成り立つ。
【0046】
【数1】
【0047】
また、被写体面SSにおける撮像範囲の幅Wwは、大きさが既知の被写体の画像が対象画像TIにおいて占める大きさに基づき特定される。本実施例では、顔領域FAの検出によって対象画像TIにおける顔の画像の大きさがわかっているため(図7参照)、大きさが既知の被写体として人物の顔を用いている。すなわち、被写体面SSにおける撮像範囲の幅Wwと人物Pの顔の幅Wfとの比は、図7に示した対象画像TIにおける画像全体の幅Wwiと顔領域FAの幅Wfiとの比に等しいと考えられる(式(2)参照)。
【0048】
【数2】
【0049】
上記式(1)および(2)から、下記の式(3)が導かれる。
【0050】
【数3】
【0051】
被写体距離設定部330の情報取得部340(図1)は、式(3)を用いた被写体距離Sdの算出に必要な情報を取得する。具体的には、情報取得部340は、対象画像TIを表す画像ファイルにメタデータとして付加されている対象画像TIの全体の幅Wwiの値(画素数)を取得すると共に、顔領域FA(図7)の幅Wfiの値(画素数)を算出する。顔領域FAの幅Wfiの算出は、例えば顔領域FAの2つの頂点の座標を用いて2つの頂点間の距離を算出することにより行う。
【0052】
情報取得部340は、また、人物Pの顔の幅Wfの値として、予め設定され内部メモリ120(図1)に格納された人物の顔の幅(顔の現実の大きさ)の標準値(例えば180mm)を取得する。なお、人物Pの顔の幅Wfの値をユーザにより入力させ、情報取得部340が入力された値を取得するものとしてもよい。
【0053】
さらに、情報取得部340は、対象画像TIの画像ファイルの付加データに含まれる撮像時のレンズ焦点距離fの値を取得する。ここで、取得されるレンズの焦点距離fの値は、35mmフィルム換算値であり、撮像装置の実際の焦点距離(実焦点距離)とは異なる場合がある。このような場合には、情報取得部340は、結像面ISの幅Wxとして、予め設定された35mmフィルムの幅の値(=36mm)を取得する。なお、画像ファイルの付加データに実焦点距離のデータと撮像装置の撮像素子の幅のデータとが含まれている場合には、情報取得部340が、レンズの焦点距離fとして実焦点距離の値を取得し、結像面ISの幅Wxとして撮像素子の幅の値を取得するとしてもよい。また、画像ファイルの付加データに画角そのものを示すデータが含まれている場合には、情報取得部340が画角を示すデータを取得するとしてもよい。レンズの焦点距離fの値と結像面ISの幅Wxの値とは、対象画像TIの画角θを特定可能な情報である。
【0054】
被写体距離設定部330は、情報取得部340により取得された上記各情報(対象画像TIの全体の幅Wwiの値、顔領域FAの幅Wfiの値、人物Pの顔の幅Wfの値、レンズの焦点距離fの値、結像面ISの幅Wxの値)と、上記式(3)とを用いて、被写体距離Sdを算出(推定)する。
【0055】
次にステップS590(図4)では、変形量設定部290(図1)が、変形量(「変形の度合い」または「変形の程度」とも呼ぶ)を設定する。その後のステップS600(図4)では、ステップS500で設定された変形領域TAの画像に対し、ステップS590で設定された変形量で変形処理が行われる。変形処理の具体的方法については、後述の「A−4.変形処理」において詳述する。
【0056】
ここで、変形量設定部290による変形量の設定(図4のステップS590)について説明する。図10は、変形領域TAの画像を対象とした変形処理(図4のステップS600)が行われた結果を示す説明図である。図10(a)には、変形処理が行われる前の対象画像TIを示しており、図10(b)には、変形処理後の対象画像TIを示している。図10(b)に示すように、変形処理後の対象画像TIでは、変形領域TA内の人物の顔の画像の幅が小さくなっている。なお、ステップS600における変形処理は対象画像TI中の変形領域TA内の画像にのみ施され、変形領域TAの外の画像は変形されない。その結果、画像の全体を過剰に変形させずに、被写体を変形させることができる。
【0057】
図10の例では、顔の画像が顔の幅方向に沿って縮小変形され、顔の左右の頬のライン(顔の輪郭)の画像が変形量DQだけ内側に移動している。この変形量DQは、図4のステップS590において設定された量である。このような変形処理によって、変形処理後の顔の画像の幅Wdは、変形前の顔の画像の幅Woと比べて、変形量DQの2倍だけ小さくなる。このように幅が小さくなるように画像を変形する理由は、顔の画像の観察によって得られる印象を、実物の顔の観察によって得られる印象に近づけるためである。
【0058】
図11は、顔の画像と実物の顔との印象の違いを示す説明図である。図11には、人の頭部Hの水平断面と、観察者の右目REおよび左目LEと、撮像装置としてのカメラCMとを示している。図11に示す配置では、頭部Hは顔の部分が2つの目RE、LEの真正面に位置するような配置であるものとする。また、カメラCMは、2つの目RE、LEの中点MPに配置されている。すなわち、カメラCMは、観察者とほぼ同じ位置から頭部Hの顔の部分を見るような配置となっている。
【0059】
本実施例では、頭部Hの水平断面は楕円形状であるものとしている。頭部Hの水平断面の外周(以下「頭部楕円HE」と呼ぶ)において、頭部Hの奥行き方向(図11のx方向)に沿った半径をAとし、幅方向(図11のy方向)に沿った半径をBとする。すなわち、半径Aは頭部Hの奥行き方向のサイズDh(図6参照)の2分の1に相当し、半径Bは頭部Hの幅方向のサイズWhの2分の1に相当する。なお、本明細書において、「楕円」の語は円(すなわちA=Bの場合)を含むものとする。
【0060】
中点MPは頭部楕円HEの中心CPを通るx軸上に位置し、2つの目RE、LEは、中心CPを通りx軸に垂直な座標軸であるy軸に沿って並んでいる。距離Lは、2つの目RE、LEの間の距離を示しており、距離dは、頭部楕円HEの中心CPと目RE、LEとの間のx軸に沿った距離を示している。
【0061】
図11中の第1幅W1は、カメラCMから見える部分の頭部Hの幅を示している。カメラCMから見える部分は、頭部Hの表面の内、カメラ被写体範囲SRC内の部分である。このカメラ被写体範囲SRCは、カメラCMの視野の全範囲の内の頭部Hが占める範囲である。第1幅W1は、頭部楕円HEと中点MPとの2つの接点間の距離に相当し、以下の式(4)により算出される。
【0062】
【数4】
【0063】
図11中の第2幅W2は、両目RE、LEから見える部分の頭部Hの幅を示している。両目RE、LEから見える部分は、頭部Hの表面の内、右被写体範囲SRRと左被写体範囲SRLとの重なる範囲内の部分である。右被写体範囲SRRは、右目REの視野の全範囲の内の頭部Hが占める範囲であり、左被写体範囲SRLは、左目LEの視野の全範囲の内の頭部Hが占める範囲である。第2幅W2は、頭部楕円HEと右目REとの2つの接点の内のより中点MPに近い方の接点と、頭部楕円HEと左目LEとの2つの接点の内のより中点MPに近い方の接点と、の間の距離に相当し、以下の式(5)により算出される。
【0064】
【数5】
【0065】
図11に示すように、右目REと左目LEとの間では、頭部Hの見える部分が異なっている。すなわち、右目REから見える部分は右目RE側に偏っており、左目LEから見える部分は左目LE側に偏っている。このような場合には、人(観察者)による頭部Hの認識は、両目RE、LEに共通な可視部分から強い影響を受けると推定される。例えば、人は、両目RE、LEに共通な可視部分の幅W2が頭部Hの幅であるという認識を持つと推定される。
【0066】
図11に示すように、第2幅W2は第1幅W1よりも狭い。すなわち、撮像によって生成された顔の画像を観察すると、実際の顔を直接観察したときと比べて幅が広い印象を受けるものと考えられる。そこで、図10(b)に示すように顔の幅が狭くなるように画像を変形することによって、顔の画像の観察によって得られる印象を、実物の顔の観察によって得られる印象に近づけることができる。
【0067】
上記式(4)および(5)から明らかなように、第1幅W1および第2幅W2は、半径A,Bの値や距離dの値に応じて変化する。なお、距離Lの値は、例えば、100mmを採用可能である。半径A,Bの値や距離dの値を種々変化させたときの第1幅W1に対する第2幅W2の比率Ri(=W2/W1)の値を以下の表1に示す。なお、第2幅W2の値は第1幅W1の値より小さいため、比率Riの値は1.0よりも小さくなる。また、表1において、f(=(A−B)/A)は頭部Hの水平断面の楕円形状外周の扁平率である。
【0068】
【表1】
【0069】
表1のcase1〜4からわかるように、L,d,Bの値が一定の場合には、半径Aの値が大きいほど比率Riの値は小さい。すなわち、顔の画像の観察によって得られる印象と実物の顔の観察によって得られる印象との差が大きくなるものと考えられる。一方、表1のcase2,5〜7からわかるように、L,d,Aの値が一定の場合には、半径Bの値が小さいほど比率Riの値は小さい。すなわち、顔の画像の観察によって得られる印象と実物の顔の観察によって得られる印象との差が大きくなるものと考えられる。さらに、表1のcase2,7,8からわかるように、L,A,Bの値が一定の場合には、カメラCMおよび観察者から頭部Hまでの距離dの値が小さいほど比率Riの値は小さい。すなわち、顔の画像の観察によって得られる印象と実物の顔の観察によって得られる印象との差が大きくなるものと考えられる。
【0070】
図12は、半径A、半径B、距離dと比率Riとの関係を示すグラフである。図12(a)には、L,d,Bの値が一定とした場合の半径Aと比率Riとの関係を示しており、図12(b)には、L,d,Aの値が一定とした場合の半径Bと比率Riとの関係を示しており、図12(c)には、L,A,Bの値が一定とした場合の距離dと比率Riとの関係を示している。
【0071】
顔の画像の変形処理は、顔の画像の観察によって得られる印象が、実物の顔の観察によって得られる印象になるべく近づくように行われることが好ましい。このような画像の変形処理を実現するためには、図10(b)に示した変形処理前の顔の画像の幅Woに対する変形処理後の顔の画像の幅Wdの比率Rwが、図11に示した第1幅W1に対する第2幅W2の比率Riと等しくなるように、変形量DQを設定すればよい。
【0072】
上述した図4のステップS590では、変形量設定部290(図1)が、ステップS124で設定された頭部のサイズ(WhおよびDh)から上記式(4)および(5)におけるAおよびBの値を算出する。変形量設定部290は、また、ステップS124で設定された被写体距離Sdの値を上記式(4)および(5)におけるdの値に設定する。変形量設定部290は、これらの値を用いて第1幅W1および第2幅W2を算出し、比率Rw(Wd/Wo)が比率Ri(W2/W1)と等しくなるように変形量DQを算出する。
【0073】
図13は、半径A、半径B、距離dと変形量DQとの関係を示すグラフである。図13(a)には、L,d,Bの値が一定とした場合の半径Aと変形量DQとの関係を示しており、図13(b)には、L,d,Aの値が一定とした場合の半径Bと変形量DQとの関係を示しており、図13(c)には、L,A,Bの値が一定とした場合の距離dと変形量DQとの関係を示している。図13(a)に示すように、L,d,Bの値が一定の場合には、半径A(本発明における奥行き方向に沿った頭部Hの半径)の値が大きいほど変形量DQは大きい値に設定される。同様に、L,d,Aの値が一定の場合には、半径B(本発明における幅方向に沿った頭部Hの半径)の値が小さいほど変形量DQは大きい値に設定され(図13(b)参照)、L,A,Bの値が一定の場合には、距離dの値が小さいほど変形量DQは大きい値に設定される(図13(c)参照)。
【0074】
図4のステップS600では、このように決定された変形量DQを用いて画像が変形される(図10(b))。その結果、顔の画像の観察によって得られる印象を実物の顔の観察によって得られる印象に近づけるような画像変形処理が実現される。
【0075】
なお、「奥行き方向」とは、撮像装置のレンズの光軸に平行な方向を意味し、「幅方向」とは、撮像装置のレンズの光軸を含む水平面内において光軸と直交する直線に平行な方向を意味する。
【0076】
顔形状補正処理(図4)が終了すると、図3のフローチャートに戻り、顔形状補正部200(図1)が、顔形状補正後の対象画像TIを表示部150に表示するよう表示処理部310に指示する(ステップS200)。図14は、顔形状補正後の対象画像TIが表示された表示部150の状態の一例を示す説明図である。顔形状補正後の対象画像TIが表示された表示部150により、ユーザは、補正結果を確認することができる。ユーザが補正結果に満足せず「戻る」ボタンを選択すると、例えば表示部150に図5に示した変形タイプおよび変形度合いを選択する画面や、図6に示した頭部のサイズを設定するための画面が表示され、ユーザによる変形タイプ・変形度合いや頭部サイズの再度の設定が実行される。
【0077】
ユーザが補正結果に満足し、「印刷」ボタンを選択すると、印刷処理部320(図1)が、プリンタエンジン160を制御して、顔形状補正処理後の対象画像TIの印刷を行う(図3のステップS300)。印刷処理部320は、顔形状補正処理後の対象画像TIの画像データに、解像度変換やハーフトーン処理などの処理を施して印刷データを生成する。生成された印刷データは、印刷処理部320からプリンタエンジン160に供給され、プリンタエンジン160は対象画像TIの印刷を実行する。これにより、顔形状補正後の対象画像TIの印刷が完了する。
【0078】
A−3.変形領域の設定:
上述した顔形状補正処理(図4)における変形領域TAの設定処理(ステップS500)について詳述する。図15は、顔領域FAの検出結果の一例を示す説明図である。図15に示すように、図4のステップS130において、対象画像TIから顔領域FAが検出されている。図15に示した基準線RLは、顔領域FAの高さ方向(上下方向)を定義すると共に、顔領域FAの幅方向(左右方向)の中心を示す線である。すなわち、基準線RLは、矩形の顔領域FAの重心を通り、顔領域FAの高さ方向(上下方向)に沿った境界線に平行な直線である。
【0079】
変形領域TAは、顔領域FAに基づき設定される。ここで、上述したように、顔領域FAの検出に用いられる公知の顔検出方法(テンプレートを利用したパターンマッチングによる方法等)は、顔全体や顔の部位(目や口等)について位置や傾き(角度)を詳細に検出するものではなく、対象画像TI中から顔の画像が概ね含まれると考えられる領域を顔領域FAとして設定するものである。他方、顔の画像は、一般に、観察者の注目度が高いため、顔領域FAに基づき設定された変形領域TAと顔の画像との位置や角度の関係によっては、顔形状補正後の画像が不自然なものとなる可能性がある。そこで、本実施例では、より自然で好ましい顔形状補正が実現されるように、ステップS130で検出された顔領域FAについて、以下に説明する位置調整および傾き調整を行うものとしている。
【0080】
図16は、変形領域設定処理の流れを示すフローチャートである。ステップS510では、顔領域調整部230(図1)が、ステップS130(図4)で検出された顔領域FAの高さ方向の位置調整を行う。ここで、顔領域FAの高さ方向の位置調整とは、顔領域FAの基準線RL(図15参照)に沿った位置を調整して、対象画像TIにおける顔領域FAを再設定することを意味している。
【0081】
図17は、顔領域FAの高さ方向の位置調整処理の流れを示すフローチャートである。ステップS511では、顔領域調整部230(図1)が、特定領域SAを設定する。ここで、特定領域SAとは、対象画像TI上の領域であって、顔領域FAの高さ方向の位置調整を実行する際に参照する所定の参照被写体の画像を含む領域である。参照被写体は、例えば「目」に設定することができ、その場合、特定領域SAは「目」の画像を含む領域として設定される。
【0082】
図18は、特定領域SAの一例を示す説明図である。本実施例では、顔領域調整部230(図1)が、特定領域SAを顔領域FAとの関係に基づいて設定する。具体的には、顔領域FAの大きさを、基準線RLに直行する方向および基準線RLに平行な方向に、所定比率で縮小(または拡大)した大きさの領域であって、顔領域FAの位置と所定の位置関係を有する領域が、特定領域SAとして設定される。すなわち、本実施例では、顔領域検出部220により検出された顔領域FAとの関係に基づき特定領域SAを設定すれば、特定領域SAが両方の目の画像を含む領域となるように、上記所定比率や所定の位置関係が予め設定されている。なお、特定領域SAは、目の画像とまぎらわしい画像(例えば髪の毛の画像)がなるべく含まれないように、両目の画像を含む限りにおいて、なるべく小さい領域として設定されることが好ましい。
【0083】
また、図18に示すように、特定領域SAは、基準線RLに対して対称な矩形形状の領域として設定される。特定領域SAは、基準線RLにより、向かって左側の領域(以下「左分割特定領域SA(l)」とも呼ぶ)と、向かって右側の領域(以下「右分割特定領域SA(r)」とも呼ぶ)とに分割される。特定領域SAは、左分割特定領域SA(l)と右分割特定領域SA(r)とのそれぞれに片目の画像が含まれるように設定される。
【0084】
ステップS512(図17)では、顔領域調整部230(図1)が、特定領域SAにおける目の画像の位置を検出するための評価値を算出する。図19は、評価値の算出方法の一例を示す説明図である。本実施例では、RGB画像データとしての対象画像TIの各画素のR値(R成分値)が評価値の算出に用いられる。これは、肌の部分の画像と目の部分の画像とではR値の差が大きいため、R値を評価値の算出に用いることにより、目の画像の検出精度を向上させることができると考えられるからである。また、本実施例では、対象画像TIのデータがRGBデータとして取得されているため、R値を評価値の算出に用いることにより、評価値の算出の効率化を図ることができるからでもある。なお、図19に示すように、評価値の算出は、2つの分割特定領域(右分割特定領域SA(r)および左分割特定領域SA(l))のそれぞれについて個別に行われる。
【0085】
顔領域調整部230は、図19に示すように、分割特定領域(右分割特定領域SA(r)および左分割特定領域SA(l))内に、基準線RLと直行するn本の直線(以下「対象画素特定線PL1〜PLn」と呼ぶ)を設定する。対象画素特定線PL1〜PLnは、分割特定領域の高さ(基準線RLに沿った大きさ)を(n+1)等分する直線である。すなわち、対象画素特定線PL同士の間隔は、すべて等間隔sである。
【0086】
顔領域調整部230は、対象画素特定線PL1〜PLnのそれぞれについて、対象画像TIを構成する画素の中から評価値の算出に用いる画素(以下「評価対象画素TP」と呼ぶ)を選択する。図20は、評価対象画素TPの選択方法の一例を示す説明図である。顔領域調整部230は、対象画像TIを構成する画素の内、対象画素特定線PLと重なる画素を評価対象画素TPとして選択する。図20(a)は、対象画素特定線PLが対象画像TIの画素の行方向(図20のX方向)と平行である場合を示している。この場合には、各対象画素特定線PLと重なる画素行上の画素(図20(a)において○印を付した画素)が、各対象画素特定線PLについての評価対象画素TPとして選択される。
【0087】
一方、顔領域FAの検出方法や特定領域SAの設定方法によっては、図20(b)に示すように、対象画素特定線PLが対象画像TIの画素の行方向(X方向)と平行とはならない場合も生ずる。このような場合にも、原則として、各対象画素特定線PLと重なる画素が、各対象画素特定線PLについての評価対象画素TPとして選択される。ただし、例えば図20(b)における対象画素特定線PL1と画素PXaおよびPXbとの関係のように、ある対象画素特定線PLが、対象画像TIの画素マトリクスの同一列に位置する(すなわちY座標が同一の)2つの画素と重なる場合には、重なり部分の距離のより短い方の画素(例えば画素PXb)は評価対象画素TPから除外される。すなわち、各対象画素特定線PLについて、画素マトリクスの1つの列からは1つの画素のみが評価対象画素TPとして選択される。
【0088】
なお、対象画素特定線PLの傾きが、X方向に対して45度を超える場合には、上記説明において画素マトリクスの列と行との関係が逆転し、画素マトリクスの1つの行から1つの画素のみが評価対象画素TPとして選択されることとなる。また、対象画像TIと特定領域SAとの大きさの関係によっては、1つの画素が複数の対象画素特定線PLについての評価対象画素TPとして選択される場合もある。
【0089】
顔領域調整部230は、対象画素特定線PLのそれぞれについて、評価対象画素TPのR値の平均値を評価値として算出する。ただし、本実施例では、各対象画素特定線PLについて、選択された複数の評価対象画素TPの内、R値の大きい一部の画素を評価値の算出対象から除外するものとしている。具体的には、例えば、ある対象画素特定線PLについてk個の評価対象画素TPが選択された場合、評価対象画素TPが、R値の比較的大きい0.75k個の画素により構成される第1グループと、比較的R値の小さい0.25k個の画素により構成される第2グループとの2グループに分けられ、第2グループに属する画素のみが評価値としてのR値の平均値の算出対象となる。このように一部の評価対象画素TPを評価値の算出対象から除外する理由については後述する。
【0090】
以上のように、本実施例では、顔領域調整部230により各対象画素特定線PLについての評価値が算出される。ここで、対象画素特定線PLは基準線RLに直行する直線であるため、評価値は、基準線RLに沿った複数の位置(評価位置)について算出されると表現することができる。また、評価値は、各評価位置について、基準線RLに直行する方向に沿った画素値の分布の特徴を表す値と表現することができる。
【0091】
ステップS513(図17)では、顔領域調整部230(図1)が、特定領域SAにおける目の位置を検出し、検出結果に基づき高さ基準点Rhを決定する。まず、顔領域調整部230は、図19の右側に示すように、各分割特定領域について、基準線RLに沿った評価値(R値の平均値)の分布を表す曲線を作成し、評価値が極小値をとる基準線RL方向に沿った位置を目の位置Ehとして検出する。なお、左分割特定領域SA(l)における目の位置EhをEh(l)と表し、右分割特定領域SA(r)における目の位置EhをEh(r)と表わす。
【0092】
黄色人種の場合、分割特定領域中の肌の画像を表す部分はR値が大きい一方、目(より詳細には目の中央の黒目部分)の画像を表す部分はR値が小さいと考えられる。そのため、上述のように、評価値(R値の平均値)が極小値をとる基準線RLに沿った位置を目の位置Ehと判断することが可能となる。但し、他の人種(白色人種や黒色人種)を対象とする場合には、他の評価値(例えば、輝度や明度やB値)が用いられる。
【0093】
なお、図19に示すように、分割特定領域には、目の画像以外にもR値の小さい他の画像(例えば、眉や髪の毛の画像)が含まれている場合もある。そのため、顔領域調整部230は、基準線RLに沿った評価値の分布を表す曲線が複数の極小値をとる場合には、極小値をとる位置の内、最も下側の位置を目の位置Ehと判断する。一般に、目の画像より上側には眉や髪の毛等のR値の小さい画像が位置することが多い一方、目の画像より下側にはR値の小さい画像が位置することが少ないと考えられることから、このような判断が可能となる。
【0094】
また、上記曲線が、目の画像の位置よりも下側(主に肌の画像に対応した位置)であっても、評価値が大きいながらも極小値をとる可能性があるため、極小値の内、所定の閾値より大きいものは無視するものとしてもよい。あるいは、単純に、各対象画素特定線PLについて算出された評価値の内の最小値に対応した対象画素特定線PLの位置を目の位置Ehとしてもよい。
【0095】
なお、本実施例では、顔において周囲との色の差が比較的大きいと考えられる部位である目(目の中央の黒目部分)を顔領域FAの位置調整の参照被写体として用いている。しかし、評価値としてのR値の平均値は、対象画素特定線PL上の複数の評価対象画素TPを対象として算出されるため、例えば、黒目の周縁の白目部分の画像の影響により、黒目部分の検出の精度が低下する怖れがある。本実施例では、上述したように、参照被写体とは色の差が大きいと考えられる一部の評価対象画素TP(例えば上述した第1のグループに属する比較的R値の大きい画素)を評価値の算出対象から除外することにより、参照被写体の検出精度をより向上させている。
【0096】
次に、顔領域調整部230は、検出された目の位置Ehに基づき高さ基準点Rhを決定する。図21は、高さ基準点Rhの決定方法の一例を示す説明図である。高さ基準点Rhは、顔領域FAの高さ方向の位置調整の際に、基準として用いられる点である。本実施例では、図21に示すように、左右2つの目の位置Eh(l)およびEh(r)の中間に位置する基準線RL上の点が高さ基準点Rhとして設定される。すなわち、左の目の位置Eh(l)を示す直線EhL(l)と基準線RLとの交点と、右の目の位置Eh(r)を示す直線EhL(r)と基準線RLとの交点と、の中点が、高さ基準点Rhとして設定される。
【0097】
なお、本実施例では、顔領域調整部230が、検出された目の位置Ehに基づき、顔画像の概略の傾き角(以下「概略傾き角RI」と呼ぶ)を算出するものとしている。顔画像の概略傾き角RIは、対象画像TI中の顔の画像が、顔領域FAの基準線RLに対して概ねどれぐらい傾いているかを推定した角度である。図22は、概略傾き角RIの算出方法の一例を示す説明図である。図22に示すように、顔領域調整部230は、まず、左分割特定領域SA(l)の幅Ws(l)を半分に分割する直線と直線EhL(l)との交点IP(l)と、右分割特定領域SA(r)の幅Ws(r)を半分に分割する直線と直線EhL(r)との交点IP(r)とを決定する。そして、交点IP(l)と交点IP(r)とを結ぶ直線に直交する直線ILと、基準線RLとのなす角が、概略傾き角RIとして算出される。
【0098】
ステップS514(図17)では、顔領域調整部230(図1)が、顔領域FAの高さ方向の位置調整を行う。図23は、顔領域FAの高さ方向の位置調整方法の一例を示す説明図である。顔領域FAの高さ方向の位置調整は、高さ基準点Rhが、位置調整後の顔領域FAにおける所定の位置に位置することとなるように、顔領域FAを再設定することにより行う。具体的には、図23に示すように、高さ基準点Rhが、顔領域FAの高さHfを所定の比率r1対r2で分けるような位置に位置することとなるように、顔領域FAが基準線RLに沿って上下に位置調整される。図23の例では、破線で示した調整前の顔領域FAを上方向に移動することにより、実線で示した調整後の顔領域FAが再設定されている。
【0099】
顔領域FAの位置調整の後、ステップS520(図16)では、顔領域調整部230(図1)が、顔領域FAの傾き調整(角度調整)を行う。ここで、顔領域FAの傾き調整とは、対象画像TIにおける顔領域FAの傾きを顔の画像の傾きに適合するように調整して、顔領域FAを再設定することを意味している。本実施例では、顔領域FAの傾き調整を実行する際に参照する所定の参照被写体は、「両目」と設定されている。本実施例における顔領域FAの傾き調整では、傾き調整の調整角度の選択肢を表す複数の評価方向が設定され、各評価方向に対応した評価特定領域ESAが両目の画像を含む領域として設定される。そして、各評価方向について評価特定領域ESAの画像の画素値に基づき評価値が算出され、評価値に基づき決定される傾き調整の調整角度を用いて顔領域FAの傾きが調整される。
【0100】
図24は、本実施例における顔領域FAの傾き調整処理の流れを示すフローチャートである。また、図25は、顔領域FAの傾き調整のための評価値の算出方法の一例を示す説明図である。ステップS521(図24)では、顔領域調整部230(図1)が、初期評価特定領域ESA(0)を設定する。初期評価特定領域ESA(0)は、顔領域FAの位置調整後の基準線RL(図23参照)と平行な方向(以下「初期評価方向」とも呼ぶ)に対応付けられた評価特定領域ESAである。本実施例では、位置調整後の顔領域FAに対応した特定領域SA(図23参照)が、そのまま初期評価特定領域ESA(0)として設定される。なお、顔領域FAの傾き調整における評価特定領域ESAは、顔領域FAの位置調整時の特定領域SAとは異なり、左右2つの領域に分割されることはない。図25の最上段には、設定された初期評価特定領域ESA(0)が示されている。
【0101】
ステップS522(図24)では、顔領域調整部230(図1)が、複数の評価方向と各評価方向に対応した評価特定領域ESAとを設定する。複数の評価方向は、傾き調整の調整角度の選択肢を表す方向として設定される。本実施例では、基準線RLとのなす角が所定の範囲内である複数の評価方向線ELが設定され、評価方向線ELと平行な方向が評価方向として設定される。図25に示すように、基準線RLを初期評価特定領域ESA(0)の中心点(重心)CPを中心として反時計回りおよび時計回りに所定の角度α刻みで回転させることにより定まる直線が、複数の評価方向線ELとして設定される。なお、基準線RLとのなす角がφ度である評価方向線ELをEL(φ)と表す。
【0102】
本実施例では、上述した各評価方向線ELと基準線RLとのなす角についての所定の範囲は±20度と設定される。ここで本明細書では、基準線RLを時計回りに回転させたときの回転角は正の値で表され、基準線RLを反時計回りに回転させたときの回転角は負の値で表される。顔領域調整部230は、基準線RLを反時計回りおよび時計回りにα度、2α度・・・と20度を超えない範囲で回転角を増加させつつ回転させ、複数の評価方向線ELを設定する。図25には、基準線RLを−α度,−2α度,α度回転させることによりそれぞれ定まる評価方向線EL(EL(−α),EL(−2α),EL(α))が示されている。なお、基準線RLは、評価方向線EL(0)とも表現できる。
【0103】
各評価方向を表す評価方向線ELに対応した評価特定領域ESAは、初期評価特定領域ESA(0)を、中心点CPを中心として、評価方向線ELの設定時の回転角と同じ角度で回転させた領域である。評価方向線EL(φ)に対応した評価特定領域ESAは、評価特定領域ESA(φ)と表される。図25には、評価方向線EL(−α),EL(−2α),EL(α)のそれぞれに対応した評価特定領域ESA(ESA(−α),ESA(−2α),ESA(α))が示されている。なお、初期評価特定領域ESA(0)も評価特定領域ESAの1つとして扱われるものとする。
【0104】
ステップS523(図24)では、顔領域調整部230(図1)が、設定された複数の評価方向のそれぞれについて、評価特定領域ESAの画像の画素値に基づき評価値を算出する。本実施例では、顔領域FAの傾き調整における評価値として、上述した顔領域FAの位置調整における評価値と同様に、R値の平均値が用いられる。顔領域調整部230は、評価方向に沿った複数の評価位置についての評価値を算出する。
【0105】
評価値の算出方法は、上述した顔領域FAの位置調整における評価値の算出方法と同様である。すなわち、顔領域調整部230は、図25に示すように、各評価特定領域ESA内に、評価方向線ELに直交する対象画素特定線PL1〜PLnを設定し、各対象画素特定線PL1〜PLnについて評価対象画素TPを選択し、選択された評価対象画素TPのR値の平均値を評価値として算出する。
【0106】
評価特定領域ESAにおける対象画素特定線PLの設定方法や評価対象画素TPの選択方法は、領域を左右に分割するか否かの違いはあるものの、図19および図20に示した顔領域FAの位置調整における方法と同様である。なお、顔領域FAの位置調整時と同様に、選択された評価対象画素TPの内の一部(例えばk個の評価対象画素TPの内のR値の比較的大きい0.75k個の画素)を評価値の算出対象から除外するとしてもよい。図25の右側には、各評価方向について、算出された評価値の評価方向線ELに沿った分布を示している。
【0107】
なお、対象画素特定線PLは評価方向線ELに直行する直線であるため、評価値は、評価方向線ELに沿った複数の位置(評価位置)について算出されると表現することができる。また、評価値は、各評価位置について、評価方向線ELに直行する方向に沿った画素値の分布の特徴を表す値と表現することができる。
【0108】
ステップS524(図24)では、顔領域調整部230(図1)が、顔領域FAの傾き調整に用いる調整角度を決定する。顔領域調整部230は、各評価方向について、ステップS523において算出された評価値の評価方向線ELに沿った分散を算出し、分散の値が最大となる評価方向を選択する。そして、選択された評価方向に対応した評価方向線ELと基準線RLとのなす角を、傾き調整に用いる調整角度として決定する。
【0109】
図26は、各評価方向についての評価値の分散の算出結果の一例を示す説明図である。図26の例では、回転角が−α度である評価方向において、分散が最大値Vmaxをとる。従って、−α度、すなわち反時計回りにα度の回転角が、顔領域FAの傾き調整に用いる調整角度として決定される。
【0110】
評価値の分散の値が最大となるときの評価方向に対応した角度が傾き調整に用いる調整角度として決定される理由について説明する。図25の上から2段目に示すように、回転角が−α度であるときの評価特定領域ESA(−α)では、左右の目の中央部(黒目部分)の画像が、概ね対象画素特定線PLに平行な方向(すなわち評価方向線ELに直行する方向)に並ぶような配置となっている。また、このときには、左右の眉の画像も同様に、概ね評価方向線ELに直行する方向に並ぶような配置となる。従って、このときの評価方向線ELに対応した評価方向が、概ね顔の画像の傾きを表す方向であると考えられる。このときには、一般にR値が小さい目や眉の画像と一般にR値が大きい肌の部分の画像との位置関係が、対象画素特定線PLの方向に沿って両者が重なる部分の小さい位置関係となる。そのため、目や眉の画像の位置における評価値は比較的小さくなり、肌の部分の画像の位置における評価値は比較的大きくなる。従って、評価方向線ELに沿った評価値の分布は、図25に示すように、比較的ばらつきの大きい(振幅の大きい)分布となり、分散の値は大きくなる。
【0111】
一方、図25中の最上段および3段目、4段目に示すように、回転角が0度,−2α度,α度であるときの評価特定領域ESA(0),ESA(−2α),ESA(α)では、左右の目の中央部や左右の眉の画像が、評価方向線ELに直行する方向に並ばず、ずれた配置となっている。従って、このときの評価方向線ELに対応した評価方向は、顔の画像の傾きを表していはいない。このときには、目や眉の画像と肌の部分の画像との位置関係が、対象画素特定線PLの方向に沿って両者が重なる部分の大きい位置関係となる。そのため、評価方向線ELに沿った評価値の分布は、図25に示すように、比較的ばらつきの小さい(振幅の小さい)分布となり、分散の値は小さくなる。
【0112】
以上のように、評価方向が顔の画像の傾きの方向に近い場合には、評価方向線ELに沿った評価値の分散の値が大きくなり、評価方向が顔の画像の傾きの方向から遠い場合には、評価方向線ELに沿った評価値の分散の値が小さくなる。従って、評価値の分散の値が最大となるときの評価方向に対応した角度を傾き調整に用いる調整角度として決定すれば、顔領域FAの傾きが顔の画像の傾きに適合するような顔領域FAの傾き調整を実現することができる。
【0113】
なお本実施例では、評価値の分散の算出結果が、角度の範囲の臨界値、すなわち−20度または20度において最大値をとるような結果となった場合には、顔の傾きが正確に評価されていない可能性が高いと考えられるため、顔領域FAの傾き調整を行わないものとしている。
【0114】
また本実施例では、決定された調整角度が、上述した顔領域FAの位置調整の際に算出された概略傾き角RIと比較される。調整角度と概略傾き角RIとの差が所定の閾値より大きい場合には、顔領域FAの位置調整および傾き調整における評価や決定の際に何らかの誤りが発生したと考えられるため、顔領域FAの位置調整および傾き調整を行わないものとしている。
【0115】
ステップS525(図24)では、顔領域調整部230(図1)が、顔領域FAの傾き調整を行う。図27は、顔領域FAの傾き調整方法の一例を示す説明図である。顔領域FAの傾き調整は、顔領域FAを、初期評価特定領域ESA(0)の中心点CPを中心に、ステップS524において決定された調整角度だけ回転させることにより行う。図27の例では、破線で示した調整前の顔領域FAを反時計回りにα度回転させることにより、実線で示した調整後の顔領域FAが設定される。
【0116】
顔領域FAの傾き調整終了後のステップS530(図16)では、変形領域設定部240(図1)が、変形領域TAを設定する。変形領域TAは、対象画像TI上の領域であって顔形状補正のための画像変形処理の対象となる領域である。図28は、変形領域TAの設定方法の一例を示す説明図である。図28に示すように、本実施例では、変形領域TAは、顔領域FAを基準線RLと平行な方向(高さ方向)および基準線RLに直行する方向(幅方向)に伸張(または短縮)した領域として設定される。具体的には、顔領域FAの高さ方向の大きさをHf、幅方向の大きさをWfとすると、顔領域FAを、上方向にk1・Hf、下方向にk2・Hfだけ伸ばすと共に、左右にそれぞれk3・Wfだけ伸ばした領域が、変形領域TAとして設定される。なお、k1,k2,k3は、所定の係数である。
【0117】
このように変形領域TAが設定されると、顔領域FAの高さ方向の輪郭線に平行な直線である基準線RLは、変形領域TAの高さ方向の輪郭線にも平行な直線となる。また、基準線RLは、変形領域TAの幅を半分に分割する直線となる。
【0118】
図28に示すように、変形領域TAは、高さ方向に関しては、概ね顎から額までの画像を含み、幅方向に関しては、左右の頬の画像を含むような領域として設定される。すなわち、本実施例では、変形領域TAが概ねそのような範囲の画像を含む領域となるように、顔領域FAの大きさとの関係に基づき、上述の係数k1,k2,k3が予め設定されている。
【0119】
A−4.変形処理:
上述した顔形状補正処理(図4)における変形処理(ステップS600)について詳述する。図29は、変形処理の流れを示すフローチャートである。ステップS610では、変形領域分割部250(図1)が、変形領域TAを複数の小領域に分割する。図30は、変形領域TAの小領域への分割方法の一例を示す説明図である。変形領域分割部250は、変形領域TAに複数の分割点Dを配置し、分割点Dを結ぶ直線を用いて変形領域TAを複数の小領域に分割する。
【0120】
分割点Dの配置の態様(分割点Dの個数および位置)は、分割点配置パターンテーブル410(図1)により、ステップS120(図4)において設定される変形タイプと対応付けて定義されている。変形領域分割部250は、分割点配置パターンテーブル410を参照し、ステップS120において設定された変形タイプと対応付けられた態様で分割点Dを配置する。本実施例では、上述したように、変形タイプとして顔をシャープにするための変形「タイプA」(図5参照)が設定されているため、この変形タイプに対応付けられた態様で分割点Dが配置される。
【0121】
図30に示すように、分割点Dは、水平分割線Lhと垂直分割線Lvとの交点と、水平分割線Lhおよび垂直分割線Lvと変形領域TAの外枠との交点とに配置される。ここで、水平分割線Lhおよび垂直分割線Lvは、変形領域TA内に分割点Dを配置するための基準となる線である。図30に示すように、顔をシャープにするための変形タイプに対応付けられた分割点Dの配置では、基準線RLと直行する2本の水平分割線Lhと、基準線RLに平行な4本の垂直分割線Lvとが設定される。2本の水平分割線Lhを、変形領域TAの下方から順に、Lh1,Lh2と呼ぶ。また、4本の垂直分割線Lvを、変形領域TAの左から順に、Lv1,Lv2,Lv3,Lv4と呼ぶ。
【0122】
水平分割線Lh1は、変形領域TAにおいて、顎の画像より下方に配置され、水平分割線Lh2は、目の画像のすぐ下付近に配置される。また、垂直分割線Lv1およびLv4は、頬のラインの画像の外側に配置され、垂直分割線Lv2およびLv3は、目尻の画像の外側に配置される。なお、水平分割線Lhおよび垂直分割線Lvの配置は、水平分割線Lhおよび垂直分割線Lvと画像との位置関係が結果的に上述の位置関係となるように予め設定された変形領域TAの大きさとの対応関係に従い実行される。
【0123】
上述した水平分割線Lhと垂直分割線Lvとの配置に従い、水平分割線Lhと垂直分割線Lvとの交点と、水平分割線Lhおよび垂直分割線Lvと変形領域TAの外枠との交点とに、分割点Dが配置される。図30に示すように、水平分割線Lhi(i=1または2)上に位置する分割点Dを、左から順に、D0i,D1i,D2i,D3i,D4i,D5iと呼ぶものとする。例えば、水平分割線Lh1上に位置する分割点Dは、D01,D11,D21,D31,D41,D51と呼ばれる。同様に、垂直分割線Lvj(j=1,2,3,4のいずれか)上に位置する分割点Dを、下から順に、Dj0,Dj1,Dj2,Dj3と呼ぶものとする。例えば、垂直分割線Lv1上に位置する分割点Dは、D10,D11,D12,D13と呼ばれる。
【0124】
なお、図30に示すように、本実施例における分割点Dの配置は、基準線RLに対して対称の配置となっている。
【0125】
変形領域分割部250は、配置された分割点Dを結ぶ直線(すなわち水平分割線Lhおよび垂直分割線Lv)により、変形領域TAを複数の小領域に分割する。本実施例では、図30に示すように、変形領域TAが15個の矩形の小領域に分割される。
【0126】
なお本実施例では、分割点Dの配置は、水平分割線Lhおよび垂直分割線Lvの本数および位置により定まるため、分割点配置パターンテーブル410は水平分割線Lhおよび垂直分割線Lvの本数および位置を定義していると言い換えることも可能である。
【0127】
ステップS620(図29)では、分割領域変形部260(図1)が、対象画像TIの変形領域TAを対象とした画像の変形処理を行う。分割領域変形部260による変形処理は、ステップS610で変形領域TA内に配置された分割点Dの位置を移動して、小領域を変形することにより行われる。
【0128】
変形処理のための各分割点Dの位置の移動態様(移動方向および移動距離)は、分割点移動テーブル420(図1)により、ステップS120(図4)において設定される変形タイプと変形の度合いとの組み合わせに対応付けて、予め定められている。分割領域変形部260は、分割点移動テーブル420を参照し、ステップS120において設定された変形タイプと変形の度合いとの組み合わせに対応付けられた移動方向および移動距離で、分割点Dの位置を移動する。
【0129】
変形タイプとして顔をシャープにするための変形「タイプA」(図5参照)が設定され、変形度合いとして程度「中」の度合いが設定されている場合には、これらの変形タイプおよび変形度合いの組み合わせに対応付けられた移動方向および移動距離で、分割点Dの位置が移動されることとなる。
【0130】
また、変形度合いとして「自動」が選択されている場合には、分割点Dの移動方向および移動距離が、変形量設定部290によって設定された変形量DQに基づいて決定される。
【0131】
図31は、分割点移動テーブル420の内容の一例を示す説明図である。また図32は、分割点移動テーブル420に従った分割点Dの位置の移動の一例を示す説明図である。図31には、分割点移動テーブル420により定義された分割点Dの位置の移動態様の内、顔をシャープにするための変形タイプと変形度合い「自動」との組み合わせに対応付けられた移動態様を示している。図31に示すように、分割点移動テーブル420には、各分割点Dについて、基準線RLと直交する方向(H方向)および基準線RLと平行な方向(V方向)に沿った移動量が示されている。なお、分割点移動テーブル420に示された移動量の単位は、対象画像TIの画素ピッチPPである。また、テーブル中の移動量DQpは、変形量設定部290(図1)によって決定される。図4のステップS590では、変形量設定部290は、設定した変形量DQを画素ピッチに換算することによって、移動量DQpを算出する。また、H方向については、向かって右側への移動量が正の値として表され、向かって左側への移動量が負の値として表され、V方向については、上方への移動量が正の値として表され、下方への移動量が負の値として表される。例えば、分割点D11は、H方向に沿って右側に画素ピッチPPのDQp倍の距離だけ移動され、V方向に沿って上方に画素ピッチPPの2*DQp倍の距離だけ移動される。また、例えば分割点D22は、H方向およびV方向共に移動量がゼロであるため、移動されない。なお、変形度合いとして「強(S)」、「中(M)」、「弱(W)」のいずれかが選択された場合には、移動量DQpとして、変形量設定部290によって調整された値の代わりに、各変形度合いに対応付けて予め定められた値が利用される。
【0132】
なお、本実施例では、変形領域TAの内外の画像間の境界が不自然とならないように、変形領域TAの外枠上に位置する分割点D(例えば図30に示す分割点D10等)の位置は移動されないものとしている。従って、図31に示した分割点移動テーブル420には、変形領域TAの外枠上に位置する分割点Dについての移動態様は定義されていない。
【0133】
図32では、移動前の分割点Dは白抜きの丸で、移動後の分割点Dや位置の移動の無い分割点Dは黒丸で示されている。また、移動後の分割点Dは分割点D’と呼ばれるものとする。例えば分割点D11の位置は、図32において右上方向に移動され、分割点D’11となる。
【0134】
なお、本実施例では、基準線RLに対して対称な位置関係にある2つの分割点Dの組み合わせ(例えば分割点D11とD41との組み合わせ)のすべてが、分割点Dの移動後も、基準線RLに対して対称な位置関係を維持するように、移動態様が定められている。
【0135】
分割領域変形部260は、変形領域TAを構成する各小領域について、分割点Dの位置移動前の状態における小領域の画像が、分割点Dの位置移動により新たに定義された小領域の画像となるように、画像の変形処理を行う。例えば、図32において、分割点D11,D21,D22,D12を頂点とする小領域(ハッチングを付して示す小領域)の画像は、分割点D’11,D’21,D22,D’12を頂点とする小領域の画像に変形される。
【0136】
図33は、分割領域変形部260による画像の変形処理方法の概念を示す説明図である。図33では、分割点Dを黒丸で示している。図33では、説明を簡略化するために、4つの小領域について、左側に分割点Dの位置移動前の状態を、右側に分割点Dの位置移動後の状態を、それぞれ示している。図33の例では、中央の分割点Daが分割点Da’の位置に移動され、その他の分割点Dの位置は移動されない。これにより、例えば、分割点Dの移動前の分割点Da,Db,Dc,Ddを頂点とする矩形の小領域(以下「変形前注目小領域BSA」とも呼ぶ)の画像は、分割点Da’,Db,Dc,Ddを頂点とする矩形の小領域(以下「変形後注目小領域ASA」とも呼ぶ)の画像に変形される。
【0137】
本実施例では、矩形の小領域を小領域の重心CGを用いて4つの三角形領域に分割し、三角形領域単位で画像の変形処理を行っている。図33の例では、変形前注目小領域BSAが、変形前注目小領域BSAの重心CGを頂点の1つとする4つの三角形領域に分割される。同様に、変形後注目小領域ASAが、変形後注目小領域ASAの重心CG’を頂点の1つとする4つの三角形領域に分割される。そして、分割点Daの移動前後のそれぞれの状態において対応する三角形領域毎に、画像の変形処理が行われる。例えば、変形前注目小領域BSA中の分割点Da,Ddおよび重心CGを頂点とする三角形領域の画像が、変形後注目小領域ASA中の分割点Da’,Ddおよび重心CG’を頂点とする三角形領域の画像に変形される。
【0138】
図34は、三角形領域における画像の変形処理方法の概念を示す説明図である。図34の例では、点s,t,uを頂点とする三角形領域stuの画像が、点s’,t’,u’を頂点とする三角形領域s’t’u’の画像に変形される。画像の変形は、変形後の三角形領域s’t’u’の画像中のある画素の位置が、変形前の三角形領域stuの画像中のどの位置に相当するかを算出し、算出された位置における変形前の画像における画素値を変形後の画像の画素値とすることにより行う。
【0139】
例えば、図34において、変形後の三角形領域s’t’u’の画像中の注目画素p’の位置は、変形前の三角形領域stuの画像中の位置pに相当するものとする。位置pの算出は、以下のように行う。まず、注目画素p’の位置を、下記の式(6)のようにベクトルs’t’とベクトルs’u’との和で表現するための係数m1およびm2を算出する。
【0140】
【数6】
【0141】
次に、算出された係数m1およびm2を用いて、下記の式(7)により、変形前の三角形領域stuにおけるベクトルstとベクトルsuとの和を算出することにより、位置pが求まる。
【0142】
【数7】
【0143】
変形前の三角形領域stuにおける位置pが、変形前の画像の画素中心位置に一致した場合には、当該画素の画素値が変形後の画像の画素値とされる。一方、変形前の三角形領域stuにおける位置pが、変形前の画像の画素中心位置からはずれた位置となった場合には、位置pの周囲の画素の画素値を用いたバイキュービック等の補間演算により、位置pにおける画素値を算出し、算出された画素値が変形後の画像の画素値とされる。
【0144】
変形後の三角形領域s’t’u’の画像中の各画素について上述のように画素値を算出することにより、三角形領域stuの画像から三角形領域s’t’u’の画像への画像変形処理を行うことができる。分割領域変形部260は、図32に示した変形領域TAを構成する各小領域について、上述したように三角形領域を定義して変形処理を行い、変形領域TAにおける画像変形処理を行う。
【0145】
ここで、変形タイプとして顔をシャープにするための変形「タイプA」(図5参照)が設定され、変形度合いとして「自動」が設定された場合を例に取り、顔形状補正の態様についてより詳細に説明する。図35は、この場合における顔形状補正の態様を示す説明図である。図35には、変形領域TAを構成する各小領域の変形態様のイメージを矢印により示している。
【0146】
図35の例に示す顔形状補正では、基準線RLと平行な方向(V方向)に関し、水平分割線Lh1上に配置された分割点D(D11,D21,D31,D41)の位置は上方に移動される一方、水平分割線Lh2上に配置された分割点D(D12,D22,D32,D42)の位置は移動されない(図31参照)。従って、水平分割線Lh1と水平分割線Lh2との間に位置する画像は、V方向に関して縮小される。上述したように、水平分割線Lh1は顎の画像より下方に配置され、水平分割線Lh2は目の画像のすぐ下付近に配置されるため、この顔形状補正では、顔の画像の内、顎から目の下にかけての部分の画像がV方向に縮小されることとなる。この結果、画像中の顎のラインは上方に移動する。
【0147】
他方、基準線RLと直交する方向(H方向)に関しては、垂直分割線Lv1上に配置された分割点D(D11,D12)の位置は右方向に移動され、垂直分割線Lv4上に配置された分割点D(D41,D42)の位置は左方向に移動される(図31参照)。さらに、垂直分割線Lv2上に配置された2つの分割点Dの内、水平分割線Lh1上に配置された分割点D(D21)の位置は右方向に移動され、垂直分割線Lv3上に配置された2つの分割点Dの内、水平分割線Lh1上に配置された分割点D(D31)の位置は左方向に移動される(図31参照)。従って、垂直分割線Lv1より左側に位置する画像は、H方向に関して右側に拡大され、垂直分割線Lv4より右側に位置する画像は、左側に拡大される。また、垂直分割線Lv1と垂直分割線Lv2との間に位置する画像は、H方向に関して縮小または右側に移動され、垂直分割線Lv3と垂直分割線Lv4との間に位置する画像は、H方向に関して縮小または左側に移動される。さらに、垂直分割線Lv2と垂直分割線Lv3との間に位置する画像は、水平分割線Lh1の位置を中心にH方向に関して縮小される。
【0148】
上述したように、垂直分割線Lv1およびLv4は、頬のラインの画像の外側に配置され、垂直分割線Lv2およびLv3は、目尻の画像の外側に配置される。そのため、図35の例における顔形状補正では、顔の画像の内、両目尻より外側の部分の画像が全体的にH方向に縮小される。特に顎付近において縮小率が高くなる。この結果、画像中の顔の形状は、全体的に幅方向に細くなる。
【0149】
上述したH方向およびV方向の変形態様を総合すると、図35の例に示した顔形状補正により、対象画像TI中の顔の形状がシャープになる。なお、顔の形状がシャープになるとは、いわゆる「小顔」になると表現することもできる。
【0150】
なお、図35に示す分割点D22,D32,D33,D23を頂点とする小領域(ハッチングを付した領域)は、上述した水平分割線Lh2や垂直分割線Lv2およびLv3の配置方法によると、両目の画像を含む領域となる。図31に示すように、分割点D22およびD32はH方向にもV方向にも移動されないため、この両目の画像を含む小領域は変形されない。このように図35の例では、両目の画像を含む小領域については変形しないこととし、顔形状補正後の画像がより自然で好ましいものとなるようにしている。
【0151】
A−5.他の変形処理:
図36は、変形処理の他の実施例を示す概略図である。図10に示す変形処理とは異なり、図36の例では、対象画像TI上の一部の変形領域が変形される代わりに、対象画像TIの全体のアスペクト比が変更される。
【0152】
図36(a)は、変形前の対象画像TIを示し、図36(b)は変形後の画像TIdを示している。また、図中には、互いに直交する2つの方向Dr1、Dr2が示されている。第1方向Dr1は、矩形画像TI、TIdの短辺と平行な方向を示し、第2方向Dr2は、矩形画像TI、TIdの長辺と平行な方向を示している。図36の例では、顔の幅方向は、第2方向Dr2とほぼ一致している。
【0153】
図36の例では、第1方向Dr1に沿った変形は実行されずに、第2方向Dr2に沿った変形(圧縮)が実行される。この変形によって、画像の全体が、第2方向Dr2に沿って圧縮される。すなわち、対象画像TI上の被写体の幅も狭くなる。その結果、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。
【0154】
この変形では、変形済画像TIdの第2方向Dr2の大きさ(幅IWd)が、変形前の大きさ(幅IW)と比べて、変形量DQの2倍だけ小さくなる。すなわち、変形済画像TIdの第2方向Dr2方向の画素数が、変形前の画素数と比べて、少なくなる。ここで、変形済画像TIdの画素値(各画素の階調値)の決定方法としては、種々の方法を採用可能である。例えば、対象画像TIの画素値を補間することによって、変形済画像TIdの画素値を決定してもよい。
【0155】
変形量DQとしては、上述の実施例で説明した任意の変形量を採用可能である。例えば、被写体距離Sdに基づいて決定された変形量DQを採用してもよい。
【0156】
なお、2つの方向Dr1、Dr2から圧縮すべき方向を、被写体の方向の検出結果に基づいて選択することが好ましい。例えば、顔領域検出部220(図1)は、図15、図36(a)に示すように、顔領域FAの高さ方向(上下方向)を示す基準線RLを検出可能である。そこで、2つの方向Dr1、Dr2の内の、この基準線RLとのなす角度が大きい方の方向を選択することが好ましい(図36の例では、第2方向Dr2)。こうすば、被写体の幅(水平方向の大きさ)を小さくすることができる。
【0157】
なお、対象画像TIの全体のアスペクト比を変更する変形処理を採用する場合には、顔形状補正部として、図1に示すような顔形状補正部200を採用可能である。ただし、変形処理部から、変形領域分割部250と分割領域変形部260とを省略することができる。その代わりに、変形処理部は、対象画像TIのアスペクト比を変更する機能を有していればよい。また、顔領域調整部230と変形領域設定部240とを省略可能である。顔領域検出部220は、被写体の方向を検出するために利用され得る。ただし、顔領域検出部220を省略してもよい。
【0158】
ここで、被写体の幅方向に沿って対象画像TIを圧縮する変形処理の代わりに、被写体の高さ方向に沿って対象画像TIを伸張する変形処理を採用してもよい。この場合も、被写体の高さに対する幅の比率が小さくなるので、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。
【0159】
B.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0160】
B1.変形例1:
上記実施例では、頭部のサイズを設定するためのユーザインターフェース(図6)を介したユーザの指示に応じて頭部サイズの設定処理(図4のステップS124)が行われるとしているが、必ずしもユーザの指示に応じて頭部サイズの設定処理が行われる必要は無い。例えば、図6に示したユーザインターフェースを用いることなく、常に頭部サイズ情報430に規定された頭部サイズの標準値が、処理に使用される頭部サイズの値として設定されるとしてもよい。
【0161】
また、頭部のサイズを設定するためのユーザインターフェースとして、図6に示したものとは異なるユーザインターフェースが用いられるとしてもよい。例えば、幅方向サイズWhおよび奥行き方向サイズDhの入力欄の代わりに、頭部のサイズに関する他の情報を入力する入力欄が含まれるユーザインターフェースが用いられるとしてもよい。このような他の情報として、例えば、頭部の水平断面を楕円形とした場合の当該楕円の扁平率を採用することが考えられる。この場合には、扁平率に対応した頭部サイズの値が頭部サイズ情報430に規定されており、ユーザにより入力された扁平率に対応した頭部サイズの値が、処理に使用される値として設定されるとしてもよい。
【0162】
上記他の情報として、他にも例えば、被写体の年齢(または年齢層)や被写体の人種等を採用することが考えられる。このような場合にも、被写体の年齢(または年齢層)や被写体の人種(またはそれらの組み合わせ)に対応した頭部サイズの値が頭部サイズ情報430に規定されており、ユーザにより入力された被写体の年齢(または年齢層)や被写体の人種に対応した頭部サイズの値が、処理に使用される値として設定されるとしてもよい。このとき、被写体の年齢(または年齢層)や人種は必ずしもユーザにより入力される必要はなく、例えば対象画像TIの画像解析により、被写体の年齢(または年齢層)や人種を推定し、推定された年齢(または年齢層)や人種に対応付けられた頭部サイズの標準値が、処理に使用される値として設定されるとしてもよい。
【0163】
B2.変形例2:
上記実施例では、変形量DQの設定に用いられる距離d(図11)として、図4のステップS570で推定(設定)された被写体距離Sdが採用されているが、必ずしも距離dとして被写体距離Sdを用いる必要はない。距離dとして、ユーザにより指定された値や予め設定された値(固定値)が採用されるとしてもよい。このような場合には、ステップS570における被写体距離Sdの設定(推定)を行う必要はない。
【0164】
B3.変形例3:
上記実施例では、特定種類の被写体として人物の頭部が採用され、人物の頭部に含まれる顔の形状を補正する画像変形処理が行われている。しかし、特定種類の被写体は人物の頭部に限られず、他の被写体を特定種類の被写体として採用可能である。特定種類の被写体は、略楕円形(円形を含む)の水平断面を有する被写体であることが好ましく、例えば、ボールや略円柱形状の建築物等も特定種類の被写体として採用可能である。また、対象画像から被写体を検出する方法としては、任意の方法を採用可能である。
【0165】
B4.変形例4:
上記実施例では、特定種類の被写体としての人物の頭部の1つの断面(図11の頭部楕円HE)においてカメラCMの見える範囲(図11の第1幅W1)と目の見える範囲(図11の第2幅W2)との差を考慮した変形量DQの設定が行われていた。しかし、人物の頭部の複数の断面において同様に考慮した変形量DQの設定が行われるとしてもよい。図37は、変形例における顔の画像と実物の顔との印象の違いを示す説明図である。図37に示した変形例では、人物の頭部Hは楕円体または球体としてモデル化されている。図37において、右目REと左目LEとを結ぶ直線OLと頭部Hの中心CPとを含む平面における頭部Hの断面S0が、図11における頭部楕円HEに相当する。断面S0においては、図11に示した実施例と同様に、第1幅W1および第2幅W2が算出される。
【0166】
図37に示した変形例では、さらに、直線OLを通り、断面S0とのなす角がθ1およびθ2である平面における頭部Hの断面S1およびS2が考慮される。すなわち、断面S1および断面S2においても、同様に、第1幅W1および第2幅W2が算出される。なお、第1幅W1および第2幅W2の算出に用いる断面S1および断面S2の中心と中点MPとの距離や、断面S1および断面S2の径は、角度θ1およびθ2に応じて幾何的に算出することができる。図37に示した変形例では、頭部Hの顔側表面における断面S1および断面S2の位置(高さ)において、断面S1および断面S2において算出された第1幅W1および第2幅W2を用いて変形量DQが算出される。すなわち、顔の高さ方向に沿って変形量DQが変化しうる。図37に示した変形例では、頭部Hの水平断面形状だけでなく、垂直断面形状をも考慮された変形量DQを設定することが可能となるため、顔の画像の観察によって得られる印象を実物の顔の観察によって得られる印象により近づける画像変形処理を実現することができる。
【0167】
B5.変形例5:
上記実施例では、対象画像TIから1つの顔領域FAのみが検出された場合について説明したが、対象画像TIから複数の顔領域FAが検出された場合には、各顔領域FAについて顔形状補正処理等の画像処理を行うとしてもよい。
【0168】
また、上記実施例における顔領域FAの検出(図4のステップS130)、変形領域TAの設定(図4のステップS500)、変形処理(図4のステップS600)等の方法はあくまで一例であり、これらの処理を他の方法により実行することも可能である。
【0169】
B6.変形例6:
上記実施例では、図9に示すように、水平方向の長さ(対象画像TIの全体の幅Wwi、顔領域FAの幅Wfi、人物Pの顔の幅Wf、結像面ISの幅Wx)を用いて被写体距離Sdを推定しているが、垂直方向の長さ、すなわち、対象画像TIの高さ、顔領域FAの高さ、人物Pの顔の高さ、結像面ISの高さを用いて被写体距離Sdを推定することも可能である。
【0170】
また、上記実施例では、対象画像TIの大きさに対する被写体の画像の大きさを特定するデータとして、対象画像TIの全体の幅Wwiと顔領域FAの幅Wfiとを用いているが、代わりに対象画像TIの全体面積(または画素数)に対する顔領域FAの面積(または画素数)を用いることも可能である。
【0171】
B7.変形例7:
上記実施例では、変形領域TAを矩形の領域として設定しているが、変形領域TAの形状は、他の形状(例えば、楕円や菱形)であってもよい。
【0172】
B8.変形例8:
上記実施例では、画像処理装置としてのプリンタ100による顔形状補正印刷処理(図3)を説明したが、顔形状補正印刷処理は例えば、顔形状補正と補正画像の表示(ステップS100,S200)がパーソナルコンピュータにより実行され、印刷処理(ステップS300)のみがプリンタにより実行されるものとしてもよい。また、プリンタ100はインクジェットプリンタに限らず、他の方式のプリンタ、例えばレーザプリンタや昇華型プリンタであるとしてもよい。
【0173】
また、変形済画像データは、印刷に限らず、任意の用途に利用可能である。例えば、表示装置(例えば、プロジェクタ)による表示を採用してもよい。
【0174】
B9.変形例9:
上記実施例において、変形処理としては種々の処理を採用可能である。例えば、変形領域TA内の画像を、被写体の高さ方向には変形させずに、被写体の水平方向にのみ変形させてもよい。
【0175】
いずれの場合も、変形処理としては、被写体の少なくとも一部分の対象画像TI上における少なくとも一方向(以下「短縮方向」と呼ぶ)の大きさが小さくなるような変形処理を採用することが好ましい。こうすれば、観察者から見た横方向に短縮方向が向くような角度で画像と実物とを観察した場合に、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。ここで、被写体の輪郭によって示される大きさを、短縮方向に小さくすることが好ましい。すなわち、輪郭で囲まれる領域の短縮方向の長さが小さくなることが好ましい。このように、変形処理によって、被写体の少なくとも輪郭が変形されることが好ましい。こうすれば、画像の観察によって得られる被写体の印象を、適切に、実物の観察によって得られる印象に近づけることができる。
【0176】
なお、短縮方向は、対象画像TI上の任意の方向に設定可能である。例えば、所定の方向(例えば、対象画像TIの長辺と平行な方向)を短縮方向として採用してもよい。ただし、短縮方向と被写体の幅方向とがなす角度が30度以下であることが好ましく、この角度が15度以下であることが特に好ましく、短縮方向が被写体の幅方向に向けられることが最も好ましい。こうすれば、多くの場合において、自然で好ましい変形を実行することができる。
【0177】
ここで、被写体の幅方向に近くなるように短縮方向を決定する方法としては、種々の方法を採用可能である。例えば、変形処理部は、被写体の幅方向と関連のある情報を利用することによって、短縮方向を決定してもよい。被写体の幅方向と関連のある情報としては、種々の情報を採用可能である。例えば、被写体の方向の検出結果を採用可能である。上述の実施例では、顔領域検出部220は、対象画像TIを解析することによって被写体(この場合は顔)の方向を検出する。また、撮像装置の中には、撮像時の地面に対する鉛直方向(重力方向)を示す鉛直情報を、履歴情報として画像ファイルに格納するものがある。このような鉛直情報を利用可能な場合には、鉛直情報に基づいて対象画像TI上の重力方向を特定することができ、その重力方向と垂直な方向を被写体の幅方向として採用することができる。
【0178】
また、変形処理部は、ユーザの指示に従って短縮方向を決定してもよい。例えば、変形処理部は、被写体の幅方向を示す指示を受け入れ、受け入れた指示に従って短縮方向を決定してもよい。
【0179】
また、被写体の幅方向が、対象画像TI上の所定の方向と一致することが予め決まっている場合がある。例えば、一般的なユーザによって撮像された対象画像TIでは、被写体の幅方向は、対象画像TIの長辺と平行であることが多い。このような場合には、変形処理部は、対象画像TI上の所定の方向(この場合は、長辺と平行な方向)を、被写体の幅方向として採用してもよい。すなわち、対象画像TI上の所定の方向を短縮方向として採用してもよい。
【0180】
以上の説明は、被写体が人物の顔とは異なる場合についても、同様に適用可能である。また、被写体の変形される部分は、任意に設定可能である。
【0181】
B10.変形例10:
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、図1の変形領域分割部250と分割領域変形部260との全体の機能を、論理回路を有するハードウェア回路によって実現してもよい。
【0182】
また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータプログラム)は、コンピュータ読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
【0183】
B11.変形例11:
[変形処理を行うための手段]
変形処理を行うために、画像処理装置は、画像の変形を行う画像処理装置であって、対象画像上の少なくとも一部の領域を変形領域として設定する変形領域設定部と、前記変形領域内に複数の分割点を配置し、前記分割点同士を結ぶ直線を用いて前記変形領域を複数の小領域に分割する変形領域分割部と、少なくとも1つの前記分割点の位置を移動して前記小領域を変形することにより前記変形領域内の画像の変形を行う変形処理部と、を備えるものとしてもよい。
【0184】
この画像処理装置では、対象画像上に設定された変形領域内に複数の分割点が配置され、分割点同士を結ぶ直線を用いて変形領域が複数の小領域に分割される。また、分割点の位置が移動され、小領域が変形されることにより変形領域内の画像の変形処理が実行される。このように、この画像処理装置では、変形領域内に分割点を配置して、配置された分割点を移動するだけで画像変形を行うことができ、多様な変形態様に対応した画像変形の画像処理を、容易に、かつ効率的に実現することができる。
【0185】
上記画像処理装置において、さらに、複数の所定の変形タイプの内の1つを選択して前記変形領域内の画像の変形に適用する変形タイプとして設定する変形態様設定部を備え、前記変形領域分割部は、前記設定された変形タイプに対応付けられた所定の配置パターンに従い前記複数の分割点を配置するとしてもよい。
【0186】
このようにすれば、例えば顔をシャープする変形タイプや目を大きくする変形タイプ等、それぞれの変形タイプに適した分割点の配置、すなわち変形領域の分割が行われるため、各変形タイプに対応した画像変形のための画像処理のさらなる容易化を実現することができる。
【0187】
また、上記画像処理装置において、前記変形態様設定部は、複数の所定の変形度合いの内の1つを選択して前記変形領域内の画像の変形に適用する変形度合いとして設定し、前記変形処理部は、前記設定された変形タイプと変形度合いとの組み合わせに対応付けられた所定の移動方向および移動量に従い前記分割点の位置を移動するとしてもよい。
【0188】
このようにすれば、変形タイプと変形度合いとが設定されれば、それらの組み合わせに応じた画像変形が実行されるため、画像変形のための画像処理のさらなる容易化を実現することができる。
【0189】
また、上記画像処理装置において、前記変形態様設定部は、少なくとも1つの前記分割点について、前記分割点の移動方向および移動量に関するユーザ指定を取得する指定取得部を含み、前記変形処理部は、前記取得されたユーザ指定に従い前記分割点の位置を移動するとしてもよい。
【0190】
このようにすれば、よりユーザの希望に近い態様での画像変形のための画像処理を容易に実現することができる。
【0191】
また、上記画像処理装置において、前記変形領域設定部は、前記変形領域に顔の少なくとも一部の画像が含まれるように前記変形領域を設定するとしてもよい。
【0192】
このようにすれば、顔の画像を対象として、多様な変形態様に対応した画像変形のための画像処理を、容易に、かつ効率的に実現することができる。
【0193】
また、上記画像処理装置において、前記変形領域分割部は、少なくとも1組の前記分割点が所定の基準線に対して互いに対称の位置に配置されるように、前記複数の分割点を配置し、前記変形処理部は、前記少なくとも1組の分割点を、前記所定の基準線に対して互いに対称である位置関係を維持したまま移動するとしてもよい。
【0194】
このようにすれば、所定の基準線に対して左右対称な画像変形が行われることとなり、より自然で好ましい顔画像の画像変形のための画像処理を実現することができる。
【0195】
また、上記画像処理装置において、前記変形処理部は、少なくとも1つの前記小領域について、変形を行わないとしてもよい。
【0196】
このようにすれば、顔の印象を大きく変更することなく所望の画像変形を行うことが可能となり、より自然で好ましい顔画像の画像変形のための画像処理を実現することができる。
【0197】
また、上記画像処理装置において、前記変形処理部は、目の画像を含む前記小領域について、変形を行わないとしてもよい。
【0198】
このようにすれば、目の画像を含む小領域については変形を行わないものとすることにより、より自然で好ましい顔画像の画像変形のための画像処理を実現することができる。
【0199】
また、上記画像処理装置において、さらに、前記対象画像上の顔の画像を表す顔領域を検出する顔領域検出部を備え、前記変形領域設定部は、検出された前記顔領域に基づき前記変形領域を設定するとしてもよい。
【0200】
このようにすれば、対象画像から検出された顔領域に基づき設定された変形領域の画像変形について、多様な変形態様に対応した画像変形のための画像処理を、容易に、かつ効率的に実現することができる。
【0201】
また、上記画像処理装置において、さらに、前記変形領域内の画像の変形が行われた前記対象画像を印刷する印刷部を備えるとしてもよい。
【0202】
このようにすれば、多様な変形態様に対応した画像変形後の画像の印刷を、容易に、かつ効率的に実現することができる。
【図面の簡単な説明】
【0203】
【図1】本発明の実施例における画像処理装置としてのプリンタ100の構成を概略的に示す説明図である。
【図2】画像の一覧表示を含むユーザインターフェースの一例を示す説明図である。
【図3】本実施例のプリンタ100による顔形状補正印刷処理の流れを示すフローチャートである。
【図4】本実施例における顔形状補正処理の流れを示すフローチャートである。
【図5】画像変形のタイプおよび度合いを設定するためのユーザインターフェースの一例を示す説明図である。
【図6】頭部のサイズを設定するためのユーザインターフェースの一例を示す説明図である。
【図7】顔領域FAの検出結果の一例を示す説明図である。
【図8】ステップS500における変形領域TAの設定結果を示す説明図である。
【図9】被写体距離Sdの推定方法を示す説明図である。
【図10】変形領域TAの画像を対象とした変形処理が行われた結果を示す説明図である。
【図11】顔の画像と実物の顔との印象の違いを示す説明図である。
【図12】半径A半径B距離dと比率Riとの関係を示すグラフである。
【図13】半径A半径B距離dと変形量DQとの関係を示すグラフである。
【図14】顔形状補正後の対象画像TIが表示された表示部150の状態の一例を示す説明図である。
【図15】顔領域FAの検出結果の一例を示す説明図である。
【図16】変形領域設定処理の流れを示すフローチャートである。
【図17】顔領域FAの高さ方向の位置調整処理の流れを示すフローチャートである。
【図18】特定領域SAの一例を示す説明図である。
【図19】評価値の算出方法の一例を示す説明図である。
【図20】評価対象画素TPの選択方法の一例を示す説明図である。
【図21】高さ基準点Rhの決定方法の一例を示す説明図である。
【図22】概略傾き角RIの算出方法の一例を示す説明図である。
【図23】顔領域FAの高さ方向の位置調整方法の一例を示す説明図である。
【図24】本実施例における顔領域FAの傾き調整処理の流れを示すフローチャートである。
【図25】顔領域FAの傾き調整のための評価値の算出方法の一例を示す説明図である。
【図26】各評価方向についての評価値の分散の算出結果の一例を示す説明図である。
【図27】顔領域FAの傾き調整方法の一例を示す説明図である。
【図28】変形領域TAの設定方法の一例を示す説明図である。
【図29】変形処理の流れを示すフローチャートである。
【図30】変形領域TAの小領域への分割方法の一例を示す説明図である。
【図31】分割点移動テーブル420の内容の一例を示す説明図である。
【図32】分割点移動テーブル420に従った分割点Dの位置の移動の一例を示す説明図である。
【図33】分割領域変形部260による画像の変形処理方法の概念を示す説明図である。
【図34】三角形領域における画像の変形処理方法の概念を示す説明図である。
【図35】顔形状補正の態様を示す説明図である。
【図36】変形処理の他の実施例を示す概略図である。
【図37】変形例における顔の画像と実物の顔との印象の違いを示す説明図である。
【符号の説明】
【0204】
100…プリンタ
110…CPU
120…内部メモリ
140…操作部
150…表示部
160…プリンタエンジン
170…カードインターフェース
172…カードスロット
200…顔形状補正部
210…変形態様設定部
214…サイズ設定部
220…顔領域検出部
230…顔領域調整部
240…変形領域設定部
250…変形領域分割部
260…分割領域変形部
290…変形量設定部
310…表示処理部
320…印刷処理部
330…被写体距離設定部
340…情報取得部
410…分割点配置パターンテーブル
420…分割点移動テーブル
430…頭部サイズ情報
【特許請求の範囲】
【請求項1】
画像処理装置であって、
撮像によって生成された対象画像における特定種類の被写体の幅方向および奥行き方向のサイズを設定するサイズ設定部と、
前記対象画像における前記特定種類の被写体の画像を含む領域内の画像を、設定された前記サイズに応じた変形の度合いで変形する変形処理部と、を備える、画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記変形処理部は、少なくとも前記特定種類の被写体の幅方向に沿って画像が変形されるように、画像の変形を行う、画像処理装置。
【請求項3】
請求項1または請求項2に記載の画像処理装置であって、
前記変形処理部は、前記特定種類の被写体の幅方向と奥行き方向との一方のサイズが一定の場合に、前記幅方向のサイズに対する前記奥行き方向のサイズの比が大きいほど前記変形の度合いが大きくなるように、画像の変形を行う、画像処理装置。
【請求項4】
請求項3に記載の画像処理装置であって、さらに、
前記対象画像生成時の撮像装置から前記特定種類の被写体までの距離である被写体距離を設定する距離設定部を備え、
前記変形処理部は、前記特定種類の被写体の幅方向および奥行き方向のサイズが一定の場合に、設定された前記被写体距離が小さいほど前記変形の度合いが大きくなるように、画像の変形を行う、画像処理装置。
【請求項5】
請求項1ないし請求項4のいずれかに記載の画像処理装置であって、さらに、
前記対象画像における前記特定種類の被写体の画像を検出する被写体検出部を備える、画像処理装置。
【請求項6】
請求項1ないし請求項5のいずれかに記載の画像処理装置であって、
前記特定種類の被写体は、略楕円形状の水平断面を有する被写体である、画像処理装置。
【請求項7】
請求項1ないし請求項6のいずれかに記載の画像処理装置であって、
前記特定種類の被写体は、人物の頭部である、画像処理装置。
【請求項8】
画像処理方法であって、
(a)撮像によって生成された対象画像における特定種類の被写体の幅方向および奥行き方向のサイズを設定する工程と、
(b)前記対象画像における前記特定種類の被写体の画像を含む領域内の画像を、設定された前記サイズに応じた変形の度合いで変形する工程と、を備える、画像処理方法。
【請求項9】
画像処理のためのコンピュータプログラムであって、
撮像によって生成された対象画像における特定種類の被写体の幅方向および奥行き方向のサイズを設定するサイズ設定機能と、
前記対象画像における前記特定種類の被写体の画像を含む領域内の画像を、設定された前記サイズに応じた変形の度合いで変形する変形処理機能と、を、コンピュータに実現させる、コンピュータプログラム。
【請求項1】
画像処理装置であって、
撮像によって生成された対象画像における特定種類の被写体の幅方向および奥行き方向のサイズを設定するサイズ設定部と、
前記対象画像における前記特定種類の被写体の画像を含む領域内の画像を、設定された前記サイズに応じた変形の度合いで変形する変形処理部と、を備える、画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記変形処理部は、少なくとも前記特定種類の被写体の幅方向に沿って画像が変形されるように、画像の変形を行う、画像処理装置。
【請求項3】
請求項1または請求項2に記載の画像処理装置であって、
前記変形処理部は、前記特定種類の被写体の幅方向と奥行き方向との一方のサイズが一定の場合に、前記幅方向のサイズに対する前記奥行き方向のサイズの比が大きいほど前記変形の度合いが大きくなるように、画像の変形を行う、画像処理装置。
【請求項4】
請求項3に記載の画像処理装置であって、さらに、
前記対象画像生成時の撮像装置から前記特定種類の被写体までの距離である被写体距離を設定する距離設定部を備え、
前記変形処理部は、前記特定種類の被写体の幅方向および奥行き方向のサイズが一定の場合に、設定された前記被写体距離が小さいほど前記変形の度合いが大きくなるように、画像の変形を行う、画像処理装置。
【請求項5】
請求項1ないし請求項4のいずれかに記載の画像処理装置であって、さらに、
前記対象画像における前記特定種類の被写体の画像を検出する被写体検出部を備える、画像処理装置。
【請求項6】
請求項1ないし請求項5のいずれかに記載の画像処理装置であって、
前記特定種類の被写体は、略楕円形状の水平断面を有する被写体である、画像処理装置。
【請求項7】
請求項1ないし請求項6のいずれかに記載の画像処理装置であって、
前記特定種類の被写体は、人物の頭部である、画像処理装置。
【請求項8】
画像処理方法であって、
(a)撮像によって生成された対象画像における特定種類の被写体の幅方向および奥行き方向のサイズを設定する工程と、
(b)前記対象画像における前記特定種類の被写体の画像を含む領域内の画像を、設定された前記サイズに応じた変形の度合いで変形する工程と、を備える、画像処理方法。
【請求項9】
画像処理のためのコンピュータプログラムであって、
撮像によって生成された対象画像における特定種類の被写体の幅方向および奥行き方向のサイズを設定するサイズ設定機能と、
前記対象画像における前記特定種類の被写体の画像を含む領域内の画像を、設定された前記サイズに応じた変形の度合いで変形する変形処理機能と、を、コンピュータに実現させる、コンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【公開番号】特開2009−53914(P2009−53914A)
【公開日】平成21年3月12日(2009.3.12)
【国際特許分類】
【出願番号】特願2007−219712(P2007−219712)
【出願日】平成19年8月27日(2007.8.27)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成21年3月12日(2009.3.12)
【国際特許分類】
【出願日】平成19年8月27日(2007.8.27)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]