(57)【要約】【課題】ユーザが各特定画像にそれぞれ適した処理の選択を行なうことが難しかった。【解決手段】対象画像上における特定画像の検出を行なう検出部と、上記対象画像と、特定画像に対して実行される処理の選択を受付可能なメニュー表示であって上記対象画像から検出された特定画像毎のメニュー表示とを、所定の出力対象に出力する出力制御部とを備える画像出力制御装置とした。上記出力制御部は、上記検出された特定画像毎の状態に応じて項目が異なる特定画像毎のメニュー表示を出力する。【選択図】図２
2009237977.tif 000002
【特許請求の範囲】
【請求項１】
対象画像上における特定画像の検出を行なう検出部と、
上記対象画像と、特定画像に対して実行される処理の選択を受付可能なメニュー表示であって上記対象画像から検出された特定画像毎のメニュー表示とを、所定の出力対象に出力する出力制御部とを備えることを特徴とする画像出力制御装置。
【請求項２】
上記出力制御部は、上記検出された特定画像毎の状態に応じて項目が異なる特定画像毎のメニュー表示を出力することを特徴とする請求項１に記載の画像出力制御装置。
【請求項３】
上記検出部は、対象画像上における顔画像を特定画像として検出し、上記出力制御部は、検出された顔画像のうち略正面向きの顔画像に対応するメニュー表示には、証明写真の印刷処理の項目を含ませて出力することを特徴とする請求項２に記載の画像出力制御装置。
【請求項４】
上記出力制御部は、上記検出された特定画像毎に色情報を解析し、色情報の解析結果が所定の補正条件に該当する特定画像に対応するメニュー表示には、所定の色補正処理の項目を含ませて出力することを特徴とする請求項２または請求項３のいずれかに記載の画像出力制御装置。
【請求項５】
上記出力制御部は、上記検出された特定画像毎に形状を解析し、形状の解析結果が所定の補正条件に該当する特定画像に対応するメニュー表示には、所定の形状補正処理の項目を含ませて出力することを特徴とする請求項２〜請求項４のいずれかに記載の画像出力制御装置。
【請求項６】
上記出力制御部は、対応し合う特定画像とメニュー表示とに共通の符号を付した状態で、上記対象画像と特定画像毎のメニュー表示とを出力することを特徴とする請求項１〜請求項５のいずれかに記載の画像出力制御装置。
【請求項７】
上記出力制御部は、上記対象画像と特定画像毎のメニュー表示とを印刷媒体に印刷することを特徴とする請求項１〜請求項６のいずれかに記載の画像出力制御装置。
【請求項８】
対象画像上における特定画像の検出を行なう検出工程と、
上記対象画像と、特定画像に対して実行される処理の選択を受付可能なメニュー表示であって上記対象画像から検出された特定画像毎のメニュー表示とを、所定の出力対象に出力する出力制御工程とを備えることを特徴とする画像出力制御方法。
【請求項９】
対象画像上における特定画像の検出を行なう検出機能と、
上記対象画像と、特定画像に対して実行される処理の選択を受付可能なメニュー表示であって上記対象画像から検出された特定画像毎のメニュー表示とを、所定の出力対象に出力する出力制御機能とをコンピュータに実行させることを特徴とする画像出力制御プログラム。
【請求項１０】
対象画像上における特定画像の検出を行なう検出部と、
上記対象画像と、特定画像に対して実行される処理の選択を受付可能なメニュー表示であって上記対象画像から検出された特定画像毎のメニュー表示とを、所定の出力対象に出力する出力制御部とを備えることを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像出力制御装置、画像出力制御方法、画像出力制御プログラムおよび印刷装置に関する。
【背景技術】
【０００２】
ユーザは、プリンタを用いて任意の写真（例えば、履歴書や運転免許証やパスポート等に用いられる証明写真）を印刷する。これに関連する技術として、ユーザが印刷モードの選択画面から証明写真モードをした後に、ユーザから印刷用紙の種類や証明写真のサイズの選択を受付け、さらに、証明写真として印刷される画像の選択をユーザから受付けた後に、当該選択された画像から顔領域を抽出し、この抽出した顔領域を含んで証明写真として印刷される領域（クリップ領域）を決定し、当該クリップ領域の画像を上記選択された印刷用紙に印刷する印刷装置が知られている（特許文献１参照。）。
【特許文献１】特開２００７‐２５３４８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記文献１においては、ユーザは、ディスプレイを見ながら操作パネルを操作することにより、証明写真モードを選択し、その後、メモリカードから読み出されてディスプレイに表示される複数の画像を順次確認し、証明写真として印刷したい画像を選択する。しかしながら、メモリカードに撮り貯められた画像の内容を一枚一枚確認しながら、どの画像が証明写真として相応しいかを判断することは、ユーザにとって大きな負担である。特に、多数の画像がメモリカードに保存されている場合には、かかる判断に要する負担は非常に大きくなる。
【０００４】
また、一つの画像内に複数の顔画像（特定画像）が含まれている場合にも、ユーザは、どの顔画像が証明写真として相応しいか迷う場合がある。さらに、顔画像に補正処理等を施す場合であっても、どの顔画像にどのような補正を施すべきかをユーザが顔画像毎に判断することは極めて煩雑である。
【０００５】
本発明は上記課題に鑑みてなされたもので、顔画像などの各特定画像にそれぞれ適した処理の選択を、ユーザが容易に認識し実行することが可能な画像出力制御装置、画像出力制御方法、画像出力制御プログラムおよび印刷装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の画像出力制御装置は、対象画像上における特定画像の検出を行なう検出部と、上記対象画像と、特定画像に対して実行される処理の選択を受付可能なメニュー表示であって上記対象画像から検出された特定画像毎のメニュー表示とを、所定の出力対象に出力する出力制御部とを備える構成としてある。本発明によれば、対象画像上から特定画像が複数検出された場合でも、上記出力対象には、特定画像毎のメニュー表示が出力される。そのためユーザは、メニュー表示を見ることで、それぞれの特定画像に対してどのような処理を選択することが適当かを容易に認識することができ、適切な選択を行なうことができる。
【０００７】
上記出力制御部は、上記検出された特定画像毎の状態に応じて項目が異なる特定画像毎のメニュー表示を出力するとしてもよい。当該構成によれば、メニュー表示はそれぞれ、対応する特定画像の状態に応じた最適な項目を列挙したものとなる。
一例として、上記検出部は、対象画像上における顔画像を特定画像として検出し、上記出力制御部は、検出された顔画像のうち略正面向きの顔画像に対応するメニュー表示には、証明写真の印刷処理の項目を含ませて出力するとしてもよい。また、出力制御部は、上記検出された特定画像毎に色情報を解析し、色情報の解析結果が所定の補正条件に該当する特定画像に対応するメニュー表示には、所定の色補正処理の項目を含ませて出力するとしてもよい。さらに、出力制御部は、上記検出された特定画像毎に形状を解析し、形状の解析結果が所定の補正条件に該当する特定画像に対応するメニュー表示には、所定の形状補正処理の項目を含ませて出力するとしてもよい。かかる構成によれば、ユーザは、各特定画像について、証明写真として相応しい画像であるか否かや、色補正処理を行なうべき画像であるか否かや、形状補正処理を行なうべき画像であるか否か、といった点で悩む必要がなく、それぞれのメニュー表示に挙げられた項目を見ることで、特定画像毎にどのような処理を選択することが適当であるかを容易に認識できる。
【０００８】
上記出力制御部は、対応し合う特定画像とメニュー表示とに共通の符号を付した状態で、上記対象画像と特定画像毎のメニュー表示とを出力するとしてもよい。当該構成によれば、ユーザは、各特定画像と各メニュー表示との対応関係を一目で認識できる。
上記出力制御部は、上記対象画像と特定画像毎のメニュー表示とを印刷媒体に印刷するとしてもよい。当該構成によれば、ユーザは、対象画像と特定画像毎のメニュー表示とが一枚の印刷媒体に印刷されたいわゆるオーダーシートを得ることができる。ただし本発明における所定の出力対象は、印刷媒体に限られず、出力制御部は、対象画像と特定画像毎のメニュー表示とを所定の画面に出力するとしてもよい。
【０００９】
本発明の技術的思想は、上述した画像出力制御装置の発明以外にも、上述した画像出力制御装置が備える各部が行なう各処理工程を備えた画像出力制御方法の発明や、上述した画像出力制御装置が備える各部に対応した機能をコンピュータに実行させる画像出力制御プログラムの発明としても捉えることができる。また、対象画像上における特定画像の検出を行なう検出部と、上記対象画像と、特定画像に対して実行される処理の選択を受付可能なメニュー表示であって上記対象画像から検出された特定画像毎のメニュー表示とを、所定の出力対象に出力する出力制御部とを備える印刷装置の発明も把握することが可能である。
【発明を実施するための最良の形態】
【００１０】
下記の順序に従って本発明の実施形態を説明する。
１．プリンタの概略構成：
２．画像出力処理：
２‐１．顔画像の検出：
２‐２．表示部への画像出力：
２‐３．画像出力後の処理：
３．変形例：
【００１１】
１．プリンタの概略構成：
図１は、本発明の画像出力制御装置および印刷装置の一例に該当するプリンタ１０の構成を概略的に示している。プリンタ１０は、記録メディア（例えば、メモリカードＭＣ等）から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラーインクジェットプリンタである。プリンタ１０は、プリンタ１０の各部を制御するＣＰＵ１１と、例えばＲＯＭやＲＡＭによって構成された内部メモリ１２と、ボタンやタッチパネルにより構成された操作部１４と、液晶ディスプレイにより構成された表示部１５と、プリンタエンジン１６と、カードインターフェース（カードＩ／Ｆ）１７と、ＰＣやサーバやデジタルスチルカメラ等の外部機器との情報のやり取りのためのＩ／Ｆ部１３とを備えている。プリンタ１０の各構成要素は、バスを介して互いに接続されている。表示部１５は、本発明における所定の出力対象の一例に該当する。
【００１２】
プリンタエンジン１６は、印刷データに基づき印刷を行う印刷機構である。カードＩ／Ｆ１７は、カードスロット１７２に挿入されたメモリカードＭＣとの間でデータのやり取りを行うためのＩ／Ｆである。メモリカードＭＣには画像データが格納されており、プリンタ１０は、カードＩ／Ｆ１７を介してメモリカードＭＣに格納された画像データを取得することができる。画像データ提供のための記録メディアとしてはメモリカードＭＣ以外にも種々の媒体を用いることができる。むろんプリンタ１０は、記録メディア以外にも、Ｉ／Ｆ部１３を介して接続した上記外部機器から画像データを入力することも可能である。プリンタ１０は、コンシューマ向けの印刷装置であってもよいし、ＤＰＥ向けの業務用印刷装置（いわゆるミニラボ機）であってもよい。操作部１４や表示部１５は、プリンタ１０本体とは別体の入力操作部（マウスやキーボードなど）やディスプレイであってもよい。プリンタ１０は、Ｉ／Ｆ部１３を介して接続したＰＣやサーバ等から印刷データを入力することもできる。
【００１３】
内部メモリ１２には、顔画像検出部２０と、表示制御部３０と、印刷制御部４０とが格納されている。顔画像検出部２０は、所定のオペレーティングシステムの下で、後述する顔画像の検出処理を実行するためのコンピュータプログラムである。顔画像検出部２０は、本発明における検出部の一例に該当する。表示制御部３０は、ユーザからの各種指示を受付けるためのユーザインターフェース（ＵＩ）画像やメッセージやサムネイル画像など、表示部１５に出力（表示）すべき画像を取得したり生成したりするコンピュータプログラムである。また表示制御部３０は、表示部１５を制御して、表示部１５の画面に上記ＵＩ画像やメッセージやサムネイル画像などを表示させるディスプレイドライバでもある。印刷制御部４０は、画像データから印刷データを生成し、プリンタエンジン１６を制御して、印刷データに基づく画像の印刷媒体への印刷を実行するためのコンピュータプログラムである。また印刷制御部４０は、プリンタエンジン１６に、後述するオーダーシートを印刷させる。表示制御部３０や印刷制御部４０は、本発明における出力制御部の一例に該当する。
【００１４】
ＣＰＵ１１は、内部メモリ１２から、これらの各プログラムを読み出して実行することにより、これら各部の機能を実現する。さらに、内部メモリ１２には、トリミング枠データ１４ｂやニューラルネットワークＮＮ１，ＮＮ２等の各種データやプログラムが格納されている。プリンタ１０は、印刷機能以外にも、コピー機能やスキャナ機能（画像読取機能）など多種の機能を備えたいわゆる複合機であってもよい。
【００１５】
２．画像出力処理：
図２は、プリンタ１０が実行する画像出力処理をフローチャートにより示している。プリンタ１０は、カードスロット１７２に記録メディアが挿入されると、記録メディアに格納された画像を入力し、当該入力した画像を、表示制御部３０により表示部１５に表示させる。あるいは、プリンタ１０は、Ｉ／Ｆ部１３を介して接続した上記外部機器から画像が入力されると、当該入力された画像を、表示制御部３０により表示部１５に表示させる。表示部１５は、入力された画像を一枚単位で表示したり、入力された複数の画像を一覧表示したりする。本実施形態における画像出力処理は、このように画像を表示部１５に出力する場面において行なわれる。
【００１６】
２‐１．顔画像の検出：
ステップＳ（以下、ステップの表記は省略。）１００では、顔画像検出部２０が、処理の対象となる一枚分の画像（対象画像）を表した画像データＤを、上記記録メディアや外部機器等から取得する。画像データＤは、複数の画素からなるビットマップデータであり、それぞれの画素は、ＲＧＢ各チャネルの階調（例えば、０〜２５５の２５６階調）の組み合わせで表現されている。画像データＤは、記録メディア等に記録されている段階で圧縮されていてもよいし、他の色空間で各画素の色が表現されていてもよい。これらの場合、顔画像検出部２０は、画像データＤの展開や色空間の変換を実行してＲＧＢビットマップデータとしての画像データＤを取得する。
【００１７】
Ｓ２００では、顔画像検出部２０は、画像データＤ上における顔画像の検出を行なう。本実施形態では、特定画像とは人間の顔画像であるとして説明を行なう。ただし本発明の構成を用いて検出可能な特定画像は人間の顔画像に限られるものではなく、人工物や、生物や、自然物や、風景など、様々な対象を特定画像として検出することが可能である。
顔画像検出部２０はＳ２００において、画像データＤから顔画像を検出可能な手法であればあらゆる手法を採用可能であるが、本実施形態では一例として、ニューラルネットワークを利用した検出を行なう。
【００１８】
図３は、Ｓ２００の詳細をフローチャートにより示している。
Ｓ２０５では、顔画像検出部２０は、画像データＤにおいて検出窓ＳＷを１つ設定する。検出窓ＳＷは、画像データＤ上のある領域であり、顔画像の検出（有無判定）の対象とる。なお顔画像検出部２０は、Ｓ２０５を行なう前に画像データＤを縮小化してもよい。つまり、オリジナルの画像サイズのままの画像データＤを対象として、顔画像検出を行なった場合には処理負担が大きい。そのため顔画像検出部２０は、画像データＤについて画素数を減らすなどして画像サイズを縮小し、縮小後の画像データＤを対象としてＳ２０５以下の処理を行なう。顔画像検出部２０は、例えば、画像データＤをＱＶＧＡ（Quarter Video Graphics Array）サイズ（３２０画素×２４０画素）に縮小する。さらに顔画像検出部２０は、Ｓ２０５を行なう前に、画像データＤをグレー画像へ変換してもよい。顔画像検出部２０は、画像データＤの各画素のＲＧＢデータを輝度値Ｙ（０〜２５５）に変換し、画素毎に１つの輝度値Ｙを有するモノクロ画像としての画像データＤを生成する。輝度値Ｙは一般的に、Ｒ，Ｇ，Ｂを所定の重み付けで加算することにより求めることができる。画像データＤのグレー画像化は、後述する特徴量算出時の負担軽減を考慮して予め行なわれる。検出窓ＳＷの設定方法は特に限られないが、顔画像検出部２０は一例として、以下のように検出窓ＳＷを設定する。
【００１９】
図４は、画像データＤにおいて検出窓ＳＷを設定する様子を示している。顔画像検出部２０は、１回目のＳ２０５では、画像内の先頭位置（例えば、画像の左上の角位置）に複数の画素を含む所定の大きさの矩形状の検出窓ＳＷ（２点鎖線）を設定する。顔画像検出部２０は、２回目以降のＳ２０５の度に、それまで検出窓ＳＷを設定していた位置から検出窓ＳＷを画像の左右方向およびまたは上下方向に所定距離（所定画素数分）移動させ、移動先の位置において検出窓ＳＷを新たに１つ設定する。顔画像検出部２０は、検出窓ＳＷの大きさを維持した状態で画像データＤの最終位置（例えば、画像の右下の角位置）まで検出窓ＳＷを移動させながら繰り返し検出窓ＳＷを設定したら、先頭位置に戻って検出窓ＳＷを設定する。
【００２０】
顔画像検出部２０は、検出窓ＳＷを先頭位置に戻した場合には、それまでよりも矩形の大きさを縮小した検出窓ＳＷを設定する。その後、顔画像検出部２０は上記と同様に、検出窓ＳＷの大きさを維持した状態で画像データＤの最終位置まで検出窓ＳＷを移動させつつ、各位置において検出窓ＳＷ設定する。顔画像検出部２０は、検出窓ＳＷの大きさを予め決められた回数だけ段階的に縮小しながら、このような検出窓ＳＷの移動と設定を繰り返す。このようにＳ２０５において検出窓ＳＷが１つ設定される度に、Ｓ２１０以降の処理が行なわれる。
【００２１】
Ｓ２１０では、顔画像検出部２０は、直近のＳ２０５で画像データＤに設定された検出窓ＳＷ内の画素からなる画像データ（窓画像データ）ＸＤを取得する。
Ｓ２１５では、顔画像検出部２０は、直近のＳ２１０で取得した窓画像データＸＤから複数の特徴量を算出する。これらの特徴量は、窓画像データＸＤに対して各種のフィルタを適用し、当該フィルタ内の輝度平均やエッジ量やコントラスト等の画像的特徴を示す特徴量（輝度の平均値や最大値や最小値や標準偏差等）を算出することにより得られる。
【００２２】
図５は、窓画像データＸＤから特徴量を算出する様子を示している。同図において、画像データＸＤとの相対的な大きさおよび位置が異なる多数のフィルタＦＴが用意されており、各フィルタＦＴを順次窓画像データＸＤに適用し、各フィルタＦＴ内の画像的特徴に基づいて、複数の特徴量ＣＡ，ＣＡ，ＣＡ…を算出する。図５では、窓画像データＸＤ内の各矩形をフィルタＦＴと呼んでいる。特徴量ＣＡ，ＣＡ，ＣＡ…が算出できると、顔画像検出部２０は、Ｓ２２０において、特徴量ＣＡ，ＣＡ，ＣＡ…を、予め用意したニューラルネットワークＮＮ１に入力し、その出力として顔画像が存在する／しないの判定結果を算出する。
【００２３】
図６は、ニューラルネットワークＮＮ１の構造の一例を示している。ニューラルネットワークＮＮ１は、前段層のユニットＵの値の線形結合（添え字ｉは前段層のユニットＵの識別番号。）によって後段層のユニットＵの値が決定される基本構造を有している。さらに、線形結合によって得られた値をそのまま次の層のユニットＵの値としてもよいが、線形結合によって得られた値を例えばハイパボリックタンジェント関数のような非線形関数によって変換して次の層のユニットＵの値を決定することにより、非線形特性を与えてもよい。ニューラルネットワークＮＮ１は、最外の入力層と出力層と、これらに挟まれた中間層から構成されている。各特徴量ＣＡ，ＣＡ，ＣＡ…がニューラルネットワークＮＮ１の入力層に入力可能となっており、出力層では出力値Ｋ（０〜１に正規化された値）を出力することが可能となっている。Ｓ２２５では、顔画像検出部２０は、例えばニューラルネットワークＮＮ１の出力値Ｋが０．５以上であれば窓画像データＸＤに顔画像が存在することを示す値であると判定し、Ｓ２３０に進む。一方、顔画像検出部２０は、出力値Ｋが０．５未満であれば窓画像データＸＤに顔画像が存在しないことを示す値であると判定し、Ｓ２５５に進む。
【００２４】
図７は、ニューラルネットワークＮＮ１を学習によって構築する様子を模式的に示している。本実施形態では、誤差逆伝搬（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であれば、顔画像データはいわゆる赤かぶりあるいはオレンジかぶりの状態であると判定できる。また表示制御部３０は、顔画像データの色情報に基づいて、いわゆる逆光画像であるか否かを判定し、逆光画像であると判定した場合には、その検出窓ＳＷの情報に「逆光補正」という項目を対応付ける。逆光画像か否かは、例えば、顔画像データの輝度（色情報の一種）のヒストグラムを生成し、当該ヒストグラムの形状を解析することにより判定する。例えば、輝度のヒストグラムにおいて、低輝度側の所定の輝度範囲と高輝度側の所定の輝度範囲とに分かれて２つの分布の山が存在し、２つの山をそれぞれ構成する画素数が所定の基準数を超えている場合に逆光画像であると判定する。「色かぶり補正」や「逆光補正」も色補正処理の一種である。むろん、色かぶり画像であるか、逆光画像であるか等を判定する手法は上述の手法以外であってもよく、また、メニューＵＩにおいて挙げられる色補正処理の項目は上述したものに限られない。
【００３６】
また、表示制御部３０は、内部メモリ１２に記録されている検出窓ＳＷの情報にかかる顔画像データを対象として、当該顔画像データ内の顔画像の形状を解析し、形状の解析結果が所定の形状補正条件に該当する場合には、当該検出窓ＳＷの情報に対し、形状補正処理の項目を対応付ける。例えば、表示制御部３０は、顔画像データに基づいて顔の高さ（例えば、頭頂部から顎までの長さ）と、顔の幅（例えば、頬の高さ位置における顔の幅）とを検出する。そして、顔の高さ（Ｌ１）と顔の幅（Ｌ２）との比（Ｌ１／Ｌ２）が、所定のしきい値よりも小さい場合には、丸顔あるいは頬が角張った顔であると推測できるため形状補正条件に該当すると判定し、その検出窓ＳＷの情報に「小顔補正」の項目を対応付ける。「小顔補正」は形状補正処理の一種である。顔の高さ（Ｌ１）および顔の幅（Ｌ２）は、例えば、顔画像データに対する所定のテンプレートマッチングの結果や、顔周囲のエッジの検出結果に基づいて取得可能である。あるいは、特開２００４‐３１８２０４号公報に示された手法を用いて顔の高さ（Ｌ１）および顔の幅（Ｌ２）を検出してもよい。
【００３７】
また、表示制御部３０は、顔画像データに基づいてその顔の性別を公知の手法で判定し、性別が女である場合には、その検出窓ＳＷの情報に「小顔補正」の項目を対応付けるとしてもよい。また、表示制御部３０は、顔画像データのサイズ（画像データＤに対する検出窓ＳＷのサイズ比率）が所定の基準値より小さい場合には、小顔補正の効果が殆ど表れないと判断し、その検出窓ＳＷの情報には「小顔補正」の項目を対応付けないとしてもよい。メニューＵＩにおいて挙げられる形状補正処理の項目は「小顔補正」に限られず、例えば、目の大きさを変える「目のサイズ補正」といった項目も、顔画像データ内の器官検出（目領域の検出）および当該器官に対するサイズ検出の結果に応じて、検出窓ＳＷの情報に対応付けても良い。
【００３８】
図８は、上記のように表示制御部３０が対応付けた、各顔画像とメニューＵＩの項目との関係の一例を、テーブルによって表している。当該テーブルでは、上記検出された各顔画像（内部メモリ１２に記録された各検出窓ＳＷの情報）に便宜的に、１，２，３…というように番号を与えており、各顔画像１，２，３…にそれぞれ対応付けられたメニューＵＩの項目を「○」印で特定している。
Ｓ５００では、表示制御部３０は、Ｓ１００で取得した画像データＤが表す画像（対象画像）とともに、Ｓ４００で顔画像毎に決定した項目からなる顔画像毎の各メニューＵＩを、表示部１５の画面に同時に表示させる。メニューＵＩは、特定画像に対して実行される処理の選択を受付可能なメニュー表示の一例に該当する。
【００３９】
図９は、Ｓ５００において表示制御部３０が表示部１５に表示させた画像の一例を示している。図９に示すように、表示部１５においては、画像データＤに基づいて表示された対象画像（基本的には、対象画像のサムネイル画像）と、対象画像上の顔画像毎のメニューＵＩとが表示されている。表示部１５に表示される対象画像はカラー画像であってもモノクロ画像であってもよい。表示制御部３０は、内部メモリ１２等に予め保存されている各項目を表す画像データを取得し、当該取得した画像データに基づいてメニューＵＩを表示部１５に表示させる。一つの顔画像に対応するメニューＵＩは、当該顔画像に対応付けられている一または複数の項目からなる。メニューＵＩは、例えば、表示部１５において対象画像の隅に重畳して表示される。
【００４０】
図９では、対象画像上に三人の顔画像１〜３が存在している例を示している。表示制御部３０は、このように対象画像上に複数の顔画像が存在する場合には、対応し合う顔画像の近傍とメニューＵＩの近傍とに共通の符号（数字やアルファベット等）を表示部１５の画面上に表示する。この結果、ユーザは、表示部１５を見ることで、どの顔画像とどのメニューＵＩとが対応しているかを一目で認識できる。例えば、ユーザは、顔画像２に対応するメニューＵＩは、「証明写真印刷」、「逆光補正」および「小顔補正」の各項目からなるメニューＵＩであることが認識できる。なお、表示制御部３０は、項目間に優先順位を付け、優先順位の高い項目のみをメニューＵＩとして表示するとしてもよい。例えば、顔画像２のような正面顔であっても、「逆光補正」や「小顔補正」といった補正処理にかかる項目にも対応している場合には、これら補正の項目を優先し、表示部１５においては「逆光補正」および「小顔補正」のみ（顔画像２の場合）をメニューＵＩとして表示するとしてもよい。かかる構成とすれば、正面顔であっても、色補正処理や形状補正処理の条件に該当している場合には、印刷を実行する前に適切な色や形状に補正することをユーザに促すことができる。
【００４１】
なお、Ｓ３００の分岐の結果、図２のフローチャートを終えた場合（Ｓ３００において“Ｎｏ”）には、表示制御部３０は、Ｓ１００で取得した画像データＤが表す対象画像を表示部１５の画面に表示させる。Ｓ３００において“Ｎｏ”の判断をした対象画像についてはメニューＵＩを表示しない。
図９では、記録メディア等から取り込まれた画像を表示部１５に一枚表示する様子を示したが、上述したように表示制御部３０は、記録メディア等から取り込まれた複数の画像を一覧表示することも可能である。つまりプリンタ１０は、記録メディア等から複数枚分の画像を対象画像として取得し、取得した各対象画像それぞれに対してＳ１００〜Ｓ４００の処理を実行した上で、複数枚分の対象画像を一斉に表示部１５に表示する。その結果、一覧表示される各対象画像のうち顔画像を有する対象画像については、顔画像毎のメニューＵＩが併せて表示されることとなる。
【００４２】
２‐３．画像出力後の処理：
上記のように表示部１５において、対象画像上の顔画像に関してメニューＵＩが表示された場合、ユーザは、操作部１４を介してメニューＵＩ内の項目を任意に選択することにより、プリンタ１０に次の動作を指示することができる。プリンタ１０は、表示部１５上でのメニューＵＩの何れかの項目に対する押圧を検知したり、所定のボタン等の操作に応じてメニューＵＩの何れかの項目に対する選択を検知した場合には、当該選択された項目を含むメニューＵＩが対応する顔画像（顔画像データ）を少なくとも含む画像データＤ上の領域を対象として、当該選択された項目に対応する処理（証明写真の印刷や、赤目補正や、色かぶり補正や、逆光補正や、小顔補正や、目のサイズ補正など。）を実行する。プリンタ１０が実行する上記各処理の態様は特に問わない。例えば、プリンタ１０は「赤目補正」が選択された場合には、公知手法によって赤目補正を行う。「色かぶり補正」が選択された場合には、プリンタ１０は、例えば、顔画像データのＲＧＢのヒストグラムの平均値間のずれを打ち消すようにＲＧＢそれぞれの階調値の補正を行う。「逆光補正」が選択された場合には、プリンタ１０は、例えば、顔画像データの各画素の輝度値を上昇させる補正を行なう。「小顔補正」が選択された場合には、プリンタ１０は、例えば、補正対象となる顔画像の左右の頬周辺の領域を特定し、当該特定した領域を顔の中央に向かって縮小するように変形する。「目のサイズ補正」が選択された場合には、プリンタ１０は、例えば、補正対象となる顔画像から左右の目の領域を特定し、当該特定した目の領域を拡大するように変形する。
【００４３】
表示制御部３０は、上記のように色補正や形状補正を行なった後の顔画像を含む対象画像を、表示部１５に再度表示し、ユーザに補正結果を確認させるとしてもよい。また、このように再度表示する際には、対象画像上の顔画像に関して新たにメニューＵＩの項目を決定し直した上で、メニューＵＩを併せて表示するとしてもよい。
また、メニューＵＩにおいて「証明写真印刷」が選択された場合、プリンタ１０は証明写真印刷モードに移行する。証明写真印刷モードにおいては、印刷制御部４０は、「証明写真印刷」が選択された顔画像（例えば顔画像２）に対応する検出窓ＳＷの情報に基づいて、当該検出窓ＳＷを中心に含みかつ当該検出窓ＳＷに対する大きさの比率が予め決められている矩形領域を画像データＤ（グレー画像への変換が行なわれる前の画像データＤ）上において特定し、当該特定した矩形領域を画像データＤから切り取る（トリミングする）。そして印刷制御部４０は、当該切り取った矩形領域の画像データについて、予め設定された（あるいはユーザによって設定された）証明写真の大きさに応じて適宜、画素数変換（拡大や縮小）を行なう。印刷制御部４０は、上記画素数変換後の画像データに、色変換処理やハーフトーン処理など必要な各処理を施して印刷データを生成する。
【００４４】
印刷制御部４０は、生成した印刷データをプリンタエンジン１６に供給し、プリンタエンジン１６に印刷データに基づいた印刷を実行させる。この結果、証明写真印刷モードにおける印刷結果、すなわち正面顔を有する証明写真の印刷が完了する。
ただしプリンタ１０は、証明写真印刷モードに移行した場合に、証明写真の印刷完了まで全て自動で行なうのではなく、ユーザにトリミングの範囲を指定させるとしてもよい。表示制御部３０は、証明写真印刷モードへの移行を検知した場合には、トリミング枠データ１４ｂを内部メモリ１２から読み出す。そして、対象画像上にトリミング枠データ１４ｂに基づいてトリミング枠を表示する。
【００４５】
図１０は、表示部１５の対象画像上に、トリミング枠を表示した様子を例示している。トリミング枠は、矩形状の外枠Ｗ１と外枠Ｗ１内に収まる円形の内枠Ｗ２とからなる。外枠Ｗ１および内枠Ｗ２のデフォルトの形状や大きさ、外枠Ｗ１と内枠Ｗ２との相対的な位置関係は、トリミング枠データ１４ｂによって定義されている。ユーザは、操作部１４を操作することにより、トリミング枠の移動や拡大・縮小を表示制御部３０に指示することができる。表示制御部３０は、かかる移動や拡大・縮小の指示に応じて、トリミング枠を表示部１５の画面上で、移動させたり、拡大・縮小させたりする。表示制御部３０は、外枠Ｗ１と内枠Ｗ２との相対的な位置および大きさの関係が常に保たれるように、外枠Ｗ１および内枠Ｗ２の移動や拡大・縮小を行なう。
【００４６】
ユーザは、対象画像上の正面顔（図１０の例においては顔画像２）の全体が内枠Ｗ２に収まるようにトリミング枠の移動や拡大・縮小を指示し、正面顔の全体が内枠Ｗ２に適切に収まった場合に、トリミング範囲が確定した旨の指示を、操作部１４を操作することによりプリンタ１０に通知する。プリンタ１０においては、当該確定した旨の指示を受付けた場合に、その時に表示部１５上に設定しているトリミング枠の外枠Ｗ１が囲う画像領域を対象画像の画像データＤから切り取り、切り取った画像領域の画像データに基づいて、上述したように印刷データの生成および印刷を行なう。その結果、ユーザが自ら指定したトリミング範囲に基づいた、正面顔を有する証明写真の印刷が行なわれる。
【００４７】
このように本実施形態によれば、プリンタ１０は、対象画像から顔画像を検出し、検出した顔画像毎の状態、例えば正面顔か否かや、色の状態や、形状や、性別等の各種状態に応じて、顔画像毎のメニューＵＩにおける項目（顔画像に対して行なわれる処理を示した項目）を決定し、対象画像を表示部１５に表示する際に、上記のように項目を決定した顔画像毎のメニューＵＩを併せて表示するとした。また、対象画像から顔画像が複数検出された場合には、表示部１５上において、対応し合う顔画像とメニューＵＩとに共通の符号を付すようにした。その結果、ユーザは、記録メディアをプリンタ１０に挿入等したときに表示部１５に出力される対象画像を見た場合に、対象画像上の各顔画像について夫々どのような処理を行なうことができるかを一目で認識することができ、各顔画像に対する処理の選択を極めて容易に行なうことができる。
【００４８】
３．変形例：
上記では、対象画像と、対象画像上の顔画像毎のメニュー表示との出力対象が、表示部１５の画面であることを前提に説明を行なった。しかし、対象画像および上記メニュー表示の出力対象は印刷媒体（印刷用紙）であってもよい。すなわちプリンタ１０では、図２の処理を行なった結果として表示部１５に顔画像毎のメニューＵＩ付きの対象画像を表示することに加え（あるいは替えて）、対象画像および上記メニュー表示を、印刷制御部４０がプリンタエンジン１６を制御することにより印刷媒体に印刷（出力）させるとしてもよい。ユーザは、このように印刷された結果物をいわゆるオーダーシートとして利用することができる。
【００４９】
図１１は、プリンタ１０が印刷したオーダーシートＯＳの一例を示している。図１１では、図９に例示した表示部１５上の画像に相当する画像をオーダーシートＯＳとして印刷した場合を示している。図１１に示すように、オーダーシートＯＳにおいては、対象画像が印刷されていない余白部分に、項目選択入力欄Ａが印刷されている。項目選択入力欄Ａは、対象画像上の顔画像毎のメニューＵＩの項目と同じ項目構成となっている。また、項目選択入力欄Ａにも顔画像毎の上記符号が印刷されており、符号の位置毎に、顔画像毎の項目がまとめて印刷されている。また、項目選択入力欄Ａにおいては、項目毎に一つまたは複数のチェックボックスＣＢが印刷されている。チェックボックスＣＢは、項目の選択や、項目が示す色補正や形状補正の度合い（弱、普通、強、など。）の選択をユーザから受付けるための記入欄である。つまり印刷制御部４０は、オーダーシートＯＳを印刷する際に、上記余白部分に顔画像毎の符号と、顔画像毎のメニューＵＩと同様の項目と、各項目毎のチェックボックスＣＢとを配置して印刷を行なう。かかる項目選択入力欄Ａも、特定画像に対して実行される処理の選択を受付可能なメニュー表示の一例に該当する。むろん、図１１に示した項目選択入力欄Ａのデザインやレイアウトは一例に過ぎず、各補正の度合いも３段階に限られない。
【００５０】
ユーザは、オーダーシートＯＳ上のチェックボックスＣＢを任意に選択し、選択したチェックボックスＣＢにペン等で所定の印を記入することができる。そして、印を記入したオーダーシートＯＳを、例えば、プリンタ１０が備える図示しない画像読取部（スキャナ）に読み取らせる。プリンタ１０は、画像読取部によって読み取ったオーダーシートＯＳ上のチェックボックスＣＢに所定の印が記入されている場合には、当該印が記入されているチェックボックスＣＢが示す処理（印が記入されているチェックボックスＣＢが示す補正の度合いも反映した処理）を、当該印が記入されているチェックボックスＣＢが対応する顔画像を対象として行なう。
【００５１】
ただしプリンタ１０は、オーダーシートＯＳを印刷する際に、顔画像毎のメニューＵＩと項目選択入力欄Ａとの両方を印刷する必要はなく、何れか一方のみを印刷するとしてもよい。例えば、印刷媒体に印刷されたメニューＵＩの図柄に対して、ユーザがペン等で所定の印を記入し、画像読取部が、かかる図柄に対して記入されている印を読み取る構成としてもよい。
また、プリンタ１０は、表示部１５に対象画像と顔画像毎のメニューＵＩとを表示する際にも、上記のような項目毎のチェックボックスＣＢをメニューＵＩの一部として表示してもよい。かかる構成とすれば、表示部１５の画面上で各補正処理の度合いの指定をユーザから受付けることができる。
【００５２】
次に、Ｓ２００において顔画像検出部２０が実行可能な顔画像の検出処理であって、ニューラルネットワークを利用した手法以外の手法について説明する。
図１２は、顔画像検出部２０が行なう顔有無判定処理および正面顔有無判定処理の一例を模式的に示している。顔画像検出部２０は、図１２の左側に示す顔有無判定処理をＳ２１５〜Ｓ２２５（図３）の替わりに行なうことができる。この顔有無判定処理では、複数の判定器Ｊ，Ｊ…を複数段カスケード状に接続した判定手段を使用する。ここで言う複数の判定器Ｊからなる判定手段は、実体的な装置であってもよいし、複数の判定器Ｊに相当する以下の判定機能を有したプログラムであってもよい。各判定器Ｊ，Ｊ…は、窓画像データＸＤから、それぞれ異なる種類（例えばフィルタＦＴが異なる）の単数または複数の特徴量ＣＡ，ＣＡ，ＣＡ…をそれぞれ入力し、それぞれ正または否の判定を出力する。各判定器Ｊ，Ｊ…は、それぞれ特徴量ＣＡ，ＣＡ，ＣＡ…の大小比較や閾値判定等の判定アルゴリズムを有しており、それぞれ窓画像データＸＤが顔画像らしい（正）か顔画像らしくない（否）かの独自の判定を実行する。次の段の各判定器Ｊ，Ｊ…は、前の段の判定器Ｊ，Ｊ…の正の出力に接続されており、前の段の判定器Ｊ，Ｊ…の出力が正であった場合のみ次の段の判定器Ｊ，Ｊ…が判定を実行する。いずれの段においても否の出力がなされた時点で判定を終了させ、顔画像が存在しない旨の判定を出力する（この場合、顔画像検出部２０はＳ２５５に進む。）。一方、各段の判定器Ｊ，Ｊ…がすべて正の出力をした場合には、判定を終了させ、顔画像が存在する旨の判定を出力する（この場合、顔画像検出部２０はＳ２３０に進む。）。
【００５３】
次に、顔画像検出部２０は、図１２の右側に示す正面顔有無判定処理をＳ２３０〜Ｓ２４０（図３）の替わりに行なう。正面顔有無判定処理で用いる判定手段も基本的には、顔有無判定処理に用いる判定手段と同様の構成を有しているが、正面顔有無判定処理で用いる判定手段における各判定器Ｊ，Ｊ…は、窓画像データＸＤから、それぞれ異なる種類（例えばフィルタＦＴが異なる）の単数または複数の特徴量ＣＡ，ＣＡ，ＣＡ…をそれぞれ入力したときに、それぞれ窓画像データＸＤが正面顔らしい（正）か正面顔らしくない（否）かの独自の判定を実行する点で異なる。従って、正面顔有無判定処理では、いずれの段においても否の出力がなされた時点で判定を終了させ、正面顔が存在しない（非正面顔が存在する）旨の判定を出力する（この場合、顔画像検出部２０はＳ２５０に進む。）一方、各段の判定器Ｊ，Ｊ…がすべて正の出力をした場合には、判定を終了させ、正面顔が存在する旨の判定を出力する（この場合、顔画像検出部２０はＳ２４５に進む。）。
【００５４】
図１３は、上記正面顔有無判定処理で用いる判定手段における判定特性を示している。同図においては、上述した各判定器Ｊ，Ｊ…において使用される特徴量ＣＡ，ＣＡ，ＣＡ…の軸で定義される特徴量空間を示しており、最終的に正面顔が存在すると判定される窓画像データＸＤから得られる特徴量ＣＡ，ＣＡ，ＣＡ…の組み合わせで表される特徴量空間内の座標をプロットしている。正面顔が存在すると判定される窓画像データＸＤは一定の特徴を有しているため、特徴量空間における一定の領域に分布が見られると考えることができる。各判定器Ｊ，Ｊ…は、このような特徴量空間において境界平面を生成し、当該境界平面で区切られた空間のうち、前記分布が属する空間に判定対象の特徴量ＣＡ，ＣＡ，ＣＡ…の座標が存在している場合には、正を出力する。従って、各判定器Ｊ，Ｊ…をカスケード状に接続することにより、徐々に正と出力される空間を絞り込んでいくことができる。複数の境界平面によれば、複雑な形状の前記分布についても精度よく判定を行うことができる。なお、上記顔有無判定処理で用いる判定手段によって顔画像が存在すると判定される窓画像データＸＤから得られる特徴量ＣＡ，ＣＡ，ＣＡ…の組み合わせで表される特徴量空間内の座標の分布は、図１３で示した分布よりも広いものとなる。
【００５５】
以上においては、本発明の画像出力制御装置および画像出力制御方法がプリンタ１０によって具現化され、また本発明の画像出力制御プログラムがプリンタ１０と協同して実行される例を示したが、本発明は、コンピュータや、デジタルスチルカメラや、スキャナや、フォトビューワ等の画像機器による画像出力処理において実現されてもよい。さらに、人物認証を行うＡＴＭ（Automated Teller Machine）等においても本発明を適用することができる。さらに、顔画像検出部２０が実行する判定は、上述した特徴量の特徴量空間における種々の判別手法を用いることも可能である。例えば、サポートベクタマシンを利用してもよい。
【図面の簡単な説明】
【００５６】
【図１】プリンタの概略構成を示すブロック図である。
【図２】プリンタが実行する処理を示すフローチャートである。
【図３】顔画像検出処理の詳細を示すフローチャートである。
【図４】検出窓を設定する様子を示す図である。
【図５】窓画像データから特徴量を算出する様子を示す図である。
【図６】ニューラルネットワークの構造の一例を示す図である。
【図７】ニューラルネットワークを学習する様子を模式的に示す図である。
【図８】各顔画像と各メニューＵＩの項目との対応関係を示す図である。
【図９】表示部に出力される画像の一例を示す図である。
【図１０】対象画像上にトリミング枠を設定する様子を示す図である。
【図１１】オーダーシートの一例を示す図である。
【図１２】顔有無判定処理および正面顔有無判定処理を模式的に示す図である。
【図１３】正面顔有無判定処理の判定特性を示す図である。
【符号の説明】
【００５７】
１０…プリンタ、１１…ＣＰＵ、１２…内部メモリ、１４ｂ…トリミング枠データ、１６…プリンタエンジン、１７…カードＩ／Ｆ、２０…顔画像検出部、３０…表示制御部、４０…印刷制御部、１７２…カードスロット
【図１】
2009237977.tif 000003
【図２】
2009237977.tif 000004
【図３】
2009237977.tif 000005
【図４】
2009237977.tif 000006
【図５】
2009237977.tif 000007
【図６】
2009237977.tif 000008
【図７】
2009237977.tif 000009
【図８】
2009237977.tif 000010
【図９】
2009237977.tif 000011
【図１０】
2009237977.tif 000012
【図１１】
2009237977.tif 000013
【図１２】
2009237977.tif 000014
【図１３】
2009237977.tif 000015