(57)【特許請求の範囲】
【請求項１】
対象画像から所定オブジェクト画像を検出するオブジェクト検出方法であって、
前記対象画像を縮小して縮小画像を作成する画像縮小工程と、
前記対象画像を分割して分割画像を作成する画像分割工程と、
前記縮小画像又は前記分割画像のいずれかの画像に対して前記オブジェクト画像を検出する範囲を指定する検出枠を利用して、前記検出枠を所定の縮小度合いで縮小させつつ前記いずれかの画像から所定オブジェクト画像を検出する検出工程と、
を有し、
前記検出工程では、前記検出枠が所定大きさ以上の場合は、所定の縮小度合いにより縮小される第一の検出枠と前記縮小画像とを利用し、前記検出枠が所定大きさよりも小さい場合は、前記第一の検出枠と比べて縮小度合いが異なる第二の検出枠と前記分割画像とを利用して前記所定オブジェクト画像を検出することを特徴とするオブジェクト検出方法。
【請求項２】
前記画像分割工程において、１つの対象画像から作成される分割画像の少なくとも１つは、前記対象画像の略中央の所定領域を含む請求項１に記載のオブジェクト検出方法。
【請求項３】
前記画像分割工程において、１つの対象画像から作成された分割画像は、隣り合う部位から作成された分割画像に重複する部位を有する請求項１又は請求項２に記載のオブジェクト検出方法。
【請求項４】
前記重複する部位の幅は、前記検出枠の所定大きさに略一致する請求項３に記載のオブジェクト検出方法。
【請求項５】
前記検出工程において利用される画像は、所定量以下のデータを記憶可能な記憶媒体に記憶された画像データにて表現される画像であり、
前記縮小画像の画像データと前記分割画像の画像データは、それぞれ前記所定量以下のデータとして作成されて前記記憶媒体に記憶される請求項１〜請求項４の何れか１項に記載のオブジェクト検出方法。
【請求項６】
前記オブジェクト検出方法の各工程は、並列処理が可能なマルチコアプロセッサにて実行される処理であり、
前記検出工程においては、前記マルチコアプロセッサを利用して、前記縮小画像データの解析処理と前記分割画像データの解析処理とを並列処理する請求項５に記載のオブジェクト検出方法。
【請求項７】
対象画像から所定オブジェクト画像を検出するオブジェクト検出装置であって、
前記対象画像を縮小して縮小画像を作成する画像縮小手段と、
前記対象画像を分割して分割画像を作成する画像分割手段と、
前記縮小画像又は前記分割画像のいずれかの画像に対して前記オブジェクト画像を検出する範囲を指定する検出枠を利用して、前記検出枠を所定の縮小度合いで縮小させつつ前記いずれかの画像から所定オブジェクト画像を検出する検出手段と、
前記検出手段は、前記検出枠が所定大きさ以上の場合は、所定の縮小度合いにより縮小される第一の検出枠と前記縮小画像とを利用し、前記検出枠が所定大きさよりも小さい場合は、前記第一の検出枠と比べて縮小度合いが異なる第二の検出枠と前記分割画像とを利用して前記所定オブジェクト画像を検出することを特徴とするオブジェクト検出装置。
【請求項８】
入力された画像データの画像から前記所定オブジェクト画像を検出し、検出された所定オブジェクト画像に基づいて前記画像データに画質調整処理を行い、画質調整後の画像データの印刷を行う印刷装置である請求項７に記載のオブジェクト検出装置。
【請求項９】
対象画像から所定オブジェクト画像を検出する機能をコンピュータに実現させるためのオブジェクト検出プログラムであって、
前記対象画像を縮小して縮小画像を作成する画像縮小機能と、
前記対象画像を分割して分割画像を作成する画像分割機能と、
前記縮小画像又は前記分割画像のいずれかの画像に対して前記オブジェクト画像を検出する範囲を指定する検出枠を利用して、前記検出枠を所定の縮小度合いで縮小させつつ前記いずれかの画像から所定オブジェクト画像を検出する検出機能と、
をコンピュータに実現させ、
前記検出機能は、前記検出枠が所定大きさ以上の場合は、所定の縮小度合いにより縮小される第一の検出枠と前記縮小画像とを利用し、前記検出枠が所定大きさよりも小さい場合は、前記第一の検出枠と比べて縮小度合いが異なる第二の検出枠と前記分割画像とを利用して前記所定オブジェクト画像を検出する、オブジェクト検出プログラム。
【請求項１０】
対象画像から所定オブジェクト画像を検出する機能をコンピュータに実現させるためのオブジェクト検出プログラムを記録したコンピュータ読取可能な記録媒体であって、
前記対象画像を縮小して縮小画像を作成する画像縮小機能と、
前記対象画像を分割して分割画像を作成する画像分割機能と、
前記縮小画像又は前記分割画像のいずれかの画像に対して前記オブジェクト画像を検出する範囲を指定する検出枠を利用して、前記検出枠を所定の縮小度合いで縮小させつつ前記いずれかの画像から所定オブジェクト画像を検出する検出機能と、
をコンピュータに実現させ、
前記検出機能は、前記検出枠が所定大きさ以上の場合は、所定の縮小度合いにより縮小される第一の検出枠と前記縮小画像とを利用し、前記検出枠が所定大きさよりも小さい場合は、前記第一の検出枠と比べて縮小度合いが異なる第二の検出枠と前記分割画像とを利用して前記所定オブジェクト画像を検出する、オブジェクト検出プログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクト検出方法、オブジェクト検出装置、オブジェクト検出プログラムおよびオブジェクト検出プログラムを記録したコンピュータ読取可能な記録媒体に関し、特に、対象画像に含まれる所定オブジェクトを検出するオブジェクト検出方法、オブジェクト検出装置、オブジェクト検出プログラムおよびオブジェクト検出プログラムを記録したコンピュータ読取可能な記録媒体に関する。
【背景技術】
【０００２】
デジタルカメラの普及と家庭用プリンタの印刷品質向上に伴い、家庭でデジタル画像を印刷する機会が増えている。特に家庭で印刷されるデジタル画像は、デジタルカメラで撮影されたデジタル写真が多い。デジタル写真は光学的に取得されたデータであるため、そのまま印刷すると、実際に目で見た映像と違うと感じるユーザが多い。そこで、印刷前に写真データに画質調整を行い、ユーザの意図した印刷結果を得られるような画像データへの変換が行われている。無論、プリンタのみならず、デジタル画像を表示する機器としてのデジタルカメラやフォトビューワ等であっても、画像表示の際に画像データに対して画質調整を行い、表示結果がユーザにとって違和感の無い表示となるような画像データへの変換が行われることがある。
【０００３】
これら画像データの変換を適切に実行するためには、デジタル画像を解析し、デジタル画像の種類（人物写真、風景写真、ドキュメント等）判別を行ったり、デジタル画像に含まれるオブジェクト（人物の顔、山、海、建物、車両等）の位置や種類を特定したりする必要がある。特許文献１には、オブジェクトとして顔を検出する処理について記載されている。
【特許文献１】特開２００７−４８１０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年では、コンピュータを介さずに画像データをメモリカードやＵＳＢメモリ１３ａなどから直接プリンタが取得し、取得した画像データの印刷を行うダイレクトプリンタが増えつつある。コンピュータ経由で画像入力されるプリンタであれば、コンピュータで画質調整済みの画像データを入力すればよいが、ダイレクトプリンタでは、自機内で前述の画像種類判別処理やオブジェクト位置特定処理を行って適切な画質調整を選択しなければならない。自機内でこれらの処理を行うためには、ＲＡＭ等のワークエリアに画像データを展開する必要がある。しかしながら、家庭用プリンタでは、従来と同じ価格を維持することが市場から要求されており、コスト抑制のためにワークエリアサイズ増加が難しいという実状もある。
【０００５】
前述の実状があるにも関わらず、ワークエリアに読込まれるデータそのものは、デジタルカメラの撮像解像度向上や、パーソナルコンピュータの処理能力向上に伴うデジタルコンテンツの高解像度化、等に伴い増大する一方である。すなわち、ワークエリアサイズがシビアであるにもかかわらず、ワークエリアに読込まなければならない画像データ自体は増加している。このような実状は、デジタル写真を扱うデジタルカメラやフォトビューワでも同様である。
【０００６】
本発明は、前記課題に鑑みてなされたもので、デジタル画像データの展開に利用可能なワークエリアサイズが、デジタル画像データを展開するには不十分であっても、該デジタル画像データに対して適切な画質評価を実行可能なオブジェクト検出方法、オブジェクト検出装置、オブジェクト検出プログラムおよびオブジェクト検出プログラムを記録したコンピュータ読取可能な記録媒体を提供する。
【課題を解決するための手段】
【０００７】
前記課題を解決するために、本発明のオブジェクト検出方法は、対象画像から所定オブジェクト画像を検出するオブジェクト検出方法であって、画像縮小工程と、画像分割工程と、検出工程とを備える構成としてある。
前記検出工程においては、画像と検出枠を利用して、該画像から所定オブジェクト画像を検出する。該画像とは、縮小画像もしくは分割画像の何れかであり、前記検出枠の大きさに応じて縮小画像と分割画像の何れを利用するかが決定される。前記検出枠が所定大きさ以上の場合は、前記検出工程において該検出枠と該縮小画像とを利用して前記所定オブジェクト画像を検出し、前記検出枠が所定大きさよりも小さい場合は、前記検出工程において該検出枠と該分割画像とを利用して前記所定オブジェクト画像を検出する。前記検出枠とは、前記対象画像の所定範囲を検出領域として設定するものである。前記縮小画像と前記分割画像は、本オブジェクト検出方法の検出対象となる対象画像に基づいて作成されるものであり、前記画像縮小工程と前記画像分割工程において作成される。
前記検出工程においては、設定された前記検出領域の範囲に含まれる前記画像から、前記所定オブジェクト画像の検出を試みる。すなわち、前記検出工程において縮小画像を利用する場合は、前記画像縮小工程で前記対象画像を縮小して縮小画像を作成し、前記検出工程において分割画像を利用する場合は、前記画像分割工程で前記対象画像を分割して分割画像を作成する。なお、前記検出枠を前記縮小画像に設定する場合は、前記検出枠を前記縮小画像の縮小率で縮小してから設定する。
【０００８】
前記所定オブジェクト画像とは、前記対象画像に含まれうる画像的特徴（顔、顔器官、マーキング等）である。前記検出枠は、１つの閉じた枠であってもよいし、複数の枠を所定の位置関係で配置したものであってもよい。前記所定大きさは、前記検出枠で指定される範囲の対象画像を前記画像縮小工程における縮小率で縮小した場合に、前記所定オブジェクト画像を検出するのに必要な細密度合を充足するか否かで決定される。細密度合とは、前記対象画像の細部がどの程度緻密に描かれているかを示す度合であり、例えば画像データであれば解像度に相当する。すなわち前記検出枠に含まれる画像の範囲が広く、前記画像が緻密に描かれていなくても所定オブジェクト画像の検出が可能な場合は、縮小画像を用いる。これに対し、前記検出枠に含まれる画像の範囲が狭く、前記検出領域の前記画像が細密に描かれていないと所定オブジェクト画像の検出が不可能な場合は、分割画像を用いるのである。
【０００９】
本発明の選択的な一側面として、前記画像分割工程において１つの対象画像から作成される分割画像の少なくとも１つは、前記対象画像の略中央の所定領域を含む構成としてもよい。
人が意図的に作成した画像においては、画像の略中央に主要なオブジェクトが配置される場合が多く、例えば人物の写真であれば人物の顔が略中央に配置されるように撮影されることが多い。従って、略中央の所定領域を分断しないように分割画像を作成して検出すべきオブジェクトの分断を防止し、オブジェクト検出漏れを防止する。
【００１０】
本発明の選択的な一側面として、前記画像分割工程において、１つの対象画像から作成された分割画像は、隣り合う部位から作成された分割画像に重複する部位を有する構成としてもよい。画像を分割すると、分割線上にオブジェクトが存在する場合があり、異なる分割画像に分断されたオブジェクトは検出できなくなる。そこで、隣接する部位から作成された分割画像に互いに重複する部位を持たせることにより、分割線上のオブジェクト検出漏れを防止する。
【００１１】
また、より確実に分割線上のオブジェクトを検出するための本発明の選択的な一側面として、前記重複する部位の幅は、前記検出枠の所定大きさに略一致する構成としてもよい。
該構成によれば、検出枠に収まる大きさのオブジェクトは、隣接する分割画像の一方で途切れても、隣接する分割画像の他方に必ず全体が含まれる。但し、前記重複する部位が大きい場合は対象画像と分割画像とで大きさがほとんど変わらないため、分割の利点が活用されない。しかしながら、本発明では、縮小画像と分割画像を併用しているため、分割画像に設定される検出枠は所定大きさよりも小さい。すなわち、画像の略全体を覆う検出枠を利用する場合には縮小画像データを利用して重複する部位の設定を不要とし、検出枠が小さくて重複する部位が少なくて済むようになると分割画像データを利用した検出に切換える。よって、重複部位を設定して確実なオブジェクト検出を可能にし、それでいて各分割画像が徒に大きくならないようにできる。
【００１２】
本発明の選択的な一側面として、前記検出工程において利用される画像は、所定量以下のデータを記憶可能な記憶媒体に記憶された画像データにて表現される画像であり、前記縮小画像の画像データと前記分割画像の画像データは、それぞれ前記所定量以下のデータとして作成されて前記記憶媒体に記憶される構成としてもよい。すなわち、粗い解析には縮小画像データを用いて処理を高速化し、細部の解析には分割画像データを用いて精度を確保するのである。よってワークエリアの少ない機器であっても容易に画像データの解析を実行できる。
【００１３】
前記記憶媒体とは、前記画像データの一時保存に利用可能な領域である。前記記憶媒体は容量の上限（所定量）が設定されており、前記縮小画像や前記分割画像の画像データは前記容量の上限を超えないデータ量に縮小もしくは分割される。分割画像のサイズは、該上限を超えない範囲であれば各分割画像のサイズが異なっても構わない。従って、前記上限を超えない範囲で分割数も適宜選択可能である。なお、前記記憶媒体は、オブジェクト検出を行うプログラム自体やプログラム実行時の各種変数を格納する記憶媒体と一体であってもよく、この場合は、前記画像データの一時保存に利用可能に確保されるワークエリアが前記記憶媒体に相当する。なお、実際に画像データから前記オブジェクトを検出する際は、画像データにおける変数（明度、彩度、色相等）の所定値、画像データにおける変数から算出された画像特徴量（コントラスト、勾配、標準偏差等）の所定値、変数や特徴量の所定の分布、等を画像的特徴として採用することになる。
【００１４】
本発明の選択的な一側面として、前記オブジェクト検出方法の各工程は、並列処理が可能なマルチコアプロセッサにて実行される処理であり、前記検出工程においては、前記マルチコアプロセッサを利用して、前記縮小画像データの解析処理と前記分割画像データの解析処理とを並列処理する構成としてもよい。
本発明においては、縮小画像データと分割画像データとを利用しているため、圧縮画像データと分割画像データを同時に前記記憶媒体に展開しても、メモリ使用量が少ない。従って、並列処理の実行が容易であり、スループットが向上する。なお、圧縮画像データと分割画像データを同時に前記記憶媒体に展開する場合は、圧縮画像データと分割画像データとを合わせたサイズが前記記憶媒体に記憶可能なデータ量となるように設定される。
【００１５】
前述したオブジェクト検出方法は、他の方法の一環として実施されたり各工程に対応する手段を備えたオブジェクト検出装置として実現されたりする等の各種の態様を含む。また、本発明は前記オブジェクト検出装置を備えるオブジェクト検出システム、前述した方法の構成に対応した機能をコンピュータに実現させるプログラム、該プログラムを記録したコンピュータ読み取り可能な記録媒体、等としても実現可能である。これらオブジェクト検出システム、オブジェクト検出装置、オブジェクト検出プログラム、該プログラムを記録した媒体、の発明も、前述した作用、効果を奏する。むろん、請求項２〜６に記載した構成も、前記システムや前記装置や前記プログラムや前記記録媒体に適用可能である。
【発明を実施するための最良の形態】
【００１６】
以下、下記の順序に従って本発明の実施形態を説明する。
（１）画像処理装置の構成：
（２）画像処理の流れ：
（３）顔判定処理：
（４）変形例およびまとめ：
【００１７】
（１）画像処理装置の構成
図１は、本実施形態に係るオブジェクト検出装置を具体的に実現するプリンタの構成を示している。同図において、プリンタ１００は、ＣＰＵ１０とＲＡＭ１１とＲＯＭ１２と汎用インターフェイス（ＧＩＦ）１３とメモリカードインターフェース（ＭＩＦ）１４と印刷部１５と操作パネル１６と表示部１７とバス１８とから構成されている。バス１８はプリンタ１００を構成する各構成要素１０〜１７を相互通信可能に接続しており、図示しないチップセット等により通信が制御されている。ＲＯＭ１２には、ファームウェアを含む各種プログラムを実行するためのプログラムデータ１２ａが記憶されており、該プログラムデータ１２ａを適宜ＲＡＭ１１（所定量以下のデータを記憶可能な記憶媒体）に展開しつつＣＰＵ１０がプログラムに従った演算を実行することにより、プリンタ１００が制御される。
【００１８】
ＧＩＦ１３は、例えばＵＳＢ規格に準じたインターフェイスであり、外部のコンピュータと接続されたり、ＵＳＢメモリ１３ａ（半導体メモリ）が接続されたりする。ＭＩＦ１４はメモリカード１４ａを挿入可能なスロットに接続されており、ＭＩＦを介してＣＰＵ１０がメモリカード１４ａにアクセスし、ファイルの読み出しと書き込みを実行可能である。操作パネル１６は例えば複数のボタンとしてプリンタ１００の筐体上に設けられており、ＣＰＵ１０は操作パネル１６に対する入力操作を示す信号を取得する。表示部１７は入力されたデータ基づいて各種の情報や画像等を表示可能であり、ＣＰＵ１０は表示部１７に表示するべき内容を示すデータを表示部１７に入力する。この結果、表示部１７には、各種の情報や画像等が表示される。
【００１９】
印刷部１５は、ＣＭＹＫ各色のインクが充填されたインクカートリッジ、該インクカートリッジのインクを記録媒体の記録面に向けて吐出する印刷ヘッド、該印刷ヘッドのインク吐出量をコントロールするＡＳＩＣ（Application Specific Integrated Circuits）、印刷ヘッドやインクカートリッジを搭載したキャリッジ機構の制御や記録媒体の送り速度の制御を行うコントロールＩＣ、等を備えており、ＣＰＵ１０の制御に従って所定の画像データを記録媒体に印刷可能である。
【００２０】
図２は、プリンタ１００において実行されるプログラムのソフトウェア構成を示している。同図において、プリンタ１００ではファームウェアと画像処理モジュールＭが実行されている。画像処理モジュールＭは、画像縮小部Ｍ１と画像分割部Ｍ２と範囲設定部Ｍ３とオブジェクト検出部Ｍ４と画像補正部Ｍ５とを備えている。画像処理モジュールＭは、ファームウェアを介してメモリカード１４ａやＵＳＢメモリ１３ａから画像データを取得したり、画像データの印刷を印刷部１５に指示したりする。なお、プリンタ１００は、印刷機能以外にも、コピー機能やスキャナ機能など多種の機能を備えたいわゆる複合機であってもよい。以下、画像処理モジュールＭを構成する各部Ｍ１〜Ｍ５が実行する処理の詳細について説明する。
【００２１】
（２）画像処理の流れ：
図３は本実施形態に係る画像処理の流れを示すフローチャート、図４は該画像処理における縮小画像解析処理の流れを示すフローチャート、である。図３の縮小画像解析処理と分割画像解析処理が本発明のオブジェクト検出処理に相当する。画像処理が開始されると、図４の縮小画像解析処理（ステップＳ１００）が開始され、ステップＳ１１０（以下、「ステップ」の表記は省略。）において、画像縮小部Ｍ１が画像処理の対象となる画像（対象画像）の画像データＤ１（ｎ×ｍ画素）を取得し、該画像データＤ１を所定の縮小率（１／ｚ（ｚ＞１））で縮小した縮小画像データＤ２（（ｎ／ｚ）×（ｍ／ｚ）画素）を作成し、縮小画像データＤ２をＲＡＭ１１のワークエリアに記憶する。
【００２２】
画像データＤ１は、メモリカード１４ａやＵＳＢメモリ１３ａ等、所定の記録メディアから取得される。むろん、プリンタ１００がハードディスクドライブ（ＨＤＤ）を有していれば、画像縮小部Ｍ１は、当該ＨＤＤに保存されている画像データＤ１を取得してもよいし、Ｉ／Ｆ部１３を介してＰＣやサーバやＤＣ等から画像データＤ１を取得してもよい。画像データＤ１は、表示部１７に表示されたユーザインターフェース（ＵＩ）画面を参照してユーザが操作パネル１６を操作することにより、対象画像として指定される。
【００２３】
画像データＤ１は、複数の画素からなるビットマップデータであり、それぞれの画素は、レッド（Ｒ），グリーン（Ｇ），ブルー（Ｇ）各チャンネルの階調（例えば、０〜２５５の２５６階調）の組合せで表現されている。画像データＤ１は、記録メディア等に記録されている段階ではＪＰＥＧ等の所定の圧縮形式で圧縮されていてもよいし、他の色空間で各画素の色が表現されていてもよい。画像データＤ１がＲＧＢビットマップデータでない場合は、画像縮小部Ｍ１は、画像データＤ１の展開や色空間の変換を実行してＲＧＢビットマップデータとしての画像データＤ１を取得する。
【００２４】
縮小画像データＤ２は、取得した画像データＤ１から画素数を減らすなどして画像サイズを縮小したビットマップデータである。サイズ縮小は、画素数を間引いたり、所定数の画素から補間演算で新たな１画素を作成したりして行われる。縮小画像データＤ２は、ＲＡＭ１１のワークエリアに格納可能なサイズ以下に縮小されて、該ワークエリアに記憶される。ここで言うワークエリアとは、ＲＡＭ１２においてオブジェクト検出処理に係る画像データの一時保存に使用可能な記憶領域であり、プリンタ１００の制御プログラムの実行に必要な記憶領域を除いた記憶領域である。なお、画像データＤ１がそのままのサイズでワークエリアに格納可能であれば、縮小画像データＤ２や後述の分割画像データＤ３の作成せずに、画像データＤ１を利用して後述のオブジェクト検出を行ってもよい。
【００２５】
また、後述のオブジェクト検出処理に必要な画像情報が輝度情報だけであれば、縮小画像データＤ２はグレースケールのビットマップデータで作成されてもよい。同じ画素数の縮小画像であっても、グレースケール画像の方がカラー画像よりもデータ量が少ないので、処理データが減少してオブジェクト検出処理の速度を向上させたり、縮小画像データの縮小率を抑制したりできる。なお、グレースケール化は、画像データＤ１の段階で行ってもよいし、縮小画像データＤ２に縮小してから行ってもよい。ただし、画像データＤ１の段階で予めグレースケール化しておくと縮小処理における演算量が低下する。
【００２６】
Ｓ１１５〜Ｓ１６５では、範囲設定部Ｍ３が各種サイズの検出窓Ｗ１（検出枠）を縮小画像内に設定して窓画像データＷＤを取得し、オブジェクト検出を行う。検出窓Ｗ１は縮小画像の一部を範囲指定する仮想的な枠であり、オブジェクト検出部Ｍ４が検出窓Ｗ１で指定された範囲の縮小画像のデータを窓画像データＷＤとして取得して解析し、後述のオブジェクト検出処理を行う。本実施形態においては、検出窓Ｗ１を正方形状の枠として説明を行うが、検出窓Ｗ１の形状には、円形，矩形，三角形等、任意の形状を採用可能であるし、さらには１つの閉じた範囲を指定するもののみならず、複数の閉じた範囲を組合せて指定するものであってもよい。
【００２７】
Ｓ１１５では、各カウンタｎＳ，ｎｘ１，ｎｙ１をリセットする。ｎＳはサイズカウンタであり、検出窓Ｗ１のサイズパラメータＳ１や後述の検出窓Ｗ０のサイズパラメータＳ０を順にシフトさせるための整数値である。ｎｘ１はｘ方向カウンタであり、検出窓Ｗ１の中心位置Ｐ１をｘ軸方向にシフトさせるための整数値である。ｎｙ１はｙ方向カウンタであり、検出窓Ｗ１の中心位置Ｐ１をｙ軸方向にシフトさせるための整数値である。これらのカウンタはリセットにより例えば１に初期化される。なお、本実施形態においては、縮小画像データＤ２の長手方向をｘ軸とし、短手方向をｙ軸とし、ｘ軸とｙ軸の原点は作業画像データの左上端としてある。
【００２８】
図５は、カウンタｎsと検出窓Ｗ１のサイズＳ１との関係、およびカウンタｎＳと検出窓Ｗ０のサイズＳ０との関係を示している。同図に示すように、サイズカウンタｎＳの増加とともに、検出窓Ｗ１のサイズＳ１（縦と横の長さ）が徐々に減少する。同様に、サイズカウンタｎＳの増加とともに、検出窓Ｗ０のサイズＳ０（縦と横の長さ）が徐々に減少する。本実施例では、サイズカウンタｎＳとサイズＳ１やサイズＳ０が線形的な関係を有し、カウンタｎＳが１〜１５の間で１増加する毎に、検出窓Ｗ１のサイズＳ１（縦および横の長さ）が１２／ｚ画素ずつ小さくなるようにし、検出窓Ｗ０のサイズＳ０（縦および横の長さ）が１２画素ずつ小さくなるようにしている。また、カウンタｎＳが１のときの最大のサイズＳ１が検出窓Ｗ１の短手の長さよりわずかに短い２００／ｚ画素となり、カウンタｎＳが１のときの最大のサイズＳ０が検出窓Ｗ０の短手の長さよりわずかに短い２００画素となる。また、カウンタｎＳが１５のときの最小の検出窓Ｗ１のサイズＳ１が２０／ｚ画素となり、カウンタｎＳが１５のときの最小の検出窓Ｗ０のサイズＳ０が２０画素となる。なお、ここで示したカウンタｎＳと検出窓Ｗ１のサイズＳ１の関係や、カウンタｎＳと検出窓Ｗ０のサイズＳ０の関係は一例であり、これらが非線形の関係を有していたり、傾きや切片などを変更したりしてもよい。
【００２９】
図６は、対象画像を縮小画像から分割画像へと切換えるタイミングを説明する図である。窓画像データＷＤに含まれる画素数が、所定画素数（例えば４×４画素等）を下回るとオブジェクト検出処理において画像特徴量が抽出できなくなる。すなわち、窓画像データＷＤが所定画素数を下回ると対象画像に対するオブジェクト検出処理を終了する。縮小画像は分割画像よりも解像度が低いため、縮小画像から取得される窓画像データＷＤは分割画像のものよりも早くこの所定画素数に到達してしまう。そこで、検出窓Ｗ１で取得される窓画像データＷＤの画素数が所定数を下回ると、対象画像を分割画像に切換える。
図５に示すように、分割画像データＤ３に設定される検出窓Ｗ０のサイズＳ０と縮小画像データＤ１に設定される検出窓Ｗ１のサイズＳ１との間には、Ｓ１＝Ｓ０／ｚ、の関係が成り立っている。すなわち検出窓Ｗ１の最小サイズＳｍｉｎと、分割画像データＤ３に適用される検出窓Ｗ０の最大サイズＳ０ｍａｘとは、以下の関係を満たす。
Ｓ０ｍａｘ≒Ｓｍｉｎ×ｚ  且つ  Ｓ０ｍａｘ＞Ｓｍｉｎ×ｚ
【００３０】
Ｓ１２０では、範囲設定部Ｍ３が縮小画像に中心位置Ｐ１を中心としてサイズＳの検出窓Ｗ１を設定する。
Ｓ１２５では、オブジェクト検出部Ｍ４が、窓画像データＷＤ（検出窓Ｗ１内の画像データ）を取得して解析し、該窓画像データＷＤの画像特徴量に基づいて顔画像（所定のオブジェクト）検出を行う。画像特徴量は、窓画像データＷＤに対して各種のフィルタを適用し、当該フィルタ内の輝度やエッジやコントラスト等の状態を示す特徴量（平均値、最大値、最小値、標準偏差等）を算出することにより得られる。なお、窓画像データＷＤは、検出窓Ｗ１のサイズによって大きさが異なるが、解析を行う際に予め一定の大きさに解像度変換される。
【００３１】
図７は、窓画像データＷＤから特徴量を算出する様子を示している。同図において、窓画像データＷＤに対して多数のフィルタＦＴが用意されており、各フィルタＦＴを順次窓画像データＷＤに適用し、各フィルタＦＴ内の画像について例えば１２個の特徴量ＣＡ１〜ＣＡ１２を順次算出する。特徴量ＣＡ１〜ＣＡ１２が算出できると、ステップＳ１２５において、オブジェクト検出部Ｍ４が特徴量ＣＡ１〜ＣＡ１２を予め用意されたニューラルネットワークＮＮに入力し、その出力として顔画像等が存在する／しないの判定結果を算出する。判定の結果、画像特徴量に顔画像を検出すると、オブジェクト検出部Ｍ４は、顔画像の検出位置をＲＡＭ１１に記憶する。
【００３２】
図８は、ニューラルネットワークＮＮを学習する様子を模式的に示している。ニューラルネットワークＮＮは、前段層のユニットＵの値の線形結合によって後段層のユニットＵの値が決定される基本構造を有している。さらに、入出力関係の非線形特性に対応するために、線形結合によって得られた値を、例えばハイパボリックタンジェント関数のような非線形関数によって変換することにより、次の層のユニットＵの値を決定するのが望ましい。本実施形態では、誤差逆伝搬（error back propagation）法によって学習を行うことにより、各ユニットＵの数や、各ユニットＵ間における線形結合の際の重みｗの大きさやバイアスｂの値が最適化される。誤差逆伝搬法による学習においては、まず各ユニットＵ間における線形結合の際の重みｗの大きさやバイアスｂの値を適当な値に初期設定する。
【００３３】
そして、顔画像が存在しているか否かが既知の学習用画像データについてステップＳ１２５と同様の手順で特徴量ＣＡ１〜ＣＡ１２を算出し、当該特徴量ＣＡ１〜ＣＡ１２を初期設定されたニューラルネットワークＮＮに入力し、その出力値Ｋを取得する。学習用画像データはできるだけ多く用意するべきであり、様々な状態の顔画像が検出できるように、種々の人種や性別や年齢等をカバーするように用意する必要がある。さらに、デジタルスチルカメラ等によって撮影された画像データに含まれる顔画像は種々の方向に向いている可能性がある。そのため、種々の方向に向いた顔画像を含む学習用画像データを用意する。また、上下に顔を向けるより左右に顔を向けて撮影される可能性が高いため、左右に顔を向けて撮影された学習用画像データの方が多数用意される。
【００３４】
本実施例のニューラルネットワークＮＮは、顔画像が存在している学習用画像データに対して出力値Ｋとして１を出力するのが望ましく、顔画像が存在していない学習用画像データに対して出力値Ｋとして０を出力するのが望ましい。しかしながら、各ユニットＵ間における線形結合の際の重みｗの大きさやバイアスｂの値を適当な値に初期設定したに過ぎないため、実際の出力値Ｋと理想的な値との間には誤差が生じる。このような誤差を極小化させる各ユニットＵについての重みｗやバイアスｂを、勾配法等の数値最適化手法を用いて算出する。この誤差は、後段の層から前段の層に伝搬され、後段のユニットＵについて重みｗやバイアスｂの順に最適化されていく。以上のように最適化されたニューラルネットワークＮＮを用いると、窓画像データＷＤに顔画像が存在している場合の特徴量ＣＡ１〜ＣＡ１２に対して１に近い出力値Ｋを得ることができ、窓画像データＷＤに顔画像が存在していない場合の特徴量ＣＡ１〜ＣＡ１２に対して０に近い出力値Ｋを得ることができる。従って、適当な閾値０．５によって閾値判定を行うことにより、窓画像データＷＤに顔画像が存在しているか否かを判定することができる。
【００３５】
オブジェクト検出処理において窓画像データＷＤについて顔画像が存在すると判定された場合、オブジェクト検出部Ｍ４は、窓画像データＷＤが得られた検出窓Ｗ１のサイズＳ１および位置Ｐ０および回転角ＴをＲＡＭ１２に記憶させてリターンする。一方、オブジェクト検出処理において窓画像データＷＤについて顔画像が存在しないと判定された場合、そのままリターンする。
【００３６】
Ｓ１３０〜Ｓ１６５では、検出窓Ｗ１のサイズを変更しつつ、各サイズの検出窓Ｗ１を縮小画像内に隈無く設定する。検出窓Ｗ１は、例えば下記式（１）に基づいて設定位置が決定される。
【数１】
0005018587.tif 000002
前記式（１）において、Ｐ１（ｘ，ｙ）は検出窓Ｗ１の中心位置、ｄ x１，ｄ y１は検出窓Ｗ１の中心位置Ｐ１の各方向への単位移動距離（画素数）を示す一定の移動間隔を表しており、移動間隔ｄ x１，ｄ y１と方向カウンタｎ x１，ｎ y１をそれぞれ乗算することにより、検出窓Ｗ１の中心位置Ｐ１のｘ，ｙ座標を算出する。前記式（１）にて算出される中心位置Ｐ１は、検出窓Ｗ１のサイズに応じて対象画像内に隈無く設定されるため、検出窓Ｗ１は対象画像に隈無く設定されることになる。なお、移動間隔ｄ y１＜１となる場合は、ｄ y１＝１とする。なお、ｘ方向カウンタｎ x１が取り得る範囲は１〜［縮小画像データのｘ方向画素数］／ｄ x１の整数値とし、ｙ方向カウンタｎ y１は１〜［縮小画像データのｙ方向画素数］／ｄ y１の整数値とする。すなわち、検出窓Ｗ１の単位移動距離は、検出窓Ｗ１が大きいほど長く、検出窓Ｗ１が小さいほど短くなる。
【００３７】
Ｓ１３０では、検出窓Ｗ１がｘ軸方向の右端まで到達したか否かを判断する。検出窓Ｗ１が右端に到達していない場合は、Ｓ１３５でｘ方向カウンタを１増加（インクリメント）して検出窓Ｗ１をｘ軸方向に単位移動距離ｄｘ１だけ移動させる。検出窓Ｗ１が右端に到達している場合は、Ｓ１４０でｘ方向カウンタｎｘ１を１にして検出窓Ｗ１を左端に戻してＳ１４５に進む。
Ｓ１４５では、検出窓Ｗ１がｙ軸方向の下端まで到達したか否かを判断する。検出窓Ｗ１が下端に到達していない場合は、Ｓ１５０でｙ方向カウンタｎｙ１をインクリメントして検出窓Ｗ１をｙ軸方向に単位移動距離ｄｙ１だけ移動させる。検出窓Ｗ１が下端に到達している場合は、Ｓ１５５でｙ方向カウンタｎｙ１を１にして検出窓Ｗ１を上端に戻してＳ１６０に進む。
Ｓ１６０では、検出窓Ｗ１のサイズが所定サイズに到達しているが否かを判断する。検出窓Ｗ１が所定サイズ（図４ではｎＳ＝９）に到達している場合は、縮小画像解析処理を終了してリターンする。検出窓Ｗ１が所定サイズに到達していない場合は、Ｓ１６５でサイズカウンタｎＳをインクリメントして検出窓Ｗ１のサイズＳ１を単位量縮小し、Ｓ１２０からの処理を繰り返す。
【００３８】
図９は、図３におけるＳ２００の分割画像解析処理のフローチャートである。
Ｓ２１０では、画像分割部Ｍ２が、画像データＤ１から対象画像を分割した一の分割画像についての分割画像データを作成する。本実施形態においては画像データＤ１を４分割するものとし、分割画像データＤ３〜Ｄ６のいずれか本処理において未作成のデータを作成する。分割画像データＤ３のサイズは、前記ＲＡＭ１１のワークエリアに格納可能なサイズ以下であり、作成された分割画像データＤ３は、ワークエリアに記憶される。縮小画像データＤ３は、前述の縮小画像データＤ２の場合と同様に、オブジェクト検出処理に必要な情報が輝度情報だけであれば、グレースケールのビットマップデータにしてもよい。なお、グレースケール化は、予め画像データＤ１の段階で行ってもよいし、分割画像データＤ３に分割してから行ってもよい。
【００３９】
図１０、図１１は分割画像について説明する図である。画像を分割すると、分割線上に顔等のオブジェクトが存在する場合があり、異なる分割画像データに分断されたオブジェクトは検出できなくなる。そこで、分割画像データに含まれる分割画像は、隣接する分割画像との間に重複する部位を有するように分割されている。図１０では、画像データＤ１を４分割して分割画像データＤ３１〜Ｄ３４を作成している。分割画像データＤ３１，Ｄ３２では重複部Ｐ１が、分割画像データＤ３１，Ｄ３３では重複部Ｐ２が、分割画像データＤ３３，Ｄ３４では重複部Ｐ３が、分割画像データＤ３２，Ｄ３４では重複部Ｐ４が、それぞれ共有されている。
このように重複する部位を設けることにより、図１１に示すように、分割画像Ｄ３１において右端が途切れたオブジェクトＯ１は、分割画像Ｄ３２に完全な形で含まれるし、分割画像Ｄ３２において左端が途切れたオブジェクトＯ２は、分割画像Ｄ３１に完全な形で含まれることになる。よって、分割画像を利用したオブジェクト検出において、元画像に存在するオブジェクトは、隣接する分割画像の一方で検出されなくても他方の分割画像において確実に検出されるため、検出漏れが発生しない。
【００４０】
また、より確実に分割線上のオブジェクトを検出しつつ、分割画像データのサイズを最小限にするためには、重複する部位の幅を検出枠Ｗ０の最大サイズに一致させるとよい。検出枠Ｗ０の最大サイズ以上の大きさのオブジェクトは、縮小画像データで検出されるから、それ以上の幅の重複部は不要だからである。重複する部位の幅を検出枠Ｗ０の最大サイズに一致させると、確実なオブジェクト検出を可能としつつ、オブジェクト検出の解析対象となる分割画像データの大きさが必要最小限になる。
【００４１】
Ｓ２１５〜Ｓ２６５では、範囲設定部Ｍ３が各種サイズの検出窓Ｗ０（検出枠）を分割画像内に設定する。検出窓Ｗ０は縮小画像の一部を範囲指定する仮想的な枠であり、オブジェクト検出部Ｍ４が検出窓Ｗ０で指定された範囲の縮小画像のデータを窓画像データＷＤとして取得し、後述のオブジェクト検出処理を行う。検出窓Ｗ０は、前述の検出窓Ｗ１と同様に様々な形状を採用可能である。以下、Ｓ２１５〜Ｓ２６５の処理において、縮小画像解析処理と共通する部分については説明を簡略する。
【００４２】
Ｓ２１５では、各カウンタｎＳ，ｎｘ０，ｎｙ０，ｎＤリセットする。ｎｘ０はｘ方向カウンタであり、検出窓Ｗ０の中心位置Ｐ０をｘ軸方向にシフトさせるための整数値である。ｎｙ０はｙ方向カウンタであり、検出窓Ｗ０の中心位置Ｐ０をｙ軸方向にシフトさせるための整数値である。ｎＤは解析済みの分割画像データをカウントする整数値である。これらのカウンタはリセットにより例えば１に初期化される。サイズカウンタｎＳは、縮小画像データと共通のサイズカウンタｎＳを使用する。ただし、縮小画像解析処理の終了時の値を記憶しておき、Ｓ２１５のリセットにおいてはこの記憶された値にリセットされる。縮小画像データに設定された検出窓Ｗ１で検出済みのサイズのオブジェクトとの重複検出を防止するためである。なお、分割画像データにおいても、画像データＤ３〜Ｄ６の長手方向をｘ軸とし、短手方向をｙ軸とし、ｘ軸とｙ軸の原点は作業画像データの左上端としてある。
【００４３】
Ｓ２２０では、範囲設定部Ｍ３が分割画像に中心位置Ｐ０を中心としてサイズＳ０の検出窓Ｗ０を設定する。
Ｓ２２５では、オブジェクト検出部Ｍ４が、窓画像データＷＤ（検出窓Ｗ０内の画像データ）を取得して解析し、該窓画像データＷＤの画像特徴量に基づいて顔画像（所定のオブジェクト）検出を行う。なお、窓画像データＷＤは、検出窓Ｗ０のサイズによって大きさが異なるが、解析を行う際に予め一定の大きさに解像度変換される。画像特徴量の算出および解析は縮小画像データＤ２の場合と同様であるので説明を省略する。
【００４４】
Ｓ２３０〜Ｓ２６５は、検出窓Ｗ０のサイズを変更しつつ、各サイズの検出窓Ｗ０を分割画像内に隈無く設定する。検出窓Ｗ０は、例えば下記式（２）に基づいて設定位置が決定される。
【数２】
0005018587.tif 000003
前記式（２）において、Ｐ０（ｘ，ｙ）は検出窓Ｗ０の中心位置、ｄ x０，ｄ y０は検出窓Ｗ０の中心位置Ｐ０の各方向への単位移動距離（画素数）を示す一定の移動間隔を表しており、移動間隔ｄ x０，ｄ y０と方向カウンタｎ x０，ｎ y０をそれぞれ乗算することにより、検出窓Ｗ０の中心位置Ｐ０のｘ，ｙ座標を算出する。前記式（２）にて算出される中心位置Ｐ０は、検出窓Ｗ０のサイズに応じて分割画像内に隈無く設定されるため、検出窓Ｗ０は分割画像に隈無く設定されることになる。なお、移動間隔ｄ y０＜１となる場合は、ｄ y０＝１とする。なお、ｘ方向カウンタｎ x０が取り得る範囲は１〜［分割画像データのｘ方向画素数］／ｄ x０の整数値とし、ｙ方向カウンタｎ y０は１〜［分割画像データのｙ方向画素数］／ｄ y０の整数値とする。すなわち、検出窓Ｗ０の単位移動距離は、検出窓Ｗ０が大きいほど長く、検出窓Ｗ０が小さいほど短くなる。
【００４５】
Ｓ２３０では、検出窓Ｗ０がｘ軸方向の右端まで到達したか否かを判断する。検出窓Ｗ０が右端に到達していない場合は、Ｓ２３５でｘ方向カウンタをインクリメントして検出窓Ｗ０をｘ軸方向に単位移動距離ｄｘ０だけ移動させる。検出窓Ｗ０が右端に到達している場合は、Ｓ２４０でｘ方向カウンタｎｘ０を１にして検出窓Ｗ０を左端に戻してＳ２４５に進む。
Ｓ２４５では、検出窓Ｗ０がｙ軸方向の下端まで到達したか否かを判断する。検出窓Ｗ０が下端に到達していない場合は、Ｓ２５０でｙ方向カウンタｎｙ０をインクリメントして検出窓Ｗ０をｙ軸方向に単位移動距離ｄｙ０だけ移動させる。検出窓Ｗ０が下端に到達している場合は、Ｓ２５５でｙ方向カウンタｎｙ０を１にして検出窓Ｗ０を上端に戻してＳ２６０に進む。
Ｓ２６０では、検出窓Ｗ０のサイズが所定サイズに到達しているが否かを判断する。この所定サイズは前述の縮小画像データにおける所定サイズと同様の基準であり、窓画像データＷＤの画素数が、オブジェクト検出処理において解析可能な所定画素数を下回るサイズである。検出窓Ｗ０が所定サイズに到達している場合は、Ｓ２７０に進む。検出窓Ｗ０が所定サイズに到達していない場合は、Ｓ２６５でサイズカウンタｎＳをインクリメントして検出窓Ｗ０のサイズＳ０を単位量縮小し、Ｓ２２０からの処理を繰り返す。
【００４６】
Ｓ２７０では、サイズカウンタｎＳをリセットする。Ｓ２７０では、Ｓ２１５におけるリセットと同様に、縮小画像解析処理の終了時の値にリセットされる。
Ｓ２７５では、分割画像データＤ３１〜Ｄ３４の全てを解析終了したか否かを判断する。すなわち、分割画像データのカウンタｎＤを設けておき、ｎＤが所定数に到達したか否かを判断する。本実施形態においては４分割しているので、ｎＤは１〜４の範囲の整数値であり、ｎＤが５に到達すると全ての分割画像データを解析終了したことを意味する。Ｓ２７５において、ｎＤが５であれば分割画像解析処理を終了してリターンし、ｎＤが４以下であればＳ２８０に進んでｎＤをインクリメントし、Ｓ２１０に戻る。Ｓ２１０に戻ると、本分割画像解析処理において未解析の分割画像データを作成して作成保存し、Ｓ２１５以降の処理を行う。
【００４７】
（４）肌色調整および印刷処理
図１２は、画質補正部Ｍ５が実行する肌色調整処理（画質調整処理）の流れを示している。上述した画質調整処理のＳ３１０においては、縮小画像解析処理と分割画像解析処理の終了を検出し、調整対象の画像データＤ１を取得する。ステップＳ３２０においては、顔画像が存在すると判定された検出窓Ｗ１，Ｗ０のサイズＳ１，Ｓ０および位置Ｐ１，Ｐ０をＲＡＭ１２から読み出す。ステップＳ３３０においては、顔画像が存在すると判定された検出窓Ｗ１，Ｗ０に対応する領域を画像データＤ１において特定する。検出窓Ｗ１，Ｗ０のサイズＳ１，Ｓ０および位置Ｐ１，Ｐ０がＲＡＭ１２から取得されているため、これを画像データＤ１の画像サイズに換算することにより、検出窓に対応する領域を特定することができる。
【００４８】
ステップＳ３４０においては、ステップＳ３４０にて特定した領域に含まれる肌色画素の色を調整する処理を実行する。ここでは、まずステップＳ３４０にて特定した領域に含まれる肌色画素を、各画素の色彩値（例えばＲＧＢ値やＨＳＶ値）に基づいて特定し、当該色彩値を肌色として好ましいものに補正する。具体的には、予め肌色として好ましい色彩値がＨＤＤ１４に記憶されており、各肌色画素の色彩値が好ましい色彩値に近づくように補正を行う。検出窓Ｗ１，Ｗ０によって顔画像が存在する領域が予め特定されているため、顔画像の肌色画素についてのみ補正を行うことができる。なお、顔画像が存在すると判定された検出窓が複数検出された場合には、そのそれぞれについて肌色調整を実行する。以上のようにして、肌色調整が完了すると、ステップＳ３５０にて調整後の画像データＤ１を印刷部１５に出力する。すると、印刷部１５は、画像データＤ１に対して解像度変換処理と色変換処理とハーフトーン処理とラスタライズ処理を順次実行して画質調整後の画像データＤ１に対応する画像の印刷を実行する。
【００４９】
（４）まとめおよび変形例：
以上説明したように、本実施形態によれば、範囲設定部Ｍ３で対象画像に検出窓が設定され、検出窓内の対象画像をオブジェクト検出部Ｍ４で解析して所定オブジェクトを検出する。オブジェクト検出部Ｍ４において解析される画像データは、縮小画像データもしくは分割画像データであり、検出窓Ｗ０が所定サイズ以上の場合は縮小画像データを解析対象とし、検出窓Ｗ０が所定サイズよりも小さい場合は分割画像データを解析対象とする。解析対象が決定されると、画像縮小部Ｍ１で対象画像の画像データを縮小して縮小画像データを作成したり、画像分割部Ｍ２で前記対象画像の画像データを分割して分割画像データを作成したりする。よって、デジタル画像データの展開に利用可能なワークエリアサイズが、デジタル画像データを展開するには不十分であっても、該デジタル画像データに対して適切な画質評価を実行可能になる。
【００５０】
ところで、顔判定処理は、前述のニューラルネットワークで学習した結果を用いる以外に、例えば複数の判定器Ｊ，Ｊ…を複数段カスケード状に接続した判定手段を使用してもよい。図１３は、顔判定処理の判定手法を示す模式図である。各判定器Ｊ，Ｊ…は、それぞれ異なる種類（例えばフィルタが異なる）の単数または複数の特徴量ＣＡ，ＣＡ，ＣＡ…をそれぞれ入力し、それぞれ正または否の判定を出力する。各判定器Ｊ，Ｊ…の判定アルゴリズムは、それぞれ特徴量ＣＡ，ＣＡ，ＣＡ…の大小比較や閾値判定等であり、各判定器で異なる判定アルゴリズムが採用されている。各判定器Ｊ，Ｊ…は、前の段の判定器Ｊ，Ｊ…の正の出力に接続されており、前の段の判定器Ｊ，Ｊ…の出力が正であった場合のみ次の段の判定器Ｊ，Ｊ…が判定を行う。いずれの段においても否の出力がなされると、顔画像が存在しない旨の判定を出力して顔判定処理を終了する。一方、各段の判定器Ｊ，Ｊ…がすべて正の出力をすると、顔画像が存在する旨の判定を出力して顔判定処理を終了する。
【００５１】
図１４は、本変形例にかかる判定手法における判定特性を示している。同図においては、各判定器Ｊ，Ｊ…において使用される特徴量ＣＡ，ＣＡ，ＣＡ…の軸で定義される特徴量空間を示しており、最終的に顔画像が存在すると判定される窓画像データＷＤから得られる特徴量ＣＡ，ＣＡ，ＣＡ…の組合せで表される特徴量空間内の座標をプロットしている。顔画像が存在すると判定される窓画像データＷＤは一定の特徴を有しているため、特徴量空間における一定の領域に分布が見られると考えることができる。各判定器Ｊ，Ｊ…は、このような特徴量空間において境界平面を生成し、当該境界平面で区切られた空間のうち、前記分布が属する空間に判定対象の特徴量ＣＡ，ＣＡ，ＣＡ…の座標が存在している場合には、正を出力する。従って、各判定器Ｊ，Ｊ…をカスケード状に接続することにより、徐々に正と出力される空間を絞り込んでいくことができる。複数の境界平面によれば、複雑な形状の前記分布についても精度よく判定を行うことができる。
【００５２】
画像データでは略中央に重要なオブジェクトが配置されることが多く、例えば図１５のように略中央に顔画像が配置されることが考えられる。そこで、分割画像データを作成するにあたり、図１５の各分割例のように対象画像の略中央の所定領域が何れかの分割画像データに完全な形で含まれるようにするとよい。特に人物の写真は、人物の顔が略中央に配置されるように撮影されることが多い。従って、略中央の所定領域が分断されないように分割画像を作成すると、検出すべきオブジェクトが分断されにくく、オブジェクト検出が成功しやすくなる。なお、図１５においては、左右方向および上下方向の双方において中央に顔画像を配置してあるが、略中央とは、左右方向と上下方向の一方で中央に位置するものであっても構わない。
【００５３】
プリンタ１００に搭載されているＣＰＵが、マルチコアプロセッサであれば、前述したオブジェクト検出処理において、縮小画像解析処理と分割画像解析処理を並列処理してもよい。本発明においては、縮小画像データと分割画像データとを利用しているため、圧縮画像データと分割画像データを同時に前記ワークエリアに展開しても、メモリ使用量が少ない。従って、並列処理の実行が容易であり、へ入れる処理を行うと処理が高速化する。なお、圧縮画像データと分割画像データを同時に前記記憶媒体に展開する場合は、圧縮画像データと分割画像データとを合わせたサイズが前記ワークエリアに記憶可能なデータ量となるように設定される。
【００５４】
なお、前述した実施形態においては、検出窓のサイズを徐々に小さくしていき、縮小画像解析処理を終了するか否かの判定において検出窓のサイズを判定する例について説明を行ったが、検出窓のサイズを徐々に小さくするのではなく、ランダムに変化させても構わない。ランダムに変化させる場合は、対象画像に対する検出窓の大きさを決定した後に、縮小画像解析処理を実行するか分割画像解析処理を実行すればよい。
【００５５】
なお、本発明は上述した実施形態や変形例に限られず、上述した実施形態および変形例の中で開示した各構成を相互に置換したり組合せを変更したりした構成、公知技術並びに上述した実施形態および変形例の中で開示した各構成を相互に置換したり組合せを変更したりした構成、等も含まれる。
【図面の簡単な説明】
【００５６】
【図１】プリンタのハードウェアブロック構成図である。
【図２】プリンタのソフトウェアブロック構成図である。
【図３】画像処理の流れを示すフローチャートである。
【図４】縮小画像解析処理の流れを示すフローチャートである。
【図５】サイズカウンタ検出窓のサイズの関係示す図である。
【図６】画像切換えタイミングを説明する図である。
【図７】窓画像データから特徴量を算出する様子を示している。
【図８】ニューラルネットワークＮＮを学習する様子を示す模式図である。
【図９】分割画像解析処理の流れを示すフローチャートである。
【図１０】分割画像について説明する図である。
【図１１】分割画像について説明する図である。
【図１２】肌色調整処理の流れを示すフローチャートである。
【図１３】顔判定処理の判定手法を示す模式図である。
【図１４】変形例にかかる判定手法における判定特性を示す図である。
【図１５】分割の仕方の変形例である。
【符号の説明】
【００５７】
１０…ＣＰＵ、１１…ＲＡＭ、１２…ＲＯＭ、１３…ＵＳＢＩ／Ｆ、１４…カードデバイスＩ／Ｆ、１５…印刷部、１６…操作パネル、１７…表示部、１００…プリンタ、Ｍ１…画像縮小部、Ｍ２…画像分割部、Ｍ３…範囲設定部、Ｍ４…オブジェクト検出部、Ｍ５…画像補正部
【図１】
0005018587.tif 000004
【図２】
0005018587.tif 000005
【図３】
0005018587.tif 000006
【図４】
0005018587.tif 000007
【図５】
0005018587.tif 000008
【図６】
0005018587.tif 000009
【図７】
0005018587.tif 000010
【図８】
0005018587.tif 000011
【図９】
0005018587.tif 000012
【図１０】
0005018587.tif 000013
【図１１】
0005018587.tif 000014
【図１２】
0005018587.tif 000015
【図１３】
0005018587.tif 000016
【図１４】
0005018587.tif 000017
【図１５】
0005018587.tif 000018