説明

画像処理装置

【課題】顔の特徴部位の座標位置の検出処理に多くの時間を要しており、また、当該検出の精度向上が望まれていた。
【解決手段】画像に含まれる顔の特徴部位の座標位置を検出する画像処理装置であって、注目画像から顔の少なくとも一部を含む画像領域を顔領域として検出する顔領域検出部と、上記顔領域を含む所定範囲の画像を上記注目画像からトリミングするトリミング部と、上記トリミングされた画像のサイズを所定サイズに変換する変換部と、上記サイズが変換された画像に基づいて上記特徴部位の座標位置を検出する特徴位置検出部とを備える。上記変換部は、上記トリミングされた画像に対するノイズ低減のための処理とともに上記サイズの変換を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像に含まれる顔の特徴部位の座標位置を検出する画像処理装置に関する。
【背景技術】
【0002】
視覚的事象のモデル化手法として、アクティブアピアランスモデル(Active Appearance Model、略して「AAM」とも呼ばれる)が知られている。AAMでは、例えば、複数のサンプル画像に含まれる顔の特徴部位(例えば目尻や鼻頭やフェイスライン)の位置(座標)や画素値(例えば輝度値)の統計的分析を通じて、上記特徴部位の位置により特定される顔の形状を表す形状モデルや、平均的な顔の形状における「見え(Appearance)」を表すテクスチャーモデルが設定され、これらのモデルを用いて顔画像がモデル化される。AAMによれば、任意の顔画像のモデル化(合成)が可能であり、また、画像に含まれる顔の特徴部位の位置の検出が可能である(特許文献1参照。)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007‐141107号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、顔の特徴部位の位置の検出処理においては、処理対象となる注目画像から、顔の特徴部位に対応していると想定されるポイント(特徴点)に囲まれた画像範囲の画素をサンプリングしつつ一定形状の画像にアフィン変換し、当該アフィン変換後の画像と上記平均的な形状および見えの顔画像とを比較することにより、上記顔の特徴部位に対応していると想定されたポイントに対する評価(特徴部位の座標位置に近いか否かの評価)を行なう。
【0005】
しかしながら上述した検出処理においては、上記アフィン変換の過程でのサンプリングの際に、注目画像全体を対象として画素を走査し必要な画素を抽出していたため、検出処理に多くの時間を要していた。
また上記検出処理においては、上記サンプリングの際に、所要のサンプリング率で画素を単純に抽出していたため、上記アフィン変換の結果得られる画像は、画質が低くノイズを含み得るような画像であった。そのため、このような変換の結果得られた画像に基づいた上記評価の精度は十分に高いものとは言えず、結果、上記特徴部位の位置の検出精度を高い水準とすることが難しかった。
【0006】
本発明は上記課題の少なくとも一つを解決するためになされたものであり、画像に含まれる顔の特徴部位の位置を検出する処理の高速化・高精度化を図ることを目的とする。
【課題を解決するための手段】
【0007】
本発明の態様の一つは、画像に含まれる顔の特徴部位の座標位置を検出する画像処理装置であって、注目画像から顔の少なくとも一部を含む画像領域を顔領域として検出する顔領域検出部と、上記顔領域を含む所定範囲の画像を上記注目画像からトリミングするトリミング部と、上記トリミングされた画像のサイズを所定サイズに変換する変換部と、上記サイズが変換された画像に基づいて上記特徴部位の座標位置を検出する特徴位置検出部とを備える。
本発明によれば、注目画像からトリミングして所定サイズに変換した後の画像を対象として上記特徴部位の座標位置の検出処理を実行するため、当該検出処理の際に走査対象となる画像が注目画像全体よりも狭いものとなり、結果、従来よりも当該検出処理の高速化が実現される。なお上記特徴部位とは、例えば、眉毛と目と鼻と口とフェイスラインとの一部であってもよい。この場合、眉毛と目と鼻と口とフェイスラインとの一部について良好に座標位置を検出することができる。
【0008】
上記変換部は、上記トリミングされた画像に対するノイズ低減のための処理とともに上記サイズの変換を実行するとしてもよい。当該構成によれば、ノイズ低減処理が施され且つサイズが上記のように変換された後の画像を対象として上記座標位置の検出処理を実行するため、ノイズの影響を受けて当該検出結果がぶれてしまうことが防止され、従来よりも当該検出処理の高精度化が実現される。
【0009】
上記変換部は、上記トリミングされた画像のサイズに応じて異なるノイズ低減用のフィルターを用いてノイズ低減のための処理を実行するとしてもよい。当該構成によれば、トリミングされる画像のサイズに応じた最適なフィルター処理によりノイズ低減を行なうことができる。
【0010】
上記トリミング部は、顔領域に対する顔画像の大きさ、角度、位置を表す予め規定された各パラメーターに応じて顔領域を基準にして特定される範囲の全て含む範囲をトリミングするとしてもよい。当該構成によれば、顔の特徴部位の座標位置を検出するために必要十分な画像範囲を確実にトリミングすることができる。
【0011】
上記特徴位置検出部は、上記サイズが変換された画像に対して上記特徴部位の座標位置を検出するための特徴点を設定し、上記サイズが変換された画像の一部を特徴点の配置が所定の配置となるように変換した画像である平均形状画像を生成し、上記平均形状画像と、複数のサンプル画像を平均化することにより生成された画像である平均顔画像と、の差分値を算出し、上記算出した差分値に基づいて、上記サイズが変換された画像における特徴点の設定位置を更新することにより、当該設定位置を上記特徴部位の座標位置に近づけるように補正し、上記補正された設定位置を上記特徴部位の座標位置として検出する構成としてもよい。当該構成によれば、平均形状画像と平均顔画像との差分値に基づいて、上記サイズが変換された画像における特徴点の設定位置を補正して、特徴部位の座標位置を検出するため、画像に含まれる顔の特徴部位の位置を良好に検出することができる。
【0012】
上記特徴位置検出部は、上記差分値が所定のしきい値より小さい値となるまで、上記サイズが変換された画像における特徴点の設定位置の更新を繰り返し実行し、上記差分値が上記しきい値より小さい値となった場合、上記サイズが変換された画像における特徴点の配置を上記サイズが変更された画像と上記トリミングされた画像との大きさの比に応じて注目画像において再現することにより、注目画像上に特徴点を設定し、上記注目画像における特徴点の配置が上記所定の配置となるように当該注目画像の一部を変換した画像である平均形状画像を生成し、当該平均形状画像と上記平均顔画像との差分値に基づいて当該注目画像における特徴点の設定位置を更新することにより、当該注目画像における特徴点の設定位置を上記特徴部位の座標位置に近づけるように補正し、上記補正された注目画像における特徴点の設定位置を上記特徴部位の座標位置として検出する構成としてもよい。当該構成によれば、上記サイズが変換された画像上において、特徴点の設定位置を、実際に写っている顔の特徴部位の位置との一致率が極めて高い状態にまで補正することができ、その上で上記サイズが変換された画像における特徴点の配置を注目画像において再現し、さらに、この注目画像における特徴点の設定位置を特徴部位の座標位置に近づけるように補正するため、注目画像に含まれる顔の特徴部位の位置を非常に正確に検出することができる。
【0013】
上記特徴位置検出部は、上記注目画像における特徴点の設定位置を更新する処理を、予め規定された回数を上限として実行するとしてもよい。上述したように上記サイズが変換された画像において設定位置が適切に補正された後の特徴点の配置が注目画像において再現された時点で、当該再現された配置にかかる特徴点は注目画像内の特徴部位の位置をかなり正確に示していると言える。そのため、注目画像における特徴点の設定位置を更新する処理は予め規定された回数を上限として実行するだけで、注目画像に含まれる顔の特徴部位の位置を非常に正確に検出することができる。
【0014】
上記変換部は、上記トリミングされた画像の明るさ、コントラスト、色彩のうちの少なくとも一つ以上の要素を上記平均顔画像に近づける補正処理とともに上記サイズの変換を実行するとしてもよい。当該構成によれば、上記サイズが変換された画像を変換して生成する平均形状画像と上記平均形状画像との明るさや色彩を近づけることができるため、その時の特徴点の設定位置以外の要因によって上記差分値がなかなか小さくならない(収束しない)といった不都合を回避することができ、結果、上記検出処理の高速化・高精度化がより一層図られる。
【0015】
本発明の技術的思想は、画像処理装置以外によっても実現可能である。例えば、画像処理装置の各部が実行する処理工程を有する画像処理方法の発明や、画像処理装置の各部が実行する機能をコンピューターに実行させるコンピューター読取可能なプログラムの発明をも把握可能である。
【図面の簡単な説明】
【0016】
【図1】画像処理装置としてのプリンターの構成を概略的に示す説明図である。
【図2】AAM設定処理を示すフローチャートである。
【図3】サンプル画像SIの一例を示す説明図である。
【図4】サンプル画像SIにおける特徴点CPの設定方法の一例を示す説明図である。
【図5】サンプル画像SIに設定された特徴点CPの座標の一例を示す説明図である。
【図6】平均形状sの一例を示す説明図である。
【図7】形状ベクトルsおよび形状パラメーターpと顔の形状sとの関係を例示した説明図である。
【図8】サンプル画像SIのワープWの方法の一例を示す説明図である。
【図9】平均顔画像A(x)の一例を示す説明図である。
【図10】顔特徴位置検出処理を示すフローチャートである。
【図11】注目画像OIにおける顔領域FAの検出結果の一例を示す説明図である。
【図12】特徴点CPの初期位置設定処理を示すフローチャートである。
【図13】グローバルパラメーターの値を変更することによる特徴点CPの仮設定位置の一例を示す説明図である。
【図14】平均形状画像I(W(x;p))の一例を示す説明図である。
【図15】検出対象画像における特徴点CP設定位置補正処理を示すフローチャートである。
【図16】顔特徴位置検出処理の結果の一例を示す説明図である。
【図17】グローバルパラメーターに応じて顔領域を基準にして特定される各範囲の一例を示した図である。
【図18】注目画像OIから画像をトリミングしてアフィン変換する様子の一例を示した図である。
【図19】注目画像における特徴点CP設定位置補正処理を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明の実施例を図面を参照しながら説明する。
1.画像処理装置の構成
図1は、本実施例にかかる画像処理装置としてのプリンター100の構成を概略的に示す説明図である。プリンター100は、メモリーカードMC等から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したインクジェット式カラープリンターである。プリンター100は、プリンター100の各部を制御するCPU110と、ROMやRAMによって構成された内部メモリー120と、ボタンやタッチパネルにより構成された操作部140と、液晶ディスプレイにより構成された表示部150と、印刷機構160と、カードインターフェース(カードI/F)170と、を備えている。プリンター100は、さらに、他の機器(例えばデジタルスチルカメラやコンピューター300)とのデータ通信を行うためのインターフェース(I/F)180を備える。プリンター100の各構成要素は、バスを介して双方向通信可能に接続されている。
【0018】
印刷機構160は、印刷データに基づき印刷を行う。カードインターフェース170は、カードスロット172に挿入されたメモリーカードMCとの間でデータのやり取りを行うためのインターフェースである。なお、本実施例では、メモリーカードMCに画像データを含む画像ファイルが格納されている。
【0019】
内部メモリー120には、画像処理部200と、表示処理部310と、印刷処理部320と、が格納されている。画像処理部200は、コンピュータープログラムであり、所定のオペレーティングシステムの下で、CPU110により実行されることで顔特徴位置検出処理をおこなう。顔特徴位置検出処理は、顔画像における所定の特徴部位(例えば目尻や鼻頭やフェイスライン)の座標位置を検出する処理である。顔特徴位置検出処理については、後に詳述する。表示処理部310、および、印刷処理部320についてもCPU110により実行されることでぞれぞれの機能を実現する。
【0020】
画像処理部200は、プログラムモジュールとして、特徴位置検出部220と、顔領域検出部230と、トリミング部250と、変換部260と、を含んでいる。特徴位置検出部220は、設定部221と、生成部222と、算出部224と、補正部226と、を含んでいる。これら各部の機能については、後述の顔特徴位置検出処理の説明において詳述する。
【0021】
表示処理部310は、表示部150を制御して、表示部150上に処理メニューやメッセージ、画像等を表示させるディスプレイドライバーである。印刷処理部320は、画像データから印刷データを生成し、印刷機構160を制御して、印刷データに基づく画像の印刷を実行するためのコンピュータープログラムである。CPU110は、内部メモリー120から、これらのプログラム(画像処理部200、表示処理部310、印刷処理部320)を読み出して実行することにより、これら各部の機能を実現する。
【0022】
内部メモリー120には、また、AAM情報AMIが格納されている。AAM情報AMIは、後述のAAM設定処理によって予め設定される情報であり、後述の顔特徴位置検出処理において参照される。AAM情報AMIの内容については、後述のAAM設定処理の説明において詳述する。
【0023】
2.AAM設定処理
図2は、本実施例におけるAAM設定処理の流れを示すフローチャートである。AAM設定処理は、AAM(アクティブアピアランスモデル(Active Appearance Model))と呼ばれる画像のモデル化に用いられる形状モデルおよびテクスチャーモデルを設定する処理である。本実施例において、AAM設定処理は、ユーザーがAAM設定用に用意されたコンピューター300を操作することにより行なわれる。コンピューター300は、CPUとRAMとROMとHDDとディスプレイと入力装置等を有しており、これらがバスによって接続されている。CPUはHDDに記録されたプログラムを読み出し、該プログラムに従った演算処理を実行することにより、コンピューター300が後述するAAM設定処理を実行する。
【0024】
はじめに、ユーザーは、人物の顔を含んだ複数の画像をサンプル画像SIとしてコンピューター300のメモリー(HDD)上に用意する(ステップS110)。
図3は、サンプル画像SIの一例を示す説明図である。図3に示すように、サンプル画像SIは、個性、人種・性別、表情(怒り、笑い、困り、驚き等)、向き(正面向き、上向き、下向き、右向き、左向き等)といった種々の属性に関して互いに相違する顔画像が含まれるように用意される。サンプル画像SIがそのように用意されれば、AAMによってあらゆる顔画像を精度良くモデル化することが可能となり、あらゆる顔画像を対象とした精度の良い顔特徴位置検出処理(後述)の実行が可能となる。なお、サンプル画像SIは、学習用画像とも呼ばれる。
【0025】
次に、ユーザーの所定の操作によって、コンピューター300は、それぞれのサンプル画像SIに含まれる顔画像に、特徴点CPを設定する(ステップS120)。
図4は、サンプル画像SIにおける特徴点CPの設定方法の一例を示す説明図である。特徴点CPは、顔画像における所定の特徴部位の位置を示す点である。本実施例では、所定の特徴部位として、人物の顔における眉毛上の所定位置(例えば端点や4分割点等、以下同じ)、目の輪郭上の所定位置、鼻筋および小鼻の輪郭上の所定位置、上下唇の輪郭上の所定位置、顔の輪郭(フェイスライン)上の所定位置といった68箇所の部位が設定されている。すなわち、本実施例では、人物の顔に共通して含まれる顔の器官(眉毛、目、鼻、口)および顔の輪郭における所定位置を、特徴部位として設定する。図4に示すように、特徴点CPは、コンピューター300がディスプレイに表示したサンプル画像SIにおいてユーザーの操作により画面上で指定された68個の特徴部位を表す位置に設定(配置)される。このように設定された各特徴点CPは各特徴部位に対応しているため、顔画像における特徴点CPの配置は顔の形状を特定していると表現することができる。サンプル画像SIにおける特徴点CPの位置は、座標により特定される。
【0026】
図5は、サンプル画像SIに設定された特徴点CPの座標の一例を示す説明図である。図5において、SI(j)(j=1,2,3・・・)は各サンプル画像SIを示しており、CP(k)(k=0,1,・・・,67)は、対応するサンプル画像SIの各特徴点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によって特定される。
【0027】
つづいて、コンピューター300は、AAMの形状モデルの設定をおこなう(ステップS130)。具体的には、各サンプル画像SIにおける68個の特徴点CPの座標(X座標およびY座標)により構成される座標ベクトル(図5参照)に対する主成分分析をおこない、特徴点CPの位置により特定される顔の形状sを下記の式(1)によりモデル化する。なお、形状モデルは、特徴点CPの配置モデルとも呼ぶ。
【0028】
【数1】

