(57)【特許請求の範囲】
【請求項１】
入力画像から所定のオブジェクトを検出するオブジェクト検出装置であって、
上記入力画像における画像領域のうち上記オブジェクトに対応する色域に属する画像領域以外の画像領域の画素値を、所定の代表値に置き換える変換部と、
上記置き換えが実行された入力画像上に検出窓を設定し、当該検出窓内における画素値のばらつきを求めるとともに、当該ばらつきが所定値以上である場合に、当該検出窓内の画像を対象として上記オブジェクトの有無を判定する判定部とを備えることを特徴とするオブジェクト検出装置。
【請求項２】
上記変換部は、上記オブジェクトに対応する色域に属する画像領域以外の各画像領域であって色相が異なる各画像領域の画素値を、各画像領域毎の代表色に対応した各代表値に置き換えることを特徴とする請求項１に記載のオブジェクト検出装置。
【請求項３】
上記変換部は、上記入力画像を解析するとともに、当該解析結果に基づいて、上記オブジェクトに対応する色域を変更することを特徴とする請求項１または請求項２のいずれかに記載のオブジェクト検出装置。
【請求項４】
上記変換部は、上記入力画像の画素値のヒストグラムを生成するとともに当該ヒストグラムの解析結果に基づいて上記入力画像が色かぶり画像または逆光画像であると判定した場合に、上記オブジェクトに対応する色域として、第一の色域と当該第一の色域よりも広い第二の色域とのうち第二の色域を選択することを特徴とする請求項３に記載のオブジェクト検出装置。
【請求項５】
上記判定部は、上記入力画像における検出窓の位置と大きさとの少なくとも一方を変更しながら入力画像上に繰り返し検出窓の設定を行なうとともに、検出窓を設定して求めた上記ばらつきが所定値未満である領域については避けて以後の検出窓の設定を行なうことを特徴とする請求項１〜請求項４のいずれかに記載のオブジェクト検出装置。
【請求項６】
上記判定部は、検出窓内の画像にかかる情報を入力し上記オブジェクトの有無を示す情報を出力するニューラルネットワークを利用することにより、オブジェクトの有無を判定することを特徴とする請求項１〜請求項５のいずれかに記載のオブジェクト検出装置。
【請求項７】
入力画像から所定のオブジェクトを検出するオブジェクト検出方法であって、
上記入力画像における画像領域のうち上記オブジェクトに対応する色域に属する画像領域以外の画像領域の画素値を、所定の代表値に置き換える変換工程と、
上記置き換えが実行された入力画像上に検出窓を設定し、当該検出窓内における画素値のばらつきを求めるとともに、当該ばらつきが所定値以上である場合に、当該検出窓内の画像を対象として上記オブジェクトの有無を判定する判定工程とを備えることを特徴とするオブジェクト検出方法。
【請求項８】
入力画像から所定のオブジェクトを検出する処理をコンピュータに実行させるオブジェクト検出プログラムであって、
上記入力画像における画像領域のうち上記オブジェクトに対応する色域に属する画像領域以外の画像領域の画素値を、所定の代表値に置き換える変換機能と、
上記置き換えが実行された入力画像上に検出窓を設定し、当該検出窓内における画素値のばらつきを求めるとともに、当該ばらつきが所定値以上である場合に、当該検出窓内の画像を対象として上記オブジェクトの有無を判定する判定機能とを実行させることを特徴とするオブジェクト検出プログラム。
【請求項９】
入力画像から所定のオブジェクトを検出するとともに、入力画像に基づく印刷を実行する印刷装置であって、
上記入力画像における画像領域のうち上記オブジェクトに対応する色域に属する画像領域以外の画像領域の画素値を、所定の代表値に置き換える変換部と、
上記置き換えが実行された入力画像上に検出窓を設定し、当該検出窓内における画素値のばらつきを求めるとともに、当該ばらつきが所定値以上である場合に、当該検出窓内の画像を対象として上記オブジェクトの有無を判定する判定部と、
上記判定部によってオブジェクトが有ると判定された検出窓内の画像に基づいて決定した補正情報に応じて上記入力画像の少なくとも一部を補正し、当該補正後の入力画像に基づいて印刷を行なう印刷制御部とを備えることを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクト検出装置、オブジェクト検出方法、オブジェクト検出プログラムおよび印刷装置に関する。
【背景技術】
【０００２】
入力画像の中からある目的画像（オブジェクト）を検出する技術が知られている。
画像データから肌色画素を判定し、判定した肌色画素の値を２５５、それ以外の画素値を０とし、検出された肌色画素の射影分布を求め、射影分布の形状から放物線を遺伝子アルゴリズムで探索して探索された放物線の位置から顔領域候補を抽出し、抽出した顔領域候補に対して顔領域かどうかの判断を行なう顔領域抽出方法が知られている（特許文献１参照。）。
【特許文献１】特開２０００‐４８１８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
入力画像から顔画像等のオブジェクトを検出しようとする場合、その検出の精度とともに、検出に要する処理の軽減化および処理の高速化が求められる。しかし上記文献１では、肌色画素の射影分布の算出、射影分布の形状に基づく放物線の探索、放物線の位置からの顔領域候補の抽出、顔領域候補に対する顔領域かどうかの判断、というように非常に多くの処理を踏む必要があり、処理の軽減化や高速化の点で全く不十分であった。
また、オブジェクトの検出後においては、入力画像に対する補正処理等が施される場合があるが、上記オブジェクトを検出するまでの過程で、当該補正処理にとって有用な情報を併せて取得することができれば、当該補正処理の際の負担が大幅に軽減され、非常に好適である。
【０００４】
本発明は上記課題に鑑みてなされたもので、入力画像からオブジェクトを検出するに際して、高精度な検出を担保しつつ、従来に増して処理の軽減および高速化を実現し、また、オブジェクトを検出した後の所定の処理の負担軽減にも資するオブジェクト検出装置、オブジェクト検出方法、オブジェクト検出プログラムおよび印刷装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明は、入力画像から所定のオブジェクトを検出するオブジェクト検出装置であって、上記入力画像における画像領域のうち上記オブジェクトに対応する色域に属する画像領域以外の画像領域の画素値を、所定の代表値に置き換える変換部と、上記置き換えが実行された入力画像上に検出窓を設定し、当該検出窓内における画素値のばらつきを求めるとともに、当該ばらつきが所定値以上である場合に、当該検出窓内の画像を対象として上記オブジェクトの有無を判定する判定部とを備える構成としてある。本発明によれば、入力画像上に検出窓を設定する前に、オブジェクトに対応する色域に属する画像領域以外の画像領域の画素値が上記代表値に置き換えられる。そのため、検出窓が、上記置き換えが行なわれた画素が多く集まる領域に設定された場合には、上記ばらつきも小さい値（所定値よりも小さい値）になりやすい。その結果、上記置き換えが行なわれた画素が多く集まる領域つまりオブジェクトが存在しないと推定される領域については、オブジェクトの有無判定の対象から外され、入力画像からのオブジェクトの検出精度を落とすことなく処理量および処理時間を軽減することができる。 
【０００６】
上記変換部は、上記オブジェクトに対応する色域に属する画像領域以外の各画像領域であって色相が異なる各画像領域の画素値を、各画像領域毎の代表色に対応した各代表値に置き換えるとしてもよい。当該構成によれば、上記置き換えが行なわれた画素が多く集まる領域に検出窓が設定された場合に算出される上記ばらつきは小さい値になりやすいという効果を維持しつつ、入力画像の各領域の色の情報を取得することができる。このような各領域の色の情報は、オブジェクト検出後の所定の処理、例えば、入力画像のシーンに応じた補正処理等において有用な情報として使用される。
【０００７】
上記変換部は、上記入力画像を解析するとともに、当該解析結果に基づいて、上記オブジェクトに対応する色域を変更するとしてもよい。当該構成によれば、入力画像の内容に応じて、上記置き換えを行なう画像領域を狭めたり広げたりすることができる。より具体的に、上記変換部は、上記入力画像の画素値のヒストグラムを生成するとともに当該ヒストグラムの解析結果に基づいて上記入力画像が色かぶり画像または逆光画像であると判定した場合に、上記オブジェクトに対応する色域として、第一の色域と当該第一の色域よりも広い第二の色域とのうち第二の色域を選択するとしてもよい。当該構成によれば、入力画像がいわゆる色かぶり画像であったり逆光画像である場合には、上記置き換えが行なわれる画像領域が狭められる。そのため、入力画像が色かぶり画像や逆光画像等であってもオブジェクトの検出精度が担保される。
【０００８】
上記判定部は、入力画像における検出窓の位置と大きさとの少なくとも一方を変更しながら入力画像上に繰り返し検出窓の設定を行なうとともに、検出窓を設定して求めた上記ばらつきが所定値未満である領域については避けて以後の検出窓の設定を行なうとしてもよい。当該構成によれば、一度検出窓を設定したときにオブジェクトの有無判定の対象から外された領域については、以降、検出窓の設定対象から除外される。そのため、入力画像全体を対象として精密にオブジェクトの検出を試みる場合においても、処理量および処理時間が効果的に軽減される。
【０００９】
上記判定部は、検出窓内の画像にかかる情報を入力し上記オブジェクトの有無を示す情報を出力するニューラルネットワークを利用することにより、オブジェクトの有無を判定するとしてもよい。当該構成によれば、ニューラルネットワークを用いることにより、精度良くオブジェクトの有無を判定することができる。
【００１０】
本発明の技術的思想は、上述したオブジェクト検出装置の発明以外にも、上述したオブジェクト検出装置が備える各部が行なう各処理工程を備えたオブジェクト検出方法の発明や、上述したオブジェクト検出装置が備える各部に対応した機能をコンピュータに実行させるオブジェクト検出プログラムの発明としても捉えることができる。また、入力画像から所定のオブジェクトを検出するとともに、入力画像に基づく印刷を実行する印刷装置であって、上記入力画像における画像領域のうち上記オブジェクトに対応する色域に属する画像領域以外の画像領域の画素値を、所定の代表値に置き換える変換部と、上記置き換えが実行された入力画像上に検出窓を設定し、当該検出窓内における画素値のばらつきを求めるとともに、当該ばらつきが所定値以上である場合に、当該検出窓内の画像を対象として上記オブジェクトの有無を判定する判定部と、上記判定部によってオブジェクトが有ると判定された検出窓内の画像に基づいて決定した補正情報に応じて上記入力画像の少なくとも一部を補正し、当該補正後の入力画像に基づいて印刷を行なう印刷制御部とを備える構成も把握することが可能である。
【発明を実施するための最良の形態】
【００１１】
下記の順序に従って本発明の実施形態を説明する。
１．プリンタの概略構成：
２．プリンタによる処理：
２‐１．前処理：
２‐２．オブジェクトの有無判定の要否判断：
２‐３．オブジェクトの有無判定から印刷まで：
３．変形例：
【００１２】
１．プリンタの概略構成：
図１は、本発明のオブジェクト検出装置および印刷装置の一例に該当するプリンタ１０の構成を概略的に示している。プリンタ１０は、記録メディア（例えば、メモリカードＭＣ等）から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラーインクジェットプリンタである。プリンタ１０は、プリンタ１０の各部を制御するＣＰＵ１１と、例えばＲＯＭやＲＡＭによって構成された内部メモリ１２と、ボタンやタッチパネルにより構成された操作部１４と、液晶ディスプレイにより構成された表示部１５と、プリンタエンジン１６と、カードインターフェース（カードＩ／Ｆ）１７と、ＰＣやサーバやデジタルスチルカメラ等の外部機器との情報のやり取りのためのＩ／Ｆ部１３とを備えている。プリンタ１０の各構成要素は、バスを介して互いに接続されている。
【００１３】
プリンタエンジン１６は、印刷データに基づき印刷を行う印刷機構である。カードＩ／Ｆ１７は、カードスロット１７２に挿入されたメモリカードＭＣとの間でデータのやり取りを行うためのＩ／Ｆである。メモリカードＭＣには画像データが格納されており、プリンタ１０は、カードＩ／Ｆ１７を介してメモリカードＭＣに格納された画像データを取得することができる。画像データ提供のための記録メディアとしてはメモリカードＭＣ以外にも種々の媒体を用いることができる。むろんプリンタ１０は、記録メディア以外にも、Ｉ／Ｆ部１３を介して接続した上記外部機器から画像データを入力することも可能である。プリンタ１０は、コンシューマ向けの印刷装置であってもよいし、ＤＰＥ向けの業務用印刷装置（いわゆるミニラボ機）であってもよい。操作部１４や表示部１５は、プリンタ１０本体とは別体の入力操作部（マウスやキーボードなど）やディスプレイであってもよい。プリンタ１０は、Ｉ／Ｆ部１３を介して接続したＰＣやサーバ等から印刷データを入力することもできる。
【００１４】
内部メモリ１２には、オブジェクト検出部２０と、画像補正部３０と、表示処理部４０と、印刷処理部５０とが格納されている。オブジェクト検出部２０や画像補正部３０は、所定のオペレーティングシステムの下で、後述する前処理や、オブジェクト検出処理や、画像補正処理等を実行するためのコンピュータプログラムである。表示処理部４０は、表示部１５を制御して、表示部１５に処理メニューやメッセージを表示させるディスプレイドライバである。印刷処理部５０は、画像データから印刷データを生成し、プリンタエンジン１６を制御して、印刷データに基づく画像の印刷を実行するためのコンピュータプログラムである。ＣＰＵ１１は、内部メモリ１２から、これらのプログラムを読み出して実行することにより、これら各部の機能を実現する。
【００１５】
オブジェクト検出部２０は、プログラムモジュールとして、変換部２１と、検出窓設定部２２と、要否判断部２３と、検出実行部２４とを含んでいる。画像補正部３０は、プログラムモジュールとして、補正情報決定部３１と、補正実行部３２とを含んでいる。検出窓設定部２２と、要否判断部２３と、検出実行部２４とは、特許請求の範囲に言う判定部に該当する。画像補正部３０と、印刷処理部５０とは、特許請求の範囲に言う印刷制御部に該当する。これら各部の機能については後述する。さらに、内部メモリ１２には、色域定義情報１４ｂや、ニューラルネットワークＮＮ等の各種データやプログラムが格納されている。プリンタ１０は、印刷機能以外にも、コピー機能やスキャナ機能など多種の機能を備えたいわゆる複合機であってもよい。
【００１６】
２．プリンタによる処理：
２‐１．前処理：
図２は、本実施形態においてプリンタ１０が実行する処理をフローチャートにより示している。ステップＳ（以下、ステップの表記は省略。）１００では、オブジェクト検出部２０が、画像処理の対象となる画像（入力画像）を表した画像データＤを、メモリカードＭＣ等、所定の記録メディアから取得する。つまりオブジェクト検出部２０は、入力画像を取得する。むろん、オブジェクト検出部２０は、プリンタ１０がハードディスクドライブ（ＨＤＤ）を有していれば、当該ＨＤＤに保存されている画像データＤを取得可能であるし、上述したようにＩ／Ｆ部１３を介して接続した上記外部機器から画像データＤを取得可能である。つまり、ユーザが表示部１５に表示されたユーザインターフェース（ＵＩ）画面を参照しながら操作部１４を操作して、入力画像としての画像データＤを任意に選択するとともに当該選択した画像データＤの印刷指示を行なった場合に、オブジェクト検出部２０は上記選択にかかる画像データＤを記録メディア等から取得する。
【００１７】
画像データＤは、複数の画素からなるビットマップデータであり、それぞれの画素は、ＲＧＢ各チャネルの階調（例えば、０〜２５５の２５６階調）の組み合わせで表現されている。画像データＤは、記録メディア等に記録されている段階で圧縮されていてもよいし、他の色空間で各画素の色が表現されていてもよい。これらの場合、オブジェクト検出部２０は、画像データＤの展開や色空間の変換を実行してＲＧＢビットマップデータとしての画像データＤを取得する。
【００１８】
Ｓ２００では、オブジェクト検出部２０は、画像データＤを縮小化する。オリジナルの画像サイズのままの画像データＤを対象として、後述する前処理やオブジェクト検出処理を行なった場合には処理負担が大きい。そのため、オブジェクト検出部２０は、画像データＤについて画素数を減らすなどして画像サイズを縮小し、縮小後の画像データを取得する。オブジェクト検出部２０は、例えば、画像データＤをＱＶＧＡ（Quarter Video Graphics Array）サイズ（３２０画素×２４０画素）に縮小した画像データＤＲを取得する。本実施形態では、画像データＤＲについても適宜、入力画像と呼ぶ。
【００１９】
Ｓ３００では、オブジェクト検出部２０の変換部２１が、画像データＤＲの画像領域のうち所定のオブジェクトに対応する色域に属する画像領域以外の画像領域の画素値を、所定の代表値に置き換える。本実施形態では、オブジェクトは人間の顔画像であるとして説明を行なう。また、人間の顔画像に対応する色域とは肌色域を意味する。ただし本発明の構成を用いて検出可能なオブジェクトは人間の顔画像に限られるものではなく、人工物や、生物や、自然物や、風景など、様々な対象をオブジェクトとして検出することが可能である。
【００２０】
図３は、Ｓ３００の詳細をフローチャートにより示している。Ｓ３１０では、変換部２１は、画像データＤＲを構成する画素のうち１つの画素を選択する。
Ｓ３２０では、変換部２１は、直近のＳ３１０で選択された画素の色が、肌色域に属するか否かを、内部メモリ１２に保存された色域定義情報１４ｂを参照することにより判定する。色域定義情報１４ｂは所定の表色系において肌色域を定義した情報である。肌色域を定義する表色系は、国際照明委員会（ＣＩＥ）で規定されたＬ*ａ*ｂ*表色系（以下、「*」の表記は省略。）や、ＣＩＥ規定のＸＹＺ表色系や、ＲＧＢ表色系や、ＨＳＶ表色系など、様々な表色系を採用可能である。
【００２１】
図４は、色域定義情報１４ｂが定義する肌色域Ａ１の一例等を示している。図４では、Ｌａｂ表色系のａｂ平面において円形の肌色域Ａ１を示している。色域定義情報１４ｂは例えば、肌色域Ａ１をその領域の位置（中心位置）Ｐ１と領域の半径ｒとによって定義している。ただし肌色域Ａ１の形状は円形である必要はないし、立体であってもよい。色域定義情報１４ｂは、ある表色系において肌色らしい色域の範囲を規定した情報であればよい。Ｓ３２０において変換部２１は、直近のＳ３１０で選択された画素のＲＧＢデータを、色域定義情報１４ｂが肌色域Ａ１を定義する表色系（Ｌａｂ表色系）のデータ（Ｌａｂデータ）に変換し、変換後のＬａｂデータ（Ｌａｂデータのａ値およびｂ値）が肌色域Ａ１内に属する場合にはＳ３３０をスキップしてＳ３４０に進み、一方、変換後のＬａｂデータが肌色域Ａ１に属さない場合にはＳ３３０に進む。ＲＧＢデータからＬａｂデータへの変換は、ＲＧＢ表色系からＬａｂ表色系への変換を行なう所定の色変換プロファイルなどを用いることで可能である。内部メモリ１２には、かかるプロファイルも保存されているとしてもよい。本実施形態では、Ｓ３２０において肌色域に属すると判定された画素を肌色画素と呼び、Ｓ３２０において肌色に属さないと判定された画素を非肌色画素と呼ぶ。
【００２２】
Ｓ３３０では、変換部２１は、直近のＳ３２０で非肌色画素と判定された画素の画素値（ＲＧＢデータ）を所定の代表値（代表色）に置き換える（変換する）。代表値としては、例えば黒色を表す値（Ｒ＝Ｇ＝Ｂ＝０）が該当する。言い換えると、変換部２１は、非肌色画素からなる領域を代表値の色で塗りつぶす。代表値は上記のように１種類であってもよいが、本実施形態では代表値は複数存在するとしている。図４では、一例としてａｂ平面において、肌色域Ａ１以外の色域であって、緑色らしい色域（緑色域）Ａ２と、空（主に青空）色らしい色域（空色域）Ａ３と、マゼンダらしい色域（マゼンダ色域）Ａ４とを示している。また、緑色域Ａ２、空色域Ａ３、マゼンダ色域Ａ４それぞれの中心位置を、各色域Ａ２，Ａ３，Ａ４に対応する代表値Ｐ２，Ｐ３，Ｐ４の色としている。つまり色域定義情報１４ｂは、緑色域Ａ２、空色域Ａ３、マゼンダ色域Ａ４の各範囲や、色域Ａ２，Ａ３，Ａ４毎の代表値Ｐ２，Ｐ３，Ｐ４の色（ＬａｂデータやＲＧＢデータ）等についても予め定義している。むろん、本実施形態において予め定義される代表値の種類や数は図４に示したものに限られない。
【００２３】
変換部２１はＳ３３０では、非肌色画素の色が、ａｂ平面において緑色域Ａ２に属する場合には、当該非肌色画素の画素値（ＲＧＢデータ）を、緑色域Ａ２の代表値Ｐ２としてのＲＧＢデータ（例えば、Ｒ＝０，Ｇ＝２５５，Ｂ＝０。）に置き換える。同様に変換部２１は、非肌色画素の色が空色域Ａ３に属する場合には、その画素値を、空色域Ａ３の代表値Ｐ３としてのＲＧＢデータに置き換え、非肌色画素の色がマゼンダ色域Ａ４に属する場合には、その画素値を、マゼンダ色域Ａ４の代表値Ｐ４としてのＲＧＢデータに置き換える。非肌色画素の色が、肌色域および上記のように定義された各代表値に対応する各色域の何れにも属さない場合には、別の所定の代表値（例えば黒色を表す値）のＲＧＢデータに、その画素値を置き換える。このように本実施形態では、色相の異なる代表色（代表値）が予め複数設定されており、変換部２１は、非肌色画素の画素値について、その画素の色が近いいずれかの代表値に置き換える作業を行なう。
【００２４】
Ｓ３４０では、変換部２１は、画像データＤＲを構成する全ての画素についてＳ３１０で一度ずつ選択したか否か判断し、未選択の画素が残存している場合にはＳ３１０に戻って新たに画素を１つ選択し、一方、未選択の画素が残存していない場合には、Ｓ３００の処理を終える。この結果、画像データＤＲにおいては、肌色域に属する画像領域以外の各画像領域であって色相が異なる各画像領域の色が、それぞれが対応する代表色で塗りつぶされた状態となる。なお変換部２１は、非肌色画素の画素値を代表値に置き換える際に、代表値の種類（上記の例で言えば、代表値Ｐ２，Ｐ３，Ｐ４等。）別に、置き換えた画素数を累計し、この累計数を内部メモリ１２の所定領域に記録する。また変換部２１は、肌色画素の数（Ｓ３２０において“Ｙｅｓ”の判定をした回数）についても累計し、この累計数を内部メモリ１２の所定の領域に記録する。
【００２５】
Ｓ４００（図２）では、変換部２１は、Ｓ３００の処理後の画像データＤＲをグレー画像へ変換する。つまり変換部２１は、画像データＤＲの各画素のＲＧＢデータを輝度値Ｙ（０〜２５５）に変換し、画素毎に１つの輝度値Ｙを有するモノクロ画像としての画像データＤＲを生成する。輝度値Ｙは一般的に、Ｒ，Ｇ，Ｂを所定の重み付けで加算することにより求めることができる。本実施形態では、Ｓ２００〜Ｓ４００を前処理と呼ぶ。ただし前処理において、Ｓ２００（画像データＤの縮小）は必須ではない。そのため、Ｓ２００を実行しない場合には、変換部２１は、画像データＤを対象としてＳ３００，Ｓ４００さらには後述のＳ５００，Ｓ６００を実行する。またＳ４００（画像データＤＲまたは画像データＤのグレー画像への変換）は、後述するオブジェクト検出処理の便宜を考慮して予め行なうものであるが、かかるＳ４００も前処理において必須と言うわけではなくスキップしてもよい。
【００２６】
２‐２．オブジェクトの有無判定の要否判断：
Ｓ５００では、オブジェクト検出部２０はオブジェクト検出処理を実行する。概略的には、オブジェクト検出部２０は、前処理が行なわれた画像データＤＲ（または前処理が行なわれた画像データＤ。以下同様。）において検出窓ＳＷを設定し、検出窓ＳＷ内での画素値のばらつきを求め、当該ばらつきが所定値以上である場合に検出窓ＳＷ内の画像を対象としてオブジェクト（顔画像）の有無を判定する処理を、検出窓ＳＷ毎に繰り返す。
【００２７】
図５は、Ｓ５００の詳細をフローチャートにより示している。
Ｓ５１０では、オブジェクト検出部２０の検出窓設定部２２が、前処理後の画像データＤＲにおいて検出窓ＳＷを１つ設定する。検出窓ＳＷの設定方法は特に限られないが、検出窓設定部２２は一例として、以下のように検出窓ＳＷを設定する。
図６は、画像データＤＲにおいて検出窓ＳＷを設定する様子を示している。検出窓設定部２２は、１回目のＳ５１０では、画像内の先頭位置（例えば、画像の左上の角位置）に複数の画素を含む所定の大きさの矩形状の検出窓ＳＷ（２点鎖線）を設定する。検出窓設定部２２は、２回目以降のＳ５１０の度に、それまで検出窓ＳＷを設定していた位置から検出窓ＳＷを画像の横方向およびまたは縦方向に所定距離（所定画素数分）移動させ、移動先の位置において検出窓ＳＷを新たに１つ設定する。検出窓設定部２２は、検出窓ＳＷの大きさを維持した状態で画像データＤＲの最終位置（例えば、画像の右下の角位置）まで検出窓ＳＷを移動させながら繰り返し検出窓ＳＷを設定したら、先頭位置に戻って検出窓ＳＷを設定する。
【００２８】
検出窓設定部２２は、検出窓ＳＷを先頭位置に戻した場合には、それまでよりも矩形の大きさを縮小した検出窓ＳＷを設定する。その後、検出窓設定部２２は上記と同様に、検出窓ＳＷの大きさを維持した状態で画像データＤＲの最終位置まで検出窓ＳＷを移動させつつ、各位置において検出窓ＳＷ設定する。検出窓設定部２２は、検出窓ＳＷの大きさを予め決められた回数だけ段階的に縮小しながら、このような検出窓ＳＷの移動と設定を繰り返す。ただし本実施形態では、検出窓ＳＷを移動させる過程で画像データＤＲのあらゆる領域を検出窓ＳＷの設定対象とするのではなく、一部の領域に関しては避けて検出窓ＳＷを設定することもある。このようにＳ５１０において検出窓ＳＷが１つ設定される度に、Ｓ５２０以降の処理が行なわれる。
【００２９】
Ｓ５２０では、要否判断部２３が、直近のＳ５１０で前処理後の画像データＤＲに対して設定された検出窓ＳＷ内の画素値のばらつきを算出する。ばらつきの算出対象となる画素値は各画素のＲＧＢでもよいが、本実施形態では前処理において基本的にグレー画像への変換が行なわれているため、各画素の輝度値Ｙのばらつきを算出する。要否判断部２３が算出するばらつきとしては、例えば、検出窓ＳＷ内のコントラストの幅（検出窓ＳＷ内の最大輝度値と最小輝度値との差）が該当する。あるいは、要否判断部２３は、検出窓ＳＷ内の輝度値Ｙの分散σ2や、輝度値Ｙの標準偏差σを求め、これら分散σ2や、標準偏差σをばらつきとしてもよい。分散σ2は、次式（１）によって求めることができる。
【数１】
0005067224.tif 000002
ｎは、検出窓ＳＷ内の画素数である。Ｙiは、ｎ個の画素中のｉ番目の画素の輝度値Ｙであり、ｍは、Ｙiの平均値である。
【００３０】
図７Ａは、前処理後の画像データＤＲの一部領域であって、共通の代表値に置き換えられた非肌色画素からなる領域を示している。図７Ｂは、前処理後の画像データＤＲの一部領域であって、肌色画素からなる領域を示している。図７Ａ、図７Ｂはいずれも各画素の輝度値Ｙを示している。図７から明らかなように、１つの代表値の色で塗りつぶされている領域内では輝度値Ｙの変化は無く、輝度値Ｙのばらつきは０となる。一方、肌色画素が集まる領域では、各画素の輝度値Ｙは変化に富んでおり、輝度値Ｙのばらつきもある程度大きな値となる。従って、検出窓ＳＷ内の上記ばらつきの値が大きいほど、検出窓ＳＷ内には肌色画素が多く含まれていると判断することができる。
【００３１】
そこでＳ５３０では、要否判断部２３は、直近のＳ５２０で算出されたばらつき（例えば、分散σ2）と、所定のしきい値Ｔｈとを比較する。そして、ばらつきがしきい値Ｔｈ以上である場合には、Ｓ５４０に進む。すなわち、ばらつきがしきい値Ｔｈ以上であれば、検出窓ＳＷに肌色画素が多く存在し顔画像の有無を判定する必要性がある（検出窓ＳＷが顔画像を含んでいる可能性が有る）と言えるため、要否判断部２３はＳ５４０に進む。一方、要否判断部２３は、ばらつきがしきい値Ｔｈ未満である場合には、Ｓ５４０，Ｓ５５０をスキップしてＳ５６０に進む。すなわち、ばらつきがしきい値Ｔｈ未満であれば、検出窓ＳＷに肌色画素が存在していないか存在していても非常に少なく、そのため顔画像の有無を判定する必要性が無いと言えるため、要否判断部２３はＳ５６０に進む。本実施形態では、例えば、サンプル用の複数の顔画像毎に算出した輝度値の分散σ2より小さく、かつ上記代表値（単数あるいは複数の代表値）で塗りつぶされた複数のサンプル用の画像毎に算出した輝度値の分散σ2よりも大きい値を、予め実験によって求め、当該求めた値をしきい値Ｔｈとして内部メモリ１２等に記録し、かかるしきい値Ｔｈを要否判断部２３が利用するようにしている。あるいは、ユーザが操作部１４を操作することにより、しきい値Ｔｈをプリンタ１０に与えるとしてもよい。
【００３２】
２‐３．オブジェクトの有無判定から印刷まで：
Ｓ５４０では、検出実行部２４が、直近のＳ５１０で設定された検出窓ＳＷ内の画像を対象として、顔画像の有無の判定（顔判定）を行なう。そして、顔画像が存在すると判定した場合にはＳ５５０に進み、顔画像が存在しないと判定した場合にはＳ５５０をスキップしてＳ５６０に進む。検出実行部２４はＳ５４０において、顔画像が存在するか否かを判定可能な手法であればあらゆる手法を採用可能であるが、本実施形態では一例として、ニューラルネットワークＮＮを利用した判定を行なう。
【００３３】
図８は、検出実行部２４が実行するＳ５４０の詳細をフローチャートにより示している。検出実行部２４は、Ｓ５４１において、直近のＳ５１０で設定された検出窓ＳＷ内の画素からなる画像データ（窓画像データ）ＸＤを取得すると、Ｓ５４２において、窓画像データＸＤから複数の特徴量を算出する。これらの特徴量は、窓画像データＸＤに対して各種のフィルタを適用し、当該フィルタ内の輝度平均やエッジ量やコントラスト等の画像的特徴を示す特徴量（平均値や最大値や最小値や標準偏差等）を算出することにより得られる。
【００３４】
図９は、窓画像データＸＤから特徴量を算出する様子を示している。同図において、画像データＸＤとの相対的な大きさおよび位置が異なる多数のフィルタＦＴが用意されており、各フィルタＦＴを順次窓画像データＸＤに適用し、各フィルタＦＴ内の画像的特徴に基づいて、複数の特徴量ＣＡ，ＣＡ，ＣＡ…を算出する。特徴量ＣＡ，ＣＡ，ＣＡ…が算出できると、検出実行部２４は、Ｓ５４３において、特徴量ＣＡ，ＣＡ，ＣＡ…を、予め用意したニューラルネットワークＮＮに入力し、その出力として顔画像が存在する／しないの判定結果を算出する。
【００３５】
図１０は、ニューラルネットワークＮＮの構造の一例を示している。ニューラルネットワークＮＮは、前段層のユニットＵの値の線形結合（添え字ｉは前段層のユニットＵの識別番号。）によって後段層のユニットＵの値が決定される基本構造を有している。さらに、線形結合によって得られた値をそのまま次の層のユニットＵの値としてもよいが、線形結合によって得られた値を例えばハイパボリックタンジェント関数のような非線形関数によって変換して次の層のユニットＵの値を決定することにより、非線形特性を与えてもよい。ニューラルネットワークＮＮは、最外の入力層と出力層と、これらに挟まれた中間層から構成されている。各特徴量ＣＡ，ＣＡ，ＣＡ…がニューラルネットワークＮＮの入力層に入力可能となっており、出力層では出力値Ｋ（０〜１に正規化された値）を出力することが可能となっている。Ｓ５４４では、検出実行部２４は、例えばニューラルネットワークＮＮの出力値Ｋが０．５以上であれば窓画像データＸＤに顔画像が存在することを示す値であると判定し、Ｓ５５０に進む。一方、検出実行部２４は、出力値Ｋが０．５未満であれば窓画像データＸＤに顔画像が存在しないことを示す値であると判定し、Ｓ５６０に進む。
【００３６】
図１１は、ニューラルネットワークＮＮを学習によって構築する様子を模式的に示している。本実施形態では、誤差逆伝搬（error back propagation）法によってニューラルネットワークＮＮの学習を行うことにより、各ユニットＵの数や、各ユニットＵ間における線形結合の際の重みｗの大きさやバイアスｂの値が最適化される。誤差逆伝搬法による学習においては、まず各ユニットＵ間における線形結合の際の重みｗの大きさやバイアスｂの値を適当な値に初期設定する。そして、顔画像が存在しているか否かが既知の学習用画像データについてＳ５４２，Ｓ５４３と同様の手順で特徴量ＣＡ，ＣＡ，ＣＡ…を算出し、当該特徴量ＣＡ，ＣＡ，ＣＡ…を初期設定されたニューラルネットワークＮＮに入力し、その出力値Ｋを取得する。本実施形態では、顔画像が存在している学習用画像データについては出力値Ｋとして１が出力されるのが望ましく、顔画像が存在していない学習用画像データについて出力値Ｋとして０が出力されるのが望ましい。しかしながら、各ユニットＵ間における線形結合の際の重みｗの大きさやバイアスｂの値を適当な値に初期設定したに過ぎないため、実際の出力値Ｋと理想的な値との間には誤差が生じることとなる。このような誤差を極小化させる各ユニットＵについての重みｗやバイアスｂを、勾配法等の数値最適化手法を用いて算出する。以上のような誤差は、後段の層から前段の層に伝搬され、後段のユニットＵについて重みｗやバイアスｂが順に最適化されていく。
【００３７】
このような学習を複数の上記学習用画像データを用いて行なうことで最適化がなされたニューラルネットワークＮＮを、内部メモリ１２に予め用意しておくことにより、顔画像が窓画像データＸＤに存在するか否かを特徴量ＣＡ，ＣＡ，ＣＡ…に基づいて判定することが可能となる。
Ｓ５５０（図５）では、検出実行部２４は、直近のＳ５４０で顔画像が存在すると判定された検出窓ＳＷの位置（例えば、画像データＤＲ上における検出窓ＳＷの中心位置）および当該検出窓ＳＷの矩形の大きさを、内部メモリ１２の所定領域に記録する。このように検出窓ＳＷの位置や大きさを記録する行為が、顔画像の検出行為の一例に該当する。
【００３８】
Ｓ５６０では、検出窓設定部２２が、図６を用いて説明した検出窓ＳＷの設定方法の思想の下、検出窓ＳＷを移動させ更にその大きさを縮小したりして未だ検出窓ＳＷを設定する余地があれば、Ｓ５１０に戻り、新たに検出窓ＳＷを画像データＤＲ上に１つ設定する。一方、検出窓ＳＷの縮小を上記予め決められた回数分重ね、可能な検出窓ＳＷの設定を全て終えた場合には、オブジェクト検出部２０は、Ｓ５００の処理を終える。
本実施形態では、１つの検出窓ＳＷを設定し（Ｓ５１０）、当該検出窓ＳＷに関して、上記ばらつきがしきい値Ｔｈ未満であると判定された場合（Ｓ５３０において“Ｎｏ”）には、当該検出窓ＳＷが画像データＤＲにおいて占めていた領域については、以降のＳ５１０において、検出窓ＳＷの設定対象とはしないものとする。つまり、一旦、顔判定を行なう必要性が無いと判断された領域については、それ以降は避けて検出窓ＳＷを設定することにより、できるだけ検出窓ＳＷの設定回数を減らし、処理の高速化を図っている。
【００３９】
Ｓ６００（図２）では、画像補正部３０の補正情報決定部３１が、入力画像に対する補正に用いられる補正情報を決定する。入力画像に対する補正とは、例えば、明るさ補正や、コントラスト補正や、彩度補正や、特定の記憶色に対する補正などが該当する。本実施形態では、補正情報決定部３１は、Ｓ５００において顔画像が検出された場合には、少なくとも当該顔画像に基づいて補正情報を決定する。具体的には、補正情報決定部３１は、内部メモリ１２に、顔画像として検出された検出窓ＳＷの位置および大きさの情報が記録されている場合には、画像データＤＲからこの検出窓ＳＷの位置および大きさの情報が示す範囲の画像データ（顔画像データと呼ぶ。）を抽出する。顔画像データの抽出対象となる画像データＤＲは、前処理後の画像データＤＲでもよいし、非肌色画素についての代表値への置き換えが行なわれる前のＳ２００直後の画像データＤＲであってもよい。補正情報決定部３１は、顔画像データに基づいて補正情報（補正パラメータ）を算出する。例えば、補正情報決定部３１は、顔画像データ内の輝度の平均値を算出し、当該平均値と、所定の目標値との差分を算出し、当該算出した差分を補正情報とする。 
【００４０】
Ｓ７００では、補正実行部３２が、Ｓ６００で決定された補正情報に基づいて、前処理が行なわれる前の画像データＤの少なくとも一部を補正する。例えば、補正情報が上述したような顔画像データ内の輝度の平均値と目標値との差分であれば、当該差分に相当する輝度を、画像データＤ上の顔画像データに対応する領域（画像データＤに対する位置および大きさが、画像データＤＲに対する顔画像データの位置および大きさの関係と等しい領域）の各画素に対して足す。その結果、画像データＤ上の顔画像の明るさを向上させることができる。また、上記差分の大きさに基づいてトーンカーブの湾曲度合いを決定し、当該トーンカーブを用いて画像データＤの各画素値を補正するとしてもよい。むろん、Ｓ６００で決定する補正情報の種類やＳ７００で行なう補正の種類は上述したものに限られない。
【００４１】
さらにＳ７００では、上述した補正に加え、あるいは入力画像から顔画像が検出されなかった場合には単独で、以下のように入力画像のシーンに応じた補正を行うとしてもよい。上述したように変換部２１は、代表値に置き換えた画素について、代表値の種類別に画素数（累計数）を内部メモリ１２に記録しており、また肌色画素の累計数も内部メモリ１２に記録している。そこで補正実行部３２は、かかる累計数に基づいて入力画像のシーンを判定し、判定したシーンに応じた補正を行なう。例えば、ある１つの色域の代表値に置き換えられた画素数が、画像データＤＲの全画素数に対する一定の割合（例えば５０％）を超える場合には、当該１つの色域の色の傾向が強いシーンであると判定し、当該判定したシーンに対応した補正を行なう。例えば、補正実行部３２は、空色域の代表値に置き換えられた画素数が上記一定割合を超えている場合には、入力画像が青空や海を多く含むシーンを撮影した画像であるとみなし、青空や海のブルーの発色度合いを上げるような色補正を画像データＤに対して行なう。また補正実行部３２は、肌色画素の累計数と各代表値毎の累計数との比率に応じて、上記顔画像データから算出した補正情報に基づく補正の度合いを強めたり弱めたりする（肌色画素の累計数が少ない場合には、補正情報に基づく補正の度合いを弱める）としてもよい。
【００４２】
このようにオブジェクトを検出するまでの処理過程で得られた情報に基づいて、画像補正時のシーン判定を行うことができる。そのため、シーン判定のために必要な情報を画像補正部３０が別途生成する必要もなくなり、画像補正処理も高速化される。
Ｓ８００では、印刷処理部５０が、プリンタエンジン１６を制御して、入力画像の印刷を行う。すなわち印刷処理部５０は、補正が施された後の画像データＤに、解像度変換処理や色変換処理やハーフトーン処理など必要な各処理を施して印刷データを生成する。生成された印刷データは、印刷処理部５０からプリンタエンジン１６に供給され、プリンタエンジン１６は印刷データに基づいた印刷を実行する。これにより、入力画像の印刷が完了する。 
【００４３】
このように本実施形態によれば、入力画像に対して検出窓ＳＷを設定して検出窓ＳＷ毎にオブジェクト（顔画像）の有無を判定する処理の前処理として、入力画像の画素について肌色域に属するか否か判定し、非肌色画素については画素値を代表値に置き換えることにより、肌色域に属する画像領域以外の画像領域を代表値で塗りつぶすとした。そして、前処理を施した入力画像上において検出窓ＳＷを設定し、検出窓ＳＷ内における画素値のばらつきの大きさを評価し、ばらつきがしきい値Ｔｈ未満である場合には、当該検出窓ＳＷについては顔判定を行なうことなく、入力画像上の他の位置に検出窓ＳＷを新たに設定するとした。すなわち、入力画像上の各箇所のうちオブジェクトの有無を判定する必要性の無い箇所については、当該判定を行なう対象から外すようにした。そのため、オブジェクトの検出精度を落とすことなく、入力画像において検出窓ＳＷの設定とオブジェクトの有無の判定とを繰り返す処理の全体量を大幅に減らすことができ、その結果、オブジェクト検出処理が非常に高速化される。
【００４４】
３．変形例：
本実施形態において、色域定義情報１４ｂが定義する肌色域は１つに限られない。色域定義情報１４ｂは、広さが異なる複数種類の肌色域を予め定義した情報であってもよい。そして変換部２１は、入力画像の特性に応じて、Ｓ３２０（図３）の判定に用いる肌色域を変更するとしてもよい。この場合、変換部２１は入力画像の解析を所定のタイミングで行なう。例えば変換部２１は、Ｓ２００とＳ３００（図２）との間のタイミングにおいて、画像データＤＲのＲ，Ｇ，Ｂ毎の度数分布（ヒストグラム）を生成する。そして、Ｒ，Ｇ，Ｂそれぞれのヒストグラムにおいて特徴量、例えば平均値（メジアンや最大分布値であってもよい。）Ｒave，Ｇave，Ｂaveを算出し、これら平均値Ｒave，Ｇave，Ｂave間の相対的な位置関係に基づいて、入力画像がいわゆる色かぶり画像であるか否かを判定する。
【００４５】
図１２Ａ、図１２Ｂ、図１２Ｃはそれぞれ、画像データＤＲにおけるＲ，Ｇ，Ｂ毎のヒストグラムの例を示している。例えば、変換部２１は、平均値Ｒave，Ｇave，Ｂave間の差分｜Ｒave−Ｇave｜、｜Ｒave−Ｂave｜、｜Ｂave−Ｇave｜のうち、｜Ｒave−Ｇave｜および｜Ｒave−Ｂave｜が｜Ｂave−Ｇave｜よりもある値以上の差をもって大きく、かつＲave＞Ｇave、かつＲave＞Ｂaveであれば、入力画像はいわゆる赤かぶりあるいはオレンジかぶり（色かぶりの一種）の状態であると判定できる。また色変換部２１は、入力画像がいわゆる逆光画像であるか否かも入力画像を解析して判定する。変換部２１は、例えば、画像データＤＲの輝度のヒストグラムを生成し、輝度のヒストグラムの形状を解析することにより、逆光画像か否かの判定を行なう。例えば、輝度のヒストグラムにおいて、低輝度側の所定の輝度範囲と高輝度側の所定の輝度範囲とに分かれて２つの分布の山が存在し、２つの山をそれぞれ構成する画素数が所定の基準数を超えている場合に逆光画像であると判定する。あるいは、逆光画像においては画像の中央部が暗くなっていることが多いため、変換部２１は、画像データＤＲ上の所定の中央領域から画素をサンプリングし、このサンプリングした画素の平均輝度がある基準値より低い場合に、入力画像は逆光画像であると判定してもよい。入力画像が、色かぶり画像であるか否かの判定手法および、逆光画像であるか否かの判定手法は、上述した手法に限られない。
【００４６】
図１３は、色域定義情報１４ｂがＬａｂ表色系のａｂ平面において定義する２つの肌色域Ａ１Ｓ（第一の色域）および肌色域Ａ１Ｌ（第二の色域）を例示している。肌色域Ａ１Ｓの範囲は、図４に示した肌色域Ａ１と同じである。一方、肌色域Ａ１Ｌの範囲は、肌色域Ａ１Ｓの全体を含み、Ｌａｂ表色系における明度軸（グレー軸）を含み、さらに肌色域Ａ１Ｓよりもａ軸の＋側（赤方向）およびｂ軸の＋側（黄色方向）にそれぞれ拡大された範囲である。変換部２１は、入力画像が色かぶり画像または逆光画像であると判定した場合は、Ｓ３２０において、色域定義情報１４ｂが定義する肌色域Ａ１Ｓ，Ａ１Ｌのうち肌色域Ａ１Ｌを選択し、肌色域Ａ１Ｌに色が属する画素を肌色画素であると判定する。このように入力画像が色かぶり画像であったり逆光画像である場合に自動的に肌色域を大きな範囲に変更することにより、Ｓ３３０において代表値へ置き換えられる画素数が減り、Ｓ５００において顔判定が行なわれる検出窓ＳＷの数が増える（Ｓ５３０において“Ｙｅｓ”と判定される検出窓ＳＷの数が増える）。
【００４７】
この結果、入力画像において、一般的な肌色よりもオレンジっぽい色で顔が表されている状態（顔部分が赤かぶり（あるいはオレンジかぶり）の状態）であったり、一般的な肌色よりも低彩度の色で顔が表されている状態（顔部分が逆光状態）であっても、的確に顔画像が検出される。なおプリンタ１０は、Ｓ３２０の処理において肌色域Ａ１Ｓ，Ａ１Ｌのいずれを用いるかを、ユーザが操作部１４を操作して入力した指示に応じて決定してもよい。また、ユーザが速度を優先する処理処理（高速印刷モード）をプリンタ１０に対して設定した場合には、プリンタ１０は、肌色域Ａ１Ｓを選択するとしてもよい。なお色域定義情報１４ｂが定義する肌色域の種類は上記のように２種類に限られるものではなく、例えば、入力画像が色かぶり画像である場合に選択する肌色域と、逆光画像である場合に選択する肌色域とを分けて定義しておいてもよい。
【００４８】
Ｓ５４０において検出実行部２４が実行する顔判定であって、ニューラルネットワークＮＮを利用した手法以外の手法について説明する。
図１４は、検出実行部２４が行なう顔判定の手法の一例を模式的に示している。図１４に示す例では、複数の判定器Ｊ，Ｊ…を複数段カスケード状に接続した判定手段を使用する。ここで言う複数の判定器Ｊからなる判定手段は、実体的な装置であってもよいし、複数の判定器Ｊに相当する以下の判定機能を有したプログラムであってもよい。各判定器Ｊ，Ｊ…は、顔判定の対象となった窓画像データＸＤから、それぞれ異なる種類（例えばフィルタが異なる）の単数または複数の特徴量ＣＡ，ＣＡ，ＣＡ…をそれぞれ入力し、それぞれ正または否の判定を出力する。各判定器Ｊ，Ｊ…は、それぞれ特徴量ＣＡ，ＣＡ，ＣＡ…の大小比較や閾値判定等の判定アルゴリズムを有しており、それぞれ窓画像データＸＤが顔らしい（正）か顔らしくない（否）かの独自の判定を実行する。次の段の各判定器Ｊ，Ｊ…は、前の段の判定器Ｊ，Ｊ…の正の出力に接続されており、前の段の判定器Ｊ，Ｊ…の出力が正であった場合のみ次の段の判定器Ｊ，Ｊ…が判定を実行する。いずれの段においても否の出力がなされた時点で顔判定を終了させ、顔画像が存在しない旨の判定を出力する（Ｓ５４０において“Ｎｏ”）。一方、各段の判定器Ｊ，Ｊ…がすべて正の出力をした場合には、顔判定を終了させ、顔画像が存在する旨の判定を出力する（Ｓ５４０において“Ｙｅｓ”）。
【００４９】
図１５は、上記判定手段における判定特性を示している。同図においては、上述した各判定器Ｊ，Ｊ…において使用される特徴量ＣＡ，ＣＡ，ＣＡ…の軸で定義される特徴量空間を示しており、最終的に顔画像が存在すると判定される窓画像データＸＤから得られる特徴量ＣＡ，ＣＡ，ＣＡ…の組み合わせで表される特徴量空間内の座標をプロットしている。顔画像が存在すると判定される窓画像データＸＤは一定の特徴を有しているため、特徴量空間における一定の領域に分布が見られると考えることができる。各判定器Ｊ，Ｊ…は、このような特徴量空間において境界平面を生成し、当該境界平面で区切られた空間のうち、前記分布が属する空間に判定対象の特徴量ＣＡ，ＣＡ，ＣＡ…の座標が存在している場合には、正を出力する。従って、各判定器Ｊ，Ｊ…をカスケード状に接続することにより、徐々に正と出力される空間を絞り込んでいくことができる。複数の境界平面によれば、複雑な形状の前記分布についても精度よく判定を行うことができる。
【００５０】
なお、以上においては、本発明のオブジェクト検出装置およびオブジェクト検出方法がプリンタ１０によって具現化される例を示したが、例えばオブジェクト検出装置およびオブジェクト検出方法は、コンピュータや、デジタルスチルカメラや、スキャナ等の画像機器において実現されてもよい。さらに、プリンタのように印刷用紙上に画像処理結果を出力するものに限らず、フォトビューワのようにディスプレイ上に画像処理結果を出力する装置においても本発明を実現することができる。さらに、人物認証を行うＡＴＭ（Automated Teller Machine）等においても本発明を適用することができる。さらに、検出実行部２４が実行する顔判定は、上述した特徴量の特徴量空間における種々の判別手法を用いることも可能である。例えば、サポートベクタマシンを利用してもよい。
【図面の簡単な説明】
【００５１】
【図１】プリンタの概略構成を示すブロック図である。
【図２】プリンタが実行する処理を示すフローチャートである。
【図３】代表値への置き換え処理の詳細を示すフローチャートである。
【図４】色域定義情報が定義する肌色域等を示す図である。
【図５】オブジェクト検出処理の詳細を示すフローチャートである。
【図６】検出窓を設定する様子を示す図である。
【図７】前処理後の画像データ上の一部領域を示す図である。
【図８】ニューラルネットワークを用いた顔判定を示すフローチャートである。
【図９】窓画像データから特徴量を算出する様子を示す図である。
【図１０】ニューラルネットワークの構造の一例を示す図である。
【図１１】ニューラルネットワークを学習する様子を模式的に示す図である。
【図１２】ＲＧＢ毎のヒストグラムを示す図である。
【図１３】変形例において色域定義情報が定義する複数の肌色域を示す図である。
【図１４】変形例にかかる顔判定処理を模式的に示す図である。
【図１５】変形例にかかる顔判定処理の判定特性を示す図である。
【符号の説明】
【００５２】
１０…プリンタ、１１…ＣＰＵ、１２…内部メモリ、１４ｂ…色域定義情報、１６…プリンタエンジン、１７…カードＩ／Ｆ、２０…オブジェクト検出部、２１…変換部、２２…検出窓設定部、２３…要否判断部、２４…検出実行部、３０…画像補正部、３１…補正情報決定部、３２…補正実行部、５０…印刷処理部、１７２…カードスロット
【図１】
0005067224.tif 000003
【図２】
0005067224.tif 000004
【図３】
0005067224.tif 000005
【図４】
0005067224.tif 000006
【図５】
0005067224.tif 000007
【図６】
0005067224.tif 000008
【図７】
0005067224.tif 000009
【図８】
0005067224.tif 000010
【図９】
0005067224.tif 000011
【図１０】
0005067224.tif 000012
【図１１】
0005067224.tif 000013
【図１２】
0005067224.tif 000014
【図１３】
0005067224.tif 000015
【図１４】
0005067224.tif 000016
【図１５】
0005067224.tif 000017