(57)【要約】【課題】  画像に対して処理領域を適切に設定し、高品質な画像処理結果を得ることができる画像処理装置、画像処理方法、及びプログラムを提供する。【解決手段】  画像の顔領域における顔の向きを示す情報を取得する。取得した顔の向きを示す情報に基づいて、画像において画像処理を実施する処理領域を設定し、設定された領域に対して画像処理を行う。【選択図】  図４
2015011555.tif 000002
【特許請求の範囲】
【請求項１】
画像の顔領域における顔の向きを示す情報を取得する取得手段と、
前記取得手段により取得した顔の向きを示す情報に基づいて、前記画像において画像処理を実施する処理領域を設定する設定手段と、
前記設定手段により設定された領域に対して画像処理を行う画像処理手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記設定手段は、前記顔領域のサイズに基づいて、前記処理領域を設定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像の顔領域における顔の向きを判定する判定手段をさらに備え、
前記判定手段は、顔の向きを少なくとも２つ以上に分類することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記画像から顔領域を検出する検出手段をさらに備えることを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記検出手段は、顔領域の検出と共に当該顔領域における顔の向きの判定を行うことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記設定手段は、顔の向きに応じて、処理領域のサイズ及び処理領域の形状の少なくとも一つを変更することを特徴とする請求項１〜５のいずれか１項に記載の画像処理装置。
【請求項７】
前記画像処理が画像の解析処理の場合は、前記設定手段は、前記顔の向きが正面を基準としたときの横向き度が高いほど狭い領域を設定することを特徴とする請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項８】
前記画像処理が領域判定処理の場合は、前記設定手段は、前記顔の向きが正面を基準としたときの横向き度が高いほど広い領域を設定することを特徴とする請求項１〜７のいずれか１項に記載の画像処理装置。
【請求項９】
前記画像処理が補正処理の場合は、前記設定手段は、前記顔の向きが正面を基準としたときの横向き度が高いほど狭い領域を設定することを特徴とする請求項１〜８のいずれか１項に記載の画像処理装置。
【請求項１０】
画像の顔領域における顔の向きを示す情報を取得する取得工程と、
前記取得工程において取得した顔の向きを示す情報に基づいて、前記画像において画像処理を実施する処理領域を設定する設定工程と、
前記設定工程において設定された領域に対して画像処理を行う画像処理工程と、
を有することを特徴とする画像処理方法。
【請求項１１】
請求項１０に記載の画像処理方法をコンピュータにより実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の領域の画像処理を行うための画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
画像から特定の被写体パターンを自動的に検出する画像処理方法は、例えば顔の判定に利用することができる。このような画像処理方法は、通信会議、マン・マシン・インタフェース、セキュリティ、人間の顔を追跡するためのモニタ・システム、画像圧縮などの多くの分野で使用することができる。
【０００３】
画像から顔を検出する画像処理方法としては、例えば、いくつかの顕著な特徴とその特徴間の固有の幾何学的位置関係を利用する方式が知られている。また、例えば、人間の顔の対称的特徴、人間の顔色の特徴、テンプレート・マッチング、又はニューラル・ネットワークなどを利用することによって人間の顔を検出する方式が知られている。ここで、従来は顔の向きは、正面から斜めまでが検出可能であったが、近年では、顔を検出する技術の進化により、正面から横まで検出可能となった。
【０００４】
ところで、従来から、画像内のオブジェクトを自動的に検出し、検出したオブジェクトに対して、例えば、美肌補正、赤目補正、ほくろ除去、トリミング等の様々な画像処理を行う技術が知られている。特許文献１には、顔を含む画像に該顔を含むトリミング領域を設定する画像トリミング装置において、顔検出手段による検出結果に基づいて顔の中心位置が検出され、中心位置を中心としてトリミング領域を設定することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２２５７２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示されたトリミング領域の設定では、顔に対して適切な処理領域を設定できず、画像処理結果の品質が低下することがあった。
【０００７】
本発明は、上述した事情に鑑み、画像に対して処理領域を適切に設定し、高品質な画像処理結果を得ることができる画像処理装置、画像処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するための本発明の画像処理装置は、画像の顔領域における顔の向きを示す情報を取得する取得手段と、前記取得手段により取得した顔の向きを示す情報に基づいて、前記画像において画像処理を実施する処理領域を設定する設定手段と、前記設定手段により設定された領域に対して画像処理を行う画像処理手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、顔の向きに応じて画像処理を実施する処理領域を適切に設定することができ、高品質な画像処理結果を得ることができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態１に係る情報処理装置のハードウェア構成図である。
【図２】実施形態１に係るソフトウェア構成のブロック図である。
【図３】顔向きの判定の説明図及び画像解析領域設定部のブロック図である。
【図４】顔領域の設定の説明図及び画像処理実行部のブロック図である。
【図５】画像処理の処理フロー及び顔領域を設定する際の処理フローを示す図である。
【図６】自動レイアウトの処理フローを示す図である。
【図７】実施形態２に係る画像処理部の構成の一例を示すブロック図自動レイアウト装置の構成の一例を示すブロック図である。
【図８】実施形態２に係る画像処理領域設定部のブロック図及び画像処理領域設定部の説明図である。
【図９】実施形態２に係るスムージング領域の設定の説明図である。
【図１０】実施形態２に係る画像処理部が実行する処理フローを示す図である。
【図１１】実施形態２に係る顔向き判定部が実行する処理フローを示す図である。
【図１２】実施形態２に係る画像処理部が実行する処理フローである。
【図１３】実施形態３に係る画像処理部の構成の一例を示すブロック図である。
【図１４】実施形態３に係る画像処理部が実行する処理フローを示す図である。
【発明を実施するための形態】
【００１１】
（実施形態１）
以下では、検出したオブジェクトの向きを考慮した領域に画像処理を実施するために、本発明における実施形態について説明する。これはあくまで実施の１つの形態を例として示したものであり、本発明は以下の実施形態に限定されるものではない。
【００１２】
図１は、第１実施形態に係わる情報処理装置のハードウェア構成例を説明するブロック図である。
【００１３】
同１において、画像処理装置１１５は、ＣＰＵ１００と、ＲＯＭ１０１と、ＲＡＭ１０２と、２次記憶装置１０３と、表示装置１０４と、入力装置１０５と、ＩＦ１０７と、ＩＦ１０８と、無線ＬＡＮ１０９を備えている。さらに、内部撮像デバイス１０６を備えている。これらは、制御バス／データバス１１０により相互に接続されている。画像処理装置１１５は、例えば、コンピュータである。
【００１４】
ＣＰＵ（中央演算装置）１００は、本実施形態で説明する情報処理方法をプログラムに従って実行する。
【００１５】
ＲＯＭ１０１は、ＣＰＵ１００により実行される以下に示すアプリケーション等のプログラムが記憶されている。ＲＡＭ１０２は、ＣＰＵ１００によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリを提供している。２次記憶装置１０３は、ハードディスク等であり、画像ファイルや画像解析結果を保存するデータベース等を保存するための記憶媒体である。ＣＰＵ１００は、ＲＯＭ１０１や２次記憶装置１０３などに格納されているプログラムをＲＡＭ１０２にロードし、ロードされたプログラムを実行することにより、情報処理装置全体を制御する。
【００１６】
表示装置１０４は、例えば、ディスプレイであり、実施形態１の処理結果や以下に示すＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）等をユーザに提示する装置である。表示装置１０４は、タッチパネル機能を備えても良い。入力装置１０５は、ユーザが画像補正の処理の指示等を入力するためのマウスやキーボード等である。
【００１７】
また、内部撮像デバイス１０６で撮像された画像は、所定の画像処理を経た後、２次記憶装置１０３に記憶される。また、画像処理装置１１５は、インターフェース（ＩＦ１０８）を介して接続された外部撮像デバイス１１１から画像データを読み込むこともできる。さらに、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０９はインターネット１１３に接続されている。画像処理装置１１５は、インターネット１１３に接続された外部サーバー１１４より画像データを取得することもできる。
【００１８】
画像等を出力するためのプリンタ１１２は、ＩＦ１０７を介して画像処理装置１１５に接続されている。尚、プリンタ１１２はさらにインターネット上に接続されており、無線ＬＡＮ１０９経由でプリントデータのやり取りをすることもできる。
【００１９】
図２（ａ）は本実施形態における上記アプリケーション等のソフトウェア構成のブロック図である。
【００２０】
表示・ＵＩ制御部２０１と、画像処理部２０２と、レンダリング部２０３と、プリントデータ生成部２０４と、を備える。
【００２１】
上記ビットマップデータは、さらに画像処理部２０２（アプリケーション）に入力され、同部において、詳細は後述するが、画像処理を行う。
【００２２】
生成した画像処理結果は、レンダリング部２０３で表示用のビットマップデータを生成し、該ビットマップデータは表示・ＵＩ制御部２０１に送られ、結果がディスプレイに表示される。
【００２３】
また、レンダリング結果はさらにプリントデータ生成部２０４（アプリケーション）に送られ、同部でプリンタ用コマンドデータに変換され、プリンタに送出される。
【００２４】
以下では、画像処理部２０２内において行う基本的な処理を記載する。
【００２５】
図２（ｂ）は、本実施形態の画像処理部２０２の構成の一例を示すブロック図である。本実施形態では、画像処理部２０２は、画像を指定のテンプレートに設定し自動でレイアウトする際に顔を含む領域が切れないように配置する。ここでは、画像処理部２０２が、顔を含む領域が切れないように配置することを例に挙げて説明するが、これに限定されるものではない。一例（顔切れ判定と定義する。）を挙げて説明する。
【００２６】
図２（ｂ）に示すように、画像処理部２０２は、オブジェクト検出部３０２と、画像解析領域設定部３０３と、画像処理実行部３０４と、を備える。
【００２７】
画像読み込み部３０１は、画像データをハードディスクからＲＡＭに展開する。画像データは、特に限定されないが、ここでは、ＲＧＢ画像を例に挙げて説明する。まずハードウェアが取得した画像データは、通常ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｙ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）等の圧縮形式になっている。そのため、画像読み込み部３０１は、該圧縮形式を解凍していわゆるＲＧＢ点順次のビットマップデータ形式に変換する。変換されたビットマップデータは、表示・ＵＩ制御部２０１に伝達され、ディスプレイ等の表示装置１０４上に表示される。
【００２８】
オブジェクト検出部３０２は、ＲＡＭに展開された画像データに対してオブジェクト検出を行う。ここでは、オブジェクト検出として顔検出を例に挙げて説明する。
【００２９】
オブジェクト検出部３０２は、画像を複数の解析領域に分けて、各解析領域に対して上述した顔の検出を行う。このとき、各解析領域は、他の解析領域と一部が重複するものとすることにより、隣り合う解析領域の狭間に存在する顔も確実に検出することができる。
【００３０】
オブジェクト検出部３０２が行う顔検出の方法は、特に限定されるものではない。顔検出の方法としては、例えば、ＡｄａＢｏｏｓｔが挙げられる。ＡｄａＢｏｏｓｔは、多数の弱判別器を直列につなげることにより、１つの強判別器を実現する手法である。Ａｄａｂｏｏｓｔとして、全ての弱判別器を直列につなげる方法が知られているが、本実施形態では、弱判別器を単に直列につなげるのではなく、検出するオブジェクトの向きに応じて途中で分岐させ、分岐させた後にさらに弱判別器をつなげる。分岐させた後は、それぞれオブジェクトの向きに応じて弱判別器の特性を分けて連ねる。言い換えれば、分岐させる前の１以上の弱判別器は、オブジェクトの全ての向きに対応する基準に基づいて判別を行い、オブジェクトの向きに応じて分岐させた後の１以上の弱判別器は、オブジェクトの向きに応じた基準に基づいて判別を行う。これにより、本実施形態では、オブジェクト検出部３０２により、顔領域及び検出した顔の向きを判別することができる。
【００３１】
本実施形態では、各弱判別器において、判定した結果に応じて、信頼度を算出する。具体的には、弱判別器で算出した算出値が、当該弱判別器において設定される算出値に対する閾値Ｔｈ１（以下、算出閾値ともいう）以上であると判定すれば、予め設定した設定値をスコアに加算して信頼度を算出する。一方、弱判別器で算出した算出値が、当該弱判別器において設定される算出閾値Ｔｈ１未満であると判定すれば、予め設定した設定値をスコアから減算して信頼度を算出する。次の弱判別器では、同様に判定結果に応じて、スコア（前の弱判別器で算出した信頼度）に対して当該弱判別器の設定値を加算又は減算する。なお、算出閾値Ｔｈ１は、弱判別器毎に異なる値を設定してもよいし、全ての弱判別器に同じ値を設定してもよい。また、各弱判別器には、スコアに対する閾値Ｔｈ２（以下、スコア閾値ともいう）が設定されており、算出した信頼度がスコア閾値Ｔｈ２以下の場合は処理を中止する。これにより、後に続く弱判別器分の処理をスキップでき、処理を高速で実行することができる。なお、スコア閾値Ｔｈ２は、弱判別器毎に異なる値を設定してもよいし、全ての弱判別器に同じ値を設定してもよい。予め用意した複数の弱判別器の最後の弱判別器から信頼度が算出された場合、その解析領域が顔であると判定する。複数の分岐が候補となった場合には、最後の弱判別器から算出された信頼度が最大のものをその顔の向きとする。
【００３２】
図３（ａ）は、分岐構造のＡｄａＢｏｏｓｔの構成のイメージ図である。ここでは、顔の向きを５種類に分類した分岐構造を例に挙げて説明するが、分類数はこれに限定されるものではない。
【００３３】
弱判別器４０１は、図３（ａ）に示すように、複数が直列につながっており、途中で顔の向きに応じて分岐した後さらに直列につながっている。
【００３４】
ここで、４０２は、左向きの横顔を検出する弱判別器列であり、左向きの顔検出用の複数の弱判別器が直列に接続されている。弱判別器列４０２が備える左向きの弱判別器を全て通過した領域を左向きの顔領域と判断する。４０３は、左向きの斜め顔を検出する弱判別器列であり、左斜め向きの顔検出用の複数の弱判別器が直列に接続されている。弱判別器列４０３が備える左斜め向きの弱判別器を全て通過した領域を左斜め向きの顔領域と判断する。４０４は、正面顔を検出する弱判別器列であり、正面向きの顔検出用の複数の弱判別器が直列に接続されている。弱判別器列４０４が備える正面向きの弱判別器を全て通過した領域を正面向きの顔領域と判断する。４０５は、右向きの斜め顔を検出する弱判別器列であり、右斜め向きの顔検出用の複数の弱判別器が直列に接続されている。弱判別器列４０５が備える右斜め向きの弱判別器を全て通過した領域を右斜め向きの顔領域と判断する。４０６は、右向きの横顔を検出する弱判別器列であり、右向きの顔検出用の複数の弱判別器が直列に接続されている。弱判別器列４０６が備える右向きの弱判別器を全て通過した領域を右向きの顔領域と判断する。
【００３５】
ここで、図３（ａ）に示した顔の向きの分類について説明する。顔の向きの分類は、弱判別器を設計する際に設定する。顔の向きの分類は、例えば、複数のサンプル画像の顔の検出パターンを予め取得し、この取得した結果に基づいて弱判別器に設定すればよい。また、顔の向きの分類は、これに限定されるものではなく、ユーザ主観によって分類しても良いし、被写体に対するカメラの角度が分かる際にはその情報をもとに分類しても良いし、器官の位置関係から分類してもよい。
【００３６】
以下、顔の向きが正面を基準としたときの顔の向きの度合いを「横向き度」とする。ここで、例えば、顔の器官として目の位置に基づいて顔領域の顔の向きを判定する場合、片目のみ検出したときは横向きであると判定される。なお、このような方法に基づいて顔の向きを検出する場合は、目が検出できない場合は検出対象外となる。本実施形態では、顔が真横を向いたとき、すなわち、正面に対して顔の向きが９０度のときに、横向き度が最大としたが、横向き度の最大値はこれに限定されるものではない。逆に、顔の向きが正面に近づくほど、横向き度は小さくなる。
【００３７】
そして、画像解析領域設定部３０３は、検出した顔領域及び顔の向きに基づいて画像処理実行時に利用する画像解析領域を設定する。
【００３８】
図３（ｂ）は、画像解析領域設定部３０３の構成の一例を示すブロック図である。本実施形態に係る画像解析領域設定部３０３は、検出したオブジェクトの顔の向きに応じて、画像処理の内容に応じて、領域設定を行う。
【００３９】
ここでは、自動レイアウトを実行する画像処理を例に挙げて説明する。自動レイアウトを行う場合、指定されたテンプレートに画像を設定する領域があり、その領域に画像を設定することによりレイアウトを作成する方法がある。このとき、画像を設定する領域と画像でサイズが合わない場合はトリミングが必要となる。そこで、本実施形態では、顔切れ判定する際に顔向きを考慮した領域設定を行う。
【００４０】
本実施形態に係る画像解析領域設定部３０３は、図３（ｂ）に示すように、顔検出結果読み込み部５０１と、対象顔領域・向き設定部５０２と、顔切れ判定領域設定部５０３と、を備える。
顔検出結果読み込み部５０１は、顔検出部３０２で画像領域から検出した全ての顔の領域と向きを読み込む。対象顔領域・向き設定部５０２は、読み込んだ全ての顔から処理対象の顔領域と顔の向きを１つ設定する。
【００４１】
顔切れ判定領域設定部５０３は、領域を設定する対象となる顔の向きから顔切れ判定時に使用する判定領域を設定する。ここで、図４（ａ）を用いて、顔切れ判定領域設定部５０３について説明する。図４（ａ）は、顔の向きに応じて顔切れ判定領域を設定する一例である。図４（ａ）には、顔の向きが正面の場合、斜めの場合、横顔の場合を示している。図中の点線で囲った枠６０１は、顔検出により顔の領域と判定された「顔領域」である。顔検出により設定された顔領域の高さ６０２は、各顔領域においてＦｈと示す。図中の「×」は、顔検出により顔領域と判定された顔領域における重心である。正面顔の顔切れ判定領域の高さ６０４は、Ａｈ１で示している。正面顔の顔切れ判定領域の幅６０５は、Ａｗ１で示している。斜め顔の顔切れ判定領域の高さ６０６は、Ａｈ２で示している。斜め顔の顔切れ判定領域の幅６０７は、Ａｗ２で示している。６０８は、横顔の顔切れ判定領域の高さ６０８は、Ａｈ３で示している。横顔の顔切れ判定領域の幅６０９は、Ａｗ３で示している。
【００４２】
各顔の向きでの顔切れ判定領域の設定は、顔検出により設定された顔領域の高さＦｈに基づいて、顔切れ判定領域の高さ及び顔切れ判定領域の幅を設定する。このとき、判定領域の高さの関係は、Ａｈ１≦Ａｈ２≦Ａｈ３とする。ここでは、各判定領域の高さは、顔領域の高さＦｈの任意倍で設定する。また、判定領域の幅の関係は、Ａｗ１≦Ａｗ２≦Ａｗ３とする。ここでは、各幅は顔領域の幅Ｆｗの任意倍で設定する。
【００４３】
以下、本実施形態における各顔の向きでの顔切れ判定領域の設定について説明する。本実施形態では、顔の向きの横向き度が高いほど判定領域を広く設定する。具体的には、処理対象の顔が正面の場合、Ａｈ１の長さはＦｈの２倍とし、重心がＡｈ１の中心となるよう縦領域を設定する。また、Ａｗ１の長さはＦｈの２倍とし、重心がＡｗ１の中心となるよう横領域を設定する。なお、本実施形態ではＡｈ１と、Ａｗ１の長さを等しい幅としたが、異なる幅であってもよい。処理対象の顔が右斜めの場合、Ａｈ２の長さはＦｈの２倍とし、重心がＡｈ２の中心となるよう縦領域を設定する。また、Ａｗ２の長さはＦｈの３倍とし、重心がＡｗ２を１対２に分割する点となるよう横領域を設定する。処理対象の顔が右横の場合、Ａｈ３の長さはＦｈの２倍とし、重心がＡｈ３の中心となるよう縦領域を設定する。Ａｗ３の長さはＦｈの４倍とし、重心がＡｗ３を１対３に分割する点となるよう横領域を設定する。なお、顔切れ判定領域を設定する際のバランスで分割してもよい。すなわち、顔領域の高さＦｈの任意倍の数値はこれに限定されるものではない。
【００４４】
本実施形態では、上述したように、設定した顔切れ判定領域は、正面、斜め、横の順にマージンが広くなるように設定する。すなわち、横向き度が高いほど広い領域を設定している。これは、横向きの場合は目が１つしか検出されないなど、器官の数など領域の特定に利用できる特徴が少なくなるため、横顔のときの画像処理すべき領域を特定する精度が低下する可能性があるためである。すなわち、正面の顔領域を特定する際の精度と比較して、横向きの顔領域を特定する際の精度が低下することを考慮して、横顔の顔切れ発生を回避するために、横向きでは横向き以外よりもマージンを多く設定している。
【００４５】
図４（ａ）では、左向きの場合を例に挙げて説明したが、右向きの場合も同様である。また、設定する領域を矩形として説明したが、これに限定されず、設定する領域は楕円などの他の形状でも良い。また、領域を設定する際に分割比率を定数として処理領域を設定したが、これに限定されるものではなく、顔向き度により処理領域を算出してもよく、また、予め用意したテーブルにより設定してもよい。画像処理実行部３０４は、本実施形態では画像処理として自動レイアウトを実施する。
【００４６】
図４（ｂ）は、画像処理実行部（自動レイアウト部）の構成の一例を示すブロック図である。ここでは、画像処理実行部３０４は、画像解析領域設定部３０３で設定した顔切れ判定領域を利用した自動レイアウトを行う。
【００４７】
自動レイアウト部は、テンプレート設定部７０１、画像レイアウト部７０２、及び顔切れ評価部７０３を備えている。
【００４８】
テンプレート設定部７０１は、画像を設定する領域が指定されたテンプレートを設定する。
【００４９】
画像レイアウト部７０２は、設定されたテンプレートに画像を設定する。テンプレートにおける画像の設定は、特に限定されないが、本実施形態では、ランダムなトリミング量で画像をレイアウトする。１枚の画像に対してトリミング量をランダムで設定することにより、ユーザに対して意外性のあるレイアウトが可能となり、自動レイアウトの効果が一層高まる。また、複数枚の画像に対して予め顔検出を行い、レイアウトに使用する画像をランダムに設定するようにしてもよい。また、個人認識などで主人公となる人物が特定できる場合は、不要な人物の顔が完全にレイアウト領域に含まれないようにトリミングしてもよい。本実施形態では、上述したように、顔の向きに応じて顔領域を設定することにより、トリミングの際の顔切れを抑制することができる。顔の検出結果そのままを利用してトリミングを制御した場合、頭部を含む顔切れ判定領域が適切に設定できないが、本実施形態では、顔の向きに応じて顔領域を設定することにより、顔を含む領域が切れてしまうのを抑制することができる。
【００５０】
顔切れ評価部７０３は、画像レイアウト部７０２で作成されたレイアウトにおいて、顔切れ判定領域設定部５０３で設定した顔切れ判定領域がテンプレート内の画像を設定する領域に全て含まれているかを判定する。テンプレートの画像領域内に顔切れ判定領域が全て収まっている場合は、顔切れが発生していないと判定する。一方、テンプレートの画像領域内に顔切れ判定領域が全て収まっていない場合は、顔切れが発生していると判定する。画像領域内で検出された全ての顔に対して顔切れ判定処理を実施し、顔切れが発生していると判断された場合は、画像レイアウトを修正して、再度顔切れ評価を行う。これを顔切れがなくなるまで処理を行う。
【００５１】
なお、自動レイアウト部は、画像レイアウトを作成する際に画像に対して、さらに画像の縮小などの他の処理を行うようにしてもよい。
【００５２】
図５を用いて、画像処理部２０２の動作手順を説明する。図５（ａ）は、画像処理部２０２が実行する処理のフローチャートである。
【００５３】
まず、画像読み込み部３０１により、処理する画像を読み込む（Ｓ８０１）。次に、顔検出部３０２により、読み込んだ画像に対して顔の検出処理を行う（Ｓ８０２）。次に、画像解析領域設定部３０３により、検出された顔の向きに応じて画像処理領域を設定する（Ｓ８０３）。
【００５４】
次に、画像処理実行部３０４により、画像解析領域設定部３０３で設定した顔の向きに応じて設定した画像処理領域に対して画像処理を実施する（Ｓ８０４）。
【００５５】
図５（ｂ）は、顔の向きに応じた顔切れ判定領域の設定処理の一例を示すフローチャートである。
【００５６】
まず、顔検出結果読み込み部５０１により、顔検出部３０２により検出した全ての顔の検出結果を読み込む（Ｓ９０１）。ここでいう顔検出結果とは、検出した顔の顔領域と顔の向きである。
【００５７】
次に、対象顔領域・向き設定部５０２により、読み込んだ全ての顔検出結果のうち１つの顔検出結果の顔領域と向きを設定する（Ｓ９０２）。
【００５８】
次に、顔切れ判定領域設定部５０３により、対象顔領域・向き設定部５０２で設定された顔領域と向きから顔切れ判定領域を設定する（Ｓ９０３）。
【００５９】
次に、顔検出結果読み込み部５０１により、読み込んだ全検出顔に対して顔切れ判定領域設定が実施されたかを判断し、実施された場合は処理を終了する。実施されていない場合は、Ｓ９０２に戻って、次の顔検出結果に対して処理を実施する（Ｓ９０４）。
【００６０】
図６は、画像処理実行部３０４が実行するが画像処理の一例である自動レイアウトの処理フローを示す図である。
【００６１】
まず、テンプレート設定部７０１により、画像を設定する領域が指定されたテンプレートが設定される（Ｓ１００１）。
【００６２】
次に、画像レイアウト部７０２により、設定されたテンプレートに画像を設定する（Ｓ１００２）。
【００６３】
次に、顔切れ評価部７０３により、画像レイアウト部７０２で作成されたレイアウトにおいて、顔切れ判定領域設定部５０３で設定した顔切れ判定領域において顔切れが発生していないかを評価する（Ｓ１００３）。顔切れが発生していると判定された場合には、レイアウトの修正を実施し（Ｓ１００５）、Ｓ１００３へ戻り、顔切れがなくなるまで同様の処理を続ける。顔切れが発生していないと判定された場合は、全ての顔切れ判定を実施したか否かを判定する（Ｓ１００４）。全顔切れ判定領域に対して評価を実施したと判定した場合、処理を終了する（Ｓ１００４）。全顔切れ判定領域に対して評価を実施していない場合は、Ｓ１００３へ戻る。
【００６４】
本実施形態では、画像解析処理をする領域、すなわち、画像解析領域を顔の向きに応じて設定した。本実施形態では、顔の向きに応じて、顔切れ判定領域を適切に設定することにより、顔の向きによって変化する顔領域を加味した厳密な顔切れ判定が可能である。これにより、顔を含む領域が切れてしまうのを抑制することができ、好適なレイアウトを自動で作成することができる。自動レイアウトの顔切れ判定を例に挙げて説明したが、これに限定されるものではない。例えば、他の顔領域判定処理を行う場合なども本実施形態と同様の方法により、顔領域を設定してもよい。具体的には、例えば、複数画像の一部分重ね、文字重ね、背景ぼかし、背景との合成をする場合などの画像処理を実行する際の顔領域判定処理などが挙げられる。ここで、文字重ね処理とは、顔領域の判定処理で人物の顔が検出されなかった画像を背景画像として取得し、文字を背景画像の上に合成する処理である。また、背景ぼかし処理とは、顔領域の判定処理で検出された顔領域の検出結果に対し、顔の位置、大きさ又は向きに応じて顔に対する撮影者の注目度合いを判断し、背景のピントを変化させる処理である。また、背景との合成処理とは、顔領域の判定処理で人物の顔が検出されなかった画像を背景画像として取得し、例えば人物やオブジェクト等の挿入用画像を背景画像に合成する処理である。
【００６５】
（実施形態２）
実施形態１では、画像解析する領域を顔の向きに応じて設定したが、本実施形態では、画像処理を実施する領域を顔の向きに応じて設定する。なお、実施形態１と同様の構成については説明を省略する。
【００６６】
図７（ａ）は、本実施形態の画像処理部の構成の一例を示すブロック図である。本実施形態では、画像処理部は、画像処理として、美肌補正を行う。なお、美肌補正では、顔領域にスムージング処理を行う。
【００６７】
画像処理部は、画像読み込み部１１０１と、顔検出部１１０２と、顔向き判定部１１０３と、画像処理領域設定部１１０４と、画像処理実行部１１０５とを備える。
【００６８】
画像処理読み込み部１１０１は、画像ファイル名により指定された画像データをハードディスクからＲＡＭに展開する。画像データの種類は、特に限定されないが、例えば、ＲＧＢ画像である。
【００６９】
顔検出部１１０２は、ＲＡＭに展開された画像データに対してオブジェクト検出を行う。ここでは、オブジェクト検出として顔検出を行う。また、オブジェクト検出処理は、実施形態１と同様の検出処理を行ってもよいが、ここでは顔検出時に顔向きが判定できないオブジェクト検出処理を行う。本実施形態では、分岐構造なしのＡｄａＢｏｏｓｔｉｎｇで検出処理を行う。
【００７０】
顔向き判定部１１０３は、顔検出部１１０２により検出された顔領域の顔向きを判定する。ここで、図７（ｂ）を用いて、顔検出部１１０２について説明する。図７（ｂ）は、顔向き判定部の構成の一例を示すブロック図である。ここでは、検出した顔領域に対して器官検出を行い、その器官の位置関係から顔向きを判定する処理を例に挙げて説明する。
【００７１】
顔向き判定部１１０３は、顔検出結果の読み込み部１２０１と、顔正規化部１２０２と、器官検出装部１２０３と、器官位置関係算出部１２０４と、顔向き判定部１２０５と、を備える。
【００７２】
顔検出結果の読み込み部１２０１は、顔検出部１１０２により得られた顔検出結果を読み込む。ここで読み込む顔検出結果は、顔領域の矩形座標とする。ここでは、面内回転していない顔が検出された場合を例に挙げて説明するが、面内回転している顔が検出された場合も同様に処理領域を設定することができる。
【００７３】
顔正規化部１２０２は、読み込んだ検出領域と画像データから顔の回転及びサイズを正規化したトリミング画像（顔正規化画像）を生成する。まず、読み込んだ全ての顔検出結果から１つの顔検出結果を取得し、その顔検出結果から検出した顔のサイズと回転角度を算出する。そして、顔領域を画像内から抽出し、顔のサイズと回転角度から、検出した顔が所定のサイズと角度となるように適宜変更して、顔正規化画像を作成する。
【００７４】
器官検出部１２０３は、顔正規化部１２０２で作成した顔正規化画像から顔器官を検出する。顔器官の検出は、公知の方法を用いることができる。また、検出する器官は、特に限定されないが、ここでは、左目と右目を検出する。検出した左目と右目の結果は、顔検出結果の座標系に合わせて、顔検出結果と関連付けて保存する。器官位置関係の算出部１２０４は、器官検出部１２０３で検出した器官の位置関係を算出する。ここでは、左目と右目の距離を算出するが、他の器官を検出した場合は、他の器官の位置関係を利用してもよい。
【００７５】
顔向き判定部１２０５は、器官位置関係の算出部で算出された左目と右目の距離から顔の向きを算出する。
【００７６】
ここで、図７（ｃ）を用いて器官の位置関係に基づく顔の向きの算出方法について説明する。図７（ｃ）は、正規化後の顔サイズと左目と右目の距離を示した図である。図７（ｃ）において、正規化後の顔の幅はＦｗ、目と目の距離はＬｅとする。Ｌｅは、器官検出により算出された左目と右目の距離を示している。正面顔の目と目の距離は個人差なくほぼ一定である。そのため、正規化後の顔幅がＦｗになるよう処理した際の正面顔の目と目の距離Ｌは予め規定することができる。規定したＬに対する算出したＬｅの距離の割合から、顔の向き（角度）Ｄを判定する。
Ｄ＝Ｌｅ／Ｌ×９０（数式１）
ただし、０≦Ｌｅ≦Ｌとする。算出した顔の向きは、顔検出結果と対応づけて保存する。
【００７７】
ここでは、上記Ｄを顔向き度とする。上述した処理を検出した全ての顔の検出結果に対して実施する。
【００７８】
図７（ａ）に戻って、画像処理領域設定部１１０４は、顔向き判定部１１０３により判定された顔の向きに応じて画像処理領域を設定する。ここで、図８を用いて、美肌補正を実行する美肌領域の設定方法について説明する。
【００７９】
図８（ａ）は、美肌領域設定の構成の一例を示すブロック図である。画像処理領域設定部１１０４（以下、美肌領域設定部ともいう）は、顔検出結果読み込み部１４０１と、検出結果設定部１４０２と、スムージング領域設定部１４０３と、を備える。
【００８０】
顔検出結果読み込み部１４０１は、顔検出部１１０２で検出した全ての顔検出結果を読み込む。顔検出結果として、顔検出部１１０２で検出された顔領域、器官検出部１２０３で検出された器官位置、顔向き判定部１１０３で算出された顔の向きが読み込まれる。
【００８１】
検出結果設定部１４０２は、顔検出結果読み込み部１４０１で読み込まれた全ての顔検出結果から１つの顔検出結果を設定する。ここでは、検出された顔領域と器官位置と顔向きが設定される。
【００８２】
スムージング領域設定部１４０３は、検出結果設定部１４０２で設定された顔領域及び顔の向きに応じて、美肌補正を実行する領域を設定する。
【００８３】
ここで、図８（ｂ）を用いて、スムージング領域の設定について説明する。図８（ｂ）は、スムージング領域設定部１４０３のブロック図である。本実施形態では、スムージング領域の設定は、横向き度が高いほど狭い領域を設定する。また、スムージング領域の形状を顔の向きに応じて設定（変更）する。スムージング領域は、例えば、正面の場合は円とし、横顔になるほど細い楕円になるように設定する。楕円領域の設定は公知の楕円方程式を利用することができる。
ｘ＾２／ａ＾２＋ｙ＾２／ｂ＾２＝１（数式２）
ｘは横軸、ｙは縦軸とする。楕円の長軸の長さ（長径）の１／２又は短軸の長さ（短径）の１／２うち、ａはｘに対応するものであり、ｂはｙに対応するものである。ａとｂは、検出した顔のサイズから決定する。
【００８４】
図８（ｂ）は、スムージング領域の設定の説明図である。図８（ｂ）において、点線で囲った枠１５０１は、顔検出時の領域を示している。正面顔のときのスムージング領域１５０２は、数式２でａ＝ｂとし、顔検出結果の領域に内接する円を設定する。横顔のときのスムージング領域１５０３として、楕円領域を設定する。このとき、楕円の中心は、例えば、器官の位置に応じて変わる。本実施形態では、目の位置に基づいて、楕円の位置を決定する。
【００８５】
まず、楕円を設定する。顔向き判定部１２０５により判定された顔向きに応じて、楕円半径ａを計算する。
ａ＝ｒ×Ｄ／９０（数式３）
ｒは顔検出結果に内接する円の半径とする。
【００８６】
次に、算出した楕円を設定する位置を算出する。検出顔領域の中心座標を（Ｆｘ、Ｆｙ）とすると、楕円の中心座標は（Ｆｘ−ａ、Ｆｙ）に設定する。
【００８７】
また、上述した処理領域（ここではスムージング領域）は、顔領域が処理対象の画像の端部近傍であった場合、処理対象の画像からはみ出ないように設定する。
【００８８】
本実施形態では、さらに、スムージング領域内部に補正強度を設定する。その際、顔の向きに応じて補正強度を設定する。
【００８９】
図８（ｃ）は顔向きを考慮した補正強度分布を示す図である。１６０１は、正面顔のスムージング領域に対して設定する補正強度分布を示している。図に示す通り、補正強度は、グラデーションになっており、黒が濃いほど補正量を多く設定し、白に近づくほど補正量を少なく設定する。１６０２は、顔が向かって左側に向いた顔のスムージング領域に対して設定する補正強度分布を示している。頭部内側に向かうほど補正量が多くなるように設定する。
【００９０】
本実施形態では、上述したように、スムージング処理の際に、横向き度が高いほど狭い領域を処理領域として設定することにより、適切な領域にスムージング処理を行うことができる。
【００９１】
図７に戻って、画像処理実行部１１０５は、画像処理領域設定部１１０４により設定された画像処理領域に対して画像処理を実施する。本実施形態では、設定した美肌補正領域に対して美肌補正を実施する。
【００９２】
図９は、画像処理実行部１１０５（以下、美肌補正処理部ともいう）の構成の一例を示すブロック図である。画像処理実行部１１０５は、スムージング領域読み込み部１７０１と、スムージング強度設定部１７０２と、スムージング処理部１７０３と、を備える。
【００９３】
スムージング領域読み込み部１７０１は、スムージング領域設定部１４０３により設定されたスムージング領域を読み込む。
【００９４】
スムージング強度設定部１７０２は、スムージングを行う強度を設定する。スムージングを行う強度は、例えば、ユーザが設定することができる。具体的には、ディスプレイ１０４に美肌補正を行う専用のアプリケーションを表示させ、ユーザ操作により設定可能とする。美肌補正を行う専用のアプリケーションには、処理強度設定項目が設けられており、入力装置１０５のマウスやキーボードなどを用いて、補正強度を設定するようにすればよい。
【００９５】
スムージング処理部１７０３は、設定されたスムージング領域に対してスムージング処理を行う。スムージング処理は、公知の方法を用いることができるが、本実施形態では、フィルタ処理によりスムージング処理を行う。このときの強度設定は、スムージング強度設定部１７０２で設定された強度と、スムージング領域設定部１４０３で設定された領域に含まれる補正量から設定する。スムージング強度設定部１７０２により設定された強度により、スムージング時のフィルタサイズを設定し、スムージング領域設定時に含まれる強度分布はスムージング画像とオリジナル画像のブレンド率として設定する。スムージング画像とオリジナル画像を補正量に応じて合成することにより、補正領域の境界での画像劣化が軽減され、画質を向上させることができる。
【００９６】
図１０は、本実施形態の画像処理部が実行する処理フローである。
【００９７】
まず、画像読み込み部１１０１により、処理する画像を読み込む（Ｓ１８０１）。
【００９８】
次に、顔検出部１１０２により、読み込んだ画像に対して顔検出処理を行う（Ｓ１８０２）。次に、顔向き判定部１１０３により、検出された顔領域から顔の向きを判定する（Ｓ１８０３）。
【００９９】
次に、画像処理領域設定部１１０４により、顔向き判定部１１０３により判定された顔の向きに応じて画像処理の領域を設定する。本実施形態では、美肌のスムージング領域を設定する（Ｓ１８０４）。
【０１００】
次に、画像処理実行部１１０５により、画像処理領域設定部１１０４で設定された領域に対してスムージング処理を行い美肌補正を実行する（Ｓ１８０５）。
【０１０１】
ここで、図１１を用いて顔向き判定部１１０３が実行する処理について説明する。図１１は、顔向き判定部１１０３が実行する処理フローを示す図である。
【０１０２】
まず、顔検出結果読み込み部１２０１により、顔検出部１１０２により検出された全顔検出結果を読み込む（Ｓ１９０１）。
【０１０３】
次に、顔正規化部１２０２により、読み込んだ検出領域と画像データから顔の回転及びサイズを正規化したトリミング画像（顔正規化画像）を生成する（Ｓ１９０２）。
【０１０４】
次に、器官検出部１２０３により、顔正規化部１２０２で作成した顔正規化画像から顔器官を検出する。ここで器官検出により、左目と右目を検出する。（Ｓ１９０３）。
【０１０５】
次に、器官位置関係算出部１２０４により、器官検出部１２０３で検出した器官の位置関係を算出する。ここでは、左目と右目の距離を算出する（Ｓ１９０４）。
【０１０６】
次に、顔向き判定部１２０５により、器官位置関係算出部１２０４で算出された左目と右目の距離から顔の向きを算出する（Ｓ１９０５）。
【０１０７】
次に、検出した全ての顔に対して顔向き判定を実施したか否かを判定する（Ｓ１９０６）。全ての顔に対して顔向き判定が終了していない場合は、Ｓ１９０２に戻る。一方、全ての顔に対して顔向き判定が終了した場合は、処理を終了する。このようにして、検出した全ての顔に対して顔向き判定を行うまで処理を続ける。
【０１０８】
ここで、図１２（ａ）を用いて美肌領域設定部が実行する処理について説明する。図１２（ａ）は、美肌領域設定部が実行する処理フローを示す図である。
【０１０９】
まず、顔検出結果読み込み部１４０１により、顔検出部１１０２で検出した全ての顔領域を読み込む（Ｓ２００１）。
【０１１０】
次に、検出結果設定部１４０２により、顔検出結果読み込み部１４０１で設定された全ての顔検出結果から１つの顔検出結果を設定する（Ｓ２００２）。
【０１１１】
次に、スムージング領域設定部１４０３により、検出結果設定部１４０２で設定された顔領域と顔の向きに応じて美肌補正を実行する領域を設定する（Ｓ２００３）。
【０１１２】
そして、検出した全ての顔に対してスムージング領域設定を実施したか否かを判定する（Ｓ２００４）。全ての顔に対してスムージング領域設定が終了していない場合は、Ｓ２００２に戻る。一方、全ての顔に対してスムージング領域設定が終了した場合は、処理を終了する。このようにして、スムージング領域設定を検出した全顔に対して行うまで処理を続ける。
【０１１３】
図１２（ｂ）は、美肌補正処理の詳細フローチャートの一例である。
【０１１４】
まず、スムージング領域読み込み部１７０１により、スムージング領域設定部１４０３により設定されたスムージング領域を読み込む（Ｓ２１０１）。
【０１１５】
次に、スムージング強度設定部１７０２により、スムージングを行う強度を設定する（Ｓ２１０２）。
【０１１６】
次に、スムージング処理部１７０３により、設定されたスムージング領域に対してスムージング処理を行う（Ｓ２１０３）。
【０１１７】
そして、全ての顔に対してスムージング処理（美肌補正処理）を実施したか否かを判定する（Ｓ２１０４）。全ての顔に対してスムージング処理が終了していない場合は、Ｓ２１０３に戻る。一方、全ての顔に対してスムージング処理が終了した場合は、処理を終了する。このようにして、全領域に対してスムージング処理を行うまで処理を続ける。
【０１１８】
本実施形態によれば、算出した顔の向きに応じて美肌補正領域を設定することにより、顔領域外の誤補正を抑えて好適な補正をすることができる。具体的には、横向き度が高くなるほど補正領域を狭く設定する。これは、横顔の場合は器官の数など顔領域の特定に利用できる特徴が少なくなるため、横顔のときに画像処理すべき領域を特定する精度が低下する可能性があるためである。すなわち、正面の顔領域を特定する際の精度と比較して、横向きの顔領域を特定する際の精度が低下することを考慮して、より確実に顔（ここでは、肌）とされる領域に画像処理を行うためである。
【０１１９】
さらに、補正領域の設定時に顔の向きに応じて補正強度のパターンを制御することにより、より好適な補正をすることができる。
【０１２０】
本実施形態では、顔領域にスムージング処理を行う美肌補正を例に挙げて説明したが、画像処理はこれに限定されるものではない。例えば、他の補正処理を行う場合なども本実施形態と同様の方法により、顔領域を設定してもよい。例えば、顔領域を明るくする「顔明るく補正」、顔領域にエッジ強調処理を行う「顔くっきり補正」などの顔領域に対する補正処理でもよい。また、例えば、顔領域を小さくする「小顔補正」など、顔領域に対する補正処理であってもよい。また、顔の輪郭を補正する「輪郭補正」などの顔領域に対する補正処理であってもよい。なお、ここでいう補正処理とは、例えば、画素を変更する処理である。本実施形態では、ユーザが手入力で顔領域を指定した場合でも器官検出を行うことで顔向きが判定できるので、顔向きを考慮した画像処理領域を設定できる。なお、本実施形態では、器官検出を器官検出部１２０３により行ったが、ユーザが器官の位置を指定して入力するようにしてもよい。
【０１２１】
（実施形態３）
本実施形態では、顔領域及び顔の向きを含む顔情報をデータベースに格納し、画像処理実行時にデータベースから顔情報を読み出して、画像処理領域を設定し画像処理を実施する。なお、実施形態１や２と同様の構成については説明を省略する。図１３は、本実施形態に係る画像処理部の構成の一例を示すブロック図である。
【０１２２】
本実施形態における画像処理部は、画像読み込み部１１０１、顔検出部１１０２、顔向き判定部１１０３を備える。さらに、顔情報保存部２２０１、処理画像読み込み部２２０２、顔情報読み込み部２２０３、画像処理内容設定部２２０４、処理別画像処理領域設定部２２０５、処理別画像処理実行部２２０６を備える。なお、実施形態１や実施形態２と同様の番号を付しているものは、同様の機能を有しているので説明を省略する。
【０１２３】
顔情報保存部２２０１は、顔検出部１１０２で検出された顔位置と、顔向き判定部１１０３で判定された顔向きが入力され、画像読み込み部１１０１で画像を読み込む際に指定された画像ファイル名と関連付けて顔情報として保存する。これを顔情報を解析する全ての画像に対して実行する。
【０１２４】
処理画像読み込み部２２０２は、画像ファイル名で指定された画像を読み込む。
【０１２５】
顔情報読み込み部２２０３は、処理画像読み込み部２２０２で設定された画像ファイル名に基づいて、顔情報保存部２２０１で保存された顔情報を読み込む。顔情報は、顔位置情報と顔向きである。
【０１２６】
画像処理内容設定部２２０４は、処理画像読み込み部２２０２で設定された画像に対して実行する画像処理内容が設定される。本実施形態では、自動レイアウト、美肌補正など処理する画像処理内容が設定される。画像処理内容の設定は、例えば、ユーザ操作に基づいて設定すればよい。専用の画像処理アプリケーションで画像処理を実行する際に、指定した画像に対して実行する画像処理を選択する画面を設け、ユーザに画像処理を選択させるようにする。
【０１２７】
処理別画像処理領域設定部２２０５は、顔情報読み込み部２２０３から読み込んだ顔情報に基づいて、画像処理内容設定部２２０４により設定された画像処理内容に応じた画像処理領域を設定する。指定した画像を用いて自動レイアウトを行う場合は、顔情報に基づいて顔切れ判定領域を設定する。美肌補正を行う場合は、顔情報に基づいて美肌領域を設定する。画像処理領域は、画像処理内容と顔の向きに応じて設定される。
【０１２８】
処理別画像処理実行部２２０６は、画像処理領域設定部２２０５で設定された画像処理領域に対して、画像処理内容設定部２２０４で設定された画像処理を実施する。
【０１２９】
図１４は、本実施形態に係る画像処理部が実行する処理フローである。顔領域及び顔の向きを含む顔情報をデータベースに蓄え、画像処理実行時にデータベースから読みだした顔情報を利用して、画像処理領域を設定し画像処理を実施する。
【０１３０】
まず、画像読み込み部１１０１により、画像ファイル名により指定された画像を読み込む（Ｓ１８０１）。
【０１３１】
次に、顔検出部１１０２により、読み込んだ画像に対して顔検出処理を行い、顔領域を取得する（Ｓ１８０２）。
【０１３２】
次に、顔向き判定部１１０３により、検出された顔領域から顔の向きを判定する（Ｓ１８０３）。
【０１３３】
次に、顔情報保存部２２０１により、顔検出部１１０２により検出された顔領域と顔向き判定部１１０３により判定された顔向きを、画像ファイル名に関連付けて保存する（Ｓ２３０１）。
【０１３４】
Ｓ１８０３及びＳ２３０１を検出した全ての顔に対して行ったかを判定する（Ｓ２３０２）。更に、予め設定された全画像ファイルに対して顔情報をデータベースに登録する処理を行ったかを判定し、未終了の場合は残りの画像ファイルに対して同様の処理を行う（Ｓ２３０３）。
【０１３５】
次に、処理画像読み込み部２２０２により、画像ファイル名で指定された画像を読み込む（Ｓ２３０４）。
【０１３６】
次に、顔情報読み込み部２２０３により、処理画像読み込み部２２０２で設定された画像ファイル名に基づいて、顔情報保存部２２０１で保存された顔情報を読み込む（Ｓ２３０５）。
【０１３７】
次に、画像処理内容設定部２２０４により、処理画像読み込み部２２０２で設定された画像に対して、画像処理内容が設定される（Ｓ２３０６）。
【０１３８】
次に、処理別画像処理領域設定部２２０５により、画像処理内容設定部２２０４により設定された画像処理内容に応じて、顔情報読み込み部２２０３から読み込んだ顔情報に基づいて、画像処理領域を設定する（Ｓ２３０７）。
【０１３９】
最後に、処理別画像処理実行部２２０６により、画像処理領域設定部２２０５で設定された画像処理領域に対して、画像処理内容設定部２２０４で設定された画像処理を実施する（Ｓ２３０８）。
【０１４０】
本実施形態では、画像処理実行時に予め蓄積したデータベースから顔情報を利用して、画像処理領域を設定し、当該画像処理領域に対して画像処理を実施する。このように、データベースの顔領域を流用して、画像処理の内容に応じて画像処理領域を設定することができる。すなわち、データベースに蓄積された顔領域及びその向きの顔情報に基づいて画像処理の内容に応じて画像処理領域を設定することにより、画像処理毎に適した顔検出に切り替える、言い換えれば、画像処理の度に顔検出を行う必要がなくなるため処理システムを効率化することができる。また、顔情報は、画像処理の内容に寄らず一定であるため、データベースに保存するデータ量の軽減、顔検出及び顔向き判定に要する処理時間を短縮することができる。
【０１４１】
（他の実施形態）
本発明の基本的構成は上述したものに限定されるものではない。上述した実施形態は、本発明の効果を得るための一手段であり、類似の別手法を用いたり、異なるパラメータを用いたとしても、本発明と同等の効果が得られる場合は、本発明の範疇に含まれる。例えば、処理領域は、円や矩形に限定されるものではなく、三角形等の他の形状であってもよい。
【０１４２】
上述した実施形態では、画像処理装置としてコンピュータを例に挙げて説明したが、これに限定されるものではない。例えば、プリンタ、複写機、ファクシミリ装置、携帯電話、ＰＤＡ、画像ビューワー、デジタルカメラ、などの画像処理を行う装置において、本発明を適用可能である。
【０１４３】
また、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、プリンタ、複写機、ファクシミリ装置等）に適用しても良い。
【０１４４】
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、プログラムは、１つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、一部又は全部をハードウェアによって実現するようにしてもよい。
【図１】
2015011555.tif 000003
【図２】
2015011555.tif 000004
【図３】
2015011555.tif 000005
【図４】
2015011555.tif 000006
【図５】
2015011555.tif 000007
【図６】
2015011555.tif 000008
【図７】
2015011555.tif 000009
【図８】
2015011555.tif 000010
【図９】
2015011555.tif 000011
【図１０】
2015011555.tif 000012
【図１１】
2015011555.tif 000013
【図１２】
2015011555.tif 000014
【図１３】
2015011555.tif 000015
【図１４】
2015011555.tif 000016