【0029】
上記式(1)において、sは平均形状である。
図6は、平均形状sの一例を示す説明図である。図6(a)および(b)に示すように、平均形状sは、サンプル画像SIの各特徴点CPについての平均位置(平均座標)により特定される平均的な顔の形状を表すモデルである。なお、本実施例では、平均形状sにおいて、外周に位置する特徴点CP(フェイスラインおよび眉毛、眉間に対応する特徴点CP、図4参照)を結ぶ直線により囲まれた領域(図6(b)においてハッチングを付して示す)を「平均形状領域BSA」と呼ぶ。平均形状sにおいては、図6(a)に示すように、特徴点CPを頂点とする複数の三角形領域TAが、平均形状領域BSAをメッシュ状に分割するように設定される。
【0030】
形状モデルを表す上記式(1)において、sは形状ベクトルであり、pは形状ベクトルsの重みを表す形状パラメーターである。形状ベクトルsは、顔の形状sの特性を表すベクトルであり、主成分分析により得られる第i主成分に対応する固有ベクトルである。上記式(1)に示すように、本実施例における形状モデルでは、特徴点CPの配置を表す顔形状sが、平均形状sとn個の形状ベクトルsの線形結合との和としてモデル化される。形状モデルにおいて形状パラメーターpを適切に設定することにより、あらゆる画像における顔の形状sを再現することが可能である。
【0031】
図7は、形状ベクトルsおよび形状パラメーターpと、顔の形状sとの関係を例示した説明図である。図7(a)に示すように、顔の形状sを特定するために、寄与率のより大きい主成分に対応する固有ベクトルから順に、累積寄与率に基づき設定された個数n(図7ではn=4)の固有ベクトルが、形状ベクトルsとして採用される。形状ベクトルsのそれぞれは、図7(a)の矢印に示すように、各特徴点CPの移動方向・移動量と対応している。本実施例では、最も寄与率の大きい第1主成分に対応する第1形状ベクトルsは顔の左右振りにほぼ相関するベクトルとなっており、形状パラメーターpを大小させることにより、図7(b)に示すように、顔の形状sの横方向の顔向きが変化する。2番目に寄与率の大きい第2主成分に対応する第2形状ベクトルsは顔の上下振りにほぼ相関するベクトルとなっており、形状パラメーターpを大小させることにより、図7(c)に示すように、顔の形状sの縦方向の顔向きが変化する。また、3番目に寄与率の大きい第3主成分に対応する第3形状ベクトルsは顔の形状の縦横比にほぼ相関するベクトルとなっており、4番目に寄与率の大きい第4主成分に対応する第4形状ベクトルsは口の開きの程度にほぼ相関するベクトルとなっている。このように、形状パラメーターの値は、顔の表情や、顔向きなど顔画像の特徴を表す。形状パラメーターは、特徴部位の座標が既知の顔画像を含む複数のサンプル画像に基づいて算出された特徴量である。
【0032】
なお、コンピューター300は、形状モデル設定ステップ(ステップS130)において設定した平均形状sおよび形状ベクトルsを、プリンター100に送信する。プリンター100は、送信されたこれらの平均形状sおよび形状ベクトルsの情報を、AAM情報AMI(図1)として内部メモリー120に格納する。
【0033】
つづいて、コンピューター300は、AAMのテクスチャーモデルの設定をおこなう(ステップS140)。具体的には、まず、各サンプル画像SIに対して、サンプル画像SIにおける特徴点CPの設定位置が平均形状sにおける特徴点CPの設定位置と等しくなるように、画像変換(以下、「ワープW」とも呼ぶ)を行う。
【0034】
図8は、サンプル画像SIのワープWの方法の一例を示す説明図である。各サンプル画像SIにおいては、平均形状sと同様に、外周に位置する特徴点CPにより囲まれた領域をメッシュ状に分割する複数の三角形領域TAが設定される。ワープWは、複数の三角形領域TAのそれぞれについてのアフィン変換の集合である。すなわち、ワープWにおいては、サンプル画像SIにおけるある三角形領域TAの画像は、平均形状sにおける対応する三角形領域TAの画像へとアフィン変換される。ワープWにより、特徴点CPの設定位置が平均形状sにおける特徴点CPの設定位置と等しいサンプル画像SI(以下「サンプル画像SIw」と表す)が生成される。
【0035】
なお、各サンプル画像SIwは、平均形状領域BSA(図8においてハッチングを付して示す)を内包する矩形枠を外周とし、平均形状領域BSA以外の領域(以下「マスク領域MA」とも呼ぶ)がマスクされた画像として生成される。平均形状領域BSAとマスク領域MAとを併せた画像領域を基準領域BAと呼ぶ。また、各サンプル画像SIwは、例えば、縦横56画素×56画素のサイズの画像として正規化される。
【0036】
次に、各サンプル画像SIwの画素群xのそれぞれにおける輝度値により構成される輝度値ベクトルに対する主成分分析が行われ、顔のテクスチャー(「見え」とも呼ぶ)A(x)が下記の式(2)によりモデル化される。なお、画素群xは、平均形状領域BSAに位置する画素の集合である。
【0037】
【数2】

