(57)【要約】【課題】被写体の種類を考慮して顔を検出することができる技術を提供することを目的とする。【解決手段】対象画像におけるサイズと実際のサイズとの間のサイズ関係を特定し、実際のサイズの所定の範囲からサイズ関係に従って、対象画像におけるサイズと相関のある制御パラメータの範囲を決定し、決定された範囲内の制御パラメータに従って前記顔領域を検出する。【選択図】図６
2009223527.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
対象画像におけるサイズと実際のサイズとの間のサイズ関係を特定するサイズ関係特定部と、
前記対象画像における人物の顔の少なくとも一部の画像を含む顔領域を検出する顔領域検出部と、
を備え、
前記顔領域検出部は、
実際のサイズの所定の範囲から前記サイズ関係に従って、前記対象画像におけるサイズと相関のある制御パラメータの範囲を決定し、
前記決定された範囲内の前記制御パラメータに従って前記顔領域を検出する、
画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記顔領域検出部は、前記顔の少なくとも一部を表すとともに前記制御パラメータに対応付けられたサイズの画像パターンと、前記対象画像から前記検出の対象領域を選択するための検出窓であって、前記制御パラメータに対応付けられたサイズの検出窓と、の少なくとも一方を利用して前記顔領域を検出する、
画像処理装置。
【請求項３】
請求項１に記載の画像処理装置であって、
前記制御パラメータは、前記対象画像を拡大縮小するためのスケール率を表し、
前記顔領域検出部は、
前記対象画像を前記スケール率に従って拡大縮小することによってスケール画像を生成し、
前記顔の少なくとも一部を表す所定サイズの画像パターンと、前記スケール画像から前記検出の対象領域を選択するための所定サイズの検出窓と、の少なくとも一方と、前記スケール画像と、を利用して前記顔領域を検出する、
画像処理装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の画像処理装置であって、さらに、
撮像によって画像データを生成する撮像部を含み、
前記撮像部は、撮像を繰り返すことによって前記画像データを逐次生成し、
前記サイズ関係特定部と前記顔領域検出部とは、前記逐次生成される画像データによって表される各画像を前記対象画像として用いることによって、逐次、前記サイズ関係の特定と前記顔領域の検出とを行い、
前記画像処理装置は、さらに、前記顔領域によって表される画像パターンが所定のパターンとマッチしたことに応じて特定の処理を実行する処理実行部を含む、
画像処理装置。
【請求項５】
請求項４に記載の画像処理装置であって、
前記特定の処理は、前記所定のパターンとマッチする顔領域を含む画像を撮像する処理を含む、
画像処理装置。
【請求項６】
請求項１ないし請求項５のいずれかに記載の画像処理装置であって、
前記対象画像は撮像装置によって生成された画像であり、
前記サイズ関係特定部は、前記対象画像に関連付けられた関連情報を利用して、前記サイズ関係を特定し、
前記関連情報は、前記対象画像の撮像時における前記撮像装置から前記人物までの距離と相関のある撮像距離情報と、前記撮像時における前記撮像装置のレンズ焦点距離と相関のある焦点距離情報と、前記撮像装置の撮像素子上の受光領域の前記対象画像を生成した部分のサイズと関連のある撮像素子情報と、を含む、
画像処理装置。
【請求項７】
プリンタであって、
対象画像におけるサイズと実際のサイズとの間のサイズ関係を特定するサイズ関係特定部と、
前記対象画像における人物の顔の少なくとも一部の画像を含む顔領域を検出する顔領域検出部と、
前記検出された顔領域に従って前記対象画像に対する特定の処理を実行する画像処理部と、
前記画像処理部による処理後の前記対象画像を印刷する印刷部と、
を備え、
前記顔領域検出部は、
実際のサイズの所定の範囲から前記サイズ関係に従って、前記対象画像におけるサイズと相関のある制御パラメータの範囲を決定し、
前記決定された範囲内の前記制御パラメータに従って前記顔領域を検出する、
プリンタ。
【請求項８】
画像処理方法であって、
対象画像におけるサイズと実際のサイズとの間のサイズ関係を特定するサイズ関係特定工程と、
前記対象画像における人物の顔の少なくとも一部の画像を含む顔領域を検出する顔領域検出工程と、
を備え、
前記顔領域検出工程は、
実際のサイズの所定の範囲から前記サイズ関係に従って、前記対象画像におけるサイズと相関のある制御パラメータの範囲を決定する工程と、
前記決定された範囲内の前記制御パラメータに従って前記顔領域を検出する工程と、
を含む、画像処理方法。
【請求項９】
画像処理のためのコンピュータプログラムであって、
対象画像におけるサイズと実際のサイズとの間のサイズ関係を特定するサイズ関係特定機能と、
前記対象画像における人物の顔の少なくとも一部の画像を含む顔領域を検出する顔領域検出機能と、
をコンピュータに実現させるコンピュータプログラムであり、
前記顔領域検出機能は、
実際のサイズの所定の範囲から前記サイズ関係に従って、前記対象画像におけるサイズと相関のある制御パラメータの範囲を決定する機能と、
前記決定された範囲内の前記制御パラメータに従って前記顔領域を検出する機能と、
を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、画像処理のためのコンピュータプログラムに関するものである。
【背景技術】
【０００２】
従来より、種々の画像処理が利用されている。例えば、色を補正する処理や、被写体を変形させる処理がある。また、画像処理には、このような画像自体を修正する処理に限らず、画像を出力する処理や（印刷と表示とを含む）、画像を分類する処理といった、画像自体の修正の無い画像処理もある。また、画像処理を行うために、画像から人物の顔を検出する技術も利用されている。
【０００３】
【特許文献１】特開２００４−３１８２０４
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、画像に写る被写体には、人物の顔を表す様々なものがある。例えば、子供や大人がある。また、被写体には、人物の顔に類似する様々なものがある。例えば、人形や、人物の顔を表すポスター等がある。ところが、このような被写体の種類を考慮して顔を検出する点に関しては十分な工夫がなされていないのが実情であった。
【０００５】
本発明は、上記の課題の少なくとも一部を解決するためになされたものであり、被写体の種類を考慮して顔を検出することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００７】
［適用例１］画像処理装置であって、対象画像におけるサイズと実際のサイズとの間のサイズ関係を特定するサイズ関係特定部と、前記対象画像における人物の顔の少なくとも一部の画像を含む顔領域を検出する顔領域検出部と、を備え、前記顔領域検出部は、実際のサイズの所定の範囲から前記サイズ関係に従って、前記対象画像におけるサイズと相関のある制御パラメータの範囲を決定し、前記決定された範囲内の前記制御パラメータに従って前記顔領域を検出する、画像処理装置。
【０００８】
この構成によれば、実際のサイズの所定の範囲から前記サイズ関係に従って決定された範囲内の制御パラメータに従って顔領域が検出されるので、被写体の種類を考慮して顔を検出することができる。
【０００９】
［適用例２］適用例１に記載の画像処理装置であって、前記顔領域検出部は、前記顔の少なくとも一部を表すとともに前記制御パラメータに対応付けられたサイズの画像パターンと、前記対象画像から前記検出の対象領域を選択するための検出窓であって、前記制御パラメータに対応付けられたサイズの検出窓と、の少なくとも一方を利用して前記顔領域を検出する、画像処理装置。
【００１０】
この構成によれば、制御パラメータに対応付けられたサイズの画像パターンと検出窓との少なくとも一方を利用して顔領域が検出されるので、被写体の種類を考慮して顔を検出することができる。
【００１１】
［適用例３］適用例１に記載の画像処理装置であって、前記制御パラメータは、前記対象画像を拡大縮小するためのスケール率を表し、前記顔領域検出部は、前記対象画像を前記スケール率に従って拡大縮小することによってスケール画像を生成し、前記顔の少なくとも一部を表す所定サイズの画像パターンと、前記スケール画像から前記検出の対象領域を選択するための所定サイズの検出窓と、の少なくとも一方と、前記スケール画像と、を利用して前記顔領域を検出する、画像処理装置。
【００１２】
この構成によれば、対象画像をスケール率に従って拡大縮小することによってスケール画像が生成され、そして、所定サイズの画像パターンと所定サイズの検出窓との少なくとも一方とスケール画像とを利用して顔領域が検出されるので、被写体の種類を考慮して顔を検出することができる。
【００１３】
［適用例４］適用例１ないし適用例３のいずれかに記載の画像処理装置であって、さらに、撮像によって画像データを生成する撮像部を含み、前記撮像部は、撮像を繰り返すことによって前記画像データを逐次生成し、前記サイズ関係特定部と前記顔領域検出部とは、前記逐次生成される画像データによって表される各画像を前記対象画像として用いることによって、逐次、前記サイズ関係の特定と前記顔領域の検出とを行い、前記画像処理装置は、さらに、前記顔領域によって表される画像パターンが所定のパターンとマッチしたことに応じて特定の処理を実行する処理実行部を含む、画像処理装置。
【００１４】
この構成によれば、顔領域の画像パターンに従って特定の処理を実行する場合において、被写体の種類を考慮して顔を検出することができる。
【００１５】
［適用例５］適用例４に記載の画像処理装置であって、前記特定の処理は、前記所定のパターンとマッチする顔領域を含む画像を撮像する処理を含む、画像処理装置。
【００１６】
この構成によれば、所定のパターンとマッチする顔領域を含む画像を撮像するために、被写体の種類を考慮して顔を検出することができる。
【００１７】
［適用例６］適用例１ないし適用例５のいずれかに記載の画像処理装置であって、前記対象画像は撮像装置によって生成された画像であり、前記サイズ関係特定部は、前記対象画像に関連付けられた関連情報を利用して、前記サイズ関係を特定し、前記関連情報は、前記対象画像の撮像時における前記撮像装置から前記人物までの距離と相関のある撮像距離情報と、前記撮像時における前記撮像装置のレンズ焦点距離と相関のある焦点距離情報と、前記撮像装置の撮像素子上の受光領域の前記対象画像を生成した部分のサイズと関連のある撮像素子情報と、を含む、画像処理装置。
【００１８】
この構成によれば、関連情報を利用して、適切にサイズ関係を特定することができる。その結果、被写体の種類を適切に考慮して顔を検出することができる。
【００１９】
［適用例７］プリンタであって、対象画像におけるサイズと実際のサイズとの間のサイズ関係を特定するサイズ関係特定部と、前記対象画像における人物の顔の少なくとも一部の画像を含む顔領域を検出する顔領域検出部と、前記検出された顔領域に従って前記対象画像に対する特定の処理を実行する画像処理部と、前記画像処理部による処理後の前記対象画像を印刷する印刷部と、を備え、前記顔領域検出部は、実際のサイズの所定の範囲から前記サイズ関係に従って、前記対象画像におけるサイズと相関のある制御パラメータの範囲を決定し、前記決定された範囲内の前記制御パラメータに従って前記顔領域を検出する、プリンタ。
【００２０】
［適用例８］画像処理方法であって、対象画像におけるサイズと実際のサイズとの間のサイズ関係を特定するサイズ関係特定工程と、前記対象画像における人物の顔の少なくとも一部の画像を含む顔領域を検出する顔領域検出工程と、を備え、前記顔領域検出工程は、実際のサイズの所定の範囲から前記サイズ関係に従って、前記対象画像におけるサイズと相関のある制御パラメータの範囲を決定する工程と、前記決定された範囲内の前記制御パラメータに従って前記顔領域を検出する工程と、を含む、画像処理方法。
【００２１】
［適用例９］画像処理のためのコンピュータプログラムであって、対象画像におけるサイズと実際のサイズとの間のサイズ関係を特定するサイズ関係特定機能と、前記対象画像における人物の顔の少なくとも一部の画像を含む顔領域を検出する顔領域検出機能と、をコンピュータに実現させるコンピュータプログラムであり、前記顔領域検出機能は、実際のサイズの所定の範囲から前記サイズ関係に従って、前記対象画像におけるサイズと相関のある制御パラメータの範囲を決定する機能と、前記決定された範囲内の前記制御パラメータに従って前記顔領域を検出する機能と、を含む、コンピュータプログラム。
【００２２】
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法および装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００２３】
次に、この発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ｂ．第２実施例：
Ｃ．第３実施例：
Ｄ．第４実施例：
Ｅ．第５実施例：
Ｆ．第６実施例：
Ｇ．変形例：
【００２４】
Ａ．第１実施例：
図１は、本発明の一実施例としてのプリンタ１００を示す説明図である。このプリンタ１００は、制御部２００と、印刷エンジン３００と、ディスプレイ３１０と、操作パネル３２０と、カードインターフェース（Ｉ／Ｆ）３３０と、を備えている。
【００２５】
制御部２００は、ＣＰＵ２１０と、ＲＡＭ２２０と、ＲＯＭ２３０とを含むコンピュータである。この制御部２００は、プリンタ１００の各構成要素を制御する。
【００２６】
印刷エンジン３００は、与えられた印刷データを利用して印刷を実行する印刷機構である。印刷機構としては、インク滴を印刷媒体に吐出して画像を形成する印刷機構や、トナーを印刷媒体上に転写・定着させて画像を形成する印刷機構等の種々の印刷機構を採用可能である。
【００２７】
ディスプレイ３１０は、制御部２００からの命令に従って、操作メニューや画像を含む種々の情報を表示する。ディスプレイ３１０としては、液晶ディスプレイや有機ＥＬディスプレイ等の種々のディスプレイを採用可能である。
【００２８】
操作パネル３２０は、ユーザの指示を受け入れる装置である。操作パネル３２０は、例えば、操作ボタンやダイヤルやタッチパネルを含む。
【００２９】
カードＩ／Ｆ３３０は、メモリカードＭＣのインターフェースである。制御部２００は、メモリカードＭＣに格納された画像ファイルをカードＩ／Ｆ３３０を介して読み出す。そして、制御部２００は、読み出した画像ファイルを利用して、印刷を実行する。
【００３０】
図２は、ＲＯＭ２３０（図１）に格納されたモジュールとデータとを示す説明図である。本実施例では、顔領域検出モジュール４００と、サイズ関係特定モジュール４１０と、画像処理モジュール４２０と、印刷データ生成モジュール４３０と、機種サイズテーブル４４０と、がＲＯＭ２３０に格納されている。これらのモジュール４００〜４３０は、ＣＰＵ２１０によって実行されるプログラムである。また、各モジュール４００〜４３０は、ＲＡＭ２２０を介して互いにデータの送受信が可能である。各モジュール４００〜４３０の機能の詳細については後述する。
【００３１】
図３は、機種サイズテーブル４４０の一例を示す概略図である。機種サイズテーブル４４０は、画像生成装置（例えば、デジタルスチルカメラ）の機種と、その機種の撮像素子（「受光デバイス」、あるいは、「イメージセンサ」とも呼ばれる）のサイズと、の対応関係を格納している。本実施例では、撮像素子の受光領域の形状が矩形であることとしている。そして、撮像素子のサイズとして、その受光領域（矩形）の高さＳＨ（短辺の長さ）と幅ＳＷ（長辺の長さ）を採用している。このように、撮像素子のサイズは、画像生成装置の機種毎に予め決まっている。従って、機種は、撮像素子上の受光領域のサイズと関連がある（本実施例では、機種は、特許請求の範囲における「撮像素子情報」に相当する）。
【００３２】
図４は、印刷処理の手順を示すフローチャートである。制御部２００（図１）は、操作パネル３２０に入力されたユーザの指示に応答して、この印刷処理を開始する。この印刷処理では、制御部２００は、ユーザの指示によって指定された画像ファイルに含まれる画像データによって表される画像を印刷する。以下、ユーザによって指定された画像ファイルを「対象画像ファイル」と呼び、対象画像ファイルに格納されている画像データを「対象画像データ」と呼び、対象画像データによって表される画像を「対象画像」とも呼ぶ。
【００３３】
最初のステップＳ１１０では、サイズ関係特定モジュール４１０は、対象画像ファイルから関連情報を取得する。本実施例では、撮像装置（例えば、デジタルスチルカメラ）は、Ｅｘｉｆ（Exchangeable Image File Format）規格に則って、画像ファイルを生成する、こととしている。このような画像ファイルは、画像データに加えて、撮像装置の機種や撮像時のレンズ焦点距離といった付加情報を含んでいる。このような付加情報は、対象画像データに関連付けられた情報ということができる。
【００３４】
本実施例では、サイズ関係特定モジュール４１０は、対象画像ファイルから以下の情報を取得する。
１）被写体距離
２）レンズ焦点距離
３）デジタルズーム倍率
４）モデル名
被写体距離は、撮像時の撮像装置と被写体との間の距離を表している。レンズ焦点距離は、撮像時のいわゆるレンズ焦点距離を表している。デジタルズーム倍率は、撮像時のいわゆるデジタルズームの倍率を表している。一般には、デジタルズームとして、画像データの周辺部分をクロップするとともに、元の画素数となるように残りの画像データに対して画素補間を行う、という処理が利用されている。これらの情報は、いずれも、撮像時の撮像装置の動作設定を表している。モデル名は、撮像装置の機種（モデル）を表している。典型的な撮像装置は、撮像によって画像データを生成し、そして、画像データと付加情報とを含む画像ファイルを生成する。
【００３５】
次のステップＳ１２０では、サイズ関係特定モジュール４１０（図２）は、サイズ関係を特定（設定）する。サイズ関係は、対象画像におけるサイズ（対象画像上のサイズとも呼ばれる。例えば、長さ）と実際のサイズとの間の対応関係を示している。
【００３６】
図５は、画像上の画素数と実サイズとの関係を示す説明図である。図中には、被写体ＳＢと、レンズシステムＬＳと、撮像素子ＩＳと、の位置関係を示す側面図が示されている。レンズシステムＬＳは、複数のレンズを含み得る。ただし、図５では、簡略化のために、１つのレンズがレンズシステムＬＳを示している。さらに、図中には、以下の要素が示されている。すなわち、被写体の実サイズＡＳ（実際の長さ）と、被写体距離ＳＤと、レンズ焦点距離ＦＬと、撮像素子ＩＳの長さ（高さＳＨ）と、撮像素子ＩＳの受光面（結像面）上に形成された被写体ＳＢを表す結像ＰＩと、結像ＰＩのサイズ（高さ方向の画素数ＳＳＨ）と、デジタルズーム倍率ＤＺＲと、画像のサイズ（高さ方向の総画素数ＩＨ）と、画像上の被写体のサイズ（高さ方向の画素数ＳＩＨ）と、である。
【００３７】
なお、被写体ＳＢの実サイズＡＳは、高さ方向（撮像素子ＩＳの高さ方向に相当する）に沿った長さを示している。ステップＳ１１０で取得された被写体距離ＳＤは、レンズシステムＬＳの光学中心（主点ＰＰ）と被写体ＳＢとの間の距離とほぼ同じである。そして、レンズ焦点距離ＦＬは、レンズシステムＬＳの光学中心（主点ＰＰ）と撮像素子ＩＳ上の結像面との間の距離を示している。
【００３８】
よく知られているように、主点ＰＰと被写体ＳＢとで決まる三角形と、主点ＰＰと結像ＰＩとで決まる三角形とは、相似である。従って、以下の関係式（１）が成立する。
ＡＳ：ＳＤ＝ＳＳＨ：ＦＬ  ．．．（式１）
ここで、各パラメータＡＳ、ＳＤ、ＳＳＨ、ＦＬが、同じ単位（例えば、「ｃｍ」）で表されていることとしている。また、実際には、被写体ＳＢ側からみたレンズシステムＬＳの主点が、結像ＰＩ側からみたレンズシステムＬＳの主点と、異なる場合もある。ただし、図５に示す関係においては、その差違は十分に小さいので、その差違を省略している。
【００３９】
ここで、被写体の画像上のサイズＳＩＨは、結像ＰＩのサイズＳＳＨにデジタルズーム倍率ＤＺＲを乗じて得られる値と同じである（ＳＩＨ＝ＳＳＨ＊ＤＺＲ）。画像上の被写体のサイズＳＩＨは、実際には、画素数で表される。そして、撮像素子ＩＳの高さＳＨは、総画素数ＩＨに相当する。これらから、結像ＰＩのサイズＳＳＨは、画素数ＳＩＨを用いて、ミリメータ単位で以下の式（２）で表される。
ＳＳＨ＝（ＳＩＨ＊ＳＨ／ＩＨ／）／ＤＺＲ  ．．．（式２）
ここで、撮像素子ＩＳの高さＳＨが、ミリメータ単位で表されていることとしている。
【００４０】
上述の式（１）と式（２）とから、被写体ＳＢの実サイズＡＳは、以下の式（３）で表される。
ＡＳ＝（ＳＤ＊１００）＊（（ＳＩＨ＊ＳＨ／ＩＨ）／ＤＺＲ）／ＦＬ  ．．．（式３）
ここで、各パラメータの単位が以下のように設定されていることとする。すなわち、被写体ＳＢの実サイズＡＳは「ｃｍ」単位で表され、被写体距離ＳＤは「ｍ」単位で表され、撮像素子ＩＳの高さＳＨは「ｍｍ」単位で表され、レンズ焦点距離ＦＬは「ｍｍ」単位で表されている。
【００４１】
以上の「式３」に従って、サイズ関係特定モジュール４１０は、サイズ関係を設定する。このように、本実施例では、サイズ関係は、長さの比率を表している。
【００４２】
次のステップＳ１３０では、顔領域検出モジュール４００（図２）は、サイズ関係に従って探索範囲を設定する。図６は、本実施例における探索範囲ＳＲを示す概略図である。図中には、複数の画像パターンＩＰＴＮが示されている。各画像パターンＩＰＴＮは、人物の両目と鼻と口との画像を含む矩形画像を表している。また、各画像パターンＩＰＴＮは相似であり、画像パターンＩＰＴＮ毎にサイズ（例えば、高さ）が異なっている。本実施例では、顔領域検出モジュール４００（図２）は、対象画像ＩＭＧ中の画像パターンＩＰＴＮとマッチする領域を、顔領域として検出する。ここで、大きい画像パターンＩＰＴＮを利用すれば、対象画像上のサイズが大きい顔の検出が可能である。小さい画像パターンＩＰＴＮを利用すれば、対象画像上のサイズが小さい顔の検出が可能である。
【００４３】
ここで、顔領域検出モジュール４００（図２）は、サイズ関係に従って、画像パターンＩＰＴＮのサイズの範囲（探索範囲ＳＲ）を決定する。本実施例では、画像パターンＩＰＴＮの縦横比が、サイズに拘わらずに一定である。従って、探索範囲ＳＲは、画像パターンＩＰＴＮの高さ、あるいは、幅の範囲を表す、ということができる。
【００４４】
探索範囲ＳＲは、探索範囲ＳＲに対応する実際のサイズの範囲が、人物の顔に適した所定の範囲であるように、決定される。実際のサイズの適切な範囲としては、例えば、５ｃｍ〜５０ｃｍを採用可能である。顔領域検出モジュール４００は、この実際のサイズの範囲を、上述の式３の実サイズＡＳ（図５）に適用することによって、対象画像上のサイズＳＩＨ（画素数）の範囲を決定する。決定された範囲が、探索範囲ＳＲである。顔領域検出モジュール４００は、この探索範囲ＳＲ内の画像パターンＩＰＴＮを利用することによって、実際のサイズ（顔領域の高さに相当するサイズ）が、５ｃｍ〜５０ｃｍの範囲内の顔を検出することができる。その結果、過剰に小さい顔（例えば、人形の顔）や、過剰に大きい顔（例えば、ポスターに写る顔）が検出されることを抑制できる。なお、人物の顔に適した所定の範囲は、５ｃｍ〜５０ｃｍと異なる範囲であってもよい。この範囲は、予め実験的に決定すればよい。
【００４５】
図４の次のステップＳ１４０では、顔領域検出モジュール４００（図２）は、探索範囲ＳＲ内の画像パターンサイズに対応付けられた画像パターンＩＰＴＮを利用して顔領域を検出する。図６の実施例では、サイズが異なる３つの画像パターンＩＰＴＮ１、ＩＰＴＮ２、ＩＰＴＮ３が利用される。なお、顔領域は、対象画像上の領域であり、顔の少なくとも一部の画像を含む領域を意味している。
【００４６】
図６には、対象画像ＩＭＧからの顔領域の検出結果が示されている。本実施例では、対象画像の形状が矩形である。また、画像高さＩＨと画像幅ＩＷとは、対象画像の高さ（短辺の長さ）と幅（長辺の長さ）とを、それぞれ示している（単位は画素数）。顔領域検出モジュール４００は、対象画像ＩＭＧ内で画像パターンＩＰＴＮを移動させることによって、対象画像ＩＭＧ内の種々の位置の顔領域を検出する。１つの対象画像が複数の顔を表す場合には、顔領域検出モジュール４００は、複数の顔領域を検出する。
【００４７】
図６に示す対象画像ＩＭＧには、人物Ｐ１と、ポスターＰＳとが写っている。ポスターＰＳは、人物Ｐ２を表している。ここで、ポスターＰＳが表す人物Ｐ２の顔の実際のサイズは、実際の人物の顔のサイズよりも十分に大きいこととしている。その結果、顔領域検出モジュール４００は、人物Ｐ１の顔を表す顔領域ＦＡを検出する。しかし、ポスターＰＳの中の人物Ｐ２の顔を表す領域は、顔領域として検出されない。
【００４８】
なお、顔領域検出モジュール４００は、このような複数の画像パターンＩＰＴＮとして、予め準備された複数の画像パターンを利用する。また、顔領域検出モジュール４００は、１つの画像パターンＩＰＴＮを適宜拡大縮小することによって、サイズの異なる複数の画像パターンを生成してもよい。いずれの場合も、画像パターンＩＰＴＮのサイズの間隔は、種々のサイズの人物の顔を適切に検出できるように、予め実験的に決定すればよい。
【００４９】
図４の次のステップＳ３００では、画像処理モジュール４２０（図２）は、顔領域が検出されたか否かを判断する。顔領域が検出された場合には、画像処理モジュール４２０は、ステップＳ３１０、Ｓ３１２、Ｓ３３０によって人物の顔に対する画像処理を実行する。人物の顔に対する処理としては任意の処理を採用可能である。例えば、顔（特に肌）の色を補正する処理を採用してもよい。色補正処理としては、例えば、肌色の明るさを高める処理や、肌色の色相を所定の色相に近づける処理を採用可能である。また、このような色補正処理の代わりに、顔の幅を小さくする変形処理を採用してもよい。いずれの場合も、ステップＳ３１０で、画像処理モジュール４２０は、検出された顔に関する情報を取得する（例えば、顔の肌を表す画素の平均色相と平均輝度と、顔の幅（画素数））。ステップＳ３１２で、画像処理モジュール４２０は、取得した情報を利用して、画像処理のパラメータを算出する（例えば、色相と明るさとの調整量と、顔の幅の変形量）。ステップＳ３３０で、画像処理モジュール４２０は、画像処理のパラメータに従って画像処理を実行する。
【００５０】
顔領域が検出されなかった場合には、画像処理モジュール４２０（図２）は、ステップＳ３２０、Ｓ３３０によって標準の画像処理を実行する。標準の画像処理としては、任意の処理を採用可能である。例えば、対象画像のホワイトバランスを調整する処理を採用してもよく、対象画像内の平均的な明るさを所定の明るさに近づける処理を採用してもよい。いずれの場合も、ステップＳ３２０で、画像処理モジュール４２０は、対象画像を利用して画像処理のパラメータを算出する（例えば、ホワイトバランスの調整量と、明るさ調整のためのトーンカーブ）。ステップＳ３３０で、画像処理モジュール４２０は、画像処理のパラメータに従って画像処理を実行する。
【００５１】
図４のステップＳ３４０では、印刷データ生成モジュール４３０（図２）は、画像処理モジュール４２０による処理後の画像データを利用して、印刷データを生成する。印刷データのフォーマットとしては、印刷エンジン３００（図１）に適した任意の形式を採用可能である。例えば、本実施例では、印刷データ生成モジュール４３０は、解像度変換処理、色変換処理、ハーフトーン処理を実行することによって、各インクのドットの記録状態を表す印刷データを生成する。そして、印刷データ生成モジュール４３０は、生成した印刷データを印刷エンジン３００に供給する。印刷エンジン３００は、受信した印刷データに従って印刷を実行する。そして、図４の処理が完了する。なお、印刷データ生成モジュール４３０と印刷エンジン３００（図１）との全体は、特許請求の範囲における「印刷部」に相当する。
【００５２】
以上のように、本実施例では、実際のサイズの所定の範囲から、サイズ関係に従って、画像パターンＩＰＴＮのサイズの探索範囲ＳＲが決定される。従って、探索範囲ＳＲ内のサイズからサイズ関係に従って得られる実際のサイズは、所定範囲内である。ここで、画像パターンＩＰＴＮのサイズ（例えば、高さ）は、両目と口とを含む矩形のサイズを表している。すなわち、画像パターンＩＰＴＮのサイズは、顔のサイズを反映する対象画像上のサイズを表している。従って、過剰に大きい顔を表す領域（例えば、ポスターに写る顔を表す領域）や、過剰に小さい顔を表す領域（例えば、人形の顔を表す領域）が、顔領域として検出されることを抑制できる。すなわち、本実施例では、実際のサイズが過剰に小さい顔を表す被写体と、実際のサイズが過剰に大きい顔を表す被写体と、実際のサイズが人物に適している顔を表す被写体と、を区別して顔領域が検出される。このように、被写体の種類を考慮して顔を検出することができる。特に、本実施例では、顔領域検出モジュール４００は、探索範囲ＳＲ外のサイズの画像パターンＩＰＴＮに従った検出を実行しない。従って、顔領域検出モジュール４００は、顔領域の検出を高速に行うことができる。なお、顔領域検出モジュール４００は、画像パターンＩＰＴＮのサイズの代わりに、画像パターンＩＰＴＮのサイズと相関のある種々の値に従って、探索範囲ＳＲを特定してよい。
【００５３】
Ｂ．第２実施例：
図７は、第２実施例における顔領域の検索の概略図である。図６に示す実施例との差違は、画像パターンＩＰＴＮの代わりに、検出窓ＤＷが利用される点である。印刷処理の手順は、図４と同じである。ただし、２つのステップＳ１３０、Ｓ１４０の内容が、第１実施例と異なっている。他のステップは、第１実施例と同じである。また、プリンタの構成は、図１、図２に示す第１実施例のプリンタ１００と同じである。
【００５４】
本実施例では、顔領域検出モジュール４００は、パターンマッチングの代わりに、学習済みのニューラルネットワークを利用して顔領域を検出する。ここで、顔領域検出モジュール４００は、検出窓ＤＷを利用して、対象画像ＩＭＧ内における検出の対象領域ＩＤＷを特定する（対象領域ＩＤＷは、検出窓ＤＷの内部の領域である）。そして、顔領域検出モジュール４００は、対象領域ＩＤＷの各画素値を利用して、対象領域ＩＤＷが顔領域であるか否かを判断する。この判断は、ニューラルネットワークに従って行われる。本実施例では、対象領域ＩＤＷが両目と鼻と口との画像を含む場合に、対象領域ＩＤＷが顔領域であると判断されるように、ニューラルネットワークが構築されている。顔領域検出モジュール４００は、対象画像ＩＭＧ内で検出窓ＤＷを移動させることによって、対象画像ＩＭＧ内の種々の位置の顔領域を検出する。なお、本実施例では、検出窓ＤＷの形状は矩形である。
【００５５】
また、図７には、サイズの異なる複数の検出窓ＤＷが示されている。各検出窓ＤＷは相似であり、検出窓ＤＷ毎にサイズ（例えば、高さ）が異なっている。本実施例では、顔領域検出モジュール４００は、検出窓ＤＷ内の相対的な位置に従って、顔領域を検出する。すなわち、小さい検出窓ＤＷを利用する場合には小さい顔が検出され、大きい検出窓ＤＷを利用する場合には大きい顔が検出される。このように、検出窓ＤＷのサイズは、検出される顔（すなわち、顔領域）の対象画像上のサイズと相関がある。そして、顔領域検出モジュール４００は、検出窓ＤＷのサイズが大きいほど、大きな顔を表す顔領域を検出する。
【００５６】
図４のステップＳ１３０では、顔領域検出モジュール４００（図２）は、サイズ関係に従って、検出窓ＤＷのサイズの範囲（探索範囲ＳＲＷ）を決定する。本実施例では、検出窓ＤＷの縦横比が、サイズに拘わらずに一定である。従って、探索範囲ＳＲＷは、検出窓ＤＷの高さ、あるいは、幅の範囲を表す、ということができる。探索範囲ＳＲＷの決定は、図６に示す実施例の探索範囲ＳＲの決定と同様に行われる。すなわち、探索範囲ＳＲＷに対応する実際のサイズの範囲が、人物の顔に適した所定の範囲であるように、探索範囲ＳＲＷが決定される。
【００５７】
図４の次のステップＳ１４０では、顔領域検出モジュール４００（図２）は、探索範囲ＳＲＷ内の検出窓サイズに対応付けられた検出窓ＤＷを利用して顔領域を検出する。図７の実施例では、サイズが異なる３つの検出窓ＤＷ１、ＤＷ２、ＤＷ３が利用される。また、図７には、図６と同じ対象画像ＩＭＧが示されている。顔領域検出モジュール４００は、人物Ｐ１の顔を表す顔領域ＦＡを検出する。しかし、ポスターＰＳの中の人物Ｐ２の顔を表す領域は、顔領域として検出されない。この理由は、人物Ｐ２の顔の実際のサイズは、実際の人物の顔のサイズよりも十分に大きいからである。
【００５８】
以上のように、本実施例では、実際のサイズの所定の範囲から、サイズ関係に従って、検出窓ＤＷのサイズの探索範囲ＳＲＷが決定される。従って、探索範囲ＳＲＷ内のサイズからサイズ関係に従って得られる実際のサイズは、所定範囲内である。ここで、検出窓ＤＷのサイズ（例えば、高さ）は、両目と鼻と口とを含む矩形のサイズを表している。すなわち、検出窓ＤＷのサイズは、顔のサイズを反映する対象画像上のサイズを表している。従って、過剰に大きい顔を表す領域（例えば、ポスターに写る顔を表す領域）や、過剰に小さい顔を表す領域（例えば、人形の顔を表す領域）が、顔領域として検出されることを抑制できる。その結果、被写体の種類を考慮して顔を検出することができる。特に、本実施例では、顔領域検出モジュール４００は、探索範囲ＳＲＷ外のサイズの検出窓ＤＷに従った検出を実行しない。従って、顔領域検出モジュール４００は、顔領域の検出を高速に行うことができる。なお、顔領域検出モジュール４００は、検出窓ＤＷのサイズの代わりに、検出窓ＤＷのサイズと相関のある種々の値に従って、探索範囲ＳＲＷを特定してよい。
【００５９】
Ｃ．第３実施例：
図８は、第３実施例における顔領域の検出の概略図である。図６に示す実施例との差違は、画像パターンＩＰＴＮを拡大縮小する代わりに、対象画像ＩＭＧを拡大縮小する点だけである。印刷処理の手順は、図４と同じである。ただし、２つのステップＳ１３０、Ｓ１４０の内容が、第１実施例と異なっている。他のステップは、第１実施例と同じである。また、プリンタの構成は、図１、図２に示す第１実施例のプリンタ１００と同じである。
【００６０】
本実施例では、顔領域検出モジュール４００（図２）は、所定サイズの画像パターンＩＰＴＮ＿Ｓを利用して顔領域を検出する。本実施例では、画像パターンＩＰＴＮ＿Ｓの形状は矩形であり、サイズ（例えば、縦と横のそれぞれの画素数）は固定されている。
【００６１】
顔領域検出モジュール４００は、対象画像ＩＭＧをスケール（拡大縮小）することによってスケール画像ＳＩＭＧを生成する。本実施例では、このスケールは、縦横比を変えずに行われる。そして、顔領域検出モジュール４００は、スケール画像ＳＩＭＧから、画像パターンＩＰＴＮ＿Ｓとマッチする領域を検出する。なお、スケールの方法としては、周知の種々の方法を採用可能である。例えば、画素を間引くことによって対象画像ＩＭＧを縮小してもよい。また、縮小後の画像の画素値を補間（例えば、線形補間）によって決定してもよい。同様に、拡大後の画像の画素値を補間によって決定してもよい。
【００６２】
ここで、対象画像ＩＭＧのサイズに対するスケール画像ＳＩＭＧのサイズの比率をスケール率と呼ぶ（サイズとしては、例えば、高さ方向の画素数や、幅方向の画素数を採用可能である）。スケール率が大きい場合には、スケール画像ＳＩＭＧのサイズに対する画像パターンＩＰＴＮ＿Ｓのサイズの比率が小さくなる。従って、対象画像ＩＭＧ上のサイズが小さい顔の検出が可能である。逆に、スケール率が小さい場合には、スケール画像ＳＩＭＧのサイズに対する画像パターンＩＰＴＮ＿Ｓのサイズの比率が大きくなる。従って、対象画像ＩＭＧ上のサイズが大きい顔の検出が可能である。なお、スケール率は、１より小さくてもよく、１より大きくてもよい。
【００６３】
このように、スケール率は、対象画像ＩＭＧから検出される顔領域のサイズと相関がある（負の相関がある）。検出される顔領域の対象画像ＩＭＧ上のサイズは、画像パターンＩＰＴＮ＿Ｓのサイズをスケール率で割って得られるサイズと同じである。一方、上述したように、顔領域の対象画像ＩＭＧ上のサイズの適切な範囲は、実サイズの所定の範囲（例えば、５ｃｍ〜５０ｃｍ）とサイズ関係（式３：図５）とに従って決まる。
【００６４】
そこで、図４のステップＳ１３０では、顔領域検出モジュール４００（図２）は、画像パターンＩＰＴＮ＿Ｓのサイズ（例えば、縦の画素数）と、実サイズの所定の範囲（例えば、５ｃｍ〜５０ｃｍ）と、サイズ関係とから、スケール率の適切な範囲（探索範囲ＳＲＲ）を決定する。ここで、探索範囲ＳＲＲは、検出される顔領域の対象画像ＩＭＧ上のサイズに対応する実際のサイズが、所定範囲内であるように、決定される。換言すれば、実サイズの所定の範囲からサイズ関係に従って得られる対象画像ＩＭＧにおけるサイズの範囲内に、検出される顔領域の対象画像ＩＭＧにおけるサイズが収まるように、探索範囲ＳＲＲが決定される。例えば、スケール率の最大値は、画像パターンＩＰＴＮ＿Ｓのサイズ（例えば、高さ）を、所定範囲の最小値（例えば、５ｃｍ）からサイズ関係に従って得られる対象画像上のサイズで、割って得られる値に設定される。スケール率の最小値は、画像パターンＩＰＴＮ＿Ｓのサイズを、所定範囲の最大値（例えば、５０ｃｍ）からサイズ関係に従って得られる対象画像上のサイズで、割って得られる値に設定される。
【００６５】
図４の次のステップＳ１４０では、顔領域検出モジュール４００（図２）は、探索範囲ＳＲＲ内のスケール率に対応付けられたスケール画像ＳＩＭＧを利用して顔領域を検出する。図８の実施例では、スケール率が異なる３つのスケール画像ＳＩＭＧ１、ＳＩＭＧ２、ＳＩＭＧ３が利用される。なお、利用されるスケール率の間隔は、種々のサイズの人物の顔を適切に検出できるように、予め実験的に決定すればよい。
【００６６】
図８の下部には、第２スケール画像ＳＩＭＧ２が示されている。この第２スケール画像ＳＩＭＧ２は、図６と同じ対象画像ＩＭＧから生成された画像である。顔領域検出モジュール４００は、この第２スケール画像ＳＩＭＧ２から、人物Ｐ１の顔を表す顔領域ＦＡ＿Ｓを検出する。しかし、ポスターＰＳの中の人物Ｐ２の顔を表す領域は、顔領域として検出されない。この理由は、人物Ｐ２の顔の実際のサイズは、実際の人物の顔のサイズよりも十分に大きいからである。
【００６７】
以上のように、本実施例では、実際のサイズの所定の範囲と画像パターンＩＰＴＮ＿Ｓのサイズとから、サイズ関係に従って、スケール率の探索範囲ＳＲＲが決定される。ここで、探索範囲ＳＲＲは、検出される顔領域の実際のサイズが、所定範囲内であるように、決定される。従って、過剰に大きい顔を表す領域（例えば、ポスターに写る顔を表す領域）や、過剰に小さい顔を表す領域（例えば、人形の顔を表す領域）が、顔領域として検出されることを抑制できる。その結果、被写体の種類を考慮して顔を検出することができる。特に、本実施例では、顔領域検出モジュール４００は、探索範囲ＳＲＲ外のスケール率に従った検出を実行しない。従って、顔領域検出モジュール４００は、顔領域の検出を高速に行うことができる。
【００６８】
Ｄ．第４実施例：
図９は、第４実施例における顔領域の検出の概略図である。図８に示す実施例との差違は、画像パターンＩＰＴＮ＿Ｓの代わりに、所定サイズの検出窓ＤＷ＿Ｓが利用される点である。本実施例では、検出窓ＤＷ＿Ｓの形状は矩形であり、サイズ（例えば、縦と横のそれぞれの画素数）は固定されている。印刷処理の手順は、図４と同じである。ただし、２つのステップＳ１３０、Ｓ１４０の内容が、第１実施例と異なっている。他のステップは、第１実施例と同じである。また、プリンタの構成は、図１、図２に示す第１実施例のプリンタ１００と同じである。
【００６９】
本実施例では、顔領域検出モジュール４００（図２）は、図７に示す実施例と同様に、学習済みニューラルネットワークを利用して顔領域を検出する。また、顔領域検出モジュール４００は、図８に示す実施例と同様に、スケール率を調整することによって、実質的に、対象画像ＩＭＧ上の検出窓のサイズを調整する。従って、過剰に大きい顔を表す領域（例えば、ポスターに写る顔を表す領域）や、過剰に小さい顔を表す領域（例えば、人形の顔を表す領域）が、顔領域として検出されることを抑制できる。その結果、被写体の種類を考慮して顔を検出することができる。また、本実施例では、顔領域検出モジュール４００は、探索範囲ＳＲＲ外のスケール率に従った検出を実行しない。従って、顔領域検出モジュール４００は、顔領域の検出を高速に行うことができる。
【００７０】
Ｅ．第５実施例：
図１０は、ＲＯＭ２３０に格納されるモジュールとデータとの別の実施例を示す説明図である。図２に示す実施例との差違は、顔領域検出モジュール４００の代わりに顔領域検出モジュール４００Ａが格納されている点だけである。顔領域検出モジュール４００Ａは、候補検出モジュール４０２と、サイズ算出モジュール４０４と、選択モジュール４０６とを含んでいる。プリンタの構成は、図１に示す第１実施例のプリンタ１００と同じである。
【００７１】
図１１は、印刷処理の手順を示すフローチャートである。最初のステップＳ２００では、候補検出モジュール４０２（図１０）が、対象画像データを解析し、対象画像から顔領域の候補を検出する。顔領域は、対象画像上の領域であり、顔の少なくとも一部の画像を含む領域を意味している。候補検出モジュール４０２は、対象画像上のサイズに拘わらずに、顔領域の候補を検出する。
【００７２】
図１２は、顔領域の候補の検出結果を示す概略図である。図１２に示す対象画像ＩＭＧａには、人物Ｐ１ａと、ポスターＰＳａと、遠くの人物Ｐ３ａとが写っている。ポスターＰＳａは、人物Ｐ２ａを表している。ここで、ポスターＰＳａが表す人物Ｐ２ａの顔の実際のサイズは、実際の人物の顔のサイズよりも十分に大きいこととしている。また、人物Ｐ３ａは、ぼやけて写っている。この理由は、人物Ｐ１ａにはピントが合っているが、人物Ｐ３ａにはピントが合っていないからである。
【００７３】
対象画像ＩＭＧａからは、３つの顔領域候補ＣＡ１、ＣＡ２、ＣＡ３が検出されている。図示するように、本実施例では、両目と鼻と口との画像を含む矩形領域が、顔領域の候補として検出される。そして、顔が小さく写っている場合には、小さい顔領域が検出される。顔が大きく写っている場合には、大きい顔領域が検出される。このように、顔領域（候補）のサイズは、顔の対象画像上のサイズと相関がある。なお、顔領域の縦横比は、対象画像中の顔に従って変化して良い。ただし、縦横比が固定されてもよい。また、検出される顔領域としては、顔の少なくとも一部の画像を含む任意の領域を採用可能である。例えば、顔領域が顔の全体を含んでも良い。
【００７４】
なお、本実施例では、上述の各実施例と同様に、対象画像ＩＭＧａの形状が矩形である。また、画像高さＩＨａと画像幅ＩＷａとは、対象画像ＩＭＧａの高さ（短辺の長さ）と幅（長辺の長さ）とを、それぞれ示している（単位は画素数）。顔領域高さＳＩＨ１と顔領域幅ＳＩＷ１とは、第１顔領域候補ＣＡ１の高さと幅とを、それぞれ示している（単位は画素数）。同様に、顔領域高さＳＩＨ２と顔領域幅ＳＩＷ２とは、第２顔領域候補ＣＡ２の高さと幅を、それぞれ示している。顔領域高さＳＩＨ３と顔領域幅ＳＩＷ３とは、第３顔領域候補ＣＡ３の高さと幅を、それぞれ示している。
【００７５】
候補検出モジュール４０２による顔領域（候補）の検出方法としては、公知の種々の方法を採用可能である。本実施例では、顔の器官である目のテンプレート画像と口のテンプレート画像とを用いたパターンマッチングによって、顔領域が検出される。なお、このような顔領域の検出方法としては、テンプレートを利用したパターンマッチングによる種々の方法（例えば、特開２００４−３１８２０４参照）を採用可能である。
【００７６】
図１１の次のステップＳ２１０では、図４のステップＳ１１０と同様に、サイズ関係特定モジュール４１０（図１０）は、対象画像ファイルから関連情報を取得する。そして、サイズ関係特定モジュール４１０は、図５で説明した式３に従って、サイズ関係を特定（設定）する。
【００７７】
次のステップＳ２２０では、サイズ算出モジュール４０４（図１０）は、サイズ関係に従って、顔領域候補に対応する実サイズを算出する。本実施例では、サイズ算出モジュール４０４は、顔領域候補の高さに相当する実サイズを算出する。上述したように、顔領域候補のサイズは、顔の対象画像上のサイズと相関がある。従って、算出された実サイズは、被写体の顔の実際のサイズ（例えば、頭の頂上から顎の先端までの長さ）と正の相関がある。すなわち、算出された実サイズが大きいほど、被写体の顔の実際のサイズは大きい。なお、この実サイズは、特許請求の範囲における「サイズ指標値」に相当する。
【００７８】
次のステップＳ２３０では、選択モジュール４０６（図１０）は、顔領域候補が、以下の条件Ｃ１を満たすか否かを判断する。
条件Ｃ１：実サイズが５０ｃｍ未満、かつ、実サイズが５ｃｍより大きい
顔領域候補がこの条件Ｃ１を満たすことは、顔領域候補によって表される顔が、現実の人物の顔である可能性が高いことを示している。なお、人物の顔に適した範囲は、５ｃｍ〜５０ｃｍと異なる範囲であってもよい。この範囲は、予め実験的に決定すればよい。
【００７９】
顔領域候補がこの条件Ｃ１を満たす場合には、次のステップＳ２４０で、選択モジュール４０６は、顔領域候補を解析し、顔内のエッジ強度を算出する。本実施例では、選択モジュール４０６は、顔を表す各画素のエッジ強度を算出する。エッジ強度としては、種々の値を採用可能である。例えば各画素の輝度値にラプラシアンフィルタを適用して得られた結果の絶対値を採用することができる。また、顔を表す画素の特定方法としては、種々の方法を採用可能である。例えば、顔領域候補内の肌色画素を、顔を表す画素として選択してもよい。ここで、肌色画素は、所定の肌色範囲の色を示す画素を意味している。また、顔領域候補内の肌色画素に加えて、顔領域候補の周辺部分の肌色画素を選択してもよい。
【００８０】
次のステップＳ２５０では、サイズ算出モジュール４０４は、顔領域候補が、以下の条件Ｃ２を満たすか否かを判断する。
条件Ｃ２：エッジ強度の最大値が所定の閾値より大きい
【００８１】
顔のシャープネスが強いほど、エッジ強度の最大値は大きくなる。従って、エッジ強度の最大値は、顔のシャープネスの度合いを表している。以上により、この条件Ｃ２は、顔のシャープネスの度合いが閾値より高いことを、示している。また、顔領域候補がこの条件Ｃ２を満たすことは、対象画像の撮影時に、顔領域候補によって表される顔にピントが合っている可能性が高いことを示している。逆に、この条件Ｃ２が満たされない場合には、顔領域候補によって表される顔にピントが合っていないことが多い。この場合には、図５に示す被写体距離ＳＤとレンズ焦点距離ＦＬとが適切でない可能性が高い。
【００８２】
顔領域候補がこの条件Ｃ２を満たす場合には、選択モジュール４０６（図１０）は、その顔領域候補を、顔領域として選択する（ステップＳ２６０）。上述の２つの条件Ｃ１、Ｃ２の少なくとも一方が満たされない場合には、選択モジュール４０６は、顔領域候補を、顔領域から除く。
【００８３】
顔領域検出モジュール４００Ａ（図１０）は、図１１のステップＳ２２０〜Ｓ２６０の処理を、検出された顔領域候補毎に繰り返し実行する。全ての顔領域候補に関する処理が完了した場合には（ステップＳ２７０：Ｙｅｓ）、処理がステップＳ３００に移行する。ステップＳ３００以降の処理は、図４のステップＳ３００以降の処理と同じである。
【００８４】
図１２には、以上の処理による顔領域の検出結果が示されている。第２顔領域候補ＣＡ２に関しては、実サイズが５０ｃｍよりも大きいので、顔領域から除外されている（ステップＳ２３０）。第１顔領域候補ＣＡ１に関しては、顔がぼやけているので、顔領域から除外されている（ステップＳ２５０）。そして、第１顔領域候補ＣＡ１が、顔領域として選択されている。
【００８５】
以上のように、本実施例では、実際のサイズの所定の範囲からサイズ関係に従って得られる対象画像上のサイズの範囲内に、顔領域候補の対象画像上のサイズが収まっている場合に、その顔領域候補が顔領域として選択される。すなわち、顔領域候補の対象画像上のサイズに相当する実際のサイズが所定範囲内にある場合に、その顔領域候補が顔領域として選択される。その結果、過剰に小さい顔（例えば、人形の顔）や、過剰に大きい顔（例えば、ポスターに写る顔）が検出されることを抑制できる。その結果、被写体の種類を考慮して顔を検出することができる。
【００８６】
また、顔のシャープネスの度合いが閾値より高い場合に、顔領域候補が顔領域として選択される。従って、シャープな顔を表す領域を顔領域として検出することができる。これにより、対象画像の観察者の注目を集めやすいシャープな顔を顔領域として検出することができる。また、ピントが合っていない顔が顔領域として選択されることを抑制できる。また、不適切な被写体距離ＳＤとレンズ焦点距離ＦＬとによって算出された実サイズに従って、顔領域が選択されることを抑制できる。
【００８７】
Ｆ．第６実施例：
図１３は、別の実施例としてのデジタルスチルカメラ５００を示す説明図である。このデジタルスチルカメラ５００は、制御部２００と、撮像部６００と、ディスプレイ６１０と、操作部６２０と、カードＩ／Ｆ６３０と、を備えている。
【００８８】
撮像部６００は、撮像によって画像データを生成する装置である。撮像部６００は、レンズシステムと撮像素子と画像データ生成部とを有している（図示省略）。撮像部６００は、撮像を繰り返すことによって、画像データを逐次生成することができる。
【００８９】
ディスプレイ６１０と、操作部６２０と、カードＩ／Ｆ６３０とは、図１に示すディスプレイ３１０と、操作パネル３２０と、カードＩ／Ｆ３３０と、それぞれ同様である。
【００９０】
制御部２００のハードウェア構成は、図１に示す実施例と同じである。図１４は、ＲＯＭ２３０（図１３）に格納されたモジュールとデータとを示す説明図である。図２に示す実施例との差違は、印刷データ生成モジュール４３０の代わりに、撮像処理モジュール４３２が設けられている点だけである。
【００９１】
制御部２００（図１３）の撮像処理モジュール４３２（図１４）は、ユーザの指示に応答して、撮像部６００に撮像の繰り返しを開始させる。この撮像の繰り返しは、被写体の顔が表す画像パターンが、所定の画像パターンとマッチするか否かを判断するためのものである。制御部２００は、撮像部６００によって逐次生成される画像データのそれぞれを対象として、顔領域の検出を逐次行う。本実施例では、顔領域検出モジュール４００とサイズ関係特定モジュール４１０とは、図４のステップＳ１１０〜Ｓ１４０と同様の手順に従って、顔領域を検出する。具体的な処理としては、図６〜図９に示す各処理の内の任意の処理を採用可能である。なお、サイズ関係特定モジュール４１０は、被写体距離と、レンズ焦点距離と、デジタルズーム倍率とを、撮像部６００から取得する。サイズ関係特定モジュール４１０は、撮像素子のサイズ（例えば、高さＳＨ）と画像データのサイズ（例えば、画像高さＩＨ）としては、それぞれ、所定の値を利用する。このように、本実施例では、サイズ関係特定モジュール４１０は、画像データを利用せずに、サイズ関係を特定可能である。
【００９２】
撮像処理モジュール４３２（図１４）は、顔領域によって表される画像パターンが、所定の画像パターンとマッチするか否かを逐次判定する。図１５は、画像データと判定とを示す概略図である。図中には、撮像部６００によって逐次生成される複数の画像の一部が示されている（ＩＭＧ１０１、ＩＭＧ１０２、ＩＭＧ１０３）。これらの画像からは、顔領域ＦＡが検出されている。撮像処理モジュール４３２は、顔領域ＦＡによって表される画像パターンが、所定の画像パターン（「基準パターンＳＰ」と呼ぶ）とマッチするか否かを逐次判定する。図１５の実施例では、最初の２つの画像ＩＭＧ１０１、ＩＭＧ１０２では、パターンがマッチしていないが、３つ目の画像ＩＭＧ１０３では、パターンがマッチしている。なお、２つの画像パターンがマッチしているか否かを判定する方法としては、周知のパターンマッチングの方法を採用可能である。例えば、基準パターンＳＰのサイズを適宜拡大縮小することによって、判定を行っても良い。
【００９３】
顔領域ＦＡのパターンが基準パターンＳＰとマッチしたことに応じて、撮像処理モジュール４３２は、撮像部６００に撮像指示を出力する。撮像部６００は、指示に従って撮像を実行し、画像データを生成する。この撮像により、基準パターンＳＰとマッチする顔領域を含む画像を表す画像データが生成される。本実施例では、基準パターンＳＰは、笑顔を表している。従って、顔領域が表す顔（すなわち、被写体の顔）が笑顔に変化したことに応じて、笑顔を表す画像が自動的に撮影される。このようにして、撮像処理モジュール４３２は、基準パターンＳＰとマッチする顔領域を含む画像を撮像する。なお、基準パターンＳＰとしては、笑顔を表すパターンに限らず、任意のパターンを採用可能である。また、以下、撮像処理モジュール４３２の指示による撮像のことを「パターン撮像」と呼ぶ。また、パターン撮像によって生成される画像データを「パターン撮像データ」と呼ぶ。
【００９４】
撮像部６００（図１３）は、パターン撮像データを制御部２００に供給する。撮像処理モジュール４３２（図１４）は、パターン撮像データを格納する画像ファイルを、メモリカードＭＣに格納する。本実施例では、メモリカードＭＣは不揮発性メモリである。従って、ユーザは、容易にパターン撮像データを利用することができる。また、メモリカードＭＣは、着脱可能なメモリである。従って、ユーザは、パターン撮像データを手軽に持ち運ぶことができる。
【００９５】
なお、撮像部６００の動作設定に関しては、パターン撮像での設定が、逐次実行される撮像での設定と異なっていてもよい。例えば、撮像部６００は、逐次実行される撮像では総画素数の少ない画像データを生成し、パターン撮像では総画素数の多い画像データを生成してもよい。一般には、逐次実行される撮像では、処理負荷の低い設定を採用することが好ましい。こうすれば、撮像の繰り返し速度を高めることができる。また、パターン撮像では、高画質な画像データを生成するための設定を採用することが好ましい。
【００９６】
また、顔領域の検出方法としては、図４の手順に従った方法に限らず、図１１のステップＳ２００〜Ｓ２７０と同様の手順に従った方法を採用してもよい。
【００９７】
また、本実施例では、撮像処理モジュール４３２（図１４）が、特許請求の範囲における「処理実行部」に相当する。なお、顔領域の画像パターンが基準パターンＳＰとマッチしたことに応じて実行される処理としては、撮像や、画像ファイルの生成に限らず、任意の処理を採用可能である。例えば、顔領域内の肌色を調整する処理を採用してもよい。また、デジタルスチルカメラ５００に、通信経路を介してプリンタ（図示せず）を接続する場合がある。この場合には、プリンタに対象画像を印刷させる処理を採用してもよい。
【００９８】
また、制御部２００（図１３）は、顔領域の画像パターンが基準パターンＳＰとマッチしたか否かに拘わらずに、撮像によって生成された画像データに対して、図４や図１１に示す実施例と同様の処理を実行してもよい。例えば、制御部２００は、ユーザの指示に従って、撮像部６００に撮像させる。撮像部６００は、撮像によって画像データを生成し、生成した画像データを制御部２００に供給する。制御部２００は、受信した画像データを用いた画像処理を実行し、処理済みの画像データを格納する画像ファイルを、メモリ（例えば、メモリカードＭＣ）に格納する。
【００９９】
制御部２００による画像処理としては、図４、図１１に示す実施例と同様の処理を採用可能である。ただし、本実施例では、ステップＳ３４０での印刷の代わりに、画像処理モジュール４２０（図１４）が、画像ファイルをメモリカードＭＣに格納する。
【０１００】
Ｇ．変形例：
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【０１０１】
変形例１：
上述の各実施例において、画像パターンを利用した顔領域（あるいは、その候補領域）の検出方法としては、顔の少なくとも一部を表す所定の画像パターンを利用する種々の方法を採用可能である。例えば、顔内の互いに異なる部分を表す複数の画像パターンを利用して、１つの顔領域を検出してもよい（例えば、目と鼻を表す画像パターンと、鼻と口とを表す画像パターンとの両方を利用してもよい）。また、画像パターンの形状としては、矩形に限らず、任意の形状を採用可能である。
【０１０２】
また、上述の各実施例において、検出窓の形状としては、矩形に限らず、任意の形状を採用可能である。
【０１０３】
また、上述の各実施例において、顔の少なくとも一部の画像を含む顔領域（あるいは、その候補領域）を検出する方法としては、パターンマッチングやニューラルネットワークによる方法に限らず、任意の方法を採用可能である。例えば、ブースティング（たとえばAdaBoost）や、サポートベクターマシンを採用可能である。また、これらの方法を組み合わせることによって、顔領域を検出してもよい。例えば、図６に示す方法と図７に示す方法とを組み合わせてもよい。この場合、両方の方法で検出された共通の顔領域を、最終的に検出された顔領域として採用すればよい。同様に、図８に示す方法と図９に示す方法とを組み合わせてもよい。また、図６〜図９に示す方法の任意の組合せを利用してもよい。いずれの場合も、複数の方法によるそれぞれの検出結果を、適宜、論理和および論理積を用いて組み合わせることによって最終的な検出結果を決定してよい。
【０１０４】
また、上述の各実施例において、実際のサイズの所定の範囲として、比較的小さいサイズの範囲を採用してもよい。こうすれば、子供の顔を検出することができる。また、この範囲として、比較的大きいサイズの範囲を採用してもよい。こうすれば、大人の顔を検出することができる。また、実際のサイズの範囲は、実際の人物の顔に適した範囲に限らず、人物に類似する他の被写体（例えば、人形やポスター）に適した範囲であってもよい。
【０１０５】
なお、上述の各実施例において、顔領域の検出方法としては、実際のサイズの所定の範囲を利用して顔領域を検出する方法に限らず、サイズ関係を利用して顔領域を検出するような種々の方法を採用可能である。例えば、実際のサイズの範囲が、ユーザによって決定されてもよい。
【０１０６】
変形例２：
上述の各実施例において、サイズ指標値としては、顔の実際のサイズと相関のある種々の値を採用可能である。例えば、サイズ指標値は、顔のサイズを反映する種々のサイズに相当してよい。すなわち、サイズ指標値は、顔と関連のある種々のサイズに相当してよい。例えば、上述の各実施例のように、サイズ指標値が、顔領域のサイズに相当してもよい。ここで、撮像素子ＩＳの幅方向（受光領域の長辺方向に相当する）の長さを利用してもよい。また、サイズ指標値が、顔内の器官の位置を基準とする２つの位置の間の距離に相当してもよい。例えば、サイズ指標値が、両目の中間位置と口との間の距離に相当してもよい。いずれの場合も、サイズ算出モジュール４０４（図１０）は、顔のサイズを反映する種々のサイズ（対象画像上のサイズ）から、サイズ指標値を算出可能である。例えば、サイズ指標値が、両目の中間位置と口との間の距離に相当すると仮定する。この場合には、サイズ算出モジュール４０４は、対象画像上における両目の中間位置と口との間の距離（画素数）から、サイズ指標値を算出すればよい。ここで、サイズ算出モジュール４０４は、候補検出モジュール４０２によって検出された目と口とを利用すればよい。なお、サイズ指標値は、距離（長さ）に限らず面積等の種々のサイズに相当してよい。
【０１０７】
以上のように、顔のサイズを反映する対象画像上のサイズとしては、顔のサイズと相関のある種々のサイズを採用可能である。
【０１０８】
変形例３：
上述の各実施例において、サイズ関係としては、対象画像上のサイズと実際のサイズとの間の関係を表す任意の関係を採用可能である。例えば、サイズとしては、距離（長さ）に限らず、面積を採用してもよい。
【０１０９】
また、上述の各実施例において、サイズ関係を特定するために利用される情報は、以下の情報を含むことが好ましい。
１）対象画像の撮像時における撮像装置から人物までの距離と相関のある撮像距離情報
２）撮像時における撮像装置のレンズ焦点距離と相関のある焦点距離情報
３）撮像装置の撮像素子上の受光領域の対象画像を生成した部分のサイズと関連のある撮像素子情報
図５に示す実施例では、これらの情報に加えて、デジタルズーム倍率ＤＺＲを利用している。ただし、デジタルズーム機能を持たない撮像装置によって生成された画像データを利用する場合には、サイズ関係特定モジュール４１０（図２、図１０）は、デジタルズーム倍率ＤＺＲを利用せずにサイズ関係を特定すればよい。
【０１１０】
撮像素子情報としては、メーカ名とモデル名との組合せを利用してもよい。また、撮像装置の中には、ユーザの指示に従って、撮像素子（全受光領域）の周辺部分の画素をクロップして画像データを生成するものがある。このような画像データを利用する場合には、サイズ関係特定モジュール４１０は、撮像素子（より具体的には全受光領域）のサイズの代わりに、クロップ後の残りの画素が占める受光領域のサイズを、利用すればよい（すなわち、受光領域の対象画像を生成した部分のサイズ）。サイズ関係特定モジュール４１０は、このような部分のサイズを、クロップ無しの画像データのサイズ（例えば、高さや幅）に対するクロップ有りの画像データのサイズの比率と、全受光領域のサイズと、から算出可能である（これらの情報が、撮像素子情報によって特定されることが好ましい）。なお、クロップ無しで対象画像（対象画像データ）が生成された場合には、撮像素子の全受光領域が、対象画像を生成した部分に相当する。いずれの場合も、撮像素子情報が、受光領域の長辺と短辺との少なくとも一方の長さを特定することが好ましい。一方の長さを特定すれば、対象画像の縦横比率から他方の長さも特定可能である。
【０１１１】
また、撮像装置の中には、被写体距離ＳＤの代わりに、被写体距離レンジを画像ファイルに記録するものがある。このような画像ファイルを利用する場合には、サイズ関係特定モジュール４１０は、被写体距離ＳＤの代わりに被写体距離レンジを利用すればよい。被写体距離レンジは、例えば、被写体距離を、「マクロ」、「近景」、「遠景」の３段階で示している。そこで、３段階のそれぞれに予め代表距離を対応付けておき、サイズ関係特定モジュール４１０は、その代表距離を利用してサイズ関係を特定すればよい。
【０１１２】
なお、一般には、サイズ関係の決定方法としては、対象画像に関連付けられた関連情報を利用する種々の方法を採用可能である。ここで、関連情報としては、対象画像上のサイズ（例えば、長さ。単位は画素数）と実際のサイズとの対応関係を特定可能な任意の情報を採用可能である。例えば、撮像装置が、画像上の長さ（画素数）に対する、実際の長さ（例えば、センチメートル）の比率を出力してもよい。このような比率を利用可能な場合には、サイズ関係特定モジュール４１０は、この比率を利用してサイズ関係を特定すればよい。
【０１１３】
変形例４：
図１１に示す顔検出処理において、ステップＳ２４０、Ｓ２５０で利用される顔のシャープネスの度合いとしては、顔内のエッジ強度の最大値に限らず、顔のシャープネスを表す種々の値を採用可能である。例えば、顔を表す複数の画素のそれぞれのエッジ強度を総合して得られる総合値を採用可能である。総合値としては、例えば、平均値、最大値、最頻値、中央値（メディアン）といった、各画素のエッジ強度の関数で表される種々の値を採用可能である。また、シャープネスの度合いの決定には、顔を表す複数の画素の少なくとも一部を利用すればよい。
【０１１４】
また、図１１に示す顔検出処理において、ステップＳ２４０、Ｓ２５０を省略してもよい。
【０１１５】
変形例５：
上述の各実施例において、顔領域の検出結果の用途としては、任意の用途を採用可能である。例えば、画像処理モジュール４２０（図２、図１０）は、検出された顔の幅を細くする変形処理を実行してもよい。また、画像処理モジュール４２０は、複数の画像の中から、顔領域が検出された画像を選択してもよい。選択された画像の用途は任意である。例えば、選択された画像は、印刷に利用されてもよく、また、特定のフォルダにコピーされてもよい。
【０１１６】
変形例６：
上述の各実施例において、顔領域の検出を実行する画像処理装置としては、プリンタ１００（図１）やデジタルスチルカメラ５００（図１３）に限らず、任意の画像処理装置を採用可能である。例えば、汎用のコンピュータが対象画像から顔領域を検出してもよい。
【０１１７】
また、画像処理装置の構成としては、図１や図１３に示す構成に限らず、種々の構成を採用可能である。一般には、顔領域検出モジュール４００（あるいは、顔領域検出モジュール４００Ａ）とサイズ関係特定モジュール４１０とを有する任意の構成を採用可能である。例えば、画像処理装置は、通信ケーブルやネットワークを介して画像生成装置（例えば、デジタルスチルカメラ等の撮像装置）から対象画像データを取得してもよい。また、画像処理装置が、書き換え可能な不揮発性メモリを備え、その不揮発性メモリが、機種サイズテーブル４４０（図２）を格納してもよい。そして、サイズ関係特定モジュール４１０が、機種サイズテーブル４４０を更新してもよい。更新としては、例えば、ユーザの指示に従った更新や、ネットワークを通じてダウンロードされた新しい機種サイズテーブル４４０への更新がある。
【０１１８】
変形例７：
上述の各実施例において、処理対象の画像データとしては、デジタルスチルカメラによって生成された画像データ（静止画像データ）に限らず、種々の画像生成装置によって生成された画像データを利用可能である。例えば、デジタルビデオカメラによって生成された画像データ（動画像データ）を利用してもよい。この場合、図２のモジュール４００、４１０は、動画像に含まれる複数のフレーム画像の少なくとも一部を対象画像として利用することによって、サイズ関係の決定と、顔領域の検出と、を実行すればよい。また、画像処理モジュール４２０は、複数の動画像の中から、顔領域が検出されたフレーム画像を含む動画像を選択してもよい。こうすれば、ユーザは、選択された動画像を利用することによって、人物の顔が写った動画像を簡単に利用することができる。なお、対象画像（フレーム画像）を含む動画像の選択も、対象画像に対する処理（対象画像に関する処理）ということができる。
【０１１９】
変形例８：
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図１の顔領域検出モジュール４００の機能を、論理回路を有するハードウェア回路によって実現してもよい。
【０１２０】
また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア（コンピュータプログラム）は、コンピュータ読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種のＲＡＭやＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
【図面の簡単な説明】
【０１２１】
【図１】本発明の一実施例としてのプリンタ１００を示す説明図である。
【図２】ＲＯＭ２３０（図１）に格納されたモジュールとデータとを示す説明図である。
【図３】機種サイズテーブル４４０の一例を示す概略図である。
【図４】印刷処理の手順を示すフローチャートである。
【図５】画像上の画素数と実サイズとの関係を示す説明図である。
【図６】本実施例における探索範囲ＳＲを示す概略図である。
【図７】第２実施例における顔領域の検索の概略図である。
【図８】第３実施例における顔領域の検出の概略図である。
【図９】第４実施例における顔領域の検出の概略図である。
【図１０】ＲＯＭ２３０に格納されるモジュールとデータとの別の実施例を示す説明図である。
【図１１】印刷処理の手順を示すフローチャートである。
【図１２】顔領域の候補の検出結果を示す概略図である。
【図１３】別の実施例としてのデジタルスチルカメラ５００を示す説明図である。
【図１４】ＲＯＭ２３０（図１３）に格納されたモジュールとデータとを示す説明図である。
【図１５】画像データと判定とを示す概略図である。
【符号の説明】
【０１２２】
１００…プリンタ
２００…制御部
２１０…ＣＰＵ
２２０…ＲＡＭ
２３０…ＲＯＭ
３００…印刷エンジン
３１０…ディスプレイ
３２０…操作パネル
３３０…カードＩ／Ｆ
４００、４００Ａ…顔領域検出モジュール
４０２…候補検出モジュール
４０４…サイズ算出モジュール
４０６…選択モジュール
４１０…サイズ関係特定モジュール
４２０…画像処理モジュール
４３０…印刷データ生成モジュール
４３２…撮像処理モジュール
４４０…機種サイズテーブル
５００…デジタルスチルカメラ
６００…撮像部
６１０…ディスプレイ
６２０…操作部
６３０…カードＩ／Ｆ
ＭＣ…メモリカード
ＰＰ…主点
ＬＳ…レンズシステム
ＩＳ…撮像素子
【図１】
2009223527.tif 000003
【図２】
2009223527.tif 000004
【図３】
2009223527.tif 000005
【図４】
2009223527.tif 000006
【図５】
2009223527.tif 000007
【図６】
2009223527.tif 000008
【図７】
2009223527.tif 000009
【図８】
2009223527.tif 000010
【図９】
2009223527.tif 000011
【図１０】
2009223527.tif 000012
【図１１】
2009223527.tif 000013
【図１２】
2009223527.tif 000014
【図１３】
2009223527.tif 000015
【図１４】
2009223527.tif 000016
【図１５】
2009223527.tif 000017