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