【0038】
上記式(2)において、A(x)は平均顔画像である。
図9は、平均顔画像A(x)の一例を示す説明図である。平均顔画像A(x)は、ワープWの後のサンプル画像SIw(図8参照)の平均の顔が表された画像である。すなわち、平均顔画像A(x)は、サンプル画像SIwの平均形状領域BSA内の画素群xの画素値(輝度値)の平均をとることにより算出される画像である。従って、平均顔画像A(x)は、平均的な顔の形状における平均的な顔のテクスチャー(見え)を表すモデルである。なお、平均顔画像A(x)は、サンプル画像SIwと同様に、平均形状領域BSAとマスク領域MAとで構成され、例えば、縦横56画素×56画素のサイズの画像として算出される。
【0039】
テクスチャーモデルを表す上記式(2)において、A(x)はテクスチャーベクトルであり、λはテクスチャーベクトルA(x)の重みを表すテクスチャーパラメーターである。テクスチャーベクトルA(x)は、顔のテクスチャーA(x)の特性を表すベクトルであり、具体的には、主成分分析により得られる第i主成分に対応する固有ベクトルである。すなわち、寄与率のより大きい主成分に対応する固有ベクトルから順に、累積寄与率に基づき設定された個数mの固有ベクトルが、テクスチャーベクトルA(x)として採用される。本実施例では、最も寄与率の大きい第1主成分に対応する第1テクスチャーベクトルA(x)は、顔色の変化(性別の差とも捉えられる)にほぼ相関するベクトルとなっている。
【0040】
上記式(2)に示すように、本実施例におけるテクスチャーモデルでは、顔の見えを表す顔のテクスチャーA(x)が、平均顔画像A(x)とm個のテクスチャーベクトルA(x)の線形結合との和としてモデル化される。テクスチャーモデルにおいてテクスチャーパラメーターλを適切に設定することにより、あらゆる画像における顔のテクスチャーA(x)を再現することが可能である。
なお、コンピューター300は、テクスチャーモデル設定ステップ(ステップS140)において設定した平均顔画像A(x)およびテクスチャーベクトルA(x)を、プリンター100に送信する。プリンター100は、送信されたこれらの平均顔画像A(x)およびテクスチャーベクトルA(x)の情報を、AAM情報AMI(図1)として内部メモリー120に格納する。
【0041】
以上説明したAAM設定処理(図2)により、顔の形状をモデル化する形状モデルと、顔のテクスチャーをモデル化するテクスチャーモデルが設定される。設定された形状モデルとテクスチャーモデルとを組み合わせることにより、すなわち合成されたテクスチャーA(x)に対して平均形状sから形状sへの変換(図8に示したワープWの逆変換)を行うことにより、あらゆる顔画像の形状およびテクスチャーを再現することが可能である。
【0042】
3.顔特徴位置検出処理
図10は、本実施例における顔特徴位置検出処理の流れを示すフローチャートである。顔特徴位置検出処理は、AAM情報AMIを利用して注目画像に含まれる顔画像における特徴点CPの配置を決定することにより、顔画像における特徴部位の位置を検出する処理である。上述したように、本実施例では、AAM設定処理(図2)において、人物の顔の器官(眉毛、目、鼻、口)および顔の輪郭における計68箇所の所定位置が、特徴部位として設定されている(図4参照)。そのため、本実施例の顔特徴位置検出処理では、人物の顔の器官および顔の輪郭における所定位置を示す68個の特徴点CPの配置が決定される。
【0043】
なお、顔特徴位置検出処理によって顔画像における特徴点CPの配置が決定されると、顔画像についての形状パラメーターpや、テクスチャーパラメーターλの値が特定される。従って、顔特徴位置検出処理の結果は、特定の表情(例えば笑顔や目を閉じた顔)の顔画像を検出するための表情判定や、特定の向き(例えば右向きや下向き)の顔画像を検出するための顔向き判定、顔の形状を変形する顔変形、顔の陰影補正等に利用可能である。
【0044】
はじめに、画像処理部200(図1)は、顔特徴位置検出処理の対象となる注目画像を表す画像データを取得する(ステップS210)。本実施例のプリンター100では、カードスロット172にメモリーカードMCが挿入されると、メモリーカードMCに格納された画像ファイルのサムネイル画像が表示部150に表示される。処理の対象となる1つまたは複数の画像は、操作部140を介してユーザーにより選択される。画像処理部200は、選択された1つまたは複数の画像に対応する画像データを含む画像ファイルをメモリーカードMCより取得して内部メモリー120の所定の領域に格納する。なお、取得された画像データを注目画像データと呼び、注目画像データの表す画像を注目画像OIと呼ぶ。
【0045】
顔領域検出部230(図1)は、注目画像OIに含まれる顔画像の少なくとも一部を含む画像領域を顔領域FAとして検出する(ステップS220)。顔領域FAの検出は、公知の顔検出手法を用いて行うことができる。公知の顔検出手法としては、例えば、パターンマッチングによる手法や肌色領域抽出による手法、サンプル画像を用いた学習(例えばニューラルネットワークを用いた学習や、ブースティングを用いた学習、サポートベクターマシーンを用いた学習等)により設定される学習データを用いる手法等がある。
【0046】
図11は、注目画像OIにおける顔領域FAの検出結果の一例を示す説明図である。図11には、注目画像OIにおいて検出された顔領域FAが示されている。本実施例では、おおよそ、顔の上下方向は額から顎まで、左右方向は両耳の外側まで含む矩形の領域が顔領域FAとして検出されるような顔検出手法が用いられている。
【0047】
次に、トリミング部250(図1)が、顔領域FAを含む所定範囲の画像を注目画像OIからトリミングする(ステップS230)。トリミング部250は、まず、トリミングすべき範囲(トリミング範囲TI)を、所定のグローバルパラメーターに応じて顔領域FAを基準にして特定する。グローバルパラメーターとは、顔領域FAに対する顔画像の大きさ、傾き、上下方向の位置および左右方向の位置をそれぞれ表す各パラメーターであり、後述する特徴点CPの初期位置設定処理(ステップS250)の際に用いられる数値である。グローバルパラメーターは、内部メモリー120の所定領域に予め格納されている。本実施例では、当該グローバルパラメーターを、トリミング範囲TIを特定する際にも用いる。
【0048】
図17は、各グローバルパラメーターに応じて顔領域FAを基準にして特定される各範囲を例示している。図17(a)では、顔画像を想定した所定形状(例えば、楕円)Cについて、顔領域FAに対する大きさを表す3段階(大きい、標準、小さい)のグローバルパラメーターに応じて大きさを変化させた状態を示している。図17(b)は、顔領域FAに対する上下方向の位置を表す3段階(上、中央、下)のグローバルパラメーターによって決定される各位置および、顔領域FAに対する左右方向の位置を表す3段階(左、中央、右)のグローバルパラメーターによって決定される各位置に、上記所定形状C(大きさは標準)を配置した状態を示している。図17(c)は、上記所定形状C(大きさは標準)について、顔領域FAに対する傾きを表す3段階(反時計回り(−)に15度、0度、時計回り(+)に15度)のグローバルパラメーターに応じて傾きを変化させた状態を示している。
【0049】
トリミング部250は、本実施例では、上述したような4種類のグローバルパラメーター(大きさ、傾き、上下方向の位置、左右方向の位置)をそれぞれ既知の3段階の値として組み合わせることにより顔領域FAを基準にして特定される合計81通りの範囲の、全てを含む矩形の範囲を、トリミング範囲TIとして特定する。トリミング範囲TIの上下左右の各辺は、顔領域FAの上下左右の各辺とそれぞれ平行であるとする。そして、このように特定したトリミング範囲TIの画像を注目画像OIからトリミングする。
【0050】
次に、変換部260(図1)が、注目画像OIからトリミングされた画像(トリミング画像と呼ぶ。)のサイズが所定サイズとなるように、当該トリミング画像をアフィン変換し、当該アフィン変換後の画像を内部メモリー120の所定領域に保存する(ステップS240)。このように保存された画像は、後述する特徴点CPの位置の設定・補正処理(ステップS250,S260)の対象となる画像(検出対象画像CIと呼ぶ。)である。ここで言う所定サイズとは、縦横の長さがそれぞれ平均顔画像A(x)の縦横の長さの1倍以上かつ2倍以内程度のサイズを言う。上述したように平均顔画像A(x)のサイズが縦横56画素×56画素である場合には、例えば、縦横100画素×100画素を当該所定サイズとする。
【0051】
図18は、ある注目画像OIからトリミング画像をアフィン変換して、所定サイズ(縦横100画素×100画素)の検出対象画像CIを生成した様子を示している。図18では、注目画像OI内のトリミング範囲TIを実線で示している。トリミング範囲TIは顔領域FAの全てを含む。注目画像OIのサイズや顔領域FAのサイズにもよるが、トリミング範囲TIが上記所定サイズよりも大きい場合には、トリミング画像に対するアフィン変換において画像の縮小が行なわれる。一方、トリミング範囲TIが上記所定サイズよりも小さい場合には、トリミング画像に対するアフィン変換において画像の拡大が行なわれる。また、注目画像OIに含まれている顔画像の上下方向は、注目画像OIの上下方向に対して傾いていることもあり、その場合には、顔領域FAおよびトリミング範囲TIも注目画像OIに対して傾くことになる。そこで変換部260は、トリミング画像に対する上記アフィン変換においては、当該傾きを無くす方向への回転処理を伴ったサイズ変換を行なう。
【0052】
本実施例では、変換部260は、トリミング画像に対する上記アフィン変換(サイズ変換および回転処理)を行なう際に、併せて上記トリミング画像に対するノイズ低減のための処理を行なう。
変換部260は、トリミング画像を上記所定サイズに縮小する場合、縮小率(トリミング範囲TIの画像のサイズと上記所定サイズとの比率)に応じて単純に画素をサンプリングするのではなく、所定のノイズ低減処理を行ないつつ縮小を行なう。ノイズ低減処理とは、例えば平滑化処理である。平滑化処理は、例えば、トリミング画像のサイズを1/nに縮小して上記所定サイズの検出対象画像CIを生成する場合には、n個の画素からなる画素群の各画素値を平均することにより1つの画素値を生成する。そして、このように生成した画素を、検出対象画像CIを構成する1画素とする。このような平滑化処理は、移動平均フィルターを用いることで実現される。
【0053】
あるいは、変換部260は、上記平滑化処理の際に、平滑化フィルターの一種としてのガウシアンフィルターを用いるとしてもよい。この場合、変換部260は、上記トリミング画像のサイズに応じて異なるフィルターを用いる。例えば、トリミング範囲TIのサイズが縦横300画素×300画素である場合、変換部260は上記所定サイズの縦横の長さ(100画素×100画素)との比(300/100)に基づいて、用いるガウシアンフィルターのサイズを縦横3画素×3画素とする。また、トリミング範囲TIのサイズが縦横1500画素×1500画素である場合、変換部260は上記所定サイズの縦横の長さ(100画素×100画素)との比(1500/100)に基づいて、用いるガウシアンフィルターのサイズを縦横15画素×15画素とする。変換部260は、このように決定したガウシアンフィルターを上記トリミング画像に適用する。この結果、ガウシアンフィルターを適用した領域毎に、周辺画素の重み付けによって平滑化された注目画素が1つ取得され、このようにフィルターを適用した領域毎に取得された注目画素によって検出対象画像CIを構成する。
【0054】
変換部260は、トリミング画像を上記所定サイズに拡大する場合は画素の補間を行なう。つまり、線形補間や非線形補間によってトリミング画像を上記所定サイズにまで拡大することで、ノイズの抑制された検出対象画像CIが生成できる。
【0055】
特徴位置検出部220(図1)は、検出対象画像CIにおける特徴点CPの初期位置を設定する(ステップS250)。
図12は、本実施例における特徴点CPの初期位置設定処理の流れを示すフローチャートである。この場合、設定部221は、上述したグローバルパラメーターの値を種々変更して、特徴点CPを検出対象画像CI上の仮設定位置に設定する(ステップS310)。
【0056】
図13は、グローバルパラメーターの値を変更することによる特徴点CPの仮設定位置の一例を示す説明図である。図13(a)および図13(b)には、検出対象画像CIにおける特徴点CPおよび特徴点CPをつないで形成されるメッシュを示している。なお、特徴点CPをつないで形成されるメッシュは、上述したように特徴点CPを頂点とする複数の三角形領域TAの集合である(図6(a)等参照)。設定部221は、図13(a)および図13(b)の中央に示すように、平均形状sにおける特徴点CP間の配置と等しい特徴点CP間の配置を持ったメッシュであって、最も平均的なグローバルパラメーターの組み合わせに応じて顔領域FA(ただし、上記トリミング画像のサイズ変換に伴ってサイズ変換された後の顔領域FA)に対する大きさ、傾き、位置を調整したメッシュを設定する。最も平均的なグローバルパラメーターの組み合わせとは、これまでに述べた例で言えば、顔領域FAに対する大きさは「標準」、顔領域FAに対する上下方向の位置および左右方向の位置はそれぞれ「中央」、かつ顔領域FAに対する傾きは「0度」を示すグローバルパラメーターの組み合わせを言う。本実施例では、図13(a)および図13(b)の中央に示すようなメッシュを構成する特徴点CPの設定位置(仮設定位置)を、「基準仮設定位置」とも呼ぶ。
【0057】
設定部221は、また、基準仮設定位置に対して、グローバルパラメーターの値を種々変更させた複数の仮設定位置を設定する。グローバルパラメーター(大きさ、傾き、上下方向の位置および左右方向の位置)を変更することは、検出対象画像CIにおいて特徴点CPにより形成されるメッシュが拡大・縮小、傾きを変更、並行移動することに相当する。従って、設定部221は、図13(a)に示すように、基準仮設定位置のメッシュを所定倍率で拡大または縮小したメッシュを形成するような仮設定位置(基準仮設定位置の図の下および上に示す)や、所定角度だけ時計回りまたは半時計回りに傾きを変更したメッシュを形成するような仮設定位置(基準仮設定位置の図の右および左に示す)を設定する。また、設定部221は、基準仮設定位置のメッシュに対して、拡大・縮小および傾きの変更を組み合わせた変換を行ったメッシュを形成するような仮設定位置(基準仮設定位置の図の左上、左下、右上、右下に示す)も設定する。
【0058】
また、図13(b)に示すように、設定部221は、基準仮設定位置のメッシュを所定量だけ上または下に並行移動したメッシュを形成するような仮設定位置(基準仮設定位置の図の上および下に示す)や、左または右に並行移動したメッシュを形成するような仮設定位置(基準仮設定位置の図の左および右に示す)を設定する。また、設定部221は、基準仮設定位置のメッシュに対して、上下および左右の並行移動を組み合わせた変換を行ったメッシュを形成するような仮設定位置(基準仮設定位置の図の左上、左下、右上、右下に示す)も設定する。
【0059】
設定部221は、図13(a)に示す基準仮設定位置以外の8つの仮設定位置のそれぞれにおけるメッシュに対して図13(b)に示す上下左右の並行移動が実行される仮設定位置も設定する。従って、本実施例では、上述したように夫々に3段階の値を持つ4つのグローバルパラメーター(大きさ、傾き、上下方向の位置、左右方向の位置)を組み合わせたことにより設定される80通り(=3×3×3×3−1)の仮設定位置と基準仮設定位置との、合計81通りの仮設定位置が設定される。
【0060】
生成部222(図1)は、設定された各仮設定位置に対応する平均形状画像I(W(x;p))を生成する(ステップS320)。
図14は、平均形状画像I(W(x;p))の一例を示す説明図である。平均形状画像I(W(x;p))は、検出対象画像CIにおける特徴点CPの配置が平均形状sにおける特徴点CPの配置と等しくなるような変換によって算出される。
【0061】
平均形状画像I(W(x;p))を算出するための変換は、サンプル画像SIw算出のための変換(図8参照)と同様に、三角形領域TA毎のアフィン変換の集合であるワープWにより行われる。具体的には、検出対象画像CIに仮設定された特徴点CP(図13参照)によって変換対象領域(メッシュの外周に位置する特徴点CPにより囲まれた領域)が特定され、この検出対象画像CIにおける変換対象領域に対して三角形領域TA毎のアフィン変換が行われることにより、平均形状画像I(W(x;p))が算出される。本実施例では、平均形状画像I(W(x;p))は、平均顔画像A(x)と同様に平均形状領域BSAおよびマスク領域MAにより構成され、平均顔画像A(x)と同一サイズ(例えば、縦横56画素×56画素)の画像として算出される。
【0062】
上述したように、検出対象画像CIは、縦横の長さがそれぞれ平均顔画像A(x)の縦横の長さの2倍以内程度のサイズであり、平均顔画像A(x)よりも大きい。そのため、検出対象画像CIにおける仮設定位置の特徴点CPによって特定される上記変形対象領域を、平均形状画像I(W(x;p))に変換する際には、画像の縮小処理が行なわれる。このような平均形状画像I(W(x;p))は、注目画像OIからトリミングされてサイズ変換がされた画像(検出対象画像CI)の一部を特徴点CPの配置が所定の配置となるように変換した画像である。
【0063】
なお、上述したように画素群xは、平均形状sにおける平均形状領域BSAに位置する画素の集合である。本実施例では、平均形状画像は、形状パラメーターpによるワープW(x;p)によって生成された画像(画素群)Iという意味で、平均形状画像I(W(x;p))と表現している。図14には、図13(a)に示した9個の仮設定位置に対応する9個の平均形状画像I(W(x;p))を示している。
【0064】
算出部224(図1)は、各仮設定位置に対応する平均形状画像I(W(x;p))と平均顔画像A(x)との差分画像Ieを算出する(ステップS330)。特徴点CPの仮設定位置は81種類設定されているため、算出部224(図1)は、81個の差分画像Ieを算出する。
【0065】
設定部221は、各差分画像Ieの画素値からノルム(ユークリッド距離)を算出し、ノルムの値が最も小さい差分画像Ieに対応する仮設置位置(以下「ノルム最小仮設定位置」とも呼ぶ)を、検出対象画像CIにおける特徴点CPの初期位置として設定する(ステップS340)。ノルムを算出するための差分画像Ieの画素値は輝度値であってもよいしRGB値であってもよい。以上により特徴点CPの初期位置設定処理が完了する。
【0066】
特徴位置検出部220(図1)は、上記ステップS250において検出対象画像CIに初期位置として設定された特徴点CPの設定位置の補正を行う(ステップS260)。
図15は、ステップS260で実行する特徴点CPの設定位置補正処理の流れを示すフローチャートである。
【0067】
生成部222(図1)は、検出対象画像CIから平均形状画像I(W(x;p))を算出する(ステップS410)。平均形状画像I(W(x;p))の算出方法は、特徴点CPの初期位置設定処理におけるステップS320と同様である。
【0068】
算出部224は、ステップS410で生成された平均形状画像I(W(x;p))と平均顔画像A(x)との差分画像Ieを算出する(ステップS420)。特徴位置検出部220は、ステップS420で算出された差分画像Ieに基づき、特徴点CPの設定位置補正処理が収束したか否かを判定する(ステップS430)。特徴位置検出部220は、差分画像Ieのノルムを算出し、ノルムの値が予め設定されたしきい値より小さい場合には収束したと判定し、ノルムの値がしきい値以上の場合には未だ収束していないと判定する。なお、特徴位置検出部220は、算出された差分画像Ieのノルムの値が前回のステップS430において算出されたノルムの値よりも小さい場合には収束したと判定し、前回値以上である場合には未だ収束していないと判定してもよい。あるいは、特徴位置検出部220は、しきい値による判定と前回値との比較による判定とを組み合わせて収束判定を行うとしてもよい。例えば、特徴位置検出部220は、算出されたノルムの値が、しきい値より小さく、かつ、前回値より小さい場合にのみ収束したと判定し、それ以外の場合には未だ収束していないと判定するとしてもよい。
【0069】
ステップS430の収束判定において未だ収束していないと判定された場合には、補正部226(図1)が、パラメーター更新量ΔPを算出する(ステップS440)。パラメーター更新量ΔPは、4個のグローバルパラメーター(全体としての大きさ、傾き、X方向位置、Y方向位置)、および、特徴量であるn個の形状パラメーターp(i=1〜nの整数。)の値の変更量を意味している。なお、特徴点CPを初期位置に設定した直後においては、グローバルパラメーターは、特徴点CPの初期位置設定処理(図12)において決定された値が設定されている。また、このときの特徴点CPの初期位置と平均形状sの特徴点CPの設定位置との相違は、全体としての大きさ、傾き、位置の相違に限られるため、形状モデルにおける形状パラメーターpの値はすべてゼロである。
【0070】
パラメーター更新量ΔPは、下記の式(3)により算出される。すなわち、パラメーター更新量ΔPは、アップデートマトリックスRと差分画像Ieとの積である。
【0071】
【数3】

