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