顔画像における特徴部位の位置の特定
【課題】顔画像における所定の特徴部位の位置の特定処理の効率化・高速化を図る。
【解決手段】対象顔画像における特徴部位の位置を特定する画像処理装置は、サンプル顔画像の統計的分析に基づき設定された基準顔画像と基準顔画像に対するN種類の第1の変換により生成された変換基準顔画像とを含む基準顔画像群と対象顔画像との比較結果に基づき対象顔画像における特徴点の初期配置を決定する初期配置部を含む。画像処理装置は、また、基準顔画像と対象顔画像とにおける特徴点の配置が等しくなるように第2の変換を行う画像変換部と、第2の変換後の基準顔画像と対象顔画像との比較結果に基づき対象顔画像における特徴点の配置を更新する更新部と、を備える。
【解決手段】対象顔画像における特徴部位の位置を特定する画像処理装置は、サンプル顔画像の統計的分析に基づき設定された基準顔画像と基準顔画像に対するN種類の第1の変換により生成された変換基準顔画像とを含む基準顔画像群と対象顔画像との比較結果に基づき対象顔画像における特徴点の初期配置を決定する初期配置部を含む。画像処理装置は、また、基準顔画像と対象顔画像とにおける特徴点の配置が等しくなるように第2の変換を行う画像変換部と、第2の変換後の基準顔画像と対象顔画像との比較結果に基づき対象顔画像における特徴点の配置を更新する更新部と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、顔画像における所定の特徴部位の位置を特定する技術に関する。
【背景技術】
【0002】
視覚的事象のモデル化手法として、アクティブアピアランスモデル(Active Appearance Model、略して「AAM」とも呼ばれる)が知られている。AAMでは、例えば、複数のサンプル顔画像における所定の特徴部位(例えば目尻や鼻頭やフェイスライン)の位置(座標)や画素値(例えば輝度値)の統計的分析を通じて、上記特徴部位の位置により特定される顔の形状を表す形状モデルや、平均的な形状における「見え(Appearance)」を表すテクスチャーモデルが設定され、これらのモデルを用いて顔画像がモデル化される。AAMによれば、任意の対象顔画像のモデル化(合成)が可能であり、対象顔画像における上記特徴部位の位置の特定(検出)が可能である(例えば特許文献1参照)。
【0003】
【特許文献1】特開2007−141107号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記従来の技術では、顔画像における所定の特徴部位の位置の特定において、さらなる効率化・高速化の余地があった。
【0005】
なお、このような問題は、AAMを利用する場合に限らず、顔画像における所定の特徴部位の位置を特定する画像処理を行う際に共通の問題であった。
【0006】
本発明は、上記の課題を解決するためになされたものであり、顔画像における所定の特徴部位の位置の特定処理の効率化・高速化を図ることを目的とする。
【課題を解決するための手段】
【0007】
上記課題の少なくとも一部を解決するために、本発明は、以下の形態または適用例として実現することが可能である。
【0008】
[適用例1]対象顔画像における所定の特徴部位の位置を特定する画像処理装置であって、
前記特徴部位の位置を示す特徴点の配置が既知である複数のサンプル顔画像を対象とした統計的分析に基づき設定された基準顔画像と前記基準顔画像に対するN(Nは1以上の整数)種類の第1の変換により生成されたN種類の変換基準顔画像とを含む基準顔画像群のそれぞれと、前記対象顔画像と、の比較結果に基づき、前記対象顔画像における前記特徴点の初期配置を決定する初期配置部と、
前記基準顔画像と前記対象顔画像とにおける前記特徴点の配置が互いに等しくなるように前記基準顔画像と前記対象顔画像との少なくとも一方に対して第2の変換を行う画像変換部と、
前記第2の変換後の前記基準顔画像と前記対象顔画像との比較結果に基づき、前記対象顔画像における前記特徴点の配置を更新する更新部と、を備える、画像処理装置。
【0009】
この画像処理装置では、基準顔画像と基準顔画像に対するN種類の第1の変換により生成されたN種類の変換基準顔画像とを含む予め設定された基準顔画像群のそれぞれと、対象顔画像と、の比較結果に基づき、対象顔画像における特徴点の初期配置が決定され、第2の変換後の基準顔画像と対象顔画像との比較結果に基づき、対象顔画像における特徴点の配置が更新される。そのため、特徴点の初期配置の決定の後、第2の変換と特徴点の配置の更新とが繰り返されることにより、特徴点の配置によって対象顔画像における特徴部位の位置が特定される。このように、基準顔画像群と対象顔画像との比較結果に基づき対象顔画像における特徴点の初期配置が決定された後、特徴点の配置が更新されることにより、顔画像における特徴部位の位置が精度良く特定される。また、特徴点の初期配置の決定の際に対象顔画像に対する画像変換が行われることがないため、顔画像における特徴部位の位置の特定処理の効率化・高速化が実現される。
【0010】
[適用例2]適用例1に記載の画像処理装置であって、
前記更新部は、前記第2の変換後の前記基準顔画像と前記対象顔画像との前記比較結果に基づき、前記対象顔画像における前記特徴点の配置の更新を行うか否かを判定する判定部を含む、画像処理装置。
【0011】
この画像処理装置では、第2の変換後の基準顔画像と対象顔画像との比較結果に基づき特徴点の配置の更新を行うか否かが判定されるため、顔画像における特徴部位の位置の特定を所望の精度で実現することができる。
【0012】
[適用例3]適用例1または適用例2に記載の画像処理装置であって、
前記N種類の第1の変換は、前記基準顔画像における前記特徴点全体の並行移動と傾きの変更と拡大・縮小との少なくとも1つが行われるような変換である、画像処理装置。
【0013】
この画像処理装置では、特徴点全体の並行移動と傾きの変更と拡大・縮小との少なくとも1つが行われるような変換により変換基準顔画像が設定されるため、特徴点の配置全体のばらつきの大きい基準顔画像群を用いて特徴点の初期配置が決定され、顔画像における特徴部位の位置の特定処理の効率化・高速化および精度の向上が実現される。
【0014】
[適用例4]適用例3に記載の画像処理装置であって、さらに、
前記統計的分析に基づき設定された前記特徴点の配置モデルであって、前記複数のサンプル顔画像における前記特徴点の平均位置を表す平均形状と前記複数のサンプル顔画像における前記特徴点の配置の特性を表す形状ベクトルの線形結合との和による前記特徴点の前記配置モデルを特定するモデル情報を記憶する記憶部を備え、
前記初期配置部は、前記基準顔画像群のそれぞれと前記対象顔画像との比較結果に基づき前記基準顔画像群に含まれる1つの画像を選択画像として選択すると共に、前記選択画像と、前記選択画像に対する前記配置モデルにおける分散の最も大きい所定数の前記形状ベクトルの内の少なくとも1つの係数が変更されるようなM(Mは1以上の整数)種類の第3の変換により生成されたM種類の変換選択画像と、を含む画像群のそれぞれと、前記対象顔画像と、の比較結果に基づき、前記対象顔画像における前記特徴点の初期配置を決定する、画像処理装置。
【0015】
この画像処理装置では、特徴点の初期配置の決定に際して、選択画像に対して分散の最も大きい所定数の形状ベクトルの内の少なくとも1つの係数が変更されるような変換により生成された変換選択画像が用いられるため、特徴点の初期配置がより精度良く設定され、顔画像における特徴部位の位置の特定処理の効率化・高速化および精度の向上が実現される。
【0016】
[適用例5]適用例1ないし適用例4のいずれかに記載の画像処理装置であって、
前記基準顔画像は、前記特徴点の配置が前記複数のサンプル顔画像における前記特徴点の平均位置を表す平均形状に等しくなるように変換された前記複数のサンプル顔画像の平均画像である、画像処理装置。
【0017】
この画像処理装置では、特徴点の配置が平均形状に等しくなるように変換された複数のサンプル顔画像の平均画像が基準顔画像として採用されるため、あらゆる顔画像を対象とした特徴部位の位置の特定処理の効率化・高速化および精度の向上が実現される。
【0018】
[適用例6]適用例1ないし適用例5のいずれかにに記載の画像処理装置であって、
前記初期配置部は、前記基準顔画像群の内の前記対象顔画像における所定領域に最も近い画像における前記特徴点の配置に基づき、前記対象顔画像における前記特徴点の初期配置を決定する、画像処理装置。
【0019】
この画像処理装置では、対象顔画像における特徴点の初期配置を精度良く決定することができる。
【0020】
[適用例7]適用例6に記載の画像処理装置であって、さらに、
画像における顔の画像に対応する顔領域を検出する顔領域検出部を備え、
前記所定領域は、前記顔領域との関係が予め設定された領域である、画像処理装置。
【0021】
この画像処理装置では、顔領域が検出され、顔領域との関係に基づき予め設定された領域が基準顔画像群と比較されることにより、特徴点の初期配置が決定されるため、対象顔画像における特徴点の初期配置の決定を効率的にかつ精度良く実行することができる。
【0022】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法および装置、特徴位置特定方法および装置、表情判定方法および装置、これらの方法または装置の機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した記録媒体、そのコンピュータープログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【0023】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1実施例:
A−1.画像処理装置の構成:
A−2.AAM設定処理:
A−3.顔特徴位置特定処理:
A−4.比較例および第1実施例の効果:
B.第2実施例:
C.変形例:
【0024】
A.第1実施例:
A−1.画像処理装置の構成:
図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に画像データを含む画像ファイルが格納されている。
【0026】
内部メモリー120には、画像処理部200と、表示処理部310と、印刷処理部320と、が格納されている。画像処理部200は、所定のオペレーティングシステムの下で、顔特徴位置特定処理を実行するためのコンピュータープログラムである。顔特徴位置特定処理は、顔画像における所定の特徴部位(例えば目尻や鼻頭やフェイスライン)の位置を特定(検出)する処理である。顔特徴位置特定処理については、後に詳述する。
【0027】
画像処理部200は、プログラムモジュールとして、顔特徴位置特定部210と、顔領域検出部230と、を含んでいる。顔特徴位置特定部210は、初期配置部211と、画像変換部212と、判定部213と、更新部214と、を含んでいる。これら各部の機能については、後述の顔特徴位置特定処理の説明において詳述する。
【0028】
表示処理部310は、表示部150を制御して、表示部150上に処理メニューやメッセージ、画像等を表示させるディスプレイドライバである。印刷処理部320は、画像データから印刷データを生成し、プリンターエンジン160を制御して、印刷データに基づく画像の印刷を実行するためのコンピュータープログラムである。CPU110は、内部メモリー120から、これらのプログラム(画像処理部200、表示処理部310、印刷処理部320)を読み出して実行することにより、これら各部の機能を実現する。
【0029】
内部メモリー120には、また、AAM情報AMIが格納されている。AAM情報AMIは、後述のAAM設定処理によって予め設定される情報であり、後述の顔特徴位置特定処理において参照される。AAM情報AMIの内容については、後述のAAM設定処理の説明において詳述する。
【0030】
A−2.AAM設定処理:
図2は、第1実施例におけるAAM設定処理の流れを示すフローチャートである。AAM設定処理は、AAM(アクティブアピアランスモデル(Active Appearance Model))と呼ばれる画像のモデル化に用いられる形状モデルおよびテクスチャーモデルを設定する処理である。
【0031】
ステップS110では、人物の顔を表す複数の画像がサンプル顔画像SIとして設定される。図3は、サンプル顔画像SIの一例を示す説明図である。図3に示すように、サンプル顔画像SIは、個性、人種・性別、表情(怒り、笑い、困り、驚き等)、向き(正面向き、上向き、下向き、右向き、左向き等)といった種々の属性に関して互いに相違する画像が含まれるように設定される。サンプル顔画像SIがそのように設定されれば、AAMによってあらゆる顔画像を精度良くモデル化することが可能となり、あらゆる顔画像を対象とした精度の良い顔特徴位置特定処理(後述)の実行が可能となる。なお、サンプル顔画像SIは、学習顔画像とも呼ばれる。
【0032】
ステップS120(図2)では、サンプル顔画像SIのそれぞれにおいて、特徴点CPが設定される。図4は、サンプル顔画像SIにおける特徴点CPの設定方法の一例を示す説明図である。特徴点CPは、顔画像における所定の特徴部位の位置を示す点である。本実施例では、所定の特徴部位として、人物の顔における眉毛上の所定位置(例えば端点や4分割点等、以下同じ)、目の輪郭上の所定位置、鼻筋および小鼻の輪郭上の所定位置、上下唇の輪郭上の所定位置、顔の輪郭(フェイスライン)上の所定位置といった68箇所の部位が設定されている。すなわち、本実施例では、人物の顔に共通して含まれる顔の器官(眉毛、目、鼻、口)および顔の輪郭における所定位置が、特徴部位として設定されている。図4に示すように、特徴点CPは、各サンプル顔画像SIにおいてオペレーターにより指定された68個の特徴部位を表す位置に設定(配置)される。このように設定された各特徴点CPは各特徴部位に対応しているため、顔画像における特徴点CPの配置は顔の形状を特定していると表現することができる。
【0033】
サンプル顔画像SIにおける特徴点CPの位置は、座標により特定される。図5は、サンプル顔画像SIに設定された特徴点CPの座標の一例を示す説明図である。図5において、SI(j)(j=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によって特定される。
【0034】
ステップS130(図2)では、AAMの形状モデルが設定される。具体的には、各サンプル顔画像SIにおける68個の特徴点CPの座標(X座標およびY座標)により構成される座標ベクトル(図5参照)に対する主成分分析が行われ、特徴点CPの位置により特定される顔の形状sが下記の式(1)によりモデル化される。なお、形状モデルは、特徴点CPの配置モデルとも呼ぶ。
【0035】
【数1】
【0036】
上記式(1)において、s0は平均形状である。図6は、平均形状s0の一例を示す説明図である。図6(a)および(b)に示すように、平均形状s0は、サンプル顔画像SIの各特徴点CPについての平均位置(平均座標)により特定される平均的な顔の形状を表すモデルである。なお、本実施例では、平均形状s0において、外周に位置する特徴点CP(フェイスラインおよび眉毛、眉間に対応する特徴点CP、図4参照)を結ぶ直線により囲まれた領域(図6(b)においてハッチングを付して示す)を「平均形状領域BSA」と呼ぶ。平均形状s0においては、図6(a)に示すように、特徴点CPを頂点とする複数の三角形領域TAが、平均形状領域BSAをメッシュ状に分割するように設定されている。また、平均形状s0において、特徴点CPおよび三角形領域TAの輪郭線により構成されるメッシュを「平均形状メッシュBSM」と呼ぶものとする。
【0037】
形状モデルを表す上記式(1)において、siは形状ベクトルであり、piは形状ベクトルsiの重みを表す形状パラメーターである。形状ベクトルsiは、顔の形状sの特性を表すベクトルであり、具体的には、主成分分析により得られる第i主成分に対応する固有ベクトルである。すなわち、分散のより大きい主成分に対応する固有ベクトルから順に、累積寄与率に基づき設定された個数nの固有ベクトルが、形状ベクトルsiとして採用される。本実施例では、最も分散の大きい第1主成分に対応する第1形状ベクトルs1は顔の左右振りにほぼ相関するベクトルとなっており、2番目に分散の大きい第2主成分に対応する第2形状ベクトルs2は顔の上下振りにほぼ相関するベクトルとなっている。また、3番目に分散の大きい第3主成分に対応する第3形状ベクトルs3は顔の形状の縦横比にほぼ相関するベクトルとなっており、4番目に分散の大きい第4主成分に対応する第4形状ベクトルs4は口の開きの程度にほぼ相関するベクトルとなっている。
【0038】
上記式(1)に示すように、本実施例における形状モデルでは、特徴点CPの配置を表す顔形状sが、平均形状s0とn個の形状ベクトルsiの線形結合との和としてモデル化される。形状モデルにおいて形状パラメーターpiを適切に設定することにより、あらゆる画像における顔の形状sを再現することが可能である。なお、形状モデル設定ステップ(図2のステップS130)において設定された平均形状s0および形状ベクトルsiは、AAM情報AMI(図1)として内部メモリー120に格納される。AAM情報AMIとしての平均形状s0および形状ベクトルsiは、本発明におけるモデル情報に相当する。
【0039】
ステップS140(図2)では、AAMのテクスチャーモデルが設定される。具体的には、まず、各サンプル顔画像SIに対して、サンプル顔画像SIにおける特徴点CPの配置が平均形状s0における特徴点CPの配置と等しくなるように、画像変換(以下、「ワープW」とも呼ぶ)が行われる。
【0040】
図7は、サンプル顔画像SIのワープWの方法の一例を示す説明図である。各サンプル顔画像SIにおいては、平均形状s0と同様に、外周に位置する特徴点CPにより囲まれた領域をメッシュ状に分割する複数の三角形領域TAが設定されている。ワープWは、複数の三角形領域TAのそれぞれについてのアフィン変換の集合である。すなわち、ワープWにおいては、サンプル顔画像SIにおけるある三角形領域TAの画像は、平均形状s0における対応する三角形領域TAの画像へとアフィン変換される。ワープWにより、特徴点CPの配置が平均形状s0における特徴点CPの配置と等しいサンプル顔画像SI(以下「サンプル顔画像SIw」と表す)が生成される。
【0041】
なお、各サンプル顔画像SIwは、平均形状領域BSA(図7においてハッチングを付して示す)を内包する矩形枠を外周とし、平均形状領域BSA以外の領域(以下「マスク領域MA」とも呼ぶ)がマスクされた画像として生成される。平均形状領域BSAとマスク領域MAとを併せた画像領域を基準領域BAと呼ぶ。また、各サンプル顔画像SIwは、例えば56画素×56画素のサイズの画像として正規化される。
【0042】
次に、各サンプル顔画像SIwの画素群xのそれぞれにおける輝度値により構成される輝度値ベクトルに対する主成分分析が行われ、顔のテクスチャー(「見え」とも呼ぶ)A(x)が下記の式(2)によりモデル化される。なお、画素群xは、平均形状領域BSAに位置する画素の集合である。
【0043】
【数2】
【0044】
上記式(2)において、A0(x)は平均顔画像である。図8は、平均顔画像A0(x)の一例を示す説明図である。平均顔画像A0(x)は、ワープWの後のサンプル顔画像SIw(図7参照)の平均の画像である。すなわち、平均顔画像A0(x)は、サンプル顔画像SIwの平均形状領域BSA内の画素群xのそれぞれについて画素値(輝度値)の平均をとることにより算出される画像である。従って、平均顔画像A0(x)は、平均的な顔の形状における平均的な顔のテクスチャー(見え)を表すモデルである。なお、平均顔画像A0(x)は、サンプル顔画像SIwと同様に、平均形状領域BSAとマスク領域MAとで構成され、例えば56画素×56画素のサイズの画像として算出される。平均顔画像A0(x)は、本発明における基準顔画像に相当する。
【0045】
テクスチャーモデルを表す上記式(2)において、Ai(x)はテクスチャーベクトルであり、λiはテクスチャーベクトルAi(x)の重みを表すテクスチャーパラメーターである。テクスチャーベクトルAi(x)は、顔のテクスチャーA(x)の特性を表すベクトルであり、具体的には、主成分分析により得られる第i主成分に対応する固有ベクトルである。すなわち、分散のより大きい主成分に対応する固有ベクトルから順に、累積寄与率に基づき設定された個数mの固有ベクトルが、テクスチャーベクトルAi(x)として採用される。本実施例では、最も分散の大きい第1主成分に対応する第1テクスチャーベクトルA1(x)は、顔色の変化(性別の差とも捉えられる)にほぼ相関するベクトルとなっている。
【0046】
上記式(2)に示すように、本実施例におけるテクスチャーモデルでは、顔の見えを表す顔のテクスチャーA(x)が、平均顔画像A0(x)とm個のテクスチャーベクトルAi(x)の線形結合との和としてモデル化される。テクスチャーモデルにおいてテクスチャーパラメーターλiを適切に設定することにより、あらゆる画像における顔のテクスチャーA(x)を再現することが可能である。なお、テクスチャーモデル設定ステップ(図2のステップS140)において設定された平均顔画像A0(x)およびテクスチャーベクトルAi(x)は、AAM情報AMI(図1)として内部メモリー120に格納される。
【0047】
以上説明したAAM設定処理(図2)により、顔の形状をモデル化する形状モデルと、顔のテクスチャーをモデル化するテクスチャーモデルが設定される。設定された形状モデルとテクスチャーモデルとを組み合わせることにより、すなわち合成されたテクスチャーA(x)に対して平均形状s0から形状sへの変換(図7に示したワープWの逆変換)を行うことにより、あらゆる顔画像の形状およびテクスチャーを再現することが可能である。
【0048】
A−3.顔特徴位置特定処理:
図9は、第1実施例における顔特徴位置特定処理の流れを示すフローチャートである。本実施例における顔特徴位置特定処理は、AAMを利用して対象顔画像における特徴点CPの配置を決定することにより、対象顔画像における顔の特徴部位の位置を特定する処理である。上述したように、本実施例では、AAM設定処理(図2)において、人物の顔の器官(眉毛、目、鼻、口)および顔の輪郭における計68箇所の所定位置が、特徴部位として設定されている(図4参照)。そのため、本実施例の顔特徴位置特定処理では、人物の顔の器官および顔の輪郭における所定位置を示す68個の特徴点CPの配置が決定される。
【0049】
なお、顔特徴位置特定処理によって対象顔画像における特徴点CPの配置が決定されると、対象顔画像における人物の顔の器官の形状・位置や顔の輪郭形状の特定が可能となる。従って、顔特徴位置特定処理の処理結果は、特定の表情(例えば笑顔や目を閉じた顔)の顔画像を検出するための表情判定や、特定の向き(例えば右向きや下向き)の顔画像を検出するための顔向き判定、顔の形状を変形する顔変形等に利用可能である。
【0050】
ステップS210(図9)では、画像処理部200(図1)が、顔特徴位置特定処理の対象となる対象顔画像を表す画像データを取得する。本実施例のプリンター100では、カードスロット172にメモリーカードMCが挿入されると、メモリーカードMCに格納された画像ファイルのサムネイル画像が表示部150に表示される。ユーザは、表示されたサムネイル画像を参照しつつ、操作部140を介して処理の対象となる1つまたは複数の画像を選択する。画像処理部200は、選択された1つまたは複数の画像に対応する画像データを含む画像ファイルをメモリーカードMCより取得して内部メモリー120の所定の領域に格納する。なお、取得された画像データを対象顔画像データと呼び、対象顔画像データの表す画像を対象顔画像OIと呼ぶものとする。
【0051】
ステップS220(図9)では、顔領域検出部230(図1)が、対象顔画像OIにおける顔の画像に対応する所定の領域を顔領域FAとして検出する。顔領域FAの検出は、公知の顔検出手法を用いて行うことができる。公知の顔検出手法としては、例えば、パターンマッチングによる手法や肌色領域抽出による手法、サンプル顔画像を用いた学習(例えばニューラルネットワークを用いた学習や、ブースティングを用いた学習、サポートベクターマシーンを用いた学習等)により設定される学習データを用いる手法等がある。
【0052】
図10は、対象顔画像OIにおける顔領域FAの検出結果の一例を示す説明図である。図10には、対象顔画像OIにおいて検出された顔領域FAが示されている。本実施例では、おおよそ、顔の上下方向は額から顎まで、左右方向は両耳の外側まで含む矩形の領域が顔領域FAとして検出されるような顔検出手法が用いられている。
【0053】
なお、図10に示した想定基準領域ABAは、サンプル顔画像SIwや平均顔画像A0(x)の全体領域である基準領域BA(図7参照)に対応すると想定される領域である。想定基準領域ABAは、検出された顔領域FAに基づき、大きさ・傾き・上下および左右方向の位置のそれぞれについて顔領域FAと所定の関係を有する領域に設定される。顔領域FAと想定基準領域ABAとの所定の関係は、顔領域FAに表された顔が平均的な顔である場合には想定基準領域ABAが基準領域BAに対応するように、顔領域FAの検出に採用する顔検出手法の特性(どのような顔の範囲を顔領域FAとして検出するか)を考慮して予め設定される。
【0054】
ステップS230(図9)では、顔特徴位置特定部210(図1)が、対象顔画像OIにおける特徴点CPの初期配置を決定する。図11は、第1実施例における特徴点CPの初期配置決定処理の流れを示すフローチャートである。本実施例では、上述した平均顔画像A0(x)(図8参照)に対してグローバルパラメーターを変更するような変換により生成される変換平均顔画像tA0(x)が予め設定され、平均顔画像A0(x)と共にAAM情報AMI(図1)として内部メモリー120に格納されている。
【0055】
図12は、変換平均顔画像tA0(x)の一例を示す説明図である。変換平均顔画像tA0(x)は、平均顔画像A0(x)に対して、グローバルパラメーターとしての大きさ、傾き、位置(上下方向の位置および左右方向の位置)の少なくとも1つを変更する変換を行った画像である。具体的には、図12(a)に示すように、変換平均顔画像tA0(x)は、中央に示す平均顔画像A0(x)の平均形状領域BSA(図6(b)参照)内の画像を所定倍率で拡大または縮小した画像(平均顔画像A0(x)の上および下に示す画像)や、所定角度だけ時計回りまたは半時計回りに傾きを変更した画像(平均顔画像A0(x)の左および右に示す画像)を含む。また、変換平均顔画像tA0(x)は、平均顔画像A0(x)の平均形状領域BSA内の画像に対して、拡大・縮小および傾きの変更を組み合わせた変換を行った画像(平均顔画像A0(x)の左上、左下、右上、右下に示す画像)をも含む。
【0056】
また、図12(b)に示すように、変換平均顔画像tA0(x)は、平均顔画像A0(x)の平均形状領域BSA(図6(b)参照)内の画像を所定量だけ上または下に並行移動した画像(平均顔画像A0(x)の下および上に示す画像)や、左または右に並行移動した画像(平均顔画像A0(x)の右および左に示す画像)を含む。また、変換平均顔画像tA0(x)は、平均顔画像A0(x)の平均形状領域BSA内の画像に対して、上下および左右の並行移動を組み合わせた変換を行った画像(平均顔画像A0(x)の左上、左下、右上、右下に示す画像)をも含む。
【0057】
さらに、変換平均顔画像tA0(x)は、図12(a)に示す8つの変換平均顔画像tA0(x)のそれぞれに対して図12(b)に示す上下左右の並行移動が実行された画像をも含む。従って、本実施例では、平均顔画像A0(x)に対して、4つのグローバルパラメーター(大きさ、傾き、上下方向の位置、左右方向の位置)のそれぞれについての3段階の値の組み合わせに対応する合計80種類(=3×3×3×3―1)の変換を行うことにより、合計80種類の変換平均顔画像tA0(x)が生成・設定されている。なお、合計80種類の変換は、本発明におけるN種類の第1の変換に相当する。また、平均顔画像A0(x)自身は、4つのグローバルパラメーターのすべてについて調整量がゼロの変換が行われた画像であると捉えることもでき、そのように捉えた場合には、合計81種類(=3×3×3×3)の変換により合計81種類の変換平均顔画像tA0(x)が設定されるとも表現できる。
【0058】
また、変換平均顔画像tA0(x)における特徴点CPの配置は、変換平均顔画像tA0(x)を生成するために平均顔画像A0(x)に対して実行される変換によって一義的に定まる。それぞれの変換平均顔画像tA0(x)における特徴点CPの配置を示す情報は、AAM情報AMI(図1)として内部メモリー120に格納されている。
【0059】
なお、本実施例における変換平均顔画像tA0(x)は、本発明における変換基準顔画像に相当する。また、平均顔画像A0(x)と変換平均顔画像tA0(x)とにより構成される画像群(以下、「平均顔画像群」とも呼ぶ)は、本発明における基準顔画像群に相当する。
【0060】
特徴点CPの初期配置決定処理(図11)のステップS310では、初期配置部211(図1)が、AAM情報AMIとして格納された平均顔画像A0(x)および変換平均顔画像tA0(x)を読み出す。
【0061】
ステップS320(図11)では、初期配置部211(図1)が、対象顔画像OIの想定基準領域ABA(図10)と平均顔画像群のそれぞれとの差分画像Ieを算出する。平均顔画像群は、1つの平均顔画像A0(x)と80個の変換平均顔画像tA0(x)とにより構成されるため、初期配置部211は81個の差分画像Ieを算出することとなる。なお、対象顔画像OIの想定基準領域ABAは、本発明における所定領域に相当する。
【0062】
ステップS330(図11)では、初期配置部211(図1)が、各差分画像Ieのノルムを算出し、平均顔画像群から、ノルムの値が最も小さい差分画像Ieに対応する画像(以下「ノルム最小画像」とも呼ぶ)を選択する。ノルム最小画像は、対象顔画像OIの想定基準領域ABA(図10)に最も近い(似ている)画像である。初期配置部211は、ノルム最小画像における特徴点CPの配置に基づき、対象顔画像OIにおける特徴点CPの初期配置を決定する。具体的には、ノルム最小画像を対象顔画像OIの想定基準領域ABAに重ねたときのノルム最小画像における特徴点CPの配置が、対象顔画像OIにおける特徴点CPの初期配置として決定される。特徴点CPの初期配置処理により、対象顔画像OIにおいて、特徴点CPの配置の全体的な大きさ、傾き、位置(上下方向の位置および左右方向の位置)を規定するグローバルパラメーターの概略値が設定されたこととなる。
【0063】
図13は、対象顔画像OIにおける特徴点CPの初期配置の一例を示す説明図である。図13では、対象顔画像OIにおいて決定された特徴点CPの初期配置をメッシュによって表現している。すなわち、メッシュの各交点が特徴点CPである。なお、このメッシュは、平均形状s0における平均形状メッシュBSMと相似の関係にある。
【0064】
特徴点CP初期配置決定処理(図9のステップS230)が完了すると、顔特徴位置特定部210(図1)は、対象顔画像OIにおける特徴点CPの配置更新を行う(ステップS240)。図14は、第1実施例における特徴点CP配置更新処理の流れを示すフローチャートである。
【0065】
ステップS410では、画像変換部212(図1)が、対象顔画像OIから平均形状画像I(W(x;p))を算出する。平均形状画像I(W(x;p))は、平均形状s0を有する顔画像である。平均形状画像I(W(x;p))は、入力画像における特徴点CPの配置が平均形状s0における特徴点CPの配置(図6参照)と等しくなるような変換によって算出される。この変換は、本発明における第2の変換に相当する。
【0066】
平均形状画像I(W(x;p))を算出するための変換は、サンプル顔画像SIw算出のための変換(図7参照)と同様に、三角形領域TA毎のアフィン変換の集合であるワープWにより行われる。具体的には、対象顔画像OIに配置された特徴点CP(図13参照)によって平均形状領域BSA(外周に位置する特徴点CPにより囲まれた領域)が特定され、対象顔画像OIにおける平均形状領域BSAに対して三角形領域TA毎のアフィン変換が行われることにより、平均形状画像I(W(x;p))が算出される。本実施例では、平均形状画像I(W(x;p))は、平均顔画像A0(x)と同様に平均形状領域BSAおよびマスク領域MAにより構成され、平均顔画像A0(x)と同サイズの画像として算出される。
【0067】
なお、上述したように、画素群xは、平均形状s0における平均形状領域BSAに位置する画素の集合である。ワープW実行後の画像(平均形状s0を有する顔画像)における画素群xに対応するワープW実行前の画像(対象顔画像OIの平均形状領域BSA)における画素群をW(x;p)と表す。平均形状画像は、対象顔画像OIの平均形状領域BSAにおける画素群W(x;p)のそれぞれにおける輝度値により構成される画像であるため、I(W(x;p))と表される。
【0068】
ステップS420(図14)では、顔特徴位置特定部210(図1)が、平均形状画像I(W(x;p))と平均顔画像A0(x)との差分画像Ieを算出する。ステップS430では、判定部213(図1)が、差分画像Ieに基づき、特徴点CPの配置更新処理が収束したか否かを判定する。判定部213は、差分画像Ieのノルムを算出し、ノルムの値が予め設定された閾値より小さい場合には収束したと判定し、ノルムの値が閾値以上の場合には未だ収束していないと判定する。なお、判定部213は、算出された差分画像Ieのノルムの値が前回のステップS430において算出された値よりも小さい場合には収束したと判定し、前回値以上である場合には未だ収束していないと判定するものとしてもよい。あるいは、判定部213は、閾値による判定と前回値との比較による判定とを組み合わせて収束判定を行うものとしてもよい。例えば、判定部213は、算出されたノルムの値が、閾値より小さく、かつ、前回値より小さい場合にのみ収束したと判定し、それ以外の場合には未だ収束していないと判定するものとしてもよい。
【0069】
ステップS430の収束判定において未だ収束していないと判定された場合には、更新部214(図1)が、パラメーター更新量ΔPを算出する(ステップS440)。パラメーター更新量ΔPは、4個のグローバルパラメーター(全体としての大きさ、傾き、X方向位置、Y方向位置)およびn個の形状パラメーターpi(式(1)参照)の値の変更量を意味している。なお、特徴点CPの初期配置直後においては、グローバルパラメーターは、特徴点CP初期配置決定処理(図11)において決定された値が設定されている。また、このときの特徴点CPの初期配置と平均形状s0の特徴点CPの配置との相違は、全体としての大きさ、傾き、位置の相違に限られるため、形状モデルにおける形状パラメーターpiの値はすべてゼロである。
【0070】
パラメーター更新量ΔPは、下記の式(3)により算出される。すなわち、パラメーター更新量ΔPは、アップデートマトリックスRと差分画像Ieとの積である。
【0071】
【数3】
【0072】
式(3)におけるアップデートマトリックスRは、差分画像Ieに基づきパラメーター更新量ΔPを算出するために予め学習により設定されたM行N列のマトリックスであり、AAM情報AMI(図1)として内部メモリー120に格納されている。本実施例では、アップデートマトリックスRの行数Mは、グローバルパラメーターの数(4個)と形状パラメーターpiの数(n個)との和((4+n)個)に等しく、列数Nは、平均顔画像A0(x)(図6)の平均形状領域BSA内の画素数(56画素×56画素−マスク領域MAの画素数)に等しい。アップデートマトリックスRは、下記の式(4)および(5)により算出される。
【0073】
【数4】
【数5】
【0074】
ステップS450(図14)では、更新部214(図1)が、算出されたパラメーター更新量ΔPに基づきパラメーター(4個のグローバルパラメーターおよびn個の形状パラメーターpi)を更新する。これにより、対象顔画像OIにおける特徴点CPの配置が更新される。ステップS450のパラメーター更新の後には、再度、特徴点CPの配置が更新された対象顔画像OIからの平均形状画像I(W(x;p))の算出(ステップS410)、差分画像Ieの算出(ステップS420)、差分画像Ieに基づく収束判定(ステップS430)が行われる。再度の収束判定においても収束していないと判定された場合には、さらに、差分画像Ieに基づくパラメーター更新量ΔPの算出(ステップS440)、パラメーター更新による特徴点CPの配置更新(ステップS450)が行われる。
【0075】
図14のステップS410からS450までの処理が繰り返し実行されると、対象顔画像OIにおける各特徴部位に対応する特徴点CPの位置は実際の特徴部位の位置(正解位置)に全体として近づいていき、ある時点で収束判定(ステップS430)において収束したと判定される。収束判定において収束したと判定されると、顔特徴位置特定処理が完了する(ステップS460)。このとき設定されているグローバルパラメーターおよび形状パラメーターpiの値により特定される特徴点CPの配置が、最終的な対象顔画像OIにおける特徴点CPの配置として決定される。
【0076】
図15は、顔特徴位置特定処理の結果の一例を示す説明図である。図15には、対象顔画像OIにおいて最終的に決定された特徴点CPの配置が示されている。特徴点CPの配置により、対象顔画像OIにおける特徴部位(人物の顔の器官(眉毛、目、鼻、口)および顔の輪郭における所定位置)の位置が特定され、対象顔画像OIにおける人物の顔の器官の形状・位置や顔の輪郭形状の特定が可能となる。
【0077】
以上説明したように、本実施例の顔特徴位置特定処理(図9)では、平均顔画像群のそれぞれと対象顔画像OIとの比較結果に基づき特徴点CPの初期配置が決定され、その後、対象顔画像OIから算出された平均形状画像I(W(x;p))と平均顔画像A0(x)との比較結果に基づき対象顔画像OIにおける特徴点CPの配置が更新される。具体的には、特徴点CPの初期配置決定処理において、特徴点CPの配置の全体的な大きさ、傾き、位置(上下方向の位置および左右方向の位置)を規定するグローバルパラメーターの概略値が決定され、その後、差分画像Ieに基づくパラメーター更新に伴い特徴点CPの配置が更新されて、対象顔画像OIにおける最終的な特徴点CPの配置が決定される。このように、本実施例では、まず初期配置決定処理において特徴点CPの配置全体の変動が大きい(分散が大きい)グローバルパラメーターの概略値を決定することにより、顔特徴位置特定処理の効率化・高速化および精度の向上(いわゆるローカルな最適解ではなくグローバルな最適解に基づく特徴点CPの配置の最終決定)を実現することができる。
【0078】
A−4.比較例および第1実施例の効果:
図16は、比較例における特徴点CPの初期配置決定処理の流れを示すフローチャートである。ステップS510では、初期配置部211(図1)が、グローバルパラメーターとしての大きさ、傾き、位置(上下方向の位置および左右方向の位置)の値を種々変更して、対象顔画像OI上に特徴点CPの仮配置を設定する。
【0079】
図17は、対象顔画像OIにおける特徴点CPの仮配置の一例を示す説明図である。図17(a)および図17(b)には、対象顔画像OIにおける特徴点CPの仮配置をメッシュによって示している。初期配置部211は、図17(a)および図17(b)の中央に示すように、対象顔画像OIの想定基準領域ABA(図10参照)に平均顔画像A0(x)(図8)を重ねた場合における平均顔画像A0(x)の特徴点CPにより特定される仮配置(以下、「基準仮配置」とも呼ぶ)を設定する。
【0080】
初期配置部211は、また、基準仮配置に対して、グローバルパラメーターの値を種々変更した仮配置を設定する。グローバルパラメーター(大きさ、傾き、上下方向の位置および左右方向の位置)を変更することは、特徴点CPの仮配置を特定するメッシュに対して拡大・縮小、傾きの変更、並行移動を行うことに相当する。従って、初期配置部211は、図17(a)に示すように、基準仮配置のメッシュに対して所定倍率で拡大または縮小したメッシュにより特定される仮配置(基準仮配置の下および上に示す)や、所定角度だけ時計回りまたは半時計回りに傾きを変更したメッシュにより特定される仮配置(基準仮配置の右および左に示す)を設定する。また、初期配置部211は、基準仮配置のメッシュに対して拡大・縮小および傾きの変更を組み合わせた変換を行ったメッシュにより特定される仮配置(基準仮配置の左上、左下、右上、右下に示す)も設定する。
【0081】
また、図12(b)に示すように、初期配置部211は、基準仮配置のメッシュを所定量だけ上または下に並行移動したメッシュにより特定される仮配置(基準仮配置の上および下に示す)や、左または右に並行移動したメッシュにより特定される仮配置(基準仮配置の左および右に示す)を設定する。また、初期配置部211は、基準仮配置のメッシュに対して、上下および左右の並行移動を組み合わせた変換を行ったメッシュにより特定される仮配置(基準仮配置の左上、左下、右上、右下に示す)も設定する。
【0082】
さらに、初期配置部211は、図17(a)に示す基準仮配置以外の8つの仮配置のそれぞれにおけるメッシュに対して図17(b)に示す上下左右の並行移動が実行されたメッシュにより特定される仮配置も設定する。従って、比較例では、基準仮配置と、基準仮配置におけるメッシュに対して4つのグローバルパラメーター(大きさ、傾き、上下方向の位置、左右方向の位置)のそれぞれについての3段階の値の組み合わせに対応する合計80種類(=3×3×3×3―1)の変換を行うことにより設定される80種類の仮配置と、の合計81種類の仮配置が設定される。
【0083】
ステップS520(図16)では、画像変換部212(図1)が、設定された各仮配置に対応する平均形状画像I(W(x;p))を算出する。図18は、平均形状画像I(W(x;p))の一例を示す説明図である。平均形状画像I(W(x;p))の算出方法は、上述した第1実施例の特徴点CP配置更新処理(図14)における平均形状画像I(W(x;p))の算出方法(ステップS410)と同じである。すなわち、対象顔画像OIにおける特徴点CPの仮配置によって平均形状領域BSA(外周に位置する特徴点CPにより囲まれた領域)が特定され、対象顔画像OIにおける平均形状領域BSAに対して三角形領域TA毎のアフィン変換が行われることにより、平均形状画像I(W(x;p))が算出される。平均形状画像I(W(x;p))は、平均顔画像A0(x)と同様に平均形状領域BSAおよびマスク領域MAにより構成され、平均顔画像A0(x)と同サイズの画像として算出される。図18には、図17(a)に示した9個の仮配置に対応する9個の平均形状画像I(W(x;p))を示している。
【0084】
ステップS530(図16)では、初期配置部211(図1)が、各仮配置に対応する平均形状画像I(W(x;p))と平均顔画像A0(x)との差分画像Ieを算出する。特徴点CPの仮配置は81種類設定されているため、初期配置部211は81個の差分画像Ieを算出することとなる。
【0085】
ステップS540(図16)では、初期配置部211(図1)が、各差分画像Ieのノルムを算出し、ノルムの値が最も小さい差分画像Ieに対応する仮配置(以下「ノルム最小仮配置」とも呼ぶ)を、対象顔画像OIにおける特徴点CPの初期配置として設定する。
【0086】
以上説明したように、比較例の特徴点CP初期配置決定処理(図16)によっても、対象顔画像OIにおける初期配置を決定することができ、第1実施例と同様に、顔特徴位置特定処理の効率化・高速化および精度の向上を実現することができる。ただし、比較例の特徴点CP初期配置決定処理では、81個の仮配置のすべてについて三角形領域TA毎のアフィン変換という比較的複雑な計算によって平均形状画像I(W(x;p))の算出が行われるため、処理時間が増大する。一方、第1実施例の特徴点CP初期配置決定処理(図11)では、対象顔画像OIと平均顔画像群に含まれる81個の顔画像のそれぞれとの差分計算(81回の差分計算)が行われるのみであり、三角形領域TA毎のアフィン変換といった比較的複雑な計算を行う必要がないため、顔特徴位置特定処理のさらなる効率化・高速化を実現することができる。
【0087】
B.第2実施例:
図19は、第2実施例における特徴点CPの初期配置決定処理の流れを示すフローチャートである。上述したように、第1実施例では、平均顔画像A0(x)に対してグローバルパラメーターを変更するような変換により生成される変換平均顔画像tA0(x)が予め設定され、AAM情報AMIとして内部メモリー120に格納されている。第2実施例では、さらに、平均顔画像群(平均顔画像A0(x)および変換平均顔画像tA0(x))に対して、上述した形状モデルにおける第1形状ベクトルs1の形状パラメーターp1および第2形状ベクトルs2の形状パラメーターp2を変更する変換を行った画像が予め設定され、AAM情報AMIとして格納されている。具体的には、平均顔画像群のそれぞれについて、形状パラメーターp1およびp2の3段階の値(0,+V、−V)の組み合わせに対応する8種類の変化により、8種類(=3×3―1)の画像が設定されている。なお、8種類の変換は、本発明におけるM種類の変換に相当する。
【0088】
上述したように、第1形状ベクトルs1および第2形状ベクトルs2は、形状モデルにおいて最も分散の大きい2つの主成分(第1主成分および第2主成分)に対応する形状ベクトルsiである。第1形状ベクトルs1は顔の左右振りにほぼ相関するベクトルであり、第2形状ベクトルs2は顔の上下振りにほぼ相関するベクトルである。従って、第2実施例では、平均顔画像群のそれぞれについて、顔の左右振りおよび上下振りの程度を変更した画像が予め設定されることとなる。
【0089】
第2実施例の特徴点CP初期配置決定処理(図19)のステップS610およびS620の処理内容は、図11に示した第1実施例におけるステップS310およびS320と同じである。ステップS630では、初期配置部211(図1)が、各差分画像Ieのノルムを算出し、平均顔画像群から、ノルムの値が最も小さい差分画像Ieに対応する画像(以下「選択画像」とも呼ぶ)を選択する。
【0090】
ステップS640(図19)では、初期配置部211(図1)が、選択画像に対して形状パラメーターp1およびp2の少なくとも1つが変更された8種類の画像を読み出す。8種類の画像は、本発明における変換選択画像に相当する。以下、選択画像と読み出された8種類の画像とを併せて選択画像群と呼ぶ。
【0091】
ステップS650(図19)では、初期配置部211(図1)が、対象顔画像OIの想定基準領域ABA(図10)と選択画像群に含まれる8種類の画像のそれぞれとの差分画像Ieを算出する。
【0092】
ステップS660(図19)では、初期配置部211(図1)が、各差分画像Ieのノルムを算出し、選択画像群から、ノルムの値が最も小さい差分画像Ieに対応する画像を選択し、選択された画像における特徴点CPの配置に基づき、対象顔画像OIにおける特徴点CPの初期配置を決定する。
【0093】
以上説明したように、第2実施例の特徴点CP初期配置処理では、対象顔画像OIにおいて、特徴点CPの配置の全体的な大きさ、傾き、位置(上下方向の位置および左右方向の位置)を規定するグローバルパラメーターと、形状モデルにおいて最も分散の大きい2つの主成分に対応する第1形状ベクトルs1の形状パラメーターp1および第2形状ベクトルs2の形状パラメーターp2と、の概略値が設定される。第2実施例の特徴点CP初期配置処理では、対象顔画像OIと平均顔画像群に含まれる81種類の顔画像のそれぞれとの差分計算と、対象顔画像OIと選択画像群に含まれる8種類の画像のそれぞれとの差分計算と、が行われるのみであり、三角形領域TA毎のアフィン変換といった比較的複雑な計算を行う必要がない。そのため、第2実施例では、顔特徴位置特定処理の効率化・高速化およびさらなる精度の向上を実現することができる。
【0094】
C.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0095】
C1.変形例1:
上記各実施例では、平均顔画像A0(x)に対して、4つのグローバルパラメーター(大きさ、傾き、上下方向の位置、左右方向の位置)のそれぞれについての3段階の値の組み合わせに対応する合計80種類(=3×3×3×3―1)の変換により合計80種類の変換平均顔画像tA0(x)が予め設定されているが、変換平均顔画像tA0(x)の設定に用いるパラメーターの種類および数やパラメーター値の段階数は変更可能である。例えば、4つのグローバルパラメーターの内の一部のみが変換平均顔画像tA0(x)の設定に用いられるとしてもよいし、グローバルパラメーターの少なくとも一部と所定数の形状パラメーターpiとが変換平均顔画像tA0(x)の設定に用いられるとしてもよい。また、用いられるパラメーターのそれぞれについて、5段階の値の組み合わせに対応する変換により変換平均顔画像tA0(x)が設定されるものとしてもよい。
【0096】
C2.変形例2:
上記第2実施例では、平均顔画像群(平均顔画像A0(x)および変換平均顔画像tA0(x))のそれぞれについて、形状モデルにおいて最も分散の大きい2つの主成分に対応する形状パラメーターp1およびp2の3段階の値の組み合わせに対応する画像が予め設定されているが、用いられる形状パラメーターpiの数やパラメーター値の段階数は変更可能である。例えば、最も分散の大きい1つの主成分に対応する形状パラメーターpiのみが用いられてもよいし、分散の大きい方から3つ以上の主成分に対応する形状パラメーターpiが用いられてもよい。また、例えば、パラメーター値の段階数は5段階であるとしてもよい。
【0097】
C3.変形例3:
上記各実施例の特徴点CP配置更新処理(図14)では、対象顔画像OIに基づき平均形状画像I(W(x;p))を算出することにより対象顔画像OIの特徴点CPの配置を平均顔画像A0(x)の特徴点CPの配置に整合させているが、平均顔画像A0(x)に対して画像変換を行うことにより両者の特徴点CPの配置を整合させるものとしてもよい。
【0098】
C4.変形例4:
上記各実施例では、顔領域FAの検出が行われ、顔領域FAに基づき想定基準領域ABAが設定されるとしているが、顔領域FAの検出は必ずしも実行される必要はない。例えば、ユーザによる指定に従い直接、想定基準領域ABAが設定されるとしてもよい。
【0099】
C5.変形例5:
上記各実施例におけるサンプル顔画像SI(図3)はあくまで一例であり、サンプル顔画像SIとして採用する画像の数、種類は任意に設定可能である。また、上記各実施例において、特徴点CPの位置で示される顔の所定の特徴部位(図4参照)はあくまで一例であり、実施例において設定されている特徴部位の一部を省略したり、特徴部位として他の部位を採用したりしてもよい。
【0100】
また、上記各実施例では、サンプル顔画像SIwの画素群xのそれぞれにおける輝度値により構成される輝度値ベクトルに対する主成分分析によってテクスチャーモデルが設定されているが、顔画像のテクスチャー(見え)を表す輝度値以外の指標値(例えばRGB値)に対する主成分分析によってテクスチャーモデルが設定されるものとしてもよい。
【0101】
また、上記各実施例において、平均顔画像A0(x)のサイズは56画素×56画素に限られず他のサイズであってもよい。また、平均顔画像A0(x)は、マスク領域MA(図7)を含む必要はなく、平均形状領域BSAのみによって構成されるとしてもよい。また、平均顔画像A0(x)の代わりに、サンプル顔画像SIの統計的分析に基づき設定される他の基準顔画像が用いられるとしてもよい。
【0102】
また、上記各実施例では、AAMを用いた形状モデルおよびテクスチャーモデルの設定が行われているが、他のモデル化手法(例えばMorphable Modelと呼ばれる手法やActive Blobと呼ばれる手法)を用いて形状モデルおよびテクスチャーモデルの設定が行われるとしてもよい。
【0103】
また、上記各実施例では、メモリーカードMCに格納された画像が対象顔画像OIに設定されているが、対象顔画像OIは例えばネットワークを介して取得された画像であってもよい。
【0104】
また、上記各実施例では、画像処理装置としてのプリンター100による画像処理を説明したが、処理の一部または全部がパーソナルコンピューターやデジタルスチルカメラ、デジタルビデオカメラ等の他の種類の画像処理装置により実行されるものとしてもよい。また、プリンター100はインクジェットプリンターに限らず、他の方式のプリンター、例えばレーザプリンターや昇華型プリンターであるとしてもよい。
【0105】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【0106】
また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータープログラム)は、コンピューター読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピューター内の内部記憶装置や、ハードディスク等のコンピューターに固定されている外部記憶装置も含んでいる。
【図面の簡単な説明】
【0107】
【図1】本発明の第1実施例における画像処理装置としてのプリンター100の構成を概略的に示す説明図である。
【図2】第1実施例におけるAAM設定処理の流れを示すフローチャートである。
【図3】サンプル顔画像SIの一例を示す説明図である。
【図4】サンプル顔画像SIにおける特徴点CPの設定方法の一例を示す説明図である。
【図5】サンプル顔画像SIに設定された特徴点CPの座標の一例を示す説明図である。
【図6】平均形状s0の一例を示す説明図である。
【図7】サンプル顔画像SIのワープWの方法の一例を示す説明図である。
【図8】平均顔画像A0(x)の一例を示す説明図である。
【図9】第1実施例における顔特徴位置特定処理の流れを示すフローチャートである。
【図10】対象顔画像OIにおける顔領域FAの検出結果の一例を示す説明図である。
【図11】第1実施例における特徴点CPの初期配置決定処理の流れを示すフローチャートである。
【図12】変換平均顔画像tA0(x)の一例を示す説明図である。
【図13】対象顔画像OIにおける特徴点CPの初期配置の一例を示す説明図である。
【図14】第1実施例における特徴点CP配置更新処理の流れを示すフローチャートである。
【図15】顔特徴位置特定処理の結果の一例を示す説明図である。
【図16】比較例における特徴点CPの初期配置決定処理の流れを示すフローチャートである。
【図17】対象顔画像OIにおける特徴点CPの仮配置の一例を示す説明図である。
【図18】平均形状画像I(W(x;p))の一例を示す説明図である。
【図19】第2実施例における特徴点CPの初期配置決定処理の流れを示すフローチャートである。
【符号の説明】
【0108】
100…プリンター
110…CPU
120…内部メモリー
140…操作部
150…表示部
160…プリンターエンジン
170…カードインターフェース
172…カードスロット
200…画像処理部
210…顔特徴位置特定部
211…初期配置部
212…画像変換部
213…判定部
214…更新部
230…顔領域検出部
310…表示処理部
320…印刷処理部
【技術分野】
【0001】
本発明は、顔画像における所定の特徴部位の位置を特定する技術に関する。
【背景技術】
【0002】
視覚的事象のモデル化手法として、アクティブアピアランスモデル(Active Appearance Model、略して「AAM」とも呼ばれる)が知られている。AAMでは、例えば、複数のサンプル顔画像における所定の特徴部位(例えば目尻や鼻頭やフェイスライン)の位置(座標)や画素値(例えば輝度値)の統計的分析を通じて、上記特徴部位の位置により特定される顔の形状を表す形状モデルや、平均的な形状における「見え(Appearance)」を表すテクスチャーモデルが設定され、これらのモデルを用いて顔画像がモデル化される。AAMによれば、任意の対象顔画像のモデル化(合成)が可能であり、対象顔画像における上記特徴部位の位置の特定(検出)が可能である(例えば特許文献1参照)。
【0003】
【特許文献1】特開2007−141107号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記従来の技術では、顔画像における所定の特徴部位の位置の特定において、さらなる効率化・高速化の余地があった。
【0005】
なお、このような問題は、AAMを利用する場合に限らず、顔画像における所定の特徴部位の位置を特定する画像処理を行う際に共通の問題であった。
【0006】
本発明は、上記の課題を解決するためになされたものであり、顔画像における所定の特徴部位の位置の特定処理の効率化・高速化を図ることを目的とする。
【課題を解決するための手段】
【0007】
上記課題の少なくとも一部を解決するために、本発明は、以下の形態または適用例として実現することが可能である。
【0008】
[適用例1]対象顔画像における所定の特徴部位の位置を特定する画像処理装置であって、
前記特徴部位の位置を示す特徴点の配置が既知である複数のサンプル顔画像を対象とした統計的分析に基づき設定された基準顔画像と前記基準顔画像に対するN(Nは1以上の整数)種類の第1の変換により生成されたN種類の変換基準顔画像とを含む基準顔画像群のそれぞれと、前記対象顔画像と、の比較結果に基づき、前記対象顔画像における前記特徴点の初期配置を決定する初期配置部と、
前記基準顔画像と前記対象顔画像とにおける前記特徴点の配置が互いに等しくなるように前記基準顔画像と前記対象顔画像との少なくとも一方に対して第2の変換を行う画像変換部と、
前記第2の変換後の前記基準顔画像と前記対象顔画像との比較結果に基づき、前記対象顔画像における前記特徴点の配置を更新する更新部と、を備える、画像処理装置。
【0009】
この画像処理装置では、基準顔画像と基準顔画像に対するN種類の第1の変換により生成されたN種類の変換基準顔画像とを含む予め設定された基準顔画像群のそれぞれと、対象顔画像と、の比較結果に基づき、対象顔画像における特徴点の初期配置が決定され、第2の変換後の基準顔画像と対象顔画像との比較結果に基づき、対象顔画像における特徴点の配置が更新される。そのため、特徴点の初期配置の決定の後、第2の変換と特徴点の配置の更新とが繰り返されることにより、特徴点の配置によって対象顔画像における特徴部位の位置が特定される。このように、基準顔画像群と対象顔画像との比較結果に基づき対象顔画像における特徴点の初期配置が決定された後、特徴点の配置が更新されることにより、顔画像における特徴部位の位置が精度良く特定される。また、特徴点の初期配置の決定の際に対象顔画像に対する画像変換が行われることがないため、顔画像における特徴部位の位置の特定処理の効率化・高速化が実現される。
【0010】
[適用例2]適用例1に記載の画像処理装置であって、
前記更新部は、前記第2の変換後の前記基準顔画像と前記対象顔画像との前記比較結果に基づき、前記対象顔画像における前記特徴点の配置の更新を行うか否かを判定する判定部を含む、画像処理装置。
【0011】
この画像処理装置では、第2の変換後の基準顔画像と対象顔画像との比較結果に基づき特徴点の配置の更新を行うか否かが判定されるため、顔画像における特徴部位の位置の特定を所望の精度で実現することができる。
【0012】
[適用例3]適用例1または適用例2に記載の画像処理装置であって、
前記N種類の第1の変換は、前記基準顔画像における前記特徴点全体の並行移動と傾きの変更と拡大・縮小との少なくとも1つが行われるような変換である、画像処理装置。
【0013】
この画像処理装置では、特徴点全体の並行移動と傾きの変更と拡大・縮小との少なくとも1つが行われるような変換により変換基準顔画像が設定されるため、特徴点の配置全体のばらつきの大きい基準顔画像群を用いて特徴点の初期配置が決定され、顔画像における特徴部位の位置の特定処理の効率化・高速化および精度の向上が実現される。
【0014】
[適用例4]適用例3に記載の画像処理装置であって、さらに、
前記統計的分析に基づき設定された前記特徴点の配置モデルであって、前記複数のサンプル顔画像における前記特徴点の平均位置を表す平均形状と前記複数のサンプル顔画像における前記特徴点の配置の特性を表す形状ベクトルの線形結合との和による前記特徴点の前記配置モデルを特定するモデル情報を記憶する記憶部を備え、
前記初期配置部は、前記基準顔画像群のそれぞれと前記対象顔画像との比較結果に基づき前記基準顔画像群に含まれる1つの画像を選択画像として選択すると共に、前記選択画像と、前記選択画像に対する前記配置モデルにおける分散の最も大きい所定数の前記形状ベクトルの内の少なくとも1つの係数が変更されるようなM(Mは1以上の整数)種類の第3の変換により生成されたM種類の変換選択画像と、を含む画像群のそれぞれと、前記対象顔画像と、の比較結果に基づき、前記対象顔画像における前記特徴点の初期配置を決定する、画像処理装置。
【0015】
この画像処理装置では、特徴点の初期配置の決定に際して、選択画像に対して分散の最も大きい所定数の形状ベクトルの内の少なくとも1つの係数が変更されるような変換により生成された変換選択画像が用いられるため、特徴点の初期配置がより精度良く設定され、顔画像における特徴部位の位置の特定処理の効率化・高速化および精度の向上が実現される。
【0016】
[適用例5]適用例1ないし適用例4のいずれかに記載の画像処理装置であって、
前記基準顔画像は、前記特徴点の配置が前記複数のサンプル顔画像における前記特徴点の平均位置を表す平均形状に等しくなるように変換された前記複数のサンプル顔画像の平均画像である、画像処理装置。
【0017】
この画像処理装置では、特徴点の配置が平均形状に等しくなるように変換された複数のサンプル顔画像の平均画像が基準顔画像として採用されるため、あらゆる顔画像を対象とした特徴部位の位置の特定処理の効率化・高速化および精度の向上が実現される。
【0018】
[適用例6]適用例1ないし適用例5のいずれかにに記載の画像処理装置であって、
前記初期配置部は、前記基準顔画像群の内の前記対象顔画像における所定領域に最も近い画像における前記特徴点の配置に基づき、前記対象顔画像における前記特徴点の初期配置を決定する、画像処理装置。
【0019】
この画像処理装置では、対象顔画像における特徴点の初期配置を精度良く決定することができる。
【0020】
[適用例7]適用例6に記載の画像処理装置であって、さらに、
画像における顔の画像に対応する顔領域を検出する顔領域検出部を備え、
前記所定領域は、前記顔領域との関係が予め設定された領域である、画像処理装置。
【0021】
この画像処理装置では、顔領域が検出され、顔領域との関係に基づき予め設定された領域が基準顔画像群と比較されることにより、特徴点の初期配置が決定されるため、対象顔画像における特徴点の初期配置の決定を効率的にかつ精度良く実行することができる。
【0022】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法および装置、特徴位置特定方法および装置、表情判定方法および装置、これらの方法または装置の機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した記録媒体、そのコンピュータープログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【0023】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1実施例:
A−1.画像処理装置の構成:
A−2.AAM設定処理:
A−3.顔特徴位置特定処理:
A−4.比較例および第1実施例の効果:
B.第2実施例:
C.変形例:
【0024】
A.第1実施例:
A−1.画像処理装置の構成:
図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に画像データを含む画像ファイルが格納されている。
【0026】
内部メモリー120には、画像処理部200と、表示処理部310と、印刷処理部320と、が格納されている。画像処理部200は、所定のオペレーティングシステムの下で、顔特徴位置特定処理を実行するためのコンピュータープログラムである。顔特徴位置特定処理は、顔画像における所定の特徴部位(例えば目尻や鼻頭やフェイスライン)の位置を特定(検出)する処理である。顔特徴位置特定処理については、後に詳述する。
【0027】
画像処理部200は、プログラムモジュールとして、顔特徴位置特定部210と、顔領域検出部230と、を含んでいる。顔特徴位置特定部210は、初期配置部211と、画像変換部212と、判定部213と、更新部214と、を含んでいる。これら各部の機能については、後述の顔特徴位置特定処理の説明において詳述する。
【0028】
表示処理部310は、表示部150を制御して、表示部150上に処理メニューやメッセージ、画像等を表示させるディスプレイドライバである。印刷処理部320は、画像データから印刷データを生成し、プリンターエンジン160を制御して、印刷データに基づく画像の印刷を実行するためのコンピュータープログラムである。CPU110は、内部メモリー120から、これらのプログラム(画像処理部200、表示処理部310、印刷処理部320)を読み出して実行することにより、これら各部の機能を実現する。
【0029】
内部メモリー120には、また、AAM情報AMIが格納されている。AAM情報AMIは、後述のAAM設定処理によって予め設定される情報であり、後述の顔特徴位置特定処理において参照される。AAM情報AMIの内容については、後述のAAM設定処理の説明において詳述する。
【0030】
A−2.AAM設定処理:
図2は、第1実施例におけるAAM設定処理の流れを示すフローチャートである。AAM設定処理は、AAM(アクティブアピアランスモデル(Active Appearance Model))と呼ばれる画像のモデル化に用いられる形状モデルおよびテクスチャーモデルを設定する処理である。
【0031】
ステップS110では、人物の顔を表す複数の画像がサンプル顔画像SIとして設定される。図3は、サンプル顔画像SIの一例を示す説明図である。図3に示すように、サンプル顔画像SIは、個性、人種・性別、表情(怒り、笑い、困り、驚き等)、向き(正面向き、上向き、下向き、右向き、左向き等)といった種々の属性に関して互いに相違する画像が含まれるように設定される。サンプル顔画像SIがそのように設定されれば、AAMによってあらゆる顔画像を精度良くモデル化することが可能となり、あらゆる顔画像を対象とした精度の良い顔特徴位置特定処理(後述)の実行が可能となる。なお、サンプル顔画像SIは、学習顔画像とも呼ばれる。
【0032】
ステップS120(図2)では、サンプル顔画像SIのそれぞれにおいて、特徴点CPが設定される。図4は、サンプル顔画像SIにおける特徴点CPの設定方法の一例を示す説明図である。特徴点CPは、顔画像における所定の特徴部位の位置を示す点である。本実施例では、所定の特徴部位として、人物の顔における眉毛上の所定位置(例えば端点や4分割点等、以下同じ)、目の輪郭上の所定位置、鼻筋および小鼻の輪郭上の所定位置、上下唇の輪郭上の所定位置、顔の輪郭(フェイスライン)上の所定位置といった68箇所の部位が設定されている。すなわち、本実施例では、人物の顔に共通して含まれる顔の器官(眉毛、目、鼻、口)および顔の輪郭における所定位置が、特徴部位として設定されている。図4に示すように、特徴点CPは、各サンプル顔画像SIにおいてオペレーターにより指定された68個の特徴部位を表す位置に設定(配置)される。このように設定された各特徴点CPは各特徴部位に対応しているため、顔画像における特徴点CPの配置は顔の形状を特定していると表現することができる。
【0033】
サンプル顔画像SIにおける特徴点CPの位置は、座標により特定される。図5は、サンプル顔画像SIに設定された特徴点CPの座標の一例を示す説明図である。図5において、SI(j)(j=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によって特定される。
【0034】
ステップS130(図2)では、AAMの形状モデルが設定される。具体的には、各サンプル顔画像SIにおける68個の特徴点CPの座標(X座標およびY座標)により構成される座標ベクトル(図5参照)に対する主成分分析が行われ、特徴点CPの位置により特定される顔の形状sが下記の式(1)によりモデル化される。なお、形状モデルは、特徴点CPの配置モデルとも呼ぶ。
【0035】
【数1】
【0036】
上記式(1)において、s0は平均形状である。図6は、平均形状s0の一例を示す説明図である。図6(a)および(b)に示すように、平均形状s0は、サンプル顔画像SIの各特徴点CPについての平均位置(平均座標)により特定される平均的な顔の形状を表すモデルである。なお、本実施例では、平均形状s0において、外周に位置する特徴点CP(フェイスラインおよび眉毛、眉間に対応する特徴点CP、図4参照)を結ぶ直線により囲まれた領域(図6(b)においてハッチングを付して示す)を「平均形状領域BSA」と呼ぶ。平均形状s0においては、図6(a)に示すように、特徴点CPを頂点とする複数の三角形領域TAが、平均形状領域BSAをメッシュ状に分割するように設定されている。また、平均形状s0において、特徴点CPおよび三角形領域TAの輪郭線により構成されるメッシュを「平均形状メッシュBSM」と呼ぶものとする。
【0037】
形状モデルを表す上記式(1)において、siは形状ベクトルであり、piは形状ベクトルsiの重みを表す形状パラメーターである。形状ベクトルsiは、顔の形状sの特性を表すベクトルであり、具体的には、主成分分析により得られる第i主成分に対応する固有ベクトルである。すなわち、分散のより大きい主成分に対応する固有ベクトルから順に、累積寄与率に基づき設定された個数nの固有ベクトルが、形状ベクトルsiとして採用される。本実施例では、最も分散の大きい第1主成分に対応する第1形状ベクトルs1は顔の左右振りにほぼ相関するベクトルとなっており、2番目に分散の大きい第2主成分に対応する第2形状ベクトルs2は顔の上下振りにほぼ相関するベクトルとなっている。また、3番目に分散の大きい第3主成分に対応する第3形状ベクトルs3は顔の形状の縦横比にほぼ相関するベクトルとなっており、4番目に分散の大きい第4主成分に対応する第4形状ベクトルs4は口の開きの程度にほぼ相関するベクトルとなっている。
【0038】
上記式(1)に示すように、本実施例における形状モデルでは、特徴点CPの配置を表す顔形状sが、平均形状s0とn個の形状ベクトルsiの線形結合との和としてモデル化される。形状モデルにおいて形状パラメーターpiを適切に設定することにより、あらゆる画像における顔の形状sを再現することが可能である。なお、形状モデル設定ステップ(図2のステップS130)において設定された平均形状s0および形状ベクトルsiは、AAM情報AMI(図1)として内部メモリー120に格納される。AAM情報AMIとしての平均形状s0および形状ベクトルsiは、本発明におけるモデル情報に相当する。
【0039】
ステップS140(図2)では、AAMのテクスチャーモデルが設定される。具体的には、まず、各サンプル顔画像SIに対して、サンプル顔画像SIにおける特徴点CPの配置が平均形状s0における特徴点CPの配置と等しくなるように、画像変換(以下、「ワープW」とも呼ぶ)が行われる。
【0040】
図7は、サンプル顔画像SIのワープWの方法の一例を示す説明図である。各サンプル顔画像SIにおいては、平均形状s0と同様に、外周に位置する特徴点CPにより囲まれた領域をメッシュ状に分割する複数の三角形領域TAが設定されている。ワープWは、複数の三角形領域TAのそれぞれについてのアフィン変換の集合である。すなわち、ワープWにおいては、サンプル顔画像SIにおけるある三角形領域TAの画像は、平均形状s0における対応する三角形領域TAの画像へとアフィン変換される。ワープWにより、特徴点CPの配置が平均形状s0における特徴点CPの配置と等しいサンプル顔画像SI(以下「サンプル顔画像SIw」と表す)が生成される。
【0041】
なお、各サンプル顔画像SIwは、平均形状領域BSA(図7においてハッチングを付して示す)を内包する矩形枠を外周とし、平均形状領域BSA以外の領域(以下「マスク領域MA」とも呼ぶ)がマスクされた画像として生成される。平均形状領域BSAとマスク領域MAとを併せた画像領域を基準領域BAと呼ぶ。また、各サンプル顔画像SIwは、例えば56画素×56画素のサイズの画像として正規化される。
【0042】
次に、各サンプル顔画像SIwの画素群xのそれぞれにおける輝度値により構成される輝度値ベクトルに対する主成分分析が行われ、顔のテクスチャー(「見え」とも呼ぶ)A(x)が下記の式(2)によりモデル化される。なお、画素群xは、平均形状領域BSAに位置する画素の集合である。
【0043】
【数2】
【0044】
上記式(2)において、A0(x)は平均顔画像である。図8は、平均顔画像A0(x)の一例を示す説明図である。平均顔画像A0(x)は、ワープWの後のサンプル顔画像SIw(図7参照)の平均の画像である。すなわち、平均顔画像A0(x)は、サンプル顔画像SIwの平均形状領域BSA内の画素群xのそれぞれについて画素値(輝度値)の平均をとることにより算出される画像である。従って、平均顔画像A0(x)は、平均的な顔の形状における平均的な顔のテクスチャー(見え)を表すモデルである。なお、平均顔画像A0(x)は、サンプル顔画像SIwと同様に、平均形状領域BSAとマスク領域MAとで構成され、例えば56画素×56画素のサイズの画像として算出される。平均顔画像A0(x)は、本発明における基準顔画像に相当する。
【0045】
テクスチャーモデルを表す上記式(2)において、Ai(x)はテクスチャーベクトルであり、λiはテクスチャーベクトルAi(x)の重みを表すテクスチャーパラメーターである。テクスチャーベクトルAi(x)は、顔のテクスチャーA(x)の特性を表すベクトルであり、具体的には、主成分分析により得られる第i主成分に対応する固有ベクトルである。すなわち、分散のより大きい主成分に対応する固有ベクトルから順に、累積寄与率に基づき設定された個数mの固有ベクトルが、テクスチャーベクトルAi(x)として採用される。本実施例では、最も分散の大きい第1主成分に対応する第1テクスチャーベクトルA1(x)は、顔色の変化(性別の差とも捉えられる)にほぼ相関するベクトルとなっている。
【0046】
上記式(2)に示すように、本実施例におけるテクスチャーモデルでは、顔の見えを表す顔のテクスチャーA(x)が、平均顔画像A0(x)とm個のテクスチャーベクトルAi(x)の線形結合との和としてモデル化される。テクスチャーモデルにおいてテクスチャーパラメーターλiを適切に設定することにより、あらゆる画像における顔のテクスチャーA(x)を再現することが可能である。なお、テクスチャーモデル設定ステップ(図2のステップS140)において設定された平均顔画像A0(x)およびテクスチャーベクトルAi(x)は、AAM情報AMI(図1)として内部メモリー120に格納される。
【0047】
以上説明したAAM設定処理(図2)により、顔の形状をモデル化する形状モデルと、顔のテクスチャーをモデル化するテクスチャーモデルが設定される。設定された形状モデルとテクスチャーモデルとを組み合わせることにより、すなわち合成されたテクスチャーA(x)に対して平均形状s0から形状sへの変換(図7に示したワープWの逆変換)を行うことにより、あらゆる顔画像の形状およびテクスチャーを再現することが可能である。
【0048】
A−3.顔特徴位置特定処理:
図9は、第1実施例における顔特徴位置特定処理の流れを示すフローチャートである。本実施例における顔特徴位置特定処理は、AAMを利用して対象顔画像における特徴点CPの配置を決定することにより、対象顔画像における顔の特徴部位の位置を特定する処理である。上述したように、本実施例では、AAM設定処理(図2)において、人物の顔の器官(眉毛、目、鼻、口)および顔の輪郭における計68箇所の所定位置が、特徴部位として設定されている(図4参照)。そのため、本実施例の顔特徴位置特定処理では、人物の顔の器官および顔の輪郭における所定位置を示す68個の特徴点CPの配置が決定される。
【0049】
なお、顔特徴位置特定処理によって対象顔画像における特徴点CPの配置が決定されると、対象顔画像における人物の顔の器官の形状・位置や顔の輪郭形状の特定が可能となる。従って、顔特徴位置特定処理の処理結果は、特定の表情(例えば笑顔や目を閉じた顔)の顔画像を検出するための表情判定や、特定の向き(例えば右向きや下向き)の顔画像を検出するための顔向き判定、顔の形状を変形する顔変形等に利用可能である。
【0050】
ステップS210(図9)では、画像処理部200(図1)が、顔特徴位置特定処理の対象となる対象顔画像を表す画像データを取得する。本実施例のプリンター100では、カードスロット172にメモリーカードMCが挿入されると、メモリーカードMCに格納された画像ファイルのサムネイル画像が表示部150に表示される。ユーザは、表示されたサムネイル画像を参照しつつ、操作部140を介して処理の対象となる1つまたは複数の画像を選択する。画像処理部200は、選択された1つまたは複数の画像に対応する画像データを含む画像ファイルをメモリーカードMCより取得して内部メモリー120の所定の領域に格納する。なお、取得された画像データを対象顔画像データと呼び、対象顔画像データの表す画像を対象顔画像OIと呼ぶものとする。
【0051】
ステップS220(図9)では、顔領域検出部230(図1)が、対象顔画像OIにおける顔の画像に対応する所定の領域を顔領域FAとして検出する。顔領域FAの検出は、公知の顔検出手法を用いて行うことができる。公知の顔検出手法としては、例えば、パターンマッチングによる手法や肌色領域抽出による手法、サンプル顔画像を用いた学習(例えばニューラルネットワークを用いた学習や、ブースティングを用いた学習、サポートベクターマシーンを用いた学習等)により設定される学習データを用いる手法等がある。
【0052】
図10は、対象顔画像OIにおける顔領域FAの検出結果の一例を示す説明図である。図10には、対象顔画像OIにおいて検出された顔領域FAが示されている。本実施例では、おおよそ、顔の上下方向は額から顎まで、左右方向は両耳の外側まで含む矩形の領域が顔領域FAとして検出されるような顔検出手法が用いられている。
【0053】
なお、図10に示した想定基準領域ABAは、サンプル顔画像SIwや平均顔画像A0(x)の全体領域である基準領域BA(図7参照)に対応すると想定される領域である。想定基準領域ABAは、検出された顔領域FAに基づき、大きさ・傾き・上下および左右方向の位置のそれぞれについて顔領域FAと所定の関係を有する領域に設定される。顔領域FAと想定基準領域ABAとの所定の関係は、顔領域FAに表された顔が平均的な顔である場合には想定基準領域ABAが基準領域BAに対応するように、顔領域FAの検出に採用する顔検出手法の特性(どのような顔の範囲を顔領域FAとして検出するか)を考慮して予め設定される。
【0054】
ステップS230(図9)では、顔特徴位置特定部210(図1)が、対象顔画像OIにおける特徴点CPの初期配置を決定する。図11は、第1実施例における特徴点CPの初期配置決定処理の流れを示すフローチャートである。本実施例では、上述した平均顔画像A0(x)(図8参照)に対してグローバルパラメーターを変更するような変換により生成される変換平均顔画像tA0(x)が予め設定され、平均顔画像A0(x)と共にAAM情報AMI(図1)として内部メモリー120に格納されている。
【0055】
図12は、変換平均顔画像tA0(x)の一例を示す説明図である。変換平均顔画像tA0(x)は、平均顔画像A0(x)に対して、グローバルパラメーターとしての大きさ、傾き、位置(上下方向の位置および左右方向の位置)の少なくとも1つを変更する変換を行った画像である。具体的には、図12(a)に示すように、変換平均顔画像tA0(x)は、中央に示す平均顔画像A0(x)の平均形状領域BSA(図6(b)参照)内の画像を所定倍率で拡大または縮小した画像(平均顔画像A0(x)の上および下に示す画像)や、所定角度だけ時計回りまたは半時計回りに傾きを変更した画像(平均顔画像A0(x)の左および右に示す画像)を含む。また、変換平均顔画像tA0(x)は、平均顔画像A0(x)の平均形状領域BSA内の画像に対して、拡大・縮小および傾きの変更を組み合わせた変換を行った画像(平均顔画像A0(x)の左上、左下、右上、右下に示す画像)をも含む。
【0056】
また、図12(b)に示すように、変換平均顔画像tA0(x)は、平均顔画像A0(x)の平均形状領域BSA(図6(b)参照)内の画像を所定量だけ上または下に並行移動した画像(平均顔画像A0(x)の下および上に示す画像)や、左または右に並行移動した画像(平均顔画像A0(x)の右および左に示す画像)を含む。また、変換平均顔画像tA0(x)は、平均顔画像A0(x)の平均形状領域BSA内の画像に対して、上下および左右の並行移動を組み合わせた変換を行った画像(平均顔画像A0(x)の左上、左下、右上、右下に示す画像)をも含む。
【0057】
さらに、変換平均顔画像tA0(x)は、図12(a)に示す8つの変換平均顔画像tA0(x)のそれぞれに対して図12(b)に示す上下左右の並行移動が実行された画像をも含む。従って、本実施例では、平均顔画像A0(x)に対して、4つのグローバルパラメーター(大きさ、傾き、上下方向の位置、左右方向の位置)のそれぞれについての3段階の値の組み合わせに対応する合計80種類(=3×3×3×3―1)の変換を行うことにより、合計80種類の変換平均顔画像tA0(x)が生成・設定されている。なお、合計80種類の変換は、本発明におけるN種類の第1の変換に相当する。また、平均顔画像A0(x)自身は、4つのグローバルパラメーターのすべてについて調整量がゼロの変換が行われた画像であると捉えることもでき、そのように捉えた場合には、合計81種類(=3×3×3×3)の変換により合計81種類の変換平均顔画像tA0(x)が設定されるとも表現できる。
【0058】
また、変換平均顔画像tA0(x)における特徴点CPの配置は、変換平均顔画像tA0(x)を生成するために平均顔画像A0(x)に対して実行される変換によって一義的に定まる。それぞれの変換平均顔画像tA0(x)における特徴点CPの配置を示す情報は、AAM情報AMI(図1)として内部メモリー120に格納されている。
【0059】
なお、本実施例における変換平均顔画像tA0(x)は、本発明における変換基準顔画像に相当する。また、平均顔画像A0(x)と変換平均顔画像tA0(x)とにより構成される画像群(以下、「平均顔画像群」とも呼ぶ)は、本発明における基準顔画像群に相当する。
【0060】
特徴点CPの初期配置決定処理(図11)のステップS310では、初期配置部211(図1)が、AAM情報AMIとして格納された平均顔画像A0(x)および変換平均顔画像tA0(x)を読み出す。
【0061】
ステップS320(図11)では、初期配置部211(図1)が、対象顔画像OIの想定基準領域ABA(図10)と平均顔画像群のそれぞれとの差分画像Ieを算出する。平均顔画像群は、1つの平均顔画像A0(x)と80個の変換平均顔画像tA0(x)とにより構成されるため、初期配置部211は81個の差分画像Ieを算出することとなる。なお、対象顔画像OIの想定基準領域ABAは、本発明における所定領域に相当する。
【0062】
ステップS330(図11)では、初期配置部211(図1)が、各差分画像Ieのノルムを算出し、平均顔画像群から、ノルムの値が最も小さい差分画像Ieに対応する画像(以下「ノルム最小画像」とも呼ぶ)を選択する。ノルム最小画像は、対象顔画像OIの想定基準領域ABA(図10)に最も近い(似ている)画像である。初期配置部211は、ノルム最小画像における特徴点CPの配置に基づき、対象顔画像OIにおける特徴点CPの初期配置を決定する。具体的には、ノルム最小画像を対象顔画像OIの想定基準領域ABAに重ねたときのノルム最小画像における特徴点CPの配置が、対象顔画像OIにおける特徴点CPの初期配置として決定される。特徴点CPの初期配置処理により、対象顔画像OIにおいて、特徴点CPの配置の全体的な大きさ、傾き、位置(上下方向の位置および左右方向の位置)を規定するグローバルパラメーターの概略値が設定されたこととなる。
【0063】
図13は、対象顔画像OIにおける特徴点CPの初期配置の一例を示す説明図である。図13では、対象顔画像OIにおいて決定された特徴点CPの初期配置をメッシュによって表現している。すなわち、メッシュの各交点が特徴点CPである。なお、このメッシュは、平均形状s0における平均形状メッシュBSMと相似の関係にある。
【0064】
特徴点CP初期配置決定処理(図9のステップS230)が完了すると、顔特徴位置特定部210(図1)は、対象顔画像OIにおける特徴点CPの配置更新を行う(ステップS240)。図14は、第1実施例における特徴点CP配置更新処理の流れを示すフローチャートである。
【0065】
ステップS410では、画像変換部212(図1)が、対象顔画像OIから平均形状画像I(W(x;p))を算出する。平均形状画像I(W(x;p))は、平均形状s0を有する顔画像である。平均形状画像I(W(x;p))は、入力画像における特徴点CPの配置が平均形状s0における特徴点CPの配置(図6参照)と等しくなるような変換によって算出される。この変換は、本発明における第2の変換に相当する。
【0066】
平均形状画像I(W(x;p))を算出するための変換は、サンプル顔画像SIw算出のための変換(図7参照)と同様に、三角形領域TA毎のアフィン変換の集合であるワープWにより行われる。具体的には、対象顔画像OIに配置された特徴点CP(図13参照)によって平均形状領域BSA(外周に位置する特徴点CPにより囲まれた領域)が特定され、対象顔画像OIにおける平均形状領域BSAに対して三角形領域TA毎のアフィン変換が行われることにより、平均形状画像I(W(x;p))が算出される。本実施例では、平均形状画像I(W(x;p))は、平均顔画像A0(x)と同様に平均形状領域BSAおよびマスク領域MAにより構成され、平均顔画像A0(x)と同サイズの画像として算出される。
【0067】
なお、上述したように、画素群xは、平均形状s0における平均形状領域BSAに位置する画素の集合である。ワープW実行後の画像(平均形状s0を有する顔画像)における画素群xに対応するワープW実行前の画像(対象顔画像OIの平均形状領域BSA)における画素群をW(x;p)と表す。平均形状画像は、対象顔画像OIの平均形状領域BSAにおける画素群W(x;p)のそれぞれにおける輝度値により構成される画像であるため、I(W(x;p))と表される。
【0068】
ステップS420(図14)では、顔特徴位置特定部210(図1)が、平均形状画像I(W(x;p))と平均顔画像A0(x)との差分画像Ieを算出する。ステップS430では、判定部213(図1)が、差分画像Ieに基づき、特徴点CPの配置更新処理が収束したか否かを判定する。判定部213は、差分画像Ieのノルムを算出し、ノルムの値が予め設定された閾値より小さい場合には収束したと判定し、ノルムの値が閾値以上の場合には未だ収束していないと判定する。なお、判定部213は、算出された差分画像Ieのノルムの値が前回のステップS430において算出された値よりも小さい場合には収束したと判定し、前回値以上である場合には未だ収束していないと判定するものとしてもよい。あるいは、判定部213は、閾値による判定と前回値との比較による判定とを組み合わせて収束判定を行うものとしてもよい。例えば、判定部213は、算出されたノルムの値が、閾値より小さく、かつ、前回値より小さい場合にのみ収束したと判定し、それ以外の場合には未だ収束していないと判定するものとしてもよい。
【0069】
ステップS430の収束判定において未だ収束していないと判定された場合には、更新部214(図1)が、パラメーター更新量ΔPを算出する(ステップS440)。パラメーター更新量ΔPは、4個のグローバルパラメーター(全体としての大きさ、傾き、X方向位置、Y方向位置)およびn個の形状パラメーターpi(式(1)参照)の値の変更量を意味している。なお、特徴点CPの初期配置直後においては、グローバルパラメーターは、特徴点CP初期配置決定処理(図11)において決定された値が設定されている。また、このときの特徴点CPの初期配置と平均形状s0の特徴点CPの配置との相違は、全体としての大きさ、傾き、位置の相違に限られるため、形状モデルにおける形状パラメーターpiの値はすべてゼロである。
【0070】
パラメーター更新量ΔPは、下記の式(3)により算出される。すなわち、パラメーター更新量ΔPは、アップデートマトリックスRと差分画像Ieとの積である。
【0071】
【数3】
【0072】
式(3)におけるアップデートマトリックスRは、差分画像Ieに基づきパラメーター更新量ΔPを算出するために予め学習により設定されたM行N列のマトリックスであり、AAM情報AMI(図1)として内部メモリー120に格納されている。本実施例では、アップデートマトリックスRの行数Mは、グローバルパラメーターの数(4個)と形状パラメーターpiの数(n個)との和((4+n)個)に等しく、列数Nは、平均顔画像A0(x)(図6)の平均形状領域BSA内の画素数(56画素×56画素−マスク領域MAの画素数)に等しい。アップデートマトリックスRは、下記の式(4)および(5)により算出される。
【0073】
【数4】
【数5】
【0074】
ステップS450(図14)では、更新部214(図1)が、算出されたパラメーター更新量ΔPに基づきパラメーター(4個のグローバルパラメーターおよびn個の形状パラメーターpi)を更新する。これにより、対象顔画像OIにおける特徴点CPの配置が更新される。ステップS450のパラメーター更新の後には、再度、特徴点CPの配置が更新された対象顔画像OIからの平均形状画像I(W(x;p))の算出(ステップS410)、差分画像Ieの算出(ステップS420)、差分画像Ieに基づく収束判定(ステップS430)が行われる。再度の収束判定においても収束していないと判定された場合には、さらに、差分画像Ieに基づくパラメーター更新量ΔPの算出(ステップS440)、パラメーター更新による特徴点CPの配置更新(ステップS450)が行われる。
【0075】
図14のステップS410からS450までの処理が繰り返し実行されると、対象顔画像OIにおける各特徴部位に対応する特徴点CPの位置は実際の特徴部位の位置(正解位置)に全体として近づいていき、ある時点で収束判定(ステップS430)において収束したと判定される。収束判定において収束したと判定されると、顔特徴位置特定処理が完了する(ステップS460)。このとき設定されているグローバルパラメーターおよび形状パラメーターpiの値により特定される特徴点CPの配置が、最終的な対象顔画像OIにおける特徴点CPの配置として決定される。
【0076】
図15は、顔特徴位置特定処理の結果の一例を示す説明図である。図15には、対象顔画像OIにおいて最終的に決定された特徴点CPの配置が示されている。特徴点CPの配置により、対象顔画像OIにおける特徴部位(人物の顔の器官(眉毛、目、鼻、口)および顔の輪郭における所定位置)の位置が特定され、対象顔画像OIにおける人物の顔の器官の形状・位置や顔の輪郭形状の特定が可能となる。
【0077】
以上説明したように、本実施例の顔特徴位置特定処理(図9)では、平均顔画像群のそれぞれと対象顔画像OIとの比較結果に基づき特徴点CPの初期配置が決定され、その後、対象顔画像OIから算出された平均形状画像I(W(x;p))と平均顔画像A0(x)との比較結果に基づき対象顔画像OIにおける特徴点CPの配置が更新される。具体的には、特徴点CPの初期配置決定処理において、特徴点CPの配置の全体的な大きさ、傾き、位置(上下方向の位置および左右方向の位置)を規定するグローバルパラメーターの概略値が決定され、その後、差分画像Ieに基づくパラメーター更新に伴い特徴点CPの配置が更新されて、対象顔画像OIにおける最終的な特徴点CPの配置が決定される。このように、本実施例では、まず初期配置決定処理において特徴点CPの配置全体の変動が大きい(分散が大きい)グローバルパラメーターの概略値を決定することにより、顔特徴位置特定処理の効率化・高速化および精度の向上(いわゆるローカルな最適解ではなくグローバルな最適解に基づく特徴点CPの配置の最終決定)を実現することができる。
【0078】
A−4.比較例および第1実施例の効果:
図16は、比較例における特徴点CPの初期配置決定処理の流れを示すフローチャートである。ステップS510では、初期配置部211(図1)が、グローバルパラメーターとしての大きさ、傾き、位置(上下方向の位置および左右方向の位置)の値を種々変更して、対象顔画像OI上に特徴点CPの仮配置を設定する。
【0079】
図17は、対象顔画像OIにおける特徴点CPの仮配置の一例を示す説明図である。図17(a)および図17(b)には、対象顔画像OIにおける特徴点CPの仮配置をメッシュによって示している。初期配置部211は、図17(a)および図17(b)の中央に示すように、対象顔画像OIの想定基準領域ABA(図10参照)に平均顔画像A0(x)(図8)を重ねた場合における平均顔画像A0(x)の特徴点CPにより特定される仮配置(以下、「基準仮配置」とも呼ぶ)を設定する。
【0080】
初期配置部211は、また、基準仮配置に対して、グローバルパラメーターの値を種々変更した仮配置を設定する。グローバルパラメーター(大きさ、傾き、上下方向の位置および左右方向の位置)を変更することは、特徴点CPの仮配置を特定するメッシュに対して拡大・縮小、傾きの変更、並行移動を行うことに相当する。従って、初期配置部211は、図17(a)に示すように、基準仮配置のメッシュに対して所定倍率で拡大または縮小したメッシュにより特定される仮配置(基準仮配置の下および上に示す)や、所定角度だけ時計回りまたは半時計回りに傾きを変更したメッシュにより特定される仮配置(基準仮配置の右および左に示す)を設定する。また、初期配置部211は、基準仮配置のメッシュに対して拡大・縮小および傾きの変更を組み合わせた変換を行ったメッシュにより特定される仮配置(基準仮配置の左上、左下、右上、右下に示す)も設定する。
【0081】
また、図12(b)に示すように、初期配置部211は、基準仮配置のメッシュを所定量だけ上または下に並行移動したメッシュにより特定される仮配置(基準仮配置の上および下に示す)や、左または右に並行移動したメッシュにより特定される仮配置(基準仮配置の左および右に示す)を設定する。また、初期配置部211は、基準仮配置のメッシュに対して、上下および左右の並行移動を組み合わせた変換を行ったメッシュにより特定される仮配置(基準仮配置の左上、左下、右上、右下に示す)も設定する。
【0082】
さらに、初期配置部211は、図17(a)に示す基準仮配置以外の8つの仮配置のそれぞれにおけるメッシュに対して図17(b)に示す上下左右の並行移動が実行されたメッシュにより特定される仮配置も設定する。従って、比較例では、基準仮配置と、基準仮配置におけるメッシュに対して4つのグローバルパラメーター(大きさ、傾き、上下方向の位置、左右方向の位置)のそれぞれについての3段階の値の組み合わせに対応する合計80種類(=3×3×3×3―1)の変換を行うことにより設定される80種類の仮配置と、の合計81種類の仮配置が設定される。
【0083】
ステップS520(図16)では、画像変換部212(図1)が、設定された各仮配置に対応する平均形状画像I(W(x;p))を算出する。図18は、平均形状画像I(W(x;p))の一例を示す説明図である。平均形状画像I(W(x;p))の算出方法は、上述した第1実施例の特徴点CP配置更新処理(図14)における平均形状画像I(W(x;p))の算出方法(ステップS410)と同じである。すなわち、対象顔画像OIにおける特徴点CPの仮配置によって平均形状領域BSA(外周に位置する特徴点CPにより囲まれた領域)が特定され、対象顔画像OIにおける平均形状領域BSAに対して三角形領域TA毎のアフィン変換が行われることにより、平均形状画像I(W(x;p))が算出される。平均形状画像I(W(x;p))は、平均顔画像A0(x)と同様に平均形状領域BSAおよびマスク領域MAにより構成され、平均顔画像A0(x)と同サイズの画像として算出される。図18には、図17(a)に示した9個の仮配置に対応する9個の平均形状画像I(W(x;p))を示している。
【0084】
ステップS530(図16)では、初期配置部211(図1)が、各仮配置に対応する平均形状画像I(W(x;p))と平均顔画像A0(x)との差分画像Ieを算出する。特徴点CPの仮配置は81種類設定されているため、初期配置部211は81個の差分画像Ieを算出することとなる。
【0085】
ステップS540(図16)では、初期配置部211(図1)が、各差分画像Ieのノルムを算出し、ノルムの値が最も小さい差分画像Ieに対応する仮配置(以下「ノルム最小仮配置」とも呼ぶ)を、対象顔画像OIにおける特徴点CPの初期配置として設定する。
【0086】
以上説明したように、比較例の特徴点CP初期配置決定処理(図16)によっても、対象顔画像OIにおける初期配置を決定することができ、第1実施例と同様に、顔特徴位置特定処理の効率化・高速化および精度の向上を実現することができる。ただし、比較例の特徴点CP初期配置決定処理では、81個の仮配置のすべてについて三角形領域TA毎のアフィン変換という比較的複雑な計算によって平均形状画像I(W(x;p))の算出が行われるため、処理時間が増大する。一方、第1実施例の特徴点CP初期配置決定処理(図11)では、対象顔画像OIと平均顔画像群に含まれる81個の顔画像のそれぞれとの差分計算(81回の差分計算)が行われるのみであり、三角形領域TA毎のアフィン変換といった比較的複雑な計算を行う必要がないため、顔特徴位置特定処理のさらなる効率化・高速化を実現することができる。
【0087】
B.第2実施例:
図19は、第2実施例における特徴点CPの初期配置決定処理の流れを示すフローチャートである。上述したように、第1実施例では、平均顔画像A0(x)に対してグローバルパラメーターを変更するような変換により生成される変換平均顔画像tA0(x)が予め設定され、AAM情報AMIとして内部メモリー120に格納されている。第2実施例では、さらに、平均顔画像群(平均顔画像A0(x)および変換平均顔画像tA0(x))に対して、上述した形状モデルにおける第1形状ベクトルs1の形状パラメーターp1および第2形状ベクトルs2の形状パラメーターp2を変更する変換を行った画像が予め設定され、AAM情報AMIとして格納されている。具体的には、平均顔画像群のそれぞれについて、形状パラメーターp1およびp2の3段階の値(0,+V、−V)の組み合わせに対応する8種類の変化により、8種類(=3×3―1)の画像が設定されている。なお、8種類の変換は、本発明におけるM種類の変換に相当する。
【0088】
上述したように、第1形状ベクトルs1および第2形状ベクトルs2は、形状モデルにおいて最も分散の大きい2つの主成分(第1主成分および第2主成分)に対応する形状ベクトルsiである。第1形状ベクトルs1は顔の左右振りにほぼ相関するベクトルであり、第2形状ベクトルs2は顔の上下振りにほぼ相関するベクトルである。従って、第2実施例では、平均顔画像群のそれぞれについて、顔の左右振りおよび上下振りの程度を変更した画像が予め設定されることとなる。
【0089】
第2実施例の特徴点CP初期配置決定処理(図19)のステップS610およびS620の処理内容は、図11に示した第1実施例におけるステップS310およびS320と同じである。ステップS630では、初期配置部211(図1)が、各差分画像Ieのノルムを算出し、平均顔画像群から、ノルムの値が最も小さい差分画像Ieに対応する画像(以下「選択画像」とも呼ぶ)を選択する。
【0090】
ステップS640(図19)では、初期配置部211(図1)が、選択画像に対して形状パラメーターp1およびp2の少なくとも1つが変更された8種類の画像を読み出す。8種類の画像は、本発明における変換選択画像に相当する。以下、選択画像と読み出された8種類の画像とを併せて選択画像群と呼ぶ。
【0091】
ステップS650(図19)では、初期配置部211(図1)が、対象顔画像OIの想定基準領域ABA(図10)と選択画像群に含まれる8種類の画像のそれぞれとの差分画像Ieを算出する。
【0092】
ステップS660(図19)では、初期配置部211(図1)が、各差分画像Ieのノルムを算出し、選択画像群から、ノルムの値が最も小さい差分画像Ieに対応する画像を選択し、選択された画像における特徴点CPの配置に基づき、対象顔画像OIにおける特徴点CPの初期配置を決定する。
【0093】
以上説明したように、第2実施例の特徴点CP初期配置処理では、対象顔画像OIにおいて、特徴点CPの配置の全体的な大きさ、傾き、位置(上下方向の位置および左右方向の位置)を規定するグローバルパラメーターと、形状モデルにおいて最も分散の大きい2つの主成分に対応する第1形状ベクトルs1の形状パラメーターp1および第2形状ベクトルs2の形状パラメーターp2と、の概略値が設定される。第2実施例の特徴点CP初期配置処理では、対象顔画像OIと平均顔画像群に含まれる81種類の顔画像のそれぞれとの差分計算と、対象顔画像OIと選択画像群に含まれる8種類の画像のそれぞれとの差分計算と、が行われるのみであり、三角形領域TA毎のアフィン変換といった比較的複雑な計算を行う必要がない。そのため、第2実施例では、顔特徴位置特定処理の効率化・高速化およびさらなる精度の向上を実現することができる。
【0094】
C.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0095】
C1.変形例1:
上記各実施例では、平均顔画像A0(x)に対して、4つのグローバルパラメーター(大きさ、傾き、上下方向の位置、左右方向の位置)のそれぞれについての3段階の値の組み合わせに対応する合計80種類(=3×3×3×3―1)の変換により合計80種類の変換平均顔画像tA0(x)が予め設定されているが、変換平均顔画像tA0(x)の設定に用いるパラメーターの種類および数やパラメーター値の段階数は変更可能である。例えば、4つのグローバルパラメーターの内の一部のみが変換平均顔画像tA0(x)の設定に用いられるとしてもよいし、グローバルパラメーターの少なくとも一部と所定数の形状パラメーターpiとが変換平均顔画像tA0(x)の設定に用いられるとしてもよい。また、用いられるパラメーターのそれぞれについて、5段階の値の組み合わせに対応する変換により変換平均顔画像tA0(x)が設定されるものとしてもよい。
【0096】
C2.変形例2:
上記第2実施例では、平均顔画像群(平均顔画像A0(x)および変換平均顔画像tA0(x))のそれぞれについて、形状モデルにおいて最も分散の大きい2つの主成分に対応する形状パラメーターp1およびp2の3段階の値の組み合わせに対応する画像が予め設定されているが、用いられる形状パラメーターpiの数やパラメーター値の段階数は変更可能である。例えば、最も分散の大きい1つの主成分に対応する形状パラメーターpiのみが用いられてもよいし、分散の大きい方から3つ以上の主成分に対応する形状パラメーターpiが用いられてもよい。また、例えば、パラメーター値の段階数は5段階であるとしてもよい。
【0097】
C3.変形例3:
上記各実施例の特徴点CP配置更新処理(図14)では、対象顔画像OIに基づき平均形状画像I(W(x;p))を算出することにより対象顔画像OIの特徴点CPの配置を平均顔画像A0(x)の特徴点CPの配置に整合させているが、平均顔画像A0(x)に対して画像変換を行うことにより両者の特徴点CPの配置を整合させるものとしてもよい。
【0098】
C4.変形例4:
上記各実施例では、顔領域FAの検出が行われ、顔領域FAに基づき想定基準領域ABAが設定されるとしているが、顔領域FAの検出は必ずしも実行される必要はない。例えば、ユーザによる指定に従い直接、想定基準領域ABAが設定されるとしてもよい。
【0099】
C5.変形例5:
上記各実施例におけるサンプル顔画像SI(図3)はあくまで一例であり、サンプル顔画像SIとして採用する画像の数、種類は任意に設定可能である。また、上記各実施例において、特徴点CPの位置で示される顔の所定の特徴部位(図4参照)はあくまで一例であり、実施例において設定されている特徴部位の一部を省略したり、特徴部位として他の部位を採用したりしてもよい。
【0100】
また、上記各実施例では、サンプル顔画像SIwの画素群xのそれぞれにおける輝度値により構成される輝度値ベクトルに対する主成分分析によってテクスチャーモデルが設定されているが、顔画像のテクスチャー(見え)を表す輝度値以外の指標値(例えばRGB値)に対する主成分分析によってテクスチャーモデルが設定されるものとしてもよい。
【0101】
また、上記各実施例において、平均顔画像A0(x)のサイズは56画素×56画素に限られず他のサイズであってもよい。また、平均顔画像A0(x)は、マスク領域MA(図7)を含む必要はなく、平均形状領域BSAのみによって構成されるとしてもよい。また、平均顔画像A0(x)の代わりに、サンプル顔画像SIの統計的分析に基づき設定される他の基準顔画像が用いられるとしてもよい。
【0102】
また、上記各実施例では、AAMを用いた形状モデルおよびテクスチャーモデルの設定が行われているが、他のモデル化手法(例えばMorphable Modelと呼ばれる手法やActive Blobと呼ばれる手法)を用いて形状モデルおよびテクスチャーモデルの設定が行われるとしてもよい。
【0103】
また、上記各実施例では、メモリーカードMCに格納された画像が対象顔画像OIに設定されているが、対象顔画像OIは例えばネットワークを介して取得された画像であってもよい。
【0104】
また、上記各実施例では、画像処理装置としてのプリンター100による画像処理を説明したが、処理の一部または全部がパーソナルコンピューターやデジタルスチルカメラ、デジタルビデオカメラ等の他の種類の画像処理装置により実行されるものとしてもよい。また、プリンター100はインクジェットプリンターに限らず、他の方式のプリンター、例えばレーザプリンターや昇華型プリンターであるとしてもよい。
【0105】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【0106】
また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータープログラム)は、コンピューター読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピューター内の内部記憶装置や、ハードディスク等のコンピューターに固定されている外部記憶装置も含んでいる。
【図面の簡単な説明】
【0107】
【図1】本発明の第1実施例における画像処理装置としてのプリンター100の構成を概略的に示す説明図である。
【図2】第1実施例におけるAAM設定処理の流れを示すフローチャートである。
【図3】サンプル顔画像SIの一例を示す説明図である。
【図4】サンプル顔画像SIにおける特徴点CPの設定方法の一例を示す説明図である。
【図5】サンプル顔画像SIに設定された特徴点CPの座標の一例を示す説明図である。
【図6】平均形状s0の一例を示す説明図である。
【図7】サンプル顔画像SIのワープWの方法の一例を示す説明図である。
【図8】平均顔画像A0(x)の一例を示す説明図である。
【図9】第1実施例における顔特徴位置特定処理の流れを示すフローチャートである。
【図10】対象顔画像OIにおける顔領域FAの検出結果の一例を示す説明図である。
【図11】第1実施例における特徴点CPの初期配置決定処理の流れを示すフローチャートである。
【図12】変換平均顔画像tA0(x)の一例を示す説明図である。
【図13】対象顔画像OIにおける特徴点CPの初期配置の一例を示す説明図である。
【図14】第1実施例における特徴点CP配置更新処理の流れを示すフローチャートである。
【図15】顔特徴位置特定処理の結果の一例を示す説明図である。
【図16】比較例における特徴点CPの初期配置決定処理の流れを示すフローチャートである。
【図17】対象顔画像OIにおける特徴点CPの仮配置の一例を示す説明図である。
【図18】平均形状画像I(W(x;p))の一例を示す説明図である。
【図19】第2実施例における特徴点CPの初期配置決定処理の流れを示すフローチャートである。
【符号の説明】
【0108】
100…プリンター
110…CPU
120…内部メモリー
140…操作部
150…表示部
160…プリンターエンジン
170…カードインターフェース
172…カードスロット
200…画像処理部
210…顔特徴位置特定部
211…初期配置部
212…画像変換部
213…判定部
214…更新部
230…顔領域検出部
310…表示処理部
320…印刷処理部
【特許請求の範囲】
【請求項1】
対象顔画像における所定の特徴部位の位置を特定する画像処理装置であって、
前記特徴部位の位置を示す特徴点の配置が既知である複数のサンプル顔画像を対象とした統計的分析に基づき設定された基準顔画像と前記基準顔画像に対するN(Nは1以上の整数)種類の第1の変換により生成されたN種類の変換基準顔画像とを含む基準顔画像群のそれぞれと、前記対象顔画像と、の比較結果に基づき、前記対象顔画像における前記特徴点の初期配置を決定する初期配置部と、
前記基準顔画像と前記対象顔画像とにおける前記特徴点の配置が互いに等しくなるように前記基準顔画像と前記対象顔画像との少なくとも一方に対して第2の変換を行う画像変換部と、
前記第2の変換後の前記基準顔画像と前記対象顔画像との比較結果に基づき、前記対象顔画像における前記特徴点の配置を更新する更新部と、を備える、画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記更新部は、前記第2の変換後の前記基準顔画像と前記対象顔画像との前記比較結果に基づき、前記対象顔画像における前記特徴点の配置の更新を行うか否かを判定する判定部を含む、画像処理装置。
【請求項3】
請求項1または請求項2に記載の画像処理装置であって、
前記N種類の第1の変換は、前記基準顔画像における前記特徴点全体の並行移動と傾きの変更と拡大・縮小との少なくとも1つが行われるような変換である、画像処理装置。
【請求項4】
請求項3に記載の画像処理装置であって、さらに、
前記統計的分析に基づき設定された前記特徴点の配置モデルであって、前記複数のサンプル顔画像における前記特徴点の平均位置を表す平均形状と前記複数のサンプル顔画像における前記特徴点の配置の特性を表す形状ベクトルの線形結合との和による前記特徴点の前記配置モデルを特定するモデル情報を記憶する記憶部を備え、
前記初期配置部は、前記基準顔画像群のそれぞれと前記対象顔画像との比較結果に基づき前記基準顔画像群に含まれる1つの画像を選択画像として選択すると共に、前記選択画像と、前記選択画像に対する前記配置モデルにおける分散の最も大きい所定数の前記形状ベクトルの内の少なくとも1つの係数が変更されるようなM(Mは1以上の整数)種類の第3の変換により生成されたM種類の変換選択画像と、を含む画像群のそれぞれと、前記対象顔画像と、の比較結果に基づき、前記対象顔画像における前記特徴点の初期配置を決定する、画像処理装置。
【請求項5】
請求項1ないし請求項4のいずれかに記載の画像処理装置であって、
前記基準顔画像は、前記特徴点の配置が前記複数のサンプル顔画像における前記特徴点の平均位置を表す平均形状に等しくなるように変換された前記複数のサンプル顔画像の平均画像である、画像処理装置。
【請求項6】
請求項1ないし請求項5のいずれかにに記載の画像処理装置であって、
前記初期配置部は、前記基準顔画像群の内の前記対象顔画像における所定領域に最も近い画像における前記特徴点の配置に基づき、前記対象顔画像における前記特徴点の初期配置を決定する、画像処理装置。
【請求項7】
請求項6に記載の画像処理装置であって、さらに、
画像における顔の画像に対応する顔領域を検出する顔領域検出部を備え、
前記所定領域は、前記顔領域との関係が予め設定された領域である、画像処理装置。
【請求項8】
対象顔画像における所定の特徴部位の位置を特定する画像処理方法であって、
(a)前記特徴部位の位置を示す特徴点の配置が既知である複数のサンプル顔画像を対象とした統計的分析に基づき設定された基準顔画像と前記基準顔画像に対するN(Nは1以上の整数)種類の第1の変換により生成されたN種類の変換基準顔画像とを含む基準顔画像群のそれぞれと、前記対象顔画像と、の比較結果に基づき、前記対象顔画像における前記特徴点の初期配置を決定する工程と、
(b)前記基準顔画像と前記対象顔画像とにおける前記特徴点の配置が互いに等しくなるように前記基準顔画像と前記対象顔画像との少なくとも一方に対して第2の変換を行う工程と、
(c)前記第2の変換後の前記基準顔画像と前記対象顔画像との比較結果に基づき、前記対象顔画像における前記特徴点の配置を更新する工程と、を備える、画像処理方法。
【請求項9】
対象顔画像における所定の特徴部位の位置を特定する画像処理のためのコンピュータープログラムであって、
前記特徴部位の位置を示す特徴点の配置が既知である複数のサンプル顔画像を対象とした統計的分析に基づき設定された基準顔画像と前記基準顔画像に対するN(Nは1以上の整数)種類の第1の変換により生成されたN種類の変換基準顔画像とを含む基準顔画像群のそれぞれと、前記対象顔画像と、の比較結果に基づき、前記対象顔画像における前記特徴点の初期配置を決定する初期配置機能と、
前記基準顔画像と前記対象顔画像とにおける前記特徴点の配置が互いに等しくなるように前記基準顔画像と前記対象顔画像との少なくとも一方に対して第2の変換を行う画像変換機能と、
前記第2の変換後の前記基準顔画像と前記対象顔画像との比較結果に基づき、前記対象顔画像における前記特徴点の配置を更新する更新機能と、を、コンピューターに実現させる、コンピュータープログラム。
【請求項1】
対象顔画像における所定の特徴部位の位置を特定する画像処理装置であって、
前記特徴部位の位置を示す特徴点の配置が既知である複数のサンプル顔画像を対象とした統計的分析に基づき設定された基準顔画像と前記基準顔画像に対するN(Nは1以上の整数)種類の第1の変換により生成されたN種類の変換基準顔画像とを含む基準顔画像群のそれぞれと、前記対象顔画像と、の比較結果に基づき、前記対象顔画像における前記特徴点の初期配置を決定する初期配置部と、
前記基準顔画像と前記対象顔画像とにおける前記特徴点の配置が互いに等しくなるように前記基準顔画像と前記対象顔画像との少なくとも一方に対して第2の変換を行う画像変換部と、
前記第2の変換後の前記基準顔画像と前記対象顔画像との比較結果に基づき、前記対象顔画像における前記特徴点の配置を更新する更新部と、を備える、画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記更新部は、前記第2の変換後の前記基準顔画像と前記対象顔画像との前記比較結果に基づき、前記対象顔画像における前記特徴点の配置の更新を行うか否かを判定する判定部を含む、画像処理装置。
【請求項3】
請求項1または請求項2に記載の画像処理装置であって、
前記N種類の第1の変換は、前記基準顔画像における前記特徴点全体の並行移動と傾きの変更と拡大・縮小との少なくとも1つが行われるような変換である、画像処理装置。
【請求項4】
請求項3に記載の画像処理装置であって、さらに、
前記統計的分析に基づき設定された前記特徴点の配置モデルであって、前記複数のサンプル顔画像における前記特徴点の平均位置を表す平均形状と前記複数のサンプル顔画像における前記特徴点の配置の特性を表す形状ベクトルの線形結合との和による前記特徴点の前記配置モデルを特定するモデル情報を記憶する記憶部を備え、
前記初期配置部は、前記基準顔画像群のそれぞれと前記対象顔画像との比較結果に基づき前記基準顔画像群に含まれる1つの画像を選択画像として選択すると共に、前記選択画像と、前記選択画像に対する前記配置モデルにおける分散の最も大きい所定数の前記形状ベクトルの内の少なくとも1つの係数が変更されるようなM(Mは1以上の整数)種類の第3の変換により生成されたM種類の変換選択画像と、を含む画像群のそれぞれと、前記対象顔画像と、の比較結果に基づき、前記対象顔画像における前記特徴点の初期配置を決定する、画像処理装置。
【請求項5】
請求項1ないし請求項4のいずれかに記載の画像処理装置であって、
前記基準顔画像は、前記特徴点の配置が前記複数のサンプル顔画像における前記特徴点の平均位置を表す平均形状に等しくなるように変換された前記複数のサンプル顔画像の平均画像である、画像処理装置。
【請求項6】
請求項1ないし請求項5のいずれかにに記載の画像処理装置であって、
前記初期配置部は、前記基準顔画像群の内の前記対象顔画像における所定領域に最も近い画像における前記特徴点の配置に基づき、前記対象顔画像における前記特徴点の初期配置を決定する、画像処理装置。
【請求項7】
請求項6に記載の画像処理装置であって、さらに、
画像における顔の画像に対応する顔領域を検出する顔領域検出部を備え、
前記所定領域は、前記顔領域との関係が予め設定された領域である、画像処理装置。
【請求項8】
対象顔画像における所定の特徴部位の位置を特定する画像処理方法であって、
(a)前記特徴部位の位置を示す特徴点の配置が既知である複数のサンプル顔画像を対象とした統計的分析に基づき設定された基準顔画像と前記基準顔画像に対するN(Nは1以上の整数)種類の第1の変換により生成されたN種類の変換基準顔画像とを含む基準顔画像群のそれぞれと、前記対象顔画像と、の比較結果に基づき、前記対象顔画像における前記特徴点の初期配置を決定する工程と、
(b)前記基準顔画像と前記対象顔画像とにおける前記特徴点の配置が互いに等しくなるように前記基準顔画像と前記対象顔画像との少なくとも一方に対して第2の変換を行う工程と、
(c)前記第2の変換後の前記基準顔画像と前記対象顔画像との比較結果に基づき、前記対象顔画像における前記特徴点の配置を更新する工程と、を備える、画像処理方法。
【請求項9】
対象顔画像における所定の特徴部位の位置を特定する画像処理のためのコンピュータープログラムであって、
前記特徴部位の位置を示す特徴点の配置が既知である複数のサンプル顔画像を対象とした統計的分析に基づき設定された基準顔画像と前記基準顔画像に対するN(Nは1以上の整数)種類の第1の変換により生成されたN種類の変換基準顔画像とを含む基準顔画像群のそれぞれと、前記対象顔画像と、の比較結果に基づき、前記対象顔画像における前記特徴点の初期配置を決定する初期配置機能と、
前記基準顔画像と前記対象顔画像とにおける前記特徴点の配置が互いに等しくなるように前記基準顔画像と前記対象顔画像との少なくとも一方に対して第2の変換を行う画像変換機能と、
前記第2の変換後の前記基準顔画像と前記対象顔画像との比較結果に基づき、前記対象顔画像における前記特徴点の配置を更新する更新機能と、を、コンピューターに実現させる、コンピュータープログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2010−170184(P2010−170184A)
【公開日】平成22年8月5日(2010.8.5)
【国際特許分類】
【出願番号】特願2009−9767(P2009−9767)
【出願日】平成21年1月20日(2009.1.20)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成22年8月5日(2010.8.5)
【国際特許分類】
【出願日】平成21年1月20日(2009.1.20)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]