【0072】
式(3)におけるアップデートマトリックスRは、差分画像Ieに基づきパラメーター更新量ΔPを算出するために予め学習により設定されたM行N列のマトリックスであり、AAM情報AMI(図1)として内部メモリー120に格納されている。本実施例では、アップデートマトリックスRの行数Mは、グローバルパラメーターの数(4個)と、形状パラメーターpの数(n個)との和((4+n)個)に等しく、列数Nは、平均顔画像A(x)の平均形状領域BSA内の画素数(56画素×56画素−マスク領域MAの画素数)に等しい。アップデートマトリックスRは、下記の式(4)および(5)により算出される。
【0073】
【数4】

【数5】

式(4)および(5)における関数Wは、ワープW(x;p)を指し、変数Pは、形状パラメーターpを指し、Tは転置行列を意味する。
【0074】
補正部226(図1)は、算出されたパラメーター更新量ΔPに基づきパラメーター(4個のグローバルパラメーターおよびn個の形状パラメーター)を更新する(ステップS450)。これにより、検出対象画像CIにおける特徴点CPの設定位置が補正(更新)される。補正部226は、差分画像Ieのノルムが小さくなるように検出対象画像CIにおける特徴点CPの設定位置を補正する。すなわち、n個の形状パラメーターをパラメーター更新量ΔPで更新することで、形状モデルの上記式(1)に従って新たな形状sが生成されるため、補正部226は、当該生成された形状sにおける特徴点CPを検出対象画像CIに設定する。このとき、補正部226は、当該生成された形状sの大きさ、傾き、位置を、上記パラメーター更新量ΔPで更新した4個のグローバルパラメーターに応じて調整した上で、特徴点CPを検出対象画像CIに設定する。このようにパラメーターの更新に応じて検出対象画像CIに設定された特徴点CPの位置が、補正後の特徴点CPの設定位置である。
【0075】
パラメーターの更新の後には、再度、特徴点CPの設置位置が補正された検出対象画像CIからの平均形状画像I(W(x;p))の算出(ステップS410)、差分画像Ieの算出(ステップS420)、差分画像Ieに基づく収束判定(ステップS430)が行われる。再度の収束判定においても収束していないと判定された場合には、さらに、差分画像Ieに基づくパラメーター更新量ΔPの算出(ステップS440)、パラメーターの更新による特徴点CPの設定位置補正(ステップS450)が行われる。
【0076】
図15のステップS410からS450までの処理が繰り返し実行されると、検出対象画像CIにおける各特徴部位に対応する特徴点CPの位置は実際の特徴部位の位置に全体として近づいていき、ある時点で収束判定(ステップS430)において収束したと判定される。収束判定において収束したと判定すると、特徴位置検出部220は、その時点で検出対象画像CIに設定されている特徴点CPの位置を、特徴部位の座標位置として検出することができる。本実施例では、特徴位置検出部220は、上記収束判定において収束したと判定した場合、図15のフローチャートを終了し、更に注目画像OIにおける特徴点CPの設定位置補正処理を行なう(図10のステップS270)。
【0077】
図19は、ステップS270で実行する特徴点CPの設定位置補正処理を示すフローチャートである。
特徴位置検出部220は、ステップS260の処理(図10,15)において最終的に検出対象画像CIに設定した特徴点CPの配置を、注目画像OIにおいて再現することにより、注目画像OI上に特徴点CPを設定する(ステップS510)。具体的には、特徴位置検出部220は、当該最終的に検出対象画像CIに設定した特徴点CPの配置関係(メッシュ)を、検出対象画像CI(変更部260によってサイズが変更された画像)のサイズと上記トリミング画像のサイズとの比に応じて拡大或いは縮小する。つまり、変更部260が上記トリミング画像を縮小していた場合には、当該ステップS510では拡大し、変更部260が上記トリミング画像を拡大していた場合には、当該ステップS510では縮小を行なう。そして、当該拡大或いは縮小したメッシュの傾きおよび位置を、注目画像OIにおける顔領域FAを基準にして、ステップS260の処理において最終的に設定されたグローバルパラメーターに応じて調整した上で、当該メッシュにおける特徴点CPを注目画像OIに設定する。
【0078】
次に、特徴位置検出部220は、ステップS510において特徴点CPを設定した後の、パラメーターの更新により特徴点CPの設定位置を補正(更新)した回数(ステップS570の処理)が、予め規定された回数(上限回数)に達したか否か判定する(ステップS520)。特徴位置検出部220は、上限回数に達したと判定した場合に、顔特徴位置検出処理を完了させる(ステップS580)。上限回数は、例えば、3回程度といった少ない回数である。
【0079】
ステップS520において、パラメーターの更新により特徴点CPの設定位置を補正(更新)した回数が上限回数に達していないと判定された場合、生成部222(図1)は、その時点で注目画像OIに設定されている特徴点CPの配置が平均形状sにおける特徴点CPの配置と等しくなるようにアフィン変換を行なうことで、平均顔画像A(x)と同一サイズの平均形状画像I(W(x;p))を算出する(ステップS530)。なお図19の説明においては、注目画像OIに設定されている特徴点CPによって特定される変換対象領域(メッシュの外周に位置する特徴点CPにより囲まれた領域)における画素群をW(x;p)と表す。
【0080】
算出部224は、ステップS530で生成された平均形状画像I(W(x;p))と平均顔画像A(x)との差分画像Ieを算出する(ステップS540)。特徴位置検出部220は、ステップS540で算出された差分画像Ieに基づき、特徴点CPの設定位置補正処理が収束したか否か判定する(ステップS550)。つまり特徴位置検出部220は、差分画像Ieのノルムを算出し、ノルムの値が予め設定されたしきい値より小さい場合には収束したと判定する。特徴位置検出部220は、収束したと判定した場合は、上記ステップS520の“Yes”の判定と同様に、顔特徴位置検出処理を完了させる(ステップS580)。なお、ステップS550の収束判定で用いるしきい値は、ステップS430(図15)の収束判定で用いるしきい値と同等かあるいはそれよりも低い値とする。なお、ここでもステップS430と同様に、特徴位置検出部220は、算出された差分画像Ieのノルムの値が前回のステップS550において算出されたノルムの値よりも小さい場合には収束したと判定しても良い。或いは、算出されたノルムの値が、しきい値より小さく、かつ、前回値より小さい場合にのみ収束したと判定してもよい。
【0081】
ステップS550の収束判定において収束していないと判定された場合、補正部226(図1)は、ステップS440,S450と同様に、パラメーター更新量ΔPを算出し(ステップS560)、算出されたパラメーター更新量ΔPに基づきパラメーター(4個のグローバルパラメーターおよびn個の形状パラメーター)を更新する(ステップS570)。なお、ステップS510で特徴点CPを注目画像OIに設定した直後においては、グローバルパラメーター及び上記n個の形状パラメーターは、ステップS260の処理(図10,15)における最後のパラメーター更新により得られた値が設定されている。
【0082】
ステップS570の結果、注目画像OIにおける特徴点CPの設定位置が補正(更新)される。補正部226は、差分画像Ieのノルムが小さくなるように注目画像OIにおける特徴点CPの設定位置を補正する。つまり、上記n個の形状パラメーターをステップS560で得られたパラメーター更新量ΔPで更新することで、形状モデルの上記式(1)に従って新たな形状sが生成され、補正部226は、当該生成された形状sにおける特徴点CPを注目画像OIに設定する。このとき、補正部226は、当該生成された形状sの大きさ、傾き、位置を、ステップS560で得られたパラメーター更新量ΔPで更新した4個のグローバルパラメーターに応じて調整した上で、特徴点CPを注目画像OIに設定する。
【0083】
パラメーターの更新の後には、再度、ステップS520の判定がなされ、“No”の判定であれば、特徴点CPの設置位置が補正された注目画像OIからの平均形状画像I(W(x;p))の算出(ステップS530)以降の処理が繰り返される。図19のステップS520からS570までの処理が繰り返し実行されると、注目画像OIにおける各特徴部位に対応する特徴点CPの位置は実際の特徴部位の位置に全体として近づいていく。特徴位置検出部220は、顔特徴位置検出処理を完了させた(ステップS580)時点で設定されているグローバルパラメーターおよび形状パラメーターの値により特定される特徴点CPの設定位置を、最終的な注目画像OIにおける特徴点CPの設定位置として特定する。
【0084】
本実施例では、検出対象画像CI上での特徴点CPの設定位置補正処理(図15のステップS410〜S450の処理)の繰り返しに関して、回数上の制限を設けていない(ノルムが最適化されるまで繰り返すことが可能)。一方、上述したように、注目画像OI上での特徴点CPの設定位置補正処理の繰り返しに関しては、回数の上限を設けている。これは、検出対象画像CI上での特徴点CPの設定位置補正処理を経て、注目画像OIに特徴点CPを設定した時点(ステップS510)で既に、特徴点CPの位置は、注目画像OIにおける実際の特徴部位の位置に全体的かなり近い状態にあるからである。つまり、注目画像OIにおける特徴点CPの設定位置補正処理に関しては、特徴点CPの設定位置の更新を少ない回数行なうだけで、その設定位置を、注目画像OIの実際の特徴部位の位置に高精度にマッチさせることができる。そのため、特徴部位の位置検出の精度と処理スピードのバランスを考慮して、上述したような上限回数を設けているのである。
【0085】
図16は、顔特徴位置検出処理の結果の一例を示す説明図である。図16には、注目画像OIにおいて最終的に特定された特徴点CPの設定位置が示されている。特徴点CPの設定位置により、注目画像OIに含まれる顔の特徴部位(人物の顔の器官(眉毛、目、鼻、口)および顔の輪郭における所定位置)の座標位置が特定されるため、注目画像OIにおける人物の顔の器官の形状・位置や顔の輪郭形状の検出が可能となる。また、表情判定や顔向き判定をおこなう場合には、顔特徴位置検出処理が完了した際のn個の形状パラメーターの値と、しきい値とを比較することで表情や顔向きを判定することができる。また、顔画像の変形をおこなう場合には、顔特徴位置検出処理が完了した際のn個の形状パラメーターの値を変更することにより顔の形状を良好に変形することができる。
【0086】
以上説明したように、本実施例の画像処理装置によれば、顔領域FAを含み、且つ、特徴点CPの初期位置設定の際に特徴点CPの位置設定対象となり得る画像領域の全てを含む範囲を、注目画像OIからトリミングし、当該トリミングした画像を、その画像サイズが所定サイズとなるようにアフィン変換(サイズ変換および回転)する。そして、当該変換によって得られた所定サイズの画像(検出対象画像CI)に基づいて、顔の特徴部位の座標位置を検出するための特徴点CPの設定(設定位置の最適化)を行なうとした。この結果、特徴点CPの初期位置設定処理(図10のステップS250)や特徴点CPの設定位置補正処理(ステップS260)において複数回行なわれる、特徴点CPによって特定される画像領域のアフィン変換(ワープWによる平均形状画像の生成)の際に、画素の走査範囲が検出対象画像CI内に限定されるようになった。そのため、特徴点CPの初期位置設定処理(図10のステップS250)や特徴点CPの設定位置補正処理(ステップS260)、ひいては顔特徴位置検出処理全体が高速化される。
【0087】
また、本実施例の画像処理装置は、上記トリミングした画像を所定サイズとなるようにアフィン変換する際に、画像のノイズ低減処理を併せて行なうとした。つまり、特徴点CPの初期位置設定処理(図10のステップS250)や特徴点CPの設定位置補正処理(ステップS260)の対象となる検出対象画像CIを高画質化することで、検出対象画像CIに基づいて生成される平均形状画像もノイズの少ない画像となる。よって、平均形状画像と平均顔画像との比較(差分画像Ie)に基づいた収束判定やパラメーター量の更新処理も、ノイズの影響を受けることなく正確性が増し、結果、顔の特徴部位の位置検出精度が向上する。
【0088】
本実施例に係る画像処理装置によれば、設定部221は、グローバルパラメーターを用いて、特徴点CPを設定するため、画像に含まれる顔の特徴部位の位置を効率的かつ高速に検出することができる。具体的には、4つのグローバルパラメーター(大きさ、傾き、上下方向の位置、左右方向の位置)の値をそれぞれ変更させて、種々のメッシュを形成する特徴点CPの仮設定位置を予め複数用意し、ノルムの値が最も小さい差分画像Ieに対応する仮設定位置を初期位置としている。これにより、検出対象画像CIにおける特徴点CPの初期位置を顔の特徴部位の位置のより近くに設定することができる。よって、特徴点CPの設定位置補正処理において、補正部226による補正が容易となるため、顔の特徴部位の位置を検出する処理の効率化・高速化を図ることができる。
【0089】
4.変形例
本発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能である。本発明は、例えば以下のような変形も可能である。
【0090】
変換部260(図1)は、トリミング画像に対して、明るさ、コントラスト、色彩のうちの少なくとも一つ以上の要素を平均顔画像A(x)に近づける補正処理を行うとしてもよい。この場合、プリンター100は、平均顔画像A(x)についての明るさの基準値、輝度範囲(ダイナミックレンジ)、色彩の基準値、を内部メモリー120に予め格納しておく。つまり、AAM設定処理を行う上記コンピューター300は、平均顔画像A(x)に基づいて明るさの基準値、輝度範囲、色彩の基準値、を予め生成し、これら生成した各値をプリンター100に保持させておく。ここで言う明るさの基準値とは、例えば、平均顔画像A(x)の平均形状領域BSA内における輝度値の平均である。また、輝度範囲とは、例えば、平均顔画像A(x)の平均形状領域BSAにおける輝度範囲である。また、色彩の基準値とは、例えば、平均顔画像A(x)の平均形状領域BSA内におけるR,G,B毎の平均値の比(カラーバランス)である。なお、このような明るさの基準値、輝度範囲、色彩の基準値は、プリンター100(画像処理装置)自身が、AAM情報AMIとしての平均顔画像A(x)に基づいて生成するとしてもよい。
【0091】
このような前提において、変換部260は、トリミング画像の輝度平均値を求めるとともに、当該輝度平均値と上記平均顔画像A(x)の明るさの基準値との差分を算出し、当該差分に応じて(例えば、当該差分に応じた補正度合を持ったγカーブによって)トリミング画像の輝度を補正する。また、変換部260は、トリミング画像の輝度範囲が、上記平均顔画像A(x)の輝度範囲と略等しくなるように、トリミング画像の輝度範囲を拡大させる(コントラスト拡大処理をする)。また、変換部260は、トリミング画像のRGB毎の平均値の比を求めるとともに、当該求めた比が上記平均顔画像A(x)の色彩の基準値と略等しくなるように、トリミング画像のRGB毎の分布を補正する。そして、変換部260は、このように明るさ、コントラスト、色彩の全部或いは一部を補正したトリミング画像について、アフィン変換を行い上記所定サイズの検出対象画像CIを生成する。
【0092】
その結果、検出対象画像CIをアフィン変換して生成される平均形状画像I(W(x;p))も、その明るさやコントラストや色彩が平均顔画像A(x)に近いものとなる。そのため、平均形状画像I(W(x;p))と平均顔画像A(x)との比較結果(差分画像Ieやノルム)は、純粋に、そのとき検出対象画像CIに設定されている特徴点CPの位置の良し悪し(特徴部位の位置との一致度合い)を表すものとなり、よって、特徴部位の位置検出の高速化・高精度化がより一層図られる。
【0093】
上述した例では、特徴点CPの初期位置設定(図10のステップS250)および特徴点CPの設定位置補正(ステップS260)の両方について、検出対象画像CIに基づいた処理を行った。しかし、特徴点CPの初期位置設定と特徴点CPの設定位置補正のうち、いずれか一方のみについて、検出対象画像CIに基づいて処理を行うとしてもよい。
【0094】
画像処理装置は、特徴点CPの初期位置設定処理のみを検出対象画像CIに基づいて行う場合は、図10のフローチャートにおいてステップS250が終了したとき、検出対象画像CIに設定した初期位置の特徴点CPの配置を、検出対象画像CIのサイズと上記トリミング画像のサイズとの比と、そのときのグローバルパラメーターに基づいて、注目画像OI上に再現する。そして、注目画像OIに再現した特徴点CPについて、注目画像OI上での設定位置補正処理を行う。なお、特徴点CPの初期位置設定処理後における設定位置補正処理を、注目画像OIにおいてのみ行う場合は、設定位置補正処理(平均形状画像の生成、差分画像Ieの算出、収束判定、パラメーター更新量ΔPの生成、パラメーター補正)の繰り返しに関しては、回数上の制限は設けないものとする。このように、特徴点CPの初期位置設定処理のみを検出対象画像CIに基づいて行う場合であっても、当該初期位置設定処理が高速化されることで、顔特徴位置検出処理全体にかかる時間が短縮される。
【0095】
画像処理装置は、特徴点CPの設定位置補正のみを検出対象画像CIに基づいて行う場合は、図10のフローチャートにおいてステップS220(顔領域FA検出)の後、注目画像OIにおいて特徴点CPの初期位置設定処理を行う。そして、顔領域FAおよび注目画像OIに設定した特徴点CPの初期位置を含む範囲をトリミングし、トリミング画像をアフィン変換することにより所定サイズの検出対象画像CIを生成する。そして、検出対象画像ICにおける特徴点CP(初期位置)について、その設定位置を補正する処理を行う。上述したように、検出対象画像CIはノイズ低減処理がなされているため、特徴点CPの設定位置補正処理は、高画質な検出対象画像CIに基づいて行うことができる。つまり、特に高い精度が要求される設定位置補正処理をノイズの影響を排除して行うことができるため、顔の特徴部位の座標位置を表すものとして最終的に特定される特徴点CPの設定位置は、実際の特徴部位の位置に極めて正確に対応した位置となる。
【0096】
上述した特徴点CPの初期位置設定処理や設定位置補正処理では、検出対象画像CIや注目画像OIに基づき平均形状画像I(W(x;p))を算出することにより、検出対象画像CIや注目画像OIの特徴点CPの設定位置を平均顔画像A(x)の特徴点CPの設定位置に整合させている。しかし逆に、平均顔画像A(x)に対して画像変換を行うことにより、検出対象画像CIや注目画像OIの特徴点CPと平均顔画像A(x)の特徴点CPとの配置を整合させるとしてもよい。
【0097】
また、特徴点CP初期位置設定処理において、4つのグローバルパラメーター(大きさ、傾き、上下方向の位置、左右方向の位置)のそれぞれについての3段階の値の組み合わせに対応する仮設定位置が予め設定されているが、仮設定位置の設定に用いるパラメーターの種類および数やパラメーター値の段階数は変更可能である。
また上記では、サンプル画像SIwの画素群xのそれぞれにおける輝度値により構成される輝度値ベクトルに対する主成分分析によってテクスチャーモデルが設定されているが、顔画像のテクスチャー(見え)を表す輝度値以外の指標値(例えばRGB値)に対する主成分分析によってテクスチャーモデルが設定されるものとしてもよい。
【0098】
また、平均顔画像A(x)のサイズは56画素×56画素に限られず他のサイズであってもよい。また、平均顔画像A(x)は、マスク領域MA(図8)を含む必要はなく、平均形状領域BSAのみによって構成されるとしてもよい。また、平均顔画像A(x)の代わりに、サンプル画像SIの統計的分析に基づき設定される他の基準顔画像が用いられるとしてもよい。
また上記では、AAMを用いた形状モデルおよびテクスチャーモデルの設定が行われているが、他のモデル化手法(例えばMorphable Modelと呼ばれる手法やActive Blobと呼ばれる手法)を用いて形状モデルおよびテクスチャーモデルの設定が行われるとしてもよい。
【0099】
また上記では、メモリーカードMCに格納された画像が注目画像OIに設定されているが、注目画像OIは例えばネットワークを介して取得された画像であってもよい。また、検出モード情報についても、ネットワークを介して取得されてもよい。
また上記では、画像処理装置としてのプリンター100による画像処理を説明したが、処理の一部または全部がコンピューター300やデジタルスチルカメラ、デジタルビデオカメラ等の他の種類の画像処理装置により実行されるものとしてもよい。また、プリンター100はインクジェットプリンターに限らず、他の方式のプリンター、例えばレーザプリンターや昇華型プリンターであるとしてもよい。
【符号の説明】
【0100】
100…プリンター、110…CPU、120…内部メモリー、140…操作部、150…表示部、160…印刷機構、170…カードインターフェース、172…カードスロット、200…画像処理部、220…特徴位置検出部、221…設定部、222…生成部、224…算出部、226…補正部、230…顔領域検出部、250…トリミング部、260…変換部、300…コンピューター、310…表示処理部、320…印刷処理部

