JP2009237624A - 表情評価方法、印刷制御装置、表情評価装置および表情評価プログラム - Google Patents
表情評価方法、印刷制御装置、表情評価装置および表情評価プログラム Download PDFInfo
- Publication number
- JP2009237624A JP2009237624A JP2008079350A JP2008079350A JP2009237624A JP 2009237624 A JP2009237624 A JP 2009237624A JP 2008079350 A JP2008079350 A JP 2008079350A JP 2008079350 A JP2008079350 A JP 2008079350A JP 2009237624 A JP2009237624 A JP 2009237624A
- Authority
- JP
- Japan
- Prior art keywords
- contour
- expression evaluation
- facial expression
- image data
- eye
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
【課題】高精度に顔の表情を評価する。
【解決手段】画像データ14eが示す画像に含まれる顔の表情を評価する表情評価方法(ステップS400)を行うにあたり、まず前記画像から顔器官の輪郭O1〜O4を検出する(ステップS100〜S300)。そして、前記輪郭O1〜O4によって区画された所定領域U1,U2の面積に基づく特徴量p1,p3を少なくとも一つ含んだ複数の特徴量p1〜p4を算出する(ステップS410〜S460)。当該算出した特徴量p1〜p4を使用して前記顔の表情評価を行う(ステップS470)。
【選択図】図23
【解決手段】画像データ14eが示す画像に含まれる顔の表情を評価する表情評価方法(ステップS400)を行うにあたり、まず前記画像から顔器官の輪郭O1〜O4を検出する(ステップS100〜S300)。そして、前記輪郭O1〜O4によって区画された所定領域U1,U2の面積に基づく特徴量p1,p3を少なくとも一つ含んだ複数の特徴量p1〜p4を算出する(ステップS410〜S460)。当該算出した特徴量p1〜p4を使用して前記顔の表情評価を行う(ステップS470)。
【選択図】図23
Description
本発明は、表情評価方法、印刷制御装置、表情評価装置および表情評価プログラムに関し、特に画像データが示す画像に含まれる顔の表情を評価する表情評価方法、印刷制御装置、表情評価装置および表情評価プログラムに関する。
「目の端点と口の端点の距離」や「口の横幅の長さ」や「目の横幅の長さ」といった特徴点間の距離で与えられるパラメータを使用して顔の表情評価を行う技術が提案されている(特許文献1、参照。)。かかる文献では、パラメータ空間における評価対象の顔のパラメータの分布位置に基づいて表情の評価を行うこととしている。
特開2005−56387号公報
しかしながら、特徴点は目や口などの顔器官の一部の特徴のみを表しているだけであり、目や口などの顔器官全体の状態を表情評価に反映させることができないという問題があった。また、特徴点が局所的なノイズの影響を受けている場合、表情評価の精度が極度に低下するという問題もあった。
本発明は、前記課題にかんがみてなされたもので、高精度に顔の表情を評価する表情評価方法、印刷制御装置および表情評価プログラムの提供を目的とする。
前記課題を解決するために、本発明は、画像データが示す画像に含まれる顔の表情を評価するにあたり、まず前記画像から顔器官の輪郭を検出する。次に、前記輪郭によって区画された所定領域の面積に基づく特徴量を少なくとも一つ含んだ複数の特徴量を使用して前記顔の表情評価を行う。前記輪郭によって区画された所定領域の面積に基づく特徴量によれば前記顔器官の状態が全体的に反映された評価を行うことができる。なお、前記輪郭によって区画された所定領域の面積に基づく特徴量を少なくとも一つ含んだ複数の特徴量であればよく、複数の前記輪郭によって区画された所定領域の面積に基づく複数の特徴量を含んでもよい。例えば、目や口の前記輪郭によって区画された所定領域の面積に基づく特徴量を双方とも含んでもよいし、これらのいずれか一方のみを含んでいてもよい。
さらに、前記複数の特徴量のそれぞれを変数とした非線形関数によって求められた表情評価値に基づいて前記顔の表情評価を行うようにしてもよい。前記複数の特徴量と前記表情評価値との関係が単純な線形的な関係にない場合であっても、精度よく表情評価値を算出することができる。例えば、人間の官能評価に即した前記表情評価値が得られるようにする場合、前記複数の特徴量と前記表情評価値との関係は複雑なものとなる。このような場合でも、非線形関数も用いることによって、精度よく官能評価に即した表情評価値を算出することができる。このような前記非線形関数を設定するための手法の例として、複数のサンプル顔画像についての官能評価値と、当該複数のサンプル顔画像についての前記特徴量を前記非線形関数に代入したときに得られる前記表情評価値との相関が高くなるにしてもよい。
さらに、前記特徴量の具体例として、前記所定領域の少なくとも一つは上唇の上輪郭によって区画された領域の面積に基づく特徴量を使用してもよい。むろん、面積をそのまま特徴量とするものに限られず、面積に基づく面積比を特徴量としてもよい。表情の変化が大きく反映される上唇の上輪郭の全体的な状態に基づいて表情を評価することができるため、精度よい表情評価を行うことができる。さらに、前記特徴量の別の具体例として、前記所定領域の少なくとも一つは下まぶたの輪郭によって区画された領域の面積に基づく特徴量を使用してもよい。
また、前記輪郭の凸方向に応じて前記面積の正負の符号を定義するようにしてもよい。このようにすることにより、表情評価に前記輪郭の凸方向を反映させることができる。さらに、本発明の表情評価方法を印刷制御装置に利用するようにしてもよい。例えば、本発明の表情評価方法によって複数の前記画像データについてそれぞれ前記表情評価値を算出し、当該表情評価値が上位の前記画像データを印刷することにより、印刷対象として好ましい表情の顔が含まれる前記画像データを優先的に印刷させることができる。
さらに、前記顔器官の輪郭として、口と目の輪郭が双方とも検出された場合、双方の輪郭から得られた前記特徴量に基づいて表情評価を行うようにしてもよいし、いずれか一方のみを表情評価に使用してもよい。例えば、前記画像から少なくとも口の輪郭が検出された場合、当該口の輪郭によって区画された所定領域の面積に基づく特徴量を使用して前記顔の表情評価を行うようにするとともに、前記画像から口の輪郭が検出されず、かつ、前記画像から目の輪郭が検出された場合には当該目の輪郭によって区画された所定領域の面積に基づく特徴量を使用して前記顔の表情評価を行うようにしてもよい。すなわち、口の輪郭を優先させて前記顔の表情評価を行うようにし、口の輪郭が検出されない場合のみ目の輪郭に基づく表情判定を行うようにしてもよい。
さらに、本発明の技術的思想は、具体的な顔状態評価方法にて具現化されるのみならず、当該方法を顔状態評価装置において具現化することもできる。すなわち、上述した顔状態評価方法が行う各工程に対応する手段を有する顔状態評価装置としても本発明を特定することができる。むろん、上述した顔状態評価装置がプログラムを読み込んで上述した各手段を実現する場合には、当該各手段に対応する機能を実行させるプログラムや当該プログラムを記録した各種記録媒体においても本発明の技術的思想が具現化できることは言うまでもない。なお、本発明の顔状態評価装置は、単一の装置のみならず、複数の装置によって分散して存在可能であることはいうまでもない。また、プリンタ等の印刷装置やデジタルスチルカメラ等の画像入力装置において本発明の顔状態評価方法を実現するようにしてもよい。
以下、下記の順序に従って本発明の実施形態を説明する。
1.表情評価装置の構成:
2.表情評価処理の流れ:
2−1.顔器官検出処理:
2−2.目の輪郭検出処理:
2−3.口の輪郭検出処理:
2−4.表情評価処理:
2−5.表情評価関数の設定:
3.まとめおよび変形例:
3−1.変形例1:
3−2.変形例2:
3−3.変形例3:
3−4.変形例4:
3−5.変形例5:
3−6.変形例6:
1.表情評価装置の構成:
2.表情評価処理の流れ:
2−1.顔器官検出処理:
2−2.目の輪郭検出処理:
2−3.口の輪郭検出処理:
2−4.表情評価処理:
2−5.表情評価関数の設定:
3.まとめおよび変形例:
3−1.変形例1:
3−2.変形例2:
3−3.変形例3:
3−4.変形例4:
3−5.変形例5:
3−6.変形例6:
1.表情評価装置の構成
図1は、本発明の顔状態評価装置の一実施形態にかかる表情評価装置を具体的に実現するコンピュータの構成を示している。同図において、コンピュータ10はCPU11とRAM12とROM13とハードディスクドライブ(HDD)14と汎用インターフェイス(GIF)15とビデオインターフェイス(VIF)16と入力インターフェイス(IIF)17とバス18とから構成されている。バス18は、コンピュータ10を構成する各要素11〜17の間でのデータ通信を実現するものであり、図示しないチップセット等によって通信が制御されている。HDD14には、オペレーティングシステム(OS)を含む各種プログラムを実行するためのプログラムデータ14aが記憶されており、当該プログラムデータ14aをRAM12に展開しながらCPU11が当該プログラムデータ14aに準じた演算を実行する。
図1は、本発明の顔状態評価装置の一実施形態にかかる表情評価装置を具体的に実現するコンピュータの構成を示している。同図において、コンピュータ10はCPU11とRAM12とROM13とハードディスクドライブ(HDD)14と汎用インターフェイス(GIF)15とビデオインターフェイス(VIF)16と入力インターフェイス(IIF)17とバス18とから構成されている。バス18は、コンピュータ10を構成する各要素11〜17の間でのデータ通信を実現するものであり、図示しないチップセット等によって通信が制御されている。HDD14には、オペレーティングシステム(OS)を含む各種プログラムを実行するためのプログラムデータ14aが記憶されており、当該プログラムデータ14aをRAM12に展開しながらCPU11が当該プログラムデータ14aに準じた演算を実行する。
また、HDD14には、デジタルスチルカメラやスキャナによって画像入力された画像データ14eと、後述するテンプレートマッチングにおいて使用する多数の顔テンプレート14bと目テンプレート14cと口テンプレート14dが記憶されている。GIF15は、例えばUSB規格に準じたインターフェイスを提供するものであり、外部のプリンタ20をコンピュータ10に接続させている。VIF16はコンピュータ10を外部のディスプレイ40に接続し、ディスプレイ40に画像を表示するためのインターフェイスを提供する。IIF17はコンピュータ10を外部のキーボード50aとマウス50bに接続し、キーボード50aとマウス50bからの入力信号をコンピュータ10が取得するためのインターフェイスを提供する。
図2は、コンピュータ10において実行されるプログラムのソフトウェア構成を示している。同図において、オペレーティングシステム(OS)P1と表情評価アプリケーションP2とプリンタドライバP3が実行されている。OS P1は各プログラム間のインターフェイスを提供し、プリンタドライバP3はプリンタ20を制御するための処理を実行する。表情評価アプリケーションP2は、顔検出部P2aと顔器官検出部P2bと選択部P2cと輪郭検出部P2dと表情評価部P2eとから構成されている。さらに、輪郭検出部P2dは傾き補正部P2d1とサンプリング部P2d2とスカラー変換部P2d3と変換関数設定部P2d4とパラメータ探索部P2d5と評価値算出部P2d6と異常判定部P2d7とから構成されている。また、表情評価部P2eは、矩形特定部P2e1と輪郭特徴量算出部P2e2と表情評価値算出部P2e3とから構成されている。表情評価アプリケーションP2を構成する各モジュールP2a〜P2eが実行する処理の詳細については後述する表情評価処理の流れとともに説明する。
2.表情評価処理の流れ
図3は、コンピュータ10が行う処理の全体的な流れを示している。同図に示すように表情評価処理(ステップS400)を行うための前処理として、顔器官検出処理(ステップS100)と目の輪郭検出処理(ステップS200)と口の輪郭検出処理(ステップS300)が行われる。ここでは、顔器官検出処理(ステップS100)から順に説明していく。
図3は、コンピュータ10が行う処理の全体的な流れを示している。同図に示すように表情評価処理(ステップS400)を行うための前処理として、顔器官検出処理(ステップS100)と目の輪郭検出処理(ステップS200)と口の輪郭検出処理(ステップS300)が行われる。ここでは、顔器官検出処理(ステップS100)から順に説明していく。
2−1.顔器官検出処理
図4は、顔器官検出処理の流れを示している。ステップS110においては、顔検出部P2aが輪郭検出の対象とする画像データ14eをHDD14から取得する。本実施形態において輪郭検出の対象とする画像データ14eは、各画素が示す色がRGB各チャネルの階調値の組み合わせ(RGB色空間におけるベクトル)で表現されたビットマップデータである。後述する図面において、便宜的に2値の画像が示される場合があるが、実際には多階調のカラー画像データが処理の対象となる。なお、画像データ14eは、HDD14に記憶されている段階で圧縮されていてもよいし、他の色空間で各画素の色が表現されていてもよい。これらの場合、画像データ14eの展開や色空間の変換を実行して、顔検出部P2aがRGBビットマップデータの画像データ14eを取得する。なお、画像データ14eはHDD14に記憶されているものに限らず、例えばデジタルスチルカメラやメモリカード等に記憶されているものであってもよい。ディスプレイ40に表示されたUI画面を参照してキーボード50aやマウス50bを操作することにより、輪郭検出処理の対象とする画像データ14eが指定される。ステップS120においては、顔検出部P2aが画像データ14eに含まれる顔を検出する。
図4は、顔器官検出処理の流れを示している。ステップS110においては、顔検出部P2aが輪郭検出の対象とする画像データ14eをHDD14から取得する。本実施形態において輪郭検出の対象とする画像データ14eは、各画素が示す色がRGB各チャネルの階調値の組み合わせ(RGB色空間におけるベクトル)で表現されたビットマップデータである。後述する図面において、便宜的に2値の画像が示される場合があるが、実際には多階調のカラー画像データが処理の対象となる。なお、画像データ14eは、HDD14に記憶されている段階で圧縮されていてもよいし、他の色空間で各画素の色が表現されていてもよい。これらの場合、画像データ14eの展開や色空間の変換を実行して、顔検出部P2aがRGBビットマップデータの画像データ14eを取得する。なお、画像データ14eはHDD14に記憶されているものに限らず、例えばデジタルスチルカメラやメモリカード等に記憶されているものであってもよい。ディスプレイ40に表示されたUI画面を参照してキーボード50aやマウス50bを操作することにより、輪郭検出処理の対象とする画像データ14eが指定される。ステップS120においては、顔検出部P2aが画像データ14eに含まれる顔を検出する。
図5は、ステップS120において行われる顔検出の様子を模式的に示している。同図において、顔検出部P2aがHDD14から取得した複数の顔テンプレート14bが示されている。本実施形態においては、画像データ14eと各顔テンプレート14bとのテンプレートマッチングを行うことにより、画像データ14eから顔を検出する。各顔テンプレート14bは一定の大きさ画像データであり、それぞれ顔が含まれている。各顔テンプレート14bに含まれる顔の大きさおよび位置(中央)は、ほぼ一定となるように規格化されている。また、多様な顔が検出できるように、種々の顔が各顔テンプレート14bに含まれている。顔テンプレート14bとのテンプレートマッチングを行うにあたっては、画像データ14eにおいて矩形状の検出窓SWを生成し、当該検出窓SWの位置と大きさと回転角度を変えながら、検出窓SWの内側の画像と各顔テンプレート14bの画像との類似性を評価する。
そして、類似性が一定の基準を満足するとき、顔が存在すると判定し、そのときの検出窓SWの位置と大きさと回転角度を取得する。なお、本実施形態において、検出窓SWは30度ずつ回転されるものとする。画像データ14eにおいて回転している顔は、対応する角度だけ検出窓SWを回転させたときにマッチングすることとなる。なお、顔テンプレート14bは、人種や性別や年齢やなど多くの種類の顔を含んでいるとともに、画像面に対する顔向きについても多くの角度の顔を含んでいる。画像データ14eの全体に検出窓SWを移動させることにより、画像データ14eの不特定の位置に存在する単数または複数の顔が存在する検出窓SWの位置と大きさと回転角度を取得することができる。なお、本実施形態では、単一の顔が検出されたものとして以下説明する。
ステップS130において、顔検出部P2aは、顔テンプレート14bとマッチングする検出窓SWの位置と大きさと回転角度に基づいて、当該検出窓SWに含まれる領域の画像を画像データ14eから顔画像データFDとして抽出する。このとき、顔画像データFDの大きさが一定の大きさとなるように解像度変換が行われる。本実施形態においては、100×100画素の大きさとなるように、顔画像データFDの画素が内挿または間引きされる。また、画像データ14eにおける顔の回転角に対応して検出窓SWが回転されている場合には、この回転を解消するように顔画像データFDを回転させる。ただし、検出窓SWの回転角は30度ずつであるため、顔画像データFDにおいて、±15度の範囲で顔の回転角が残存し得ることとなる。また、各顔テンプレート14bに含まれる顔の大きさおよび位置が規格化されているため、これとマッチングする顔画像データFDにおける顔の位置や大きさもほぼ一定となる。以上のようにして、顔画像データFDが得られると、ステップS140において顔器官検出部P2bが顔器官としての目および口を検出する。
図6は、ステップS140において顔器官を検出する様子を模式的に示している。顔器官検出部P2bは、HDD14から多数の目テンプレート14cと口テンプレート14dを取得し、これらと顔画像データFDとのテンプレートマッチングを行う。ここでも顔画像データFDにおいて矩形状の検出窓SWを生成し、検出窓SWの位置を変更していきながら検出窓SWの内側の画像と各目テンプレート14cや各口テンプレート14dとの類似性を比較していく。ただし、顔画像データFDにおける顔の位置や大きさもほぼ一定であり、顔の回転角も30度単位で補正されているため、当該顔に含まれる目や口の回転角には大きなずれはないと考えることができる。従って、ここでは検出窓SWの回転角を変更することなく、検出窓SWの大きさと位置のみを変えながらテンプレートマッチングを行うことができる。
図7は、左右の目と口が存在する検出窓SWが検出された顔画像データFDの様子を示している。図7Aにおいて、左右の目を中央に含む矩形状の検出窓SW1,SW2と、口を含む検出窓SW3が検出されている。このように正面から撮影した顔の場合、通常、左右の目と口が存在する検出窓SW1,SW2,SW3の位置および大きさが検出されることとなる。特に左右の目の検出窓SW1,SW2の大きさは互いに同等となる。しかし、図7Bのように、顔が画像面に対して正面を向いておらず、所定の方向に顔が向いている場合には、左右の目の検出窓SW1,SW2の大きさは同等とならない。例えば、顔向きが右方向に傾いている場合、左目が正面に近い方向を向き、右目は斜めに撮影されることとなるため、左目の検出窓SW1の方が右目の検出窓SW2よりも大きく検出されることとなる。反対に顔向きが左方向に傾いている場合、右目の検出窓SW2の方が左目の検出窓SW1よりも大きく検出されることとなる。なお、本明細書および図面において、左右(LR)とは図面を正面から見たときの左右を意味するものとする。従って、現実の顔における左右とは反対となる。なお、左右の目が検出できるように、目テンプレート14cには左目のものと右目のものが多数含まれている。以上のようにして、各顔器官の検出が完了すると、ステップS150にて顔画像データFDおよび検出窓SW1,SW2,SW3の位置および大きさをHDD14またはRAM12に記憶させ、次の目の輪郭検出処理(ステップS200)に移行する。
2−2.目の輪郭検出処理
図8は、目の輪郭検出処理の流れを示している。ステップ210において、顔器官検出の結果を取得するとともに、輪郭検出部2cの傾き補正部P2d1が左右の目を中央に含む検出窓SW1,SW2の重心の座標を算出し、当該重心同士を結んだ直線の水平線に対する傾きSを算出する。上述したように、顔検出の段階で30度単位の回転角補正がなされているため、ここでは基本的に±15度以内の角度に対応した傾きSが算出されることとなる。ステップS220においては、ステップS140において検出した検出窓SW1,SW2のどちらが大きいかを選択部P2cが判定し、大きい方の検出窓SW1,SW2を選択する。すなわち、同一の顔が有する左右の目のうち大きく検出された方の目に対応する検出窓SW1,SW2を選択部P2cが選択する。基本的には、顔が画像面に対して正面を向いていない場合、正面に近い方を向いている目に対応する検出窓SW1,SW2が選択されることとなる。また、顔向きの角度が大きすぎたり、目に髪等がかっている等の著しい検出阻害要因があったりして一方の目の検出窓SW1,SW2しか検出できない場合には、検出された方の大きいものとして選択するものとする。
図8は、目の輪郭検出処理の流れを示している。ステップ210において、顔器官検出の結果を取得するとともに、輪郭検出部2cの傾き補正部P2d1が左右の目を中央に含む検出窓SW1,SW2の重心の座標を算出し、当該重心同士を結んだ直線の水平線に対する傾きSを算出する。上述したように、顔検出の段階で30度単位の回転角補正がなされているため、ここでは基本的に±15度以内の角度に対応した傾きSが算出されることとなる。ステップS220においては、ステップS140において検出した検出窓SW1,SW2のどちらが大きいかを選択部P2cが判定し、大きい方の検出窓SW1,SW2を選択する。すなわち、同一の顔が有する左右の目のうち大きく検出された方の目に対応する検出窓SW1,SW2を選択部P2cが選択する。基本的には、顔が画像面に対して正面を向いていない場合、正面に近い方を向いている目に対応する検出窓SW1,SW2が選択されることとなる。また、顔向きの角度が大きすぎたり、目に髪等がかっている等の著しい検出阻害要因があったりして一方の目の検出窓SW1,SW2しか検出できない場合には、検出された方の大きいものとして選択するものとする。
ステップS230においては、傾き補正部P2d1が顔画像データFDから選択された方の検出窓SW1,SW2に属する領域を、目画像データEIとして抽出する。本実施形態では、左目の検出窓SW1が選択され、当該検出窓SW1に属する領域が目画像データEIとして抽出されるものとする。このとき、目画像データEIに対してステップS220にて算出した傾きSに応じた傾き補正を行う。
図9は、ステップS230において傾き補正部P2d1が実行する傾き補正の様子を概念的に示している。同図において、矩形状の検出窓SW1の上辺と下辺を傾きSに応じて傾斜させ、傾斜後の検出窓SW(破線で図示)に属する画素を抽出する。検出窓SW1の上辺と下辺が傾きSに応じて傾斜しているため、抽出された各画素列の位置がずれることとなる。そして、抽出した各画素列の上端・下端位置を揃えることにより、矩形状とし、目画像データEIを得る。これにより、目画像データEIに含まれる目の傾きを解消することができ、目画像データEIにおいて目をほぼ水平とすることができる。なお、本来の画像から画素の位置をずらしているため、輪郭の滑らかさが不正確になったり、目の形状がいびつとなることも考えられるが、±15度以内に対応する量の傾きを調整するに過ぎないため、問題とはならない。さらに本実施形態においては、25×25画素の大きさに規格化されるように、目画像データEIの画素を内挿または間引きする。以上のようにして目画像データEIが得られると、目画像データEIをスカラー量Zの画像データに変換する処理をステップS500にて実行する。なお、目画像データEIにおける鉛直方向の位置をyと表し、水平方向の位置をxと表すとともに、それぞれ左上隅をx=y=0とする。
図10は、ステップS500にて実行するスカラー変換処理(スカラー量マップ取得手段)の流れを示している。目画像データEIは各画素がRGB階調(RGBベクトル)を有する画像データであるが、スカラー変換処理では、目画像データEIを各画素がスカラー量Zの情報を有する画像データに変換する処理を実行する。まず、ステップS510において、サンプリング部P2d2が顔画像データFDの一部の画素をサンプリングする。
図11は、ステップS510におけるサンプリングの様子を示している。顔画像データFDにおいて左右の目を含む検出窓SW1,SW2の左下隅と右下隅を結ぶ線分L1と、左右の検出窓SW1,SW2の間において線分L1を2等分する鉛直方向の線分L2が示されている。線分L2の長さは検出窓SW1,SW2の幅の平均値と同じとされている。線分L1,L2は所定の幅を有しており、線分L1,L2に対応する位置の画素を本実施形態のサンプリングの対象とする。線分L1,L2は、目の下の略一定の高さの位置と、左右の目の間の位置に対応している。このような位置からサンプリングすることにより、顔の輪郭外や目や眉毛や鼻の穴や口などの色の画素はサンプリングされなくなり、基本的に肌色の画素のみをサンプリングすることができる。また、線分L1,L2の双方からサンプリングを行うようにしているため、仮に線分L1,L2の一部に眼鏡のフレームや前髪などの肌色以外の画素が含まれたとしても、後述する統計指標への影響を抑えることができる。むろん、ある程度、肌色のみに絞り込むことができればよく、例えば頬や額等の他の領域からサンプリングを行うようにしてもよい。
サンプリング部P2d2は、サンプリング対象の画素のRGB階調を取得し、RGB階調の平均μ(μR,μG,μB)と分散・共分散行列Sを統計指標として算出する(平均値算出手段)。平均μは、RGB各チャネルごとに階調の相加平均を算出することによって得ることができる。また、分散・共分散行列Sは下記の(1)式によって定義される。
前記の(1)式において、SR,SG,SBはRGB各チャネルについての分散を示しており、SRG,SGB,SRBはR−G,G−B,R−B間の共分散を示している。
前記の(1)式において、SR,SG,SBはRGB各チャネルについての分散を示しており、SRG,SGB,SRBはR−G,G−B,R−B間の共分散を示している。
図12は、ステップS510におけるサンプリングによって得られる平均μ(μR,μG,μB)と分散SR,SG,SBをグラフによって示している。本発明において、サンプリングされた画素が示す色の3次元のRGB色空間における分布は正規分布N(μ,S)であると仮定しており、RGB階調分布がそれぞれ平均μ(μR,μG,μB)を中心とした正規分布NR(μR,SR),NG(μG,SG),NB(μB,SB)と仮定されている様子が図示されている。平均μ(μR,μG,μB)は、検出された顔において最も標準的な肌色を示し、分散SR,SG,SBは肌色を示す各チャネルの階調のばらつきの程度を示している。通常、分散SR,SG,SBはそれぞれ異なる大きさとなるが、平均μ(μR,μG,μB)に各分散SR,SG,SBの平方根(標準偏差)を加減算した値で囲まれた範囲の確率は68.2%となる。
なお、本明細書において”肌色”とは、絶対的な色彩値が特定される特定色を意味するのではなく、平均μ(μR,μG,μB)の付近に分布する色を意味する。従って、処理対象の顔に応じて”肌色”が意味する絶対色が変動することとなる。平均μと分散行列Sが得られると、ステップS520において、スカラー変換部P2d3は、各画素がRGB階調を有する目画像データEIを取得する。
ステップS530において、スカラー変換部P2d3は、目画像データEIから一つの画素を順次選択し、選択した画素のRGB階調(r,g,b)を下記の(2)式に代入することよってマハラノビス平方距離DM 2に変換する。
なお、前記の(2a)式において、Δrは(r−μR)であり、Δgは(g−μG)であり、Δbは(b−μB)である。マハラノビス平方距離DM 2は、上述した肌色のサンプリングによって得られた標準的な肌色を示す平均μ(μR,μG,μB)と、選択した画素のRGB階調(r,g,b)とのRGB色空間における平方距離(RGB階調値のずれ量)に対応する指標値であり、その大きさはRGB色空間における色のずれ方向に依存しない。すなわち、マハラノビス平方距離DM 2が同じであれば、平均μ(μR,μG,μB)からの色ずれ方向が異なっていても、確率的には同程度の差を有していると考えることができ、以下においてRGB色空間における色ずれ方向を無視した処理を行うことができる。
図13は、RGB色空間(RG平面)におけるマハラノビス平方距離DM 2の等値線を示している。同図において、横軸はR階調(r)を示し、縦軸はG階調(g)を示している。等値線は、RGB各チャネルの分散SR,SG,SBの相違に起因して、略楕円状となっている。平均μ(μR,μG)においてマハラノビス平方距離DM 2が0となり、RG平面において平均μ(μR,μG)から離れるほどマハラノビス平方距離DM 2が大きくなっている。そのため、目画像データEIに含まれる肌色とは異なる白目や黒目の画素は、肌色の画素よりもマハラノビス平方距離DM 2が大きくなる。このように、画素の色を示すベクトルとしてのRGB階調(r,g,b)が、標準的な肌色とのRGB階調値のずれ量を示すスカラーとしてのマハラノビス平方距離DM 2に変換することができる。目画像データEIのすべての画素についてマハラノビス平方距離DM 2への変換が完了すると、目画像データEIはマハラノビス平方距離DM 2の画像データDM 2(x,y)に変換されたこととなる。
ステップS540において、スカラー変換部P2d3は、目画像データEIの画素を順次選択し、選択した画素のマハラノビス平方距離DM 2を下記の(3)式で示す変換関数に代入することによりスカラー量Zに変換していく。
前記の(3)式においてα、uは前記変換関数の変換特性を決定付けるパラメータである。本実施形態では、α=1に固定し、uの初期値を3とする。
前記の(3)式においてα、uは前記変換関数の変換特性を決定付けるパラメータである。本実施形態では、α=1に固定し、uの初期値を3とする。
図14は、前記変換関数の変換特性を示している。同図において、横軸は変換前のマハラノビス平方距離DM 2を示し、縦軸は変換後のスカラー量Zを示している。また、ある目画像データEIの変換前のマハラノビス平方距離DM 2の分布と、変換後のスカラー量Zの分布も示している。スカラー量Zは、マハラノビス平方距離DM 2が0のとき−1となり、マハラノビス平方距離DM 2がパラメータuのとき0となる非線形関数によって表される。ここで、横軸のマハラノビス平方距離DM 2において、パラメータu=3を中心とした領域を第2領域A2と表し、第2領域A2よりもマハラノビス平方距離DM 2の値が大きくなる領域を第1領域A1と表すものとする。この第2領域A2においては、変換関数の傾きが他の領域よりも急となっており、マハラノビス平方距離DM 2の単位変動に応じたスカラー量Zの変動量が他の領域よりも大きくなっている。第2領域A2よりもマハラノビス平方距離DM 2が大きくなる第1領域A1においては、変換後のスカラー量Zが次第に1に飽和していくような変換特性を有している。第2領域A2は、肌色に対応したマハラノビス平方距離DM 2の領域と、非肌色に対応したマハラノビス平方距離DM 2の領域との間に設定されるのが望ましい。この第2領域A2の位置は、パラメータuによって設定されるが、初期のパラメータu=3は以下の根拠に基づいて設定されている。
図15は、マハラノビス平方距離DM 2と確率分布の関係をグラフによって示している。同図において、横軸はマハラノビス平方距離DM 2を示している。一方、縦軸は、ステップS510にてサンプリングした肌色の画素のRGB階調の平均μ(μR,μG,μB)と分散・共分散行列Sによって定義される正規分布N(μ,S)における確率分布(下側確率)を示している。同図に示すようにマハラノビス平方距離DM 2は、n次元カイ二乗分布に従う。本実施形態では、RGBの階調値で表されるカラー画像を処理の対象としており、3次元カイ二乗分布(実線で図示)によって各マハラノビス平方距離DM 2に対応する確率を推定することができる。マハラノビス平方距離DM 2=3のとき、下側確率が約60%となっている。すなわち、肌色を示す画素のうち約60%が、マハラノビス平方距離DM 2が3以下となるということが分かる。マハラノビス平方距離DM 2が3を超えてくると、その画素が肌色を示すことが疑わしくなっていくということが推測できる。すなわち、マハラノビス平方距離DM 2が3を超えてくる付近の領域が、肌色に対応したマハラノビス平方距離DM 2の領域と、非肌色に対応したマハラノビス平方距離DM 2の領域との間の領域であると推定できる。そのため、本実施形態では、パラメータuの初期値を3とし、マハラノビス平方距離DM 2が3となる付近の領域を第2領域A2と設定している。なお、モノクロ画像の場合には、マハラノビス平方距離DM 2が1次元カイ二乗分布(破線で図示)に従う。
図14において示した前記変換関数による変換前のマハラノビス平方距離DM 2の分布においては、マハラノビス平方距離DM 2=0を中心とした肌色の分布G1と目画像データEIに含まれる白(白目)の分布G2と黒(黒目、眉等)の分布G3が存在する。これに対して変換後のスカラー量Zの分布においては、肌色の分布G1はスカラー量Z=−1を中心として分布し、目画像データEIに含まれる白の分布G2と黒の分布G3は分布全体が1にほぼ飽和した値に変換されている。また、平均μ(μR,μG,μB)が示す標準的な肌色と比較して明るめの肌色や暗めの肌色は、パラメータuの初期値である3付近に位置しており、傾きが急な第2領域A2に存在することとなる。
以上説明した変換関数によって、目画像データEIのすべての画素のマハラノビス平方距離DM 2をスカラー量Zに変換することにより、目画像データEIをスカラー量Zの画像データZ(x,y)に変換することができる。以下、スカラー量Zの画像データZ(x,y)に変換された目画像データEIをZマップとも表記するものとする。なお、Zマップはスカラー量マップに相当する。なお、マハラノビス平方距離DM 2も肌色らしさを示す指標として使用することが可能であるが、上述した変換関数による変換したスカラー量Zによれば、肌色らしいか否かをより明瞭に判別することができる。
ステップS550において、変換関数設定部P2d4は、スカラー量Zが所定の閾値Th1を超える画素を計数し、当該閾値Th1を超える画素の個数比率(面積比率)が所定の閾値Th2を超えているか否かを判定する。本実施形態では、閾値Th1=0.6とし、閾値Th2=33%とする。図14において、閾値Th1=0.6を破線で示しており、閾値Th1=0.6を超える画素は、飽和しているとみなし、肌色らしくない色であると判断する。また、白の分布G2と黒の分布G3も、閾値Th1=0.6を超える画素に該当することとなる。すなわち、閾値Th1による閾値判定によって目画像データEIの各画素が肌色らしいか肌色らしくないかを判定することができる。閾値Th1を超える画素の比率が大きいほど、肌色らしくない画素の目画像データEIにおける面積比率が大きくなるということが言える。
ここで、目画像データEIは、左右いずれかの目とその周辺の領域の画像を示すものであり、目画像データEIにおいて目が占める面積は、目画像データEIとマッチングする目テンプレート14cと同様となる。上述したとおり目テンプレート14cにおいては目の大きさが規格化されているため、目画像データEIにおける目の大きさも目テンプレート14cにて規格化された目の大きさと同様となると考えることができる。従って、Zマップにおいて、肌色らしくない画素が占める面積比率も一定の傾向を有すると考えることができる。本実施形態では、肌色らしくない画素が占める面積比率が閾値Th2=33%を超えることが妥当であると仮定し、肌色らしくない画素が占める面積比率が閾値Th2=33%以下である場合には、変換関数設定部P2d4がステップS560において上述した変換関数のパラメータuを変更する。パラメータuは、正規分布N(μ,S)を仮定した場合の推測値であるため、本実施形態のように実際の面積比率に基づく妥当性によって調整するのが望ましい。なお、本実施形態における閾値Th1,閾値Th2は一例であり、異なる値を採用してもよい。また、面積比率の妥当な範囲を閾値Th2だけでなく、上限値と下限値によって規定するようにしてもよい。
ステップS560においては、パラメータuをもとの値の4倍に変更し、ステップS540に戻る。そして、ステップS550において、変更したパラメータuを前記の(3)式に適用し、再度、目画像データEIのマハラノビス平方距離DM 2をスカラー量Zに変換して、再度、Zマップを得る。ステップS550においては、同様にZマップにおいて肌色らしくない画素の面積比率の妥当性を判定し、妥当でなければ再度パラメータuを4倍する。以上の処理を繰り返して実行することにより、肌色らしくない画素の面積比率の妥当となるまで、変換関数を最適化してくことができる。
本実施形態では、パラメータuを順次大きくしていくため、変換関数による変換特性が図14において破線で示すように推移していく。すなわち、傾きが急となる第2領域A2をマハラノビス平方距離DM 2が大きくなる方向にシフトさせていくことができる。これにともなって、第1領域A1の幅が狭められることとなる。このようにすることにより、肌色のばらつきが異なる様々な顔についても、適切な変換関数を設定することができる。ステップS550において、スカラー量Zが閾値Th1を超える画素の比率が所定の閾値Th2を超えていると判定した場合には、パラメータuの変更を行うことなくスカラー変換処理を終了させ、各画素のRGB階調がスカラー量Zの階調値に変換された目画像データEI(Zマップ)をパラメータ探索部P2d5に出力する。なお、本実施形態では、パラメータuを変更するようにしたが、第1領域A1と第2領域A2の範囲を調整するためにパラメータαも変更してもよい。第1領域A1を広くするためにはパラメータαを大きくし、第2領域A2を広くするためにはパラメータαを小さくすればよい。むろん、パラメータuを大きめに設定し、徐々に小さく変更していってもよい。
図16は、各画素がスカラー量Z(x,y)で表されるZマップの一例を示している。同図において、目画像データEIの鉛直断面と水平断面におけるスカラー量Z(x,y)を示している。鉛直断面において、黒目に対応する部分はスカラー量Z(x,y)が1に近い値となっており、それ以外の肌色に対応する部分は−1〜0付近の間の値となっている。目の輪郭を構成する黒目と肌色との境界においては、鉛直方向の勾配が大きい値となっている。一方、水平断面において、黒目と白目に対応する部分はともにスカラー量Zが1に近い値となっており、それ以外の肌色に対応する部分は−1に近い値となっている。目の輪郭を構成する白目と肌色との境界における水平方向の勾配が大きい値となっているが、黒目と白目の境界においては勾配が極めて小さくなっている。ステップS240(図8)において、パラメータ探索部P2d5は、目画像データEIを変換したZマップを取得する。ステップS170において、パラメータ探索部P2d5は、Zマップにおいて目の輪郭パラメータL,R,T,Bを初期設定する(ステップS250)。
図17は、Zマップにおける輪郭パラメータL,R,T,Bを示している。輪郭パラメータL,R,T,Bは、目の輪郭における目尻と目頭と上頂点と下頂点に対応しており、それぞれ水平方向と鉛直方向の座標によってL(xL,yL),R(xR,yR),T(xT,yT),B(xB,yB)と表される。輪郭パラメータL,R,T,Bの初期値が設定できると、目の輪郭を近似するための輪郭線O(第1近似曲線)を生成することができる(第1近似手段)。本実施形態において、輪郭線Oは、左上部分の曲線O1と、右上部分の曲線O2と、左下部分の曲線O3と、左下部分の曲線O4によって近似される。各曲線O1〜O4は下記の(4)式で表される。
前記の(4)式において、曲線O1は輪郭パラメータTの座標を頂点とし、輪郭パラメータLの座標を通過する上に凸の2次曲線で表される。a1,a2は正であり、a3,a4は負とする。曲線O2は輪郭パラメータTの座標を頂点とし、輪郭パラメータRの座標を通過する上に凸の2次曲線で表される。一方、曲線O3は輪郭パラメータBの座標を頂点とし、輪郭パラメータLの座標を通過する下に凸の2次曲線で表される。曲線O4は輪郭パラメータBの座標を頂点とし、輪郭パラメータRの座標を通過する下に凸の2次曲線で表される。輪郭パラメータL,R,T,Bの座標を定めると、曲線O1〜O4が一意に定まるため、輪郭パラメータL,R,T,Bの座標を初期設定することにより、輪郭線Oの位置および形状が初期設定されることとなる。なお、輪郭パラメータL,R,Tおよび輪郭パラメータL,R,Bのそれぞれ3点の組み合わせの位置関係に注目すると、輪郭パラメータL,Rの座標が水平方向の両外側に位置する終端点に相当し、輪郭パラメータT,Bの座標が共通の頂点に相当する。以上のような輪郭線Oを配置するために、輪郭パラメータL,R,T,Bの初期値は、少なくともxL<xT<xR,xL<xB<xR,yT<yL<yB,yT<yR<yBが満足されていればよい。本実施形態では、図17に図示するように目画像データEIの中央鉛直線に対して左右対称、かつ、中央よりやや下の水平線に対して上下対称に設定する。また、目テンプレート14cにて規格化された目の輪郭(破線で図示)よりもやや外側に輪郭パラメータL,R,T,Bの座標の初期値を設定する。
以上のようにZマップにて輪郭パラメータL,R,T,Bの座標の初期値が設定されると、ステップS260においてパラメータ探索部P2d5と評価値算出部P2d6が最適な輪郭パラメータL,R,T,Bの探索処理を行う。パラメータ探索部P2d5が輪郭パラメータL,R,T,Bを更新し、当該更新した輪郭パラメータL,R,T,Bを評価値算出部P2d6に出力すると、評価値算出部P2d6は下記の評価値Vを算出し、当該評価値Vをパラメータ探索部P2d5に返す。そして、パラメータ探索部P2d5は評価値Vを最大とする輪郭パラメータL,R,T,Bの座標を探索する。
図18は、評価値Vの概念を模式的に説明している。図18において、輪郭線O上において長さdlを有する微小線要素と、当該微小線要素の法線単位ベクトルpが示されている。曲線O1〜O4が前記の(4)式によって特定できるため、任意の微小線要素についての法線単位ベクトルpを求めることができる。なお、法線単位ベクトルpは内側方向が正となるようにする。すなわち、曲線O1,O2上の微小線要素の法線単位ベクトルpのy成分は下方向を正とし、反対に曲線O3,O4上の微小線要素の法線単位ベクトルpのy成分は上方向を正とする。また、曲線O1,O3上の微小線要素の法線単位ベクトルpのx成分は右方向を正とし、反対に曲線O2,O4上の微小線要素の法線単位ベクトルpのx成分は左方向を正とする。勾配ベクトルgは下記の(5)式で表される。
前記の(5)式において、勾配ベクトルgは、水平方向の勾配と鉛直方向の勾配によって与えられ、肌色らしさを示すスカラー量Z(x,y)の変動が激しい領域ほど大きくなる。評価値算出部P2d6は、以上説明した法線単位ベクトルpと勾配ベクトルgを使用し、下記の(6)式によって輪郭線Oの輪郭への近似性を評価する評価値Vを算出する。
前記の(6)式において、評価値Vは微小線要素に関する法線単位ベクトルpと勾配ベクトルgの内積(微小評価値)を輪郭線Oに沿って線積分(合計)することにより求められる。ただし、輪郭線Oの下側部分の曲線O3,O4に関する積分値に対して、輪郭線Oの上側部分の曲線O1,O2に関する積分値を2倍に重み付けしている。法線単位ベクトルpと勾配ベクトルgの内積は、法線単位ベクトルpと勾配ベクトルgが同じ方向であり、かつ、勾配ベクトルgが大きいほど大きい値となる。従って、輪郭線Oを構成する各微小線要素がスカラー量Z(x,y)の勾配方向に直交し、かつ、勾配が大きいほど評価値Vが大きい値となる。
スカラー量Z(x,y)の勾配は、肌色らしさが変動する程度であると考えることができるため、評価値Vが大きいと、輪郭線Oが肌色らしさの変動が大きい領域を通過していると評価することができる。すなわち、評価値Vが大きいと、輪郭線Oが肌色らしさの変動が大きくなる目の輪郭を通過していると考えることができる。特に、スカラー量Z(x,y)は、肌色であることが疑わしい第2領域A2において変動が激しくなるように変換されているため、肌色でない目の輪郭付近では、勾配が極端に大きくなる。一方、図14で示したように白の分布G2と黒の分布G3は、双方とも1に近い値に飽和しており、白目と黒目の境界であってもスカラー量Z(x,y)の勾配は小さいものとなる。すなわち、マハラノビス平方距離DM 2において白の分布G2と黒の分布G3が異なる値を示していても、変換関数によってスカラー量Zに変換することにより、白の分布G2と黒の分布G3のマハラノビス平方距離DM 2の差を微小なものに変換することができ、これらの間でスカラー量Zの勾配を生じなくさせることができる。従って、白目と黒目の境界について評価値Vが大きくなることが防止でき、白目と黒目の境界と目の輪郭を明確に区別することができる。なお、概念的な理解を容易とするために、連続的な画像平面上において評価値Vや勾配ベクトルgや法線ベクトルnが算出されるように説明したが、現実には離散的な画像平面において等価な演算が行われることとなる。以下に説明する探索処理(探索手段、輪郭検出手段)においては、評価値Vを大きくさせる輪郭パラメータL,R,T,Bの座標を探索していく。
図19は、探索処理における探索の手順を模式的に説明している。同図において、輪郭パラメータL,R,T,Bの移動パターンが示されており、当該移動パターンが第1〜4フェーズから構成されている。第1フェーズにおいては、現在の輪郭パラメータL,R,T,Bの座標(a)から対角4方向に2画素分ずれた4座標(b,c,d,e)に輪郭パラメータL,R,T,Bを移動させる。第2フェーズにおいては、現在の輪郭パラメータL,R,T,Bの座標(a)から鉛直水平方向に2画素分ずれた4座標(b,c,d,e)に輪郭パラメータL,R,T,Bを移動させる。第3フェーズにおいては、現在の輪郭パラメータL,R,T,Bの座標(a)から対角4方向に1画素分ずれた4座標(b,c,d,e)に輪郭パラメータL,R,T,Bを移動させる。第4フェーズにおいては、現在の輪郭パラメータL,R,T,Bの座標(a)から鉛直水平方向に1画素分ずれた4座標(b,c,d,e)に輪郭パラメータL,R,T,Bを移動させる。第4フェーズが完了した時点で探索処理を終了する。
図20は、各フェーズにおける詳細な探索手順を示している。まず直前のフェーズ(第1フェーズにおいては初期値)によって決定された現在の輪郭パラメータL,R,T,Bの座標(a)を中心として、図19に示す移動パターンにしたがって輪郭パラメータL,R,T,Bを移動させる。輪郭パラメータL,R,T,Bを同時に移動させるのではなく、L→R→T→Bの順で移動させる。まず現在の輪郭パラメータL,R,T,Bを評価値算出部P2d6に出力し、評価値Vaを算出する。次に輪郭パラメータR,T,Bを固定し、輪郭パラメータLを現在の座標(a)のまわりの4座標(b,c,d,e)に順次移動させる。このとき輪郭パラメータLが移動するごとに、輪郭パラメータL,R,T,Bを評価値算出部P2d6に出力し、評価値Va,Vb,Vc,Vd,Veを算出する。なお、4座標(b,c,d,e)への移動順序はどのようなものであってもよい。以上のようにして4座標(a,b,c,d,e)の輪郭パラメータLについての評価値Va,Vb,Vc,Vd,Veが得られると、評価値Va,Vb,Vc,Vd,Veに基づいて評価値Vを極大化させる輪郭パラメータLの座標(h)を予測する。
まず、現在の輪郭パラメータLの座標(a)を通過する線分b−a−cに関する評価値Va,Vb,Vcを通る2次曲線を算出し、当該2次曲線を極大化させる座標を算出する。なお、当該2次曲線が上に凸であり、かつ、頂点が線分b−a−cの間にある場合のみ、前記2次曲線を極大化させる座標が算出できる。前記2次曲線を極大化させる座標(f)が算出できない場合には、端の評価値Vb,Vcのうち大きい方の座標(b)または座標(c)を座標(f)とする。そして、線分d−a−eに平行かつ座標(f)を通過する直線l1を生成する。次に、現在の輪郭パラメータLの座標(a)を通過し、線分b−a−cに直交する線分d−a−eに関する評価値Va,Vd,Veを通る2次曲線を算出し、当該2次曲線を極大化させる座標(g)を同様の手順で算出する。そして、線分b−a−cに平行かつ座標(g)を通過する直線l2を生成する。
以上のようにして直線l1,l2が生成できると、これらの交点の座標を輪郭パラメータLの座標(h)として算出する。この座標(h)が算出できると、輪郭パラメータLを座標(h)に移動させ、そのときの評価値Vhを算出する。以上のようにして、6個の評価値Va,Vb,Vc,Vd,Ve,Vhが算出できると、これらのうち最も大きいものに対応する座標を当該フェーズにおける最適な輪郭パラメータLの座標として決定する。輪郭パラメータLについて最適な座標が決定すると、次に輪郭パラメータRについて同様の処理を行って最適な座標を決定する。さらに、輪郭パラメータT,Bについて順に同様の処理を行って最適な座標を決定し、当該フェーズを終了させ、次のフェーズに移行する。第4フェーズが完了した段階で、最終的に輪郭パラメータL,R,T,Bを確定させる。
以上説明したように、探索の初期の第1,2フェーズにおいては広範囲に輪郭パラメータL,R,T,Bを移動させるため、輪郭パラメータL,R,T,Bの座標をおおまかに目尻、目頭、上頂点、下頂点に近づけさせることができる。さらに、探索の後期の第3,4フェーズにおいては狭い範囲で局所的に輪郭パラメータL,R,T,Bを移動させるため、より目尻、目頭、上頂点、下頂点に収束するように輪郭パラメータL,R,T,Bの座標を微調整することできる。ただし、第1〜4フェーズにおける探索距離は、目画像データEIの大きさに応じて設定されるべきであり、目画像データEIが大きくなるのに応じて探索距離も大きくするのが望ましい。徐々に探索距離を短くすればよく、4フェーズ以上の探索を行うようにしてもよい。また、輪郭パラメータL,R,T,Bの初期値を中央からやや下よりに設定しているため、眉の黒と肌色との輪郭を誤検出することが防止できる。また、初期の輪郭パラメータL,R,T,Bの座標によって妥当な形状の輪郭線Oを設定し、各フェーズにおいて少しずつ輪郭パラメータL,R,T,Bの座標を全体的に移動させるようにしているため、輪郭線Oの形状が極端に異常な形状となることもない。例えば、輪郭パラメータLのみを集中的に移動させることにより、輪郭パラメータLが黒目と白目の境界等に収束するようなことが防止できる。また、評価値Vは、勾配ベクトルgに対する直交性を輪郭線Oの全体について評価するため、輪郭パラメータL,R,T,Bの一点が異常な点に収束することが防止できる。
さらに、輪郭パラメータL,R,T,Bの初期値を目テンプレート14cにて規格化された目の輪郭よりもやや外側に設定しているため、基本的にはフェーズの進行とともに輪郭パラメータL,R,T,Bが内側に移動し、最適な座標に収束することとなる。従って、探索の際に輪郭パラメータL,R,T,Bの位置関係が逆転することが防止できる。輪郭パラメータL,R,T,Bはそれぞれ独立して移動するため、目の輪郭が上下非対称、左右非対称であっても、4個の2次曲線O1〜O4によって精度よくフィッティングすることができる。さらに、輪郭パラメータL,R,T,BをL→R→T→Bの順で移動させることにより、まぶたの状態によって大きく位置が変動しがちな輪郭パラメータT,Bよりも先に、位置が安定する輪郭パラメータL,Rを探索することができ、全体の探索精度や探索効率を向上させることができる。なお、目の表情によっては、yB<yR,yB<yLとなることも考えられ、その場合はa3,a4の符号が探索の途中で正に反転することとなる。
なお、図16に示すように目の輪郭線に対応する領域においては、常に、輪郭の内側に向かってスカラー量Z(x,y)が増加する。すなわち、輪郭線上の微小線要素においては勾配ベクトルgが常に内側を向くこととなる。一方、法線ベクトルnの符号も、常に曲線O1〜O4の内側方向が正となるように定義されているため、スカラー量Z(x,y)の勾配方向と曲線O1〜O4の対応関係を一定に保つことができる。すなわち、輪郭パラメータTの座標が目の下側の輪郭線上に収束したり、輪郭パラメータBの座標が目の上側の輪郭線上に収束することが防止できる。また、下側の輪郭線は上側の輪郭線と比較して曖昧となりがちであるため、評価値Vにおいて下側の輪郭線よりも上側の輪郭線を重視することにより、曖昧な下側の輪郭線の影響によって全体の検出精度が低下することが防止できる。また、スカラー量Z(x,y)は、目の付近からサンプリングした肌色画素の平均μ(μR,μG,μB)を基準として算出されるため、撮影条件や被写体の(絶対的な意味での)肌色に依存することなく輪郭を検出することができる。
ステップS270においては、ステップS240において最適な位置が探索された後の輪郭パラメータL,R,T,Bの位置が正常であるか否かを異常判定部P2d7が判定する。ここでは、輪郭パラメータL,R,T,Bの位置関係が目の輪郭を表すものとして、正常な範囲のものであるか否かを判定する。ここでは種々の判定基準によって判定を行うことができるが、例えば輪郭パラメータL,R,T,Bの位置関係がxL<xT<xR,xL<xB<xRを満足しない場合には、目の輪郭として明らかに異常であると判定することができる。さらに、LR間の距離がTB間の距離よりも小さくなった場合には、目の輪郭として明らかに異常であると判定することができる。ステップS270において正常であると判定された場合には、当該正常な輪郭パラメータL,R,T,BをHDD14またはRAM12に記憶させて(ステップS290)、次の口の輪郭検出処理(ステップS300)へ移行する。
ステップS270において異常であると判定された場合には、選択部P2cがステップS280において、現在の顔画像データFDにおいて輪郭検出の対象とされてない検出窓SW1,SW2が残っているか否かを判定する。すなわち、ステップS140の顔器官検出にて現在の顔画像データFDから両目が検出された場合、ステップS220では検出窓SW1,SW2の大きい方が選択されているため、小さい方の検出窓SW1,SW2についてはまだ輪郭検出の対象とされていないこととなる。このような場合、輪郭検出の対象とされてない検出窓SW1,SW2が残っていると判定される。一方、現在の顔画像データFDから片目のみ検出された場合や、両目が検出された場合であって双方とも輪郭検出をすでに行った場合には、輪郭検出の対象とされてない検出窓SW1,SW2が残っていないと判定されることとなる。
現在の顔画像データFDにおいて輪郭検出の対象とされてない検出窓SW1,SW2が残っていると判定された場合には、ステップS285にて、当該残っている方の検出窓SW1,SW2を選択部P2cが選択する。そして、ステップS230に戻り、当該残っている方の検出窓SW1,SW2から傾きSを補正しつつ目画像データEIを抽出し、当該目画像データEIを対象として上述した輪郭検出の一連の処理を実行する。一方、現在の顔画像データFDにおいて輪郭検出の対象とされてない検出窓SW1,SW2が残っていないと判定された場合には、そのままエラー終了する。すなわち、現在の顔画像データFDから表情評価をするのに十分な輪郭が検出できなかったとして、現在の顔画像データFDについての表情評価を中止する。
以上のように、本実施形態では、顔器官検出処理において大きく検出された方の検出窓SW1,SW2のみを選択し、当該選択された検出窓SW1,SW2についての輪郭検出を行うとともに、最初に選択された検出窓SW1,SW2から正常な輪郭が検出された場合には、目の輪郭検出を終了させるようにしている。大きい方の検出窓SW1,SW2においては、正常に輪郭が検出される可能性が高いため、双方の検出窓SW1,SW2について輪郭検出を行わせなくても済む。従って、処理を効率化させることができる。ただし、大きい方の検出窓SW1,SW2においても正常に輪郭が検出されない可能性があるため、その場合には他方の検出窓SW1,SWからも輪郭検出を行うようにしている。
2−3.口の輪郭検出処理
図21は、口の輪郭検出処理の流れを示している。ステップS310においては、上述した顔器官検出の結果を取得するとともに、口の輪郭検出処理を開始させる。口の輪郭検出処理は、目の輪郭検出処理とほぼ同様の処理によって行うことができる。口の形状は目の相似形状と大きく相違しないため、目の輪郭検出と同様の輪郭パラメータL,R,T,Bおよび曲線O1〜O4によって近似することができる。ただし、一つの顔において口は単一であるため、目の輪郭検出においては、検出窓SW1,SW2を選択する処理(ステップS220)に相当する処理は実行しない。なお、輪郭パラメータL,R,が左右の口角に相当し、輪郭パラメータTが上唇の輪郭(O1,O2)の頂点に相当し、輪郭パラメータTが下唇の輪郭(O3,O4)の頂点に相当することとなる。サンプリングも同様に行うことができ、検出窓SW3から抽出した口画像データMIに対して輪郭検出を行う点で相違している。また、肌色と唇との境界付近においてスカラー量Zの傾きが大きくなるように、Zマップに変換する際のパラメータuを変更するのが望ましい。さらに、パラメータuを最適化する際に唇の面積の妥当性を評価する閾値Th2も、口テンプレート14dにおいて平均的に口が占める面積に対応させる必要がある。なお、口は、目と異なり1つしか存在し得ないため、ステップS370において正常な輪郭が検出できないと判定された時点でエラー終了させる。ステップS370において正常な輪郭が検出できた判定されると、ステップS400の表情評価処理を実行させる。
図21は、口の輪郭検出処理の流れを示している。ステップS310においては、上述した顔器官検出の結果を取得するとともに、口の輪郭検出処理を開始させる。口の輪郭検出処理は、目の輪郭検出処理とほぼ同様の処理によって行うことができる。口の形状は目の相似形状と大きく相違しないため、目の輪郭検出と同様の輪郭パラメータL,R,T,Bおよび曲線O1〜O4によって近似することができる。ただし、一つの顔において口は単一であるため、目の輪郭検出においては、検出窓SW1,SW2を選択する処理(ステップS220)に相当する処理は実行しない。なお、輪郭パラメータL,R,が左右の口角に相当し、輪郭パラメータTが上唇の輪郭(O1,O2)の頂点に相当し、輪郭パラメータTが下唇の輪郭(O3,O4)の頂点に相当することとなる。サンプリングも同様に行うことができ、検出窓SW3から抽出した口画像データMIに対して輪郭検出を行う点で相違している。また、肌色と唇との境界付近においてスカラー量Zの傾きが大きくなるように、Zマップに変換する際のパラメータuを変更するのが望ましい。さらに、パラメータuを最適化する際に唇の面積の妥当性を評価する閾値Th2も、口テンプレート14dにおいて平均的に口が占める面積に対応させる必要がある。なお、口は、目と異なり1つしか存在し得ないため、ステップS370において正常な輪郭が検出できないと判定された時点でエラー終了させる。ステップS370において正常な輪郭が検出できた判定されると、ステップS400の表情評価処理を実行させる。
2−4.表情評価処理
図22は、表情評価処理の流れを示している。本実施形態の目および口の輪郭検出処理においては正常な輪郭が検出できない場合にエラー終了するようにしていため、左右の目のいずれか一方の輪郭、および、口の輪郭が正常に検出できた場合のみ表情評価処理が行われることとなる。なお、表情評価処理は、図2に示す矩形特定部P2e1と輪郭特徴量算出部P2e2と表情評価値算出部P2e3とからなる表情評価部P2eによって実行される。ステップS410においては、目画像データEIおよび目の輪郭検出結果を取得するとともに、矩形特定部P2e1が目画像データEIにおいて目の輪郭パラメータL,R,T,Bによって囲まれる矩形を特定する。
図22は、表情評価処理の流れを示している。本実施形態の目および口の輪郭検出処理においては正常な輪郭が検出できない場合にエラー終了するようにしていため、左右の目のいずれか一方の輪郭、および、口の輪郭が正常に検出できた場合のみ表情評価処理が行われることとなる。なお、表情評価処理は、図2に示す矩形特定部P2e1と輪郭特徴量算出部P2e2と表情評価値算出部P2e3とからなる表情評価部P2eによって実行される。ステップS410においては、目画像データEIおよび目の輪郭検出結果を取得するとともに、矩形特定部P2e1が目画像データEIにおいて目の輪郭パラメータL,R,T,Bによって囲まれる矩形を特定する。
図23は、目画像データEIにおいて目の輪郭パラメータL,R,T,Bによって囲まれる矩形を示している。ここでは、輪郭パラメータL,R,T,Bのうちyの最大最小値によって囲まれたyの範囲と、xの最大最小値によって囲まれたyの範囲によって矩形が特定されている。基本的には、輪郭パラメータTのyTがyの最小値となり、輪郭パラメータL,RのxL,xRがxの最大最小値となる。yの最大値は、基本的に下まぶたの輪郭(曲線O3,O4)の頂点に相当する輪郭パラメータBのyBとなる(図23Aに図示。)が、下まぶたの輪郭(曲線O3,O4)が上に凸となった場合には目尻と目頭に相当する輪郭パラメータL,Rのうち下の方(yL,yRが大きい方)となる(図23Bに図示。)。
ステップS420においては、輪郭特徴量算出部P2e2が第1輪郭特徴量p1を算出する。第1輪郭特徴量p1は、図23においてハッチングで示す領域U1の面積を、破線で囲んだ領域の面積で除算した値である。下まぶたの輪郭(曲線O3,O4)が下に凸である場合、ハッチングで示す領域U1は、ステップS410にて検出した矩形内であり、かつ、下まぶたの輪郭(曲線O3,O4)よりも下方(yが大きい方)の領域である。下まぶたの輪郭(曲線O3,O4)が下に凸である場合、破線で囲んだ領域は、ステップS410にて検出した矩形内であり、かつ、輪郭パラメータL,Rの座標を結んだ線分よりも下方(yが大きい方)の領域である。一方、下まぶたの輪郭(曲線O3,O4)が上に凸である場合、ハッチングで示す領域U1は、ステップS410にて検出した矩形内であり、かつ、下まぶたの輪郭(曲線O3,O4)の上頂点Bよりも下方(yが大きい方)の領域であり、かつ、下まぶたの輪郭(曲線O3,O4)よりも上方(yが小さい方)の領域である。下まぶたの輪郭(曲線O3,O4)が上に凸である場合、破線で囲んだ領域は、ステップS410にて検出した矩形内であり、かつ、下まぶたの輪郭(曲線O3,O4)の上頂点Bよりも下方(yが大きい方)の領域であり、かつ、輪郭パラメータL,Rの座標を結んだ線分よりも上方(yが小さい方)の領域である。なお、下まぶたの輪郭(曲線O3,O4)が下に凸である場合、ハッチングで示す領域U1の面積の符号を正とし、下まぶたの輪郭(曲線O3,O4)が上に凸である場合、ハッチングで示す領域U1の面積の符号を負に入れ替える。第1輪郭特徴量p1によれば、目の下まぶたの状態を指標値化することができる。ステップS430においては、輪郭特徴量算出部P2e2が第2輪郭特徴量p2を算出する。第2輪郭特徴量p2は、ステップS410にて検出した矩形のy方向の長さh1を、x方向の長さw1で除算した値である。この第2輪郭特徴量p2によれば、目の開き具合を指標値化することができる。以上によって目に関する輪郭特徴量p1,p2の算出を完了すると、次にステップS440にて口画像データMIおよび口の輪郭検出結果を取得するとともに、矩形特定部P2e1が口画像データMIにおいて口の輪郭パラメータL,R,T,Bによって囲まれる矩形を特定する。
図24は、口画像データMIにおいて口の輪郭パラメータL,R,T,Bによって囲まれる矩形を示している。ここでは、輪郭パラメータL,R,T,Bのうちyの最大最小値によって囲まれたyの範囲と、xの最大最小値によって囲まれたyの範囲によって矩形が特定されている。基本的には、輪郭パラメータBのyBがyの最大値となり、輪郭パラメータL,RのxL,xRがxの最大最小値となる。yの最小値は、基本的に上唇の上輪郭(曲線O1,O2)の頂点に相当する輪郭パラメータTのyTとなる(図24Aに図示。)が、上唇の上輪郭(曲線O1,O2)が下に凸となった場合には口角に相当する輪郭パラメータL,Rのうち上の方(yL,yRの小さい方)となる(図24Bに図示。)。
ステップS450においては、輪郭特徴量算出部P2e2が第3輪郭特徴量p3を算出する。第3輪郭特徴量p3は、図24においてハッチングで示す領域U2の面積を、破線で囲んだ領域の面積で除算した値である。上唇の上輪郭(曲線O1,O2)が上に凸である場合、ハッチングで示す領域U2は、ステップS440にて検出した矩形内であり、かつ、上唇の上輪郭(曲線O1,O2)よりも上方(yが小さい方)の領域である。上唇の上輪郭(曲線O1,O2)が上に凸である場合、破線で囲んだ領域は、ステップS440にて検出した矩形内であり、かつ、輪郭パラメータL,Rの座標を結んだ線分よりも上方(yが小さい方)の領域である。一方、上唇の上輪郭(曲線O1,O2)が下に凸である場合、ハッチングで示す領域U2は、ステップS440にて検出した矩形内であり、かつ、上唇の下頂点Tよりも上方(yが小さい方)であり、かつ、上唇の上輪郭(曲線O1,O2)よりも下方(yが大きい方)の領域である。上唇の上輪郭(曲線O1,O2)が下に凸である場合、破線で囲んだ領域は、ステップS440にて検出した矩形内であり、かつ、輪郭パラメータL,Rの座標を結んだ線分よりも下方(yが大きい方)であり、かつ、上唇の下頂点Tよりも上方(yが小さい方)である領域である。なお、上唇の上輪郭(曲線O1,O2)が上に凸である場合、ハッチングで示す領域U2の面積の符号を正とし、上唇の上輪郭(曲線O1,O2)が下に凸である場合、ハッチングで示す領域U2の面積の符号を負とする。第3輪郭特徴量p3によれば、上唇の状態を指標値化することができる。ステップS460においては、輪郭特徴量算出部P2e2が第4輪郭特徴量p4を算出する。第4輪郭特徴量p4は、ステップS440にて検出した矩形のy方向の長さh2を、x方向の長さw2で除算した値である。この第4輪郭特徴量p4によれば、口の開き具合を指標値化することができる。以上によって口に関する輪郭特徴量p3,p4の算出を完了する。
ステップS470においては、表情評価値算出部P2e3が上述した輪郭特徴量p1〜p4を下記の(7)式で表される表情評価関数に代入することにより、表情評価値Eを算出する。
前記の(7)式の表情評価関数において、添え字iは、輪郭特徴量p1〜p4(pi)を識別するための数値であり、本実施形態ではi=1〜4となる。aiとbiは、各輪郭特徴量p1〜p4(pi)について用意された係数であり、cは定数を表している。aiとbiとcの設定方法については後述する。また、表情評価値Eが大きければ大きいほど、表情として良好なものであると判断することができる。ステップS480において、表情評価値Eが良好である場合(例えば所定の閾値以上である場合)、当該画像データ14eをプリンタドライバP3に出力する。すると、プリンタドライバP3は、当該画像データ14eに対して解像度変換処理と色変換処理とハーフトーン処理とラスタライズ処理を順次実行させ、プリンタ20に当該画像データ14eに対応する画像の印刷を実行させる。
前記の(7)式の表情評価関数において、添え字iは、輪郭特徴量p1〜p4(pi)を識別するための数値であり、本実施形態ではi=1〜4となる。aiとbiは、各輪郭特徴量p1〜p4(pi)について用意された係数であり、cは定数を表している。aiとbiとcの設定方法については後述する。また、表情評価値Eが大きければ大きいほど、表情として良好なものであると判断することができる。ステップS480において、表情評価値Eが良好である場合(例えば所定の閾値以上である場合)、当該画像データ14eをプリンタドライバP3に出力する。すると、プリンタドライバP3は、当該画像データ14eに対して解像度変換処理と色変換処理とハーフトーン処理とラスタライズ処理を順次実行させ、プリンタ20に当該画像データ14eに対応する画像の印刷を実行させる。
なお、表情評価値Eを利用して以下のようなことを行うようにしてもよい。例えば、表情評価値Eを画像データ14eに対応付けて記憶したり、表情評価値Eをディスプレイ40に表示させたりしてもよい。表情評価値Eを画像データ14eに対応付けて記憶しておけば、例えば良好な表情の顔を含む画像データ14eを表情評価値Eに基づいて検索やランク付けしたり、表情評価値Eが大きい画像データ14eを印刷の推奨とすることができる。また、表情評価値Eをディスプレイ40に表示させれば、ユーザーが画像データ14eを実際に表示させることなく、含まれる顔の表情のよしあしを認識することができる。
2−5.表情評価関数の設定
図25は、表情評価関数の設定する作業の流れを示している。まず、ステップS600において、多数のサンプル画像を準備する。ここでは、顔が撮影された複数の画像データを印刷用紙に印刷するなどして、多数のサンプル画像を準備する。ステップS610においては、サンプル画像を複数の被験者が官能評価し、その結果を官能評価値として登録する。例えば、多数のサンプル画像に含まれる多数の顔にそれぞれ識別番号を付与し、それぞれに対して1〜5までの官能評価値を被験者の官能評価に基づいて登録する。被験者がサンプル画像に含まれる顔が良好だと感じた場合には大きい値の官能評価値が登録され、被験者がサンプル画像に含まれる顔が良好でない感じた場合には小さい値の官能評価値が登録される。官能評価は、あくまでも各被験者の主観によるものであり、例えば微笑んだ状態を最良と感じたり、大きく笑った状態を最良と感じる等、各被験者の主観に応じて種々の結果が得られることとなる。
図25は、表情評価関数の設定する作業の流れを示している。まず、ステップS600において、多数のサンプル画像を準備する。ここでは、顔が撮影された複数の画像データを印刷用紙に印刷するなどして、多数のサンプル画像を準備する。ステップS610においては、サンプル画像を複数の被験者が官能評価し、その結果を官能評価値として登録する。例えば、多数のサンプル画像に含まれる多数の顔にそれぞれ識別番号を付与し、それぞれに対して1〜5までの官能評価値を被験者の官能評価に基づいて登録する。被験者がサンプル画像に含まれる顔が良好だと感じた場合には大きい値の官能評価値が登録され、被験者がサンプル画像に含まれる顔が良好でない感じた場合には小さい値の官能評価値が登録される。官能評価は、あくまでも各被験者の主観によるものであり、例えば微笑んだ状態を最良と感じたり、大きく笑った状態を最良と感じる等、各被験者の主観に応じて種々の結果が得られることとなる。
ステップS620においては、各サンプル画像について、上述した顔器官検出処理と輪郭検出処理を順次実行し、表情評価処理の特徴量p1〜p4を算出(ステップS460)まで実行する。これにより、サンプル画像に含まれる各顔の官能評価値と、特徴量p1〜p4との対応関係を得ることができる。ステップS630においては、特徴量p1〜p4を各軸に有する特徴量空間において官能評価値をプロットするとともに、当該官能評価値に前記の(7)式による表情評価値Eをフィッティングさせるような各係数ai,bi,cを算出する。
図26は、サンプル画像から得られた第1特徴量p1に対応する官能評価値をプロットしている。同図に示すように、多数のサンプル画像に含まれる多数の顔についての官能評価値が●によってプロットされている。ステップS630においては、特徴量空間において、前記の(7)式による表情評価値Eの曲線を生成し、プロットされた官能評価値に対して最も表情評価値Eの曲線が近似する各係数ai,bi,cを例えば最小二乗法によって算出する。以上によって、各係数ai,bi,cが算出できると、前記の(7)式が設定できたこととなる。前記の(7)式は、連続的な曲線を示すため、任意の特徴量p1〜p4に対して連続的な表情評価値Eを出力することができる。そのため、各画像データ14eについてそれぞれ異なる表情評価値Eを算出することができ、表情評価値Eの大きい順に複数の画像データ14eを並べ替えたり、表情評価値Eの上位から印刷の対象とすることができる。
3.まとめおよび変形例
上述した実施形態においては、ステップS220にて検出窓SW1,SW2のどちらが大きいかを判定し、大きい方の検出窓SW1,SW2を選択する。このようにすることにより、精度よい輪郭検出が可能な方の目に対する輪郭検出処理を実行させることができる。また、双方の目に対する輪郭検出処理を実行させなくても済むため、処理を効率的とすることができる。さらに、精度よく検出された輪郭に基づいて表情評価処理を行うため、精度よく表情を評価することができる。左右の目は同様の状態となっている場合がほとんどなので、一方の目に基づいて表情評価処理を行っても良好な評価精度を実現することができる。また、表情評価処理においては、輪郭検出によって検出された輪郭(曲線O1〜O4)によって区画される面積に基づく特徴量p1,p3を使用して表情評価値Eを算出している。輪郭(曲線O1〜O4)によって区画される面積に基づく特徴量p1,p3によれば、輪郭の一部の点の位置のみによって評価を行う場合よりも精度よく表情を評価することができる。
上述した実施形態においては、ステップS220にて検出窓SW1,SW2のどちらが大きいかを判定し、大きい方の検出窓SW1,SW2を選択する。このようにすることにより、精度よい輪郭検出が可能な方の目に対する輪郭検出処理を実行させることができる。また、双方の目に対する輪郭検出処理を実行させなくても済むため、処理を効率的とすることができる。さらに、精度よく検出された輪郭に基づいて表情評価処理を行うため、精度よく表情を評価することができる。左右の目は同様の状態となっている場合がほとんどなので、一方の目に基づいて表情評価処理を行っても良好な評価精度を実現することができる。また、表情評価処理においては、輪郭検出によって検出された輪郭(曲線O1〜O4)によって区画される面積に基づく特徴量p1,p3を使用して表情評価値Eを算出している。輪郭(曲線O1〜O4)によって区画される面積に基づく特徴量p1,p3によれば、輪郭の一部の点の位置のみによって評価を行う場合よりも精度よく表情を評価することができる。
3−1.変形例1
上述した実施形態においては、ステップS220にて検出窓SW1,SW2のどちらが大きいかを判定し、大きい方の検出窓SW1,SW2を選択するようにしたが、他の判定基準によって検出窓SW1,SW2を選択するようにしてもよい。すなわち、検出窓SW1,SW2のうち大きい方が輪郭の検出に適すると推定して選択するようにしたが、他の基準によって輪郭の検出に適するか否かを推定することができる。本変形例においては、左右の目のうち画像の正面に近い方向を向いている方を選択する。例えば、大きく撮影された目でも著しく斜めから撮影された場合には、いびつな形状となり、輪郭検出や表情検出には耐えないものとなる。
上述した実施形態においては、ステップS220にて検出窓SW1,SW2のどちらが大きいかを判定し、大きい方の検出窓SW1,SW2を選択するようにしたが、他の判定基準によって検出窓SW1,SW2を選択するようにしてもよい。すなわち、検出窓SW1,SW2のうち大きい方が輪郭の検出に適すると推定して選択するようにしたが、他の基準によって輪郭の検出に適するか否かを推定することができる。本変形例においては、左右の目のうち画像の正面に近い方向を向いている方を選択する。例えば、大きく撮影された目でも著しく斜めから撮影された場合には、いびつな形状となり、輪郭検出や表情検出には耐えないものとなる。
本変形例の顔器官検出処理においてもステップS120において、顔検出部P2aが顔テンプレート14bとのテンプレートマッチングを行うことにより、画像データ14eにおける顔を検出する。ただし、本変形例のテンプレートマッチングに使用される顔テンプレート14bには、顔向きが右向きのものと、顔向きが右向きのものと、顔向きが正面のものがそれぞれ多数含まれているものとする。このようにすることにより、顔向きのばらつきに対してロバスト性のよい顔検出を実現することができる。
図27は、顔テンプレート14bの一例を示している。同図において、画像面に対して顔向きが左向きとなっている顔テンプレート14b1と、正面向きとなっている顔テンプレート14b2と、右向きとなっている顔テンプレート14b3がそれぞれ多数用意されている。ステップS120においては、いずれかの顔テンプレート14bとマッチングした検出窓SWについて、顔向きを特定するための顔向き情報を対応付けて記憶する。すなわち、ステップS1120において、最もマッチングした顔テンプレート14bが、左向きのもの(顔テンプレート14b1)であるか、正面向きのもの(顔テンプレート14b2)であるか、右向きのもの(顔テンプレート14b3)であるかを特定し、いずれかの顔テンプレート14bとマッチングした検出窓SWの位置や大きさや回転角度とともに、顔向きを特定する顔向き情報を顔検出部P2aがRAM12等に記憶させる。以降の処理は、上述した実施形態と同様である。
図28は、本変形例にかかる目の輪郭検出処理の流れを示している。ステップS220においては、上述した顔向き情報に基づいて顔画像データFDに含まれる顔の顔向きを取得する。そして、顔向きが左向きである場合には、ステップS222において右側に位置する検出窓SW2を選択する。顔向きが左向きである場合には、右目が画像の正面に近い方向を向いていると考えることができ、正面に近い方向を向いた目を選択することができる。反対に、顔向きが右向きである場合には、ステップS224において左側に位置する検出窓SW1を選択する。この場合も、正面に近い方向を向いた目を選択することができる。顔向きが正面向きである場合には、ステップS226において検出窓SW1,SW2のうち大きいものを選択する。
以上説明した本変形例によれば、正面に近い方向を向いた目を選択し、当該目についての輪郭検出を行わせることができる。正面に近い方向を向いた目は、その全体がカメラから一定の距離で撮影されており、形状がいびつとなったり、一部分が途切れているような可能性は低いと考えられる。従って、輪郭検出や表情評価を精度よく実行することができる。また、正面に対する左右の方向の向きが同等である場合でも、上述した実施形態と同様に大きく検出された目に対する輪郭検出や表情評価を行わせることができる。
3−4.変形例4
図29は、本変形例において、左右の検出窓SW1,SW2を選択する様子を示している。同図において、顔画像データFDの左右中央に中央線CLが示されており、左右の検出窓SW1,SW2の重心と中央線CLとの距離がそれぞれ算出されている。そして、左右の検出窓SW1,SW2のうち重心と中央線CLとの距離が短い方を選択する。このようにしても、左右の目のうち正面に近い方向を向いたものを選択することができ、輪郭検出や表情評価を精度よく実行することができる。
図29は、本変形例において、左右の検出窓SW1,SW2を選択する様子を示している。同図において、顔画像データFDの左右中央に中央線CLが示されており、左右の検出窓SW1,SW2の重心と中央線CLとの距離がそれぞれ算出されている。そして、左右の検出窓SW1,SW2のうち重心と中央線CLとの距離が短い方を選択する。このようにしても、左右の目のうち正面に近い方向を向いたものを選択することができ、輪郭検出や表情評価を精度よく実行することができる。
3−5.変形例5
上述した実施形態においては、目の輪郭検出を両目とも失敗したと判断(ステップS270)した場合や、口の輪郭検出を失敗したと判断(ステップS360)した場合には、いずれもエラー終了するようにしている。しかしながら、目または口のいずれかの輪郭検出の結果に基づいて表情評価を行うことも可能である。本変形例においては、目の輪郭検出を両目とも失敗したと判断(ステップS270)した場合や、口の輪郭検出を失敗したと判断(ステップS360)した場合でも、表情評価処理を実行するものとする。
上述した実施形態においては、目の輪郭検出を両目とも失敗したと判断(ステップS270)した場合や、口の輪郭検出を失敗したと判断(ステップS360)した場合には、いずれもエラー終了するようにしている。しかしながら、目または口のいずれかの輪郭検出の結果に基づいて表情評価を行うことも可能である。本変形例においては、目の輪郭検出を両目とも失敗したと判断(ステップS270)した場合や、口の輪郭検出を失敗したと判断(ステップS360)した場合でも、表情評価処理を実行するものとする。
図30は、本変形例にかかる表情評価処理の流れを示している。ステップS1405においては、目と口の輪郭検出ができたか否かを判定する。双方とも輪郭検出ができなかった場合には、そのままエラー終了する。一方、目と口の双方の輪郭検出ができた場合、もしくは、口の輪郭のみ検出された場合には、ステップS1410〜S1430において上述した実施形態と同様に口に関する輪郭特徴量p3〜p4の算出を行う。そして、ステップS1440においては、前記の(7)式に口に関する輪郭特徴量p3〜p4を代入することにより、表情評価値Eを算出する。一方、ステップS1405において、目の輪郭のみ検出されたと判断された場合には、ステップS1450〜S1470において上述した実施形態と同様に目に関する輪郭特徴量p1〜p2の算出を行う。そして、ステップS1480において、前記の(7)式に目に関する輪郭特徴量p1〜p2を代入することにより、表情評価値Eを算出する。
なお、ステップS1440,S1480において使用される前記の(7)式はそれぞれ異なる係数ai,bi,cを有しているものとする。すなわち、ステップS1440で使用される前記の(7)式は、口の輪郭特徴量p3,p4の特徴量空間において官能評価値に対して最も表情評価値Eの曲線が近似する各係数ai,bi,c(i=3,4)を有している。一方、ステップS1480で使用される前記の(7)式は、目の輪郭特徴量p1,p2の特徴量空間において官能評価値に対して最も表情評価値Eの曲線が近似する各係数ai,bi,c(i=1,2)を有している。以上のように本変形例においては、少なくとも口の輪郭が検出されていれば口の輪郭に基づく輪郭特徴量p3,p4を使用して表情評価値Eを算出し、口の輪郭が検出されていない場合には目の輪郭に基づく輪郭特徴量p1,p2を使用して表情評価値Eを算出することとしている。口または目の一方のみの輪郭特徴量p1,p2,p3,p4を求めればよいため、効率のよい表情評価を行うことができる。また、口の輪郭は目の輪郭よりも表情が反映されやすいため、口の輪郭特徴量p3,p4を優先的に評価の対象として使用することにより、評価精度を維持することができる。
3−6.変形例6
上述した実施形態においては、左右の目のうち選択した方について輪郭検出するものを例示したが、左右のいずれについても精度よく輪郭検出ができる場合には、双方とも輪郭検出を行うようにしてもよい。この場合、表情評価処理において左右双方の目に関して、それぞれ第2輪郭特徴量p1〜p2を算出することができる。この場合、第2輪郭特徴量p1〜p2を左右の目について平均した値を、前記の(7)に代入すればよい。
上述した実施形態においては、左右の目のうち選択した方について輪郭検出するものを例示したが、左右のいずれについても精度よく輪郭検出ができる場合には、双方とも輪郭検出を行うようにしてもよい。この場合、表情評価処理において左右双方の目に関して、それぞれ第2輪郭特徴量p1〜p2を算出することができる。この場合、第2輪郭特徴量p1〜p2を左右の目について平均した値を、前記の(7)に代入すればよい。
なお、以上においては、本発明の顔状態評価方法が、コンピュータ上で実行されるものを例示したが、例えばプリンタやデジタルスチルカメラやスキャナ等の画像機器にて実行されてもよい。プリンタにて本発明の顔状態評価方法を行えば、印刷の際に輪郭に応じた画像処理を実行することができる。また、デジタルスチルカメラにて本発明の顔状態評価方法を行えば、各種撮影制御を顔の状態に応じて行うことができる。
10…コンピュータ、11…CPU、12…RAM、13…ROM、14…HDD、14a…プログラムデータ、14b…顔テンプレート、14c…目テンプレート、14d…口テンプレート、14e…画像データ、15…GIF、16…VIF、17…IIF、18…バス、20…プリンタ、40…ディスプレイ、50a…キーボード、50b…マウス、P1…OS、P2…表情評価アプリケーション、P2a…顔検出部、P2b…顔器官検出部、P2c…選択部、P2d…輪郭検出部、P2d1…傾き補正部、P2d2…サンプリング部、P2d3…スカラー変換部、P2d4…変換関数設定部、P2d5…パラメータ探索部、P2d6…評価値算出部、P2d7…異常判定部、P2e…表情評価部、P2e1…矩形特定部、P2e2…輪郭特徴量算出部、P2e3…表情評価値算出部、P3…プリンタドライバ。
Claims (10)
- 画像データが示す画像に含まれる顔の表情を評価する表情評価方法であって、
前記画像から顔器官の輪郭を検出し、
前記輪郭によって区画された所定領域の面積に基づく特徴量を少なくとも一つ含んだ複数の特徴量を使用して前記顔の表情評価を行うことを特徴とする表情評価方法。 - 前記複数の特徴量のそれぞれを変数とした非線形関数によって求められた表情評価値に基づいて前記顔の表情評価を行うことを特徴とする請求項1に記載の表情評価方法。
- 複数のサンプル顔画像についての官能評価値と、当該複数のサンプル顔画像についての前記特徴量を前記非線形関数に代入したときに得られる前記表情評価値との相関が高くなるように前記非線形関数が予め設定されることを特徴とする請求項2に記載の表情評価方法。
- 前記特徴量の少なくとも一つは上唇の上輪郭によって区画された所定領域の面積に基づくことを特徴とする請求項1から請求項3のいずれか一項に記載の表情評価方法。
- 前記特徴量の少なくとも一つは下まぶたの輪郭によって区画された所定領域の面積に基づくことを特徴とする請求項1から請求項4のいずれか一項に記載の表情評価方法。
- 前記輪郭の凸方向に応じて前記面積の正負の符号が定義されることを特徴とする請求項1から請求項5のいずれか一項に記載の表情評価方法。
- 前記画像から少なくとも口の輪郭が検出された場合、当該口の輪郭によって区画された所定領域の面積に基づく特徴量を使用して前記顔の表情評価を行い、
前記画像から口の輪郭が検出されず、かつ、前記画像から目の輪郭が検出された場合、当該目の輪郭によって区画された所定領域の面積に基づく特徴量を使用して前記顔の表情評価を行うことを特徴とする表情評価方法。 - 請求項1に記載の表情評価方法によって、複数の前記画像データについてそれぞれ前記表情評価値を算出するとともに、当該表情評価値が上位の前記画像データを印刷する印刷制御装置。
- 画像データが示す画像に含まれる顔の表情を評価する表情評価装置であって、
前記画像から顔器官の輪郭を検出する輪郭検出手段と、
前記輪郭によって区画された所定領域の面積に基づく特徴量を少なくとも一つ含んだ複数の特徴量を使用して前記顔の表情評価を行う評価手段とを具備することを特徴とする表情評価装置。 - 画像データが示す画像に含まれる顔の表情を評価する機能をコンピュータに実行させるためのコンピュータ読み取り可能な表情評価プログラムしたであって、
前記画像から顔器官の輪郭を検出する輪郭検出機能と、
前記輪郭によって区画された所定領域の面積に基づく特徴量を少なくとも一つ含んだ複数の特徴量を使用して前記顔の表情評価を行う評価機能とをコンピュータに実行させることを特徴とするコンピュータ読み取り可能な表情評価プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008079350A JP2009237624A (ja) | 2008-03-25 | 2008-03-25 | 表情評価方法、印刷制御装置、表情評価装置および表情評価プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008079350A JP2009237624A (ja) | 2008-03-25 | 2008-03-25 | 表情評価方法、印刷制御装置、表情評価装置および表情評価プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009237624A true JP2009237624A (ja) | 2009-10-15 |
Family
ID=41251539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008079350A Pending JP2009237624A (ja) | 2008-03-25 | 2008-03-25 | 表情評価方法、印刷制御装置、表情評価装置および表情評価プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009237624A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013069344A1 (ja) * | 2011-11-09 | 2013-05-16 | 楽天株式会社 | 注視位置推定システム、注視位置推定システムの制御方法、注視位置推定装置、注視位置推定装置の制御方法、プログラム、及び情報記憶媒体 |
JP2015219698A (ja) * | 2014-05-16 | 2015-12-07 | Kddi株式会社 | パーツの影響度に基づいて感情を推定する装置、プログラム及び方法 |
-
2008
- 2008-03-25 JP JP2008079350A patent/JP2009237624A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013069344A1 (ja) * | 2011-11-09 | 2013-05-16 | 楽天株式会社 | 注視位置推定システム、注視位置推定システムの制御方法、注視位置推定装置、注視位置推定装置の制御方法、プログラム、及び情報記憶媒体 |
JP2013101524A (ja) * | 2011-11-09 | 2013-05-23 | Rakuten Inc | 注視位置推定システム、注視位置推定システムの制御方法、注視位置推定装置、注視位置推定装置の制御方法、プログラム、及び情報記憶媒体 |
US9619707B2 (en) | 2011-11-09 | 2017-04-11 | Rakuten, Inc. | Gaze position estimation system, control method for gaze position estimation system, gaze position estimation device, control method for gaze position estimation device, program, and information storage medium |
JP2015219698A (ja) * | 2014-05-16 | 2015-12-07 | Kddi株式会社 | パーツの影響度に基づいて感情を推定する装置、プログラム及び方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4624889B2 (ja) | 顔検出方法および装置並びにプログラム | |
CN110619628B (zh) | 一种人脸图像质量评估方法 | |
JP4657934B2 (ja) | 顔検出方法および装置並びにプログラム | |
US8311336B2 (en) | Compositional analysis method, image apparatus having compositional analysis function, compositional analysis program, and computer-readable recording medium | |
JP4628882B2 (ja) | 判別器の学習方法、顔判別方法および装置並びにプログラム | |
JP4708909B2 (ja) | デジタル画像の対象物検出方法および装置並びにプログラム | |
JP4708948B2 (ja) | 顔向き特定方法、顔判別方法および装置並びにプログラム | |
WO2004025564A1 (ja) | 顔向き推定装置および顔向き推定方法ならびに顔向き推定プログラム | |
WO2007074844A1 (ja) | 顔パーツの位置の検出方法及び検出システム | |
US20080240615A1 (en) | Image processing for image deformation | |
US20090316168A1 (en) | Image processing apparatus, image processing method, and image processing program | |
JP4757598B2 (ja) | 顔検出方法および装置並びにプログラム | |
JP4507679B2 (ja) | 画像認識装置、画像抽出装置、画像抽出方法及びプログラム | |
JP4795864B2 (ja) | 特徴点検出装置および方法並びにプログラム | |
JP4625949B2 (ja) | 物体追跡方法および物体追跡装置ならびにプログラム | |
CN111539911B (zh) | 一种口呼吸面容识别方法、设备和存储介质 | |
JP4639754B2 (ja) | 画像処理装置 | |
JP5016540B2 (ja) | 画像処理装置および方法並びにプログラム | |
CN116648733A (zh) | 用于从面部图像提取颜色的方法和系统 | |
JP2009237624A (ja) | 表情評価方法、印刷制御装置、表情評価装置および表情評価プログラム | |
JP2019139618A (ja) | 情報処理装置、被写体の判別方法及びコンピュータプログラム | |
JP2009237623A (ja) | 顔状態評価方法、顔状態評価装置および顔状態評価プログラム | |
JP7107380B2 (ja) | 推定装置、推定方法、およびプログラム | |
Harville et al. | Consistent image-based measurement and classification of skin color | |
JP2009217799A (ja) | 輪郭検出方法、輪郭検出装置および輪郭検出プログラム |