画像に含まれる目の状態を判定する画像処理装置、画像処理方法、画像処理プログラム、および、印刷装置
【課題】本発明は、精度良く目の状態を判定することが可能な画像処理装置、画像処理方法、画像処理プログラム、および、印刷装置を提供する。
【解決手段】注目画像に含まれる目の状態を判定するにあたり、前記注目画像から目領域を検出し、特徴量に基づいて目の少なくとも一部の色を変動させながら目画像を再現する目モデルを取得し、前記目モデルによって再現される目画像と前記目領域とが近似するときの前記特徴量を近似特徴量として検出し、前記近似特徴量に基づいて前記目領域の目の状態を判定する。
【解決手段】注目画像に含まれる目の状態を判定するにあたり、前記注目画像から目領域を検出し、特徴量に基づいて目の少なくとも一部の色を変動させながら目画像を再現する目モデルを取得し、前記目モデルによって再現される目画像と前記目領域とが近似するときの前記特徴量を近似特徴量として検出し、前記近似特徴量に基づいて前記目領域の目の状態を判定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像に含まれる目の状態を判定する画像処理装置、画像処理方法、画像処理プログラム、および、印刷装置に関する。
【背景技術】
【0002】
従来の赤目補正の技術として、ユーザーによって赤目であると指定された領域から赤い色相を有する画素を抽出し、黒い画素に置き換えることにより、赤目を補正する技術が知られている(特許文献1、段落0034、参照。)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−304343号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した技術においては、フラッシュによって赤く変化した赤目については補正を行うことができるが、フラッシュによって金色等に変化した赤目については補正を行うことができないという問題があった。さらに、一様な色で塗りつぶすことにより、赤目となった瞳孔部分が本来有する色や、色の階調性が失われ、不自然な補正結果となるという問題があった。
本発明は、前記の課題を解決するためになされたものであり、精度良く目の状態を判定することが可能な画像処理装置、画像処理方法、画像処理プログラム、および、印刷装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
前記課題の少なくとも一部を解決するために本願発明は以下の態様を採る。すなわち、画像処理装置は目領域検出部を備え、該目領域検出部が前記注目画像から目領域を検出する。画像処理装置は取得部を備え、該取得部が特徴量に基づいて目の少なくとも一部の色を変動させながら目画像を再現する目モデルを取得する。特徴量検出部は、前記目モデルによって再現される目画像と前記目領域とが近似するときの前記特徴量を近似特徴量として検出する。さらに、目状態判定部は、前記近似特徴量に基づいて前記目領域の目の状態を判定する。前記目モデルによって再現される目画像と前記目領域とが近似するときの前記近似特徴量に基づいて目の状態を判定するため、目の画素の色相のみに基づいて目の状態を判定するよりも高精度に目の状態を判定することができる。
【0006】
前記目モデルの好適な一例として、前記取得部が、目画像を含む複数のサンプル画像の各画素の色彩値を主成分分析することにより、各主成分の固有ベクトルを線形結合することにより目画像を再現する前記目モデルを取得するようにしてもよい。複数のサンプル画像の各画素の色彩値の主成分分析によれば、目の状態に応じた色彩値分布の変動を統計的に解析することができ、単純に特定部位の色相に基づいて目の状態を判定する場合よりも高精度に目の状態を判定することができる。
【0007】
本発明によって判定を行う目の状態の一例として、赤目判定をおこなうようにしてもよい。すなわち、少なくとも赤目の目画像を含む複数の前記サンプル画像と、正常な目画像を含む複数の前記サンプル画像とを主成分分析することにより前記目モデルを取得すれば、赤目であるか否かに相関する前記特徴量に基づいて赤目判定を高精度に行うことができる。さらに、前記目領域の目が赤目であると特定された場合には、赤目補正をおこなうようにしてもよい。赤目らしさに相関する前記近似特徴量を補正することにより、該近似特徴量を赤目らしくない値とすることができる。このように補正された前記近似特徴量に基づいて前記目モデルによって目画像を再現すれば、該目画像において赤目を解消することができる。赤目らしさに相関する前記近似特徴量のみを補正すれば、他の目の特徴は維持されるため、自然な赤目補正を実現することができる。
【0008】
本発明の手法によって判定可能な目の状態は赤目に限られず、他の目の状態も判定することができる。例えば、虹彩の色が異なる目画像を含む複数の前記サンプル画像を主成分分析することにより設定された前記目モデルを取得し、前記近似特徴量に基づいて虹彩の色を判定するようにしてもよい。虹彩の色は、人物固有のものであり、人種等の判別や個人認証等に応用することができる。また、虹彩の色に相関する前記近似特徴量を補正することにより、虹彩の色を補正することも可能である。
【0009】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法および装置、特徴部位の位置検出方法および装置、表情判定方法および装置、これらの方法または装置の機能を実現するための画像処理プログラム、その画像処理プログラムを記録した記録媒体、そのコンピュータープログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の実施例における画像処理装置としてのプリンター100の構成を概略的に示す説明図である。
【図2】実施例におけるAAM設定処理の流れを示すフローチャートである。
【図3】サンプル画像SIの一例を示す説明図である。
【図4】サンプル画像SIにおける特徴点CPの設定方法の一例を示す説明図である。
【図5】サンプル画像SIに設定された特徴点CPの座標の一例を示す説明図である。
【図6】平均形状s0の一例を示す説明図である。
【図7】形状ベクトルsiおよび形状パラメーターpiと顔の形状sとの関係を例示した説明図である。
【図8】サンプル画像SIのワープWの方法の一例を示す説明図である。
【図9】平均顔画像A0(x)の一例を示す説明図である。
【図10】目テクスチャーモデルのためのサンプル画像SIの一例を示す説明図である。
【図11】テクスチャーパラメーターと目画像との関係を示すグラフである。
【図12】実施例における顔特徴検出処理の流れを示すフローチャートである。
【図13】注目画像OIにおける顔領域FAの検出結果の一例を示す説明図である。
【図14】実施例における特徴点CPの初期位置設定処理の流れを示すフローチャートである。
【図15】グローバルパラメーターの値を変更することによる特徴点CPの仮設定位置の一例を示す説明図である。
【図16】平均形状画像I(W(x;p))の一例を示す説明図である。
【図17】実施例における特徴点CP設定位置補正処理の流れを示すフローチャートである。
【図18】CP設定位置補正処理の結果の一例を示す説明図である。
【図19】目特徴検出処理(テクスチャー検出処理)の流れを示すフローチャートである。
【図20】平均形状画像から目テクスチャー画像を抽出する様子を示す説明図である。
【図21】赤目判定・補正処理の流れを示すフローチャートである。
【図22】赤目が補正される様子を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明に係る画像処理装置の一態様であるプリンターについて、図面を参照しつつ、実施例に基づいて説明する。
【0012】
A.実施例:
A1.画像処理装置の構成:
図1は、本発明の本実施例における画像処理装置としてのプリンター100の構成を概略的に示す説明図である。本実施例のプリンター100は、メモリーカードMC等から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したインクジェット式カラープリンターである。プリンター100は、プリンター100の各部を制御するCPU110と、ROMやRAMによって構成された内部メモリー120と、ボタンやタッチパネルにより構成された操作部140と、液晶ディスプレイにより構成された表示部150と、印刷機構160と、カードインターフェース(カードI/F)170と、を備えている。プリンター100は、さらに、他の機器(例えばデジタルスチルカメラやパーソナルコンピューター)とのデータ通信をおこなうためのインターフェースを備えていてもよい。プリンター100の各構成要素は、バスを介して双方向通信可能に接続されている。
【0013】
印刷機構160は、印刷データに基づき印刷をおこなう。カードインターフェース170は、カードスロット172に挿入されたメモリーカードMCとの間でデータのやり取りをおこなうためのインターフェースである。なお、本実施例では、メモリーカードMCに画像データを含む画像ファイルが格納されている。
【0014】
内部メモリー120には、画像処理部200と、表示処理部310と、印刷処理部320と、が格納されている。画像処理部200は、コンピュータープログラムであり、所定のオペレーティングシステムの下で、CPU110により実行されることで顔特徴検出処理や目特徴検出処理や赤目判定・補正処理をおこなう。顔特徴検出処理は、顔画像における所定の特徴部位(例えば目尻や鼻頭やフェイスライン)の位置を検出する処理である。顔特徴検出処理については、後に詳述する。表示処理部310、および、印刷処理部320についてもCPU110により実行されることでぞれぞれの機能を実現する。
【0015】
画像処理部200は、プログラムモジュールとして、設定部210と、特徴位置検出部220と、顔領域検出部230と、テクスチャー検出部240と、赤目判定部250と、赤目補正部260と、を含んでいる。特徴位置検出部220とテクスチャー検出部240は、それぞれ生成部222,242と、算出部224,244と、補正部226,246と、を含んでいる。これら各部の機能については、後述の顔特徴検出処理および赤目判定・補正処理の説明において詳述する。
【0016】
表示処理部310は、表示部150を制御して、表示部150上に処理メニューやメッセージ、画像等を表示させるディスプレイドライバーである。印刷処理部320は、画像データから印刷データを生成し、印刷機構160を制御して、印刷データに基づく画像の印刷を実行するためのコンピュータープログラムである。CPU110は、内部メモリー120から、これらのプログラム(画像処理部200、表示処理部310、印刷処理部320)を読み出して実行することにより、これら各部の機能を実現する。
【0017】
内部メモリー120には、AAM情報AMIが格納されている。AAM情報AMIは、後述のAAM設定処理によって予め設定される情報であり、後述の顔特徴検出処理や目特徴検出処理において取得され、使用される。AAM情報AMIの内容については、後述のAAM設定処理の説明において詳述する。
【0018】
A2.AAM設定処理:
図2は、本実施例におけるAAM設定処理の流れを示すフローチャートである。AAM設定処理は、AAM(アクティブアピアランスモデル(Active Appearance Model))と呼ばれる画像のモデル化に用いられる顔形状モデルおよび顔テクスチャーモデルおよび目テクスチャーモデルを設定する処理である。本実施例において、AAM設定処理は、オペレーターがコンピューターを使用することによりおこなわれる。コンピューターは、CPUとRAMとROMとHDDとディスプレイと入力装置等を有しており、これらがバスによって接続されている。CPUはHDDに記録されたプログラムを読み出し、該プログラムにしたがった演算処理を実行することにより、コンピューターが後述する各処理を実行させる。なお、目テクスチャーモデルは、特許請求の範囲の「目モデル」に相当する。
【0019】
はじめに、オペレーターは、人物の顔を含んだ複数の画像をサンプル画像SIとして用意する(ステップS110)。図3は、サンプル画像SIの一例を示す説明図である。図3に示すように、サンプル画像SIは、個性・人種・性別・表情・向き(正面向き、上向き、下向き、右向き、左向き等)といった種々の属性に関して互いに相違する顔画像が含まれるように用意される。これらのサンプル画像SIによれば、AAMによってあらゆる顔画像を精度良くモデル化することが可能となり、あらゆる顔画像を対象とした精度の良い顔特徴検出処理(後述)の実行が可能となる。なお、サンプル画像SIは、学習用画像とも呼ばれる。また、本明細書において、左右方向とは、被写体の人物を基準とした左右方向を示すものとする。
【0020】
以下、サンプル群G1に属するサンプル画像SIに対しておこなう処理を例に説明する。サンプル群G1に属するそれぞれのサンプル画像SIに含まれる顔画像に、特徴点CPを設定する(ステップS120)。図4は、サンプル画像SIにおける特徴点CPの設定方法の一例を示す説明図である。特徴点CPは、顔画像における所定の特徴部位の位置を示す点である。本実施例では、所定の特徴部位として、人物の顔における眉毛上の所定位置(例えば端点や4分割点等、以下同じ)、目の輪郭上の所定位置、鼻筋および小鼻の輪郭上の所定位置、上下唇の輪郭上の所定位置、顔の輪郭(フェイスライン)上の所定位置といった68箇所の部位が設定されている。すなわち、本実施例では、人物の顔に共通して含まれる顔の器官(眉毛、目、鼻、口)および顔の輪郭における所定位置を、特徴部位として設定する。図4に示すように、特徴点CPは、各サンプル画像SIにおいてオペレーターにより指定された68個の特徴部位を表す位置に設定(配置)される。このように設定された各特徴点CPは各特徴部位に対応しているため、顔画像における特徴点CPの配置は顔の形状を特定していると表現することができる。
【0021】
サンプル画像SIにおける特徴点CPの位置は、座標により特定される。図5は、サンプル画像SIに設定された特徴点CPの座標の一例を示す説明図である。図5において、SI(g)(g=1,2,3・・・)は各サンプル画像SIを示しており、CP(k)(k=0,1,・・・,67)は各特徴点CPを示している。また、CP(k)−Xは、特徴点CP(k)のX座標を示しており、CP(k)−Yは、特徴点CP(k)のY座標を示している。特徴点CPの座標としては、顔の大きさと顔の傾き(画像面内の傾き)と顔のX方向およびY方向の位置とのそれぞれについて正規化されたサンプル画像SIにおける所定の基準点(例えば画像の左下の点)を原点とした座標が用いられる。また、本実施例では、1つのサンプル画像SIに複数の人物の顔画像が含まれる場合が許容されており(例えばサンプル画像SI(2)には2人の顔画像が含まれている)、1つのサンプル画像SIにおける各人物は人物IDによって特定される。各サンプル画像SIと、各特徴点CPの座標と、人物IDとは、コンピューターに入力される。
【0022】
つづいて、オペレーターは、AAMの顔形状モデルの設定をおこなう(ステップS130)。具体的には、各サンプル画像SIにおける68個の特徴点CPの座標(X座標およびY座標)により構成される座標ベクトル(図5参照)に対する主成分分析をコンピューターがおこない、さらにコンピューターが特徴点CPの位置により特定される顔の形状sを下記の式(1)によりモデル化する。なお、顔形状モデルは、特徴点CPの配置モデルとも呼ぶ。
【0023】
【数1】
【0024】
前記式(1)において、s0は平均形状である。図6は、平均形状s0の一例を示す説明図である。図6(a)および(b)に示すように、平均形状s0は、サンプル画像SIの各特徴点CPについての平均位置(平均座標)により特定される平均的な顔の形状を表すモデルである。なお、本実施例では、平均形状s0において、外周に位置する特徴点CP(フェイスラインおよび眉毛、眉間に対応する特徴点CP、図4参照)を結ぶ直線により囲まれた領域(図6(b)においてハッチングを付して示す)を「平均形状領域BSA」と呼ぶ。コンピューターは、平均形状s0に対して、図6(a)に示すように、特徴点CPを頂点とする複数の三角形領域TAを、平均形状領域BSAをメッシュ状に分割するように設定する。
【0025】
顔形状モデルを表す前記式(1)において、siは形状ベクトルであり、piは形状ベクトルsiの重みを表す形状パラメーターである。形状ベクトルsiは、顔の形状sの特性を表すベクトルであり、主成分分析により得られる第i主成分に対応する固有ベクトルである。前記式(1)に示すように、本実施例における顔形状モデルでは、特徴点CPの配置を表す顔形状sが、平均形状s0とn個の形状ベクトルsiの線形結合との和としてモデル化される。前記式(1a)が示すように、顔形状モデルにおいて形状パラメーターpiを適切に設定することにより、あらゆる画像における顔の形状sを再現することが可能である。また、前記式(1b)が示すように、顔形状モデルにおいて形状パラメーターpiを適切に設定することにより、あらゆる形状sから平均形状s0へと逆変換することができる。
【0026】
図7は、形状ベクトルsiおよび形状パラメーターpiと、顔の形状sとの関係を例示した説明図である。図7(a)に示すように、コンピューターは、顔の形状sを特定するために、寄与率のより大きい主成分に対応する固有ベクトルから順に、累積寄与率の高い順に選択された個数n(本実施例では10個とする。)の固有ベクトルを、形状ベクトルsiとして採用する。形状ベクトルsiのそれぞれは、図7(a)の矢印に示すように、各特徴点CPの移動方向・移動量と対応している。本実施例では、最も寄与率の大きい第1主成分に対応する第1形状ベクトルs1は顔の左右振りにほぼ相関するベクトルとなっており、形状パラメーターp1を大小することにより、図7(b)に示すように、顔の形状sの横方向の顔向きが変化する。2番目に寄与率の大きい第2主成分に対応する第2形状ベクトルs2は顔の上下振りにほぼ相関するベクトルとなっており、形状パラメーターp2を大小することにより、図7(c)に示すように、顔の形状sの縦方向の顔向きが変化する。また、3番目に寄与率の大きい第3主成分に対応する第3形状ベクトルs3は顔の形状の縦横比にほぼ相関するベクトルとなっており、4番目に寄与率の大きい第4主成分に対応する第4形状ベクトルs4は口の開きの程度にほぼ相関するベクトルとなっている。このように、形状パラメーターの値は、顔の表情や、顔向きなど顔画像の特徴を表す。
【0027】
なお、形状モデル設定ステップ(ステップS130)においてコンピューターが設定した平均形状s0および形状ベクトルsiは、AAM情報AMI(図1)としてプリンター100の内部メモリー120に格納される。つづいて、コンピューターはAAMの顔テクスチャーモデルの設定をおこなう(ステップS140)。具体的には、まず、各サンプル画像SIに対して、サンプル画像SIにおける特徴点CPの設定位置が平均形状s0における特徴点CPの設定位置と等しくなるように、画像変換(以下、「ワープW」とも呼ぶ)をおこなう。
【0028】
図8は、サンプル画像SIのワープWの方法の一例を示す説明図である。コンピューターは、各サンプル画像SIにおいて、平均形状s0と同様に、外周に位置する特徴点CPにより囲まれた領域をメッシュ状に分割する複数の三角形領域TAを設定する。ワープWは、複数の三角形領域TAのそれぞれについてのアフィン変換の集合である。すなわち、ワープWにおいては、サンプル画像SIにおけるある三角形領域TAの画像は、平均形状s0における対応する三角形領域TAの画像へとアフィン変換される。コンピューターは、ワープWにより、特徴点CPの設定位置が平均形状s0における特徴点CPの設定位置と等しいサンプル画像SI(以下「サンプル画像SIw」と表す)を生成する。
【0029】
なお、各サンプル画像SIwは、平均形状領域BSA(図8においてハッチングを付して示す)を内包する矩形枠を外周とし、平均形状領域BSA以外の領域(以下「マスク領域MA」とも呼ぶ)がマスクされた画像として生成される。平均形状領域BSAとマスク領域MAとを併せた画像領域を基準領域BAと呼ぶ。また、コンピューターは、各サンプル画像SIwを、例えば56画素×56画素のサイズの画像として正規化する。
【0030】
次に、コンピューターは、各サンプル画像SIwの画素群xのそれぞれにおける色彩値(RGB)により構成される色彩値ベクトルに対する主成分分析を行い、顔のテクスチャー(「見え」とも呼ぶ)A(x)を下記の式(2)によりモデル化する。なお、画素群xは、平均形状領域BSAに位置する画素の集合である。
【数2】
【0031】
前記式(2)において、A0(x)は平均顔画像である。図9は、平均顔画像A0(x)の一例を示す説明図である。平均顔画像A0(x)は、ワープWの後のサンプル画像SIw(図8参照)の平均の顔が表された画像である。すなわち、平均顔画像A0(x)は、サンプル画像SIwの平均形状領域BSA内の画素群xの画素値(色彩値)の平均をとることにより算出される画像である。従って、平均顔画像A0(x)は、平均的な顔の形状における平均的な顔のテクスチャー(見え)を表すモデルである。なお、平均顔画像A0(x)は、サンプル画像SIwと同様に、平均形状領域BSAとマスク領域MAとで構成され、例えば56画素×56画素のサイズの画像として算出される。
【0032】
顔テクスチャーモデルを表す前記式(2)において、ak(x)はテクスチャーベクトルであり、λkはテクスチャーベクトルak(x)の重みを表すテクスチャーパラメーターである。テクスチャーベクトルak(x)は、顔のテクスチャーA(x)の特性を表すベクトルであり、具体的には、主成分分析により得られる第k主成分に対応する固有ベクトルである。すなわち、寄与率のより大きい主成分に対応する固有ベクトルから順に、累積寄与率に基づき設定された個数m(本実施例では4個とする。)の固有ベクトルが、テクスチャーベクトルak(x)として採用される。本実施例では、最も寄与率の大きい第1主成分に対応する第1テクスチャーベクトルA1(x)は、顔色の変化(性別の差とも捉えられる)にほぼ相関するベクトルとなっている。
【0033】
前記式(2)に示すように、本実施例における顔テクスチャーモデルでは、顔の見えを表す顔のテクスチャーA(x)が、平均顔画像A0(x)とm個のテクスチャーベクトルak(x)の線形結合との和としてモデル化される。前記式(2a)に示すように、顔テクスチャーモデルにおいてテクスチャーパラメーターλkを適切に設定することにより、あらゆる画像における顔のテクスチャーA(x)を再現することが可能である。逆に、前記式(2b)に示すように、顔テクスチャーモデルにおいてテクスチャーパラメーターλkを適切に設定することにより、あらゆる画像における顔のテクスチャーA(x)から平均顔画像A0(x)へと逆変換することができる。
【0034】
なお、テクスチャーモデル設定ステップ(図2のステップS140)において設定された平均顔画像A0(x)およびテクスチャーベクトルak(x)は、AAM情報AMI(図1)としてプリンター100の内部メモリー120に格納される。コンピューターはAAM情報AMIをいずれかの記録媒体に記録しておき、プリンター100の製造時において該記録媒体から読み出したAAM情報AMIを記録した内部メモリー120をプリンター100に組み込むか、プリンター100に組み込むまれた内部メモリー120に対して該記録媒体から読み出したAAM情報AMIを記録させる。
【0035】
ここまでの処理により、顔の形状をモデル化する顔形状モデルと、顔のテクスチャーをモデル化する顔テクスチャーモデルが設定される。設定された顔形状モデルと顔テクスチャーモデルとを組み合わせることにより、すなわち合成されたテクスチャーA(x)に対して平均形状s0から形状sへの変換(図8に示したワープWの逆変換)をおこなうことにより、あらゆる顔画像の形状およびテクスチャーを再現することが可能である。顔形状モデルと、顔テクスチャーモデルが設定されると、同様の手法によって目モデルとしての目テクスチャーモデルを設定する。
【0036】
目テクスチャーモデルの設定もAAM設定処理(図2)に従って行われる。ただし、目はほぼ平面であると考えることができるため、目についての形状モデルの設定(ステップS130)は実行しない。目テクスチャーモデルを設定するにあたり、オペレーターは、人物の目画像を含んだ複数の画像をサンプル画像SIとして用意する(ステップS110)。図10は、サンプル画像SIの一例を示す説明図である。図4に示すように、サンプル画像SIは、目における瞳の位置(中央、左方向、右方向、上方向、下方向)・瞳の色・赤目(フラッシュの光が網膜にて反射したときの目のことであり、必ずしも色相が赤色であるものに限られない。)といった種々の属性に関して互いに相違する目画像が含まれるように用意される。これらの属性は、各サンプル画像SIに対応づけられている。目テクスチャーモデルのロバスト性を向上させるために、眼鏡を着用した場合のサンプル画像SIも含ませるようにしても良い。これらのサンプル画像SIによれば、AAMによってあらゆる目画像を精度良くモデル化することが可能となり、あらゆる目画像を対象とした精度の良い目特徴検出処理(後述)の実行が可能となる。なお、右目と左目は互いに左右対称にモデル化することができるため、本実施例では右目の目画像のみをモデル化する。
【0037】
瞳の位置や赤目の場合を含めた瞳の色をモデル化することができればよいため、サンプル画像SIにおいて目の形状(目輪郭)のばらつきは小さい方が望ましい。なお、目の形状や大きさについては目輪郭について特徴点CPを設定する顔形状モデルによって検出が可能である。目画像についてのサンプル画像SIは、顔画像についてのサンプル画像SIwから目に対応する画像領域のみを抽出することにより用意されてもよい。サンプル画像SIwは、各サンプル画像SIを、特徴点CPの設定位置が平均形状s0における特徴点CPの設定位置と等しくなるように変形したものであるため、目画像の位置と形状と大きさが一定となる。従って、サンプル画像SIwから一定の位置と形状と大きさの画像領域を抽出することにより、形状と大きさが平均化された目画像についてのサンプル画像SIを得ることができる。本実施例では、右目をモデル化するものとし、左目のサンプル画像SIについては、予め左右反転させておく。
【0038】
目画像についてのサンプル画像SIが用意できると、上述した顔テクスチャーモデルと同様のAAM設定処理をおこなうことにより目テクスチャーモデルを設定する。顔テクスチャーモデルと同様に、前記の(2)式によって目画像のテクスチャーが再現できる。なお、目テクスチャーモデルにおいては、前記の(2)式のA(x)は任意の目画像を示し、A0(x)は平均目画像を示し、ak(x)とλkは顔テクスチャーモデルと同様にテクスチャーベクトルとテクスチャーパラメーターを示す。本実施例では、最も寄与率の大きい第1主成分に対応する第1テクスチャーベクトルa1は瞳の水平方向の位置にほぼ相関するベクトルとなっており、テクスチャーパラメーターλ1を大小することにより、目における瞳の水平方向の位置が変化する。2番目に寄与率の大きい第2主成分に対応する第2テクスチャーベクトルλ2は赤目であるか否かにほぼ相関するベクトルとなっており、テクスチャーパラメーターλ2を大小することにより、赤目らしさが変化する。
【0039】
図11(a)はテクスチャーパラメーターλ1の値と瞳の(水平)位置との相関を示し、図11(b)はテクスチャーパラメーターλ1,λ2の値と赤目であるか否かの相関を示している。図11(a)において、横軸はテクスチャーパラメーターλ1の値(−1〜1)を示し、縦軸は目における瞳の水平方向の位置を示している。同図に示すように、テクスチャーパラメーターλ1の値が大きければ大きいほど、瞳の位置は内寄り(鼻寄り:右目については左寄り)となり、テクスチャーパラメーターλ1の値が0のとき瞳の位置は内寄りでも外寄りでもない中央(視線が正面方向となるときの瞳の位置)となる。テクスチャーパラメーターλ1の値が小さければ小さいほど、瞳の位置は外寄り(輪郭寄り:右目については右寄り)となる。
【0040】
図11(b)において、横軸と縦軸は、テクスチャーパラメーターλ1,λ2の値(−1〜1)を示している。図11(b)においてテクスチャーパラメーターλ1,λ2をプロットしており、赤目であるものは○で示し、赤目でないものは●で示している。図11(b)に示すように、テクスチャーパラメーターλ2の値が大きくなるほど、赤目であるものが多く分布している。従って、赤目であるか否かはテクスチャーパラメーターλ2に対して正の相関を有することとなる。一方、テクスチャーパラメーターλ1に関しては、赤目であるものと、赤目でないものがほぼ均等に分布しており、相関を有していない。テクスチャーパラメーターλ2の値が大きければ大きいほど赤目らしく、テクスチャーパラメーターλ2の値が小さければ小さいほど赤目らしくなくなる(正常となる)。なお、赤目らしさとは、主として、瞳の中央の瞳孔部分の赤目色の強さ(主として赤みや金色みの強さ)を表すものであり、−1からテクスチャーパラメーターλ2を大きくすると、瞳孔部分の色が瞳本来の色→茶(λ2≒0)→赤→金色に変動する。また、テクスチャーパラメーターλ2には統計的に赤目のサンプル画像SIが有しているテクスチャーの特徴が反映されるため、テクスチャーパラメーターλ2を変化させることにより、瞳孔部分の単純な色以外の特徴も変化する。例えば、赤目になることによって変動する瞳孔部分の色の階調変化も変動することが予測される。
【0041】
本実施例において、赤目のサンプル画像SIと、赤目でないサンプル画像SIの個数を同等とすることにより、テクスチャーパラメーターλ2が0となるとき、瞳孔の色は赤目であるとも正常であるとも言えない濃い茶色を示すこととなる。瞳における瞳孔の外側の虹彩部分の色については、赤目であるか否かに応じた色の変動が少なく、当該成分の変動は3,4番目に寄与率の大きい第3,4主成分に対応する第3,4テクスチャーベクトルa3,a4にほぼ相関することとなる。本実施例では、第4主成分(m=4)までを使用することとするが、第5主成分以降は瞳の大きさや瞳の上下位置等に対応する成分となる。なお、第3,4テクスチャーベクトルa3,a4によって変動する色彩値の色相方向が互いに異なっている。例えば、第3テクスチャーベクトルa3はR軸に沿って色彩値が変動し、第4テクスチャーベクトルa4はB軸に沿って色彩値が変動する。
【0042】
なお、目テクスチャーモデルについてのテクスチャーモデル設定ステップ(図2のステップS140)において設定された平均目画像A0(x)およびテクスチャーベクトルak(x)は、AAM情報AMI(図1)としてプリンター100の内部メモリー120に格納される。コンピューターはAAM情報AMIをいずれかの記録媒体に記録しておき、プリンター100の製造時において該記録媒体から読み出したAAM情報AMIを記録した内部メモリー120をプリンター100に組み込むか、プリンター100に組み込むまれた内部メモリー120に対して該記録媒体から読み出したAAM情報AMIを記録させる。顔特徴検出処理と目特徴検出処理を実行するにあたり、プリンター100において、内部メモリー120から目モデルとしてのAAM情報AMIを取得するCPUは本発明の「取得部」に相当する。
【0043】
A3.顔特徴検出処理:
図12は、実施例における顔特徴検出処理の流れを示すフローチャートである。本実施例における顔特徴検出処理は、AAM(顔モデル(顔形状モデル))を利用して注目画像に含まれる顔画像における特徴点CPの配置を決定する特徴点CP設定位置補正処理(ステップS250)により、顔画像における特徴部位の位置を検出する処理である。上述したように、本実施例では、AAM設定処理(図2)において、人物の顔の器官(眉毛、目、鼻、口)および顔の輪郭における計68箇所の所定位置が、特徴部位として設定されている(図4参照)。そのため、本実施例の顔特徴検出処理では、人物の顔の器官および顔の輪郭における所定位置を示す68個の特徴点CPの配置が決定される。
【0044】
なお、顔特徴検出処理によって顔画像における特徴点CPの配置が決定されると、顔画像についての形状パラメーターpiの値が特定される。従って、顔特徴検出処理の処理結果は特定の向き(例えば右向きや下向き)の顔画像を検出するための顔向き判定、顔の形状を変形する顔変形、顔の陰影補正等に利用可能である。
【0045】
はじめに、画像処理部200(図1)は、顔特徴検出処理の対象となる注目画像を表す画像データを取得する(ステップS210)。本実施例のプリンター100では、カードスロット172にメモリーカードMCが挿入されると、メモリーカードMCに格納された画像ファイルのサムネイル画像が表示部150に表示される。処理の対象となる1つまたは複数の画像は、操作部140を介してユーザーにより選択される。画像処理部200は、選択された1つまたは複数の画像に対応する画像データを含む画像ファイルをメモリーカードMCより取得して内部メモリー120の所定の領域に格納する。なお、取得された画像データを注目画像データと呼び、注目画像データの表す画像を注目画像OIと呼ぶものとする。
【0046】
顔領域検出部230(図1)は、注目画像OIに含まれる顔画像の少なくとも一部を含む画像領域を顔領域FAとして検出する(ステップS230)。顔領域FAの検出は、公知の顔検出手法を用いておこなうことができる。公知の顔検出手法としては、例えば、パターンマッチングによる手法や肌色領域抽出による手法、サンプル画像を用いた学習(例えばニューラルネットワークを用いた学習や、ブースティングを用いた学習、サポートベクターマシーンを用いた学習等)により設定される学習データを用いる手法等がある。
【0047】
図13は、注目画像OIにおける顔領域FAの検出結果の一例を示す説明図である。図13には、注目画像OIにおいて検出された顔領域FAが示されている。本実施例では、おおよそ、顔の上下方向は額から顎まで、左右方向は両耳の外側まで含む矩形の領域が顔領域FAとして検出されるような顔検出手法が用いられている。
【0048】
設定部210(図1)は、注目画像OIにおける特徴点CPの初期位置を設定する(ステップS240)。図14は、本実施例における特徴点CPの初期位置設定処理の流れを示すフローチャートである。本実施例では、設定部210は、顔領域FAに対する顔画像の大きさ、傾き、位置(上下方向の位置および左右方向の位置)を表すグローバルパラメーターの値を種々変更して、特徴点CPを注目画像OI上の仮設定位置に設定する(ステップS310)。
【0049】
図15は、グローバルパラメーターの値を変更することによる特徴点CPの仮設定位置の一例を示す説明図である。図15(a)および図15(b)には、注目画像OIにおける特徴点CPおよび特徴点CPをつないで形成されるメッシュが示されている。設定部210は、図15(a)および図15(b)の中央に示すように、顔領域FAの中央部に平均形状s0が形成されるような特徴点CPの仮設定位置(以下、「基準仮設定位置」とも呼ぶ)を設定する。
【0050】
設定部210は、また、基準仮設定位置に対して、グローバルパラメーターの値を種々変更させた複数の仮設定位置を設定する。グローバルパラメーター(大きさ、傾き、上下方向の位置および左右方向の位置)を変更することは、注目画像OIにおいて特徴点CPにより形成されるメッシュが拡大・縮小、傾きを変更、並行移動することに相当する。従って、設定部210は、図15(a)に示すように、基準仮設定位置のメッシュを所定倍率で拡大または縮小したメッシュを形成するような仮設定位置(基準仮設定位置の図の下および上に示す)や、所定角度だけ時計回りまたは半時計回りに傾きを変更したメッシュを形成するような仮設定位置(基準仮設定位置の図の右および左に示す)を設定する。また、設定部210は、基準仮設定位置のメッシュに対して、拡大・縮小および傾きの変更を組み合わせた変換を行ったメッシュを形成するような仮設定位置(基準仮設定位置の図の左上、左下、右上、右下に示す)も設定する。
【0051】
また、図15(b)に示すように、設定部210は、基準仮設定位置のメッシュを所定量だけ上または下に並行移動したメッシュを形成するような仮設定位置(基準仮設定位置の図の上および下に示す)や、左または右に並行移動したメッシュを形成するような仮設定位置(基準仮設定位置の図の左および右に示す)を設定する。また、設定部210は、基準仮設定位置のメッシュに対して、上下および左右の並行移動を組み合わせた変換を行ったメッシュを形成するような仮設定位置(基準仮設定位置の図の左上、左下、右上、右下に示す)も設定する。
【0052】
設定部210は、図15(a)に示す基準仮設定位置以外の8つの仮設定位置のそれぞれにおけるメッシュに対して図15(b)に示す上下左右の並行移動が実行される仮設定位置も設定する。従って、本実施例では、4つのグローバルパラメーター(大きさ、傾き、上下方向の位置、左右方向の位置)をそれぞれ既知の3段階の値として組み合わせにより設定される80通り(=3×3×3×3−1)の仮設定位置と、基準仮設定位置の合計81通りの仮設定位置が設定される。
【0053】
生成部222(図1)は、設定された各仮設定位置に対応する平均形状画像I(W(x;p))を生成する(ステップS320)。図16は、平均形状画像I(W(x;p))の一例を示す説明図である。平均形状画像I(W(x;p))は、入力画像における特徴点CPの配置が平均形状s0における特徴点CPの配置と等しくなるような変換によって算出される。
【0054】
平均形状画像I(W(x;p))を算出するための変換は、サンプル画像SIw算出のための変換(図8参照)と同様に、三角形領域TA毎のアフィン変換の集合であるワープWにより行われる。具体的には、注目画像OIに配置された特徴点CP(図15参照)によって平均形状領域BSA(外周に位置する特徴点CPにより囲まれた領域)が特定され、注目画像OIにおける平均形状領域BSAに対して三角形領域TA毎のアフィン変換が行われることにより、平均形状画像I(W(x;p))が算出される。本実施例では、平均形状画像I(W(x;p))は、平均顔画像A0(x)と同様に平均形状領域BSAおよびマスク領域MAにより構成され、平均顔画像A0(x)と同サイズの画像として算出される。
【0055】
なお、上述したように、画素群xは、平均形状s0における平均形状領域BSAに位置する画素の集合である。ワープW実行後の画像(平均形状s0を有する顔画像)における画素群xに対応するワープW実行前の画像(注目画像OIの平均形状領域BSA)における画素群をW(x;p)と表す。平均形状画像は、注目画像OIの平均形状領域BSAにおける画素群W(x;p)のそれぞれにおける色彩値により構成される画像であるため、I(W(x;p))と表される。図16には、図15(a)に示した9個の仮設定位置に対応する9個の平均形状画像I(W(x;p))を示している。
【0056】
算出部224(図1)は、各仮設定位置に対応する平均形状画像I(W(x;p))と、平均顔画像A0(x)との差分画像Ieを算出する(ステップS330)。特徴点CPの仮設定位置は81種類設定されているため、算出部224(図1)は、81個の差分画像Ieを算出することとなる。
【0057】
設定部210は、各差分画像Ieの画素値からノルムを算出し、ノルムの値が最も小さい差分画像Ieに対応する仮設置位置(以下「ノルム最小仮設定位置」とも呼ぶ)を、注目画像OIにおける特徴点CPの初期位置として設定する(ステップS340)。ノルムを算出するための画素値は色彩値であってもよいし輝度値であってもよい。以上により特徴点CP初期位置設定処理が完了する。なお、ノルムの値が小さいほど平均形状画像I(W(x;p))と、平均顔画像A0(x)との差が小さくなる(両者が近似する)。
【0058】
特徴点CP初期位置設定処理が完了すると、特徴位置検出部220(図1)は、注目画像OIにおける特徴点CPの設定位置の補正をおこなう(ステップS250)。図17は、本実施例における特徴点CP設定位置補正処理の流れを示すフローチャートである。
【0059】
生成部222(図1)は、注目画像OIから平均形状画像I(W(x;p))を算出する(ステップS410)。平均形状画像I(W(x;p))の算出方法は、特徴点CP初期位置設定処理におけるステップS320と同様である。
【0060】
特徴位置検出部220は、平均形状画像I(W(x;p))と平均顔画像A0(x)との差分画像Ieを算出する(ステップS420)。特徴位置検出部220は、差分画像Ieに基づき、特徴点CPの設定位置補正処理が収束したか否かを判定する(ステップS430)。特徴位置検出部220は、差分画像Ieのノルムを算出し、ノルムの値が予め設定された閾値より小さい場合には収束したと判定し、ノルムの値が閾値以上の場合には未だ収束していないと判定する。なお、特徴位置検出部220は、算出された差分画像Ieのノルムの値が前回のステップS430において算出された値よりも小さい場合には収束したと判定し、前回値以上である場合には未だ収束していないと判定するものとしてもよい。あるいは、特徴位置検出部220は、閾値による判定と前回値との比較による判定とを組み合わせて収束判定をおこなうものとしてもよい。例えば、特徴位置検出部220は、算出されたノルムの値が、閾値より小さく、かつ、前回値より小さい場合にのみ収束したと判定し、それ以外の場合には未だ収束していないと判定するものとしてもよい。
【0061】
前記のステップS430の収束判定において未だ収束していないと判定された場合には、補正部226(図1)がパラメーター更新量ΔPを算出する(ステップS450)。パラメーター更新量ΔPは、4個のグローバルパラメーター(全体としての大きさ、傾き、X方向位置、Y方向位置)、および、特徴量であるn個の形状パラメーターpi(i=1〜nの整数。)の値の変更量を意味している。なお、特徴点CPを初期位置に設定した直後においては、グローバルパラメーターは、特徴点CP初期位置設定処理(図14)において決定された値が設定されている。また、このときの特徴点CPの初期位置と平均形状s0の特徴点CPの設定位置との相違は、全体としての大きさ、傾き、位置の相違に限られるため、形状モデルにおける形状パラメーターpiの値およびテクスチャーモデルにおけるテクスチャーパラメーターλkはすべてゼロである。
【0062】
パラメーター更新量ΔPは、下記の式(3)により算出される。すなわち、パラメーター更新量ΔPは、アップデートマトリックスRと差分画像Ieとの積である。
【0063】
【数3】
【0064】
式(3)におけるアップデートマトリックスRは、差分画像Ieに基づきパラメーター更新量ΔPを算出するために予め学習により設定されたM行N列のマトリックスであり、
AAM情報AMI(図1)として内部メモリー120に格納されている。本実施例では、アップデートマトリックスRの行数Mは、グローバルパラメーターの数(4個)と、形状パラメーターpiの数(n個)との和((4+n)個)に等しく、列数Nは、平均顔画像A0(x)の平均形状領域BSA内の画素数(56画素×56画素−マスク領域MAの画素数)に等しい。アップデートマトリックスRは、下記の式(4)および(5)により算出される。
【0065】
【数4】
【数5】
【0066】
補正部226(図1)は、算出されたパラメーター更新量ΔPに基づきパラメーター(4個のグローバルパラメーターとn個の形状パラメーターpi)を更新する(ステップS460)。これにより、注目画像OIにおける特徴点CPの設定位置が補正される。補正部226は、差分画像Ieのノルムが小さくなるように補正する。パラメーターの更新の後には、再度、特徴点CPの設置位置が補正された注目画像OIからの平均形状画像I(W(x;p))の算出(ステップS410)、差分画像Ieの算出(ステップS420)、差分画像Ieに基づく収束判定(ステップS430)が行われる。なお、平均形状画像I(W(x;p))は、形状パラメーターpiの更新(変化)に応じて変化するものであり、特許請求の範囲の「顔領域」に相当する。再度の収束判定においても収束していないと判定された場合には、さらに、差分画像Ieに基づくパラメーター更新量ΔPの算出(ステップS450)、パラメーターの更新による特徴点CPの設定位置補正(ステップS460)が行われる。
【0067】
図17のステップS410からS460までの処理が繰り返し実行されると、注目画像OIにおける各特徴部位に対応する特徴点CPの位置、実際の特徴部位の位置に全体として近づいていき、ある時点で収束判定(ステップS430)において収束したと判定される。収束判定において収束したと判定されると、顔特徴検出処理が完了する(ステップS470)。このとき設定されているグローバルパラメーターおよび形状パラメーターpiの値により特定される特徴点CPの設定位置が、最終的な注目画像OIにおける特徴点CPの設定位置として特定される。
【0068】
図18は、特徴点CP設定位置補正処理の結果の一例を示す説明図である。図18には、注目画像OIにおいて最終的に特定された特徴点CPの設定位置が示されている。特徴点CPの設定位置により、注目画像OIに含まれる顔の特徴部位(人物の顔の器官(眉毛、目、鼻、口)および顔の輪郭における所定位置)の位置が特定されるため、注目画像OIにおける人物の顔の器官の形状・位置や顔の輪郭形状の検出が可能となる。注目画像OIにおいて最終的に特定された特徴点CPの位置およびグローバルパラメーターおよび形状パラメーターpiは内部メモリー120に記憶しておく。
【0069】
A4.目特徴検出処理:
図19は、目特徴検出処理(テクスチャー検出処理)の流れを示すフローチャートである。目特徴検出処理は、テクスチャー検出部240が目テクスチャーモデルを使用してテクスチャーパラメーターλkを補正する処理によって構成される。顔特徴検出処理では目の形状や位置が特定されるが、目特徴検出処理では目のテクスチャーが特定される。テクスチャー検出処理を実行するテクスチャー検出部240は、特許請求の範囲における「特徴量検出部」に相当する。
【0070】
生成部242(図1)は、注目画像OIから平均形状画像I(W(x;p))を算出する(ステップS510)。平均形状画像I(W(x;p))の算出方法は、特徴点CP初期位置設定処理におけるステップS320、および、特徴点CP設定位置補正処理におけるステップS410と同様であるが、特徴点CP設定位置補正処理完了時のグローバルパラメーターおよび形状パラメーターpiの値を使用して平均形状画像I(W(x;p))が算出される。ここで算出される平均形状画像I(W(x;p))は、ステップS430において、収束判定がなされたときの平均形状画像I(W(x;p))と同じである。次に、生成部242(図1)は、平均形状画像I(W(x;p))から右目の目領域を検出し、該目領域の画像を平均形状目画像AI(x)として抽出する(ステップS515)。右目の目領域を検出する生成部242は、特許請求の範囲における「目領域検出部」に相当する。
【0071】
図20は、平均形状画像I(W(x;p))から平均形状目画像AI(x)を抽出する様子を示している。上述したとおり、平均形状画像I(W(x;p))における目の位置および形状は、平均顔画像A0(x)における目の位置および形状と同じとなる。注目画像OIの顔画像を平均化するようなグローバルパラメーターおよび形状パラメーターpiが顔特徴検出処理によって検出されているからである。本実施例では、平均顔画像A0(x)における左右の目の領域を示す平均目領域Q1,Q2を特定する座標情報が内部メモリー120に登録してあり、該座標情報を読み出して平均形状画像I(W(x;p))から平均目領域Q1に対応する画素を抽出することにより、平均形状目画像AI(x)を抽出する。目の全体的な位置や形状は平均化されているものの、平均形状目画像AI(x)における瞳の位置や色については平均化されておらず、注目画像OIに含まれる目の個性が残存していることとなる。
【0072】
次に、平均形状目画像AI(x)を構成する各画素の色彩値を目テクスチャーモデル(下記の式(6))によって変化させた目テクスチャー画像J(T(x;λ))を算出する(ステップS517)。
【数6】
前記の式(6)の右辺は、前記の式(2b)の右辺におけるテクスチャーA(x)に平均形状目画像AI(x)を代入したものであり、テクスチャーパラメーターλkが適切に設定されれば前記の式(2b)の左辺が示すように、右辺が平均目画像A0(x)と等しくなる。ここでは、前記の式(6)の右辺によって得られる画像を、目テクスチャー画像J(T(x;λ))と表記する。最初の段階では、テクスチャーパラメーターλkの値を適当な値(例えば、すべて0とする。)に設定する。
【0073】
次に、算出部244は、目テクスチャー画像J(T(x;λ))と平均目画像A0(x)との差分画像Ieを算出する(ステップS520)。テクスチャー検出部240は、差分画像Ieに基づき、テクスチャー検出処理が収束したか否かを判定する(ステップS530)。すなわち、目テクスチャー画像J(T(x;λ))と平均目画像A0(x)とが十分に近似したか否かを判定する。テクスチャー検出部240は、差分画像Ieのノルムを算出し、ノルムの値が予め設定された閾値より小さい場合には収束したと判定し、ノルムの値が閾値以上の場合には未だ収束していないと判定する。なお、テクスチャー検出部240は、算出された差分画像Ieのノルムの値が前回のステップS530において算出された値よりも小さい場合には収束したと判定し、前回値以上である場合には未だ収束していないと判定するものとしてもよい。ここにおける収束の判定は、特徴点CP設定位置補正処理におけるステップS430と同様の手法によりおこなうことができる。
【0074】
前記のステップS530の収束判定において未だ収束していないと判定された場合には、補正部246(図1)がパラメーター更新量Δλを算出する(ステップS550)。パラメーター更新量ΔΛは、特徴量であるm個(m=4)のテクスチャーパラメーターλk(k=1〜mの整数。)の値の変更量を意味している。パラメーター更新量ΔΛは、下記の式(7)により算出される。すなわち、パラメーター更新量ΔΛは、アップデートマトリックスUと差分画像Ieとの積である。
【0075】
【数7】
【0076】
式(7)におけるアップデートマトリックスUは、差分画像Ieに基づきパラメーター更新量ΔΛを算出するために予め学習により設定されたM行N列のマトリックスであり、
AAM情報AMI(図1)として内部メモリー120に格納されている。本実施例では、アップデートマトリックスUの行数Mは、テクスチャーパラメーターλk(m個)に等しく、列数Nは、平均目領域Q1,Q2内の画素数に等しい。アップデートマトリックスUは、下記の式(8),(9)により算出される。
【数8】
【数9】
【0077】
補正部246(図1)は、算出されたパラメーター更新量ΔΛに基づきテクスチャーパラメーターλkを更新する(ステップS560)。これにより、目のテクスチャーA(x)が補正される。すなわち、補正部246は、差分画像Ieのノルムが小さくなるように補正する。パラメーターの更新の後には、再度、補正されたテクスチャーパラメーターλkに基づいて目テクスチャー画像J(T(x;λ))の算出(ステップS517)、差分画像Ieの算出(ステップS520)、差分画像Ieに基づく収束判定(ステップS530)が行われる。再度の収束判定においても収束していないと判定された場合には、さらに、差分画像Ieに基づくパラメーター更新量ΔΛの算出(ステップS550)、パラメーターの更新によるテクスチャーの補正(ステップS560)が行われる。
【0078】
図19のステップS520からS560までの処理が繰り返し実行されると、補正されたテクスチャーパラメーターλkを前記の(2a)式に適用したときの目のテクスチャーA(x)の各画素の色彩値が、実際の目画像の色彩値に全体として近づいていき、ある時点で収束判定(ステップS530)において収束したと判定される。収束判定において収束したと判定されると、右目のテクスチャー検出処理が完了し、このとき設定されているテクスチャーパラメーターλkの値により特定される目のテクスチャーA(x)が最終的な右目の見えとして特定される。次に、両目についてのテクスチャー検出処理が完了したか否かを判定する(ステップS570)。
【0079】
完了していない場合には、生成部242が平均形状画像I(W(x;p))から平均目領域Q2に対応する画素を抽出し、左右反転させた上で、目テクスチャー画像J(T(x;λ))として抽出する(ステップS580)。そして、ステップS520に戻り、左目についてのテクスチャー検出処理(ステップS520からS560)を実行する。なお、目テクスチャー画像J(T(x;λ))を反転させておくことにより、右目についての目テクスチャーモデルを使用することができる。収束判定(ステップS530)において収束したと判定されると、左目のテクスチャー検出処理が完了し、このとき設定されているテクスチャーパラメーターλkの値により特定される目のテクスチャーA(x)が最終的な左目の見えとして特定される。以上のようにして右目と左目のテクスチャーパラメーターλkが得られると、目特徴検出処理が完了し、次に赤目判定・補正処理を実行する。なお、最終的に得られた右目と左目のテクスチャーパラメーターλkは、特許請求の範囲の「近似特徴量」に相当する。
【0080】
A5.赤目判定・補正処理:
図21は、赤目判定・補正処理の流れを示すフローチャートである。まず、赤目判定部250が右目のテクスチャーパラメーターλkを取得する(ステップS610)。赤目判定部250は、テクスチャーパラメーターλ2と所定の閾値(本実施例では0とする。)とを比較し(ステップS615)、テクスチャーパラメーターλ2の値が閾値よりも大きければ赤目であると判定する(ステップS620)。図11(b)に示したように、テクスチャーパラメーターλ2の値が大きければ大きいほど、赤目らしさが強くなる。なお、赤目であるか否かを判定する赤目判定部250が特許請求の範囲の「目状態判定部」に相当する。
【0081】
赤目であると判定した場合には、赤目補正部260がテクスチャーパラメーターλ2の値を理想値(本実施例では−0.7とする。)とする(ステップS625)。これにより、テクスチャーパラメーターλ2の値は赤目らしくない値(正常な値)に修正されたこととなる。そして、赤目補正部260は、他のテクスチャーパラメーターλkの値は変更することなく、目テクスチャーモデル((2b)式)にテクスチャーパラメーターλkを代入し、右目のテクスチャーA(x)を算出する(ステップS630)。算出された右目のテクスチャーA(x)においては、赤目らしさが消失し、正常(本来の色を有する)な瞳孔の色となっている。
【0082】
図22は、本実施例において赤目が補正される様子(ステップS625〜S685)を示している。なお、ステップS630にて算出される右目のテクスチャーA(x)は、特許請求の範囲の「理想目画像」に相当する。次に、赤目補正部260は、算出された右目のテクスチャーA(x)によって、平均形状画像I(W(x;p))における平均目領域Q1に対応する領域を置き換える(ステップS635)。以上の処理により、平均形状画像I(W(x;p))の右目の赤目が正常な目に補正されたこととなる。
【0083】
引き続き、赤目判定部250は左目について同様の処理を行う。ただし、左目については左右の対称性を考慮した上で、目テクスチャーモデルの適用を行うこととする。まず、赤目判定部250が左目のテクスチャーパラメーターλkを取得する(ステップS640)。赤目判定部250は、テクスチャーパラメーターλ2と閾値とを比較し(ステップS645)、テクスチャーパラメーターλ2の値が閾値よりも大きければ赤目であると判定する(ステップS650)。赤目であると判定した場合には、赤目判定部250がテクスチャーパラメーターλ2の値を理想値とする(ステップS655)。そして、他のテクスチャーパラメーターλkの値は変更することなく、目テクスチャーモデル((2b)式)にテクスチャーパラメーターλkを代入し、左目のテクスチャーA(x)を算出する(ステップS660)。目テクスチャーモデルでは右目のテクスチャーA(x)が再現されるため、ステップS660ではテクスチャーA(x)の算出後、画像を左右反転させることとする。算出された左目のテクスチャーA(x)によって、平均形状画像I(W(x;p))における平均目領域Q2に対応する領域を置き換える(ステップS665)。以上の処理により、平均形状画像I(W(x;p))の左目の赤目を正常な目に補正することができる。
【0084】
次に、平均形状画像I(W(x;p))を、もとの顔領域FAにおける顔画像に復元する(ステップS670)。具体的には、顔特徴検出処理で得られたグローバルパラメーターと形状パラメーターpiを顔形状モデル((1a)式)に適用することにより、もとの顔の形状を再現する。さらに、復元した顔の形状sにおける特徴点CPの位置に基づいて平均形状画像I(W(x;p))の各画素をワープ処理することにより、もとの顔画像に復元する。基本的には、もとの顔画像へと復元されるが、目については赤目が正常な目に補正されているため、該補正が反映されることとなる。顔形状モデルにおける特徴点CPの相対的な位置関係も、顔特徴検出処理において特定された特徴点CP(図18)の相対的な位置関係と一致するように復元されている。各特徴点CPの位置を一致させるように、復元した顔画像の各画素の色彩値によって、注目画像OIにおける対応画素の色彩値を置換する(ステップS685)。これにより、図22の下段に示すように赤目が補正された顔画像を有する注目画像OIを得ることができる。なお、左右ともに赤目となるとは限らないため、本実施例では左右それぞれの目について赤目判定を行うようにしている。最後に、注目画像OIを印刷処理部320に出力し、赤目が補正された注目画像OIを印刷する(ステップS680)。
【0085】
本実施例では、赤目であるか否かに相関するテクスチャーパラメーターλ2の値の大きさに応じて赤目であるかを判定しているため、精度の良い判定を実現することができる。すなわち、赤目らしさを主成分分析によって統計的に解析し、テクスチャーパラメーターλ2の値によって判別しているため、漏れの少ない赤目判定を行うことができる。例えば、赤色の画素に基づいて赤目判定する場合には、フラッシュによって実際に目の色が赤く変化した場合にしか赤目であると判定することができないが、必ずしも瞳孔部分が赤く変化していなくても赤目であると判定することができる。本実施例では、赤目である場合に、瞳孔部分を特定の色(例えば、黒。)で塗りつぶすのではなく、目テクスチャーモデルにおいて赤目であるか否かに相関するテクスチャーパラメーターλ2を赤目でない値に修正するため、瞳孔部分の本来の色がどのようなものであっても自然な赤目補正を実現することができる。すなわち、瞳孔部分の本来の色に相関する成分は補正されないため、赤目後で瞳孔部分の本来の色に復元することができる。なお、瞳孔部分の本来の色は、人種等に応じた変動が少ないため、本実施例で使用する第1〜第4主成分とは相関しない。従って、自然な補正結果を得ることができる。また、瞳孔部分一様な色で塗りつぶさないため、瞳孔部分の微妙の階調変化を維持することができる。
【0086】
B.変形例:
なお、この発明は前記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0087】
B1.変形例1:
前記実施例では、テクスチャーパラメーターλ2のみを補正することとしたが、第3,4テクスチャーベクトルa3,a4についても補正するようにしてもよい。例えば、第4テクスチャーベクトルa4によってB軸に沿って色を調整することにより、虹彩部分の青みを調整するようにしてもよい。虹彩部分の色彩値と第3,4テクスチャーベクトルa3,a4との対応関係を規定したテーブルを内部メモリー120に記憶させておき、該テーブルを参照してユーザーが指定した色彩値に対応する第3,4テクスチャーパラメーターλ3,λ4に補正するようにしてもよい。これにより、カラーコンタクトレンズをしたのと同様に、虹彩の色が変化した目画像を再現させることができる。
【0088】
反対に、前記テーブルを参照することにより、目特徴検出処理によって得られた第3,4テクスチャーパラメーターλ3,λ4に基づいて虹彩部分の色彩値を得ることができる。従って、第3,4テクスチャーパラメーターλ3,λ4を人種判別や個人認証に利用することも可能である。すなわち、特許請求の範囲の「目状態判定部」によって、赤目のみならず、虹彩部分の色彩的特徴を判定してもよい。さらに、サンプル画像SIに瞳以外の白目部分に特徴を有するものを含ませることにより、白目部分についての状態を判定することもできる。例えば、充血しているサンプル画像SIと、充血していないサンプル画像SIを使用して顔テクスチャーモデルを設定することにより、いずれかの主成分に対応するテクスチャーパラメーターλkに基づいて充血しているか否かを判定することもできる。このように、サンプル画像SIに含ませる目の状態の属性を変えることにより、容易に判定の対象とする目の状態を変更することができる。
【0089】
B2.変形例2:
さらに、変形例1における第3,4テクスチャーベクトルa3,a4の補正に不随して、顔形状モデルにおける形状パラメーターpiも補正するようにしてもよい。すなわち、ステップS670において、もとの顔画像に復元する際に使用する形状パラメーターpiを、第3,4テクスチャーベクトルa3,a4と連動して補正するようにしてもよい。例えば、第3,4テクスチャーベクトルa3,a4が日本人の虹彩部分の色彩値に対応する値から西洋人の虹彩部分の色彩値に対応する値に補正されるのにともなって、西洋人の骨格の特徴点CPの位置に対応する形状パラメーターpiに補正するようにしてもよい。
【0090】
B3.変形例3:
前記実施例の特徴点CP設定位置補正処理では、注目画像OIに基づき平均形状画像I(W(x;p))を算出することにより注目画像OIの特徴点CPの設置位置を平均顔画像A0(x)の特徴点CPの設置位置に整合させているが、平均顔画像A0(x)に対して画像変換をおこなうことにより両者の特徴点CPの配置を整合させるものとしてもよい。すなわち、前記実施例では、「顔領域」としての平均形状画像I(W(x;p))を変化させることとしたが、平均顔画像A0(x)を形状パラメーターpiやテクスチャーパラメーターλkの変化に応じて変化させてもよい。いずれにしても、注目画像OIに含まれる「顔領域」と、顔モデルによって再現される顔の画像との差を小さくさせる形状パラメーターpiやテクスチャーパラメーターλkに補正されることとなる。同様に、前記実施例の目特徴検出処理では、注目画像OIに基づき目テクスチャー画像J(T(x;λ))を算出することにより注目画像OIの目画像を平均目画像A0(x)に整合させているが、平均目画像A0(x)に対して画像変換をおこなうことにより両者を整合させるものとしてもよい。
【0091】
B4.変形例4:
前記実施例におけるサンプル画像SI(図3)はあくまで一例であり、サンプル画像SIとして採用する画像の数、種類は任意に設定可能である。また、前記実施例において、特徴点CPの位置で示される顔の所定の特徴部位(図4参照)はあくまで一例であり、実施例において設定されている特徴部位の一部を省略したり、特徴部位として他の部位を採用したりしてもよい。
【0092】
また、前記実施例において、平均顔画像A0(x)のサイズは56画素×56画素に限られず他のサイズであってもよい。また、平均顔画像A0(x)は、マスク領域MA(図8)を含む必要はなく、平均形状領域BSAのみによって構成されるとしてもよい。また、平均顔画像A0(x)の代わりに、サンプル画像SIの統計的分析に基づき設定される他の基準顔画像が用いられるとしてもよい。
【0093】
また、前記実施例では、AAMを用いた形状モデルおよびテクスチャーモデルの設定が行われているが、他のモデル化手法(例えばMorphable Modelと呼ばれる手法やActive Blobと呼ばれる手法)を用いて形状モデルおよびテクスチャーモデルの設定が行われるとしてもよい。
【0094】
また、前記実施例では、メモリーカードMCに格納された画像が注目画像OIに設定されているが、注目画像OIは例えばネットワークを介して取得された画像であってもよい。また、前記実施例では、画像処理装置としてのプリンター100による画像処理を説明したが、処理の一部または全部がパーソナルコンピューターやデジタルスチルカメラ、デジタルビデオカメラ等の他の種類の画像処理装置により実行されるものとしてもよい。また、プリンター100はインクジェットプリンターに限らず、他の方式のプリンター、例えばレーザプリンターや昇華型プリンターであるとしてもよい。
【0095】
前記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【0096】
また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータープログラム)は、コンピューター読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピューター内の内部記憶装置や、ハードディスク等のコンピューターに固定されている外部記憶装置も含んでいる。
【符号の説明】
【0097】
100…プリンター、110…CPU、120…内部メモリー、140…操作部、150…表示部、160…印刷機構、170…カードインターフェース、172…カードスロット、200…画像処理部、210…設定部、220…特徴位置検出部、222,242…生成部、224,244…算出部、226,246…補正部、230…顔領域検出部、240…テクスチャー検出部、250…赤目判定部、260…赤目補正部、310…表示処理部、320…印刷処理部。
【技術分野】
【0001】
本発明は、画像に含まれる目の状態を判定する画像処理装置、画像処理方法、画像処理プログラム、および、印刷装置に関する。
【背景技術】
【0002】
従来の赤目補正の技術として、ユーザーによって赤目であると指定された領域から赤い色相を有する画素を抽出し、黒い画素に置き換えることにより、赤目を補正する技術が知られている(特許文献1、段落0034、参照。)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−304343号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した技術においては、フラッシュによって赤く変化した赤目については補正を行うことができるが、フラッシュによって金色等に変化した赤目については補正を行うことができないという問題があった。さらに、一様な色で塗りつぶすことにより、赤目となった瞳孔部分が本来有する色や、色の階調性が失われ、不自然な補正結果となるという問題があった。
本発明は、前記の課題を解決するためになされたものであり、精度良く目の状態を判定することが可能な画像処理装置、画像処理方法、画像処理プログラム、および、印刷装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
前記課題の少なくとも一部を解決するために本願発明は以下の態様を採る。すなわち、画像処理装置は目領域検出部を備え、該目領域検出部が前記注目画像から目領域を検出する。画像処理装置は取得部を備え、該取得部が特徴量に基づいて目の少なくとも一部の色を変動させながら目画像を再現する目モデルを取得する。特徴量検出部は、前記目モデルによって再現される目画像と前記目領域とが近似するときの前記特徴量を近似特徴量として検出する。さらに、目状態判定部は、前記近似特徴量に基づいて前記目領域の目の状態を判定する。前記目モデルによって再現される目画像と前記目領域とが近似するときの前記近似特徴量に基づいて目の状態を判定するため、目の画素の色相のみに基づいて目の状態を判定するよりも高精度に目の状態を判定することができる。
【0006】
前記目モデルの好適な一例として、前記取得部が、目画像を含む複数のサンプル画像の各画素の色彩値を主成分分析することにより、各主成分の固有ベクトルを線形結合することにより目画像を再現する前記目モデルを取得するようにしてもよい。複数のサンプル画像の各画素の色彩値の主成分分析によれば、目の状態に応じた色彩値分布の変動を統計的に解析することができ、単純に特定部位の色相に基づいて目の状態を判定する場合よりも高精度に目の状態を判定することができる。
【0007】
本発明によって判定を行う目の状態の一例として、赤目判定をおこなうようにしてもよい。すなわち、少なくとも赤目の目画像を含む複数の前記サンプル画像と、正常な目画像を含む複数の前記サンプル画像とを主成分分析することにより前記目モデルを取得すれば、赤目であるか否かに相関する前記特徴量に基づいて赤目判定を高精度に行うことができる。さらに、前記目領域の目が赤目であると特定された場合には、赤目補正をおこなうようにしてもよい。赤目らしさに相関する前記近似特徴量を補正することにより、該近似特徴量を赤目らしくない値とすることができる。このように補正された前記近似特徴量に基づいて前記目モデルによって目画像を再現すれば、該目画像において赤目を解消することができる。赤目らしさに相関する前記近似特徴量のみを補正すれば、他の目の特徴は維持されるため、自然な赤目補正を実現することができる。
【0008】
本発明の手法によって判定可能な目の状態は赤目に限られず、他の目の状態も判定することができる。例えば、虹彩の色が異なる目画像を含む複数の前記サンプル画像を主成分分析することにより設定された前記目モデルを取得し、前記近似特徴量に基づいて虹彩の色を判定するようにしてもよい。虹彩の色は、人物固有のものであり、人種等の判別や個人認証等に応用することができる。また、虹彩の色に相関する前記近似特徴量を補正することにより、虹彩の色を補正することも可能である。
【0009】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法および装置、特徴部位の位置検出方法および装置、表情判定方法および装置、これらの方法または装置の機能を実現するための画像処理プログラム、その画像処理プログラムを記録した記録媒体、そのコンピュータープログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の実施例における画像処理装置としてのプリンター100の構成を概略的に示す説明図である。
【図2】実施例におけるAAM設定処理の流れを示すフローチャートである。
【図3】サンプル画像SIの一例を示す説明図である。
【図4】サンプル画像SIにおける特徴点CPの設定方法の一例を示す説明図である。
【図5】サンプル画像SIに設定された特徴点CPの座標の一例を示す説明図である。
【図6】平均形状s0の一例を示す説明図である。
【図7】形状ベクトルsiおよび形状パラメーターpiと顔の形状sとの関係を例示した説明図である。
【図8】サンプル画像SIのワープWの方法の一例を示す説明図である。
【図9】平均顔画像A0(x)の一例を示す説明図である。
【図10】目テクスチャーモデルのためのサンプル画像SIの一例を示す説明図である。
【図11】テクスチャーパラメーターと目画像との関係を示すグラフである。
【図12】実施例における顔特徴検出処理の流れを示すフローチャートである。
【図13】注目画像OIにおける顔領域FAの検出結果の一例を示す説明図である。
【図14】実施例における特徴点CPの初期位置設定処理の流れを示すフローチャートである。
【図15】グローバルパラメーターの値を変更することによる特徴点CPの仮設定位置の一例を示す説明図である。
【図16】平均形状画像I(W(x;p))の一例を示す説明図である。
【図17】実施例における特徴点CP設定位置補正処理の流れを示すフローチャートである。
【図18】CP設定位置補正処理の結果の一例を示す説明図である。
【図19】目特徴検出処理(テクスチャー検出処理)の流れを示すフローチャートである。
【図20】平均形状画像から目テクスチャー画像を抽出する様子を示す説明図である。
【図21】赤目判定・補正処理の流れを示すフローチャートである。
【図22】赤目が補正される様子を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明に係る画像処理装置の一態様であるプリンターについて、図面を参照しつつ、実施例に基づいて説明する。
【0012】
A.実施例:
A1.画像処理装置の構成:
図1は、本発明の本実施例における画像処理装置としてのプリンター100の構成を概略的に示す説明図である。本実施例のプリンター100は、メモリーカードMC等から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したインクジェット式カラープリンターである。プリンター100は、プリンター100の各部を制御するCPU110と、ROMやRAMによって構成された内部メモリー120と、ボタンやタッチパネルにより構成された操作部140と、液晶ディスプレイにより構成された表示部150と、印刷機構160と、カードインターフェース(カードI/F)170と、を備えている。プリンター100は、さらに、他の機器(例えばデジタルスチルカメラやパーソナルコンピューター)とのデータ通信をおこなうためのインターフェースを備えていてもよい。プリンター100の各構成要素は、バスを介して双方向通信可能に接続されている。
【0013】
印刷機構160は、印刷データに基づき印刷をおこなう。カードインターフェース170は、カードスロット172に挿入されたメモリーカードMCとの間でデータのやり取りをおこなうためのインターフェースである。なお、本実施例では、メモリーカードMCに画像データを含む画像ファイルが格納されている。
【0014】
内部メモリー120には、画像処理部200と、表示処理部310と、印刷処理部320と、が格納されている。画像処理部200は、コンピュータープログラムであり、所定のオペレーティングシステムの下で、CPU110により実行されることで顔特徴検出処理や目特徴検出処理や赤目判定・補正処理をおこなう。顔特徴検出処理は、顔画像における所定の特徴部位(例えば目尻や鼻頭やフェイスライン)の位置を検出する処理である。顔特徴検出処理については、後に詳述する。表示処理部310、および、印刷処理部320についてもCPU110により実行されることでぞれぞれの機能を実現する。
【0015】
画像処理部200は、プログラムモジュールとして、設定部210と、特徴位置検出部220と、顔領域検出部230と、テクスチャー検出部240と、赤目判定部250と、赤目補正部260と、を含んでいる。特徴位置検出部220とテクスチャー検出部240は、それぞれ生成部222,242と、算出部224,244と、補正部226,246と、を含んでいる。これら各部の機能については、後述の顔特徴検出処理および赤目判定・補正処理の説明において詳述する。
【0016】
表示処理部310は、表示部150を制御して、表示部150上に処理メニューやメッセージ、画像等を表示させるディスプレイドライバーである。印刷処理部320は、画像データから印刷データを生成し、印刷機構160を制御して、印刷データに基づく画像の印刷を実行するためのコンピュータープログラムである。CPU110は、内部メモリー120から、これらのプログラム(画像処理部200、表示処理部310、印刷処理部320)を読み出して実行することにより、これら各部の機能を実現する。
【0017】
内部メモリー120には、AAM情報AMIが格納されている。AAM情報AMIは、後述のAAM設定処理によって予め設定される情報であり、後述の顔特徴検出処理や目特徴検出処理において取得され、使用される。AAM情報AMIの内容については、後述のAAM設定処理の説明において詳述する。
【0018】
A2.AAM設定処理:
図2は、本実施例におけるAAM設定処理の流れを示すフローチャートである。AAM設定処理は、AAM(アクティブアピアランスモデル(Active Appearance Model))と呼ばれる画像のモデル化に用いられる顔形状モデルおよび顔テクスチャーモデルおよび目テクスチャーモデルを設定する処理である。本実施例において、AAM設定処理は、オペレーターがコンピューターを使用することによりおこなわれる。コンピューターは、CPUとRAMとROMとHDDとディスプレイと入力装置等を有しており、これらがバスによって接続されている。CPUはHDDに記録されたプログラムを読み出し、該プログラムにしたがった演算処理を実行することにより、コンピューターが後述する各処理を実行させる。なお、目テクスチャーモデルは、特許請求の範囲の「目モデル」に相当する。
【0019】
はじめに、オペレーターは、人物の顔を含んだ複数の画像をサンプル画像SIとして用意する(ステップS110)。図3は、サンプル画像SIの一例を示す説明図である。図3に示すように、サンプル画像SIは、個性・人種・性別・表情・向き(正面向き、上向き、下向き、右向き、左向き等)といった種々の属性に関して互いに相違する顔画像が含まれるように用意される。これらのサンプル画像SIによれば、AAMによってあらゆる顔画像を精度良くモデル化することが可能となり、あらゆる顔画像を対象とした精度の良い顔特徴検出処理(後述)の実行が可能となる。なお、サンプル画像SIは、学習用画像とも呼ばれる。また、本明細書において、左右方向とは、被写体の人物を基準とした左右方向を示すものとする。
【0020】
以下、サンプル群G1に属するサンプル画像SIに対しておこなう処理を例に説明する。サンプル群G1に属するそれぞれのサンプル画像SIに含まれる顔画像に、特徴点CPを設定する(ステップS120)。図4は、サンプル画像SIにおける特徴点CPの設定方法の一例を示す説明図である。特徴点CPは、顔画像における所定の特徴部位の位置を示す点である。本実施例では、所定の特徴部位として、人物の顔における眉毛上の所定位置(例えば端点や4分割点等、以下同じ)、目の輪郭上の所定位置、鼻筋および小鼻の輪郭上の所定位置、上下唇の輪郭上の所定位置、顔の輪郭(フェイスライン)上の所定位置といった68箇所の部位が設定されている。すなわち、本実施例では、人物の顔に共通して含まれる顔の器官(眉毛、目、鼻、口)および顔の輪郭における所定位置を、特徴部位として設定する。図4に示すように、特徴点CPは、各サンプル画像SIにおいてオペレーターにより指定された68個の特徴部位を表す位置に設定(配置)される。このように設定された各特徴点CPは各特徴部位に対応しているため、顔画像における特徴点CPの配置は顔の形状を特定していると表現することができる。
【0021】
サンプル画像SIにおける特徴点CPの位置は、座標により特定される。図5は、サンプル画像SIに設定された特徴点CPの座標の一例を示す説明図である。図5において、SI(g)(g=1,2,3・・・)は各サンプル画像SIを示しており、CP(k)(k=0,1,・・・,67)は各特徴点CPを示している。また、CP(k)−Xは、特徴点CP(k)のX座標を示しており、CP(k)−Yは、特徴点CP(k)のY座標を示している。特徴点CPの座標としては、顔の大きさと顔の傾き(画像面内の傾き)と顔のX方向およびY方向の位置とのそれぞれについて正規化されたサンプル画像SIにおける所定の基準点(例えば画像の左下の点)を原点とした座標が用いられる。また、本実施例では、1つのサンプル画像SIに複数の人物の顔画像が含まれる場合が許容されており(例えばサンプル画像SI(2)には2人の顔画像が含まれている)、1つのサンプル画像SIにおける各人物は人物IDによって特定される。各サンプル画像SIと、各特徴点CPの座標と、人物IDとは、コンピューターに入力される。
【0022】
つづいて、オペレーターは、AAMの顔形状モデルの設定をおこなう(ステップS130)。具体的には、各サンプル画像SIにおける68個の特徴点CPの座標(X座標およびY座標)により構成される座標ベクトル(図5参照)に対する主成分分析をコンピューターがおこない、さらにコンピューターが特徴点CPの位置により特定される顔の形状sを下記の式(1)によりモデル化する。なお、顔形状モデルは、特徴点CPの配置モデルとも呼ぶ。
【0023】
【数1】
【0024】
前記式(1)において、s0は平均形状である。図6は、平均形状s0の一例を示す説明図である。図6(a)および(b)に示すように、平均形状s0は、サンプル画像SIの各特徴点CPについての平均位置(平均座標)により特定される平均的な顔の形状を表すモデルである。なお、本実施例では、平均形状s0において、外周に位置する特徴点CP(フェイスラインおよび眉毛、眉間に対応する特徴点CP、図4参照)を結ぶ直線により囲まれた領域(図6(b)においてハッチングを付して示す)を「平均形状領域BSA」と呼ぶ。コンピューターは、平均形状s0に対して、図6(a)に示すように、特徴点CPを頂点とする複数の三角形領域TAを、平均形状領域BSAをメッシュ状に分割するように設定する。
【0025】
顔形状モデルを表す前記式(1)において、siは形状ベクトルであり、piは形状ベクトルsiの重みを表す形状パラメーターである。形状ベクトルsiは、顔の形状sの特性を表すベクトルであり、主成分分析により得られる第i主成分に対応する固有ベクトルである。前記式(1)に示すように、本実施例における顔形状モデルでは、特徴点CPの配置を表す顔形状sが、平均形状s0とn個の形状ベクトルsiの線形結合との和としてモデル化される。前記式(1a)が示すように、顔形状モデルにおいて形状パラメーターpiを適切に設定することにより、あらゆる画像における顔の形状sを再現することが可能である。また、前記式(1b)が示すように、顔形状モデルにおいて形状パラメーターpiを適切に設定することにより、あらゆる形状sから平均形状s0へと逆変換することができる。
【0026】
図7は、形状ベクトルsiおよび形状パラメーターpiと、顔の形状sとの関係を例示した説明図である。図7(a)に示すように、コンピューターは、顔の形状sを特定するために、寄与率のより大きい主成分に対応する固有ベクトルから順に、累積寄与率の高い順に選択された個数n(本実施例では10個とする。)の固有ベクトルを、形状ベクトルsiとして採用する。形状ベクトルsiのそれぞれは、図7(a)の矢印に示すように、各特徴点CPの移動方向・移動量と対応している。本実施例では、最も寄与率の大きい第1主成分に対応する第1形状ベクトルs1は顔の左右振りにほぼ相関するベクトルとなっており、形状パラメーターp1を大小することにより、図7(b)に示すように、顔の形状sの横方向の顔向きが変化する。2番目に寄与率の大きい第2主成分に対応する第2形状ベクトルs2は顔の上下振りにほぼ相関するベクトルとなっており、形状パラメーターp2を大小することにより、図7(c)に示すように、顔の形状sの縦方向の顔向きが変化する。また、3番目に寄与率の大きい第3主成分に対応する第3形状ベクトルs3は顔の形状の縦横比にほぼ相関するベクトルとなっており、4番目に寄与率の大きい第4主成分に対応する第4形状ベクトルs4は口の開きの程度にほぼ相関するベクトルとなっている。このように、形状パラメーターの値は、顔の表情や、顔向きなど顔画像の特徴を表す。
【0027】
なお、形状モデル設定ステップ(ステップS130)においてコンピューターが設定した平均形状s0および形状ベクトルsiは、AAM情報AMI(図1)としてプリンター100の内部メモリー120に格納される。つづいて、コンピューターはAAMの顔テクスチャーモデルの設定をおこなう(ステップS140)。具体的には、まず、各サンプル画像SIに対して、サンプル画像SIにおける特徴点CPの設定位置が平均形状s0における特徴点CPの設定位置と等しくなるように、画像変換(以下、「ワープW」とも呼ぶ)をおこなう。
【0028】
図8は、サンプル画像SIのワープWの方法の一例を示す説明図である。コンピューターは、各サンプル画像SIにおいて、平均形状s0と同様に、外周に位置する特徴点CPにより囲まれた領域をメッシュ状に分割する複数の三角形領域TAを設定する。ワープWは、複数の三角形領域TAのそれぞれについてのアフィン変換の集合である。すなわち、ワープWにおいては、サンプル画像SIにおけるある三角形領域TAの画像は、平均形状s0における対応する三角形領域TAの画像へとアフィン変換される。コンピューターは、ワープWにより、特徴点CPの設定位置が平均形状s0における特徴点CPの設定位置と等しいサンプル画像SI(以下「サンプル画像SIw」と表す)を生成する。
【0029】
なお、各サンプル画像SIwは、平均形状領域BSA(図8においてハッチングを付して示す)を内包する矩形枠を外周とし、平均形状領域BSA以外の領域(以下「マスク領域MA」とも呼ぶ)がマスクされた画像として生成される。平均形状領域BSAとマスク領域MAとを併せた画像領域を基準領域BAと呼ぶ。また、コンピューターは、各サンプル画像SIwを、例えば56画素×56画素のサイズの画像として正規化する。
【0030】
次に、コンピューターは、各サンプル画像SIwの画素群xのそれぞれにおける色彩値(RGB)により構成される色彩値ベクトルに対する主成分分析を行い、顔のテクスチャー(「見え」とも呼ぶ)A(x)を下記の式(2)によりモデル化する。なお、画素群xは、平均形状領域BSAに位置する画素の集合である。
【数2】
【0031】
前記式(2)において、A0(x)は平均顔画像である。図9は、平均顔画像A0(x)の一例を示す説明図である。平均顔画像A0(x)は、ワープWの後のサンプル画像SIw(図8参照)の平均の顔が表された画像である。すなわち、平均顔画像A0(x)は、サンプル画像SIwの平均形状領域BSA内の画素群xの画素値(色彩値)の平均をとることにより算出される画像である。従って、平均顔画像A0(x)は、平均的な顔の形状における平均的な顔のテクスチャー(見え)を表すモデルである。なお、平均顔画像A0(x)は、サンプル画像SIwと同様に、平均形状領域BSAとマスク領域MAとで構成され、例えば56画素×56画素のサイズの画像として算出される。
【0032】
顔テクスチャーモデルを表す前記式(2)において、ak(x)はテクスチャーベクトルであり、λkはテクスチャーベクトルak(x)の重みを表すテクスチャーパラメーターである。テクスチャーベクトルak(x)は、顔のテクスチャーA(x)の特性を表すベクトルであり、具体的には、主成分分析により得られる第k主成分に対応する固有ベクトルである。すなわち、寄与率のより大きい主成分に対応する固有ベクトルから順に、累積寄与率に基づき設定された個数m(本実施例では4個とする。)の固有ベクトルが、テクスチャーベクトルak(x)として採用される。本実施例では、最も寄与率の大きい第1主成分に対応する第1テクスチャーベクトルA1(x)は、顔色の変化(性別の差とも捉えられる)にほぼ相関するベクトルとなっている。
【0033】
前記式(2)に示すように、本実施例における顔テクスチャーモデルでは、顔の見えを表す顔のテクスチャーA(x)が、平均顔画像A0(x)とm個のテクスチャーベクトルak(x)の線形結合との和としてモデル化される。前記式(2a)に示すように、顔テクスチャーモデルにおいてテクスチャーパラメーターλkを適切に設定することにより、あらゆる画像における顔のテクスチャーA(x)を再現することが可能である。逆に、前記式(2b)に示すように、顔テクスチャーモデルにおいてテクスチャーパラメーターλkを適切に設定することにより、あらゆる画像における顔のテクスチャーA(x)から平均顔画像A0(x)へと逆変換することができる。
【0034】
なお、テクスチャーモデル設定ステップ(図2のステップS140)において設定された平均顔画像A0(x)およびテクスチャーベクトルak(x)は、AAM情報AMI(図1)としてプリンター100の内部メモリー120に格納される。コンピューターはAAM情報AMIをいずれかの記録媒体に記録しておき、プリンター100の製造時において該記録媒体から読み出したAAM情報AMIを記録した内部メモリー120をプリンター100に組み込むか、プリンター100に組み込むまれた内部メモリー120に対して該記録媒体から読み出したAAM情報AMIを記録させる。
【0035】
ここまでの処理により、顔の形状をモデル化する顔形状モデルと、顔のテクスチャーをモデル化する顔テクスチャーモデルが設定される。設定された顔形状モデルと顔テクスチャーモデルとを組み合わせることにより、すなわち合成されたテクスチャーA(x)に対して平均形状s0から形状sへの変換(図8に示したワープWの逆変換)をおこなうことにより、あらゆる顔画像の形状およびテクスチャーを再現することが可能である。顔形状モデルと、顔テクスチャーモデルが設定されると、同様の手法によって目モデルとしての目テクスチャーモデルを設定する。
【0036】
目テクスチャーモデルの設定もAAM設定処理(図2)に従って行われる。ただし、目はほぼ平面であると考えることができるため、目についての形状モデルの設定(ステップS130)は実行しない。目テクスチャーモデルを設定するにあたり、オペレーターは、人物の目画像を含んだ複数の画像をサンプル画像SIとして用意する(ステップS110)。図10は、サンプル画像SIの一例を示す説明図である。図4に示すように、サンプル画像SIは、目における瞳の位置(中央、左方向、右方向、上方向、下方向)・瞳の色・赤目(フラッシュの光が網膜にて反射したときの目のことであり、必ずしも色相が赤色であるものに限られない。)といった種々の属性に関して互いに相違する目画像が含まれるように用意される。これらの属性は、各サンプル画像SIに対応づけられている。目テクスチャーモデルのロバスト性を向上させるために、眼鏡を着用した場合のサンプル画像SIも含ませるようにしても良い。これらのサンプル画像SIによれば、AAMによってあらゆる目画像を精度良くモデル化することが可能となり、あらゆる目画像を対象とした精度の良い目特徴検出処理(後述)の実行が可能となる。なお、右目と左目は互いに左右対称にモデル化することができるため、本実施例では右目の目画像のみをモデル化する。
【0037】
瞳の位置や赤目の場合を含めた瞳の色をモデル化することができればよいため、サンプル画像SIにおいて目の形状(目輪郭)のばらつきは小さい方が望ましい。なお、目の形状や大きさについては目輪郭について特徴点CPを設定する顔形状モデルによって検出が可能である。目画像についてのサンプル画像SIは、顔画像についてのサンプル画像SIwから目に対応する画像領域のみを抽出することにより用意されてもよい。サンプル画像SIwは、各サンプル画像SIを、特徴点CPの設定位置が平均形状s0における特徴点CPの設定位置と等しくなるように変形したものであるため、目画像の位置と形状と大きさが一定となる。従って、サンプル画像SIwから一定の位置と形状と大きさの画像領域を抽出することにより、形状と大きさが平均化された目画像についてのサンプル画像SIを得ることができる。本実施例では、右目をモデル化するものとし、左目のサンプル画像SIについては、予め左右反転させておく。
【0038】
目画像についてのサンプル画像SIが用意できると、上述した顔テクスチャーモデルと同様のAAM設定処理をおこなうことにより目テクスチャーモデルを設定する。顔テクスチャーモデルと同様に、前記の(2)式によって目画像のテクスチャーが再現できる。なお、目テクスチャーモデルにおいては、前記の(2)式のA(x)は任意の目画像を示し、A0(x)は平均目画像を示し、ak(x)とλkは顔テクスチャーモデルと同様にテクスチャーベクトルとテクスチャーパラメーターを示す。本実施例では、最も寄与率の大きい第1主成分に対応する第1テクスチャーベクトルa1は瞳の水平方向の位置にほぼ相関するベクトルとなっており、テクスチャーパラメーターλ1を大小することにより、目における瞳の水平方向の位置が変化する。2番目に寄与率の大きい第2主成分に対応する第2テクスチャーベクトルλ2は赤目であるか否かにほぼ相関するベクトルとなっており、テクスチャーパラメーターλ2を大小することにより、赤目らしさが変化する。
【0039】
図11(a)はテクスチャーパラメーターλ1の値と瞳の(水平)位置との相関を示し、図11(b)はテクスチャーパラメーターλ1,λ2の値と赤目であるか否かの相関を示している。図11(a)において、横軸はテクスチャーパラメーターλ1の値(−1〜1)を示し、縦軸は目における瞳の水平方向の位置を示している。同図に示すように、テクスチャーパラメーターλ1の値が大きければ大きいほど、瞳の位置は内寄り(鼻寄り:右目については左寄り)となり、テクスチャーパラメーターλ1の値が0のとき瞳の位置は内寄りでも外寄りでもない中央(視線が正面方向となるときの瞳の位置)となる。テクスチャーパラメーターλ1の値が小さければ小さいほど、瞳の位置は外寄り(輪郭寄り:右目については右寄り)となる。
【0040】
図11(b)において、横軸と縦軸は、テクスチャーパラメーターλ1,λ2の値(−1〜1)を示している。図11(b)においてテクスチャーパラメーターλ1,λ2をプロットしており、赤目であるものは○で示し、赤目でないものは●で示している。図11(b)に示すように、テクスチャーパラメーターλ2の値が大きくなるほど、赤目であるものが多く分布している。従って、赤目であるか否かはテクスチャーパラメーターλ2に対して正の相関を有することとなる。一方、テクスチャーパラメーターλ1に関しては、赤目であるものと、赤目でないものがほぼ均等に分布しており、相関を有していない。テクスチャーパラメーターλ2の値が大きければ大きいほど赤目らしく、テクスチャーパラメーターλ2の値が小さければ小さいほど赤目らしくなくなる(正常となる)。なお、赤目らしさとは、主として、瞳の中央の瞳孔部分の赤目色の強さ(主として赤みや金色みの強さ)を表すものであり、−1からテクスチャーパラメーターλ2を大きくすると、瞳孔部分の色が瞳本来の色→茶(λ2≒0)→赤→金色に変動する。また、テクスチャーパラメーターλ2には統計的に赤目のサンプル画像SIが有しているテクスチャーの特徴が反映されるため、テクスチャーパラメーターλ2を変化させることにより、瞳孔部分の単純な色以外の特徴も変化する。例えば、赤目になることによって変動する瞳孔部分の色の階調変化も変動することが予測される。
【0041】
本実施例において、赤目のサンプル画像SIと、赤目でないサンプル画像SIの個数を同等とすることにより、テクスチャーパラメーターλ2が0となるとき、瞳孔の色は赤目であるとも正常であるとも言えない濃い茶色を示すこととなる。瞳における瞳孔の外側の虹彩部分の色については、赤目であるか否かに応じた色の変動が少なく、当該成分の変動は3,4番目に寄与率の大きい第3,4主成分に対応する第3,4テクスチャーベクトルa3,a4にほぼ相関することとなる。本実施例では、第4主成分(m=4)までを使用することとするが、第5主成分以降は瞳の大きさや瞳の上下位置等に対応する成分となる。なお、第3,4テクスチャーベクトルa3,a4によって変動する色彩値の色相方向が互いに異なっている。例えば、第3テクスチャーベクトルa3はR軸に沿って色彩値が変動し、第4テクスチャーベクトルa4はB軸に沿って色彩値が変動する。
【0042】
なお、目テクスチャーモデルについてのテクスチャーモデル設定ステップ(図2のステップS140)において設定された平均目画像A0(x)およびテクスチャーベクトルak(x)は、AAM情報AMI(図1)としてプリンター100の内部メモリー120に格納される。コンピューターはAAM情報AMIをいずれかの記録媒体に記録しておき、プリンター100の製造時において該記録媒体から読み出したAAM情報AMIを記録した内部メモリー120をプリンター100に組み込むか、プリンター100に組み込むまれた内部メモリー120に対して該記録媒体から読み出したAAM情報AMIを記録させる。顔特徴検出処理と目特徴検出処理を実行するにあたり、プリンター100において、内部メモリー120から目モデルとしてのAAM情報AMIを取得するCPUは本発明の「取得部」に相当する。
【0043】
A3.顔特徴検出処理:
図12は、実施例における顔特徴検出処理の流れを示すフローチャートである。本実施例における顔特徴検出処理は、AAM(顔モデル(顔形状モデル))を利用して注目画像に含まれる顔画像における特徴点CPの配置を決定する特徴点CP設定位置補正処理(ステップS250)により、顔画像における特徴部位の位置を検出する処理である。上述したように、本実施例では、AAM設定処理(図2)において、人物の顔の器官(眉毛、目、鼻、口)および顔の輪郭における計68箇所の所定位置が、特徴部位として設定されている(図4参照)。そのため、本実施例の顔特徴検出処理では、人物の顔の器官および顔の輪郭における所定位置を示す68個の特徴点CPの配置が決定される。
【0044】
なお、顔特徴検出処理によって顔画像における特徴点CPの配置が決定されると、顔画像についての形状パラメーターpiの値が特定される。従って、顔特徴検出処理の処理結果は特定の向き(例えば右向きや下向き)の顔画像を検出するための顔向き判定、顔の形状を変形する顔変形、顔の陰影補正等に利用可能である。
【0045】
はじめに、画像処理部200(図1)は、顔特徴検出処理の対象となる注目画像を表す画像データを取得する(ステップS210)。本実施例のプリンター100では、カードスロット172にメモリーカードMCが挿入されると、メモリーカードMCに格納された画像ファイルのサムネイル画像が表示部150に表示される。処理の対象となる1つまたは複数の画像は、操作部140を介してユーザーにより選択される。画像処理部200は、選択された1つまたは複数の画像に対応する画像データを含む画像ファイルをメモリーカードMCより取得して内部メモリー120の所定の領域に格納する。なお、取得された画像データを注目画像データと呼び、注目画像データの表す画像を注目画像OIと呼ぶものとする。
【0046】
顔領域検出部230(図1)は、注目画像OIに含まれる顔画像の少なくとも一部を含む画像領域を顔領域FAとして検出する(ステップS230)。顔領域FAの検出は、公知の顔検出手法を用いておこなうことができる。公知の顔検出手法としては、例えば、パターンマッチングによる手法や肌色領域抽出による手法、サンプル画像を用いた学習(例えばニューラルネットワークを用いた学習や、ブースティングを用いた学習、サポートベクターマシーンを用いた学習等)により設定される学習データを用いる手法等がある。
【0047】
図13は、注目画像OIにおける顔領域FAの検出結果の一例を示す説明図である。図13には、注目画像OIにおいて検出された顔領域FAが示されている。本実施例では、おおよそ、顔の上下方向は額から顎まで、左右方向は両耳の外側まで含む矩形の領域が顔領域FAとして検出されるような顔検出手法が用いられている。
【0048】
設定部210(図1)は、注目画像OIにおける特徴点CPの初期位置を設定する(ステップS240)。図14は、本実施例における特徴点CPの初期位置設定処理の流れを示すフローチャートである。本実施例では、設定部210は、顔領域FAに対する顔画像の大きさ、傾き、位置(上下方向の位置および左右方向の位置)を表すグローバルパラメーターの値を種々変更して、特徴点CPを注目画像OI上の仮設定位置に設定する(ステップS310)。
【0049】
図15は、グローバルパラメーターの値を変更することによる特徴点CPの仮設定位置の一例を示す説明図である。図15(a)および図15(b)には、注目画像OIにおける特徴点CPおよび特徴点CPをつないで形成されるメッシュが示されている。設定部210は、図15(a)および図15(b)の中央に示すように、顔領域FAの中央部に平均形状s0が形成されるような特徴点CPの仮設定位置(以下、「基準仮設定位置」とも呼ぶ)を設定する。
【0050】
設定部210は、また、基準仮設定位置に対して、グローバルパラメーターの値を種々変更させた複数の仮設定位置を設定する。グローバルパラメーター(大きさ、傾き、上下方向の位置および左右方向の位置)を変更することは、注目画像OIにおいて特徴点CPにより形成されるメッシュが拡大・縮小、傾きを変更、並行移動することに相当する。従って、設定部210は、図15(a)に示すように、基準仮設定位置のメッシュを所定倍率で拡大または縮小したメッシュを形成するような仮設定位置(基準仮設定位置の図の下および上に示す)や、所定角度だけ時計回りまたは半時計回りに傾きを変更したメッシュを形成するような仮設定位置(基準仮設定位置の図の右および左に示す)を設定する。また、設定部210は、基準仮設定位置のメッシュに対して、拡大・縮小および傾きの変更を組み合わせた変換を行ったメッシュを形成するような仮設定位置(基準仮設定位置の図の左上、左下、右上、右下に示す)も設定する。
【0051】
また、図15(b)に示すように、設定部210は、基準仮設定位置のメッシュを所定量だけ上または下に並行移動したメッシュを形成するような仮設定位置(基準仮設定位置の図の上および下に示す)や、左または右に並行移動したメッシュを形成するような仮設定位置(基準仮設定位置の図の左および右に示す)を設定する。また、設定部210は、基準仮設定位置のメッシュに対して、上下および左右の並行移動を組み合わせた変換を行ったメッシュを形成するような仮設定位置(基準仮設定位置の図の左上、左下、右上、右下に示す)も設定する。
【0052】
設定部210は、図15(a)に示す基準仮設定位置以外の8つの仮設定位置のそれぞれにおけるメッシュに対して図15(b)に示す上下左右の並行移動が実行される仮設定位置も設定する。従って、本実施例では、4つのグローバルパラメーター(大きさ、傾き、上下方向の位置、左右方向の位置)をそれぞれ既知の3段階の値として組み合わせにより設定される80通り(=3×3×3×3−1)の仮設定位置と、基準仮設定位置の合計81通りの仮設定位置が設定される。
【0053】
生成部222(図1)は、設定された各仮設定位置に対応する平均形状画像I(W(x;p))を生成する(ステップS320)。図16は、平均形状画像I(W(x;p))の一例を示す説明図である。平均形状画像I(W(x;p))は、入力画像における特徴点CPの配置が平均形状s0における特徴点CPの配置と等しくなるような変換によって算出される。
【0054】
平均形状画像I(W(x;p))を算出するための変換は、サンプル画像SIw算出のための変換(図8参照)と同様に、三角形領域TA毎のアフィン変換の集合であるワープWにより行われる。具体的には、注目画像OIに配置された特徴点CP(図15参照)によって平均形状領域BSA(外周に位置する特徴点CPにより囲まれた領域)が特定され、注目画像OIにおける平均形状領域BSAに対して三角形領域TA毎のアフィン変換が行われることにより、平均形状画像I(W(x;p))が算出される。本実施例では、平均形状画像I(W(x;p))は、平均顔画像A0(x)と同様に平均形状領域BSAおよびマスク領域MAにより構成され、平均顔画像A0(x)と同サイズの画像として算出される。
【0055】
なお、上述したように、画素群xは、平均形状s0における平均形状領域BSAに位置する画素の集合である。ワープW実行後の画像(平均形状s0を有する顔画像)における画素群xに対応するワープW実行前の画像(注目画像OIの平均形状領域BSA)における画素群をW(x;p)と表す。平均形状画像は、注目画像OIの平均形状領域BSAにおける画素群W(x;p)のそれぞれにおける色彩値により構成される画像であるため、I(W(x;p))と表される。図16には、図15(a)に示した9個の仮設定位置に対応する9個の平均形状画像I(W(x;p))を示している。
【0056】
算出部224(図1)は、各仮設定位置に対応する平均形状画像I(W(x;p))と、平均顔画像A0(x)との差分画像Ieを算出する(ステップS330)。特徴点CPの仮設定位置は81種類設定されているため、算出部224(図1)は、81個の差分画像Ieを算出することとなる。
【0057】
設定部210は、各差分画像Ieの画素値からノルムを算出し、ノルムの値が最も小さい差分画像Ieに対応する仮設置位置(以下「ノルム最小仮設定位置」とも呼ぶ)を、注目画像OIにおける特徴点CPの初期位置として設定する(ステップS340)。ノルムを算出するための画素値は色彩値であってもよいし輝度値であってもよい。以上により特徴点CP初期位置設定処理が完了する。なお、ノルムの値が小さいほど平均形状画像I(W(x;p))と、平均顔画像A0(x)との差が小さくなる(両者が近似する)。
【0058】
特徴点CP初期位置設定処理が完了すると、特徴位置検出部220(図1)は、注目画像OIにおける特徴点CPの設定位置の補正をおこなう(ステップS250)。図17は、本実施例における特徴点CP設定位置補正処理の流れを示すフローチャートである。
【0059】
生成部222(図1)は、注目画像OIから平均形状画像I(W(x;p))を算出する(ステップS410)。平均形状画像I(W(x;p))の算出方法は、特徴点CP初期位置設定処理におけるステップS320と同様である。
【0060】
特徴位置検出部220は、平均形状画像I(W(x;p))と平均顔画像A0(x)との差分画像Ieを算出する(ステップS420)。特徴位置検出部220は、差分画像Ieに基づき、特徴点CPの設定位置補正処理が収束したか否かを判定する(ステップS430)。特徴位置検出部220は、差分画像Ieのノルムを算出し、ノルムの値が予め設定された閾値より小さい場合には収束したと判定し、ノルムの値が閾値以上の場合には未だ収束していないと判定する。なお、特徴位置検出部220は、算出された差分画像Ieのノルムの値が前回のステップS430において算出された値よりも小さい場合には収束したと判定し、前回値以上である場合には未だ収束していないと判定するものとしてもよい。あるいは、特徴位置検出部220は、閾値による判定と前回値との比較による判定とを組み合わせて収束判定をおこなうものとしてもよい。例えば、特徴位置検出部220は、算出されたノルムの値が、閾値より小さく、かつ、前回値より小さい場合にのみ収束したと判定し、それ以外の場合には未だ収束していないと判定するものとしてもよい。
【0061】
前記のステップS430の収束判定において未だ収束していないと判定された場合には、補正部226(図1)がパラメーター更新量ΔPを算出する(ステップS450)。パラメーター更新量ΔPは、4個のグローバルパラメーター(全体としての大きさ、傾き、X方向位置、Y方向位置)、および、特徴量であるn個の形状パラメーターpi(i=1〜nの整数。)の値の変更量を意味している。なお、特徴点CPを初期位置に設定した直後においては、グローバルパラメーターは、特徴点CP初期位置設定処理(図14)において決定された値が設定されている。また、このときの特徴点CPの初期位置と平均形状s0の特徴点CPの設定位置との相違は、全体としての大きさ、傾き、位置の相違に限られるため、形状モデルにおける形状パラメーターpiの値およびテクスチャーモデルにおけるテクスチャーパラメーターλkはすべてゼロである。
【0062】
パラメーター更新量ΔPは、下記の式(3)により算出される。すなわち、パラメーター更新量ΔPは、アップデートマトリックスRと差分画像Ieとの積である。
【0063】
【数3】
【0064】
式(3)におけるアップデートマトリックスRは、差分画像Ieに基づきパラメーター更新量ΔPを算出するために予め学習により設定されたM行N列のマトリックスであり、
AAM情報AMI(図1)として内部メモリー120に格納されている。本実施例では、アップデートマトリックスRの行数Mは、グローバルパラメーターの数(4個)と、形状パラメーターpiの数(n個)との和((4+n)個)に等しく、列数Nは、平均顔画像A0(x)の平均形状領域BSA内の画素数(56画素×56画素−マスク領域MAの画素数)に等しい。アップデートマトリックスRは、下記の式(4)および(5)により算出される。
【0065】
【数4】
【数5】
【0066】
補正部226(図1)は、算出されたパラメーター更新量ΔPに基づきパラメーター(4個のグローバルパラメーターとn個の形状パラメーターpi)を更新する(ステップS460)。これにより、注目画像OIにおける特徴点CPの設定位置が補正される。補正部226は、差分画像Ieのノルムが小さくなるように補正する。パラメーターの更新の後には、再度、特徴点CPの設置位置が補正された注目画像OIからの平均形状画像I(W(x;p))の算出(ステップS410)、差分画像Ieの算出(ステップS420)、差分画像Ieに基づく収束判定(ステップS430)が行われる。なお、平均形状画像I(W(x;p))は、形状パラメーターpiの更新(変化)に応じて変化するものであり、特許請求の範囲の「顔領域」に相当する。再度の収束判定においても収束していないと判定された場合には、さらに、差分画像Ieに基づくパラメーター更新量ΔPの算出(ステップS450)、パラメーターの更新による特徴点CPの設定位置補正(ステップS460)が行われる。
【0067】
図17のステップS410からS460までの処理が繰り返し実行されると、注目画像OIにおける各特徴部位に対応する特徴点CPの位置、実際の特徴部位の位置に全体として近づいていき、ある時点で収束判定(ステップS430)において収束したと判定される。収束判定において収束したと判定されると、顔特徴検出処理が完了する(ステップS470)。このとき設定されているグローバルパラメーターおよび形状パラメーターpiの値により特定される特徴点CPの設定位置が、最終的な注目画像OIにおける特徴点CPの設定位置として特定される。
【0068】
図18は、特徴点CP設定位置補正処理の結果の一例を示す説明図である。図18には、注目画像OIにおいて最終的に特定された特徴点CPの設定位置が示されている。特徴点CPの設定位置により、注目画像OIに含まれる顔の特徴部位(人物の顔の器官(眉毛、目、鼻、口)および顔の輪郭における所定位置)の位置が特定されるため、注目画像OIにおける人物の顔の器官の形状・位置や顔の輪郭形状の検出が可能となる。注目画像OIにおいて最終的に特定された特徴点CPの位置およびグローバルパラメーターおよび形状パラメーターpiは内部メモリー120に記憶しておく。
【0069】
A4.目特徴検出処理:
図19は、目特徴検出処理(テクスチャー検出処理)の流れを示すフローチャートである。目特徴検出処理は、テクスチャー検出部240が目テクスチャーモデルを使用してテクスチャーパラメーターλkを補正する処理によって構成される。顔特徴検出処理では目の形状や位置が特定されるが、目特徴検出処理では目のテクスチャーが特定される。テクスチャー検出処理を実行するテクスチャー検出部240は、特許請求の範囲における「特徴量検出部」に相当する。
【0070】
生成部242(図1)は、注目画像OIから平均形状画像I(W(x;p))を算出する(ステップS510)。平均形状画像I(W(x;p))の算出方法は、特徴点CP初期位置設定処理におけるステップS320、および、特徴点CP設定位置補正処理におけるステップS410と同様であるが、特徴点CP設定位置補正処理完了時のグローバルパラメーターおよび形状パラメーターpiの値を使用して平均形状画像I(W(x;p))が算出される。ここで算出される平均形状画像I(W(x;p))は、ステップS430において、収束判定がなされたときの平均形状画像I(W(x;p))と同じである。次に、生成部242(図1)は、平均形状画像I(W(x;p))から右目の目領域を検出し、該目領域の画像を平均形状目画像AI(x)として抽出する(ステップS515)。右目の目領域を検出する生成部242は、特許請求の範囲における「目領域検出部」に相当する。
【0071】
図20は、平均形状画像I(W(x;p))から平均形状目画像AI(x)を抽出する様子を示している。上述したとおり、平均形状画像I(W(x;p))における目の位置および形状は、平均顔画像A0(x)における目の位置および形状と同じとなる。注目画像OIの顔画像を平均化するようなグローバルパラメーターおよび形状パラメーターpiが顔特徴検出処理によって検出されているからである。本実施例では、平均顔画像A0(x)における左右の目の領域を示す平均目領域Q1,Q2を特定する座標情報が内部メモリー120に登録してあり、該座標情報を読み出して平均形状画像I(W(x;p))から平均目領域Q1に対応する画素を抽出することにより、平均形状目画像AI(x)を抽出する。目の全体的な位置や形状は平均化されているものの、平均形状目画像AI(x)における瞳の位置や色については平均化されておらず、注目画像OIに含まれる目の個性が残存していることとなる。
【0072】
次に、平均形状目画像AI(x)を構成する各画素の色彩値を目テクスチャーモデル(下記の式(6))によって変化させた目テクスチャー画像J(T(x;λ))を算出する(ステップS517)。
【数6】
前記の式(6)の右辺は、前記の式(2b)の右辺におけるテクスチャーA(x)に平均形状目画像AI(x)を代入したものであり、テクスチャーパラメーターλkが適切に設定されれば前記の式(2b)の左辺が示すように、右辺が平均目画像A0(x)と等しくなる。ここでは、前記の式(6)の右辺によって得られる画像を、目テクスチャー画像J(T(x;λ))と表記する。最初の段階では、テクスチャーパラメーターλkの値を適当な値(例えば、すべて0とする。)に設定する。
【0073】
次に、算出部244は、目テクスチャー画像J(T(x;λ))と平均目画像A0(x)との差分画像Ieを算出する(ステップS520)。テクスチャー検出部240は、差分画像Ieに基づき、テクスチャー検出処理が収束したか否かを判定する(ステップS530)。すなわち、目テクスチャー画像J(T(x;λ))と平均目画像A0(x)とが十分に近似したか否かを判定する。テクスチャー検出部240は、差分画像Ieのノルムを算出し、ノルムの値が予め設定された閾値より小さい場合には収束したと判定し、ノルムの値が閾値以上の場合には未だ収束していないと判定する。なお、テクスチャー検出部240は、算出された差分画像Ieのノルムの値が前回のステップS530において算出された値よりも小さい場合には収束したと判定し、前回値以上である場合には未だ収束していないと判定するものとしてもよい。ここにおける収束の判定は、特徴点CP設定位置補正処理におけるステップS430と同様の手法によりおこなうことができる。
【0074】
前記のステップS530の収束判定において未だ収束していないと判定された場合には、補正部246(図1)がパラメーター更新量Δλを算出する(ステップS550)。パラメーター更新量ΔΛは、特徴量であるm個(m=4)のテクスチャーパラメーターλk(k=1〜mの整数。)の値の変更量を意味している。パラメーター更新量ΔΛは、下記の式(7)により算出される。すなわち、パラメーター更新量ΔΛは、アップデートマトリックスUと差分画像Ieとの積である。
【0075】
【数7】
【0076】
式(7)におけるアップデートマトリックスUは、差分画像Ieに基づきパラメーター更新量ΔΛを算出するために予め学習により設定されたM行N列のマトリックスであり、
AAM情報AMI(図1)として内部メモリー120に格納されている。本実施例では、アップデートマトリックスUの行数Mは、テクスチャーパラメーターλk(m個)に等しく、列数Nは、平均目領域Q1,Q2内の画素数に等しい。アップデートマトリックスUは、下記の式(8),(9)により算出される。
【数8】
【数9】
【0077】
補正部246(図1)は、算出されたパラメーター更新量ΔΛに基づきテクスチャーパラメーターλkを更新する(ステップS560)。これにより、目のテクスチャーA(x)が補正される。すなわち、補正部246は、差分画像Ieのノルムが小さくなるように補正する。パラメーターの更新の後には、再度、補正されたテクスチャーパラメーターλkに基づいて目テクスチャー画像J(T(x;λ))の算出(ステップS517)、差分画像Ieの算出(ステップS520)、差分画像Ieに基づく収束判定(ステップS530)が行われる。再度の収束判定においても収束していないと判定された場合には、さらに、差分画像Ieに基づくパラメーター更新量ΔΛの算出(ステップS550)、パラメーターの更新によるテクスチャーの補正(ステップS560)が行われる。
【0078】
図19のステップS520からS560までの処理が繰り返し実行されると、補正されたテクスチャーパラメーターλkを前記の(2a)式に適用したときの目のテクスチャーA(x)の各画素の色彩値が、実際の目画像の色彩値に全体として近づいていき、ある時点で収束判定(ステップS530)において収束したと判定される。収束判定において収束したと判定されると、右目のテクスチャー検出処理が完了し、このとき設定されているテクスチャーパラメーターλkの値により特定される目のテクスチャーA(x)が最終的な右目の見えとして特定される。次に、両目についてのテクスチャー検出処理が完了したか否かを判定する(ステップS570)。
【0079】
完了していない場合には、生成部242が平均形状画像I(W(x;p))から平均目領域Q2に対応する画素を抽出し、左右反転させた上で、目テクスチャー画像J(T(x;λ))として抽出する(ステップS580)。そして、ステップS520に戻り、左目についてのテクスチャー検出処理(ステップS520からS560)を実行する。なお、目テクスチャー画像J(T(x;λ))を反転させておくことにより、右目についての目テクスチャーモデルを使用することができる。収束判定(ステップS530)において収束したと判定されると、左目のテクスチャー検出処理が完了し、このとき設定されているテクスチャーパラメーターλkの値により特定される目のテクスチャーA(x)が最終的な左目の見えとして特定される。以上のようにして右目と左目のテクスチャーパラメーターλkが得られると、目特徴検出処理が完了し、次に赤目判定・補正処理を実行する。なお、最終的に得られた右目と左目のテクスチャーパラメーターλkは、特許請求の範囲の「近似特徴量」に相当する。
【0080】
A5.赤目判定・補正処理:
図21は、赤目判定・補正処理の流れを示すフローチャートである。まず、赤目判定部250が右目のテクスチャーパラメーターλkを取得する(ステップS610)。赤目判定部250は、テクスチャーパラメーターλ2と所定の閾値(本実施例では0とする。)とを比較し(ステップS615)、テクスチャーパラメーターλ2の値が閾値よりも大きければ赤目であると判定する(ステップS620)。図11(b)に示したように、テクスチャーパラメーターλ2の値が大きければ大きいほど、赤目らしさが強くなる。なお、赤目であるか否かを判定する赤目判定部250が特許請求の範囲の「目状態判定部」に相当する。
【0081】
赤目であると判定した場合には、赤目補正部260がテクスチャーパラメーターλ2の値を理想値(本実施例では−0.7とする。)とする(ステップS625)。これにより、テクスチャーパラメーターλ2の値は赤目らしくない値(正常な値)に修正されたこととなる。そして、赤目補正部260は、他のテクスチャーパラメーターλkの値は変更することなく、目テクスチャーモデル((2b)式)にテクスチャーパラメーターλkを代入し、右目のテクスチャーA(x)を算出する(ステップS630)。算出された右目のテクスチャーA(x)においては、赤目らしさが消失し、正常(本来の色を有する)な瞳孔の色となっている。
【0082】
図22は、本実施例において赤目が補正される様子(ステップS625〜S685)を示している。なお、ステップS630にて算出される右目のテクスチャーA(x)は、特許請求の範囲の「理想目画像」に相当する。次に、赤目補正部260は、算出された右目のテクスチャーA(x)によって、平均形状画像I(W(x;p))における平均目領域Q1に対応する領域を置き換える(ステップS635)。以上の処理により、平均形状画像I(W(x;p))の右目の赤目が正常な目に補正されたこととなる。
【0083】
引き続き、赤目判定部250は左目について同様の処理を行う。ただし、左目については左右の対称性を考慮した上で、目テクスチャーモデルの適用を行うこととする。まず、赤目判定部250が左目のテクスチャーパラメーターλkを取得する(ステップS640)。赤目判定部250は、テクスチャーパラメーターλ2と閾値とを比較し(ステップS645)、テクスチャーパラメーターλ2の値が閾値よりも大きければ赤目であると判定する(ステップS650)。赤目であると判定した場合には、赤目判定部250がテクスチャーパラメーターλ2の値を理想値とする(ステップS655)。そして、他のテクスチャーパラメーターλkの値は変更することなく、目テクスチャーモデル((2b)式)にテクスチャーパラメーターλkを代入し、左目のテクスチャーA(x)を算出する(ステップS660)。目テクスチャーモデルでは右目のテクスチャーA(x)が再現されるため、ステップS660ではテクスチャーA(x)の算出後、画像を左右反転させることとする。算出された左目のテクスチャーA(x)によって、平均形状画像I(W(x;p))における平均目領域Q2に対応する領域を置き換える(ステップS665)。以上の処理により、平均形状画像I(W(x;p))の左目の赤目を正常な目に補正することができる。
【0084】
次に、平均形状画像I(W(x;p))を、もとの顔領域FAにおける顔画像に復元する(ステップS670)。具体的には、顔特徴検出処理で得られたグローバルパラメーターと形状パラメーターpiを顔形状モデル((1a)式)に適用することにより、もとの顔の形状を再現する。さらに、復元した顔の形状sにおける特徴点CPの位置に基づいて平均形状画像I(W(x;p))の各画素をワープ処理することにより、もとの顔画像に復元する。基本的には、もとの顔画像へと復元されるが、目については赤目が正常な目に補正されているため、該補正が反映されることとなる。顔形状モデルにおける特徴点CPの相対的な位置関係も、顔特徴検出処理において特定された特徴点CP(図18)の相対的な位置関係と一致するように復元されている。各特徴点CPの位置を一致させるように、復元した顔画像の各画素の色彩値によって、注目画像OIにおける対応画素の色彩値を置換する(ステップS685)。これにより、図22の下段に示すように赤目が補正された顔画像を有する注目画像OIを得ることができる。なお、左右ともに赤目となるとは限らないため、本実施例では左右それぞれの目について赤目判定を行うようにしている。最後に、注目画像OIを印刷処理部320に出力し、赤目が補正された注目画像OIを印刷する(ステップS680)。
【0085】
本実施例では、赤目であるか否かに相関するテクスチャーパラメーターλ2の値の大きさに応じて赤目であるかを判定しているため、精度の良い判定を実現することができる。すなわち、赤目らしさを主成分分析によって統計的に解析し、テクスチャーパラメーターλ2の値によって判別しているため、漏れの少ない赤目判定を行うことができる。例えば、赤色の画素に基づいて赤目判定する場合には、フラッシュによって実際に目の色が赤く変化した場合にしか赤目であると判定することができないが、必ずしも瞳孔部分が赤く変化していなくても赤目であると判定することができる。本実施例では、赤目である場合に、瞳孔部分を特定の色(例えば、黒。)で塗りつぶすのではなく、目テクスチャーモデルにおいて赤目であるか否かに相関するテクスチャーパラメーターλ2を赤目でない値に修正するため、瞳孔部分の本来の色がどのようなものであっても自然な赤目補正を実現することができる。すなわち、瞳孔部分の本来の色に相関する成分は補正されないため、赤目後で瞳孔部分の本来の色に復元することができる。なお、瞳孔部分の本来の色は、人種等に応じた変動が少ないため、本実施例で使用する第1〜第4主成分とは相関しない。従って、自然な補正結果を得ることができる。また、瞳孔部分一様な色で塗りつぶさないため、瞳孔部分の微妙の階調変化を維持することができる。
【0086】
B.変形例:
なお、この発明は前記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0087】
B1.変形例1:
前記実施例では、テクスチャーパラメーターλ2のみを補正することとしたが、第3,4テクスチャーベクトルa3,a4についても補正するようにしてもよい。例えば、第4テクスチャーベクトルa4によってB軸に沿って色を調整することにより、虹彩部分の青みを調整するようにしてもよい。虹彩部分の色彩値と第3,4テクスチャーベクトルa3,a4との対応関係を規定したテーブルを内部メモリー120に記憶させておき、該テーブルを参照してユーザーが指定した色彩値に対応する第3,4テクスチャーパラメーターλ3,λ4に補正するようにしてもよい。これにより、カラーコンタクトレンズをしたのと同様に、虹彩の色が変化した目画像を再現させることができる。
【0088】
反対に、前記テーブルを参照することにより、目特徴検出処理によって得られた第3,4テクスチャーパラメーターλ3,λ4に基づいて虹彩部分の色彩値を得ることができる。従って、第3,4テクスチャーパラメーターλ3,λ4を人種判別や個人認証に利用することも可能である。すなわち、特許請求の範囲の「目状態判定部」によって、赤目のみならず、虹彩部分の色彩的特徴を判定してもよい。さらに、サンプル画像SIに瞳以外の白目部分に特徴を有するものを含ませることにより、白目部分についての状態を判定することもできる。例えば、充血しているサンプル画像SIと、充血していないサンプル画像SIを使用して顔テクスチャーモデルを設定することにより、いずれかの主成分に対応するテクスチャーパラメーターλkに基づいて充血しているか否かを判定することもできる。このように、サンプル画像SIに含ませる目の状態の属性を変えることにより、容易に判定の対象とする目の状態を変更することができる。
【0089】
B2.変形例2:
さらに、変形例1における第3,4テクスチャーベクトルa3,a4の補正に不随して、顔形状モデルにおける形状パラメーターpiも補正するようにしてもよい。すなわち、ステップS670において、もとの顔画像に復元する際に使用する形状パラメーターpiを、第3,4テクスチャーベクトルa3,a4と連動して補正するようにしてもよい。例えば、第3,4テクスチャーベクトルa3,a4が日本人の虹彩部分の色彩値に対応する値から西洋人の虹彩部分の色彩値に対応する値に補正されるのにともなって、西洋人の骨格の特徴点CPの位置に対応する形状パラメーターpiに補正するようにしてもよい。
【0090】
B3.変形例3:
前記実施例の特徴点CP設定位置補正処理では、注目画像OIに基づき平均形状画像I(W(x;p))を算出することにより注目画像OIの特徴点CPの設置位置を平均顔画像A0(x)の特徴点CPの設置位置に整合させているが、平均顔画像A0(x)に対して画像変換をおこなうことにより両者の特徴点CPの配置を整合させるものとしてもよい。すなわち、前記実施例では、「顔領域」としての平均形状画像I(W(x;p))を変化させることとしたが、平均顔画像A0(x)を形状パラメーターpiやテクスチャーパラメーターλkの変化に応じて変化させてもよい。いずれにしても、注目画像OIに含まれる「顔領域」と、顔モデルによって再現される顔の画像との差を小さくさせる形状パラメーターpiやテクスチャーパラメーターλkに補正されることとなる。同様に、前記実施例の目特徴検出処理では、注目画像OIに基づき目テクスチャー画像J(T(x;λ))を算出することにより注目画像OIの目画像を平均目画像A0(x)に整合させているが、平均目画像A0(x)に対して画像変換をおこなうことにより両者を整合させるものとしてもよい。
【0091】
B4.変形例4:
前記実施例におけるサンプル画像SI(図3)はあくまで一例であり、サンプル画像SIとして採用する画像の数、種類は任意に設定可能である。また、前記実施例において、特徴点CPの位置で示される顔の所定の特徴部位(図4参照)はあくまで一例であり、実施例において設定されている特徴部位の一部を省略したり、特徴部位として他の部位を採用したりしてもよい。
【0092】
また、前記実施例において、平均顔画像A0(x)のサイズは56画素×56画素に限られず他のサイズであってもよい。また、平均顔画像A0(x)は、マスク領域MA(図8)を含む必要はなく、平均形状領域BSAのみによって構成されるとしてもよい。また、平均顔画像A0(x)の代わりに、サンプル画像SIの統計的分析に基づき設定される他の基準顔画像が用いられるとしてもよい。
【0093】
また、前記実施例では、AAMを用いた形状モデルおよびテクスチャーモデルの設定が行われているが、他のモデル化手法(例えばMorphable Modelと呼ばれる手法やActive Blobと呼ばれる手法)を用いて形状モデルおよびテクスチャーモデルの設定が行われるとしてもよい。
【0094】
また、前記実施例では、メモリーカードMCに格納された画像が注目画像OIに設定されているが、注目画像OIは例えばネットワークを介して取得された画像であってもよい。また、前記実施例では、画像処理装置としてのプリンター100による画像処理を説明したが、処理の一部または全部がパーソナルコンピューターやデジタルスチルカメラ、デジタルビデオカメラ等の他の種類の画像処理装置により実行されるものとしてもよい。また、プリンター100はインクジェットプリンターに限らず、他の方式のプリンター、例えばレーザプリンターや昇華型プリンターであるとしてもよい。
【0095】
前記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【0096】
また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータープログラム)は、コンピューター読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピューター内の内部記憶装置や、ハードディスク等のコンピューターに固定されている外部記憶装置も含んでいる。
【符号の説明】
【0097】
100…プリンター、110…CPU、120…内部メモリー、140…操作部、150…表示部、160…印刷機構、170…カードインターフェース、172…カードスロット、200…画像処理部、210…設定部、220…特徴位置検出部、222,242…生成部、224,244…算出部、226,246…補正部、230…顔領域検出部、240…テクスチャー検出部、250…赤目判定部、260…赤目補正部、310…表示処理部、320…印刷処理部。
【特許請求の範囲】
【請求項1】
注目画像に含まれる目の状態を判定する画像処理装置であって、
前記注目画像から目領域を検出する目領域検出部と、
特徴量に基づいて目の少なくとも一部の色を変動させながら目画像を再現する目モデルを取得する取得部と、
前記目モデルによって再現される目画像と前記目領域とが近似するときの前記特徴量を近似特徴量として検出する特徴量検出部と、
前記近似特徴量に基づいて前記目領域の目の状態を判定する目状態判定部と、を備える画像処理装置。
【請求項2】
前記取得部は、目画像を含む複数のサンプル画像の各画素の色彩値を主成分分析することにより、各主成分の固有ベクトルを線形結合することにより目画像を再現する前記目モデルを取得するとともに、
前記特徴量は、各固有ベクトルを線形結合する際の各主成分に関する重み係数である請求項1に記載の画像処理装置。
【請求項3】
前記目モデルは、少なくとも赤目の目画像を含む複数の前記サンプル画像と、正常な目画像を含む複数の前記サンプル画像とを主成分分析することにより設定され、
前記目状態判定部は、前記近似特徴量に基づいて前記目領域の目が赤目であるか否かを判定する請求項2に記載の画像処理装置。
【請求項4】
前記目領域の目が赤目であると判定された場合、赤目らしさに相関する前記近似特徴量を補正した前記近似特徴量に基づいて前記目モデルが再現する目画像によって前記目領域を補正する補正部をさらに備える請求項3に記載の画像処理装置。
【請求項5】
前記目モデルは、虹彩の色が異なる目画像を含む複数の前記サンプル画像を主成分分析することにより設定され、
前記目状態判定部は、前記近似特徴量に基づいて虹彩の色を判定する請求項2に記載の画像処理装置。
【請求項6】
注目画像に含まれる目の状態を判定する画像処理方法であって、
前記注目画像から目領域を検出し、
特徴量に基づいて目の少なくとも一部の色を変動させながら目画像を再現する目モデルを取得し、
前記目モデルによって再現される目画像と前記目領域とが近似するときの特徴量を近似特徴量として検出し、
前記近似特徴量に基づいて前記目領域の目の状態を判定する画像処理方法。
【請求項7】
注目画像に含まれる目の状態を判定する機能をコンピューターに実現させる画像処理プログラムであって、
前記注目画像から目領域を検出する目領域検出機能と、
特徴量に基づいて目の少なくとも一部の色を変動させながら目画像を再現する目モデルを取得する取得機能と、
前記目モデルによって再現される目画像と前記目領域とが近似するときの前記特徴量を近似特徴量として検出する特徴量検出機能と、
前記近似特徴量に基づいて前記目領域の目の状態を判定する目状態判定機能と、をコンピューターに実現させる画像処理プログラム。
【請求項8】
注目画像を印刷する印刷装置であって、
前記注目画像から目領域を検出する目領域検出部と、
特徴量に基づいて目の少なくとも一部の色を変動させながら目画像を再現する目モデルを取得する取得部と、
前記目モデルによって再現される目画像と前記目領域とが近似するときの特徴量を近似特徴量として検出する特徴量検出部と、
前記近似特徴量に基づいて前記目領域の目の状態を判定する目状態判定部と、
前記近似特徴量を補正し、該修正した前記近似特徴量に基づいて前記目モデルが再現する目画像によって前記注目画像における前記目領域を補正する補正部と、
前記目領域が補正された前記注目画像を印刷する印刷部と、を備える印刷装置。
【請求項1】
注目画像に含まれる目の状態を判定する画像処理装置であって、
前記注目画像から目領域を検出する目領域検出部と、
特徴量に基づいて目の少なくとも一部の色を変動させながら目画像を再現する目モデルを取得する取得部と、
前記目モデルによって再現される目画像と前記目領域とが近似するときの前記特徴量を近似特徴量として検出する特徴量検出部と、
前記近似特徴量に基づいて前記目領域の目の状態を判定する目状態判定部と、を備える画像処理装置。
【請求項2】
前記取得部は、目画像を含む複数のサンプル画像の各画素の色彩値を主成分分析することにより、各主成分の固有ベクトルを線形結合することにより目画像を再現する前記目モデルを取得するとともに、
前記特徴量は、各固有ベクトルを線形結合する際の各主成分に関する重み係数である請求項1に記載の画像処理装置。
【請求項3】
前記目モデルは、少なくとも赤目の目画像を含む複数の前記サンプル画像と、正常な目画像を含む複数の前記サンプル画像とを主成分分析することにより設定され、
前記目状態判定部は、前記近似特徴量に基づいて前記目領域の目が赤目であるか否かを判定する請求項2に記載の画像処理装置。
【請求項4】
前記目領域の目が赤目であると判定された場合、赤目らしさに相関する前記近似特徴量を補正した前記近似特徴量に基づいて前記目モデルが再現する目画像によって前記目領域を補正する補正部をさらに備える請求項3に記載の画像処理装置。
【請求項5】
前記目モデルは、虹彩の色が異なる目画像を含む複数の前記サンプル画像を主成分分析することにより設定され、
前記目状態判定部は、前記近似特徴量に基づいて虹彩の色を判定する請求項2に記載の画像処理装置。
【請求項6】
注目画像に含まれる目の状態を判定する画像処理方法であって、
前記注目画像から目領域を検出し、
特徴量に基づいて目の少なくとも一部の色を変動させながら目画像を再現する目モデルを取得し、
前記目モデルによって再現される目画像と前記目領域とが近似するときの特徴量を近似特徴量として検出し、
前記近似特徴量に基づいて前記目領域の目の状態を判定する画像処理方法。
【請求項7】
注目画像に含まれる目の状態を判定する機能をコンピューターに実現させる画像処理プログラムであって、
前記注目画像から目領域を検出する目領域検出機能と、
特徴量に基づいて目の少なくとも一部の色を変動させながら目画像を再現する目モデルを取得する取得機能と、
前記目モデルによって再現される目画像と前記目領域とが近似するときの前記特徴量を近似特徴量として検出する特徴量検出機能と、
前記近似特徴量に基づいて前記目領域の目の状態を判定する目状態判定機能と、をコンピューターに実現させる画像処理プログラム。
【請求項8】
注目画像を印刷する印刷装置であって、
前記注目画像から目領域を検出する目領域検出部と、
特徴量に基づいて目の少なくとも一部の色を変動させながら目画像を再現する目モデルを取得する取得部と、
前記目モデルによって再現される目画像と前記目領域とが近似するときの特徴量を近似特徴量として検出する特徴量検出部と、
前記近似特徴量に基づいて前記目領域の目の状態を判定する目状態判定部と、
前記近似特徴量を補正し、該修正した前記近似特徴量に基づいて前記目モデルが再現する目画像によって前記注目画像における前記目領域を補正する補正部と、
前記目領域が補正された前記注目画像を印刷する印刷部と、を備える印刷装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2010−282340(P2010−282340A)
【公開日】平成22年12月16日(2010.12.16)
【国際特許分類】
【出願番号】特願2009−133994(P2009−133994)
【出願日】平成21年6月3日(2009.6.3)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成22年12月16日(2010.12.16)
【国際特許分類】
【出願日】平成21年6月3日(2009.6.3)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]