【特許請求の範囲】
【請求項1】
画像に含まれる顔の特徴部位の座標位置を検出する画像処理装置であって、
注目画像から顔の少なくとも一部を含む画像領域を顔領域として検出する顔領域検出部と、
上記顔領域を含む所定範囲の画像を上記注目画像からトリミングするトリミング部と、
上記トリミングされた画像のサイズを所定サイズに変換する変換部と、
上記サイズが変換された画像に基づいて上記特徴部位の座標位置を検出する特徴位置検出部とを備えることを特徴とする画像処理装置。
【請求項2】
上記変換部は、上記トリミングされた画像に対するノイズ低減のための処理とともに上記サイズの変換を実行することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
上記変換部は、上記トリミングされた画像のサイズに応じて異なるノイズ低減用のフィルターを用いてノイズ低減のための処理を実行することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
上記トリミング部は、顔領域に対する顔画像の大きさ、角度、位置を表す予め規定された各パラメーターに応じて顔領域を基準にして特定される範囲の全て含む範囲をトリミングすることを特徴とする請求項1〜請求項3のいずれかに記載の画像処理装置。
【請求項5】
上記特徴位置検出部は、
上記サイズが変換された画像に対して上記特徴部位の座標位置を検出するための特徴点を設定し、
上記サイズが変換された画像の一部を特徴点の配置が所定の配置となるように変換した画像である平均形状画像を生成し、
上記平均形状画像と、複数のサンプル画像を平均化することにより生成された画像である平均顔画像と、の差分値を算出し、
上記算出した差分値に基づいて、上記サイズが変換された画像における特徴点の設定位置を更新することにより、当該設定位置を上記特徴部位の座標位置に近づけるように補正し、
上記補正された設定位置を上記特徴部位の座標位置として検出することを特徴とする請求項1〜請求項4のいずれかに記載の画像処理装置。
【請求項6】
上記特徴位置検出部は、
上記差分値が所定のしきい値より小さい値となるまで、上記サイズが変換された画像における特徴点の設定位置の更新を繰り返し実行し、
上記差分値が上記しきい値より小さい値となった場合、上記サイズが変換された画像における特徴点の配置を上記サイズが変更された画像と上記トリミングされた画像との大きさの比に応じて注目画像において再現することにより、注目画像上に特徴点を設定し、
上記注目画像における特徴点の配置が上記所定の配置となるように当該注目画像の一部を変換した画像である平均形状画像を生成し、当該平均形状画像と上記平均顔画像との差分値に基づいて当該注目画像における特徴点の設定位置を更新することにより、当該注目画像における特徴点の設定位置を上記特徴部位の座標位置に近づけるように補正し、
上記補正された注目画像における特徴点の設定位置を上記特徴部位の座標位置として検出することを特徴とする請求項5に記載の画像処理装置。
【請求項7】
上記特徴位置検出部は、上記注目画像における特徴点の設定位置を更新する処理を、予め規定された回数を上限として実行することを特徴とする請求項6に記載の画像処理装置。
【請求項8】
上記変換部は、上記トリミングされた画像の明るさ、コントラスト、色彩のうちの少なくとも一つ以上の要素を上記平均顔画像に近づける補正処理とともに上記サイズの変換を実行することを特徴とする請求項5〜請求項7のいずれかに記載の画像処理装置。

【図1】
image rotate

【図10】
image rotate

【図15】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図16】
image rotate


【公開番号】特開2011−48747(P2011−48747A)
【公開日】平成23年3月10日(2011.3.10)
【国際特許分類】
【出願番号】特願2009−198208(P2009−198208)
【出願日】平成21年8月28日(2009.8.28)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】