(57)【要約】【課題】  顔の向きを容易に検出することができる顔向き検出方法、顔向き検出装置、顔向き検出プログラムおよびそのプログラムを記録した記録媒体を提供すること。【解決手段】  顔向き検出装置２は、入力画像Ｆから顔が写った領域を検出する顔領域検出部３０、顔領域の特徴量を取得する第１の特徴量取得部３１、顔領域の左右に顔向き検出領域を設定する顔向き検出領域設定部３２、顔向き検出領域の特徴量を取得する第２の特徴量取得部３３、顔向き検出領域の特徴量から写っている顔の向きを判定する顔向き判定部３４、および顔の向きに応じて画像を切り出す画像切出部３５、を備える。【選択図】      図２
2006338329.tif 000002
【特許請求の範囲】
【請求項１】
多数の画素を有する画像に写っている人の顔の向きを検出する顔向き検出方法であって、
前記画像の画像領域において、顔が写っている顔領域の周辺に複数の顔向き検出領域を設定する顔向き検出領域設定工程と、
前記顔向き検出領域ごとに第１の特徴量を取得する第１の特徴量取得工程と、
前記顔向き検出領域ごとに取得した第１の特徴量の値を比較することにより、顔の向きを検出する顔向き検出工程と、を備えることを特徴とする顔向き検出方法。
【請求項２】
請求項１に記載の顔向き検出方法において、
前記顔領域における色成分を表す値を第２の特徴量として取得する第２の特徴量取得工程を更に備え、
前記第１の特徴量取得工程は、前記第２の特徴量が示す色成分に基づいて第１の特徴量を取得することを特徴とする顔向き検出方法。
【請求項３】
請求項２に記載の顔向き検出方法において、
前記第１の特徴量取得工程は、前記顔向き検出領域において前記第２の特徴量に基づく範囲の色成分を有した画素の画素数を、第１の特徴量として取得することを特徴とする顔向き検出方法。
【請求項４】
請求項１ないし３のいずれか一項に記載の顔向き検出方法において、
前記顔向き検出工程は、前記第１の特徴量が最も大きい顔向き検出領域から顔領域への向きを、顔の向きと判断することを特徴とする顔向き検出方法。
【請求項５】
請求項１ないし４のいずれか一項に記載の顔向き検出方法において、
前記顔向き検出領域設定工程は、前記顔領域を左右に挟むように顔向き検出領域を設定することを特徴とする顔向き検出方法。
【請求項６】
請求項５に記載の顔向き検出方法において、
前記顔向き検出工程は、前記顔領域の左右の顔向き検出領域に対して求めた第１の特徴量の比が、所定の閾値より小さい場合には、顔が正面を向いていると判断することを特徴とする顔向き検出方法。
【請求項７】
請求項１ないし６のいずれか一項に記載の顔向き検出方法において、
前記顔向き検出領域設定工程は、前記顔領域の大きさに応じて顔向き検出領域を設定することを特徴とする顔向き検出方法。
【請求項８】
請求項１ないし７のいずれか一項に記載の顔向き検出方法において、
前記画像から顔が写っている領域を、顔領域として取得する顔領域取得工程を更に備えることを特徴とする顔向き検出方法。
【請求項９】
請求項１ないし８のいずれか一項に記載の顔向き検出方法において、
前記画像から、前記顔向き検出工程において検出された顔の向きに基づいて設定した領域の画像を切り出す画像切出工程、を更に備えることを特徴とする顔向き検出方法。
【請求項１０】
多数の画素を有する画像に写っている人の顔の向きを検出する顔向き検出装置であって、
前記画像の画像領域において、顔が写っている顔領域の周辺に複数の顔向き検出領域を設定する顔向き検出領域設定部と、
前記顔向き検出領域ごとに第１の特徴量を取得する第１の特徴量取得部と、
前記顔向き検出領域ごとの第１の特徴量を比較することにより、顔の向きを検出する顔向き検出部と、を備えることを特徴とする顔向き検出装置。
【請求項１１】
多数の画素を有する画像に写っている人の顔の向きを検出する顔向き検出プログラムであって、
前記画像の画像領域において、顔が写っている顔領域の周辺に複数の顔向き検出領域を設定する顔向き検出領域設定工程、
前記顔向き検出領域ごとに第１の特徴量を取得する第１の特徴量取得工程、
前記顔向き検出領域ごとの第１の特徴量を比較することにより、顔の向きを検出する顔向き検出工程、をコンピュータに実行させることを特徴とする顔向き検出プログラム。
【請求項１２】
請求項１１に記載の顔向き検出プログラムを記録した、コンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
人の顔が写っている画像から、顔の向きを検出する顔向き検出方法、顔向き検出装置、顔向き検出プログラムおよびそのプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
従来、人の顔が写っている画像から、顔の向きを検出する方法としては、正面を向いた顔のサンプル画像から顔を傾けた画像を複数個作成して、複数個の顔を傾けた画像のうち、検出対象の画像と最も類似する領域を探索するようにして行われていた。すなわち、複数個の顔を傾けた画像を用いたパターンマッチングを行って、最も大きな類似度が得られた画像における顔の傾きを、検出対象の画像における顔の向きとしていた（例えば、特許文献１，２参照）。
【０００３】
【特許文献１】特開２００１−２９１１０８号公報
【特許文献２】特開２００４−９４４９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した特許文献１，２では、傾けた顔画像を複数個作成するための処理、および複数個の傾けた顔画像について類似度を算出する処理を行う必要があるために、計算量が多くなり処理が重くなってしまうという課題があった。
【０００５】
そこで、本発明は、顔の向きを容易に検出することができる顔向き検出方法、顔向き検出装置、顔向き検出プログラムおよびそのプログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の顔向き検出方法は、多数の画素を有する画像に写っている人の顔の向きを検出する顔向き検出方法であって、画像の画像領域において、顔が写っている顔領域の周辺に複数の顔向き検出領域を設定する顔向き検出領域設定工程と、顔向き検出領域ごとに第１の特徴量を取得する第１の特徴量取得工程と、顔向き検出領域ごとに取得した第１の特徴量の値を比較することにより、顔の向きを検出する顔向き検出工程と、を備えることを特徴とする。
【０００７】
この構成によれば、顔が写っている顔領域の周辺に設定した複数の顔向き検出領域のうち、顔向き検出領域ごとに取得した第１の特徴量を比較することにより、画像に写っている人の顔の向きを検出することができる。すなわち、複数の顔向き検出領域特徴量ごとの第１の特徴量を比較して、第１の特徴量が大きくなる顔向き検出領域と顔領域との位置関係から、顔の向きを検出することができる。
【０００８】
また、第１の特徴量の比較を行う簡単な処理で顔の向きを検出するので、特許文献１，２に記載の技術に比べて、処理の計算量を少なくすることができる。
【０００９】
ここで、顔領域における色成分を表す値を第２の特徴量として取得する第２の特徴量取得工程を更に備え、第１の特徴量取得工程は、第２の特徴量が示す色成分に基づいて第１の特徴量を取得することが好ましい。
【００１０】
このようにすれば、第２の特徴量が示す顔領域における色成分に基づいて顔の向きを検出することになるので、顔領域の色に合わせて適切に顔の向きを検出することができるようになる。したがって、画像ごと、または写っている人ごとの顔領域の色の違いに対応することができる。
【００１１】
ここで、第１の特徴量取得工程は、顔向き検出領域において第２の特徴量に基づく範囲の色成分を有した画素の画素数を、第１の特徴量として取得することが好ましい。
【００１２】
このようにすれば、顔領域の色成分に基づく範囲の色成分を有する画素の画素数を第１の特徴量とするので、顔領域の色に合わせて適切に顔の向きを検出することができる。また、画素数を特徴量としているので、第１の特徴量を求めるための処理に要する計算量を少なくすることができる。
【００１３】
ここで、顔向き検出工程は、第１の特徴量が最も大きい顔向き検出領域から顔領域への向きを、顔の向きと判断することが好ましい。
【００１４】
このようにすれば、第１の特徴量が最も大きくなる顔向き検出領域から顔領域への向きを顔の向きと判断して、顔の向きを検出することができる。例えば、画像に左を向いた顔が写っているときに、顔領域の右側には顔の左側面部分が写ることになるので、右側に設定された顔向き検出領域の第１の特徴量が大きくなる。したがって、顔の向きは、第１の特徴量が大きくなった右の顔向き検出領域から顔領域へ向かう向き、すなわち左であると判断することができる。また、第１の特徴量の大きさを比較する簡単な判断で顔の向きが求まるので、処理の計算量を少なくすることができる。
【００１５】
ここで、顔向き検出領域設定工程は、顔領域を左右に挟むように顔向き検出領域を設定することが好ましい。
【００１６】
このようにすれば、顔領域に対して左右に位置する顔向き検出領域から、顔の向きを検出するので、顔が左向きか右向きかを検出することができる。
【００１７】
ここで、顔向き検出工程は、顔領域の左右の顔向き検出領域に対して求めた第１の特徴量の比が、所定の閾値より小さい場合には、顔が正面を向いていると判断することが好ましい。
【００１８】
このようにすれば、顔領域の左右の顔向き検出領域の第１の特徴量の比が所定の閾値より小さくなる場合には正面を向いていると判断するので、顔の向きを左向き、右向きおよび正面向きのうちから顔の向きを検出することができる。
【００１９】
ここで、顔向き検出領域設定工程は、顔領域の大きさに応じて顔向き検出領域を設定することが好ましい。
【００２０】
このようにすれば、顔領域の大きさに応じた顔向き検出領域を設定するので、顔領域の大きさに関わらず顔の向きを好適に検出できるようになる。
【００２１】
ここで、画像から顔が写っている領域を、顔領域として取得する顔領域取得工程を更に備えることが好ましい。
【００２２】
このようにすれば、画像から顔領域を取得することにより、顔に対する背景部分が顔に近い色をもつような画像であっても、画像に写っている顔の向きを精度よく検出することができる。
【００２３】
ここで、画像から、顔向き検出工程において検出された顔の向きに基づいて設定した領域の画像を切り出す画像切出工程、を更に備えることが好ましい。
【００２４】
このようにすれば、顔の向きに基づいて設定した領域の画像を切り出すことにより、顔の向きを考慮した構図をもつ画像を得ることができる。
【００２５】
また、本発明は顔向き検出装置とすることもできる。本発明の顔向き検出装置は、多数の画素を有する画像に写っている人の顔の向きを検出する顔向き検出装置であって、画像の画像領域において、顔が写っている顔領域の周辺に複数の顔向き検出領域を設定する顔向き検出領域設定部と、顔向き検出領域ごとに第１の特徴量を取得する第１の特徴量取得部と、顔向き検出領域ごとの第１の特徴量を比較することにより、顔の向きを検出する顔向き検出部と、を備えることを特徴とする。
【００２６】
さらに、本発明は顔向き検出プログラムおよびそのプログラムを記録した記録媒体とすることもできる。すなわち、本発明の顔向き検出プログラムは、多数の画素を有する画像に写っている人の顔の向きを検出する顔向き検出プログラムであって、画像の画像領域において、顔が写っている顔領域の周辺に複数の顔向き検出領域を設定する顔向き検出領域設定工程、顔向き検出領域ごとに第１の特徴量を取得する第１の特徴量取得工程、顔向き検出領域ごとの第１の特徴量を比較することにより、顔の向きを検出する顔向き検出工程、をコンピュータに実行させることを特徴とする。
【００２７】
本発明の顔向き検出プログラムを記録した記録媒体としては、フレキシブルディスクなどの磁気ディスク、ＣＤ−ＲやＤＶＤ−Ｒなどの光ディスク、ＭＯなどの光磁気ディスクなどのコンピュータが読み取り可能な種々の記録媒体を利用することができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明を具体化した画像形成装置について、図面を参照して説明する。
【００２９】
図１は、本実施形態における画像処理システムの構成を示している。この画像処理システムは、汎用のコンピュータ１を中心に構成されており、コンピュータ１には、コンピュータ１に情報を入力する機器としてデジタルスチルカメラ２２、情報を出力する装置として液晶ディスプレイ２１、プリンタ２３などの外部機器が接続されている。
【００３０】
コンピュータ１は、汎用のワーキングメモリとしてのＲＡＭ１１、ＲＯＭ１２、ハードディスク１３、ＣＤ−ＲＯＭドライブ１４、液晶ディスプレイ２１に画像を出力する出力インターフェイス（出力Ｉ／Ｆ）１５、デジタルスチルカメラ２２およびプリンタ２３に接続するＵＳＢインターフェイス（ＵＳＢＩ／Ｆ）１６、およびこれらの各装置の動作を制御するＣＰＵ１０を備えている。
【００３１】
所定のオペレーションシステムの管理下で、所定のアプリケーションプログラム（顔向き検出プログラム）をＲＯＭ１２またはハードディスク１３から読み出して、ＣＰＵ１０がプログラムを実行すると、顔向き検出アプリケーションが起動して、コンピュータ１が画像に写った顔の向きを検出する顔向き検出装置２として機能する。
【００３２】
なお、このプログラムは、予め、ＲＯＭ１２またはハードディスク１３に記録されていてもよいし、ＣＤ−ＲＯＭ２０に記録された状態でユーザに供給され、ＣＤ−ＲＯＭドライブ１４より読み出して、コンピュータ１内部に備わるハードディスク１３に記録するようにしてもよい。もっとも、インターネットなどのネットワーク回線を通じて、プログラムをコンピュータ１に供給するようにしてもよい。
【００３３】
次に、顔向き検出装置２について説明する。図２は顔向き検出装置の構成を示した図である。図２に示すように、顔向き検出装置２は、入力画像Ｆから顔が写った領域を検出する顔領域検出部３０と、顔領域の特徴量を取得する第１の特徴量取得部３１と、顔領域の左右に顔向き検出領域を設定する顔向き検出領域設定部３２と、顔向き検出領域の特徴量を取得する第２の特徴量取得部３３と、顔向き検出領域の特徴量から写っている顔の向きを判定する顔向き判定部３４と、および顔の向きに応じて画像を切り出す画像切出部３５とを備えている。なお、これらの構成は、コンピュータ１のＣＰＵ１０が中心となって、ＲＡＭ１１およびハードディスク１３などと連動しながら処理を行うことにより、その機能を果すものである。以下、顔向き検出装置２の各構成について説明する。
【００３４】
顔領域検出部３０は、入力された入力画像Ｆから、人の顔が写っている領域（顔領域）を検出する処理を行う。本実施形態の顔領域検出部３０は、入力画像Ｆのうち、人の顔、すなわち、目、鼻、口の部位を含む矩形領域を、パターンマッチングなど周知の方法を用いて検出することとする。例えば、人の顔が写った画像をテンプレートとして予め有していれば、テンプレートマッチングを行ってテンプレートとの類似度が最も大きくなる領域を探索することにより顔領域ＦＤを検出することができる。もっとも、顔領域ＦＤを検出する方法としては、これに限られない。パターンマッチングにより目、口などの顔の部位の位置を求めることにより顔領域ＦＤを特定するようにしてもよいし、顔領域の色または輪郭の形状などに着目して顔領域ＦＤを定めるようにしてもよい。
【００３５】
第１の特徴量取得部３１は、検出した顔領域ＦＤの画像から、顔領域の特徴量ＲFDを取得する。顔領域の特徴量ＲFDを取得するには、ＲＧＢデータまたはＹＣｂＣｒデータなどの入力画像の画像データをＨＳＶ表色系のデータに変換して、色相Ｈの値を用いて計算することとする。詳細な方法については後述する。
【００３６】
顔向き検出領域設定部３２は、入力画像Ｆの画像領域において、顔領域を挟むようにして左右に顔向き検出領域を設定する。以下、顔領域の左側の領域に設定した顔向き検出領域を右向き検出領域ＲＤ、顔領域の右側の領域に設定した顔向き検出領域を左向き検出領域ＬＤという。顔向きを検出する方法について詳しくは後述するが、右向き検出領域ＲＤおよび左向き検出領域ＬＤのうち、例えば、顔領域ＦＤの左側の領域に設定した右向き検出領域ＲＤを利用して顔が右向きであると判断することになるので、顔領域ＦＤの左側に設定した領域を右向き検出領域としている。
【００３７】
第２の特徴量取得部３３は、顔向き検出領域から特徴量（第２の特徴量）を取得する。ここでは、左右の顔向き検出領域について別々に特徴量を算出するようにして、右向き検出領域ＲＤから特徴量ＲRDを、左向き検出領域ＬＤから特徴量ＲLDを取得する。
【００３８】
顔向き判定部３４は、右向き検出領域ＲＤの特徴量ＲRDと、左向き検出領域ＬＤの特徴量ＲLDと、を比較することによって、入力画像Ｆに写っている顔の向きを右向き、左向き、または正面向きのうちから判定する。
【００３９】
画像切出部３５は、判定した顔の向きに応じて、入力画像Ｆから切り出す画像領域を決定し、顔の向きに合わせた構図の画像を切り出すことにより、顔の向きに合わせた構図のトリミング画像ＴＦを取得する。
【００４０】
以上に、説明したように、本実施形態の顔向き検出装置２は、顔領域ＦＤの左右に設定した右向き検出領域ＲＤ、左向き検出領域ＬＤから求めた特徴量ＲRD、ＲLDを比較することによって、入力画像Ｆに写った人の顔の向きが右向き、左向き、または正面向きであるかを判定するものである。さらに、入力画像Ｆから顔の向きを考慮した構図のトリミング画像ＴＦを取得するようにしている。
【００４１】
次に、本実施形態に係る顔向き検出装置２が行う処理の動作について詳細に説明する。図３は、顔向き検出装置２が行う処理のフローチャートである。以下、フローチャートに従って説明する。
【００４２】
入力画像Ｆが入力されて顔向きを検出する処理を開始すると、まず、ステップＳ１では、顔領域検出部３０が、入力画像Ｆから顔領域ＦＤを検出する処理を行う。ここでは、ＣＰＵ１０は、ハードディスク１３から、顔領域ＦＤのサンプルとなるテンプレートＴＰを読み出して、入力画像Ｆに対してテンプレートマッチングを行うことにより、目、口を含む人の顔を表す顔領域ＦＤを取得する。取得した顔領域ＦＤの画像データは、ＲＡＭ１１に格納する。
【００４３】
図４は、入力画像から顔領域を検出した一例を示した図である。図４の例では、処理対象としての入力画像Ｆには、山を背景として、顔を右向きにした人物の人物像が写っている。ここで、顔の向きが右向きとは、人物像の顔が、画像に向かって右側に向いていることをいう。同様に、顔の向きが左向きであるとは、人物像の顔が、画像に向かって左側に向いていることをいう。また、顔領域を検出する際に用いるテンプレートＴＰとしては、顔の目および口の部位を含む矩形の画像を用いている。テンプレートマッチングでは、入力画像Ｆの画像領域のうち、テンプレートＴＰとの類似度が最大となる領域を探索することにより顔領域ＦＤを特定する。テンプレートＴＰは人の顔のうち目および口の部位を含む矩形の画像としているので、テンプレートＴＰに最も類似する領域として、目および口の部位を含む矩形の領域を顔領域ＦＤとして取得する。
【００４４】
次に、ステップＳ２では、第１の特徴量取得部３１は、顔領域の特徴量ＲFDを取得する処理を行う。ここでは、ＣＰＵ１０は、ＲＡＭ１１から顔領域ＦＤの画像データを読み出して、まず、ＨＳＶ表色系の色相Ｈに変換する処理を行う。例えば、画像データがＲＧＢデータであれば、色相Ｈは次式に従って求めることができる。
ｃｍａｘ＝ｍａｘ（Ｒ，Ｇ，Ｂ）  …（１）
ｃｍｉｎ＝ｍｉｎ（Ｒ，Ｇ，Ｂ）  …（２）
Ｈ＝６０×（Ｇ−Ｂ）／（ｃｍａｘ×（ｃｍａｘ−ｃｍｉｎ））  …（３）
Ｈ＝６０×（２＋（Ｂ−Ｒ）／（ｃｍａｘ×（ｃｍａｘ−ｃｍｉｎ）））  …（４）
Ｈ＝６０×（４＋（Ｒ−Ｇ）／（ｃｍａｘ×（ｃｍａｘ−ｃｍｉｎ）））  …（５）
ここで、Ｒは赤の画素値、Ｇは緑の画素値、Ｂは青の画素値、ｍａｘは引数のうち最大の値を返す関数、ｍｉｎは引数のうち最小の値を返す関数である。ｃｍａｘの値がＲであれば式（３）、Ｇであれば式（４）、Ｂであれば式（５）により色相Ｈを求めることができる。
【００４５】
式（１）〜式（５）により算出した色相Ｈは、０°〜３６０°の色相角度により表される。例えば、色相角度０°は赤、色相角度１２０°は緑の色を表している。ここで、第１の特徴量取得部３１は、顔領域の特徴量ＲFDを顔領域ＦＤにおける色相の最頻値とする。そのため、第１の特徴量取得部３１は、顔領域ＦＤの色相Ｈの出現頻度を数えて、出現頻度が最大となる色相Ｈの値、すなわち最頻値を顔領域の特徴量ＲFDとして取得する。
【００４６】
図５は、顔領域ＦＤにおける色相Ｈの出現頻度をヒストグラムで表したときの一例を示している。図５に示すように、顔領域ＦＤのヒストグラムＮ（Ｈ）では、肌色に相当する色相角度６〜４２°付近に出現頻度Ｎのピークが現れる。そして、ヒストグラムＮ（Ｈ）において、出現頻度Ｎが最大値Ｎｍａｘとなる色相Ｈ（図５の例では「Ｈ１」）の最頻値を顔領域の特徴量ＲFDとする。ＣＰＵ１０は、式（１）〜式（５）に従って変換した色相Ｈについて、画素の出現頻度を計算して、最も出現頻度が多くなる色相Ｈの値を顔領域の特徴量ＲFDとしてＲＡＭ１１に格納する。
【００４７】
もっとも、顔領域の特徴量ＲFDとしては、最頻値に限られることなく、顔領域ＦＤに含まれる画像データの色相の平均値を顔領域の特徴量ＲFDとしてもよい。
【００４８】
次に、ステップＳ３では、顔向き検出領域設定部３２は、右向き検出領域ＲＤおよび左向き検出領域ＬＤを設定する。ここでは、顔領域ＦＤの位置および大きさに応じて、顔領域ＦＤに対して左右に顔向き検出領域を設定する。
【００４９】
図６は、顔向き検出領域の設定方法を説明する図である。図６では、顔領域を破線で表している。また、顔領域ＦＤの左右に設定される右向き検出領域ＲＤおよび左向き検出領域ＬＤは、一点鎖線で表している。顔向き検出領域を設定する際には、まず、図６に示すように、横方向の画素数をＷ、縦方向の画素数をＨとする矩形形状の顔領域ＦＤの大きさを取得する。顔向き検出領域は、縦方向には顔領域ＦＤと同じ画素数Ｈをもち、横方向には顔領域ＦＤの画素数Ｗに対して所定の比率（図６の例ではａ倍）の大きさの矩形領域とする。そして、右向き検出領域ＲＤはその右側の１辺が顔領域ＦＤの左側の一辺に接する位置に設定する。左向き検出領域ＬＤは、その左側の１辺が顔領域ＦＤの右側の一辺に接する位置に設定する。すなわち、図６に示すように、顔向き検出領域である左向き検出領域ＬＤ、右向き検出領域ＲＤは顔領域ＦＤを左右に挟むように設定される。ＣＰＵ１０は、設定した顔向き検出領域の領域情報をＲＡＭ１１に格納するようにして、顔向き検出領域を設定する。
【００５０】
次に、ステップＳ４では、顔向き検出領域において顔領域の特徴量ＲFDに近似する値をもつ画素数を算出する。ここでは、第２の特徴量取得部３３が、顔向き検出領域において、色相Ｈが顔領域の特徴量ＲFDに近い値をもつ画素数を検出して、顔向き検出領域の特徴量とする。すなわち、右向き検出領域ＲＤについて、次式に示す条件を満たす色相Ｈをもつ画素の画素数を計算することによって右向き検出領域ＲＤの特徴量ＲRDを算出する。同様に、左向き検出領域ＬＤについて左向き検出領域ＬＤの特徴量ＲLDを算出する。
ＲFD−α≦Ｈ≦ＲFD＋α  （ただし、αは所定の閾値）  …（６）
【００５１】
実際には、ＣＰＵ１０は、ＲＡＭ１１からステップＳ２で算出した顔領域の特徴量ＲFDを読み出して、右向き検出領域ＲＤおよび左向き検出領域ＬＤについて式（６）の条件を満たすか否かを画素ごとに判断して、式（６）の条件を満たして顔領域の特徴量ＲFDに近いと判断した画素の数を、特徴量ＲRD，ＲLDとしてＲＡＭ１１に格納する処理を行っている。
【００５２】
次に、ステップＳ５では、顔向き判定部３４は、特徴量ＲRDまたは特徴量ＲLDが閾値βより大きいか否かを判断する。本実施形態では、予め決められた画素数を閾値βとしている。もっとも、閾値βの値は、顔領域ＦＤに含まれる画素の画素数、または顔向き検出領域の画素数などに応じて変化させることとしてもよい。特徴量ＲRDまたは特徴量ＲLDのいずれかの値が閾値βより大きい場合（Ｙｅｓ）、顔領域の特徴量ＲFDの色相に近い顔向き検出領域があると判断して、ステップＳ６へ進む。特徴量ＲRDおよび特徴量ＲLDが共に閾値βより小さい場合（Ｎｏ）、顔領域の特徴量ＲFDの色相に近い顔向き検出領域がないと判断して、ステップＳ１０へ進む。
【００５３】
ステップＳ６では、顔向き判定部３４は、特徴量ＲRDに対する特徴量ＲLDの比率（ＲLD／ＲRD）が所定の閾値γより大きいか否かを判断する。特徴量ＲRDに対する特徴量ＲLDの比率が閾値γより大きい場合（Ｙｅｓ）、右向き検出領域ＲＤに比べて左向き検出領域ＬＤにおいて、顔領域ＦＤの色相に近いと判断して、ステップＳ７に進む。所定の閾値γ以下の場合（Ｎｏ）、ステップＳ８に進む。
【００５４】
ステップＳ７では、顔向き判定部３４は、左向きであると判断する。ＣＰＵ１０は、顔の向きが左向きである旨の情報をＲＡＭ１１に記憶して、ステップＳ１１へ進む。
【００５５】
ステップＳ６からステップＳ８へ進むと、顔向き判定部３４は、特徴量ＲLDに対する特徴量ＲRDの比率（ＲRD／ＲLD）が閾値γより大きいか否かを判断する。特徴量ＲLDに対する特徴量ＲRDの比率が閾値γより大きい場合（Ｙｅｓ）、左向き検出領域ＬＤに比べて右向き検出領域ＲＤが、顔領域ＦＤの色相に近いと判断して、ステップＳ９に進む。所定の閾値γ以下の場合（Ｎｏ）、ステップＳ１０に進む。
【００５６】
ステップＳ９では、顔向き判定部３４は、右向きであると判断する。ＣＰＵ１０は、顔の向きが右向きである旨の情報をＲＡＭ１１に記憶して、ステップＳ１１へ進む。
【００５７】
ステップＳ５またはＳ８からステップＳ１０へ進むと、顔向き判定部３４は、正面向きであると判断する。ＣＰＵ１０は、顔の向きが正面向きである旨の情報をＲＡＭ１１に記憶して、ステップＳ１１へ進む。
【００５８】
図７は、ステップＳ５〜１０にて行う顔向き判定を説明する図である。図７（ａ）は、顔が左向きのときの一例、図７（ｂ）は右向きのときの一例、図７（ｃ）は正面向きのときの一例を示している。まず、図７（ａ）について説明する。顔向きを判定する際には、図７（ａ）に示すように、顔領域設定処理および顔向き検出領域設定処理により、顔領域ＦＤの左右に右向き検出領域ＲＤ、左向き検出領域ＬＤが設定されている。このとき、顔が左向きであるので、左向き検出領域ＬＤは、顔領域ＦＤを顔の正面とすると、側頭部の領域に掛かっている。したがって、左向き検出領域ＬＤには、顔の横側からほほなどの肌色となる領域を含むことになる。一方、右向き検出領域ＲＤは、その大部分を顔の輪郭から外れるようにして設定されている。かかる場合には、右向き検出領域ＲＤの特徴量ＲRDより左向き検出領域ＬＤの特徴量ＲLDが大きくなるので、ステップＳ６において左向きと判定される。
【００５９】
図７（ｂ）では、図に示すように顔が右を向いているので、右向き検出領域ＲＤが顔の横側からほほなどの肌色となる領域に掛かっている。一方、左向き検出領域ＬＤは、その大部分を顔の輪郭から外れるようにして設定されている。かかる場合には、左向き検出領域ＬＤの特徴量ＲLDより右向き検出領域ＲＤの特徴量ＲRDが大きくなるので、ステップＳ９において右向きと判定される。
【００６０】
図７（ｃ）では、図に示すように顔が正面向きに近い向きを向いているので、右向き検出領域ＲＤ、左向き検出領域ＬＤの両方が顔の横側からほほなどの肌色となる領域に掛かっている。例えば、右向き検出領域ＲＤが顔の横側からほほなどの領域を含みながら、左向き検出領域ＬＤについても、反対側の顔の横側の領域を含んでいる。かかる場合には、右向き検出領域ＲＤの特徴量ＲRD、左向き検出領域ＬＤの特徴量ＲLDが共に大きくなるので、ＲRD／ＲLDの値およびＲLD／ＲRDの値は閾値γより小さくなり、ステップＳ１０において、正面向きと判定される。
【００６１】
顔の向きを判定すると、次に、ステップＳ１１では、画像切出部３５は、入力画像Ｆから、顔の向きを考慮した領域からトリミング画像ＴＦを切り出す処理を行う。切り出す領域は、顔の位置から顔の向きの方向に領域を大きく確保するようにして設定する。具体的には、予め用意された複数の構図のパターンのうち、ユーザが選択したパターンにおいて、顔領域の位置から顔が向いている方の領域が大きくなるようにトリミング画像ＴＦを切り出している。ＣＰＵ１０は、ＲＡＭ１１より読み出した顔の向きを示す情報に従って、入力画像Ｆの画像データにトリミング処理を行い、トリミング画像ＴＦを出力Ｉ／Ｆ１５を介して液晶ディスプレイ２１などの出力機器に出力し、トリミング画像ＴＦを含むユーザインターフェイス画面を表示する処理を行う。
【００６２】
図８は、構図のパターンに従ってトリミングしたトリミング画像の一例を示した図である。図８（ａ）には、横長の矩形形状にトリミングしたときの、トリミング画像ＴＦを示している。トリミングする際には、顔領域ＦＤに対して左右にある領域の大きさ、上下の大きさの比が所定の比率となるようにして行われる。なお、所定の比率としては、例えば黄金比などの比率とすることにより好適な構図を得ることができる。図８（ｂ）には、縦長の矩形形状にトリミングしたときの、トリミング画像ＴＦを示している。また、図８（ｃ）に示すように、縮小した画像からトリミングした構図パターンも有している。このように、画像切出部３５は、様々な構図のパターンに従ってトリミングするようにしている。もっとも、図８（ａ）〜（ｃ）に示したパターンに限られることなく、切り出す大きさ、切り出す位置、形状などの条件を変えた構図についてのパターンを有していてもよい。
【００６３】
図９は、本実施形態の顔向き検出アプリケーションが液晶ディスプレイ２１に表示するユーザインターフェイス画面を示した図であり、図４に示した入力画像Ｆについてトリミングしたときの一例を示している。図９に示すようにユーザインターフェイス画面４０には、画像表示領域４１、プリントボタン４２、次候補選択ボタン４３などが表示されている。画像表示領域４１には、画面に向かって顔を右に向けた人を写した入力画像Ｆを表示している。入力画像Ｆの画像領域のうち、トリミング画像ＴＦ以外の画像領域は斜線で示されるようにして、トリミング画像ＴＦの画像領域を強調した表示を行っている。図９の例では、人の顔が右向きであるので、人の顔の位置を基準にして右側の領域が大きくなるようにして、顔の向きを考慮した構図の画像が表示されている。
【００６４】
また、画像表示領域４１に画像が表示された状態で、プリントボタン４２を押下すると、トリミング画像ＴＦの画像データがプリンタ２３に送信され、トリミング画像ＴＦを印刷することができる。次候補選択ボタン４３を押下すると、異なる条件でトリミングされた画像が表示される。複数の構図のパターンのうち、別の構図のパターンに従ってトリミングし直したトリミング画像ＴＦが表示される。例えば、次候補選択ボタン４３を押下するごとに、図８（ａ）〜（ｃ）に示したトリミング画像ＴＦを切り替えて表示される。
【００６５】
なお、図３のフローチャートにおいて、ステップＳ２の処理が第２の特徴量取得工程、ステップＳ３の処理が顔向き検出領域設定工程、ステップＳ４の処理が第１の特徴量取得工程、ステップＳ５〜Ｓ１０の処理が顔向き検出工程、ステップＳ１１の処理が画像切出工程に相当する。
【００６６】
以上に説明したように、本実施形態の顔向き検出装置２によれば、入力画像Ｆの被写体の顔の向きを検出し、顔の向きを考慮した構図のトリミング画像ＴＦを出力することができる。
【００６７】
以下、本実施形態の効果を記載する。
【００６８】
（１）本実施形態の顔向き検出装置によれば、顔向き検出領域の特徴量ＲRD，ＲLDの大きさを比較して顔の向きを検出しているので、顔の向きを簡単に知ることができる。
【００６９】
（２）顔領域の特徴量ＲFDに近い色相の画素の数を顔向き検出領域の特徴量ＲFD，ＲLDとしているので、被写体の人の顔領域の色に合わせて、適切に顔の向きを判断することができる。
【００７０】
（３）顔の向きを検出するために、複数の顔を傾けた画像について類似度を求める必要がないので、特許文献１〜２の技術に比べて計算量を少なくすることができる。したがって、処理速度が向上する。
【００７１】
（４）画像から顔領域ＦＤを取得するので、顔に対する背景部分が顔に近い色をもつような画像であっても、顔の向きを精度良く検出することができる。
【００７２】
（５）顔の向きを考慮して入力画像Ｆからトリミング画像ＴＦを切り出すので、構図に優れた画像を得ることができる。
【００７３】
（６）顔領域ＦＤの大きさに応じて顔向き検出領域を設定しているので、顔領域ＦＤの大きさに関わらず顔の向きを検出することができる。したがって、様々な倍率で撮影されたような画像または解像度が異なるような画像にも対応できるようになる。
【００７４】
（７）ユーザインターフェイス画面においては、次候補選択ボタン４３を押下するごとに、構図のパターンを変えたトリミング画像ＴＦに切り替わるので、ユーザは所望の構図のトリミング画像を容易に得ることができる。
【００７５】
以上、本発明の一実施形態について説明したが、本発明はこれに限られることなく、様々な形態とすることもできる。以下、本発明の変形例について説明する。
【００７６】
（変形例１）前記実施形態では、顔領域ＦＤに含まれる画素の色相Ｈの最頻値を特徴量ＲFDとした。顔領域の特徴量ＲFDとしてはこれに限られることなく、例えば、色相Ｈが人の肌色に相当する色相環の角度の範囲内にある画素数を特徴量ＲFDとしてもよい。例えば、肌色に相当する色相環の角度として、色相Ｈが６°〜４２°、且つＧ＞Ｂとなるような画素の数をカウントして、顔領域の特徴量ＲFDとしてもよい。
【００７７】
（変形例２）前記実施形態では、式（６）により色相Ｈが、最頻値から一定の範囲（±α）に収まる画素数を、顔向き検出領域の特徴量ＲRD，ＲLDとした。第２の変形例では、顔領域ＦＤの色相Ｈの分布において、色相Ｈの信頼区間の範囲にある画素の数を特徴量ＲRD，ＲLDとする。例えば、８０％信頼区間を用いるとすると、出現頻度が最大となる色相Ｈ１の値を中心にして、全画素数のうち８０％の画素が、Ｈ１±αの範囲に収まるようなαの値を算出する。算出したαの値を用いて、式（６）を満たす画素数を特徴量ＲRD，ＲLDとすれば、画像に合わせてより適切に顔の向きを検出できるようになる。
【００７８】
（変形例３）前記実施形態では、顔領域ＦＤの左右に対して顔の向きを判断していた。第３の変形例では、例えば、カメラを横向きにして撮影したような場合に、写っている顔の向きに対して左右に、顔向き検出領域ＲＤ，ＬＤを設定する。図１０は、第３の変形例において、顔領域および顔向き検出領域を設定した一例を示した図である。図１０に示すように、カメラを横向きにして撮影されたような画像では、人が横向きに写っていることがある。このとき、第３の変形例では、画像データに付与された撮影方向を示すＥｘｉｆ情報などを参照して、撮影したときのカメラの向きを判断して、顔領域ＦＤの上下に顔向き検出領域ＲＤ，ＬＤを設定する。このようにすれば、カメラの向きを変えて撮影されたような画像に対しても、適切に顔の向きを判断できるようになる。
【００７９】
（変形例４）前記実施形態では、顔の向きを左右について判断する一例について説明した。判断する方向としては、これに限られることはなく、顔向き検出領域を設定する位置に応じて、斜め方向の検出などにも対応することもできる。斜め方向を検出するには、例えば、図１１に示すように顔領域ＦＤの左側に、右向き検出領域ＲＤに対して上方向にずらすように右下向き検出領域ＲＤＤ、下方向にずらすように右上向き検出領域ＲＵＤを設定する。顔領域ＦＤの右側に、左向き検出領域ＬＤに対して上方向にずらすように左下向き検出領域ＬＤＤ、下方向にずらすように左上向き検出領域ＬＵＤを設定する。このようにすれば、例えば、図１１に示すように、顔が右下を向いているときには、右上向き検出領域ＲＵＤにおける顔向き検出領域の特徴量が大きくなるので、顔の向きが右下方向であることを検出することができる。
【００８０】
（変形例５）前記実施形態における処理を更に簡略して、第５の変形例では、顔向き検出領域ＲＤ，ＬＤにおいて、人の肌色に相当する色相Ｈの角度（例えば、色相Ｈが６〜４２°、且つＧの画素値がＢの画素値より大きくなる画素）の範囲内にある画素数または色相Ｈの平均を、顔向き検出領域の特徴量ＲRD，ＲLDとして算出する。そして、特徴量ＲRD，ＲLDを比較することにより顔向きを判断するとしてもよい。このように、顔領域の特徴量ＲFDを用いることなく、顔向きを判断することにより、更に高速に処理することができるようになる。
【００８１】
（変形例６）前記実施形態では、顔の向きを、左向き、右向き、正面向きのうちから判断した。第６の変形例では、本発明の方法により顔の向きを検出して見当をつけることにより、特許文献１，２において、顔を傾けた画像を作り出す数を減らすことができる。したがって、顔の向きを正確に検出しながら、処理量を減らすことができる。
【００８２】
（変形例７）図１２は、第７の変形例を説明する図である。図１２に示すように、検出した顔領域ＦＤより上側に髪が写っている髪領域ＨＤを想定して、髪領域ＨＤに対して左右に、右向き検出領域ＲＤおよび左向き検出領域ＬＤを設定してもよい。この場合、髪領域における色相、または黒に近似される画素数を、右向き検出領域ＲＤの特徴量ＲRD、左向き検出領域ＬＤの特徴量ＲLDとすることにより、顔向きを検出することができる。また、入力画像がモノクロ画像であっても、顔の向きを適切に検出することができる。
【００８３】
（変形例８）前記実施形態では、顔向き検出領域において式（６）の条件を満たす画素数、すなわち、面積を特徴量ＲLD，ＲRDとしている。第８の変形例では、顔向き検出領域の幅方向において、式（６）の条件を満たす画素が並ぶ画素数を特徴量ＲLD，ＲRDとしてもよい。すなわち、式（６）の条件を満たす面積でなく、幅方向の長さを特徴量とする。
【００８４】
（変形例９）前記実施形態では、顔向き検出装置２として、汎用のコンピュータ１が、被写体の顔の向きを判断する構成について説明した。顔向き検出装置２の各構成を組み込むことにより、デジタルスチルカメラ、デジタルビデオカメラなどの電子機器を顔向き検出装置としてもよい。
【００８５】
（変形例１０）前記実施形態では、ＣＰＵ１０が顔向き検出プログラムとしてのアプリケーションプログラムを実行することにより、コンピュータ１を顔領域検出部３０、第１の特徴量取得部３１、顔向き検出領域設定部３２、第２の特徴量取得部３３、顔向き判定部３４および画像切出部３５として機能させたように、処理をソフトウェアにより実現する一例について説明した。第１０の変形例として、上述した顔向き検出装置２の構成を、ＡＳＩＣなどのハードウェア回路により実現するとしてもよい。もちろん、一部の機能をハードウェア回路にもたせて、ハードウェア回路がもたない機能をソフトウェアにより実現するようにしてもよい。
【図面の簡単な説明】
【００８６】
【図１】本実施形態に係る画像処理システムの構成を示した図。
【図２】顔向き検出装置の構成を示した図。
【図３】顔向き検出装置が行う処理のフローチャート。
【図４】顔領域を検出した一例を示した図。
【図５】色相の出現頻度をヒストグラムで表した一例を示した図。
【図６】顔向き検出領域の設定方法を説明する図。
【図７】顔向き判定を説明する図。（ａ）は左向き、（ｂ）は右向き、（ｃ）は正面向きのときの一例を示した図。
【図８】構図のパターンに従ってトリミングしたトリミング画像の一例を示した図。（ａ）〜（ｃ）はトリミング画像の一例を示した図。
【図９】ユーザインターフェイス画面を示した図。
【図１０】第３の変形例において、顔領域および顔向き検出領域を設定した一例を示した図。
【図１１】第４の変形例において、顔領域および顔向き検出領域を設定した一例を示した図。
【図１２】第７の変形例を説明する図。
【符号の説明】
【００８７】
１…コンピュータ、２…顔向き検出装置、１０…ＣＰＵ、１１…ＲＡＭ、１２…ＲＯＭ、１３…ハードディスク、１４…ＣＤ−ＲＯＭドライブ、１５…出力インターフェイス、１６…ＵＳＢインターフェイス、２０…ＣＤ−ＲＯＭ、２１…液晶ディスプレイ、２２…デジタルスチルカメラ、２３…プリンタ、３０…顔領域検出部、３１…第１の特徴量取得部、３２…顔向き検出領域設定部、３３…第２の特徴量取得部、３４…顔向き判定部、３５…画像切出部、４０…ユーザインターフェイス画面、４１…画像表示領域、４２…プリントボタン、４３…次候補選択ボタン、Ｆ…入力画像、ＴＦ…トリミング画像、ＴＰ…テンプレート、Ｈ…色相角度、α…閾値、β…閾値、γ…閾値。
【図１】
2006338329.tif 000003
【図２】
2006338329.tif 000004
【図３】
2006338329.tif 000005
【図４】
2006338329.tif 000006
【図５】
2006338329.tif 000007
【図６】
2006338329.tif 000008
【図７】
2006338329.tif 000009
【図８】
2006338329.tif 000010
【図９】
2006338329.tif 000011
【図１０】
2006338329.tif 000012
【図１１】
2006338329.tif 000013
【図１２】
2006338329.tif 000014